@ukic/web-components 2.1.0-beta.15 → 2.1.0-beta.17
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/core.cjs.js +10 -3
- package/dist/cjs/core.cjs.js.map +1 -1
- package/dist/cjs/{helpers-d6b5880e.js → helpers-eb53c416.js} +7 -1
- package/dist/cjs/helpers-eb53c416.js.map +1 -0
- package/dist/cjs/ic-alert.cjs.entry.js +10 -10
- package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-back-to-top.cjs.entry.js +4 -4
- package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +27 -21
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +7 -7
- package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-button_3.cjs.entry.js +98 -97
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card.cjs.entry.js +43 -42
- package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +19 -16
- package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js +34 -30
- package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +17 -14
- package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
- package/dist/cjs/ic-data-entity.cjs.entry.js +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js +22 -22
- package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-dialog.cjs.entry.js +295 -0
- package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-divider.cjs.entry.js +2 -2
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +18 -18
- package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +16 -16
- package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +20 -20
- package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js +20 -20
- 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 +130 -91
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-label_2.cjs.entry.js +10 -10
- package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-link.cjs.entry.js +19 -19
- package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-item.cjs.entry.js +16 -15
- package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-button.cjs.entry.js +17 -17
- package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +79 -53
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +44 -44
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +28 -28
- package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-page-header.cjs.entry.js +15 -15
- package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination-item.cjs.entry.js +11 -6
- package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination.cjs.entry.js +33 -32
- package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +64 -64
- package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +41 -23
- package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +38 -37
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +123 -120
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-section-container.cjs.entry.js +1 -1
- package/dist/cjs/ic-select.cjs.entry.js +99 -96
- package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +81 -76
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-skeleton.cjs.entry.js +4 -4
- package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-status-tag.cjs.entry.js +6 -6
- package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-step.cjs.entry.js +8 -8
- package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-stepper.cjs.entry.js +15 -15
- package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-switch.cjs.entry.js +20 -19
- package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js +27 -33
- package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +4 -4
- package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-panel.cjs.entry.js +3 -3
- package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab.cjs.entry.js +19 -15
- package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-text-field.cjs.entry.js +57 -58
- package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-theme.cjs.entry.js +2 -2
- package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast-region.cjs.entry.js +13 -13
- package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast.cjs.entry.js +59 -59
- package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-top-navigation.cjs.entry.js +40 -40
- package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-typography.cjs.entry.js +13 -13
- package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
- package/dist/cjs/{index-a62312a7.js → index-014e3058.js} +222 -43
- package/dist/cjs/index-014e3058.js.map +1 -0
- package/dist/cjs/loader.cjs.js +4 -3
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +12 -11
- 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 +16 -0
- package/dist/collection/components/ic-alert/test/basic/ic-alert.e2e.js.map +1 -0
- package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +182 -0
- 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 +68 -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/test/basic/ic-back-to-top.spec.js +123 -0
- 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/test/basic/ic-breadcrumb.spec.js +118 -0
- 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 +41 -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/test/basic/ic-breadcrumb-group.spec.js +181 -0
- 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 +192 -190
- 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/test/basic/ic-button.e2e.js +173 -0
- package/dist/collection/components/ic-button/test/basic/ic-button.e2e.js.map +1 -0
- package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +230 -0
- package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +1 -0
- package/dist/collection/components/ic-card/ic-card.css +3 -2
- package/dist/collection/components/ic-card/ic-card.js +121 -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 +23 -0
- package/dist/collection/components/ic-card/test/basic/ic-card.e2e.js.map +1 -0
- package/dist/collection/components/ic-card/test/basic/ic-card.spec.js +152 -0
- package/dist/collection/components/ic-card/test/basic/ic-card.spec.js.map +1 -0
- package/dist/collection/components/ic-checkbox/ic-checkbox.js +95 -91
- package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +59 -56
- 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 +201 -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/test/basic/ic-checkbox-group.spec.js +175 -0
- 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 +55 -52
- 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/test/basic/ic-chip.spec.js +110 -0
- 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/test/basic/ic-classification-banner.spec.js +140 -0
- 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/test/basic/ic-data-entity.spec.js +161 -0
- 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/test/basic/ic-data-row.spec.js +185 -0
- 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 +592 -0
- package/dist/collection/components/ic-dialog/ic-dialog.js +640 -0
- package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -0
- package/dist/collection/components/ic-dialog/test/a11y/ic-dialog.test.a11y.js +28 -0
- package/dist/collection/components/ic-dialog/test/a11y/ic-dialog.test.a11y.js.map +1 -0
- package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js +204 -0
- package/dist/collection/components/ic-dialog/test/basic/ic-dialog.e2e.js.map +1 -0
- package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +520 -0
- package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +1 -0
- package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js +24 -0
- package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +1 -0
- package/dist/collection/components/ic-footer/ic-footer.js +48 -48
- 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 +50 -0
- package/dist/collection/components/ic-footer/test/basic/ic-footer.e2e.js.map +1 -0
- package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +140 -0
- 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/test/basic/ic-footer-link.spec.js +62 -0
- 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/test/basic/ic-footer-link-group.spec.js +98 -0
- 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/test/basic/ic-hero.spec.js +76 -0
- 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 +35 -22
- 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/test/basic/ic-horizontal-scroll.spec.js +180 -0
- 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.css +32 -4
- 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/test/basic/ic-input-component-container.spec.js +117 -0
- 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/test/basic/ic-input-container.spec.js +38 -0
- 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/test/basic/ic-input-label.spec.js +98 -0
- 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.css +0 -8
- 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/test/basic/ic-input-validation.spec.js +89 -0
- 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/test/basic/ic-link.spec.js +203 -0
- 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 +34 -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/test/basic/ic-loading-indicator.spec.js +141 -0
- 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.css +9 -1
- package/dist/collection/components/ic-menu/ic-menu.js +285 -222
- package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
- package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +650 -0
- package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -0
- package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js +94 -0
- 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.css +2 -2
- package/dist/collection/components/ic-menu-item/ic-menu-item.js +77 -76
- package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
- package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +105 -0
- 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/test/basic/ic-navigation-button.spec.js +84 -0
- 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 +1 -1
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +95 -69
- 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/test/basic/ic-navigation-group.spec.js +309 -0
- 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 +5 -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/test/basic/ic-navigation-item.spec.js +118 -0
- 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 +29 -0
- package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.e2e.js.map +1 -0
- package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js +176 -0
- 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.css +1 -1
- 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 +177 -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/test/basic/ic-page-header.spec.js +284 -0
- 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 +99 -98
- 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 +128 -0
- package/dist/collection/components/ic-pagination/test/basic/ic-pagination.e2e.js.map +1 -0
- package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +325 -0
- 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 +69 -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.css +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 +30 -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/test/basic/ic-popover-menu.spec.js +381 -0
- 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 +103 -79
- package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
- package/dist/collection/components/ic-radio-group/ic-radio-group.types.js +2 -0
- package/dist/collection/components/ic-radio-group/ic-radio-group.types.js.map +1 -0
- 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 +343 -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/test/basic/ic-radio-group.spec.js +303 -0
- 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.css +1 -1
- package/dist/collection/components/ic-radio-option/ic-radio-option.js +110 -95
- 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 +386 -383
- package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
- package/dist/collection/components/ic-search-bar/ic-search-bar.types.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 +1054 -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/test/basic/ic-search-bar.spec.js +570 -0
- package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +1 -0
- package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js +69 -0
- 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 +299 -296
- 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/test/basic/ic-select.e2e.js +1765 -0
- package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js.map +1 -0
- package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +1276 -0
- 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 +1 -11
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +123 -118
- 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 +412 -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/test/basic/ic-side-navigation.spec.js +470 -0
- 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/test/basic/ic-skeleton.spec.js +89 -0
- 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.css +2 -6
- 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/test/basic/ic-status-tag.spec.js +43 -0
- 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/test/basic/ic-step.spec.js +176 -0
- 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 +49 -0
- package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js.map +1 -0
- package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +706 -0
- package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +1 -0
- package/dist/collection/components/ic-switch/ic-switch.css +1 -1
- package/dist/collection/components/ic-switch/ic-switch.js +74 -73
- 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/test/basic/ic-switch.spec.js +104 -0
- package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +1 -0
- package/dist/collection/components/ic-tab/ic-tab.js +58 -54
- package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
- package/dist/collection/components/ic-tab/test/basic/ic-tab.e2e.js +32 -0
- package/dist/collection/components/ic-tab/test/basic/ic-tab.e2e.js.map +1 -0
- package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +159 -0
- 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/test/basic/ic-tab-context.e2e.js +317 -0
- package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.e2e.js.map +1 -0
- package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +369 -0
- 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.css +2 -2
- 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/test/basic/ic-tab-panel.spec.js +65 -0
- 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.css +0 -4
- package/dist/collection/components/ic-text-field/ic-text-field.js +377 -378
- 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 +98 -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/test/basic/ic-text-field.input.spec.js +236 -0
- 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/test/basic/ic-text-field.textarea.spec.js +310 -0
- 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 +72 -0
- package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +1 -0
- package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js +77 -0
- 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 +82 -0
- package/dist/collection/components/ic-toast/test/basic/ic-toast.e2e.js.map +1 -0
- package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +278 -0
- 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/test/basic/ic-toast-region.spec.js +62 -0
- 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.css +22 -8
- package/dist/collection/components/ic-tooltip/ic-tooltip.js +71 -72
- 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 +115 -0
- package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js.map +1 -0
- package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +128 -0
- 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 +82 -82
- 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} +1 -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/test/basic/ic-top-navigation.e2e.js +42 -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 +242 -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/test/basic/ic-top-navigation.spec.js +286 -0
- 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/test/basic/ic-typography.e2e.js +36 -0
- package/dist/collection/components/ic-typography/test/basic/ic-typography.e2e.js.map +1 -0
- package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +296 -0
- package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +1 -0
- package/dist/collection/testspec.setup.js +11 -0
- package/dist/collection/testspec.setup.js.map +1 -1
- package/dist/collection/utils/helpers.js +5 -0
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/components/helpers.js +6 -1
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/ic-alert.js +1 -113
- package/dist/components/ic-alert.js.map +1 -1
- package/dist/components/ic-alert2.js +117 -0
- package/dist/components/ic-alert2.js.map +1 -0
- package/dist/components/ic-back-to-top.js +6 -6
- package/dist/components/ic-back-to-top.js.map +1 -1
- package/dist/components/ic-breadcrumb-group.js +27 -21
- package/dist/components/ic-breadcrumb-group.js.map +1 -1
- package/dist/components/ic-breadcrumb2.js +8 -8
- package/dist/components/ic-breadcrumb2.js.map +1 -1
- package/dist/components/ic-button2.js +48 -46
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-card.js +52 -51
- package/dist/components/ic-card.js.map +1 -1
- package/dist/components/ic-checkbox-group.js +22 -19
- package/dist/components/ic-checkbox-group.js.map +1 -1
- package/dist/components/ic-checkbox.js +39 -35
- package/dist/components/ic-checkbox.js.map +1 -1
- package/dist/components/ic-chip.js +21 -18
- package/dist/components/ic-chip.js.map +1 -1
- package/dist/components/ic-classification-banner.js +1 -1
- package/dist/components/ic-data-entity.js +1 -1
- package/dist/components/ic-data-row.js +23 -23
- package/dist/components/ic-data-row.js.map +1 -1
- package/dist/components/ic-dialog.d.ts +11 -0
- package/dist/components/ic-dialog.js +356 -0
- package/dist/components/ic-dialog.js.map +1 -0
- package/dist/components/ic-divider2.js +2 -2
- package/dist/components/ic-footer-link-group.js +20 -20
- package/dist/components/ic-footer-link-group.js.map +1 -1
- package/dist/components/ic-footer-link.js +18 -18
- package/dist/components/ic-footer-link.js.map +1 -1
- package/dist/components/ic-footer.js +22 -22
- package/dist/components/ic-footer.js.map +1 -1
- package/dist/components/ic-hero.js +27 -27
- 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 +11 -11
- package/dist/components/ic-input-component-container2.js.map +1 -1
- package/dist/components/ic-input-container2.js +1 -1
- package/dist/components/ic-input-label2.js +10 -10
- package/dist/components/ic-input-label2.js.map +1 -1
- package/dist/components/ic-input-validation2.js +9 -9
- package/dist/components/ic-input-validation2.js.map +1 -1
- package/dist/components/ic-link2.js +21 -21
- package/dist/components/ic-link2.js.map +1 -1
- package/dist/components/ic-loading-indicator2.js +25 -25
- package/dist/components/ic-loading-indicator2.js.map +1 -1
- package/dist/components/ic-menu-group.js +1 -1
- package/dist/components/ic-menu-item2.js +21 -20
- package/dist/components/ic-menu-item2.js.map +1 -1
- package/dist/components/ic-menu2.js +136 -97
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-navigation-button.js +22 -22
- package/dist/components/ic-navigation-button.js.map +1 -1
- package/dist/components/ic-navigation-group.js +83 -57
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-item.js +54 -54
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-navigation-menu2.js +30 -30
- package/dist/components/ic-navigation-menu2.js.map +1 -1
- package/dist/components/ic-page-header.js +21 -21
- package/dist/components/ic-page-header.js.map +1 -1
- package/dist/components/ic-pagination-item2.js +16 -12
- package/dist/components/ic-pagination-item2.js.map +1 -1
- package/dist/components/ic-pagination.js +41 -40
- package/dist/components/ic-pagination.js.map +1 -1
- package/dist/components/ic-popover-menu.js +67 -67
- package/dist/components/ic-popover-menu.js.map +1 -1
- package/dist/components/ic-radio-group.js +46 -28
- package/dist/components/ic-radio-group.js.map +1 -1
- package/dist/components/ic-radio-option.js +43 -42
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +146 -143
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-section-container2.js +1 -1
- package/dist/components/ic-select.js +127 -124
- package/dist/components/ic-select.js.map +1 -1
- package/dist/components/ic-side-navigation.js +90 -85
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-skeleton.js +6 -6
- package/dist/components/ic-skeleton.js.map +1 -1
- package/dist/components/ic-status-tag.js +9 -9
- package/dist/components/ic-status-tag.js.map +1 -1
- package/dist/components/ic-step.js +16 -16
- package/dist/components/ic-step.js.map +1 -1
- package/dist/components/ic-stepper.js +21 -21
- package/dist/components/ic-stepper.js.map +1 -1
- package/dist/components/ic-switch.js +24 -23
- package/dist/components/ic-switch.js.map +1 -1
- package/dist/components/ic-tab-context.js +29 -35
- package/dist/components/ic-tab-context.js.map +1 -1
- package/dist/components/ic-tab-group.js +6 -6
- package/dist/components/ic-tab-group.js.map +1 -1
- package/dist/components/ic-tab-panel.js +5 -5
- package/dist/components/ic-tab-panel.js.map +1 -1
- package/dist/components/ic-tab.js +20 -16
- package/dist/components/ic-tab.js.map +1 -1
- package/dist/components/ic-text-field2.js +86 -87
- package/dist/components/ic-text-field2.js.map +1 -1
- package/dist/components/ic-theme.js +2 -2
- package/dist/components/ic-theme.js.map +1 -1
- package/dist/components/ic-toast-region.js +13 -13
- package/dist/components/ic-toast-region.js.map +1 -1
- package/dist/components/ic-toast.js +64 -64
- package/dist/components/ic-toast.js.map +1 -1
- package/dist/components/ic-tooltip2.js +53 -54
- package/dist/components/ic-tooltip2.js.map +1 -1
- package/dist/components/ic-top-navigation.js +49 -49
- package/dist/components/ic-top-navigation.js.map +1 -1
- package/dist/components/ic-typography2.js +15 -15
- package/dist/components/ic-typography2.js.map +1 -1
- package/dist/components/index.d.ts +9 -60
- package/dist/components/index.js +1 -58
- package/dist/components/index.js.map +1 -1
- package/dist/core/core.css +41 -2
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/index.esm.js.map +1 -1
- package/dist/core/p-00b0c1b5.entry.js +2 -0
- package/dist/core/p-00b0c1b5.entry.js.map +1 -0
- package/dist/core/{p-fb5861c6.entry.js → p-0471f0a2.entry.js} +2 -2
- package/dist/core/p-0471f0a2.entry.js.map +1 -0
- package/dist/core/{p-de45134c.entry.js → p-04d626ee.entry.js} +2 -2
- package/dist/core/p-04d626ee.entry.js.map +1 -0
- package/dist/core/p-053b387f.entry.js +2 -0
- package/dist/core/p-053b387f.entry.js.map +1 -0
- package/dist/core/p-06321d19.js.map +1 -1
- package/dist/core/p-071bd3f5.entry.js +2 -0
- package/dist/core/p-071bd3f5.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-0ccdb432.entry.js +2 -0
- package/dist/core/p-0ccdb432.entry.js.map +1 -0
- package/dist/core/{p-ca20c9c3.entry.js → p-0d4507ef.entry.js} +2 -2
- package/dist/core/p-0d4507ef.entry.js.map +1 -0
- package/dist/core/p-11e0f917.entry.js +2 -0
- package/dist/core/p-11e0f917.entry.js.map +1 -0
- package/dist/core/{p-454b1ecd.entry.js → p-12287f17.entry.js} +2 -2
- package/dist/core/p-12287f17.entry.js.map +1 -0
- package/dist/core/{p-4dd0eb6a.entry.js → p-18f86ab2.entry.js} +2 -2
- package/dist/core/p-18f86ab2.entry.js.map +1 -0
- package/dist/core/{p-443052a7.entry.js → p-1a7d6eca.entry.js} +2 -2
- package/dist/core/p-1a7d6eca.entry.js.map +1 -0
- package/dist/core/p-1c30ece9.entry.js +2 -0
- package/dist/core/p-1c30ece9.entry.js.map +1 -0
- package/dist/core/p-206a402a.entry.js +2 -0
- package/dist/core/p-206a402a.entry.js.map +1 -0
- package/dist/core/p-221c905b.entry.js +2 -0
- package/dist/core/p-221c905b.entry.js.map +1 -0
- package/dist/core/p-2b80ce4c.entry.js +2 -0
- package/dist/core/p-2b80ce4c.entry.js.map +1 -0
- package/dist/core/p-3294961a.entry.js +2 -0
- package/dist/core/p-3294961a.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-50421f27.entry.js → p-38450979.entry.js} +2 -2
- package/dist/core/p-38450979.entry.js.map +1 -0
- package/dist/core/p-39ec4fc2.entry.js +2 -0
- package/dist/core/p-39ec4fc2.entry.js.map +1 -0
- package/dist/core/p-44512ebe.js.map +1 -1
- package/dist/core/p-4a47cc51.entry.js +2 -0
- package/dist/core/p-4a47cc51.entry.js.map +1 -0
- package/dist/core/{p-d2d5132d.entry.js → p-4a814585.entry.js} +2 -2
- package/dist/core/p-4a814585.entry.js.map +1 -0
- package/dist/core/{p-312c10b0.entry.js → p-4c4fa082.entry.js} +2 -2
- package/dist/core/p-4c4fa082.entry.js.map +1 -0
- package/dist/core/{p-fc7dce3d.entry.js → p-4f7b34ed.entry.js} +2 -2
- package/dist/core/p-4f7b34ed.entry.js.map +1 -0
- package/dist/core/p-51d4c05c.entry.js +2 -0
- package/dist/core/p-51d4c05c.entry.js.map +1 -0
- package/dist/core/p-54a5e971.entry.js +2 -0
- package/dist/core/p-54a5e971.entry.js.map +1 -0
- package/dist/core/{p-050dbce8.entry.js → p-57ba3442.entry.js} +2 -2
- package/dist/core/p-57ba3442.entry.js.map +1 -0
- package/dist/core/{p-af815dfb.entry.js → p-594e88fe.entry.js} +2 -2
- package/dist/core/p-594e88fe.entry.js.map +1 -0
- package/dist/core/p-5d245683.entry.js +2 -0
- package/dist/core/p-5d245683.entry.js.map +1 -0
- package/dist/core/{p-36e0671f.entry.js → p-64584eb6.entry.js} +2 -2
- package/dist/core/p-64584eb6.entry.js.map +1 -0
- package/dist/core/p-67e99ad8.entry.js +2 -0
- package/dist/core/p-67e99ad8.entry.js.map +1 -0
- package/dist/core/{p-cee45622.entry.js → p-6921177c.entry.js} +2 -2
- package/dist/core/p-6921177c.entry.js.map +1 -0
- package/dist/core/{p-1585e5c1.entry.js → p-6ac8df90.entry.js} +2 -2
- package/dist/core/p-6ac8df90.entry.js.map +1 -0
- package/dist/core/p-6aee5f18.entry.js +2 -0
- package/dist/core/p-6aee5f18.entry.js.map +1 -0
- package/dist/core/p-6f57b13c.js.map +1 -1
- package/dist/core/{p-70124e59.entry.js → p-7350d63d.entry.js} +2 -2
- package/dist/core/p-7350d63d.entry.js.map +1 -0
- package/dist/core/p-75e23d08.entry.js +2 -0
- package/dist/core/p-75e23d08.entry.js.map +1 -0
- package/dist/core/p-7ae1d7bc.entry.js +2 -0
- package/dist/core/p-7ae1d7bc.entry.js.map +1 -0
- package/dist/core/p-7fafc87a.entry.js +2 -0
- package/dist/core/p-7fafc87a.entry.js.map +1 -0
- package/dist/core/p-8c7f4343.js.map +1 -1
- package/dist/core/p-8d4f7027.js.map +1 -1
- package/dist/core/{p-bffa2e1a.entry.js → p-9779c179.entry.js} +2 -2
- package/dist/core/p-9779c179.entry.js.map +1 -0
- package/dist/core/{p-68547339.entry.js → p-9e7b1167.entry.js} +2 -2
- package/dist/core/p-9e7b1167.entry.js.map +1 -0
- package/dist/core/{p-a18c0672.entry.js → p-ac10763e.entry.js} +2 -2
- package/dist/core/p-ac10763e.entry.js.map +1 -0
- package/dist/core/p-acdc2931.entry.js +2 -0
- package/dist/core/p-acdc2931.entry.js.map +1 -0
- package/dist/core/{p-a8dc8196.entry.js → p-bc02816a.entry.js} +2 -2
- package/dist/core/p-bc02816a.entry.js.map +1 -0
- package/dist/core/p-bde0fcab.entry.js +2 -0
- package/dist/core/p-bde0fcab.entry.js.map +1 -0
- package/dist/core/{p-29ea6f88.entry.js → p-be6ee8a9.entry.js} +2 -2
- package/dist/core/p-be6ee8a9.entry.js.map +1 -0
- package/dist/core/{p-471820e6.js → p-bf5669a2.js} +2 -2
- package/dist/core/p-bf5669a2.js.map +1 -0
- package/dist/core/p-c4dcc6b9.entry.js +2 -0
- package/dist/core/p-c4dcc6b9.entry.js.map +1 -0
- package/dist/core/{p-df1b0f17.entry.js → p-ca0e8569.entry.js} +2 -2
- package/dist/core/p-ca0e8569.entry.js.map +1 -0
- package/dist/core/p-ddb60a4b.entry.js +2 -0
- package/dist/core/p-ddb60a4b.entry.js.map +1 -0
- package/dist/core/{p-28bc3bf0.entry.js → p-df67b151.entry.js} +2 -2
- package/dist/core/p-df67b151.entry.js.map +1 -0
- package/dist/core/{p-5e896163.entry.js → p-e0bbf81e.entry.js} +2 -2
- package/dist/core/p-e0bbf81e.entry.js.map +1 -0
- package/dist/core/p-e6d3b5f8.entry.js +2 -0
- package/dist/core/p-e6d3b5f8.entry.js.map +1 -0
- package/dist/core/p-e8be020c.entry.js +2 -0
- package/dist/core/p-e8be020c.entry.js.map +1 -0
- package/dist/core/p-ec26fc38.js.map +1 -1
- package/dist/core/p-f3053872.js +3 -0
- package/dist/core/p-f3053872.js.map +1 -0
- package/dist/core/{p-46371c05.entry.js → p-fa40a71b.entry.js} +2 -2
- package/dist/core/p-fa40a71b.entry.js.map +1 -0
- package/dist/esm/core.js +7 -3
- package/dist/esm/core.js.map +1 -1
- package/dist/esm/{helpers-73666f14.js → helpers-c4e378c4.js} +7 -2
- package/dist/esm/helpers-c4e378c4.js.map +1 -0
- package/dist/esm/ic-alert.entry.js +10 -10
- package/dist/esm/ic-alert.entry.js.map +1 -1
- package/dist/esm/ic-back-to-top.entry.js +4 -4
- package/dist/esm/ic-back-to-top.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +27 -21
- package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb.entry.js +7 -7
- package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
- package/dist/esm/ic-button_3.entry.js +98 -97
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card.entry.js +43 -42
- package/dist/esm/ic-card.entry.js.map +1 -1
- package/dist/esm/ic-checkbox-group.entry.js +19 -16
- package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
- package/dist/esm/ic-checkbox.entry.js +34 -30
- package/dist/esm/ic-checkbox.entry.js.map +1 -1
- package/dist/esm/ic-chip.entry.js +17 -14
- package/dist/esm/ic-chip.entry.js.map +1 -1
- package/dist/esm/ic-classification-banner.entry.js +1 -1
- package/dist/esm/ic-data-entity.entry.js +1 -1
- package/dist/esm/ic-data-row.entry.js +22 -22
- package/dist/esm/ic-data-row.entry.js.map +1 -1
- package/dist/esm/ic-dialog.entry.js +291 -0
- package/dist/esm/ic-dialog.entry.js.map +1 -0
- package/dist/esm/ic-divider.entry.js +2 -2
- package/dist/esm/ic-footer-link-group.entry.js +18 -18
- package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
- package/dist/esm/ic-footer-link.entry.js +16 -16
- package/dist/esm/ic-footer-link.entry.js.map +1 -1
- package/dist/esm/ic-footer.entry.js +20 -20
- package/dist/esm/ic-footer.entry.js.map +1 -1
- package/dist/esm/ic-hero.entry.js +20 -20
- package/dist/esm/ic-hero.entry.js.map +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +35 -22
- package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
- package/dist/esm/ic-input-component-container_3.entry.js +130 -91
- package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
- package/dist/esm/ic-input-label_2.entry.js +10 -10
- package/dist/esm/ic-input-label_2.entry.js.map +1 -1
- package/dist/esm/ic-link.entry.js +19 -19
- package/dist/esm/ic-link.entry.js.map +1 -1
- package/dist/esm/ic-menu-group.entry.js +1 -1
- package/dist/esm/ic-menu-item.entry.js +16 -15
- package/dist/esm/ic-menu-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-button.entry.js +17 -17
- package/dist/esm/ic-navigation-button.entry.js.map +1 -1
- package/dist/esm/ic-navigation-group.entry.js +79 -53
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +44 -44
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-navigation-menu.entry.js +28 -28
- package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
- package/dist/esm/ic-page-header.entry.js +15 -15
- package/dist/esm/ic-page-header.entry.js.map +1 -1
- package/dist/esm/ic-pagination-item.entry.js +11 -6
- package/dist/esm/ic-pagination-item.entry.js.map +1 -1
- package/dist/esm/ic-pagination.entry.js +33 -32
- package/dist/esm/ic-pagination.entry.js.map +1 -1
- package/dist/esm/ic-popover-menu.entry.js +64 -64
- package/dist/esm/ic-popover-menu.entry.js.map +1 -1
- package/dist/esm/ic-radio-group.entry.js +41 -23
- package/dist/esm/ic-radio-group.entry.js.map +1 -1
- package/dist/esm/ic-radio-option.entry.js +38 -37
- package/dist/esm/ic-radio-option.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +123 -120
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-section-container.entry.js +1 -1
- package/dist/esm/ic-select.entry.js +99 -96
- package/dist/esm/ic-select.entry.js.map +1 -1
- package/dist/esm/ic-side-navigation.entry.js +81 -76
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-skeleton.entry.js +4 -4
- package/dist/esm/ic-skeleton.entry.js.map +1 -1
- package/dist/esm/ic-status-tag.entry.js +6 -6
- package/dist/esm/ic-status-tag.entry.js.map +1 -1
- package/dist/esm/ic-step.entry.js +8 -8
- package/dist/esm/ic-step.entry.js.map +1 -1
- package/dist/esm/ic-stepper.entry.js +15 -15
- package/dist/esm/ic-stepper.entry.js.map +1 -1
- package/dist/esm/ic-switch.entry.js +20 -19
- package/dist/esm/ic-switch.entry.js.map +1 -1
- package/dist/esm/ic-tab-context.entry.js +27 -33
- package/dist/esm/ic-tab-context.entry.js.map +1 -1
- package/dist/esm/ic-tab-group.entry.js +4 -4
- package/dist/esm/ic-tab-group.entry.js.map +1 -1
- package/dist/esm/ic-tab-panel.entry.js +3 -3
- package/dist/esm/ic-tab-panel.entry.js.map +1 -1
- package/dist/esm/ic-tab.entry.js +19 -15
- package/dist/esm/ic-tab.entry.js.map +1 -1
- package/dist/esm/ic-text-field.entry.js +57 -58
- package/dist/esm/ic-text-field.entry.js.map +1 -1
- package/dist/esm/ic-theme.entry.js +2 -2
- package/dist/esm/ic-theme.entry.js.map +1 -1
- package/dist/esm/ic-toast-region.entry.js +13 -13
- package/dist/esm/ic-toast-region.entry.js.map +1 -1
- package/dist/esm/ic-toast.entry.js +59 -59
- package/dist/esm/ic-toast.entry.js.map +1 -1
- package/dist/esm/ic-top-navigation.entry.js +40 -40
- package/dist/esm/ic-top-navigation.entry.js.map +1 -1
- package/dist/esm/ic-typography.entry.js +13 -13
- package/dist/esm/ic-typography.entry.js.map +1 -1
- package/dist/esm/{index-3b144b17.js → index-a77644e1.js} +222 -44
- package/dist/esm/index-a77644e1.js.map +1 -0
- package/dist/esm/loader.js +4 -3
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/polyfills/css-shim.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/ic-breadcrumb.types.d.ts +1 -1
- package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +15 -11
- package/dist/types/components/ic-button/ic-button.d.ts +52 -52
- package/dist/types/components/ic-button/ic-button.types.d.ts +4 -4
- 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 +14 -13
- package/dist/types/components/ic-chip/ic-chip.d.ts +16 -15
- package/dist/types/components/ic-chip/ic-chip.types.d.ts +2 -2
- package/dist/types/components/ic-classification-banner/ic-classification-banner.types.d.ts +1 -1
- package/dist/types/components/ic-data-row/ic-data-row.d.ts +11 -11
- package/dist/types/components/ic-dialog/ic-dialog.d.ts +123 -0
- package/dist/types/components/ic-footer/ic-footer.d.ts +20 -20
- package/dist/types/components/ic-footer/ic-footer.types.d.ts +1 -1
- package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +10 -10
- 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-hero/ic-hero.types.d.ts +1 -1
- 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-input-validation/ic-input-validation.types.d.ts +1 -1
- 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-loading-indicator/ic-loading-indicator.types.d.ts +2 -2
- package/dist/types/components/ic-menu/ic-menu.d.ts +65 -59
- package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +23 -23
- package/dist/types/components/ic-menu-item/ic-menu-item.types.d.ts +1 -1
- package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +21 -21
- package/dist/types/components/ic-navigation-button/ic-navigation-button.types.d.ts +1 -1
- package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +21 -19
- 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 +27 -27
- package/dist/types/components/ic-pagination/ic-pagination.types.d.ts +1 -1
- package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +16 -15
- package/dist/types/components/ic-pagination-item/ic-pagination-item.types.d.ts +1 -1
- 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 +22 -23
- package/dist/types/components/ic-radio-group/ic-radio-group.types.d.ts +7 -0
- package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +32 -29
- package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +106 -106
- package/dist/types/components/ic-search-bar/ic-search-bar.types.d.ts +1 -1
- package/dist/types/components/ic-select/ic-select.d.ts +89 -89
- package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +27 -24
- package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +8 -8
- package/dist/types/components/ic-skeleton/ic-skeleton.types.d.ts +1 -1
- package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +8 -8
- package/dist/types/components/ic-status-tag/ic-status-tag.types.d.ts +2 -2
- package/dist/types/components/ic-step/ic-step.d.ts +24 -24
- package/dist/types/components/ic-step/ic-step.types.d.ts +3 -3
- package/dist/types/components/ic-stepper/ic-stepper.d.ts +17 -17
- package/dist/types/components/ic-stepper/ic-stepper.types.d.ts +1 -1
- package/dist/types/components/ic-switch/ic-switch.d.ts +23 -23
- package/dist/types/components/ic-tab/ic-tab.d.ts +16 -15
- 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 +103 -103
- package/dist/types/components/ic-text-field/ic-text-field.types.d.ts +3 -3
- 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/ic-toast.types.d.ts +1 -1
- 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-tooltip/ic-tooltip.types.d.ts +1 -1
- package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +32 -32
- package/dist/types/components/ic-typography/ic-typography.d.ts +16 -16
- package/dist/types/components/ic-typography/test/a11y/ic-typography.test.a11y.d.ts +1 -0
- package/dist/types/components.d.ts +192 -28
- package/dist/types/stencil-public-runtime.d.ts +72 -15
- package/dist/types/testspec.setup.d.ts +11 -0
- package/dist/types/utils/helpers.d.ts +1 -0
- package/dist/types/utils/types.d.ts +22 -22
- package/hydrate/index.d.ts +17 -16
- package/hydrate/index.js +2251 -1787
- package/loader/index.d.ts +9 -0
- package/package.json +5 -5
- package/dist/cjs/helpers-d6b5880e.js.map +0 -1
- package/dist/cjs/index-a62312a7.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.test.a11y.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.test.a11y.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.test.a11y.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.test.a11y.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.test.a11y.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-footer/ic-footer.test.a11y.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.test.a11y.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.test.a11y.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.test.a11y.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.test.a11y.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.test.a11y.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.test.a11y.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-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.test.a11y.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.test.a11y.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.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-switch/ic-switch.test.a11y.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-text-field/ic-text-field.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-toast/ic-toast.test.a11y.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.test.a11y.js.map +0 -1
- package/dist/collection/components/ic-typography/ic-typography.test.a11y.js.map +0 -1
- package/dist/core/p-050dbce8.entry.js.map +0 -1
- package/dist/core/p-06962e10.entry.js +0 -2
- package/dist/core/p-06962e10.entry.js.map +0 -1
- package/dist/core/p-0969a95a.entry.js +0 -2
- package/dist/core/p-0969a95a.entry.js.map +0 -1
- package/dist/core/p-0a11ec35.entry.js +0 -2
- package/dist/core/p-0a11ec35.entry.js.map +0 -1
- package/dist/core/p-0f153569.entry.js +0 -2
- package/dist/core/p-0f153569.entry.js.map +0 -1
- package/dist/core/p-1585e5c1.entry.js.map +0 -1
- package/dist/core/p-223a214f.entry.js +0 -2
- package/dist/core/p-223a214f.entry.js.map +0 -1
- package/dist/core/p-28bc3bf0.entry.js.map +0 -1
- package/dist/core/p-29ea6f88.entry.js.map +0 -1
- package/dist/core/p-2e63f202.entry.js +0 -2
- package/dist/core/p-2e63f202.entry.js.map +0 -1
- package/dist/core/p-2e6ea6d3.entry.js +0 -2
- package/dist/core/p-2e6ea6d3.entry.js.map +0 -1
- package/dist/core/p-2fb97a1b.entry.js +0 -2
- package/dist/core/p-2fb97a1b.entry.js.map +0 -1
- package/dist/core/p-312c10b0.entry.js.map +0 -1
- package/dist/core/p-31b4b684.entry.js +0 -2
- package/dist/core/p-31b4b684.entry.js.map +0 -1
- package/dist/core/p-32cc8827.entry.js +0 -2
- package/dist/core/p-32cc8827.entry.js.map +0 -1
- package/dist/core/p-3498db0b.entry.js +0 -2
- package/dist/core/p-3498db0b.entry.js.map +0 -1
- package/dist/core/p-36e0671f.entry.js.map +0 -1
- package/dist/core/p-443052a7.entry.js.map +0 -1
- package/dist/core/p-454b1ecd.entry.js.map +0 -1
- package/dist/core/p-46371c05.entry.js.map +0 -1
- package/dist/core/p-471820e6.js.map +0 -1
- package/dist/core/p-4dd0eb6a.entry.js.map +0 -1
- package/dist/core/p-50421f27.entry.js.map +0 -1
- package/dist/core/p-559b3d17.entry.js +0 -2
- package/dist/core/p-559b3d17.entry.js.map +0 -1
- package/dist/core/p-589f6dd3.js +0 -3
- package/dist/core/p-589f6dd3.js.map +0 -1
- package/dist/core/p-5a3f3f37.entry.js +0 -2
- package/dist/core/p-5a3f3f37.entry.js.map +0 -1
- package/dist/core/p-5e896163.entry.js.map +0 -1
- package/dist/core/p-68547339.entry.js.map +0 -1
- package/dist/core/p-6f2be5bd.entry.js +0 -2
- package/dist/core/p-6f2be5bd.entry.js.map +0 -1
- package/dist/core/p-70124e59.entry.js.map +0 -1
- package/dist/core/p-80164baa.entry.js +0 -2
- package/dist/core/p-80164baa.entry.js.map +0 -1
- package/dist/core/p-80eff050.entry.js +0 -2
- package/dist/core/p-80eff050.entry.js.map +0 -1
- package/dist/core/p-8edd3a9b.entry.js +0 -2
- package/dist/core/p-8edd3a9b.entry.js.map +0 -1
- package/dist/core/p-9715ec62.entry.js +0 -2
- package/dist/core/p-9715ec62.entry.js.map +0 -1
- package/dist/core/p-983cb33c.entry.js +0 -2
- package/dist/core/p-983cb33c.entry.js.map +0 -1
- package/dist/core/p-a18c0672.entry.js.map +0 -1
- package/dist/core/p-a8dc8196.entry.js.map +0 -1
- package/dist/core/p-a9184841.entry.js +0 -2
- package/dist/core/p-a9184841.entry.js.map +0 -1
- package/dist/core/p-af815dfb.entry.js.map +0 -1
- package/dist/core/p-b69226d2.entry.js +0 -2
- package/dist/core/p-b69226d2.entry.js.map +0 -1
- package/dist/core/p-b7cf6411.entry.js +0 -2
- package/dist/core/p-b7cf6411.entry.js.map +0 -1
- package/dist/core/p-bffa2e1a.entry.js.map +0 -1
- package/dist/core/p-c85476c0.entry.js +0 -2
- package/dist/core/p-c85476c0.entry.js.map +0 -1
- package/dist/core/p-ca20c9c3.entry.js.map +0 -1
- package/dist/core/p-cee45622.entry.js.map +0 -1
- package/dist/core/p-d2d5132d.entry.js.map +0 -1
- package/dist/core/p-de45134c.entry.js.map +0 -1
- package/dist/core/p-df1b0f17.entry.js.map +0 -1
- package/dist/core/p-e16e817e.entry.js +0 -2
- package/dist/core/p-e16e817e.entry.js.map +0 -1
- package/dist/core/p-e6217f40.entry.js +0 -2
- package/dist/core/p-e6217f40.entry.js.map +0 -1
- package/dist/core/p-faeedfd1.entry.js +0 -2
- package/dist/core/p-faeedfd1.entry.js.map +0 -1
- package/dist/core/p-fb5861c6.entry.js.map +0 -1
- package/dist/core/p-fc7dce3d.entry.js.map +0 -1
- package/dist/core/p-fd18d7a3.entry.js +0 -2
- package/dist/core/p-fd18d7a3.entry.js.map +0 -1
- package/dist/esm/helpers-73666f14.js.map +0 -1
- package/dist/esm/index-3b144b17.js.map +0 -1
- /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-breadcrumb-group/{ic-breadcrumb-group-test-examples.js → test/basic/ic-breadcrumb-group-test-examples.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-stepper/{ic-stepper-test-examples.js → test/basic/ic-stepper-test-examples.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/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-footer-link-group/ic-footer-link-group.test.a11y.d.ts → ic-dialog/test/a11y/ic-dialog.test.a11y.d.ts} +0 -0
- /package/dist/types/components/{ic-hero/ic-hero.test.a11y.d.ts → ic-footer/test/a11y/ic-footer.test.a11y.d.ts} +0 -0
- /package/dist/types/components/{ic-footer/ic-footer.test.a11y.d.ts → ic-footer-link/test/a11y/ic-footer-link.test.a11y.d.ts} +0 -0
- /package/dist/types/components/{ic-footer-link/ic-footer-link.test.a11y.d.ts → ic-footer-link-group/test/a11y/ic-footer-link-group.test.a11y.d.ts} +0 -0
- /package/dist/types/components/{ic-horizontal-scroll/ic-horizontal-scroll.test.a11y.d.ts → ic-hero/test/a11y/ic-hero.test.a11y.d.ts} +0 -0
- /package/dist/types/components/{ic-link/ic-link.test.a11y.d.ts → ic-horizontal-scroll/test/a11y/ic-horizontal-scroll.test.a11y.d.ts} +0 -0
- /package/dist/types/components/{ic-loading-indicator/ic-loading-indicator.test.a11y.d.ts → ic-link/test/a11y/ic-link.test.a11y.d.ts} +0 -0
- /package/dist/types/components/{ic-navigation-group/ic-navigation-group.test.a11y.d.ts → ic-loading-indicator/test/a11y/ic-loading-indicator.test.a11y.d.ts} +0 -0
- /package/dist/types/components/{ic-navigation-item/ic-navigation-item.test.a11y.d.ts → ic-navigation-group/test/a11y/ic-navigation-group.test.a11y.d.ts} +0 -0
- /package/dist/types/components/{ic-page-header/ic-page-header.test.a11y.d.ts → ic-navigation-item/test/a11y/ic-navigation-item.test.a11y.d.ts} +0 -0
- /package/dist/types/components/{ic-pagination/ic-pagination.test.a11y.d.ts → ic-page-header/test/a11y/ic-page-header.test.a11y.d.ts} +0 -0
- /package/dist/types/components/{ic-popover-menu/ic-popover-menu.test.a11y.d.ts → ic-pagination/test/a11y/ic-pagination.test.a11y.d.ts} +0 -0
- /package/dist/types/components/{ic-radio-group/ic-radio-group.test.a11y.d.ts → ic-popover-menu/test/a11y/ic-popover-menu.test.a11y.d.ts} +0 -0
- /package/dist/types/components/{ic-search-bar/ic-search-bar.test.a11y.d.ts → ic-radio-group/test/a11y/ic-radio-group.test.a11y.d.ts} +0 -0
- /package/dist/types/components/{ic-select/ic-select.test.a11y.d.ts → ic-search-bar/test/a11y/ic-search-bar.test.a11y.d.ts} +0 -0
- /package/dist/types/components/{ic-side-navigation/ic-side-navigation.test.a11y.d.ts → ic-select/test/a11y/ic-select.test.a11y.d.ts} +0 -0
- /package/dist/types/components/{ic-skeleton/ic-skeleton.test.a11y.d.ts → ic-side-navigation/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-status-tag/ic-status-tag.test.a11y.d.ts → ic-skeleton/test/a11y/ic-skeleton.test.a11y.d.ts} +0 -0
- /package/dist/types/components/{ic-stepper/ic-stepper.test.a11y.d.ts → ic-status-tag/test/a11y/ic-status-tag.test.a11y.d.ts} +0 -0
- /package/dist/types/components/{ic-switch/ic-switch.test.a11y.d.ts → ic-stepper/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-tab-context/ic-tab-context.test.a11y.d.ts → ic-switch/test/a11y/ic-switch.test.a11y.d.ts} +0 -0
- /package/dist/types/components/{ic-text-field/ic-text-field.test.a11y.d.ts → ic-tab-context/test/a11y/ic-tab-context.test.a11y.d.ts} +0 -0
- /package/dist/types/components/{ic-toast/ic-toast.test.a11y.d.ts → ic-text-field/test/a11y/ic-text-field.test.a11y.d.ts} +0 -0
- /package/dist/types/components/{ic-tooltip/ic-tooltip.test.a11y.d.ts → ic-toast/test/a11y/ic-toast.test.a11y.d.ts} +0 -0
- /package/dist/types/components/{ic-top-navigation/ic-top-navigation.test.a11y.d.ts → ic-tooltip/test/a11y/ic-tooltip.test.a11y.d.ts} +0 -0
- /package/dist/types/components/{ic-typography/ic-typography.test.a11y.d.ts → ic-top-navigation/test/a11y/ic-top-navigation.test.a11y.d.ts} +0 -0
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["src/components/ic-select/ic-select.css?tag=ic-select&encapsulation=shadow","src/components/ic-select/ic-select.tsx"],"names":["icSelectCss","inputIds","Select","this","inputId","menuId","ungroupedOptions","inheritedAttributes","hasSetDefaultValue","initialOptionsEmpty","handleRetry","ev","detail","keyPressed","_a","searchableSelectElement","focus","blurredBecauseButtonPressed","retryButtonClick","icRetryLoad","emit","value","hiddenInputValue","emitIcChange","searchable","clearTimeout","debounceIcChange","window","setTimeout","icChange","currDebounce","emitImmediateIcChange","isMenuEnabled","searchableSelectInputValue","setOptionsValuesFromLabels","options","length","map","option","label","setUngroupedOptions","event","setTextColor","nativeSelectElement","selectedIndex","className","setMenuChange","open","getLabelFromValue","getFilteredChildMenuOptions","children","getFilteredMenuOptions","includeDescriptionsInSearch","searchMatchPosition","pressedCharacters","newOption","Object","assign","handleNativeSelectChange","icOptionSelect","handleCustomSelectChange","emptyOptionListText","currValue","inputValueToFilter","getValueFromLabel","ariaActiveDescendant","optionId","handleMenuChange","handleFocusIndicatorDisplay","handleMenuKeyPress","cancelBubble","handleCharacterKeyDown","key","focusIndicator","host","shadowRoot","querySelector","classList","add","remove","handleMouseDown","preventDefault","isExternalFiltering","disableFilter","handleClick","menu","filteredOptions","hasTimedOut","loading","noOptions","handleClickOpen","handleExpandIconMouseDown","disabled","handleClear","stopPropagation","icClear","customSelectElement","characterKeyPressTimer","handleFilter","handleNativeSelectKeyDown","handleKeyDown","isArrowKey","handleKeyboardOpen","handleClearButtonFocus","clearButtonFocused","handleClearButtonBlur","retryButton","relatedTarget","isGrouped","newFilteredOptions","menuOptionsFiltered","includeGroupTitlesInSearch","indexOf","push","noChildOptionsWhenFiltered","triggerLoading","loadingLabel","timeout","timeoutTimer","loadingErrorLabel","timedOut","find","handleSearchableSelectInput","target","icInput","debounceAriaLiveUpdate","updateSearchableSelectResultAriaLive","searchableSelectResultsStatusEl","innerText","getDefaultValue","onFocus","icFocus","onBlur","tagName","includes","isSearchableAndNoFocusedInternalElements","Array","from","querySelectorAll","clearButton","icBlur","onTimeoutBlur","handleFormReset","initialValue","debounce","[object Object]","newValue","setDefaultValue","updateOnChangeDebounce","debounceAria","inheritAttributes","IC_INHERITED_ARIA","addFormResetListener","onComponentRequiredPropUndefined","prop","propName","removeFormResetListener","small","fullWidth","helperText","hideLabel","name","placeholder","readonly","required","showClearButton","validationStatus","validationText","isOrHasLoaded","_b","inputValue","renderHiddenInput","invalid","IcInformationStatus","Error","describedBy","getInputDescribedByText","hasValidationStatus","trim","h","Host","class","full-width","for","ref","el","anchorEl","menu-open","isMobileOrTablet","onChange","id","aria-label","aria-describedby","aria-invalid","onKeyDown","selected","role","autocomplete","aria-activedescendant","aria-autocomplete","aria-expanded","aria-required","aria-controls","onInput","onClick","innerHTML","Clear","size","variant","appearance","IcThemeForegroundEnum","Light","Dark","onMouseDown","expand-icon","expand-icon-open","expand-icon-filled","Expand","aria-hidden","aria-live","aria-haspopup","aria-owns","value-text","undefined","no-results","inputEl","inputLabel","onMenuStateChange","onMenuOptionSelect","onMenuKeyPress","onUngroupedOptionsSet","onRetryButtonClicked","parentEl","activationType","ariaLiveMode","status","message"],"mappings":"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","sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --input-width: Width of the input field\n * @prop --ic-z-index-menu: z-index of select menu\n */\n\n:host {\n position: relative;\n}\n\n:host(.full-width) {\n width: 100%;\n}\n\nic-input-component-container:hover {\n --border-color: var(--ic-action-dark-hover);\n}\n\nic-input-component-container:active {\n --border-color: var(--ic-action-dark-active);\n\n color: var(--ic-action-dark-active);\n}\n\nic-input-component-container.menu-open {\n --border-color: var(--ic-architectural-400);\n\n color: var(--ic-action-dark);\n}\n\nic-input-validation .status-icon,\nic-input-validation .statustext {\n visibility: visible;\n}\n\nic-input-validation.menu-open .status-icon,\nic-input-validation.menu-open .statustext {\n visibility: hidden;\n transition: visibility 0s;\n}\n\nic-input-label {\n margin-bottom: var(--ic-space-xs) !important;\n}\n\nselect {\n border: 0;\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-architectural-white);\n color: var(--ic-color-primary-text);\n line-height: 1.5rem;\n letter-spacing: 0.005rem;\n width: 100%;\n height: 100%;\n padding-left: 0.375rem;\n appearance: none;\n background-repeat: no-repeat;\n background-position: right 0.375rem center;\n background-image: url(\"data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>\");\n}\n\nselect option,\n.select-option-selected {\n color: var(--ic-color-primary-text);\n}\n\nselect:disabled {\n color: var(--ic-architectural-200);\n background-image: url(\"data:image/svg+xml;utf8,<svg fill='grey' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>\");\n}\n\nselect:focus {\n border: 0;\n outline: 0;\n}\n\nselect:not([disabled]) {\n cursor: pointer;\n}\n\n.select-container {\n width: 100%;\n display: flex;\n align-items: center;\n position: relative;\n}\n\n.select-input {\n width: 100%;\n height: 100%;\n padding: 0 0.375rem;\n display: flex;\n cursor: pointer;\n align-items: center;\n justify-content: space-between;\n background: none;\n border: none;\n}\n\n.select-input:focus {\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(:not(.disabled)) ic-input-component-container:hover .select-input {\n background-color: var(--ic-architectural-white);\n}\n\n.select-input[disabled] {\n pointer-events: none;\n}\n\n:host(.searchable) .select-input {\n cursor: auto;\n}\n\n.searchable-select-container {\n align-items: center;\n display: flex;\n width: 100%;\n position: relative;\n}\n\n.expand-icon {\n height: var(--ic-space-lg);\n padding-left: var(--ic-space-xs);\n color: var(--ic-action-dark);\n}\n\n.expand-icon > svg {\n display: inline-block;\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host(.disabled) .expand-icon,\n:host(.disabled) .expand-icon > svg > path {\n color: var(--ic-architectural-200);\n}\n\n:host(.searchable) .expand-icon {\n padding-left: var(--ic-space-xxs);\n height: 2.25rem;\n}\n\n:host(.searchable) .expand-icon > svg {\n height: 2.25rem;\n padding: 0 0.375rem;\n}\n\n:host(.searchable:not(.disabled)) .expand-icon > svg {\n cursor: pointer;\n}\n\n.expand-icon-open {\n color: var(--ic-action-dark);\n}\n\n.expand-icon-filled {\n color: var(--ic-action-dark);\n}\n\n.expand-icon-open,\n:host(.searchable) .expand-icon-open {\n transform: rotateX(180deg);\n}\n\n:host(.disabled) .value-text,\n.placeholder {\n color: var(--ic-color-tertiary-text);\n}\n\n.select-input-end {\n display: flex;\n align-items: center;\n}\n\n.clear-button-container {\n display: flex;\n gap: var(--ic-space-xxs);\n padding-left: 2.375rem;\n}\n\n:host(.small) .clear-button-container {\n padding-left: 1.875rem;\n}\n\n.divider {\n width: var(--ic-space-1px);\n background-color: var(--ic-architectural-400);\n margin: var(--ic-space-xxs) 0;\n border-radius: var(--ic-space-1px);\n height: var(--ic-space-lg);\n}\n\n:host(.small) .divider {\n height: var(--ic-space-md);\n}\n\n.clear-button {\n position: absolute;\n right: 2.75rem;\n border-radius: var(--ic-border-radius);\n transition: box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);\n}\n\n.clear-button:focus {\n background-color: var(--ic-focus-blue);\n box-shadow: inset 0 0 0 0.125rem var(--ic-focus-glow);\n border-radius: 0.25rem;\n}\n\n.clear-button:focus * {\n fill: white;\n}\n\n.searchable-select-results-status {\n border: 0;\n clip: rect(0, 0, 0, 0, 0);\n height: var(--ic-space-1px);\n overflow: hidden;\n padding: 0;\n position: absolute;\n white-space: nowrap;\n width: var(--ic-space-1px);\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n h,\n State,\n Watch,\n} from \"@stencil/core\";\n\nimport {\n getInputDescribedByText,\n getLabelFromValue,\n hasValidationStatus,\n inheritAttributes,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n isMobileOrTablet,\n getFilteredMenuOptions,\n addFormResetListener,\n removeFormResetListener,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n IcThemeForegroundEnum,\n IcMenuOption,\n IcSearchMatchPositions,\n} from \"../../utils/types\";\nimport Expand from \"./assets/Expand.svg\";\nimport Clear from \"./assets/Clear.svg\";\nimport { IcValueEventDetail } from \"../../interface\";\nimport { IcOptionSelectEventDetail } from \"../ic-menu/ic-menu.types\";\n\nlet inputIds = 0;\n\n@Component({\n tag: \"ic-select\",\n styleUrl: \"ic-select.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class Select {\n private nativeSelectElement: HTMLSelectElement;\n private customSelectElement: HTMLButtonElement;\n private searchableSelectElement: HTMLInputElement;\n private menu: HTMLIcMenuElement;\n private anchorEl: HTMLElement;\n private clearButton: HTMLIcButtonElement;\n\n private inputId = `ic-select-input-${inputIds++}`;\n private menuId = `${this.inputId}-menu`;\n\n private ungroupedOptions: IcMenuOption[] = [];\n\n private inheritedAttributes: { [k: string]: unknown } = {};\n\n private debounceAria: number;\n private hasSetDefaultValue = false;\n private initialOptionsEmpty = false;\n\n private characterKeyPressTimer: number;\n\n private timeoutTimer: number;\n\n private hasTimedOut: boolean;\n private blurredBecauseButtonPressed: boolean;\n private retryButtonClick: boolean;\n\n /**\n * The label for the select.\n */\n @Prop() label!: string;\n\n /**\n * The possible selection options.\n */\n @Prop() options?: IcMenuOption[] = [];\n\n /**\n * If `true`, the select will require a value.\n */\n @Prop() required?: boolean = false;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop({ reflect: true }) disabled?: boolean = false;\n\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly?: boolean = false;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder?: string = \"Select an option\";\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText?: string = \"\";\n\n /**\n * If `true`, the small styling will be applied to the select.\n */\n @Prop() small?: boolean = false;\n\n /**\n * If `true`, the select element will fill the width of the container.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus?: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The text to display as the validation message.\n */\n @Prop() validationText?: string = \"\";\n\n /**\n * The value of the select, reflected by the value of the currently selected option. For the searchable variant, the value is also reflected by the user input.\n */\n @Prop({ mutable: true }) value?: string;\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce?: number = 0;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name?: string = this.inputId;\n\n /**\n * If `true`, a button which clears the select input when clicked will be displayed. The button will always appear on the searchable select.\n */\n @Prop() showClearButton?: boolean = false;\n\n /**\n * If `true`, a searchable variant of the select will be displayed which can be typed in to filter options.\n */\n @Prop() searchable?: boolean = false;\n\n /**\n * If `true`, descriptions of options will be included when filtering options in a searchable select. Only applies to built in filtering.\n */\n @Prop() includeDescriptionsInSearch?: boolean = false;\n\n /**\n * If `true`, group titles of grouped options will be included when filtering options in a searchable select. Only applies to built in filtering.\n */\n @Prop() includeGroupTitlesInSearch?: boolean = false;\n\n /**\n * Whether the search string of the searchable select should match the start of or anywhere in the options. Only applies to built in filtering.\n */\n @Prop() searchMatchPosition?: IcSearchMatchPositions = \"anywhere\";\n\n /**\n * @deprecated This prop should not be used anymore.\n */\n @Prop() charactersUntilSuggestions?: number = 0;\n\n /**\n * The text displayed when there are no options in the option list.\n */\n @Prop() emptyOptionListText = \"No results found\";\n\n /**\n * If `true`, the built in filtering will be disabled for a searchable variant. For example, if options will already be filtered from external source.\n */\n @Prop() disableFilter?: boolean = false;\n\n /**\n * If using external filtering, set a timeout for when loading takes too long.\n */\n @Prop() timeout?: number;\n\n /**\n * The message displayed whilst the options are being loaded externally.\n */\n @Prop() loadingLabel?: string = \"Loading...\";\n\n /**\n * The message displayed when external loading times out.\n */\n @Prop() loadingErrorLabel?: string = \"Loading Error\";\n\n /**\n * If `true`, the loading state will be triggered when fetching options asyncronously.\n */\n @Prop({ mutable: true }) loading?: boolean = false;\n\n @State() open: boolean = false;\n\n @State() clearButtonFocused: boolean = false;\n\n @State() searchableSelectInputValue: string = null;\n\n @State() filteredOptions: IcMenuOption[] = this.options;\n\n @State() ariaActiveDescendant: string;\n\n @State() noOptions: IcMenuOption[] = null;\n\n @State() initialValue = this.value;\n\n @State() currDebounce = this.debounce;\n\n @State() currValue = this.value;\n\n @State() debounceIcChange: number;\n\n @State() pressedCharacters: string = \"\";\n\n @State() hiddenInputValue: string;\n\n @State() inputValueToFilter = this.value;\n\n @Watch(\"loading\")\n loadingHandler(newValue: boolean): void {\n newValue && this.triggerLoading();\n }\n\n @Watch(\"options\")\n watchOptionsHandler(): void {\n if (!this.hasTimedOut) {\n this.loading = false;\n clearTimeout(this.timeoutTimer);\n if (this.isExternalFiltering()) {\n if (this.options.length > 0) {\n this.setOptionsValuesFromLabels();\n this.noOptions = null;\n this.filteredOptions = this.options;\n } else if (this.isMenuEnabled()) {\n this.noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n this.filteredOptions = this.noOptions;\n }\n this.updateSearchableSelectResultAriaLive();\n this.setDefaultValue();\n } else {\n this.setOptionsValuesFromLabels();\n this.filteredOptions = this.options;\n\n if (this.initialOptionsEmpty) {\n this.setDefaultValue();\n this.initialOptionsEmpty = false;\n }\n }\n } else {\n if (!this.searchable) this.options = this.noOptions;\n }\n }\n\n @Watch(\"debounce\")\n debounceChangedHandler(newValue: number) {\n this.updateOnChangeDebounce(newValue);\n }\n\n @Watch(\"value\")\n valueChangedHandler() {\n if (this.value !== this.currValue) {\n this.currValue = this.value;\n }\n\n if (this.searchable && !!this.currValue) {\n this.searchableSelectInputValue =\n this.getLabelFromValue(this.currValue) || this.currValue;\n }\n }\n\n /**\n * Emitted when the value changes.\n */\n @Event() icChange!: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when the clear button is clicked.\n */\n @Event() icClear!: EventEmitter<void>;\n\n /**\n * Emitted when the select gains focus.\n */\n @Event() icFocus!: EventEmitter<void>;\n\n /**\n * Emitted when the select loses focus.\n */\n @Event() icBlur!: EventEmitter<void>;\n\n /**\n * Emitted when an option is highlighted within the menu.\n * Highlighting a menu item will also trigger an `icChange/onIcChange` due to the value being updated.\n */\n @Event() icOptionSelect: EventEmitter<IcOptionSelectEventDetail>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when the 'retry loading' button is clicked for a searchable variant.\n */\n @Event() icRetryLoad: EventEmitter<IcValueEventDetail>;\n\n @Element() host!: HTMLIcSelectElement;\n\n /**\n * Sets focus on the input box.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.nativeSelectElement) {\n this.nativeSelectElement.focus();\n } else if (this.customSelectElement) {\n this.customSelectElement.focus();\n } else if (this.searchableSelectElement) {\n this.searchableSelectElement.focus();\n }\n }\n\n private handleRetry = (ev: CustomEvent<IcValueEventDetail>) => {\n if (ev.detail.keyPressed) this.searchableSelectElement?.focus();\n this.blurredBecauseButtonPressed = true;\n this.retryButtonClick = true;\n this.hasSetDefaultValue = true;\n this.icRetryLoad.emit({ value: this.hiddenInputValue });\n };\n\n private updateOnChangeDebounce(newValue: number) {\n if (this.currDebounce !== newValue) {\n this.currDebounce = newValue;\n }\n }\n\n private emitIcChange = (value: string) => {\n if (!this.searchable) {\n this.value = value;\n }\n\n clearTimeout(this.debounceIcChange);\n this.debounceIcChange = window.setTimeout(() => {\n this.icChange.emit({ value: value });\n }, this.currDebounce);\n };\n\n private emitImmediateIcChange = (value: string) => {\n this.value = value;\n clearTimeout(this.debounceIcChange);\n this.icChange.emit({ value: value });\n };\n\n private isMenuEnabled = () => {\n return (\n this.searchableSelectInputValue !== null ||\n this.searchableSelectInputValue !== \"\"\n );\n };\n\n private setOptionsValuesFromLabels = (): void => {\n if (this.options.length > 0 && this.options.map) {\n this.options.map((option) => {\n if (!option.value) {\n option.value = option.label;\n }\n });\n }\n };\n\n private setUngroupedOptions = (event: CustomEvent): void => {\n this.ungroupedOptions = event.detail.options;\n };\n\n private setTextColor = (): void => {\n if (this.nativeSelectElement.selectedIndex === 0) {\n this.nativeSelectElement.className = \"placeholder\";\n } else {\n this.nativeSelectElement.className = \"select-option-selected\";\n }\n };\n\n private setMenuChange = (open: boolean) => {\n if (this.open !== open) {\n this.open = open;\n }\n };\n\n private getLabelFromValue = (value: string): string | undefined => {\n return getLabelFromValue(value, this.options);\n };\n\n private getFilteredChildMenuOptions = (option: IcMenuOption) => {\n let children = option.children;\n\n if (this.searchable) {\n children = getFilteredMenuOptions(\n option.children,\n this.includeDescriptionsInSearch,\n this.searchableSelectInputValue,\n this.searchMatchPosition\n );\n } else {\n children = getFilteredMenuOptions(\n option.children,\n false,\n this.pressedCharacters,\n \"start\"\n );\n }\n\n const newOption = { ...option };\n newOption.children = children;\n return newOption;\n };\n\n private handleNativeSelectChange = (): void => {\n this.icOptionSelect.emit({ value: this.nativeSelectElement.value });\n this.emitImmediateIcChange(this.nativeSelectElement.value);\n this.setTextColor();\n };\n\n private handleCustomSelectChange = (event: CustomEvent): void => {\n if (this.searchable && event.detail.label === this.emptyOptionListText) {\n this.searchableSelectElement.focus();\n return;\n }\n\n if (this.searchable) {\n this.value = event.detail.value;\n\n // After editing the input, if selecting the same option as before, set the input value to label again\n if (this.value === this.currValue) {\n this.searchableSelectInputValue = this.getLabelFromValue(this.value);\n }\n\n this.inputValueToFilter = null;\n this.hiddenInputValue = this.getValueFromLabel(\n this.searchableSelectInputValue\n );\n }\n\n this.ariaActiveDescendant = event.detail.optionId;\n this.icOptionSelect.emit({ value: event.detail.value });\n this.emitIcChange(event.detail.value);\n };\n\n private handleMenuChange = (event: CustomEvent): void => {\n this.open = event.detail.open;\n this.pressedCharacters = \"\";\n\n this.searchable && this.handleFocusIndicatorDisplay();\n };\n\n // clears the debounce delay when navigating the menu with arrow keys etc\n // to prevent delay in change event, which should only occur when typing in input\n private handleMenuKeyPress = (ev: CustomEvent): void => {\n ev.cancelBubble = true;\n this.handleCharacterKeyDown(ev.detail.key);\n };\n\n private handleFocusIndicatorDisplay = () => {\n const focusIndicator =\n this.host.shadowRoot.querySelector(\".focus-indicator\");\n\n if (this.open) {\n focusIndicator.classList.add(\"focus-indicator-enabled\");\n } else {\n focusIndicator.classList.remove(\"focus-indicator-enabled\");\n }\n };\n\n private handleMouseDown = (event: Event): void => {\n if (!this.open) {\n event.preventDefault();\n }\n };\n\n private isExternalFiltering = (): boolean =>\n this.searchable && this.disableFilter;\n\n private handleClick = (event: MouseEvent): void => {\n if (this.isExternalFiltering()) {\n this.menu.options = this.filteredOptions;\n } else {\n if (!this.hasTimedOut && !this.loading) {\n this.noOptions = null;\n this.menu.options = this.options;\n }\n }\n\n if (event.detail !== 0 && this.isMenuEnabled()) {\n this.menu.handleClickOpen();\n }\n };\n\n private handleExpandIconMouseDown = (event: MouseEvent) => {\n if (!this.disabled) {\n event.preventDefault();\n this.searchableSelectElement.focus();\n this.handleClick(event);\n }\n };\n\n private handleClear = (event: Event): void => {\n event.stopPropagation();\n this.hasTimedOut = false;\n this.noOptions = null;\n this.emitImmediateIcChange(null);\n this.icClear.emit();\n\n if (this.searchable) {\n this.searchableSelectElement.value = null;\n this.searchableSelectInputValue = null;\n this.filteredOptions = this.options;\n this.hiddenInputValue = null;\n this.searchableSelectElement.focus();\n\n if (!this.isMenuEnabled()) {\n this.setMenuChange(false);\n }\n } else {\n this.customSelectElement.focus();\n }\n };\n\n private handleCharacterKeyDown = (key: string) => {\n // Only close menu when space is pressed if not being used alongside character keys to quickly select options\n if (\n this.open &&\n key === \" \" &&\n this.pressedCharacters.length === 0 &&\n !this.hasTimedOut &&\n !this.loading\n ) {\n this.setMenuChange(false);\n }\n\n if (key.length === 1 && !this.searchable) {\n window.clearTimeout(this.characterKeyPressTimer);\n this.characterKeyPressTimer = window.setTimeout(\n () => (this.pressedCharacters = \"\"),\n 1000\n );\n\n this.pressedCharacters += key;\n this.handleFilter();\n\n if (!this.noOptions) {\n this.emitImmediateIcChange(this.filteredOptions[0].value);\n }\n } else {\n this.pressedCharacters = \"\";\n }\n };\n\n private handleNativeSelectKeyDown = (event: KeyboardEvent) => {\n event.cancelBubble = true;\n this.handleCharacterKeyDown(event.key);\n };\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n event.cancelBubble = true;\n const isArrowKey = event.key === \"ArrowDown\" || event.key === \"ArrowUp\";\n\n if (!this.open) {\n if (this.isExternalFiltering() && (event.key === \"Enter\" || isArrowKey)) {\n this.menu.options = this.filteredOptions;\n } else {\n if (!this.hasTimedOut) {\n this.noOptions = null;\n this.menu.options = this.options;\n }\n }\n }\n\n if (this.open && event.key === \"Enter\") {\n this.setMenuChange(false);\n } else {\n if (!(isArrowKey && this.noOptions !== null) && this.isMenuEnabled()) {\n if (!(event.key === \" \" && this.pressedCharacters.length > 0)) {\n // Keyboard events get passed onto ic-menu\n this.menu.handleKeyboardOpen(event);\n }\n this.handleCharacterKeyDown(event.key);\n }\n }\n };\n\n private handleClearButtonFocus = (): void => {\n this.clearButtonFocused = true;\n };\n\n private handleClearButtonBlur = (ev: FocusEvent): void => {\n const retryButton = this.menu?.querySelector(\"#retry-button\");\n if (\n !(\n this.searchableSelectElement &&\n ev.relatedTarget === this.searchableSelectElement\n ) &&\n !(retryButton && ev.relatedTarget === retryButton)\n ) {\n this.setMenuChange(false);\n this.handleFocusIndicatorDisplay();\n }\n this.clearButtonFocused = false;\n };\n\n private handleFilter = (): void => {\n const options = this.searchable ? [...this.options] : this.ungroupedOptions;\n\n let isGrouped = false;\n let newFilteredOptions: IcMenuOption[] = [];\n\n options.map((option) => {\n if (option.children) isGrouped = true;\n });\n\n let menuOptionsFiltered: IcMenuOption[];\n\n if (this.searchable) {\n menuOptionsFiltered = getFilteredMenuOptions(\n options,\n this.includeDescriptionsInSearch,\n this.inputValueToFilter,\n this.searchMatchPosition\n );\n } else {\n menuOptionsFiltered = getFilteredMenuOptions(\n options,\n false,\n this.pressedCharacters,\n \"start\"\n );\n }\n\n if (!isGrouped) {\n newFilteredOptions = menuOptionsFiltered;\n } else {\n options.map((option) => {\n if (this.includeGroupTitlesInSearch) {\n if (menuOptionsFiltered.indexOf(option) !== -1) {\n newFilteredOptions.push(option);\n } else {\n newFilteredOptions.push(this.getFilteredChildMenuOptions(option));\n }\n } else {\n newFilteredOptions.push(this.getFilteredChildMenuOptions(option));\n }\n });\n }\n\n let noChildOptionsWhenFiltered = false;\n\n if (isGrouped) {\n noChildOptionsWhenFiltered = true;\n newFilteredOptions.map((option) => {\n if (option.children.length > 0) {\n noChildOptionsWhenFiltered = false;\n }\n });\n }\n\n const noOptions = [{ label: this.emptyOptionListText, value: \"\" }];\n\n if (newFilteredOptions.length > 0 && !noChildOptionsWhenFiltered) {\n this.noOptions = null;\n this.filteredOptions = newFilteredOptions;\n } else {\n this.noOptions = noOptions;\n this.filteredOptions = this.noOptions;\n }\n };\n\n private triggerLoading = () => {\n this.hasTimedOut = false;\n this.noOptions = [{ label: this.loadingLabel, value: \"\", loading: true }];\n if (this.filteredOptions !== this.noOptions && this.searchable)\n this.filteredOptions = this.noOptions;\n else if (!this.searchable && this.options !== this.noOptions)\n this.options = this.noOptions;\n if (this.timeout) {\n this.timeoutTimer = window.setTimeout(() => {\n this.loading = false;\n this.hasTimedOut = true;\n this.noOptions = [\n { label: this.loadingErrorLabel, value: \"\", timedOut: true },\n ];\n this.filteredOptions = this.noOptions;\n if (!this.searchable) this.options = this.noOptions;\n }, this.timeout);\n }\n };\n\n private getValueFromLabel = (label: string): string | undefined => {\n return this.options.find((option) => option.label === label)?.value;\n };\n\n private handleSearchableSelectInput = (event: Event): void => {\n this.searchableSelectInputValue = (event.target as HTMLInputElement).value;\n this.icInput.emit({ value: this.searchableSelectInputValue });\n this.emitIcChange(this.searchableSelectInputValue);\n\n this.hiddenInputValue = this.searchableSelectInputValue;\n this.inputValueToFilter = this.searchableSelectInputValue;\n\n if (this.isMenuEnabled()) {\n this.setMenuChange(true);\n } else {\n this.setMenuChange(false);\n }\n\n if (!this.disableFilter) {\n this.handleFilter();\n this.debounceAriaLiveUpdate();\n }\n };\n\n private updateSearchableSelectResultAriaLive = (): void => {\n const searchableSelectResultsStatusEl = this.host.shadowRoot.querySelector(\n \".searchable-select-results-status\"\n ) as HTMLDivElement;\n\n if (searchableSelectResultsStatusEl) {\n if (this.noOptions !== null) {\n searchableSelectResultsStatusEl.innerText = this.emptyOptionListText;\n } else {\n searchableSelectResultsStatusEl.innerText = \"\";\n }\n }\n };\n\n private debounceAriaLiveUpdate() {\n clearTimeout(this.debounceAria);\n\n window.setTimeout(() => {\n this.updateSearchableSelectResultAriaLive();\n }, 800);\n }\n\n private getDefaultValue = (value: string): string | null =>\n this.getLabelFromValue(value) || value || null;\n\n private setDefaultValue() {\n if (!this.hasSetDefaultValue && this.currValue) {\n this.searchableSelectInputValue = this.getDefaultValue(this.currValue);\n this.initialValue = this.currValue;\n this.hasSetDefaultValue = true;\n }\n }\n\n private onFocus = (): void => {\n this.icFocus.emit();\n };\n\n private onBlur = (event: FocusEvent): void => {\n const target = event.relatedTarget as HTMLElement;\n if (\n target !== null &&\n target.tagName === \"UL\" &&\n target.className.includes(\"menu\")\n ) {\n return;\n }\n\n const retryButton = this.menu?.querySelector(\"#retry-button\");\n const isSearchableAndNoFocusedInternalElements =\n this.searchable &&\n event.relatedTarget !== this.menu &&\n !Array.from(this.menu.querySelectorAll(\"[role='option']\")).includes(\n event.relatedTarget as Element\n ) &&\n !(this.clearButton && event.relatedTarget === this.clearButton) &&\n !(retryButton && event.relatedTarget === retryButton);\n\n if (isSearchableAndNoFocusedInternalElements) {\n if (!this.retryButtonClick) {\n this.setMenuChange(false);\n }\n this.handleFocusIndicatorDisplay();\n }\n\n this.retryButtonClick = false;\n this.icBlur.emit();\n };\n\n private onTimeoutBlur = (ev: CustomEvent) => {\n if (\n (ev.detail.ev as FocusEvent).relatedTarget !==\n this.searchableSelectElement &&\n !this.blurredBecauseButtonPressed\n ) {\n this.setMenuChange(false);\n this.handleFocusIndicatorDisplay();\n this.icBlur.emit();\n }\n this.blurredBecauseButtonPressed = false;\n };\n\n private handleFormReset = (): void => {\n this.value = this.initialValue;\n if (this.searchable) {\n this.searchableSelectInputValue = this.getDefaultValue(this.value);\n this.hiddenInputValue = this.value;\n }\n };\n\n componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.host, [\n ...IC_INHERITED_ARIA,\n \"tabindex\",\n \"title\",\n ]);\n\n this.setOptionsValuesFromLabels();\n\n addFormResetListener(this.host, this.handleFormReset);\n\n if (!this.options.length) {\n this.initialOptionsEmpty = true;\n } else {\n this.setDefaultValue();\n }\n }\n\n componentDidRender(): void {\n if (this.nativeSelectElement && !this.disabled) {\n this.setTextColor();\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Select\"\n );\n\n if (this.loading) this.triggerLoading();\n\n this.hiddenInputValue = this.searchable && this.currValue;\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.host, this.handleFormReset);\n }\n\n render() {\n const {\n small,\n disabled,\n fullWidth,\n helperText,\n hideLabel,\n label,\n menuId,\n name,\n options,\n placeholder,\n readonly,\n required,\n searchable,\n showClearButton,\n validationStatus,\n validationText,\n currValue,\n } = this;\n\n const isOrHasLoaded =\n (searchable ? this.filteredOptions : options)[0]?.label ===\n this.loadingLabel ||\n (searchable ? this.filteredOptions : options)[0]?.label ===\n this.loadingErrorLabel;\n\n const inputValue = this.searchable ? this.hiddenInputValue : currValue;\n\n renderHiddenInput(true, this.host, name, inputValue, disabled);\n\n const invalid =\n validationStatus === IcInformationStatus.Error ? \"true\" : \"false\";\n\n const describedBy = getInputDescribedByText(\n this.inputId,\n helperText !== \"\",\n hasValidationStatus(this.validationStatus, this.disabled)\n ).trim();\n\n return (\n <Host\n class={{\n disabled: disabled,\n searchable: searchable,\n small: small,\n \"full-width\": fullWidth,\n }}\n onBlur={this.onBlur}\n >\n <ic-input-container readonly={readonly}>\n {!hideLabel && (\n <ic-input-label\n for={this.inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabled}\n readonly={readonly}\n ></ic-input-label>\n )}\n <ic-input-component-container\n ref={(el) => (this.anchorEl = el)}\n class={{ \"menu-open\": this.open }}\n small={small}\n fullWidth={fullWidth}\n disabled={disabled}\n readonly={readonly}\n validationStatus={validationStatus}\n >\n {readonly ? (\n <ic-typography>\n <p>{this.getLabelFromValue(currValue)}</p>\n </ic-typography>\n ) : isMobileOrTablet() ? (\n <select\n ref={(el) => (this.nativeSelectElement = el)}\n disabled={disabled}\n onChange={this.handleNativeSelectChange}\n required={required}\n id={this.inputId}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onKeyDown={this.handleNativeSelectKeyDown}\n {...this.inheritedAttributes}\n >\n <option value=\"\" selected disabled={!showClearButton}>\n {placeholder}\n </option>\n {options.map((option) => {\n if (option.children) {\n return (\n <optgroup label={option.label}>\n {option.children.map((option) => (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.value === currValue}\n >\n {option.label}\n </option>\n ))}\n </optgroup>\n );\n } else {\n return (\n <option\n value={option.value}\n disabled={option.disabled}\n selected={option.value === currValue}\n >\n {option.label}\n </option>\n );\n }\n })}\n </select>\n ) : searchable ? (\n <div class=\"searchable-select-container\">\n <input\n class=\"select-input\"\n role=\"combobox\"\n autocomplete=\"off\"\n aria-label={label}\n aria-describedby={describedBy}\n aria-activedescendant={this.ariaActiveDescendant}\n aria-autocomplete=\"list\"\n aria-expanded={this.open ? \"true\" : \"false\"}\n aria-invalid={invalid}\n aria-required={required ? \"true\" : \"false\"}\n aria-controls={menuId}\n ref={(el) => (this.searchableSelectElement = el)}\n id={this.inputId}\n value={this.searchableSelectInputValue}\n placeholder={placeholder}\n disabled={disabled}\n onInput={this.handleSearchableSelectInput}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n ></input>\n {this.searchableSelectInputValue &&\n (showClearButton || searchable) && (\n <div class=\"clear-button-container\">\n <ic-button\n id=\"clear-button\"\n ref={(el) => (this.clearButton = el)}\n aria-label={\n this.searchableSelectInputValue && currValue === null\n ? \"Clear input\"\n : \"Clear selection\"\n }\n class=\"clear-button\"\n innerHTML={Clear}\n onClick={this.handleClear}\n onFocus={this.handleClearButtonFocus}\n onBlur={this.handleClearButtonBlur}\n size={small ? \"small\" : \"default\"}\n variant=\"icon\"\n appearance={\n this.clearButtonFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Dark\n }\n ></ic-button>\n <div class=\"divider\"></div>\n </div>\n )}\n <span\n onMouseDown={this.handleExpandIconMouseDown}\n class={{\n \"expand-icon\": true,\n \"expand-icon-open\": this.open,\n \"expand-icon-filled\": !(\n currValue == null || currValue === \"\"\n ),\n }}\n innerHTML={Expand}\n aria-hidden=\"true\"\n />\n <div\n aria-live=\"polite\"\n role=\"status\"\n class=\"searchable-select-results-status\"\n ></div>\n </div>\n ) : (\n <div class=\"select-container\">\n <button\n class=\"select-input\"\n ref={(el) => (this.customSelectElement = el)}\n id={this.inputId}\n aria-label={`${label}, ${\n this.getLabelFromValue(currValue) || placeholder\n }${required ? \", required\" : \"\"}`}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n aria-haspopup=\"listbox\"\n aria-expanded={this.open ? \"true\" : \"false\"}\n aria-owns={menuId}\n aria-controls={menuId}\n disabled={disabled}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onClick={this.handleClick}\n onMouseDown={this.handleMouseDown}\n onKeyDown={this.handleKeyDown}\n >\n <ic-typography\n variant=\"body\"\n class={{\n \"value-text\": true,\n placeholder:\n this.getLabelFromValue(currValue) === undefined,\n }}\n >\n <p>{this.getLabelFromValue(currValue) || placeholder}</p>\n </ic-typography>\n <div class=\"select-input-end\">\n {currValue && showClearButton && (\n <div class=\"divider\"></div>\n )}\n <span\n class={{\n \"expand-icon\": true,\n \"expand-icon-open\": this.open,\n \"expand-icon-filled\": !(\n currValue == null || currValue === \"\"\n ),\n }}\n innerHTML={Expand}\n aria-hidden=\"true\"\n />\n </div>\n </button>\n {currValue && showClearButton && (\n <ic-button\n id=\"clear-button\"\n aria-label=\"Clear selection\"\n class=\"clear-button\"\n innerHTML={Clear}\n onClick={this.handleClear}\n onFocus={this.handleClearButtonFocus}\n onBlur={this.handleClearButtonBlur}\n size={small ? \"small\" : \"default\"}\n variant=\"icon\"\n appearance={\n this.clearButtonFocused\n ? IcThemeForegroundEnum.Light\n : IcThemeForegroundEnum.Dark\n }\n ></ic-button>\n )}\n </div>\n )}\n </ic-input-component-container>\n {!isMobileOrTablet() && (\n <ic-menu\n class={{\n \"no-results\": this.noOptions !== null || isOrHasLoaded,\n }}\n ref={(el) => (this.menu = el)}\n inputEl={\n searchable\n ? this.searchableSelectElement\n : this.customSelectElement\n }\n inputLabel={label}\n anchorEl={this.anchorEl}\n small={small}\n menuId={menuId}\n open={this.open}\n options={searchable ? this.filteredOptions : options}\n value={currValue}\n fullWidth={fullWidth}\n onMenuStateChange={this.handleMenuChange}\n onMenuOptionSelect={this.handleCustomSelectChange}\n onMenuKeyPress={this.handleMenuKeyPress}\n onUngroupedOptionsSet={this.setUngroupedOptions}\n onRetryButtonClicked={this.handleRetry}\n parentEl={this.host}\n onTimeoutBlur={this.onTimeoutBlur}\n activationType={this.searchable ? \"manual\" : \"automatic\"}\n ></ic-menu>\n )}\n {hasValidationStatus(this.validationStatus, this.disabled) && (\n <ic-input-validation\n class={{ \"menu-open\": this.open }}\n ariaLiveMode=\"polite\"\n status={validationStatus}\n message={validationText}\n for={this.inputId}\n ></ic-input-validation>\n )}\n </ic-input-container>\n </Host>\n );\n }\n}\n"]}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as e,c as t,h as i,H as o,g as s}from"./p-589f6dd3.js";import{a,h as n,j as r}from"./p-471820e6.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{display:block}ic-input-label.error{color:var(--ic-status-error)}ic-input-label ic-typography{margin-bottom:var(--ic-space-sm)}:host(.small) ic-input-label ic-typography{margin-bottom:calc(var(--ic-space-sm) / 2)}ic-input-validation{margin-top:var(--ic-space-sm)}:host(.small) ic-input-validation{margin-top:calc(var(--ic-space-sm) / 2)}.checkboxes-container{margin-bottom:calc(-1 * var(--ic-space-xxs))}:host(.small) .checkboxes-container{margin-bottom:calc(-1 * var(--ic-space-xxxs))}.screen-reader-only-text{position:absolute;left:-9999px;background-color:#fff;color:#000;text-transform:none}';const c=class{constructor(i){e(this,i);this.icChange=t(this,"icChange",7);this.label=undefined;this.name=undefined;this.required=false;this.hideLabel=false;this.disabled=false;this.helperText="";this.small=false;this.validationStatus="";this.validationText=""}selectHandler(e){const t=Array.from(this.host.querySelectorAll("ic-checkbox")).filter((e=>e.checked&&!e.disabled));this.icChange.emit({value:t.map((e=>e.value)),checkedOptions:t.map((e=>{var t;return{checkbox:e,textFieldValue:(t=e.querySelector("ic-text-field"))===null||t===void 0?void 0:t.value}})),selectedOption:e.target})}componentDidLoad(){Array.from(this.host.querySelectorAll("ic-checkbox")).forEach((e=>{if(!e.name)e.name=this.name;e.groupLabel=this.label}));a([{prop:this.label,propName:"label"},{prop:this.name,propName:"name"}],"Checkbox Group")}render(){const e=n(this.name,this.helperText!=="",this.validationStatus!=="");const t=r(this.validationStatus,this.disabled);return i(o,{class:{["small"]:this.small}},(this.validationStatus==="error"||this.required||this.hideLabel)&&i("span",{id:"screenReaderOnlyText",class:"screen-reader-only-text","aria-hidden":"true"},this.label," ",this.validationStatus==="error"?"invalid data ":null," ",this.required?"required":null),i("fieldset",{id:this.name,"aria-labelledby":`${this.validationStatus==="error"||this.required||this.hideLabel?"screenReaderOnlyText":""} ${e}`.trim(),disabled:this.disabled},!this.hideLabel&&i("legend",null,i("ic-input-label",{class:{[`${this.validationStatus}`]:true},label:this.label,helperText:this.helperText,required:this.required,disabled:this.disabled,for:this.name})),i("div",{class:"checkboxes-container"},i("slot",null))),t&&i("ic-input-validation",{for:this.name,ariaLiveMode:"polite",status:this.validationStatus,message:this.validationText}))}get host(){return s(this)}};c.style=l;export{c as ic_checkbox_group};
|
2
|
-
//# sourceMappingURL=p-0f153569.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["src/components/ic-checkbox-group/ic-checkbox-group.css?tag=ic-checkbox-group&encapsulation=shadow","src/components/ic-checkbox-group/ic-checkbox-group.tsx"],"names":["icCheckboxGroupCss","CheckboxGroup","[object Object]","ev","checkedOptions","Array","from","this","host","querySelectorAll","filter","checkbox","checked","disabled","icChange","emit","value","map","opt","textFieldValue","_a","querySelector","selectedOption","target","forEach","name","groupLabel","label","onComponentRequiredPropUndefined","prop","propName","describedBy","getInputDescribedByText","helperText","validationStatus","hadValidationStatus","hasValidationStatus","h","Host","class","small","required","hideLabel","id","aria-hidden","aria-labelledby","trim","for","ariaLiveMode","status","message","validationText"],"mappings":"qIAAA,MAAMA,EAAqB,k8FCwBdC,EAAa,yHAgBI,qBAKC,oBAKD,sBAKC,cAKJ,4BAI8B,uBAItB,GAQjCC,cAAcC,GACZ,MAAMC,EAAiBC,MAAMC,KAC3BC,KAAKC,KAAKC,iBAAiB,gBAC3BC,QAAQC,GAAaA,EAASC,UAAYD,EAASE,WACrDN,KAAKO,SAASC,KAAK,CACjBC,MAAOZ,EAAea,KAAKC,GAAQA,EAAIF,QACvCZ,eAAgBA,EAAea,KAAKC,UAAQ,MAAA,CAC1CP,SAAUO,EACVC,gBAAgBC,EAAAF,EAAIG,cAAc,oBAAgB,MAAAD,SAAA,OAAA,EAAAA,EAAEJ,UAEtDM,eAAgBnB,EAAGoB,SAIvBrB,mBACEG,MAAMC,KAAKC,KAAKC,KAAKC,iBAAiB,gBAAgBe,SACnDb,IACC,IAAKA,EAASc,KAAMd,EAASc,KAAOlB,KAAKkB,KACzCd,EAASe,WAAanB,KAAKoB,SAI/BC,EACE,CACE,CAAEC,KAAMtB,KAAKoB,MAAOG,SAAU,SAC9B,CAAED,KAAMtB,KAAKkB,KAAMK,SAAU,SAE/B,kBAIJ5B,SACE,MAAM6B,EAAcC,EAClBzB,KAAKkB,KACLlB,KAAK0B,aAAe,GACpB1B,KAAK2B,mBAAqB,IAE5B,MAAMC,EAAsBC,EAC1B7B,KAAK2B,iBACL3B,KAAKM,UAGP,OACEwB,EAACC,EAAI,CAACC,MAAO,CAAErC,CAAC,SAAUK,KAAKiC,SAC3BjC,KAAK2B,mBAAqB,SAC1B3B,KAAKkC,UACLlC,KAAKmC,YACLL,EAAA,OAAA,CACEM,GAAG,uBACHJ,MAAM,0BAAyBK,cACnB,QAEXrC,KAAKoB,MAAO,IACZpB,KAAK2B,mBAAqB,QAAU,gBAAkB,KAAM,IAC5D3B,KAAKkC,SAAW,WAAa,MAGlCJ,EAAA,WAAA,CACEM,GAAIpC,KAAKkB,KAAIoB,kBACI,GACftC,KAAK2B,mBAAqB,SAAW3B,KAAKkC,UAAYlC,KAAKmC,UACvD,uBACA,MACFX,IAAce,OAClBjC,SAAUN,KAAKM,WAEbN,KAAKmC,WACLL,EAAA,SAAA,KACEA,EAAA,iBAAA,CACEE,MAAO,CAAErC,CAAC,GAAGK,KAAK2B,oBAAqB,MACvCP,MAAOpB,KAAKoB,MACZM,WAAY1B,KAAK0B,WACjBQ,SAAUlC,KAAKkC,SACf5B,SAAUN,KAAKM,SACfkC,IAAKxC,KAAKkB,QAIhBY,EAAA,MAAA,CAAKE,MAAM,wBACTF,EAAA,OAAA,QAGHF,GACCE,EAAA,sBAAA,CACEU,IAAKxC,KAAKkB,KACVuB,aAAa,SACbC,OAAQ1C,KAAK2B,iBACbgB,QAAS3C,KAAK4C","sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n}\n\nic-input-label.error {\n color: var(--ic-status-error);\n}\n\nic-input-label ic-typography {\n margin-bottom: var(--ic-space-sm);\n}\n\n:host(.small) ic-input-label ic-typography {\n margin-bottom: calc(var(--ic-space-sm) / 2);\n}\n\nic-input-validation {\n margin-top: var(--ic-space-sm);\n}\n\n:host(.small) ic-input-validation {\n margin-top: calc(var(--ic-space-sm) / 2);\n}\n\n.checkboxes-container {\n margin-bottom: calc(-1 * var(--ic-space-xxs));\n}\n\n:host(.small) .checkboxes-container {\n margin-bottom: calc(-1 * var(--ic-space-xxxs));\n}\n\n.screen-reader-only-text {\n position: absolute;\n left: -9999px;\n background-color: #fff;\n color: #000;\n text-transform: none;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Listen,\n Element,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\nimport {\n getInputDescribedByText,\n hasValidationStatus,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IcInformationStatusOrEmpty } from \"../../utils/types\";\nimport { IcChangeEventDetail } from \"./ic-checkbox-group.types\";\n\n@Component({\n tag: \"ic-checkbox-group\",\n styleUrl: \"ic-checkbox-group.css\",\n shadow: true,\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class CheckboxGroup {\n @Element() host: HTMLIcCheckboxGroupElement;\n\n /**\n * The label for the checkbox group to be displayed.\n */\n @Prop() label!: string;\n\n /**\n * The name for the checkbox group to differentiate from other groups.\n */\n @Prop() name!: string;\n\n /**\n * If `true`, the checkbox group will require a value.\n */\n @Prop() required: boolean = false;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel: boolean = false;\n\n /**\n * If `true`, the checkbox group will be set to the disabled state.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText: string = \"\";\n\n /**\n * If `true`, the small styling will be applied to the checkbox group.\n */\n @Prop() small: boolean = false;\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n /**\n * The validation text - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationText: string = \"\";\n\n /**\n * Emitted when a checkbox is checked.\n */\n @Event() icChange: EventEmitter<IcChangeEventDetail>;\n\n @Listen(\"icCheck\")\n selectHandler(ev: CustomEvent): void {\n const checkedOptions = Array.from(\n this.host.querySelectorAll(\"ic-checkbox\")\n ).filter((checkbox) => checkbox.checked && !checkbox.disabled);\n this.icChange.emit({\n value: checkedOptions.map((opt) => opt.value),\n checkedOptions: checkedOptions.map((opt) => ({\n checkbox: opt,\n textFieldValue: opt.querySelector(\"ic-text-field\")?.value,\n })),\n selectedOption: ev.target as HTMLIcCheckboxElement,\n });\n }\n\n componentDidLoad(): void {\n Array.from(this.host.querySelectorAll(\"ic-checkbox\")).forEach(\n (checkbox) => {\n if (!checkbox.name) checkbox.name = this.name;\n checkbox.groupLabel = this.label;\n }\n );\n\n onComponentRequiredPropUndefined(\n [\n { prop: this.label, propName: \"label\" },\n { prop: this.name, propName: \"name\" },\n ],\n \"Checkbox Group\"\n );\n }\n\n render() {\n const describedBy = getInputDescribedByText(\n this.name,\n this.helperText !== \"\",\n this.validationStatus !== \"\"\n );\n const hadValidationStatus = hasValidationStatus(\n this.validationStatus,\n this.disabled\n );\n\n return (\n <Host class={{ [\"small\"]: this.small }}>\n {(this.validationStatus === \"error\" ||\n this.required ||\n this.hideLabel) && (\n <span\n id=\"screenReaderOnlyText\"\n class=\"screen-reader-only-text\"\n aria-hidden=\"true\"\n >\n {this.label}{\" \"}\n {this.validationStatus === \"error\" ? \"invalid data \" : null}{\" \"}\n {this.required ? \"required\" : null}\n </span>\n )}\n <fieldset\n id={this.name}\n aria-labelledby={`${\n this.validationStatus === \"error\" || this.required || this.hideLabel\n ? \"screenReaderOnlyText\"\n : \"\"\n } ${describedBy}`.trim()}\n disabled={this.disabled}\n >\n {!this.hideLabel && (\n <legend>\n <ic-input-label\n class={{ [`${this.validationStatus}`]: true }}\n label={this.label}\n helperText={this.helperText}\n required={this.required}\n disabled={this.disabled}\n for={this.name}\n ></ic-input-label>\n </legend>\n )}\n <div class=\"checkboxes-container\">\n <slot></slot>\n </div>\n </fieldset>\n {hadValidationStatus && (\n <ic-input-validation\n for={this.name}\n ariaLiveMode=\"polite\"\n status={this.validationStatus}\n message={this.validationText}\n ></ic-input-validation>\n )}\n </Host>\n );\n }\n}\n"]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["src/components/ic-link/ic-link.css?tag=ic-link&encapsulation=shadow","src/components/ic-link/ic-link.tsx"],"names":["icLinkCss","Link","this","inheritedAttributes","[object Object]","ev","theme","detail","updateTheme","mode","newTheme","getThemeFromContext","el","IcThemeForegroundEnum","Light","appearance","Dark","shadowRoot","querySelector","focus","inheritAttributes","IC_INHERITED_ARIA","routerSlot","ariaLabel","textContent","download","href","hreflang","referrerpolicy","rel","target","showIcon","h","Host","class","hasRouterSlot","name","Object","assign","hrefLang","referrerPolicy","tabindex","innerHTML","OpenInNew"],"mappings":"mLAAA,MAAMA,EAAY,sxJC8BLC,EAAI,+BACPC,KAAAC,oBAAgD,iBAQlB,gBAKd,4IA8BkC,UAG1DC,mBAAmBC,GACjB,MAAMC,EAAiBD,EAAGE,OAC1BL,KAAKM,YAAYF,EAAMG,MAGjBL,YAAYM,EAA8B,MAChD,MAAMJ,EAAQK,EAAoBT,KAAKU,GAAIF,GAAY,MAEvD,OAAQJ,GACN,KAAKO,EAAsBC,MACzBZ,KAAKa,WAAaF,EAAsBC,MACxC,MACF,KAAKD,EAAsBG,KACzBd,KAAKa,WAAaF,EAAsBG,KACxC,OAQNZ,iBACE,GAAIF,KAAKU,GAAGK,WAAWC,cAAc,KAAM,CACzChB,KAAKU,GAAGK,WAAWC,cAAc,KAAKC,SAI1Cf,oBACEF,KAAKC,oBAAsBiB,EAAkBlB,KAAKU,GAAI,IACjDS,EACH,kBAGFnB,KAAKM,cAGCJ,gBACNF,KAAKoB,WAAapB,KAAKU,GAAGM,cAAc,wBACxC,GAAIhB,KAAKoB,WAAY,CACnBpB,KAAKoB,WAAWC,UAAYrB,KAAKoB,WAAWE,YAE9C,QAAStB,KAAKoB,WAGhBlB,SACE,MAAMqB,SACJA,EAAQC,KACRA,EAAIC,SACJA,EAAQC,eACRA,EAAcC,IACdA,EAAGC,OACHA,EAAMC,SACNA,EAAQhB,WACRA,GACEb,KAEJ,OACE8B,EAACC,EAAI,CAACC,MAAO,CAAE9B,CAAC,QAAS,KAAMA,CAAC,GAAGW,KAAe,OAC/Cb,KAAKiC,gBACJH,EAAA,OAAA,CAAMI,KAAK,gBAEXJ,EAAA,IAAAK,OAAAC,OAAA,CACEJ,MAAO,CACL9B,CAAC,WAAYsB,IAAS,KACtBtB,CAAC,GAAGW,KAAeW,IAAS,MAE9BD,SAAUA,IAAa,MAAQA,EAAW,KAC1CC,KAAMA,EACNa,SAAUZ,EACVa,eAAgBZ,EAChBC,IAAKA,EACLC,OAAQA,EACRW,SAAUf,IAAS,KAAO,IAAM,MAC5BxB,KAAKC,qBAET6B,EAAA,OAAA,OACED,GAAYD,IAAW,WACvBE,EAAA,OAAA,CAAME,MAAM,2BAA2BQ,UAAWC","sourcesContent":["@import \"../../global/normalize.css\";\n\n:host(.link) .ic-link,\n:host(.link) ::slotted(a) {\n color: var(--ic-hyperlink);\n text-decoration: underline;\n font-weight: var(--ic-font-weight-bold);\n transition: var(--ic-easing-transition-fast);\n}\n\n:host(.link.dark) .ic-link.dark,\n:host(.link.dark) ::slotted(a) {\n color: var(--ic-color-primary-text);\n}\n\n:host(.link.light) .ic-link.light,\n:host(.link.light) ::slotted(a) {\n color: var(--ic-color-white-text);\n}\n\n:host(.link) .ic-link:visited,\n:host(.link) ::slotted(a:visited) {\n color: var(--ic-hyperlink-visited);\n}\n\n:host(.link) .ic-link:hover,\n:host(.link) .ic-link:focus,\n:host(.link) ::slotted(a:hover),\n:host(.link) ::slotted(a:focus) {\n outline: none;\n border-bottom: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n}\n\n@supports (text-decoration-thickness: 25%) {\n :host(.link) .ic-link:hover,\n :host(.link) .ic-link:focus,\n :host(.link) ::slotted(a:hover),\n :host(.link) ::slotted(a:focus) {\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n border-bottom: 0 !important;\n margin-bottom: 0 !important;\n }\n}\n\n:host(.link) .ic-link:active,\n:host(.link) .ic-link:focus:active,\n:host(.link) .ic-link:visited:active,\n:host(.link) ::slotted(a:active),\n:host(.link) ::slotted(a:focus:active),\n:host(.link) ::slotted(a:visited:active) {\n text-decoration: none;\n}\n\n.ic-link-open-in-new-icon {\n vertical-align: middle;\n margin-left: var(--ic-space-xxs);\n}\n\n.ic-link > .ic-link-open-in-new-icon {\n fill: var(--ic-hyperlink);\n}\n\n.ic-link.dark > .ic-link-open-in-new-icon {\n fill: var(--ic-color-primary-text);\n}\n\n.ic-link.light > .ic-link-open-in-new-icon {\n fill: var(--ic-color-white-text);\n}\n\n.ic-link-open-in-new-icon > svg {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n fill: currentcolor;\n}\n\n.ic-link:visited > .ic-link-open-in-new-icon {\n fill: var(--ic-hyperlink-visited);\n}\n\n.ic-link.light:visited > .ic-link-open-in-new-icon {\n fill: var(--ic-hyperlink-contrast-visited);\n}\n\n:host(.breadcrumb-link) .ic-link {\n display: var(--breadcrumb-link-display);\n align-items: var(--breadcrumb-link-align-items);\n gap: var(--breadcrumb-link-gap);\n}\n\n:host(.breadcrumb-link) .ic-link ::slotted(.back-icon) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n}\n\n:host(.breadcrumb-link.current-page) a,\n:host(.breadcrumb-link.current-page) ::slotted(a) {\n font-weight: normal;\n color: inherit;\n text-decoration: none;\n display: flex;\n align-items: center;\n}\n\n:host(.breadcrumb-link.current-page) .ic-link,\n:host(.breadcrumb-link.current-page) ::slotted(a:focus) {\n outline: var(--ic-hc-focus-outline);\n text-decoration: none;\n}\n\n:host(.breadcrumb-link.current-page) .ic-link:visited {\n color: var(--ic-color-primary-text);\n}\n","import {\n Component,\n Element,\n Prop,\n h,\n Host,\n Listen,\n Method,\n} from \"@stencil/core\";\n\nimport OpenInNew from \"../../assets/OpenInNew.svg\";\nimport { getThemeFromContext, inheritAttributes } from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\n\n/**\n * @slot router-item - Handle routing by nesting your routes in this slot.\n */\n\n@Component({\n tag: \"ic-link\",\n styleUrl: \"ic-link.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Link {\n private inheritedAttributes: { [k: string]: unknown } = {};\n private routerSlot: HTMLElement;\n\n @Element() el: HTMLIcLinkElement;\n\n /**\n * If `true`, the user can save the linked URL instead of navigating to it.\n */\n @Prop() download?: string | boolean = false;\n\n /**\n * The URL that the link points to.\n */\n @Prop() href?: string = null;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string;\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n /**\n * @deprecated This prop should not be used anymore. The 'open in new tab/window' icon will display automatically if target=\"_blank\".\n */\n @Prop() showIcon?: boolean;\n\n /**\n * The appearance of the link, e.g. dark, light, or default.\n */\n @Prop({ mutable: true }) appearance?: IcThemeForeground = \"default\";\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.updateTheme(theme.mode);\n }\n\n private updateTheme(newTheme: IcThemeForeground = null): void {\n const theme = getThemeFromContext(this.el, newTheme || null);\n\n switch (theme) {\n case IcThemeForegroundEnum.Light:\n this.appearance = IcThemeForegroundEnum.Light;\n break;\n case IcThemeForegroundEnum.Dark:\n this.appearance = IcThemeForegroundEnum.Dark;\n break;\n }\n }\n\n /**\n * Sets focus on the link.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.el.shadowRoot.querySelector(\"a\")) {\n this.el.shadowRoot.querySelector(\"a\").focus();\n }\n }\n\n componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.el, [\n ...IC_INHERITED_ARIA,\n \"aria-expanded\",\n ]);\n\n this.updateTheme();\n }\n\n private hasRouterSlot(): boolean {\n this.routerSlot = this.el.querySelector('[slot=\"router-item\"]');\n if (this.routerSlot) {\n this.routerSlot.ariaLabel = this.routerSlot.textContent;\n }\n return !!this.routerSlot;\n }\n\n render() {\n const {\n download,\n href,\n hreflang,\n referrerpolicy,\n rel,\n target,\n showIcon,\n appearance,\n } = this;\n\n return (\n <Host class={{ [\"link\"]: true, [`${appearance}`]: true }}>\n {this.hasRouterSlot() ? (\n <slot name=\"router-item\"></slot>\n ) : (\n <a\n class={{\n [\"ic-link\"]: href !== null,\n [`${appearance}`]: href !== null,\n }}\n download={download !== false ? download : null}\n href={href}\n hrefLang={hreflang}\n referrerPolicy={referrerpolicy}\n rel={rel}\n target={target}\n tabindex={href !== null ? \"0\" : \"-1\"}\n {...this.inheritedAttributes}\n >\n <slot />\n {(showIcon || target === \"_blank\") && (\n <span class=\"ic-link-open-in-new-icon\" innerHTML={OpenInNew} />\n )}\n </a>\n )}\n </Host>\n );\n }\n}\n"]}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as s,h as t,g as i}from"./p-589f6dd3.js";const e=class{constructor(t){s(this,t);this.pendingVisibility=[]}async setVisible(s){const t=Array.from(document.querySelectorAll("ic-toast")).filter((s=>window.getComputedStyle(s).display!=="none"));if(t.indexOf(s)===-1&&t.length<=0){s.setVisible().then((s=>this.previouslyFocused=s))}if(t.length>0)this.pendingVisibility.push(s)}handleDismissedToast(){var s;if(this.pendingVisibility.length>0){this.pendingVisibility[0].setVisible().then((s=>this.previouslyFocused=s));this.pendingVisibility.shift()}else{if(this.previouslyFocused&&"setFocus"in this.previouslyFocused){this.previouslyFocused.setFocus()}else(s=this.previouslyFocused)===null||s===void 0?void 0:s.focus()}}render(){return t("slot",null)}get el(){return i(this)}};export{e as ic_toast_region};
|
2
|
-
//# sourceMappingURL=p-223a214f.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["src/components/ic-toast-region/ic-toast-region.tsx"],"names":["ToastRegion","[object Object]","hostRef","this","pendingVisibility","toast","visibleToasts","Array","from","document","querySelectorAll","filter","el","window","getComputedStyle","display","indexOf","length","setVisible","then","res","previouslyFocused","push","shift","setFocus","_a","focus","h"],"mappings":"wDAIaA,EAAW,MADxBC,YAAAC,aAKEC,KAAAC,kBAA0C,GAO1CH,iBAAiBI,GACf,MAAMC,EAAgBC,MAAMC,KAC1BC,SAASC,iBAAiB,aAC1BC,QAAQC,GAAOC,OAAOC,iBAAiBF,GAAIG,UAAY,SACzD,GAAIT,EAAcU,QAAQX,MAAY,GAAKC,EAAcW,QAAU,EAAG,CACpEZ,EAAMa,aAAaC,MAAMC,GAASjB,KAAKkB,kBAAoBD,IAE7D,GAAId,EAAcW,OAAS,EAAGd,KAAKC,kBAAkBkB,KAAKjB,GAI5DJ,6BACE,GAAIE,KAAKC,kBAAkBa,OAAS,EAAG,CACrCd,KAAKC,kBAAkB,GACpBc,aACAC,MAAMC,GAASjB,KAAKkB,kBAAoBD,IAC3CjB,KAAKC,kBAAkBmB,YAClB,CACL,GAAIpB,KAAKkB,mBAAqB,aAAclB,KAAKkB,kBAAmB,CACjElB,KAAKkB,kBAA4CG,gBAC7CC,EAAAtB,KAAKkB,qBAAiB,MAAAI,SAAA,OAAA,EAAAA,EAAEC,SAInCzB,SACE,OAAO0B,EAAA,OAAA","sourcesContent":["import { Component, Element, h, Listen, Method } from \"@stencil/core\";\nimport { IcFocusableComponents } from \"../../utils/types\";\n\n@Component({ tag: \"ic-toast-region\" })\nexport class ToastRegion {\n @Element() el: HTMLIcToastRegionElement;\n\n previouslyFocused: HTMLElement;\n pendingVisibility: HTMLIcToastElement[] = [];\n\n /**\n * Handles setting the visibility of various toasts based on what is already visible\n * @param toast The toast element being requested to display\n */\n @Method()\n async setVisible(toast: HTMLIcToastElement) {\n const visibleToasts = Array.from(\n document.querySelectorAll(\"ic-toast\")\n ).filter((el) => window.getComputedStyle(el).display !== \"none\");\n if (visibleToasts.indexOf(toast) === -1 && visibleToasts.length <= 0) {\n toast.setVisible().then((res) => (this.previouslyFocused = res));\n }\n if (visibleToasts.length > 0) this.pendingVisibility.push(toast);\n }\n\n @Listen(\"icDismiss\", { capture: true })\n handleDismissedToast() {\n if (this.pendingVisibility.length > 0) {\n this.pendingVisibility[0]\n .setVisible()\n .then((res) => (this.previouslyFocused = res));\n this.pendingVisibility.shift();\n } else {\n if (this.previouslyFocused && \"setFocus\" in this.previouslyFocused) {\n (this.previouslyFocused as IcFocusableComponents).setFocus();\n } else this.previouslyFocused?.focus();\n }\n }\n\n render() {\n return <slot></slot>;\n }\n}\n"]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["src/components/ic-menu-group/ic-menu-group.css?tag=ic-menu-group&encapsulation=shadow","src/components/ic-menu-group/ic-menu-group.tsx"],"names":["icMenuGroupCss","MenuGroup","[object Object]","parentMenu","this","el","closest","h","Host","aria-label","label","undefined","variant","role","querySelector"],"mappings":"yDAAA,MAAMA,EAAiB,osFCOVC,EAAS,oDAOpBC,SACE,MAAMC,EAAaC,KAAKC,GAAGC,QAAQ,mBAEnC,OACEC,EAACC,EAAI,CAAAC,aAAaL,KAAKM,QAAU,KAAON,KAAKM,MAAQ,IAClDN,KAAKM,QAAUC,WACdJ,EAAA,gBAAA,CAAeK,QAAQ,kBAAkBR,KAAKM,OAEhDH,EAAA,KAAA,CAAIM,KAAK,SACPN,EAAA,OAAA,OAGDH,KAAKC,MAAOF,IAAU,MAAVA,SAAU,OAAA,EAAVA,EAAYW,cAAc,8BACrCP,EAAA,KAAA","sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: flex;\n flex-direction: column;\n}\n\nic-typography {\n color: var(--ic-color-tertiary-text);\n margin: var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\nul {\n list-style-type: none;\n margin: 0;\n padding: 0;\n}\n\nhr {\n display: flex;\n align-self: stretch;\n border: calc(var(--ic-space-xxxs) / 2) solid var(--ic-architectural-300);\n margin: var(--ic-space-xxs) 0 calc(var(--ic-space-sm) / 4);\n}\n","import { Component, Element, Host, h, Prop } from \"@stencil/core\";\n\n@Component({\n tag: \"ic-menu-group\",\n styleUrl: \"ic-menu-group.css\",\n shadow: true,\n})\nexport class MenuGroup {\n @Element() el: HTMLIcMenuGroupElement;\n /**\n * The label to display as the title of the menu group.\n */\n @Prop() label?: string;\n\n render() {\n const parentMenu = this.el.closest(\"ic-popover-menu\");\n\n return (\n <Host aria-label={this.label !== null ? this.label : \"\"}>\n {this.label !== undefined && (\n <ic-typography variant=\"subtitle-small\">{this.label}</ic-typography>\n )}\n <ul role=\"group\">\n <slot></slot>\n </ul>\n {/* The line under the menu group is added on all menu groups except in the case that the menu group is the last item in the popover menu */}\n {this.el !== parentMenu?.querySelector(\"ic-menu-group:last-child\") && (\n <hr />\n )}\n </Host>\n );\n }\n}\n"]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["src/components/ic-typography/ic-typography.css?tag=ic-typography&encapsulation=shadow","src/components/ic-typography/ic-typography.tsx"],"names":["icTypographyCss","Typography","this","resizeObserver","lastWidth","lastMarkerTop","truncatedHeight","focusBtnFromKeyboard","toggleExpanded","expanded","checkMaxLines","height","numLines","Math","floor","maxLines","el","setAttribute","clientHeight","truncated","checkMarkerPosition","elTop","markerTop","getElementTop","getClientRects","top","runResizeObserver","ResizeObserver","clearTimeout","resizeInterval","window","setTimeout","resizeObserverCallback","observe","truncWrapperEl","clientWidth","marker","truncButtonFocus","truncButtonFocussed","truncButtonBlur","truncButtonFocusFromMouse","[object Object]","variant","document","createElement","style","visibility","appendChild","checkResizeObserver","disconnect","applyVerticalMargins","h","Host","class","ref","trunc-btn","focus","onFocus","onBlur","onMouseDown","onClick","aria-hidden"],"mappings":"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","sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n position: relative;\n}\n\n:host(.ic-typography-vertical-margins-h1) {\n margin: 0 0 var(--ic-space-xl);\n}\n\n:host(.ic-typography-vertical-margins-h2) {\n margin: var(--ic-space-xxl) 0 var(--ic-space-lg);\n}\n\n:host(.ic-typography-vertical-margins-h3) {\n margin: var(--ic-space-xl) 0 var(--ic-space-md);\n}\n\n:host(.ic-typography-vertical-margins-h4) {\n margin: var(--ic-space-lg) 0 var(--ic-space-md);\n}\n\n:host(.ic-typography-vertical-margins-subtitle-large),\n:host(.ic-typography-vertical-margins-subtitle-small),\n:host(.ic-typography-vertical-margins-body),\n:host(.ic-typography-vertical-margins-code-large),\n:host(.ic-typography-vertical-margins-code-small),\n:host(.ic-typography-vertical-margins-code-extra-small) {\n margin: 0 0 var(--ic-space-md);\n}\n\n:host(.ic-typography-vertical-margins-caption),\n:host(.ic-typography-vertical-margins-caption-uppercase) {\n margin: 0 0 var(--ic-space-xs);\n}\n\n:host(.ic-typography-vertical-margins-h2:first-child),\n:host(.ic-typography-vertical-margins-h3:first-child),\n:host(.ic-typography-vertical-margins-h4:first-child) {\n margin-top: 0;\n}\n\n:host(.ic-typography-h1) {\n font: var(--ic-font-h1);\n}\n\n:host(.ic-typography-h2) {\n font: var(--ic-font-h2);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-h3) {\n font: var(--ic-font-h3);\n}\n\n:host(.ic-typography-h4) {\n font: var(--ic-font-h4);\n letter-spacing: var(--ic-font-letter-spacing-0pt0015);\n}\n\n:host(.ic-typography-subtitle-large) {\n font: var(--ic-font-subtitle-large);\n letter-spacing: var(--ic-font-letter-spacing-0pt0015);\n}\n\n:host(.ic-typography-subtitle-small) {\n font: var(--ic-font-subtitle-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt0015);\n}\n\n:host(.ic-typography-body) {\n font: var(--ic-font-body);\n letter-spacing: var(--ic-font-letter-spacing-0pt005);\n}\n\n:host(.ic-typography-caption) {\n font: var(--ic-font-caption);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-caption-uppercase) {\n font: var(--ic-font-caption);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n text-transform: uppercase;\n}\n\n:host(.ic-typography-label) {\n font: var(--ic-font-label);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n}\n\n:host(.ic-typography-label-uppercase) {\n font: var(--ic-font-label);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n text-transform: uppercase;\n}\n\n:host(.ic-typography-code-large) {\n font: var(--ic-font-code-large);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n}\n\n:host(.ic-typography-code-small) {\n font: var(--ic-font-code-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt005);\n}\n\n:host(.ic-typography-code-extra-small) {\n font: var(--ic-font-code-extra-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n}\n\n:host(.ic-typography-no-wrap) {\n white-space: nowrap;\n}\n\n:host ::slotted(h1),\n:host ::slotted(h2),\n:host ::slotted(h3),\n:host ::slotted(h4),\n:host ::slotted(h5),\n:host ::slotted(h6),\n:host ::slotted(p),\n:host ::slotted(label) {\n font: inherit;\n letter-spacing: inherit;\n}\n\n.trunc-wrapper {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n line-clamp: var(--truncation-max-lines, initial);\n -webkit-line-clamp: var(--truncation-max-lines, initial);\n overflow: hidden;\n}\n\n.trunc-btn {\n border: none;\n background: none;\n padding: 0;\n color: var(--ic-color-primary-text);\n text-decoration: underline;\n font-weight: var(--ic-font-weight-bold);\n transition: var(--ic-easing-transition-fast);\n}\n\n.trunc-btn:hover,\n.trunc-btn.focus {\n outline: none;\n border-bottom: var(--ic-space-xxs) solid !important;\n margin-bottom: calc(-1 * var(--ic-space-xxs)) !important;\n text-decoration: none;\n cursor: pointer;\n}\n\n@supports (text-decoration-thickness: 25%) {\n .trunc-btn:hover,\n .trunc-btn.focus {\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n border-bottom: 0 !important;\n margin-bottom: 0 !important;\n }\n}\n","import { Component, Prop, h, Element, Host, State, Watch } from \"@stencil/core\";\n\nimport { IcTypographyVariants } from \"../../utils/types\";\nimport { checkResizeObserver } from \"../../utils/helpers\";\n\n@Component({\n styleUrl: \"ic-typography.css\",\n tag: \"ic-typography\",\n shadow: true,\n})\nexport class Typography {\n @Element() el: HTMLIcTypographyElement;\n\n /**\n * The ICDS typography style to use.\n */\n @Prop() variant?: IcTypographyVariants = \"body\";\n\n /**\n * If `true`, appropriate top and bottom margins will be applied to the typography.\n */\n @Prop() applyVerticalMargins?: boolean = false;\n\n /**\n * The number of lines to display before truncating the text, only used for the 'body' variant.\n */\n @Prop() maxLines?: number;\n\n @State() expanded: boolean = false;\n @State() truncated: boolean = false;\n @State() truncButtonFocussed: boolean = false;\n\n private truncWrapperEl: Element;\n private resizeObserver: ResizeObserver = null;\n\n private resizeInterval: number;\n private lastWidth: number = 0;\n private lastMarkerTop: number = 0;\n private truncatedHeight: number = 0;\n private marker: HTMLElement;\n private focusBtnFromKeyboard: boolean = true;\n\n @Watch(\"expanded\")\n watchExpandedHandler(): void {\n this.el.setAttribute(\n \"style\",\n `--truncation-max-lines: ${this.expanded ? \"initial\" : this.maxLines}`\n );\n }\n\n private toggleExpanded = () => {\n this.expanded = !this.expanded;\n };\n\n private checkMaxLines = (height: number) => {\n //24 is the height of a single line\n const numLines = Math.floor(height / 24);\n if (numLines > this.maxLines) {\n this.el.setAttribute(\"style\", `--truncation-max-lines: ${this.maxLines}`);\n this.truncatedHeight = this.el.clientHeight;\n this.truncated = true;\n }\n };\n\n private checkMarkerPosition = (elTop: number, markerTop: number) => {\n if (markerTop - elTop < this.truncatedHeight) {\n this.truncated = false;\n this.expanded = false;\n } else {\n this.truncated = true;\n }\n };\n\n private getElementTop = (el: HTMLElement) => {\n return el.getClientRects ? el.getClientRects()[0].top : 0;\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n clearTimeout(this.resizeInterval);\n this.resizeInterval = window.setTimeout(this.resizeObserverCallback, 50);\n });\n this.resizeObserver.observe(this.truncWrapperEl);\n };\n\n private resizeObserverCallback = () => {\n if (this.lastWidth === this.el.clientWidth) {\n return;\n }\n\n if (this.truncatedHeight === 0) {\n this.checkMaxLines(this.el.clientHeight);\n return;\n }\n\n const markerTop = this.getElementTop(this.marker);\n if (markerTop === this.lastMarkerTop) {\n return;\n }\n\n this.checkMarkerPosition(this.getElementTop(this.el), markerTop);\n this.lastMarkerTop = markerTop;\n this.lastWidth = this.el.clientWidth;\n };\n\n private truncButtonFocus = (): void => {\n if (this.focusBtnFromKeyboard) {\n this.truncButtonFocussed = true;\n }\n };\n\n private truncButtonBlur = (): void => {\n this.focusBtnFromKeyboard = true;\n this.truncButtonFocussed = false;\n };\n\n private truncButtonFocusFromMouse = (): void => {\n this.focusBtnFromKeyboard = false;\n };\n\n componentDidLoad(): void {\n if (this.variant === \"body\" && this.maxLines > 0) {\n const marker = document.createElement(\"span\");\n marker.style.visibility = \"hidden\";\n this.el.appendChild(marker);\n this.marker = marker;\n this.lastWidth = this.el.clientWidth;\n this.checkMaxLines(this.el.clientHeight);\n checkResizeObserver(this.runResizeObserver);\n }\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n\n render() {\n const { variant, applyVerticalMargins, maxLines, truncated, expanded } =\n this;\n\n return (\n <Host\n class={{\n [`ic-typography-${variant}`]: true,\n [`ic-typography-vertical-margins-${variant}`]: applyVerticalMargins,\n }}\n >\n {variant === \"body\" && maxLines > 0 ? (\n <div class=\"trunc-wrapper\" ref={(el) => (this.truncWrapperEl = el)}>\n <slot />\n </div>\n ) : (\n <slot />\n )}\n {variant === \"body\" && maxLines > 0 && truncated && (\n <button\n class={{ \"trunc-btn\": true, focus: this.truncButtonFocussed }}\n onFocus={this.truncButtonFocus}\n onBlur={this.truncButtonBlur}\n onMouseDown={this.truncButtonFocusFromMouse}\n onClick={this.toggleExpanded}\n aria-hidden=\"true\"\n >\n {expanded ? \"See less\" : \"See more\"}\n </button>\n )}\n </Host>\n );\n }\n}\n"]}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as t,c as s,h as i,g as h}from"./p-589f6dd3.js";import{I as e}from"./p-6f57b13c.js";const a=class{constructor(i){t(this,i);this.tabSelect=s(this,"tabSelect",3);this.icTabSelect=s(this,"icTabSelect",3);this.newTabs=[];this.newTabPanels=[];this.linkTabs=()=>{this.tabs.forEach(((t,s)=>{const i=`ic-tab-${s}-context-${this.contextId}`;const h=`ic-tab-panel-${s}-context-${this.contextId}`;const a=`ic-tab--${s}-context-${this.contextId}`;const c="context-id";t.setAttribute("id",i);t.tabId=a;t.tabPosition=s;t.setAttribute("aria-controls",h);t.setAttribute(c,this.contextId);this.tabGroup.setAttribute(c,this.contextId);this.tabPanels[s].setAttribute("id",h);this.tabPanels[s].panelId=a;this.tabPanels[s].tabPosition=s;this.tabPanels[s].setAttribute("aria-labelledby",i);this.tabPanels[s].setAttribute(c,this.contextId);if(this.appearance===e.Light){t.appearance=this.appearance;this.tabPanels[s].appearance=this.appearance}}));if(this.appearance===e.Light){this.tabGroup.appearance=this.appearance}};this.getChildren=()=>{this.tabGroup=this.host.querySelector("ic-tab-group");this.tabs=Array.from(this.tabGroup.querySelectorAll("ic-tab"));this.tabPanels=Array.from(this.host.children).filter((t=>t.tagName==="IC-TAB-PANEL"));this.enabledTabs=this.getEnabledTabs()};this.attatchEventListeners=()=>{if(this.activationType==="automatic"){this.tabGroup.addEventListener("keydown",(t=>{this.handleKeyBoardNavAutomatic(t)}))}else{this.tabGroup.addEventListener("keydown",(t=>{this.handleKeyBoardNavManual(t)}))}};this.setControlledMode=()=>{if(this.selectedTabIndex!==undefined){this.controlledMode=true;this.selectedTab=this.selectedTabIndex}};this.setInitialTab=()=>{if(this.controlledMode){this.selectedTab=this.selectedTabIndex;this.focusedTabIndex=this.selectedTabIndex}else{const t=this.tabs.findIndex((t=>t.tabId===this.enabledTabs[0].tabId));this.selectedTab=t;this.focusedTabIndex=t}};this.configureTabs=()=>{this.enabledTabs.forEach((t=>{t.selected=t.tabPosition===this.selectedTab}));this.tabPanels.forEach((t=>{t.selectedTab=this.tabs[this.selectedTab].tabId}))};this.getEnabledTabs=()=>Array.from(this.tabs).filter((t=>!t.disabled));this.getIndexOfEnabledTab=t=>this.enabledTabs.findIndex((s=>s.tabId===this.tabs[t].tabId));this.keyboardSelectTab=t=>{const s=this.tabs.findIndex((s=>s.tabId===this.enabledTabs[t].tabId));this.enabledTabs[t].focus();if(!this.controlledMode){this.selectedTab=s}else{this.icTabSelect.emit({tabIndex:s});this.tabSelect.emit({tabIndex:s})}};this.keyboardFocusTab=t=>{const s=this.tabs.findIndex((s=>s.tabId===this.enabledTabs[t].tabId));this.enabledTabs[t].focus();this.focusedTabIndex=s};this.handleKeyBoardNavAutomatic=t=>{const s=t.key;const i=this.getIndexOfEnabledTab(this.selectedTab);let h=true;switch(s){case"Home":this.keyboardSelectTab(0);break;case"End":this.keyboardSelectTab(this.enabledTabs.length-1);break;case"ArrowRight":if(i<this.enabledTabs.length-1){this.keyboardSelectTab(i+1)}else{this.keyboardSelectTab(0)}break;case"ArrowLeft":if(i>0){this.keyboardSelectTab(i-1)}else{this.keyboardSelectTab(this.enabledTabs.length-1)}break;default:h=false}if(h)t.preventDefault()};this.handleKeyBoardNavManual=t=>{const s=t.key;const i=this.getIndexOfEnabledTab(this.focusedTabIndex);let h=true;switch(s){case"Home":this.keyboardFocusTab(0);break;case"End":this.keyboardFocusTab(this.enabledTabs.length-1);break;case"ArrowRight":if(i<this.enabledTabs.length-1){this.keyboardFocusTab(i+1)}else{this.keyboardFocusTab(0)}break;case"ArrowLeft":if(i>0){this.keyboardFocusTab(i-1)}else{this.keyboardFocusTab(this.enabledTabs.length-1)}break;case"Enter":this.keyboardSelectTab(this.focusedTabIndex);break;case" ":this.keyboardSelectTab(this.focusedTabIndex);break;default:h=false}if(h)t.preventDefault()};this.contextId="default";this.activationType="automatic";this.selectedTabIndex=undefined;this.appearance="dark";this.selectedTab=undefined}updateSelectedTab(t){this.selectedTab=t}tabClickHandler(t){if(this.selectedTabIndex===undefined&&t.detail.contextId===this.contextId){this.selectedTab=t.detail.position}this.icTabSelect.emit({tabIndex:t.detail.position});this.tabSelect.emit({tabIndex:t.detail.position});t.stopImmediatePropagation()}tabCreatedHandler(t){if(this.tabs&&this.tabPanels){(t.detail.setFocus?this.newTabs:this.newTabPanels).push(t.detail);if(this.newTabs.length===this.newTabPanels.length){this.tabs.push(...this.newTabs);this.tabPanels.push(...this.newTabPanels);this.enabledTabs=this.getEnabledTabs();this.linkTabs();this.newTabs=[];this.newTabPanels=[]}}}async tabRemovedHandler(t){this.getChildren();this.enabledTabs=this.getEnabledTabs();this.linkTabs();if(this.tabs[this.selectedTab]&&this.tabPanels[this.selectedTab]){this.tabs[this.selectedTab].selected=true;this.tabPanels[this.selectedTab].selectedTab=this.tabs[this.selectedTab].tabId}else{this.setInitialTab()}if(t){this.tabs[this.selectedTab].setFocus()}}componentDidLoad(){this.setControlledMode();this.getChildren();this.linkTabs();this.attatchEventListeners();this.setInitialTab();this.configureTabs()}componentWillUpdate(){this.configureTabs()}disconnectedCallback(){if(this.activationType==="manual"){this.tabGroup.removeEventListener("keydown",(t=>this.handleKeyBoardNavManual(t)))}else{this.tabGroup.removeEventListener("keydown",(t=>this.handleKeyBoardNavAutomatic(t)))}}render(){return i("slot",null)}get host(){return h(this)}static get watchers(){return{selectedTabIndex:["updateSelectedTab"]}}};export{a as ic_tab_context};
|
2
|
-
//# sourceMappingURL=p-2e63f202.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["src/components/ic-tab-context/ic-tab-context.tsx"],"names":["TabContext","this","newTabs","newTabPanels","linkTabs","tabs","forEach","tab","index","tabId","contextId","tabPanelId","shared","contextIdAttr","setAttribute","tabPosition","tabGroup","tabPanels","panelId","appearance","IcThemeForegroundEnum","Light","getChildren","host","querySelector","Array","from","querySelectorAll","children","filter","child","tagName","enabledTabs","getEnabledTabs","attatchEventListeners","activationType","addEventListener","event","handleKeyBoardNavAutomatic","handleKeyBoardNavManual","setControlledMode","selectedTabIndex","undefined","controlledMode","selectedTab","setInitialTab","focusedTabIndex","firstEnabledTabIndex","findIndex","configureTabs","selected","tabPanel","disabled","getIndexOfEnabledTab","allTabsIndex","keyboardSelectTab","enabledTabIndex","newIndex","focus","icTabSelect","emit","tabIndex","tabSelect","keyboardFocusTab","key","preventDefault","length","[object Object]","newValue","detail","position","stopImmediatePropagation","ev","setFocus","push","hadFocus","removeEventListener","h"],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Listen,\n Prop,\n State,\n h,\n Watch,\n Method,\n} from \"@stencil/core\";\nimport {\n IcActivationTypes,\n IcThemeForegroundNoDefault,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\n\nimport {\n IcTabClickEventDetail,\n IcTabSelectEventDetail,\n} from \"../ic-tab/ic-tab.types\";\n\n@Component({\n tag: \"ic-tab-context\",\n})\nexport class TabContext {\n private controlledMode: boolean;\n private tabs: HTMLIcTabElement[];\n private enabledTabs: HTMLIcTabElement[];\n private tabPanels: HTMLIcTabPanelElement[];\n private tabGroup: HTMLIcTabGroupElement;\n private focusedTabIndex: number;\n private newTabs: HTMLIcTabElement[] = [];\n private newTabPanels: HTMLIcTabPanelElement[] = [];\n\n @Element() host: HTMLIcTabContextElement;\n\n /**\n * The unique context needed if using multiple tabs inside one another i.e. rendering another set of tabs inside a tab panel.\n */\n @Prop({ reflect: true }) contextId?: string = \"default\";\n\n /**\n * Determines whether tabs have to be manually activated (by pressing 'Enter' or 'Space') when they receive focus using keyboard navigation.\n */\n @Prop() activationType?: IcActivationTypes = \"automatic\";\n\n /**\n * The selected tab to be controlled by the user. Must be used alongside the icTabSelect event to manage tab selection.\n */\n @Prop() selectedTabIndex?: number;\n\n /**\n * The appearance of the tab context, e.g dark, or light.\n */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"dark\";\n\n @State() selectedTab: number | null;\n\n @Watch(\"selectedTabIndex\")\n updateSelectedTab(newValue: number): void {\n this.selectedTab = newValue;\n }\n\n /**\n * @deprecated This event should not be used anymore. Use icTabSelect instead.\n */\n @Event({ bubbles: false }) tabSelect: EventEmitter<IcTabSelectEventDetail>;\n\n /**\n * Emitted when a user selects a tab.\n */\n @Event({ bubbles: false }) icTabSelect: EventEmitter<IcTabSelectEventDetail>;\n\n @Listen(\"tabClick\")\n tabClickHandler(event: CustomEvent<IcTabClickEventDetail>): void {\n if (\n this.selectedTabIndex === undefined &&\n event.detail.contextId === this.contextId\n ) {\n this.selectedTab = event.detail.position;\n }\n this.icTabSelect.emit({\n tabIndex: event.detail.position,\n });\n this.tabSelect.emit({\n tabIndex: event.detail.position,\n });\n event.stopImmediatePropagation();\n }\n\n @Listen(\"tabCreated\")\n @Listen(\"tabPanelCreated\")\n tabCreatedHandler(ev: CustomEvent) {\n if (this.tabs && this.tabPanels) {\n (ev.detail.setFocus ? this.newTabs : this.newTabPanels).push(ev.detail);\n if (this.newTabs.length === this.newTabPanels.length) {\n this.tabs.push(...this.newTabs);\n this.tabPanels.push(...this.newTabPanels);\n this.enabledTabs = this.getEnabledTabs();\n this.linkTabs();\n this.newTabs = [];\n this.newTabPanels = [];\n }\n }\n }\n\n /**\n * @internal Used to set tab/tab panel IDs when a tab/tab panel has been removed\n */\n @Method()\n async tabRemovedHandler(hadFocus?: boolean) {\n this.getChildren();\n this.enabledTabs = this.getEnabledTabs();\n this.linkTabs();\n if (this.tabs[this.selectedTab] && this.tabPanels[this.selectedTab]) {\n this.tabs[this.selectedTab].selected = true;\n this.tabPanels[this.selectedTab].selectedTab =\n this.tabs[this.selectedTab].tabId;\n } else {\n this.setInitialTab();\n }\n\n if (hadFocus) {\n this.tabs[this.selectedTab].setFocus();\n }\n }\n\n // Sets attributes to link tab-group, tabs and tab-panels\n private linkTabs = () => {\n this.tabs.forEach((tab, index) => {\n const tabId = `ic-tab-${index}-context-${this.contextId}`;\n const tabPanelId = `ic-tab-panel-${index}-context-${this.contextId}`;\n const shared = `ic-tab--${index}-context-${this.contextId}`;\n const contextIdAttr = \"context-id\";\n tab.setAttribute(\"id\", tabId);\n tab.tabId = shared;\n tab.tabPosition = index;\n tab.setAttribute(\"aria-controls\", tabPanelId);\n tab.setAttribute(contextIdAttr, this.contextId);\n this.tabGroup.setAttribute(contextIdAttr, this.contextId);\n this.tabPanels[index].setAttribute(\"id\", tabPanelId);\n this.tabPanels[index].panelId = shared;\n this.tabPanels[index].tabPosition = index;\n this.tabPanels[index].setAttribute(\"aria-labelledby\", tabId);\n this.tabPanels[index].setAttribute(contextIdAttr, this.contextId);\n\n if (this.appearance === IcThemeForegroundEnum.Light) {\n tab.appearance = this.appearance;\n this.tabPanels[index].appearance = this.appearance;\n }\n });\n\n if (this.appearance === IcThemeForegroundEnum.Light) {\n this.tabGroup.appearance = this.appearance;\n }\n };\n\n // Gets tabs and tabpanels with the same context ID\n // Using querySelector to selector the children in relation to the host\n private getChildren = (): void => {\n this.tabGroup = this.host.querySelector(\"ic-tab-group\");\n this.tabs = Array.from(this.tabGroup.querySelectorAll(\"ic-tab\"));\n this.tabPanels = Array.from(this.host.children).filter(\n (child) => child.tagName === \"IC-TAB-PANEL\"\n ) as HTMLIcTabPanelElement[];\n this.enabledTabs = this.getEnabledTabs();\n };\n\n // Determines how keyboard navigation is to be handled based on the activation type\n private attatchEventListeners = (): void => {\n if (this.activationType === \"automatic\") {\n this.tabGroup.addEventListener(\"keydown\", (event) => {\n this.handleKeyBoardNavAutomatic(event);\n });\n } else {\n this.tabGroup.addEventListener(\"keydown\", (event) => {\n this.handleKeyBoardNavManual(event);\n });\n }\n };\n\n // Determines whether the selected tab is being controlled within the component\n // or by the user (via selectedTabIndex and onIcTabSelect)\n private setControlledMode = (): void => {\n if (this.selectedTabIndex !== undefined) {\n this.controlledMode = true;\n this.selectedTab = this.selectedTabIndex;\n }\n };\n\n // Sets the tab that is selected on initial render\n private setInitialTab = (): void => {\n if (this.controlledMode) {\n this.selectedTab = this.selectedTabIndex;\n this.focusedTabIndex = this.selectedTabIndex;\n } else {\n const firstEnabledTabIndex = this.tabs.findIndex(\n (tab) => tab.tabId === this.enabledTabs[0].tabId\n );\n this.selectedTab = firstEnabledTabIndex;\n this.focusedTabIndex = firstEnabledTabIndex;\n }\n };\n\n // Passes the selected tab to the tab and tab panel components\n private configureTabs = () => {\n this.enabledTabs.forEach((tab) => {\n tab.selected = tab.tabPosition === this.selectedTab;\n });\n this.tabPanels.forEach((tabPanel) => {\n tabPanel.selectedTab = this.tabs[this.selectedTab].tabId;\n });\n };\n\n private getEnabledTabs = () => {\n return Array.from(this.tabs).filter((child) => !child.disabled);\n };\n\n private getIndexOfEnabledTab = (allTabsIndex: number) => {\n return this.enabledTabs.findIndex(\n (tab) => tab.tabId === this.tabs[allTabsIndex].tabId\n );\n };\n\n // Sets focus on tab and selects it\n private keyboardSelectTab = (enabledTabIndex: number) => {\n const newIndex = this.tabs.findIndex(\n (tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId\n );\n this.enabledTabs[enabledTabIndex].focus();\n if (!this.controlledMode) {\n this.selectedTab = newIndex;\n } else {\n this.icTabSelect.emit({ tabIndex: newIndex });\n this.tabSelect.emit({ tabIndex: newIndex });\n }\n };\n\n // Sets focus on tab without selecting it (for manual activation)\n private keyboardFocusTab = (enabledTabIndex: number) => {\n const newIndex = this.tabs.findIndex(\n (tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId\n );\n this.enabledTabs[enabledTabIndex].focus();\n this.focusedTabIndex = newIndex;\n };\n\n private handleKeyBoardNavAutomatic = (event: KeyboardEvent) => {\n const key = event.key;\n const enabledTabIndex = this.getIndexOfEnabledTab(this.selectedTab);\n let preventDefault = true;\n switch (key) {\n case \"Home\":\n this.keyboardSelectTab(0);\n break;\n case \"End\":\n this.keyboardSelectTab(this.enabledTabs.length - 1);\n break;\n case \"ArrowRight\":\n if (enabledTabIndex < this.enabledTabs.length - 1) {\n this.keyboardSelectTab(enabledTabIndex + 1);\n } else {\n this.keyboardSelectTab(0);\n }\n break;\n case \"ArrowLeft\":\n if (enabledTabIndex > 0) {\n this.keyboardSelectTab(enabledTabIndex - 1);\n } else {\n this.keyboardSelectTab(this.enabledTabs.length - 1);\n }\n break;\n default:\n preventDefault = false;\n }\n if (preventDefault) event.preventDefault();\n };\n\n private handleKeyBoardNavManual = (event: KeyboardEvent) => {\n const key = event.key;\n const enabledTabIndex = this.getIndexOfEnabledTab(this.focusedTabIndex);\n let preventDefault = true;\n switch (key) {\n case \"Home\":\n this.keyboardFocusTab(0);\n break;\n case \"End\":\n this.keyboardFocusTab(this.enabledTabs.length - 1);\n break;\n case \"ArrowRight\":\n if (enabledTabIndex < this.enabledTabs.length - 1) {\n this.keyboardFocusTab(enabledTabIndex + 1);\n } else {\n this.keyboardFocusTab(0);\n }\n break;\n case \"ArrowLeft\":\n if (enabledTabIndex > 0) {\n this.keyboardFocusTab(enabledTabIndex - 1);\n } else {\n this.keyboardFocusTab(this.enabledTabs.length - 1);\n }\n break;\n case \"Enter\":\n this.keyboardSelectTab(this.focusedTabIndex);\n break;\n case \" \":\n this.keyboardSelectTab(this.focusedTabIndex);\n break;\n default:\n preventDefault = false;\n }\n if (preventDefault) event.preventDefault();\n };\n\n componentDidLoad(): void {\n this.setControlledMode();\n this.getChildren();\n this.linkTabs();\n this.attatchEventListeners();\n this.setInitialTab();\n this.configureTabs();\n }\n\n componentWillUpdate(): void {\n this.configureTabs();\n }\n\n disconnectedCallback(): void {\n if (this.activationType === \"manual\") {\n this.tabGroup.removeEventListener(\"keydown\", (event) =>\n this.handleKeyBoardNavManual(event)\n );\n } else {\n this.tabGroup.removeEventListener(\"keydown\", (event) =>\n this.handleKeyBoardNavAutomatic(event)\n );\n }\n }\n\n render() {\n return <slot></slot>;\n }\n}\n"]}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as t,c as e,h as i,H as s,g as a}from"./p-589f6dd3.js";import{a as n}from"./p-6f57b13c.js";import{J as o,m as r,d as l,a as h,r as c,h as d,e as u,i as p,K as m,n as b}from"./p-471820e6.js";const f='/*! 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(.fullwidth){width:100%}::-moz-placeholder{color:var(--ic-color-tertiary-text);opacity:1}::placeholder{color:var(--ic-color-tertiary-text);opacity:1}input,textarea{border:0;border-radius:var(--ic-border-radius);background-color:var(--ic-architectural-white);line-height:1.5rem;letter-spacing:0.005rem;width:100%;padding-right:var(--ic-space-xs);padding-left:var(--ic-space-xs)}textarea{min-height:var(--ic-space-lg);resize:vertical;padding-top:0.375rem}input:focus,textarea:focus{border:0;outline:0}input:disabled,textarea:disabled{color:var(--ic-architectural-200)}input.readonly,textarea.readonly{color:var(--ic-color-primary-text)}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type="number"]{-moz-appearance:textfield}textarea.no-resize{resize:none}.maxlengthtext{color:var(--ic-color-secondary-text)}.error{color:var(--ic-status-error)}.disabled{color:var(--ic-architectural-200)}.no-left-pad{padding-left:0}::slotted([slot="icon"]){fill:var(--ic-color-tertiary-text)}.has-value ::slotted([slot="icon"]){fill:var(--ic-color-primary-text)}.charcount{margin-right:calc(-1 * var(--ic-space-xxxs))}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-results-button,input[type="search"]::-webkit-search-results-decoration{display:none}input[type="search"].truncate-value{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media (forced-colors: active){input.readonly,textarea.readonly{color:canvastext}.has-value ::slotted([slot="icon"]){fill:currentcolor}}';let y=0;const v=class{constructor(i){t(this,i);this.icKeydown=e(this,"icKeydown",7);this.icInput=e(this,"icInput",7);this.icBlur=e(this,"icBlur",7);this.icFocus=e(this,"icFocus",7);this.icChange=e(this,"icChange",7);this.getValidationText=e(this,"getValidationText",7);this.inheritedAttributes={};this.showLeftIcon=this.hasLeftIconSlot();this.onInput=t=>{this.value=t.target.value;this.icInput.emit({value:this.value})};this.onBlur=t=>{const e=t.target.value;this.icBlur.emit({value:e})};this.onFocus=t=>{const e=t.target.value;this.icFocus.emit({value:e})};this.isTextArea=()=>this.rows>1;this.getInlineValidationText=()=>{this.getValidationText.emit({value:this.validationText})};this.hasStatus=t=>t!==""&&!this.disabled;this.showStatusText=t=>this.hasStatus(t)&&!(t==n.Success&&this.validationInline)&&!this.validationInlineInternal;this.handleFormReset=()=>{this.value=this.initialValue};this.inputId=`ic-text-field-input-${y++}`;this.label=undefined;this.required=false;this.disabled=false;this.readonly=false;this.placeholder="";this.fullWidth=false;this.hideLabel=false;this.helperText="";this.rows=1;this.resize=false;this.small=false;this.value="";this.min=undefined;this.max=undefined;this.maxLength=0;this.validationStatus="";this.validationText="";this.validationInline=false;this.validationInlineInternal=false;this.autocapitalize="off";this.autocomplete="off";this.autocorrect="off";this.autoFocus=false;this.debounce=0;this.type="text";this.inputmode="text";this.name=this.inputId;this.spellcheck=false;this.ariaActiveDescendant=undefined;this.truncateValue=undefined;this.ariaExpanded=undefined;this.ariaOwns=undefined;this.ariaAutocomplete=undefined;this.role=undefined;this.hiddenInput=true;this.numChars=0;this.maxLengthExceeded=false;this.minValueUnattained=false;this.maxValueExceeded=false;this.initialValue=this.value}debounceChanged(){this.icChange=o(this.icChange,this.debounce)}watchValueHandler(t){if(this.inputEl&&this.inputEl.value!==t){this.inputEl.value=t}this.numChars=t.length;if(this.type==="number"){if(t&&Number(t)<Number(this.min)){this.minValueUnattained=true}else{this.minValueUnattained=false}if(Number(t)>Number(this.max)){this.maxValueExceeded=true}else{this.maxValueExceeded=false}}if(this.maxLength>0){if(t.length>this.maxLength){this.maxLengthExceeded=true}else{this.maxLengthExceeded=false}}this.icChange.emit({value:t})}async setFocus(){if(this.inputEl){this.inputEl.focus()}}handleKeyDown(t){this.icKeydown.emit({event:t});t.cancelBubble=true}hasLeftIconSlot(){const t=this.el.querySelector(`[slot="icon"]`);return t!==null}connectedCallback(){this.debounceChanged()}componentWillLoad(){this.watchValueHandler(this.value);this.inheritedAttributes=r(this.el,[...b,"title","aria-autocomplete","aria-haspopup"]);if(this.readonly){this.maxLengthExceeded=false;this.maxValueExceeded=false;this.minValueUnattained=false}l(this.el,this.handleFormReset)}componentDidLoad(){h([{prop:this.label,propName:"label"}],"Text Field");if(this.validationInlineInternal){this.getInlineValidationText()}}disconnectedCallback(){c(this.el,this.handleFormReset)}render(){const{inputId:t,name:e,label:a,required:o,small:r,placeholder:l,helperText:h,rows:c,resize:b,disabled:f,value:y,min:v,max:x,maxLength:g,numChars:w,readonly:k,maxLengthExceeded:z,minValueUnattained:I,maxValueExceeded:F,validationStatus:L,validationText:j,validationInline:T,validationInlineInternal:q,spellcheck:C,inputmode:V,fullWidth:M,truncateValue:N,hiddenInput:B}=this;const W=k?true:f;const $=f?"":l;const H=z||F||I?n.Error:L;const K=z?"Maximum length exceeded":F?`Maximum value of ${x} exceeded`:I?`Minimum value of ${v} not met`:j;const S=k?0:g;const D=z||F||I||g===0&&H===n.Error?"assertive":"polite";const E=this.showStatusText(H);const O=this.isTextArea();const _=g>0?t+"-charcount-desc":"";const J=(_+" "+d(t,h!=="",E)).trim();if(this.showLeftIcon&&!k&&W){this.showLeftIcon=false}const U=H===n.Error?"true":"false";const A=W&&!k;if(B){u(true,this.el,e,y,W)}return i(s,{class:{["fullwidth"]:M}},i("ic-input-container",{readonly:k,disabled:W},!this.hideLabel&&i("ic-input-label",{for:t,label:a,helperText:h,required:o,disabled:A,readonly:k}),i("ic-input-component-container",{small:r,validationStatus:H,multiLine:O,disabled:W,readonly:k,validationInline:T,fullWidth:M},this.showLeftIcon&&i("span",{class:{["readonly"]:k,["has-value"]:y.length>0},slot:"left-icon"},i("slot",{name:"icon"})),!O&&i("input",Object.assign({id:t,name:e,ref:t=>this.inputEl=t,type:this.type,min:v,max:x,value:y,class:{["no-left-pad"]:!this.showLeftIcon&&k,["readonly"]:k,["truncate-value"]:N},placeholder:$,required:o,disabled:W,readonly:k,onInput:this.onInput,onBlur:this.onBlur,onFocus:this.onFocus,"aria-label":a,"aria-describedby":J,"aria-invalid":U,"aria-activedescendant":this.ariaActiveDescendant,"aria-expanded":this.ariaExpanded,"aria-owns":this.ariaOwns,autocomplete:this.autocomplete,autocapitalize:this.autocapitalize,autoFocus:this.autoFocus,spellcheck:C,inputmode:V,role:this.role},this.inheritedAttributes)),O&&i("textarea",Object.assign({id:t,class:{["no-resize"]:b===false||k,["no-left-pad"]:!this.showLeftIcon&&k,["readonly"]:k},name:e,ref:t=>this.inputEl=t,value:y,rows:c,required:o,disabled:W,placeholder:$,readonly:k,onInput:this.onInput,onBlur:this.onBlur,onFocus:this.onFocus,"aria-label":a,"aria-describedby":J,"aria-invalid":U,autocapitalize:this.autocapitalize,autoFocus:this.autoFocus,spellcheck:C,inputmode:V},this.inheritedAttributes)),p(this.el,"clear-button")&&i("slot",{name:"clear-button"}),p(this.el,"search-submit-button")&&i("slot",{name:"search-submit-button"})),p(this.el,"menu")&&i("slot",{name:"menu"}),(!m(L)||!m(j)||S>0||F||I)&&!q&&i("ic-input-validation",{status:this.hasStatus(H)===false||H===n.Success&&T||q?"":H,message:E?K:"",ariaLiveMode:D,for:t,fullWidth:M},!k&&S>0&&i("div",{slot:"validation-message-adornment"},i("ic-typography",{variant:"caption",class:{["maxlengthtext"]:true,["error"]:z,["disabled"]:A}},i("span",{"aria-live":"polite",id:`${t}-charcount`,class:"charcount"},w,"/",S),i("span",{hidden:true,id:_},"Field can contain a maximum of ",S," characters."))))))}get el(){return a(this)}static get watchers(){return{debounce:["debounceChanged"],value:["watchValueHandler"]}}};v.style=f;export{v as ic_text_field};
|
2
|
-
//# sourceMappingURL=p-2e6ea6d3.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["src/components/ic-text-field/ic-text-field.css?tag=ic-text-field&encapsulation=shadow","src/components/ic-text-field/ic-text-field.tsx"],"names":["icTextFieldCss","inputIds","TextField","this","inheritedAttributes","showLeftIcon","hasLeftIconSlot","onInput","ev","value","target","icInput","emit","onBlur","icBlur","onFocus","icFocus","isTextArea","rows","getInlineValidationText","getValidationText","validationText","hasStatus","status","disabled","showStatusText","IcInformationStatus","Success","validationInline","validationInlineInternal","handleFormReset","initialValue","undefined","inputId","[object Object]","icChange","debounceEvent","debounce","newValue","inputEl","numChars","length","type","Number","min","minValueUnattained","max","maxValueExceeded","maxLength","maxLengthExceeded","focus","icKeydown","event","cancelBubble","iconEl","el","querySelector","debounceChanged","watchValueHandler","inheritAttributes","IC_INHERITED_ARIA","readonly","addFormResetListener","onComponentRequiredPropUndefined","prop","label","propName","removeFormResetListener","name","required","small","placeholder","helperText","resize","validationStatus","spellcheck","inputmode","fullWidth","truncateValue","hiddenInput","disabledMode","placeholderText","currentStatus","Error","currentValidationText","maxNumChars","messageAriaLive","multiline","hiddenCharCountDescId","describedBy","getInputDescribedByText","trim","invalid","disabledText","renderHiddenInput","h","Host","class","hideLabel","for","multiLine","slot","Object","assign","id","ref","aria-label","aria-describedby","aria-invalid","aria-activedescendant","ariaActiveDescendant","aria-expanded","ariaExpanded","aria-owns","ariaOwns","autocomplete","autocapitalize","autoFocus","role","isSlotUsed","isEmptyString","message","ariaLiveMode","variant","aria-live","hidden"],"mappings":"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","sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n /**\n * @prop --input-width: Width of the input field\n */\n display: block;\n}\n\n:host(.fullwidth) {\n width: 100%;\n}\n\n::placeholder {\n color: var(--ic-color-tertiary-text);\n opacity: 1;\n}\n\ninput,\ntextarea {\n border: 0;\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-architectural-white);\n line-height: 1.5rem;\n letter-spacing: 0.005rem;\n width: 100%;\n padding-right: var(--ic-space-xs);\n padding-left: var(--ic-space-xs);\n}\n\ntextarea {\n min-height: var(--ic-space-lg);\n resize: vertical;\n padding-top: 0.375rem;\n}\n\ninput:focus,\ntextarea:focus {\n border: 0;\n outline: 0;\n}\n\ninput:disabled,\ntextarea:disabled {\n color: var(--ic-architectural-200);\n}\n\ninput.readonly,\ntextarea.readonly {\n color: var(--ic-color-primary-text);\n}\n\n/* Chrome, Safari, Edge */\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n -webkit-appearance: none;\n margin: 0;\n}\n\n/* Firefox */\ninput[type=\"number\"] {\n -moz-appearance: textfield;\n}\n\ntextarea.no-resize {\n resize: none;\n}\n\n.maxlengthtext {\n color: var(--ic-color-secondary-text);\n}\n\n.error {\n color: var(--ic-status-error);\n}\n\n.disabled {\n color: var(--ic-architectural-200);\n}\n\n.no-left-pad {\n padding-left: 0;\n}\n\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-color-tertiary-text);\n}\n\n.has-value ::slotted([slot=\"icon\"]) {\n fill: var(--ic-color-primary-text);\n}\n\n.charcount {\n margin-right: calc(-1 * var(--ic-space-xxxs));\n}\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration,\ninput[type=\"search\"]::-webkit-search-results-button,\ninput[type=\"search\"]::-webkit-search-results-decoration {\n display: none;\n}\n\ninput[type=\"search\"].truncate-value {\n width: 100%;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n@media (forced-colors: active) {\n input.readonly,\n textarea.readonly {\n color: canvastext;\n }\n\n .has-value ::slotted([slot=\"icon\"]) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Prop,\n State,\n Watch,\n Method,\n h,\n} from \"@stencil/core\";\n\nimport {\n IcAutocompleteTypes,\n IcAutocorrectStates,\n IcInformationStatusOrEmpty,\n IcValueEventDetail,\n} from \"../../interface\";\nimport { IcInformationStatus } from \"../../utils/types\";\nimport {\n inheritAttributes,\n debounceEvent,\n getInputDescribedByText,\n renderHiddenInput,\n isEmptyString,\n onComponentRequiredPropUndefined,\n addFormResetListener,\n removeFormResetListener,\n isSlotUsed,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcAriaAutocompleteTypes,\n IcTextFieldInputModes,\n IcTextFieldTypes,\n} from \"./ic-text-field.types\";\n\nlet inputIds = 0;\n\n/**\n * @slot icon - Content will be placed to the left of the text input.\n */\n@Component({\n tag: \"ic-text-field\",\n styleUrl: \"ic-text-field.css\",\n shadow: true,\n})\nexport class TextField {\n @Element() el: HTMLIcTextFieldElement;\n\n private inputEl: HTMLInputElement | HTMLTextAreaElement;\n private inheritedAttributes: { [k: string]: unknown } = {};\n\n /**\n * @slot clear-button - an ic-button clear component will render as an end adornment to the input.\n * @slot search-submit-button - an ic-button search submit component will render as an end adornment to the input.\n * @slot menu - an ic-menu component will appear below the input.\n */\n\n /**\n * The ID for the input.\n */\n @Prop() inputId?: string = `ic-text-field-input-${inputIds++}`;\n\n /**\n * The label for the input.\n */\n @Prop() label!: string;\n\n /**\n * If `true`, the input will require a value.\n */\n @Prop() required: boolean = false;\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * If `true`, the read only state will be set.\n */\n @Prop({ reflect: true }) readonly: boolean = false;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder: string = \"\";\n\n /**\n * Specify whether the text field fills the full width of the container.\n * If `true`, this overrides the --input-width CSS variable.\n */\n @Prop() fullWidth: boolean = false;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText: string = \"\";\n\n /**\n * The number of rows to transform the text field into a text area with a specific height.\n */\n @Prop() rows: number = 1;\n\n /**\n * If `true`, the multiline text area will be resizeable.\n */\n @Prop() resize: boolean = false;\n\n /**\n * If `true`, the small styling will be applied to the text field.\n */\n @Prop({ reflect: true }) small: boolean = false;\n\n /**\n * The value of the text field.\n */\n @Prop({ reflect: true, mutable: true }) value: string = \"\";\n\n /**\n * The minimum number that can be accepted as a value, when `type` is `number` and `rows` is `1`. (NOTE: Ensure to include visual indication of min value in `helperText` or `label`)\n */\n @Prop() min: string | number = undefined;\n\n /**\n * The maximum number that can be accepted as a value, when `type` is `number` and `rows` is `1`. (NOTE: Ensure to include visual indication of max value in `helperText` or `label`)\n */\n @Prop() max: string | number = undefined;\n\n /**\n * The maximum number of characters that can be entered in the field.\n */\n @Prop() maxLength: number = 0;\n\n /**\n * The validation state - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The validation state - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationText: string = \"\";\n\n /**\n * If `true`, the icon in input control will be displayed - only applies when validationStatus ='success'.\n */\n @Prop() validationInline: boolean = false;\n\n /**\n * @internal If `true`, the validation will display inline.\n */\n @Prop() validationInlineInternal: boolean = false;\n\n /**\n * The automatic capitalisation of the text value as it is entered/edited by the user.\n * Available options: \"off\", \"none\", \"on\", \"sentences\", \"words\", \"characters\".\n */\n @Prop() autocapitalize = \"off\";\n\n /**\n * The state of autocompletion the browser can apply on the text value.\n */\n @Prop() autocomplete: IcAutocompleteTypes = \"off\";\n\n /**\n * The state of autocorrection the browser can apply when the user is entering/editing the text value.\n */\n @Prop() autocorrect: IcAutocorrectStates = \"off\";\n\n /**\n * If `true`, the form control will have input focus when the page loads.\n */\n @Prop() autoFocus = false;\n\n /**\n * The amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce: number = 0;\n\n private showLeftIcon: boolean = this.hasLeftIconSlot();\n\n @Watch(\"debounce\")\n private debounceChanged() {\n this.icChange = debounceEvent(this.icChange, this.debounce);\n }\n\n /**\n * The type of control to display. The default type is text.\n */\n @Prop() type: IcTextFieldTypes = \"text\";\n\n /**\n * A hint to the browser for which keyboard to display.\n * Possible values: `\"none\"`, `\"text\"`, `\"tel\"`, `\"url\"`,\n * `\"email\"`, `\"numeric\"`, `\"decimal\"`, and `\"search\"`.\n */\n @Prop() inputmode: IcTextFieldInputModes = \"text\";\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name: string = this.inputId;\n\n /**\n * If `true`, the value of the text field will have its spelling and grammar checked.\n */\n @Prop() spellcheck: boolean = false;\n\n /**\n * @internal The active element when focus is on the ic-menu items.\n */\n @Prop() ariaActiveDescendant?: string;\n /**\n * @internal If `true`, an ellipsis will be displayed at the end of the value if the value is longer than the container.\n */\n @Prop() truncateValue?: boolean;\n\n /**\n * @internal Used to identify if the slotted menu is rendered\n */\n @Prop() ariaExpanded: string;\n\n /**\n * @internal Used to identify any related child component\n */\n @Prop() ariaOwns: string;\n\n /**\n * @internal Used to identify whether inputting any text triggers more predictions\n */\n @Prop() ariaAutocomplete: IcAriaAutocompleteTypes = undefined;\n\n /**\n * @internal Used to set the role if not default textbox;\n */\n @Prop() role: string;\n\n /**\n * @internal If `true`, the hidden form input will stop rendering for form submission.\n */\n @Prop() hiddenInput: boolean = true;\n\n @State() numChars: number = 0;\n @State() maxLengthExceeded: boolean = false;\n @State() minValueUnattained: boolean = false;\n @State() maxValueExceeded: boolean = false;\n @State() initialValue = this.value;\n\n @Watch(\"value\")\n watchValueHandler(newValue: string): void {\n if (this.inputEl && this.inputEl.value !== newValue) {\n this.inputEl.value = newValue;\n }\n\n this.numChars = newValue.length;\n\n if (this.type === \"number\") {\n if (newValue && Number(newValue) < Number(this.min)) {\n this.minValueUnattained = true;\n } else {\n this.minValueUnattained = false;\n }\n if (Number(newValue) > Number(this.max)) {\n this.maxValueExceeded = true;\n } else {\n this.maxValueExceeded = false;\n }\n }\n\n if (this.maxLength > 0) {\n if (newValue.length > this.maxLength) {\n this.maxLengthExceeded = true;\n } else {\n this.maxLengthExceeded = false;\n }\n }\n this.icChange.emit({ value: newValue });\n }\n\n /**\n * Sets focus on the native `input`.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.inputEl) {\n this.inputEl.focus();\n }\n }\n\n //stop keydown event bubbling up to storybook\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n this.icKeydown.emit({ event: ev });\n ev.cancelBubble = true;\n }\n\n /**\n * Emitted when a keydown event occurred.\n */\n @Event() icKeydown: EventEmitter<{ event: KeyboardEvent }>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n private onInput = (ev: Event) => {\n this.value = (ev.target as HTMLInputElement).value;\n this.icInput.emit({ value: this.value });\n };\n\n /**\n * Emitted when input loses focus.\n */\n @Event() icBlur: EventEmitter<IcValueEventDetail>;\n private onBlur = (ev: Event) => {\n const value = (ev.target as HTMLInputElement).value;\n this.icBlur.emit({ value: value });\n };\n\n /**\n * Emitted when input gains focus.\n */\n @Event() icFocus: EventEmitter<IcValueEventDetail>;\n private onFocus = (ev: Event) => {\n const value = (ev.target as HTMLInputElement).value;\n this.icFocus.emit({ value: value });\n };\n\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<IcValueEventDetail>;\n\n private isTextArea = (): boolean => {\n return this.rows > 1;\n };\n\n /**\n * @internal Emitted when the validationInlineInternal is `true`\n */\n @Event() getValidationText: EventEmitter<IcValueEventDetail>;\n\n private getInlineValidationText = () => {\n this.getValidationText.emit({ value: this.validationText });\n };\n\n private hasLeftIconSlot(): boolean {\n const iconEl = this.el.querySelector(`[slot=\"icon\"]`);\n return iconEl !== null;\n }\n\n private hasStatus = (status: IcInformationStatusOrEmpty): boolean => {\n return status !== \"\" && !this.disabled;\n };\n\n private showStatusText = (status: IcInformationStatusOrEmpty): boolean => {\n return (\n this.hasStatus(status) &&\n !(status == IcInformationStatus.Success && this.validationInline) &&\n !this.validationInlineInternal\n );\n };\n\n private handleFormReset = (): void => {\n this.value = this.initialValue;\n };\n\n connectedCallback(): void {\n this.debounceChanged();\n }\n\n componentWillLoad(): void {\n this.watchValueHandler(this.value);\n\n this.inheritedAttributes = inheritAttributes(this.el, [\n ...IC_INHERITED_ARIA,\n \"title\",\n \"aria-autocomplete\",\n \"aria-haspopup\",\n ]);\n\n if (this.readonly) {\n this.maxLengthExceeded = false;\n this.maxValueExceeded = false;\n this.minValueUnattained = false;\n }\n\n addFormResetListener(this.el, this.handleFormReset);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Text Field\"\n );\n if (this.validationInlineInternal) {\n this.getInlineValidationText();\n }\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n render() {\n const {\n inputId,\n name,\n label,\n required,\n small,\n placeholder,\n helperText,\n rows,\n resize,\n disabled,\n value,\n min,\n max,\n maxLength,\n numChars,\n readonly,\n maxLengthExceeded,\n minValueUnattained,\n maxValueExceeded,\n validationStatus,\n validationText,\n validationInline,\n validationInlineInternal,\n spellcheck,\n inputmode,\n fullWidth,\n truncateValue,\n hiddenInput,\n } = this;\n\n const disabledMode = readonly ? true : disabled;\n\n const placeholderText = disabled ? \"\" : placeholder;\n\n const currentStatus =\n maxLengthExceeded || maxValueExceeded || minValueUnattained\n ? IcInformationStatus.Error\n : validationStatus;\n\n const currentValidationText = maxLengthExceeded\n ? \"Maximum length exceeded\"\n : maxValueExceeded\n ? `Maximum value of ${max} exceeded`\n : minValueUnattained\n ? `Minimum value of ${min} not met`\n : validationText;\n\n const maxNumChars = readonly ? 0 : maxLength;\n\n const messageAriaLive =\n maxLengthExceeded ||\n maxValueExceeded ||\n minValueUnattained ||\n (maxLength === 0 && currentStatus === IcInformationStatus.Error)\n ? \"assertive\"\n : \"polite\";\n\n const showStatusText = this.showStatusText(currentStatus);\n const multiline = this.isTextArea();\n const hiddenCharCountDescId =\n maxLength > 0 ? inputId + \"-charcount-desc\" : \"\";\n const describedBy = (\n hiddenCharCountDescId +\n \" \" +\n getInputDescribedByText(inputId, helperText !== \"\", showStatusText)\n ).trim();\n\n if (this.showLeftIcon && !readonly && disabledMode) {\n this.showLeftIcon = false;\n }\n\n const invalid =\n currentStatus === IcInformationStatus.Error ? \"true\" : \"false\";\n const disabledText = disabledMode && !readonly;\n\n if (hiddenInput) {\n renderHiddenInput(true, this.el, name, value, disabledMode);\n }\n return (\n <Host class={{ [\"fullwidth\"]: fullWidth }}>\n <ic-input-container readonly={readonly} disabled={disabledMode}>\n {!this.hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabledText}\n readonly={readonly}\n ></ic-input-label>\n )}\n\n <ic-input-component-container\n small={small}\n validationStatus={currentStatus}\n multiLine={multiline}\n disabled={disabledMode}\n readonly={readonly}\n validationInline={validationInline}\n fullWidth={fullWidth}\n >\n {this.showLeftIcon && (\n <span\n class={{\n [\"readonly\"]: readonly,\n [\"has-value\"]: value.length > 0,\n }}\n slot=\"left-icon\"\n >\n <slot name=\"icon\" />\n </span>\n )}\n\n {!multiline && (\n <input\n id={inputId}\n name={name}\n ref={(el) => (this.inputEl = el as HTMLInputElement)}\n type={this.type}\n min={min}\n max={max}\n value={value}\n class={{\n [\"no-left-pad\"]: !this.showLeftIcon && readonly,\n [\"readonly\"]: readonly,\n [\"truncate-value\"]: truncateValue,\n }}\n placeholder={placeholderText}\n required={required}\n disabled={disabledMode}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n aria-activedescendant={this.ariaActiveDescendant}\n aria-expanded={this.ariaExpanded}\n aria-owns={this.ariaOwns}\n autocomplete={this.autocomplete}\n autocapitalize={this.autocapitalize}\n autoFocus={this.autoFocus}\n spellcheck={spellcheck}\n inputmode={inputmode}\n role={this.role}\n {...this.inheritedAttributes}\n ></input>\n )}\n {multiline && (\n <textarea\n id={inputId}\n class={{\n [\"no-resize\"]: resize === false || readonly,\n [\"no-left-pad\"]: !this.showLeftIcon && readonly,\n [\"readonly\"]: readonly,\n }}\n name={name}\n ref={(el) => (this.inputEl = el as HTMLTextAreaElement)}\n value={value}\n rows={rows}\n required={required}\n disabled={disabledMode}\n placeholder={placeholderText}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n autocapitalize={this.autocapitalize}\n autoFocus={this.autoFocus}\n spellcheck={spellcheck}\n inputmode={inputmode}\n {...this.inheritedAttributes}\n ></textarea>\n )}\n {isSlotUsed(this.el, \"clear-button\") && (\n <slot name=\"clear-button\"></slot>\n )}\n {isSlotUsed(this.el, \"search-submit-button\") && (\n <slot name=\"search-submit-button\"></slot>\n )}\n </ic-input-component-container>\n {isSlotUsed(this.el, \"menu\") && <slot name=\"menu\"></slot>}\n {(!isEmptyString(validationStatus) ||\n !isEmptyString(validationText) ||\n maxNumChars > 0 ||\n maxValueExceeded ||\n minValueUnattained) &&\n !validationInlineInternal && (\n <ic-input-validation\n status={\n this.hasStatus(currentStatus) === false ||\n (currentStatus === IcInformationStatus.Success &&\n validationInline) ||\n validationInlineInternal\n ? \"\"\n : currentStatus\n }\n message={showStatusText ? currentValidationText : \"\"}\n ariaLiveMode={messageAriaLive}\n for={inputId}\n fullWidth={fullWidth}\n >\n {!readonly && maxNumChars > 0 && (\n <div slot=\"validation-message-adornment\">\n <ic-typography\n variant=\"caption\"\n class={{\n [\"maxlengthtext\"]: true,\n [\"error\"]: maxLengthExceeded,\n [\"disabled\"]: disabledText,\n }}\n >\n <span\n aria-live=\"polite\"\n id={`${inputId}-charcount`}\n class=\"charcount\"\n >\n {numChars}/{maxNumChars}\n </span>\n <span hidden={true} id={hiddenCharCountDescId}>\n Field can contain a maximum of {maxNumChars} characters.\n </span>\n </ic-typography>\n </div>\n )}\n </ic-input-validation>\n )}\n </ic-input-container>\n </Host>\n );\n }\n}\n"]}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as t,c as e,h as i,H as o,g as s}from"./p-589f6dd3.js";import{a as n,i as a,H as r}from"./p-471820e6.js";import{C as c}from"./p-8c7f4343.js";import{C as l}from"./p-06321d19.js";import"./p-6f57b13c.js";const u='/*! 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}li{list-style:none;padding:0}:host::part(button){color:var(--ic-color-primary-text);padding:calc(var(--ic-space-xxxs) / 2);display:flex;align-items:flex-start;gap:var(--ic-space-xs);border-radius:0;min-height:2.5rem;height:auto}.focus-border{display:flex;align-items:flex-start;gap:var(--ic-space-xs);border-radius:var(--ic-border-radius);margin:calc(var(--ic-space-xxxs) / 2);padding:var(--ic-space-xxs);border:var(--ic-space-xxxs) dashed transparent;--icon-height:auto}:host(.disabled)::part(button){color:var(--ic-architectural-200) !important;pointer-events:none}:host(.disabled) .menu-item-label,:host(.disabled) .shortcut,:host(.disabled) .menu-item-description{color:var(--ic-architectural-200) !important}:host([variant="destructive"])::part(button){color:var(--ic-action-destructive)}:host::part(button):hover{background-color:var(--ic-action-dark-bg-hover)}:host::part(button):focus-visible,:host::part(button):focus{color:var(--ic-color-white-text);background-color:var(--ic-focus-blue);box-shadow:none}:host(.disabled)::part(button):focus-visible,:host(.disabled)::part(button):focus{color:var(--ic-theme-lighten-40) !important}:host([variant="destructive"])::part(button):focus-visible,:host([variant="destructive"])::part(button):focus{background-color:var(--ic-action-destructive)}ic-button:focus-within .menu-item-label,ic-button:focus-within .shortcut,ic-button:focus-within .menu-item-description{color:var(--ic-color-white-text)}:host(.disabled) ic-button:focus-within .focus-border{border-color:var(--ic-architectural-white)}:host(.disabled) ic-button:focus-within .menu-item-label,:host(.disabled) ic-button:focus-within .shortcut,:host(.disabled) ic-button:focus-within .menu-item-description{color:var(--ic-theme-lighten-40) !important}:host::part(button):active{background-color:var(--ic-action-dark-bg-active);color:var(--ic-color-primary-text) !important}:host([variant="destructive"])::part(button):active{background-color:var(--ic-action-dark-bg-active);color:var(--ic-action-destructive) !important}.menu-item-info{display:flex;flex-direction:column;flex:1;align-items:baseline;white-space:pre-line;text-align:left}.menu-labels{display:flex;align-items:baseline;gap:var(--ic-space-xs)}.menu-item-description{color:var(--ic-color-secondary-text)}.shortcut{color:var(--ic-color-tertiary-text);display:flex;flex:min-content}:host([variant="destructive"]) .menu-item-label{text-transform:uppercase;font-weight:600;letter-spacing:0.025em}ic-button:active .menu-item-label{color:var(--ic-color-primary-text)}ic-button:active .menu-item-description{color:var(--ic-color-secondary-text)}ic-button:active .shortcut{color:var(--ic-color-tertiary-text)}:host([variant="destructive"]) ic-button:active .menu-item-label{color:var(--ic-action-destructive) !important}.icon,.check-icon,.submenu-icon,.icon ::slotted(svg),.check-icon svg,.submenu-icon svg{width:var(--ic-space-lg);height:var(--ic-space-lg)}.check-icon.hide{visibility:hidden}@media (forced-colors: active){:host::part(button){border:Canvas}:host::part(button):focus-visible{outline:var(--ic-space-xxxs) solid transparent}.focus-border{border-color:Canvas}:host(.disabled) ic-button:focus-within .focus-border{border-color:GrayText}:host(.disabled) .menu-item-info,:host(.disabled) .menu-item-label,:host(.disabled) .shortcut,:host(.disabled) .menu-item-description,:host(.disabled) ic-button:focus-within .menu-item-info,:host(.disabled) ic-button:focus-within .menu-item-label,:host(.disabled) ic-button:focus-within .shortcut,:host(.disabled) ic-button:focus-within .menu-item-description{color:GrayText !important}:host(.disabled)::part(button):focus-visible,:host(.disabled)::part(button):focus{outline-color:GrayText !important}}';const d=class{constructor(i){t(this,i);this.childBlur=e(this,"childBlur",7);this.triggerPopoverMenuInstance=e(this,"triggerPopoverMenuInstance",7);this.handleMenuItemClick=e(this,"handleMenuItemClick",7);this.handleClick=t=>{t.preventDefault();if(this.submenuTriggerFor!==undefined){this.triggerPopoverMenuInstance.emit()}else if(this.variant==="toggle"){this.toggleChecked?this.toggleChecked=false:this.toggleChecked=true}this.handleMenuItemClick.emit({label:this.label,hasSubMenu:!!this.el.submenuTriggerFor})};this.getMenuItemAriaLabel=()=>{let t=this.label;if(this.description!==undefined){t=`${t}, ${this.description}`}if(this.keyboardShortcut!==undefined){t=`${t}, ${this.keyboardShortcut}`}if(this.variant==="destructive"){t=`${t}, destructive`}if(this.submenuTriggerFor!==undefined){t=`${t}, triggers submenu`}if(this.el.classList.contains("ic-popover-submenu-back-button")){t="Go back to parent menu"}const e=r(this.el);if(e.tagName==="IC-MENU-GROUP"&&e.label){return`${t}, ${e.label} menu group`}else{return t}};this.variant="default";this.label=undefined;this.description=undefined;this.disabled=false;this.href=undefined;this.target=undefined;this.rel=undefined;this.hreflang=undefined;this.referrerpolicy=undefined;this.keyboardShortcut=undefined;this.submenuTriggerFor=undefined;this.toggleChecked=false}handleHostClick(t){if(this.disabled){t.stopImmediatePropagation()}}componentWillLoad(){if(this.submenuTriggerFor!==undefined&&this.variant!=="default"){this.variant="default"}}componentDidLoad(){n([{prop:this.label,propName:"label"}],"Menu Item")}render(){const t=t=>t!==undefined?t:null;const e=()=>i("div",{class:"menu-item-info"},i("div",{class:"menu-labels"},i("ic-typography",{class:"menu-item-label"},this.label),this.keyboardShortcut&&i("ic-typography",{variant:"caption",class:"shortcut"},this.keyboardShortcut)),this.description&&i("ic-typography",{class:"menu-item-description",variant:"caption"},this.description));return i(o,{class:{["disabled"]:this.disabled}},i("li",{role:this.variant==="toggle"?"menuitemcheckbox":"menuitem","aria-disabled":`${this.disabled}`,"aria-checked":this.variant==="toggle"&&this.toggleChecked===true?true:this.variant==="toggle"&&this.toggleChecked===false?false:undefined},i("ic-button",{disableTooltip:true,fullWidth:true,variant:"tertiary",onClick:this.handleClick,href:t(this.href),hreflang:t(this.hreflang),target:t(this.target),rel:t(this.rel),referrerpolicy:this.referrerpolicy!==undefined?this.referrerpolicy:null,"aria-disabled":`${this.disabled}`,"aria-label":this.getMenuItemAriaLabel(),"aria-controls":this.submenuTriggerFor!==undefined?`ic-popover-submenu-${this.submenuTriggerFor}`:false,"aria-haspopup":this.submenuTriggerFor!==undefined||this.el.classList.contains("ic-popover-submenu-back-button")?"menu":false,"aria-owns":this.submenuTriggerFor!==undefined?`ic-popover-submenu-${this.submenuTriggerFor}`:false},i("div",{class:"focus-border"},a(this.el,"icon")&&i("span",{class:"icon"},i("slot",{name:"icon"})),i(e,null),this.variant==="toggle"&&i("span",{class:{["check-icon"]:true,["hide"]:!this.toggleChecked},"aria-hidden":"true",innerHTML:c}),this.submenuTriggerFor!==undefined&&i("span",{class:{["submenu-icon"]:true},"aria-hidden":"true",innerHTML:l})))))}static get delegatesFocus(){return true}get el(){return s(this)}};d.style=u;export{d as ic_menu_item};
|
2
|
-
//# sourceMappingURL=p-2fb97a1b.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["src/components/ic-menu-item/ic-menu-item.css?tag=ic-menu-item&encapsulation=shadow","src/components/ic-menu-item/ic-menu-item.tsx"],"names":["icMenuItemCss","MenuItem","this","handleClick","e","preventDefault","submenuTriggerFor","undefined","triggerPopoverMenuInstance","emit","variant","toggleChecked","handleMenuItemClick","label","hasSubMenu","el","getMenuItemAriaLabel","ariaLabel","description","keyboardShortcut","classList","contains","parentEl","getParentElement","tagName","[object Object]","disabled","stopImmediatePropagation","onComponentRequiredPropUndefined","prop","propName","isPropDefined","MenuItemInformation","h","class","Host","role","aria-disabled","aria-checked","disableTooltip","fullWidth","onClick","href","hreflang","target","rel","referrerpolicy","aria-label","aria-controls","aria-haspopup","aria-owns","isSlotUsed","name","aria-hidden","innerHTML","Check","Chevron"],"mappings":"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","sourcesContent":["@import \"../../global/normalize.css\";\n\nli {\n list-style: none;\n padding: 0;\n}\n\n:host::part(button) {\n color: var(--ic-color-primary-text);\n padding: calc(var(--ic-space-xxxs) / 2);\n display: flex;\n align-items: flex-start;\n gap: var(--ic-space-xs);\n border-radius: 0;\n min-height: 2.5rem;\n height: auto;\n}\n\n.focus-border {\n display: flex;\n align-items: flex-start;\n gap: var(--ic-space-xs);\n border-radius: var(--ic-border-radius);\n margin: calc(var(--ic-space-xxxs) / 2);\n padding: var(--ic-space-xxs);\n border: var(--ic-space-xxxs) dashed transparent;\n\n --icon-height: auto;\n}\n\n:host(.disabled)::part(button) {\n color: var(--ic-architectural-200) !important;\n pointer-events: none;\n}\n\n:host(.disabled) .menu-item-label,\n:host(.disabled) .shortcut,\n:host(.disabled) .menu-item-description {\n color: var(--ic-architectural-200) !important;\n}\n\n:host([variant=\"destructive\"])::part(button) {\n color: var(--ic-action-destructive);\n}\n\n:host::part(button):hover {\n background-color: var(--ic-action-dark-bg-hover);\n}\n\n:host::part(button):focus-visible,\n:host::part(button):focus {\n color: var(--ic-color-white-text);\n background-color: var(--ic-focus-blue);\n box-shadow: none;\n}\n\n:host(.disabled)::part(button):focus-visible,\n:host(.disabled)::part(button):focus {\n color: var(--ic-theme-lighten-40) !important;\n}\n\n:host([variant=\"destructive\"])::part(button):focus-visible,\n:host([variant=\"destructive\"])::part(button):focus {\n background-color: var(--ic-action-destructive);\n}\n\nic-button:focus-within .menu-item-label,\nic-button:focus-within .shortcut,\nic-button:focus-within .menu-item-description {\n color: var(--ic-color-white-text);\n}\n\n:host(.disabled) ic-button:focus-within .focus-border {\n border-color: var(--ic-architectural-white);\n}\n\n:host(.disabled) ic-button:focus-within .menu-item-label,\n:host(.disabled) ic-button:focus-within .shortcut,\n:host(.disabled) ic-button:focus-within .menu-item-description {\n color: var(--ic-theme-lighten-40) !important;\n}\n\n:host::part(button):active {\n background-color: var(--ic-action-dark-bg-active);\n color: var(--ic-color-primary-text) !important;\n}\n\n:host([variant=\"destructive\"])::part(button):active {\n background-color: var(--ic-action-dark-bg-active);\n color: var(--ic-action-destructive) !important;\n}\n\n.menu-item-info {\n display: flex;\n flex-direction: column;\n flex: 1;\n align-items: baseline;\n white-space: pre-line;\n text-align: left;\n}\n\n.menu-labels {\n display: flex;\n align-items: baseline;\n gap: var(--ic-space-xs);\n}\n\n.menu-item-description {\n color: var(--ic-color-secondary-text);\n}\n\n.shortcut {\n color: var(--ic-color-tertiary-text);\n display: flex;\n flex: min-content;\n}\n\n:host([variant=\"destructive\"]) .menu-item-label {\n text-transform: uppercase;\n font-weight: 600;\n letter-spacing: 0.025em;\n}\n\nic-button:active .menu-item-label {\n color: var(--ic-color-primary-text);\n}\n\nic-button:active .menu-item-description {\n color: var(--ic-color-secondary-text);\n}\n\nic-button:active .shortcut {\n color: var(--ic-color-tertiary-text);\n}\n\n:host([variant=\"destructive\"]) ic-button:active .menu-item-label {\n color: var(--ic-action-destructive) !important;\n}\n\n.icon,\n.check-icon,\n.submenu-icon,\n.icon ::slotted(svg),\n.check-icon svg,\n.submenu-icon svg {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n.check-icon.hide {\n visibility: hidden;\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n :host::part(button) {\n border: Canvas;\n }\n\n :host::part(button):focus-visible {\n outline: var(--ic-space-xxxs) solid transparent;\n }\n\n .focus-border {\n border-color: Canvas;\n }\n\n :host(.disabled) ic-button:focus-within .focus-border {\n border-color: GrayText;\n }\n\n :host(.disabled) .menu-item-info,\n :host(.disabled) .menu-item-label,\n :host(.disabled) .shortcut,\n :host(.disabled) .menu-item-description,\n :host(.disabled) ic-button:focus-within .menu-item-info,\n :host(.disabled) ic-button:focus-within .menu-item-label,\n :host(.disabled) ic-button:focus-within .shortcut,\n :host(.disabled) ic-button:focus-within .menu-item-description {\n color: GrayText !important;\n }\n\n :host(.disabled)::part(button):focus-visible,\n :host(.disabled)::part(button):focus {\n outline-color: GrayText !important;\n }\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n State,\n Event,\n EventEmitter,\n Listen,\n} from \"@stencil/core\";\nimport {\n getParentElement,\n isSlotUsed,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IcMenuItemVariants } from \"./ic-menu-item.types\";\nimport Check from \"../../assets/check-icon.svg\";\nimport Chevron from \"../../assets/chevron-icon.svg\";\n\n/**\n * @slot icon - Content will be placed to the left of the menu item label.\n */\n\n@Component({\n tag: \"ic-menu-item\",\n styleUrl: \"ic-menu-item.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class MenuItem {\n @Element() el: HTMLIcMenuItemElement;\n\n /**\n * The variant of the menu item.\n */\n @Prop({ mutable: true, reflect: true }) variant: IcMenuItemVariants =\n \"default\";\n /**\n * The label to display in the menu item.\n */\n @Prop() label!: string;\n /**\n * The description displayed in the menu item, below the label.\n */\n @Prop() description?: string;\n /**\n * If `true`, the menu item will be in disabled state.\n */\n @Prop() disabled?: boolean = false;\n /**\n * The URL that the link points to. This will render the menu item as an \"a\" tag.\n */\n @Prop() href?: string;\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string;\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n /**\n * The label describing the keyboard shortcut for a menu item's action.\n */\n @Prop() keyboardShortcut?: string;\n /**\n * This references the popover menu instance that the menu item is a trigger for. If this prop is set, then the variant will always be default.\n */\n @Prop() submenuTriggerFor?: string;\n /**\n * @internal Emitted when item loses focus.\n */\n @Event() childBlur: EventEmitter<void>;\n /**\n * @internal Emitted when the user clicks a menu item that triggers a popover menu instance.\n */\n @Event() triggerPopoverMenuInstance: EventEmitter<void>;\n /**\n * @internal Emitted when the user clicks a menu item.\n */\n @Event() handleMenuItemClick: EventEmitter<{\n label: string;\n hasSubMenu: boolean;\n }>;\n\n @State() toggleChecked: boolean = false;\n\n @Listen(\"click\", { capture: true })\n handleHostClick(e: Event): void {\n if (this.disabled) {\n e.stopImmediatePropagation();\n }\n }\n\n private handleClick = (e: Event): void => {\n e.preventDefault();\n if (this.submenuTriggerFor !== undefined) {\n this.triggerPopoverMenuInstance.emit();\n } else if (this.variant === \"toggle\") {\n this.toggleChecked\n ? (this.toggleChecked = false)\n : (this.toggleChecked = true);\n }\n this.handleMenuItemClick.emit({\n label: this.label,\n hasSubMenu: !!this.el.submenuTriggerFor,\n });\n };\n\n componentWillLoad(): void {\n // This ensures that trigger menu items are always set to the default variant\n if (this.submenuTriggerFor !== undefined && this.variant !== \"default\") {\n this.variant = \"default\";\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Menu Item\"\n );\n }\n\n private getMenuItemAriaLabel = (): string => {\n let ariaLabel = this.label;\n\n if (this.description !== undefined) {\n ariaLabel = `${ariaLabel}, ${this.description}`;\n }\n\n if (this.keyboardShortcut !== undefined) {\n ariaLabel = `${ariaLabel}, ${this.keyboardShortcut}`;\n }\n\n if (this.variant === \"destructive\") {\n ariaLabel = `${ariaLabel}, destructive`;\n }\n\n if (this.submenuTriggerFor !== undefined) {\n ariaLabel = `${ariaLabel}, triggers submenu`;\n }\n\n if (this.el.classList.contains(\"ic-popover-submenu-back-button\")) {\n ariaLabel = \"Go back to parent menu\";\n }\n const parentEl = getParentElement(this.el);\n\n if (\n parentEl.tagName === \"IC-MENU-GROUP\" &&\n (parentEl as HTMLIcMenuGroupElement).label\n ) {\n return `${ariaLabel}, ${\n (parentEl as HTMLIcMenuGroupElement).label\n } menu group`;\n } else {\n return ariaLabel;\n }\n };\n\n render() {\n // A helper function that checks if a prop has been defined\n const isPropDefined = (prop: string) => {\n return prop !== undefined ? prop : null;\n };\n\n // A sub-component to layout the menu information correctly in ic-button\n const MenuItemInformation = () => {\n return (\n <div class=\"menu-item-info\">\n <div class=\"menu-labels\">\n <ic-typography class=\"menu-item-label\">{this.label}</ic-typography>\n {this.keyboardShortcut && (\n <ic-typography variant=\"caption\" class=\"shortcut\">\n {this.keyboardShortcut}\n </ic-typography>\n )}\n </div>\n {this.description && (\n <ic-typography class=\"menu-item-description\" variant=\"caption\">\n {this.description}\n </ic-typography>\n )}\n </div>\n );\n };\n\n return (\n <Host\n class={{\n [\"disabled\"]: this.disabled,\n }}\n >\n <li\n role={this.variant === \"toggle\" ? \"menuitemcheckbox\" : \"menuitem\"}\n aria-disabled={`${this.disabled}`}\n aria-checked={\n this.variant === \"toggle\" && this.toggleChecked === true\n ? true\n : this.variant === \"toggle\" && this.toggleChecked === false\n ? false\n : undefined\n }\n >\n <ic-button\n disableTooltip\n fullWidth\n variant=\"tertiary\"\n onClick={this.handleClick}\n href={isPropDefined(this.href)}\n hreflang={isPropDefined(this.hreflang)}\n target={isPropDefined(this.target)}\n rel={isPropDefined(this.rel)}\n referrerpolicy={\n this.referrerpolicy !== undefined ? this.referrerpolicy : null\n }\n aria-disabled={`${this.disabled}`}\n aria-label={this.getMenuItemAriaLabel()}\n aria-controls={\n this.submenuTriggerFor !== undefined\n ? `ic-popover-submenu-${this.submenuTriggerFor}`\n : false\n }\n aria-haspopup={\n this.submenuTriggerFor !== undefined ||\n this.el.classList.contains(\"ic-popover-submenu-back-button\")\n ? \"menu\"\n : false\n }\n aria-owns={\n this.submenuTriggerFor !== undefined\n ? `ic-popover-submenu-${this.submenuTriggerFor}`\n : false\n }\n >\n <div class=\"focus-border\">\n {isSlotUsed(this.el, \"icon\") && (\n <span class=\"icon\">\n <slot name=\"icon\"></slot>\n </span>\n )}\n <MenuItemInformation />\n {this.variant === \"toggle\" && (\n <span\n class={{\n [\"check-icon\"]: true,\n [\"hide\"]: !this.toggleChecked,\n }}\n aria-hidden=\"true\"\n innerHTML={Check}\n />\n )}\n {this.submenuTriggerFor !== undefined && (\n <span\n class={{ [\"submenu-icon\"]: true }}\n aria-hidden=\"true\"\n innerHTML={Chevron}\n />\n )}\n </div>\n </ic-button>\n </li>\n </Host>\n );\n }\n}\n"]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["src/components/ic-classification-banner/ic-classification-banner.css?tag=ic-classification-banner&encapsulation=shadow","src/components/ic-classification-banner/ic-classification-banner.tsx"],"names":["icClassificationBannerCss","classificationText","default","official","official-sensitive","secret","top-secret","ClassificationBanner","[object Object]","classification","inline","country","upTo","additionalSelectors","this","h","Host","class","aria-label","variant"],"mappings":"kDAAA,MAAMA,EAA4B,syGCGlC,MAAMC,EAAqB,CACzBC,QAAS,6BACTC,SAAU,WACVC,qBAAsB,qBACtBC,OAAQ,SACRC,aAAc,oBAQHC,EAAoB,wDAIQ,uBAIS,uBAIrB,iBAIA,gBAIF,MAEzBC,SACE,MAAMC,eAAEA,EAAcC,OAAEA,EAAMC,QAAEA,EAAOC,KAAEA,EAAIC,oBAAEA,GAAwBC,KAEvE,OACEC,EAACC,EAAI,CAACC,MAAO,CAAET,CAAC,UAAWE,IACzBK,EAAA,SAAA,CAAAG,aACa,qBACXD,MAAO,CACLT,CAAC,yBAA0B,KAC3BA,CAAC,GAAGC,KAAmBA,IAGxBA,IAAmB,UAClBM,EAAA,OAAA,CAAME,MAAM,aAAW,0CACmB,KAExC,KACJF,EAAA,gBAAA,CAAeI,QAAQ,qBACpBV,IAAmB,UAChBR,EAAmBQ,GACnB,GAAGG,EAAO,QAAU,uBACnBD,IAAY,GAAKA,EAAU,uBAC3BV,EAAmBQ,uBACnBI,IAAwB,GAAKA,EAAsB","sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-classification-banner: z-index of classification banner\n */\n\n:host {\n position: fixed;\n left: 0;\n bottom: 0;\n width: 100%;\n height: var(--ic-space-lg);\n z-index: var(--ic-z-index-classification-banner);\n}\n\n:host(.inline) {\n position: static;\n left: auto;\n bottom: auto;\n}\n\n.classification-banner {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n padding: var(--ic-space-xxxs) var(--ic-space-md);\n}\n\n.default {\n background-color: var(--ic-classification-not-set);\n color: var(--ic-classification-not-set-foreground);\n}\n\n.official,\n.official-sensitive {\n background-color: var(--ic-classification-official);\n color: var(--ic-classification-official-foreground);\n}\n\n.secret {\n background-color: var(--ic-classification-secret);\n color: var(--ic-classification-secret-foreground);\n}\n\n.top-secret {\n background-color: var(--ic-classification-top-secret);\n color: var(--ic-classification-top-secret-foreground);\n}\n\n.offscreen {\n position: absolute;\n left: -9999px;\n background-color: #fff;\n color: #000;\n text-transform: none;\n}\n\n@media (forced-colors: active) {\n .classification-banner {\n border: var(--ic-hc-border);\n }\n}\n","import { Component, Prop, h, Host } from \"@stencil/core\";\nimport { IcProtectiveMarkings } from \"./ic-classification-banner.types\";\n\nconst classificationText = {\n default: \"protective marking not set\",\n official: \"official\",\n \"official-sensitive\": \"official sensitive\",\n secret: \"secret\",\n \"top-secret\": \"top secret\",\n};\n\n@Component({\n tag: \"ic-classification-banner\",\n styleUrl: \"ic-classification-banner.css\",\n shadow: true,\n})\nexport class ClassificationBanner {\n /**\n * The additional information that will be displayed after the classification.\n */\n @Prop() additionalSelectors?: string = \"\";\n /**\n * The classification level to be displayed - also determines the banner and text colour.\n */\n @Prop() classification?: IcProtectiveMarkings = \"default\";\n /**\n * The optional text that will be displayed before classification to specify relevant country/countries.\n */\n @Prop() country?: string = \"uk\";\n /**\n * If `true`, the banner will appear inline with the page, instead of sticking to the bottom of the page.\n */\n @Prop() inline?: boolean = false;\n /**\n * If `true`, \"Up to\" will be displayed before the classification and country.\n */\n @Prop() upTo?: boolean = false;\n\n render() {\n const { classification, inline, country, upTo, additionalSelectors } = this;\n\n return (\n <Host class={{ [\"inline\"]: inline }}>\n <banner\n aria-label=\"Protective marking\"\n class={{\n [\"classification-banner\"]: true,\n [`${classification}`]: classification,\n }}\n >\n {classification !== \"default\" ? (\n <span class=\"offscreen\">\n The protective marking of this page is:{\" \"}\n </span>\n ) : null}\n <ic-typography variant=\"caption-uppercase\">\n {classification === \"default\"\n ? classificationText[classification]\n : `${upTo ? \"up to\" : \"\"} \n ${country !== \"\" ? country : \"\"} \n ${classificationText[classification]} \n ${additionalSelectors !== \"\" ? additionalSelectors : \"\"}`}\n </ic-typography>\n </banner>\n </Host>\n );\n }\n}\n"]}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as t,h as i,H as a,g as s}from"./p-589f6dd3.js";import{a as r,N as e,O as l,P as o,Q as n,L as c}from"./p-471820e6.js";import{a as p}from"./p-6f57b13c.js";const d="ic-input-label{margin-bottom:var(--ic-space-xs)}ic-input-label.with-helper{margin-bottom:var(--ic-space-xxxs)}ic-input-label.disabled{color:var(--ic-color-tertiary-text)}ic-input-label.readonly{color:var(--ic-color-tertiary-text)}ic-input-label .helpertext{margin-top:var(--ic-space-xxxs)}ic-input-label .helpertext-normal{color:var(--ic-color-secondary-text)}ic-input-label .helpertext-readonly{color:var(--ic-color-tertiary-text)}ic-input-label .readonly-label{color:var(--ic-color-secondary-text)}ic-input-label .error-label{color:var(--ic-status-error)}ic-input-label .dark{color:var(--ic-architectural-white)}";const h=class{constructor(i){t(this,i);this.for=undefined;this.required=false;this.helperText="";this.label=undefined;this.disabled=false;this.readonly=false;this.error=false;this.dark=false}componentDidLoad(){r([{prop:this.label,propName:"label"}],"Input Label")}render(){const{disabled:t,readonly:s,label:r,required:l,helperText:o,error:n,dark:c}=this;const p=l?r+" *":r;const d=s?`${p}`:i("label",{htmlFor:this.for},p);const h=e(this.for);return i(a,{class:{["disabled"]:t,["readonly"]:s,["with-helper"]:o!==""}},i("ic-typography",{variant:"label",class:{["readonly-label"]:s,["error-label"]:n&&!(s||t),["dark"]:c}},d),o!==""&&i("ic-typography",{variant:"caption",class:{["helpertext"]:true,["helpertext-normal"]:!t&&!s,["helpertext-readonly"]:s}},i("span",{id:h},o)))}};h.style=d;const u="ic-input-validation{width:var(--input-width, 20rem);margin-top:var(--ic-space-xs);display:flex}ic-input-validation.fullwidth{width:100%}ic-input-validation.error{color:var(--ic-status-error)}ic-input-validation.success{color:var(--ic-status-success)}ic-input-validation span.status-icon{padding-right:var(--ic-space-xxs)}ic-input-validation span.status-icon>svg{height:1.25rem;width:1.25rem}ic-input-validation span.icon-success>svg{fill:var(--ic-status-success)}ic-input-validation span.icon-error>svg{fill:var(--ic-status-error)}ic-input-validation span.icon-warning>svg{fill:var(--ic-status-warning-mid)}ic-input-validation .statustext{flex-grow:1}";const v={[p.Warning]:o,[p.Error]:n,[p.Success]:c};const m=class{constructor(i){t(this,i);this.message=undefined;this.for=undefined;this.status="";this.fullWidth=false;this.ariaLiveMode="polite"}componentDidLoad(){r([{prop:this.message,propName:"message"}],"Input Validation")}render(){const t=this.status!==""?v[this.status]:"";const s=l(this.for);return i(a,{class:{[this.status]:this.status!=="",["fullwidth"]:this.fullWidth}},t!==""&&i("span",{class:{["status-icon"]:true,[`icon-${this.status}`]:true},innerHTML:t}),i("ic-typography",{variant:"caption",class:"statustext"},i("span",{"aria-live":this.ariaLiveMode,id:s},this.message)),i("slot",{name:"validation-message-adornment"}))}get el(){return s(this)}};m.style=u;export{h as ic_input_label,m as ic_input_validation};
|
2
|
-
//# sourceMappingURL=p-31b4b684.entry.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["src/components/ic-input-label/ic-input-label.css?tag=ic-input-label","src/components/ic-input-label/ic-input-label.tsx","src/components/ic-input-validation/ic-input-validation.css?tag=ic-input-validation","src/components/ic-input-validation/ic-input-validation.tsx"],"names":["icInputLabelCss","InputLabel","[object Object]","onComponentRequiredPropUndefined","prop","this","label","propName","disabled","readonly","required","helperText","error","dark","labelText","labelContent","h","htmlFor","for","id","getInputHelperTextID","Host","class","variant","icInputValidationCss","icon","IcInformationStatus","Warning","warningIcon","Error","errorIcon","Success","successIcon","InputValidation","message","displayIcon","status","getInputValidationTextID","fullWidth","innerHTML","aria-live","ariaLiveMode","name"],"mappings":"oKAAA,MAAMA,EAAkB,+mBCWXC,EAAU,gEAQO,sBAIC,sCAQD,oBAIA,iBAIF,gBAID,MAEzBC,mBACEC,EACE,CAAC,CAAEC,KAAMC,KAAKC,MAAOC,SAAU,UAC/B,eAIJL,SACE,MAAMM,SAAEA,EAAQC,SAAEA,EAAQH,MAAEA,EAAKI,SAAEA,EAAQC,WAAEA,EAAUC,MAAEA,EAAKC,KAAEA,GAC9DR,KACF,MAAMS,EAAYJ,EAAWJ,EAAQ,KAAOA,EAC5C,MAAMS,EAAeN,EAAQ,GACxBK,IAEHE,EAAA,QAAA,CAAOC,QAASZ,KAAKa,KAAMJ,GAG7B,MAAMK,EAAKC,EAAqBf,KAAKa,KAErC,OACEF,EAACK,EAAI,CACHC,MAAO,CACLpB,CAAC,YAAaM,EACdN,CAAC,YAAaO,EACdP,CAAC,eAAgBS,IAAe,KAGlCK,EAAA,gBAAA,CACEO,QAAQ,QACRD,MAAO,CACLpB,CAAC,kBAAmBO,EACpBP,CAAC,eAAgBU,KAAWH,GAAYD,GACxCN,CAAC,QAASW,IAGXE,GAGFJ,IAAe,IACdK,EAAA,gBAAA,CACEO,QAAQ,UACRD,MAAO,CACLpB,CAAC,cAAe,KAChBA,CAAC,sBAAuBM,IAAaC,EACrCP,CAAC,uBAAwBO,IAG3BO,EAAA,OAAA,CAAMG,GAAIA,GAAKR,iBC5F3B,MAAMa,EAAuB,8oBCgB7B,MAAMC,EAAO,CACXvB,CAACwB,EAAoBC,SAAUC,EAC/B1B,CAACwB,EAAoBG,OAAQC,EAC7B5B,CAACwB,EAAoBK,SAAUC,SAUpBC,EAAe,qFAcmB,kBAIhB,wBAIkB,SAE/C/B,mBACEC,EACE,CAAC,CAAEC,KAAMC,KAAK6B,QAAS3B,SAAU,YACjC,oBAIJL,SACE,MAAMiC,EAAc9B,KAAK+B,SAAW,GAAKX,EAAKpB,KAAK+B,QAAU,GAC7D,MAAMjB,EAAKkB,EAAyBhC,KAAKa,KACzC,OACEF,EAACK,EAAI,CACHC,MAAO,CACLpB,CAACG,KAAK+B,QAAS/B,KAAK+B,SAAW,GAC/BlC,CAAC,aAAcG,KAAKiC,YAGrBH,IAAgB,IACfnB,EAAA,OAAA,CACEM,MAAO,CACLpB,CAAC,eAAgB,KACjBA,CAAC,QAAQG,KAAK+B,UAAW,MAE3BG,UAAWJ,IAIfnB,EAAA,gBAAA,CAAeO,QAAQ,UAAUD,MAAM,cACrCN,EAAA,OAAA,CAAAwB,YAAiBnC,KAAKoC,aAActB,GAAIA,GACrCd,KAAK6B,UAIVlB,EAAA,OAAA,CAAM0B,KAAK","sourcesContent":["ic-input-label {\n margin-bottom: var(--ic-space-xs);\n}\n\nic-input-label.with-helper {\n margin-bottom: var(--ic-space-xxxs);\n}\n\nic-input-label.disabled {\n color: var(--ic-color-tertiary-text);\n}\n\nic-input-label.readonly {\n color: var(--ic-color-tertiary-text);\n}\n\nic-input-label .helpertext {\n margin-top: var(--ic-space-xxxs);\n}\n\nic-input-label .helpertext-normal {\n color: var(--ic-color-secondary-text);\n}\n\nic-input-label .helpertext-readonly {\n color: var(--ic-color-tertiary-text);\n}\n\nic-input-label .readonly-label {\n color: var(--ic-color-secondary-text);\n}\n\nic-input-label .error-label {\n color: var(--ic-status-error);\n}\n\nic-input-label .dark {\n color: var(--ic-architectural-white);\n}\n","import { Component, Host, Prop, h } from \"@stencil/core\";\n\nimport {\n getInputHelperTextID,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-input-label\",\n styleUrl: \"./ic-input-label.css\",\n})\nexport class InputLabel {\n /**\n * The ID of the form element the label is bound to.\n */\n @Prop() for: string;\n /**\n * If `true`, the input label will require a value.\n */\n @Prop() required: boolean = false;\n /**\n * The helper text that will be displayed.\n */\n @Prop() helperText: string = \"\";\n /**\n * The text content of the label.\n */\n @Prop() label!: string;\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled: boolean = false;\n /**\n * If `true`, the readonly state will be set.\n */\n @Prop() readonly: boolean = false;\n /**\n * If `true`, the input label will display with error styling.\n */\n @Prop() error?: boolean = false;\n /**\n * If `true`, the dark variant of the input label will be displayed.\n */\n @Prop() dark?: boolean = false;\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Input Label\"\n );\n }\n\n render() {\n const { disabled, readonly, label, required, helperText, error, dark } =\n this;\n const labelText = required ? label + \" *\" : label;\n const labelContent = readonly ? (\n `${labelText}`\n ) : (\n <label htmlFor={this.for}>{labelText}</label>\n );\n\n const id = getInputHelperTextID(this.for);\n\n return (\n <Host\n class={{\n [\"disabled\"]: disabled,\n [\"readonly\"]: readonly,\n [\"with-helper\"]: helperText !== \"\",\n }}\n >\n <ic-typography\n variant=\"label\"\n class={{\n [\"readonly-label\"]: readonly,\n [\"error-label\"]: error && !(readonly || disabled),\n [\"dark\"]: dark,\n }}\n >\n {labelContent}\n </ic-typography>\n\n {helperText !== \"\" && (\n <ic-typography\n variant=\"caption\"\n class={{\n [\"helpertext\"]: true,\n [\"helpertext-normal\"]: !disabled && !readonly,\n [\"helpertext-readonly\"]: readonly,\n }}\n >\n <span id={id}>{helperText}</span>\n </ic-typography>\n )}\n </Host>\n );\n }\n}\n","ic-input-validation {\n width: var(--input-width, 20rem);\n margin-top: var(--ic-space-xs);\n display: flex;\n}\n\nic-input-validation.fullwidth {\n width: 100%;\n}\n\nic-input-validation.error {\n color: var(--ic-status-error);\n}\n\nic-input-validation.success {\n color: var(--ic-status-success);\n}\n\nic-input-validation span.status-icon {\n padding-right: var(--ic-space-xxs);\n}\n\nic-input-validation span.status-icon > svg {\n height: 1.25rem;\n width: 1.25rem;\n}\n\nic-input-validation span.icon-success > svg {\n fill: var(--ic-status-success);\n}\n\nic-input-validation span.icon-error > svg {\n fill: var(--ic-status-error);\n}\n\nic-input-validation span.icon-warning > svg {\n fill: var(--ic-status-warning-mid);\n}\n\nic-input-validation .statustext {\n flex-grow: 1;\n}\n","import { Element, Component, Host, Prop, h } from \"@stencil/core\";\n\nimport {\n IcInformationStatus,\n IcInformationStatusOrEmpty,\n} from \"../../utils/types\";\nimport errorIcon from \"../../assets/error-icon.svg\";\nimport successIcon from \"../../assets/success-icon.svg\";\nimport warningIcon from \"../../assets/warning-icon.svg\";\n\nimport {\n getInputValidationTextID,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IcAriaLiveModeVariants } from \"./ic-input-validation.types\";\n\nconst icon = {\n [IcInformationStatus.Warning]: warningIcon,\n [IcInformationStatus.Error]: errorIcon,\n [IcInformationStatus.Success]: successIcon,\n};\n\n/**\n * @slot validation-message-adornment - Content will be placed to the right of the validation message.\n */\n@Component({\n tag: \"ic-input-validation\",\n styleUrl: \"ic-input-validation.css\",\n})\nexport class InputValidation {\n @Element() el: HTMLIcInputValidationElement;\n\n /**\n * The validation message to display.\n */\n @Prop() message!: string;\n /**\n * The ID of the form element the validation is bound to.\n */\n @Prop() for: string;\n /**\n * The status of the validation - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() status: IcInformationStatusOrEmpty = \"\";\n /**\n * If `true`, the input validation will fill the width of the container.\n */\n @Prop() fullWidth: boolean = false;\n /**\n * The ARIA live mode to apply to the message.\n */\n @Prop() ariaLiveMode: IcAriaLiveModeVariants = \"polite\";\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.message, propName: \"message\" }],\n \"Input Validation\"\n );\n }\n\n render() {\n const displayIcon = this.status !== \"\" ? icon[this.status] : \"\";\n const id = getInputValidationTextID(this.for);\n return (\n <Host\n class={{\n [this.status]: this.status !== \"\",\n [\"fullwidth\"]: this.fullWidth,\n }}\n >\n {displayIcon !== \"\" && (\n <span\n class={{\n [\"status-icon\"]: true,\n [`icon-${this.status}`]: true,\n }}\n innerHTML={displayIcon}\n />\n )}\n\n <ic-typography variant=\"caption\" class=\"statustext\">\n <span aria-live={this.ariaLiveMode} id={id}>\n {this.message}\n </span>\n </ic-typography>\n\n <slot name=\"validation-message-adornment\"></slot>\n </Host>\n );\n }\n}\n"]}
|