@atlaskit/editor-core 193.19.0 → 193.19.10

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 (40) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/create-editor/create-plugins-list.js +0 -1
  3. package/dist/cjs/create-editor/create-preset.js +1 -0
  4. package/dist/cjs/presets/default.js +1 -3
  5. package/dist/cjs/presets/universal.js +12 -2
  6. package/dist/cjs/test-utils.js +7 -1
  7. package/dist/cjs/ui/ContentStyles/index.js +10 -3
  8. package/dist/cjs/ui/ContentStyles/layout.js +3 -1
  9. package/dist/cjs/version-wrapper.js +1 -1
  10. package/dist/es2019/create-editor/create-plugins-list.js +0 -1
  11. package/dist/es2019/create-editor/create-preset.js +1 -0
  12. package/dist/es2019/presets/default.js +1 -3
  13. package/dist/es2019/presets/universal.js +12 -2
  14. package/dist/es2019/test-utils.js +7 -1
  15. package/dist/es2019/ui/ContentStyles/index.js +11 -3
  16. package/dist/es2019/ui/ContentStyles/layout.js +4 -4
  17. package/dist/es2019/version-wrapper.js +1 -1
  18. package/dist/esm/create-editor/create-plugins-list.js +0 -1
  19. package/dist/esm/create-editor/create-preset.js +1 -0
  20. package/dist/esm/presets/default.js +1 -3
  21. package/dist/esm/presets/universal.js +12 -2
  22. package/dist/esm/test-utils.js +7 -1
  23. package/dist/esm/ui/ContentStyles/index.js +10 -3
  24. package/dist/esm/ui/ContentStyles/layout.js +3 -1
  25. package/dist/esm/version-wrapper.js +1 -1
  26. package/dist/types/create-editor/create-preset.d.ts +9 -9
  27. package/dist/types/presets/default.d.ts +6 -6
  28. package/dist/types/presets/universal.d.ts +9 -9
  29. package/dist/types/presets/useUniversalPreset.d.ts +9 -9
  30. package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +2 -0
  31. package/dist/types/ui/ContentStyles/index.d.ts +1 -0
  32. package/dist/types/ui/ContentStyles/layout.d.ts +1 -1
  33. package/dist/types-ts4.5/create-editor/create-preset.d.ts +9 -9
  34. package/dist/types-ts4.5/presets/default.d.ts +6 -6
  35. package/dist/types-ts4.5/presets/universal.d.ts +9 -9
  36. package/dist/types-ts4.5/presets/useUniversalPreset.d.ts +9 -9
  37. package/dist/types-ts4.5/ui/Appearance/FullPage/StyledComponents.d.ts +2 -0
  38. package/dist/types-ts4.5/ui/ContentStyles/index.d.ts +1 -0
  39. package/dist/types-ts4.5/ui/ContentStyles/layout.d.ts +1 -1
  40. package/package.json +17 -13
package/CHANGELOG.md CHANGED
@@ -1,5 +1,22 @@
1
1
  # @atlaskit/editor-core
2
2
 
