@atlaskit/editor-plugin-media 3.0.2 → 3.0.4

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 (89) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/cjs/mediaPlugin.js +43 -22
  3. package/dist/cjs/nodeviews/mediaGroup.js +22 -20
  4. package/dist/cjs/nodeviews/mediaInline.js +43 -38
  5. package/dist/cjs/nodeviews/mediaNodeView/index.js +20 -11
  6. package/dist/cjs/nodeviews/mediaSingle.js +48 -43
  7. package/dist/cjs/pm-plugins/alt-text/ui/AltTextEdit.js +21 -10
  8. package/dist/cjs/pm-plugins/pixel-resizing/ui/index.js +15 -4
  9. package/dist/cjs/pm-plugins/pixel-resizing/ui/pixel-entry.js +7 -4
  10. package/dist/cjs/ui/CommentBadge/index.js +26 -33
  11. package/dist/cjs/ui/MediaLinkingToolbar.js +20 -5
  12. package/dist/cjs/ui/MediaPicker/BrowserWrapper.js +2 -2
  13. package/dist/cjs/ui/MediaPicker/ClipboardWrapper.js +4 -4
  14. package/dist/cjs/ui/MediaPicker/DropzoneWrapper.js +72 -31
  15. package/dist/cjs/ui/MediaPicker/PickerFacadeProvider.js +37 -9
  16. package/dist/cjs/ui/MediaPicker/index.js +32 -25
  17. package/dist/cjs/ui/ToolbarMedia/index.js +18 -13
  18. package/dist/cjs/ui/hooks/useMediaProvider.js +14 -9
  19. package/dist/cjs/ui/toolbar/alt-text.js +7 -3
  20. package/dist/cjs/ui/toolbar/index.js +11 -3
  21. package/dist/cjs/ui/toolbar/linking.js +20 -5
  22. package/dist/cjs/ui/toolbar/pixel-resizing.js +4 -2
  23. package/dist/es2019/mediaPlugin.js +47 -24
  24. package/dist/es2019/nodeviews/mediaGroup.js +23 -20
  25. package/dist/es2019/nodeviews/mediaInline.js +45 -39
  26. package/dist/es2019/nodeviews/mediaNodeView/index.js +22 -12
  27. package/dist/es2019/nodeviews/mediaSingle.js +49 -43
  28. package/dist/es2019/pm-plugins/alt-text/ui/AltTextEdit.js +14 -3
  29. package/dist/es2019/pm-plugins/pixel-resizing/ui/index.js +17 -6
  30. package/dist/es2019/pm-plugins/pixel-resizing/ui/pixel-entry.js +7 -4
  31. package/dist/es2019/ui/CommentBadge/index.js +29 -35
  32. package/dist/es2019/ui/MediaLinkingToolbar.js +19 -6
  33. package/dist/es2019/ui/MediaPicker/BrowserWrapper.js +2 -2
  34. package/dist/es2019/ui/MediaPicker/ClipboardWrapper.js +4 -4
  35. package/dist/es2019/ui/MediaPicker/DropzoneWrapper.js +53 -14
  36. package/dist/es2019/ui/MediaPicker/PickerFacadeProvider.js +37 -7
  37. package/dist/es2019/ui/MediaPicker/index.js +34 -26
  38. package/dist/es2019/ui/ToolbarMedia/index.js +20 -14
  39. package/dist/es2019/ui/hooks/useMediaProvider.js +16 -10
  40. package/dist/es2019/ui/toolbar/alt-text.js +7 -3
  41. package/dist/es2019/ui/toolbar/index.js +10 -2
  42. package/dist/es2019/ui/toolbar/linking.js +24 -5
  43. package/dist/es2019/ui/toolbar/pixel-resizing.js +4 -2
  44. package/dist/esm/mediaPlugin.js +44 -23
  45. package/dist/esm/nodeviews/mediaGroup.js +23 -21
  46. package/dist/esm/nodeviews/mediaInline.js +44 -39
  47. package/dist/esm/nodeviews/mediaNodeView/index.js +21 -12
  48. package/dist/esm/nodeviews/mediaSingle.js +49 -44
  49. package/dist/esm/pm-plugins/alt-text/ui/AltTextEdit.js +21 -10
  50. package/dist/esm/pm-plugins/pixel-resizing/ui/index.js +15 -4
  51. package/dist/esm/pm-plugins/pixel-resizing/ui/pixel-entry.js +7 -4
  52. package/dist/esm/ui/CommentBadge/index.js +27 -34
  53. package/dist/esm/ui/MediaLinkingToolbar.js +20 -5
  54. package/dist/esm/ui/MediaPicker/BrowserWrapper.js +2 -2
  55. package/dist/esm/ui/MediaPicker/ClipboardWrapper.js +4 -4
  56. package/dist/esm/ui/MediaPicker/DropzoneWrapper.js +72 -31
  57. package/dist/esm/ui/MediaPicker/PickerFacadeProvider.js +37 -9
  58. package/dist/esm/ui/MediaPicker/index.js +33 -26
  59. package/dist/esm/ui/ToolbarMedia/index.js +19 -14
  60. package/dist/esm/ui/hooks/useMediaProvider.js +15 -10
  61. package/dist/esm/ui/toolbar/alt-text.js +7 -3
  62. package/dist/esm/ui/toolbar/index.js +10 -2
  63. package/dist/esm/ui/toolbar/linking.js +20 -5
  64. package/dist/esm/ui/toolbar/pixel-resizing.js +4 -2
  65. package/dist/types/pm-plugins/alt-text/ui/AltTextEdit.d.ts +2 -0
  66. package/dist/types/pm-plugins/pixel-resizing/ui/index.d.ts +2 -1
  67. package/dist/types/pm-plugins/pixel-resizing/ui/types.d.ts +7 -2
  68. package/dist/types/ui/MediaLinkingToolbar.d.ts +3 -3
  69. package/dist/types/ui/MediaPicker/BrowserWrapper.d.ts +4 -3
  70. package/dist/types/ui/MediaPicker/ClipboardWrapper.d.ts +4 -3
  71. package/dist/types/ui/MediaPicker/DropzoneWrapper.d.ts +4 -4
  72. package/dist/types/ui/MediaPicker/PickerFacadeProvider.d.ts +4 -3
  73. package/dist/types/ui/MediaPicker/index.d.ts +2 -2
  74. package/dist/types/ui/toolbar/alt-text.d.ts +1 -0
  75. package/dist/types/ui/toolbar/index.d.ts +1 -0
  76. package/dist/types/ui/toolbar/pixel-resizing.d.ts +1 -1
  77. package/dist/types-ts4.5/pm-plugins/alt-text/ui/AltTextEdit.d.ts +2 -0
  78. package/dist/types-ts4.5/pm-plugins/pixel-resizing/ui/index.d.ts +2 -1
  79. package/dist/types-ts4.5/pm-plugins/pixel-resizing/ui/types.d.ts +7 -2
  80. package/dist/types-ts4.5/ui/MediaLinkingToolbar.d.ts +3 -3
  81. package/dist/types-ts4.5/ui/MediaPicker/BrowserWrapper.d.ts +4 -3
  82. package/dist/types-ts4.5/ui/MediaPicker/ClipboardWrapper.d.ts +4 -3
  83. package/dist/types-ts4.5/ui/MediaPicker/DropzoneWrapper.d.ts +4 -4
  84. package/dist/types-ts4.5/ui/MediaPicker/PickerFacadeProvider.d.ts +4 -3
  85. package/dist/types-ts4.5/ui/MediaPicker/index.d.ts +2 -2
  86. package/dist/types-ts4.5/ui/toolbar/alt-text.d.ts +1 -0
  87. package/dist/types-ts4.5/ui/toolbar/index.d.ts +1 -0
  88. package/dist/types-ts4.5/ui/toolbar/pixel-resizing.d.ts +1 -1
  89. package/package.json +8 -5
