@atlaskit/editor-core 189.5.11 → 189.6.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 (78) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/composable-editor/editor.js +11 -191
  3. package/dist/cjs/composable-editor/hooks/useMemoEditorProps.js +122 -0
  4. package/dist/cjs/ui/ConfigPanel/ErrorMessage/index.js +2 -1
  5. package/dist/cjs/ui/ConfigPanel/FieldMessages.js +9 -3
  6. package/dist/cjs/ui/ConfigPanel/Fields/Boolean.js +2 -1
  7. package/dist/cjs/ui/ConfigPanel/Fields/ColorPicker.js +1 -0
  8. package/dist/cjs/ui/ConfigPanel/Fields/CustomSelect.js +2 -1
  9. package/dist/cjs/ui/ConfigPanel/Fields/Date.js +2 -1
  10. package/dist/cjs/ui/ConfigPanel/Fields/DateRange.js +2 -1
  11. package/dist/cjs/ui/ConfigPanel/Fields/Number.js +2 -1
  12. package/dist/cjs/ui/ConfigPanel/Fields/RadioGroup.js +2 -1
  13. package/dist/cjs/ui/ConfigPanel/Fields/Select.js +1 -0
  14. package/dist/cjs/ui/ConfigPanel/Fields/String.js +4 -2
  15. package/dist/cjs/ui/ConfigPanel/Fields/UserSelect.js +2 -1
  16. package/dist/cjs/ui/ConfigPanel/Header.js +12 -8
  17. package/dist/cjs/version-wrapper.js +1 -1
  18. package/dist/es2019/composable-editor/editor.js +7 -185
  19. package/dist/es2019/composable-editor/hooks/useMemoEditorProps.js +115 -0
  20. package/dist/es2019/ui/ConfigPanel/ErrorMessage/index.js +2 -1
  21. package/dist/es2019/ui/ConfigPanel/FieldMessages.js +9 -3
  22. package/dist/es2019/ui/ConfigPanel/Fields/Boolean.js +2 -1
  23. package/dist/es2019/ui/ConfigPanel/Fields/ColorPicker.js +1 -0
  24. package/dist/es2019/ui/ConfigPanel/Fields/CustomSelect.js +2 -1
  25. package/dist/es2019/ui/ConfigPanel/Fields/Date.js +2 -1
  26. package/dist/es2019/ui/ConfigPanel/Fields/DateRange.js +2 -1
  27. package/dist/es2019/ui/ConfigPanel/Fields/Number.js +2 -1
  28. package/dist/es2019/ui/ConfigPanel/Fields/RadioGroup.js +2 -1
  29. package/dist/es2019/ui/ConfigPanel/Fields/Select.js +1 -0
  30. package/dist/es2019/ui/ConfigPanel/Fields/String.js +4 -2
  31. package/dist/es2019/ui/ConfigPanel/Fields/UserSelect.js +2 -1
  32. package/dist/es2019/ui/ConfigPanel/Header.js +12 -8
  33. package/dist/es2019/version-wrapper.js +1 -1
  34. package/dist/esm/composable-editor/editor.js +9 -191
  35. package/dist/esm/composable-editor/hooks/useMemoEditorProps.js +115 -0
  36. package/dist/esm/ui/ConfigPanel/ErrorMessage/index.js +2 -1
  37. package/dist/esm/ui/ConfigPanel/FieldMessages.js +9 -3
  38. package/dist/esm/ui/ConfigPanel/Fields/Boolean.js +2 -1
  39. package/dist/esm/ui/ConfigPanel/Fields/ColorPicker.js +1 -0
  40. package/dist/esm/ui/ConfigPanel/Fields/CustomSelect.js +2 -1
  41. package/dist/esm/ui/ConfigPanel/Fields/Date.js +2 -1
  42. package/dist/esm/ui/ConfigPanel/Fields/DateRange.js +2 -1
  43. package/dist/esm/ui/ConfigPanel/Fields/Number.js +2 -1
  44. package/dist/esm/ui/ConfigPanel/Fields/RadioGroup.js +2 -1
  45. package/dist/esm/ui/ConfigPanel/Fields/Select.js +1 -0
  46. package/dist/esm/ui/ConfigPanel/Fields/String.js +4 -2
  47. package/dist/esm/ui/ConfigPanel/Fields/UserSelect.js +2 -1
  48. package/dist/esm/ui/ConfigPanel/Header.js +12 -8
  49. package/dist/esm/version-wrapper.js +1 -1
  50. package/dist/types/composable-editor/hooks/useMemoEditorProps.d.ts +6 -0
  51. package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +1 -1
  52. package/dist/types/ui/ConfigPanel/ErrorMessage/index.d.ts +1 -1
  53. package/dist/types/ui/ConfigPanel/FieldMessages.d.ts +1 -1
  54. package/dist/types/ui/ConfigPanel/Fields/CustomSelect.d.ts +3 -3
  55. package/dist/types/ui/ConfigPanel/Fields/Date.d.ts +3 -3
  56. package/dist/types/ui/ConfigPanel/Fields/DateRange.d.ts +3 -3
  57. package/dist/types/ui/ConfigPanel/Fields/Number.d.ts +2 -2
  58. package/dist/types/ui/ConfigPanel/Fields/RadioGroup.d.ts +2 -2
  59. package/dist/types/ui/ConfigPanel/Fields/Select.d.ts +2 -2
  60. package/dist/types/ui/ConfigPanel/Fields/String.d.ts +2 -2
  61. package/dist/types/ui/ConfigPanel/Fields/UserSelect.d.ts +2 -2
  62. package/dist/types/ui/ConfigPanel/Header.d.ts +2 -2
  63. package/dist/types/ui/ContentStyles/index.d.ts +2 -2
  64. package/dist/types-ts4.5/composable-editor/hooks/useMemoEditorProps.d.ts +6 -0
  65. package/dist/types-ts4.5/ui/Appearance/FullPage/StyledComponents.d.ts +1 -1
  66. package/dist/types-ts4.5/ui/ConfigPanel/ErrorMessage/index.d.ts +1 -1
  67. package/dist/types-ts4.5/ui/ConfigPanel/FieldMessages.d.ts +1 -1
  68. package/dist/types-ts4.5/ui/ConfigPanel/Fields/CustomSelect.d.ts +3 -3
  69. package/dist/types-ts4.5/ui/ConfigPanel/Fields/Date.d.ts +3 -3
  70. package/dist/types-ts4.5/ui/ConfigPanel/Fields/DateRange.d.ts +3 -3
  71. package/dist/types-ts4.5/ui/ConfigPanel/Fields/Number.d.ts +2 -2
  72. package/dist/types-ts4.5/ui/ConfigPanel/Fields/RadioGroup.d.ts +2 -2
  73. package/dist/types-ts4.5/ui/ConfigPanel/Fields/Select.d.ts +2 -2
  74. package/dist/types-ts4.5/ui/ConfigPanel/Fields/String.d.ts +2 -2
  75. package/dist/types-ts4.5/ui/ConfigPanel/Fields/UserSelect.d.ts +2 -2
  76. package/dist/types-ts4.5/ui/ConfigPanel/Header.d.ts +2 -2
  77. package/dist/types-ts4.5/ui/ContentStyles/index.d.ts +2 -2
  78. package/package.json +6 -9
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @atlaskit/editor-core
2
2
 
