@atlaskit/editor-plugin-layout 15.1.0 → 16.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/dist/cjs/layoutPlugin.js +21 -11
- package/dist/cjs/pm-plugins/column-resize-divider.js +13 -15
- package/dist/cjs/ui/quick-insert/LayoutQuickInsertMenuItem.js +53 -0
- package/dist/cjs/ui/quick-insert/getLayoutQuickInsertComponents.js +74 -0
- package/dist/es2019/layoutPlugin.js +13 -3
- package/dist/es2019/pm-plugins/column-resize-divider.js +13 -15
- package/dist/es2019/ui/quick-insert/LayoutQuickInsertMenuItem.js +48 -0
- package/dist/es2019/ui/quick-insert/getLayoutQuickInsertComponents.js +62 -0
- package/dist/esm/layoutPlugin.js +13 -3
- package/dist/esm/pm-plugins/column-resize-divider.js +13 -15
- package/dist/esm/ui/quick-insert/LayoutQuickInsertMenuItem.js +45 -0
- package/dist/esm/ui/quick-insert/getLayoutQuickInsertComponents.js +67 -0
- package/dist/types/ui/quick-insert/LayoutQuickInsertMenuItem.d.ts +11 -0
- package/dist/types/ui/quick-insert/getLayoutQuickInsertComponents.d.ts +8 -0
- package/package.json +15 -17
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-layout
|
|
2
2
|
|
|
3
|
+
## 16.0.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`4273da2e1a648`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/4273da2e1a648) -
|
|
8
|
+
Register native Quick Insert items behind `platform_editor_slash_command`.
|
|
9
|
+
- Updated dependencies
|
|
10
|
+
|
|
11
|
+
## 16.0.0
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- [`711b3354a8c2a`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/711b3354a8c2a) -
|
|
16
|
+
Clean up feature gate platform_editor_layout_resize_analytics
|
|
17
|
+
- Updated dependencies
|
|
18
|
+
|
|
3
19
|
## 15.1.0
|
|
4
20
|
|
|
5
21
|
### Minor Changes
|
package/dist/cjs/layoutPlugin.js
CHANGED
|
@@ -14,7 +14,8 @@ var _messages = require("@atlaskit/editor-common/messages");
|
|
|
14
14
|
var _quickInsert = require("@atlaskit/editor-common/quick-insert");
|
|
15
15
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
16
16
|
var _utils = require("@atlaskit/editor-prosemirror/utils");
|
|
17
|
-
var
|
|
17
|
+
var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
|
|
18
|
+
var _fg = require("@atlaskit/platform-feature-flags/fg");
|
|
18
19
|
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
19
20
|
var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
|
|
20
21
|
var _actions = require("./pm-plugins/actions");
|
|
@@ -26,6 +27,7 @@ var _globalStyles = require("./ui/global-styles");
|
|
|
26
27
|
var _LayoutBlockMenuItem = require("./ui/LayoutBlockMenuItem");
|
|
27
28
|
var _LayoutColumnMenu = require("./ui/LayoutColumnMenu");
|
|
28
29
|
var _components = require("./ui/LayoutColumnMenu/components");
|
|
30
|
+
var _getLayoutQuickInsertComponents = require("./ui/quick-insert/getLayoutQuickInsertComponents");
|
|
29
31
|
var _toolbar = require("./ui/toolbar");
|
|
30
32
|
var LAYOUT_SECTION_NODE_NAME = 'layoutSection';
|
|
31
33
|
|
|
@@ -61,9 +63,11 @@ var layoutPlugin = exports.layoutPlugin = function layoutPlugin(_ref) {
|
|
|
61
63
|
var _ref$config = _ref.config,
|
|
62
64
|
options = _ref$config === void 0 ? {} : _ref$config,
|
|
63
65
|
api = _ref.api;
|
|
64
|
-
var
|
|
66
|
+
var isAdvancedLayoutEnabled = (0, _experiments.editorExperiment)('advanced_layouts', true);
|
|
67
|
+
var allowAdvancedSingleColumnLayout = isAdvancedLayoutEnabled && (0, _experiments.editorExperiment)('single_column_layouts', true, {
|
|
65
68
|
exposure: true
|
|
66
69
|
});
|
|
70
|
+
var isRegisteredSlashCommandEnabled = (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_slash_command') && isAdvancedLayoutEnabled;
|
|
67
71
|
if ((0, _experiments.editorExperiment)('platform_editor_block_menu', true)) {
|
|
68
72
|
var _api$blockMenu;
|
|
69
73
|
api === null || api === void 0 || (_api$blockMenu = api.blockMenu) === null || _api$blockMenu === void 0 || _api$blockMenu.actions.registerBlockMenuComponents([{
|
|
@@ -87,15 +91,21 @@ var layoutPlugin = exports.layoutPlugin = function layoutPlugin(_ref) {
|
|
|
87
91
|
api: api
|
|
88
92
|
}));
|
|
89
93
|
}
|
|
94
|
+
if (isRegisteredSlashCommandEnabled) {
|
|
95
|
+
var _api$uiControlRegistr2;
|
|
96
|
+
api === null || api === void 0 || (_api$uiControlRegistr2 = api.uiControlRegistry) === null || _api$uiControlRegistr2 === void 0 || _api$uiControlRegistr2.actions.register((0, _getLayoutQuickInsertComponents.getLayoutQuickInsertComponents)({
|
|
97
|
+
api: api
|
|
98
|
+
}));
|
|
99
|
+
}
|
|
90
100
|
return {
|
|
91
101
|
name: 'layout',
|
|
92
102
|
nodes: function nodes() {
|
|
93
103
|
return [{
|
|
94
104
|
name: 'layoutSection',
|
|
95
|
-
node: (0, _experiments.editorExperiment)('advanced_layouts', true) ? (0,
|
|
105
|
+
node: (0, _experiments.editorExperiment)('advanced_layouts', true) ? (0, _fg.fg)('platform_editor_adf_with_localid') ? _schema.layoutSectionWithSingleColumnLocalId : _schema.layoutSectionWithSingleColumn : (0, _fg.fg)('platform_editor_adf_with_localid') ? _adfSchema.layoutSectionWithLocalId : _adfSchema.layoutSection
|
|
96
106
|
}, {
|
|
97
107
|
name: 'layoutColumn',
|
|
98
|
-
node: (0,
|
|
108
|
+
node: (0, _fg.fg)('platform_editor_adf_with_localid') ? _adfSchema.layoutColumnWithLocalId : _adfSchema.layoutColumn
|
|
99
109
|
}];
|
|
100
110
|
},
|
|
101
111
|
pmPlugins: function pmPlugins() {
|
|
@@ -149,7 +159,7 @@ var layoutPlugin = exports.layoutPlugin = function layoutPlugin(_ref) {
|
|
|
149
159
|
}
|
|
150
160
|
return undefined;
|
|
151
161
|
},
|
|
152
|
-
quickInsert: function
|
|
162
|
+
quickInsert: isRegisteredSlashCommandEnabled ? undefined : function (_ref3) {
|
|
153
163
|
var formatMessage = _ref3.formatMessage;
|
|
154
164
|
var withInsertLayoutAnalytics = function withInsertLayoutAnalytics(tr, columnCount) {
|
|
155
165
|
var _api$analytics3;
|
|
@@ -177,7 +187,7 @@ var layoutPlugin = exports.layoutPlugin = function layoutPlugin(_ref) {
|
|
|
177
187
|
},
|
|
178
188
|
action: function action(insert, state) {
|
|
179
189
|
var tr = insert((0, _actions.createMultiColumnLayoutSection)(state, 1));
|
|
180
|
-
if ((0,
|
|
190
|
+
if ((0, _fg.fg)('platform_editor_column_count_analytics')) {
|
|
181
191
|
withInsertLayoutAnalytics(tr, 1);
|
|
182
192
|
} else {
|
|
183
193
|
withInsertLayoutAnalytics(tr);
|
|
@@ -205,7 +215,7 @@ var layoutPlugin = exports.layoutPlugin = function layoutPlugin(_ref) {
|
|
|
205
215
|
icon: Icon,
|
|
206
216
|
action: function action(insert, state) {
|
|
207
217
|
var tr = insert((0, _actions.createMultiColumnLayoutSection)(state, columnCount));
|
|
208
|
-
if ((0,
|
|
218
|
+
if ((0, _fg.fg)('platform_editor_column_count_analytics')) {
|
|
209
219
|
withInsertLayoutAnalytics(tr, columnCount);
|
|
210
220
|
} else {
|
|
211
221
|
withInsertLayoutAnalytics(tr);
|
|
@@ -266,7 +276,7 @@ var layoutPlugin = exports.layoutPlugin = function layoutPlugin(_ref) {
|
|
|
266
276
|
},
|
|
267
277
|
action: function action(insert, state) {
|
|
268
278
|
var tr = insert((0, _actions.createMultiColumnLayoutSection)(state, 2));
|
|
269
|
-
if ((0,
|
|
279
|
+
if ((0, _fg.fg)('platform_editor_column_count_analytics')) {
|
|
270
280
|
withInsertLayoutAnalytics(tr, 2);
|
|
271
281
|
} else {
|
|
272
282
|
withInsertLayoutAnalytics(tr);
|
|
@@ -287,7 +297,7 @@ var layoutPlugin = exports.layoutPlugin = function layoutPlugin(_ref) {
|
|
|
287
297
|
},
|
|
288
298
|
action: function action(insert, state) {
|
|
289
299
|
var tr = insert((0, _actions.createMultiColumnLayoutSection)(state, 3));
|
|
290
|
-
if ((0,
|
|
300
|
+
if ((0, _fg.fg)('platform_editor_column_count_analytics')) {
|
|
291
301
|
withInsertLayoutAnalytics(tr, 3);
|
|
292
302
|
} else {
|
|
293
303
|
withInsertLayoutAnalytics(tr);
|
|
@@ -308,7 +318,7 @@ var layoutPlugin = exports.layoutPlugin = function layoutPlugin(_ref) {
|
|
|
308
318
|
},
|
|
309
319
|
action: function action(insert, state) {
|
|
310
320
|
var tr = insert((0, _actions.createMultiColumnLayoutSection)(state, 4));
|
|
311
|
-
if ((0,
|
|
321
|
+
if ((0, _fg.fg)('platform_editor_column_count_analytics')) {
|
|
312
322
|
withInsertLayoutAnalytics(tr, 4);
|
|
313
323
|
} else {
|
|
314
324
|
withInsertLayoutAnalytics(tr);
|
|
@@ -329,7 +339,7 @@ var layoutPlugin = exports.layoutPlugin = function layoutPlugin(_ref) {
|
|
|
329
339
|
},
|
|
330
340
|
action: function action(insert, state) {
|
|
331
341
|
var tr = insert((0, _actions.createMultiColumnLayoutSection)(state, 5));
|
|
332
|
-
if ((0,
|
|
342
|
+
if ((0, _fg.fg)('platform_editor_column_count_analytics')) {
|
|
333
343
|
withInsertLayoutAnalytics(tr, 5);
|
|
334
344
|
} else {
|
|
335
345
|
withInsertLayoutAnalytics(tr);
|
|
@@ -94,21 +94,19 @@ var dispatchColumnWidths = function dispatchColumnWidths(view, sectionPos, leftC
|
|
|
94
94
|
tr.setSelection(restoredSelection);
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
})(tr);
|
|
111
|
-
}
|
|
97
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent({
|
|
98
|
+
action: _analytics.ACTION.DRAGGED,
|
|
99
|
+
actionSubject: _analytics.ACTION_SUBJECT.DOCUMENT,
|
|
100
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.LAYOUT_COLUMN,
|
|
101
|
+
attributes: {
|
|
102
|
+
columnCount: sectionNode.childCount,
|
|
103
|
+
leftColumnIndex: leftColIndex,
|
|
104
|
+
leftColumnWidth: Number(leftWidth.toFixed(2)),
|
|
105
|
+
rightColumnWidth: Number(rightWidth.toFixed(2)),
|
|
106
|
+
inputMethod: _analytics.INPUT_METHOD.DRAG
|
|
107
|
+
},
|
|
108
|
+
eventType: _analytics.EVENT_TYPE.TRACK
|
|
109
|
+
})(tr);
|
|
112
110
|
view.dispatch(tr);
|
|
113
111
|
};
|
|
114
112
|
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.LayoutQuickInsertMenuItem = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _reactIntl = require("react-intl");
|
|
10
|
+
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
11
|
+
var _assets = require("@atlaskit/editor-common/assets");
|
|
12
|
+
var _menuItem = require("@atlaskit/editor-common/quick-insert/menu-item");
|
|
13
|
+
var _layoutPlugin = require("../../layoutPlugin");
|
|
14
|
+
var _actions = require("../../pm-plugins/actions");
|
|
15
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
16
|
+
var icons = {
|
|
17
|
+
2: _assets.IconTwoColumnLayout,
|
|
18
|
+
3: _assets.IconThreeColumnLayout,
|
|
19
|
+
4: _assets.IconFourColumnLayout,
|
|
20
|
+
5: _assets.IconFiveColumnLayout
|
|
21
|
+
};
|
|
22
|
+
var LayoutQuickInsertMenuItem = exports.LayoutQuickInsertMenuItem = function LayoutQuickInsertMenuItem(_ref) {
|
|
23
|
+
var api = _ref.api,
|
|
24
|
+
columnCount = _ref.columnCount,
|
|
25
|
+
title = _ref.title;
|
|
26
|
+
var _useIntl = (0, _reactIntl.useIntl)(),
|
|
27
|
+
formatMessage = _useIntl.formatMessage;
|
|
28
|
+
var Icon = icons[columnCount];
|
|
29
|
+
var onSelect = (0, _react.useCallback)(function (_ref2) {
|
|
30
|
+
var _api$analytics;
|
|
31
|
+
var editorView = _ref2.editorView,
|
|
32
|
+
insert = _ref2.insert,
|
|
33
|
+
source = _ref2.source;
|
|
34
|
+
var tr = insert((0, _actions.createMultiColumnLayoutSection)(editorView.state, columnCount));
|
|
35
|
+
api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 || _api$analytics.actions.attachAnalyticsEvent({
|
|
36
|
+
action: _analytics.ACTION.INSERTED,
|
|
37
|
+
actionSubject: _analytics.ACTION_SUBJECT.DOCUMENT,
|
|
38
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.LAYOUT,
|
|
39
|
+
attributes: {
|
|
40
|
+
columnCount: columnCount,
|
|
41
|
+
inputMethod: source
|
|
42
|
+
},
|
|
43
|
+
eventType: _analytics.EVENT_TYPE.TRACK
|
|
44
|
+
})(tr);
|
|
45
|
+
(0, _layoutPlugin.selectIntoLayoutSection)(tr);
|
|
46
|
+
return tr;
|
|
47
|
+
}, [api, columnCount]);
|
|
48
|
+
return /*#__PURE__*/_react.default.createElement(_menuItem.QuickInsertMenuItem, {
|
|
49
|
+
iconBefore: /*#__PURE__*/_react.default.createElement(Icon, null),
|
|
50
|
+
onSelect: onSelect,
|
|
51
|
+
title: formatMessage(title)
|
|
52
|
+
});
|
|
53
|
+
};
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.getLayoutQuickInsertComponents = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _messages = require("@atlaskit/editor-common/messages");
|
|
10
|
+
var _createQuickInsertMatcher = require("@atlaskit/editor-common/quick-insert/create-quick-insert-matcher");
|
|
11
|
+
var _keys = require("@atlaskit/editor-common/quick-insert/keys");
|
|
12
|
+
var _rank = require("@atlaskit/editor-common/quick-insert/rank");
|
|
13
|
+
var _LayoutQuickInsertMenuItem = require("./LayoutQuickInsertMenuItem");
|
|
14
|
+
var layoutItems = [{
|
|
15
|
+
columnCount: 2,
|
|
16
|
+
description: _messages.toolbarInsertBlockMessages.columnsDescriptionAdvancedLayout,
|
|
17
|
+
item: _keys.TWO_COLUMNS_LAYOUT_MENU_ITEM,
|
|
18
|
+
keyword: 'two column',
|
|
19
|
+
title: _messages.layoutMessages.twoColumnsAdvancedLayout
|
|
20
|
+
}, {
|
|
21
|
+
columnCount: 3,
|
|
22
|
+
description: _messages.toolbarInsertBlockMessages.columnsDescriptionAdvancedLayout,
|
|
23
|
+
item: _keys.THREE_COLUMNS_LAYOUT_MENU_ITEM,
|
|
24
|
+
keyword: 'three column',
|
|
25
|
+
title: _messages.layoutMessages.threeColumnsAdvancedLayout
|
|
26
|
+
}, {
|
|
27
|
+
columnCount: 4,
|
|
28
|
+
description: _messages.toolbarInsertBlockMessages.columnsDescriptionAdvancedLayout,
|
|
29
|
+
item: _keys.FOUR_COLUMNS_LAYOUT_MENU_ITEM,
|
|
30
|
+
keyword: 'four column',
|
|
31
|
+
title: _messages.layoutMessages.fourColumns
|
|
32
|
+
}, {
|
|
33
|
+
columnCount: 5,
|
|
34
|
+
description: _messages.toolbarInsertBlockMessages.columnsDescriptionAdvancedLayout,
|
|
35
|
+
item: _keys.FIVE_COLUMNS_LAYOUT_MENU_ITEM,
|
|
36
|
+
keyword: 'five column',
|
|
37
|
+
title: _messages.layoutMessages.fiveColumns
|
|
38
|
+
}];
|
|
39
|
+
var getLayoutQuickInsertComponents = exports.getLayoutQuickInsertComponents = function getLayoutQuickInsertComponents(_ref) {
|
|
40
|
+
var api = _ref.api;
|
|
41
|
+
return layoutItems.map(function (_ref2) {
|
|
42
|
+
var columnCount = _ref2.columnCount,
|
|
43
|
+
description = _ref2.description,
|
|
44
|
+
item = _ref2.item,
|
|
45
|
+
keyword = _ref2.keyword,
|
|
46
|
+
title = _ref2.title;
|
|
47
|
+
return {
|
|
48
|
+
key: item.key,
|
|
49
|
+
type: item.type,
|
|
50
|
+
parents: [{
|
|
51
|
+
key: _keys.STRUCTURE_SECTION.key,
|
|
52
|
+
type: _keys.STRUCTURE_SECTION.type,
|
|
53
|
+
rank: _rank.STRUCTURE_SECTION_RANK[item.key]
|
|
54
|
+
}],
|
|
55
|
+
match: (0, _createQuickInsertMatcher.createQuickInsertMatcher)(function (_ref3) {
|
|
56
|
+
var formatMessage = _ref3.formatMessage;
|
|
57
|
+
return {
|
|
58
|
+
description: formatMessage(description, {
|
|
59
|
+
numberOfColumns: ['one', 'two', 'three', 'four', 'five'][columnCount - 1]
|
|
60
|
+
}),
|
|
61
|
+
keywords: ['layout', 'column', 'section', 'col', keyword],
|
|
62
|
+
title: formatMessage(title)
|
|
63
|
+
};
|
|
64
|
+
}),
|
|
65
|
+
component: function component() {
|
|
66
|
+
return /*#__PURE__*/_react.default.createElement(_LayoutQuickInsertMenuItem.LayoutQuickInsertMenuItem, {
|
|
67
|
+
api: api,
|
|
68
|
+
columnCount: columnCount,
|
|
69
|
+
title: title
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
});
|
|
74
|
+
};
|
|
@@ -7,7 +7,8 @@ import { layoutMessages, toolbarInsertBlockMessages as messages } from '@atlaski
|
|
|
7
7
|
import { IconFiveColumnLayout, IconFourColumnLayout, IconLayout, IconOneColumnLayout, IconThreeColumnLayout, IconTwoColumnLayout } from '@atlaskit/editor-common/quick-insert';
|
|
8
8
|
import { TextSelection } from '@atlaskit/editor-prosemirror/state';
|
|
9
9
|
import { findParentNode } from '@atlaskit/editor-prosemirror/utils';
|
|
10
|
-
import {
|
|
10
|
+
import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
|
|
11
|
+
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
11
12
|
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
12
13
|
import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
|
|
13
14
|
import { createDefaultLayoutSection, createMultiColumnLayoutSection, deleteLayoutColumn, distributeLayoutColumns, insertLayoutColumn, insertLayoutColumnsWithAnalytics, setLayoutColumnDangerPreview, setLayoutColumnValign, toggleLayoutColumnMenu } from './pm-plugins/actions';
|
|
@@ -19,6 +20,7 @@ import { GlobalStylesWrapper } from './ui/global-styles';
|
|
|
19
20
|
import { createLayoutBlockMenuItem } from './ui/LayoutBlockMenuItem';
|
|
20
21
|
import { LayoutColumnMenu } from './ui/LayoutColumnMenu';
|
|
21
22
|
import { getLayoutColumnMenuComponents } from './ui/LayoutColumnMenu/components';
|
|
23
|
+
import { getLayoutQuickInsertComponents } from './ui/quick-insert/getLayoutQuickInsertComponents';
|
|
22
24
|
import { buildToolbar } from './ui/toolbar';
|
|
23
25
|
const LAYOUT_SECTION_NODE_NAME = 'layoutSection';
|
|
24
26
|
|
|
@@ -53,9 +55,11 @@ export const layoutPlugin = ({
|
|
|
53
55
|
api
|
|
54
56
|
}) => {
|
|
55
57
|
var _api$analytics2;
|
|
56
|
-
const
|
|
58
|
+
const isAdvancedLayoutEnabled = editorExperiment('advanced_layouts', true);
|
|
59
|
+
const allowAdvancedSingleColumnLayout = isAdvancedLayoutEnabled && editorExperiment('single_column_layouts', true, {
|
|
57
60
|
exposure: true
|
|
58
61
|
});
|
|
62
|
+
const isRegisteredSlashCommandEnabled = isExperimentEnabled('platform_editor_slash_command') && isAdvancedLayoutEnabled;
|
|
59
63
|
if (editorExperiment('platform_editor_block_menu', true)) {
|
|
60
64
|
var _api$blockMenu;
|
|
61
65
|
api === null || api === void 0 ? void 0 : (_api$blockMenu = api.blockMenu) === null || _api$blockMenu === void 0 ? void 0 : _api$blockMenu.actions.registerBlockMenuComponents([{
|
|
@@ -79,6 +83,12 @@ export const layoutPlugin = ({
|
|
|
79
83
|
api
|
|
80
84
|
}));
|
|
81
85
|
}
|
|
86
|
+
if (isRegisteredSlashCommandEnabled) {
|
|
87
|
+
var _api$uiControlRegistr2;
|
|
88
|
+
api === null || api === void 0 ? void 0 : (_api$uiControlRegistr2 = api.uiControlRegistry) === null || _api$uiControlRegistr2 === void 0 ? void 0 : _api$uiControlRegistr2.actions.register(getLayoutQuickInsertComponents({
|
|
89
|
+
api
|
|
90
|
+
}));
|
|
91
|
+
}
|
|
82
92
|
return {
|
|
83
93
|
name: 'layout',
|
|
84
94
|
nodes() {
|
|
@@ -140,7 +150,7 @@ export const layoutPlugin = ({
|
|
|
140
150
|
}
|
|
141
151
|
return undefined;
|
|
142
152
|
},
|
|
143
|
-
quickInsert: ({
|
|
153
|
+
quickInsert: isRegisteredSlashCommandEnabled ? undefined : ({
|
|
144
154
|
formatMessage
|
|
145
155
|
}) => {
|
|
146
156
|
const withInsertLayoutAnalytics = (tr, columnCount) => {
|
|
@@ -88,21 +88,19 @@ const dispatchColumnWidths = (view, sectionPos, leftColIndex, leftWidth, rightWi
|
|
|
88
88
|
tr.setSelection(restoredSelection);
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
})(tr);
|
|
105
|
-
}
|
|
91
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
|
|
92
|
+
action: ACTION.DRAGGED,
|
|
93
|
+
actionSubject: ACTION_SUBJECT.DOCUMENT,
|
|
94
|
+
actionSubjectId: ACTION_SUBJECT_ID.LAYOUT_COLUMN,
|
|
95
|
+
attributes: {
|
|
96
|
+
columnCount: sectionNode.childCount,
|
|
97
|
+
leftColumnIndex: leftColIndex,
|
|
98
|
+
leftColumnWidth: Number(leftWidth.toFixed(2)),
|
|
99
|
+
rightColumnWidth: Number(rightWidth.toFixed(2)),
|
|
100
|
+
inputMethod: INPUT_METHOD.DRAG
|
|
101
|
+
},
|
|
102
|
+
eventType: EVENT_TYPE.TRACK
|
|
103
|
+
})(tr);
|
|
106
104
|
view.dispatch(tr);
|
|
107
105
|
};
|
|
108
106
|
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import React, { useCallback } from 'react';
|
|
2
|
+
import { useIntl } from 'react-intl';
|
|
3
|
+
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
|
|
4
|
+
import { IconFiveColumnLayout, IconFourColumnLayout, IconThreeColumnLayout, IconTwoColumnLayout } from '@atlaskit/editor-common/assets';
|
|
5
|
+
import { QuickInsertMenuItem } from '@atlaskit/editor-common/quick-insert/menu-item';
|
|
6
|
+
import { selectIntoLayoutSection } from '../../layoutPlugin';
|
|
7
|
+
import { createMultiColumnLayoutSection } from '../../pm-plugins/actions';
|
|
8
|
+
const icons = {
|
|
9
|
+
2: IconTwoColumnLayout,
|
|
10
|
+
3: IconThreeColumnLayout,
|
|
11
|
+
4: IconFourColumnLayout,
|
|
12
|
+
5: IconFiveColumnLayout
|
|
13
|
+
};
|
|
14
|
+
export const LayoutQuickInsertMenuItem = ({
|
|
15
|
+
api,
|
|
16
|
+
columnCount,
|
|
17
|
+
title
|
|
18
|
+
}) => {
|
|
19
|
+
const {
|
|
20
|
+
formatMessage
|
|
21
|
+
} = useIntl();
|
|
22
|
+
const Icon = icons[columnCount];
|
|
23
|
+
const onSelect = useCallback(({
|
|
24
|
+
editorView,
|
|
25
|
+
insert,
|
|
26
|
+
source
|
|
27
|
+
}) => {
|
|
28
|
+
var _api$analytics;
|
|
29
|
+
const tr = insert(createMultiColumnLayoutSection(editorView.state, columnCount));
|
|
30
|
+
api === null || api === void 0 ? void 0 : (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions.attachAnalyticsEvent({
|
|
31
|
+
action: ACTION.INSERTED,
|
|
32
|
+
actionSubject: ACTION_SUBJECT.DOCUMENT,
|
|
33
|
+
actionSubjectId: ACTION_SUBJECT_ID.LAYOUT,
|
|
34
|
+
attributes: {
|
|
35
|
+
columnCount,
|
|
36
|
+
inputMethod: source
|
|
37
|
+
},
|
|
38
|
+
eventType: EVENT_TYPE.TRACK
|
|
39
|
+
})(tr);
|
|
40
|
+
selectIntoLayoutSection(tr);
|
|
41
|
+
return tr;
|
|
42
|
+
}, [api, columnCount]);
|
|
43
|
+
return /*#__PURE__*/React.createElement(QuickInsertMenuItem, {
|
|
44
|
+
iconBefore: /*#__PURE__*/React.createElement(Icon, null),
|
|
45
|
+
onSelect: onSelect,
|
|
46
|
+
title: formatMessage(title)
|
|
47
|
+
});
|
|
48
|
+
};
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { layoutMessages, toolbarInsertBlockMessages as messages } from '@atlaskit/editor-common/messages';
|
|
3
|
+
import { createQuickInsertMatcher } from '@atlaskit/editor-common/quick-insert/create-quick-insert-matcher';
|
|
4
|
+
import { FIVE_COLUMNS_LAYOUT_MENU_ITEM, FOUR_COLUMNS_LAYOUT_MENU_ITEM, STRUCTURE_SECTION, THREE_COLUMNS_LAYOUT_MENU_ITEM, TWO_COLUMNS_LAYOUT_MENU_ITEM } from '@atlaskit/editor-common/quick-insert/keys';
|
|
5
|
+
import { STRUCTURE_SECTION_RANK } from '@atlaskit/editor-common/quick-insert/rank';
|
|
6
|
+
import { LayoutQuickInsertMenuItem } from './LayoutQuickInsertMenuItem';
|
|
7
|
+
const layoutItems = [{
|
|
8
|
+
columnCount: 2,
|
|
9
|
+
description: messages.columnsDescriptionAdvancedLayout,
|
|
10
|
+
item: TWO_COLUMNS_LAYOUT_MENU_ITEM,
|
|
11
|
+
keyword: 'two column',
|
|
12
|
+
title: layoutMessages.twoColumnsAdvancedLayout
|
|
13
|
+
}, {
|
|
14
|
+
columnCount: 3,
|
|
15
|
+
description: messages.columnsDescriptionAdvancedLayout,
|
|
16
|
+
item: THREE_COLUMNS_LAYOUT_MENU_ITEM,
|
|
17
|
+
keyword: 'three column',
|
|
18
|
+
title: layoutMessages.threeColumnsAdvancedLayout
|
|
19
|
+
}, {
|
|
20
|
+
columnCount: 4,
|
|
21
|
+
description: messages.columnsDescriptionAdvancedLayout,
|
|
22
|
+
item: FOUR_COLUMNS_LAYOUT_MENU_ITEM,
|
|
23
|
+
keyword: 'four column',
|
|
24
|
+
title: layoutMessages.fourColumns
|
|
25
|
+
}, {
|
|
26
|
+
columnCount: 5,
|
|
27
|
+
description: messages.columnsDescriptionAdvancedLayout,
|
|
28
|
+
item: FIVE_COLUMNS_LAYOUT_MENU_ITEM,
|
|
29
|
+
keyword: 'five column',
|
|
30
|
+
title: layoutMessages.fiveColumns
|
|
31
|
+
}];
|
|
32
|
+
export const getLayoutQuickInsertComponents = ({
|
|
33
|
+
api
|
|
34
|
+
}) => layoutItems.map(({
|
|
35
|
+
columnCount,
|
|
36
|
+
description,
|
|
37
|
+
item,
|
|
38
|
+
keyword,
|
|
39
|
+
title
|
|
40
|
+
}) => ({
|
|
41
|
+
key: item.key,
|
|
42
|
+
type: item.type,
|
|
43
|
+
parents: [{
|
|
44
|
+
key: STRUCTURE_SECTION.key,
|
|
45
|
+
type: STRUCTURE_SECTION.type,
|
|
46
|
+
rank: STRUCTURE_SECTION_RANK[item.key]
|
|
47
|
+
}],
|
|
48
|
+
match: createQuickInsertMatcher(({
|
|
49
|
+
formatMessage
|
|
50
|
+
}) => ({
|
|
51
|
+
description: formatMessage(description, {
|
|
52
|
+
numberOfColumns: ['one', 'two', 'three', 'four', 'five'][columnCount - 1]
|
|
53
|
+
}),
|
|
54
|
+
keywords: ['layout', 'column', 'section', 'col', keyword],
|
|
55
|
+
title: formatMessage(title)
|
|
56
|
+
})),
|
|
57
|
+
component: () => /*#__PURE__*/React.createElement(LayoutQuickInsertMenuItem, {
|
|
58
|
+
api: api,
|
|
59
|
+
columnCount: columnCount,
|
|
60
|
+
title: title
|
|
61
|
+
})
|
|
62
|
+
}));
|
package/dist/esm/layoutPlugin.js
CHANGED
|
@@ -7,7 +7,8 @@ import { layoutMessages, toolbarInsertBlockMessages as messages } from '@atlaski
|
|
|
7
7
|
import { IconFiveColumnLayout, IconFourColumnLayout, IconLayout, IconOneColumnLayout, IconThreeColumnLayout, IconTwoColumnLayout } from '@atlaskit/editor-common/quick-insert';
|
|
8
8
|
import { TextSelection } from '@atlaskit/editor-prosemirror/state';
|
|
9
9
|
import { findParentNode } from '@atlaskit/editor-prosemirror/utils';
|
|
10
|
-
import {
|
|
10
|
+
import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
|
|
11
|
+
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
11
12
|
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
12
13
|
import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
|
|
13
14
|
import { createDefaultLayoutSection, createMultiColumnLayoutSection, deleteLayoutColumn as _deleteLayoutColumn, distributeLayoutColumns as _distributeLayoutColumns, insertLayoutColumn as _insertLayoutColumn, insertLayoutColumnsWithAnalytics, setLayoutColumnDangerPreview, setLayoutColumnValign as _setLayoutColumnValign, toggleLayoutColumnMenu } from './pm-plugins/actions';
|
|
@@ -19,6 +20,7 @@ import { GlobalStylesWrapper } from './ui/global-styles';
|
|
|
19
20
|
import { createLayoutBlockMenuItem } from './ui/LayoutBlockMenuItem';
|
|
20
21
|
import { LayoutColumnMenu } from './ui/LayoutColumnMenu';
|
|
21
22
|
import { getLayoutColumnMenuComponents } from './ui/LayoutColumnMenu/components';
|
|
23
|
+
import { getLayoutQuickInsertComponents } from './ui/quick-insert/getLayoutQuickInsertComponents';
|
|
22
24
|
import { buildToolbar } from './ui/toolbar';
|
|
23
25
|
var LAYOUT_SECTION_NODE_NAME = 'layoutSection';
|
|
24
26
|
|
|
@@ -54,9 +56,11 @@ export var layoutPlugin = function layoutPlugin(_ref) {
|
|
|
54
56
|
var _ref$config = _ref.config,
|
|
55
57
|
options = _ref$config === void 0 ? {} : _ref$config,
|
|
56
58
|
api = _ref.api;
|
|
57
|
-
var
|
|
59
|
+
var isAdvancedLayoutEnabled = editorExperiment('advanced_layouts', true);
|
|
60
|
+
var allowAdvancedSingleColumnLayout = isAdvancedLayoutEnabled && editorExperiment('single_column_layouts', true, {
|
|
58
61
|
exposure: true
|
|
59
62
|
});
|
|
63
|
+
var isRegisteredSlashCommandEnabled = isExperimentEnabled('platform_editor_slash_command') && isAdvancedLayoutEnabled;
|
|
60
64
|
if (editorExperiment('platform_editor_block_menu', true)) {
|
|
61
65
|
var _api$blockMenu;
|
|
62
66
|
api === null || api === void 0 || (_api$blockMenu = api.blockMenu) === null || _api$blockMenu === void 0 || _api$blockMenu.actions.registerBlockMenuComponents([{
|
|
@@ -80,6 +84,12 @@ export var layoutPlugin = function layoutPlugin(_ref) {
|
|
|
80
84
|
api: api
|
|
81
85
|
}));
|
|
82
86
|
}
|
|
87
|
+
if (isRegisteredSlashCommandEnabled) {
|
|
88
|
+
var _api$uiControlRegistr2;
|
|
89
|
+
api === null || api === void 0 || (_api$uiControlRegistr2 = api.uiControlRegistry) === null || _api$uiControlRegistr2 === void 0 || _api$uiControlRegistr2.actions.register(getLayoutQuickInsertComponents({
|
|
90
|
+
api: api
|
|
91
|
+
}));
|
|
92
|
+
}
|
|
83
93
|
return {
|
|
84
94
|
name: 'layout',
|
|
85
95
|
nodes: function nodes() {
|
|
@@ -142,7 +152,7 @@ export var layoutPlugin = function layoutPlugin(_ref) {
|
|
|
142
152
|
}
|
|
143
153
|
return undefined;
|
|
144
154
|
},
|
|
145
|
-
quickInsert: function
|
|
155
|
+
quickInsert: isRegisteredSlashCommandEnabled ? undefined : function (_ref3) {
|
|
146
156
|
var formatMessage = _ref3.formatMessage;
|
|
147
157
|
var withInsertLayoutAnalytics = function withInsertLayoutAnalytics(tr, columnCount) {
|
|
148
158
|
var _api$analytics3;
|
|
@@ -88,21 +88,19 @@ var dispatchColumnWidths = function dispatchColumnWidths(view, sectionPos, leftC
|
|
|
88
88
|
tr.setSelection(restoredSelection);
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
})(tr);
|
|
105
|
-
}
|
|
91
|
+
editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent({
|
|
92
|
+
action: ACTION.DRAGGED,
|
|
93
|
+
actionSubject: ACTION_SUBJECT.DOCUMENT,
|
|
94
|
+
actionSubjectId: ACTION_SUBJECT_ID.LAYOUT_COLUMN,
|
|
95
|
+
attributes: {
|
|
96
|
+
columnCount: sectionNode.childCount,
|
|
97
|
+
leftColumnIndex: leftColIndex,
|
|
98
|
+
leftColumnWidth: Number(leftWidth.toFixed(2)),
|
|
99
|
+
rightColumnWidth: Number(rightWidth.toFixed(2)),
|
|
100
|
+
inputMethod: INPUT_METHOD.DRAG
|
|
101
|
+
},
|
|
102
|
+
eventType: EVENT_TYPE.TRACK
|
|
103
|
+
})(tr);
|
|
106
104
|
view.dispatch(tr);
|
|
107
105
|
};
|
|
108
106
|
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import React, { useCallback } from 'react';
|
|
2
|
+
import { useIntl } from 'react-intl';
|
|
3
|
+
import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
|
|
4
|
+
import { IconFiveColumnLayout, IconFourColumnLayout, IconThreeColumnLayout, IconTwoColumnLayout } from '@atlaskit/editor-common/assets';
|
|
5
|
+
import { QuickInsertMenuItem } from '@atlaskit/editor-common/quick-insert/menu-item';
|
|
6
|
+
import { selectIntoLayoutSection } from '../../layoutPlugin';
|
|
7
|
+
import { createMultiColumnLayoutSection } from '../../pm-plugins/actions';
|
|
8
|
+
var icons = {
|
|
9
|
+
2: IconTwoColumnLayout,
|
|
10
|
+
3: IconThreeColumnLayout,
|
|
11
|
+
4: IconFourColumnLayout,
|
|
12
|
+
5: IconFiveColumnLayout
|
|
13
|
+
};
|
|
14
|
+
export var LayoutQuickInsertMenuItem = function LayoutQuickInsertMenuItem(_ref) {
|
|
15
|
+
var api = _ref.api,
|
|
16
|
+
columnCount = _ref.columnCount,
|
|
17
|
+
title = _ref.title;
|
|
18
|
+
var _useIntl = useIntl(),
|
|
19
|
+
formatMessage = _useIntl.formatMessage;
|
|
20
|
+
var Icon = icons[columnCount];
|
|
21
|
+
var onSelect = useCallback(function (_ref2) {
|
|
22
|
+
var _api$analytics;
|
|
23
|
+
var editorView = _ref2.editorView,
|
|
24
|
+
insert = _ref2.insert,
|
|
25
|
+
source = _ref2.source;
|
|
26
|
+
var tr = insert(createMultiColumnLayoutSection(editorView.state, columnCount));
|
|
27
|
+
api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 || _api$analytics.actions.attachAnalyticsEvent({
|
|
28
|
+
action: ACTION.INSERTED,
|
|
29
|
+
actionSubject: ACTION_SUBJECT.DOCUMENT,
|
|
30
|
+
actionSubjectId: ACTION_SUBJECT_ID.LAYOUT,
|
|
31
|
+
attributes: {
|
|
32
|
+
columnCount: columnCount,
|
|
33
|
+
inputMethod: source
|
|
34
|
+
},
|
|
35
|
+
eventType: EVENT_TYPE.TRACK
|
|
36
|
+
})(tr);
|
|
37
|
+
selectIntoLayoutSection(tr);
|
|
38
|
+
return tr;
|
|
39
|
+
}, [api, columnCount]);
|
|
40
|
+
return /*#__PURE__*/React.createElement(QuickInsertMenuItem, {
|
|
41
|
+
iconBefore: /*#__PURE__*/React.createElement(Icon, null),
|
|
42
|
+
onSelect: onSelect,
|
|
43
|
+
title: formatMessage(title)
|
|
44
|
+
});
|
|
45
|
+
};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { layoutMessages, toolbarInsertBlockMessages as messages } from '@atlaskit/editor-common/messages';
|
|
3
|
+
import { createQuickInsertMatcher } from '@atlaskit/editor-common/quick-insert/create-quick-insert-matcher';
|
|
4
|
+
import { FIVE_COLUMNS_LAYOUT_MENU_ITEM, FOUR_COLUMNS_LAYOUT_MENU_ITEM, STRUCTURE_SECTION, THREE_COLUMNS_LAYOUT_MENU_ITEM, TWO_COLUMNS_LAYOUT_MENU_ITEM } from '@atlaskit/editor-common/quick-insert/keys';
|
|
5
|
+
import { STRUCTURE_SECTION_RANK } from '@atlaskit/editor-common/quick-insert/rank';
|
|
6
|
+
import { LayoutQuickInsertMenuItem } from './LayoutQuickInsertMenuItem';
|
|
7
|
+
var layoutItems = [{
|
|
8
|
+
columnCount: 2,
|
|
9
|
+
description: messages.columnsDescriptionAdvancedLayout,
|
|
10
|
+
item: TWO_COLUMNS_LAYOUT_MENU_ITEM,
|
|
11
|
+
keyword: 'two column',
|
|
12
|
+
title: layoutMessages.twoColumnsAdvancedLayout
|
|
13
|
+
}, {
|
|
14
|
+
columnCount: 3,
|
|
15
|
+
description: messages.columnsDescriptionAdvancedLayout,
|
|
16
|
+
item: THREE_COLUMNS_LAYOUT_MENU_ITEM,
|
|
17
|
+
keyword: 'three column',
|
|
18
|
+
title: layoutMessages.threeColumnsAdvancedLayout
|
|
19
|
+
}, {
|
|
20
|
+
columnCount: 4,
|
|
21
|
+
description: messages.columnsDescriptionAdvancedLayout,
|
|
22
|
+
item: FOUR_COLUMNS_LAYOUT_MENU_ITEM,
|
|
23
|
+
keyword: 'four column',
|
|
24
|
+
title: layoutMessages.fourColumns
|
|
25
|
+
}, {
|
|
26
|
+
columnCount: 5,
|
|
27
|
+
description: messages.columnsDescriptionAdvancedLayout,
|
|
28
|
+
item: FIVE_COLUMNS_LAYOUT_MENU_ITEM,
|
|
29
|
+
keyword: 'five column',
|
|
30
|
+
title: layoutMessages.fiveColumns
|
|
31
|
+
}];
|
|
32
|
+
export var getLayoutQuickInsertComponents = function getLayoutQuickInsertComponents(_ref) {
|
|
33
|
+
var api = _ref.api;
|
|
34
|
+
return layoutItems.map(function (_ref2) {
|
|
35
|
+
var columnCount = _ref2.columnCount,
|
|
36
|
+
description = _ref2.description,
|
|
37
|
+
item = _ref2.item,
|
|
38
|
+
keyword = _ref2.keyword,
|
|
39
|
+
title = _ref2.title;
|
|
40
|
+
return {
|
|
41
|
+
key: item.key,
|
|
42
|
+
type: item.type,
|
|
43
|
+
parents: [{
|
|
44
|
+
key: STRUCTURE_SECTION.key,
|
|
45
|
+
type: STRUCTURE_SECTION.type,
|
|
46
|
+
rank: STRUCTURE_SECTION_RANK[item.key]
|
|
47
|
+
}],
|
|
48
|
+
match: createQuickInsertMatcher(function (_ref3) {
|
|
49
|
+
var formatMessage = _ref3.formatMessage;
|
|
50
|
+
return {
|
|
51
|
+
description: formatMessage(description, {
|
|
52
|
+
numberOfColumns: ['one', 'two', 'three', 'four', 'five'][columnCount - 1]
|
|
53
|
+
}),
|
|
54
|
+
keywords: ['layout', 'column', 'section', 'col', keyword],
|
|
55
|
+
title: formatMessage(title)
|
|
56
|
+
};
|
|
57
|
+
}),
|
|
58
|
+
component: function component() {
|
|
59
|
+
return /*#__PURE__*/React.createElement(LayoutQuickInsertMenuItem, {
|
|
60
|
+
api: api,
|
|
61
|
+
columnCount: columnCount,
|
|
62
|
+
title: title
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
});
|
|
67
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { MessageDescriptor } from 'react-intl';
|
|
3
|
+
import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
|
|
4
|
+
import type { LayoutPlugin } from '../../layoutPluginType';
|
|
5
|
+
type Props = {
|
|
6
|
+
api: ExtractInjectionAPI<LayoutPlugin> | undefined;
|
|
7
|
+
columnCount: 2 | 3 | 4 | 5;
|
|
8
|
+
title: MessageDescriptor;
|
|
9
|
+
};
|
|
10
|
+
export declare const LayoutQuickInsertMenuItem: ({ api, columnCount, title, }: Props) => React.JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
|
|
2
|
+
import type { RegisterMenuItem } from '@atlaskit/editor-ui-control-model/types';
|
|
3
|
+
import type { LayoutPlugin } from '../../layoutPluginType';
|
|
4
|
+
type Params = {
|
|
5
|
+
api: ExtractInjectionAPI<LayoutPlugin> | undefined;
|
|
6
|
+
};
|
|
7
|
+
export declare const getLayoutQuickInsertComponents: ({ api }: Params) => RegisterMenuItem[];
|
|
8
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-plugin-layout",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "16.0.1",
|
|
4
4
|
"description": "Layout plugin for @atlaskit/editor-core",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -23,24 +23,25 @@
|
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@atlaskit/adf-schema": "^56.7.0",
|
|
25
25
|
"@atlaskit/css": "^1.0.0",
|
|
26
|
-
"@atlaskit/editor-plugin-analytics": "^
|
|
27
|
-
"@atlaskit/editor-plugin-block-controls": "^
|
|
28
|
-
"@atlaskit/editor-plugin-block-menu": "^
|
|
29
|
-
"@atlaskit/editor-plugin-decorations": "^
|
|
30
|
-
"@atlaskit/editor-plugin-editor-disabled": "^
|
|
31
|
-
"@atlaskit/editor-plugin-guideline": "^
|
|
32
|
-
"@atlaskit/editor-plugin-interaction": "^
|
|
33
|
-
"@atlaskit/editor-plugin-selection": "^
|
|
34
|
-
"@atlaskit/editor-plugin-toolbar": "^
|
|
35
|
-
"@atlaskit/editor-plugin-ui-control-registry": "^
|
|
36
|
-
"@atlaskit/editor-plugin-user-intent": "^
|
|
37
|
-
"@atlaskit/editor-plugin-width": "^
|
|
26
|
+
"@atlaskit/editor-plugin-analytics": "^15.0.0",
|
|
27
|
+
"@atlaskit/editor-plugin-block-controls": "^16.0.0",
|
|
28
|
+
"@atlaskit/editor-plugin-block-menu": "^14.0.0",
|
|
29
|
+
"@atlaskit/editor-plugin-decorations": "^15.0.0",
|
|
30
|
+
"@atlaskit/editor-plugin-editor-disabled": "^15.0.0",
|
|
31
|
+
"@atlaskit/editor-plugin-guideline": "^15.0.0",
|
|
32
|
+
"@atlaskit/editor-plugin-interaction": "^26.0.0",
|
|
33
|
+
"@atlaskit/editor-plugin-selection": "^15.0.0",
|
|
34
|
+
"@atlaskit/editor-plugin-toolbar": "^12.0.0",
|
|
35
|
+
"@atlaskit/editor-plugin-ui-control-registry": "^9.0.0",
|
|
36
|
+
"@atlaskit/editor-plugin-user-intent": "^13.0.0",
|
|
37
|
+
"@atlaskit/editor-plugin-width": "^16.0.0",
|
|
38
38
|
"@atlaskit/editor-prosemirror": "^8.0.0",
|
|
39
39
|
"@atlaskit/editor-shared-styles": "^4.0.0",
|
|
40
40
|
"@atlaskit/editor-toolbar": "^2.4.0",
|
|
41
41
|
"@atlaskit/editor-ui-control-model": "^2.6.0",
|
|
42
42
|
"@atlaskit/icon": "^37.3.0",
|
|
43
43
|
"@atlaskit/icon-lab": "^7.5.0",
|
|
44
|
+
"@atlaskit/platform-feature-experiments": "^0.3.0",
|
|
44
45
|
"@atlaskit/platform-feature-flags": "^2.1.0",
|
|
45
46
|
"@atlaskit/tmp-editor-statsig": "^147.1.0",
|
|
46
47
|
"@atlaskit/tokens": "^16.7.0",
|
|
@@ -49,7 +50,7 @@
|
|
|
49
50
|
"bind-event-listener": "^3.0.0"
|
|
50
51
|
},
|
|
51
52
|
"peerDependencies": {
|
|
52
|
-
"@atlaskit/editor-common": "^
|
|
53
|
+
"@atlaskit/editor-common": "^119.1.0",
|
|
53
54
|
"react": "^18.2.0 || ^19.2.0",
|
|
54
55
|
"react-intl": "^5.25.1 || ^6.0.0 || ^7.0.0"
|
|
55
56
|
},
|
|
@@ -99,9 +100,6 @@
|
|
|
99
100
|
"platform_editor_adf_with_localid": {
|
|
100
101
|
"type": "boolean"
|
|
101
102
|
},
|
|
102
|
-
"platform_editor_layout_resize_analytics": {
|
|
103
|
-
"type": "boolean"
|
|
104
|
-
},
|
|
105
103
|
"platform_editor_layout_column_menu_kill_switch_1": {
|
|
106
104
|
"type": "boolean"
|
|
107
105
|
}
|