@atlaskit/editor-common 111.30.1 → 111.30.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 (49) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/experiences/ExperienceCheckDomMutation.js +27 -5
  3. package/dist/cjs/experiences/experience-utils.js +41 -1
  4. package/dist/cjs/experiences/index.js +6 -0
  5. package/dist/cjs/extensibility/Extension/Extension/index.js +1 -2
  6. package/dist/cjs/messages/paste-options-toolbar.js +15 -0
  7. package/dist/cjs/monitoring/error.js +1 -1
  8. package/dist/cjs/preset/core-plugin/requestDocument.js +2 -5
  9. package/dist/cjs/toolbar/index.js +66 -0
  10. package/dist/cjs/toolbar/keys.js +34 -2
  11. package/dist/cjs/toolbar/rank.js +10 -2
  12. package/dist/cjs/ui/DropList/index.js +1 -1
  13. package/dist/es2019/experiences/ExperienceCheckDomMutation.js +15 -7
  14. package/dist/es2019/experiences/experience-utils.js +43 -0
  15. package/dist/es2019/experiences/index.js +1 -1
  16. package/dist/es2019/extensibility/Extension/Extension/index.js +1 -2
  17. package/dist/es2019/messages/paste-options-toolbar.js +15 -0
  18. package/dist/es2019/monitoring/error.js +1 -1
  19. package/dist/es2019/preset/core-plugin/requestDocument.js +2 -5
  20. package/dist/es2019/toolbar/index.js +2 -2
  21. package/dist/es2019/toolbar/keys.js +32 -0
  22. package/dist/es2019/toolbar/rank.js +19 -1
  23. package/dist/es2019/ui/DropList/index.js +1 -1
  24. package/dist/esm/experiences/ExperienceCheckDomMutation.js +27 -5
  25. package/dist/esm/experiences/experience-utils.js +40 -0
  26. package/dist/esm/experiences/index.js +1 -1
  27. package/dist/esm/extensibility/Extension/Extension/index.js +1 -2
  28. package/dist/esm/messages/paste-options-toolbar.js +15 -0
  29. package/dist/esm/monitoring/error.js +1 -1
  30. package/dist/esm/preset/core-plugin/requestDocument.js +2 -5
  31. package/dist/esm/toolbar/index.js +2 -2
  32. package/dist/esm/toolbar/keys.js +32 -0
  33. package/dist/esm/toolbar/rank.js +10 -2
  34. package/dist/esm/ui/DropList/index.js +1 -1
  35. package/dist/types/experiences/ExperienceCheckDomMutation.d.ts +11 -5
  36. package/dist/types/experiences/experience-utils.d.ts +15 -0
  37. package/dist/types/experiences/index.d.ts +1 -1
  38. package/dist/types/messages/paste-options-toolbar.d.ts +15 -0
  39. package/dist/types/toolbar/index.d.ts +2 -2
  40. package/dist/types/toolbar/keys.d.ts +31 -0
  41. package/dist/types/toolbar/rank.d.ts +17 -0
  42. package/dist/types-ts4.5/experiences/ExperienceCheckDomMutation.d.ts +11 -5
  43. package/dist/types-ts4.5/experiences/experience-utils.d.ts +15 -0
  44. package/dist/types-ts4.5/experiences/index.d.ts +1 -1
  45. package/dist/types-ts4.5/messages/paste-options-toolbar.d.ts +15 -0
  46. package/dist/types-ts4.5/toolbar/index.d.ts +2 -2
  47. package/dist/types-ts4.5/toolbar/keys.d.ts +31 -0
  48. package/dist/types-ts4.5/toolbar/rank.d.ts +17 -0
  49. package/package.json +3 -3
