@atlaskit/editor-plugin-block-controls 6.2.0 → 6.3.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 +19 -0
- package/dist/cjs/pm-plugins/decorations-anchor.js +7 -3
- package/dist/cjs/pm-plugins/decorations-drop-target-active.js +2 -1
- package/dist/cjs/pm-plugins/decorations-quick-insert-button.js +5 -7
- package/dist/cjs/pm-plugins/handle-mouse-over.js +36 -12
- package/dist/cjs/pm-plugins/main.js +3 -2
- package/dist/cjs/pm-plugins/quick-insert-calculate-position.js +2 -1
- package/dist/cjs/pm-plugins/utils/anchor-utils.js +3 -2
- package/dist/cjs/ui/block-menu.js +3 -2
- package/dist/cjs/ui/drag-handle.js +14 -12
- package/dist/cjs/ui/drop-target-layout.js +4 -2
- package/dist/cjs/ui/drop-target.js +20 -6
- package/dist/cjs/ui/global-styles.js +96 -1
- package/dist/cjs/ui/inline-drop-target.js +39 -5
- package/dist/cjs/ui/quick-insert-button.js +3 -2
- package/dist/cjs/ui/utils/anchor-name.js +4 -0
- package/dist/cjs/ui/utils/dom-attr-name.js +53 -0
- package/dist/es2019/pm-plugins/decorations-anchor.js +7 -3
- package/dist/es2019/pm-plugins/decorations-drop-target-active.js +2 -1
- package/dist/es2019/pm-plugins/decorations-quick-insert-button.js +5 -7
- package/dist/es2019/pm-plugins/handle-mouse-over.js +30 -12
- package/dist/es2019/pm-plugins/main.js +3 -2
- package/dist/es2019/pm-plugins/quick-insert-calculate-position.js +2 -1
- package/dist/es2019/pm-plugins/utils/anchor-utils.js +3 -2
- package/dist/es2019/ui/block-menu.js +3 -2
- package/dist/es2019/ui/drag-handle.js +14 -12
- package/dist/es2019/ui/drop-target-layout.js +4 -2
- package/dist/es2019/ui/drop-target.js +20 -6
- package/dist/es2019/ui/global-styles.js +131 -1
- package/dist/es2019/ui/inline-drop-target.js +39 -5
- package/dist/es2019/ui/quick-insert-button.js +4 -3
- package/dist/es2019/ui/utils/anchor-name.js +4 -0
- package/dist/es2019/ui/utils/dom-attr-name.js +47 -0
- package/dist/esm/pm-plugins/decorations-anchor.js +7 -3
- package/dist/esm/pm-plugins/decorations-drop-target-active.js +2 -1
- package/dist/esm/pm-plugins/decorations-quick-insert-button.js +5 -7
- package/dist/esm/pm-plugins/handle-mouse-over.js +35 -12
- package/dist/esm/pm-plugins/main.js +3 -2
- package/dist/esm/pm-plugins/quick-insert-calculate-position.js +2 -1
- package/dist/esm/pm-plugins/utils/anchor-utils.js +3 -2
- package/dist/esm/ui/block-menu.js +3 -2
- package/dist/esm/ui/drag-handle.js +14 -12
- package/dist/esm/ui/drop-target-layout.js +4 -2
- package/dist/esm/ui/drop-target.js +20 -6
- package/dist/esm/ui/global-styles.js +96 -1
- package/dist/esm/ui/inline-drop-target.js +39 -5
- package/dist/esm/ui/quick-insert-button.js +4 -3
- package/dist/esm/ui/utils/anchor-name.js +4 -0
- package/dist/esm/ui/utils/dom-attr-name.js +47 -0
- package/dist/types/pm-plugins/decorations-anchor.d.ts +2 -0
- package/dist/types/ui/utils/dom-attr-name.d.ts +5 -0
- package/dist/types-ts4.5/pm-plugins/decorations-anchor.d.ts +2 -0
- package/dist/types-ts4.5/ui/utils/dom-attr-name.d.ts +5 -0
- package/package.json +4 -7
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { expandSelectionBounds } from '@atlaskit/editor-common/selection';
|
|
2
2
|
import { isEmptyParagraph } from '@atlaskit/editor-common/utils';
|
|
3
|
+
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
3
4
|
import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
|
|
4
5
|
import { getNodeAnchor } from './decorations-common';
|
|
5
6
|
import { createDropTargetDecoration, createLayoutDropTargetDecoration } from './decorations-drop-target';
|
|
@@ -227,7 +228,7 @@ export var getActiveDropTargetDecorations = function getActiveDropTargetDecorati
|
|
|
227
228
|
}
|
|
228
229
|
}
|
|
229
230
|
}
|
|
230
|
-
defaultActiveAnchorTracker.emit(getNodeAnchor(rootNodeWithPos.node));
|
|
231
|
+
defaultActiveAnchorTracker.emit(expValEquals('platform_editor_native_anchor_support', 'isEnabled', true) ? api.core.actions.getAnchorIdForNode(rootNodeWithPos.node, rootNodeWithPos.pos) || '' : getNodeAnchor(rootNodeWithPos.node));
|
|
231
232
|
return {
|
|
232
233
|
decsToAdd: decsToAdd,
|
|
233
234
|
decsToRemove: decsToRemove
|
|
@@ -58,13 +58,11 @@ export var quickInsertButtonDecoration = function quickInsertButtonDecoration(_r
|
|
|
58
58
|
};
|
|
59
59
|
return Decoration.widget(rootPos, function (view, getPos) {
|
|
60
60
|
var element = document.createElement('span');
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
element.style.clear = 'unset';
|
|
67
|
-
}
|
|
61
|
+
// inline decoration causes cursor disappear when focusing editor at the first line (e.g. press Tab when title is focused)
|
|
62
|
+
element.style.display = 'block';
|
|
63
|
+
if (expValEquals('platform_editor_quick_insert_image_wrap_right_fix', 'isEnabled', true)) {
|
|
64
|
+
// make sure it does not interfere with elements floating next to each other e.g. paragraph next to image with wrap-right
|
|
65
|
+
element.style.clear = 'unset';
|
|
68
66
|
}
|
|
69
67
|
element.contentEditable = 'false';
|
|
70
68
|
element.setAttribute('data-blocks-quick-insert-container', 'true');
|
|
@@ -1,6 +1,11 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
|
+
import memoizeOne from 'memoize-one';
|
|
1
3
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
4
|
+
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
2
5
|
import { expValEqualsNoExposure } from '@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure';
|
|
3
6
|
import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
|
|
7
|
+
import { getAnchorAttrName, getTypeNameAttrName, getTypeNameFromDom, NODE_ANCHOR_ATTR_NAME } from '../ui/utils/dom-attr-name';
|
|
8
|
+
import { IGNORE_NODE_DESCENDANTS_ADVANCED_LAYOUT, IGNORE_NODES_NEXT } from './decorations-anchor';
|
|
4
9
|
var isEmptyNestedParagraphOrHeading = function isEmptyNestedParagraphOrHeading(target) {
|
|
5
10
|
if (target instanceof HTMLHeadingElement || target instanceof HTMLParagraphElement) {
|
|
6
11
|
var _target$parentElement;
|
|
@@ -8,6 +13,24 @@ var isEmptyNestedParagraphOrHeading = function isEmptyNestedParagraphOrHeading(t
|
|
|
8
13
|
}
|
|
9
14
|
return false;
|
|
10
15
|
};
|
|
16
|
+
var getNodeSelector = function getNodeSelector(ignoreNodes, ignoreNodeDescendants) {
|
|
17
|
+
var baseSelector = "[".concat(NODE_ANCHOR_ATTR_NAME, "]");
|
|
18
|
+
if (ignoreNodes.length === 0 && ignoreNodeDescendants.length === 0) {
|
|
19
|
+
return baseSelector;
|
|
20
|
+
}
|
|
21
|
+
var ignoreNodeSelectorList = ignoreNodes.map(function (node) {
|
|
22
|
+
return "[data-prosemirror-node-name=\"".concat(node, "\"]");
|
|
23
|
+
});
|
|
24
|
+
var ignoreNodeDescendantsSelectorList = ignoreNodeDescendants.map(function (node) {
|
|
25
|
+
return "[data-prosemirror-node-name=\"".concat(node, "\"] [data-node-anchor]");
|
|
26
|
+
});
|
|
27
|
+
var ignoreSelector = [].concat(_toConsumableArray(ignoreNodeSelectorList), _toConsumableArray(ignoreNodeDescendantsSelectorList), ['[data-prosemirror-node-inline="true"]']).join(', ');
|
|
28
|
+
return "".concat(baseSelector, ":not(").concat(ignoreSelector, ")");
|
|
29
|
+
};
|
|
30
|
+
var getDefaultNodeSelector = memoizeOne(function () {
|
|
31
|
+
// we don't show handler for node nested in table
|
|
32
|
+
return getNodeSelector(_toConsumableArray(IGNORE_NODES_NEXT), [].concat(_toConsumableArray(IGNORE_NODE_DESCENDANTS_ADVANCED_LAYOUT), ['table']));
|
|
33
|
+
});
|
|
11
34
|
export var handleMouseOver = function handleMouseOver(view, event, api) {
|
|
12
35
|
var _api$blockControls, _api$editorDisabled, _target$classList;
|
|
13
36
|
var _ref = (api === null || api === void 0 || (_api$blockControls = api.blockControls) === null || _api$blockControls === void 0 ? void 0 : _api$blockControls.sharedState.currentState()) || {},
|
|
@@ -37,21 +60,21 @@ export var handleMouseOver = function handleMouseOver(view, event, api) {
|
|
|
37
60
|
if (target !== null && target !== void 0 && (_target$classList = target.classList) !== null && _target$classList !== void 0 && _target$classList.contains('ProseMirror')) {
|
|
38
61
|
return false;
|
|
39
62
|
}
|
|
40
|
-
var rootElement = target === null || target === void 0 ? void 0 : target.closest('[data-drag-handler-anchor-name]
|
|
63
|
+
var rootElement = target === null || target === void 0 ? void 0 : target.closest(expValEquals('platform_editor_native_anchor_support', 'isEnabled', true) ? getDefaultNodeSelector() : "[data-drag-handler-anchor-name]");
|
|
41
64
|
if (rootElement) {
|
|
42
65
|
var _rootElement$parentEl;
|
|
43
66
|
// We want to exlude handles from showing for empty paragraph and heading nodes
|
|
44
67
|
if (isEmptyNestedParagraphOrHeading(rootElement)) {
|
|
45
68
|
return false;
|
|
46
69
|
}
|
|
47
|
-
if (rootElement.getAttribute(
|
|
48
|
-
rootElement = rootElement.closest(
|
|
70
|
+
if (rootElement.getAttribute(getTypeNameAttrName()) === 'media' && editorExperiment('advanced_layouts', true)) {
|
|
71
|
+
rootElement = rootElement.closest("[".concat(getAnchorAttrName(), "][").concat(getTypeNameAttrName(), "=\"mediaSingle\"]"));
|
|
49
72
|
if (!rootElement) {
|
|
50
73
|
return false;
|
|
51
74
|
}
|
|
52
75
|
}
|
|
53
|
-
var parentElement = (_rootElement$parentEl = rootElement.parentElement) === null || _rootElement$parentEl === void 0 ? void 0 : _rootElement$parentEl.closest(
|
|
54
|
-
var parentElementType = parentElement === null || parentElement === void 0 ? void 0 : parentElement.getAttribute('data-drag-handler-node-type');
|
|
76
|
+
var parentElement = (_rootElement$parentEl = rootElement.parentElement) === null || _rootElement$parentEl === void 0 ? void 0 : _rootElement$parentEl.closest("[".concat(getAnchorAttrName(), "]"));
|
|
77
|
+
var parentElementType = expValEquals('platform_editor_native_anchor_support', 'isEnabled', true) ? getTypeNameFromDom(parentElement) : parentElement === null || parentElement === void 0 ? void 0 : parentElement.getAttribute('data-drag-handler-node-type');
|
|
55
78
|
if (editorExperiment('advanced_layouts', true)) {
|
|
56
79
|
// We want to exclude handles from showing for direct descendant of table nodes (i.e. nodes in cells)
|
|
57
80
|
if (fg('platform_editor_table_drag_handle_shift_fix')) {
|
|
@@ -59,8 +82,8 @@ export var handleMouseOver = function handleMouseOver(view, event, api) {
|
|
|
59
82
|
rootElement = parentElement;
|
|
60
83
|
} else if (parentElement && parentElementType === 'tableRow') {
|
|
61
84
|
var _parentElement$parent;
|
|
62
|
-
var grandparentElement = parentElement === null || parentElement === void 0 || (_parentElement$parent = parentElement.parentElement) === null || _parentElement$parent === void 0 ? void 0 : _parentElement$parent.closest(
|
|
63
|
-
var grandparentElementType = grandparentElement === null || grandparentElement === void 0 ? void 0 : grandparentElement.getAttribute('data-drag-handler-node-type');
|
|
85
|
+
var grandparentElement = parentElement === null || parentElement === void 0 || (_parentElement$parent = parentElement.parentElement) === null || _parentElement$parent === void 0 ? void 0 : _parentElement$parent.closest("[".concat(getAnchorAttrName(), "]"));
|
|
86
|
+
var grandparentElementType = expValEquals('platform_editor_native_anchor_support', 'isEnabled', true) ? getTypeNameFromDom(grandparentElement) : grandparentElement === null || grandparentElement === void 0 ? void 0 : grandparentElement.getAttribute('data-drag-handler-node-type');
|
|
64
87
|
if (grandparentElement && grandparentElementType === 'table') {
|
|
65
88
|
rootElement = grandparentElement;
|
|
66
89
|
}
|
|
@@ -77,7 +100,7 @@ export var handleMouseOver = function handleMouseOver(view, event, api) {
|
|
|
77
100
|
|
|
78
101
|
// Ignored via go/ees005
|
|
79
102
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
80
|
-
var anchorName = rootElement.getAttribute(
|
|
103
|
+
var anchorName = rootElement.getAttribute(getAnchorAttrName());
|
|
81
104
|
// No need to update handle position if its already there
|
|
82
105
|
if ((activeNode === null || activeNode === void 0 ? void 0 : activeNode.anchorName) === anchorName) {
|
|
83
106
|
return false;
|
|
@@ -118,13 +141,13 @@ export var handleMouseOver = function handleMouseOver(view, event, api) {
|
|
|
118
141
|
if (targetPos !== rootPos) {
|
|
119
142
|
var rootDOM = view.nodeDOM(rootPos);
|
|
120
143
|
if (rootDOM instanceof HTMLElement) {
|
|
121
|
-
var _rootDOM$getAttribute
|
|
122
|
-
rootAnchorName = (_rootDOM$getAttribute = rootDOM.getAttribute(
|
|
123
|
-
rootNodeType = (
|
|
144
|
+
var _rootDOM$getAttribute;
|
|
145
|
+
rootAnchorName = (_rootDOM$getAttribute = rootDOM.getAttribute(getAnchorAttrName())) !== null && _rootDOM$getAttribute !== void 0 ? _rootDOM$getAttribute : undefined;
|
|
146
|
+
rootNodeType = expValEquals('platform_editor_native_anchor_support', 'isEnabled', true) ? getTypeNameFromDom(rootDOM) : rootDOM.getAttribute('data-drag-handler-node-type');
|
|
124
147
|
}
|
|
125
148
|
}
|
|
126
149
|
}
|
|
127
|
-
var nodeType = rootElement.getAttribute('data-drag-handler-node-type');
|
|
150
|
+
var nodeType = expValEquals('platform_editor_native_anchor_support', 'isEnabled', true) ? getTypeNameFromDom(rootElement) : rootElement.getAttribute('data-drag-handler-node-type');
|
|
128
151
|
if (nodeType) {
|
|
129
152
|
if (editorExperiment('platform_editor_controls', 'variant1')) {
|
|
130
153
|
var _api$core, _api$blockControls2;
|
|
@@ -19,6 +19,7 @@ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
|
19
19
|
import { expValEqualsNoExposure } from '@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure';
|
|
20
20
|
import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
|
|
21
21
|
import { BLOCK_MENU_ENABLED } from '../ui/consts';
|
|
22
|
+
import { getAnchorAttrName } from '../ui/utils/dom-attr-name';
|
|
22
23
|
import { findNodeDecs, nodeDecorations } from './decorations-anchor';
|
|
23
24
|
import { dragHandleDecoration, emptyParagraphNodeDecorations, findHandleDec } from './decorations-drag-handle';
|
|
24
25
|
import { dropTargetDecorations, findDropTargetDecs } from './decorations-drop-target';
|
|
@@ -636,7 +637,7 @@ export var createPlugin = function createPlugin(api, getIntl, nodeViewPortalProv
|
|
|
636
637
|
event.preventDefault();
|
|
637
638
|
return false;
|
|
638
639
|
}
|
|
639
|
-
var nodeElement = (_event$target = event.target) === null || _event$target === void 0 || (_event$target$closest = _event$target.closest) === null || _event$target$closest === void 0 ? void 0 : _event$target$closest.call(_event$target,
|
|
640
|
+
var nodeElement = (_event$target = event.target) === null || _event$target === void 0 || (_event$target$closest = _event$target.closest) === null || _event$target$closest === void 0 ? void 0 : _event$target$closest.call(_event$target, "[".concat(getAnchorAttrName(), "]"));
|
|
640
641
|
if (!nodeElement) {
|
|
641
642
|
return false;
|
|
642
643
|
}
|
|
@@ -677,7 +678,7 @@ export var createPlugin = function createPlugin(api, getIntl, nodeViewPortalProv
|
|
|
677
678
|
if (isHTMLElement(event.target)) {
|
|
678
679
|
var closestParentElement = event.target.closest('[data-drag-handler-anchor-depth="0"]');
|
|
679
680
|
if (closestParentElement) {
|
|
680
|
-
var currentAnchor = closestParentElement.getAttribute(
|
|
681
|
+
var currentAnchor = closestParentElement.getAttribute(getAnchorAttrName());
|
|
681
682
|
if (currentAnchor) {
|
|
682
683
|
defaultActiveAnchorTracker.emit(currentAnchor);
|
|
683
684
|
}
|
|
@@ -3,6 +3,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
|
|
|
3
3
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
4
|
import { rootElementGap, topPositionAdjustment, QUICK_INSERT_DIMENSIONS, QUICK_INSERT_LEFT_OFFSET } from '../ui/consts';
|
|
5
5
|
import { refreshAnchorName } from '../ui/utils/anchor-name';
|
|
6
|
+
import { getAnchorAttrName } from '../ui/utils/dom-attr-name';
|
|
6
7
|
import { getControlBottomCSSValue, getControlHeightCSSValue, getNodeHeight, getTopPosition, shouldBeSticky } from './utils/drag-handle-positions';
|
|
7
8
|
import { getLeftPositionForRootElement } from './utils/widget-positions';
|
|
8
9
|
|
|
@@ -25,7 +26,7 @@ export var calculatePosition = function calculatePosition(_ref) {
|
|
|
25
26
|
view: view,
|
|
26
27
|
anchorName: rootAnchorName
|
|
27
28
|
});
|
|
28
|
-
var dom = view.dom.querySelector("[
|
|
29
|
+
var dom = view.dom.querySelector("[".concat(getAnchorAttrName(), "=\"").concat(safeAnchorName, "\"]"));
|
|
29
30
|
var hasResizer = rootNodeType === 'table' || rootNodeType === 'mediaSingle';
|
|
30
31
|
var isExtension = rootNodeType === 'extension' || rootNodeType === 'bodiedExtension';
|
|
31
32
|
var isBlockCard = rootNodeType === 'blockCard';
|
|
@@ -4,6 +4,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
4
4
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
5
5
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
6
6
|
import memoizeOne from 'memoize-one';
|
|
7
|
+
import { getAnchorAttrName } from '../../ui/utils/dom-attr-name';
|
|
7
8
|
export var isAnchorSupported = memoizeOne(function () {
|
|
8
9
|
// directly use CSS would cause failed SSR tests.
|
|
9
10
|
if (window.CSS && window.CSS.supports) {
|
|
@@ -30,9 +31,9 @@ export var AnchorRectCache = /*#__PURE__*/function () {
|
|
|
30
31
|
value: function getRects() {
|
|
31
32
|
if (this.isDirty) {
|
|
32
33
|
var _this$view;
|
|
33
|
-
var anchorElements = ((_this$view = this.view) === null || _this$view === void 0 ? void 0 : _this$view.dom.querySelectorAll(
|
|
34
|
+
var anchorElements = ((_this$view = this.view) === null || _this$view === void 0 ? void 0 : _this$view.dom.querySelectorAll("[".concat(getAnchorAttrName(), "]"))) || [];
|
|
34
35
|
this.anchorRectMap = Array.from(anchorElements).reduce(function (prev, curr) {
|
|
35
|
-
var anchorName = curr.getAttribute(
|
|
36
|
+
var anchorName = curr.getAttribute(getAnchorAttrName());
|
|
36
37
|
if (anchorName) {
|
|
37
38
|
return _objectSpread(_objectSpread({}, prev), {}, _defineProperty({}, anchorName, {
|
|
38
39
|
height: curr.clientHeight,
|
|
@@ -7,6 +7,7 @@ import { akEditorFloatingOverlapPanelZIndex } from '@atlaskit/editor-shared-styl
|
|
|
7
7
|
import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
|
|
8
8
|
import { getBlockMenuItems, menuItemsCallback } from './block-menu-items';
|
|
9
9
|
import { BLOCK_MENU_WIDTH } from './consts';
|
|
10
|
+
import { getAnchorAttrName } from './utils/dom-attr-name';
|
|
10
11
|
var BlockMenuContent = function BlockMenuContent(_ref) {
|
|
11
12
|
var editorView = _ref.editorView,
|
|
12
13
|
mountPoint = _ref.mountPoint,
|
|
@@ -15,7 +16,7 @@ var BlockMenuContent = function BlockMenuContent(_ref) {
|
|
|
15
16
|
api = _ref.api,
|
|
16
17
|
menuTriggerBy = _ref.menuTriggerBy,
|
|
17
18
|
formatMessage = _ref.formatMessage;
|
|
18
|
-
var activeNodeSelector = "[
|
|
19
|
+
var activeNodeSelector = "[".concat(getAnchorAttrName(), "=").concat(menuTriggerBy, "]");
|
|
19
20
|
var targetHandleRef = document.querySelector(activeNodeSelector);
|
|
20
21
|
var items = getBlockMenuItems(formatMessage);
|
|
21
22
|
var handleOpenChange = useCallback(function (payload) {
|
|
@@ -100,7 +101,7 @@ var BlockMenu = function BlockMenu(_ref3) {
|
|
|
100
101
|
formatMessage: formatMessage
|
|
101
102
|
});
|
|
102
103
|
}
|
|
103
|
-
var activeNodeSelector = "[
|
|
104
|
+
var activeNodeSelector = "[".concat(getAnchorAttrName(), "=").concat(menuTriggerBy, "]");
|
|
104
105
|
var targetHandleRef = document.querySelector(activeNodeSelector);
|
|
105
106
|
var items = getBlockMenuItems(formatMessage);
|
|
106
107
|
var handleOpenChange = function handleOpenChange(payload) {
|
|
@@ -34,6 +34,7 @@ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
|
34
34
|
import { expValEqualsNoExposure } from '@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure';
|
|
35
35
|
import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
|
|
36
36
|
import Tooltip from '@atlaskit/tooltip';
|
|
37
|
+
import { getNodeTypeWithLevel } from '../pm-plugins/decorations-common';
|
|
37
38
|
import { key } from '../pm-plugins/main';
|
|
38
39
|
import { getMultiSelectAnalyticsAttributes } from '../pm-plugins/utils/analytics';
|
|
39
40
|
import { getControlBottomCSSValue, getControlHeightCSSValue, getLeftPosition, getNodeHeight, getTopPosition, shouldBeSticky, shouldMaskNodeControls } from '../pm-plugins/utils/drag-handle-positions';
|
|
@@ -42,6 +43,7 @@ import { alignAnchorHeadInDirectionOfPos, expandSelectionHeadToNodeAtPos } from
|
|
|
42
43
|
import { BLOCK_MENU_ENABLED, DRAG_HANDLE_BORDER_RADIUS, DRAG_HANDLE_HEIGHT, DRAG_HANDLE_MAX_SHIFT_CLICK_DEPTH, DRAG_HANDLE_ZINDEX, dragHandleGap, nodeMargins, spacingBetweenNodesForPreview, STICKY_CONTROLS_TOP_MARGIN, topPositionAdjustment } from './consts';
|
|
43
44
|
import { dragPreview } from './drag-preview';
|
|
44
45
|
import { refreshAnchorName } from './utils/anchor-name';
|
|
46
|
+
import { getAnchorAttrName } from './utils/dom-attr-name';
|
|
45
47
|
import { VisibilityContainer } from './visibility-container';
|
|
46
48
|
var iconWrapperStyles = xcss({
|
|
47
49
|
display: 'flex',
|
|
@@ -323,7 +325,7 @@ export var DragHandle = function DragHandle(_ref) {
|
|
|
323
325
|
}
|
|
324
326
|
// blockCard/datasource width is rendered correctly after this decoraton does. We need to observe for changes.
|
|
325
327
|
if (nodeType === 'blockCard') {
|
|
326
|
-
var dom = view.dom.querySelector("[
|
|
328
|
+
var dom = view.dom.querySelector("[".concat(getAnchorAttrName(), "=\"").concat(anchorName, "\"]"));
|
|
327
329
|
var container = dom === null || dom === void 0 ? void 0 : dom.querySelector('.datasourceView-content-inner-wrap');
|
|
328
330
|
if (container) {
|
|
329
331
|
var resizeObserver = new ResizeObserver(function (entries) {
|
|
@@ -542,7 +544,7 @@ export var DragHandle = function DragHandle(_ref) {
|
|
|
542
544
|
},
|
|
543
545
|
render: function render(_ref6) {
|
|
544
546
|
var container = _ref6.container;
|
|
545
|
-
var dom = view.dom.querySelector("[
|
|
547
|
+
var dom = view.dom.querySelector("[".concat(getAnchorAttrName(), "=\"").concat(anchorName, "\"]"));
|
|
546
548
|
if (!dom) {
|
|
547
549
|
return;
|
|
548
550
|
}
|
|
@@ -625,7 +627,7 @@ export var DragHandle = function DragHandle(_ref) {
|
|
|
625
627
|
setRecalculatePosition(recalculatePosition);
|
|
626
628
|
}
|
|
627
629
|
var pos = getPos();
|
|
628
|
-
var $pos = pos && view.state.doc.resolve(pos);
|
|
630
|
+
var $pos = expValEquals('platform_editor_native_anchor_support', 'isEnabled', true) ? typeof pos === 'number' && view.state.doc.resolve(pos) : pos && view.state.doc.resolve(pos);
|
|
629
631
|
var parentPos = $pos && $pos.depth ? $pos.before() : undefined;
|
|
630
632
|
var node = parentPos !== undefined ? view.state.doc.nodeAt(parentPos) : undefined;
|
|
631
633
|
var parentNodeType = node === null || node === void 0 ? void 0 : node.type.name;
|
|
@@ -635,7 +637,7 @@ export var DragHandle = function DragHandle(_ref) {
|
|
|
635
637
|
view: view,
|
|
636
638
|
anchorName: anchorName
|
|
637
639
|
}) : anchorName;
|
|
638
|
-
var dom = view.dom.querySelector("[
|
|
640
|
+
var dom = view.dom.querySelector("[".concat(getAnchorAttrName(), "=\"").concat(safeAnchorName, "\"]"));
|
|
639
641
|
var hasResizer = nodeType === 'table' || nodeType === 'mediaSingle';
|
|
640
642
|
var isExtension = nodeType === 'extension' || nodeType === 'bodiedExtension' || nodeType === 'multiBodiedExtension' && fg('platform_editor_multi_body_extension_extensibility');
|
|
641
643
|
var isBlockCard = nodeType === 'blockCard';
|
|
@@ -660,7 +662,7 @@ export var DragHandle = function DragHandle(_ref) {
|
|
|
660
662
|
var bottom = editorExperiment('platform_editor_controls', 'variant1') ? getControlBottomCSSValue(safeAnchorName, isSticky, isTopLevelNode, isLayoutColumn) : {};
|
|
661
663
|
return _objectSpread({
|
|
662
664
|
left: isEdgeCase ? "calc(anchor(".concat(safeAnchorName, " start) + ").concat(getLeftPosition(dom, nodeType, innerContainer, isMacroInteractionUpdates, parentNodeType), ")") : editorExperiment('advanced_layouts', true) && isLayoutColumn ? "calc((anchor(".concat(safeAnchorName, " right) + anchor(").concat(safeAnchorName, " left))/2 - ").concat(DRAG_HANDLE_HEIGHT / 2, "px)") : "calc(anchor(".concat(safeAnchorName, " start) - ").concat(DRAG_HANDLE_WIDTH, "px - ").concat(dragHandleGap(nodeType, parentNodeType), "px)"),
|
|
663
|
-
top: editorExperiment('advanced_layouts', true) && isLayoutColumn ? "calc(anchor(".concat(safeAnchorName, " top) - ").concat(DRAG_HANDLE_WIDTH, "px)") : "calc(anchor(".concat(safeAnchorName, " start) + ").concat(
|
|
665
|
+
top: editorExperiment('advanced_layouts', true) && isLayoutColumn ? "calc(anchor(".concat(safeAnchorName, " top) - ").concat(DRAG_HANDLE_WIDTH, "px)") : "calc(anchor(".concat(safeAnchorName, " start) + ").concat(expValEquals('platform_editor_native_anchor_support', 'isEnabled', true) ? $pos && $pos.nodeAfter && getNodeTypeWithLevel($pos.nodeAfter) || nodeType : nodeType, "px)")
|
|
664
666
|
}, bottom);
|
|
665
667
|
}
|
|
666
668
|
var height = editorExperiment('platform_editor_controls', 'variant1') ? getControlHeightCSSValue(getNodeHeight(dom, safeAnchorName, anchorRectCache) || 0, isSticky, isTopLevelNode, "".concat(DRAG_HANDLE_HEIGHT), isLayoutColumn) : {};
|
|
@@ -671,7 +673,7 @@ export var DragHandle = function DragHandle(_ref) {
|
|
|
671
673
|
}, [anchorName, getPos, view, nodeType, macroInteractionUpdates, anchorRectCache, isTopLevelNode, isLayoutColumn, recalculatePosition]);
|
|
672
674
|
var calculatePositionOld = useCallback(function () {
|
|
673
675
|
var pos = getPos();
|
|
674
|
-
var $pos = pos && view.state.doc.resolve(pos);
|
|
676
|
+
var $pos = expValEquals('platform_editor_native_anchor_support', 'isEnabled', true) ? typeof pos === 'number' && view.state.doc.resolve(pos) : pos && view.state.doc.resolve(pos);
|
|
675
677
|
var parentPos = $pos && $pos.depth ? $pos.before() : undefined;
|
|
676
678
|
var node = parentPos !== undefined ? view.state.doc.nodeAt(parentPos) : undefined;
|
|
677
679
|
var parentNodeType = node === null || node === void 0 ? void 0 : node.type.name;
|
|
@@ -681,7 +683,7 @@ export var DragHandle = function DragHandle(_ref) {
|
|
|
681
683
|
view: view,
|
|
682
684
|
anchorName: anchorName
|
|
683
685
|
}) : anchorName;
|
|
684
|
-
var dom = view.dom.querySelector("[
|
|
686
|
+
var dom = view.dom.querySelector("[".concat(getAnchorAttrName(), "=\"").concat(safeAnchorName, "\"]"));
|
|
685
687
|
var hasResizer = nodeType === 'table' || nodeType === 'mediaSingle';
|
|
686
688
|
var isExtension = nodeType === 'extension' || nodeType === 'bodiedExtension' || nodeType === 'multiBodiedExtension' && fg('platform_editor_multi_body_extension_extensibility');
|
|
687
689
|
var isBlockCard = nodeType === 'blockCard' && !!blockCardWidth;
|
|
@@ -706,7 +708,7 @@ export var DragHandle = function DragHandle(_ref) {
|
|
|
706
708
|
var bottom = editorExperiment('platform_editor_controls', 'variant1') ? getControlBottomCSSValue(safeAnchorName, isSticky, isTopLevelNode, isLayoutColumn) : {};
|
|
707
709
|
return _objectSpread({
|
|
708
710
|
left: isEdgeCase ? "calc(anchor(".concat(safeAnchorName, " start) + ").concat(getLeftPosition(dom, nodeType, innerContainer, isMacroInteractionUpdates, parentNodeType), ")") : editorExperiment('advanced_layouts', true) && isLayoutColumn ? "calc((anchor(".concat(safeAnchorName, " right) + anchor(").concat(safeAnchorName, " left))/2 - ").concat(DRAG_HANDLE_HEIGHT / 2, "px)") : "calc(anchor(".concat(safeAnchorName, " start) - ").concat(DRAG_HANDLE_WIDTH, "px - ").concat(dragHandleGap(nodeType, parentNodeType), "px)"),
|
|
709
|
-
top: editorExperiment('advanced_layouts', true) && isLayoutColumn ? "calc(anchor(".concat(safeAnchorName, " top) - ").concat(DRAG_HANDLE_WIDTH, "px)") : "calc(anchor(".concat(safeAnchorName, " start) + ").concat(topPositionAdjustment(nodeType), "px)")
|
|
711
|
+
top: editorExperiment('advanced_layouts', true) && isLayoutColumn ? "calc(anchor(".concat(safeAnchorName, " top) - ").concat(DRAG_HANDLE_WIDTH, "px)") : "calc(anchor(".concat(safeAnchorName, " start) + ").concat(topPositionAdjustment(expValEquals('platform_editor_native_anchor_support', 'isEnabled', true) ? $pos && $pos.nodeAfter && getNodeTypeWithLevel($pos.nodeAfter) || nodeType : nodeType), "px)")
|
|
710
712
|
}, bottom);
|
|
711
713
|
}
|
|
712
714
|
var height = editorExperiment('platform_editor_controls', 'variant1') ? getControlHeightCSSValue(getNodeHeight(dom, safeAnchorName, anchorRectCache) || 0, isSticky, isTopLevelNode, "".concat(DRAG_HANDLE_HEIGHT), isLayoutColumn) : {};
|
|
@@ -721,7 +723,7 @@ export var DragHandle = function DragHandle(_ref) {
|
|
|
721
723
|
}
|
|
722
724
|
var cleanUpTransitionListener;
|
|
723
725
|
if (nodeType === 'extension' || nodeType === 'embedCard') {
|
|
724
|
-
var dom = view.dom.querySelector("[
|
|
726
|
+
var dom = view.dom.querySelector("[".concat(getAnchorAttrName(), "=\"").concat(anchorName, "\"]"));
|
|
725
727
|
if (!dom) {
|
|
726
728
|
return;
|
|
727
729
|
}
|
|
@@ -747,7 +749,7 @@ export var DragHandle = function DragHandle(_ref) {
|
|
|
747
749
|
}
|
|
748
750
|
var cleanUpTransitionListener;
|
|
749
751
|
if (nodeType === 'extension' || nodeType === 'embedCard') {
|
|
750
|
-
var dom = view.dom.querySelector("[
|
|
752
|
+
var dom = view.dom.querySelector("[".concat(getAnchorAttrName(), "=\"").concat(anchorName, "\"]"));
|
|
751
753
|
if (!dom) {
|
|
752
754
|
return;
|
|
753
755
|
}
|
|
@@ -928,7 +930,7 @@ export var DragHandle = function DragHandle(_ref) {
|
|
|
928
930
|
});
|
|
929
931
|
}
|
|
930
932
|
}, jsx("span", {
|
|
931
|
-
css: [shouldMaskNodeControls(nodeType, isTopLevelNode) && buttonWrapperStyles,
|
|
933
|
+
css: [shouldMaskNodeControls(nodeType, isTopLevelNode) && buttonWrapperStyles, buttonWrapperStylesPatch]
|
|
932
934
|
}, renderButton()))));
|
|
933
935
|
};
|
|
934
936
|
var stickyWithoutTooltip = function stickyWithoutTooltip() {
|
|
@@ -942,7 +944,7 @@ export var DragHandle = function DragHandle(_ref) {
|
|
|
942
944
|
}, jsx("span", {
|
|
943
945
|
css: [tooltipContainerStyles, shouldMaskNodeControls(nodeType, isTopLevelNode) && tooltipContainerStylesStickyHeaderWithMask, !shouldMaskNodeControls(nodeType, isTopLevelNode) && tooltipContainerStylesStickyHeaderWithoutMask]
|
|
944
946
|
}, jsx("span", {
|
|
945
|
-
css: [shouldMaskNodeControls(nodeType, isTopLevelNode) && buttonWrapperStyles,
|
|
947
|
+
css: [shouldMaskNodeControls(nodeType, isTopLevelNode) && buttonWrapperStyles, buttonWrapperStylesPatch]
|
|
946
948
|
}, renderButton())));
|
|
947
949
|
};
|
|
948
950
|
var buttonWithTooltip = function buttonWithTooltip() {
|
|
@@ -12,10 +12,12 @@ import { layoutBreakpointWidth } from '@atlaskit/editor-shared-styles';
|
|
|
12
12
|
import { DropIndicator } from '@atlaskit/pragmatic-drag-and-drop-react-drop-indicator/box';
|
|
13
13
|
import { dropTargetForElements } from '@atlaskit/pragmatic-drag-and-drop/element/adapter';
|
|
14
14
|
import { B200 } from '@atlaskit/theme/colors';
|
|
15
|
+
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
15
16
|
import { getNodeAnchor } from '../pm-plugins/decorations-common';
|
|
16
17
|
import { useActiveAnchorTracker } from '../pm-plugins/utils/active-anchor-tracker';
|
|
17
18
|
import { isAnchorSupported } from '../pm-plugins/utils/anchor-utils';
|
|
18
19
|
import { getInsertLayoutStep, updateSelection } from '../pm-plugins/utils/update-selection';
|
|
20
|
+
import { getAnchorAttrName } from './utils/dom-attr-name';
|
|
19
21
|
|
|
20
22
|
// 8px gap + 16px on left and right
|
|
21
23
|
var DROP_TARGET_LAYOUT_DROP_ZONE_WIDTH = 40;
|
|
@@ -46,7 +48,7 @@ export var DropTargetLayout = function DropTargetLayout(props) {
|
|
|
46
48
|
isDraggedOver = _useState2[0],
|
|
47
49
|
setIsDraggedOver = _useState2[1];
|
|
48
50
|
var anchorName = getNodeAnchor(parent);
|
|
49
|
-
var nextNodeAnchorName = (_ref$current = ref.current) === null || _ref$current === void 0 || (_ref$current = _ref$current.parentElement) === null || _ref$current === void 0 || (_ref$current = _ref$current.nextElementSibling) === null || _ref$current === void 0 ? void 0 : _ref$current.getAttribute(
|
|
51
|
+
var nextNodeAnchorName = (_ref$current = ref.current) === null || _ref$current === void 0 || (_ref$current = _ref$current.parentElement) === null || _ref$current === void 0 || (_ref$current = _ref$current.nextElementSibling) === null || _ref$current === void 0 ? void 0 : _ref$current.getAttribute(getAnchorAttrName());
|
|
50
52
|
var height = '100%';
|
|
51
53
|
if (nextNodeAnchorName) {
|
|
52
54
|
if (isAnchorSupported()) {
|
|
@@ -120,7 +122,7 @@ export var DropTargetLayout = function DropTargetLayout(props) {
|
|
|
120
122
|
}, isDraggedOver ? jsx(DropIndicator, {
|
|
121
123
|
edge: "right",
|
|
122
124
|
gap: "-".concat(DROP_TARGET_LAYOUT_DROP_ZONE_WIDTH, "px")
|
|
123
|
-
}) : isActiveAnchor && jsx("div", {
|
|
125
|
+
}) : (isActiveAnchor || expValEquals('platform_editor_native_anchor_support', 'isEnabled', true)) && jsx("div", {
|
|
124
126
|
"data-testid": "block-ctrl-drop-hint"
|
|
125
127
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
|
|
126
128
|
,
|
|
@@ -13,6 +13,7 @@ import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks'
|
|
|
13
13
|
import { DropIndicator } from '@atlaskit/pragmatic-drag-and-drop-react-drop-indicator/box';
|
|
14
14
|
import { dropTargetForElements } from '@atlaskit/pragmatic-drag-and-drop/element/adapter';
|
|
15
15
|
import { layers } from '@atlaskit/theme/constants';
|
|
16
|
+
import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
|
|
16
17
|
import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
|
|
17
18
|
import { getNodeAnchor } from '../pm-plugins/decorations-common';
|
|
18
19
|
import { useActiveAnchorTracker } from '../pm-plugins/utils/active-anchor-tracker';
|
|
@@ -71,17 +72,26 @@ var HoverZone = function HoverZone(_ref) {
|
|
|
71
72
|
onDragLeave = _ref.onDragLeave,
|
|
72
73
|
onDrop = _ref.onDrop,
|
|
73
74
|
node = _ref.node,
|
|
75
|
+
pos = _ref.pos,
|
|
74
76
|
parent = _ref.parent,
|
|
75
77
|
editorWidth = _ref.editorWidth,
|
|
76
78
|
anchorRectCache = _ref.anchorRectCache,
|
|
77
79
|
position = _ref.position,
|
|
78
80
|
isNestedDropTarget = _ref.isNestedDropTarget,
|
|
79
|
-
dropTargetStyle = _ref.dropTargetStyle
|
|
81
|
+
dropTargetStyle = _ref.dropTargetStyle,
|
|
82
|
+
api = _ref.api;
|
|
80
83
|
var ref = useRef(null);
|
|
81
84
|
var isRemainingheight = dropTargetStyle === 'remainingHeight';
|
|
82
85
|
var anchorName = useMemo(function () {
|
|
86
|
+
if (expValEquals('platform_editor_native_anchor_support', 'isEnabled', true)) {
|
|
87
|
+
if (node && typeof pos === 'number') {
|
|
88
|
+
var posOffset = position === 'upper' ? -node.nodeSize : 0;
|
|
89
|
+
return (api === null || api === void 0 ? void 0 : api.core.actions.getAnchorIdForNode(node, pos + posOffset)) || '';
|
|
90
|
+
}
|
|
91
|
+
return '';
|
|
92
|
+
}
|
|
83
93
|
return node ? getNodeAnchor(node) : '';
|
|
84
|
-
}, [node]);
|
|
94
|
+
}, [api, node, pos, position]);
|
|
85
95
|
var _useActiveAnchorTrack = useActiveAnchorTracker(anchorName),
|
|
86
96
|
_useActiveAnchorTrack2 = _slicedToArray(_useActiveAnchorTrack, 2),
|
|
87
97
|
_isActive = _useActiveAnchorTrack2[0],
|
|
@@ -126,7 +136,7 @@ var HoverZone = function HoverZone(_ref) {
|
|
|
126
136
|
// only apply upper drop zone
|
|
127
137
|
if (isRemainingheight && position === 'upper') {
|
|
128
138
|
// previous node
|
|
129
|
-
var _anchorName = node ? getNodeAnchor(node) : '';
|
|
139
|
+
var _anchorName = node ? expValEquals('platform_editor_native_anchor_support', 'isEnabled', true) ? (api === null || api === void 0 ? void 0 : api.core.actions.getAnchorIdForNode(node, pos || -1)) || '' : getNodeAnchor(node) : '';
|
|
130
140
|
var top = 'unset';
|
|
131
141
|
if (_anchorName) {
|
|
132
142
|
var enabledDropZone = enableDropZone.includes((node === null || node === void 0 ? void 0 : node.type.name) || '');
|
|
@@ -154,7 +164,7 @@ var HoverZone = function HoverZone(_ref) {
|
|
|
154
164
|
});
|
|
155
165
|
}
|
|
156
166
|
return null;
|
|
157
|
-
}, [anchorRectCache, isRemainingheight, node, position]);
|
|
167
|
+
}, [anchorRectCache, api, isRemainingheight, node, pos, position]);
|
|
158
168
|
var isFullHeightInLayout = isRemainingheight && (parent === null || parent === void 0 ? void 0 : parent.type.name) === 'layoutColumn';
|
|
159
169
|
return jsx("div", {
|
|
160
170
|
ref: ref
|
|
@@ -220,11 +230,13 @@ export var DropTarget = function DropTarget(props) {
|
|
|
220
230
|
},
|
|
221
231
|
onDrop: onDrop,
|
|
222
232
|
node: prevNode,
|
|
233
|
+
pos: getPos(),
|
|
223
234
|
editorWidth: lineLength,
|
|
224
235
|
anchorRectCache: anchorRectCache,
|
|
225
236
|
position: "upper",
|
|
226
237
|
isNestedDropTarget: isNestedDropTarget,
|
|
227
|
-
dropTargetStyle: dropTargetStyle
|
|
238
|
+
dropTargetStyle: dropTargetStyle,
|
|
239
|
+
api: api
|
|
228
240
|
}), jsx("div", {
|
|
229
241
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
|
|
230
242
|
css: [styleDropTarget, isNestedDropTarget && nestedDropIndicatorStyle]
|
|
@@ -246,11 +258,13 @@ export var DropTarget = function DropTarget(props) {
|
|
|
246
258
|
},
|
|
247
259
|
onDrop: onDrop,
|
|
248
260
|
node: nextNode,
|
|
261
|
+
pos: getPos(),
|
|
249
262
|
parent: parentNode,
|
|
250
263
|
editorWidth: lineLength,
|
|
251
264
|
anchorRectCache: anchorRectCache,
|
|
252
265
|
position: "lower",
|
|
253
|
-
isNestedDropTarget: isNestedDropTarget
|
|
266
|
+
isNestedDropTarget: isNestedDropTarget,
|
|
267
|
+
api: api
|
|
254
268
|
}), shouldAllowInlineDropTarget(isNestedDropTarget, nextNode, isSameLayout, activeNode) && jsx(Fragment, null, jsx(InlineDropTarget
|
|
255
269
|
// Ignored via go/ees005
|
|
256
270
|
// eslint-disable-next-line react/jsx-props-no-spreading
|