@atlaskit/editor-core 187.34.2 → 187.35.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 (91) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/cjs/index.js +10 -42
  3. package/dist/cjs/plugins/block-type/commands/block-type.js +19 -211
  4. package/dist/cjs/plugins/block-type/commands/index.js +2 -28
  5. package/dist/cjs/plugins/block-type/index.js +21 -4
  6. package/dist/cjs/plugins/block-type/pm-plugins/input-rule.js +9 -64
  7. package/dist/cjs/plugins/block-type/pm-plugins/keymap.js +1 -1
  8. package/dist/cjs/plugins/code-block/actions.js +83 -6
  9. package/dist/cjs/plugins/code-block/index.js +27 -12
  10. package/dist/cjs/plugins/code-block/pm-plugins/input-rule.js +68 -0
  11. package/dist/cjs/plugins/date/ui/DatePicker/index.js +3 -2
  12. package/dist/cjs/plugins/expand/commands.js +3 -3
  13. package/dist/cjs/plugins/expand/index.js +2 -2
  14. package/dist/cjs/plugins/index.js +1 -7
  15. package/dist/cjs/plugins/insert-block/index.js +34 -29
  16. package/dist/cjs/plugins/panel/actions.js +26 -2
  17. package/dist/cjs/plugins/panel/index.js +9 -5
  18. package/dist/cjs/version-wrapper.js +1 -1
  19. package/dist/es2019/index.js +16 -2
  20. package/dist/es2019/plugins/block-type/commands/block-type.js +15 -217
  21. package/dist/es2019/plugins/block-type/commands/index.js +1 -3
  22. package/dist/es2019/plugins/block-type/index.js +21 -4
  23. package/dist/es2019/plugins/block-type/pm-plugins/input-rule.js +3 -56
  24. package/dist/es2019/plugins/block-type/pm-plugins/keymap.js +2 -2
  25. package/dist/es2019/plugins/code-block/actions.js +84 -3
  26. package/dist/es2019/plugins/code-block/index.js +22 -7
  27. package/dist/es2019/plugins/code-block/pm-plugins/input-rule.js +60 -0
  28. package/dist/es2019/plugins/date/ui/DatePicker/index.js +3 -2
  29. package/dist/es2019/plugins/expand/commands.js +1 -1
  30. package/dist/es2019/plugins/expand/index.js +1 -1
  31. package/dist/es2019/plugins/index.js +0 -1
  32. package/dist/es2019/plugins/insert-block/index.js +47 -42
  33. package/dist/es2019/plugins/panel/actions.js +26 -2
  34. package/dist/es2019/plugins/panel/index.js +8 -4
  35. package/dist/es2019/version-wrapper.js +1 -1
  36. package/dist/esm/index.js +16 -2
  37. package/dist/esm/plugins/block-type/commands/block-type.js +17 -205
  38. package/dist/esm/plugins/block-type/commands/index.js +1 -3
  39. package/dist/esm/plugins/block-type/index.js +21 -4
  40. package/dist/esm/plugins/block-type/pm-plugins/input-rule.js +3 -58
  41. package/dist/esm/plugins/block-type/pm-plugins/keymap.js +2 -2
  42. package/dist/esm/plugins/code-block/actions.js +76 -3
  43. package/dist/esm/plugins/code-block/index.js +25 -11
  44. package/dist/esm/plugins/code-block/pm-plugins/input-rule.js +62 -0
  45. package/dist/esm/plugins/date/ui/DatePicker/index.js +3 -2
  46. package/dist/esm/plugins/expand/commands.js +1 -1
  47. package/dist/esm/plugins/expand/index.js +1 -1
  48. package/dist/esm/plugins/index.js +0 -1
  49. package/dist/esm/plugins/insert-block/index.js +27 -22
  50. package/dist/esm/plugins/panel/actions.js +24 -2
  51. package/dist/esm/plugins/panel/index.js +8 -4
  52. package/dist/esm/version-wrapper.js +1 -1
  53. package/dist/types/index.d.ts +16 -3
  54. package/dist/types/labs/next/presets/default.d.ts +6 -0
  55. package/dist/types/plugins/block-type/commands/block-type.d.ts +1 -25
  56. package/dist/types/plugins/block-type/commands/index.d.ts +1 -3
  57. package/dist/types/plugins/block-type/index.d.ts +10 -2
  58. package/dist/types/plugins/code-block/actions.d.ts +11 -0
  59. package/dist/types/plugins/code-block/index.d.ts +6 -1
  60. package/dist/types/plugins/code-block/pm-plugins/input-rule.d.ts +3 -0
  61. package/dist/types/plugins/date/ui/DatePicker/index.d.ts +2 -2
  62. package/dist/types/plugins/index.d.ts +0 -2
  63. package/dist/types/plugins/insert-block/types.d.ts +7 -1
  64. package/dist/types/plugins/panel/actions.d.ts +4 -1
  65. package/dist/types/plugins/panel/index.d.ts +11 -2
  66. package/dist/types-ts4.5/index.d.ts +16 -3
  67. package/dist/types-ts4.5/labs/next/presets/default.d.ts +6 -0
  68. package/dist/types-ts4.5/plugins/block-type/commands/block-type.d.ts +1 -25
  69. package/dist/types-ts4.5/plugins/block-type/commands/index.d.ts +1 -3
  70. package/dist/types-ts4.5/plugins/block-type/index.d.ts +10 -2
  71. package/dist/types-ts4.5/plugins/code-block/actions.d.ts +11 -0
  72. package/dist/types-ts4.5/plugins/code-block/index.d.ts +6 -1
  73. package/dist/types-ts4.5/plugins/code-block/pm-plugins/input-rule.d.ts +3 -0
  74. package/dist/types-ts4.5/plugins/date/ui/DatePicker/index.d.ts +2 -2
  75. package/dist/types-ts4.5/plugins/index.d.ts +0 -2
  76. package/dist/types-ts4.5/plugins/insert-block/types.d.ts +7 -1
  77. package/dist/types-ts4.5/plugins/panel/actions.d.ts +4 -1
  78. package/dist/types-ts4.5/plugins/panel/index.d.ts +9 -2
  79. package/package.json +3 -3
  80. package/report.api.md +62 -23
  81. package/tmp/api-report-tmp.d.ts +49 -15
  82. package/dist/cjs/plugins/block-type/commands/insert-block.js +0 -60
  83. package/dist/es2019/plugins/block-type/commands/insert-block.js +0 -55
  84. package/dist/esm/plugins/block-type/commands/insert-block.js +0 -53
  85. package/dist/types/plugins/block-type/commands/insert-block.d.ts +0 -5
  86. package/dist/types-ts4.5/plugins/block-type/commands/insert-block.d.ts +0 -5
  87. /package/dist/cjs/plugins/{block-type/commands → code-block}/transform-to-code-block.js +0 -0
  88. /package/dist/es2019/plugins/{block-type/commands → code-block}/transform-to-code-block.js +0 -0
  89. /package/dist/esm/plugins/{block-type/commands → code-block}/transform-to-code-block.js +0 -0
  90. /package/dist/types/plugins/{block-type/commands → code-block}/transform-to-code-block.d.ts +0 -0
  91. /package/dist/types-ts4.5/plugins/{block-type/commands → code-block}/transform-to-code-block.d.ts +0 -0
