@atlaskit/editor-common 112.8.1 → 112.8.3

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 (107) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/card/ui/assets/card.js +1 -1
  3. package/dist/cjs/card/ui/assets/embed.js +1 -1
  4. package/dist/cjs/card/ui/assets/inline.js +1 -1
  5. package/dist/cjs/card/ui/assets/url.js +1 -1
  6. package/dist/cjs/extensibility/Extension/Extension/index.js +3 -3
  7. package/dist/cjs/extensibility/Extension/Lozenge/ExtensionLabel.js +1 -1
  8. package/dist/cjs/extensibility/Extension.js +1 -1
  9. package/dist/cjs/link/ConfigureLinkOverlay/Dropdown.js +2 -2
  10. package/dist/cjs/link/LinkPicker/HyperlinkAddToolbar/index.js +2 -2
  11. package/dist/cjs/link/LinkSearch/LinkSearchList.js +2 -2
  12. package/dist/cjs/link/LinkSearch/withActivityProvider.js +1 -1
  13. package/dist/cjs/media-inline/inline-image-card.js +1 -1
  14. package/dist/cjs/media-inline/media-inline-image-card.js +2 -2
  15. package/dist/cjs/media-single/CommentBadge.js +1 -1
  16. package/dist/cjs/media-single/CommentBadgeNext.js +1 -1
  17. package/dist/cjs/media-single/MediaBadges.js +1 -1
  18. package/dist/cjs/monitoring/error.js +1 -1
  19. package/dist/cjs/preset/core-plugin/index.js +36 -1
  20. package/dist/cjs/preset/core-plugin/pm-plugins/appearance-plugin.js +36 -0
  21. package/dist/cjs/preset/plugin-injection-api.js +27 -2
  22. package/dist/cjs/react-node-view/onVisibleObserverFactory.js +1 -1
  23. package/dist/cjs/resizer/BreakoutResizer.js +1 -1
  24. package/dist/cjs/resizer/Resizer.js +1 -1
  25. package/dist/cjs/toolbar/context.js +1 -1
  26. package/dist/cjs/ui/ContextPanel/context.js +1 -1
  27. package/dist/cjs/ui/DropList/index.js +1 -1
  28. package/dist/cjs/ui/FloatingToolbar/Button.js +2 -2
  29. package/dist/cjs/ui/Mention/index.js +1 -1
  30. package/dist/cjs/ui/ResizerLegacy/index.js +1 -1
  31. package/dist/cjs/ui/TableSelector/index.js +1 -1
  32. package/dist/cjs/ui-menu/ColorPickerButton/index.js +4 -4
  33. package/dist/cjs/ui-menu/DropdownMenu/index.js +6 -6
  34. package/dist/cjs/utils/commands.js +1 -2
  35. package/dist/es2019/card/ui/assets/card.js +1 -1
  36. package/dist/es2019/card/ui/assets/embed.js +1 -1
  37. package/dist/es2019/card/ui/assets/inline.js +1 -1
  38. package/dist/es2019/card/ui/assets/url.js +1 -1
  39. package/dist/es2019/extensibility/Extension/Extension/index.js +3 -3
  40. package/dist/es2019/extensibility/Extension/Lozenge/ExtensionLabel.js +1 -1
  41. package/dist/es2019/extensibility/Extension.js +1 -1
  42. package/dist/es2019/link/ConfigureLinkOverlay/Dropdown.js +2 -2
  43. package/dist/es2019/link/LinkPicker/HyperlinkAddToolbar/index.js +2 -2
  44. package/dist/es2019/link/LinkSearch/LinkSearchList.js +2 -2
  45. package/dist/es2019/link/LinkSearch/withActivityProvider.js +1 -1
  46. package/dist/es2019/media-inline/inline-image-card.js +1 -1
  47. package/dist/es2019/media-inline/media-inline-image-card.js +2 -2
  48. package/dist/es2019/media-single/CommentBadge.js +1 -1
  49. package/dist/es2019/media-single/CommentBadgeNext.js +1 -1
  50. package/dist/es2019/media-single/MediaBadges.js +1 -1
  51. package/dist/es2019/monitoring/error.js +1 -1
  52. package/dist/es2019/preset/core-plugin/index.js +34 -1
  53. package/dist/es2019/preset/core-plugin/pm-plugins/appearance-plugin.js +24 -0
  54. package/dist/es2019/preset/plugin-injection-api.js +25 -2
  55. package/dist/es2019/react-node-view/onVisibleObserverFactory.js +2 -0
  56. package/dist/es2019/resizer/BreakoutResizer.js +1 -1
  57. package/dist/es2019/resizer/Resizer.js +1 -1
  58. package/dist/es2019/toolbar/context.js +1 -1
  59. package/dist/es2019/ui/ContextPanel/context.js +1 -1
  60. package/dist/es2019/ui/DropList/index.js +1 -1
  61. package/dist/es2019/ui/FloatingToolbar/Button.js +2 -2
  62. package/dist/es2019/ui/Mention/index.js +1 -1
  63. package/dist/es2019/ui/ResizerLegacy/index.js +1 -1
  64. package/dist/es2019/ui/TableSelector/index.js +1 -1
  65. package/dist/es2019/ui-menu/ColorPickerButton/index.js +4 -4
  66. package/dist/es2019/ui-menu/DropdownMenu/index.js +6 -6
  67. package/dist/es2019/utils/commands.js +1 -2
  68. package/dist/esm/card/ui/assets/card.js +1 -1
  69. package/dist/esm/card/ui/assets/embed.js +1 -1
  70. package/dist/esm/card/ui/assets/inline.js +1 -1
  71. package/dist/esm/card/ui/assets/url.js +1 -1
  72. package/dist/esm/extensibility/Extension/Extension/index.js +3 -3
  73. package/dist/esm/extensibility/Extension/Lozenge/ExtensionLabel.js +1 -1
  74. package/dist/esm/extensibility/Extension.js +1 -1
  75. package/dist/esm/link/ConfigureLinkOverlay/Dropdown.js +2 -2
  76. package/dist/esm/link/LinkPicker/HyperlinkAddToolbar/index.js +2 -2
  77. package/dist/esm/link/LinkSearch/LinkSearchList.js +2 -2
  78. package/dist/esm/link/LinkSearch/withActivityProvider.js +1 -1
  79. package/dist/esm/media-inline/inline-image-card.js +1 -1
  80. package/dist/esm/media-inline/media-inline-image-card.js +2 -2
  81. package/dist/esm/media-single/CommentBadge.js +1 -1
  82. package/dist/esm/media-single/CommentBadgeNext.js +1 -1
  83. package/dist/esm/media-single/MediaBadges.js +1 -1
  84. package/dist/esm/monitoring/error.js +1 -1
  85. package/dist/esm/preset/core-plugin/index.js +36 -1
  86. package/dist/esm/preset/core-plugin/pm-plugins/appearance-plugin.js +28 -0
  87. package/dist/esm/preset/plugin-injection-api.js +27 -2
  88. package/dist/esm/react-node-view/onVisibleObserverFactory.js +2 -0
  89. package/dist/esm/resizer/BreakoutResizer.js +1 -1
  90. package/dist/esm/resizer/Resizer.js +1 -1
  91. package/dist/esm/toolbar/context.js +1 -1
  92. package/dist/esm/ui/ContextPanel/context.js +1 -1
  93. package/dist/esm/ui/DropList/index.js +1 -1
  94. package/dist/esm/ui/FloatingToolbar/Button.js +2 -2
  95. package/dist/esm/ui/Mention/index.js +1 -1
  96. package/dist/esm/ui/ResizerLegacy/index.js +1 -1
  97. package/dist/esm/ui/TableSelector/index.js +1 -1
  98. package/dist/esm/ui-menu/ColorPickerButton/index.js +4 -4
  99. package/dist/esm/ui-menu/DropdownMenu/index.js +6 -6
  100. package/dist/esm/utils/commands.js +1 -2
  101. package/dist/types/preset/core-plugin/pm-plugins/appearance-plugin.d.ts +9 -0
  102. package/dist/types/preset/plugin-injection-api.d.ts +11 -1
  103. package/dist/types/types/next-editor-plugin.d.ts +15 -0
  104. package/dist/types-ts4.5/preset/core-plugin/pm-plugins/appearance-plugin.d.ts +9 -0
  105. package/dist/types-ts4.5/preset/plugin-injection-api.d.ts +11 -1
  106. package/dist/types-ts4.5/types/next-editor-plugin.d.ts +15 -0
  107. package/package.json +3 -6
