@atlaskit/editor-common 131.4.0 → 131.6.0

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 (67) hide show
  1. package/CHANGELOG.md +69 -0
  2. package/dist/cjs/ai-messages/ai.js +5 -0
  3. package/dist/cjs/analytics/types/enums.js +1 -0
  4. package/dist/cjs/analytics/types/numbered-headings-events.js +5 -0
  5. package/dist/cjs/emoji/fallback.js +15 -0
  6. package/dist/cjs/extensibility/Extension/Extension/index.js +5 -2
  7. package/dist/cjs/extensibility/MultiBodiedExtension/index.js +5 -1
  8. package/dist/cjs/extensibility/utils/should-extension-breakout.js +8 -1
  9. package/dist/cjs/mention-avatar.js +21 -0
  10. package/dist/cjs/messages/block-type.js +5 -0
  11. package/dist/cjs/monitoring/error.js +1 -1
  12. package/dist/cjs/numbered-headings/index.js +38 -0
  13. package/dist/cjs/preset/core-plugin/requestDocument.js +6 -0
  14. package/dist/cjs/toolbar/keys.js +10 -2
  15. package/dist/cjs/toolbar/rank.js +4 -3
  16. package/dist/cjs/ui/DropList/index.js +3 -17
  17. package/dist/cjs/ui/Emoji/index.js +2 -3
  18. package/dist/cjs/ui/Mention/index.js +7 -7
  19. package/dist/es2019/ai-messages/ai.js +5 -0
  20. package/dist/es2019/analytics/types/enums.js +1 -0
  21. package/dist/es2019/analytics/types/numbered-headings-events.js +1 -0
  22. package/dist/es2019/emoji/fallback.js +10 -0
  23. package/dist/es2019/extensibility/Extension/Extension/index.js +3 -2
  24. package/dist/es2019/extensibility/MultiBodiedExtension/index.js +3 -1
  25. package/dist/es2019/extensibility/utils/should-extension-breakout.js +7 -1
  26. package/dist/es2019/mention-avatar.js +15 -0
  27. package/dist/es2019/messages/block-type.js +5 -0
  28. package/dist/es2019/monitoring/error.js +1 -1
  29. package/dist/es2019/numbered-headings/index.js +32 -0
  30. package/dist/es2019/preset/core-plugin/requestDocument.js +6 -0
  31. package/dist/es2019/toolbar/keys.js +8 -0
  32. package/dist/es2019/toolbar/rank.js +7 -2
  33. package/dist/es2019/ui/DropList/index.js +4 -18
  34. package/dist/es2019/ui/Emoji/index.js +2 -3
  35. package/dist/es2019/ui/Mention/index.js +7 -5
  36. package/dist/esm/ai-messages/ai.js +5 -0
  37. package/dist/esm/analytics/types/enums.js +1 -0
  38. package/dist/esm/analytics/types/numbered-headings-events.js +1 -0
  39. package/dist/esm/emoji/fallback.js +10 -0
  40. package/dist/esm/extensibility/Extension/Extension/index.js +5 -2
  41. package/dist/esm/extensibility/MultiBodiedExtension/index.js +5 -1
  42. package/dist/esm/extensibility/utils/should-extension-breakout.js +8 -1
  43. package/dist/esm/mention-avatar.js +15 -0
  44. package/dist/esm/messages/block-type.js +5 -0
  45. package/dist/esm/monitoring/error.js +1 -1
  46. package/dist/esm/numbered-headings/index.js +32 -0
  47. package/dist/esm/preset/core-plugin/requestDocument.js +6 -0
  48. package/dist/esm/toolbar/keys.js +8 -0
  49. package/dist/esm/toolbar/rank.js +4 -3
  50. package/dist/esm/ui/DropList/index.js +4 -18
  51. package/dist/esm/ui/Emoji/index.js +2 -3
  52. package/dist/esm/ui/Mention/index.js +7 -7
  53. package/dist/types/ai-messages/ai.d.ts +5 -0
  54. package/dist/types/analytics/types/enums.d.ts +1 -0
  55. package/dist/types/analytics/types/events.d.ts +2 -1
  56. package/dist/types/analytics/types/numbered-headings-events.d.ts +8 -0
  57. package/dist/types/emoji/fallback.d.ts +2 -0
  58. package/dist/types/extensibility/utils/should-extension-breakout.d.ts +2 -1
  59. package/dist/types/mention-avatar.d.ts +8 -0
  60. package/dist/types/messages/block-type.d.ts +5 -0
  61. package/dist/types/numbered-headings/index.d.ts +14 -0
  62. package/dist/types/toolbar/keys.d.ts +8 -0
  63. package/dist/types/toolbar/rank.d.ts +5 -0
  64. package/emoji/fallback/package.json +10 -0
  65. package/mention-avatar/package.json +10 -0
  66. package/numbered-headings/package.json +10 -0
  67. package/package.json +6 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,74 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 131.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`d9228c8792b80`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/d9228c8792b80) -
8
+ Add numbered headings (POC), behind `platform_editor_numbered_headings`.
9
+
10
+ Skip heading-structure scans for text replacements contained within a single textblock; continue
11
+ mapping existing heading decorations as their positions change.
12
+ - `@atlaskit/editor-plugin-numbered-headings`: numbers every heading as a decimal outline (1, 1.1,
13
+ 1.1.1) with node decorations, only recomputing on structural changes. Keeps shared state
14
+ internal, adds a toggle to the pinned and inline Text styles menus, and keeps the on/off setting
15
+ in the plugin for the current editor instance. Only the toggle indicates the enabled state; the
16
+ menu row stays neutral.
17
+ - `@atlaskit/editor-common`: add the `@atlaskit/editor-common/numbered-headings` entry point
18
+ (`getHeadingNumbers`, `HEADING_NUMBER_ATTRIBUTE`), plus numbered headings toolbar keys, ranks,
19
+ messages and analytics event.
20
+ - `@atlaskit/editor-core`: render `data-heading-number` as a heading prefix with a trailing full
21
+ stop (for example, `1.` and `1.1.`) in editor content styles.
22
+
23
+ - [`e5c0cdf2da961`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/e5c0cdf2da961) -
24
+ fg clean up p2m-drop-down-motion
25
+ - [`a940c97e1f9f3`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/a940c97e1f9f3) -
26
+ Improve Smart Link AI action loading and resolution behind platform_editor_fix_link_toolbar_shift.
27
+
28
+ Keep explicit Smart Link actions active across toolbar closure and harmless provider updates.
29
+
30
+ Add an optional host preparation callback so the Smart Link toolbar can keep its spinner while
31
+ summary popup code loads, then open the prepared popup.
32
+
33
+ Opt Smart Link summary popup streams into transport error handling for the experiment treatment so
34
+ failed requests and empty responses reach the panel error state.
35
+
36
+ Disable Smart Link AI actions for unsupported resolver responses and use link-specific error
37
+ tooltip copy. Keep transient failures retryable.
38
+
39
+ Remember resolution failures for the current resolver session. A reopened toolbar starts its AI
40
+ actions disabled after transient failures until background resolution succeeds.
41
+
42
+ Delay background link preloading for ten seconds, then schedule it on idle. Hide AI actions from
43
+ initial render for links already known to be inaccessible or unsupported, keeping their visibility
44
+ stable until the toolbar reopens.
45
+
46
+ ### Patch Changes
47
+
48
+ - [`b49a53d3c425a`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/b49a53d3c425a) -
49
+ EDITOR-8579 Remove extension layout controls and size extensions with the breakout mark. Legacy
50
+ wide and full-width layouts are translated to breakout widths, and the layout attr is kept for
51
+ rollback (behind experiment platform_editor_lovability_resize_extensions)
52
+ - [`3903e9737c5a9`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/3903e9737c5a9) -
53
+ Behind the platform_editor_resolve_missing_document_request gate, notify document-request callers
54
+ with undefined when the editor view is unavailable, allowing async requests to settle.
55
+ - Updated dependencies
56
+
57
+ ## 131.5.0
58
+
59
+ ### Minor Changes
60
+
61
+ - [`ae36fe5fd60ff`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/ae36fe5fd60ff) -
62
+ Expose a lightweight emoji fallback helper and reuse it in editor and renderer emoji components.
63
+ Preserve the behavior of platform_editor_custom_emoji_unicode_fallback without importing provider
64
+ or rendering code into consumers of the helper. Also expose lightweight mention-avatar eligibility
65
+ so consumers can preserve the existing hover-card and avatar experiment cohorts without importing
66
+ mention components.
67
+
68
+ ### Patch Changes
69
+
70
+ - Updated dependencies
71
+
3
72
  ## 131.4.0