@@ -1,4 +1,4 @@
1
- import { AI_SECTION, APPS_SECTION, COLLAB_SECTION, IMPROVE_WRITING_GROUP, IMPROVE_WRITING_BUTTON, HERO_PROMPT_BUTTON_GROUP, HERO_PROMPT_BUTTON, HERO_PROMPT_MENU_ITEM, LINKING_SECTION, OVERFLOW_SECTION, ROVO_GROUP, ROVO_HERO_BUTTON, ROVO_MENU, TEXT_SECTION, MAKE_SHORTER_MENU_ITEM, MAKE_LONGER_MENU_ITEM, SPELLING_AND_GRAMMAR_MENU_ITEM, CHANGE_TONE_NESTED_MENU, CHANGE_TONE_MENU_SECTION, MORE_PROFESSIONAL_MENU_ITEM, MORE_CASUAL_MENU_ITEM, MORE_EMPATHETIC_MENU_ITEM, TRANSLATE_NESTED_MENU, COMMENT_GROUP, COMMENT_HERO_BUTTON, ROVO_PROMPT_MENU_SECTION, TRANSLATE_MENU_SECTION, TEXT_FORMATTING_GROUP, TEXT_FORMATTING_HERO_BUTTON, TEXT_FORMATTING_HERO_BUTTON_COLLAPSED, BOLD_BUTTON_GROUP, UNDERLINE_BUTTON_GROUP, TEXT_FORMATTING_MENU, TEXT_FORMATTING_MENU_SECTION, TEXT_STYLES_GROUP, TEXT_STYLES_MENU, TEXT_STYLES_MENU_SECTION, NORMAL_TEXT_MENU_ITEM, HEADING_1_MENU_ITEM, HEADING_2_MENU_ITEM, HEADING_3_MENU_ITEM, HEADING_4_MENU_ITEM, HEADING_5_MENU_ITEM, HEADING_6_MENU_ITEM, BLOCK_QUOTE_MENU_ITEM, UNDERLINE_MENU_ITEM, ITALIC_MENU_ITEM, STRIKE_MENU_ITEM, BOLD_MENU_ITEM, CODE_MENU_ITEM, SUBSCRIPT_MENU_ITEM, SUPERSCRIPT_MENU_ITEM, CLEAR_FORMARTTING_MENU_SECTION, CLEAR_FORMATTING_MENU_ITEM, TEXT_COLOR_HIGHLIGHT_GROUP, TEXT_COLOR_MENU_ITEM, HIGHLIGHT_MENU_ITEM, CLEAR_COLOR_MENU_ITEM, TEXT_COLOR_HIGHLIGHT_MENU, TEXT_COLOR_HIGHLIGHT_MENU_SECTION, PIN_MENU_ITEM, PIN_MENU_SECTION, OVERFLOW_MENU, OVERFLOW_GROUP, LINKING_GROUP, LINKING_BUTTON, ALIGNMENT_MENU, ALIGNMENT_GROUP, ALIGNMENT_MENU_SECTION, ALIGN_LEFT_MENU_ITEM, ALIGN_CENTER_MENU_ITEM, ALIGN_RIGHT_MENU_ITEM, LISTS_INDENTATION_GROUP, BULLETED_LIST_BUTTON, LISTS_INDENTATION_HERO_BUTTON, LISTS_INDENTATION_MENU, LISTS_INDENTATION_MENU_SECTION, NUMBERED_LIST_MENU_ITEM, BULLETED_LIST_MENU_ITEM, TASK_LIST_MENU_ITEM, OUTDENT_MENU_ITEM, INDENT_MENU_ITEM, TASK_LIST_GROUP, MEDIA_GROUP, MENTION_GROUP, LAYOUT_GROUP, TABLE_GROUP, EMOJI_GROUP, INSERT_BLOCK_SECTION, TASK_LIST_BUTTON, MEDIA_BUTTON, MENTION_BUTTON, EMOJI_BUTTON, LAYOUT_BUTTON, TABLE_BUTTON, TABLE_SIZE_PICKER, INSERT_GROUP, INSERT_BUTTON, TRACK_CHANGES_SECTION, UNDO_BUTTON, REDO_BUTTON, TRACK_CHANGES_BUTTON, UNDO_CHANGES_GROUP, REDO_CHANGES_GROUP, TRACK_CHANGES_GROUP, PIN_SECTION, PIN_BUTTON, PIN_GROUP, LOOM_MENU_SECTION, LOOM_MENU_ITEM, OVERFLOW_SECTION_PRIMARY_TOOLBAR, OVERFLOW_GROUP_PRIMARY_TOOLBAR, OVERFLOW_MENU_PRIMARY_TOOLBAR, TEXT_SECTION_COLLAPSED, TEXT_COLLAPSED_GROUP, TEXT_COLLAPSED_MENU, SELECTION_EXTENSION_MENU_SECTION, DEFINE_MENU_ITEM, DEFINE_BUTTON, DEFINE_GROUP, AI_VIEW_SECTION, LISTS_INDENTATION_HERO_BUTTON_COLLAPSED, BULLETED_LIST_BUTTON_GROUP, CODE_BLOCK_BUTTON, CODE_BLOCK_GROUP, IMPROVE_WRITING_MENU_ITEM, ROVO_MENU_DISPLAY_SMALL, ROVO_PROMPT_MENU_SECTION_DISPLAY_SMALL, ROVO_GROUP_DISPLAY_SMALL, ROVO_GROUP_PRIMARY_TOOLBAR, ROVO_WRITE_BUTTON_PRIMARY_TOOLBAR, SYNCED_BLOCK_GROUP, SYNCED_BLOCK_SECTION, SYNCED_BLOCK_BUTTON, ADD_POLISH_MENU_ITEM, OVERFLOW_EXTENSIONS_MENU_SECTION, FIRST_PARTY_EXTENSIONS_MENU_ITEM, EXTERNAL_EXTENSIONS_MENU_ITEM } from './keys';
1
+ import { AI_SECTION, APPS_SECTION, COLLAB_SECTION, IMPROVE_WRITING_GROUP, IMPROVE_WRITING_BUTTON, HERO_PROMPT_BUTTON_GROUP, HERO_PROMPT_BUTTON, HERO_PROMPT_MENU_ITEM, LINKING_SECTION, OVERFLOW_SECTION, ROVO_GROUP, ROVO_HERO_BUTTON, ROVO_MENU, TEXT_SECTION, MAKE_SHORTER_MENU_ITEM, MAKE_LONGER_MENU_ITEM, SPELLING_AND_GRAMMAR_MENU_ITEM, CHANGE_TONE_NESTED_MENU, CHANGE_TONE_MENU_SECTION, MORE_PROFESSIONAL_MENU_ITEM, MORE_CASUAL_MENU_ITEM, MORE_EMPATHETIC_MENU_ITEM, TRANSLATE_NESTED_MENU, COMMENT_GROUP, COMMENT_HERO_BUTTON, ROVO_PROMPT_MENU_SECTION, TRANSLATE_MENU_SECTION, TEXT_FORMATTING_GROUP, TEXT_FORMATTING_HERO_BUTTON, TEXT_FORMATTING_HERO_BUTTON_COLLAPSED, BOLD_BUTTON_GROUP, UNDERLINE_BUTTON_GROUP, TEXT_FORMATTING_MENU, TEXT_FORMATTING_MENU_SECTION, TEXT_STYLES_GROUP, TEXT_STYLES_MENU, TEXT_STYLES_MENU_SECTION, NORMAL_TEXT_MENU_ITEM, HEADING_1_MENU_ITEM, HEADING_2_MENU_ITEM, HEADING_3_MENU_ITEM, HEADING_4_MENU_ITEM, HEADING_5_MENU_ITEM, HEADING_6_MENU_ITEM, BLOCK_QUOTE_MENU_ITEM, UNDERLINE_MENU_ITEM, ITALIC_MENU_ITEM, STRIKE_MENU_ITEM, BOLD_MENU_ITEM, CODE_MENU_ITEM, SUBSCRIPT_MENU_ITEM, SUPERSCRIPT_MENU_ITEM, CLEAR_FORMARTTING_MENU_SECTION, CLEAR_FORMATTING_MENU_ITEM, TEXT_COLOR_HIGHLIGHT_GROUP, TEXT_COLOR_MENU_ITEM, HIGHLIGHT_MENU_ITEM, CLEAR_COLOR_MENU_ITEM, TEXT_COLOR_HIGHLIGHT_MENU, TEXT_COLOR_HIGHLIGHT_MENU_SECTION, PIN_MENU_ITEM, PIN_MENU_SECTION, OVERFLOW_MENU, OVERFLOW_GROUP, LINKING_GROUP, LINKING_BUTTON, ALIGNMENT_MENU, ALIGNMENT_GROUP, ALIGNMENT_MENU_SECTION, ALIGN_LEFT_MENU_ITEM, ALIGN_CENTER_MENU_ITEM, ALIGN_RIGHT_MENU_ITEM, LISTS_INDENTATION_GROUP, BULLETED_LIST_BUTTON, LISTS_INDENTATION_HERO_BUTTON, LISTS_INDENTATION_MENU, LISTS_INDENTATION_MENU_SECTION, NUMBERED_LIST_MENU_ITEM, BULLETED_LIST_MENU_ITEM, TASK_LIST_MENU_ITEM, OUTDENT_MENU_ITEM, INDENT_MENU_ITEM, TASK_LIST_GROUP, MEDIA_GROUP, MENTION_GROUP, LAYOUT_GROUP, TABLE_GROUP, EMOJI_GROUP, INSERT_BLOCK_SECTION, TASK_LIST_BUTTON, MEDIA_BUTTON, MENTION_BUTTON, EMOJI_BUTTON, LAYOUT_BUTTON, TABLE_BUTTON, TABLE_SIZE_PICKER, INSERT_GROUP, INSERT_BUTTON, TRACK_CHANGES_SECTION, UNDO_BUTTON, REDO_BUTTON, TRACK_CHANGES_BUTTON, UNDO_CHANGES_GROUP, REDO_CHANGES_GROUP, TRACK_CHANGES_GROUP, PIN_SECTION, PIN_BUTTON, PIN_GROUP, LOOM_MENU_SECTION, LOOM_MENU_ITEM, OVERFLOW_SECTION_PRIMARY_TOOLBAR, OVERFLOW_GROUP_PRIMARY_TOOLBAR, OVERFLOW_MENU_PRIMARY_TOOLBAR, TEXT_SECTION_COLLAPSED, TEXT_COLLAPSED_GROUP, TEXT_COLLAPSED_MENU, SELECTION_EXTENSION_MENU_SECTION, DEFINE_MENU_ITEM, DEFINE_BUTTON, DEFINE_GROUP, AI_VIEW_SECTION, LISTS_INDENTATION_HERO_BUTTON_COLLAPSED, BULLETED_LIST_BUTTON_GROUP, CODE_BLOCK_BUTTON, CODE_BLOCK_GROUP, IMPROVE_WRITING_MENU_ITEM, ROVO_MENU_DISPLAY_SMALL, ROVO_PROMPT_MENU_SECTION_DISPLAY_SMALL, ROVO_GROUP_DISPLAY_SMALL, ROVO_GROUP_PRIMARY_TOOLBAR, ROVO_WRITE_BUTTON_PRIMARY_TOOLBAR, SYNCED_BLOCK_GROUP, SYNCED_BLOCK_SECTION, SYNCED_BLOCK_BUTTON, ADD_POLISH_MENU_ITEM, OVERFLOW_EXTENSIONS_MENU_SECTION, FIRST_PARTY_EXTENSIONS_MENU_ITEM, EXTERNAL_EXTENSIONS_MENU_ITEM, PASTE_MENU_SECTION, PASTE_NESTED_MENU, PASTE_MENU_NESTED_SECTION, PASTE_RICH_TEXT_MENU_ITEM, PASTE_MARKDOWN_MENU_ITEM, PASTE_PLAIN_TEXT_MENU_ITEM } from './keys';
2
2
  export const TOOLBAR_RANK = {
3
3
  [AI_SECTION.key]: 100,
4
4
  [AI_VIEW_SECTION.key]: 100,
@@ -344,4 +344,22 @@ export const PIN_GROUP_RANK = {
344
344
  */
345
345
  export const LOOM_MENU_SECTION_RANK = {
346
346
  [LOOM_MENU_ITEM.key]: 100
347
+ };
348
+
349
+ /**
350
+ * Paste options section
351
+ */
352
+ export const PASTE_MENU_RANK = {
353
+ [PASTE_MENU_SECTION.key]: 100
354
+ };
355
+ export const PASTE_MENU_SECTION_RANK = {
356
+ [PASTE_NESTED_MENU.key]: 100
357
+ };
358
+ export const PASTE_NESTED_MENU_RANK = {
359
+ [PASTE_MENU_NESTED_SECTION.key]: 100
360
+ };
361
+ export const PASTE_MENU_NESTED_SECTION_RANK = {
362
+ [PASTE_RICH_TEXT_MENU_ITEM.key]: 100,
363
+ [PASTE_MARKDOWN_MENU_ITEM.key]: 200,
364
+ [PASTE_PLAIN_TEXT_MENU_ITEM.key]: 300
347
365
  };
@@ -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 = "111.30.0";
17
+ const packageVersion = "111.30.2";
18
18
  const halfFocusRing = 1;
19
19
  const dropOffset = '0, 8';
20
20
  const fadeIn = keyframes({
@@ -1,5 +1,8 @@
1
1
  import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
2
2
  import _createClass from "@babel/runtime/helpers/createClass";
3
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
4
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
5
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
3
6
  import { EXPERIENCE_FAILURE_REASON } from './consts';
4
7
  /**
5
8
  * Check for the completion of an experience based on DOM mutations
@@ -22,8 +25,12 @@ export var ExperienceCheckDomMutation = /*#__PURE__*/function () {
22
25
  value: function start(callback) {
23
26
  var _this = this;
24
27
  this.stop();
25
- var config = this.observeConfig();
26
- if (!(config !== null && config !== void 0 && config.target)) {
28
+ var configResult = this.observeConfig();
29
+ var configs = Array.isArray(configResult) ? configResult : [configResult];
30
+ var validConfigs = configs.filter(function (config) {
31
+ return !!(config !== null && config !== void 0 && config.target);
32
+ });
33
+ if (validConfigs.length === 0) {
27
34
  callback({
28
35
  status: 'failure',
29
36
  reason: EXPERIENCE_FAILURE_REASON.DOM_MUTATION_TARGET_NOT_FOUND
@@ -45,9 +52,24 @@ export var ExperienceCheckDomMutation = /*#__PURE__*/function () {
45
52
  });
46
53
  }
47
54
  });
48
- var target = config.target,
49
- options = config.options;
50
- this.mutationObserver.observe(target, options);
55
+ var _iterator = _createForOfIteratorHelper(validConfigs),
56
+ _step;
57
+ try {
58
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
59
+ var config = _step.value;
60
+ var target = config.target,
61
+ options = config.options;
62
+ if (target) {
63
+ this.mutationObserver.observe(target, options !== null && options !== void 0 ? options : {
64
+ childList: true
65
+ });
66
+ }
67
+ }
68
+ } catch (err) {
69
+ _iterator.e(err);
70
+ } finally {
71
+ _iterator.f();
72
+ }
51
73
  }
52
74
  }, {
53
75
  key: "stop",
@@ -1,3 +1,43 @@
1
+ /**
2
+ * Finds the direct child of the ProseMirror root element that contains the current selection.
3
+ *
4
+ * Starting from the DOM node at the selection position, this function walks up the DOM tree
5
+ * until it reaches the ProseMirror root, then returns the last element before the root
6
+ * (i.e., the second top-level ancestor).
7
+ *
8
+ * This is useful for attaching MutationObservers to the narrowest subtree that contains
9
+ * the selection, while still capturing all relevant mutations within that branch.
10
+ *
11
+ * @param editorView - The ProseMirror EditorView instance
12
+ * @returns The direct child of PM root containing the selection, or null if not found
13
+ */
14
+ export var getSelectionAncestorDOM = function getSelectionAncestorDOM(editorView) {
15
+ if (!editorView) {
16
+ return null;
17
+ }
18
+ var pmDom = editorView.dom;
19
+ var selection = editorView.state.selection;
20
+
21
+ // nodeDOM can return null when editor loses focus (e.g. toolbar click) or for certain positions.
22
+ // Fall back to domAtPos which resolves the DOM node at the given position.
23
+ var currentNode = editorView.nodeDOM(selection.from);
24
+ if (!currentNode) {
25
+ try {
26
+ var _editorView$domAtPos = editorView.domAtPos(selection.from),
27
+ node = _editorView$domAtPos.node;
28
+ currentNode = node instanceof HTMLElement ? node : node.parentElement;
29
+ } catch (_unused) {
30
+ return null;
31
+ }
32
+ }
33
+ var lastValidAncestor = currentNode;
34
+ while (currentNode instanceof HTMLElement && currentNode !== pmDom) {
35
+ lastValidAncestor = currentNode;
36
+ currentNode = currentNode.parentElement;
37
+ }
38
+ return lastValidAncestor instanceof HTMLElement ? lastValidAncestor : null;
39
+ };
40
+
1
41
  /**
2
42
  * Checks if a given node contains a popup with a nested element identified by a specific test ID.
3
43
  *
@@ -7,4 +7,4 @@ export { ExperienceCheckComposite } from './ExperienceCheckComposite';
7
7
  export { ExperienceCheckDomMutation } from './ExperienceCheckDomMutation';
8
8
  export { ExperienceCheckPopupMutation } from './ExperienceCheckPopupMutation';
9
9
  export { ExperienceCheckTimeout } from './ExperienceCheckTimeout';
10
- export { containsPopupWithNestedElement, popupWithNestedElement, getPopupContainerFromEditorView, getNodeQuery } from './experience-utils';
10
+ export { containsPopupWithNestedElement, popupWithNestedElement, getPopupContainerFromEditorView, getNodeQuery, getSelectionAncestorDOM } from './experience-utils';
@@ -122,13 +122,12 @@ function ExtensionWithPluginState(props) {
122
122
  var newContentStyles = {};
123
123
  if (shouldBreakout) {
124
124
  // type is destructured so that breakout styles does not include it
125
- // eslint-disable-next-line no-unused-vars
126
125
  var _calculateBreakoutSty = calculateBreakoutStyles({
127
126
  mode: node.attrs.layout,
128
127
  widthStateWidth: widthState.width,
129
128
  widthStateLineLength: widthState.lineLength
130
129
  }),
131
- type = _calculateBreakoutSty.type,
130
+ _type = _calculateBreakoutSty.type,
132
131
  breakoutStyles = _objectWithoutProperties(_calculateBreakoutSty, _excluded);
133
132
  newContentStyles = _objectSpread({}, breakoutStyles);
134
133
  customContainerStyles = breakoutStyles;
@@ -19,5 +19,20 @@ export var pasteOptionsToolbarMessages = defineMessages({
19
19
  id: 'fabric.editor.richText',
20
20
  defaultMessage: 'Use rich text',
21
21
  description: 'Converts pasted text into Rich text'
22
+ },
23
+ plainTextAction: {
24
+ id: 'fabric.editor.plainTextAction',
25
+ defaultMessage: 'Plain text',
26
+ description: 'Converts pasted text into plain text'
27
+ },
28
+ markdownAction: {
29
+ id: 'fabric.editor.useMarkdownAction',
30
+ defaultMessage: 'Markdown',
31
+ description: 'Converts pasted text into Markdown'
32
+ },
33
+ richTextAction: {
34
+ id: 'fabric.editor.richTextAction',
35
+ defaultMessage: 'Rich text',
36
+ description: 'Converts pasted text into Rich text'
22
37
  }
23
38
  });
@@ -10,7 +10,7 @@ import { isFedRamp } from './environment';
10
10
  import { normaliseSentryBreadcrumbs, SERIALIZABLE_ATTRIBUTES } from './normalise-sentry-breadcrumbs';
11
11
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
12
12
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
13
- var packageVersion = "111.30.0";
13
+ var packageVersion = "111.30.2";
14
14
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
15
15
  // Remove URL as it has UGC
16
16
  // Ignored via go/ees007
@@ -55,9 +55,7 @@ export function createThrottleSchedule(callback) {
55
55
  }
56
56
 
57
57
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
58
- export function returnDocumentRequest(editorView, callback, transformer, fireAnalyticsEvent,
59
- // eslint-disable-next-line no-unused-vars
60
- _alwaysFire) {
58
+ export function returnDocumentRequest(editorView, callback, transformer, fireAnalyticsEvent, _alwaysFire) {
61
59
  var _editorView$state;
62
60
  var _ref = (_editorView$state = editorView === null || editorView === void 0 ? void 0 : editorView.state) !== null && _editorView$state !== void 0 ? _editorView$state : {},
63
61
  doc = _ref.doc,
@@ -90,8 +88,7 @@ _alwaysFire) {
90
88
  export function returnDocumentRequestNoThrowError(editorView, callback, transformer, fireAnalyticsEvent, _alwaysFire) {
91
89
  try {
92
90
  return returnDocumentRequest(editorView, callback, transformer, fireAnalyticsEvent, _alwaysFire);
93
- // eslint-disable-next-line no-unused-vars
94
- } catch (_) {
91
+ } catch (_unused) {
95
92
  callback(undefined);
96
93
  }
97
94
  }
@@ -1,8 +1,8 @@
1
1
  // Disable no-re-export rule for entry point files
2
2
  /* eslint-disable @atlaskit/editor/no-re-export */
3
3
 
4
- export { TOOLBAR_RANK, AI_SECTION_RANK, ROVO_GROUP_RANK, IMPROVE_WRITING_GROUP_RANK, HERO_PROMPT_BUTTON_GROUP_RANK, ROVO_MENU_RANK, ROVO_PROMPT_MENU_SECTION_RANK, CHANGE_TONE_MENU_RANK, CHANGE_TONE_MENU_SECTION_RANK, TRANSLATE_MENU_RANK, COLLAB_SECTION_RANK, COMMENT_GROUP_RANK, TEXT_SECTION_RANK, TEXT_SECTION_PRIMARY_TOOLBAR_RANK, TEXT_SECTION_COLLAPSED_RANK, TEXT_COLLAPSED_GROUP_RANK, TEXT_COLLAPSED_MENU_RANK, TEXT_STYLES_GROUP_RANK, TEXT_STYLES_MENU_RANK, TEXT_STYLES_MENU_SECTION_RANK, TEXT_FORMAT_GROUP_RANK, TEXT_FORMAT_GROUP_COLLAPSED_RANK, TEXT_FORMAT_MENU_RANK, TEXT_FORMATTING_MENU_SECTION_RANK, CLEAR_FORMARTTING_MENU_SECTION_RANK, TEXT_COLOR_HIGHLIGHT_MENU_SECTION_RANK, TEXT_COLOR_HIGHLIGHT_GROUP_RANK, TEXT_COLOR_HIGHLIGHT_MENU_RANK, OVERFLOW_SECTION_RANK, OVERFLOW_GROUP_RANK, OVERFLOW_MENU_RANK, PIN_MENU_SECTION_RANK, INSERT_BLOCK_SECTION_RANK, TASK_LIST_GROUP_RANK, MEDIA_GROUP_RANK, MENTION_GROUP_RANK, EMOJI_GROUP_RANK, LAYOUT_GROUP_RANK, TABLE_GROUP_RANK, INSERT_GROUP_RANK, LINKING_SECTION_RANK, LINKING_GROUP_RANK, ALIGNMENT_GROUP_RANK, ALIGNMENT_MENU_RANK, ALIGNMENT_MENU_SECTION_RANK, LISTS_INDENTATION_GROUP_RANK, LISTS_INDENTATION_GROUP_COLLAPSED_RANK, LISTS_INDENTATION_MENU_RANK, LISTS_INDENTATION_MENU_SECTION_RANK, SYNCED_BLOCK_SECTION_RANK, TRACK_CHANGES_SECTION_RANK, UNDO_CHANGES_GROUP_RANK, REDO_CHANGES_GROUP_RANK, TRACK_CHANGES_GROUP_RANK, PIN_GROUP_RANK, PIN_SECTION_RANK, LOOM_MENU_SECTION_RANK, OVERFLOW_SECTION_PRIMARY_TOOLBAR_RANK, OVERFLOW_GROUP_PRIMARY_TOOLBAR_RANK, OVERFLOW_MENU_PRIMARY_TOOLBAR_RANK, DEFINE_GROUP_RANK, CODE_BLOCK_GROUP_RANK, ROVO_GROUP_DISPLAY_SMALL_RANK, OVERFLOW_EXTENSIONS_MENU_SECTION_RANK } from './rank';
5
- export { TOOLBARS, AI_SECTION, ROVO_GROUP, IMPROVE_WRITING_GROUP, IMPROVE_WRITING_BUTTON, HERO_PROMPT_BUTTON_GROUP, HERO_PROMPT_BUTTON, ROVO_HERO_BUTTON, ROVO_MENU, ROVO_PROMPT_MENU_SECTION, MAKE_SHORTER_MENU_ITEM, MAKE_LONGER_MENU_ITEM, CHANGE_TONE_NESTED_MENU, SPELLING_AND_GRAMMAR_MENU_ITEM, CHANGE_TONE_MENU_SECTION, MORE_PROFESSIONAL_MENU_ITEM, MORE_CASUAL_MENU_ITEM, MORE_EMPATHETIC_MENU_ITEM, TRANSLATE_NESTED_MENU, TRANSLATE_MENU_SECTION, TEXT_SECTION, TEXT_SECTION_PRIMARY_TOOLBAR, TEXT_SECTION_COLLAPSED, TEXT_COLLAPSED_GROUP, TEXT_COLLAPSED_MENU, TEXT_FORMATTING_GROUP, TEXT_FORMATTING_GROUP_INLINE, TEXT_FORMATTING_GROUP_COLLAPSED, BOLD_BUTTON_GROUP, UNDERLINE_BUTTON_GROUP, TEXT_FORMATTING_HERO_BUTTON, TEXT_FORMATTING_HERO_BUTTON_COLLAPSED, BOLD_BUTTON, UNDERLINE_BUTTON, TEXT_FORMATTING_MENU, TEXT_FORMATTING_MENU_SECTION, TEXT_STYLES_GROUP, TEXT_STYLES_MENU, TEXT_STYLES_MENU_SECTION, NORMAL_TEXT_MENU_ITEM, HEADING_1_MENU_ITEM, HEADING_2_MENU_ITEM, HEADING_3_MENU_ITEM, HEADING_4_MENU_ITEM, HEADING_5_MENU_ITEM, HEADING_6_MENU_ITEM, BLOCK_QUOTE_MENU_ITEM, BOLD_MENU_ITEM, ITALIC_MENU_ITEM, UNDERLINE_MENU_ITEM, STRIKE_MENU_ITEM, CODE_MENU_ITEM, SUBSCRIPT_MENU_ITEM, SUPERSCRIPT_MENU_ITEM, CLEAR_FORMARTTING_MENU_SECTION, CLEAR_FORMATTING_MENU_ITEM, LISTS_INDENTATION_GROUP, LISTS_INDENTATION_GROUP_COLLAPSED, LISTS_INDENTATION_GROUP_INLINE, BULLETED_LIST_BUTTON_GROUP, BULLETED_LIST_BUTTON, LISTS_INDENTATION_HERO_BUTTON, LISTS_INDENTATION_HERO_BUTTON_COLLAPSED, LISTS_INDENTATION_MENU, LISTS_INDENTATION_MENU_SECTION, BULLETED_LIST_MENU_ITEM, NUMBERED_LIST_MENU_ITEM, TASK_LIST_MENU_ITEM, INDENT_MENU_ITEM, OUTDENT_MENU_ITEM, INSERT_BLOCK_SECTION, TASK_LIST_BUTTON, TASK_LIST_GROUP, MEDIA_BUTTON, MEDIA_GROUP, MENTION_BUTTON, MENTION_GROUP, EMOJI_BUTTON, EMOJI_GROUP, LAYOUT_BUTTON, LAYOUT_GROUP, TABLE_BUTTON, TABLE_GROUP, TABLE_SIZE_PICKER, INSERT_GROUP, INSERT_BUTTON, LINKING_SECTION, LINKING_GROUP, LINKING_BUTTON, SYNCED_BLOCK_GROUP, SYNCED_BLOCK_SECTION, SYNCED_BLOCK_BUTTON, COLLAB_SECTION, COMMENT_GROUP, COMMENT_HERO_BUTTON, APPS_SECTION, OVERFLOW_SECTION, TEXT_COLOR_HIGHLIGHT_GROUP, TEXT_COLOR_HIGHLIGHT_MENU, TEXT_COLOR_HIGHLIGHT_MENU_SECTION, TEXT_COLOR_MENU_ITEM, HIGHLIGHT_MENU_ITEM, CLEAR_COLOR_MENU_ITEM, OVERFLOW_GROUP, OVERFLOW_MENU, PIN_MENU_SECTION, PIN_MENU_ITEM, ALIGNMENT_GROUP, ALIGNMENT_MENU, ALIGNMENT_MENU_SECTION, ALIGN_LEFT_MENU_ITEM, ALIGN_CENTER_MENU_ITEM, ALIGN_RIGHT_MENU_ITEM, UNDO_CHANGES_GROUP, REDO_CHANGES_GROUP, TRACK_CHANGES_GROUP, TRACK_CHANGES_SECTION, UNDO_BUTTON, REDO_BUTTON, TRACK_CHANGES_BUTTON, PIN_SECTION, PIN_GROUP, PIN_BUTTON, LOOM_MENU_SECTION, LOOM_MENU_ITEM, OVERFLOW_SECTION_PRIMARY_TOOLBAR, OVERFLOW_GROUP_PRIMARY_TOOLBAR, OVERFLOW_MENU_PRIMARY_TOOLBAR, SELECTION_EXTENSION_MENU_SECTION, DEFINE_MENU_ITEM, DEFINE_GROUP, DEFINE_BUTTON, AI_VIEW_SECTION, ROVO_GROUP_VIEW, CODE_BLOCK_GROUP, CODE_BLOCK_BUTTON, IMPROVE_WRITING_MENU_ITEM, HERO_PROMPT_MENU_ITEM, ROVO_GROUP_DISPLAY_SMALL, ROVO_MENU_DISPLAY_SMALL, ROVO_PROMPT_MENU_SECTION_DISPLAY_SMALL, ROVO_GROUP_PRIMARY_TOOLBAR, ROVO_WRITE_BUTTON_PRIMARY_TOOLBAR, AI_SECTION_PRIMARY_TOOLBAR, AI_SECTION_FULL_PAGE_PRIMARY_TOOLBAR, AI_SECTION_COMMENT_PRIMARY_TOOLBAR, ADD_POLISH_MENU_ITEM, OVERFLOW_EXTENSIONS_MENU_SECTION, FIRST_PARTY_EXTENSIONS_MENU_ITEM, EXTERNAL_EXTENSIONS_MENU_ITEM, TOOLBAR_BUTTON_TEST_ID } from './keys';
4
+ export { TOOLBAR_RANK, AI_SECTION_RANK, ROVO_GROUP_RANK, IMPROVE_WRITING_GROUP_RANK, HERO_PROMPT_BUTTON_GROUP_RANK, ROVO_MENU_RANK, ROVO_PROMPT_MENU_SECTION_RANK, CHANGE_TONE_MENU_RANK, CHANGE_TONE_MENU_SECTION_RANK, TRANSLATE_MENU_RANK, COLLAB_SECTION_RANK, COMMENT_GROUP_RANK, TEXT_SECTION_RANK, TEXT_SECTION_PRIMARY_TOOLBAR_RANK, TEXT_SECTION_COLLAPSED_RANK, TEXT_COLLAPSED_GROUP_RANK, TEXT_COLLAPSED_MENU_RANK, TEXT_STYLES_GROUP_RANK, TEXT_STYLES_MENU_RANK, TEXT_STYLES_MENU_SECTION_RANK, TEXT_FORMAT_GROUP_RANK, TEXT_FORMAT_GROUP_COLLAPSED_RANK, TEXT_FORMAT_MENU_RANK, TEXT_FORMATTING_MENU_SECTION_RANK, CLEAR_FORMARTTING_MENU_SECTION_RANK, TEXT_COLOR_HIGHLIGHT_MENU_SECTION_RANK, TEXT_COLOR_HIGHLIGHT_GROUP_RANK, TEXT_COLOR_HIGHLIGHT_MENU_RANK, OVERFLOW_SECTION_RANK, OVERFLOW_GROUP_RANK, OVERFLOW_MENU_RANK, PIN_MENU_SECTION_RANK, INSERT_BLOCK_SECTION_RANK, TASK_LIST_GROUP_RANK, MEDIA_GROUP_RANK, MENTION_GROUP_RANK, EMOJI_GROUP_RANK, LAYOUT_GROUP_RANK, TABLE_GROUP_RANK, INSERT_GROUP_RANK, LINKING_SECTION_RANK, LINKING_GROUP_RANK, ALIGNMENT_GROUP_RANK, ALIGNMENT_MENU_RANK, ALIGNMENT_MENU_SECTION_RANK, LISTS_INDENTATION_GROUP_RANK, LISTS_INDENTATION_GROUP_COLLAPSED_RANK, LISTS_INDENTATION_MENU_RANK, LISTS_INDENTATION_MENU_SECTION_RANK, SYNCED_BLOCK_SECTION_RANK, TRACK_CHANGES_SECTION_RANK, UNDO_CHANGES_GROUP_RANK, REDO_CHANGES_GROUP_RANK, TRACK_CHANGES_GROUP_RANK, PIN_GROUP_RANK, PIN_SECTION_RANK, LOOM_MENU_SECTION_RANK, OVERFLOW_SECTION_PRIMARY_TOOLBAR_RANK, OVERFLOW_GROUP_PRIMARY_TOOLBAR_RANK, OVERFLOW_MENU_PRIMARY_TOOLBAR_RANK, DEFINE_GROUP_RANK, CODE_BLOCK_GROUP_RANK, ROVO_GROUP_DISPLAY_SMALL_RANK, OVERFLOW_EXTENSIONS_MENU_SECTION_RANK, PASTE_MENU_RANK, PASTE_MENU_SECTION_RANK, PASTE_NESTED_MENU_RANK, PASTE_MENU_NESTED_SECTION_RANK } from './rank';
5
+ export { TOOLBARS, AI_SECTION, ROVO_GROUP, IMPROVE_WRITING_GROUP, IMPROVE_WRITING_BUTTON, HERO_PROMPT_BUTTON_GROUP, HERO_PROMPT_BUTTON, ROVO_HERO_BUTTON, ROVO_MENU, ROVO_PROMPT_MENU_SECTION, MAKE_SHORTER_MENU_ITEM, MAKE_LONGER_MENU_ITEM, CHANGE_TONE_NESTED_MENU, SPELLING_AND_GRAMMAR_MENU_ITEM, CHANGE_TONE_MENU_SECTION, MORE_PROFESSIONAL_MENU_ITEM, MORE_CASUAL_MENU_ITEM, MORE_EMPATHETIC_MENU_ITEM, TRANSLATE_NESTED_MENU, TRANSLATE_MENU_SECTION, TEXT_SECTION, TEXT_SECTION_PRIMARY_TOOLBAR, TEXT_SECTION_COLLAPSED, TEXT_COLLAPSED_GROUP, TEXT_COLLAPSED_MENU, TEXT_FORMATTING_GROUP, TEXT_FORMATTING_GROUP_INLINE, TEXT_FORMATTING_GROUP_COLLAPSED, BOLD_BUTTON_GROUP, UNDERLINE_BUTTON_GROUP, TEXT_FORMATTING_HERO_BUTTON, TEXT_FORMATTING_HERO_BUTTON_COLLAPSED, BOLD_BUTTON, UNDERLINE_BUTTON, TEXT_FORMATTING_MENU, TEXT_FORMATTING_MENU_SECTION, TEXT_STYLES_GROUP, TEXT_STYLES_MENU, TEXT_STYLES_MENU_SECTION, NORMAL_TEXT_MENU_ITEM, HEADING_1_MENU_ITEM, HEADING_2_MENU_ITEM, HEADING_3_MENU_ITEM, HEADING_4_MENU_ITEM, HEADING_5_MENU_ITEM, HEADING_6_MENU_ITEM, BLOCK_QUOTE_MENU_ITEM, BOLD_MENU_ITEM, ITALIC_MENU_ITEM, UNDERLINE_MENU_ITEM, STRIKE_MENU_ITEM, CODE_MENU_ITEM, SUBSCRIPT_MENU_ITEM, SUPERSCRIPT_MENU_ITEM, CLEAR_FORMARTTING_MENU_SECTION, CLEAR_FORMATTING_MENU_ITEM, LISTS_INDENTATION_GROUP, LISTS_INDENTATION_GROUP_COLLAPSED, LISTS_INDENTATION_GROUP_INLINE, BULLETED_LIST_BUTTON_GROUP, BULLETED_LIST_BUTTON, LISTS_INDENTATION_HERO_BUTTON, LISTS_INDENTATION_HERO_BUTTON_COLLAPSED, LISTS_INDENTATION_MENU, LISTS_INDENTATION_MENU_SECTION, BULLETED_LIST_MENU_ITEM, NUMBERED_LIST_MENU_ITEM, TASK_LIST_MENU_ITEM, INDENT_MENU_ITEM, OUTDENT_MENU_ITEM, INSERT_BLOCK_SECTION, TASK_LIST_BUTTON, TASK_LIST_GROUP, MEDIA_BUTTON, MEDIA_GROUP, MENTION_BUTTON, MENTION_GROUP, EMOJI_BUTTON, EMOJI_GROUP, LAYOUT_BUTTON, LAYOUT_GROUP, TABLE_BUTTON, TABLE_GROUP, TABLE_SIZE_PICKER, INSERT_GROUP, INSERT_BUTTON, LINKING_SECTION, LINKING_GROUP, LINKING_BUTTON, SYNCED_BLOCK_GROUP, SYNCED_BLOCK_SECTION, SYNCED_BLOCK_BUTTON, COLLAB_SECTION, COMMENT_GROUP, COMMENT_HERO_BUTTON, APPS_SECTION, OVERFLOW_SECTION, TEXT_COLOR_HIGHLIGHT_GROUP, TEXT_COLOR_HIGHLIGHT_MENU, TEXT_COLOR_HIGHLIGHT_MENU_SECTION, TEXT_COLOR_MENU_ITEM, HIGHLIGHT_MENU_ITEM, CLEAR_COLOR_MENU_ITEM, OVERFLOW_GROUP, OVERFLOW_MENU, PIN_MENU_SECTION, PIN_MENU_ITEM, ALIGNMENT_GROUP, ALIGNMENT_MENU, ALIGNMENT_MENU_SECTION, ALIGN_LEFT_MENU_ITEM, ALIGN_CENTER_MENU_ITEM, ALIGN_RIGHT_MENU_ITEM, UNDO_CHANGES_GROUP, REDO_CHANGES_GROUP, TRACK_CHANGES_GROUP, TRACK_CHANGES_SECTION, UNDO_BUTTON, REDO_BUTTON, TRACK_CHANGES_BUTTON, PIN_SECTION, PIN_GROUP, PIN_BUTTON, LOOM_MENU_SECTION, LOOM_MENU_ITEM, OVERFLOW_SECTION_PRIMARY_TOOLBAR, OVERFLOW_GROUP_PRIMARY_TOOLBAR, OVERFLOW_MENU_PRIMARY_TOOLBAR, SELECTION_EXTENSION_MENU_SECTION, DEFINE_MENU_ITEM, DEFINE_GROUP, DEFINE_BUTTON, AI_VIEW_SECTION, ROVO_GROUP_VIEW, CODE_BLOCK_GROUP, CODE_BLOCK_BUTTON, IMPROVE_WRITING_MENU_ITEM, HERO_PROMPT_MENU_ITEM, ROVO_GROUP_DISPLAY_SMALL, ROVO_MENU_DISPLAY_SMALL, ROVO_PROMPT_MENU_SECTION_DISPLAY_SMALL, ROVO_GROUP_PRIMARY_TOOLBAR, ROVO_WRITE_BUTTON_PRIMARY_TOOLBAR, AI_SECTION_PRIMARY_TOOLBAR, AI_SECTION_FULL_PAGE_PRIMARY_TOOLBAR, AI_SECTION_COMMENT_PRIMARY_TOOLBAR, ADD_POLISH_MENU_ITEM, OVERFLOW_EXTENSIONS_MENU_SECTION, FIRST_PARTY_EXTENSIONS_MENU_ITEM, EXTERNAL_EXTENSIONS_MENU_ITEM, PASTE_MENU, PASTE_MENU_SECTION, PASTE_NESTED_MENU, PASTE_MENU_NESTED_SECTION, PASTE_RICH_TEXT_MENU_ITEM, PASTE_MARKDOWN_MENU_ITEM, PASTE_PLAIN_TEXT_MENU_ITEM, TOOLBAR_BUTTON_TEST_ID } from './keys';
6
6
  export { useEditorToolbar, EditorToolbarProvider } from './context';
7
7
  export { EditorToolbarUIProvider } from './EditorToolbarUIProvider';
8
8
  export { getInputMethodFromParentKeys, shouldShowPrimaryToolbar, shouldShowSelectionToolbar } from './utils';
@@ -694,6 +694,38 @@ export var EXTERNAL_EXTENSIONS_MENU_ITEM = {
694
694
  key: 'external-extensions-menu-item',
695
695
  type: 'menu-item'
696
696
  };
697
+
698
+ /**
699
+ * Paste options section
700
+ */
701
+ export var PASTE_MENU = {
702
+ key: 'paste-menu',
703
+ type: 'menu'
704
+ };
705
+ export var PASTE_MENU_SECTION = {
706
+ key: 'paste-menu-section',
707
+ type: 'menu-section'
708
+ };
709
+ export var PASTE_NESTED_MENU = {
710
+ key: 'paste-nested-menu',
711
+ type: 'nested-menu'
712
+ };
713
+ export var PASTE_MENU_NESTED_SECTION = {
714
+ key: 'paste-menu-nested-section',
715
+ type: 'menu-section'
716
+ };
717
+ export var PASTE_RICH_TEXT_MENU_ITEM = {
718
+ key: 'rich-text-menu-item',
719
+ type: 'menu-item'
720
+ };
721
+ export var PASTE_MARKDOWN_MENU_ITEM = {
722
+ key: 'markdown-menu-item',
723
+ type: 'menu-item'
724
+ };
725
+ export var PASTE_PLAIN_TEXT_MENU_ITEM = {
726
+ key: 'plain-text-menu-item',
727
+ type: 'menu-item'
728
+ };
697
729
  export var TOOLBAR_BUTTON_TEST_ID = {
698
730
  INSERT: 'editor-toolbar-insert-button',
699
731
  EMOJI: 'editor-toolbar-emoji-button',
@@ -1,6 +1,6 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  var _TOOLBAR_RANK;
3
- import { AI_SECTION, APPS_SECTION, COLLAB_SECTION, IMPROVE_WRITING_GROUP, IMPROVE_WRITING_BUTTON, HERO_PROMPT_BUTTON_GROUP, HERO_PROMPT_BUTTON, HERO_PROMPT_MENU_ITEM, LINKING_SECTION, OVERFLOW_SECTION, ROVO_GROUP, ROVO_HERO_BUTTON, ROVO_MENU, TEXT_SECTION, MAKE_SHORTER_MENU_ITEM, MAKE_LONGER_MENU_ITEM, SPELLING_AND_GRAMMAR_MENU_ITEM, CHANGE_TONE_NESTED_MENU, CHANGE_TONE_MENU_SECTION, MORE_PROFESSIONAL_MENU_ITEM, MORE_CASUAL_MENU_ITEM, MORE_EMPATHETIC_MENU_ITEM, TRANSLATE_NESTED_MENU, COMMENT_GROUP, COMMENT_HERO_BUTTON, ROVO_PROMPT_MENU_SECTION, TRANSLATE_MENU_SECTION, TEXT_FORMATTING_GROUP, TEXT_FORMATTING_HERO_BUTTON, TEXT_FORMATTING_HERO_BUTTON_COLLAPSED, BOLD_BUTTON_GROUP, UNDERLINE_BUTTON_GROUP, TEXT_FORMATTING_MENU, TEXT_FORMATTING_MENU_SECTION, TEXT_STYLES_GROUP, TEXT_STYLES_MENU, TEXT_STYLES_MENU_SECTION, NORMAL_TEXT_MENU_ITEM, HEADING_1_MENU_ITEM, HEADING_2_MENU_ITEM, HEADING_3_MENU_ITEM, HEADING_4_MENU_ITEM, HEADING_5_MENU_ITEM, HEADING_6_MENU_ITEM, BLOCK_QUOTE_MENU_ITEM, UNDERLINE_MENU_ITEM, ITALIC_MENU_ITEM, STRIKE_MENU_ITEM, BOLD_MENU_ITEM, CODE_MENU_ITEM, SUBSCRIPT_MENU_ITEM, SUPERSCRIPT_MENU_ITEM, CLEAR_FORMARTTING_MENU_SECTION, CLEAR_FORMATTING_MENU_ITEM, TEXT_COLOR_HIGHLIGHT_GROUP, TEXT_COLOR_MENU_ITEM, HIGHLIGHT_MENU_ITEM, CLEAR_COLOR_MENU_ITEM, TEXT_COLOR_HIGHLIGHT_MENU, TEXT_COLOR_HIGHLIGHT_MENU_SECTION, PIN_MENU_ITEM, PIN_MENU_SECTION, OVERFLOW_MENU, OVERFLOW_GROUP, LINKING_GROUP, LINKING_BUTTON, ALIGNMENT_MENU, ALIGNMENT_GROUP, ALIGNMENT_MENU_SECTION, ALIGN_LEFT_MENU_ITEM, ALIGN_CENTER_MENU_ITEM, ALIGN_RIGHT_MENU_ITEM, LISTS_INDENTATION_GROUP, BULLETED_LIST_BUTTON, LISTS_INDENTATION_HERO_BUTTON, LISTS_INDENTATION_MENU, LISTS_INDENTATION_MENU_SECTION, NUMBERED_LIST_MENU_ITEM, BULLETED_LIST_MENU_ITEM, TASK_LIST_MENU_ITEM, OUTDENT_MENU_ITEM, INDENT_MENU_ITEM, TASK_LIST_GROUP, MEDIA_GROUP, MENTION_GROUP, LAYOUT_GROUP, TABLE_GROUP, EMOJI_GROUP, INSERT_BLOCK_SECTION, TASK_LIST_BUTTON, MEDIA_BUTTON, MENTION_BUTTON, EMOJI_BUTTON, LAYOUT_BUTTON, TABLE_BUTTON, TABLE_SIZE_PICKER, INSERT_GROUP, INSERT_BUTTON, TRACK_CHANGES_SECTION, UNDO_BUTTON, REDO_BUTTON, TRACK_CHANGES_BUTTON, UNDO_CHANGES_GROUP, REDO_CHANGES_GROUP, TRACK_CHANGES_GROUP, PIN_SECTION, PIN_BUTTON, PIN_GROUP, LOOM_MENU_SECTION, LOOM_MENU_ITEM, OVERFLOW_SECTION_PRIMARY_TOOLBAR, OVERFLOW_GROUP_PRIMARY_TOOLBAR, OVERFLOW_MENU_PRIMARY_TOOLBAR, TEXT_SECTION_COLLAPSED, TEXT_COLLAPSED_GROUP, TEXT_COLLAPSED_MENU, SELECTION_EXTENSION_MENU_SECTION, DEFINE_MENU_ITEM, DEFINE_BUTTON, DEFINE_GROUP, AI_VIEW_SECTION, LISTS_INDENTATION_HERO_BUTTON_COLLAPSED, BULLETED_LIST_BUTTON_GROUP, CODE_BLOCK_BUTTON, CODE_BLOCK_GROUP, IMPROVE_WRITING_MENU_ITEM, ROVO_MENU_DISPLAY_SMALL, ROVO_PROMPT_MENU_SECTION_DISPLAY_SMALL, ROVO_GROUP_DISPLAY_SMALL, ROVO_GROUP_PRIMARY_TOOLBAR, ROVO_WRITE_BUTTON_PRIMARY_TOOLBAR, SYNCED_BLOCK_GROUP, SYNCED_BLOCK_SECTION, SYNCED_BLOCK_BUTTON, ADD_POLISH_MENU_ITEM, OVERFLOW_EXTENSIONS_MENU_SECTION, FIRST_PARTY_EXTENSIONS_MENU_ITEM, EXTERNAL_EXTENSIONS_MENU_ITEM } from './keys';
3
+ import { AI_SECTION, APPS_SECTION, COLLAB_SECTION, IMPROVE_WRITING_GROUP, IMPROVE_WRITING_BUTTON, HERO_PROMPT_BUTTON_GROUP, HERO_PROMPT_BUTTON, HERO_PROMPT_MENU_ITEM, LINKING_SECTION, OVERFLOW_SECTION, ROVO_GROUP, ROVO_HERO_BUTTON, ROVO_MENU, TEXT_SECTION, MAKE_SHORTER_MENU_ITEM, MAKE_LONGER_MENU_ITEM, SPELLING_AND_GRAMMAR_MENU_ITEM, CHANGE_TONE_NESTED_MENU, CHANGE_TONE_MENU_SECTION, MORE_PROFESSIONAL_MENU_ITEM, MORE_CASUAL_MENU_ITEM, MORE_EMPATHETIC_MENU_ITEM, TRANSLATE_NESTED_MENU, COMMENT_GROUP, COMMENT_HERO_BUTTON, ROVO_PROMPT_MENU_SECTION, TRANSLATE_MENU_SECTION, TEXT_FORMATTING_GROUP, TEXT_FORMATTING_HERO_BUTTON, TEXT_FORMATTING_HERO_BUTTON_COLLAPSED, BOLD_BUTTON_GROUP, UNDERLINE_BUTTON_GROUP, TEXT_FORMATTING_MENU, TEXT_FORMATTING_MENU_SECTION, TEXT_STYLES_GROUP, TEXT_STYLES_MENU, TEXT_STYLES_MENU_SECTION, NORMAL_TEXT_MENU_ITEM, HEADING_1_MENU_ITEM, HEADING_2_MENU_ITEM, HEADING_3_MENU_ITEM, HEADING_4_MENU_ITEM, HEADING_5_MENU_ITEM, HEADING_6_MENU_ITEM, BLOCK_QUOTE_MENU_ITEM, UNDERLINE_MENU_ITEM, ITALIC_MENU_ITEM, STRIKE_MENU_ITEM, BOLD_MENU_ITEM, CODE_MENU_ITEM, SUBSCRIPT_MENU_ITEM, SUPERSCRIPT_MENU_ITEM, CLEAR_FORMARTTING_MENU_SECTION, CLEAR_FORMATTING_MENU_ITEM, TEXT_COLOR_HIGHLIGHT_GROUP, TEXT_COLOR_MENU_ITEM, HIGHLIGHT_MENU_ITEM, CLEAR_COLOR_MENU_ITEM, TEXT_COLOR_HIGHLIGHT_MENU, TEXT_COLOR_HIGHLIGHT_MENU_SECTION, PIN_MENU_ITEM, PIN_MENU_SECTION, OVERFLOW_MENU, OVERFLOW_GROUP, LINKING_GROUP, LINKING_BUTTON, ALIGNMENT_MENU, ALIGNMENT_GROUP, ALIGNMENT_MENU_SECTION, ALIGN_LEFT_MENU_ITEM, ALIGN_CENTER_MENU_ITEM, ALIGN_RIGHT_MENU_ITEM, LISTS_INDENTATION_GROUP, BULLETED_LIST_BUTTON, LISTS_INDENTATION_HERO_BUTTON, LISTS_INDENTATION_MENU, LISTS_INDENTATION_MENU_SECTION, NUMBERED_LIST_MENU_ITEM, BULLETED_LIST_MENU_ITEM, TASK_LIST_MENU_ITEM, OUTDENT_MENU_ITEM, INDENT_MENU_ITEM, TASK_LIST_GROUP, MEDIA_GROUP, MENTION_GROUP, LAYOUT_GROUP, TABLE_GROUP, EMOJI_GROUP, INSERT_BLOCK_SECTION, TASK_LIST_BUTTON, MEDIA_BUTTON, MENTION_BUTTON, EMOJI_BUTTON, LAYOUT_BUTTON, TABLE_BUTTON, TABLE_SIZE_PICKER, INSERT_GROUP, INSERT_BUTTON, TRACK_CHANGES_SECTION, UNDO_BUTTON, REDO_BUTTON, TRACK_CHANGES_BUTTON, UNDO_CHANGES_GROUP, REDO_CHANGES_GROUP, TRACK_CHANGES_GROUP, PIN_SECTION, PIN_BUTTON, PIN_GROUP, LOOM_MENU_SECTION, LOOM_MENU_ITEM, OVERFLOW_SECTION_PRIMARY_TOOLBAR, OVERFLOW_GROUP_PRIMARY_TOOLBAR, OVERFLOW_MENU_PRIMARY_TOOLBAR, TEXT_SECTION_COLLAPSED, TEXT_COLLAPSED_GROUP, TEXT_COLLAPSED_MENU, SELECTION_EXTENSION_MENU_SECTION, DEFINE_MENU_ITEM, DEFINE_BUTTON, DEFINE_GROUP, AI_VIEW_SECTION, LISTS_INDENTATION_HERO_BUTTON_COLLAPSED, BULLETED_LIST_BUTTON_GROUP, CODE_BLOCK_BUTTON, CODE_BLOCK_GROUP, IMPROVE_WRITING_MENU_ITEM, ROVO_MENU_DISPLAY_SMALL, ROVO_PROMPT_MENU_SECTION_DISPLAY_SMALL, ROVO_GROUP_DISPLAY_SMALL, ROVO_GROUP_PRIMARY_TOOLBAR, ROVO_WRITE_BUTTON_PRIMARY_TOOLBAR, SYNCED_BLOCK_GROUP, SYNCED_BLOCK_SECTION, SYNCED_BLOCK_BUTTON, ADD_POLISH_MENU_ITEM, OVERFLOW_EXTENSIONS_MENU_SECTION, FIRST_PARTY_EXTENSIONS_MENU_ITEM, EXTERNAL_EXTENSIONS_MENU_ITEM, PASTE_MENU_SECTION, PASTE_NESTED_MENU, PASTE_MENU_NESTED_SECTION, PASTE_RICH_TEXT_MENU_ITEM, PASTE_MARKDOWN_MENU_ITEM, PASTE_PLAIN_TEXT_MENU_ITEM } from './keys';
4
4
  export var TOOLBAR_RANK = (_TOOLBAR_RANK = {}, _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_TOOLBAR_RANK, AI_SECTION.key, 100), AI_VIEW_SECTION.key, 100), TEXT_SECTION.key, 200), TEXT_SECTION_COLLAPSED.key, 200), INSERT_BLOCK_SECTION.key, 300), LINKING_SECTION.key, 400), COLLAB_SECTION.key, 500), APPS_SECTION.key, 600), TRACK_CHANGES_SECTION.key, 700), OVERFLOW_SECTION.key, 800), _defineProperty(_defineProperty(_TOOLBAR_RANK, PIN_SECTION.key, 900), OVERFLOW_SECTION_PRIMARY_TOOLBAR.key, 1000));