@@ -2,11 +2,11 @@ import React from 'react';
2
2
  import { Clipboard } from '@atlaskit/media-picker';
3
3
  import PickerFacadeProvider from './PickerFacadeProvider';
4
4
  export var ClipboardWrapper = function ClipboardWrapper(_ref) {
5
- var mediaState = _ref.mediaState,
6
- featureFlags = _ref.featureFlags,
7
- container = _ref.container;
5
+ var api = _ref.api,
6
+ container = _ref.container,
7
+ featureFlags = _ref.featureFlags;
8
8
  return /*#__PURE__*/React.createElement(PickerFacadeProvider, {
9
- mediaState: mediaState,
9
+ api: api,
10
10
  analyticsName: "clipboard"
11
11
  }, function (_ref2) {
12
12
  var mediaClientConfig = _ref2.mediaClientConfig,
@@ -2,45 +2,86 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
3
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
4
  import React from 'react';
5
+ import { sharedPluginStateHookMigratorFactory, useSharedPluginState } from '@atlaskit/editor-common/hooks';
5
6
  import { findOverflowScrollParent } from '@atlaskit/editor-common/ui';
7
+ import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
6
8
  import { Dropzone } from '@atlaskit/media-picker';
7
9
  import PickerFacadeProvider from './PickerFacadeProvider';
8
- export var DropzoneWrapper = function DropzoneWrapper(_ref) {
9
- var mediaState = _ref.mediaState,
10
+ var useSharedState = sharedPluginStateHookMigratorFactory(function (api) {
11
+ var options = useSharedPluginStateSelector(api, 'media.options');
12
+ var handleDrag = useSharedPluginStateSelector(api, 'media.handleDrag');
13
+ return {
14
+ options: options,
15
+ handleDrag: handleDrag
16
+ };
17
+ }, function (api) {
18
+ var _useSharedPluginState = useSharedPluginState(api, ['media']),
19
+ mediaState = _useSharedPluginState.mediaState;
20
+ return {
21
+ options: mediaState === null || mediaState === void 0 ? void 0 : mediaState.options,
22
+ handleDrag: mediaState === null || mediaState === void 0 ? void 0 : mediaState.handleDrag
23
+ };
24
+ });
25
+ var DropzoneWrapperInternal = function DropzoneWrapperInternal(_ref) {
26
+ var api = _ref.api,
10
27
  isActive = _ref.isActive,
11
28
  featureFlags = _ref.featureFlags,
12
29
  editorDomElement = _ref.editorDomElement,
13
- appearance = _ref.appearance;
30
+ appearance = _ref.appearance,
31
+ mediaClientConfig = _ref.mediaClientConfig,
32
+ config = _ref.config,
33
+ pickerFacadeInstance = _ref.pickerFacadeInstance;
34
+ var _useSharedState = useSharedState(api),
35
+ options = _useSharedState.options,
36
+ handleDrag = _useSharedState.handleDrag;
37
+ var _ref2 = options || {},
38
+ customDropzoneContainer = _ref2.customDropzoneContainer;
39
+
40
+ // Ignored via go/ees005
41
+ // eslint-disable-next-line @atlaskit/editor/no-as-casting
42
+ var editorHtmlElement = editorDomElement;
43
+ var scrollParent = appearance === 'full-page' && findOverflowScrollParent(editorHtmlElement);
44
+ var container = customDropzoneContainer || (scrollParent ? scrollParent : editorHtmlElement);
45
+ var dropzoneConfig = _objectSpread(_objectSpread({}, config), {}, {
46
+ container: container
47
+ });
48
+ return isActive ? /*#__PURE__*/React.createElement(Dropzone, {
49
+ mediaClientConfig: mediaClientConfig,
50
+ config: dropzoneConfig,
51
+ onError: pickerFacadeInstance.handleUploadError,
52
+ onPreviewUpdate: pickerFacadeInstance.handleUploadPreviewUpdate,
53
+ onEnd: pickerFacadeInstance.handleReady,
54
+ onDragEnter: function onDragEnter() {
55
+ return handleDrag === null || handleDrag === void 0 ? void 0 : handleDrag('enter');
56
+ },
57
+ onDragLeave: function onDragLeave() {
58
+ return handleDrag === null || handleDrag === void 0 ? void 0 : handleDrag('leave');
59
+ },
60
+ featureFlags: featureFlags
61
+ }) : null;
62
+ };
63
+ export var DropzoneWrapper = function DropzoneWrapper(_ref3) {
64
+ var api = _ref3.api,
65
+ isActive = _ref3.isActive,
66
+ featureFlags = _ref3.featureFlags,
67
+ editorDomElement = _ref3.editorDomElement,
68
+ appearance = _ref3.appearance;
14
69
  return /*#__PURE__*/React.createElement(PickerFacadeProvider, {
15
- mediaState: mediaState,
70
+ api: api,
16
71
  analyticsName: "dropzone"
17
- }, function (_ref2) {
18
- var mediaClientConfig = _ref2.mediaClientConfig,
19
- config = _ref2.config,
20
- pickerFacadeInstance = _ref2.pickerFacadeInstance;
21
- var customDropzoneContainer = mediaState.options.customDropzoneContainer,
22
- handleDrag = mediaState.handleDrag;
23
- // Ignored via go/ees005
24
- // eslint-disable-next-line @atlaskit/editor/no-as-casting
25
- var editorHtmlElement = editorDomElement;
26
- var scrollParent = appearance === 'full-page' && findOverflowScrollParent(editorHtmlElement);
27
- var container = customDropzoneContainer || (scrollParent ? scrollParent : editorHtmlElement);
28
- var dropzoneConfig = _objectSpread(_objectSpread({}, config), {}, {
29
- container: container
30
- });
31
- return isActive ? /*#__PURE__*/React.createElement(Dropzone, {
72
+ }, function (_ref4) {
73
+ var mediaClientConfig = _ref4.mediaClientConfig,
74
+ config = _ref4.config,
75
+ pickerFacadeInstance = _ref4.pickerFacadeInstance;
76
+ return /*#__PURE__*/React.createElement(DropzoneWrapperInternal, {
77
+ api: api,
78
+ isActive: isActive,
79
+ featureFlags: featureFlags,
80
+ editorDomElement: editorDomElement,
81
+ appearance: appearance,
32
82
  mediaClientConfig: mediaClientConfig,
33
- config: dropzoneConfig,
34
- onError: pickerFacadeInstance.handleUploadError,
35
- onPreviewUpdate: pickerFacadeInstance.handleUploadPreviewUpdate,
36
- onEnd: pickerFacadeInstance.handleReady,
37
- onDragEnter: function onDragEnter() {
38
- return handleDrag('enter');
39
- },
40
- onDragLeave: function onDragLeave() {
41
- return handleDrag('leave');
42
- },
43
- featureFlags: featureFlags
44
- }) : null;
83
+ config: config,
84
+ pickerFacadeInstance: pickerFacadeInstance
85
+ });
45
86
  });
46
87
  };
@@ -3,6 +3,8 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import _regeneratorRuntime from "@babel/runtime/regenerator";
4
4
  import { useCallback, useEffect, useMemo, useState } from 'react';
5
5
  import { flushSync } from 'react-dom';
6
+ import { sharedPluginStateHookMigratorFactory, useSharedPluginState } from '@atlaskit/editor-common/hooks';
7
+ import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
6
8
  import { ErrorReporter } from '@atlaskit/editor-common/utils';
7
9
  import PickerFacade from '../../pm-plugins/picker-facade';
8
10
  var dummyMediaPickerObject = {
@@ -12,8 +14,32 @@ var dummyMediaPickerObject = {
12
14
  destroy: function destroy() {},
13
15
  setUploadParams: function setUploadParams() {}
14
16
  };
17
+ var useSharedState = sharedPluginStateHookMigratorFactory(function (api) {
18
+ var mediaProvider = useSharedPluginStateSelector(api, 'media.mediaProvider');
19
+ var mediaOptions = useSharedPluginStateSelector(api, 'media.mediaOptions');
20
+ var insertFile = useSharedPluginStateSelector(api, 'media.insertFile');
21
+ var options = useSharedPluginStateSelector(api, 'media.options');
22
+ return {
23
+ mediaProvider: mediaProvider,
24
+ mediaOptions: mediaOptions,
25
+ insertFile: insertFile,
26
+ options: options
27
+ };
28
+ }, function (api) {
29
+ var _useSharedPluginState = useSharedPluginState(api, ['media']),
30
+ mediaState = _useSharedPluginState.mediaState;
31
+ var mediaProvider = useMemo(function () {
32
+ return mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider;
33
+ }, [mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider]);
34
+ return {
35
+ mediaProvider: mediaProvider,
36
+ mediaOptions: mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaOptions,
37
+ insertFile: mediaState === null || mediaState === void 0 ? void 0 : mediaState.insertFile,
38
+ options: mediaState === null || mediaState === void 0 ? void 0 : mediaState.options
39
+ };
40
+ });
15
41
  export default function PickerFacadeProvider(_ref) {
16
- var mediaState = _ref.mediaState,
42
+ var api = _ref.api,
17
43
  analyticsName = _ref.analyticsName,
18
44
  children = _ref.children;
19
45
  var _useState = useState({
@@ -24,9 +50,11 @@ export default function PickerFacadeProvider(_ref) {
24
50
  _useState2 = _slicedToArray(_useState, 2),
25
51
  state = _useState2[0],
26
52
  setState = _useState2[1];
27
- var mediaProvider = useMemo(function () {
28
- return mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider;
29
- }, [mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider]);
53
+ var _useSharedState = useSharedState(api),
54
+ mediaProvider = _useSharedState.mediaProvider,
55
+ mediaOptions = _useSharedState.mediaOptions,
56
+ insertFile = _useSharedState.insertFile,
57
+ options = _useSharedState.options;
30
58
  var handleMediaProvider = useCallback( /*#__PURE__*/function () {
31
59
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_name, provider) {
32
60
  var mediaProvider, resolvedMediaClientConfig, pickerFacadeConfig, pickerFacadeInstance, config;
@@ -37,7 +65,7 @@ export default function PickerFacadeProvider(_ref) {
37
65
  return provider;
38
66
  case 2:
39
67
  mediaProvider = _context.sent;
40
- if (!(!mediaProvider || !mediaProvider.uploadParams)) {
68
+ if (!(!mediaProvider || !mediaProvider.uploadParams || !insertFile)) {
41
69
  _context.next = 5;
42
70
  break;
43
71
  }
@@ -65,14 +93,14 @@ export default function PickerFacadeProvider(_ref) {
65
93
  case 15:
66
94
  pickerFacadeConfig = {
67
95
  mediaClientConfig: resolvedMediaClientConfig,
68
- errorReporter: mediaState.options.errorReporter || new ErrorReporter(),
69
- featureFlags: mediaState.mediaOptions && mediaState.mediaOptions.featureFlags
96
+ errorReporter: (options === null || options === void 0 ? void 0 : options.errorReporter) || new ErrorReporter(),
97
+ featureFlags: mediaOptions && mediaOptions.featureFlags
70
98
  };
71
99
  _context.next = 18;
72
100
  return new PickerFacade('customMediaPicker', pickerFacadeConfig, dummyMediaPickerObject, analyticsName).init();
73
101
  case 18:
74
102
  pickerFacadeInstance = _context.sent;
75
- pickerFacadeInstance.onNewMedia(mediaState.insertFile);
103
+ pickerFacadeInstance.onNewMedia(insertFile);
76
104
  pickerFacadeInstance.setUploadParams(mediaProvider.uploadParams);
77
105
  config = {
78
106
  uploadParams: mediaProvider.uploadParams
@@ -93,7 +121,7 @@ export default function PickerFacadeProvider(_ref) {
93
121
  return function (_x, _x2) {
94
122
  return _ref2.apply(this, arguments);
95
123
  };
96
- }(), [analyticsName, mediaState.insertFile, mediaState.mediaOptions, mediaState.options.errorReporter]);
124
+ }(), [analyticsName, insertFile, mediaOptions, options === null || options === void 0 ? void 0 : options.errorReporter]);
97
125
  useEffect(function () {
98
126
  if (mediaProvider) {
99
127
  handleMediaProvider('mediaProvider', Promise.resolve(mediaProvider));
@@ -7,34 +7,43 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
7
7
  function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
8
8
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
9
9
  import React from 'react';
10
- import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
10
+ import { sharedPluginStateHookMigratorFactory, useSharedPluginState } from '@atlaskit/editor-common/hooks';
11
11
  import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
12
- import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
13
12
  import { BrowserWrapper } from './BrowserWrapper';
14
13
  import { ClipboardWrapper } from './ClipboardWrapper';
15
14
  import { DropzoneWrapper } from './DropzoneWrapper';
15
+ var useMediaPickerState = sharedPluginStateHookMigratorFactory(function (api) {
16
+ var hasFocus = useSharedPluginStateSelector(api, 'focus.hasFocus');
17
+ var connectivityMode = useSharedPluginStateSelector(api, 'connectivity.mode');
18
+ var mediaOptions = useSharedPluginStateSelector(api, 'media.mediaOptions');
19
+ return {
20
+ hasFocus: hasFocus,
21
+ connectivityMode: connectivityMode,
22
+ mediaOptions: mediaOptions
23
+ };
24
+ }, function (api) {
25
+ var _useSharedPluginState = useSharedPluginState(api, ['focus', 'connectivity', 'media']),
26
+ focusState = _useSharedPluginState.focusState,
27
+ connectivityState = _useSharedPluginState.connectivityState,
28
+ mediaState = _useSharedPluginState.mediaState;
29
+ return {
30
+ hasFocus: focusState === null || focusState === void 0 ? void 0 : focusState.hasFocus,
31
+ connectivityMode: connectivityState === null || connectivityState === void 0 ? void 0 : connectivityState.mode,
32
+ mediaOptions: mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaOptions
33
+ };
34
+ });
16
35
  var MediaPicker = function MediaPicker(_ref) {
17
36
  var _editorDom$parentElem;
18
37
  var api = _ref.api,
19
38
  isPopupOpened = _ref.isPopupOpened,
20
39
  appearance = _ref.appearance,
21
- mediaState = _ref.mediaState,
22
40
  onBrowseFn = _ref.onBrowseFn,
23
41
  editorDomElement = _ref.editorDomElement;
24
- var _useSharedPluginState = useSharedPluginState(api, ['focus', 'connectivity'], {
25
- disabled: editorExperiment('platform_editor_usesharedpluginstateselector', true)
26
- }),
27
- focusState = _useSharedPluginState.focusState,
28
- connectivityState = _useSharedPluginState.connectivityState;
29
- var hasFocusSelector = useSharedPluginStateSelector(api, 'focus.hasFocus', {
30
- disabled: editorExperiment('platform_editor_usesharedpluginstateselector', false)
31
- });
32
- var connectivityModeSelector = useSharedPluginStateSelector(api, 'connectivity.mode', {
33
- disabled: editorExperiment('platform_editor_usesharedpluginstateselector', false)
34
- });
35
- var hasFocus = editorExperiment('platform_editor_usesharedpluginstateselector', true) ? hasFocusSelector : focusState === null || focusState === void 0 ? void 0 : focusState.hasFocus;
36
- var connectivityMode = editorExperiment('platform_editor_usesharedpluginstateselector', true) ? connectivityModeSelector : connectivityState === null || connectivityState === void 0 ? void 0 : connectivityState.mode;
37
- var featureFlags = mediaState.mediaOptions && mediaState.mediaOptions.featureFlags;
42
+ var _useMediaPickerState = useMediaPickerState(api),
43
+ hasFocus = _useMediaPickerState.hasFocus,
44
+ connectivityMode = _useMediaPickerState.connectivityMode,
45
+ mediaOptions = _useMediaPickerState.mediaOptions;
46
+ var featureFlags = mediaOptions && mediaOptions.featureFlags;
38
47
 
39
48
  // Ignored via go/ees005
40
49
  // eslint-disable-next-line @atlaskit/editor/no-as-casting
@@ -49,12 +58,12 @@ var MediaPicker = function MediaPicker(_ref) {
49
58
  */
50
59
  var container = editorParent;
51
60
  var clipboard = hasFocus ? /*#__PURE__*/React.createElement(ClipboardWrapper, {
52
- mediaState: mediaState,
61
+ api: api,
53
62
  featureFlags: featureFlags,
54
63
  container: container
55
64
  }) : null;
56
65
  return /*#__PURE__*/React.createElement(React.Fragment, null, clipboard, /*#__PURE__*/React.createElement(DropzoneWrapper, {
57
- mediaState: mediaState,
66
+ api: api,
58
67
  isActive: !isPopupOpened &&
59
68
  // If we're offline don't show the dropzone
60
69
  connectivityMode !== 'offline',
@@ -62,8 +71,8 @@ var MediaPicker = function MediaPicker(_ref) {
62
71
  editorDomElement: editorDomElement,
63
72
  appearance: appearance
64
73
  }), /*#__PURE__*/React.createElement(BrowserWrapper, {
74
+ api: api,
65
75
  onBrowseFn: onBrowseFn,
66
- mediaState: mediaState,
67
76
  featureFlags: featureFlags
68
77
  }));
69
78
  };
@@ -81,8 +90,8 @@ export var MediaPickerComponents = /*#__PURE__*/function (_React$Component) {
81
90
  isPopupOpened: false
82
91
  });
83
92
  _defineProperty(_this, "onBrowseFn", function (nativeBrowseFn) {
84
- var mediaState = _this.props.mediaState;
85
- mediaState && mediaState.setBrowseFn(nativeBrowseFn);
93
+ var setBrowseFn = _this.props.setBrowseFn;
94
+ setBrowseFn(nativeBrowseFn);
86
95
  });
87
96
  return _this;
88
97
  }
@@ -91,8 +100,8 @@ export var MediaPickerComponents = /*#__PURE__*/function (_React$Component) {
91
100
  key: "componentDidMount",
92
101
  value: function componentDidMount() {
93
102
  var _this2 = this;
94
- var mediaState = this.props.mediaState;
95
- mediaState.onPopupToggle(function (isPopupOpened) {
103
+ var onPopupToggle = this.props.onPopupToggle;
104
+ onPopupToggle(function (isPopupOpened) {
96
105
  _this2.setState({
97
106
  isPopupOpened: isPopupOpened
98
107
  });
@@ -103,12 +112,10 @@ export var MediaPickerComponents = /*#__PURE__*/function (_React$Component) {
103
112
  value: function render() {
104
113
  var _this$props = this.props,
105
114
  api = _this$props.api,
106
- mediaState = _this$props.mediaState,
107
115
  editorDomElement = _this$props.editorDomElement,
108
116
  appearance = _this$props.appearance;
109
117
  var isPopupOpened = this.state.isPopupOpened;
110
118
  return /*#__PURE__*/React.createElement(MediaPicker, {
111
- mediaState: mediaState,
112
119
  editorDomElement: editorDomElement,
113
120
  appearance: appearance,
114
121
  isPopupOpened: isPopupOpened,
@@ -1,34 +1,39 @@
1
1
  import React from 'react';
2
2
  import { injectIntl } from 'react-intl-next';
3
- import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
3
+ import { sharedPluginStateHookMigratorFactory, 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
6
  import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
7
7
  import AttachmentIcon from '@atlaskit/icon/core/migration/attachment--editor-attachment';
8
- import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
9
8
  var onClickMediaButton = function onClickMediaButton(showMediaPicker) {
10
9
  return function () {
11
10
  showMediaPicker();
12
11
  return true;
13
12
  };
14
13
  };
14
+ var useSharedState = sharedPluginStateHookMigratorFactory(function (api) {
15
+ var allowsUploads = useSharedPluginStateSelector(api, 'media.allowsUploads');
16
+ var showMediaPicker = useSharedPluginStateSelector(api, 'media.showMediaPicker');
17
+ return {
18
+ allowsUploads: allowsUploads,
19
+ showMediaPicker: showMediaPicker
20
+ };
21
+ }, function (api) {
22
+ var _useSharedPluginState = useSharedPluginState(api, ['media']),
23
+ mediaState = _useSharedPluginState.mediaState;
24
+ return {
25
+ allowsUploads: mediaState === null || mediaState === void 0 ? void 0 : mediaState.allowsUploads,
26
+ showMediaPicker: mediaState === null || mediaState === void 0 ? void 0 : mediaState.showMediaPicker
27
+ };
28
+ });
15
29
  var ToolbarMedia = function ToolbarMedia(_ref) {
16
30
  var isDisabled = _ref.isDisabled,
17
31
  isReducedSpacing = _ref.isReducedSpacing,
18
32
  intl = _ref.intl,
19
33
  api = _ref.api;
20
- var _useSharedPluginState = useSharedPluginState(api, ['media'], {
21
- disabled: editorExperiment('platform_editor_usesharedpluginstateselector', true)
22
- }),
23
- mediaState = _useSharedPluginState.mediaState;
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;
34
+ var _useSharedState = useSharedState(api),
35
+ allowsUploads = _useSharedState.allowsUploads,
36
+ showMediaPicker = _useSharedState.showMediaPicker;
32
37
  if (!allowsUploads || !showMediaPicker) {
33
38
  return null;
34
39
  }
@@ -1,16 +1,21 @@
1
1
  import { useMemo } from 'react';
2
- import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
2
+ import { sharedPluginStateHookMigratorFactory, useSharedPluginState } from '@atlaskit/editor-common/hooks';
3
3
  import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
4
- import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
5
- export var useMediaProvider = function useMediaProvider(pluginInjectionApi) {
6
- var _useSharedPluginState = useSharedPluginState(pluginInjectionApi, ['media'], {
7
- disabled: editorExperiment('platform_editor_usesharedpluginstateselector', true)
8
- }),
4
+ var useSharedState = sharedPluginStateHookMigratorFactory(function (pluginInjectionApi) {
5
+ var mediaProvider = useSharedPluginStateSelector(pluginInjectionApi, 'media.mediaProvider');
6
+ return {
7
+ mediaProvider: mediaProvider
8
+ };
9
+ }, function (pluginInjectionApi) {
10
+ var _useSharedPluginState = useSharedPluginState(pluginInjectionApi, ['media']),
9
11
  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;
12
+ return {
13
+ mediaProvider: mediaState === null || mediaState === void 0 ? void 0 : mediaState.mediaProvider
14
+ };
15
+ });
16
+ export var useMediaProvider = function useMediaProvider(pluginInjectionApi) {
17
+ var _useSharedState = useSharedState(pluginInjectionApi),
18
+ mediaProvider = _useSharedState.mediaProvider;
14
19
  var provider = useMemo(function () {
15
20
  return mediaProvider;
16
21
  }, [mediaProvider]);
@@ -8,6 +8,8 @@ import { MediaSharedClassNames as ClassNames } from '@atlaskit/editor-common/sty
8
8
  import { RECENT_SEARCH_WIDTH_IN_PX as CONTAINER_WIDTH_IN_PX } from '@atlaskit/editor-common/ui';
9
9
  import { NodeSelection } from '@atlaskit/editor-prosemirror/state';
10
10
  import TextIcon from '@atlaskit/icon/core/text';
11
+ import { fg } from '@atlaskit/platform-feature-flags';
12
+ import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
11
13
  import { openMediaAltTextMenu } from '../../pm-plugins/alt-text/commands';
12
14
  import AltTextEdit from '../../pm-plugins/alt-text/ui/AltTextEdit';
13
15
  import { isImage } from '../../pm-plugins/utils/is-type';
@@ -48,11 +50,12 @@ var altTextEditComponent = function altTextEditComponent(options) {
48
50
  /** Focus should move to the 'Alt text' button when the toolbar closes
49
51
  * and not close the floating toolbar.
50
52
  */
51
- var handleEsc = function handleEsc() {
53
+ var setFocus = function setFocus() {
52
54
  var _options$forceFocusSe;
53
55
  var tr = view.state.tr,
54
56
  dispatch = view.dispatch;
55
- var newTr = options === null || options === void 0 || (_options$forceFocusSe = options.forceFocusSelector) === null || _options$forceFocusSe === void 0 ? void 0 : _options$forceFocusSe.call(options, "[data-testid=\"".concat(testId, "\"]"))(tr);
57
+ var elementSelector = options !== null && options !== void 0 && options.triggerButtonSelector && editorExperiment('platform_editor_controls', 'variant1') && fg('platform_editor_controls_patch_8') ? options.triggerButtonSelector : "[data-testid=\"".concat(testId, "\"]");
58
+ var newTr = options === null || options === void 0 || (_options$forceFocusSe = options.forceFocusSelector) === null || _options$forceFocusSe === void 0 ? void 0 : _options$forceFocusSe.call(options, elementSelector)(tr);
56
59
  if (newTr) {
57
60
  dispatch(newTr);
58
61
  }
@@ -65,7 +68,8 @@ var altTextEditComponent = function altTextEditComponent(options) {
65
68
  mediaType: mediaNode.attrs.type,
66
69
  value: mediaNode.attrs.alt,
67
70
  altTextValidator: options && options.altTextValidator,
68
- onEscape: handleEsc
71
+ onEscape: setFocus,
72
+ onEnter: setFocus
69
73
  });
70
74
  }
71
75
  };
@@ -738,6 +738,7 @@ var getMediaTypeMessage = function getMediaTypeMessage(selectedNodeTypeSingle) {
738
738
  });
739
739
  return mediaType ? mediaTypeMessages[mediaType] : messages.file_unknown_is_selected;
740
740
  };
741
+ export var overflowDropdwonBtnTriggerTestId = 'media-overflow-dropdown-trigger';
741
742
  export var floatingToolbar = function floatingToolbar(state, intl) {
742
743
  var _pluginInjectionApi$d3, _pluginInjectionApi$d4;
743
744
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
@@ -783,13 +784,18 @@ export var floatingToolbar = function floatingToolbar(state, intl) {
783
784
  return linkingToolbar;
784
785
  }
785
786
  }
787
+
788
+ // testId is required to show focus on trigger button on ESC key press
789
+ // see hideOnEsc in platform/packages/editor/editor-plugin-floating-toolbar/src/ui/Dropdown.tsx
790
+ var overflowButtonSelector = editorExperiment('platform_editor_controls', 'variant1') && fg('platform_editor_controls_patch_8') ? "[data-testid=\"".concat(overflowDropdwonBtnTriggerTestId, "\"]") : undefined;
786
791
  if (allowAltTextOnImages) {
787
792
  var mediaAltTextPluginState = getMediaAltTextPluginState(state);
788
793
  if (mediaAltTextPluginState.isAltTextEditorOpen) {
789
794
  var _pluginInjectionApi$f;
790
795
  return getAltTextToolbar(baseToolbar, {
791
796
  altTextValidator: altTextValidator,
792
- forceFocusSelector: pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$f = pluginInjectionApi.floatingToolbar) === null || _pluginInjectionApi$f === void 0 || (_pluginInjectionApi$f = _pluginInjectionApi$f.actions) === null || _pluginInjectionApi$f === void 0 ? void 0 : _pluginInjectionApi$f.forceFocusSelector
797
+ forceFocusSelector: pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$f = pluginInjectionApi.floatingToolbar) === null || _pluginInjectionApi$f === void 0 || (_pluginInjectionApi$f = _pluginInjectionApi$f.actions) === null || _pluginInjectionApi$f === void 0 ? void 0 : _pluginInjectionApi$f.forceFocusSelector,
798
+ triggerButtonSelector: overflowButtonSelector
793
799
  });
794
800
  }
795
801
  }
@@ -803,7 +809,8 @@ export var floatingToolbar = function floatingToolbar(state, intl) {
803
809
  pluginInjectionApi: pluginInjectionApi,
804
810
  pluginState: mediaPluginState,
805
811
  hoverDecoration: hoverDecoration,
806
- isEditorFullWidthEnabled: options.fullWidthEnabled
812
+ isEditorFullWidthEnabled: options.fullWidthEnabled,
813
+ triggerButtonSelector: overflowButtonSelector
807
814
  });
808
815
  }
809
816
  }
@@ -856,6 +863,7 @@ export var floatingToolbar = function floatingToolbar(state, intl) {
856
863
  items.push({
857
864
  type: 'overflow-dropdown',
858
865
  id: 'media',
866
+ testId: overflowDropdwonBtnTriggerTestId,
859
867
  options: [].concat(_toConsumableArray(customOptions), [_objectSpread({
860
868
  title: intl === null || intl === void 0 ? void 0 : intl.formatMessage(commonMessages.copyToClipboard),
861
869
  onClick: function onClick() {
@@ -9,11 +9,13 @@ import { RECENT_SEARCH_HEIGHT_IN_PX, RECENT_SEARCH_WIDTH_IN_PX } from '@atlaskit
9
9
  import LinkIcon from '@atlaskit/icon/core/link';
10
10
  import LinkExternalIcon from '@atlaskit/icon/core/link-external';
11
11
  import { fg } from '@atlaskit/platform-feature-flags';
12
+ import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
12
13
  import { hideLinkingToolbar, setUrlToMedia, showLinkingToolbar, unlink } from '../../pm-plugins/commands/linking';
13
14
  import { getMediaLinkingState } from '../../pm-plugins/linking';
14
15
  import { currentMediaInlineNode, currentMediaNode } from '../../pm-plugins/utils/current-media-node';
15
16
  import MediaLinkingToolbar from '../../ui/MediaLinkingToolbar';
16
17
  var FORCE_FOCUS_SELECTOR = '[data-testid="add-link-button"],[data-testid="edit-link-button"]';
18
+ var FORCE_FOCUS_SELECTOR_EDITOR_CONTROLS = '[data-testid="media-overflow-dropdown-trigger"]';
17
19
  export function shouldShowMediaLinkToolbar(editorState) {
18
20
  var mediaLinkingState = getMediaLinkingState(editorState);
19
21
  if (!mediaLinkingState || mediaLinkingState.mediaPos === null) {
@@ -52,38 +54,51 @@ export var getLinkingToolbar = function getLinkingToolbar(toolbarBaseConfig, med
52
54
  if (!view || !providerFactory) {
53
55
  return null;
54
56
  }
57
+ var setFocusOnFloatingToolbar = function setFocusOnFloatingToolbar(setFocus) {
58
+ if (setFocus && editorExperiment('platform_editor_controls', 'variant1') && fg('platform_editor_controls_patch_8')) {
59
+ var _pluginInjectionApi$f;
60
+ var tr = view.state.tr,
61
+ dispatch = view.dispatch;
62
+ pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$f = pluginInjectionApi.floatingToolbar) === null || _pluginInjectionApi$f === void 0 || (_pluginInjectionApi$f = _pluginInjectionApi$f.actions) === null || _pluginInjectionApi$f === void 0 || _pluginInjectionApi$f.forceFocusSelector(FORCE_FOCUS_SELECTOR_EDITOR_CONTROLS)(tr);
63
+ dispatch(tr);
64
+ }
65
+ };
55
66
  return /*#__PURE__*/React.createElement(MediaLinkingToolbar, {
56
67
  key: idx,
57
68
  displayUrl: link,
58
69
  providerFactory: providerFactory,
59
70
  intl: intl,
60
71
  editing: editing,
61
- onUnlink: function onUnlink() {
72
+ onUnlink: function onUnlink(setFocus) {
62
73
  var _pluginInjectionApi$a;
63
- return unlink(pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a === void 0 ? void 0 : _pluginInjectionApi$a.actions)(view.state, view.dispatch, view);
74
+ unlink(pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a === void 0 ? void 0 : _pluginInjectionApi$a.actions)(view.state, view.dispatch, view);
75
+ setFocusOnFloatingToolbar(setFocus);
64
76
  },
65
- onBack: function onBack(href, meta) {
77
+ onBack: function onBack(href, meta, setFocus) {
66
78
  if (href.trim() && meta.inputMethod) {
67
79
  var _pluginInjectionApi$a2;
68
80
  setUrlToMedia(href, meta.inputMethod, pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a2 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a2 === void 0 ? void 0 : _pluginInjectionApi$a2.actions)(view.state, view.dispatch, view);
69
81
  }
70
82
  hideLinkingToolbar(view.state, view.dispatch, view);
83
+ setFocusOnFloatingToolbar(setFocus);
71
84
  },
72
85
  onCancel: function onCancel() {
73
- var _pluginInjectionApi$f;
86
+ var _pluginInjectionApi$f2;
74
87
  hideLinkingToolbar(view.state, view.dispatch, view, true);
75
88
  /** Focus should move to the 'Add link' button when the toolbar closes
76
89
  * and not close the floating toolbar.
77
90
  */
78
91
  var tr = view.state.tr,
79
92
  dispatch = view.dispatch;
80
- pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$f = pluginInjectionApi.floatingToolbar) === null || _pluginInjectionApi$f === void 0 || (_pluginInjectionApi$f = _pluginInjectionApi$f.actions) === null || _pluginInjectionApi$f === void 0 || _pluginInjectionApi$f.forceFocusSelector(FORCE_FOCUS_SELECTOR)(tr);
93
+ var selector = editorExperiment('platform_editor_controls', 'variant1') && fg('platform_editor_controls_patch_8') ? FORCE_FOCUS_SELECTOR_EDITOR_CONTROLS : FORCE_FOCUS_SELECTOR;
94
+ pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$f2 = pluginInjectionApi.floatingToolbar) === null || _pluginInjectionApi$f2 === void 0 || (_pluginInjectionApi$f2 = _pluginInjectionApi$f2.actions) === null || _pluginInjectionApi$f2 === void 0 || _pluginInjectionApi$f2.forceFocusSelector(selector)(tr);
81
95
  dispatch(tr);
82
96
  },
83
97
  onSubmit: function onSubmit(href, meta) {
84
98
  var _pluginInjectionApi$a3;
85
99
  setUrlToMedia(href, meta.inputMethod, pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a3 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a3 === void 0 ? void 0 : _pluginInjectionApi$a3.actions)(view.state, view.dispatch, view);
86
100
  hideLinkingToolbar(view.state, view.dispatch, view);
101
+ setFocusOnFloatingToolbar(true);
87
102
  },
88
103
  onBlur: function onBlur() {
89
104
  hideLinkingToolbar(view.state, view.dispatch, view);
@@ -16,7 +16,8 @@ export var getPixelResizingToolbar = function getPixelResizingToolbar(toolbarBas
16
16
  intl = _ref.intl,
17
17
  pluginState = _ref.pluginState,
18
18
  hoverDecoration = _ref.hoverDecoration,
19
- isEditorFullWidthEnabled = _ref.isEditorFullWidthEnabled;
19
+ isEditorFullWidthEnabled = _ref.isEditorFullWidthEnabled,
20
+ triggerButtonSelector = _ref.triggerButtonSelector;
20
21
  return _objectSpread(_objectSpread({}, toolbarBaseConfig), {}, {
21
22
  width: PIXEL_RESIZING_TOOLBAR_WIDTH,
22
23
  scrollable: true,
@@ -38,7 +39,8 @@ export var getPixelResizingToolbar = function getPixelResizingToolbar(toolbarBas
38
39
  pluginInjectionApi: pluginInjectionApi,
39
40
  pluginState: pluginState,
40
41
  hoverDecoration: hoverDecoration,
41
- isEditorFullWidthEnabled: isEditorFullWidthEnabled
42
+ isEditorFullWidthEnabled: isEditorFullWidthEnabled,
43
+ triggerButtonSelector: triggerButtonSelector
42
44
  });
43
45
  }
44
46
  }]
@@ -11,6 +11,7 @@ type Props = {
11
11
  value?: string;
12
12
  altTextValidator?: (value: string) => string[];
13
13
  onEscape?: () => void;
14
+ onEnter?: () => void;
14
15
  } & WrappedComponentProps & WithAnalyticsEventsProps;
15
16
  export type AltTextEditComponentState = {
16
17
  showClearTextButton: boolean;
@@ -32,6 +33,7 @@ export declare class AltTextEditComponent extends React.Component<Props, AltText
32
33
  private getValidationErrors;
33
34
  render(): jsx.JSX.Element;
34
35
  private closeMediaAltTextMenu;
36
+ private closeMediaAltTextMenuAndSetFocus;
35
37
  private fireAnalytics;
36
38
  private dispatchCancelEvent;
37
39
  private handleOnChange;
@@ -14,8 +14,9 @@ export type Props = {
14
14
  pluginState: MediaPluginState;
15
15
  hoverDecoration: HoverDecorationHandler | undefined;
16
16
  isEditorFullWidthEnabled?: boolean;
17
+ triggerButtonSelector?: string;
17
18
  };
18
- export declare const PixelEntry: ({ editorView, selectedMediaSingleNode, pluginInjectionApi, intl, pluginState, hoverDecoration, isEditorFullWidthEnabled, }: Props) => jsx.JSX.Element | null;
19
+ export declare const PixelEntry: ({ editorView, selectedMediaSingleNode, pluginInjectionApi, intl, pluginState, hoverDecoration, isEditorFullWidthEnabled, triggerButtonSelector, }: Props) => jsx.JSX.Element | null;
19
20
  export declare const FullWidthDisplay: ({ intl: { formatMessage } }: {
20
21
  intl: IntlShape;
21
22
  }) => jsx.JSX.Element;