@atlaskit/editor-core 179.0.4 → 179.1.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 (108) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/dist/cjs/create-editor/ReactEditorView.js +1 -1
  3. package/dist/cjs/create-editor/create-plugins-list.js +6 -287
  4. package/dist/cjs/editor.js +5 -7
  5. package/dist/cjs/labs/next/presets/universal.js +313 -0
  6. package/dist/cjs/plugins/card/ui/EditLinkToolbar.js +24 -5
  7. package/dist/cjs/plugins/floating-toolbar/index.js +6 -0
  8. package/dist/cjs/plugins/floating-toolbar/pm-plugins/force-focus/index.js +72 -0
  9. package/dist/cjs/plugins/floating-toolbar/ui/Toolbar.js +12 -9
  10. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.js +3 -1
  11. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/index.js +3 -2
  12. package/dist/cjs/plugins/list/actions/outdent-list-items-selected.js +40 -1
  13. package/dist/cjs/plugins/list/commands/outdent-list.js +22 -9
  14. package/dist/cjs/plugins/list/pm-plugins/input-rules/create-list-input-rule.js +30 -12
  15. package/dist/cjs/plugins/list/utils/analytics.js +18 -2
  16. package/dist/cjs/plugins/media/commands/linking.js +2 -2
  17. package/dist/cjs/plugins/media/pm-plugins/alt-text/index.js +1 -12
  18. package/dist/cjs/plugins/media/toolbar/alt-text.js +14 -3
  19. package/dist/cjs/plugins/media/toolbar/linking-toolbar-appearance.js +6 -6
  20. package/dist/cjs/plugins/media/toolbar/linking.js +7 -1
  21. package/dist/cjs/plugins/paste/handlers.js +7 -5
  22. package/dist/cjs/plugins/placeholder/index.js +1 -0
  23. package/dist/cjs/plugins/placeholder/styles.js +1 -1
  24. package/dist/cjs/plugins/toolbar-lists-indentation/ui/Toolbar.js +17 -0
  25. package/dist/cjs/plugins/type-ahead/ui/InputQuery.js +13 -13
  26. package/dist/cjs/utils/document.js +3 -2
  27. package/dist/cjs/utils/input-rules.js +3 -2
  28. package/dist/cjs/utils/lists.js +31 -0
  29. package/dist/cjs/utils/prepare-quick-insert-provider.js +22 -0
  30. package/dist/cjs/version-wrapper.js +1 -1
  31. package/dist/cjs/version.json +1 -1
  32. package/dist/es2019/create-editor/ReactEditorView.js +1 -1
  33. package/dist/es2019/create-editor/create-plugins-list.js +5 -293
  34. package/dist/es2019/editor.js +5 -7
  35. package/dist/es2019/labs/next/presets/universal.js +311 -0
  36. package/dist/es2019/plugins/card/ui/EditLinkToolbar.js +19 -2
  37. package/dist/es2019/plugins/floating-toolbar/index.js +4 -0
  38. package/dist/es2019/plugins/floating-toolbar/pm-plugins/force-focus/index.js +59 -0
  39. package/dist/es2019/plugins/floating-toolbar/ui/Toolbar.js +6 -3
  40. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.js +3 -1
  41. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/index.js +3 -2
  42. package/dist/es2019/plugins/list/actions/outdent-list-items-selected.js +41 -1
  43. package/dist/es2019/plugins/list/commands/outdent-list.js +16 -1
  44. package/dist/es2019/plugins/list/pm-plugins/input-rules/create-list-input-rule.js +29 -11
  45. package/dist/es2019/plugins/list/utils/analytics.js +12 -0
  46. package/dist/es2019/plugins/media/commands/linking.js +2 -2
  47. package/dist/es2019/plugins/media/pm-plugins/alt-text/index.js +1 -12
  48. package/dist/es2019/plugins/media/toolbar/alt-text.js +14 -3
  49. package/dist/es2019/plugins/media/toolbar/linking-toolbar-appearance.js +6 -6
  50. package/dist/es2019/plugins/media/toolbar/linking.js +9 -1
  51. package/dist/es2019/plugins/paste/handlers.js +8 -6
  52. package/dist/es2019/plugins/placeholder/index.js +1 -0
  53. package/dist/es2019/plugins/placeholder/styles.js +7 -0
  54. package/dist/es2019/plugins/toolbar-lists-indentation/ui/Toolbar.js +17 -0
  55. package/dist/es2019/plugins/type-ahead/ui/InputQuery.js +13 -13
  56. package/dist/es2019/utils/document.js +3 -2
  57. package/dist/es2019/utils/input-rules.js +3 -2
  58. package/dist/es2019/utils/lists.js +26 -0
  59. package/dist/es2019/utils/prepare-quick-insert-provider.js +17 -0
  60. package/dist/es2019/version-wrapper.js +1 -1
  61. package/dist/es2019/version.json +1 -1
  62. package/dist/esm/create-editor/ReactEditorView.js +1 -1
  63. package/dist/esm/create-editor/create-plugins-list.js +6 -287
  64. package/dist/esm/editor.js +5 -7
  65. package/dist/esm/labs/next/presets/universal.js +306 -0
  66. package/dist/esm/plugins/card/ui/EditLinkToolbar.js +24 -5
  67. package/dist/esm/plugins/floating-toolbar/index.js +6 -0
  68. package/dist/esm/plugins/floating-toolbar/pm-plugins/force-focus/index.js +62 -0
  69. package/dist/esm/plugins/floating-toolbar/ui/Toolbar.js +12 -9
  70. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.js +3 -1
  71. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/index.js +3 -2
  72. package/dist/esm/plugins/list/actions/outdent-list-items-selected.js +40 -1
  73. package/dist/esm/plugins/list/commands/outdent-list.js +15 -2
  74. package/dist/esm/plugins/list/pm-plugins/input-rules/create-list-input-rule.js +30 -12
  75. package/dist/esm/plugins/list/utils/analytics.js +12 -0
  76. package/dist/esm/plugins/media/commands/linking.js +2 -2
  77. package/dist/esm/plugins/media/pm-plugins/alt-text/index.js +1 -12
  78. package/dist/esm/plugins/media/toolbar/alt-text.js +14 -3
  79. package/dist/esm/plugins/media/toolbar/linking-toolbar-appearance.js +6 -6
  80. package/dist/esm/plugins/media/toolbar/linking.js +7 -1
  81. package/dist/esm/plugins/paste/handlers.js +8 -6
  82. package/dist/esm/plugins/placeholder/index.js +1 -0
  83. package/dist/esm/plugins/placeholder/styles.js +1 -1
  84. package/dist/esm/plugins/toolbar-lists-indentation/ui/Toolbar.js +17 -0
  85. package/dist/esm/plugins/type-ahead/ui/InputQuery.js +13 -13
  86. package/dist/esm/utils/document.js +3 -2
  87. package/dist/esm/utils/input-rules.js +3 -2
  88. package/dist/esm/utils/lists.js +24 -0
  89. package/dist/esm/utils/prepare-quick-insert-provider.js +17 -0
  90. package/dist/esm/version-wrapper.js +1 -1
  91. package/dist/esm/version.json +1 -1
  92. package/dist/types/create-editor/create-plugins-list.d.ts +5 -4
  93. package/dist/types/{plugins/feature-flags-context → create-editor}/feature-flags-from-props.d.ts +2 -2
  94. package/dist/types/labs/next/presets/universal.d.ts +30 -0
  95. package/dist/types/plugins/card/ui/EditLinkToolbar.d.ts +4 -0
  96. package/dist/types/plugins/expand/index.d.ts +4 -1
  97. package/dist/types/plugins/floating-toolbar/pm-plugins/force-focus/index.d.ts +18 -0
  98. package/dist/types/plugins/list/utils/analytics.d.ts +5 -2
  99. package/dist/types/plugins/media/commands/linking.d.ts +1 -1
  100. package/dist/types/types/editor-props.d.ts +96 -92
  101. package/dist/types/utils/input-rules.d.ts +2 -1
  102. package/dist/types/utils/lists.d.ts +2 -0
  103. package/dist/types/utils/prepare-quick-insert-provider.d.ts +16 -0
  104. package/package.json +14 -15
  105. package/report.api.md +89 -79
  106. /package/dist/cjs/{plugins/feature-flags-context → create-editor}/feature-flags-from-props.js +0 -0
  107. /package/dist/es2019/{plugins/feature-flags-context → create-editor}/feature-flags-from-props.js +0 -0
  108. /package/dist/esm/{plugins/feature-flags-context → create-editor}/feature-flags-from-props.js +0 -0
