@atlaskit/editor-plugin-layout 20.0.1 → 20.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -16,8 +16,8 @@ import { BreakoutResizer, ignoreResizerMutations } from '@atlaskit/editor-common
16
16
  import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
17
17
  import { DOMSerializer } from '@atlaskit/editor-prosemirror/model';
18
18
  import { fg } from '@atlaskit/platform-feature-flags/fg';
19
- import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
20
19
  import { editorExperiment } from '@atlaskit/tmp-editor-statsig/editor-experiment';
20
+ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
21
21
  import { selectIntoLayout } from '../pm-plugins/utils';
22
22
  import { LayoutSSRReactContextsProvider } from '../ui/LayoutSSRReactContextsProvider';
23
23
  import { isEmptyLayout } from './utils';
@@ -9,8 +9,8 @@ import { NodeSelection, TextSelection } from '@atlaskit/editor-prosemirror/state
9
9
  import { Mapping, StepMap } from '@atlaskit/editor-prosemirror/transform';
10
10
  import { safeInsert } from '@atlaskit/editor-prosemirror/utils';
11
11
  import { fg } from '@atlaskit/platform-feature-flags/fg';
12
- import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
13
12
  import { editorExperiment } from '@atlaskit/tmp-editor-statsig/editor-experiment';
13
+ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
14
14
  import { DEFAULT_LAYOUT_COLUMN_VALIGN, EVEN_DISTRIBUTED_COL_WIDTHS, MAX_LAYOUT_COLUMNS, MAX_STANDARD_LAYOUT_COLUMNS, MIN_LAYOUT_COLUMN_WIDTH_PERCENT } from './consts';
15
15
  import { pluginKey } from './plugin-key';
16
16
  import { calculateDistribution, isDistributedUniformly, redistributeAfterDeletion, redistributeProportionally } from './utils/layout-column-distribution';
@@ -11,8 +11,8 @@ import { Fragment } from '@atlaskit/editor-prosemirror/model';
11
11
  import { NodeSelection, Selection, TextSelection } from '@atlaskit/editor-prosemirror/state';
12
12
  import { findParentNodeClosestToPos, findParentNodeOfType } from '@atlaskit/editor-prosemirror/utils';
13
13
  import { Decoration, DecorationSet } from '@atlaskit/editor-prosemirror/view';
14
- import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
15
14
  import { editorExperiment } from '@atlaskit/tmp-editor-statsig/editor-experiment';
15
+ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
16
16
  import { fixColumnSizes, fixColumnStructure, getSelectedLayout, LAYOUT_COLUMN_INSERT_META } from './actions';
17
17
  import { getColumnDividerDecorations } from './column-resize-divider';
18
18
  import { EVEN_DISTRIBUTED_COL_WIDTHS } from './consts';
@@ -4,8 +4,8 @@ import { TextSelection } from '@atlaskit/editor-prosemirror/state';
4
4
  import { findParentNodeOfType, findSelectedNodeOfType } from '@atlaskit/editor-prosemirror/utils';
5
5
  import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
6
6
  import { fg } from '@atlaskit/platform-feature-flags/fg';
7
- import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
8
7
  import { editorExperiment } from '@atlaskit/tmp-editor-statsig/editor-experiment';
