@atlaskit/editor-core 187.34.2 → 187.35.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.
Files changed (96) hide show
  1. package/CHANGELOG.md +18 -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/media/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +36 -26
  17. package/dist/cjs/plugins/panel/actions.js +26 -2
  18. package/dist/cjs/plugins/panel/index.js +9 -5
  19. package/dist/cjs/version-wrapper.js +1 -1
  20. package/dist/es2019/index.js +16 -2
  21. package/dist/es2019/plugins/block-type/commands/block-type.js +15 -217
  22. package/dist/es2019/plugins/block-type/commands/index.js +1 -3
  23. package/dist/es2019/plugins/block-type/index.js +21 -4
  24. package/dist/es2019/plugins/block-type/pm-plugins/input-rule.js +3 -56
  25. package/dist/es2019/plugins/block-type/pm-plugins/keymap.js +2 -2
  26. package/dist/es2019/plugins/code-block/actions.js +84 -3
  27. package/dist/es2019/plugins/code-block/index.js +22 -7
  28. package/dist/es2019/plugins/code-block/pm-plugins/input-rule.js +60 -0
  29. package/dist/es2019/plugins/date/ui/DatePicker/index.js +3 -2
  30. package/dist/es2019/plugins/expand/commands.js +1 -1
  31. package/dist/es2019/plugins/expand/index.js +1 -1
  32. package/dist/es2019/plugins/index.js +0 -1
  33. package/dist/es2019/plugins/insert-block/index.js +47 -42
  34. package/dist/es2019/plugins/media/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +35 -26
  35. package/dist/es2019/plugins/panel/actions.js +26 -2
  36. package/dist/es2019/plugins/panel/index.js +8 -4
  37. package/dist/es2019/version-wrapper.js +1 -1
  38. package/dist/esm/index.js +16 -2
  39. package/dist/esm/plugins/block-type/commands/block-type.js +17 -205
  40. package/dist/esm/plugins/block-type/commands/index.js +1 -3
  41. package/dist/esm/plugins/block-type/index.js +21 -4
  42. package/dist/esm/plugins/block-type/pm-plugins/input-rule.js +3 -58
  43. package/dist/esm/plugins/block-type/pm-plugins/keymap.js +2 -2
  44. package/dist/esm/plugins/code-block/actions.js +76 -3
  45. package/dist/esm/plugins/code-block/index.js +25 -11
  46. package/dist/esm/plugins/code-block/pm-plugins/input-rule.js +62 -0
  47. package/dist/esm/plugins/date/ui/DatePicker/index.js +3 -2
  48. package/dist/esm/plugins/expand/commands.js +1 -1
  49. package/dist/esm/plugins/expand/index.js +1 -1
  50. package/dist/esm/plugins/index.js +0 -1
  51. package/dist/esm/plugins/insert-block/index.js +27 -22
  52. package/dist/esm/plugins/media/ui/ResizableMediaSingle/ResizableMediaSingleNext.js +37 -27
  53. package/dist/esm/plugins/panel/actions.js +24 -2
  54. package/dist/esm/plugins/panel/index.js +8 -4
  55. package/dist/esm/version-wrapper.js +1 -1
  56. package/dist/types/index.d.ts +16 -3
  57. package/dist/types/labs/next/presets/default.d.ts +6 -0
  58. package/dist/types/plugins/block-type/commands/block-type.d.ts +1 -25
  59. package/dist/types/plugins/block-type/commands/index.d.ts +1 -3
  60. package/dist/types/plugins/block-type/index.d.ts +10 -2
  61. package/dist/types/plugins/code-block/actions.d.ts +11 -0
  62. package/dist/types/plugins/code-block/index.d.ts +6 -1
  63. package/dist/types/plugins/code-block/pm-plugins/input-rule.d.ts +3 -0
  64. package/dist/types/plugins/date/ui/DatePicker/index.d.ts +2 -2
  65. package/dist/types/plugins/index.d.ts +0 -2
  66. package/dist/types/plugins/insert-block/types.d.ts +7 -1
  67. package/dist/types/plugins/media/ui/ResizableMediaSingle/ResizableMediaSingleNext.d.ts +1 -3
  68. package/dist/types/plugins/panel/actions.d.ts +4 -1
  69. package/dist/types/plugins/panel/index.d.ts +11 -2
  70. package/dist/types-ts4.5/index.d.ts +16 -3
  71. package/dist/types-ts4.5/labs/next/presets/default.d.ts +6 -0
  72. package/dist/types-ts4.5/plugins/block-type/commands/block-type.d.ts +1 -25
  73. package/dist/types-ts4.5/plugins/block-type/commands/index.d.ts +1 -3
  74. package/dist/types-ts4.5/plugins/block-type/index.d.ts +10 -2
  75. package/dist/types-ts4.5/plugins/code-block/actions.d.ts +11 -0
  76. package/dist/types-ts4.5/plugins/code-block/index.d.ts +6 -1
  77. package/dist/types-ts4.5/plugins/code-block/pm-plugins/input-rule.d.ts +3 -0
  78. package/dist/types-ts4.5/plugins/date/ui/DatePicker/index.d.ts +2 -2
  79. package/dist/types-ts4.5/plugins/index.d.ts +0 -2
  80. package/dist/types-ts4.5/plugins/insert-block/types.d.ts +7 -1
  81. package/dist/types-ts4.5/plugins/media/ui/ResizableMediaSingle/ResizableMediaSingleNext.d.ts +1 -3
  82. package/dist/types-ts4.5/plugins/panel/actions.d.ts +4 -1
  83. package/dist/types-ts4.5/plugins/panel/index.d.ts +9 -2
  84. package/package.json +3 -3
  85. package/report.api.md +62 -23
  86. package/tmp/api-report-tmp.d.ts +49 -15
  87. package/dist/cjs/plugins/block-type/commands/insert-block.js +0 -60
  88. package/dist/es2019/plugins/block-type/commands/insert-block.js +0 -55
  89. package/dist/esm/plugins/block-type/commands/insert-block.js +0 -53
  90. package/dist/types/plugins/block-type/commands/insert-block.d.ts +0 -5
  91. package/dist/types-ts4.5/plugins/block-type/commands/insert-block.d.ts +0 -5
  92. /package/dist/cjs/plugins/{block-type/commands → code-block}/transform-to-code-block.js +0 -0
  93. /package/dist/es2019/plugins/{block-type/commands → code-block}/transform-to-code-block.js +0 -0
  94. /package/dist/esm/plugins/{block-type/commands → code-block}/transform-to-code-block.js +0 -0
  95. /package/dist/types/plugins/{block-type/commands → code-block}/transform-to-code-block.d.ts +0 -0
  96. /package/dist/types-ts4.5/plugins/{block-type/commands → code-block}/transform-to-code-block.d.ts +0 -0
