@atlaskit/editor-plugin-block-controls 8.12.0 → 9.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/editor-commands/move-to-layout.js +7 -2
  3. package/dist/cjs/pm-plugins/utils/inline-drop-target.js +8 -1
  4. package/dist/cjs/pm-plugins/utils/update-selection.js +2 -0
  5. package/dist/cjs/ui/drag-handle-nested-icon.js +1 -1
  6. package/dist/cjs/ui/drag-handle.js +1 -1
  7. package/dist/cjs/ui/drop-target-layout.js +1 -1
  8. package/dist/cjs/ui/drop-target.js +6 -4
  9. package/dist/cjs/ui/global-styles.js +1 -1
  10. package/dist/cjs/ui/inline-drop-target.js +1 -1
  11. package/dist/cjs/ui/quick-insert-button.js +1 -1
  12. package/dist/cjs/ui/visibility-container.js +1 -1
  13. package/dist/es2019/editor-commands/move-to-layout.js +7 -2
  14. package/dist/es2019/pm-plugins/utils/inline-drop-target.js +8 -2
  15. package/dist/es2019/pm-plugins/utils/update-selection.js +1 -0
  16. package/dist/es2019/ui/drag-handle-nested-icon.js +1 -1
  17. package/dist/es2019/ui/drag-handle.js +1 -1
  18. package/dist/es2019/ui/drop-target-layout.js +1 -1
  19. package/dist/es2019/ui/drop-target.js +6 -4
  20. package/dist/es2019/ui/global-styles.js +1 -1
  21. package/dist/es2019/ui/inline-drop-target.js +1 -1
  22. package/dist/es2019/ui/quick-insert-button.js +1 -1
  23. package/dist/es2019/ui/visibility-container.js +1 -1
  24. package/dist/esm/editor-commands/move-to-layout.js +7 -2
  25. package/dist/esm/pm-plugins/utils/inline-drop-target.js +8 -1
  26. package/dist/esm/pm-plugins/utils/update-selection.js +1 -0
  27. package/dist/esm/ui/drag-handle-nested-icon.js +1 -1
  28. package/dist/esm/ui/drag-handle.js +1 -1
  29. package/dist/esm/ui/drop-target-layout.js +1 -1
  30. package/dist/esm/ui/drop-target.js +6 -4
  31. package/dist/esm/ui/global-styles.js +1 -1
  32. package/dist/esm/ui/inline-drop-target.js +1 -1
  33. package/dist/esm/ui/quick-insert-button.js +1 -1
  34. package/dist/esm/ui/visibility-container.js +1 -1
  35. package/dist/types/pm-plugins/utils/anchor-utils.d.ts +2 -1
  36. package/dist/types/pm-plugins/utils/getSelection.d.ts +2 -2
  37. package/dist/types/pm-plugins/utils/inline-drop-target.d.ts +1 -1
  38. package/dist/types/pm-plugins/utils/marks.d.ts +2 -1
  39. package/dist/types/pm-plugins/utils/selection.d.ts +2 -1
  40. package/dist/types/pm-plugins/utils/update-selection.d.ts +2 -1
  41. package/dist/types/pm-plugins/utils/validation.d.ts +2 -1
  42. package/dist/types/ui/consts.d.ts +1 -1
  43. package/dist/types/ui/utils/dom-attr-name.d.ts +2 -2
  44. package/dist/types/ui/visibility-container.d.ts +1 -1
  45. package/dist/types-ts4.5/pm-plugins/utils/anchor-utils.d.ts +2 -1
  46. package/dist/types-ts4.5/pm-plugins/utils/getSelection.d.ts +2 -2
  47. package/dist/types-ts4.5/pm-plugins/utils/inline-drop-target.d.ts +1 -1
  48. package/dist/types-ts4.5/pm-plugins/utils/marks.d.ts +2 -1
  49. package/dist/types-ts4.5/pm-plugins/utils/selection.d.ts +2 -1
  50. package/dist/types-ts4.5/pm-plugins/utils/update-selection.d.ts +2 -1
  51. package/dist/types-ts4.5/pm-plugins/utils/validation.d.ts +2 -1
  52. package/dist/types-ts4.5/ui/consts.d.ts +1 -1
  53. package/dist/types-ts4.5/ui/utils/dom-attr-name.d.ts +2 -2
  54. package/dist/types-ts4.5/ui/visibility-container.d.ts +1 -1
  55. package/package.json +17 -17
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @atlaskit/editor-plugin-block-controls
2
2
 
3
+ ## 9.0.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+
9
+ ## 9.0.0
10
+
11
+ ### Patch Changes
12
+
13
+ - [`ae28f2e6bb741`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/ae28f2e6bb741) -
14
+ Editor-4477: Removed the heading with alignment patch in the newGetSelection
15
+ - [`ae28f2e6bb741`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/ae28f2e6bb741) -
16
+ Editor-5020-fix-inline-drop-hints-not-visible-in-sync-block
17
+ - Updated dependencies
18
+
3
19
  ## 8.12.0
4
20
 
5
21
  ### Minor Changes
