@atlaskit/editor-common 88.6.1 → 88.7.0

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 (75) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/cjs/analytics/fire-analytics-event.js +2 -2
  3. package/dist/cjs/element-browser/components/CategoryList.js +2 -2
  4. package/dist/cjs/element-browser/components/ElementList/ElementList.js +2 -2
  5. package/dist/cjs/element-browser/components/ElementSearch.js +2 -2
  6. package/dist/cjs/element-browser/components/StatelessElementBrowser.js +4 -3
  7. package/dist/cjs/lazy-node-view/index.js +89 -11
  8. package/dist/cjs/lazy-node-view/node-view.js +27 -7
  9. package/dist/cjs/link/ConfigureLinkOverlay/Dropdown.js +2 -2
  10. package/dist/cjs/link/ConfigureLinkOverlay/index.js +2 -2
  11. package/dist/cjs/link/ConfigureLinkOverlay/useLinkOverlayAnalyticsEvents.js +6 -6
  12. package/dist/cjs/link/LinkPicker/EditorLinkPicker/index.js +2 -2
  13. package/dist/cjs/link/LinkPicker/HyperlinkAddToolbar/HyperlinkAddToolbar.js +2 -2
  14. package/dist/cjs/media-inline/media-inline-image-card.js +2 -2
  15. package/dist/cjs/monitoring/error.js +1 -1
  16. package/dist/cjs/ui/DropList/index.js +7 -5
  17. package/dist/cjs/ui/WithCreateAnalyticsEvent/index.js +2 -2
  18. package/dist/cjs/ui-menu/ColorPickerButton/index.js +4 -3
  19. package/dist/cjs/ui-menu/ToolbarButton/index.js +2 -2
  20. package/dist/es2019/analytics/fire-analytics-event.js +1 -1
  21. package/dist/es2019/element-browser/components/CategoryList.js +1 -1
  22. package/dist/es2019/element-browser/components/ElementList/ElementList.js +1 -1
  23. package/dist/es2019/element-browser/components/ElementSearch.js +1 -1
  24. package/dist/es2019/element-browser/components/StatelessElementBrowser.js +2 -1
  25. package/dist/es2019/lazy-node-view/index.js +81 -11
  26. package/dist/es2019/lazy-node-view/node-view.js +25 -6
  27. package/dist/es2019/link/ConfigureLinkOverlay/Dropdown.js +1 -1
  28. package/dist/es2019/link/ConfigureLinkOverlay/index.js +1 -1
  29. package/dist/es2019/link/ConfigureLinkOverlay/useLinkOverlayAnalyticsEvents.js +2 -2
  30. package/dist/es2019/link/LinkPicker/EditorLinkPicker/index.js +1 -1
  31. package/dist/es2019/link/LinkPicker/HyperlinkAddToolbar/HyperlinkAddToolbar.js +1 -1
  32. package/dist/es2019/media-inline/media-inline-image-card.js +1 -1
  33. package/dist/es2019/monitoring/error.js +1 -1
  34. package/dist/es2019/ui/DropList/index.js +4 -2
  35. package/dist/es2019/ui/WithCreateAnalyticsEvent/index.js +1 -1
  36. package/dist/es2019/ui-menu/ColorPickerButton/index.js +2 -1
  37. package/dist/es2019/ui-menu/ToolbarButton/index.js +1 -1
  38. package/dist/esm/analytics/fire-analytics-event.js +1 -1
  39. package/dist/esm/element-browser/components/CategoryList.js +1 -1
  40. package/dist/esm/element-browser/components/ElementList/ElementList.js +1 -1
  41. package/dist/esm/element-browser/components/ElementSearch.js +1 -1
  42. package/dist/esm/element-browser/components/StatelessElementBrowser.js +2 -1
  43. package/dist/esm/lazy-node-view/index.js +85 -11
  44. package/dist/esm/lazy-node-view/node-view.js +27 -7
  45. package/dist/esm/link/ConfigureLinkOverlay/Dropdown.js +1 -1
  46. package/dist/esm/link/ConfigureLinkOverlay/index.js +1 -1
  47. package/dist/esm/link/ConfigureLinkOverlay/useLinkOverlayAnalyticsEvents.js +2 -2
  48. package/dist/esm/link/LinkPicker/EditorLinkPicker/index.js +1 -1
  49. package/dist/esm/link/LinkPicker/HyperlinkAddToolbar/HyperlinkAddToolbar.js +1 -1
  50. package/dist/esm/media-inline/media-inline-image-card.js +1 -1
  51. package/dist/esm/monitoring/error.js +1 -1
  52. package/dist/esm/ui/DropList/index.js +4 -2
  53. package/dist/esm/ui/WithCreateAnalyticsEvent/index.js +1 -1
  54. package/dist/esm/ui-menu/ColorPickerButton/index.js +2 -1
  55. package/dist/esm/ui-menu/ToolbarButton/index.js +1 -1
  56. package/dist/types/analytics/fire-analytics-event.d.ts +1 -1
  57. package/dist/types/analytics/types/events.d.ts +1 -1
  58. package/dist/types/element-browser/components/ElementSearch.d.ts +1 -1
  59. package/dist/types/lazy-node-view/index.d.ts +18 -1
  60. package/dist/types/lazy-node-view/node-view.d.ts +4 -5
  61. package/dist/types/link/ConfigureLinkOverlay/Dropdown.d.ts +1 -1
  62. package/dist/types/link/ConfigureLinkOverlay/index.d.ts +1 -1
  63. package/dist/types-ts4.5/analytics/fire-analytics-event.d.ts +1 -1
  64. package/dist/types-ts4.5/analytics/types/events.d.ts +1 -1
  65. package/dist/types-ts4.5/element-browser/components/ElementSearch.d.ts +1 -1
  66. package/dist/types-ts4.5/lazy-node-view/index.d.ts +18 -1
  67. package/dist/types-ts4.5/lazy-node-view/node-view.d.ts +4 -5
  68. package/dist/types-ts4.5/link/ConfigureLinkOverlay/Dropdown.d.ts +1 -1
  69. package/dist/types-ts4.5/link/ConfigureLinkOverlay/index.d.ts +1 -1
  70. package/package.json +1 -1
  71. package/dist/cjs/lazy-node-view/replace-node-views.js +0 -173
  72. package/dist/es2019/lazy-node-view/replace-node-views.js +0 -166
  73. package/dist/esm/lazy-node-view/replace-node-views.js +0 -166
  74. package/dist/types/lazy-node-view/replace-node-views.d.ts +0 -34
  75. package/dist/types-ts4.5/lazy-node-view/replace-node-views.d.ts +0 -34