3
+ ## 189.6.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#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.
8
+ - [#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
9
+
10
+ ## 189.6.0
11
+
12
+ ### Minor Changes
13
+
14
+ - [#59378](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/59378) [`cd8ba004f7ed`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/cd8ba004f7ed) - Migrate config-panel tests to RTL, and add testids where necessary
15
+
3
16
  ## 189.5.11
4
17
 
5
18
  ### Patch 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
- 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; }
31
- 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; } /** @jsx jsx */
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, _react.useMemo)(function () {
106
- // That sounds awful but this is the only way to make sure we didn't missed any EditorProps
107
- var allProps = {
108
- preset: passedProps.preset,
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 _useAnalyticsEvents2 = (0, _analyticsNext.useAnalyticsEvents)(),
220
- createAnalyticsEvent = _useAnalyticsEvents2.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$curr2;
71
+ var _experienceStore$curr;
245
72
  experienceStore.current = _ufo.ExperienceStore.getInstance(instance.view);
246
- (_experienceStore$curr2 = experienceStore.current) === null || _experienceStore$curr2 === void 0 || _experienceStore$curr2.start(_ufo.EditorExperience.loadEditor, startTime.current);
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;
@@ -26,7 +26,8 @@ var ConfigPanelErrorMessage = function ConfigPanelErrorMessage(_ref) {
26
26
  return /*#__PURE__*/_react.default.createElement(_ErrorImage.default, null);
27
27
  },
28
28
  size: "narrow",
29
- imageHeight: 80
29
+ imageHeight: 80,
30
+ testId: "config-panel-error-message"
30
31
  });
31
32
  };