5
5
 
6
6
  /**
@@ -127,4 +127,12 @@ export var PIN_GROUP_RANK = _defineProperty({}, PIN_BUTTON.key, 100);
127
127
  /**
128
128
  * Loom menu section
129
129
  */
130
- export var LOOM_MENU_SECTION_RANK = _defineProperty({}, LOOM_MENU_ITEM.key, 100);
130
+ export var LOOM_MENU_SECTION_RANK = _defineProperty({}, LOOM_MENU_ITEM.key, 100);
131
+
132
+ /**
133
+ * Paste options section
134
+ */
135
+ export var PASTE_MENU_RANK = _defineProperty({}, PASTE_MENU_SECTION.key, 100);
136
+ export var PASTE_MENU_SECTION_RANK = _defineProperty({}, PASTE_NESTED_MENU.key, 100);
137
+ export var PASTE_NESTED_MENU_RANK = _defineProperty({}, PASTE_MENU_NESTED_SECTION.key, 100);
138
+ export var PASTE_MENU_NESTED_SECTION_RANK = _defineProperty(_defineProperty(_defineProperty({}, PASTE_RICH_TEXT_MENU_ITEM.key, 100), PASTE_MARKDOWN_MENU_ITEM.key, 200), PASTE_PLAIN_TEXT_MENU_ITEM.key, 300);
@@ -21,7 +21,7 @@ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
21
21
  import { fg } from '@atlaskit/platform-feature-flags';