8
+ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
9
9
  export var getMaybeLayoutSection = function getMaybeLayoutSection(state) {
10
10
  var _state$schema$nodes = state.schema.nodes,
11
11
  layoutSection = _state$schema$nodes.layoutSection,
@@ -10,6 +10,7 @@ import { UserIntentPopupWrapper } from '@atlaskit/editor-common/user-intent';
10
10
  import { akEditorFloatingOverlapPanelZIndex } from '@atlaskit/editor-shared-styles';
11
11
  import { ToolbarDropdownMenuProvider } from '@atlaskit/editor-toolbar';
12
12
  import { SurfaceRenderer } from '@atlaskit/editor-ui-control-model';
13
+ import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
13
14
  import { getLayoutColumnMenuAnchorPos } from '../../pm-plugins/utils/layout-column-selection';
14
15
  import { LAYOUT_COLUMN_MENU_FALLBACKS } from './components';
15
16
  import { LAYOUT_COLUMN_MENU } from './keys';
@@ -43,8 +44,7 @@ export var LayoutColumnMenu = /*#__PURE__*/React.memo(function LayoutColumnMenu(
43
44
  editorView = _ref.editorView,
44
45
  mountTo = _ref.mountTo,
45
46
  boundariesElement = _ref.boundariesElement,
46
- scrollableElement = _ref.scrollableElement,
47
- useRegistryAnchor = _ref.useRegistryAnchor;
47
+ scrollableElement = _ref.scrollableElement;
48
48
  var _useSharedPluginState = useSharedPluginStateWithSelector(api, ['layout', 'selection'], function (states) {
49
49
  var _states$layoutState$i, _states$layoutState, _states$layoutState2, _states$layoutState$l, _states$layoutState3, _states$selectionStat;
50
50
  return {
@@ -115,12 +115,13 @@ export var LayoutColumnMenu = /*#__PURE__*/React.memo(function LayoutColumnMenu(
115
115
  });
116
116
  }, [handleMenuKeyDown, isLayoutColumnMenuOpen]);
117
117
  var components = (_api$uiControlRegistr = api === null || api === void 0 || (_api$uiControlRegistr2 = api.uiControlRegistry) === null || _api$uiControlRegistr2 === void 0 ? void 0 : _api$uiControlRegistr2.actions.getComponents(LAYOUT_COLUMN_MENU.key)) !== null && _api$uiControlRegistr !== void 0 ? _api$uiControlRegistr : [];
118
+ var hasValidMenuSelection = !isExperimentEnabled('platform_editor_block_control_migration') || selection !== undefined && getLayoutColumnMenuAnchorPos(selection, layoutColumnMenuAnchorPos) !== undefined;
118
119
  var legacyTarget = useMemo(function () {
119
- return isLayoutColumnMenuOpen && !useRegistryAnchor ? getLayoutColumnMenuTarget(editorView, selection, layoutColumnMenuAnchorPos) : null;
120
- }, [editorView, isLayoutColumnMenuOpen, layoutColumnMenuAnchorPos, selection, useRegistryAnchor]);
120
+ return isLayoutColumnMenuOpen && !isExperimentEnabled('platform_editor_block_control_migration') ? getLayoutColumnMenuTarget(editorView, selection, layoutColumnMenuAnchorPos) : null;
121
+ }, [editorView, isLayoutColumnMenuOpen, layoutColumnMenuAnchorPos, selection]);
121
122
  var surfaceTargetRef = useRef(null);
122
123
  var surfaceAnchorPosRef = useRef(undefined);
123
- if (!useRegistryAnchor || !isLayoutColumnMenuOpen) {
124
+ if (!isExperimentEnabled('platform_editor_block_control_migration') || !isLayoutColumnMenuOpen) {
124
125
  surfaceTargetRef.current = null;
125
126
  surfaceAnchorPosRef.current = undefined;
126
127
  } else if (!surfaceTargetRef.current || surfaceAnchorPosRef.current !== layoutColumnMenuAnchorPos) {
@@ -128,7 +129,7 @@ export var LayoutColumnMenu = /*#__PURE__*/React.memo(function LayoutColumnMenu(
128
129
  surfaceTargetRef.current = (_surfaceDragHandleEle = surfaceDragHandleElementStore.get(editorView)) !== null && _surfaceDragHandleEle !== void 0 ? _surfaceDragHandleEle : surfaceTargetRef.current;
129
130
  surfaceAnchorPosRef.current = layoutColumnMenuAnchorPos;
130
131
  }
131
- var target = useRegistryAnchor ? surfaceTargetRef.current : legacyTarget;
132
+ var target = isExperimentEnabled('platform_editor_block_control_migration') ? surfaceTargetRef.current : legacyTarget;
132
133
  var hasValidTarget = target instanceof HTMLElement;
133
134
  var positionLayoutColumnMenu = useCallback(function (position) {
134
135
  var _menuWrapperRef$curre;
@@ -147,10 +148,10 @@ export var LayoutColumnMenu = /*#__PURE__*/React.memo(function LayoutColumnMenu(
147
148
  return position;
148
149
  }, [editorView, scrollableElement, target]);
149
150
  useEffect(function () {
150
- if (isLayoutColumnMenuOpen && (!hasValidTarget || components.length === 0)) {
151
+ if (isLayoutColumnMenuOpen && (!hasValidMenuSelection || !hasValidTarget || components.length === 0)) {
151
152
  closeLayoutColumnMenu();
152
153
  }
153
- }, [closeLayoutColumnMenu, components.length, hasValidTarget, isLayoutColumnMenuOpen]);
154
+ }, [closeLayoutColumnMenu, components.length, hasValidMenuSelection, hasValidTarget, isLayoutColumnMenuOpen]);
154
155
  var _useMemo = useMemo(function () {
155
156
  return getLayoutColumnMenuPositioningProps();
156
157
  }, []),
@@ -158,7 +159,7 @@ export var LayoutColumnMenu = /*#__PURE__*/React.memo(function LayoutColumnMenu(
158
159
  alignY = _useMemo.alignY,
159
160
  offset = _useMemo.offset,
160
161
  useManualBelowFlip = _useMemo.useManualBelowFlip;
161
- if (!isLayoutColumnMenuOpen || components.length === 0 || !hasValidTarget) {
162
+ if (!isLayoutColumnMenuOpen || !hasValidMenuSelection || components.length === 0 || !hasValidTarget) {
162
163
  return null;
163
164
  }
164
165
  return /*#__PURE__*/React.createElement(PopupWithListeners, {
@@ -2,10 +2,10 @@ import React, { useCallback } from 'react';
2
2
  import { useIntl } from 'react-intl';
3
3
  import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from '@atlaskit/editor-common/analytics';
4
4
  import { QuickInsertMenuItem } from '@atlaskit/editor-common/quick-insert/menu-item';
5
- import LayoutThreeColumnsIcon from '@atlaskit/icon/core/layout-three-columns';
6
- import LayoutTwoColumnsIcon from '@atlaskit/icon/core/layout-two-columns';
7
5
  import LayoutFiveColumnsIcon from '@atlaskit/icon-lab/core/layout-five-columns';
8
6
  import LayoutFourColumnsIcon from '@atlaskit/icon-lab/core/layout-four-columns';
7
+ import LayoutThreeColumnsIcon from '@atlaskit/icon/core/layout-three-columns';
8
+ import LayoutTwoColumnsIcon from '@atlaskit/icon/core/layout-two-columns';
9
9
  import { selectIntoLayoutSection } from '../../layoutPlugin';
10
10
  import { createMultiColumnLayoutSection } from '../../pm-plugins/actions';
11
11
  var icons = {
@@ -17,8 +17,8 @@ import LayoutTwoColumnsIcon from '@atlaskit/icon/core/layout-two-columns';
17
17
  import LayoutTwoColumnsSidebarLeftIcon from '@atlaskit/icon/core/layout-two-columns-sidebar-left';
18
18
  import LayoutTwoColumnsSidebarRightIcon from '@atlaskit/icon/core/layout-two-columns-sidebar-right';
19
19
  import TableColumnsDistributeIcon from '@atlaskit/icon/core/table-columns-distribute';
20
- import { expValEqualsNoExposure } from '@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure';
21
20
  import { editorExperiment } from '@atlaskit/tmp-editor-statsig/editor-experiment';
21
+ import { expValEqualsNoExposure } from '@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure';
22
22
  import { deleteActiveLayoutNode, distributeLayoutColumns, getPresetLayout, setPresetLayout } from '../pm-plugins/actions';
23
23
  import { isDistributedUniformly } from '../pm-plugins/utils/layout-column-distribution';
24
24
  import { EditorLayoutFiveColumnsIcon, EditorLayoutFourColumnsIcon } from './icons/LayoutColumnsIcon';
@@ -8,7 +8,6 @@ type LayoutColumnMenuProps = {
8
8
  editorView: EditorView;
9
9
  mountTo?: HTMLElement;
10
10
  scrollableElement?: HTMLElement;
11
- useRegistryAnchor: boolean;
12
11
  };
13
12
  export declare const LayoutColumnMenu: React.NamedExoticComponent<LayoutColumnMenuProps>;
14
13
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-layout",
3
- "version": "20.0.1",
3
+ "version": "20.0.3",
4
4
  "description": "Layout plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -24,7 +24,7 @@
24
24
  "@atlaskit/adf-schema": "^57.5.0",
25
25
  "@atlaskit/css": "^1.1.0",
26
26
  "@atlaskit/editor-plugin-analytics": "^19.0.0",
27
- "@atlaskit/editor-plugin-block-controls": "^20.0.0",
27
+ "@atlaskit/editor-plugin-block-controls": "^20.1.0",
28
28
  "@atlaskit/editor-plugin-block-menu": "^18.0.0",
29
29
  "@atlaskit/editor-plugin-decorations": "^19.0.0",
30
30
  "@atlaskit/editor-plugin-editor-disabled": "^19.0.0",
@@ -32,25 +32,25 @@
32
32
  "@atlaskit/editor-plugin-interaction": "^32.0.0",
33
33
  "@atlaskit/editor-plugin-selection": "^19.0.0",
34
34
  "@atlaskit/editor-plugin-toolbar": "^16.0.0",
35
- "@atlaskit/editor-plugin-ui-control-registry": "^13.0.0",
35
+ "@atlaskit/editor-plugin-ui-control-registry": "^13.1.0",
36
36
  "@atlaskit/editor-plugin-user-intent": "^17.0.0",
37
37
  "@atlaskit/editor-plugin-width": "^20.0.0",
38
38
  "@atlaskit/editor-prosemirror": "^9.0.0",
39
39
  "@atlaskit/editor-shared-styles": "^4.3.0",
40
- "@atlaskit/editor-toolbar": "^2.6.0",
41
- "@atlaskit/editor-ui-control-model": "^2.9.0",
40
+ "@atlaskit/editor-toolbar": "^2.7.0",
41
+ "@atlaskit/editor-ui-control-model": "^2.10.0",
42
42
  "@atlaskit/icon": "^37.7.0",
43
43
  "@atlaskit/icon-lab": "^7.9.0",
44
44
  "@atlaskit/platform-feature-experiments": "^0.3.0",
45
45
  "@atlaskit/platform-feature-flags": "^2.2.0",
46
- "@atlaskit/tmp-editor-statsig": "^200.0.0",
46
+ "@atlaskit/tmp-editor-statsig": "^201.0.0",
47
47
  "@atlaskit/tokens": "^18.2.0",
48
48
  "@babel/runtime": "^7.0.0",
49
49
  "@emotion/react": "^11.7.1",
50
50
  "bind-event-listener": "^3.0.0"
51
51
  },
52
52
  "peerDependencies": {
53
- "@atlaskit/editor-common": "^123.0.0",
53
+ "@atlaskit/editor-common": "^123.3.0",
54
54
  "react": "^18.2.0 || ^19.2.0",
55
55
  "react-intl": "^5.25.1 || ^6.0.0 || ^7.0.0"
56
56
  },