@atlaskit/editor-plugin-selection-extension 3.7.2 → 4.1.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.
Files changed (47) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/pm-plugins/utils/index.js +23 -0
  3. package/dist/cjs/selectionExtensionPlugin.js +15 -5
  4. package/dist/cjs/ui/extension/SelectionExtensionComponentWrapper.js +2 -0
  5. package/dist/cjs/ui/toolbar-components/MenuItem.js +57 -0
  6. package/dist/cjs/ui/toolbar-components/ToolbarButton.js +29 -0
  7. package/dist/cjs/ui/toolbar-components/ToolbarMenu.js +30 -0
  8. package/dist/cjs/ui/toolbar-components/register-inline-toolbar.js +114 -0
  9. package/dist/cjs/ui/toolbar-components.js +80 -0
  10. package/dist/cjs/ui/utils/migrate-selection-extention.js +52 -0
  11. package/dist/es2019/pm-plugins/utils/index.js +25 -0
  12. package/dist/es2019/selectionExtensionPlugin.js +12 -2
  13. package/dist/es2019/ui/extension/SelectionExtensionComponentWrapper.js +2 -0
  14. package/dist/es2019/ui/toolbar-components/MenuItem.js +52 -0
  15. package/dist/es2019/ui/toolbar-components/ToolbarButton.js +23 -0
  16. package/dist/es2019/ui/toolbar-components/ToolbarMenu.js +24 -0
  17. package/dist/es2019/ui/toolbar-components/register-inline-toolbar.js +110 -0
  18. package/dist/es2019/ui/toolbar-components.js +67 -0
  19. package/dist/es2019/ui/utils/migrate-selection-extention.js +46 -0
  20. package/dist/esm/pm-plugins/utils/index.js +22 -0
  21. package/dist/esm/selectionExtensionPlugin.js +15 -5
  22. package/dist/esm/ui/extension/SelectionExtensionComponentWrapper.js +2 -0
  23. package/dist/esm/ui/toolbar-components/MenuItem.js +50 -0
  24. package/dist/esm/ui/toolbar-components/ToolbarButton.js +22 -0
  25. package/dist/esm/ui/toolbar-components/ToolbarMenu.js +23 -0
  26. package/dist/esm/ui/toolbar-components/register-inline-toolbar.js +107 -0
  27. package/dist/esm/ui/toolbar-components.js +73 -0
  28. package/dist/esm/ui/utils/migrate-selection-extention.js +46 -0
  29. package/dist/types/index.d.ts +1 -1
  30. package/dist/types/pm-plugins/utils/index.d.ts +2 -1
  31. package/dist/types/selectionExtensionPluginType.d.ts +4 -2
  32. package/dist/types/ui/toolbar-components/MenuItem.d.ts +10 -0
  33. package/dist/types/ui/toolbar-components/ToolbarButton.d.ts +10 -0
  34. package/dist/types/ui/toolbar-components/ToolbarMenu.d.ts +10 -0
  35. package/dist/types/ui/toolbar-components/register-inline-toolbar.d.ts +11 -0
  36. package/dist/types/ui/toolbar-components.d.ts +11 -0
  37. package/dist/types/ui/utils/migrate-selection-extention.d.ts +14 -0
  38. package/dist/types-ts4.5/index.d.ts +1 -1
  39. package/dist/types-ts4.5/pm-plugins/utils/index.d.ts +2 -1
  40. package/dist/types-ts4.5/selectionExtensionPluginType.d.ts +4 -2
  41. package/dist/types-ts4.5/ui/toolbar-components/MenuItem.d.ts +10 -0
  42. package/dist/types-ts4.5/ui/toolbar-components/ToolbarButton.d.ts +10 -0
  43. package/dist/types-ts4.5/ui/toolbar-components/ToolbarMenu.d.ts +10 -0
  44. package/dist/types-ts4.5/ui/toolbar-components/register-inline-toolbar.d.ts +11 -0
  45. package/dist/types-ts4.5/ui/toolbar-components.d.ts +11 -0
  46. package/dist/types-ts4.5/ui/utils/migrate-selection-extention.d.ts +14 -0
  47. package/package.json +11 -10
