@ember-eui/core 11.0.3 → 12.0.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/README.md +9 -7
- package/declarations/-private/random-id.d.ts +0 -1
- package/declarations/-private/random-id.d.ts.map +1 -1
- package/declarations/components/eui-accordion.d.ts +2 -1
- package/declarations/components/eui-accordion.d.ts.map +1 -1
- package/declarations/components/eui-breadcrumbs.d.ts +2 -1
- package/declarations/components/eui-breadcrumbs.d.ts.map +1 -1
- package/declarations/components/eui-code-block/virtualized.d.ts +1 -1
- package/declarations/components/eui-code-block.d.ts +2 -1
- package/declarations/components/eui-code-block.d.ts.map +1 -1
- package/declarations/components/eui-code.d.ts +2 -1
- package/declarations/components/eui-code.d.ts.map +1 -1
- package/declarations/components/eui-combo-box/options.d.ts +1 -1
- package/declarations/components/eui-combo-box/options.d.ts.map +1 -1
- package/declarations/components/eui-combo-box/trigger/input.d.ts +1 -1
- package/declarations/components/eui-combo-box/trigger/input.d.ts.map +1 -1
- package/declarations/components/eui-combo-box.d.ts +1 -0
- package/declarations/components/eui-combo-box.d.ts.map +1 -1
- package/declarations/components/eui-form-control-layout-custom-icon.d.ts +1 -1
- package/declarations/components/eui-global-toast-list.d.ts +2 -1
- package/declarations/components/eui-global-toast-list.d.ts.map +1 -1
- package/declarations/components/eui-hide-for.d.ts.map +1 -1
- package/declarations/components/eui-i18n.d.ts +1 -1
- package/declarations/components/eui-icon.d.ts +1 -0
- package/declarations/components/eui-icon.d.ts.map +1 -1
- package/declarations/components/eui-markdown-editor-toolbar.d.ts +1 -1
- package/declarations/components/eui-markdown-editor.d.ts +3 -2
- package/declarations/components/eui-markdown-editor.d.ts.map +1 -1
- package/declarations/components/eui-page-header-content.d.ts +1 -1
- package/declarations/components/eui-popover.d.ts +2 -1
- package/declarations/components/eui-popover.d.ts.map +1 -1
- package/declarations/components/eui-portal.d.ts +2 -1
- package/declarations/components/eui-portal.d.ts.map +1 -1
- package/declarations/components/eui-range-track.d.ts +1 -1
- package/declarations/components/eui-show-for.d.ts +1 -1
- package/declarations/components/eui-show-for.d.ts.map +1 -1
- package/declarations/components/eui-super-date-picker/date-popover/absolute-tab.d.ts +2 -1
- package/declarations/components/eui-super-date-picker/date-popover/absolute-tab.d.ts.map +1 -1
- package/declarations/components/eui-super-date-picker/date-popover/datetime-picker.d.ts +2 -1
- package/declarations/components/eui-super-date-picker/date-popover/datetime-picker.d.ts.map +1 -1
- package/declarations/components/eui-super-date-picker/date-popover/eui-date-popover-content.d.ts +1 -1
- package/declarations/components/eui-super-date-picker/date-popover/relative-tab.d.ts +2 -1
- package/declarations/components/eui-super-date-picker/date-popover/relative-tab.d.ts.map +1 -1
- package/declarations/components/eui-super-date-picker/eui-quick-select-popover/eui-quick-select.d.ts +2 -1
- package/declarations/components/eui-super-date-picker/eui-quick-select-popover/eui-quick-select.d.ts.map +1 -1
- package/declarations/components/eui-tabbed-content.d.ts +2 -1
- package/declarations/components/eui-tabbed-content.d.ts.map +1 -1
- package/declarations/components/eui-tool-tip-popover.d.ts +2 -1
- package/declarations/components/eui-tool-tip-popover.d.ts.map +1 -1
- package/declarations/components.d.ts +148 -148
- package/declarations/helpers/arg-or-default.d.ts +1 -1
- package/declarations/helpers/eui-page-restrict-width.d.ts +1 -1
- package/declarations/helpers/eui-palette.d.ts +1 -1
- package/declarations/helpers/get-range-tick.d.ts +2 -2
- package/declarations/helpers/hex-to-rgb.d.ts +1 -1
- package/declarations/helpers/is-color-dark.d.ts +1 -1
- package/declarations/helpers/is-item-open.d.ts +1 -1
- package/declarations/helpers/is-valid-hex.d.ts +1 -1
- package/declarations/helpers/nullish.d.ts +1 -1
- package/declarations/helpers/starts-with.d.ts +1 -1
- package/declarations/helpers/to-initials.d.ts +1 -1
- package/declarations/helpers/type-of.d.ts +3 -3
- package/declarations/helpers/type-of.d.ts.map +1 -1
- package/declarations/helpers/use-state.d.ts +1 -1
- package/declarations/modifiers/screen-reader-only.d.ts +1 -1
- package/declarations/modifiers/simple-style.d.ts +1 -1
- package/declarations/modifiers/validatable-control.d.ts +1 -1
- package/declarations/utils/markdown/markdown-modes.d.ts.map +1 -1
- package/dist/-private/random-id.js.map +1 -1
- package/dist/components/common.js.map +1 -1
- package/dist/components/eui-accordion.js +14 -14
- package/dist/components/eui-accordion.js.map +1 -1
- package/dist/components/eui-auto-sizer.js +31 -31
- package/dist/components/eui-auto-sizer.js.map +1 -1
- package/dist/components/eui-avatar.js +2 -2
- package/dist/components/eui-avatar.js.map +1 -1
- package/dist/components/eui-badge-group.js.map +1 -1
- package/dist/components/eui-badge.js +1 -1
- package/dist/components/eui-badge.js.map +1 -1
- package/dist/components/eui-beta-badge.js +1 -1
- package/dist/components/eui-beta-badge.js.map +1 -1
- package/dist/components/eui-bottom-bar.js +13 -13
- package/dist/components/eui-bottom-bar.js.map +1 -1
- package/dist/components/eui-breadcrumbs.js +40 -42
- package/dist/components/eui-breadcrumbs.js.map +1 -1
- package/dist/components/eui-button-content.js.map +1 -1
- package/dist/components/eui-button-empty.js +1 -1
- package/dist/components/eui-button-empty.js.map +1 -1
- package/dist/components/eui-button-group-button.js +1 -1
- package/dist/components/eui-button-group-button.js.map +1 -1
- package/dist/components/eui-button-group.js +1 -1
- package/dist/components/eui-button-group.js.map +1 -1
- package/dist/components/eui-button-icon.js +1 -1
- package/dist/components/eui-button-icon.js.map +1 -1
- package/dist/components/eui-button.js +2 -2
- package/dist/components/eui-button.js.map +1 -1
- package/dist/components/eui-call-out.js +1 -1
- package/dist/components/eui-call-out.js.map +1 -1
- package/dist/components/eui-card-select.js +8 -8
- package/dist/components/eui-card-select.js.map +1 -1
- package/dist/components/eui-card.js +6 -6
- package/dist/components/eui-card.js.map +1 -1
- package/dist/components/eui-checkable-card.js.map +1 -1
- package/dist/components/eui-checkbox-group.js +1 -1
- package/dist/components/eui-checkbox-group.js.map +1 -1
- package/dist/components/eui-checkbox.js +4 -4
- package/dist/components/eui-checkbox.js.map +1 -1
- package/dist/components/eui-code-block/controls.js.map +1 -1
- package/dist/components/eui-code-block/full-screen-display.js.map +1 -1
- package/dist/components/eui-code-block/virtualized.js +9 -9
- package/dist/components/eui-code-block/virtualized.js.map +1 -1
- package/dist/components/eui-code-block.js +71 -71
- package/dist/components/eui-code-block.js.map +1 -1
- package/dist/components/eui-code.js +16 -16
- package/dist/components/eui-code.js.map +1 -1
- package/dist/components/eui-collapsible-nav-group.js +1 -1
- package/dist/components/eui-collapsible-nav-group.js.map +1 -1
- package/dist/components/eui-collapsible-nav.js +21 -22
- package/dist/components/eui-collapsible-nav.js.map +1 -1
- package/dist/components/eui-combo-box/create-option.js +9 -9
- package/dist/components/eui-combo-box/create-option.js.map +1 -1
- package/dist/components/eui-combo-box/group.js.map +1 -1
- package/dist/components/eui-combo-box/no-matches-message.js.map +1 -1
- package/dist/components/eui-combo-box/options.js +16 -16
- package/dist/components/eui-combo-box/options.js.map +1 -1
- package/dist/components/eui-combo-box/search-message.js.map +1 -1
- package/dist/components/eui-combo-box/trigger/input.js +21 -22
- package/dist/components/eui-combo-box/trigger/input.js.map +1 -1
- package/dist/components/eui-combo-box/trigger.js +3 -3
- package/dist/components/eui-combo-box/trigger.js.map +1 -1
- package/dist/components/eui-combo-box-pill.js +1 -1
- package/dist/components/eui-combo-box-pill.js.map +1 -1
- package/dist/components/eui-combo-box.js +59 -60
- package/dist/components/eui-combo-box.js.map +1 -1
- package/dist/components/eui-comment-list.js.map +1 -1
- package/dist/components/eui-comment-timeline.js +1 -1
- package/dist/components/eui-comment-timeline.js.map +1 -1
- package/dist/components/eui-comment.js +1 -1
- package/dist/components/eui-comment.js.map +1 -1
- package/dist/components/eui-confirm-modal.js.map +1 -1
- package/dist/components/eui-context-menu-item.js +4 -4
- package/dist/components/eui-context-menu-item.js.map +1 -1
- package/dist/components/eui-context-menu-panel.js.map +1 -1
- package/dist/components/eui-copy.js +3 -3
- package/dist/components/eui-copy.js.map +1 -1
- package/dist/components/eui-described-form-group.js.map +1 -1
- package/dist/components/eui-description-list-description.js.map +1 -1
- package/dist/components/eui-description-list-title.js.map +1 -1
- package/dist/components/eui-description-list.js.map +1 -1
- package/dist/components/eui-dual-range.js +110 -110
- package/dist/components/eui-dual-range.js.map +1 -1
- package/dist/components/eui-empty-prompt.js +1 -1
- package/dist/components/eui-empty-prompt.js.map +1 -1
- package/dist/components/eui-field-number.js +1 -1
- package/dist/components/eui-field-number.js.map +1 -1
- package/dist/components/eui-field-password.js +1 -1
- package/dist/components/eui-field-password.js.map +1 -1
- package/dist/components/eui-field-search.js +26 -26
- package/dist/components/eui-field-search.js.map +1 -1
- package/dist/components/eui-field-text.js +1 -1
- package/dist/components/eui-field-text.js.map +1 -1
- package/dist/components/eui-file-picker.js +16 -16
- package/dist/components/eui-file-picker.js.map +1 -1
- package/dist/components/eui-flex-grid.js.map +1 -1
- package/dist/components/eui-flex-group.js.map +1 -1
- package/dist/components/eui-flex-item.js.map +1 -1
- package/dist/components/eui-flyout-body.js.map +1 -1
- package/dist/components/eui-flyout-footer.js.map +1 -1
- package/dist/components/eui-flyout-header.js.map +1 -1
- package/dist/components/eui-flyout.js +35 -36
- package/dist/components/eui-flyout.js.map +1 -1
- package/dist/components/eui-form-control-layout-clear-button.js.map +1 -1
- package/dist/components/eui-form-control-layout-custom-icon.js.map +1 -1
- package/dist/components/eui-form-control-layout-delimited.js +1 -1
- package/dist/components/eui-form-control-layout-delimited.js.map +1 -1
- package/dist/components/eui-form-control-layout-icons.js +1 -1
- package/dist/components/eui-form-control-layout-icons.js.map +1 -1
- package/dist/components/eui-form-control-layout.js +1 -1
- package/dist/components/eui-form-control-layout.js.map +1 -1
- package/dist/components/eui-form-error-text.js.map +1 -1
- package/dist/components/eui-form-fieldset.js.map +1 -1
- package/dist/components/eui-form-help-text.js.map +1 -1
- package/dist/components/eui-form-label.js.map +1 -1
- package/dist/components/eui-form-legend.js.map +1 -1
- package/dist/components/eui-form-row.js +4 -4
- package/dist/components/eui-form-row.js.map +1 -1
- package/dist/components/eui-form.js +1 -1
- package/dist/components/eui-form.js.map +1 -1
- package/dist/components/eui-global-toast-list.js +43 -43
- package/dist/components/eui-global-toast-list.js.map +1 -1
- package/dist/components/eui-header-alert.js.map +1 -1
- package/dist/components/eui-header-breadcrumbs.js.map +1 -1
- package/dist/components/eui-header-link.js.map +1 -1
- package/dist/components/eui-header-links.js +1 -1
- package/dist/components/eui-header-links.js.map +1 -1
- package/dist/components/eui-header-logo.js.map +1 -1
- package/dist/components/eui-header-section-item-button.js +6 -6
- package/dist/components/eui-header-section-item-button.js.map +1 -1
- package/dist/components/eui-header-section-item.js.map +1 -1
- package/dist/components/eui-header-section.js.map +1 -1
- package/dist/components/eui-header.js +2 -2
- package/dist/components/eui-header.js.map +1 -1
- package/dist/components/eui-health.js.map +1 -1
- package/dist/components/eui-hide-for.js.map +1 -1
- package/dist/components/eui-horizontal-rule.js.map +1 -1
- package/dist/components/eui-i18n/render.js.map +1 -1
- package/dist/components/eui-i18n.js +3 -3
- package/dist/components/eui-i18n.js.map +1 -1
- package/dist/components/eui-icon-tip.js.map +1 -1
- package/dist/components/eui-icon.js +43 -37
- package/dist/components/eui-icon.js.map +1 -1
- package/dist/components/eui-image.js +8 -8
- package/dist/components/eui-image.js.map +1 -1
- package/dist/components/eui-inner-text.js +11 -11
- package/dist/components/eui-inner-text.js.map +1 -1
- package/dist/components/eui-input-popover.js +32 -32
- package/dist/components/eui-input-popover.js.map +1 -1
- package/dist/components/eui-key-pad-menu-item.js +3 -3
- package/dist/components/eui-key-pad-menu-item.js.map +1 -1
- package/dist/components/eui-key-pad-menu.js.map +1 -1
- package/dist/components/eui-link.js +1 -1
- package/dist/components/eui-link.js.map +1 -1
- package/dist/components/eui-list-group-item.js +4 -1
- package/dist/components/eui-list-group-item.js.map +1 -1
- package/dist/components/eui-list-group.js +1 -1
- package/dist/components/eui-list-group.js.map +1 -1
- package/dist/components/eui-loading-content.js +1 -1
- package/dist/components/eui-loading-content.js.map +1 -1
- package/dist/components/eui-loading-logo.js.map +1 -1
- package/dist/components/eui-loading-spinner.js.map +1 -1
- package/dist/components/eui-markdown-editor-drop-zone.js.map +1 -1
- package/dist/components/eui-markdown-editor-footer/icons/markdown-logo.js.map +1 -1
- package/dist/components/eui-markdown-editor-footer.js +3 -3
- package/dist/components/eui-markdown-editor-footer.js.map +1 -1
- package/dist/components/eui-markdown-editor-text-area.js.map +1 -1
- package/dist/components/eui-markdown-editor-toolbar/icons/markdown-checkmark.js.map +1 -1
- package/dist/components/eui-markdown-editor-toolbar.js +9 -11
- package/dist/components/eui-markdown-editor-toolbar.js.map +1 -1
- package/dist/components/eui-markdown-editor.js +115 -117
- package/dist/components/eui-markdown-editor.js.map +1 -1
- package/dist/components/eui-markdown-format/markdown-checkbox.js +7 -7
- package/dist/components/eui-markdown-format/markdown-checkbox.js.map +1 -1
- package/dist/components/eui-markdown-format/markdown-code-block.js.map +1 -1
- package/dist/components/eui-markdown-format/markdown-code.js.map +1 -1
- package/dist/components/eui-markdown-format/markdown-tooltip.js.map +1 -1
- package/dist/components/eui-markdown-format.js +14 -16
- package/dist/components/eui-markdown-format.js.map +1 -1
- package/dist/components/eui-modal-body.js.map +1 -1
- package/dist/components/eui-modal-footer.js.map +1 -1
- package/dist/components/eui-modal-header-title.js.map +1 -1
- package/dist/components/eui-modal-header.js.map +1 -1
- package/dist/components/eui-modal.js +1 -1
- package/dist/components/eui-modal.js.map +1 -1
- package/dist/components/eui-notification-badge.js.map +1 -1
- package/dist/components/eui-notification-event-messages.js.map +1 -1
- package/dist/components/eui-notification-event-meta.js +1 -1
- package/dist/components/eui-notification-event-meta.js.map +1 -1
- package/dist/components/eui-notification-event-read-button.js.map +1 -1
- package/dist/components/eui-notification-event-read-icon.js.map +1 -1
- package/dist/components/eui-notification-event.js +1 -1
- package/dist/components/eui-notification-event.js.map +1 -1
- package/dist/components/eui-overlay-mask.js +6 -6
- package/dist/components/eui-overlay-mask.js.map +1 -1
- package/dist/components/eui-page-body.js.map +1 -1
- package/dist/components/eui-page-content-body.js.map +1 -1
- package/dist/components/eui-page-content-header-section.js.map +1 -1
- package/dist/components/eui-page-content-header.js.map +1 -1
- package/dist/components/eui-page-content.js.map +1 -1
- package/dist/components/eui-page-header-content.js +4 -4
- package/dist/components/eui-page-header-content.js.map +1 -1
- package/dist/components/eui-page-header-section.js.map +1 -1
- package/dist/components/eui-page-header.js +1 -1
- package/dist/components/eui-page-header.js.map +1 -1
- package/dist/components/eui-page-side-bar.js.map +1 -1
- package/dist/components/eui-page-template.js +12 -12
- package/dist/components/eui-page-template.js.map +1 -1
- package/dist/components/eui-page.js.map +1 -1
- package/dist/components/eui-pagination/button-wrapper.js.map +1 -1
- package/dist/components/eui-pagination/next-button.js +1 -1
- package/dist/components/eui-pagination/next-button.js.map +1 -1
- package/dist/components/eui-pagination/previous-button.js +1 -1
- package/dist/components/eui-pagination/previous-button.js.map +1 -1
- package/dist/components/eui-pagination-button.js.map +1 -1
- package/dist/components/eui-pagination.js +39 -39
- package/dist/components/eui-pagination.js.map +1 -1
- package/dist/components/eui-panel.js +1 -1
- package/dist/components/eui-panel.js.map +1 -1
- package/dist/components/eui-popover-footer.js.map +1 -1
- package/dist/components/eui-popover-title.js.map +1 -1
- package/dist/components/eui-popover.js +126 -126
- package/dist/components/eui-popover.js.map +1 -1
- package/dist/components/eui-portal.js +8 -8
- package/dist/components/eui-portal.js.map +1 -1
- package/dist/components/eui-progress.js +1 -1
- package/dist/components/eui-progress.js.map +1 -1
- package/dist/components/eui-radio-group.js +2 -2
- package/dist/components/eui-radio-group.js.map +1 -1
- package/dist/components/eui-radio.js +1 -1
- package/dist/components/eui-radio.js.map +1 -1
- package/dist/components/eui-range-highlight.js.map +1 -1
- package/dist/components/eui-range-input.js +1 -1
- package/dist/components/eui-range-input.js.map +1 -1
- package/dist/components/eui-range-label.js.map +1 -1
- package/dist/components/eui-range-levels.js +7 -7
- package/dist/components/eui-range-levels.js.map +1 -1
- package/dist/components/eui-range-slider.js.map +1 -1
- package/dist/components/eui-range-thumb.js.map +1 -1
- package/dist/components/eui-range-ticks.js +6 -6
- package/dist/components/eui-range-ticks.js.map +1 -1
- package/dist/components/eui-range-tooltip.js +20 -20
- package/dist/components/eui-range-tooltip.js.map +1 -1
- package/dist/components/eui-range-track.js +49 -49
- package/dist/components/eui-range-track.js.map +1 -1
- package/dist/components/eui-range-wrapper.js.map +1 -1
- package/dist/components/eui-range.js +26 -26
- package/dist/components/eui-range.js.map +1 -1
- package/dist/components/eui-select.js +1 -1
- package/dist/components/eui-select.js.map +1 -1
- package/dist/components/eui-selectable-list-item.js +1 -1
- package/dist/components/eui-selectable-list-item.js.map +1 -1
- package/dist/components/eui-show-for.js +8 -8
- package/dist/components/eui-show-for.js.map +1 -1
- package/dist/components/eui-side-nav-item/button.js.map +1 -1
- package/dist/components/eui-side-nav-item.js +1 -1
- package/dist/components/eui-side-nav-item.js.map +1 -1
- package/dist/components/eui-side-nav.js +4 -4
- package/dist/components/eui-side-nav.js.map +1 -1
- package/dist/components/eui-spacer.js.map +1 -1
- package/dist/components/eui-split-panel/inner.js.map +1 -1
- package/dist/components/eui-split-panel/outer.js +1 -1
- package/dist/components/eui-split-panel/outer.js.map +1 -1
- package/dist/components/eui-stat/description.js +1 -0
- package/dist/components/eui-stat/description.js.map +1 -1
- package/dist/components/eui-stat/title.js.map +1 -1
- package/dist/components/eui-stat.js +5 -5
- package/dist/components/eui-stat.js.map +1 -1
- package/dist/components/eui-step-horizontal.js.map +1 -1
- package/dist/components/eui-step-number.js +1 -1
- package/dist/components/eui-step-number.js.map +1 -1
- package/dist/components/eui-step.js.map +1 -1
- package/dist/components/eui-steps-horizontal.js.map +1 -1
- package/dist/components/eui-steps.js.map +1 -1
- package/dist/components/eui-sub-steps.js.map +1 -1
- package/dist/components/eui-super-date-picker/date-popover/absolute-tab.js +27 -27
- package/dist/components/eui-super-date-picker/date-popover/absolute-tab.js.map +1 -1
- package/dist/components/eui-super-date-picker/date-popover/datetime-picker.js +73 -73
- package/dist/components/eui-super-date-picker/date-popover/datetime-picker.js.map +1 -1
- package/dist/components/eui-super-date-picker/date-popover/eui-date-popover-button.js +6 -6
- package/dist/components/eui-super-date-picker/date-popover/eui-date-popover-button.js.map +1 -1
- package/dist/components/eui-super-date-picker/date-popover/eui-date-popover-content.js +5 -5
- package/dist/components/eui-super-date-picker/date-popover/eui-date-popover-content.js.map +1 -1
- package/dist/components/eui-super-date-picker/date-popover/now-tab.js.map +1 -1
- package/dist/components/eui-super-date-picker/date-popover/relative-tab.js +27 -27
- package/dist/components/eui-super-date-picker/date-popover/relative-tab.js.map +1 -1
- package/dist/components/eui-super-date-picker/eui-date-picker-range.js.map +1 -1
- package/dist/components/eui-super-date-picker/eui-quick-select-popover/eui-commonly-used-time-ranges.js +1 -1
- package/dist/components/eui-super-date-picker/eui-quick-select-popover/eui-commonly-used-time-ranges.js.map +1 -1
- package/dist/components/eui-super-date-picker/eui-quick-select-popover/eui-quick-select.js +25 -25
- package/dist/components/eui-super-date-picker/eui-quick-select-popover/eui-quick-select.js.map +1 -1
- package/dist/components/eui-super-date-picker/eui-quick-select-popover/eui-recently-used.js +1 -1
- package/dist/components/eui-super-date-picker/eui-quick-select-popover/eui-recently-used.js.map +1 -1
- package/dist/components/eui-super-date-picker/eui-quick-select-popover.js +9 -9
- package/dist/components/eui-super-date-picker/eui-quick-select-popover.js.map +1 -1
- package/dist/components/eui-super-date-picker/eui-super-update-button.js.map +1 -1
- package/dist/components/eui-super-date-picker/utils/date-utils.js.map +1 -1
- package/dist/components/eui-super-date-picker/utils/index.js.map +1 -1
- package/dist/components/eui-super-date-picker/utils/pretty-duration.js.map +1 -1
- package/dist/components/eui-super-date-picker/utils/quick-select.js +1 -1
- package/dist/components/eui-super-date-picker/utils/quick-select.js.map +1 -1
- package/dist/components/eui-super-date-picker/utils/time-options.js.map +1 -1
- package/dist/components/eui-super-date-picker.js +34 -34
- package/dist/components/eui-super-date-picker.js.map +1 -1
- package/dist/components/eui-switch.js +4 -4
- package/dist/components/eui-switch.js.map +1 -1
- package/dist/components/eui-tab.js +1 -1
- package/dist/components/eui-tab.js.map +1 -1
- package/dist/components/eui-tabbed-content.js +31 -31
- package/dist/components/eui-tabbed-content.js.map +1 -1
- package/dist/components/eui-tabs.js.map +1 -1
- package/dist/components/eui-text-align.js.map +1 -1
- package/dist/components/eui-text-area.js.map +1 -1
- package/dist/components/eui-text-color.js.map +1 -1
- package/dist/components/eui-text.js +1 -1
- package/dist/components/eui-text.js.map +1 -1
- package/dist/components/eui-title.js.map +1 -1
- package/dist/components/eui-toast.js.map +1 -1
- package/dist/components/eui-tool-tip-popover.js +5 -5
- package/dist/components/eui-tool-tip-popover.js.map +1 -1
- package/dist/components/eui-tool-tip.js +44 -46
- package/dist/components/eui-tool-tip.js.map +1 -1
- package/dist/components/text-block.js.map +1 -1
- package/dist/helpers/arg-or-default.js.map +1 -1
- package/dist/helpers/cast-to.js.map +1 -1
- package/dist/helpers/class-names.js.map +1 -1
- package/dist/helpers/eui-page-restrict-width.js.map +1 -1
- package/dist/helpers/eui-palette.js +1 -1
- package/dist/helpers/eui-palette.js.map +1 -1
- package/dist/helpers/get-eui-config.js +1 -1
- package/dist/helpers/get-eui-config.js.map +1 -1
- package/dist/helpers/get-range-tick.js.map +1 -1
- package/dist/helpers/hex-to-rgb.js.map +1 -1
- package/dist/helpers/inline-styles.js.map +1 -1
- package/dist/helpers/is-color-dark.js.map +1 -1
- package/dist/helpers/is-item-open.js.map +1 -1
- package/dist/helpers/is-valid-hex.js.map +1 -1
- package/dist/helpers/is-within-number.js.map +1 -1
- package/dist/helpers/merge.js.map +1 -1
- package/dist/helpers/nullish.js.map +1 -1
- package/dist/helpers/starts-with.js.map +1 -1
- package/dist/helpers/to-initials.js.map +1 -1
- package/dist/helpers/type-of.js.map +1 -1
- package/dist/helpers/use-state.js +1 -1
- package/dist/helpers/use-state.js.map +1 -1
- package/dist/i18n/util.js.map +1 -1
- package/dist/modifiers/mutation-observer.js.map +1 -1
- package/dist/modifiers/outside-click-detector.js +4 -0
- package/dist/modifiers/outside-click-detector.js.map +1 -1
- package/dist/modifiers/resize-observer.js +3 -0
- package/dist/modifiers/resize-observer.js.map +1 -1
- package/dist/modifiers/screen-reader-only.js.map +1 -1
- package/dist/modifiers/simple-style.js.map +1 -1
- package/dist/modifiers/use-is-within-breakpoints.js.map +1 -1
- package/dist/modifiers/validatable-control.js.map +1 -1
- package/dist/services/eui-config.js +1 -1
- package/dist/services/eui-config.js.map +1 -1
- package/dist/services/eui-i18n.js.map +1 -1
- package/dist/services/eui-toaster.js +1 -1
- package/dist/services/eui-toaster.js.map +1 -1
- package/dist/utils/accesibility/accessible-click-keys.js +1 -1
- package/dist/utils/accesibility/accessible-click-keys.js.map +1 -1
- package/dist/utils/accesibility/cascading-menu-keys.js +1 -1
- package/dist/utils/accesibility/cascading-menu-keys.js.map +1 -1
- package/dist/utils/accesibility/combo-box-keys.js +1 -1
- package/dist/utils/accesibility/combo-box-keys.js.map +1 -1
- package/dist/utils/breakpoint.js.map +1 -1
- package/dist/utils/browser/browser.js.map +1 -1
- package/dist/utils/code/utils.js.map +1 -1
- package/dist/utils/color/color_palette.js.map +1 -1
- package/dist/utils/color/eui_palettes.js.map +1 -1
- package/dist/utils/copy-to-clipboard.js.map +1 -1
- package/dist/utils/css-mappings/eui-accordion.js.map +1 -1
- package/dist/utils/css-mappings/eui-avatar.js +1 -1
- package/dist/utils/css-mappings/eui-avatar.js.map +1 -1
- package/dist/utils/css-mappings/eui-badge-group.js.map +1 -1
- package/dist/utils/css-mappings/eui-badge.js.map +1 -1
- package/dist/utils/css-mappings/eui-beta-badge.js.map +1 -1
- package/dist/utils/css-mappings/eui-bottom-bar.js.map +1 -1
- package/dist/utils/css-mappings/eui-button-empty.js.map +1 -1
- package/dist/utils/css-mappings/eui-button-group-button.js.map +1 -1
- package/dist/utils/css-mappings/eui-button-group.js.map +1 -1
- package/dist/utils/css-mappings/eui-button-icon.js.map +1 -1
- package/dist/utils/css-mappings/eui-button.js.map +1 -1
- package/dist/utils/css-mappings/eui-call-out.js.map +1 -1
- package/dist/utils/css-mappings/eui-card-select.js.map +1 -1
- package/dist/utils/css-mappings/eui-card.js.map +1 -1
- package/dist/utils/css-mappings/eui-code-block.js.map +1 -1
- package/dist/utils/css-mappings/eui-collapsible-nav-group.js.map +1 -1
- package/dist/utils/css-mappings/eui-comment-event.js.map +1 -1
- package/dist/utils/css-mappings/eui-comment-timeline-icon.js.map +1 -1
- package/dist/utils/css-mappings/eui-context-menu-item.js.map +1 -1
- package/dist/utils/css-mappings/eui-described-form-group.js.map +1 -1
- package/dist/utils/css-mappings/eui-description-list.js.map +1 -1
- package/dist/utils/css-mappings/eui-empty-prompt.js.map +1 -1
- package/dist/utils/css-mappings/eui-file-picker.js.map +1 -1
- package/dist/utils/css-mappings/eui-flex-grid.js.map +1 -1
- package/dist/utils/css-mappings/eui-flex-group.js.map +1 -1
- package/dist/utils/css-mappings/eui-flex-item.js.map +1 -1
- package/dist/utils/css-mappings/eui-flyout.js.map +1 -1
- package/dist/utils/css-mappings/eui-form-control-layout-clear-button.js.map +1 -1
- package/dist/utils/css-mappings/eui-form-row.js.map +1 -1
- package/dist/utils/css-mappings/eui-global-toast-list.js.map +1 -1
- package/dist/utils/css-mappings/eui-header-links.js.map +1 -1
- package/dist/utils/css-mappings/eui-header-section-item.js.map +1 -1
- package/dist/utils/css-mappings/eui-header-section.js.map +1 -1
- package/dist/utils/css-mappings/eui-header.js.map +1 -1
- package/dist/utils/css-mappings/eui-health.js.map +1 -1
- package/dist/utils/css-mappings/eui-horizontal-rule.js.map +1 -1
- package/dist/utils/css-mappings/eui-icon.js.map +1 -1
- package/dist/utils/css-mappings/eui-image.js.map +1 -1
- package/dist/utils/css-mappings/eui-link.js.map +1 -1
- package/dist/utils/css-mappings/eui-list-group-item.js.map +1 -1
- package/dist/utils/css-mappings/eui-list-group.js.map +1 -1
- package/dist/utils/css-mappings/eui-loading-spinner.js.map +1 -1
- package/dist/utils/css-mappings/eui-modal.js.map +1 -1
- package/dist/utils/css-mappings/eui-notification-badge.js.map +1 -1
- package/dist/utils/css-mappings/eui-page-body.js.map +1 -1
- package/dist/utils/css-mappings/eui-page-content-body.js.map +1 -1
- package/dist/utils/css-mappings/eui-page-content.js.map +1 -1
- package/dist/utils/css-mappings/eui-page-header.js.map +1 -1
- package/dist/utils/css-mappings/eui-page-side-bar.js.map +1 -1
- package/dist/utils/css-mappings/eui-page.js.map +1 -1
- package/dist/utils/css-mappings/eui-panel.js.map +1 -1
- package/dist/utils/css-mappings/eui-popover-footer.js.map +1 -1
- package/dist/utils/css-mappings/eui-popover-title.js.map +1 -1
- package/dist/utils/css-mappings/eui-popover.js.map +1 -1
- package/dist/utils/css-mappings/eui-progress-data.js.map +1 -1
- package/dist/utils/css-mappings/eui-progress.js.map +1 -1
- package/dist/utils/css-mappings/eui-range-highlight.js.map +1 -1
- package/dist/utils/css-mappings/eui-range-input.js.map +1 -1
- package/dist/utils/css-mappings/eui-range-levels.js.map +1 -1
- package/dist/utils/css-mappings/eui-selectable-list-item.js.map +1 -1
- package/dist/utils/css-mappings/eui-spacer.js.map +1 -1
- package/dist/utils/css-mappings/eui-stat.js.map +1 -1
- package/dist/utils/css-mappings/eui-step-number.js.map +1 -1
- package/dist/utils/css-mappings/eui-tabs.js.map +1 -1
- package/dist/utils/css-mappings/eui-text-align.js.map +1 -1
- package/dist/utils/css-mappings/eui-text-area.js.map +1 -1
- package/dist/utils/css-mappings/eui-text-color.js.map +1 -1
- package/dist/utils/css-mappings/eui-text.js.map +1 -1
- package/dist/utils/css-mappings/eui-title.js.map +1 -1
- package/dist/utils/css-mappings/eui-toast.js.map +1 -1
- package/dist/utils/css-mappings/eui-tool-tip.js.map +1 -1
- package/dist/utils/css-mappings/index.js +140 -140
- package/dist/utils/css-mappings/index.js.map +1 -1
- package/dist/utils/detect-element-resize.js.map +1 -1
- package/dist/utils/keys.js.map +1 -1
- package/dist/utils/markdown/markdown-actions.js +1 -0
- package/dist/utils/markdown/markdown-actions.js.map +1 -1
- package/dist/utils/markdown/markdown-modes.js.map +1 -1
- package/dist/utils/markdown/markdown-types.js.map +1 -1
- package/dist/utils/markdown/plugins/markdown-add-components/processor.js.map +1 -1
- package/dist/utils/markdown/plugins/markdown-checkbox/parser.js.map +1 -1
- package/dist/utils/markdown/plugins/markdown-default-plugins/parsing-plugins.js.map +1 -1
- package/dist/utils/markdown/plugins/markdown-default-plugins/plugins.js.map +1 -1
- package/dist/utils/markdown/plugins/markdown-default-plugins/processing-plugins.js.map +1 -1
- package/dist/utils/markdown/plugins/markdown-default-plugins/ui-plugins.js.map +1 -1
- package/dist/utils/markdown/plugins/markdown-tooltip/parser.js.map +1 -1
- package/dist/utils/markdown/plugins/markdown-tooltip/plugin.js.map +1 -1
- package/dist/utils/markdown/plugins/to-dom.js.map +1 -1
- package/dist/utils/markdown/remark/remark-prismjs.js.map +1 -1
- package/dist/utils/maybe-unwrap-proxy.js.map +1 -1
- package/dist/utils/number/number.js.map +1 -1
- package/dist/utils/popover/index.js +1 -4
- package/dist/utils/popover/index.js.map +1 -1
- package/dist/utils/predicate/common_predicates.js.map +1 -1
- package/dist/utils/predicate/lodash_predicates.js.map +1 -1
- package/dist/utils/timer.js +4 -1
- package/dist/utils/timer.js.map +1 -1
- package/dist/utils/transition.js.map +1 -1
- package/package.json +63 -46
- package/declarations/modifiers/open-collapsible-nav.d.ts +0 -9
- package/declarations/modifiers/open-collapsible-nav.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-form-row.js","sources":["../../src/components/eui-form-row.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport { helper } from '@ember/component/helper';\nimport { fn } from '@ember/helper';\nimport { array } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { and, eq, gt, not, or } from 'ember-truth-helpers';\nimport isArray from 'ember-truth-helpers/helpers/is-array';\nimport randomId from '../-private/random-id.ts';\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport useState from '../helpers/use-state.ts';\nimport EuiFormErrorText from './eui-form-error-text.gts';\nimport EuiFormHelpText from './eui-form-help-text.gts';\nimport EuiFormLabel from './eui-form-label.gts';\nimport type { displayMappingToClassMapping } from '../utils/css-mappings/eui-form-row.ts';\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\nexport interface EuiFormRowSignature {\n Element: HTMLDivElement | HTMLFieldSetElement;\n Args: {\n label?: string;\n labelAppend?: string;\n labelType?: 'label' | 'legend';\n legendType?: 'legend' | 'fieldset';\n fullWidth?: boolean;\n isInvalid?: boolean;\n isDisabled?: boolean;\n hasEmptyLabelSpace?: boolean;\n hasChildLabel?: boolean;\n isFakeLabelBlock?: boolean;\n helpText?: string;\n error?: string | string[] | null;\n errorClasses?: string;\n helpTextClasses?: string;\n id?: string;\n display?: keyof typeof displayMappingToClassMapping;\n extra?: unknown;\n };\n Blocks: {\n default: [];\n label: [string?];\n field: [];\n errors: [string?];\n helpText: [];\n };\n}\nexport function startsWith([needle1, word1]: [string, string | undefined]): boolean {\n return word1?.startsWith(needle1) || false;\n}\nconst startWith = helper(startsWith);\nconst EuiFormRow: TemplateOnlyComponent<EuiFormRowSignature> = template(`\n {{#let\n (classNames\n \"euiFormRow\"\n (if @hasEmptyLabelSpace \"euiFormRow--hasEmptyLabelSpace\")\n (if @fullWidth \"euiFormRow--fullWidth\")\n componentName=\"EuiFormRow\"\n display=@display\n )\n (classNames\n \"euiFormRow__fieldWrapper\"\n (if (startWith \"center\" @display) \"euiFormRow__fieldWrapperDisplayOnly\")\n )\n (if (isArray @error) @error (array @error))\n (and @label (eq @labelType \"legend\"))\n (useState false)\n (argOrDefault @id (randomId))\n (argOrDefault @hasChildLabel true)\n (and (not (argOrDefault @isFakeLabelBlock false)) (has-block \"label\"))\n as |classes fieldWrapperClasses errors isLegend focusedState rowId hasChildLabel hasLabelBlock|\n }}\n {{#if (eq @legendType \"legend\")}}\n <fieldset class={{classes}} id=\"{{rowId}}-row\" ...attributes>\n {{#if (or @label @labelAppend hasLabelBlock)}}\n <div class=\"euiFormRow__labelWrapper\">\n {{#if isLegend}}\n {{#if hasLabelBlock}}\n <EuiFormLabel\n class=\"euiFormRow__label\"\n for={{rowId}}\n aria-invalid={{@isInvalid}}\n @isInvalid={{@isInvalid}}\n @type={{@labelType}}\n >\n {{yield @label to=\"label\"}}\n </EuiFormLabel>\n {{else}}\n <EuiFormLabel\n class=\"euiFormRow__label\"\n for={{rowId}}\n aria-invalid={{@isInvalid}}\n @isInvalid={{@isInvalid}}\n @type={{@labelType}}\n >\n {{@label}}\n </EuiFormLabel>\n {{/if}}\n {{else if hasLabelBlock}}\n <EuiFormLabel\n class=\"euiFormRow__label\"\n aria-invalid={{@isInvalid}}\n for={{if hasChildLabel rowId}}\n @isInvalid={{@isInvalid}}\n @type={{@labelType}}\n @isFocused={{and\n (not @isDisabled)\n (not isLegend)\n focusedState.value\n }}\n >\n {{yield @label to=\"label\"}}\n </EuiFormLabel>\n {{else}}\n <EuiFormLabel\n class=\"euiFormRow__label\"\n aria-invalid={{@isInvalid}}\n for={{if hasChildLabel rowId}}\n @isInvalid={{@isInvalid}}\n @type={{@labelType}}\n @isFocused={{and\n (not @isDisabled)\n (not isLegend)\n focusedState.value\n }}\n >\n {{@label}}\n </EuiFormLabel>\n {{/if}}\n </div>\n {{/if}}\n <div\n class={{fieldWrapperClasses}}\n {{on \"focusin\" (fn focusedState.setState true)}}\n {{on \"focusout\" (fn focusedState.setState false)}}\n >\n {{#if (has-block \"field\")}}\n {{yield to=\"field\"}}\n {{else}}\n {{yield}}\n {{/if}}\n {{#if\n (or\n (and (has-block \"errors\") @isInvalid)\n (and (gt errors.length 0) @isInvalid)\n )\n }}\n {{#if (has-block \"errors\")}}\n {{#each errors as |error i|}}\n <EuiFormErrorText\n class=\"euiFormRow__text {{@errorClasses}}\"\n id=\"{{rowId}}-error-{{i}}\"\n >\n {{!@glint-ignore}}\n {{yield error to=\"errors\"}}\n </EuiFormErrorText>\n {{/each}}\n {{else}}\n {{#each errors as |error i|}}\n <EuiFormErrorText\n class=\"euiFormRow__text {{@errorClasses}}\"\n id=\"{{rowId}}-error-{{i}}\"\n >\n {{!@glint-ignore}}\n {{error}}\n </EuiFormErrorText>\n {{/each}}\n {{/if}}\n {{/if}}\n {{#if (or @helpText (has-block \"helpText\"))}}\n {{#if (has-block \"helpText\")}}\n <EuiFormHelpText id=\"{{rowId}}-help\" class={{@helpTextClasses}}>\n {{yield to=\"helpText\"}}\n </EuiFormHelpText>\n {{else}}\n <EuiFormHelpText id=\"{{rowId}}-help\" class={{@helpTextClasses}}>\n {{@helpText}}\n </EuiFormHelpText>\n {{/if}}\n {{/if}}\n </div>\n </fieldset>\n {{else}}\n <div class={{classes}} id=\"{{rowId}}-row\" ...attributes>\n {{#if (or @label @labelAppend hasLabelBlock)}}\n <div class=\"euiFormRow__labelWrapper\">\n {{#if isLegend}}\n {{#if hasLabelBlock}}\n <EuiFormLabel\n class=\"euiFormRow__label\"\n for={{rowId}}\n aria-invalid={{@isInvalid}}\n @isInvalid={{@isInvalid}}\n @type={{@labelType}}\n >\n {{yield @label to=\"label\"}}\n </EuiFormLabel>\n {{else}}\n <EuiFormLabel\n class=\"euiFormRow__label\"\n for={{rowId}}\n aria-invalid={{@isInvalid}}\n @isInvalid={{@isInvalid}}\n @type={{@labelType}}\n >\n {{@label}}\n </EuiFormLabel>\n {{/if}}\n {{else if hasLabelBlock}}\n <EuiFormLabel\n class=\"euiFormRow__label\"\n aria-invalid={{@isInvalid}}\n for={{if hasChildLabel rowId}}\n @isInvalid={{@isInvalid}}\n @type={{@labelType}}\n @isFocused={{and\n (not @isDisabled)\n (not isLegend)\n focusedState.value\n }}\n >\n {{yield @label to=\"label\"}}\n </EuiFormLabel>\n {{else}}\n <EuiFormLabel\n class=\"euiFormRow__label\"\n aria-invalid={{@isInvalid}}\n for={{if hasChildLabel rowId}}\n @isInvalid={{@isInvalid}}\n @type={{@labelType}}\n @isFocused={{and\n (not @isDisabled)\n (not isLegend)\n focusedState.value\n }}\n >\n {{@label}}\n </EuiFormLabel>\n {{/if}}\n </div>\n {{/if}}\n <div\n class={{fieldWrapperClasses}}\n {{on \"focusin\" (fn focusedState.setState true)}}\n {{on \"focusout\" (fn focusedState.setState false)}}\n >\n {{#if (has-block \"field\")}}\n {{yield to=\"field\"}}\n {{else}}\n {{yield}}\n {{/if}}\n {{#if\n (or\n (and (has-block \"errors\") @isInvalid)\n (and (gt errors.length 0) @isInvalid)\n )\n }}\n {{#if (has-block \"errors\")}}\n {{#each errors as |error i|}}\n <EuiFormErrorText\n class=\"euiFormRow__text {{@errorClasses}}\"\n id=\"{{rowId}}-error-{{i}}\"\n >\n {{!@glint-ignore}}\n {{yield error to=\"errors\"}}\n </EuiFormErrorText>\n {{/each}}\n {{else}}\n {{#each errors as |error i|}}\n <EuiFormErrorText\n class=\"euiFormRow__text {{@errorClasses}}\"\n id=\"{{rowId}}-error-{{i}}\"\n >\n {{!@glint-ignore}}\n {{error}}\n </EuiFormErrorText>\n {{/each}}\n {{/if}}\n {{/if}}\n {{#if (or @helpText (has-block \"helpText\"))}}\n {{#if (has-block \"helpText\")}}\n <EuiFormHelpText id=\"{{rowId}}-help\" class={{@helpTextClasses}}>\n {{yield to=\"helpText\"}}\n </EuiFormHelpText>\n {{else}}\n {{#let\n (if (isArray @helpText) @helpText (array @helpText))\n as |helpTexts|\n }}\n {{#each helpTexts as |helpText i|}}\n <EuiFormHelpText\n id=\"{{rowId}}-help-{{i}}\"\n class={{@helpTextClasses}}\n >\n {{helpText}}\n </EuiFormHelpText>\n {{/each}}\n {{/let}}\n {{/if}}\n {{/if}}\n </div>\n </div>\n {{/if}}\n {{/let}}\n`, {\n eval () {\n return eval(arguments[0]);\n }\n});\nexport default EuiFormRow;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9iZXRvY2FudHU5My9wcnlzbWV4L2VtYmVyLWV1aS9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL2V1aS1mb3JtLXJvdy5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaGVscGVyIH0gZnJvbSAnQGVtYmVyL2NvbXBvbmVudC9oZWxwZXInO1xuaW1wb3J0IHsgZm4gfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IGFycmF5IH0gZnJvbSAnQGVtYmVyL2hlbHBlcic7XG5pbXBvcnQgeyBvbiB9IGZyb20gJ0BlbWJlci9tb2RpZmllcic7XG5cbmltcG9ydCB7IGFuZCwgZXEsIGd0LG5vdCwgb3IgfSBmcm9tICdlbWJlci10cnV0aC1oZWxwZXJzJztcbmltcG9ydCBpc0FycmF5IGZyb20gJ2VtYmVyLXRydXRoLWhlbHBlcnMvaGVscGVycy9pcy1hcnJheSc7XG5cbmltcG9ydCByYW5kb21JZCBmcm9tICcuLi8tcHJpdmF0ZS9yYW5kb20taWQudHMnO1xuaW1wb3J0IGFyZ09yRGVmYXVsdCBmcm9tICcuLi9oZWxwZXJzL2FyZy1vci1kZWZhdWx0LnRzJztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJy4uL2hlbHBlcnMvY2xhc3MtbmFtZXMudHMnO1xuaW1wb3J0IHVzZVN0YXRlIGZyb20gJy4uL2hlbHBlcnMvdXNlLXN0YXRlLnRzJztcbmltcG9ydCBFdWlGb3JtRXJyb3JUZXh0IGZyb20gJy4vZXVpLWZvcm0tZXJyb3ItdGV4dC5ndHMnO1xuaW1wb3J0IEV1aUZvcm1IZWxwVGV4dCBmcm9tICcuL2V1aS1mb3JtLWhlbHAtdGV4dC5ndHMnO1xuaW1wb3J0IEV1aUZvcm1MYWJlbCBmcm9tICcuL2V1aS1mb3JtLWxhYmVsLmd0cyc7XG5cbmltcG9ydCB0eXBlIHsgZGlzcGxheU1hcHBpbmdUb0NsYXNzTWFwcGluZyB9IGZyb20gJy4uL3V0aWxzL2Nzcy1tYXBwaW5ncy9ldWktZm9ybS1yb3cudHMnO1xuaW1wb3J0IHR5cGUgeyBUZW1wbGF0ZU9ubHlDb21wb25lbnQgfSBmcm9tICdAZW1iZXIvY29tcG9uZW50L3RlbXBsYXRlLW9ubHknO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV1aUZvcm1Sb3dTaWduYXR1cmUge1xuICBFbGVtZW50OiBIVE1MRGl2RWxlbWVudCB8IEhUTUxGaWVsZFNldEVsZW1lbnQ7XG4gIEFyZ3M6IHtcbiAgICBsYWJlbD86IHN0cmluZztcbiAgICBsYWJlbEFwcGVuZD86IHN0cmluZztcbiAgICBsYWJlbFR5cGU_OiAnbGFiZWwnIHwgJ2xlZ2VuZCc7XG4gICAgbGVnZW5kVHlwZT86ICdsZWdlbmQnIHwgJ2ZpZWxkc2V0JztcbiAgICBmdWxsV2lkdGg_OiBib29sZWFuO1xuICAgIGlzSW52YWxpZD86IGJvb2xlYW47XG4gICAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gICAgaGFzRW1wdHlMYWJlbFNwYWNlPzogYm9vbGVhbjtcbiAgICBoYXNDaGlsZExhYmVsPzogYm9vbGVhbjtcbiAgICBpc0Zha2VMYWJlbEJsb2NrPzogYm9vbGVhbjtcbiAgICBoZWxwVGV4dD86IHN0cmluZztcbiAgICBlcnJvcj86IHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbDtcbiAgICBlcnJvckNsYXNzZXM_OiBzdHJpbmc7XG4gICAgaGVscFRleHRDbGFzc2VzPzogc3RyaW5nO1xuICAgIGlkPzogc3RyaW5nO1xuICAgIGRpc3BsYXk_OiBrZXlvZiB0eXBlb2YgZGlzcGxheU1hcHBpbmdUb0NsYXNzTWFwcGluZztcbiAgICBleHRyYT86IHVua25vd247XG4gIH07XG4gIEJsb2Nrczoge1xuICAgIGRlZmF1bHQ6IFtdO1xuICAgIGxhYmVsOiBbc3RyaW5nP107XG4gICAgZmllbGQ6IFtdO1xuICAgIGVycm9yczogW3N0cmluZz9dO1xuICAgIGhlbHBUZXh0OiBbXTtcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0YXJ0c1dpdGgoXG4gIFtuZWVkbGUsIHdvcmRdOiBbc3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWRdIC8qLCBoYXNoKi9cbik6IGJvb2xlYW4ge1xuICByZXR1cm4gd29yZD8uc3RhcnRzV2l0aChuZWVkbGUpIHx8IGZhbHNlO1xufVxuXG5jb25zdCBzdGFydFdpdGggPSBoZWxwZXIoc3RhcnRzV2l0aCk7XG5cbmNvbnN0IEV1aUZvcm1Sb3c6IFRlbXBsYXRlT25seUNvbXBvbmVudDxFdWlGb3JtUm93U2lnbmF0dXJlPiA9IDx0ZW1wbGF0ZT5cbiAge3sjbGV0XG4gICAgKGNsYXNzTmFtZXNcbiAgICAgIFwiZXVpRm9ybVJvd1wiXG4gICAgICAoaWYgQGhhc0VtcHR5TGFiZWxTcGFjZSBcImV1aUZvcm1Sb3ctLWhhc0VtcHR5TGFiZWxTcGFjZVwiKVxuICAgICAgKGlmIEBmdWxsV2lkdGggXCJldWlGb3JtUm93LS1mdWxsV2lkdGhcIilcbiAgICAgIGNvbXBvbmVudE5hbWU9XCJFdWlGb3JtUm93XCJcbiAgICAgIGRpc3BsYXk9QGRpc3BsYXlcbiAgICApXG4gICAgKGNsYXNzTmFtZXNcbiAgICAgIFwiZXVpRm9ybVJvd19fZmllbGRXcmFwcGVyXCJcbiAgICAgIChpZiAoc3RhcnRXaXRoIFwiY2VudGVyXCIgQGRpc3BsYXkpIFwiZXVpRm9ybVJvd19fZmllbGRXcmFwcGVyRGlzcGxheU9ubHlcIilcbiAgICApXG4gICAgKGlmIChpc0FycmF5IEBlcnJvcikgQGVycm9yIChhcnJheSBAZXJyb3IpKVxuICAgIChhbmQgQGxhYmVsIChlcSBAbGFiZWxUeXBlIFwibGVnZW5kXCIpKVxuICAgICh1c2VTdGF0ZSBmYWxzZSlcbiAgICAoYXJnT3JEZWZhdWx0IEBpZCAocmFuZG9tSWQpKVxuICAgIChhcmdPckRlZmF1bHQgQGhhc0NoaWxkTGFiZWwgdHJ1ZSlcbiAgICAoYW5kIChub3QgKGFyZ09yRGVmYXVsdCBAaXNGYWtlTGFiZWxCbG9jayBmYWxzZSkpIChoYXMtYmxvY2sgXCJsYWJlbFwiKSlcbiAgICBhcyB8Y2xhc3NlcyBmaWVsZFdyYXBwZXJDbGFzc2VzIGVycm9ycyBpc0xlZ2VuZCBmb2N1c2VkU3RhdGUgcm93SWQgaGFzQ2hpbGRMYWJlbCBoYXNMYWJlbEJsb2NrfFxuICB9fVxuICAgIHt7I2lmIChlcSBAbGVnZW5kVHlwZSBcImxlZ2VuZFwiKX19XG4gICAgICA8ZmllbGRzZXQgY2xhc3M9e3tjbGFzc2VzfX0gaWQ9XCJ7e3Jvd0lkfX0tcm93XCIgLi4uYXR0cmlidXRlcz5cbiAgICAgICAge3sjaWYgKG9yIEBsYWJlbCBAbGFiZWxBcHBlbmQgaGFzTGFiZWxCbG9jayl9fVxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJldWlGb3JtUm93X19sYWJlbFdyYXBwZXJcIj5cbiAgICAgICAgICAgIHt7I2lmIGlzTGVnZW5kfX1cbiAgICAgICAgICAgICAge3sjaWYgaGFzTGFiZWxCbG9ja319XG4gICAgICAgICAgICAgICAgPEV1aUZvcm1MYWJlbFxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWlGb3JtUm93X19sYWJlbFwiXG4gICAgICAgICAgICAgICAgICBmb3I9e3tyb3dJZH19XG4gICAgICAgICAgICAgICAgICBhcmlhLWludmFsaWQ9e3tAaXNJbnZhbGlkfX1cbiAgICAgICAgICAgICAgICAgIEBpc0ludmFsaWQ9e3tAaXNJbnZhbGlkfX1cbiAgICAgICAgICAgICAgICAgIEB0eXBlPXt7QGxhYmVsVHlwZX19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3t5aWVsZCBAbGFiZWwgdG89XCJsYWJlbFwifX1cbiAgICAgICAgICAgICAgICA8L0V1aUZvcm1MYWJlbD5cbiAgICAgICAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICAgICAgICA8RXVpRm9ybUxhYmVsXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aUZvcm1Sb3dfX2xhYmVsXCJcbiAgICAgICAgICAgICAgICAgIGZvcj17e3Jvd0lkfX1cbiAgICAgICAgICAgICAgICAgIGFyaWEtaW52YWxpZD17e0Bpc0ludmFsaWR9fVxuICAgICAgICAgICAgICAgICAgQGlzSW52YWxpZD17e0Bpc0ludmFsaWR9fVxuICAgICAgICAgICAgICAgICAgQHR5cGU9e3tAbGFiZWxUeXBlfX1cbiAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICB7e0BsYWJlbH19XG4gICAgICAgICAgICAgICAgPC9FdWlGb3JtTGFiZWw-XG4gICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgIHt7ZWxzZSBpZiBoYXNMYWJlbEJsb2NrfX1cbiAgICAgICAgICAgICAgPEV1aUZvcm1MYWJlbFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpRm9ybVJvd19fbGFiZWxcIlxuICAgICAgICAgICAgICAgIGFyaWEtaW52YWxpZD17e0Bpc0ludmFsaWR9fVxuICAgICAgICAgICAgICAgIGZvcj17e2lmIGhhc0NoaWxkTGFiZWwgcm93SWR9fVxuICAgICAgICAgICAgICAgIEBpc0ludmFsaWQ9e3tAaXNJbnZhbGlkfX1cbiAgICAgICAgICAgICAgICBAdHlwZT17e0BsYWJlbFR5cGV9fVxuICAgICAgICAgICAgICAgIEBpc0ZvY3VzZWQ9e3thbmRcbiAgICAgICAgICAgICAgICAgIChub3QgQGlzRGlzYWJsZWQpXG4gICAgICAgICAgICAgICAgICAobm90IGlzTGVnZW5kKVxuICAgICAgICAgICAgICAgICAgZm9jdXNlZFN0YXRlLnZhbHVlXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7eWllbGQgQGxhYmVsIHRvPVwibGFiZWxcIn19XG4gICAgICAgICAgICAgIDwvRXVpRm9ybUxhYmVsPlxuICAgICAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICAgICAgPEV1aUZvcm1MYWJlbFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpRm9ybVJvd19fbGFiZWxcIlxuICAgICAgICAgICAgICAgIGFyaWEtaW52YWxpZD17e0Bpc0ludmFsaWR9fVxuICAgICAgICAgICAgICAgIGZvcj17e2lmIGhhc0NoaWxkTGFiZWwgcm93SWR9fVxuICAgICAgICAgICAgICAgIEBpc0ludmFsaWQ9e3tAaXNJbnZhbGlkfX1cbiAgICAgICAgICAgICAgICBAdHlwZT17e0BsYWJlbFR5cGV9fVxuICAgICAgICAgICAgICAgIEBpc0ZvY3VzZWQ9e3thbmRcbiAgICAgICAgICAgICAgICAgIChub3QgQGlzRGlzYWJsZWQpXG4gICAgICAgICAgICAgICAgICAobm90IGlzTGVnZW5kKVxuICAgICAgICAgICAgICAgICAgZm9jdXNlZFN0YXRlLnZhbHVlXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7QGxhYmVsfX1cbiAgICAgICAgICAgICAgPC9FdWlGb3JtTGFiZWw-XG4gICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgPC9kaXY-XG4gICAgICAgIHt7L2lmfX1cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPXt7ZmllbGRXcmFwcGVyQ2xhc3Nlc319XG4gICAgICAgICAge3tvbiBcImZvY3VzaW5cIiAoZm4gZm9jdXNlZFN0YXRlLnNldFN0YXRlIHRydWUpfX1cbiAgICAgICAgICB7e29uIFwiZm9jdXNvdXRcIiAoZm4gZm9jdXNlZFN0YXRlLnNldFN0YXRlIGZhbHNlKX19XG4gICAgICAgID5cbiAgICAgICAgICB7eyNpZiAoaGFzLWJsb2NrIFwiZmllbGRcIil9fVxuICAgICAgICAgICAge3t5aWVsZCB0bz1cImZpZWxkXCJ9fVxuICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICB7e3lpZWxkfX1cbiAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAge3sjaWZcbiAgICAgICAgICAgIChvclxuICAgICAgICAgICAgICAoYW5kIChoYXMtYmxvY2sgXCJlcnJvcnNcIikgQGlzSW52YWxpZClcbiAgICAgICAgICAgICAgKGFuZCAoZ3QgZXJyb3JzLmxlbmd0aCAwKSBAaXNJbnZhbGlkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgIH19XG4gICAgICAgICAgICB7eyNpZiAoaGFzLWJsb2NrIFwiZXJyb3JzXCIpfX1cbiAgICAgICAgICAgICAge3sjZWFjaCBlcnJvcnMgYXMgfGVycm9yIGl8fX1cbiAgICAgICAgICAgICAgICA8RXVpRm9ybUVycm9yVGV4dFxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWlGb3JtUm93X190ZXh0IHt7QGVycm9yQ2xhc3Nlc319XCJcbiAgICAgICAgICAgICAgICAgIGlkPVwie3tyb3dJZH19LWVycm9yLXt7aX19XCJcbiAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtaWdub3JlfX1cbiAgICAgICAgICAgICAgICAgIHt7eWllbGQgZXJyb3IgdG89XCJlcnJvcnNcIn19XG4gICAgICAgICAgICAgICAgPC9FdWlGb3JtRXJyb3JUZXh0PlxuICAgICAgICAgICAgICB7ey9lYWNofX1cbiAgICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICAgIHt7I2VhY2ggZXJyb3JzIGFzIHxlcnJvciBpfH19XG4gICAgICAgICAgICAgICAgPEV1aUZvcm1FcnJvclRleHRcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpRm9ybVJvd19fdGV4dCB7e0BlcnJvckNsYXNzZXN9fVwiXG4gICAgICAgICAgICAgICAgICBpZD1cInt7cm93SWR9fS1lcnJvci17e2l9fVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3shQGdsaW50LWlnbm9yZX19XG4gICAgICAgICAgICAgICAgICB7e2Vycm9yfX1cbiAgICAgICAgICAgICAgICA8L0V1aUZvcm1FcnJvclRleHQ-XG4gICAgICAgICAgICAgIHt7L2VhY2h9fVxuICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICB7eyNpZiAob3IgQGhlbHBUZXh0IChoYXMtYmxvY2sgXCJoZWxwVGV4dFwiKSl9fVxuICAgICAgICAgICAge3sjaWYgKGhhcy1ibG9jayBcImhlbHBUZXh0XCIpfX1cbiAgICAgICAgICAgICAgPEV1aUZvcm1IZWxwVGV4dCBpZD1cInt7cm93SWR9fS1oZWxwXCIgY2xhc3M9e3tAaGVscFRleHRDbGFzc2VzfX0-XG4gICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImhlbHBUZXh0XCJ9fVxuICAgICAgICAgICAgICA8L0V1aUZvcm1IZWxwVGV4dD5cbiAgICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICAgIDxFdWlGb3JtSGVscFRleHQgaWQ9XCJ7e3Jvd0lkfX0taGVscFwiIGNsYXNzPXt7QGhlbHBUZXh0Q2xhc3Nlc319PlxuICAgICAgICAgICAgICAgIHt7QGhlbHBUZXh0fX1cbiAgICAgICAgICAgICAgPC9FdWlGb3JtSGVscFRleHQ-XG4gICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAge3svaWZ9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZmllbGRzZXQ-XG4gICAge3tlbHNlfX1cbiAgICAgIDxkaXYgY2xhc3M9e3tjbGFzc2VzfX0gaWQ9XCJ7e3Jvd0lkfX0tcm93XCIgLi4uYXR0cmlidXRlcz5cbiAgICAgICAge3sjaWYgKG9yIEBsYWJlbCBAbGFiZWxBcHBlbmQgaGFzTGFiZWxCbG9jayl9fVxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJldWlGb3JtUm93X19sYWJlbFdyYXBwZXJcIj5cbiAgICAgICAgICAgIHt7I2lmIGlzTGVnZW5kfX1cbiAgICAgICAgICAgICAge3sjaWYgaGFzTGFiZWxCbG9ja319XG4gICAgICAgICAgICAgICAgPEV1aUZvcm1MYWJlbFxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWlGb3JtUm93X19sYWJlbFwiXG4gICAgICAgICAgICAgICAgICBmb3I9e3tyb3dJZH19XG4gICAgICAgICAgICAgICAgICBhcmlhLWludmFsaWQ9e3tAaXNJbnZhbGlkfX1cbiAgICAgICAgICAgICAgICAgIEBpc0ludmFsaWQ9e3tAaXNJbnZhbGlkfX1cbiAgICAgICAgICAgICAgICAgIEB0eXBlPXt7QGxhYmVsVHlwZX19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3t5aWVsZCBAbGFiZWwgdG89XCJsYWJlbFwifX1cbiAgICAgICAgICAgICAgICA8L0V1aUZvcm1MYWJlbD5cbiAgICAgICAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICAgICAgICA8RXVpRm9ybUxhYmVsXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cImV1aUZvcm1Sb3dfX2xhYmVsXCJcbiAgICAgICAgICAgICAgICAgIGZvcj17e3Jvd0lkfX1cbiAgICAgICAgICAgICAgICAgIGFyaWEtaW52YWxpZD17e0Bpc0ludmFsaWR9fVxuICAgICAgICAgICAgICAgICAgQGlzSW52YWxpZD17e0Bpc0ludmFsaWR9fVxuICAgICAgICAgICAgICAgICAgQHR5cGU9e3tAbGFiZWxUeXBlfX1cbiAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICB7e0BsYWJlbH19XG4gICAgICAgICAgICAgICAgPC9FdWlGb3JtTGFiZWw-XG4gICAgICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICAgIHt7ZWxzZSBpZiBoYXNMYWJlbEJsb2NrfX1cbiAgICAgICAgICAgICAgPEV1aUZvcm1MYWJlbFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpRm9ybVJvd19fbGFiZWxcIlxuICAgICAgICAgICAgICAgIGFyaWEtaW52YWxpZD17e0Bpc0ludmFsaWR9fVxuICAgICAgICAgICAgICAgIGZvcj17e2lmIGhhc0NoaWxkTGFiZWwgcm93SWR9fVxuICAgICAgICAgICAgICAgIEBpc0ludmFsaWQ9e3tAaXNJbnZhbGlkfX1cbiAgICAgICAgICAgICAgICBAdHlwZT17e0BsYWJlbFR5cGV9fVxuICAgICAgICAgICAgICAgIEBpc0ZvY3VzZWQ9e3thbmRcbiAgICAgICAgICAgICAgICAgIChub3QgQGlzRGlzYWJsZWQpXG4gICAgICAgICAgICAgICAgICAobm90IGlzTGVnZW5kKVxuICAgICAgICAgICAgICAgICAgZm9jdXNlZFN0YXRlLnZhbHVlXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7eWllbGQgQGxhYmVsIHRvPVwibGFiZWxcIn19XG4gICAgICAgICAgICAgIDwvRXVpRm9ybUxhYmVsPlxuICAgICAgICAgICAge3tlbHNlfX1cbiAgICAgICAgICAgICAgPEV1aUZvcm1MYWJlbFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpRm9ybVJvd19fbGFiZWxcIlxuICAgICAgICAgICAgICAgIGFyaWEtaW52YWxpZD17e0Bpc0ludmFsaWR9fVxuICAgICAgICAgICAgICAgIGZvcj17e2lmIGhhc0NoaWxkTGFiZWwgcm93SWR9fVxuICAgICAgICAgICAgICAgIEBpc0ludmFsaWQ9e3tAaXNJbnZhbGlkfX1cbiAgICAgICAgICAgICAgICBAdHlwZT17e0BsYWJlbFR5cGV9fVxuICAgICAgICAgICAgICAgIEBpc0ZvY3VzZWQ9e3thbmRcbiAgICAgICAgICAgICAgICAgIChub3QgQGlzRGlzYWJsZWQpXG4gICAgICAgICAgICAgICAgICAobm90IGlzTGVnZW5kKVxuICAgICAgICAgICAgICAgICAgZm9jdXNlZFN0YXRlLnZhbHVlXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt7QGxhYmVsfX1cbiAgICAgICAgICAgICAgPC9FdWlGb3JtTGFiZWw-XG4gICAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAgPC9kaXY-XG4gICAgICAgIHt7L2lmfX1cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPXt7ZmllbGRXcmFwcGVyQ2xhc3Nlc319XG4gICAgICAgICAge3tvbiBcImZvY3VzaW5cIiAoZm4gZm9jdXNlZFN0YXRlLnNldFN0YXRlIHRydWUpfX1cbiAgICAgICAgICB7e29uIFwiZm9jdXNvdXRcIiAoZm4gZm9jdXNlZFN0YXRlLnNldFN0YXRlIGZhbHNlKX19XG4gICAgICAgID5cbiAgICAgICAgICB7eyNpZiAoaGFzLWJsb2NrIFwiZmllbGRcIil9fVxuICAgICAgICAgICAge3t5aWVsZCB0bz1cImZpZWxkXCJ9fVxuICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICB7e3lpZWxkfX1cbiAgICAgICAgICB7ey9pZn19XG4gICAgICAgICAge3sjaWZcbiAgICAgICAgICAgIChvclxuICAgICAgICAgICAgICAoYW5kIChoYXMtYmxvY2sgXCJlcnJvcnNcIikgQGlzSW52YWxpZClcbiAgICAgICAgICAgICAgKGFuZCAoZ3QgZXJyb3JzLmxlbmd0aCAwKSBAaXNJbnZhbGlkKVxuICAgICAgICAgICAgKVxuICAgICAgICAgIH19XG4gICAgICAgICAgICB7eyNpZiAoaGFzLWJsb2NrIFwiZXJyb3JzXCIpfX1cbiAgICAgICAgICAgICAge3sjZWFjaCBlcnJvcnMgYXMgfGVycm9yIGl8fX1cbiAgICAgICAgICAgICAgICA8RXVpRm9ybUVycm9yVGV4dFxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJldWlGb3JtUm93X190ZXh0IHt7QGVycm9yQ2xhc3Nlc319XCJcbiAgICAgICAgICAgICAgICAgIGlkPVwie3tyb3dJZH19LWVycm9yLXt7aX19XCJcbiAgICAgICAgICAgICAgICA-XG4gICAgICAgICAgICAgICAgICB7eyFAZ2xpbnQtaWdub3JlfX1cbiAgICAgICAgICAgICAgICAgIHt7eWllbGQgZXJyb3IgdG89XCJlcnJvcnNcIn19XG4gICAgICAgICAgICAgICAgPC9FdWlGb3JtRXJyb3JUZXh0PlxuICAgICAgICAgICAgICB7ey9lYWNofX1cbiAgICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICAgIHt7I2VhY2ggZXJyb3JzIGFzIHxlcnJvciBpfH19XG4gICAgICAgICAgICAgICAgPEV1aUZvcm1FcnJvclRleHRcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZXVpRm9ybVJvd19fdGV4dCB7e0BlcnJvckNsYXNzZXN9fVwiXG4gICAgICAgICAgICAgICAgICBpZD1cInt7cm93SWR9fS1lcnJvci17e2l9fVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3shQGdsaW50LWlnbm9yZX19XG4gICAgICAgICAgICAgICAgICB7e2Vycm9yfX1cbiAgICAgICAgICAgICAgICA8L0V1aUZvcm1FcnJvclRleHQ-XG4gICAgICAgICAgICAgIHt7L2VhY2h9fVxuICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgICB7eyNpZiAob3IgQGhlbHBUZXh0IChoYXMtYmxvY2sgXCJoZWxwVGV4dFwiKSl9fVxuICAgICAgICAgICAge3sjaWYgKGhhcy1ibG9jayBcImhlbHBUZXh0XCIpfX1cbiAgICAgICAgICAgICAgPEV1aUZvcm1IZWxwVGV4dCBpZD1cInt7cm93SWR9fS1oZWxwXCIgY2xhc3M9e3tAaGVscFRleHRDbGFzc2VzfX0-XG4gICAgICAgICAgICAgICAge3t5aWVsZCB0bz1cImhlbHBUZXh0XCJ9fVxuICAgICAgICAgICAgICA8L0V1aUZvcm1IZWxwVGV4dD5cbiAgICAgICAgICAgIHt7ZWxzZX19XG4gICAgICAgICAgICAgIHt7I2xldFxuICAgICAgICAgICAgICAgIChpZiAoaXNBcnJheSBAaGVscFRleHQpIEBoZWxwVGV4dCAoYXJyYXkgQGhlbHBUZXh0KSlcbiAgICAgICAgICAgICAgICBhcyB8aGVscFRleHRzfFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHt7I2VhY2ggaGVscFRleHRzIGFzIHxoZWxwVGV4dCBpfH19XG4gICAgICAgICAgICAgICAgICA8RXVpRm9ybUhlbHBUZXh0XG4gICAgICAgICAgICAgICAgICAgIGlkPVwie3tyb3dJZH19LWhlbHAte3tpfX1cIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz17e0BoZWxwVGV4dENsYXNzZXN9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7e2hlbHBUZXh0fX1cbiAgICAgICAgICAgICAgICAgIDwvRXVpRm9ybUhlbHBUZXh0PlxuICAgICAgICAgICAgICAgIHt7L2VhY2h9fVxuICAgICAgICAgICAgICB7ey9sZXR9fVxuICAgICAgICAgICAge3svaWZ9fVxuICAgICAgICAgIHt7L2lmfX1cbiAgICAgICAgPC9kaXY-XG4gICAgICA8L2Rpdj5cbiAgICB7ey9pZn19XG4gIHt7L2xldH19XG48L3RlbXBsYXRlPjtcblxuZXhwb3J0IGRlZmF1bHQgRXVpRm9ybVJvdztcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsU0FBUyxNQUFNLFFBQVEsMEJBQTBCO0FBQ2pELFNBQVMsRUFBRSxRQUFRLGdCQUFnQjtBQUNuQyxTQUFTLEtBQUssUUFBUSxnQkFBZ0I7QUFDdEMsU0FBUyxFQUFFLFFBQVEsa0JBQWtCO0FBRXJDLFNBQVMsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUMsR0FBRyxFQUFFLEVBQUUsUUFBUSxzQkFBc0I7QUFDMUQsT0FBTyxhQUFhLHVDQUF1QztBQUUzRCxPQUFPLGNBQWMsMkJBQTJCO0FBQ2hELE9BQU8sa0JBQWtCLCtCQUErQjtBQUN4RCxPQUFPLGdCQUFnQiw0QkFBNEI7QUFDbkQsT0FBTyxjQUFjLDBCQUEwQjtBQUMvQyxPQUFPLHNCQUFzQiw0QkFBNEI7QUFDekQsT0FBTyxxQkFBcUIsMkJBQTJCO0FBQ3ZELE9BQU8sa0JBQWtCLHVCQUF1QjtBQUVoRCxjQUFjLDRCQUE0QixRQUFRLHdDQUF3QztBQUMxRixjQUFjLHFCQUFxQixRQUFRLGlDQUFpQztBQUU1RSxpQkFBaUI7SUFDZixTQUFTLGlCQUFpQjtJQUMxQjtRQUNFLFFBQVEsTUFBTTtRQUNkLGNBQWMsTUFBTTtRQUNwQixZQUFZLFVBQVU7UUFDdEIsYUFBYSxXQUFXO1FBQ3hCLFlBQVksT0FBTztRQUNuQixZQUFZLE9BQU87UUFDbkIsYUFBYSxPQUFPO1FBQ3BCLHFCQUFxQixPQUFPO1FBQzVCLGdCQUFnQixPQUFPO1FBQ3ZCLG1CQUFtQixPQUFPO1FBQzFCLFdBQVcsTUFBTTtRQUNqQixRQUFRLE1BQU0sR0FBRyxNQUFNLEtBQUssSUFBSTtRQUNoQyxlQUFlLE1BQU07UUFDckIsa0JBQWtCLE1BQU07UUFDeEIsS0FBSyxNQUFNO1FBQ1gsdUJBQXVCO1FBQ3ZCLFFBQVEsT0FBTzs7SUFFakI7UUFDRTtRQUNBLFFBQVEsTUFBTTtRQUNkO1FBQ0EsU0FBUyxNQUFNO1FBQ2Y7OztBQUlKLE9BQU8sU0FBUyxXQUNkLENBQUMsU0FBUSxTQUFRLE1BQU0sRUFBRSxNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQzNDLE9BQU87SUFDUixPQUFPLE9BQU0sV0FBVyxZQUFXO0FBQ3JDO0FBRUEsTUFBTSxZQUFZLE9BQU87QUFFekIsTUFBTSxZQUFZLHNCQUFzQix1QkFBdUIsU0FBVSxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBNlB6RSxDQUFBLEVBQUE7SUFBQTtRQUFBLE9BQUEsS0FBQSxTQUFBLENBQUEsRUFBVztJQUFEO0FBQUE7QUFFVixlQUFlLFdBQVcifQ"],"names":["startsWith","needle1","word1","startWith","helper","EuiFormRow","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","isArray","array","and","eq","useState","argOrDefault","randomId","not","or","EuiFormLabel","on","fn","gt","EuiFormErrorText","EuiFormHelpText","templateOnly"],"mappings":";;;;;;;;;;;;;;;;AAiDO,SAASA,UACd,CAAA,CAACC,OAAA,EAAQC,KAAA,CAAmC,EACpC;AACR,EAAA,OAAOA,KAAA,EAAMF,UAAA,CAAWC,OAAA,CAAW,IAAA,KAAA,CAAA;AACrC,CAAA;AAEA,MAAME,SAAA,GAAYC,MAAA,CAAOJ,UAAA,CAAA,CAAA;AAEzB,MAAMK,UAAkC,GAAAC,oBAAA,CAAuBC,kBAAA,CA6P/D,y4NAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,UAAA;IAAAP,SAAA;IAAAQ,OAAA;IAAAC,KAAA;IAAAC,GAAA;IAAAC,EAAA;IAAAC,QAAA;IAAAC,YAAA;IAAAC,QAAA;IAAAC,GAAA;IAAAC,EAAA;IAAAC,YAAA;IAAAC,EAAA;IAAAC,EAAA;IAAAC,EAAA;IAAAC,gBAAA;AAAAC,IAAAA,eAAAA;AAAA,GAAA,CAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
|
|
1
|
+
{"version":3,"file":"eui-form-row.js","sources":["../../src/components/eui-form-row.gts"],"sourcesContent":["import { helper } from '@ember/component/helper';\nimport { fn } from '@ember/helper';\nimport { array } from '@ember/helper';\nimport { on } from '@ember/modifier';\n\nimport { and, eq, gt,not, or } from 'ember-truth-helpers';\nimport isArray from 'ember-truth-helpers/helpers/is-array';\n\nimport randomId from '../-private/random-id.ts';\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport useState from '../helpers/use-state.ts';\nimport EuiFormErrorText from './eui-form-error-text.gts';\nimport EuiFormHelpText from './eui-form-help-text.gts';\nimport EuiFormLabel from './eui-form-label.gts';\n\nimport type { displayMappingToClassMapping } from '../utils/css-mappings/eui-form-row.ts';\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface EuiFormRowSignature {\n Element: HTMLDivElement | HTMLFieldSetElement;\n Args: {\n label?: string;\n labelAppend?: string;\n labelType?: 'label' | 'legend';\n legendType?: 'legend' | 'fieldset';\n fullWidth?: boolean;\n isInvalid?: boolean;\n isDisabled?: boolean;\n hasEmptyLabelSpace?: boolean;\n hasChildLabel?: boolean;\n isFakeLabelBlock?: boolean;\n helpText?: string;\n error?: string | string[] | null;\n errorClasses?: string;\n helpTextClasses?: string;\n id?: string;\n display?: keyof typeof displayMappingToClassMapping;\n extra?: unknown;\n };\n Blocks: {\n default: [];\n label: [string?];\n field: [];\n errors: [string?];\n helpText: [];\n };\n}\n\nexport function startsWith(\n [needle, word]: [string, string | undefined] /*, hash*/\n): boolean {\n return word?.startsWith(needle) || false;\n}\n\nconst startWith = helper(startsWith);\n\nconst EuiFormRow: TemplateOnlyComponent<EuiFormRowSignature> = <template>\n {{#let\n (classNames\n \"euiFormRow\"\n (if @hasEmptyLabelSpace \"euiFormRow--hasEmptyLabelSpace\")\n (if @fullWidth \"euiFormRow--fullWidth\")\n componentName=\"EuiFormRow\"\n display=@display\n )\n (classNames\n \"euiFormRow__fieldWrapper\"\n (if (startWith \"center\" @display) \"euiFormRow__fieldWrapperDisplayOnly\")\n )\n (if (isArray @error) @error (array @error))\n (and @label (eq @labelType \"legend\"))\n (useState false)\n (argOrDefault @id (randomId))\n (argOrDefault @hasChildLabel true)\n (and (not (argOrDefault @isFakeLabelBlock false)) (has-block \"label\"))\n as |classes fieldWrapperClasses errors isLegend focusedState rowId hasChildLabel hasLabelBlock|\n }}\n {{#if (eq @legendType \"legend\")}}\n <fieldset class={{classes}} id=\"{{rowId}}-row\" ...attributes>\n {{#if (or @label @labelAppend hasLabelBlock)}}\n <div class=\"euiFormRow__labelWrapper\">\n {{#if isLegend}}\n {{#if hasLabelBlock}}\n <EuiFormLabel\n class=\"euiFormRow__label\"\n for={{rowId}}\n aria-invalid={{@isInvalid}}\n @isInvalid={{@isInvalid}}\n @type={{@labelType}}\n >\n {{yield @label to=\"label\"}}\n </EuiFormLabel>\n {{else}}\n <EuiFormLabel\n class=\"euiFormRow__label\"\n for={{rowId}}\n aria-invalid={{@isInvalid}}\n @isInvalid={{@isInvalid}}\n @type={{@labelType}}\n >\n {{@label}}\n </EuiFormLabel>\n {{/if}}\n {{else if hasLabelBlock}}\n <EuiFormLabel\n class=\"euiFormRow__label\"\n aria-invalid={{@isInvalid}}\n for={{if hasChildLabel rowId}}\n @isInvalid={{@isInvalid}}\n @type={{@labelType}}\n @isFocused={{and\n (not @isDisabled)\n (not isLegend)\n focusedState.value\n }}\n >\n {{yield @label to=\"label\"}}\n </EuiFormLabel>\n {{else}}\n <EuiFormLabel\n class=\"euiFormRow__label\"\n aria-invalid={{@isInvalid}}\n for={{if hasChildLabel rowId}}\n @isInvalid={{@isInvalid}}\n @type={{@labelType}}\n @isFocused={{and\n (not @isDisabled)\n (not isLegend)\n focusedState.value\n }}\n >\n {{@label}}\n </EuiFormLabel>\n {{/if}}\n </div>\n {{/if}}\n <div\n class={{fieldWrapperClasses}}\n {{on \"focusin\" (fn focusedState.setState true)}}\n {{on \"focusout\" (fn focusedState.setState false)}}\n >\n {{#if (has-block \"field\")}}\n {{yield to=\"field\"}}\n {{else}}\n {{yield}}\n {{/if}}\n {{#if\n (or\n (and (has-block \"errors\") @isInvalid)\n (and (gt errors.length 0) @isInvalid)\n )\n }}\n {{#if (has-block \"errors\")}}\n {{#each errors as |error i|}}\n <EuiFormErrorText\n class=\"euiFormRow__text {{@errorClasses}}\"\n id=\"{{rowId}}-error-{{i}}\"\n >\n {{!@glint-ignore}}\n {{yield error to=\"errors\"}}\n </EuiFormErrorText>\n {{/each}}\n {{else}}\n {{#each errors as |error i|}}\n <EuiFormErrorText\n class=\"euiFormRow__text {{@errorClasses}}\"\n id=\"{{rowId}}-error-{{i}}\"\n >\n {{!@glint-ignore}}\n {{error}}\n </EuiFormErrorText>\n {{/each}}\n {{/if}}\n {{/if}}\n {{#if (or @helpText (has-block \"helpText\"))}}\n {{#if (has-block \"helpText\")}}\n <EuiFormHelpText id=\"{{rowId}}-help\" class={{@helpTextClasses}}>\n {{yield to=\"helpText\"}}\n </EuiFormHelpText>\n {{else}}\n <EuiFormHelpText id=\"{{rowId}}-help\" class={{@helpTextClasses}}>\n {{@helpText}}\n </EuiFormHelpText>\n {{/if}}\n {{/if}}\n </div>\n </fieldset>\n {{else}}\n <div class={{classes}} id=\"{{rowId}}-row\" ...attributes>\n {{#if (or @label @labelAppend hasLabelBlock)}}\n <div class=\"euiFormRow__labelWrapper\">\n {{#if isLegend}}\n {{#if hasLabelBlock}}\n <EuiFormLabel\n class=\"euiFormRow__label\"\n for={{rowId}}\n aria-invalid={{@isInvalid}}\n @isInvalid={{@isInvalid}}\n @type={{@labelType}}\n >\n {{yield @label to=\"label\"}}\n </EuiFormLabel>\n {{else}}\n <EuiFormLabel\n class=\"euiFormRow__label\"\n for={{rowId}}\n aria-invalid={{@isInvalid}}\n @isInvalid={{@isInvalid}}\n @type={{@labelType}}\n >\n {{@label}}\n </EuiFormLabel>\n {{/if}}\n {{else if hasLabelBlock}}\n <EuiFormLabel\n class=\"euiFormRow__label\"\n aria-invalid={{@isInvalid}}\n for={{if hasChildLabel rowId}}\n @isInvalid={{@isInvalid}}\n @type={{@labelType}}\n @isFocused={{and\n (not @isDisabled)\n (not isLegend)\n focusedState.value\n }}\n >\n {{yield @label to=\"label\"}}\n </EuiFormLabel>\n {{else}}\n <EuiFormLabel\n class=\"euiFormRow__label\"\n aria-invalid={{@isInvalid}}\n for={{if hasChildLabel rowId}}\n @isInvalid={{@isInvalid}}\n @type={{@labelType}}\n @isFocused={{and\n (not @isDisabled)\n (not isLegend)\n focusedState.value\n }}\n >\n {{@label}}\n </EuiFormLabel>\n {{/if}}\n </div>\n {{/if}}\n <div\n class={{fieldWrapperClasses}}\n {{on \"focusin\" (fn focusedState.setState true)}}\n {{on \"focusout\" (fn focusedState.setState false)}}\n >\n {{#if (has-block \"field\")}}\n {{yield to=\"field\"}}\n {{else}}\n {{yield}}\n {{/if}}\n {{#if\n (or\n (and (has-block \"errors\") @isInvalid)\n (and (gt errors.length 0) @isInvalid)\n )\n }}\n {{#if (has-block \"errors\")}}\n {{#each errors as |error i|}}\n <EuiFormErrorText\n class=\"euiFormRow__text {{@errorClasses}}\"\n id=\"{{rowId}}-error-{{i}}\"\n >\n {{!@glint-ignore}}\n {{yield error to=\"errors\"}}\n </EuiFormErrorText>\n {{/each}}\n {{else}}\n {{#each errors as |error i|}}\n <EuiFormErrorText\n class=\"euiFormRow__text {{@errorClasses}}\"\n id=\"{{rowId}}-error-{{i}}\"\n >\n {{!@glint-ignore}}\n {{error}}\n </EuiFormErrorText>\n {{/each}}\n {{/if}}\n {{/if}}\n {{#if (or @helpText (has-block \"helpText\"))}}\n {{#if (has-block \"helpText\")}}\n <EuiFormHelpText id=\"{{rowId}}-help\" class={{@helpTextClasses}}>\n {{yield to=\"helpText\"}}\n </EuiFormHelpText>\n {{else}}\n {{#let\n (if (isArray @helpText) @helpText (array @helpText))\n as |helpTexts|\n }}\n {{#each helpTexts as |helpText i|}}\n <EuiFormHelpText\n id=\"{{rowId}}-help-{{i}}\"\n class={{@helpTextClasses}}\n >\n {{helpText}}\n </EuiFormHelpText>\n {{/each}}\n {{/let}}\n {{/if}}\n {{/if}}\n </div>\n </div>\n {{/if}}\n {{/let}}\n</template>;\n\nexport default EuiFormRow;\n"],"names":["startsWith","needle","word","startWith","helper","EuiFormRow","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","isArray","array","and","eq","useState","argOrDefault","randomId","not","or","EuiFormLabel","on","fn","gt","EuiFormErrorText","EuiFormHelpText","templateOnly"],"mappings":";;;;;;;;;;;;;;;;AAiDO,SAASA,UAAAA,CACd,CAACC,MAAA,EAAQC,IAAQ,CAA2B,EACpC;AACR,EAAA,OAAOA,IAAA,EAAMF,WAAWC,MAAW,CAAA,IAAA,KAAA;AACrC;AAEA,MAAME,YAAYC,MAAO,CAAAJ,UAAA,CAAA;AAEzB,MAAMK,UAAyD,GAAAC,oBAAA,CAAAC,kBAAA,CA6P/D,y4NAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,UAAA;IAAAP,SAAA;IAAAQ,OAAA;IAAAC,KAAA;IAAAC,GAAA;IAAAC,EAAA;IAAAC,QAAA;IAAAC,YAAA;IAAAC,QAAA;IAAAC,GAAA;IAAAC,EAAA;IAAAC,YAAA;IAAAC,EAAA;IAAAC,EAAA;IAAAC,EAAA;IAAAC,gBAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { array } from '@ember/helper';
|
|
2
|
-
import {
|
|
2
|
+
import { gt, and, eq } from 'ember-truth-helpers';
|
|
3
3
|
import isArray from 'ember-truth-helpers/helpers/is-array';
|
|
4
4
|
import argOrDefault from '../helpers/arg-or-default.js';
|
|
5
5
|
import EuiCallOut from './eui-call-out.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-form.js","sources":["../../src/components/eui-form.gts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"eui-form.js","sources":["../../src/components/eui-form.gts"],"sourcesContent":["import { array } from '@ember/helper';\n\nimport { and, eq, gt } from 'ember-truth-helpers';\nimport isArray from 'ember-truth-helpers/helpers/is-array';\n\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport EuiCallOut from './eui-call-out.gts';\n\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface EuiFormSignature {\n Element: HTMLDivElement | HTMLFormElement;\n Args: {\n errorTitle?: string;\n invalidCallout?: 'above' | 'none';\n error?: string | string[];\n isInvalid?: boolean;\n array?: boolean;\n tagName?: 'form' | 'div';\n };\n Blocks: {\n default?: [];\n content?: [];\n error?: [string];\n };\n}\n\nconst EuiForm: TemplateOnlyComponent<EuiFormSignature> = <template>\n {{#let\n (argOrDefault @invalidCallout \"above\")\n (if (isArray @error) @error (if @array (array @error)))\n as |invalidCallout errors|\n }}\n {{#if (eq @tagName \"form\")}}\n <form class=\"euiForm\" ...attributes>\n {{#if\n (and (eq invalidCallout \"above\") (gt errors.length 0) @isInvalid)\n }}\n <EuiCallOut\n class=\"euiForm__errors\"\n role=\"alert\"\n aria-live=\"assertive\"\n @title={{argOrDefault @errorTitle \"Please correct the fields\"}}\n @color=\"danger\"\n >\n <:body>\n {{#each errors as |error|}}\n <li class=\"euiForm__error\">\n {{#if (has-block \"error\")}}\n {{!@glint-expect-error}}\n {{yield error to=\"error\"}}\n {{else}}\n {{!@glint-expect-error}}\n {{error}}\n {{/if}}\n </li>\n {{/each}}\n </:body>\n </EuiCallOut>\n {{/if}}\n {{#if (has-block \"content\")}}\n {{yield to=\"content\"}}\n {{else}}\n {{yield}}\n {{/if}}\n </form>\n {{else}}\n <div class=\"euiForm\" ...attributes>\n {{#if\n (and (eq invalidCallout \"above\") (gt errors.length 0) @isInvalid)\n }}\n <EuiCallOut\n class=\"euiForm__errors\"\n role=\"alert\"\n aria-live=\"assertive\"\n @title={{argOrDefault @errorTitle \"Please correct the fields\"}}\n @color=\"danger\"\n >\n <:body>\n {{#each errors as |error|}}\n <li class=\"euiForm__error\">\n {{#if (has-block \"error\")}}\n {{!@glint-expect-error}}\n {{yield error to=\"error\"}}\n {{else}}\n {{!@glint-expect-error}}\n {{error}}\n {{/if}}\n </li>\n {{/each}}\n </:body>\n </EuiCallOut>\n {{/if}}\n {{#if (has-block \"content\")}}\n {{yield to=\"content\"}}\n {{else}}\n {{yield}}\n {{/if}}\n </div>\n {{/if}}\n {{/let}}\n</template>;\n\nexport default EuiForm;\n"],"names":["EuiForm","setComponentTemplate","precompileTemplate","strictMode","scope","argOrDefault","isArray","array","eq","and","gt","EuiCallOut","templateOnly"],"mappings":";;;;;;;;;AA2BA,MAAMA,OAAmD,GAAAC,oBAAA,CAAAC,kBAAA,CA0EzD,qlEAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,YAAA;IAAAC,OAAA;IAAAC,KAAA;IAAAC,EAAA;IAAAC,GAAA;IAAAC,EAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import Component from '@glimmer/component';
|
|
2
2
|
import { tracked } from '@glimmer/tracking';
|
|
3
|
-
import {
|
|
3
|
+
import { fn, get } from '@ember/helper';
|
|
4
4
|
import { on } from '@ember/modifier';
|
|
5
5
|
import { action } from '@ember/object';
|
|
6
6
|
import didInsert from '@ember/render-modifiers/modifiers/did-insert';
|
|
@@ -20,7 +20,7 @@ class EuiGlobalToastList extends Component {
|
|
|
20
20
|
static {
|
|
21
21
|
g(this.prototype, "euiToaster", [inject]);
|
|
22
22
|
}
|
|
23
|
-
#euiToaster = (i(this, "euiToaster"),
|
|
23
|
+
#euiToaster = (i(this, "euiToaster"), undefined);
|
|
24
24
|
dismissTimeoutIds = [];
|
|
25
25
|
toastIdToTimerMap = {};
|
|
26
26
|
isScrollingToBottom = false;
|
|
@@ -36,33 +36,33 @@ class EuiGlobalToastList extends Component {
|
|
|
36
36
|
return {};
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
|
-
#toastIdToDismissedMap = (i(this, "toastIdToDismissedMap"),
|
|
39
|
+
#toastIdToDismissedMap = (i(this, "toastIdToDismissedMap"), undefined);
|
|
40
40
|
startScrollingToBottom() {
|
|
41
41
|
this.isScrollingToBottom = true;
|
|
42
|
-
const
|
|
42
|
+
const scrollToBottom = () => {
|
|
43
43
|
// Although we cancel the requestAnimationFrame in componentWillUnmount,
|
|
44
44
|
// it's possible for this.listElement to become null in the meantime
|
|
45
45
|
if (!this.listElement) {
|
|
46
46
|
return;
|
|
47
47
|
}
|
|
48
|
-
const
|
|
49
|
-
const
|
|
50
|
-
const
|
|
51
|
-
if (
|
|
52
|
-
this.listElement.scrollTop =
|
|
48
|
+
const position = this.listElement.scrollTop;
|
|
49
|
+
const destination = this.listElement.scrollHeight - this.listElement.clientHeight;
|
|
50
|
+
const distanceToDestination = destination - position;
|
|
51
|
+
if (distanceToDestination < 5) {
|
|
52
|
+
this.listElement.scrollTop = destination;
|
|
53
53
|
this.isScrollingToBottom = false;
|
|
54
54
|
this.isScrolledToBottom = true;
|
|
55
55
|
return;
|
|
56
56
|
}
|
|
57
|
-
this.listElement.scrollTop =
|
|
57
|
+
this.listElement.scrollTop = position + distanceToDestination * 0.25;
|
|
58
58
|
if (this.isScrollingToBottom) {
|
|
59
|
-
this.isScrollingAnimationFrame = window.requestAnimationFrame(
|
|
59
|
+
this.isScrollingAnimationFrame = window.requestAnimationFrame(scrollToBottom);
|
|
60
60
|
}
|
|
61
61
|
};
|
|
62
|
-
this.startScrollingAnimationFrame = window.requestAnimationFrame(
|
|
62
|
+
this.startScrollingAnimationFrame = window.requestAnimationFrame(scrollToBottom);
|
|
63
63
|
}
|
|
64
|
-
didInsertToast(
|
|
65
|
-
this.scheduleToastForDismissal(
|
|
64
|
+
didInsertToast(toast) {
|
|
65
|
+
this.scheduleToastForDismissal(toast);
|
|
66
66
|
if (!this.isUserInteracting) {
|
|
67
67
|
// If the user has scrolled up the toast list then we don't want to annoy them by scrolling
|
|
68
68
|
// all the way back to the bottom.
|
|
@@ -80,10 +80,10 @@ class EuiGlobalToastList extends Component {
|
|
|
80
80
|
this.isScrollingToBottom = false;
|
|
81
81
|
this.isUserInteracting = true;
|
|
82
82
|
// Don't let toasts dismiss themselves while the user is interacting with them.
|
|
83
|
-
for (const
|
|
84
|
-
if (this.toastIdToTimerMap.hasOwnProperty(
|
|
85
|
-
const
|
|
86
|
-
|
|
83
|
+
for (const toastId in this.toastIdToTimerMap) {
|
|
84
|
+
if (this.toastIdToTimerMap.hasOwnProperty(toastId)) {
|
|
85
|
+
const timer = this.toastIdToTimerMap[toastId];
|
|
86
|
+
timer?.pause();
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
}
|
|
@@ -92,10 +92,10 @@ class EuiGlobalToastList extends Component {
|
|
|
92
92
|
}
|
|
93
93
|
onMouseLeave() {
|
|
94
94
|
this.isUserInteracting = false;
|
|
95
|
-
for (const
|
|
96
|
-
if (this.toastIdToTimerMap.hasOwnProperty(
|
|
97
|
-
const
|
|
98
|
-
|
|
95
|
+
for (const toastId in this.toastIdToTimerMap) {
|
|
96
|
+
if (this.toastIdToTimerMap.hasOwnProperty(toastId)) {
|
|
97
|
+
const timer = this.toastIdToTimerMap[toastId];
|
|
98
|
+
timer?.resume();
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
101
|
}
|
|
@@ -111,53 +111,53 @@ class EuiGlobalToastList extends Component {
|
|
|
111
111
|
n(this.prototype, "onScroll", [action]);
|
|
112
112
|
}
|
|
113
113
|
scheduleAllToastsForDismissal() {
|
|
114
|
-
this.euiToaster.toasts.forEach(
|
|
115
|
-
if (!this.toastIdToTimerMap[
|
|
116
|
-
this.scheduleToastForDismissal(
|
|
114
|
+
this.euiToaster.toasts.forEach(toast => {
|
|
115
|
+
if (!this.toastIdToTimerMap[toast.id]) {
|
|
116
|
+
this.scheduleToastForDismissal(toast);
|
|
117
117
|
}
|
|
118
118
|
});
|
|
119
119
|
}
|
|
120
|
-
scheduleToastForDismissal(
|
|
120
|
+
scheduleToastForDismissal(toast) {
|
|
121
121
|
// Start fading the toast out once its lifetime elapses.
|
|
122
|
-
this.toastIdToTimerMap[
|
|
122
|
+
this.toastIdToTimerMap[toast.id] = new Timer(this.dismissToast.bind(this, toast), toast.toastLifeTimeMs != null ? toast.toastLifeTimeMs : this.args.toastLifeTimeMs);
|
|
123
123
|
}
|
|
124
124
|
static {
|
|
125
125
|
n(this.prototype, "scheduleToastForDismissal", [action]);
|
|
126
126
|
}
|
|
127
|
-
dismissToast(
|
|
127
|
+
dismissToast(toast) {
|
|
128
128
|
// Remove the toast after it's done fading out.
|
|
129
129
|
this.dismissTimeoutIds.push(window.setTimeout(() => {
|
|
130
130
|
// Because this is wrapped in a setTimeout, and because React does not guarantee when
|
|
131
131
|
// state updates happen, it is possible to double-dismiss a toast
|
|
132
132
|
// including by double-clicking the "x" button on the toast
|
|
133
133
|
// so, first check to make sure we haven't already dismissed this toast
|
|
134
|
-
if (this.toastIdToTimerMap.hasOwnProperty(
|
|
134
|
+
if (this.toastIdToTimerMap.hasOwnProperty(toast.id)) {
|
|
135
135
|
if (this.args.dismissToast) {
|
|
136
|
-
this.args.dismissToast.apply(this, [
|
|
136
|
+
this.args.dismissToast.apply(this, [toast]);
|
|
137
137
|
}
|
|
138
|
-
this.toastIdToTimerMap[
|
|
139
|
-
delete this.toastIdToTimerMap[
|
|
140
|
-
delete this.toastIdToDismissedMap[
|
|
138
|
+
this.toastIdToTimerMap[toast.id].clear();
|
|
139
|
+
delete this.toastIdToTimerMap[toast.id];
|
|
140
|
+
delete this.toastIdToDismissedMap[toast.id];
|
|
141
141
|
this.toastIdToDismissedMap = {
|
|
142
142
|
...this.toastIdToDismissedMap
|
|
143
143
|
};
|
|
144
|
-
this.euiToaster.remove(
|
|
144
|
+
this.euiToaster.remove(toast);
|
|
145
145
|
}
|
|
146
146
|
}, TOAST_FADE_OUT_MS));
|
|
147
147
|
this.toastIdToDismissedMap = {
|
|
148
148
|
...this.toastIdToDismissedMap,
|
|
149
|
-
[
|
|
149
|
+
[toast.id]: true
|
|
150
150
|
};
|
|
151
151
|
}
|
|
152
152
|
static {
|
|
153
153
|
n(this.prototype, "dismissToast", [action]);
|
|
154
154
|
}
|
|
155
|
-
constructor(
|
|
156
|
-
super(
|
|
155
|
+
constructor(owner, args) {
|
|
156
|
+
super(owner, args);
|
|
157
157
|
this.scheduleAllToastsForDismissal();
|
|
158
158
|
}
|
|
159
|
-
didInsert(
|
|
160
|
-
this.listElement =
|
|
159
|
+
didInsert(element) {
|
|
160
|
+
this.listElement = element;
|
|
161
161
|
}
|
|
162
162
|
static {
|
|
163
163
|
n(this.prototype, "didInsert", [action]);
|
|
@@ -171,10 +171,10 @@ class EuiGlobalToastList extends Component {
|
|
|
171
171
|
window.cancelAnimationFrame(this.startScrollingAnimationFrame);
|
|
172
172
|
}
|
|
173
173
|
this.dismissTimeoutIds.forEach(clearTimeout);
|
|
174
|
-
for (const
|
|
175
|
-
if (this.toastIdToTimerMap.hasOwnProperty(
|
|
176
|
-
const
|
|
177
|
-
|
|
174
|
+
for (const toastId in this.toastIdToTimerMap) {
|
|
175
|
+
if (this.toastIdToTimerMap.hasOwnProperty(toastId)) {
|
|
176
|
+
const timer = this.toastIdToTimerMap[toastId];
|
|
177
|
+
timer?.clear();
|
|
178
178
|
}
|
|
179
179
|
}
|
|
180
180
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-global-toast-list.js","sources":["../../src/components/eui-global-toast-list.gts"],"sourcesContent":["import { template } from \"@ember/template-compiler\";\nimport Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { get } from '@ember/helper';\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\nimport { inject as service } from '@ember/service';\nimport optional from 'ember-composable-helpers/helpers/optional';\nimport queue from 'ember-composable-helpers/helpers/queue';\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport Timer from '../utils/timer.ts';\nimport EuiToast from './eui-toast.gts';\nimport type EuiToasterService from '../services/eui-toaster';\nimport type { EuiToastProps, EuiToastPropsWithId } from '../services/eui-toaster';\nimport type { sideMapping } from '../utils/css-mappings/eui-global-toast-list.ts';\ntype EuiToastSide = keyof typeof sideMapping;\ntype GlobalToastListArgs = {\n dismissToast?: (this: EuiGlobalToastList, toast: EuiToastProps) => void;\n toastLifeTimeMs: number;\n /*\n Determines which side of the browser window the toasts should appear\n Default: 'right'\n\n */ side?: EuiToastSide;\n};\nconst TOAST_FADE_OUT_MS = 250;\nexport interface EuiGlobalToastListItemSignature {\n Element: HTMLDivElement;\n Args: GlobalToastListArgs;\n}\nexport default class EuiGlobalToastList extends Component<EuiGlobalToastListItemSignature> {\n @service\n euiToaster: EuiToasterService;\n dismissTimeoutIds: number[] = [];\n toastIdToTimerMap: {\n [toastId: string]: Timer;\n } = {};\n isScrollingToBottom = false;\n isScrolledToBottom = true;\n isUserInteracting = false;\n // See [Return Value](https://developer.mozilla.org/en-US/docs/Web/API/Window/requestAnimationFrame#Return_value)\n // for information on initial value of 0\n isScrollingAnimationFrame = 0;\n startScrollingAnimationFrame = 0;\n listElement: Element | null = null;\n @tracked\n toastIdToDismissedMap: {\n [toastId: string]: boolean;\n } = {};\n startScrollingToBottom(): void {\n this.isScrollingToBottom = true;\n const scrollToBottom1 = ()=>{\n // Although we cancel the requestAnimationFrame in componentWillUnmount,\n // it's possible for this.listElement to become null in the meantime\n if (!this.listElement) {\n return;\n }\n const position1 = this.listElement.scrollTop;\n const destination1 = this.listElement.scrollHeight - this.listElement.clientHeight;\n const distanceToDestination1 = destination1 - position1;\n if (distanceToDestination1 < 5) {\n this.listElement.scrollTop = destination1;\n this.isScrollingToBottom = false;\n this.isScrolledToBottom = true;\n return;\n }\n this.listElement.scrollTop = position1 + distanceToDestination1 * 0.25;\n if (this.isScrollingToBottom) {\n this.isScrollingAnimationFrame = window.requestAnimationFrame(scrollToBottom1);\n }\n };\n this.startScrollingAnimationFrame = window.requestAnimationFrame(scrollToBottom1);\n }\n @action\n didInsertToast(toast1: EuiToastPropsWithId): void {\n this.scheduleToastForDismissal(toast1);\n if (!this.isUserInteracting) {\n // If the user has scrolled up the toast list then we don't want to annoy them by scrolling\n // all the way back to the bottom.\n if (this.isScrolledToBottom) {\n this.startScrollingToBottom();\n }\n }\n }\n @action\n onMouseEnter(): void {\n // Stop scrolling to bottom if we're in mid-scroll, because the user wants to interact with\n // the list.\n this.isScrollingToBottom = false;\n this.isUserInteracting = true;\n // Don't let toasts dismiss themselves while the user is interacting with them.\n for(const toastId1 in this.toastIdToTimerMap){\n if (this.toastIdToTimerMap.hasOwnProperty(toastId1)) {\n const timer1 = this.toastIdToTimerMap[toastId1];\n timer1?.pause();\n }\n }\n }\n @action\n onMouseLeave(): void {\n this.isUserInteracting = false;\n for(const toastId1 in this.toastIdToTimerMap){\n if (this.toastIdToTimerMap.hasOwnProperty(toastId1)) {\n const timer1 = this.toastIdToTimerMap[toastId1];\n timer1?.resume();\n }\n }\n }\n @action\n onScroll(): void {\n if (this.listElement) {\n this.isScrolledToBottom = this.listElement.scrollHeight - this.listElement.scrollTop === this.listElement.clientHeight;\n }\n }\n scheduleAllToastsForDismissal(): void {\n this.euiToaster.toasts.forEach((toast1)=>{\n if (!this.toastIdToTimerMap[toast1.id]) {\n this.scheduleToastForDismissal(toast1);\n }\n });\n }\n @action\n scheduleToastForDismissal(toast1: EuiToastPropsWithId): void {\n // Start fading the toast out once its lifetime elapses.\n this.toastIdToTimerMap[toast1.id] = new Timer(this.dismissToast.bind(this, toast1), toast1.toastLifeTimeMs != null ? toast1.toastLifeTimeMs : this.args.toastLifeTimeMs);\n }\n @action\n dismissToast(toast1: EuiToastPropsWithId): void {\n // Remove the toast after it's done fading out.\n this.dismissTimeoutIds.push(window.setTimeout(()=>{\n // Because this is wrapped in a setTimeout, and because React does not guarantee when\n // state updates happen, it is possible to double-dismiss a toast\n // including by double-clicking the \"x\" button on the toast\n // so, first check to make sure we haven't already dismissed this toast\n if (this.toastIdToTimerMap.hasOwnProperty(toast1.id)) {\n if (this.args.dismissToast) {\n this.args.dismissToast.apply(this, [\n toast1\n ]);\n }\n this.toastIdToTimerMap[toast1.id]!.clear();\n delete this.toastIdToTimerMap[toast1.id];\n delete this.toastIdToDismissedMap[toast1.id];\n this.toastIdToDismissedMap = {\n ...this.toastIdToDismissedMap\n };\n this.euiToaster.remove(toast1);\n }\n }, TOAST_FADE_OUT_MS));\n this.toastIdToDismissedMap = {\n ...this.toastIdToDismissedMap,\n [toast1.id]: true\n };\n }\n constructor(owner1: unknown, args1: GlobalToastListArgs){\n super(owner1, args1);\n this.scheduleAllToastsForDismissal();\n }\n @action\n didInsert(element1: Element): void {\n this.listElement = element1;\n }\n willDestroy(): void {\n super.willDestroy();\n if (this.isScrollingAnimationFrame !== 0) {\n window.cancelAnimationFrame(this.isScrollingAnimationFrame);\n }\n if (this.startScrollingAnimationFrame !== 0) {\n window.cancelAnimationFrame(this.startScrollingAnimationFrame);\n }\n this.dismissTimeoutIds.forEach(clearTimeout);\n for(const toastId1 in this.toastIdToTimerMap){\n if (this.toastIdToTimerMap.hasOwnProperty(toastId1)) {\n const timer1 = this.toastIdToTimerMap[toastId1];\n timer1?.clear();\n }\n }\n }\n static{\n template(`\n <div\n aria-live=\"polite\"\n role=\"region\"\n class={{classNames\n componentName=\"EuiGlobalToastList\"\n side=(argOrDefault @side \"right\")\n }}\n style={{unless this.euiToaster.toasts.length \"padding:0px;\"}}\n {{didInsert this.didInsert}}\n {{on \"scroll\" this.onScroll}}\n {{on \"mouseenter\" this.onMouseEnter}}\n {{on \"mouseleave\" this.onMouseLeave}}\n ...attributes\n >\n {{#each this.euiToaster.toasts as |toast|}}\n <EuiToast\n class={{classNames\n \"euiGlobalToastListItem\"\n (if\n (get this.toastIdToDismissedMap toast.id)\n \"euiGlobalToastListItem-isDismissed\"\n )\n }}\n @title={{toast.title}}\n @useMarkdownFormat={{toast.useMarkdownFormat}}\n @body={{toast.body}}\n @color={{toast.color}}\n @iconType={{toast.iconType}}\n @onClose={{queue\n (fn this.dismissToast toast)\n (optional toast.onClose)\n }}\n {{didInsert (fn this.didInsertToast toast)}}\n {{on \"focus\" this.onMouseEnter}}\n {{on \"blur\" this.onMouseLeave}}\n />\n {{/each}}\n </div>\n `, {\n component: this,\n eval () {\n return eval(arguments[0]);\n }\n });\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9iZXRvY2FudHU5My9wcnlzbWV4L2VtYmVyLWV1aS9wYWNrYWdlcy9jb3JlL3NyYy9jb21wb25lbnRzL2V1aS1nbG9iYWwtdG9hc3QtbGlzdC5ndHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IENvbXBvbmVudCBmcm9tICdAZ2xpbW1lci9jb21wb25lbnQnO1xuaW1wb3J0IHsgdHJhY2tlZCB9IGZyb20gJ0BnbGltbWVyL3RyYWNraW5nJztcbmltcG9ydCB7IGdldCB9IGZyb20gJ0BlbWJlci9oZWxwZXInO1xuaW1wb3J0IHsgZm4gfSBmcm9tICdAZW1iZXIvaGVscGVyJztcbmltcG9ydCB7IG9uIH0gZnJvbSAnQGVtYmVyL21vZGlmaWVyJztcbmltcG9ydCB7IGFjdGlvbiB9IGZyb20gJ0BlbWJlci9vYmplY3QnO1xuaW1wb3J0IGRpZEluc2VydCBmcm9tICdAZW1iZXIvcmVuZGVyLW1vZGlmaWVycy9tb2RpZmllcnMvZGlkLWluc2VydCc7XG5pbXBvcnQgeyBpbmplY3QgYXMgc2VydmljZSB9IGZyb20gJ0BlbWJlci9zZXJ2aWNlJztcblxuaW1wb3J0IG9wdGlvbmFsIGZyb20gJ2VtYmVyLWNvbXBvc2FibGUtaGVscGVycy9oZWxwZXJzL29wdGlvbmFsJztcbmltcG9ydCBxdWV1ZSBmcm9tICdlbWJlci1jb21wb3NhYmxlLWhlbHBlcnMvaGVscGVycy9xdWV1ZSc7XG5cbmltcG9ydCBhcmdPckRlZmF1bHQgZnJvbSAnLi4vaGVscGVycy9hcmctb3ItZGVmYXVsdC50cyc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICcuLi9oZWxwZXJzL2NsYXNzLW5hbWVzLnRzJztcbmltcG9ydCBUaW1lciBmcm9tICcuLi91dGlscy90aW1lci50cyc7XG5pbXBvcnQgRXVpVG9hc3QgZnJvbSAnLi9ldWktdG9hc3QuZ3RzJztcblxuaW1wb3J0IHR5cGUgRXVpVG9hc3RlclNlcnZpY2UgZnJvbSAnLi4vc2VydmljZXMvZXVpLXRvYXN0ZXInO1xuaW1wb3J0IHR5cGUge1xuICBFdWlUb2FzdFByb3BzLFxuICBFdWlUb2FzdFByb3BzV2l0aElkXG59IGZyb20gJy4uL3NlcnZpY2VzL2V1aS10b2FzdGVyJztcbmltcG9ydCB0eXBlIHsgc2lkZU1hcHBpbmcgfSBmcm9tICcuLi91dGlscy9jc3MtbWFwcGluZ3MvZXVpLWdsb2JhbC10b2FzdC1saXN0LnRzJztcblxudHlwZSBFdWlUb2FzdFNpZGUgPSBrZXlvZiB0eXBlb2Ygc2lkZU1hcHBpbmc7XG5cbnR5cGUgR2xvYmFsVG9hc3RMaXN0QXJncyA9IHtcbiAgZGlzbWlzc1RvYXN0PzogKHRoaXM6IEV1aUdsb2JhbFRvYXN0TGlzdCwgdG9hc3Q6IEV1aVRvYXN0UHJvcHMpID0-IHZvaWQ7XG4gIHRvYXN0TGlmZVRpbWVNczogbnVtYmVyO1xuXG4gIC8qXG4gICAgRGV0ZXJtaW5lcyB3aGljaCBzaWRlIG9mIHRoZSBicm93c2VyIHdpbmRvdyB0aGUgdG9hc3RzIHNob3VsZCBhcHBlYXJcbiAgICBEZWZhdWx0OiAncmlnaHQnXG5cbiAgKi9cbiAgc2lkZT86IEV1aVRvYXN0U2lkZTtcbn07XG5cbmNvbnN0IFRPQVNUX0ZBREVfT1VUX01TID0gMjUwO1xuXG5leHBvcnQgaW50ZXJmYWNlIEV1aUdsb2JhbFRvYXN0TGlzdEl0ZW1TaWduYXR1cmUge1xuICBFbGVtZW50OiBIVE1MRGl2RWxlbWVudDtcbiAgQXJnczogR2xvYmFsVG9hc3RMaXN0QXJncztcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXVpR2xvYmFsVG9hc3RMaXN0IGV4dGVuZHMgQ29tcG9uZW50PEV1aUdsb2JhbFRvYXN0TGlzdEl0ZW1TaWduYXR1cmU-IHtcbiAgQHNlcnZpY2UgZGVjbGFyZSBldWlUb2FzdGVyOiBFdWlUb2FzdGVyU2VydmljZTtcblxuICBkaXNtaXNzVGltZW91dElkczogbnVtYmVyW10gPSBbXTtcbiAgdG9hc3RJZFRvVGltZXJNYXA6IHsgW3RvYXN0SWQ6IHN0cmluZ106IFRpbWVyIH0gPSB7fTtcblxuICBpc1Njcm9sbGluZ1RvQm90dG9tID0gZmFsc2U7XG4gIGlzU2Nyb2xsZWRUb0JvdHRvbSA9IHRydWU7XG4gIGlzVXNlckludGVyYWN0aW5nID0gZmFsc2U7XG5cbiAgLy8gU2VlIFtSZXR1cm4gVmFsdWVdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9XaW5kb3cvcmVxdWVzdEFuaW1hdGlvbkZyYW1lI1JldHVybl92YWx1ZSlcbiAgLy8gZm9yIGluZm9ybWF0aW9uIG9uIGluaXRpYWwgdmFsdWUgb2YgMFxuICBpc1Njcm9sbGluZ0FuaW1hdGlvbkZyYW1lID0gMDtcbiAgc3RhcnRTY3JvbGxpbmdBbmltYXRpb25GcmFtZSA9IDA7XG5cbiAgbGlzdEVsZW1lbnQ6IEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgQHRyYWNrZWQgdG9hc3RJZFRvRGlzbWlzc2VkTWFwOiB7XG4gICAgW3RvYXN0SWQ6IHN0cmluZ106IGJvb2xlYW47XG4gIH0gPSB7fTtcblxuICBzdGFydFNjcm9sbGluZ1RvQm90dG9tKCk6IHZvaWQge1xuICAgIHRoaXMuaXNTY3JvbGxpbmdUb0JvdHRvbSA9IHRydWU7XG5cbiAgICBjb25zdCBzY3JvbGxUb0JvdHRvbSA9ICgpID0-IHtcbiAgICAgIC8vIEFsdGhvdWdoIHdlIGNhbmNlbCB0aGUgcmVxdWVzdEFuaW1hdGlvbkZyYW1lIGluIGNvbXBvbmVudFdpbGxVbm1vdW50LFxuICAgICAgLy8gaXQncyBwb3NzaWJsZSBmb3IgdGhpcy5saXN0RWxlbWVudCB0byBiZWNvbWUgbnVsbCBpbiB0aGUgbWVhbnRpbWVcbiAgICAgIGlmICghdGhpcy5saXN0RWxlbWVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHBvc2l0aW9uID0gdGhpcy5saXN0RWxlbWVudC5zY3JvbGxUb3A7XG4gICAgICBjb25zdCBkZXN0aW5hdGlvbiA9XG4gICAgICAgIHRoaXMubGlzdEVsZW1lbnQuc2Nyb2xsSGVpZ2h0IC0gdGhpcy5saXN0RWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gICAgICBjb25zdCBkaXN0YW5jZVRvRGVzdGluYXRpb24gPSBkZXN0aW5hdGlvbiAtIHBvc2l0aW9uO1xuXG4gICAgICBpZiAoZGlzdGFuY2VUb0Rlc3RpbmF0aW9uIDwgNSkge1xuICAgICAgICB0aGlzLmxpc3RFbGVtZW50LnNjcm9sbFRvcCA9IGRlc3RpbmF0aW9uO1xuICAgICAgICB0aGlzLmlzU2Nyb2xsaW5nVG9Cb3R0b20gPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc1Njcm9sbGVkVG9Cb3R0b20gPSB0cnVlO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5saXN0RWxlbWVudC5zY3JvbGxUb3AgPSBwb3NpdGlvbiArIGRpc3RhbmNlVG9EZXN0aW5hdGlvbiAqIDAuMjU7XG5cbiAgICAgIGlmICh0aGlzLmlzU2Nyb2xsaW5nVG9Cb3R0b20pIHtcbiAgICAgICAgdGhpcy5pc1Njcm9sbGluZ0FuaW1hdGlvbkZyYW1lID1cbiAgICAgICAgICB3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKHNjcm9sbFRvQm90dG9tKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgdGhpcy5zdGFydFNjcm9sbGluZ0FuaW1hdGlvbkZyYW1lID1cbiAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoc2Nyb2xsVG9Cb3R0b20pO1xuICB9XG5cbiAgQGFjdGlvblxuICBkaWRJbnNlcnRUb2FzdCh0b2FzdDogRXVpVG9hc3RQcm9wc1dpdGhJZCk6IHZvaWQge1xuICAgIHRoaXMuc2NoZWR1bGVUb2FzdEZvckRpc21pc3NhbCh0b2FzdCk7XG5cbiAgICBpZiAoIXRoaXMuaXNVc2VySW50ZXJhY3RpbmcpIHtcbiAgICAgIC8vIElmIHRoZSB1c2VyIGhhcyBzY3JvbGxlZCB1cCB0aGUgdG9hc3QgbGlzdCB0aGVuIHdlIGRvbid0IHdhbnQgdG8gYW5ub3kgdGhlbSBieSBzY3JvbGxpbmdcbiAgICAgIC8vIGFsbCB0aGUgd2F5IGJhY2sgdG8gdGhlIGJvdHRvbS5cbiAgICAgIGlmICh0aGlzLmlzU2Nyb2xsZWRUb0JvdHRvbSkge1xuICAgICAgICB0aGlzLnN0YXJ0U2Nyb2xsaW5nVG9Cb3R0b20oKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAYWN0aW9uXG4gIG9uTW91c2VFbnRlcigpOiB2b2lkIHtcbiAgICAvLyBTdG9wIHNjcm9sbGluZyB0byBib3R0b20gaWYgd2UncmUgaW4gbWlkLXNjcm9sbCwgYmVjYXVzZSB0aGUgdXNlciB3YW50cyB0byBpbnRlcmFjdCB3aXRoXG4gICAgLy8gdGhlIGxpc3QuXG4gICAgdGhpcy5pc1Njcm9sbGluZ1RvQm90dG9tID0gZmFsc2U7XG4gICAgdGhpcy5pc1VzZXJJbnRlcmFjdGluZyA9IHRydWU7XG5cbiAgICAvLyBEb24ndCBsZXQgdG9hc3RzIGRpc21pc3MgdGhlbXNlbHZlcyB3aGlsZSB0aGUgdXNlciBpcyBpbnRlcmFjdGluZyB3aXRoIHRoZW0uXG4gICAgZm9yIChjb25zdCB0b2FzdElkIGluIHRoaXMudG9hc3RJZFRvVGltZXJNYXApIHtcbiAgICAgIGlmICh0aGlzLnRvYXN0SWRUb1RpbWVyTWFwLmhhc093blByb3BlcnR5KHRvYXN0SWQpKSB7XG4gICAgICAgIGNvbnN0IHRpbWVyID0gdGhpcy50b2FzdElkVG9UaW1lck1hcFt0b2FzdElkXTtcblxuICAgICAgICB0aW1lcj8ucGF1c2UoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAYWN0aW9uXG4gIG9uTW91c2VMZWF2ZSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzVXNlckludGVyYWN0aW5nID0gZmFsc2U7XG5cbiAgICBmb3IgKGNvbnN0IHRvYXN0SWQgaW4gdGhpcy50b2FzdElkVG9UaW1lck1hcCkge1xuICAgICAgaWYgKHRoaXMudG9hc3RJZFRvVGltZXJNYXAuaGFzT3duUHJvcGVydHkodG9hc3RJZCkpIHtcbiAgICAgICAgY29uc3QgdGltZXIgPSB0aGlzLnRvYXN0SWRUb1RpbWVyTWFwW3RvYXN0SWRdO1xuXG4gICAgICAgIHRpbWVyPy5yZXN1bWUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAYWN0aW9uXG4gIG9uU2Nyb2xsKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmxpc3RFbGVtZW50KSB7XG4gICAgICB0aGlzLmlzU2Nyb2xsZWRUb0JvdHRvbSA9XG4gICAgICAgIHRoaXMubGlzdEVsZW1lbnQuc2Nyb2xsSGVpZ2h0IC0gdGhpcy5saXN0RWxlbWVudC5zY3JvbGxUb3AgPT09XG4gICAgICAgIHRoaXMubGlzdEVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIHNjaGVkdWxlQWxsVG9hc3RzRm9yRGlzbWlzc2FsKCk6IHZvaWQge1xuICAgIHRoaXMuZXVpVG9hc3Rlci50b2FzdHMuZm9yRWFjaCgodG9hc3QpID0-IHtcbiAgICAgIGlmICghdGhpcy50b2FzdElkVG9UaW1lck1hcFt0b2FzdC5pZF0pIHtcbiAgICAgICAgdGhpcy5zY2hlZHVsZVRvYXN0Rm9yRGlzbWlzc2FsKHRvYXN0KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIEBhY3Rpb25cbiAgc2NoZWR1bGVUb2FzdEZvckRpc21pc3NhbCh0b2FzdDogRXVpVG9hc3RQcm9wc1dpdGhJZCk6IHZvaWQge1xuICAgIC8vIFN0YXJ0IGZhZGluZyB0aGUgdG9hc3Qgb3V0IG9uY2UgaXRzIGxpZmV0aW1lIGVsYXBzZXMuXG4gICAgdGhpcy50b2FzdElkVG9UaW1lck1hcFt0b2FzdC5pZF0gPSBuZXcgVGltZXIoXG4gICAgICB0aGlzLmRpc21pc3NUb2FzdC5iaW5kKHRoaXMsIHRvYXN0KSxcbiAgICAgIHRvYXN0LnRvYXN0TGlmZVRpbWVNcyAhPSBudWxsXG4gICAgICAgID8gdG9hc3QudG9hc3RMaWZlVGltZU1zXG4gICAgICAgIDogdGhpcy5hcmdzLnRvYXN0TGlmZVRpbWVNc1xuICAgICk7XG4gIH1cblxuICBAYWN0aW9uXG4gIGRpc21pc3NUb2FzdCh0b2FzdDogRXVpVG9hc3RQcm9wc1dpdGhJZCk6IHZvaWQge1xuICAgIC8vIFJlbW92ZSB0aGUgdG9hc3QgYWZ0ZXIgaXQncyBkb25lIGZhZGluZyBvdXQuXG4gICAgdGhpcy5kaXNtaXNzVGltZW91dElkcy5wdXNoKFxuICAgICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAvLyBCZWNhdXNlIHRoaXMgaXMgd3JhcHBlZCBpbiBhIHNldFRpbWVvdXQsIGFuZCBiZWNhdXNlIFJlYWN0IGRvZXMgbm90IGd1YXJhbnRlZSB3aGVuXG4gICAgICAgIC8vIHN0YXRlIHVwZGF0ZXMgaGFwcGVuLCBpdCBpcyBwb3NzaWJsZSB0byBkb3VibGUtZGlzbWlzcyBhIHRvYXN0XG4gICAgICAgIC8vIGluY2x1ZGluZyBieSBkb3VibGUtY2xpY2tpbmcgdGhlIFwieFwiIGJ1dHRvbiBvbiB0aGUgdG9hc3RcbiAgICAgICAgLy8gc28sIGZpcnN0IGNoZWNrIHRvIG1ha2Ugc3VyZSB3ZSBoYXZlbid0IGFscmVhZHkgZGlzbWlzc2VkIHRoaXMgdG9hc3RcbiAgICAgICAgaWYgKHRoaXMudG9hc3RJZFRvVGltZXJNYXAuaGFzT3duUHJvcGVydHkodG9hc3QuaWQpKSB7XG4gICAgICAgICAgaWYgKHRoaXMuYXJncy5kaXNtaXNzVG9hc3QpIHtcbiAgICAgICAgICAgIHRoaXMuYXJncy5kaXNtaXNzVG9hc3QuYXBwbHkodGhpcywgW3RvYXN0XSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy50b2FzdElkVG9UaW1lck1hcFt0b2FzdC5pZF0hLmNsZWFyKCk7XG4gICAgICAgICAgZGVsZXRlIHRoaXMudG9hc3RJZFRvVGltZXJNYXBbdG9hc3QuaWRdO1xuXG4gICAgICAgICAgZGVsZXRlIHRoaXMudG9hc3RJZFRvRGlzbWlzc2VkTWFwW3RvYXN0LmlkXTtcbiAgICAgICAgICB0aGlzLnRvYXN0SWRUb0Rpc21pc3NlZE1hcCA9IHtcbiAgICAgICAgICAgIC4uLnRoaXMudG9hc3RJZFRvRGlzbWlzc2VkTWFwXG4gICAgICAgICAgfTtcbiAgICAgICAgICB0aGlzLmV1aVRvYXN0ZXIucmVtb3ZlKHRvYXN0KTtcbiAgICAgICAgfVxuICAgICAgfSwgVE9BU1RfRkFERV9PVVRfTVMpXG4gICAgKTtcblxuICAgIHRoaXMudG9hc3RJZFRvRGlzbWlzc2VkTWFwID0ge1xuICAgICAgLi4udGhpcy50b2FzdElkVG9EaXNtaXNzZWRNYXAsXG4gICAgICBbdG9hc3QuaWRdOiB0cnVlXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKG93bmVyOiB1bmtub3duLCBhcmdzOiBHbG9iYWxUb2FzdExpc3RBcmdzKSB7XG4gICAgc3VwZXIob3duZXIsIGFyZ3MpO1xuICAgIHRoaXMuc2NoZWR1bGVBbGxUb2FzdHNGb3JEaXNtaXNzYWwoKTtcbiAgfVxuXG4gIEBhY3Rpb25cbiAgZGlkSW5zZXJ0KGVsZW1lbnQ6IEVsZW1lbnQpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RFbGVtZW50ID0gZWxlbWVudDtcbiAgfVxuXG4gIHdpbGxEZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLndpbGxEZXN0cm95KCk7XG5cbiAgICBpZiAodGhpcy5pc1Njcm9sbGluZ0FuaW1hdGlvbkZyYW1lICE9PSAwKSB7XG4gICAgICB3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5pc1Njcm9sbGluZ0FuaW1hdGlvbkZyYW1lKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zdGFydFNjcm9sbGluZ0FuaW1hdGlvbkZyYW1lICE9PSAwKSB7XG4gICAgICB3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5zdGFydFNjcm9sbGluZ0FuaW1hdGlvbkZyYW1lKTtcbiAgICB9XG5cbiAgICB0aGlzLmRpc21pc3NUaW1lb3V0SWRzLmZvckVhY2goY2xlYXJUaW1lb3V0KTtcblxuICAgIGZvciAoY29uc3QgdG9hc3RJZCBpbiB0aGlzLnRvYXN0SWRUb1RpbWVyTWFwKSB7XG4gICAgICBpZiAodGhpcy50b2FzdElkVG9UaW1lck1hcC5oYXNPd25Qcm9wZXJ0eSh0b2FzdElkKSkge1xuICAgICAgICBjb25zdCB0aW1lciA9IHRoaXMudG9hc3RJZFRvVGltZXJNYXBbdG9hc3RJZF07XG5cbiAgICAgICAgdGltZXI_LmNsZWFyKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPHRlbXBsYXRlPlxuICAgIDxkaXZcbiAgICAgIGFyaWEtbGl2ZT1cInBvbGl0ZVwiXG4gICAgICByb2xlPVwicmVnaW9uXCJcbiAgICAgIGNsYXNzPXt7Y2xhc3NOYW1lc1xuICAgICAgICBjb21wb25lbnROYW1lPVwiRXVpR2xvYmFsVG9hc3RMaXN0XCJcbiAgICAgICAgc2lkZT0oYXJnT3JEZWZhdWx0IEBzaWRlIFwicmlnaHRcIilcbiAgICAgIH19XG4gICAgICBzdHlsZT17e3VubGVzcyB0aGlzLmV1aVRvYXN0ZXIudG9hc3RzLmxlbmd0aCBcInBhZGRpbmc6MHB4O1wifX1cbiAgICAgIHt7ZGlkSW5zZXJ0IHRoaXMuZGlkSW5zZXJ0fX1cbiAgICAgIHt7b24gXCJzY3JvbGxcIiB0aGlzLm9uU2Nyb2xsfX1cbiAgICAgIHt7b24gXCJtb3VzZWVudGVyXCIgdGhpcy5vbk1vdXNlRW50ZXJ9fVxuICAgICAge3tvbiBcIm1vdXNlbGVhdmVcIiB0aGlzLm9uTW91c2VMZWF2ZX19XG4gICAgICAuLi5hdHRyaWJ1dGVzXG4gICAgPlxuICAgICAge3sjZWFjaCB0aGlzLmV1aVRvYXN0ZXIudG9hc3RzIGFzIHx0b2FzdHx9fVxuICAgICAgICA8RXVpVG9hc3RcbiAgICAgICAgICBjbGFzcz17e2NsYXNzTmFtZXNcbiAgICAgICAgICAgIFwiZXVpR2xvYmFsVG9hc3RMaXN0SXRlbVwiXG4gICAgICAgICAgICAoaWZcbiAgICAgICAgICAgICAgKGdldCB0aGlzLnRvYXN0SWRUb0Rpc21pc3NlZE1hcCB0b2FzdC5pZClcbiAgICAgICAgICAgICAgXCJldWlHbG9iYWxUb2FzdExpc3RJdGVtLWlzRGlzbWlzc2VkXCJcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9fVxuICAgICAgICAgIEB0aXRsZT17e3RvYXN0LnRpdGxlfX1cbiAgICAgICAgICBAdXNlTWFya2Rvd25Gb3JtYXQ9e3t0b2FzdC51c2VNYXJrZG93bkZvcm1hdH19XG4gICAgICAgICAgQGJvZHk9e3t0b2FzdC5ib2R5fX1cbiAgICAgICAgICBAY29sb3I9e3t0b2FzdC5jb2xvcn19XG4gICAgICAgICAgQGljb25UeXBlPXt7dG9hc3QuaWNvblR5cGV9fVxuICAgICAgICAgIEBvbkNsb3NlPXt7cXVldWVcbiAgICAgICAgICAgIChmbiB0aGlzLmRpc21pc3NUb2FzdCB0b2FzdClcbiAgICAgICAgICAgIChvcHRpb25hbCB0b2FzdC5vbkNsb3NlKVxuICAgICAgICAgIH19XG4gICAgICAgICAge3tkaWRJbnNlcnQgKGZuIHRoaXMuZGlkSW5zZXJ0VG9hc3QgdG9hc3QpfX1cbiAgICAgICAgICB7e29uIFwiZm9jdXNcIiB0aGlzLm9uTW91c2VFbnRlcn19XG4gICAgICAgICAge3tvbiBcImJsdXJcIiB0aGlzLm9uTW91c2VMZWF2ZX19XG4gICAgICAgIC8-XG4gICAgICB7ey9lYWNofX1cbiAgICA8L2Rpdj5cbiAgPC90ZW1wbGF0ZT5cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxlQUFlLHFCQUFxQjtBQUMzQyxTQUFTLE9BQU8sUUFBUSxvQkFBb0I7QUFDNUMsU0FBUyxHQUFHLFFBQVEsZ0JBQWdCO0FBQ3BDLFNBQVMsRUFBRSxRQUFRLGdCQUFnQjtBQUNuQyxTQUFTLEVBQUUsUUFBUSxrQkFBa0I7QUFDckMsU0FBUyxNQUFNLFFBQVEsZ0JBQWdCO0FBQ3ZDLE9BQU8sZUFBZSwrQ0FBK0M7QUFDckUsU0FBUyxVQUFVLE9BQU8sUUFBUSxpQkFBaUI7QUFFbkQsT0FBTyxjQUFjLDRDQUE0QztBQUNqRSxPQUFPLFdBQVcseUNBQXlDO0FBRTNELE9BQU8sa0JBQWtCLCtCQUErQjtBQUN4RCxPQUFPLGdCQUFnQiw0QkFBNEI7QUFDbkQsT0FBTyxXQUFXLG9CQUFvQjtBQUN0QyxPQUFPLGNBQWMsa0JBQWtCO0FBRXZDLFlBQVksdUJBQXVCLDBCQUEwQjtBQUM3RCxjQUNFLGFBQWEsRUFDYixtQkFBbUIsUUFDZCwwQkFBMEI7QUFDakMsY0FBYyxXQUFXLFFBQVEsaURBQWlEO0tBRTdFLDRCQUE0QjtLQUU1QjtJQUNILGdCQUFnQixNQUFNLG9CQUFvQixPQUFPLGtCQUFrQixJQUFJO0lBQ3ZFLGlCQUFpQixNQUFNO0lBRXZCOzs7O0VBSUEsR0FDQSxPQUFPOztBQUdULE1BQU0sb0JBQW9CO0FBRTFCLGlCQUFpQjtJQUNmLFNBQVM7SUFDVCxNQUFNOztBQUdSLGVBQWUsTUFBTSwyQkFBMkIsVUFBVTtJQUN4RCxDQUFDO0lBQWdCLFlBQVksa0JBQWtCO0lBRS9DLG1CQUFtQixNQUFNLEtBQUssRUFBRSxDQUFDO0lBQ2pDO1NBQXNCLFNBQVMsTUFBTSxHQUFHO1FBQVUsQ0FBQyxFQUFFO0lBRXJELHNCQUFzQixNQUFNO0lBQzVCLHFCQUFxQixLQUFLO0lBQzFCLG9CQUFvQixNQUFNO0lBRTFCLGlIQUFpSDtJQUNqSCx3Q0FBd0M7SUFDeEMs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"],"names":["TOAST_FADE_OUT_MS","EuiGlobalToastList","Component","g","this","prototype","service","i","void 0","dismissTimeoutIds","toastIdToTimerMap","isScrollingToBottom","isScrolledToBottom","isUserInteracting","isScrollingAnimationFrame","startScrollingAnimationFrame","listElement","tracked","startScrollingToBottom","scrollToBottom1","position1","scrollTop","destination1","scrollHeight","clientHeight","distanceToDestination1","window","requestAnimationFrame","didInsertToast","toast1","scheduleToastForDismissal","n","action","onMouseEnter","toastId1","hasOwnProperty","timer1","pause","onMouseLeave","resume","onScroll","scheduleAllToastsForDismissal","euiToaster","toasts","forEach","id","Timer","dismissToast","bind","toastLifeTimeMs","args","push","setTimeout","apply","clear","toastIdToDismissedMap","remove","constructor","owner1","args1","didInsert","element1","willDestroy","cancelAnimationFrame","clearTimeout","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","argOrDefault","on","EuiToast","get","queue","fn","optional"],"mappings":";;;;;;;;;;;;;;;;;AAsCA,MAAMA,iBAAA,GAAoB,GAAA,CAAA;AAOX,MAAMC,kBAAA,SAA2BC,SAAA,CAAU;AAAA,EAAA;AAAAC,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,iBACvDC,MAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,WAAA,IAAAC,CAAA,CAAAH,IAAA,iBAAAI,KAAA,CAAA,EAAA;AAEDC,EAAAA,iBAAA,GAA8B,EAAE,CAAA;AAChCC,EAAAA,iBAAA,GAAkD,EAAC,CAAA;AAEnDC,EAAAA,mBAAA,GAAsB,KAAA,CAAA;AACtBC,EAAAA,kBAAA,GAAqB,IAAA,CAAA;AACrBC,EAAAA,iBAAA,GAAoB,KAAA,CAAA;AAEpB;AACA;AACAC,EAAAA,yBAAA,GAA4B,CAAA,CAAA;AAC5BC,EAAAA,4BAAA,GAA+B,CAAA,CAAA;AAE/BC,EAAAA,WAAA,GAA8B,IAAA,CAAA;AAAK,EAAA;AAAAb,IAAAA,CAAA,CAAAC,IAAA,CAAAC,SAAA,4BAClCY,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAEG,EAAC,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA;AAAA,EAAA,sBAAA,IAAAV,CAAA,CAAAH,IAAA,4BAAAI,KAAA,CAAA,EAAA;AAELU,EAAAA,sBAAAA,GAA+B;IAC7B,IAAI,CAACP,mBAAmB,GAAG,IAAA,CAAA;IAE3B,MAAMQ,eAAA,GAAiBA,MAAA;AACrB;AACA;AACA,MAAA,IAAI,CAAC,IAAI,CAACH,WAAW,EAAE;AACrB,QAAA,OAAA;AACF,OAAA;AAEA,MAAA,MAAMI,SAAA,GAAW,IAAI,CAACJ,WAAW,CAACK,SAAS,CAAA;AAC3C,MAAA,MAAMC,YAAA,GACJ,IAAI,CAACN,WAAW,CAACO,YAAY,GAAG,IAAI,CAACP,WAAW,CAACQ,YAAY,CAAA;AAC/D,MAAA,MAAMC,sBAAA,GAAwBH,YAAA,GAAcF,SAAA,CAAA;MAE5C,IAAIK,sBAAA,GAAwB,CAAG,EAAA;AAC7B,QAAA,IAAI,CAACT,WAAW,CAACK,SAAS,GAAGC,YAAA,CAAA;QAC7B,IAAI,CAACX,mBAAmB,GAAG,KAAA,CAAA;QAC3B,IAAI,CAACC,kBAAkB,GAAG,IAAA,CAAA;AAE1B,QAAA,OAAA;AACF,OAAA;MAEA,IAAI,CAACI,WAAW,CAACK,SAAS,GAAGD,SAAA,GAAWK,sBAAA,GAAwB,IAAA,CAAA;MAEhE,IAAI,IAAI,CAACd,mBAAmB,EAAE;AAC5B,QAAA,IAAI,CAACG,yBAAyB,GAC5BY,MAAA,CAAOC,qBAAqB,CAACR,eAAA,CAAA,CAAA;AACjC,OAAA;AACF,KAAA,CAAA;AAEA,IAAA,IAAI,CAACJ,4BAA4B,GAC/BW,MAAA,CAAOC,qBAAqB,CAACR,eAAA,CAAA,CAAA;AACjC,GAAA;AAGAS,EAAAA,cAAAA,CAAeC,MAA0B,EAAQ;IAC/C,IAAI,CAACC,yBAAyB,CAACD,MAAA,CAAA,CAAA;AAE/B,IAAA,IAAI,CAAC,IAAI,CAAChB,iBAAiB,EAAE;AAC3B;AACA;MACA,IAAI,IAAI,CAACD,kBAAkB,EAAE;AAC3B,QAAA,IAAI,CAACM,sBAAsB,EAAA,CAAA;AAC7B,OAAA;AACF,KAAA;AACF,GAAA;AAAA,EAAA;AAAAa,IAAAA,CAAA,CAAA3B,IAAA,CAAAC,SAAA,qBAXC2B,MAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAcDC,EAAAA,YAAAA,GAAqB;AACnB;AACA;IACA,IAAI,CAACtB,mBAAmB,GAAG,KAAA,CAAA;IAC3B,IAAI,CAACE,iBAAiB,GAAG,IAAA,CAAA;AAEzB;AACA,IAAA,KAAK,MAAMqB,QAAA,IAAW,IAAI,CAACxB,iBAAiB,EAAE;AAC5C,MAAA,IAAI,IAAI,CAACA,iBAAiB,CAACyB,cAAc,CAACD,QAAA,CAAU,EAAA;AAClD,QAAA,MAAME,MAAA,GAAQ,IAAI,CAAC1B,iBAAiB,CAACwB,QAAA,CAAQ,CAAA;AAE7CE,QAAAA,MAAA,EAAOC,KAAA,EAAA,CAAA;AACT,OAAA;AACF,KAAA;AACF,GAAA;AAAA,EAAA;AAAAN,IAAAA,CAAA,CAAA3B,IAAA,CAAAC,SAAA,mBAfC2B,MAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAkBDM,EAAAA,YAAAA,GAAqB;IACnB,IAAI,CAACzB,iBAAiB,GAAG,KAAA,CAAA;AAEzB,IAAA,KAAK,MAAMqB,QAAA,IAAW,IAAI,CAACxB,iBAAiB,EAAE;AAC5C,MAAA,IAAI,IAAI,CAACA,iBAAiB,CAACyB,cAAc,CAACD,QAAA,CAAU,EAAA;AAClD,QAAA,MAAME,MAAA,GAAQ,IAAI,CAAC1B,iBAAiB,CAACwB,QAAA,CAAQ,CAAA;AAE7CE,QAAAA,MAAA,EAAOG,MAAA,EAAA,CAAA;AACT,OAAA;AACF,KAAA;AACF,GAAA;AAAA,EAAA;AAAAR,IAAAA,CAAA,CAAA3B,IAAA,CAAAC,SAAA,mBAXC2B,MAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAcDQ,EAAAA,QAAAA,GAAiB;IACf,IAAI,IAAI,CAACxB,WAAW,EAAE;AACpB,MAAA,IAAI,CAACJ,kBAAkB,GACrB,IAAI,CAACI,WAAW,CAACO,YAAY,GAAG,IAAI,CAACP,WAAW,CAACK,SAAS,KAC1D,IAAI,CAACL,WAAW,CAACQ,YAAY,CAAA;AACjC,KAAA;AACF,GAAA;AAAA,EAAA;AAAAO,IAAAA,CAAA,CAAA3B,IAAA,CAAAC,SAAA,eAPC2B,MAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AASDS,EAAAA,6BAAAA,GAAsC;AACpC,IAAA,IAAI,CAACC,UAAU,CAACC,MAAM,CAACC,OAAO,CAAEf,MAAA,IAAA;MAC9B,IAAI,CAAC,IAAI,CAACnB,iBAAiB,CAACmB,MAAA,CAAMgB,EAAE,CAAC,EAAE;QACrC,IAAI,CAACf,yBAAyB,CAACD,MAAA,CAAA,CAAA;AACjC,OAAA;AACF,KAAA,CAAA,CAAA;AACF,GAAA;AAGAC,EAAAA,yBAAAA,CAA0BD,MAA0B,EAAQ;AAC1D;AACA,IAAA,IAAI,CAACnB,iBAAiB,CAACmB,MAAA,CAAMgB,EAAE,CAAC,GAAG,IAAIC,KAAA,CACrC,IAAI,CAACC,YAAY,CAACC,IAAI,CAAC,IAAI,EAAEnB,MAAA,CAAA,EAC7BA,MAAA,CAAMoB,eAAe,IAAI,IAAA,GACrBpB,MAAA,CAAMoB,eAAe,GACrB,IAAI,CAACC,IAAI,CAACD,eAAe,CAAA,CAAA;AAEjC,GAAA;AAAA,EAAA;AAAAlB,IAAAA,CAAA,CAAA3B,IAAA,CAAAC,SAAA,gCATC2B,MAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAYDe,EAAAA,YAAAA,CAAalB,MAA0B,EAAQ;AAC7C;IACA,IAAI,CAACpB,iBAAiB,CAAC0C,IAAI,CACzBzB,MAAA,CAAO0B,UAAU,CAAC,MAAA;AAChB;AACA;AACA;AACA;MACA,IAAI,IAAI,CAAC1C,iBAAiB,CAACyB,cAAc,CAACN,MAAA,CAAMgB,EAAE,CAAG,EAAA;AACnD,QAAA,IAAI,IAAI,CAACK,IAAI,CAACH,YAAY,EAAE;UAC1B,IAAI,CAACG,IAAI,CAACH,YAAY,CAACM,KAAK,CAAC,IAAI,EAAE,CAACxB,MAAA,CAAM,CAAA,CAAA;AAC5C,SAAA;QAEA,IAAI,CAACnB,iBAAiB,CAACmB,MAAA,CAAMgB,EAAE,CAAC,CAAES,KAAK,EAAA,CAAA;AACvC,QAAA,OAAO,IAAI,CAAC5C,iBAAiB,CAACmB,MAAA,CAAMgB,EAAE,CAAC,CAAA;AAEvC,QAAA,OAAO,IAAI,CAACU,qBAAqB,CAAC1B,MAAA,CAAMgB,EAAE,CAAC,CAAA;QAC3C,IAAI,CAACU,qBAAqB,GAAG;AAC3B,UAAA,GAAG,IAAI,CAACA,qBAAAA;AACV,SAAA,CAAA;AACA,QAAA,IAAI,CAACb,UAAU,CAACc,MAAM,CAAC3B,MAAA,CAAA,CAAA;AACzB,OAAA;AACF,KAAA,EAAG7B,iBAAA,CAAA,CAAA,CAAA;IAGL,IAAI,CAACuD,qBAAqB,GAAG;MAC3B,GAAG,IAAI,CAACA,qBAAqB;MAC7B,CAAC1B,MAAA,CAAMgB,EAAE,GAAG,IAAA;AACd,KAAA,CAAA;AACF,GAAA;AAAA,EAAA;AAAAd,IAAAA,CAAA,CAAA3B,IAAA,CAAAC,SAAA,mBA9BC2B,MAAA,CAAA,CAAA,CAAA;AAAA,GAAA;EAgCDyB,WAAYC,CAAAA,MAAc,EAAEC,KAAyB,EAAE;IACrD,KAAK,CAACD,MAAA,EAAOC,KAAA,CAAA,CAAA;AACb,IAAA,IAAI,CAAClB,6BAA6B,EAAA,CAAA;AACpC,GAAA;AAGAmB,EAAAA,SAAAA,CAAUC,QAAgB,EAAQ;IAChC,IAAI,CAAC7C,WAAW,GAAG6C,QAAA,CAAA;AACrB,GAAA;AAAA,EAAA;AAAA9B,IAAAA,CAAA,CAAA3B,IAAA,CAAAC,SAAA,gBAHC2B,MAAA,CAAA,CAAA,CAAA;AAAA,GAAA;AAKD8B,EAAAA,WAAAA,GAAoB;AAClB,IAAA,KAAK,CAACA,WAAA,EAAA,CAAA;AAEN,IAAA,IAAI,IAAI,CAAChD,yBAAyB,KAAK,CAAG,EAAA;AACxCY,MAAAA,MAAA,CAAOqC,oBAAoB,CAAC,IAAI,CAACjD,yBAAyB,CAAA,CAAA;AAC5D,KAAA;AAEA,IAAA,IAAI,IAAI,CAACC,4BAA4B,KAAK,CAAG,EAAA;AAC3CW,MAAAA,MAAA,CAAOqC,oBAAoB,CAAC,IAAI,CAAChD,4BAA4B,CAAA,CAAA;AAC/D,KAAA;AAEA,IAAA,IAAI,CAACN,iBAAiB,CAACmC,OAAO,CAACoB,YAAA,CAAA,CAAA;AAE/B,IAAA,KAAK,MAAM9B,QAAA,IAAW,IAAI,CAACxB,iBAAiB,EAAE;AAC5C,MAAA,IAAI,IAAI,CAACA,iBAAiB,CAACyB,cAAc,CAACD,QAAA,CAAU,EAAA;AAClD,QAAA,MAAME,MAAA,GAAQ,IAAI,CAAC1B,iBAAiB,CAACwB,QAAA,CAAQ,CAAA;AAE7CE,QAAAA,MAAA,EAAOkB,KAAA,EAAA,CAAA;AACT,OAAA;AACF,KAAA;AACF,GAAA;AAEA,EAAA;IAAAW,oBAAA,CAAAC,kBAAA,CAuCA,q6BAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;QAAAC,UAAA;QAAAC,YAAA;QAAAV,SAAA;QAAAW,EAAA;QAAAC,QAAA;QAAAC,GAAA;QAAAC,KAAA;QAAAC,EAAA;AAAAC,QAAAA,QAAAA;AAAA,OAAA,CAAA;AAAU,KAAA,CAAA,EAAV,IAAW,CAAA,CAAA;AAAD,GAAA;AACZ;;;;"}
|
|
1
|
+
{"version":3,"file":"eui-global-toast-list.js","sources":["../../src/components/eui-global-toast-list.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { get } from '@ember/helper';\nimport { fn } from '@ember/helper';\nimport { on } from '@ember/modifier';\nimport { action } from '@ember/object';\nimport didInsert from '@ember/render-modifiers/modifiers/did-insert';\nimport { inject as service } from '@ember/service';\nimport type Owner from '@ember/owner';\n\nimport optional from 'ember-composable-helpers/helpers/optional';\nimport queue from 'ember-composable-helpers/helpers/queue';\n\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport Timer from '../utils/timer.ts';\nimport EuiToast from './eui-toast.gts';\n\nimport type EuiToasterService from '../services/eui-toaster';\nimport type {\n EuiToastProps,\n EuiToastPropsWithId\n} from '../services/eui-toaster';\nimport type { sideMapping } from '../utils/css-mappings/eui-global-toast-list.ts';\n\ntype EuiToastSide = keyof typeof sideMapping;\n\ntype GlobalToastListArgs = {\n dismissToast?: (this: EuiGlobalToastList, toast: EuiToastProps) => void;\n toastLifeTimeMs: number;\n\n /*\n Determines which side of the browser window the toasts should appear\n Default: 'right'\n\n */\n side?: EuiToastSide;\n};\n\nconst TOAST_FADE_OUT_MS = 250;\n\nexport interface EuiGlobalToastListItemSignature {\n Element: HTMLDivElement;\n Args: GlobalToastListArgs;\n}\n\nexport default class EuiGlobalToastList extends Component<EuiGlobalToastListItemSignature> {\n @service declare euiToaster: EuiToasterService;\n\n dismissTimeoutIds: number[] = [];\n toastIdToTimerMap: { [toastId: string]: Timer } = {};\n\n isScrollingToBottom = false;\n isScrolledToBottom = true;\n isUserInteracting = false;\n\n // See [Return Value](https://developer.mozilla.org/en-US/docs/Web/API/Window/requestAnimationFrame#Return_value)\n // for information on initial value of 0\n isScrollingAnimationFrame = 0;\n startScrollingAnimationFrame = 0;\n\n listElement: Element | null = null;\n @tracked toastIdToDismissedMap: {\n [toastId: string]: boolean;\n } = {};\n\n startScrollingToBottom(): void {\n this.isScrollingToBottom = true;\n\n const scrollToBottom = () => {\n // Although we cancel the requestAnimationFrame in componentWillUnmount,\n // it's possible for this.listElement to become null in the meantime\n if (!this.listElement) {\n return;\n }\n\n const position = this.listElement.scrollTop;\n const destination =\n this.listElement.scrollHeight - this.listElement.clientHeight;\n const distanceToDestination = destination - position;\n\n if (distanceToDestination < 5) {\n this.listElement.scrollTop = destination;\n this.isScrollingToBottom = false;\n this.isScrolledToBottom = true;\n\n return;\n }\n\n this.listElement.scrollTop = position + distanceToDestination * 0.25;\n\n if (this.isScrollingToBottom) {\n this.isScrollingAnimationFrame =\n window.requestAnimationFrame(scrollToBottom);\n }\n };\n\n this.startScrollingAnimationFrame =\n window.requestAnimationFrame(scrollToBottom);\n }\n\n @action\n didInsertToast(toast: EuiToastPropsWithId): void {\n this.scheduleToastForDismissal(toast);\n\n if (!this.isUserInteracting) {\n // If the user has scrolled up the toast list then we don't want to annoy them by scrolling\n // all the way back to the bottom.\n if (this.isScrolledToBottom) {\n this.startScrollingToBottom();\n }\n }\n }\n\n @action\n onMouseEnter(): void {\n // Stop scrolling to bottom if we're in mid-scroll, because the user wants to interact with\n // the list.\n this.isScrollingToBottom = false;\n this.isUserInteracting = true;\n\n // Don't let toasts dismiss themselves while the user is interacting with them.\n for (const toastId in this.toastIdToTimerMap) {\n if (this.toastIdToTimerMap.hasOwnProperty(toastId)) {\n const timer = this.toastIdToTimerMap[toastId];\n\n timer?.pause();\n }\n }\n }\n\n @action\n onMouseLeave(): void {\n this.isUserInteracting = false;\n\n for (const toastId in this.toastIdToTimerMap) {\n if (this.toastIdToTimerMap.hasOwnProperty(toastId)) {\n const timer = this.toastIdToTimerMap[toastId];\n\n timer?.resume();\n }\n }\n }\n\n @action\n onScroll(): void {\n if (this.listElement) {\n this.isScrolledToBottom =\n this.listElement.scrollHeight - this.listElement.scrollTop ===\n this.listElement.clientHeight;\n }\n }\n\n scheduleAllToastsForDismissal(): void {\n this.euiToaster.toasts.forEach((toast) => {\n if (!this.toastIdToTimerMap[toast.id]) {\n this.scheduleToastForDismissal(toast);\n }\n });\n }\n\n @action\n scheduleToastForDismissal(toast: EuiToastPropsWithId): void {\n // Start fading the toast out once its lifetime elapses.\n this.toastIdToTimerMap[toast.id] = new Timer(\n this.dismissToast.bind(this, toast),\n toast.toastLifeTimeMs != null\n ? toast.toastLifeTimeMs\n : this.args.toastLifeTimeMs\n );\n }\n\n @action\n dismissToast(toast: EuiToastPropsWithId): void {\n // Remove the toast after it's done fading out.\n this.dismissTimeoutIds.push(\n window.setTimeout(() => {\n // Because this is wrapped in a setTimeout, and because React does not guarantee when\n // state updates happen, it is possible to double-dismiss a toast\n // including by double-clicking the \"x\" button on the toast\n // so, first check to make sure we haven't already dismissed this toast\n if (this.toastIdToTimerMap.hasOwnProperty(toast.id)) {\n if (this.args.dismissToast) {\n this.args.dismissToast.apply(this, [toast]);\n }\n\n this.toastIdToTimerMap[toast.id]!.clear();\n delete this.toastIdToTimerMap[toast.id];\n\n delete this.toastIdToDismissedMap[toast.id];\n this.toastIdToDismissedMap = {\n ...this.toastIdToDismissedMap\n };\n this.euiToaster.remove(toast);\n }\n }, TOAST_FADE_OUT_MS)\n );\n\n this.toastIdToDismissedMap = {\n ...this.toastIdToDismissedMap,\n [toast.id]: true\n };\n }\n\n constructor(owner: Owner, args: GlobalToastListArgs) {\n super(owner, args);\n this.scheduleAllToastsForDismissal();\n }\n\n @action\n didInsert(element: Element): void {\n this.listElement = element;\n }\n\n willDestroy(): void {\n super.willDestroy();\n\n if (this.isScrollingAnimationFrame !== 0) {\n window.cancelAnimationFrame(this.isScrollingAnimationFrame);\n }\n\n if (this.startScrollingAnimationFrame !== 0) {\n window.cancelAnimationFrame(this.startScrollingAnimationFrame);\n }\n\n this.dismissTimeoutIds.forEach(clearTimeout);\n\n for (const toastId in this.toastIdToTimerMap) {\n if (this.toastIdToTimerMap.hasOwnProperty(toastId)) {\n const timer = this.toastIdToTimerMap[toastId];\n\n timer?.clear();\n }\n }\n }\n\n <template>\n <div\n aria-live=\"polite\"\n role=\"region\"\n class={{classNames\n componentName=\"EuiGlobalToastList\"\n side=(argOrDefault @side \"right\")\n }}\n style={{unless this.euiToaster.toasts.length \"padding:0px;\"}}\n {{didInsert this.didInsert}}\n {{on \"scroll\" this.onScroll}}\n {{on \"mouseenter\" this.onMouseEnter}}\n {{on \"mouseleave\" this.onMouseLeave}}\n ...attributes\n >\n {{#each this.euiToaster.toasts as |toast|}}\n <EuiToast\n class={{classNames\n \"euiGlobalToastListItem\"\n (if\n (get this.toastIdToDismissedMap toast.id)\n \"euiGlobalToastListItem-isDismissed\"\n )\n }}\n @title={{toast.title}}\n @useMarkdownFormat={{toast.useMarkdownFormat}}\n @body={{toast.body}}\n @color={{toast.color}}\n @iconType={{toast.iconType}}\n @onClose={{queue\n (fn this.dismissToast toast)\n (optional toast.onClose)\n }}\n {{didInsert (fn this.didInsertToast toast)}}\n {{on \"focus\" this.onMouseEnter}}\n {{on \"blur\" this.onMouseLeave}}\n />\n {{/each}}\n </div>\n </template>\n}\n"],"names":["TOAST_FADE_OUT_MS","EuiGlobalToastList","Component","g","prototype","service","i","void 0","dismissTimeoutIds","toastIdToTimerMap","isScrollingToBottom","isScrolledToBottom","isUserInteracting","isScrollingAnimationFrame","startScrollingAnimationFrame","listElement","tracked","startScrollingToBottom","scrollToBottom","position","scrollTop","destination","scrollHeight","clientHeight","distanceToDestination","window","requestAnimationFrame","didInsertToast","toast","scheduleToastForDismissal","n","action","onMouseEnter","toastId","hasOwnProperty","timer","pause","onMouseLeave","resume","onScroll","scheduleAllToastsForDismissal","euiToaster","toasts","forEach","id","Timer","dismissToast","bind","toastLifeTimeMs","args","push","setTimeout","apply","clear","toastIdToDismissedMap","remove","constructor","owner","didInsert","element","willDestroy","cancelAnimationFrame","clearTimeout","setComponentTemplate","precompileTemplate","strictMode","scope","classNames","argOrDefault","on","EuiToast","get","queue","fn","optional"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-header-alert.js","sources":["../../src/components/eui-header-alert.gts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"eui-header-alert.js","sources":["../../src/components/eui-header-alert.gts"],"sourcesContent":["import randomId from '../-private/random-id.ts';\nimport EuiFlexGroup from './eui-flex-group.gts';\nimport EuiFlexItem from './eui-flex-item.gts';\n\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface EuiHeaderAlertSignature {\n Element: HTMLElement;\n Blocks: {\n date: [];\n badge: [];\n title: [];\n text: [];\n action: [];\n };\n}\n\nconst EuiHeaderAlert: TemplateOnlyComponent<EuiHeaderAlertSignature> =\n <template>\n {{#let (randomId) as |ariaId|}}\n <article\n aria-labelledby=\"{{ariaId}}-title\"\n class=\"euiHeaderAlert\"\n ...attributes\n >\n <EuiFlexGroup @justifyContent=\"spaceBetween\">\n <EuiFlexItem>\n <div class=\"euiHeaderAlert__date\">{{yield to=\"date\"}}</div>\n </EuiFlexItem>\n {{#if (has-block \"badge\")}}\n <EuiFlexItem @grow={{false}}>{{yield to=\"badge\"}}</EuiFlexItem>\n {{/if}}\n\n </EuiFlexGroup>\n\n <h3 id=\"{{ariaId}}-title\" class=\"euiHeaderAlert__title\">\n {{yield to=\"title\"}}\n </h3>\n <div class=\"euiHeaderAlert__text\">{{yield to=\"text\"}}</div>\n {{#if (has-block \"action\")}}\n <div class=\"euiHeaderAlert__action euiLink\">{{yield\n to=\"action\"\n }}</div>\n {{/if}}\n </article>\n {{/let}}\n </template>;\n\nexport default EuiHeaderAlert;\n"],"names":["EuiHeaderAlert","setComponentTemplate","precompileTemplate","strictMode","scope","randomId","EuiFlexGroup","EuiFlexItem","templateOnly"],"mappings":";;;;;;;AAiBA,MAAMA,cACJ,GAAAC,oBAAA,CAAAC,kBAAA,CA4BA,y1BAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,QAAA;IAAAC,YAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-header-breadcrumbs.js","sources":["../../src/components/eui-header-breadcrumbs.gts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"eui-header-breadcrumbs.js","sources":["../../src/components/eui-header-breadcrumbs.gts"],"sourcesContent":["import EuiBreadcrumbs from './eui-breadcrumbs.gts';\n\nimport type { EuiBreadcrumbsSignature } from './eui-breadcrumbs';\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface EuiHeaderBreadcrumbsSignature {\n Element: EuiBreadcrumbsSignature['Element'];\n Args: {\n breadcrumbs: EuiBreadcrumbsSignature['Args']['breadcrumbs'];\n };\n Blocks: {\n default: [];\n };\n}\n\nconst EuiHeaderBreadcrumbs: TemplateOnlyComponent<EuiHeaderBreadcrumbsSignature> =\n <template>\n <EuiBreadcrumbs\n @max={{4}}\n @truncate={{true}}\n @breadcrumbs={{@breadcrumbs}}\n class=\"euiHeaderBreadcrumbs\"\n ...attributes\n />\n </template>;\n\nexport default EuiHeaderBreadcrumbs;\n"],"names":["EuiHeaderBreadcrumbs","setComponentTemplate","precompileTemplate","strictMode","scope","EuiBreadcrumbs","templateOnly"],"mappings":";;;;;AAeA,MAAMA,oBACJ,GAAAC,oBAAA,CAAAC,kBAAA,CAQA,uIAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-header-link.js","sources":["../../src/components/eui-header-link.gts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"eui-header-link.js","sources":["../../src/components/eui-header-link.gts"],"sourcesContent":["import classNames from '../helpers/class-names.ts';\nimport EuiButtonEmpty from './eui-button-empty.gts';\n\nimport type { EuiButtonEmptySignature } from './eui-button-empty';\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface EuiHeaderLinkSignature {\n Element: EuiButtonEmptySignature['Element'];\n Args: EuiButtonEmptySignature['Args'] & {\n isActive?: boolean;\n };\n Blocks: {\n default: [];\n };\n}\n\nconst EuiHeaderLink: TemplateOnlyComponent<EuiHeaderLinkSignature> = <template>\n <EuiButtonEmpty\n class={{classNames \"euiHeaderLink\" (if @isActive \"euiHeaderLink-isActive\")}}\n @color={{if @isActive \"primary\" \"text\"}}\n @href={{@href}}\n @isLoading={{@isLoading}}\n @isDisabled={{@isDisabled}}\n @target={{@target}}\n @iconType={{@iconType}}\n @iconSide={{@iconSide}}\n @iconClasses={{@iconClasses}}\n @textClasses={{@textClasses}}\n ...attributes\n >\n {{yield}}\n </EuiButtonEmpty>\n</template>;\n\nexport default EuiHeaderLink;\n"],"names":["EuiHeaderLink","setComponentTemplate","precompileTemplate","strictMode","scope","EuiButtonEmpty","classNames","templateOnly"],"mappings":";;;;;;AAgBA,MAAMA,aAA+D,GAAAC,oBAAA,CAAAC,kBAAA,CAgBrE,8YAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,cAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-header-links.js","sources":["../../src/components/eui-header-links.gts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"eui-header-links.js","sources":["../../src/components/eui-header-links.gts"],"sourcesContent":["import Component from '@glimmer/component';\nimport { tracked } from '@glimmer/tracking';\nimport { on } from '@ember/modifier';\n\nimport set from 'ember-set-helper/helpers/set';\n\nimport argOrDefault from '../helpers/arg-or-default.ts';\nimport classNames from '../helpers/class-names.ts';\nimport EuiButtonEmpty from './eui-button-empty.gts';\nimport EuiHideFor from './eui-hide-for.gts';\nimport EuiIcon from './eui-icon.gts';\nimport EuiPopover from './eui-popover.gts';\nimport EuiShowFor from './eui-show-for.gts';\n\nimport type { gutterSizeMapping } from '../utils/css-mappings/eui-header-links.ts';\nimport type { EuiHideForSignature } from './eui-hide-for';\nimport type { EuiPopoverSignature } from './eui-popover';\n\nexport interface EuiHeaderLinkSignature {\n Args: {\n popoverBreakpoints?: EuiHideForSignature['Args']['sizes'];\n gutterSize?: keyof typeof gutterSizeMapping;\n panelPaddingSize?: EuiPopoverSignature['Args']['panelPaddingSize'];\n };\n Blocks: {\n default: [];\n };\n}\n\nexport default class EuiHeaderLinksComponent extends Component<EuiHeaderLinkSignature> {\n @tracked pop1 = false;\n\n get popoverBreakpoints() {\n return this.args.popoverBreakpoints || ['xs', 's'];\n }\n\n get hasMobileVersion() {\n return this.popoverBreakpoints?.length > 0;\n }\n\n <template>\n <nav class=\"euiHeaderLinks\">\n <EuiHideFor @sizes={{this.popoverBreakpoints}}>\n <div\n class={{classNames\n \"euiHeaderLinks__list\"\n componentName=\"EuiHeaderLinks\"\n gutterSize=(argOrDefault @gutterSize \"xs\")\n }}\n >\n {{yield}}\n </div>\n </EuiHideFor>\n\n {{#if this.hasMobileVersion}}\n <EuiShowFor @sizes={{this.popoverBreakpoints}}>\n <EuiPopover\n @isOpen={{this.pop1}}\n @anchorPosition=\"downRight\"\n @panelPaddingSize={{argOrDefault @panelPaddingSize \"none\"}}\n @closePopover={{set this \"pop1\" false}}\n >\n <:button>\n <EuiButtonEmpty\n @color=\"text\"\n {{on \"click\" (set this \"pop1\" true)}}\n >\n <EuiIcon @type=\"apps\" />\n </EuiButtonEmpty>\n </:button>\n <:content>\n <div\n class={{classNames\n \"euiHeaderLinks__mobileList\"\n componentName=\"EuiHeaderLinks\"\n mobileGutterSize=(argOrDefault @gutterSize \"xs\")\n }}\n >\n {{yield}}\n </div>\n </:content>\n </EuiPopover>\n </EuiShowFor>\n {{/if}}\n </nav>\n </template>\n}\n"],"names":["EuiHeaderLinksComponent","Component","g","prototype","tracked","i","void 0","popoverBreakpoints","args","hasMobileVersion","length","setComponentTemplate","precompileTemplate","strictMode","scope","EuiHideFor","classNames","argOrDefault","EuiShowFor","EuiPopover","set","EuiButtonEmpty","on","EuiIcon"],"mappings":";;;;;;;;;;;;;;;AA6Be,MAAMA,gCAAgCC,SAAU,CAAA;AAAA,EAAA;IAAAC,CAAA,CAAA,IAAA,CAAAC,SAAA,EAAA,MAAA,EAAA,CAC5DC,OAAA,CAAA,EAAA,YAAA;AAAA,MAAA,OAAe,KAAM;AAAA,KAAA,CAAA;AAAA;AAAA,EAAA,KAAA,IAAAC,CAAA,CAAA,IAAA,EAAA,MAAA,CAAA,EAAAC,SAAA;EAEtB,IAAIC,kBAAqBA,GAAA;IACvB,OAAO,IAAI,CAACC,IAAI,CAACD,kBAAkB,IAAI,CAAC,IAAA,EAAM,GAAA,CAAI;AACpD;EAEA,IAAIE,gBAAmBA,GAAA;AACrB,IAAA,OAAO,IAAI,CAACF,kBAAkB,EAAEG,MAAS,GAAA,CAAA;AAC3C;AAEA,EAAA;IAAAC,oBAAA,CAAAC,kBAAA,CA6CA,0lCAAA,EAAA;MAAAC,UAAA,EAAA,IAAA;AAAAC,MAAAA,KAAA,EAAAA,OAAA;oBAAAC,mBAAA;QAAAC,UAAA;QAAAC,YAAA;oBAAAC,mBAAA;oBAAAC,mBAAA;QAAAC,GAAA;QAAAC,cAAA;QAAAC,EAAA;AAAAC,QAAAA;AAAA,OAAA;KAAU,CAAA,EAAV,IAAW,CAAA;AAAD;AACZ;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-header-logo.js","sources":["../../src/components/eui-header-logo.gts"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"eui-header-logo.js","sources":["../../src/components/eui-header-logo.gts"],"sourcesContent":["import argOrDefault from '../helpers/arg-or-default.ts';\nimport EuiIcon from './eui-icon.gts';\n\nimport type { EuiIconSignature } from './eui-icon';\nimport type { TemplateOnlyComponent } from '@ember/component/template-only';\n\nexport interface EuiHeaderLogoSignature {\n Element: HTMLAnchorElement;\n Args: {\n href?: string;\n target?: string;\n iconTitle?: string;\n iconType?: EuiIconSignature['Args']['type'];\n }\n Blocks: {\n default: []\n }\n}\n\nconst EuiHeaderLogo: TemplateOnlyComponent<EuiHeaderLogoSignature> = <template>\n <a class=\"euiHeaderLogo\" href={{@href}} target={{@target}} ...attributes>\n <EuiIcon\n aria-label={{@iconTitle}}\n @iconClasses=\"euiHeaderLogo__icon\"\n @size=\"l\"\n @type={{argOrDefault @iconType \"logoElastic\"}}\n />\n {{#if (has-block)}}\n <span class=\"euiHeaderLogo__text\">\n {{yield}}\n </span>\n {{/if}}\n </a>\n</template>;\n\nexport default EuiHeaderLogo;\n"],"names":["EuiHeaderLogo","setComponentTemplate","precompileTemplate","strictMode","scope","EuiIcon","argOrDefault","templateOnly"],"mappings":";;;;;;AAmBA,MAAMA,aAA+D,GAAAC,oBAAA,CAAAC,kBAAA,CAcrE,4VAAA,EAAA;EAAAC,UAAA,EAAA,IAAA;AAAAC,EAAAA,KAAA,EAAAA,OAAA;IAAAC,OAAA;AAAAC,IAAAA;AAAA,GAAA;AAAU,CAAA,CAAA,EAAAC,YAAA,EAAA;;;;"}
|
|
@@ -116,13 +116,13 @@ class EuiHeaderSectionItemButtonComponent extends Component {
|
|
|
116
116
|
static {
|
|
117
117
|
g(this.prototype, "buttonRef", [tracked]);
|
|
118
118
|
}
|
|
119
|
-
#buttonRef = (i(this, "buttonRef"),
|
|
119
|
+
#buttonRef = (i(this, "buttonRef"), undefined);
|
|
120
120
|
static {
|
|
121
121
|
g(this.prototype, "animationTargetRef", [tracked]);
|
|
122
122
|
}
|
|
123
|
-
#animationTargetRef = (i(this, "animationTargetRef"),
|
|
124
|
-
setAnimationTargetRef =
|
|
125
|
-
this.animationTargetRef =
|
|
123
|
+
#animationTargetRef = (i(this, "animationTargetRef"), undefined);
|
|
124
|
+
setAnimationTargetRef = ele => {
|
|
125
|
+
this.animationTargetRef = ele;
|
|
126
126
|
this.args.ref?.({
|
|
127
127
|
euiAnimate: this.animate
|
|
128
128
|
});
|
|
@@ -132,8 +132,8 @@ class EuiHeaderSectionItemButtonComponent extends Component {
|
|
|
132
132
|
duration: 5000
|
|
133
133
|
});
|
|
134
134
|
};
|
|
135
|
-
setButtonRef =
|
|
136
|
-
this.buttonRef =
|
|
135
|
+
setButtonRef = ele => {
|
|
136
|
+
this.buttonRef = ele;
|
|
137
137
|
};
|
|
138
138
|
static {
|
|
139
139
|
setComponentTemplate(precompileTemplate("\n <EuiButtonEmpty class=\"euiHeaderSectionItemButton\" @isDisabled={{@disabled}} @href={{@href}} @color=\"text\" {{didInsert this.setButtonRef}} {{on \"click\" (optional @onClick)}} ...attributes>\n <span {{didInsert this.setAnimationTargetRef}} class=\"euiHeaderSectionItemButton__content\">\n {{yield}}\n </span>\n {{#if @notification}}\n {{#if (eq @notification true)}}\n <EuiIcon @iconClasses=\"euiHeaderSectionItemButton__notification euiHeaderSectionItemButton__notification--dot\" @color={{argOrDefault @notificationColor \"accent\"}} @type=\"dot\" @size=\"l\" />\n {{else if @notification}}\n <EuiHideFor @sizes={{sizes}}>\n <EuiNotificationBadge class=\"euiHeaderSectionItemButton__notification euiHeaderSectionItemButton__notification--badge\" @color={{argOrDefault @notificationColor \"accent\"}}>\n {{@notification}}\n </EuiNotificationBadge>\n </EuiHideFor>\n <EuiShowFor @sizes={{sizes}}>\n <EuiIcon @iconClasses=\"euiHeaderSectionItemButton__notification euiHeaderSectionItemButton__notification--dot\" @color={{argOrDefault @notificationColor \"accent\"}} @type=\"dot\" @size=\"l\" />\n </EuiShowFor>\n {{/if}}\n {{/if}}\n </EuiButtonEmpty>\n ", {
|