4
73
 
5
74
  ### Minor Changes
@@ -333,5 +333,10 @@ var aiMessages = exports.aiMessages = (0, _reactIntl.defineMessages)({
333
333
  id: 'fabric.editor.ai.smartlink.action.listTodos',
334
334
  defaultMessage: 'List to-dos',
335
335
  description: 'Action to list to-dos from the linked content'
336
+ },
337
+ smartlinkResolutionErrorDescription: {
338
+ id: 'fabric.editor.ai.smartlink.resolution-error.description',
339
+ defaultMessage: 'This link failed to resolve.',
340
+ description: 'Shown when a Smart Link AI action cannot load link metadata.'
336
341
  }
337
342
  });
@@ -346,6 +346,7 @@ var ACTION_SUBJECT = exports.ACTION_SUBJECT = /*#__PURE__*/function (ACTION_SUBJ
346
346
  ACTION_SUBJECT["MENTION"] = "mention";
347
347
  ACTION_SUBJECT["MENTION_TYPEAHEAD"] = "mentionTypeahead";
348
348
  ACTION_SUBJECT["NESTED_EXPAND"] = "nestedExpand";
349
+ ACTION_SUBJECT["NUMBERED_HEADINGS"] = "numberedHeadings";
349
350
  ACTION_SUBJECT["PANEL"] = "panel";
350
351
  ACTION_SUBJECT["PICKER"] = "picker";
351
352
  ACTION_SUBJECT["PLUS_MENU"] = "plusMenu";
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getEmojiCustomFallback = getEmojiCustomFallback;
7
+ var _fg = require("@atlaskit/platform-feature-flags/fg");
8
+ var _isSingleEmoji = require("../utils/isSingleEmoji");
9
+ /** Shared custom-emoji fallback without importing components or resolving providers. */
10
+ function getEmojiCustomFallback(fallbackText) {
11
+ if ((0, _fg.fg)('platform_editor_custom_emoji_unicode_fallback')) {
12
+ return (0, _isSingleEmoji.isSingleEmoji)(fallbackText) ? undefined : "\uFFFD";
13
+ }
14
+ return undefined;
15
+ }
@@ -54,7 +54,7 @@ var isCssScrollTimelineSupported = (0, _memoizeOne.default)(function (browserCSS
54
54
  return browserCSS.supports('animation-timeline', '--test-timeline') && browserCSS.supports('scroll-timeline-name', '--test-timeline') && browserCSS.supports('timeline-scope', '--test-timeline') && browserCSS.supports('animation-range', '0% 101%');
55
55
  });
56
56
  function ExtensionWithPluginState(props) {
57
- var _node$attrs;
57
+ var _node$attrs, _node$marks;
58
58
  var node = props.node,
59
59
  handleContentDOMRef = props.handleContentDOMRef,
60
60
  children = props.children,
@@ -110,7 +110,10 @@ function ExtensionWithPluginState(props) {
110
110
  var shouldBreakout = (0, _shouldExtensionBreakout.shouldExtensionBreakout)({
111
111
  layout: layout,
112
112
  isTopLevelNode: isTopLevelNode,
113
- editorAppearance: editorAppearance
113
+ editorAppearance: editorAppearance,
114
+ hasBreakoutMark: (_node$marks = node.marks) === null || _node$marks === void 0 ? void 0 : _node$marks.some(function (mark) {
115
+ return mark.type.name === 'breakout';
116
+ })
114
117
  });
115
118
 
116
119
  // We don't want to show border for non-empty 1p bodied extensions in live pages
@@ -181,6 +181,7 @@ var getWrapperTitleContent = function getWrapperTitleContent(imageData, title, s
181
181
  }), title);
182
182
  };
