@atlaskit/editor-core 150.0.3 → 151.1.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 (241) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/dist/cjs/actions/index.js +5 -23
  3. package/dist/cjs/create-editor/ErrorBoundary.js +113 -79
  4. package/dist/cjs/create-editor/ReactEditorView.js +145 -31
  5. package/dist/cjs/create-editor/create-plugins-list.js +8 -2
  6. package/dist/cjs/editor.js +101 -40
  7. package/dist/cjs/labs/next/presets/cxhtml.js +2 -1
  8. package/dist/cjs/plugins/analytics/types/enums.js +3 -1
  9. package/dist/cjs/plugins/base/index.js +4 -3
  10. package/dist/cjs/plugins/base/pm-plugins/frozen-editor.js +66 -36
  11. package/dist/cjs/plugins/block-type/ui/ToolbarBlockType/styled.js +3 -1
  12. package/dist/cjs/plugins/card/index.js +13 -2
  13. package/dist/cjs/plugins/card/nodeviews/embedCard.js +1 -0
  14. package/dist/cjs/plugins/card/pm-plugins/main.js +7 -2
  15. package/dist/cjs/plugins/card/pm-plugins/util/resolve.js +10 -3
  16. package/dist/cjs/plugins/code-bidi-warning/index.js +25 -0
  17. package/dist/cjs/plugins/code-bidi-warning/plugin-key.js +11 -0
  18. package/dist/cjs/plugins/code-bidi-warning/pm-plugins/main.js +43 -0
  19. package/dist/cjs/plugins/code-bidi-warning/pm-plugins/plugin-factory.js +118 -0
  20. package/dist/cjs/plugins/code-bidi-warning/pm-plugins/reducer.js +12 -0
  21. package/dist/cjs/plugins/code-bidi-warning/pm-plugins/types.js +5 -0
  22. package/dist/cjs/plugins/code-block/index.js +10 -6
  23. package/dist/cjs/plugins/code-block/nodeviews/highlighting-code-block.js +16 -5
  24. package/dist/cjs/plugins/code-block/pm-plugins/main.js +12 -3
  25. package/dist/cjs/plugins/code-block/toolbar.js +1 -1
  26. package/dist/cjs/plugins/emoji/styles.js +1 -1
  27. package/dist/cjs/plugins/extension/pm-plugins/main.js +1 -4
  28. package/dist/cjs/plugins/extension/toolbar.js +28 -23
  29. package/dist/cjs/plugins/feature-flags-context/feature-flags-from-props.js +9 -3
  30. package/dist/cjs/plugins/find-replace/ui/Find.js +27 -7
  31. package/dist/cjs/plugins/hyperlink/HyperlinkToolbarAppearance.js +2 -2
  32. package/dist/cjs/plugins/hyperlink/pm-plugins/keymap.js +3 -3
  33. package/dist/cjs/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +7 -4
  34. package/dist/cjs/plugins/hyperlink/utils.js +6 -69
  35. package/dist/cjs/plugins/index.js +8 -0
  36. package/dist/cjs/plugins/media/index.js +14 -3
  37. package/dist/cjs/plugins/media/nodeviews/mediaGroup.js +24 -10
  38. package/dist/cjs/plugins/media/nodeviews/mediaInline.js +179 -0
  39. package/dist/cjs/plugins/media/pm-plugins/main.js +18 -9
  40. package/dist/cjs/plugins/media/toolbar/index.js +49 -17
  41. package/dist/cjs/plugins/media/toolbar/utils.js +20 -2
  42. package/dist/cjs/plugins/media/utils/media-files.js +67 -1
  43. package/dist/cjs/plugins/panel/index.js +2 -3
  44. package/dist/cjs/plugins/panel/message.js +47 -0
  45. package/dist/cjs/plugins/panel/toolbar.js +64 -84
  46. package/dist/cjs/plugins/panel/utils.js +2 -2
  47. package/dist/cjs/plugins/paste/linkify-md-plugin.js +3 -3
  48. package/dist/cjs/plugins/rank.js +1 -1
  49. package/dist/cjs/plugins/status/styles.js +1 -1
  50. package/dist/cjs/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +18 -2
  51. package/dist/cjs/profiler/render-count.js +82 -0
  52. package/dist/cjs/ui/Appearance/Comment/Comment.js +6 -5
  53. package/dist/cjs/utils/react-hooks/use-component-renderer-tracking/index.js +55 -19
  54. package/dist/cjs/version-wrapper.js +1 -1
  55. package/dist/cjs/version.json +1 -1
  56. package/dist/es2019/actions/index.js +6 -28
  57. package/dist/es2019/create-editor/ErrorBoundary.js +73 -60
  58. package/dist/es2019/create-editor/ReactEditorView.js +130 -23
  59. package/dist/es2019/create-editor/create-plugins-list.js +9 -3
  60. package/dist/es2019/editor.js +74 -35
  61. package/dist/es2019/labs/next/presets/cxhtml.js +2 -1
  62. package/dist/es2019/plugins/analytics/types/enums.js +3 -1
  63. package/dist/es2019/plugins/base/index.js +4 -3
  64. package/dist/es2019/plugins/base/pm-plugins/frozen-editor.js +63 -35
  65. package/dist/es2019/plugins/block-type/ui/ToolbarBlockType/styled.js +2 -1
  66. package/dist/es2019/plugins/card/index.js +7 -2
  67. package/dist/es2019/plugins/card/nodeviews/embedCard.js +1 -0
  68. package/dist/es2019/plugins/card/pm-plugins/main.js +9 -2
  69. package/dist/es2019/plugins/card/pm-plugins/util/resolve.js +12 -5
  70. package/dist/es2019/plugins/code-bidi-warning/index.js +15 -0
  71. package/dist/es2019/plugins/code-bidi-warning/plugin-key.js +2 -0
  72. package/dist/es2019/plugins/code-bidi-warning/pm-plugins/main.js +31 -0
  73. package/dist/es2019/plugins/code-bidi-warning/pm-plugins/plugin-factory.js +88 -0
  74. package/dist/es2019/plugins/code-bidi-warning/pm-plugins/reducer.js +3 -0
  75. package/dist/es2019/plugins/code-bidi-warning/pm-plugins/types.js +1 -0
  76. package/dist/es2019/plugins/code-block/index.js +6 -1
  77. package/dist/es2019/plugins/code-block/nodeviews/highlighting-code-block.js +16 -4
  78. package/dist/es2019/plugins/code-block/pm-plugins/main.js +50 -39
  79. package/dist/es2019/plugins/code-block/toolbar.js +1 -1
  80. package/dist/es2019/plugins/emoji/styles.js +2 -0
  81. package/dist/es2019/plugins/extension/pm-plugins/main.js +1 -4
  82. package/dist/es2019/plugins/extension/toolbar.js +30 -25
  83. package/dist/es2019/plugins/feature-flags-context/feature-flags-from-props.js +9 -4
  84. package/dist/es2019/plugins/find-replace/ui/Find.js +27 -6
  85. package/dist/es2019/plugins/hyperlink/HyperlinkToolbarAppearance.js +1 -1
  86. package/dist/es2019/plugins/hyperlink/pm-plugins/keymap.js +1 -1
  87. package/dist/es2019/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +7 -4
  88. package/dist/es2019/plugins/hyperlink/utils.js +3 -59
  89. package/dist/es2019/plugins/index.js +2 -1
  90. package/dist/es2019/plugins/media/index.js +13 -4
  91. package/dist/es2019/plugins/media/nodeviews/mediaGroup.js +16 -7
  92. package/dist/es2019/plugins/media/nodeviews/mediaInline.js +88 -0
  93. package/dist/es2019/plugins/media/pm-plugins/main.js +20 -11
  94. package/dist/es2019/plugins/media/toolbar/index.js +44 -15
  95. package/dist/es2019/plugins/media/toolbar/utils.js +16 -0
  96. package/dist/es2019/plugins/media/utils/media-files.js +68 -2
  97. package/dist/es2019/plugins/panel/index.js +3 -4
  98. package/dist/es2019/plugins/panel/message.js +38 -0
  99. package/dist/es2019/plugins/panel/toolbar.js +52 -71
  100. package/dist/es2019/plugins/panel/utils.js +2 -2
  101. package/dist/es2019/plugins/paste/linkify-md-plugin.js +2 -2
  102. package/dist/es2019/plugins/rank.js +1 -1
  103. package/dist/es2019/plugins/status/styles.js +5 -0
  104. package/dist/es2019/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +18 -2
  105. package/dist/es2019/profiler/render-count.js +60 -0
  106. package/dist/es2019/ui/Appearance/Comment/Comment.js +4 -2
  107. package/dist/es2019/utils/react-hooks/use-component-renderer-tracking/index.js +51 -18
  108. package/dist/es2019/version-wrapper.js +1 -1
  109. package/dist/es2019/version.json +1 -1
  110. package/dist/esm/actions/index.js +6 -24
  111. package/dist/esm/create-editor/ErrorBoundary.js +113 -78
  112. package/dist/esm/create-editor/ReactEditorView.js +146 -31
  113. package/dist/esm/create-editor/create-plugins-list.js +9 -3
  114. package/dist/esm/editor.js +100 -40
  115. package/dist/esm/labs/next/presets/cxhtml.js +2 -1
  116. package/dist/esm/plugins/analytics/types/enums.js +3 -1
  117. package/dist/esm/plugins/base/index.js +4 -3
  118. package/dist/esm/plugins/base/pm-plugins/frozen-editor.js +64 -36
  119. package/dist/esm/plugins/block-type/ui/ToolbarBlockType/styled.js +3 -1
  120. package/dist/esm/plugins/card/index.js +13 -2
  121. package/dist/esm/plugins/card/nodeviews/embedCard.js +1 -0
  122. package/dist/esm/plugins/card/pm-plugins/main.js +7 -2
  123. package/dist/esm/plugins/card/pm-plugins/util/resolve.js +12 -5
  124. package/dist/esm/plugins/code-bidi-warning/index.js +17 -0
  125. package/dist/esm/plugins/code-bidi-warning/plugin-key.js +2 -0
  126. package/dist/esm/plugins/code-bidi-warning/pm-plugins/main.js +30 -0
  127. package/dist/esm/plugins/code-bidi-warning/pm-plugins/plugin-factory.js +96 -0
  128. package/dist/esm/plugins/code-bidi-warning/pm-plugins/reducer.js +3 -0
  129. package/dist/esm/plugins/code-bidi-warning/pm-plugins/types.js +1 -0
  130. package/dist/esm/plugins/code-block/index.js +10 -6
  131. package/dist/esm/plugins/code-block/nodeviews/highlighting-code-block.js +16 -5
  132. package/dist/esm/plugins/code-block/pm-plugins/main.js +11 -3
  133. package/dist/esm/plugins/code-block/toolbar.js +1 -1
  134. package/dist/esm/plugins/emoji/styles.js +1 -1
  135. package/dist/esm/plugins/extension/pm-plugins/main.js +1 -4
  136. package/dist/esm/plugins/extension/toolbar.js +28 -23
  137. package/dist/esm/plugins/feature-flags-context/feature-flags-from-props.js +9 -4
  138. package/dist/esm/plugins/find-replace/ui/Find.js +27 -7
  139. package/dist/esm/plugins/hyperlink/HyperlinkToolbarAppearance.js +2 -2
  140. package/dist/esm/plugins/hyperlink/pm-plugins/keymap.js +1 -1
  141. package/dist/esm/plugins/hyperlink/ui/HyperlinkAddToolbar/HyperlinkAddToolbar.js +7 -4
  142. package/dist/esm/plugins/hyperlink/utils.js +3 -59
  143. package/dist/esm/plugins/index.js +2 -1
  144. package/dist/esm/plugins/media/index.js +14 -4
  145. package/dist/esm/plugins/media/nodeviews/mediaGroup.js +24 -10
  146. package/dist/esm/plugins/media/nodeviews/mediaInline.js +147 -0
  147. package/dist/esm/plugins/media/pm-plugins/main.js +19 -11
  148. package/dist/esm/plugins/media/toolbar/index.js +47 -19
  149. package/dist/esm/plugins/media/toolbar/utils.js +15 -1
  150. package/dist/esm/plugins/media/utils/media-files.js +60 -2
  151. package/dist/esm/plugins/panel/index.js +3 -4
  152. package/dist/esm/plugins/panel/message.js +38 -0
  153. package/dist/esm/plugins/panel/toolbar.js +57 -77
  154. package/dist/esm/plugins/panel/utils.js +2 -2
  155. package/dist/esm/plugins/paste/linkify-md-plugin.js +2 -2
  156. package/dist/esm/plugins/rank.js +1 -1
  157. package/dist/esm/plugins/status/styles.js +1 -1
  158. package/dist/esm/plugins/table/pm-plugins/sticky-headers/nodeviews/tableRow.js +18 -2
  159. package/dist/esm/profiler/render-count.js +57 -0
  160. package/dist/esm/ui/Appearance/Comment/Comment.js +6 -5
  161. package/dist/esm/utils/react-hooks/use-component-renderer-tracking/index.js +53 -20
  162. package/dist/esm/version-wrapper.js +1 -1
  163. package/dist/esm/version.json +1 -1
  164. package/dist/types/create-editor/ErrorBoundary.d.ts +6 -6
  165. package/dist/types/create-editor/ReactEditorView.d.ts +15 -3
  166. package/dist/types/editor.d.ts +2 -0
  167. package/dist/types/plugins/analytics/index.d.ts +1 -1
  168. package/dist/types/plugins/analytics/types/enums.d.ts +4 -2
  169. package/dist/types/plugins/analytics/types/events.d.ts +7 -2
  170. package/dist/types/plugins/analytics/types/general-events.d.ts +4 -1
  171. package/dist/types/plugins/analytics/types/index.d.ts +1 -1
  172. package/dist/types/plugins/analytics/types/insert-events.d.ts +6 -1
  173. package/dist/types/plugins/analytics/types/link-tool-bar-events.d.ts +1 -0
  174. package/dist/types/plugins/base/index.d.ts +1 -0
  175. package/dist/types/plugins/base/pm-plugins/frozen-editor.d.ts +3 -2
  176. package/dist/types/plugins/card/pm-plugins/main.d.ts +2 -3
  177. package/dist/types/plugins/card/pm-plugins/util/resolve.d.ts +2 -1
  178. package/dist/types/plugins/card/types.d.ts +6 -0
  179. package/dist/types/plugins/code-bidi-warning/index.d.ts +3 -0
  180. package/dist/types/plugins/code-bidi-warning/plugin-key.d.ts +2 -0
  181. package/dist/types/plugins/code-bidi-warning/pm-plugins/main.d.ts +3 -0
  182. package/dist/types/plugins/code-bidi-warning/pm-plugins/plugin-factory.d.ts +7 -0
  183. package/dist/types/plugins/code-bidi-warning/pm-plugins/reducer.d.ts +3 -0
  184. package/dist/types/plugins/code-bidi-warning/pm-plugins/types.d.ts +5 -0
  185. package/dist/types/plugins/code-block/nodeviews/highlighting-code-block.d.ts +11 -2
  186. package/dist/types/plugins/code-block/pm-plugins/main.d.ts +5 -1
  187. package/dist/types/plugins/extension/types.d.ts +0 -2
  188. package/dist/types/plugins/feature-flags-context/get-enabled-feature-flag-keys.d.ts +1 -1
  189. package/dist/types/plugins/floating-toolbar/types.d.ts +1 -1
  190. package/dist/types/plugins/floating-toolbar/ui/Select.d.ts +1 -1
  191. package/dist/types/plugins/hyperlink/HyperlinkToolbarAppearance.d.ts +1 -1
  192. package/dist/types/plugins/hyperlink/utils.d.ts +0 -21
  193. package/dist/types/plugins/index.d.ts +1 -0
  194. package/dist/types/plugins/media/nodeviews/mediaInline.d.ts +27 -0
  195. package/dist/types/plugins/media/pm-plugins/main.d.ts +2 -2
  196. package/dist/types/plugins/media/toolbar/utils.d.ts +2 -0
  197. package/dist/types/plugins/media/utils/media-files.d.ts +8 -0
  198. package/dist/types/plugins/panel/message.d.ts +37 -0
  199. package/dist/types/plugins/panel/toolbar.d.ts +4 -37
  200. package/dist/types/plugins/panel/types.d.ts +1 -0
  201. package/dist/types/profiler/render-count.d.ts +14 -0
  202. package/dist/types/types/feature-flags.d.ts +17 -0
  203. package/dist/types/ui/LinkSearch/types.d.ts +1 -0
  204. package/dist/types/utils/react-hooks/use-component-renderer-tracking/index.d.ts +17 -1
  205. package/package.json +21 -18
  206. package/dist/cjs/plugins/caption/nodeviews/index.test.js +0 -135
  207. package/dist/cjs/plugins/caption/pm-plugins/keymap.test.js +0 -203
  208. package/dist/cjs/plugins/caption/pm-plugins/main.test.js +0 -141
  209. package/dist/cjs/plugins/code-block/language-list.test.js +0 -74
  210. package/dist/cjs/plugins/extension/ui/SaveIndicator/SaveIndicator.test.js +0 -101
  211. package/dist/cjs/plugins/floating-toolbar/ui/EmojiPickerButton.test.js +0 -98
  212. package/dist/cjs/plugins/media/commands/captions.test.js +0 -149
  213. package/dist/cjs/plugins/media/commands/linking.test.js +0 -296
  214. package/dist/cjs/plugins/media/ui/CaptionPlaceholder/index.test.js +0 -50
  215. package/dist/cjs/plugins/panel/toolbar.test.js +0 -250
  216. package/dist/cjs/ui/ColorPickerButton/index.test.js +0 -123
  217. package/dist/cjs/ui/PortalProvider/index.test.js +0 -139
  218. package/dist/es2019/plugins/caption/nodeviews/index.test.js +0 -122
  219. package/dist/es2019/plugins/caption/pm-plugins/keymap.test.js +0 -193
  220. package/dist/es2019/plugins/caption/pm-plugins/main.test.js +0 -132
  221. package/dist/es2019/plugins/code-block/language-list.test.js +0 -69
  222. package/dist/es2019/plugins/extension/ui/SaveIndicator/SaveIndicator.test.js +0 -83
  223. package/dist/es2019/plugins/floating-toolbar/ui/EmojiPickerButton.test.js +0 -85
  224. package/dist/es2019/plugins/media/commands/captions.test.js +0 -126
  225. package/dist/es2019/plugins/media/commands/linking.test.js +0 -208
  226. package/dist/es2019/plugins/media/ui/CaptionPlaceholder/index.test.js +0 -41
  227. package/dist/es2019/plugins/panel/toolbar.test.js +0 -200
  228. package/dist/es2019/ui/ColorPickerButton/index.test.js +0 -88
  229. package/dist/es2019/ui/PortalProvider/index.test.js +0 -115
  230. package/dist/esm/plugins/caption/nodeviews/index.test.js +0 -125
  231. package/dist/esm/plugins/caption/pm-plugins/keymap.test.js +0 -195
  232. package/dist/esm/plugins/caption/pm-plugins/main.test.js +0 -124
  233. package/dist/esm/plugins/code-block/language-list.test.js +0 -71
  234. package/dist/esm/plugins/extension/ui/SaveIndicator/SaveIndicator.test.js +0 -92
  235. package/dist/esm/plugins/floating-toolbar/ui/EmojiPickerButton.test.js +0 -85
  236. package/dist/esm/plugins/media/commands/captions.test.js +0 -135
  237. package/dist/esm/plugins/media/commands/linking.test.js +0 -268
  238. package/dist/esm/plugins/media/ui/CaptionPlaceholder/index.test.js +0 -41
  239. package/dist/esm/plugins/panel/toolbar.test.js +0 -230
  240. package/dist/esm/ui/ColorPickerButton/index.test.js +0 -107
  241. package/dist/esm/ui/PortalProvider/index.test.js +0 -129
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.ReactMediaInlineNode = exports.MediaInlineNodeView = exports.MediaInline = void 0;
11
+
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
+
14
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
+
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+
18
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
20
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
22
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
23
+
24
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
25
+
26
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
27
+
28
+ var _react = _interopRequireWildcard(require("react"));
29
+
30
+ var _nodeviews = require("../../../nodeviews/");
31
+
32
+ var _mediaCard = require("@atlaskit/media-card");
33
+
34
+ var _editorCommon = require("@atlaskit/editor-common");
35
+
36
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
37
+
38
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
+
40
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
41
+
42
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
43
+
44
+ var MediaInline = function MediaInline(props) {
45
+ var _useState = (0, _react.useState)({}),
46
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
47
+ viewMediaClientConfig = _useState2[0],
48
+ setViewMediaClientConfig = _useState2[1];
49
+
50
+ (0, _react.useEffect)(function () {
51
+ updateViewMediaClientConfig(props);
52
+ }, [props]);
53
+
54
+ var updateViewMediaClientConfig = /*#__PURE__*/function () {
55
+ var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(props) {
56
+ var mediaProvider, _viewMediaClientConfig;
57
+
58
+ return _regenerator.default.wrap(function _callee$(_context) {
59
+ while (1) {
60
+ switch (_context.prev = _context.next) {
61
+ case 0:
62
+ _context.next = 2;
63
+ return props.mediaProvider;
64
+
65
+ case 2:
66
+ mediaProvider = _context.sent;
67
+
68
+ if (mediaProvider) {
69
+ _viewMediaClientConfig = mediaProvider.viewMediaClientConfig;
70
+ setViewMediaClientConfig(_viewMediaClientConfig);
71
+ }
72
+
73
+ case 4:
74
+ case "end":
75
+ return _context.stop();
76
+ }
77
+ }
78
+ }, _callee);
79
+ }));
80
+
81
+ return function updateViewMediaClientConfig(_x) {
82
+ return _ref.apply(this, arguments);
83
+ };
84
+ }();
85
+
86
+ var _props$node$attrs = props.node.attrs,
87
+ id = _props$node$attrs.id,
88
+ collection = _props$node$attrs.collection;
89
+ var identifier = {
90
+ id: id,
91
+ mediaItemType: 'file',
92
+ collectionName: collection
93
+ };
94
+ return /*#__PURE__*/_react.default.createElement(_mediaCard.MediaInlineCard, {
95
+ identifier: identifier,
96
+ mediaClientConfig: viewMediaClientConfig
97
+ });
98
+ };
99
+
100
+ exports.MediaInline = MediaInline;
101
+
102
+ var MediaInlineNodeView = /*#__PURE__*/function (_ReactNodeView) {
103
+ (0, _inherits2.default)(MediaInlineNodeView, _ReactNodeView);
104
+
105
+ var _super = _createSuper(MediaInlineNodeView);
106
+
107
+ function MediaInlineNodeView() {
108
+ (0, _classCallCheck2.default)(this, MediaInlineNodeView);
109
+ return _super.apply(this, arguments);
110
+ }
111
+
112
+ (0, _createClass2.default)(MediaInlineNodeView, [{
113
+ key: "createDomRef",
114
+ value: function createDomRef() {
115
+ var domRef = document.createElement('span');
116
+ domRef.contentEditable = 'false';
117
+ return domRef;
118
+ }
119
+ }, {
120
+ key: "getContentDOM",
121
+ value: function getContentDOM() {
122
+ var dom = document.createElement('span');
123
+ return {
124
+ dom: dom
125
+ };
126
+ }
127
+ }, {
128
+ key: "ignoreMutation",
129
+ value: function ignoreMutation() {
130
+ return true;
131
+ }
132
+ }, {
133
+ key: "viewShouldUpdate",
134
+ value: function viewShouldUpdate(nextNode) {
135
+ if (this.node.attrs !== nextNode.attrs) {
136
+ return true;
137
+ }
138
+
139
+ return false;
140
+ }
141
+ }, {
142
+ key: "render",
143
+ value: function render(props) {
144
+ var _this = this;
145
+
146
+ var providerFactory = props.providerFactory;
147
+ return /*#__PURE__*/_react.default.createElement(_editorCommon.WithProviders, {
148
+ providers: ['mediaProvider'],
149
+ providerFactory: providerFactory,
150
+ renderNode: function renderNode(_ref2) {
151
+ var mediaProvider = _ref2.mediaProvider;
152
+
153
+ if (!mediaProvider) {
154
+ return null;
155
+ }
156
+
157
+ return /*#__PURE__*/_react.default.createElement(MediaInline, {
158
+ identifier: _this.node.attrs.id,
159
+ mediaProvider: mediaProvider,
160
+ node: _this.node
161
+ });
162
+ }
163
+ });
164
+ }
165
+ }]);
166
+ return MediaInlineNodeView;
167
+ }(_nodeviews.ReactNodeView);
168
+
169
+ exports.MediaInlineNodeView = MediaInlineNodeView;
170
+
171
+ var ReactMediaInlineNode = function ReactMediaInlineNode(portalProviderAPI, eventDispatcher, providerFactory) {
172
+ return function (node, view, getPos) {
173
+ return new MediaInlineNodeView(node, view, getPos, portalProviderAPI, eventDispatcher, {
174
+ providerFactory: providerFactory
175
+ }).init();
176
+ };
177
+ };
178
+
179
+ exports.ReactMediaInlineNode = ReactMediaInlineNode;
@@ -59,6 +59,8 @@ var _types = require("../../analytics/types");
59
59
 
