@atlaskit/editor-plugin-layout 10.3.4 → 10.4.0
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 +20 -0
- package/dist/cjs/layoutPlugin.js +8 -0
- package/dist/cjs/pm-plugins/actions.js +158 -8
- package/dist/cjs/pm-plugins/column-resize-divider.js +7 -9
- package/dist/cjs/pm-plugins/consts.js +4 -1
- package/dist/cjs/pm-plugins/utils/redistribute-proportionally.js +141 -0
- package/dist/cjs/ui/LayoutColumnMenu/DeleteColumnDropdownItem.js +42 -0
- package/dist/cjs/ui/LayoutColumnMenu/InsertColumnDropdownItem.js +69 -0
- package/dist/cjs/ui/LayoutColumnMenu/VerticalAlignDropdownItem.js +7 -9
- package/dist/cjs/ui/LayoutColumnMenu/VerticalAlignNestedMenu.js +11 -10
- package/dist/cjs/ui/LayoutColumnMenu/components.js +31 -0
- package/dist/cjs/ui/LayoutColumnMenu/index.js +39 -11
- package/dist/cjs/ui/LayoutColumnMenu/keys.js +14 -2
- package/dist/cjs/ui/LayoutColumnMenu/layoutColumnSelection.js +21 -0
- package/dist/cjs/ui/LayoutColumnMenu/useCurrentLayoutColumn.js +20 -0
- package/dist/es2019/layoutPlugin.js +9 -1
- package/dist/es2019/pm-plugins/actions.js +152 -1
- package/dist/es2019/pm-plugins/column-resize-divider.js +8 -9
- package/dist/es2019/pm-plugins/consts.js +3 -0
- package/dist/es2019/pm-plugins/utils/redistribute-proportionally.js +113 -0
- package/dist/es2019/ui/LayoutColumnMenu/DeleteColumnDropdownItem.js +37 -0
- package/dist/es2019/ui/LayoutColumnMenu/InsertColumnDropdownItem.js +64 -0
- package/dist/es2019/ui/LayoutColumnMenu/VerticalAlignDropdownItem.js +6 -11
- package/dist/es2019/ui/LayoutColumnMenu/VerticalAlignNestedMenu.js +7 -10
- package/dist/es2019/ui/LayoutColumnMenu/components.js +32 -1
- package/dist/es2019/ui/LayoutColumnMenu/index.js +34 -13
- package/dist/es2019/ui/LayoutColumnMenu/keys.js +17 -2
- package/dist/es2019/ui/LayoutColumnMenu/layoutColumnSelection.js +9 -0
- package/dist/es2019/ui/LayoutColumnMenu/useCurrentLayoutColumn.js +10 -0
- package/dist/esm/layoutPlugin.js +9 -1
- package/dist/esm/pm-plugins/actions.js +156 -7
- package/dist/esm/pm-plugins/column-resize-divider.js +8 -9
- package/dist/esm/pm-plugins/consts.js +3 -0
- package/dist/esm/pm-plugins/utils/redistribute-proportionally.js +134 -0
- package/dist/esm/ui/LayoutColumnMenu/DeleteColumnDropdownItem.js +35 -0
- package/dist/esm/ui/LayoutColumnMenu/InsertColumnDropdownItem.js +61 -0
- package/dist/esm/ui/LayoutColumnMenu/VerticalAlignDropdownItem.js +8 -10
- package/dist/esm/ui/LayoutColumnMenu/VerticalAlignNestedMenu.js +9 -9
- package/dist/esm/ui/LayoutColumnMenu/components.js +32 -1
- package/dist/esm/ui/LayoutColumnMenu/index.js +40 -13
- package/dist/esm/ui/LayoutColumnMenu/keys.js +13 -1
- package/dist/esm/ui/LayoutColumnMenu/layoutColumnSelection.js +15 -0
- package/dist/esm/ui/LayoutColumnMenu/useCurrentLayoutColumn.js +14 -0
- package/dist/types/layoutPluginType.d.ts +4 -2
- package/dist/types/pm-plugins/actions.d.ts +7 -0
- package/dist/types/pm-plugins/consts.d.ts +3 -0
- package/dist/types/pm-plugins/utils/redistribute-proportionally.d.ts +2 -0
- package/dist/types/ui/LayoutColumnMenu/DeleteColumnDropdownItem.d.ts +8 -0
- package/dist/types/ui/LayoutColumnMenu/InsertColumnDropdownItem.d.ts +10 -0
- package/dist/types/ui/LayoutColumnMenu/keys.d.ts +3 -0
- package/dist/types/ui/LayoutColumnMenu/layoutColumnSelection.d.ts +7 -0
- package/dist/types/ui/LayoutColumnMenu/useCurrentLayoutColumn.d.ts +5 -0
- package/dist/types-ts4.5/layoutPluginType.d.ts +4 -2
- package/dist/types-ts4.5/pm-plugins/actions.d.ts +7 -0
- package/dist/types-ts4.5/pm-plugins/consts.d.ts +3 -0
- package/dist/types-ts4.5/pm-plugins/utils/redistribute-proportionally.d.ts +2 -0
- package/dist/types-ts4.5/ui/LayoutColumnMenu/DeleteColumnDropdownItem.d.ts +8 -0
- package/dist/types-ts4.5/ui/LayoutColumnMenu/InsertColumnDropdownItem.d.ts +10 -0
- package/dist/types-ts4.5/ui/LayoutColumnMenu/keys.d.ts +3 -0
- package/dist/types-ts4.5/ui/LayoutColumnMenu/layoutColumnSelection.d.ts +7 -0
- package/dist/types-ts4.5/ui/LayoutColumnMenu/useCurrentLayoutColumn.d.ts +5 -0
- package/package.json +4 -4
- package/dist/cjs/ui/LayoutColumnMenu/useCurrentLayoutColumnValign.js +0 -22
- package/dist/es2019/ui/LayoutColumnMenu/useCurrentLayoutColumnValign.js +0 -14
- package/dist/esm/ui/LayoutColumnMenu/useCurrentLayoutColumnValign.js +0 -16
- package/dist/types/ui/LayoutColumnMenu/useCurrentLayoutColumnValign.d.ts +0 -11
- package/dist/types-ts4.5/ui/LayoutColumnMenu/useCurrentLayoutColumnValign.d.ts +0 -11
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { NextEditorPlugin, OptionalPlugin } from '@atlaskit/editor-common/types';
|
|
1
|
+
import type { EditorCommand, NextEditorPlugin, OptionalPlugin } from '@atlaskit/editor-common/types';
|
|
2
2
|
import type { AnalyticsPlugin } from '@atlaskit/editor-plugin-analytics';
|
|
3
3
|
import type { BlockMenuPlugin } from '@atlaskit/editor-plugin-block-menu';
|
|
4
4
|
import type { DecorationsPlugin } from '@atlaskit/editor-plugin-decorations';
|
|
@@ -9,7 +9,7 @@ import type { SelectionPlugin } from '@atlaskit/editor-plugin-selection';
|
|
|
9
9
|
import type { ToolbarPlugin } from '@atlaskit/editor-plugin-toolbar';
|
|
10
10
|
import type { UiControlRegistryPlugin } from '@atlaskit/editor-plugin-ui-control-registry';
|
|
11
11
|
import type { WidthPlugin } from '@atlaskit/editor-plugin-width';
|
|
12
|
-
import type { insertLayoutColumnsWithAnalytics, setLayoutColumnValign, toggleLayoutColumnMenu } from './pm-plugins/actions';
|
|
12
|
+
import type { deleteLayoutColumn, InsertLayoutColumnSide, insertLayoutColumnsWithAnalytics, setLayoutColumnValign, toggleLayoutColumnMenu } from './pm-plugins/actions';
|
|
13
13
|
import type { LayoutState } from './pm-plugins/types';
|
|
14
14
|
import type { LayoutPluginOptions } from './types';
|
|
15
15
|
export type LayoutPluginDependencies = [
|
|
@@ -29,6 +29,8 @@ export type LayoutPlugin = NextEditorPlugin<'layout', {
|
|
|
29
29
|
insertLayoutColumns: ReturnType<typeof insertLayoutColumnsWithAnalytics>;
|
|
30
30
|
};
|
|
31
31
|
commands: {
|
|
32
|
+
deleteLayoutColumn: ReturnType<typeof deleteLayoutColumn>;
|
|
33
|
+
insertLayoutColumn: (side: InsertLayoutColumnSide) => EditorCommand;
|
|
32
34
|
setLayoutColumnValign: typeof setLayoutColumnValign;
|
|
33
35
|
toggleLayoutColumnMenu: typeof toggleLayoutColumnMenu;
|
|
34
36
|
};
|
|
@@ -27,7 +27,14 @@ export declare const setPresetLayout: (editorAnalyticsAPI: EditorAnalyticsAPI |
|
|
|
27
27
|
export declare const fixColumnSizes: (changedTr: Transaction, state: EditorState) => Change | undefined;
|
|
28
28
|
export declare const fixColumnStructure: (state: EditorState) => Transaction | undefined;
|
|
29
29
|
export declare const deleteActiveLayoutNode: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined, inputMethod?: INPUT_METHOD.FLOATING_TB) => Command;
|
|
30
|
+
export type InsertLayoutColumnSide = 'left' | 'right';
|
|
31
|
+
/**
|
|
32
|
+
* Returns the active maximum layout column count for the current advanced layouts experiment state.
|
|
33
|
+
*/
|
|
34
|
+
export declare function getEffectiveMaxLayoutColumns(): number;
|
|
35
|
+
export declare const insertLayoutColumn: (side: InsertLayoutColumnSide, editorAnalyticsAPI?: EditorAnalyticsAPI) => EditorCommand;
|
|
30
36
|
export declare const setLayoutColumnValign: (valign: Valign) => EditorCommand;
|
|
31
37
|
export declare const toggleLayoutColumnMenu: ({ isOpen }: {
|
|
32
38
|
isOpen?: boolean;
|
|
33
39
|
}) => EditorCommand;
|
|
40
|
+
export declare const deleteLayoutColumn: (editorAnalyticsAPI?: EditorAnalyticsAPI) => EditorCommand;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
|
|
3
|
+
import type { LayoutPlugin } from '../../layoutPluginType';
|
|
4
|
+
type DeleteColumnDropdownItemProps = {
|
|
5
|
+
api: ExtractInjectionAPI<LayoutPlugin> | undefined;
|
|
6
|
+
};
|
|
7
|
+
declare const DeleteColumnDropdownItem: ({ api, }: DeleteColumnDropdownItemProps) => React.JSX.Element | null;
|
|
8
|
+
export { DeleteColumnDropdownItem };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
|
|
3
|
+
import type { LayoutPlugin } from '../../layoutPluginType';
|
|
4
|
+
import { type InsertLayoutColumnSide } from '../../pm-plugins/actions';
|
|
5
|
+
type InsertColumnDropdownItemProps = {
|
|
6
|
+
api: ExtractInjectionAPI<LayoutPlugin> | undefined;
|
|
7
|
+
side: InsertLayoutColumnSide;
|
|
8
|
+
};
|
|
9
|
+
export declare const InsertColumnDropdownItem: ({ api, side, }: InsertColumnDropdownItemProps) => React.JSX.Element | null;
|
|
10
|
+
export {};
|
|
@@ -4,10 +4,13 @@ export declare const LAYOUT_COLUMN_MENU_SECTION: MenuSectionType;
|
|
|
4
4
|
export declare const LAYOUT_COLUMN_VERTICAL_ALIGN_MENU_SECTION: MenuSectionType;
|
|
5
5
|
export declare const LAYOUT_COLUMN_MENU_RANK: Record<string, number>;
|
|
6
6
|
export declare const VERTICAL_ALIGN_MENU: NestedMenuType;
|
|
7
|
+
export declare const INSERT_COLUMN_LEFT_MENU_ITEM: MenuItemType;
|
|
8
|
+
export declare const INSERT_COLUMN_RIGHT_MENU_ITEM: MenuItemType;
|
|
7
9
|
export declare const DISTRIBUTE_COLUMNS_MENU_ITEM: MenuItemType;
|
|
8
10
|
export declare const VERTICAL_ALIGN_TOP_MENU_ITEM: MenuItemType;
|
|
9
11
|
export declare const VERTICAL_ALIGN_MIDDLE_MENU_ITEM: MenuItemType;
|
|
10
12
|
export declare const VERTICAL_ALIGN_BOTTOM_MENU_ITEM: MenuItemType;
|
|
13
|
+
export declare const DELETE_COLUMN_MENU_ITEM: MenuItemType;
|
|
11
14
|
export declare const LAYOUT_COLUMN_MENU_SECTION_RANK: Record<string, number>;
|
|
12
15
|
export declare const VERTICAL_ALIGN_MENU_RANK: Record<string, number>;
|
|
13
16
|
export declare const VERTICAL_ALIGN_MENU_SECTION_RANK: Record<string, number>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Valign } from '@atlaskit/editor-common/types/valign';
|
|
2
|
+
import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
|
|
3
|
+
import type { Selection } from '@atlaskit/editor-prosemirror/state';
|
|
4
|
+
export declare const getLayoutColumnAtSelection: (selection: Selection | undefined) => PMNode | undefined;
|
|
5
|
+
export declare const getLayoutSectionAtSelection: (selection: Selection | undefined) => PMNode | undefined;
|
|
6
|
+
export declare const getLayoutSectionColumnCount: (layoutSection: PMNode | undefined) => number;
|
|
7
|
+
export declare const getLayoutColumnValign: (layoutColumn: PMNode | undefined) => Valign | undefined;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
|
|
2
|
+
import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
|
|
3
|
+
import type { LayoutPlugin } from '../../layoutPluginType';
|
|
4
|
+
export declare const useCurrentLayoutColumn: (api: ExtractInjectionAPI<LayoutPlugin> | undefined) => PMNode | undefined;
|
|
5
|
+
export declare const useCurrentLayoutSection: (api: ExtractInjectionAPI<LayoutPlugin> | undefined) => PMNode | undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-plugin-layout",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.4.0",
|
|
4
4
|
"description": "Layout plugin for @atlaskit/editor-core",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -43,19 +43,19 @@
|
|
|
43
43
|
"@atlaskit/editor-plugin-width": "^11.1.0",
|
|
44
44
|
"@atlaskit/editor-prosemirror": "^7.3.0",
|
|
45
45
|
"@atlaskit/editor-shared-styles": "^3.11.0",
|
|
46
|
-
"@atlaskit/editor-toolbar": "^1.
|
|
46
|
+
"@atlaskit/editor-toolbar": "^1.7.0",
|
|
47
47
|
"@atlaskit/editor-ui-control-model": "^1.2.0",
|
|
48
48
|
"@atlaskit/icon": "^35.0.0",
|
|
49
49
|
"@atlaskit/icon-lab": "^6.9.0",
|
|
50
50
|
"@atlaskit/platform-feature-flags": "^1.1.0",
|
|
51
|
-
"@atlaskit/tmp-editor-statsig": "^82.
|
|
51
|
+
"@atlaskit/tmp-editor-statsig": "^82.1.0",
|
|
52
52
|
"@atlaskit/tokens": "^13.0.0",
|
|
53
53
|
"@babel/runtime": "^7.0.0",
|
|
54
54
|
"@emotion/react": "^11.7.1",
|
|
55
55
|
"bind-event-listener": "^3.0.0"
|
|
56
56
|
},
|
|
57
57
|
"peerDependencies": {
|
|
58
|
-
"@atlaskit/editor-common": "^114.
|
|
58
|
+
"@atlaskit/editor-common": "^114.39.0",
|
|
59
59
|
"react": "^18.2.0",
|
|
60
60
|
"react-intl": "^5.25.1 || ^6.0.0 || ^7.0.0"
|
|
61
61
|
},
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useCurrentLayoutColumnValign = exports.getCurrentLayoutColumnValign = void 0;
|
|
7
|
-
var _hooks = require("@atlaskit/editor-common/hooks");
|
|
8
|
-
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
9
|
-
var getCurrentLayoutColumnValign = exports.getCurrentLayoutColumnValign = function getCurrentLayoutColumnValign(selection) {
|
|
10
|
-
var selectedColumn = selection instanceof _state.NodeSelection && selection.node.type.name === 'layoutColumn' ? selection.node : undefined;
|
|
11
|
-
var currentValign = selectedColumn === null || selectedColumn === void 0 ? void 0 : selectedColumn.attrs.valign;
|
|
12
|
-
return {
|
|
13
|
-
currentValign: currentValign,
|
|
14
|
-
selectedColumn: selectedColumn
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
var useCurrentLayoutColumnValign = exports.useCurrentLayoutColumnValign = function useCurrentLayoutColumnValign(api) {
|
|
18
|
-
return (0, _hooks.useSharedPluginStateWithSelector)(api, ['selection'], function (states) {
|
|
19
|
-
var _states$selectionStat;
|
|
20
|
-
return getCurrentLayoutColumnValign((_states$selectionStat = states.selectionState) === null || _states$selectionStat === void 0 ? void 0 : _states$selectionStat.selection);
|
|
21
|
-
});
|
|
22
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
|
|
2
|
-
import { NodeSelection } from '@atlaskit/editor-prosemirror/state';
|
|
3
|
-
export const getCurrentLayoutColumnValign = selection => {
|
|
4
|
-
const selectedColumn = selection instanceof NodeSelection && selection.node.type.name === 'layoutColumn' ? selection.node : undefined;
|
|
5
|
-
const currentValign = selectedColumn === null || selectedColumn === void 0 ? void 0 : selectedColumn.attrs.valign;
|
|
6
|
-
return {
|
|
7
|
-
currentValign,
|
|
8
|
-
selectedColumn
|
|
9
|
-
};
|
|
10
|
-
};
|
|
11
|
-
export const useCurrentLayoutColumnValign = api => useSharedPluginStateWithSelector(api, ['selection'], states => {
|
|
12
|
-
var _states$selectionStat;
|
|
13
|
-
return getCurrentLayoutColumnValign((_states$selectionStat = states.selectionState) === null || _states$selectionStat === void 0 ? void 0 : _states$selectionStat.selection);
|
|
14
|
-
});
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
|
|
2
|
-
import { NodeSelection } from '@atlaskit/editor-prosemirror/state';
|
|
3
|
-
export var getCurrentLayoutColumnValign = function getCurrentLayoutColumnValign(selection) {
|
|
4
|
-
var selectedColumn = selection instanceof NodeSelection && selection.node.type.name === 'layoutColumn' ? selection.node : undefined;
|
|
5
|
-
var currentValign = selectedColumn === null || selectedColumn === void 0 ? void 0 : selectedColumn.attrs.valign;
|
|
6
|
-
return {
|
|
7
|
-
currentValign: currentValign,
|
|
8
|
-
selectedColumn: selectedColumn
|
|
9
|
-
};
|
|
10
|
-
};
|
|
11
|
-
export var useCurrentLayoutColumnValign = function useCurrentLayoutColumnValign(api) {
|
|
12
|
-
return useSharedPluginStateWithSelector(api, ['selection'], function (states) {
|
|
13
|
-
var _states$selectionStat;
|
|
14
|
-
return getCurrentLayoutColumnValign((_states$selectionStat = states.selectionState) === null || _states$selectionStat === void 0 ? void 0 : _states$selectionStat.selection);
|
|
15
|
-
});
|
|
16
|
-
};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
|
|
2
|
-
import type { Valign } from '@atlaskit/editor-common/types/valign';
|
|
3
|
-
import type { Node as ProsemirrorNode } from '@atlaskit/editor-prosemirror/model';
|
|
4
|
-
import type { Selection } from '@atlaskit/editor-prosemirror/state';
|
|
5
|
-
import type { LayoutPlugin } from '../../layoutPluginType';
|
|
6
|
-
export type CurrentLayoutColumnValignState = {
|
|
7
|
-
currentValign: Valign | undefined;
|
|
8
|
-
selectedColumn: ProsemirrorNode | undefined;
|
|
9
|
-
};
|
|
10
|
-
export declare const getCurrentLayoutColumnValign: (selection: Selection | undefined) => CurrentLayoutColumnValignState;
|
|
11
|
-
export declare const useCurrentLayoutColumnValign: (api: ExtractInjectionAPI<LayoutPlugin> | undefined) => CurrentLayoutColumnValignState;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
|
|
2
|
-
import type { Valign } from '@atlaskit/editor-common/types/valign';
|
|
3
|
-
import type { Node as ProsemirrorNode } from '@atlaskit/editor-prosemirror/model';
|
|
4
|
-
import type { Selection } from '@atlaskit/editor-prosemirror/state';
|
|
5
|
-
import type { LayoutPlugin } from '../../layoutPluginType';
|
|
6
|
-
export type CurrentLayoutColumnValignState = {
|
|
7
|
-
currentValign: Valign | undefined;
|
|
8
|
-
selectedColumn: ProsemirrorNode | undefined;
|
|
9
|
-
};
|
|
10
|
-
export declare const getCurrentLayoutColumnValign: (selection: Selection | undefined) => CurrentLayoutColumnValignState;
|
|
11
|
-
export declare const useCurrentLayoutColumnValign: (api: ExtractInjectionAPI<LayoutPlugin> | undefined) => CurrentLayoutColumnValignState;
|