@atlaskit/editor-core 189.6.0 → 189.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -0
- package/dist/cjs/composable-editor/editor.js +11 -191
- package/dist/cjs/composable-editor/hooks/useMemoEditorProps.js +122 -0
- package/dist/cjs/ui/Appearance/FullPage/FullPageContentArea.js +2 -2
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/es2019/composable-editor/editor.js +7 -185
- package/dist/es2019/composable-editor/hooks/useMemoEditorProps.js +115 -0
- package/dist/es2019/ui/Appearance/FullPage/FullPageContentArea.js +2 -2
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/esm/composable-editor/editor.js +9 -191
- package/dist/esm/composable-editor/hooks/useMemoEditorProps.js +115 -0
- package/dist/esm/ui/Appearance/FullPage/FullPageContentArea.js +2 -2
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/types/composable-editor/hooks/useMemoEditorProps.d.ts +6 -0
- package/dist/types/types/editor-appearance-component.d.ts +2 -2
- package/dist/types/types/editor-props.d.ts +6 -1
- package/dist/types/types/index.d.ts +1 -1
- package/dist/types/ui/Appearance/FullPage/FullPageContentArea.d.ts +2 -2
- package/dist/types-ts4.5/composable-editor/hooks/useMemoEditorProps.d.ts +6 -0
- package/dist/types-ts4.5/types/editor-appearance-component.d.ts +2 -2
- package/dist/types-ts4.5/types/editor-props.d.ts +6 -1
- package/dist/types-ts4.5/types/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/Appearance/FullPage/FullPageContentArea.d.ts +2 -2
- package/package.json +10 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @atlaskit/editor-core
|
|
2
2
|
|
|
3
|
+
## 189.6.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#57660](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/57660) [`2c320c63b42f`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/2c320c63b42f) - Adjust contentComponents editor prop to support before and after, enabling content to be shown below the editor
|
|
8
|
+
- [#56823](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/56823) [`d2fbdf3b6822`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/d2fbdf3b6822) - [ux] ECA11Y-111: Keyboard accessibility of table resizer
|
|
9
|
+
- Updated dependencies
|
|
10
|
+
|
|
11
|
+
## 189.6.1
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- [#60029](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/60029) [`b9826ea49c47`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/b9826ea49c47) - Update dependencies that were impacted by HOT-106483 to latest.
|
|
16
|
+
- [#60013](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/60013) [`7d36e05bf828`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/7d36e05bf828) - [No Issue] Cleaning up feature flag to reduce the amount of Re-renderings Editor suffers
|
|
17
|
+
|
|
3
18
|
## 189.6.0
|
|
4
19
|
|
|
5
20
|
### Minor Changes
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.ComposableEditor = ComposableEditor;
|
|
8
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
8
|
var _react = require("react");
|
|
10
9
|
var _react2 = require("@emotion/react");
|
|
11
10
|
var _v = _interopRequireDefault(require("uuid/v4"));
|
|
@@ -14,7 +13,6 @@ var _analytics = require("@atlaskit/editor-common/analytics");
|
|
|
14
13
|
var _ufo = require("@atlaskit/editor-common/ufo");
|
|
15
14
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
16
15
|
var _editorPluginBase = require("@atlaskit/editor-plugin-base");
|
|
17
|
-
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
18
16
|
var _actions = _interopRequireDefault(require("../actions"));
|
|
19
17
|
var _featureFlagsFromProps = require("../create-editor/feature-flags-from-props");
|
|
20
18
|
var _versionWrapper = require("../version-wrapper");
|
|
@@ -27,197 +25,26 @@ var _sendDurationAnalytics = _interopRequireDefault(require("./utils/sendDuratio
|
|
|
27
25
|
var _trackEditorActions = _interopRequireDefault(require("./utils/trackEditorActions"));
|
|
28
26
|
var _useMeasureEditorMountTime = _interopRequireDefault(require("./hooks/useMeasureEditorMountTime"));
|
|
29
27
|
var _useProviderFactory = _interopRequireDefault(require("./hooks/useProviderFactory"));
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
var _useMemoEditorProps = _interopRequireDefault(require("./hooks/useMemoEditorProps"));
|
|
29
|
+
/** @jsx jsx */
|
|
30
|
+
|
|
32
31
|
/**
|
|
33
32
|
* Editor wrapper that deals with the lifecycle logic of the editor
|
|
34
33
|
*/
|
|
35
34
|
function Editor(passedProps) {
|
|
36
|
-
var _editorContext$editor;
|
|
37
|
-
var defaultProps = {
|
|
38
|
-
appearance: 'comment',
|
|
39
|
-
disabled: false,
|
|
40
|
-
quickInsert: true
|
|
41
|
-
};
|
|
42
|
-
var props = _objectSpread(_objectSpread({}, defaultProps), passedProps);
|
|
43
|
-
var editorContext = (0, _EditorContext.useEditorContext)();
|
|
44
|
-
var editorActions = (0, _react.useRef)((_editorContext$editor = editorContext === null || editorContext === void 0 ? void 0 : editorContext.editorActions) !== null && _editorContext$editor !== void 0 ? _editorContext$editor : new _actions.default());
|
|
45
|
-
var startTime = (0, _react.useRef)(performance.now());
|
|
46
|
-
var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
|
|
47
|
-
createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
|
|
48
|
-
var experienceStore = (0, _react.useRef)();
|
|
49
|
-
var handleAnalyticsEvent = function handleAnalyticsEvent(data) {
|
|
50
|
-
return (0, _analytics.fireAnalyticsEvent)(createAnalyticsEvent)(data);
|
|
51
|
-
};
|
|
52
|
-
(0, _hooks.useConstructor)(function () {
|
|
53
|
-
(0, _trackEditorActions.default)(editorActions.current, props.performanceTracking, function (value) {
|
|
54
|
-
return handleAnalyticsEvent(value);
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
var getExperienceStore = function getExperienceStore() {
|
|
58
|
-
return experienceStore.current;
|
|
59
|
-
};
|
|
60
|
-
var onEditorCreated = function onEditorCreated(instance) {
|
|
61
|
-
var _props$featureFlags;
|
|
62
|
-
editorActions.current._privateRegisterEditor(instance.view, instance.eventDispatcher, instance.transformer, function () {
|
|
63
|
-
return (0, _featureFlagsFromProps.createFeatureFlagsFromProps)(props);
|
|
64
|
-
});
|
|
65
|
-
if ((_props$featureFlags = props.featureFlags) !== null && _props$featureFlags !== void 0 && _props$featureFlags.ufo) {
|
|
66
|
-
var _experienceStore$curr;
|
|
67
|
-
experienceStore.current = _ufo.ExperienceStore.getInstance(instance.view);
|
|
68
|
-
(_experienceStore$curr = experienceStore.current) === null || _experienceStore$curr === void 0 || _experienceStore$curr.start(_ufo.EditorExperience.loadEditor, startTime.current);
|
|
69
|
-
}
|
|
70
|
-
if (props.onEditorReady) {
|
|
71
|
-
var _props$performanceTra, _props$featureFlags2;
|
|
72
|
-
var measureEditorReady = (props === null || props === void 0 || (_props$performanceTra = props.performanceTracking) === null || _props$performanceTra === void 0 || (_props$performanceTra = _props$performanceTra.onEditorReadyCallbackTracking) === null || _props$performanceTra === void 0 ? void 0 : _props$performanceTra.enabled) || ((_props$featureFlags2 = props.featureFlags) === null || _props$featureFlags2 === void 0 ? void 0 : _props$featureFlags2.ufo);
|
|
73
|
-
measureEditorReady && (0, _utils.startMeasure)(_measureEnum.default.ON_EDITOR_READY_CALLBACK);
|
|
74
|
-
props.onEditorReady(editorActions.current);
|
|
75
|
-
measureEditorReady && (0, _utils.stopMeasure)(_measureEnum.default.ON_EDITOR_READY_CALLBACK, (0, _sendDurationAnalytics.default)(_analytics.ACTION.ON_EDITOR_READY_CALLBACK, props, getExperienceStore, createAnalyticsEvent));
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
var onEditorDestroyed = function onEditorDestroyed(_instance) {
|
|
79
|
-
var _props$onDestroy;
|
|
80
|
-
editorActions.current._privateUnregisterEditor();
|
|
81
|
-
(_props$onDestroy = props.onDestroy) === null || _props$onDestroy === void 0 || _props$onDestroy.call(props);
|
|
82
|
-
};
|
|
83
|
-
(0, _useMeasureEditorMountTime.default)(props, getExperienceStore, createAnalyticsEvent);
|
|
84
|
-
var providerFactory = (0, _useProviderFactory.default)(props, editorActions.current, createAnalyticsEvent);
|
|
85
|
-
return (0, _react2.jsx)(_editorInternal.EditorInternal, {
|
|
86
|
-
props: props,
|
|
87
|
-
handleAnalyticsEvent: handleAnalyticsEvent,
|
|
88
|
-
createAnalyticsEvent: createAnalyticsEvent,
|
|
89
|
-
preset: props.preset,
|
|
90
|
-
handleSave: function handleSave(view) {
|
|
91
|
-
var _props$onSave;
|
|
92
|
-
return (_props$onSave = props.onSave) === null || _props$onSave === void 0 ? void 0 : _props$onSave.call(props, view);
|
|
93
|
-
},
|
|
94
|
-
editorActions: editorActions.current,
|
|
95
|
-
onEditorCreated: onEditorCreated,
|
|
96
|
-
onEditorDestroyed: onEditorDestroyed,
|
|
97
|
-
providerFactory: providerFactory
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Improved memonization for Editor wrapper that deals with the lifecycle logic of the editor
|
|
102
|
-
*/
|
|
103
|
-
function EditorButBetter(passedProps) {
|
|
104
35
|
var propsRef = (0, _react.useRef)(passedProps);
|
|
105
|
-
var props = (0,
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
appearance: passedProps.appearance,
|
|
110
|
-
contentComponents: passedProps.contentComponents,
|
|
111
|
-
primaryToolbarIconBefore: passedProps.primaryToolbarIconBefore,
|
|
112
|
-
secondaryToolbarComponents: passedProps.secondaryToolbarComponents,
|
|
113
|
-
persistScrollGutter: passedProps.persistScrollGutter,
|
|
114
|
-
quickInsert: passedProps.quickInsert,
|
|
115
|
-
shouldFocus: passedProps.shouldFocus,
|
|
116
|
-
disabled: passedProps.disabled,
|
|
117
|
-
contextPanel: passedProps.contextPanel,
|
|
118
|
-
errorReporterHandler: passedProps.errorReporterHandler,
|
|
119
|
-
contentTransformerProvider: passedProps.contentTransformerProvider,
|
|
120
|
-
maxHeight: passedProps.maxHeight,
|
|
121
|
-
minHeight: passedProps.minHeight,
|
|
122
|
-
placeholder: passedProps.placeholder,
|
|
123
|
-
placeholderBracketHint: passedProps.placeholderBracketHint,
|
|
124
|
-
defaultValue: passedProps.defaultValue,
|
|
125
|
-
assistiveLabel: passedProps.assistiveLabel,
|
|
126
|
-
popupsMountPoint: passedProps.popupsMountPoint,
|
|
127
|
-
popupsBoundariesElement: passedProps.popupsBoundariesElement,
|
|
128
|
-
popupsScrollableElement: passedProps.popupsScrollableElement,
|
|
129
|
-
editorActions: passedProps.editorActions,
|
|
130
|
-
onEditorReady: passedProps.onEditorReady,
|
|
131
|
-
onDestroy: passedProps.onDestroy,
|
|
132
|
-
onChange: passedProps.onChange,
|
|
133
|
-
onCancel: passedProps.onCancel,
|
|
134
|
-
inputSamplingLimit: passedProps.inputSamplingLimit,
|
|
135
|
-
extensionProviders: passedProps.extensionProviders,
|
|
136
|
-
UNSAFE_useAnalyticsContext: passedProps.UNSAFE_useAnalyticsContext,
|
|
137
|
-
trackValidTransactions: passedProps.trackValidTransactions,
|
|
138
|
-
useStickyToolbar: passedProps.useStickyToolbar,
|
|
139
|
-
featureFlags: passedProps.featureFlags,
|
|
140
|
-
onSave: passedProps.onSave,
|
|
141
|
-
performanceTracking: passedProps.performanceTracking,
|
|
142
|
-
sanitizePrivateContent: passedProps.sanitizePrivateContent,
|
|
143
|
-
media: passedProps.media,
|
|
144
|
-
collabEdit: passedProps.collabEdit,
|
|
145
|
-
primaryToolbarComponents: passedProps.primaryToolbarComponents,
|
|
146
|
-
allowUndoRedoButtons: passedProps.allowUndoRedoButtons,
|
|
147
|
-
linking: passedProps.linking,
|
|
148
|
-
hideAvatarGroup: passedProps.hideAvatarGroup,
|
|
149
|
-
activityProvider: passedProps.activityProvider,
|
|
150
|
-
searchProvider: passedProps.searchProvider,
|
|
151
|
-
annotationProviders: passedProps.annotationProviders,
|
|
152
|
-
collabEditProvider: passedProps.collabEditProvider,
|
|
153
|
-
presenceProvider: passedProps.presenceProvider,
|
|
154
|
-
emojiProvider: passedProps.emojiProvider,
|
|
155
|
-
taskDecisionProvider: passedProps.taskDecisionProvider,
|
|
156
|
-
legacyImageUploadProvider: passedProps.legacyImageUploadProvider,
|
|
157
|
-
mentionProvider: passedProps.mentionProvider,
|
|
158
|
-
autoformattingProvider: passedProps.autoformattingProvider,
|
|
159
|
-
macroProvider: passedProps.macroProvider,
|
|
160
|
-
contextIdentifierProvider: passedProps.contextIdentifierProvider,
|
|
161
|
-
allowExpand: passedProps.allowExpand,
|
|
162
|
-
allowNestedTasks: passedProps.allowNestedTasks,
|
|
163
|
-
allowBlockType: passedProps.allowBlockType,
|
|
164
|
-
allowTasksAndDecisions: passedProps.allowTasksAndDecisions,
|
|
165
|
-
allowBreakout: passedProps.allowBreakout,
|
|
166
|
-
allowRule: passedProps.allowRule,
|
|
167
|
-
allowHelpDialog: passedProps.allowHelpDialog,
|
|
168
|
-
allowJiraIssue: passedProps.allowJiraIssue,
|
|
169
|
-
allowPanel: passedProps.allowPanel,
|
|
170
|
-
allowExtension: passedProps.allowExtension,
|
|
171
|
-
allowConfluenceInlineComment: passedProps.allowConfluenceInlineComment,
|
|
172
|
-
allowTemplatePlaceholders: passedProps.allowTemplatePlaceholders,
|
|
173
|
-
allowDate: passedProps.allowDate,
|
|
174
|
-
allowLayouts: passedProps.allowLayouts,
|
|
175
|
-
allowStatus: passedProps.allowStatus,
|
|
176
|
-
allowTextAlignment: passedProps.allowTextAlignment,
|
|
177
|
-
allowIndentation: passedProps.allowIndentation,
|
|
178
|
-
showIndentationButtons: passedProps.showIndentationButtons,
|
|
179
|
-
allowNewInsertionBehaviour: passedProps.allowNewInsertionBehaviour,
|
|
180
|
-
allowFindReplace: passedProps.allowFindReplace,
|
|
181
|
-
UNSAFE_allowBorderMark: passedProps.UNSAFE_allowBorderMark,
|
|
182
|
-
allowBorderMark: passedProps.allowBorderMark,
|
|
183
|
-
allowFragmentMark: passedProps.allowFragmentMark,
|
|
184
|
-
autoScrollIntoView: passedProps.autoScrollIntoView,
|
|
185
|
-
elementBrowser: passedProps.elementBrowser,
|
|
186
|
-
maxContentSize: passedProps.maxContentSize,
|
|
187
|
-
saveOnEnter: passedProps.saveOnEnter,
|
|
188
|
-
feedbackInfo: passedProps.feedbackInfo,
|
|
189
|
-
mention: passedProps.mention,
|
|
190
|
-
mentionInsertDisplayName: passedProps.mentionInsertDisplayName,
|
|
191
|
-
uploadErrorHandler: passedProps.uploadErrorHandler,
|
|
192
|
-
waitForMediaUpload: passedProps.waitForMediaUpload,
|
|
193
|
-
extensionHandlers: passedProps.extensionHandlers,
|
|
194
|
-
allowTextColor: passedProps.allowTextColor,
|
|
195
|
-
allowTables: passedProps.allowTables,
|
|
196
|
-
insertMenuItems: passedProps.insertMenuItems,
|
|
197
|
-
UNSAFE_cards: passedProps.UNSAFE_cards,
|
|
198
|
-
smartLinks: passedProps.smartLinks,
|
|
199
|
-
allowAnalyticsGASV3: passedProps.allowAnalyticsGASV3,
|
|
200
|
-
codeBlock: passedProps.codeBlock,
|
|
201
|
-
textFormatting: passedProps.textFormatting,
|
|
202
|
-
dangerouslyAppendPlugins: passedProps.dangerouslyAppendPlugins
|
|
203
|
-
};
|
|
204
|
-
var defaultProps = {
|
|
205
|
-
appearance: 'comment',
|
|
206
|
-
disabled: false,
|
|
207
|
-
quickInsert: true
|
|
208
|
-
};
|
|
209
|
-
var nextProps = _objectSpread(_objectSpread({}, defaultProps), allProps);
|
|
210
|
-
propsRef.current = nextProps;
|
|
211
|
-
return nextProps;
|
|
212
|
-
}, [passedProps.preset, passedProps.appearance, passedProps.contentComponents, passedProps.primaryToolbarIconBefore, passedProps.secondaryToolbarComponents, passedProps.persistScrollGutter, passedProps.quickInsert, passedProps.shouldFocus, passedProps.disabled, passedProps.contextPanel, passedProps.errorReporterHandler, passedProps.contentTransformerProvider, passedProps.maxHeight, passedProps.minHeight, passedProps.placeholder, passedProps.placeholderBracketHint, passedProps.defaultValue, passedProps.assistiveLabel, passedProps.popupsMountPoint, passedProps.popupsBoundariesElement, passedProps.popupsScrollableElement, passedProps.editorActions, passedProps.onEditorReady, passedProps.onDestroy, passedProps.onChange, passedProps.onCancel, passedProps.inputSamplingLimit, passedProps.extensionProviders, passedProps.UNSAFE_useAnalyticsContext, passedProps.trackValidTransactions, passedProps.useStickyToolbar, passedProps.featureFlags, passedProps.onSave, passedProps.performanceTracking, passedProps.sanitizePrivateContent, passedProps.media, passedProps.collabEdit, passedProps.primaryToolbarComponents, passedProps.allowUndoRedoButtons, passedProps.linking, passedProps.hideAvatarGroup, passedProps.activityProvider, passedProps.searchProvider, passedProps.annotationProviders, passedProps.collabEditProvider, passedProps.presenceProvider, passedProps.emojiProvider, passedProps.taskDecisionProvider, passedProps.legacyImageUploadProvider, passedProps.mentionProvider, passedProps.autoformattingProvider, passedProps.macroProvider, passedProps.contextIdentifierProvider, passedProps.allowExpand, passedProps.allowNestedTasks, passedProps.allowBlockType, passedProps.allowTasksAndDecisions, passedProps.allowBreakout, passedProps.allowRule, passedProps.allowHelpDialog, passedProps.allowJiraIssue, passedProps.allowPanel, passedProps.allowExtension, passedProps.allowConfluenceInlineComment, passedProps.allowTemplatePlaceholders, passedProps.allowDate, passedProps.allowLayouts, passedProps.allowStatus, passedProps.allowTextAlignment, passedProps.allowIndentation, passedProps.showIndentationButtons, passedProps.allowNewInsertionBehaviour, passedProps.allowFindReplace, passedProps.UNSAFE_allowBorderMark, passedProps.allowBorderMark, passedProps.allowFragmentMark, passedProps.autoScrollIntoView, passedProps.elementBrowser, passedProps.maxContentSize, passedProps.saveOnEnter, passedProps.feedbackInfo, passedProps.mention, passedProps.mentionInsertDisplayName, passedProps.uploadErrorHandler, passedProps.waitForMediaUpload, passedProps.extensionHandlers, passedProps.allowTextColor, passedProps.allowTables, passedProps.insertMenuItems, passedProps.UNSAFE_cards, passedProps.smartLinks, passedProps.allowAnalyticsGASV3, passedProps.codeBlock, passedProps.textFormatting, passedProps.dangerouslyAppendPlugins]);
|
|
36
|
+
var props = (0, _useMemoEditorProps.default)(passedProps);
|
|
37
|
+
(0, _react.useMemo)(function () {
|
|
38
|
+
propsRef.current = props;
|
|
39
|
+
}, [props]);
|
|
213
40
|
var editorContext = (0, _EditorContext.useEditorContext)();
|
|
214
41
|
var editorActionsPlaceholderInstance = (0, _react.useMemo)(function () {
|
|
215
42
|
return new _actions.default();
|
|
216
43
|
}, []);
|
|
217
44
|
var editorActions = editorContext.editorActions || editorActionsPlaceholderInstance;
|
|
218
45
|
var startTime = (0, _react.useRef)(performance.now());
|
|
219
|
-
var
|
|
220
|
-
createAnalyticsEvent =
|
|
46
|
+
var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
|
|
47
|
+
createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
|
|
221
48
|
var experienceStore = (0, _react.useRef)();
|
|
222
49
|
var handleAnalyticsEvent = (0, _react.useCallback)(function (data) {
|
|
223
50
|
(0, _analytics.fireAnalyticsEvent)(createAnalyticsEvent)(data);
|
|
@@ -241,9 +68,9 @@ function EditorButBetter(passedProps) {
|
|
|
241
68
|
featureFlags = _propsRef$current.featureFlags;
|
|
242
69
|
editorActions._privateRegisterEditor(instance.view, instance.eventDispatcher, instance.transformer, getFeatureFlagsFromRef);
|
|
243
70
|
if (featureFlags !== null && featureFlags !== void 0 && featureFlags.ufo) {
|
|
244
|
-
var _experienceStore$
|
|
71
|
+
var _experienceStore$curr;
|
|
245
72
|
experienceStore.current = _ufo.ExperienceStore.getInstance(instance.view);
|
|
246
|
-
(_experienceStore$
|
|
73
|
+
(_experienceStore$curr = experienceStore.current) === null || _experienceStore$curr === void 0 || _experienceStore$curr.start(_ufo.EditorExperience.loadEditor, startTime.current);
|
|
247
74
|
}
|
|
248
75
|
if (onEditorReady) {
|
|
249
76
|
var _performanceTracking$;
|
|
@@ -294,13 +121,6 @@ function ComposableEditor(props) {
|
|
|
294
121
|
editorSessionId: editorSessionId.current
|
|
295
122
|
};
|
|
296
123
|
}, [props.appearance]);
|
|
297
|
-
if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.less-editor-props-rerendering')) {
|
|
298
|
-
return (0, _react2.jsx)(_analyticsNamespacedContext.FabricEditorAnalyticsContext
|
|
299
|
-
// @ts-expect-error Type 'string' is not assignable to type '"editorCore" | "renderer"'.
|
|
300
|
-
, {
|
|
301
|
-
data: data
|
|
302
|
-
}, (0, _react2.jsx)(EditorButBetter, props));
|
|
303
|
-
}
|
|
304
124
|
return (0, _react2.jsx)(_analyticsNamespacedContext.FabricEditorAnalyticsContext
|
|
305
125
|
// @ts-expect-error Type 'string' is not assignable to type '"editorCore" | "renderer"'.
|
|
306
126
|
, {
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useMemoEditorProps = exports.default = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _react = require("react");
|
|
10
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
|
+
var useMemoEditorProps = exports.useMemoEditorProps = function useMemoEditorProps(passedProps) {
|
|
13
|
+
var memodProps = (0, _react.useMemo)(function () {
|
|
14
|
+
// That sounds awful but this is the only way to make sure we didn't missed any EditorProps
|
|
15
|
+
var allProps = {
|
|
16
|
+
preset: passedProps.preset,
|
|
17
|
+
appearance: passedProps.appearance,
|
|
18
|
+
contentComponents: passedProps.contentComponents,
|
|
19
|
+
primaryToolbarIconBefore: passedProps.primaryToolbarIconBefore,
|
|
20
|
+
secondaryToolbarComponents: passedProps.secondaryToolbarComponents,
|
|
21
|
+
persistScrollGutter: passedProps.persistScrollGutter,
|
|
22
|
+
quickInsert: passedProps.quickInsert,
|
|
23
|
+
shouldFocus: passedProps.shouldFocus,
|
|
24
|
+
disabled: passedProps.disabled,
|
|
25
|
+
contextPanel: passedProps.contextPanel,
|
|
26
|
+
errorReporterHandler: passedProps.errorReporterHandler,
|
|
27
|
+
contentTransformerProvider: passedProps.contentTransformerProvider,
|
|
28
|
+
maxHeight: passedProps.maxHeight,
|
|
29
|
+
minHeight: passedProps.minHeight,
|
|
30
|
+
placeholder: passedProps.placeholder,
|
|
31
|
+
placeholderBracketHint: passedProps.placeholderBracketHint,
|
|
32
|
+
defaultValue: passedProps.defaultValue,
|
|
33
|
+
assistiveLabel: passedProps.assistiveLabel,
|
|
34
|
+
popupsMountPoint: passedProps.popupsMountPoint,
|
|
35
|
+
popupsBoundariesElement: passedProps.popupsBoundariesElement,
|
|
36
|
+
popupsScrollableElement: passedProps.popupsScrollableElement,
|
|
37
|
+
editorActions: passedProps.editorActions,
|
|
38
|
+
onEditorReady: passedProps.onEditorReady,
|
|
39
|
+
onDestroy: passedProps.onDestroy,
|
|
40
|
+
onChange: passedProps.onChange,
|
|
41
|
+
onCancel: passedProps.onCancel,
|
|
42
|
+
inputSamplingLimit: passedProps.inputSamplingLimit,
|
|
43
|
+
extensionProviders: passedProps.extensionProviders,
|
|
44
|
+
UNSAFE_useAnalyticsContext: passedProps.UNSAFE_useAnalyticsContext,
|
|
45
|
+
trackValidTransactions: passedProps.trackValidTransactions,
|
|
46
|
+
useStickyToolbar: passedProps.useStickyToolbar,
|
|
47
|
+
featureFlags: passedProps.featureFlags,
|
|
48
|
+
onSave: passedProps.onSave,
|
|
49
|
+
performanceTracking: passedProps.performanceTracking,
|
|
50
|
+
sanitizePrivateContent: passedProps.sanitizePrivateContent,
|
|
51
|
+
media: passedProps.media,
|
|
52
|
+
collabEdit: passedProps.collabEdit,
|
|
53
|
+
primaryToolbarComponents: passedProps.primaryToolbarComponents,
|
|
54
|
+
allowUndoRedoButtons: passedProps.allowUndoRedoButtons,
|
|
55
|
+
linking: passedProps.linking,
|
|
56
|
+
hideAvatarGroup: passedProps.hideAvatarGroup,
|
|
57
|
+
activityProvider: passedProps.activityProvider,
|
|
58
|
+
searchProvider: passedProps.searchProvider,
|
|
59
|
+
annotationProviders: passedProps.annotationProviders,
|
|
60
|
+
collabEditProvider: passedProps.collabEditProvider,
|
|
61
|
+
presenceProvider: passedProps.presenceProvider,
|
|
62
|
+
emojiProvider: passedProps.emojiProvider,
|
|
63
|
+
taskDecisionProvider: passedProps.taskDecisionProvider,
|
|
64
|
+
legacyImageUploadProvider: passedProps.legacyImageUploadProvider,
|
|
65
|
+
mentionProvider: passedProps.mentionProvider,
|
|
66
|
+
autoformattingProvider: passedProps.autoformattingProvider,
|
|
67
|
+
macroProvider: passedProps.macroProvider,
|
|
68
|
+
contextIdentifierProvider: passedProps.contextIdentifierProvider,
|
|
69
|
+
allowExpand: passedProps.allowExpand,
|
|
70
|
+
allowNestedTasks: passedProps.allowNestedTasks,
|
|
71
|
+
allowBlockType: passedProps.allowBlockType,
|
|
72
|
+
allowTasksAndDecisions: passedProps.allowTasksAndDecisions,
|
|
73
|
+
allowBreakout: passedProps.allowBreakout,
|
|
74
|
+
allowRule: passedProps.allowRule,
|
|
75
|
+
allowHelpDialog: passedProps.allowHelpDialog,
|
|
76
|
+
allowJiraIssue: passedProps.allowJiraIssue,
|
|
77
|
+
allowPanel: passedProps.allowPanel,
|
|
78
|
+
allowExtension: passedProps.allowExtension,
|
|
79
|
+
allowConfluenceInlineComment: passedProps.allowConfluenceInlineComment,
|
|
80
|
+
allowTemplatePlaceholders: passedProps.allowTemplatePlaceholders,
|
|
81
|
+
allowDate: passedProps.allowDate,
|
|
82
|
+
allowLayouts: passedProps.allowLayouts,
|
|
83
|
+
allowStatus: passedProps.allowStatus,
|
|
84
|
+
allowTextAlignment: passedProps.allowTextAlignment,
|
|
85
|
+
allowIndentation: passedProps.allowIndentation,
|
|
86
|
+
showIndentationButtons: passedProps.showIndentationButtons,
|
|
87
|
+
allowNewInsertionBehaviour: passedProps.allowNewInsertionBehaviour,
|
|
88
|
+
allowFindReplace: passedProps.allowFindReplace,
|
|
89
|
+
UNSAFE_allowBorderMark: passedProps.UNSAFE_allowBorderMark,
|
|
90
|
+
allowBorderMark: passedProps.allowBorderMark,
|
|
91
|
+
allowFragmentMark: passedProps.allowFragmentMark,
|
|
92
|
+
autoScrollIntoView: passedProps.autoScrollIntoView,
|
|
93
|
+
elementBrowser: passedProps.elementBrowser,
|
|
94
|
+
maxContentSize: passedProps.maxContentSize,
|
|
95
|
+
saveOnEnter: passedProps.saveOnEnter,
|
|
96
|
+
feedbackInfo: passedProps.feedbackInfo,
|
|
97
|
+
mention: passedProps.mention,
|
|
98
|
+
mentionInsertDisplayName: passedProps.mentionInsertDisplayName,
|
|
99
|
+
uploadErrorHandler: passedProps.uploadErrorHandler,
|
|
100
|
+
waitForMediaUpload: passedProps.waitForMediaUpload,
|
|
101
|
+
extensionHandlers: passedProps.extensionHandlers,
|
|
102
|
+
allowTextColor: passedProps.allowTextColor,
|
|
103
|
+
allowTables: passedProps.allowTables,
|
|
104
|
+
insertMenuItems: passedProps.insertMenuItems,
|
|
105
|
+
UNSAFE_cards: passedProps.UNSAFE_cards,
|
|
106
|
+
smartLinks: passedProps.smartLinks,
|
|
107
|
+
allowAnalyticsGASV3: passedProps.allowAnalyticsGASV3,
|
|
108
|
+
codeBlock: passedProps.codeBlock,
|
|
109
|
+
textFormatting: passedProps.textFormatting,
|
|
110
|
+
dangerouslyAppendPlugins: passedProps.dangerouslyAppendPlugins
|
|
111
|
+
};
|
|
112
|
+
var defaultProps = {
|
|
113
|
+
appearance: 'comment',
|
|
114
|
+
disabled: false,
|
|
115
|
+
quickInsert: true
|
|
116
|
+
};
|
|
117
|
+
var nextProps = _objectSpread(_objectSpread({}, defaultProps), allProps);
|
|
118
|
+
return nextProps;
|
|
119
|
+
}, [passedProps.preset, passedProps.appearance, passedProps.contentComponents, passedProps.primaryToolbarIconBefore, passedProps.secondaryToolbarComponents, passedProps.persistScrollGutter, passedProps.quickInsert, passedProps.shouldFocus, passedProps.disabled, passedProps.contextPanel, passedProps.errorReporterHandler, passedProps.contentTransformerProvider, passedProps.maxHeight, passedProps.minHeight, passedProps.placeholder, passedProps.placeholderBracketHint, passedProps.defaultValue, passedProps.assistiveLabel, passedProps.popupsMountPoint, passedProps.popupsBoundariesElement, passedProps.popupsScrollableElement, passedProps.editorActions, passedProps.onEditorReady, passedProps.onDestroy, passedProps.onChange, passedProps.onCancel, passedProps.inputSamplingLimit, passedProps.extensionProviders, passedProps.UNSAFE_useAnalyticsContext, passedProps.trackValidTransactions, passedProps.useStickyToolbar, passedProps.featureFlags, passedProps.onSave, passedProps.performanceTracking, passedProps.sanitizePrivateContent, passedProps.media, passedProps.collabEdit, passedProps.primaryToolbarComponents, passedProps.allowUndoRedoButtons, passedProps.linking, passedProps.hideAvatarGroup, passedProps.activityProvider, passedProps.searchProvider, passedProps.annotationProviders, passedProps.collabEditProvider, passedProps.presenceProvider, passedProps.emojiProvider, passedProps.taskDecisionProvider, passedProps.legacyImageUploadProvider, passedProps.mentionProvider, passedProps.autoformattingProvider, passedProps.macroProvider, passedProps.contextIdentifierProvider, passedProps.allowExpand, passedProps.allowNestedTasks, passedProps.allowBlockType, passedProps.allowTasksAndDecisions, passedProps.allowBreakout, passedProps.allowRule, passedProps.allowHelpDialog, passedProps.allowJiraIssue, passedProps.allowPanel, passedProps.allowExtension, passedProps.allowConfluenceInlineComment, passedProps.allowTemplatePlaceholders, passedProps.allowDate, passedProps.allowLayouts, passedProps.allowStatus, passedProps.allowTextAlignment, passedProps.allowIndentation, passedProps.showIndentationButtons, passedProps.allowNewInsertionBehaviour, passedProps.allowFindReplace, passedProps.UNSAFE_allowBorderMark, passedProps.allowBorderMark, passedProps.allowFragmentMark, passedProps.autoScrollIntoView, passedProps.elementBrowser, passedProps.maxContentSize, passedProps.saveOnEnter, passedProps.feedbackInfo, passedProps.mention, passedProps.mentionInsertDisplayName, passedProps.uploadErrorHandler, passedProps.waitForMediaUpload, passedProps.extensionHandlers, passedProps.allowTextColor, passedProps.allowTables, passedProps.insertMenuItems, passedProps.UNSAFE_cards, passedProps.smartLinks, passedProps.allowAnalyticsGASV3, passedProps.codeBlock, passedProps.textFormatting, passedProps.dangerouslyAppendPlugins]);
|
|
120
|
+
return memodProps;
|
|
121
|
+
};
|
|
122
|
+
var _default = exports.default = useMemoEditorProps;
|
|
@@ -63,7 +63,7 @@ var Content = /*#__PURE__*/_react2.default.forwardRef(function (props, ref) {
|
|
|
63
63
|
css: _StyledComponents.editorContentGutterStyle,
|
|
64
64
|
className: ['ak-editor-content-area', fullWidthMode ? 'fabric-editor--full-width-mode' : ''].join(' '),
|
|
65
65
|
ref: contentAreaRef
|
|
66
|
-
}, props.customContentComponents, (0, _react.jsx)(_PluginSlot.default, {
|
|
66
|
+
}, !!props.customContentComponents && 'before' in props.customContentComponents ? props.customContentComponents.before : props.customContentComponents, (0, _react.jsx)(_PluginSlot.default, {
|
|
67
67
|
editorView: props.editorView,
|
|
68
68
|
editorActions: props.editorActions,
|
|
69
69
|
eventDispatcher: props.eventDispatcher,
|
|
@@ -79,7 +79,7 @@ var Content = /*#__PURE__*/_react2.default.forwardRef(function (props, ref) {
|
|
|
79
79
|
containerElement: scrollContainerRef.current,
|
|
80
80
|
dispatchAnalyticsEvent: props.dispatchAnalyticsEvent,
|
|
81
81
|
wrapperElement: props.wrapperElement
|
|
82
|
-
}), props.editorDOMElement)))), (0, _react.jsx)("div", {
|
|
82
|
+
}), props.editorDOMElement, !!props.customContentComponents && 'after' in props.customContentComponents ? props.customContentComponents.after : null)))), (0, _react.jsx)("div", {
|
|
83
83
|
css: _StyledComponents.sidebarArea
|
|
84
84
|
}, props.contextPanel || (0, _react.jsx)(_ContextPanel.default, {
|
|
85
85
|
visible: false
|