@atlaskit/editor-plugin-block-menu 5.2.11 → 5.2.13
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 +17 -0
- package/dist/cjs/editor-commands/transform-node-utils/transform.js +2 -1
- package/dist/cjs/editor-commands/transform-node-utils/utils.js +1 -53
- package/dist/cjs/editor-commands/transformNode.js +4 -4
- package/dist/cjs/ui/block-menu-renderer/BlockMenuComponent.js +37 -0
- package/dist/cjs/ui/block-menu-renderer/BlockMenuComponents.js +29 -0
- package/dist/cjs/ui/block-menu-renderer/BlockMenuRenderer.js +33 -0
- package/dist/cjs/ui/block-menu-renderer/fallbacks.js +32 -0
- package/dist/cjs/ui/block-menu-renderer/types.js +5 -0
- package/dist/cjs/ui/block-menu-renderer/utils.js +127 -0
- package/dist/cjs/ui/block-menu.js +7 -20
- package/dist/cjs/ui/copy-link.js +7 -11
- package/dist/cjs/ui/hooks/useSuggestedItems.js +11 -4
- package/dist/cjs/ui/utils/copyLink.js +4 -4
- package/dist/cjs/ui/utils/suggested-items-rank.js +1 -1
- package/dist/es2019/editor-commands/transform-node-utils/transform.js +2 -1
- package/dist/es2019/editor-commands/transform-node-utils/utils.js +0 -54
- package/dist/es2019/editor-commands/transformNode.js +2 -2
- package/dist/es2019/ui/block-menu-renderer/BlockMenuComponent.js +31 -0
- package/dist/es2019/ui/block-menu-renderer/BlockMenuComponents.js +21 -0
- package/dist/es2019/ui/block-menu-renderer/BlockMenuRenderer.js +24 -0
- package/dist/es2019/ui/block-menu-renderer/fallbacks.js +21 -0
- package/dist/es2019/ui/block-menu-renderer/types.js +1 -0
- package/dist/es2019/ui/block-menu-renderer/utils.js +93 -0
- package/dist/es2019/ui/block-menu.js +6 -13
- package/dist/es2019/ui/copy-link.js +7 -11
- package/dist/es2019/ui/hooks/useSuggestedItems.js +10 -5
- package/dist/es2019/ui/utils/copyLink.js +3 -4
- package/dist/es2019/ui/utils/suggested-items-rank.js +0 -5
- package/dist/esm/editor-commands/transform-node-utils/transform.js +2 -1
- package/dist/esm/editor-commands/transform-node-utils/utils.js +0 -52
- package/dist/esm/editor-commands/transformNode.js +2 -2
- package/dist/esm/ui/block-menu-renderer/BlockMenuComponent.js +30 -0
- package/dist/esm/ui/block-menu-renderer/BlockMenuComponents.js +22 -0
- package/dist/esm/ui/block-menu-renderer/BlockMenuRenderer.js +25 -0
- package/dist/esm/ui/block-menu-renderer/fallbacks.js +25 -0
- package/dist/esm/ui/block-menu-renderer/types.js +1 -0
- package/dist/esm/ui/block-menu-renderer/utils.js +121 -0
- package/dist/esm/ui/block-menu.js +6 -19
- package/dist/esm/ui/copy-link.js +7 -11
- package/dist/esm/ui/hooks/useSuggestedItems.js +12 -5
- package/dist/esm/ui/utils/copyLink.js +4 -4
- package/dist/esm/ui/utils/suggested-items-rank.js +1 -1
- package/dist/types/blockMenuPluginType.d.ts +3 -2
- package/dist/types/editor-commands/transform-node-utils/utils.d.ts +1 -17
- package/dist/types/ui/block-menu-renderer/BlockMenuComponent.d.ts +11 -0
- package/dist/types/ui/block-menu-renderer/BlockMenuComponents.d.ts +12 -0
- package/dist/types/ui/block-menu-renderer/BlockMenuRenderer.d.ts +12 -0
- package/dist/types/ui/block-menu-renderer/fallbacks.d.ts +2 -0
- package/dist/types/ui/block-menu-renderer/types.d.ts +27 -0
- package/dist/types/ui/block-menu-renderer/utils.d.ts +37 -0
- package/dist/types/ui/utils/copyLink.d.ts +1 -3
- package/dist/types-ts4.5/blockMenuPluginType.d.ts +3 -2
- package/dist/types-ts4.5/editor-commands/transform-node-utils/utils.d.ts +1 -17
- package/dist/types-ts4.5/ui/block-menu-renderer/BlockMenuComponent.d.ts +11 -0
- package/dist/types-ts4.5/ui/block-menu-renderer/BlockMenuComponents.d.ts +12 -0
- package/dist/types-ts4.5/ui/block-menu-renderer/BlockMenuRenderer.d.ts +12 -0
- package/dist/types-ts4.5/ui/block-menu-renderer/fallbacks.d.ts +2 -0
- package/dist/types-ts4.5/ui/block-menu-renderer/types.d.ts +27 -0
- package/dist/types-ts4.5/ui/block-menu-renderer/utils.d.ts +37 -0
- package/dist/types-ts4.5/ui/utils/copyLink.d.ts +1 -3
- package/package.json +1 -1
- package/dist/cjs/ui/block-menu-renderer.js +0 -104
- package/dist/es2019/ui/block-menu-renderer.js +0 -83
- package/dist/esm/ui/block-menu-renderer.js +0 -95
- package/dist/types/ui/block-menu-renderer.d.ts +0 -18
- package/dist/types-ts4.5/ui/block-menu-renderer.d.ts +0 -18
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-block-menu
|
|
2
2
|
|
|
3
|
+
## 5.2.13
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`8da61d284b811`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/8da61d284b811) -
|
|
8
|
+
EDITOR-3911 Expand selection to block range
|
|
9
|
+
- [`010fbe9d85b12`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/010fbe9d85b12) -
|
|
10
|
+
[ux] Fix bug / make wrap of expand convert to nestedExpand node
|
|
11
|
+
- Updated dependencies
|
|
12
|
+
|
|
13
|
+
## 5.2.12
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- [`b3c4249a34e4b`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/b3c4249a34e4b) -
|
|
18
|
+
EDITOR-3880 Improve block menu rendering to support infinite nesting
|
|
19
|
+
|
|
3
20
|
## 5.2.11
|
|
4
21
|
|
|
5
22
|
### Patch Changes
|
|
@@ -133,7 +133,8 @@ var TRANSFORM_STEPS_OVERRIDE = {
|
|
|
133
133
|
decisionList: {
|
|
134
134
|
bulletList: [_decisionListToListStep.decisionListToListStep],
|
|
135
135
|
orderedList: [_decisionListToListStep.decisionListToListStep],
|
|
136
|
-
taskList: [_decisionListToListStep.decisionListToListStep]
|
|
136
|
+
taskList: [_decisionListToListStep.decisionListToListStep],
|
|
137
|
+
layoutSection: [_wrapIntoLayoutStep.wrapIntoLayoutStep]
|
|
137
138
|
}
|
|
138
139
|
};
|
|
139
140
|
var getTransformStepsForNodeTypes = function getTransformStepsForNodeTypes(selectedNodeTypeName, targetNodeTypeName) {
|
|
@@ -3,12 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.isListType = exports.getTargetNodeTypeNameInContext = exports.getSelectedNode = exports.getBlockNodesInRange = exports.
|
|
7
|
-
var _selection = require("@atlaskit/editor-common/selection");
|
|
6
|
+
exports.isListType = exports.getTargetNodeTypeNameInContext = exports.getSelectedNode = exports.getBlockNodesInRange = exports.convertNestedExpandToExpand = exports.convertExpandToNestedExpand = void 0;
|
|
8
7
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
9
8
|
var _utils = require("@atlaskit/editor-prosemirror/utils");
|
|
10
9
|
var _editorTables = require("@atlaskit/editor-tables");
|
|
11
|
-
var _utils2 = require("@atlaskit/editor-tables/utils");
|
|
12
10
|
var getSelectedNode = exports.getSelectedNode = function getSelectedNode(selection) {
|
|
13
11
|
if (selection instanceof _state.NodeSelection) {
|
|
14
12
|
return {
|
|
@@ -57,56 +55,6 @@ var getTargetNodeTypeNameInContext = exports.getTargetNodeTypeNameInContext = fu
|
|
|
57
55
|
}
|
|
58
56
|
return nodeTypeName;
|
|
59
57
|
};
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Use common expandToBlockRange function to get the correct range for the selection
|
|
63
|
-
* For example, if selection starts in a listItem, go find the bullet list or ordered list, their $from
|
|
64
|
-
* @param selection
|
|
65
|
-
* @param schema
|
|
66
|
-
* @returns
|
|
67
|
-
*/
|
|
68
|
-
var expandSelectionToBlockRange = exports.expandSelectionToBlockRange = function expandSelectionToBlockRange(selection, schema) {
|
|
69
|
-
var nodes = schema.nodes;
|
|
70
|
-
var nodesNeedToExpandRange = [nodes.bulletList, nodes.orderedList, nodes.taskList, nodes.listItem, nodes.taskItem];
|
|
71
|
-
|
|
72
|
-
// when adding nodes.tableRow, tableHeader, tableCell in nodesNeedToExpandRang,
|
|
73
|
-
// expandToBlockRange does not return expected table start position, sometimes even freeze editor
|
|
74
|
-
// so handle table in the below logic
|
|
75
|
-
if ((0, _utils2.isTableSelected)(selection)) {
|
|
76
|
-
var table = (0, _utils2.findTable)(selection);
|
|
77
|
-
if (table) {
|
|
78
|
-
var $from = selection.$from.doc.resolve(table.pos);
|
|
79
|
-
var $to = selection.$from.doc.resolve(table.pos + table.node.nodeSize - 1);
|
|
80
|
-
return {
|
|
81
|
-
$from: $from,
|
|
82
|
-
$to: $to,
|
|
83
|
-
range: $from.blockRange($to)
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
// when selecting a file, selection is on media
|
|
89
|
-
// need to find media group and return its pos
|
|
90
|
-
if (selection instanceof _state.NodeSelection) {
|
|
91
|
-
if (selection.node.type === nodes.media) {
|
|
92
|
-
var mediaGroup = (0, _utils.findParentNodeOfType)(nodes.mediaGroup)(selection);
|
|
93
|
-
if (mediaGroup) {
|
|
94
|
-
var _$from = selection.$from.doc.resolve(mediaGroup.pos);
|
|
95
|
-
var _$to = selection.$from.doc.resolve(mediaGroup.pos + mediaGroup.node.nodeSize);
|
|
96
|
-
return {
|
|
97
|
-
$from: _$from,
|
|
98
|
-
$to: _$to
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
return (0, _selection.expandToBlockRange)(selection.$from, selection.$to, function (node) {
|
|
104
|
-
if (nodesNeedToExpandRange.includes(node.type)) {
|
|
105
|
-
return false;
|
|
106
|
-
}
|
|
107
|
-
return true;
|
|
108
|
-
});
|
|
109
|
-
};
|
|
110
58
|
var isListType = exports.isListType = function isListType(node, schema) {
|
|
111
59
|
var lists = [schema.nodes.taskList, schema.nodes.bulletList, schema.nodes.orderedList];
|
|
112
60
|
return lists.some(function (list) {
|
|
@@ -4,12 +4,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.transformNode = void 0;
|
|
7
|
+
var _selection = require("@atlaskit/editor-common/selection");
|
|
7
8
|
var _model = require("@atlaskit/editor-prosemirror/model");
|
|
8
9
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
9
10
|
var _isNestedNode = require("../ui/utils/isNestedNode");
|
|
10
11
|
var _transform = require("./transform-node-utils/transform");
|
|
11
|
-
var _utils = require("./
|
|
12
|
-
var _utils2 = require("./transforms/utils");
|
|
12
|
+
var _utils = require("./transforms/utils");
|
|
13
13
|
var transformNode = exports.transformNode = function transformNode(api) {
|
|
14
14
|
return (
|
|
15
15
|
// eslint-disable-next-line no-unused-vars
|
|
@@ -23,13 +23,13 @@ var transformNode = exports.transformNode = function transformNode(api) {
|
|
|
23
23
|
}
|
|
24
24
|
var schema = tr.doc.type.schema;
|
|
25
25
|
var nodes = schema.nodes;
|
|
26
|
-
var _expandSelectionToBlo = (0,
|
|
26
|
+
var _expandSelectionToBlo = (0, _selection.expandSelectionToBlockRange)(preservedSelection),
|
|
27
27
|
$from = _expandSelectionToBlo.$from,
|
|
28
28
|
$to = _expandSelectionToBlo.$to;
|
|
29
29
|
var isNested = (0, _isNestedNode.isNestedNode)(preservedSelection, '');
|
|
30
30
|
var selectedParent = $from.parent;
|
|
31
31
|
var fragment = _model.Fragment.empty;
|
|
32
|
-
var isList = (0,
|
|
32
|
+
var isList = (0, _utils.isListNode)(selectedParent);
|
|
33
33
|
var slice = tr.doc.slice(isList ? $from.pos - 1 : $from.pos, isList ? $to.pos + 1 : $to.pos);
|
|
34
34
|
slice.content.forEach(function (node) {
|
|
35
35
|
var outputNode = (0, _transform.getOutputNodes)({
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.BlockMenuComponent = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _BlockMenuComponents = require("./BlockMenuComponents");
|
|
10
|
+
var _utils = require("./utils");
|
|
11
|
+
/**
|
|
12
|
+
* Renders the given registered component based on its type
|
|
13
|
+
*/
|
|
14
|
+
var BlockMenuComponent = exports.BlockMenuComponent = function BlockMenuComponent(_ref) {
|
|
15
|
+
var registeredComponent = _ref.registeredComponent,
|
|
16
|
+
childrenMap = _ref.childrenMap,
|
|
17
|
+
fallbacks = _ref.fallbacks;
|
|
18
|
+
if (registeredComponent.type === 'block-menu-item') {
|
|
19
|
+
var ItemComponent = registeredComponent.component || fallbacks['block-menu-item'];
|
|
20
|
+
return /*#__PURE__*/_react.default.createElement(ItemComponent, {
|
|
21
|
+
key: registeredComponent.key
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
if (!(0, _utils.willComponentRender)(registeredComponent, childrenMap)) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
var ParentComponent = registeredComponent.component || fallbacks[registeredComponent.type];
|
|
28
|
+
var childrenMapKey = (0, _utils.getChildrenMapKey)(registeredComponent.key, registeredComponent.type);
|
|
29
|
+
var registeredComponents = childrenMap.get(childrenMapKey);
|
|
30
|
+
return /*#__PURE__*/_react.default.createElement(ParentComponent, {
|
|
31
|
+
key: registeredComponent.key
|
|
32
|
+
}, /*#__PURE__*/_react.default.createElement(_BlockMenuComponents.BlockMenuComponents, {
|
|
33
|
+
registeredComponents: registeredComponents,
|
|
34
|
+
childrenMap: childrenMap,
|
|
35
|
+
fallbacks: fallbacks
|
|
36
|
+
}));
|
|
37
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.BlockMenuComponents = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _BlockMenuComponent = require("./BlockMenuComponent");
|
|
10
|
+
/**
|
|
11
|
+
* Renders the given registered components
|
|
12
|
+
* Returns null if no components are rendered
|
|
13
|
+
*/
|
|
14
|
+
var BlockMenuComponents = exports.BlockMenuComponents = function BlockMenuComponents(_ref) {
|
|
15
|
+
var registeredComponents = _ref.registeredComponents,
|
|
16
|
+
childrenMap = _ref.childrenMap,
|
|
17
|
+
fallbacks = _ref.fallbacks;
|
|
18
|
+
if (!(registeredComponents !== null && registeredComponents !== void 0 && registeredComponents.length)) {
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, registeredComponents.map(function (registeredComponent) {
|
|
22
|
+
return /*#__PURE__*/_react.default.createElement(_BlockMenuComponent.BlockMenuComponent, {
|
|
23
|
+
key: registeredComponent.key,
|
|
24
|
+
registeredComponent: registeredComponent,
|
|
25
|
+
childrenMap: childrenMap,
|
|
26
|
+
fallbacks: fallbacks
|
|
27
|
+
});
|
|
28
|
+
}));
|
|
29
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.BlockMenuRenderer = void 0;
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
+
var _BlockMenuComponents = require("./BlockMenuComponents");
|
|
10
|
+
var _fallbacks = require("./fallbacks");
|
|
11
|
+
var _utils = require("./utils");
|
|
12
|
+
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); }
|
|
13
|
+
/**
|
|
14
|
+
* BlockMenuRenderer orchestrates the rendering of the entire block menu hierarchy
|
|
15
|
+
*/
|
|
16
|
+
var BlockMenuRenderer = exports.BlockMenuRenderer = function BlockMenuRenderer(_ref) {
|
|
17
|
+
var allRegisteredComponents = _ref.allRegisteredComponents,
|
|
18
|
+
_ref$fallbacks = _ref.fallbacks,
|
|
19
|
+
fallbacks = _ref$fallbacks === void 0 ? _fallbacks.BLOCK_MENU_FALLBACKS : _ref$fallbacks;
|
|
20
|
+
var _useMemo = (0, _react.useMemo)(function () {
|
|
21
|
+
return {
|
|
22
|
+
childrenMap: (0, _utils.buildChildrenMap)(allRegisteredComponents),
|
|
23
|
+
topLevelSections: (0, _utils.getSortedTopLevelSections)(allRegisteredComponents)
|
|
24
|
+
};
|
|
25
|
+
}, [allRegisteredComponents]),
|
|
26
|
+
childrenMap = _useMemo.childrenMap,
|
|
27
|
+
topLevelSections = _useMemo.topLevelSections;
|
|
28
|
+
return /*#__PURE__*/_react.default.createElement(_BlockMenuComponents.BlockMenuComponents, {
|
|
29
|
+
registeredComponents: topLevelSections,
|
|
30
|
+
childrenMap: childrenMap,
|
|
31
|
+
fallbacks: fallbacks
|
|
32
|
+
});
|
|
33
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.BLOCK_MENU_FALLBACKS = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _editorToolbar = require("@atlaskit/editor-toolbar");
|
|
10
|
+
var _chevronRight = _interopRequireDefault(require("@atlaskit/icon/core/chevron-right"));
|
|
11
|
+
var BLOCK_MENU_FALLBACKS = exports.BLOCK_MENU_FALLBACKS = {
|
|
12
|
+
'block-menu-nested': function blockMenuNested(_ref) {
|
|
13
|
+
var children = _ref.children;
|
|
14
|
+
return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarNestedDropdownMenu, {
|
|
15
|
+
elemBefore: undefined,
|
|
16
|
+
elemAfter: /*#__PURE__*/_react.default.createElement(_chevronRight.default, {
|
|
17
|
+
label: ""
|
|
18
|
+
}),
|
|
19
|
+
text: "Nested Menu",
|
|
20
|
+
enableMaxHeight: true,
|
|
21
|
+
shouldFitContainer: true
|
|
22
|
+
}, children);
|
|
23
|
+
},
|
|
24
|
+
'block-menu-section': function blockMenuSection(_ref2) {
|
|
25
|
+
var children = _ref2.children;
|
|
26
|
+
return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItemSection, null, children);
|
|
27
|
+
},
|
|
28
|
+
// eslint-disable-next-line @atlassian/i18n/no-literal-string-in-jsx
|
|
29
|
+
'block-menu-item': function blockMenuItem() {
|
|
30
|
+
return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, null, "Block Menu Item");
|
|
31
|
+
}
|
|
32
|
+
};
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.willComponentRender = exports.getSortedTopLevelSections = exports.getChildrenMapKey = exports.buildChildrenMap = void 0;
|
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
10
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
11
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
12
|
+
/**
|
|
13
|
+
* Type guard to check if a component has a parent
|
|
14
|
+
*
|
|
15
|
+
* @param component The block menu component to check
|
|
16
|
+
* @returns True if the component has a parent, false otherwise
|
|
17
|
+
*/
|
|
18
|
+
var hasParent = function hasParent(component) {
|
|
19
|
+
return 'parent' in component && !!component.parent;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Type guard to identify top-level sections (sections without a parent)
|
|
24
|
+
*
|
|
25
|
+
* @param component The block menu component to check
|
|
26
|
+
* @returns True if the component is a top-level section, false otherwise
|
|
27
|
+
*/
|
|
28
|
+
var isTopLevelSection = function isTopLevelSection(component) {
|
|
29
|
+
return component.type === 'block-menu-section' && !hasParent(component);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Gets all top-level sections (those without a parent) sorted by rank
|
|
34
|
+
*
|
|
35
|
+
* @param components All registered block menu components
|
|
36
|
+
* @returns Sorted array of top-level sections
|
|
37
|
+
*/
|
|
38
|
+
var getSortedTopLevelSections = exports.getSortedTopLevelSections = function getSortedTopLevelSections(components) {
|
|
39
|
+
return components.filter(isTopLevelSection).sort(function (a, b) {
|
|
40
|
+
return (a.rank || 0) - (b.rank || 0);
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Generates a unique key from a key and type
|
|
46
|
+
* Used to lookup children in the childrenMap
|
|
47
|
+
*
|
|
48
|
+
* @param key The component's key
|
|
49
|
+
* @param type The component's type
|
|
50
|
+
* @returns A unique string key combining type and key
|
|
51
|
+
*/
|
|
52
|
+
var getChildrenMapKey = exports.getChildrenMapKey = function getChildrenMapKey(key, type) {
|
|
53
|
+
return "".concat(type, ":").concat(key);
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Builds a map of parent keys to their sorted children
|
|
58
|
+
* This enables efficient hierarchical rendering of the menu structure
|
|
59
|
+
*
|
|
60
|
+
* @param components All registered block menu components
|
|
61
|
+
* @returns Map where keys are parent identifiers and values are sorted child components
|
|
62
|
+
*/
|
|
63
|
+
var buildChildrenMap = exports.buildChildrenMap = function buildChildrenMap(components) {
|
|
64
|
+
var childrenMap = new Map();
|
|
65
|
+
var _iterator = _createForOfIteratorHelper(components),
|
|
66
|
+
_step;
|
|
67
|
+
try {
|
|
68
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
69
|
+
var component = _step.value;
|
|
70
|
+
// Only components with parents can be children
|
|
71
|
+
if ('parent' in component && !!component.parent) {
|
|
72
|
+
var childrenMapKey = getChildrenMapKey(component.parent.key, component.parent.type);
|
|
73
|
+
var existing = childrenMap.get(childrenMapKey) || [];
|
|
74
|
+
existing.push(component);
|
|
75
|
+
childrenMap.set(childrenMapKey, existing);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
// Sort children by their rank within their parent
|
|
80
|
+
} catch (err) {
|
|
81
|
+
_iterator.e(err);
|
|
82
|
+
} finally {
|
|
83
|
+
_iterator.f();
|
|
84
|
+
}
|
|
85
|
+
var _iterator2 = _createForOfIteratorHelper(childrenMap.entries()),
|
|
86
|
+
_step2;
|
|
87
|
+
try {
|
|
88
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
89
|
+
var _step2$value = (0, _slicedToArray2.default)(_step2.value, 2),
|
|
90
|
+
children = _step2$value[1];
|
|
91
|
+
children.sort(function (a, b) {
|
|
92
|
+
var rankA = hasParent(a) ? a.parent.rank || 0 : 0;
|
|
93
|
+
var rankB = hasParent(b) ? b.parent.rank || 0 : 0;
|
|
94
|
+
return rankA - rankB;
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
} catch (err) {
|
|
98
|
+
_iterator2.e(err);
|
|
99
|
+
} finally {
|
|
100
|
+
_iterator2.f();
|
|
101
|
+
}
|
|
102
|
+
return childrenMap;
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Determines whether a component will render based on its type and children
|
|
107
|
+
*
|
|
108
|
+
* Rules:
|
|
109
|
+
* - An item will not render if has a component that returns null
|
|
110
|
+
* - A nested menu will render if it has at least one registered child component
|
|
111
|
+
* - A section will render if it has at least one registered child component that will render
|
|
112
|
+
*
|
|
113
|
+
* NOTE: This requires invoking each item's component function to check for null return
|
|
114
|
+
*/
|
|
115
|
+
var _willComponentRender = exports.willComponentRender = function willComponentRender(registeredComponent, childrenMap) {
|
|
116
|
+
if (registeredComponent.type === 'block-menu-item') {
|
|
117
|
+
return registeredComponent.component ? registeredComponent.component() !== null : true;
|
|
118
|
+
}
|
|
119
|
+
var childrenMapKey = getChildrenMapKey(registeredComponent.key, registeredComponent.type);
|
|
120
|
+
var registeredComponents = childrenMap.get(childrenMapKey) || [];
|
|
121
|
+
if (registeredComponent.type === 'block-menu-nested') {
|
|
122
|
+
return registeredComponents.length > 0;
|
|
123
|
+
}
|
|
124
|
+
return registeredComponents.some(function (childComponent) {
|
|
125
|
+
return _willComponentRender(childComponent, childrenMap);
|
|
126
|
+
});
|
|
127
|
+
};
|
|
@@ -19,15 +19,15 @@ var _hooks = require("@atlaskit/editor-common/hooks");
|
|
|
19
19
|
var _selection = require("@atlaskit/editor-common/selection");
|
|
20
20
|
var _styles = require("@atlaskit/editor-common/styles");
|
|
21
21
|
var _ui = require("@atlaskit/editor-common/ui");
|
|
22
|
+
var _uiMenu = require("@atlaskit/editor-common/ui-menu");
|
|
22
23
|
var _uiReact = require("@atlaskit/editor-common/ui-react");
|
|
23
24
|
var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
|
|
24
|
-
var _editorToolbar = require("@atlaskit/editor-toolbar");
|
|
25
25
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
26
26
|
var _platformFeatureFlagsReact = require("@atlaskit/platform-feature-flags-react");
|
|
27
27
|
var _compiled = require("@atlaskit/primitives/compiled");
|
|
28
28
|
var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
|
|
29
29
|
var _blockMenuProvider = require("./block-menu-provider");
|
|
30
|
-
var
|
|
30
|
+
var _BlockMenuRenderer = require("./block-menu-renderer/BlockMenuRenderer");
|
|
31
31
|
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); }
|
|
32
32
|
var styles = {
|
|
33
33
|
base: "_2rko12b0 _bfhk1bhr _16qs130s",
|
|
@@ -120,24 +120,11 @@ var BlockMenuContent = function BlockMenuContent(_ref3) {
|
|
|
120
120
|
testId: "editor-block-menu",
|
|
121
121
|
ref: ref,
|
|
122
122
|
xcss: (0, _css.cx)(styles.base, (0, _experiments.editorExperiment)('platform_synced_block', true) && styles.emptyMenuSectionStyles)
|
|
123
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
elemBefore: undefined,
|
|
129
|
-
elemAfter: undefined
|
|
130
|
-
}, /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItemSection, null, /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, null, "Block Menu Item")));
|
|
131
|
-
},
|
|
132
|
-
section: function section() {
|
|
133
|
-
return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItemSection, null, /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, null, "Block Menu Item"));
|
|
134
|
-
},
|
|
135
|
-
// eslint-disable-next-line @atlassian/i18n/no-literal-string-in-jsx
|
|
136
|
-
item: function item() {
|
|
137
|
-
return /*#__PURE__*/_react.default.createElement(_editorToolbar.ToolbarDropdownItem, null, "Block Menu Item");
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}));
|
|
123
|
+
}, /*#__PURE__*/_react.default.createElement(_uiMenu.ArrowKeyNavigationProvider, {
|
|
124
|
+
type: _uiMenu.ArrowKeyNavigationType.MENU
|
|
125
|
+
}, /*#__PURE__*/_react.default.createElement(_BlockMenuRenderer.BlockMenuRenderer, {
|
|
126
|
+
allRegisteredComponents: blockMenuComponents || []
|
|
127
|
+
})));
|
|
141
128
|
};
|
|
142
129
|
var BlockMenu = function BlockMenu(_ref4) {
|
|
143
130
|
var _editorView$dom, _ref5;
|
package/dist/cjs/ui/copy-link.js
CHANGED
|
@@ -31,24 +31,21 @@ var CopyLinkDropdownItemContent = function CopyLinkDropdownItemContent(_ref) {
|
|
|
31
31
|
var _ref2 = config || {},
|
|
32
32
|
getLinkPath = _ref2.getLinkPath,
|
|
33
33
|
blockLinkHashPrefix = _ref2.blockLinkHashPrefix;
|
|
34
|
-
var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api, ['blockControls', 'selection'
|
|
34
|
+
var _useSharedPluginState = (0, _hooks.useSharedPluginStateWithSelector)(api, ['blockControls', 'selection'], function (_ref3) {
|
|
35
35
|
var blockControlsState = _ref3.blockControlsState,
|
|
36
|
-
selectionState = _ref3.selectionState
|
|
37
|
-
coreState = _ref3.coreState;
|
|
36
|
+
selectionState = _ref3.selectionState;
|
|
38
37
|
return {
|
|
39
38
|
menuTriggerBy: blockControlsState === null || blockControlsState === void 0 ? void 0 : blockControlsState.menuTriggerBy,
|
|
40
39
|
preservedSelection: blockControlsState === null || blockControlsState === void 0 ? void 0 : blockControlsState.preservedSelection,
|
|
41
|
-
defaultSelection: selectionState === null || selectionState === void 0 ? void 0 : selectionState.selection
|
|
42
|
-
schema: coreState === null || coreState === void 0 ? void 0 : coreState.schema
|
|
40
|
+
defaultSelection: selectionState === null || selectionState === void 0 ? void 0 : selectionState.selection
|
|
43
41
|
};
|
|
44
42
|
}),
|
|
45
43
|
preservedSelection = _useSharedPluginState.preservedSelection,
|
|
46
44
|
defaultSelection = _useSharedPluginState.defaultSelection,
|
|
47
|
-
menuTriggerBy = _useSharedPluginState.menuTriggerBy
|
|
48
|
-
schema = _useSharedPluginState.schema;
|
|
45
|
+
menuTriggerBy = _useSharedPluginState.menuTriggerBy;
|
|
49
46
|
var selection = preservedSelection || defaultSelection;
|
|
50
47
|
var handleClick = (0, _react.useCallback)(function () {
|
|
51
|
-
if (!selection
|
|
48
|
+
if (!selection) {
|
|
52
49
|
return;
|
|
53
50
|
}
|
|
54
51
|
api === null || api === void 0 || api.core.actions.execute(function (_ref4) {
|
|
@@ -74,8 +71,7 @@ var CopyLinkDropdownItemContent = function CopyLinkDropdownItemContent(_ref) {
|
|
|
74
71
|
(0, _copyLink.copyLink)({
|
|
75
72
|
getLinkPath: getLinkPath,
|
|
76
73
|
blockLinkHashPrefix: blockLinkHashPrefix,
|
|
77
|
-
selection: selection
|
|
78
|
-
schema: schema
|
|
74
|
+
selection: selection
|
|
79
75
|
}).then(function (success) {
|
|
80
76
|
if (success) {
|
|
81
77
|
api === null || api === void 0 || api.core.actions.execute(function (_ref5) {
|
|
@@ -87,7 +83,7 @@ var CopyLinkDropdownItemContent = function CopyLinkDropdownItemContent(_ref) {
|
|
|
87
83
|
});
|
|
88
84
|
}
|
|
89
85
|
});
|
|
90
|
-
}, [api, blockLinkHashPrefix, getLinkPath, onDropdownOpenChanged,
|
|
86
|
+
}, [api, blockLinkHashPrefix, getLinkPath, onDropdownOpenChanged, selection]);
|
|
91
87
|
|
|
92
88
|
// Hide copy link when `platform_editor_adf_with_localid` feature flag is off or when the node is nested or on empty line
|
|
93
89
|
if (!(0, _platformFeatureFlags.fg)('platform_editor_adf_with_localid') || !!menuTriggerBy && (0, _isNestedNode.isNestedNode)(selection, menuTriggerBy) || selection !== null && selection !== void 0 && selection.empty) {
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.useSuggestedItems = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
8
|
var _hooks = require("@atlaskit/editor-common/hooks");
|
|
9
|
+
var _selection = require("@atlaskit/editor-common/selection");
|
|
9
10
|
var _utils = require("../../editor-commands/transform-node-utils/utils");
|
|
10
11
|
var _suggestedItemsRank = require("../utils/suggested-items-rank");
|
|
11
12
|
var useSuggestedItems = exports.useSuggestedItems = function useSuggestedItems(api) {
|
|
@@ -35,17 +36,23 @@ var useSuggestedItems = exports.useSuggestedItems = function useSuggestedItems(a
|
|
|
35
36
|
if (menuItemsMap.size === 0 || !currentSelection) {
|
|
36
37
|
return [];
|
|
37
38
|
}
|
|
38
|
-
var _expandSelectionToBlo = (0,
|
|
39
|
+
var _expandSelectionToBlo = (0, _selection.expandSelectionToBlockRange)(currentSelection),
|
|
39
40
|
range = _expandSelectionToBlo.range;
|
|
40
41
|
if (!range) {
|
|
41
42
|
return [];
|
|
42
43
|
}
|
|
43
44
|
var blockNodes = (0, _utils.getBlockNodesInRange)(range);
|
|
44
|
-
|
|
45
|
-
if (!singleNode) {
|
|
45
|
+
if (blockNodes.length === 0) {
|
|
46
46
|
return [];
|
|
47
47
|
}
|
|
48
|
-
var
|
|
48
|
+
var firstNodeType = blockNodes[0].type.name;
|
|
49
|
+
var allSameType = blockNodes.every(function (node) {
|
|
50
|
+
return node.type.name === firstNodeType;
|
|
51
|
+
});
|
|
52
|
+
if (!allSameType) {
|
|
53
|
+
return [];
|
|
54
|
+
}
|
|
55
|
+
var nodeTypeName = firstNodeType;
|
|
49
56
|
var sortedKeys = (0, _suggestedItemsRank.getSortedSuggestedItems)(nodeTypeName);
|
|
50
57
|
return sortedKeys.map(function (key) {
|
|
51
58
|
return menuItemsMap.get(key);
|
|
@@ -10,15 +10,15 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
|
|
|
10
10
|
var _blockMenu = require("@atlaskit/editor-common/block-menu");
|
|
11
11
|
var _clipboard = require("@atlaskit/editor-common/clipboard");
|
|
12
12
|
var _monitoring = require("@atlaskit/editor-common/monitoring");
|
|
13
|
-
var
|
|
13
|
+
var _selection = require("@atlaskit/editor-common/selection");
|
|
14
14
|
var copyLink = exports.copyLink = /*#__PURE__*/function () {
|
|
15
15
|
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(_ref) {
|
|
16
|
-
var getLinkPath, _ref$blockLinkHashPre, blockLinkHashPrefix, selection,
|
|
16
|
+
var getLinkPath, _ref$blockLinkHashPre, blockLinkHashPrefix, selection, blockRange, node, path, url, href;
|
|
17
17
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
18
18
|
while (1) switch (_context.prev = _context.next) {
|
|
19
19
|
case 0:
|
|
20
|
-
getLinkPath = _ref.getLinkPath, _ref$blockLinkHashPre = _ref.blockLinkHashPrefix, blockLinkHashPrefix = _ref$blockLinkHashPre === void 0 ? _blockMenu.DEFAULT_BLOCK_LINK_HASH_PREFIX : _ref$blockLinkHashPre, selection = _ref.selection
|
|
21
|
-
blockRange = (0,
|
|
20
|
+
getLinkPath = _ref.getLinkPath, _ref$blockLinkHashPre = _ref.blockLinkHashPrefix, blockLinkHashPrefix = _ref$blockLinkHashPre === void 0 ? _blockMenu.DEFAULT_BLOCK_LINK_HASH_PREFIX : _ref$blockLinkHashPre, selection = _ref.selection;
|
|
21
|
+
blockRange = (0, _selection.expandSelectionToBlockRange)(selection);
|
|
22
22
|
if (blockRange) {
|
|
23
23
|
_context.next = 4;
|
|
24
24
|
break;
|
|
@@ -43,7 +43,7 @@ var BLOCK_MENU_NODE_TYPES = exports.BLOCK_MENU_NODE_TYPES = {
|
|
|
43
43
|
EMBED_CARD: 'embedCard',
|
|
44
44
|
TABLE: 'table'
|
|
45
45
|
};
|
|
46
|
-
var TRANSFORM_SUGGESTED_ITEMS_RANK = exports.TRANSFORM_SUGGESTED_ITEMS_RANK = (_TRANSFORM_SUGGESTED_ = {}, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)(_TRANSFORM_SUGGESTED_, BLOCK_MENU_NODE_TYPES.PARAGRAPH, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _blockMenu.TRANSFORM_STRUCTURE_PANEL_MENU_ITEM.key, 100), _blockMenu.TRANSFORM_HEADINGS_H1_MENU_ITEM.key, 200), _blockMenu.TRANSFORM_HEADINGS_H2_MENU_ITEM.key, 300)), BLOCK_MENU_NODE_TYPES.EXPAND, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _blockMenu.TRANSFORM_STRUCTURE_LAYOUT_MENU_ITEM.key, 100), _blockMenu.TRANSFORM_STRUCTURE_PANEL_MENU_ITEM.key, 200), _blockMenu.TRANSFORM_STRUCTURE_PARAGRAPH_MENU_ITEM.key, 300)), BLOCK_MENU_NODE_TYPES.BLOCKQUOTE, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _blockMenu.TRANSFORM_STRUCTURE_EXPAND_MENU_ITEM.key, 100), _blockMenu.TRANSFORM_STRUCTURE_LAYOUT_MENU_ITEM.key, 200), _blockMenu.TRANSFORM_STRUCTURE_PANEL_MENU_ITEM.key, 300)), BLOCK_MENU_NODE_TYPES.LAYOUT_SECTION, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _blockMenu.TRANSFORM_STRUCTURE_PANEL_MENU_ITEM.key, 100), _blockMenu.TRANSFORM_STRUCTURE_EXPAND_MENU_ITEM.key, 200), _blockMenu.TRANSFORM_STRUCTURE_PARAGRAPH_MENU_ITEM.key, 300)), BLOCK_MENU_NODE_TYPES.PANEL, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _blockMenu.TRANSFORM_STRUCTURE_QUOTE_MENU_ITEM.key, 100), _blockMenu.TRANSFORM_STRUCTURE_CODE_BLOCK_MENU_ITEM.key, 200), _blockMenu.TRANSFORM_STRUCTURE_EXPAND_MENU_ITEM.key, 300)), BLOCK_MENU_NODE_TYPES.CODE_BLOCK, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _blockMenu.TRANSFORM_STRUCTURE_EXPAND_MENU_ITEM.key, 100), _blockMenu.TRANSFORM_STRUCTURE_PANEL_MENU_ITEM.key, 200), _blockMenu.TRANSFORM_STRUCTURE_PARAGRAPH_MENU_ITEM.key, 300)), BLOCK_MENU_NODE_TYPES.DECISION, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _blockMenu.TRANSFORM_STRUCTURE_PANEL_MENU_ITEM.key, 100), _blockMenu.TRANSFORM_STRUCTURE_QUOTE_MENU_ITEM.key, 200), _blockMenu.TRANSFORM_STRUCTURE_LAYOUT_MENU_ITEM.key, 300)), BLOCK_MENU_NODE_TYPES.BULLET_LIST, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _blockMenu.TRANSFORM_STRUCTURE_NUMBERED_LIST_MENU_ITEM.key, 100), _blockMenu.TRANSFORM_STRUCTURE_QUOTE_MENU_ITEM.key, 200), _blockMenu.TRANSFORM_STRUCTURE_PANEL_MENU_ITEM.key, 300)), BLOCK_MENU_NODE_TYPES.ORDERED_LIST, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _blockMenu.TRANSFORM_STRUCTURE_TASK_LIST_MENU_ITEM.key, 100), _blockMenu.TRANSFORM_STRUCTURE_BULLETED_LIST_MENU_ITEM.key, 200), _blockMenu.TRANSFORM_STRUCTURE_PANEL_MENU_ITEM.key, 300)), BLOCK_MENU_NODE_TYPES.HEADING, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _blockMenu.TRANSFORM_STRUCTURE_PARAGRAPH_MENU_ITEM.key, 100), _blockMenu.TRANSFORM_STRUCTURE_BULLETED_LIST_MENU_ITEM.key, 200), _blockMenu.TRANSFORM_STRUCTURE_QUOTE_MENU_ITEM.key, 300)), (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)(
|
|
46
|
+
var TRANSFORM_SUGGESTED_ITEMS_RANK = exports.TRANSFORM_SUGGESTED_ITEMS_RANK = (_TRANSFORM_SUGGESTED_ = {}, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)(_TRANSFORM_SUGGESTED_, BLOCK_MENU_NODE_TYPES.PARAGRAPH, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _blockMenu.TRANSFORM_STRUCTURE_PANEL_MENU_ITEM.key, 100), _blockMenu.TRANSFORM_HEADINGS_H1_MENU_ITEM.key, 200), _blockMenu.TRANSFORM_HEADINGS_H2_MENU_ITEM.key, 300)), BLOCK_MENU_NODE_TYPES.EXPAND, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _blockMenu.TRANSFORM_STRUCTURE_LAYOUT_MENU_ITEM.key, 100), _blockMenu.TRANSFORM_STRUCTURE_PANEL_MENU_ITEM.key, 200), _blockMenu.TRANSFORM_STRUCTURE_PARAGRAPH_MENU_ITEM.key, 300)), BLOCK_MENU_NODE_TYPES.BLOCKQUOTE, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _blockMenu.TRANSFORM_STRUCTURE_EXPAND_MENU_ITEM.key, 100), _blockMenu.TRANSFORM_STRUCTURE_LAYOUT_MENU_ITEM.key, 200), _blockMenu.TRANSFORM_STRUCTURE_PANEL_MENU_ITEM.key, 300)), BLOCK_MENU_NODE_TYPES.LAYOUT_SECTION, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _blockMenu.TRANSFORM_STRUCTURE_PANEL_MENU_ITEM.key, 100), _blockMenu.TRANSFORM_STRUCTURE_EXPAND_MENU_ITEM.key, 200), _blockMenu.TRANSFORM_STRUCTURE_PARAGRAPH_MENU_ITEM.key, 300)), BLOCK_MENU_NODE_TYPES.PANEL, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _blockMenu.TRANSFORM_STRUCTURE_QUOTE_MENU_ITEM.key, 100), _blockMenu.TRANSFORM_STRUCTURE_CODE_BLOCK_MENU_ITEM.key, 200), _blockMenu.TRANSFORM_STRUCTURE_EXPAND_MENU_ITEM.key, 300)), BLOCK_MENU_NODE_TYPES.CODE_BLOCK, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _blockMenu.TRANSFORM_STRUCTURE_EXPAND_MENU_ITEM.key, 100), _blockMenu.TRANSFORM_STRUCTURE_PANEL_MENU_ITEM.key, 200), _blockMenu.TRANSFORM_STRUCTURE_PARAGRAPH_MENU_ITEM.key, 300)), BLOCK_MENU_NODE_TYPES.DECISION, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _blockMenu.TRANSFORM_STRUCTURE_PANEL_MENU_ITEM.key, 100), _blockMenu.TRANSFORM_STRUCTURE_QUOTE_MENU_ITEM.key, 200), _blockMenu.TRANSFORM_STRUCTURE_LAYOUT_MENU_ITEM.key, 300)), BLOCK_MENU_NODE_TYPES.BULLET_LIST, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _blockMenu.TRANSFORM_STRUCTURE_NUMBERED_LIST_MENU_ITEM.key, 100), _blockMenu.TRANSFORM_STRUCTURE_QUOTE_MENU_ITEM.key, 200), _blockMenu.TRANSFORM_STRUCTURE_PANEL_MENU_ITEM.key, 300)), BLOCK_MENU_NODE_TYPES.ORDERED_LIST, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _blockMenu.TRANSFORM_STRUCTURE_TASK_LIST_MENU_ITEM.key, 100), _blockMenu.TRANSFORM_STRUCTURE_BULLETED_LIST_MENU_ITEM.key, 200), _blockMenu.TRANSFORM_STRUCTURE_PANEL_MENU_ITEM.key, 300)), BLOCK_MENU_NODE_TYPES.HEADING, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _blockMenu.TRANSFORM_STRUCTURE_PARAGRAPH_MENU_ITEM.key, 100), _blockMenu.TRANSFORM_STRUCTURE_BULLETED_LIST_MENU_ITEM.key, 200), _blockMenu.TRANSFORM_STRUCTURE_QUOTE_MENU_ITEM.key, 300)), (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)(_TRANSFORM_SUGGESTED_, BLOCK_MENU_NODE_TYPES.TASK_LIST, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _blockMenu.TRANSFORM_STRUCTURE_PANEL_MENU_ITEM.key, 100), _blockMenu.TRANSFORM_STRUCTURE_NUMBERED_LIST_MENU_ITEM.key, 200), _blockMenu.TRANSFORM_STRUCTURE_BULLETED_LIST_MENU_ITEM.key, 300)), BLOCK_MENU_NODE_TYPES.MEDIA_SINGLE, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _blockMenu.TRANSFORM_STRUCTURE_PANEL_MENU_ITEM.key, 100), _blockMenu.TRANSFORM_STRUCTURE_EXPAND_MENU_ITEM.key, 200), _blockMenu.TRANSFORM_STRUCTURE_QUOTE_MENU_ITEM.key, 300)), BLOCK_MENU_NODE_TYPES.EXTENSION, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _blockMenu.TRANSFORM_STRUCTURE_EXPAND_MENU_ITEM.key, 100), _blockMenu.TRANSFORM_STRUCTURE_PANEL_MENU_ITEM.key, 200), _blockMenu.TRANSFORM_STRUCTURE_LAYOUT_MENU_ITEM.key, 300)));
|
|
47
47
|
var getSuggestedItemsForNodeType = exports.getSuggestedItemsForNodeType = function getSuggestedItemsForNodeType(nodeType) {
|
|
48
48
|
return TRANSFORM_SUGGESTED_ITEMS_RANK[nodeType];
|
|
49
49
|
};
|
|
@@ -128,7 +128,8 @@ const TRANSFORM_STEPS_OVERRIDE = {
|
|
|
128
128
|
decisionList: {
|
|
129
129
|
bulletList: [decisionListToListStep],
|
|
130
130
|
orderedList: [decisionListToListStep],
|
|
131
|
-
taskList: [decisionListToListStep]
|
|
131
|
+
taskList: [decisionListToListStep],
|
|
132
|
+
layoutSection: [wrapIntoLayoutStep]
|
|
132
133
|
}
|
|
133
134
|
};
|
|
134
135
|
const getTransformStepsForNodeTypes = (selectedNodeTypeName, targetNodeTypeName) => {
|