@atlaskit/editor-plugin-media
Version:
Media plugin for @atlaskit/editor-core
34 lines (33 loc) • 1.88 kB
TypeScript
import React from 'react';
import type { WrappedComponentProps } from 'react-intl-next';
import type { EventDispatcher } from '@atlaskit/editor-common/event-dispatcher';
import type { PortalProviderAPI } from '@atlaskit/editor-common/portal-provider';
import type { ContextIdentifierProvider, MediaProvider, ProviderFactory } from '@atlaskit/editor-common/provider-factory';
import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
import type { EditorView, NodeView } from '@atlaskit/editor-prosemirror/view';
import type { MediaClientConfig } from '@atlaskit/media-core';
import type { MediaNextEditorPluginType } from '../next-plugin-type';
import type { getPosHandler, MediaOptions } from '../types';
export type MediaGroupProps = {
forwardRef?: (ref: HTMLElement) => void;
node: PMNode;
view: EditorView;
getPos: () => number | undefined;
disabled?: boolean;
allowLazyLoading?: boolean;
mediaProvider: Promise<MediaProvider>;
contextIdentifierProvider?: Promise<ContextIdentifierProvider>;
isCopyPasteEnabled?: boolean;
anchorPos: number;
headPos: number;
mediaOptions: MediaOptions;
} & WrappedComponentProps;
export interface MediaGroupState {
viewMediaClientConfig?: MediaClientConfig;
}
declare const IntlMediaGroup: React.FC<import("react-intl-next").WithIntlProps<MediaGroupProps>> & {
WrappedComponent: React.ComponentType<MediaGroupProps>;
};
export default IntlMediaGroup;
export declare const ReactMediaGroupNode: (portalProviderAPI: PortalProviderAPI, eventDispatcher: EventDispatcher, providerFactory: ProviderFactory, mediaOptions: MediaOptions | undefined, pluginInjectionApi: ExtractInjectionAPI<MediaNextEditorPluginType> | undefined) => (node: PMNode, view: EditorView, getPos: getPosHandler) => NodeView;