@@ -36,10 +36,9 @@ declare class ResizableMediaSingleNext extends React.Component<ResizableMediaSin
36
36
  private updateGuidelines;
37
37
  checkVideoFile(viewMediaClientConfig?: MediaClientConfig): Promise<void>;
38
38
  calcNewSize: (newWidth: number, stop: boolean) => {
39
- width: number | null;
40
39
  layout: MediaSingleLayout;
41
40
  };
42
- calcUnwrappedLayout: (width: number, containerWidth: number, contentWidth: number, fullWidthMode?: boolean) => 'center' | 'wide' | 'full-width';
41
+ calcUnwrappedLayout: (width: number, containerWidth: number, contentWidth: number, fullWidthMode?: boolean, isNestedNode?: boolean) => 'center' | 'wide' | 'full-width';
43
42
  calcPxHeight: (newWidth: number) => number;
44
43
  private saveWrapper;
45
44
  private displayGuideline;
@@ -53,7 +52,6 @@ declare class ResizableMediaSingleNext extends React.Component<ResizableMediaSin
53
52
  width: number;
54
53
  height: number;
55
54
  calculatedWidthWithLayout: {
56
- width: number | null;
57
55
  layout: MediaSingleLayout;
58
56
  };
59
57
  };
@@ -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
  ];
@@ -36,10 +36,9 @@ declare class ResizableMediaSingleNext extends React.Component<ResizableMediaSin
36
36
  private updateGuidelines;
37
37
  checkVideoFile(viewMediaClientConfig?: MediaClientConfig): Promise<void>;
38
38
  calcNewSize: (newWidth: number, stop: boolean) => {
39
- width: number | null;
40
39
  layout: MediaSingleLayout;
41
40
  };