@@ -0,0 +1,18 @@
1
+ import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
2
+ import { PluginKey } from 'prosemirror-state';
3
+ import { EditorView } from 'prosemirror-view';
4
+ export declare const forceFocusStateKey: PluginKey<any, any>;
5
+ declare const _default: () => SafePlugin<any, any>;
6
+ /**
7
+ * Used in cases where a floating toolbar button opens a submenu which destroys
8
+ * the button, but the user has pressed ESC to close the submenu and focus needs
9
+ * to move back to the button. */
10
+ export default _default;
11
+ /**
12
+ * The provided selector should be the floating toolbar button that needs focus.
13
+ */
14
+ export declare function forceFocusSelector(selector: string | null, view?: EditorView): void;
15
+ /**
16
+ * If a selector is set and the element exists, focus it.
17
+ */
18
+ export declare function checkShouldForceFocusAndApply(view?: EditorView): void;
@@ -1,4 +1,7 @@
1
- import { EditorState } from 'prosemirror-state';
2
- import { CommonListAnalyticsAttributes } from '../../analytics';
1
+ import { EditorState, Transaction } from 'prosemirror-state';
2
+ import { RestartListsAttributesForListOutdented, CommonListAnalyticsAttributes } from '@atlaskit/editor-common/analytics';
3
3
  export declare const getCommonListAnalyticsAttributes: (state: EditorState) => CommonListAnalyticsAttributes;
4
4
  export declare const countListItemsInSelection: (state: EditorState) => number;
5
+ export declare const RESTART_LISTS_ANALYTICS_KEY = "restartListsAnalytics";
6
+ export declare const getRestartListsAttributes: (tr: Transaction) => RestartListsAttributesForListOutdented;
7
+ export declare const storeRestartListsAttributes: (tr: Transaction, attributes: RestartListsAttributesForListOutdented) => void;
@@ -5,6 +5,6 @@ import { INPUT_METHOD } from '../../analytics';
5
5
  import { Command } from '../../../types';
6
6
  export declare const showLinkingToolbar: import("@atlaskit/editor-common/types").Command;
7
7
  export declare const showLinkingToolbarWithMediaTypeCheck: Command;
8
- export declare const hideLinkingToolbar: (state: EditorState, dispatch?: CommandDispatch | undefined, view?: EditorView<any> | undefined) => void;
8
+ export declare const hideLinkingToolbar: (state: EditorState, dispatch?: CommandDispatch | undefined, view?: EditorView<any> | undefined, focusFloatingToolbar?: boolean | undefined) => void;
9
9
  export declare const unlink: import("@atlaskit/editor-common/types").Command;
