@duetds/components 7.0.13 → 7.1.1
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/hydrate/index.d.ts +6 -6
- package/hydrate/index.js +554 -223
- package/lib/cjs/duet-action-button.cjs.entry.js +12 -8
- package/lib/cjs/duet-alert.cjs.entry.js +8 -5
- package/lib/cjs/duet-badge.cjs.entry.js +7 -2
- package/lib/cjs/duet-banner.cjs.entry.js +7 -3
- package/lib/cjs/duet-breadcrumb.cjs.entry.js +8 -4
- package/lib/cjs/duet-breadcrumbs.cjs.entry.js +4 -4
- package/lib/cjs/duet-button_2.cjs.entry.js +10 -6
- package/lib/cjs/duet-callout.cjs.entry.js +6 -2
- package/lib/cjs/duet-caption_4.cjs.entry.js +40 -8
- package/lib/cjs/duet-card.cjs.entry.js +10 -6
- package/lib/cjs/duet-checkbox.cjs.entry.js +7 -3
- package/lib/cjs/duet-checkmark.cjs.entry.js +2 -2
- package/lib/cjs/duet-chip.cjs.entry.js +20 -16
- package/lib/cjs/duet-choice_2.cjs.entry.js +17 -10
- package/lib/cjs/duet-collapsible.cjs.entry.js +10 -6
- package/lib/cjs/duet-combobox.cjs.entry.js +6 -6
- package/lib/cjs/duet-contact-card.cjs.entry.js +8 -4
- package/lib/cjs/duet-cookie-consent.cjs.entry.js +6 -2
- package/lib/cjs/duet-date-picker.cjs.entry.js +10 -6
- package/lib/cjs/duet-divider_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-editable-table_3.cjs.entry.js +16 -9
- package/lib/cjs/duet-empty-state.cjs.entry.js +7 -2
- package/lib/cjs/duet-fieldset.cjs.entry.js +8 -4
- package/lib/cjs/duet-footer.cjs.entry.js +9 -5
- package/lib/cjs/duet-grid_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-header_2.cjs.entry.js +12 -8
- package/lib/cjs/duet-hero.cjs.entry.js +10 -6
- package/lib/cjs/duet-icon.cjs.entry.js +7 -3
- package/lib/cjs/duet-input_2.cjs.entry.js +13 -7
- package/lib/cjs/duet-layout.cjs.entry.js +2 -2
- package/lib/cjs/duet-list_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-menu-bar-button.cjs.entry.js +6 -2
- package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +7 -3
- package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +7 -3
- package/lib/cjs/duet-menu-bar-link.cjs.entry.js +6 -2
- package/lib/cjs/duet-menu-bar.cjs.entry.js +4 -2
- package/lib/cjs/duet-modal.cjs.entry.js +11 -9
- package/lib/cjs/duet-multiselect.cjs.entry.js +10 -6
- package/lib/cjs/duet-nav.cjs.entry.js +2 -2
- package/lib/cjs/duet-notification_2.cjs.entry.js +11 -4
- package/lib/cjs/duet-number-input.cjs.entry.js +10 -6
- package/lib/cjs/duet-page-heading.cjs.entry.js +6 -2
- package/lib/cjs/duet-pagination_2.cjs.entry.js +11 -8
- package/lib/cjs/duet-popup-menu-item.cjs.entry.js +6 -2
- package/lib/cjs/duet-popup-menu.cjs.entry.js +5 -5
- package/lib/cjs/duet-progress.cjs.entry.js +9 -5
- package/lib/cjs/duet-promo-card.cjs.entry.js +7 -3
- package/lib/cjs/duet-radio_2.cjs.entry.js +8 -4
- package/lib/cjs/duet-range-slider.cjs.entry.js +8 -4
- package/lib/cjs/duet-scrollable_3.cjs.entry.js +19 -12
- package/lib/cjs/duet-section-layout.cjs.entry.js +2 -2
- package/lib/cjs/duet-select.cjs.entry.js +8 -4
- package/lib/cjs/duet-shaped-image.cjs.entry.js +2 -2
- package/lib/cjs/duet-show-more.cjs.entry.js +10 -6
- package/lib/cjs/duet-slideout-lang.cjs.entry.js +8 -4
- package/lib/cjs/duet-slideout-link.cjs.entry.js +6 -2
- package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +6 -2
- package/lib/cjs/duet-slideout-panel.cjs.entry.js +10 -6
- package/lib/cjs/duet-slideout.cjs.entry.js +10 -8
- package/lib/cjs/duet-step_2.cjs.entry.js +11 -4
- package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +7 -3
- package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +7 -3
- package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +7 -3
- package/lib/cjs/duet-submenu-bar.cjs.entry.js +7 -3
- package/lib/cjs/duet-textarea.cjs.entry.js +8 -4
- package/lib/cjs/duet-toggle.cjs.entry.js +7 -3
- package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +7 -3
- package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +7 -3
- package/lib/cjs/duet-toolbar-link.cjs.entry.js +6 -2
- package/lib/cjs/duet-toolbar.cjs.entry.js +2 -2
- package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +23 -3
- package/lib/cjs/duet-tooltip.cjs.entry.js +10 -12
- package/lib/cjs/duet-tray.cjs.entry.js +9 -5
- package/lib/cjs/duet-upload-aria-status.cjs.entry.js +9 -1
- package/lib/cjs/duet-upload-item.cjs.entry.js +10 -5
- package/lib/cjs/duet-visually-hidden.cjs.entry.js +6 -1
- package/lib/cjs/duet.cjs.js +4 -11
- package/lib/cjs/{errorcodes.utils-c85ef728.js → errorcodes.utils-8e928de5.js} +2 -2
- package/lib/cjs/{focus-utils-a94e86a5.js → focus-utils-135b1e70.js} +1 -1
- package/lib/cjs/{index-04d05fd9.js → index-8d4b3790.js} +505 -183
- package/lib/cjs/{language-utils-6f1ce5d7.js → language-utils-dc19e8b6.js} +1 -1
- package/lib/cjs/loader.cjs.js +3 -12
- package/lib/cjs/nudge-ee03ce2e.js +18 -0
- package/lib/cjs/{teleport-18e2b4b9.js → teleport-af825e04.js} +9 -12
- package/lib/collection/collection-manifest.json +98 -98
- package/lib/collection/components/duet-action-button/duet-action-button.js +22 -9
- package/lib/collection/components/duet-alert/duet-alert.e2e.js +53 -0
- package/lib/collection/components/duet-alert/duet-alert.js +26 -12
- package/lib/collection/components/duet-badge/duet-badge.e2e.js +28 -0
- package/lib/collection/components/duet-badge/duet-badge.js +11 -3
- package/lib/collection/components/duet-banner/duet-banner.e2e.js +23 -0
- package/lib/collection/components/duet-banner/duet-banner.js +20 -8
- package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +8 -2
- package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.e2e.js +18 -0
- package/lib/collection/components/duet-breadcrumbs/duet-breadcrumbs.js +2 -1
- package/lib/collection/components/duet-button/duet-button.e2e.js +210 -0
- package/lib/collection/components/duet-button/duet-button.js +33 -15
- package/lib/collection/components/duet-callout/duet-callout.e2e.js +21 -0
- package/lib/collection/components/duet-callout/duet-callout.js +8 -2
- package/lib/collection/components/duet-caption/duet-caption.e2e.js +26 -0
- package/lib/collection/components/duet-caption/duet-caption.js +11 -3
- package/lib/collection/components/duet-card/duet-card.e2e.js +91 -0
- package/lib/collection/components/duet-card/duet-card.js +28 -12
- package/lib/collection/components/duet-checkbox/duet-checkbox.e2e.js +112 -0
- package/lib/collection/components/duet-checkbox/duet-checkbox.js +18 -7
- package/lib/collection/components/duet-chip/duet-chip.e2e.js +46 -0
- package/lib/collection/components/duet-chip/duet-chip.js +51 -22
- package/lib/collection/components/duet-choice/duet-checkmark.js +4 -2
- package/lib/collection/components/duet-choice/duet-choice.e2e.js +181 -0
- package/lib/collection/components/duet-choice/duet-choice.js +31 -14
- package/lib/collection/components/duet-choice-group/duet-choice-group.e2e.js +88 -0
- package/lib/collection/components/duet-choice-group/duet-choice-group.js +14 -5
- package/lib/collection/components/duet-collapsible/duet-collapsible.e2e.js +125 -0
- package/lib/collection/components/duet-collapsible/duet-collapsible.js +20 -8
- package/lib/collection/components/duet-combobox/duet-combobox.e2e.js +110 -0
- package/lib/collection/components/duet-combobox/duet-combobox.js +14 -7
- package/lib/collection/components/duet-contact-card/duet-contact-card.js +10 -3
- package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.e2e.js +31 -0
- package/lib/collection/components/duet-cookie-consent/duet-cookie-consent.js +8 -2
- package/lib/collection/components/duet-date-picker/date-utils.spec.js +330 -0
- package/lib/collection/components/duet-date-picker/duet-date-picker.e2e.js +694 -0
- package/lib/collection/components/duet-date-picker/duet-date-picker.js +32 -14
- package/lib/collection/components/duet-divider/duet-divider.e2e.js +32 -0
- package/lib/collection/components/duet-divider/duet-divider.js +6 -3
- package/lib/collection/components/duet-editable-table/duet-editable-table.e2e.js +29 -0
- package/lib/collection/components/duet-editable-table/duet-editable-table.js +24 -10
- package/lib/collection/components/duet-empty-state/duet-empty-state.e2e.js +16 -0
- package/lib/collection/components/duet-empty-state/duet-empty-state.js +11 -3
- package/lib/collection/components/duet-fieldset/duet-fieldset.e2e.js +13 -0
- package/lib/collection/components/duet-fieldset/duet-fieldset.js +10 -3
- package/lib/collection/components/duet-footer/duet-footer.e2e.js +186 -0
- package/lib/collection/components/duet-footer/duet-footer.js +27 -12
- package/lib/collection/components/duet-grid/duet-grid.e2e.js +42 -0
- package/lib/collection/components/duet-grid/duet-grid.js +10 -5
- package/lib/collection/components/duet-grid-item/duet-grid-item.js +8 -4
- package/lib/collection/components/duet-header/duet-header.e2e.js +468 -0
- package/lib/collection/components/duet-header/duet-header.js +54 -26
- package/lib/collection/components/duet-heading/duet-heading.e2e.js +27 -0
- package/lib/collection/components/duet-heading/duet-heading.js +16 -6
- package/lib/collection/components/duet-hero/duet-hero.css +30 -0
- package/lib/collection/components/duet-hero/duet-hero.e2e.js +172 -0
- package/lib/collection/components/duet-hero/duet-hero.js +30 -13
- package/lib/collection/components/duet-icon/duet-icon.e2e.js +32 -0
- package/lib/collection/components/duet-icon/duet-icon.js +18 -7
- package/lib/collection/components/duet-icon/icon-utils.spec.js +84 -0
- package/lib/collection/components/duet-input/duet-input.e2e.js +201 -0
- package/lib/collection/components/duet-input/duet-input.js +34 -16
- package/lib/collection/components/duet-label/duet-label.e2e.js +32 -0
- package/lib/collection/components/duet-label/duet-label.js +11 -3
- package/lib/collection/components/duet-layout/duet-layout.e2e.js +32 -0
- package/lib/collection/components/duet-layout/duet-layout.js +6 -3
- package/lib/collection/components/duet-link/duet-link.css +4 -1
- package/lib/collection/components/duet-link/duet-link.e2e.js +53 -0
- package/lib/collection/components/duet-link/duet-link.js +95 -11
- package/lib/collection/components/duet-list/duet-list.e2e.js +105 -0
- package/lib/collection/components/duet-list/duet-list.js +14 -7
- package/lib/collection/components/duet-list-item/duet-list-item.js +2 -1
- package/lib/collection/components/duet-logo/duet-logo.e2e.js +42 -0
- package/lib/collection/components/duet-logo/duet-logo.js +14 -7
- package/lib/collection/components/duet-menu-bar/duet-menu-bar.js +6 -2
- package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +10 -3
- package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +10 -3
- package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +6 -1
- package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +6 -1
- package/lib/collection/components/duet-modal/duet-modal.e2e.js +125 -0
- package/lib/collection/components/duet-modal/duet-modal.js +26 -12
- package/lib/collection/components/duet-multiselect/duet-multiselect.e2e.js +96 -0
- package/lib/collection/components/duet-multiselect/duet-multiselect.js +24 -10
- package/lib/collection/components/duet-nav/duet-nav.js +2 -1
- package/lib/collection/components/duet-notification/duet-notification.e2e.js +12 -0
- package/lib/collection/components/duet-notification/duet-notification.js +15 -6
- package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.e2e.js +177 -0
- package/lib/collection/components/duet-notification-drawer/duet-notification-drawer.js +22 -9
- package/lib/collection/components/duet-number-input/duet-number-input-negative.e2e.js +32 -0
- package/lib/collection/components/duet-number-input/duet-number-input.e2e.js +242 -0
- package/lib/collection/components/duet-number-input/duet-number-input.js +34 -15
- package/lib/collection/components/duet-page-heading/duet-page-heading.js +8 -2
- package/lib/collection/components/duet-pagination/duet-pagination.e2e.js +101 -0
- package/lib/collection/components/duet-pagination/duet-pagination.js +14 -6
- package/lib/collection/components/duet-paragraph/duet-paragraph.e2e.js +27 -0
- package/lib/collection/components/duet-paragraph/duet-paragraph.js +16 -6
- package/lib/collection/components/duet-popup-menu/duet-popup-menu.js +14 -7
- package/lib/collection/components/duet-popup-menu-item/duet-popup-menu-item.js +20 -8
- package/lib/collection/components/duet-progress/duet-progress.e2e.js +12 -0
- package/lib/collection/components/duet-progress/duet-progress.js +8 -2
- package/lib/collection/components/duet-promo-card/duet-promo-card.e2e.js +23 -0
- package/lib/collection/components/duet-promo-card/duet-promo-card.js +14 -5
- package/lib/collection/components/duet-radio/duet-radio.e2e.js +135 -0
- package/lib/collection/components/duet-radio/duet-radio.js +16 -8
- package/lib/collection/components/duet-radio-group/duet-radio-group.e2e.js +57 -0
- package/lib/collection/components/duet-radio-group/duet-radio-group.js +12 -4
- package/lib/collection/components/duet-range-slider/duet-range-slider.e2e.js +57 -0
- package/lib/collection/components/duet-range-slider/duet-range-slider.js +18 -7
- package/lib/collection/components/duet-range-stepper/duet-range-stepper.e2e.js +51 -0
- package/lib/collection/components/duet-range-stepper/duet-range-stepper.js +10 -4
- package/lib/collection/components/duet-range-stepper/duet-range-stepper.spec.js +23 -0
- package/lib/collection/components/duet-scrollable/duet-scrollable.e2e.js +12 -0
- package/lib/collection/components/duet-scrollable/duet-scrollable.js +12 -9
- package/lib/collection/components/duet-section-layout/duet-section-layout.e2e.js +22 -0
- package/lib/collection/components/duet-section-layout/duet-section-layout.js +2 -1
- package/lib/collection/components/duet-select/duet-select.e2e.js +211 -0
- package/lib/collection/components/duet-select/duet-select.js +24 -10
- package/lib/collection/components/duet-shaped-image/duet-shaped-image.js +4 -2
- package/lib/collection/components/duet-show-more/duet-show-more.js +20 -8
- package/lib/collection/components/duet-slideout/duet-slideout.js +14 -6
- package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +6 -1
- package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +6 -1
- package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +12 -4
- package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +10 -3
- package/lib/collection/components/duet-spacer/duet-spacer.e2e.js +27 -0
- package/lib/collection/components/duet-spacer/duet-spacer.js +6 -3
- package/lib/collection/components/duet-spinner/duet-spinner.e2e.js +30 -0
- package/lib/collection/components/duet-spinner/duet-spinner.js +6 -3
- package/lib/collection/components/duet-step/duet-step.e2e.js +92 -0
- package/lib/collection/components/duet-step/duet-step.js +16 -6
- package/lib/collection/components/duet-stepper/duet-stepper.e2e.js +85 -0
- package/lib/collection/components/duet-stepper/duet-stepper.js +10 -3
- package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +10 -3
- package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +10 -3
- package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +6 -1
- package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +6 -1
- package/lib/collection/components/duet-tab/duet-tab.e2e.js +16 -0
- package/lib/collection/components/duet-tab/duet-tab.js +7 -1
- package/lib/collection/components/duet-tab-group/duet-tab-group.e2e.js +108 -0
- package/lib/collection/components/duet-tab-group/duet-tab-group.js +26 -12
- package/lib/collection/components/duet-table/duet-table.e2e.js +95 -0
- package/lib/collection/components/duet-table/duet-table.js +10 -5
- package/lib/collection/components/duet-textarea/duet-textarea.e2e.js +199 -0
- package/lib/collection/components/duet-textarea/duet-textarea.js +22 -9
- package/lib/collection/components/duet-toggle/duet-toggle.e2e.js +73 -0
- package/lib/collection/components/duet-toggle/duet-toggle.js +14 -5
- package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -1
- package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +10 -3
- package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +6 -1
- package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +6 -1
- package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +10 -3
- package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +34 -7
- package/lib/collection/components/duet-tooltip/duet-tooltip.e2e.js +99 -0
- package/lib/collection/components/duet-tooltip/duet-tooltip.js +15 -11
- package/lib/collection/components/duet-tray/duet-tray.e2e.js +103 -0
- package/lib/collection/components/duet-tray/duet-tray.js +12 -4
- package/lib/collection/components/duet-upload/duet-upload.e2e.js +49 -0
- package/lib/collection/components/duet-upload/duet-upload.js +73 -35
- package/lib/collection/components/duet-upload/upload-validators.spec.js +41 -0
- package/lib/collection/components/duet-upload-aria-status/duet-upload-aria-status.js +10 -1
- package/lib/collection/components/duet-upload-item/duet-upload-item.js +23 -9
- package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.e2e.js +12 -0
- package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.js +5 -0
- package/lib/collection/utils/create-id.spec.js +12 -0
- package/lib/collection/utils/js-utils.spec.js +22 -0
- package/lib/collection/utils/language-utils.spec.js +159 -0
- package/lib/collection/utils/math.utils.spec.js +140 -0
- package/lib/collection/utils/nudge.js +14 -0
- package/lib/collection/utils/string-utils.spec.js +39 -0
- package/lib/collection/utils/teleport.js +9 -12
- package/lib/collection/utils/template-utils.spec.js +39 -0
- package/lib/collection/utils/token-utils.spec.js +178 -0
- package/lib/dist-custom-elements/duet-action-button.js +1 -1
- package/lib/dist-custom-elements/duet-alert.js +1 -1
- package/lib/dist-custom-elements/duet-badge.js +1 -1
- package/lib/dist-custom-elements/duet-banner.js +11 -7
- package/lib/dist-custom-elements/duet-breadcrumb.js +9 -5
- package/lib/dist-custom-elements/duet-breadcrumbs.js +4 -4
- package/lib/dist-custom-elements/duet-button.js +1 -1
- package/lib/dist-custom-elements/duet-callout.js +9 -5
- package/lib/dist-custom-elements/duet-caption.js +1 -1
- package/lib/dist-custom-elements/duet-card.js +13 -9
- package/lib/dist-custom-elements/duet-checkbox.js +1 -1
- package/lib/dist-custom-elements/duet-checkmark.js +1 -1
- package/lib/dist-custom-elements/duet-chip.js +26 -19
- package/lib/dist-custom-elements/duet-choice-group.js +21 -11
- package/lib/dist-custom-elements/duet-choice.js +17 -13
- package/lib/dist-custom-elements/duet-collapsible.js +12 -8
- package/lib/dist-custom-elements/duet-combobox.js +15 -10
- package/lib/dist-custom-elements/duet-contact-card.js +15 -11
- package/lib/dist-custom-elements/duet-cookie-consent.js +12 -8
- package/lib/dist-custom-elements/duet-date-picker.js +28 -19
- package/lib/dist-custom-elements/duet-divider.js +1 -1
- package/lib/dist-custom-elements/duet-editable-table.js +17 -13
- package/lib/dist-custom-elements/duet-empty-state.js +1 -1
- package/lib/dist-custom-elements/duet-fieldset.js +1 -1
- package/lib/dist-custom-elements/duet-footer.js +16 -9
- package/lib/dist-custom-elements/duet-grid-item.js +1 -1
- package/lib/dist-custom-elements/duet-grid.js +1 -1
- package/lib/dist-custom-elements/duet-header.js +28 -17
- package/lib/dist-custom-elements/duet-heading.js +1 -1
- package/lib/dist-custom-elements/duet-hero.js +23 -15
- package/lib/dist-custom-elements/duet-icon.js +1 -1
- package/lib/dist-custom-elements/duet-input.js +1 -1
- package/lib/dist-custom-elements/duet-label.js +1 -1
- package/lib/dist-custom-elements/duet-layout.js +3 -3
- package/lib/dist-custom-elements/duet-link.js +1 -1
- package/lib/dist-custom-elements/duet-list-item.js +1 -1
- package/lib/dist-custom-elements/duet-list.js +1 -1
- package/lib/dist-custom-elements/duet-logo.js +1 -1
- package/lib/dist-custom-elements/duet-menu-bar-button.js +8 -4
- package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +9 -5
- package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +9 -5
- package/lib/dist-custom-elements/duet-menu-bar-link.js +8 -4
- package/lib/dist-custom-elements/duet-menu-bar.js +6 -4
- package/lib/dist-custom-elements/duet-modal.js +21 -16
- package/lib/dist-custom-elements/duet-multiselect.js +23 -17
- package/lib/dist-custom-elements/duet-nav.js +3 -3
- package/lib/dist-custom-elements/duet-notification-drawer.js +11 -7
- package/lib/dist-custom-elements/duet-notification.js +9 -5
- package/lib/dist-custom-elements/duet-number-input.js +20 -16
- package/lib/dist-custom-elements/duet-page-heading.js +8 -4
- package/lib/dist-custom-elements/duet-pagination.js +25 -20
- package/lib/dist-custom-elements/duet-paragraph.js +1 -1
- package/lib/dist-custom-elements/duet-popup-menu-item.js +8 -4
- package/lib/dist-custom-elements/duet-popup-menu.js +6 -6
- package/lib/dist-custom-elements/duet-progress.js +1 -1
- package/lib/dist-custom-elements/duet-promo-card.js +10 -6
- package/lib/dist-custom-elements/duet-radio-group.js +21 -11
- package/lib/dist-custom-elements/duet-radio.js +4 -4
- package/lib/dist-custom-elements/duet-range-slider.js +10 -6
- package/lib/dist-custom-elements/duet-range-stepper.js +14 -9
- package/lib/dist-custom-elements/duet-scrollable.js +1 -1
- package/lib/dist-custom-elements/duet-section-layout.js +3 -3
- package/lib/dist-custom-elements/duet-select.js +1 -1
- package/lib/dist-custom-elements/duet-shaped-image.js +3 -3
- package/lib/dist-custom-elements/duet-show-more.js +14 -10
- package/lib/dist-custom-elements/duet-slideout-lang.js +9 -5
- package/lib/dist-custom-elements/duet-slideout-link.js +8 -4
- package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +8 -4
- package/lib/dist-custom-elements/duet-slideout-panel.js +11 -7
- package/lib/dist-custom-elements/duet-slideout.js +11 -9
- package/lib/dist-custom-elements/duet-spacer.js +1 -1
- package/lib/dist-custom-elements/duet-spinner.js +1 -1
- package/lib/dist-custom-elements/duet-step.js +12 -8
- package/lib/dist-custom-elements/duet-stepper.js +12 -5
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +9 -5
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +9 -5
- package/lib/dist-custom-elements/duet-submenu-bar-link.js +9 -5
- package/lib/dist-custom-elements/duet-submenu-bar.js +11 -5
- package/lib/dist-custom-elements/duet-tab-group.js +20 -18
- package/lib/dist-custom-elements/duet-tab.js +8 -3
- package/lib/dist-custom-elements/duet-table.js +1 -1
- package/lib/dist-custom-elements/duet-textarea.js +20 -14
- package/lib/dist-custom-elements/duet-toggle.js +11 -5
- package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +9 -5
- package/lib/dist-custom-elements/duet-toolbar-dropdown.js +9 -5
- package/lib/dist-custom-elements/duet-toolbar-link.js +8 -4
- package/lib/dist-custom-elements/duet-toolbar.js +3 -3
- package/lib/dist-custom-elements/duet-tooltip-button.js +1 -1
- package/lib/dist-custom-elements/duet-tooltip-popup.js +1 -1
- package/lib/dist-custom-elements/duet-tooltip.js +1 -1
- package/lib/dist-custom-elements/duet-tray.js +11 -7
- package/lib/dist-custom-elements/duet-upload-aria-status.js +1 -1
- package/lib/dist-custom-elements/duet-upload-item.js +1 -1
- package/lib/dist-custom-elements/duet-upload.js +30 -24
- package/lib/dist-custom-elements/duet-visually-hidden.js +1 -1
- package/lib/dist-custom-elements/index.d.ts +6 -0
- package/lib/dist-custom-elements/index.js +1 -1
- package/lib/dist-custom-elements/p-040f8831.js +16 -0
- package/lib/dist-custom-elements/{p-7a8c2aed.js → p-092ff822.js} +17 -17
- package/lib/dist-custom-elements/{p-5128c90e.js → p-0c7dab94.js} +10 -6
- package/lib/dist-custom-elements/{p-fbdc5afe.js → p-227dc421.js} +3 -3
- package/lib/dist-custom-elements/{p-7394e25f.js → p-24853ebf.js} +9 -12
- package/lib/dist-custom-elements/{p-ae9d10ef.js → p-2764b248.js} +9 -4
- package/lib/dist-custom-elements/{p-89f61853.js → p-3c3e91d0.js} +4 -4
- package/lib/dist-custom-elements/{p-8a544a4a.js → p-461756c5.js} +8 -6
- package/lib/dist-custom-elements/{p-03baceb5.js → p-4883df66.js} +1 -1
- package/lib/dist-custom-elements/{p-e9d838dd.js → p-51a58715.js} +7 -3
- package/lib/dist-custom-elements/{p-87ab6444.js → p-5f06c4ee.js} +8 -4
- package/lib/dist-custom-elements/{p-778299c4.js → p-5fd9c816.js} +10 -6
- package/lib/dist-custom-elements/{p-ec4d603d.js → p-62c7d9d4.js} +1 -1
- package/lib/dist-custom-elements/{p-811e436b.js → p-6e063bb0.js} +8 -3
- package/lib/dist-custom-elements/{p-e4de8f7b.js → p-720c72c5.js} +18 -9
- package/lib/dist-custom-elements/{p-580110b9.js → p-7579d4ae.js} +507 -166
- package/lib/dist-custom-elements/{p-444a8a81.js → p-7da4aa07.js} +7 -2
- package/lib/dist-custom-elements/{p-235639a0.js → p-8160c830.js} +14 -10
- package/lib/dist-custom-elements/{p-e8146874.js → p-84946626.js} +35 -9
- package/lib/dist-custom-elements/{p-735d77aa.js → p-8800fa36.js} +8 -3
- package/lib/dist-custom-elements/{p-31d056ee.js → p-8afda636.js} +21 -16
- package/lib/dist-custom-elements/{p-9ec763ef.js → p-8f0848ab.js} +3 -3
- package/lib/dist-custom-elements/{p-e7815ffd.js → p-9468d6ea.js} +4 -4
- package/lib/dist-custom-elements/{p-891cf00a.js → p-96f45950.js} +2 -2
- package/lib/dist-custom-elements/{p-457ad3b4.js → p-a0669ee9.js} +9 -5
- package/lib/dist-custom-elements/{p-7ccf98f1.js → p-aa2863af.js} +8 -3
- package/lib/dist-custom-elements/{p-216ee242.js → p-bc972b0a.js} +8 -4
- package/lib/dist-custom-elements/{p-061830ef.js → p-c5032d3a.js} +1 -1
- package/lib/dist-custom-elements/{p-70bf0b69.js → p-cfca65c8.js} +17 -13
- package/lib/dist-custom-elements/{p-9510958d.js → p-d27dc964.js} +12 -9
- package/lib/dist-custom-elements/{p-6658c850.js → p-db1ac527.js} +12 -4
- package/lib/dist-custom-elements/{p-86766141.js → p-dbe427e1.js} +19 -14
- package/lib/dist-custom-elements/{p-03e72a70.js → p-e19d1e27.js} +1 -1
- package/lib/dist-custom-elements/{p-147839fe.js → p-eb55b736.js} +16 -3
- package/lib/dist-custom-elements/{p-dddcc1da.js → p-eea6945b.js} +5 -5
- package/lib/dist-custom-elements/{p-6ff6de66.js → p-f06ebf0f.js} +19 -12
- package/lib/dist-custom-elements/{p-b4fb8e06.js → p-f2263866.js} +25 -6
- package/lib/dist-custom-elements/{p-3b2d38bd.js → p-f6ae66d9.js} +8 -4
- package/lib/dist-custom-elements/{p-32b3e436.js → p-fa9cb266.js} +12 -4
- package/lib/dist-custom-elements/{p-54138086.js → p-fc5aceac.js} +2 -2
- package/lib/duet/duet.esm.js +1 -1
- package/lib/duet/duet.js +2 -6
- package/lib/duet/p-015c6c0f.entry.js +4 -0
- package/lib/duet/p-040f8831.js +4 -0
- package/lib/duet/p-053b71e6.system.js +1 -1
- package/lib/duet/p-05432941.system.entry.js +4 -0
- package/lib/duet/p-07ae2d9c.system.js +5 -0
- package/lib/duet/p-07bf4b25.system.entry.js +4 -0
- package/lib/duet/{p-b760effb.entry.js → p-09694f22.entry.js} +1 -1
- package/lib/duet/p-0c4bbd65.system.js +1 -1
- package/lib/duet/p-168f9b1c.entry.js +4 -0
- package/lib/duet/p-1a91e22a.system.js +4 -0
- package/lib/duet/p-1b56e37f.system.entry.js +4 -0
- package/lib/duet/p-1fb54404.system.entry.js +4 -0
- package/lib/duet/p-2043a083.entry.js +4 -0
- package/lib/duet/{p-8a3fcbdb.system.entry.js → p-2118ce4b.system.entry.js} +1 -1
- package/lib/duet/p-21f3a17a.system.js +1 -1
- package/lib/duet/p-22a9a885.system.entry.js +4 -0
- package/lib/duet/p-22c45d9c.system.entry.js +4 -0
- package/lib/duet/p-232940fa.system.js +4 -0
- package/lib/duet/p-24853ebf.js +4 -0
- package/lib/duet/{p-c201968f.entry.js → p-2622c405.entry.js} +1 -1
- package/lib/duet/p-26415995.entry.js +4 -0
- package/lib/duet/p-26e1dca0.system.entry.js +4 -0
- package/lib/duet/p-28f8fa55.system.entry.js +4 -0
- package/lib/duet/p-299e8254.entry.js +4 -0
- package/lib/duet/p-2abe65e5.entry.js +4 -0
- package/lib/duet/p-31382b41.system.entry.js +4 -0
- package/lib/duet/p-31a0d4f6.system.entry.js +4 -0
- package/lib/duet/p-3469e15c.entry.js +4 -0
- package/lib/duet/{p-0c6705bb.system.entry.js → p-35762693.system.entry.js} +1 -1
- package/lib/duet/p-38eb6aa3.system.entry.js +4 -0
- package/lib/duet/p-3a0fde44.entry.js +4 -0
- package/lib/duet/{p-a678835a.entry.js → p-3e27b126.entry.js} +1 -1
- package/lib/duet/p-3f78ed00.entry.js +4 -0
- package/lib/duet/p-3f96e6be.system.entry.js +4 -0
- package/lib/duet/{p-e7cc2826.system.entry.js → p-3fbc446a.system.entry.js} +1 -1
- package/lib/duet/p-403df195.entry.js +4 -0
- package/lib/duet/p-406ec3c8.entry.js +4 -0
- package/lib/duet/p-442872df.system.entry.js +4 -0
- package/lib/duet/p-449c2232.system.entry.js +4 -0
- package/lib/duet/p-4655fafc.entry.js +4 -0
- package/lib/duet/{p-e91385fb.js → p-4669b0af.js} +1 -1
- package/lib/duet/p-4801f8f8.system.entry.js +4 -0
- package/lib/duet/{p-03baceb5.js → p-4883df66.js} +1 -1
- package/lib/duet/p-4abb665b.system.entry.js +4 -0
- package/lib/duet/p-4ce91f2d.system.entry.js +4 -0
- package/lib/duet/p-4e958a51.system.entry.js +4 -0
- package/lib/duet/p-5167068e.system.entry.js +4 -0
- package/lib/duet/p-52e15824.entry.js +4 -0
- package/lib/duet/p-53da8993.entry.js +4 -0
- package/lib/duet/p-556983df.entry.js +4 -0
- package/lib/duet/p-56b259c4.system.entry.js +4 -0
- package/lib/duet/p-57b02e39.system.entry.js +4 -0
- package/lib/duet/p-5aa42e6e.system.entry.js +4 -0
- package/lib/duet/p-5b014c86.system.js +4 -0
- package/lib/duet/p-5c08947a.system.entry.js +4 -0
- package/lib/duet/p-5e25fed6.system.entry.js +4 -0
- package/lib/duet/p-6043a34d.entry.js +4 -0
- package/lib/duet/p-618fae79.system.entry.js +4 -0
- package/lib/duet/p-61989371.system.entry.js +4 -0
- package/lib/duet/p-6278bb45.system.entry.js +4 -0
- package/lib/duet/p-62e31f4f.entry.js +4 -0
- package/lib/duet/p-64599d16.entry.js +4 -0
- package/lib/duet/p-64c58523.system.entry.js +4 -0
- package/lib/duet/p-6665a293.entry.js +4 -0
- package/lib/duet/p-668716b8.system.js +4 -0
- package/lib/duet/p-678e5dee.entry.js +4 -0
- package/lib/duet/p-6878509c.system.entry.js +4 -0
- package/lib/duet/p-68c41c1e.system.entry.js +4 -0
- package/lib/duet/p-68e69fb0.entry.js +4 -0
- package/lib/duet/p-69180c8a.entry.js +4 -0
- package/lib/duet/p-69ed2463.entry.js +4 -0
- package/lib/duet/p-6a11cde0.system.entry.js +4 -0
- package/lib/duet/p-6ac42c0b.system.entry.js +4 -0
- package/lib/duet/p-6cd9e728.system.entry.js +4 -0
- package/lib/duet/p-6ff847d2.entry.js +4 -0
- package/lib/duet/p-70046a69.entry.js +4 -0
- package/lib/duet/p-7041ce72.system.entry.js +4 -0
- package/lib/duet/p-7047ac99.system.entry.js +4 -0
- package/lib/duet/p-719b38fe.system.js +4 -0
- package/lib/duet/p-73e91b76.entry.js +4 -0
- package/lib/duet/p-75daef16.system.js +4 -0
- package/lib/duet/p-7671b7b7.system.js +4 -0
- package/lib/duet/{p-16abb2d5.system.entry.js → p-76837ecf.system.entry.js} +1 -1
- package/lib/duet/{p-33b3aba4.system.js → p-77b6e4ba.system.js} +1 -1
- package/lib/duet/p-7862b921.entry.js +4 -0
- package/lib/duet/{p-e4e0578f.entry.js → p-79b111a8.entry.js} +1 -1
- package/lib/duet/p-79f248ef.entry.js +4 -0
- package/lib/duet/{p-4ab24dcd.entry.js → p-7b2e5d7f.entry.js} +1 -1
- package/lib/duet/p-7c29d36a.system.js +4 -0
- package/lib/duet/p-7cc4dfa7.entry.js +4 -0
- package/lib/duet/p-7d836058.entry.js +4 -0
- package/lib/duet/p-7ff3e582.entry.js +4 -0
- package/lib/duet/p-81107718.entry.js +4 -0
- package/lib/duet/p-846ff870.entry.js +4 -0
- package/lib/duet/p-8517c898.entry.js +4 -0
- package/lib/duet/p-867ac9cc.system.entry.js +4 -0
- package/lib/duet/p-8683ae46.system.entry.js +4 -0
- package/lib/duet/p-87dd7bf3.system.js +4 -0
- package/lib/duet/p-8972381a.system.js +4 -0
- package/lib/duet/p-89f3b845.entry.js +4 -0
- package/lib/duet/p-8b3ca5ab.system.entry.js +4 -0
- package/lib/duet/{p-7174ea1e.entry.js → p-8b5fcd98.entry.js} +1 -1
- package/lib/duet/p-8d0d6e06.system.js +4 -0
- package/lib/duet/p-8e1da663.system.js +4 -0
- package/lib/duet/p-8f477bd6.system.js +1 -1
- package/lib/duet/p-90c5eed1.entry.js +4 -0
- package/lib/duet/p-91aef612.entry.js +4 -0
- package/lib/duet/p-92978891.system.entry.js +4 -0
- package/lib/duet/p-930e7709.system.entry.js +4 -0
- package/lib/duet/p-9323e964.js +4 -0
- package/lib/duet/p-93877e30.system.entry.js +4 -0
- package/lib/duet/{p-e91a7222.entry.js → p-93c389a8.entry.js} +1 -1
- package/lib/duet/p-94f4e0bf.entry.js +4 -0
- package/lib/duet/{p-0acc8f88.system.entry.js → p-9c7d954f.system.entry.js} +1 -1
- package/lib/duet/p-9d033a04.system.js +1 -1
- package/lib/duet/p-9f04f069.entry.js +4 -0
- package/lib/duet/p-a1b259b5.entry.js +4 -0
- package/lib/duet/p-a31ec36c.entry.js +4 -0
- package/lib/duet/{p-6d711206.entry.js → p-a3a93783.entry.js} +1 -1
- package/lib/duet/{p-f5903e7d.entry.js → p-a42e4e99.entry.js} +1 -1
- package/lib/duet/{p-7fe6bf2c.system.entry.js → p-a5d3e6fb.system.entry.js} +1 -1
- package/lib/duet/p-a65edc8c.entry.js +4 -0
- package/lib/duet/p-a7c0ac21.system.entry.js +4 -0
- package/lib/duet/p-aa326c4e.entry.js +4 -0
- package/lib/duet/p-ab981ff7.entry.js +4 -0
- package/lib/duet/p-ac711c85.entry.js +4 -0
- package/lib/duet/p-acb44157.system.entry.js +4 -0
- package/lib/duet/p-ae8732d6.system.entry.js +4 -0
- package/lib/duet/p-aeccbda2.entry.js +4 -0
- package/lib/duet/p-b1db3006.js +1 -1
- package/lib/duet/p-b223f9f3.entry.js +4 -0
- package/lib/duet/p-b440e72b.system.entry.js +4 -0
- package/lib/duet/{p-e4734600.entry.js → p-b4d48cd1.entry.js} +1 -1
- package/lib/duet/p-b66ecbb2.entry.js +4 -0
- package/lib/duet/p-b8c3530f.system.entry.js +4 -0
- package/lib/duet/{p-429a181d.system.entry.js → p-b9122050.system.entry.js} +1 -1
- package/lib/duet/p-b932a1dc.system.entry.js +4 -0
- package/lib/duet/p-b99c00fa.system.js +4 -0
- package/lib/duet/p-bd988e8e.entry.js +4 -0
- package/lib/duet/p-c05d40ff.system.entry.js +4 -0
- package/lib/duet/p-c2884d84.system.entry.js +4 -0
- package/lib/duet/p-c30a5f7c.system.js +4 -0
- package/lib/duet/p-c4162949.system.entry.js +4 -0
- package/lib/duet/p-c67fb8ae.entry.js +4 -0
- package/lib/duet/{p-7dc87593.system.entry.js → p-c7719838.system.entry.js} +1 -1
- package/lib/duet/p-c7d985bf.system.entry.js +4 -0
- package/lib/duet/p-c94181d2.entry.js +4 -0
- package/lib/duet/p-c97109b5.system.js +4 -0
- package/lib/duet/{p-8db716f2.system.entry.js → p-cb01acfa.system.entry.js} +2 -2
- package/lib/duet/p-cbe9191a.entry.js +4 -0
- package/lib/duet/p-cbf7f63b.entry.js +4 -0
- package/lib/duet/p-cefb4bab.entry.js +4 -0
- package/lib/duet/{p-213ba11f.entry.js → p-d0dd55f5.entry.js} +1 -1
- package/lib/duet/p-d1edbad6.system.entry.js +4 -0
- package/lib/duet/p-d3384a8b.entry.js +4 -0
- package/lib/duet/p-d366b0ac.system.entry.js +4 -0
- package/lib/duet/p-d3e74991.system.entry.js +4 -0
- package/lib/duet/p-d5ac9c19.system.entry.js +4 -0
- package/lib/duet/p-d60fc476.entry.js +4 -0
- package/lib/duet/p-d97155db.system.entry.js +4 -0
- package/lib/duet/p-da858b14.entry.js +4 -0
- package/lib/duet/p-daea7760.entry.js +4 -0
- package/lib/duet/p-e0321b18.system.entry.js +4 -0
- package/lib/duet/{p-7804ff1e.entry.js → p-e1178f0e.entry.js} +1 -1
- package/lib/duet/p-e2d5f327.entry.js +4 -0
- package/lib/duet/p-e4a8487e.system.entry.js +4 -0
- package/lib/duet/p-e5fbc547.system.entry.js +4 -0
- package/lib/duet/p-e82882cb.system.entry.js +4 -0
- package/lib/duet/p-e8f76d19.system.entry.js +4 -0
- package/lib/duet/p-ea2375d5.entry.js +4 -0
- package/lib/duet/p-ebf8ad5c.system.entry.js +4 -0
- package/lib/duet/p-ec2b5cc2.system.entry.js +4 -0
- package/lib/duet/p-ecf1f6cd.system.js +4 -0
- package/lib/duet/p-ed5a5071.system.js +4 -0
- package/lib/duet/{p-1d463cc4.system.entry.js → p-f158a882.system.entry.js} +1 -1
- package/lib/duet/p-f6476f51.entry.js +4 -0
- package/lib/duet/p-f67da334.system.entry.js +4 -0
- package/lib/duet/p-f69e737e.system.entry.js +4 -0
- package/lib/duet/p-f89001e8.entry.js +4 -0
- package/lib/duet/{p-25495204.system.entry.js → p-faefd02d.system.entry.js} +2 -2
- package/lib/duet/p-fd0d794b.entry.js +4 -0
- package/lib/duet/p-fdcc3016.entry.js +4 -0
- package/lib/duet/p-ff9db811.js +5 -0
- package/lib/esm/duet-action-button.entry.js +12 -8
- package/lib/esm/duet-alert.entry.js +8 -5
- package/lib/esm/duet-badge.entry.js +7 -2
- package/lib/esm/duet-banner.entry.js +7 -3
- package/lib/esm/duet-breadcrumb.entry.js +8 -4
- package/lib/esm/duet-breadcrumbs.entry.js +4 -4
- package/lib/esm/duet-button_2.entry.js +10 -6
- package/lib/esm/duet-callout.entry.js +6 -2
- package/lib/esm/duet-caption_4.entry.js +40 -8
- package/lib/esm/duet-card.entry.js +10 -6
- package/lib/esm/duet-checkbox.entry.js +7 -3
- package/lib/esm/duet-checkmark.entry.js +2 -2
- package/lib/esm/duet-chip.entry.js +20 -16
- package/lib/esm/duet-choice_2.entry.js +17 -10
- package/lib/esm/duet-collapsible.entry.js +10 -6
- package/lib/esm/duet-combobox.entry.js +6 -6
- package/lib/esm/duet-contact-card.entry.js +8 -4
- package/lib/esm/duet-cookie-consent.entry.js +6 -2
- package/lib/esm/duet-date-picker.entry.js +10 -6
- package/lib/esm/duet-divider_2.entry.js +3 -3
- package/lib/esm/duet-editable-table_3.entry.js +16 -9
- package/lib/esm/duet-empty-state.entry.js +7 -2
- package/lib/esm/duet-fieldset.entry.js +8 -4
- package/lib/esm/duet-footer.entry.js +9 -5
- package/lib/esm/duet-grid_2.entry.js +3 -3
- package/lib/esm/duet-header_2.entry.js +12 -8
- package/lib/esm/duet-hero.entry.js +10 -6
- package/lib/esm/duet-icon.entry.js +7 -3
- package/lib/esm/duet-input_2.entry.js +13 -7
- package/lib/esm/duet-layout.entry.js +2 -2
- package/lib/esm/duet-list_2.entry.js +3 -3
- package/lib/esm/duet-menu-bar-button.entry.js +6 -2
- package/lib/esm/duet-menu-bar-dropdown-link.entry.js +7 -3
- package/lib/esm/duet-menu-bar-dropdown.entry.js +7 -3
- package/lib/esm/duet-menu-bar-link.entry.js +6 -2
- package/lib/esm/duet-menu-bar.entry.js +4 -2
- package/lib/esm/duet-modal.entry.js +11 -9
- package/lib/esm/duet-multiselect.entry.js +10 -6
- package/lib/esm/duet-nav.entry.js +2 -2
- package/lib/esm/duet-notification_2.entry.js +11 -4
- package/lib/esm/duet-number-input.entry.js +10 -6
- package/lib/esm/duet-page-heading.entry.js +6 -2
- package/lib/esm/duet-pagination_2.entry.js +11 -8
- package/lib/esm/duet-popup-menu-item.entry.js +6 -2
- package/lib/esm/duet-popup-menu.entry.js +5 -5
- package/lib/esm/duet-progress.entry.js +9 -5
- package/lib/esm/duet-promo-card.entry.js +7 -3
- package/lib/esm/duet-radio_2.entry.js +8 -4
- package/lib/esm/duet-range-slider.entry.js +8 -4
- package/lib/esm/duet-scrollable_3.entry.js +19 -12
- package/lib/esm/duet-section-layout.entry.js +2 -2
- package/lib/esm/duet-select.entry.js +8 -4
- package/lib/esm/duet-shaped-image.entry.js +2 -2
- package/lib/esm/duet-show-more.entry.js +10 -6
- package/lib/esm/duet-slideout-lang.entry.js +8 -4
- package/lib/esm/duet-slideout-link.entry.js +6 -2
- package/lib/esm/duet-slideout-panel-dropdown.entry.js +6 -2
- package/lib/esm/duet-slideout-panel.entry.js +10 -6
- package/lib/esm/duet-slideout.entry.js +10 -8
- package/lib/esm/duet-step_2.entry.js +11 -4
- package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +7 -3
- package/lib/esm/duet-submenu-bar-dropdown.entry.js +7 -3
- package/lib/esm/duet-submenu-bar-link.entry.js +7 -3
- package/lib/esm/duet-submenu-bar.entry.js +7 -3
- package/lib/esm/duet-textarea.entry.js +8 -4
- package/lib/esm/duet-toggle.entry.js +7 -3
- package/lib/esm/duet-toolbar-dropdown-link.entry.js +7 -3
- package/lib/esm/duet-toolbar-dropdown.entry.js +7 -3
- package/lib/esm/duet-toolbar-link.entry.js +6 -2
- package/lib/esm/duet-toolbar.entry.js +2 -2
- package/lib/esm/duet-tooltip-button_2.entry.js +23 -3
- package/lib/esm/duet-tooltip.entry.js +10 -12
- package/lib/esm/duet-tray.entry.js +9 -5
- package/lib/esm/duet-upload-aria-status.entry.js +9 -1
- package/lib/esm/duet-upload-item.entry.js +10 -5
- package/lib/esm/duet-visually-hidden.entry.js +6 -1
- package/lib/esm/duet.js +5 -12
- package/lib/esm/{errorcodes.utils-47fc5d49.js → errorcodes.utils-424b1197.js} +2 -2
- package/lib/esm/{focus-utils-e26ba3b3.js → focus-utils-d927e096.js} +1 -1
- package/lib/esm/{index-c1a17a4c.js → index-bb518df4.js} +505 -183
- package/lib/esm/{language-utils-9d850f6c.js → language-utils-9ff76444.js} +1 -1
- package/lib/esm/loader.js +4 -13
- package/lib/esm/nudge-560904c3.js +16 -0
- package/lib/esm/{teleport-6b18ccae.js → teleport-15747328.js} +9 -12
- package/lib/esm-es5/app-globals-de2a5510.js +1 -1
- package/lib/esm-es5/{bodyScrollLock.es6-61b5e9a4.js → bodyScrollLock.es6-8dc7cca7.js} +1 -1
- package/lib/esm-es5/{create-id-981107da.js → create-id-2b0cd46d.js} +1 -1
- package/lib/esm-es5/duet-action-button.entry.js +2 -2
- package/lib/esm-es5/duet-alert.entry.js +2 -2
- package/lib/esm-es5/duet-badge.entry.js +1 -1
- package/lib/esm-es5/duet-banner.entry.js +1 -1
- package/lib/esm-es5/duet-breadcrumb.entry.js +1 -1
- package/lib/esm-es5/duet-breadcrumbs.entry.js +2 -2
- package/lib/esm-es5/duet-button_2.entry.js +2 -2
- package/lib/esm-es5/duet-callout.entry.js +1 -1
- package/lib/esm-es5/duet-caption_4.entry.js +2 -2
- package/lib/esm-es5/duet-card.entry.js +1 -1
- package/lib/esm-es5/duet-checkbox.entry.js +2 -2
- package/lib/esm-es5/duet-checkmark.entry.js +1 -1
- package/lib/esm-es5/duet-chip.entry.js +2 -2
- package/lib/esm-es5/duet-choice_2.entry.js +2 -2
- package/lib/esm-es5/duet-collapsible.entry.js +2 -2
- package/lib/esm-es5/duet-combobox.entry.js +2 -2
- package/lib/esm-es5/duet-contact-card.entry.js +1 -1
- package/lib/esm-es5/duet-cookie-consent.entry.js +1 -1
- package/lib/esm-es5/duet-date-picker.entry.js +2 -2
- package/lib/esm-es5/duet-divider_2.entry.js +1 -1
- package/lib/esm-es5/duet-editable-table_3.entry.js +2 -2
- package/lib/esm-es5/duet-empty-state.entry.js +1 -1
- package/lib/esm-es5/duet-fieldset.entry.js +1 -1
- package/lib/esm-es5/duet-footer.entry.js +2 -2
- package/lib/esm-es5/duet-grid_2.entry.js +2 -2
- package/lib/esm-es5/duet-header_2.entry.js +2 -2
- package/lib/esm-es5/duet-hero.entry.js +2 -2
- package/lib/esm-es5/duet-icon.entry.js +2 -2
- package/lib/esm-es5/duet-input_2.entry.js +2 -2
- package/lib/esm-es5/duet-layout.entry.js +1 -1
- package/lib/esm-es5/duet-list_2.entry.js +2 -2
- package/lib/esm-es5/duet-menu-bar-button.entry.js +2 -2
- package/lib/esm-es5/duet-menu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar-dropdown.entry.js +2 -2
- package/lib/esm-es5/duet-menu-bar-link.entry.js +1 -1
- package/lib/esm-es5/duet-menu-bar.entry.js +1 -1
- package/lib/esm-es5/duet-modal.entry.js +2 -2
- package/lib/esm-es5/duet-multiselect.entry.js +2 -2
- package/lib/esm-es5/duet-nav.entry.js +1 -1
- package/lib/esm-es5/duet-notification_2.entry.js +2 -2
- package/lib/esm-es5/duet-number-input.entry.js +2 -2
- package/lib/esm-es5/duet-page-heading.entry.js +1 -1
- package/lib/esm-es5/duet-pagination_2.entry.js +2 -2
- package/lib/esm-es5/duet-popup-menu-item.entry.js +2 -2
- package/lib/esm-es5/duet-popup-menu.entry.js +2 -2
- package/lib/esm-es5/duet-progress.entry.js +1 -1
- package/lib/esm-es5/duet-promo-card.entry.js +1 -1
- package/lib/esm-es5/duet-radio_2.entry.js +2 -2
- package/lib/esm-es5/duet-range-slider.entry.js +2 -2
- package/lib/esm-es5/duet-scrollable_3.entry.js +2 -2
- package/lib/esm-es5/duet-section-layout.entry.js +1 -1
- package/lib/esm-es5/duet-select.entry.js +2 -2
- package/lib/esm-es5/duet-shaped-image.entry.js +1 -1
- package/lib/esm-es5/duet-show-more.entry.js +1 -1
- package/lib/esm-es5/duet-slideout-lang.entry.js +1 -1
- package/lib/esm-es5/duet-slideout-link.entry.js +1 -1
- package/lib/esm-es5/duet-slideout-panel-dropdown.entry.js +2 -2
- package/lib/esm-es5/duet-slideout-panel.entry.js +2 -2
- package/lib/esm-es5/duet-slideout.entry.js +2 -2
- package/lib/esm-es5/duet-step_2.entry.js +2 -2
- package/lib/esm-es5/duet-submenu-bar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-dropdown.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar-link.entry.js +1 -1
- package/lib/esm-es5/duet-submenu-bar.entry.js +2 -2
- package/lib/esm-es5/duet-textarea.entry.js +2 -2
- package/lib/esm-es5/duet-toggle.entry.js +2 -2
- package/lib/esm-es5/duet-toolbar-dropdown-link.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar-dropdown.entry.js +2 -2
- package/lib/esm-es5/duet-toolbar-link.entry.js +1 -1
- package/lib/esm-es5/duet-toolbar.entry.js +1 -1
- package/lib/esm-es5/duet-tooltip-button_2.entry.js +2 -2
- package/lib/esm-es5/duet-tooltip.entry.js +2 -2
- package/lib/esm-es5/duet-tray.entry.js +1 -1
- package/lib/esm-es5/duet-upload-aria-status.entry.js +1 -1
- package/lib/esm-es5/duet-upload-item.entry.js +2 -2
- package/lib/esm-es5/duet-visually-hidden.entry.js +1 -1
- package/lib/esm-es5/duet.js +1 -1
- package/lib/esm-es5/errorcodes.utils-424b1197.js +4 -0
- package/lib/esm-es5/{floating-ui.dom.esm-6025c98f.js → floating-ui.dom.esm-efad5c89.js} +2 -2
- package/lib/esm-es5/focus-utils-d927e096.js +4 -0
- package/lib/esm-es5/index-bb518df4.js +5 -0
- package/lib/esm-es5/input-utils-a0225b92.js +4 -0
- package/lib/esm-es5/keyboard-utils-5746e126.js +4 -0
- package/lib/esm-es5/{language-utils-9d850f6c.js → language-utils-9ff76444.js} +1 -1
- package/lib/esm-es5/loader.js +1 -1
- package/lib/esm-es5/nudge-560904c3.js +4 -0
- package/lib/esm-es5/string-utils-59ad4cb2.js +4 -0
- package/lib/esm-es5/teleport-15747328.js +4 -0
- package/lib/esm-es5/token-utils-46c8fe31.js +4 -0
- package/lib/esm-es5/watch-options-f189118b.js +4 -0
- package/lib/loader/index.d.ts +2 -2
- package/lib/types/common-types.d.ts +1 -0
- package/lib/types/components/duet-action-button/duet-action-button.d.ts +1 -0
- package/lib/types/components/duet-alert/duet-alert.d.ts +2 -1
- package/lib/types/components/duet-badge/duet-badge.d.ts +2 -0
- package/lib/types/components/duet-banner/duet-banner.d.ts +1 -0
- package/lib/types/components/duet-breadcrumbs/duet-breadcrumb.d.ts +1 -0
- package/lib/types/components/duet-button/duet-button.d.ts +2 -1
- package/lib/types/components/duet-callout/duet-callout.d.ts +1 -0
- package/lib/types/components/duet-caption/duet-caption.d.ts +2 -0
- package/lib/types/components/duet-card/duet-card.d.ts +1 -0
- package/lib/types/components/duet-checkbox/duet-checkbox.d.ts +1 -0
- package/lib/types/components/duet-chip/duet-chip.d.ts +6 -1
- package/lib/types/components/duet-choice/duet-choice.d.ts +2 -1
- package/lib/types/components/duet-choice-group/duet-choice-group.d.ts +1 -0
- package/lib/types/components/duet-collapsible/duet-collapsible.d.ts +1 -0
- package/lib/types/components/duet-contact-card/duet-contact-card.d.ts +1 -0
- package/lib/types/components/duet-cookie-consent/duet-cookie-consent.d.ts +1 -0
- package/lib/types/components/duet-date-picker/duet-date-picker.d.ts +1 -0
- package/lib/types/components/duet-editable-table/duet-editable-table.d.ts +1 -0
- package/lib/types/components/duet-empty-state/duet-empty-state.d.ts +2 -0
- package/lib/types/components/duet-fieldset/duet-fieldset.d.ts +1 -0
- package/lib/types/components/duet-footer/duet-footer.d.ts +2 -1
- package/lib/types/components/duet-header/duet-header.d.ts +3 -2
- package/lib/types/components/duet-heading/duet-heading.d.ts +1 -0
- package/lib/types/components/duet-hero/duet-hero.d.ts +1 -0
- package/lib/types/components/duet-icon/duet-icon.d.ts +1 -0
- package/lib/types/components/duet-label/duet-label.d.ts +2 -0
- package/lib/types/components/duet-link/duet-link.d.ts +22 -3
- package/lib/types/components/duet-menu-bar-button/duet-menu-bar-button.d.ts +1 -0
- package/lib/types/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.d.ts +1 -0
- package/lib/types/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.d.ts +1 -0
- package/lib/types/components/duet-menu-bar-link/duet-menu-bar-link.d.ts +1 -0
- package/lib/types/components/duet-modal/duet-modal.d.ts +1 -1
- package/lib/types/components/duet-multiselect/duet-multiselect.d.ts +1 -0
- package/lib/types/components/duet-notification/duet-notification.d.ts +2 -1
- package/lib/types/components/duet-notification-drawer/duet-notification-drawer.d.ts +1 -0
- package/lib/types/components/duet-number-input/duet-number-input.d.ts +1 -0
- package/lib/types/components/duet-page-heading/duet-page-heading.d.ts +1 -0
- package/lib/types/components/duet-paragraph/duet-paragraph.d.ts +1 -0
- package/lib/types/components/duet-popup-menu-item/duet-popup-menu-item.d.ts +1 -0
- package/lib/types/components/duet-progress/duet-progress.d.ts +1 -0
- package/lib/types/components/duet-promo-card/duet-promo-card.d.ts +1 -0
- package/lib/types/components/duet-radio-group/duet-radio-group.d.ts +1 -0
- package/lib/types/components/duet-range-slider/duet-range-slider.d.ts +1 -0
- package/lib/types/components/duet-scrollable/duet-scrollable.d.ts +1 -1
- package/lib/types/components/duet-select/duet-select.d.ts +1 -0
- package/lib/types/components/duet-show-more/duet-show-more.d.ts +1 -0
- package/lib/types/components/duet-slideout-lang/duet-slideout-lang.d.ts +1 -0
- package/lib/types/components/duet-slideout-link/duet-slideout-link.d.ts +1 -0
- package/lib/types/components/duet-slideout-panel/duet-slideout-panel.d.ts +1 -0
- package/lib/types/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.d.ts +1 -0
- package/lib/types/components/duet-step/duet-step.d.ts +1 -0
- package/lib/types/components/duet-stepper/duet-stepper.d.ts +1 -0
- package/lib/types/components/duet-submenu-bar/duet-submenu-bar.d.ts +1 -0
- package/lib/types/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.d.ts +1 -0
- package/lib/types/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.d.ts +1 -0
- package/lib/types/components/duet-submenu-bar-link/duet-submenu-bar-link.d.ts +1 -0
- package/lib/types/components/duet-tab/duet-tab.d.ts +2 -0
- package/lib/types/components/duet-textarea/duet-textarea.d.ts +1 -0
- package/lib/types/components/duet-toggle/duet-toggle.d.ts +1 -0
- package/lib/types/components/duet-toolbar-dropdown/duet-toolbar-dropdown.d.ts +1 -0
- package/lib/types/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.d.ts +1 -0
- package/lib/types/components/duet-toolbar-link/duet-toolbar-link.d.ts +1 -0
- package/lib/types/components/duet-tooltip/duet-tooltip-button.d.ts +1 -0
- package/lib/types/components/duet-tooltip/duet-tooltip-popup.d.ts +3 -0
- package/lib/types/components/duet-tooltip/duet-tooltip.d.ts +0 -1
- package/lib/types/components/duet-tray/duet-tray.d.ts +1 -0
- package/lib/types/components/duet-upload/duet-upload.d.ts +2 -1
- package/lib/types/components/duet-upload-aria-status/duet-upload-aria-status.d.ts +5 -0
- package/lib/types/components/duet-upload-item/duet-upload-item.d.ts +2 -0
- package/lib/types/components/duet-visually-hidden/duet-visually-hidden.d.ts +2 -0
- package/lib/types/components.d.ts +502 -22
- package/lib/types/stencil-public-runtime.d.ts +41 -5
- package/lib/types/utils/nudge.d.ts +7 -0
- package/lib/types/utils/teleport.d.ts +0 -2
- package/package.json +6 -6
- package/lib/duet/p-00abf5b6.entry.js +0 -4
- package/lib/duet/p-02b7e1ef.system.entry.js +0 -4
- package/lib/duet/p-02f1d7cc.system.js +0 -4
- package/lib/duet/p-0478d0eb.entry.js +0 -4
- package/lib/duet/p-04940a8a.system.entry.js +0 -4
- package/lib/duet/p-059c9d4e.entry.js +0 -4
- package/lib/duet/p-066f7fdf.entry.js +0 -4
- package/lib/duet/p-076228e9.system.entry.js +0 -4
- package/lib/duet/p-076aef18.entry.js +0 -4
- package/lib/duet/p-0b0a898d.entry.js +0 -4
- package/lib/duet/p-0c3d7e64.system.entry.js +0 -4
- package/lib/duet/p-0e697654.system.entry.js +0 -4
- package/lib/duet/p-0ffc3cf9.entry.js +0 -4
- package/lib/duet/p-108d9370.system.entry.js +0 -4
- package/lib/duet/p-11e79c8c.system.entry.js +0 -4
- package/lib/duet/p-14285f86.system.entry.js +0 -4
- package/lib/duet/p-14bd6514.entry.js +0 -4
- package/lib/duet/p-1719aa4e.entry.js +0 -4
- package/lib/duet/p-18f1d30e.js +0 -5
- package/lib/duet/p-1b398a07.entry.js +0 -4
- package/lib/duet/p-1c0ad101.system.entry.js +0 -4
- package/lib/duet/p-23ba9eba.entry.js +0 -4
- package/lib/duet/p-243a9ef5.system.entry.js +0 -4
- package/lib/duet/p-24e2be74.entry.js +0 -4
- package/lib/duet/p-29280d68.entry.js +0 -4
- package/lib/duet/p-2992af15.entry.js +0 -4
- package/lib/duet/p-29be2109.entry.js +0 -4
- package/lib/duet/p-29f1e1a4.system.entry.js +0 -4
- package/lib/duet/p-2bf922c1.system.js +0 -4
- package/lib/duet/p-2e9a772c.entry.js +0 -4
- package/lib/duet/p-2ea04945.entry.js +0 -4
- package/lib/duet/p-2eabea79.entry.js +0 -4
- package/lib/duet/p-31b566c1.entry.js +0 -4
- package/lib/duet/p-3346552d.entry.js +0 -4
- package/lib/duet/p-34928212.entry.js +0 -4
- package/lib/duet/p-34ea0849.system.js +0 -4
- package/lib/duet/p-3536fd40.system.entry.js +0 -4
- package/lib/duet/p-356745e0.system.entry.js +0 -4
- package/lib/duet/p-3709d186.entry.js +0 -4
- package/lib/duet/p-380c94f6.system.entry.js +0 -4
- package/lib/duet/p-388e6ec4.entry.js +0 -4
- package/lib/duet/p-3cb9e865.system.js +0 -4
- package/lib/duet/p-3ec86ced.entry.js +0 -4
- package/lib/duet/p-417357f9.system.entry.js +0 -4
- package/lib/duet/p-427dbb96.system.entry.js +0 -4
- package/lib/duet/p-43660fa9.system.js +0 -4
- package/lib/duet/p-43b0c3d2.system.entry.js +0 -4
- package/lib/duet/p-43b42819.entry.js +0 -4
- package/lib/duet/p-45bec102.entry.js +0 -4
- package/lib/duet/p-46b3ed07.entry.js +0 -4
- package/lib/duet/p-4a4faa7d.entry.js +0 -4
- package/lib/duet/p-4e886433.system.entry.js +0 -4
- package/lib/duet/p-51721695.system.js +0 -4
- package/lib/duet/p-521c96ec.entry.js +0 -4
- package/lib/duet/p-56952081.entry.js +0 -4
- package/lib/duet/p-5738c25c.system.entry.js +0 -4
- package/lib/duet/p-5c8e5f29.system.js +0 -4
- package/lib/duet/p-5f6bd5db.system.js +0 -4
- package/lib/duet/p-60a70493.entry.js +0 -4
- package/lib/duet/p-67862509.system.entry.js +0 -4
- package/lib/duet/p-67d9de79.system.entry.js +0 -4
- package/lib/duet/p-6aa821df.system.js +0 -4
- package/lib/duet/p-6c93f614.system.entry.js +0 -4
- package/lib/duet/p-6d74aac6.system.entry.js +0 -4
- package/lib/duet/p-6f677b2a.system.entry.js +0 -4
- package/lib/duet/p-6f6a58e4.system.entry.js +0 -4
- package/lib/duet/p-701b89a1.entry.js +0 -4
- package/lib/duet/p-70477e77.system.entry.js +0 -4
- package/lib/duet/p-7260f799.entry.js +0 -4
- package/lib/duet/p-7326a4c0.system.entry.js +0 -4
- package/lib/duet/p-7394e25f.js +0 -4
- package/lib/duet/p-74216caa.entry.js +0 -4
- package/lib/duet/p-79075bec.system.entry.js +0 -4
- package/lib/duet/p-7ac0621b.system.entry.js +0 -4
- package/lib/duet/p-7b7faa01.system.entry.js +0 -4
- package/lib/duet/p-7cf9e266.system.entry.js +0 -4
- package/lib/duet/p-81c35152.entry.js +0 -4
- package/lib/duet/p-822a791e.entry.js +0 -4
- package/lib/duet/p-8364fae3.entry.js +0 -4
- package/lib/duet/p-8433b6d1.system.entry.js +0 -4
- package/lib/duet/p-850eacf6.entry.js +0 -4
- package/lib/duet/p-87ca87df.entry.js +0 -4
- package/lib/duet/p-8810df88.js +0 -4
- package/lib/duet/p-8b5d616e.system.entry.js +0 -4
- package/lib/duet/p-8b641c9c.system.entry.js +0 -4
- package/lib/duet/p-8e5253bc.entry.js +0 -4
- package/lib/duet/p-97fc4a88.system.entry.js +0 -4
- package/lib/duet/p-98488fab.system.entry.js +0 -4
- package/lib/duet/p-9949a334.entry.js +0 -4
- package/lib/duet/p-9ce8627c.system.entry.js +0 -4
- package/lib/duet/p-9d505129.system.entry.js +0 -4
- package/lib/duet/p-9e3276c6.system.entry.js +0 -4
- package/lib/duet/p-9f9ada02.system.entry.js +0 -4
- package/lib/duet/p-a374de00.entry.js +0 -4
- package/lib/duet/p-a39844b6.entry.js +0 -4
- package/lib/duet/p-a659351d.system.js +0 -4
- package/lib/duet/p-a7c2017b.system.js +0 -5
- package/lib/duet/p-a87a2760.system.entry.js +0 -4
- package/lib/duet/p-a8e6dcb9.entry.js +0 -4
- package/lib/duet/p-ac962b74.system.entry.js +0 -4
- package/lib/duet/p-afee3739.system.entry.js +0 -4
- package/lib/duet/p-b0475c8a.entry.js +0 -4
- package/lib/duet/p-b07fe45f.system.entry.js +0 -4
- package/lib/duet/p-b465c929.entry.js +0 -4
- package/lib/duet/p-b6d51921.system.js +0 -4
- package/lib/duet/p-b71c141b.system.entry.js +0 -4
- package/lib/duet/p-b7605eb1.entry.js +0 -4
- package/lib/duet/p-b760c72b.system.js +0 -4
- package/lib/duet/p-b7e61bdc.system.entry.js +0 -4
- package/lib/duet/p-b8b12400.system.entry.js +0 -4
- package/lib/duet/p-b9eb37ae.system.entry.js +0 -4
- package/lib/duet/p-bd594a8b.entry.js +0 -4
- package/lib/duet/p-bde9a702.system.entry.js +0 -4
- package/lib/duet/p-c1573ac3.system.entry.js +0 -4
- package/lib/duet/p-c1fb544b.system.entry.js +0 -4
- package/lib/duet/p-c2731be1.system.entry.js +0 -4
- package/lib/duet/p-c2b0861c.system.entry.js +0 -4
- package/lib/duet/p-c3a883e3.entry.js +0 -4
- package/lib/duet/p-c466bad9.system.js +0 -4
- package/lib/duet/p-c4fac0b5.system.entry.js +0 -4
- package/lib/duet/p-cb451f23.entry.js +0 -4
- package/lib/duet/p-cba1009b.entry.js +0 -4
- package/lib/duet/p-cd05fea5.system.entry.js +0 -4
- package/lib/duet/p-cf824b6b.system.entry.js +0 -4
- package/lib/duet/p-d183a3e7.system.entry.js +0 -4
- package/lib/duet/p-d1f815a3.system.entry.js +0 -4
- package/lib/duet/p-d4d63fbd.system.entry.js +0 -4
- package/lib/duet/p-d68c84ab.entry.js +0 -4
- package/lib/duet/p-d6d5ef13.entry.js +0 -4
- package/lib/duet/p-d7c5ac53.entry.js +0 -4
- package/lib/duet/p-d863e150.system.js +0 -4
- package/lib/duet/p-db6887df.entry.js +0 -4
- package/lib/duet/p-db95e133.entry.js +0 -4
- package/lib/duet/p-dfc66b98.entry.js +0 -4
- package/lib/duet/p-e27a7520.system.entry.js +0 -4
- package/lib/duet/p-e356ca29.entry.js +0 -4
- package/lib/duet/p-e3f8becc.entry.js +0 -4
- package/lib/duet/p-e50d1003.system.entry.js +0 -4
- package/lib/duet/p-e566ff11.system.js +0 -4
- package/lib/duet/p-e9b8cee0.system.entry.js +0 -4
- package/lib/duet/p-ea1287ce.system.entry.js +0 -4
- package/lib/duet/p-eb55ccd2.system.js +0 -4
- package/lib/duet/p-f0317574.entry.js +0 -4
- package/lib/duet/p-f27b134c.system.entry.js +0 -4
- package/lib/duet/p-f74b6629.entry.js +0 -4
- package/lib/duet/p-faf2b9d1.entry.js +0 -4
- package/lib/duet/p-fbdb1eec.entry.js +0 -4
- package/lib/duet/p-fc0f56ae.system.entry.js +0 -4
- package/lib/duet/p-fee0f558.entry.js +0 -4
- package/lib/esm/polyfills/css-shim.js +0 -1
- package/lib/esm-es5/errorcodes.utils-47fc5d49.js +0 -4
- package/lib/esm-es5/focus-utils-e26ba3b3.js +0 -4
- package/lib/esm-es5/index-c1a17a4c.js +0 -5
- package/lib/esm-es5/input-utils-de45e099.js +0 -4
- package/lib/esm-es5/keyboard-utils-d237bd5a.js +0 -4
- package/lib/esm-es5/string-utils-5954f458.js +0 -4
- package/lib/esm-es5/teleport-6b18ccae.js +0 -4
- package/lib/esm-es5/token-utils-2d3af0db.js +0 -4
- package/lib/esm-es5/watch-options-dd55bce8.js +0 -4
- /package/lib/cjs/{bodyScrollLock.es6-6ef1142a.js → bodyScrollLock.es6-83f334d1.js} +0 -0
- /package/lib/cjs/{common-strings-de17f887.js → common-strings-17770d7a.js} +0 -0
- /package/lib/cjs/{create-id-c3b984b1.js → create-id-167cd350.js} +0 -0
- /package/lib/cjs/{floating-ui.dom.esm-d537b048.js → floating-ui.dom.esm-a7d59d53.js} +0 -0
- /package/lib/cjs/{input-utils-b5e8f524.js → input-utils-b4615782.js} +0 -0
- /package/lib/cjs/{is-internet-explorer-91361c56.js → is-internet-explorer-76c3b538.js} +0 -0
- /package/lib/cjs/{js-utils-134e0318.js → js-utils-b20cfc79.js} +0 -0
- /package/lib/cjs/{keyboard-utils-bb32119b.js → keyboard-utils-02441bc5.js} +0 -0
- /package/lib/cjs/{slot-query-1624497e.js → slot-query-b7555763.js} +0 -0
- /package/lib/cjs/{string-utils-5cadd058.js → string-utils-51a2f59f.js} +0 -0
- /package/lib/cjs/{themeable-component-fdeaef9f.js → themeable-component-0be6d1f4.js} +0 -0
- /package/lib/cjs/{token-utils-71db4785.js → token-utils-dbfeff2e.js} +0 -0
- /package/lib/cjs/{watch-options-d88afac0.js → watch-options-1773d69f.js} +0 -0
- /package/lib/dist-custom-elements/{p-8adb9463.js → p-00c8a755.js} +0 -0
- /package/lib/dist-custom-elements/{p-bd779757.js → p-141e14d0.js} +0 -0
- /package/lib/dist-custom-elements/{p-5a9d75e1.js → p-1a395a8d.js} +0 -0
- /package/lib/dist-custom-elements/{p-704245ef.js → p-268171f7.js} +0 -0
- /package/lib/dist-custom-elements/{p-0b3f675e.js → p-3d8d557b.js} +0 -0
- /package/lib/dist-custom-elements/{p-c1325e35.js → p-45f71a69.js} +0 -0
- /package/lib/dist-custom-elements/{p-d8549efe.js → p-56ac3289.js} +0 -0
- /package/lib/dist-custom-elements/{p-56118313.js → p-77f2dbee.js} +0 -0
- /package/lib/dist-custom-elements/{p-12721178.js → p-a1371eee.js} +0 -0
- /package/lib/dist-custom-elements/{p-4ebf1618.js → p-d48735b6.js} +0 -0
- /package/lib/dist-custom-elements/{p-76f00bd5.js → p-dade978b.js} +0 -0
- /package/lib/dist-custom-elements/{p-9d915d45.js → p-f8c76b25.js} +0 -0
- /package/lib/duet/{p-8adb9463.js → p-00c8a755.js} +0 -0
- /package/lib/duet/{p-2bb34e3d.js → p-0b31864f.js} +0 -0
- /package/lib/duet/{p-bd779757.js → p-141e14d0.js} +0 -0
- /package/lib/duet/{p-5a9d75e1.js → p-1a395a8d.js} +0 -0
- /package/lib/duet/{p-704245ef.js → p-268171f7.js} +0 -0
- /package/lib/duet/{p-c7ae95bd.system.js → p-36b36a8e.system.js} +0 -0
- /package/lib/duet/{p-0b3f675e.js → p-3d8d557b.js} +0 -0
- /package/lib/duet/{p-c1325e35.js → p-45f71a69.js} +0 -0
- /package/lib/duet/{p-56118313.js → p-77f2dbee.js} +0 -0
- /package/lib/duet/{p-12721178.js → p-a1371eee.js} +0 -0
- /package/lib/duet/{p-f077c646.js → p-cc1909de.js} +0 -0
- /package/lib/duet/{p-4ebf1618.js → p-d48735b6.js} +0 -0
- /package/lib/duet/{p-76f00bd5.js → p-dade978b.js} +0 -0
- /package/lib/duet/{p-9d915d45.js → p-f8c76b25.js} +0 -0
- /package/lib/esm/{bodyScrollLock.es6-61b5e9a4.js → bodyScrollLock.es6-8dc7cca7.js} +0 -0
- /package/lib/esm/{common-strings-97e04e4b.js → common-strings-71f2aabd.js} +0 -0
- /package/lib/esm/{create-id-981107da.js → create-id-2b0cd46d.js} +0 -0
- /package/lib/esm/{floating-ui.dom.esm-6025c98f.js → floating-ui.dom.esm-efad5c89.js} +0 -0
- /package/lib/esm/{input-utils-de45e099.js → input-utils-a0225b92.js} +0 -0
- /package/lib/esm/{is-internet-explorer-62b3bdbd.js → is-internet-explorer-032d4dae.js} +0 -0
- /package/lib/esm/{js-utils-fa98b8cd.js → js-utils-a35dcc8c.js} +0 -0
- /package/lib/esm/{keyboard-utils-d237bd5a.js → keyboard-utils-5746e126.js} +0 -0
- /package/lib/esm/{slot-query-8c7dce21.js → slot-query-7877f18f.js} +0 -0
- /package/lib/esm/{string-utils-5954f458.js → string-utils-59ad4cb2.js} +0 -0
- /package/lib/esm/{themeable-component-cb76be7c.js → themeable-component-fdce4fd7.js} +0 -0
- /package/lib/esm/{token-utils-2d3af0db.js → token-utils-46c8fe31.js} +0 -0
- /package/lib/esm/{watch-options-dd55bce8.js → watch-options-f189118b.js} +0 -0
- /package/lib/esm-es5/{common-strings-97e04e4b.js → common-strings-71f2aabd.js} +0 -0
- /package/lib/esm-es5/{is-internet-explorer-62b3bdbd.js → is-internet-explorer-032d4dae.js} +0 -0
- /package/lib/esm-es5/{js-utils-fa98b8cd.js → js-utils-a35dcc8c.js} +0 -0
- /package/lib/esm-es5/{slot-query-8c7dce21.js → slot-query-7877f18f.js} +0 -0
- /package/lib/esm-es5/{themeable-component-cb76be7c.js → themeable-component-fdce4fd7.js} +0 -0
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* Built with Duet Design System
|
|
3
3
|
*/
|
|
4
4
|
const NAMESPACE = 'duet';
|
|
5
|
-
const
|
|
5
|
+
const BUILD = /* duet */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: true, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: false, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: true, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: true, hotModuleReplacement: false, hydrateClientSide: true, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, initializeNextTick: true, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: true, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: true, propMutable: true, propNumber: true, propString: true, reflect: true, scoped: true, scopedSlotTextContentFix: false, scriptDataOpts: true, shadowDelegatesFocus: true, shadowDom: true, slot: true, slotChildNodesFix: true, slotRelocation: true, state: true, style: true, svg: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: true, watchCallback: true };
|
|
6
|
+
const Env = /* duet */ {"cdnURILocal":"http://0.0.0.0:3334","cdnURIProd":"https://cdn.duetds.com/api","duetIconVersion":"4.0.14"};
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Virtual DOM patching algorithm based on Snabbdom by
|
|
@@ -48,6 +49,13 @@ const HYDRATE_ID = 's-id';
|
|
|
48
49
|
const HYDRATED_STYLE_ID = 'sty-id';
|
|
49
50
|
const HYDRATE_CHILD_ID = 'c-id';
|
|
50
51
|
const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
|
|
52
|
+
/**
|
|
53
|
+
* Constant for styles to be globally applied to `slot-fb` elements for pseudo-slot behavior.
|
|
54
|
+
*
|
|
55
|
+
* Two cascading rules must be used instead of a `:not()` selector due to Stencil browser
|
|
56
|
+
* support as of Stencil v4.
|
|
57
|
+
*/
|
|
58
|
+
const SLOT_FB_CSS = 'slot-fb{display:contents}slot-fb[hidden]{display:none}';
|
|
51
59
|
const XLINK_NS = 'http://www.w3.org/1999/xlink';
|
|
52
60
|
/**
|
|
53
61
|
* Default style mode id
|
|
@@ -128,13 +136,13 @@ const h = (nodeName, vnodeData, ...children) => {
|
|
|
128
136
|
};
|
|
129
137
|
walk(children);
|
|
130
138
|
if (vnodeData) {
|
|
131
|
-
// normalize class / classname attributes
|
|
132
139
|
if (vnodeData.key) {
|
|
133
140
|
key = vnodeData.key;
|
|
134
141
|
}
|
|
135
142
|
if (vnodeData.name) {
|
|
136
143
|
slotName = vnodeData.name;
|
|
137
144
|
}
|
|
145
|
+
// normalize class / className attributes
|
|
138
146
|
{
|
|
139
147
|
const classData = vnodeData.className || vnodeData.class;
|
|
140
148
|
if (classData) {
|
|
@@ -380,7 +388,7 @@ const clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes
|
|
|
380
388
|
}
|
|
381
389
|
}
|
|
382
390
|
else if (childVNode.$hostId$ === hostId) {
|
|
383
|
-
// this comment node is
|
|
391
|
+
// this comment node is specifically for this host id
|
|
384
392
|
if (childNodeType === SLOT_NODE_ID) {
|
|
385
393
|
// `${SLOT_NODE_ID}.${hostId}.${nodeId}.${depth}.${index}.${slotName}`;
|
|
386
394
|
childVNode.$tag$ = 'slot';
|
|
@@ -547,9 +555,9 @@ const registerStyle = (scopeId, cssText, allowCS) => {
|
|
|
547
555
|
}
|
|
548
556
|
styles.set(scopeId, style);
|
|
549
557
|
};
|
|
550
|
-
const addStyle = (styleContainerNode, cmpMeta, mode
|
|
558
|
+
const addStyle = (styleContainerNode, cmpMeta, mode) => {
|
|
551
559
|
var _a;
|
|
552
|
-
|
|
560
|
+
const scopeId = getScopeId(cmpMeta);
|
|
553
561
|
const style = styles.get(scopeId);
|
|
554
562
|
// if an element is NOT connected then getRootNode() will return the wrong root node
|
|
555
563
|
// so the fallback is to always use the document for the root node in those cases
|
|
@@ -569,11 +577,8 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
|
|
|
569
577
|
styleElm.innerHTML = style;
|
|
570
578
|
}
|
|
571
579
|
else {
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
styleElm = doc.createElement('style');
|
|
575
|
-
styleElm.innerHTML = style;
|
|
576
|
-
}
|
|
580
|
+
styleElm = doc.createElement('style');
|
|
581
|
+
styleElm.innerHTML = style;
|
|
577
582
|
// Apply CSP nonce to the style tag if it exists
|
|
578
583
|
const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
|
|
579
584
|
if (nonce != null) {
|
|
@@ -581,6 +586,10 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
|
|
|
581
586
|
}
|
|
582
587
|
styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
|
|
583
588
|
}
|
|
589
|
+
// Add styles for `slot-fb` elements if we're using slots outside the Shadow DOM
|
|
590
|
+
if (cmpMeta.$flags$ & 4 /* CMP_FLAGS.hasSlotRelocation */) {
|
|
591
|
+
styleElm.innerHTML += SLOT_FB_CSS;
|
|
592
|
+
}
|
|
584
593
|
if (appliedStyles) {
|
|
585
594
|
appliedStyles.add(scopeId);
|
|
586
595
|
}
|
|
@@ -598,7 +607,6 @@ const attachStyles = (hostRef) => {
|
|
|
598
607
|
const flags = cmpMeta.$flags$;
|
|
599
608
|
const endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);
|
|
600
609
|
const scopeId = addStyle(elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta);
|
|
601
|
-
// TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
|
|
602
610
|
if (flags & 10 /* CMP_FLAGS.needsScopedEncapsulation */) {
|
|
603
611
|
// only required when we're NOT using native shadow dom (slot)
|
|
604
612
|
// or this browser doesn't support native shadow dom
|
|
@@ -625,6 +633,21 @@ const convertScopedToShadow = (css) => css.replace(/\/\*!@([^\/]+)\*\/[^\{]+\{/g
|
|
|
625
633
|
*
|
|
626
634
|
* Modified for Stencil's compiler and vdom
|
|
627
635
|
*/
|
|
636
|
+
/**
|
|
637
|
+
* When running a VDom render set properties present on a VDom node onto the
|
|
638
|
+
* corresponding HTML element.
|
|
639
|
+
*
|
|
640
|
+
* Note that this function has special functionality for the `class`,
|
|
641
|
+
* `style`, `key`, and `ref` attributes, as well as event handlers (like
|
|
642
|
+
* `onClick`, etc). All others are just passed through as-is.
|
|
643
|
+
*
|
|
644
|
+
* @param elm the HTMLElement onto which attributes should be set
|
|
645
|
+
* @param memberName the name of the attribute to set
|
|
646
|
+
* @param oldValue the old value for the attribute
|
|
647
|
+
* @param newValue the new value for the attribute
|
|
648
|
+
* @param isSvg whether we're in an svg context or not
|
|
649
|
+
* @param flags bitflags for Vdom variables
|
|
650
|
+
*/
|
|
628
651
|
const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
|
|
629
652
|
if (oldValue !== newValue) {
|
|
630
653
|
let isProp = isMemberInElement(elm, memberName);
|
|
@@ -701,11 +724,19 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
|
|
|
701
724
|
// except for the first character, we keep the event name case
|
|
702
725
|
memberName = ln[2] + memberName.slice(3);
|
|
703
726
|
}
|
|
704
|
-
if (oldValue) {
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
727
|
+
if (oldValue || newValue) {
|
|
728
|
+
// Need to account for "capture" events.
|
|
729
|
+
// If the event name ends with "Capture", we'll update the name to remove
|
|
730
|
+
// the "Capture" suffix and make sure the event listener is setup to handle the capture event.
|
|
731
|
+
const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
|
|
732
|
+
// Make sure we only replace the last instance of "Capture"
|
|
733
|
+
memberName = memberName.replace(CAPTURE_EVENT_REGEX, '');
|
|
734
|
+
if (oldValue) {
|
|
735
|
+
plt.rel(elm, memberName, oldValue, capture);
|
|
736
|
+
}
|
|
737
|
+
if (newValue) {
|
|
738
|
+
plt.ael(elm, memberName, newValue, capture);
|
|
739
|
+
}
|
|
709
740
|
}
|
|
710
741
|
}
|
|
711
742
|
else {
|
|
@@ -767,6 +798,8 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
|
|
|
767
798
|
};
|
|
768
799
|
const parseClassListRegex = /\s/;
|
|
769
800
|
const parseClassList = (value) => (!value ? [] : value.split(parseClassListRegex));
|
|
801
|
+
const CAPTURE_EVENT_SUFFIX = 'Capture';
|
|
802
|
+
const CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + '$');
|
|
770
803
|
const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
|
|
771
804
|
// if the element passed in is a shadow root, which is a document fragment
|
|
772
805
|
// then we want to be adding attrs/props to the shadow root's "host" element
|
|
@@ -800,6 +833,7 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
|
|
|
800
833
|
* @returns the newly created node
|
|
801
834
|
*/
|
|
802
835
|
const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
836
|
+
var _a;
|
|
803
837
|
// tslint:disable-next-line: prefer-const
|
|
804
838
|
const newVNode = newParentVNode.$children$[childIndex];
|
|
805
839
|
let i = 0;
|
|
@@ -878,6 +912,8 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
|
878
912
|
if (newVNode.$flags$ & (2 /* VNODE_FLAGS.isSlotFallback */ | 1 /* VNODE_FLAGS.isSlotReference */)) {
|
|
879
913
|
// remember the content reference comment
|
|
880
914
|
elm['s-sr'] = true;
|
|
915
|
+
// Persist the name of the slot that this slot was going to be projected into.
|
|
916
|
+
elm['s-fs'] = (_a = newVNode.$attrs$) === null || _a === void 0 ? void 0 : _a.slot;
|
|
881
917
|
// remember the content reference comment
|
|
882
918
|
elm['s-cr'] = contentRef;
|
|
883
919
|
// remember the slot name, or empty string for default slot
|
|
@@ -894,6 +930,7 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
|
894
930
|
return elm;
|
|
895
931
|
};
|
|
896
932
|
const putBackInOriginalLocation = (parentElm, recursive) => {
|
|
933
|
+
var _a;
|
|
897
934
|
plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
|
|
898
935
|
const oldSlotChildNodes = parentElm.childNodes;
|
|
899
936
|
for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
|
|
@@ -906,9 +943,17 @@ const putBackInOriginalLocation = (parentElm, recursive) => {
|
|
|
906
943
|
parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));
|
|
907
944
|
// remove the old original location comment entirely
|
|
908
945
|
// later on the patch function will know what to do
|
|
909
|
-
// and move this to the correct spot
|
|
946
|
+
// and move this to the correct spot if need be
|
|
910
947
|
childNode['s-ol'].remove();
|
|
911
948
|
childNode['s-ol'] = undefined;
|
|
949
|
+
// Reset so we can correctly move the node around again.
|
|
950
|
+
childNode['s-sh'] = undefined;
|
|
951
|
+
// When putting an element node back in its original location,
|
|
952
|
+
// we need to reset the `slot` attribute back to the value it originally had
|
|
953
|
+
// so we can correctly relocate it again in the future
|
|
954
|
+
if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
|
|
955
|
+
childNode.setAttribute('slot', (_a = childNode['s-sn']) !== null && _a !== void 0 ? _a : '');
|
|
956
|
+
}
|
|
912
957
|
checkSlotRelocate = true;
|
|
913
958
|
}
|
|
914
959
|
if (recursive) {
|
|
@@ -958,30 +1003,31 @@ const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) =>
|
|
|
958
1003
|
* @param vnodes a list of virtual DOM nodes to remove
|
|
959
1004
|
* @param startIdx the index at which to start removing nodes (inclusive)
|
|
960
1005
|
* @param endIdx the index at which to stop removing nodes (inclusive)
|
|
961
|
-
* @param vnode a VNode
|
|
962
|
-
* @param elm an element
|
|
963
1006
|
*/
|
|
964
|
-
const removeVnodes = (vnodes, startIdx, endIdx
|
|
965
|
-
for (
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
elm['s-ol']
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
1007
|
+
const removeVnodes = (vnodes, startIdx, endIdx) => {
|
|
1008
|
+
for (let index = startIdx; index <= endIdx; ++index) {
|
|
1009
|
+
const vnode = vnodes[index];
|
|
1010
|
+
if (vnode) {
|
|
1011
|
+
const elm = vnode.$elm$;
|
|
1012
|
+
nullifyVNodeRefs(vnode);
|
|
1013
|
+
if (elm) {
|
|
1014
|
+
{
|
|
1015
|
+
// we're removing this element
|
|
1016
|
+
// so it's possible we need to show slot fallback content now
|
|
1017
|
+
checkSlotFallbackVisibility = true;
|
|
1018
|
+
if (elm['s-ol']) {
|
|
1019
|
+
// remove the original location comment
|
|
1020
|
+
elm['s-ol'].remove();
|
|
1021
|
+
}
|
|
1022
|
+
else {
|
|
1023
|
+
// it's possible that child nodes of the node
|
|
1024
|
+
// that's being removed are slot nodes
|
|
1025
|
+
putBackInOriginalLocation(elm, true);
|
|
1026
|
+
}
|
|
981
1027
|
}
|
|
1028
|
+
// remove the vnode's element from the dom
|
|
1029
|
+
elm.remove();
|
|
982
1030
|
}
|
|
983
|
-
// remove the vnode's element from the dom
|
|
984
|
-
elm.remove();
|
|
985
1031
|
}
|
|
986
1032
|
}
|
|
987
1033
|
};
|
|
@@ -1331,42 +1377,53 @@ const patch = (oldVNode, newVNode) => {
|
|
|
1331
1377
|
elm.data = text;
|
|
1332
1378
|
}
|
|
1333
1379
|
};
|
|
1380
|
+
/**
|
|
1381
|
+
* Adjust the `.hidden` property as-needed on any nodes in a DOM subtree which
|
|
1382
|
+
* are slot fallbacks nodes.
|
|
1383
|
+
*
|
|
1384
|
+
* A slot fallback node should be visible by default. Then, it should be
|
|
1385
|
+
* conditionally hidden if:
|
|
1386
|
+
*
|
|
1387
|
+
* - it has a sibling with a `slot` property set to its slot name or if
|
|
1388
|
+
* - it is a default fallback slot node, in which case we hide if it has any
|
|
1389
|
+
* content
|
|
1390
|
+
*
|
|
1391
|
+
* @param elm the element of interest
|
|
1392
|
+
*/
|
|
1334
1393
|
const updateFallbackSlotVisibility = (elm) => {
|
|
1335
|
-
// tslint:disable-next-line: prefer-const
|
|
1336
1394
|
const childNodes = elm.childNodes;
|
|
1337
|
-
|
|
1338
|
-
let i;
|
|
1339
|
-
let ilen;
|
|
1340
|
-
let j;
|
|
1341
|
-
let slotNameAttr;
|
|
1342
|
-
let nodeType;
|
|
1343
|
-
for (i = 0, ilen = childNodes.length; i < ilen; i++) {
|
|
1344
|
-
childNode = childNodes[i];
|
|
1395
|
+
for (const childNode of childNodes) {
|
|
1345
1396
|
if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
|
|
1346
1397
|
if (childNode['s-sr']) {
|
|
1347
1398
|
// this is a slot fallback node
|
|
1348
1399
|
// get the slot name for this slot reference node
|
|
1349
|
-
|
|
1400
|
+
const slotName = childNode['s-sn'];
|
|
1350
1401
|
// by default always show a fallback slot node
|
|
1351
1402
|
// then hide it if there are other slots in the light dom
|
|
1352
1403
|
childNode.hidden = false;
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
|
|
1358
|
-
|
|
1359
|
-
|
|
1404
|
+
// we need to check all of its sibling nodes in order to see if
|
|
1405
|
+
// `childNode` should be hidden
|
|
1406
|
+
for (const siblingNode of childNodes) {
|
|
1407
|
+
// Don't check the node against itself
|
|
1408
|
+
if (siblingNode !== childNode) {
|
|
1409
|
+
if (siblingNode['s-hn'] !== childNode['s-hn'] || slotName !== '') {
|
|
1410
|
+
// this sibling node is from a different component OR is a named
|
|
1411
|
+
// fallback slot node
|
|
1412
|
+
if (siblingNode.nodeType === 1 /* NODE_TYPE.ElementNode */ &&
|
|
1413
|
+
(slotName === siblingNode.getAttribute('slot') || slotName === siblingNode['s-sn'])) {
|
|
1414
|
+
childNode.hidden = true;
|
|
1415
|
+
break;
|
|
1416
|
+
}
|
|
1360
1417
|
}
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1418
|
+
else {
|
|
1419
|
+
// this is a default fallback slot node
|
|
1420
|
+
// any element or text node (with content)
|
|
1421
|
+
// should hide the default fallback slot node
|
|
1422
|
+
if (siblingNode.nodeType === 1 /* NODE_TYPE.ElementNode */ ||
|
|
1423
|
+
(siblingNode.nodeType === 3 /* NODE_TYPE.TextNode */ && siblingNode.textContent.trim() !== '')) {
|
|
1424
|
+
childNode.hidden = true;
|
|
1425
|
+
break;
|
|
1426
|
+
}
|
|
1370
1427
|
}
|
|
1371
1428
|
}
|
|
1372
1429
|
}
|
|
@@ -1376,45 +1433,67 @@ const updateFallbackSlotVisibility = (elm) => {
|
|
|
1376
1433
|
}
|
|
1377
1434
|
}
|
|
1378
1435
|
};
|
|
1436
|
+
/**
|
|
1437
|
+
* Component-global information about nodes which are either currently being
|
|
1438
|
+
* relocated or will be shortly.
|
|
1439
|
+
*/
|
|
1379
1440
|
const relocateNodes = [];
|
|
1380
|
-
|
|
1441
|
+
/**
|
|
1442
|
+
* Mark the contents of a slot for relocation via adding references to them to
|
|
1443
|
+
* the {@link relocateNodes} data structure. The actual work of relocating them
|
|
1444
|
+
* will then be handled in {@link renderVdom}.
|
|
1445
|
+
*
|
|
1446
|
+
* @param elm a render node whose child nodes need to be relocated
|
|
1447
|
+
*/
|
|
1448
|
+
const markSlotContentForRelocation = (elm) => {
|
|
1381
1449
|
// tslint:disable-next-line: prefer-const
|
|
1382
|
-
let childNode;
|
|
1383
1450
|
let node;
|
|
1384
1451
|
let hostContentNodes;
|
|
1385
|
-
let slotNameAttr;
|
|
1386
|
-
let relocateNodeData;
|
|
1387
1452
|
let j;
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
for (; i < ilen; i++) {
|
|
1392
|
-
childNode = childNodes[i];
|
|
1453
|
+
for (const childNode of elm.childNodes) {
|
|
1454
|
+
// we need to find child nodes which are slot references so we can then try
|
|
1455
|
+
// to match them up with nodes that need to be relocated
|
|
1393
1456
|
if (childNode['s-sr'] && (node = childNode['s-cr']) && node.parentNode) {
|
|
1394
|
-
// first
|
|
1395
|
-
//
|
|
1457
|
+
// first get the content reference comment node ('s-cr'), then we get
|
|
1458
|
+
// its parent, which is where all the host content is now
|
|
1396
1459
|
hostContentNodes = node.parentNode.childNodes;
|
|
1397
|
-
|
|
1460
|
+
const slotName = childNode['s-sn'];
|
|
1461
|
+
// iterate through all the nodes under the location where the host was
|
|
1462
|
+
// originally rendered
|
|
1398
1463
|
for (j = hostContentNodes.length - 1; j >= 0; j--) {
|
|
1399
1464
|
node = hostContentNodes[j];
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
|
|
1404
|
-
|
|
1465
|
+
// check that the node is not a content reference node or a node
|
|
1466
|
+
// reference and then check that the host name does not match that of
|
|
1467
|
+
// childNode.
|
|
1468
|
+
// In addition, check that the slot either has not already been relocated, or
|
|
1469
|
+
// that its current location's host is not childNode's host. This is essentially
|
|
1470
|
+
// a check so that we don't try to relocate (and then hide) a node that is already
|
|
1471
|
+
// where it should be.
|
|
1472
|
+
if (!node['s-cn'] &&
|
|
1473
|
+
!node['s-nr'] &&
|
|
1474
|
+
node['s-hn'] !== childNode['s-hn'] &&
|
|
1475
|
+
(!BUILD.experimentalSlotFixes )) {
|
|
1476
|
+
// if `node` is located in the slot that `childNode` refers to (via the
|
|
1477
|
+
// `'s-sn'` property) then we need to relocate it from it's current spot
|
|
1478
|
+
// (under the host element parent) to the right slot location
|
|
1479
|
+
if (isNodeLocatedInSlot(node, slotName)) {
|
|
1405
1480
|
// it's possible we've already decided to relocate this node
|
|
1406
|
-
relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
|
|
1481
|
+
let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
|
|
1407
1482
|
// made some changes to slots
|
|
1408
1483
|
// let's make sure we also double check
|
|
1409
1484
|
// fallbacks are correctly hidden or shown
|
|
1410
1485
|
checkSlotFallbackVisibility = true;
|
|
1411
|
-
|
|
1486
|
+
// ensure that the slot-name attr is correct
|
|
1487
|
+
node['s-sn'] = node['s-sn'] || slotName;
|
|
1412
1488
|
if (relocateNodeData) {
|
|
1413
|
-
|
|
1414
|
-
//
|
|
1489
|
+
relocateNodeData.$nodeToRelocate$['s-sh'] = childNode['s-hn'];
|
|
1490
|
+
// we marked this node for relocation previously but didn't find
|
|
1491
|
+
// out the slot reference node to which it needs to be relocated
|
|
1492
|
+
// so write it down now!
|
|
1415
1493
|
relocateNodeData.$slotRefNode$ = childNode;
|
|
1416
1494
|
}
|
|
1417
1495
|
else {
|
|
1496
|
+
node['s-sh'] = childNode['s-hn'];
|
|
1418
1497
|
// add to our list of nodes to relocate
|
|
1419
1498
|
relocateNodes.push({
|
|
1420
1499
|
$slotRefNode$: childNode,
|
|
@@ -1433,8 +1512,10 @@ const relocateSlotContent = (elm) => {
|
|
|
1433
1512
|
}
|
|
1434
1513
|
}
|
|
1435
1514
|
else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
|
|
1436
|
-
//
|
|
1437
|
-
//
|
|
1515
|
+
// the node is not found within the slot (`childNode`) that we're
|
|
1516
|
+
// currently looking at, so we stick it into `relocateNodes` to
|
|
1517
|
+
// handle later. If we never find a home for this element then
|
|
1518
|
+
// we'll need to hide it
|
|
1438
1519
|
relocateNodes.push({
|
|
1439
1520
|
$nodeToRelocate$: node,
|
|
1440
1521
|
});
|
|
@@ -1442,30 +1523,48 @@ const relocateSlotContent = (elm) => {
|
|
|
1442
1523
|
}
|
|
1443
1524
|
}
|
|
1444
1525
|
}
|
|
1526
|
+
// if we're dealing with any type of element (capable of itself being a
|
|
1527
|
+
// slot reference or containing one) then we recur
|
|
1445
1528
|
if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
|
|
1446
|
-
|
|
1529
|
+
markSlotContentForRelocation(childNode);
|
|
1447
1530
|
}
|
|
1448
1531
|
}
|
|
1449
1532
|
};
|
|
1450
|
-
|
|
1533
|
+
/**
|
|
1534
|
+
* Check whether a node is located in a given named slot.
|
|
1535
|
+
*
|
|
1536
|
+
* @param nodeToRelocate the node of interest
|
|
1537
|
+
* @param slotName the slot name to check
|
|
1538
|
+
* @returns whether the node is located in the slot or not
|
|
1539
|
+
*/
|
|
1540
|
+
const isNodeLocatedInSlot = (nodeToRelocate, slotName) => {
|
|
1451
1541
|
if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
|
|
1452
|
-
if (nodeToRelocate.getAttribute('slot') === null &&
|
|
1542
|
+
if (nodeToRelocate.getAttribute('slot') === null && slotName === '') {
|
|
1543
|
+
// if the node doesn't have a slot attribute, and the slot we're checking
|
|
1544
|
+
// is not a named slot, then we assume the node should be within the slot
|
|
1453
1545
|
return true;
|
|
1454
1546
|
}
|
|
1455
|
-
if (nodeToRelocate.getAttribute('slot') ===
|
|
1547
|
+
if (nodeToRelocate.getAttribute('slot') === slotName) {
|
|
1456
1548
|
return true;
|
|
1457
1549
|
}
|
|
1458
1550
|
return false;
|
|
1459
1551
|
}
|
|
1460
|
-
if (nodeToRelocate['s-sn'] ===
|
|
1552
|
+
if (nodeToRelocate['s-sn'] === slotName) {
|
|
1461
1553
|
return true;
|
|
1462
1554
|
}
|
|
1463
|
-
return
|
|
1555
|
+
return slotName === '';
|
|
1464
1556
|
};
|
|
1465
|
-
|
|
1557
|
+
/**
|
|
1558
|
+
* 'Nullify' any VDom `ref` callbacks on a VDom node or its children by calling
|
|
1559
|
+
* them with `null`. This signals that the DOM element corresponding to the VDom
|
|
1560
|
+
* node has been removed from the DOM.
|
|
1561
|
+
*
|
|
1562
|
+
* @param vNode a virtual DOM node
|
|
1563
|
+
*/
|
|
1564
|
+
const nullifyVNodeRefs = (vNode) => {
|
|
1466
1565
|
{
|
|
1467
1566
|
vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
|
|
1468
|
-
vNode.$children$ && vNode.$children$.map(
|
|
1567
|
+
vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
|
|
1469
1568
|
}
|
|
1470
1569
|
};
|
|
1471
1570
|
/**
|
|
@@ -1479,17 +1578,45 @@ const callNodeRefs = (vNode) => {
|
|
|
1479
1578
|
* @param hostRef data needed to root and render the virtual DOM tree, such as
|
|
1480
1579
|
* the DOM node into which it should be rendered.
|
|
1481
1580
|
* @param renderFnResults the virtual DOM nodes to be rendered
|
|
1581
|
+
* @param isInitialLoad whether or not this is the first call after page load
|
|
1482
1582
|
*/
|
|
1483
|
-
const renderVdom = (hostRef, renderFnResults) => {
|
|
1583
|
+
const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
|
|
1584
|
+
var _a, _b;
|
|
1484
1585
|
const hostElm = hostRef.$hostElement$;
|
|
1485
1586
|
const cmpMeta = hostRef.$cmpMeta$;
|
|
1486
1587
|
const oldVNode = hostRef.$vnode$ || newVNode(null, null);
|
|
1588
|
+
// if `renderFnResults` is a Host node then we can use it directly. If not,
|
|
1589
|
+
// we need to call `h` again to wrap the children of our component in a
|
|
1590
|
+
// 'dummy' Host node (well, an empty vnode) since `renderVdom` assumes
|
|
1591
|
+
// implicitly that the top-level vdom node is 1) an only child and 2)
|
|
1592
|
+
// contains attrs that need to be set on the host element.
|
|
1487
1593
|
const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
|
|
1488
1594
|
hostTagName = hostElm.tagName;
|
|
1489
1595
|
if (cmpMeta.$attrsToReflect$) {
|
|
1490
1596
|
rootVnode.$attrs$ = rootVnode.$attrs$ || {};
|
|
1491
1597
|
cmpMeta.$attrsToReflect$.map(([propName, attribute]) => (rootVnode.$attrs$[attribute] = hostElm[propName]));
|
|
1492
1598
|
}
|
|
1599
|
+
// On the first render and *only* on the first render we want to check for
|
|
1600
|
+
// any attributes set on the host element which are also set on the vdom
|
|
1601
|
+
// node. If we find them, we override the value on the VDom node attrs with
|
|
1602
|
+
// the value from the host element, which allows developers building apps
|
|
1603
|
+
// with Stencil components to override e.g. the `role` attribute on a
|
|
1604
|
+
// component even if it's already set on the `Host`.
|
|
1605
|
+
if (isInitialLoad && rootVnode.$attrs$) {
|
|
1606
|
+
for (const key of Object.keys(rootVnode.$attrs$)) {
|
|
1607
|
+
// We have a special implementation in `setAccessor` for `style` and
|
|
1608
|
+
// `class` which reconciles values coming from the VDom with values
|
|
1609
|
+
// already present on the DOM element, so we don't want to override those
|
|
1610
|
+
// attributes on the VDom tree with values from the host element if they
|
|
1611
|
+
// are present.
|
|
1612
|
+
//
|
|
1613
|
+
// Likewise, `ref` and `key` are special internal values for the Stencil
|
|
1614
|
+
// runtime and we don't want to override those either.
|
|
1615
|
+
if (hostElm.hasAttribute(key) && !['key', 'ref', 'style', 'class'].includes(key)) {
|
|
1616
|
+
rootVnode.$attrs$[key] = hostElm[key];
|
|
1617
|
+
}
|
|
1618
|
+
}
|
|
1619
|
+
}
|
|
1493
1620
|
rootVnode.$tag$ = null;
|
|
1494
1621
|
rootVnode.$flags$ |= 4 /* VNODE_FLAGS.isHost */;
|
|
1495
1622
|
hostRef.$vnode$ = rootVnode;
|
|
@@ -1510,43 +1637,48 @@ const renderVdom = (hostRef, renderFnResults) => {
|
|
|
1510
1637
|
// the disconnectCallback from working
|
|
1511
1638
|
plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
|
|
1512
1639
|
if (checkSlotRelocate) {
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
let orgLocationNode;
|
|
1517
|
-
let parentNodeRef;
|
|
1518
|
-
let insertBeforeNode;
|
|
1519
|
-
let refNode;
|
|
1520
|
-
let i = 0;
|
|
1521
|
-
for (; i < relocateNodes.length; i++) {
|
|
1522
|
-
relocateData = relocateNodes[i];
|
|
1523
|
-
nodeToRelocate = relocateData.$nodeToRelocate$;
|
|
1640
|
+
markSlotContentForRelocation(rootVnode.$elm$);
|
|
1641
|
+
for (const relocateData of relocateNodes) {
|
|
1642
|
+
const nodeToRelocate = relocateData.$nodeToRelocate$;
|
|
1524
1643
|
if (!nodeToRelocate['s-ol']) {
|
|
1525
1644
|
// add a reference node marking this node's original location
|
|
1526
1645
|
// keep a reference to this node for later lookups
|
|
1527
|
-
orgLocationNode =
|
|
1528
|
-
doc.createTextNode('');
|
|
1646
|
+
const orgLocationNode = doc.createTextNode('');
|
|
1529
1647
|
orgLocationNode['s-nr'] = nodeToRelocate;
|
|
1530
1648
|
nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);
|
|
1531
1649
|
}
|
|
1532
1650
|
}
|
|
1533
|
-
for (
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
if (
|
|
1537
|
-
|
|
1538
|
-
//
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
|
|
1651
|
+
for (const relocateData of relocateNodes) {
|
|
1652
|
+
const nodeToRelocate = relocateData.$nodeToRelocate$;
|
|
1653
|
+
const slotRefNode = relocateData.$slotRefNode$;
|
|
1654
|
+
if (slotRefNode) {
|
|
1655
|
+
const parentNodeRef = slotRefNode.parentNode;
|
|
1656
|
+
// When determining where to insert content, the most simple case would be
|
|
1657
|
+
// to relocate the node immediately following the slot reference node. We do this
|
|
1658
|
+
// by getting a reference to the node immediately following the slot reference node
|
|
1659
|
+
// since we will use `insertBefore` to manipulate the DOM.
|
|
1660
|
+
//
|
|
1661
|
+
// If there is no node immediately following the slot reference node, then we will just
|
|
1662
|
+
// end up appending the node as the last child of the parent.
|
|
1663
|
+
let insertBeforeNode = slotRefNode.nextSibling;
|
|
1664
|
+
// If the node we're currently planning on inserting the new node before is an element,
|
|
1665
|
+
// we need to do some additional checks to make sure we're inserting the node in the correct order.
|
|
1666
|
+
// The use case here would be that we have multiple nodes being relocated to the same slot. So, we want
|
|
1667
|
+
// to make sure they get inserted into their new how in the same order they were declared in their original location.
|
|
1668
|
+
//
|
|
1669
|
+
// TODO(STENCIL-914): Remove `experimentalSlotFixes` check
|
|
1670
|
+
{
|
|
1671
|
+
let orgLocationNode = (_a = nodeToRelocate['s-ol']) === null || _a === void 0 ? void 0 : _a.previousSibling;
|
|
1672
|
+
while (orgLocationNode) {
|
|
1673
|
+
let refNode = (_b = orgLocationNode['s-nr']) !== null && _b !== void 0 ? _b : null;
|
|
1674
|
+
if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
|
|
1675
|
+
refNode = refNode.nextSibling;
|
|
1676
|
+
if (!refNode || !refNode['s-nr']) {
|
|
1677
|
+
insertBeforeNode = refNode;
|
|
1678
|
+
break;
|
|
1679
|
+
}
|
|
1549
1680
|
}
|
|
1681
|
+
orgLocationNode = orgLocationNode.previousSibling;
|
|
1550
1682
|
}
|
|
1551
1683
|
}
|
|
1552
1684
|
if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) ||
|
|
@@ -1556,10 +1688,13 @@ const renderVdom = (hostRef, renderFnResults) => {
|
|
|
1556
1688
|
// has a different next sibling or parent relocated
|
|
1557
1689
|
if (nodeToRelocate !== insertBeforeNode) {
|
|
1558
1690
|
if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) {
|
|
1559
|
-
// probably a component in the index.html that doesn't have
|
|
1691
|
+
// probably a component in the index.html that doesn't have its hostname set
|
|
1560
1692
|
nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName;
|
|
1561
1693
|
}
|
|
1562
|
-
//
|
|
1694
|
+
// Add it back to the dom but in its new home
|
|
1695
|
+
// If we get to this point and `insertBeforeNode` is `null`, that means
|
|
1696
|
+
// we're just going to append the node as the last child of the parent. Passing
|
|
1697
|
+
// `null` as the second arg here will trigger that behavior.
|
|
1563
1698
|
parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);
|
|
1564
1699
|
}
|
|
1565
1700
|
}
|
|
@@ -1602,30 +1737,96 @@ const scheduleUpdate = (hostRef, isInitialLoad) => {
|
|
|
1602
1737
|
const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
|
|
1603
1738
|
return writeTask(dispatch) ;
|
|
1604
1739
|
};
|
|
1740
|
+
/**
|
|
1741
|
+
* Dispatch initial-render and update lifecycle hooks, enqueuing calls to
|
|
1742
|
+
* component lifecycle methods like `componentWillLoad` as well as
|
|
1743
|
+
* {@link updateComponent}, which will kick off the virtual DOM re-render.
|
|
1744
|
+
*
|
|
1745
|
+
* @param hostRef a reference to a host DOM node
|
|
1746
|
+
* @param isInitialLoad whether we're on the initial load or not
|
|
1747
|
+
* @returns an empty Promise which is used to enqueue a series of operations for
|
|
1748
|
+
* the component
|
|
1749
|
+
*/
|
|
1605
1750
|
const dispatchHooks = (hostRef, isInitialLoad) => {
|
|
1606
1751
|
const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
|
|
1607
1752
|
const instance = hostRef.$lazyInstance$ ;
|
|
1608
|
-
|
|
1753
|
+
// We're going to use this variable together with `enqueue` to implement a
|
|
1754
|
+
// little promise-based queue. We start out with it `undefined`. When we add
|
|
1755
|
+
// the first function to the queue we'll set this variable to be that
|
|
1756
|
+
// function's return value. When we attempt to add subsequent values to the
|
|
1757
|
+
// queue we'll check that value and, if it was a `Promise`, we'll then chain
|
|
1758
|
+
// the new function off of that `Promise` using `.then()`. This will give our
|
|
1759
|
+
// queue two nice properties:
|
|
1760
|
+
//
|
|
1761
|
+
// 1. If all functions added to the queue are synchronous they'll be called
|
|
1762
|
+
// synchronously right away.
|
|
1763
|
+
// 2. If all functions added to the queue are asynchronous they'll all be
|
|
1764
|
+
// called in order after `dispatchHooks` exits.
|
|
1765
|
+
let maybePromise;
|
|
1609
1766
|
if (isInitialLoad) {
|
|
1610
1767
|
{
|
|
1611
1768
|
hostRef.$flags$ |= 256 /* HOST_FLAGS.isListenReady */;
|
|
1612
1769
|
if (hostRef.$queuedListeners$) {
|
|
1613
1770
|
hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));
|
|
1614
|
-
hostRef.$queuedListeners$ =
|
|
1771
|
+
hostRef.$queuedListeners$ = undefined;
|
|
1615
1772
|
}
|
|
1616
1773
|
}
|
|
1617
1774
|
{
|
|
1618
|
-
|
|
1775
|
+
// If `componentWillLoad` returns a `Promise` then we want to wait on
|
|
1776
|
+
// whatever's going on in that `Promise` before we launch into
|
|
1777
|
+
// rendering the component, doing other lifecycle stuff, etc. So
|
|
1778
|
+
// in that case we assign the returned promise to the variable we
|
|
1779
|
+
// declared above to hold a possible 'queueing' Promise
|
|
1780
|
+
maybePromise = safeCall(instance, 'componentWillLoad');
|
|
1619
1781
|
}
|
|
1620
1782
|
}
|
|
1621
1783
|
{
|
|
1622
|
-
|
|
1784
|
+
maybePromise = enqueue(maybePromise, () => safeCall(instance, 'componentWillRender'));
|
|
1623
1785
|
}
|
|
1624
1786
|
endSchedule();
|
|
1625
|
-
return
|
|
1787
|
+
return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
|
|
1626
1788
|
};
|
|
1789
|
+
/**
|
|
1790
|
+
* This function uses a Promise to implement a simple first-in, first-out queue
|
|
1791
|
+
* of functions to be called.
|
|
1792
|
+
*
|
|
1793
|
+
* The queue is ordered on the basis of the first argument. If it's
|
|
1794
|
+
* `undefined`, then nothing is on the queue yet, so the provided function can
|
|
1795
|
+
* be called synchronously (although note that this function may return a
|
|
1796
|
+
* `Promise`). The idea is that then the return value of that enqueueing
|
|
1797
|
+
* operation is kept around, so that if it was a `Promise` then subsequent
|
|
1798
|
+
* functions can be enqueued by calling this function again with that `Promise`
|
|
1799
|
+
* as the first argument.
|
|
1800
|
+
*
|
|
1801
|
+
* @param maybePromise either a `Promise` which should resolve before the next function is called or an 'empty' sentinel
|
|
1802
|
+
* @param fn a function to enqueue
|
|
1803
|
+
* @returns either a `Promise` or the return value of the provided function
|
|
1804
|
+
*/
|
|
1805
|
+
const enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn) : fn();
|
|
1806
|
+
/**
|
|
1807
|
+
* Check that a value is a `Promise`. To check, we first see if the value is an
|
|
1808
|
+
* instance of the `Promise` global. In a few circumstances, in particular if
|
|
1809
|
+
* the global has been overwritten, this is could be misleading, so we also do
|
|
1810
|
+
* a little 'duck typing' check to see if the `.then` property of the value is
|
|
1811
|
+
* defined and a function.
|
|
1812
|
+
*
|
|
1813
|
+
* @param maybePromise it might be a promise!
|
|
1814
|
+
* @returns whether it is or not
|
|
1815
|
+
*/
|
|
1816
|
+
const isPromisey = (maybePromise) => maybePromise instanceof Promise ||
|
|
1817
|
+
(maybePromise && maybePromise.then && typeof maybePromise.then === 'function');
|
|
1818
|
+
/**
|
|
1819
|
+
* Update a component given reference to its host elements and so on.
|
|
1820
|
+
*
|
|
1821
|
+
* @param hostRef an object containing references to the element's host node,
|
|
1822
|
+
* VDom nodes, and other metadata
|
|
1823
|
+
* @param instance a reference to the underlying host element where it will be
|
|
1824
|
+
* rendered
|
|
1825
|
+
* @param isInitialLoad whether or not this function is being called as part of
|
|
1826
|
+
* the first render cycle
|
|
1827
|
+
*/
|
|
1627
1828
|
const updateComponent = async (hostRef, instance, isInitialLoad) => {
|
|
1628
|
-
|
|
1829
|
+
var _a;
|
|
1629
1830
|
const elm = hostRef.$hostElement$;
|
|
1630
1831
|
const endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);
|
|
1631
1832
|
const rc = elm['s-rc'];
|
|
@@ -1635,7 +1836,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
|
|
|
1635
1836
|
}
|
|
1636
1837
|
const endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);
|
|
1637
1838
|
{
|
|
1638
|
-
callRender(hostRef, instance);
|
|
1839
|
+
callRender(hostRef, instance, elm, isInitialLoad);
|
|
1639
1840
|
}
|
|
1640
1841
|
if (rc) {
|
|
1641
1842
|
// ok, so turns out there are some child host elements
|
|
@@ -1647,7 +1848,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
|
|
|
1647
1848
|
endRender();
|
|
1648
1849
|
endUpdate();
|
|
1649
1850
|
{
|
|
1650
|
-
const childrenPromises = elm['s-p'];
|
|
1851
|
+
const childrenPromises = (_a = elm['s-p']) !== null && _a !== void 0 ? _a : [];
|
|
1651
1852
|
const postUpdate = () => postUpdateComponent(hostRef);
|
|
1652
1853
|
if (childrenPromises.length === 0) {
|
|
1653
1854
|
postUpdate();
|
|
@@ -1659,8 +1860,24 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
|
|
|
1659
1860
|
}
|
|
1660
1861
|
}
|
|
1661
1862
|
};
|
|
1662
|
-
|
|
1863
|
+
/**
|
|
1864
|
+
* Handle making the call to the VDom renderer with the proper context given
|
|
1865
|
+
* various build variables
|
|
1866
|
+
*
|
|
1867
|
+
* @param hostRef an object containing references to the element's host node,
|
|
1868
|
+
* VDom nodes, and other metadata
|
|
1869
|
+
* @param instance a reference to the underlying host element where it will be
|
|
1870
|
+
* rendered
|
|
1871
|
+
* @param elm the Host element for the component
|
|
1872
|
+
* @param isInitialLoad whether or not this function is being called as part of
|
|
1873
|
+
* @returns an empty promise
|
|
1874
|
+
*/
|
|
1875
|
+
const callRender = (hostRef, instance, elm, isInitialLoad) => {
|
|
1663
1876
|
try {
|
|
1877
|
+
/**
|
|
1878
|
+
* minification optimization: `allRenderFn` is `true` if all components have a `render`
|
|
1879
|
+
* method, so we can call the method immediately. If not, check before calling it.
|
|
1880
|
+
*/
|
|
1664
1881
|
instance = instance.render() ;
|
|
1665
1882
|
{
|
|
1666
1883
|
hostRef.$flags$ &= ~16 /* HOST_FLAGS.isQueuedForUpdate */;
|
|
@@ -1674,7 +1891,7 @@ const callRender = (hostRef, instance, elm) => {
|
|
|
1674
1891
|
// or we need to update the css class/attrs on the host element
|
|
1675
1892
|
// DOM WRITE!
|
|
1676
1893
|
{
|
|
1677
|
-
renderVdom(hostRef, instance);
|
|
1894
|
+
renderVdom(hostRef, instance, isInitialLoad);
|
|
1678
1895
|
}
|
|
1679
1896
|
}
|
|
1680
1897
|
}
|
|
@@ -1743,6 +1960,16 @@ const appDidLoad = (who) => {
|
|
|
1743
1960
|
}
|
|
1744
1961
|
nextTick(() => emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }));
|
|
1745
1962
|
};
|
|
1963
|
+
/**
|
|
1964
|
+
* Allows to safely call a method, e.g. `componentDidLoad`, on an instance,
|
|
1965
|
+
* e.g. custom element node. If a build figures out that e.g. no component
|
|
1966
|
+
* has a `componentDidLoad` method, the instance method gets removed from the
|
|
1967
|
+
* output bundle and this function returns `undefined`.
|
|
1968
|
+
* @param instance any object that may or may not contain methods
|
|
1969
|
+
* @param method method name
|
|
1970
|
+
* @param arg single arbitrary argument
|
|
1971
|
+
* @returns result of method call if it exists, otherwise `undefined`
|
|
1972
|
+
*/
|
|
1746
1973
|
const safeCall = (instance, method, arg) => {
|
|
1747
1974
|
if (instance && instance[method]) {
|
|
1748
1975
|
try {
|
|
@@ -1754,9 +1981,6 @@ const safeCall = (instance, method, arg) => {
|
|
|
1754
1981
|
}
|
|
1755
1982
|
return undefined;
|
|
1756
1983
|
};
|
|
1757
|
-
const then = (promise, thenFn) => {
|
|
1758
|
-
return promise && promise.then ? promise.then(thenFn) : thenFn();
|
|
1759
|
-
};
|
|
1760
1984
|
const addHydratedFlag = (elm) => elm.classList.add('hydrated')
|
|
1761
1985
|
;
|
|
1762
1986
|
const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
|
|
@@ -1813,6 +2037,7 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
|
|
|
1813
2037
|
* @returns a reference to the same constructor passed in (but now mutated)
|
|
1814
2038
|
*/
|
|
1815
2039
|
const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
2040
|
+
var _a;
|
|
1816
2041
|
if (cmpMeta.$members$) {
|
|
1817
2042
|
if (Cstr.watchers) {
|
|
1818
2043
|
cmpMeta.$watchers$ = Cstr.watchers;
|
|
@@ -1850,7 +2075,7 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
|
1850
2075
|
});
|
|
1851
2076
|
if ((flags & 1 /* PROXY_FLAGS.isElementConstructor */)) {
|
|
1852
2077
|
const attrNameToPropName = new Map();
|
|
1853
|
-
prototype.attributeChangedCallback = function (attrName,
|
|
2078
|
+
prototype.attributeChangedCallback = function (attrName, oldValue, newValue) {
|
|
1854
2079
|
plt.jmp(() => {
|
|
1855
2080
|
const propName = attrNameToPropName.get(attrName);
|
|
1856
2081
|
// In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback
|
|
@@ -1873,12 +2098,12 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
|
1873
2098
|
// customElements.define('my-component', MyComponent);
|
|
1874
2099
|
// </script>
|
|
1875
2100
|
// ```
|
|
1876
|
-
// In this case if we do not
|
|
2101
|
+
// In this case if we do not un-shadow here and use the value of the shadowing property, attributeChangedCallback
|
|
1877
2102
|
// will be called with `newValue = "some-value"` and will set the shadowed property (this.someAttribute = "another-value")
|
|
1878
2103
|
// to the value that was set inline i.e. "some-value" from above example. When
|
|
1879
|
-
// the connectedCallback attempts to
|
|
2104
|
+
// the connectedCallback attempts to un-shadow it will use "some-value" as the initial value rather than "another-value"
|
|
1880
2105
|
//
|
|
1881
|
-
// The case where the attribute was NOT set inline but was not set programmatically shall be handled/
|
|
2106
|
+
// The case where the attribute was NOT set inline but was not set programmatically shall be handled/un-shadowed
|
|
1882
2107
|
// by connectedCallback as this attributeChangedCallback will not fire.
|
|
1883
2108
|
//
|
|
1884
2109
|
// https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
|
|
@@ -1898,31 +2123,70 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
|
1898
2123
|
// `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.
|
|
1899
2124
|
return;
|
|
1900
2125
|
}
|
|
2126
|
+
else if (propName == null) {
|
|
2127
|
+
// At this point we should know this is not a "member", so we can treat it like watching an attribute
|
|
2128
|
+
// on a vanilla web component
|
|
2129
|
+
const hostRef = getHostRef(this);
|
|
2130
|
+
const flags = hostRef === null || hostRef === void 0 ? void 0 : hostRef.$flags$;
|
|
2131
|
+
// We only want to trigger the callback(s) if:
|
|
2132
|
+
// 1. The instance is ready
|
|
2133
|
+
// 2. The watchers are ready
|
|
2134
|
+
// 3. The value has changed
|
|
2135
|
+
if (!(flags & 8 /* HOST_FLAGS.isConstructingInstance */) &&
|
|
2136
|
+
flags & 128 /* HOST_FLAGS.isWatchReady */ &&
|
|
2137
|
+
newValue !== oldValue) {
|
|
2138
|
+
const instance = hostRef.$lazyInstance$ ;
|
|
2139
|
+
const entry = cmpMeta.$watchers$[attrName];
|
|
2140
|
+
entry === null || entry === void 0 ? void 0 : entry.forEach((callbackName) => {
|
|
2141
|
+
if (instance[callbackName] != null) {
|
|
2142
|
+
instance[callbackName].call(instance, newValue, oldValue, attrName);
|
|
2143
|
+
}
|
|
2144
|
+
});
|
|
2145
|
+
}
|
|
2146
|
+
return;
|
|
2147
|
+
}
|
|
1901
2148
|
this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;
|
|
1902
2149
|
});
|
|
1903
2150
|
};
|
|
1904
|
-
//
|
|
1905
|
-
//
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
2151
|
+
// Create an array of attributes to observe
|
|
2152
|
+
// This list in comprised of all strings used within a `@Watch()` decorator
|
|
2153
|
+
// on a component as well as any Stencil-specific "members" (`@Prop()`s and `@State()`s).
|
|
2154
|
+
// As such, there is no way to guarantee type-safety here that a user hasn't entered
|
|
2155
|
+
// an invalid attribute.
|
|
2156
|
+
Cstr.observedAttributes = Array.from(new Set([
|
|
2157
|
+
...Object.keys((_a = cmpMeta.$watchers$) !== null && _a !== void 0 ? _a : {}),
|
|
2158
|
+
...members
|
|
2159
|
+
.filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */)
|
|
2160
|
+
.map(([propName, m]) => {
|
|
2161
|
+
const attrName = m[1] || propName;
|
|
2162
|
+
attrNameToPropName.set(attrName, propName);
|
|
2163
|
+
if (m[0] & 512 /* MEMBER_FLAGS.ReflectAttr */) {
|
|
2164
|
+
cmpMeta.$attrsToReflect$.push([propName, attrName]);
|
|
2165
|
+
}
|
|
2166
|
+
return attrName;
|
|
2167
|
+
}),
|
|
2168
|
+
]));
|
|
1916
2169
|
}
|
|
1917
2170
|
}
|
|
1918
2171
|
return Cstr;
|
|
1919
2172
|
};
|
|
1920
|
-
|
|
2173
|
+
/**
|
|
2174
|
+
* Initialize a Stencil component given a reference to its host element, its
|
|
2175
|
+
* runtime bookkeeping data structure, runtime metadata about the component,
|
|
2176
|
+
* and (optionally) an HMR version ID.
|
|
2177
|
+
*
|
|
2178
|
+
* @param elm a host element
|
|
2179
|
+
* @param hostRef the element's runtime bookkeeping object
|
|
2180
|
+
* @param cmpMeta runtime metadata for the Stencil component
|
|
2181
|
+
* @param hmrVersionId an (optional) HMR version ID
|
|
2182
|
+
*/
|
|
2183
|
+
const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
|
|
2184
|
+
let Cstr;
|
|
1921
2185
|
// initializeComponent
|
|
1922
2186
|
if ((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0) {
|
|
2187
|
+
// Let the runtime know that the component has been initialized
|
|
2188
|
+
hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
|
|
1923
2189
|
{
|
|
1924
|
-
// we haven't initialized this element yet
|
|
1925
|
-
hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
|
|
1926
2190
|
// lazy loaded components
|
|
1927
2191
|
// request the component's implementation to be
|
|
1928
2192
|
// wired up with the host element
|
|
@@ -2025,7 +2289,7 @@ const connectedCallback = (elm) => {
|
|
|
2025
2289
|
// if the slot polyfill is required we'll need to put some nodes
|
|
2026
2290
|
// in here to act as original content anchors as we move nodes around
|
|
2027
2291
|
// host element has been connected to the DOM
|
|
2028
|
-
if ((// TODO(STENCIL-
|
|
2292
|
+
if ((// TODO(STENCIL-854): Remove code related to legacy shadowDomShim field
|
|
2029
2293
|
cmpMeta.$flags$ & (4 /* CMP_FLAGS.hasSlotRelocation */ | 8 /* CMP_FLAGS.needsShadowDomShim */))) {
|
|
2030
2294
|
setContentReference(elm);
|
|
2031
2295
|
}
|
|
@@ -2073,7 +2337,12 @@ const connectedCallback = (elm) => {
|
|
|
2073
2337
|
// since they would have been removed when disconnected
|
|
2074
2338
|
addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
|
|
2075
2339
|
// fire off connectedCallback() on component instance
|
|
2076
|
-
|
|
2340
|
+
if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$lazyInstance$) {
|
|
2341
|
+
fireConnectedCallback(hostRef.$lazyInstance$);
|
|
2342
|
+
}
|
|
2343
|
+
else if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$onReadyPromise$) {
|
|
2344
|
+
hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$));
|
|
2345
|
+
}
|
|
2077
2346
|
}
|
|
2078
2347
|
endConnected();
|
|
2079
2348
|
}
|
|
@@ -2089,18 +2358,25 @@ const setContentReference = (elm) => {
|
|
|
2089
2358
|
contentRefElm['s-cn'] = true;
|
|
2090
2359
|
elm.insertBefore(contentRefElm, elm.firstChild);
|
|
2091
2360
|
};
|
|
2092
|
-
const
|
|
2361
|
+
const disconnectInstance = (instance) => {
|
|
2362
|
+
{
|
|
2363
|
+
safeCall(instance, 'disconnectedCallback');
|
|
2364
|
+
}
|
|
2365
|
+
};
|
|
2366
|
+
const disconnectedCallback = async (elm) => {
|
|
2093
2367
|
if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
|
|
2094
2368
|
const hostRef = getHostRef(elm);
|
|
2095
|
-
const instance = hostRef.$lazyInstance$ ;
|
|
2096
2369
|
{
|
|
2097
2370
|
if (hostRef.$rmListeners$) {
|
|
2098
2371
|
hostRef.$rmListeners$.map((rmListener) => rmListener());
|
|
2099
2372
|
hostRef.$rmListeners$ = undefined;
|
|
2100
2373
|
}
|
|
2101
2374
|
}
|
|
2102
|
-
{
|
|
2103
|
-
|
|
2375
|
+
if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$lazyInstance$) {
|
|
2376
|
+
disconnectInstance(hostRef.$lazyInstance$);
|
|
2377
|
+
}
|
|
2378
|
+
else if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$onReadyPromise$) {
|
|
2379
|
+
hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$));
|
|
2104
2380
|
}
|
|
2105
2381
|
}
|
|
2106
2382
|
};
|
|
@@ -2110,7 +2386,7 @@ const patchChildSlotNodes = (elm, cmpMeta) => {
|
|
|
2110
2386
|
return this[n];
|
|
2111
2387
|
}
|
|
2112
2388
|
}
|
|
2113
|
-
// TODO(STENCIL-
|
|
2389
|
+
// TODO(STENCIL-854): Remove code related to legacy shadowDomShim field
|
|
2114
2390
|
if (cmpMeta.$flags$ & 8 /* CMP_FLAGS.needsShadowDomShim */) {
|
|
2115
2391
|
const childNodesFn = elm.__lookupGetter__('childNodes');
|
|
2116
2392
|
Object.defineProperty(elm, 'children', {
|
|
@@ -2150,7 +2426,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
2150
2426
|
const customElements = win.customElements;
|
|
2151
2427
|
const head = doc.head;
|
|
2152
2428
|
const metaCharset = /*@__PURE__*/ head.querySelector('meta[charset]');
|
|
2153
|
-
const
|
|
2429
|
+
const dataStyles = /*@__PURE__*/ doc.createElement('style');
|
|
2154
2430
|
const deferredConnectedCallbacks = [];
|
|
2155
2431
|
const styles = /*@__PURE__*/ doc.querySelectorAll(`[${HYDRATED_STYLE_ID}]`);
|
|
2156
2432
|
let appLoadFallback;
|
|
@@ -2168,14 +2444,21 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
2168
2444
|
registerStyle(styles[i].getAttribute(HYDRATED_STYLE_ID), convertScopedToShadow(styles[i].innerHTML), true);
|
|
2169
2445
|
}
|
|
2170
2446
|
}
|
|
2447
|
+
let hasSlotRelocation = false;
|
|
2171
2448
|
lazyBundles.map((lazyBundle) => {
|
|
2172
2449
|
lazyBundle[1].map((compactMeta) => {
|
|
2450
|
+
var _a;
|
|
2173
2451
|
const cmpMeta = {
|
|
2174
2452
|
$flags$: compactMeta[0],
|
|
2175
2453
|
$tagName$: compactMeta[1],
|
|
2176
2454
|
$members$: compactMeta[2],
|
|
2177
2455
|
$listeners$: compactMeta[3],
|
|
2178
2456
|
};
|
|
2457
|
+
// Check if we are using slots outside the shadow DOM in this component.
|
|
2458
|
+
// We'll use this information later to add styles for `slot-fb` elements
|
|
2459
|
+
if (cmpMeta.$flags$ & 4 /* CMP_FLAGS.hasSlotRelocation */) {
|
|
2460
|
+
hasSlotRelocation = true;
|
|
2461
|
+
}
|
|
2179
2462
|
{
|
|
2180
2463
|
cmpMeta.$members$ = compactMeta[2];
|
|
2181
2464
|
}
|
|
@@ -2186,7 +2469,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
2186
2469
|
cmpMeta.$attrsToReflect$ = [];
|
|
2187
2470
|
}
|
|
2188
2471
|
{
|
|
2189
|
-
cmpMeta.$watchers$ = {};
|
|
2472
|
+
cmpMeta.$watchers$ = (_a = compactMeta[4]) !== null && _a !== void 0 ? _a : {};
|
|
2190
2473
|
}
|
|
2191
2474
|
const tagName = cmpMeta.$tagName$;
|
|
2192
2475
|
const HostElement = class extends HTMLElement {
|
|
@@ -2210,9 +2493,6 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
2210
2493
|
}
|
|
2211
2494
|
}
|
|
2212
2495
|
}
|
|
2213
|
-
{
|
|
2214
|
-
patchChildSlotNodes(self, cmpMeta);
|
|
2215
|
-
}
|
|
2216
2496
|
}
|
|
2217
2497
|
connectedCallback() {
|
|
2218
2498
|
if (appLoadFallback) {
|
|
@@ -2234,6 +2514,13 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
2234
2514
|
return getHostRef(this).$onReadyPromise$;
|
|
2235
2515
|
}
|
|
2236
2516
|
};
|
|
2517
|
+
// TODO(STENCIL-914): this check and `else` block can go away and be replaced by just `BUILD.scoped` once we
|
|
2518
|
+
// default our pseudo-slot behavior
|
|
2519
|
+
{
|
|
2520
|
+
{
|
|
2521
|
+
patchChildSlotNodes(HostElement.prototype, cmpMeta);
|
|
2522
|
+
}
|
|
2523
|
+
}
|
|
2237
2524
|
cmpMeta.$lazyBundleId$ = lazyBundle[0];
|
|
2238
2525
|
if (!exclude.includes(tagName) && !customElements.get(tagName)) {
|
|
2239
2526
|
cmpTags.push(tagName);
|
|
@@ -2241,15 +2528,23 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
2241
2528
|
}
|
|
2242
2529
|
});
|
|
2243
2530
|
});
|
|
2531
|
+
// Add styles for `slot-fb` elements if any of our components are using slots outside the Shadow DOM
|
|
2532
|
+
if (hasSlotRelocation) {
|
|
2533
|
+
dataStyles.innerHTML += SLOT_FB_CSS;
|
|
2534
|
+
}
|
|
2535
|
+
// Add hydration styles
|
|
2244
2536
|
{
|
|
2245
|
-
|
|
2246
|
-
|
|
2537
|
+
dataStyles.innerHTML += cmpTags + HYDRATED_CSS;
|
|
2538
|
+
}
|
|
2539
|
+
// If we have styles, add them to the DOM
|
|
2540
|
+
if (dataStyles.innerHTML.length) {
|
|
2541
|
+
dataStyles.setAttribute('data-styles', '');
|
|
2542
|
+
head.insertBefore(dataStyles, metaCharset ? metaCharset.nextSibling : head.firstChild);
|
|
2247
2543
|
// Apply CSP nonce to the style tag if it exists
|
|
2248
2544
|
const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
|
|
2249
2545
|
if (nonce != null) {
|
|
2250
|
-
|
|
2546
|
+
dataStyles.setAttribute('nonce', nonce);
|
|
2251
2547
|
}
|
|
2252
|
-
head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);
|
|
2253
2548
|
}
|
|
2254
2549
|
// Process deferred connectedCallbacks now all components have been registered
|
|
2255
2550
|
isBootstrapping = false;
|
|
@@ -2310,13 +2605,40 @@ const hostListenerOpts = (flags) => (flags & 2 /* LISTENER_FLAGS.Capture */) !==
|
|
|
2310
2605
|
* @returns void
|
|
2311
2606
|
*/
|
|
2312
2607
|
const setNonce = (nonce) => (plt.$nonce$ = nonce);
|
|
2608
|
+
/**
|
|
2609
|
+
* A WeakMap mapping runtime component references to their corresponding host reference
|
|
2610
|
+
* instances.
|
|
2611
|
+
*/
|
|
2313
2612
|
const hostRefs = /*@__PURE__*/ new WeakMap();
|
|
2613
|
+
/**
|
|
2614
|
+
* Given a {@link d.RuntimeRef} retrieve the corresponding {@link d.HostRef}
|
|
2615
|
+
*
|
|
2616
|
+
* @param ref the runtime ref of interest
|
|
2617
|
+
* @returns the Host reference (if found) or undefined
|
|
2618
|
+
*/
|
|
2314
2619
|
const getHostRef = (ref) => hostRefs.get(ref);
|
|
2620
|
+
/**
|
|
2621
|
+
* Register a lazy instance with the {@link hostRefs} object so it's
|
|
2622
|
+
* corresponding {@link d.HostRef} can be retrieved later.
|
|
2623
|
+
*
|
|
2624
|
+
* @param lazyInstance the lazy instance of interest
|
|
2625
|
+
* @param hostRef that instances `HostRef` object
|
|
2626
|
+
* @returns a reference to the host ref WeakMap
|
|
2627
|
+
*/
|
|
2315
2628
|
const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
|
|
2316
|
-
|
|
2629
|
+
/**
|
|
2630
|
+
* Register a host element for a Stencil component, setting up various metadata
|
|
2631
|
+
* and callbacks based on {@link BUILD} flags as well as the component's runtime
|
|
2632
|
+
* metadata.
|
|
2633
|
+
*
|
|
2634
|
+
* @param hostElement the host element to register
|
|
2635
|
+
* @param cmpMeta runtime metadata for that component
|
|
2636
|
+
* @returns a reference to the host ref WeakMap
|
|
2637
|
+
*/
|
|
2638
|
+
const registerHost = (hostElement, cmpMeta) => {
|
|
2317
2639
|
const hostRef = {
|
|
2318
2640
|
$flags$: 0,
|
|
2319
|
-
$hostElement$:
|
|
2641
|
+
$hostElement$: hostElement,
|
|
2320
2642
|
$cmpMeta$: cmpMeta,
|
|
2321
2643
|
$instanceValues$: new Map(),
|
|
2322
2644
|
};
|
|
@@ -2325,11 +2647,11 @@ const registerHost = (elm, cmpMeta) => {
|
|
|
2325
2647
|
}
|
|
2326
2648
|
{
|
|
2327
2649
|
hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));
|
|
2328
|
-
|
|
2329
|
-
|
|
2650
|
+
hostElement['s-p'] = [];
|
|
2651
|
+
hostElement['s-rc'] = [];
|
|
2330
2652
|
}
|
|
2331
|
-
addHostEventListeners(
|
|
2332
|
-
return hostRefs.set(
|
|
2653
|
+
addHostEventListeners(hostElement, hostRef, cmpMeta.$listeners$);
|
|
2654
|
+
return hostRefs.set(hostElement, hostRef);
|
|
2333
2655
|
};
|
|
2334
2656
|
const isMemberInElement = (elm, memberName) => memberName in elm;
|
|
2335
2657
|
const consoleError = (e, el) => (0, console.error)(e, el);
|
|
@@ -2368,7 +2690,7 @@ const plt = {
|
|
|
2368
2690
|
ce: (eventName, opts) => new CustomEvent(eventName, opts),
|
|
2369
2691
|
};
|
|
2370
2692
|
const supportsShadow =
|
|
2371
|
-
// TODO(STENCIL-
|
|
2693
|
+
// TODO(STENCIL-854): Remove code related to legacy shadowDomShim field
|
|
2372
2694
|
true;
|
|
2373
2695
|
const promiseResolve = (v) => Promise.resolve(v);
|
|
2374
2696
|
const supportsConstructableStylesheets = /*@__PURE__*/ (() => {
|
|
@@ -2420,7 +2742,7 @@ const flush = () => {
|
|
|
2420
2742
|
}
|
|
2421
2743
|
}
|
|
2422
2744
|
};
|
|
2423
|
-
const nextTick =
|
|
2745
|
+
const nextTick = (cb) => promiseResolve().then(cb);
|
|
2424
2746
|
const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
|
|
2425
2747
|
|
|
2426
2748
|
export { Build as B, Env as E, Fragment as F, Host as H, NAMESPACE as N, bootstrapLazy as b, createEvent as c, doc as d, getElement as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
|