183
183
  var MultiBodiedExtensionWithWidth = function MultiBodiedExtensionWithWidth(_ref2) {
184
+ var _node$marks;
184
185
  var node = _ref2.node,
185
186
  handleContentDOMRef = _ref2.handleContentDOMRef,
186
187
  getPos = _ref2.getPos,
@@ -256,7 +257,10 @@ var MultiBodiedExtensionWithWidth = function MultiBodiedExtensionWithWidth(_ref2
256
257
  var shouldBreakout = (0, _shouldExtensionBreakout.shouldExtensionBreakout)({
257
258
  layout: layout,
258
259
  editorAppearance: editorAppearance,
259
- isTopLevelNode: true
260
+ isTopLevelNode: true,
261
+ hasBreakoutMark: (_node$marks = node.marks) === null || _node$marks === void 0 ? void 0 : _node$marks.some(function (mark) {
262
+ return mark.type.name === 'breakout';
263
+ })
260
264
  });
261
265
  var mbeWrapperStyles = {};
262
266
  if (shouldBreakout) {
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.shouldExtensionBreakout = void 0;
7
+ var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
7
8
  var breakoutLayouts = new Set(['full-width', 'wide']);
8
9
  var shouldRespectBreakoutForAppearance = function shouldRespectBreakoutForAppearance(appearance) {
9
10
  if (!appearance) {
@@ -21,7 +22,13 @@ var shouldExtensionBreakout = exports.shouldExtensionBreakout = function shouldE
21
22
  var layout = _ref.layout,
22
23
  _ref$isTopLevelNode = _ref.isTopLevelNode,
23
24
  isTopLevelNode = _ref$isTopLevelNode === void 0 ? true : _ref$isTopLevelNode,
24
- editorAppearance = _ref.editorAppearance;
25
+ editorAppearance = _ref.editorAppearance,
26
+ _ref$hasBreakoutMark = _ref.hasBreakoutMark,
27
+ hasBreakoutMark = _ref$hasBreakoutMark === void 0 ? false : _ref$hasBreakoutMark;
28
+ // the breakout mark wrapper owns the width, so the legacy layout must not size the node too
29
+ if (hasBreakoutMark && (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_lovability_resize_extensions')) {
30
+ return false;
31
+ }
25
32
  if (!layout || !breakoutLayouts.has(layout)) {
26
33
  return false;
27
34
  }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isMentionAvatarEnabled = isMentionAvatarEnabled;
7
+ var _expVal = require("@atlaskit/platform-feature-experiments/exp-val");
8
+ var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
9
+ var GENERIC_MENTION_IDS = ['HipChat', 'all', 'here'];
10
+
11
+ /** Shared avatar eligibility without importing mention components or resolving provider data. */
12
+ function isMentionAvatarEnabled(_ref) {
13
+ var id = _ref.id,
14
+ userType = _ref.userType,
15
+ hasProvider = _ref.hasProvider,
16
+ _ref$canReportMissing = _ref.canReportMissingProvider,
17
+ canReportMissingProvider = _ref$canReportMissing === void 0 ? false : _ref$canReportMissing;
18
+ // Preserve Platform's cohort exposure, including when a provider is missing.
19
+ var cohort = (0, _expVal.expVal)('convo_ai_entity_hover_cards_non_hello_exp', 'hover_card_cohort', 'control');
20
+ return (hasProvider || canReportMissingProvider) && userType !== 'SPECIAL' && !GENERIC_MENTION_IDS.includes(id) && (cohort === 'person' || cohort === 'all' || (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_mention_node_avatar') || (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_mention_node_graphql_provider') || (userType === 'APP' || userType === 'AGENT') && (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_drop3_hexagon_agent_avatar'));
21
+ }
@@ -190,5 +190,10 @@ var messages = exports.messages = (0, _reactIntl.defineMessages)({
190
190
  id: 'fabric.editor.other',
191
191
  defaultMessage: 'Others...',
192
192
  description: 'Label shown as a menu item in the block type dropdown to access additional text formatting options in the editor.'
193
+ },
194
+ numberedHeadings: {
195
+ id: 'editor-common.messages.block-type.numberedHeadings',
196
+ defaultMessage: 'Numbered headings',
197
+ description: 'Label for a toggle in the text styles menu that turns automatic numbering (1, 1.1, 1.1.1) on or off for every heading on the page.'
193
198
  }
194
199
  });
@@ -27,7 +27,7 @@ var NETWORK_FAILURE_REGEX = /^network failure/i;
27
27
  var RESIZE_OBSERVER_LOOP_REGEX = /ResizeObserver loop completed with undelivered notifications/;
28
28
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
29
29
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
30
- var packageVersion = "131.3.0";
30
+ var packageVersion = "131.5.0";
31
31
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
32
32
  // Remove URL as it has UGC
33
33
  // Ignored via go/ees007
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getHeadingNumbers = exports.HEADING_NUMBER_ATTRIBUTE = void 0;
7
+ var MAX_HEADING_LEVEL = 6;
8
+
9
+ /**
10
+ * DOM attribute carrying a heading's computed number. Editor and renderer styles render it with
11
+ * `[data-heading-number]::before { content: attr(data-heading-number) "." }`.
12
+ */
13
+ var HEADING_NUMBER_ATTRIBUTE = exports.HEADING_NUMBER_ATTRIBUTE = 'data-heading-number';
14
+
15
+ /**
16
+ * Computes decimal outline numbers (`1`, `1.1`, `1.1.1`) for headings in document order.
17
+ *
18
+ * Each number has exactly `level` segments. Skipped levels are backfilled with `1` and count as
19
+ * real siblings, and a higher-level heading resets all deeper counters.
20
+ *
21
+ * @example getHeadingNumbers([1, 3, 2]) // ['1', '1.1.1', '1.2']
22
+ */
23
+ var getHeadingNumbers = exports.getHeadingNumbers = function getHeadingNumbers(levels) {
24
+ var counters = new Array(MAX_HEADING_LEVEL).fill(0);
25
+ return levels.map(function (rawLevel) {
26
+ var level = Math.min(Math.max(Math.trunc(rawLevel) || 1, 1), MAX_HEADING_LEVEL);
27
+ for (var index = 0; index < level - 1; index++) {
28
+ if (counters[index] === 0) {
29
+ counters[index] = 1;
30
+ }
31
+ }
32
+ counters[level - 1] += 1;
33
+ for (var _index = level; _index < MAX_HEADING_LEVEL; _index++) {
34
+ counters[_index] = 0;
35
+ }
36
+ return counters.slice(0, level).join('.');
37
+ });
38
+ };
@@ -12,6 +12,7 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
12
12
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
13
  var _JSONTransformer = require("@atlaskit/editor-json-transformer/JSONTransformer-2");
14
14
  var _model = require("@atlaskit/editor-prosemirror/model");
15
+ var _fg = require("@atlaskit/platform-feature-flags/fg");
15
16
  var _analytics = require("../../analytics");
16
17
  var transformer = new _JSONTransformer.JSONTransformer();
17
18
  function toJSON(node) {
@@ -72,6 +73,11 @@ function returnDocumentRequest(editorView, callback, transformer, fireAnalyticsE
72
73
  doc = _ref.doc,
73
74
  schema = _ref.schema;
74
75
  if (!doc || !schema) {
76
+ if ((0, _fg.fg)('platform_editor_resolve_missing_document_request')) {
77
+ // Notify callers that no document is available.
78
+ // Async requests rely on this callback to settle their promise.
79
+ callback(undefined);
80
+ }
75
81
  return undefined;
76
82
  }
77
83
  try {
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.PASTE_RICH_TEXT_MENU_ITEM = exports.PASTE_PLAIN_TEXT_MENU_ITEM = exports.PASTE_NESTED_MENU = exports.PASTE_MENU_SECTION = exports.PASTE_MENU_NESTED_SECTION = exports.PASTE_MENU = exports.PASTE_MARKDOWN_MENU_ITEM = exports.OVERFLOW_SECTION_PRIMARY_TOOLBAR = exports.OVERFLOW_SECTION = exports.OVERFLOW_MENU_PRIMARY_TOOLBAR = exports.OVERFLOW_MENU = exports.OVERFLOW_GROUP_PRIMARY_TOOLBAR = exports.OVERFLOW_GROUP = exports.OVERFLOW_EXTENSIONS_MENU_SECTION = exports.OUTDENT_MENU_ITEM = exports.NUMBERED_LIST_MENU_ITEM = exports.NORMAL_TEXT_MENU_ITEM = exports.MORE_PROFESSIONAL_MENU_ITEM = exports.MORE_EMPATHETIC_MENU_ITEM = exports.MORE_CASUAL_MENU_ITEM = exports.MENTION_GROUP = exports.MENTION_BUTTON = exports.MEDIA_GROUP = exports.MEDIA_BUTTON = exports.MAKE_SHORTER_MENU_ITEM = exports.MAKE_LONGER_MENU_ITEM = exports.LOOM_MENU_SECTION = exports.LOOM_MENU_ITEM = exports.LISTS_INDENTATION_MENU_SECTION = exports.LISTS_INDENTATION_MENU = exports.LISTS_INDENTATION_HERO_BUTTON_COLLAPSED = exports.LISTS_INDENTATION_HERO_BUTTON = exports.LISTS_INDENTATION_GROUP_INLINE = exports.LISTS_INDENTATION_GROUP_COLLAPSED = exports.LISTS_INDENTATION_GROUP = exports.LINKING_SECTION = exports.LINKING_GROUP = exports.LINKING_BUTTON = exports.LAYOUT_GROUP = exports.LAYOUT_BUTTON = exports.ITALIC_MENU_ITEM = exports.INSERT_GROUP = exports.INSERT_BUTTON = exports.INSERT_BLOCK_SECTION = exports.INDENT_MENU_ITEM = exports.IMPROVE_WRITING_MENU_ITEM = exports.IMPROVE_WRITING_GROUP = exports.IMPROVE_WRITING_BUTTON = exports.HIGHLIGHT_MENU_ITEM = exports.HERO_PROMPT_MENU_ITEM = exports.HERO_PROMPT_BUTTON_GROUP = exports.HERO_PROMPT_BUTTON = exports.HEADING_6_MENU_ITEM = exports.HEADING_5_MENU_ITEM = exports.HEADING_4_MENU_ITEM = exports.HEADING_3_MENU_ITEM = exports.HEADING_2_MENU_ITEM = exports.HEADING_1_MENU_ITEM = exports.FIRST_PARTY_EXTENSIONS_MENU_ITEM = exports.EXTERNAL_EXTENSIONS_MENU_ITEM = exports.EMOJI_GROUP = exports.EMOJI_BUTTON = exports.DEFINE_MENU_ITEM = exports.DEFINE_GROUP = exports.DEFINE_BUTTON = exports.COMMENT_HERO_BUTTON = exports.COMMENT_GROUP = exports.COLOR_ACCESSIBILITY_MENU_ITEM = exports.COLLAB_SECTION = exports.CODE_MENU_ITEM = exports.CODE_BLOCK_GROUP = exports.CODE_BLOCK_BUTTON = exports.CLEAR_FORMATTING_MENU_ITEM = exports.CLEAR_FORMARTTING_MENU_SECTION = exports.CLEAR_COLOR_MENU_ITEM = exports.CHANGE_TONE_NESTED_MENU = exports.CHANGE_TONE_MENU_SECTION = exports.BULLETED_LIST_MENU_ITEM = exports.BULLETED_LIST_BUTTON_GROUP = exports.BULLETED_LIST_BUTTON = exports.BOLD_MENU_ITEM = exports.BOLD_BUTTON_GROUP = exports.BOLD_BUTTON = exports.BLOCK_QUOTE_MENU_ITEM = exports.APPS_SECTION = exports.ALIGN_RIGHT_MENU_ITEM = exports.ALIGN_LEFT_MENU_ITEM = exports.ALIGN_CENTER_MENU_ITEM = exports.ALIGNMENT_MENU_SECTION = exports.ALIGNMENT_MENU = exports.ALIGNMENT_GROUP = exports.AI_VIEW_SECTION = exports.AI_SUGGESTIONS_GROUP = exports.AI_SUGGESTIONS_BUTTON = exports.AI_SECTION_PRIMARY_TOOLBAR = exports.AI_SECTION_FULL_PAGE_PRIMARY_TOOLBAR = exports.AI_SECTION_COMMENT_PRIMARY_TOOLBAR = exports.AI_SECTION = exports.AI_PASTE_MENU_SECTION = exports.ADD_POLISH_MENU_ITEM = void 0;
7
- exports.VIEW_MODE_TOGGLE_SECTION = exports.UNDO_CHANGES_GROUP = exports.UNDO_BUTTON = exports.UNDERLINE_MENU_ITEM = exports.UNDERLINE_BUTTON_GROUP = exports.UNDERLINE_BUTTON = exports.TRANSLATE_NESTED_MENU = exports.TRANSLATE_MENU_SECTION = exports.TRACK_CHANGES_SECTION = exports.TRACK_CHANGES_GROUP = exports.TRACK_CHANGES_BUTTON = exports.TOOLBAR_BUTTON_TEST_ID = exports.TOOLBARS = exports.TEXT_STYLES_MENU_SECTION = exports.TEXT_STYLES_MENU = exports.TEXT_STYLES_GROUP = exports.TEXT_SECTION_PRIMARY_TOOLBAR = exports.TEXT_SECTION_COLLAPSED = exports.TEXT_SECTION = exports.TEXT_FORMATTING_MENU_SECTION = exports.TEXT_FORMATTING_MENU = exports.TEXT_FORMATTING_HERO_BUTTON_COLLAPSED = exports.TEXT_FORMATTING_HERO_BUTTON = exports.TEXT_FORMATTING_GROUP_INLINE = exports.TEXT_FORMATTING_GROUP_COLLAPSED = exports.TEXT_FORMATTING_GROUP = exports.TEXT_COLOR_MENU_ITEM = exports.TEXT_COLOR_HIGHLIGHT_MENU_SECTION = exports.TEXT_COLOR_HIGHLIGHT_MENU = exports.TEXT_COLOR_HIGHLIGHT_GROUP = exports.TEXT_COLLAPSED_MENU = exports.TEXT_COLLAPSED_GROUP = exports.TASK_LIST_MENU_ITEM = exports.TASK_LIST_GROUP = exports.TASK_LIST_BUTTON = exports.TABLE_SIZE_PICKER = exports.TABLE_GROUP = exports.TABLE_BUTTON = exports.SYNCED_BLOCK_SECTION = exports.SYNCED_BLOCK_GROUP = exports.SYNCED_BLOCK_BUTTON = exports.SUPERSCRIPT_MENU_ITEM = exports.SUBSCRIPT_MENU_ITEM = exports.STRIKE_MENU_ITEM = exports.SPELLING_AND_GRAMMAR_MENU_ITEM = exports.SMART_LINK_DISPLAY_AS_PASTE_MENU_SECTION = exports.SMALL_TEXT_MENU_ITEM = exports.SELECTION_EXTENSION_MENU_SECTION = exports.ROVO_WRITE_BUTTON_PRIMARY_TOOLBAR = exports.ROVO_PROMPT_MENU_SECTION_DISPLAY_SMALL = exports.ROVO_PROMPT_MENU_SECTION = exports.ROVO_MENU_DISPLAY_SMALL = exports.ROVO_MENU = exports.ROVO_HERO_BUTTON = exports.ROVO_GROUP_VIEW = exports.ROVO_GROUP_PRIMARY_TOOLBAR = exports.ROVO_GROUP_DISPLAY_SMALL = exports.ROVO_GROUP = exports.REDO_CHANGES_GROUP = exports.REDO_BUTTON = exports.PIN_SECTION = exports.PIN_MENU_SECTION = exports.PIN_MENU_ITEM = exports.PIN_GROUP = exports.PIN_BUTTON = void 0;
6
+ exports.PASTE_NESTED_MENU = exports.PASTE_MENU_SECTION = exports.PASTE_MENU_NESTED_SECTION = exports.PASTE_MENU = exports.PASTE_MARKDOWN_MENU_ITEM = exports.OVERFLOW_SECTION_PRIMARY_TOOLBAR = exports.OVERFLOW_SECTION = exports.OVERFLOW_MENU_PRIMARY_TOOLBAR = exports.OVERFLOW_MENU = exports.OVERFLOW_GROUP_PRIMARY_TOOLBAR = exports.OVERFLOW_GROUP = exports.OVERFLOW_EXTENSIONS_MENU_SECTION = exports.OUTDENT_MENU_ITEM = exports.NUMBERED_LIST_MENU_ITEM = exports.NUMBERED_HEADINGS_MENU_SECTION = exports.NUMBERED_HEADINGS_MENU_ITEM = exports.NORMAL_TEXT_MENU_ITEM = exports.MORE_PROFESSIONAL_MENU_ITEM = exports.MORE_EMPATHETIC_MENU_ITEM = exports.MORE_CASUAL_MENU_ITEM = exports.MENTION_GROUP = exports.MENTION_BUTTON = exports.MEDIA_GROUP = exports.MEDIA_BUTTON = exports.MAKE_SHORTER_MENU_ITEM = exports.MAKE_LONGER_MENU_ITEM = exports.LOOM_MENU_SECTION = exports.LOOM_MENU_ITEM = exports.LISTS_INDENTATION_MENU_SECTION = exports.LISTS_INDENTATION_MENU = exports.LISTS_INDENTATION_HERO_BUTTON_COLLAPSED = exports.LISTS_INDENTATION_HERO_BUTTON = exports.LISTS_INDENTATION_GROUP_INLINE = exports.LISTS_INDENTATION_GROUP_COLLAPSED = exports.LISTS_INDENTATION_GROUP = exports.LINKING_SECTION = exports.LINKING_GROUP = exports.LINKING_BUTTON = exports.LAYOUT_GROUP = exports.LAYOUT_BUTTON = exports.ITALIC_MENU_ITEM = exports.INSERT_GROUP = exports.INSERT_BUTTON = exports.INSERT_BLOCK_SECTION = exports.INDENT_MENU_ITEM = exports.IMPROVE_WRITING_MENU_ITEM = exports.IMPROVE_WRITING_GROUP = exports.IMPROVE_WRITING_BUTTON = exports.HIGHLIGHT_MENU_ITEM = exports.HERO_PROMPT_MENU_ITEM = exports.HERO_PROMPT_BUTTON_GROUP = exports.HERO_PROMPT_BUTTON = exports.HEADING_6_MENU_ITEM = exports.HEADING_5_MENU_ITEM = exports.HEADING_4_MENU_ITEM = exports.HEADING_3_MENU_ITEM = exports.HEADING_2_MENU_ITEM = exports.HEADING_1_MENU_ITEM = exports.FIRST_PARTY_EXTENSIONS_MENU_ITEM = exports.EXTERNAL_EXTENSIONS_MENU_ITEM = exports.EMOJI_GROUP = exports.EMOJI_BUTTON = exports.DEFINE_MENU_ITEM = exports.DEFINE_GROUP = exports.DEFINE_BUTTON = exports.COMMENT_HERO_BUTTON = exports.COMMENT_GROUP = exports.COLOR_ACCESSIBILITY_MENU_ITEM = exports.COLLAB_SECTION = exports.CODE_MENU_ITEM = exports.CODE_BLOCK_GROUP = exports.CODE_BLOCK_BUTTON = exports.CLEAR_FORMATTING_MENU_ITEM = exports.CLEAR_FORMARTTING_MENU_SECTION = exports.CLEAR_COLOR_MENU_ITEM = exports.CHANGE_TONE_NESTED_MENU = exports.CHANGE_TONE_MENU_SECTION = exports.BULLETED_LIST_MENU_ITEM = exports.BULLETED_LIST_BUTTON_GROUP = exports.BULLETED_LIST_BUTTON = exports.BOLD_MENU_ITEM = exports.BOLD_BUTTON_GROUP = exports.BOLD_BUTTON = exports.BLOCK_QUOTE_MENU_ITEM = exports.APPS_SECTION = exports.ALIGN_RIGHT_MENU_ITEM = exports.ALIGN_LEFT_MENU_ITEM = exports.ALIGN_CENTER_MENU_ITEM = exports.ALIGNMENT_MENU_SECTION = exports.ALIGNMENT_MENU = exports.ALIGNMENT_GROUP = exports.AI_VIEW_SECTION = exports.AI_SUGGESTIONS_GROUP = exports.AI_SUGGESTIONS_BUTTON = exports.AI_SECTION_PRIMARY_TOOLBAR = exports.AI_SECTION_FULL_PAGE_PRIMARY_TOOLBAR = exports.AI_SECTION_COMMENT_PRIMARY_TOOLBAR = exports.AI_SECTION = exports.AI_PASTE_MENU_SECTION = exports.ADD_POLISH_MENU_ITEM = void 0;
7
+ exports.VIEW_MODE_TOGGLE_SECTION = exports.UNDO_CHANGES_GROUP = exports.UNDO_BUTTON = exports.UNDERLINE_MENU_ITEM = exports.UNDERLINE_BUTTON_GROUP = exports.UNDERLINE_BUTTON = exports.TRANSLATE_NESTED_MENU = exports.TRANSLATE_MENU_SECTION = exports.TRACK_CHANGES_SECTION = exports.TRACK_CHANGES_GROUP = exports.TRACK_CHANGES_BUTTON = exports.TOOLBAR_BUTTON_TEST_ID = exports.TOOLBARS = exports.TEXT_STYLES_MENU_SECTION = exports.TEXT_STYLES_MENU = exports.TEXT_STYLES_GROUP = exports.TEXT_SECTION_PRIMARY_TOOLBAR = exports.TEXT_SECTION_COLLAPSED = exports.TEXT_SECTION = exports.TEXT_FORMATTING_MENU_SECTION = exports.TEXT_FORMATTING_MENU = exports.TEXT_FORMATTING_HERO_BUTTON_COLLAPSED = exports.TEXT_FORMATTING_HERO_BUTTON = exports.TEXT_FORMATTING_GROUP_INLINE = exports.TEXT_FORMATTING_GROUP_COLLAPSED = exports.TEXT_FORMATTING_GROUP = exports.TEXT_COLOR_MENU_ITEM = exports.TEXT_COLOR_HIGHLIGHT_MENU_SECTION = exports.TEXT_COLOR_HIGHLIGHT_MENU = exports.TEXT_COLOR_HIGHLIGHT_GROUP = exports.TEXT_COLLAPSED_MENU = exports.TEXT_COLLAPSED_GROUP = exports.TASK_LIST_MENU_ITEM = exports.TASK_LIST_GROUP = exports.TASK_LIST_BUTTON = exports.TABLE_SIZE_PICKER = exports.TABLE_GROUP = exports.TABLE_BUTTON = exports.SYNCED_BLOCK_SECTION = exports.SYNCED_BLOCK_GROUP = exports.SYNCED_BLOCK_BUTTON = exports.SUPERSCRIPT_MENU_ITEM = exports.SUBSCRIPT_MENU_ITEM = exports.STRIKE_MENU_ITEM = exports.SPELLING_AND_GRAMMAR_MENU_ITEM = exports.SMART_LINK_DISPLAY_AS_PASTE_MENU_SECTION = exports.SMALL_TEXT_MENU_ITEM = exports.SELECTION_EXTENSION_MENU_SECTION = exports.ROVO_WRITE_BUTTON_PRIMARY_TOOLBAR = exports.ROVO_PROMPT_MENU_SECTION_DISPLAY_SMALL = exports.ROVO_PROMPT_MENU_SECTION = exports.ROVO_MENU_DISPLAY_SMALL = exports.ROVO_MENU = exports.ROVO_HERO_BUTTON = exports.ROVO_GROUP_VIEW = exports.ROVO_GROUP_PRIMARY_TOOLBAR = exports.ROVO_GROUP_DISPLAY_SMALL = exports.ROVO_GROUP = exports.REDO_CHANGES_GROUP = exports.REDO_BUTTON = exports.PIN_SECTION = exports.PIN_MENU_SECTION = exports.PIN_MENU_ITEM = exports.PIN_GROUP = exports.PIN_BUTTON = exports.PASTE_RICH_TEXT_MENU_ITEM = exports.PASTE_PLAIN_TEXT_MENU_ITEM = void 0;
8
8
  /* eslint-disable @atlaskit/volt-strict-mode/no-multiple-exports */
9
9
 
10
10
  var TOOLBARS = exports.TOOLBARS = {
@@ -208,6 +208,14 @@ var TEXT_STYLES_MENU_SECTION = exports.TEXT_STYLES_MENU_SECTION = {
208
208
  key: 'text-styles-menu-section',
209
209
  type: 'menu-section'
210
210
  };
211
+ var NUMBERED_HEADINGS_MENU_SECTION = exports.NUMBERED_HEADINGS_MENU_SECTION = {
212
+ key: 'numbered-headings-menu-section',
213
+ type: 'menu-section'
214
+ };
215
+ var NUMBERED_HEADINGS_MENU_ITEM = exports.NUMBERED_HEADINGS_MENU_ITEM = {
216
+ key: 'numbered-headings-menu-item',
217
+ type: 'menu-item'
218
+ };
211
219
  var NORMAL_TEXT_MENU_ITEM = exports.NORMAL_TEXT_MENU_ITEM = {
212
220
  key: 'normal-text-menu-item',
213
221
  type: 'menu-item'
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.UNDO_CHANGES_GROUP_RANK = exports.TRANSLATE_MENU_RANK = exports.TRACK_CHANGES_SECTION_RANK = exports.TRACK_CHANGES_GROUP_RANK = exports.TOOLBAR_RANK = exports.TEXT_STYLES_MENU_SECTION_RANK = exports.TEXT_STYLES_MENU_RANK = exports.TEXT_STYLES_GROUP_RANK = exports.TEXT_SECTION_RANK = exports.TEXT_SECTION_PRIMARY_TOOLBAR_RANK = exports.TEXT_SECTION_COLLAPSED_RANK = exports.TEXT_FORMAT_MENU_RANK = exports.TEXT_FORMAT_GROUP_RANK = exports.TEXT_FORMAT_GROUP_COLLAPSED_RANK = exports.TEXT_FORMATTING_MENU_SECTION_RANK = exports.TEXT_COLOR_HIGHLIGHT_MENU_SECTION_RANK = exports.TEXT_COLOR_HIGHLIGHT_MENU_RANK = exports.TEXT_COLOR_HIGHLIGHT_GROUP_RANK = exports.TEXT_COLLAPSED_MENU_RANK = exports.TEXT_COLLAPSED_GROUP_RANK = exports.TASK_LIST_GROUP_RANK = exports.TABLE_GROUP_RANK = exports.SYNCED_BLOCK_SECTION_RANK = exports.ROVO_PROMPT_MENU_SECTION_RANK = exports.ROVO_MENU_RANK = exports.ROVO_GROUP_RANK = exports.ROVO_GROUP_DISPLAY_SMALL_RANK = exports.REDO_CHANGES_GROUP_RANK = exports.PIN_SECTION_RANK = exports.PIN_MENU_SECTION_RANK = exports.PIN_GROUP_RANK = exports.PASTE_NESTED_MENU_RANK = exports.PASTE_MENU_SECTION_RANK = exports.PASTE_MENU_RANK = exports.PASTE_MENU_NESTED_SECTION_RANK = exports.OVERFLOW_SECTION_RANK = exports.OVERFLOW_SECTION_PRIMARY_TOOLBAR_RANK = exports.OVERFLOW_MENU_RANK = exports.OVERFLOW_MENU_PRIMARY_TOOLBAR_RANK = exports.OVERFLOW_GROUP_RANK = exports.OVERFLOW_GROUP_PRIMARY_TOOLBAR_RANK = exports.OVERFLOW_EXTENSIONS_MENU_SECTION_RANK = exports.MENTION_GROUP_RANK = exports.MEDIA_GROUP_RANK = exports.LOOM_MENU_SECTION_RANK = exports.LISTS_INDENTATION_MENU_SECTION_RANK = exports.LISTS_INDENTATION_MENU_RANK = exports.LISTS_INDENTATION_GROUP_RANK = exports.LISTS_INDENTATION_GROUP_COLLAPSED_RANK = exports.LINKING_SECTION_RANK = exports.LINKING_GROUP_RANK = exports.LAYOUT_GROUP_RANK = exports.INSERT_GROUP_RANK = exports.INSERT_BLOCK_SECTION_RANK = exports.IMPROVE_WRITING_GROUP_RANK = exports.HERO_PROMPT_BUTTON_GROUP_RANK = exports.EMOJI_GROUP_RANK = exports.DEFINE_GROUP_RANK = exports.COMMENT_GROUP_RANK = exports.COLLAB_SECTION_RANK = exports.CODE_BLOCK_GROUP_RANK = exports.CLEAR_FORMARTTING_MENU_SECTION_RANK = exports.CHANGE_TONE_MENU_SECTION_RANK = exports.CHANGE_TONE_MENU_RANK = exports.ALIGNMENT_MENU_SECTION_RANK = exports.ALIGNMENT_MENU_RANK = exports.ALIGNMENT_GROUP_RANK = exports.AI_SUGGESTIONS_GROUP_RANK = exports.AI_SECTION_RANK = void 0;
7
+ exports.UNDO_CHANGES_GROUP_RANK = exports.TRANSLATE_MENU_RANK = exports.TRACK_CHANGES_SECTION_RANK = exports.TRACK_CHANGES_GROUP_RANK = exports.TOOLBAR_RANK = exports.TEXT_STYLES_MENU_SECTION_RANK = exports.TEXT_STYLES_MENU_RANK = exports.TEXT_STYLES_GROUP_RANK = exports.TEXT_SECTION_RANK = exports.TEXT_SECTION_PRIMARY_TOOLBAR_RANK = exports.TEXT_SECTION_COLLAPSED_RANK = exports.TEXT_FORMAT_MENU_RANK = exports.TEXT_FORMAT_GROUP_RANK = exports.TEXT_FORMAT_GROUP_COLLAPSED_RANK = exports.TEXT_FORMATTING_MENU_SECTION_RANK = exports.TEXT_COLOR_HIGHLIGHT_MENU_SECTION_RANK = exports.TEXT_COLOR_HIGHLIGHT_MENU_RANK = exports.TEXT_COLOR_HIGHLIGHT_GROUP_RANK = exports.TEXT_COLLAPSED_MENU_RANK = exports.TEXT_COLLAPSED_GROUP_RANK = exports.TASK_LIST_GROUP_RANK = exports.TABLE_GROUP_RANK = exports.SYNCED_BLOCK_SECTION_RANK = exports.ROVO_PROMPT_MENU_SECTION_RANK = exports.ROVO_MENU_RANK = exports.ROVO_GROUP_RANK = exports.ROVO_GROUP_DISPLAY_SMALL_RANK = exports.REDO_CHANGES_GROUP_RANK = exports.PIN_SECTION_RANK = exports.PIN_MENU_SECTION_RANK = exports.PIN_GROUP_RANK = exports.PASTE_NESTED_MENU_RANK = exports.PASTE_MENU_SECTION_RANK = exports.PASTE_MENU_RANK = exports.PASTE_MENU_NESTED_SECTION_RANK = exports.OVERFLOW_SECTION_RANK = exports.OVERFLOW_SECTION_PRIMARY_TOOLBAR_RANK = exports.OVERFLOW_MENU_RANK = exports.OVERFLOW_MENU_PRIMARY_TOOLBAR_RANK = exports.OVERFLOW_GROUP_RANK = exports.OVERFLOW_GROUP_PRIMARY_TOOLBAR_RANK = exports.OVERFLOW_EXTENSIONS_MENU_SECTION_RANK = exports.NUMBERED_HEADINGS_MENU_SECTION_RANK = exports.MENTION_GROUP_RANK = exports.MEDIA_GROUP_RANK = exports.LOOM_MENU_SECTION_RANK = exports.LISTS_INDENTATION_MENU_SECTION_RANK = exports.LISTS_INDENTATION_MENU_RANK = exports.LISTS_INDENTATION_GROUP_RANK = exports.LISTS_INDENTATION_GROUP_COLLAPSED_RANK = exports.LINKING_SECTION_RANK = exports.LINKING_GROUP_RANK = exports.LAYOUT_GROUP_RANK = exports.INSERT_GROUP_RANK = exports.INSERT_BLOCK_SECTION_RANK = exports.IMPROVE_WRITING_GROUP_RANK = exports.HERO_PROMPT_BUTTON_GROUP_RANK = exports.EMOJI_GROUP_RANK = exports.DEFINE_GROUP_RANK = exports.COMMENT_GROUP_RANK = exports.COLLAB_SECTION_RANK = exports.CODE_BLOCK_GROUP_RANK = exports.CLEAR_FORMARTTING_MENU_SECTION_RANK = exports.CHANGE_TONE_MENU_SECTION_RANK = exports.CHANGE_TONE_MENU_RANK = exports.ALIGNMENT_MENU_SECTION_RANK = exports.ALIGNMENT_MENU_RANK = exports.ALIGNMENT_GROUP_RANK = exports.AI_SUGGESTIONS_GROUP_RANK = exports.AI_SECTION_RANK = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _keys = require("./keys");
10
10
  var _TOOLBAR_RANK;
@@ -34,13 +34,14 @@ var TEXT_SECTION_RANK = exports.TEXT_SECTION_RANK = (0, _defineProperty2.default
34
34
  var TEXT_SECTION_PRIMARY_TOOLBAR_RANK = exports.TEXT_SECTION_PRIMARY_TOOLBAR_RANK = (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _keys.TEXT_STYLES_GROUP.key, 100), _keys.BOLD_BUTTON_GROUP.key, 200), _keys.UNDERLINE_BUTTON_GROUP.key, 300), _keys.TEXT_FORMATTING_GROUP.key, 400), _keys.BULLETED_LIST_BUTTON_GROUP.key, 500), _keys.LISTS_INDENTATION_GROUP.key, 600), _keys.ALIGNMENT_GROUP.key, 700), _keys.TEXT_COLOR_HIGHLIGHT_GROUP.key, 800);
35
35
  var TEXT_SECTION_COLLAPSED_RANK = exports.TEXT_SECTION_COLLAPSED_RANK = (0, _defineProperty2.default)({}, _keys.TEXT_COLLAPSED_GROUP.key, 100);
36
36
  var TEXT_COLLAPSED_GROUP_RANK = exports.TEXT_COLLAPSED_GROUP_RANK = (0, _defineProperty2.default)({}, _keys.TEXT_COLLAPSED_MENU.key, 100);
37
- var TEXT_COLLAPSED_MENU_RANK = exports.TEXT_COLLAPSED_MENU_RANK = (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _keys.TEXT_STYLES_MENU_SECTION.key, 100), _keys.TEXT_FORMATTING_MENU_SECTION.key, 200), _keys.CLEAR_FORMARTTING_MENU_SECTION.key, 300), _keys.LISTS_INDENTATION_MENU_SECTION.key, 400), _keys.ALIGNMENT_MENU_SECTION.key, 500), _keys.TEXT_COLOR_HIGHLIGHT_MENU_SECTION.key, 600);
37
+ var TEXT_COLLAPSED_MENU_RANK = exports.TEXT_COLLAPSED_MENU_RANK = (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _keys.TEXT_STYLES_MENU_SECTION.key, 100), _keys.NUMBERED_HEADINGS_MENU_SECTION.key, 150), _keys.TEXT_FORMATTING_MENU_SECTION.key, 200), _keys.CLEAR_FORMARTTING_MENU_SECTION.key, 300), _keys.LISTS_INDENTATION_MENU_SECTION.key, 400), _keys.ALIGNMENT_MENU_SECTION.key, 500), _keys.TEXT_COLOR_HIGHLIGHT_MENU_SECTION.key, 600);
38
38
 