@@ -0,0 +1,46 @@
1
+ /**
2
+ *
3
+ * TODO: ED-29157 - remove once Confluence migrates to `extensionList`API
4
+ *
5
+ * NOTES:
6
+ * - This is temporary until we deprecate SelectionExtension and DynamicSelectionExtension.
7
+ * - Only supporing SelectionExtension as DynamicSelectionExtension is not being used and will be deprecated.
8
+ *
9
+ * Converts a SelectionExtension -> ExtensionMenuItemConfiguration. This allows existing extensions to appear in the new toolbar.
10
+ */
11
+ export var migrateSelectionExtensionToMenuItem = function migrateSelectionExtensionToMenuItem(extension, api) {
12
+ if (!extension.icon) {
13
+ return undefined;
14
+ }
15
+
16
+ // Warning! These are inlined because the onClick handler must have up to date references to selection (which is awkwaradly set during extension.onClick invocation).
17
+ var getSelection = function getSelection() {
18
+ var _sharedState$activeEx;
19
+ var sharedState = api === null || api === void 0 ? void 0 : api.selectionExtension.sharedState.currentState();
20
+ return sharedState === null || sharedState === void 0 || (_sharedState$activeEx = sharedState.activeExtension) === null || _sharedState$activeEx === void 0 ? void 0 : _sharedState$activeEx.selection;
21
+ };
22
+ return {
23
+ label: extension.name,
24
+ icon: extension.icon,
25
+ isDisabled: extension.isDisabled && extension.isDisabled({
26
+ selection: getSelection(),
27
+ // pass undefined as no consumers use this
28
+ selectedNodeAdf: undefined,
29
+ selectionRanges: undefined
30
+ }),
31
+ /**
32
+ * SelectionExtension supports passing through selection, selectionAdf, and selectionRanges.
33
+ *
34
+ * To support backwards compatibility wrap the onClick with these parameters here and let MenuItem invoke onClick using its expected signature.
35
+ */
36
+ onClick: function onClick() {
37
+ var selectionAdf = api === null || api === void 0 ? void 0 : api.selectionExtension.actions.getSelectionAdf();
38
+ extension.onClick && extension.onClick({
39
+ selection: getSelection(),
40
+ selectedNodeAdf: selectionAdf === null || selectionAdf === void 0 ? void 0 : selectionAdf.selectedNodeAdf,
41
+ selectionRanges: selectionAdf === null || selectionAdf === void 0 ? void 0 : selectionAdf.selectionRanges
42
+ });
43
+ },
44
+ contentComponent: extension.component
45
+ };
46
+ };
@@ -1,3 +1,3 @@
1
1
  export { selectionExtensionPlugin } from './selectionExtensionPlugin';
2
2
  export type { SelectionExtensionPlugin } from './selectionExtensionPluginType';
3
- export type { BlockMenuExtensionConfiguration, DynamicSelectionExtension, ExtensionConfiguration, ExtensionMenuItemConfiguration, ExtensionToolbarItemConfiguration, InsertAdfAtEndOfDocResult, LinkInsertionOption, ReplaceWithAdfResult, SelectionExtension, SelectionExtensionComponentProps, SelectionExtensionConfig, SelectionExtensionPluginOptions, SelectionExtensionPluginState, SelectionExtensionSelectionInfo, ToolbarExtensionConfiguration, SelectionAdfResult, } from './types';
3
+ export type { BlockMenuExtensionConfiguration, DynamicSelectionExtension, ExtensionConfiguration, ExtensionMenuItemConfiguration, ExtensionToolbarItemConfiguration, InsertAdfAtEndOfDocResult, LinkInsertionOption, ReplaceWithAdfResult, SelectionExtension, SelectionExtensionComponentProps, SelectionExtensionConfig, SelectionExtensionPluginOptions, SelectionExtensionPluginState, SelectionExtensionSelectionInfo, ToolbarExtensionConfiguration, SelectionAdfResult, SelectionExtensionCallbackOptions, } from './types';
@@ -1,7 +1,7 @@
1
1
  import { type ADFEntity } from '@atlaskit/adf-utils/types';
