@duetds/components 7.1.0 → 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 +279 -186
- package/lib/cjs/duet-action-button.cjs.entry.js +9 -9
- package/lib/cjs/duet-alert.cjs.entry.js +6 -6
- package/lib/cjs/duet-badge.cjs.entry.js +3 -3
- package/lib/cjs/duet-banner.cjs.entry.js +4 -4
- package/lib/cjs/duet-breadcrumb.cjs.entry.js +5 -5
- package/lib/cjs/duet-breadcrumbs.cjs.entry.js +4 -4
- package/lib/cjs/duet-button_2.cjs.entry.js +7 -7
- package/lib/cjs/duet-callout.cjs.entry.js +3 -3
- package/lib/cjs/duet-caption_4.cjs.entry.js +26 -9
- package/lib/cjs/duet-card.cjs.entry.js +7 -7
- package/lib/cjs/duet-checkbox.cjs.entry.js +4 -4
- package/lib/cjs/duet-checkmark.cjs.entry.js +2 -2
- package/lib/cjs/duet-chip.cjs.entry.js +4 -4
- package/lib/cjs/duet-choice_2.cjs.entry.js +11 -11
- package/lib/cjs/duet-collapsible.cjs.entry.js +7 -7
- package/lib/cjs/duet-combobox.cjs.entry.js +6 -6
- package/lib/cjs/duet-contact-card.cjs.entry.js +5 -5
- package/lib/cjs/duet-cookie-consent.cjs.entry.js +3 -3
- package/lib/cjs/duet-date-picker.cjs.entry.js +7 -7
- package/lib/cjs/duet-divider_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-editable-table_3.cjs.entry.js +10 -10
- package/lib/cjs/duet-empty-state.cjs.entry.js +3 -3
- package/lib/cjs/duet-fieldset.cjs.entry.js +5 -5
- package/lib/cjs/duet-footer.cjs.entry.js +6 -6
- package/lib/cjs/duet-grid_2.cjs.entry.js +3 -3
- package/lib/cjs/duet-header_2.cjs.entry.js +9 -9
- package/lib/cjs/duet-hero.cjs.entry.js +6 -6
- package/lib/cjs/duet-icon.cjs.entry.js +4 -4
- package/lib/cjs/duet-input_2.cjs.entry.js +8 -8
- 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 +3 -3
- package/lib/cjs/duet-menu-bar-dropdown-link.cjs.entry.js +4 -4
- package/lib/cjs/duet-menu-bar-dropdown.cjs.entry.js +4 -4
- package/lib/cjs/duet-menu-bar-link.cjs.entry.js +3 -3
- package/lib/cjs/duet-menu-bar.cjs.entry.js +3 -3
- package/lib/cjs/duet-modal.cjs.entry.js +10 -10
- package/lib/cjs/duet-multiselect.cjs.entry.js +7 -7
- package/lib/cjs/duet-nav.cjs.entry.js +2 -2
- package/lib/cjs/duet-notification_2.cjs.entry.js +5 -5
- package/lib/cjs/duet-number-input.cjs.entry.js +7 -7
- package/lib/cjs/duet-page-heading.cjs.entry.js +3 -3
- package/lib/cjs/duet-pagination_2.cjs.entry.js +9 -9
- package/lib/cjs/duet-popup-menu-item.cjs.entry.js +3 -3
- package/lib/cjs/duet-popup-menu.cjs.entry.js +5 -5
- package/lib/cjs/duet-progress.cjs.entry.js +6 -6
- package/lib/cjs/duet-promo-card.cjs.entry.js +4 -4
- package/lib/cjs/duet-radio_2.cjs.entry.js +5 -5
- package/lib/cjs/duet-range-slider.cjs.entry.js +5 -5
- package/lib/cjs/duet-scrollable_3.cjs.entry.js +7 -7
- package/lib/cjs/duet-section-layout.cjs.entry.js +2 -2
- package/lib/cjs/duet-select.cjs.entry.js +5 -5
- package/lib/cjs/duet-shaped-image.cjs.entry.js +2 -2
- package/lib/cjs/duet-show-more.cjs.entry.js +7 -7
- package/lib/cjs/duet-slideout-lang.cjs.entry.js +5 -5
- package/lib/cjs/duet-slideout-link.cjs.entry.js +3 -3
- package/lib/cjs/duet-slideout-panel-dropdown.cjs.entry.js +3 -3
- package/lib/cjs/duet-slideout-panel.cjs.entry.js +7 -7
- package/lib/cjs/duet-slideout.cjs.entry.js +9 -9
- package/lib/cjs/duet-step_2.cjs.entry.js +5 -5
- package/lib/cjs/duet-submenu-bar-dropdown-link.cjs.entry.js +4 -4
- package/lib/cjs/duet-submenu-bar-dropdown.cjs.entry.js +4 -4
- package/lib/cjs/duet-submenu-bar-link.cjs.entry.js +4 -4
- package/lib/cjs/duet-submenu-bar.cjs.entry.js +4 -4
- package/lib/cjs/duet-textarea.cjs.entry.js +5 -5
- package/lib/cjs/duet-toggle.cjs.entry.js +4 -4
- package/lib/cjs/duet-toolbar-dropdown-link.cjs.entry.js +4 -4
- package/lib/cjs/duet-toolbar-dropdown.cjs.entry.js +4 -4
- package/lib/cjs/duet-toolbar-link.cjs.entry.js +3 -3
- package/lib/cjs/duet-toolbar.cjs.entry.js +2 -2
- package/lib/cjs/duet-tooltip-button_2.cjs.entry.js +5 -5
- package/lib/cjs/duet-tooltip.cjs.entry.js +8 -8
- package/lib/cjs/duet-tray.cjs.entry.js +6 -6
- package/lib/cjs/duet-upload-aria-status.cjs.entry.js +2 -2
- package/lib/cjs/duet-upload-item.cjs.entry.js +6 -6
- package/lib/cjs/duet-visually-hidden.cjs.entry.js +2 -2
- 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-09463cf4.js → focus-utils-135b1e70.js} +1 -1
- package/lib/cjs/{index-e43540c9.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/collection/collection-manifest.json +98 -98
- package/lib/collection/components/duet-action-button/duet-action-button.js +18 -9
- package/lib/collection/components/duet-alert/duet-alert.e2e.js +53 -0
- package/lib/collection/components/duet-alert/duet-alert.js +23 -12
- package/lib/collection/components/duet-badge/duet-badge.e2e.js +28 -0
- package/lib/collection/components/duet-badge/duet-badge.js +6 -3
- package/lib/collection/components/duet-banner/duet-banner.e2e.js +23 -0
- package/lib/collection/components/duet-banner/duet-banner.js +16 -8
- package/lib/collection/components/duet-breadcrumbs/duet-breadcrumb.js +4 -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 +29 -15
- package/lib/collection/components/duet-callout/duet-callout.e2e.js +21 -0
- package/lib/collection/components/duet-callout/duet-callout.js +4 -2
- package/lib/collection/components/duet-caption/duet-caption.e2e.js +26 -0
- package/lib/collection/components/duet-caption/duet-caption.js +6 -3
- package/lib/collection/components/duet-card/duet-card.e2e.js +91 -0
- package/lib/collection/components/duet-card/duet-card.js +24 -12
- package/lib/collection/components/duet-checkbox/duet-checkbox.e2e.js +112 -0
- package/lib/collection/components/duet-checkbox/duet-checkbox.js +14 -7
- package/lib/collection/components/duet-chip/duet-chip.e2e.js +46 -0
- package/lib/collection/components/duet-chip/duet-chip.js +16 -8
- 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 +27 -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 +10 -5
- package/lib/collection/components/duet-collapsible/duet-collapsible.e2e.js +125 -0
- package/lib/collection/components/duet-collapsible/duet-collapsible.js +16 -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 +6 -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 +4 -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 +28 -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 +20 -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 +6 -3
- package/lib/collection/components/duet-fieldset/duet-fieldset.e2e.js +13 -0
- package/lib/collection/components/duet-fieldset/duet-fieldset.js +6 -3
- package/lib/collection/components/duet-footer/duet-footer.e2e.js +186 -0
- package/lib/collection/components/duet-footer/duet-footer.js +23 -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 +50 -26
- package/lib/collection/components/duet-heading/duet-heading.e2e.js +27 -0
- package/lib/collection/components/duet-heading/duet-heading.js +12 -6
- package/lib/collection/components/duet-hero/duet-hero.e2e.js +172 -0
- package/lib/collection/components/duet-hero/duet-hero.js +26 -13
- package/lib/collection/components/duet-icon/duet-icon.e2e.js +32 -0
- package/lib/collection/components/duet-icon/duet-icon.js +14 -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 +32 -16
- package/lib/collection/components/duet-label/duet-label.e2e.js +32 -0
- package/lib/collection/components/duet-label/duet-label.js +6 -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 +90 -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 +4 -2
- package/lib/collection/components/duet-menu-bar-button/duet-menu-bar-button.js +6 -3
- package/lib/collection/components/duet-menu-bar-dropdown/duet-menu-bar-dropdown.js +6 -3
- package/lib/collection/components/duet-menu-bar-dropdown-link/duet-menu-bar-dropdown-link.js +2 -1
- package/lib/collection/components/duet-menu-bar-link/duet-menu-bar-link.js +2 -1
- package/lib/collection/components/duet-modal/duet-modal.e2e.js +125 -0
- package/lib/collection/components/duet-modal/duet-modal.js +24 -12
- package/lib/collection/components/duet-multiselect/duet-multiselect.e2e.js +96 -0
- package/lib/collection/components/duet-multiselect/duet-multiselect.js +20 -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 +11 -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 +18 -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 +30 -15
- package/lib/collection/components/duet-page-heading/duet-page-heading.js +4 -2
- package/lib/collection/components/duet-pagination/duet-pagination.e2e.js +101 -0
- package/lib/collection/components/duet-pagination/duet-pagination.js +12 -6
- package/lib/collection/components/duet-paragraph/duet-paragraph.e2e.js +27 -0
- package/lib/collection/components/duet-paragraph/duet-paragraph.js +12 -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 +16 -8
- package/lib/collection/components/duet-progress/duet-progress.e2e.js +12 -0
- package/lib/collection/components/duet-progress/duet-progress.js +4 -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 +10 -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 +8 -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 +14 -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 +8 -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 +2 -1
- 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 +20 -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 +16 -8
- package/lib/collection/components/duet-slideout/duet-slideout.js +12 -6
- package/lib/collection/components/duet-slideout-lang/duet-slideout-lang.js +2 -1
- package/lib/collection/components/duet-slideout-link/duet-slideout-link.js +2 -1
- package/lib/collection/components/duet-slideout-panel/duet-slideout-panel.js +8 -4
- package/lib/collection/components/duet-slideout-panel-dropdown/duet-slideout-panel-dropdown.js +6 -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 +12 -6
- package/lib/collection/components/duet-stepper/duet-stepper.e2e.js +85 -0
- package/lib/collection/components/duet-stepper/duet-stepper.js +6 -3
- package/lib/collection/components/duet-submenu-bar/duet-submenu-bar.js +6 -3
- package/lib/collection/components/duet-submenu-bar-dropdown/duet-submenu-bar-dropdown.js +6 -3
- package/lib/collection/components/duet-submenu-bar-dropdown-link/duet-submenu-bar-dropdown-link.js +2 -1
- package/lib/collection/components/duet-submenu-bar-link/duet-submenu-bar-link.js +2 -1
- package/lib/collection/components/duet-tab/duet-tab.e2e.js +16 -0
- package/lib/collection/components/duet-tab/duet-tab.js +2 -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 +24 -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 +18 -9
- package/lib/collection/components/duet-toggle/duet-toggle.e2e.js +73 -0
- package/lib/collection/components/duet-toggle/duet-toggle.js +10 -5
- package/lib/collection/components/duet-toolbar/duet-toolbar.js +2 -1
- package/lib/collection/components/duet-toolbar-dropdown/duet-toolbar-dropdown.js +6 -3
- package/lib/collection/components/duet-toolbar-dropdown-link/duet-toolbar-dropdown-link.js +2 -1
- package/lib/collection/components/duet-toolbar-link/duet-toolbar-link.js +2 -1
- package/lib/collection/components/duet-tooltip/duet-tooltip-button.js +6 -3
- package/lib/collection/components/duet-tooltip/duet-tooltip-popup.js +14 -7
- package/lib/collection/components/duet-tooltip/duet-tooltip.e2e.js +99 -0
- package/lib/collection/components/duet-tooltip/duet-tooltip.js +12 -6
- package/lib/collection/components/duet-tray/duet-tray.e2e.js +103 -0
- package/lib/collection/components/duet-tray/duet-tray.js +8 -4
- package/lib/collection/components/duet-upload/duet-upload.e2e.js +49 -0
- package/lib/collection/components/duet-upload/duet-upload.js +69 -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 +2 -1
- package/lib/collection/components/duet-upload-item/duet-upload-item.js +18 -9
- package/lib/collection/components/duet-visually-hidden/duet-visually-hidden.e2e.js +12 -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/string-utils.spec.js +39 -0
- 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 +8 -8
- package/lib/dist-custom-elements/duet-breadcrumb.js +6 -6
- 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 +6 -6
- package/lib/dist-custom-elements/duet-caption.js +1 -1
- package/lib/dist-custom-elements/duet-card.js +10 -10
- 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 +8 -6
- package/lib/dist-custom-elements/duet-choice-group.js +18 -12
- package/lib/dist-custom-elements/duet-choice.js +14 -14
- package/lib/dist-custom-elements/duet-collapsible.js +9 -9
- package/lib/dist-custom-elements/duet-combobox.js +15 -10
- package/lib/dist-custom-elements/duet-contact-card.js +12 -12
- package/lib/dist-custom-elements/duet-cookie-consent.js +9 -9
- package/lib/dist-custom-elements/duet-date-picker.js +25 -20
- package/lib/dist-custom-elements/duet-divider.js +1 -1
- package/lib/dist-custom-elements/duet-editable-table.js +14 -14
- 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 +13 -10
- 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 +25 -18
- package/lib/dist-custom-elements/duet-heading.js +1 -1
- package/lib/dist-custom-elements/duet-hero.js +19 -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 +5 -5
- package/lib/dist-custom-elements/duet-menu-bar-dropdown-link.js +6 -6
- package/lib/dist-custom-elements/duet-menu-bar-dropdown.js +6 -6
- package/lib/dist-custom-elements/duet-menu-bar-link.js +5 -5
- package/lib/dist-custom-elements/duet-menu-bar.js +5 -5
- package/lib/dist-custom-elements/duet-modal.js +20 -17
- package/lib/dist-custom-elements/duet-multiselect.js +20 -18
- package/lib/dist-custom-elements/duet-nav.js +3 -3
- package/lib/dist-custom-elements/duet-notification-drawer.js +8 -8
- package/lib/dist-custom-elements/duet-notification.js +6 -6
- package/lib/dist-custom-elements/duet-number-input.js +17 -17
- package/lib/dist-custom-elements/duet-page-heading.js +5 -5
- package/lib/dist-custom-elements/duet-pagination.js +24 -21
- package/lib/dist-custom-elements/duet-paragraph.js +1 -1
- package/lib/dist-custom-elements/duet-popup-menu-item.js +5 -5
- 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 +7 -7
- package/lib/dist-custom-elements/duet-radio-group.js +18 -12
- package/lib/dist-custom-elements/duet-radio.js +4 -4
- package/lib/dist-custom-elements/duet-range-slider.js +7 -7
- package/lib/dist-custom-elements/duet-range-stepper.js +13 -10
- 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 +11 -11
- package/lib/dist-custom-elements/duet-slideout-lang.js +6 -6
- package/lib/dist-custom-elements/duet-slideout-link.js +5 -5
- package/lib/dist-custom-elements/duet-slideout-panel-dropdown.js +5 -5
- package/lib/dist-custom-elements/duet-slideout-panel.js +8 -8
- package/lib/dist-custom-elements/duet-slideout.js +10 -10
- 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 +9 -9
- package/lib/dist-custom-elements/duet-stepper.js +9 -6
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown-link.js +6 -6
- package/lib/dist-custom-elements/duet-submenu-bar-dropdown.js +6 -6
- package/lib/dist-custom-elements/duet-submenu-bar-link.js +6 -6
- package/lib/dist-custom-elements/duet-submenu-bar.js +8 -6
- package/lib/dist-custom-elements/duet-tab-group.js +19 -19
- package/lib/dist-custom-elements/duet-tab.js +4 -4
- package/lib/dist-custom-elements/duet-table.js +1 -1
- package/lib/dist-custom-elements/duet-textarea.js +17 -15
- package/lib/dist-custom-elements/duet-toggle.js +8 -6
- package/lib/dist-custom-elements/duet-toolbar-dropdown-link.js +6 -6
- package/lib/dist-custom-elements/duet-toolbar-dropdown.js +6 -6
- package/lib/dist-custom-elements/duet-toolbar-link.js +5 -5
- 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 +8 -8
- 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 +27 -25
- 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-7c6ee265.js → p-092ff822.js} +15 -13
- package/lib/dist-custom-elements/{p-d6e49c93.js → p-0c7dab94.js} +7 -7
- package/lib/dist-custom-elements/{p-e90b70ac.js → p-227dc421.js} +3 -3
- package/lib/dist-custom-elements/{p-53148470.js → p-2764b248.js} +5 -5
- package/lib/dist-custom-elements/{p-d8859df9.js → p-3c3e91d0.js} +4 -4
- package/lib/dist-custom-elements/{p-1a8cb0ad.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-fc3ae836.js → p-51a58715.js} +7 -3
- package/lib/dist-custom-elements/{p-decdd69c.js → p-5f06c4ee.js} +5 -5
- package/lib/dist-custom-elements/{p-89dec98e.js → p-5fd9c816.js} +7 -7
- package/lib/dist-custom-elements/{p-ec4d603d.js → p-62c7d9d4.js} +1 -1
- package/lib/dist-custom-elements/{p-53fba128.js → p-6e063bb0.js} +4 -4
- package/lib/dist-custom-elements/{p-6a66573f.js → p-720c72c5.js} +15 -10
- package/lib/dist-custom-elements/{p-1d90b10e.js → p-7579d4ae.js} +507 -166
- package/lib/dist-custom-elements/{p-fcc738df.js → p-7da4aa07.js} +3 -3
- package/lib/dist-custom-elements/{p-479fa83d.js → p-8160c830.js} +11 -11
- package/lib/dist-custom-elements/{p-21dd956e.js → p-84946626.js} +31 -10
- package/lib/dist-custom-elements/{p-f7337164.js → p-8800fa36.js} +4 -4
- package/lib/dist-custom-elements/{p-954d4096.js → p-8afda636.js} +20 -17
- package/lib/dist-custom-elements/{p-c2533c03.js → p-8f0848ab.js} +3 -3
- package/lib/dist-custom-elements/{p-77c93063.js → p-9468d6ea.js} +4 -4
- package/lib/dist-custom-elements/{p-cedaa97e.js → p-96f45950.js} +2 -2
- package/lib/dist-custom-elements/{p-99ec82e5.js → p-a0669ee9.js} +6 -6
- package/lib/dist-custom-elements/{p-72c9e944.js → p-aa2863af.js} +4 -4
- package/lib/dist-custom-elements/{p-67b279fa.js → p-bc972b0a.js} +5 -5
- package/lib/dist-custom-elements/{p-061830ef.js → p-c5032d3a.js} +1 -1
- package/lib/dist-custom-elements/{p-87cf7266.js → p-cfca65c8.js} +10 -8
- package/lib/dist-custom-elements/{p-6816fd1b.js → p-d27dc964.js} +10 -10
- package/lib/dist-custom-elements/{p-e611a3df.js → p-db1ac527.js} +9 -5
- package/lib/dist-custom-elements/{p-6958bba3.js → p-dbe427e1.js} +15 -15
- package/lib/dist-custom-elements/{p-03e72a70.js → p-e19d1e27.js} +1 -1
- package/lib/dist-custom-elements/{p-4d9d4c43.js → p-eb55b736.js} +9 -4
- package/lib/dist-custom-elements/{p-dd33aa4e.js → p-eea6945b.js} +5 -5
- package/lib/dist-custom-elements/{p-a5b5343b.js → p-f06ebf0f.js} +16 -13
- package/lib/dist-custom-elements/{p-ad704699.js → p-f2263866.js} +10 -8
- package/lib/dist-custom-elements/{p-85087518.js → p-f6ae66d9.js} +5 -5
- package/lib/dist-custom-elements/{p-12a46182.js → p-fa9cb266.js} +12 -4
- package/lib/dist-custom-elements/{p-d8c53f43.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-529dc6fe.entry.js → p-015c6c0f.entry.js} +1 -1
- package/lib/duet/p-053b71e6.system.js +1 -1
- package/lib/duet/{p-b6c212f5.system.entry.js → p-05432941.system.entry.js} +1 -1
- package/lib/duet/p-07ae2d9c.system.js +5 -0
- package/lib/duet/{p-0bb83776.system.entry.js → p-07bf4b25.system.entry.js} +2 -2
- package/lib/duet/{p-84ebe175.entry.js → p-09694f22.entry.js} +1 -1
- package/lib/duet/p-0c4bbd65.system.js +1 -1
- package/lib/duet/{p-3a9779ee.entry.js → p-168f9b1c.entry.js} +1 -1
- package/lib/duet/p-1a91e22a.system.js +4 -0
- package/lib/duet/{p-d79fa6a4.system.entry.js → p-1b56e37f.system.entry.js} +2 -2
- package/lib/duet/{p-70c7a137.system.entry.js → p-1fb54404.system.entry.js} +1 -1
- package/lib/duet/p-2043a083.entry.js +4 -0
- package/lib/duet/{p-8ac518e1.system.entry.js → p-2118ce4b.system.entry.js} +1 -1
- package/lib/duet/p-21f3a17a.system.js +1 -1
- package/lib/duet/{p-cfe09501.system.entry.js → p-22a9a885.system.entry.js} +1 -1
- package/lib/duet/{p-014edbda.system.entry.js → p-22c45d9c.system.entry.js} +2 -2
- package/lib/duet/p-232940fa.system.js +4 -0
- package/lib/duet/{p-da7cc3d1.entry.js → p-2622c405.entry.js} +1 -1
- package/lib/duet/{p-fc26d56a.entry.js → p-26415995.entry.js} +1 -1
- package/lib/duet/{p-792cbd42.system.entry.js → p-26e1dca0.system.entry.js} +2 -2
- package/lib/duet/p-28f8fa55.system.entry.js +4 -0
- package/lib/duet/{p-e58f4a37.entry.js → p-299e8254.entry.js} +1 -1
- package/lib/duet/{p-ebf4a629.entry.js → p-2abe65e5.entry.js} +1 -1
- package/lib/duet/{p-3b85f649.system.entry.js → p-31382b41.system.entry.js} +1 -1
- package/lib/duet/p-31a0d4f6.system.entry.js +4 -0
- package/lib/duet/{p-e52631b1.entry.js → p-3469e15c.entry.js} +1 -1
- package/lib/duet/{p-b6cf05c0.system.entry.js → p-35762693.system.entry.js} +1 -1
- package/lib/duet/p-38eb6aa3.system.entry.js +4 -0
- package/lib/duet/{p-3878572f.entry.js → p-3a0fde44.entry.js} +1 -1
- package/lib/duet/{p-34aa54e1.entry.js → p-3e27b126.entry.js} +1 -1
- package/lib/duet/{p-b6e50064.entry.js → p-3f78ed00.entry.js} +1 -1
- package/lib/duet/{p-9f975819.system.entry.js → p-3f96e6be.system.entry.js} +2 -2
- package/lib/duet/{p-8156e5a5.system.entry.js → p-3fbc446a.system.entry.js} +1 -1
- package/lib/duet/{p-b52f8ce1.entry.js → p-403df195.entry.js} +1 -1
- package/lib/duet/{p-4b71c8e9.entry.js → p-406ec3c8.entry.js} +1 -1
- package/lib/duet/{p-4903f5c4.system.entry.js → p-442872df.system.entry.js} +1 -1
- package/lib/duet/p-449c2232.system.entry.js +4 -0
- package/lib/duet/{p-64710156.entry.js → p-4655fafc.entry.js} +1 -1
- package/lib/duet/{p-e91385fb.js → p-4669b0af.js} +1 -1
- package/lib/duet/{p-39c72a24.system.entry.js → p-4801f8f8.system.entry.js} +2 -2
- package/lib/duet/{p-03baceb5.js → p-4883df66.js} +1 -1
- package/lib/duet/{p-dde971f6.system.entry.js → p-4abb665b.system.entry.js} +2 -2
- package/lib/duet/{p-a64cf9f8.system.entry.js → p-4ce91f2d.system.entry.js} +1 -1
- package/lib/duet/{p-2e54c1f8.system.entry.js → p-4e958a51.system.entry.js} +2 -2
- package/lib/duet/{p-f5e12c14.system.entry.js → p-5167068e.system.entry.js} +1 -1
- package/lib/duet/{p-edbc2774.entry.js → p-52e15824.entry.js} +1 -1
- package/lib/duet/{p-c8536d3f.entry.js → p-53da8993.entry.js} +1 -1
- package/lib/duet/{p-ad70248d.entry.js → p-556983df.entry.js} +1 -1
- package/lib/duet/{p-a620d583.system.entry.js → p-56b259c4.system.entry.js} +1 -1
- package/lib/duet/{p-7966dc5b.system.entry.js → p-57b02e39.system.entry.js} +2 -2
- package/lib/duet/{p-bc7c47f4.system.entry.js → p-5aa42e6e.system.entry.js} +2 -2
- package/lib/duet/p-5b014c86.system.js +4 -0
- package/lib/duet/{p-5ac682b3.system.entry.js → p-5c08947a.system.entry.js} +1 -1
- package/lib/duet/{p-f30d3b09.system.entry.js → p-5e25fed6.system.entry.js} +1 -1
- package/lib/duet/{p-88c01d1c.entry.js → p-6043a34d.entry.js} +1 -1
- package/lib/duet/{p-baef301c.system.entry.js → p-618fae79.system.entry.js} +2 -2
- package/lib/duet/{p-ca112a3f.system.entry.js → p-61989371.system.entry.js} +2 -2
- package/lib/duet/p-6278bb45.system.entry.js +4 -0
- package/lib/duet/{p-096d7724.entry.js → p-62e31f4f.entry.js} +1 -1
- package/lib/duet/{p-2bec5be2.entry.js → p-64599d16.entry.js} +1 -1
- package/lib/duet/{p-c655b7d1.system.entry.js → p-64c58523.system.entry.js} +1 -1
- package/lib/duet/p-6665a293.entry.js +4 -0
- package/lib/duet/p-668716b8.system.js +4 -0
- package/lib/duet/{p-3c2f1fd0.entry.js → p-678e5dee.entry.js} +1 -1
- package/lib/duet/{p-ea4f5d13.system.entry.js → p-6878509c.system.entry.js} +1 -1
- package/lib/duet/{p-651d430e.system.entry.js → p-68c41c1e.system.entry.js} +2 -2
- package/lib/duet/{p-2d7d1ff7.entry.js → p-68e69fb0.entry.js} +1 -1
- package/lib/duet/p-69180c8a.entry.js +4 -0
- package/lib/duet/{p-0414004a.entry.js → p-69ed2463.entry.js} +1 -1
- package/lib/duet/{p-cc48a8a0.system.entry.js → p-6a11cde0.system.entry.js} +2 -2
- package/lib/duet/p-6ac42c0b.system.entry.js +4 -0
- package/lib/duet/{p-86b83b73.system.entry.js → p-6cd9e728.system.entry.js} +2 -2
- package/lib/duet/{p-9601bad5.entry.js → p-6ff847d2.entry.js} +1 -1
- package/lib/duet/{p-ee0ca0fd.entry.js → p-70046a69.entry.js} +1 -1
- package/lib/duet/{p-469892f4.system.entry.js → p-7041ce72.system.entry.js} +1 -1
- package/lib/duet/{p-3092d696.system.entry.js → p-7047ac99.system.entry.js} +2 -2
- package/lib/duet/p-719b38fe.system.js +4 -0
- package/lib/duet/{p-0f2664ed.entry.js → p-73e91b76.entry.js} +1 -1
- package/lib/duet/p-75daef16.system.js +4 -0
- package/lib/duet/p-7671b7b7.system.js +4 -0
- package/lib/duet/{p-5f46f02e.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-bb5d22df.entry.js → p-79b111a8.entry.js} +1 -1
- package/lib/duet/{p-5ab4d5d4.entry.js → p-79f248ef.entry.js} +1 -1
- package/lib/duet/{p-c135039c.entry.js → p-7b2e5d7f.entry.js} +1 -1
- package/lib/duet/p-7c29d36a.system.js +4 -0
- package/lib/duet/{p-c52e0917.entry.js → p-7cc4dfa7.entry.js} +1 -1
- package/lib/duet/{p-f5c2ccce.entry.js → p-7d836058.entry.js} +1 -1
- package/lib/duet/p-7ff3e582.entry.js +4 -0
- package/lib/duet/{p-90f97748.entry.js → p-81107718.entry.js} +1 -1
- package/lib/duet/{p-22acfa83.entry.js → p-846ff870.entry.js} +1 -1
- package/lib/duet/{p-e62f72a3.entry.js → p-8517c898.entry.js} +1 -1
- package/lib/duet/{p-7a7da6cf.system.entry.js → p-867ac9cc.system.entry.js} +2 -2
- package/lib/duet/{p-0b38374b.system.entry.js → p-8683ae46.system.entry.js} +1 -1
- package/lib/duet/p-87dd7bf3.system.js +4 -0
- package/lib/duet/p-8972381a.system.js +4 -0
- package/lib/duet/{p-6d71214f.entry.js → p-89f3b845.entry.js} +1 -1
- package/lib/duet/{p-00743d6c.system.entry.js → p-8b3ca5ab.system.entry.js} +1 -1
- package/lib/duet/{p-fb7d7222.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-db2865b5.entry.js → p-90c5eed1.entry.js} +1 -1
- package/lib/duet/{p-673a726a.entry.js → p-91aef612.entry.js} +1 -1
- package/lib/duet/{p-9f65b014.system.entry.js → p-92978891.system.entry.js} +1 -1
- package/lib/duet/{p-729f35d8.system.entry.js → p-930e7709.system.entry.js} +2 -2
- package/lib/duet/{p-00a893c1.js → p-9323e964.js} +1 -1
- package/lib/duet/{p-5fb428c8.system.entry.js → p-93877e30.system.entry.js} +2 -2
- package/lib/duet/{p-97076e02.entry.js → p-93c389a8.entry.js} +1 -1
- package/lib/duet/{p-f7793f52.entry.js → p-94f4e0bf.entry.js} +1 -1
- package/lib/duet/{p-1e3f0d63.system.entry.js → p-9c7d954f.system.entry.js} +1 -1
- package/lib/duet/p-9d033a04.system.js +1 -1
- package/lib/duet/{p-9c5860a3.entry.js → p-9f04f069.entry.js} +1 -1
- package/lib/duet/{p-92c7c0ba.entry.js → p-a1b259b5.entry.js} +1 -1
- package/lib/duet/{p-1e88edec.entry.js → p-a31ec36c.entry.js} +1 -1
- package/lib/duet/{p-e2daed97.entry.js → p-a3a93783.entry.js} +1 -1
- package/lib/duet/{p-b42b2676.entry.js → p-a42e4e99.entry.js} +1 -1
- package/lib/duet/{p-15a77012.system.entry.js → p-a5d3e6fb.system.entry.js} +1 -1
- package/lib/duet/{p-f702fd53.entry.js → p-a65edc8c.entry.js} +1 -1
- package/lib/duet/{p-1853e4e5.system.entry.js → p-a7c0ac21.system.entry.js} +2 -2
- package/lib/duet/{p-5f2fc4bd.entry.js → p-aa326c4e.entry.js} +1 -1
- package/lib/duet/{p-b41ed3c4.entry.js → p-ab981ff7.entry.js} +1 -1
- package/lib/duet/{p-2e54c214.entry.js → p-ac711c85.entry.js} +1 -1
- package/lib/duet/{p-31d63beb.system.entry.js → p-acb44157.system.entry.js} +1 -1
- package/lib/duet/{p-bdb50607.system.entry.js → p-ae8732d6.system.entry.js} +2 -2
- package/lib/duet/{p-ab2d8091.entry.js → p-aeccbda2.entry.js} +1 -1
- package/lib/duet/p-b1db3006.js +1 -1
- package/lib/duet/{p-0c203d28.entry.js → p-b223f9f3.entry.js} +1 -1
- package/lib/duet/{p-c8836a67.system.entry.js → p-b440e72b.system.entry.js} +1 -1
- package/lib/duet/{p-9d317471.entry.js → p-b4d48cd1.entry.js} +1 -1
- package/lib/duet/{p-30d1b2b5.entry.js → p-b66ecbb2.entry.js} +1 -1
- package/lib/duet/{p-0ea3453c.system.entry.js → p-b8c3530f.system.entry.js} +1 -1
- package/lib/duet/{p-d86480ea.system.entry.js → p-b9122050.system.entry.js} +1 -1
- package/lib/duet/{p-250745c0.system.entry.js → p-b932a1dc.system.entry.js} +2 -2
- package/lib/duet/p-b99c00fa.system.js +4 -0
- package/lib/duet/{p-fc6d2bf4.entry.js → p-bd988e8e.entry.js} +1 -1
- package/lib/duet/{p-20767b15.system.entry.js → p-c05d40ff.system.entry.js} +1 -1
- package/lib/duet/{p-7be35e53.system.entry.js → p-c2884d84.system.entry.js} +2 -2
- package/lib/duet/p-c30a5f7c.system.js +4 -0
- package/lib/duet/{p-e96bed1e.system.entry.js → p-c4162949.system.entry.js} +1 -1
- package/lib/duet/{p-6b2c127a.entry.js → p-c67fb8ae.entry.js} +1 -1
- package/lib/duet/{p-457ae87b.system.entry.js → p-c7719838.system.entry.js} +1 -1
- package/lib/duet/{p-42c64bb8.system.entry.js → p-c7d985bf.system.entry.js} +2 -2
- package/lib/duet/{p-73c9436a.entry.js → p-c94181d2.entry.js} +1 -1
- package/lib/duet/p-c97109b5.system.js +4 -0
- package/lib/duet/{p-f9f1c707.system.entry.js → p-cb01acfa.system.entry.js} +2 -2
- package/lib/duet/{p-aa634481.entry.js → p-cbe9191a.entry.js} +1 -1
- package/lib/duet/{p-51328149.entry.js → p-cbf7f63b.entry.js} +1 -1
- package/lib/duet/{p-9bdf6ce2.entry.js → p-cefb4bab.entry.js} +1 -1
- package/lib/duet/{p-a322b729.entry.js → p-d0dd55f5.entry.js} +1 -1
- package/lib/duet/{p-79266582.system.entry.js → p-d1edbad6.system.entry.js} +1 -1
- package/lib/duet/{p-0dfe14d3.entry.js → p-d3384a8b.entry.js} +1 -1
- package/lib/duet/{p-2556c6f0.system.entry.js → p-d366b0ac.system.entry.js} +2 -2
- package/lib/duet/{p-b3a1ea89.system.entry.js → p-d3e74991.system.entry.js} +2 -2
- package/lib/duet/{p-b529eb0c.system.entry.js → p-d5ac9c19.system.entry.js} +2 -2
- package/lib/duet/{p-24bc0b8c.entry.js → p-d60fc476.entry.js} +1 -1
- package/lib/duet/{p-0762d0ce.system.entry.js → p-d97155db.system.entry.js} +2 -2
- package/lib/duet/{p-73242991.entry.js → p-da858b14.entry.js} +1 -1
- package/lib/duet/p-daea7760.entry.js +4 -0
- package/lib/duet/{p-85605193.system.entry.js → p-e0321b18.system.entry.js} +2 -2
- package/lib/duet/{p-fb238069.entry.js → p-e1178f0e.entry.js} +1 -1
- package/lib/duet/{p-a276bfbd.entry.js → p-e2d5f327.entry.js} +1 -1
- package/lib/duet/{p-a922b309.system.entry.js → p-e4a8487e.system.entry.js} +2 -2
- package/lib/duet/{p-7ee29cc1.system.entry.js → p-e5fbc547.system.entry.js} +2 -2
- package/lib/duet/{p-54c07ffa.system.entry.js → p-e82882cb.system.entry.js} +1 -1
- package/lib/duet/p-e8f76d19.system.entry.js +4 -0
- package/lib/duet/{p-9b992ce9.entry.js → p-ea2375d5.entry.js} +1 -1
- package/lib/duet/{p-703c3662.system.entry.js → p-ebf8ad5c.system.entry.js} +2 -2
- package/lib/duet/{p-37ee4ceb.system.entry.js → p-ec2b5cc2.system.entry.js} +2 -2
- package/lib/duet/p-ecf1f6cd.system.js +4 -0
- package/lib/duet/p-ed5a5071.system.js +4 -0
- package/lib/duet/{p-285b2d7b.system.entry.js → p-f158a882.system.entry.js} +1 -1
- package/lib/duet/{p-84390ead.entry.js → p-f6476f51.entry.js} +1 -1
- package/lib/duet/{p-a095c36f.system.entry.js → p-f67da334.system.entry.js} +2 -2
- package/lib/duet/{p-acfae908.system.entry.js → p-f69e737e.system.entry.js} +2 -2
- package/lib/duet/{p-e4fd145a.entry.js → p-f89001e8.entry.js} +1 -1
- package/lib/duet/{p-3768dda7.system.entry.js → p-faefd02d.system.entry.js} +2 -2
- package/lib/duet/{p-29a6d3b3.entry.js → p-fd0d794b.entry.js} +1 -1
- package/lib/duet/{p-3344fca3.entry.js → p-fdcc3016.entry.js} +1 -1
- package/lib/duet/p-ff9db811.js +5 -0
- package/lib/esm/duet-action-button.entry.js +9 -9
- package/lib/esm/duet-alert.entry.js +6 -6
- package/lib/esm/duet-badge.entry.js +3 -3
- package/lib/esm/duet-banner.entry.js +4 -4
- package/lib/esm/duet-breadcrumb.entry.js +5 -5
- package/lib/esm/duet-breadcrumbs.entry.js +4 -4
- package/lib/esm/duet-button_2.entry.js +7 -7
- package/lib/esm/duet-callout.entry.js +3 -3
- package/lib/esm/duet-caption_4.entry.js +26 -9
- package/lib/esm/duet-card.entry.js +7 -7
- package/lib/esm/duet-checkbox.entry.js +4 -4
- package/lib/esm/duet-checkmark.entry.js +2 -2
- package/lib/esm/duet-chip.entry.js +4 -4
- package/lib/esm/duet-choice_2.entry.js +11 -11
- package/lib/esm/duet-collapsible.entry.js +7 -7
- package/lib/esm/duet-combobox.entry.js +6 -6
- package/lib/esm/duet-contact-card.entry.js +5 -5
- package/lib/esm/duet-cookie-consent.entry.js +3 -3
- package/lib/esm/duet-date-picker.entry.js +7 -7
- package/lib/esm/duet-divider_2.entry.js +3 -3
- package/lib/esm/duet-editable-table_3.entry.js +10 -10
- package/lib/esm/duet-empty-state.entry.js +3 -3
- package/lib/esm/duet-fieldset.entry.js +5 -5
- package/lib/esm/duet-footer.entry.js +6 -6
- package/lib/esm/duet-grid_2.entry.js +3 -3
- package/lib/esm/duet-header_2.entry.js +9 -9
- package/lib/esm/duet-hero.entry.js +6 -6
- package/lib/esm/duet-icon.entry.js +4 -4
- package/lib/esm/duet-input_2.entry.js +8 -8
- 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 +3 -3
- package/lib/esm/duet-menu-bar-dropdown-link.entry.js +4 -4
- package/lib/esm/duet-menu-bar-dropdown.entry.js +4 -4
- package/lib/esm/duet-menu-bar-link.entry.js +3 -3
- package/lib/esm/duet-menu-bar.entry.js +3 -3
- package/lib/esm/duet-modal.entry.js +10 -10
- package/lib/esm/duet-multiselect.entry.js +7 -7
- package/lib/esm/duet-nav.entry.js +2 -2
- package/lib/esm/duet-notification_2.entry.js +5 -5
- package/lib/esm/duet-number-input.entry.js +7 -7
- package/lib/esm/duet-page-heading.entry.js +3 -3
- package/lib/esm/duet-pagination_2.entry.js +9 -9
- package/lib/esm/duet-popup-menu-item.entry.js +3 -3
- package/lib/esm/duet-popup-menu.entry.js +5 -5
- package/lib/esm/duet-progress.entry.js +6 -6
- package/lib/esm/duet-promo-card.entry.js +4 -4
- package/lib/esm/duet-radio_2.entry.js +5 -5
- package/lib/esm/duet-range-slider.entry.js +5 -5
- package/lib/esm/duet-scrollable_3.entry.js +7 -7
- package/lib/esm/duet-section-layout.entry.js +2 -2
- package/lib/esm/duet-select.entry.js +5 -5
- package/lib/esm/duet-shaped-image.entry.js +2 -2
- package/lib/esm/duet-show-more.entry.js +7 -7
- package/lib/esm/duet-slideout-lang.entry.js +5 -5
- package/lib/esm/duet-slideout-link.entry.js +3 -3
- package/lib/esm/duet-slideout-panel-dropdown.entry.js +3 -3
- package/lib/esm/duet-slideout-panel.entry.js +7 -7
- package/lib/esm/duet-slideout.entry.js +9 -9
- package/lib/esm/duet-step_2.entry.js +5 -5
- package/lib/esm/duet-submenu-bar-dropdown-link.entry.js +4 -4
- package/lib/esm/duet-submenu-bar-dropdown.entry.js +4 -4
- package/lib/esm/duet-submenu-bar-link.entry.js +4 -4
- package/lib/esm/duet-submenu-bar.entry.js +4 -4
- package/lib/esm/duet-textarea.entry.js +5 -5
- package/lib/esm/duet-toggle.entry.js +4 -4
- package/lib/esm/duet-toolbar-dropdown-link.entry.js +4 -4
- package/lib/esm/duet-toolbar-dropdown.entry.js +4 -4
- package/lib/esm/duet-toolbar-link.entry.js +3 -3
- package/lib/esm/duet-toolbar.entry.js +2 -2
- package/lib/esm/duet-tooltip-button_2.entry.js +5 -5
- package/lib/esm/duet-tooltip.entry.js +8 -8
- package/lib/esm/duet-tray.entry.js +6 -6
- package/lib/esm/duet-upload-aria-status.entry.js +2 -2
- package/lib/esm/duet-upload-item.entry.js +6 -6
- package/lib/esm/duet-visually-hidden.entry.js +2 -2
- 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-8fc4feb5.js → focus-utils-d927e096.js} +1 -1
- package/lib/esm/{index-b1b085ac.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-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/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-alert/duet-alert.d.ts +1 -1
- package/lib/types/components/duet-button/duet-button.d.ts +1 -1
- package/lib/types/components/duet-choice/duet-choice.d.ts +1 -1
- package/lib/types/components/duet-footer/duet-footer.d.ts +1 -1
- package/lib/types/components/duet-header/duet-header.d.ts +2 -2
- package/lib/types/components/duet-link/duet-link.d.ts +20 -3
- package/lib/types/components/duet-notification/duet-notification.d.ts +1 -1
- package/lib/types/components/duet-upload/duet-upload.d.ts +1 -1
- package/lib/types/components.d.ts +494 -22
- package/lib/types/stencil-public-runtime.d.ts +41 -5
- package/package.json +6 -6
- package/lib/duet/p-1c8634b1.entry.js +0 -4
- package/lib/duet/p-1e709927.system.entry.js +0 -4
- package/lib/duet/p-34ea0849.system.js +0 -4
- package/lib/duet/p-3538b0af.entry.js +0 -4
- package/lib/duet/p-43660fa9.system.js +0 -4
- package/lib/duet/p-4c04b1c6.entry.js +0 -4
- package/lib/duet/p-51721695.system.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-60b4b7c1.system.js +0 -4
- package/lib/duet/p-6aa821df.system.js +0 -4
- package/lib/duet/p-6d09651a.entry.js +0 -4
- package/lib/duet/p-6d620156.system.entry.js +0 -4
- package/lib/duet/p-733bb740.js +0 -5
- package/lib/duet/p-737167be.system.js +0 -4
- package/lib/duet/p-8304e300.system.entry.js +0 -4
- package/lib/duet/p-962a83ef.entry.js +0 -4
- package/lib/duet/p-9f97eb07.system.js +0 -5
- package/lib/duet/p-a659351d.system.js +0 -4
- package/lib/duet/p-a6f6f073.system.entry.js +0 -4
- package/lib/duet/p-a7915b7d.entry.js +0 -4
- package/lib/duet/p-acb9ba1b.system.entry.js +0 -4
- package/lib/duet/p-b6d51921.system.js +0 -4
- package/lib/duet/p-b760c72b.system.js +0 -4
- package/lib/duet/p-c466bad9.system.js +0 -4
- package/lib/duet/p-d863e150.system.js +0 -4
- package/lib/duet/p-e30d6bee.system.entry.js +0 -4
- package/lib/duet/p-e566ff11.system.js +0 -4
- package/lib/duet/p-eb55ccd2.system.js +0 -4
- package/lib/duet/p-fa5bcc42.system.js +0 -4
- package/lib/duet/p-fc1fee5c.system.js +0 -4
- package/lib/duet/p-ff9ef21e.system.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-8fc4feb5.js +0 -4
- package/lib/esm-es5/index-b1b085ac.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-467626fe.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/{nudge-82021e4f.js → nudge-ee03ce2e.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/{teleport-3166d264.js → teleport-af825e04.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-3ae39071.js → p-040f8831.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-9c1b089a.js → p-24853ebf.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-3ae39071.js → p-040f8831.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-9c1b089a.js → p-24853ebf.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/{nudge-a828c525.js → nudge-560904c3.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/{teleport-467626fe.js → teleport-15747328.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/{nudge-a828c525.js → nudge-560904c3.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
|
@@ -24,7 +24,8 @@ function _interopNamespace(e) {
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
const NAMESPACE = 'duet';
|
|
27
|
-
const
|
|
27
|
+
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 };
|
|
28
|
+
const Env = /* duet */ {"cdnURILocal":"http://0.0.0.0:3334","cdnURIProd":"https://cdn.duetds.com/api","duetIconVersion":"4.0.14"};
|
|
28
29
|
|
|
29
30
|
/**
|
|
30
31
|
* Virtual DOM patching algorithm based on Snabbdom by
|
|
@@ -70,6 +71,13 @@ const HYDRATE_ID = 's-id';
|
|
|
70
71
|
const HYDRATED_STYLE_ID = 'sty-id';
|
|
71
72
|
const HYDRATE_CHILD_ID = 'c-id';
|
|
72
73
|
const HYDRATED_CSS = '{visibility:hidden}.hydrated{visibility:inherit}';
|
|
74
|
+
/**
|
|
75
|
+
* Constant for styles to be globally applied to `slot-fb` elements for pseudo-slot behavior.
|
|
76
|
+
*
|
|
77
|
+
* Two cascading rules must be used instead of a `:not()` selector due to Stencil browser
|
|
78
|
+
* support as of Stencil v4.
|
|
79
|
+
*/
|
|
80
|
+
const SLOT_FB_CSS = 'slot-fb{display:contents}slot-fb[hidden]{display:none}';
|
|
73
81
|
const XLINK_NS = 'http://www.w3.org/1999/xlink';
|
|
74
82
|
/**
|
|
75
83
|
* Default style mode id
|
|
@@ -150,13 +158,13 @@ const h = (nodeName, vnodeData, ...children) => {
|
|
|
150
158
|
};
|
|
151
159
|
walk(children);
|
|
152
160
|
if (vnodeData) {
|
|
153
|
-
// normalize class / classname attributes
|
|
154
161
|
if (vnodeData.key) {
|
|
155
162
|
key = vnodeData.key;
|
|
156
163
|
}
|
|
157
164
|
if (vnodeData.name) {
|
|
158
165
|
slotName = vnodeData.name;
|
|
159
166
|
}
|
|
167
|
+
// normalize class / className attributes
|
|
160
168
|
{
|
|
161
169
|
const classData = vnodeData.className || vnodeData.class;
|
|
162
170
|
if (classData) {
|
|
@@ -402,7 +410,7 @@ const clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes
|
|
|
402
410
|
}
|
|
403
411
|
}
|
|
404
412
|
else if (childVNode.$hostId$ === hostId) {
|
|
405
|
-
// this comment node is
|
|
413
|
+
// this comment node is specifically for this host id
|
|
406
414
|
if (childNodeType === SLOT_NODE_ID) {
|
|
407
415
|
// `${SLOT_NODE_ID}.${hostId}.${nodeId}.${depth}.${index}.${slotName}`;
|
|
408
416
|
childVNode.$tag$ = 'slot';
|
|
@@ -569,9 +577,9 @@ const registerStyle = (scopeId, cssText, allowCS) => {
|
|
|
569
577
|
}
|
|
570
578
|
styles.set(scopeId, style);
|
|
571
579
|
};
|
|
572
|
-
const addStyle = (styleContainerNode, cmpMeta, mode
|
|
580
|
+
const addStyle = (styleContainerNode, cmpMeta, mode) => {
|
|
573
581
|
var _a;
|
|
574
|
-
|
|
582
|
+
const scopeId = getScopeId(cmpMeta);
|
|
575
583
|
const style = styles.get(scopeId);
|
|
576
584
|
// if an element is NOT connected then getRootNode() will return the wrong root node
|
|
577
585
|
// so the fallback is to always use the document for the root node in those cases
|
|
@@ -591,11 +599,8 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
|
|
|
591
599
|
styleElm.innerHTML = style;
|
|
592
600
|
}
|
|
593
601
|
else {
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
styleElm = doc.createElement('style');
|
|
597
|
-
styleElm.innerHTML = style;
|
|
598
|
-
}
|
|
602
|
+
styleElm = doc.createElement('style');
|
|
603
|
+
styleElm.innerHTML = style;
|
|
599
604
|
// Apply CSP nonce to the style tag if it exists
|
|
600
605
|
const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
|
|
601
606
|
if (nonce != null) {
|
|
@@ -603,6 +608,10 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
|
|
|
603
608
|
}
|
|
604
609
|
styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
|
|
605
610
|
}
|
|
611
|
+
// Add styles for `slot-fb` elements if we're using slots outside the Shadow DOM
|
|
612
|
+
if (cmpMeta.$flags$ & 4 /* CMP_FLAGS.hasSlotRelocation */) {
|
|
613
|
+
styleElm.innerHTML += SLOT_FB_CSS;
|
|
614
|
+
}
|
|
606
615
|
if (appliedStyles) {
|
|
607
616
|
appliedStyles.add(scopeId);
|
|
608
617
|
}
|
|
@@ -620,7 +629,6 @@ const attachStyles = (hostRef) => {
|
|
|
620
629
|
const flags = cmpMeta.$flags$;
|
|
621
630
|
const endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);
|
|
622
631
|
const scopeId = addStyle(elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta);
|
|
623
|
-
// TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
|
|
624
632
|
if (flags & 10 /* CMP_FLAGS.needsScopedEncapsulation */) {
|
|
625
633
|
// only required when we're NOT using native shadow dom (slot)
|
|
626
634
|
// or this browser doesn't support native shadow dom
|
|
@@ -647,6 +655,21 @@ const convertScopedToShadow = (css) => css.replace(/\/\*!@([^\/]+)\*\/[^\{]+\{/g
|
|
|
647
655
|
*
|
|
648
656
|
* Modified for Stencil's compiler and vdom
|
|
649
657
|
*/
|
|
658
|
+
/**
|
|
659
|
+
* When running a VDom render set properties present on a VDom node onto the
|
|
660
|
+
* corresponding HTML element.
|
|
661
|
+
*
|
|
662
|
+
* Note that this function has special functionality for the `class`,
|
|
663
|
+
* `style`, `key`, and `ref` attributes, as well as event handlers (like
|
|
664
|
+
* `onClick`, etc). All others are just passed through as-is.
|
|
665
|
+
*
|
|
666
|
+
* @param elm the HTMLElement onto which attributes should be set
|
|
667
|
+
* @param memberName the name of the attribute to set
|
|
668
|
+
* @param oldValue the old value for the attribute
|
|
669
|
+
* @param newValue the new value for the attribute
|
|
670
|
+
* @param isSvg whether we're in an svg context or not
|
|
671
|
+
* @param flags bitflags for Vdom variables
|
|
672
|
+
*/
|
|
650
673
|
const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
|
|
651
674
|
if (oldValue !== newValue) {
|
|
652
675
|
let isProp = isMemberInElement(elm, memberName);
|
|
@@ -723,11 +746,19 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
|
|
|
723
746
|
// except for the first character, we keep the event name case
|
|
724
747
|
memberName = ln[2] + memberName.slice(3);
|
|
725
748
|
}
|
|
726
|
-
if (oldValue) {
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
749
|
+
if (oldValue || newValue) {
|
|
750
|
+
// Need to account for "capture" events.
|
|
751
|
+
// If the event name ends with "Capture", we'll update the name to remove
|
|
752
|
+
// the "Capture" suffix and make sure the event listener is setup to handle the capture event.
|
|
753
|
+
const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
|
|
754
|
+
// Make sure we only replace the last instance of "Capture"
|
|
755
|
+
memberName = memberName.replace(CAPTURE_EVENT_REGEX, '');
|
|
756
|
+
if (oldValue) {
|
|
757
|
+
plt.rel(elm, memberName, oldValue, capture);
|
|
758
|
+
}
|
|
759
|
+
if (newValue) {
|
|
760
|
+
plt.ael(elm, memberName, newValue, capture);
|
|
761
|
+
}
|
|
731
762
|
}
|
|
732
763
|
}
|
|
733
764
|
else {
|
|
@@ -789,6 +820,8 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
|
|
|
789
820
|
};
|
|
790
821
|
const parseClassListRegex = /\s/;
|
|
791
822
|
const parseClassList = (value) => (!value ? [] : value.split(parseClassListRegex));
|
|
823
|
+
const CAPTURE_EVENT_SUFFIX = 'Capture';
|
|
824
|
+
const CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + '$');
|
|
792
825
|
const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
|
|
793
826
|
// if the element passed in is a shadow root, which is a document fragment
|
|
794
827
|
// then we want to be adding attrs/props to the shadow root's "host" element
|
|
@@ -822,6 +855,7 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
|
|
|
822
855
|
* @returns the newly created node
|
|
823
856
|
*/
|
|
824
857
|
const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
858
|
+
var _a;
|
|
825
859
|
// tslint:disable-next-line: prefer-const
|
|
826
860
|
const newVNode = newParentVNode.$children$[childIndex];
|
|
827
861
|
let i = 0;
|
|
@@ -900,6 +934,8 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
|
900
934
|
if (newVNode.$flags$ & (2 /* VNODE_FLAGS.isSlotFallback */ | 1 /* VNODE_FLAGS.isSlotReference */)) {
|
|
901
935
|
// remember the content reference comment
|
|
902
936
|
elm['s-sr'] = true;
|
|
937
|
+
// Persist the name of the slot that this slot was going to be projected into.
|
|
938
|
+
elm['s-fs'] = (_a = newVNode.$attrs$) === null || _a === void 0 ? void 0 : _a.slot;
|
|
903
939
|
// remember the content reference comment
|
|
904
940
|
elm['s-cr'] = contentRef;
|
|
905
941
|
// remember the slot name, or empty string for default slot
|
|
@@ -916,6 +952,7 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
|
916
952
|
return elm;
|
|
917
953
|
};
|
|
918
954
|
const putBackInOriginalLocation = (parentElm, recursive) => {
|
|
955
|
+
var _a;
|
|
919
956
|
plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
|
|
920
957
|
const oldSlotChildNodes = parentElm.childNodes;
|
|
921
958
|
for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
|
|
@@ -928,9 +965,17 @@ const putBackInOriginalLocation = (parentElm, recursive) => {
|
|
|
928
965
|
parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));
|
|
929
966
|
// remove the old original location comment entirely
|
|
930
967
|
// later on the patch function will know what to do
|
|
931
|
-
// and move this to the correct spot
|
|
968
|
+
// and move this to the correct spot if need be
|
|
932
969
|
childNode['s-ol'].remove();
|
|
933
970
|
childNode['s-ol'] = undefined;
|
|
971
|
+
// Reset so we can correctly move the node around again.
|
|
972
|
+
childNode['s-sh'] = undefined;
|
|
973
|
+
// When putting an element node back in its original location,
|
|
974
|
+
// we need to reset the `slot` attribute back to the value it originally had
|
|
975
|
+
// so we can correctly relocate it again in the future
|
|
976
|
+
if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
|
|
977
|
+
childNode.setAttribute('slot', (_a = childNode['s-sn']) !== null && _a !== void 0 ? _a : '');
|
|
978
|
+
}
|
|
934
979
|
checkSlotRelocate = true;
|
|
935
980
|
}
|
|
936
981
|
if (recursive) {
|
|
@@ -980,30 +1025,31 @@ const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) =>
|
|
|
980
1025
|
* @param vnodes a list of virtual DOM nodes to remove
|
|
981
1026
|
* @param startIdx the index at which to start removing nodes (inclusive)
|
|
982
1027
|
* @param endIdx the index at which to stop removing nodes (inclusive)
|
|
983
|
-
* @param vnode a VNode
|
|
984
|
-
* @param elm an element
|
|
985
1028
|
*/
|
|
986
|
-
const removeVnodes = (vnodes, startIdx, endIdx
|
|
987
|
-
for (
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
elm['s-ol']
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1029
|
+
const removeVnodes = (vnodes, startIdx, endIdx) => {
|
|
1030
|
+
for (let index = startIdx; index <= endIdx; ++index) {
|
|
1031
|
+
const vnode = vnodes[index];
|
|
1032
|
+
if (vnode) {
|
|
1033
|
+
const elm = vnode.$elm$;
|
|
1034
|
+
nullifyVNodeRefs(vnode);
|
|
1035
|
+
if (elm) {
|
|
1036
|
+
{
|
|
1037
|
+
// we're removing this element
|
|
1038
|
+
// so it's possible we need to show slot fallback content now
|
|
1039
|
+
checkSlotFallbackVisibility = true;
|
|
1040
|
+
if (elm['s-ol']) {
|
|
1041
|
+
// remove the original location comment
|
|
1042
|
+
elm['s-ol'].remove();
|
|
1043
|
+
}
|
|
1044
|
+
else {
|
|
1045
|
+
// it's possible that child nodes of the node
|
|
1046
|
+
// that's being removed are slot nodes
|
|
1047
|
+
putBackInOriginalLocation(elm, true);
|
|
1048
|
+
}
|
|
1003
1049
|
}
|
|
1050
|
+
// remove the vnode's element from the dom
|
|
1051
|
+
elm.remove();
|
|
1004
1052
|
}
|
|
1005
|
-
// remove the vnode's element from the dom
|
|
1006
|
-
elm.remove();
|
|
1007
1053
|
}
|
|
1008
1054
|
}
|
|
1009
1055
|
};
|
|
@@ -1353,42 +1399,53 @@ const patch = (oldVNode, newVNode) => {
|
|
|
1353
1399
|
elm.data = text;
|
|
1354
1400
|
}
|
|
1355
1401
|
};
|
|
1402
|
+
/**
|
|
1403
|
+
* Adjust the `.hidden` property as-needed on any nodes in a DOM subtree which
|
|
1404
|
+
* are slot fallbacks nodes.
|
|
1405
|
+
*
|
|
1406
|
+
* A slot fallback node should be visible by default. Then, it should be
|
|
1407
|
+
* conditionally hidden if:
|
|
1408
|
+
*
|
|
1409
|
+
* - it has a sibling with a `slot` property set to its slot name or if
|
|
1410
|
+
* - it is a default fallback slot node, in which case we hide if it has any
|
|
1411
|
+
* content
|
|
1412
|
+
*
|
|
1413
|
+
* @param elm the element of interest
|
|
1414
|
+
*/
|
|
1356
1415
|
const updateFallbackSlotVisibility = (elm) => {
|
|
1357
|
-
// tslint:disable-next-line: prefer-const
|
|
1358
1416
|
const childNodes = elm.childNodes;
|
|
1359
|
-
|
|
1360
|
-
let i;
|
|
1361
|
-
let ilen;
|
|
1362
|
-
let j;
|
|
1363
|
-
let slotNameAttr;
|
|
1364
|
-
let nodeType;
|
|
1365
|
-
for (i = 0, ilen = childNodes.length; i < ilen; i++) {
|
|
1366
|
-
childNode = childNodes[i];
|
|
1417
|
+
for (const childNode of childNodes) {
|
|
1367
1418
|
if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
|
|
1368
1419
|
if (childNode['s-sr']) {
|
|
1369
1420
|
// this is a slot fallback node
|
|
1370
1421
|
// get the slot name for this slot reference node
|
|
1371
|
-
|
|
1422
|
+
const slotName = childNode['s-sn'];
|
|
1372
1423
|
// by default always show a fallback slot node
|
|
1373
1424
|
// then hide it if there are other slots in the light dom
|
|
1374
1425
|
childNode.hidden = false;
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1426
|
+
// we need to check all of its sibling nodes in order to see if
|
|
1427
|
+
// `childNode` should be hidden
|
|
1428
|
+
for (const siblingNode of childNodes) {
|
|
1429
|
+
// Don't check the node against itself
|
|
1430
|
+
if (siblingNode !== childNode) {
|
|
1431
|
+
if (siblingNode['s-hn'] !== childNode['s-hn'] || slotName !== '') {
|
|
1432
|
+
// this sibling node is from a different component OR is a named
|
|
1433
|
+
// fallback slot node
|
|
1434
|
+
if (siblingNode.nodeType === 1 /* NODE_TYPE.ElementNode */ &&
|
|
1435
|
+
(slotName === siblingNode.getAttribute('slot') || slotName === siblingNode['s-sn'])) {
|
|
1436
|
+
childNode.hidden = true;
|
|
1437
|
+
break;
|
|
1438
|
+
}
|
|
1382
1439
|
}
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1440
|
+
else {
|
|
1441
|
+
// this is a default fallback slot node
|
|
1442
|
+
// any element or text node (with content)
|
|
1443
|
+
// should hide the default fallback slot node
|
|
1444
|
+
if (siblingNode.nodeType === 1 /* NODE_TYPE.ElementNode */ ||
|
|
1445
|
+
(siblingNode.nodeType === 3 /* NODE_TYPE.TextNode */ && siblingNode.textContent.trim() !== '')) {
|
|
1446
|
+
childNode.hidden = true;
|
|
1447
|
+
break;
|
|
1448
|
+
}
|
|
1392
1449
|
}
|
|
1393
1450
|
}
|
|
1394
1451
|
}
|
|
@@ -1398,45 +1455,67 @@ const updateFallbackSlotVisibility = (elm) => {
|
|
|
1398
1455
|
}
|
|
1399
1456
|
}
|
|
1400
1457
|
};
|
|
1458
|
+
/**
|
|
1459
|
+
* Component-global information about nodes which are either currently being
|
|
1460
|
+
* relocated or will be shortly.
|
|
1461
|
+
*/
|
|
1401
1462
|
const relocateNodes = [];
|
|
1402
|
-
|
|
1463
|
+
/**
|
|
1464
|
+
* Mark the contents of a slot for relocation via adding references to them to
|
|
1465
|
+
* the {@link relocateNodes} data structure. The actual work of relocating them
|
|
1466
|
+
* will then be handled in {@link renderVdom}.
|
|
1467
|
+
*
|
|
1468
|
+
* @param elm a render node whose child nodes need to be relocated
|
|
1469
|
+
*/
|
|
1470
|
+
const markSlotContentForRelocation = (elm) => {
|
|
1403
1471
|
// tslint:disable-next-line: prefer-const
|
|
1404
|
-
let childNode;
|
|
1405
1472
|
let node;
|
|
1406
1473
|
let hostContentNodes;
|
|
1407
|
-
let slotNameAttr;
|
|
1408
|
-
let relocateNodeData;
|
|
1409
1474
|
let j;
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
for (; i < ilen; i++) {
|
|
1414
|
-
childNode = childNodes[i];
|
|
1475
|
+
for (const childNode of elm.childNodes) {
|
|
1476
|
+
// we need to find child nodes which are slot references so we can then try
|
|
1477
|
+
// to match them up with nodes that need to be relocated
|
|
1415
1478
|
if (childNode['s-sr'] && (node = childNode['s-cr']) && node.parentNode) {
|
|
1416
|
-
// first
|
|
1417
|
-
//
|
|
1479
|
+
// first get the content reference comment node ('s-cr'), then we get
|
|
1480
|
+
// its parent, which is where all the host content is now
|
|
1418
1481
|
hostContentNodes = node.parentNode.childNodes;
|
|
1419
|
-
|
|
1482
|
+
const slotName = childNode['s-sn'];
|
|
1483
|
+
// iterate through all the nodes under the location where the host was
|
|
1484
|
+
// originally rendered
|
|
1420
1485
|
for (j = hostContentNodes.length - 1; j >= 0; j--) {
|
|
1421
1486
|
node = hostContentNodes[j];
|
|
1422
|
-
|
|
1423
|
-
|
|
1424
|
-
|
|
1425
|
-
|
|
1426
|
-
|
|
1487
|
+
// check that the node is not a content reference node or a node
|
|
1488
|
+
// reference and then check that the host name does not match that of
|
|
1489
|
+
// childNode.
|
|
1490
|
+
// In addition, check that the slot either has not already been relocated, or
|
|
1491
|
+
// that its current location's host is not childNode's host. This is essentially
|
|
1492
|
+
// a check so that we don't try to relocate (and then hide) a node that is already
|
|
1493
|
+
// where it should be.
|
|
1494
|
+
if (!node['s-cn'] &&
|
|
1495
|
+
!node['s-nr'] &&
|
|
1496
|
+
node['s-hn'] !== childNode['s-hn'] &&
|
|
1497
|
+
(!BUILD.experimentalSlotFixes )) {
|
|
1498
|
+
// if `node` is located in the slot that `childNode` refers to (via the
|
|
1499
|
+
// `'s-sn'` property) then we need to relocate it from it's current spot
|
|
1500
|
+
// (under the host element parent) to the right slot location
|
|
1501
|
+
if (isNodeLocatedInSlot(node, slotName)) {
|
|
1427
1502
|
// it's possible we've already decided to relocate this node
|
|
1428
|
-
relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
|
|
1503
|
+
let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
|
|
1429
1504
|
// made some changes to slots
|
|
1430
1505
|
// let's make sure we also double check
|
|
1431
1506
|
// fallbacks are correctly hidden or shown
|
|
1432
1507
|
checkSlotFallbackVisibility = true;
|
|
1433
|
-
|
|
1508
|
+
// ensure that the slot-name attr is correct
|
|
1509
|
+
node['s-sn'] = node['s-sn'] || slotName;
|
|
1434
1510
|
if (relocateNodeData) {
|
|
1435
|
-
|
|
1436
|
-
//
|
|
1511
|
+
relocateNodeData.$nodeToRelocate$['s-sh'] = childNode['s-hn'];
|
|
1512
|
+
// we marked this node for relocation previously but didn't find
|
|
1513
|
+
// out the slot reference node to which it needs to be relocated
|
|
1514
|
+
// so write it down now!
|
|
1437
1515
|
relocateNodeData.$slotRefNode$ = childNode;
|
|
1438
1516
|
}
|
|
1439
1517
|
else {
|
|
1518
|
+
node['s-sh'] = childNode['s-hn'];
|
|
1440
1519
|
// add to our list of nodes to relocate
|
|
1441
1520
|
relocateNodes.push({
|
|
1442
1521
|
$slotRefNode$: childNode,
|
|
@@ -1455,8 +1534,10 @@ const relocateSlotContent = (elm) => {
|
|
|
1455
1534
|
}
|
|
1456
1535
|
}
|
|
1457
1536
|
else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
|
|
1458
|
-
//
|
|
1459
|
-
//
|
|
1537
|
+
// the node is not found within the slot (`childNode`) that we're
|
|
1538
|
+
// currently looking at, so we stick it into `relocateNodes` to
|
|
1539
|
+
// handle later. If we never find a home for this element then
|
|
1540
|
+
// we'll need to hide it
|
|
1460
1541
|
relocateNodes.push({
|
|
1461
1542
|
$nodeToRelocate$: node,
|
|
1462
1543
|
});
|
|
@@ -1464,30 +1545,48 @@ const relocateSlotContent = (elm) => {
|
|
|
1464
1545
|
}
|
|
1465
1546
|
}
|
|
1466
1547
|
}
|
|
1548
|
+
// if we're dealing with any type of element (capable of itself being a
|
|
1549
|
+
// slot reference or containing one) then we recur
|
|
1467
1550
|
if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
|
|
1468
|
-
|
|
1551
|
+
markSlotContentForRelocation(childNode);
|
|
1469
1552
|
}
|
|
1470
1553
|
}
|
|
1471
1554
|
};
|
|
1472
|
-
|
|
1555
|
+
/**
|
|
1556
|
+
* Check whether a node is located in a given named slot.
|
|
1557
|
+
*
|
|
1558
|
+
* @param nodeToRelocate the node of interest
|
|
1559
|
+
* @param slotName the slot name to check
|
|
1560
|
+
* @returns whether the node is located in the slot or not
|
|
1561
|
+
*/
|
|
1562
|
+
const isNodeLocatedInSlot = (nodeToRelocate, slotName) => {
|
|
1473
1563
|
if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
|
|
1474
|
-
if (nodeToRelocate.getAttribute('slot') === null &&
|
|
1564
|
+
if (nodeToRelocate.getAttribute('slot') === null && slotName === '') {
|
|
1565
|
+
// if the node doesn't have a slot attribute, and the slot we're checking
|
|
1566
|
+
// is not a named slot, then we assume the node should be within the slot
|
|
1475
1567
|
return true;
|
|
1476
1568
|
}
|
|
1477
|
-
if (nodeToRelocate.getAttribute('slot') ===
|
|
1569
|
+
if (nodeToRelocate.getAttribute('slot') === slotName) {
|
|
1478
1570
|
return true;
|
|
1479
1571
|
}
|
|
1480
1572
|
return false;
|
|
1481
1573
|
}
|
|
1482
|
-
if (nodeToRelocate['s-sn'] ===
|
|
1574
|
+
if (nodeToRelocate['s-sn'] === slotName) {
|
|
1483
1575
|
return true;
|
|
1484
1576
|
}
|
|
1485
|
-
return
|
|
1577
|
+
return slotName === '';
|
|
1486
1578
|
};
|
|
1487
|
-
|
|
1579
|
+
/**
|
|
1580
|
+
* 'Nullify' any VDom `ref` callbacks on a VDom node or its children by calling
|
|
1581
|
+
* them with `null`. This signals that the DOM element corresponding to the VDom
|
|
1582
|
+
* node has been removed from the DOM.
|
|
1583
|
+
*
|
|
1584
|
+
* @param vNode a virtual DOM node
|
|
1585
|
+
*/
|
|
1586
|
+
const nullifyVNodeRefs = (vNode) => {
|
|
1488
1587
|
{
|
|
1489
1588
|
vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
|
|
1490
|
-
vNode.$children$ && vNode.$children$.map(
|
|
1589
|
+
vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
|
|
1491
1590
|
}
|
|
1492
1591
|
};
|
|
1493
1592
|
/**
|
|
@@ -1501,17 +1600,45 @@ const callNodeRefs = (vNode) => {
|
|
|
1501
1600
|
* @param hostRef data needed to root and render the virtual DOM tree, such as
|
|
1502
1601
|
* the DOM node into which it should be rendered.
|
|
1503
1602
|
* @param renderFnResults the virtual DOM nodes to be rendered
|
|
1603
|
+
* @param isInitialLoad whether or not this is the first call after page load
|
|
1504
1604
|
*/
|
|
1505
|
-
const renderVdom = (hostRef, renderFnResults) => {
|
|
1605
|
+
const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
|
|
1606
|
+
var _a, _b;
|
|
1506
1607
|
const hostElm = hostRef.$hostElement$;
|
|
1507
1608
|
const cmpMeta = hostRef.$cmpMeta$;
|
|
1508
1609
|
const oldVNode = hostRef.$vnode$ || newVNode(null, null);
|
|
1610
|
+
// if `renderFnResults` is a Host node then we can use it directly. If not,
|
|
1611
|
+
// we need to call `h` again to wrap the children of our component in a
|
|
1612
|
+
// 'dummy' Host node (well, an empty vnode) since `renderVdom` assumes
|
|
1613
|
+
// implicitly that the top-level vdom node is 1) an only child and 2)
|
|
1614
|
+
// contains attrs that need to be set on the host element.
|
|
1509
1615
|
const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
|
|
1510
1616
|
hostTagName = hostElm.tagName;
|
|
1511
1617
|
if (cmpMeta.$attrsToReflect$) {
|
|
1512
1618
|
rootVnode.$attrs$ = rootVnode.$attrs$ || {};
|
|
1513
1619
|
cmpMeta.$attrsToReflect$.map(([propName, attribute]) => (rootVnode.$attrs$[attribute] = hostElm[propName]));
|
|
1514
1620
|
}
|
|
1621
|
+
// On the first render and *only* on the first render we want to check for
|
|
1622
|
+
// any attributes set on the host element which are also set on the vdom
|
|
1623
|
+
// node. If we find them, we override the value on the VDom node attrs with
|
|
1624
|
+
// the value from the host element, which allows developers building apps
|
|
1625
|
+
// with Stencil components to override e.g. the `role` attribute on a
|
|
1626
|
+
// component even if it's already set on the `Host`.
|
|
1627
|
+
if (isInitialLoad && rootVnode.$attrs$) {
|
|
1628
|
+
for (const key of Object.keys(rootVnode.$attrs$)) {
|
|
1629
|
+
// We have a special implementation in `setAccessor` for `style` and
|
|
1630
|
+
// `class` which reconciles values coming from the VDom with values
|
|
1631
|
+
// already present on the DOM element, so we don't want to override those
|
|
1632
|
+
// attributes on the VDom tree with values from the host element if they
|
|
1633
|
+
// are present.
|
|
1634
|
+
//
|
|
1635
|
+
// Likewise, `ref` and `key` are special internal values for the Stencil
|
|
1636
|
+
// runtime and we don't want to override those either.
|
|
1637
|
+
if (hostElm.hasAttribute(key) && !['key', 'ref', 'style', 'class'].includes(key)) {
|
|
1638
|
+
rootVnode.$attrs$[key] = hostElm[key];
|
|
1639
|
+
}
|
|
1640
|
+
}
|
|
1641
|
+
}
|
|
1515
1642
|
rootVnode.$tag$ = null;
|
|
1516
1643
|
rootVnode.$flags$ |= 4 /* VNODE_FLAGS.isHost */;
|
|
1517
1644
|
hostRef.$vnode$ = rootVnode;
|
|
@@ -1532,43 +1659,48 @@ const renderVdom = (hostRef, renderFnResults) => {
|
|
|
1532
1659
|
// the disconnectCallback from working
|
|
1533
1660
|
plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
|
|
1534
1661
|
if (checkSlotRelocate) {
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
let orgLocationNode;
|
|
1539
|
-
let parentNodeRef;
|
|
1540
|
-
let insertBeforeNode;
|
|
1541
|
-
let refNode;
|
|
1542
|
-
let i = 0;
|
|
1543
|
-
for (; i < relocateNodes.length; i++) {
|
|
1544
|
-
relocateData = relocateNodes[i];
|
|
1545
|
-
nodeToRelocate = relocateData.$nodeToRelocate$;
|
|
1662
|
+
markSlotContentForRelocation(rootVnode.$elm$);
|
|
1663
|
+
for (const relocateData of relocateNodes) {
|
|
1664
|
+
const nodeToRelocate = relocateData.$nodeToRelocate$;
|
|
1546
1665
|
if (!nodeToRelocate['s-ol']) {
|
|
1547
1666
|
// add a reference node marking this node's original location
|
|
1548
1667
|
// keep a reference to this node for later lookups
|
|
1549
|
-
orgLocationNode =
|
|
1550
|
-
doc.createTextNode('');
|
|
1668
|
+
const orgLocationNode = doc.createTextNode('');
|
|
1551
1669
|
orgLocationNode['s-nr'] = nodeToRelocate;
|
|
1552
1670
|
nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);
|
|
1553
1671
|
}
|
|
1554
1672
|
}
|
|
1555
|
-
for (
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
if (
|
|
1559
|
-
|
|
1560
|
-
//
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1673
|
+
for (const relocateData of relocateNodes) {
|
|
1674
|
+
const nodeToRelocate = relocateData.$nodeToRelocate$;
|
|
1675
|
+
const slotRefNode = relocateData.$slotRefNode$;
|
|
1676
|
+
if (slotRefNode) {
|
|
1677
|
+
const parentNodeRef = slotRefNode.parentNode;
|
|
1678
|
+
// When determining where to insert content, the most simple case would be
|
|
1679
|
+
// to relocate the node immediately following the slot reference node. We do this
|
|
1680
|
+
// by getting a reference to the node immediately following the slot reference node
|
|
1681
|
+
// since we will use `insertBefore` to manipulate the DOM.
|
|
1682
|
+
//
|
|
1683
|
+
// If there is no node immediately following the slot reference node, then we will just
|
|
1684
|
+
// end up appending the node as the last child of the parent.
|
|
1685
|
+
let insertBeforeNode = slotRefNode.nextSibling;
|
|
1686
|
+
// If the node we're currently planning on inserting the new node before is an element,
|
|
1687
|
+
// we need to do some additional checks to make sure we're inserting the node in the correct order.
|
|
1688
|
+
// The use case here would be that we have multiple nodes being relocated to the same slot. So, we want
|
|
1689
|
+
// to make sure they get inserted into their new how in the same order they were declared in their original location.
|
|
1690
|
+
//
|
|
1691
|
+
// TODO(STENCIL-914): Remove `experimentalSlotFixes` check
|
|
1692
|
+
{
|
|
1693
|
+
let orgLocationNode = (_a = nodeToRelocate['s-ol']) === null || _a === void 0 ? void 0 : _a.previousSibling;
|
|
1694
|
+
while (orgLocationNode) {
|
|
1695
|
+
let refNode = (_b = orgLocationNode['s-nr']) !== null && _b !== void 0 ? _b : null;
|
|
1696
|
+
if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
|
|
1697
|
+
refNode = refNode.nextSibling;
|
|
1698
|
+
if (!refNode || !refNode['s-nr']) {
|
|
1699
|
+
insertBeforeNode = refNode;
|
|
1700
|
+
break;
|
|
1701
|
+
}
|
|
1571
1702
|
}
|
|
1703
|
+
orgLocationNode = orgLocationNode.previousSibling;
|
|
1572
1704
|
}
|
|
1573
1705
|
}
|
|
1574
1706
|
if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) ||
|
|
@@ -1578,10 +1710,13 @@ const renderVdom = (hostRef, renderFnResults) => {
|
|
|
1578
1710
|
// has a different next sibling or parent relocated
|
|
1579
1711
|
if (nodeToRelocate !== insertBeforeNode) {
|
|
1580
1712
|
if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) {
|
|
1581
|
-
// probably a component in the index.html that doesn't have
|
|
1713
|
+
// probably a component in the index.html that doesn't have its hostname set
|
|
1582
1714
|
nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName;
|
|
1583
1715
|
}
|
|
1584
|
-
//
|
|
1716
|
+
// Add it back to the dom but in its new home
|
|
1717
|
+
// If we get to this point and `insertBeforeNode` is `null`, that means
|
|
1718
|
+
// we're just going to append the node as the last child of the parent. Passing
|
|
1719
|
+
// `null` as the second arg here will trigger that behavior.
|
|
1585
1720
|
parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);
|
|
1586
1721
|
}
|
|
1587
1722
|
}
|
|
@@ -1624,30 +1759,96 @@ const scheduleUpdate = (hostRef, isInitialLoad) => {
|
|
|
1624
1759
|
const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
|
|
1625
1760
|
return writeTask(dispatch) ;
|
|
1626
1761
|
};
|
|
1762
|
+
/**
|
|
1763
|
+
* Dispatch initial-render and update lifecycle hooks, enqueuing calls to
|
|
1764
|
+
* component lifecycle methods like `componentWillLoad` as well as
|
|
1765
|
+
* {@link updateComponent}, which will kick off the virtual DOM re-render.
|
|
1766
|
+
*
|
|
1767
|
+
* @param hostRef a reference to a host DOM node
|
|
1768
|
+
* @param isInitialLoad whether we're on the initial load or not
|
|
1769
|
+
* @returns an empty Promise which is used to enqueue a series of operations for
|
|
1770
|
+
* the component
|
|
1771
|
+
*/
|
|
1627
1772
|
const dispatchHooks = (hostRef, isInitialLoad) => {
|
|
1628
1773
|
const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
|
|
1629
1774
|
const instance = hostRef.$lazyInstance$ ;
|
|
1630
|
-
|
|
1775
|
+
// We're going to use this variable together with `enqueue` to implement a
|
|
1776
|
+
// little promise-based queue. We start out with it `undefined`. When we add
|
|
1777
|
+
// the first function to the queue we'll set this variable to be that
|
|
1778
|
+
// function's return value. When we attempt to add subsequent values to the
|
|
1779
|
+
// queue we'll check that value and, if it was a `Promise`, we'll then chain
|
|
1780
|
+
// the new function off of that `Promise` using `.then()`. This will give our
|
|
1781
|
+
// queue two nice properties:
|
|
1782
|
+
//
|
|
1783
|
+
// 1. If all functions added to the queue are synchronous they'll be called
|
|
1784
|
+
// synchronously right away.
|
|
1785
|
+
// 2. If all functions added to the queue are asynchronous they'll all be
|
|
1786
|
+
// called in order after `dispatchHooks` exits.
|
|
1787
|
+
let maybePromise;
|
|
1631
1788
|
if (isInitialLoad) {
|
|
1632
1789
|
{
|
|
1633
1790
|
hostRef.$flags$ |= 256 /* HOST_FLAGS.isListenReady */;
|
|
1634
1791
|
if (hostRef.$queuedListeners$) {
|
|
1635
1792
|
hostRef.$queuedListeners$.map(([methodName, event]) => safeCall(instance, methodName, event));
|
|
1636
|
-
hostRef.$queuedListeners$ =
|
|
1793
|
+
hostRef.$queuedListeners$ = undefined;
|
|
1637
1794
|
}
|
|
1638
1795
|
}
|
|
1639
1796
|
{
|
|
1640
|
-
|
|
1797
|
+
// If `componentWillLoad` returns a `Promise` then we want to wait on
|
|
1798
|
+
// whatever's going on in that `Promise` before we launch into
|
|
1799
|
+
// rendering the component, doing other lifecycle stuff, etc. So
|
|
1800
|
+
// in that case we assign the returned promise to the variable we
|
|
1801
|
+
// declared above to hold a possible 'queueing' Promise
|
|
1802
|
+
maybePromise = safeCall(instance, 'componentWillLoad');
|
|
1641
1803
|
}
|
|
1642
1804
|
}
|
|
1643
1805
|
{
|
|
1644
|
-
|
|
1806
|
+
maybePromise = enqueue(maybePromise, () => safeCall(instance, 'componentWillRender'));
|
|
1645
1807
|
}
|
|
1646
1808
|
endSchedule();
|
|
1647
|
-
return
|
|
1809
|
+
return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
|
|
1648
1810
|
};
|
|
1811
|
+
/**
|
|
1812
|
+
* This function uses a Promise to implement a simple first-in, first-out queue
|
|
1813
|
+
* of functions to be called.
|
|
1814
|
+
*
|
|
1815
|
+
* The queue is ordered on the basis of the first argument. If it's
|
|
1816
|
+
* `undefined`, then nothing is on the queue yet, so the provided function can
|
|
1817
|
+
* be called synchronously (although note that this function may return a
|
|
1818
|
+
* `Promise`). The idea is that then the return value of that enqueueing
|
|
1819
|
+
* operation is kept around, so that if it was a `Promise` then subsequent
|
|
1820
|
+
* functions can be enqueued by calling this function again with that `Promise`
|
|
1821
|
+
* as the first argument.
|
|
1822
|
+
*
|
|
1823
|
+
* @param maybePromise either a `Promise` which should resolve before the next function is called or an 'empty' sentinel
|
|
1824
|
+
* @param fn a function to enqueue
|
|
1825
|
+
* @returns either a `Promise` or the return value of the provided function
|
|
1826
|
+
*/
|
|
1827
|
+
const enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn) : fn();
|
|
1828
|
+
/**
|
|
1829
|
+
* Check that a value is a `Promise`. To check, we first see if the value is an
|
|
1830
|
+
* instance of the `Promise` global. In a few circumstances, in particular if
|
|
1831
|
+
* the global has been overwritten, this is could be misleading, so we also do
|
|
1832
|
+
* a little 'duck typing' check to see if the `.then` property of the value is
|
|
1833
|
+
* defined and a function.
|
|
1834
|
+
*
|
|
1835
|
+
* @param maybePromise it might be a promise!
|
|
1836
|
+
* @returns whether it is or not
|
|
1837
|
+
*/
|
|
1838
|
+
const isPromisey = (maybePromise) => maybePromise instanceof Promise ||
|
|
1839
|
+
(maybePromise && maybePromise.then && typeof maybePromise.then === 'function');
|
|
1840
|
+
/**
|
|
1841
|
+
* Update a component given reference to its host elements and so on.
|
|
1842
|
+
*
|
|
1843
|
+
* @param hostRef an object containing references to the element's host node,
|
|
1844
|
+
* VDom nodes, and other metadata
|
|
1845
|
+
* @param instance a reference to the underlying host element where it will be
|
|
1846
|
+
* rendered
|
|
1847
|
+
* @param isInitialLoad whether or not this function is being called as part of
|
|
1848
|
+
* the first render cycle
|
|
1849
|
+
*/
|
|
1649
1850
|
const updateComponent = async (hostRef, instance, isInitialLoad) => {
|
|
1650
|
-
|
|
1851
|
+
var _a;
|
|
1651
1852
|
const elm = hostRef.$hostElement$;
|
|
1652
1853
|
const endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);
|
|
1653
1854
|
const rc = elm['s-rc'];
|
|
@@ -1657,7 +1858,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
|
|
|
1657
1858
|
}
|
|
1658
1859
|
const endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);
|
|
1659
1860
|
{
|
|
1660
|
-
callRender(hostRef, instance);
|
|
1861
|
+
callRender(hostRef, instance, elm, isInitialLoad);
|
|
1661
1862
|
}
|
|
1662
1863
|
if (rc) {
|
|
1663
1864
|
// ok, so turns out there are some child host elements
|
|
@@ -1669,7 +1870,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
|
|
|
1669
1870
|
endRender();
|
|
1670
1871
|
endUpdate();
|
|
1671
1872
|
{
|
|
1672
|
-
const childrenPromises = elm['s-p'];
|
|
1873
|
+
const childrenPromises = (_a = elm['s-p']) !== null && _a !== void 0 ? _a : [];
|
|
1673
1874
|
const postUpdate = () => postUpdateComponent(hostRef);
|
|
1674
1875
|
if (childrenPromises.length === 0) {
|
|
1675
1876
|
postUpdate();
|
|
@@ -1681,8 +1882,24 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
|
|
|
1681
1882
|
}
|
|
1682
1883
|
}
|
|
1683
1884
|
};
|
|
1684
|
-
|
|
1885
|
+
/**
|
|
1886
|
+
* Handle making the call to the VDom renderer with the proper context given
|
|
1887
|
+
* various build variables
|
|
1888
|
+
*
|
|
1889
|
+
* @param hostRef an object containing references to the element's host node,
|
|
1890
|
+
* VDom nodes, and other metadata
|
|
1891
|
+
* @param instance a reference to the underlying host element where it will be
|
|
1892
|
+
* rendered
|
|
1893
|
+
* @param elm the Host element for the component
|
|
1894
|
+
* @param isInitialLoad whether or not this function is being called as part of
|
|
1895
|
+
* @returns an empty promise
|
|
1896
|
+
*/
|
|
1897
|
+
const callRender = (hostRef, instance, elm, isInitialLoad) => {
|
|
1685
1898
|
try {
|
|
1899
|
+
/**
|
|
1900
|
+
* minification optimization: `allRenderFn` is `true` if all components have a `render`
|
|
1901
|
+
* method, so we can call the method immediately. If not, check before calling it.
|
|
1902
|
+
*/
|
|
1686
1903
|
instance = instance.render() ;
|
|
1687
1904
|
{
|
|
1688
1905
|
hostRef.$flags$ &= ~16 /* HOST_FLAGS.isQueuedForUpdate */;
|
|
@@ -1696,7 +1913,7 @@ const callRender = (hostRef, instance, elm) => {
|
|
|
1696
1913
|
// or we need to update the css class/attrs on the host element
|
|
1697
1914
|
// DOM WRITE!
|
|
1698
1915
|
{
|
|
1699
|
-
renderVdom(hostRef, instance);
|
|
1916
|
+
renderVdom(hostRef, instance, isInitialLoad);
|
|
1700
1917
|
}
|
|
1701
1918
|
}
|
|
1702
1919
|
}
|
|
@@ -1765,6 +1982,16 @@ const appDidLoad = (who) => {
|
|
|
1765
1982
|
}
|
|
1766
1983
|
nextTick(() => emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }));
|
|
1767
1984
|
};
|
|
1985
|
+
/**
|
|
1986
|
+
* Allows to safely call a method, e.g. `componentDidLoad`, on an instance,
|
|
1987
|
+
* e.g. custom element node. If a build figures out that e.g. no component
|
|
1988
|
+
* has a `componentDidLoad` method, the instance method gets removed from the
|
|
1989
|
+
* output bundle and this function returns `undefined`.
|
|
1990
|
+
* @param instance any object that may or may not contain methods
|
|
1991
|
+
* @param method method name
|
|
1992
|
+
* @param arg single arbitrary argument
|
|
1993
|
+
* @returns result of method call if it exists, otherwise `undefined`
|
|
1994
|
+
*/
|
|
1768
1995
|
const safeCall = (instance, method, arg) => {
|
|
1769
1996
|
if (instance && instance[method]) {
|
|
1770
1997
|
try {
|
|
@@ -1776,9 +2003,6 @@ const safeCall = (instance, method, arg) => {
|
|
|
1776
2003
|
}
|
|
1777
2004
|
return undefined;
|
|
1778
2005
|
};
|
|
1779
|
-
const then = (promise, thenFn) => {
|
|
1780
|
-
return promise && promise.then ? promise.then(thenFn) : thenFn();
|
|
1781
|
-
};
|
|
1782
2006
|
const addHydratedFlag = (elm) => elm.classList.add('hydrated')
|
|
1783
2007
|
;
|
|
1784
2008
|
const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
|
|
@@ -1835,6 +2059,7 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
|
|
|
1835
2059
|
* @returns a reference to the same constructor passed in (but now mutated)
|
|
1836
2060
|
*/
|
|
1837
2061
|
const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
2062
|
+
var _a;
|
|
1838
2063
|
if (cmpMeta.$members$) {
|
|
1839
2064
|
if (Cstr.watchers) {
|
|
1840
2065
|
cmpMeta.$watchers$ = Cstr.watchers;
|
|
@@ -1872,7 +2097,7 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
|
1872
2097
|
});
|
|
1873
2098
|
if ((flags & 1 /* PROXY_FLAGS.isElementConstructor */)) {
|
|
1874
2099
|
const attrNameToPropName = new Map();
|
|
1875
|
-
prototype.attributeChangedCallback = function (attrName,
|
|
2100
|
+
prototype.attributeChangedCallback = function (attrName, oldValue, newValue) {
|
|
1876
2101
|
plt.jmp(() => {
|
|
1877
2102
|
const propName = attrNameToPropName.get(attrName);
|
|
1878
2103
|
// In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback
|
|
@@ -1895,12 +2120,12 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
|
1895
2120
|
// customElements.define('my-component', MyComponent);
|
|
1896
2121
|
// </script>
|
|
1897
2122
|
// ```
|
|
1898
|
-
// In this case if we do not
|
|
2123
|
+
// In this case if we do not un-shadow here and use the value of the shadowing property, attributeChangedCallback
|
|
1899
2124
|
// will be called with `newValue = "some-value"` and will set the shadowed property (this.someAttribute = "another-value")
|
|
1900
2125
|
// to the value that was set inline i.e. "some-value" from above example. When
|
|
1901
|
-
// the connectedCallback attempts to
|
|
2126
|
+
// the connectedCallback attempts to un-shadow it will use "some-value" as the initial value rather than "another-value"
|
|
1902
2127
|
//
|
|
1903
|
-
// The case where the attribute was NOT set inline but was not set programmatically shall be handled/
|
|
2128
|
+
// The case where the attribute was NOT set inline but was not set programmatically shall be handled/un-shadowed
|
|
1904
2129
|
// by connectedCallback as this attributeChangedCallback will not fire.
|
|
1905
2130
|
//
|
|
1906
2131
|
// https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
|
|
@@ -1920,31 +2145,70 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
|
1920
2145
|
// `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.
|
|
1921
2146
|
return;
|
|
1922
2147
|
}
|
|
2148
|
+
else if (propName == null) {
|
|
2149
|
+
// At this point we should know this is not a "member", so we can treat it like watching an attribute
|
|
2150
|
+
// on a vanilla web component
|
|
2151
|
+
const hostRef = getHostRef(this);
|
|
2152
|
+
const flags = hostRef === null || hostRef === void 0 ? void 0 : hostRef.$flags$;
|
|
2153
|
+
// We only want to trigger the callback(s) if:
|
|
2154
|
+
// 1. The instance is ready
|
|
2155
|
+
// 2. The watchers are ready
|
|
2156
|
+
// 3. The value has changed
|
|
2157
|
+
if (!(flags & 8 /* HOST_FLAGS.isConstructingInstance */) &&
|
|
2158
|
+
flags & 128 /* HOST_FLAGS.isWatchReady */ &&
|
|
2159
|
+
newValue !== oldValue) {
|
|
2160
|
+
const instance = hostRef.$lazyInstance$ ;
|
|
2161
|
+
const entry = cmpMeta.$watchers$[attrName];
|
|
2162
|
+
entry === null || entry === void 0 ? void 0 : entry.forEach((callbackName) => {
|
|
2163
|
+
if (instance[callbackName] != null) {
|
|
2164
|
+
instance[callbackName].call(instance, newValue, oldValue, attrName);
|
|
2165
|
+
}
|
|
2166
|
+
});
|
|
2167
|
+
}
|
|
2168
|
+
return;
|
|
2169
|
+
}
|
|
1923
2170
|
this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;
|
|
1924
2171
|
});
|
|
1925
2172
|
};
|
|
1926
|
-
//
|
|
1927
|
-
//
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
2173
|
+
// Create an array of attributes to observe
|
|
2174
|
+
// This list in comprised of all strings used within a `@Watch()` decorator
|
|
2175
|
+
// on a component as well as any Stencil-specific "members" (`@Prop()`s and `@State()`s).
|
|
2176
|
+
// As such, there is no way to guarantee type-safety here that a user hasn't entered
|
|
2177
|
+
// an invalid attribute.
|
|
2178
|
+
Cstr.observedAttributes = Array.from(new Set([
|
|
2179
|
+
...Object.keys((_a = cmpMeta.$watchers$) !== null && _a !== void 0 ? _a : {}),
|
|
2180
|
+
...members
|
|
2181
|
+
.filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */)
|
|
2182
|
+
.map(([propName, m]) => {
|
|
2183
|
+
const attrName = m[1] || propName;
|
|
2184
|
+
attrNameToPropName.set(attrName, propName);
|
|
2185
|
+
if (m[0] & 512 /* MEMBER_FLAGS.ReflectAttr */) {
|
|
2186
|
+
cmpMeta.$attrsToReflect$.push([propName, attrName]);
|
|
2187
|
+
}
|
|
2188
|
+
return attrName;
|
|
2189
|
+
}),
|
|
2190
|
+
]));
|
|
1938
2191
|
}
|
|
1939
2192
|
}
|
|
1940
2193
|
return Cstr;
|
|
1941
2194
|
};
|
|
1942
|
-
|
|
2195
|
+
/**
|
|
2196
|
+
* Initialize a Stencil component given a reference to its host element, its
|
|
2197
|
+
* runtime bookkeeping data structure, runtime metadata about the component,
|
|
2198
|
+
* and (optionally) an HMR version ID.
|
|
2199
|
+
*
|
|
2200
|
+
* @param elm a host element
|
|
2201
|
+
* @param hostRef the element's runtime bookkeeping object
|
|
2202
|
+
* @param cmpMeta runtime metadata for the Stencil component
|
|
2203
|
+
* @param hmrVersionId an (optional) HMR version ID
|
|
2204
|
+
*/
|
|
2205
|
+
const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
|
|
2206
|
+
let Cstr;
|
|
1943
2207
|
// initializeComponent
|
|
1944
2208
|
if ((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0) {
|
|
2209
|
+
// Let the runtime know that the component has been initialized
|
|
2210
|
+
hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
|
|
1945
2211
|
{
|
|
1946
|
-
// we haven't initialized this element yet
|
|
1947
|
-
hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
|
|
1948
2212
|
// lazy loaded components
|
|
1949
2213
|
// request the component's implementation to be
|
|
1950
2214
|
// wired up with the host element
|
|
@@ -2047,7 +2311,7 @@ const connectedCallback = (elm) => {
|
|
|
2047
2311
|
// if the slot polyfill is required we'll need to put some nodes
|
|
2048
2312
|
// in here to act as original content anchors as we move nodes around
|
|
2049
2313
|
// host element has been connected to the DOM
|
|
2050
|
-
if ((// TODO(STENCIL-
|
|
2314
|
+
if ((// TODO(STENCIL-854): Remove code related to legacy shadowDomShim field
|
|
2051
2315
|
cmpMeta.$flags$ & (4 /* CMP_FLAGS.hasSlotRelocation */ | 8 /* CMP_FLAGS.needsShadowDomShim */))) {
|
|
2052
2316
|
setContentReference(elm);
|
|
2053
2317
|
}
|
|
@@ -2095,7 +2359,12 @@ const connectedCallback = (elm) => {
|
|
|
2095
2359
|
// since they would have been removed when disconnected
|
|
2096
2360
|
addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
|
|
2097
2361
|
// fire off connectedCallback() on component instance
|
|
2098
|
-
|
|
2362
|
+
if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$lazyInstance$) {
|
|
2363
|
+
fireConnectedCallback(hostRef.$lazyInstance$);
|
|
2364
|
+
}
|
|
2365
|
+
else if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$onReadyPromise$) {
|
|
2366
|
+
hostRef.$onReadyPromise$.then(() => fireConnectedCallback(hostRef.$lazyInstance$));
|
|
2367
|
+
}
|
|
2099
2368
|
}
|
|
2100
2369
|
endConnected();
|
|
2101
2370
|
}
|
|
@@ -2111,18 +2380,25 @@ const setContentReference = (elm) => {
|
|
|
2111
2380
|
contentRefElm['s-cn'] = true;
|
|
2112
2381
|
elm.insertBefore(contentRefElm, elm.firstChild);
|
|
2113
2382
|
};
|
|
2114
|
-
const
|
|
2383
|
+
const disconnectInstance = (instance) => {
|
|
2384
|
+
{
|
|
2385
|
+
safeCall(instance, 'disconnectedCallback');
|
|
2386
|
+
}
|
|
2387
|
+
};
|
|
2388
|
+
const disconnectedCallback = async (elm) => {
|
|
2115
2389
|
if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
|
|
2116
2390
|
const hostRef = getHostRef(elm);
|
|
2117
|
-
const instance = hostRef.$lazyInstance$ ;
|
|
2118
2391
|
{
|
|
2119
2392
|
if (hostRef.$rmListeners$) {
|
|
2120
2393
|
hostRef.$rmListeners$.map((rmListener) => rmListener());
|
|
2121
2394
|
hostRef.$rmListeners$ = undefined;
|
|
2122
2395
|
}
|
|
2123
2396
|
}
|
|
2124
|
-
{
|
|
2125
|
-
|
|
2397
|
+
if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$lazyInstance$) {
|
|
2398
|
+
disconnectInstance(hostRef.$lazyInstance$);
|
|
2399
|
+
}
|
|
2400
|
+
else if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$onReadyPromise$) {
|
|
2401
|
+
hostRef.$onReadyPromise$.then(() => disconnectInstance(hostRef.$lazyInstance$));
|
|
2126
2402
|
}
|
|
2127
2403
|
}
|
|
2128
2404
|
};
|
|
@@ -2132,7 +2408,7 @@ const patchChildSlotNodes = (elm, cmpMeta) => {
|
|
|
2132
2408
|
return this[n];
|
|
2133
2409
|
}
|
|
2134
2410
|
}
|
|
2135
|
-
// TODO(STENCIL-
|
|
2411
|
+
// TODO(STENCIL-854): Remove code related to legacy shadowDomShim field
|
|
2136
2412
|
if (cmpMeta.$flags$ & 8 /* CMP_FLAGS.needsShadowDomShim */) {
|
|
2137
2413
|
const childNodesFn = elm.__lookupGetter__('childNodes');
|
|
2138
2414
|
Object.defineProperty(elm, 'children', {
|
|
@@ -2172,7 +2448,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
2172
2448
|
const customElements = win.customElements;
|
|
2173
2449
|
const head = doc.head;
|
|
2174
2450
|
const metaCharset = /*@__PURE__*/ head.querySelector('meta[charset]');
|
|
2175
|
-
const
|
|
2451
|
+
const dataStyles = /*@__PURE__*/ doc.createElement('style');
|
|
2176
2452
|
const deferredConnectedCallbacks = [];
|
|
2177
2453
|
const styles = /*@__PURE__*/ doc.querySelectorAll(`[${HYDRATED_STYLE_ID}]`);
|
|
2178
2454
|
let appLoadFallback;
|
|
@@ -2190,14 +2466,21 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
2190
2466
|
registerStyle(styles[i].getAttribute(HYDRATED_STYLE_ID), convertScopedToShadow(styles[i].innerHTML), true);
|
|
2191
2467
|
}
|
|
2192
2468
|
}
|
|
2469
|
+
let hasSlotRelocation = false;
|
|
2193
2470
|
lazyBundles.map((lazyBundle) => {
|
|
2194
2471
|
lazyBundle[1].map((compactMeta) => {
|
|
2472
|
+
var _a;
|
|
2195
2473
|
const cmpMeta = {
|
|
2196
2474
|
$flags$: compactMeta[0],
|
|
2197
2475
|
$tagName$: compactMeta[1],
|
|
2198
2476
|
$members$: compactMeta[2],
|
|
2199
2477
|
$listeners$: compactMeta[3],
|
|
2200
2478
|
};
|
|
2479
|
+
// Check if we are using slots outside the shadow DOM in this component.
|
|
2480
|
+
// We'll use this information later to add styles for `slot-fb` elements
|
|
2481
|
+
if (cmpMeta.$flags$ & 4 /* CMP_FLAGS.hasSlotRelocation */) {
|
|
2482
|
+
hasSlotRelocation = true;
|
|
2483
|
+
}
|
|
2201
2484
|
{
|
|
2202
2485
|
cmpMeta.$members$ = compactMeta[2];
|
|
2203
2486
|
}
|
|
@@ -2208,7 +2491,7 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
2208
2491
|
cmpMeta.$attrsToReflect$ = [];
|
|
2209
2492
|
}
|
|
2210
2493
|
{
|
|
2211
|
-
cmpMeta.$watchers$ = {};
|
|
2494
|
+
cmpMeta.$watchers$ = (_a = compactMeta[4]) !== null && _a !== void 0 ? _a : {};
|
|
2212
2495
|
}
|
|
2213
2496
|
const tagName = cmpMeta.$tagName$;
|
|
2214
2497
|
const HostElement = class extends HTMLElement {
|
|
@@ -2232,9 +2515,6 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
2232
2515
|
}
|
|
2233
2516
|
}
|
|
2234
2517
|
}
|
|
2235
|
-
{
|
|
2236
|
-
patchChildSlotNodes(self, cmpMeta);
|
|
2237
|
-
}
|
|
2238
2518
|
}
|
|
2239
2519
|
connectedCallback() {
|
|
2240
2520
|
if (appLoadFallback) {
|
|
@@ -2256,6 +2536,13 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
2256
2536
|
return getHostRef(this).$onReadyPromise$;
|
|
2257
2537
|
}
|
|
2258
2538
|
};
|
|
2539
|
+
// TODO(STENCIL-914): this check and `else` block can go away and be replaced by just `BUILD.scoped` once we
|
|
2540
|
+
// default our pseudo-slot behavior
|
|
2541
|
+
{
|
|
2542
|
+
{
|
|
2543
|
+
patchChildSlotNodes(HostElement.prototype, cmpMeta);
|
|
2544
|
+
}
|
|
2545
|
+
}
|
|
2259
2546
|
cmpMeta.$lazyBundleId$ = lazyBundle[0];
|
|
2260
2547
|
if (!exclude.includes(tagName) && !customElements.get(tagName)) {
|
|
2261
2548
|
cmpTags.push(tagName);
|
|
@@ -2263,15 +2550,23 @@ const bootstrapLazy = (lazyBundles, options = {}) => {
|
|
|
2263
2550
|
}
|
|
2264
2551
|
});
|
|
2265
2552
|
});
|
|
2553
|
+
// Add styles for `slot-fb` elements if any of our components are using slots outside the Shadow DOM
|
|
2554
|
+
if (hasSlotRelocation) {
|
|
2555
|
+
dataStyles.innerHTML += SLOT_FB_CSS;
|
|
2556
|
+
}
|
|
2557
|
+
// Add hydration styles
|
|
2266
2558
|
{
|
|
2267
|
-
|
|
2268
|
-
|
|
2559
|
+
dataStyles.innerHTML += cmpTags + HYDRATED_CSS;
|
|
2560
|
+
}
|
|
2561
|
+
// If we have styles, add them to the DOM
|
|
2562
|
+
if (dataStyles.innerHTML.length) {
|
|
2563
|
+
dataStyles.setAttribute('data-styles', '');
|
|
2564
|
+
head.insertBefore(dataStyles, metaCharset ? metaCharset.nextSibling : head.firstChild);
|
|
2269
2565
|
// Apply CSP nonce to the style tag if it exists
|
|
2270
2566
|
const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
|
|
2271
2567
|
if (nonce != null) {
|
|
2272
|
-
|
|
2568
|
+
dataStyles.setAttribute('nonce', nonce);
|
|
2273
2569
|
}
|
|
2274
|
-
head.insertBefore(visibilityStyle, metaCharset ? metaCharset.nextSibling : head.firstChild);
|
|
2275
2570
|
}
|
|
2276
2571
|
// Process deferred connectedCallbacks now all components have been registered
|
|
2277
2572
|
isBootstrapping = false;
|
|
@@ -2332,13 +2627,40 @@ const hostListenerOpts = (flags) => (flags & 2 /* LISTENER_FLAGS.Capture */) !==
|
|
|
2332
2627
|
* @returns void
|
|
2333
2628
|
*/
|
|
2334
2629
|
const setNonce = (nonce) => (plt.$nonce$ = nonce);
|
|
2630
|
+
/**
|
|
2631
|
+
* A WeakMap mapping runtime component references to their corresponding host reference
|
|
2632
|
+
* instances.
|
|
2633
|
+
*/
|
|
2335
2634
|
const hostRefs = /*@__PURE__*/ new WeakMap();
|
|
2635
|
+
/**
|
|
2636
|
+
* Given a {@link d.RuntimeRef} retrieve the corresponding {@link d.HostRef}
|
|
2637
|
+
*
|
|
2638
|
+
* @param ref the runtime ref of interest
|
|
2639
|
+
* @returns the Host reference (if found) or undefined
|
|
2640
|
+
*/
|
|
2336
2641
|
const getHostRef = (ref) => hostRefs.get(ref);
|
|
2642
|
+
/**
|
|
2643
|
+
* Register a lazy instance with the {@link hostRefs} object so it's
|
|
2644
|
+
* corresponding {@link d.HostRef} can be retrieved later.
|
|
2645
|
+
*
|
|
2646
|
+
* @param lazyInstance the lazy instance of interest
|
|
2647
|
+
* @param hostRef that instances `HostRef` object
|
|
2648
|
+
* @returns a reference to the host ref WeakMap
|
|
2649
|
+
*/
|
|
2337
2650
|
const registerInstance = (lazyInstance, hostRef) => hostRefs.set((hostRef.$lazyInstance$ = lazyInstance), hostRef);
|
|
2338
|
-
|
|
2651
|
+
/**
|
|
2652
|
+
* Register a host element for a Stencil component, setting up various metadata
|
|
2653
|
+
* and callbacks based on {@link BUILD} flags as well as the component's runtime
|
|
2654
|
+
* metadata.
|
|
2655
|
+
*
|
|
2656
|
+
* @param hostElement the host element to register
|
|
2657
|
+
* @param cmpMeta runtime metadata for that component
|
|
2658
|
+
* @returns a reference to the host ref WeakMap
|
|
2659
|
+
*/
|
|
2660
|
+
const registerHost = (hostElement, cmpMeta) => {
|
|
2339
2661
|
const hostRef = {
|
|
2340
2662
|
$flags$: 0,
|
|
2341
|
-
$hostElement$:
|
|
2663
|
+
$hostElement$: hostElement,
|
|
2342
2664
|
$cmpMeta$: cmpMeta,
|
|
2343
2665
|
$instanceValues$: new Map(),
|
|
2344
2666
|
};
|
|
@@ -2347,11 +2669,11 @@ const registerHost = (elm, cmpMeta) => {
|
|
|
2347
2669
|
}
|
|
2348
2670
|
{
|
|
2349
2671
|
hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));
|
|
2350
|
-
|
|
2351
|
-
|
|
2672
|
+
hostElement['s-p'] = [];
|
|
2673
|
+
hostElement['s-rc'] = [];
|
|
2352
2674
|
}
|
|
2353
|
-
addHostEventListeners(
|
|
2354
|
-
return hostRefs.set(
|
|
2675
|
+
addHostEventListeners(hostElement, hostRef, cmpMeta.$listeners$);
|
|
2676
|
+
return hostRefs.set(hostElement, hostRef);
|
|
2355
2677
|
};
|
|
2356
2678
|
const isMemberInElement = (elm, memberName) => memberName in elm;
|
|
2357
2679
|
const consoleError = (e, el) => (0, console.error)(e, el);
|
|
@@ -2390,7 +2712,7 @@ const plt = {
|
|
|
2390
2712
|
ce: (eventName, opts) => new CustomEvent(eventName, opts),
|
|
2391
2713
|
};
|
|
2392
2714
|
const supportsShadow =
|
|
2393
|
-
// TODO(STENCIL-
|
|
2715
|
+
// TODO(STENCIL-854): Remove code related to legacy shadowDomShim field
|
|
2394
2716
|
true;
|
|
2395
2717
|
const promiseResolve = (v) => Promise.resolve(v);
|
|
2396
2718
|
const supportsConstructableStylesheets = /*@__PURE__*/ (() => {
|
|
@@ -2442,7 +2764,7 @@ const flush = () => {
|
|
|
2442
2764
|
}
|
|
2443
2765
|
}
|
|
2444
2766
|
};
|
|
2445
|
-
const nextTick =
|
|
2767
|
+
const nextTick = (cb) => promiseResolve().then(cb);
|
|
2446
2768
|
const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
|
|
2447
2769
|
|
|
2448
2770
|
exports.Build = Build;
|