@atlaskit/editor-core 221.3.0 → 221.3.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.
Files changed (58) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/dist/cjs/create-editor/ReactEditorView.js +66 -9
  3. package/dist/cjs/ui/Appearance/Comment/Comment-compiled.compiled.css +30 -0
  4. package/dist/cjs/ui/Appearance/Comment/Comment-compiled.js +275 -0
  5. package/dist/cjs/ui/Appearance/Comment/Comment-emotion.js +357 -0
  6. package/dist/cjs/ui/Appearance/Comment/Comment.js +6 -344
  7. package/dist/cjs/ui/Appearance/FullPage/FullPage.js +1 -1
  8. package/dist/cjs/ui/Appearance/FullPage/FullPageContentArea-compiled.compiled.css +96 -0
  9. package/dist/cjs/ui/Appearance/FullPage/FullPageContentArea-compiled.js +190 -0
  10. package/dist/cjs/ui/Appearance/FullPage/FullPageContentArea-emotion.js +413 -0
  11. package/dist/cjs/ui/Appearance/FullPage/FullPageContentArea.js +10 -402
  12. package/dist/cjs/ui/Appearance/FullPage/FullPageToolbarNext.js +21 -2
  13. package/dist/cjs/ui/EditorContentContainer/EditorContentContainer-compiled.js +6 -5
  14. package/dist/cjs/ui/EditorContentContainer/EditorContentContainer-emotion.js +6 -4
  15. package/dist/cjs/ui/EditorContentContainer/styles/backgroundColorStyles.js +17 -6
  16. package/dist/cjs/ui/EditorContentContainer/styles/expandStyles.js +2 -2
  17. package/dist/cjs/version-wrapper.js +1 -1
  18. package/dist/es2019/create-editor/ReactEditorView.js +60 -9
  19. package/dist/es2019/ui/Appearance/Comment/Comment-compiled.compiled.css +30 -0
  20. package/dist/es2019/ui/Appearance/Comment/Comment-compiled.js +262 -0
  21. package/dist/es2019/ui/Appearance/Comment/Comment-emotion.js +344 -0
  22. package/dist/es2019/ui/Appearance/Comment/Comment.js +4 -337
  23. package/dist/es2019/ui/Appearance/FullPage/FullPage.js +1 -1
  24. package/dist/es2019/ui/Appearance/FullPage/FullPageContentArea-compiled.compiled.css +96 -0
  25. package/dist/es2019/ui/Appearance/FullPage/FullPageContentArea-compiled.js +179 -0
  26. package/dist/es2019/ui/Appearance/FullPage/FullPageContentArea-emotion.js +405 -0
  27. package/dist/es2019/ui/Appearance/FullPage/FullPageContentArea.js +8 -400
  28. package/dist/es2019/ui/Appearance/FullPage/FullPageToolbarNext.js +21 -2
  29. package/dist/es2019/ui/EditorContentContainer/EditorContentContainer-compiled.js +6 -5
  30. package/dist/es2019/ui/EditorContentContainer/EditorContentContainer-emotion.js +8 -6
  31. package/dist/es2019/ui/EditorContentContainer/styles/backgroundColorStyles.js +16 -5
  32. package/dist/es2019/ui/EditorContentContainer/styles/expandStyles.js +1 -1
  33. package/dist/es2019/version-wrapper.js +1 -1
  34. package/dist/esm/create-editor/ReactEditorView.js +66 -9
  35. package/dist/esm/ui/Appearance/Comment/Comment-compiled.compiled.css +30 -0
  36. package/dist/esm/ui/Appearance/Comment/Comment-compiled.js +268 -0
  37. package/dist/esm/ui/Appearance/Comment/Comment-emotion.js +346 -0
  38. package/dist/esm/ui/Appearance/Comment/Comment.js +6 -339
  39. package/dist/esm/ui/Appearance/FullPage/FullPage.js +1 -1
  40. package/dist/esm/ui/Appearance/FullPage/FullPageContentArea-compiled.compiled.css +96 -0
  41. package/dist/esm/ui/Appearance/FullPage/FullPageContentArea-compiled.js +183 -0
  42. package/dist/esm/ui/Appearance/FullPage/FullPageContentArea-emotion.js +403 -0
  43. package/dist/esm/ui/Appearance/FullPage/FullPageContentArea.js +10 -398
  44. package/dist/esm/ui/Appearance/FullPage/FullPageToolbarNext.js +21 -2
  45. package/dist/esm/ui/EditorContentContainer/EditorContentContainer-compiled.js +6 -5
  46. package/dist/esm/ui/EditorContentContainer/EditorContentContainer-emotion.js +8 -6
  47. package/dist/esm/ui/EditorContentContainer/styles/backgroundColorStyles.js +16 -5
  48. package/dist/esm/ui/EditorContentContainer/styles/expandStyles.js +1 -1
  49. package/dist/esm/version-wrapper.js +1 -1
  50. package/dist/types/ui/Appearance/Comment/Comment-compiled.d.ts +30 -0
  51. package/dist/types/ui/Appearance/Comment/Comment-emotion.d.ts +20 -0
  52. package/dist/types/ui/Appearance/Comment/Comment.d.ts +2 -20
  53. package/dist/types/ui/Appearance/FullPage/FullPageContentArea-compiled.d.ts +56 -0
  54. package/dist/types/ui/Appearance/FullPage/FullPageContentArea-emotion.d.ts +56 -0
  55. package/dist/types/ui/Appearance/FullPage/FullPageContentArea.d.ts +6 -54
  56. package/dist/types/ui/EditorContentContainer/styles/backgroundColorStyles.d.ts +7 -0
  57. package/dist/types/ui/EditorContentContainer/styles/expandStyles.d.ts +1 -1
  58. package/package.json +8 -8