42
- calcUnwrappedLayout: (width: number, containerWidth: number, contentWidth: number, fullWidthMode?: boolean) => 'center' | 'wide' | 'full-width';
41
+ calcUnwrappedLayout: (width: number, containerWidth: number, contentWidth: number, fullWidthMode?: boolean, isNestedNode?: boolean) => 'center' | 'wide' | 'full-width';
43
42
  calcPxHeight: (newWidth: number) => number;
44
43
  private saveWrapper;
45
44
  private displayGuideline;
@@ -53,7 +52,6 @@ declare class ResizableMediaSingleNext extends React.Component<ResizableMediaSin
53
52
  width: number;
54
53
  height: number;
55
54
  calculatedWidthWithLayout: {
56
- width: number | null;
57
55
  layout: MediaSingleLayout;
58
56
  };
59
57
  };
@@ -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.1",
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
 
@@ -17,6 +17,7 @@ import type { AllowedBlockTypes } from '@atlaskit/editor-common/types';
17
17
  import { AnalyticsEventPayload } from '@atlaskit/editor-common/analytics';
18
18
  import type { AnalyticsEventPayload as AnalyticsEventPayload_2 } from '@atlaskit/analytics-next/AnalyticsEvent';
19
19
  import type { AnalyticsPlugin } from '@atlaskit/editor-plugin-analytics';
20
+ import type { analyticsPlugin } from '@atlaskit/editor-plugin-analytics';
20
21
  import type { AnnotationTypes } from '@atlaskit/adf-schema';
21
22
  import { BrowserFreezetracking } from '@atlaskit/editor-common/types';
22
23
  import type { CardOptions } from '@atlaskit/editor-common/card';
@@ -26,6 +27,7 @@ import type { CollabEditOptions } from '@atlaskit/editor-common/collab';
26
27
  import { Color } from '@atlaskit/status/element';
27
28
  import { Command as Command_2 } from '@atlaskit/editor-common/types';
28
29
  import { ComponentType } from 'react';
30
+ import type { compositionPlugin } from '@atlaskit/editor-plugin-composition';
29
31
  import type { ConfigWithNodeInfo } from '@atlaskit/editor-plugin-floating-toolbar';
30
32
  import type { ContextIdentifierProvider } from '@atlaskit/editor-common/provider-factory';
31
33
  import type { ContextUpdateHandler } from '@atlaskit/editor-common/types';
