diff --git a/src/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.ts b/src/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.ts index 3fcf8d80a6f..8a3df7a6b06 100644 --- a/src/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.ts +++ b/src/components/markdown_editor/plugins/markdown_default_plugins/parsing_plugins.ts @@ -29,9 +29,11 @@ import * as MarkdownTooltip from '../markdown_tooltip'; import * as MarkdownCheckbox from '../markdown_checkbox'; import { markdownLinkValidator } from '../markdown_link_validator'; +export type DefaultEuiMarkdownParsingPlugins = PluggableList; + export const getDefaultEuiMarkdownParsingPlugins = ({ exclude, -}: { exclude?: Array<'tooltip'> } = {}): PluggableList => { +}: { exclude?: Array<'tooltip'> } = {}): DefaultEuiMarkdownParsingPlugins => { const excludeSet = new Set(exclude); const parsingPlugins: PluggableList = [ [markdown, {}], diff --git a/src/components/markdown_editor/plugins/markdown_default_plugins/plugins.ts b/src/components/markdown_editor/plugins/markdown_default_plugins/plugins.ts index 957afff2d6d..77c658f14c2 100644 --- a/src/components/markdown_editor/plugins/markdown_default_plugins/plugins.ts +++ b/src/components/markdown_editor/plugins/markdown_default_plugins/plugins.ts @@ -6,13 +6,26 @@ * Side Public License, v 1. */ -import { getDefaultEuiMarkdownUiPlugins } from './ui_plugins'; -import { getDefaultEuiMarkdownParsingPlugins } from './parsing_plugins'; -import { getDefaultEuiMarkdownProcessingPlugins } from './processing_plugins'; +import { + getDefaultEuiMarkdownUiPlugins, + DefaultEuiMarkdownUiPlugins, +} from './ui_plugins'; +import { + getDefaultEuiMarkdownParsingPlugins, + DefaultEuiMarkdownParsingPlugins, +} from './parsing_plugins'; +import { + getDefaultEuiMarkdownProcessingPlugins, + DefaultEuiMarkdownProcessingPlugins, +} from './processing_plugins'; export const getDefaultEuiMarkdownPlugins = ( config: undefined | { exclude?: Array<'tooltip'> } -) => ({ +): { + parsingPlugins: DefaultEuiMarkdownParsingPlugins; + processingPlugins: DefaultEuiMarkdownProcessingPlugins; + uiPlugins: DefaultEuiMarkdownUiPlugins; +} => ({ parsingPlugins: getDefaultEuiMarkdownParsingPlugins(config), processingPlugins: getDefaultEuiMarkdownProcessingPlugins(config), uiPlugins: getDefaultEuiMarkdownUiPlugins(config), diff --git a/src/components/markdown_editor/plugins/markdown_default_plugins/processing_plugins.tsx b/src/components/markdown_editor/plugins/markdown_default_plugins/processing_plugins.tsx index fa53ec8ce32..98b6df133f9 100644 --- a/src/components/markdown_editor/plugins/markdown_default_plugins/processing_plugins.tsx +++ b/src/components/markdown_editor/plugins/markdown_default_plugins/processing_plugins.tsx @@ -44,16 +44,18 @@ export interface Rehype2ReactOptions { [key: string]: any; } +export type DefaultEuiMarkdownProcessingPlugins = [ + [Plugin, Remark2RehypeOptions], // first is well known + [typeof rehype2react, Rehype2ReactOptions], // second is well known + ...PluggableList // any additional are generic +]; + export const getDefaultEuiMarkdownProcessingPlugins = ({ exclude, }: { exclude?: Array<'tooltip'> } = {}) => { const excludeSet = new Set(exclude); - const plugins: [ - [Plugin, Remark2RehypeOptions], // first is well known - [typeof rehype2react, Rehype2ReactOptions], // second is well known - ...PluggableList // any additional are generic - ] = [ + const plugins: DefaultEuiMarkdownProcessingPlugins = [ [ remark2rehype, { diff --git a/src/components/markdown_editor/plugins/markdown_default_plugins/ui_plugins.ts b/src/components/markdown_editor/plugins/markdown_default_plugins/ui_plugins.ts index 7e5c0e548da..0b885654aff 100644 --- a/src/components/markdown_editor/plugins/markdown_default_plugins/ui_plugins.ts +++ b/src/components/markdown_editor/plugins/markdown_default_plugins/ui_plugins.ts @@ -9,9 +9,11 @@ import * as MarkdownTooltip from '../markdown_tooltip'; import { EuiMarkdownEditorUiPlugin } from './../../markdown_types'; +export type DefaultEuiMarkdownUiPlugins = EuiMarkdownEditorUiPlugin[]; + export const getDefaultEuiMarkdownUiPlugins = ({ exclude, -}: { exclude?: Array<'tooltip'> } = {}): EuiMarkdownEditorUiPlugin[] => { +}: { exclude?: Array<'tooltip'> } = {}): DefaultEuiMarkdownUiPlugins => { const excludeSet = new Set(exclude); const uiPlugins = [];