10
10
  export declare const setUrlToMedia: (url: string, inputMethod: INPUT_METHOD.TYPEAHEAD | INPUT_METHOD.MANUAL) => import("@atlaskit/editor-common/types").Command;
@@ -50,107 +50,32 @@ export declare type BeforeAndAfterToolbarComponents = {
50
50
  after: ReactComponents;
51
51
  };
52
52
  export declare type PrimaryToolbarComponents = BeforeAndAfterToolbarComponents | ReactComponents;
53
- export interface EditorProps {
53
+ export interface EditorProps extends EditorPluginFeatureProps, EditorProviderProps {
54
54
  appearance?: EditorAppearance;
55
55
  contentComponents?: ReactComponents;
56
- primaryToolbarComponents?: PrimaryToolbarComponents;
57
56
  primaryToolbarIconBefore?: ReactElement;
58
57
  secondaryToolbarComponents?: ReactComponents;
59
- allowAnalyticsGASV3?: boolean;
60
- allowBlockType?: BlockTypePluginOptions['allowBlockType'];
61
- allowTasksAndDecisions?: boolean;
62
- allowBreakout?: boolean;
63
- allowRule?: boolean;
64
- allowTextColor?: boolean | TextColorPluginConfig;
65
- allowTables?: boolean | TablesPluginConfig;
66
- allowHelpDialog?: boolean;
67
- feedbackInfo?: FeedbackInfo;
68
- allowJiraIssue?: boolean;
69
- allowPanel?: boolean | PanelPluginConfig;
70
- allowExtension?: boolean | ExtensionConfig;
71
- allowConfluenceInlineComment?: boolean;
72
- allowTemplatePlaceholders?: boolean | PlaceholderTextOptions;
73
- allowDate?: boolean;
74
- allowLayouts?: boolean | LayoutPluginOptions;
75
- allowStatus?: boolean | {
76
- menuDisabled: boolean;
77
- };
78
- allowTextAlignment?: boolean;
79
- allowIndentation?: boolean;
80
- /**
81
- * This enables new insertion behaviour only for horizontal rule and media single in certain conditions.
82
- * The idea of this new behaviour is to have a consistent outcome regardless of the insertion method.
83
- **/
84
- allowNewInsertionBehaviour?: boolean;
85
- /**
86
- * Set this to false to opt out of the default behaviour of auto scrolling into view
87
- * whenever the document is changed
88
- */
89
- autoScrollIntoView?: boolean;
90
- allowFindReplace?: boolean | FindReplaceOptions;
91
58
  persistScrollGutter?: boolean;
92
59
  quickInsert?: QuickInsertOptions;
93
- /** @deprecated Use smartLinks instead. */
94
- UNSAFE_cards?: CardOptions;
95
- /** @deprecated Use linking instead. */
96
- smartLinks?: CardOptions;
97
- /**
98
- * Configure and extend editor linking behaviour
99
- */
100
- linking?: LinkingOptions;
101
- allowExpand?: boolean | {
102
- allowInsertion?: boolean;
103
- allowInteractiveExpand?: boolean;
104
- };
105
- saveOnEnter?: boolean;
106
60
  shouldFocus?: boolean;
107
61
  disabled?: boolean;
108
62
  contextPanel?: ReactComponents;
109
63
  errorReporterHandler?: ErrorReportingHandler;
110
- uploadErrorHandler?: (state: MediaState) => void;
111
- activityProvider?: Promise<ActivityProvider>;
112
- searchProvider?: Promise<SearchProvider>;
113
- annotationProviders?: AnnotationProviders;
114
- collabEditProvider?: Providers['collabEditProvider'];
115
- presenceProvider?: Promise<any>;
116
- emojiProvider?: Providers['emojiProvider'];
117
- taskDecisionProvider?: Promise<TaskDecisionProvider>;
118
- allowNestedTasks?: boolean;
119
- contextIdentifierProvider?: Promise<ContextIdentifierProvider>;
120
- legacyImageUploadProvider?: Providers['imageUploadProvider'];
121
- mentionProvider?: Promise<MentionProvider>;
122
- mention?: MentionPluginConfig;
123
- autoformattingProvider?: Providers['autoformattingProvider'];
124
- macroProvider?: Providers['macroProvider'];
125
- waitForMediaUpload?: boolean;
126
64
  contentTransformerProvider?: (schema: Schema) => Transformer<string>;
127
- media?: MediaOptions;
128
- collabEdit?: CollabEditOptions;
129
65
  textFormatting?: TextFormattingOptions;
130
66
  maxHeight?: number;
131
67
  minHeight?: number;
132
- maxContentSize?: number;
133
68
  placeholder?: string;
134
69
  placeholderBracketHint?: string;
135
70
  defaultValue?: Node | string | Object;
136
71
  popupsMountPoint?: HTMLElement;
137
72
  popupsBoundariesElement?: HTMLElement;
138
73
  popupsScrollableElement?: HTMLElement;
139
- insertMenuItems?: MenuItem[];
140
74
  editorActions?: EditorActions;
141
75
  onEditorReady?: (editorActions: EditorActions) => void;
142
76
  onDestroy?: () => void;
143
77
  onChange?: EditorOnChangeHandler;
144
- onSave?: (editorView: EditorView) => void;
145
78
  onCancel?: (editorView: EditorView) => void;
146
- extensionHandlers?: ExtensionHandlers;
147
- sanitizePrivateContent?: boolean;
148
- /**
149
- * flag to indicate display name instead of nick name should be inserted for mentions
150
- * default: false, which inserts the nick name
151
- * @deprecated Use mention.mentionInsertDisplayName instead
152
- */
153
- mentionInsertDisplayName?: boolean;
154
79
  /**
155
80
  * @description The nth keystroke after which an input time taken event is sent, 0 to disable it
156
81
  * @default 100
@@ -159,18 +84,7 @@ export interface EditorProps {
159
84
  inputSamplingLimit?: number;
160
85
  extensionProviders?: ExtensionProvidersProp;
161
86
  UNSAFE_useAnalyticsContext?: boolean;
162
- /**
163
- * @description Control performance metric measurements and tracking
164
- */
165
- performanceTracking?: PerformanceTracking;
166
- elementBrowser?: {
167
- showModal?: boolean;
168
- replacePlusMenu?: boolean;
169
- helpUrl?: string;
170
- emptyStateHandler?: EmptyStateHandler;
171
- };
172
87
  codeBlock?: CodeBlockOptions;
173
- allowUndoRedoButtons?: boolean;
174
88
  /**
175
89
  * @default undefined
176
90
  * @description Enables valid transaction events to be tracked in analytics (at a sampled rate)
@@ -217,11 +131,6 @@ export interface EditorProps {
217
131
  featureFlags?: {
218
132
  [featureFlag: string]: string | boolean;
219
133
  };
220
- /**
221
- * Enable support for the "fragment" mark.
222
- * Refer to ADF Change proposal #60 for more details.
223
- */
224
- allowFragmentMark?: boolean;
225
134
  /**
226
135
  * @deprecated Do not use outside of Editor team.
227
136
  * This has subtle side effects - you __WILL__ break functionality without implementer knowledge of editor-core internals
@@ -233,4 +142,99 @@ export interface EditorProps {
233
142
  __plugins: EditorPlugin[];
234
143
  };
235
144
  }
145
+ export interface EditorProviderProps {
146
+ activityProvider?: Promise<ActivityProvider>;
147
+ searchProvider?: Promise<SearchProvider>;
148
+ annotationProviders?: AnnotationProviders;
149
+ collabEditProvider?: Providers['collabEditProvider'];
150
+ presenceProvider?: Promise<any>;
151
+ emojiProvider?: Providers['emojiProvider'];
152
+ taskDecisionProvider?: Promise<TaskDecisionProvider>;
153
+ contextIdentifierProvider?: Promise<ContextIdentifierProvider>;
154
+ legacyImageUploadProvider?: Providers['imageUploadProvider'];
155
+ mentionProvider?: Promise<MentionProvider>;
156
+ autoformattingProvider?: Providers['autoformattingProvider'];
157
+ macroProvider?: Providers['macroProvider'];
158
+ }
159
+ export interface EditorPluginFeatureProps {
160
+ allowExpand?: boolean | {
161
+ allowInsertion?: boolean;
162
+ allowInteractiveExpand?: boolean;
163
+ };
164
+ allowNestedTasks?: boolean;
165
+ allowAnalyticsGASV3?: boolean;
166
+ allowBlockType?: BlockTypePluginOptions['allowBlockType'];
167
+ allowTasksAndDecisions?: boolean;
168
+ allowBreakout?: boolean;
169
+ allowRule?: boolean;
170
+ allowTextColor?: boolean | TextColorPluginConfig;
171
+ allowTables?: boolean | TablesPluginConfig;
172
+ allowHelpDialog?: boolean;
173
+ allowJiraIssue?: boolean;
174
+ allowPanel?: boolean | PanelPluginConfig;
175
+ allowExtension?: boolean | ExtensionConfig;
176
+ allowConfluenceInlineComment?: boolean;
177
+ allowTemplatePlaceholders?: boolean | PlaceholderTextOptions;
178
+ allowDate?: boolean;
179
+ allowLayouts?: boolean | LayoutPluginOptions;
180
+ allowStatus?: boolean | {
181
+ menuDisabled: boolean;
182
+ };
183
+ allowTextAlignment?: boolean;
184
+ allowIndentation?: boolean;
185
+ /**
186
+ * This enables new insertion behaviour only for horizontal rule and media single in certain conditions.
187
+ * The idea of this new behaviour is to have a consistent outcome regardless of the insertion method.
188
+ **/
189
+ allowNewInsertionBehaviour?: boolean;
190
+ allowUndoRedoButtons?: boolean;
191
+ allowFindReplace?: boolean | FindReplaceOptions;
192
+ /**
193
+ * Enable support for the "fragment" mark.
194
+ * Refer to ADF Change proposal #60 for more details.
195
+ */
196
+ allowFragmentMark?: boolean;
197
+ /**
198
+ * Set this to false to opt out of the default behaviour of auto scrolling into view
199
+ * whenever the document is changed
200
+ */
201
+ autoScrollIntoView?: boolean;
202
+ elementBrowser?: {
203
+ showModal?: boolean;
204
+ replacePlusMenu?: boolean;
205
+ helpUrl?: string;
206
+ emptyStateHandler?: EmptyStateHandler;
207
+ };
208
+ maxContentSize?: number;
209
+ saveOnEnter?: boolean;
210
+ feedbackInfo?: FeedbackInfo;
211
+ media?: MediaOptions;
212
+ collabEdit?: CollabEditOptions;
213
+ primaryToolbarComponents?: PrimaryToolbarComponents;
214
+ /** @deprecated Use smartLinks instead. */
215
+ UNSAFE_cards?: CardOptions;
216
+ /** @deprecated Use linking instead. */
217
+ smartLinks?: CardOptions;
218
+ /**
219
+ * Configure and extend editor linking behaviour
220
+ */
221
+ linking?: LinkingOptions;
222
+ sanitizePrivateContent?: boolean;
223
+ mention?: MentionPluginConfig;
224
+ /**
225
+ * flag to indicate display name instead of nick name should be inserted for mentions
226
+ * default: false, which inserts the nick name
227
+ * @deprecated Use mention.mentionInsertDisplayName instead
228
+ */
229
+ mentionInsertDisplayName?: boolean;
230
+ /**
231
+ * @description Control performance metric measurements and tracking
232
+ */
233
+ performanceTracking?: PerformanceTracking;
234
+ uploadErrorHandler?: (state: MediaState) => void;
235
+ onSave?: (editorView: EditorView) => void;
236
+ waitForMediaUpload?: boolean;
237
+ insertMenuItems?: MenuItem[];
238
+ extensionHandlers?: ExtensionHandlers;
239
+ }
236
240
  export {};
@@ -3,6 +3,7 @@ import type { Node as PMNode, NodeType } from 'prosemirror-model';
3
3
  import { EditorState, Transaction } from 'prosemirror-state';
4
4
  import { InputRuleHandler, InputRuleWrapper } from '@atlaskit/prosemirror-input-rules';
5
5
  import { AnalyticsEventPayload } from '../plugins/analytics/types';
6
+ import { JOIN_SCENARIOS_WHEN_TYPING_TO_INSERT_LIST } from '@atlaskit/editor-common/analytics';
6
7
  declare type GetPayload = AnalyticsEventPayload | ((state: EditorState, matchResult: RegExpExecArray) => AnalyticsEventPayload);
7
8
  export declare const ruleWithAnalytics: (getPayload: GetPayload) => (originalRule: InputRuleWrapper) => InputRuleWrapper;
8
9
  export declare const ruleWithTransform: (transform: (state: EditorState, tr: Transaction) => void) => (originalRule: InputRuleWrapper) => InputRuleWrapper;
@@ -22,7 +23,7 @@ declare type WrappingRuleProps = {
22
23
  match: RegExp;
23
24
  nodeType: NodeType;
24
25
  getAttrs?: Record<string, any> | ((matchResult: RegExpExecArray) => Record<string, any>);
25
- joinPredicate?: (matchResult: RegExpExecArray, node: PMNode) => boolean;
26
+ joinPredicate?: (matchResult: RegExpExecArray, node: PMNode, joinScenario: JOIN_SCENARIOS_WHEN_TYPING_TO_INSERT_LIST) => boolean;
26
27
  };
27
28
  export declare const createWrappingJoinRule: ({ match, nodeType, getAttrs, joinPredicate, }: WrappingRuleProps) => InputRuleWrapper;
28
29
  export declare const createJoinNodesRule: (match: RegExp, nodeType: NodeType) => InputRuleWrapper;
@@ -0,0 +1,2 @@
1
+ import { Selection } from 'prosemirror-state';
2
+ export declare const doesSelectionWhichStartsOrEndsInListContainEntireList: (selection: Selection) => boolean;
@@ -0,0 +1,16 @@
1
+ import type { ExtensionProvider } from '@atlaskit/editor-common/extensions';
2
+ import { CreateUIAnalyticsEvent } from '@atlaskit/analytics-next/types';
3
+ import { QuickInsertProvider } from '@atlaskit/editor-common/provider-factory';
4
+ import EditorActions from '../actions';
5
+ import { QuickInsertOptions } from '../plugins/quick-insert/types';
6
+ /**
7
+ *
8
+ * Used to combine the quickInsert provider and extension provider (if available)
9
+ * Or return a provider that is available (quickInsertProvider preferred)
10
+ * @param editorActions
11
+ * @param extensionProvider
12
+ * @param quickInsert
13
+ * @param createAnalyticsEvent
14
+ * @returns Quick insert provider if available
15
+ */
16
+ export default function prepareQuickInsertProvider(editorActions: EditorActions, extensionProvider?: ExtensionProvider, quickInsert?: QuickInsertOptions, createAnalyticsEvent?: CreateUIAnalyticsEvent): Promise<QuickInsertProvider> | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-core",
3
- "version": "179.0.4",
3
+ "version": "179.1.1",
4
4
  "description": "A package contains Atlassian editor core functionality",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -25,12 +25,12 @@
25
25
  },