@@ -34,6 +36,7 @@ import type { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next';
34
36
  import { darkModeStatusColorPalette } from '@atlaskit/editor-common/ui-color';
35
37
  import type { DecorationSet } from '@atlaskit/editor-prosemirror/view';
36
38
  import type { DecorationsPlugin } from '@atlaskit/editor-plugin-decorations';
39
+ import type { decorationsPlugin } from '@atlaskit/editor-plugin-decorations';
37
40
  import { dedupe } from '@atlaskit/editor-common/utils';
38
41
  import { DEFAULT_BORDER_COLOR } from '@atlaskit/editor-common/ui-color';
39
42
  import type { DirectEditorProps } from '@atlaskit/editor-prosemirror/view';
@@ -258,9 +261,6 @@ type BeforeAndAfterToolbarComponents = {
258
261
  after: ReactComponents;
259
262
  };
260
263
 
261
- // @public (undocumented)
262
- export const blockPluginStateKey: PluginKey<BlockTypeState>;
263
-
264
264
  // @public (undocumented)
265
265
  interface BlockType {
266
266
  // (undocumented)
@@ -278,6 +278,17 @@ interface BlockType {
278
278
  // @public (undocumented)
279
279
  export type BlockTypeInputMethod = INPUT_METHOD.FORMATTING | INPUT_METHOD.INSERT_MENU | INPUT_METHOD.KEYBOARD | INPUT_METHOD.SHORTCUT | INPUT_METHOD.TOOLBAR;
280
280
 
281
+ // @public (undocumented)
282
+ export type BlockTypePlugin = NextEditorPlugin<'blockType', {
283
+ pluginConfiguration: BlockTypePluginOptions | undefined;
284
+ dependencies: [OptionalPlugin<typeof analyticsPlugin>];
285
+ sharedState: BlockTypeState | undefined;
286
+ actions: {
287
+ insertBlockQuote: (inputMethod: BlockTypeInputMethod) => Command_2;
288
+ setBlockType: (name: string, inputMethod: BlockTypeInputMethod) => Command_2;
289
+ };
290
+ }>;
291
+
281
292
  // @public (undocumented)
282
293
  interface BlockTypePluginOptions {
283
294
  // (undocumented)
@@ -331,6 +342,22 @@ interface CodeBlockOptions extends LongPressSelectionPluginOptions {
331
342
  appearance?: EditorAppearance | undefined;
332
343
  }
333
344
 
345
+ // @public (undocumented)
346
+ export type CodeBlockPlugin = typeof codeBlockPlugin;
347
+
348
+ // @public (undocumented)
349
+ const codeBlockPlugin: NextEditorPlugin<'codeBlock', {
350
+ pluginConfiguration: CodeBlockOptions;
351
+ dependencies: [
352
+ typeof decorationsPlugin,
353
+ typeof compositionPlugin,
354
+ OptionalPlugin<typeof analyticsPlugin>
355
+ ];
356
+ actions: {
357
+ insertCodeBlock: (inputMethod: INPUT_METHOD) => Command_2;
358
+ };
359
+ }>;
360
+
334
361
  // @public (undocumented)
335
362
  export class CollapsedEditor extends React_2.Component<Props, State> {
336
363
  // (undocumented)
@@ -1012,12 +1039,6 @@ export { INPUT_METHOD }
1012
1039
  // @public (undocumented)
1013
1040
  export type InsertBlockInputMethodToolbar = INPUT_METHOD.INSERT_MENU | INPUT_METHOD.TOOLBAR;
1014
1041
 
1015
- // @public (undocumented)
1016
- export function insertBlockType(name: string): Command_2;
1017
-
1018
- // @public (undocumented)
1019
- export const insertBlockTypesWithAnalytics: (name: string, inputMethod: BlockTypeInputMethod, editorAnalyticsApi: EditorAnalyticsAPI | undefined) => Command_2;
1020
-
1021
1042
  // @public (undocumented)
1022
1043
  export const insertDate: (date?: DateType, inputMethod?: InsertBlockInputMethodToolbar, commitMethod?: INPUT_METHOD.KEYBOARD | INPUT_METHOD.PICKER, enterPressed?: boolean) => Command;
1023
1044
 
@@ -1394,6 +1415,21 @@ export const openDatePicker: () => Command;
1394
1415
 
1395
1416
  export { PaletteColor }
1396
1417
 
1418
+ // @public (undocumented)
1419
+ export type PanelPlugin = typeof panelPlugin;
1420
+
1421
+ // @public (undocumented)
1422
+ const panelPlugin: NextEditorPlugin<'panel', {
1423
+ pluginConfiguration: PanelPluginOptions | undefined;
1424
+ dependencies: [
1425
+ typeof decorationsPlugin,
1426
+ OptionalPlugin<typeof analyticsPlugin>
1427
+ ];
1428
+ actions: {
1429
+ insertPanel: (inputMethod: INPUT_METHOD) => Command_2;
1430
+ };
1431
+ }>;
1432
+
1397
1433
  // @public (undocumented)
1398
1434
  interface PanelPluginConfig {
1399
1435
  // (undocumented)
@@ -1402,6 +1438,10 @@ interface PanelPluginConfig {
1402
1438
  allowCustomPanelEdit?: boolean;
1403
1439
  }
1404
1440
 
1441
+ // @public (undocumented)
1442
+ interface PanelPluginOptions extends LongPressSelectionPluginOptions, PanelPluginConfig {
1443
+ }
1444
+
1405
1445
  // @public (undocumented)
1406
1446
  type PastePluginOptions = {
1407
1447
  cardOptions?: CardOptions;
@@ -1655,12 +1695,6 @@ export const selectionPluginKey: PluginKey<any>;
1655
1695
  interface SelectionPluginOptions extends LongPressSelectionPluginOptions {
1656
1696
  }
1657
1697
 
1658
- // @public (undocumented)
1659
- export function setBlockType(name: string): Command_2;
1660
-
1661
- // @public (undocumented)
1662
- export function setBlockTypeWithAnalytics(name: string, inputMethod: BlockTypeInputMethod, editorAnalyticsApi: EditorAnalyticsAPI | undefined): Command_2;
1663
-
1664
1698
  // @public (undocumented)
1665
1699
  type SetEditorAPI = (editorApi: PublicPluginAPI<any>) => void;
1666
1700