@atlaskit/editor-plugin-block-menu 25.1.1 → 25.1.3
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 +12 -0
- package/dist/cjs/editor-actions/isTransformToTargetDisabled.js +5 -5
- package/dist/cjs/editor-actions/transformSourceRegistry.js +3 -3
- package/dist/cjs/editor-commands/transform-analytics.js +12 -12
- package/dist/cjs/editor-commands/transform-node-utils/utils.js +2 -2
- package/dist/cjs/editor-commands/transformNode.js +7 -7
- package/dist/cjs/pm-plugins/experiences/block-menu-experiences.js +43 -38
- package/dist/cjs/pm-plugins/experiences/experience-check-utils.js +3 -3
- package/dist/cjs/pm-plugins/keymap.js +4 -3
- package/dist/cjs/ui/MenuSection.js +2 -2
- package/dist/cjs/ui/block-menu-components.js +48 -48
- package/dist/cjs/ui/block-menu-renderer/fallbacks.js +8 -6
- package/dist/cjs/ui/block-menu.js +28 -26
- package/dist/cjs/ui/copy-link.js +14 -13
- package/dist/cjs/ui/copy-section.js +2 -2
- package/dist/cjs/ui/delete-button.js +17 -17
- package/dist/cjs/ui/delete-section.js +2 -2
- package/dist/cjs/ui/flag.js +4 -4
- package/dist/cjs/ui/format-menu-nested.js +8 -8
- package/dist/cjs/ui/format-menu-section.js +2 -2
- package/dist/cjs/ui/hooks/useSuggestedItems.js +2 -2
- package/dist/cjs/ui/move-down.js +14 -14
- package/dist/cjs/ui/move-up.js +14 -14
- package/dist/cjs/ui/suggested-items-menu-section.js +4 -4
- package/dist/cjs/ui/utils/checkHasPreviousSectionContent.js +4 -4
- package/dist/cjs/ui/utils/copyLink.js +7 -7
- package/dist/cjs/ui/utils/fixBlockMenuPositionAndScroll.js +5 -5
- package/dist/cjs/ui/utils/getSuggestedItemsFromSelection.js +4 -4
- package/dist/cjs/ui/utils/isNestedNode.js +2 -2
- package/dist/cjs/ui/utils/suggested-items-rank.js +1 -2
- package/dist/es2019/editor-actions/isTransformToTargetDisabled.js +1 -1
- package/dist/es2019/editor-actions/transformSourceRegistry.js +1 -1
- package/dist/es2019/editor-commands/transform-analytics.js +2 -2
- package/dist/es2019/editor-commands/transform-node-utils/utils.js +1 -1
- package/dist/es2019/editor-commands/transformNode.js +2 -2
- package/dist/es2019/pm-plugins/experiences/block-menu-experiences.js +8 -3
- package/dist/es2019/pm-plugins/experiences/experience-check-utils.js +1 -1
- package/dist/es2019/pm-plugins/keymap.js +3 -2
- package/dist/es2019/ui/MenuSection.js +1 -1
- package/dist/es2019/ui/block-menu-components.js +4 -4
- package/dist/es2019/ui/block-menu-renderer/fallbacks.js +4 -2
- package/dist/es2019/ui/block-menu.js +10 -8
- package/dist/es2019/ui/copy-link.js +6 -5
- package/dist/es2019/ui/copy-section.js +1 -1
- package/dist/es2019/ui/delete-button.js +5 -5
- package/dist/es2019/ui/delete-section.js +1 -1
- package/dist/es2019/ui/flag.js +2 -2
- package/dist/es2019/ui/format-menu-nested.js +3 -3
- package/dist/es2019/ui/format-menu-section.js +1 -1
- package/dist/es2019/ui/hooks/useSuggestedItems.js +1 -1
- package/dist/es2019/ui/move-down.js +6 -6
- package/dist/es2019/ui/move-up.js +6 -6
- package/dist/es2019/ui/suggested-items-menu-section.js +2 -2
- package/dist/es2019/ui/utils/checkHasPreviousSectionContent.js +1 -1
- package/dist/es2019/ui/utils/copyLink.js +3 -3
- package/dist/es2019/ui/utils/fixBlockMenuPositionAndScroll.js +2 -2
- package/dist/es2019/ui/utils/getSuggestedItemsFromSelection.js +1 -1
- package/dist/es2019/ui/utils/isNestedNode.js +1 -1
- package/dist/es2019/ui/utils/suggested-items-rank.js +1 -2
- package/dist/esm/editor-actions/isTransformToTargetDisabled.js +1 -1
- package/dist/esm/editor-actions/transformSourceRegistry.js +1 -1
- package/dist/esm/editor-commands/transform-analytics.js +2 -2
- package/dist/esm/editor-commands/transform-node-utils/utils.js +1 -1
- package/dist/esm/editor-commands/transformNode.js +2 -2
- package/dist/esm/pm-plugins/experiences/block-menu-experiences.js +8 -3
- package/dist/esm/pm-plugins/experiences/experience-check-utils.js +1 -1
- package/dist/esm/pm-plugins/keymap.js +3 -2
- package/dist/esm/ui/MenuSection.js +1 -1
- package/dist/esm/ui/block-menu-components.js +4 -4
- package/dist/esm/ui/block-menu-renderer/fallbacks.js +4 -2
- package/dist/esm/ui/block-menu.js +10 -8
- package/dist/esm/ui/copy-link.js +6 -5
- package/dist/esm/ui/copy-section.js +1 -1
- package/dist/esm/ui/delete-button.js +5 -5
- package/dist/esm/ui/delete-section.js +1 -1
- package/dist/esm/ui/flag.js +2 -2
- package/dist/esm/ui/format-menu-nested.js +3 -3
- package/dist/esm/ui/format-menu-section.js +1 -1
- package/dist/esm/ui/hooks/useSuggestedItems.js +1 -1
- package/dist/esm/ui/move-down.js +6 -6
- package/dist/esm/ui/move-up.js +6 -6
- package/dist/esm/ui/suggested-items-menu-section.js +2 -2
- package/dist/esm/ui/utils/checkHasPreviousSectionContent.js +1 -1
- package/dist/esm/ui/utils/copyLink.js +3 -3
- package/dist/esm/ui/utils/fixBlockMenuPositionAndScroll.js +2 -2
- package/dist/esm/ui/utils/getSuggestedItemsFromSelection.js +1 -1
- package/dist/esm/ui/utils/isNestedNode.js +1 -1
- package/dist/esm/ui/utils/suggested-items-rank.js +1 -2
- package/dist/types/blockMenuPluginType.d.ts +7 -6
- package/dist/types/editor-commands/transform-analytics.d.ts +1 -1
- package/dist/types/editor-commands/transformInlineNode.d.ts +2 -1
- package/dist/types/editor-commands/transformNode.d.ts +2 -1
- package/dist/types/editor-commands/types.d.ts +1 -1
- package/dist/types/pm-plugins/experiences/block-menu-experiences.d.ts +1 -1
- package/dist/types/pm-plugins/experiences/experience-check-utils.d.ts +1 -1
- package/dist/types/pm-plugins/keymap.d.ts +1 -1
- package/dist/types/pm-plugins/main.d.ts +1 -1
- package/dist/types/ui/block-menu-components.d.ts +1 -1
- package/dist/types/ui/block-menu-provider.d.ts +1 -1
- package/dist/types/ui/block-menu.d.ts +1 -1
- package/dist/types/ui/copy-link.d.ts +1 -1
- package/dist/types/ui/delete-button.d.ts +1 -1
- package/dist/types/ui/flag.d.ts +1 -1
- package/dist/types/ui/format-menu-nested.d.ts +1 -1
- package/dist/types/ui/format-menu-section.d.ts +1 -1
- package/dist/types/ui/hooks/useSuggestedItems.d.ts +1 -1
- package/dist/types/ui/move-down.d.ts +1 -1
- package/dist/types/ui/move-up.d.ts +1 -1
- package/dist/types/ui/suggested-items-menu-section.d.ts +1 -1
- package/dist/types/ui/suggested-menu-items.d.ts +1 -1
- package/dist/types/ui/utils/checkHasPreviousSectionContent.d.ts +1 -1
- package/dist/types/ui/utils/checkIsFormatMenuHidden.d.ts +1 -1
- package/dist/types/ui/utils/createMenuItemsMap.d.ts +1 -1
- package/docs/0-intro.tsx +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.isTransformToTargetDisabled = exports.canParentContainNodeType = void 0;
|
|
8
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
-
var
|
|
9
|
+
var _utils = require("@atlaskit/editor-common/selection/utils");
|
|
10
10
|
var _model = require("@atlaskit/editor-prosemirror/model");
|
|
11
11
|
var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
|
|
12
12
|
var _transform = require("../editor-commands/transform-node-utils/transform");
|
|
13
13
|
var _types = require("../editor-commands/transform-node-utils/types");
|
|
14
|
-
var
|
|
14
|
+
var _utils2 = require("../editor-commands/transform-node-utils/utils");
|
|
15
15
|
var _transformSource = require("./transformSource");
|
|
16
16
|
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; } } }; }
|
|
17
17
|
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; } }
|
|
@@ -48,7 +48,7 @@ var getTargetMarks = function getTargetMarks(schema, currentMarks, marksToAdd, m
|
|
|
48
48
|
return targetMarks;
|
|
49
49
|
};
|
|
50
50
|
var canParentContainNodeType = exports.canParentContainNodeType = function canParentContainNodeType(schema, selectedNodeTypeName, parentNode, nodeTypeName, nodeTypeAttrs, selectedNode, marksToAdd, marksToRemove) {
|
|
51
|
-
var adjustedNodeTypeName = (0,
|
|
51
|
+
var adjustedNodeTypeName = (0, _utils2.getTargetNodeTypeNameInContext)(nodeTypeName, true, parentNode, schema);
|
|
52
52
|
if (!adjustedNodeTypeName) {
|
|
53
53
|
return false;
|
|
54
54
|
}
|
|
@@ -118,7 +118,7 @@ var isTransformToTargetDisabled = exports.isTransformToTargetDisabled = function
|
|
|
118
118
|
targetNodeTypeAttrs = _ref3.targetNodeTypeAttrs,
|
|
119
119
|
targetNodeMarkChanges = _ref3.targetNodeMarkChanges,
|
|
120
120
|
transformRegistry = _ref3.transformRegistry;
|
|
121
|
-
var _expandSelectionToBlo = (0,
|
|
121
|
+
var _expandSelectionToBlo = (0, _utils.expandSelectionToBlockRange)(selection),
|
|
122
122
|
range = _expandSelectionToBlo.range;
|
|
123
123
|
if (!range) {
|
|
124
124
|
return false;
|
|
@@ -131,7 +131,7 @@ var isTransformToTargetDisabled = exports.isTransformToTargetDisabled = function
|
|
|
131
131
|
targetTypeName: targetNodeTypeName
|
|
132
132
|
})) === null || _transformRegistry$re === void 0 ? void 0 : _transformRegistry$re.status) !== 'supported';
|
|
133
133
|
}
|
|
134
|
-
var selectedNodes = (0,
|
|
134
|
+
var selectedNodes = (0, _utils2.getBlockNodesInRange)(range);
|
|
135
135
|
var parent = range.parent;
|
|
136
136
|
var isNested = range.depth >= 1;
|
|
137
137
|
var schema = selection.$from.doc.type.schema;
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.createBlockMenuTransformSourceRegistry = void 0;
|
|
7
|
-
var
|
|
7
|
+
var _error = require("@atlaskit/editor-common/monitoring/error");
|
|
8
8
|
var createBlockMenuTransformSourceRegistry = exports.createBlockMenuTransformSourceRegistry = function createBlockMenuTransformSourceRegistry() {
|
|
9
9
|
var transforms = new Map();
|
|
10
10
|
return {
|
|
@@ -12,7 +12,7 @@ var createBlockMenuTransformSourceRegistry = exports.createBlockMenuTransformSou
|
|
|
12
12
|
var registered = [];
|
|
13
13
|
registeredTransforms.forEach(function (transform) {
|
|
14
14
|
if (transforms.has(transform.key)) {
|
|
15
|
-
void (0,
|
|
15
|
+
void (0, _error.logException)(new Error("Duplicate Block Menu transform key: ".concat(transform.key)), {
|
|
16
16
|
location: 'editor-plugin-block-menu'
|
|
17
17
|
});
|
|
18
18
|
return;
|
|
@@ -37,7 +37,7 @@ var createBlockMenuTransformSourceRegistry = exports.createBlockMenuTransformSou
|
|
|
37
37
|
try {
|
|
38
38
|
return isSupported(context);
|
|
39
39
|
} catch (error) {
|
|
40
|
-
void (0,
|
|
40
|
+
void (0, _error.logException)(error instanceof Error ? error : new Error('Block Menu transform support check failed'), {
|
|
41
41
|
location: 'editor-plugin-block-menu'
|
|
42
42
|
});
|
|
43
43
|
return false;
|
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.createTransformAnalytics = void 0;
|
|
7
|
-
var
|
|
8
|
-
var
|
|
7
|
+
var _enums = require("@atlaskit/editor-common/analytics/types/enums");
|
|
8
|
+
var _error = require("@atlaskit/editor-common/monitoring/error");
|
|
9
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
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
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; }
|
|
@@ -41,8 +41,8 @@ var createTransformAnalytics = exports.createTransformAnalytics = function creat
|
|
|
41
41
|
sourceNodes = _ref.sourceNodes,
|
|
42
42
|
targetNodeType = _ref.targetNodeType;
|
|
43
43
|
api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 || (_api$analytics = _api$analytics.actions) === null || _api$analytics === void 0 || _api$analytics.attachAnalyticsEvent({
|
|
44
|
-
action:
|
|
45
|
-
actionSubject:
|
|
44
|
+
action: _enums.ACTION.TRANSFORMED,
|
|
45
|
+
actionSubject: _enums.ACTION_SUBJECT.ELEMENT,
|
|
46
46
|
attributes: {
|
|
47
47
|
duration: duration,
|
|
48
48
|
isEmptyLine: isEmptyLine,
|
|
@@ -54,27 +54,27 @@ var createTransformAnalytics = exports.createTransformAnalytics = function creat
|
|
|
54
54
|
sourceNodesCountByType: sourceNodesCountByType(sourceNodes),
|
|
55
55
|
startTime: startTime,
|
|
56
56
|
targetNodeType: targetNodeType,
|
|
57
|
-
inputMethod:
|
|
57
|
+
inputMethod: _enums.INPUT_METHOD.BLOCK_MENU
|
|
58
58
|
},
|
|
59
|
-
eventType:
|
|
59
|
+
eventType: _enums.EVENT_TYPE.TRACK
|
|
60
60
|
})(tr);
|
|
61
61
|
},
|
|
62
62
|
errored: function errored(error, sourceNodes, to) {
|
|
63
63
|
var _api$analytics2;
|
|
64
|
-
(0,
|
|
64
|
+
(0, _error.logException)(error, {
|
|
65
65
|
location: 'editor-plugin-block-menu'
|
|
66
66
|
});
|
|
67
67
|
api === null || api === void 0 || (_api$analytics2 = api.analytics) === null || _api$analytics2 === void 0 || (_api$analytics2 = _api$analytics2.actions) === null || _api$analytics2 === void 0 || _api$analytics2.attachAnalyticsEvent({
|
|
68
|
-
action:
|
|
69
|
-
actionSubject:
|
|
70
|
-
actionSubjectId:
|
|
71
|
-
eventType:
|
|
68
|
+
action: _enums.ACTION.ERRORED,
|
|
69
|
+
actionSubject: _enums.ACTION_SUBJECT.ELEMENT,
|
|
70
|
+
actionSubjectId: _enums.ACTION_SUBJECT_ID.TRANSFORM,
|
|
71
|
+
eventType: _enums.EVENT_TYPE.OPERATIONAL,
|
|
72
72
|
attributes: {
|
|
73
73
|
docSize: tr.doc.nodeSize,
|
|
74
74
|
error: error.message,
|
|
75
75
|
errorStack: error.stack,
|
|
76
76
|
from: sourceTypeName(sourceNodes),
|
|
77
|
-
inputMethod:
|
|
77
|
+
inputMethod: _enums.INPUT_METHOD.BLOCK_MENU,
|
|
78
78
|
selection: selection.toJSON(),
|
|
79
79
|
to: to
|
|
80
80
|
}
|
|
@@ -7,7 +7,7 @@ exports.isTextNode = exports.isListNode = exports.getTargetNodeTypeNameInContext
|
|
|
7
7
|
var _nodeTypeUtils = require("@atlaskit/editor-common/utils/node-type-utils");
|
|
8
8
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
9
9
|
var _utils = require("@atlaskit/editor-prosemirror/utils");
|
|
10
|
-
var
|
|
10
|
+
var _cellSelection = require("@atlaskit/editor-tables/cell-selection");
|
|
11
11
|
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
12
12
|
var _types = require("./types");
|
|
13
13
|
/**
|
|
@@ -31,7 +31,7 @@ var getSelectedNode = exports.getSelectedNode = function getSelectedNode(selecti
|
|
|
31
31
|
depth: selection.$from.depth
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
|
-
if (selection instanceof
|
|
34
|
+
if (selection instanceof _cellSelection.CellSelection) {
|
|
35
35
|
var tableSelected = (0, _utils.findParentNodeOfType)(selection.$from.doc.type.schema.nodes.table)(selection);
|
|
36
36
|
return tableSelected;
|
|
37
37
|
}
|
|
@@ -6,18 +6,18 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.transformNode = void 0;
|
|
7
7
|
var _expand2 = require("@atlaskit/editor-common/expand");
|
|
8
8
|
var _performanceMeasures = require("@atlaskit/editor-common/performance-measures");
|
|
9
|
-
var
|
|
9
|
+
var _utils = require("@atlaskit/editor-common/selection/utils");
|
|
10
10
|
var _model = require("@atlaskit/editor-prosemirror/model");
|
|
11
11
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
12
12
|
var _transform = require("@atlaskit/editor-prosemirror/transform");
|
|
13
|
-
var
|
|
13
|
+
var _cellSelection = require("@atlaskit/editor-tables/cell-selection");
|
|
14
14
|
var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
|
|
15
15
|
var _transformSource = require("../editor-actions/transformSource");
|
|
16
16
|
var _isNestedNode = require("../ui/utils/isNestedNode");
|
|
17
17
|
var _isEmptyLine = require("./is-empty-line");
|
|
18
18
|
var _transformAnalytics = require("./transform-analytics");
|
|
19
19
|
var _transform2 = require("./transform-node-utils/transform");
|
|
20
|
-
var
|
|
20
|
+
var _utils2 = require("./transform-node-utils/utils");
|
|
21
21
|
var transformNode = exports.transformNode = function transformNode(api, transformRegistry) {
|
|
22
22
|
return function (targetType, metadata) {
|
|
23
23
|
return function (_ref) {
|
|
@@ -33,7 +33,7 @@ var transformNode = exports.transformNode = function transformNode(api, transfor
|
|
|
33
33
|
return null;
|
|
34
34
|
}
|
|
35
35
|
var analytics = (0, _transformAnalytics.createTransformAnalytics)(api, tr, preservedSelection);
|
|
36
|
-
var _expandSelectionToBlo = (0,
|
|
36
|
+
var _expandSelectionToBlo = (0, _utils.expandSelectionToBlockRange)(preservedSelection),
|
|
37
37
|
$from = _expandSelectionToBlo.$from,
|
|
38
38
|
$to = _expandSelectionToBlo.$to,
|
|
39
39
|
range = _expandSelectionToBlo.range;
|
|
@@ -111,8 +111,8 @@ var transformNode = exports.transformNode = function transformNode(api, transfor
|
|
|
111
111
|
var selectedParent = $from.parent;
|
|
112
112
|
var isParentLayout = selectedParent.type === nodes.layoutColumn;
|
|
113
113
|
var isNested = (0, _isNestedNode.isNestedNode)(preservedSelection, '') && !isParentLayout;
|
|
114
|
-
var isList = (0,
|
|
115
|
-
var sourceNodes = (0,
|
|
114
|
+
var isList = (0, _utils2.isListNode)(selectedParent);
|
|
115
|
+
var sourceNodes = (0, _utils.getSourceNodesFromSelectionRange)(tr, preservedSelection);
|
|
116
116
|
var isSuggested = Boolean(metadata === null || metadata === void 0 ? void 0 : metadata.isSuggested);
|
|
117
117
|
try {
|
|
118
118
|
var _api$blockControls6;
|
|
@@ -165,7 +165,7 @@ var transformNode = exports.transformNode = function transformNode(api, transfor
|
|
|
165
165
|
(0, _performanceMeasures.stopMeasure)(measureId);
|
|
166
166
|
return null;
|
|
167
167
|
}
|
|
168
|
-
if (preservedSelection instanceof
|
|
168
|
+
if (preservedSelection instanceof _cellSelection.CellSelection) {
|
|
169
169
|
var _insertedNode = tr.doc.nodeAt($from.pos);
|
|
170
170
|
var isSelectable = _insertedNode && _state.NodeSelection.isSelectable(_insertedNode);
|
|
171
171
|
if (isSelectable) {
|
|
@@ -7,9 +7,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.getBlockMenuExperiencesPlugin = void 0;
|
|
8
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
9
|
var _bindEventListener = require("bind-event-listener");
|
|
10
|
-
var
|
|
11
|
-
var
|
|
10
|
+
var _enums = require("@atlaskit/editor-common/analytics/types/enums");
|
|
11
|
+
var _key = require("@atlaskit/editor-common/block-menu/key");
|
|
12
12
|
var _experiences = require("@atlaskit/editor-common/experiences");
|
|
13
|
+
var _consts = require("@atlaskit/editor-common/experiences/consts");
|
|
14
|
+
var _Experience = require("@atlaskit/editor-common/experiences/Experience");
|
|
15
|
+
var _ExperienceCheckDomMutation = require("@atlaskit/editor-common/experiences/ExperienceCheckDomMutation");
|
|
16
|
+
var _ExperienceCheckPopupMutation = require("@atlaskit/editor-common/experiences/ExperienceCheckPopupMutation");
|
|
17
|
+
var _ExperienceCheckTimeout = require("@atlaskit/editor-common/experiences/ExperienceCheckTimeout");
|
|
13
18
|
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
14
19
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
15
20
|
var _experienceCheckUtils = require("./experience-check-utils");
|
|
@@ -46,13 +51,13 @@ var getBlockMenuExperiencesPlugin = exports.getBlockMenuExperiencesPlugin = func
|
|
|
46
51
|
}
|
|
47
52
|
return null;
|
|
48
53
|
};
|
|
49
|
-
var blockMenuOpenExperience = new
|
|
50
|
-
actionSubjectId:
|
|
54
|
+
var blockMenuOpenExperience = new _Experience.Experience(_consts.EXPERIENCE_ID.MENU_OPEN, {
|
|
55
|
+
actionSubjectId: _enums.ACTION_SUBJECT_ID.BLOCK_MENU,
|
|
51
56
|
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
52
|
-
checks: [new
|
|
57
|
+
checks: [new _ExperienceCheckTimeout.ExperienceCheckTimeout({
|
|
53
58
|
durationMs: TIMEOUT_DURATION
|
|
54
|
-
}), new
|
|
55
|
-
nestedElementQuery: "[data-testid=\"".concat(
|
|
59
|
+
}), new _ExperienceCheckPopupMutation.ExperienceCheckPopupMutation({
|
|
60
|
+
nestedElementQuery: "[data-testid=\"".concat(_key.BLOCK_MENU_TEST_ID, "\"]"),
|
|
56
61
|
getTarget: getPopupsTarget,
|
|
57
62
|
type: 'editorContent'
|
|
58
63
|
})]
|
|
@@ -73,60 +78,60 @@ var getBlockMenuExperiencesPlugin = exports.getBlockMenuExperiencesPlugin = func
|
|
|
73
78
|
}
|
|
74
79
|
}] : []));
|
|
75
80
|
};
|
|
76
|
-
var blockMoveUpExperience = new
|
|
77
|
-
action:
|
|
78
|
-
actionSubjectId:
|
|
81
|
+
var blockMoveUpExperience = new _Experience.Experience(_consts.EXPERIENCE_ID.MENU_ACTION, {
|
|
82
|
+
action: _enums.ACTION.MOVED,
|
|
83
|
+
actionSubjectId: _enums.ACTION_SUBJECT_ID.MOVE_UP_BLOCK,
|
|
79
84
|
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
80
|
-
checks: [new
|
|
85
|
+
checks: [new _ExperienceCheckTimeout.ExperienceCheckTimeout({
|
|
81
86
|
durationMs: TIMEOUT_DURATION
|
|
82
|
-
}), new
|
|
87
|
+
}), new _ExperienceCheckDomMutation.ExperienceCheckDomMutation({
|
|
83
88
|
onDomMutation: _experienceCheckUtils.handleMoveDomMutation,
|
|
84
89
|
observeConfig: observeConfigs
|
|
85
90
|
})]
|
|
86
91
|
});
|
|
87
|
-
var blockMoveDownExperience = new
|
|
88
|
-
action:
|
|
89
|
-
actionSubjectId:
|
|
92
|
+
var blockMoveDownExperience = new _Experience.Experience(_consts.EXPERIENCE_ID.MENU_ACTION, {
|
|
93
|
+
action: _enums.ACTION.MOVED,
|
|
94
|
+
actionSubjectId: _enums.ACTION_SUBJECT_ID.MOVE_DOWN_BLOCK,
|
|
90
95
|
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
91
|
-
checks: [new
|
|
96
|
+
checks: [new _ExperienceCheckTimeout.ExperienceCheckTimeout({
|
|
92
97
|
durationMs: TIMEOUT_DURATION
|
|
93
|
-
}), new
|
|
98
|
+
}), new _ExperienceCheckDomMutation.ExperienceCheckDomMutation({
|
|
94
99
|
onDomMutation: _experienceCheckUtils.handleMoveDomMutation,
|
|
95
100
|
observeConfig: observeConfigs
|
|
96
101
|
})]
|
|
97
102
|
});
|
|
98
|
-
var blockDeleteExperience = new
|
|
99
|
-
action:
|
|
100
|
-
actionSubjectId:
|
|
103
|
+
var blockDeleteExperience = new _Experience.Experience(_consts.EXPERIENCE_ID.MENU_ACTION, {
|
|
104
|
+
action: _enums.ACTION.DELETED,
|
|
105
|
+
actionSubjectId: _enums.ACTION_SUBJECT_ID.DELETE_BLOCK,
|
|
101
106
|
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
102
|
-
checks: [new
|
|
107
|
+
checks: [new _ExperienceCheckTimeout.ExperienceCheckTimeout({
|
|
103
108
|
durationMs: TIMEOUT_DURATION
|
|
104
|
-
}), new
|
|
109
|
+
}), new _ExperienceCheckDomMutation.ExperienceCheckDomMutation({
|
|
105
110
|
onDomMutation: _experienceCheckUtils.handleDeleteDomMutation,
|
|
106
111
|
observeConfig: observeConfigs
|
|
107
|
-
}), new
|
|
112
|
+
}), new _ExperienceCheckPopupMutation.ExperienceCheckPopupMutation({
|
|
108
113
|
nestedElementQuery: "[data-testid=\"".concat(PORTAL_TEST_ID.SYNC_BLOCK_DELETE_CONFIRMATION, "\"]"),
|
|
109
114
|
type: 'portalRoot'
|
|
110
115
|
})]
|
|
111
116
|
});
|
|
112
|
-
var blockTransformExperience = new
|
|
113
|
-
action:
|
|
114
|
-
actionSubjectId:
|
|
117
|
+
var blockTransformExperience = new _Experience.Experience(_consts.EXPERIENCE_ID.MENU_ACTION, {
|
|
118
|
+
action: _enums.ACTION.TRANSFORMED,
|
|
119
|
+
actionSubjectId: _enums.ACTION_SUBJECT_ID.TRANSFORM_BLOCK,
|
|
115
120
|
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
116
|
-
checks: [new
|
|
121
|
+
checks: [new _ExperienceCheckTimeout.ExperienceCheckTimeout({
|
|
117
122
|
durationMs: TIMEOUT_DURATION
|
|
118
|
-
}), new
|
|
123
|
+
}), new _ExperienceCheckDomMutation.ExperienceCheckDomMutation({
|
|
119
124
|
onDomMutation: _experienceCheckUtils.handleTransformDomMutation,
|
|
120
125
|
observeConfig: observeConfigs
|
|
121
126
|
})]
|
|
122
127
|
});
|
|
123
|
-
var blockCopyLinkExperience = new
|
|
124
|
-
action:
|
|
125
|
-
actionSubjectId:
|
|
128
|
+
var blockCopyLinkExperience = new _Experience.Experience(_consts.EXPERIENCE_ID.MENU_ACTION, {
|
|
129
|
+
action: _enums.ACTION.COPIED,
|
|
130
|
+
actionSubjectId: _enums.ACTION_SUBJECT_ID.COPY_LINK_TO_BLOCK,
|
|
126
131
|
dispatchAnalyticsEvent: dispatchAnalyticsEvent,
|
|
127
|
-
checks: [new
|
|
132
|
+
checks: [new _ExperienceCheckTimeout.ExperienceCheckTimeout({
|
|
128
133
|
durationMs: TIMEOUT_DURATION
|
|
129
|
-
}), new
|
|
134
|
+
}), new _ExperienceCheckPopupMutation.ExperienceCheckPopupMutation({
|
|
130
135
|
nestedElementQuery: "[data-testid=\"".concat(PORTAL_TEST_ID.LINK_COPIED_TO_CLIPBOARD, "\"]"),
|
|
131
136
|
type: 'portalRoot'
|
|
132
137
|
})]
|
|
@@ -144,7 +149,7 @@ var getBlockMenuExperiencesPlugin = exports.getBlockMenuExperiencesPlugin = func
|
|
|
144
149
|
if (!target.closest('[data-testid="editor-turn-into-menu--content"]') ||
|
|
145
150
|
// Skip experience tracking when the clicked item is an extension menu item
|
|
146
151
|
// (e.g. Jira macro, etc.) - they don't perform block transforms
|
|
147
|
-
target.closest("[data-testid=\"".concat(
|
|
152
|
+
target.closest("[data-testid=\"".concat(_key.EXTENSION_MENU_ITEM_TEST_ID, "\"]"))) {
|
|
148
153
|
return false;
|
|
149
154
|
}
|
|
150
155
|
var turnIntoButton = target.closest('button');
|
|
@@ -166,16 +171,16 @@ var getBlockMenuExperiencesPlugin = exports.getBlockMenuExperiencesPlugin = func
|
|
|
166
171
|
return;
|
|
167
172
|
}
|
|
168
173
|
switch (testId) {
|
|
169
|
-
case
|
|
174
|
+
case _key.BLOCK_MENU_ACTION_TEST_ID.MOVE_UP:
|
|
170
175
|
blockMoveUpExperience.start();
|
|
171
176
|
break;
|
|
172
|
-
case
|
|
177
|
+
case _key.BLOCK_MENU_ACTION_TEST_ID.MOVE_DOWN:
|
|
173
178
|
blockMoveDownExperience.start();
|
|
174
179
|
break;
|
|
175
|
-
case
|
|
180
|
+
case _key.BLOCK_MENU_ACTION_TEST_ID.DELETE:
|
|
176
181
|
blockDeleteExperience.start();
|
|
177
182
|
break;
|
|
178
|
-
case
|
|
183
|
+
case _key.BLOCK_MENU_ACTION_TEST_ID.COPY_LINK:
|
|
179
184
|
blockCopyLinkExperience.start();
|
|
180
185
|
break;
|
|
181
186
|
}
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.isDragHandleElement = exports.isBlockMenuVisible = exports.handleTransformDomMutation = exports.handleMoveDomMutation = exports.handleMenuOpenDomMutation = exports.handleDeleteDomMutation = void 0;
|
|
8
8
|
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
-
var
|
|
9
|
+
var _key = require("@atlaskit/editor-common/block-menu/key");
|
|
10
10
|
var _experiences = require("@atlaskit/editor-common/experiences");
|
|
11
11
|
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; } } }; }
|
|
12
12
|
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; } }
|
|
@@ -31,7 +31,7 @@ var isBlockMenuVisible = exports.isBlockMenuVisible = function isBlockMenuVisibl
|
|
|
31
31
|
if (!popupsTarget) {
|
|
32
32
|
return false;
|
|
33
33
|
}
|
|
34
|
-
return (0, _experiences.popupWithNestedElement)(popupsTarget, "[data-testid=\"".concat(
|
|
34
|
+
return (0, _experiences.popupWithNestedElement)(popupsTarget, "[data-testid=\"".concat(_key.BLOCK_MENU_TEST_ID, "\"]")) !== null;
|
|
35
35
|
};
|
|
36
36
|
var isBlockMenuAddedInMutation = function isBlockMenuAddedInMutation(_ref) {
|
|
37
37
|
var type = _ref.type,
|
|
@@ -39,7 +39,7 @@ var isBlockMenuAddedInMutation = function isBlockMenuAddedInMutation(_ref) {
|
|
|
39
39
|
return type === 'childList' && (0, _toConsumableArray2.default)(addedNodes).some(isBlockMenuWithinNode);
|
|
40
40
|
};
|
|
41
41
|
var isBlockMenuWithinNode = function isBlockMenuWithinNode(node) {
|
|
42
|
-
return (0, _experiences.popupWithNestedElement)(node, "[data-testid=\"".concat(
|
|
42
|
+
return (0, _experiences.popupWithNestedElement)(node, "[data-testid=\"".concat(_key.BLOCK_MENU_TEST_ID, "\"]")) !== null;
|
|
43
43
|
};
|
|
44
44
|
|
|
45
45
|
/**
|
|
@@ -4,8 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.keymapPlugin = keymapPlugin;
|
|
7
|
+
var _keymap = require("@atlaskit/editor-common/keymap");
|
|
7
8
|
var _keymaps = require("@atlaskit/editor-common/keymaps");
|
|
8
|
-
var
|
|
9
|
+
var _utils = require("@atlaskit/editor-common/selection/utils");
|
|
9
10
|
var _blockMenuPluginType = require("../blockMenuPluginType");
|
|
10
11
|
var _main = require("../pm-plugins/main");
|
|
11
12
|
var _copyLink = require("../ui/utils/copyLink");
|
|
@@ -25,7 +26,7 @@ function keymapPlugin(api, config) {
|
|
|
25
26
|
}
|
|
26
27
|
|
|
27
28
|
// Check if the selection has a valid block range with localId
|
|
28
|
-
var blockRange = (0,
|
|
29
|
+
var blockRange = (0, _utils.expandSelectionToBlockRange)(selection);
|
|
29
30
|
if (!blockRange) {
|
|
30
31
|
return false;
|
|
31
32
|
}
|
|
@@ -56,5 +57,5 @@ function keymapPlugin(api, config) {
|
|
|
56
57
|
(0, _keymaps.bindKeymapWithCommand)(
|
|
57
58
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
58
59
|
_keymaps.copyLinkToBlock.common, copyLinkToBlockCommand, list);
|
|
59
|
-
return (0,
|
|
60
|
+
return (0, _keymap.keymap)(list);
|
|
60
61
|
}
|
|
@@ -7,14 +7,14 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.MenuSection = void 0;
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _reactIntl = require("react-intl");
|
|
10
|
-
var
|
|
10
|
+
var _toolbarDropdownItemSection = require("@atlaskit/editor-toolbar/toolbar-dropdown-item-section");
|
|
11
11
|
var MenuSection = exports.MenuSection = function MenuSection(_ref) {
|
|
12
12
|
var children = _ref.children,
|
|
13
13
|
title = _ref.title,
|
|
14
14
|
hasSeparator = _ref.hasSeparator;
|
|
15
15
|
var _useIntl = (0, _reactIntl.useIntl)(),
|
|
16
16
|
formatMessage = _useIntl.formatMessage;
|
|
17
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
17
|
+
return /*#__PURE__*/_react.default.createElement(_toolbarDropdownItemSection.ToolbarDropdownItemSection, {
|
|
18
18
|
title: formatMessage(title),
|
|
19
19
|
hasSeparator: hasSeparator
|
|
20
20
|
}, children);
|