22
22
  import Layer from '../Layer';
23
23
  var packageName = "@atlaskit/editor-common";
24
- var packageVersion = "111.30.0";
24
+ var packageVersion = "111.30.2";
25
25
  var halfFocusRing = 1;
26
26
  var dropOffset = '0, 8';
27
27
  var fadeIn = keyframes({
@@ -14,12 +14,13 @@ export type ExperienceCheckDomMutationObserveConfig = {
14
14
  *
15
15
  * These include:
16
16
  * - childList: adding/removing child nodes directly under the target node
17
+ * - subtree: extends observation to the entire subtree of nodes rooted at target
17
18
  * - attributes: changes to attributes on the target node
18
19
  * - attributeFilter: defines the specific attributes to monitor for changes
19
20
  *
20
21
  * @see https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver/observe
21
22
  */
22
- options?: Pick<MutationObserverInit, 'childList' | 'attributes' | 'attributeFilter'>;
23
+ options?: Pick<MutationObserverInit, 'childList' | 'subtree' | 'attributes' | 'attributeFilter'>;
23
24
  /**
24
25
  * Target element to observe for mutations
25
26
  *
@@ -29,17 +30,22 @@ export type ExperienceCheckDomMutationObserveConfig = {
29
30
  };
30
31
  export type ExperienceCheckDomMutationConfig = {
31
32
  /**
32
- * Callback that returns the MutationObserver configuration
33
+ * Callback that returns one or more MutationObserver configurations.
34
+ *
35
+ * Can return:
36
+ * - A single config for one target to observe
37
+ * - An array of configs to observe multiple targets with one MutationObserver
38
+ * - null if no valid target is available (e.g., when selection node is not found)
33
39
  *
34
40
  * This is a callback to ensure consumers make explicit, conscious decisions about:
35
- * - What element to observe (performance: smaller scope = better performance)
41
+ * - What elements to observe (performance: smaller scope = better performance)
36
42
  * - What mutations to monitor (performance: fewer types = better performance)
37
43
  *
38
44
  * !!IMPORTANT!!
39
45
  * Return null if the target element cannot be found.
40
46
  * This will immediately fail the experience with experienceFailureReason 'domMutationTargetNotFound'.
41
- */
42
- observeConfig: () => ExperienceCheckDomMutationObserveConfig | null;
47
+ */
48
+ observeConfig: () => (ExperienceCheckDomMutationObserveConfig | ExperienceCheckDomMutationObserveConfig[] | null);
43
49
  /**
44
50
  * Callback invoked when DOM mutations are detected
45
51
  *
@@ -1,3 +1,18 @@
1
+ import type { EditorView } from '@atlaskit/editor-prosemirror/view';
2
+ /**
3
+ * Finds the direct child of the ProseMirror root element that contains the current selection.
4
+ *
5
+ * Starting from the DOM node at the selection position, this function walks up the DOM tree
6
+ * until it reaches the ProseMirror root, then returns the last element before the root
7
+ * (i.e., the second top-level ancestor).
8
+ *
9
+ * This is useful for attaching MutationObservers to the narrowest subtree that contains
10
+ * the selection, while still capturing all relevant mutations within that branch.
11
+ *
12
+ * @param editorView - The ProseMirror EditorView instance
13
+ * @returns The direct child of PM root containing the selection, or null if not found
14
+ */
15
+ export declare const getSelectionAncestorDOM: (editorView?: EditorView) => HTMLElement | null;
1
16
  /**
2
17
  * Checks if a given node contains a popup with a nested element identified by a specific test ID.
3
18
  *
@@ -7,4 +7,4 @@ export { ExperienceCheckTimeout } from './ExperienceCheckTimeout';
7
7
  export type { ExperienceCheckPopupMutationConfig, PopupCheckType, } from './ExperienceCheckPopupMutation';
8
8
  export type { ExperienceCheck, ExperienceCheckCallback, ExperienceCheckResult, } from './ExperienceCheck';
9
9
  export type { ExperienceCheckDomMutationConfig, ExperienceCheckDomMutationObserveConfig, ExperienceDomMutationCheckOptions, } from './ExperienceCheckDomMutation';
10
- export { containsPopupWithNestedElement, popupWithNestedElement, getPopupContainerFromEditorView, getNodeQuery, } from './experience-utils';
10
+ export { containsPopupWithNestedElement, popupWithNestedElement, getPopupContainerFromEditorView, getNodeQuery, getSelectionAncestorDOM, } from './experience-utils';
@@ -19,4 +19,19 @@ export declare const pasteOptionsToolbarMessages: {
19
19
  defaultMessage: string;
20
20
  description: string;
21
21
  };
22
+ plainTextAction: {
23
+ id: string;
24
+ defaultMessage: string;
25
+ description: string;
26
+ };
27
+ markdownAction: {
28
+ id: string;
29
+ defaultMessage: string;
30
+ description: string;
31
+ };
32
+ richTextAction: {
33
+ id: string;
34
+ defaultMessage: string;
35
+ description: string;
36
+ };
22
37
  };
@@ -1,5 +1,5 @@
1
- export { TOOLBAR_RANK, AI_SECTION_RANK, ROVO_GROUP_RANK, IMPROVE_WRITING_GROUP_RANK, HERO_PROMPT_BUTTON_GROUP_RANK, ROVO_MENU_RANK, ROVO_PROMPT_MENU_SECTION_RANK, CHANGE_TONE_MENU_RANK, CHANGE_TONE_MENU_SECTION_RANK, TRANSLATE_MENU_RANK, COLLAB_SECTION_RANK, COMMENT_GROUP_RANK, TEXT_SECTION_RANK, TEXT_SECTION_PRIMARY_TOOLBAR_RANK, TEXT_SECTION_COLLAPSED_RANK, TEXT_COLLAPSED_GROUP_RANK, TEXT_COLLAPSED_MENU_RANK, TEXT_STYLES_GROUP_RANK, TEXT_STYLES_MENU_RANK, TEXT_STYLES_MENU_SECTION_RANK, TEXT_FORMAT_GROUP_RANK, TEXT_FORMAT_GROUP_COLLAPSED_RANK, TEXT_FORMAT_MENU_RANK, TEXT_FORMATTING_MENU_SECTION_RANK, CLEAR_FORMARTTING_MENU_SECTION_RANK, TEXT_COLOR_HIGHLIGHT_MENU_SECTION_RANK, TEXT_COLOR_HIGHLIGHT_GROUP_RANK, TEXT_COLOR_HIGHLIGHT_MENU_RANK, OVERFLOW_SECTION_RANK, OVERFLOW_GROUP_RANK, OVERFLOW_MENU_RANK, PIN_MENU_SECTION_RANK, INSERT_BLOCK_SECTION_RANK, TASK_LIST_GROUP_RANK, MEDIA_GROUP_RANK, MENTION_GROUP_RANK, EMOJI_GROUP_RANK, LAYOUT_GROUP_RANK, TABLE_GROUP_RANK, INSERT_GROUP_RANK, LINKING_SECTION_RANK, LINKING_GROUP_RANK, ALIGNMENT_GROUP_RANK, ALIGNMENT_MENU_RANK, ALIGNMENT_MENU_SECTION_RANK, LISTS_INDENTATION_GROUP_RANK, LISTS_INDENTATION_GROUP_COLLAPSED_RANK, LISTS_INDENTATION_MENU_RANK, LISTS_INDENTATION_MENU_SECTION_RANK, SYNCED_BLOCK_SECTION_RANK, TRACK_CHANGES_SECTION_RANK, UNDO_CHANGES_GROUP_RANK, REDO_CHANGES_GROUP_RANK, TRACK_CHANGES_GROUP_RANK, PIN_GROUP_RANK, PIN_SECTION_RANK, LOOM_MENU_SECTION_RANK, OVERFLOW_SECTION_PRIMARY_TOOLBAR_RANK, OVERFLOW_GROUP_PRIMARY_TOOLBAR_RANK, OVERFLOW_MENU_PRIMARY_TOOLBAR_RANK, DEFINE_GROUP_RANK, CODE_BLOCK_GROUP_RANK, ROVO_GROUP_DISPLAY_SMALL_RANK, OVERFLOW_EXTENSIONS_MENU_SECTION_RANK, } from './rank';
2
- export { TOOLBARS, AI_SECTION, ROVO_GROUP, IMPROVE_WRITING_GROUP, IMPROVE_WRITING_BUTTON, HERO_PROMPT_BUTTON_GROUP, HERO_PROMPT_BUTTON, ROVO_HERO_BUTTON, ROVO_MENU, ROVO_PROMPT_MENU_SECTION, MAKE_SHORTER_MENU_ITEM, MAKE_LONGER_MENU_ITEM, CHANGE_TONE_NESTED_MENU, SPELLING_AND_GRAMMAR_MENU_ITEM, CHANGE_TONE_MENU_SECTION, MORE_PROFESSIONAL_MENU_ITEM, MORE_CASUAL_MENU_ITEM, MORE_EMPATHETIC_MENU_ITEM, TRANSLATE_NESTED_MENU, TRANSLATE_MENU_SECTION, TEXT_SECTION, TEXT_SECTION_PRIMARY_TOOLBAR, TEXT_SECTION_COLLAPSED, TEXT_COLLAPSED_GROUP, TEXT_COLLAPSED_MENU, TEXT_FORMATTING_GROUP, TEXT_FORMATTING_GROUP_INLINE, TEXT_FORMATTING_GROUP_COLLAPSED, BOLD_BUTTON_GROUP, UNDERLINE_BUTTON_GROUP, TEXT_FORMATTING_HERO_BUTTON, TEXT_FORMATTING_HERO_BUTTON_COLLAPSED, BOLD_BUTTON, UNDERLINE_BUTTON, TEXT_FORMATTING_MENU, TEXT_FORMATTING_MENU_SECTION, TEXT_STYLES_GROUP, TEXT_STYLES_MENU, TEXT_STYLES_MENU_SECTION, NORMAL_TEXT_MENU_ITEM, HEADING_1_MENU_ITEM, HEADING_2_MENU_ITEM, HEADING_3_MENU_ITEM, HEADING_4_MENU_ITEM, HEADING_5_MENU_ITEM, HEADING_6_MENU_ITEM, BLOCK_QUOTE_MENU_ITEM, BOLD_MENU_ITEM, ITALIC_MENU_ITEM, UNDERLINE_MENU_ITEM, STRIKE_MENU_ITEM, CODE_MENU_ITEM, SUBSCRIPT_MENU_ITEM, SUPERSCRIPT_MENU_ITEM, CLEAR_FORMARTTING_MENU_SECTION, CLEAR_FORMATTING_MENU_ITEM, LISTS_INDENTATION_GROUP, LISTS_INDENTATION_GROUP_COLLAPSED, LISTS_INDENTATION_GROUP_INLINE, BULLETED_LIST_BUTTON_GROUP, BULLETED_LIST_BUTTON, LISTS_INDENTATION_HERO_BUTTON, LISTS_INDENTATION_HERO_BUTTON_COLLAPSED, LISTS_INDENTATION_MENU, LISTS_INDENTATION_MENU_SECTION, BULLETED_LIST_MENU_ITEM, NUMBERED_LIST_MENU_ITEM, TASK_LIST_MENU_ITEM, INDENT_MENU_ITEM, OUTDENT_MENU_ITEM, INSERT_BLOCK_SECTION, TASK_LIST_BUTTON, TASK_LIST_GROUP, MEDIA_BUTTON, MEDIA_GROUP, MENTION_BUTTON, MENTION_GROUP, EMOJI_BUTTON, EMOJI_GROUP, LAYOUT_BUTTON, LAYOUT_GROUP, TABLE_BUTTON, TABLE_GROUP, TABLE_SIZE_PICKER, INSERT_GROUP, INSERT_BUTTON, LINKING_SECTION, LINKING_GROUP, LINKING_BUTTON, SYNCED_BLOCK_GROUP, SYNCED_BLOCK_SECTION, SYNCED_BLOCK_BUTTON, COLLAB_SECTION, COMMENT_GROUP, COMMENT_HERO_BUTTON, APPS_SECTION, OVERFLOW_SECTION, TEXT_COLOR_HIGHLIGHT_GROUP, TEXT_COLOR_HIGHLIGHT_MENU, TEXT_COLOR_HIGHLIGHT_MENU_SECTION, TEXT_COLOR_MENU_ITEM, HIGHLIGHT_MENU_ITEM, CLEAR_COLOR_MENU_ITEM, OVERFLOW_GROUP, OVERFLOW_MENU, PIN_MENU_SECTION, PIN_MENU_ITEM, ALIGNMENT_GROUP, ALIGNMENT_MENU, ALIGNMENT_MENU_SECTION, ALIGN_LEFT_MENU_ITEM, ALIGN_CENTER_MENU_ITEM, ALIGN_RIGHT_MENU_ITEM, UNDO_CHANGES_GROUP, REDO_CHANGES_GROUP, TRACK_CHANGES_GROUP, TRACK_CHANGES_SECTION, UNDO_BUTTON, REDO_BUTTON, TRACK_CHANGES_BUTTON, PIN_SECTION, PIN_GROUP, PIN_BUTTON, LOOM_MENU_SECTION, LOOM_MENU_ITEM, OVERFLOW_SECTION_PRIMARY_TOOLBAR, OVERFLOW_GROUP_PRIMARY_TOOLBAR, OVERFLOW_MENU_PRIMARY_TOOLBAR, SELECTION_EXTENSION_MENU_SECTION, DEFINE_MENU_ITEM, DEFINE_GROUP, DEFINE_BUTTON, AI_VIEW_SECTION, ROVO_GROUP_VIEW, CODE_BLOCK_GROUP, CODE_BLOCK_BUTTON, IMPROVE_WRITING_MENU_ITEM, HERO_PROMPT_MENU_ITEM, ROVO_GROUP_DISPLAY_SMALL, ROVO_MENU_DISPLAY_SMALL, ROVO_PROMPT_MENU_SECTION_DISPLAY_SMALL, ROVO_GROUP_PRIMARY_TOOLBAR, ROVO_WRITE_BUTTON_PRIMARY_TOOLBAR, AI_SECTION_PRIMARY_TOOLBAR, AI_SECTION_FULL_PAGE_PRIMARY_TOOLBAR, AI_SECTION_COMMENT_PRIMARY_TOOLBAR, ADD_POLISH_MENU_ITEM, OVERFLOW_EXTENSIONS_MENU_SECTION, FIRST_PARTY_EXTENSIONS_MENU_ITEM, EXTERNAL_EXTENSIONS_MENU_ITEM, TOOLBAR_BUTTON_TEST_ID, } from './keys';
1
+ export { TOOLBAR_RANK, AI_SECTION_RANK, ROVO_GROUP_RANK, IMPROVE_WRITING_GROUP_RANK, HERO_PROMPT_BUTTON_GROUP_RANK, ROVO_MENU_RANK, ROVO_PROMPT_MENU_SECTION_RANK, CHANGE_TONE_MENU_RANK, CHANGE_TONE_MENU_SECTION_RANK, TRANSLATE_MENU_RANK, COLLAB_SECTION_RANK, COMMENT_GROUP_RANK, TEXT_SECTION_RANK, TEXT_SECTION_PRIMARY_TOOLBAR_RANK, TEXT_SECTION_COLLAPSED_RANK, TEXT_COLLAPSED_GROUP_RANK, TEXT_COLLAPSED_MENU_RANK, TEXT_STYLES_GROUP_RANK, TEXT_STYLES_MENU_RANK, TEXT_STYLES_MENU_SECTION_RANK, TEXT_FORMAT_GROUP_RANK, TEXT_FORMAT_GROUP_COLLAPSED_RANK, TEXT_FORMAT_MENU_RANK, TEXT_FORMATTING_MENU_SECTION_RANK, CLEAR_FORMARTTING_MENU_SECTION_RANK, TEXT_COLOR_HIGHLIGHT_MENU_SECTION_RANK, TEXT_COLOR_HIGHLIGHT_GROUP_RANK, TEXT_COLOR_HIGHLIGHT_MENU_RANK, OVERFLOW_SECTION_RANK, OVERFLOW_GROUP_RANK, OVERFLOW_MENU_RANK, PIN_MENU_SECTION_RANK, INSERT_BLOCK_SECTION_RANK, TASK_LIST_GROUP_RANK, MEDIA_GROUP_RANK, MENTION_GROUP_RANK, EMOJI_GROUP_RANK, LAYOUT_GROUP_RANK, TABLE_GROUP_RANK, INSERT_GROUP_RANK, LINKING_SECTION_RANK, LINKING_GROUP_RANK, ALIGNMENT_GROUP_RANK, ALIGNMENT_MENU_RANK, ALIGNMENT_MENU_SECTION_RANK, LISTS_INDENTATION_GROUP_RANK, LISTS_INDENTATION_GROUP_COLLAPSED_RANK, LISTS_INDENTATION_MENU_RANK, LISTS_INDENTATION_MENU_SECTION_RANK, SYNCED_BLOCK_SECTION_RANK, TRACK_CHANGES_SECTION_RANK, UNDO_CHANGES_GROUP_RANK, REDO_CHANGES_GROUP_RANK, TRACK_CHANGES_GROUP_RANK, PIN_GROUP_RANK, PIN_SECTION_RANK, LOOM_MENU_SECTION_RANK, OVERFLOW_SECTION_PRIMARY_TOOLBAR_RANK, OVERFLOW_GROUP_PRIMARY_TOOLBAR_RANK, OVERFLOW_MENU_PRIMARY_TOOLBAR_RANK, DEFINE_GROUP_RANK, CODE_BLOCK_GROUP_RANK, ROVO_GROUP_DISPLAY_SMALL_RANK, OVERFLOW_EXTENSIONS_MENU_SECTION_RANK, PASTE_MENU_RANK, PASTE_MENU_SECTION_RANK, PASTE_NESTED_MENU_RANK, PASTE_MENU_NESTED_SECTION_RANK, } from './rank';
2
+ export { TOOLBARS, AI_SECTION, ROVO_GROUP, IMPROVE_WRITING_GROUP, IMPROVE_WRITING_BUTTON, HERO_PROMPT_BUTTON_GROUP, HERO_PROMPT_BUTTON, ROVO_HERO_BUTTON, ROVO_MENU, ROVO_PROMPT_MENU_SECTION, MAKE_SHORTER_MENU_ITEM, MAKE_LONGER_MENU_ITEM, CHANGE_TONE_NESTED_MENU, SPELLING_AND_GRAMMAR_MENU_ITEM, CHANGE_TONE_MENU_SECTION, MORE_PROFESSIONAL_MENU_ITEM, MORE_CASUAL_MENU_ITEM, MORE_EMPATHETIC_MENU_ITEM, TRANSLATE_NESTED_MENU, TRANSLATE_MENU_SECTION, TEXT_SECTION, TEXT_SECTION_PRIMARY_TOOLBAR, TEXT_SECTION_COLLAPSED, TEXT_COLLAPSED_GROUP, TEXT_COLLAPSED_MENU, TEXT_FORMATTING_GROUP, TEXT_FORMATTING_GROUP_INLINE, TEXT_FORMATTING_GROUP_COLLAPSED, BOLD_BUTTON_GROUP, UNDERLINE_BUTTON_GROUP, TEXT_FORMATTING_HERO_BUTTON, TEXT_FORMATTING_HERO_BUTTON_COLLAPSED, BOLD_BUTTON, UNDERLINE_BUTTON, TEXT_FORMATTING_MENU, TEXT_FORMATTING_MENU_SECTION, TEXT_STYLES_GROUP, TEXT_STYLES_MENU, TEXT_STYLES_MENU_SECTION, NORMAL_TEXT_MENU_ITEM, HEADING_1_MENU_ITEM, HEADING_2_MENU_ITEM, HEADING_3_MENU_ITEM, HEADING_4_MENU_ITEM, HEADING_5_MENU_ITEM, HEADING_6_MENU_ITEM, BLOCK_QUOTE_MENU_ITEM, BOLD_MENU_ITEM, ITALIC_MENU_ITEM, UNDERLINE_MENU_ITEM, STRIKE_MENU_ITEM, CODE_MENU_ITEM, SUBSCRIPT_MENU_ITEM, SUPERSCRIPT_MENU_ITEM, CLEAR_FORMARTTING_MENU_SECTION, CLEAR_FORMATTING_MENU_ITEM, LISTS_INDENTATION_GROUP, LISTS_INDENTATION_GROUP_COLLAPSED, LISTS_INDENTATION_GROUP_INLINE, BULLETED_LIST_BUTTON_GROUP, BULLETED_LIST_BUTTON, LISTS_INDENTATION_HERO_BUTTON, LISTS_INDENTATION_HERO_BUTTON_COLLAPSED, LISTS_INDENTATION_MENU, LISTS_INDENTATION_MENU_SECTION, BULLETED_LIST_MENU_ITEM, NUMBERED_LIST_MENU_ITEM, TASK_LIST_MENU_ITEM, INDENT_MENU_ITEM, OUTDENT_MENU_ITEM, INSERT_BLOCK_SECTION, TASK_LIST_BUTTON, TASK_LIST_GROUP, MEDIA_BUTTON, MEDIA_GROUP, MENTION_BUTTON, MENTION_GROUP, EMOJI_BUTTON, EMOJI_GROUP, LAYOUT_BUTTON, LAYOUT_GROUP, TABLE_BUTTON, TABLE_GROUP, TABLE_SIZE_PICKER, INSERT_GROUP, INSERT_BUTTON, LINKING_SECTION, LINKING_GROUP, LINKING_BUTTON, SYNCED_BLOCK_GROUP, SYNCED_BLOCK_SECTION, SYNCED_BLOCK_BUTTON, COLLAB_SECTION, COMMENT_GROUP, COMMENT_HERO_BUTTON, APPS_SECTION, OVERFLOW_SECTION, TEXT_COLOR_HIGHLIGHT_GROUP, TEXT_COLOR_HIGHLIGHT_MENU, TEXT_COLOR_HIGHLIGHT_MENU_SECTION, TEXT_COLOR_MENU_ITEM, HIGHLIGHT_MENU_ITEM, CLEAR_COLOR_MENU_ITEM, OVERFLOW_GROUP, OVERFLOW_MENU, PIN_MENU_SECTION, PIN_MENU_ITEM, ALIGNMENT_GROUP, ALIGNMENT_MENU, ALIGNMENT_MENU_SECTION, ALIGN_LEFT_MENU_ITEM, ALIGN_CENTER_MENU_ITEM, ALIGN_RIGHT_MENU_ITEM, UNDO_CHANGES_GROUP, REDO_CHANGES_GROUP, TRACK_CHANGES_GROUP, TRACK_CHANGES_SECTION, UNDO_BUTTON, REDO_BUTTON, TRACK_CHANGES_BUTTON, PIN_SECTION, PIN_GROUP, PIN_BUTTON, LOOM_MENU_SECTION, LOOM_MENU_ITEM, OVERFLOW_SECTION_PRIMARY_TOOLBAR, OVERFLOW_GROUP_PRIMARY_TOOLBAR, OVERFLOW_MENU_PRIMARY_TOOLBAR, SELECTION_EXTENSION_MENU_SECTION, DEFINE_MENU_ITEM, DEFINE_GROUP, DEFINE_BUTTON, AI_VIEW_SECTION, ROVO_GROUP_VIEW, CODE_BLOCK_GROUP, CODE_BLOCK_BUTTON, IMPROVE_WRITING_MENU_ITEM, HERO_PROMPT_MENU_ITEM, ROVO_GROUP_DISPLAY_SMALL, ROVO_MENU_DISPLAY_SMALL, ROVO_PROMPT_MENU_SECTION_DISPLAY_SMALL, ROVO_GROUP_PRIMARY_TOOLBAR, ROVO_WRITE_BUTTON_PRIMARY_TOOLBAR, AI_SECTION_PRIMARY_TOOLBAR, AI_SECTION_FULL_PAGE_PRIMARY_TOOLBAR, AI_SECTION_COMMENT_PRIMARY_TOOLBAR, ADD_POLISH_MENU_ITEM, OVERFLOW_EXTENSIONS_MENU_SECTION, FIRST_PARTY_EXTENSIONS_MENU_ITEM, EXTERNAL_EXTENSIONS_MENU_ITEM, PASTE_MENU, PASTE_MENU_SECTION, PASTE_NESTED_MENU, PASTE_MENU_NESTED_SECTION, PASTE_RICH_TEXT_MENU_ITEM, PASTE_MARKDOWN_MENU_ITEM, PASTE_PLAIN_TEXT_MENU_ITEM, TOOLBAR_BUTTON_TEST_ID, } from './keys';
3
3
  export { useEditorToolbar, EditorToolbarProvider, type EditorToolbarContextType } from './context';
4
4
  export { EditorToolbarUIProvider } from './EditorToolbarUIProvider';
5
5
  export { getInputMethodFromParentKeys, shouldShowPrimaryToolbar, shouldShowSelectionToolbar, } from './utils';
@@ -650,6 +650,37 @@ export declare const EXTERNAL_EXTENSIONS_MENU_ITEM: {
650
650
  readonly key: "external-extensions-menu-item";
651
651
  readonly type: "menu-item";
652
652
  };
653
+ /**
654
+ * Paste options section
655
+ */
656
+ export declare const PASTE_MENU: {
657
+ readonly key: "paste-menu";
658
+ readonly type: "menu";
659
+ };
660
+ export declare const PASTE_MENU_SECTION: {
661
+ readonly key: "paste-menu-section";
662
+ readonly type: "menu-section";
663
+ };
664
+ export declare const PASTE_NESTED_MENU: {
665
+ readonly key: "paste-nested-menu";
666
+ readonly type: "nested-menu";
667
+ };
668
+ export declare const PASTE_MENU_NESTED_SECTION: {
669
+ readonly key: "paste-menu-nested-section";
670
+ readonly type: "menu-section";
671
+ };
672
+ export declare const PASTE_RICH_TEXT_MENU_ITEM: {
673
+ readonly key: "rich-text-menu-item";
674
+ readonly type: "menu-item";
675
+ };
676
+ export declare const PASTE_MARKDOWN_MENU_ITEM: {
677
+ readonly key: "markdown-menu-item";
678
+ readonly type: "menu-item";
679
+ };
680
+ export declare const PASTE_PLAIN_TEXT_MENU_ITEM: {
681
+ readonly key: "plain-text-menu-item";
682
+ readonly type: "menu-item";
683
+ };
653
684
  export declare const TOOLBAR_BUTTON_TEST_ID: {
654
685
  readonly INSERT: "editor-toolbar-insert-button";
655
686
  readonly EMOJI: "editor-toolbar-emoji-button";
@@ -319,3 +319,20 @@ export declare const PIN_GROUP_RANK: {
319
319
  export declare const LOOM_MENU_SECTION_RANK: {
320
320
  "loom-menu-item": number;
321
321
  };
322
+ /**
323
+ * Paste options section
324
+ */
325
+ export declare const PASTE_MENU_RANK: {
326
+ "paste-menu-section": number;
327
+ };
328
+ export declare const PASTE_MENU_SECTION_RANK: {
329
+ "paste-nested-menu": number;
330
+ };
331
+ export declare const PASTE_NESTED_MENU_RANK: {
332
+ "paste-menu-nested-section": number;
333
+ };
334
+ export declare const PASTE_MENU_NESTED_SECTION_RANK: {
335
+ "rich-text-menu-item": number;
336
+ "markdown-menu-item": number;
337
+ "plain-text-menu-item": number;
338
+ };
@@ -14,12 +14,13 @@ export type ExperienceCheckDomMutationObserveConfig = {
14
14
  *
15
15
  * These include:
16
16
  * - childList: adding/removing child nodes directly under the target node
17
+ * - subtree: extends observation to the entire subtree of nodes rooted at target
17
18
  * - attributes: changes to attributes on the target node
18
19
  * - attributeFilter: defines the specific attributes to monitor for changes
19
20
  *
20
21
  * @see https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver/observe
21
22
  */
22
- options?: Pick<MutationObserverInit, 'childList' | 'attributes' | 'attributeFilter'>;
23
+ options?: Pick<MutationObserverInit, 'childList' | 'subtree' | 'attributes' | 'attributeFilter'>;
23
24
  /**
24
25
  * Target element to observe for mutations
25
26
  *
@@ -29,17 +30,22 @@ export type ExperienceCheckDomMutationObserveConfig = {
29
30
  };
30
31
  export type ExperienceCheckDomMutationConfig = {
31
32
  /**
32
- * Callback that returns the MutationObserver configuration
33
+ * Callback that returns one or more MutationObserver configurations.
34
+ *
35
+ * Can return:
36
+ * - A single config for one target to observe
37
+ * - An array of configs to observe multiple targets with one MutationObserver
38
+ * - null if no valid target is available (e.g., when selection node is not found)
33
39
  *
34
40
  * This is a callback to ensure consumers make explicit, conscious decisions about:
35
- * - What element to observe (performance: smaller scope = better performance)
41
+ * - What elements to observe (performance: smaller scope = better performance)
36
42
  * - What mutations to monitor (performance: fewer types = better performance)
37
43
  *
38
44
  * !!IMPORTANT!!
39
45
  * Return null if the target element cannot be found.
40
46
  * This will immediately fail the experience with experienceFailureReason 'domMutationTargetNotFound'.
41
- */
42
- observeConfig: () => ExperienceCheckDomMutationObserveConfig | null;
47
+ */
48
+ observeConfig: () => (ExperienceCheckDomMutationObserveConfig | ExperienceCheckDomMutationObserveConfig[] | null);
43
49
  /**
44
50
  * Callback invoked when DOM mutations are detected
45
51
  *
@@ -1,3 +1,18 @@
1
+ import type { EditorView } from '@atlaskit/editor-prosemirror/view';
2
+ /**
3
+ * Finds the direct child of the ProseMirror root element that contains the current selection.
4
+ *
5
+ * Starting from the DOM node at the selection position, this function walks up the DOM tree
6
+ * until it reaches the ProseMirror root, then returns the last element before the root
7
+ * (i.e., the second top-level ancestor).
8
+ *
9
+ * This is useful for attaching MutationObservers to the narrowest subtree that contains
10
+ * the selection, while still capturing all relevant mutations within that branch.
11
+ *
12
+ * @param editorView - The ProseMirror EditorView instance
13
+ * @returns The direct child of PM root containing the selection, or null if not found
14
+ */
15
+ export declare const getSelectionAncestorDOM: (editorView?: EditorView) => HTMLElement | null;
1
16
  /**
2
17
  * Checks if a given node contains a popup with a nested element identified by a specific test ID.
3
18
  *
@@ -7,4 +7,4 @@ export { ExperienceCheckTimeout } from './ExperienceCheckTimeout';
7
7
  export type { ExperienceCheckPopupMutationConfig, PopupCheckType, } from './ExperienceCheckPopupMutation';
8
8
  export type { ExperienceCheck, ExperienceCheckCallback, ExperienceCheckResult, } from './ExperienceCheck';
9
9
  export type { ExperienceCheckDomMutationConfig, ExperienceCheckDomMutationObserveConfig, ExperienceDomMutationCheckOptions, } from './ExperienceCheckDomMutation';
10
- export { containsPopupWithNestedElement, popupWithNestedElement, getPopupContainerFromEditorView, getNodeQuery, } from './experience-utils';
10
+ export { containsPopupWithNestedElement, popupWithNestedElement, getPopupContainerFromEditorView, getNodeQuery, getSelectionAncestorDOM, } from './experience-utils';
@@ -19,4 +19,19 @@ export declare const pasteOptionsToolbarMessages: {
19
19
  defaultMessage: string;
20
20
  description: string;
21
21
  };
22
+ plainTextAction: {
23
+ id: string;
24
+ defaultMessage: string;
25
+ description: string;
26
+ };
27
+ markdownAction: {
28
+ id: string;
29
+ defaultMessage: string;
30
+ description: string;
31
+ };
32
+ richTextAction: {
33
+ id: string;
34
+ defaultMessage: string;
35
+ description: string;
36
+ };
22
37
  };