@atlaskit/editor-plugin-media 2.7.0 → 2.7.2

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.
Files changed (59) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/cjs/mediaPlugin.js +21 -6
  3. package/dist/cjs/nodeviews/mediaGroup.js +21 -6
  4. package/dist/cjs/nodeviews/mediaInline.js +55 -13
  5. package/dist/cjs/nodeviews/mediaNodeView/index.js +11 -3
  6. package/dist/cjs/nodeviews/mediaSingle.js +87 -48
  7. package/dist/cjs/nodeviews/mediaSingleNext.js +5 -4
  8. package/dist/cjs/pm-plugins/utils/media-files.js +64 -6
  9. package/dist/cjs/ui/CommentBadge/index.js +44 -14
  10. package/dist/cjs/ui/ImageBorder/styles.js +1 -2
  11. package/dist/cjs/ui/MediaPicker/index.js +15 -3
  12. package/dist/cjs/ui/MediaViewer/MediaViewerContainer.js +3 -3
  13. package/dist/cjs/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +2 -1
  14. package/dist/cjs/ui/ToolbarMedia/index.js +17 -5
  15. package/dist/cjs/ui/hooks/useMediaProvider.js +11 -3
  16. package/dist/cjs/ui/toolbar/utils.js +6 -4
  17. package/dist/es2019/mediaPlugin.js +21 -6
  18. package/dist/es2019/nodeviews/mediaGroup.js +21 -6
  19. package/dist/es2019/nodeviews/mediaInline.js +54 -12
  20. package/dist/es2019/nodeviews/mediaNodeView/index.js +11 -3
  21. package/dist/es2019/nodeviews/mediaSingle.js +59 -24
  22. package/dist/es2019/nodeviews/mediaSingleNext.js +5 -4
  23. package/dist/es2019/pm-plugins/utils/media-files.js +63 -5
  24. package/dist/es2019/ui/CommentBadge/index.js +40 -10
  25. package/dist/es2019/ui/ImageBorder/styles.js +1 -2
  26. package/dist/es2019/ui/MediaPicker/index.js +15 -3
  27. package/dist/es2019/ui/MediaViewer/MediaViewerContainer.js +4 -4
  28. package/dist/es2019/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +2 -1
  29. package/dist/es2019/ui/ToolbarMedia/index.js +17 -5
  30. package/dist/es2019/ui/hooks/useMediaProvider.js +11 -3
  31. package/dist/es2019/ui/toolbar/utils.js +5 -3
  32. package/dist/esm/mediaPlugin.js +21 -6
  33. package/dist/esm/nodeviews/mediaGroup.js +21 -6
  34. package/dist/esm/nodeviews/mediaInline.js +55 -13
  35. package/dist/esm/nodeviews/mediaNodeView/index.js +11 -3
  36. package/dist/esm/nodeviews/mediaSingle.js +87 -48
  37. package/dist/esm/nodeviews/mediaSingleNext.js +5 -4
  38. package/dist/esm/pm-plugins/utils/media-files.js +63 -5
  39. package/dist/esm/ui/CommentBadge/index.js +44 -14
  40. package/dist/esm/ui/ImageBorder/styles.js +1 -2
  41. package/dist/esm/ui/MediaPicker/index.js +15 -3
  42. package/dist/esm/ui/MediaViewer/MediaViewerContainer.js +4 -4
  43. package/dist/esm/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +2 -1
  44. package/dist/esm/ui/ToolbarMedia/index.js +17 -5
  45. package/dist/esm/ui/hooks/useMediaProvider.js +11 -3
  46. package/dist/esm/ui/toolbar/utils.js +5 -3
  47. package/dist/types/nodeviews/mediaInline.d.ts +7 -2
  48. package/dist/types/nodeviews/mediaSingleNext.d.ts +3 -4
  49. package/dist/types/nodeviews/types.d.ts +3 -4
  50. package/dist/types/pm-plugins/utils/media-files.d.ts +3 -2
  51. package/dist/types/ui/MediaViewer/MediaViewerContainer.d.ts +4 -3
  52. package/dist/types/ui/toolbar/utils.d.ts +1 -0
  53. package/dist/types-ts4.5/nodeviews/mediaInline.d.ts +7 -2
  54. package/dist/types-ts4.5/nodeviews/mediaSingleNext.d.ts +3 -4
  55. package/dist/types-ts4.5/nodeviews/types.d.ts +3 -4
  56. package/dist/types-ts4.5/pm-plugins/utils/media-files.d.ts +3 -2
  57. package/dist/types-ts4.5/ui/MediaViewer/MediaViewerContainer.d.ts +4 -3
  58. package/dist/types-ts4.5/ui/toolbar/utils.d.ts +1 -0
  59. package/package.json +10 -4
