@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
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* Built with Duet Design System
|
|
3
3
|
*/
|
|
4
4
|
const NAMESPACE = 'duet';
|
|
5
|
-
const
|
|
5
|
+
const BUILD = /* duet */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: true, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: true, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: true, cmpWillUpdate: false, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: true, element: false, event: true, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: true, hostListenerTargetBody: true, hostListenerTargetDocument: true, hostListenerTargetParent: false, hostListenerTargetWindow: true, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: false, 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, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: true, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: true, watchCallback: true };
|
|
6
|
+
const Env = /* duet */ {"cdnURILocal":"http://0.0.0.0:3334","cdnURIProd":"https://cdn.duetds.com/api","duetIconVersion":"4.0.14"};
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* Virtual DOM patching algorithm based on Snabbdom by
|
|
@@ -26,6 +27,10 @@ const Build = {
|
|
|
26
27
|
isServer: false,
|
|
27
28
|
isTesting: false,
|
|
28
29
|
};
|
|
30
|
+
const getAssetPath = (path) => {
|
|
31
|
+
const assetUrl = new URL(path, plt.$resourcesUrl$);
|
|
32
|
+
return assetUrl.origin !== win.location.origin ? assetUrl.href : assetUrl.pathname;
|
|
33
|
+
};
|
|
29
34
|
const setAssetPath = (path) => (plt.$resourcesUrl$ = path);
|
|
30
35
|
const createTime = (fnName, tagName = '') => {
|
|
31
36
|
{
|
|
@@ -34,6 +39,13 @@ const createTime = (fnName, tagName = '') => {
|
|
|
34
39
|
};
|
|
35
40
|
}
|
|
36
41
|
};
|
|
42
|
+
/**
|
|
43
|
+
* Constant for styles to be globally applied to `slot-fb` elements for pseudo-slot behavior.
|
|
44
|
+
*
|
|
45
|
+
* Two cascading rules must be used instead of a `:not()` selector due to Stencil browser
|
|
46
|
+
* support as of Stencil v4.
|
|
47
|
+
*/
|
|
48
|
+
const SLOT_FB_CSS = 'slot-fb{display:contents}slot-fb[hidden]{display:none}';
|
|
37
49
|
const XLINK_NS = 'http://www.w3.org/1999/xlink';
|
|
38
50
|
/**
|
|
39
51
|
* Default style mode id
|
|
@@ -114,13 +126,13 @@ const h = (nodeName, vnodeData, ...children) => {
|
|
|
114
126
|
};
|
|
115
127
|
walk(children);
|
|
116
128
|
if (vnodeData) {
|
|
117
|
-
// normalize class / classname attributes
|
|
118
129
|
if (vnodeData.key) {
|
|
119
130
|
key = vnodeData.key;
|
|
120
131
|
}
|
|
121
132
|
if (vnodeData.name) {
|
|
122
133
|
slotName = vnodeData.name;
|
|
123
134
|
}
|
|
135
|
+
// normalize class / className attributes
|
|
124
136
|
{
|
|
125
137
|
const classData = vnodeData.className || vnodeData.class;
|
|
126
138
|
if (classData) {
|
|
@@ -328,9 +340,9 @@ const registerStyle = (scopeId, cssText, allowCS) => {
|
|
|
328
340
|
}
|
|
329
341
|
styles.set(scopeId, style);
|
|
330
342
|
};
|
|
331
|
-
const addStyle = (styleContainerNode, cmpMeta, mode
|
|
343
|
+
const addStyle = (styleContainerNode, cmpMeta, mode) => {
|
|
332
344
|
var _a;
|
|
333
|
-
|
|
345
|
+
const scopeId = getScopeId(cmpMeta);
|
|
334
346
|
const style = styles.get(scopeId);
|
|
335
347
|
// if an element is NOT connected then getRootNode() will return the wrong root node
|
|
336
348
|
// so the fallback is to always use the document for the root node in those cases
|
|
@@ -345,11 +357,8 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
|
|
|
345
357
|
}
|
|
346
358
|
if (!appliedStyles.has(scopeId)) {
|
|
347
359
|
{
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
styleElm = doc.createElement('style');
|
|
351
|
-
styleElm.innerHTML = style;
|
|
352
|
-
}
|
|
360
|
+
styleElm = doc.createElement('style');
|
|
361
|
+
styleElm.innerHTML = style;
|
|
353
362
|
// Apply CSP nonce to the style tag if it exists
|
|
354
363
|
const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);
|
|
355
364
|
if (nonce != null) {
|
|
@@ -357,6 +366,10 @@ const addStyle = (styleContainerNode, cmpMeta, mode, hostElm) => {
|
|
|
357
366
|
}
|
|
358
367
|
styleContainerNode.insertBefore(styleElm, styleContainerNode.querySelector('link'));
|
|
359
368
|
}
|
|
369
|
+
// Add styles for `slot-fb` elements if we're using slots outside the Shadow DOM
|
|
370
|
+
if (cmpMeta.$flags$ & 4 /* CMP_FLAGS.hasSlotRelocation */) {
|
|
371
|
+
styleElm.innerHTML += SLOT_FB_CSS;
|
|
372
|
+
}
|
|
360
373
|
if (appliedStyles) {
|
|
361
374
|
appliedStyles.add(scopeId);
|
|
362
375
|
}
|
|
@@ -374,7 +387,6 @@ const attachStyles = (hostRef) => {
|
|
|
374
387
|
const flags = cmpMeta.$flags$;
|
|
375
388
|
const endAttachStyles = createTime('attachStyles', cmpMeta.$tagName$);
|
|
376
389
|
const scopeId = addStyle(elm.shadowRoot ? elm.shadowRoot : elm.getRootNode(), cmpMeta);
|
|
377
|
-
// TODO(STENCIL-662): Remove code related to deprecated shadowDomShim field
|
|
378
390
|
if (flags & 10 /* CMP_FLAGS.needsScopedEncapsulation */) {
|
|
379
391
|
// only required when we're NOT using native shadow dom (slot)
|
|
380
392
|
// or this browser doesn't support native shadow dom
|
|
@@ -400,6 +412,21 @@ const getScopeId = (cmp, mode) => 'sc-' + (cmp.$tagName$);
|
|
|
400
412
|
*
|
|
401
413
|
* Modified for Stencil's compiler and vdom
|
|
402
414
|
*/
|
|
415
|
+
/**
|
|
416
|
+
* When running a VDom render set properties present on a VDom node onto the
|
|
417
|
+
* corresponding HTML element.
|
|
418
|
+
*
|
|
419
|
+
* Note that this function has special functionality for the `class`,
|
|
420
|
+
* `style`, `key`, and `ref` attributes, as well as event handlers (like
|
|
421
|
+
* `onClick`, etc). All others are just passed through as-is.
|
|
422
|
+
*
|
|
423
|
+
* @param elm the HTMLElement onto which attributes should be set
|
|
424
|
+
* @param memberName the name of the attribute to set
|
|
425
|
+
* @param oldValue the old value for the attribute
|
|
426
|
+
* @param newValue the new value for the attribute
|
|
427
|
+
* @param isSvg whether we're in an svg context or not
|
|
428
|
+
* @param flags bitflags for Vdom variables
|
|
429
|
+
*/
|
|
403
430
|
const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
|
|
404
431
|
if (oldValue !== newValue) {
|
|
405
432
|
let isProp = isMemberInElement(elm, memberName);
|
|
@@ -476,11 +503,19 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
|
|
|
476
503
|
// except for the first character, we keep the event name case
|
|
477
504
|
memberName = ln[2] + memberName.slice(3);
|
|
478
505
|
}
|
|
479
|
-
if (oldValue) {
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
506
|
+
if (oldValue || newValue) {
|
|
507
|
+
// Need to account for "capture" events.
|
|
508
|
+
// If the event name ends with "Capture", we'll update the name to remove
|
|
509
|
+
// the "Capture" suffix and make sure the event listener is setup to handle the capture event.
|
|
510
|
+
const capture = memberName.endsWith(CAPTURE_EVENT_SUFFIX);
|
|
511
|
+
// Make sure we only replace the last instance of "Capture"
|
|
512
|
+
memberName = memberName.replace(CAPTURE_EVENT_REGEX, '');
|
|
513
|
+
if (oldValue) {
|
|
514
|
+
plt.rel(elm, memberName, oldValue, capture);
|
|
515
|
+
}
|
|
516
|
+
if (newValue) {
|
|
517
|
+
plt.ael(elm, memberName, newValue, capture);
|
|
518
|
+
}
|
|
484
519
|
}
|
|
485
520
|
}
|
|
486
521
|
else {
|
|
@@ -542,6 +577,8 @@ const setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
|
|
|
542
577
|
};
|
|
543
578
|
const parseClassListRegex = /\s/;
|
|
544
579
|
const parseClassList = (value) => (!value ? [] : value.split(parseClassListRegex));
|
|
580
|
+
const CAPTURE_EVENT_SUFFIX = 'Capture';
|
|
581
|
+
const CAPTURE_EVENT_REGEX = new RegExp(CAPTURE_EVENT_SUFFIX + '$');
|
|
545
582
|
const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
|
|
546
583
|
// if the element passed in is a shadow root, which is a document fragment
|
|
547
584
|
// then we want to be adding attrs/props to the shadow root's "host" element
|
|
@@ -575,6 +612,7 @@ const updateElement = (oldVnode, newVnode, isSvgMode, memberName) => {
|
|
|
575
612
|
* @returns the newly created node
|
|
576
613
|
*/
|
|
577
614
|
const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
615
|
+
var _a;
|
|
578
616
|
// tslint:disable-next-line: prefer-const
|
|
579
617
|
const newVNode = newParentVNode.$children$[childIndex];
|
|
580
618
|
let i = 0;
|
|
@@ -653,6 +691,8 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
|
653
691
|
if (newVNode.$flags$ & (2 /* VNODE_FLAGS.isSlotFallback */ | 1 /* VNODE_FLAGS.isSlotReference */)) {
|
|
654
692
|
// remember the content reference comment
|
|
655
693
|
elm['s-sr'] = true;
|
|
694
|
+
// Persist the name of the slot that this slot was going to be projected into.
|
|
695
|
+
elm['s-fs'] = (_a = newVNode.$attrs$) === null || _a === void 0 ? void 0 : _a.slot;
|
|
656
696
|
// remember the content reference comment
|
|
657
697
|
elm['s-cr'] = contentRef;
|
|
658
698
|
// remember the slot name, or empty string for default slot
|
|
@@ -669,6 +709,7 @@ const createElm = (oldParentVNode, newParentVNode, childIndex, parentElm) => {
|
|
|
669
709
|
return elm;
|
|
670
710
|
};
|
|
671
711
|
const putBackInOriginalLocation = (parentElm, recursive) => {
|
|
712
|
+
var _a;
|
|
672
713
|
plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
|
|
673
714
|
const oldSlotChildNodes = parentElm.childNodes;
|
|
674
715
|
for (let i = oldSlotChildNodes.length - 1; i >= 0; i--) {
|
|
@@ -681,9 +722,17 @@ const putBackInOriginalLocation = (parentElm, recursive) => {
|
|
|
681
722
|
parentReferenceNode(childNode).insertBefore(childNode, referenceNode(childNode));
|
|
682
723
|
// remove the old original location comment entirely
|
|
683
724
|
// later on the patch function will know what to do
|
|
684
|
-
// and move this to the correct spot
|
|
725
|
+
// and move this to the correct spot if need be
|
|
685
726
|
childNode['s-ol'].remove();
|
|
686
727
|
childNode['s-ol'] = undefined;
|
|
728
|
+
// Reset so we can correctly move the node around again.
|
|
729
|
+
childNode['s-sh'] = undefined;
|
|
730
|
+
// When putting an element node back in its original location,
|
|
731
|
+
// we need to reset the `slot` attribute back to the value it originally had
|
|
732
|
+
// so we can correctly relocate it again in the future
|
|
733
|
+
if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
|
|
734
|
+
childNode.setAttribute('slot', (_a = childNode['s-sn']) !== null && _a !== void 0 ? _a : '');
|
|
735
|
+
}
|
|
687
736
|
checkSlotRelocate = true;
|
|
688
737
|
}
|
|
689
738
|
if (recursive) {
|
|
@@ -733,30 +782,31 @@ const addVnodes = (parentElm, before, parentVNode, vnodes, startIdx, endIdx) =>
|
|
|
733
782
|
* @param vnodes a list of virtual DOM nodes to remove
|
|
734
783
|
* @param startIdx the index at which to start removing nodes (inclusive)
|
|
735
784
|
* @param endIdx the index at which to stop removing nodes (inclusive)
|
|
736
|
-
* @param vnode a VNode
|
|
737
|
-
* @param elm an element
|
|
738
785
|
*/
|
|
739
|
-
const removeVnodes = (vnodes, startIdx, endIdx
|
|
740
|
-
for (
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
elm['s-ol']
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
786
|
+
const removeVnodes = (vnodes, startIdx, endIdx) => {
|
|
787
|
+
for (let index = startIdx; index <= endIdx; ++index) {
|
|
788
|
+
const vnode = vnodes[index];
|
|
789
|
+
if (vnode) {
|
|
790
|
+
const elm = vnode.$elm$;
|
|
791
|
+
nullifyVNodeRefs(vnode);
|
|
792
|
+
if (elm) {
|
|
793
|
+
{
|
|
794
|
+
// we're removing this element
|
|
795
|
+
// so it's possible we need to show slot fallback content now
|
|
796
|
+
checkSlotFallbackVisibility = true;
|
|
797
|
+
if (elm['s-ol']) {
|
|
798
|
+
// remove the original location comment
|
|
799
|
+
elm['s-ol'].remove();
|
|
800
|
+
}
|
|
801
|
+
else {
|
|
802
|
+
// it's possible that child nodes of the node
|
|
803
|
+
// that's being removed are slot nodes
|
|
804
|
+
putBackInOriginalLocation(elm, true);
|
|
805
|
+
}
|
|
756
806
|
}
|
|
807
|
+
// remove the vnode's element from the dom
|
|
808
|
+
elm.remove();
|
|
757
809
|
}
|
|
758
|
-
// remove the vnode's element from the dom
|
|
759
|
-
elm.remove();
|
|
760
810
|
}
|
|
761
811
|
}
|
|
762
812
|
};
|
|
@@ -1106,42 +1156,53 @@ const patch = (oldVNode, newVNode) => {
|
|
|
1106
1156
|
elm.data = text;
|
|
1107
1157
|
}
|
|
1108
1158
|
};
|
|
1159
|
+
/**
|
|
1160
|
+
* Adjust the `.hidden` property as-needed on any nodes in a DOM subtree which
|
|
1161
|
+
* are slot fallbacks nodes.
|
|
1162
|
+
*
|
|
1163
|
+
* A slot fallback node should be visible by default. Then, it should be
|
|
1164
|
+
* conditionally hidden if:
|
|
1165
|
+
*
|
|
1166
|
+
* - it has a sibling with a `slot` property set to its slot name or if
|
|
1167
|
+
* - it is a default fallback slot node, in which case we hide if it has any
|
|
1168
|
+
* content
|
|
1169
|
+
*
|
|
1170
|
+
* @param elm the element of interest
|
|
1171
|
+
*/
|
|
1109
1172
|
const updateFallbackSlotVisibility = (elm) => {
|
|
1110
|
-
// tslint:disable-next-line: prefer-const
|
|
1111
1173
|
const childNodes = elm.childNodes;
|
|
1112
|
-
|
|
1113
|
-
let i;
|
|
1114
|
-
let ilen;
|
|
1115
|
-
let j;
|
|
1116
|
-
let slotNameAttr;
|
|
1117
|
-
let nodeType;
|
|
1118
|
-
for (i = 0, ilen = childNodes.length; i < ilen; i++) {
|
|
1119
|
-
childNode = childNodes[i];
|
|
1174
|
+
for (const childNode of childNodes) {
|
|
1120
1175
|
if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
|
|
1121
1176
|
if (childNode['s-sr']) {
|
|
1122
1177
|
// this is a slot fallback node
|
|
1123
1178
|
// get the slot name for this slot reference node
|
|
1124
|
-
|
|
1179
|
+
const slotName = childNode['s-sn'];
|
|
1125
1180
|
// by default always show a fallback slot node
|
|
1126
1181
|
// then hide it if there are other slots in the light dom
|
|
1127
1182
|
childNode.hidden = false;
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1183
|
+
// we need to check all of its sibling nodes in order to see if
|
|
1184
|
+
// `childNode` should be hidden
|
|
1185
|
+
for (const siblingNode of childNodes) {
|
|
1186
|
+
// Don't check the node against itself
|
|
1187
|
+
if (siblingNode !== childNode) {
|
|
1188
|
+
if (siblingNode['s-hn'] !== childNode['s-hn'] || slotName !== '') {
|
|
1189
|
+
// this sibling node is from a different component OR is a named
|
|
1190
|
+
// fallback slot node
|
|
1191
|
+
if (siblingNode.nodeType === 1 /* NODE_TYPE.ElementNode */ &&
|
|
1192
|
+
(slotName === siblingNode.getAttribute('slot') || slotName === siblingNode['s-sn'])) {
|
|
1193
|
+
childNode.hidden = true;
|
|
1194
|
+
break;
|
|
1195
|
+
}
|
|
1135
1196
|
}
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1197
|
+
else {
|
|
1198
|
+
// this is a default fallback slot node
|
|
1199
|
+
// any element or text node (with content)
|
|
1200
|
+
// should hide the default fallback slot node
|
|
1201
|
+
if (siblingNode.nodeType === 1 /* NODE_TYPE.ElementNode */ ||
|
|
1202
|
+
(siblingNode.nodeType === 3 /* NODE_TYPE.TextNode */ && siblingNode.textContent.trim() !== '')) {
|
|
1203
|
+
childNode.hidden = true;
|
|
1204
|
+
break;
|
|
1205
|
+
}
|
|
1145
1206
|
}
|
|
1146
1207
|
}
|
|
1147
1208
|
}
|
|
@@ -1151,45 +1212,67 @@ const updateFallbackSlotVisibility = (elm) => {
|
|
|
1151
1212
|
}
|
|
1152
1213
|
}
|
|
1153
1214
|
};
|
|
1215
|
+
/**
|
|
1216
|
+
* Component-global information about nodes which are either currently being
|
|
1217
|
+
* relocated or will be shortly.
|
|
1218
|
+
*/
|
|
1154
1219
|
const relocateNodes = [];
|
|
1155
|
-
|
|
1220
|
+
/**
|
|
1221
|
+
* Mark the contents of a slot for relocation via adding references to them to
|
|
1222
|
+
* the {@link relocateNodes} data structure. The actual work of relocating them
|
|
1223
|
+
* will then be handled in {@link renderVdom}.
|
|
1224
|
+
*
|
|
1225
|
+
* @param elm a render node whose child nodes need to be relocated
|
|
1226
|
+
*/
|
|
1227
|
+
const markSlotContentForRelocation = (elm) => {
|
|
1156
1228
|
// tslint:disable-next-line: prefer-const
|
|
1157
|
-
let childNode;
|
|
1158
1229
|
let node;
|
|
1159
1230
|
let hostContentNodes;
|
|
1160
|
-
let slotNameAttr;
|
|
1161
|
-
let relocateNodeData;
|
|
1162
1231
|
let j;
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
for (; i < ilen; i++) {
|
|
1167
|
-
childNode = childNodes[i];
|
|
1232
|
+
for (const childNode of elm.childNodes) {
|
|
1233
|
+
// we need to find child nodes which are slot references so we can then try
|
|
1234
|
+
// to match them up with nodes that need to be relocated
|
|
1168
1235
|
if (childNode['s-sr'] && (node = childNode['s-cr']) && node.parentNode) {
|
|
1169
|
-
// first
|
|
1170
|
-
//
|
|
1236
|
+
// first get the content reference comment node ('s-cr'), then we get
|
|
1237
|
+
// its parent, which is where all the host content is now
|
|
1171
1238
|
hostContentNodes = node.parentNode.childNodes;
|
|
1172
|
-
|
|
1239
|
+
const slotName = childNode['s-sn'];
|
|
1240
|
+
// iterate through all the nodes under the location where the host was
|
|
1241
|
+
// originally rendered
|
|
1173
1242
|
for (j = hostContentNodes.length - 1; j >= 0; j--) {
|
|
1174
1243
|
node = hostContentNodes[j];
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1244
|
+
// check that the node is not a content reference node or a node
|
|
1245
|
+
// reference and then check that the host name does not match that of
|
|
1246
|
+
// childNode.
|
|
1247
|
+
// In addition, check that the slot either has not already been relocated, or
|
|
1248
|
+
// that its current location's host is not childNode's host. This is essentially
|
|
1249
|
+
// a check so that we don't try to relocate (and then hide) a node that is already
|
|
1250
|
+
// where it should be.
|
|
1251
|
+
if (!node['s-cn'] &&
|
|
1252
|
+
!node['s-nr'] &&
|
|
1253
|
+
node['s-hn'] !== childNode['s-hn'] &&
|
|
1254
|
+
(!BUILD.experimentalSlotFixes )) {
|
|
1255
|
+
// if `node` is located in the slot that `childNode` refers to (via the
|
|
1256
|
+
// `'s-sn'` property) then we need to relocate it from it's current spot
|
|
1257
|
+
// (under the host element parent) to the right slot location
|
|
1258
|
+
if (isNodeLocatedInSlot(node, slotName)) {
|
|
1180
1259
|
// it's possible we've already decided to relocate this node
|
|
1181
|
-
relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
|
|
1260
|
+
let relocateNodeData = relocateNodes.find((r) => r.$nodeToRelocate$ === node);
|
|
1182
1261
|
// made some changes to slots
|
|
1183
1262
|
// let's make sure we also double check
|
|
1184
1263
|
// fallbacks are correctly hidden or shown
|
|
1185
1264
|
checkSlotFallbackVisibility = true;
|
|
1186
|
-
|
|
1265
|
+
// ensure that the slot-name attr is correct
|
|
1266
|
+
node['s-sn'] = node['s-sn'] || slotName;
|
|
1187
1267
|
if (relocateNodeData) {
|
|
1188
|
-
|
|
1189
|
-
//
|
|
1268
|
+
relocateNodeData.$nodeToRelocate$['s-sh'] = childNode['s-hn'];
|
|
1269
|
+
// we marked this node for relocation previously but didn't find
|
|
1270
|
+
// out the slot reference node to which it needs to be relocated
|
|
1271
|
+
// so write it down now!
|
|
1190
1272
|
relocateNodeData.$slotRefNode$ = childNode;
|
|
1191
1273
|
}
|
|
1192
1274
|
else {
|
|
1275
|
+
node['s-sh'] = childNode['s-hn'];
|
|
1193
1276
|
// add to our list of nodes to relocate
|
|
1194
1277
|
relocateNodes.push({
|
|
1195
1278
|
$slotRefNode$: childNode,
|
|
@@ -1208,8 +1291,10 @@ const relocateSlotContent = (elm) => {
|
|
|
1208
1291
|
}
|
|
1209
1292
|
}
|
|
1210
1293
|
else if (!relocateNodes.some((r) => r.$nodeToRelocate$ === node)) {
|
|
1211
|
-
//
|
|
1212
|
-
//
|
|
1294
|
+
// the node is not found within the slot (`childNode`) that we're
|
|
1295
|
+
// currently looking at, so we stick it into `relocateNodes` to
|
|
1296
|
+
// handle later. If we never find a home for this element then
|
|
1297
|
+
// we'll need to hide it
|
|
1213
1298
|
relocateNodes.push({
|
|
1214
1299
|
$nodeToRelocate$: node,
|
|
1215
1300
|
});
|
|
@@ -1217,30 +1302,48 @@ const relocateSlotContent = (elm) => {
|
|
|
1217
1302
|
}
|
|
1218
1303
|
}
|
|
1219
1304
|
}
|
|
1305
|
+
// if we're dealing with any type of element (capable of itself being a
|
|
1306
|
+
// slot reference or containing one) then we recur
|
|
1220
1307
|
if (childNode.nodeType === 1 /* NODE_TYPE.ElementNode */) {
|
|
1221
|
-
|
|
1308
|
+
markSlotContentForRelocation(childNode);
|
|
1222
1309
|
}
|
|
1223
1310
|
}
|
|
1224
1311
|
};
|
|
1225
|
-
|
|
1312
|
+
/**
|
|
1313
|
+
* Check whether a node is located in a given named slot.
|
|
1314
|
+
*
|
|
1315
|
+
* @param nodeToRelocate the node of interest
|
|
1316
|
+
* @param slotName the slot name to check
|
|
1317
|
+
* @returns whether the node is located in the slot or not
|
|
1318
|
+
*/
|
|
1319
|
+
const isNodeLocatedInSlot = (nodeToRelocate, slotName) => {
|
|
1226
1320
|
if (nodeToRelocate.nodeType === 1 /* NODE_TYPE.ElementNode */) {
|
|
1227
|
-
if (nodeToRelocate.getAttribute('slot') === null &&
|
|
1321
|
+
if (nodeToRelocate.getAttribute('slot') === null && slotName === '') {
|
|
1322
|
+
// if the node doesn't have a slot attribute, and the slot we're checking
|
|
1323
|
+
// is not a named slot, then we assume the node should be within the slot
|
|
1228
1324
|
return true;
|
|
1229
1325
|
}
|
|
1230
|
-
if (nodeToRelocate.getAttribute('slot') ===
|
|
1326
|
+
if (nodeToRelocate.getAttribute('slot') === slotName) {
|
|
1231
1327
|
return true;
|
|
1232
1328
|
}
|
|
1233
1329
|
return false;
|
|
1234
1330
|
}
|
|
1235
|
-
if (nodeToRelocate['s-sn'] ===
|
|
1331
|
+
if (nodeToRelocate['s-sn'] === slotName) {
|
|
1236
1332
|
return true;
|
|
1237
1333
|
}
|
|
1238
|
-
return
|
|
1334
|
+
return slotName === '';
|
|
1239
1335
|
};
|
|
1240
|
-
|
|
1336
|
+
/**
|
|
1337
|
+
* 'Nullify' any VDom `ref` callbacks on a VDom node or its children by calling
|
|
1338
|
+
* them with `null`. This signals that the DOM element corresponding to the VDom
|
|
1339
|
+
* node has been removed from the DOM.
|
|
1340
|
+
*
|
|
1341
|
+
* @param vNode a virtual DOM node
|
|
1342
|
+
*/
|
|
1343
|
+
const nullifyVNodeRefs = (vNode) => {
|
|
1241
1344
|
{
|
|
1242
1345
|
vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
|
|
1243
|
-
vNode.$children$ && vNode.$children$.map(
|
|
1346
|
+
vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
|
|
1244
1347
|
}
|
|
1245
1348
|
};
|
|
1246
1349
|
/**
|
|
@@ -1254,17 +1357,45 @@ const callNodeRefs = (vNode) => {
|
|
|
1254
1357
|
* @param hostRef data needed to root and render the virtual DOM tree, such as
|
|
1255
1358
|
* the DOM node into which it should be rendered.
|
|
1256
1359
|
* @param renderFnResults the virtual DOM nodes to be rendered
|
|
1360
|
+
* @param isInitialLoad whether or not this is the first call after page load
|
|
1257
1361
|
*/
|
|
1258
|
-
const renderVdom = (hostRef, renderFnResults) => {
|
|
1362
|
+
const renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
|
|
1363
|
+
var _a, _b;
|
|
1259
1364
|
const hostElm = hostRef.$hostElement$;
|
|
1260
1365
|
const cmpMeta = hostRef.$cmpMeta$;
|
|
1261
1366
|
const oldVNode = hostRef.$vnode$ || newVNode(null, null);
|
|
1367
|
+
// if `renderFnResults` is a Host node then we can use it directly. If not,
|
|
1368
|
+
// we need to call `h` again to wrap the children of our component in a
|
|
1369
|
+
// 'dummy' Host node (well, an empty vnode) since `renderVdom` assumes
|
|
1370
|
+
// implicitly that the top-level vdom node is 1) an only child and 2)
|
|
1371
|
+
// contains attrs that need to be set on the host element.
|
|
1262
1372
|
const rootVnode = isHost(renderFnResults) ? renderFnResults : h(null, null, renderFnResults);
|
|
1263
1373
|
hostTagName = hostElm.tagName;
|
|
1264
1374
|
if (cmpMeta.$attrsToReflect$) {
|
|
1265
1375
|
rootVnode.$attrs$ = rootVnode.$attrs$ || {};
|
|
1266
1376
|
cmpMeta.$attrsToReflect$.map(([propName, attribute]) => (rootVnode.$attrs$[attribute] = hostElm[propName]));
|
|
1267
1377
|
}
|
|
1378
|
+
// On the first render and *only* on the first render we want to check for
|
|
1379
|
+
// any attributes set on the host element which are also set on the vdom
|
|
1380
|
+
// node. If we find them, we override the value on the VDom node attrs with
|
|
1381
|
+
// the value from the host element, which allows developers building apps
|
|
1382
|
+
// with Stencil components to override e.g. the `role` attribute on a
|
|
1383
|
+
// component even if it's already set on the `Host`.
|
|
1384
|
+
if (isInitialLoad && rootVnode.$attrs$) {
|
|
1385
|
+
for (const key of Object.keys(rootVnode.$attrs$)) {
|
|
1386
|
+
// We have a special implementation in `setAccessor` for `style` and
|
|
1387
|
+
// `class` which reconciles values coming from the VDom with values
|
|
1388
|
+
// already present on the DOM element, so we don't want to override those
|
|
1389
|
+
// attributes on the VDom tree with values from the host element if they
|
|
1390
|
+
// are present.
|
|
1391
|
+
//
|
|
1392
|
+
// Likewise, `ref` and `key` are special internal values for the Stencil
|
|
1393
|
+
// runtime and we don't want to override those either.
|
|
1394
|
+
if (hostElm.hasAttribute(key) && !['key', 'ref', 'style', 'class'].includes(key)) {
|
|
1395
|
+
rootVnode.$attrs$[key] = hostElm[key];
|
|
1396
|
+
}
|
|
1397
|
+
}
|
|
1398
|
+
}
|
|
1268
1399
|
rootVnode.$tag$ = null;
|
|
1269
1400
|
rootVnode.$flags$ |= 4 /* VNODE_FLAGS.isHost */;
|
|
1270
1401
|
hostRef.$vnode$ = rootVnode;
|
|
@@ -1285,43 +1416,48 @@ const renderVdom = (hostRef, renderFnResults) => {
|
|
|
1285
1416
|
// the disconnectCallback from working
|
|
1286
1417
|
plt.$flags$ |= 1 /* PLATFORM_FLAGS.isTmpDisconnected */;
|
|
1287
1418
|
if (checkSlotRelocate) {
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
let orgLocationNode;
|
|
1292
|
-
let parentNodeRef;
|
|
1293
|
-
let insertBeforeNode;
|
|
1294
|
-
let refNode;
|
|
1295
|
-
let i = 0;
|
|
1296
|
-
for (; i < relocateNodes.length; i++) {
|
|
1297
|
-
relocateData = relocateNodes[i];
|
|
1298
|
-
nodeToRelocate = relocateData.$nodeToRelocate$;
|
|
1419
|
+
markSlotContentForRelocation(rootVnode.$elm$);
|
|
1420
|
+
for (const relocateData of relocateNodes) {
|
|
1421
|
+
const nodeToRelocate = relocateData.$nodeToRelocate$;
|
|
1299
1422
|
if (!nodeToRelocate['s-ol']) {
|
|
1300
1423
|
// add a reference node marking this node's original location
|
|
1301
1424
|
// keep a reference to this node for later lookups
|
|
1302
|
-
orgLocationNode =
|
|
1303
|
-
doc.createTextNode('');
|
|
1425
|
+
const orgLocationNode = doc.createTextNode('');
|
|
1304
1426
|
orgLocationNode['s-nr'] = nodeToRelocate;
|
|
1305
1427
|
nodeToRelocate.parentNode.insertBefore((nodeToRelocate['s-ol'] = orgLocationNode), nodeToRelocate);
|
|
1306
1428
|
}
|
|
1307
1429
|
}
|
|
1308
|
-
for (
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
if (
|
|
1312
|
-
|
|
1313
|
-
//
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1430
|
+
for (const relocateData of relocateNodes) {
|
|
1431
|
+
const nodeToRelocate = relocateData.$nodeToRelocate$;
|
|
1432
|
+
const slotRefNode = relocateData.$slotRefNode$;
|
|
1433
|
+
if (slotRefNode) {
|
|
1434
|
+
const parentNodeRef = slotRefNode.parentNode;
|
|
1435
|
+
// When determining where to insert content, the most simple case would be
|
|
1436
|
+
// to relocate the node immediately following the slot reference node. We do this
|
|
1437
|
+
// by getting a reference to the node immediately following the slot reference node
|
|
1438
|
+
// since we will use `insertBefore` to manipulate the DOM.
|
|
1439
|
+
//
|
|
1440
|
+
// If there is no node immediately following the slot reference node, then we will just
|
|
1441
|
+
// end up appending the node as the last child of the parent.
|
|
1442
|
+
let insertBeforeNode = slotRefNode.nextSibling;
|
|
1443
|
+
// If the node we're currently planning on inserting the new node before is an element,
|
|
1444
|
+
// we need to do some additional checks to make sure we're inserting the node in the correct order.
|
|
1445
|
+
// The use case here would be that we have multiple nodes being relocated to the same slot. So, we want
|
|
1446
|
+
// to make sure they get inserted into their new how in the same order they were declared in their original location.
|
|
1447
|
+
//
|
|
1448
|
+
// TODO(STENCIL-914): Remove `experimentalSlotFixes` check
|
|
1449
|
+
{
|
|
1450
|
+
let orgLocationNode = (_a = nodeToRelocate['s-ol']) === null || _a === void 0 ? void 0 : _a.previousSibling;
|
|
1451
|
+
while (orgLocationNode) {
|
|
1452
|
+
let refNode = (_b = orgLocationNode['s-nr']) !== null && _b !== void 0 ? _b : null;
|
|
1453
|
+
if (refNode && refNode['s-sn'] === nodeToRelocate['s-sn'] && parentNodeRef === refNode.parentNode) {
|
|
1454
|
+
refNode = refNode.nextSibling;
|
|
1455
|
+
if (!refNode || !refNode['s-nr']) {
|
|
1456
|
+
insertBeforeNode = refNode;
|
|
1457
|
+
break;
|
|
1458
|
+
}
|
|
1324
1459
|
}
|
|
1460
|
+
orgLocationNode = orgLocationNode.previousSibling;
|
|
1325
1461
|
}
|
|
1326
1462
|
}
|
|
1327
1463
|
if ((!insertBeforeNode && parentNodeRef !== nodeToRelocate.parentNode) ||
|
|
@@ -1331,10 +1467,13 @@ const renderVdom = (hostRef, renderFnResults) => {
|
|
|
1331
1467
|
// has a different next sibling or parent relocated
|
|
1332
1468
|
if (nodeToRelocate !== insertBeforeNode) {
|
|
1333
1469
|
if (!nodeToRelocate['s-hn'] && nodeToRelocate['s-ol']) {
|
|
1334
|
-
// probably a component in the index.html that doesn't have
|
|
1470
|
+
// probably a component in the index.html that doesn't have its hostname set
|
|
1335
1471
|
nodeToRelocate['s-hn'] = nodeToRelocate['s-ol'].parentNode.nodeName;
|
|
1336
1472
|
}
|
|
1337
|
-
//
|
|
1473
|
+
// Add it back to the dom but in its new home
|
|
1474
|
+
// If we get to this point and `insertBeforeNode` is `null`, that means
|
|
1475
|
+
// we're just going to append the node as the last child of the parent. Passing
|
|
1476
|
+
// `null` as the second arg here will trigger that behavior.
|
|
1338
1477
|
parentNodeRef.insertBefore(nodeToRelocate, insertBeforeNode);
|
|
1339
1478
|
}
|
|
1340
1479
|
}
|
|
@@ -1377,24 +1516,90 @@ const scheduleUpdate = (hostRef, isInitialLoad) => {
|
|
|
1377
1516
|
const dispatch = () => dispatchHooks(hostRef, isInitialLoad);
|
|
1378
1517
|
return writeTask(dispatch) ;
|
|
1379
1518
|
};
|
|
1519
|
+
/**
|
|
1520
|
+
* Dispatch initial-render and update lifecycle hooks, enqueuing calls to
|
|
1521
|
+
* component lifecycle methods like `componentWillLoad` as well as
|
|
1522
|
+
* {@link updateComponent}, which will kick off the virtual DOM re-render.
|
|
1523
|
+
*
|
|
1524
|
+
* @param hostRef a reference to a host DOM node
|
|
1525
|
+
* @param isInitialLoad whether we're on the initial load or not
|
|
1526
|
+
* @returns an empty Promise which is used to enqueue a series of operations for
|
|
1527
|
+
* the component
|
|
1528
|
+
*/
|
|
1380
1529
|
const dispatchHooks = (hostRef, isInitialLoad) => {
|
|
1381
1530
|
const elm = hostRef.$hostElement$;
|
|
1382
1531
|
const endSchedule = createTime('scheduleUpdate', hostRef.$cmpMeta$.$tagName$);
|
|
1383
1532
|
const instance = elm;
|
|
1384
|
-
|
|
1533
|
+
// We're going to use this variable together with `enqueue` to implement a
|
|
1534
|
+
// little promise-based queue. We start out with it `undefined`. When we add
|
|
1535
|
+
// the first function to the queue we'll set this variable to be that
|
|
1536
|
+
// function's return value. When we attempt to add subsequent values to the
|
|
1537
|
+
// queue we'll check that value and, if it was a `Promise`, we'll then chain
|
|
1538
|
+
// the new function off of that `Promise` using `.then()`. This will give our
|
|
1539
|
+
// queue two nice properties:
|
|
1540
|
+
//
|
|
1541
|
+
// 1. If all functions added to the queue are synchronous they'll be called
|
|
1542
|
+
// synchronously right away.
|
|
1543
|
+
// 2. If all functions added to the queue are asynchronous they'll all be
|
|
1544
|
+
// called in order after `dispatchHooks` exits.
|
|
1545
|
+
let maybePromise;
|
|
1385
1546
|
if (isInitialLoad) {
|
|
1386
1547
|
{
|
|
1387
|
-
|
|
1548
|
+
// If `componentWillLoad` returns a `Promise` then we want to wait on
|
|
1549
|
+
// whatever's going on in that `Promise` before we launch into
|
|
1550
|
+
// rendering the component, doing other lifecycle stuff, etc. So
|
|
1551
|
+
// in that case we assign the returned promise to the variable we
|
|
1552
|
+
// declared above to hold a possible 'queueing' Promise
|
|
1553
|
+
maybePromise = safeCall(instance, 'componentWillLoad');
|
|
1388
1554
|
}
|
|
1389
1555
|
}
|
|
1390
1556
|
{
|
|
1391
|
-
|
|
1557
|
+
maybePromise = enqueue(maybePromise, () => safeCall(instance, 'componentWillRender'));
|
|
1392
1558
|
}
|
|
1393
1559
|
endSchedule();
|
|
1394
|
-
return
|
|
1560
|
+
return enqueue(maybePromise, () => updateComponent(hostRef, instance, isInitialLoad));
|
|
1395
1561
|
};
|
|
1562
|
+
/**
|
|
1563
|
+
* This function uses a Promise to implement a simple first-in, first-out queue
|
|
1564
|
+
* of functions to be called.
|
|
1565
|
+
*
|
|
1566
|
+
* The queue is ordered on the basis of the first argument. If it's
|
|
1567
|
+
* `undefined`, then nothing is on the queue yet, so the provided function can
|
|
1568
|
+
* be called synchronously (although note that this function may return a
|
|
1569
|
+
* `Promise`). The idea is that then the return value of that enqueueing
|
|
1570
|
+
* operation is kept around, so that if it was a `Promise` then subsequent
|
|
1571
|
+
* functions can be enqueued by calling this function again with that `Promise`
|
|
1572
|
+
* as the first argument.
|
|
1573
|
+
*
|
|
1574
|
+
* @param maybePromise either a `Promise` which should resolve before the next function is called or an 'empty' sentinel
|
|
1575
|
+
* @param fn a function to enqueue
|
|
1576
|
+
* @returns either a `Promise` or the return value of the provided function
|
|
1577
|
+
*/
|
|
1578
|
+
const enqueue = (maybePromise, fn) => isPromisey(maybePromise) ? maybePromise.then(fn) : fn();
|
|
1579
|
+
/**
|
|
1580
|
+
* Check that a value is a `Promise`. To check, we first see if the value is an
|
|
1581
|
+
* instance of the `Promise` global. In a few circumstances, in particular if
|
|
1582
|
+
* the global has been overwritten, this is could be misleading, so we also do
|
|
1583
|
+
* a little 'duck typing' check to see if the `.then` property of the value is
|
|
1584
|
+
* defined and a function.
|
|
1585
|
+
*
|
|
1586
|
+
* @param maybePromise it might be a promise!
|
|
1587
|
+
* @returns whether it is or not
|
|
1588
|
+
*/
|
|
1589
|
+
const isPromisey = (maybePromise) => maybePromise instanceof Promise ||
|
|
1590
|
+
(maybePromise && maybePromise.then && typeof maybePromise.then === 'function');
|
|
1591
|
+
/**
|
|
1592
|
+
* Update a component given reference to its host elements and so on.
|
|
1593
|
+
*
|
|
1594
|
+
* @param hostRef an object containing references to the element's host node,
|
|
1595
|
+
* VDom nodes, and other metadata
|
|
1596
|
+
* @param instance a reference to the underlying host element where it will be
|
|
1597
|
+
* rendered
|
|
1598
|
+
* @param isInitialLoad whether or not this function is being called as part of
|
|
1599
|
+
* the first render cycle
|
|
1600
|
+
*/
|
|
1396
1601
|
const updateComponent = async (hostRef, instance, isInitialLoad) => {
|
|
1397
|
-
|
|
1602
|
+
var _a;
|
|
1398
1603
|
const elm = hostRef.$hostElement$;
|
|
1399
1604
|
const endUpdate = createTime('update', hostRef.$cmpMeta$.$tagName$);
|
|
1400
1605
|
const rc = elm['s-rc'];
|
|
@@ -1404,7 +1609,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
|
|
|
1404
1609
|
}
|
|
1405
1610
|
const endRender = createTime('render', hostRef.$cmpMeta$.$tagName$);
|
|
1406
1611
|
{
|
|
1407
|
-
callRender(hostRef, instance);
|
|
1612
|
+
callRender(hostRef, instance, elm, isInitialLoad);
|
|
1408
1613
|
}
|
|
1409
1614
|
if (rc) {
|
|
1410
1615
|
// ok, so turns out there are some child host elements
|
|
@@ -1416,7 +1621,7 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
|
|
|
1416
1621
|
endRender();
|
|
1417
1622
|
endUpdate();
|
|
1418
1623
|
{
|
|
1419
|
-
const childrenPromises = elm['s-p'];
|
|
1624
|
+
const childrenPromises = (_a = elm['s-p']) !== null && _a !== void 0 ? _a : [];
|
|
1420
1625
|
const postUpdate = () => postUpdateComponent(hostRef);
|
|
1421
1626
|
if (childrenPromises.length === 0) {
|
|
1422
1627
|
postUpdate();
|
|
@@ -1428,8 +1633,24 @@ const updateComponent = async (hostRef, instance, isInitialLoad) => {
|
|
|
1428
1633
|
}
|
|
1429
1634
|
}
|
|
1430
1635
|
};
|
|
1431
|
-
|
|
1636
|
+
/**
|
|
1637
|
+
* Handle making the call to the VDom renderer with the proper context given
|
|
1638
|
+
* various build variables
|
|
1639
|
+
*
|
|
1640
|
+
* @param hostRef an object containing references to the element's host node,
|
|
1641
|
+
* VDom nodes, and other metadata
|
|
1642
|
+
* @param instance a reference to the underlying host element where it will be
|
|
1643
|
+
* rendered
|
|
1644
|
+
* @param elm the Host element for the component
|
|
1645
|
+
* @param isInitialLoad whether or not this function is being called as part of
|
|
1646
|
+
* @returns an empty promise
|
|
1647
|
+
*/
|
|
1648
|
+
const callRender = (hostRef, instance, elm, isInitialLoad) => {
|
|
1432
1649
|
try {
|
|
1650
|
+
/**
|
|
1651
|
+
* minification optimization: `allRenderFn` is `true` if all components have a `render`
|
|
1652
|
+
* method, so we can call the method immediately. If not, check before calling it.
|
|
1653
|
+
*/
|
|
1433
1654
|
instance = instance.render() ;
|
|
1434
1655
|
{
|
|
1435
1656
|
hostRef.$flags$ &= ~16 /* HOST_FLAGS.isQueuedForUpdate */;
|
|
@@ -1443,7 +1664,7 @@ const callRender = (hostRef, instance, elm) => {
|
|
|
1443
1664
|
// or we need to update the css class/attrs on the host element
|
|
1444
1665
|
// DOM WRITE!
|
|
1445
1666
|
{
|
|
1446
|
-
renderVdom(hostRef, instance);
|
|
1667
|
+
renderVdom(hostRef, instance, isInitialLoad);
|
|
1447
1668
|
}
|
|
1448
1669
|
}
|
|
1449
1670
|
}
|
|
@@ -1509,6 +1730,16 @@ const appDidLoad = (who) => {
|
|
|
1509
1730
|
}
|
|
1510
1731
|
nextTick(() => emitEvent(win, 'appload', { detail: { namespace: NAMESPACE } }));
|
|
1511
1732
|
};
|
|
1733
|
+
/**
|
|
1734
|
+
* Allows to safely call a method, e.g. `componentDidLoad`, on an instance,
|
|
1735
|
+
* e.g. custom element node. If a build figures out that e.g. no component
|
|
1736
|
+
* has a `componentDidLoad` method, the instance method gets removed from the
|
|
1737
|
+
* output bundle and this function returns `undefined`.
|
|
1738
|
+
* @param instance any object that may or may not contain methods
|
|
1739
|
+
* @param method method name
|
|
1740
|
+
* @param arg single arbitrary argument
|
|
1741
|
+
* @returns result of method call if it exists, otherwise `undefined`
|
|
1742
|
+
*/
|
|
1512
1743
|
const safeCall = (instance, method, arg) => {
|
|
1513
1744
|
if (instance && instance[method]) {
|
|
1514
1745
|
try {
|
|
@@ -1520,9 +1751,6 @@ const safeCall = (instance, method, arg) => {
|
|
|
1520
1751
|
}
|
|
1521
1752
|
return undefined;
|
|
1522
1753
|
};
|
|
1523
|
-
const then = (promise, thenFn) => {
|
|
1524
|
-
return promise && promise.then ? promise.then(thenFn) : thenFn();
|
|
1525
|
-
};
|
|
1526
1754
|
const addHydratedFlag = (elm) => elm.classList.add('hydrated')
|
|
1527
1755
|
;
|
|
1528
1756
|
const getValue = (ref, propName) => getHostRef(ref).$instanceValues$.get(propName);
|
|
@@ -1579,6 +1807,7 @@ const setValue = (ref, propName, newVal, cmpMeta) => {
|
|
|
1579
1807
|
* @returns a reference to the same constructor passed in (but now mutated)
|
|
1580
1808
|
*/
|
|
1581
1809
|
const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
1810
|
+
var _a;
|
|
1582
1811
|
if (cmpMeta.$members$) {
|
|
1583
1812
|
if (Cstr.watchers) {
|
|
1584
1813
|
cmpMeta.$watchers$ = Cstr.watchers;
|
|
@@ -1606,7 +1835,7 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
|
1606
1835
|
});
|
|
1607
1836
|
{
|
|
1608
1837
|
const attrNameToPropName = new Map();
|
|
1609
|
-
prototype.attributeChangedCallback = function (attrName,
|
|
1838
|
+
prototype.attributeChangedCallback = function (attrName, oldValue, newValue) {
|
|
1610
1839
|
plt.jmp(() => {
|
|
1611
1840
|
const propName = attrNameToPropName.get(attrName);
|
|
1612
1841
|
// In a web component lifecycle the attributeChangedCallback runs prior to connectedCallback
|
|
@@ -1629,12 +1858,12 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
|
1629
1858
|
// customElements.define('my-component', MyComponent);
|
|
1630
1859
|
// </script>
|
|
1631
1860
|
// ```
|
|
1632
|
-
// In this case if we do not
|
|
1861
|
+
// In this case if we do not un-shadow here and use the value of the shadowing property, attributeChangedCallback
|
|
1633
1862
|
// will be called with `newValue = "some-value"` and will set the shadowed property (this.someAttribute = "another-value")
|
|
1634
1863
|
// to the value that was set inline i.e. "some-value" from above example. When
|
|
1635
|
-
// the connectedCallback attempts to
|
|
1864
|
+
// the connectedCallback attempts to un-shadow it will use "some-value" as the initial value rather than "another-value"
|
|
1636
1865
|
//
|
|
1637
|
-
// The case where the attribute was NOT set inline but was not set programmatically shall be handled/
|
|
1866
|
+
// The case where the attribute was NOT set inline but was not set programmatically shall be handled/un-shadowed
|
|
1638
1867
|
// by connectedCallback as this attributeChangedCallback will not fire.
|
|
1639
1868
|
//
|
|
1640
1869
|
// https://developers.google.com/web/fundamentals/web-components/best-practices#lazy-properties
|
|
@@ -1654,32 +1883,73 @@ const proxyComponent = (Cstr, cmpMeta, flags) => {
|
|
|
1654
1883
|
// `propName` to be converted to a `DOMString`, which may not be what we want for other primitive props.
|
|
1655
1884
|
return;
|
|
1656
1885
|
}
|
|
1886
|
+
else if (propName == null) {
|
|
1887
|
+
// At this point we should know this is not a "member", so we can treat it like watching an attribute
|
|
1888
|
+
// on a vanilla web component
|
|
1889
|
+
const hostRef = getHostRef(this);
|
|
1890
|
+
const flags = hostRef === null || hostRef === void 0 ? void 0 : hostRef.$flags$;
|
|
1891
|
+
// We only want to trigger the callback(s) if:
|
|
1892
|
+
// 1. The instance is ready
|
|
1893
|
+
// 2. The watchers are ready
|
|
1894
|
+
// 3. The value has changed
|
|
1895
|
+
if (!(flags & 8 /* HOST_FLAGS.isConstructingInstance */) &&
|
|
1896
|
+
flags & 128 /* HOST_FLAGS.isWatchReady */ &&
|
|
1897
|
+
newValue !== oldValue) {
|
|
1898
|
+
const elm = this;
|
|
1899
|
+
const instance = elm;
|
|
1900
|
+
const entry = cmpMeta.$watchers$[attrName];
|
|
1901
|
+
entry === null || entry === void 0 ? void 0 : entry.forEach((callbackName) => {
|
|
1902
|
+
if (instance[callbackName] != null) {
|
|
1903
|
+
instance[callbackName].call(instance, newValue, oldValue, attrName);
|
|
1904
|
+
}
|
|
1905
|
+
});
|
|
1906
|
+
}
|
|
1907
|
+
return;
|
|
1908
|
+
}
|
|
1657
1909
|
this[propName] = newValue === null && typeof this[propName] === 'boolean' ? false : newValue;
|
|
1658
1910
|
});
|
|
1659
1911
|
};
|
|
1660
|
-
//
|
|
1661
|
-
//
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1912
|
+
// Create an array of attributes to observe
|
|
1913
|
+
// This list in comprised of all strings used within a `@Watch()` decorator
|
|
1914
|
+
// on a component as well as any Stencil-specific "members" (`@Prop()`s and `@State()`s).
|
|
1915
|
+
// As such, there is no way to guarantee type-safety here that a user hasn't entered
|
|
1916
|
+
// an invalid attribute.
|
|
1917
|
+
Cstr.observedAttributes = Array.from(new Set([
|
|
1918
|
+
...Object.keys((_a = cmpMeta.$watchers$) !== null && _a !== void 0 ? _a : {}),
|
|
1919
|
+
...members
|
|
1920
|
+
.filter(([_, m]) => m[0] & 15 /* MEMBER_FLAGS.HasAttribute */)
|
|
1921
|
+
.map(([propName, m]) => {
|
|
1922
|
+
const attrName = m[1] || propName;
|
|
1923
|
+
attrNameToPropName.set(attrName, propName);
|
|
1924
|
+
if (m[0] & 512 /* MEMBER_FLAGS.ReflectAttr */) {
|
|
1925
|
+
cmpMeta.$attrsToReflect$.push([propName, attrName]);
|
|
1926
|
+
}
|
|
1927
|
+
return attrName;
|
|
1928
|
+
}),
|
|
1929
|
+
]));
|
|
1672
1930
|
}
|
|
1673
1931
|
}
|
|
1674
1932
|
return Cstr;
|
|
1675
1933
|
};
|
|
1676
|
-
|
|
1934
|
+
/**
|
|
1935
|
+
* Initialize a Stencil component given a reference to its host element, its
|
|
1936
|
+
* runtime bookkeeping data structure, runtime metadata about the component,
|
|
1937
|
+
* and (optionally) an HMR version ID.
|
|
1938
|
+
*
|
|
1939
|
+
* @param elm a host element
|
|
1940
|
+
* @param hostRef the element's runtime bookkeeping object
|
|
1941
|
+
* @param cmpMeta runtime metadata for the Stencil component
|
|
1942
|
+
* @param hmrVersionId an (optional) HMR version ID
|
|
1943
|
+
*/
|
|
1944
|
+
const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
|
|
1945
|
+
let Cstr;
|
|
1677
1946
|
// initializeComponent
|
|
1678
1947
|
if ((hostRef.$flags$ & 32 /* HOST_FLAGS.hasInitializedComponent */) === 0) {
|
|
1948
|
+
// Let the runtime know that the component has been initialized
|
|
1949
|
+
hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
|
|
1679
1950
|
{
|
|
1680
1951
|
// sync constructor component
|
|
1681
1952
|
Cstr = elm.constructor;
|
|
1682
|
-
hostRef.$flags$ |= 32 /* HOST_FLAGS.hasInitializedComponent */;
|
|
1683
1953
|
// wait for the CustomElementRegistry to mark the component as ready before setting `isWatchReady`. Otherwise,
|
|
1684
1954
|
// watchers may fire prematurely if `customElements.get()`/`customElements.whenDefined()` resolves _before_
|
|
1685
1955
|
// Stencil has completed instantiating the component.
|
|
@@ -1712,6 +1982,8 @@ const initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId, Cstr) =>
|
|
|
1712
1982
|
schedule();
|
|
1713
1983
|
}
|
|
1714
1984
|
};
|
|
1985
|
+
const fireConnectedCallback = (instance) => {
|
|
1986
|
+
};
|
|
1715
1987
|
const connectedCallback = (elm) => {
|
|
1716
1988
|
if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
|
|
1717
1989
|
const hostRef = getHostRef(elm);
|
|
@@ -1725,7 +1997,7 @@ const connectedCallback = (elm) => {
|
|
|
1725
1997
|
// if the slot polyfill is required we'll need to put some nodes
|
|
1726
1998
|
// in here to act as original content anchors as we move nodes around
|
|
1727
1999
|
// host element has been connected to the DOM
|
|
1728
|
-
if ((// TODO(STENCIL-
|
|
2000
|
+
if ((// TODO(STENCIL-854): Remove code related to legacy shadowDomShim field
|
|
1729
2001
|
cmpMeta.$flags$ & (4 /* CMP_FLAGS.hasSlotRelocation */ | 8 /* CMP_FLAGS.needsShadowDomShim */))) {
|
|
1730
2002
|
setContentReference(elm);
|
|
1731
2003
|
}
|
|
@@ -1765,6 +2037,11 @@ const connectedCallback = (elm) => {
|
|
|
1765
2037
|
// reattach any event listeners to the host
|
|
1766
2038
|
// since they would have been removed when disconnected
|
|
1767
2039
|
addHostEventListeners(elm, hostRef, cmpMeta.$listeners$);
|
|
2040
|
+
// fire off connectedCallback() on component instance
|
|
2041
|
+
if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$lazyInstance$) ;
|
|
2042
|
+
else if (hostRef === null || hostRef === void 0 ? void 0 : hostRef.$onReadyPromise$) {
|
|
2043
|
+
hostRef.$onReadyPromise$.then(() => fireConnectedCallback());
|
|
2044
|
+
}
|
|
1768
2045
|
}
|
|
1769
2046
|
endConnected();
|
|
1770
2047
|
}
|
|
@@ -1780,7 +2057,7 @@ const setContentReference = (elm) => {
|
|
|
1780
2057
|
contentRefElm['s-cn'] = true;
|
|
1781
2058
|
elm.insertBefore(contentRefElm, elm.firstChild);
|
|
1782
2059
|
};
|
|
1783
|
-
const disconnectedCallback = (elm) => {
|
|
2060
|
+
const disconnectedCallback = async (elm) => {
|
|
1784
2061
|
if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0) {
|
|
1785
2062
|
const hostRef = getHostRef(elm);
|
|
1786
2063
|
{
|
|
@@ -1791,6 +2068,44 @@ const disconnectedCallback = (elm) => {
|
|
|
1791
2068
|
}
|
|
1792
2069
|
}
|
|
1793
2070
|
};
|
|
2071
|
+
const patchChildSlotNodes = (elm, cmpMeta) => {
|
|
2072
|
+
class FakeNodeList extends Array {
|
|
2073
|
+
item(n) {
|
|
2074
|
+
return this[n];
|
|
2075
|
+
}
|
|
2076
|
+
}
|
|
2077
|
+
// TODO(STENCIL-854): Remove code related to legacy shadowDomShim field
|
|
2078
|
+
if (cmpMeta.$flags$ & 8 /* CMP_FLAGS.needsShadowDomShim */) {
|
|
2079
|
+
const childNodesFn = elm.__lookupGetter__('childNodes');
|
|
2080
|
+
Object.defineProperty(elm, 'children', {
|
|
2081
|
+
get() {
|
|
2082
|
+
return this.childNodes.map((n) => n.nodeType === 1);
|
|
2083
|
+
},
|
|
2084
|
+
});
|
|
2085
|
+
Object.defineProperty(elm, 'childElementCount', {
|
|
2086
|
+
get() {
|
|
2087
|
+
return elm.children.length;
|
|
2088
|
+
},
|
|
2089
|
+
});
|
|
2090
|
+
Object.defineProperty(elm, 'childNodes', {
|
|
2091
|
+
get() {
|
|
2092
|
+
const childNodes = childNodesFn.call(this);
|
|
2093
|
+
if ((plt.$flags$ & 1 /* PLATFORM_FLAGS.isTmpDisconnected */) === 0 &&
|
|
2094
|
+
getHostRef(this).$flags$ & 2 /* HOST_FLAGS.hasRendered */) {
|
|
2095
|
+
const result = new FakeNodeList();
|
|
2096
|
+
for (let i = 0; i < childNodes.length; i++) {
|
|
2097
|
+
const slot = childNodes[i]['s-nr'];
|
|
2098
|
+
if (slot) {
|
|
2099
|
+
result.push(slot);
|
|
2100
|
+
}
|
|
2101
|
+
}
|
|
2102
|
+
return result;
|
|
2103
|
+
}
|
|
2104
|
+
return FakeNodeList.from(childNodes);
|
|
2105
|
+
},
|
|
2106
|
+
});
|
|
2107
|
+
}
|
|
2108
|
+
};
|
|
1794
2109
|
const proxyCustomElement = (Cstr, compactMeta) => {
|
|
1795
2110
|
const cmpMeta = {
|
|
1796
2111
|
$flags$: compactMeta[0],
|
|
@@ -1808,6 +2123,13 @@ const proxyCustomElement = (Cstr, compactMeta) => {
|
|
|
1808
2123
|
{
|
|
1809
2124
|
cmpMeta.$attrsToReflect$ = [];
|
|
1810
2125
|
}
|
|
2126
|
+
// TODO(STENCIL-914): this check and `else` block can go away and be replaced by just `BUILD.scoped` once we
|
|
2127
|
+
// default our pseudo-slot behavior
|
|
2128
|
+
{
|
|
2129
|
+
{
|
|
2130
|
+
patchChildSlotNodes(Cstr.prototype, cmpMeta);
|
|
2131
|
+
}
|
|
2132
|
+
}
|
|
1811
2133
|
const originalConnectedCallback = Cstr.prototype.connectedCallback;
|
|
1812
2134
|
const originalDisconnectedCallback = Cstr.prototype.disconnectedCallback;
|
|
1813
2135
|
Object.assign(Cstr.prototype, {
|
|
@@ -1881,22 +2203,41 @@ const hostListenerOpts = (flags) => (flags & 2 /* LISTENER_FLAGS.Capture */) !==
|
|
|
1881
2203
|
*/
|
|
1882
2204
|
const setNonce = (nonce) => (plt.$nonce$ = nonce);
|
|
1883
2205
|
const setPlatformOptions = (opts) => Object.assign(plt, opts);
|
|
2206
|
+
/**
|
|
2207
|
+
* A WeakMap mapping runtime component references to their corresponding host reference
|
|
2208
|
+
* instances.
|
|
2209
|
+
*/
|
|
1884
2210
|
const hostRefs = /*@__PURE__*/ new WeakMap();
|
|
2211
|
+
/**
|
|
2212
|
+
* Given a {@link d.RuntimeRef} retrieve the corresponding {@link d.HostRef}
|
|
2213
|
+
*
|
|
2214
|
+
* @param ref the runtime ref of interest
|
|
2215
|
+
* @returns the Host reference (if found) or undefined
|
|
2216
|
+
*/
|
|
1885
2217
|
const getHostRef = (ref) => hostRefs.get(ref);
|
|
1886
|
-
|
|
2218
|
+
/**
|
|
2219
|
+
* Register a host element for a Stencil component, setting up various metadata
|
|
2220
|
+
* and callbacks based on {@link BUILD} flags as well as the component's runtime
|
|
2221
|
+
* metadata.
|
|
2222
|
+
*
|
|
2223
|
+
* @param hostElement the host element to register
|
|
2224
|
+
* @param cmpMeta runtime metadata for that component
|
|
2225
|
+
* @returns a reference to the host ref WeakMap
|
|
2226
|
+
*/
|
|
2227
|
+
const registerHost = (hostElement, cmpMeta) => {
|
|
1887
2228
|
const hostRef = {
|
|
1888
2229
|
$flags$: 0,
|
|
1889
|
-
$hostElement$:
|
|
2230
|
+
$hostElement$: hostElement,
|
|
1890
2231
|
$cmpMeta$: cmpMeta,
|
|
1891
2232
|
$instanceValues$: new Map(),
|
|
1892
2233
|
};
|
|
1893
2234
|
{
|
|
1894
2235
|
hostRef.$onReadyPromise$ = new Promise((r) => (hostRef.$onReadyResolve$ = r));
|
|
1895
|
-
|
|
1896
|
-
|
|
2236
|
+
hostElement['s-p'] = [];
|
|
2237
|
+
hostElement['s-rc'] = [];
|
|
1897
2238
|
}
|
|
1898
|
-
addHostEventListeners(
|
|
1899
|
-
return hostRefs.set(
|
|
2239
|
+
addHostEventListeners(hostElement, hostRef, cmpMeta.$listeners$);
|
|
2240
|
+
return hostRefs.set(hostElement, hostRef);
|
|
1900
2241
|
};
|
|
1901
2242
|
const isMemberInElement = (elm, memberName) => memberName in elm;
|
|
1902
2243
|
const consoleError = (e, el) => (0, console.error)(e, el);
|
|
@@ -1964,7 +2305,7 @@ const flush = () => {
|
|
|
1964
2305
|
}
|
|
1965
2306
|
}
|
|
1966
2307
|
};
|
|
1967
|
-
const nextTick =
|
|
2308
|
+
const nextTick = (cb) => promiseResolve().then(cb);
|
|
1968
2309
|
const writeTask = /*@__PURE__*/ queueTask(queueDomWrites, true);
|
|
1969
2310
|
|
|
1970
|
-
export { Build as B, Env as E, Fragment as F, H, setNonce as a, setPlatformOptions as b, createEvent as c, Host as d, h, proxyCustomElement as p, setAssetPath as s };
|
|
2311
|
+
export { Build as B, Env as E, Fragment as F, H, setNonce as a, setPlatformOptions as b, createEvent as c, Host as d, getAssetPath as g, h, proxyCustomElement as p, setAssetPath as s };
|