32
33
  var _default = exports.default = (0, _reactIntlNext.injectIntl)(ConfigPanelErrorMessage);
@@ -85,11 +85,17 @@ var FieldMessages = function FieldMessages(_ref2) {
85
85
  }
86
86
  switch (error) {
87
87
  case _types.ValidationError.Required:
88
- return /*#__PURE__*/_react.default.createElement(_form.ErrorMessage, null, intl.formatMessage(_messages.messages.required));
88
+ return /*#__PURE__*/_react.default.createElement(_form.ErrorMessage, {
89
+ testId: "config-panel-error-message"
90
+ }, intl.formatMessage(_messages.messages.required));
89
91
  case _types.ValidationError.Invalid:
90
- return /*#__PURE__*/_react.default.createElement(_form.ErrorMessage, null, intl.formatMessage(_messages.messages.invalid));
92
+ return /*#__PURE__*/_react.default.createElement(_form.ErrorMessage, {
93
+ testId: "config-panel-error-message"
94
+ }, intl.formatMessage(_messages.messages.invalid));
91
95
  case _types.FieldTypeError.isMultipleAndRadio:
92
- return /*#__PURE__*/_react.default.createElement(_form.ErrorMessage, null, intl.formatMessage(_messages.messages.isMultipleAndRadio));
96
+ return /*#__PURE__*/_react.default.createElement(_form.ErrorMessage, {
97
+ testId: "config-panel-error-message"
98
+ }, intl.formatMessage(_messages.messages.isMultipleAndRadio));
93
99
  default:
94
100
  return null;
95
101
  }