package/CHANGELOG.md CHANGED
@@ -1,5 +1,28 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 88.7.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#136261](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/136261)
8
+ [`7e900c6a2ae84`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/7e900c6a2ae84) -
9
+ Lazy node view loading without setProps
10
+
11
+ ### Patch Changes
12
+
13
+ - [#136261](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/136261)
14
+ [`7e900c6a2ae84`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/7e900c6a2ae84) -
15
+ Replace LazyNodeView without view.setProps
16
+
17
+ ## 88.6.2
18
+
19
+ ### Patch Changes
20
+
21
+ - [#136143](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/136143)
22
+ [`851c2575d214e`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/851c2575d214e) -
23
+ Use optimised entry-points for analytics packages to reduce bundle size.
24
+ - Updated dependencies
25
+
3
26
  ## 88.6.1
4
27
 
5
28
  ### Patch Changes
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.fireAnalyticsEvent = exports.editorAnalyticsChannel = void 0;
7
- var _analyticsListeners = require("@atlaskit/analytics-listeners");
7
+ var _types = require("@atlaskit/analytics-listeners/types");
8
8
  var _analyticsQueue = require("./analytics-queue");
9
- var editorAnalyticsChannel = exports.editorAnalyticsChannel = _analyticsListeners.FabricChannel.editor;
9
+ var editorAnalyticsChannel = exports.editorAnalyticsChannel = _types.FabricChannel.editor;
10
10
  var fireAnalyticsEvent = exports.fireAnalyticsEvent = function fireAnalyticsEvent(createAnalyticsEvent) {
11
11
  return function (_ref) {
12
12
  var payload = _ref.payload,
@@ -11,7 +11,7 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
11
11
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
  var _react2 = require("@emotion/react");
14
- var _analyticsNext = require("@atlaskit/analytics-next");
14
+ var _withAnalyticsContext = _interopRequireDefault(require("@atlaskit/analytics-next/withAnalyticsContext"));
15
15
  var _customThemeButton = _interopRequireDefault(require("@atlaskit/button/custom-theme-button"));
16
16
  var _colors = require("@atlaskit/theme/colors");
17
17
  var _analytics = require("../../analytics");
@@ -191,7 +191,7 @@ var buttonWrapper = (0, _react2.css)((0, _defineProperty2.default)({
191
191
  marginBottom: 0
192
192
  }
193
193
  }));
194
- var MemoizedCategoryListWithAnalytics = /*#__PURE__*/(0, _react.memo)((0, _analyticsNext.withAnalyticsContext)({
194
+ var MemoizedCategoryListWithAnalytics = /*#__PURE__*/(0, _react.memo)((0, _withAnalyticsContext.default)({
195
195
  component: 'CategoryList'
196
196
  })(CategoryList));
197
197
  var _default = exports.default = MemoizedCategoryListWithAnalytics;
@@ -15,7 +15,7 @@ var _react2 = require("@emotion/react");
15
15
  var _reactVirtualized = require("react-virtualized");
16
16
  var _AutoSizer = require("react-virtualized/dist/commonjs/AutoSizer");
17
17
  var _CellMeasurer = require("react-virtualized/dist/commonjs/CellMeasurer");
18
- var _analyticsNext = require("@atlaskit/analytics-next");
18
+ var _withAnalyticsContext = _interopRequireDefault(require("@atlaskit/analytics-next/withAnalyticsContext"));
19
19
  var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
20
20
  var _shortcut = require("@atlaskit/editor-shared-styles/shortcut");
21
21
  var _menu = require("@atlaskit/menu");
@@ -413,7 +413,7 @@ var itemIconStyle = (0, _react2.css)({
413
413
  objectFit: 'cover'
414
414
  }
415
415
  });
416
- var MemoizedElementListWithAnalytics = /*#__PURE__*/(0, _react.memo)((0, _analyticsNext.withAnalyticsContext)({
416
+ var MemoizedElementListWithAnalytics = /*#__PURE__*/(0, _react.memo)((0, _withAnalyticsContext.default)({
417
417
  component: 'ElementList'
418
418
  })(ElementList));
419
419
  var _default = exports.default = MemoizedElementListWithAnalytics;
@@ -10,7 +10,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
  var _react2 = require("@emotion/react");
12
12
  var _reactIntlNext = require("react-intl-next");
13
- var _analyticsNext = require("@atlaskit/analytics-next");
13
+ var _withAnalyticsContext = _interopRequireDefault(require("@atlaskit/analytics-next/withAnalyticsContext"));
14
14
  var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
15
15
  var _shortcut = require("@atlaskit/editor-shared-styles/shortcut");
16
16
  var _search = _interopRequireDefault(require("@atlaskit/icon/glyph/search"));
@@ -181,7 +181,7 @@ var elementAfterInput = (0, _react2.css)({
181
181
  height: _constants.SEARCH_ITEM_HEIGHT_WIDTH,
182
182
  textAlign: 'center'
183
183
  });
184
- var MemoizedElementSearchWithAnalytics = /*#__PURE__*/(0, _react.memo)((0, _analyticsNext.withAnalyticsContext)({
184
+ var MemoizedElementSearchWithAnalytics = /*#__PURE__*/(0, _react.memo)((0, _withAnalyticsContext.default)({
185
185
  component: 'Searchbar'
186
186
  })((0, _reactIntlNext.injectIntl)(ElementSearch)));
187
187
  var _default = exports.default = MemoizedElementSearchWithAnalytics;
@@ -11,7 +11,8 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
11
11
  var _react = _interopRequireWildcard(require("react"));
12
12
  var _react2 = require("@emotion/react");
13
13
  var _reactIntlNext = require("react-intl-next");
14
- var _analyticsNext = require("@atlaskit/analytics-next");
14
+ var _withAnalyticsContext = _interopRequireDefault(require("@atlaskit/analytics-next/withAnalyticsContext"));
15
+ var _withAnalyticsEvents = _interopRequireDefault(require("@atlaskit/analytics-next/withAnalyticsEvents"));
15
16
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
16
17
  var _analytics = require("../../analytics");
17
18
  var _constants = require("../constants");
@@ -413,7 +414,7 @@ function DesktopBrowser(_ref2) {
413
414
  setFocusedCategoryIndex: showCategories ? setFocusedCategoryIndex : undefined
414
415
  })));
415
416
  }
416
- var MemoizedElementBrowser = /*#__PURE__*/(0, _react.memo)((0, _analyticsNext.withAnalyticsContext)({
417
+ var MemoizedElementBrowser = /*#__PURE__*/(0, _react.memo)((0, _withAnalyticsContext.default)({
417
418
  source: 'ElementBrowser'
418
- })((0, _analyticsNext.withAnalyticsEvents)()(StatelessElementBrowser)));
419
+ })((0, _withAnalyticsEvents.default)()(StatelessElementBrowser)));
419
420
  var _default = exports.default = MemoizedElementBrowser;
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
@@ -9,10 +10,20 @@ Object.defineProperty(exports, "convertToInlineCss", {
9
10
  return _cssHelper.convertToInlineCss;
10
11
  }
11
12
  });
13
+ exports.lazyNodeViewDecorationPluginKey = void 0;
14
+ exports.testOnlyIgnoreLazyNodeView = testOnlyIgnoreLazyNodeView;
12
15
  exports.withLazyLoading = void 0;
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+ var _state = require("@atlaskit/editor-prosemirror/state");
13
18
  var _nodeView = require("./node-view");
14
- var _replaceNodeViews = require("./replace-node-views");
15
19
  var _cssHelper = require("./css-helper");
20
+ /**
21
+ * 📢 Public Plugin Key
22
+ *
23
+ * Communication channel between LazyNodeView loader and LazyNodeViewDecorationPlugin.
24
+ */
25
+ var lazyNodeViewDecorationPluginKey = exports.lazyNodeViewDecorationPluginKey = new _state.PluginKey('lazyNodeViewDecoration');
26
+
16
27
  /**
17
28
  * 📢 Public Type
18
29
  *
@@ -25,6 +36,12 @@ var _cssHelper = require("./css-helper");
25
36
  * @see {withLazyLoading}
26
37
  */
27
38
 
39
+ /**
40
+ * 🧱 Internal: Editor FE Platform
41
+ *
42
+ * Caches loaded node view factory functions
43
+ */
44
+
28
45
  /**
29
46
  * 🧱 Internal: Editor FE Platform
30
47
  *
@@ -32,6 +49,33 @@ var _cssHelper = require("./css-helper");
32
49
  */
33
50
  var requestedNodesPerEditorView = new WeakMap();
34
51
 
52
+ /**
53
+ * 🧱 Internal: Editor FE Platform
54
+ *
55
+ * Caches loaded node view factory functions for each editor view
56
+ */
57
+ var resolvedNodesPerEditorView = new WeakMap();
58
+
59
+ /**
60
+ * 🧱 Internal: Editor FE Platform
61
+ *
62
+ * Stores editorView -> raf to debounce NodeView updates.
63
+ */
64
+ var debounceToEditorViewMap = new WeakMap();
65
+ var testOnlyIgnoreLazyNodeViewSet = new WeakSet();
66
+ /**
67
+ * 🧱 Internal: Editor FE Platform
68
+ *
69
+ * Used in tests to prevent lazy node view being replaced by a real node view.
70
+ *
71
+ * This needs to be replaced with proper implementation once LazyNodeView is converted to a plugin.
72
+ *
73
+ * @deprecated DO NOT USE THIS OUSIDE TESTS.
74
+ */
75
+ function testOnlyIgnoreLazyNodeView(view) {
76
+ testOnlyIgnoreLazyNodeViewSet.add(view);
77
+ }
78
+
35
79
  /**
36
80
  * 📢 Public: Any EditorPlugin can use this function
37
81
  *
@@ -75,28 +119,62 @@ var requestedNodesPerEditorView = new WeakMap();
75
119
  var withLazyLoading = exports.withLazyLoading = function withLazyLoading(_ref) {
76
120
  var nodeName = _ref.nodeName,
77
121
  loader = _ref.loader,
78
- getNodeViewOptions = _ref.getNodeViewOptions,
79
- dispatchAnalyticsEvent = _ref.dispatchAnalyticsEvent;
122
+ getNodeViewOptions = _ref.getNodeViewOptions;
80
123
  var createLazyNodeView = function createLazyNodeView(node, view, getPos, decorations) {
81
124
  var _node$type;
82
125
  var requestedNodes = requestedNodesPerEditorView.get(view);
83
126
  if (!requestedNodes) {
84
- requestedNodes = new Set(), requestedNodesPerEditorView.set(view, requestedNodes);
127
+ requestedNodes = new Map();
128
+ requestedNodesPerEditorView.set(view, requestedNodes);
129
+ }
130
+ var resolvedNodeViews = resolvedNodesPerEditorView.get(view);
131
+ if (!resolvedNodeViews) {
132
+ resolvedNodesPerEditorView.set(view, new Map());
85
133
  }
86
134
  var wasAlreadyRequested = requestedNodes.has(nodeName);
87
135
  if (wasAlreadyRequested) {
88
- return new _nodeView.LazyNodeView(node, view, getPos);
136
+ var resolvedNodeView = resolvedNodeViews === null || resolvedNodeViews === void 0 ? void 0 : resolvedNodeViews.get(nodeName);
137
+ if (resolvedNodeView && !testOnlyIgnoreLazyNodeViewSet.has(view)) {
138
+ return resolvedNodeView(node, view, getPos, decorations);
139
+ }
140
+ return new _nodeView.LazyNodeView(node, view, getPos, requestedNodes.get(nodeName));
89
141
  }
90
- requestedNodes.add(nodeName);
91
- loader().then(function (nodeViewFuncModule) {
142
+ var loaderPromise = loader().then(function (nodeViewFuncModule) {
143
+ var _resolvedNodesPerEdit;
92
144
  var nodeViewFunc = function nodeViewFunc(node, view, getPos, decorations) {
93
145
  return nodeViewFuncModule(node, view, getPos, decorations, getNodeViewOptions);
94
146
  };
95
- (0, _replaceNodeViews.queueReplaceNodeViews)(view, {
96
- nodeName: nodeName,
97
- nodeViewFunc: nodeViewFunc
147
+ (_resolvedNodesPerEdit = resolvedNodesPerEditorView.get(view)) === null || _resolvedNodesPerEdit === void 0 || _resolvedNodesPerEdit.set(nodeName, nodeViewFunc);
148
+
149
+ /**
150
+ * Triggering lazyNodeViewDecoration plugin to apply decorations
151
+ * to nodes with newly loaded NodeViews.
152
+ */
153
+ var _ref2 = debounceToEditorViewMap.get(view) || [null, new Set()],
154
+ _ref3 = (0, _slicedToArray2.default)(_ref2, 2),
155
+ raf = _ref3[0],
156
+ nodeTypes = _ref3[1];
157
+ if (raf) {
158
+ cancelAnimationFrame(raf);
159
+ }
160
+ nodeTypes.add(node.type.name);
161
+ var nextRaf = requestAnimationFrame(function () {
162
+ debounceToEditorViewMap.set(view, [null, new Set()]);
163
+ var tr = view.state.tr;
164
+ tr.setMeta(lazyNodeViewDecorationPluginKey, {
165
+ type: 'add',
166
+ nodeTypes: nodeTypes
167
+ });
168
+ view.dispatch(tr);
98
169
  });
170
+ debounceToEditorViewMap.set(view, [nextRaf, nodeTypes]);
171
+ /**
172
+ * END triggering LazyNodeViewDecoration plugin
173
+ */
174
+
175
+ return nodeViewFunc;
99
176
  });
177
+ requestedNodes.set(nodeName, loaderPromise);
100
178
  if (typeof ((_node$type = node.type) === null || _node$type === void 0 || (_node$type = _node$type.spec) === null || _node$type === void 0 ? void 0 : _node$type.toDOM) !== 'function') {
101
179
  // TODO: Analytics ED-23982
102
180
  // dispatchAnalyticsEvent({
@@ -109,7 +187,7 @@ var withLazyLoading = exports.withLazyLoading = function withLazyLoading(_ref) {
109
187
  // },
110
188
  // });
111
189
  }
112
- return new _nodeView.LazyNodeView(node, view, getPos);
190
+ return new _nodeView.LazyNodeView(node, view, getPos, loaderPromise);
113
191
  };
114
192
  return createLazyNodeView;
115
193
  };
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.LazyNodeView = void 0;
8
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
11
  var _memoize = _interopRequireDefault(require("lodash/memoize"));
11
12
  var _model = require("@atlaskit/editor-prosemirror/model");
12
13
  var getEditorLineWidth = (0, _memoize.default)(function (view) {
@@ -20,18 +21,34 @@ var getEditorLineWidth = (0, _memoize.default)(function (view) {
20
21
  * A NodeView that serves as a placeholder until the actual NodeView is loaded.
21
22
  */
22
23
  var LazyNodeView = exports.LazyNodeView = /*#__PURE__*/function () {
23
- function LazyNodeView(node, view, getPos) {
24
- var _node$type;
24
+ function LazyNodeView(_node, view, _getPos, nodeViewLoader) {
25
+ var _this = this,
26
+ _node$type;
25
27
  (0, _classCallCheck2.default)(this, LazyNodeView);
26
- this.node = node;
27
- if (typeof ((_node$type = node.type) === null || _node$type === void 0 || (_node$type = _node$type.spec) === null || _node$type === void 0 ? void 0 : _node$type.toDOM) !== 'function') {
28
+ (0, _defineProperty2.default)(this, "update", function (node) {
29
+ var prevNode = _this.node;
30
+ _this.node = node;
31
+
32
+ // Forcing NodeView to be re-created
33
+ // so that ProseMirror can replace LazyNodeView with the real one.
34
+ if (_this.isNodeViewLoaded) {
35
+ return false;
36
+ }
37
+
38
+ // Copying some of the default NodeView update behaviour
39
+ // https://github.com/ProseMirror/prosemirror-view/blob/cfa73eb969777f63bcb39972594fd4a9110f5a93/src/viewdesc.ts#L803
40
+ return !_this.node.sameMarkup(prevNode);
41
+ });
42
+ this.node = _node;
43
+ this.isNodeViewLoaded = false;
44
+ if (typeof ((_node$type = _node.type) === null || _node$type === void 0 || (_node$type = _node$type.spec) === null || _node$type === void 0 ? void 0 : _node$type.toDOM) !== 'function') {
28
45
  this.dom = document.createElement('div');
29
46
  return;
30
47
  }
31
48
  var toDOMConfiguration = {
32
49
  editorLineWidth: getEditorLineWidth(view)
33
50
  };
34
- var fallback = _model.DOMSerializer.renderSpec(document, node.type.spec.toDOM(node,
51
+ var fallback = _model.DOMSerializer.renderSpec(document, _node.type.spec.toDOM(_node,
35
52
  // We are injecting a second parameter to be used by the toDOM lazy node view implementations
36
53
  // @ts-expect-error
37
54
  toDOMConfiguration));
@@ -40,16 +57,19 @@ var LazyNodeView = exports.LazyNodeView = /*#__PURE__*/function () {
40
57
  if (this.dom instanceof HTMLElement) {
41
58
  // This attribute is mostly used for debugging purposed
42
59
  // It will help us to found out when the node was replaced
43
- this.dom.setAttribute('data-lazy-node-view', node.type.name);
60
+ this.dom.setAttribute('data-lazy-node-view', _node.type.name);
44
61
  // This is used on Libra tests
45
62
  // We are using this to make sure all lazy noded were replaced
46
63
  // before the test started
47
64
  this.dom.setAttribute('data-lazy-node-view-fallback', 'true');
48
65
  }
66
+ nodeViewLoader.then(function () {
67
+ _this.isNodeViewLoaded = true;
68
+ });
49
69
  }
50
70
  (0, _createClass2.default)(LazyNodeView, [{
51
71
  key: "ignoreMutation",
52
- value: function ignoreMutation(mutation) {
72
+ value: function ignoreMutation() {
53
73
  if (this.node.type.isTextblock) {
54
74
  return false;
55
75
  }
@@ -11,7 +11,7 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
11
11
  var _react = require("react");
12
12
  var _react2 = require("@emotion/react");
13
13
  var _reactIntlNext = require("react-intl-next");
14
- var _analyticsNext = require("@atlaskit/analytics-next");
14
+ var _withAnalyticsContext = _interopRequireDefault(require("@atlaskit/analytics-next/withAnalyticsContext"));
15
15
  var _dropdownMenu = _interopRequireWildcard(require("@atlaskit/dropdown-menu"));
16
16
  var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/glyph/chevron-down"));
17
17
  var _preferences = _interopRequireDefault(require("@atlaskit/icon/glyph/preferences"));
@@ -107,6 +107,6 @@ var Dropdown = function Dropdown(_ref) {
107
107
  testId: "".concat(testId, "-dropdown-item-configure")
108
108
  }, configureLinkLabel)));
109
109
  };
110
- var _default = exports.default = (0, _analyticsNext.withAnalyticsContext)({
110
+ var _default = exports.default = (0, _withAnalyticsContext.default)({
111
111
  source: SMALL_LINK_TOOLBAR_ANALYTICS_SOURCE
112
112
  })(Dropdown);
@@ -9,7 +9,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
9
9
  var _react = require("react");
10
10
  var _react2 = require("@emotion/react");
11
11
  var _reactIntlNext = require("react-intl-next");
12
- var _analyticsNext = require("@atlaskit/analytics-next");
12
+ var _withAnalyticsContext = _interopRequireDefault(require("@atlaskit/analytics-next/withAnalyticsContext"));
13
13
  var _state = require("@atlaskit/editor-prosemirror/state");
14
14
  var _preferences = _interopRequireDefault(require("@atlaskit/icon/glyph/preferences"));
15
15
  var _colors = require("@atlaskit/theme/colors");
@@ -36,7 +36,7 @@ var buttonWrapperStyles = (0, _react2.css)({
36
36
  borderRadius: "var(--ds-border-radius, 3px)"
37
37
  });
38
38
  var showDropdownThresholdPx = 50;
39
- var OverlayButton = exports.OverlayButton = (0, _analyticsNext.withAnalyticsContext)()(function (_ref) {
39
+ var OverlayButton = exports.OverlayButton = (0, _withAnalyticsContext.default)()(function (_ref) {
40
40
  var _docNode$nodeSize;
41
41
  var editorView = _ref.editorView,
42
42
  _ref$testId = _ref.testId,
@@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.useLinkOverlayAnalyticsEvents = void 0;
7
7
  var _react = require("react");
8
- var _analyticsListeners = require("@atlaskit/analytics-listeners");
9
- var _analyticsNext = require("@atlaskit/analytics-next");
8
+ var _types = require("@atlaskit/analytics-listeners/types");
9
+ var _useAnalyticsEvents2 = require("@atlaskit/analytics-next/useAnalyticsEvents");
10
10
  var _analytics = require("../../analytics");
11
11
  var useLinkOverlayAnalyticsEvents = exports.useLinkOverlayAnalyticsEvents = function useLinkOverlayAnalyticsEvents() {
12
- var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
12
+ var _useAnalyticsEvents = (0, _useAnalyticsEvents2.useAnalyticsEvents)(),
13
13
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
14
14
  return (0, _react.useMemo)(function () {
15
15
  return {
@@ -30,7 +30,7 @@ var useLinkOverlayAnalyticsEvents = exports.useLinkOverlayAnalyticsEvents = func
30
30
  attributes: {
31
31
  action: linkAction
32
32
  }
33
- }).fire(_analyticsListeners.FabricChannel.media);
33
+ }).fire(_types.FabricChannel.media);
34
34
  },
35
35
  /**
36
36
  * When a user clicks on the dropdown for a short link, or when a user clicks on the configure button for a wide link.
@@ -40,7 +40,7 @@ var useLinkOverlayAnalyticsEvents = exports.useLinkOverlayAnalyticsEvents = func
40
40
  action: _analytics.ACTION.CLICKED,
41
41
  actionSubject: _analytics.ACTION_SUBJECT.LINK,
42
42
  eventType: _analytics.EVENT_TYPE.UI
43
- }).fire(_analyticsListeners.FabricChannel.media);
43
+ }).fire(_types.FabricChannel.media);
44
44
  },
45
45
  fireToolbarViewEvent: function fireToolbarViewEvent() {
46
46
  createAnalyticsEvent({
@@ -51,7 +51,7 @@ var useLinkOverlayAnalyticsEvents = exports.useLinkOverlayAnalyticsEvents = func
51
51
  attributes: {
52
52
  linkType: 'smallLink'
53
53
  }
54
- }).fire(_analyticsListeners.FabricChannel.media);
54
+ }).fire(_types.FabricChannel.media);
55
55
  }
56
56
  };
57
57
  }, [createAnalyticsEvent]);
@@ -9,7 +9,7 @@ exports.EditorLinkPicker = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
11
  var _react = _interopRequireWildcard(require("react"));
12
- var _analyticsNext = require("@atlaskit/analytics-next");
12
+ var _AnalyticsContext = _interopRequireDefault(require("@atlaskit/analytics-next/AnalyticsContext"));
13
13
  var _lazy = require("@atlaskit/link-picker/lazy");
14
14
  var _utils = require("../../../utils");
15
15
  var _useEscapeClickaway = require("./useEscapeClickaway");
@@ -77,7 +77,7 @@ var EditorLinkPicker = exports.EditorLinkPicker = function EditorLinkPicker(_ref
77
77
  }, [invokeMethod, analyticsEditorAppearance]);
78
78
  return /*#__PURE__*/_react.default.createElement("div", {
79
79
  ref: ref
80
- }, /*#__PURE__*/_react.default.createElement(_analyticsNext.AnalyticsContext, {
80
+ }, /*#__PURE__*/_react.default.createElement(_AnalyticsContext.default, {
81
81
  data: analyticsData
82
82
  }, /*#__PURE__*/_react.default.createElement(_lazy.LazyLinkPicker, (0, _extends2.default)({}, restProps, {
83
83
  onCancel: onEscape
@@ -23,7 +23,7 @@ var _debounce = _interopRequireDefault(require("lodash/debounce"));
23
23
  var _reactDom = require("react-dom");
24
24
  var _reactIntlNext = require("react-intl-next");
25
25
  var _adfSchema = require("@atlaskit/adf-schema");
26
- var _analyticsNext = require("@atlaskit/analytics-next");
26
+ var _withAnalyticsEvents = _interopRequireDefault(require("@atlaskit/analytics-next/withAnalyticsEvents"));
27
27
  var _ = _interopRequireDefault(require("@atlaskit/icon-object/glyph/page/16"));
28
28
  var _crossCircle = _interopRequireDefault(require("@atlaskit/icon/glyph/cross-circle"));
29
29
  var _primitives = require("@atlaskit/primitives");
@@ -959,4 +959,4 @@ function limit(items) {
959
959
  return items.slice(0, RECENT_SEARCH_LIST_SIZE);
960
960
  }
961
961
  var HyperlinkLinkAddToolbarWithIntl = exports.HyperlinkLinkAddToolbarWithIntl = (0, _reactIntlNext.injectIntl)(HyperlinkLinkAddToolbar);
962
- var _default = exports.default = (0, _analyticsNext.withAnalyticsEvents)()(HyperlinkLinkAddToolbarWithIntl);
962
+ var _default = exports.default = (0, _withAnalyticsEvents.default)()(HyperlinkLinkAddToolbarWithIntl);
@@ -11,7 +11,7 @@ var _react = require("react");
11
11
  var _react2 = require("@emotion/react");
12
12
  var _reactDom = _interopRequireDefault(require("react-dom"));
13
13
  var _reactIntlNext = require("react-intl-next");
14
- var _analyticsNext = require("@atlaskit/analytics-next");
14
+ var _useAnalyticsEvents2 = require("@atlaskit/analytics-next/useAnalyticsEvents");
15
15
  var _mediaCard = require("@atlaskit/media-card");
16
16
  var _mediaClient = require("@atlaskit/media-client");
17
17
  var _mediaClientReact = require("@atlaskit/media-client-react");
@@ -64,7 +64,7 @@ var MediaInlineImageCardInternal = exports.MediaInlineImageCardInternal = functi
64
64
  locale: 'en'
65
65
  }),
66
66
  formatMessage = _ref2.formatMessage;
67
- var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
67
+ var _useAnalyticsEvents = (0, _useAnalyticsEvents2.useAnalyticsEvents)(),
68
68
  createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
69
69
  var fireFailedOperationalEvent = function fireFailedOperationalEvent() {
70
70
  var error = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new _mediaCard.MediaCardError('missing-error-data');
@@ -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 && Object.prototype.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 = "88.6.1";
20
+ var packageVersion = "88.7.0";
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
@@ -14,7 +14,9 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
14
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
15
  var _react = require("react");
16
16
  var _react2 = require("@emotion/react");
17
- var _analyticsNext = require("@atlaskit/analytics-next");
17
+ var _createAndFireEvents = _interopRequireDefault(require("@atlaskit/analytics-next/createAndFireEvents"));
18
+ var _withAnalyticsContext = _interopRequireDefault(require("@atlaskit/analytics-next/withAnalyticsContext"));
19
+ var _withAnalyticsEvents = _interopRequireDefault(require("@atlaskit/analytics-next/withAnalyticsEvents"));
18
20
  var _colors = require("@atlaskit/theme/colors");
19
21
  var _Layer = _interopRequireDefault(require("../Layer"));
20
22
  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); }; }
@@ -23,7 +25,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
23
25
  * @jsx jsx
24
26
  */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
25
27
  var packageName = "@atlaskit/editor-common";
26
- var packageVersion = "88.6.1";
28
+ var packageVersion = "88.7.0";
27
29
  var halfFocusRing = 1;
28
30
  var dropOffset = '0, 8';
29
31
  var DropList = /*#__PURE__*/function (_Component) {
@@ -170,12 +172,12 @@ var DropList = /*#__PURE__*/function (_Component) {
170
172
  }]);
171
173
  return DropList;
172
174
  }(_react.Component);
173
- var createAndFireEventOnAtlaskit = (0, _analyticsNext.createAndFireEvent)('atlaskit');
174
- var _default = exports.default = (0, _analyticsNext.withAnalyticsContext)({
175
+ var createAndFireEventOnAtlaskit = (0, _createAndFireEvents.default)('atlaskit');
176
+ var _default = exports.default = (0, _withAnalyticsContext.default)({
175
177
  componentName: 'droplist',
176
178
  packageName: packageName,
177
179
  packageVersion: packageVersion
178
- })((0, _analyticsNext.withAnalyticsEvents)({
180
+ })((0, _withAnalyticsEvents.default)({
179
181
  onOpenChange: createAndFireEventOnAtlaskit({
180
182
  action: 'toggled',
181
183
  actionSubject: 'droplist',
@@ -11,10 +11,10 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
11
11
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
12
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
13
  var _react = _interopRequireDefault(require("react"));
14
- var _analyticsNext = require("@atlaskit/analytics-next");
14
+ var _withAnalyticsEvents = _interopRequireDefault(require("@atlaskit/analytics-next/withAnalyticsEvents"));
15
15
  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); }; }
16
16
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
17
- var WithCreateAnalyticsEvent = exports.WithCreateAnalyticsEvent = (0, _analyticsNext.withAnalyticsEvents)()( /*#__PURE__*/function (_React$Component) {
17
+ var WithCreateAnalyticsEvent = exports.WithCreateAnalyticsEvent = (0, _withAnalyticsEvents.default)()( /*#__PURE__*/function (_React$Component) {
18
18
  (0, _inherits2.default)(WithCreateAnalyticsEvent, _React$Component);
19
19
  var _super = _createSuper(WithCreateAnalyticsEvent);
20
20
  function WithCreateAnalyticsEvent() {
@@ -8,7 +8,8 @@ exports.default = void 0;
8
8
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
9
9
  var _react = _interopRequireDefault(require("react"));
10
10
  var _react2 = require("@emotion/react");
11
- var _analyticsNext = require("@atlaskit/analytics-next");
11
+ var _withAnalyticsContext = _interopRequireDefault(require("@atlaskit/analytics-next/withAnalyticsContext"));
12
+ var _withAnalyticsEvents = _interopRequireDefault(require("@atlaskit/analytics-next/withAnalyticsEvents"));
12
13
  var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-button"));
13
14
  var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/glyph/chevron-down"));
14
15
  var _colors = require("@atlaskit/theme/colors");
@@ -236,6 +237,6 @@ var ColorPickerButton = function ColorPickerButton(props) {
236
237
  "data-selected-color": props.currentColor
237
238
  })), renderPopup());
238
239
  };
239
- var _default = exports.default = (0, _analyticsNext.withAnalyticsContext)({
240
+ var _default = exports.default = (0, _withAnalyticsContext.default)({
240
241
  source: 'ConfigPanel'
241
- })((0, _analyticsNext.withAnalyticsEvents)()(ColorPickerButton));
242
+ })((0, _withAnalyticsEvents.default)()(ColorPickerButton));
@@ -9,7 +9,7 @@ exports.default = exports.TOOLBAR_BUTTON = void 0;
9
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
  var _react2 = require("@emotion/react");
12
- var _analyticsListeners = require("@atlaskit/analytics-listeners");
12
+ var _types = require("@atlaskit/analytics-listeners/types");
13
13
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
14
14
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
15
15
  var _analytics = require("../../analytics");
@@ -68,7 +68,7 @@ var ToolbarButton = /*#__PURE__*/_react.default.forwardRef(function (props, ref)
68
68
  actionSubjectId: buttonId,
69
69
  eventType: _analytics.EVENT_TYPE.UI
70
70
  });
71
- }).fire(_analyticsListeners.FabricChannel.editor);
71
+ }).fire(_types.FabricChannel.editor);
72
72
  }
73
73
  if (onClick) {
74
74
  onClick(event);
@@ -1,4 +1,4 @@
1
- import { FabricChannel } from '@atlaskit/analytics-listeners';
1
+ import { FabricChannel } from '@atlaskit/analytics-listeners/types';
2
2
  import { AnalyticsQueue } from './analytics-queue';
3
3
  export const editorAnalyticsChannel = FabricChannel.editor;
4
4
  export const fireAnalyticsEvent = createAnalyticsEvent => ({
@@ -7,7 +7,7 @@ import React, { Fragment, memo, useCallback } from 'react';
7
7
 
8
8
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
9
9
  import { css, jsx } from '@emotion/react';
10
- import { withAnalyticsContext } from '@atlaskit/analytics-next';
10
+ import withAnalyticsContext from '@atlaskit/analytics-next/withAnalyticsContext';
11
11
  import Button from '@atlaskit/button/custom-theme-button';
12
12
  import { B400, B50, N800 } from '@atlaskit/theme/colors';
13
13
  import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, fireAnalyticsEvent } from '../../analytics';
@@ -10,7 +10,7 @@ import { css, jsx } from '@emotion/react';
10
10
  import { Grid } from 'react-virtualized';
11
11
  import { AutoSizer } from 'react-virtualized/dist/commonjs/AutoSizer';
12
12
  import { CellMeasurer, CellMeasurerCache } from 'react-virtualized/dist/commonjs/CellMeasurer';
13
- import { withAnalyticsContext } from '@atlaskit/analytics-next';
13
+ import withAnalyticsContext from '@atlaskit/analytics-next/withAnalyticsContext';
14
14
  import { relativeFontSizeToBase16 } from '@atlaskit/editor-shared-styles';
15
15
  import { shortcutStyle } from '@atlaskit/editor-shared-styles/shortcut';
16
16
  import { ButtonItem } from '@atlaskit/menu';
@@ -7,7 +7,7 @@ import React, { memo, useLayoutEffect, useRef, useState } from 'react';
7
7
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
8
8
  import { css, jsx } from '@emotion/react';
9
9
  import { injectIntl } from 'react-intl-next';
10
- import { withAnalyticsContext } from '@atlaskit/analytics-next';
10
+ import withAnalyticsContext from '@atlaskit/analytics-next/withAnalyticsContext';
11
11
  import { relativeFontSizeToBase16 } from '@atlaskit/editor-shared-styles';
12
12
  import { shortcutStyle } from '@atlaskit/editor-shared-styles/shortcut';
13
13
  import SearchIcon from '@atlaskit/icon/glyph/search';
@@ -8,7 +8,8 @@ import React, { memo, useCallback, useEffect, useRef, useState } from 'react';
8
8
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
9
9
  import { css, jsx } from '@emotion/react';
10
10
  import { FormattedMessage } from 'react-intl-next';
11
- import { withAnalyticsContext, withAnalyticsEvents } from '@atlaskit/analytics-next';
11
+ import withAnalyticsContext from '@atlaskit/analytics-next/withAnalyticsContext';
12
+ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
12
13
  import { fg } from '@atlaskit/platform-feature-flags';
13
14
  import { ACTION, ACTION_SUBJECT, EVENT_TYPE, fireAnalyticsEvent } from '../../analytics';
14
15
  import { DEVICE_BREAKPOINT_NUMBERS, ELEMENT_BROWSER_ID, GRID_SIZE, INLINE_SIDEBAR_HEIGHT, SIDEBAR_HEADING_WRAPPER_HEIGHT, SIDEBAR_WIDTH } from '../constants';