@atlaskit/editor-common 93.1.6 → 93.2.1

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 93.2.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#150725](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/150725)
8
+ [`46e9eccf1d0bc`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/46e9eccf1d0bc) -
9
+ ED-24117: refactors image loader for react 18
10
+ - Updated dependencies
11
+
12
+ ## 93.2.0
13
+
14
+ ### Minor Changes
15
+
16
+ - [#150260](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/150260)
17
+ [`b6d9de1b0e543`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/b6d9de1b0e543) -
18
+ Added an editor analytics event for clicking the copy anchor link floating toolbar item
19
+
20
+ ### Patch Changes
21
+
22
+ - [#150241](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/150241)
23
+ [`11814f141483a`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/11814f141483a) -
24
+ ED-24117: remediates extension component for react 18
25
+ - Updated dependencies
26
+
3
27
  ## 93.1.6
4
28
 
5
29
  ### Patch Changes
@@ -107,6 +107,9 @@
107
107
  {
108
108
  "path": "../../../design-system/menu/afm-jira/tsconfig.json"
109
109
  },
110
+ {
111
+ "path": "../../../design-system/onboarding/afm-jira/tsconfig.json"
112
+ },
110
113
  {
111
114
  "path": "../../../platform/feature-flags/afm-jira/tsconfig.json"
112
115
  },
@@ -107,6 +107,9 @@
107
107
  {
108
108
  "path": "../../../design-system/menu/afm-post-office/tsconfig.json"
109
109
  },
110
+ {
111
+ "path": "../../../design-system/onboarding/afm-post-office/tsconfig.json"
112
+ },
110
113
  {
111
114
  "path": "../../../platform/feature-flags/afm-post-office/tsconfig.json"
112
115
  },
@@ -281,6 +281,7 @@ var ACTION_SUBJECT_ID = exports.ACTION_SUBJECT_ID = /*#__PURE__*/function (ACTIO
281
281
  ACTION_SUBJECT_ID["CODE_BLOCK"] = "codeBlock";
282
282
  ACTION_SUBJECT_ID["CODEBLOCK_COPY"] = "codeBlockCopy";
283
283
  ACTION_SUBJECT_ID["CODEBLOCK_WRAP"] = "codeBlockWrap";
284
+ ACTION_SUBJECT_ID["COPY_LINK_TO_ANCHOR"] = "copyLinkToAnchor";
284
285
  ACTION_SUBJECT_ID["CREATE_INLINE_COMMENT_FROM_HIGHLIGHT_ACTIONS_MENU"] = "createInlineCommentFromHighlightActionsMenu";
285
286
  ACTION_SUBJECT_ID["DATE"] = "date";
286
287
  ACTION_SUBJECT_ID["DATE_DAY"] = "day";
@@ -5,7 +5,10 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.ExtensionComponent = void 0;
8
+ exports.ExtensionComponentOld = exports.ExtensionComponentNew = exports.ExtensionComponent = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
9
12
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
13
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
14
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
@@ -18,21 +21,25 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
18
21
  var _react = _interopRequireWildcard(require("react"));
19
22
  var _memoizeOne = _interopRequireDefault(require("memoize-one"));
20
23
  var _state = require("@atlaskit/editor-prosemirror/state");
24
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
21
25
  var _extensions = require("../extensions");
22
26
  var _utils = require("../utils");
23
27
  var _Extension = _interopRequireDefault(require("./Extension/Extension"));
24
28
  var _InlineExtension = _interopRequireDefault(require("./Extension/InlineExtension"));
25
29
  var _MultiBodiedExtension = _interopRequireDefault(require("./MultiBodiedExtension"));
30
+ var _excluded = ["extensionProvider"];
26
31
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
27
32
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
28
33
  function _createSuper(t) { var r = _isNativeReflectConstruct(); return function () { var e, o = (0, _getPrototypeOf2.default)(t); if (r) { var s = (0, _getPrototypeOf2.default)(this).constructor; e = Reflect.construct(o, arguments, s); } else e = o.apply(this, arguments); return (0, _possibleConstructorReturn2.default)(this, e); }; }
29
- function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
30
- var ExtensionComponent = exports.ExtensionComponent = /*#__PURE__*/function (_Component) {
31
- (0, _inherits2.default)(ExtensionComponent, _Component);
32
- var _super = _createSuper(ExtensionComponent);
33
- function ExtensionComponent() {
34
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* eslint-disable @repo/internal/react/no-class-components */
35
+ /* temporary type until FG cleaned up */
36
+ /* temporary type until FG cleaned up */
37
+ var ExtensionComponentOld = exports.ExtensionComponentOld = /*#__PURE__*/function (_Component) {
38
+ (0, _inherits2.default)(ExtensionComponentOld, _Component);
39
+ var _super = _createSuper(ExtensionComponentOld);
40
+ function ExtensionComponentOld() {
34
41
  var _this;
35
- (0, _classCallCheck2.default)(this, ExtensionComponent);
42
+ (0, _classCallCheck2.default)(this, ExtensionComponentOld);
36
43
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
37
44
  args[_key] = arguments[_key];
38
45
  }
@@ -156,7 +163,7 @@ var ExtensionComponent = exports.ExtensionComponent = /*#__PURE__*/function (_Co
156
163
  });
157
164
  return _this;
158
165
  }
159
- (0, _createClass2.default)(ExtensionComponent, [{
166
+ (0, _createClass2.default)(ExtensionComponentOld, [{
160
167
  key: "UNSAFE_componentWillMount",
161
168
  value: function UNSAFE_componentWillMount() {
162
169
  this.mounted = true;
@@ -274,5 +281,251 @@ var ExtensionComponent = exports.ExtensionComponent = /*#__PURE__*/function (_Co
274
281
  return null;
275
282
  }
276
283
  }]);
277
- return ExtensionComponent;
278
- }(_react.Component);
284
+ return ExtensionComponentOld;
285
+ }(_react.Component);
286
+ var ExtensionComponentNew = exports.ExtensionComponentNew = function ExtensionComponentNew(props) {
287
+ var extensionProviderResolver = props.extensionProvider,
288
+ restProps = (0, _objectWithoutProperties2.default)(props, _excluded);
289
+ var _useState = (0, _react.useState)(undefined),
290
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
291
+ extensionProvider = _useState2[0],
292
+ setExtensionProvider = _useState2[1];
293
+ var mountedRef = (0, _react.useRef)(true);
294
+ (0, _react.useLayoutEffect)(function () {
295
+ mountedRef.current = true;
296
+ return function () {
297
+ mountedRef.current = false;
298
+ };
299
+ }, []);
300
+ (0, _react.useEffect)(function () {
301
+ extensionProviderResolver === null || extensionProviderResolver === void 0 || extensionProviderResolver.then(function (provider) {
302
+ if (mountedRef.current) {
303
+ setExtensionProvider(provider);
304
+ }
305
+ });
306
+ }, [extensionProviderResolver]);
307
+ return /*#__PURE__*/_react.default.createElement(ExtensionComponentInner, (0, _extends2.default)({}, restProps, {
308
+ extensionProvider: extensionProvider
309
+ }));
310
+ };
311
+ var ExtensionComponentInner = /*#__PURE__*/function (_Component2) {
312
+ (0, _inherits2.default)(ExtensionComponentInner, _Component2);
313
+ var _super2 = _createSuper(ExtensionComponentInner);
314
+ function ExtensionComponentInner() {
315
+ var _this2;
316
+ (0, _classCallCheck2.default)(this, ExtensionComponentInner);
317
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
318
+ args[_key2] = arguments[_key2];
319
+ }
320
+ _this2 = _super2.call.apply(_super2, [this].concat(args));
321
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "privatePropsParsed", false);
322
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "state", {});
323
+ // memoized to avoid rerender on extension state changes
324
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "getNodeRenderer", (0, _memoizeOne.default)(_extensions.getNodeRenderer));
325
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "getExtensionModuleNodePrivateProps", (0, _memoizeOne.default)(_extensions.getExtensionModuleNodePrivateProps));
326
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "setIsNodeHovered", function (isHovered) {
327
+ _this2.setState({
328
+ isNodeHovered: isHovered
329
+ });
330
+ });
331
+ /**
332
+ * Parses any private nodes once an extension provider is available.
333
+ *
334
+ * We do this separately from resolving a node renderer component since the
335
+ * private props come from extension provider, rather than an extension
336
+ * handler which only handles `render`/component concerns.
337
+ */
338
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "parsePrivateNodePropsIfNeeded", /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {
339
+ var _this2$props$node$att, extensionType, extensionKey, privateProps;
340
+ return _regenerator.default.wrap(function _callee2$(_context2) {
341
+ while (1) switch (_context2.prev = _context2.next) {
342
+ case 0:
343
+ if (!(_this2.privatePropsParsed || !_this2.props.extensionProvider)) {
344
+ _context2.next = 2;
345
+ break;
346
+ }
347
+ return _context2.abrupt("return");
348
+ case 2:
349
+ _this2.privatePropsParsed = true;
350
+ _this2$props$node$att = _this2.props.node.attrs, extensionType = _this2$props$node$att.extensionType, extensionKey = _this2$props$node$att.extensionKey;
351
+ /**
352
+ * getExtensionModuleNodePrivateProps can throw if there are issues in the
353
+ * manifest
354
+ */
355
+ _context2.prev = 4;
356
+ _context2.next = 7;
357
+ return _this2.getExtensionModuleNodePrivateProps(_this2.props.extensionProvider, extensionType, extensionKey);
358
+ case 7:
359
+ privateProps = _context2.sent;
360
+ _this2.setState({
361
+ _privateProps: privateProps
362
+ });
363
+ _context2.next = 14;
364
+ break;
365
+ case 11:
366
+ _context2.prev = 11;
367
+ _context2.t0 = _context2["catch"](4);
368
+ // eslint-disable-next-line no-console
369
+ console.error('Provided extension handler has thrown an error\n', _context2.t0);
370
+ /** We don't want this error to block renderer */
371
+ /** We keep rendering the default content */
372
+ case 14:
373
+ case "end":
374
+ return _context2.stop();
375
+ }
376
+ }, _callee2, null, [[4, 11]]);
377
+ })));
378
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "handleExtension", function (pmNode, actions) {
379
+ var _pmNode$marks2;
380
+ var _this2$props = _this2.props,
381
+ extensionHandlers = _this2$props.extensionHandlers,
382
+ editorView = _this2$props.editorView;
383
+ var _pmNode$attrs2 = pmNode.attrs,
384
+ extensionType = _pmNode$attrs2.extensionType,
385
+ extensionKey = _pmNode$attrs2.extensionKey,
386
+ parameters = _pmNode$attrs2.parameters,
387
+ text = _pmNode$attrs2.text;
388
+ var isBodiedExtension = pmNode.type.name === 'bodiedExtension';
389
+ if (isBodiedExtension) {
390
+ return;
391
+ }
392
+ var fragmentLocalId = pmNode === null || pmNode === void 0 || (_pmNode$marks2 = pmNode.marks) === null || _pmNode$marks2 === void 0 || (_pmNode$marks2 = _pmNode$marks2.find(function (m) {
393
+ return m.type.name === 'fragment';
394
+ })) === null || _pmNode$marks2 === void 0 || (_pmNode$marks2 = _pmNode$marks2.attrs) === null || _pmNode$marks2 === void 0 ? void 0 : _pmNode$marks2.localId;
395
+ var node = {
396
+ type: pmNode.type.name,
397
+ extensionType: extensionType,
398
+ extensionKey: extensionKey,
399
+ parameters: parameters,
400
+ content: text,
401
+ localId: pmNode.attrs.localId,
402
+ fragmentLocalId: fragmentLocalId
403
+ };
404
+ var result;
405
+ if (extensionHandlers && extensionHandlers[extensionType]) {
406
+ var render = (0, _utils.getExtensionRenderer)(extensionHandlers[extensionType]);
407
+ result = render(node, editorView.state.doc, actions);
408
+ }
409
+ if (!result) {
410
+ var extensionHandlerFromProvider = _this2.props.extensionProvider && _this2.getNodeRenderer(_this2.props.extensionProvider, extensionType, extensionKey);
411
+ if (extensionHandlerFromProvider) {
412
+ var NodeRenderer = extensionHandlerFromProvider;
413
+ if (node.type === 'multiBodiedExtension') {
414
+ return /*#__PURE__*/_react.default.createElement(NodeRenderer, {
415
+ node: node,
416
+ references: _this2.props.references,
417
+ actions: actions
418
+ });
419
+ } else {
420
+ return /*#__PURE__*/_react.default.createElement(NodeRenderer, {
421
+ node: node,
422
+ references: _this2.props.references
423
+ });
424
+ }
425
+ }
426
+ }
427
+ return result;
428
+ });
429
+ return _this2;
430
+ }
431
+ (0, _createClass2.default)(ExtensionComponentInner, [{
432
+ key: "componentDidUpdate",
433
+ value: function componentDidUpdate() {
434
+ this.parsePrivateNodePropsIfNeeded();
435
+ }
436
+ }, {
437
+ key: "render",
438
+ value: function render() {
439
+ var _this$state$_privateP2;
440
+ var _this$props3 = this.props,
441
+ node = _this$props3.node,
442
+ handleContentDOMRef = _this$props3.handleContentDOMRef,
443
+ editorView = _this$props3.editorView,
444
+ references = _this$props3.references,
445
+ editorAppearance = _this$props3.editorAppearance,
446
+ pluginInjectionApi = _this$props3.pluginInjectionApi,
447
+ getPos = _this$props3.getPos,
448
+ eventDispatcher = _this$props3.eventDispatcher,
449
+ macroInteractionDesignFeatureFlags = _this$props3.macroInteractionDesignFeatureFlags,
450
+ extensionProvider = _this$props3.extensionProvider;
451
+ var selection = editorView.state.selection;
452
+ var selectedNode = selection instanceof _state.NodeSelection && selection.node;
453
+ var position = typeof getPos === 'function' && getPos();
454
+ var resolvedPosition = position && editorView.state.doc.resolve(position);
455
+ var isNodeNested = !!(resolvedPosition && resolvedPosition.depth > 0);
456
+ if (node.type.name === 'multiBodiedExtension') {
457
+ return /*#__PURE__*/_react.default.createElement(_MultiBodiedExtension.default, {
458
+ node: node,
459
+ editorView: editorView,
460
+ getPos: getPos,
461
+ handleContentDOMRef: handleContentDOMRef,
462
+ tryExtensionHandler: this.tryExtensionHandler.bind(this),
463
+ eventDispatcher: eventDispatcher,
464
+ pluginInjectionApi: pluginInjectionApi,
465
+ editorAppearance: editorAppearance,
466
+ macroInteractionDesignFeatureFlags: macroInteractionDesignFeatureFlags,
467
+ isNodeSelected: selectedNode === node,
468
+ isNodeNested: isNodeNested,
469
+ isNodeHovered: this.state.isNodeHovered,
470
+ setIsNodeHovered: this.setIsNodeHovered
471
+ });
472
+ }
473
+ var extensionHandlerResult = this.tryExtensionHandler(undefined);
474
+ switch (node.type.name) {
475
+ case 'extension':
476
+ case 'bodiedExtension':
477
+ return /*#__PURE__*/_react.default.createElement(_Extension.default, {
478
+ node: node,
479
+ getPos: this.props.getPos,
480
+ references: references,
481
+ extensionProvider: extensionProvider,
482
+ handleContentDOMRef: handleContentDOMRef,
483
+ view: editorView,
484
+ editorAppearance: editorAppearance,
485
+ hideFrame: (_this$state$_privateP2 = this.state._privateProps) === null || _this$state$_privateP2 === void 0 ? void 0 : _this$state$_privateP2.__hideFrame,
486
+ pluginInjectionApi: pluginInjectionApi,
487
+ macroInteractionDesignFeatureFlags: macroInteractionDesignFeatureFlags,
488
+ isNodeSelected: selectedNode === node,
489
+ isNodeHovered: this.state.isNodeHovered,
490
+ isNodeNested: isNodeNested,
491
+ setIsNodeHovered: this.setIsNodeHovered
492
+ }, extensionHandlerResult);
493
+ case 'inlineExtension':
494
+ return /*#__PURE__*/_react.default.createElement(_InlineExtension.default, {
495
+ node: node,
496
+ macroInteractionDesignFeatureFlags: macroInteractionDesignFeatureFlags,
497
+ isNodeSelected: selectedNode === node,
498
+ pluginInjectionApi: pluginInjectionApi,
499
+ isNodeHovered: this.state.isNodeHovered,
500
+ setIsNodeHovered: this.setIsNodeHovered
501
+ }, extensionHandlerResult);
502
+ default:
503
+ return null;
504
+ }
505
+ }
506
+ }, {
507
+ key: "tryExtensionHandler",
508
+ value: function tryExtensionHandler(actions) {
509
+ var node = this.props.node;
510
+ try {
511
+ var extensionContent = this.handleExtension(node, actions);
512
+ if (extensionContent && /*#__PURE__*/_react.default.isValidElement(extensionContent)) {
513
+ return extensionContent;
514
+ }
515
+ } catch (e) {
516
+ // eslint-disable-next-line no-console
517
+ console.error('Provided extension handler has thrown an error\n', e);
518
+ /** We don't want this error to block renderer */
519
+ /** We keep rendering the default content */
520
+ }
521
+ return null;
522
+ }
523
+ }]);
524
+ return ExtensionComponentInner;
525
+ }(_react.Component);
526
+ var ExtensionComponent = exports.ExtensionComponent = function ExtensionComponent(props) {
527
+ if ((0, _platformFeatureFlags.fg)('platform_editor_react18_extension_component')) {
528
+ return /*#__PURE__*/_react.default.createElement(ExtensionComponentNew, props);
529
+ }
530
+ return /*#__PURE__*/_react.default.createElement(ExtensionComponentOld, props);
531
+ };
@@ -17,7 +17,7 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
17
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
18
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
19
19
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
20
- var packageVersion = "93.1.6";
20
+ var packageVersion = "93.2.1";
21
21
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
22
22
  // Remove URL as it has UGC