39
39
  /**
40
40
  * Text styles group
41
41
  */
42
42
  var TEXT_STYLES_GROUP_RANK = exports.TEXT_STYLES_GROUP_RANK = (0, _defineProperty2.default)({}, _keys.TEXT_STYLES_MENU.key, 100);
43
- var TEXT_STYLES_MENU_RANK = exports.TEXT_STYLES_MENU_RANK = (0, _defineProperty2.default)({}, _keys.TEXT_STYLES_MENU_SECTION.key, 100);
43
+ var TEXT_STYLES_MENU_RANK = exports.TEXT_STYLES_MENU_RANK = (0, _defineProperty2.default)((0, _defineProperty2.default)({}, _keys.TEXT_STYLES_MENU_SECTION.key, 100), _keys.NUMBERED_HEADINGS_MENU_SECTION.key, 200);
44
+ var NUMBERED_HEADINGS_MENU_SECTION_RANK = exports.NUMBERED_HEADINGS_MENU_SECTION_RANK = (0, _defineProperty2.default)({}, _keys.NUMBERED_HEADINGS_MENU_ITEM.key, 100);
44
45
  var TEXT_STYLES_MENU_SECTION_RANK = exports.TEXT_STYLES_MENU_SECTION_RANK = (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({}, _keys.NORMAL_TEXT_MENU_ITEM.key, 100), _keys.SMALL_TEXT_MENU_ITEM.key, 150), _keys.HEADING_1_MENU_ITEM.key, 200), _keys.HEADING_2_MENU_ITEM.key, 300), _keys.HEADING_3_MENU_ITEM.key, 400), _keys.HEADING_4_MENU_ITEM.key, 500), _keys.HEADING_5_MENU_ITEM.key, 600), _keys.HEADING_6_MENU_ITEM.key, 700), _keys.BLOCK_QUOTE_MENU_ITEM.key, 800);