@@ -27,7 +27,7 @@ export const IconCard = ({
27
27
  }) => {
28
28
  return /*#__PURE__*/React.createElement(IconCardGlyph, {
29
29
  "aria-label": label
30
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
30
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
31
31
  ,
32
32
  style: {
33
33
  // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
@@ -27,7 +27,7 @@ export const IconEmbed = ({
27
27
  }) => {
28
28
  return /*#__PURE__*/React.createElement(IconEmbedGlyph, {
29
29
  "aria-label": label
30
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
30
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
31
31
  ,
32
32
  style: {
33
33
  // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
@@ -27,7 +27,7 @@ export const IconInline = ({
27
27
  }) => {
28
28
  return /*#__PURE__*/React.createElement(IconInlineGlyph, {
29
29
  "aria-label": label
30
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
30
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
31
31
  ,
32
32
  style: {
33
33
  // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
@@ -29,7 +29,7 @@ export const IconUrl = ({
29
29
  }) => {
30
30
  return /*#__PURE__*/React.createElement(IconUrlGlyph, {
31
31
  "aria-label": label
32
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
32
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
33
33
  ,
34
34
  style: {
35
35
  // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
@@ -149,10 +149,10 @@ function ExtensionWithPluginState(props) {
149
149
  return jsx(Fragment, null, expValEquals('cc_editor_lcm_readonly_initial', 'isEnabled', true) ? null : showLegacyContentHeader && jsx(LegacyContentHeader, {
150
150
  isNodeSelected: isNodeSelected,
151
151
  isNodeHovered: isNodeHovered
152
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
152
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
153
153
  ,
154
154
  onMouseEnter: () => handleMouseEvent(true)
155
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
155
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
156
156
  ,
157
157
  onMouseLeave: () => handleMouseEvent(false)
158
158
  }), !showLegacyContentHeader && showMacroInteractionDesignUpdates && !isLivePageViewMode && jsx(ExtensionLozenge, {
@@ -249,7 +249,7 @@ const Extension = props => {
249
249
 
250
250
  // Ignored via go/ees005
251
251
  return jsx(ExtensionWithPluginState
252
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
252
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
253
253
  , _extends({
254
254
  widthState: {
255
255
  width: width !== null && width !== void 0 ? width : 0,
@@ -181,7 +181,7 @@ export const ExtensionLabel = ({
181
181
  // Ignored via go/ees005
182
182
  // eslint-disable-next-line react/jsx-props-no-spreading
183
183
  , _extends({}, i18n.configure, {
184
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
184
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
185
185
  values: {
186
186
  macroName: text
187
187
  }
@@ -65,7 +65,7 @@ export class Extension extends Component {
65
65
  }
66
66
  render() {
67
67
  return /*#__PURE__*/React.createElement(WithProviders
68
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
68
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
69
69
  , {
70
70
  providers: ['extensionProvider'],
71
71
  providerFactory: this.providerFactory,
@@ -63,7 +63,7 @@ const Dropdown = ({
63
63
  focusEditor();
64
64
  }, [fireActionClickEvent, focusEditor, onConfigureClickCallback]);
65
65
  return jsx(DropdownMenu, {
66
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
66
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
67
67
  trigger: ({
68
68
  onClick,
69
69
  triggerRef,
@@ -77,7 +77,7 @@ const Dropdown = ({
77
77
  label: configureLinkLabel,
78
78
  size: "small"
79
79
  })
80
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
80
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
81
81
  ,
82
82
  onClick: e => {
83
83
  onClick === null || onClick === void 0 ? void 0 : onClick(e);
@@ -36,11 +36,11 @@ export function HyperlinkAddToolbar({
36
36
  isOffline
37
37
  }) {
38
38
  return /*#__PURE__*/React.createElement(WithProviders
39
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
39
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
40
40
  , {
41
41
  providers: ['activityProvider', 'searchProvider'],
42
42
  providerFactory: providerFactory
43
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
43
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
44
44
  ,
45
45
  renderNode: ({
46
46
  activityProvider,
@@ -51,7 +51,7 @@ const LinkSearchList = ({
51
51
  id: `link-search-list-item-${index}`,
52
52
  item: item,
53
53
  selected: selectedIndex === index
54
- // eslint-disable-next-line @atlassian/perf-linting/detect-unnecessary-rerenders, @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
54
+ // eslint-disable-next-line @atlassian/perf-linting/detect-unnecessary-rerenders, @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
55
55
  ,
56
56
  onFocus: () => onFocus === null || onFocus === void 0 ? void 0 : onFocus(index),
57
57
  onKeyDown: onKeyDown,
@@ -60,7 +60,7 @@ const LinkSearchList = ({
60
60
  onMouseLeave: onMouseLeave,
61
61
  onSelect: onSelect,
62
62
  key: item.objectId
63
- // eslint-disable-next-line @atlassian/perf-linting/detect-unnecessary-rerenders, @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
63
+ // eslint-disable-next-line @atlassian/perf-linting/detect-unnecessary-rerenders, @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
64
64
  ,
65
65
  ref: el => listItemRefCallback === null || listItemRefCallback === void 0 ? void 0 : listItemRefCallback(el, item.objectId)
66
66
  })));
@@ -29,7 +29,7 @@ export default function withActivityProvider(WrappedComponent) {
29
29
  providerFactory
30
30
  } = this.props;
31
31
  return /*#__PURE__*/React.createElement(WithProviders
32
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
32
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
33
33
  , {
34
34
  providers: ['activityProvider'],
35
35
  providerFactory: providerFactory,
@@ -53,7 +53,7 @@ export const InlineImageCard = ({
53
53
  dataURI: preview.dataURI,
54
54
  alt: alt,
55
55
  previewOrientation: preview.orientation
56
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
56
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
57
57
  ,
58
58
  onImageLoad: () => {
59
59
  onImageLoad(preview);
@@ -122,7 +122,7 @@ export const MediaInlineImageCardInternal = ({
122
122
  }, jsx(InlineImageCard, {
123
123
  dimensions: dimensions,
124
124
  identifier: identifier
125
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
125
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
126
126
  ,
127
127
  renderError: () => jsx(InlineImageCardErrorView, {
128
128
  message: formatMessage(messages.unableToLoadContent)
@@ -192,7 +192,7 @@ export const MediaInlineImageCardInternal = ({
192
192
  if (isMediaViewerVisible && mediaClient !== null && mediaClient !== void 0 && mediaClient.mediaClientConfig) {
193
193
  return /*#__PURE__*/ReactDOM.createPortal(jsx(MediaViewer, {
194
194
  collectionName: identifier.collectionName || ''
195
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
195
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
196
196
  ,
197
197
  items: [identifier],
198
198
  mediaClientConfig: mediaClient === null || mediaClient === void 0 ? void 0 : mediaClient.mediaClientConfig,
@@ -84,7 +84,7 @@ export const CommentBadge = /*#__PURE__*/forwardRef(({
84
84
  position: "top",
85
85
  content: title
86
86
  }, jsx(CustomThemeButton
87
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
87
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
88
88
  , {
89
89
  style: {
90
90
  // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
@@ -34,7 +34,7 @@ export const CommentBadgeNext = ({
34
34
  position: "top",
35
35
  content: title
36
36
  }, /*#__PURE__*/React.createElement(Pressable
37
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
37
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
38
38
  , {
39
39
  xcss: [baseStyles, mediumBadgeStyles],
40
40
  padding: "space.0",
@@ -78,7 +78,7 @@ export const MediaBadges = ({
78
78
  testId: "media-badges",
79
79
  "data-media-badges": "true",
80
80
  contentEditable: false
81
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
81
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
82
82
  ,
83
83
  xcss: [containerStyles, useMinimumZIndex && hackedZIndexStyles, extendedResizeOffset && resizeOffsetStyles]
84
84
  }, children);
@@ -4,7 +4,7 @@ import { isFedRamp } from './environment';
4
4
  import { normaliseSentryBreadcrumbs, SERIALIZABLE_ATTRIBUTES } from './normalise-sentry-breadcrumbs';
5
5
  const SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
6
6
  const packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
7
- const packageVersion = "112.8.0";
7
+ const packageVersion = "112.8.2";
8
8
  const sanitiseSentryEvents = (data, _hint) => {
9
9
  // Remove URL as it has UGC
10
10
  // Ignored via go/ees007
@@ -3,6 +3,7 @@ import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
3
3
  import { getNodeIdProvider } from '../../node-anchor/node-anchor-provider';
4
4
  import { processRawFragmentValue, processRawValue, processRawValueWithoutValidation } from '../../utils/processRawValue';
5
5
  import { editorCommandToPMCommand } from '../editor-commands';
6
+ import { appearancePluginKey, createAppearancePlugin } from './pm-plugins/appearance-plugin';
6
7
  import { createThrottleSchedule, returnDocumentRequest, returnDocumentRequestNoThrowError } from './requestDocument';
7
8
 
8
9
  /**
@@ -18,10 +19,21 @@ export const corePlugin = ({
18
19
  return {
19
20
  name: 'core',
20
21
  getSharedState(state) {
22
+ const pluginState = state && appearancePluginKey.getState(state);
21
23
  return {
22
- schema: state === null || state === void 0 ? void 0 : state.schema
24
+ schema: state === null || state === void 0 ? void 0 : state.schema,
25
+ appearance: expValEquals('platform_editor_appearance_shared_state', 'isEnabled', true) ? pluginState === null || pluginState === void 0 ? void 0 : pluginState.appearance : undefined
23
26
  };
24
27
  },
28
+ pmPlugins() {
29
+ if (expValEquals('platform_editor_appearance_shared_state', 'isEnabled', true)) {
30
+ return [{
31
+ name: 'appearancePlugin',
32
+ plugin: () => createAppearancePlugin(config === null || config === void 0 ? void 0 : config.appearance)
33
+ }];
34
+ }
35
+ return [];
36
+ },
25
37
  actions: {
26
38
  execute: command => {
27
39
  const editorView = config === null || config === void 0 ? void 0 : config.getEditorView();
@@ -82,6 +94,27 @@ export const corePlugin = ({
82
94
  dom.scrollIntoView(scrollOptions);
83
95
  return true;
84
96
  },
97
+ updateAppearance: newAppearance => {
98
+ var _appearancePluginKey$;
99
+ if (!expValEquals('platform_editor_appearance_shared_state', 'isEnabled', true)) {
100
+ return false;
101
+ }
102
+ const editorView = config === null || config === void 0 ? void 0 : config.getEditorView();
103
+ if (!editorView) {
104
+ return false;
105
+ }
106
+ // Avoid dispatching a redundant transaction if appearance hasn't changed
107
+ const currentAppearance = (_appearancePluginKey$ = appearancePluginKey.getState(editorView.state)) === null || _appearancePluginKey$ === void 0 ? void 0 : _appearancePluginKey$.appearance;
108
+ if (currentAppearance === newAppearance) {
109
+ return false;
110
+ }
111
+ const tr = editorView.state.tr.setMeta(appearancePluginKey, {
112
+ appearance: newAppearance
113
+ });
114
+ tr.setMeta('addToHistory', false);
115
+ editorView.dispatch(tr);
116
+ return true;
117
+ },
85
118
  replaceDocument: (replaceValue, options) => {
86
119
  const editorView = config === null || config === void 0 ? void 0 : config.getEditorView();
87
120
  if (!editorView || replaceValue === undefined || replaceValue === null) {
@@ -0,0 +1,24 @@
1
+ import { PluginKey } from '@atlaskit/editor-prosemirror/state';
2
+ import { SafePlugin } from '../../../safe-plugin';
3
+ export const appearancePluginKey = new PluginKey('appearancePlugin');
4
+ const DEFAULT_APPEARANCE = 'comment';
5
+ export function createAppearancePlugin(initialAppearance) {
6
+ return new SafePlugin({
7
+ key: appearancePluginKey,
8
+ state: {
9
+ init: () => ({
10
+ appearance: initialAppearance !== null && initialAppearance !== void 0 ? initialAppearance : DEFAULT_APPEARANCE
11
+ }),
12
+ apply: (tr, pluginState) => {
13
+ const meta = tr.getMeta(appearancePluginKey);
14
+ if ((meta === null || meta === void 0 ? void 0 : meta.appearance) !== undefined) {
15
+ return {
16
+ ...pluginState,
17
+ appearance: meta.appearance
18
+ };
19
+ }
20
+ return pluginState;
21
+ }
22
+ }
23
+ });
24
+ }
@@ -211,7 +211,8 @@ export class EditorPluginInjectionAPI {
211
211
  constructor({
212
212
  getEditorState,
213
213
  getEditorView,
214
- fireAnalyticsEvent
214
+ fireAnalyticsEvent,
215
+ appearance
215
216
  }) {
216
217
  _defineProperty(this, "onEditorViewUpdated", ({
217
218
  newEditorState,
@@ -246,14 +247,36 @@ export class EditorPluginInjectionAPI {
246
247
  this.plugins = new Map();
247
248
  this.actionsAPI = new ActionsAPI();
248
249
  this.commandsAPI = new EditorCommandsAPI();
250
+
249
251
  // Special core plugin that is always added
250
252
  this.addPlugin(corePlugin({
251
253
  config: {
252
254
  getEditorView,
253
- fireAnalyticsEvent
255
+ fireAnalyticsEvent,
256
+ appearance
254
257
  }
255
258
  }));
256
259
  }
260
+
261
+ /**
262
+ * Returns PM plugins from internally-registered plugins (e.g. the core plugin)
263
+ * that are not processed through the normal preset builder flow.
264
+ */
265
+ // Ignored via go/ees005
266
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
267
+ getInternalPMPlugins() {
268
+ // Ignored via go/ees005
269
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
270
+ const result = [];
271
+ const corePlugin = this.plugins.get('core');
272
+ if (corePlugin && typeof corePlugin.pmPlugins === 'function') {
273
+ const pmPlugins = corePlugin.pmPlugins();
274
+ if (pmPlugins) {
275
+ result.push(...pmPlugins);
276
+ }
277
+ }
278
+ return result;
279
+ }
257
280
  createAPI() {
258
281
  const {
259
282
  sharedStateAPI,
@@ -1,3 +1,5 @@
1
+ // oxlint-disable-next-line @atlassian/no-restricted-imports
2
+
1
3
  import memoize from 'lodash/memoize';
2
4
  // Use this selector to set the intersection observer boundary for editor's inline node views
3
5
  // If this does not exist, it will use the IntersectionObserver's default root
@@ -326,7 +326,7 @@ const BreakoutResizer = ({
326
326
  }
327
327
  return /*#__PURE__*/React.createElement(Resizer, {
328
328
  ref: resizerRef
329
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
329
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
330
330
  ,
331
331
  enable: {
332
332
  left: true,
@@ -201,7 +201,7 @@ const ResizerNext = (props, ref) => {
201
201
  }, [snap, snapGap]);
202
202
  return /*#__PURE__*/React.createElement(Resizable, _extends({
203
203
  ref: resizable
204
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
204
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
205
205
  ,
206
206
  size: {
207
207
  width: width !== null && width !== void 0 ? width : 'auto',
@@ -25,7 +25,7 @@ export const EditorToolbarProvider = ({
25
25
  isOffline
26
26
  }) => {
27
27
  return /*#__PURE__*/React.createElement(EditorToolbarContext.Provider, {
28
- // eslint-disable-next-line @atlassian/perf-linting/no-inline-context-value, @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
28
+ // eslint-disable-next-line @atlassian/perf-linting/no-inline-context-value, @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
29
29
  value: {
30
30
  editorView,
31
31
  editorAppearance,
@@ -54,7 +54,7 @@ export class ContextPanelWidthProvider extends React.Component {
54
54
  positionedOverEditor
55
55
  } = this.state;
56
56
  return /*#__PURE__*/React.createElement(Provider
57
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
57
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
58
58
  , {
59
59
  value: {
60
60
  width,
@@ -14,7 +14,7 @@ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
14
14
  import { fg } from '@atlaskit/platform-feature-flags';
15
15
  import Layer from '../Layer';
16
16
  const packageName = "@atlaskit/editor-common";
17
- const packageVersion = "112.8.0";
17
+ const packageVersion = "112.8.2";
18
18
  const halfFocusRing = 1;
19
19
  const dropOffset = '0, 8';
20
20
  const fadeIn = keyframes({
@@ -82,7 +82,7 @@ const FloatingToolbarButton = ({
82
82
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop, @atlaskit/design-system/no-unsafe-style-overrides -- Ignored via go/DSP-18766
83
83
  , {
84
84
  className: className
85
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
85
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
86
86
  ,
87
87
  ref: buttonElement => {
88
88
  setSpotlightReferenceElement(buttonElement);
@@ -94,7 +94,7 @@ const FloatingToolbarButton = ({
94
94
  }
95
95
  }
96
96
  }
97
- // eslint-disable-next-line @atlaskit/design-system/no-unsafe-style-overrides, @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
97
+ // eslint-disable-next-line @atlaskit/design-system/no-unsafe-style-overrides, @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
98
98
  ,
99
99
  theme: (adgTheme, themeProps) => {
100
100
  const {
@@ -39,7 +39,7 @@ export default class Mention extends PureComponent {
39
39
  }
40
40
  render() {
41
41
  return /*#__PURE__*/React.createElement(WithProviders
42
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
42
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
43
43
  , {
44
44
  providers: ['mentionProvider', 'profilecardProvider'],
45
45
  providerFactory: this.providerFactory,
@@ -186,7 +186,7 @@ export default class Resizer extends React.Component {
186
186
  // the div. For now, we just apply the same styles using CSS
187
187
  return /*#__PURE__*/React.createElement(Resizable, {
188
188
  ref: this.resizable
189
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
189
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
190
190
  ,
191
191
  size: {
192
192
  width: nonZeroWidth,
@@ -237,7 +237,7 @@ export const TableSelectorPopup = props => {
237
237
  }, [handleMouseMove, props.allowOutsideSelection, tablePopupRef]);
238
238
  return jsx(Popup, {
239
239
  target: props.target
240
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
240
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
241
241
  ,
242
242
  offset: [0, 3],
243
243
  mountTo: props.popupsMountPoint,
@@ -139,7 +139,7 @@ const ColorPickerButton = props => {
139
139
  target: buttonRef.current,
140
140
  fitHeight: 350,
141
141
  fitWidth: 350
142
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
142
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
143
143
  ,
144
144
  offset: [0, 10],
145
145
  alignX: props.alignX,
@@ -160,7 +160,7 @@ const ColorPickerButton = props => {
160
160
  selectedRowIndex: selectedRowIndex,
161
161
  selectedColumnIndex: selectedColumnIndex,
162
162
  closeOnTab: true
163
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
163
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
164
164
  ,
165
165
  handleClose: () => setIsPopupOpen(false),
166
166
  isOpenedByKeyboard: isOpenedByKeyboard,
@@ -172,7 +172,7 @@ const ColorPickerButton = props => {
172
172
  onClick: onColorSelected,
173
173
  handleClickOutside: togglePopup,
174
174
  handleEscapeKeydown: handleEsc
175
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
175
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
176
176
  ,
177
177
  paletteOptions: {
178
178
  palette: props.colorPalette,
@@ -222,7 +222,7 @@ const ColorPickerButton = props => {
222
222
  "aria-expanded": props.isAriaExpanded ? isPopupOpen : undefined,
223
223
  spacing: editorExperiment('platform_editor_controls', 'variant1') ? 'default' : 'compact',
224
224
  onClick: togglePopup
225
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
225
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
226
226
  ,
227
227
  onKeyDown: event => {
228
228
  if (event.key === 'Enter' || event.key === ' ') {
@@ -231,7 +231,7 @@ export default class DropdownMenuWrapper extends PureComponent {
231
231
  shouldFitContainer: true,
232
232
  handleClickOutside: this.handleClose,
233
233
  handleEscapeKeydown: handleEscapeKeydown || this.handleCloseAndFocus
234
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
234
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
235
235
  ,
236
236
  handleEnterKeydown: e => {
237
237
  if (!allowEnterDefaultBehavior) {
@@ -363,7 +363,7 @@ export function DropdownMenuItem({
363
363
  iconBefore: item.elemBefore,
364
364
  iconAfter: item.elemAfter,
365
365
  isDisabled: item.isDisabled
366
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
366
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
367
367
  ,
368
368
  onClick: () => onItemActivated && onItemActivated({
369
369
  item
@@ -371,18 +371,18 @@ export function DropdownMenuItem({
371
371
  "aria-label": ariaLabel,
372
372
  "aria-pressed": shouldUseDefaultRole ? item.isActive : undefined,
373
373
  "aria-keyshortcuts": item['aria-keyshortcuts']
374
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
374
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
375
375
  ,
376
376
  onMouseDown: e => {
377
377
  e.preventDefault();
378
378
  },
379
379
  component: DropdownMenuItemCustomComponent
380
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
380
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
381
381
  ,
382
382
  onMouseEnter: () => onMouseEnter && onMouseEnter({
383
383
  item
384
384
  })
385
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
385
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
386
386
  ,
387
387
  onMouseLeave: () => onMouseLeave && onMouseLeave({
388
388
  item
@@ -410,7 +410,7 @@ export const DropdownMenuWithKeyboardNavigation = /*#__PURE__*/React.memo(
410
410
  // This context is to handle the tab, Arrow Right/Left key events for dropdown.
411
411
  // Default context has the void callbacks for above key events
412
412
  return jsx(DropdownMenuWrapper
413
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
413
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
414
414
  , _extends({
415
415
  arrowKeyNavigationProviderOptions: {
416
416
  ...props.arrowKeyNavigationProviderOptions,
@@ -1,6 +1,5 @@
1
1
  import { Fragment } from '@atlaskit/editor-prosemirror/model';
2
2
  import { NodeSelection, TextSelection } from '@atlaskit/editor-prosemirror/state';
3
- import { fg } from '@atlaskit/platform-feature-flags';
4
3
  import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
5
4
  import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE } from '../analytics';
6
5
  import { withAnalytics } from '../editor-analytics';
@@ -332,7 +331,7 @@ export const isEmptySelectionAtEnd = state => {
332
331
 
333
332
  // If blockTaskItem is in the schema,
334
333
  // we need to check if the selection is inside a blockTaskItem
335
- if (blockTaskItem && empty && fg('platform_editor_blocktaskitem_patch_3')) {
334
+ if (blockTaskItem && empty) {
336
335
  // If the parent is in a textblock,
337
336
  // check if it's nested inside a blockTaskItem
338
337
  if ($from.parent.isTextblock) {
@@ -25,7 +25,7 @@ export var IconCard = function IconCard(_ref2) {
25
25
  var label = _ref2.label;
26
26
  return /*#__PURE__*/React.createElement(IconCardGlyph, {
27
27
  "aria-label": label
28
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
28
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
29
29
  ,
30
30
  style: {
31
31
  // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
@@ -25,7 +25,7 @@ export var IconEmbed = function IconEmbed(_ref2) {
25
25
  var label = _ref2.label;
26
26
  return /*#__PURE__*/React.createElement(IconEmbedGlyph, {
27
27
  "aria-label": label
28
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
28
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
29
29
  ,
30
30
  style: {
31
31
  // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
@@ -25,7 +25,7 @@ export var IconInline = function IconInline(_ref2) {
25
25
  var label = _ref2.label;
26
26
  return /*#__PURE__*/React.createElement(IconInlineGlyph, {
27
27
  "aria-label": label
28
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
28
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
29
29
  ,
30
30
  style: {
31
31
  // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
@@ -27,7 +27,7 @@ export var IconUrl = function IconUrl(_ref2) {
27
27
  var label = _ref2.label;
28
28
  return /*#__PURE__*/React.createElement(IconUrlGlyph, {
29
29
  "aria-label": label
30
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
30
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
31
31
  ,
32
32
  style: {
33
33
  // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
@@ -142,12 +142,12 @@ function ExtensionWithPluginState(props) {
142
142
  return jsx(Fragment, null, expValEquals('cc_editor_lcm_readonly_initial', 'isEnabled', true) ? null : showLegacyContentHeader && jsx(LegacyContentHeader, {
143
143
  isNodeSelected: isNodeSelected,
144
144
  isNodeHovered: isNodeHovered
145
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
145
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
146
146
  ,
147
147
  onMouseEnter: function onMouseEnter() {
148
148
  return handleMouseEvent(true);
149
149
  }
150
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
150
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
151
151
  ,
152
152
  onMouseLeave: function onMouseLeave() {
153
153
  return handleMouseEvent(false);
@@ -247,7 +247,7 @@ var Extension = function Extension(props) {
247
247
 
248
248
  // Ignored via go/ees005
249
249
  return jsx(ExtensionWithPluginState
250
- // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
250
+ // eslint-disable-next-line @atlassian/perf-linting/no-unstable-inline-props -- Ignored via go/ees017 (to be fixed)
251
251
  , _extends({
252
252
  widthState: {
253
253
  width: width !== null && width !== void 0 ? width : 0,