@@ -1,338 +1,5 @@
1
- /**
2
- * @jsxRuntime classic
3
- * @jsx jsx
4
- */
5
- import React, { useCallback, useEffect, useMemo, useState } from 'react';
6
-
7
- // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled, @typescript-eslint/consistent-type-imports -- Ignored via go/DSP-18766; jsx required at runtime for @jsxRuntime classic
8
- import { css, jsx } from '@emotion/react';
9
- import classnames from 'classnames';
10
- import { useIntl } from 'react-intl';
11
- import ButtonGroup from '@atlaskit/button/button-group';
12
- import Button from '@atlaskit/button/new';
13
- import { useSharedPluginState, useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
14
- import messages from '@atlaskit/editor-common/messages';
15
- import { WidthConsumer, WidthProvider } from '@atlaskit/editor-common/ui';
16
- import { ToolbarArrowKeyNavigationProvider } from '@atlaskit/editor-common/ui-menu';
17
- import { akEditorMobileBreakoutPoint } from '@atlaskit/editor-shared-styles';
1
+ import { componentWithCondition } from '@atlaskit/platform-feature-flags-react';
18
2
  import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
19
- import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
20
- // Ignored via go/ees005
21
- // eslint-disable-next-line import/no-named-as-default
22
- import ClickAreaBlock from '../../Addon/ClickAreaBlock';
23
- import { contentComponentClickWrapper } from '../../Addon/ClickAreaBlock/contentComponentWrapper';
24
- import EditorContentContainer from '../../EditorContentContainer/EditorContentContainer';
25
- import PluginSlot from '../../PluginSlot';
26
- import { getPrimaryToolbarComponents } from '../../Toolbar/getPrimaryToolbarComponents';
27
- import { ToolbarWithSizeDetector as Toolbar } from '../../Toolbar/ToolbarWithSizeDetector';
28
- import WithFlash from '../../WithFlash';
29
- import { CommentToolbar } from './CommentToolbar';
30
- import { MainToolbar } from './Toolbar';
31
- const MAXIMUM_TWO_LINE_TOOLBAR_BREAKPOINT = 490;
32
-
33
- // Remove when platform_editor_comment_editor_border_radius is cleaned up
34
- const commentEditorStylesOld = css({
35
- display: 'flex',
36
- flexDirection: 'column',
37
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
38
- '.less-margin > .ProseMirror': {
39
- margin: `${"var(--ds-space-150, 12px)"} ${"var(--ds-space-100, 8px)"} ${"var(--ds-space-100, 8px)"}`
40
- },
41
- minWidth: '272px',
42
- height: 'auto',
43
- backgroundColor: "var(--ds-background-input, #FFFFFF)",
44
- border: `${"var(--ds-border-width, 1px)"} solid ${"var(--ds-border-input, #8C8F97)"}`,
45
- boxSizing: 'border-box',
46
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
47
- borderRadius: "var(--ds-radius-small, 3px)",
48
- maxWidth: 'inherit',
49
- wordWrap: 'break-word'
50
- });
51
- const commentEditorStyles = css({
52
- display: 'flex',
53
- flexDirection: 'column',
54
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
55
- '.less-margin > .ProseMirror': {
56
- margin: `${"var(--ds-space-150, 12px)"} ${"var(--ds-space-100, 8px)"} ${"var(--ds-space-100, 8px)"}`
57
- },
58
- minWidth: '272px',
59
- height: 'auto',
60
- backgroundColor: "var(--ds-background-input, #FFFFFF)",
61
- border: `${"var(--ds-border-width, 1px)"} solid ${"var(--ds-border-input, #8C8F97)"}`,
62
- boxSizing: 'border-box',
63
- borderRadius: "var(--ds-radius-medium, 6px)",
64
- maxWidth: 'inherit',
65
- wordWrap: 'break-word'
66
- });
67
- const modernisedEditorStyles = css({
68
- borderRadius: "var(--ds-radius-xlarge, 12px)"
69
- });
70
- const secondaryToolbarStyles = css({
71
- boxSizing: 'border-box',
72
- justifyContent: 'flex-end',
73
- alignItems: 'center',
74
- display: 'flex',
75
- padding: `${"var(--ds-space-150, 12px)"} ${"var(--ds-space-025, 2px)"}`
76
- });
77
- const mainToolbarCustomComponentsSlotStyleNew = css({
78
- display: 'flex',
79
- justifyContent: 'flex-end',
80
- alignItems: 'center',
81
- flexGrow: 1,
82
- paddingRight: "var(--ds-space-250, 20px)",
83
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors
84
- '> div': {
85
- display: 'flex',
86
- flexShrink: 0
87
- }
88
- });
89
- const mainToolbarCustomComponentsSlotStylePaddingOverride = css({
90
- paddingRight: 0
91
- });
92
- const mainToolbarCustomComponentsSlotStyleTwoLineToolbarNew = css({
93
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values
94
- [`@media (max-width: ${MAXIMUM_TWO_LINE_TOOLBAR_BREAKPOINT}px)`]: {
95
- paddingRight: 0
96
- }
97
- });
98
- const appearance = 'comment';
99
- export const CommentEditorWithIntl = props => {
100
- var _editorAPI$blockMenu$, _editorAPI$blockMenu, _editorAPI$blockMenu$2, _editorAPI$blockMenu$3;
101
- const {
102
- editorAPI
103
- } = props;
104
-
105
- // Get useStandardNodeWidth from block menu plugin shared state
106
- // Only access editorAPI when the experiment is enabled to avoid performance impact
107
- const useStandardNodeWidth = editorExperiment('platform_editor_controls', 'variant1') && ((_editorAPI$blockMenu$ = editorAPI === null || editorAPI === void 0 ? void 0 : (_editorAPI$blockMenu = editorAPI.blockMenu) === null || _editorAPI$blockMenu === void 0 ? void 0 : (_editorAPI$blockMenu$2 = _editorAPI$blockMenu.sharedState) === null || _editorAPI$blockMenu$2 === void 0 ? void 0 : (_editorAPI$blockMenu$3 = _editorAPI$blockMenu$2.currentState()) === null || _editorAPI$blockMenu$3 === void 0 ? void 0 : _editorAPI$blockMenu$3.useStandardNodeWidth) !== null && _editorAPI$blockMenu$ !== void 0 ? _editorAPI$blockMenu$ : false);
108
- const {
109
- editorViewMode,
110
- primaryToolbarComponentsState,
111
- maxContentSizeReached
112
- } = useSharedPluginStateWithSelector(editorAPI, ['maxContentSize', 'primaryToolbar', 'editorViewMode'], states => {
113
- var _states$maxContentSiz, _states$primaryToolba, _states$editorViewMod;
114
- return {
115
- maxContentSizeReached: !!((_states$maxContentSiz = states.maxContentSizeState) !== null && _states$maxContentSiz !== void 0 && _states$maxContentSiz.maxContentSizeReached),
116
- primaryToolbarComponentsState: (_states$primaryToolba = states.primaryToolbarState) === null || _states$primaryToolba === void 0 ? void 0 : _states$primaryToolba.components,
117
- editorViewMode: (_states$editorViewMod = states.editorViewModeState) === null || _states$editorViewMod === void 0 ? void 0 : _states$editorViewMod.mode
118
- };
119
- });
120
- const primaryToolbarState = getPrimaryToolbarComponents(editorAPI, primaryToolbarComponentsState);
121
- const {
122
- mediaState
123
- } = useSharedPluginState(editorAPI, ['media']);
124
- const intl = useIntl();
125
- const {
126
- editorDOMElement,
127
- editorView,
128
- editorActions,
129
- eventDispatcher,
130
- providerFactory,
131
- contentComponents,
132
- customContentComponents,
133
- customPrimaryToolbarComponents,
134
- primaryToolbarComponents: primaryToolbarComponentsProp,
135
- customSecondaryToolbarComponents,
136
- popupsMountPoint,
137
- popupsBoundariesElement,
138
- popupsScrollableElement,
139
- maxHeight,
140
- minHeight = 150,
141
- onSave,
142
- onCancel,
143
- disabled,
144
- dispatchAnalyticsEvent,
145
- useStickyToolbar,
146
- pluginHooks,
147
- featureFlags,
148
- innerRef,
149
- isEditorModernisationEnabled
150
- } = props;
151
- const showSecondaryToolbar = !!onSave || !!onCancel || !!customSecondaryToolbarComponents;
152
- const containerElement = React.useRef(null);
153
-
154
- // Wrapper container for toolbar and content area
155
- const wrapperElementRef = useMemo(() => innerRef || /*#__PURE__*/React.createRef(), [innerRef]);
156
- const [saveButtonDisabled, setSaveButtonDisabled] = useState(false);
157
- useEffect(() => {
158
- if (mediaState) {
159
- mediaState.subscribeToUploadInProgressState(setSaveButtonDisabled);
160
- }
161
- return () => mediaState === null || mediaState === void 0 ? void 0 : mediaState.unsubscribeFromUploadInProgressState(setSaveButtonDisabled);
162
- }, [mediaState]);
163
- const handleSave = useCallback(() => {
164
- if (editorView && onSave) {
165
- onSave(editorView);
166
- }
167
- }, [editorView, onSave]);
168
- const handleCancel = useCallback(() => {
169
- if (editorView && onCancel) {
170
- onCancel(editorView);
171
- }
172
- }, [editorView, onCancel]);
173
- const isShortcutToFocusToolbar = useCallback(event => {
174
- //Alt + F9 to reach first element in this main toolbar
175
- return event.altKey && (event.key === 'F9' || event.keyCode === 120);
176
- }, []);
177
-
178
- // When primary toolbar components is undefined, do not show two line editor toolbar
179
- const isTwoLineToolbarEnabled = !!customPrimaryToolbarComponents;
180
- const handleEscape = useCallback(event => {
181
- if (!(editorView !== null && editorView !== void 0 && editorView.hasFocus())) {
182
- editorView === null || editorView === void 0 ? void 0 : editorView.focus();
183
- }
184
- event.preventDefault();
185
- event.stopPropagation();
186
- }, [editorView]);
187
- let primaryToolbarComponents = primaryToolbarComponentsProp;
188
- if (Array.isArray(primaryToolbarState === null || primaryToolbarState === void 0 ? void 0 : primaryToolbarState.components) && Array.isArray(primaryToolbarComponents)) {
189
- primaryToolbarComponents = primaryToolbarState.components.concat(primaryToolbarComponents);
190
- }
191
- const isToolbarAIFCEnabled = Boolean(editorAPI === null || editorAPI === void 0 ? void 0 : editorAPI.toolbar);
192
- const memoizedContentAreaStyles = useMemo(() => [maxHeight ?
193
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
194
- css({
195
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
196
- maxHeight: `${maxHeight}px`,
197
- // When maxHeight is set, content area should have overflow-y explicitly set as auto
198
- // As we have overflow-x: clip for the content area, and when maxHeight prop is set, overflow-y will be computed as visible by default.
199
- // This will cause the content area to have content overflowing the container
200
- // so need to set overflow-y as auto to make sure the content area is scrollable
201
- overflowY: 'auto'
202
- }) : null], [maxHeight]);
203
- const contentAreaStyles = expValEquals('platform_editor_perf_lint_cleanup', 'isEnabled', true) ? memoizedContentAreaStyles : [maxHeight ?
204
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
205
- css({
206
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
207
- maxHeight: `${maxHeight}px`,
208
- // When maxHeight is set, content area should have overflow-y explicitly set as auto
209
- // As we have overflow-x: clip for the content area, and when maxHeight prop is set, overflow-y will be computed as visible by default.
210
- // This will cause the content area to have content overflowing the container
211
- // so need to set overflow-y as auto to make sure the content area is scrollable
212
- overflowY: 'auto'
213
- }) : null];
214
- const customToolbarSlot = jsx("div", {
215
- css: [mainToolbarCustomComponentsSlotStyleNew, isTwoLineToolbarEnabled && mainToolbarCustomComponentsSlotStyleTwoLineToolbarNew, isToolbarAIFCEnabled && mainToolbarCustomComponentsSlotStylePaddingOverride]
216
- }, customPrimaryToolbarComponents);
217
- return jsx(WithFlash, {
218
- animate: maxContentSizeReached
219
- }, jsx(WidthProvider, null, jsx("div", {
220
- css: [expValEquals('platform_editor_comment_editor_border_radius', 'isEnabled', true) ? commentEditorStyles : commentEditorStylesOld, isEditorModernisationEnabled && modernisedEditorStyles,
221
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
222
- css({
223
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
224
- minHeight: `${minHeight}px`
225
- })]
226
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
227
- ,
228
- className: "akEditor",
229
- ref: wrapperElementRef
230
- }, jsx(MainToolbar, {
231
- isEditorModernisationEnabled: isEditorModernisationEnabled,
232
- useStickyToolbar: useStickyToolbar,
233
- twoLineEditorToolbar: isTwoLineToolbarEnabled,
234
- isNewToolbarEnabled: isToolbarAIFCEnabled
235
- }, isToolbarAIFCEnabled ? jsx(ToolbarArrowKeyNavigationProvider, {
236
- editorView: editorView,
237
- childComponentSelector: "[data-testid='ak-editor-main-toolbar']",
238
- isShortcutToFocusToolbar: isShortcutToFocusToolbar,
239
- handleEscape: handleEscape,
240
- editorAppearance: appearance,
241
- useStickyToolbar: useStickyToolbar,
242
- intl: intl
243
- }, jsx(CommentToolbar, {
244
- editorAPI: editorAPI,
245
- editorView: editorView,
246
- editorAppearance: appearance,
247
- disabled: !!disabled,
248
- popupsBoundariesElement: popupsBoundariesElement,
249
- popupsScrollableElement: popupsScrollableElement,
250
- popupsMountPoint: popupsMountPoint
251
- }), customPrimaryToolbarComponents ? customToolbarSlot : null) : jsx(ToolbarArrowKeyNavigationProvider, {
252
- editorView: editorView,
253
- childComponentSelector: "[data-testid='ak-editor-main-toolbar']",
254
- isShortcutToFocusToolbar: isShortcutToFocusToolbar,
255
- handleEscape: handleEscape,
256
- editorAppearance: appearance,
257
- useStickyToolbar: useStickyToolbar,
258
- intl: intl
259
- }, jsx(Toolbar
260
- // Ignored via go/ees005
261
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
262
- , {
263
- editorView: editorView,
264
- editorActions: editorActions
265
- // Ignored via go/ees005
266
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
267
- ,
268
- eventDispatcher: eventDispatcher
269
- // Ignored via go/ees005
270
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
271
- ,
272
- providerFactory: providerFactory,
273
- appearance: appearance,
274
- items: primaryToolbarComponents,
275
- popupsMountPoint: popupsMountPoint,
276
- popupsBoundariesElement: popupsBoundariesElement,
277
- popupsScrollableElement: popupsScrollableElement,
278
- disabled: !!disabled,
279
- dispatchAnalyticsEvent: dispatchAnalyticsEvent,
280
- containerElement: containerElement.current,
281
- twoLineEditorToolbar: isTwoLineToolbarEnabled
282
- }), customToolbarSlot)), jsx(ClickAreaBlock, {
283
- editorView: editorView,
284
- editorDisabled: disabled
285
- }, jsx(WidthConsumer, null, ({
286
- width
287
- }) => {
288
- return jsx(EditorContentContainer, {
289
- ref: containerElement,
290
- css: contentAreaStyles,
291
- isScrollable: maxHeight ? true : undefined
292
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
293
- ,
294
- className: classnames('ak-editor-content-area', {
295
- 'less-margin': width < akEditorMobileBreakoutPoint
296
- }),
297
- featureFlags: featureFlags,
298
- viewMode: editorViewMode,
299
- appearance: appearance,
300
- useStandardNodeWidth: useStandardNodeWidth
301
- }, customContentComponents && 'before' in customContentComponents ? contentComponentClickWrapper(customContentComponents.before) : contentComponentClickWrapper(customContentComponents), jsx(PluginSlot, {
302
- editorView: editorView,
303
- editorActions: editorActions,
304
- eventDispatcher: eventDispatcher,
305
- dispatchAnalyticsEvent: dispatchAnalyticsEvent,
306
- providerFactory: providerFactory,
307
- appearance: appearance,
308
- items: contentComponents,
309
- popupsMountPoint: popupsMountPoint,
310
- popupsBoundariesElement: popupsBoundariesElement,
311
- popupsScrollableElement: popupsScrollableElement,
312
- containerElement: containerElement.current,
313
- disabled: !!disabled,
314
- wrapperElement: wrapperElementRef.current,
315
- pluginHooks: pluginHooks
316
- }), editorDOMElement, customContentComponents && 'after' in customContentComponents ? contentComponentClickWrapper(customContentComponents.after) : null);
317
- }))), showSecondaryToolbar && jsx("div", {
318
- css: secondaryToolbarStyles,
319
- "data-testid": "ak-editor-secondary-toolbar"
320
- }, jsx(ButtonGroup, null, !!onSave && jsx(Button, {
321
- appearance: "primary",
322
- onClick: handleSave,
323
- testId: "comment-save-button",
324
- isDisabled: disabled || saveButtonDisabled,
325
- interactionName: "editor-comment-save-button"
326
- }, intl.formatMessage(messages.saveButton)), !!onCancel && jsx(Button, {
327
- appearance: "subtle",
328
- onClick: handleCancel,
329
- testId: "comment-cancel-button",
330
- isDisabled: disabled,
331
- interactionName: "editor-comment-cancel-button"
332
- }, intl.formatMessage(messages.cancelButton))), jsx("span", {
333
- style: {
334
- flexGrow: 1
335
- }
336
- }), customSecondaryToolbarComponents)));
337
- };
338
- CommentEditorWithIntl.displayName = 'CommentEditorAppearance';
3
+ import { CommentEditorWithIntlCompiled } from './Comment-compiled';
4
+ import { CommentEditorWithIntlEmotion } from './Comment-emotion';
5
+ export const CommentEditorWithIntl = componentWithCondition(() => expValEquals('platform_editor_core_non_ecc_static_css', 'isEnabled', true), CommentEditorWithIntlCompiled, CommentEditorWithIntlEmotion);
@@ -154,7 +154,7 @@ export const FullPageEditor = props => {
154
154
  FULL_PAGE_EDITOR_TOOLBAR_HEIGHT(isToolbarAIFCEnabled)
155
155
  }
156
156
  }, !isEditorToolbarHidden && (isToolbarAIFCEnabled ? /*#__PURE__*/React.createElement(FullPageToolbarNext, {
157
- disabled: !!props.disabled || !hasHadInteraction && expValEquals('platform_editor_default_toolbar_state', 'isEnabled', true),
157
+ disabled: expValEquals('platform_editor_ssr_toolbar_optimistic', 'isEnabled', true) ? !hasHadInteraction ? false : !!props.disabled : !!props.disabled || !hasHadInteraction && expValEquals('platform_editor_default_toolbar_state', 'isEnabled', true),
158
158
  disabledWithoutInteractionLogic: !!props.disabled,
159
159
  toolbarDockingPosition: (_toolbarDockingPositi = toolbarDockingPosition) !== null && _toolbarDockingPositi !== void 0 ? _toolbarDockingPositi : toolbarDocking,
160
160
  beforeIcon: props.primaryToolbarIconBefore,
@@ -0,0 +1,96 @@
1
+
2
+ ._v5641fxv{transition:max-width .5s cubic-bezier(.15,1,.3,1)}
3
+ ._v5642kub{transition:padding 0ms cubic-bezier(.15,1,.3,1)}._11bl1txw >.ak-editor-content-area>[data-testid=plugins-components-wrapper]{display:flex}
4
+ ._12glglyw[data-markdown-mode-hide-prosemirror=true]>.ak-editor-content-area>.ProseMirror{display:none}
5
+ ._13jk1txw >.ak-editor-content-area{display:flex}
6
+ ._13svglyw .ProseMirror>ol:not([data-node-type=actionList]):not([data-node-type=decisionList]){clear:none}
7
+ ._13t61wug >.ak-editor-content-area>[data-testid=plugins-components-wrapper]{flex-basis:auto}
8
+ ._142emslj .fabric-editor--full-width-mode .code-block{max-width:calc(100% - 4px)}
9
+ ._1593idpf >.ak-editor-content-area>[data-testid=plugins-components-wrapper]{min-height:0}
10
+ ._16jlkb7n{flex-grow:1}
11
+ ._17q71osq .fabric-editor--full-width-mode .extension-container.inline{max-width:100%}
12
+ ._18q6usvi .ProseMirror{box-sizing:border-box}
13
+ ._18u01wug{margin-left:auto}
14
+ ._18u0idpf{margin-left:0}
15
+ ._19bv1ex1{padding-left:52px}
16
+ ._19bvidpf{padding-left:0}
17
+ ._19bvt9kd{padding-left:72px}
18
+ ._19pk1wug{margin-top:auto}
19
+ ._19pkidpf{margin-top:0}
20
+ ._19pknm9q{margin-top:calc(var(--ds-space-500, 40px) + 1px)}
21
+ ._1a1d1osq >.ak-editor-content-area{height:100%}
22
+ ._1b7c1kw7 .fabric-editor--full-width-mode td .extension-container.inline{max-width:inherit}
23
+ ._1bsb1osq{width:100%}
24
+ ._1e0c1txw{display:flex}
25
+ ._1e0cglyw{display:none}
26
+ ._1e8kkb7n >.ak-editor-content-area>[data-testid=plugins-components-wrapper]{flex-grow:1}
27
+ ._1f38dez1{container-name:editor-area}
28
+ ._1gl01ejb .ProseMirror>p:last-child{margin-bottom:var(--ds-space-300,24px)}
29
+ ._1k8i1osq .ProseMirror .pm-table-wrapper>table{width:100%}
30
+ ._1n5qidpf >.ak-editor-content-area{padding-left:0}
31
+ ._1nw4glyw .ProseMirror>h1{clear:none}
32
+ ._1qzyglyw .ProseMirror>h3{clear:none}
33
+ ._1rnyglyw .ProseMirror>h5{clear:none}
34
+ ._1tb2idpf .ProseMirror .pm-table-wrapper>table{margin-left:0}
35
+ ._1ul9idpf{min-width:0}
36
+ ._1vbxidpf >.ak-editor-content-area{min-height:0}
37
+ ._1wpzesu3{align-self:flex-end}
38
+ ._1wrrusvi >.ak-editor-content-area{box-sizing:border-box}
39
+ ._1wxymslj .fabric-editor--full-width-mode .extension-container{max-width:calc(100% - 4px)}
40
+ ._1xouidpf >.ak-editor-content-area{min-width:0}
41
+ ._2hwx1wug{margin-right:auto}
42
+ ._2hwxidpf{margin-right:0}
43
+ ._2lx21bp4{flex-direction:column}
44
+ ._2lx2vrvc{flex-direction:row}
45
+ ._4t3i1ap5{height:calc(100% - 105px)}
46
+ ._4t3i1osq{height:100%}
47
+ ._4t3ibhu0{height:calc(100% - var(--ak-editor-fullpage-toolbar-height))}
48
+ ._4tbp1osq >.ak-editor-content-area{width:100%}
49
+ ._71ybidpf >.ak-editor-content-area{padding-right:0}
50
+ ._7cca15wb{container-type:inline-size}
51
+ ._7uc0glyw .ProseMirror>ul{clear:none}
52
+ ._8j6w1lxk.ak-editor-content-area-no-toolbar{height:calc(100% + 1px)}
53
+ ._8vye1n1a .ProseMirror .pm-table-wrapper>table{margin-right:-1px}
54
+ ._9dtbmslj .fabric-editor--full-width-mode .multiBodiedExtension--container{max-width:calc(100% - 4px)}
55
+ ._amwgglyw[data-markdown-mode-hide-scroll-gutter=true]>.ak-editor-content-area>[data-vc=scroll-gutter]{display:none}
56
+ ._bfhkhfxm{background-color:var(--ds-surface-sunken,#f8f8f8)}
57
+ ._boivkb7n >.ak-editor-content-area>[data-testid=plugins-components-wrapper]{flex-shrink:1}
58
+ ._ca0qidpf{padding-top:0}
59
+ ._ca0qoahv{padding-top:var(--ds-space-600,3pc)}
60
+ ._ca0qxy5q{padding-top:var(--ds-space-400,2pc)}
61
+ ._evz0idpf >.ak-editor-content-area{padding-bottom:0}
62
+ ._fh67idpf >.ak-editor-content-area{padding-top:0}
63
+ ._i92uagmp .fabric-editor--full-width-mode:not(:has(#chromeless-editor)) .fabric-editor-breakout-mark{transform:none!important}
64
+ ._j9k7kb7n .ProseMirror{flex-grow:1}
65
+ ._l4a11hrf .ProseMirror>*{clear:both}
66
+ ._li931osq >.ak-editor-content-area>[data-testid=plugins-components-wrapper]{width:100%}
67
+ ._n3tdidpf{padding-bottom:0}
68
+ ._n3tdoahv{padding-bottom:var(--ds-space-600,3pc)}
69
+ ._njlp131u{contain:layout style inline-size}
70
+ ._ongaglyw .ProseMirror>h4{clear:none}
71
+ ._otyr1wug{margin-bottom:auto}
72
+ ._otyridpf{margin-bottom:0}
73
+ ._p12f5kin{max-width:var(--ak-editor-content-area-max-width)}
74
+ ._p12fglyw{max-width:none}
75
+ ._pnffaq80 .fabric-editor--full-width-mode:not(:has(#chromeless-editor)) .fabric-editor-breakout-mark{width:100%!important}
76
+ ._q0l01bp4 >.ak-editor-content-area{flex-direction:column}
77
+ ._qgzyidpf >.ak-editor-content-area>[data-testid=plugins-components-wrapper]{min-width:0}
78
+ ._qkfz261p .fabric-editor--full-width-mode:not(:has(#chromeless-editor)) .fabric-editor-breakout-mark{margin-left:unset!important}
79
+ ._t2fzglyw .ProseMirror>p{clear:none}
80
+ ._tynl4diq .fabric-editor--full-width-mode [data-layout-section]{max-width:calc(100% + 40px)}
81
+ ._tynlfknx .fabric-editor--full-width-mode [data-layout-section]{max-width:calc(100% + 24px)}
82
+ ._u5f31ex1{padding-right:52px}
83
+ ._u5f3idpf{padding-right:0}
84
+ ._u5f3t9kd{padding-right:72px}
85
+ ._vchhusvi{box-sizing:border-box}
86
+ ._vtulglyw .ProseMirror>h6{clear:none}
87
+ ._vwz41tcg{line-height:24px}
88
+ ._xpemaq80 .fabric-editor--full-width-mode:not(:has(#chromeless-editor)) .extension-container.block{width:100%!important}
89
+ ._yq1qglyw .ProseMirror>h2{clear:none}
90
+ ._zr7faq80 .fabric-editor--full-width-mode:not(:has(#chromeless-editor)) .pm-table-container{width:100%!important}
91
+ .ak-editor-content-area-no-toolbar ._1uizkqmb{padding-top:calc(var(--ds-space-600, 3pc) + var(--ak-editor-fullpage-toolbar-height) + 1px)}
92
+ .extension-editable-area ._13hh1y6m{align-self:flex-start}
93
+ .extension-editable-area ._1hgw1wug{height:auto}
94
+ .extension-editable-area ._1t1q1if8{position:sticky}
95
+ .extension-editable-area ._uj9widpf{top:0}
96
+ @container editor-area (max-width: 600px){._1d7gidpf{padding-top:0}._n2nw1tcg{padding-right:24px}._d329idpf{padding-bottom:0}._105p1tcg{padding-left:24px}}
@@ -0,0 +1,179 @@
1
+ /* FullPageContentArea-compiled.tsx generated by @compiled/babel-plugin v0.39.1 */
2
+ import "./FullPageContentArea-compiled.compiled.css";
3
+ import { ax, ix } from "@compiled/react/runtime";
4
+ import React, { useImperativeHandle, useRef } from 'react';
5
+ import classnames from 'classnames';
6
+ import { injectIntl } from 'react-intl';
7
+ import { useSharedPluginStateWithSelector } from '@atlaskit/editor-common/hooks';
8
+ import { fullPageMessages as messages } from '@atlaskit/editor-common/messages';
9
+ import { akEditorGutterPaddingDynamic, akEditorGutterPaddingReduced, akEditorDefaultLayoutWidth } from '@atlaskit/editor-shared-styles';
10
+ import { fg } from '@atlaskit/platform-feature-flags';
11
+ import { expValEqualsNoExposure } from '@atlaskit/tmp-editor-statsig/exp-val-equals-no-exposure';
12
+ import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
13
+
14
+ // Ignored via go/ees005
15
+ // eslint-disable-next-line import/no-named-as-default
16
+
17
+ import { ClickAreaBlock } from '../../Addon/ClickAreaBlock';
18
+ import { contentComponentClickWrapper } from '../../Addon/ClickAreaBlock/contentComponentWrapper';
19
+ import { ContextPanel } from '../../ContextPanel';
20
+ import EditorContentContainer from '../../EditorContentContainer/EditorContentContainer';
21
+ import PluginSlot from '../../PluginSlot';
22
+ import { contentAreaWrapper, sidebarArea } from './StyledComponents';
23
+ const akEditorFullWidthLayoutWidth = 1800;
24
+ const akEditorUltraWideLayoutWidth = 4000;
25
+ const akEditorSwoopCubicBezier = `cubic-bezier(0.15, 1, 0.3, 1)`;
26
+ const tableMarginFullWidthMode = 2;
27
+ const akLayoutGutterOffset = 12;
28
+ const SWOOP_ANIMATION = `0.5s ${akEditorSwoopCubicBezier}`;
29
+ const AK_NESTED_DND_GUTTER_OFFSET = 8;
30
+ const getTotalPadding = () => akEditorGutterPaddingDynamic() * 2;
31
+ const compiledStyles = {
32
+ editorContentAreaProsemirrorStyle: "_j9k7kb7n _18q6usvi _l4a11hrf _1nw4glyw _yq1qglyw _1qzyglyw _ongaglyw _1rnyglyw _vtulglyw _13svglyw _t2fzglyw _7uc0glyw _1gl01ejb",
33
+ hideEditorContentAreaProsemirrorWithAttributeStyle: "_12glglyw",
34
+ hideEditorContentAreaScrollGutterWithAttributeStyle: "_amwgglyw",
35
+ hideEditorScrollGutterStyle: "_1e0cglyw",
36
+ fullWidthNonChromelessBreakoutBlockTableStyle: "_xpemaq80 _pnffaq80 _zr7faq80 _qkfz261p _i92uagmp",
37
+ contentAreaReservedPrimaryToolbarSpace: "_19pknm9q",
38
+ contentAreaReducedHeaderSpace: "_ca0qxy5q",
39
+ editorContentAreaNew: "_19pk1wug _2hwx1wug _otyr1wug _18u01wug _v5641fxv _vwz41tcg _ca0qoahv _n3tdoahv _4t3i1ap5 _1bsb1osq _2lx21bp4 _16jlkb7n _p12f5kin _1uizkqmb",
40
+ tableFullPageEditorStylesNew: "_1tb2idpf _8vye1n1a _1k8i1osq",
41
+ editorContentAreaContainerNestedDndStyle: "_tynl4diq",
42
+ editorContentAreaContainerStyleExcludeCodeBlockNew: "_1wxymslj _9dtbmslj _17q71osq _1b7c1kw7 _tynlfknx",
43
+ editorContentAreaContainerStyleNew: "_142emslj _1wxymslj _9dtbmslj _17q71osq _1b7c1kw7 _tynlfknx",
44
+ editorContentGutterStyleFG: "_ca0qidpf _u5f3t9kd _n3tdidpf _19bvt9kd",
45
+ editorContentGutterStyles: "_ca0qidpf _u5f31ex1 _n3tdidpf _19bv1ex1 _vchhusvi",
46
+ editorContentReducedGutterStyles: "_1d7gidpf _n2nw1tcg _d329idpf _105p1tcg",
47
+ contentAreaNew: "_19pkidpf _2hwxidpf _otyridpf _18u0idpf _ca0qidpf _u5f3idpf _n3tdidpf _19bvidpf _v5642kub _1e0c1txw _2lx2vrvc _4t3ibhu0 _vchhusvi _8j6w1lxk",
48
+ contentAreaHeightNoToolbar: "_4t3i1osq",
49
+ markdownModeContainerBackgroundStyle: "_bfhkhfxm",
50
+ markdownModeContentAreaStyle: "_19pkidpf _2hwxidpf _otyridpf _18u0idpf _vchhusvi _4t3i1osq _p12fglyw _1ul9idpf _n3tdidpf _ca0qidpf _1bsb1osq _fh67idpf _71ybidpf _evz0idpf _1n5qidpf _1wrrusvi _13jk1txw _q0l01bp4 _1a1d1osq _1vbxidpf _1xouidpf _4tbp1osq _1e8kkb7n _boivkb7n _13t61wug _11bl1txw _1593idpf _qgzyidpf _li931osq"
51
+ };
52
+ export const CONTENT_AREA_TEST_ID = 'ak-editor-fp-content-area';
53
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
54
+ export const EDITOR_CONTAINER = 'ak-editor-container';
55
+ const Content = /*#__PURE__*/React.forwardRef((props, ref) => {
56
+ var _props$editorAPI, _props$editorAPI$base, _props$editorAPI$base2, _props$editorAPI$bloc, _props$editorAPI2, _props$editorAPI2$blo, _props$editorAPI2$blo2, _props$editorAPI2$blo3, _contentAreaRef$curre, _allowScrollGutter$gu, _allowScrollGutter$gu2;
57
+ const fullWidthMode = props.appearance === 'full-width';
58
+ const maxWidthMode = props.appearance === 'max';
59
+ const scrollContainerRef = useRef(null);
60
+ const contentAreaRef = useRef(null);
61
+ const containerRef = useRef(null);
62
+ const allowScrollGutter = (_props$editorAPI = props.editorAPI) === null || _props$editorAPI === void 0 ? void 0 : (_props$editorAPI$base = _props$editorAPI.base) === null || _props$editorAPI$base === void 0 ? void 0 : (_props$editorAPI$base2 = _props$editorAPI$base.sharedState.currentState()) === null || _props$editorAPI$base2 === void 0 ? void 0 : _props$editorAPI$base2.allowScrollGutter;
63
+ const contentAreaMaxWidth = getTotalPadding() + (!fullWidthMode ? maxWidthMode ? akEditorUltraWideLayoutWidth : akEditorDefaultLayoutWidth : akEditorFullWidthLayoutWidth);
64
+
65
+ // Get useStandardNodeWidth from block menu plugin shared state
66
+ // Only access editorAPI when the experiment is enabled to avoid performance impact
67
+ const useStandardNodeWidth = editorExperiment('platform_editor_controls', 'variant1') && ((_props$editorAPI$bloc = (_props$editorAPI2 = props.editorAPI) === null || _props$editorAPI2 === void 0 ? void 0 : (_props$editorAPI2$blo = _props$editorAPI2.blockMenu) === null || _props$editorAPI2$blo === void 0 ? void 0 : (_props$editorAPI2$blo2 = _props$editorAPI2$blo.sharedState) === null || _props$editorAPI2$blo2 === void 0 ? void 0 : (_props$editorAPI2$blo3 = _props$editorAPI2$blo2.currentState()) === null || _props$editorAPI2$blo3 === void 0 ? void 0 : _props$editorAPI2$blo3.useStandardNodeWidth) !== null && _props$editorAPI$bloc !== void 0 ? _props$editorAPI$bloc : false);
68
+ useImperativeHandle(ref, () => ({
69
+ get scrollContainer() {
70
+ return scrollContainerRef.current;
71
+ },
72
+ get contentArea() {
73
+ return contentAreaRef.current;
74
+ },
75
+ get containerArea() {
76
+ return containerRef.current;
77
+ }
78
+ }), []);
79
+ const markdownPluginCurrentView = useSharedPluginStateWithSelector(props.editorAPI, ['markdownMode'], states => {
80
+ var _states$markdownModeS;
81
+ return (_states$markdownModeS = states.markdownModeState) === null || _states$markdownModeS === void 0 ? void 0 : _states$markdownModeS.view;
82
+ });
83
+ const markdownPluginCurrentIsMarkdownMode = useSharedPluginStateWithSelector(props.editorAPI, ['markdownMode'], states => {
84
+ var _states$markdownModeS2;
85
+ return (_states$markdownModeS2 = states.markdownModeState) === null || _states$markdownModeS2 === void 0 ? void 0 : _states$markdownModeS2.isMarkdownMode;
86
+ });
87
+ const isMarkdownModeExperimentEnabled = expValEqualsNoExposure('cc-markdown-mode', 'isEnabled', true);
88
+ const shouldHideProseMirrorForMarkdownMode = isMarkdownModeExperimentEnabled && markdownPluginCurrentView !== 'preview' && markdownPluginCurrentIsMarkdownMode;
89
+ const shouldHideScrollGutterForMarkdownMode = isMarkdownModeExperimentEnabled && markdownPluginCurrentIsMarkdownMode;
90
+ const shouldUseMarkdownModeMvpLayout = shouldHideProseMirrorForMarkdownMode && fg('platform_editor_md_mvp_layout');
91
+ return /*#__PURE__*/React.createElement("div", {
92
+ "data-testid": CONTENT_AREA_TEST_ID,
93
+ ref: containerRef,
94
+ className: ax([compiledStyles.contentAreaNew, props.isEditorToolbarHidden && compiledStyles.contentAreaHeightNoToolbar])
95
+ }, /*#__PURE__*/React.createElement("div", {
96
+ "data-testid": EDITOR_CONTAINER,
97
+ "data-editor-container": 'true',
98
+ className: ax(["_1bsb1osq _7cca15wb _1f38dez1 _njlp131u", shouldUseMarkdownModeMvpLayout && compiledStyles.markdownModeContainerBackgroundStyle])
99
+ }, /*#__PURE__*/React.createElement(EditorContentContainer
100
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
101
+ , {
102
+ className: "fabric-editor-popup-scroll-parent",
103
+ featureFlags: props.featureFlags,
104
+ ref: scrollContainerRef,
105
+ viewMode: props === null || props === void 0 ? void 0 : props.viewMode,
106
+ isScrollable: true,
107
+ appearance: props.appearance,
108
+ contentMode: props.contentMode,
109
+ useStandardNodeWidth: useStandardNodeWidth
110
+ }, /*#__PURE__*/React.createElement(ClickAreaBlock, {
111
+ editorView: props.editorView,
112
+ editorDisabled: props.disabled
113
+ }, /*#__PURE__*/React.createElement("div", {
114
+ "data-markdown-mode-hide-prosemirror": shouldHideProseMirrorForMarkdownMode ? 'true' : undefined,
115
+ "data-markdown-mode-hide-scroll-gutter": shouldHideScrollGutterForMarkdownMode ? 'true' : undefined,
116
+ style: {
117
+ '--ak-editor-content-area-max-width': `${contentAreaMaxWidth}px`
118
+ }
119
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop
120
+ ,
121
+ className: ax([compiledStyles.editorContentAreaNew, compiledStyles.editorContentAreaProsemirrorStyle, shouldHideProseMirrorForMarkdownMode && compiledStyles.hideEditorContentAreaProsemirrorWithAttributeStyle, shouldHideScrollGutterForMarkdownMode && compiledStyles.hideEditorContentAreaScrollGutterWithAttributeStyle, shouldUseMarkdownModeMvpLayout && compiledStyles.markdownModeContentAreaStyle, compiledStyles.tableFullPageEditorStylesNew, compiledStyles.fullWidthNonChromelessBreakoutBlockTableStyle, expValEqualsNoExposure('platform_editor_breakout_resizing', 'isEnabled', true) ? compiledStyles.editorContentAreaContainerStyleExcludeCodeBlockNew : compiledStyles.editorContentAreaContainerStyleNew, fg('platform_editor_nested_dnd_styles_changes') && compiledStyles.editorContentAreaContainerNestedDndStyle, !fg('platform_editor_controls_no_toolbar_space') && editorExperiment('platform_editor_controls', 'variant1') && compiledStyles.contentAreaReducedHeaderSpace, !fg('platform_editor_controls_no_toolbar_space') && props.isEditorToolbarHidden && editorExperiment('platform_editor_controls', 'variant1') && compiledStyles.contentAreaReservedPrimaryToolbarSpace, "ak-editor-content-area-region"]),
122
+ "data-editor-editable-content": true,
123
+ role: "region",
124
+ "aria-label": props.intl.formatMessage(messages.editableContentLabel),
125
+ ref: contentAreaRef,
126
+ "data-vc": "editor-content-area-region"
127
+ }, /*#__PURE__*/React.createElement("div", {
128
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
129
+ className: ax([compiledStyles.editorContentGutterStyles, fg('platform_editor_controls_increase_full_page_gutter') && editorExperiment('platform_editor_controls', 'variant1') && compiledStyles.editorContentGutterStyleFG, editorExperiment('platform_editor_preview_panel_responsiveness', true, {
130
+ exposure: true
131
+ // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values
132
+ }) && compiledStyles.editorContentReducedGutterStyles, classnames('ak-editor-content-area', 'appearance-full-page', {
133
+ 'fabric-editor--full-width-mode': fullWidthMode,
134
+ 'fabric-editor--max-width-mode': Boolean(maxWidthMode)
135
+ })]),
136
+ ref: contentAreaRef
137
+ }, !!props.customContentComponents && 'before' in props.customContentComponents ? contentComponentClickWrapper(props.customContentComponents.before) : contentComponentClickWrapper(props.customContentComponents), /*#__PURE__*/React.createElement(PluginSlot, {
138
+ editorView: props.editorView,
139
+ editorActions: props.editorActions,
140
+ eventDispatcher: props.eventDispatcher,
141
+ providerFactory: props.providerFactory,
142
+ appearance: props.appearance,
143
+ items: props.contentComponents,
144
+ pluginHooks: props.pluginHooks,
145
+ contentArea: (_contentAreaRef$curre = contentAreaRef.current) !== null && _contentAreaRef$curre !== void 0 ? _contentAreaRef$curre : undefined,
146
+ popupsMountPoint: props.popupsMountPoint,
147
+ popupsBoundariesElement: props.popupsBoundariesElement,
148
+ popupsScrollableElement: props.popupsScrollableElement,
149
+ disabled: !!props.disabled,
150
+ containerElement: scrollContainerRef.current,
151
+ dispatchAnalyticsEvent: props.dispatchAnalyticsEvent,
152
+ wrapperElement: props.wrapperElement
153
+ }), props.editorDOMElement, !!props.customContentComponents && 'after' in props.customContentComponents ? contentComponentClickWrapper(props.customContentComponents.after) : null, allowScrollGutter && (editorExperiment('platform_editor_blocks', true) ? /*#__PURE__*/React.createElement("div", {
154
+ id: "editor-scroll-gutter",
155
+ style: {
156
+ paddingBottom: `${(_allowScrollGutter$gu = allowScrollGutter.gutterSize) !== null && _allowScrollGutter$gu !== void 0 ? _allowScrollGutter$gu : '120'}px`
157
+ },
158
+ "data-vc": "scroll-gutter",
159
+ "data-editor-scroll-gutter": "true",
160
+ className: ax([shouldHideScrollGutterForMarkdownMode && compiledStyles.hideEditorScrollGutterStyle])
161
+ }) : /*#__PURE__*/React.createElement("div", {
162
+ id: "editor-scroll-gutter",
163
+ style: {
164
+ paddingBottom: `${(_allowScrollGutter$gu2 = allowScrollGutter.gutterSize) !== null && _allowScrollGutter$gu2 !== void 0 ? _allowScrollGutter$gu2 : '120'}px`
165
+ },
166
+ "data-vc": "scroll-gutter",
167
+ className: ax([shouldHideScrollGutterForMarkdownMode && compiledStyles.hideEditorScrollGutterStyle])
168
+ }))))))), /*#__PURE__*/React.createElement("div", {
169
+ className: ax(["_4t3i1osq _vchhusvi _1wpzesu3 _1hgw1wug _1t1q1if8 _uj9widpf _13hh1y6m"])
170
+ }, props.contextPanel || /*#__PURE__*/React.createElement(ContextPanel, {
171
+ editorAPI: props.editorAPI,
172
+ visible: false
173
+ })));
174
+ });
175
+
176
+ // eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
177
+ export const FullPageContentAreaCompiled = injectIntl(Content, {
178
+ forwardRef: true
179
+ });