@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.
- package/CHANGELOG.md +13 -0
- package/dist/cjs/composable-editor/editor.js +11 -191
- package/dist/cjs/composable-editor/hooks/useMemoEditorProps.js +122 -0
- package/dist/cjs/ui/ConfigPanel/ErrorMessage/index.js +2 -1
- package/dist/cjs/ui/ConfigPanel/FieldMessages.js +9 -3
- package/dist/cjs/ui/ConfigPanel/Fields/Boolean.js +2 -1
- package/dist/cjs/ui/ConfigPanel/Fields/ColorPicker.js +1 -0
- package/dist/cjs/ui/ConfigPanel/Fields/CustomSelect.js +2 -1
- package/dist/cjs/ui/ConfigPanel/Fields/Date.js +2 -1
- package/dist/cjs/ui/ConfigPanel/Fields/DateRange.js +2 -1
- package/dist/cjs/ui/ConfigPanel/Fields/Number.js +2 -1
- package/dist/cjs/ui/ConfigPanel/Fields/RadioGroup.js +2 -1
- package/dist/cjs/ui/ConfigPanel/Fields/Select.js +1 -0
- package/dist/cjs/ui/ConfigPanel/Fields/String.js +4 -2
- package/dist/cjs/ui/ConfigPanel/Fields/UserSelect.js +2 -1
- package/dist/cjs/ui/ConfigPanel/Header.js +12 -8
- 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/ConfigPanel/ErrorMessage/index.js +2 -1
- package/dist/es2019/ui/ConfigPanel/FieldMessages.js +9 -3
- package/dist/es2019/ui/ConfigPanel/Fields/Boolean.js +2 -1
- package/dist/es2019/ui/ConfigPanel/Fields/ColorPicker.js +1 -0
- package/dist/es2019/ui/ConfigPanel/Fields/CustomSelect.js +2 -1
- package/dist/es2019/ui/ConfigPanel/Fields/Date.js +2 -1
- package/dist/es2019/ui/ConfigPanel/Fields/DateRange.js +2 -1
- package/dist/es2019/ui/ConfigPanel/Fields/Number.js +2 -1
- package/dist/es2019/ui/ConfigPanel/Fields/RadioGroup.js +2 -1
- package/dist/es2019/ui/ConfigPanel/Fields/Select.js +1 -0
- package/dist/es2019/ui/ConfigPanel/Fields/String.js +4 -2
- package/dist/es2019/ui/ConfigPanel/Fields/UserSelect.js +2 -1
- package/dist/es2019/ui/ConfigPanel/Header.js +12 -8
- 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/ConfigPanel/ErrorMessage/index.js +2 -1
- package/dist/esm/ui/ConfigPanel/FieldMessages.js +9 -3
- package/dist/esm/ui/ConfigPanel/Fields/Boolean.js +2 -1
- package/dist/esm/ui/ConfigPanel/Fields/ColorPicker.js +1 -0
- package/dist/esm/ui/ConfigPanel/Fields/CustomSelect.js +2 -1
- package/dist/esm/ui/ConfigPanel/Fields/Date.js +2 -1
- package/dist/esm/ui/ConfigPanel/Fields/DateRange.js +2 -1
- package/dist/esm/ui/ConfigPanel/Fields/Number.js +2 -1
- package/dist/esm/ui/ConfigPanel/Fields/RadioGroup.js +2 -1
- package/dist/esm/ui/ConfigPanel/Fields/Select.js +1 -0
- package/dist/esm/ui/ConfigPanel/Fields/String.js +4 -2
- package/dist/esm/ui/ConfigPanel/Fields/UserSelect.js +2 -1
- package/dist/esm/ui/ConfigPanel/Header.js +12 -8
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/types/composable-editor/hooks/useMemoEditorProps.d.ts +6 -0
- package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +1 -1
- package/dist/types/ui/ConfigPanel/ErrorMessage/index.d.ts +1 -1
- package/dist/types/ui/ConfigPanel/FieldMessages.d.ts +1 -1
- package/dist/types/ui/ConfigPanel/Fields/CustomSelect.d.ts +3 -3
- package/dist/types/ui/ConfigPanel/Fields/Date.d.ts +3 -3
- package/dist/types/ui/ConfigPanel/Fields/DateRange.d.ts +3 -3
- package/dist/types/ui/ConfigPanel/Fields/Number.d.ts +2 -2
- package/dist/types/ui/ConfigPanel/Fields/RadioGroup.d.ts +2 -2
- package/dist/types/ui/ConfigPanel/Fields/Select.d.ts +2 -2
- package/dist/types/ui/ConfigPanel/Fields/String.d.ts +2 -2
- package/dist/types/ui/ConfigPanel/Fields/UserSelect.d.ts +2 -2
- package/dist/types/ui/ConfigPanel/Header.d.ts +2 -2
- package/dist/types/ui/ContentStyles/index.d.ts +2 -2
- package/dist/types-ts4.5/composable-editor/hooks/useMemoEditorProps.d.ts +6 -0
- package/dist/types-ts4.5/ui/Appearance/FullPage/StyledComponents.d.ts +1 -1
- package/dist/types-ts4.5/ui/ConfigPanel/ErrorMessage/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/ConfigPanel/FieldMessages.d.ts +1 -1
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/CustomSelect.d.ts +3 -3
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/Date.d.ts +3 -3
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/DateRange.d.ts +3 -3
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/Number.d.ts +2 -2
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/RadioGroup.d.ts +2 -2
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/Select.d.ts +2 -2
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/String.d.ts +2 -2
- package/dist/types-ts4.5/ui/ConfigPanel/Fields/UserSelect.d.ts +2 -2
- package/dist/types-ts4.5/ui/ConfigPanel/Header.d.ts +2 -2
- package/dist/types-ts4.5/ui/ContentStyles/index.d.ts +2 -2
- 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
|
-
|
|
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;
|
|
@@ -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,
|
|
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,
|
|
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,
|
|
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:
|
|
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
|
|
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:
|
|
30
|
-
var descriptionStyle = (0, _react2.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n margin-bottom:
|
|
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);
|