45
46
 
46
47
  /**
@@ -16,7 +16,6 @@ var _react2 = require("@emotion/react");
16
16
  var _createAndFireEvents = _interopRequireDefault(require("@atlaskit/analytics-next/createAndFireEvents"));
17
17
  var _withAnalyticsContext = _interopRequireDefault(require("@atlaskit/analytics-next/withAnalyticsContext"));
18
18
  var _withAnalyticsEvents = _interopRequireDefault(require("@atlaskit/analytics-next/withAnalyticsEvents"));
19
- var _fg = require("@atlaskit/platform-feature-flags/fg");
20
19
  var _Layer = _interopRequireDefault(require("../Layer"));
21
20
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
22
21
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /**
@@ -24,17 +23,9 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
24
23
  * @jsx jsx
25
24
  */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
26
25
  var packageName = "@atlaskit/editor-common";
27
- var packageVersion = "131.3.0";
26
+ var packageVersion = "131.5.0";
28
27
  var halfFocusRing = 1;
29
28
  var dropOffset = '0, 8';
30
- var fadeIn = (0, _react2.keyframes)({
31
- '0%': {
32
- opacity: 0
33
- },
34
- '100%': {
35
- opacity: 1
36
- }
37
- });
38
29
  // Ignored via go/ees005
39
30
  // eslint-disable-next-line @repo/internal/react/no-class-components
