@atlaskit/editor-plugin-layout 10.7.1 → 10.8.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/actions.js +33 -28
- package/dist/cjs/pm-plugins/utils/{redistribute-proportionally.js → layout-column-distribution.js} +39 -3
- package/dist/cjs/pm-plugins/utils/layout-column-selection.js +4 -3
- package/dist/cjs/ui/LayoutColumnMenu/DistributeColumnsDropdownItem.js +4 -14
- package/dist/cjs/ui/LayoutColumnMenu/VerticalAlignDropdownItem.js +2 -1
- package/dist/cjs/ui/LayoutColumnMenu/VerticalAlignNestedMenu.js +1 -4
- package/dist/cjs/ui/LayoutColumnMenu/components.js +18 -8
- package/dist/cjs/ui/LayoutColumnMenu/index.js +3 -36
- package/dist/es2019/pm-plugins/actions.js +27 -15
- package/dist/es2019/pm-plugins/utils/{redistribute-proportionally.js → layout-column-distribution.js} +34 -1
- package/dist/es2019/pm-plugins/utils/layout-column-selection.js +4 -1
- package/dist/es2019/ui/LayoutColumnMenu/DistributeColumnsDropdownItem.js +4 -10
- package/dist/es2019/ui/LayoutColumnMenu/VerticalAlignDropdownItem.js +2 -1
- package/dist/es2019/ui/LayoutColumnMenu/VerticalAlignNestedMenu.js +2 -5
- package/dist/es2019/ui/LayoutColumnMenu/components.js +11 -2
- package/dist/es2019/ui/LayoutColumnMenu/index.js +5 -33
- package/dist/esm/pm-plugins/actions.js +31 -26
- package/dist/esm/pm-plugins/utils/{redistribute-proportionally.js → layout-column-distribution.js} +37 -3
- package/dist/esm/pm-plugins/utils/layout-column-selection.js +4 -3
- package/dist/esm/ui/LayoutColumnMenu/DistributeColumnsDropdownItem.js +4 -14
- package/dist/esm/ui/LayoutColumnMenu/VerticalAlignDropdownItem.js +2 -1
- package/dist/esm/ui/LayoutColumnMenu/VerticalAlignNestedMenu.js +2 -5
- package/dist/esm/ui/LayoutColumnMenu/components.js +16 -8
- package/dist/esm/ui/LayoutColumnMenu/index.js +5 -37
- package/dist/types/pm-plugins/actions.d.ts +4 -2
- package/dist/types/pm-plugins/utils/layout-column-distribution.d.ts +16 -0
- package/dist/types/pm-plugins/utils/layout-column-selection.d.ts +1 -1
- package/dist/types/ui/LayoutColumnMenu/VerticalAlignDropdownItem.d.ts +4 -6
- package/dist/types/ui/LayoutColumnMenu/verticalAlignIcons.d.ts +1 -1
- package/dist/types-ts4.5/pm-plugins/actions.d.ts +4 -2
- package/dist/types-ts4.5/pm-plugins/utils/layout-column-distribution.d.ts +16 -0
- package/dist/types-ts4.5/pm-plugins/utils/layout-column-selection.d.ts +1 -1
- package/dist/types-ts4.5/ui/LayoutColumnMenu/VerticalAlignDropdownItem.d.ts +4 -6
- package/dist/types-ts4.5/ui/LayoutColumnMenu/verticalAlignIcons.d.ts +1 -1
- package/package.json +6 -6
- package/dist/types/pm-plugins/utils/redistribute-proportionally.d.ts +0 -2
- package/dist/types-ts4.5/pm-plugins/utils/redistribute-proportionally.d.ts +0 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Valign } from '@atlaskit/
|
|
1
|
+
import type { Valign } from '@atlaskit/adf-schema/layout-column';
|
|
2
2
|
import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
|
|
3
3
|
import type { Selection } from '@atlaskit/editor-prosemirror/state';
|
|
4
4
|
export type SelectedLayoutColumn = {
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type MessageDescriptor } from 'react-intl';
|
|
3
|
+
import type { Valign } from '@atlaskit/adf-schema/layout-column';
|
|
3
4
|
import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
|
|
4
|
-
import type { Valign } from '@atlaskit/editor-common/types/valign';
|
|
5
5
|
import type { LayoutPlugin } from '../../layoutPluginType';
|
|
6
|
-
|
|
6
|
+
type VerticalAlignDropdownItemProps = {
|
|
7
|
+
api: ExtractInjectionAPI<LayoutPlugin> | undefined;
|
|
7
8
|
label: MessageDescriptor;
|
|
8
9
|
value: Valign;
|
|
9
10
|
};
|
|
10
|
-
|
|
11
|
-
api: ExtractInjectionAPI<LayoutPlugin> | undefined;
|
|
12
|
-
};
|
|
13
|
-
export declare const VerticalAlignDropdownItem: ({ api, label, value, }: VerticalAlignDropdownItemProps) => React.JSX.Element | null;
|
|
11
|
+
export declare const VerticalAlignDropdownItem: ({ api, label, value, }: VerticalAlignDropdownItemProps) => React.JSX.Element;
|
|
14
12
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Valign } from '@atlaskit/
|
|
1
|
+
import type { Valign } from '@atlaskit/adf-schema/layout-column';
|
|
2
2
|
import AlignContentTopIcon from '@atlaskit/icon-lab/core/align-content-top';
|
|
3
3
|
type VerticalAlignIcon = typeof AlignContentTopIcon;
|
|
4
4
|
export declare const VERTICAL_ALIGN_ICONS: Record<Valign, VerticalAlignIcon>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import type { Valign } from '@atlaskit/adf-schema/layout-column';
|
|
1
2
|
import type { EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
|
|
2
3
|
import { INPUT_METHOD } from '@atlaskit/editor-common/analytics';
|
|
3
4
|
import type { Command, EditorCommand, TOOLBAR_MENU_TYPE } from '@atlaskit/editor-common/types';
|
|
4
|
-
import type { Valign } from '@atlaskit/editor-common/types/valign';
|
|
5
5
|
import type { Node } from '@atlaskit/editor-prosemirror/model';
|
|
6
6
|
import type { EditorState, Transaction } from '@atlaskit/editor-prosemirror/state';
|
|
7
7
|
import type { Change, PresetLayout } from '../types';
|
|
@@ -17,7 +17,8 @@ export declare const getSelectedLayout: (maybeLayoutSection: Node | undefined, c
|
|
|
17
17
|
export declare const createMultiColumnLayoutSection: (state: EditorState, numberOfColumns?: number) => Node;
|
|
18
18
|
export declare const createDefaultLayoutSection: (state: EditorState) => Node;
|
|
19
19
|
export declare const insertLayoutColumns: Command;
|
|
20
|
-
|
|
20
|
+
type InsertLayoutColumnsInputMethod = TOOLBAR_MENU_TYPE | INPUT_METHOD.QUICK_INSERT | INPUT_METHOD.ELEMENT_BROWSER;
|
|
21
|
+
export declare const insertLayoutColumnsWithAnalytics: (editorAnalyticsAPI: EditorAnalyticsAPI | undefined) => (inputMethod: InsertLayoutColumnsInputMethod) => Command;
|
|
21
22
|
/**
|
|
22
23
|
* Forces a layout section node to match the given preset layout by adjusting
|
|
23
24
|
* its column structure and widths, then restoring the original selection.
|
|
@@ -40,3 +41,4 @@ export declare const toggleLayoutColumnMenu: ({ anchorPos, isOpen }: {
|
|
|
40
41
|
isOpen?: boolean;
|
|
41
42
|
}) => EditorCommand;
|
|
42
43
|
export declare const deleteLayoutColumn: (editorAnalyticsAPI?: EditorAnalyticsAPI) => EditorCommand;
|
|
44
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns true when the given selected columns already reflect the distribution that
|
|
3
|
+
* `distributeLayoutColumns` would produce — i.e. the first N-1 cols each hold
|
|
4
|
+
* `equalWidth` (rounded to 2 dp) and the last col absorbs the rounding remainder.
|
|
5
|
+
*
|
|
6
|
+
* This mirrors the action's "last col absorbs remainder" logic so that the UI can
|
|
7
|
+
* disable the option when it would be a no-op, avoiding spurious undo entries.
|
|
8
|
+
*/
|
|
9
|
+
export type Distribution = {
|
|
10
|
+
equalWidth: number;
|
|
11
|
+
selectedTotal: number;
|
|
12
|
+
};
|
|
13
|
+
export declare const calculateDistribution: (selectedWidths: number[]) => Distribution | undefined;
|
|
14
|
+
export declare function isDistributedUniformly(selectedWidths: number[], distribution?: Distribution | undefined): boolean;
|
|
15
|
+
export declare const redistributeAfterDeletion: (currentWidths: number[], removeIndex: number, minWidth: number) => number[];
|
|
16
|
+
export declare const redistributeProportionally: (currentWidths: number[], insertIndex: number, maxColumns: number, minWidth: number) => number[];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Valign } from '@atlaskit/
|
|
1
|
+
import type { Valign } from '@atlaskit/adf-schema/layout-column';
|
|
2
2
|
import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
|
|
3
3
|
import type { Selection } from '@atlaskit/editor-prosemirror/state';
|
|
4
4
|
export type SelectedLayoutColumn = {
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type MessageDescriptor } from 'react-intl';
|
|
3
|
+
import type { Valign } from '@atlaskit/adf-schema/layout-column';
|
|
3
4
|
import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
|
|
4
|
-
import type { Valign } from '@atlaskit/editor-common/types/valign';
|
|
5
5
|
import type { LayoutPlugin } from '../../layoutPluginType';
|
|
6
|
-
|
|
6
|
+
type VerticalAlignDropdownItemProps = {
|
|
7
|
+
api: ExtractInjectionAPI<LayoutPlugin> | undefined;
|
|
7
8
|
label: MessageDescriptor;
|
|
8
9
|
value: Valign;
|
|
9
10
|
};
|
|
10
|
-
|
|
11
|
-
api: ExtractInjectionAPI<LayoutPlugin> | undefined;
|
|
12
|
-
};
|
|
13
|
-
export declare const VerticalAlignDropdownItem: ({ api, label, value, }: VerticalAlignDropdownItemProps) => React.JSX.Element | null;
|
|
11
|
+
export declare const VerticalAlignDropdownItem: ({ api, label, value, }: VerticalAlignDropdownItemProps) => React.JSX.Element;
|
|
14
12
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Valign } from '@atlaskit/
|
|
1
|
+
import type { Valign } from '@atlaskit/adf-schema/layout-column';
|
|
2
2
|
import AlignContentTopIcon from '@atlaskit/icon-lab/core/align-content-top';
|
|
3
3
|
type VerticalAlignIcon = typeof AlignContentTopIcon;
|
|
4
4
|
export declare const VERTICAL_ALIGN_ICONS: Record<Valign, VerticalAlignIcon>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-plugin-layout",
|
|
3
|
-
"version": "10.
|
|
3
|
+
"version": "10.8.1",
|
|
4
4
|
"description": "Layout plugin for @atlaskit/editor-core",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
],
|
|
30
30
|
"atlaskit:src": "src/index.ts",
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@atlaskit/adf-schema": "^52.
|
|
32
|
+
"@atlaskit/adf-schema": "^52.15.0",
|
|
33
33
|
"@atlaskit/css": "^0.19.0",
|
|
34
34
|
"@atlaskit/editor-plugin-analytics": "^10.1.0",
|
|
35
35
|
"@atlaskit/editor-plugin-block-menu": "^9.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.8.0",
|
|
47
47
|
"@atlaskit/editor-ui-control-model": "^1.2.0",
|
|
48
48
|
"@atlaskit/icon": "^35.3.0",
|
|
49
49
|
"@atlaskit/icon-lab": "^6.12.0",
|
|
50
50
|
"@atlaskit/platform-feature-flags": "^1.1.0",
|
|
51
|
-
"@atlaskit/tmp-editor-statsig": "^
|
|
52
|
-
"@atlaskit/tokens": "^13.
|
|
51
|
+
"@atlaskit/tmp-editor-statsig": "^85.0.0",
|
|
52
|
+
"@atlaskit/tokens": "^13.1.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.50.0",
|
|
59
59
|
"react": "^18.2.0",
|
|
60
60
|
"react-intl": "^5.25.1 || ^6.0.0 || ^7.0.0"
|
|
61
61
|
},
|