@atlaskit/editor-core 201.1.7 → 201.1.12

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 (36) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/afm-jira/tsconfig.json +84 -84
  3. package/dist/cjs/composable-editor/editor-internal.js +7 -1
  4. package/dist/cjs/create-editor/ReactEditorView.js +2 -0
  5. package/dist/cjs/create-editor/ReactEditorViewNext.js +3 -1
  6. package/dist/cjs/create-editor/create-editor.js +1 -0
  7. package/dist/cjs/presets/universal.js +2 -1
  8. package/dist/cjs/ui/ContentStyles/layout.js +12 -3
  9. package/dist/cjs/ui/EditorContext/index.js +1 -1
  10. package/dist/cjs/ui/WithEditorActions/index.js +1 -1
  11. package/dist/cjs/version-wrapper.js +1 -1
  12. package/dist/es2019/composable-editor/editor-internal.js +4 -1
  13. package/dist/es2019/create-editor/ReactEditorView.js +2 -0
  14. package/dist/es2019/create-editor/ReactEditorViewNext.js +3 -1
  15. package/dist/es2019/create-editor/create-editor.js +1 -0
  16. package/dist/es2019/presets/universal.js +2 -1
  17. package/dist/es2019/ui/ContentStyles/layout.js +43 -22
  18. package/dist/es2019/ui/EditorContext/index.js +1 -1
  19. package/dist/es2019/ui/WithEditorActions/index.js +1 -1
  20. package/dist/es2019/version-wrapper.js +1 -1
  21. package/dist/esm/composable-editor/editor-internal.js +7 -1
  22. package/dist/esm/create-editor/ReactEditorView.js +2 -0
  23. package/dist/esm/create-editor/ReactEditorViewNext.js +3 -1
  24. package/dist/esm/create-editor/create-editor.js +1 -0
  25. package/dist/esm/presets/universal.js +2 -1
  26. package/dist/esm/ui/ContentStyles/layout.js +13 -4
  27. package/dist/esm/ui/EditorContext/index.js +1 -1
  28. package/dist/esm/ui/WithEditorActions/index.js +1 -1
  29. package/dist/esm/version-wrapper.js +1 -1
  30. package/dist/types/create-editor/ReactEditorView.d.ts +1 -0
  31. package/dist/types/create-editor/ReactEditorViewNext.d.ts +1 -0
  32. package/dist/types/create-editor/get-plugins.d.ts +1 -0
  33. package/dist/types-ts4.5/create-editor/ReactEditorView.d.ts +1 -0
  34. package/dist/types-ts4.5/create-editor/ReactEditorViewNext.d.ts +1 -0
  35. package/dist/types-ts4.5/create-editor/get-plugins.d.ts +1 -0
  36. package/package.json +15 -15
package/CHANGELOG.md CHANGED
@@ -1,5 +1,45 @@
1
1
  # @atlaskit/editor-core
2
2
 
3
+ ## 201.1.12
4
+
5
+ ### Patch Changes
6
+
7
+ - [#160699](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/160699)
8
+ [`3f6d3eca921ed`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/3f6d3eca921ed) -
9
+ ED-25575: migrate panel plugin node rendering to portals
10
+
11
+ ## 201.1.11
12
+
13
+ ### Patch Changes
14
+
15
+ - [#161054](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/161054)
16
+ [`b0f65564c2b35`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/b0f65564c2b35) -
17
+ Add react node view for layout class name to styles to fix border specificity issues
18
+
19
+ ## 201.1.10
20
+
21
+ ### Patch Changes
22
+
23
+ - Updated dependencies
24
+
25
+ ## 201.1.9
26
+
27
+ ### Patch Changes
28
+
29
+ - [#160415](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/160415)
30
+ [`9dd7911f0fb16`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/9dd7911f0fb16) -
31
+ [ux] [ED-25057] Implement drag handle for layout column (position, hover zone, selection)
32
+ - Updated dependencies
33
+
34
+ ## 201.1.8
35
+
36
+ ### Patch Changes
37
+
38
+ - [#160771](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/160771)
39
+ [`52c92c480a7df`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/52c92c480a7df) -
40
+ Passes bodied macro feature gate and live page info from Confluence to extension nodes
41
+ - Updated dependencies
42
+
3
43
  ## 201.1.7
4
44
 
5
45
  ### Patch Changes
@@ -1,85 +1,85 @@
1
1
  {
2
- "extends": "../../../../tsconfig.entry-points.jira.json",
3
- "compilerOptions": {
4
- "declaration": true,
5
- "target": "es5",
6
- "outDir": "../../../../../tsDist/@atlaskit__editor-core/app",
7
- "composite": true,
8
- "rootDir": "../"
9
- },
10
- "include": [
11
- "../src/**/*.ts",
12
- "../src/**/*.tsx"
13
- ],
14
- "exclude": [
15
- "../src/**/__tests__/*",
16
- "../src/**/*.test.*",
17
- "../src/**/test.*",
18
- "../src/stories/*"
19
- ],
20
- "references": [
21
- {
22
- "path": "../../activity-provider/afm-jira/tsconfig.json"
23
- },
24
- {
25
- "path": "../../../analytics/analytics-namespaced-context/afm-jira/tsconfig.json"
26
- },
27
- {
28
- "path": "../../../analytics/analytics-next/afm-jira/tsconfig.json"
29
- },
30
- {
31
- "path": "../../../design-system/button/afm-jira/tsconfig.json"
32
- },
33
- {
34
- "path": "../../editor-common/afm-jira/tsconfig.json"
35
- },
36
- {
37
- "path": "../../editor-json-transformer/afm-jira/tsconfig.json"
38
- },
39
- {
40
- "path": "../../editor-plugin-quick-insert/afm-jira/tsconfig.json"
41
- },
42
- {
43
- "path": "../../editor-plugins/afm-jira/tsconfig.json"
44
- },
45
- {
46
- "path": "../../editor-shared-styles/afm-jira/tsconfig.json"
47
- },
48
- {
49
- "path": "../../../elements/emoji/afm-jira/tsconfig.json"
50
- },
51
- {
52
- "path": "../../../design-system/icon/afm-jira/tsconfig.json"
53
- },
54
- {
55
- "path": "../../../media/media-card/afm-jira/tsconfig.json"
56
- },
57
- {
58
- "path": "../../../elements/mention/afm-jira/tsconfig.json"
59
- },
60
- {
61
- "path": "../../../platform/feature-flags/afm-jira/tsconfig.json"
62
- },
63
- {
64
- "path": "../../../elements/task-decision/afm-jira/tsconfig.json"
65
- },
66
- {
67
- "path": "../../tmp-editor-statsig/afm-jira/tsconfig.json"
68
- },
69
- {
70
- "path": "../../../design-system/tokens/afm-jira/tsconfig.json"
71
- },
72
- {
73
- "path": "../../../design-system/tooltip/afm-jira/tsconfig.json"
74
- },
75
- {
76
- "path": "../../../design-system/width-detector/afm-jira/tsconfig.json"
77
- },
78
- {
79
- "path": "../../../linking-platform/link-provider/afm-jira/tsconfig.json"
80
- },
81
- {
82
- "path": "../../../media/media-core/afm-jira/tsconfig.json"
83
- }
84
- ]
85
- }
2
+ "extends": "../../../../tsconfig.entry-points.jira.json",
3
+ "compilerOptions": {
4
+ "declaration": true,
5
+ "target": "es5",
6
+ "outDir": "../../../../../tsDist/@atlaskit__editor-core/app",
7
+ "rootDir": "../",
8
+ "composite": true
9
+ },
10
+ "include": [
11
+ "../src/**/*.ts",
12
+ "../src/**/*.tsx"
13
+ ],
14
+ "exclude": [
15
+ "../src/**/__tests__/*",
16
+ "../src/**/*.test.*",
17
+ "../src/**/test.*",
18
+ "../src/stories/*"
19
+ ],
20
+ "references": [
21
+ {
22
+ "path": "../../activity-provider/afm-jira/tsconfig.json"
23
+ },
24
+ {
25
+ "path": "../../../analytics/analytics-namespaced-context/afm-jira/tsconfig.json"
26
+ },
27
+ {
28
+ "path": "../../../analytics/analytics-next/afm-jira/tsconfig.json"
29
+ },
30
+ {
31
+ "path": "../../../design-system/button/afm-jira/tsconfig.json"
32
+ },
33
+ {
34
+ "path": "../../editor-common/afm-jira/tsconfig.json"
35
+ },
36
+ {
37
+ "path": "../../editor-json-transformer/afm-jira/tsconfig.json"
38
+ },
39
+ {
40
+ "path": "../../editor-plugin-quick-insert/afm-jira/tsconfig.json"
41
+ },
42
+ {
43
+ "path": "../../editor-plugins/afm-jira/tsconfig.json"
44
+ },
45
+ {
46
+ "path": "../../editor-shared-styles/afm-jira/tsconfig.json"
47
+ },
48
+ {
49
+ "path": "../../../elements/emoji/afm-jira/tsconfig.json"
50
+ },
51
+ {
52
+ "path": "../../../design-system/icon/afm-jira/tsconfig.json"
53
+ },
54
+ {
55
+ "path": "../../../media/media-card/afm-jira/tsconfig.json"
56
+ },
57
+ {
58
+ "path": "../../../elements/mention/afm-jira/tsconfig.json"
59
+ },
60
+ {
61
+ "path": "../../../platform/feature-flags/afm-jira/tsconfig.json"
62
+ },
63
+ {
64
+ "path": "../../../elements/task-decision/afm-jira/tsconfig.json"
65
+ },
66
+ {
67
+ "path": "../../tmp-editor-statsig/afm-jira/tsconfig.json"
68
+ },
69
+ {
70
+ "path": "../../../design-system/tokens/afm-jira/tsconfig.json"
71
+ },
72
+ {
73
+ "path": "../../../design-system/tooltip/afm-jira/tsconfig.json"
74
+ },
75
+ {
76
+ "path": "../../../design-system/width-detector/afm-jira/tsconfig.json"
77
+ },
78
+ {
79
+ "path": "../../../linking-platform/link-provider/afm-jira/tsconfig.json"
80
+ },
81
+ {
82
+ "path": "../../../media/media-core/afm-jira/tsconfig.json"
83
+ }
84
+ ]
85
+ }
@@ -64,6 +64,10 @@ var EditorInternal = exports.EditorInternal = /*#__PURE__*/(0, _react.memo)(func
64
64
  _usePortalProvider2 = (0, _slicedToArray2.default)(_usePortalProvider, 2),
65
65
  portalProviderAPI = _usePortalProvider2[0],
66
66
  PortalRenderer = _usePortalProvider2[1];
67
+ var _usePortalProvider3 = (0, _portal.usePortalProvider)(),
68
+ _usePortalProvider4 = (0, _slicedToArray2.default)(_usePortalProvider3, 2),
69
+ nodeViewPortalProviderAPI = _usePortalProvider4[0],
70
+ NodeViewPortalRenderer = _usePortalProvider4[1];
67
71
  return (0, _react2.jsx)(_react.Fragment, null, renderTrackingEnabled && (0, _react2.jsx)(_RenderTracking.RenderTracking, {
68
72
  componentProps: props,
69
73
  action: _analytics.ACTION.RE_RENDERED,
@@ -84,6 +88,7 @@ var EditorInternal = exports.EditorInternal = /*#__PURE__*/(0, _react.memo)(func
84
88
  editorProps: overriddenEditorProps,
85
89
  createAnalyticsEvent: createAnalyticsEvent,
86
90
  portalProviderAPI: portalProviderAPI,
91
+ nodeViewPortalProviderAPI: nodeViewPortalProviderAPI,
87
92
  providerFactory: providerFactory,
88
93
  onEditorCreated: onEditorCreated,
89
94
  onEditorDestroyed: onEditorDestroyed,
@@ -138,6 +143,7 @@ var EditorInternal = exports.EditorInternal = /*#__PURE__*/(0, _react.memo)(func
138
143
  editorProps: overriddenEditorProps,
139
144
  createAnalyticsEvent: createAnalyticsEvent,
140
145
  portalProviderAPI: portalProviderAPI,
146
+ nodeViewPortalProviderAPI: nodeViewPortalProviderAPI,
141
147
  providerFactory: providerFactory,
142
148
  onEditorCreated: onEditorCreated,
143
149
  onEditorDestroyed: onEditorDestroyed,
@@ -188,7 +194,7 @@ var EditorInternal = exports.EditorInternal = /*#__PURE__*/(0, _react.memo)(func
188
194
  pluginHooks: config.pluginHooks
189
195
  }));
190
196
  }
191
- }), (0, _react2.jsx)(PortalRenderer, null))))))));
197
+ }), (0, _react2.jsx)(PortalRenderer, null), (0, _react2.jsx)(NodeViewPortalRenderer, null))))))));
192
198
  });