2
2
  import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
3
3
  import { type Node as PMNode } from '@atlaskit/editor-prosemirror/model';
4
- import { type EditorState } from '@atlaskit/editor-prosemirror/state';
4
+ import { type EditorState, type Selection } from '@atlaskit/editor-prosemirror/state';
5
5
  import type { EditorView } from '@atlaskit/editor-prosemirror/view';
6
6
  import type { SelectionExtensionPlugin } from '../../selectionExtensionPluginType';
7
7
  import type { SelectionExtensionSelectionInfo } from '../../types';
@@ -17,4 +17,5 @@ export declare const getFragmentInfoFromSelection: (state: EditorState) => {
17
17
  selectedNodeAdf: ADFEntity;
18
18
  };
19
19
  export declare function getSelectionAdfInfo(state: EditorState): SelectionInfo;
20
+ export declare function getSelectionAdfInfoNew(selection: Selection): SelectionInfo;
20
21
  export {};
@@ -6,9 +6,10 @@ import type { EditorViewModePlugin } from '@atlaskit/editor-plugin-editor-viewmo
6
6
  import type { PrimaryToolbarPlugin } from '@atlaskit/editor-plugin-primary-toolbar';
7
7
  import type { SelectionPlugin } from '@atlaskit/editor-plugin-selection';
8
8
  import type { SelectionToolbarPlugin } from '@atlaskit/editor-plugin-selection-toolbar';
9
+ import type { ToolbarPlugin } from '@atlaskit/editor-plugin-toolbar';
9
10
  import type { UserIntentPlugin } from '@atlaskit/editor-plugin-user-intent';
10
11
  import type { UserPreferencesPlugin } from '@atlaskit/editor-plugin-user-preferences';
