@ember-eui/core 11.0.2 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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-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 +4 -3
- package/declarations/components/eui-markdown-editor-toolbar.d.ts.map +1 -1
- package/declarations/components/eui-markdown-editor.d.ts +8 -3
- 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-actions.d.ts +1 -1
- package/declarations/utils/markdown/markdown-modes.d.ts.map +1 -1
- package/declarations/utils/markdown/markdown-types.d.ts +1 -1
- package/declarations/utils/markdown/markdown-types.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 +32 -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 +20 -19
- package/dist/components/eui-combo-box/trigger/input.js.map +1 -1
- package/dist/components/eui-combo-box/trigger.js +2 -2
- 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 +58 -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 +147 -96
- 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":"detect-element-resize.js","sources":["../../src/utils/detect-element-resize.js"],"sourcesContent":["/**\n * Detect Element Resize.\n * https://github.com/sdecima/javascript-detect-element-resize\n * Sebastian Decima\n *\n * Forked from version 0.5.3; includes the following modifications:\n * 1) Guard against unsafe 'window' and 'document' references (to support SSR).\n * 2) Defer initialization code via a top-level function wrapper (to support SSR).\n * 3) Avoid unnecessary reflows by not measuring size for scroll events bubbling from children.\n * 4) Add nonce for style element.\n * 5) Added support for injecting custom window object\n **/\n\nexport default function createDetectElementResize(nonce, hostWindow) {\n // Check `document` and `window` in case of server-side rendering\n var _window;\n\n if (typeof hostWindow !== 'undefined') {\n _window = hostWindow;\n } else if (typeof window !== 'undefined') {\n _window = window;\n } else if (typeof self !== 'undefined') {\n _window = self;\n } else {\n //eslint-disable-next-line\n _window = global;\n }\n\n var attachEvent =\n typeof _window.document !== 'undefined' && _window.document.attachEvent;\n\n if (!attachEvent) {\n var requestFrame = (function () {\n var raf =\n _window.requestAnimationFrame ||\n _window.mozRequestAnimationFrame ||\n _window.webkitRequestAnimationFrame ||\n function (fn) {\n return _window.setTimeout(fn, 20);\n };\n\n return function (fn) {\n return raf(fn);\n };\n })();\n\n var cancelFrame = (function () {\n var cancel =\n _window.cancelAnimationFrame ||\n _window.mozCancelAnimationFrame ||\n _window.webkitCancelAnimationFrame ||\n _window.clearTimeout;\n\n return function (id) {\n return cancel(id);\n };\n })();\n\n var resetTriggers = function (element) {\n var triggers = element.__resizeTriggers__,\n expand = triggers.firstElementChild,\n contract = triggers.lastElementChild,\n expandChild = expand.firstElementChild;\n contract.scrollLeft = contract.scrollWidth;\n contract.scrollTop = contract.scrollHeight;\n expandChild.style.width = expand.offsetWidth + 1 + 'px';\n expandChild.style.height = expand.offsetHeight + 1 + 'px';\n expand.scrollLeft = expand.scrollWidth;\n expand.scrollTop = expand.scrollHeight;\n };\n\n var checkTriggers = function (element) {\n return (\n element.offsetWidth != element.__resizeLast__.width ||\n element.offsetHeight != element.__resizeLast__.height\n );\n };\n\n var scrollListener = function (e) {\n // Don't measure (which forces) reflow for scrolls that happen inside of children!\n if (\n e.target.className &&\n typeof e.target.className.indexOf === 'function' &&\n e.target.className.indexOf('contract-trigger') < 0 &&\n e.target.className.indexOf('expand-trigger') < 0\n ) {\n return;\n }\n\n var element = this;\n resetTriggers(this);\n\n if (this.__resizeRAF__) {\n cancelFrame(this.__resizeRAF__);\n }\n\n this.__resizeRAF__ = requestFrame(function () {\n if (checkTriggers(element)) {\n element.__resizeLast__.width = element.offsetWidth;\n element.__resizeLast__.height = element.offsetHeight;\n element.__resizeListeners__.forEach(function (fn) {\n fn.call(element, e);\n });\n }\n });\n };\n\n /* Detect CSS Animations support to detect element display/re-attach */\n var animation = false,\n keyframeprefix = '',\n animationstartevent = 'animationstart',\n domPrefixes = 'Webkit Moz O ms'.split(' '),\n startEvents =\n 'webkitAnimationStart animationstart oAnimationStart MSAnimationStart'.split(\n ' '\n ),\n pfx = '';\n\n {\n var elm = _window.document.createElement('fakeelement');\n\n if (elm.style.animationName !== undefined) {\n animation = true;\n }\n\n if (animation === false) {\n for (var i = 0; i < domPrefixes.length; i++) {\n if (elm.style[domPrefixes[i] + 'AnimationName'] !== undefined) {\n pfx = domPrefixes[i];\n keyframeprefix = '-' + pfx.toLowerCase() + '-';\n animationstartevent = startEvents[i];\n animation = true;\n\n break;\n }\n }\n }\n }\n\n var animationName = 'resizeanim';\n var animationKeyframes =\n '@' +\n keyframeprefix +\n 'keyframes ' +\n animationName +\n ' { from { opacity: 0; } to { opacity: 0; } } ';\n var animationStyle =\n keyframeprefix + 'animation: 1ms ' + animationName + '; ';\n }\n\n var createStyles = function (doc) {\n if (!doc.getElementById('detectElementResize')) {\n //opacity:0 works around a chrome bug https://code.google.com/p/chromium/issues/detail?id=286360\n var css =\n (animationKeyframes ? animationKeyframes : '') +\n '.resize-triggers { ' +\n (animationStyle ? animationStyle : '') +\n 'visibility: hidden; opacity: 0; } ' +\n '.resize-triggers, .resize-triggers > div, .contract-trigger:before { content: \" \"; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',\n head = doc.head || doc.getElementsByTagName('head')[0],\n style = doc.createElement('style');\n\n style.id = 'detectElementResize';\n style.type = 'text/css';\n\n if (nonce != null) {\n style.setAttribute('nonce', nonce);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(doc.createTextNode(css));\n }\n\n head.appendChild(style);\n }\n };\n\n var addResizeListener = function (element, fn) {\n if (attachEvent) {\n element.attachEvent('onresize', fn);\n } else {\n if (!element.__resizeTriggers__) {\n var doc = element.ownerDocument;\n var elementStyle = _window.getComputedStyle(element);\n\n if (elementStyle && elementStyle.position == 'static') {\n element.style.position = 'relative';\n }\n\n createStyles(doc);\n element.__resizeLast__ = {};\n element.__resizeListeners__ = [];\n (element.__resizeTriggers__ = doc.createElement('div')).className =\n 'resize-triggers';\n var expandTrigger = doc.createElement('div');\n expandTrigger.className = 'expand-trigger';\n expandTrigger.appendChild(doc.createElement('div'));\n var contractTrigger = doc.createElement('div');\n contractTrigger.className = 'contract-trigger';\n element.__resizeTriggers__.appendChild(expandTrigger);\n element.__resizeTriggers__.appendChild(contractTrigger);\n element.appendChild(element.__resizeTriggers__);\n resetTriggers(element);\n element.addEventListener('scroll', scrollListener, true);\n\n /* Listen for a css animation to detect element display/re-attach */\n if (animationstartevent) {\n element.__resizeTriggers__.__animationListener__ =\n function animationListener(e) {\n if (e.animationName == animationName) {\n resetTriggers(element);\n }\n };\n\n element.__resizeTriggers__.addEventListener(\n animationstartevent,\n element.__resizeTriggers__.__animationListener__\n );\n }\n }\n\n element.__resizeListeners__.push(fn);\n }\n };\n\n var removeResizeListener = function (element, fn) {\n if (attachEvent) {\n element.detachEvent('onresize', fn);\n } else {\n element.__resizeListeners__.splice(\n element.__resizeListeners__.indexOf(fn),\n 1\n );\n\n if (!element.__resizeListeners__.length) {\n element.removeEventListener('scroll', scrollListener, true);\n\n if (element.__resizeTriggers__.__animationListener__) {\n element.__resizeTriggers__.removeEventListener(\n animationstartevent,\n element.__resizeTriggers__.__animationListener__\n );\n element.__resizeTriggers__.__animationListener__ = null;\n }\n\n try {\n element.__resizeTriggers__ = !element.removeChild(\n element.__resizeTriggers__\n );\n } catch (e) {\n // Preact compat; see developit/preact-compat/issues/228\n }\n }\n }\n };\n\n return {\n addResizeListener,\n removeResizeListener\n };\n}\n"],"names":["createDetectElementResize","nonce","hostWindow","_window","window","self","global","attachEvent","document","requestFrame","raf","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","fn","setTimeout","cancelFrame","cancel","cancelAnimationFrame","mozCancelAnimationFrame","webkitCancelAnimationFrame","clearTimeout","id","resetTriggers","element","triggers","__resizeTriggers__","expand","firstElementChild","contract","lastElementChild","expandChild","scrollLeft","scrollWidth","scrollTop","scrollHeight","style","width","offsetWidth","height","offsetHeight","checkTriggers","__resizeLast__","scrollListener","e","target","className","indexOf","__resizeRAF__","__resizeListeners__","forEach","call","animation","keyframeprefix","animationstartevent","domPrefixes","split","startEvents","pfx","elm","createElement","animationName","undefined","i","length","toLowerCase","animationKeyframes","animationStyle","createStyles","doc","getElementById","css","head","getElementsByTagName","type","setAttribute","styleSheet","cssText","appendChild","createTextNode","addResizeListener","ownerDocument","elementStyle","getComputedStyle","position","expandTrigger","contractTrigger","addEventListener","__animationListener__","animationListener","push","removeResizeListener","detachEvent","splice","removeEventListener","removeChild"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"detect-element-resize.js","sources":["../../src/utils/detect-element-resize.js"],"sourcesContent":["/**\n * Detect Element Resize.\n * https://github.com/sdecima/javascript-detect-element-resize\n * Sebastian Decima\n *\n * Forked from version 0.5.3; includes the following modifications:\n * 1) Guard against unsafe 'window' and 'document' references (to support SSR).\n * 2) Defer initialization code via a top-level function wrapper (to support SSR).\n * 3) Avoid unnecessary reflows by not measuring size for scroll events bubbling from children.\n * 4) Add nonce for style element.\n * 5) Added support for injecting custom window object\n **/\n\nexport default function createDetectElementResize(nonce, hostWindow) {\n // Check `document` and `window` in case of server-side rendering\n var _window;\n\n if (typeof hostWindow !== 'undefined') {\n _window = hostWindow;\n } else if (typeof window !== 'undefined') {\n _window = window;\n } else if (typeof self !== 'undefined') {\n _window = self;\n } else {\n //eslint-disable-next-line\n _window = global;\n }\n\n var attachEvent =\n typeof _window.document !== 'undefined' && _window.document.attachEvent;\n\n if (!attachEvent) {\n var requestFrame = (function () {\n var raf =\n _window.requestAnimationFrame ||\n _window.mozRequestAnimationFrame ||\n _window.webkitRequestAnimationFrame ||\n function (fn) {\n return _window.setTimeout(fn, 20);\n };\n\n return function (fn) {\n return raf(fn);\n };\n })();\n\n var cancelFrame = (function () {\n var cancel =\n _window.cancelAnimationFrame ||\n _window.mozCancelAnimationFrame ||\n _window.webkitCancelAnimationFrame ||\n _window.clearTimeout;\n\n return function (id) {\n return cancel(id);\n };\n })();\n\n var resetTriggers = function (element) {\n var triggers = element.__resizeTriggers__,\n expand = triggers.firstElementChild,\n contract = triggers.lastElementChild,\n expandChild = expand.firstElementChild;\n contract.scrollLeft = contract.scrollWidth;\n contract.scrollTop = contract.scrollHeight;\n expandChild.style.width = expand.offsetWidth + 1 + 'px';\n expandChild.style.height = expand.offsetHeight + 1 + 'px';\n expand.scrollLeft = expand.scrollWidth;\n expand.scrollTop = expand.scrollHeight;\n };\n\n var checkTriggers = function (element) {\n return (\n element.offsetWidth != element.__resizeLast__.width ||\n element.offsetHeight != element.__resizeLast__.height\n );\n };\n\n var scrollListener = function (e) {\n // Don't measure (which forces) reflow for scrolls that happen inside of children!\n if (\n e.target.className &&\n typeof e.target.className.indexOf === 'function' &&\n e.target.className.indexOf('contract-trigger') < 0 &&\n e.target.className.indexOf('expand-trigger') < 0\n ) {\n return;\n }\n\n var element = this;\n resetTriggers(this);\n\n if (this.__resizeRAF__) {\n cancelFrame(this.__resizeRAF__);\n }\n\n this.__resizeRAF__ = requestFrame(function () {\n if (checkTriggers(element)) {\n element.__resizeLast__.width = element.offsetWidth;\n element.__resizeLast__.height = element.offsetHeight;\n element.__resizeListeners__.forEach(function (fn) {\n fn.call(element, e);\n });\n }\n });\n };\n\n /* Detect CSS Animations support to detect element display/re-attach */\n var animation = false,\n keyframeprefix = '',\n animationstartevent = 'animationstart',\n domPrefixes = 'Webkit Moz O ms'.split(' '),\n startEvents =\n 'webkitAnimationStart animationstart oAnimationStart MSAnimationStart'.split(\n ' '\n ),\n pfx = '';\n\n {\n var elm = _window.document.createElement('fakeelement');\n\n if (elm.style.animationName !== undefined) {\n animation = true;\n }\n\n if (animation === false) {\n for (var i = 0; i < domPrefixes.length; i++) {\n if (elm.style[domPrefixes[i] + 'AnimationName'] !== undefined) {\n pfx = domPrefixes[i];\n keyframeprefix = '-' + pfx.toLowerCase() + '-';\n animationstartevent = startEvents[i];\n animation = true;\n\n break;\n }\n }\n }\n }\n\n var animationName = 'resizeanim';\n var animationKeyframes =\n '@' +\n keyframeprefix +\n 'keyframes ' +\n animationName +\n ' { from { opacity: 0; } to { opacity: 0; } } ';\n var animationStyle =\n keyframeprefix + 'animation: 1ms ' + animationName + '; ';\n }\n\n var createStyles = function (doc) {\n if (!doc.getElementById('detectElementResize')) {\n //opacity:0 works around a chrome bug https://code.google.com/p/chromium/issues/detail?id=286360\n var css =\n (animationKeyframes ? animationKeyframes : '') +\n '.resize-triggers { ' +\n (animationStyle ? animationStyle : '') +\n 'visibility: hidden; opacity: 0; } ' +\n '.resize-triggers, .resize-triggers > div, .contract-trigger:before { content: \" \"; display: block; position: absolute; top: 0; left: 0; height: 100%; width: 100%; overflow: hidden; z-index: -1; } .resize-triggers > div { background: #eee; overflow: auto; } .contract-trigger:before { width: 200%; height: 200%; }',\n head = doc.head || doc.getElementsByTagName('head')[0],\n style = doc.createElement('style');\n\n style.id = 'detectElementResize';\n style.type = 'text/css';\n\n if (nonce != null) {\n style.setAttribute('nonce', nonce);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(doc.createTextNode(css));\n }\n\n head.appendChild(style);\n }\n };\n\n var addResizeListener = function (element, fn) {\n if (attachEvent) {\n element.attachEvent('onresize', fn);\n } else {\n if (!element.__resizeTriggers__) {\n var doc = element.ownerDocument;\n var elementStyle = _window.getComputedStyle(element);\n\n if (elementStyle && elementStyle.position == 'static') {\n element.style.position = 'relative';\n }\n\n createStyles(doc);\n element.__resizeLast__ = {};\n element.__resizeListeners__ = [];\n (element.__resizeTriggers__ = doc.createElement('div')).className =\n 'resize-triggers';\n var expandTrigger = doc.createElement('div');\n expandTrigger.className = 'expand-trigger';\n expandTrigger.appendChild(doc.createElement('div'));\n var contractTrigger = doc.createElement('div');\n contractTrigger.className = 'contract-trigger';\n element.__resizeTriggers__.appendChild(expandTrigger);\n element.__resizeTriggers__.appendChild(contractTrigger);\n element.appendChild(element.__resizeTriggers__);\n resetTriggers(element);\n element.addEventListener('scroll', scrollListener, true);\n\n /* Listen for a css animation to detect element display/re-attach */\n if (animationstartevent) {\n element.__resizeTriggers__.__animationListener__ =\n function animationListener(e) {\n if (e.animationName == animationName) {\n resetTriggers(element);\n }\n };\n\n element.__resizeTriggers__.addEventListener(\n animationstartevent,\n element.__resizeTriggers__.__animationListener__\n );\n }\n }\n\n element.__resizeListeners__.push(fn);\n }\n };\n\n var removeResizeListener = function (element, fn) {\n if (attachEvent) {\n element.detachEvent('onresize', fn);\n } else {\n element.__resizeListeners__.splice(\n element.__resizeListeners__.indexOf(fn),\n 1\n );\n\n if (!element.__resizeListeners__.length) {\n element.removeEventListener('scroll', scrollListener, true);\n\n if (element.__resizeTriggers__.__animationListener__) {\n element.__resizeTriggers__.removeEventListener(\n animationstartevent,\n element.__resizeTriggers__.__animationListener__\n );\n element.__resizeTriggers__.__animationListener__ = null;\n }\n\n try {\n element.__resizeTriggers__ = !element.removeChild(\n element.__resizeTriggers__\n );\n } catch (e) {\n // Preact compat; see developit/preact-compat/issues/228\n }\n }\n }\n };\n\n return {\n addResizeListener,\n removeResizeListener\n };\n}\n"],"names":["createDetectElementResize","nonce","hostWindow","_window","window","self","global","attachEvent","document","requestFrame","raf","requestAnimationFrame","mozRequestAnimationFrame","webkitRequestAnimationFrame","fn","setTimeout","cancelFrame","cancel","cancelAnimationFrame","mozCancelAnimationFrame","webkitCancelAnimationFrame","clearTimeout","id","resetTriggers","element","triggers","__resizeTriggers__","expand","firstElementChild","contract","lastElementChild","expandChild","scrollLeft","scrollWidth","scrollTop","scrollHeight","style","width","offsetWidth","height","offsetHeight","checkTriggers","__resizeLast__","scrollListener","e","target","className","indexOf","__resizeRAF__","__resizeListeners__","forEach","call","animation","keyframeprefix","animationstartevent","domPrefixes","split","startEvents","pfx","elm","createElement","animationName","undefined","i","length","toLowerCase","animationKeyframes","animationStyle","createStyles","doc","getElementById","css","head","getElementsByTagName","type","setAttribute","styleSheet","cssText","appendChild","createTextNode","addResizeListener","ownerDocument","elementStyle","getComputedStyle","position","expandTrigger","contractTrigger","addEventListener","__animationListener__","animationListener","push","removeResizeListener","detachEvent","splice","removeEventListener","removeChild"],"mappings":"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"}
|
package/dist/utils/keys.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.js","sources":["../../src/utils/keys.ts"],"sourcesContent":["/*\n * Licensed to Elasticsearch B.V. under one or more contributor\n * license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright\n * ownership. Elasticsearch B.V. licenses this file to you under\n * the Apache License, Version 2.0 (the \"License\"); you may\n * not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nexport const ENTER = 'Enter';\nexport const SPACE = ' ';\nexport const ESCAPE = 'Escape';\nexport const TAB = 'Tab';\nexport const BACKSPACE = 'Backspace';\nexport const F2 = 'F2';\n\nexport const ARROW_DOWN = 'ArrowDown';\nexport const ARROW_UP = 'ArrowUp';\nexport const ARROW_LEFT = 'ArrowLeft';\nexport const ARROW_RIGHT = 'ArrowRight';\n\nexport const PAGE_UP = 'PageUp';\nexport const PAGE_DOWN = 'PageDown';\nexport const END = 'End';\nexport const HOME = 'Home';\n\nexport enum keys {\n ENTER = 'Enter',\n SPACE = ' ',\n ESCAPE = 'Escape',\n TAB = 'Tab',\n BACKSPACE = 'Backspace',\n F2 = 'F2',\n ARROW_DOWN = 'ArrowDown',\n ARROW_UP = 'ArrowUp',\n ARROW_LEFT = 'ArrowLeft',\n ARROW_RIGHT = 'ArrowRight',\n PAGE_UP = 'PageUp',\n PAGE_DOWN = 'PageDown',\n END = 'End',\n HOME = 'Home'\n}\n"],"names":["ENTER","SPACE","ESCAPE","TAB","BACKSPACE","F2","ARROW_DOWN","ARROW_UP","ARROW_LEFT","ARROW_RIGHT","PAGE_UP","PAGE_DOWN","END","HOME","keys"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,MAAMA,KAAK,GAAG
|
|
1
|
+
{"version":3,"file":"keys.js","sources":["../../src/utils/keys.ts"],"sourcesContent":["/*\n * Licensed to Elasticsearch B.V. under one or more contributor\n * license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright\n * ownership. Elasticsearch B.V. licenses this file to you under\n * the Apache License, Version 2.0 (the \"License\"); you may\n * not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nexport const ENTER = 'Enter';\nexport const SPACE = ' ';\nexport const ESCAPE = 'Escape';\nexport const TAB = 'Tab';\nexport const BACKSPACE = 'Backspace';\nexport const F2 = 'F2';\n\nexport const ARROW_DOWN = 'ArrowDown';\nexport const ARROW_UP = 'ArrowUp';\nexport const ARROW_LEFT = 'ArrowLeft';\nexport const ARROW_RIGHT = 'ArrowRight';\n\nexport const PAGE_UP = 'PageUp';\nexport const PAGE_DOWN = 'PageDown';\nexport const END = 'End';\nexport const HOME = 'Home';\n\nexport enum keys {\n ENTER = 'Enter',\n SPACE = ' ',\n ESCAPE = 'Escape',\n TAB = 'Tab',\n BACKSPACE = 'Backspace',\n F2 = 'F2',\n ARROW_DOWN = 'ArrowDown',\n ARROW_UP = 'ArrowUp',\n ARROW_LEFT = 'ArrowLeft',\n ARROW_RIGHT = 'ArrowRight',\n PAGE_UP = 'PageUp',\n PAGE_DOWN = 'PageDown',\n END = 'End',\n HOME = 'Home'\n}\n"],"names":["ENTER","SPACE","ESCAPE","TAB","BACKSPACE","F2","ARROW_DOWN","ARROW_UP","ARROW_LEFT","ARROW_RIGHT","PAGE_UP","PAGE_DOWN","END","HOME","keys"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,MAAMA,KAAK,GAAG;AACd,MAAMC,KAAK,GAAG;AACd,MAAMC,MAAM,GAAG;AACf,MAAMC,GAAG,GAAG;AACZ,MAAMC,SAAS,GAAG;AAClB,MAAMC,EAAE,GAAG;AAEX,MAAMC,UAAU,GAAG;AACnB,MAAMC,QAAQ,GAAG;AACjB,MAAMC,UAAU,GAAG;AACnB,MAAMC,WAAW,GAAG;AAEpB,MAAMC,OAAO,GAAG;AAChB,MAAMC,SAAS,GAAG;AAClB,MAAMC,GAAG,GAAG;AACZ,MAAMC,IAAI,GAAG;AAERC,IAAAA,IAAI,0BAAJA,IAAI,EAAA;EAAJA,IAAI,CAAA,OAAA,CAAA,GAAA,OAAA;EAAJA,IAAI,CAAA,OAAA,CAAA,GAAA,GAAA;EAAJA,IAAI,CAAA,QAAA,CAAA,GAAA,QAAA;EAAJA,IAAI,CAAA,KAAA,CAAA,GAAA,KAAA;EAAJA,IAAI,CAAA,WAAA,CAAA,GAAA,WAAA;EAAJA,IAAI,CAAA,IAAA,CAAA,GAAA,IAAA;EAAJA,IAAI,CAAA,YAAA,CAAA,GAAA,WAAA;EAAJA,IAAI,CAAA,UAAA,CAAA,GAAA,SAAA;EAAJA,IAAI,CAAA,YAAA,CAAA,GAAA,WAAA;EAAJA,IAAI,CAAA,aAAA,CAAA,GAAA,YAAA;EAAJA,IAAI,CAAA,SAAA,CAAA,GAAA,QAAA;EAAJA,IAAI,CAAA,WAAA,CAAA,GAAA,UAAA;EAAJA,IAAI,CAAA,KAAA,CAAA,GAAA,KAAA;EAAJA,IAAI,CAAA,MAAA,CAAA,GAAA,MAAA;AAAA,EAAA,OAAJA,IAAI;AAAA,CAAA,CAAA,EAAA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-actions.js","sources":["../../../src/utils/markdown/markdown-actions.ts"],"sourcesContent":["/*\n * Licensed to Elasticsearch B.V. under one or more contributor\n * license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright\n * ownership. Elasticsearch B.V. licenses this file to you under\n * the Apache License, Version 2.0 (the \"License\"); you may\n * not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\n// The text-formatting logic & code in this file come from\n// https://github.com/github/markdown-toolbar-element/blob/main/src/index.ts\n// under the following MIT license\n/*\nCopyright (c) 2017-2018 GitHub, Inc.\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n */\n\nimport { isPluginWithImmediateFormatting } from './markdown-types.ts';\n\nimport type {\n EuiMarkdownEditorUiPlugin,\n EuiMarkdownFormatting\n} from './markdown-types.ts';\n\n/**\n * Class for applying styles to a text editor. Accepts the HTML ID for the textarea\n * desired, and exposes the `.do(ACTION)` method for manipulating the text.\n *\n * @class MarkdownActions\n * @param {string} editorID\n */\nclass MarkdownActions {\n styles: Record<string, EuiMarkdownEditorUiPlugin>;\n editorID: string = '';\n\n constructor(editorID: string, uiPlugins: EuiMarkdownEditorUiPlugin[]) {\n this.editorID = editorID;\n /**\n * This object is in the format:\n * [nameOfAction]: {[styles to apply]}\n */\n this.styles = {\n ...uiPlugins.reduce<MarkdownActions['styles']>(\n (mappedPlugins, plugin) => {\n mappedPlugins[plugin.name] = plugin;\n\n return mappedPlugins;\n },\n {}\n ),\n mdBold: {\n name: 'mdBold',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '**',\n suffix: '**',\n trimFirst: true\n }\n },\n mdItalic: {\n name: 'mdItalic',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '_',\n suffix: '_',\n trimFirst: true\n }\n },\n mdQuote: {\n name: 'mdQuote',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '> ',\n multiline: true,\n surroundWithNewlines: true\n }\n },\n mdCode: {\n name: 'mdCode',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '`',\n suffix: '`',\n blockPrefix: '```',\n blockSuffix: '```'\n }\n },\n mdLink: {\n name: 'mdLink',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '[',\n suffix: '](url)',\n replaceNext: 'url',\n scanFor: 'https?://'\n }\n },\n mdUl: {\n name: 'mdUl',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '- ',\n multiline: true,\n surroundWithNewlines: true\n }\n },\n mdOl: {\n name: 'mdOl',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '1. ',\n multiline: true,\n orderedList: true\n }\n },\n mdTl: {\n name: 'mdTl',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '- [ ] ',\n multiline: true,\n surroundWithNewlines: true\n }\n }\n };\n }\n\n /**\n * .do() accepts a string and retrieves the correlating style object (defined in the\n * constructor). It passes this to applyStyle() that does the text manipulation.\n *\n * @param {string} pluginName\n * @memberof MarkdownActions\n */\n do(pluginName: string) {\n const plugin = this.styles[pluginName];\n\n if (isPluginWithImmediateFormatting(plugin!)) {\n this.applyStyle(plugin.formatting);\n\n return true;\n } else {\n return plugin;\n }\n }\n\n /**\n * Sets the default styling object and then superimposes the changes to make on top of\n * it. Calls the `styleSelectedText` helper function that does the heavy lifting.\n * Adapted from https://github.com/github/markdown-toolbar-element/blob/main/src/index.ts\n *\n * @param {object} incomingStyle\n * @memberof MarkdownActions\n */\n applyStyle(incomingStyle: EuiMarkdownFormatting) {\n const defaults = {\n prefix: '',\n suffix: '',\n blockPrefix: '',\n blockSuffix: '',\n multiline: false,\n replaceNext: '',\n prefixSpace: false,\n scanFor: '',\n surroundWithNewlines: false,\n orderedList: false,\n trimFirst: false\n };\n\n const outgoingStyle = {\n ...defaults,\n ...incomingStyle\n };\n const editor = document.getElementById(\n this.editorID\n ) as HTMLTextAreaElement;\n\n if (editor) {\n editor.focus();\n styleSelectedText(editor, outgoingStyle);\n }\n }\n}\n\n/**\n * The following helper functions and types were copied from the GitHub Markdown Toolbar\n * Element project. The project is MIT-licensed. See it here:\n * https://github.com/github/markdown-toolbar-element\n */\n\ninterface Newlines {\n newlinesToAppend: string;\n newlinesToPrepend: string;\n}\n\ninterface SelectionRange {\n text: string;\n selectionStart?: number;\n selectionEnd?: number;\n}\n\ninterface StyleArgs {\n prefix: string;\n suffix: string;\n blockPrefix: string;\n blockSuffix: string;\n multiline: boolean;\n replaceNext: string;\n prefixSpace: boolean;\n scanFor: string;\n surroundWithNewlines: boolean;\n orderedList: boolean;\n trimFirst: boolean;\n}\n\nfunction isMultipleLines(string: string): boolean {\n return string.trim().split('\\n').length > 1;\n}\n\nfunction repeat(string: string, n: number): string {\n return Array(n + 1).join(string);\n}\n\nfunction wordSelectionStart(text: string, i: number): number {\n let index = i;\n\n while (\n text[index] &&\n text[index - 1] != null &&\n !text[index - 1]!.match(/\\s/)\n ) {\n index--;\n }\n\n return index;\n}\n\nfunction wordSelectionEnd(text: string, i: number, multiline: boolean): number {\n let index = i;\n const breakpoint = multiline ? /\\n/ : /\\s/;\n\n while (text[index] && !text[index]!.match(breakpoint)) {\n index++;\n }\n\n return index;\n}\n\nconst MAX_TRIES = 10;\nconst TRY_TIMEOUT = 10; /*ms*/\n\n// modified from https://github.com/github/markdown-toolbar-element/blob/main/src/index.ts\nexport function insertText(\n textarea: HTMLTextAreaElement,\n { text, selectionStart, selectionEnd }: SelectionRange\n) {\n const originalSelectionStart = textarea.selectionStart;\n const before = textarea.value.slice(0, originalSelectionStart);\n const after = textarea.value.slice(textarea.selectionEnd);\n\n // configuration modal/dialog will continue intercepting focus in Safari\n // need to wait until the textarea can receive focus\n let tries = 0;\n\n const insertText = () => {\n const insertResult = document.execCommand('insertText', false, text);\n\n if (insertResult === false) {\n /**\n * Fallback for Firefox; this kills undo/redo but at least updates the value\n *\n * Note that we're using the native HTMLTextAreaElement.set() method to play nicely with\n * React's synthetic event system.\n * https://hustle.bizongo.in/simulate-react-on-change-on-controlled-components-baa336920e04\n */\n const inputEvent = new Event('input', { bubbles: true });\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(\n window.HTMLTextAreaElement.prototype,\n 'value'\n )!.set;\n\n nativeInputValueSetter!.call(textarea, before + text + after);\n textarea.dispatchEvent(inputEvent);\n }\n\n if (selectionStart != null && selectionEnd != null) {\n textarea.setSelectionRange(selectionStart, selectionEnd);\n } else {\n textarea.setSelectionRange(originalSelectionStart, textarea.selectionEnd);\n }\n };\n\n const focusTextarea = () => {\n textarea.focus();\n\n if (document.activeElement === textarea) {\n insertText();\n } else if (++tries === MAX_TRIES) {\n insertText();\n } else {\n setTimeout(focusTextarea, TRY_TIMEOUT);\n }\n };\n\n focusTextarea();\n}\n\n// from https://github.com/github/markdown-toolbar-element/blob/main/src/index.ts\nfunction styleSelectedText(\n textarea: HTMLTextAreaElement,\n styleArgs: StyleArgs\n) {\n const text = textarea.value.slice(\n textarea.selectionStart,\n textarea.selectionEnd\n );\n\n let result;\n\n if (styleArgs.orderedList) {\n result = orderedList(textarea);\n } else if (styleArgs.multiline && isMultipleLines(text)) {\n result = multilineStyle(textarea, styleArgs);\n } else {\n result = blockStyle(textarea, styleArgs);\n }\n\n insertText(textarea, result);\n}\n\nfunction expandSelectedText(\n textarea: HTMLTextAreaElement,\n prefixToUse: string,\n suffixToUse: string,\n multiline: boolean = false\n): string {\n if (textarea.selectionStart === textarea.selectionEnd) {\n textarea.selectionStart = wordSelectionStart(\n textarea.value,\n textarea.selectionStart\n );\n textarea.selectionEnd = wordSelectionEnd(\n textarea.value,\n textarea.selectionEnd,\n multiline\n );\n } else {\n const expandedSelectionStart = textarea.selectionStart - prefixToUse.length;\n const expandedSelectionEnd = textarea.selectionEnd + suffixToUse.length;\n const beginsWithPrefix =\n textarea.value.slice(expandedSelectionStart, textarea.selectionStart) ===\n prefixToUse;\n const endsWithSuffix =\n textarea.value.slice(textarea.selectionEnd, expandedSelectionEnd) ===\n suffixToUse;\n\n if (beginsWithPrefix && endsWithSuffix) {\n textarea.selectionStart = expandedSelectionStart;\n textarea.selectionEnd = expandedSelectionEnd;\n }\n }\n\n return textarea.value.slice(textarea.selectionStart, textarea.selectionEnd);\n}\n\nfunction newlinesToSurroundSelectedText(\n textarea: HTMLTextAreaElement\n): Newlines {\n const beforeSelection = textarea.value.slice(0, textarea.selectionStart);\n const afterSelection = textarea.value.slice(textarea.selectionEnd);\n\n const breaksBefore = beforeSelection.match(/\\n*$/);\n const breaksAfter = afterSelection.match(/^\\n*/);\n const newlinesBeforeSelection = breaksBefore ? breaksBefore[0].length : 0;\n const newlinesAfterSelection = breaksAfter ? breaksAfter[0].length : 0;\n\n let newlinesToAppend;\n let newlinesToPrepend;\n\n if (beforeSelection.match(/\\S/) && newlinesBeforeSelection < 2) {\n newlinesToAppend = repeat('\\n', 2 - newlinesBeforeSelection);\n }\n\n if (afterSelection.match(/\\S/) && newlinesAfterSelection < 2) {\n newlinesToPrepend = repeat('\\n', 2 - newlinesAfterSelection);\n }\n\n if (newlinesToAppend == null) {\n newlinesToAppend = '';\n }\n\n if (newlinesToPrepend == null) {\n newlinesToPrepend = '';\n }\n\n return { newlinesToAppend, newlinesToPrepend };\n}\n\nfunction blockStyle(\n textarea: HTMLTextAreaElement,\n arg: StyleArgs\n): SelectionRange {\n let newlinesToAppend;\n let newlinesToPrepend;\n\n const {\n prefix,\n suffix,\n blockPrefix,\n blockSuffix,\n replaceNext,\n prefixSpace,\n scanFor,\n surroundWithNewlines\n } = arg;\n const originalSelectionStart = textarea.selectionStart;\n const originalSelectionEnd = textarea.selectionEnd;\n\n let selectedText = textarea.value.slice(\n textarea.selectionStart,\n textarea.selectionEnd\n );\n let prefixToUse =\n isMultipleLines(selectedText) && blockPrefix.length > 0\n ? `${blockPrefix}\\n`\n : prefix;\n let suffixToUse =\n isMultipleLines(selectedText) && blockSuffix.length > 0\n ? `\\n${blockSuffix}`\n : suffix;\n\n if (prefixSpace) {\n const beforeSelection = textarea.value[textarea.selectionStart - 1];\n\n if (\n textarea.selectionStart !== 0 &&\n beforeSelection != null &&\n !beforeSelection.match(/\\s/)\n ) {\n prefixToUse = ` ${prefixToUse}`;\n }\n }\n\n selectedText = expandSelectedText(\n textarea,\n prefixToUse,\n suffixToUse,\n arg.multiline\n );\n\n let selectionStart = textarea.selectionStart;\n let selectionEnd = textarea.selectionEnd;\n const hasReplaceNext =\n replaceNext.length > 0 &&\n suffixToUse.indexOf(replaceNext) > -1 &&\n selectedText.length > 0;\n\n if (surroundWithNewlines) {\n const ref = newlinesToSurroundSelectedText(textarea);\n\n newlinesToAppend = ref.newlinesToAppend;\n newlinesToPrepend = ref.newlinesToPrepend;\n prefixToUse = newlinesToAppend + prefix;\n suffixToUse += newlinesToPrepend;\n }\n\n if (\n selectedText.startsWith(prefixToUse) &&\n selectedText.endsWith(suffixToUse)\n ) {\n const replacementText = selectedText.slice(\n prefixToUse.length,\n selectedText.length - suffixToUse.length\n );\n\n if (originalSelectionStart === originalSelectionEnd) {\n let position = originalSelectionStart - prefixToUse.length;\n\n position = Math.max(position, selectionStart);\n position = Math.min(position, selectionStart + replacementText.length);\n selectionStart = selectionEnd = position;\n } else {\n selectionEnd = selectionStart + replacementText.length;\n }\n\n return { text: replacementText, selectionStart, selectionEnd };\n } else if (!hasReplaceNext) {\n let replacementText = prefixToUse + selectedText + suffixToUse;\n\n selectionStart = originalSelectionStart + prefixToUse.length;\n selectionEnd = originalSelectionEnd + prefixToUse.length;\n\n const whitespaceEdges = selectedText.match(/^\\s*|\\s*$/g);\n\n if (arg.trimFirst && whitespaceEdges) {\n const leadingWhitespace = whitespaceEdges[0] || '';\n const trailingWhitespace = whitespaceEdges[1] || '';\n\n replacementText =\n leadingWhitespace +\n prefixToUse +\n selectedText.trim() +\n suffixToUse +\n trailingWhitespace;\n selectionStart += leadingWhitespace.length;\n selectionEnd -= trailingWhitespace.length;\n }\n\n return { text: replacementText, selectionStart, selectionEnd };\n } else if (scanFor.length > 0 && selectedText.match(scanFor)) {\n suffixToUse = suffixToUse.replace(replaceNext, selectedText);\n\n const replacementText = prefixToUse + suffixToUse;\n\n selectionStart = selectionEnd = selectionStart + prefixToUse.length;\n\n return { text: replacementText, selectionStart, selectionEnd };\n } else {\n const replacementText = prefixToUse + selectedText + suffixToUse;\n\n selectionStart =\n selectionStart +\n prefixToUse.length +\n selectedText.length +\n suffixToUse.indexOf(replaceNext);\n selectionEnd = selectionStart + replaceNext.length;\n\n return { text: replacementText, selectionStart, selectionEnd };\n }\n}\n\nfunction multilineStyle(textarea: HTMLTextAreaElement, arg: StyleArgs) {\n const { prefix, suffix, surroundWithNewlines } = arg;\n let text = textarea.value.slice(\n textarea.selectionStart,\n textarea.selectionEnd\n );\n let selectionStart = textarea.selectionStart;\n let selectionEnd = textarea.selectionEnd;\n const lines = text.split('\\n');\n const undoStyle = lines.every(\n (line) => line.startsWith(prefix) && line.endsWith(suffix)\n );\n\n if (undoStyle) {\n text = lines\n .map((line) => line.slice(prefix.length, line.length - suffix.length))\n .join('\\n');\n selectionEnd = selectionStart + text.length;\n } else {\n text = lines.map((line) => prefix + line + suffix).join('\\n');\n\n if (surroundWithNewlines) {\n const { newlinesToAppend, newlinesToPrepend } =\n newlinesToSurroundSelectedText(textarea);\n\n selectionStart += newlinesToAppend.length;\n selectionEnd = selectionStart + text.length;\n text = newlinesToAppend + text + newlinesToPrepend;\n }\n }\n\n return { text, selectionStart, selectionEnd };\n}\n\nfunction orderedList(textarea: HTMLTextAreaElement): SelectionRange {\n const orderedListRegex = /^\\d+\\.\\s+/;\n const noInitialSelection = textarea.selectionStart === textarea.selectionEnd;\n let selectionEnd;\n let selectionStart;\n let text = textarea.value.slice(\n textarea.selectionStart,\n textarea.selectionEnd\n );\n let textToUnstyle = text;\n let lines = text.split('\\n');\n let startOfLine;\n let endOfLine;\n\n if (noInitialSelection) {\n const linesBefore = textarea.value\n .slice(0, textarea.selectionStart)\n .split(/\\n/);\n\n startOfLine =\n textarea.selectionStart - linesBefore[linesBefore.length - 1]!.length;\n endOfLine = wordSelectionEnd(textarea.value, textarea.selectionStart, true);\n textToUnstyle = textarea.value.slice(startOfLine, endOfLine);\n }\n\n const linesToUnstyle = textToUnstyle.split('\\n');\n const undoStyling = linesToUnstyle.every((line) =>\n orderedListRegex.test(line)\n );\n\n if (undoStyling) {\n lines = linesToUnstyle.map((line) => line.replace(orderedListRegex, ''));\n text = lines.join('\\n');\n\n if (noInitialSelection && startOfLine && endOfLine) {\n const lengthDiff = linesToUnstyle[0]!.length - lines[0]!.length;\n\n selectionStart = selectionEnd = textarea.selectionStart - lengthDiff;\n textarea.selectionStart = startOfLine;\n textarea.selectionEnd = endOfLine;\n }\n } else {\n lines = (function () {\n let i;\n let len;\n let index;\n const results = [];\n\n for (index = i = 0, len = lines.length; i < len; index = ++i) {\n const line = lines[index];\n\n results.push(`${index + 1}. ${line}`);\n }\n\n return results;\n })();\n text = lines.join('\\n');\n\n const { newlinesToAppend, newlinesToPrepend } =\n newlinesToSurroundSelectedText(textarea);\n\n selectionStart = textarea.selectionStart + newlinesToAppend.length;\n selectionEnd = selectionStart + text.length;\n if (noInitialSelection) selectionStart = selectionEnd;\n text = newlinesToAppend + text + newlinesToPrepend;\n }\n\n return { text, selectionStart, selectionEnd };\n}\n\nexport default MarkdownActions;\n"],"names":["MarkdownActions","editorID","constructor","uiPlugins","styles","reduce","mappedPlugins","plugin","name","mdBold","button","label","iconType","formatting","prefix","suffix","trimFirst","mdItalic","mdQuote","multiline","surroundWithNewlines","mdCode","blockPrefix","blockSuffix","mdLink","replaceNext","scanFor","mdUl","mdOl","orderedList","mdTl","do","pluginName","isPluginWithImmediateFormatting","applyStyle","incomingStyle","defaults","prefixSpace","outgoingStyle","editor","document","getElementById","focus","styleSelectedText","isMultipleLines","string","trim","split","length","repeat","n","Array","join","wordSelectionStart","text","i","index","match","wordSelectionEnd","breakpoint","MAX_TRIES","TRY_TIMEOUT","insertText","textarea","selectionStart","selectionEnd","originalSelectionStart","before","value","slice","after","tries","insertResult","execCommand","inputEvent","Event","bubbles","nativeInputValueSetter","Object","getOwnPropertyDescriptor","window","HTMLTextAreaElement","prototype","set","call","dispatchEvent","setSelectionRange","focusTextarea","activeElement","setTimeout","styleArgs","result","multilineStyle","blockStyle","expandSelectedText","prefixToUse","suffixToUse","expandedSelectionStart","expandedSelectionEnd","beginsWithPrefix","endsWithSuffix","newlinesToSurroundSelectedText","beforeSelection","afterSelection","breaksBefore","breaksAfter","newlinesBeforeSelection","newlinesAfterSelection","newlinesToAppend","newlinesToPrepend","arg","originalSelectionEnd","selectedText","hasReplaceNext","indexOf","ref","startsWith","endsWith","replacementText","position","Math","max","min","whitespaceEdges","leadingWhitespace","trailingWhitespace","replace","lines","undoStyle","every","line","map","orderedListRegex","noInitialSelection","textToUnstyle","startOfLine","endOfLine","linesBefore","linesToUnstyle","undoStyling","test","lengthDiff","len","results","push"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"markdown-actions.js","sources":["../../../src/utils/markdown/markdown-actions.ts"],"sourcesContent":["/*\n * Licensed to Elasticsearch B.V. under one or more contributor\n * license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright\n * ownership. Elasticsearch B.V. licenses this file to you under\n * the Apache License, Version 2.0 (the \"License\"); you may\n * not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\n// The text-formatting logic & code in this file come from\n// https://github.com/github/markdown-toolbar-element/blob/main/src/index.ts\n// under the following MIT license\n/*\nCopyright (c) 2017-2018 GitHub, Inc.\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n */\n\nimport { isPluginWithImmediateFormatting } from './markdown-types.ts';\n\nimport type {\n EuiMarkdownEditorUiPlugin,\n EuiMarkdownFormatting\n} from './markdown-types.ts';\n\n/**\n * Class for applying styles to a text editor. Accepts the HTML ID for the textarea\n * desired, and exposes the `.do(ACTION)` method for manipulating the text.\n *\n * @class MarkdownActions\n * @param {string} editorID\n */\nclass MarkdownActions {\n styles: Record<string, EuiMarkdownEditorUiPlugin>;\n editorID: string = '';\n\n constructor(editorID: string, uiPlugins: EuiMarkdownEditorUiPlugin[]) {\n this.editorID = editorID;\n /**\n * This object is in the format:\n * [nameOfAction]: {[styles to apply]}\n */\n this.styles = {\n ...uiPlugins.reduce<MarkdownActions['styles']>(\n (mappedPlugins, plugin) => {\n mappedPlugins[plugin.name] = plugin;\n\n return mappedPlugins;\n },\n {}\n ),\n mdBold: {\n name: 'mdBold',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '**',\n suffix: '**',\n trimFirst: true\n }\n },\n mdItalic: {\n name: 'mdItalic',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '_',\n suffix: '_',\n trimFirst: true\n }\n },\n mdQuote: {\n name: 'mdQuote',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '> ',\n multiline: true,\n surroundWithNewlines: true\n }\n },\n mdCode: {\n name: 'mdCode',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '`',\n suffix: '`',\n blockPrefix: '```',\n blockSuffix: '```'\n }\n },\n mdLink: {\n name: 'mdLink',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '[',\n suffix: '](url)',\n replaceNext: 'url',\n scanFor: 'https?://'\n }\n },\n mdUl: {\n name: 'mdUl',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '- ',\n multiline: true,\n surroundWithNewlines: true\n }\n },\n mdOl: {\n name: 'mdOl',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '1. ',\n multiline: true,\n orderedList: true\n }\n },\n mdTl: {\n name: 'mdTl',\n button: { label: '', iconType: '' },\n formatting: {\n prefix: '- [ ] ',\n multiline: true,\n surroundWithNewlines: true\n }\n }\n };\n }\n\n /**\n * .do() accepts a string and retrieves the correlating style object (defined in the\n * constructor). It passes this to applyStyle() that does the text manipulation.\n *\n * @param {string} pluginName\n * @memberof MarkdownActions\n */\n do(pluginName: string) {\n const plugin = this.styles[pluginName];\n\n if (isPluginWithImmediateFormatting(plugin!)) {\n this.applyStyle(plugin.formatting);\n\n return true;\n } else {\n return plugin;\n }\n }\n\n /**\n * Sets the default styling object and then superimposes the changes to make on top of\n * it. Calls the `styleSelectedText` helper function that does the heavy lifting.\n * Adapted from https://github.com/github/markdown-toolbar-element/blob/main/src/index.ts\n *\n * @param {object} incomingStyle\n * @memberof MarkdownActions\n */\n applyStyle(incomingStyle: EuiMarkdownFormatting) {\n const defaults = {\n prefix: '',\n suffix: '',\n blockPrefix: '',\n blockSuffix: '',\n multiline: false,\n replaceNext: '',\n prefixSpace: false,\n scanFor: '',\n surroundWithNewlines: false,\n orderedList: false,\n trimFirst: false\n };\n\n const outgoingStyle = {\n ...defaults,\n ...incomingStyle\n };\n const editor = document.getElementById(\n this.editorID\n ) as HTMLTextAreaElement;\n\n if (editor) {\n editor.focus();\n styleSelectedText(editor, outgoingStyle);\n }\n }\n}\n\n/**\n * The following helper functions and types were copied from the GitHub Markdown Toolbar\n * Element project. The project is MIT-licensed. See it here:\n * https://github.com/github/markdown-toolbar-element\n */\n\ninterface Newlines {\n newlinesToAppend: string;\n newlinesToPrepend: string;\n}\n\ninterface SelectionRange {\n text: string;\n selectionStart?: number;\n selectionEnd?: number;\n}\n\ninterface StyleArgs {\n prefix: string;\n suffix: string;\n blockPrefix: string;\n blockSuffix: string;\n multiline: boolean;\n replaceNext: string;\n prefixSpace: boolean;\n scanFor: string;\n surroundWithNewlines: boolean;\n orderedList: boolean;\n trimFirst: boolean;\n}\n\nfunction isMultipleLines(string: string): boolean {\n return string.trim().split('\\n').length > 1;\n}\n\nfunction repeat(string: string, n: number): string {\n return Array(n + 1).join(string);\n}\n\nfunction wordSelectionStart(text: string, i: number): number {\n let index = i;\n\n while (\n text[index] &&\n text[index - 1] != null &&\n !text[index - 1]!.match(/\\s/)\n ) {\n index--;\n }\n\n return index;\n}\n\nfunction wordSelectionEnd(text: string, i: number, multiline: boolean): number {\n let index = i;\n const breakpoint = multiline ? /\\n/ : /\\s/;\n\n while (text[index] && !text[index]!.match(breakpoint)) {\n index++;\n }\n\n return index;\n}\n\nconst MAX_TRIES = 10;\nconst TRY_TIMEOUT = 10; /*ms*/\n\n// modified from https://github.com/github/markdown-toolbar-element/blob/main/src/index.ts\nexport function insertText(\n textarea: HTMLTextAreaElement,\n { text, selectionStart, selectionEnd }: SelectionRange\n) {\n const originalSelectionStart = textarea.selectionStart;\n const before = textarea.value.slice(0, originalSelectionStart);\n const after = textarea.value.slice(textarea.selectionEnd);\n\n // configuration modal/dialog will continue intercepting focus in Safari\n // need to wait until the textarea can receive focus\n let tries = 0;\n\n const insertText = () => {\n const insertResult = document.execCommand('insertText', false, text);\n\n if (insertResult === false) {\n /**\n * Fallback for Firefox; this kills undo/redo but at least updates the value\n *\n * Note that we're using the native HTMLTextAreaElement.set() method to play nicely with\n * React's synthetic event system.\n * https://hustle.bizongo.in/simulate-react-on-change-on-controlled-components-baa336920e04\n */\n const inputEvent = new Event('input', { bubbles: true });\n const nativeInputValueSetter = Object.getOwnPropertyDescriptor(\n window.HTMLTextAreaElement.prototype,\n 'value'\n )!.set;\n\n nativeInputValueSetter!.call(textarea, before + text + after);\n textarea.dispatchEvent(inputEvent);\n }\n\n if (selectionStart != null && selectionEnd != null) {\n textarea.setSelectionRange(selectionStart, selectionEnd);\n } else {\n textarea.setSelectionRange(originalSelectionStart, textarea.selectionEnd);\n }\n };\n\n const focusTextarea = () => {\n textarea.focus();\n\n if (document.activeElement === textarea) {\n insertText();\n } else if (++tries === MAX_TRIES) {\n insertText();\n } else {\n setTimeout(focusTextarea, TRY_TIMEOUT);\n }\n };\n\n focusTextarea();\n}\n\n// from https://github.com/github/markdown-toolbar-element/blob/main/src/index.ts\nfunction styleSelectedText(\n textarea: HTMLTextAreaElement,\n styleArgs: StyleArgs\n) {\n const text = textarea.value.slice(\n textarea.selectionStart,\n textarea.selectionEnd\n );\n\n let result;\n\n if (styleArgs.orderedList) {\n result = orderedList(textarea);\n } else if (styleArgs.multiline && isMultipleLines(text)) {\n result = multilineStyle(textarea, styleArgs);\n } else {\n result = blockStyle(textarea, styleArgs);\n }\n\n insertText(textarea, result);\n}\n\nfunction expandSelectedText(\n textarea: HTMLTextAreaElement,\n prefixToUse: string,\n suffixToUse: string,\n multiline: boolean = false\n): string {\n if (textarea.selectionStart === textarea.selectionEnd) {\n textarea.selectionStart = wordSelectionStart(\n textarea.value,\n textarea.selectionStart\n );\n textarea.selectionEnd = wordSelectionEnd(\n textarea.value,\n textarea.selectionEnd,\n multiline\n );\n } else {\n const expandedSelectionStart = textarea.selectionStart - prefixToUse.length;\n const expandedSelectionEnd = textarea.selectionEnd + suffixToUse.length;\n const beginsWithPrefix =\n textarea.value.slice(expandedSelectionStart, textarea.selectionStart) ===\n prefixToUse;\n const endsWithSuffix =\n textarea.value.slice(textarea.selectionEnd, expandedSelectionEnd) ===\n suffixToUse;\n\n if (beginsWithPrefix && endsWithSuffix) {\n textarea.selectionStart = expandedSelectionStart;\n textarea.selectionEnd = expandedSelectionEnd;\n }\n }\n\n return textarea.value.slice(textarea.selectionStart, textarea.selectionEnd);\n}\n\nfunction newlinesToSurroundSelectedText(\n textarea: HTMLTextAreaElement\n): Newlines {\n const beforeSelection = textarea.value.slice(0, textarea.selectionStart);\n const afterSelection = textarea.value.slice(textarea.selectionEnd);\n\n const breaksBefore = beforeSelection.match(/\\n*$/);\n const breaksAfter = afterSelection.match(/^\\n*/);\n const newlinesBeforeSelection = breaksBefore ? breaksBefore[0].length : 0;\n const newlinesAfterSelection = breaksAfter ? breaksAfter[0].length : 0;\n\n let newlinesToAppend;\n let newlinesToPrepend;\n\n if (beforeSelection.match(/\\S/) && newlinesBeforeSelection < 2) {\n newlinesToAppend = repeat('\\n', 2 - newlinesBeforeSelection);\n }\n\n if (afterSelection.match(/\\S/) && newlinesAfterSelection < 2) {\n newlinesToPrepend = repeat('\\n', 2 - newlinesAfterSelection);\n }\n\n if (newlinesToAppend == null) {\n newlinesToAppend = '';\n }\n\n if (newlinesToPrepend == null) {\n newlinesToPrepend = '';\n }\n\n return { newlinesToAppend, newlinesToPrepend };\n}\n\nfunction blockStyle(\n textarea: HTMLTextAreaElement,\n arg: StyleArgs\n): SelectionRange {\n let newlinesToAppend;\n let newlinesToPrepend;\n\n const {\n prefix,\n suffix,\n blockPrefix,\n blockSuffix,\n replaceNext,\n prefixSpace,\n scanFor,\n surroundWithNewlines\n } = arg;\n const originalSelectionStart = textarea.selectionStart;\n const originalSelectionEnd = textarea.selectionEnd;\n\n let selectedText = textarea.value.slice(\n textarea.selectionStart,\n textarea.selectionEnd\n );\n let prefixToUse =\n isMultipleLines(selectedText) && blockPrefix.length > 0\n ? `${blockPrefix}\\n`\n : prefix;\n let suffixToUse =\n isMultipleLines(selectedText) && blockSuffix.length > 0\n ? `\\n${blockSuffix}`\n : suffix;\n\n if (prefixSpace) {\n const beforeSelection = textarea.value[textarea.selectionStart - 1];\n\n if (\n textarea.selectionStart !== 0 &&\n beforeSelection != null &&\n !beforeSelection.match(/\\s/)\n ) {\n prefixToUse = ` ${prefixToUse}`;\n }\n }\n\n selectedText = expandSelectedText(\n textarea,\n prefixToUse,\n suffixToUse,\n arg.multiline\n );\n\n let selectionStart = textarea.selectionStart;\n let selectionEnd = textarea.selectionEnd;\n const hasReplaceNext =\n replaceNext.length > 0 &&\n suffixToUse.indexOf(replaceNext) > -1 &&\n selectedText.length > 0;\n\n if (surroundWithNewlines) {\n const ref = newlinesToSurroundSelectedText(textarea);\n\n newlinesToAppend = ref.newlinesToAppend;\n newlinesToPrepend = ref.newlinesToPrepend;\n prefixToUse = newlinesToAppend + prefix;\n suffixToUse += newlinesToPrepend;\n }\n\n if (\n selectedText.startsWith(prefixToUse) &&\n selectedText.endsWith(suffixToUse)\n ) {\n const replacementText = selectedText.slice(\n prefixToUse.length,\n selectedText.length - suffixToUse.length\n );\n\n if (originalSelectionStart === originalSelectionEnd) {\n let position = originalSelectionStart - prefixToUse.length;\n\n position = Math.max(position, selectionStart);\n position = Math.min(position, selectionStart + replacementText.length);\n selectionStart = selectionEnd = position;\n } else {\n selectionEnd = selectionStart + replacementText.length;\n }\n\n return { text: replacementText, selectionStart, selectionEnd };\n } else if (!hasReplaceNext) {\n let replacementText = prefixToUse + selectedText + suffixToUse;\n\n selectionStart = originalSelectionStart + prefixToUse.length;\n selectionEnd = originalSelectionEnd + prefixToUse.length;\n\n const whitespaceEdges = selectedText.match(/^\\s*|\\s*$/g);\n\n if (arg.trimFirst && whitespaceEdges) {\n const leadingWhitespace = whitespaceEdges[0] || '';\n const trailingWhitespace = whitespaceEdges[1] || '';\n\n replacementText =\n leadingWhitespace +\n prefixToUse +\n selectedText.trim() +\n suffixToUse +\n trailingWhitespace;\n selectionStart += leadingWhitespace.length;\n selectionEnd -= trailingWhitespace.length;\n }\n\n return { text: replacementText, selectionStart, selectionEnd };\n } else if (scanFor.length > 0 && selectedText.match(scanFor)) {\n suffixToUse = suffixToUse.replace(replaceNext, selectedText);\n\n const replacementText = prefixToUse + suffixToUse;\n\n selectionStart = selectionEnd = selectionStart + prefixToUse.length;\n\n return { text: replacementText, selectionStart, selectionEnd };\n } else {\n const replacementText = prefixToUse + selectedText + suffixToUse;\n\n selectionStart =\n selectionStart +\n prefixToUse.length +\n selectedText.length +\n suffixToUse.indexOf(replaceNext);\n selectionEnd = selectionStart + replaceNext.length;\n\n return { text: replacementText, selectionStart, selectionEnd };\n }\n}\n\nfunction multilineStyle(textarea: HTMLTextAreaElement, arg: StyleArgs) {\n const { prefix, suffix, surroundWithNewlines } = arg;\n let text = textarea.value.slice(\n textarea.selectionStart,\n textarea.selectionEnd\n );\n let selectionStart = textarea.selectionStart;\n let selectionEnd = textarea.selectionEnd;\n const lines = text.split('\\n');\n const undoStyle = lines.every(\n (line) => line.startsWith(prefix) && line.endsWith(suffix)\n );\n\n if (undoStyle) {\n text = lines\n .map((line) => line.slice(prefix.length, line.length - suffix.length))\n .join('\\n');\n selectionEnd = selectionStart + text.length;\n } else {\n text = lines.map((line) => prefix + line + suffix).join('\\n');\n\n if (surroundWithNewlines) {\n const { newlinesToAppend, newlinesToPrepend } =\n newlinesToSurroundSelectedText(textarea);\n\n selectionStart += newlinesToAppend.length;\n selectionEnd = selectionStart + text.length;\n text = newlinesToAppend + text + newlinesToPrepend;\n }\n }\n\n return { text, selectionStart, selectionEnd };\n}\n\nfunction orderedList(textarea: HTMLTextAreaElement): SelectionRange {\n const orderedListRegex = /^\\d+\\.\\s+/;\n const noInitialSelection = textarea.selectionStart === textarea.selectionEnd;\n let selectionEnd;\n let selectionStart;\n let text = textarea.value.slice(\n textarea.selectionStart,\n textarea.selectionEnd\n );\n let textToUnstyle = text;\n let lines = text.split('\\n');\n let startOfLine;\n let endOfLine;\n\n if (noInitialSelection) {\n const linesBefore = textarea.value\n .slice(0, textarea.selectionStart)\n .split(/\\n/);\n\n startOfLine =\n textarea.selectionStart - linesBefore[linesBefore.length - 1]!.length;\n endOfLine = wordSelectionEnd(textarea.value, textarea.selectionStart, true);\n textToUnstyle = textarea.value.slice(startOfLine, endOfLine);\n }\n\n const linesToUnstyle = textToUnstyle.split('\\n');\n const undoStyling = linesToUnstyle.every((line) =>\n orderedListRegex.test(line)\n );\n\n if (undoStyling) {\n lines = linesToUnstyle.map((line) => line.replace(orderedListRegex, ''));\n text = lines.join('\\n');\n\n if (noInitialSelection && startOfLine && endOfLine) {\n const lengthDiff = linesToUnstyle[0]!.length - lines[0]!.length;\n\n selectionStart = selectionEnd = textarea.selectionStart - lengthDiff;\n textarea.selectionStart = startOfLine;\n textarea.selectionEnd = endOfLine;\n }\n } else {\n lines = (function () {\n let i;\n let len;\n let index;\n const results = [];\n\n for (index = i = 0, len = lines.length; i < len; index = ++i) {\n const line = lines[index];\n\n results.push(`${index + 1}. ${line}`);\n }\n\n return results;\n })();\n text = lines.join('\\n');\n\n const { newlinesToAppend, newlinesToPrepend } =\n newlinesToSurroundSelectedText(textarea);\n\n selectionStart = textarea.selectionStart + newlinesToAppend.length;\n selectionEnd = selectionStart + text.length;\n if (noInitialSelection) selectionStart = selectionEnd;\n text = newlinesToAppend + text + newlinesToPrepend;\n }\n\n return { text, selectionStart, selectionEnd };\n}\n\nexport default MarkdownActions;\n"],"names":["MarkdownActions","styles","editorID","constructor","uiPlugins","reduce","mappedPlugins","plugin","name","mdBold","button","label","iconType","formatting","prefix","suffix","trimFirst","mdItalic","mdQuote","multiline","surroundWithNewlines","mdCode","blockPrefix","blockSuffix","mdLink","replaceNext","scanFor","mdUl","mdOl","orderedList","mdTl","do","pluginName","isPluginWithImmediateFormatting","applyStyle","incomingStyle","defaults","prefixSpace","outgoingStyle","editor","document","getElementById","focus","styleSelectedText","isMultipleLines","string","trim","split","length","repeat","n","Array","join","wordSelectionStart","text","i","index","match","wordSelectionEnd","breakpoint","MAX_TRIES","TRY_TIMEOUT","insertText","textarea","selectionStart","selectionEnd","originalSelectionStart","before","value","slice","after","tries","insertResult","execCommand","inputEvent","Event","bubbles","nativeInputValueSetter","Object","getOwnPropertyDescriptor","window","HTMLTextAreaElement","prototype","set","call","dispatchEvent","setSelectionRange","focusTextarea","activeElement","setTimeout","styleArgs","result","multilineStyle","blockStyle","expandSelectedText","prefixToUse","suffixToUse","expandedSelectionStart","expandedSelectionEnd","beginsWithPrefix","endsWithSuffix","newlinesToSurroundSelectedText","beforeSelection","afterSelection","breaksBefore","breaksAfter","newlinesBeforeSelection","newlinesAfterSelection","newlinesToAppend","newlinesToPrepend","arg","originalSelectionEnd","selectedText","hasReplaceNext","indexOf","ref","startsWith","endsWith","replacementText","position","Math","max","min","whitespaceEdges","leadingWhitespace","trailingWhitespace","replace","lines","undoStyle","every","line","map","orderedListRegex","noInitialSelection","textToUnstyle","startOfLine","endOfLine","linesBefore","linesToUnstyle","undoStyling","test","lengthDiff","len","results","push"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-modes.js","sources":["../../../src/utils/markdown/markdown-modes.ts"],"sourcesContent":["/*\n * Licensed to Elasticsearch B.V. under one or more contributor\n * license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright\n * ownership. Elasticsearch B.V. licenses this file to you under\n * the Apache License, Version 2.0 (the \"License\"); you may\n * not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nexport const MODE_EDITING = 'editing' as const;\nexport const MODE_VIEWING = 'viewing' as const;\n\nexport type MARKDOWN_MODE = typeof MODE_EDITING | typeof MODE_VIEWING;\n"],"names":["MODE_EDITING","MODE_VIEWING"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,MAAMA,YAAY,GAAG
|
|
1
|
+
{"version":3,"file":"markdown-modes.js","sources":["../../../src/utils/markdown/markdown-modes.ts"],"sourcesContent":["/*\n * Licensed to Elasticsearch B.V. under one or more contributor\n * license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright\n * ownership. Elasticsearch B.V. licenses this file to you under\n * the Apache License, Version 2.0 (the \"License\"); you may\n * not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nexport const MODE_EDITING = 'editing' as const;\nexport const MODE_VIEWING = 'viewing' as const;\n\nexport type MARKDOWN_MODE = typeof MODE_EDITING | typeof MODE_VIEWING;\n"],"names":["MODE_EDITING","MODE_VIEWING"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,MAAMA,YAAY,GAAG;AACrB,MAAMC,YAAY,GAAG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-types.js","sources":["../../../src/utils/markdown/markdown-types.ts"],"sourcesContent":["/*\n * Licensed to Elasticsearch B.V. under one or more contributor\n * license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright\n * ownership. Elasticsearch B.V. licenses this file to you under\n * the Apache License, Version 2.0 (the \"License\"); you may\n * not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\nimport type { IconType } from '../../components/eui-icon';\nimport type Component from '@glimmer/component';\nimport type { ComponentLike } from '@glint/template';\nimport type { Parser } from 'remark-parse';\n//@ts-expect-error\nimport type { Node as UnistNode, Position as UnistPosition } from 'unist';\nimport type { VFile } from 'vfile';\nimport type { VFileMessage } from 'vfile-message';\n\nexport interface RemarkParser {\n Parser: typeof Parser;\n //eslint-disable-next-line\n tokenizeInline: Function;\n file: VFile;\n}\nexport interface RemarkTokenizer {\n (\n this: RemarkParser,\n //eslint-disable-next-line\n eat: Function & { now: Function },\n value: string,\n silent: boolean\n ): boolean | void;\n\n locator?: (value: string, fromIndex: number) => number;\n\n notInLink?: boolean;\n}\nexport interface RehypeNode extends EuiMarkdownAstNode {\n [index: string]: unknown;\n tagName: string;\n children?: RehypeNode[];\n value: string;\n type: string;\n}\ntype RemarkRehypeHandlerCallback = (\n node: UnistPosition,\n tagName: string,\n props: Record<string, unknown>,\n children: RehypeNode[]\n) => RehypeNode;\nexport type RemarkRehypeHandler = (\n h: RemarkRehypeHandlerCallback,\n node: UnistNode\n) => RehypeNode;\n\nexport interface EuiMarkdownEditorUiPluginEditorProps<NodeShape> {\n node: NodeShape | null;\n onCancel: () => void;\n onSave: (markdown: string, config: EuiMarkdownStringTagConfig) => void;\n}\n\nexport const isPluginWithImmediateFormatting = (\n x: PluginWithImmediateFormatting | PluginWithDelayedFormatting<any>\n): x is PluginWithImmediateFormatting => {\n return x.hasOwnProperty('formatting');\n};\n\nexport interface PluginWithImmediateFormatting {\n formatting: EuiMarkdownFormatting;\n editor?: never;\n}\n\nexport interface PluginWithDelayedFormatting<T> {\n formatting?: never;\n editor: T;\n}\n\nexport type EuiMarkdownEditorUiPlugin<NodeShape = any> = {\n name: string;\n button: {\n label: string;\n iconType: IconType;\n };\n helpText?: Component;\n} & (PluginWithImmediateFormatting | PluginWithDelayedFormatting<NodeShape>);\n\nexport interface EuiMarkdownFormatting {\n prefix?: string;\n suffix?: string;\n blockPrefix?: string;\n blockSuffix?: string;\n multiline?: boolean;\n replaceNext?: string;\n prefixSpace?: boolean;\n scanFor?: string;\n surroundWithNewlines?: boolean;\n orderedList?: boolean;\n trimFirst?: boolean;\n}\n\nexport interface EuiMarkdownAstNode {\n type: string;\n children?: EuiMarkdownAstNode[];\n position: EuiMarkdownAstNodePosition;\n properties: {\n [index: string]: unknown;\n componentName?: ComponentLike;\n className?: string[];\n \n };\n}\nexport interface EuiMarkdownAstNodePosition {\n start: { line: number; column: number; offset: number };\n end: { line: number; column: number; offset: number };\n}\n\nexport type EuiMarkdownParseError = string | VFileMessage | Error;\n\nexport interface EuiMarkdownDropHandler {\n supportedFiles: string[];\n accepts: (itemType: string) => boolean;\n getFormattingForItem: (\n file: File\n ) => EuiMarkdownDragAndDropResult | Promise<EuiMarkdownDragAndDropResult>;\n}\n\nexport interface EuiMarkdownStringTagConfig {\n block: boolean;\n}\n\nexport interface EuiMarkdownDragAndDropResult {\n text: string;\n config: EuiMarkdownStringTagConfig;\n}\n"],"names":["isPluginWithImmediateFormatting","x","hasOwnProperty"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;;AAgDaA,MAAAA,+BAA+B,GAC1CC,CAAmE,IAC5B;AACvC,EAAA,OAAOA,CAAC,CAACC,cAAc,CAAC,YAAY,CAAC
|
|
1
|
+
{"version":3,"file":"markdown-types.js","sources":["../../../src/utils/markdown/markdown-types.ts"],"sourcesContent":["/*\n * Licensed to Elasticsearch B.V. under one or more contributor\n * license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright\n * ownership. Elasticsearch B.V. licenses this file to you under\n * the Apache License, Version 2.0 (the \"License\"); you may\n * not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\nimport type { IconType } from '../../components/eui-icon';\nimport type Component from '@glimmer/component';\nimport type { ComponentLike } from '@glint/template';\nimport type { Parser } from 'remark-parse';\n//@ts-expect-error\nimport type { Node as UnistNode, Position as UnistPosition } from 'unist';\nimport type { VFile } from 'vfile';\nimport type { VFileMessage } from 'vfile-message';\n\nexport interface RemarkParser {\n Parser: typeof Parser;\n //eslint-disable-next-line\n tokenizeInline: Function;\n file: VFile;\n}\nexport interface RemarkTokenizer {\n (\n this: RemarkParser,\n //eslint-disable-next-line\n eat: Function & { now: Function },\n value: string,\n silent: boolean\n ): boolean | void;\n\n locator?: (value: string, fromIndex: number) => number;\n\n notInLink?: boolean;\n}\nexport interface RehypeNode extends EuiMarkdownAstNode {\n [index: string]: unknown;\n tagName: string;\n children?: RehypeNode[];\n value: string;\n type: string;\n}\ntype RemarkRehypeHandlerCallback = (\n node: UnistPosition,\n tagName: string,\n props: Record<string, unknown>,\n children: RehypeNode[]\n) => RehypeNode;\nexport type RemarkRehypeHandler = (\n h: RemarkRehypeHandlerCallback,\n node: UnistNode\n) => RehypeNode;\n\nexport interface EuiMarkdownEditorUiPluginEditorProps<NodeShape> {\n node: NodeShape | null;\n onCancel: () => void;\n onSave: (markdown: string, config: EuiMarkdownStringTagConfig) => void;\n}\n\nexport const isPluginWithImmediateFormatting = (\n x: PluginWithImmediateFormatting | PluginWithDelayedFormatting<any>\n): x is PluginWithImmediateFormatting => {\n return x.hasOwnProperty('formatting');\n};\n\nexport interface PluginWithImmediateFormatting {\n formatting: EuiMarkdownFormatting;\n editor?: never;\n}\n\nexport interface PluginWithDelayedFormatting<T> {\n formatting?: never;\n editor: T;\n}\n\nexport type EuiMarkdownEditorUiPlugin<NodeShape = any> = {\n name: string;\n button: {\n label: string;\n iconType: IconType;\n };\n helpText?: Component | string;\n} & (PluginWithImmediateFormatting | PluginWithDelayedFormatting<NodeShape>);\n\nexport interface EuiMarkdownFormatting {\n prefix?: string;\n suffix?: string;\n blockPrefix?: string;\n blockSuffix?: string;\n multiline?: boolean;\n replaceNext?: string;\n prefixSpace?: boolean;\n scanFor?: string;\n surroundWithNewlines?: boolean;\n orderedList?: boolean;\n trimFirst?: boolean;\n}\n\nexport interface EuiMarkdownAstNode {\n type: string;\n children?: EuiMarkdownAstNode[];\n position: EuiMarkdownAstNodePosition;\n properties: {\n [index: string]: unknown;\n componentName?: ComponentLike;\n className?: string[];\n \n };\n}\nexport interface EuiMarkdownAstNodePosition {\n start: { line: number; column: number; offset: number };\n end: { line: number; column: number; offset: number };\n}\n\nexport type EuiMarkdownParseError = string | VFileMessage | Error;\n\nexport interface EuiMarkdownDropHandler {\n supportedFiles: string[];\n accepts: (itemType: string) => boolean;\n getFormattingForItem: (\n file: File\n ) => EuiMarkdownDragAndDropResult | Promise<EuiMarkdownDragAndDropResult>;\n}\n\nexport interface EuiMarkdownStringTagConfig {\n block: boolean;\n}\n\nexport interface EuiMarkdownDragAndDropResult {\n text: string;\n config: EuiMarkdownStringTagConfig;\n}\n"],"names":["isPluginWithImmediateFormatting","x","hasOwnProperty"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;;AAgDaA,MAAAA,+BAA+B,GAC1CC,CAAmE,IAC5B;AACvC,EAAA,OAAOA,CAAC,CAACC,cAAc,CAAC,YAAY,CAAC;AACvC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processor.js","sources":["../../../../../src/utils/markdown/plugins/markdown-add-components/processor.ts"],"sourcesContent":["import EuiHoritzontalRule from '../../../../components/eui-horizontal-rule.gts';\nimport EuiMarkdownFormatMarkdownCode from '../../../../components/eui-markdown-format/markdown-code.gts';\nimport EuiMarkdownFormatMarkdownCodeBlock from '../../../../components/eui-markdown-format/markdown-code-block.gts';\nimport { FENCED_CLASS } from '../../remark/remark-prismjs.ts';\n\nimport type { RehypeNode } from '../../markdown-types.ts';\n\ntype Visitor = (node: RehypeNode) => RehypeNode;\n\nexport const visit = (node: RehypeNode, visitor: Visitor) => {\n node = visitor(node);\n\n if (node) {\n let children: RehypeNode[] = [];\n\n if (node.children) {\n node.children.forEach((child) => {\n child = visit(child, visitor);\n\n if (child) {\n children.push(child);\n }\n });\n node.children = children;\n }\n }\n\n return node;\n};\n\nexport const processor = function MarkdownAddComponents(): (\n tree: RehypeNode\n) => void {\n return (tree) => {\n visit(tree, (node: RehypeNode) => {\n if (node.tagName === 'component') {\n node.type = 'component';\n }\n\n if (node.type === 'element' && node.tagName === 'a') {\n node.properties.className = ['euiLink', 'euiLink--primary'];\n }\n\n if (node.type === 'element' && node.tagName === 'pre') {\n node.tagName = 'div';\n node.properties.className = ['euiMarkdownFormat__codeblockWrapper'];\n }\n\n if (node.type === 'element' && node.tagName === 'blockquote') {\n node.properties.className = ['euiMarkdownFormat__blockquote'];\n }\n\n if (node.type === 'element' && node.tagName === 'table') {\n node.properties.className = ['euiMarkdownFormat__table'];\n }\n\n if (node.type === 'element' && node.tagName === 'hr') {\n node.type = 'component';\n node.properties.componentName = EuiHoritzontalRule;\n }\n\n if (node.type === 'element' && node.tagName === 'code') {\n node.type = 'component';\n\n const hasBreaks = node.children?.find(\n (child: RehypeNode) =>\n /\\r|\\n/.exec(child.value) ||\n ((node.properties.className as string[]) &&\n (node.properties.className as string[]).indexOf(FENCED_CLASS) >\n -1)\n );\n\n if (hasBreaks) {\n //@ts-expect-error\n node.properties.componentName = EuiMarkdownFormatMarkdownCodeBlock;\n node.properties['fontSize'] = 'm';\n node.properties['paddingSize'] = 's';\n } else {\n //@ts-expect-error\n node.properties.componentName = EuiMarkdownFormatMarkdownCode;\n node.properties['inline'] = true;\n }\n }\n\n return node;\n });\n };\n};\n"],"names":["visit","node","visitor","children","forEach","child","push","processor","MarkdownAddComponents","tree","tagName","type","properties","className","componentName","EuiHoritzontalRule","hasBreaks","find","exec","value","indexOf","FENCED_CLASS","EuiMarkdownFormatMarkdownCodeBlock","EuiMarkdownFormatMarkdownCode"],"mappings":";;;;;MASaA,KAAK,GAAGA,CAACC,IAAgB,EAAEC,OAAgB,KAAK;AAC3DD,EAAAA,IAAI,GAAGC,OAAO,CAACD,IAAI,CAAC
|
|
1
|
+
{"version":3,"file":"processor.js","sources":["../../../../../src/utils/markdown/plugins/markdown-add-components/processor.ts"],"sourcesContent":["import EuiHoritzontalRule from '../../../../components/eui-horizontal-rule.gts';\nimport EuiMarkdownFormatMarkdownCode from '../../../../components/eui-markdown-format/markdown-code.gts';\nimport EuiMarkdownFormatMarkdownCodeBlock from '../../../../components/eui-markdown-format/markdown-code-block.gts';\nimport { FENCED_CLASS } from '../../remark/remark-prismjs.ts';\n\nimport type { RehypeNode } from '../../markdown-types.ts';\n\ntype Visitor = (node: RehypeNode) => RehypeNode;\n\nexport const visit = (node: RehypeNode, visitor: Visitor) => {\n node = visitor(node);\n\n if (node) {\n let children: RehypeNode[] = [];\n\n if (node.children) {\n node.children.forEach((child) => {\n child = visit(child, visitor);\n\n if (child) {\n children.push(child);\n }\n });\n node.children = children;\n }\n }\n\n return node;\n};\n\nexport const processor = function MarkdownAddComponents(): (\n tree: RehypeNode\n) => void {\n return (tree) => {\n visit(tree, (node: RehypeNode) => {\n if (node.tagName === 'component') {\n node.type = 'component';\n }\n\n if (node.type === 'element' && node.tagName === 'a') {\n node.properties.className = ['euiLink', 'euiLink--primary'];\n }\n\n if (node.type === 'element' && node.tagName === 'pre') {\n node.tagName = 'div';\n node.properties.className = ['euiMarkdownFormat__codeblockWrapper'];\n }\n\n if (node.type === 'element' && node.tagName === 'blockquote') {\n node.properties.className = ['euiMarkdownFormat__blockquote'];\n }\n\n if (node.type === 'element' && node.tagName === 'table') {\n node.properties.className = ['euiMarkdownFormat__table'];\n }\n\n if (node.type === 'element' && node.tagName === 'hr') {\n node.type = 'component';\n node.properties.componentName = EuiHoritzontalRule;\n }\n\n if (node.type === 'element' && node.tagName === 'code') {\n node.type = 'component';\n\n const hasBreaks = node.children?.find(\n (child: RehypeNode) =>\n /\\r|\\n/.exec(child.value) ||\n ((node.properties.className as string[]) &&\n (node.properties.className as string[]).indexOf(FENCED_CLASS) >\n -1)\n );\n\n if (hasBreaks) {\n //@ts-expect-error\n node.properties.componentName = EuiMarkdownFormatMarkdownCodeBlock;\n node.properties['fontSize'] = 'm';\n node.properties['paddingSize'] = 's';\n } else {\n //@ts-expect-error\n node.properties.componentName = EuiMarkdownFormatMarkdownCode;\n node.properties['inline'] = true;\n }\n }\n\n return node;\n });\n };\n};\n"],"names":["visit","node","visitor","children","forEach","child","push","processor","MarkdownAddComponents","tree","tagName","type","properties","className","componentName","EuiHoritzontalRule","hasBreaks","find","exec","value","indexOf","FENCED_CLASS","EuiMarkdownFormatMarkdownCodeBlock","EuiMarkdownFormatMarkdownCode"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sources":["../../../../../src/utils/markdown/plugins/markdown-checkbox/parser.ts"],"sourcesContent":["/*\n * Licensed to Elasticsearch B.V. under one or more contributor\n * license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright\n * ownership. Elasticsearch B.V. licenses this file to you under\n * the Apache License, Version 2.0 (the \"License\"); you may\n * not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport EuiMarkdownFormatMarkdownCheckbox from '../../../../components/eui-markdown-format/markdown-checkbox.gts';\n\nimport type { RemarkTokenizer } from '../../markdown-types';\nimport type { Plugin } from 'unified';\n\ninterface CheckboxNodeDetails {\n type: 'component';\n componentName: any;\n lead: string;\n label: string;\n isChecked: boolean;\n}\n\nexport const CheckboxParser: Plugin = function CheckboxParser() {\n const Parser = this.Parser;\n const tokenizers = Parser.prototype.blockTokenizers;\n const methods = Parser.prototype.blockMethods;\n\n const tokenizeCheckbox: RemarkTokenizer = function tokenizeCheckbox(\n eat,\n value,\n silent\n ) {\n /**\n * optional leading whitespace & single (dash or asterisk) mix\n * square brackets, optionally containing whitespace and `x`\n * optional whitespace\n * remainder of the line is consumed as the textbox label\n */\n const checkboxMatch = value.match(/^(\\s*[-*]\\s*)?\\[([\\sx]*)\\](.+)/);\n\n if (checkboxMatch == null) return false;\n\n if (silent) {\n return true;\n }\n\n const [match, lead = '', checkboxStatus, text] = checkboxMatch;\n const isChecked = checkboxStatus?.indexOf('x') !== -1;\n\n const now = eat.now();\n const offset = match.length - (text?.length ?? 0);\n\n now.column += offset;\n now.offset += offset;\n\n const children = this.tokenizeInline(text, now);\n\n const add = eat(match);\n\n return add({\n type: 'component',\n componentName: EuiMarkdownFormatMarkdownCheckbox,\n lead,\n label: text,\n isChecked,\n inline: true,\n children\n } as CheckboxNodeDetails);\n };\n\n tokenizers.checkbox = tokenizeCheckbox;\n methods.splice(methods.indexOf('list'), 0, 'checkbox'); // Run it just before default `list` plugin to inject our own idea of checkboxes.\n};\n"],"names":["CheckboxParser","Parser","tokenizers","prototype","blockTokenizers","methods","blockMethods","tokenizeCheckbox","eat","value","silent","checkboxMatch","match","lead","checkboxStatus","text","isChecked","indexOf","now","offset","length","column","children","tokenizeInline","add","type","componentName","EuiMarkdownFormatMarkdownCheckbox","label","inline","checkbox","splice"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;MAeaA,cAAsB,GAAG,SAASA,cAAcA,GAAG;AAC9D,EAAA,MAAMC,MAAM,GAAG,IAAI,CAACA,MAAM
|
|
1
|
+
{"version":3,"file":"parser.js","sources":["../../../../../src/utils/markdown/plugins/markdown-checkbox/parser.ts"],"sourcesContent":["/*\n * Licensed to Elasticsearch B.V. under one or more contributor\n * license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright\n * ownership. Elasticsearch B.V. licenses this file to you under\n * the Apache License, Version 2.0 (the \"License\"); you may\n * not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\nimport EuiMarkdownFormatMarkdownCheckbox from '../../../../components/eui-markdown-format/markdown-checkbox.gts';\n\nimport type { RemarkTokenizer } from '../../markdown-types';\nimport type { Plugin } from 'unified';\n\ninterface CheckboxNodeDetails {\n type: 'component';\n componentName: any;\n lead: string;\n label: string;\n isChecked: boolean;\n}\n\nexport const CheckboxParser: Plugin = function CheckboxParser() {\n const Parser = this.Parser;\n const tokenizers = Parser.prototype.blockTokenizers;\n const methods = Parser.prototype.blockMethods;\n\n const tokenizeCheckbox: RemarkTokenizer = function tokenizeCheckbox(\n eat,\n value,\n silent\n ) {\n /**\n * optional leading whitespace & single (dash or asterisk) mix\n * square brackets, optionally containing whitespace and `x`\n * optional whitespace\n * remainder of the line is consumed as the textbox label\n */\n const checkboxMatch = value.match(/^(\\s*[-*]\\s*)?\\[([\\sx]*)\\](.+)/);\n\n if (checkboxMatch == null) return false;\n\n if (silent) {\n return true;\n }\n\n const [match, lead = '', checkboxStatus, text] = checkboxMatch;\n const isChecked = checkboxStatus?.indexOf('x') !== -1;\n\n const now = eat.now();\n const offset = match.length - (text?.length ?? 0);\n\n now.column += offset;\n now.offset += offset;\n\n const children = this.tokenizeInline(text, now);\n\n const add = eat(match);\n\n return add({\n type: 'component',\n componentName: EuiMarkdownFormatMarkdownCheckbox,\n lead,\n label: text,\n isChecked,\n inline: true,\n children\n } as CheckboxNodeDetails);\n };\n\n tokenizers.checkbox = tokenizeCheckbox;\n methods.splice(methods.indexOf('list'), 0, 'checkbox'); // Run it just before default `list` plugin to inject our own idea of checkboxes.\n};\n"],"names":["CheckboxParser","Parser","tokenizers","prototype","blockTokenizers","methods","blockMethods","tokenizeCheckbox","eat","value","silent","checkboxMatch","match","lead","checkboxStatus","text","isChecked","indexOf","now","offset","length","column","children","tokenizeInline","add","type","componentName","EuiMarkdownFormatMarkdownCheckbox","label","inline","checkbox","splice"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;MAeaA,cAAsB,GAAG,SAASA,cAAcA,GAAG;AAC9D,EAAA,MAAMC,MAAM,GAAG,IAAI,CAACA,MAAM;AAC1B,EAAA,MAAMC,UAAU,GAAGD,MAAM,CAACE,SAAS,CAACC,eAAe;AACnD,EAAA,MAAMC,OAAO,GAAGJ,MAAM,CAACE,SAAS,CAACG,YAAY;EAE7C,MAAMC,gBAAiC,GAAG,SAASA,gBAAgBA,CACjEC,GAAG,EACHC,KAAK,EACLC,MAAM,EACN;AACA;AACJ;AACA;AACA;AACA;AACA;AACI,IAAA,MAAMC,aAAa,GAAGF,KAAK,CAACG,KAAK,CAAC,gCAAgC,CAAC;AAEnE,IAAA,IAAID,aAAa,IAAI,IAAI,EAAE,OAAO,KAAK;AAEvC,IAAA,IAAID,MAAM,EAAE;AACV,MAAA,OAAO,IAAI;AACb;AAEA,IAAA,MAAM,CAACE,KAAK,EAAEC,IAAI,GAAG,EAAE,EAAEC,cAAc,EAAEC,IAAI,CAAC,GAAGJ,aAAa;IAC9D,MAAMK,SAAS,GAAGF,cAAc,EAAEG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE;AAErD,IAAA,MAAMC,GAAG,GAAGV,GAAG,CAACU,GAAG,EAAE;IACrB,MAAMC,MAAM,GAAGP,KAAK,CAACQ,MAAM,IAAIL,IAAI,EAAEK,MAAM,IAAI,CAAC,CAAC;IAEjDF,GAAG,CAACG,MAAM,IAAIF,MAAM;IACpBD,GAAG,CAACC,MAAM,IAAIA,MAAM;IAEpB,MAAMG,QAAQ,GAAG,IAAI,CAACC,cAAc,CAACR,IAAI,EAAEG,GAAG,CAAC;AAE/C,IAAA,MAAMM,GAAG,GAAGhB,GAAG,CAACI,KAAK,CAAC;AAEtB,IAAA,OAAOY,GAAG,CAAC;AACTC,MAAAA,IAAI,EAAE,WAAW;AACjBC,MAAAA,aAAa,EAAEC,0CAAiC;MAChDd,IAAI;AACJe,MAAAA,KAAK,EAAEb,IAAI;MACXC,SAAS;AACTa,MAAAA,MAAM,EAAE,IAAI;AACZP,MAAAA;AACF,KAAwB,CAAC;GAC1B;EAEDpB,UAAU,CAAC4B,QAAQ,GAAGvB,gBAAgB;AACtCF,EAAAA,OAAO,CAAC0B,MAAM,CAAC1B,OAAO,CAACY,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,UAAU,CAAC,CAAC;AACzD;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parsing-plugins.js","sources":["../../../../../src/utils/markdown/plugins/markdown-default-plugins/parsing-plugins.ts"],"sourcesContent":["/*\n * Licensed to Elasticsearch B.V. under one or more contributor\n * license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright\n * ownership. Elasticsearch B.V. licenses this file to you under\n * the Apache License, Version 2.0 (the \"License\"); you may\n * not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\n// Importing seemingly unused types from `unified` because the definitions\n// are exported for two versions of TypeScript (3.4, 4.0) and implicit\n// imports during eui.d.ts generation default to the incorrect version (3.4).\n// Explicit imports here resolve the version mismatch.\nimport breaks from 'remark-breaks';\nimport emoji from 'remark-emoji';\nimport markdown from 'remark-parse';\n\nimport highlight from '../../remark/remark-prismjs.ts';\nimport * as MarkdownCheckbox from '../markdown-checkbox/index.ts';\nimport * as MarkdownTooltip from '../markdown-tooltip/index.ts';\n\nimport type { PluggableList } from 'unified';\n\nexport type DefaultEuiMarkdownParsingPlugins = PluggableList;\n\nexport const getDefaultEuiMarkdownParsingPlugins = ({\n exclude\n}: { exclude?: 'tooltip'[] } = {}): DefaultEuiMarkdownParsingPlugins => {\n const excludeSet = new Set(exclude);\n const parsingPlugins: PluggableList = [\n [markdown, {}],\n [highlight, {}],\n [emoji, { emoticon: false }],\n //@ts-ignore\n [breaks, {}],\n // [markdownLinkValidator, {}],\n [MarkdownCheckbox.parser, {}]\n ];\n\n if (!excludeSet.has('tooltip'))\n parsingPlugins.push([MarkdownTooltip.parser, {}]);\n\n return parsingPlugins;\n};\n\nexport const defaultParsingPlugins = getDefaultEuiMarkdownParsingPlugins();\n"],"names":["getDefaultEuiMarkdownParsingPlugins","exclude","excludeSet","Set","parsingPlugins","markdown","highlight","emoji","emoticon","breaks","MarkdownCheckbox","has","push","MarkdownTooltip","defaultParsingPlugins"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAkBO,MAAMA,mCAAmC,GAAGA,CAAC;AAClDC,EAAAA
|
|
1
|
+
{"version":3,"file":"parsing-plugins.js","sources":["../../../../../src/utils/markdown/plugins/markdown-default-plugins/parsing-plugins.ts"],"sourcesContent":["/*\n * Licensed to Elasticsearch B.V. under one or more contributor\n * license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright\n * ownership. Elasticsearch B.V. licenses this file to you under\n * the Apache License, Version 2.0 (the \"License\"); you may\n * not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\n// Importing seemingly unused types from `unified` because the definitions\n// are exported for two versions of TypeScript (3.4, 4.0) and implicit\n// imports during eui.d.ts generation default to the incorrect version (3.4).\n// Explicit imports here resolve the version mismatch.\nimport breaks from 'remark-breaks';\nimport emoji from 'remark-emoji';\nimport markdown from 'remark-parse';\n\nimport highlight from '../../remark/remark-prismjs.ts';\nimport * as MarkdownCheckbox from '../markdown-checkbox/index.ts';\nimport * as MarkdownTooltip from '../markdown-tooltip/index.ts';\n\nimport type { PluggableList } from 'unified';\n\nexport type DefaultEuiMarkdownParsingPlugins = PluggableList;\n\nexport const getDefaultEuiMarkdownParsingPlugins = ({\n exclude\n}: { exclude?: 'tooltip'[] } = {}): DefaultEuiMarkdownParsingPlugins => {\n const excludeSet = new Set(exclude);\n const parsingPlugins: PluggableList = [\n [markdown, {}],\n [highlight, {}],\n [emoji, { emoticon: false }],\n //@ts-ignore\n [breaks, {}],\n // [markdownLinkValidator, {}],\n [MarkdownCheckbox.parser, {}]\n ];\n\n if (!excludeSet.has('tooltip'))\n parsingPlugins.push([MarkdownTooltip.parser, {}]);\n\n return parsingPlugins;\n};\n\nexport const defaultParsingPlugins = getDefaultEuiMarkdownParsingPlugins();\n"],"names":["getDefaultEuiMarkdownParsingPlugins","exclude","excludeSet","Set","parsingPlugins","markdown","highlight","emoji","emoticon","breaks","MarkdownCheckbox","has","push","MarkdownTooltip","defaultParsingPlugins"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAkBO,MAAMA,mCAAmC,GAAGA,CAAC;AAClDC,EAAAA;AACyB,CAAC,GAAG,EAAE,KAAuC;AACtE,EAAA,MAAMC,UAAU,GAAG,IAAIC,GAAG,CAACF,OAAO,CAAC;AACnC,EAAA,MAAMG,cAA6B,GAAG,CACpC,CAACC,QAAQ,EAAE,EAAE,CAAC,EACd,CAACC,QAAS,EAAE,EAAE,CAAC,EACf,CAACC,KAAK,EAAE;AAAEC,IAAAA,QAAQ,EAAE;AAAM,GAAC,CAAC;AAC5B;AACA,EAAA,CAACC,MAAM,EAAE,EAAE,CAAC;AACZ;AACA,EAAA,CAACC,cAAuB,EAAE,EAAE,CAAC,CAC9B;EAED,IAAI,CAACR,UAAU,CAACS,GAAG,CAAC,SAAS,CAAC,EAC5BP,cAAc,CAACQ,IAAI,CAAC,CAACC,aAAsB,EAAE,EAAE,CAAC,CAAC;AAEnD,EAAA,OAAOT,cAAc;AACvB;AAEaU,MAAAA,qBAAqB,GAAGd,mCAAmC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.js","sources":["../../../../../src/utils/markdown/plugins/markdown-default-plugins/plugins.ts"],"sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0 and the Server Side Public License, v 1; you may not use this file except\n * in compliance with, at your election, the Elastic License 2.0 or the Server\n * Side Public License, v 1.\n */\n\nimport { getDefaultEuiMarkdownParsingPlugins } from './parsing-plugins.ts';\nimport {\n getDefaultEuiMarkdownProcessingPlugins\n} from './processing-plugins.ts';\nimport { getDefaultEuiMarkdownUiPlugins } from './ui-plugins.ts';\n\nimport type { DefaultEuiMarkdownParsingPlugins } from './parsing-plugins.ts';\nimport type { DefaultEuiMarkdownProcessingPlugins } from './processing-plugins.ts';\nimport type { DefaultEuiMarkdownUiPlugins } from './ui-plugins.ts';\n\nexport const getDefaultEuiMarkdownPlugins = (\n config: undefined | { exclude?: 'tooltip'[] }\n): {\n parsingPlugins: DefaultEuiMarkdownParsingPlugins;\n processingPlugins: DefaultEuiMarkdownProcessingPlugins;\n uiPlugins: DefaultEuiMarkdownUiPlugins;\n} => ({\n parsingPlugins: getDefaultEuiMarkdownParsingPlugins(config),\n processingPlugins: getDefaultEuiMarkdownProcessingPlugins(config),\n uiPlugins: getDefaultEuiMarkdownUiPlugins(config)\n});\n"],"names":["getDefaultEuiMarkdownPlugins","config","parsingPlugins","getDefaultEuiMarkdownParsingPlugins","processingPlugins","getDefaultEuiMarkdownProcessingPlugins","uiPlugins","getDefaultEuiMarkdownUiPlugins"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAYaA,MAAAA,4BAA4B,GACvCC,MAA6C,KAKzC;AACJC,EAAAA,cAAc,EAAEC,mCAAmC,CAACF,MAAM,CAAC;AAC3DG,EAAAA,iBAAiB,EAAEC,sCAAsC,CAACJ,MAAM,CAAC;EACjEK,SAAS,EAAEC,8BAA8B,CAACN,MAAM
|
|
1
|
+
{"version":3,"file":"plugins.js","sources":["../../../../../src/utils/markdown/plugins/markdown-default-plugins/plugins.ts"],"sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0 and the Server Side Public License, v 1; you may not use this file except\n * in compliance with, at your election, the Elastic License 2.0 or the Server\n * Side Public License, v 1.\n */\n\nimport { getDefaultEuiMarkdownParsingPlugins } from './parsing-plugins.ts';\nimport {\n getDefaultEuiMarkdownProcessingPlugins\n} from './processing-plugins.ts';\nimport { getDefaultEuiMarkdownUiPlugins } from './ui-plugins.ts';\n\nimport type { DefaultEuiMarkdownParsingPlugins } from './parsing-plugins.ts';\nimport type { DefaultEuiMarkdownProcessingPlugins } from './processing-plugins.ts';\nimport type { DefaultEuiMarkdownUiPlugins } from './ui-plugins.ts';\n\nexport const getDefaultEuiMarkdownPlugins = (\n config: undefined | { exclude?: 'tooltip'[] }\n): {\n parsingPlugins: DefaultEuiMarkdownParsingPlugins;\n processingPlugins: DefaultEuiMarkdownProcessingPlugins;\n uiPlugins: DefaultEuiMarkdownUiPlugins;\n} => ({\n parsingPlugins: getDefaultEuiMarkdownParsingPlugins(config),\n processingPlugins: getDefaultEuiMarkdownProcessingPlugins(config),\n uiPlugins: getDefaultEuiMarkdownUiPlugins(config)\n});\n"],"names":["getDefaultEuiMarkdownPlugins","config","parsingPlugins","getDefaultEuiMarkdownParsingPlugins","processingPlugins","getDefaultEuiMarkdownProcessingPlugins","uiPlugins","getDefaultEuiMarkdownUiPlugins"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAYaA,MAAAA,4BAA4B,GACvCC,MAA6C,KAKzC;AACJC,EAAAA,cAAc,EAAEC,mCAAmC,CAACF,MAAM,CAAC;AAC3DG,EAAAA,iBAAiB,EAAEC,sCAAsC,CAACJ,MAAM,CAAC;EACjEK,SAAS,EAAEC,8BAA8B,CAACN,MAAM;AAClD,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processing-plugins.js","sources":["../../../../../src/utils/markdown/plugins/markdown-default-plugins/processing-plugins.ts"],"sourcesContent":["/*\n * Licensed to Elasticsearch B.V. under one or more contributor\n * license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright\n * ownership. Elasticsearch B.V. licenses this file to you under\n * the Apache License, Version 2.0 (the \"License\"); you may\n * not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\n// Importing seemingly unused types from `unified` because the definitions\n// are exported for two versions of TypeScript (3.4, 4.0) and implicit\n// imports during eui.d.ts generation default to the incorrect version (3.4).\n// Explicit imports here resolve the version mismatch.\nimport all from 'mdast-util-to-hast/lib/all';\nimport remark2Rehype from 'remark-rehype';\n\nimport * as MarkdownAddComponents from '../markdown-add-components/index.ts';\n\nimport type { Options as Remark2RehypeOptions } from 'mdast-util-to-hast';\n//@ts-ignore\nimport type { Handler } from 'mdast-util-to-hast';\nimport type { PluggableList } from 'unified';\n\n\nconst unknownHandler: Handler = (h: any, node: any) => {\n return h(node, node.type, node, all(h, node));\n};\n\nexport interface Rehype2ReactOptions {\n [key: string]: any;\n}\n\nexport type DefaultEuiMarkdownProcessingPlugins = [\n [typeof remark2Rehype, Remark2RehypeOptions], // first is well known\n [typeof MarkdownAddComponents.processor, Rehype2ReactOptions], // second is well known\n ...PluggableList // any additional are generic\n];\n\nexport const getDefaultEuiMarkdownProcessingPlugins: any = ({\n exclude\n}: { exclude?: 'tooltip'[] } = {}) => {\n exclude;\n\n const plugins: DefaultEuiMarkdownProcessingPlugins = [\n [remark2Rehype, { allowDangerousHtml: true, unknownHandler }],\n [MarkdownAddComponents.processor, {}]\n ];\n\n return plugins;\n};\n\nexport const defaultProcessingPlugins =\n getDefaultEuiMarkdownProcessingPlugins();\n"],"names":["unknownHandler","h","node","type","all","getDefaultEuiMarkdownProcessingPlugins","exclude","plugins","remark2Rehype","allowDangerousHtml","MarkdownAddComponents","defaultProcessingPlugins"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAYA;;AAKA,MAAMA,cAAuB,GAAGA,CAACC,CAAM,EAAEC,IAAS,KAAK;AACrD,EAAA,OAAOD,CAAC,CAACC,IAAI,EAAEA,IAAI,CAACC,IAAI,EAAED,IAAI,EAAEE,GAAG,CAACH,CAAC,EAAEC,IAAI,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"processing-plugins.js","sources":["../../../../../src/utils/markdown/plugins/markdown-default-plugins/processing-plugins.ts"],"sourcesContent":["/*\n * Licensed to Elasticsearch B.V. under one or more contributor\n * license agreements. See the NOTICE file distributed with\n * this work for additional information regarding copyright\n * ownership. Elasticsearch B.V. licenses this file to you under\n * the Apache License, Version 2.0 (the \"License\"); you may\n * not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied. See the License for the\n * specific language governing permissions and limitations\n * under the License.\n */\n\n// Importing seemingly unused types from `unified` because the definitions\n// are exported for two versions of TypeScript (3.4, 4.0) and implicit\n// imports during eui.d.ts generation default to the incorrect version (3.4).\n// Explicit imports here resolve the version mismatch.\nimport all from 'mdast-util-to-hast/lib/all';\nimport remark2Rehype from 'remark-rehype';\n\nimport * as MarkdownAddComponents from '../markdown-add-components/index.ts';\n\nimport type { Options as Remark2RehypeOptions } from 'mdast-util-to-hast';\n//@ts-ignore\nimport type { Handler } from 'mdast-util-to-hast';\nimport type { PluggableList } from 'unified';\n\n\nconst unknownHandler: Handler = (h: any, node: any) => {\n return h(node, node.type, node, all(h, node));\n};\n\nexport interface Rehype2ReactOptions {\n [key: string]: any;\n}\n\nexport type DefaultEuiMarkdownProcessingPlugins = [\n [typeof remark2Rehype, Remark2RehypeOptions], // first is well known\n [typeof MarkdownAddComponents.processor, Rehype2ReactOptions], // second is well known\n ...PluggableList // any additional are generic\n];\n\nexport const getDefaultEuiMarkdownProcessingPlugins: any = ({\n exclude\n}: { exclude?: 'tooltip'[] } = {}) => {\n exclude;\n\n const plugins: DefaultEuiMarkdownProcessingPlugins = [\n [remark2Rehype, { allowDangerousHtml: true, unknownHandler }],\n [MarkdownAddComponents.processor, {}]\n ];\n\n return plugins;\n};\n\nexport const defaultProcessingPlugins =\n getDefaultEuiMarkdownProcessingPlugins();\n"],"names":["unknownHandler","h","node","type","all","getDefaultEuiMarkdownProcessingPlugins","exclude","plugins","remark2Rehype","allowDangerousHtml","MarkdownAddComponents","defaultProcessingPlugins"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAYA;;AAKA,MAAMA,cAAuB,GAAGA,CAACC,CAAM,EAAEC,IAAS,KAAK;AACrD,EAAA,OAAOD,CAAC,CAACC,IAAI,EAAEA,IAAI,CAACC,IAAI,EAAED,IAAI,EAAEE,GAAG,CAACH,CAAC,EAAEC,IAAI,CAAC,CAAC;AAC/C,CAAC;AAYM,MAAMG,sCAA2C,GAAGA,CAAC;AAC1DC,EAAAA;AACyB,CAAC,GAAG,EAAE,KAAK;AAGpC,EAAA,MAAMC,OAA4C,GAAG,CACnD,CAACC,aAAa,EAAE;AAAEC,IAAAA,kBAAkB,EAAE,IAAI;AAAET,IAAAA;GAAgB,CAAC,EAC7D,CAACU,SAA+B,EAAE,EAAE,CAAC,CACtC;AAED,EAAA,OAAOH,OAAO;AAChB;AAEaI,MAAAA,wBAAwB,GACnCN,sCAAsC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ui-plugins.js","sources":["../../../../../src/utils/markdown/plugins/markdown-default-plugins/ui-plugins.ts"],"sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0 and the Server Side Public License, v 1; you may not use this file except\n * in compliance with, at your election, the Elastic License 2.0 or the Server\n * Side Public License, v 1.\n */\n\nimport * as MarkdownTooltip from '../markdown-tooltip/index.ts';\n\nimport type { EuiMarkdownEditorUiPlugin } from '../../markdown-types.ts';\n\nexport type DefaultEuiMarkdownUiPlugins = EuiMarkdownEditorUiPlugin[];\n\nexport const getDefaultEuiMarkdownUiPlugins = ({\n exclude\n}: { exclude?: 'tooltip'[] } = {}): DefaultEuiMarkdownUiPlugins => {\n const excludeSet = new Set(exclude);\n const uiPlugins = [];\n\n if (!excludeSet.has('tooltip')) uiPlugins.push(MarkdownTooltip.plugin);\n\n // @ts-ignore __originatedFromEui is a custom property\n uiPlugins.__originatedFromEui = true;\n\n // @ts-ignore __originatedFromEui is a custom property\n return uiPlugins;\n};\n\nexport const defaultUiPlugins = getDefaultEuiMarkdownUiPlugins();\n"],"names":["getDefaultEuiMarkdownUiPlugins","exclude","excludeSet","Set","uiPlugins","has","push","MarkdownTooltip","__originatedFromEui","defaultUiPlugins"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAQO,MAAMA,8BAA8B,GAAGA,CAAC;AAC7CC,EAAAA
|
|
1
|
+
{"version":3,"file":"ui-plugins.js","sources":["../../../../../src/utils/markdown/plugins/markdown-default-plugins/ui-plugins.ts"],"sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0 and the Server Side Public License, v 1; you may not use this file except\n * in compliance with, at your election, the Elastic License 2.0 or the Server\n * Side Public License, v 1.\n */\n\nimport * as MarkdownTooltip from '../markdown-tooltip/index.ts';\n\nimport type { EuiMarkdownEditorUiPlugin } from '../../markdown-types.ts';\n\nexport type DefaultEuiMarkdownUiPlugins = EuiMarkdownEditorUiPlugin[];\n\nexport const getDefaultEuiMarkdownUiPlugins = ({\n exclude\n}: { exclude?: 'tooltip'[] } = {}): DefaultEuiMarkdownUiPlugins => {\n const excludeSet = new Set(exclude);\n const uiPlugins = [];\n\n if (!excludeSet.has('tooltip')) uiPlugins.push(MarkdownTooltip.plugin);\n\n // @ts-ignore __originatedFromEui is a custom property\n uiPlugins.__originatedFromEui = true;\n\n // @ts-ignore __originatedFromEui is a custom property\n return uiPlugins;\n};\n\nexport const defaultUiPlugins = getDefaultEuiMarkdownUiPlugins();\n"],"names":["getDefaultEuiMarkdownUiPlugins","exclude","excludeSet","Set","uiPlugins","has","push","MarkdownTooltip","__originatedFromEui","defaultUiPlugins"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAQO,MAAMA,8BAA8B,GAAGA,CAAC;AAC7CC,EAAAA;AACyB,CAAC,GAAG,EAAE,KAAkC;AACjE,EAAA,MAAMC,UAAU,GAAG,IAAIC,GAAG,CAACF,OAAO,CAAC;EACnC,MAAMG,SAAS,GAAG,EAAE;AAEpB,EAAA,IAAI,CAACF,UAAU,CAACG,GAAG,CAAC,SAAS,CAAC,EAAED,SAAS,CAACE,IAAI,CAACC,aAAsB,CAAC;;AAEtE;EACAH,SAAS,CAACI,mBAAmB,GAAG,IAAI;;AAEpC;AACA,EAAA,OAAOJ,SAAS;AAClB;AAEaK,MAAAA,gBAAgB,GAAGT,8BAA8B;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sources":["../../../../../src/utils/markdown/plugins/markdown-tooltip/parser.ts"],"sourcesContent":["import EuiMarkdownFormatMarkdownTooltip from '../../../../components/eui-markdown-format/markdown-tooltip.gts';\n\nimport type { RemarkTokenizer } from '../../markdown-types';\nimport type { Plugin } from 'unified';\n\ninterface TooltipNodeDetails {\n type: 'component';\n tooltipText: string;\n}\n\nexport const TooltipParser: Plugin = function TooltipParser() {\n const Parser = this.Parser;\n const tokenizers = Parser.prototype.inlineTokenizers;\n const methods = Parser.prototype.inlineMethods;\n\n const tokenizeTooltip: RemarkTokenizer = function tokenizeTooltip(\n eat,\n value,\n silent\n ) {\n if (value.startsWith('!{tooltip') === false) return false;\n\n const nextChar = value[9];\n\n if (nextChar !== '[') return false; // this isn't actually a tooltip\n\n let index = 9;\n\n function readArg(open: string, close: string) {\n if (value[index] !== open) throw 'Expected left bracket';\n index++;\n\n let body = '';\n let openBrackets = 0;\n\n for (; index < value.length; index++) {\n const char = value[index];\n\n if (char === close && openBrackets === 0) {\n index++;\n\n return body;\n } else if (char === close) {\n openBrackets--;\n } else if (char === open) {\n openBrackets++;\n }\n\n body += char;\n }\n\n return '';\n }\n\n const tooltipAnchor = readArg('[', ']');\n const tooltipText = readArg('(', ')');\n\n const now = eat.now();\n\n if (!tooltipAnchor) {\n this.file.info('No tooltip anchor found', {\n line: now.line,\n column: now.column + 10\n });\n }\n\n if (!tooltipText) {\n this.file.info('No tooltip text found', {\n line: now.line,\n column: now.column + 12 + tooltipAnchor.length\n });\n }\n\n if (!tooltipText || !tooltipAnchor) return false;\n\n if (silent) {\n return true;\n }\n\n now.column += 10;\n now.offset += 10;\n\n const children = this.tokenizeInline(tooltipAnchor, now);\n\n return eat(`!{tooltip[${tooltipAnchor}](${tooltipText})}`)({\n type: 'component',\n componentName: EuiMarkdownFormatMarkdownTooltip,\n tooltipText: tooltipText,\n children\n } as TooltipNodeDetails);\n };\n\n tokenizeTooltip.notInLink = true;\n\n tokenizeTooltip.locator = (value, fromIndex) => {\n return value.indexOf('!{tooltip', fromIndex);\n };\n\n tokenizers.tooltip = tokenizeTooltip;\n methods.splice(methods.indexOf('text'), 0, 'tooltip');\n};\n"],"names":["TooltipParser","Parser","tokenizers","prototype","inlineTokenizers","methods","inlineMethods","tokenizeTooltip","eat","value","silent","startsWith","nextChar","index","readArg","open","close","body","openBrackets","length","char","tooltipAnchor","tooltipText","now","file","info","line","column","offset","children","tokenizeInline","type","componentName","EuiMarkdownFormatMarkdownTooltip","notInLink","locator","fromIndex","indexOf","tooltip","splice"],"mappings":";;MAUaA,aAAqB,GAAG,SAASA,aAAaA,GAAG;AAC5D,EAAA,MAAMC,MAAM,GAAG,IAAI,CAACA,MAAM
|
|
1
|
+
{"version":3,"file":"parser.js","sources":["../../../../../src/utils/markdown/plugins/markdown-tooltip/parser.ts"],"sourcesContent":["import EuiMarkdownFormatMarkdownTooltip from '../../../../components/eui-markdown-format/markdown-tooltip.gts';\n\nimport type { RemarkTokenizer } from '../../markdown-types';\nimport type { Plugin } from 'unified';\n\ninterface TooltipNodeDetails {\n type: 'component';\n tooltipText: string;\n}\n\nexport const TooltipParser: Plugin = function TooltipParser() {\n const Parser = this.Parser;\n const tokenizers = Parser.prototype.inlineTokenizers;\n const methods = Parser.prototype.inlineMethods;\n\n const tokenizeTooltip: RemarkTokenizer = function tokenizeTooltip(\n eat,\n value,\n silent\n ) {\n if (value.startsWith('!{tooltip') === false) return false;\n\n const nextChar = value[9];\n\n if (nextChar !== '[') return false; // this isn't actually a tooltip\n\n let index = 9;\n\n function readArg(open: string, close: string) {\n if (value[index] !== open) throw 'Expected left bracket';\n index++;\n\n let body = '';\n let openBrackets = 0;\n\n for (; index < value.length; index++) {\n const char = value[index];\n\n if (char === close && openBrackets === 0) {\n index++;\n\n return body;\n } else if (char === close) {\n openBrackets--;\n } else if (char === open) {\n openBrackets++;\n }\n\n body += char;\n }\n\n return '';\n }\n\n const tooltipAnchor = readArg('[', ']');\n const tooltipText = readArg('(', ')');\n\n const now = eat.now();\n\n if (!tooltipAnchor) {\n this.file.info('No tooltip anchor found', {\n line: now.line,\n column: now.column + 10\n });\n }\n\n if (!tooltipText) {\n this.file.info('No tooltip text found', {\n line: now.line,\n column: now.column + 12 + tooltipAnchor.length\n });\n }\n\n if (!tooltipText || !tooltipAnchor) return false;\n\n if (silent) {\n return true;\n }\n\n now.column += 10;\n now.offset += 10;\n\n const children = this.tokenizeInline(tooltipAnchor, now);\n\n return eat(`!{tooltip[${tooltipAnchor}](${tooltipText})}`)({\n type: 'component',\n componentName: EuiMarkdownFormatMarkdownTooltip,\n tooltipText: tooltipText,\n children\n } as TooltipNodeDetails);\n };\n\n tokenizeTooltip.notInLink = true;\n\n tokenizeTooltip.locator = (value, fromIndex) => {\n return value.indexOf('!{tooltip', fromIndex);\n };\n\n tokenizers.tooltip = tokenizeTooltip;\n methods.splice(methods.indexOf('text'), 0, 'tooltip');\n};\n"],"names":["TooltipParser","Parser","tokenizers","prototype","inlineTokenizers","methods","inlineMethods","tokenizeTooltip","eat","value","silent","startsWith","nextChar","index","readArg","open","close","body","openBrackets","length","char","tooltipAnchor","tooltipText","now","file","info","line","column","offset","children","tokenizeInline","type","componentName","EuiMarkdownFormatMarkdownTooltip","notInLink","locator","fromIndex","indexOf","tooltip","splice"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["../../../../../src/utils/markdown/plugins/markdown-tooltip/plugin.ts"],"sourcesContent":["export const tooltipPlugin = {\n name: 'tooltipPlugin',\n button: {\n label: 'Tooltip',\n iconType: 'editorComment'\n },\n formatting: {\n prefix: '!{tooltip[',\n suffix: ']()}',\n trimFirst: true\n },\n helpText: `\n \\`\\`\\`md\n !{tooltip[anchor text](helpful description)}\n \\`\\`\\`\n `\n};\n"],"names":["tooltipPlugin","name","button","label","iconType","formatting","prefix","suffix","trimFirst","helpText"],"mappings":"AAAO,MAAMA,aAAa,GAAG;AAC3BC,EAAAA,IAAI,EAAE,eAAe;AACrBC,EAAAA,MAAM,EAAE;AACNC,IAAAA,KAAK,EAAE,SAAS;AAChBC,IAAAA,QAAQ,EAAE
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["../../../../../src/utils/markdown/plugins/markdown-tooltip/plugin.ts"],"sourcesContent":["export const tooltipPlugin = {\n name: 'tooltipPlugin',\n button: {\n label: 'Tooltip',\n iconType: 'editorComment'\n },\n formatting: {\n prefix: '!{tooltip[',\n suffix: ']()}',\n trimFirst: true\n },\n helpText: `\n \\`\\`\\`md\n !{tooltip[anchor text](helpful description)}\n \\`\\`\\`\n `\n};\n"],"names":["tooltipPlugin","name","button","label","iconType","formatting","prefix","suffix","trimFirst","helpText"],"mappings":"AAAO,MAAMA,aAAa,GAAG;AAC3BC,EAAAA,IAAI,EAAE,eAAe;AACrBC,EAAAA,MAAM,EAAE;AACNC,IAAAA,KAAK,EAAE,SAAS;AAChBC,IAAAA,QAAQ,EAAE;GACX;AACDC,EAAAA,UAAU,EAAE;AACVC,IAAAA,MAAM,EAAE,YAAY;AACpBC,IAAAA,MAAM,EAAE,MAAM;AACdC,IAAAA,SAAS,EAAE;GACZ;AACDC,EAAAA,QAAQ,EAAE;AACZ;AACA;AACA;AACA,EAAA;AACA;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to-dom.js","sources":["../../../../src/utils/markdown/plugins/to-dom.ts"],"sourcesContent":["/*\nThis util was extracted from https://github.com/ampatspell/ember-cli-remark-static/blob/v3.0.5/addon/util/to-dom.js\n*/\n\nimport { assert } from '@ember/debug';\n\nimport type { Replacer } from '../../../components/eui-markdown-format';\nimport type { RehypeNode } from '../markdown-types';\nimport type { ComponentLike } from '@glint/template';\n\nconst attributes = ['src', 'alt', 'href', 'target', 'title'];\n\nconst createDocument = () => {\n return document;\n};\n\nexport interface DynamicComponent {\n element: HTMLElement;\n content: Node;\n componentName?: ComponentLike<{\n Args: {\n node: DynamicComponent;\n replaceNode?: Replacer;\n };\n }>;\n}\n\nexport const toDOM = (\n tree: RehypeNode,\n options?: {\n rootClasses?: string[];\n }\n) => {\n let document = createDocument();\n let components: DynamicComponent[] = [];\n\n const toElements = (parent: Node, nodes: RehypeNode[] = []) => {\n nodes?.forEach((node) => {\n let el = toElement(node);\n\n if (el) {\n parent.appendChild(el);\n }\n });\n\n return parent;\n };\n\n const createElement = (\n name: string,\n node: RehypeNode,\n classesToAdd?: string[] | string\n ) => {\n let element = document.createElement(name);\n let properties = node.properties;\n let finalClassNames = [];\n\n if (properties) {\n if (properties['className']) {\n finalClassNames.push(...(properties['className'] as string[]));\n }\n\n for (let key in properties) {\n if (attributes.includes(key)) {\n let value = properties[key];\n\n element.setAttribute(key, value as string);\n } else {\n // temporary\n if (key !== 'className') {\n console.warn('Unmapped node property', key);\n }\n }\n }\n }\n\n if (classesToAdd) {\n if (Array.isArray(classesToAdd)) {\n finalClassNames.push(...classesToAdd);\n } else {\n finalClassNames.push(classesToAdd);\n }\n }\n\n element.classList.add(...finalClassNames);\n\n return element;\n };\n\n const toElement = (node: RehypeNode) => {\n if (node) {\n let { type } = node;\n\n if (type === 'root') {\n let element = createElement(\n 'div',\n node,\n options?.rootClasses || ['root']\n );\n\n return toElements(element, node.children);\n } else if (type === 'element') {\n let element = createElement(node.tagName, node);\n\n return toElements(element, node.children);\n } else if (type === 'text') {\n return document.createTextNode(node.value);\n } else if (type === 'component') {\n let { inline } = node.properties;\n let element = createElement(inline ? 'span' : 'div', node, [\n 'component'\n ]);\n let { _children, ...properties } = node.properties;\n let content = toElements(document.createElement('span'), node.children);\n\n components.push({\n element,\n content,\n ...properties\n });\n\n return element;\n } else if (type === 'raw') {\n return document.createTextNode(node.value);\n }\n\n assert(`Unsupported node '${type}'`, false);\n }\n\n return;\n };\n\n let element = toElement(tree);\n\n return {\n element,\n components\n };\n};\n"],"names":["attributes","createDocument","document","toDOM","tree","options","components","toElements","parent","nodes","forEach","node","el","toElement","appendChild","createElement","name","classesToAdd","element","properties","finalClassNames","push","key","includes","value","setAttribute","console","warn","Array","isArray","classList","add","type","rootClasses","children","tagName","createTextNode","inline","_children","content","assert"],"mappings":";;AAAA;AACA;AACA;;AAQA,MAAMA,UAAU,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC
|
|
1
|
+
{"version":3,"file":"to-dom.js","sources":["../../../../src/utils/markdown/plugins/to-dom.ts"],"sourcesContent":["/*\nThis util was extracted from https://github.com/ampatspell/ember-cli-remark-static/blob/v3.0.5/addon/util/to-dom.js\n*/\n\nimport { assert } from '@ember/debug';\n\nimport type { Replacer } from '../../../components/eui-markdown-format';\nimport type { RehypeNode } from '../markdown-types';\nimport type { ComponentLike } from '@glint/template';\n\nconst attributes = ['src', 'alt', 'href', 'target', 'title'];\n\nconst createDocument = () => {\n return document;\n};\n\nexport interface DynamicComponent {\n element: HTMLElement;\n content: Node;\n componentName?: ComponentLike<{\n Args: {\n node: DynamicComponent;\n replaceNode?: Replacer;\n };\n }>;\n}\n\nexport const toDOM = (\n tree: RehypeNode,\n options?: {\n rootClasses?: string[];\n }\n) => {\n let document = createDocument();\n let components: DynamicComponent[] = [];\n\n const toElements = (parent: Node, nodes: RehypeNode[] = []) => {\n nodes?.forEach((node) => {\n let el = toElement(node);\n\n if (el) {\n parent.appendChild(el);\n }\n });\n\n return parent;\n };\n\n const createElement = (\n name: string,\n node: RehypeNode,\n classesToAdd?: string[] | string\n ) => {\n let element = document.createElement(name);\n let properties = node.properties;\n let finalClassNames = [];\n\n if (properties) {\n if (properties['className']) {\n finalClassNames.push(...(properties['className'] as string[]));\n }\n\n for (let key in properties) {\n if (attributes.includes(key)) {\n let value = properties[key];\n\n element.setAttribute(key, value as string);\n } else {\n // temporary\n if (key !== 'className') {\n console.warn('Unmapped node property', key);\n }\n }\n }\n }\n\n if (classesToAdd) {\n if (Array.isArray(classesToAdd)) {\n finalClassNames.push(...classesToAdd);\n } else {\n finalClassNames.push(classesToAdd);\n }\n }\n\n element.classList.add(...finalClassNames);\n\n return element;\n };\n\n const toElement = (node: RehypeNode) => {\n if (node) {\n let { type } = node;\n\n if (type === 'root') {\n let element = createElement(\n 'div',\n node,\n options?.rootClasses || ['root']\n );\n\n return toElements(element, node.children);\n } else if (type === 'element') {\n let element = createElement(node.tagName, node);\n\n return toElements(element, node.children);\n } else if (type === 'text') {\n return document.createTextNode(node.value);\n } else if (type === 'component') {\n let { inline } = node.properties;\n let element = createElement(inline ? 'span' : 'div', node, [\n 'component'\n ]);\n let { _children, ...properties } = node.properties;\n let content = toElements(document.createElement('span'), node.children);\n\n components.push({\n element,\n content,\n ...properties\n });\n\n return element;\n } else if (type === 'raw') {\n return document.createTextNode(node.value);\n }\n\n assert(`Unsupported node '${type}'`, false);\n }\n\n return;\n };\n\n let element = toElement(tree);\n\n return {\n element,\n components\n };\n};\n"],"names":["attributes","createDocument","document","toDOM","tree","options","components","toElements","parent","nodes","forEach","node","el","toElement","appendChild","createElement","name","classesToAdd","element","properties","finalClassNames","push","key","includes","value","setAttribute","console","warn","Array","isArray","classList","add","type","rootClasses","children","tagName","createTextNode","inline","_children","content","assert"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remark-prismjs.js","sources":["../../../../src/utils/markdown/remark/remark-prismjs.ts"],"sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0 and the Server Side Public License, v 1; you may not use this file except\n * in compliance with, at your election, the Elastic License 2.0 or the Server\n * Side Public License, v 1.\n */\n\nimport refractor from 'refractor';\nimport visit from 'unist-util-visit';\n\nimport { checkSupportedLanguage } from '../../code/utils.ts';\n\nimport type { Plugin } from 'unified';\n\nexport const FENCED_CLASS = 'remark-prismjs--fenced';\n\nconst attacher: Plugin = () => {\n return (ast) => visit(ast, 'code', visitor);\n\n function visitor(node: any) {\n const { data = {}, lang: language } = node;\n\n if (!language) {\n return;\n }\n\n const actualLanguage = checkSupportedLanguage(language);\n\n node.data = data;\n data.hChildren = refractor.highlight(node.value, actualLanguage);\n data.hProperties = {\n ...data.hProperties,\n language,\n className: [\n 'prismjs',\n ...(data.hProperties?.className || []),\n `language-${language}`,\n FENCED_CLASS\n ]\n };\n }\n};\n\nexport default attacher;\n"],"names":["FENCED_CLASS","attacher","ast","visit","visitor","node","data","lang","language","actualLanguage","checkSupportedLanguage","hChildren","refractor","highlight","value","hProperties","className"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AASO,MAAMA,YAAY,GAAG
|
|
1
|
+
{"version":3,"file":"remark-prismjs.js","sources":["../../../../src/utils/markdown/remark/remark-prismjs.ts"],"sourcesContent":["/*\n * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one\n * or more contributor license agreements. Licensed under the Elastic License\n * 2.0 and the Server Side Public License, v 1; you may not use this file except\n * in compliance with, at your election, the Elastic License 2.0 or the Server\n * Side Public License, v 1.\n */\n\nimport refractor from 'refractor';\nimport visit from 'unist-util-visit';\n\nimport { checkSupportedLanguage } from '../../code/utils.ts';\n\nimport type { Plugin } from 'unified';\n\nexport const FENCED_CLASS = 'remark-prismjs--fenced';\n\nconst attacher: Plugin = () => {\n return (ast) => visit(ast, 'code', visitor);\n\n function visitor(node: any) {\n const { data = {}, lang: language } = node;\n\n if (!language) {\n return;\n }\n\n const actualLanguage = checkSupportedLanguage(language);\n\n node.data = data;\n data.hChildren = refractor.highlight(node.value, actualLanguage);\n data.hProperties = {\n ...data.hProperties,\n language,\n className: [\n 'prismjs',\n ...(data.hProperties?.className || []),\n `language-${language}`,\n FENCED_CLASS\n ]\n };\n }\n};\n\nexport default attacher;\n"],"names":["FENCED_CLASS","attacher","ast","visit","visitor","node","data","lang","language","actualLanguage","checkSupportedLanguage","hChildren","refractor","highlight","value","hProperties","className"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AASO,MAAMA,YAAY,GAAG;AAEtBC,MAAAA,QAAgB,GAAGA,MAAM;EAC7B,OAAQC,GAAG,IAAKC,KAAK,CAACD,GAAG,EAAE,MAAM,EAAEE,OAAO,CAAC;EAE3C,SAASA,OAAOA,CAACC,IAAS,EAAE;IAC1B,MAAM;MAAEC,IAAI,GAAG,EAAE;AAAEC,MAAAA,IAAI,EAAEC;AAAS,KAAC,GAAGH,IAAI;IAE1C,IAAI,CAACG,QAAQ,EAAE;AACb,MAAA;AACF;AAEA,IAAA,MAAMC,cAAc,GAAGC,sBAAsB,CAACF,QAAQ,CAAC;IAEvDH,IAAI,CAACC,IAAI,GAAGA,IAAI;AAChBA,IAAAA,IAAI,CAACK,SAAS,GAAGC,SAAS,CAACC,SAAS,CAACR,IAAI,CAACS,KAAK,EAAEL,cAAc,CAAC;IAChEH,IAAI,CAACS,WAAW,GAAG;MACjB,GAAGT,IAAI,CAACS,WAAW;MACnBP,QAAQ;AACRQ,MAAAA,SAAS,EAAE,CACT,SAAS,EACT,IAAIV,IAAI,CAACS,WAAW,EAAEC,SAAS,IAAI,EAAE,CAAC,EACtC,YAAYR,QAAQ,CAAA,CAAE,EACtBR,YAAY;KAEf;AACH;AACF;;;;"}
|