193
199
  function ReactEditorViewContextWrapper(props) {
194
200
  var _media, _linking;
@@ -205,6 +205,7 @@ var ReactEditorView = exports.ReactEditorView = /*#__PURE__*/function (_React$Co
205
205
  eventDispatcher: _this.eventDispatcher,
206
206
  providerFactory: options.props.providerFactory,
207
207
  portalProviderAPI: _this.props.portalProviderAPI,
208
+ nodeViewPortalProviderAPI: _this.props.nodeViewPortalProviderAPI,
208
209
  dispatchAnalyticsEvent: _this.dispatchAnalyticsEvent,
209
210
  featureFlags: _this.featureFlags,
210
211
  getIntl: function getIntl() {
@@ -583,6 +584,7 @@ var ReactEditorView = exports.ReactEditorView = /*#__PURE__*/function (_React$Co
583
584
  eventDispatcher: this.eventDispatcher,
584
585
  providerFactory: props.providerFactory,
585
586
  portalProviderAPI: props.portalProviderAPI,
587
+ nodeViewPortalProviderAPI: props.nodeViewPortalProviderAPI,
586
588
  dispatchAnalyticsEvent: this.dispatchAnalyticsEvent,
587
589
  featureFlags: (0, _featureFlagsFromProps.createFeatureFlagsFromProps)(props.editorProps),
588
590
  getIntl: function getIntl() {
@@ -156,6 +156,7 @@ function ReactEditorView(props) {
156
156
  eventDispatcher: eventDispatcher,
157
157
  providerFactory: options.props.providerFactory,
158
158
  portalProviderAPI: props.portalProviderAPI,
159
+ nodeViewPortalProviderAPI: props.nodeViewPortalProviderAPI,
159
160
  dispatchAnalyticsEvent: dispatchAnalyticsEvent,
160
161
  featureFlags: featureFlags.current,
161
162
  getIntl: function getIntl() {
@@ -199,7 +200,7 @@ function ReactEditorView(props) {
199
200
  doc: doc,
200
201
  selection: patchedSelection
201
202
  });
202
- }, [props.intl, props.portalProviderAPI, props.editorProps, dispatchAnalyticsEvent, eventDispatcher, dispatch]);
203
+ }, [props.intl, props.portalProviderAPI, props.nodeViewPortalProviderAPI, props.editorProps, dispatchAnalyticsEvent, eventDispatcher, dispatch]);
203
204
  var resetEditorState = (0, _react.useCallback)(function (_ref) {
204
205
  var _props$editorProps$on, _props$editorProps2;
205
206
  var doc = _ref.doc,
@@ -293,6 +294,7 @@ function ReactEditorView(props) {
293
294
  eventDispatcher: eventDispatcher,
294
295
  providerFactory: props.providerFactory,
295
296
  portalProviderAPI: props.portalProviderAPI,
297
+ nodeViewPortalProviderAPI: props.nodeViewPortalProviderAPI,
296
298
  dispatchAnalyticsEvent: dispatchAnalyticsEvent,
297
299
  featureFlags: (0, _featureFlagsFromProps.createFeatureFlagsFromProps)(props.editorProps),
298
300
  getIntl: function getIntl() {
@@ -103,6 +103,7 @@ function createPMPlugins(config) {
103
103
  providerFactory: config.providerFactory,
104
104
  errorReporter: config.errorReporter,
105
105
  portalProviderAPI: config.portalProviderAPI,
106
+ nodeViewPortalProviderAPI: config.nodeViewPortalProviderAPI,
106
107
  dispatchAnalyticsEvent: config.dispatchAnalyticsEvent,
107
108
  featureFlags: config.featureFlags || {},
108
109
  getIntl: config.getIntl
@@ -194,7 +194,8 @@ function createUniversalPresetInternal(_ref) {
194
194
  breakoutEnabled: appearance === 'full-page' && ((0, _typeof2.default)(props.allowExtension) === 'object' ? props.allowExtension.allowBreakout : true) !== false,
195
195
  extensionHandlers: props.extensionHandlers,
196
196
  useLongPressSelection: false,
197
- appearance: appearance
197
+ appearance: appearance,
198
+ __livePage: props.__livePage
198
199
  }], Boolean(props.allowExtension)).maybeAdd(
199
200
  // we are ignoring a duplicate plugin error here
200
201
  // this error exists because we have two annotation plugins being added
@@ -25,7 +25,7 @@ var _consts = require("@atlaskit/editor-plugins/table/ui/consts");
25
25
  var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
26
26
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
27
27
  var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
28
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5; // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
28
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6; // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
29
29
  var isPreRelease2 = function isPreRelease2() {
30
30
  return (0, _experiments.editorExperiment)('advanced_layouts', true) || (0, _platformFeatureFlags.fg)('platform_editor_advanced_layouts_pre_release_2');
31
31
  };
@@ -38,11 +38,20 @@ var firstNodeWithNotMarginTop = function firstNodeWithNotMarginTop() {
38
38
  // TODO handle responsive
39
39
  var layoutColumnStyles = function layoutColumnStyles() {
40
40
  return isPreRelease2() ? // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression
41
- (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n\t\t\t\t> [data-layout-column] {\n\t\t\t\t\tmargin: 0 ", "px;\n\t\t\t\t}\n\n\t\t\t\t> [data-layout-column]:first-of-type {\n\t\t\t\t\tmargin-left: 0;\n\t\t\t\t}\n\n\t\t\t\t> [data-layout-column]:last-of-type {\n\t\t\t\t\tmargin-right: 0;\n\t\t\t\t}\n\n\t\t\t\t@media screen and (max-width: ", "px) {\n\t\t\t\t\t[data-layout-column] + [data-layout-column] {\n\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t"])), _styles.LAYOUT_SECTION_MARGIN / 2, _editorSharedStyles.gridMediumMaxWidth) : // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression
41
+ (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n\t\t\t\t> [data-layout-column] {\n\t\t\t\t\tmargin: 0 ", "px;\n\t\t\t\t}\n\n\t\t\t\t> [data-layout-column]:first-of-type {\n\t\t\t\t\tmargin-left: 0;\n\t\t\t\t}\n\n\t\t\t\t> [data-layout-column]:last-of-type {\n\t\t\t\t\tmargin-right: 0;\n\t\t\t\t}\n\n\t\t\t\t@media screen and (max-width: ", "px) {\n\t\t\t\t\t[data-layout-column] + [data-layout-column] {\n\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t> [data-layout-column].", ":not(.danger) {\n\t\t\t\t\t", ";\n\t\t\t\t\tborder: ", ";\n\t\t\t\t}\n\t\t\t"])), _styles.LAYOUT_SECTION_MARGIN / 2, _editorSharedStyles.gridMediumMaxWidth, _editorSharedStyles.akEditorSelectedNodeClassName, (0, _editorSharedStyles.getSelectionStyles)([_editorSharedStyles.SelectionStyle.Blanket]), _editorSharedStyles.akEditorSelectedBorder) : // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression
42
42
  (0, _react.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n\t\t\t\t[data-layout-column] + [data-layout-column] {\n\t\t\t\t\tmargin-left: ", "px;\n\t\t\t\t}\n\n\t\t\t\t@media screen and (max-width: ", "px) {\n\t\t\t\t\t[data-layout-column] + [data-layout-column] {\n\t\t\t\t\t\tmargin-left: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t"])), _styles.LAYOUT_SECTION_MARGIN, _editorSharedStyles.gridMediumMaxWidth);
43
43
  };
44
44
 
45
+ // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression
46
+ var layoutBorderStyles = function layoutBorderStyles(viewMode) {
47
+ return (0, _react.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n\t// TODO: Remove the border styles below once design tokens have been enabled and fallbacks are no longer triggered.\n\t// This is because the default state already uses the same token and, as such, the hover style won't change anything.\n\t// https://product-fabric.atlassian.net/browse/DSP-4441\n\t/* Shows the border when cursor is inside a layout */\n\t&.selected [data-layout-column],\n\t&:hover [data-layout-column] {\n\t\tborder: ", "px solid ", ";\n\t}\n\n\t&.selected.danger [data-layout-column] {\n\t\tbackground-color: ", ";\n\t\tborder-color: ", ";\n\t}\n\n\t&.", ":not(.danger) {\n\t\t[data-layout-column] {\n\t\t\t", "\n\t\t}\n\t}\n"])), viewMode === 'view' ? 0 : _editorSharedStyles.akEditorSelectedBorderSize, "var(--ds-border, #091E4224)", "var(--ds-background-danger, ".concat(_editorSharedStyles.akEditorDeleteBackground, ")"), "var(--ds-border-danger, ".concat(_editorSharedStyles.akEditorDeleteBorder, ")"), _editorSharedStyles.akEditorSelectedNodeClassName, isPreRelease2() ?
48
+ /* SelectionStyle.Border adds extra ::after content which clashes with hover zone for layout columns and is not needed for layout anyway
49
+ see platform/packages/editor/editor-shared-styles/src/selection/utils.ts(~L43)
50
+ */
51
+ "border: ".concat(_editorSharedStyles.akEditorSelectedBorder, ";\n\t\t\t").concat((0, _editorSharedStyles.getSelectionStyles)([_editorSharedStyles.SelectionStyle.Blanket])) : "\n\t\t\t\t".concat((0, _editorSharedStyles.getSelectionStyles)([_editorSharedStyles.SelectionStyle.Border, _editorSharedStyles.SelectionStyle.Blanket])));
52
+ };
53
+
45
54
  // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- Needs manual remediation
46
55
  var layoutStyles = exports.layoutStyles = function layoutStyles(viewMode) {
47
- return (0, _react.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n\t.ProseMirror {\n\t\t", " [data-layout-section] {\n\t\t\t// TODO: Migrate away from gridSize\n\t\t\t// Recommendation: Replace directly with 7px\n\t\t\tmargin: ", " -", "px 0;\n\t\t\ttransition: border-color 0.3s ", ";\n\t\t\tcursor: ", ";\n\n\t\t\t/* Inner cursor located 26px from left */\n\t\t\t[data-layout-column] {\n\t\t\t\tflex: 1;\n\t\t\t\t", "\n\n\t\t\t\tmin-width: 0;\n\t\t\t\tborder: ", "px solid\n\t\t\t\t\t", ";\n\t\t\t\tborder-radius: 4px;\n\t\t\t\tpadding: ", "px\n\t\t\t\t\t", "px;\n\t\t\t\tbox-sizing: border-box;\n\n\t\t\t\t> div {\n\t\t\t\t\t", "\n\n\t\t\t\t\t> .embedCardView-content-wrap:first-of-type .rich-media-item {\n\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t> .mediaSingleView-content-wrap:first-of-type .rich-media-item {\n\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t> .ProseMirror-gapcursor.-right:first-child\n\t\t\t\t\t\t+ .mediaSingleView-content-wrap\n\t\t\t\t\t\t.rich-media-item,\n\t\t\t\t\t> style:first-child\n\t\t\t\t\t\t+ .ProseMirror-gapcursor.-right\n\t\t\t\t\t\t+ .mediaSingleView-content-wrap\n\t\t\t\t\t\t.rich-media-item,\n\t\t\t\t\t> .ProseMirror-gapcursor.-right:first-of-type\n\t\t\t\t\t\t+ .embedCardView-content-wrap\n\t\t\t\t\t\t.rich-media-item {\n\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t> .ProseMirror-gapcursor:first-child\n\t\t\t\t\t\t+ span\n\t\t\t\t\t\t+ .mediaSingleView-content-wrap\n\t\t\t\t\t\t.rich-media-item,\n\t\t\t\t\t> style:first-child\n\t\t\t\t\t\t+ .ProseMirror-gapcursor\n\t\t\t\t\t\t+ span\n\t\t\t\t\t\t+ .mediaSingleView-content-wrap\n\t\t\t\t\t\t.rich-media-item {\n\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t/* Prevent first DecisionWrapper's margin-top: 8px from shifting decisions down\n and shrinking layout's node selectable area (leniency margin) */\n\t\t\t\t\t> [data-node-type='decisionList'] {\n\t\t\t\t\t\tli:first-of-type [data-decision-wrapper] {\n\t\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* Make the 'content' fill the entire height of the layout column to allow click\n handler of layout section nodeview to target only data-layout-column */\n\t\t\t\t[data-layout-content] {\n\t\t\t\t\theight: 100%;\n\t\t\t\t\tcursor: text;\n\t\t\t\t\t.mediaGroupView-content-wrap {\n\t\t\t\t\t\tclear: both;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t", "\n\n\t\t\t// TODO: Remove the border styles below once design tokens have been enabled and fallbacks are no longer triggered.\n\t\t\t// This is because the default state already uses the same token and, as such, the hover style won't change anything.\n\t\t\t// https://product-fabric.atlassian.net/browse/DSP-4441\n\t\t\t/* Shows the border when cursor is inside a layout */\n\t\t\t&.selected [data-layout-column],\n\t\t\t&:hover [data-layout-column] {\n\t\t\t\tborder: ", "px solid\n\t\t\t\t\t", ";\n\t\t\t}\n\n\t\t\t&.selected.danger > [data-layout-column] {\n\t\t\t\tbackground-color: ", ";\n\t\t\t\tborder-color: ", ";\n\t\t\t}\n\n\t\t\t&.", ":not(.danger) {\n\t\t\t\t[data-layout-column] {\n\t\t\t\t\t", "\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t.fabric-editor--full-width-mode .ProseMirror {\n\t\t[data-layout-section] {\n\t\t\t.", " {\n\t\t\t\tmargin: 0 ", "px;\n\t\t\t}\n\t\t}\n\t}\n\n\t", "\n"])), _styles.columnLayoutSharedStyle, "var(--ds-space-100, 8px)", _editorSharedStyles.akLayoutGutterOffset, _editorSharedStyles.akEditorSwoopCubicBezier, viewMode === 'view' ? 'default' : 'pointer', (0, _platformFeatureFlags.fg)('platform_editor_drag_and_drop_target_v2') ? 'position: relative;' : '', viewMode === 'view' ? 0 : _editorSharedStyles.akEditorSelectedBorderSize, "var(--ds-border, #091E4224)", _styles.LAYOUT_COLUMN_PADDING, _styles.LAYOUT_COLUMN_PADDING + ((0, _experiments.editorExperiment)('nested-dnd', true) ? 8 : 0), firstNodeWithNotMarginTop(), layoutColumnStyles(), viewMode === 'view' ? 0 : _editorSharedStyles.akEditorSelectedBorderSize, "var(--ds-border, #091E4224)", "var(--ds-background-danger, ".concat(_editorSharedStyles.akEditorDeleteBackground, ")"), "var(--ds-border-danger, ".concat(_editorSharedStyles.akEditorDeleteBorder, ")"), _editorSharedStyles.akEditorSelectedNodeClassName, (0, _editorSharedStyles.getSelectionStyles)([_editorSharedStyles.SelectionStyle.Border, _editorSharedStyles.SelectionStyle.Blanket]), _types.TableCssClassName.TABLE_CONTAINER, _consts.tableMarginFullWidthMode, (0, _experiments.editorExperiment)('nested-dnd', true) && ".ak-editor-content-area.appearance-full-page .ProseMirror [data-layout-section] {\n\t\t\t\tmargin: ".concat("var(--ds-space-100, 8px)", " -", _editorSharedStyles.akLayoutGutterOffset + 8, "px 0;\n\t\t\t\t}"));
56
+ return (0, _react.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n\t.ProseMirror {\n\t\t", "\n\n\t\t[data-layout-section] {\n\t\t\t// TODO: Migrate away from gridSize\n\t\t\t// Recommendation: Replace directly with 7px\n\t\t\tmargin: ", " -", "px 0;\n\t\t\ttransition: border-color 0.3s ", ";\n\t\t\tcursor: ", ";\n\n\t\t\t/* Inner cursor located 26px from left */\n\t\t\t[data-layout-column] {\n\t\t\t\tflex: 1;\n\t\t\t\t", "\n\n\t\t\t\tmin-width: 0;\n\t\t\t\tborder: ", "px solid\n\t\t\t\t\t", ";\n\t\t\t\tborder-radius: 4px;\n\t\t\t\tpadding: ", "px\n\t\t\t\t\t", "px;\n\t\t\t\tbox-sizing: border-box;\n\n\t\t\t\t> div {\n\t\t\t\t\t", "\n\n\t\t\t\t\t> .embedCardView-content-wrap:first-of-type .rich-media-item {\n\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t> .mediaSingleView-content-wrap:first-of-type .rich-media-item {\n\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t> .ProseMirror-gapcursor.-right:first-child\n\t\t\t\t\t\t+ .mediaSingleView-content-wrap\n\t\t\t\t\t\t.rich-media-item,\n\t\t\t\t\t> style:first-child\n\t\t\t\t\t\t+ .ProseMirror-gapcursor.-right\n\t\t\t\t\t\t+ .mediaSingleView-content-wrap\n\t\t\t\t\t\t.rich-media-item,\n\t\t\t\t\t> .ProseMirror-gapcursor.-right:first-of-type\n\t\t\t\t\t\t+ .embedCardView-content-wrap\n\t\t\t\t\t\t.rich-media-item {\n\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t> .ProseMirror-gapcursor:first-child\n\t\t\t\t\t\t+ span\n\t\t\t\t\t\t+ .mediaSingleView-content-wrap\n\t\t\t\t\t\t.rich-media-item,\n\t\t\t\t\t> style:first-child\n\t\t\t\t\t\t+ .ProseMirror-gapcursor\n\t\t\t\t\t\t+ span\n\t\t\t\t\t\t+ .mediaSingleView-content-wrap\n\t\t\t\t\t\t.rich-media-item {\n\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t/* Prevent first DecisionWrapper's margin-top: 8px from shifting decisions down\n and shrinking layout's node selectable area (leniency margin) */\n\t\t\t\t\t> [data-node-type='decisionList'] {\n\t\t\t\t\t\tli:first-of-type [data-decision-wrapper] {\n\t\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* Make the 'content' fill the entire height of the layout column to allow click\n handler of layout section nodeview to target only data-layout-column */\n\t\t\t\t[data-layout-content] {\n\t\t\t\t\theight: 100%;\n\t\t\t\t\tcursor: text;\n\t\t\t\t\t.mediaGroupView-content-wrap {\n\t\t\t\t\t\tclear: both;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t", "\n\t\t}\n\n\t\t// styles to support borders for layout\n\t\t[data-layout-section],\n\t\t.layoutSectionView-content-wrap {\n\t\t\t", "\n\t\t}\n\t}\n\n\t.fabric-editor--full-width-mode .ProseMirror {\n\t\t[data-layout-section] {\n\t\t\t.", " {\n\t\t\t\tmargin: 0 ", "px;\n\t\t\t}\n\t\t}\n\t}\n\n\t", "\n"])), _styles.columnLayoutSharedStyle, "var(--ds-space-100, 8px)", _editorSharedStyles.akLayoutGutterOffset, _editorSharedStyles.akEditorSwoopCubicBezier, viewMode === 'view' ? 'default' : 'pointer', (0, _platformFeatureFlags.fg)('platform_editor_drag_and_drop_target_v2') ? 'position: relative;' : '', viewMode === 'view' ? 0 : _editorSharedStyles.akEditorSelectedBorderSize, "var(--ds-border, #091E4224)", _styles.LAYOUT_COLUMN_PADDING, _styles.LAYOUT_COLUMN_PADDING + ((0, _experiments.editorExperiment)('nested-dnd', true) ? 8 : 0), firstNodeWithNotMarginTop(), layoutColumnStyles(), layoutBorderStyles(viewMode), _types.TableCssClassName.TABLE_CONTAINER, _consts.tableMarginFullWidthMode, (0, _experiments.editorExperiment)('nested-dnd', true) && ".ak-editor-content-area.appearance-full-page .ProseMirror [data-layout-section] {\n\t\t\t\tmargin: ".concat("var(--ds-space-100, 8px)", " -", _editorSharedStyles.akLayoutGutterOffset + 8, "px 0;\n\t\t\t\t}"));
48
57
  };
@@ -31,7 +31,7 @@ var LegacyEditorContext = exports.LegacyEditorContext = /*#__PURE__*/function (_
31
31
  (0, _createClass2.default)(LegacyEditorContext, [{
32
32
  key: "render",
33
33
  value: function render() {
34
- if ((0, _platformFeatureFlags.fg)('platform_editor_react18_phase2')) {
34
+ if ((0, _platformFeatureFlags.fg)('platform_editor_react18_phase2_v2')) {
35
35
  return /*#__PURE__*/_react.default.createElement(LegacyEditorContextNew, this.props, this.props.children);
36
36
  }
37
37
  return /*#__PURE__*/_react.default.createElement(LegacyEditorContextOld, this.props, this.props.children);
@@ -28,7 +28,7 @@ var WithEditorActions = exports.default = /*#__PURE__*/function (_React$Componen
28
28
  (0, _createClass2.default)(WithEditorActions, [{
29
29
  key: "render",
30
30
  value: function render() {
31
- if ((0, _platformFeatureFlags.fg)('platform_editor_react18_phase2')) {
31
+ if ((0, _platformFeatureFlags.fg)('platform_editor_react18_phase2_v2')) {
32
32
  return /*#__PURE__*/_react.default.createElement(WithEditorActionsNew, this.props);
33
33
  }
34
34
  return /*#__PURE__*/_react.default.createElement(WithEditorActionsOld, this.props);
@@ -5,4 +5,4 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.version = exports.name = void 0;
7
7
  var name = exports.name = "@atlaskit/editor-core";
8
- var version = exports.version = "201.1.7";
8
+ var version = exports.version = "201.1.12";
@@ -55,6 +55,7 @@ export const EditorInternal = /*#__PURE__*/memo(({
55
55
  const renderTrackingEnabled = !fg('platform_editor_disable_rerender_tracking_jira');
56
56
  const useShallow = false;
57
57
  const [portalProviderAPI, PortalRenderer] = usePortalProvider();
58
+ const [nodeViewPortalProviderAPI, NodeViewPortalRenderer] = usePortalProvider();
58
59
  return jsx(Fragment, null, renderTrackingEnabled && jsx(RenderTracking, {
59
60
  componentProps: props,
60
61
  action: ACTION.RE_RENDERED,
@@ -75,6 +76,7 @@ export const EditorInternal = /*#__PURE__*/memo(({
75
76
  editorProps: overriddenEditorProps,
76
77
  createAnalyticsEvent: createAnalyticsEvent,
77
78
  portalProviderAPI: portalProviderAPI,
79
+ nodeViewPortalProviderAPI: nodeViewPortalProviderAPI,
78
80
  providerFactory: providerFactory,
79
81
  onEditorCreated: onEditorCreated,
80
82
  onEditorDestroyed: onEditorDestroyed,
@@ -130,6 +132,7 @@ export const EditorInternal = /*#__PURE__*/memo(({
130
132
  editorProps: overriddenEditorProps,
131
133
  createAnalyticsEvent: createAnalyticsEvent,
132
134
  portalProviderAPI: portalProviderAPI,
135
+ nodeViewPortalProviderAPI: nodeViewPortalProviderAPI,
133
136
  providerFactory: providerFactory,
134
137
  onEditorCreated: onEditorCreated,
135
138
  onEditorDestroyed: onEditorDestroyed,
@@ -181,7 +184,7 @@ export const EditorInternal = /*#__PURE__*/memo(({
181
184
  pluginHooks: config.pluginHooks
182
185
  }));
183
186
  }
184
- }), jsx(PortalRenderer, null))))))));
187
+ }), jsx(PortalRenderer, null), jsx(NodeViewPortalRenderer, null))))))));
185
188
  });
186
189
  function ReactEditorViewContextWrapper(props) {
187
190
  var _media, _linking, _linking$smartLinks;
@@ -198,6 +198,7 @@ export class ReactEditorView extends React.Component {
198
198
  eventDispatcher: this.eventDispatcher,
199
199
  providerFactory: options.props.providerFactory,
200
200
  portalProviderAPI: this.props.portalProviderAPI,
201
+ nodeViewPortalProviderAPI: this.props.nodeViewPortalProviderAPI,
201
202
  dispatchAnalyticsEvent: this.dispatchAnalyticsEvent,
202
203
  featureFlags: this.featureFlags,
203
204
  getIntl: () => this.props.intl
@@ -539,6 +540,7 @@ export class ReactEditorView extends React.Component {
539
540
  eventDispatcher: this.eventDispatcher,
540
541
  providerFactory: props.providerFactory,
541
542
  portalProviderAPI: props.portalProviderAPI,
543
+ nodeViewPortalProviderAPI: props.nodeViewPortalProviderAPI,
542
544
  dispatchAnalyticsEvent: this.dispatchAnalyticsEvent,
543
545
  featureFlags: createFeatureFlagsFromProps(props.editorProps),
544
546
  getIntl: () => this.props.intl
@@ -138,6 +138,7 @@ function ReactEditorView(props) {
138
138
  eventDispatcher: eventDispatcher,
139
139
  providerFactory: options.props.providerFactory,
140
140
  portalProviderAPI: props.portalProviderAPI,
141
+ nodeViewPortalProviderAPI: props.nodeViewPortalProviderAPI,
141
142
  dispatchAnalyticsEvent: dispatchAnalyticsEvent,
142
143
  featureFlags: featureFlags.current,
143
144
  getIntl: () => props.intl
@@ -179,7 +180,7 @@ function ReactEditorView(props) {
179
180
  doc,
180
181
  selection: patchedSelection
181
182
  });
182
- }, [props.intl, props.portalProviderAPI, props.editorProps, dispatchAnalyticsEvent, eventDispatcher, dispatch]);
183
+ }, [props.intl, props.portalProviderAPI, props.nodeViewPortalProviderAPI, props.editorProps, dispatchAnalyticsEvent, eventDispatcher, dispatch]);
183
184
  const resetEditorState = useCallback(({
184
185
  doc,
185
186
  shouldScrollToBottom
@@ -274,6 +275,7 @@ function ReactEditorView(props) {
274
275
  eventDispatcher: eventDispatcher,
275
276
  providerFactory: props.providerFactory,
276
277
  portalProviderAPI: props.portalProviderAPI,
278
+ nodeViewPortalProviderAPI: props.nodeViewPortalProviderAPI,
277
279
  dispatchAnalyticsEvent: dispatchAnalyticsEvent,
278
280
  featureFlags: createFeatureFlagsFromProps(props.editorProps),
279
281
  getIntl: () => props.intl
@@ -86,6 +86,7 @@ export function createPMPlugins(config) {
86
86
  providerFactory: config.providerFactory,
87
87
  errorReporter: config.errorReporter,
88
88
  portalProviderAPI: config.portalProviderAPI,
89
+ nodeViewPortalProviderAPI: config.nodeViewPortalProviderAPI,
89
90
  dispatchAnalyticsEvent: config.dispatchAnalyticsEvent,
90
91
  featureFlags: config.featureFlags || {},
91
92
  getIntl: config.getIntl
@@ -190,7 +190,8 @@ export default function createUniversalPresetInternal({
190
190
  breakoutEnabled: appearance === 'full-page' && (typeof props.allowExtension === 'object' ? props.allowExtension.allowBreakout : true) !== false,
191
191
  extensionHandlers: props.extensionHandlers,
192
192
  useLongPressSelection: false,
193
- appearance
193
+ appearance,
194
+ __livePage: props.__livePage
194
195
  }], Boolean(props.allowExtension)).maybeAdd(
195
196
  // we are ignoring a duplicate plugin error here
196
197
  // this error exists because we have two annotation plugins being added
@@ -3,7 +3,7 @@ import { css } from '@emotion/react';
3
3
  import { columnLayoutSharedStyle, LAYOUT_COLUMN_PADDING, LAYOUT_SECTION_MARGIN } from '@atlaskit/editor-common/styles';
4
4
  import { TableCssClassName } from '@atlaskit/editor-plugins/table/types';
5
5
  import { tableMarginFullWidthMode } from '@atlaskit/editor-plugins/table/ui/consts';
6
- import { akEditorDeleteBackground, akEditorDeleteBorder, akEditorSelectedBorderSize, akEditorSelectedNodeClassName, akEditorSwoopCubicBezier, akLayoutGutterOffset, getSelectionStyles, gridMediumMaxWidth, SelectionStyle } from '@atlaskit/editor-shared-styles';
6
+ import { akEditorDeleteBackground, akEditorDeleteBorder, akEditorSelectedBorder, akEditorSelectedBorderSize, akEditorSelectedNodeClassName, akEditorSwoopCubicBezier, akLayoutGutterOffset, getSelectionStyles, gridMediumMaxWidth, SelectionStyle } from '@atlaskit/editor-shared-styles';
7
7
  import { fg } from '@atlaskit/platform-feature-flags';
8
8
  import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
9
9
  export { LAYOUT_COLUMN_PADDING, LAYOUT_SECTION_MARGIN };
@@ -55,6 +55,11 @@ css`
55
55
  margin: 0;
56
56
  }
57
57
  }
58
+
59
+ > [data-layout-column].${akEditorSelectedNodeClassName}:not(.danger) {
60
+ ${getSelectionStyles([SelectionStyle.Blanket])};
61
+ border: ${akEditorSelectedBorder};
62
+ }
58
63
  ` :
59
64
  // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression
60
65
  css`
@@ -69,10 +74,41 @@ css`
69
74
  }
70
75
  `;
71
76
 
77
+ // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression
78
+ const layoutBorderStyles = viewMode => css`
79
+ // TODO: Remove the border styles below once design tokens have been enabled and fallbacks are no longer triggered.
80
+ // This is because the default state already uses the same token and, as such, the hover style won't change anything.
81
+ // https://product-fabric.atlassian.net/browse/DSP-4441
82
+ /* Shows the border when cursor is inside a layout */
83
+ &.selected [data-layout-column],
84
+ &:hover [data-layout-column] {
85
+ border: ${viewMode === 'view' ? 0 : akEditorSelectedBorderSize}px solid ${"var(--ds-border, #091E4224)"};
86
+ }
87
+
88
+ &.selected.danger [data-layout-column] {
89
+ background-color: ${`var(--ds-background-danger, ${akEditorDeleteBackground})`};
90
+ border-color: ${`var(--ds-border-danger, ${akEditorDeleteBorder})`};
91
+ }
92
+
93
+ &.${akEditorSelectedNodeClassName}:not(.danger) {
94
+ [data-layout-column] {
95
+ ${isPreRelease2() ?
96
+ /* SelectionStyle.Border adds extra ::after content which clashes with hover zone for layout columns and is not needed for layout anyway
97
+ see platform/packages/editor/editor-shared-styles/src/selection/utils.ts(~L43)
98
+ */
99
+ `border: ${akEditorSelectedBorder};
100
+ ${getSelectionStyles([SelectionStyle.Blanket])}` : `
101
+ ${getSelectionStyles([SelectionStyle.Border, SelectionStyle.Blanket])}`}
102
+ }
103
+ }
104
+ `;
105
+
72
106
  // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- Needs manual remediation
73
107
  export const layoutStyles = viewMode => css`
74
108
  .ProseMirror {
75
- ${columnLayoutSharedStyle} [data-layout-section] {
109
+ ${columnLayoutSharedStyle}
110
+
111
+ [data-layout-section] {
76
112
  // TODO: Migrate away from gridSize
77
113
  // Recommendation: Replace directly with 7px
78
114
  margin: ${"var(--ds-space-100, 8px)"} -${akLayoutGutterOffset}px 0;
@@ -149,27 +185,12 @@ export const layoutStyles = viewMode => css`
149
185
  }
150
186
 
151
187
  ${layoutColumnStyles()}
188
+ }
152
189
 
153
- // TODO: Remove the border styles below once design tokens have been enabled and fallbacks are no longer triggered.
154
- // This is because the default state already uses the same token and, as such, the hover style won't change anything.
155
- // https://product-fabric.atlassian.net/browse/DSP-4441
156
- /* Shows the border when cursor is inside a layout */
157
- &.selected [data-layout-column],
158
- &:hover [data-layout-column] {
159
- border: ${viewMode === 'view' ? 0 : akEditorSelectedBorderSize}px solid
160
- ${"var(--ds-border, #091E4224)"};
161
- }
162
-
163
- &.selected.danger > [data-layout-column] {
164
- background-color: ${`var(--ds-background-danger, ${akEditorDeleteBackground})`};
165
- border-color: ${`var(--ds-border-danger, ${akEditorDeleteBorder})`};
166
- }
167
-
168
- &.${akEditorSelectedNodeClassName}:not(.danger) {
169
- [data-layout-column] {
170
- ${getSelectionStyles([SelectionStyle.Border, SelectionStyle.Blanket])}
171
- }
172
- }
190
+ // styles to support borders for layout
191
+ [data-layout-section],
192
+ .layoutSectionView-content-wrap {
193
+ ${layoutBorderStyles(viewMode)}
173
194
  }
174
195
  }
175
196
 
@@ -10,7 +10,7 @@ export class LegacyEditorContext extends React.Component {
10
10
  super(props);
11
11
  }
12
12
  render() {
13
- if (fg('platform_editor_react18_phase2')) {
13
+ if (fg('platform_editor_react18_phase2_v2')) {
14
14
  return /*#__PURE__*/React.createElement(LegacyEditorContextNew, this.props, this.props.children);
15
15
  }
16
16
  return /*#__PURE__*/React.createElement(LegacyEditorContextOld, this.props, this.props.children);
@@ -8,7 +8,7 @@ export default class WithEditorActions extends React.Component {
8
8
  super(props);
9
9
  }
10
10
  render() {
11
- if (fg('platform_editor_react18_phase2')) {
11
+ if (fg('platform_editor_react18_phase2_v2')) {
12
12
  return /*#__PURE__*/React.createElement(WithEditorActionsNew, this.props);
13
13
  }
14
14
  return /*#__PURE__*/React.createElement(WithEditorActionsOld, this.props);
@@ -1,2 +1,2 @@
1
1
  export const name = "@atlaskit/editor-core";
2
- export const version = "201.1.7";
2
+ export const version = "201.1.12";
@@ -60,6 +60,10 @@ export var EditorInternal = /*#__PURE__*/memo(function (_ref) {
60
60
  _usePortalProvider2 = _slicedToArray(_usePortalProvider, 2),
61
61
  portalProviderAPI = _usePortalProvider2[0],
62
62
  PortalRenderer = _usePortalProvider2[1];
63
+ var _usePortalProvider3 = usePortalProvider(),
64
+ _usePortalProvider4 = _slicedToArray(_usePortalProvider3, 2),
65
+ nodeViewPortalProviderAPI = _usePortalProvider4[0],
66
+ NodeViewPortalRenderer = _usePortalProvider4[1];
63
67
  return jsx(Fragment, null, renderTrackingEnabled && jsx(RenderTracking, {
64
68
  componentProps: props,
65
69
  action: ACTION.RE_RENDERED,
@@ -80,6 +84,7 @@ export var EditorInternal = /*#__PURE__*/memo(function (_ref) {
80
84
  editorProps: overriddenEditorProps,
81
85
  createAnalyticsEvent: createAnalyticsEvent,
82
86
  portalProviderAPI: portalProviderAPI,
87
+ nodeViewPortalProviderAPI: nodeViewPortalProviderAPI,
83
88
  providerFactory: providerFactory,
84
89
  onEditorCreated: onEditorCreated,
85
90
  onEditorDestroyed: onEditorDestroyed,
@@ -134,6 +139,7 @@ export var EditorInternal = /*#__PURE__*/memo(function (_ref) {
134
139
  editorProps: overriddenEditorProps,
135
140
  createAnalyticsEvent: createAnalyticsEvent,
136
141
  portalProviderAPI: portalProviderAPI,
142
+ nodeViewPortalProviderAPI: nodeViewPortalProviderAPI,
137
143
  providerFactory: providerFactory,
138
144
  onEditorCreated: onEditorCreated,
139
145
  onEditorDestroyed: onEditorDestroyed,
@@ -184,7 +190,7 @@ export var EditorInternal = /*#__PURE__*/memo(function (_ref) {
184
190
  pluginHooks: config.pluginHooks
185
191
  }));
186
192
  }
187
- }), jsx(PortalRenderer, null))))))));
193
+ }), jsx(PortalRenderer, null), jsx(NodeViewPortalRenderer, null))))))));
188
194
  });
189
195
  function ReactEditorViewContextWrapper(props) {
190
196
  var _media, _linking;
@@ -198,6 +198,7 @@ export var ReactEditorView = /*#__PURE__*/function (_React$Component) {
198
198
  eventDispatcher: _this.eventDispatcher,
199
199
  providerFactory: options.props.providerFactory,
200
200
  portalProviderAPI: _this.props.portalProviderAPI,
201
+ nodeViewPortalProviderAPI: _this.props.nodeViewPortalProviderAPI,
201
202
  dispatchAnalyticsEvent: _this.dispatchAnalyticsEvent,
202
203
  featureFlags: _this.featureFlags,
203
204
  getIntl: function getIntl() {
@@ -576,6 +577,7 @@ export var ReactEditorView = /*#__PURE__*/function (_React$Component) {
576
577
  eventDispatcher: this.eventDispatcher,
577
578
  providerFactory: props.providerFactory,
578
579
  portalProviderAPI: props.portalProviderAPI,
580
+ nodeViewPortalProviderAPI: props.nodeViewPortalProviderAPI,
579
581
  dispatchAnalyticsEvent: this.dispatchAnalyticsEvent,
580
582
  featureFlags: createFeatureFlagsFromProps(props.editorProps),
581
583
  getIntl: function getIntl() {
@@ -146,6 +146,7 @@ function ReactEditorView(props) {
146
146
  eventDispatcher: eventDispatcher,
147
147
  providerFactory: options.props.providerFactory,
148
148
  portalProviderAPI: props.portalProviderAPI,
149
+ nodeViewPortalProviderAPI: props.nodeViewPortalProviderAPI,
149
150
  dispatchAnalyticsEvent: dispatchAnalyticsEvent,
150
151
  featureFlags: featureFlags.current,
151
152
  getIntl: function getIntl() {
@@ -189,7 +190,7 @@ function ReactEditorView(props) {
189
190
  doc: doc,
190
191
  selection: patchedSelection
191
192
  });
192
- }, [props.intl, props.portalProviderAPI, props.editorProps, dispatchAnalyticsEvent, eventDispatcher, dispatch]);
193
+ }, [props.intl, props.portalProviderAPI, props.nodeViewPortalProviderAPI, props.editorProps, dispatchAnalyticsEvent, eventDispatcher, dispatch]);
193
194
  var resetEditorState = useCallback(function (_ref) {
194
195
  var _props$editorProps$on, _props$editorProps2;
195
196
  var doc = _ref.doc,
@@ -283,6 +284,7 @@ function ReactEditorView(props) {
283
284
  eventDispatcher: eventDispatcher,
284
285
  providerFactory: props.providerFactory,
285
286
  portalProviderAPI: props.portalProviderAPI,
287
+ nodeViewPortalProviderAPI: props.nodeViewPortalProviderAPI,
286
288
  dispatchAnalyticsEvent: dispatchAnalyticsEvent,
287
289
  featureFlags: createFeatureFlagsFromProps(props.editorProps),
288
290
  getIntl: function getIntl() {
@@ -92,6 +92,7 @@ export function createPMPlugins(config) {
92
92
  providerFactory: config.providerFactory,
93
93
  errorReporter: config.errorReporter,
94
94
  portalProviderAPI: config.portalProviderAPI,
95
+ nodeViewPortalProviderAPI: config.nodeViewPortalProviderAPI,
95
96
  dispatchAnalyticsEvent: config.dispatchAnalyticsEvent,
96
97
  featureFlags: config.featureFlags || {},
97
98
  getIntl: config.getIntl
@@ -187,7 +187,8 @@ export default function createUniversalPresetInternal(_ref) {
187
187
  breakoutEnabled: appearance === 'full-page' && (_typeof(props.allowExtension) === 'object' ? props.allowExtension.allowBreakout : true) !== false,
188
188
  extensionHandlers: props.extensionHandlers,
189
189
  useLongPressSelection: false,
190
- appearance: appearance
190
+ appearance: appearance,
191
+ __livePage: props.__livePage
191
192
  }], Boolean(props.allowExtension)).maybeAdd(
192
193
  // we are ignoring a duplicate plugin error here
193
194
  // this error exists because we have two annotation plugins being added
@@ -1,11 +1,11 @@
1
1
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
- var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
2
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6;
3
3
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
4
4
  import { css } from '@emotion/react';
5
5
  import { columnLayoutSharedStyle, LAYOUT_COLUMN_PADDING, LAYOUT_SECTION_MARGIN } from '@atlaskit/editor-common/styles';
6
6
  import { TableCssClassName } from '@atlaskit/editor-plugins/table/types';
7
7
  import { tableMarginFullWidthMode } from '@atlaskit/editor-plugins/table/ui/consts';
8
- import { akEditorDeleteBackground, akEditorDeleteBorder, akEditorSelectedBorderSize, akEditorSelectedNodeClassName, akEditorSwoopCubicBezier, akLayoutGutterOffset, getSelectionStyles, gridMediumMaxWidth, SelectionStyle } from '@atlaskit/editor-shared-styles';
8
+ import { akEditorDeleteBackground, akEditorDeleteBorder, akEditorSelectedBorder, akEditorSelectedBorderSize, akEditorSelectedNodeClassName, akEditorSwoopCubicBezier, akLayoutGutterOffset, getSelectionStyles, gridMediumMaxWidth, SelectionStyle } from '@atlaskit/editor-shared-styles';
9
9
  import { fg } from '@atlaskit/platform-feature-flags';
10
10
  import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
11
11
  export { LAYOUT_COLUMN_PADDING, LAYOUT_SECTION_MARGIN };
@@ -21,11 +21,20 @@ var firstNodeWithNotMarginTop = function firstNodeWithNotMarginTop() {
21
21
  // TODO handle responsive
22
22
  var layoutColumnStyles = function layoutColumnStyles() {
23
23
  return isPreRelease2() ? // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression
24
- css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n\t\t\t\t> [data-layout-column] {\n\t\t\t\t\tmargin: 0 ", "px;\n\t\t\t\t}\n\n\t\t\t\t> [data-layout-column]:first-of-type {\n\t\t\t\t\tmargin-left: 0;\n\t\t\t\t}\n\n\t\t\t\t> [data-layout-column]:last-of-type {\n\t\t\t\t\tmargin-right: 0;\n\t\t\t\t}\n\n\t\t\t\t@media screen and (max-width: ", "px) {\n\t\t\t\t\t[data-layout-column] + [data-layout-column] {\n\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t"])), LAYOUT_SECTION_MARGIN / 2, gridMediumMaxWidth) : // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression
24
+ css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n\t\t\t\t> [data-layout-column] {\n\t\t\t\t\tmargin: 0 ", "px;\n\t\t\t\t}\n\n\t\t\t\t> [data-layout-column]:first-of-type {\n\t\t\t\t\tmargin-left: 0;\n\t\t\t\t}\n\n\t\t\t\t> [data-layout-column]:last-of-type {\n\t\t\t\t\tmargin-right: 0;\n\t\t\t\t}\n\n\t\t\t\t@media screen and (max-width: ", "px) {\n\t\t\t\t\t[data-layout-column] + [data-layout-column] {\n\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t> [data-layout-column].", ":not(.danger) {\n\t\t\t\t\t", ";\n\t\t\t\t\tborder: ", ";\n\t\t\t\t}\n\t\t\t"])), LAYOUT_SECTION_MARGIN / 2, gridMediumMaxWidth, akEditorSelectedNodeClassName, getSelectionStyles([SelectionStyle.Blanket]), akEditorSelectedBorder) : // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression
25
25
  css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n\t\t\t\t[data-layout-column] + [data-layout-column] {\n\t\t\t\t\tmargin-left: ", "px;\n\t\t\t\t}\n\n\t\t\t\t@media screen and (max-width: ", "px) {\n\t\t\t\t\t[data-layout-column] + [data-layout-column] {\n\t\t\t\t\t\tmargin-left: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t"])), LAYOUT_SECTION_MARGIN, gridMediumMaxWidth);
26
26
  };
27
27
 
28
+ // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression
29
+ var layoutBorderStyles = function layoutBorderStyles(viewMode) {
30
+ return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n\t// TODO: Remove the border styles below once design tokens have been enabled and fallbacks are no longer triggered.\n\t// This is because the default state already uses the same token and, as such, the hover style won't change anything.\n\t// https://product-fabric.atlassian.net/browse/DSP-4441\n\t/* Shows the border when cursor is inside a layout */\n\t&.selected [data-layout-column],\n\t&:hover [data-layout-column] {\n\t\tborder: ", "px solid ", ";\n\t}\n\n\t&.selected.danger [data-layout-column] {\n\t\tbackground-color: ", ";\n\t\tborder-color: ", ";\n\t}\n\n\t&.", ":not(.danger) {\n\t\t[data-layout-column] {\n\t\t\t", "\n\t\t}\n\t}\n"])), viewMode === 'view' ? 0 : akEditorSelectedBorderSize, "var(--ds-border, #091E4224)", "var(--ds-background-danger, ".concat(akEditorDeleteBackground, ")"), "var(--ds-border-danger, ".concat(akEditorDeleteBorder, ")"), akEditorSelectedNodeClassName, isPreRelease2() ?
31
+ /* SelectionStyle.Border adds extra ::after content which clashes with hover zone for layout columns and is not needed for layout anyway
32
+ see platform/packages/editor/editor-shared-styles/src/selection/utils.ts(~L43)
33
+ */
34
+ "border: ".concat(akEditorSelectedBorder, ";\n\t\t\t").concat(getSelectionStyles([SelectionStyle.Blanket])) : "\n\t\t\t\t".concat(getSelectionStyles([SelectionStyle.Border, SelectionStyle.Blanket])));
35
+ };
36
+
28
37
  // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- Needs manual remediation
29
38
  export var layoutStyles = function layoutStyles(viewMode) {
30
- return css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n\t.ProseMirror {\n\t\t", " [data-layout-section] {\n\t\t\t// TODO: Migrate away from gridSize\n\t\t\t// Recommendation: Replace directly with 7px\n\t\t\tmargin: ", " -", "px 0;\n\t\t\ttransition: border-color 0.3s ", ";\n\t\t\tcursor: ", ";\n\n\t\t\t/* Inner cursor located 26px from left */\n\t\t\t[data-layout-column] {\n\t\t\t\tflex: 1;\n\t\t\t\t", "\n\n\t\t\t\tmin-width: 0;\n\t\t\t\tborder: ", "px solid\n\t\t\t\t\t", ";\n\t\t\t\tborder-radius: 4px;\n\t\t\t\tpadding: ", "px\n\t\t\t\t\t", "px;\n\t\t\t\tbox-sizing: border-box;\n\n\t\t\t\t> div {\n\t\t\t\t\t", "\n\n\t\t\t\t\t> .embedCardView-content-wrap:first-of-type .rich-media-item {\n\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t> .mediaSingleView-content-wrap:first-of-type .rich-media-item {\n\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t> .ProseMirror-gapcursor.-right:first-child\n\t\t\t\t\t\t+ .mediaSingleView-content-wrap\n\t\t\t\t\t\t.rich-media-item,\n\t\t\t\t\t> style:first-child\n\t\t\t\t\t\t+ .ProseMirror-gapcursor.-right\n\t\t\t\t\t\t+ .mediaSingleView-content-wrap\n\t\t\t\t\t\t.rich-media-item,\n\t\t\t\t\t> .ProseMirror-gapcursor.-right:first-of-type\n\t\t\t\t\t\t+ .embedCardView-content-wrap\n\t\t\t\t\t\t.rich-media-item {\n\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t> .ProseMirror-gapcursor:first-child\n\t\t\t\t\t\t+ span\n\t\t\t\t\t\t+ .mediaSingleView-content-wrap\n\t\t\t\t\t\t.rich-media-item,\n\t\t\t\t\t> style:first-child\n\t\t\t\t\t\t+ .ProseMirror-gapcursor\n\t\t\t\t\t\t+ span\n\t\t\t\t\t\t+ .mediaSingleView-content-wrap\n\t\t\t\t\t\t.rich-media-item {\n\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t/* Prevent first DecisionWrapper's margin-top: 8px from shifting decisions down\n and shrinking layout's node selectable area (leniency margin) */\n\t\t\t\t\t> [data-node-type='decisionList'] {\n\t\t\t\t\t\tli:first-of-type [data-decision-wrapper] {\n\t\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* Make the 'content' fill the entire height of the layout column to allow click\n handler of layout section nodeview to target only data-layout-column */\n\t\t\t\t[data-layout-content] {\n\t\t\t\t\theight: 100%;\n\t\t\t\t\tcursor: text;\n\t\t\t\t\t.mediaGroupView-content-wrap {\n\t\t\t\t\t\tclear: both;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t", "\n\n\t\t\t// TODO: Remove the border styles below once design tokens have been enabled and fallbacks are no longer triggered.\n\t\t\t// This is because the default state already uses the same token and, as such, the hover style won't change anything.\n\t\t\t// https://product-fabric.atlassian.net/browse/DSP-4441\n\t\t\t/* Shows the border when cursor is inside a layout */\n\t\t\t&.selected [data-layout-column],\n\t\t\t&:hover [data-layout-column] {\n\t\t\t\tborder: ", "px solid\n\t\t\t\t\t", ";\n\t\t\t}\n\n\t\t\t&.selected.danger > [data-layout-column] {\n\t\t\t\tbackground-color: ", ";\n\t\t\t\tborder-color: ", ";\n\t\t\t}\n\n\t\t\t&.", ":not(.danger) {\n\t\t\t\t[data-layout-column] {\n\t\t\t\t\t", "\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t.fabric-editor--full-width-mode .ProseMirror {\n\t\t[data-layout-section] {\n\t\t\t.", " {\n\t\t\t\tmargin: 0 ", "px;\n\t\t\t}\n\t\t}\n\t}\n\n\t", "\n"])), columnLayoutSharedStyle, "var(--ds-space-100, 8px)", akLayoutGutterOffset, akEditorSwoopCubicBezier, viewMode === 'view' ? 'default' : 'pointer', fg('platform_editor_drag_and_drop_target_v2') ? 'position: relative;' : '', viewMode === 'view' ? 0 : akEditorSelectedBorderSize, "var(--ds-border, #091E4224)", LAYOUT_COLUMN_PADDING, LAYOUT_COLUMN_PADDING + (editorExperiment('nested-dnd', true) ? 8 : 0), firstNodeWithNotMarginTop(), layoutColumnStyles(), viewMode === 'view' ? 0 : akEditorSelectedBorderSize, "var(--ds-border, #091E4224)", "var(--ds-background-danger, ".concat(akEditorDeleteBackground, ")"), "var(--ds-border-danger, ".concat(akEditorDeleteBorder, ")"), akEditorSelectedNodeClassName, getSelectionStyles([SelectionStyle.Border, SelectionStyle.Blanket]), TableCssClassName.TABLE_CONTAINER, tableMarginFullWidthMode, editorExperiment('nested-dnd', true) && ".ak-editor-content-area.appearance-full-page .ProseMirror [data-layout-section] {\n\t\t\t\tmargin: ".concat("var(--ds-space-100, 8px)", " -", akLayoutGutterOffset + 8, "px 0;\n\t\t\t\t}"));
39
+ return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n\t.ProseMirror {\n\t\t", "\n\n\t\t[data-layout-section] {\n\t\t\t// TODO: Migrate away from gridSize\n\t\t\t// Recommendation: Replace directly with 7px\n\t\t\tmargin: ", " -", "px 0;\n\t\t\ttransition: border-color 0.3s ", ";\n\t\t\tcursor: ", ";\n\n\t\t\t/* Inner cursor located 26px from left */\n\t\t\t[data-layout-column] {\n\t\t\t\tflex: 1;\n\t\t\t\t", "\n\n\t\t\t\tmin-width: 0;\n\t\t\t\tborder: ", "px solid\n\t\t\t\t\t", ";\n\t\t\t\tborder-radius: 4px;\n\t\t\t\tpadding: ", "px\n\t\t\t\t\t", "px;\n\t\t\t\tbox-sizing: border-box;\n\n\t\t\t\t> div {\n\t\t\t\t\t", "\n\n\t\t\t\t\t> .embedCardView-content-wrap:first-of-type .rich-media-item {\n\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t> .mediaSingleView-content-wrap:first-of-type .rich-media-item {\n\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t> .ProseMirror-gapcursor.-right:first-child\n\t\t\t\t\t\t+ .mediaSingleView-content-wrap\n\t\t\t\t\t\t.rich-media-item,\n\t\t\t\t\t> style:first-child\n\t\t\t\t\t\t+ .ProseMirror-gapcursor.-right\n\t\t\t\t\t\t+ .mediaSingleView-content-wrap\n\t\t\t\t\t\t.rich-media-item,\n\t\t\t\t\t> .ProseMirror-gapcursor.-right:first-of-type\n\t\t\t\t\t\t+ .embedCardView-content-wrap\n\t\t\t\t\t\t.rich-media-item {\n\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t> .ProseMirror-gapcursor:first-child\n\t\t\t\t\t\t+ span\n\t\t\t\t\t\t+ .mediaSingleView-content-wrap\n\t\t\t\t\t\t.rich-media-item,\n\t\t\t\t\t> style:first-child\n\t\t\t\t\t\t+ .ProseMirror-gapcursor\n\t\t\t\t\t\t+ span\n\t\t\t\t\t\t+ .mediaSingleView-content-wrap\n\t\t\t\t\t\t.rich-media-item {\n\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t}\n\n\t\t\t\t\t/* Prevent first DecisionWrapper's margin-top: 8px from shifting decisions down\n and shrinking layout's node selectable area (leniency margin) */\n\t\t\t\t\t> [data-node-type='decisionList'] {\n\t\t\t\t\t\tli:first-of-type [data-decision-wrapper] {\n\t\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* Make the 'content' fill the entire height of the layout column to allow click\n handler of layout section nodeview to target only data-layout-column */\n\t\t\t\t[data-layout-content] {\n\t\t\t\t\theight: 100%;\n\t\t\t\t\tcursor: text;\n\t\t\t\t\t.mediaGroupView-content-wrap {\n\t\t\t\t\t\tclear: both;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t", "\n\t\t}\n\n\t\t// styles to support borders for layout\n\t\t[data-layout-section],\n\t\t.layoutSectionView-content-wrap {\n\t\t\t", "\n\t\t}\n\t}\n\n\t.fabric-editor--full-width-mode .ProseMirror {\n\t\t[data-layout-section] {\n\t\t\t.", " {\n\t\t\t\tmargin: 0 ", "px;\n\t\t\t}\n\t\t}\n\t}\n\n\t", "\n"])), columnLayoutSharedStyle, "var(--ds-space-100, 8px)", akLayoutGutterOffset, akEditorSwoopCubicBezier, viewMode === 'view' ? 'default' : 'pointer', fg('platform_editor_drag_and_drop_target_v2') ? 'position: relative;' : '', viewMode === 'view' ? 0 : akEditorSelectedBorderSize, "var(--ds-border, #091E4224)", LAYOUT_COLUMN_PADDING, LAYOUT_COLUMN_PADDING + (editorExperiment('nested-dnd', true) ? 8 : 0), firstNodeWithNotMarginTop(), layoutColumnStyles(), layoutBorderStyles(viewMode), TableCssClassName.TABLE_CONTAINER, tableMarginFullWidthMode, editorExperiment('nested-dnd', true) && ".ak-editor-content-area.appearance-full-page .ProseMirror [data-layout-section] {\n\t\t\t\tmargin: ".concat("var(--ds-space-100, 8px)", " -", akLayoutGutterOffset + 8, "px 0;\n\t\t\t\t}"));
31
40
  };
@@ -24,7 +24,7 @@ export var LegacyEditorContext = /*#__PURE__*/function (_React$Component) {
24
24
  _createClass(LegacyEditorContext, [{
25
25
  key: "render",
26
26
  value: function render() {
27
- if (fg('platform_editor_react18_phase2')) {
27
+ if (fg('platform_editor_react18_phase2_v2')) {
28
28
  return /*#__PURE__*/React.createElement(LegacyEditorContextNew, this.props, this.props.children);
29
29
  }
30
30
  return /*#__PURE__*/React.createElement(LegacyEditorContextOld, this.props, this.props.children);
@@ -21,7 +21,7 @@ var WithEditorActions = /*#__PURE__*/function (_React$Component) {
21
21
  _createClass(WithEditorActions, [{
22
22
  key: "render",
23
23
  value: function render() {
24
- if (fg('platform_editor_react18_phase2')) {
24
+ if (fg('platform_editor_react18_phase2_v2')) {
25
25
  return /*#__PURE__*/React.createElement(WithEditorActionsNew, this.props);
26
26
  }
27
27
  return /*#__PURE__*/React.createElement(WithEditorActionsOld, this.props);
@@ -1,2 +1,2 @@
1
1
  export var name = "@atlaskit/editor-core";
2
- export var version = "201.1.7";
2
+ export var version = "201.1.12";
@@ -24,6 +24,7 @@ export interface EditorViewProps {
24
24
  createAnalyticsEvent?: CreateUIAnalyticsEvent;
25
25
  providerFactory: ProviderFactory;
26
26
  portalProviderAPI: PortalProviderAPI;
27
+ nodeViewPortalProviderAPI: PortalProviderAPI;
27
28
  disabled?: boolean;
28
29
  editorAPI: PublicPluginAPI<any> | undefined;
29
30
  setEditorAPI?: (editorApi: PublicPluginAPI<any>) => void;
@@ -17,6 +17,7 @@ export interface EditorViewProps extends WrappedComponentProps {
17
17
  createAnalyticsEvent?: CreateUIAnalyticsEvent;
18
18
  providerFactory: ProviderFactory;
19
19
  portalProviderAPI: PortalProviderAPI;
20
+ nodeViewPortalProviderAPI: PortalProviderAPI;
20
21
  disabled?: boolean;
21
22
  render?: (props: {
22
23
  editor: JSX.Element;
@@ -17,6 +17,7 @@ export type LightPMPluginFactoryParams = {
17
17
  props: {};
18
18
  prevProps?: {};
19
19
  portalProviderAPI: PortalProviderAPI;
20
+ nodeViewPortalProviderAPI: PortalProviderAPI;
20
21
  dispatchAnalyticsEvent: DispatchAnalyticsEvent;
21
22
  featureFlags: FeatureFlags;
22
23
  getIntl: () => IntlShape;
@@ -24,6 +24,7 @@ export interface EditorViewProps {
24
24
  createAnalyticsEvent?: CreateUIAnalyticsEvent;
25
25
  providerFactory: ProviderFactory;
26
26
  portalProviderAPI: PortalProviderAPI;
27
+ nodeViewPortalProviderAPI: PortalProviderAPI;
27
28
  disabled?: boolean;
28
29
  editorAPI: PublicPluginAPI<any> | undefined;
29
30
  setEditorAPI?: (editorApi: PublicPluginAPI<any>) => void;
@@ -17,6 +17,7 @@ export interface EditorViewProps extends WrappedComponentProps {
17
17
  createAnalyticsEvent?: CreateUIAnalyticsEvent;
18
18
  providerFactory: ProviderFactory;
19
19
  portalProviderAPI: PortalProviderAPI;
20
+ nodeViewPortalProviderAPI: PortalProviderAPI;
20
21
  disabled?: boolean;
21
22
  render?: (props: {
22
23
  editor: JSX.Element;
@@ -17,6 +17,7 @@ export type LightPMPluginFactoryParams = {
17
17
  props: {};
18
18
  prevProps?: {};
19
19
  portalProviderAPI: PortalProviderAPI;
20
+ nodeViewPortalProviderAPI: PortalProviderAPI;
20
21
  dispatchAnalyticsEvent: DispatchAnalyticsEvent;
21
22
  featureFlags: FeatureFlags;
22
23
  getIntl: () => IntlShape;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-core",
3
- "version": "201.1.7",
3
+ "version": "201.1.12",
4
4
  "description": "A package contains Atlassian editor core functionality",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -43,20 +43,20 @@
43
43
  "@atlaskit/analytics-next": "^10.1.0",
44
44
  "@atlaskit/analytics-next-stable-react-context": "1.0.1",
45
45
  "@atlaskit/button": "^20.3.0",
46
- "@atlaskit/editor-common": "^94.12.0",
46
+ "@atlaskit/editor-common": "^94.14.0",
47
47
  "@atlaskit/editor-json-transformer": "^8.20.0",
48
- "@atlaskit/editor-plugin-quick-insert": "1.6.1",
48
+ "@atlaskit/editor-plugin-quick-insert": "1.7.0",
49
49
  "@atlaskit/editor-plugins": "^5.6.0",
50
50
  "@atlaskit/editor-prosemirror": "6.0.0",
51
51
  "@atlaskit/editor-shared-styles": "^3.2.0",
52
52
  "@atlaskit/emoji": "^67.9.0",
53
53
  "@atlaskit/icon": "^22.24.0",
54
- "@atlaskit/media-card": "^78.10.0",
54
+ "@atlaskit/media-card": "^78.11.0",
55
55
  "@atlaskit/mention": "^23.3.0",
56
56
  "@atlaskit/platform-feature-flags": "^0.3.0",
57
57
  "@atlaskit/task-decision": "^17.11.0",
58
- "@atlaskit/tmp-editor-statsig": "^2.11.0",
59
- "@atlaskit/tokens": "^2.1.0",
58
+ "@atlaskit/tmp-editor-statsig": "^2.12.0",
59
+ "@atlaskit/tokens": "^2.2.0",
60
60
  "@atlaskit/tooltip": "^18.8.0",
61
61
  "@atlaskit/width-detector": "^4.3.0",
62
62
  "@babel/runtime": "^7.0.0",
@@ -81,11 +81,11 @@
81
81
  "devDependencies": {
82
82
  "@af/editor-libra": "*",
83
83
  "@af/visual-regression": "*",
84
- "@atlaskit/adf-utils": "^19.10.0",
84
+ "@atlaskit/adf-utils": "^19.11.0",
85
85
  "@atlaskit/analytics-listeners": "^8.11.0",
86
86
  "@atlaskit/collab-provider": "9.44.1",
87
87
  "@atlaskit/editor-plugin-annotation": "1.23.3",
88
- "@atlaskit/editor-plugin-card": "^4.3.0",
88
+ "@atlaskit/editor-plugin-card": "^4.4.0",
89
89
  "@atlaskit/editor-plugin-list": "^3.9.0",
90
90
  "@atlaskit/editor-plugin-paste": "^2.0.0",
91
91
  "@atlaskit/link-provider": "^1.16.0",
@@ -95,15 +95,15 @@
95
95
  "@atlaskit/media-test-helpers": "^34.5.0",
96
96
  "@atlaskit/modal-dialog": "^12.17.0",
97
97
  "@atlaskit/primitives": "^13.0.0",
98
- "@atlaskit/renderer": "^112.3.0",
98
+ "@atlaskit/renderer": "^112.4.0",
99
99
  "@atlaskit/smart-card": "^30.2.0",
100
100
  "@atlaskit/synchrony-test-helpers": "^2.5.0",
101
101
  "@atlaskit/toggle": "^13.4.0",
102
- "@atlaskit/util-data-test": "^17.11.0",
102
+ "@atlaskit/util-data-test": "^17.12.0",
103
103
  "@atlaskit/visual-regression": "*",
104
104
  "@atlassian/adf-schema-json": "^1.22.0",
105
105
  "@atlassian/feature-flags-test-utils": "*",
106
- "@atlassian/search-provider": "2.4.155",
106
+ "@atlassian/search-provider": "2.4.157",
107
107
  "@emotion/jest": "^11.8.0",
108
108
  "@storybook/addon-knobs": "^5.3.18",
109
109
  "@testing-library/react": "^12.1.5",
@@ -152,7 +152,7 @@
152
152
  "type": "boolean",
153
153
  "referenceOnly": "true"
154
154
  },
155
- "platform.linking-platform.datasource-assets_objects": {
155
+ "linking_platform_datasource_assets_objects": {
156
156
  "type": "boolean",
157
157
  "referenceOnly": "true"
158
158
  },
@@ -243,7 +243,7 @@
243
243
  "platform_editor_ssr_fix_block_controls": {
244
244
  "type": "boolean"
245
245
  },
246
- "platform_editor_react18_mention_with_provider": {
246
+ "platform_editor_react18_mention_with_provider_fix": {
247
247
  "type": "boolean"
248
248
  },
249
249
  "platform_editor_remove_use_preset_context": {
@@ -253,11 +253,11 @@
253
253
  "type": "boolean",
254
254
  "referenceOnly": true
255
255
  },
256
- "platform_editor_react18_phase2": {
256
+ "platform_editor_react18_phase2_v2": {
257
257
  "type": "boolean",
258
258
  "referenceOnly": true
259
259
  },
260
- "platform_editor_react18_extension_component": {
260
+ "platform_editor_react18_extension_component_v2": {
261
261
  "type": "boolean"
262
262
  },
263
263
  "platform_editor_context_panel_support_multiple": {