@@ -97,7 +97,8 @@ function Toggle(_ref3) {
97
97
  validate: function validate(value) {
98
98
  return _validate(value, isRequired);
99
99
  },
100
- defaultValue: defaultValue
100
+ defaultValue: defaultValue,
101
+ testId: "config-panel-toggle-".concat(name)
101
102
  }, function (_ref4) {
102
103
  var fieldProps = _ref4.fieldProps,
103
104
  error = _ref4.error;
@@ -368,6 +368,7 @@ var ColorPickerField = function ColorPickerField(_ref) {
368
368
  name: name,
369
369
  isRequired: isRequired,
370
370
  defaultValue: defaultValue,
371
+ testId: "config-panel-color-picker-".concat(name),
371
372
  validate: function validate(value) {
372
373
  return (0, _utils.validate)(field, value || '');
373
374
  }
@@ -150,7 +150,8 @@ function CustomSelect(_ref2) {
150
150
  defaultValue: defaultValue,
151
151
  validate: function validate(value) {
152
152
  return (0, _utils.validate)(field, value);
153
- }
153
+ },
154
+ testId: "config-panel-custom-select-".concat(name)
154
155
  }, function (_ref3) {
155
156
  var fieldProps = _ref3.fieldProps,
156
157
  error = _ref3.error;
@@ -30,7 +30,8 @@ function Date(_ref) {
30
30
  isRequired: isRequired,
31
31
  validate: function validate(value) {
32
32
  return (0, _utils.validate)(field, value);
33
- }
33
+ },
34
+ testId: "config-panel-date-picker-".concat(name)
34
35
  }, function (_ref2) {
35
36
  var fieldProps = _ref2.fieldProps,
36
37
  error = _ref2.error;
@@ -107,7 +107,8 @@ var DateRange = function DateRange(_ref3) {
107
107
  isRequired: field.isRequired,
108
108
  validate: function validate(value) {
109
109
  return (0, _utils.validate)(field, value || '');
110
- }
110
+ },
111
+ testId: "config-panel-date-range-".concat(name)
111
112
  }, function (_ref5) {
112
113
  var fieldProps = _ref5.fieldProps,
113
114
  error = _ref5.error;
@@ -41,7 +41,8 @@ function Number(_ref) {
41
41
  label: label,
42
42
  defaultValue: defaultValue === undefined ? '' : String(defaultValue),
43
43
  isRequired: isRequired,
44
- validate: validateNumber
44
+ validate: validateNumber,
45
+ testId: "config-panel-number-".concat(name)
45
46
  }, function (_ref2) {
46
47
  var fieldProps = _ref2.fieldProps,
47
48
  error = _ref2.error,
@@ -34,7 +34,8 @@ function RadioField(_ref) {
34
34
  isRequired: field.isRequired,
35
35
  validate: function validate(value) {
36
36
  return (0, _utils.validate)(field, value);
37
- }
37
+ },
38
+ testId: "config-panel-radio-group-".concat(field.name)
38
39
  }, function (_ref2) {
39
40
  var fieldProps = _ref2.fieldProps,
40
41
  error = _ref2.error;
@@ -29,6 +29,7 @@ function SelectField(_ref) {
29
29
  name: name,
30
30
  label: field.label,
31
31
  defaultValue: (0, _utils.getOptionFromValue)(field.items, field.defaultValue),
32
+ testId: "config-panel-select-".concat(name),
32
33
  isRequired: field.isRequired,
33
34
  validate: function validate(value) {
34
35
  return (0, _utils.validate)(field, value);
@@ -34,7 +34,8 @@ function String(_ref) {
34
34
  isRequired: isRequired,
35
35
  validate: function validate(value) {
36
36
  return (0, _utils.validate)(field, value || '');
37
- }
37
+ },
38
+ testId: "config-panel-string-".concat(name)
38
39
  }, function (_ref2) {
39
40
  var fieldProps = _ref2.fieldProps,
40
41
  error = _ref2.error,
@@ -51,7 +52,8 @@ function String(_ref) {
51
52
  fieldProps.onBlur();
52
53
  onFieldChange(name, meta.dirty);
53
54
  },
54
- placeholder: placeholder
55
+ placeholder: placeholder,
56
+ "data-testid": "config-panel-textarea-".concat(name)
55
57
  })), /*#__PURE__*/_react.default.createElement(_FieldMessages.default, {
56
58
  error: error,
57
59
  description: description
@@ -234,7 +234,8 @@ function UserSelect(_ref2) {
234
234
  defaultValue: defaultValue,
235
235
  validate: function validate(value) {
236
236
  return (0, _utils.validate)(field, value);
237
- }
237
+ },
238
+ testId: "config-panel-user-select-".concat(name)
238
239
  }, function (_ref3) {
239
240
  var fieldProps = _ref3.fieldProps,
240
241
  error = _ref3.error;
@@ -22,12 +22,12 @@ var iconWidth = 40;
22
22
  var buttonWidth = 40;
23
23
  var margin = 16;
24
24
  var gapSizeForEllipsis = iconWidth + buttonWidth + margin * 2;
25
- var item = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n margin-bottom: 24px;\n"])));
25
+ var item = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n margin-bottom: ", ";\n"])), "var(--ds-space-300, 24px)");
26
26
  var itemIcon = (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n width: ", "px;\n height: ", "px;\n overflow: hidden;\n border: 1px solid ", "; /* N60 at 50% */\n border-radius: ", "px;\n box-sizing: border-box;\n\n display: flex;\n justify-content: center;\n align-items: center;\n\n div {\n width: ", "px;\n height: ", "px;\n }\n"])), iconWidth, iconWidth, "var(--ds-border, rgba(223, 225, 229, 0.5))", (0, _constants.borderRadius)(), iconWidth, iconWidth);
27
- var itemBody = (0, _react2.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n line-height: 1.4;\n margin: 0 16px;\n flex-grow: 3;\n max-width: calc(100% - ", "px);\n"])), gapSizeForEllipsis);
27
+ var itemBody = (0, _react2.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n line-height: 1.4;\n margin: 0 ", ";\n flex-grow: 3;\n max-width: calc(100% - ", "px);\n"])), "var(--ds-space-200, 16px)", gapSizeForEllipsis);
28
28
  var centeredItemTitle = (0, _react2.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n flex-direction: column;\n justify-content: center;\n"])));
29
- var itemText = (0, _react2.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n max-width: 100%;\n white-space: initial;\n .item-summary {\n font-size: ", ";\n color: ", ";\n margin-top: 4px;\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n"])), (0, _editorSharedStyles.relativeFontSizeToBase16)(11.67), "var(--ds-text-subtlest, ".concat(_colors.N200, ")"));
30
- var descriptionStyle = (0, _react2.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n margin-bottom: 24px;\n"])));
29
+ var itemText = (0, _react2.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n max-width: 100%;\n white-space: initial;\n .item-summary {\n font-size: ", ";\n color: ", ";\n margin-top: ", ";\n\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n"])), (0, _editorSharedStyles.relativeFontSizeToBase16)(11.67), "var(--ds-text-subtlest, ".concat(_colors.N200, ")"), "var(--ds-space-050, 4px)");
30
+ var descriptionStyle = (0, _react2.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n margin-bottom: ", ";\n"])), "var(--ds-space-300, 24px)");
31
31
  var closeButtonWrapper = (0, _react2.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n width: ", "px;\n text-align: right;\n"])), buttonWidth);
32
32
  var Header = function Header(_ref) {
33
33
  var icon = _ref.icon,
@@ -55,12 +55,14 @@ var Header = function Header(_ref) {
55
55
  css: itemText
56
56
  }, (0, _react2.jsx)("div", {
57
57
  className: "item-title",
58
- id: "context-panel-title"
58
+ id: "context-panel-title",
59
+ "data-testId": "context-panel-title"
59
60
  }, title), (0, _react2.jsx)("div", {
60
61
  className: "item-summary"
61
62
  }, summary)) : (0, _react2.jsx)("div", {
62
63
  css: centeredItemTitle,
63
- id: "context-panel-title"
64
+ id: "context-panel-title",
65
+ "data-testId": "context-panel-title"
64
66
  }, title)), (0, _react2.jsx)("div", {
65
67
  css: closeButtonWrapper
66
68
  }, (0, _react2.jsx)(_customThemeButton.default, {
@@ -70,11 +72,13 @@ var Header = function Header(_ref) {
70
72
  }),
71
73
  onClick: onClose
72
74
  }))), (description || documentationUrl) && (0, _react2.jsx)("p", {
73
- css: descriptionStyle
75
+ css: descriptionStyle,
76
+ "data-testid": "config-panel-header-description"
74
77
  }, description && (0, _react2.jsx)(_react.Fragment, null, description.replace(/([^.])$/, '$1.'), " "), documentationUrl && (0, _react2.jsx)("a", {
75
78
  target: "_blank",
76
79
  rel: "noopener noreferrer",
77
- href: documentationUrl
80
+ href: documentationUrl,
81
+ "data-testid": "config-panel-header-documentation-link"
78
82
  }, intl.formatMessage(_messages.messages.documentation))));
79
83
  };
80
84
  var _default = exports.default = (0, _reactIntlNext.injectIntl)(Header);
@@ -5,4 +5,4 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.version = exports.name = void 0;
7
7
  var name = exports.name = "@atlaskit/editor-core";
8
- var version = exports.version = "189.5.11";
8
+ var version = exports.version = "189.6.1";