26
26
  "dependencies": {
27
27
  "@atlaskit/activity-provider": "^2.3.0",
28
- "@atlaskit/adf-schema": "^25.1.0",
28
+ "@atlaskit/adf-schema": "^25.2.0",
29
29
  "@atlaskit/adf-utils": "^18.0.0",
30
30
  "@atlaskit/analytics-gas-types": "^5.0.0",
31
31
  "@atlaskit/analytics-listeners": "^8.5.0",
32
32
  "@atlaskit/analytics-namespaced-context": "^6.6.0",
33
- "@atlaskit/analytics-next": "^8.2.0",
33
+ "@atlaskit/analytics-next": "^9.0.0",
34
34
  "@atlaskit/analytics-next-stable-react-context": "1.0.1",
35
35
  "@atlaskit/avatar": "^21.1.0",
36
36
  "@atlaskit/avatar-group": "^9.2.0",
@@ -40,7 +40,7 @@
40
40
  "@atlaskit/code": "^14.4.0",
41
41
  "@atlaskit/date": "^0.9.0",
42
42
  "@atlaskit/datetime-picker": "^12.3.0",
43
- "@atlaskit/editor-common": "^72.2.0",
43
+ "@atlaskit/editor-common": "^72.4.0",
44
44
  "@atlaskit/editor-json-transformer": "^8.8.0",
45
45
  "@atlaskit/editor-markdown-transformer": "^5.0.0",
46
46
  "@atlaskit/editor-plugin-table": "^1.1.0",
@@ -54,7 +54,7 @@
54
54
  "@atlaskit/link-picker": "^1.16.0",
55
55
  "@atlaskit/locale": "^2.3.0",
56
56
  "@atlaskit/logo": "^13.11.0",
57
- "@atlaskit/media-card": "^74.5.0",
57
+ "@atlaskit/media-card": "^74.6.0",
58
58
  "@atlaskit/media-client": "^20.0.0",
59
59
  "@atlaskit/media-common": "^2.19.0",
60
60
  "@atlaskit/media-filmstrip": "^46.1.0",
@@ -62,14 +62,14 @@
62
62
  "@atlaskit/media-ui": "^22.3.0",
63
63
  "@atlaskit/media-viewer": "^47.4.0",
64
64
  "@atlaskit/mention": "^21.0.0",
65
- "@atlaskit/menu": "^1.4.0",
65
+ "@atlaskit/menu": "^1.5.0",
66
66
  "@atlaskit/modal-dialog": "^12.4.0",
67
67
  "@atlaskit/prosemirror-collab": "^0.1.0",
68
68
  "@atlaskit/prosemirror-input-rules": "^2.1.0",
69
69
  "@atlaskit/radio": "^5.4.0",
70
70
  "@atlaskit/section-message": "^6.3.0",
71
71
  "@atlaskit/select": "^16.1.0",
72
- "@atlaskit/smart-card": "^24.1.0",
72
+ "@atlaskit/smart-card": "^24.3.0",
73
73
  "@atlaskit/smart-user-picker": "^6.0.0",
74
74
  "@atlaskit/spinner": "^15.3.0",
75
75
  "@atlaskit/status": "^1.2.0",
@@ -79,7 +79,7 @@
79
79
  "@atlaskit/textfield": "^5.3.0",
80
80
  "@atlaskit/theme": "^12.2.0",
81
81
  "@atlaskit/toggle": "^12.5.0",
82
- "@atlaskit/tokens": "^1.1.0",
82
+ "@atlaskit/tokens": "^1.2.0",
83
83
  "@atlaskit/tooltip": "^17.6.0",
84
84
  "@atlaskit/util-service-support": "^6.1.0",
85
85
  "@atlaskit/width-detector": "^4.0.0",
@@ -132,13 +132,12 @@
132
132
  },