@@ -3,10 +3,12 @@ import { injectIntl } from 'react-intl-next';
3
3
  import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
4
4
  import { toolbarMediaMessages } from '@atlaskit/editor-common/media';
5
5
  import { TOOLBAR_BUTTON, ToolbarButton } from '@atlaskit/editor-common/ui-menu';
6
+ import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
6
7
  import AttachmentIcon from '@atlaskit/icon/core/migration/attachment--editor-attachment';
7
- var onClickMediaButton = function onClickMediaButton(pluginState) {
8
+ import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
9
+ var onClickMediaButton = function onClickMediaButton(showMediaPicker) {
8
10
  return function () {
9
- pluginState.showMediaPicker();
11
+ showMediaPicker();
10
12
  return true;
11
13
  };
12
14
  };
@@ -15,15 +17,25 @@ var ToolbarMedia = function ToolbarMedia(_ref) {
15
17
  isReducedSpacing = _ref.isReducedSpacing,
16
18
  intl = _ref.intl,
17
19
  api = _ref.api;
18
- var _useSharedPluginState = useSharedPluginState(api, ['media']),
20
+ var _useSharedPluginState = useSharedPluginState(api, ['media'], {
21
+ disabled: editorExperiment('platform_editor_usesharedpluginstateselector', true)
22
+ }),
19
23
  mediaState = _useSharedPluginState.mediaState;
20
- if (!(mediaState !== null && mediaState !== void 0 && mediaState.allowsUploads)) {
24
+ var allowsUploadsSelector = useSharedPluginStateSelector(api, 'media.allowsUploads', {
25
+ disabled: editorExperiment('platform_editor_usesharedpluginstateselector', false)
26
+ });
27
+ var showMediaPickerSelector = useSharedPluginStateSelector(api, 'media.showMediaPicker', {
28
+ disabled: editorExperiment('platform_editor_usesharedpluginstateselector', false)
29
+ });
30
+ var allowsUploads = editorExperiment('platform_editor_usesharedpluginstateselector', true) ? allowsUploadsSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.allowsUploads;
31
+ var showMediaPicker = editorExperiment('platform_editor_usesharedpluginstateselector', true) ? showMediaPickerSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.showMediaPicker;
32
+ if (!allowsUploads || !showMediaPicker) {
21
33
  return null;
22
34
  }
23
35
  var toolbarMediaTitle = toolbarMediaMessages.toolbarMediaTitle;
24
36
  return /*#__PURE__*/React.createElement(ToolbarButton, {
25
37
  buttonId: TOOLBAR_BUTTON.MEDIA,
26
- onClick: onClickMediaButton(mediaState),
38
+ onClick: onClickMediaButton(showMediaPicker),
27
39
  disabled: isDisabled,
28
40
  title: intl.formatMessage(toolbarMediaTitle),
29
41
  spacing: isReducedSpacing ? 'none' : 'default',
@@ -1,10 +1,18 @@
1
1
  import { useMemo } from 'react';
2
2
  import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
3
+ import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
4
+ import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
3
5
  export var useMediaProvider = function useMediaProvider(pluginInjectionApi) {
4
- var _useSharedPluginState = useSharedPluginState(pluginInjectionApi, ['media']),
6
+ var _useSharedPluginState = useSharedPluginState(pluginInjectionApi, ['media'], {
7
+ disabled: editorExperiment('platform_editor_usesharedpluginstateselector', true)
8
+ }),
5
9
  mediaState = _useSharedPluginState.mediaState;
10
+ var mediaProviderSelector = useSharedPluginStateSelector(pluginInjectionApi, 'media.mediaProvider', {
11
+ disabled: editorExperiment('platform_editor_usesharedpluginstateselector', false)
12
+ });
13
+ var mediaProvider = editorExperiment('platform_editor_usesharedpluginstateselector', true) ? mediaProviderSelector : mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider;
6
14
  var provider = useMemo(function () {
7
- return mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider;
8
- }, [mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider]);
15
+ return mediaProvider;
16
+ }, [mediaProvider]);
9
17
  return provider;
10
18
  };
@@ -18,9 +18,8 @@ var getSelectedMediaContainerNodeAttrs = function getSelectedMediaContainerNodeA
18
18
  }
19
19
  return null;
20
20
  };
21
- export var getSelectedNearestMediaContainerNodeAttrs = function getSelectedNearestMediaContainerNodeAttrs(mediaPluginState) {
22
- var _mediaPluginState$sel2;
23
- var selectedNode = (_mediaPluginState$sel2 = mediaPluginState.selectedMediaContainerNode) === null || _mediaPluginState$sel2 === void 0 ? void 0 : _mediaPluginState$sel2.call(mediaPluginState);
21
+ export var getSelectedNearestMediaContainerNodeAttrsFunction = function getSelectedNearestMediaContainerNodeAttrsFunction(selectedMediaContainerNode) {
22
+ var selectedNode = selectedMediaContainerNode === null || selectedMediaContainerNode === void 0 ? void 0 : selectedMediaContainerNode();
24
23
  if (selectedNode) {
25
24
  switch (selectedNode.type.name) {
26
25
  case 'mediaSingle':
@@ -34,6 +33,9 @@ export var getSelectedNearestMediaContainerNodeAttrs = function getSelectedNeare
34
33
  }
35
34
  return null;
36
35
  };
36
+ export var getSelectedNearestMediaContainerNodeAttrs = function getSelectedNearestMediaContainerNodeAttrs(mediaPluginState) {
37
+ return getSelectedNearestMediaContainerNodeAttrsFunction(mediaPluginState.selectedMediaContainerNode);
38
+ };
37
39
  export var downloadMedia = /*#__PURE__*/function () {
38
40
  var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(mediaPluginState, isViewMode) {
39
41
  var selectedNodeAttrs, id, _selectedNodeAttrs$co, collection, mediaClient, fileState, fileName;
@@ -8,8 +8,8 @@ import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
8
8
  import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
9
9
  import type { EditorView, NodeView } from '@atlaskit/editor-prosemirror/view';
10
10
  import type { FileIdentifier } from '@atlaskit/media-client';
11
+ import type { MediaClientConfig } from '@atlaskit/media-core/auth';
11
12
  import type { MediaNextEditorPluginType } from '../mediaPluginType';
12
- import type { MediaPluginState } from '../pm-plugins/types';
13
13
  import type { getPosHandler, getPosHandler as ProsemirrorGetPosHandler } from '../types';
14
14
  export interface MediaInlineProps {
15
15
  mediaProvider: Promise<MediaProvider>;
@@ -20,7 +20,12 @@ export interface MediaInlineProps {
20
20
  getPos: ProsemirrorGetPosHandler;
21
21
  dispatchAnalyticsEvent?: DispatchAnalyticsEvent;
22
22
  contextIdentifierProvider?: Promise<ContextIdentifierProvider>;
23
- mediaPluginState: MediaPluginState;
23
+ handleMediaNodeMount: (node: PMNode, getPos: ProsemirrorGetPosHandler) => void;
24
+ handleMediaNodeUnmount: (node: PMNode) => void;
25
+ allowInlineImages?: boolean;
26
+ addPendingTask: (promise: Promise<any>) => void;
27
+ selectedMediaContainerNode: () => PMNode | undefined;
28
+ mediaClientConfig: MediaClientConfig;
24
29
  editorViewMode?: boolean;
25
30
  }
26
31
  export declare const handleNewNode: (props: MediaInlineProps) => void;
@@ -3,11 +3,9 @@ import type { DispatchAnalyticsEvent } from '@atlaskit/editor-common/analytics';
3
3
  import type { EventDispatcher } from '@atlaskit/editor-common/event-dispatcher';
4
4
  import type { ContextIdentifierProvider, MediaProvider } from '@atlaskit/editor-common/provider-factory';
5
5
  import type { EditorAppearance, ExtractInjectionAPI } from '@atlaskit/editor-common/types';
6
- import type { InlineCommentPluginState } from '@atlaskit/editor-plugin-annotation';
7
6
  import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
8
7
  import type { EditorView } from '@atlaskit/editor-prosemirror/view';
9
8
  import type { MediaNextEditorPluginType } from '../mediaPluginType';
10
- import type { MediaPluginState } from '../pm-plugins/types';
11
9
  import type { ForwardRef, MediaOptions } from '../types';
12
10
  type MediaSingleNodeNextProps = {
13
11
  view: EditorView;
@@ -21,8 +19,9 @@ type MediaSingleNodeNextProps = {
21
19
  mediaProvider?: Promise<MediaProvider>;
22
20
  contextIdentifierProvider?: Promise<ContextIdentifierProvider>;
23
21
  fullWidthMode?: boolean;
24
- mediaPluginState: MediaPluginState | undefined;
25
- annotationPluginState: InlineCommentPluginState | undefined;
22
+ addPendingTask?: (promise: Promise<any>) => void;
23
+ isDrafting?: boolean;
24
+ targetNodeId?: string;
26
25
  dispatchAnalyticsEvent: DispatchAnalyticsEvent;
27
26
  isCopyPasteEnabled?: boolean;
28
27
  forwardRef: ForwardRef;
@@ -2,11 +2,9 @@ import type { DispatchAnalyticsEvent } from '@atlaskit/editor-common/analytics';
2
2
  import type { EventDispatcher } from '@atlaskit/editor-common/event-dispatcher';
3
3
  import type { ContextIdentifierProvider, MediaProvider, ProviderFactory } from '@atlaskit/editor-common/provider-factory';
4
4
  import type { EditorAppearance, ExtractInjectionAPI } from '@atlaskit/editor-common/types';
5
- import type { InlineCommentPluginState } from '@atlaskit/editor-plugin-annotation';
6
5
  import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
7
6
  import type { EditorView } from '@atlaskit/editor-prosemirror/view';
8
7
  import type { MediaNextEditorPluginType } from '../mediaPluginType';
9
- import type { MediaPluginState } from '../pm-plugins/types';
10
8
  import type { ForwardRef, MediaOptions, getPosHandler as ProsemirrorGetPosHandler } from '../types';
11
9
  export interface MediaSingleNodeProps {
12
10
  view: EditorView;
@@ -20,8 +18,9 @@ export interface MediaSingleNodeProps {
20
18
  mediaProvider?: Promise<MediaProvider>;
21
19
  contextIdentifierProvider?: Promise<ContextIdentifierProvider>;
22
20
  fullWidthMode?: boolean;
23
- mediaPluginState: MediaPluginState;
24
- annotationPluginState: InlineCommentPluginState;
21
+ addPendingTask?: (promise: Promise<any>) => void;
22
+ isDrafting?: boolean;
23
+ targetNodeId?: string;
25
24
  dispatchAnalyticsEvent: DispatchAnalyticsEvent;
26
25
  isCopyPasteEnabled?: boolean;
27
26
  forwardRef: ForwardRef;
@@ -1,9 +1,10 @@
1
- import type { EditorAnalyticsAPI, InputMethodInsertMedia } from '@atlaskit/editor-common/analytics';
2
- import { type InsertMediaVia } from '@atlaskit/editor-common/analytics';
1
+ import type { EditorAnalyticsAPI, InputMethodInsertMedia, InsertEventPayload } from '@atlaskit/editor-common/analytics';
2
+ import { ACTION_SUBJECT_ID, type InsertMediaVia } from '@atlaskit/editor-common/analytics';
3
3
  import type { EditorState } from '@atlaskit/editor-prosemirror/state';
4
4
  import type { EditorView } from '@atlaskit/editor-prosemirror/view';
5
5
  import type { MediaState } from '../../types';
6
6
  export declare const canInsertMediaInline: (state: EditorState) => boolean;
7
+ export declare const getFailToInsertAnalytics: (mediaState: MediaState, actionSubjectId: ACTION_SUBJECT_ID.MEDIA_INLINE | ACTION_SUBJECT_ID.MEDIA_GROUP | ACTION_SUBJECT_ID.MEDIA_SINGLE, inputMethod?: InputMethodInsertMedia, insertMediaVia?: InsertMediaVia, reason?: string) => InsertEventPayload;
7
8
  /**
8
9
  * Create a new media inline to insert the new media.
9
10
  * @param view Editor view
@@ -5,14 +5,15 @@
5
5
  import React from 'react';
6
6
  import { jsx } from '@emotion/react';
7
7
  import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
8
- import { type MediaPluginState } from '../../types';
8
+ import type { MediaClientConfig } from '@atlaskit/media-core/auth';
9
9
  type MediaViewerContainerProps = {
10
10
  mediaNode: PMNode;
11
- mediaPluginState: MediaPluginState;
11
+ selectedMediaContainerNode: () => PMNode | undefined;
12
+ mediaClientConfig: MediaClientConfig;
12
13
  isEditorViewMode?: boolean;
13
14
  isSelected?: boolean;
14
15
  isInline?: boolean;
15
16
  children?: React.ReactNode;
16
17
  };
17
- export declare const MediaViewerContainer: ({ mediaNode, mediaPluginState, isEditorViewMode, isSelected, isInline, children, }: MediaViewerContainerProps) => jsx.JSX.Element;
18
+ export declare const MediaViewerContainer: ({ mediaNode, selectedMediaContainerNode, mediaClientConfig, isEditorViewMode, isSelected, isInline, children, }: MediaViewerContainerProps) => jsx.JSX.Element;
18
19
  export {};
@@ -7,6 +7,7 @@ import { findParentNodeOfType, findSelectedNodeOfType } from '@atlaskit/editor-p
7
7
  import type { EditorView } from '@atlaskit/editor-prosemirror/view';
8
8
  import type { MediaPluginState } from '../../pm-plugins/types';
9
9
  export declare const isExternalMedia: (attrs: MediaADFAttrs) => attrs is ExternalMediaAttributes;
10
+ export declare const getSelectedNearestMediaContainerNodeAttrsFunction: (selectedMediaContainerNode: () => ProseMirrorNode | undefined) => MediaADFAttrs | null;
10
11
  export declare const getSelectedNearestMediaContainerNodeAttrs: (mediaPluginState: MediaPluginState) => MediaADFAttrs | null;
11
12
  export declare const downloadMedia: (mediaPluginState: MediaPluginState, isViewMode?: boolean) => Promise<boolean>;
12
13
  export declare const removeMediaGroupNode: (state: EditorState) => import("prosemirror-state").Transaction;
@@ -8,8 +8,8 @@ import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
8
8
  import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
9
9
  import type { EditorView, NodeView } from '@atlaskit/editor-prosemirror/view';
10
10
  import type { FileIdentifier } from '@atlaskit/media-client';
11
+ import type { MediaClientConfig } from '@atlaskit/media-core/auth';
11
12
  import type { MediaNextEditorPluginType } from '../mediaPluginType';
12
- import type { MediaPluginState } from '../pm-plugins/types';
13
13
  import type { getPosHandler, getPosHandler as ProsemirrorGetPosHandler } from '../types';
14
14
  export interface MediaInlineProps {
15
15
  mediaProvider: Promise<MediaProvider>;
@@ -20,7 +20,12 @@ export interface MediaInlineProps {
20
20
  getPos: ProsemirrorGetPosHandler;
21
21
  dispatchAnalyticsEvent?: DispatchAnalyticsEvent;
22
22
  contextIdentifierProvider?: Promise<ContextIdentifierProvider>;
23
- mediaPluginState: MediaPluginState;
23
+ handleMediaNodeMount: (node: PMNode, getPos: ProsemirrorGetPosHandler) => void;
24
+ handleMediaNodeUnmount: (node: PMNode) => void;
25
+ allowInlineImages?: boolean;
26
+ addPendingTask: (promise: Promise<any>) => void;
27
+ selectedMediaContainerNode: () => PMNode | undefined;
28
+ mediaClientConfig: MediaClientConfig;
24
29
  editorViewMode?: boolean;
25
30
  }
26
31
  export declare const handleNewNode: (props: MediaInlineProps) => void;
@@ -3,11 +3,9 @@ import type { DispatchAnalyticsEvent } from '@atlaskit/editor-common/analytics';
3
3
  import type { EventDispatcher } from '@atlaskit/editor-common/event-dispatcher';
4
4
  import type { ContextIdentifierProvider, MediaProvider } from '@atlaskit/editor-common/provider-factory';
5
5
  import type { EditorAppearance, ExtractInjectionAPI } from '@atlaskit/editor-common/types';
6
- import type { InlineCommentPluginState } from '@atlaskit/editor-plugin-annotation';
7
6
  import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
8
7
  import type { EditorView } from '@atlaskit/editor-prosemirror/view';
9
8
  import type { MediaNextEditorPluginType } from '../mediaPluginType';
10
- import type { MediaPluginState } from '../pm-plugins/types';
11
9
  import type { ForwardRef, MediaOptions } from '../types';
12
10
  type MediaSingleNodeNextProps = {
13
11
  view: EditorView;
@@ -21,8 +19,9 @@ type MediaSingleNodeNextProps = {
21
19
  mediaProvider?: Promise<MediaProvider>;
22
20
  contextIdentifierProvider?: Promise<ContextIdentifierProvider>;
23
21
  fullWidthMode?: boolean;
24
- mediaPluginState: MediaPluginState | undefined;
25
- annotationPluginState: InlineCommentPluginState | undefined;
22
+ addPendingTask?: (promise: Promise<any>) => void;
23
+ isDrafting?: boolean;
24
+ targetNodeId?: string;
26
25
  dispatchAnalyticsEvent: DispatchAnalyticsEvent;
27
26
  isCopyPasteEnabled?: boolean;
28
27
  forwardRef: ForwardRef;
@@ -2,11 +2,9 @@ import type { DispatchAnalyticsEvent } from '@atlaskit/editor-common/analytics';
2
2
  import type { EventDispatcher } from '@atlaskit/editor-common/event-dispatcher';
3
3
  import type { ContextIdentifierProvider, MediaProvider, ProviderFactory } from '@atlaskit/editor-common/provider-factory';
4
4
  import type { EditorAppearance, ExtractInjectionAPI } from '@atlaskit/editor-common/types';
5
- import type { InlineCommentPluginState } from '@atlaskit/editor-plugin-annotation';
6
5
  import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
7
6
  import type { EditorView } from '@atlaskit/editor-prosemirror/view';
8
7
  import type { MediaNextEditorPluginType } from '../mediaPluginType';
9
- import type { MediaPluginState } from '../pm-plugins/types';
10
8
  import type { ForwardRef, MediaOptions, getPosHandler as ProsemirrorGetPosHandler } from '../types';
11
9
  export interface MediaSingleNodeProps {
12
10
  view: EditorView;
@@ -20,8 +18,9 @@ export interface MediaSingleNodeProps {
20
18
  mediaProvider?: Promise<MediaProvider>;
21
19
  contextIdentifierProvider?: Promise<ContextIdentifierProvider>;
22
20
  fullWidthMode?: boolean;
23
- mediaPluginState: MediaPluginState;
24
- annotationPluginState: InlineCommentPluginState;
21
+ addPendingTask?: (promise: Promise<any>) => void;
22
+ isDrafting?: boolean;
23
+ targetNodeId?: string;
25
24
  dispatchAnalyticsEvent: DispatchAnalyticsEvent;
26
25
  isCopyPasteEnabled?: boolean;
27
26
  forwardRef: ForwardRef;
@@ -1,9 +1,10 @@
1
- import type { EditorAnalyticsAPI, InputMethodInsertMedia } from '@atlaskit/editor-common/analytics';
2
- import { type InsertMediaVia } from '@atlaskit/editor-common/analytics';
1
+ import type { EditorAnalyticsAPI, InputMethodInsertMedia, InsertEventPayload } from '@atlaskit/editor-common/analytics';
2
+ import { ACTION_SUBJECT_ID, type InsertMediaVia } from '@atlaskit/editor-common/analytics';
3
3
  import type { EditorState } from '@atlaskit/editor-prosemirror/state';
4
4
  import type { EditorView } from '@atlaskit/editor-prosemirror/view';
5
5
  import type { MediaState } from '../../types';
6
6
  export declare const canInsertMediaInline: (state: EditorState) => boolean;
7
+ export declare const getFailToInsertAnalytics: (mediaState: MediaState, actionSubjectId: ACTION_SUBJECT_ID.MEDIA_INLINE | ACTION_SUBJECT_ID.MEDIA_GROUP | ACTION_SUBJECT_ID.MEDIA_SINGLE, inputMethod?: InputMethodInsertMedia, insertMediaVia?: InsertMediaVia, reason?: string) => InsertEventPayload;
7
8
  /**
8
9
  * Create a new media inline to insert the new media.
9
10
  * @param view Editor view
@@ -5,14 +5,15 @@
5
5
  import React from 'react';
6
6
  import { jsx } from '@emotion/react';
7
7
  import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
8
- import { type MediaPluginState } from '../../types';
8
+ import type { MediaClientConfig } from '@atlaskit/media-core/auth';
9
9
  type MediaViewerContainerProps = {
10
10
  mediaNode: PMNode;
11
- mediaPluginState: MediaPluginState;
11
+ selectedMediaContainerNode: () => PMNode | undefined;
12
+ mediaClientConfig: MediaClientConfig;
12
13
  isEditorViewMode?: boolean;
13
14
  isSelected?: boolean;
14
15
  isInline?: boolean;
15
16
  children?: React.ReactNode;
16
17
  };
17
- export declare const MediaViewerContainer: ({ mediaNode, mediaPluginState, isEditorViewMode, isSelected, isInline, children, }: MediaViewerContainerProps) => jsx.JSX.Element;
18
+ export declare const MediaViewerContainer: ({ mediaNode, selectedMediaContainerNode, mediaClientConfig, isEditorViewMode, isSelected, isInline, children, }: MediaViewerContainerProps) => jsx.JSX.Element;
18
19
  export {};
@@ -7,6 +7,7 @@ import { findParentNodeOfType, findSelectedNodeOfType } from '@atlaskit/editor-p
7
7
  import type { EditorView } from '@atlaskit/editor-prosemirror/view';
8
8
  import type { MediaPluginState } from '../../pm-plugins/types';
9
9
  export declare const isExternalMedia: (attrs: MediaADFAttrs) => attrs is ExternalMediaAttributes;
10
+ export declare const getSelectedNearestMediaContainerNodeAttrsFunction: (selectedMediaContainerNode: () => ProseMirrorNode | undefined) => MediaADFAttrs | null;
10
11
  export declare const getSelectedNearestMediaContainerNodeAttrs: (mediaPluginState: MediaPluginState) => MediaADFAttrs | null;
11
12
  export declare const downloadMedia: (mediaPluginState: MediaPluginState, isViewMode?: boolean) => Promise<boolean>;
12
13
  export declare const removeMediaGroupNode: (state: EditorState) => import("prosemirror-state").Transaction;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-media",
3
- "version": "2.7.0",
3
+ "version": "2.7.2",
4
4
  "description": "Media plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -38,7 +38,7 @@
38
38
  "@atlaskit/analytics-namespaced-context": "^7.0.0",
39
39
  "@atlaskit/analytics-next": "^11.0.0",
40
40
  "@atlaskit/button": "^23.0.0",
41
- "@atlaskit/editor-common": "^103.19.0",
41
+ "@atlaskit/editor-common": "^103.22.0",
42
42
  "@atlaskit/editor-palette": "^2.1.0",
43
43
  "@atlaskit/editor-plugin-analytics": "^2.2.0",
44
44
  "@atlaskit/editor-plugin-annotation": "^2.7.0",
@@ -51,7 +51,7 @@
51
51
  "@atlaskit/editor-plugin-grid": "^2.0.0",
52
52
  "@atlaskit/editor-plugin-guideline": "^2.0.0",
53
53
  "@atlaskit/editor-plugin-interaction": "^1.0.0",
54
- "@atlaskit/editor-plugin-selection": "^2.1.0",
54
+ "@atlaskit/editor-plugin-selection": "^2.2.0",
55
55
  "@atlaskit/editor-plugin-width": "^3.0.0",
56
56
  "@atlaskit/editor-prosemirror": "7.0.0",
57
57
  "@atlaskit/editor-shared-styles": "^3.4.0",
@@ -67,7 +67,7 @@
67
67
  "@atlaskit/media-ui": "^28.1.0",
68
68
  "@atlaskit/media-viewer": "^52.0.0",
69
69
  "@atlaskit/platform-feature-flags": "^1.1.0",
70
- "@atlaskit/primitives": "^14.4.0",
70
+ "@atlaskit/primitives": "^14.6.0",
71
71
  "@atlaskit/textfield": "^8.0.0",
72
72
  "@atlaskit/theme": "^18.0.0",
73
73
  "@atlaskit/tmp-editor-statsig": "^4.15.0",
@@ -184,11 +184,17 @@
184
184
  "platform_editor_ssr_media": {
185
185
  "type": "boolean"
186
186
  },
187
+ "platform_editor_fix_image_size_diff_during_ssr": {
188
+ "type": "boolean"
189
+ },
187
190
  "platform_editor_no_selection_until_interaction": {
188
191
  "type": "boolean"
189
192
  },
190
193
  "platform_editor_controls_patch_7": {
191
194
  "type": "boolean"
195
+ },
196
+ "platform_editor_track_media_fail_to_insert": {
197
+ "type": "boolean"
192
198
  }
193
199
  },
194
200
  "stricter": {