@ukic/web-components 3.7.0 → 3.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/{helpers-8217daf4.js → helpers-a0e78e2e.js} +31 -7
- package/dist/cjs/helpers-a0e78e2e.js.map +1 -0
- package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
- package/dist/cjs/ic-action-chip.cjs.entry.js +116 -0
- package/dist/cjs/ic-action-chip.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-alert.cjs.entry.js +2 -2
- 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-badge.cjs.entry.js +4 -4
- package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-breadcrumb.cjs.entry.js +3 -3
- package/dist/cjs/ic-button_3.cjs.entry.js +56 -96
- package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-card-vertical.cjs.entry.js +5 -5
- package/dist/cjs/ic-checkbox-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-checkbox.cjs.entry.js +6 -6
- package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-chip.cjs.entry.js +13 -5
- package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-classification-banner.cjs.entry.js +2 -2
- package/dist/cjs/ic-data-list.cjs.entry.js +3 -3
- package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js +4 -4
- package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-dialog.cjs.entry.js +2 -2
- package/dist/cjs/ic-divider.cjs.entry.js +1 -1
- package/dist/cjs/ic-empty-state.cjs.entry.js +3 -3
- package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-footer-link.cjs.entry.js +3 -3
- package/dist/cjs/ic-footer.cjs.entry.js +4 -4
- package/dist/cjs/ic-hero.cjs.entry.js +5 -5
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +6 -6
- package/dist/cjs/ic-input-component-container_3.cjs.entry.js +9 -9
- package/dist/cjs/ic-input-label_2.cjs.entry.js +6 -6
- package/dist/cjs/ic-layout-grid-item.cjs.entry.js +70 -0
- package/dist/cjs/ic-layout-grid-item.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-layout-grid.cjs.entry.js +156 -0
- package/dist/cjs/ic-layout-grid.cjs.entry.js.map +1 -0
- package/dist/cjs/ic-link.cjs.entry.js +2 -2
- package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
- package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-button.cjs.entry.js +3 -3
- package/dist/cjs/ic-navigation-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +3 -3
- package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
- package/dist/cjs/ic-page-header.cjs.entry.js +7 -7
- package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -2
- package/dist/cjs/ic-pagination.cjs.entry.js +5 -5
- package/dist/cjs/ic-popover-menu.cjs.entry.js +10 -6
- package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +5 -5
- package/dist/cjs/ic-radio-option.cjs.entry.js +5 -5
- package/dist/cjs/ic-search-bar.cjs.entry.js +10 -10
- package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
- package/dist/cjs/ic-select.cjs.entry.js +7 -7
- package/dist/cjs/ic-side-navigation.cjs.entry.js +5 -5
- package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
- package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
- package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
- package/dist/cjs/ic-step.cjs.entry.js +14 -14
- package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
- package/dist/cjs/ic-switch.cjs.entry.js +5 -5
- package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
- package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
- package/dist/cjs/ic-tab.cjs.entry.js +3 -3
- package/dist/cjs/ic-text-field.cjs.entry.js +7 -7
- package/dist/cjs/ic-theme.cjs.entry.js +2 -2
- package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
- package/dist/cjs/ic-toast.cjs.entry.js +5 -5
- package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js +3 -3
- package/dist/cjs/ic-toggle-button.cjs.entry.js +3 -3
- package/dist/cjs/ic-top-navigation.cjs.entry.js +5 -5
- package/dist/cjs/ic-typography.cjs.entry.js +3 -3
- package/dist/cjs/index-d337cd8a.js +12 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/assets/ai-icon.svg +11 -0
- package/dist/collection/collection-manifest.json +3 -0
- package/dist/collection/components/ic-action-chip/ic-action-chip.css +644 -0
- package/dist/collection/components/ic-action-chip/ic-action-chip.js +564 -0
- package/dist/collection/components/ic-action-chip/ic-action-chip.js.map +1 -0
- package/dist/collection/components/ic-action-chip/ic-action-chip.stories.js +386 -0
- package/dist/collection/components/ic-alert/ic-alert.css +13 -0
- package/dist/collection/components/ic-alert/ic-alert.js +1 -1
- package/dist/collection/components/ic-alert/ic-alert.stories.js +7 -2
- package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +3 -3
- package/dist/collection/components/ic-badge/ic-badge.css +4 -0
- package/dist/collection/components/ic-badge/ic-badge.js +3 -3
- package/dist/collection/components/ic-badge/ic-badge.stories.js +98 -0
- package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +2 -2
- package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +2 -2
- package/dist/collection/components/ic-button/ic-button.css +3 -11
- package/dist/collection/components/ic-button/ic-button.js +33 -12
- package/dist/collection/components/ic-button/ic-button.js.map +1 -1
- package/dist/collection/components/ic-button/ic-button.stories.js +181 -2
- package/dist/collection/components/ic-card-vertical/ic-card-vertical.js +4 -4
- package/dist/collection/components/ic-checkbox/ic-checkbox.css +1 -0
- package/dist/collection/components/ic-checkbox/ic-checkbox.js +4 -4
- package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +2 -2
- package/dist/collection/components/ic-chip/ic-chip.css +3 -3
- package/dist/collection/components/ic-chip/ic-chip.js +12 -4
- package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
- package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +2 -2
- package/dist/collection/components/ic-data-list/ic-data-list.css +5 -0
- package/dist/collection/components/ic-data-list/ic-data-list.js +2 -2
- package/dist/collection/components/ic-data-list/ic-data-list.stories.js +50 -0
- package/dist/collection/components/ic-data-row/ic-data-row.css +3 -1
- package/dist/collection/components/ic-data-row/ic-data-row.js +2 -2
- package/dist/collection/components/ic-dialog/ic-dialog.js +1 -1
- package/dist/collection/components/ic-dialog/ic-dialog.stories.js +31 -4
- package/dist/collection/components/ic-empty-state/ic-empty-state.js +2 -2
- package/dist/collection/components/ic-footer/ic-footer.js +3 -3
- package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -2
- package/dist/collection/components/ic-hero/ic-hero.js +4 -4
- package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +5 -5
- package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +3 -3
- package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
- package/dist/collection/components/ic-input-label/ic-input-label.js +2 -2
- package/dist/collection/components/ic-input-validation/ic-input-validation.js +3 -3
- package/dist/collection/components/ic-layout-grid/ic-layout-grid.css +540 -0
- package/dist/collection/components/ic-layout-grid/ic-layout-grid.js +377 -0
- package/dist/collection/components/ic-layout-grid/ic-layout-grid.js.map +1 -0
- package/dist/collection/components/ic-layout-grid/ic-layout-grid.stories.js +429 -0
- package/dist/collection/components/ic-layout-grid/ic-layout-grid.types.js +2 -0
- package/dist/collection/components/ic-layout-grid/ic-layout-grid.types.js.map +1 -0
- package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.css +12 -0
- package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js +182 -0
- package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js.map +1 -0
- package/dist/collection/components/ic-link/ic-link.js +1 -1
- package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +5 -5
- package/dist/collection/components/ic-menu/ic-menu.js +3 -3
- package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
- package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +2 -2
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +2 -0
- package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +1 -1
- package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +2 -2
- package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
- package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
- package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
- package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +29 -5
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
- package/dist/collection/components/ic-popover-menu/ic-popover-menu.stories.js +94 -0
- package/dist/collection/components/ic-radio-group/ic-radio-group.js +4 -4
- package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -4
- package/dist/collection/components/ic-search-bar/ic-search-bar.js +9 -9
- package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
- package/dist/collection/components/ic-select/ic-select.js +6 -6
- package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +4 -4
- package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
- package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
- package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
- package/dist/collection/components/ic-step/ic-step.js +13 -13
- package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
- package/dist/collection/components/ic-switch/ic-switch.js +4 -4
- package/dist/collection/components/ic-tab/ic-tab.js +2 -2
- package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -1
- package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
- package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
- package/dist/collection/components/ic-text-field/ic-text-field.js +6 -6
- package/dist/collection/components/ic-theme/ic-theme.js +1 -1
- package/dist/collection/components/ic-toast/ic-toast.css +8 -0
- package/dist/collection/components/ic-toast/ic-toast.js +4 -4
- package/dist/collection/components/ic-toast/ic-toast.stories.js +2 -2
- package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
- package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
- package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
- package/dist/collection/components/ic-tooltip/ic-tooltip.css +2 -5
- package/dist/collection/components/ic-tooltip/ic-tooltip.js +57 -78
- package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
- package/dist/collection/components/ic-tooltip/ic-tooltip.stories.js +38 -0
- package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +4 -4
- package/dist/collection/components/ic-typography/ic-typography.js +2 -2
- package/dist/collection/utils/constants.js +5 -0
- package/dist/collection/utils/constants.js.map +1 -1
- package/dist/collection/utils/helpers.js +14 -6
- package/dist/collection/utils/helpers.js.map +1 -1
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/components/helpers.js +31 -7
- package/dist/components/helpers.js.map +1 -1
- package/dist/components/ic-action-chip.d.ts +11 -0
- package/dist/components/ic-action-chip.js +160 -0
- package/dist/components/ic-action-chip.js.map +1 -0
- package/dist/components/ic-alert.js +1 -1
- package/dist/components/ic-alert.js.map +1 -1
- package/dist/components/ic-back-to-top.js +4 -4
- package/dist/components/ic-back-to-top.js.map +1 -1
- package/dist/components/ic-badge.js +4 -4
- package/dist/components/ic-badge.js.map +1 -1
- package/dist/components/ic-breadcrumb-group.js +3 -3
- package/dist/components/ic-breadcrumb2.js +3 -3
- package/dist/components/ic-button2.js +15 -13
- package/dist/components/ic-button2.js.map +1 -1
- package/dist/components/ic-card-vertical.js +4 -4
- package/dist/components/ic-checkbox-group.js +3 -3
- package/dist/components/ic-checkbox.js +6 -6
- package/dist/components/ic-checkbox.js.map +1 -1
- package/dist/components/ic-chip.js +13 -5
- package/dist/components/ic-chip.js.map +1 -1
- package/dist/components/ic-classification-banner.js +2 -2
- package/dist/components/ic-data-list.js +3 -3
- package/dist/components/ic-data-list.js.map +1 -1
- package/dist/components/ic-data-row.js +4 -4
- package/dist/components/ic-data-row.js.map +1 -1
- package/dist/components/ic-dialog.js +2 -2
- package/dist/components/ic-divider2.js +1 -1
- package/dist/components/ic-empty-state.js +2 -2
- package/dist/components/ic-footer-link-group.js +1 -1
- package/dist/components/ic-footer-link.js +3 -3
- package/dist/components/ic-footer.js +4 -4
- package/dist/components/ic-hero.js +5 -5
- package/dist/components/ic-horizontal-scroll2.js +6 -6
- package/dist/components/ic-input-component-container2.js +4 -4
- package/dist/components/ic-input-container2.js +2 -2
- package/dist/components/ic-input-label2.js +3 -3
- package/dist/components/ic-input-validation2.js +4 -4
- package/dist/components/ic-layout-grid-item.d.ts +11 -0
- package/dist/components/ic-layout-grid-item.js +95 -0
- package/dist/components/ic-layout-grid-item.js.map +1 -0
- package/dist/components/ic-layout-grid.d.ts +11 -0
- package/dist/components/ic-layout-grid.js +188 -0
- package/dist/components/ic-layout-grid.js.map +1 -0
- package/dist/components/ic-link2.js +1 -1
- package/dist/components/ic-loading-indicator2.js +5 -5
- package/dist/components/ic-menu-group.js +2 -2
- package/dist/components/ic-menu-item2.js +1 -1
- package/dist/components/ic-menu2.js +4 -4
- package/dist/components/ic-navigation-button.js +3 -3
- package/dist/components/ic-navigation-group.js +3 -3
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-item.js +3 -3
- package/dist/components/ic-navigation-menu2.js +5 -5
- package/dist/components/ic-page-header.js +7 -7
- package/dist/components/ic-pagination-item2.js +2 -2
- package/dist/components/ic-pagination.js +4 -4
- package/dist/components/ic-pagination.js.map +1 -1
- package/dist/components/ic-popover-menu.js +11 -6
- package/dist/components/ic-popover-menu.js.map +1 -1
- package/dist/components/ic-radio-group.js +5 -5
- package/dist/components/ic-radio-group.js.map +1 -1
- package/dist/components/ic-radio-option.js +5 -5
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +10 -10
- package/dist/components/ic-section-container2.js +2 -2
- package/dist/components/ic-select.js +7 -7
- package/dist/components/ic-side-navigation.js +5 -5
- package/dist/components/ic-skeleton.js +2 -2
- package/dist/components/ic-skip-link.js +2 -2
- package/dist/components/ic-status-tag.js +2 -2
- package/dist/components/ic-status-tag.js.map +1 -1
- package/dist/components/ic-step.js +14 -14
- package/dist/components/ic-stepper.js +2 -2
- package/dist/components/ic-switch.js +5 -5
- package/dist/components/ic-tab-context.js +1 -1
- package/dist/components/ic-tab-group.js +2 -2
- package/dist/components/ic-tab-panel.js +2 -2
- package/dist/components/ic-tab.js +2 -2
- package/dist/components/ic-tab.js.map +1 -1
- package/dist/components/ic-text-field.js +7 -7
- package/dist/components/ic-theme.js +2 -2
- package/dist/components/ic-toast-region.js +1 -1
- package/dist/components/ic-toast.js +5 -5
- package/dist/components/ic-toast.js.map +1 -1
- package/dist/components/ic-toggle-button-group.js +2 -2
- package/dist/components/ic-toggle-button.js +2 -2
- package/dist/components/ic-tooltip2.js +39 -79
- package/dist/components/ic-tooltip2.js.map +1 -1
- package/dist/components/ic-top-navigation.js +5 -5
- package/dist/components/ic-typography2.js +2 -2
- package/dist/core/core.css +236 -16
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/p-0d680d19.entry.js +2 -0
- package/dist/core/p-0d680d19.entry.js.map +1 -0
- package/dist/core/{p-06e80441.entry.js → p-15dbccc2.entry.js} +2 -2
- package/dist/core/{p-91f6884a.entry.js → p-19cf2327.entry.js} +2 -2
- package/dist/core/{p-4b6818d9.entry.js → p-1cc402b8.entry.js} +2 -2
- package/dist/core/p-1d37ac1c.entry.js +2 -0
- package/dist/core/p-1d37ac1c.entry.js.map +1 -0
- package/dist/core/{p-182b7037.entry.js → p-1e2f40b0.entry.js} +2 -2
- package/dist/core/{p-9d5e4b62.entry.js → p-21cf2beb.entry.js} +2 -2
- package/dist/core/p-25007ec9.js +2 -0
- package/dist/core/p-25007ec9.js.map +1 -0
- package/dist/core/{p-fc5661ac.entry.js → p-287e5c17.entry.js} +2 -2
- package/dist/core/{p-543b90c5.entry.js → p-28efe829.entry.js} +2 -2
- package/dist/core/{p-fb6e6ac4.entry.js → p-2f4f392f.entry.js} +2 -2
- package/dist/core/{p-4301e11e.entry.js → p-313a8a2f.entry.js} +2 -2
- package/dist/core/p-317e005f.entry.js +2 -0
- package/dist/core/{p-ff47772c.entry.js.map → p-317e005f.entry.js.map} +1 -1
- package/dist/core/{p-f4ee5fbb.entry.js → p-3dc54847.entry.js} +2 -2
- package/dist/core/{p-0549305b.entry.js → p-3e5d7a3d.entry.js} +2 -2
- package/dist/core/p-41ef74a7.entry.js +2 -0
- package/dist/core/p-41ef74a7.entry.js.map +1 -0
- package/dist/core/{p-ae2ea264.entry.js → p-41f92698.entry.js} +2 -2
- package/dist/core/p-43324339.entry.js +2 -0
- package/dist/core/p-43324339.entry.js.map +1 -0
- package/dist/core/{p-9e051db4.entry.js → p-45dd12ee.entry.js} +2 -2
- package/dist/core/{p-018eaee0.entry.js → p-493eaabb.entry.js} +2 -2
- package/dist/core/{p-a591ef38.entry.js → p-4ca782eb.entry.js} +2 -2
- package/dist/core/{p-056be0df.entry.js → p-4d1a3036.entry.js} +2 -2
- package/dist/core/p-52748d5c.entry.js +2 -0
- package/dist/core/p-52748d5c.entry.js.map +1 -0
- package/dist/core/p-595a4d06.entry.js +2 -0
- package/dist/core/p-595a4d06.entry.js.map +1 -0
- package/dist/core/p-5daa7915.entry.js +2 -0
- package/dist/core/{p-02132a4c.entry.js.map → p-5daa7915.entry.js.map} +1 -1
- package/dist/core/{p-421b5f2d.entry.js → p-5f68f62b.entry.js} +2 -2
- package/dist/core/{p-d281c3cf.entry.js → p-5fbc8e62.entry.js} +2 -2
- package/dist/core/{p-06b0d0f6.entry.js → p-6014ab64.entry.js} +2 -2
- package/dist/core/{p-afde0edc.entry.js → p-661ae402.entry.js} +2 -2
- package/dist/core/{p-a2ae5d9e.entry.js → p-6a576a8b.entry.js} +2 -2
- package/dist/core/{p-b1b27b7e.entry.js → p-6e8ef73c.entry.js} +2 -2
- package/dist/core/p-6ed0ac48.entry.js +2 -0
- package/dist/core/{p-3194e46c.entry.js.map → p-6ed0ac48.entry.js.map} +1 -1
- package/dist/core/p-711bfeed.entry.js +2 -0
- package/dist/core/p-711bfeed.entry.js.map +1 -0
- package/dist/core/{p-2ec0d11c.entry.js → p-72a9909c.entry.js} +2 -2
- package/dist/core/{p-f9491692.entry.js → p-742a9181.entry.js} +2 -2
- package/dist/core/p-7cd4f6a6.entry.js +2 -0
- package/dist/core/{p-773ded36.entry.js.map → p-7cd4f6a6.entry.js.map} +1 -1
- package/dist/core/{p-152ddde9.entry.js → p-8a4b12e4.entry.js} +2 -2
- package/dist/core/{p-3448c713.entry.js → p-8b5022bc.entry.js} +2 -2
- package/dist/core/{p-ce916f35.entry.js → p-9323c234.entry.js} +2 -2
- package/dist/core/{p-50d13439.entry.js → p-948f89a0.entry.js} +2 -2
- package/dist/core/p-97b93ddf.entry.js +2 -0
- package/dist/core/p-97b93ddf.entry.js.map +1 -0
- package/dist/core/{p-0f86ea09.entry.js → p-999f0a5d.entry.js} +2 -2
- package/dist/core/p-999f0a5d.entry.js.map +1 -0
- package/dist/core/{p-ba89fa16.entry.js → p-9c013333.entry.js} +2 -2
- package/dist/core/{p-b83cca09.entry.js → p-9eeb5e85.entry.js} +2 -2
- package/dist/core/{p-0179fbd3.entry.js → p-9f36791b.entry.js} +2 -2
- package/dist/core/{p-8a5b0fb0.entry.js → p-a602a8e1.entry.js} +2 -2
- package/dist/core/{p-98869fe7.entry.js → p-a77364f5.entry.js} +2 -2
- package/dist/core/{p-6b52e47f.entry.js → p-af9c391d.entry.js} +2 -2
- package/dist/core/{p-77750efc.entry.js → p-b0d488d0.entry.js} +2 -2
- package/dist/core/p-b25d33d8.entry.js +2 -0
- package/dist/core/{p-627f7172.entry.js.map → p-b25d33d8.entry.js.map} +1 -1
- package/dist/core/{p-cd8dab55.entry.js → p-b52000d9.entry.js} +2 -2
- package/dist/core/p-cbe0d1bb.entry.js +2 -0
- package/dist/core/{p-ec1657fc.entry.js.map → p-cbe0d1bb.entry.js.map} +1 -1
- package/dist/core/p-ceea1712.entry.js +2 -0
- package/dist/core/p-ceea1712.entry.js.map +1 -0
- package/dist/core/p-cf631191.entry.js +2 -0
- package/dist/core/{p-6dd73165.entry.js → p-df88ff5b.entry.js} +2 -2
- package/dist/core/{p-bb21268f.entry.js → p-e652ab09.entry.js} +2 -2
- package/dist/core/{p-29468171.entry.js → p-e876e47c.entry.js} +2 -2
- package/dist/core/p-ea061ccf.entry.js +2 -0
- package/dist/core/p-ea061ccf.entry.js.map +1 -0
- package/dist/core/{p-ab1103e1.entry.js → p-ea778379.entry.js} +2 -2
- package/dist/core/{p-948086f4.entry.js → p-ef4b5469.entry.js} +2 -2
- package/dist/core/p-f309d3af.entry.js +2 -0
- package/dist/core/{p-554c555f.entry.js.map → p-f309d3af.entry.js.map} +1 -1
- package/dist/core/{p-9ed5f11d.entry.js → p-f6a02202.entry.js} +2 -2
- package/dist/core/p-fc3b1155.entry.js +2 -0
- package/dist/core/p-fc3b1155.entry.js.map +1 -0
- package/dist/core/p-ffac41d6.entry.js +2 -0
- package/dist/core/p-ffac41d6.entry.js.map +1 -0
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-f5ff3b42.js → helpers-56631aa0.js} +32 -8
- package/dist/esm/helpers-56631aa0.js.map +1 -0
- package/dist/esm/ic-accordion-group.entry.js +1 -1
- package/dist/esm/ic-accordion.entry.js +1 -1
- package/dist/esm/ic-action-chip.entry.js +112 -0
- package/dist/esm/ic-action-chip.entry.js.map +1 -0
- package/dist/esm/ic-alert.entry.js +2 -2
- 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-badge.entry.js +4 -4
- package/dist/esm/ic-badge.entry.js.map +1 -1
- package/dist/esm/ic-breadcrumb-group.entry.js +3 -3
- package/dist/esm/ic-breadcrumb.entry.js +3 -3
- package/dist/esm/ic-button_3.entry.js +56 -96
- package/dist/esm/ic-button_3.entry.js.map +1 -1
- package/dist/esm/ic-card-vertical.entry.js +5 -5
- package/dist/esm/ic-checkbox-group.entry.js +3 -3
- package/dist/esm/ic-checkbox.entry.js +6 -6
- package/dist/esm/ic-checkbox.entry.js.map +1 -1
- package/dist/esm/ic-chip.entry.js +13 -5
- package/dist/esm/ic-chip.entry.js.map +1 -1
- package/dist/esm/ic-classification-banner.entry.js +2 -2
- package/dist/esm/ic-data-list.entry.js +3 -3
- package/dist/esm/ic-data-list.entry.js.map +1 -1
- package/dist/esm/ic-data-row.entry.js +4 -4
- package/dist/esm/ic-data-row.entry.js.map +1 -1
- package/dist/esm/ic-dialog.entry.js +2 -2
- package/dist/esm/ic-divider.entry.js +1 -1
- package/dist/esm/ic-empty-state.entry.js +3 -3
- package/dist/esm/ic-footer-link-group.entry.js +1 -1
- package/dist/esm/ic-footer-link.entry.js +3 -3
- package/dist/esm/ic-footer.entry.js +4 -4
- package/dist/esm/ic-hero.entry.js +5 -5
- package/dist/esm/ic-horizontal-scroll.entry.js +6 -6
- package/dist/esm/ic-input-component-container_3.entry.js +9 -9
- package/dist/esm/ic-input-label_2.entry.js +6 -6
- package/dist/esm/ic-layout-grid-item.entry.js +66 -0
- package/dist/esm/ic-layout-grid-item.entry.js.map +1 -0
- package/dist/esm/ic-layout-grid.entry.js +152 -0
- package/dist/esm/ic-layout-grid.entry.js.map +1 -0
- package/dist/esm/ic-link.entry.js +2 -2
- package/dist/esm/ic-menu-group.entry.js +2 -2
- package/dist/esm/ic-menu-item.entry.js +1 -1
- package/dist/esm/ic-navigation-button.entry.js +3 -3
- package/dist/esm/ic-navigation-group.entry.js +3 -3
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +3 -3
- package/dist/esm/ic-navigation-menu.entry.js +5 -5
- package/dist/esm/ic-page-header.entry.js +7 -7
- package/dist/esm/ic-pagination-item.entry.js +2 -2
- package/dist/esm/ic-pagination.entry.js +5 -5
- package/dist/esm/ic-popover-menu.entry.js +10 -6
- package/dist/esm/ic-popover-menu.entry.js.map +1 -1
- package/dist/esm/ic-radio-group.entry.js +5 -5
- package/dist/esm/ic-radio-option.entry.js +5 -5
- package/dist/esm/ic-search-bar.entry.js +10 -10
- package/dist/esm/ic-section-container.entry.js +2 -2
- package/dist/esm/ic-select.entry.js +7 -7
- package/dist/esm/ic-side-navigation.entry.js +5 -5
- package/dist/esm/ic-skeleton.entry.js +2 -2
- package/dist/esm/ic-skip-link.entry.js +2 -2
- package/dist/esm/ic-status-tag.entry.js +3 -3
- package/dist/esm/ic-step.entry.js +14 -14
- package/dist/esm/ic-stepper.entry.js +3 -3
- package/dist/esm/ic-switch.entry.js +5 -5
- package/dist/esm/ic-tab-context.entry.js +1 -1
- package/dist/esm/ic-tab-group.entry.js +3 -3
- package/dist/esm/ic-tab-panel.entry.js +2 -2
- package/dist/esm/ic-tab.entry.js +3 -3
- package/dist/esm/ic-text-field.entry.js +7 -7
- package/dist/esm/ic-theme.entry.js +2 -2
- package/dist/esm/ic-toast-region.entry.js +1 -1
- package/dist/esm/ic-toast.entry.js +5 -5
- package/dist/esm/ic-toast.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button-group.entry.js +3 -3
- package/dist/esm/ic-toggle-button.entry.js +3 -3
- package/dist/esm/ic-top-navigation.entry.js +5 -5
- package/dist/esm/ic-typography.entry.js +3 -3
- package/dist/esm/index-a7a720e7.js +12 -0
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-action-chip/ic-action-chip.d.ts +100 -0
- package/dist/types/components/ic-button/ic-button.d.ts +4 -0
- package/dist/types/components/ic-chip/ic-chip.d.ts +2 -0
- package/dist/types/components/ic-layout-grid/ic-layout-grid.d.ts +56 -0
- package/dist/types/components/ic-layout-grid/ic-layout-grid.types.d.ts +8 -0
- package/dist/types/components/ic-layout-grid-item/ic-layout-grid-item.d.ts +29 -0
- package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +4 -0
- package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +5 -4
- package/dist/types/components.d.ts +343 -2
- package/dist/types/utils/constants.d.ts +4 -0
- package/dist/types/utils/helpers.d.ts +3 -3
- package/dist/types/utils/types.d.ts +1 -1
- package/hydrate/index.js +659 -278
- package/hydrate/index.mjs +659 -278
- package/package.json +2 -2
- package/vscode-data.json +270 -0
- package/dist/cjs/helpers-8217daf4.js.map +0 -1
- package/dist/core/p-02132a4c.entry.js +0 -2
- package/dist/core/p-08567369.entry.js +0 -2
- package/dist/core/p-08567369.entry.js.map +0 -1
- package/dist/core/p-0f86ea09.entry.js.map +0 -1
- package/dist/core/p-3194e46c.entry.js +0 -2
- package/dist/core/p-43b98687.entry.js +0 -2
- package/dist/core/p-43b98687.entry.js.map +0 -1
- package/dist/core/p-4b8bfb59.entry.js +0 -2
- package/dist/core/p-4b8bfb59.entry.js.map +0 -1
- package/dist/core/p-4cd83bfe.entry.js +0 -2
- package/dist/core/p-4cd83bfe.entry.js.map +0 -1
- package/dist/core/p-554c555f.entry.js +0 -2
- package/dist/core/p-5fb58cc8.entry.js +0 -2
- package/dist/core/p-5fb58cc8.entry.js.map +0 -1
- package/dist/core/p-627f7172.entry.js +0 -2
- package/dist/core/p-70abcb2b.js +0 -2
- package/dist/core/p-70abcb2b.js.map +0 -1
- package/dist/core/p-773ded36.entry.js +0 -2
- package/dist/core/p-7cada631.entry.js +0 -2
- package/dist/core/p-7cada631.entry.js.map +0 -1
- package/dist/core/p-939adcae.entry.js +0 -2
- package/dist/core/p-939adcae.entry.js.map +0 -1
- package/dist/core/p-97f67617.entry.js +0 -2
- package/dist/core/p-97f67617.entry.js.map +0 -1
- package/dist/core/p-c100724d.entry.js +0 -2
- package/dist/core/p-d85b438a.entry.js +0 -2
- package/dist/core/p-d85b438a.entry.js.map +0 -1
- package/dist/core/p-ec1657fc.entry.js +0 -2
- package/dist/core/p-ff47772c.entry.js +0 -2
- package/dist/esm/helpers-f5ff3b42.js.map +0 -1
- /package/dist/core/{p-06e80441.entry.js.map → p-15dbccc2.entry.js.map} +0 -0
- /package/dist/core/{p-91f6884a.entry.js.map → p-19cf2327.entry.js.map} +0 -0
- /package/dist/core/{p-4b6818d9.entry.js.map → p-1cc402b8.entry.js.map} +0 -0
- /package/dist/core/{p-182b7037.entry.js.map → p-1e2f40b0.entry.js.map} +0 -0
- /package/dist/core/{p-9d5e4b62.entry.js.map → p-21cf2beb.entry.js.map} +0 -0
- /package/dist/core/{p-fc5661ac.entry.js.map → p-287e5c17.entry.js.map} +0 -0
- /package/dist/core/{p-543b90c5.entry.js.map → p-28efe829.entry.js.map} +0 -0
- /package/dist/core/{p-fb6e6ac4.entry.js.map → p-2f4f392f.entry.js.map} +0 -0
- /package/dist/core/{p-4301e11e.entry.js.map → p-313a8a2f.entry.js.map} +0 -0
- /package/dist/core/{p-f4ee5fbb.entry.js.map → p-3dc54847.entry.js.map} +0 -0
- /package/dist/core/{p-0549305b.entry.js.map → p-3e5d7a3d.entry.js.map} +0 -0
- /package/dist/core/{p-ae2ea264.entry.js.map → p-41f92698.entry.js.map} +0 -0
- /package/dist/core/{p-9e051db4.entry.js.map → p-45dd12ee.entry.js.map} +0 -0
- /package/dist/core/{p-018eaee0.entry.js.map → p-493eaabb.entry.js.map} +0 -0
- /package/dist/core/{p-a591ef38.entry.js.map → p-4ca782eb.entry.js.map} +0 -0
- /package/dist/core/{p-056be0df.entry.js.map → p-4d1a3036.entry.js.map} +0 -0
- /package/dist/core/{p-421b5f2d.entry.js.map → p-5f68f62b.entry.js.map} +0 -0
- /package/dist/core/{p-d281c3cf.entry.js.map → p-5fbc8e62.entry.js.map} +0 -0
- /package/dist/core/{p-06b0d0f6.entry.js.map → p-6014ab64.entry.js.map} +0 -0
- /package/dist/core/{p-afde0edc.entry.js.map → p-661ae402.entry.js.map} +0 -0
- /package/dist/core/{p-a2ae5d9e.entry.js.map → p-6a576a8b.entry.js.map} +0 -0
- /package/dist/core/{p-b1b27b7e.entry.js.map → p-6e8ef73c.entry.js.map} +0 -0
- /package/dist/core/{p-2ec0d11c.entry.js.map → p-72a9909c.entry.js.map} +0 -0
- /package/dist/core/{p-f9491692.entry.js.map → p-742a9181.entry.js.map} +0 -0
- /package/dist/core/{p-152ddde9.entry.js.map → p-8a4b12e4.entry.js.map} +0 -0
- /package/dist/core/{p-3448c713.entry.js.map → p-8b5022bc.entry.js.map} +0 -0
- /package/dist/core/{p-ce916f35.entry.js.map → p-9323c234.entry.js.map} +0 -0
- /package/dist/core/{p-50d13439.entry.js.map → p-948f89a0.entry.js.map} +0 -0
- /package/dist/core/{p-ba89fa16.entry.js.map → p-9c013333.entry.js.map} +0 -0
- /package/dist/core/{p-b83cca09.entry.js.map → p-9eeb5e85.entry.js.map} +0 -0
- /package/dist/core/{p-0179fbd3.entry.js.map → p-9f36791b.entry.js.map} +0 -0
- /package/dist/core/{p-8a5b0fb0.entry.js.map → p-a602a8e1.entry.js.map} +0 -0
- /package/dist/core/{p-98869fe7.entry.js.map → p-a77364f5.entry.js.map} +0 -0
- /package/dist/core/{p-6b52e47f.entry.js.map → p-af9c391d.entry.js.map} +0 -0
- /package/dist/core/{p-77750efc.entry.js.map → p-b0d488d0.entry.js.map} +0 -0
- /package/dist/core/{p-cd8dab55.entry.js.map → p-b52000d9.entry.js.map} +0 -0
- /package/dist/core/{p-c100724d.entry.js.map → p-cf631191.entry.js.map} +0 -0
- /package/dist/core/{p-6dd73165.entry.js.map → p-df88ff5b.entry.js.map} +0 -0
- /package/dist/core/{p-bb21268f.entry.js.map → p-e652ab09.entry.js.map} +0 -0
- /package/dist/core/{p-29468171.entry.js.map → p-e876e47c.entry.js.map} +0 -0
- /package/dist/core/{p-ab1103e1.entry.js.map → p-ea778379.entry.js.map} +0 -0
- /package/dist/core/{p-948086f4.entry.js.map → p-ef4b5469.entry.js.map} +0 -0
- /package/dist/core/{p-9ed5f11d.entry.js.map → p-f6a02202.entry.js.map} +0 -0
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as e,h as
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r as e,h as a,H as t,g as i}from"./p-8e4e97b4.js";import{D as s,i as n,f as o,h as r}from"./p-25007ec9.js";const d='/*! 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;z-index:var(--ic-z-index-page-header)}:host(.ic-page-header-sticky){position:sticky;top:0;box-shadow:var(--ic-elevation-overlay);z-index:var(--ic-z-index-sticky-page-header)}header{background-color:var(--ic-page-header-background)}header.border-bottom{border-bottom:var(--ic-border-default);border-bottom:var(--ic-space-1px) solid var(--ic-page-header-border)}header.tabs{padding-top:var(--ic-space-md)}.breadcrumb-area{margin-bottom:var(--ic-space-md)}.main-content{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"title-area action-area"\n "input-area action-area";-moz-column-gap:var(--ic-space-md);column-gap:var(--ic-space-md);justify-content:space-between;width:100%}.title-area{display:flex;flex-direction:column;flex:1;min-width:19rem;grid-area:title-area}.header-content{display:flex;align-items:center;width:100%;flex-wrap:wrap;-moz-column-gap:var(--ic-space-md);column-gap:var(--ic-space-md)}.heading{display:inline-block;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.subheading-content{margin-top:var(--ic-space-xs)}.subheading-content.small{margin-top:var(--ic-space-md)}.action-area{display:flex;gap:var(--ic-space-md);flex-flow:row wrap;justify-self:end;justify-content:flex-end;height:-moz-fit-content;height:fit-content;grid-area:action-area}.input-area,.navigation-area{margin-top:var(--ic-space-md);width:100%}.tabs-slot{display:flex;overflow-x:auto;padding:0.5rem;margin:-0.5rem}.tabs-slot::-webkit-scrollbar{display:none}.input-area{grid-area:input-area}@media screen and (max-width: 576px){::slotted(ic-text-field){--input-width:100%;max-width:20rem}.main-content{grid-template-areas:"title-area"\n "action-area"\n "input-area";justify-content:flex-start}.title-area{min-width:0}.action-area{min-width:100%;margin-top:var(--ic-space-md);justify-content:start}}@media screen and (min-width: 992px){:host(.ic-page-header-sticky-desktop){position:sticky;top:0;box-shadow:var(--ic-elevation-overlay);z-index:var(--ic-z-index-sticky-page-header)}}';const c=d;const l=class{constructor(a){e(this,a);this.resizeObserver=null;this.areButtonsReversed=false;this.deviceSize=s.XL;this.aligned="left";this.border=true;this.reverseOrder=false;this.size="medium";this.sticky=false;this.stickyDesktopOnly=false;this.theme="inherit";this.resizeObserverCallback=()=>{if(this.reverseOrder&&n(this.el,"actions")){this.applyReverseOrder()}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{this.resizeObserverCallback()}));this.resizeObserver.observe(this.el)};this.applyReverseOrder=()=>{var e;const a=o();if(a!==this.deviceSize){this.deviceSize=a}const t=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector("div.action-area");const i=[];for(let e=0;e<this.actionContent.length;e++){const a=this.actionContent[e];let t=a.offsetHeight;if(t===undefined){t=0}i.push(t)}const n=Math.max(...i);let r=t.offsetHeight;if(r===undefined){r=0}const d=()=>{this.actionContent=this.actionContent.reverse();this.actionContent.forEach((e=>{this.el.append(e)}));this.areButtonsReversed=!this.areButtonsReversed};if(this.deviceSize>s.S&&r<=n&&!this.areButtonsReversed||(this.deviceSize>s.S&&r>n||this.deviceSize<=s.S)&&this.areButtonsReversed){d()}}}disconnectedCallback(){if(this.resizeObserver!==null){this.resizeObserver.disconnect()}}componentWillLoad(){this.actionContent=Array.from(this.el.querySelectorAll(`[slot="actions"]`))}componentDidLoad(){r(this.runResizeObserver)}render(){var e,i;const{size:s,border:o,heading:r,subheading:d,aligned:c,sticky:l,stickyDesktopOnly:b,theme:h}=this;const f=`${n(this.el,"heading")?(i=(e=this.el.querySelector('[slot="heading"]'))===null||e===void 0?void 0:e.textContent)!==null&&i!==void 0?i:"":r!==null&&r!==void 0?r:""} page sections`;return a(t,{key:"3f81ad49917a1bebdda22330e6f5330ddb8e4607",class:{["ic-page-header-sticky"]:!!l,["ic-page-header-sticky-desktop"]:!l&&!!b,[`ic-theme-${h}`]:h!=="inherit"},"aria-label":this.el.ariaLabel||"page header"},a("header",{key:"4e676a6514eadeea3d5cae863e75af7ff3b94649",class:{["border-bottom"]:!!o,["tabs"]:n(this.el,"tabs")},role:"presentation"},a("ic-section-container",{key:"f5c3eceb50af527dc0a6e9ae0a37f31a22334234",aligned:c,fullHeight:n(this.el,"tabs")},n(this.el,"breadcrumbs")&&a("div",{key:"e5c57032784f736af68fb587d49c2d91dd6dfe2f",class:"breadcrumb-area"},a("slot",{key:"ebd6a9ea582e9ab9352475fd93a1d01da8691ce5",name:"breadcrumbs"})),a("div",{key:"f017c563594f1cd82ae1f2dc56f1303933a358b7",class:"main-content"},a("div",{key:"6e9fd38352c39faac30c7bc0b3d3bb1bf0541bde",class:"title-area"},a("div",{key:"214882f62caa4ed6ff23f9f87414c82fa4f1ee7b",class:"header-content"},a("slot",{key:"fd99c8e27de2c92f4b8ba0c15c4daf681709531f",name:"heading"},a("ic-typography",{key:"d7230bbe28b9fb91f03e87fdaaf41b6deca5a542",variant:s==="small"?"h4":"h2",class:"heading"},a("h2",{key:"63fe762aba268afa25aff458fc1e824272544f33"},r))),a("slot",{key:"2039cc87272f3ab1a479350223238e537b6ee2f4",name:"heading-adornment"})),a("div",{key:"d1253c48dbd399c24a059e62f2545f477811e815",class:{["subheading-content"]:!!d||n(this.el,"subheading"),["small"]:s==="small"}},a("slot",{key:"656675e2ded3fdd2027b0215709cf6faaab7322c",name:"subheading"},a("ic-typography",{key:"fe3bb6b5feb0b725d77e6cf8f5edc212f4c4b506",variant:"body"},d)))),n(this.el,"actions")&&a("div",{key:"f4a2e70fd311c12810eabc05e3a865e4efbba6b8",class:"action-area"},a("slot",{key:"a89c115c6e17021786908022ffc58abe07a88343",name:"actions"})),n(this.el,"input")&&a("div",{key:"a26a7f73e3ee189f6bd9310339cda77cf128a309",class:"input-area"},a("slot",{key:"245383298b97190b21f9723326ac34422bd197ac",name:"input"}))),(n(this.el,"stepper")||n(this.el,"tabs"))&&a("div",{key:"c80f1d04a4300b4f80ff4e2dfa418f985a13e047",class:"navigation-area"},n(this.el,"stepper")&&!n(this.el,"tabs")&&a("slot",{key:"5646084a82aefc58c4912f9b765149393973f8c0",name:"stepper"}),n(this.el,"tabs")&&a("nav",{key:"d7cccfe9d053d1e6849d57665157c841f2434a36","aria-label":f},a("ic-horizontal-scroll",{key:"2ca15ea3dc35db5f9a9003cdbce55b113bae12c8"},a("ul",{key:"3007121bcc05264e5df9986b5231693808b72368",class:"tabs-slot"},a("slot",{key:"d124be273a3cbc36154b2add48ea1c7a36d6e592",name:"tabs"}))))))))}get el(){return i(this)}};l.style=c;export{l as ic_page_header};
|
2
|
+
//# sourceMappingURL=p-a77364f5.entry.js.map
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as t,c as e,h as o,H as i,g as n}from"./p-8e4e97b4.js";import{r}from"./p-
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r as t,c as e,h as o,H as i,g as n}from"./p-8e4e97b4.js";import{r}from"./p-25007ec9.js";const s='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:root{display:block}:host{display:flex;flex-direction:row;width:-moz-fit-content;width:fit-content;min-width:-moz-min-content;min-width:min-content;border:var(--ic-border-width) solid var(--ic-toggle-button-unselected-border);border-radius:var(--ic-border-radius)}:host(.ic-toggle-button-group-full-width){width:100%;max-width:100%}:host(.ic-toggle-button-group-loading){min-width:-moz-max-content;min-width:max-content}:host(:focus){box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);transition:var(--ic-transition-duration-fast);outline:none}::slotted(ic-toggle-button){flex-grow:1;width:-moz-min-content;width:min-content;--toggle-button-border:none !important;--toggle-button-border-hover:none !important;--toggle-button-border-active:none !important}::slotted(ic-toggle-button:not(:last-of-type)){border-right:var(--ic-border-width) solid\n var(--ic-toggle-button-unselected-border)}:host(.ic-toggle-button-group-disabled){border:var(--ic-space-1px) dashed\n var(--ic-toggle-button-unselected-border-disabled);pointer-events:none}:host(.ic-toggle-button-group-disabled) ::slotted(ic-toggle-button:not(:last-of-type)){border-right:var(--ic-space-1px) dashed\n var(--ic-toggle-button-unselected-border-disabled)}:host(.ic-toggle-button-group-monochrome){border:var(--ic-border-width) solid\n var(--ic-toggle-button-unselected-border-monochrome)}:host(.ic-toggle-button-group-monochrome) ::slotted(ic-toggle-button:not(:last-of-type)){border-right:var(--ic-border-width) solid\n var(--ic-toggle-button-unselected-border-monochrome)}:host(.ic-toggle-button-group-disabled.ic-toggle-button-group-monochrome){border:var(--ic-border-width) dashed\n var(--ic-toggle-button-unselected-border-disabled-monochrome)}:host(.ic-toggle-button-group-disabled.ic-toggle-button-group-monochrome) ::slotted(ic-toggle-button:not(:last-of-type)){border-right:var(--ic-border-width) solid\n var(--ic-toggle-button-unselected-border-disabled-monochrome)}:host(.ic-toggle-button-group-hide-outline){--ic-toggle-button-unselected-border:transparent;--ic-toggle-button-unselected-border-disabled:transparent;--ic-toggle-button-unselected-border-monochrome:transparent;--ic-toggle-button-unselected-border-disabled-monochrome:transparent}';const a=s;const l="IC-TOGGLE-BUTTON-GROUP";const d=class{constructor(o){t(this,o);this.icChange=e(this,"icChange",7);this.lastKeyPressed={key:null,shift:false};this.accessibleLabel="Toggle button group";this.disabled=false;this.fullWidth=false;this.loading=false;this.monochrome=false;this.outline=true;this.selectMethod="manual";this.selectType="single";this.size="medium";this.theme="inherit";this.tooltipPlacement="bottom";this.variant="default";this.keyListener=t=>{this.lastKeyPressed={key:t.key,shift:t.shiftKey}};this.handleHostFocus=({target:t,relatedTarget:e})=>{var o;if(this.loading||this.disabled)return;const i=t;const n=e;const r=Array.from((i===null||i===void 0?void 0:i.querySelectorAll("ic-toggle-button"))||[]);const s=r.every((t=>!t.checked));const{shift:a}=this.lastKeyPressed;if((s||this.selectType!=="single")&&!a||s&&a&&(n===null||n===void 0?void 0:n.tagName)==l){(o=r[0])===null||o===void 0?void 0:o.focus()}else if(!a||(n===null||n===void 0?void 0:n.tagName)==l){r.filter((t=>t.checked))[0].focus()}};this.handleKeyDown=({key:t})=>{if(t!=="ArrowDown"&&t!=="ArrowRight"&&t!=="ArrowLeft"&&t!=="ArrowUp")return;const e=this.getAllToggleButtons();const o=e[this.getNextItemToSelect(e.indexOf(e.filter((t=>t===document.activeElement))[0]),t==="ArrowDown"||t==="ArrowRight")];if(this.selectMethod==="auto"){o.checked=true;this.selectHandler(new CustomEvent("icToggleChecked",{detail:{checked:o.checked}}),o)}else{o.focus()}};this.getNextItemToSelect=(t,e)=>{const o=this.getAllToggleButtons();const i=o.length-1;if(t<1){t=0}let n=e?t+1:t-1;if(n<0){n=i}else if(n>i){n=0}if(o[n].disabled){n=this.getNextItemToSelect(n,e)}return n};this.getAllToggleButtons=()=>Array.from(this.el.querySelectorAll("ic-toggle-button"))}watchDisabledHandler(){this.getAllToggleButtons().forEach((t=>{t.disabled=this.disabled}));r(this.disabled,this.el)}watchFullWidthHandler(){this.getAllToggleButtons().forEach((t=>{t.fullWidth=this.fullWidth}))}watchLoadingHandler(){this.getAllToggleButtons().forEach((t=>{t.loading=this.loading}))}watchMonochromeHandler(){this.getAllToggleButtons().forEach((t=>{t.monochrome=this.monochrome}))}watchOutlineHandler(){this.getAllToggleButtons().forEach((t=>{t.outline=this.outline}))}watchSizeHandler(){this.getAllToggleButtons().forEach((t=>{t.size=this.size}))}watchThemeHandler(){this.getAllToggleButtons().forEach((t=>{t.theme=this.theme}))}watchTooltipPlacementHandler(){this.getAllToggleButtons().forEach((t=>{t.tooltipPlacement=this.tooltipPlacement}))}watchVariantHandler(){this.getAllToggleButtons().forEach((t=>{t.variant=this.variant}))}selectHandler(t,e){const o=this.getAllToggleButtons();let i=t.target;if(e)e.focus();if(this.selectType==="single"){if(!i&&e){i=e}o.forEach((t=>{if(t.id!==i.id&&t.checked){t.checked=false}}));this.icChange.emit({checked:t.detail.checked,selectedOption:i})}else{const t=o.filter((t=>t.checked&&!t.disabled));this.icChange.emit({checked:t.map((t=>t.checked)),toggledOptions:t.map((t=>({toggleButton:t}))),selectedOption:i})}}componentWillLoad(){if(this.selectType==="multi")this.selectMethod="manual";document.addEventListener("keydown",this.keyListener);r(this.disabled,this.el)}componentDidLoad(){this.getAllToggleButtons().forEach(((t,e)=>{var o,i,n;const r=(n=(i=(o=t.shadowRoot)===null||o===void 0?void 0:o.querySelector("ic-button"))===null||i===void 0?void 0:i.shadowRoot)===null||n===void 0?void 0:n.querySelector("button");if(r){const t=r.getAttribute("aria-label");const e=t?`${t}, `:"";r.setAttribute("aria-label",`${e}${this.accessibleLabel}`)}t.id=e.toString();t.tabIndex=-1;t.addEventListener("keydown",(t=>{this.handleKeyDown(t)}));t.classList.add("expand-toggle-group-child")}))}disconnectedCallback(){document===null||document===void 0?void 0:document.removeEventListener("keydown",this.keyListener)}render(){const{accessibleLabel:t,disabled:e,fullWidth:n,loading:r,monochrome:s,outline:a,theme:l}=this;return o(i,{key:"58a777e47ee684831b54f2aa7139f091e7a11b29",role:"group","aria-label":t,tabindex:0,class:{"ic-toggle-button-group-disabled":e,"ic-toggle-button-group-full-width":n,"ic-toggle-button-group-loading":r,"ic-toggle-button-group-monochrome":s,"ic-toggle-button-group-hide-outline":!a,[`ic-theme-${l}`]:l!=="inherit"},onFocus:this.handleHostFocus},o("slot",{key:"c748f41a8d8e69c908a8fb1ca4255dfd2ae5d521"}))}get el(){return n(this)}static get watchers(){return{disabled:["watchDisabledHandler"],fullWidth:["watchFullWidthHandler"],loading:["watchLoadingHandler"],monochrome:["watchMonochromeHandler"],outline:["watchOutlineHandler"],size:["watchSizeHandler"],theme:["watchThemeHandler"],tooltipPlacement:["watchTooltipPlacementHandler"],variant:["watchVariantHandler"]}}};d.style=a;export{d as ic_toggle_button_group};
|
2
|
+
//# sourceMappingURL=p-af9c391d.entry.js.map
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as e,c as o,h as t,H as i,g as r}from"./p-8e4e97b4.js";import{v as a,g as n,
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r as e,c as o,h as t,H as i,g as r}from"./p-8e4e97b4.js";import{v as a,g as n,f as c,h as s,a as d,i as l,w as f,I as b}from"./p-25007ec9.js";const p='/*! 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;--footer-compliance-padding:1rem 0}:host(.ic-footer-sparse){--footer-links-padding:1.5rem 0;--footer-logo-margin-bottom:calc(var(--ic-space-md) + var(--ic-space-xxs));--footer-link-inner-flex-direction:row}:host(.ic-footer-small){--footer-links-padding:0 0;--footer-logo-margin-bottom:var(--ic-space-md);--footer-link-inner-flex-direction:column}:host(.ic-footer-foreground-dark){--ic-footer-background:var(--ic-brand-color-secondary-light);--ic-footer-bottom-background:var(--ic-brand-color-tertiary-light);--ic-footer-keyline:var(--ic-state-layer-darken-20);--ic-footer-text:var(--ic-color-text-primary-light);--ic-footer-link:var(--ic-color-text-primary-light);--ic-footer-icon:var(--ic-color-icon-neutral);--ic-footer-chevron-icon:var(--ic-color-icon-neutral);--ic-footer-logo:var(--ic-color-icon-neutral);--ic-footer-hover:var(--ic-architectural-700-state-layer-10);--ic-footer-pressed:var(--ic-architectural-700-state-layer-20)}:host(.ic-footer-small.ic-footer-ungrouped){--footer-links-padding:var(--ic-space-md) 0 0 0}footer{display:flex;flex-direction:column;width:100%}.footer-description{background-color:var(--ic-footer-background);color:var(--ic-footer-text);--ic-typography-color:var(--ic-footer-text);border-bottom:var(--ic-space-1px) solid var(--ic-footer-keyline)}.footer-description-inner{padding:1rem 0}.footer-links{padding:var(--footer-links-padding);background-color:var(--ic-footer-background);color:var(--ic-footer-link);--ic-typography-color:var(--ic-footer-link)}.footer-links-inner{display:flex;flex-direction:var(--footer-link-inner-flex-direction)}.footer-compliance{background-color:var(--ic-footer-bottom-background);color:var(--ic-footer-text);--ic-typography-color:var(--ic-footer-text)}.footer-compliance-inner{padding:var(--footer-compliance-padding)}.footer-logo{margin-bottom:var(--footer-logo-margin-bottom);display:flex;gap:var(--ic-space-xxl)}.footer-logo>::slotted(){margin-right:var(--ic-space-md)}.footer-caption{margin-bottom:var(--ic-space-md)}.classification-spacing{margin-bottom:var(--ic-space-lg)}@media (forced-colors: active){footer{border-top:var(--ic-border-hc)}}';const m=p;const g=class{constructor(t){e(this,t);this.footerResized=o(this,"footerResized",7);this.resizeObserver=null;this.hostMutationObserver=null;this.deviceSize=a.XL;this.foregroundColor=n();this.aligned="left";this.breakpoint="medium";this.copyright=true;this.groupLinks=false;this.resizeObserverCallback=e=>{if(e!==this.deviceSize){this.deviceSize=e}this.footerResized.emit()};this.runResizeObserver=()=>{if(this.footerEl){this.resizeObserver=new ResizeObserver((()=>{const e=c();this.resizeObserverCallback(e)}));this.resizeObserver.observe(this.footerEl)}}}disconnectedCallback(){var e;if(this.resizeObserver!==null){this.resizeObserver.disconnect()}(e=this.hostMutationObserver)===null||e===void 0?void 0:e.disconnect()}componentWillLoad(){this.deviceSize=c()}componentDidLoad(){s(this.runResizeObserver);this.hostMutationObserver=new MutationObserver((e=>d(e,"link",this)));this.hostMutationObserver.observe(this.el,{childList:true})}brandChangeHandler(e){this.foregroundColor=e.detail.mode}isSmall(){const e=this.breakpoint;return e==="extra small"?this.deviceSize<a.XS:e==="small"?this.deviceSize<a.S:e==="medium"?this.deviceSize<a.M:e==="large"?this.deviceSize<a.L:e==="extra large"?this.deviceSize<a.XL:false}render(){const{aligned:e,caption:o,copyright:r,description:n,deviceSize:c,el:s,foregroundColor:d,groupLinks:p}=this;const m=this.isSmall();const g=l(s,"logo")||l(s,"caption")||o||r;return t(i,{key:"5e9f3b92157b9ffa5fc6e2dbe8f8a5c6a63a6237",class:{["ic-footer"]:true,[`ic-footer-${m?"small":"sparse"}`]:true,[`ic-footer-${p?"grouped":"ungrouped"}`]:true,[`ic-footer-foreground-${d}`]:true,[`ic-footer-${b.Dark}`]:d===b.Dark,[`ic-footer-${b.Light}`]:d===b.Light}},t("footer",{key:"cfae5dcdd5a431bba915b83e5ef2ae2347d5bb6d",ref:e=>this.footerEl=e},(l(s,"description")||n)&&t("div",{key:"9f960b8fcae0e3281b177bcfe1adf365657406dc",class:"footer-description"},t("ic-section-container",{key:"49455d77e8d5e9e8a1199dc0dcc00226291e9adc",aligned:e,fullHeight:true},t("div",{key:"dab1fa34ca43acd9ff4c354f324c7c426d53c77b",class:"footer-description-inner"},t("ic-typography",{key:"484158672386c4fed447390ab0d92bfd759a9272",variant:"body"},t("slot",{key:"4a500553fd0f76a8d4f7ef8410dbd927896561b1",name:"description"},n))))),l(s,"link")&&t("div",{key:"ed8613714e2bf4d79cd062f55f2b716d3e0cd304",class:"footer-links"},p&&m?t("div",{class:"footer-links-inner",role:"list"},t("slot",{name:"link"})):t("ic-section-container",{fullHeight:true,aligned:e},t("div",{class:"footer-links-inner",role:"list"},t("slot",{name:"link"})))),g&&t("div",{key:"c3876f5fa89d39f28e64db1bc0fca90978102a01",class:"footer-compliance"},t("ic-section-container",{key:"3e169ea49bcd2698b84c58f8105b0915777d8bf3",aligned:e,fullHeight:true},t("div",{key:"9cfaa13eb736d3aa44b15db43221bf28bf4deb57",class:"footer-compliance-inner"},l(s,"logo")&&t("div",{key:"853fdedd70405ebb2e96cec2adc6407e5ed11538",class:"footer-logo"},t("slot",{key:"4eaaad7a4f17cd51cbdab414cdbadf3096891d38",name:"logo"})),(l(s,"caption")||o)&&t("div",{key:"44a611218c4ea0f494df1551ecb26a8687d57a95",class:"footer-caption"},t("ic-typography",{key:"b970144c7d85b7e05e319233be68cc91ef2d0476",variant:c<=a.M?"caption":"body"},t("slot",{key:"512d173a680ddd65b3583bada7530aa67d3f1f98",name:"caption"},o))),r&&t("div",{key:"604ac3c72ae99883f27fdb609202782f6069bfde",class:{["footer-copyright"]:true,["classification-spacing"]:f()}},t("ic-typography",{key:"144bbc0144a865f8a55a1df5606cea9dfa87b5e8",variant:c<=a.M?"caption-uppercase":"label-uppercase"},"© Crown Copyright")))))))}get el(){return r(this)}};g.style=m;export{g as ic_footer};
|
2
|
+
//# sourceMappingURL=p-b0d488d0.entry.js.map
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as e,c as t,f as i,h as a,H as s,g as r}from"./p-8e4e97b4.js";import{H as o,r as n,G as l,l as c,x as d,k as h,o as u,N as b,L as p,q as f,m,n as x,i as v,M as g,z as y}from"./p-25007ec9.js";const w='/*! 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-helpertext-padding:var(--ic-space-xs);--border-color:var(--ic-text-field-border-neutral);--border-color-hover:var(--ic-text-field-border-neutral-hover);--border-color-pressed:var(--ic-text-field-border-neutral-pressed);--border-color-disabled:var(--ic-text-field-border-disabled);--border-color-error:var(--ic-text-field-border-error);--border-color-error-hover:var(--ic-text-field-border-error-hover);--border-color-error-pressed:var(--ic-text-field-border-error-pressed);--border-color-success:var(--ic-text-field-border-success);--border-color-success-hover:var(--ic-text-field-border-success-hover);--border-color-success-pressed:var(--ic-text-field-border-success-pressed);--border-color-warning:var(--ic-text-field-border-warning);--border-color-warning-hover:var(--ic-text-field-border-warning-hover);--border-color-warning-pressed:var(--ic-text-field-border-warning-pressed);--ic-input-label-text-color:var(--ic-text-field-label);--ic-input-label-helper-text-color:var(--ic-text-field-subtitle);--ic-input-validation-status-text-color:var(--ic-text-field-state-text);--ic-input-validation-error:var(--ic-text-field-state-icon-error);--ic-input-validation-warning-icon-color:var(\n --ic-text-field-state-icon-warning\n );--ic-input-validation-success-icon-color:var(\n --ic-text-field-state-icon-success\n );--ic-input-component-container-success-icon-inline-color:var(\n --ic-text-field-state-icon-success\n )}:host(.ic-text-field-disabled){--ic-input-label-text-color:var(--ic-text-field-label-disabled);--ic-input-label-helper-text-color:var(--ic-text-field-subtitle-disabled);--text-field-placeholder-color:var(\n --ic-text-field-text-area-placeholder-text-disabled\n )}:host(.ic-text-field-full-width){width:100%}::-moz-placeholder{color:var(\n --text-field-placeholder-color,\n var(--ic-text-field-placeholder-text)\n );opacity:1}::placeholder{color:var(\n --text-field-placeholder-color,\n var(--ic-text-field-placeholder-text)\n );opacity:1}input,textarea{border:0;border-radius:var(--ic-border-radius);color:var(--text-field-text-color, var(--ic-text-field-text));background-color:var(--input-bg-color, var(--ic-text-field-background));line-height:1.5rem;letter-spacing:0.005rem;width:100%;padding-right:var(--ic-space-xs);padding-left:var(--ic-space-xs);caret-color:var(\n --text-field-typing-cursor,\n var(--ic-text-field-typing-cursor)\n )}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(\n --text-field-disabled-text-color,\n var(--ic-text-field-text-disabled)\n )}input.readonly,textarea.readonly{color:var(--ic-text-field-read-only-input-text-internal);background:transparent}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}.char-count-text{--ic-typography-color:var(--ic-text-field-character-limit);padding-right:var(--ic-space-xxxs)}:host(.ic-text-field-disabled) .char-count-text{--ic-typography-color:var(--ic-text-field-character-limit-disabled)}.no-left-pad{padding-left:0}::slotted([slot="icon"]){fill:var(--ic-text-field-text-disabled)}.has-value ::slotted([slot="icon"]){fill:var(--ic-text-field-input-internal-icon)}.char-count{margin-right:calc(-1 * var(--ic-space-xxxs))}.remaining-char-count-desc{position:absolute;left:-9999px}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}}';const k=w;let z=0;const C=[...y,"title"];const $=class{constructor(a){e(this,a);this.getValidationText=t(this,"getValidationText",7);this.icBlur=t(this,"icBlur",7);this.icChange=t(this,"icChange",7);this.icFocus=t(this,"icFocus",7);this.icInput=t(this,"icInput",7);this.icKeydown=t(this,"icKeydown",7);this.icScroll=t(this,"icScroll",7);this.inheritedAttributes={};this.hostMutationObserver=null;this.numChars=0;this.maxCharactersReached=false;this.maxCharactersWarning=false;this.minCharactersUnattained=false;this.maxValueExceeded=false;this.minValueUnattained=false;this.isFocussed=false;this.autocapitalize="off";this.autocomplete="off";this.autocorrect="off";this.autofocus=false;this.disabled=false;this.fullWidth=false;this.helperText="";this.hideCharCount=false;this.hideLabel=false;this.hiddenInput=true;this.inputId=`ic-text-field-input-${z++}`;this.inputmode="text";this.maxCharacters=0;this.maxCharactersMessage=`Maximum input is ${this.maxCharacters} characters`;this.maxMessage=`Maximum value of ${this.max} exceeded`;this.minCharacters=0;this.minCharactersMessage=`Minimum input is ${this.minCharacters} characters`;this.minMessage=`Minimum value of ${this.min} not met`;this.name=this.inputId;this.placeholder="";this.readonly=false;this.required=false;this.resize=false;this.rows=1;this.size="medium";this.spellcheck=false;this.theme="inherit";this.truncateValue=false;this.type="text";this.validationInline=false;this.validationInlineInternal=false;this.validationStatus="";this.validationText="";this.debounce=0;this.value="";this.initialValue=this.value;this.checkChildHydration=()=>{var e,t;if(this.hideLabel||((t=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector("ic-typography"))===null||t===void 0?void 0:t.classList.contains("hydrated"))){this.setFocus();clearInterval(this.interval)}};this.getNumberOfCharacters=e=>e!==null&&e!==undefined?e.length:0;this.getMaxValueExceeded=e=>{this.numChars=this.getNumberOfCharacters(e);if(this.type==="number"){this.minValueUnattained=!!e&&Number(e)<Number(this.min);this.maxValueExceeded=Number(e)>Number(this.max)}};this.getMaxCharactersReached=e=>{this.numChars=this.getNumberOfCharacters(e);this.maxCharactersReached=this.maxCharacters>0&&this.numChars>=this.maxCharacters;if(this.maxCharactersWarning&&!this.maxCharactersReached){this.maxCharactersWarning=false}};this.onInput=e=>{this.value=e.target.value;this.icInput.emit({value:this.value})};this.onBlur=e=>{const t=e.target;t.removeEventListener("wheel",this.onWheel);const{value:i}=t;this.numChars=i.length;this.minCharactersUnattained=this.minCharacters>0&&this.numChars<this.minCharacters;this.icBlur.emit({value:i});this.isFocussed=false};this.onFocus=e=>{const t=e.target;t.addEventListener("wheel",this.onWheel);this.icFocus.emit({value:t.value});this.isFocussed=true};this.onTextAreaScroll=()=>{this.icScroll.emit()};this.onWheel=e=>{const t=e.target;if(t.type==="number"){t.blur();setTimeout((()=>{t.focus()}),0)}};this.hasStatus=e=>e!==""&&!this.disabled;this.handleFormReset=()=>{this.value=this.initialValue};this.hostMutationCallback=e=>{let t=false;e.forEach((({attributeName:e,type:i,addedNodes:a,removedNodes:s})=>{if(e&&C.includes(e)){const i=this.el.getAttribute(e);if(i){this.inheritedAttributes[e]=i}t=true}else if(i==="childList"){t=o(a,s,"icon")}}));if(t){i(this)}}}watchDisabledHandler(){n(this.disabled,this.el)}debounceChanged(){this.icChange=l(this.icChange,this.debounce)}watchValueHandler(e){let t;if(this.maxCharacters>0){t=e.substring(0,this.maxCharacters);if(t.length<e.length){this.maxCharactersWarning=true}this.value=t}else{t=e}if(this.inputEl&&this.inputEl.value!==t){this.inputEl.value=t}this.getMaxValueExceeded(t);this.getMaxCharactersReached(t);this.icChange.emit({value:t})}connectedCallback(){this.debounceChanged()}disconnectedCallback(){var e;c(this.el,this.handleFormReset);(e=this.hostMutationObserver)===null||e===void 0?void 0:e.disconnect()}componentWillLoad(){if(this.value!==this.initialValue){this.watchValueHandler(this.value)}else if(this.maxCharacters>0){this.value=this.value.substring(0,this.maxCharacters)}this.getMaxValueExceeded(this.value);this.getMaxCharactersReached(this.value);this.inheritedAttributes=d(this.el,C);if(this.readonly){this.maxValueExceeded=false;this.minValueUnattained=false}h(this.el,this.handleFormReset);n(this.disabled,this.el)}componentDidLoad(){u([{prop:this.label,propName:"label"}],"Text Field");if(this.validationInlineInternal){this.getValidationText.emit({value:this.validationText})}this.hostMutationObserver=new MutationObserver(this.hostMutationCallback);this.hostMutationObserver.observe(this.el,{attributes:true,childList:true});if(this.autofocus&&!this.disabled&&!this.readonly){this.interval=setInterval(this.checkChildHydration,50)}}handleKeyDown(e){this.icKeydown.emit({event:e});if(!e.ctrlKey&&!b.includes(e.key)){this.maxCharactersWarning=this.maxCharactersReached}}async setFocus(){var e;(e=this.inputEl)===null||e===void 0?void 0:e.focus()}render(){const{inputId:e,name:t,label:i,required:r,size:o,placeholder:n,helperText:l,hideCharCount:c,rows:d,resize:h,disabled:u,value:b,min:y,max:w,numChars:k,readonly:z,maxCharacters:C,maxCharactersMessage:$,maxCharactersWarning:I,maxCharactersReached:M,maxMessage:L,minCharacters:N,minCharactersMessage:T,minCharactersUnattained:q,minMessage:F,minValueUnattained:j,maxValueExceeded:H,validationStatus:V,validationText:D,validationInline:W,validationInlineInternal:B,spellcheck:O,inputmode:S,fullWidth:A,truncateValue:E,hiddenInput:K,theme:U,hideLabel:_,type:G,autocapitalize:R,ariaActiveDescendant:J,inheritedAttributes:P,ariaExpanded:Q,ariaOwns:X,autocomplete:Y,role:Z,isFocussed:ee}=this;const te=this.el;const ie=z||u;const ae=H||j||q||I?I?p.Warning:p.Error:V;const se=I?$:H?L:j?F:q?T:D;const re=z?0:C;const oe=I||H||j||ae===p.Error?"assertive":"polite";const ne=this.hasStatus(ae)&&!(ae==p.Success&&W)&&!B;const le=d>1;const ce=C>0?`${e}-char-count-desc`:"";const de=re-k;const he=C>0?`${e}-remaining-char-count-desc`:"";const ue=`${de} character${de===1?"":"s"} remaining.`;const be=`${ce} ${k>0?he:""} ${f(this.el,e,l!=="",ne)}`.trim();const pe=ie&&!z;const fe=!!this.el.querySelector(`[slot="icon"]`)&&!pe;const me=`${ae===p.Error}`;K?m(this.el,b,t,ie):x(this.el);return a(s,{key:"af9f4dab9e78765b8e1e578d57783e5487d83f6b",class:{"ic-text-field-full-width":A,"ic-text-field-disabled":ie,[`ic-theme-${U}`]:U!=="inherit"}},a("ic-input-container",{key:"7417dcc2f53f877899b713093e81a4db38c394c7",readonly:z,disabled:ie},!_&&a("ic-input-label",{key:"36ae0e2a6a99024c0b8fbd141519dcd4d5390e6d",for:e,label:i,helperText:l,required:r,disabled:pe,readonly:z},a("slot",{key:"9392299204d1bc2ef1b0bb464984b8f8bc148834",name:"helper-text",slot:"helper-text"})),a("ic-input-component-container",{key:"d6819ae02cab210950e11d74c1dac6dd3c5505ed",size:o,validationStatus:ae,multiLine:le,disabled:ie,readonly:z,validationInline:W,fullWidth:A},fe&&a("span",{key:"660f12ab2717dfd7b75bd19a60c92c167fb06db3",class:{readonly:z,"has-value":this.getNumberOfCharacters(b)>0},slot:"left-icon"},a("slot",{key:"8631fc623d4f5b422921add6d01992b736acdf22",name:"icon"})),!le?a("input",Object.assign({id:e,name:t,ref:e=>this.inputEl=e,type:G,min:y,max:w,value:b,class:{"no-left-pad":!fe&&z,readonly:z,"truncate-value":E},placeholder:n?n:"",required:r,disabled:ie,readonly:z,onInput:this.onInput,onBlur:this.onBlur,onFocus:this.onFocus,"aria-label":i,"aria-describedby":be,"aria-invalid":me,"aria-activedescendant":J,"aria-expanded":Q,"aria-owns":X,autocomplete:Y,autocapitalize:R,spellcheck:O,inputmode:S,role:Z||undefined,maxlength:M?C:undefined,minlength:q?N:undefined},P)):a("textarea",Object.assign({id:e,class:{"no-resize":h===false||!!z,"no-left-pad":!fe&&!!z,readonly:!!z},name:t,ref:e=>this.inputEl=e,value:b,rows:d,required:r,disabled:ie,placeholder:n,readonly:z,onInput:this.onInput,onBlur:this.onBlur,onFocus:this.onFocus,onScroll:this.onTextAreaScroll,"aria-label":i,"aria-describedby":be,"aria-invalid":me,autocapitalize:R,spellcheck:O,inputmode:S,maxlength:M?C:undefined,minlength:q?N:undefined},P)),v(te,"clear-button")&&a("slot",{key:"c92ce219c83dccaec610f5caeb2a71b4753cbe2f",name:"clear-button"}),v(te,"search-submit-button")&&a("slot",{key:"4ee50a7855e3a2c3fb5ab4ad655b278bb7a2190d",name:"search-submit-button"})),v(te,"menu")&&a("slot",{key:"9ab8449f815482c7cd689d3d22b918de4c72c27b",name:"menu"}),(!g(V)||!g(D)||re>0||H||I||q||j)&&!B&&a("ic-input-validation",{key:"b87afc1859b8a33d5767b5b0c61056936b760de7",status:this.hasStatus(ae)===false||ae===p.Success&&W||B?"":ae,message:ne?se:"",ariaLiveMode:oe,for:e,fullWidth:A},!z&&re>0&&a("div",{key:"b0f41b53066d1c7b6fa4442796ec5122198575bf",slot:"validation-message-adornment"},!c&&a("ic-typography",{key:"acc961a28e30293d1031a8469327e3f70c179936",variant:"caption",class:"char-count-text"},a("span",{key:"94e2d9e62a04beccd7abc4309a70f6a0908f4d34",class:"char-count"},k,"/",re)),a("span",{key:"caf33b69417c2a5d956b7a88ea3855212c7e3e19",class:"remaining-char-count-desc","aria-live":"polite",hidden:!ee,id:he},ue),a("span",{key:"f69c682178137ae9da47c05c15b81de48e06189a",hidden:true,id:ce},"Field can contain a maximum of ",re," characters.")))))}get el(){return r(this)}static get watchers(){return{disabled:["watchDisabledHandler"],debounce:["debounceChanged"],value:["watchValueHandler"]}}};$.style=k;export{$ as ic_text_field};
|
2
|
+
//# sourceMappingURL=p-b25d33d8.entry.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["icTextFieldCss","IcTextFieldStyle0","inputIds","MUTABLE_ATTRIBUTES","IC_INHERITED_ARIA","TextField","constructor","hostRef","this","inheritedAttributes","hostMutationObserver","numChars","maxCharactersReached","maxCharactersWarning","minCharactersUnattained","maxValueExceeded","minValueUnattained","isFocussed","autocapitalize","autocomplete","autocorrect","autofocus","disabled","fullWidth","helperText","hideCharCount","hideLabel","hiddenInput","inputId","inputmode","maxCharacters","maxCharactersMessage","maxMessage","max","minCharacters","minCharactersMessage","minMessage","min","name","placeholder","readonly","required","resize","rows","size","spellcheck","theme","truncateValue","type","validationInline","validationInlineInternal","validationStatus","validationText","debounce","value","initialValue","checkChildHydration","_b","_a","el","shadowRoot","querySelector","classList","contains","setFocus","clearInterval","interval","getNumberOfCharacters","undefined","length","getMaxValueExceeded","Number","getMaxCharactersReached","onInput","ev","target","icInput","emit","onBlur","removeEventListener","onWheel","icBlur","onFocus","addEventListener","icFocus","onTextAreaScroll","icScroll","blur","setTimeout","focus","hasStatus","status","handleFormReset","hostMutationCallback","mutationList","forceComponentUpdate","forEach","attributeName","addedNodes","removedNodes","includes","attribute","getAttribute","checkSlotInChildMutations","forceUpdate","watchDisabledHandler","removeDisabledFalse","debounceChanged","icChange","debounceEvent","watchValueHandler","newValue","substring","inputEl","connectedCallback","disconnectedCallback","removeFormResetListener","disconnect","componentWillLoad","inheritAttributes","addFormResetListener","componentDidLoad","onComponentRequiredPropUndefined","prop","label","propName","getValidationText","MutationObserver","observe","attributes","childList","setInterval","handleKeyDown","icKeydown","event","ctrlKey","IGNORED_KEYBOARD_CHARACTERS","key","render","ariaActiveDescendant","ariaExpanded","ariaOwns","role","disabledMode","currentStatus","IcInformationStatus","Warning","Error","currentValidationText","maxNumChars","messageAriaLive","showStatusText","Success","multiline","hiddenCharCountDescId","charsRemaining","remainingCharCountDescId","remainingCharCountDesc","describedBy","getInputDescribedByText","trim","disabledText","showLeftIcon","invalid","renderHiddenInput","removeHiddenInput","h","Host","class","for","slot","multiLine","Object","assign","id","ref","maxlength","minlength","onScroll","isSlotUsed","isEmptyString","message","ariaLiveMode","variant","hidden"],"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"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n /**\n * @prop --input-width: Width of the input field\n */\n display: block;\n\n --ic-input-label-helpertext-padding: var(--ic-space-xs);\n --border-color: var(--ic-text-field-border-neutral);\n --border-color-hover: var(--ic-text-field-border-neutral-hover);\n --border-color-pressed: var(--ic-text-field-border-neutral-pressed);\n --border-color-disabled: var(--ic-text-field-border-disabled);\n --border-color-error: var(--ic-text-field-border-error);\n --border-color-error-hover: var(--ic-text-field-border-error-hover);\n --border-color-error-pressed: var(--ic-text-field-border-error-pressed);\n --border-color-success: var(--ic-text-field-border-success);\n --border-color-success-hover: var(--ic-text-field-border-success-hover);\n --border-color-success-pressed: var(--ic-text-field-border-success-pressed);\n --border-color-warning: var(--ic-text-field-border-warning);\n --border-color-warning-hover: var(--ic-text-field-border-warning-hover);\n --border-color-warning-pressed: var(--ic-text-field-border-warning-pressed);\n --ic-input-label-text-color: var(--ic-text-field-label);\n --ic-input-label-helper-text-color: var(--ic-text-field-subtitle);\n --ic-input-validation-status-text-color: var(--ic-text-field-state-text);\n --ic-input-validation-error: var(--ic-text-field-state-icon-error);\n --ic-input-validation-warning-icon-color: var(\n --ic-text-field-state-icon-warning\n );\n --ic-input-validation-success-icon-color: var(\n --ic-text-field-state-icon-success\n );\n --ic-input-component-container-success-icon-inline-color: var(\n --ic-text-field-state-icon-success\n );\n}\n\n:host(.ic-text-field-disabled) {\n --ic-input-label-text-color: var(--ic-text-field-label-disabled);\n --ic-input-label-helper-text-color: var(--ic-text-field-subtitle-disabled);\n --text-field-placeholder-color: var(\n --ic-text-field-text-area-placeholder-text-disabled\n );\n}\n\n:host(.ic-text-field-full-width) {\n width: 100%;\n}\n\n::placeholder {\n color: var(\n --text-field-placeholder-color,\n var(--ic-text-field-placeholder-text)\n );\n opacity: 1;\n}\n\ninput,\ntextarea {\n border: 0;\n border-radius: var(--ic-border-radius);\n color: var(--text-field-text-color, var(--ic-text-field-text));\n background-color: var(--input-bg-color, var(--ic-text-field-background));\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 caret-color: var(\n --text-field-typing-cursor,\n var(--ic-text-field-typing-cursor)\n );\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(\n --text-field-disabled-text-color,\n var(--ic-text-field-text-disabled)\n );\n}\n\ninput.readonly,\ntextarea.readonly {\n color: var(--ic-text-field-read-only-input-text-internal);\n background: transparent;\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.char-count-text {\n --ic-typography-color: var(--ic-text-field-character-limit);\n\n padding-right: var(--ic-space-xxxs);\n}\n\n:host(.ic-text-field-disabled) .char-count-text {\n --ic-typography-color: var(--ic-text-field-character-limit-disabled);\n}\n\n.no-left-pad {\n padding-left: 0;\n}\n\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-text-field-text-disabled);\n}\n\n.has-value ::slotted([slot=\"icon\"]) {\n fill: var(--ic-text-field-input-internal-icon);\n}\n\n.char-count {\n margin-right: calc(-1 * var(--ic-space-xxxs));\n}\n\n.remaining-char-count-desc {\n position: absolute;\n left: -9999px;\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 forceUpdate,\n} from \"@stencil/core\";\nimport {\n IcInformationStatus,\n IcAutocompleteTypes,\n IcAutocorrectStates,\n IcInformationStatusOrEmpty,\n IcValueEventDetail,\n IcSizesNoLarge,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n inheritAttributes,\n debounceEvent,\n getInputDescribedByText,\n renderHiddenInput,\n isEmptyString,\n onComponentRequiredPropUndefined,\n addFormResetListener,\n removeFormResetListener,\n isSlotUsed,\n removeDisabledFalse,\n checkSlotInChildMutations,\n removeHiddenInput,\n} from \"../../utils/helpers\";\nimport {\n IC_INHERITED_ARIA,\n IGNORED_KEYBOARD_CHARACTERS,\n} from \"../../utils/constants\";\nimport {\n IcAriaAutocompleteTypes,\n IcTextFieldInputModes,\n IcTextFieldTypes,\n} from \"./ic-text-field.types\";\n\nlet inputIds = 0;\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"title\"];\n\n/**\n * @slot helper-text - Content is set as the helper text for the text field.\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 private inheritedAttributes: { [k: string]: string } = {};\n private inputEl: HTMLInputElement | HTMLTextAreaElement;\n private hostMutationObserver: MutationObserver | null = null;\n private interval: ReturnType<typeof setInterval>;\n\n @Element() el: HTMLIcTextFieldElement;\n\n @State() numChars: number = 0;\n @State() maxCharactersReached: boolean = false;\n @State() maxCharactersWarning: boolean = false;\n @State() minCharactersUnattained: boolean = false;\n @State() maxValueExceeded: boolean = false;\n @State() minValueUnattained: boolean = false;\n @State() isFocussed: boolean = false;\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 * @internal The active element when focus is on the ic-menu items.\n */\n @Prop() ariaActiveDescendant?: string;\n\n /**\n * @internal Used to identify whether inputting any text triggers more predictions\n */\n @Prop() ariaAutocomplete?: IcAriaAutocompleteTypes;\n\n /**\n * @internal Used to identify if the slotted menu is rendered\n */\n @Prop() ariaExpanded: string | null;\n\n /**\n * @internal Used to identify any related child component\n */\n @Prop() ariaOwns?: string;\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 * If `true`, the disabled state will be set.\n */\n @Prop() disabled = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el as HTMLElement);\n }\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 = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText = \"\";\n\n /**\n * If `true`, the character count which is displayed when `maxCharacters` is set will be visually hidden.\n */\n @Prop() hideCharCount = 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 = false;\n\n /**\n * @internal If `true`, the hidden form input will stop rendering for form submission.\n */\n @Prop() hiddenInput = true;\n\n /**\n * The ID for the input.\n */\n @Prop() inputId = `ic-text-field-input-${inputIds++}`;\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 label for the input.\n */\n @Prop() label!: string;\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;\n\n /**\n * The count of characters in the field. Will display a warning if the bound is reached. (NOTE: If the value of the text field has been set using the `value` prop, it will be truncated to this number of characters)\n */\n @Prop() maxCharacters = 0;\n\n /**\n * The text to display as the warning message when the maximum number of characters (the `maxCharacters` prop value) is reached.\n */\n // prettier-ignore\n @Prop() maxCharactersMessage = `Maximum input is ${this.maxCharacters} characters`;\n\n /**\n * The text to display as the error message when the maximum value (the `max` prop value) has been exceeded.\n */\n @Prop() maxMessage = `Maximum value of ${this.max} exceeded`;\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;\n\n /**\n * The minimum number of characters that can be entered in the field.\n */\n @Prop() minCharacters = 0;\n\n /**\n * The text to display as the error message when the minimum number of characters (the `minCharacters` prop value) has not been met.\n */\n // prettier-ignore\n @Prop() minCharactersMessage = `Minimum input is ${this.minCharacters} characters`;\n\n /**\n * The text to display as the error message when the minimum value (the `min` prop value) has not been met.\n */\n @Prop() minMessage = `Minimum value of ${this.min} not met`;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name = this.inputId;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder = \"\";\n\n /**\n * If `true`, the read only state will be set.\n */\n @Prop({ reflect: true }) readonly = false;\n\n /**\n * If `true`, the input will require a value.\n */\n @Prop() required = false;\n\n /**\n * If `true`, the multiline text area will be resizeable.\n */\n @Prop() resize = false;\n\n /**\n * @internal Used to set the role if not default textbox;\n */\n @Prop() role: string | null;\n\n /**\n * The number of rows to transform the text field into a text area with a specific height.\n */\n @Prop() rows = 1;\n\n /**\n * The size of the text field component.\n */\n @Prop() size: IcSizesNoLarge = \"medium\";\n\n /**\n * If `true`, the value of the text field will have its spelling and grammar checked.\n */\n @Prop() spellcheck = false;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * @internal 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 = false;\n\n /**\n * The type of control to display. The default type is text.\n */\n @Prop() type: IcTextFieldTypes = \"text\";\n\n /**\n * If `true`, the icon in input control will be displayed - only applies when validationStatus ='success'.\n */\n @Prop() validationInline = false;\n\n /**\n * @internal If `true`, the validation will display inline.\n */\n @Prop() validationInlineInternal = false;\n\n /**\n * The validation state - 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 amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce = 0;\n @Watch(\"debounce\")\n private debounceChanged() {\n this.icChange = debounceEvent(this.icChange, this.debounce);\n }\n\n /**\n * The value of the text field.\n */\n @Prop({ reflect: true, mutable: true }) value = \"\";\n @State() initialValue = this.value;\n @Watch(\"value\")\n private watchValueHandler(newValue: string): void {\n let value;\n\n if (this.maxCharacters > 0) {\n value = newValue.substring(0, this.maxCharacters);\n if (value.length < newValue.length) {\n this.maxCharactersWarning = true;\n }\n this.value = value;\n } else {\n value = newValue;\n }\n\n if (this.inputEl && this.inputEl.value !== value) {\n this.inputEl.value = value;\n }\n\n this.getMaxValueExceeded(value);\n\n this.getMaxCharactersReached(value);\n\n this.icChange.emit({ value });\n }\n\n /**\n * @internal Emitted when the validationInlineInternal is `true`\n */\n @Event() getValidationText: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when input loses focus.\n */\n @Event() icBlur: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when input gains focus.\n */\n @Event() icFocus: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when a keydown event occurred.\n */\n @Event() icKeydown: EventEmitter<{ event: KeyboardEvent }>;\n\n /**\n * Emitted when the textarea variant is scrolled.\n */\n @Event() icScroll: EventEmitter;\n\n connectedCallback(): void {\n this.debounceChanged();\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el as HTMLElement, this.handleFormReset);\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n if (this.value !== this.initialValue) {\n this.watchValueHandler(this.value);\n } else if (this.maxCharacters > 0) {\n this.value = this.value.substring(0, this.maxCharacters);\n }\n\n this.getMaxValueExceeded(this.value);\n this.getMaxCharactersReached(this.value);\n\n this.inheritedAttributes = inheritAttributes(\n this.el as HTMLElement,\n MUTABLE_ATTRIBUTES\n );\n\n if (this.readonly) {\n this.maxValueExceeded = false;\n this.minValueUnattained = false;\n }\n\n addFormResetListener(this.el as HTMLElement, this.handleFormReset);\n\n removeDisabledFalse(this.disabled, this.el as HTMLElement);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Text Field\"\n );\n if (this.validationInlineInternal) {\n this.getValidationText.emit({ value: this.validationText });\n }\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n childList: true,\n });\n\n if (this.autofocus && !this.disabled && !this.readonly) {\n this.interval = setInterval(this.checkChildHydration, 50);\n }\n }\n\n private checkChildHydration = () => {\n if (\n this.hideLabel ||\n this.el.shadowRoot\n ?.querySelector(\"ic-typography\")\n ?.classList.contains(\"hydrated\")\n ) {\n this.setFocus();\n clearInterval(this.interval);\n }\n };\n\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n this.icKeydown.emit({ event: ev });\n\n if (!ev.ctrlKey && !IGNORED_KEYBOARD_CHARACTERS.includes(ev.key)) {\n this.maxCharactersWarning = this.maxCharactersReached;\n }\n }\n\n /**\n * Sets focus on the native `input`.\n */\n\n @Method()\n async setFocus(): Promise<void> {\n this.inputEl?.focus();\n }\n\n private getNumberOfCharacters = (value: string) =>\n value !== null && value !== undefined ? value.length : 0;\n\n private getMaxValueExceeded = (value: string) => {\n this.numChars = this.getNumberOfCharacters(value);\n\n if (this.type === \"number\") {\n this.minValueUnattained = !!value && Number(value) < Number(this.min);\n this.maxValueExceeded = Number(value) > Number(this.max);\n }\n };\n\n private getMaxCharactersReached = (value: string) => {\n this.numChars = this.getNumberOfCharacters(value);\n\n this.maxCharactersReached =\n this.maxCharacters > 0 && this.numChars >= this.maxCharacters;\n\n if (this.maxCharactersWarning && !this.maxCharactersReached) {\n this.maxCharactersWarning = false;\n }\n };\n\n private onInput = (ev: Event) => {\n this.value = (ev.target as HTMLInputElement).value;\n this.icInput.emit({ value: this.value });\n };\n\n private onBlur = (ev: Event) => {\n const target = ev.target as HTMLInputElement;\n target.removeEventListener(\"wheel\", this.onWheel);\n const { value } = target;\n this.numChars = value.length;\n this.minCharactersUnattained =\n this.minCharacters > 0 && this.numChars < this.minCharacters;\n this.icBlur.emit({ value });\n this.isFocussed = false;\n };\n\n private onFocus = (ev: Event) => {\n const target = ev.target as HTMLInputElement;\n target.addEventListener(\"wheel\", this.onWheel);\n this.icFocus.emit({ value: target.value });\n this.isFocussed = true;\n };\n\n private onTextAreaScroll = () => {\n this.icScroll.emit();\n };\n\n private onWheel = (ev: WheelEvent) => {\n const target = ev.target as HTMLInputElement;\n if (target.type === \"number\") {\n target.blur();\n setTimeout(() => {\n target.focus();\n }, 0);\n }\n };\n\n private hasStatus = (status: IcInformationStatusOrEmpty) =>\n status !== \"\" && !this.disabled;\n\n private handleFormReset = (): void => {\n this.value = this.initialValue;\n };\n\n // triggered when attributes of host element change\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n let forceComponentUpdate = false;\n mutationList.forEach(\n ({ attributeName, type, addedNodes, removedNodes }) => {\n if (attributeName && MUTABLE_ATTRIBUTES.includes(attributeName)) {\n const attribute = this.el.getAttribute(attributeName);\n if (attribute) {\n this.inheritedAttributes[attributeName] = attribute;\n }\n forceComponentUpdate = true;\n } else if (type === \"childList\") {\n forceComponentUpdate = checkSlotInChildMutations(\n addedNodes,\n removedNodes,\n \"icon\"\n );\n }\n }\n );\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n render() {\n const {\n inputId,\n name,\n label,\n required,\n size,\n placeholder,\n helperText,\n hideCharCount,\n rows,\n resize,\n disabled,\n value,\n min,\n max,\n numChars,\n readonly,\n maxCharacters,\n maxCharactersMessage,\n maxCharactersWarning,\n maxCharactersReached,\n maxMessage,\n minCharacters,\n minCharactersMessage,\n minCharactersUnattained,\n minMessage,\n minValueUnattained,\n maxValueExceeded,\n validationStatus,\n validationText,\n validationInline,\n validationInlineInternal,\n spellcheck,\n inputmode,\n fullWidth,\n truncateValue,\n hiddenInput,\n theme,\n hideLabel,\n type,\n autocapitalize,\n ariaActiveDescendant,\n inheritedAttributes,\n ariaExpanded,\n ariaOwns,\n autocomplete,\n role,\n isFocussed,\n } = this;\n\n const el = this.el as HTMLElement;\n\n const disabledMode = readonly || disabled;\n\n const currentStatus =\n maxValueExceeded ||\n minValueUnattained ||\n minCharactersUnattained ||\n maxCharactersWarning\n ? maxCharactersWarning\n ? IcInformationStatus.Warning\n : IcInformationStatus.Error\n : validationStatus;\n\n const currentValidationText = maxCharactersWarning\n ? maxCharactersMessage\n : maxValueExceeded\n ? maxMessage\n : minValueUnattained\n ? minMessage\n : minCharactersUnattained\n ? minCharactersMessage\n : validationText;\n\n const maxNumChars = readonly ? 0 : maxCharacters;\n const messageAriaLive =\n maxCharactersWarning ||\n maxValueExceeded ||\n minValueUnattained ||\n currentStatus === IcInformationStatus.Error\n ? \"assertive\"\n : \"polite\";\n\n const showStatusText =\n this.hasStatus(currentStatus) &&\n !(currentStatus == IcInformationStatus.Success && validationInline) &&\n !validationInlineInternal;\n\n const multiline = rows > 1;\n\n const hiddenCharCountDescId =\n maxCharacters > 0 ? `${inputId}-char-count-desc` : \"\";\n\n const charsRemaining = maxNumChars - numChars;\n const remainingCharCountDescId =\n maxCharacters > 0 ? `${inputId}-remaining-char-count-desc` : \"\";\n const remainingCharCountDesc = `${charsRemaining} character${\n charsRemaining === 1 ? \"\" : \"s\"\n } remaining.`;\n\n const describedBy = `${hiddenCharCountDescId} ${\n numChars > 0 ? remainingCharCountDescId : \"\"\n } ${getInputDescribedByText(\n this.el,\n inputId,\n helperText !== \"\",\n showStatusText\n )}`.trim();\n\n const disabledText = disabledMode && !readonly;\n const showLeftIcon =\n !!this.el.querySelector(`[slot=\"icon\"]`) && !disabledText;\n\n const invalid = `${currentStatus === IcInformationStatus.Error}`;\n\n hiddenInput\n ? renderHiddenInput(this.el as HTMLElement, value, name, disabledMode)\n : removeHiddenInput(this.el as HTMLElement);\n\n return (\n <Host\n class={{\n \"ic-text-field-full-width\": fullWidth,\n \"ic-text-field-disabled\": disabledMode,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <ic-input-container readonly={readonly} disabled={disabledMode}>\n {!hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabledText}\n readonly={readonly}\n >\n <slot name=\"helper-text\" slot=\"helper-text\"></slot>\n </ic-input-label>\n )}\n\n <ic-input-component-container\n size={size}\n validationStatus={currentStatus}\n multiLine={multiline}\n disabled={disabledMode}\n readonly={readonly}\n validationInline={validationInline}\n fullWidth={fullWidth}\n >\n {showLeftIcon && (\n <span\n class={{\n readonly,\n \"has-value\": this.getNumberOfCharacters(value) > 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={type}\n min={min}\n max={max}\n value={value}\n class={{\n \"no-left-pad\": !showLeftIcon && readonly,\n readonly,\n \"truncate-value\": truncateValue,\n }}\n placeholder={placeholder ? placeholder : \"\"}\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={ariaActiveDescendant}\n aria-expanded={ariaExpanded}\n aria-owns={ariaOwns}\n autocomplete={autocomplete}\n autocapitalize={autocapitalize}\n spellcheck={spellcheck}\n inputmode={inputmode}\n role={role || undefined}\n maxlength={maxCharactersReached ? maxCharacters : undefined}\n minlength={minCharactersUnattained ? minCharacters : undefined}\n {...inheritedAttributes}\n ></input>\n ) : (\n <textarea\n id={inputId}\n class={{\n \"no-resize\": resize === false || !!readonly,\n \"no-left-pad\": !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={placeholder}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onScroll={this.onTextAreaScroll}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n autocapitalize={autocapitalize}\n spellcheck={spellcheck}\n inputmode={inputmode}\n maxlength={maxCharactersReached ? maxCharacters : undefined}\n minlength={minCharactersUnattained ? minCharacters : undefined}\n {...inheritedAttributes}\n ></textarea>\n )}\n {isSlotUsed(el, \"clear-button\") && (\n <slot name=\"clear-button\"></slot>\n )}\n {isSlotUsed(el, \"search-submit-button\") && (\n <slot name=\"search-submit-button\"></slot>\n )}\n </ic-input-component-container>\n {isSlotUsed(el, \"menu\") && <slot name=\"menu\"></slot>}\n {(!isEmptyString(validationStatus) ||\n !isEmptyString(validationText) ||\n maxNumChars > 0 ||\n maxValueExceeded ||\n maxCharactersWarning ||\n minCharactersUnattained ||\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 {!hideCharCount && (\n <ic-typography variant=\"caption\" class=\"char-count-text\">\n <span class=\"char-count\">\n {numChars}/{maxNumChars}\n </span>\n </ic-typography>\n )}\n <span\n class=\"remaining-char-count-desc\"\n aria-live=\"polite\"\n hidden={!isFocussed}\n id={remainingCharCountDescId}\n >\n {remainingCharCountDesc}\n </span>\n <span hidden={true} id={hiddenCharCountDescId}>\n Field can contain a maximum of {maxNumChars} characters.\n </span>\n </div>\n )}\n </ic-input-validation>\n )}\n </ic-input-container>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["icTextFieldCss","IcTextFieldStyle0","inputIds","MUTABLE_ATTRIBUTES","IC_INHERITED_ARIA","TextField","constructor","hostRef","this","inheritedAttributes","hostMutationObserver","numChars","maxCharactersReached","maxCharactersWarning","minCharactersUnattained","maxValueExceeded","minValueUnattained","isFocussed","autocapitalize","autocomplete","autocorrect","autofocus","disabled","fullWidth","helperText","hideCharCount","hideLabel","hiddenInput","inputId","inputmode","maxCharacters","maxCharactersMessage","maxMessage","max","minCharacters","minCharactersMessage","minMessage","min","name","placeholder","readonly","required","resize","rows","size","spellcheck","theme","truncateValue","type","validationInline","validationInlineInternal","validationStatus","validationText","debounce","value","initialValue","checkChildHydration","_b","_a","el","shadowRoot","querySelector","classList","contains","setFocus","clearInterval","interval","getNumberOfCharacters","undefined","length","getMaxValueExceeded","Number","getMaxCharactersReached","onInput","ev","target","icInput","emit","onBlur","removeEventListener","onWheel","icBlur","onFocus","addEventListener","icFocus","onTextAreaScroll","icScroll","blur","setTimeout","focus","hasStatus","status","handleFormReset","hostMutationCallback","mutationList","forceComponentUpdate","forEach","attributeName","addedNodes","removedNodes","includes","attribute","getAttribute","checkSlotInChildMutations","forceUpdate","watchDisabledHandler","removeDisabledFalse","debounceChanged","icChange","debounceEvent","watchValueHandler","newValue","substring","inputEl","connectedCallback","disconnectedCallback","removeFormResetListener","disconnect","componentWillLoad","inheritAttributes","addFormResetListener","componentDidLoad","onComponentRequiredPropUndefined","prop","label","propName","getValidationText","MutationObserver","observe","attributes","childList","setInterval","handleKeyDown","icKeydown","event","ctrlKey","IGNORED_KEYBOARD_CHARACTERS","key","render","ariaActiveDescendant","ariaExpanded","ariaOwns","role","disabledMode","currentStatus","IcInformationStatus","Warning","Error","currentValidationText","maxNumChars","messageAriaLive","showStatusText","Success","multiline","hiddenCharCountDescId","charsRemaining","remainingCharCountDescId","remainingCharCountDesc","describedBy","getInputDescribedByText","trim","disabledText","showLeftIcon","invalid","renderHiddenInput","removeHiddenInput","h","Host","class","for","slot","multiLine","Object","assign","id","ref","maxlength","minlength","onScroll","isSlotUsed","isEmptyString","message","ariaLiveMode","variant","hidden"],"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"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n /**\n * @prop --input-width: Width of the input field\n */\n display: block;\n\n --ic-input-label-helpertext-padding: var(--ic-space-xs);\n --border-color: var(--ic-text-field-border-neutral);\n --border-color-hover: var(--ic-text-field-border-neutral-hover);\n --border-color-pressed: var(--ic-text-field-border-neutral-pressed);\n --border-color-disabled: var(--ic-text-field-border-disabled);\n --border-color-error: var(--ic-text-field-border-error);\n --border-color-error-hover: var(--ic-text-field-border-error-hover);\n --border-color-error-pressed: var(--ic-text-field-border-error-pressed);\n --border-color-success: var(--ic-text-field-border-success);\n --border-color-success-hover: var(--ic-text-field-border-success-hover);\n --border-color-success-pressed: var(--ic-text-field-border-success-pressed);\n --border-color-warning: var(--ic-text-field-border-warning);\n --border-color-warning-hover: var(--ic-text-field-border-warning-hover);\n --border-color-warning-pressed: var(--ic-text-field-border-warning-pressed);\n --ic-input-label-text-color: var(--ic-text-field-label);\n --ic-input-label-helper-text-color: var(--ic-text-field-subtitle);\n --ic-input-validation-status-text-color: var(--ic-text-field-state-text);\n --ic-input-validation-error: var(--ic-text-field-state-icon-error);\n --ic-input-validation-warning-icon-color: var(\n --ic-text-field-state-icon-warning\n );\n --ic-input-validation-success-icon-color: var(\n --ic-text-field-state-icon-success\n );\n --ic-input-component-container-success-icon-inline-color: var(\n --ic-text-field-state-icon-success\n );\n}\n\n:host(.ic-text-field-disabled) {\n --ic-input-label-text-color: var(--ic-text-field-label-disabled);\n --ic-input-label-helper-text-color: var(--ic-text-field-subtitle-disabled);\n --text-field-placeholder-color: var(\n --ic-text-field-text-area-placeholder-text-disabled\n );\n}\n\n:host(.ic-text-field-full-width) {\n width: 100%;\n}\n\n::placeholder {\n color: var(\n --text-field-placeholder-color,\n var(--ic-text-field-placeholder-text)\n );\n opacity: 1;\n}\n\ninput,\ntextarea {\n border: 0;\n border-radius: var(--ic-border-radius);\n color: var(--text-field-text-color, var(--ic-text-field-text));\n background-color: var(--input-bg-color, var(--ic-text-field-background));\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 caret-color: var(\n --text-field-typing-cursor,\n var(--ic-text-field-typing-cursor)\n );\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(\n --text-field-disabled-text-color,\n var(--ic-text-field-text-disabled)\n );\n}\n\ninput.readonly,\ntextarea.readonly {\n color: var(--ic-text-field-read-only-input-text-internal);\n background: transparent;\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.char-count-text {\n --ic-typography-color: var(--ic-text-field-character-limit);\n\n padding-right: var(--ic-space-xxxs);\n}\n\n:host(.ic-text-field-disabled) .char-count-text {\n --ic-typography-color: var(--ic-text-field-character-limit-disabled);\n}\n\n.no-left-pad {\n padding-left: 0;\n}\n\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-text-field-text-disabled);\n}\n\n.has-value ::slotted([slot=\"icon\"]) {\n fill: var(--ic-text-field-input-internal-icon);\n}\n\n.char-count {\n margin-right: calc(-1 * var(--ic-space-xxxs));\n}\n\n.remaining-char-count-desc {\n position: absolute;\n left: -9999px;\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 forceUpdate,\n} from \"@stencil/core\";\nimport {\n IcInformationStatus,\n IcAutocompleteTypes,\n IcAutocorrectStates,\n IcInformationStatusOrEmpty,\n IcValueEventDetail,\n IcSizesNoLarge,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n inheritAttributes,\n debounceEvent,\n getInputDescribedByText,\n renderHiddenInput,\n isEmptyString,\n onComponentRequiredPropUndefined,\n addFormResetListener,\n removeFormResetListener,\n isSlotUsed,\n removeDisabledFalse,\n checkSlotInChildMutations,\n removeHiddenInput,\n} from \"../../utils/helpers\";\nimport {\n IC_INHERITED_ARIA,\n IGNORED_KEYBOARD_CHARACTERS,\n} from \"../../utils/constants\";\nimport {\n IcAriaAutocompleteTypes,\n IcTextFieldInputModes,\n IcTextFieldTypes,\n} from \"./ic-text-field.types\";\n\nlet inputIds = 0;\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"title\"];\n\n/**\n * @slot helper-text - Content is set as the helper text for the text field.\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 private inheritedAttributes: { [k: string]: string } = {};\n private inputEl: HTMLInputElement | HTMLTextAreaElement;\n private hostMutationObserver: MutationObserver | null = null;\n private interval: ReturnType<typeof setInterval>;\n\n @Element() el: HTMLIcTextFieldElement;\n\n @State() numChars: number = 0;\n @State() maxCharactersReached: boolean = false;\n @State() maxCharactersWarning: boolean = false;\n @State() minCharactersUnattained: boolean = false;\n @State() maxValueExceeded: boolean = false;\n @State() minValueUnattained: boolean = false;\n @State() isFocussed: boolean = false;\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 * @internal The active element when focus is on the ic-menu items.\n */\n @Prop() ariaActiveDescendant?: string;\n\n /**\n * @internal Used to identify whether inputting any text triggers more predictions\n */\n @Prop() ariaAutocomplete?: IcAriaAutocompleteTypes;\n\n /**\n * @internal Used to identify if the slotted menu is rendered\n */\n @Prop() ariaExpanded: string | null;\n\n /**\n * @internal Used to identify any related child component\n */\n @Prop() ariaOwns?: string;\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 * If `true`, the disabled state will be set.\n */\n @Prop() disabled = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el as HTMLElement);\n }\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 = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText = \"\";\n\n /**\n * If `true`, the character count which is displayed when `maxCharacters` is set will be visually hidden.\n */\n @Prop() hideCharCount = 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 = false;\n\n /**\n * @internal If `true`, the hidden form input will stop rendering for form submission.\n */\n @Prop() hiddenInput = true;\n\n /**\n * The ID for the input.\n */\n @Prop() inputId = `ic-text-field-input-${inputIds++}`;\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 label for the input.\n */\n @Prop() label!: string;\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;\n\n /**\n * The count of characters in the field. Will display a warning if the bound is reached. (NOTE: If the value of the text field has been set using the `value` prop, it will be truncated to this number of characters)\n */\n @Prop() maxCharacters = 0;\n\n /**\n * The text to display as the warning message when the maximum number of characters (the `maxCharacters` prop value) is reached.\n */\n // prettier-ignore\n @Prop() maxCharactersMessage = `Maximum input is ${this.maxCharacters} characters`;\n\n /**\n * The text to display as the error message when the maximum value (the `max` prop value) has been exceeded.\n */\n @Prop() maxMessage = `Maximum value of ${this.max} exceeded`;\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;\n\n /**\n * The minimum number of characters that can be entered in the field.\n */\n @Prop() minCharacters = 0;\n\n /**\n * The text to display as the error message when the minimum number of characters (the `minCharacters` prop value) has not been met.\n */\n // prettier-ignore\n @Prop() minCharactersMessage = `Minimum input is ${this.minCharacters} characters`;\n\n /**\n * The text to display as the error message when the minimum value (the `min` prop value) has not been met.\n */\n @Prop() minMessage = `Minimum value of ${this.min} not met`;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name = this.inputId;\n\n /**\n * The placeholder value to be displayed.\n */\n @Prop() placeholder = \"\";\n\n /**\n * If `true`, the read only state will be set.\n */\n @Prop({ reflect: true }) readonly = false;\n\n /**\n * If `true`, the input will require a value.\n */\n @Prop() required = false;\n\n /**\n * If `true`, the multiline text area will be resizeable.\n */\n @Prop() resize = false;\n\n /**\n * @internal Used to set the role if not default textbox;\n */\n @Prop() role: string | null;\n\n /**\n * The number of rows to transform the text field into a text area with a specific height.\n */\n @Prop() rows = 1;\n\n /**\n * The size of the text field component.\n */\n @Prop() size: IcSizesNoLarge = \"medium\";\n\n /**\n * If `true`, the value of the text field will have its spelling and grammar checked.\n */\n @Prop() spellcheck = false;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * @internal 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 = false;\n\n /**\n * The type of control to display. The default type is text.\n */\n @Prop() type: IcTextFieldTypes = \"text\";\n\n /**\n * If `true`, the icon in input control will be displayed - only applies when validationStatus ='success'.\n */\n @Prop() validationInline = false;\n\n /**\n * @internal If `true`, the validation will display inline.\n */\n @Prop() validationInlineInternal = false;\n\n /**\n * The validation state - 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 amount of time, in milliseconds, to wait to trigger the `icChange` event after each keystroke.\n */\n @Prop() debounce = 0;\n @Watch(\"debounce\")\n private debounceChanged() {\n this.icChange = debounceEvent(this.icChange, this.debounce);\n }\n\n /**\n * The value of the text field.\n */\n @Prop({ reflect: true, mutable: true }) value = \"\";\n @State() initialValue = this.value;\n @Watch(\"value\")\n private watchValueHandler(newValue: string): void {\n let value;\n\n if (this.maxCharacters > 0) {\n value = newValue.substring(0, this.maxCharacters);\n if (value.length < newValue.length) {\n this.maxCharactersWarning = true;\n }\n this.value = value;\n } else {\n value = newValue;\n }\n\n if (this.inputEl && this.inputEl.value !== value) {\n this.inputEl.value = value;\n }\n\n this.getMaxValueExceeded(value);\n\n this.getMaxCharactersReached(value);\n\n this.icChange.emit({ value });\n }\n\n /**\n * @internal Emitted when the validationInlineInternal is `true`\n */\n @Event() getValidationText: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when input loses focus.\n */\n @Event() icBlur: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when the value has changed.\n */\n @Event() icChange: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when input gains focus.\n */\n @Event() icFocus: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when a keyboard input occurred.\n */\n @Event() icInput: EventEmitter<IcValueEventDetail>;\n\n /**\n * Emitted when a keydown event occurred.\n */\n @Event() icKeydown: EventEmitter<{ event: KeyboardEvent }>;\n\n /**\n * Emitted when the textarea variant is scrolled.\n */\n @Event() icScroll: EventEmitter;\n\n connectedCallback(): void {\n this.debounceChanged();\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el as HTMLElement, this.handleFormReset);\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n if (this.value !== this.initialValue) {\n this.watchValueHandler(this.value);\n } else if (this.maxCharacters > 0) {\n this.value = this.value.substring(0, this.maxCharacters);\n }\n\n this.getMaxValueExceeded(this.value);\n this.getMaxCharactersReached(this.value);\n\n this.inheritedAttributes = inheritAttributes(\n this.el as HTMLElement,\n MUTABLE_ATTRIBUTES\n );\n\n if (this.readonly) {\n this.maxValueExceeded = false;\n this.minValueUnattained = false;\n }\n\n addFormResetListener(this.el as HTMLElement, this.handleFormReset);\n\n removeDisabledFalse(this.disabled, this.el as HTMLElement);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Text Field\"\n );\n if (this.validationInlineInternal) {\n this.getValidationText.emit({ value: this.validationText });\n }\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n childList: true,\n });\n\n if (this.autofocus && !this.disabled && !this.readonly) {\n this.interval = setInterval(this.checkChildHydration, 50);\n }\n }\n\n private checkChildHydration = () => {\n if (\n this.hideLabel ||\n this.el.shadowRoot\n ?.querySelector(\"ic-typography\")\n ?.classList.contains(\"hydrated\")\n ) {\n this.setFocus();\n clearInterval(this.interval);\n }\n };\n\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n this.icKeydown.emit({ event: ev });\n\n if (!ev.ctrlKey && !IGNORED_KEYBOARD_CHARACTERS.includes(ev.key)) {\n this.maxCharactersWarning = this.maxCharactersReached;\n }\n }\n\n /**\n * Sets focus on the native `input`.\n */\n\n @Method()\n async setFocus(): Promise<void> {\n this.inputEl?.focus();\n }\n\n private getNumberOfCharacters = (value: string) =>\n value !== null && value !== undefined ? value.length : 0;\n\n private getMaxValueExceeded = (value: string) => {\n this.numChars = this.getNumberOfCharacters(value);\n\n if (this.type === \"number\") {\n this.minValueUnattained = !!value && Number(value) < Number(this.min);\n this.maxValueExceeded = Number(value) > Number(this.max);\n }\n };\n\n private getMaxCharactersReached = (value: string) => {\n this.numChars = this.getNumberOfCharacters(value);\n\n this.maxCharactersReached =\n this.maxCharacters > 0 && this.numChars >= this.maxCharacters;\n\n if (this.maxCharactersWarning && !this.maxCharactersReached) {\n this.maxCharactersWarning = false;\n }\n };\n\n private onInput = (ev: Event) => {\n this.value = (ev.target as HTMLInputElement).value;\n this.icInput.emit({ value: this.value });\n };\n\n private onBlur = (ev: Event) => {\n const target = ev.target as HTMLInputElement;\n target.removeEventListener(\"wheel\", this.onWheel);\n const { value } = target;\n this.numChars = value.length;\n this.minCharactersUnattained =\n this.minCharacters > 0 && this.numChars < this.minCharacters;\n this.icBlur.emit({ value });\n this.isFocussed = false;\n };\n\n private onFocus = (ev: Event) => {\n const target = ev.target as HTMLInputElement;\n target.addEventListener(\"wheel\", this.onWheel);\n this.icFocus.emit({ value: target.value });\n this.isFocussed = true;\n };\n\n private onTextAreaScroll = () => {\n this.icScroll.emit();\n };\n\n private onWheel = (ev: WheelEvent) => {\n const target = ev.target as HTMLInputElement;\n if (target.type === \"number\") {\n target.blur();\n setTimeout(() => {\n target.focus();\n }, 0);\n }\n };\n\n private hasStatus = (status: IcInformationStatusOrEmpty) =>\n status !== \"\" && !this.disabled;\n\n private handleFormReset = (): void => {\n this.value = this.initialValue;\n };\n\n // triggered when attributes of host element change\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n let forceComponentUpdate = false;\n mutationList.forEach(\n ({ attributeName, type, addedNodes, removedNodes }) => {\n if (attributeName && MUTABLE_ATTRIBUTES.includes(attributeName)) {\n const attribute = this.el.getAttribute(attributeName);\n if (attribute) {\n this.inheritedAttributes[attributeName] = attribute;\n }\n forceComponentUpdate = true;\n } else if (type === \"childList\") {\n forceComponentUpdate = checkSlotInChildMutations(\n addedNodes,\n removedNodes,\n \"icon\"\n );\n }\n }\n );\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n render() {\n const {\n inputId,\n name,\n label,\n required,\n size,\n placeholder,\n helperText,\n hideCharCount,\n rows,\n resize,\n disabled,\n value,\n min,\n max,\n numChars,\n readonly,\n maxCharacters,\n maxCharactersMessage,\n maxCharactersWarning,\n maxCharactersReached,\n maxMessage,\n minCharacters,\n minCharactersMessage,\n minCharactersUnattained,\n minMessage,\n minValueUnattained,\n maxValueExceeded,\n validationStatus,\n validationText,\n validationInline,\n validationInlineInternal,\n spellcheck,\n inputmode,\n fullWidth,\n truncateValue,\n hiddenInput,\n theme,\n hideLabel,\n type,\n autocapitalize,\n ariaActiveDescendant,\n inheritedAttributes,\n ariaExpanded,\n ariaOwns,\n autocomplete,\n role,\n isFocussed,\n } = this;\n\n const el = this.el as HTMLElement;\n\n const disabledMode = readonly || disabled;\n\n const currentStatus =\n maxValueExceeded ||\n minValueUnattained ||\n minCharactersUnattained ||\n maxCharactersWarning\n ? maxCharactersWarning\n ? IcInformationStatus.Warning\n : IcInformationStatus.Error\n : validationStatus;\n\n const currentValidationText = maxCharactersWarning\n ? maxCharactersMessage\n : maxValueExceeded\n ? maxMessage\n : minValueUnattained\n ? minMessage\n : minCharactersUnattained\n ? minCharactersMessage\n : validationText;\n\n const maxNumChars = readonly ? 0 : maxCharacters;\n const messageAriaLive =\n maxCharactersWarning ||\n maxValueExceeded ||\n minValueUnattained ||\n currentStatus === IcInformationStatus.Error\n ? \"assertive\"\n : \"polite\";\n\n const showStatusText =\n this.hasStatus(currentStatus) &&\n !(currentStatus == IcInformationStatus.Success && validationInline) &&\n !validationInlineInternal;\n\n const multiline = rows > 1;\n\n const hiddenCharCountDescId =\n maxCharacters > 0 ? `${inputId}-char-count-desc` : \"\";\n\n const charsRemaining = maxNumChars - numChars;\n const remainingCharCountDescId =\n maxCharacters > 0 ? `${inputId}-remaining-char-count-desc` : \"\";\n const remainingCharCountDesc = `${charsRemaining} character${\n charsRemaining === 1 ? \"\" : \"s\"\n } remaining.`;\n\n const describedBy = `${hiddenCharCountDescId} ${\n numChars > 0 ? remainingCharCountDescId : \"\"\n } ${getInputDescribedByText(\n this.el,\n inputId,\n helperText !== \"\",\n showStatusText\n )}`.trim();\n\n const disabledText = disabledMode && !readonly;\n const showLeftIcon =\n !!this.el.querySelector(`[slot=\"icon\"]`) && !disabledText;\n\n const invalid = `${currentStatus === IcInformationStatus.Error}`;\n\n hiddenInput\n ? renderHiddenInput(this.el as HTMLElement, value, name, disabledMode)\n : removeHiddenInput(this.el as HTMLElement);\n\n return (\n <Host\n class={{\n \"ic-text-field-full-width\": fullWidth,\n \"ic-text-field-disabled\": disabledMode,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <ic-input-container readonly={readonly} disabled={disabledMode}>\n {!hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabledText}\n readonly={readonly}\n >\n <slot name=\"helper-text\" slot=\"helper-text\"></slot>\n </ic-input-label>\n )}\n\n <ic-input-component-container\n size={size}\n validationStatus={currentStatus}\n multiLine={multiline}\n disabled={disabledMode}\n readonly={readonly}\n validationInline={validationInline}\n fullWidth={fullWidth}\n >\n {showLeftIcon && (\n <span\n class={{\n readonly,\n \"has-value\": this.getNumberOfCharacters(value) > 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={type}\n min={min}\n max={max}\n value={value}\n class={{\n \"no-left-pad\": !showLeftIcon && readonly,\n readonly,\n \"truncate-value\": truncateValue,\n }}\n placeholder={placeholder ? placeholder : \"\"}\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={ariaActiveDescendant}\n aria-expanded={ariaExpanded}\n aria-owns={ariaOwns}\n autocomplete={autocomplete}\n autocapitalize={autocapitalize}\n spellcheck={spellcheck}\n inputmode={inputmode}\n role={role || undefined}\n maxlength={maxCharactersReached ? maxCharacters : undefined}\n minlength={minCharactersUnattained ? minCharacters : undefined}\n {...inheritedAttributes}\n ></input>\n ) : (\n <textarea\n id={inputId}\n class={{\n \"no-resize\": resize === false || !!readonly,\n \"no-left-pad\": !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={placeholder}\n readonly={readonly}\n onInput={this.onInput}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n onScroll={this.onTextAreaScroll}\n aria-label={label}\n aria-describedby={describedBy}\n aria-invalid={invalid}\n autocapitalize={autocapitalize}\n spellcheck={spellcheck}\n inputmode={inputmode}\n maxlength={maxCharactersReached ? maxCharacters : undefined}\n minlength={minCharactersUnattained ? minCharacters : undefined}\n {...inheritedAttributes}\n ></textarea>\n )}\n {isSlotUsed(el, \"clear-button\") && (\n <slot name=\"clear-button\"></slot>\n )}\n {isSlotUsed(el, \"search-submit-button\") && (\n <slot name=\"search-submit-button\"></slot>\n )}\n </ic-input-component-container>\n {isSlotUsed(el, \"menu\") && <slot name=\"menu\"></slot>}\n {(!isEmptyString(validationStatus) ||\n !isEmptyString(validationText) ||\n maxNumChars > 0 ||\n maxValueExceeded ||\n maxCharactersWarning ||\n minCharactersUnattained ||\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 {!hideCharCount && (\n <ic-typography variant=\"caption\" class=\"char-count-text\">\n <span class=\"char-count\">\n {numChars}/{maxNumChars}\n </span>\n </ic-typography>\n )}\n <span\n class=\"remaining-char-count-desc\"\n aria-live=\"polite\"\n hidden={!isFocussed}\n id={remainingCharCountDescId}\n >\n {remainingCharCountDesc}\n </span>\n <span hidden={true} id={hiddenCharCountDescId}>\n Field can contain a maximum of {maxNumChars} characters.\n </span>\n </div>\n )}\n </ic-input-validation>\n )}\n </ic-input-container>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{r as e,h as t,H as a}from"./p-8e4e97b4.js";import{
|
2
|
-
//# sourceMappingURL=p-
|
1
|
+
import{r as e,h as t,H as a}from"./p-8e4e97b4.js";import{o as i}from"./p-25007ec9.js";const r='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}.tag{padding:var(--ic-space-xxs) var(--ic-space-sm);font-size:0.875rem;border-radius:var(--ic-space-md);display:inline-block;min-width:2.5rem;text-align:center;--ic-typography-color:var(--ic-status-tag-text)}.small{padding:var(--ic-space-xxxs) var(--ic-space-sm);border-radius:calc(var(--ic-space-md) - var(--ic-space-xxxs))}.large{padding:var(--ic-space-xs) var(--ic-space-sm);border-radius:calc(var(--ic-space-md) + var(--ic-space-xxs))}.filled-neutral{background-color:var(--ic-status-tag-neutral)}.filled-success{background-color:var(--ic-status-tag-success)}.filled-warning{background-color:var(--ic-status-tag-warning);--ic-typography-color:var(--ic-status-tag-filled-warning-text)}.filled-danger{background-color:var(--ic-status-tag-error)}.outlined{padding:calc(var(--ic-space-xxxs) + var(--ic-space-1px))\n calc(var(--ic-space-sm) - var(--ic-space-1px))}.outlined.small{padding:var(--ic-space-1px) calc(var(--ic-space-sm) - var(--ic-space-1px))}.outlined.large{padding:calc(var(--ic-space-xs) - var(--ic-space-1px))\n calc(var(--ic-space-sm) - var(--ic-space-1px))}.outlined-neutral{background-color:var(--ic-status-tag-outlined-background-neutral);border:var(--ic-border-width) solid var(--ic-status-tag-outlined-neutral);--ic-typography-color:var(--ic-status-tag-text-inverted)}.outlined-success{background-color:var(--ic-status-tag-outlined-background-success);border:var(--ic-border-width) solid var(--ic-status-tag-outlined-success);--ic-typography-color:var(--ic-status-tag-text-inverted)}.outlined-warning{background-color:var(--ic-status-tag-outlined-background-warning);border:var(--ic-border-width) solid var(--ic-status-tag-outlined-warning);--ic-typography-color:var(--ic-status-tag-text-inverted)}.outlined-danger{background-color:var(--ic-status-tag-outlined-background-error);border:var(--ic-border-width) solid var(--ic-status-tag-outlined-error);--ic-typography-color:var(--ic-status-tag-text-inverted)}@media (forced-colors: active){.tag{border:var(--ic-border-hc);-ms-high-contrast-adjust:none;forced-color-adjust:none;--ic-typography-color:var(--ic-status-tag-text)}}';const o=r;const s=class{constructor(t){e(this,t);this.announced=false;this.size="medium";this.status="neutral";this.theme="inherit";this.uppercase=true;this.variant="filled"}componentDidLoad(){i([{prop:this.label,propName:"label"}],"Status Tag")}render(){const{label:e,status:i,variant:r,size:o,announced:s,theme:n,uppercase:c}=this;return t(a,{key:"0ff5d3de133c300d744be1d57a42e5a393735572",class:{[`ic-theme-${n}`]:n!=="inherit"},role:s?"status":null,"aria-label":"Status"},t("strong",{key:"09e1eeedac25e8128fe42a6fb5435dc06dc7d331",class:{["tag"]:true,[`${r}-${i}`]:true,["outlined"]:r==="outlined",[`${o}`]:true}},t("ic-typography",{key:"8543c7387e3337ec720eecaf3dbebbc09edfcb6d",variant:c?"label-uppercase":"label","apply-vertical-margins":false},t("span",{key:"3673500383906cd09f4f409abff0c2aa12a0c30f"},e))))}};s.style=o;export{s as ic_status_tag};
|
2
|
+
//# sourceMappingURL=p-b52000d9.entry.js.map
|
@@ -0,0 +1,2 @@
|
|
1
|
+
import{r as t,c as i,h as e,H as o,g as a}from"./p-8e4e97b4.js";import{h as r,b as s}from"./p-25007ec9.js";const n='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;position:relative;color:var(--ic-typography-color, var(--ic-color-text-primary))}:host(.ic-typography-vertical-margins-h1){margin:0 0 var(--ic-space-xl)}:host(.ic-typography-vertical-margins-h2){margin:var(--ic-space-xxl) 0 var(--ic-space-lg)}:host(.ic-typography-vertical-margins-h3){margin:var(--ic-space-xl) 0 var(--ic-space-md)}:host(.ic-typography-vertical-margins-h4){margin:var(--ic-space-lg) 0 var(--ic-space-md)}:host(.ic-typography-vertical-margins-subtitle-large),:host(.ic-typography-vertical-margins-subtitle-small),:host(.ic-typography-vertical-margins-body),:host(.ic-typography-vertical-margins-code-large),:host(.ic-typography-vertical-margins-code-small),:host(.ic-typography-vertical-margins-code-extra-small){margin:0 0 var(--ic-space-md)}:host(.ic-typography-vertical-margins-caption),:host(.ic-typography-vertical-margins-caption-uppercase){margin:0 0 var(--ic-space-xs)}:host(.ic-typography-vertical-margins-h2:first-child),:host(.ic-typography-vertical-margins-h3:first-child),:host(.ic-typography-vertical-margins-h4:first-child){margin-top:0}:host(.ic-typography-h1){font:var(--ic-font-h1) !important}:host(.ic-typography-h2){font:var(--ic-font-h2);letter-spacing:var(--ic-font-letter-spacing-0pt0025)}:host(.ic-typography-h3){font:var(--ic-font-h3)}:host(.ic-typography-h4){font:var(--ic-font-h4);letter-spacing:var(--ic-font-letter-spacing-0pt0015)}:host(.ic-typography-subtitle-large){font:var(--ic-font-subtitle-large);letter-spacing:var(--ic-font-letter-spacing-0pt0015)}:host(.ic-typography-subtitle-small){font:var(--ic-font-subtitle-small);letter-spacing:var(--ic-font-letter-spacing-0pt0015)}:host(.ic-typography-body){font:var(--ic-font-body);letter-spacing:var(--ic-font-letter-spacing-0pt005)}:host(.ic-typography-caption){font:var(--ic-font-caption);letter-spacing:var(--ic-font-letter-spacing-0pt0025)}:host(.ic-typography-caption-uppercase){font:var(--ic-font-caption);letter-spacing:var(--ic-font-letter-spacing-0pt0025);text-transform:uppercase}:host(.ic-typography-label){font:var(--ic-font-label);letter-spacing:var(--ic-font-letter-spacing-0pt025)}:host(.ic-typography-label-uppercase){font:var(--ic-font-label);letter-spacing:var(--ic-font-letter-spacing-0pt025);text-transform:uppercase}:host(.ic-typography-code-large){font:var(--ic-font-code-large);letter-spacing:var(--ic-font-letter-spacing-0pt025)}:host(.ic-typography-code-small){font:var(--ic-font-code-small);letter-spacing:var(--ic-font-letter-spacing-0pt005)}:host(.ic-typography-code-extra-small){font:var(--ic-font-code-extra-small);letter-spacing:var(--ic-font-letter-spacing-0pt025)}:host(.ic-typography-badge){font:var(--ic-font-badge);letter-spacing:var(--ic-font-letter-spacing-0pt0025)}:host(.ic-typography-badge-small){font:var(--ic-font-badge-small);letter-spacing:var(--ic-font-letter-spacing-0pt0025)}:host(.ic-typography-no-wrap){white-space:nowrap}:host ::slotted(h1),:host ::slotted(h2),:host ::slotted(h3),:host ::slotted(h4),:host ::slotted(h5),:host ::slotted(h6),:host ::slotted(p),:host ::slotted(label){font:inherit;letter-spacing:inherit}.trunc-wrapper{display:-webkit-box;-webkit-box-orient:vertical;line-clamp:var(--truncation-max-lines, initial);-webkit-line-clamp:var(--truncation-max-lines, initial);overflow:hidden;padding-right:var(--ellipsis-padding-right, 0)}.trunc-btn{border:none;background:none;padding:0;color:var(--ic-color-text-primary);text-decoration:underline;font-weight:var(--ic-font-weight-bold);transition:var(--ic-easing-transition-fast)}.trunc-btn:hover,.trunc-btn.focus{outline:none;border-bottom:0.25rem solid !important;margin-bottom:-0.25rem !important;text-decoration:none;cursor:pointer}:host(.ic-typography-strikethrough){text-decoration:line-through}:host(.ic-typography-underline){text-decoration:underline}:host(.ic-typography-underline.ic-typography-strikethrough){text-decoration:line-through underline}:host(.ic-typography-italic){font-style:italic !important}:host(.ic-typography-bold){font-weight:var(--ic-font-weight-bold)}:host(.ic-theme-dark),:host(.ic-theme-light){--ic-typography-color:var(--ic-color-text-primary)}:host(.in-ag-grid),:host(.in-ag-grid) ::slotted(*){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@supports (text-underline-offset: 25%){.trunc-btn:hover,.trunc-btn.focus{text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:25%;border-bottom:0 !important;margin-bottom:0 !important}}@media (prefers-color-scheme: dark) and (forced-colors: none){:host,.trunc-btn:not(ic-tooltip){color:var(--ic-typography-color)}}';const c=n;const h=class{constructor(e){t(this,e);this.typographyTruncationExpandToggle=i(this,"typographyTruncationExpandToggle",7);this.focusBtnFromKeyboard=true;this.inAGGrid=false;this.lastMarkerTop=0;this.lastWidth=0;this.resizeObserver=null;this.truncatedHeight=0;this.truncated=false;this.truncButtonFocussed=false;this.applyVerticalMargins=false;this.bold=false;this.italic=false;this.strikethrough=false;this.theme="inherit";this.underline=false;this.variant="body";this.expanded=false;this.toggleExpanded=t=>{t.stopPropagation();this.expanded=!this.expanded;this.typographyTruncationExpandToggle.emit({expanded:this.expanded,typographyEl:this.el})};this.checkMarkerPosition=(t,i)=>{if(i-t<this.truncatedHeight){this.truncated=false;this.expanded=false}else{this.truncated=true}};this.getElementTop=t=>t.getClientRects&&t.getClientRects()[0]?t.getClientRects()[0].top:0;this.runResizeObserver=()=>{if(this.truncWrapperEl){this.resizeObserver=new ResizeObserver((()=>{clearTimeout(this.resizeInterval);this.resizeInterval=window.setTimeout(this.resizeObserverCallback,50)}));this.resizeObserver.observe(this.truncWrapperEl)}};this.resizeObserverCallback=()=>{if(this.lastWidth===this.el.clientWidth){return}if(this.truncatedHeight===0){this.checkMaxLines(this.el.clientHeight);return}const t=this.getElementTop(this.marker);if(t===this.lastMarkerTop){return}this.checkMarkerPosition(this.getElementTop(this.el),t);this.lastMarkerTop=t;this.lastWidth=this.el.clientWidth};this.truncButtonFocus=()=>{if(this.focusBtnFromKeyboard){this.truncButtonFocussed=true}};this.truncButtonBlur=()=>{this.focusBtnFromKeyboard=true;this.truncButtonFocussed=false};this.truncButtonFocusFromMouse=()=>{this.focusBtnFromKeyboard=false}}watchExpandedHandler(){this.el.setAttribute("style",`--truncation-max-lines: ${this.expanded?"initial":this.maxLines}`)}disconnectedCallback(){if(this.resizeObserver!==null){this.resizeObserver.disconnect()}}async resetTruncation(){if(this.truncated){this.truncated=false;this.maxLines=0;this.el.removeAttribute("max-lines");this.expanded=false;this.el.removeAttribute("style")}}componentDidLoad(){var t,i;if((this.variant==="body"||((i=(t=this.el.getRootNode())===null||t===void 0?void 0:t.host)===null||i===void 0?void 0:i.tagName)==="IC-TOOLTIP")&&this.maxLines&&this.maxLines>0){const t=document.createElement("span");t.style.visibility="hidden";this.el.appendChild(t);this.marker=t;this.lastWidth=this.el.clientWidth;this.checkMaxLines(this.el.clientHeight);r(this.runResizeObserver)}}componentWillRender(){if(s(this.el)){this.inAGGrid=true}}async checkMaxLines(t){const i=Math.floor(t/24);if(this.maxLines&&i>this.maxLines){this.el.setAttribute("style",`--truncation-max-lines: ${this.maxLines}`);this.truncatedHeight=this.el.clientHeight;this.truncated=true}}async setShowHideExpanded(t){this.expanded=t}render(){var t,i;const{variant:a,applyVerticalMargins:r,maxLines:s,truncated:n,expanded:c,strikethrough:h,underline:l,italic:p,bold:d,theme:g}=this;return e(o,{key:"0f64ad9e02b32790b2bc269df212468b2f9426f7",class:{[`ic-typography-${a}`]:true,[`ic-typography-vertical-margins-${a}`]:!!r,["ic-typography-bold"]:!!d,["ic-typography-italic"]:!!p,["ic-typography-strikethrough"]:!!h,["ic-typography-underline"]:!!l,["in-ag-grid"]:this.inAGGrid,[`ic-theme-${g}`]:g!=="inherit"}},(a==="body"||((i=(t=this.el.getRootNode())===null||t===void 0?void 0:t.host)===null||i===void 0?void 0:i.tagName)==="IC-TOOLTIP")&&s&&s>0?e("div",{class:"trunc-wrapper",ref:t=>this.truncWrapperEl=t},e("slot",null)):e("slot",null),a==="body"&&s&&s>0&&n&&e("button",{key:"3e5f7e8b549122986d1dc67fe35b5e270233eb71",class:{"trunc-btn":true,focus:this.truncButtonFocussed},onFocus:this.truncButtonFocus,onBlur:this.truncButtonBlur,onMouseDown:this.truncButtonFocusFromMouse,onClick:this.toggleExpanded},c?"See less":"See more"))}get el(){return a(this)}static get watchers(){return{expanded:["watchExpandedHandler"]}}};h.style=c;export{h as ic_typography};
|
2
|
+
//# sourceMappingURL=p-cbe0d1bb.entry.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["icTypographyCss","IcTypographyStyle0","Typography","constructor","hostRef","this","focusBtnFromKeyboard","inAGGrid","lastMarkerTop","lastWidth","resizeObserver","truncatedHeight","truncated","truncButtonFocussed","applyVerticalMargins","bold","italic","strikethrough","theme","underline","variant","expanded","toggleExpanded","ev","stopPropagation","typographyTruncationExpandToggle","emit","typographyEl","el","checkMarkerPosition","elTop","markerTop","getElementTop","getClientRects","top","runResizeObserver","truncWrapperEl","ResizeObserver","clearTimeout","resizeInterval","window","setTimeout","resizeObserverCallback","observe","clientWidth","checkMaxLines","clientHeight","marker","truncButtonFocus","truncButtonBlur","truncButtonFocusFromMouse","watchExpandedHandler","setAttribute","maxLines","disconnectedCallback","disconnect","resetTruncation","removeAttribute","componentDidLoad","_b","_a","getRootNode","host","tagName","document","createElement","style","visibility","appendChild","checkResizeObserver","componentWillRender","isElInAGGrid","height","numLines","Math","floor","setShowHideExpanded","render","h","Host","key","class","ref","focus","onFocus","onBlur","onMouseDown","onClick"],"sources":["src/components/ic-typography/ic-typography.css?tag=ic-typography&encapsulation=shadow","src/components/ic-typography/ic-typography.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n position: relative;\n color: var(--ic-typography-color, var(--ic-color-text-primary));\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) !important;\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-badge) {\n font: var(--ic-font-badge);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-badge-small) {\n font: var(--ic-font-badge-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\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 padding-right: var(--ellipsis-padding-right, 0);\n}\n\n.trunc-btn {\n border: none;\n background: none;\n padding: 0;\n color: var(--ic-color-text-primary);\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: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n cursor: pointer;\n}\n\n:host(.ic-typography-strikethrough) {\n text-decoration: line-through;\n}\n\n:host(.ic-typography-underline) {\n text-decoration: underline;\n}\n\n:host(.ic-typography-underline.ic-typography-strikethrough) {\n text-decoration: line-through underline;\n}\n\n:host(.ic-typography-italic) {\n font-style: italic !important;\n}\n\n:host(.ic-typography-bold) {\n font-weight: var(--ic-font-weight-bold);\n}\n\n:host(.ic-theme-dark),\n:host(.ic-theme-light) {\n --ic-typography-color: var(--ic-color-text-primary);\n}\n\n:host(.in-ag-grid),\n:host(.in-ag-grid) ::slotted(*) {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n@supports (text-underline-offset: 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\n@media (prefers-color-scheme: dark) and (forced-colors: none) {\n :host,\n .trunc-btn:not(ic-tooltip) {\n color: var(--ic-typography-color);\n }\n}\n","import {\n Component,\n Prop,\n h,\n Element,\n Host,\n State,\n Watch,\n Method,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\n\nimport { IcTypographyVariants, IcThemeMode } from \"../../utils/types\";\nimport { checkResizeObserver, isElInAGGrid } from \"../../utils/helpers\";\n\n@Component({\n styleUrl: \"ic-typography.css\",\n tag: \"ic-typography\",\n shadow: true,\n})\nexport class Typography {\n private focusBtnFromKeyboard: boolean = true;\n private inAGGrid: boolean = false;\n private lastMarkerTop: number = 0;\n private lastWidth: number = 0;\n private marker: HTMLElement;\n private resizeInterval: number;\n private resizeObserver: ResizeObserver | null = null;\n private truncatedHeight: number = 0;\n private truncWrapperEl?: Element;\n\n @Element() el: HTMLIcTypographyElement;\n\n @State() truncated: boolean = false;\n @State() truncButtonFocussed: boolean = false;\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 * If `true`, the typography will have a bold font weight.\n * Note: This will have no impact on variants that already use an equivalent or higher font weight (h1, h2, and subtitle-large).\n */\n @Prop() bold?: boolean = false;\n\n /**\n * If `true`, the typography will have an italic font style.\n */\n @Prop() italic?: boolean = false;\n\n /**\n * The number of lines to display before truncating the text, only used for the 'body' variant.\n */\n @Prop({ mutable: true }) maxLines?: number;\n\n /**\n * If `true`, the typography will have a line through it.\n */\n @Prop() strikethrough?: boolean = false;\n\n /**\n * Sets the text color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * If `true`, the typography will have a line under it.\n */\n @Prop() underline?: boolean = false;\n\n /**\n * The ICDS typography style to use.\n */\n @Prop() variant?: IcTypographyVariants = \"body\";\n\n /**\n * @internal Emits and event when the typography truncation button has been clicked.\n */\n @Event() typographyTruncationExpandToggle: EventEmitter<{\n expanded: boolean;\n typographyEl: HTMLIcTypographyElement;\n }>;\n\n @State() expanded: boolean = false;\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 disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n /**\n * @internal This is used by data table to remove all truncation in certain events\n */\n @Method()\n async resetTruncation() {\n if (this.truncated) {\n this.truncated = false;\n this.maxLines = 0;\n this.el.removeAttribute(\"max-lines\");\n this.expanded = false;\n this.el.removeAttribute(\"style\");\n }\n }\n\n componentDidLoad(): void {\n if (\n (this.variant === \"body\" ||\n (this.el.getRootNode() as ShadowRoot)?.host?.tagName ===\n \"IC-TOOLTIP\") &&\n this.maxLines &&\n this.maxLines > 0\n ) {\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 componentWillRender(): void {\n if (isElInAGGrid(this.el)) {\n this.inAGGrid = true;\n }\n }\n\n private toggleExpanded = (ev: Event) => {\n ev.stopPropagation();\n\n this.expanded = !this.expanded;\n this.typographyTruncationExpandToggle.emit({\n expanded: this.expanded,\n typographyEl: this.el,\n });\n };\n\n /**\n * @internal This checks if the number of lines of text exceeds the maxLines prop. If so, set the line clamp CSS to the max lines\n * @param height - text container height\n */\n\n @Method()\n async checkMaxLines(height: number) {\n //24 is the height of a single line\n const numLines = Math.floor(height / 24);\n if (this.maxLines && 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 /**\n * @internal This method makes it possible to set the expanded status of truncated text outside of ic-typography component\n */\n @Method()\n async setShowHideExpanded(expanded: boolean) {\n this.expanded = expanded;\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]\n ? el.getClientRects()[0].top\n : 0;\n };\n\n private runResizeObserver = () => {\n if (this.truncWrapperEl) {\n this.resizeObserver = new ResizeObserver(() => {\n clearTimeout(this.resizeInterval);\n this.resizeInterval = window.setTimeout(\n this.resizeObserverCallback,\n 50\n );\n });\n this.resizeObserver.observe(this.truncWrapperEl);\n }\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 render() {\n const {\n variant,\n applyVerticalMargins,\n maxLines,\n truncated,\n expanded,\n strikethrough,\n underline,\n italic,\n bold,\n theme,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-typography-${variant}`]: true,\n [`ic-typography-vertical-margins-${variant}`]: !!applyVerticalMargins,\n [\"ic-typography-bold\"]: !!bold,\n [\"ic-typography-italic\"]: !!italic,\n [\"ic-typography-strikethrough\"]: !!strikethrough,\n [\"ic-typography-underline\"]: !!underline,\n [\"in-ag-grid\"]: this.inAGGrid,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n {(variant === \"body\" ||\n (this.el.getRootNode() as ShadowRoot)?.host?.tagName ===\n \"IC-TOOLTIP\") &&\n maxLines &&\n maxLines > 0 ? (\n <div class=\"trunc-wrapper\" ref={(el) => (this.truncWrapperEl = el)}>\n <slot />\n </div>\n ) : (\n <slot />\n )}\n {variant === \"body\" && maxLines && 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 >\n {expanded ? \"See less\" : \"See more\"}\n </button>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"sGAAA,MAAMA,EAAkB,szNACxB,MAAAC,EAAeD,E,MCoBFE,EAAU,MALvB,WAAAC,CAAAC,G,6FAMUC,KAAAC,qBAAgC,KAChCD,KAAAE,SAAoB,MACpBF,KAAAG,cAAwB,EACxBH,KAAAI,UAAoB,EAGpBJ,KAAAK,eAAwC,KACxCL,KAAAM,gBAA0B,EAKzBN,KAAAO,UAAqB,MACrBP,KAAAQ,oBAA+B,MAKhCR,KAAAS,qBAAiC,MAMjCT,KAAAU,KAAiB,MAKjBV,KAAAW,OAAmB,MAUnBX,KAAAY,cAA0B,MAK1BZ,KAAAa,MAAsB,UAKtBb,KAAAc,UAAsB,MAKtBd,KAAAe,QAAiC,OAUhCf,KAAAgB,SAAoB,MAqDrBhB,KAAAiB,eAAkBC,IACxBA,EAAGC,kBAEHnB,KAAKgB,UAAYhB,KAAKgB,SACtBhB,KAAKoB,iCAAiCC,KAAK,CACzCL,SAAUhB,KAAKgB,SACfM,aAActB,KAAKuB,IACnB,EA2BIvB,KAAAwB,oBAAsB,CAACC,EAAeC,KAC5C,GAAIA,EAAYD,EAAQzB,KAAKM,gBAAiB,CAC5CN,KAAKO,UAAY,MACjBP,KAAKgB,SAAW,K,KACX,CACLhB,KAAKO,UAAY,I,GAIbP,KAAA2B,cAAiBJ,GAChBA,EAAGK,gBAAkBL,EAAGK,iBAAiB,GAC5CL,EAAGK,iBAAiB,GAAGC,IACvB,EAGE7B,KAAA8B,kBAAoB,KAC1B,GAAI9B,KAAK+B,eAAgB,CACvB/B,KAAKK,eAAiB,IAAI2B,gBAAe,KACvCC,aAAajC,KAAKkC,gBAClBlC,KAAKkC,eAAiBC,OAAOC,WAC3BpC,KAAKqC,uBACL,GACD,IAEHrC,KAAKK,eAAeiC,QAAQtC,KAAK+B,e,GAI7B/B,KAAAqC,uBAAyB,KAC/B,GAAIrC,KAAKI,YAAcJ,KAAKuB,GAAGgB,YAAa,CAC1C,M,CAGF,GAAIvC,KAAKM,kBAAoB,EAAG,CAC9BN,KAAKwC,cAAcxC,KAAKuB,GAAGkB,cAC3B,M,CAGF,MAAMf,EAAY1B,KAAK2B,cAAc3B,KAAK0C,QAC1C,GAAIhB,IAAc1B,KAAKG,cAAe,CACpC,M,CAGFH,KAAKwB,oBAAoBxB,KAAK2B,cAAc3B,KAAKuB,IAAKG,GACtD1B,KAAKG,cAAgBuB,EACrB1B,KAAKI,UAAYJ,KAAKuB,GAAGgB,WAAW,EAG9BvC,KAAA2C,iBAAmB,KACzB,GAAI3C,KAAKC,qBAAsB,CAC7BD,KAAKQ,oBAAsB,I,GAIvBR,KAAA4C,gBAAkB,KACxB5C,KAAKC,qBAAuB,KAC5BD,KAAKQ,oBAAsB,KAAK,EAG1BR,KAAA6C,0BAA4B,KAClC7C,KAAKC,qBAAuB,KAAK,C,CAhJnC,oBAAA6C,GACE9C,KAAKuB,GAAGwB,aACN,QACA,2BAA2B/C,KAAKgB,SAAW,UAAYhB,KAAKgD,W,CAIhE,oBAAAC,GACE,GAAIjD,KAAKK,iBAAmB,KAAM,CAChCL,KAAKK,eAAe6C,Y,EAOxB,qBAAMC,GACJ,GAAInD,KAAKO,UAAW,CAClBP,KAAKO,UAAY,MACjBP,KAAKgD,SAAW,EAChBhD,KAAKuB,GAAG6B,gBAAgB,aACxBpD,KAAKgB,SAAW,MAChBhB,KAAKuB,GAAG6B,gBAAgB,Q,EAI5B,gBAAAC,G,QACE,IACGrD,KAAKe,UAAY,UAChBuC,GAAAC,EAACvD,KAAKuB,GAAGiC,iBAA4B,MAAAD,SAAA,SAAAA,EAAEE,QAAI,MAAAH,SAAA,SAAAA,EAAEI,WAC3C,eACJ1D,KAAKgD,UACLhD,KAAKgD,SAAW,EAChB,CACA,MAAMN,EAASiB,SAASC,cAAc,QACtClB,EAAOmB,MAAMC,WAAa,SAC1B9D,KAAKuB,GAAGwC,YAAYrB,GACpB1C,KAAK0C,OAASA,EACd1C,KAAKI,UAAYJ,KAAKuB,GAAGgB,YACzBvC,KAAKwC,cAAcxC,KAAKuB,GAAGkB,cAC3BuB,EAAoBhE,KAAK8B,kB,EAI7B,mBAAAmC,GACE,GAAIC,EAAalE,KAAKuB,IAAK,CACzBvB,KAAKE,SAAW,I,EAoBpB,mBAAMsC,CAAc2B,GAElB,MAAMC,EAAWC,KAAKC,MAAMH,EAAS,IACrC,GAAInE,KAAKgD,UAAYoB,EAAWpE,KAAKgD,SAAU,CAC7ChD,KAAKuB,GAAGwB,aAAa,QAAS,2BAA2B/C,KAAKgD,YAC9DhD,KAAKM,gBAAkBN,KAAKuB,GAAGkB,aAC/BzC,KAAKO,UAAY,I,EAQrB,yBAAMgE,CAAoBvD,GACxBhB,KAAKgB,SAAWA,C,CAkElB,MAAAwD,G,QACE,MAAMzD,QACJA,EAAON,qBACPA,EAAoBuC,SACpBA,EAAQzC,UACRA,EAASS,SACTA,EAAQJ,cACRA,EAAaE,UACbA,EAASH,OACTA,EAAMD,KACNA,EAAIG,MACJA,GACEb,KAEJ,OACEyE,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACL,CAAC,iBAAiB7D,KAAY,KAC9B,CAAC,kCAAkCA,OAAcN,EACjD,CAAC,wBAAyBC,EAC1B,CAAC,0BAA2BC,EAC5B,CAAC,iCAAkCC,EACnC,CAAC,6BAA8BE,EAC/B,CAAC,cAAed,KAAKE,SACrB,CAAC,YAAYW,KAAUA,IAAU,aAGjCE,IAAY,UACZuC,GAAAC,EAACvD,KAAKuB,GAAGiC,iBAA4B,MAAAD,SAAA,SAAAA,EAAEE,QAAI,MAAAH,SAAA,SAAAA,EAAEI,WAC3C,eACJV,GACAA,EAAW,EACTyB,EAAA,OAAKG,MAAM,gBAAgBC,IAAMtD,GAAQvB,KAAK+B,eAAiBR,GAC7DkD,EAAA,cAGFA,EAAA,aAED1D,IAAY,QAAUiC,GAAYA,EAAW,GAAKzC,GACjDkE,EAAA,UAAAE,IAAA,2CACEC,MAAO,CAAE,YAAa,KAAME,MAAO9E,KAAKQ,qBACxCuE,QAAS/E,KAAK2C,iBACdqC,OAAQhF,KAAK4C,gBACbqC,YAAajF,KAAK6C,0BAClBqC,QAASlF,KAAKiB,gBAEbD,EAAW,WAAa,Y","ignoreList":[]}
|
1
|
+
{"version":3,"names":["icTypographyCss","IcTypographyStyle0","Typography","constructor","hostRef","this","focusBtnFromKeyboard","inAGGrid","lastMarkerTop","lastWidth","resizeObserver","truncatedHeight","truncated","truncButtonFocussed","applyVerticalMargins","bold","italic","strikethrough","theme","underline","variant","expanded","toggleExpanded","ev","stopPropagation","typographyTruncationExpandToggle","emit","typographyEl","el","checkMarkerPosition","elTop","markerTop","getElementTop","getClientRects","top","runResizeObserver","truncWrapperEl","ResizeObserver","clearTimeout","resizeInterval","window","setTimeout","resizeObserverCallback","observe","clientWidth","checkMaxLines","clientHeight","marker","truncButtonFocus","truncButtonBlur","truncButtonFocusFromMouse","watchExpandedHandler","setAttribute","maxLines","disconnectedCallback","disconnect","resetTruncation","removeAttribute","componentDidLoad","_b","_a","getRootNode","host","tagName","document","createElement","style","visibility","appendChild","checkResizeObserver","componentWillRender","isElInAGGrid","height","numLines","Math","floor","setShowHideExpanded","render","h","Host","key","class","ref","focus","onFocus","onBlur","onMouseDown","onClick"],"sources":["src/components/ic-typography/ic-typography.css?tag=ic-typography&encapsulation=shadow","src/components/ic-typography/ic-typography.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n position: relative;\n color: var(--ic-typography-color, var(--ic-color-text-primary));\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) !important;\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-badge) {\n font: var(--ic-font-badge);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-badge-small) {\n font: var(--ic-font-badge-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\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 padding-right: var(--ellipsis-padding-right, 0);\n}\n\n.trunc-btn {\n border: none;\n background: none;\n padding: 0;\n color: var(--ic-color-text-primary);\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: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n cursor: pointer;\n}\n\n:host(.ic-typography-strikethrough) {\n text-decoration: line-through;\n}\n\n:host(.ic-typography-underline) {\n text-decoration: underline;\n}\n\n:host(.ic-typography-underline.ic-typography-strikethrough) {\n text-decoration: line-through underline;\n}\n\n:host(.ic-typography-italic) {\n font-style: italic !important;\n}\n\n:host(.ic-typography-bold) {\n font-weight: var(--ic-font-weight-bold);\n}\n\n:host(.ic-theme-dark),\n:host(.ic-theme-light) {\n --ic-typography-color: var(--ic-color-text-primary);\n}\n\n:host(.in-ag-grid),\n:host(.in-ag-grid) ::slotted(*) {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n@supports (text-underline-offset: 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\n@media (prefers-color-scheme: dark) and (forced-colors: none) {\n :host,\n .trunc-btn:not(ic-tooltip) {\n color: var(--ic-typography-color);\n }\n}\n","import {\n Component,\n Prop,\n h,\n Element,\n Host,\n State,\n Watch,\n Method,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\n\nimport { IcTypographyVariants, IcThemeMode } from \"../../utils/types\";\nimport { checkResizeObserver, isElInAGGrid } from \"../../utils/helpers\";\n\n@Component({\n styleUrl: \"ic-typography.css\",\n tag: \"ic-typography\",\n shadow: true,\n})\nexport class Typography {\n private focusBtnFromKeyboard: boolean = true;\n private inAGGrid: boolean = false;\n private lastMarkerTop: number = 0;\n private lastWidth: number = 0;\n private marker: HTMLElement;\n private resizeInterval: number;\n private resizeObserver: ResizeObserver | null = null;\n private truncatedHeight: number = 0;\n private truncWrapperEl?: Element;\n\n @Element() el: HTMLIcTypographyElement;\n\n @State() truncated: boolean = false;\n @State() truncButtonFocussed: boolean = false;\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 * If `true`, the typography will have a bold font weight.\n * Note: This will have no impact on variants that already use an equivalent or higher font weight (h1, h2, and subtitle-large).\n */\n @Prop() bold?: boolean = false;\n\n /**\n * If `true`, the typography will have an italic font style.\n */\n @Prop() italic?: boolean = false;\n\n /**\n * The number of lines to display before truncating the text, only used for the 'body' variant.\n */\n @Prop({ mutable: true }) maxLines?: number;\n\n /**\n * If `true`, the typography will have a line through it.\n */\n @Prop() strikethrough?: boolean = false;\n\n /**\n * Sets the text color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * If `true`, the typography will have a line under it.\n */\n @Prop() underline?: boolean = false;\n\n /**\n * The ICDS typography style to use.\n */\n @Prop() variant?: IcTypographyVariants = \"body\";\n\n /**\n * @internal Emits and event when the typography truncation button has been clicked.\n */\n @Event() typographyTruncationExpandToggle: EventEmitter<{\n expanded: boolean;\n typographyEl: HTMLIcTypographyElement;\n }>;\n\n @State() expanded: boolean = false;\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 disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n /**\n * @internal This is used by data table to remove all truncation in certain events\n */\n @Method()\n async resetTruncation() {\n if (this.truncated) {\n this.truncated = false;\n this.maxLines = 0;\n this.el.removeAttribute(\"max-lines\");\n this.expanded = false;\n this.el.removeAttribute(\"style\");\n }\n }\n\n componentDidLoad(): void {\n if (\n (this.variant === \"body\" ||\n (this.el.getRootNode() as ShadowRoot)?.host?.tagName ===\n \"IC-TOOLTIP\") &&\n this.maxLines &&\n this.maxLines > 0\n ) {\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 componentWillRender(): void {\n if (isElInAGGrid(this.el)) {\n this.inAGGrid = true;\n }\n }\n\n private toggleExpanded = (ev: Event) => {\n ev.stopPropagation();\n\n this.expanded = !this.expanded;\n this.typographyTruncationExpandToggle.emit({\n expanded: this.expanded,\n typographyEl: this.el,\n });\n };\n\n /**\n * @internal This checks if the number of lines of text exceeds the maxLines prop. If so, set the line clamp CSS to the max lines\n * @param height - text container height\n */\n\n @Method()\n async checkMaxLines(height: number) {\n //24 is the height of a single line\n const numLines = Math.floor(height / 24);\n if (this.maxLines && 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 /**\n * @internal This method makes it possible to set the expanded status of truncated text outside of ic-typography component\n */\n @Method()\n async setShowHideExpanded(expanded: boolean) {\n this.expanded = expanded;\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]\n ? el.getClientRects()[0].top\n : 0;\n };\n\n private runResizeObserver = () => {\n if (this.truncWrapperEl) {\n this.resizeObserver = new ResizeObserver(() => {\n clearTimeout(this.resizeInterval);\n this.resizeInterval = window.setTimeout(\n this.resizeObserverCallback,\n 50\n );\n });\n this.resizeObserver.observe(this.truncWrapperEl);\n }\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 render() {\n const {\n variant,\n applyVerticalMargins,\n maxLines,\n truncated,\n expanded,\n strikethrough,\n underline,\n italic,\n bold,\n theme,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-typography-${variant}`]: true,\n [`ic-typography-vertical-margins-${variant}`]: !!applyVerticalMargins,\n [\"ic-typography-bold\"]: !!bold,\n [\"ic-typography-italic\"]: !!italic,\n [\"ic-typography-strikethrough\"]: !!strikethrough,\n [\"ic-typography-underline\"]: !!underline,\n [\"in-ag-grid\"]: this.inAGGrid,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n {(variant === \"body\" ||\n (this.el.getRootNode() as ShadowRoot)?.host?.tagName ===\n \"IC-TOOLTIP\") &&\n maxLines &&\n maxLines > 0 ? (\n <div class=\"trunc-wrapper\" ref={(el) => (this.truncWrapperEl = el)}>\n <slot />\n </div>\n ) : (\n <slot />\n )}\n {variant === \"body\" && maxLines && 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 >\n {expanded ? \"See less\" : \"See more\"}\n </button>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|