133
133
  "devDependencies": {
134
134
  "@atlaskit/atlassian-navigation": "^2.3.0",
135
- "@atlaskit/breadcrumbs": "11.7.11",
135
+ "@atlaskit/breadcrumbs": "11.7.12",
136
136
  "@atlaskit/code": "^14.4.0",
137
- "@atlaskit/collab-provider": "8.1.0",
137
+ "@atlaskit/collab-provider": "8.2.0",
138
138
  "@atlaskit/docs": "*",
139
139
  "@atlaskit/drawer": "^7.4.0",
140
- "@atlaskit/dropdown-menu": "^11.5.0",
141
- "@atlaskit/droplist": "^11.0.0",
140
+ "@atlaskit/dropdown-menu": "^11.6.0",
142
141
  "@atlaskit/editor-bitbucket-transformer": "^8.0.0",
143
142
  "@atlaskit/editor-extension-dropbox": "^0.3.0",
144
143
  "@atlaskit/editor-plugin-table": "^1.1.0",
@@ -151,7 +150,7 @@
151
150
  "@atlaskit/media-core": "^34.0.0",
152
151
  "@atlaskit/media-integration-test-helpers": "^2.6.0",
153
152
  "@atlaskit/media-test-helpers": "^30.1.0",
154
- "@atlaskit/menu": "^1.4.0",
153
+ "@atlaskit/menu": "^1.5.0",
155
154
  "@atlaskit/page-layout": "^1.3.0",
156
155
  "@atlaskit/profilecard": "^18.2.0",
157
156
  "@atlaskit/pubsub": "^6.2.0",
@@ -168,8 +167,8 @@
168
167
  "@atlaskit/webdriver-runner": "*",
169
168
  "@atlassian/atlassian-frontend-prettier-config-1.0.1": "npm:@atlassian/atlassian-frontend-prettier-config@1.0.1",
170
169
  "@atlassian/link-picker-atlassian-plugin": "^26.1.0",
171
- "@atlassian/link-picker-plugins": "^15.0.0",
172
- "@atlassian/search-provider": "2.3.9",
170
+ "@atlassian/link-picker-plugins": "^15.1.0",
171
+ "@atlassian/search-provider": "2.3.11",
173
172
  "@atlassian/ufo": "^0.1.0",
174
173
  "@emotion/jest": "^11.8.0",
175
174
  "@storybook/addon-knobs": "^5.3.18",
package/report.api.md CHANGED
@@ -893,22 +893,7 @@ type EditorOnChangeHandler = (
893
893
  export { EditorPlugin };
894
894
 
895
895
  // @public (undocumented)
896
- interface EditorPresetProps {
897
- // (undocumented)
898
- excludes?: Set<string>;
899
- // (undocumented)
900
- experimental?: Array<string>;
901
- // (undocumented)
902
- featureFlags?: EditorFeatureFlags;
903
- }
904
-
905
- // @public (undocumented)
906
- type EditorProduct = 'bitbucket' | 'confluence' | 'jira' | 'stride' | undefined;
907
-
908
- // @public (undocumented)
909
- export interface EditorProps {
910
- // (undocumented)
911
- activityProvider?: Promise<ActivityProvider>;
896
+ interface EditorPluginFeatureProps {
912
897
  // (undocumented)
913
898
  allowAnalyticsGASV3?: boolean;
914
899
  // (undocumented)
@@ -964,26 +949,76 @@ export interface EditorProps {
964
949
  allowTextColor?: TextColorPluginConfig | boolean;
965
950
  // (undocumented)
966
951
  allowUndoRedoButtons?: boolean;
952
+ autoScrollIntoView?: boolean;
967
953
  // (undocumented)
968
- annotationProviders?: AnnotationProviders;
954
+ collabEdit?: CollabEditOptions;
969
955
  // (undocumented)
970
- appearance?: EditorAppearance;
956
+ elementBrowser?: {
957
+ showModal?: boolean;
958
+ replacePlusMenu?: boolean;
959
+ helpUrl?: string;
960
+ emptyStateHandler?: EmptyStateHandler;
961
+ };
971
962
  // (undocumented)
972
- autoformattingProvider?: Providers['autoformattingProvider'];
973
- autoScrollIntoView?: boolean;
963
+ extensionHandlers?: ExtensionHandlers;
974
964
  // (undocumented)
975
- codeBlock?: CodeBlockOptions;
965
+ feedbackInfo?: FeedbackInfo;
976
966
  // (undocumented)
977
- collabEdit?: CollabEditOptions;
967
+ insertMenuItems?: MenuItem[];
968
+ linking?: LinkingOptions;
978
969
  // (undocumented)
979
- collabEditProvider?: Providers['collabEditProvider'];
970
+ maxContentSize?: number;
971
+ // (undocumented)
972
+ media?: MediaOptions;
973
+ // (undocumented)
974
+ mention?: MentionPluginConfig;
975
+ // @deprecated
976
+ mentionInsertDisplayName?: boolean;
977
+ // (undocumented)
978
+ onSave?: (editorView: EditorView) => void;
979
+ performanceTracking?: PerformanceTracking;
980
+ // (undocumented)
981
+ primaryToolbarComponents?: PrimaryToolbarComponents;
982
+ // (undocumented)
983
+ sanitizePrivateContent?: boolean;
984
+ // (undocumented)
985
+ saveOnEnter?: boolean;
986
+ // @deprecated (undocumented)
987
+ smartLinks?: CardOptions;
988
+ // @deprecated (undocumented)
989
+ UNSAFE_cards?: CardOptions;
990
+ // (undocumented)
991
+ uploadErrorHandler?: (state: MediaState) => void;
992
+ // (undocumented)
993
+ waitForMediaUpload?: boolean;
994
+ }
995
+
996
+ // @public (undocumented)
997
+ interface EditorPresetProps {
998
+ // (undocumented)
999
+ excludes?: Set<string>;
1000
+ // (undocumented)
1001
+ experimental?: Array<string>;
1002
+ // (undocumented)
1003
+ featureFlags?: EditorFeatureFlags;
1004
+ }
1005
+
1006
+ // @public (undocumented)
1007
+ type EditorProduct = 'bitbucket' | 'confluence' | 'jira' | 'stride' | undefined;
1008
+
1009
+ // @public (undocumented)
1010
+ export interface EditorProps
1011
+ extends EditorPluginFeatureProps,
1012
+ EditorProviderProps {
1013
+ // (undocumented)
1014
+ appearance?: EditorAppearance;
1015
+ // (undocumented)
1016
+ codeBlock?: CodeBlockOptions;
980
1017
  // (undocumented)
981
1018
  contentComponents?: ReactComponents;
982
1019
  // (undocumented)
983
1020
  contentTransformerProvider?: (schema: Schema) => Transformer_2<string>;
984
1021
  // (undocumented)
985
- contextIdentifierProvider?: Promise<ContextIdentifierProvider>;
986
- // (undocumented)
987
1022
  contextPanel?: ReactComponents;
988
1023
  // @deprecated (undocumented)
989
1024
  dangerouslyAppendPlugins?: {
@@ -996,47 +1031,17 @@ export interface EditorProps {
996
1031
  // (undocumented)
997
1032
  editorActions?: EditorActions;
998
1033
  // (undocumented)
999
- elementBrowser?: {
1000
- showModal?: boolean;
1001
- replacePlusMenu?: boolean;
1002
- helpUrl?: string;
1003
- emptyStateHandler?: EmptyStateHandler;
1004
- };
1005
- // (undocumented)
1006
- emojiProvider?: Providers['emojiProvider'];
1007
- // (undocumented)
1008
1034
  errorReporterHandler?: ErrorReportingHandler;
1009
1035
  // (undocumented)
1010
- extensionHandlers?: ExtensionHandlers;
1011
- // (undocumented)
1012
1036
  extensionProviders?: ExtensionProvidersProp;
1013
1037
  featureFlags?: {
1014
1038
  [featureFlag: string]: boolean | string;
1015
1039
  };
1016
- // (undocumented)
1017
- feedbackInfo?: FeedbackInfo;
1018
1040
  // @deprecated
1019
1041
  inputSamplingLimit?: number;
1020
1042
  // (undocumented)
1021
- insertMenuItems?: MenuItem[];
1022
- // (undocumented)
1023
- legacyImageUploadProvider?: Providers['imageUploadProvider'];
1024
- linking?: LinkingOptions;
1025
- // (undocumented)
1026
- macroProvider?: Providers['macroProvider'];
1027
- // (undocumented)
1028
- maxContentSize?: number;
1029
- // (undocumented)
1030
1043
  maxHeight?: number;
1031
1044
  // (undocumented)
1032
- media?: MediaOptions;
1033
- // (undocumented)
1034
- mention?: MentionPluginConfig;
1035
- // @deprecated
1036
- mentionInsertDisplayName?: boolean;
1037
- // (undocumented)
1038
- mentionProvider?: Promise<MentionProvider>;
1039
- // (undocumented)
1040
1045
  minHeight?: number;
1041
1046
  // (undocumented)
1042
1047
  onCancel?: (editorView: EditorView) => void;
@@ -1047,9 +1052,6 @@ export interface EditorProps {
1047
1052
  // (undocumented)
1048
1053
  onEditorReady?: (editorActions: EditorActions) => void;
1049
1054
  // (undocumented)
1050
- onSave?: (editorView: EditorView) => void;
1051
- performanceTracking?: PerformanceTracking;
1052
- // (undocumented)
1053
1055
  persistScrollGutter?: boolean;
1054
1056
  // (undocumented)
1055
1057
  placeholder?: string;
@@ -1062,27 +1064,13 @@ export interface EditorProps {
1062
1064
  // (undocumented)
1063
1065
  popupsScrollableElement?: HTMLElement;
1064
1066
  // (undocumented)
1065
- presenceProvider?: Promise<any>;
1066
- // (undocumented)
1067
- primaryToolbarComponents?: PrimaryToolbarComponents;
1068
- // (undocumented)
1069
1067
  primaryToolbarIconBefore?: ReactElement;
1070
1068
  // (undocumented)
1071
1069
  quickInsert?: QuickInsertOptions;
1072
1070
  // (undocumented)
1073
- sanitizePrivateContent?: boolean;
1074
- // (undocumented)
1075
- saveOnEnter?: boolean;
1076
- // (undocumented)
1077
- searchProvider?: Promise<SearchProvider>;
1078
- // (undocumented)
1079
1071
  secondaryToolbarComponents?: ReactComponents;
1080
1072
  // (undocumented)
1081
1073
  shouldFocus?: boolean;
1082
- // @deprecated (undocumented)
1083
- smartLinks?: CardOptions;
1084
- // (undocumented)
1085
- taskDecisionProvider?: Promise<TaskDecisionProvider>;
1086
1074
  // (undocumented)
1087
1075
  textFormatting?: TextFormattingOptions;
1088
1076
  trackValidTransactions?:
@@ -1090,15 +1078,9 @@ export interface EditorProps {
1090
1078
  | {
1091
1079
  samplingRate: number;
1092
1080
  };
1093
- // @deprecated (undocumented)
1094
- UNSAFE_cards?: CardOptions;
1095
1081
  // (undocumented)
1096
1082
  UNSAFE_useAnalyticsContext?: boolean;
1097
- // (undocumented)
1098
- uploadErrorHandler?: (state: MediaState) => void;
1099
1083
  useStickyToolbar?: RefObject<HTMLElement> | boolean;
1100
- // (undocumented)
1101
- waitForMediaUpload?: boolean;
1102
1084
  }
1103
1085
 
1104
1086
  // @public (undocumented)
@@ -1125,6 +1107,34 @@ type EditorProps_2 = {
1125
1107
  onDestroy?: () => void;
1126
1108
  };
1127
1109
 
1110
+ // @public (undocumented)
1111
+ interface EditorProviderProps {
1112
+ // (undocumented)
1113
+ activityProvider?: Promise<ActivityProvider>;
1114
+ // (undocumented)
1115
+ annotationProviders?: AnnotationProviders;
1116
+ // (undocumented)
1117
+ autoformattingProvider?: Providers['autoformattingProvider'];
1118
+ // (undocumented)
1119
+ collabEditProvider?: Providers['collabEditProvider'];
1120
+ // (undocumented)
1121
+ contextIdentifierProvider?: Promise<ContextIdentifierProvider>;
1122
+ // (undocumented)
1123
+ emojiProvider?: Providers['emojiProvider'];
1124
+ // (undocumented)
1125
+ legacyImageUploadProvider?: Providers['imageUploadProvider'];
1126
+ // (undocumented)
1127
+ macroProvider?: Providers['macroProvider'];
1128
+ // (undocumented)
1129
+ mentionProvider?: Promise<MentionProvider>;
1130
+ // (undocumented)
1131
+ presenceProvider?: Promise<any>;
1132
+ // (undocumented)
1133
+ searchProvider?: Promise<SearchProvider>;
1134
+ // (undocumented)
1135
+ taskDecisionProvider?: Promise<TaskDecisionProvider>;
1136
+ }
1137
+
1128
1138
  // @public (undocumented)
1129
1139
  interface EditorViewProps {
1130
1140
  // (undocumented)
@@ -1288,7 +1298,7 @@ interface GapSelectionData {
1288
1298
  export function getDefaultPresetOptionsFromEditorProps(
1289
1299
  props: EditorProps,
1290
1300
  createAnalyticsEvent?: CreateUIAnalyticsEvent,
1291
- ): EditorPresetProps & DefaultPresetPluginOptions;
1301
+ ): EditorPresetProps & DefaultPresetPluginOptions & EditorPluginFeatureProps;
1292
1302
 
1293
1303
  // @public (undocumented)
1294
1304
  export const getListCommands: () => {