60
60
  var _isImage = require("../utils/is-image");
61
61
 
62
+ var _document = require("../../../utils/document");
63
+
62
64
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
63
65
 
64
66
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -100,7 +102,7 @@ var MediaPluginStateImplementation = /*#__PURE__*/function () {
100
102
  (0, _defineProperty2.default)(this, "pendingTask", Promise.resolve(null));
101
103
  (0, _defineProperty2.default)(this, "destroyed", false);
102
104
  (0, _defineProperty2.default)(this, "removeOnCloseListener", function () {});
103
- (0, _defineProperty2.default)(this, "onPopupToogleCallback", function () {});
105
+ (0, _defineProperty2.default)(this, "onPopupToggleCallback", function () {});
104
106
  (0, _defineProperty2.default)(this, "pickers", []);
105
107
  (0, _defineProperty2.default)(this, "pickerPromises", []);
106
108
  (0, _defineProperty2.default)(this, "onContextIdentifierProvider", /*#__PURE__*/function () {
@@ -259,11 +261,12 @@ var MediaPluginStateImplementation = /*#__PURE__*/function () {
259
261
 
260
262
  var type = _ref3.type;
261
263
  var _this$view$state$sche = _this.view.state.schema.nodes,
264
+ mediaInline = _this$view$state$sche.mediaInline,
262
265
  mediaSingle = _this$view$state$sche.mediaSingle,
263
266
  media = _this$view$state$sche.media;
264
267
 
265
268
  if ((_this$mediaOptions = _this.mediaOptions) !== null && _this$mediaOptions !== void 0 && _this$mediaOptions.allowMediaInline) {
266
- return type === mediaSingle || type === media;
269
+ return type === mediaSingle || type === media || type === mediaInline;
267
270
  }
268
271
 
269
272
  return type === mediaSingle;
@@ -272,6 +275,10 @@ var MediaPluginStateImplementation = /*#__PURE__*/function () {
272
275
  return !!_this.uploadMediaClientConfig && !!_this.uploadMediaClientConfig.userAuthProvider;
273
276
  });
274
277
  (0, _defineProperty2.default)(this, "insertFile", function (mediaState, onMediaStateChanged, pickerType) {
278
+ var _this$mediaOptions2;
279
+
280
+ var state = _this.view.state;
281
+
275
282
  var mediaStateWithContext = _objectSpread(_objectSpread({}, mediaState), {}, {
276
283
  contextId: _this.contextIdentifierProvider ? _this.contextIdentifierProvider.objectId : undefined
277
284
  });
@@ -293,8 +300,10 @@ var MediaPluginStateImplementation = /*#__PURE__*/function () {
293
300
  });
294
301
  }
295
302
 
296
- if ((0, _mediaSingle.isMediaSingle)(_this.view.state.schema, mediaStateWithContext.fileMimeType)) {
303
+ if ((0, _mediaSingle.isMediaSingle)(state.schema, mediaStateWithContext.fileMimeType)) {
297
304
  (0, _mediaSingle.insertMediaSingleNode)(_this.view, mediaStateWithContext, _this.getInputMethod(pickerType), collection, _this.mediaOptions && _this.mediaOptions.alignLeftOnInsert);
305
+ } else if ((_this$mediaOptions2 = _this.mediaOptions) !== null && _this$mediaOptions2 !== void 0 && _this$mediaOptions2.allowMediaInline && !(0, _document.isInEmptyLine)(state) && !(0, _mediaCommon.isInsidePotentialEmptyParagraph)(state) && (0, _mediaFiles.canInsertMediaInline)(state)) {
306
+ (0, _mediaFiles.insertMediaInlineNode)(_this.view, mediaStateWithContext, collection, _this.getInputMethod(pickerType));
298
307
  } else {
299
308
  (0, _mediaFiles.insertMediaGroupNode)(_this.view, [mediaStateWithContext], collection, _this.getInputMethod(pickerType));
300
309
  } // do events when media state changes
@@ -344,7 +353,7 @@ var MediaPluginStateImplementation = /*#__PURE__*/function () {
344
353
  return (0, _mediaCommon.splitMediaGroup)(_this.view);
345
354
  });
346
355
  (0, _defineProperty2.default)(this, "onPopupPickerClose", function () {
347
- _this.onPopupToogleCallback(false);
356
+ _this.onPopupToggleCallback(false);
348
357
  });
349
358
  (0, _defineProperty2.default)(this, "shouldUseMediaPickerPopup", function () {
350
359
  if (!_this.mediaOptions || _this.mediaOptions && _this.mediaOptions.useMediaPickerPopup === undefined) {
@@ -364,13 +373,13 @@ var MediaPluginStateImplementation = /*#__PURE__*/function () {
364
373
 
365
374
  _this.popupPicker.show();
366
375
 
367
- _this.onPopupToogleCallback(true);
376
+ _this.onPopupToggleCallback(true);
368
377
  });
369
378
  (0, _defineProperty2.default)(this, "setBrowseFn", function (browseFn) {
370
379
  _this.openMediaPickerBrowser = browseFn;
371
380
  });
372
- (0, _defineProperty2.default)(this, "onPopupToggle", function (onPopupToogleCallback) {
373
- _this.onPopupToogleCallback = onPopupToogleCallback;
381
+ (0, _defineProperty2.default)(this, "onPopupToggle", function (onPopupToggleCallback) {
382
+ _this.onPopupToggleCallback = onPopupToggleCallback;
374
383
  });
375
384
  (0, _defineProperty2.default)(this, "waitForPendingTasks", function (timeout, lastTask) {
376
385
  if (lastTask && _this.pendingTask === lastTask) {
@@ -578,7 +587,7 @@ var MediaPluginStateImplementation = /*#__PURE__*/function () {
578
587
  }, {
579
588
  key: "getDomElement",
580
589
  value: function getDomElement(domAtPos) {
581
- var _this$mediaOptions2;
590
+ var _this$mediaOptions3;
582
591
 
583
592
  var selection = this.view.state.selection;
584
593
 
@@ -590,7 +599,7 @@ var MediaPluginStateImplementation = /*#__PURE__*/function () {
590
599
  return;
591
600
  }
592
601
 
593
- var position = (_this$mediaOptions2 = this.mediaOptions) !== null && _this$mediaOptions2 !== void 0 && _this$mediaOptions2.allowMediaInline ? selection.from + 1 : selection.from;
602
+ var position = (_this$mediaOptions3 = this.mediaOptions) !== null && _this$mediaOptions3 !== void 0 && _this$mediaOptions3.allowMediaInline ? selection.from + 1 : selection.from;
594
603
  var node = (0, _prosemirrorUtils.findDomRefAtPos)(position, domAtPos);
595
604
 
596
605
  if (node) {
@@ -13,6 +13,8 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
13
13
 
14
14
  var _react = _interopRequireDefault(require("react"));
15
15
 
16
+ var _prosemirrorState = require("prosemirror-state");
17
+
16
18
  var _prosemirrorUtils = require("prosemirror-utils");
17
19
 
18
20
  var _remove = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/remove"));
@@ -53,6 +55,8 @@ var _filePreviewItem = require("./filePreviewItem");
53
55
 
54
56
  var _utils = require("./utils");
55
57
 
58
+ var _prosemirrorModel = require("prosemirror-model");
59
+
56
60
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
57
61
 
58
62
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -65,13 +69,44 @@ var remove = function remove(state, dispatch) {
65
69
  return true;
66
70
  };
67
71
 
68
- var removeMediaCard = function removeMediaCard(state, mediaPluginState) {
69
- var getPos = function getPos() {
70
- var mediaOffset = state.selection.$from.parentOffset + 1;
71
- return mediaOffset;
72
- };
72
+ var handleRemoveMediaGroup = function handleRemoveMediaGroup(state, dispatch) {
73
+ var tr = (0, _utils.removeMediaGroupNode)(state);
74
+
75
+ if (dispatch) {
76
+ dispatch(tr);
77
+ }
78
+
79
+ return true;
80
+ };
81
+
82
+ var changeMediaCardToInline = function changeMediaCardToInline(state, dispatch) {
83
+ var _state$schema$nodes = state.schema.nodes,
84
+ media = _state$schema$nodes.media,
85
+ mediaInline = _state$schema$nodes.mediaInline,
86
+ paragraph = _state$schema$nodes.paragraph;
87
+ var selectedNode = state.selection instanceof _prosemirrorState.NodeSelection && state.selection.node;
88
+
89
+ if (!selectedNode || !selectedNode.type === media) {
90
+ return false;
91
+ }
92
+
93
+ var mediaInlineNode = mediaInline.create({
94
+ id: selectedNode.attrs.id,
95
+ collection: selectedNode.attrs.collection
96
+ });
97
+ var space = state.schema.text(' ');
98
+
99
+ var content = _prosemirrorModel.Fragment.from([mediaInlineNode, space]);
100
+
101
+ var node = paragraph.createChecked({}, content);
102
+ var nodePos = state.tr.doc.resolve(state.selection.from).start() - 1;
103
+ var tr = (0, _utils.removeMediaGroupNode)(state);
104
+ tr = (0, _prosemirrorUtils.safeInsert)(node, nodePos, true)(tr);
105
+
106
+ if (dispatch) {
107
+ dispatch(tr);
108
+ }
73
109
 
74
- mediaPluginState.handleMediaNodeRemoval(undefined, getPos);
75
110
  return true;
76
111
  };
77
112
 
@@ -83,9 +118,7 @@ var generateMediaCardFloatingToolbar = function generateMediaCardFloatingToolbar
83
118
  options: [{
84
119
  title: intl.formatMessage(_messages2.messages.inline),
85
120
  selected: false,
86
- onClick: function onClick() {
87
- return true;
88
- },
121
+ onClick: changeMediaCardToInline,
89
122
  testId: 'inline-appearance'
90
123
  }, {
91
124
  title: intl.formatMessage(_mediaUi.messages.displayThumbnail),
@@ -129,9 +162,7 @@ var generateMediaCardFloatingToolbar = function generateMediaCardFloatingToolbar
129
162
  onFocus: (0, _decoration.hoverDecoration)(mediaGroup, true),
130
163
  onBlur: (0, _decoration.hoverDecoration)(mediaGroup, false),
131
164
  title: intl.formatMessage(_messages.default.remove),
132
- onClick: function onClick(state) {
133
- return removeMediaCard(state, mediaPluginState);
134
- },
165
+ onClick: handleRemoveMediaGroup,
135
166
  testId: 'media-toolbar-remove-button'
136
167
  }];
137
168
  return items;
@@ -236,10 +267,11 @@ var generateMediaSingleFloatingToolbar = function generateMediaSingleFloatingToo
236
267
 
237
268
  var floatingToolbar = function floatingToolbar(state, intl) {
238
269
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
239
- var _state$schema$nodes = state.schema.nodes,
240
- media = _state$schema$nodes.media,
241
- mediaSingle = _state$schema$nodes.mediaSingle,
242
- mediaGroup = _state$schema$nodes.mediaGroup;
270
+ var _state$schema$nodes2 = state.schema.nodes,
271
+ media = _state$schema$nodes2.media,
272
+ mediaInline = _state$schema$nodes2.mediaInline,
273
+ mediaSingle = _state$schema$nodes2.mediaSingle,
274
+ mediaGroup = _state$schema$nodes2.mediaGroup;
243
275
  var altTextValidator = options.altTextValidator,
244
276
  allowLinking = options.allowLinking,
245
277
  allowAltTextOnImages = options.allowAltTextOnImages,
@@ -254,7 +286,7 @@ var floatingToolbar = function floatingToolbar(state, intl) {
254
286
  return;
255
287
  }
256
288
 
257
- var nodeType = allowMediaInline ? [mediaSingle, media] : [mediaSingle];
289
+ var nodeType = allowMediaInline ? [mediaInline, mediaSingle, media] : [mediaSingle];
258
290
  var baseToolbar = {
259
291
  title: 'Media floating controls',
260
292
  nodeType: nodeType,
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.downloadMedia = exports.getSelectedMediaContainerNodeAttrs = void 0;
8
+ exports.removeMediaGroupNode = exports.downloadMedia = exports.getSelectedMediaContainerNodeAttrs = void 0;
9
9
 
10
10
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
11
 
@@ -13,6 +13,8 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
13
13
 
14
14
  var _mediaClient = require("@atlaskit/media-client");
15
15
 
16
+ var _prosemirrorUtils = require("prosemirror-utils");
17
+
16
18
  var getSelectedMediaContainerNodeAttrs = function getSelectedMediaContainerNodeAttrs(mediaPluginState) {
17
19
  var selectedNode = mediaPluginState.selectedMediaContainerNode();
18
20
 
@@ -74,4 +76,20 @@ var downloadMedia = /*#__PURE__*/function () {
74
76
  };
75
77
  }();
76
78
 
77
- exports.downloadMedia = downloadMedia;
79
+ exports.downloadMedia = downloadMedia;
80
+
81
+ var removeMediaGroupNode = function removeMediaGroupNode(state) {
82
+ var mediaGroup = state.schema.nodes.mediaGroup;
83
+ var mediaGroupParent = (0, _prosemirrorUtils.findParentNodeOfType)(mediaGroup)(state.selection);
84
+ var tr = state.tr; // If it is the last media group in filmstrip, remove the entire filmstrip
85
+
86
+ if (mediaGroupParent && mediaGroupParent.node.childCount === 1) {
87
+ tr = (0, _prosemirrorUtils.removeParentNodeOfType)(mediaGroup)(tr);
88
+ } else {
89
+ tr = (0, _prosemirrorUtils.removeSelectedNode)(tr);
90
+ }
91
+
92
+ return tr;
93
+ };
94
+
95
+ exports.removeMediaGroupNode = removeMediaGroupNode;
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.getPosInList = exports.insertMediaGroupNode = void 0;
6
+ exports.getPosInList = exports.insertMediaGroupNode = exports.insertMediaInlineNode = exports.canInsertMediaInline = void 0;
7
7
 
8
8
  var _prosemirrorModel = require("prosemirror-model");
9
9
 
@@ -19,6 +19,13 @@ var _nodes = require("../../../utils/nodes");
19
19
 
20
20
  var _analytics = require("../../analytics");
21
21
 
22
+ var canInsertMediaInline = function canInsertMediaInline(state) {
23
+ var node = state.schema.nodes.mediaInline.create({});
24
+ return (0, _prosemirrorUtils.canInsert)(state.selection.$to, _prosemirrorModel.Fragment.from(node));
25
+ };
26
+
27
+ exports.canInsertMediaInline = canInsertMediaInline;
28
+
22
29
  var getInsertMediaGroupAnalytics = function getInsertMediaGroupAnalytics(mediaState, inputMethod) {
23
30
  var media = '';
24
31
 
@@ -40,6 +47,21 @@ var getInsertMediaGroupAnalytics = function getInsertMediaGroupAnalytics(mediaSt
40
47
  eventType: _analytics.EVENT_TYPE.TRACK
41
48
  };
42
49
  };
50
+
51
+ var getInsertMediaInlineAnalytics = function getInsertMediaInlineAnalytics(mediaState, inputMethod) {
52
+ var media = mediaState.fileMimeType || 'unknown';
53
+ return {
54
+ action: _analytics.ACTION.INSERTED,
55
+ actionSubject: _analytics.ACTION_SUBJECT.DOCUMENT,
56
+ actionSubjectId: _analytics.ACTION_SUBJECT_ID.MEDIA,
57
+ attributes: {
58
+ type: _analytics.ACTION_SUBJECT_ID.MEDIA_INLINE,
59
+ inputMethod: inputMethod,
60
+ fileExtension: media
61
+ },
62
+ eventType: _analytics.EVENT_TYPE.TRACK
63
+ };
64
+ };
43
65
  /**
44
66
  * Check if current editor selections is a media group or not.
45
67
  * @param state Editor state
@@ -64,6 +86,48 @@ function shouldAppendParagraph(state, node) {
64
86
  var wasMediaNode = node && node.type === media;
65
87
  return ((0, _utils.insideTableCell)(state) || (0, _utils.isInListItem)(state) || (0, _utils.isInLayoutColumn)(state) || (0, _position.atTheEndOfDoc)(state) && (!(0, _mediaCommon.posOfPrecedingMediaGroup)(state) || (0, _mediaCommon.isSelectionNonMediaBlockNode)(state))) && !wasMediaNode;
66
88
  }
89
+ /**
90
+ * Create a new media inline to insert the new media.
91
+ * @param view Editor view
92
+ * @param mediaState Media file to be added to the editor
93
+ * @param collection Collection for the media to be added
94
+ */
95
+
96
+
97
+ var insertMediaInlineNode = function insertMediaInlineNode(view, mediaState, collection, inputMethod) {
98
+ var state = view.state,
99
+ dispatch = view.dispatch;
100
+ var schema = state.schema,
101
+ tr = state.tr;
102
+ var mediaInline = schema.nodes.mediaInline; // Do nothing if no media found
103
+
104
+ if (!mediaInline || !mediaState || collection === undefined) {
105
+ return false;
106
+ }
107
+
108
+ var id = mediaState.id;
109
+ var mediaInlineNode = mediaInline.create({
110
+ id: id,
111
+ collection: collection
112
+ });
113
+ var space = state.schema.text(' ');
114
+ var pos = state.selection.$to.pos;
115
+
116
+ var content = _prosemirrorModel.Fragment.from([mediaInlineNode, space]); // Delete the selection if a selection is made
117
+
118
+
119
+ var deleteRange = findDeleteRange(state);
120
+
121
+ if (!deleteRange) {
122
+ tr.insert(pos, content);
123
+ } else {
124
+ tr.insert(pos, content).deleteRange(deleteRange.start, deleteRange.end);
125
+ }
126
+
127
+ (0, _analytics.addAnalytics)(state, tr, getInsertMediaInlineAnalytics(mediaState, inputMethod));
128
+ dispatch(tr);
129
+ return true;
130
+ };
67
131
  /**
68
132
  * Insert a media into an existing media group
69
133
  * or create a new media group to insert the new media.
@@ -73,6 +137,8 @@ function shouldAppendParagraph(state, node) {
73
137
  */
74
138
 
75
139
 
140
+ exports.insertMediaInlineNode = insertMediaInlineNode;
141
+
76
142
  var insertMediaGroupNode = function insertMediaGroupNode(view, mediaStates, collection, inputMethod) {
77
143
  var state = view.state,
78
144
  dispatch = view.dispatch;
@@ -55,8 +55,7 @@ var panelPlugin = function panelPlugin() {
55
55
  return {
56
56
  name: 'panel',
57
57
  nodes: function nodes() {
58
- //TODO: ED-10445 remove this check after emoji panels moved to full schema
59
- var panelNode = options.UNSAFE_allowCustomPanel ? _adfSchema.customPanel : _adfSchema.panel;
58
+ var panelNode = (0, _adfSchema.customPanel)(!!options.UNSAFE_allowCustomPanel);
60
59
  return [{
61
60
  name: 'panel',
62
61
  node: panelNode
@@ -149,7 +148,7 @@ var panelPlugin = function panelPlugin() {
149
148
  }
150
149
  }];
151
150
 
152
- if (options.UNSAFE_allowCustomPanel) {
151
+ if (options.UNSAFE_allowCustomPanelEdit && options.UNSAFE_allowCustomPanel) {
153
152
  quickInsertOptions.push({
154
153
  id: 'custompanel',
155
154
  title: formatMessage(_messages.messages.customPanel),
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.messages = void 0;
7
+
8
+ var _reactIntl = require("react-intl");
9
+
10
+ var messages = (0, _reactIntl.defineMessages)({
11
+ info: {
12
+ id: 'fabric.editor.info',
13
+ defaultMessage: 'Info',
14
+ description: 'Panels provide a way to highlight text. The info panel has a blue background.'
15
+ },
16
+ note: {
17
+ id: 'fabric.editor.note',
18
+ defaultMessage: 'Note',
19
+ description: 'Panels provide a way to highlight text. The note panel has a purple background.'
20
+ },
21
+ success: {
22
+ id: 'fabric.editor.success',
23
+ defaultMessage: 'Success',
24
+ description: 'Panels provide a way to highlight text. The success panel has a green background.'
25
+ },
26
+ warning: {
27
+ id: 'fabric.editor.warning',
28
+ defaultMessage: 'Warning',
29
+ description: 'Panels provide a way to highlight text. The warning panel has a yellow background.'
30
+ },
31
+ error: {
32
+ id: 'fabric.editor.error',
33
+ defaultMessage: 'Error',
34
+ description: 'Panels provide a way to highlight text. The error panel has a red background.'
35
+ },
36
+ emoji: {
37
+ id: 'fabric.editor.panel.emoji',
38
+ defaultMessage: 'Add emoji',
39
+ description: 'Select the panel icon'
40
+ },
41
+ backgroundColor: {
42
+ id: 'fabric.editor.panel.backgroundColor',
43
+ defaultMessage: 'Background color',
44
+ description: 'Select the panel background color.'
45
+ }
46
+ });
47
+ exports.messages = messages;