@atlaskit/editor-plugin-breakout 14.0.3 → 14.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +10 -0
- package/dist/cjs/breakoutPlugin.js +1 -1
- package/dist/cjs/editor-commands/set-breakout-mode.js +12 -3
- package/dist/cjs/editor-commands/set-breakout-width.js +14 -4
- package/dist/cjs/pm-plugins/handle-key-down.js +7 -1
- package/dist/cjs/pm-plugins/pragmatic-resizer.js +8 -2
- package/dist/cjs/pm-plugins/resizing-mark-view.js +16 -13
- package/dist/cjs/pm-plugins/resizing-plugin.js +39 -13
- package/dist/es2019/breakoutPlugin.js +1 -1
- package/dist/es2019/editor-commands/set-breakout-mode.js +12 -3
- package/dist/es2019/editor-commands/set-breakout-width.js +14 -4
- package/dist/es2019/pm-plugins/handle-key-down.js +8 -2
- package/dist/es2019/pm-plugins/pragmatic-resizer.js +8 -2
- package/dist/es2019/pm-plugins/resizing-mark-view.js +16 -13
- package/dist/es2019/pm-plugins/resizing-plugin.js +41 -14
- package/dist/esm/breakoutPlugin.js +1 -1
- package/dist/esm/editor-commands/set-breakout-mode.js +12 -3
- package/dist/esm/editor-commands/set-breakout-width.js +14 -4
- package/dist/esm/pm-plugins/handle-key-down.js +8 -2
- package/dist/esm/pm-plugins/pragmatic-resizer.js +8 -2
- package/dist/esm/pm-plugins/resizing-mark-view.js +16 -13
- package/dist/esm/pm-plugins/resizing-plugin.js +40 -14
- package/dist/types/pm-plugins/resizing-mark-view.d.ts +1 -1
- package/dist/types/pm-plugins/resizing-plugin.d.ts +1 -1
- package/package.json +7 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-breakout
|
|
2
2
|
|
|
3
|
+
## 14.0.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`0cdf73fdf7d3e`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/0cdf73fdf7d3e) -
|
|
8
|
+
[ux] [EDITOR-8273] add breakout resizing to extension nodes behind
|
|
9
|
+
`platform_editor_lovability_resize_extensions` with graceful rendering behind
|
|
10
|
+
`platform_editor_lovability_resize_ext_gracefully`
|
|
11
|
+
- Updated dependencies
|
|
12
|
+
|
|
3
13
|
## 14.0.3
|
|
4
14
|
|
|
5
15
|
### Patch Changes
|
|
@@ -198,7 +198,7 @@ var breakoutPlugin = exports.breakoutPlugin = function breakoutPlugin(_ref4) {
|
|
|
198
198
|
plugin: function plugin(_ref5) {
|
|
199
199
|
var getIntl = _ref5.getIntl,
|
|
200
200
|
nodeViewPortalProviderAPI = _ref5.nodeViewPortalProviderAPI;
|
|
201
|
-
return (0, _resizingPlugin.createResizingPlugin)(api, getIntl, nodeViewPortalProviderAPI, options
|
|
201
|
+
return (0, _resizingPlugin.createResizingPlugin)(api, getIntl, nodeViewPortalProviderAPI, options);
|
|
202
202
|
}
|
|
203
203
|
}];
|
|
204
204
|
}
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.setBreakoutMode = setBreakoutMode;
|
|
7
7
|
var _codeBlock = require("@atlaskit/editor-common/code-block");
|
|
8
8
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
9
|
+
var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
|
|
9
10
|
var _findBreakoutNode = require("../pm-plugins/utils/find-breakout-node");
|
|
10
11
|
var _singlePlayerExpand = require("../pm-plugins/utils/single-player-expand");
|
|
11
12
|
function setBreakoutMode(mode, isLivePage) {
|
|
@@ -14,9 +15,17 @@ function setBreakoutMode(mode, isLivePage) {
|
|
|
14
15
|
if (!node) {
|
|
15
16
|
return false;
|
|
16
17
|
}
|
|
17
|
-
var tr
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
var tr;
|
|
19
|
+
if ((0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_lovability_resize_extensions')) {
|
|
20
|
+
var marks = state.schema.marks.breakout.create({
|
|
21
|
+
mode: mode
|
|
22
|
+
}).addToSet(node.node.marks);
|
|
23
|
+
tr = state.tr.setNodeMarkup(node.pos, node.node.type, node.node.attrs, marks);
|
|
24
|
+
} else {
|
|
25
|
+
tr = state.tr.setNodeMarkup(node.pos, node.node.type, node.node.attrs, [state.schema.marks.breakout.create({
|
|
26
|
+
mode: mode
|
|
27
|
+
})]);
|
|
28
|
+
}
|
|
20
29
|
if (node.node.type === state.schema.nodes.expand) {
|
|
21
30
|
(0, _singlePlayerExpand.updateExpandedState)(tr, node, isLivePage);
|
|
22
31
|
} else if (node.node.type === state.schema.nodes.codeBlock) {
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.setBreakoutWidth = setBreakoutWidth;
|
|
7
7
|
var _codeBlock = require("@atlaskit/editor-common/code-block");
|
|
8
8
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
9
|
+
var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
|
|
9
10
|
var _singlePlayerExpand = require("../pm-plugins/utils/single-player-expand");
|
|
10
11
|
function setBreakoutWidth(width, mode, pos, isLivePage) {
|
|
11
12
|
return function (state, dispatch) {
|
|
@@ -13,10 +14,19 @@ function setBreakoutWidth(width, mode, pos, isLivePage) {
|
|
|
13
14
|
if (!node) {
|
|
14
15
|
return false;
|
|
15
16
|
}
|
|
16
|
-
var tr
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
var tr;
|
|
18
|
+
if ((0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_lovability_resize_extensions')) {
|
|
19
|
+
var marks = state.schema.marks.breakout.create({
|
|
20
|
+
width: width,
|
|
21
|
+
mode: mode
|
|
22
|
+
}).addToSet(node.marks);
|
|
23
|
+
tr = state.tr.setNodeMarkup(pos, node.type, node.attrs, marks);
|
|
24
|
+
} else {
|
|
25
|
+
tr = state.tr.setNodeMarkup(pos, node.type, node.attrs, [state.schema.marks.breakout.create({
|
|
26
|
+
width: width,
|
|
27
|
+
mode: mode
|
|
28
|
+
})]);
|
|
29
|
+
}
|
|
20
30
|
if (node.type === state.schema.nodes.expand) {
|
|
21
31
|
(0, _singlePlayerExpand.updateExpandedStateNew)({
|
|
22
32
|
tr: tr,
|
|
@@ -8,6 +8,7 @@ var _browser = require("@atlaskit/editor-common/browser");
|
|
|
8
8
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
9
9
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
10
10
|
var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
|
|
11
|
+
var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
|
|
11
12
|
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
12
13
|
var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
|
|
13
14
|
var _setBreakoutWidth = require("../editor-commands/set-breakout-width");
|
|
@@ -59,7 +60,12 @@ var handleKeyDown = exports.handleKeyDown = function handleKeyDown(api) {
|
|
|
59
60
|
rule = _view$state$schema$no.rule,
|
|
60
61
|
panel = _view$state$schema$no.panel,
|
|
61
62
|
panel_c1 = _view$state$schema$no.panel_c1;
|
|
62
|
-
var breakoutResizableNodes =
|
|
63
|
+
var breakoutResizableNodes = new Set();
|
|
64
|
+
if ((0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_lovability_resize_extensions')) {
|
|
65
|
+
breakoutResizableNodes = (0, _utils.getBreakoutResizableNodeTypesNew)(view.state.schema);
|
|
66
|
+
} else {
|
|
67
|
+
breakoutResizableNodes = (0, _experiments.editorExperiment)('platform_synced_block', true) ? (0, _utils.getBreakoutResizableNodeTypes)(view.state.schema, (0, _expValEquals.expValEquals)('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true)) : (0, _expValEquals.expValEquals)('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true) ? new Set([expand, codeBlock, layoutSection, rule, panel, panel_c1]) : new Set([expand, codeBlock, layoutSection]);
|
|
68
|
+
}
|
|
63
69
|
var result = getAncestorResizableNode(view, breakoutResizableNodes);
|
|
64
70
|
if (result) {
|
|
65
71
|
var node = result.node,
|
|
@@ -12,6 +12,7 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
12
12
|
var _bindEventListener = require("bind-event-listener");
|
|
13
13
|
var _v = _interopRequireDefault(require("uuid/v4"));
|
|
14
14
|
var _messages = require("@atlaskit/editor-common/messages");
|
|
15
|
+
var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
|
|
15
16
|
var _adapter = require("@atlaskit/pragmatic-drag-and-drop/element/adapter");
|
|
16
17
|
var _disableNativeDragPreview = require("@atlaskit/pragmatic-drag-and-drop/element/disable-native-drag-preview");
|
|
17
18
|
var _preventUnhandled = require("@atlaskit/pragmatic-drag-and-drop/prevent-unhandled");
|
|
@@ -28,6 +29,8 @@ var getNodeName = function getNodeName(nodeName) {
|
|
|
28
29
|
return nodeName;
|
|
29
30
|
} else if ((nodeName === 'rule' || nodeName === 'panel' || nodeName === 'panel_c1') && (0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true)) {
|
|
30
31
|
return nodeName;
|
|
32
|
+
} else if ((nodeName === 'extension' || nodeName === 'bodiedExtension' || nodeName === 'multiBodiedExtension') && (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_lovability_resize_extensions')) {
|
|
33
|
+
return nodeName;
|
|
31
34
|
} else {
|
|
32
35
|
return 'node';
|
|
33
36
|
}
|
|
@@ -39,7 +42,10 @@ var resizeHandleMessage = exports.resizeHandleMessage = {
|
|
|
39
42
|
rule: _messages.breakoutMessages.resizeRule,
|
|
40
43
|
panel: _messages.breakoutMessages.resizePanel,
|
|
41
44
|
panel_c1: _messages.breakoutMessages.resizePanel,
|
|
42
|
-
node: _messages.breakoutMessages.resizeElement
|
|
45
|
+
node: _messages.breakoutMessages.resizeElement,
|
|
46
|
+
extension: _messages.breakoutMessages.resizeExtension,
|
|
47
|
+
bodiedExtension: _messages.breakoutMessages.resizeExtension,
|
|
48
|
+
multiBodiedExtension: _messages.breakoutMessages.resizeExtension
|
|
43
49
|
};
|
|
44
50
|
var RailWithTooltip = function RailWithTooltip(_ref) {
|
|
45
51
|
var rail = _ref.rail,
|
|
@@ -75,7 +81,7 @@ var createPragmaticResizer = exports.createPragmaticResizer = function createPra
|
|
|
75
81
|
intl = _ref2.intl,
|
|
76
82
|
nodeViewPortalProviderAPI = _ref2.nodeViewPortalProviderAPI;
|
|
77
83
|
var state = 'default';
|
|
78
|
-
var isLeftResizeHandleDisabled = (0, _expValEquals.expValEquals)('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true);
|
|
84
|
+
var isLeftResizeHandleDisabled = (0, _expValEquals.expValEquals)('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true) || (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_lovability_resize_extensions');
|
|
79
85
|
var createHandle = function createHandle(side) {
|
|
80
86
|
var handle = document.createElement('div');
|
|
81
87
|
handle.contentEditable = 'false';
|
|
@@ -9,6 +9,7 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
|
|
|
9
9
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
11
|
var _styles = require("@atlaskit/editor-common/styles");
|
|
12
|
+
var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
|
|
12
13
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
13
14
|
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
14
15
|
var _pragmaticResizer = require("./pragmatic-resizer");
|
|
@@ -59,7 +60,8 @@ var ResizingMarkView = exports.ResizingMarkView = /*#__PURE__*/function () {
|
|
|
59
60
|
dom.className = _styles.BreakoutCssClassName.BREAKOUT_MARK;
|
|
60
61
|
dom.setAttribute('data-layout', mark.attrs.mode);
|
|
61
62
|
dom.setAttribute('data-testid', 'ak-editor-breakout-mark');
|
|
62
|
-
var
|
|
63
|
+
var isResizingDividersPanelsEnabled = (0, _expValEquals.expValEquals)('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true);
|
|
64
|
+
var isResizingExtensionsEnabled = (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_lovability_resize_extensions');
|
|
63
65
|
|
|
64
66
|
// DOM styles
|
|
65
67
|
// Keep a three-column grid even when the left resize handle is disabled. The empty
|
|
@@ -73,11 +75,11 @@ var ResizingMarkView = exports.ResizingMarkView = /*#__PURE__*/function () {
|
|
|
73
75
|
contentDOM.style.gridColumn = '2';
|
|
74
76
|
contentDOM.style.zIndex = '1';
|
|
75
77
|
if (mark.attrs.width) {
|
|
76
|
-
dom.style.gridTemplateColumns =
|
|
78
|
+
dom.style.gridTemplateColumns = isResizingDividersPanelsEnabled || isResizingExtensionsEnabled ? // new code - phantom left track + content + right handle
|
|
77
79
|
"".concat(RESIZE_HANDLE_TRACK_WIDTH, " max(var(--ak-editor--breakout-min-width), min(var(").concat(LOCAL_RESIZE_PROPERTY, ", ").concat(mark.attrs.width, "px), var(--ak-editor--breakout-fallback-width))) ").concat(RESIZE_HANDLE_TRACK_WIDTH) : // old code - left handle + content + right handle
|
|
78
80
|
"auto max(var(--ak-editor--breakout-min-width), min(var(".concat(LOCAL_RESIZE_PROPERTY, ", ").concat(mark.attrs.width, "px), var(--ak-editor--breakout-fallback-width))) auto");
|
|
79
81
|
} else {
|
|
80
|
-
if (
|
|
82
|
+
if (isResizingDividersPanelsEnabled || isResizingExtensionsEnabled) {
|
|
81
83
|
dom.style.gridTemplateColumns = "".concat(RESIZE_HANDLE_TRACK_WIDTH, " auto ").concat(RESIZE_HANDLE_TRACK_WIDTH);
|
|
82
84
|
}
|
|
83
85
|
if (mark.attrs.mode === 'wide') {
|
|
@@ -96,13 +98,13 @@ var ResizingMarkView = exports.ResizingMarkView = /*#__PURE__*/function () {
|
|
|
96
98
|
this.nodeViewPortalProviderAPI = nodeViewPortalProviderAPI;
|
|
97
99
|
var isLiveViewMode = (api === null || api === void 0 || (_api$editorViewMode = api.editorViewMode) === null || _api$editorViewMode === void 0 || (_api$editorViewMode = _api$editorViewMode.sharedState.currentState()) === null || _api$editorViewMode === void 0 ? void 0 : _api$editorViewMode.mode) === 'view';
|
|
98
100
|
if (!isLiveViewMode) {
|
|
99
|
-
(0, _platformFeatureFlags.fg)('platform_editor_lovability_resize_gracefully') ? this.setupResizerCallbacksIfSupported(dom, contentDOM, view, mark,
|
|
101
|
+
(0, _platformFeatureFlags.fg)('platform_editor_lovability_resize_gracefully') || (0, _platformFeatureFlags.fg)('platform_editor_lovability_resize_ext_gracefully') ? this.setupResizerCallbacksIfSupported(dom, contentDOM, view, mark, isResizingDividersPanelsEnabled, isResizingExtensionsEnabled, api) : this.setupResizerCallbacks(dom, contentDOM, view, mark, api);
|
|
100
102
|
}
|
|
101
103
|
this.unsubscribeToViewModeChange = api === null || api === void 0 || (_api$editorViewMode2 = api.editorViewMode) === null || _api$editorViewMode2 === void 0 ? void 0 : _api$editorViewMode2.sharedState.onChange(function (sharedState) {
|
|
102
104
|
var _sharedState$nextShar, _sharedState$prevShar;
|
|
103
105
|
if (((_sharedState$nextShar = sharedState.nextSharedState) === null || _sharedState$nextShar === void 0 ? void 0 : _sharedState$nextShar.mode) !== ((_sharedState$prevShar = sharedState.prevSharedState) === null || _sharedState$prevShar === void 0 ? void 0 : _sharedState$prevShar.mode)) {
|
|
104
106
|
var _sharedState$nextShar4, _sharedState$nextShar5;
|
|
105
|
-
if ((0, _platformFeatureFlags.fg)('platform_editor_lovability_resize_gracefully')) {
|
|
107
|
+
if ((0, _platformFeatureFlags.fg)('platform_editor_lovability_resize_gracefully') || (0, _platformFeatureFlags.fg)('platform_editor_lovability_resize_ext_gracefully')) {
|
|
106
108
|
var _sharedState$nextShar2, _sharedState$nextShar3;
|
|
107
109
|
if (((_sharedState$nextShar2 = sharedState.nextSharedState) === null || _sharedState$nextShar2 === void 0 ? void 0 : _sharedState$nextShar2.mode) === 'view') {
|
|
108
110
|
var _this$cancelScheduled;
|
|
@@ -114,7 +116,7 @@ var ResizingMarkView = exports.ResizingMarkView = /*#__PURE__*/function () {
|
|
|
114
116
|
_this.isResizingInitialised = false;
|
|
115
117
|
}
|
|
116
118
|
} else if (((_sharedState$nextShar3 = sharedState.nextSharedState) === null || _sharedState$nextShar3 === void 0 ? void 0 : _sharedState$nextShar3.mode) === 'edit' && !_this.isResizingInitialised) {
|
|
117
|
-
_this.setupResizerCallbacksIfSupported(dom, contentDOM, view, mark,
|
|
119
|
+
_this.setupResizerCallbacksIfSupported(dom, contentDOM, view, mark, isResizingDividersPanelsEnabled, isResizingExtensionsEnabled, api);
|
|
118
120
|
}
|
|
119
121
|
} else if (((_sharedState$nextShar4 = sharedState.nextSharedState) === null || _sharedState$nextShar4 === void 0 ? void 0 : _sharedState$nextShar4.mode) === 'view' && _this.isResizingInitialised) {
|
|
120
122
|
var _this$destroyFn2;
|
|
@@ -153,21 +155,21 @@ var ResizingMarkView = exports.ResizingMarkView = /*#__PURE__*/function () {
|
|
|
153
155
|
}
|
|
154
156
|
}, {
|
|
155
157
|
key: "setupResizerCallbacksIfSupported",
|
|
156
|
-
value: function setupResizerCallbacksIfSupported(dom, contentDOM, view, mark,
|
|
158
|
+
value: function setupResizerCallbacksIfSupported(dom, contentDOM, view, mark, isResizingDividersPanelsEnabled, isResizingExtensionsEnabled, api) {
|
|
157
159
|
var _this$cancelScheduled2,
|
|
158
160
|
_this2 = this;
|
|
159
161
|
// cancel any pending setup before scheduling a new one
|
|
160
162
|
(_this$cancelScheduled2 = this.cancelScheduledResizeHandleSetup) === null || _this$cancelScheduled2 === void 0 || _this$cancelScheduled2.call(this);
|
|
161
163
|
this.cancelScheduledResizeHandleSetup = undefined;
|
|
162
164
|
|
|
163
|
-
// if
|
|
164
|
-
// set up the resizer callbacks
|
|
165
|
-
if (
|
|
165
|
+
// if breakout resizing is supported,
|
|
166
|
+
// continue to set up the resizer callbacks
|
|
167
|
+
if (isResizingDividersPanelsEnabled && isResizingExtensionsEnabled) {
|
|
166
168
|
this.setupResizerCallbacks(dom, contentDOM, view, mark, api);
|
|
167
169
|
return;
|
|
168
170
|
}
|
|
169
171
|
|
|
170
|
-
// else if
|
|
172
|
+
// else if breakout resizing is not supported,
|
|
171
173
|
// do NOT set up the resizer callbacks (yet)
|
|
172
174
|
// wait for the mark view DOM to be attached to the DOM first
|
|
173
175
|
this.cancelScheduledResizeHandleSetup = scheduleResizeHandleSetup(function () {
|
|
@@ -179,8 +181,9 @@ var ResizingMarkView = exports.ResizingMarkView = /*#__PURE__*/function () {
|
|
|
179
181
|
var pos = view.posAtDOM(dom, 0);
|
|
180
182
|
var nodeName = (_view$state$doc$nodeA = view.state.doc.nodeAt(pos)) === null || _view$state$doc$nodeA === void 0 ? void 0 : _view$state$doc$nodeA.type.name;
|
|
181
183
|
|
|
182
|
-
// if the node is a panel or a rule, do NOT set up the resizer callbacks
|
|
183
|
-
if
|
|
184
|
+
// if the node is a panel or a rule but resizing is not supported, do NOT set up the resizer callbacks
|
|
185
|
+
// if the node is an extension but resizing is not supported, do NOT set up the resizer callbacks
|
|
186
|
+
if (nodeName && ['panel', 'rule', 'panel_c1'].includes(nodeName) && !isResizingDividersPanelsEnabled || nodeName && ['extension', 'bodiedExtension', 'multiBodiedExtension'].includes(nodeName) && !isResizingExtensionsEnabled || _this2.isResizingInitialised) {
|
|
184
187
|
return;
|
|
185
188
|
}
|
|
186
189
|
|
|
@@ -11,6 +11,7 @@ var _utils = require("@atlaskit/editor-common/utils");
|
|
|
11
11
|
var _document = require("@atlaskit/editor-common/utils/document");
|
|
12
12
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
13
13
|
var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
|
|
14
|
+
var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
|
|
14
15
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
15
16
|
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
16
17
|
var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
|
|
@@ -40,9 +41,16 @@ var addBreakoutToResizableNode = function addBreakoutToResizableNode(_ref) {
|
|
|
40
41
|
var isExpand = node.type === expand;
|
|
41
42
|
if (!breakoutMark) {
|
|
42
43
|
var width = isMaxWidthEnabled ? _editorSharedStyles.akEditorMaxWidthLayoutWidth : isFullWidthEnabled ? _editorSharedStyles.akEditorFullWidthLayoutWidth : _editorSharedStyles.akEditorDefaultLayoutWidth;
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
if ((0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_lovability_resize_extensions')) {
|
|
45
|
+
var marks = breakout.create({
|
|
46
|
+
width: width
|
|
47
|
+
}).addToSet(node.marks);
|
|
48
|
+
updatedTr = newTr.setNodeMarkup(pos, node.type, node.attrs, marks);
|
|
49
|
+
} else {
|
|
50
|
+
updatedTr = newTr.setNodeMarkup(pos, node.type, node.attrs, [breakout.create({
|
|
51
|
+
width: width
|
|
52
|
+
})]);
|
|
53
|
+
}
|
|
46
54
|
if (isExpand) {
|
|
47
55
|
(0, _singlePlayerExpand.updateExpandedStateNew)({
|
|
48
56
|
tr: updatedTr,
|
|
@@ -56,11 +64,18 @@ var addBreakoutToResizableNode = function addBreakoutToResizableNode(_ref) {
|
|
|
56
64
|
var mode = breakoutMark.attrs.mode;
|
|
57
65
|
|
|
58
66
|
// if breakout is present on node, but page appearance is 'full width' force width to full width to maintain backwards compatibility
|
|
59
|
-
var
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
67
|
+
var _width = isMaxWidthEnabled ? _editorSharedStyles.akEditorMaxWidthLayoutWidth : isFullWidthEnabled || mode === 'full-width' ? _editorSharedStyles.akEditorFullWidthLayoutWidth : _editorSharedStyles.akEditorCalculatedWideLayoutWidth;
|
|
68
|
+
if ((0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_lovability_resize_extensions')) {
|
|
69
|
+
var _marks = breakout.create({
|
|
70
|
+
width: _width
|
|
71
|
+
}).addToSet(node.marks);
|
|
72
|
+
updatedTr = newTr.setNodeMarkup(pos, node.type, node.attrs, _marks);
|
|
73
|
+
} else {
|
|
74
|
+
updatedTr = newTr.setNodeMarkup(pos, node.type, node.attrs, [breakout.create({
|
|
75
|
+
width: _width,
|
|
76
|
+
mode: mode
|
|
77
|
+
})]);
|
|
78
|
+
}
|
|
64
79
|
if (isExpand) {
|
|
65
80
|
(0, _singlePlayerExpand.updateExpandedStateNew)({
|
|
66
81
|
tr: updatedTr,
|
|
@@ -120,7 +135,6 @@ var requestIdleCallbackWithFallback = function requestIdleCallbackWithFallback(c
|
|
|
120
135
|
}
|
|
121
136
|
};
|
|
122
137
|
var createResizingPlugin = exports.createResizingPlugin = function createResizingPlugin(api, getIntl, nodeViewPortalProviderAPI, options) {
|
|
123
|
-
var isRuleAndPanelResizingEnabled = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
124
138
|
return new _safePlugin.SafePlugin({
|
|
125
139
|
key: resizingPluginKey,
|
|
126
140
|
state: pluginState,
|
|
@@ -134,7 +148,8 @@ var createResizingPlugin = exports.createResizingPlugin = function createResizin
|
|
|
134
148
|
},
|
|
135
149
|
view: function view(editorView) {
|
|
136
150
|
var _api$editorViewMode2;
|
|
137
|
-
var isPageLoadNormalizationEnabled = (0, _expValEquals.expValEquals)('platform_editor_add_breakout_marks_on_page_load', 'isEnabled', true);
|
|
151
|
+
var isPageLoadNormalizationEnabled = (0, _expValEquals.expValEquals)('platform_editor_add_breakout_marks_on_page_load', 'isEnabled', true) || (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_lovability_resize_extensions');
|
|
152
|
+
var isRuleAndPanelResizingEnabled = (0, _expValEquals.expValEquals)('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true);
|
|
138
153
|
var isPanelAndDividerNormalizationEnabled = isRuleAndPanelResizingEnabled && !(0, _platformFeatureFlags.fg)('platform_editor_lovability_resize_patch_1');
|
|
139
154
|
if (!isPageLoadNormalizationEnabled && !isPanelAndDividerNormalizationEnabled) {
|
|
140
155
|
return {};
|
|
@@ -160,7 +175,12 @@ var createResizingPlugin = exports.createResizingPlugin = function createResizin
|
|
|
160
175
|
rule = _state$schema$nodes.rule,
|
|
161
176
|
panel = _state$schema$nodes.panel,
|
|
162
177
|
panel_c1 = _state$schema$nodes.panel_c1;
|
|
163
|
-
var breakoutResizableNodes =
|
|
178
|
+
var breakoutResizableNodes = new Set();
|
|
179
|
+
if ((0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_lovability_resize_extensions')) {
|
|
180
|
+
breakoutResizableNodes = (0, _utils.getBreakoutResizableNodeTypesNew)(state.schema);
|
|
181
|
+
} else {
|
|
182
|
+
breakoutResizableNodes = (0, _experiments.editorExperiment)('platform_synced_block', true) ? (0, _utils.getBreakoutResizableNodeTypes)(state.schema, isRuleAndPanelResizingEnabled) : isRuleAndPanelResizingEnabled ? new Set([expand, codeBlock, layoutSection, rule, panel, panel_c1]) : new Set([expand, codeBlock, layoutSection]);
|
|
183
|
+
}
|
|
164
184
|
var newTr = state.tr;
|
|
165
185
|
var hasDocChanged = false;
|
|
166
186
|
|
|
@@ -207,6 +227,7 @@ var createResizingPlugin = exports.createResizingPlugin = function createResizin
|
|
|
207
227
|
}
|
|
208
228
|
var newTr = newState.tr;
|
|
209
229
|
var hasDocChanged = false;
|
|
230
|
+
var isRuleAndPanelResizingEnabled = (0, _expValEquals.expValEquals)('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true);
|
|
210
231
|
var _newState$schema$node = newState.schema.nodes,
|
|
211
232
|
expand = _newState$schema$node.expand,
|
|
212
233
|
codeBlock = _newState$schema$node.codeBlock,
|
|
@@ -214,10 +235,15 @@ var createResizingPlugin = exports.createResizingPlugin = function createResizin
|
|
|
214
235
|
rule = _newState$schema$node.rule,
|
|
215
236
|
panel = _newState$schema$node.panel,
|
|
216
237
|
panel_c1 = _newState$schema$node.panel_c1;
|
|
217
|
-
var breakoutResizableNodes =
|
|
238
|
+
var breakoutResizableNodes = new Set();
|
|
239
|
+
if ((0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_lovability_resize_extensions')) {
|
|
240
|
+
breakoutResizableNodes = (0, _utils.getBreakoutResizableNodeTypesNew)(newState.schema);
|
|
241
|
+
} else {
|
|
242
|
+
breakoutResizableNodes = (0, _experiments.editorExperiment)('platform_synced_block', true) ? (0, _utils.getBreakoutResizableNodeTypes)(newState.schema, isRuleAndPanelResizingEnabled) : isRuleAndPanelResizingEnabled ? new Set([expand, codeBlock, layoutSection, rule, panel, panel_c1]) : new Set([expand, codeBlock, layoutSection]);
|
|
243
|
+
}
|
|
218
244
|
var isFullWidthEnabled = !((options === null || options === void 0 ? void 0 : options.allowBreakoutButton) === true);
|
|
219
245
|
var isMaxWidthEnabled = (options === null || options === void 0 ? void 0 : options.appearance) === 'max' && (0, _expValEquals.expValEquals)('confluence_max_width_content_appearance', 'isEnabled', true) && (0, _expValEquals.expValEquals)('platform_editor_lovability_breakout_resizing_fixes', 'isEnabled', true);
|
|
220
|
-
var isPageLoadNormalizationEnabled = (0, _expValEquals.expValEquals)('platform_editor_add_breakout_marks_on_page_load', 'isEnabled', true);
|
|
246
|
+
var isPageLoadNormalizationEnabled = (0, _expValEquals.expValEquals)('platform_editor_add_breakout_marks_on_page_load', 'isEnabled', true) || (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_lovability_resize_extensions');
|
|
221
247
|
var isPanelAndDividerNormalizationEnabled = isRuleAndPanelResizingEnabled && !(0, _platformFeatureFlags.fg)('platform_editor_lovability_resize_patch_1');
|
|
222
248
|
if (!isPageLoadNormalizationEnabled && !isPanelAndDividerNormalizationEnabled && (0, _document.isReplaceDocOperation)(transactions, oldState)) {
|
|
223
249
|
newState.doc.forEach(function (node, pos) {
|
|
@@ -183,7 +183,7 @@ export const breakoutPlugin = ({
|
|
|
183
183
|
plugin: ({
|
|
184
184
|
getIntl,
|
|
185
185
|
nodeViewPortalProviderAPI
|
|
186
|
-
}) => createResizingPlugin(api, getIntl, nodeViewPortalProviderAPI, options
|
|
186
|
+
}) => createResizingPlugin(api, getIntl, nodeViewPortalProviderAPI, options)
|
|
187
187
|
}];
|
|
188
188
|
}
|
|
189
189
|
return [{
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { transferCodeBlockWrappedValue } from '@atlaskit/editor-common/code-block';
|
|
2
2
|
import { NodeSelection } from '@atlaskit/editor-prosemirror/state';
|
|
3
|
+
import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
|
|
3
4
|
import { findSupportedNodeForBreakout } from '../pm-plugins/utils/find-breakout-node';
|
|
4
5
|
import { updateExpandedState } from '../pm-plugins/utils/single-player-expand';
|
|
5
6
|
export function setBreakoutMode(mode, isLivePage) {
|
|
@@ -8,9 +9,17 @@ export function setBreakoutMode(mode, isLivePage) {
|
|
|
8
9
|
if (!node) {
|
|
9
10
|
return false;
|
|
10
11
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
let tr;
|
|
13
|
+
if (isExperimentEnabled('platform_editor_lovability_resize_extensions')) {
|
|
14
|
+
const marks = state.schema.marks.breakout.create({
|
|
15
|
+
mode
|
|
16
|
+
}).addToSet(node.node.marks);
|
|
17
|
+
tr = state.tr.setNodeMarkup(node.pos, node.node.type, node.node.attrs, marks);
|
|
18
|
+
} else {
|
|
19
|
+
tr = state.tr.setNodeMarkup(node.pos, node.node.type, node.node.attrs, [state.schema.marks.breakout.create({
|
|
20
|
+
mode
|
|
21
|
+
})]);
|
|
22
|
+
}
|
|
14
23
|
if (node.node.type === state.schema.nodes.expand) {
|
|
15
24
|
updateExpandedState(tr, node, isLivePage);
|
|
16
25
|
} else if (node.node.type === state.schema.nodes.codeBlock) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { transferCodeBlockWrappedValue } from '@atlaskit/editor-common/code-block';
|
|
2
2
|
import { NodeSelection } from '@atlaskit/editor-prosemirror/state';
|
|
3
|
+
import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
|
|
3
4
|
import { updateExpandedStateNew } from '../pm-plugins/utils/single-player-expand';
|
|
4
5
|
export function setBreakoutWidth(width, mode, pos, isLivePage) {
|
|
5
6
|
return (state, dispatch) => {
|
|
@@ -7,10 +8,19 @@ export function setBreakoutWidth(width, mode, pos, isLivePage) {
|
|
|
7
8
|
if (!node) {
|
|
8
9
|
return false;
|
|
9
10
|
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
let tr;
|
|
12
|
+
if (isExperimentEnabled('platform_editor_lovability_resize_extensions')) {
|
|
13
|
+
const marks = state.schema.marks.breakout.create({
|
|
14
|
+
width,
|
|
15
|
+
mode
|
|
16
|
+
}).addToSet(node.marks);
|
|
17
|
+
tr = state.tr.setNodeMarkup(pos, node.type, node.attrs, marks);
|
|
18
|
+
} else {
|
|
19
|
+
tr = state.tr.setNodeMarkup(pos, node.type, node.attrs, [state.schema.marks.breakout.create({
|
|
20
|
+
width,
|
|
21
|
+
mode
|
|
22
|
+
})]);
|
|
23
|
+
}
|
|
14
24
|
if (node.type === state.schema.nodes.expand) {
|
|
15
25
|
updateExpandedStateNew({
|
|
16
26
|
tr,
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { getBrowserInfo } from '@atlaskit/editor-common/browser';
|
|
2
|
-
import { getBreakoutResizableNodeTypes } from '@atlaskit/editor-common/utils';
|
|
2
|
+
import { getBreakoutResizableNodeTypes, getBreakoutResizableNodeTypesNew } from '@atlaskit/editor-common/utils';
|
|
3
3
|
import { NodeSelection, TextSelection } from '@atlaskit/editor-prosemirror/state';
|
|
4
4
|
import { akEditorDefaultLayoutWidth, akEditorFullWidthLayoutWidth } from '@atlaskit/editor-shared-styles';
|
|
5
|
+
import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
|
|
5
6
|
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
6
7
|
import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
|
|
7
8
|
import { setBreakoutWidth } from '../editor-commands/set-breakout-width';
|
|
@@ -53,7 +54,12 @@ export const handleKeyDown = api => (view, event) => {
|
|
|
53
54
|
panel,
|
|
54
55
|
panel_c1
|
|
55
56
|
} = view.state.schema.nodes;
|
|
56
|
-
|
|
57
|
+
let breakoutResizableNodes = new Set();
|
|
58
|
+
if (isExperimentEnabled('platform_editor_lovability_resize_extensions')) {
|
|
59
|
+
breakoutResizableNodes = getBreakoutResizableNodeTypesNew(view.state.schema);
|
|
60
|
+
} else {
|
|
61
|
+
breakoutResizableNodes = editorExperiment('platform_synced_block', true) ? getBreakoutResizableNodeTypes(view.state.schema, expValEquals('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true)) : expValEquals('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true) ? new Set([expand, codeBlock, layoutSection, rule, panel, panel_c1]) : new Set([expand, codeBlock, layoutSection]);
|
|
62
|
+
}
|
|
57
63
|
const result = getAncestorResizableNode(view, breakoutResizableNodes);
|
|
58
64
|
if (result) {
|
|
59
65
|
const {
|
|
@@ -3,6 +3,7 @@ import { bind } from 'bind-event-listener';
|
|
|
3
3
|
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
4
4
|
import uuid from 'uuid/v4';
|
|
5
5
|
import { breakoutMessages as messages } from '@atlaskit/editor-common/messages';
|
|
6
|
+
import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
|
|
6
7
|
import { draggable } from '@atlaskit/pragmatic-drag-and-drop/element/adapter';
|
|
7
8
|
import { disableNativeDragPreview } from '@atlaskit/pragmatic-drag-and-drop/element/disable-native-drag-preview';
|
|
8
9
|
import { preventUnhandled } from '@atlaskit/pragmatic-drag-and-drop/prevent-unhandled';
|
|
@@ -16,6 +17,8 @@ const getNodeName = nodeName => {
|
|
|
16
17
|
return nodeName;
|
|
17
18
|
} else if ((nodeName === 'rule' || nodeName === 'panel' || nodeName === 'panel_c1') && expValEqualsNoExposure('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true)) {
|
|
18
19
|
return nodeName;
|
|
20
|
+
} else if ((nodeName === 'extension' || nodeName === 'bodiedExtension' || nodeName === 'multiBodiedExtension') && isExperimentEnabled('platform_editor_lovability_resize_extensions')) {
|
|
21
|
+
return nodeName;
|
|
19
22
|
} else {
|
|
20
23
|
return 'node';
|
|
21
24
|
}
|
|
@@ -27,7 +30,10 @@ export const resizeHandleMessage = {
|
|
|
27
30
|
rule: messages.resizeRule,
|
|
28
31
|
panel: messages.resizePanel,
|
|
29
32
|
panel_c1: messages.resizePanel,
|
|
30
|
-
node: messages.resizeElement
|
|
33
|
+
node: messages.resizeElement,
|
|
34
|
+
extension: messages.resizeExtension,
|
|
35
|
+
bodiedExtension: messages.resizeExtension,
|
|
36
|
+
multiBodiedExtension: messages.resizeExtension
|
|
31
37
|
};
|
|
32
38
|
const RailWithTooltip = ({
|
|
33
39
|
rail,
|
|
@@ -62,7 +68,7 @@ export const createPragmaticResizer = ({
|
|
|
62
68
|
nodeViewPortalProviderAPI
|
|
63
69
|
}) => {
|
|
64
70
|
let state = 'default';
|
|
65
|
-
const isLeftResizeHandleDisabled = expValEquals('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true);
|
|
71
|
+
const isLeftResizeHandleDisabled = expValEquals('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true) || isExperimentEnabled('platform_editor_lovability_resize_extensions');
|
|
66
72
|
const createHandle = side => {
|
|
67
73
|
const handle = document.createElement('div');
|
|
68
74
|
handle.contentEditable = 'false';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
2
|
import { BreakoutCssClassName } from '@atlaskit/editor-common/styles';
|
|
3
|
+
import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
|
|
3
4
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
4
5
|
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
5
6
|
import { createPragmaticResizer } from './pragmatic-resizer';
|
|
@@ -41,7 +42,8 @@ export class ResizingMarkView {
|
|
|
41
42
|
dom.className = BreakoutCssClassName.BREAKOUT_MARK;
|
|
42
43
|
dom.setAttribute('data-layout', mark.attrs.mode);
|
|
43
44
|
dom.setAttribute('data-testid', 'ak-editor-breakout-mark');
|
|
44
|
-
const
|
|
45
|
+
const isResizingDividersPanelsEnabled = expValEquals('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true);
|
|
46
|
+
const isResizingExtensionsEnabled = isExperimentEnabled('platform_editor_lovability_resize_extensions');
|
|
45
47
|
|
|
46
48
|
// DOM styles
|
|
47
49
|
// Keep a three-column grid even when the left resize handle is disabled. The empty
|
|
@@ -55,13 +57,13 @@ export class ResizingMarkView {
|
|
|
55
57
|
contentDOM.style.gridColumn = '2';
|
|
56
58
|
contentDOM.style.zIndex = '1';
|
|
57
59
|
if (mark.attrs.width) {
|
|
58
|
-
dom.style.gridTemplateColumns =
|
|
60
|
+
dom.style.gridTemplateColumns = isResizingDividersPanelsEnabled || isResizingExtensionsEnabled ?
|
|
59
61
|
// new code - phantom left track + content + right handle
|
|
60
62
|
`${RESIZE_HANDLE_TRACK_WIDTH} max(var(--ak-editor--breakout-min-width), min(var(${LOCAL_RESIZE_PROPERTY}, ${mark.attrs.width}px), var(--ak-editor--breakout-fallback-width))) ${RESIZE_HANDLE_TRACK_WIDTH}` :
|
|
61
63
|
// old code - left handle + content + right handle
|
|
62
64
|
`auto max(var(--ak-editor--breakout-min-width), min(var(${LOCAL_RESIZE_PROPERTY}, ${mark.attrs.width}px), var(--ak-editor--breakout-fallback-width))) auto`;
|
|
63
65
|
} else {
|
|
64
|
-
if (
|
|
66
|
+
if (isResizingDividersPanelsEnabled || isResizingExtensionsEnabled) {
|
|
65
67
|
dom.style.gridTemplateColumns = `${RESIZE_HANDLE_TRACK_WIDTH} auto ${RESIZE_HANDLE_TRACK_WIDTH}`;
|
|
66
68
|
}
|
|
67
69
|
if (mark.attrs.mode === 'wide') {
|
|
@@ -80,13 +82,13 @@ export class ResizingMarkView {
|
|
|
80
82
|
this.nodeViewPortalProviderAPI = nodeViewPortalProviderAPI;
|
|
81
83
|
const isLiveViewMode = (api === null || api === void 0 ? void 0 : (_api$editorViewMode = api.editorViewMode) === null || _api$editorViewMode === void 0 ? void 0 : (_api$editorViewMode$s = _api$editorViewMode.sharedState.currentState()) === null || _api$editorViewMode$s === void 0 ? void 0 : _api$editorViewMode$s.mode) === 'view';
|
|
82
84
|
if (!isLiveViewMode) {
|
|
83
|
-
fg('platform_editor_lovability_resize_gracefully') ? this.setupResizerCallbacksIfSupported(dom, contentDOM, view, mark,
|
|
85
|
+
fg('platform_editor_lovability_resize_gracefully') || fg('platform_editor_lovability_resize_ext_gracefully') ? this.setupResizerCallbacksIfSupported(dom, contentDOM, view, mark, isResizingDividersPanelsEnabled, isResizingExtensionsEnabled, api) : this.setupResizerCallbacks(dom, contentDOM, view, mark, api);
|
|
84
86
|
}
|
|
85
87
|
this.unsubscribeToViewModeChange = api === null || api === void 0 ? void 0 : (_api$editorViewMode2 = api.editorViewMode) === null || _api$editorViewMode2 === void 0 ? void 0 : _api$editorViewMode2.sharedState.onChange(sharedState => {
|
|
86
88
|
var _sharedState$nextShar, _sharedState$prevShar;
|
|
87
89
|
if (((_sharedState$nextShar = sharedState.nextSharedState) === null || _sharedState$nextShar === void 0 ? void 0 : _sharedState$nextShar.mode) !== ((_sharedState$prevShar = sharedState.prevSharedState) === null || _sharedState$prevShar === void 0 ? void 0 : _sharedState$prevShar.mode)) {
|
|
88
90
|
var _sharedState$nextShar4, _sharedState$nextShar5;
|
|
89
|
-
if (fg('platform_editor_lovability_resize_gracefully')) {
|
|
91
|
+
if (fg('platform_editor_lovability_resize_gracefully') || fg('platform_editor_lovability_resize_ext_gracefully')) {
|
|
90
92
|
var _sharedState$nextShar2, _sharedState$nextShar3;
|
|
91
93
|
if (((_sharedState$nextShar2 = sharedState.nextSharedState) === null || _sharedState$nextShar2 === void 0 ? void 0 : _sharedState$nextShar2.mode) === 'view') {
|
|
92
94
|
var _this$cancelScheduled;
|
|
@@ -98,7 +100,7 @@ export class ResizingMarkView {
|
|
|
98
100
|
this.isResizingInitialised = false;
|
|
99
101
|
}
|
|
100
102
|
} else if (((_sharedState$nextShar3 = sharedState.nextSharedState) === null || _sharedState$nextShar3 === void 0 ? void 0 : _sharedState$nextShar3.mode) === 'edit' && !this.isResizingInitialised) {
|
|
101
|
-
this.setupResizerCallbacksIfSupported(dom, contentDOM, view, mark,
|
|
103
|
+
this.setupResizerCallbacksIfSupported(dom, contentDOM, view, mark, isResizingDividersPanelsEnabled, isResizingExtensionsEnabled, api);
|
|
102
104
|
}
|
|
103
105
|
} else if (((_sharedState$nextShar4 = sharedState.nextSharedState) === null || _sharedState$nextShar4 === void 0 ? void 0 : _sharedState$nextShar4.mode) === 'view' && this.isResizingInitialised) {
|
|
104
106
|
var _this$destroyFn2;
|
|
@@ -134,20 +136,20 @@ export class ResizingMarkView {
|
|
|
134
136
|
this.destroyFn = destroy;
|
|
135
137
|
this.isResizingInitialised = true;
|
|
136
138
|
}
|
|
137
|
-
setupResizerCallbacksIfSupported(dom, contentDOM, view, mark,
|
|
139
|
+
setupResizerCallbacksIfSupported(dom, contentDOM, view, mark, isResizingDividersPanelsEnabled, isResizingExtensionsEnabled, api) {
|
|
138
140
|
var _this$cancelScheduled2;
|
|
139
141
|
// cancel any pending setup before scheduling a new one
|
|
140
142
|
(_this$cancelScheduled2 = this.cancelScheduledResizeHandleSetup) === null || _this$cancelScheduled2 === void 0 ? void 0 : _this$cancelScheduled2.call(this);
|
|
141
143
|
this.cancelScheduledResizeHandleSetup = undefined;
|
|
142
144
|
|
|
143
|
-
// if
|
|
144
|
-
// set up the resizer callbacks
|
|
145
|
-
if (
|
|
145
|
+
// if breakout resizing is supported,
|
|
146
|
+
// continue to set up the resizer callbacks
|
|
147
|
+
if (isResizingDividersPanelsEnabled && isResizingExtensionsEnabled) {
|
|
146
148
|
this.setupResizerCallbacks(dom, contentDOM, view, mark, api);
|
|
147
149
|
return;
|
|
148
150
|
}
|
|
149
151
|
|
|
150
|
-
// else if
|
|
152
|
+
// else if breakout resizing is not supported,
|
|
151
153
|
// do NOT set up the resizer callbacks (yet)
|
|
152
154
|
// wait for the mark view DOM to be attached to the DOM first
|
|
153
155
|
this.cancelScheduledResizeHandleSetup = scheduleResizeHandleSetup(() => {
|
|
@@ -159,8 +161,9 @@ export class ResizingMarkView {
|
|
|
159
161
|
const pos = view.posAtDOM(dom, 0);
|
|
160
162
|
const nodeName = (_view$state$doc$nodeA = view.state.doc.nodeAt(pos)) === null || _view$state$doc$nodeA === void 0 ? void 0 : _view$state$doc$nodeA.type.name;
|
|
161
163
|
|
|
162
|
-
// if the node is a panel or a rule, do NOT set up the resizer callbacks
|
|
163
|
-
if
|
|
164
|
+
// if the node is a panel or a rule but resizing is not supported, do NOT set up the resizer callbacks
|
|
165
|
+
// if the node is an extension but resizing is not supported, do NOT set up the resizer callbacks
|
|
166
|
+
if (nodeName && ['panel', 'rule', 'panel_c1'].includes(nodeName) && !isResizingDividersPanelsEnabled || nodeName && ['extension', 'bodiedExtension', 'multiBodiedExtension'].includes(nodeName) && !isResizingExtensionsEnabled || this.isResizingInitialised) {
|
|
164
167
|
return;
|
|
165
168
|
}
|
|
166
169
|
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
|
|
2
|
-
import { getBreakoutResizableNodeTypes, stepAddsOneOf } from '@atlaskit/editor-common/utils';
|
|
2
|
+
import { getBreakoutResizableNodeTypes, getBreakoutResizableNodeTypesNew, stepAddsOneOf } from '@atlaskit/editor-common/utils';
|
|
3
3
|
import { getChangedNodes, isReplaceDocOperation } from '@atlaskit/editor-common/utils/document';
|
|
4
4
|
import { PluginKey } from '@atlaskit/editor-prosemirror/state';
|
|
5
5
|
import { akEditorDefaultLayoutWidth, akEditorFullWidthLayoutWidth, akEditorMaxWidthLayoutWidth, akEditorCalculatedWideLayoutWidth } from '@atlaskit/editor-shared-styles';
|
|
6
|
+
import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
|
|
6
7
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
7
8
|
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
8
9
|
import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
|
|
@@ -33,9 +34,16 @@ const addBreakoutToResizableNode = ({
|
|
|
33
34
|
const isExpand = node.type === expand;
|
|
34
35
|
if (!breakoutMark) {
|
|
35
36
|
const width = isMaxWidthEnabled ? akEditorMaxWidthLayoutWidth : isFullWidthEnabled ? akEditorFullWidthLayoutWidth : akEditorDefaultLayoutWidth;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
if (isExperimentEnabled('platform_editor_lovability_resize_extensions')) {
|
|
38
|
+
const marks = breakout.create({
|
|
39
|
+
width: width
|
|
40
|
+
}).addToSet(node.marks);
|
|
41
|
+
updatedTr = newTr.setNodeMarkup(pos, node.type, node.attrs, marks);
|
|
42
|
+
} else {
|
|
43
|
+
updatedTr = newTr.setNodeMarkup(pos, node.type, node.attrs, [breakout.create({
|
|
44
|
+
width: width
|
|
45
|
+
})]);
|
|
46
|
+
}
|
|
39
47
|
if (isExpand) {
|
|
40
48
|
updateExpandedStateNew({
|
|
41
49
|
tr: updatedTr,
|
|
@@ -49,11 +57,18 @@ const addBreakoutToResizableNode = ({
|
|
|
49
57
|
const mode = breakoutMark.attrs.mode;
|
|
50
58
|
|
|
51
59
|
// if breakout is present on node, but page appearance is 'full width' force width to full width to maintain backwards compatibility
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
60
|
+
const width = isMaxWidthEnabled ? akEditorMaxWidthLayoutWidth : isFullWidthEnabled || mode === 'full-width' ? akEditorFullWidthLayoutWidth : akEditorCalculatedWideLayoutWidth;
|
|
61
|
+
if (isExperimentEnabled('platform_editor_lovability_resize_extensions')) {
|
|
62
|
+
const marks = breakout.create({
|
|
63
|
+
width: width
|
|
64
|
+
}).addToSet(node.marks);
|
|
65
|
+
updatedTr = newTr.setNodeMarkup(pos, node.type, node.attrs, marks);
|
|
66
|
+
} else {
|
|
67
|
+
updatedTr = newTr.setNodeMarkup(pos, node.type, node.attrs, [breakout.create({
|
|
68
|
+
width: width,
|
|
69
|
+
mode: mode
|
|
70
|
+
})]);
|
|
71
|
+
}
|
|
57
72
|
if (isExpand) {
|
|
58
73
|
updateExpandedStateNew({
|
|
59
74
|
tr: updatedTr,
|
|
@@ -115,7 +130,7 @@ const requestIdleCallbackWithFallback = callback => {
|
|
|
115
130
|
requestAnimationFrame(callback);
|
|
116
131
|
}
|
|
117
132
|
};
|
|
118
|
-
export const createResizingPlugin = (api, getIntl, nodeViewPortalProviderAPI, options
|
|
133
|
+
export const createResizingPlugin = (api, getIntl, nodeViewPortalProviderAPI, options) => {
|
|
119
134
|
return new SafePlugin({
|
|
120
135
|
key: resizingPluginKey,
|
|
121
136
|
state: pluginState,
|
|
@@ -129,7 +144,8 @@ export const createResizingPlugin = (api, getIntl, nodeViewPortalProviderAPI, op
|
|
|
129
144
|
},
|
|
130
145
|
view: editorView => {
|
|
131
146
|
var _api$editorViewMode2;
|
|
132
|
-
const isPageLoadNormalizationEnabled = expValEquals('platform_editor_add_breakout_marks_on_page_load', 'isEnabled', true);
|
|
147
|
+
const isPageLoadNormalizationEnabled = expValEquals('platform_editor_add_breakout_marks_on_page_load', 'isEnabled', true) || isExperimentEnabled('platform_editor_lovability_resize_extensions');
|
|
148
|
+
const isRuleAndPanelResizingEnabled = expValEquals('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true);
|
|
133
149
|
const isPanelAndDividerNormalizationEnabled = isRuleAndPanelResizingEnabled && !fg('platform_editor_lovability_resize_patch_1');
|
|
134
150
|
if (!isPageLoadNormalizationEnabled && !isPanelAndDividerNormalizationEnabled) {
|
|
135
151
|
return {};
|
|
@@ -158,7 +174,12 @@ export const createResizingPlugin = (api, getIntl, nodeViewPortalProviderAPI, op
|
|
|
158
174
|
panel,
|
|
159
175
|
panel_c1
|
|
160
176
|
} = state.schema.nodes;
|
|
161
|
-
|
|
177
|
+
let breakoutResizableNodes = new Set();
|
|
178
|
+
if (isExperimentEnabled('platform_editor_lovability_resize_extensions')) {
|
|
179
|
+
breakoutResizableNodes = getBreakoutResizableNodeTypesNew(state.schema);
|
|
180
|
+
} else {
|
|
181
|
+
breakoutResizableNodes = editorExperiment('platform_synced_block', true) ? getBreakoutResizableNodeTypes(state.schema, isRuleAndPanelResizingEnabled) : isRuleAndPanelResizingEnabled ? new Set([expand, codeBlock, layoutSection, rule, panel, panel_c1]) : new Set([expand, codeBlock, layoutSection]);
|
|
182
|
+
}
|
|
162
183
|
let newTr = state.tr;
|
|
163
184
|
let hasDocChanged = false;
|
|
164
185
|
|
|
@@ -207,6 +228,7 @@ export const createResizingPlugin = (api, getIntl, nodeViewPortalProviderAPI, op
|
|
|
207
228
|
}
|
|
208
229
|
let newTr = newState.tr;
|
|
209
230
|
let hasDocChanged = false;
|
|
231
|
+
const isRuleAndPanelResizingEnabled = expValEquals('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true);
|
|
210
232
|
const {
|
|
211
233
|
expand,
|
|
212
234
|
codeBlock,
|
|
@@ -215,10 +237,15 @@ export const createResizingPlugin = (api, getIntl, nodeViewPortalProviderAPI, op
|
|
|
215
237
|
panel,
|
|
216
238
|
panel_c1
|
|
217
239
|
} = newState.schema.nodes;
|
|
218
|
-
|
|
240
|
+
let breakoutResizableNodes = new Set();
|
|
241
|
+
if (isExperimentEnabled('platform_editor_lovability_resize_extensions')) {
|
|
242
|
+
breakoutResizableNodes = getBreakoutResizableNodeTypesNew(newState.schema);
|
|
243
|
+
} else {
|
|
244
|
+
breakoutResizableNodes = editorExperiment('platform_synced_block', true) ? getBreakoutResizableNodeTypes(newState.schema, isRuleAndPanelResizingEnabled) : isRuleAndPanelResizingEnabled ? new Set([expand, codeBlock, layoutSection, rule, panel, panel_c1]) : new Set([expand, codeBlock, layoutSection]);
|
|
245
|
+
}
|
|
219
246
|
const isFullWidthEnabled = !((options === null || options === void 0 ? void 0 : options.allowBreakoutButton) === true);
|
|
220
247
|
const isMaxWidthEnabled = (options === null || options === void 0 ? void 0 : options.appearance) === 'max' && expValEquals('confluence_max_width_content_appearance', 'isEnabled', true) && expValEquals('platform_editor_lovability_breakout_resizing_fixes', 'isEnabled', true);
|
|
221
|
-
const isPageLoadNormalizationEnabled = expValEquals('platform_editor_add_breakout_marks_on_page_load', 'isEnabled', true);
|
|
248
|
+
const isPageLoadNormalizationEnabled = expValEquals('platform_editor_add_breakout_marks_on_page_load', 'isEnabled', true) || isExperimentEnabled('platform_editor_lovability_resize_extensions');
|
|
222
249
|
const isPanelAndDividerNormalizationEnabled = isRuleAndPanelResizingEnabled && !fg('platform_editor_lovability_resize_patch_1');
|
|
223
250
|
if (!isPageLoadNormalizationEnabled && !isPanelAndDividerNormalizationEnabled && isReplaceDocOperation(transactions, oldState)) {
|
|
224
251
|
newState.doc.forEach((node, pos) => {
|
|
@@ -189,7 +189,7 @@ export var breakoutPlugin = function breakoutPlugin(_ref4) {
|
|
|
189
189
|
plugin: function plugin(_ref5) {
|
|
190
190
|
var getIntl = _ref5.getIntl,
|
|
191
191
|
nodeViewPortalProviderAPI = _ref5.nodeViewPortalProviderAPI;
|
|
192
|
-
return createResizingPlugin(api, getIntl, nodeViewPortalProviderAPI, options
|
|
192
|
+
return createResizingPlugin(api, getIntl, nodeViewPortalProviderAPI, options);
|
|
193
193
|
}
|
|
194
194
|
}];
|
|
195
195
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { transferCodeBlockWrappedValue } from '@atlaskit/editor-common/code-block';
|
|
2
2
|
import { NodeSelection } from '@atlaskit/editor-prosemirror/state';
|
|
3
|
+
import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
|
|
3
4
|
import { findSupportedNodeForBreakout } from '../pm-plugins/utils/find-breakout-node';
|
|
4
5
|
import { updateExpandedState } from '../pm-plugins/utils/single-player-expand';
|
|
5
6
|
export function setBreakoutMode(mode, isLivePage) {
|
|
@@ -8,9 +9,17 @@ export function setBreakoutMode(mode, isLivePage) {
|
|
|
8
9
|
if (!node) {
|
|
9
10
|
return false;
|
|
10
11
|
}
|
|
11
|
-
var tr
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
var tr;
|
|
13
|
+
if (isExperimentEnabled('platform_editor_lovability_resize_extensions')) {
|
|
14
|
+
var marks = state.schema.marks.breakout.create({
|
|
15
|
+
mode: mode
|
|
16
|
+
}).addToSet(node.node.marks);
|
|
17
|
+
tr = state.tr.setNodeMarkup(node.pos, node.node.type, node.node.attrs, marks);
|
|
18
|
+
} else {
|
|
19
|
+
tr = state.tr.setNodeMarkup(node.pos, node.node.type, node.node.attrs, [state.schema.marks.breakout.create({
|
|
20
|
+
mode: mode
|
|
21
|
+
})]);
|
|
22
|
+
}
|
|
14
23
|
if (node.node.type === state.schema.nodes.expand) {
|
|
15
24
|
updateExpandedState(tr, node, isLivePage);
|
|
16
25
|
} else if (node.node.type === state.schema.nodes.codeBlock) {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { transferCodeBlockWrappedValue } from '@atlaskit/editor-common/code-block';
|
|
2
2
|
import { NodeSelection } from '@atlaskit/editor-prosemirror/state';
|
|
3
|
+
import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
|
|
3
4
|
import { updateExpandedStateNew } from '../pm-plugins/utils/single-player-expand';
|
|
4
5
|
export function setBreakoutWidth(width, mode, pos, isLivePage) {
|
|
5
6
|
return function (state, dispatch) {
|
|
@@ -7,10 +8,19 @@ export function setBreakoutWidth(width, mode, pos, isLivePage) {
|
|
|
7
8
|
if (!node) {
|
|
8
9
|
return false;
|
|
9
10
|
}
|
|
10
|
-
var tr
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
var tr;
|
|
12
|
+
if (isExperimentEnabled('platform_editor_lovability_resize_extensions')) {
|
|
13
|
+
var marks = state.schema.marks.breakout.create({
|
|
14
|
+
width: width,
|
|
15
|
+
mode: mode
|
|
16
|
+
}).addToSet(node.marks);
|
|
17
|
+
tr = state.tr.setNodeMarkup(pos, node.type, node.attrs, marks);
|
|
18
|
+
} else {
|
|
19
|
+
tr = state.tr.setNodeMarkup(pos, node.type, node.attrs, [state.schema.marks.breakout.create({
|
|
20
|
+
width: width,
|
|
21
|
+
mode: mode
|
|
22
|
+
})]);
|
|
23
|
+
}
|
|
14
24
|
if (node.type === state.schema.nodes.expand) {
|
|
15
25
|
updateExpandedStateNew({
|
|
16
26
|
tr: tr,
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { getBrowserInfo } from '@atlaskit/editor-common/browser';
|
|
2
|
-
import { getBreakoutResizableNodeTypes } from '@atlaskit/editor-common/utils';
|
|
2
|
+
import { getBreakoutResizableNodeTypes, getBreakoutResizableNodeTypesNew } from '@atlaskit/editor-common/utils';
|
|
3
3
|
import { NodeSelection, TextSelection } from '@atlaskit/editor-prosemirror/state';
|
|
4
4
|
import { akEditorDefaultLayoutWidth, akEditorFullWidthLayoutWidth } from '@atlaskit/editor-shared-styles';
|
|
5
|
+
import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
|
|
5
6
|
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
6
7
|
import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
|
|
7
8
|
import { setBreakoutWidth } from '../editor-commands/set-breakout-width';
|
|
@@ -53,7 +54,12 @@ export var handleKeyDown = function handleKeyDown(api) {
|
|
|
53
54
|
rule = _view$state$schema$no.rule,
|
|
54
55
|
panel = _view$state$schema$no.panel,
|
|
55
56
|
panel_c1 = _view$state$schema$no.panel_c1;
|
|
56
|
-
var breakoutResizableNodes =
|
|
57
|
+
var breakoutResizableNodes = new Set();
|
|
58
|
+
if (isExperimentEnabled('platform_editor_lovability_resize_extensions')) {
|
|
59
|
+
breakoutResizableNodes = getBreakoutResizableNodeTypesNew(view.state.schema);
|
|
60
|
+
} else {
|
|
61
|
+
breakoutResizableNodes = editorExperiment('platform_synced_block', true) ? getBreakoutResizableNodeTypes(view.state.schema, expValEquals('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true)) : expValEquals('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true) ? new Set([expand, codeBlock, layoutSection, rule, panel, panel_c1]) : new Set([expand, codeBlock, layoutSection]);
|
|
62
|
+
}
|
|
57
63
|
var result = getAncestorResizableNode(view, breakoutResizableNodes);
|
|
58
64
|
if (result) {
|
|
59
65
|
var node = result.node,
|
|
@@ -5,6 +5,7 @@ import { bind } from 'bind-event-listener';
|
|
|
5
5
|
// eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
6
6
|
import uuid from 'uuid/v4';
|
|
7
7
|
import { breakoutMessages as messages } from '@atlaskit/editor-common/messages';
|
|
8
|
+
import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
|
|
8
9
|
import { draggable } from '@atlaskit/pragmatic-drag-and-drop/element/adapter';
|
|
9
10
|
import { disableNativeDragPreview } from '@atlaskit/pragmatic-drag-and-drop/element/disable-native-drag-preview';
|
|
10
11
|
import { preventUnhandled } from '@atlaskit/pragmatic-drag-and-drop/prevent-unhandled';
|
|
@@ -18,6 +19,8 @@ var getNodeName = function getNodeName(nodeName) {
|
|
|
18
19
|
return nodeName;
|
|
19
20
|
} else if ((nodeName === 'rule' || nodeName === 'panel' || nodeName === 'panel_c1') && expValEqualsNoExposure('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true)) {
|
|
20
21
|
return nodeName;
|
|
22
|
+
} else if ((nodeName === 'extension' || nodeName === 'bodiedExtension' || nodeName === 'multiBodiedExtension') && isExperimentEnabled('platform_editor_lovability_resize_extensions')) {
|
|
23
|
+
return nodeName;
|
|
21
24
|
} else {
|
|
22
25
|
return 'node';
|
|
23
26
|
}
|
|
@@ -29,7 +32,10 @@ export var resizeHandleMessage = {
|
|
|
29
32
|
rule: messages.resizeRule,
|
|
30
33
|
panel: messages.resizePanel,
|
|
31
34
|
panel_c1: messages.resizePanel,
|
|
32
|
-
node: messages.resizeElement
|
|
35
|
+
node: messages.resizeElement,
|
|
36
|
+
extension: messages.resizeExtension,
|
|
37
|
+
bodiedExtension: messages.resizeExtension,
|
|
38
|
+
multiBodiedExtension: messages.resizeExtension
|
|
33
39
|
};
|
|
34
40
|
var RailWithTooltip = function RailWithTooltip(_ref) {
|
|
35
41
|
var rail = _ref.rail,
|
|
@@ -65,7 +71,7 @@ export var createPragmaticResizer = function createPragmaticResizer(_ref2) {
|
|
|
65
71
|
intl = _ref2.intl,
|
|
66
72
|
nodeViewPortalProviderAPI = _ref2.nodeViewPortalProviderAPI;
|
|
67
73
|
var state = 'default';
|
|
68
|
-
var isLeftResizeHandleDisabled = expValEquals('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true);
|
|
74
|
+
var isLeftResizeHandleDisabled = expValEquals('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true) || isExperimentEnabled('platform_editor_lovability_resize_extensions');
|
|
69
75
|
var createHandle = function createHandle(side) {
|
|
70
76
|
var handle = document.createElement('div');
|
|
71
77
|
handle.contentEditable = 'false';
|
|
@@ -4,6 +4,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
4
4
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
5
5
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
6
6
|
import { BreakoutCssClassName } from '@atlaskit/editor-common/styles';
|
|
7
|
+
import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
|
|
7
8
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
8
9
|
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
9
10
|
import { createPragmaticResizer } from './pragmatic-resizer';
|
|
@@ -52,7 +53,8 @@ export var ResizingMarkView = /*#__PURE__*/function () {
|
|
|
52
53
|
dom.className = BreakoutCssClassName.BREAKOUT_MARK;
|
|
53
54
|
dom.setAttribute('data-layout', mark.attrs.mode);
|
|
54
55
|
dom.setAttribute('data-testid', 'ak-editor-breakout-mark');
|
|
55
|
-
var
|
|
56
|
+
var isResizingDividersPanelsEnabled = expValEquals('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true);
|
|
57
|
+
var isResizingExtensionsEnabled = isExperimentEnabled('platform_editor_lovability_resize_extensions');
|
|
56
58
|
|
|
57
59
|
// DOM styles
|
|
58
60
|
// Keep a three-column grid even when the left resize handle is disabled. The empty
|
|
@@ -66,11 +68,11 @@ export var ResizingMarkView = /*#__PURE__*/function () {
|
|
|
66
68
|
contentDOM.style.gridColumn = '2';
|
|
67
69
|
contentDOM.style.zIndex = '1';
|
|
68
70
|
if (mark.attrs.width) {
|
|
69
|
-
dom.style.gridTemplateColumns =
|
|
71
|
+
dom.style.gridTemplateColumns = isResizingDividersPanelsEnabled || isResizingExtensionsEnabled ? // new code - phantom left track + content + right handle
|
|
70
72
|
"".concat(RESIZE_HANDLE_TRACK_WIDTH, " max(var(--ak-editor--breakout-min-width), min(var(").concat(LOCAL_RESIZE_PROPERTY, ", ").concat(mark.attrs.width, "px), var(--ak-editor--breakout-fallback-width))) ").concat(RESIZE_HANDLE_TRACK_WIDTH) : // old code - left handle + content + right handle
|
|
71
73
|
"auto max(var(--ak-editor--breakout-min-width), min(var(".concat(LOCAL_RESIZE_PROPERTY, ", ").concat(mark.attrs.width, "px), var(--ak-editor--breakout-fallback-width))) auto");
|
|
72
74
|
} else {
|
|
73
|
-
if (
|
|
75
|
+
if (isResizingDividersPanelsEnabled || isResizingExtensionsEnabled) {
|
|
74
76
|
dom.style.gridTemplateColumns = "".concat(RESIZE_HANDLE_TRACK_WIDTH, " auto ").concat(RESIZE_HANDLE_TRACK_WIDTH);
|
|
75
77
|
}
|
|
76
78
|
if (mark.attrs.mode === 'wide') {
|
|
@@ -89,13 +91,13 @@ export var ResizingMarkView = /*#__PURE__*/function () {
|
|
|
89
91
|
this.nodeViewPortalProviderAPI = nodeViewPortalProviderAPI;
|
|
90
92
|
var isLiveViewMode = (api === null || api === void 0 || (_api$editorViewMode = api.editorViewMode) === null || _api$editorViewMode === void 0 || (_api$editorViewMode = _api$editorViewMode.sharedState.currentState()) === null || _api$editorViewMode === void 0 ? void 0 : _api$editorViewMode.mode) === 'view';
|
|
91
93
|
if (!isLiveViewMode) {
|
|
92
|
-
fg('platform_editor_lovability_resize_gracefully') ? this.setupResizerCallbacksIfSupported(dom, contentDOM, view, mark,
|
|
94
|
+
fg('platform_editor_lovability_resize_gracefully') || fg('platform_editor_lovability_resize_ext_gracefully') ? this.setupResizerCallbacksIfSupported(dom, contentDOM, view, mark, isResizingDividersPanelsEnabled, isResizingExtensionsEnabled, api) : this.setupResizerCallbacks(dom, contentDOM, view, mark, api);
|
|
93
95
|
}
|
|
94
96
|
this.unsubscribeToViewModeChange = api === null || api === void 0 || (_api$editorViewMode2 = api.editorViewMode) === null || _api$editorViewMode2 === void 0 ? void 0 : _api$editorViewMode2.sharedState.onChange(function (sharedState) {
|
|
95
97
|
var _sharedState$nextShar, _sharedState$prevShar;
|
|
96
98
|
if (((_sharedState$nextShar = sharedState.nextSharedState) === null || _sharedState$nextShar === void 0 ? void 0 : _sharedState$nextShar.mode) !== ((_sharedState$prevShar = sharedState.prevSharedState) === null || _sharedState$prevShar === void 0 ? void 0 : _sharedState$prevShar.mode)) {
|
|
97
99
|
var _sharedState$nextShar4, _sharedState$nextShar5;
|
|
98
|
-
if (fg('platform_editor_lovability_resize_gracefully')) {
|
|
100
|
+
if (fg('platform_editor_lovability_resize_gracefully') || fg('platform_editor_lovability_resize_ext_gracefully')) {
|
|
99
101
|
var _sharedState$nextShar2, _sharedState$nextShar3;
|
|
100
102
|
if (((_sharedState$nextShar2 = sharedState.nextSharedState) === null || _sharedState$nextShar2 === void 0 ? void 0 : _sharedState$nextShar2.mode) === 'view') {
|
|
101
103
|
var _this$cancelScheduled;
|
|
@@ -107,7 +109,7 @@ export var ResizingMarkView = /*#__PURE__*/function () {
|
|
|
107
109
|
_this.isResizingInitialised = false;
|
|
108
110
|
}
|
|
109
111
|
} else if (((_sharedState$nextShar3 = sharedState.nextSharedState) === null || _sharedState$nextShar3 === void 0 ? void 0 : _sharedState$nextShar3.mode) === 'edit' && !_this.isResizingInitialised) {
|
|
110
|
-
_this.setupResizerCallbacksIfSupported(dom, contentDOM, view, mark,
|
|
112
|
+
_this.setupResizerCallbacksIfSupported(dom, contentDOM, view, mark, isResizingDividersPanelsEnabled, isResizingExtensionsEnabled, api);
|
|
111
113
|
}
|
|
112
114
|
} else if (((_sharedState$nextShar4 = sharedState.nextSharedState) === null || _sharedState$nextShar4 === void 0 ? void 0 : _sharedState$nextShar4.mode) === 'view' && _this.isResizingInitialised) {
|
|
113
115
|
var _this$destroyFn2;
|
|
@@ -146,21 +148,21 @@ export var ResizingMarkView = /*#__PURE__*/function () {
|
|
|
146
148
|
}
|
|
147
149
|
}, {
|
|
148
150
|
key: "setupResizerCallbacksIfSupported",
|
|
149
|
-
value: function setupResizerCallbacksIfSupported(dom, contentDOM, view, mark,
|
|
151
|
+
value: function setupResizerCallbacksIfSupported(dom, contentDOM, view, mark, isResizingDividersPanelsEnabled, isResizingExtensionsEnabled, api) {
|
|
150
152
|
var _this$cancelScheduled2,
|
|
151
153
|
_this2 = this;
|
|
152
154
|
// cancel any pending setup before scheduling a new one
|
|
153
155
|
(_this$cancelScheduled2 = this.cancelScheduledResizeHandleSetup) === null || _this$cancelScheduled2 === void 0 || _this$cancelScheduled2.call(this);
|
|
154
156
|
this.cancelScheduledResizeHandleSetup = undefined;
|
|
155
157
|
|
|
156
|
-
// if
|
|
157
|
-
// set up the resizer callbacks
|
|
158
|
-
if (
|
|
158
|
+
// if breakout resizing is supported,
|
|
159
|
+
// continue to set up the resizer callbacks
|
|
160
|
+
if (isResizingDividersPanelsEnabled && isResizingExtensionsEnabled) {
|
|
159
161
|
this.setupResizerCallbacks(dom, contentDOM, view, mark, api);
|
|
160
162
|
return;
|
|
161
163
|
}
|
|
162
164
|
|
|
163
|
-
// else if
|
|
165
|
+
// else if breakout resizing is not supported,
|
|
164
166
|
// do NOT set up the resizer callbacks (yet)
|
|
165
167
|
// wait for the mark view DOM to be attached to the DOM first
|
|
166
168
|
this.cancelScheduledResizeHandleSetup = scheduleResizeHandleSetup(function () {
|
|
@@ -172,8 +174,9 @@ export var ResizingMarkView = /*#__PURE__*/function () {
|
|
|
172
174
|
var pos = view.posAtDOM(dom, 0);
|
|
173
175
|
var nodeName = (_view$state$doc$nodeA = view.state.doc.nodeAt(pos)) === null || _view$state$doc$nodeA === void 0 ? void 0 : _view$state$doc$nodeA.type.name;
|
|
174
176
|
|
|
175
|
-
// if the node is a panel or a rule, do NOT set up the resizer callbacks
|
|
176
|
-
if
|
|
177
|
+
// if the node is a panel or a rule but resizing is not supported, do NOT set up the resizer callbacks
|
|
178
|
+
// if the node is an extension but resizing is not supported, do NOT set up the resizer callbacks
|
|
179
|
+
if (nodeName && ['panel', 'rule', 'panel_c1'].includes(nodeName) && !isResizingDividersPanelsEnabled || nodeName && ['extension', 'bodiedExtension', 'multiBodiedExtension'].includes(nodeName) && !isResizingExtensionsEnabled || _this2.isResizingInitialised) {
|
|
177
180
|
return;
|
|
178
181
|
}
|
|
179
182
|
|
|
@@ -2,10 +2,11 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
2
2
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
3
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
4
|
import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
|
|
5
|
-
import { getBreakoutResizableNodeTypes, stepAddsOneOf } from '@atlaskit/editor-common/utils';
|
|
5
|
+
import { getBreakoutResizableNodeTypes, getBreakoutResizableNodeTypesNew, stepAddsOneOf } from '@atlaskit/editor-common/utils';
|
|
6
6
|
import { getChangedNodes, isReplaceDocOperation } from '@atlaskit/editor-common/utils/document';
|
|
7
7
|
import { PluginKey } from '@atlaskit/editor-prosemirror/state';
|
|
8
8
|
import { akEditorDefaultLayoutWidth, akEditorFullWidthLayoutWidth, akEditorMaxWidthLayoutWidth, akEditorCalculatedWideLayoutWidth } from '@atlaskit/editor-shared-styles';
|
|
9
|
+
import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
|
|
9
10
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
10
11
|
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
11
12
|
import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
|
|
@@ -33,9 +34,16 @@ var addBreakoutToResizableNode = function addBreakoutToResizableNode(_ref) {
|
|
|
33
34
|
var isExpand = node.type === expand;
|
|
34
35
|
if (!breakoutMark) {
|
|
35
36
|
var width = isMaxWidthEnabled ? akEditorMaxWidthLayoutWidth : isFullWidthEnabled ? akEditorFullWidthLayoutWidth : akEditorDefaultLayoutWidth;
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
if (isExperimentEnabled('platform_editor_lovability_resize_extensions')) {
|
|
38
|
+
var marks = breakout.create({
|
|
39
|
+
width: width
|
|
40
|
+
}).addToSet(node.marks);
|
|
41
|
+
updatedTr = newTr.setNodeMarkup(pos, node.type, node.attrs, marks);
|
|
42
|
+
} else {
|
|
43
|
+
updatedTr = newTr.setNodeMarkup(pos, node.type, node.attrs, [breakout.create({
|
|
44
|
+
width: width
|
|
45
|
+
})]);
|
|
46
|
+
}
|
|
39
47
|
if (isExpand) {
|
|
40
48
|
updateExpandedStateNew({
|
|
41
49
|
tr: updatedTr,
|
|
@@ -49,11 +57,18 @@ var addBreakoutToResizableNode = function addBreakoutToResizableNode(_ref) {
|
|
|
49
57
|
var mode = breakoutMark.attrs.mode;
|
|
50
58
|
|
|
51
59
|
// if breakout is present on node, but page appearance is 'full width' force width to full width to maintain backwards compatibility
|
|
52
|
-
var
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
60
|
+
var _width = isMaxWidthEnabled ? akEditorMaxWidthLayoutWidth : isFullWidthEnabled || mode === 'full-width' ? akEditorFullWidthLayoutWidth : akEditorCalculatedWideLayoutWidth;
|
|
61
|
+
if (isExperimentEnabled('platform_editor_lovability_resize_extensions')) {
|
|
62
|
+
var _marks = breakout.create({
|
|
63
|
+
width: _width
|
|
64
|
+
}).addToSet(node.marks);
|
|
65
|
+
updatedTr = newTr.setNodeMarkup(pos, node.type, node.attrs, _marks);
|
|
66
|
+
} else {
|
|
67
|
+
updatedTr = newTr.setNodeMarkup(pos, node.type, node.attrs, [breakout.create({
|
|
68
|
+
width: _width,
|
|
69
|
+
mode: mode
|
|
70
|
+
})]);
|
|
71
|
+
}
|
|
57
72
|
if (isExpand) {
|
|
58
73
|
updateExpandedStateNew({
|
|
59
74
|
tr: updatedTr,
|
|
@@ -113,7 +128,6 @@ var requestIdleCallbackWithFallback = function requestIdleCallbackWithFallback(c
|
|
|
113
128
|
}
|
|
114
129
|
};
|
|
115
130
|
export var createResizingPlugin = function createResizingPlugin(api, getIntl, nodeViewPortalProviderAPI, options) {
|
|
116
|
-
var isRuleAndPanelResizingEnabled = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
117
131
|
return new SafePlugin({
|
|
118
132
|
key: resizingPluginKey,
|
|
119
133
|
state: pluginState,
|
|
@@ -127,7 +141,8 @@ export var createResizingPlugin = function createResizingPlugin(api, getIntl, no
|
|
|
127
141
|
},
|
|
128
142
|
view: function view(editorView) {
|
|
129
143
|
var _api$editorViewMode2;
|
|
130
|
-
var isPageLoadNormalizationEnabled = expValEquals('platform_editor_add_breakout_marks_on_page_load', 'isEnabled', true);
|
|
144
|
+
var isPageLoadNormalizationEnabled = expValEquals('platform_editor_add_breakout_marks_on_page_load', 'isEnabled', true) || isExperimentEnabled('platform_editor_lovability_resize_extensions');
|
|
145
|
+
var isRuleAndPanelResizingEnabled = expValEquals('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true);
|
|
131
146
|
var isPanelAndDividerNormalizationEnabled = isRuleAndPanelResizingEnabled && !fg('platform_editor_lovability_resize_patch_1');
|
|
132
147
|
if (!isPageLoadNormalizationEnabled && !isPanelAndDividerNormalizationEnabled) {
|
|
133
148
|
return {};
|
|
@@ -153,7 +168,12 @@ export var createResizingPlugin = function createResizingPlugin(api, getIntl, no
|
|
|
153
168
|
rule = _state$schema$nodes.rule,
|
|
154
169
|
panel = _state$schema$nodes.panel,
|
|
155
170
|
panel_c1 = _state$schema$nodes.panel_c1;
|
|
156
|
-
var breakoutResizableNodes =
|
|
171
|
+
var breakoutResizableNodes = new Set();
|
|
172
|
+
if (isExperimentEnabled('platform_editor_lovability_resize_extensions')) {
|
|
173
|
+
breakoutResizableNodes = getBreakoutResizableNodeTypesNew(state.schema);
|
|
174
|
+
} else {
|
|
175
|
+
breakoutResizableNodes = editorExperiment('platform_synced_block', true) ? getBreakoutResizableNodeTypes(state.schema, isRuleAndPanelResizingEnabled) : isRuleAndPanelResizingEnabled ? new Set([expand, codeBlock, layoutSection, rule, panel, panel_c1]) : new Set([expand, codeBlock, layoutSection]);
|
|
176
|
+
}
|
|
157
177
|
var newTr = state.tr;
|
|
158
178
|
var hasDocChanged = false;
|
|
159
179
|
|
|
@@ -200,6 +220,7 @@ export var createResizingPlugin = function createResizingPlugin(api, getIntl, no
|
|
|
200
220
|
}
|
|
201
221
|
var newTr = newState.tr;
|
|
202
222
|
var hasDocChanged = false;
|
|
223
|
+
var isRuleAndPanelResizingEnabled = expValEquals('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true);
|
|
203
224
|
var _newState$schema$node = newState.schema.nodes,
|
|
204
225
|
expand = _newState$schema$node.expand,
|
|
205
226
|
codeBlock = _newState$schema$node.codeBlock,
|
|
@@ -207,10 +228,15 @@ export var createResizingPlugin = function createResizingPlugin(api, getIntl, no
|
|
|
207
228
|
rule = _newState$schema$node.rule,
|
|
208
229
|
panel = _newState$schema$node.panel,
|
|
209
230
|
panel_c1 = _newState$schema$node.panel_c1;
|
|
210
|
-
var breakoutResizableNodes =
|
|
231
|
+
var breakoutResizableNodes = new Set();
|
|
232
|
+
if (isExperimentEnabled('platform_editor_lovability_resize_extensions')) {
|
|
233
|
+
breakoutResizableNodes = getBreakoutResizableNodeTypesNew(newState.schema);
|
|
234
|
+
} else {
|
|
235
|
+
breakoutResizableNodes = editorExperiment('platform_synced_block', true) ? getBreakoutResizableNodeTypes(newState.schema, isRuleAndPanelResizingEnabled) : isRuleAndPanelResizingEnabled ? new Set([expand, codeBlock, layoutSection, rule, panel, panel_c1]) : new Set([expand, codeBlock, layoutSection]);
|
|
236
|
+
}
|
|
211
237
|
var isFullWidthEnabled = !((options === null || options === void 0 ? void 0 : options.allowBreakoutButton) === true);
|
|
212
238
|
var isMaxWidthEnabled = (options === null || options === void 0 ? void 0 : options.appearance) === 'max' && expValEquals('confluence_max_width_content_appearance', 'isEnabled', true) && expValEquals('platform_editor_lovability_breakout_resizing_fixes', 'isEnabled', true);
|
|
213
|
-
var isPageLoadNormalizationEnabled = expValEquals('platform_editor_add_breakout_marks_on_page_load', 'isEnabled', true);
|
|
239
|
+
var isPageLoadNormalizationEnabled = expValEquals('platform_editor_add_breakout_marks_on_page_load', 'isEnabled', true) || isExperimentEnabled('platform_editor_lovability_resize_extensions');
|
|
214
240
|
var isPanelAndDividerNormalizationEnabled = isRuleAndPanelResizingEnabled && !fg('platform_editor_lovability_resize_patch_1');
|
|
215
241
|
if (!isPageLoadNormalizationEnabled && !isPanelAndDividerNormalizationEnabled && isReplaceDocOperation(transactions, oldState)) {
|
|
216
242
|
newState.doc.forEach(function (node, pos) {
|
|
@@ -29,7 +29,7 @@ export declare class ResizingMarkView implements NodeView {
|
|
|
29
29
|
*/
|
|
30
30
|
constructor(mark: Mark, view: EditorView, api: ExtractInjectionAPI<BreakoutPlugin> | undefined, getIntl: () => IntlShape, nodeViewPortalProviderAPI: PortalProviderAPI);
|
|
31
31
|
setupResizerCallbacks(dom: HTMLElement, contentDOM: HTMLElement, view: EditorView, mark: Mark, api?: ExtractInjectionAPI<BreakoutPlugin>): void;
|
|
32
|
-
setupResizerCallbacksIfSupported(dom: HTMLElement, contentDOM: HTMLElement, view: EditorView, mark: Mark,
|
|
32
|
+
setupResizerCallbacksIfSupported(dom: HTMLElement, contentDOM: HTMLElement, view: EditorView, mark: Mark, isResizingDividersPanelsEnabled: boolean, isResizingExtensionsEnabled: boolean, api?: ExtractInjectionAPI<BreakoutPlugin>): void;
|
|
33
33
|
ignoreMutation(): boolean;
|
|
34
34
|
destroy(): void;
|
|
35
35
|
}
|
|
@@ -7,7 +7,7 @@ import type { BreakoutPlugin, BreakoutPluginOptions, BreakoutPluginState } from
|
|
|
7
7
|
import type { GUIDELINE_KEYS } from './get-guidelines';
|
|
8
8
|
export declare const resizingPluginKey: PluginKey<BreakoutPluginState>;
|
|
9
9
|
export type ActiveGuidelineKey = Exclude<(typeof GUIDELINE_KEYS)[keyof typeof GUIDELINE_KEYS], 'grid_left' | 'grid_right'>;
|
|
10
|
-
export declare const createResizingPlugin: (api: ExtractInjectionAPI<BreakoutPlugin> | undefined, getIntl: () => IntlShape, nodeViewPortalProviderAPI: PortalProviderAPI, options?: BreakoutPluginOptions
|
|
10
|
+
export declare const createResizingPlugin: (api: ExtractInjectionAPI<BreakoutPlugin> | undefined, getIntl: () => IntlShape, nodeViewPortalProviderAPI: PortalProviderAPI, options?: BreakoutPluginOptions) => SafePlugin<BreakoutPluginState | {
|
|
11
11
|
activeGuidelineLabel: undefined;
|
|
12
12
|
breakoutNode: undefined;
|
|
13
13
|
}>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-plugin-breakout",
|
|
3
|
-
"version": "14.0.
|
|
3
|
+
"version": "14.0.4",
|
|
4
4
|
"description": "Breakout plugin for @atlaskit/editor-core",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
"@atlaskit/platform-feature-flags": "^2.1.0",
|
|
37
37
|
"@atlaskit/pragmatic-drag-and-drop": "^2.0.0",
|
|
38
38
|
"@atlaskit/theme": "^28.0.0",
|
|
39
|
-
"@atlaskit/tmp-editor-statsig": "^
|
|
40
|
-
"@atlaskit/tokens": "^16.
|
|
39
|
+
"@atlaskit/tmp-editor-statsig": "^145.0.0",
|
|
40
|
+
"@atlaskit/tokens": "^16.5.0",
|
|
41
41
|
"@atlaskit/tooltip": "^24.0.0",
|
|
42
42
|
"@babel/runtime": "^7.0.0",
|
|
43
43
|
"@emotion/react": "^11.7.1",
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"uuid": "^3.1.0"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
|
-
"@atlaskit/editor-common": "^118.
|
|
49
|
+
"@atlaskit/editor-common": "^118.2.0",
|
|
50
50
|
"react": "^18.2.0 || ^19.2.0",
|
|
51
51
|
"react-dom": "^18.2.0 || ^19.2.0",
|
|
52
52
|
"react-intl": "^5.25.1 || ^6.0.0 || ^7.0.0"
|
|
@@ -95,6 +95,9 @@
|
|
|
95
95
|
}
|
|
96
96
|
},
|
|
97
97
|
"platform-feature-flags": {
|
|
98
|
+
"platform_editor_lovability_resize_ext_gracefully": {
|
|
99
|
+
"type": "boolean"
|
|
100
|
+
},
|
|
98
101
|
"platform_editor_lovability_resize_gracefully": {
|
|
99
102
|
"type": "boolean"
|
|
100
103
|
},
|