11
- import type { DynamicSelectionExtension, SelectionAdfResult, InsertAdfAtEndOfDocResult, ReplaceWithAdfResult, SelectionExtension, SelectionExtensionPluginOptions, SelectionExtensionPluginState, SelectionExtensionSelectionInfo } from './types';
12
+ import type { DynamicSelectionExtension, SelectionAdfResult, InsertAdfAtEndOfDocResult, ReplaceWithAdfResult, SelectionExtension, SelectionExtensionPluginOptions, SelectionExtensionPluginState, SelectionExtensionSelectionInfo, ExtensionMenuItemConfiguration } from './types';
12
13
  export type SelectionExtensionPlugin = NextEditorPlugin<'selectionExtension', {
13
14
  actions: {
14
15
  getDocumentFromSelection: () => {
@@ -21,7 +22,7 @@ export type SelectionExtensionPlugin = NextEditorPlugin<'selectionExtension', {
21
22
  commands: {
22
23
  clearActiveExtension: () => EditorCommand;
23
24
  setActiveExtension: ({ extension, selection, }: {
24
- extension: SelectionExtension | DynamicSelectionExtension;
25
+ extension: SelectionExtension | DynamicSelectionExtension | ExtensionMenuItemConfiguration;
25
26
  selection: SelectionExtensionSelectionInfo;
26
27
  }) => EditorCommand;
27
28
  };
@@ -33,6 +34,7 @@ export type SelectionExtensionPlugin = NextEditorPlugin<'selectionExtension', {
33
34
  OptionalPlugin<UserIntentPlugin>,
34
35
  OptionalPlugin<SelectionPlugin>,
35
36
  OptionalPlugin<BlockMenuPlugin>,
37
+ OptionalPlugin<ToolbarPlugin>,
36
38
  SelectionToolbarPlugin
37
39
  ];
38
40
  pluginConfiguration: SelectionExtensionPluginOptions | undefined;
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
3
+ import type { SelectionExtensionPlugin } from '../../selectionExtensionPluginType';
4
+ import type { ExtensionMenuItemConfiguration } from '../../types';
5
+ type MenuItemProps = {
6
+ api: ExtractInjectionAPI<SelectionExtensionPlugin> | undefined;
7
+ extensionMenuItems: ExtensionMenuItemConfiguration[];
8
+ };
9
+ export declare const MenuItem: ({ extensionMenuItems, api }: MenuItemProps) => React.JSX.Element | null;
10
+ export {};
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
3
+ import type { SelectionExtensionPlugin } from '../../selectionExtensionPluginType';
4
+ import type { ExtensionToolbarItemConfiguration } from '../../types';
5
+ type ToolbarButtonProps = {
6
+ api: ExtractInjectionAPI<SelectionExtensionPlugin> | undefined;
7
+ config: ExtensionToolbarItemConfiguration;
8
+ };
9
+ export declare const ToolbarButton: ({ api, config }: ToolbarButtonProps) => React.JSX.Element | null;
10
+ export {};
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
3
+ import type { SelectionExtensionPlugin } from '../../selectionExtensionPluginType';
4
+ import type { ExtensionToolbarItemConfiguration } from '../../types';
5
+ type ToolbarMenuProps = React.PropsWithChildren<{
6
+ api: ExtractInjectionAPI<SelectionExtensionPlugin> | undefined;
7
+ config: ExtensionToolbarItemConfiguration;
8
+ }>;
9
+ export declare const ToolbarMenu: ({ api, config, children }: ToolbarMenuProps) => React.JSX.Element | null;
10
+ export {};
@@ -0,0 +1,11 @@
1
+ import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
2
+ import type { RegisterComponent } from '@atlaskit/editor-toolbar-model';
3
+ import type { SelectionExtensionPlugin } from '../../selectionExtensionPluginType';
4
+ import type { ExtensionConfiguration } from '../../types';
5
+ type RegisterExtensionProps = {
6
+ api: ExtractInjectionAPI<SelectionExtensionPlugin> | undefined;
7
+ extension: ExtensionConfiguration;
8
+ index: number;
9
+ };
10
+ export declare const registerInlineToolbar: ({ api, extension, index }: RegisterExtensionProps) => RegisterComponent[];
11
+ export {};
@@ -0,0 +1,11 @@
1
+ import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
2
+ import type { RegisterComponent } from '@atlaskit/editor-toolbar-model';
3
+ import type { SelectionExtensionPlugin } from '../selectionExtensionPluginType';
4
+ import { type SelectionExtensionPluginOptions } from '../types';
5
+ type GetToolbarComponentsProps = {
6
+ api: ExtractInjectionAPI<SelectionExtensionPlugin> | undefined;
7
+ config: SelectionExtensionPluginOptions | undefined;
8
+ };
9
+ type GetToolbarComponents = (props: GetToolbarComponentsProps) => RegisterComponent[];
10
+ export declare const getToolbarComponents: GetToolbarComponents;
11
+ export {};
@@ -0,0 +1,14 @@
1
+ import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
2
+ import type { SelectionExtensionPlugin } from '../../selectionExtensionPluginType';
3
+ import type { ExtensionMenuItemConfiguration, SelectionExtension } from '../../types';
4
+ /**
5
+ *
6
+ * TODO: ED-29157 - remove once Confluence migrates to `extensionList`API
7
+ *
8
+ * NOTES:
9
+ * - This is temporary until we deprecate SelectionExtension and DynamicSelectionExtension.
10
+ * - Only supporing SelectionExtension as DynamicSelectionExtension is not being used and will be deprecated.
11
+ *
12
+ * Converts a SelectionExtension -> ExtensionMenuItemConfiguration. This allows existing extensions to appear in the new toolbar.
13
+ */
14
+ export declare const migrateSelectionExtensionToMenuItem: (extension: SelectionExtension, api: ExtractInjectionAPI<SelectionExtensionPlugin> | undefined) => ExtensionMenuItemConfiguration | undefined;
@@ -1,3 +1,3 @@
1
1
  export { selectionExtensionPlugin } from './selectionExtensionPlugin';
2
2
  export type { SelectionExtensionPlugin } from './selectionExtensionPluginType';
3
- export type { BlockMenuExtensionConfiguration, DynamicSelectionExtension, ExtensionConfiguration, ExtensionMenuItemConfiguration, ExtensionToolbarItemConfiguration, InsertAdfAtEndOfDocResult, LinkInsertionOption, ReplaceWithAdfResult, SelectionExtension, SelectionExtensionComponentProps, SelectionExtensionConfig, SelectionExtensionPluginOptions, SelectionExtensionPluginState, SelectionExtensionSelectionInfo, ToolbarExtensionConfiguration, SelectionAdfResult, } from './types';
3
+ export type { BlockMenuExtensionConfiguration, DynamicSelectionExtension, ExtensionConfiguration, ExtensionMenuItemConfiguration, ExtensionToolbarItemConfiguration, InsertAdfAtEndOfDocResult, LinkInsertionOption, ReplaceWithAdfResult, SelectionExtension, SelectionExtensionComponentProps, SelectionExtensionConfig, SelectionExtensionPluginOptions, SelectionExtensionPluginState, SelectionExtensionSelectionInfo, ToolbarExtensionConfiguration, SelectionAdfResult, SelectionExtensionCallbackOptions, } from './types';
@@ -1,7 +1,7 @@
1
1
  import { type ADFEntity } from '@atlaskit/adf-utils/types';
2
2
  import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
3
3
  import { type Node as PMNode } from '@atlaskit/editor-prosemirror/model';
4
- import { type EditorState } from '@atlaskit/editor-prosemirror/state';
4
+ import { type EditorState, type Selection } from '@atlaskit/editor-prosemirror/state';
5
5
  import type { EditorView } from '@atlaskit/editor-prosemirror/view';
6
6
  import type { SelectionExtensionPlugin } from '../../selectionExtensionPluginType';
7
7
  import type { SelectionExtensionSelectionInfo } from '../../types';
@@ -17,4 +17,5 @@ export declare const getFragmentInfoFromSelection: (state: EditorState) => {
17
17
  selectedNodeAdf: ADFEntity;
18
18
  };
19
19
  export declare function getSelectionAdfInfo(state: EditorState): SelectionInfo;
20
+ export declare function getSelectionAdfInfoNew(selection: Selection): SelectionInfo;
20
21
  export {};
@@ -6,9 +6,10 @@ import type { EditorViewModePlugin } from '@atlaskit/editor-plugin-editor-viewmo
6
6
  import type { PrimaryToolbarPlugin } from '@atlaskit/editor-plugin-primary-toolbar';
7
7
  import type { SelectionPlugin } from '@atlaskit/editor-plugin-selection';
8
8
  import type { SelectionToolbarPlugin } from '@atlaskit/editor-plugin-selection-toolbar';
9
+ import type { ToolbarPlugin } from '@atlaskit/editor-plugin-toolbar';
9
10
  import type { UserIntentPlugin } from '@atlaskit/editor-plugin-user-intent';
10
11
  import type { UserPreferencesPlugin } from '@atlaskit/editor-plugin-user-preferences';
11
- import type { DynamicSelectionExtension, SelectionAdfResult, InsertAdfAtEndOfDocResult, ReplaceWithAdfResult, SelectionExtension, SelectionExtensionPluginOptions, SelectionExtensionPluginState, SelectionExtensionSelectionInfo } from './types';
12
+ import type { DynamicSelectionExtension, SelectionAdfResult, InsertAdfAtEndOfDocResult, ReplaceWithAdfResult, SelectionExtension, SelectionExtensionPluginOptions, SelectionExtensionPluginState, SelectionExtensionSelectionInfo, ExtensionMenuItemConfiguration } from './types';
12
13
  export type SelectionExtensionPlugin = NextEditorPlugin<'selectionExtension', {
13
14
  actions: {
14
15
  getDocumentFromSelection: () => {
@@ -21,7 +22,7 @@ export type SelectionExtensionPlugin = NextEditorPlugin<'selectionExtension', {
21
22
  commands: {
22
23
  clearActiveExtension: () => EditorCommand;
23
24
  setActiveExtension: ({ extension, selection, }: {
24
- extension: SelectionExtension | DynamicSelectionExtension;
25
+ extension: SelectionExtension | DynamicSelectionExtension | ExtensionMenuItemConfiguration;
25
26
  selection: SelectionExtensionSelectionInfo;
26
27
  }) => EditorCommand;
27
28
  };
@@ -33,6 +34,7 @@ export type SelectionExtensionPlugin = NextEditorPlugin<'selectionExtension', {
33
34
  OptionalPlugin<UserIntentPlugin>,
34
35
  OptionalPlugin<SelectionPlugin>,
35
36
  OptionalPlugin<BlockMenuPlugin>,
37
+ OptionalPlugin<ToolbarPlugin>,
36
38
  SelectionToolbarPlugin
37
39
  ];
38
40
  pluginConfiguration: SelectionExtensionPluginOptions | undefined;
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
3
+ import type { SelectionExtensionPlugin } from '../../selectionExtensionPluginType';
4
+ import type { ExtensionMenuItemConfiguration } from '../../types';
5
+ type MenuItemProps = {
6
+ api: ExtractInjectionAPI<SelectionExtensionPlugin> | undefined;
7
+ extensionMenuItems: ExtensionMenuItemConfiguration[];
8
+ };
9
+ export declare const MenuItem: ({ extensionMenuItems, api }: MenuItemProps) => React.JSX.Element | null;
10
+ export {};
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
3
+ import type { SelectionExtensionPlugin } from '../../selectionExtensionPluginType';
4
+ import type { ExtensionToolbarItemConfiguration } from '../../types';
5
+ type ToolbarButtonProps = {
6
+ api: ExtractInjectionAPI<SelectionExtensionPlugin> | undefined;
7
+ config: ExtensionToolbarItemConfiguration;
8
+ };
9
+ export declare const ToolbarButton: ({ api, config }: ToolbarButtonProps) => React.JSX.Element | null;
10
+ export {};
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
3
+ import type { SelectionExtensionPlugin } from '../../selectionExtensionPluginType';
4
+ import type { ExtensionToolbarItemConfiguration } from '../../types';
5
+ type ToolbarMenuProps = React.PropsWithChildren<{
6
+ api: ExtractInjectionAPI<SelectionExtensionPlugin> | undefined;
7
+ config: ExtensionToolbarItemConfiguration;
8
+ }>;
9
+ export declare const ToolbarMenu: ({ api, config, children }: ToolbarMenuProps) => React.JSX.Element | null;
10
+ export {};
@@ -0,0 +1,11 @@
1
+ import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
2
+ import type { RegisterComponent } from '@atlaskit/editor-toolbar-model';
3
+ import type { SelectionExtensionPlugin } from '../../selectionExtensionPluginType';
4
+ import type { ExtensionConfiguration } from '../../types';
5
+ type RegisterExtensionProps = {
6
+ api: ExtractInjectionAPI<SelectionExtensionPlugin> | undefined;
7
+ extension: ExtensionConfiguration;
8
+ index: number;
9
+ };
10
+ export declare const registerInlineToolbar: ({ api, extension, index }: RegisterExtensionProps) => RegisterComponent[];
11
+ export {};
@@ -0,0 +1,11 @@
1
+ import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
2
+ import type { RegisterComponent } from '@atlaskit/editor-toolbar-model';
3
+ import type { SelectionExtensionPlugin } from '../selectionExtensionPluginType';
4
+ import { type SelectionExtensionPluginOptions } from '../types';
5
+ type GetToolbarComponentsProps = {
6
+ api: ExtractInjectionAPI<SelectionExtensionPlugin> | undefined;
7
+ config: SelectionExtensionPluginOptions | undefined;
8
+ };
9
+ type GetToolbarComponents = (props: GetToolbarComponentsProps) => RegisterComponent[];
10
+ export declare const getToolbarComponents: GetToolbarComponents;
11
+ export {};
@@ -0,0 +1,14 @@
1
+ import type { ExtractInjectionAPI } from '@atlaskit/editor-common/types';
2
+ import type { SelectionExtensionPlugin } from '../../selectionExtensionPluginType';
3
+ import type { ExtensionMenuItemConfiguration, SelectionExtension } from '../../types';
4
+ /**
5
+ *
6
+ * TODO: ED-29157 - remove once Confluence migrates to `extensionList`API
7
+ *
8
+ * NOTES:
9
+ * - This is temporary until we deprecate SelectionExtension and DynamicSelectionExtension.
10
+ * - Only supporing SelectionExtension as DynamicSelectionExtension is not being used and will be deprecated.
11
+ *
12
+ * Converts a SelectionExtension -> ExtensionMenuItemConfiguration. This allows existing extensions to appear in the new toolbar.
13
+ */
14
+ export declare const migrateSelectionExtensionToMenuItem: (extension: SelectionExtension, api: ExtractInjectionAPI<SelectionExtensionPlugin> | undefined) => ExtensionMenuItemConfiguration | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-selection-extension",
3
- "version": "3.7.2",
3
+ "version": "4.1.0",
4
4
  "description": "editor-plugin-selection-extension plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -34,27 +34,28 @@
34
34
  "dependencies": {
35
35
  "@atlaskit/adf-utils": "^19.21.0",
36
36
  "@atlaskit/editor-json-transformer": "^8.27.0",
37
- "@atlaskit/editor-plugin-analytics": "^3.0.0",
38
- "@atlaskit/editor-plugin-block-menu": "^0.0.20",
39
- "@atlaskit/editor-plugin-editor-viewmode": "^5.0.0",
40
- "@atlaskit/editor-plugin-primary-toolbar": "^4.1.0",
41
- "@atlaskit/editor-plugin-selection-toolbar": "^4.3.0",
42
- "@atlaskit/editor-plugin-user-preferences": "^1.2.0",
37
+ "@atlaskit/editor-plugin-analytics": "^4.0.0",
38
+ "@atlaskit/editor-plugin-block-menu": "^1.0.0",
39
+ "@atlaskit/editor-plugin-editor-viewmode": "^6.0.0",
40
+ "@atlaskit/editor-plugin-primary-toolbar": "^5.0.0",
41
+ "@atlaskit/editor-plugin-selection-toolbar": "^5.0.0",
42
+ "@atlaskit/editor-plugin-toolbar": "^1.1.0",
43
+ "@atlaskit/editor-plugin-user-preferences": "^2.0.0",
43
44
  "@atlaskit/editor-prosemirror": "7.0.0",
44
45
  "@atlaskit/editor-shared-styles": "^3.6.0",
45
46
  "@atlaskit/editor-tables": "^2.9.0",
46
- "@atlaskit/editor-toolbar": "^0.6.0",
47
+ "@atlaskit/editor-toolbar": "^0.7.0",
47
48
  "@atlaskit/icon": "^28.1.0",
48
49
  "@atlaskit/platform-feature-flags": "^1.1.0",
49
50
  "@atlaskit/primitives": "^14.12.0",
50
- "@atlaskit/tmp-editor-statsig": "^11.12.0",
51
+ "@atlaskit/tmp-editor-statsig": "^12.2.0",
51
52
  "@babel/runtime": "^7.0.0",
52
53
  "lodash": "^4.17.21",
53
54
  "react-intl-next": "npm:react-intl@^5.18.1",
54
55
  "uuid": "^3.1.0"
55
56
  },
56
57
  "peerDependencies": {
57
- "@atlaskit/editor-common": "^107.35.0",
58
+ "@atlaskit/editor-common": "^108.1.0",
58
59
  "react": "^18.2.0"
59
60
  },
60
61
  "devDependencies": {