@@ -1,5 +1,3 @@
1
- import type { EditorState } from '@atlaskit/editor-prosemirror/state';
2
- import type { NodeType } from '@atlaskit/editor-prosemirror/model';
3
1
  import type { HeadingLevelsAndNormalText, Command } from '@atlaskit/editor-common/types';
4
2
  import type { INPUT_METHOD, EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
5
3
  export type InputMethod = INPUT_METHOD.TOOLBAR | INPUT_METHOD.INSERT_MENU | INPUT_METHOD.SHORTCUT | INPUT_METHOD.FORMATTING | INPUT_METHOD.KEYBOARD;
@@ -9,7 +7,6 @@ export declare function setNormalText(): Command;
9
7
  export declare function setNormalTextWithAnalytics(inputMethod: InputMethod, editorAnalyticsApi: EditorAnalyticsAPI | undefined): Command;
10
8
  export declare function setHeading(level: HeadingLevelsAndNormalText): Command;
11
9
  export declare const setHeadingWithAnalytics: (newHeadingLevel: HeadingLevelsAndNormalText, inputMethod: InputMethod, editorAnalyticsApi: EditorAnalyticsAPI | undefined) => Command;
12
- export declare function insertBlockType(name: string): Command;
13
10
  /**
14
11
  *
15
12
  * @param name - block type name
@@ -18,26 +15,5 @@ export declare function insertBlockType(name: string): Command;
18
15
  * otherwise Editor becomes very sad and crashes
19
16
  * @returns - command that inserts block type
20
17
  */
21
- export declare const insertBlockTypesWithAnalytics: (name: string, inputMethod: InputMethod, editorAnalyticsApi: EditorAnalyticsAPI | undefined) => Command;
22
- /**
23
- * This function creates a new transaction that wraps the current selection
24
- * in the specified node type if it results in a valid transaction.
25
- * If not valid, it performs a safe insert operation.
26
- *
27
- * Example of when wrapping might not be valid is when attempting to wrap
28
- * content that is already inside a panel with another panel
29
- */
30
- export declare function createWrapSelectionTransaction({ state, type, nodeAttributes, }: {
31
- state: EditorState;
32
- type: NodeType;
33
- nodeAttributes?: Record<string, any>;
34
- }): import("prosemirror-state").Transaction;
35
- /**
36
- * This function creates a new transaction that inserts a code block,
37
- * if there is text selected it will wrap the current selection if not it will
38
- * append the codeblock to the end of the document.
39
- */
40
- export declare function createInsertCodeBlockTransaction({ state, }: {
41
- state: EditorState;
42
- }): import("prosemirror-state").Transaction;
18
+ export declare const insertBlockQuoteWithAnalytics: (inputMethod: InputMethod, editorAnalyticsApi: EditorAnalyticsAPI | undefined) => Command;
43
19
  export declare const cleanUpAtTheStartOfDocument: Command;
@@ -1,6 +1,4 @@
1
- export { cleanUpAtTheStartOfDocument, insertBlockType, insertBlockTypesWithAnalytics, setBlockType, setBlockTypeWithAnalytics, setHeading, setHeadingWithAnalytics, setNormalText, setNormalTextWithAnalytics, } from './block-type';
1
+ export { cleanUpAtTheStartOfDocument, insertBlockQuoteWithAnalytics, setBlockType, setBlockTypeWithAnalytics, setHeading, setHeadingWithAnalytics, setNormalText, setNormalTextWithAnalytics, } from './block-type';
2
2
  export type { InputMethod } from './block-type';
3
- export { insertBlock } from './insert-block';
4
- export { isConvertableToCodeBlock, transformToCodeBlockAction, } from './transform-to-code-block';
5
3
  export { deleteAndMoveCursor } from './delete-and-move-cursor';
6
4
  export { deleteBlockContent } from './delete-block-content';
@@ -1,10 +1,18 @@
1
- import type { NextEditorPlugin, OptionalPlugin } from '@atlaskit/editor-common/types';
1
+ import type { NextEditorPlugin, OptionalPlugin, Command } from '@atlaskit/editor-common/types';
2
2
  import type { analyticsPlugin } from '@atlaskit/editor-plugin-analytics';
3
+ import type { BlockTypeState } from './pm-plugins/main';
3
4
  import type { BlockTypePluginOptions } from './types';
4
- declare const blockTypePlugin: NextEditorPlugin<'blockType', {
5
+ import type { InputMethod } from './commands/block-type';
6
+ export type BlockTypePlugin = NextEditorPlugin<'blockType', {
5
7
  pluginConfiguration: BlockTypePluginOptions | undefined;
6
8
  dependencies: [OptionalPlugin<typeof analyticsPlugin>];
9
+ sharedState: BlockTypeState | undefined;
10
+ actions: {
11
+ insertBlockQuote: (inputMethod: InputMethod) => Command;
12
+ setBlockType: (name: string, inputMethod: InputMethod) => Command;
13
+ };
7
14
  }>;
15
+ declare const blockTypePlugin: BlockTypePlugin;
8
16
  export default blockTypePlugin;
9
17
  export { pluginKey } from './pm-plugins/main';
10
18
  export type { BlockTypeState } from './pm-plugins/main';
@@ -1,7 +1,18 @@
1
+ import type { EditorState } from '@atlaskit/editor-prosemirror/state';
1
2
  import type { Command } from '../../types';
3
+ import type { INPUT_METHOD, EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
2
4
  export declare const removeCodeBlock: Command;
3
5
  export declare const changeLanguage: (language: string) => Command;
4
6
  export declare const copyContentToClipboard: Command;
5
7
  export declare const resetCopiedState: Command;
6
8
  export declare const ignoreFollowingMutations: Command;
7
9
  export declare const resetShouldIgnoreFollowingMutations: Command;
10
+ /**
11
+ * This function creates a new transaction that inserts a code block,
12
+ * if there is text selected it will wrap the current selection if not it will
13
+ * append the codeblock to the end of the document.
14
+ */
15
+ export declare function createInsertCodeBlockTransaction({ state, }: {
16
+ state: EditorState;
17
+ }): import("prosemirror-state").Transaction;
18
+ export declare function insertCodeBlockWithAnalytics(inputMethod: INPUT_METHOD, analyticsAPI?: EditorAnalyticsAPI): Command;
@@ -1,4 +1,5 @@
1
- import type { NextEditorPlugin, OptionalPlugin } from '@atlaskit/editor-common/types';
1
+ import { INPUT_METHOD } from '@atlaskit/editor-common/analytics';
2
+ import type { NextEditorPlugin, OptionalPlugin, Command } from '@atlaskit/editor-common/types';
2
3
  import type { CodeBlockOptions } from './types';
3
4
  import type { decorationsPlugin } from '@atlaskit/editor-plugin-decorations';
4
5
  import type { analyticsPlugin } from '@atlaskit/editor-plugin-analytics';
@@ -10,5 +11,9 @@ declare const codeBlockPlugin: NextEditorPlugin<'codeBlock', {
10
11
  typeof compositionPlugin,
11
12
  OptionalPlugin<typeof analyticsPlugin>
12
13
  ];
14
+ actions: {
15
+ insertCodeBlock: (inputMethod: INPUT_METHOD) => Command;
16
+ };
13
17
  }>;
14
18
  export default codeBlockPlugin;
19
+ export type CodeBlockPlugin = typeof codeBlockPlugin;
@@ -0,0 +1,3 @@
1
+ import type { Schema } from '@atlaskit/editor-prosemirror/model';
2
+ import type { EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
3
+ export declare function createCodeBlockInputRule(schema: Schema, editorAnalyticsAPI?: EditorAnalyticsAPI): import("@atlaskit/editor-common/safe-plugin").SafePlugin<any>;
@@ -1,10 +1,10 @@
1
1
  /** @jsx jsx */
2
2
  import React from 'react';
3
3
  import type { WeekDay } from '@atlaskit/calendar/types';
4
- import { DateType } from '../../types';
4
+ import type { DateType } from '../../types';
5
5
  import { INPUT_METHOD } from '../../../analytics/types/enums';
6
6
  import type { DispatchAnalyticsEvent } from '@atlaskit/editor-common/analytics';
7
- import { WrappedComponentProps } from 'react-intl-next';
7
+ import type { WrappedComponentProps } from 'react-intl-next';
8
8
  export interface Props {
9
9
  element: HTMLElement | null;
10
10
  closeDatePicker: () => void;
@@ -1,7 +1,5 @@
1
1
  export { basePlugin } from './base';
2
2
  export { default as blockTypePlugin } from './block-type';
3
- export { pluginKey as blockPluginStateKey } from './block-type';
4
- export type { BlockTypeState } from './block-type';
5
3
  export { default as betterTypeHistoryPlugin } from './better-type-history';
6
4
  export { default as clearMarksOnChangeToEmptyDocumentPlugin } from './clear-marks-on-change-to-empty-document';
7
5
  export { default as codeBlockPlugin } from './code-block';
@@ -8,14 +8,20 @@ import type featureFlagsPlugin from '@atlaskit/editor-plugin-feature-flags';
8
8
  import type { analyticsPlugin } from '@atlaskit/editor-plugin-analytics';
9
9
  import type mentionsPlugin from '../mentions';
10
10
  import type quickInsertPlugin from '../quick-insert';
11
+ import type blockTypePlugin from '../block-type';
12
+ import type codeBlockPlugin from '../code-block';
13
+ import type panelPlugin from '../panel';
11
14
  export type InsertBlockPluginDependencies = [
12
15
  typeof featureFlagsPlugin,
13
16
  OptionalPlugin<typeof tablesPlugin>,
14
17
  OptionalPlugin<typeof hyperlinkPlugin>,
15
18
  OptionalPlugin<typeof datePlugin>,
19
+ OptionalPlugin<typeof blockTypePlugin>,
16
20
  OptionalPlugin<typeof analyticsPlugin>,
17
21
  OptionalPlugin<ImageUploadPlugin>,
18
22
  OptionalPlugin<typeof mentionsPlugin>,
19
23
  OptionalPlugin<EmojiPlugin>,
20
- OptionalPlugin<typeof quickInsertPlugin>
24
+ OptionalPlugin<typeof quickInsertPlugin>,
25
+ OptionalPlugin<typeof codeBlockPlugin>,
26
+ OptionalPlugin<typeof panelPlugin>
21
27
  ];
@@ -1,9 +1,12 @@
1
- import type { PanelType } from '@atlaskit/adf-schema';
1
+ import { PanelType } from '@atlaskit/adf-schema';
2
2
  import type { Command } from '../../types';
3
+ import { INPUT_METHOD } from '../analytics';
3
4
  import type { PanelOptions } from './pm-plugins/main';
5
+ import type { EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
4
6
  export type DomAtPos = (pos: number) => {
5
7
  node: HTMLElement;
6
8
  offset: number;
7
9
  };
8
10
  export declare const removePanel: () => Command;
9
11
  export declare const changePanelType: (panelType: PanelType, panelOptions?: PanelOptions, allowCustomPanel?: boolean) => Command;
12
+ export declare function insertPanelWithAnalytics(inputMethod: INPUT_METHOD, analyticsAPI?: EditorAnalyticsAPI): import("@atlaskit/editor-common/types").Command;
@@ -1,8 +1,17 @@
1
- import type { NextEditorPlugin } from '@atlaskit/editor-common/types';
1
+ import type { Command, NextEditorPlugin, OptionalPlugin } from '@atlaskit/editor-common/types';
2
+ import { INPUT_METHOD } from '../analytics';
2
3
  import type { PanelPluginOptions } from './types';
3
4
  import type { decorationsPlugin } from '@atlaskit/editor-plugin-decorations';
5
+ import type { analyticsPlugin } from '@atlaskit/editor-plugin-analytics';
4
6
  declare const panelPlugin: NextEditorPlugin<'panel', {
5
7
  pluginConfiguration: PanelPluginOptions | undefined;
6
- dependencies: [typeof decorationsPlugin];
8
+ dependencies: [
9
+ typeof decorationsPlugin,
10
+ OptionalPlugin<typeof analyticsPlugin>
11
+ ];
12
+ actions: {
13
+ insertPanel: (inputMethod: INPUT_METHOD) => Command;
14
+ };
7
15
  }>;
8
16
  export default panelPlugin;
17
+ export type PanelPlugin = typeof panelPlugin;
@@ -24,12 +24,25 @@ export { textColorPluginKey } from './plugins/text-color';
24
24
  export type { TextColorPluginState } from './plugins/text-color';
25
25
  export { changeColor } from './plugins/text-color/commands/change-color';
26
26
  export { insertHorizontalRule } from './plugins/rule/commands';
27
- export { blockPluginStateKey } from './plugins';
28
- export type { BlockTypeState } from './plugins';
27
+ export type { BlockTypeState } from './plugins/block-type/pm-plugins/main';
28
+ /**
29
+ * @private
30
+ * @deprecated DO NOT USE, temporary solution while decoupling plugins from editor-core
31
+ */
32
+ export type { BlockTypePlugin } from './plugins/block-type';
33
+ /**
34
+ * @private
35
+ * @deprecated DO NOT USE, temporary solution while decoupling plugins from editor-core
36
+ */
37
+ export type { CodeBlockPlugin } from './plugins/code-block';
38
+ /**
39
+ * @private
40
+ * @deprecated DO NOT USE, temporary solution while decoupling plugins from editor-core
41
+ */
42
+ export type { PanelPlugin } from './plugins/panel';
29
43
  export { subscribeToToolbarAndPickerUpdates } from './plugins/view-update-subscription/subscribe/toolbarAndPickerUpdates';
30
44
  export { subscribeTypeAheadUpdates } from './plugins/view-update-subscription/subscribe/type-ahead-updates';
31
45
  export type { InputMethodToolbar as TextFormattingInputMethodToolbar, InputMethodBasic as TextFormattingInputMethodBasic, } from '@atlaskit/editor-common/types';
32
- export { insertBlockType, insertBlockTypesWithAnalytics, setBlockType, setBlockTypeWithAnalytics, } from './plugins/block-type/commands';
33
46
  export type { InputMethod as BlockTypeInputMethod } from './plugins/block-type/commands';
34
47
  export { createTable } from '@atlaskit/editor-plugin-table/commands';
35
48
  export { insertTaskDecisionCommand } from './plugins/tasks-and-decisions/commands';
@@ -77,6 +77,9 @@ export declare function createDefaultPreset(options: EditorPresetProps & Default
77
77
  actions: import("@atlaskit/editor-common/analytics").EditorAnalyticsAPI;
78
78
  }, import("@atlaskit/editor-plugin-analytics").AnalyticsPluginOptions>>
79
79
  ];
80
+ actions: {
81
+ insertCodeBlock: (inputMethod: import("@atlaskit/editor-common/analytics").INPUT_METHOD) => import("@atlaskit/editor-common/types").Command;
82
+ };
80
83
  }, CodeBlockOptions>,
81
84
  import("@atlaskit/editor-common/types").NextEditorPluginFunctionOptionalConfigDefinition<"selection", {
82
85
  pluginConfiguration: SelectionPluginOptions | undefined;
@@ -250,6 +253,9 @@ export declare function useDefaultPreset(props: EditorPresetProps & DefaultPrese
250
253
  actions: import("@atlaskit/editor-common/analytics").EditorAnalyticsAPI;
251
254
  }, import("@atlaskit/editor-plugin-analytics").AnalyticsPluginOptions>>
252
255
  ];
256
+ actions: {
257
+ insertCodeBlock: (inputMethod: import("@atlaskit/editor-common/analytics").INPUT_METHOD) => import("@atlaskit/editor-common/types").Command;
258
+ };
253
259
  }, CodeBlockOptions>,
254
260
  import("@atlaskit/editor-common/types").NextEditorPluginFunctionOptionalConfigDefinition<"selection", {
255
261
  pluginConfiguration: SelectionPluginOptions | undefined;
@@ -1,5 +1,3 @@
1
- import type { EditorState } from '@atlaskit/editor-prosemirror/state';
2
- import type { NodeType } from '@atlaskit/editor-prosemirror/model';
3
1
  import type { HeadingLevelsAndNormalText, Command } from '@atlaskit/editor-common/types';
4
2
  import type { INPUT_METHOD, EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
5
3
  export type InputMethod = INPUT_METHOD.TOOLBAR | INPUT_METHOD.INSERT_MENU | INPUT_METHOD.SHORTCUT | INPUT_METHOD.FORMATTING | INPUT_METHOD.KEYBOARD;
@@ -9,7 +7,6 @@ export declare function setNormalText(): Command;
9
7
  export declare function setNormalTextWithAnalytics(inputMethod: InputMethod, editorAnalyticsApi: EditorAnalyticsAPI | undefined): Command;
10
8
  export declare function setHeading(level: HeadingLevelsAndNormalText): Command;
11
9
  export declare const setHeadingWithAnalytics: (newHeadingLevel: HeadingLevelsAndNormalText, inputMethod: InputMethod, editorAnalyticsApi: EditorAnalyticsAPI | undefined) => Command;
12
- export declare function insertBlockType(name: string): Command;
13
10
  /**
14
11
  *
15
12
  * @param name - block type name
@@ -18,26 +15,5 @@ export declare function insertBlockType(name: string): Command;
18
15
  * otherwise Editor becomes very sad and crashes
19
16
  * @returns - command that inserts block type
20
17
  */
21
- export declare const insertBlockTypesWithAnalytics: (name: string, inputMethod: InputMethod, editorAnalyticsApi: EditorAnalyticsAPI | undefined) => Command;
22
- /**
23
- * This function creates a new transaction that wraps the current selection
24
- * in the specified node type if it results in a valid transaction.
25
- * If not valid, it performs a safe insert operation.
26
- *
27
- * Example of when wrapping might not be valid is when attempting to wrap
28
- * content that is already inside a panel with another panel
29
- */
30
- export declare function createWrapSelectionTransaction({ state, type, nodeAttributes, }: {
31
- state: EditorState;
32
- type: NodeType;
33
- nodeAttributes?: Record<string, any>;
34
- }): import("prosemirror-state").Transaction;
35
- /**
36
- * This function creates a new transaction that inserts a code block,
37
- * if there is text selected it will wrap the current selection if not it will
38
- * append the codeblock to the end of the document.
39
- */
40
- export declare function createInsertCodeBlockTransaction({ state, }: {
41
- state: EditorState;
42
- }): import("prosemirror-state").Transaction;
18
+ export declare const insertBlockQuoteWithAnalytics: (inputMethod: InputMethod, editorAnalyticsApi: EditorAnalyticsAPI | undefined) => Command;
43
19
  export declare const cleanUpAtTheStartOfDocument: Command;
@@ -1,6 +1,4 @@
1
- export { cleanUpAtTheStartOfDocument, insertBlockType, insertBlockTypesWithAnalytics, setBlockType, setBlockTypeWithAnalytics, setHeading, setHeadingWithAnalytics, setNormalText, setNormalTextWithAnalytics, } from './block-type';
1
+ export { cleanUpAtTheStartOfDocument, insertBlockQuoteWithAnalytics, setBlockType, setBlockTypeWithAnalytics, setHeading, setHeadingWithAnalytics, setNormalText, setNormalTextWithAnalytics, } from './block-type';
2
2
  export type { InputMethod } from './block-type';
3
- export { insertBlock } from './insert-block';
4
- export { isConvertableToCodeBlock, transformToCodeBlockAction, } from './transform-to-code-block';
5
3
  export { deleteAndMoveCursor } from './delete-and-move-cursor';
6
4
  export { deleteBlockContent } from './delete-block-content';
@@ -1,12 +1,20 @@
1
- import type { NextEditorPlugin, OptionalPlugin } from '@atlaskit/editor-common/types';
1
+ import type { NextEditorPlugin, OptionalPlugin, Command } from '@atlaskit/editor-common/types';
2
2
  import type { analyticsPlugin } from '@atlaskit/editor-plugin-analytics';
3
+ import type { BlockTypeState } from './pm-plugins/main';
3
4
  import type { BlockTypePluginOptions } from './types';
4
- declare const blockTypePlugin: NextEditorPlugin<'blockType', {
5
+ import type { InputMethod } from './commands/block-type';
6
+ export type BlockTypePlugin = NextEditorPlugin<'blockType', {
5
7
  pluginConfiguration: BlockTypePluginOptions | undefined;
6
8
  dependencies: [
7
9
  OptionalPlugin<typeof analyticsPlugin>
8
10
  ];
11
+ sharedState: BlockTypeState | undefined;
12
+ actions: {
13
+ insertBlockQuote: (inputMethod: InputMethod) => Command;
14
+ setBlockType: (name: string, inputMethod: InputMethod) => Command;
15
+ };
9
16
  }>;
17
+ declare const blockTypePlugin: BlockTypePlugin;
10
18
  export default blockTypePlugin;
11
19
  export { pluginKey } from './pm-plugins/main';
12
20
  export type { BlockTypeState } from './pm-plugins/main';
@@ -1,7 +1,18 @@
1
+ import type { EditorState } from '@atlaskit/editor-prosemirror/state';
1
2
  import type { Command } from '../../types';
3
+ import type { INPUT_METHOD, EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
2
4
  export declare const removeCodeBlock: Command;
3
5
  export declare const changeLanguage: (language: string) => Command;
4
6
  export declare const copyContentToClipboard: Command;
5
7
  export declare const resetCopiedState: Command;
6
8
  export declare const ignoreFollowingMutations: Command;
7
9
  export declare const resetShouldIgnoreFollowingMutations: Command;
10
+ /**
11
+ * This function creates a new transaction that inserts a code block,
12
+ * if there is text selected it will wrap the current selection if not it will
13
+ * append the codeblock to the end of the document.
14
+ */
15
+ export declare function createInsertCodeBlockTransaction({ state, }: {
16
+ state: EditorState;
17
+ }): import("prosemirror-state").Transaction;
18
+ export declare function insertCodeBlockWithAnalytics(inputMethod: INPUT_METHOD, analyticsAPI?: EditorAnalyticsAPI): Command;
@@ -1,4 +1,5 @@
1
- import type { NextEditorPlugin, OptionalPlugin } from '@atlaskit/editor-common/types';
1
+ import { INPUT_METHOD } from '@atlaskit/editor-common/analytics';
2
+ import type { NextEditorPlugin, OptionalPlugin, Command } from '@atlaskit/editor-common/types';
2
3
  import type { CodeBlockOptions } from './types';
3
4
  import type { decorationsPlugin } from '@atlaskit/editor-plugin-decorations';
4
5
  import type { analyticsPlugin } from '@atlaskit/editor-plugin-analytics';
@@ -10,5 +11,9 @@ declare const codeBlockPlugin: NextEditorPlugin<'codeBlock', {
10
11
  typeof compositionPlugin,
11
12
  OptionalPlugin<typeof analyticsPlugin>
12
13
  ];
14
+ actions: {
15
+ insertCodeBlock: (inputMethod: INPUT_METHOD) => Command;
16
+ };
13
17
  }>;
14
18
  export default codeBlockPlugin;
19
+ export type CodeBlockPlugin = typeof codeBlockPlugin;
@@ -0,0 +1,3 @@
1
+ import type { Schema } from '@atlaskit/editor-prosemirror/model';
2
+ import type { EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
3
+ export declare function createCodeBlockInputRule(schema: Schema, editorAnalyticsAPI?: EditorAnalyticsAPI): import("@atlaskit/editor-common/safe-plugin").SafePlugin<any>;
@@ -1,10 +1,10 @@
1
1
  /** @jsx jsx */
2
2
  import React from 'react';
3
3
  import type { WeekDay } from '@atlaskit/calendar/types';
4
- import { DateType } from '../../types';
4
+ import type { DateType } from '../../types';
5
5
  import { INPUT_METHOD } from '../../../analytics/types/enums';
6
6
  import type { DispatchAnalyticsEvent } from '@atlaskit/editor-common/analytics';
7
- import { WrappedComponentProps } from 'react-intl-next';
7
+ import type { WrappedComponentProps } from 'react-intl-next';
8
8
  export interface Props {
9
9
  element: HTMLElement | null;
10
10
  closeDatePicker: () => void;
@@ -1,7 +1,5 @@
1
1
  export { basePlugin } from './base';
2
2
  export { default as blockTypePlugin } from './block-type';
3
- export { pluginKey as blockPluginStateKey } from './block-type';
4
- export type { BlockTypeState } from './block-type';
5
3
  export { default as betterTypeHistoryPlugin } from './better-type-history';
6
4
  export { default as clearMarksOnChangeToEmptyDocumentPlugin } from './clear-marks-on-change-to-empty-document';
7
5
  export { default as codeBlockPlugin } from './code-block';
@@ -8,14 +8,20 @@ import type featureFlagsPlugin from '@atlaskit/editor-plugin-feature-flags';
8
8
  import type { analyticsPlugin } from '@atlaskit/editor-plugin-analytics';
9
9
  import type mentionsPlugin from '../mentions';
10
10
  import type quickInsertPlugin from '../quick-insert';
11
+ import type blockTypePlugin from '../block-type';
12
+ import type codeBlockPlugin from '../code-block';
13
+ import type panelPlugin from '../panel';
11
14
  export type InsertBlockPluginDependencies = [
12
15
  typeof featureFlagsPlugin,
13
16
  OptionalPlugin<typeof tablesPlugin>,
14
17
  OptionalPlugin<typeof hyperlinkPlugin>,
15
18
  OptionalPlugin<typeof datePlugin>,
19
+ OptionalPlugin<typeof blockTypePlugin>,
16
20
  OptionalPlugin<typeof analyticsPlugin>,
17
21
  OptionalPlugin<ImageUploadPlugin>,
18
22
  OptionalPlugin<typeof mentionsPlugin>,
19
23
  OptionalPlugin<EmojiPlugin>,
20
- OptionalPlugin<typeof quickInsertPlugin>
24
+ OptionalPlugin<typeof quickInsertPlugin>,
25
+ OptionalPlugin<typeof codeBlockPlugin>,
26
+ OptionalPlugin<typeof panelPlugin>
21
27
  ];
@@ -1,9 +1,12 @@
1
- import type { PanelType } from '@atlaskit/adf-schema';
1
+ import { PanelType } from '@atlaskit/adf-schema';
2
2
  import type { Command } from '../../types';
3
+ import { INPUT_METHOD } from '../analytics';
3
4
  import type { PanelOptions } from './pm-plugins/main';
5
+ import type { EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
4
6
  export type DomAtPos = (pos: number) => {
5
7
  node: HTMLElement;
6
8
  offset: number;
7
9
  };
8
10
  export declare const removePanel: () => Command;
9
11
  export declare const changePanelType: (panelType: PanelType, panelOptions?: PanelOptions, allowCustomPanel?: boolean) => Command;
12
+ export declare function insertPanelWithAnalytics(inputMethod: INPUT_METHOD, analyticsAPI?: EditorAnalyticsAPI): import("@atlaskit/editor-common/types").Command;
@@ -1,10 +1,17 @@
1
- import type { NextEditorPlugin } from '@atlaskit/editor-common/types';
1
+ import type { Command, NextEditorPlugin, OptionalPlugin } from '@atlaskit/editor-common/types';
2
+ import { INPUT_METHOD } from '../analytics';
2
3
  import type { PanelPluginOptions } from './types';
3
4
  import type { decorationsPlugin } from '@atlaskit/editor-plugin-decorations';
5
+ import type { analyticsPlugin } from '@atlaskit/editor-plugin-analytics';
4
6
  declare const panelPlugin: NextEditorPlugin<'panel', {
5
7
  pluginConfiguration: PanelPluginOptions | undefined;
6
8
  dependencies: [
7
- typeof decorationsPlugin
9
+ typeof decorationsPlugin,
10
+ OptionalPlugin<typeof analyticsPlugin>
8
11
  ];
12
+ actions: {
13
+ insertPanel: (inputMethod: INPUT_METHOD) => Command;
14
+ };
9
15
  }>;
10
16
  export default panelPlugin;
17
+ export type PanelPlugin = typeof panelPlugin;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-core",
3
- "version": "187.34.2",
3
+ "version": "187.35.0",
4
4
  "description": "A package contains Atlassian editor core functionality",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -50,12 +50,12 @@
50
50
  "@atlaskit/avatar": "^21.3.0",
51
51
  "@atlaskit/avatar-group": "^9.4.0",
52
52
  "@atlaskit/button": "^16.9.0",
53
- "@atlaskit/calendar": "^13.2.0",
53
+ "@atlaskit/calendar": "^13.3.0",
54
54
  "@atlaskit/checkbox": "^12.6.0",
55
55
  "@atlaskit/code": "^14.6.0",
56
56
  "@atlaskit/date": "^0.10.0",
57
57
  "@atlaskit/datetime-picker": "^12.8.0",
58
- "@atlaskit/editor-common": "^74.55.0",
58
+ "@atlaskit/editor-common": "^74.56.0",
59
59
  "@atlaskit/editor-json-transformer": "^8.10.0",
60
60
  "@atlaskit/editor-markdown-transformer": "^5.2.5",
61
61
  "@atlaskit/editor-palette": "1.5.1",
package/report.api.md CHANGED
@@ -28,6 +28,7 @@ import type { AllowedBlockTypes } from '@atlaskit/editor-common/types';
28
28
  import { AnalyticsEventPayload } from '@atlaskit/editor-common/analytics';
29
29
  import type { AnalyticsEventPayload as AnalyticsEventPayload_2 } from '@atlaskit/analytics-next/AnalyticsEvent';
30
30
  import type { AnalyticsPlugin } from '@atlaskit/editor-plugin-analytics';
31
+ import type { analyticsPlugin } from '@atlaskit/editor-plugin-analytics';
31
32
  import type { AnnotationTypes } from '@atlaskit/adf-schema';
32
33
  import { BrowserFreezetracking } from '@atlaskit/editor-common/types';
33
34
  import type { CardOptions } from '@atlaskit/editor-common/card';
@@ -37,6 +38,7 @@ import type { CollabEditOptions } from '@atlaskit/editor-common/collab';
37
38
  import { Color } from '@atlaskit/status/element';
38
39
  import { Command as Command_2 } from '@atlaskit/editor-common/types';
39
40
  import { ComponentType } from 'react';
41
+ import type { compositionPlugin } from '@atlaskit/editor-plugin-composition';
40
42
  import type { ConfigWithNodeInfo } from '@atlaskit/editor-plugin-floating-toolbar';
41
43
  import type { ContextIdentifierProvider } from '@atlaskit/editor-common/provider-factory';
42
44
  import type { ContextUpdateHandler } from '@atlaskit/editor-common/types';
@@ -45,6 +47,7 @@ import type { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
45
47
  import { darkModeStatusColorPalette } from '@atlaskit/editor-common/ui-color';
46
48
  import type { DecorationSet } from '@atlaskit/editor-prosemirror/view';
47
49
  import type { DecorationsPlugin } from '@atlaskit/editor-plugin-decorations';
50
+ import type { decorationsPlugin } from '@atlaskit/editor-plugin-decorations';
48
51
  import { dedupe } from '@atlaskit/editor-common/utils';
49
52
  import { DEFAULT_BORDER_COLOR } from '@atlaskit/editor-common/ui-color';
50
53
  import type { DirectEditorProps } from '@atlaskit/editor-prosemirror/view';
@@ -270,9 +273,6 @@ type BeforeAndAfterToolbarComponents = {
270
273
  after: ReactComponents;
271
274
  };
272
275
 
273
- // @public (undocumented)
274
- export const blockPluginStateKey: PluginKey<BlockTypeState>;
275
-
276
276
  // @public (undocumented)
277
277
  interface BlockType {
278
278
  // (undocumented)
@@ -295,6 +295,23 @@ export type BlockTypeInputMethod =
295
295
  | INPUT_METHOD.SHORTCUT
296
296
  | INPUT_METHOD.TOOLBAR;
297
297
 
298
+ // @public (undocumented)
299
+ export type BlockTypePlugin = NextEditorPlugin<
300
+ 'blockType',
301
+ {
302
+ pluginConfiguration: BlockTypePluginOptions | undefined;
303
+ dependencies: [OptionalPlugin<typeof analyticsPlugin>];
304
+ sharedState: BlockTypeState | undefined;
305
+ actions: {
306
+ insertBlockQuote: (inputMethod: BlockTypeInputMethod) => Command_2;
307
+ setBlockType: (
308
+ name: string,
309
+ inputMethod: BlockTypeInputMethod,
310
+ ) => Command_2;
311
+ };
312
+ }
313
+ >;
314
+
298
315
  // @public (undocumented)
299
316
  interface BlockTypePluginOptions {
300
317
  // (undocumented)
@@ -348,6 +365,25 @@ interface CodeBlockOptions extends LongPressSelectionPluginOptions {
348
365
  appearance?: EditorAppearance | undefined;
349
366
  }
350
367
 
368
+ // @public (undocumented)
369
+ export type CodeBlockPlugin = typeof codeBlockPlugin;
370
+
371
+ // @public (undocumented)
372
+ const codeBlockPlugin: NextEditorPlugin<
373
+ 'codeBlock',
374
+ {
375
+ pluginConfiguration: CodeBlockOptions;
376
+ dependencies: [
377
+ typeof decorationsPlugin,
378
+ typeof compositionPlugin,
379
+ OptionalPlugin<typeof analyticsPlugin>,
380
+ ];
381
+ actions: {
382
+ insertCodeBlock: (inputMethod: INPUT_METHOD) => Command_2;
383
+ };
384
+ }
385
+ >;
386
+
351
387
  // @public (undocumented)
352
388
  export class CollapsedEditor extends React_2.Component<Props, State> {
353
389
  // (undocumented)
@@ -1097,16 +1133,6 @@ export type InsertBlockInputMethodToolbar =
1097
1133
  | INPUT_METHOD.INSERT_MENU
1098
1134
  | INPUT_METHOD.TOOLBAR;
1099
1135
 
1100
- // @public (undocumented)
1101
- export function insertBlockType(name: string): Command_2;
1102
-
1103
- // @public (undocumented)
1104
- export const insertBlockTypesWithAnalytics: (
1105
- name: string,
1106
- inputMethod: BlockTypeInputMethod,
1107
- editorAnalyticsApi: EditorAnalyticsAPI | undefined,
1108
- ) => Command_2;
1109
-
1110
1136
  // @public (undocumented)
1111
1137
  export const insertDate: (
1112
1138
  date?: DateType,
@@ -1557,6 +1583,24 @@ export const openDatePicker: () => Command;
1557
1583
 
1558
1584
  export { PaletteColor };
1559
1585
 
1586
+ // @public (undocumented)
1587
+ export type PanelPlugin = typeof panelPlugin;
1588
+
1589
+ // @public (undocumented)
1590
+ const panelPlugin: NextEditorPlugin<
1591
+ 'panel',
1592
+ {
1593
+ pluginConfiguration: PanelPluginOptions | undefined;
1594
+ dependencies: [
1595
+ typeof decorationsPlugin,
1596
+ OptionalPlugin<typeof analyticsPlugin>,
1597
+ ];
1598
+ actions: {
1599
+ insertPanel: (inputMethod: INPUT_METHOD) => Command_2;
1600
+ };
1601
+ }
1602
+ >;
1603
+
1560
1604
  // @public (undocumented)
1561
1605
  interface PanelPluginConfig {
1562
1606
  // (undocumented)
@@ -1565,6 +1609,11 @@ interface PanelPluginConfig {
1565
1609
  allowCustomPanelEdit?: boolean;
1566
1610
  }
1567
1611
 
1612
+ // @public (undocumented)
1613
+ interface PanelPluginOptions
1614
+ extends LongPressSelectionPluginOptions,
1615
+ PanelPluginConfig {}
1616
+
1568
1617
  // @public (undocumented)
1569
1618
  type PastePluginOptions = {
1570
1619
  cardOptions?: CardOptions;
@@ -1849,16 +1898,6 @@ export const selectionPluginKey: PluginKey<any>;
1849
1898
  // @public (undocumented)
1850
1899
  interface SelectionPluginOptions extends LongPressSelectionPluginOptions {}
1851
1900
 
1852
- // @public (undocumented)
1853
- export function setBlockType(name: string): Command_2;
1854
-
1855
- // @public (undocumented)
1856
- export function setBlockTypeWithAnalytics(
1857
- name: string,
1858
- inputMethod: BlockTypeInputMethod,
1859
- editorAnalyticsApi: EditorAnalyticsAPI | undefined,
1860
- ): Command_2;
1861
-
1862
1901
  // @public (undocumented)
1863
1902
  type SetEditorAPI = (editorApi: PublicPluginAPI<any>) => void;
1864
1903