40
31
  var DropList = /*#__PURE__*/function (_Component) {
@@ -61,11 +52,6 @@ var DropList = /*#__PURE__*/function (_Component) {
61
52
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
62
53
  boxSizing: _this.props.shouldFitContainer ? 'border-box' : undefined
63
54
  }));
64
- (0, _defineProperty2.default)(_this, "motionStyles", (0, _react2.css)({
65
- animationName: "".concat(fadeIn),
66
- animationDuration: '360ms',
67
- animationTimingFunction: 'cubic-bezier(0.8, 0, 0, 1)'
68
- }));
69
55
  /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
70
56
  (0, _defineProperty2.default)(_this, "menuWrapper", function () {
71
57
  return (0, _react2.css)({
@@ -183,7 +169,7 @@ var DropList = /*#__PURE__*/function (_Component) {
183
169
  role: "presentation"
184
170
  }, children) : null;
185
171
  return (0, _react2.jsx)("div", {
186
- css: [this.wrapperStyles, (0, _fg.fg)('p2m-drop-down-motion') && this.motionStyles],
172
+ css: this.wrapperStyles,
187
173
  ref: this.handleDroplistRef
188
174
  }, (0, _react2.jsx)(_Layer.default, {
189
175
  content: layerContent,
@@ -191,7 +177,7 @@ var DropList = /*#__PURE__*/function (_Component) {
191
177
  position: position,
192
178
  onPositioned: onPositioned
193
179
  }, (0, _react2.jsx)("div", {
194
- css: [this.triggerStyles, (0, _fg.fg)('p2m-drop-down-motion') && this.motionStyles],
180
+ css: this.triggerStyles,
195
181
  ref: this.handleTriggerRef
196
182
  }, trigger)));
197
183
  }
@@ -8,8 +8,7 @@ Object.defineProperty(exports, "__esModule", {
8
8
  exports.default = void 0;
9
9
  var _react = _interopRequireWildcard(require("react"));
10
10
  var _resourcedEmoji = _interopRequireDefault(require("@atlaskit/emoji/resourced-emoji"));
11
- var _fg = require("@atlaskit/platform-feature-flags/fg");
12
- var _isSingleEmoji = require("../../utils/isSingleEmoji");
11
+ var _fallback = require("../../emoji/fallback");
13
12
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
14
13
  var EmojiNodeFunctional = function EmojiNodeFunctional(props) {
15
14
  var _resourceConfig$optim;
@@ -31,7 +30,7 @@ var EmojiNodeFunctional = function EmojiNodeFunctional(props) {
31
30
  var emojiProviderResolver = (0, _react.useMemo)(function () {
32
31
  return Promise.resolve(emojiProvider);
33
32
  }, [emojiProvider]);
34
- var customFallback = (0, _fg.fg)('platform_editor_custom_emoji_unicode_fallback') && !(0, _isSingleEmoji.isSingleEmoji)(fallback || shortName) ? "\uFFFD" : undefined;
33
+ var customFallback = (0, _fallback.getEmojiCustomFallback)(fallback || shortName);
35
34
  if (allowTextFallback && !emojiProvider) {
36
35
  return /*#__PURE__*/_react.default.createElement("span", {
37
36
  "data-emoji-id": id,
@@ -13,19 +13,15 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
13
13
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
14
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
15
  var _react = _interopRequireWildcard(require("react"));
16
- var _expVal = require("@atlaskit/platform-feature-experiments/exp-val");
17
16
  var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
18
17
  var _fg = require("@atlaskit/platform-feature-flags/fg");
18
+ var _mentionAvatar = require("../../mention-avatar");
19
19
  var _providerFactory = require("../../provider-factory");
20
20
  var _mentionWithProviders = require("./mention-with-providers");
21
21
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
22
22
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
23
23
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /* eslint-disable @repo/internal/react/no-class-components */
24
24
  var MENTION_PROVIDERS = ['mentionProvider', 'profilecardProvider'];
25
- var GENERIC_MENTION_IDS = ['HipChat', 'all', 'here'];
26
- var isAgentMentionUserType = function isAgentMentionUserType(userType) {
27
- return userType === 'APP' || userType === 'AGENT';
28
- };
29
25
  var Mention = exports.default = /*#__PURE__*/function (_PureComponent) {
30
26
  function Mention(props) {
31
27
  var _this;
@@ -46,8 +42,12 @@ var Mention = exports.default = /*#__PURE__*/function (_PureComponent) {
46
42
  profilecardProvider = providers.profilecardProvider;
47
43
  var hasProvider = Boolean(mentionNodeDataProvider);
48
44
  var canReportMissingProvider = !hasProvider && (0, _fg.fg)('platform_editor_mention_avatar_observability');
49
- var cohort = (0, _expVal.expVal)('convo_ai_entity_hover_cards_non_hello_exp', 'hover_card_cohort', 'control');
50
- var isAvatarEnabled = (hasProvider || canReportMissingProvider) && userType !== 'SPECIAL' && !GENERIC_MENTION_IDS.includes(id) && (cohort === 'person' || cohort === 'all' || (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_mention_node_avatar') || (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_mention_node_graphql_provider') || isAgentMentionUserType(userType) && (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_drop3_hexagon_agent_avatar'));
45
+ var isAvatarEnabled = (0, _mentionAvatar.isMentionAvatarEnabled)({
46
+ id: id,
47
+ userType: userType,
48
+ hasProvider: hasProvider,
49
+ canReportMissingProvider: canReportMissingProvider
50
+ });
51
51
  if (isAvatarEnabled && mentionNodeDataProvider) {
52
52
  return /*#__PURE__*/_react.default.createElement(_mentionWithProviders.MentionWithAvatarProviders, {
53
53
  id: id,
@@ -327,5 +327,10 @@ export const aiMessages = defineMessages({
327
327
  id: 'fabric.editor.ai.smartlink.action.listTodos',
328
328
  defaultMessage: 'List to-dos',
329
329
  description: 'Action to list to-dos from the linked content'
330
+ },
331
+ smartlinkResolutionErrorDescription: {
332
+ id: 'fabric.editor.ai.smartlink.resolution-error.description',
333
+ defaultMessage: 'This link failed to resolve.',
334
+ description: 'Shown when a Smart Link AI action cannot load link metadata.'
330
335
  }
331
336
  });
@@ -352,6 +352,7 @@ export let ACTION_SUBJECT = /*#__PURE__*/function (ACTION_SUBJECT) {
352
352
  ACTION_SUBJECT["MENTION"] = "mention";
353
353
  ACTION_SUBJECT["MENTION_TYPEAHEAD"] = "mentionTypeahead";
354
354
  ACTION_SUBJECT["NESTED_EXPAND"] = "nestedExpand";
355
+ ACTION_SUBJECT["NUMBERED_HEADINGS"] = "numberedHeadings";
355
356
  ACTION_SUBJECT["PANEL"] = "panel";
356
357
  ACTION_SUBJECT["PICKER"] = "picker";
357
358
  ACTION_SUBJECT["PLUS_MENU"] = "plusMenu";
@@ -0,0 +1,10 @@
1
+ import { fg } from '@atlaskit/platform-feature-flags/fg';
2
+ import { isSingleEmoji } from '../utils/isSingleEmoji';
3
+
4
+ /** Shared custom-emoji fallback without importing components or resolving providers. */
5
+ export function getEmojiCustomFallback(fallbackText) {
6
+ if (fg('platform_editor_custom_emoji_unicode_fallback')) {
7
+ return isSingleEmoji(fallbackText) ? undefined : '\uFFFD';
8
+ }
9
+ return undefined;
10
+ }
@@ -41,7 +41,7 @@ const isCssScrollTimelineSupported = memoizeOne(browserCSS => {
41
41
  return browserCSS.supports('animation-timeline', '--test-timeline') && browserCSS.supports('scroll-timeline-name', '--test-timeline') && browserCSS.supports('timeline-scope', '--test-timeline') && browserCSS.supports('animation-range', '0% 101%');
42
42
  });
43
43
  function ExtensionWithPluginState(props) {
44
- var _node$attrs, _node$attrs$parameter, _node$attrs$parameter2, _node$attrs$parameter3;
44
+ var _node$attrs, _node$attrs$parameter, _node$attrs$parameter2, _node$attrs$parameter3, _node$marks;
45
45
  const {
46
46
  node,
47
47
  handleContentDOMRef,
@@ -99,7 +99,8 @@ function ExtensionWithPluginState(props) {
99
99
  const shouldBreakout = shouldExtensionBreakout({
100
100
  layout,
101
101
  isTopLevelNode,
102
- editorAppearance
102
+ editorAppearance,
103
+ hasBreakoutMark: (_node$marks = node.marks) === null || _node$marks === void 0 ? void 0 : _node$marks.some(mark => mark.type.name === 'breakout')
103
104
  });
104
105
 
105
106
  // We don't want to show border for non-empty 1p bodied extensions in live pages
@@ -191,6 +191,7 @@ const MultiBodiedExtensionWithWidth = ({
191
191
  allowBodiedOverride = false,
192
192
  hideConfigureLabel
193
193
  }) => {
194
+ var _node$marks;
194
195
  const {
195
196
  showMacroInteractionDesignUpdates
196
197
  } = macroInteractionDesignFeatureFlags || {};
@@ -246,7 +247,8 @@ const MultiBodiedExtensionWithWidth = ({
246
247
  const shouldBreakout = shouldExtensionBreakout({
247
248
  layout,
248
249
  editorAppearance,
249
- isTopLevelNode: true
250
+ isTopLevelNode: true,
251
+ hasBreakoutMark: (_node$marks = node.marks) === null || _node$marks === void 0 ? void 0 : _node$marks.some(mark => mark.type.name === 'breakout')
250
252
  });
251
253
  let mbeWrapperStyles = {};
252
254
  if (shouldBreakout) {
@@ -1,3 +1,4 @@
1
+ import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
1
2
  const breakoutLayouts = new Set(['full-width', 'wide']);
2
3
  const shouldRespectBreakoutForAppearance = appearance => {
3
4
  if (!appearance) {
@@ -14,8 +15,13 @@ const shouldRespectBreakoutForAppearance = appearance => {
14
15
  export const shouldExtensionBreakout = ({
15
16
  layout,
16
17
  isTopLevelNode = true,
17
- editorAppearance
18
+ editorAppearance,
19
+ hasBreakoutMark = false
18
20
  }) => {
21
+ // the breakout mark wrapper owns the width, so the legacy layout must not size the node too
22
+ if (hasBreakoutMark && isExperimentEnabled('platform_editor_lovability_resize_extensions')) {
23
+ return false;
24
+ }
19
25
  if (!layout || !breakoutLayouts.has(layout)) {
20
26
  return false;
21
27
  }
@@ -0,0 +1,15 @@
1
+ import { expVal } from '@atlaskit/platform-feature-experiments/exp-val';
2
+ import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
3
+ const GENERIC_MENTION_IDS = ['HipChat', 'all', 'here'];
4
+
5
+ /** Shared avatar eligibility without importing mention components or resolving provider data. */
6
+ export function isMentionAvatarEnabled({
7
+ id,
8
+ userType,
9
+ hasProvider,
10
+ canReportMissingProvider = false
11
+ }) {
12
+ // Preserve Platform's cohort exposure, including when a provider is missing.
13
+ const cohort = expVal('convo_ai_entity_hover_cards_non_hello_exp', 'hover_card_cohort', 'control');
14
+ return (hasProvider || canReportMissingProvider) && userType !== 'SPECIAL' && !GENERIC_MENTION_IDS.includes(id) && (cohort === 'person' || cohort === 'all' || isExperimentEnabled('platform_editor_mention_node_avatar') || isExperimentEnabled('platform_editor_mention_node_graphql_provider') || (userType === 'APP' || userType === 'AGENT') && isExperimentEnabled('platform_editor_drop3_hexagon_agent_avatar'));
15
+ }
@@ -184,5 +184,10 @@ export const messages = defineMessages({
184
184
  id: 'fabric.editor.other',
185
185
  defaultMessage: 'Others...',
186
186
  description: 'Label shown as a menu item in the block type dropdown to access additional text formatting options in the editor.'
187
+ },
188
+ numberedHeadings: {
189
+ id: 'editor-common.messages.block-type.numberedHeadings',
190
+ defaultMessage: 'Numbered headings',
191
+ description: 'Label for a toggle in the text styles menu that turns automatic numbering (1, 1.1, 1.1.1) on or off for every heading on the page.'
187
192
  }
188
193
  });
@@ -13,7 +13,7 @@ const NETWORK_FAILURE_REGEX = /^network failure/i;
13
13
  const RESIZE_OBSERVER_LOOP_REGEX = /ResizeObserver loop completed with undelivered notifications/;
14
14
  const SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
15
15
  const packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
16
- const packageVersion = "131.3.0";
16
+ const packageVersion = "131.5.0";
17
17
  const sanitiseSentryEvents = (data, _hint) => {
18
18
  // Remove URL as it has UGC
19
19
  // Ignored via go/ees007