@@ -134,16 +134,21 @@ var canMoveToLayout = function canMoveToLayout(api, from, to, tr, moveNodeAtCurs
134
134
  var _ref3 = tr.doc.type.schema.nodes || {},
135
135
  layoutSection = _ref3.layoutSection,
136
136
  layoutColumn = _ref3.layoutColumn,
137
- doc = _ref3.doc;
137
+ doc = _ref3.doc,
138
+ bodiedSyncBlock = _ref3.bodiedSyncBlock;
138
139
 
139
140
  // layout plugin does not exist
140
141
  if (!layoutSection || !layoutColumn) {
141
142
  return;
142
143
  }
143
144
  var $to = tr.doc.resolve(to);
145
+ var allowedParentTypes = [doc, layoutSection];
146
+ if (bodiedSyncBlock && (0, _expValEquals.expValEquals)('platform_synced_block', 'isEnabled', true) && (0, _expValEquals.expValEquals)('platform_synced_block_patch_6', 'isEnabled', true)) {
147
+ allowedParentTypes.push(bodiedSyncBlock);
148
+ }
144
149
 
145
150
  // drop at invalid position, not top level, or not a layout column
146
- if (!$to.nodeAfter || ![doc, layoutSection].includes($to.parent.type)) {
151
+ if (!$to.nodeAfter || !allowedParentTypes.includes($to.parent.type)) {
147
152
  return;
148
153
  }
149
154
  var $from = tr.doc.resolve(from);
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.shouldAllowInlineDropTarget = void 0;
7
7
  var _utils = require("@atlaskit/editor-common/utils");
8
+ var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
8
9
  var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
9
10
  var _checkMediaLayout = require("./check-media-layout");
10
11
  var _consts = require("./consts");
@@ -12,7 +13,13 @@ var syncedBlockTypes = ['syncBlock', 'bodiedSyncBlock'];
12
13
  var shouldAllowInlineDropTarget = exports.shouldAllowInlineDropTarget = function shouldAllowInlineDropTarget(isNested, node) {
13
14
  var isSameLayout = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
14
15
  var activeNode = arguments.length > 3 ? arguments[3] : undefined;
16
+ var parentNode = arguments.length > 4 ? arguments[4] : undefined;
17
+ var isInsideBodiedSyncBlock = (parentNode === null || parentNode === void 0 ? void 0 : parentNode.type.name) === 'bodiedSyncBlock';
15
18
  if ((0, _experiments.editorExperiment)('advanced_layouts', false) || isNested) {
19
+ // If nested inside bodiedSyncBlock, enable inline drop target so user can drop to create a layout inside it
20
+ if (isInsideBodiedSyncBlock && (0, _expValEquals.expValEquals)('platform_synced_block', 'isEnabled', true) && (0, _expValEquals.expValEquals)('platform_synced_block_patch_6', 'isEnabled', true)) {
21
+ return true;
22
+ }
16
23
  return false;
17
24
  }
18
25
  if ((0, _checkMediaLayout.isWrappedMedia)(node)) {
@@ -21,7 +28,7 @@ var shouldAllowInlineDropTarget = exports.shouldAllowInlineDropTarget = function
21
28
  if ((activeNode === null || activeNode === void 0 ? void 0 : activeNode.nodeType) === 'layoutSection') {
22
29
  return false;
23
30
  }
24
- if ((syncedBlockTypes.includes((activeNode === null || activeNode === void 0 ? void 0 : activeNode.nodeType) || '') || syncedBlockTypes.includes((node === null || node === void 0 ? void 0 : node.type.name) || '')) && (0, _experiments.editorExperiment)('platform_synced_block', true)) {
31
+ if ((syncedBlockTypes.includes((activeNode === null || activeNode === void 0 ? void 0 : activeNode.nodeType) || '') || syncedBlockTypes.includes((node === null || node === void 0 ? void 0 : node.type.name) || '')) && (0, _experiments.editorExperiment)('platform_synced_block', true) && !(0, _expValEquals.expValEquals)('platform_synced_block_patch_6', 'isEnabled', true)) {
25
32
  return false;
26
33
  }
27
34
  if ((node === null || node === void 0 ? void 0 : node.type.name) === 'layoutSection') {
@@ -7,6 +7,8 @@ exports.updateSelection = exports.getInsertLayoutStep = void 0;
7
7
  var _selection = require("@atlaskit/editor-common/selection");
8
8
  var _state = require("@atlaskit/editor-prosemirror/state");
9
9
  var _transform = require("@atlaskit/editor-prosemirror/transform");
10
+ // eslint-disable-next-line @typescript-eslint/consistent-type-imports
11
+
10
12
  var getInsertLayoutStep = exports.getInsertLayoutStep = function getInsertLayoutStep(tr) {
11
13
  return tr.steps.find(function (step) {
12
14
  var _step$slice$content$f;
@@ -10,7 +10,7 @@ var _react = require("@emotion/react");
10
10
  * @jsxRuntime classic
11
11
  * @jsx jsx
12
12
  */
13
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
13
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
14
14
 
15
15
  var spanStyles = (0, _react.css)({
16
16
  display: 'inline-block',
@@ -49,7 +49,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
49
49
  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) { (0, _defineProperty2.default)(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; } /**
50
50
  * @jsxRuntime classic
51
51
  * @jsx jsx
52
- */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
52
+ */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
53
53
  // eslint-disable-next-line @atlaskit/design-system/no-emotion-primitives -- to be migrated to @atlaskit/primitives/compiled – go/akcss
54
54
  var iconWrapperStyles = (0, _primitives.xcss)({
55
55
  display: 'flex',
@@ -24,7 +24,7 @@ var _domAttrName = require("./utils/dom-attr-name");
24
24
  * @jsx jsx
25
25
  */
26
26
 
27
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
27
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
28
28
 
29
29
  // 8px gap + 16px on left and right
30
30
  var DROP_TARGET_LAYOUT_DROP_ZONE_WIDTH = 40;
@@ -27,7 +27,7 @@ var _inlineDropTarget2 = require("./inline-drop-target");
27
27
  * @jsx jsx
28
28
  */
29
29
 
30
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
30
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
31
31
 
32
32
  var DEFAULT_DROP_INDICATOR_WIDTH = 760;
33
33
  var EDITOR_BLOCK_CONTROLS_DROP_INDICATOR_WIDTH = '--editor-block-controls-drop-indicator-width';
@@ -113,12 +113,13 @@ var HoverZone = function HoverZone(_ref) {
113
113
  _useActiveAnchorTrack2 = (0, _slicedToArray2.default)(_useActiveAnchorTrack, 2),
114
114
  _isActive = _useActiveAnchorTrack2[0],
115
115
  setActiveAnchor = _useActiveAnchorTrack2[1];
116
+ var isInsideBodiedSyncBlock = parent && parent.type.name === 'bodiedSyncBlock' && (0, _expValEquals.expValEquals)('platform_synced_block', 'isEnabled', true) && (0, _expValEquals.expValEquals)('platform_synced_block_patch_6', 'isEnabled', true);
116
117
  (0, _react.useEffect)(function () {
117
118
  if (ref.current) {
118
119
  return (0, _adapter.dropTargetForElements)({
119
120
  element: ref.current,
120
121
  onDragEnter: function onDragEnter() {
121
- if (!isNestedDropTarget && (0, _experiments.editorExperiment)('advanced_layouts', true)) {
122
+ if ((!isNestedDropTarget || isInsideBodiedSyncBlock) && (0, _experiments.editorExperiment)('advanced_layouts', true)) {
122
123
  setActiveAnchor();
123
124
  }
124
125
  _onDragEnter();
@@ -127,7 +128,7 @@ var HoverZone = function HoverZone(_ref) {
127
128
  onDrop: onDrop
128
129
  });
129
130
  }
130
- }, [isNestedDropTarget, _onDragEnter, onDragLeave, onDrop, setActiveAnchor]);
131
+ }, [isNestedDropTarget, isInsideBodiedSyncBlock, _onDragEnter, onDragLeave, onDrop, setActiveAnchor]);
131
132
  var hoverZoneUpperStyle = (0, _react.useMemo)(function () {
132
133
  var heightStyleOffset = "var(--editor-block-controls-drop-indicator-gap, 0)/2";
133
134
  var transformOffset = "var(".concat(EDITOR_BLOCK_CONTROLS_DROP_INDICATOR_OFFSET, ", 0)");
@@ -238,6 +239,7 @@ var DropTarget = exports.DropTarget = function DropTarget(props) {
238
239
  var dynamicStyle = (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({
239
240
  width: isNestedDropTarget ? 'unset' : '100%'
240
241
  }, EDITOR_BLOCK_CONTROLS_DROP_INDICATOR_WIDTH, isNestedDropTarget ? '100%' : "".concat(lineLength || DEFAULT_DROP_INDICATOR_WIDTH, "px")), EDITOR_BLOCK_CONTROLS_DROP_TARGET_LEFT_MARGIN, isNestedDropTarget ? (0, _consts.getNestedNodeLeftPaddingMargin)(parentNode === null || parentNode === void 0 ? void 0 : parentNode.type.name) : '0'), EDITOR_BLOCK_CONTROLS_DROP_TARGET_ZINDEX, _constants.layers.navigation());
242
+ var isShowInlineDropTarget = (0, _inlineDropTarget.shouldAllowInlineDropTarget)(isNestedDropTarget, nextNode, isSameLayout, activeNode, parentNode);
241
243
  return (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(HoverZone, {
242
244
  onDragEnter: function onDragEnter() {
243
245
  return setIsDraggedOver(true);
@@ -282,7 +284,7 @@ var DropTarget = exports.DropTarget = function DropTarget(props) {
282
284
  position: "lower",
283
285
  isNestedDropTarget: isNestedDropTarget,
284
286
  api: api
285
- }), (0, _inlineDropTarget.shouldAllowInlineDropTarget)(isNestedDropTarget, nextNode, isSameLayout, activeNode) && (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_inlineDropTarget2.InlineDropTarget
287
+ }), isShowInlineDropTarget && (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_inlineDropTarget2.InlineDropTarget
286
288
  // Ignored via go/ees005
287
289
  // eslint-disable-next-line react/jsx-props-no-spreading
288
290
  , (0, _extends2.default)({}, props, {
@@ -21,7 +21,7 @@ var _domAttrName = require("./utils/dom-attr-name");
21
21
  * @jsxRuntime classic
22
22
  * @jsx jsx
23
23
  */
24
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-global-styles, @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
24
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-global-styles, @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
25
25
 
26
26
  /**
27
27
  * This anchor element selector disregards anchors that are solely utilized for size measurements,
@@ -25,7 +25,7 @@ var _updateSelection = require("../pm-plugins/utils/update-selection");
25
25
  * @jsx jsx
26
26
  */
27
27
 
28
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
28
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
29
29
 
30
30
  var HOVER_ZONE_WIDTH = '--editor-blocks-inline-hover-zone-width';
31
31
  var HOVER_ZONE_HEIGHT = '--editor-blocks-inline-hover-zone-height';
@@ -37,7 +37,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
37
37
  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) { (0, _defineProperty2.default)(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; } /**
38
38
  * @jsxRuntime classic
39
39
  * @jsx jsx
40
- */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
40
+ */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
41
41
  // eslint-disable-next-line @atlaskit/design-system/no-emotion-primitives -- to be migrated to @atlaskit/primitives/compiled – go/akcss
42
42
  var TEXT_PARENT_TYPES = ['paragraph', 'heading', 'blockquote', 'taskItem', 'decisionItem'];
43
43
  var stickyButtonStyles = (0, _primitives.xcss)({
@@ -20,7 +20,7 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r
20
20
  * @jsx jsx
21
21
  */
22
22
 
23
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
23
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
24
24
 
25
25
  // eslint-disable-next-line @atlaskit/design-system/no-emotion-primitives -- to be migrated to @atlaskit/primitives/compiled – go/akcss
26
26
 
@@ -130,7 +130,8 @@ const canMoveToLayout = (api, from, to, tr, moveNodeAtCursorPos) => {
130
130
  const {
131
131
  layoutSection,
132
132
  layoutColumn,
133
- doc
133
+ doc,
134
+ bodiedSyncBlock
134
135
  } = tr.doc.type.schema.nodes || {};
135
136
 
136
137
  // layout plugin does not exist
@@ -138,9 +139,13 @@ const canMoveToLayout = (api, from, to, tr, moveNodeAtCursorPos) => {
138
139
  return;
139
140
  }
140
141
  const $to = tr.doc.resolve(to);
142
+ const allowedParentTypes = [doc, layoutSection];
143
+ if (bodiedSyncBlock && expValEquals('platform_synced_block', 'isEnabled', true) && expValEquals('platform_synced_block_patch_6', 'isEnabled', true)) {
144
+ allowedParentTypes.push(bodiedSyncBlock);
145
+ }
141
146
 
142
147
  // drop at invalid position, not top level, or not a layout column
143
- if (!$to.nodeAfter || ![doc, layoutSection].includes($to.parent.type)) {
148
+ if (!$to.nodeAfter || !allowedParentTypes.includes($to.parent.type)) {
144
149
  return;
145
150
  }
146
151
  const $from = tr.doc.resolve(from);
@@ -1,4 +1,5 @@
1
1
  import { isEmptyParagraph } from '@atlaskit/editor-common/utils';
2
+ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
2
3
  import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
3
4
  import { isWrappedMedia } from './check-media-layout';
4
5
  import { maxLayoutColumnSupported } from './consts';
@@ -7,8 +8,13 @@ export const shouldAllowInlineDropTarget = (isNested, node,
7
8
  /**
8
9
  * Is the active node in the same layout as the target node
9
10
  */
10
- isSameLayout = false, activeNode) => {
11
+ isSameLayout = false, activeNode, parentNode) => {
12
+ const isInsideBodiedSyncBlock = (parentNode === null || parentNode === void 0 ? void 0 : parentNode.type.name) === 'bodiedSyncBlock';
11
13
  if (editorExperiment('advanced_layouts', false) || isNested) {
14
+ // If nested inside bodiedSyncBlock, enable inline drop target so user can drop to create a layout inside it
15
+ if (isInsideBodiedSyncBlock && expValEquals('platform_synced_block', 'isEnabled', true) && expValEquals('platform_synced_block_patch_6', 'isEnabled', true)) {
16
+ return true;
17
+ }
12
18
  return false;
13
19
  }
14
20
  if (isWrappedMedia(node)) {
@@ -17,7 +23,7 @@ isSameLayout = false, activeNode) => {
17
23
  if ((activeNode === null || activeNode === void 0 ? void 0 : activeNode.nodeType) === 'layoutSection') {
18
24
  return false;
19
25
  }
20
- if ((syncedBlockTypes.includes((activeNode === null || activeNode === void 0 ? void 0 : activeNode.nodeType) || '') || syncedBlockTypes.includes((node === null || node === void 0 ? void 0 : node.type.name) || '')) && editorExperiment('platform_synced_block', true)) {
26
+ if ((syncedBlockTypes.includes((activeNode === null || activeNode === void 0 ? void 0 : activeNode.nodeType) || '') || syncedBlockTypes.includes((node === null || node === void 0 ? void 0 : node.type.name) || '')) && editorExperiment('platform_synced_block', true) && !expValEquals('platform_synced_block_patch_6', 'isEnabled', true)) {
21
27
  return false;
22
28
  }
23
29
  if ((node === null || node === void 0 ? void 0 : node.type.name) === 'layoutSection') {
@@ -1,5 +1,6 @@
1
1
  import { GapCursorSelection, Side } from '@atlaskit/editor-common/selection';
2
2
  import { TextSelection } from '@atlaskit/editor-prosemirror/state';
3
+ // eslint-disable-next-line @typescript-eslint/consistent-type-imports
3
4
  import { ReplaceStep } from '@atlaskit/editor-prosemirror/transform';
4
5
  export const getInsertLayoutStep = tr => tr.steps.find(step => {
5
6
  var _step$slice$content$f;
@@ -3,7 +3,7 @@
3
3
  * @jsxRuntime classic
4
4
  * @jsx jsx
5
5
  */
6
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
6
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
7
7
  import { css, jsx } from '@emotion/react';
8
8
  const spanStyles = css({
9
9
  display: 'inline-block',
@@ -5,7 +5,7 @@
5
5
 
6
6
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
7
7
 
8
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
8
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
9
9
  import { css, jsx } from '@emotion/react';
10
10
  import { bind } from 'bind-event-listener';
11
11
  import { getDocument } from '@atlaskit/browser-apis';
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
6
6
 
7
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
7
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
8
8
  import { css, jsx } from '@emotion/react';
9
9
  import { layoutBreakpointWidth } from '@atlaskit/editor-shared-styles';
10
10
  import { DropIndicator } from '@atlaskit/pragmatic-drag-and-drop-react-drop-indicator/box';
@@ -5,7 +5,7 @@ import _extends from "@babel/runtime/helpers/extends";
5
5
  */
6
6
  import { Fragment, useEffect, useMemo, useRef, useState } from 'react';
7
7
 
8
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
8
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
9
9
  import { css, jsx } from '@emotion/react';
10
10
  import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
11
11
  import { DropIndicator } from '@atlaskit/pragmatic-drag-and-drop-react-drop-indicator/box';
@@ -101,12 +101,13 @@ const HoverZone = ({
101
101
  return node ? getNodeAnchor(node) : '';
102
102
  }, [api, node, pos, position]);
103
103
  const [_isActive, setActiveAnchor] = useActiveAnchorTracker(anchorName);
104
+ const isInsideBodiedSyncBlock = parent && parent.type.name === 'bodiedSyncBlock' && expValEquals('platform_synced_block', 'isEnabled', true) && expValEquals('platform_synced_block_patch_6', 'isEnabled', true);
104
105
  useEffect(() => {
105
106
  if (ref.current) {
106
107
  return dropTargetForElements({
107
108
  element: ref.current,
108
109
  onDragEnter: () => {
109
- if (!isNestedDropTarget && editorExperiment('advanced_layouts', true)) {
110
+ if ((!isNestedDropTarget || isInsideBodiedSyncBlock) && editorExperiment('advanced_layouts', true)) {
110
111
  setActiveAnchor();
111
112
  }
112
113
  onDragEnter();
@@ -115,7 +116,7 @@ const HoverZone = ({
115
116
  onDrop
116
117
  });
117
118
  }
118
- }, [isNestedDropTarget, onDragEnter, onDragLeave, onDrop, setActiveAnchor]);
119
+ }, [isNestedDropTarget, isInsideBodiedSyncBlock, onDragEnter, onDragLeave, onDrop, setActiveAnchor]);
119
120
  const hoverZoneUpperStyle = useMemo(() => {
120
121
  const heightStyleOffset = `var(--editor-block-controls-drop-indicator-gap, 0)/2`;
121
122
  const transformOffset = `var(${EDITOR_BLOCK_CONTROLS_DROP_INDICATOR_OFFSET}, 0)`;
@@ -231,6 +232,7 @@ export const DropTarget = props => {
231
232
  [EDITOR_BLOCK_CONTROLS_DROP_TARGET_LEFT_MARGIN]: isNestedDropTarget ? getNestedNodeLeftPaddingMargin(parentNode === null || parentNode === void 0 ? void 0 : parentNode.type.name) : '0',
232
233
  [EDITOR_BLOCK_CONTROLS_DROP_TARGET_ZINDEX]: layers.navigation()
233
234
  };
235
+ const isShowInlineDropTarget = shouldAllowInlineDropTarget(isNestedDropTarget, nextNode, isSameLayout, activeNode, parentNode);
234
236
  return jsx(Fragment, null, jsx(HoverZone, {
235
237
  onDragEnter: () => setIsDraggedOver(true),
236
238
  onDragLeave: () => setIsDraggedOver(false),
@@ -267,7 +269,7 @@ export const DropTarget = props => {
267
269
  position: "lower",
268
270
  isNestedDropTarget: isNestedDropTarget,
269
271
  api: api
270
- }), shouldAllowInlineDropTarget(isNestedDropTarget, nextNode, isSameLayout, activeNode) && jsx(Fragment, null, jsx(InlineDropTarget
272
+ }), isShowInlineDropTarget && jsx(Fragment, null, jsx(InlineDropTarget
271
273
  // Ignored via go/ees005
272
274
  // eslint-disable-next-line react/jsx-props-no-spreading
273
275
  , _extends({}, props, {
@@ -2,7 +2,7 @@
2
2
  * @jsxRuntime classic
3
3
  * @jsx jsx
4
4
  */
5
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-global-styles, @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
5
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-global-styles, @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
6
6
  import { css, Global, jsx } from '@emotion/react';
7
7
  import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
8
8
  import { ANCHOR_VARIABLE_NAME, DRAG_HANDLE_WIDTH, isCSSAnchorSupported, tableControlsSpacing } from '@atlaskit/editor-common/styles';
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
8
8
 
9
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
9
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
10
10
  import { css, jsx } from '@emotion/react';
11
11
  import { akEditorBreakoutPadding } from '@atlaskit/editor-shared-styles';
12
12
  import { DropIndicator } from '@atlaskit/pragmatic-drag-and-drop-react-drop-indicator/box';
@@ -5,7 +5,7 @@
5
5
 
6
6
  import React, { useCallback, useEffect, useState } from 'react';
7
7
 
8
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
8
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
9
9
  import { css, jsx } from '@emotion/react';
10
10
  import { bind } from 'bind-event-listener';
11
11
  import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
@@ -4,7 +4,7 @@
4
4
  */
5
5
  import React, { useEffect, useRef, useState } from 'react';
6
6
 
7
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
7
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
8
8
  import { css, jsx } from '@emotion/react';
9
9
  import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
10
10
  import { akEditorFullPageNarrowBreakout } from '@atlaskit/editor-shared-styles';
@@ -128,16 +128,21 @@ var canMoveToLayout = function canMoveToLayout(api, from, to, tr, moveNodeAtCurs
128
128
  var _ref3 = tr.doc.type.schema.nodes || {},
129
129
  layoutSection = _ref3.layoutSection,
130
130
  layoutColumn = _ref3.layoutColumn,
131
- doc = _ref3.doc;
131
+ doc = _ref3.doc,
132
+ bodiedSyncBlock = _ref3.bodiedSyncBlock;
132
133
 
133
134
  // layout plugin does not exist
134
135
  if (!layoutSection || !layoutColumn) {
135
136
  return;
136
137
  }
137
138
  var $to = tr.doc.resolve(to);
139
+ var allowedParentTypes = [doc, layoutSection];
140
+ if (bodiedSyncBlock && expValEquals('platform_synced_block', 'isEnabled', true) && expValEquals('platform_synced_block_patch_6', 'isEnabled', true)) {
141
+ allowedParentTypes.push(bodiedSyncBlock);
142
+ }
138
143
 
139
144
  // drop at invalid position, not top level, or not a layout column
140
- if (!$to.nodeAfter || ![doc, layoutSection].includes($to.parent.type)) {
145
+ if (!$to.nodeAfter || !allowedParentTypes.includes($to.parent.type)) {
141
146
  return;
142
147
  }
143
148
  var $from = tr.doc.resolve(from);
@@ -1,4 +1,5 @@
1
1
  import { isEmptyParagraph } from '@atlaskit/editor-common/utils';
2
+ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
2
3
  import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
3
4
  import { isWrappedMedia } from './check-media-layout';
4
5
  import { maxLayoutColumnSupported } from './consts';
@@ -6,7 +7,13 @@ var syncedBlockTypes = ['syncBlock', 'bodiedSyncBlock'];
6
7
  export var shouldAllowInlineDropTarget = function shouldAllowInlineDropTarget(isNested, node) {
7
8
  var isSameLayout = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
8
9
  var activeNode = arguments.length > 3 ? arguments[3] : undefined;
10
+ var parentNode = arguments.length > 4 ? arguments[4] : undefined;
11
+ var isInsideBodiedSyncBlock = (parentNode === null || parentNode === void 0 ? void 0 : parentNode.type.name) === 'bodiedSyncBlock';
9
12
  if (editorExperiment('advanced_layouts', false) || isNested) {
13
+ // If nested inside bodiedSyncBlock, enable inline drop target so user can drop to create a layout inside it
14
+ if (isInsideBodiedSyncBlock && expValEquals('platform_synced_block', 'isEnabled', true) && expValEquals('platform_synced_block_patch_6', 'isEnabled', true)) {
15
+ return true;
16
+ }
10
17
  return false;
11
18
  }
12
19
  if (isWrappedMedia(node)) {
@@ -15,7 +22,7 @@ export var shouldAllowInlineDropTarget = function shouldAllowInlineDropTarget(is
15
22
  if ((activeNode === null || activeNode === void 0 ? void 0 : activeNode.nodeType) === 'layoutSection') {
16
23
  return false;
17
24
  }
18
- if ((syncedBlockTypes.includes((activeNode === null || activeNode === void 0 ? void 0 : activeNode.nodeType) || '') || syncedBlockTypes.includes((node === null || node === void 0 ? void 0 : node.type.name) || '')) && editorExperiment('platform_synced_block', true)) {
25
+ if ((syncedBlockTypes.includes((activeNode === null || activeNode === void 0 ? void 0 : activeNode.nodeType) || '') || syncedBlockTypes.includes((node === null || node === void 0 ? void 0 : node.type.name) || '')) && editorExperiment('platform_synced_block', true) && !expValEquals('platform_synced_block_patch_6', 'isEnabled', true)) {
19
26
  return false;
20
27
  }
21
28
  if ((node === null || node === void 0 ? void 0 : node.type.name) === 'layoutSection') {
@@ -1,5 +1,6 @@
1
1
  import { GapCursorSelection, Side } from '@atlaskit/editor-common/selection';
2
2
  import { TextSelection } from '@atlaskit/editor-prosemirror/state';
3
+ // eslint-disable-next-line @typescript-eslint/consistent-type-imports
3
4
  import { ReplaceStep } from '@atlaskit/editor-prosemirror/transform';
4
5
  export var getInsertLayoutStep = function getInsertLayoutStep(tr) {
5
6
  return tr.steps.find(function (step) {
@@ -3,7 +3,7 @@
3
3
  * @jsxRuntime classic
4
4
  * @jsx jsx
5
5
  */
6
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
6
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
7
7
  import { css, jsx } from '@emotion/react';
8
8
  var spanStyles = css({
9
9
  display: 'inline-block',
@@ -10,7 +10,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
10
10
 
11
11
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
12
12
 
13
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
13
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
14
14
  import { css, jsx } from '@emotion/react';
15
15
  import { bind } from 'bind-event-listener';
16
16
  import { getDocument } from '@atlaskit/browser-apis';
@@ -6,7 +6,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
6
6
  */
7
7
  import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react';
8
8
 
9
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
9
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
10
10
  import { css, jsx } from '@emotion/react';
11
11
  import { layoutBreakpointWidth } from '@atlaskit/editor-shared-styles';
12
12
  import { DropIndicator } from '@atlaskit/pragmatic-drag-and-drop-react-drop-indicator/box';
@@ -7,7 +7,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
7
7
  */
8
8
  import { Fragment, useEffect, useMemo, useRef, useState } from 'react';
9
9
 
10
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
10
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
11
11
  import { css, jsx } from '@emotion/react';
12
12
  import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
13
13
  import { DropIndicator } from '@atlaskit/pragmatic-drag-and-drop-react-drop-indicator/box';
@@ -105,12 +105,13 @@ var HoverZone = function HoverZone(_ref) {
105
105
  _useActiveAnchorTrack2 = _slicedToArray(_useActiveAnchorTrack, 2),
106
106
  _isActive = _useActiveAnchorTrack2[0],
107
107
  setActiveAnchor = _useActiveAnchorTrack2[1];
108
+ var isInsideBodiedSyncBlock = parent && parent.type.name === 'bodiedSyncBlock' && expValEquals('platform_synced_block', 'isEnabled', true) && expValEquals('platform_synced_block_patch_6', 'isEnabled', true);
108
109
  useEffect(function () {
109
110
  if (ref.current) {
110
111
  return dropTargetForElements({
111
112
  element: ref.current,
112
113
  onDragEnter: function onDragEnter() {
113
- if (!isNestedDropTarget && editorExperiment('advanced_layouts', true)) {
114
+ if ((!isNestedDropTarget || isInsideBodiedSyncBlock) && editorExperiment('advanced_layouts', true)) {
114
115
  setActiveAnchor();
115
116
  }
116
117
  _onDragEnter();
@@ -119,7 +120,7 @@ var HoverZone = function HoverZone(_ref) {
119
120
  onDrop: onDrop
120
121
  });
121
122
  }
122
- }, [isNestedDropTarget, _onDragEnter, onDragLeave, onDrop, setActiveAnchor]);
123
+ }, [isNestedDropTarget, isInsideBodiedSyncBlock, _onDragEnter, onDragLeave, onDrop, setActiveAnchor]);
123
124
  var hoverZoneUpperStyle = useMemo(function () {
124
125
  var heightStyleOffset = "var(--editor-block-controls-drop-indicator-gap, 0)/2";
125
126
  var transformOffset = "var(".concat(EDITOR_BLOCK_CONTROLS_DROP_INDICATOR_OFFSET, ", 0)");
@@ -230,6 +231,7 @@ export var DropTarget = function DropTarget(props) {
230
231
  var dynamicStyle = _defineProperty(_defineProperty(_defineProperty({
231
232
  width: isNestedDropTarget ? 'unset' : '100%'
232
233
  }, EDITOR_BLOCK_CONTROLS_DROP_INDICATOR_WIDTH, isNestedDropTarget ? '100%' : "".concat(lineLength || DEFAULT_DROP_INDICATOR_WIDTH, "px")), EDITOR_BLOCK_CONTROLS_DROP_TARGET_LEFT_MARGIN, isNestedDropTarget ? getNestedNodeLeftPaddingMargin(parentNode === null || parentNode === void 0 ? void 0 : parentNode.type.name) : '0'), EDITOR_BLOCK_CONTROLS_DROP_TARGET_ZINDEX, layers.navigation());
234
+ var isShowInlineDropTarget = shouldAllowInlineDropTarget(isNestedDropTarget, nextNode, isSameLayout, activeNode, parentNode);
233
235
  return jsx(Fragment, null, jsx(HoverZone, {
234
236
  onDragEnter: function onDragEnter() {
235
237
  return setIsDraggedOver(true);
@@ -274,7 +276,7 @@ export var DropTarget = function DropTarget(props) {
274
276
  position: "lower",
275
277
  isNestedDropTarget: isNestedDropTarget,
276
278
  api: api
277
- }), shouldAllowInlineDropTarget(isNestedDropTarget, nextNode, isSameLayout, activeNode) && jsx(Fragment, null, jsx(InlineDropTarget
279
+ }), isShowInlineDropTarget && jsx(Fragment, null, jsx(InlineDropTarget
278
280
  // Ignored via go/ees005
279
281
  // eslint-disable-next-line react/jsx-props-no-spreading
280
282
  , _extends({}, props, {
@@ -3,7 +3,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  * @jsxRuntime classic
4
4
  * @jsx jsx
5
5
  */
6
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-global-styles, @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
6
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-global-styles, @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
7
7
  import { css, Global, jsx } from '@emotion/react';
8
8
  import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
9
9
  import { ANCHOR_VARIABLE_NAME, DRAG_HANDLE_WIDTH, isCSSAnchorSupported, tableControlsSpacing } from '@atlaskit/editor-common/styles';
@@ -8,7 +8,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
8
8
  */
9
9
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
10
10
 
11
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled
11
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
12
12
  import { css, jsx } from '@emotion/react';
13
13
  import { akEditorBreakoutPadding } from '@atlaskit/editor-shared-styles';
14
14
  import { DropIndicator } from '@atlaskit/pragmatic-drag-and-drop-react-drop-indicator/box';
@@ -9,7 +9,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
9
9
 
10
10
  import React, { useCallback, useEffect, useState } from 'react';
11
11
 
12
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
12
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
13
13
  import { css, jsx } from '@emotion/react';
14
14
  import { bind } from 'bind-event-listener';
15
15
  import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
@@ -6,7 +6,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
6
6
  */
7
7
  import React, { useEffect, useRef, useState } from 'react';
8
8
 
9
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
9
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports
10
10
  import { css, jsx } from '@emotion/react';
11
11
  import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
12
12
  import { akEditorFullPageNarrowBreakout } from '@atlaskit/editor-shared-styles';
@@ -1,5 +1,6 @@
1
+ import { type MemoizedFn } from 'memoize-one';
1
2
  import type { EditorView } from '@atlaskit/editor-prosemirror/view';
2
- export declare const isAnchorSupported: import("memoize-one").MemoizedFn<() => boolean>;
3
+ export declare const isAnchorSupported: MemoizedFn<() => boolean>;
3
4
  type RectInfo = {
4
5
  bottom: number;
5
6
  height: number;
@@ -15,8 +15,8 @@ export declare const isNodeWithCodeBlock: (tr: Transaction, start: number, nodeS
15
15
  * @param start The start position of the node.
16
16
  * @returns The appropriate selection for the node.
17
17
  */
18
- export declare const newGetSelection: (doc: PMNode, selectionEmpty: boolean, start: number) => false | NodeSelection | TextSelection;
19
- export declare const getSelection: (tr: Transaction, start: number, api?: ExtractInjectionAPI<BlockControlsPlugin>) => false | NodeSelection | TextSelection;
18
+ export declare const newGetSelection: (doc: PMNode, selectionEmpty: boolean, start: number) => false | TextSelection | NodeSelection;
19
+ export declare const getSelection: (tr: Transaction, start: number, api?: ExtractInjectionAPI<BlockControlsPlugin>) => false | TextSelection | NodeSelection;
20
20
  export declare const selectNode: (tr: Transaction, start: number, nodeType: string, api?: ExtractInjectionAPI<BlockControlsPlugin>) => Transaction;
21
21
  export declare const setCursorPositionAtMovedNode: (tr: Transaction, start: number, api?: ExtractInjectionAPI<BlockControlsPlugin>) => Transaction;
22
22
  /**
@@ -4,4 +4,4 @@ export declare const shouldAllowInlineDropTarget: (isNested: boolean, node?: PMN
4
4
  /**
5
5
  * Is the active node in the same layout as the target node
6
6
  */
7
- isSameLayout?: boolean, activeNode?: ActiveNode) => boolean;
7
+ isSameLayout?: boolean, activeNode?: ActiveNode, parentNode?: PMNode) => boolean;
@@ -1,3 +1,4 @@
1
+ import type { Mark } from '@atlaskit/editor-prosemirror/model';
1
2
  import { type EditorState } from '@atlaskit/editor-prosemirror/state';
2
3
  /**
3
4
  * Returns list of block marks on schema that widgets are allowed to render inside
@@ -13,4 +14,4 @@ import { type EditorState } from '@atlaskit/editor-prosemirror/state';
13
14
  * // [indent, alignment]
14
15
  * ```
15
16
  */
16
- export declare const getActiveBlockMarks: (state: EditorState, pos: number) => import("prosemirror-model").Mark[];
17
+ export declare const getActiveBlockMarks: (state: EditorState, pos: number) => Mark[];
@@ -1,6 +1,7 @@
1
1
  import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
2
2
  import type { ResolvedPos } from '@atlaskit/editor-prosemirror/model';
3
3
  import { NodeSelection, TextSelection, type ReadonlyTransaction, type Selection, type Transaction } from '@atlaskit/editor-prosemirror/state';
4
+ import type { CellSelection } from '@atlaskit/editor-tables';
4
5
  import type { BlockControlsPlugin } from '../../blockControlsPluginType';
5
6
  export declare const getMultiSelectionIfPosInside: (api: ExtractInjectionAPI<BlockControlsPlugin>, pos: number, tr?: Transaction) => {
6
7
  anchor?: number;
@@ -66,4 +67,4 @@ export declare const adjustSelectionBoundsForEdgePositions: ($from: ResolvedPos,
66
67
  * @param $to The resolved position of the end of the selection
67
68
  * @returns A Selection or undefined if selection is invalid
68
69
  */
69
- export declare const createPreservedSelection: ($from: ResolvedPos, $to: ResolvedPos) => NodeSelection | TextSelection | import("@atlaskit/editor-tables").CellSelection | undefined;
70
+ export declare const createPreservedSelection: ($from: ResolvedPos, $to: ResolvedPos) => TextSelection | CellSelection | NodeSelection | undefined;
@@ -1,3 +1,4 @@
1
1
  import { type Transaction } from '@atlaskit/editor-prosemirror/state';
2
- export declare const getInsertLayoutStep: (tr: Transaction) => import("prosemirror-transform").Step | undefined;
2
+ import { Step } from '@atlaskit/editor-prosemirror/transform';
3
+ export declare const getInsertLayoutStep: (tr: Transaction) => Step | undefined;
3
4
  export declare const updateSelection: (tr: Transaction, to: number, insertAtRight?: boolean) => Transaction;
@@ -1,3 +1,4 @@
1
+ import { type MemoizedFn } from 'memoize-one';
1
2
  import { Fragment, Slice } from '@atlaskit/editor-prosemirror/model';
2
3
  import type { NodeType, Node as PMNode, ResolvedPos } from '@atlaskit/editor-prosemirror/model';
3
4
  export declare const isInsideTable: (nodeType: NodeType) => Boolean;
@@ -16,7 +17,7 @@ export declare const isInSameLayout: ($from: ResolvedPos, $to: ResolvedPos) => b
16
17
  export declare const transformExpandToNestedExpand: (expandNode: PMNode) => PMNode | null;
17
18
  export declare const transformFragmentExpandToNestedExpand: (fragment: Fragment) => Fragment | null;
18
19
  export declare const transformSliceExpandToNestedExpand: (slice: Slice) => Slice | null;
19
- export declare const memoizedTransformExpandToNestedExpand: import("memoize-one").MemoizedFn<(node: PMNode) => PMNode | null>;
20
+ export declare const memoizedTransformExpandToNestedExpand: MemoizedFn<(node: PMNode) => PMNode | null>;
20
21
  export declare const canCreateNodeWithContentInsideAnotherNode: (nodeTypesToCreate: NodeType[], nodeWithTargetFragment: Fragment) => boolean;
21
22
  export declare function canMoveNodeToIndex(destParent: PMNode, indexIntoParent: number, srcNode: PMNode, $destNodePos: ResolvedPos, destNode?: PMNode): boolean;
22
23
  export declare function canMoveSliceToIndex(slice: Slice, sliceFromPos: number, sliceToPos: number, destParent: PMNode, indexIntoParent: number, $destNodePos: ResolvedPos, destNode?: PMNode): boolean;
@@ -32,7 +32,7 @@ export declare const QUICK_INSERT_DIMENSIONS: {
32
32
  export declare const QUICK_INSERT_LEFT_OFFSET = 16;
33
33
  export declare const dragHandleGap: (nodeType: string, parentNodeType?: string) => number;
34
34
  export declare const rootElementGap: (nodeType: string) => number;
35
- export declare const getNestedNodeLeftPaddingMargin: (nodeType?: string) => "8px" | "16px" | "20px" | "24px" | "28px" | "40px";
35
+ export declare const getNestedNodeLeftPaddingMargin: (nodeType?: string) => "24px" | "8px" | "16px" | "20px" | "28px" | "40px";
36
36
  export declare const topPositionAdjustment: (nodeType: string) => number;
37
37
  export declare const dropTargetMarginMap: {
38
38
  [key: number]: string;
@@ -1,5 +1,5 @@
1
1
  export declare const NODE_ANCHOR_ATTR_NAME = "data-node-anchor";
2
2
  export declare const NODE_NODE_TYPE_ATTR_NAME = "data-prosemirror-node-name";
3
- export declare const getAnchorAttrName: () => "data-node-anchor" | "data-drag-handler-anchor-name";
4
- export declare const getTypeNameAttrName: () => "data-prosemirror-node-name" | "data-drag-handler-node-type";
3
+ export declare const getAnchorAttrName: () => "data-drag-handler-anchor-name" | "data-node-anchor";
4
+ export declare const getTypeNameAttrName: () => "data-drag-handler-node-type" | "data-prosemirror-node-name";
5
5
  export declare const getTypeNameFromDom: (element?: Element | null) => string;
@@ -11,5 +11,5 @@ interface VisibilityContainerProps {
11
11
  children: React.ReactNode;
12
12
  controlSide?: 'left' | 'right';
13
13
  }
14
- export declare const VisibilityContainer: ({ api, children, controlSide }: VisibilityContainerProps) => jsx.JSX.Element;
14
+ export declare const VisibilityContainer: ({ api, children, controlSide, }: VisibilityContainerProps) => jsx.JSX.Element;
15
15
  export {};
@@ -1,5 +1,6 @@
1
+ import { type MemoizedFn } from 'memoize-one';
1
2
  import type { EditorView } from '@atlaskit/editor-prosemirror/view';
2
- export declare const isAnchorSupported: import("memoize-one").MemoizedFn<() => boolean>;
3
+ export declare const isAnchorSupported: MemoizedFn<() => boolean>;
3
4
  type RectInfo = {
4
5
  bottom: number;
5
6
  height: number;
@@ -15,8 +15,8 @@ export declare const isNodeWithCodeBlock: (tr: Transaction, start: number, nodeS
15
15
  * @param start The start position of the node.
16
16
  * @returns The appropriate selection for the node.
17
17
  */
18
- export declare const newGetSelection: (doc: PMNode, selectionEmpty: boolean, start: number) => false | NodeSelection | TextSelection;
19
- export declare const getSelection: (tr: Transaction, start: number, api?: ExtractInjectionAPI<BlockControlsPlugin>) => false | NodeSelection | TextSelection;
18
+ export declare const newGetSelection: (doc: PMNode, selectionEmpty: boolean, start: number) => false | TextSelection | NodeSelection;
19
+ export declare const getSelection: (tr: Transaction, start: number, api?: ExtractInjectionAPI<BlockControlsPlugin>) => false | TextSelection | NodeSelection;
20
20
  export declare const selectNode: (tr: Transaction, start: number, nodeType: string, api?: ExtractInjectionAPI<BlockControlsPlugin>) => Transaction;
21
21
  export declare const setCursorPositionAtMovedNode: (tr: Transaction, start: number, api?: ExtractInjectionAPI<BlockControlsPlugin>) => Transaction;
22
22
  /**
@@ -4,4 +4,4 @@ export declare const shouldAllowInlineDropTarget: (isNested: boolean, node?: PMN
4
4
  /**
5
5
  * Is the active node in the same layout as the target node
6
6
  */
7
- isSameLayout?: boolean, activeNode?: ActiveNode) => boolean;
7
+ isSameLayout?: boolean, activeNode?: ActiveNode, parentNode?: PMNode) => boolean;
@@ -1,3 +1,4 @@
1
+ import type { Mark } from '@atlaskit/editor-prosemirror/model';
1
2
  import { type EditorState } from '@atlaskit/editor-prosemirror/state';
2
3
  /**
3
4
  * Returns list of block marks on schema that widgets are allowed to render inside
@@ -13,4 +14,4 @@ import { type EditorState } from '@atlaskit/editor-prosemirror/state';
13
14
  * // [indent, alignment]
14
15
  * ```
15
16
  */
16
- export declare const getActiveBlockMarks: (state: EditorState, pos: number) => import("prosemirror-model").Mark[];
17
+ export declare const getActiveBlockMarks: (state: EditorState, pos: number) => Mark[];
@@ -1,6 +1,7 @@
1
1
  import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
2
2
  import type { ResolvedPos } from '@atlaskit/editor-prosemirror/model';
3
3
  import { NodeSelection, TextSelection, type ReadonlyTransaction, type Selection, type Transaction } from '@atlaskit/editor-prosemirror/state';
4
+ import type { CellSelection } from '@atlaskit/editor-tables';
4
5
  import type { BlockControlsPlugin } from '../../blockControlsPluginType';
5
6
  export declare const getMultiSelectionIfPosInside: (api: ExtractInjectionAPI<BlockControlsPlugin>, pos: number, tr?: Transaction) => {
6
7
  anchor?: number;
@@ -66,4 +67,4 @@ export declare const adjustSelectionBoundsForEdgePositions: ($from: ResolvedPos,
66
67
  * @param $to The resolved position of the end of the selection
67
68
  * @returns A Selection or undefined if selection is invalid
68
69
  */
69
- export declare const createPreservedSelection: ($from: ResolvedPos, $to: ResolvedPos) => NodeSelection | TextSelection | import("@atlaskit/editor-tables").CellSelection | undefined;
70
+ export declare const createPreservedSelection: ($from: ResolvedPos, $to: ResolvedPos) => TextSelection | CellSelection | NodeSelection | undefined;
@@ -1,3 +1,4 @@
1
1
  import { type Transaction } from '@atlaskit/editor-prosemirror/state';
2
- export declare const getInsertLayoutStep: (tr: Transaction) => import("prosemirror-transform").Step | undefined;
2
+ import { Step } from '@atlaskit/editor-prosemirror/transform';
3
+ export declare const getInsertLayoutStep: (tr: Transaction) => Step | undefined;
3
4
  export declare const updateSelection: (tr: Transaction, to: number, insertAtRight?: boolean) => Transaction;
@@ -1,3 +1,4 @@
1
+ import { type MemoizedFn } from 'memoize-one';
1
2
  import { Fragment, Slice } from '@atlaskit/editor-prosemirror/model';
2
3
  import type { NodeType, Node as PMNode, ResolvedPos } from '@atlaskit/editor-prosemirror/model';
3
4
  export declare const isInsideTable: (nodeType: NodeType) => Boolean;
@@ -16,7 +17,7 @@ export declare const isInSameLayout: ($from: ResolvedPos, $to: ResolvedPos) => b
16
17
  export declare const transformExpandToNestedExpand: (expandNode: PMNode) => PMNode | null;
17
18
  export declare const transformFragmentExpandToNestedExpand: (fragment: Fragment) => Fragment | null;
18
19
  export declare const transformSliceExpandToNestedExpand: (slice: Slice) => Slice | null;
19
- export declare const memoizedTransformExpandToNestedExpand: import("memoize-one").MemoizedFn<(node: PMNode) => PMNode | null>;
20
+ export declare const memoizedTransformExpandToNestedExpand: MemoizedFn<(node: PMNode) => PMNode | null>;
20
21
  export declare const canCreateNodeWithContentInsideAnotherNode: (nodeTypesToCreate: NodeType[], nodeWithTargetFragment: Fragment) => boolean;
21
22
  export declare function canMoveNodeToIndex(destParent: PMNode, indexIntoParent: number, srcNode: PMNode, $destNodePos: ResolvedPos, destNode?: PMNode): boolean;
22
23
  export declare function canMoveSliceToIndex(slice: Slice, sliceFromPos: number, sliceToPos: number, destParent: PMNode, indexIntoParent: number, $destNodePos: ResolvedPos, destNode?: PMNode): boolean;
@@ -32,7 +32,7 @@ export declare const QUICK_INSERT_DIMENSIONS: {
32
32
  export declare const QUICK_INSERT_LEFT_OFFSET = 16;
33
33
  export declare const dragHandleGap: (nodeType: string, parentNodeType?: string) => number;
34
34
  export declare const rootElementGap: (nodeType: string) => number;
35
- export declare const getNestedNodeLeftPaddingMargin: (nodeType?: string) => "8px" | "16px" | "20px" | "24px" | "28px" | "40px";
35
+ export declare const getNestedNodeLeftPaddingMargin: (nodeType?: string) => "24px" | "8px" | "16px" | "20px" | "28px" | "40px";
36
36
  export declare const topPositionAdjustment: (nodeType: string) => number;
37
37
  export declare const dropTargetMarginMap: {
38
38
  [key: number]: string;
@@ -1,5 +1,5 @@
1
1
  export declare const NODE_ANCHOR_ATTR_NAME = "data-node-anchor";
2
2
  export declare const NODE_NODE_TYPE_ATTR_NAME = "data-prosemirror-node-name";
3
- export declare const getAnchorAttrName: () => "data-node-anchor" | "data-drag-handler-anchor-name";
4
- export declare const getTypeNameAttrName: () => "data-prosemirror-node-name" | "data-drag-handler-node-type";
3
+ export declare const getAnchorAttrName: () => "data-drag-handler-anchor-name" | "data-node-anchor";
4
+ export declare const getTypeNameAttrName: () => "data-drag-handler-node-type" | "data-prosemirror-node-name";
5
5
  export declare const getTypeNameFromDom: (element?: Element | null) => string;
@@ -11,5 +11,5 @@ interface VisibilityContainerProps {
11
11
  children: React.ReactNode;
12
12
  controlSide?: 'left' | 'right';
13
13
  }
14
- export declare const VisibilityContainer: ({ api, children, controlSide }: VisibilityContainerProps) => jsx.JSX.Element;
14
+ export declare const VisibilityContainer: ({ api, children, controlSide, }: VisibilityContainerProps) => jsx.JSX.Element;
15
15
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-block-controls",
3
- "version": "8.12.0",
3
+ "version": "9.0.1",
4
4
  "description": "Block controls plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -30,20 +30,20 @@
30
30
  "dependencies": {
31
31
  "@atlaskit/browser-apis": "^0.0.1",
32
32
  "@atlaskit/button": "^23.10.0",
33
- "@atlaskit/editor-plugin-accessibility-utils": "^7.0.0",
34
- "@atlaskit/editor-plugin-analytics": "^7.0.0",
35
- "@atlaskit/editor-plugin-editor-disabled": "^7.0.0",
36
- "@atlaskit/editor-plugin-editor-viewmode": "^9.0.0",
37
- "@atlaskit/editor-plugin-feature-flags": "^6.0.0",
38
- "@atlaskit/editor-plugin-interaction": "^14.0.0",
39
- "@atlaskit/editor-plugin-limited-mode": "^4.0.0",
40
- "@atlaskit/editor-plugin-metrics": "^8.0.0",
41
- "@atlaskit/editor-plugin-quick-insert": "^7.5.0",
42
- "@atlaskit/editor-plugin-selection": "^7.1.0",
43
- "@atlaskit/editor-plugin-toolbar": "^4.1.0",
44
- "@atlaskit/editor-plugin-type-ahead": "^7.0.0",
45
- "@atlaskit/editor-plugin-user-intent": "^5.0.0",
46
- "@atlaskit/editor-plugin-width": "^8.1.0",
33
+ "@atlaskit/editor-plugin-accessibility-utils": "^8.0.0",
34
+ "@atlaskit/editor-plugin-analytics": "^8.0.0",
35
+ "@atlaskit/editor-plugin-editor-disabled": "^8.0.0",
36
+ "@atlaskit/editor-plugin-editor-viewmode": "^10.0.0",
37
+ "@atlaskit/editor-plugin-feature-flags": "^7.0.0",
38
+ "@atlaskit/editor-plugin-interaction": "^15.0.0",
39
+ "@atlaskit/editor-plugin-limited-mode": "^5.0.0",
40
+ "@atlaskit/editor-plugin-metrics": "^9.0.0",
41
+ "@atlaskit/editor-plugin-quick-insert": "^8.0.0",
42
+ "@atlaskit/editor-plugin-selection": "^8.0.0",
43
+ "@atlaskit/editor-plugin-toolbar": "^5.0.0",
44
+ "@atlaskit/editor-plugin-type-ahead": "^8.0.0",
45
+ "@atlaskit/editor-plugin-user-intent": "^6.0.0",
46
+ "@atlaskit/editor-plugin-width": "^9.0.0",
47
47
  "@atlaskit/editor-prosemirror": "^7.3.0",
48
48
  "@atlaskit/editor-shared-styles": "^3.10.0",
49
49
  "@atlaskit/editor-tables": "^2.9.0",
@@ -56,7 +56,7 @@
56
56
  "@atlaskit/pragmatic-drag-and-drop-react-drop-indicator": "^3.2.0",
57
57
  "@atlaskit/primitives": "^18.0.0",
58
58
  "@atlaskit/theme": "^22.0.0",
59
- "@atlaskit/tmp-editor-statsig": "^35.6.0",
59
+ "@atlaskit/tmp-editor-statsig": "^36.0.0",
60
60
  "@atlaskit/tokens": "^11.1.0",
61
61
  "@atlaskit/tooltip": "^20.14.0",
62
62
  "@babel/runtime": "^7.0.0",
@@ -67,7 +67,7 @@
67
67
  "uuid": "^3.1.0"
68
68
  },
69
69
  "peerDependencies": {
70
- "@atlaskit/editor-common": "^111.33.0",
70
+ "@atlaskit/editor-common": "^112.0.0",
71
71
  "react": "^18.2.0",
72
72
  "react-dom": "^18.2.0",
73
73
  "react-intl-next": "npm:react-intl@^5.18.1"