23
23
  // TODO: Sanitise the URL instead of just removing it
@@ -24,7 +24,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
24
24
  * @jsx jsx
25
25
  */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
26
26
  var packageName = "@atlaskit/editor-common";
27
- var packageVersion = "93.1.6";
27
+ var packageVersion = "93.2.1";
28
28
  var halfFocusRing = 1;
29
29
  var dropOffset = '0, 8';
30
30
  var DropList = /*#__PURE__*/function (_Component) {
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.withImageLoader = void 0;
8
+ exports.withImageLoaderOld = exports.withImageLoader = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
11
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -15,11 +15,12 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
15
15
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
16
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
17
  var _react = _interopRequireWildcard(require("react"));
18
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
18
19
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
19
20
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
20
21
  function _createSuper(t) { var r = _isNativeReflectConstruct(); return function () { var e, o = (0, _getPrototypeOf2.default)(t); if (r) { var s = (0, _getPrototypeOf2.default)(this).constructor; e = Reflect.construct(o, arguments, s); } else e = o.apply(this, arguments); return (0, _possibleConstructorReturn2.default)(this, e); }; }
21
22
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
22
- var withImageLoader = exports.withImageLoader = function withImageLoader(Wrapped) {
23
+ var withImageLoaderOld = exports.withImageLoaderOld = function withImageLoaderOld(Wrapped) {
23
24
  return /*#__PURE__*/function (_Component) {
24
25
  (0, _inherits2.default)(WithImageLoader, _Component);
25
26
  var _super = _createSuper(WithImageLoader);
@@ -100,4 +101,92 @@ var withImageLoader = exports.withImageLoader = function withImageLoader(Wrapped
100
101
  }]);
101
102
  return WithImageLoader;
102
103
  }(_react.Component);
104
+ };
105
+ var withImageLoaderNew = function withImageLoaderNew(Wrapped) {
106
+ return /*#__PURE__*/function (_Component2) {
107
+ (0, _inherits2.default)(WithImageLoader, _Component2);
108
+ var _super2 = _createSuper(WithImageLoader);
109
+ function WithImageLoader() {
110
+ var _this2;
111
+ (0, _classCallCheck2.default)(this, WithImageLoader);
112
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
113
+ args[_key2] = arguments[_key2];
114
+ }
115
+ _this2 = _super2.call.apply(_super2, [this].concat(args));
116
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "state", {
117
+ imageStatus: 'loading'
118
+ });
119
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "onLoad", function () {
120
+ _this2.setState({
121
+ imageStatus: 'complete'
122
+ });
123
+ var onExternalImageLoaded = _this2.props.onExternalImageLoaded;
124
+ if (onExternalImageLoaded && _this2.img) {
125
+ onExternalImageLoaded({
126
+ width: _this2.img.naturalWidth,
127
+ height: _this2.img.naturalHeight
128
+ });
129
+ }
130
+ });
131
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this2), "onError", function () {
132
+ _this2.setState({
133
+ imageStatus: 'error'
134
+ });
135
+ });
136
+ return _this2;
137
+ }
138
+ (0, _createClass2.default)(WithImageLoader, [{
139
+ key: "componentDidMount",
140
+ value: function componentDidMount() {
141
+ this.fetchImage(this.props);
142
+ }
143
+ }, {
144
+ key: "componentDidUpdate",
145
+ value: function componentDidUpdate(newProps) {
146
+ if (newProps.url !== this.props.url) {
147
+ this.setState({
148
+ imageStatus: 'loading'
149
+ });
150
+ this.fetchImage(newProps);
151
+ }
152
+ }
153
+ }, {
154
+ key: "componentWillUnmount",
155
+ value: function componentWillUnmount() {
156
+ if (this.img) {
157
+ this.img.removeEventListener('load', this.onLoad);
158
+ this.img.removeEventListener('error', this.onError);
159
+ this.img = null;
160
+ }
161
+ }
162
+ }, {
163
+ key: "fetchImage",
164
+ value: function fetchImage(_ref2) {
165
+ var url = _ref2.url;
166
+ if (url) {
167
+ if (!this.img) {
168
+ this.img = new Image();
169
+ this.img.addEventListener('load', this.onLoad);
170
+ this.img.addEventListener('error', this.onError);
171
+ }
172
+ this.img.src = url;
173
+ }
174
+ }
175
+ }, {
176
+ key: "render",
177
+ value: function render() {
178
+ var imageStatus = this.state.imageStatus;
179
+ return /*#__PURE__*/_react.default.createElement(Wrapped, (0, _extends2.default)({}, this.props, {
180
+ imageStatus: imageStatus
181
+ }));
182
+ }
183
+ }]);
184
+ return WithImageLoader;
185
+ }(_react.Component);
186
+ };
187
+ var withImageLoader = exports.withImageLoader = function withImageLoader(Wrapped) {
188
+ if ((0, _platformFeatureFlags.fg)('platform_editor_react18_phase2')) {
189
+ return withImageLoaderNew(Wrapped);
190
+ }
191
+ return withImageLoaderOld(Wrapped);
103
192
  };
@@ -275,6 +275,7 @@ export let ACTION_SUBJECT_ID = /*#__PURE__*/function (ACTION_SUBJECT_ID) {
275
275
  ACTION_SUBJECT_ID["CODE_BLOCK"] = "codeBlock";
276
276
  ACTION_SUBJECT_ID["CODEBLOCK_COPY"] = "codeBlockCopy";
277
277
  ACTION_SUBJECT_ID["CODEBLOCK_WRAP"] = "codeBlockWrap";
278
+ ACTION_SUBJECT_ID["COPY_LINK_TO_ANCHOR"] = "copyLinkToAnchor";
278
279
  ACTION_SUBJECT_ID["CREATE_INLINE_COMMENT_FROM_HIGHLIGHT_ACTIONS_MENU"] = "createInlineCommentFromHighlightActionsMenu";
279
280
  ACTION_SUBJECT_ID["DATE"] = "date";
280
281
  ACTION_SUBJECT_ID["DATE_DAY"] = "day";