3
+ ## 193.19.10
4
+
5
+ ### Patch Changes
6
+
7
+ - [#101524](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/101524)
8
+ [`4821570088e6`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/4821570088e6) -
9
+ ED-23362 Bump ADF schema to version 36.8.1 and add support for adf validation and transformation
10
+
11
+ ## 193.19.6
12
+
13
+ ### Patch Changes
14
+
15
+ - [#98561](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/98561)
16
+ [`ca9500b004d4`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/ca9500b004d4) -
17
+ [ux] [ED-22668] remove the border from layouts on rest and on hover whilst on a live view page
18
+ - Updated dependencies
19
+
3
20
  ## 193.19.0
4
21
 
5
22
  ### Minor Changes
@@ -52,7 +52,6 @@ function getDefaultPresetOptionsFromEditorProps(props, createAnalyticsEvent
52
52
  return _objectSpread(_objectSpread({}, props), {}, {
53
53
  createAnalyticsEvent: createAnalyticsEvent,
54
54
  typeAhead: {
55
- createAnalyticsEvent: createAnalyticsEvent,
56
55
  isMobile: isMobile
57
56
  },
58
57
  featureFlags: (0, _featureFlagsFromProps.createFeatureFlagsFromProps)(props),
@@ -31,6 +31,7 @@ function withDangerouslyAppendPlugins(preset) {
31
31
  var presetWithAppendedPlugins = nextEditorPluginsToAppend.reduce(function (acc, plugin) {
32
32
  // These are dangerously appended, we don't need their type information leaking into
33
33
  // universal preset
34
+ // @ts-expect-error
34
35
  return acc.add(plugin);
35
36
  }, preset);
36
37
  return presetWithAppendedPlugins;
@@ -53,9 +53,7 @@ function createDefaultPreset(options) {
53
53
  performanceTracking: options.performanceTracking
54
54
  }], Boolean(options.allowAnalyticsGASV3)).add(_betterTypeHistory.betterTypeHistoryPlugin).add([_paste.pastePlugin, _objectSpread({}, options === null || options === void 0 ? void 0 : options.paste)]).add(_clipboard.clipboardPlugin).add(_focus.focusPlugin).add(_composition.compositionPlugin).add([_contextIdentifier.contextIdentifierPlugin, {
55
55
  contextIdentifierProvider: options.contextIdentifierProvider
56
- }]).add([_base.basePlugin, options.base]).add(_decorations.decorationsPlugin).add([_typeAhead.typeAheadPlugin, options.typeAhead || {
57
- createAnalyticsEvent: options.createAnalyticsEvent
58
- }]).maybeAdd(_history.historyPlugin, Boolean(isMobile || options.allowUndoRedoButtons)).maybeAdd(_undoRedo.undoRedoPlugin, Boolean((_options$featureFlags = (_options$featureFlags2 = options.featureFlags) === null || _options$featureFlags2 === void 0 ? void 0 : _options$featureFlags2.undoRedoButtons) !== null && _options$featureFlags !== void 0 ? _options$featureFlags : options.allowUndoRedoButtons)).add([_blockType.blockTypePlugin, options.blockType]).add(_clearMarksOnEmptyDoc.clearMarksOnEmptyDocPlugin).maybeAdd([_selectionToolbar.selectionToolbarPlugin, {
56
+ }]).add([_base.basePlugin, options.base]).add(_decorations.decorationsPlugin).add([_typeAhead.typeAheadPlugin, options.typeAhead]).maybeAdd(_history.historyPlugin, Boolean(isMobile || options.allowUndoRedoButtons)).maybeAdd(_undoRedo.undoRedoPlugin, Boolean((_options$featureFlags = (_options$featureFlags2 = options.featureFlags) === null || _options$featureFlags2 === void 0 ? void 0 : _options$featureFlags2.undoRedoButtons) !== null && _options$featureFlags !== void 0 ? _options$featureFlags : options.allowUndoRedoButtons)).add([_blockType.blockTypePlugin, options.blockType]).add(_clearMarksOnEmptyDoc.clearMarksOnEmptyDocPlugin).maybeAdd([_selectionToolbar.selectionToolbarPlugin, {
59
57
  preferenceToolbarAboveSelection: false
60
58
  }], function () {
61
59
  if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.enable-selection-toolbar_ucdwd')) {
@@ -141,7 +141,11 @@ function createUniversalPreset(appearance, props, featureFlags, prevAppearance,
141
141
  useLongPressSelection: false
142
142
  }], Boolean(props.allowTasksAndDecisions || props.taskDecisionProvider)).maybeAdd([_feedbackDialog.feedbackDialogPlugin, _objectSpread({
143
143
  coreVersion: _versionWrapper.version
144
- }, props.feedbackInfo)], Boolean(props.feedbackInfo)).maybeAdd([_helpDialog.helpDialogPlugin, !!props.legacyImageUploadProvider], Boolean(props.allowHelpDialog)).maybeAdd([_saveOnEnter.saveOnEnterPlugin, props.onSave], Boolean(props.saveOnEnter && props.onSave)).maybeAdd(_imageUpload.imageUploadPlugin, Boolean(props.legacyImageUploadProvider)).maybeAdd([_media.mediaPlugin, {
144
+ }, props.feedbackInfo)], Boolean(props.feedbackInfo)).maybeAdd([_helpDialog.helpDialogPlugin, !!props.legacyImageUploadProvider], Boolean(props.allowHelpDialog)).maybeAdd([_saveOnEnter.saveOnEnterPlugin, props.onSave], Boolean(props.saveOnEnter && props.onSave)).maybeAdd(_imageUpload.imageUploadPlugin, Boolean(props.legacyImageUploadProvider)).maybeAdd(
145
+ // duplicate plugin exists because first one if media is enabled
146
+ // second one when “media is disabled, and legacyMediaProvider is enabled
147
+ // @ts-expect-error
148
+ [_media.mediaPlugin, {
145
149
  allowMediaSingle: {
146
150
  disableLayout: true
147
151
  },
@@ -159,7 +163,13 @@ function createUniversalPreset(appearance, props, featureFlags, prevAppearance,
159
163
  extensionHandlers: props.extensionHandlers,
160
164
  useLongPressSelection: false,
161
165
  appearance: appearance
162
- }], Boolean(props.allowExtension)).maybeAdd([_annotation.annotationPlugin, undefined], Boolean(!props.annotationProviders && props.allowConfluenceInlineComment)).maybeAdd([_date.datePlugin, {
166
+ }], Boolean(props.allowExtension)).maybeAdd(
167
+ // we are ignoring a duplicate plugin error here
168
+ // this error exists because we have two annotation plugins being added
169
+ // one with annotationProviders and one with allowConfluenceInlineComment
170
+ // long term this and media should be consolidated into adding both only once
171
+ // @ts-expect-error
172
+ [_annotation.annotationPlugin, undefined], Boolean(!props.annotationProviders && props.allowConfluenceInlineComment)).maybeAdd([_date.datePlugin, {
163
173
  weekStartDay: (0, _typeof2.default)(props.allowDate) === 'object' ? props.allowDate.weekStartDay : undefined
164
174
  }], Boolean(props.allowDate)).maybeAdd([_placeholderText.placeholderTextPlugin,
165
175
  // @ts-expect-error 2322: Type 'false | PlaceholderTextOptions | undefined'
@@ -90,7 +90,13 @@ var createPMSchemaAndPlugins = exports.createPMSchemaAndPlugins = function creat
90
90
  var inputPreset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new _preset.EditorPresetBuilder();
91
91
  return function (pluginFactoryParams) {
92
92
  var editorPlugins = [];
93
- var preset = inputPreset.has(_base.basePlugin) ? inputPreset : inputPreset.add(_base.basePlugin);
93
+
94
+ // we are ignoring the below because while this logic knows if
95
+ // basePlugin is in the inputPreset, the type system does not
96
+ // so it marks it as a duplicate plugin :) - this is fine
97
+ var preset = inputPreset.has(_base.basePlugin) ? inputPreset :
98
+ // @ts-expect-error
99
+ inputPreset.add(_base.basePlugin);
94
100
  editorPlugins = preset.build({
95
101
  pluginInjectionAPI: pluginFactoryParams.pluginInjectionAPI
96
102
  });
@@ -11,6 +11,7 @@ var _react = _interopRequireWildcard(require("react"));
11
11
  var _react2 = require("@emotion/react");
12
12
  var _collab = require("@atlaskit/editor-common/collab");
13
13
  var _emoji = require("@atlaskit/editor-common/emoji");
14
+ var _hooks = require("@atlaskit/editor-common/hooks");
14
15
  var _mention = require("@atlaskit/editor-common/mention");
15
16
  var _selection = require("@atlaskit/editor-common/selection");
16
17
  var _styles = require("@atlaskit/editor-common/styles");
@@ -24,6 +25,7 @@ var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
24
25
  var _colors = require("@atlaskit/theme/colors");
25
26
  var _tokens = require("@atlaskit/tokens");
26
27
  var _getInlineNodeViewProducer = require("../../nodeviews/getInlineNodeViewProducer.styles");
28
+ var _context = require("../../presets/context");
27
29
  var _aiPanels = require("./ai-panels");
28
30
  var _codeBlock = require("./code-block");
29
31
  var _date = require("./date");
@@ -68,7 +70,7 @@ var placeholderStyles = exports.placeholderStyles = (0, _react2.css)({
68
70
  var contentStyles = function contentStyles(props) {
69
71
  return (0, _react2.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n .ProseMirror {\n outline: none;\n font-size: ", "px;\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n }\n\n .ProseMirror[contenteditable='false'] .taskItemView-content-wrap {\n pointer-events: none;\n opacity: 0.7;\n }\n\n .ProseMirror-hideselection *::selection {\n background: transparent;\n }\n\n .ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n }\n\n .ProseMirror-selectednode {\n outline: none;\n }\n\n .ProseMirror-selectednode:empty {\n outline: 2px solid ", ";\n }\n\n ", "\n ", "\n ", "\n\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", ";\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n\n .panelView-content-wrap {\n box-sizing: border-box;\n }\n\n .mediaGroupView-content-wrap ul {\n padding: 0;\n }\n\n /** Needed to override any cleared floats, e.g. image wrapping */\n\n div.fabric-editor-block-mark[class^='fabric-editor-align'] {\n clear: none !important;\n }\n\n .fabric-editor-align-end {\n text-align: right;\n }\n\n .fabric-editor-align-start {\n text-align: left;\n }\n\n .fabric-editor-align-center {\n text-align: center;\n }\n\n .pm-table-header-content-wrap :not(.fabric-editor-alignment),\n .pm-table-header-content-wrap\n :not(p, .fabric-editor-block-mark)\n + div.fabric-editor-block-mark,\n .pm-table-cell-content-wrap\n :not(p, .fabric-editor-block-mark)\n + div.fabric-editor-block-mark {\n p:first-of-type {\n margin-top: 0;\n }\n }\n .pm-table-cell-content-wrap .mediaGroupView-content-wrap {\n clear: both;\n }\n\n .hyperlink-floating-toolbar,\n .", " {\n padding: 0;\n }\n\n /* Link icon in the Atlaskit package\n is bigger than the others\n */\n .hyperlink-open-link {\n svg {\n max-width: 18px;\n }\n &[href] {\n padding: 0 4px;\n }\n }\n"])), (0, _editorSharedStyles.editorFontSize)({
70
72
  theme: props.theme
71
- }), _styles.whitespaceSharedStyles, _styles.paragraphSharedStyles, _styles.listsSharedStyles, _styles.indentationSharedStyles, _styles.shadowSharedStyle, _getInlineNodeViewProducer.InlineNodeViewSharedStyles, "var(--ds-border-focused, #8cf)", _styles5.placeholderTextStyles, placeholderStyles, (0, _codeBlock.codeBlockStyles)(), (0, _styles2.blocktypeStyles)(), (0, _styles.codeMarkSharedStyles)(), _styles.textColorStyles, _styles.backgroundColorStyles, listsStyles, ruleStyles(), _media.mediaStyles, _layout.layoutStyles, _collab.telepointerStyle, _selection.gapCursorStyles, (0, _commonStyles.tableStyles)(props), (0, _panel.panelStyles)(), mentionsStyles, emojiStyles, _styles.tasksAndDecisionsStyles, _styles.gridStyles, linkStyles, _styles.blockMarksSharedStyles, _styles.dateSharedStyle, _extension.extensionStyles, (0, _expand.expandStyles)(), _styles3.findReplaceStyles, _styles4.textHighlightStyle, _tasksAndDecisions.taskDecisionStyles, _status.statusStyles, (0, _styles.annotationSharedStyles)(), _styles.smartCardStyles, _styles.smartCardSharedStyles, _date.dateStyles, _styles.embedCardStyles, _styles.unsupportedStyles, _styles.resizerStyles, (0, _aiPanels.aiPanelStyles)(props.colorMode), _styles.MediaSharedClassNames.FLOATING_TOOLBAR_COMPONENT);
73
+ }), _styles.whitespaceSharedStyles, _styles.paragraphSharedStyles, _styles.listsSharedStyles, _styles.indentationSharedStyles, _styles.shadowSharedStyle, _getInlineNodeViewProducer.InlineNodeViewSharedStyles, "var(--ds-border-focused, #8cf)", _styles5.placeholderTextStyles, placeholderStyles, (0, _codeBlock.codeBlockStyles)(), (0, _styles2.blocktypeStyles)(), (0, _styles.codeMarkSharedStyles)(), _styles.textColorStyles, _styles.backgroundColorStyles, listsStyles, ruleStyles(), _media.mediaStyles, (0, _layout.layoutStyles)(props.viewMode), _collab.telepointerStyle, _selection.gapCursorStyles, (0, _commonStyles.tableStyles)(props), (0, _panel.panelStyles)(), mentionsStyles, emojiStyles, _styles.tasksAndDecisionsStyles, _styles.gridStyles, linkStyles, _styles.blockMarksSharedStyles, _styles.dateSharedStyle, _extension.extensionStyles, (0, _expand.expandStyles)(), _styles3.findReplaceStyles, _styles4.textHighlightStyle, _tasksAndDecisions.taskDecisionStyles, _status.statusStyles, (0, _styles.annotationSharedStyles)(), _styles.smartCardStyles, _styles.smartCardSharedStyles, _date.dateStyles, _styles.embedCardStyles, _styles.unsupportedStyles, _styles.resizerStyles, (0, _aiPanels.aiPanelStyles)(props.colorMode), _styles.MediaSharedClassNames.FLOATING_TOOLBAR_COMPONENT);
72
74
  };
73
75
  var createEditorContentStyle = exports.createEditorContentStyle = function createEditorContentStyle(styles) {
74
76
  return /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
@@ -78,13 +80,18 @@ var createEditorContentStyle = exports.createEditorContentStyle = function creat
78
80
  var theme = (0, _react2.useTheme)();
79
81
  var _useThemeObserver = (0, _tokens.useThemeObserver)(),
80
82
  colorMode = _useThemeObserver.colorMode;
83
+ var editorAPI = (0, _context.usePresetContext)();
84
+ var _useSharedPluginState = (0, _hooks.useSharedPluginState)(editorAPI, ['editorViewMode']),
85
+ editorViewModeState = _useSharedPluginState.editorViewModeState;
86
+ var viewMode = editorViewModeState === null || editorViewModeState === void 0 ? void 0 : editorViewModeState.mode;
81
87
  var memoizedStyle = (0, _react.useMemo)(function () {
82
88
  return contentStyles({
83
89
  theme: theme,
84
90
  colorMode: colorMode,
85
- featureFlags: featureFlags
91
+ featureFlags: featureFlags,
92
+ viewMode: viewMode
86
93
  });
87
- }, [theme, colorMode, featureFlags]);
94
+ }, [theme, colorMode, featureFlags, viewMode]);
88
95
  return (0, _react2.jsx)("div", {
89
96
  className: className,
90
97
  ref: ref,
@@ -26,4 +26,6 @@ var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
26
26
  var _colors = require("@atlaskit/theme/colors");
27
27
  var _templateObject;
28
28
  // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- Needs manual remediation
29
- var layoutStyles = exports.layoutStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .ProseMirror {\n ", " [data-layout-section] {\n // TODO: Migrate away from gridSize\n // Recommendation: Replace directly with 7px\n margin: ", " -", "px 0;\n transition: border-color 0.3s ", ";\n cursor: pointer;\n\n /* Inner cursor located 26px from left */\n [data-layout-column] {\n flex: 1;\n min-width: 0;\n border: ", "px solid\n ", ";\n border-radius: 4px;\n padding: ", "px;\n box-sizing: border-box;\n\n > div {\n > :not(style):first-child,\n > style:first-child + * {\n margin-top: 0;\n }\n\n > .ProseMirror-gapcursor:first-child + *,\n > style:first-child + .ProseMirror-gapcursor + * {\n margin-top: 0;\n }\n\n > .ProseMirror-gapcursor:first-child + span + *,\n > style:first-child + .ProseMirror-gapcursor:first-child + span + * {\n margin-top: 0;\n }\n\n > .embedCardView-content-wrap:first-of-type .rich-media-item {\n margin-top: 0;\n }\n\n > .mediaSingleView-content-wrap:first-of-type .rich-media-item {\n margin-top: 0;\n }\n\n > .ProseMirror-gapcursor.-right:first-child\n + .mediaSingleView-content-wrap\n .rich-media-item,\n > style:first-child\n + .ProseMirror-gapcursor.-right\n + .mediaSingleView-content-wrap\n .rich-media-item,\n > .ProseMirror-gapcursor.-right:first-of-type\n + .embedCardView-content-wrap\n .rich-media-item {\n margin-top: 0;\n }\n\n > .ProseMirror-gapcursor:first-child\n + span\n + .mediaSingleView-content-wrap\n .rich-media-item,\n > style:first-child\n + .ProseMirror-gapcursor\n + span\n + .mediaSingleView-content-wrap\n .rich-media-item {\n margin-top: 0;\n }\n\n /* Prevent first DecisionWrapper's margin-top: 8px from shifting decisions down\n and shrinking layout's node selectable area (leniency margin) */\n > [data-node-type='decisionList'] {\n li:first-of-type [data-decision-wrapper] {\n margin-top: 0;\n }\n }\n }\n\n /* Make the 'content' fill the entire height of the layout column to allow click\n handler of layout section nodeview to target only data-layout-column */\n [data-layout-content] {\n height: 100%;\n cursor: text;\n .mediaGroupView-content-wrap {\n clear: both;\n }\n }\n }\n\n [data-layout-column] + [data-layout-column] {\n margin-left: ", "px;\n }\n\n @media screen and (max-width: ", "px) {\n [data-layout-column] + [data-layout-column] {\n margin-left: 0;\n }\n }\n\n // TODO: Remove the border styles below once design tokens have been enabled and fallbacks are no longer triggered.\n // This is because the default state already uses the same token and, as such, the hover style won't change anything.\n // https://product-fabric.atlassian.net/browse/DSP-4441\n /* Shows the border when cursor is inside a layout */\n &.selected [data-layout-column],\n &:hover [data-layout-column] {\n border: ", "px solid\n ", ";\n }\n\n &.selected.danger > [data-layout-column] {\n background-color: ", ";\n border-color: ", ";\n }\n\n &.", ":not(.danger) {\n [data-layout-column] {\n ", "\n }\n }\n }\n }\n\n .fabric-editor--full-width-mode .ProseMirror {\n [data-layout-section] {\n .", " {\n margin: 0 ", "px;\n }\n }\n }\n"])), _styles.columnLayoutSharedStyle, "var(--ds-space-100, 8px)", _editorSharedStyles.akLayoutGutterOffset, _editorSharedStyles.akEditorSwoopCubicBezier, _editorSharedStyles.akEditorSelectedBorderSize, "var(--ds-border, ".concat(_colors.N40A, ")"), _styles.LAYOUT_COLUMN_PADDING, _styles.LAYOUT_SECTION_MARGIN, _editorSharedStyles.gridMediumMaxWidth, _editorSharedStyles.akEditorSelectedBorderSize, "var(--ds-border, ".concat(_colors.N50A, ")"), "var(--ds-background-danger, ".concat(_editorSharedStyles.akEditorDeleteBackground, ")"), "var(--ds-border-danger, ".concat(_editorSharedStyles.akEditorDeleteBorder, ")"), _editorSharedStyles.akEditorSelectedNodeClassName, (0, _editorSharedStyles.getSelectionStyles)([_editorSharedStyles.SelectionStyle.Border, _editorSharedStyles.SelectionStyle.Blanket]), _types.TableCssClassName.TABLE_CONTAINER, _consts.tableMarginFullWidthMode);
29
+ var layoutStyles = exports.layoutStyles = function layoutStyles(viewMode) {
30
+ return (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .ProseMirror {\n ", " [data-layout-section] {\n // TODO: Migrate away from gridSize\n // Recommendation: Replace directly with 7px\n margin: ", " -", "px 0;\n transition: border-color 0.3s ", ";\n cursor: ", ";\n\n /* Inner cursor located 26px from left */\n [data-layout-column] {\n flex: 1;\n min-width: 0;\n border: ", "px solid\n ", ";\n border-radius: 4px;\n padding: ", "px;\n box-sizing: border-box;\n\n > div {\n > :not(style):first-child,\n > style:first-child + * {\n margin-top: 0;\n }\n\n > .ProseMirror-gapcursor:first-child + *,\n > style:first-child + .ProseMirror-gapcursor + * {\n margin-top: 0;\n }\n\n > .ProseMirror-gapcursor:first-child + span + *,\n > style:first-child + .ProseMirror-gapcursor:first-child + span + * {\n margin-top: 0;\n }\n\n > .embedCardView-content-wrap:first-of-type .rich-media-item {\n margin-top: 0;\n }\n\n > .mediaSingleView-content-wrap:first-of-type .rich-media-item {\n margin-top: 0;\n }\n\n > .ProseMirror-gapcursor.-right:first-child\n + .mediaSingleView-content-wrap\n .rich-media-item,\n > style:first-child\n + .ProseMirror-gapcursor.-right\n + .mediaSingleView-content-wrap\n .rich-media-item,\n > .ProseMirror-gapcursor.-right:first-of-type\n + .embedCardView-content-wrap\n .rich-media-item {\n margin-top: 0;\n }\n\n > .ProseMirror-gapcursor:first-child\n + span\n + .mediaSingleView-content-wrap\n .rich-media-item,\n > style:first-child\n + .ProseMirror-gapcursor\n + span\n + .mediaSingleView-content-wrap\n .rich-media-item {\n margin-top: 0;\n }\n\n /* Prevent first DecisionWrapper's margin-top: 8px from shifting decisions down\n and shrinking layout's node selectable area (leniency margin) */\n > [data-node-type='decisionList'] {\n li:first-of-type [data-decision-wrapper] {\n margin-top: 0;\n }\n }\n }\n\n /* Make the 'content' fill the entire height of the layout column to allow click\n handler of layout section nodeview to target only data-layout-column */\n [data-layout-content] {\n height: 100%;\n cursor: text;\n .mediaGroupView-content-wrap {\n clear: both;\n }\n }\n }\n\n [data-layout-column] + [data-layout-column] {\n margin-left: ", "px;\n }\n\n @media screen and (max-width: ", "px) {\n [data-layout-column] + [data-layout-column] {\n margin-left: 0;\n }\n }\n\n // TODO: Remove the border styles below once design tokens have been enabled and fallbacks are no longer triggered.\n // This is because the default state already uses the same token and, as such, the hover style won't change anything.\n // https://product-fabric.atlassian.net/browse/DSP-4441\n /* Shows the border when cursor is inside a layout */\n &.selected [data-layout-column],\n &:hover [data-layout-column] {\n border: ", "px solid\n ", ";\n }\n\n &.selected.danger > [data-layout-column] {\n background-color: ", ";\n border-color: ", ";\n }\n\n &.", ":not(.danger) {\n [data-layout-column] {\n ", "\n }\n }\n }\n }\n\n .fabric-editor--full-width-mode .ProseMirror {\n [data-layout-section] {\n .", " {\n margin: 0 ", "px;\n }\n }\n }\n"])), _styles.columnLayoutSharedStyle, "var(--ds-space-100, 8px)", _editorSharedStyles.akLayoutGutterOffset, _editorSharedStyles.akEditorSwoopCubicBezier, viewMode === 'view' ? 'default' : 'pointer', viewMode === 'view' ? 0 : _editorSharedStyles.akEditorSelectedBorderSize, "var(--ds-border, ".concat(_colors.N40A, ")"), _styles.LAYOUT_COLUMN_PADDING, _styles.LAYOUT_SECTION_MARGIN, _editorSharedStyles.gridMediumMaxWidth, viewMode === 'view' ? 0 : _editorSharedStyles.akEditorSelectedBorderSize, "var(--ds-border, ".concat(_colors.N50A, ")"), "var(--ds-background-danger, ".concat(_editorSharedStyles.akEditorDeleteBackground, ")"), "var(--ds-border-danger, ".concat(_editorSharedStyles.akEditorDeleteBorder, ")"), _editorSharedStyles.akEditorSelectedNodeClassName, (0, _editorSharedStyles.getSelectionStyles)([_editorSharedStyles.SelectionStyle.Border, _editorSharedStyles.SelectionStyle.Blanket]), _types.TableCssClassName.TABLE_CONTAINER, _consts.tableMarginFullWidthMode);
31
+ };
@@ -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 = "193.19.0";
8
+ var version = exports.version = "193.19.10";
@@ -39,7 +39,6 @@ export function getDefaultPresetOptionsFromEditorProps(props, createAnalyticsEve
39
39
  ...props,
40
40
  createAnalyticsEvent,
41
41
  typeAhead: {
42
- createAnalyticsEvent,
43
42
  isMobile
44
43
  },
45
44
  featureFlags: createFeatureFlagsFromProps(props),
@@ -21,6 +21,7 @@ function withDangerouslyAppendPlugins(preset) {
21
21
  const presetWithAppendedPlugins = nextEditorPluginsToAppend.reduce((acc, plugin) => {
22
22
  // These are dangerously appended, we don't need their type information leaking into
23
23
  // universal preset
24
+ // @ts-expect-error
24
25
  return acc.add(plugin);
25
26
  }, preset);
26
27
  return presetWithAppendedPlugins;
@@ -47,9 +47,7 @@ export function createDefaultPreset(options) {
47
47
  ...(options === null || options === void 0 ? void 0 : options.paste)
48
48
  }]).add(clipboardPlugin).add(focusPlugin).add(compositionPlugin).add([contextIdentifierPlugin, {
49
49
  contextIdentifierProvider: options.contextIdentifierProvider
50
- }]).add([basePlugin, options.base]).add(decorationsPlugin).add([typeAheadPlugin, options.typeAhead || {
51
- createAnalyticsEvent: options.createAnalyticsEvent
52
- }]).maybeAdd(historyPlugin, Boolean(isMobile || options.allowUndoRedoButtons)).maybeAdd(undoRedoPlugin, Boolean((_options$featureFlags = (_options$featureFlags2 = options.featureFlags) === null || _options$featureFlags2 === void 0 ? void 0 : _options$featureFlags2.undoRedoButtons) !== null && _options$featureFlags !== void 0 ? _options$featureFlags : options.allowUndoRedoButtons)).add([blockTypePlugin, options.blockType]).add(clearMarksOnEmptyDocPlugin).maybeAdd([selectionToolbarPlugin, {
50
+ }]).add([basePlugin, options.base]).add(decorationsPlugin).add([typeAheadPlugin, options.typeAhead]).maybeAdd(historyPlugin, Boolean(isMobile || options.allowUndoRedoButtons)).maybeAdd(undoRedoPlugin, Boolean((_options$featureFlags = (_options$featureFlags2 = options.featureFlags) === null || _options$featureFlags2 === void 0 ? void 0 : _options$featureFlags2.undoRedoButtons) !== null && _options$featureFlags !== void 0 ? _options$featureFlags : options.allowUndoRedoButtons)).add([blockTypePlugin, options.blockType]).add(clearMarksOnEmptyDocPlugin).maybeAdd([selectionToolbarPlugin, {
53
51
  preferenceToolbarAboveSelection: false
54
52
  }], () => {
55
53
  if (getBooleanFF('platform.editor.enable-selection-toolbar_ucdwd')) {
@@ -131,7 +131,11 @@ export default function createUniversalPreset(appearance, props, featureFlags, p
131
131
  }], Boolean(props.allowTasksAndDecisions || props.taskDecisionProvider)).maybeAdd([feedbackDialogPlugin, {
132
132
  coreVersion,
133
133
  ...props.feedbackInfo
134
- }], Boolean(props.feedbackInfo)).maybeAdd([helpDialogPlugin, !!props.legacyImageUploadProvider], Boolean(props.allowHelpDialog)).maybeAdd([saveOnEnterPlugin, props.onSave], Boolean(props.saveOnEnter && props.onSave)).maybeAdd(imageUploadPlugin, Boolean(props.legacyImageUploadProvider)).maybeAdd([mediaPlugin, {
134
+ }], Boolean(props.feedbackInfo)).maybeAdd([helpDialogPlugin, !!props.legacyImageUploadProvider], Boolean(props.allowHelpDialog)).maybeAdd([saveOnEnterPlugin, props.onSave], Boolean(props.saveOnEnter && props.onSave)).maybeAdd(imageUploadPlugin, Boolean(props.legacyImageUploadProvider)).maybeAdd(
135
+ // duplicate plugin exists because first one if media is enabled
136
+ // second one when “media is disabled, and legacyMediaProvider is enabled
137
+ // @ts-expect-error
138
+ [mediaPlugin, {
135
139
  allowMediaSingle: {
136
140
  disableLayout: true
137
141
  },
@@ -150,7 +154,13 @@ export default function createUniversalPreset(appearance, props, featureFlags, p
150
154
  extensionHandlers: props.extensionHandlers,
151
155
  useLongPressSelection: false,
152
156
  appearance
153
- }], Boolean(props.allowExtension)).maybeAdd([annotationPlugin, undefined], Boolean(!props.annotationProviders && props.allowConfluenceInlineComment)).maybeAdd([datePlugin, {
157
+ }], Boolean(props.allowExtension)).maybeAdd(
158
+ // we are ignoring a duplicate plugin error here
159
+ // this error exists because we have two annotation plugins being added
160
+ // one with annotationProviders and one with allowConfluenceInlineComment
161
+ // long term this and media should be consolidated into adding both only once
162
+ // @ts-expect-error
163
+ [annotationPlugin, undefined], Boolean(!props.annotationProviders && props.allowConfluenceInlineComment)).maybeAdd([datePlugin, {
154
164
  weekStartDay: typeof props.allowDate === 'object' ? props.allowDate.weekStartDay : undefined
155
165
  }], Boolean(props.allowDate)).maybeAdd([placeholderTextPlugin,
156
166
  // @ts-expect-error 2322: Type 'false | PlaceholderTextOptions | undefined'
@@ -53,7 +53,13 @@ function lightProcessPluginsList(editorPlugins) {
53
53
  }
54
54
  export const createPMSchemaAndPlugins = (inputPreset = new EditorPresetBuilder()) => pluginFactoryParams => {
55
55
  let editorPlugins = [];
56
- const preset = inputPreset.has(basePlugin) ? inputPreset : inputPreset.add(basePlugin);
56
+
57
+ // we are ignoring the below because while this logic knows if
58
+ // basePlugin is in the inputPreset, the type system does not
59
+ // so it marks it as a duplicate plugin :) - this is fine
60
+ const preset = inputPreset.has(basePlugin) ? inputPreset :
61
+ // @ts-expect-error
62
+ inputPreset.add(basePlugin);
57
63
  editorPlugins = preset.build({
58
64
  pluginInjectionAPI: pluginFactoryParams.pluginInjectionAPI
59
65
  });
@@ -6,6 +6,7 @@ import React, { useMemo } from 'react';
6
6
  import { css, jsx, useTheme } from '@emotion/react';
7
7
  import { telepointerStyle } from '@atlaskit/editor-common/collab';
8
8
  import { EmojiSharedCssClassName } from '@atlaskit/editor-common/emoji';
9
+ import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
9
10
  import { MentionSharedCssClassName } from '@atlaskit/editor-common/mention';
10
11
  import { gapCursorStyles } from '@atlaskit/editor-common/selection';
11
12
  import { annotationSharedStyles, backgroundColorStyles, blockMarksSharedStyles, codeBlockInListSafariFix, codeMarkSharedStyles, dateSharedStyle, embedCardStyles, gridStyles, indentationSharedStyles, linkSharedStyle, listsSharedStyles, MediaSharedClassNames, paragraphSharedStyles, resizerStyles, ruleSharedStyles, shadowSharedStyle, SmartCardSharedCssClassName, smartCardSharedStyles, smartCardStyles, tasksAndDecisionsStyles, textColorStyles, unsupportedStyles, whitespaceSharedStyles } from '@atlaskit/editor-common/styles';
@@ -19,6 +20,7 @@ import { akEditorDeleteBackgroundWithOpacity, akEditorDeleteBorder, akEditorSele
19
20
  import { N200, N30A, N500 } from '@atlaskit/theme/colors';
20
21
  import { useThemeObserver } from '@atlaskit/tokens';
21
22
  import { InlineNodeViewSharedStyles } from '../../nodeviews/getInlineNodeViewProducer.styles';
23
+ import { usePresetContext } from '../../presets/context';
22
24
  import { aiPanelStyles } from './ai-panels';
23
25
  import { codeBlockStyles } from './code-block';
24
26
  import { dateStyles } from './date';
@@ -186,7 +188,7 @@ const contentStyles = props => css`
186
188
  ${listsStyles}
187
189
  ${ruleStyles()}
188
190
  ${mediaStyles}
189
- ${layoutStyles}
191
+ ${layoutStyles(props.viewMode)}
190
192
  ${telepointerStyle}
191
193
  ${gapCursorStyles};
192
194
  ${tableStyles(props)}
@@ -282,11 +284,17 @@ export const createEditorContentStyle = styles => {
282
284
  const {
283
285
  colorMode
284
286
  } = useThemeObserver();
287
+ const editorAPI = usePresetContext();
288
+ const {
289
+ editorViewModeState
290
+ } = useSharedPluginState(editorAPI, ['editorViewMode']);
291
+ const viewMode = editorViewModeState === null || editorViewModeState === void 0 ? void 0 : editorViewModeState.mode;
285
292
  const memoizedStyle = useMemo(() => contentStyles({
286
293
  theme,
287
294
  colorMode,
288
- featureFlags
289
- }), [theme, colorMode, featureFlags]);
295
+ featureFlags,
296
+ viewMode
297
+ }), [theme, colorMode, featureFlags, viewMode]);
290
298
  return jsx("div", {
291
299
  className: className,
292
300
  ref: ref,
@@ -7,20 +7,20 @@ import { N40A, N50A } from '@atlaskit/theme/colors';
7
7
  export { LAYOUT_COLUMN_PADDING, LAYOUT_SECTION_MARGIN };
8
8
 
9
9
  // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- Needs manual remediation
10
- export const layoutStyles = css`
10
+ export const layoutStyles = viewMode => css`
11
11
  .ProseMirror {
12
12
  ${columnLayoutSharedStyle} [data-layout-section] {
13
13
  // TODO: Migrate away from gridSize
14
14
  // Recommendation: Replace directly with 7px
15
15
  margin: ${"var(--ds-space-100, 8px)"} -${akLayoutGutterOffset}px 0;
16
16
  transition: border-color 0.3s ${akEditorSwoopCubicBezier};
17
- cursor: pointer;
17
+ cursor: ${viewMode === 'view' ? 'default' : 'pointer'};
18
18
 
19
19
  /* Inner cursor located 26px from left */
20
20
  [data-layout-column] {
21
21
  flex: 1;
22
22
  min-width: 0;
23
- border: ${akEditorSelectedBorderSize}px solid
23
+ border: ${viewMode === 'view' ? 0 : akEditorSelectedBorderSize}px solid
24
24
  ${`var(--ds-border, ${N40A})`};
25
25
  border-radius: 4px;
26
26
  padding: ${LAYOUT_COLUMN_PADDING}px;
@@ -111,7 +111,7 @@ export const layoutStyles = css`
111
111
  /* Shows the border when cursor is inside a layout */
112
112
  &.selected [data-layout-column],
113
113
  &:hover [data-layout-column] {
114
- border: ${akEditorSelectedBorderSize}px solid
114
+ border: ${viewMode === 'view' ? 0 : akEditorSelectedBorderSize}px solid
115
115
  ${`var(--ds-border, ${N50A})`};
116
116
  }
117
117
 
@@ -1,2 +1,2 @@
1
1
  export const name = "@atlaskit/editor-core";
2
- export const version = "193.19.0";
2
+ export const version = "193.19.10";
@@ -43,7 +43,6 @@ export function getDefaultPresetOptionsFromEditorProps(props, createAnalyticsEve
43
43
  return _objectSpread(_objectSpread({}, props), {}, {
44
44
  createAnalyticsEvent: createAnalyticsEvent,
45
45
  typeAhead: {
46
- createAnalyticsEvent: createAnalyticsEvent,
47
46
  isMobile: isMobile
48
47
  },
49
48
  featureFlags: createFeatureFlagsFromProps(props),
@@ -25,6 +25,7 @@ function withDangerouslyAppendPlugins(preset) {
25
25
  var presetWithAppendedPlugins = nextEditorPluginsToAppend.reduce(function (acc, plugin) {
26
26
  // These are dangerously appended, we don't need their type information leaking into
27
27
  // universal preset
28
+ // @ts-expect-error
28
29
  return acc.add(plugin);
29
30
  }, preset);
30
31
  return presetWithAppendedPlugins;
@@ -48,9 +48,7 @@ export function createDefaultPreset(options) {
48
48
  performanceTracking: options.performanceTracking
49
49
  }], Boolean(options.allowAnalyticsGASV3)).add(betterTypeHistoryPlugin).add([pastePlugin, _objectSpread({}, options === null || options === void 0 ? void 0 : options.paste)]).add(clipboardPlugin).add(focusPlugin).add(compositionPlugin).add([contextIdentifierPlugin, {
50
50
  contextIdentifierProvider: options.contextIdentifierProvider
51
- }]).add([basePlugin, options.base]).add(decorationsPlugin).add([typeAheadPlugin, options.typeAhead || {
52
- createAnalyticsEvent: options.createAnalyticsEvent
53
- }]).maybeAdd(historyPlugin, Boolean(isMobile || options.allowUndoRedoButtons)).maybeAdd(undoRedoPlugin, Boolean((_options$featureFlags = (_options$featureFlags2 = options.featureFlags) === null || _options$featureFlags2 === void 0 ? void 0 : _options$featureFlags2.undoRedoButtons) !== null && _options$featureFlags !== void 0 ? _options$featureFlags : options.allowUndoRedoButtons)).add([blockTypePlugin, options.blockType]).add(clearMarksOnEmptyDocPlugin).maybeAdd([selectionToolbarPlugin, {
51
+ }]).add([basePlugin, options.base]).add(decorationsPlugin).add([typeAheadPlugin, options.typeAhead]).maybeAdd(historyPlugin, Boolean(isMobile || options.allowUndoRedoButtons)).maybeAdd(undoRedoPlugin, Boolean((_options$featureFlags = (_options$featureFlags2 = options.featureFlags) === null || _options$featureFlags2 === void 0 ? void 0 : _options$featureFlags2.undoRedoButtons) !== null && _options$featureFlags !== void 0 ? _options$featureFlags : options.allowUndoRedoButtons)).add([blockTypePlugin, options.blockType]).add(clearMarksOnEmptyDocPlugin).maybeAdd([selectionToolbarPlugin, {
54
52
  preferenceToolbarAboveSelection: false
55
53
  }], function () {
56
54
  if (getBooleanFF('platform.editor.enable-selection-toolbar_ucdwd')) {
@@ -133,7 +133,11 @@ export default function createUniversalPreset(appearance, props, featureFlags, p
133
133
  useLongPressSelection: false
134
134
  }], Boolean(props.allowTasksAndDecisions || props.taskDecisionProvider)).maybeAdd([feedbackDialogPlugin, _objectSpread({
135
135
  coreVersion: coreVersion
136
- }, props.feedbackInfo)], Boolean(props.feedbackInfo)).maybeAdd([helpDialogPlugin, !!props.legacyImageUploadProvider], Boolean(props.allowHelpDialog)).maybeAdd([saveOnEnterPlugin, props.onSave], Boolean(props.saveOnEnter && props.onSave)).maybeAdd(imageUploadPlugin, Boolean(props.legacyImageUploadProvider)).maybeAdd([mediaPlugin, {
136
+ }, props.feedbackInfo)], Boolean(props.feedbackInfo)).maybeAdd([helpDialogPlugin, !!props.legacyImageUploadProvider], Boolean(props.allowHelpDialog)).maybeAdd([saveOnEnterPlugin, props.onSave], Boolean(props.saveOnEnter && props.onSave)).maybeAdd(imageUploadPlugin, Boolean(props.legacyImageUploadProvider)).maybeAdd(
137
+ // duplicate plugin exists because first one if media is enabled
138
+ // second one when “media is disabled, and legacyMediaProvider is enabled
139
+ // @ts-expect-error
140
+ [mediaPlugin, {
137
141
  allowMediaSingle: {
138
142
  disableLayout: true
139
143
  },
@@ -151,7 +155,13 @@ export default function createUniversalPreset(appearance, props, featureFlags, p
151
155
  extensionHandlers: props.extensionHandlers,
152
156
  useLongPressSelection: false,
153
157
  appearance: appearance
154
- }], Boolean(props.allowExtension)).maybeAdd([annotationPlugin, undefined], Boolean(!props.annotationProviders && props.allowConfluenceInlineComment)).maybeAdd([datePlugin, {
158
+ }], Boolean(props.allowExtension)).maybeAdd(
159
+ // we are ignoring a duplicate plugin error here
160
+ // this error exists because we have two annotation plugins being added
161
+ // one with annotationProviders and one with allowConfluenceInlineComment
162
+ // long term this and media should be consolidated into adding both only once
163
+ // @ts-expect-error
164
+ [annotationPlugin, undefined], Boolean(!props.annotationProviders && props.allowConfluenceInlineComment)).maybeAdd([datePlugin, {
155
165
  weekStartDay: _typeof(props.allowDate) === 'object' ? props.allowDate.weekStartDay : undefined
156
166
  }], Boolean(props.allowDate)).maybeAdd([placeholderTextPlugin,
157
167
  // @ts-expect-error 2322: Type 'false | PlaceholderTextOptions | undefined'
@@ -62,7 +62,13 @@ export var createPMSchemaAndPlugins = function createPMSchemaAndPlugins() {
62
62
  var inputPreset = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new EditorPresetBuilder();
63
63
  return function (pluginFactoryParams) {
64
64
  var editorPlugins = [];
65
- var preset = inputPreset.has(basePlugin) ? inputPreset : inputPreset.add(basePlugin);
65
+
66
+ // we are ignoring the below because while this logic knows if
67
+ // basePlugin is in the inputPreset, the type system does not
68
+ // so it marks it as a duplicate plugin :) - this is fine
69
+ var preset = inputPreset.has(basePlugin) ? inputPreset :
70
+ // @ts-expect-error
71
+ inputPreset.add(basePlugin);
66
72
  editorPlugins = preset.build({
67
73
  pluginInjectionAPI: pluginFactoryParams.pluginInjectionAPI
68
74
  });
@@ -8,6 +8,7 @@ import React, { useMemo } from 'react';
8
8
  import { css, jsx, useTheme } from '@emotion/react';
9
9
  import { telepointerStyle } from '@atlaskit/editor-common/collab';
10
10
  import { EmojiSharedCssClassName } from '@atlaskit/editor-common/emoji';
11
+ import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
11
12
  import { MentionSharedCssClassName } from '@atlaskit/editor-common/mention';
12
13
  import { gapCursorStyles } from '@atlaskit/editor-common/selection';
13
14
  import { annotationSharedStyles, backgroundColorStyles, blockMarksSharedStyles, codeBlockInListSafariFix, codeMarkSharedStyles, dateSharedStyle, embedCardStyles, gridStyles, indentationSharedStyles, linkSharedStyle, listsSharedStyles, MediaSharedClassNames, paragraphSharedStyles, resizerStyles, ruleSharedStyles, shadowSharedStyle, SmartCardSharedCssClassName, smartCardSharedStyles, smartCardStyles, tasksAndDecisionsStyles, textColorStyles, unsupportedStyles, whitespaceSharedStyles } from '@atlaskit/editor-common/styles';
@@ -21,6 +22,7 @@ import { akEditorDeleteBackgroundWithOpacity, akEditorDeleteBorder, akEditorSele
21
22
  import { N200, N30A, N500 } from '@atlaskit/theme/colors';
22
23
  import { useThemeObserver } from '@atlaskit/tokens';
23
24
  import { InlineNodeViewSharedStyles } from '../../nodeviews/getInlineNodeViewProducer.styles';
25
+ import { usePresetContext } from '../../presets/context';
24
26
  import { aiPanelStyles } from './ai-panels';
25
27
  import { codeBlockStyles } from './code-block';
26
28
  import { dateStyles } from './date';
@@ -59,7 +61,7 @@ export var placeholderStyles = css({
59
61
  var contentStyles = function contentStyles(props) {
60
62
  return css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n .ProseMirror {\n outline: none;\n font-size: ", "px;\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n ", ";\n }\n\n .ProseMirror[contenteditable='false'] .taskItemView-content-wrap {\n pointer-events: none;\n opacity: 0.7;\n }\n\n .ProseMirror-hideselection *::selection {\n background: transparent;\n }\n\n .ProseMirror-hideselection *::-moz-selection {\n background: transparent;\n }\n\n .ProseMirror-selectednode {\n outline: none;\n }\n\n .ProseMirror-selectednode:empty {\n outline: 2px solid ", ";\n }\n\n ", "\n ", "\n ", "\n\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", ";\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n ", "\n\n .panelView-content-wrap {\n box-sizing: border-box;\n }\n\n .mediaGroupView-content-wrap ul {\n padding: 0;\n }\n\n /** Needed to override any cleared floats, e.g. image wrapping */\n\n div.fabric-editor-block-mark[class^='fabric-editor-align'] {\n clear: none !important;\n }\n\n .fabric-editor-align-end {\n text-align: right;\n }\n\n .fabric-editor-align-start {\n text-align: left;\n }\n\n .fabric-editor-align-center {\n text-align: center;\n }\n\n .pm-table-header-content-wrap :not(.fabric-editor-alignment),\n .pm-table-header-content-wrap\n :not(p, .fabric-editor-block-mark)\n + div.fabric-editor-block-mark,\n .pm-table-cell-content-wrap\n :not(p, .fabric-editor-block-mark)\n + div.fabric-editor-block-mark {\n p:first-of-type {\n margin-top: 0;\n }\n }\n .pm-table-cell-content-wrap .mediaGroupView-content-wrap {\n clear: both;\n }\n\n .hyperlink-floating-toolbar,\n .", " {\n padding: 0;\n }\n\n /* Link icon in the Atlaskit package\n is bigger than the others\n */\n .hyperlink-open-link {\n svg {\n max-width: 18px;\n }\n &[href] {\n padding: 0 4px;\n }\n }\n"])), editorFontSize({
61
63
  theme: props.theme
62
- }), whitespaceSharedStyles, paragraphSharedStyles, listsSharedStyles, indentationSharedStyles, shadowSharedStyle, InlineNodeViewSharedStyles, "var(--ds-border-focused, #8cf)", placeholderTextStyles, placeholderStyles, codeBlockStyles(), blocktypeStyles(), codeMarkSharedStyles(), textColorStyles, backgroundColorStyles, listsStyles, ruleStyles(), mediaStyles, layoutStyles, telepointerStyle, gapCursorStyles, tableStyles(props), panelStyles(), mentionsStyles, emojiStyles, tasksAndDecisionsStyles, gridStyles, linkStyles, blockMarksSharedStyles, dateSharedStyle, extensionStyles, expandStyles(), findReplaceStyles, textHighlightStyle, taskDecisionStyles, statusStyles, annotationSharedStyles(), smartCardStyles, smartCardSharedStyles, dateStyles, embedCardStyles, unsupportedStyles, resizerStyles, aiPanelStyles(props.colorMode), MediaSharedClassNames.FLOATING_TOOLBAR_COMPONENT);
64
+ }), whitespaceSharedStyles, paragraphSharedStyles, listsSharedStyles, indentationSharedStyles, shadowSharedStyle, InlineNodeViewSharedStyles, "var(--ds-border-focused, #8cf)", placeholderTextStyles, placeholderStyles, codeBlockStyles(), blocktypeStyles(), codeMarkSharedStyles(), textColorStyles, backgroundColorStyles, listsStyles, ruleStyles(), mediaStyles, layoutStyles(props.viewMode), telepointerStyle, gapCursorStyles, tableStyles(props), panelStyles(), mentionsStyles, emojiStyles, tasksAndDecisionsStyles, gridStyles, linkStyles, blockMarksSharedStyles, dateSharedStyle, extensionStyles, expandStyles(), findReplaceStyles, textHighlightStyle, taskDecisionStyles, statusStyles, annotationSharedStyles(), smartCardStyles, smartCardSharedStyles, dateStyles, embedCardStyles, unsupportedStyles, resizerStyles, aiPanelStyles(props.colorMode), MediaSharedClassNames.FLOATING_TOOLBAR_COMPONENT);
63
65
  };
64
66
  export var createEditorContentStyle = function createEditorContentStyle(styles) {
65
67
  return /*#__PURE__*/React.forwardRef(function (props, ref) {
@@ -69,13 +71,18 @@ export var createEditorContentStyle = function createEditorContentStyle(styles)
69
71
  var theme = useTheme();
70
72
  var _useThemeObserver = useThemeObserver(),
71
73
  colorMode = _useThemeObserver.colorMode;
74
+ var editorAPI = usePresetContext();
75
+ var _useSharedPluginState = useSharedPluginState(editorAPI, ['editorViewMode']),
76
+ editorViewModeState = _useSharedPluginState.editorViewModeState;
77
+ var viewMode = editorViewModeState === null || editorViewModeState === void 0 ? void 0 : editorViewModeState.mode;
72
78
  var memoizedStyle = useMemo(function () {
73
79
  return contentStyles({
74
80
  theme: theme,
75
81
  colorMode: colorMode,
76
- featureFlags: featureFlags
82
+ featureFlags: featureFlags,
83
+ viewMode: viewMode
77
84
  });
78
- }, [theme, colorMode, featureFlags]);
85
+ }, [theme, colorMode, featureFlags, viewMode]);
79
86
  return jsx("div", {
80
87
  className: className,
81
88
  ref: ref,
@@ -9,4 +9,6 @@ import { N40A, N50A } from '@atlaskit/theme/colors';
9
9
  export { LAYOUT_COLUMN_PADDING, LAYOUT_SECTION_MARGIN };
10
10
 
11
11
  // eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- Needs manual remediation
12
- export var layoutStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .ProseMirror {\n ", " [data-layout-section] {\n // TODO: Migrate away from gridSize\n // Recommendation: Replace directly with 7px\n margin: ", " -", "px 0;\n transition: border-color 0.3s ", ";\n cursor: pointer;\n\n /* Inner cursor located 26px from left */\n [data-layout-column] {\n flex: 1;\n min-width: 0;\n border: ", "px solid\n ", ";\n border-radius: 4px;\n padding: ", "px;\n box-sizing: border-box;\n\n > div {\n > :not(style):first-child,\n > style:first-child + * {\n margin-top: 0;\n }\n\n > .ProseMirror-gapcursor:first-child + *,\n > style:first-child + .ProseMirror-gapcursor + * {\n margin-top: 0;\n }\n\n > .ProseMirror-gapcursor:first-child + span + *,\n > style:first-child + .ProseMirror-gapcursor:first-child + span + * {\n margin-top: 0;\n }\n\n > .embedCardView-content-wrap:first-of-type .rich-media-item {\n margin-top: 0;\n }\n\n > .mediaSingleView-content-wrap:first-of-type .rich-media-item {\n margin-top: 0;\n }\n\n > .ProseMirror-gapcursor.-right:first-child\n + .mediaSingleView-content-wrap\n .rich-media-item,\n > style:first-child\n + .ProseMirror-gapcursor.-right\n + .mediaSingleView-content-wrap\n .rich-media-item,\n > .ProseMirror-gapcursor.-right:first-of-type\n + .embedCardView-content-wrap\n .rich-media-item {\n margin-top: 0;\n }\n\n > .ProseMirror-gapcursor:first-child\n + span\n + .mediaSingleView-content-wrap\n .rich-media-item,\n > style:first-child\n + .ProseMirror-gapcursor\n + span\n + .mediaSingleView-content-wrap\n .rich-media-item {\n margin-top: 0;\n }\n\n /* Prevent first DecisionWrapper's margin-top: 8px from shifting decisions down\n and shrinking layout's node selectable area (leniency margin) */\n > [data-node-type='decisionList'] {\n li:first-of-type [data-decision-wrapper] {\n margin-top: 0;\n }\n }\n }\n\n /* Make the 'content' fill the entire height of the layout column to allow click\n handler of layout section nodeview to target only data-layout-column */\n [data-layout-content] {\n height: 100%;\n cursor: text;\n .mediaGroupView-content-wrap {\n clear: both;\n }\n }\n }\n\n [data-layout-column] + [data-layout-column] {\n margin-left: ", "px;\n }\n\n @media screen and (max-width: ", "px) {\n [data-layout-column] + [data-layout-column] {\n margin-left: 0;\n }\n }\n\n // TODO: Remove the border styles below once design tokens have been enabled and fallbacks are no longer triggered.\n // This is because the default state already uses the same token and, as such, the hover style won't change anything.\n // https://product-fabric.atlassian.net/browse/DSP-4441\n /* Shows the border when cursor is inside a layout */\n &.selected [data-layout-column],\n &:hover [data-layout-column] {\n border: ", "px solid\n ", ";\n }\n\n &.selected.danger > [data-layout-column] {\n background-color: ", ";\n border-color: ", ";\n }\n\n &.", ":not(.danger) {\n [data-layout-column] {\n ", "\n }\n }\n }\n }\n\n .fabric-editor--full-width-mode .ProseMirror {\n [data-layout-section] {\n .", " {\n margin: 0 ", "px;\n }\n }\n }\n"])), columnLayoutSharedStyle, "var(--ds-space-100, 8px)", akLayoutGutterOffset, akEditorSwoopCubicBezier, akEditorSelectedBorderSize, "var(--ds-border, ".concat(N40A, ")"), LAYOUT_COLUMN_PADDING, LAYOUT_SECTION_MARGIN, gridMediumMaxWidth, akEditorSelectedBorderSize, "var(--ds-border, ".concat(N50A, ")"), "var(--ds-background-danger, ".concat(akEditorDeleteBackground, ")"), "var(--ds-border-danger, ".concat(akEditorDeleteBorder, ")"), akEditorSelectedNodeClassName, getSelectionStyles([SelectionStyle.Border, SelectionStyle.Blanket]), TableCssClassName.TABLE_CONTAINER, tableMarginFullWidthMode);
12
+ export var layoutStyles = function layoutStyles(viewMode) {
13
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .ProseMirror {\n ", " [data-layout-section] {\n // TODO: Migrate away from gridSize\n // Recommendation: Replace directly with 7px\n margin: ", " -", "px 0;\n transition: border-color 0.3s ", ";\n cursor: ", ";\n\n /* Inner cursor located 26px from left */\n [data-layout-column] {\n flex: 1;\n min-width: 0;\n border: ", "px solid\n ", ";\n border-radius: 4px;\n padding: ", "px;\n box-sizing: border-box;\n\n > div {\n > :not(style):first-child,\n > style:first-child + * {\n margin-top: 0;\n }\n\n > .ProseMirror-gapcursor:first-child + *,\n > style:first-child + .ProseMirror-gapcursor + * {\n margin-top: 0;\n }\n\n > .ProseMirror-gapcursor:first-child + span + *,\n > style:first-child + .ProseMirror-gapcursor:first-child + span + * {\n margin-top: 0;\n }\n\n > .embedCardView-content-wrap:first-of-type .rich-media-item {\n margin-top: 0;\n }\n\n > .mediaSingleView-content-wrap:first-of-type .rich-media-item {\n margin-top: 0;\n }\n\n > .ProseMirror-gapcursor.-right:first-child\n + .mediaSingleView-content-wrap\n .rich-media-item,\n > style:first-child\n + .ProseMirror-gapcursor.-right\n + .mediaSingleView-content-wrap\n .rich-media-item,\n > .ProseMirror-gapcursor.-right:first-of-type\n + .embedCardView-content-wrap\n .rich-media-item {\n margin-top: 0;\n }\n\n > .ProseMirror-gapcursor:first-child\n + span\n + .mediaSingleView-content-wrap\n .rich-media-item,\n > style:first-child\n + .ProseMirror-gapcursor\n + span\n + .mediaSingleView-content-wrap\n .rich-media-item {\n margin-top: 0;\n }\n\n /* Prevent first DecisionWrapper's margin-top: 8px from shifting decisions down\n and shrinking layout's node selectable area (leniency margin) */\n > [data-node-type='decisionList'] {\n li:first-of-type [data-decision-wrapper] {\n margin-top: 0;\n }\n }\n }\n\n /* Make the 'content' fill the entire height of the layout column to allow click\n handler of layout section nodeview to target only data-layout-column */\n [data-layout-content] {\n height: 100%;\n cursor: text;\n .mediaGroupView-content-wrap {\n clear: both;\n }\n }\n }\n\n [data-layout-column] + [data-layout-column] {\n margin-left: ", "px;\n }\n\n @media screen and (max-width: ", "px) {\n [data-layout-column] + [data-layout-column] {\n margin-left: 0;\n }\n }\n\n // TODO: Remove the border styles below once design tokens have been enabled and fallbacks are no longer triggered.\n // This is because the default state already uses the same token and, as such, the hover style won't change anything.\n // https://product-fabric.atlassian.net/browse/DSP-4441\n /* Shows the border when cursor is inside a layout */\n &.selected [data-layout-column],\n &:hover [data-layout-column] {\n border: ", "px solid\n ", ";\n }\n\n &.selected.danger > [data-layout-column] {\n background-color: ", ";\n border-color: ", ";\n }\n\n &.", ":not(.danger) {\n [data-layout-column] {\n ", "\n }\n }\n }\n }\n\n .fabric-editor--full-width-mode .ProseMirror {\n [data-layout-section] {\n .", " {\n margin: 0 ", "px;\n }\n }\n }\n"])), columnLayoutSharedStyle, "var(--ds-space-100, 8px)", akLayoutGutterOffset, akEditorSwoopCubicBezier, viewMode === 'view' ? 'default' : 'pointer', viewMode === 'view' ? 0 : akEditorSelectedBorderSize, "var(--ds-border, ".concat(N40A, ")"), LAYOUT_COLUMN_PADDING, LAYOUT_SECTION_MARGIN, gridMediumMaxWidth, viewMode === 'view' ? 0 : akEditorSelectedBorderSize, "var(--ds-border, ".concat(N50A, ")"), "var(--ds-background-danger, ".concat(akEditorDeleteBackground, ")"), "var(--ds-border-danger, ".concat(akEditorDeleteBorder, ")"), akEditorSelectedNodeClassName, getSelectionStyles([SelectionStyle.Border, SelectionStyle.Blanket]), TableCssClassName.TABLE_CONTAINER, tableMarginFullWidthMode);
14
+ };
@@ -1,2 +1,2 @@
1
1
  export var name = "@atlaskit/editor-core";
2
- export var version = "193.19.0";
2
+ export var version = "193.19.10";