@atlaskit/editor-common 131.5.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 (51) hide show
  1. package/CHANGELOG.md +54 -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/extensibility/Extension/Extension/index.js +5 -2
  6. package/dist/cjs/extensibility/MultiBodiedExtension/index.js +5 -1
  7. package/dist/cjs/extensibility/utils/should-extension-breakout.js +8 -1
  8. package/dist/cjs/messages/block-type.js +5 -0
  9. package/dist/cjs/monitoring/error.js +1 -1
  10. package/dist/cjs/numbered-headings/index.js +38 -0
  11. package/dist/cjs/preset/core-plugin/requestDocument.js +6 -0
  12. package/dist/cjs/toolbar/keys.js +10 -2
  13. package/dist/cjs/toolbar/rank.js +4 -3
  14. package/dist/cjs/ui/DropList/index.js +3 -17
  15. package/dist/es2019/ai-messages/ai.js +5 -0
  16. package/dist/es2019/analytics/types/enums.js +1 -0
  17. package/dist/es2019/analytics/types/numbered-headings-events.js +1 -0
  18. package/dist/es2019/extensibility/Extension/Extension/index.js +3 -2
  19. package/dist/es2019/extensibility/MultiBodiedExtension/index.js +3 -1
  20. package/dist/es2019/extensibility/utils/should-extension-breakout.js +7 -1
  21. package/dist/es2019/messages/block-type.js +5 -0
  22. package/dist/es2019/monitoring/error.js +1 -1
  23. package/dist/es2019/numbered-headings/index.js +32 -0
  24. package/dist/es2019/preset/core-plugin/requestDocument.js +6 -0
  25. package/dist/es2019/toolbar/keys.js +8 -0
  26. package/dist/es2019/toolbar/rank.js +7 -2
  27. package/dist/es2019/ui/DropList/index.js +4 -18
  28. package/dist/esm/ai-messages/ai.js +5 -0
  29. package/dist/esm/analytics/types/enums.js +1 -0
  30. package/dist/esm/analytics/types/numbered-headings-events.js +1 -0
  31. package/dist/esm/extensibility/Extension/Extension/index.js +5 -2
  32. package/dist/esm/extensibility/MultiBodiedExtension/index.js +5 -1
  33. package/dist/esm/extensibility/utils/should-extension-breakout.js +8 -1
  34. package/dist/esm/messages/block-type.js +5 -0
  35. package/dist/esm/monitoring/error.js +1 -1
  36. package/dist/esm/numbered-headings/index.js +32 -0
  37. package/dist/esm/preset/core-plugin/requestDocument.js +6 -0
  38. package/dist/esm/toolbar/keys.js +8 -0
  39. package/dist/esm/toolbar/rank.js +4 -3
  40. package/dist/esm/ui/DropList/index.js +4 -18
  41. package/dist/types/ai-messages/ai.d.ts +5 -0
  42. package/dist/types/analytics/types/enums.d.ts +1 -0
  43. package/dist/types/analytics/types/events.d.ts +2 -1
  44. package/dist/types/analytics/types/numbered-headings-events.d.ts +8 -0
  45. package/dist/types/extensibility/utils/should-extension-breakout.d.ts +2 -1
  46. package/dist/types/messages/block-type.d.ts +5 -0
  47. package/dist/types/numbered-headings/index.d.ts +14 -0
  48. package/dist/types/toolbar/keys.d.ts +8 -0
  49. package/dist/types/toolbar/rank.d.ts +5 -0
  50. package/numbered-headings/package.json +10 -0
  51. package/package.json +6 -5
package/CHANGELOG.md CHANGED
@@ -1,5 +1,59 @@
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
+
3
57
  ## 131.5.0
4
58
 
5
59
  ### 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
+ });
@@ -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
  }
@@ -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.4.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.4.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
  }
@@ -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";
@@ -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
  }
@@ -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.4.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
@@ -0,0 +1,32 @@
1
+ const MAX_HEADING_LEVEL = 6;
2
+
3
+ /**
4
+ * DOM attribute carrying a heading's computed number. Editor and renderer styles render it with
5
+ * `[data-heading-number]::before { content: attr(data-heading-number) "." }`.
6
+ */
7
+ export const HEADING_NUMBER_ATTRIBUTE = 'data-heading-number';
8
+
9
+ /**
10
+ * Computes decimal outline numbers (`1`, `1.1`, `1.1.1`) for headings in document order.
11
+ *
12
+ * Each number has exactly `level` segments. Skipped levels are backfilled with `1` and count as
13
+ * real siblings, and a higher-level heading resets all deeper counters.
14
+ *
15
+ * @example getHeadingNumbers([1, 3, 2]) // ['1', '1.1.1', '1.2']
16
+ */
17
+ export const getHeadingNumbers = levels => {
18
+ const counters = new Array(MAX_HEADING_LEVEL).fill(0);
19
+ return levels.map(rawLevel => {
20
+ const level = Math.min(Math.max(Math.trunc(rawLevel) || 1, 1), MAX_HEADING_LEVEL);
21
+ for (let index = 0; index < level - 1; index++) {
22
+ if (counters[index] === 0) {
23
+ counters[index] = 1;
24
+ }
25
+ }
26
+ counters[level - 1] += 1;
27
+ for (let index = level; index < MAX_HEADING_LEVEL; index++) {
28
+ counters[index] = 0;
29
+ }
30
+ return counters.slice(0, level).join('.');
31
+ });
32
+ };
@@ -1,5 +1,6 @@
1
1
  import { JSONTransformer } from '@atlaskit/editor-json-transformer/JSONTransformer-2';
2
2
  import { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
3
+ import { fg } from '@atlaskit/platform-feature-flags/fg';
3
4
  import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '../../analytics';
4
5
  const transformer = new JSONTransformer();
5
6
  export function toJSON(node) {
@@ -53,6 +54,11 @@ export function returnDocumentRequest(editorView, callback, transformer, fireAna
53
54
  schema
54
55
  } = (_editorView$state = editorView === null || editorView === void 0 ? void 0 : editorView.state) !== null && _editorView$state !== void 0 ? _editorView$state : {};
55
56
  if (!doc || !schema) {
57
+ if (fg('platform_editor_resolve_missing_document_request')) {
58
+ // Notify callers that no document is available.
59
+ // Async requests rely on this callback to settle their promise.
60
+ callback(undefined);
61
+ }
56
62
  return undefined;
57
63
  }
58
64
  try {
@@ -201,6 +201,14 @@ export const TEXT_STYLES_MENU_SECTION = {
201
201
  key: 'text-styles-menu-section',
202
202
  type: 'menu-section'
203
203
  };
204
+ export const NUMBERED_HEADINGS_MENU_SECTION = {
205
+ key: 'numbered-headings-menu-section',
206
+ type: 'menu-section'
207
+ };
208
+ export const NUMBERED_HEADINGS_MENU_ITEM = {
209
+ key: 'numbered-headings-menu-item',
210
+ type: 'menu-item'
211
+ };
204
212
  export const NORMAL_TEXT_MENU_ITEM = {
205
213
  key: 'normal-text-menu-item',
206
214
  type: 'menu-item'
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable @atlaskit/volt-strict-mode/no-multiple-exports */
2
2
 
3
- import { AI_PASTE_MENU_SECTION, 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, SMALL_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, COLOR_ACCESSIBILITY_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, AI_SUGGESTIONS_GROUP, AI_SUGGESTIONS_BUTTON, 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, VIEW_MODE_TOGGLE_SECTION } from './keys';
3
+ import { AI_PASTE_MENU_SECTION, 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, NUMBERED_HEADINGS_MENU_SECTION, NUMBERED_HEADINGS_MENU_ITEM, NORMAL_TEXT_MENU_ITEM, SMALL_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, COLOR_ACCESSIBILITY_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, AI_SUGGESTIONS_GROUP, AI_SUGGESTIONS_BUTTON, 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, VIEW_MODE_TOGGLE_SECTION } from './keys';
4
4
  export const TOOLBAR_RANK = {
5
5
  [AI_SECTION.key]: 100,
6
6
  [AI_VIEW_SECTION.key]: 100,
@@ -111,6 +111,7 @@ export const TEXT_COLLAPSED_GROUP_RANK = {
111
111
  };
112
112
  export const TEXT_COLLAPSED_MENU_RANK = {
113
113
  [TEXT_STYLES_MENU_SECTION.key]: 100,
114
+ [NUMBERED_HEADINGS_MENU_SECTION.key]: 150,
114
115
  [TEXT_FORMATTING_MENU_SECTION.key]: 200,
115
116
  [CLEAR_FORMARTTING_MENU_SECTION.key]: 300,
116
117
  [LISTS_INDENTATION_MENU_SECTION.key]: 400,
@@ -125,7 +126,11 @@ export const TEXT_STYLES_GROUP_RANK = {
125
126
  [TEXT_STYLES_MENU.key]: 100
126
127
  };
127
128
  export const TEXT_STYLES_MENU_RANK = {
128
- [TEXT_STYLES_MENU_SECTION.key]: 100
129
+ [TEXT_STYLES_MENU_SECTION.key]: 100,
130
+ [NUMBERED_HEADINGS_MENU_SECTION.key]: 200
131
+ };
132
+ export const NUMBERED_HEADINGS_MENU_SECTION_RANK = {
133
+ [NUMBERED_HEADINGS_MENU_ITEM.key]: 100
129
134
  };
130
135
  export const TEXT_STYLES_MENU_SECTION_RANK = {
131
136
  [NORMAL_TEXT_MENU_ITEM.key]: 100,
@@ -7,24 +7,15 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
7
7
  import { Component } from 'react';
8
8
 
9
9
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
10
- import { css, jsx, keyframes } from '@emotion/react';
10
+ import { css, jsx } from '@emotion/react';
11
11
  import createAndFireEvent from '@atlaskit/analytics-next/createAndFireEvents';
12
12
  import withAnalyticsContext from '@atlaskit/analytics-next/withAnalyticsContext';
13
13
  import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
14
- import { fg } from '@atlaskit/platform-feature-flags/fg';
15
14
  import Layer from '../Layer';
16
15
  const packageName = "@atlaskit/editor-common";
17
- const packageVersion = "131.4.0";
16
+ const packageVersion = "131.5.0";
18
17
  const halfFocusRing = 1;
19
18
  const dropOffset = '0, 8';
20
- const fadeIn = keyframes({
21
- '0%': {
22
- opacity: 0
23
- },
24
- '100%': {
25
- opacity: 1
26
- }
27
- });
28
19
  // Ignored via go/ees005
29
20
  // eslint-disable-next-line @repo/internal/react/no-class-components
30
21
  class DropList extends Component {
@@ -46,11 +37,6 @@ class DropList extends Component {
46
37
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
47
38
  boxSizing: this.props.shouldFitContainer ? 'border-box' : undefined
48
39
  }));
49
- _defineProperty(this, "motionStyles", css({
50
- animationName: `${fadeIn}`,
51
- animationDuration: '360ms',
52
- animationTimingFunction: 'cubic-bezier(0.8, 0, 0, 1)'
53
- }));
54
40
  /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
55
41
  _defineProperty(this, "menuWrapper", () => {
56
42
  return css({
@@ -168,7 +154,7 @@ class DropList extends Component {
168
154
  role: "presentation"
169
155
  }, children) : null;
170
156
  return jsx("div", {
171
- css: [this.wrapperStyles, fg('p2m-drop-down-motion') && this.motionStyles],
157
+ css: this.wrapperStyles,
172
158
  ref: this.handleDroplistRef
173
159
  }, jsx(Layer, {
174
160
  content: layerContent,
@@ -176,7 +162,7 @@ class DropList extends Component {
176
162
  position: position,
177
163
  onPositioned: onPositioned
178
164
  }, jsx("div", {
179
- css: [this.triggerStyles, fg('p2m-drop-down-motion') && this.motionStyles],
165
+ css: this.triggerStyles,
180
166
  ref: this.handleTriggerRef
181
167
  }, trigger)));
182
168
  }
@@ -327,5 +327,10 @@ export var 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 var 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";
@@ -47,7 +47,7 @@ var isCssScrollTimelineSupported = memoizeOne(function (browserCSS) {
47
47
  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%');
48
48
  });
49
49
  function ExtensionWithPluginState(props) {
50
- var _node$attrs;
50
+ var _node$attrs, _node$marks;
51
51
  var node = props.node,
52
52
  handleContentDOMRef = props.handleContentDOMRef,
53
53
  children = props.children,
@@ -103,7 +103,10 @@ function ExtensionWithPluginState(props) {
103
103
  var shouldBreakout = shouldExtensionBreakout({
104
104
  layout: layout,
105
105
  isTopLevelNode: isTopLevelNode,
106
- editorAppearance: editorAppearance
106
+ editorAppearance: editorAppearance,
107
+ hasBreakoutMark: (_node$marks = node.marks) === null || _node$marks === void 0 ? void 0 : _node$marks.some(function (mark) {
108
+ return mark.type.name === 'breakout';
109
+ })
107
110
  });
108
111
 
109
112
  // We don't want to show border for non-empty 1p bodied extensions in live pages
@@ -174,6 +174,7 @@ var getWrapperTitleContent = function getWrapperTitleContent(imageData, title, s
174
174
  }), title);
175
175
  };
176
176
  var MultiBodiedExtensionWithWidth = function MultiBodiedExtensionWithWidth(_ref2) {
177
+ var _node$marks;
177
178
  var node = _ref2.node,
178
179
  handleContentDOMRef = _ref2.handleContentDOMRef,
179
180
  getPos = _ref2.getPos,
@@ -249,7 +250,10 @@ var MultiBodiedExtensionWithWidth = function MultiBodiedExtensionWithWidth(_ref2
249
250
  var shouldBreakout = shouldExtensionBreakout({
250
251
  layout: layout,
251
252
  editorAppearance: editorAppearance,
252
- isTopLevelNode: true
253
+ isTopLevelNode: true,
254
+ hasBreakoutMark: (_node$marks = node.marks) === null || _node$marks === void 0 ? void 0 : _node$marks.some(function (mark) {
255
+ return mark.type.name === 'breakout';
256
+ })
253
257
  });
254
258
  var mbeWrapperStyles = {};
255
259
  if (shouldBreakout) {
@@ -1,3 +1,4 @@
1
+ import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
1
2
  var breakoutLayouts = new Set(['full-width', 'wide']);
2
3
  var shouldRespectBreakoutForAppearance = function shouldRespectBreakoutForAppearance(appearance) {
3
4
  if (!appearance) {
@@ -15,7 +16,13 @@ export var shouldExtensionBreakout = function shouldExtensionBreakout(_ref) {
15
16
  var layout = _ref.layout,
16
17
  _ref$isTopLevelNode = _ref.isTopLevelNode,
17
18
  isTopLevelNode = _ref$isTopLevelNode === void 0 ? true : _ref$isTopLevelNode,
18
- editorAppearance = _ref.editorAppearance;
19
+ editorAppearance = _ref.editorAppearance,
20
+ _ref$hasBreakoutMark = _ref.hasBreakoutMark,
21
+ hasBreakoutMark = _ref$hasBreakoutMark === void 0 ? false : _ref$hasBreakoutMark;
22
+ // the breakout mark wrapper owns the width, so the legacy layout must not size the node too
23
+ if (hasBreakoutMark && isExperimentEnabled('platform_editor_lovability_resize_extensions')) {
24
+ return false;
25
+ }
19
26
  if (!layout || !breakoutLayouts.has(layout)) {
20
27
  return false;
21
28
  }
@@ -184,5 +184,10 @@ export var 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
  });
@@ -19,7 +19,7 @@ var NETWORK_FAILURE_REGEX = /^network failure/i;
19
19
  var RESIZE_OBSERVER_LOOP_REGEX = /ResizeObserver loop completed with undelivered notifications/;
20
20
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
21
21
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
22
- var packageVersion = "131.4.0";
22
+ var packageVersion = "131.5.0";
23
23
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
24
24
  // Remove URL as it has UGC
25
25
  // Ignored via go/ees007
@@ -0,0 +1,32 @@
1
+ var MAX_HEADING_LEVEL = 6;
2
+
3
+ /**
4
+ * DOM attribute carrying a heading's computed number. Editor and renderer styles render it with
5
+ * `[data-heading-number]::before { content: attr(data-heading-number) "." }`.
6
+ */
7
+ export var HEADING_NUMBER_ATTRIBUTE = 'data-heading-number';
8
+
9
+ /**
10
+ * Computes decimal outline numbers (`1`, `1.1`, `1.1.1`) for headings in document order.
11
+ *
12
+ * Each number has exactly `level` segments. Skipped levels are backfilled with `1` and count as
13
+ * real siblings, and a higher-level heading resets all deeper counters.
14
+ *
15
+ * @example getHeadingNumbers([1, 3, 2]) // ['1', '1.1.1', '1.2']
16
+ */
17
+ export var getHeadingNumbers = function getHeadingNumbers(levels) {
18
+ var counters = new Array(MAX_HEADING_LEVEL).fill(0);
19
+ return levels.map(function (rawLevel) {
20
+ var level = Math.min(Math.max(Math.trunc(rawLevel) || 1, 1), MAX_HEADING_LEVEL);
21
+ for (var index = 0; index < level - 1; index++) {
22
+ if (counters[index] === 0) {
23
+ counters[index] = 1;
24
+ }
25
+ }
26
+ counters[level - 1] += 1;
27
+ for (var _index = level; _index < MAX_HEADING_LEVEL; _index++) {
28
+ counters[_index] = 0;
29
+ }
30
+ return counters.slice(0, level).join('.');
31
+ });
32
+ };
@@ -2,6 +2,7 @@ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
2
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
3
3
  import { JSONTransformer } from '@atlaskit/editor-json-transformer/JSONTransformer-2';
4
4
  import { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
5
+ import { fg } from '@atlaskit/platform-feature-flags/fg';
5
6
  import { ACTION, ACTION_SUBJECT, EVENT_TYPE } from '../../analytics';
6
7
  var transformer = new JSONTransformer();
7
8
  export function toJSON(node) {
@@ -62,6 +63,11 @@ export function returnDocumentRequest(editorView, callback, transformer, fireAna
62
63
  doc = _ref.doc,
63
64
  schema = _ref.schema;
64
65
  if (!doc || !schema) {
66
+ if (fg('platform_editor_resolve_missing_document_request')) {
67
+ // Notify callers that no document is available.
68
+ // Async requests rely on this callback to settle their promise.
69
+ callback(undefined);
70
+ }
65
71
  return undefined;
66
72
  }
67
73
  try {
@@ -201,6 +201,14 @@ export var TEXT_STYLES_MENU_SECTION = {
201
201
  key: 'text-styles-menu-section',
202
202
  type: 'menu-section'
203
203
  };
204
+ export var NUMBERED_HEADINGS_MENU_SECTION = {
205
+ key: 'numbered-headings-menu-section',
206
+ type: 'menu-section'
207
+ };
208
+ export var NUMBERED_HEADINGS_MENU_ITEM = {
209
+ key: 'numbered-headings-menu-item',
210
+ type: 'menu-item'
211
+ };
204
212
  export var NORMAL_TEXT_MENU_ITEM = {
205
213
  key: 'normal-text-menu-item',
206
214
  type: 'menu-item'
@@ -2,7 +2,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  var _TOOLBAR_RANK;
3
3
  /* eslint-disable @atlaskit/volt-strict-mode/no-multiple-exports */
4
4
 
5
- import { AI_PASTE_MENU_SECTION, 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, SMALL_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, COLOR_ACCESSIBILITY_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, AI_SUGGESTIONS_GROUP, AI_SUGGESTIONS_BUTTON, 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, VIEW_MODE_TOGGLE_SECTION } from './keys';
5
+ import { AI_PASTE_MENU_SECTION, 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, NUMBERED_HEADINGS_MENU_SECTION, NUMBERED_HEADINGS_MENU_ITEM, NORMAL_TEXT_MENU_ITEM, SMALL_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, COLOR_ACCESSIBILITY_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, AI_SUGGESTIONS_GROUP, AI_SUGGESTIONS_BUTTON, 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, VIEW_MODE_TOGGLE_SECTION } from './keys';
6
6
  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(_defineProperty(_TOOLBAR_RANK, PIN_SECTION.key, 900), VIEW_MODE_TOGGLE_SECTION.key, 950), OVERFLOW_SECTION_PRIMARY_TOOLBAR.key, 1000));
7
7
 
8
8
  /**
@@ -28,13 +28,14 @@ export var TEXT_SECTION_RANK = _defineProperty(_defineProperty(_defineProperty(_
28
28
  export var TEXT_SECTION_PRIMARY_TOOLBAR_RANK = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, TEXT_STYLES_GROUP.key, 100), BOLD_BUTTON_GROUP.key, 200), UNDERLINE_BUTTON_GROUP.key, 300), TEXT_FORMATTING_GROUP.key, 400), BULLETED_LIST_BUTTON_GROUP.key, 500), LISTS_INDENTATION_GROUP.key, 600), ALIGNMENT_GROUP.key, 700), TEXT_COLOR_HIGHLIGHT_GROUP.key, 800);
29
29
  export var TEXT_SECTION_COLLAPSED_RANK = _defineProperty({}, TEXT_COLLAPSED_GROUP.key, 100);
30
30
  export var TEXT_COLLAPSED_GROUP_RANK = _defineProperty({}, TEXT_COLLAPSED_MENU.key, 100);
31
- export var TEXT_COLLAPSED_MENU_RANK = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, TEXT_STYLES_MENU_SECTION.key, 100), TEXT_FORMATTING_MENU_SECTION.key, 200), CLEAR_FORMARTTING_MENU_SECTION.key, 300), LISTS_INDENTATION_MENU_SECTION.key, 400), ALIGNMENT_MENU_SECTION.key, 500), TEXT_COLOR_HIGHLIGHT_MENU_SECTION.key, 600);
31
+ export var TEXT_COLLAPSED_MENU_RANK = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, TEXT_STYLES_MENU_SECTION.key, 100), NUMBERED_HEADINGS_MENU_SECTION.key, 150), TEXT_FORMATTING_MENU_SECTION.key, 200), CLEAR_FORMARTTING_MENU_SECTION.key, 300), LISTS_INDENTATION_MENU_SECTION.key, 400), ALIGNMENT_MENU_SECTION.key, 500), TEXT_COLOR_HIGHLIGHT_MENU_SECTION.key, 600);
32
32
 
33
33
  /**
34
34
  * Text styles group
35
35
  */
36
36
  export var TEXT_STYLES_GROUP_RANK = _defineProperty({}, TEXT_STYLES_MENU.key, 100);
37
- export var TEXT_STYLES_MENU_RANK = _defineProperty({}, TEXT_STYLES_MENU_SECTION.key, 100);
37
+ export var TEXT_STYLES_MENU_RANK = _defineProperty(_defineProperty({}, TEXT_STYLES_MENU_SECTION.key, 100), NUMBERED_HEADINGS_MENU_SECTION.key, 200);
38
+ export var NUMBERED_HEADINGS_MENU_SECTION_RANK = _defineProperty({}, NUMBERED_HEADINGS_MENU_ITEM.key, 100);
38
39
  export var TEXT_STYLES_MENU_SECTION_RANK = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, NORMAL_TEXT_MENU_ITEM.key, 100), SMALL_TEXT_MENU_ITEM.key, 150), HEADING_1_MENU_ITEM.key, 200), HEADING_2_MENU_ITEM.key, 300), HEADING_3_MENU_ITEM.key, 400), HEADING_4_MENU_ITEM.key, 500), HEADING_5_MENU_ITEM.key, 600), HEADING_6_MENU_ITEM.key, 700), BLOCK_QUOTE_MENU_ITEM.key, 800);
39
40
 
40
41
  /**
@@ -14,24 +14,15 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
14
14
  import { Component } from 'react';
15
15
 
16
16
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
17
- import { css, jsx, keyframes } from '@emotion/react';
17
+ import { css, jsx } from '@emotion/react';
18
18
  import createAndFireEvent from '@atlaskit/analytics-next/createAndFireEvents';
19
19
  import withAnalyticsContext from '@atlaskit/analytics-next/withAnalyticsContext';
20
20
  import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
21
- import { fg } from '@atlaskit/platform-feature-flags/fg';
22
21
  import Layer from '../Layer';
23
22
  var packageName = "@atlaskit/editor-common";
24
- var packageVersion = "131.4.0";
23
+ var packageVersion = "131.5.0";
25
24
  var halfFocusRing = 1;
26
25
  var dropOffset = '0, 8';
27
- var fadeIn = keyframes({
28
- '0%': {
29
- opacity: 0
30
- },
31
- '100%': {
32
- opacity: 1
33
- }
34
- });
35
26
  // Ignored via go/ees005
36
27
  // eslint-disable-next-line @repo/internal/react/no-class-components
37
28
  var DropList = /*#__PURE__*/function (_Component) {
@@ -58,11 +49,6 @@ var DropList = /*#__PURE__*/function (_Component) {
58
49
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
59
50
  boxSizing: _this.props.shouldFitContainer ? 'border-box' : undefined
60
51
  }));
61
- _defineProperty(_this, "motionStyles", css({
62
- animationName: "".concat(fadeIn),
63
- animationDuration: '360ms',
64
- animationTimingFunction: 'cubic-bezier(0.8, 0, 0, 1)'
65
- }));
66
52
  /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
67
53
  _defineProperty(_this, "menuWrapper", function () {
68
54
  return css({
@@ -180,7 +166,7 @@ var DropList = /*#__PURE__*/function (_Component) {
180
166
  role: "presentation"
181
167
  }, children) : null;
182
168
  return jsx("div", {
183
- css: [this.wrapperStyles, fg('p2m-drop-down-motion') && this.motionStyles],
169
+ css: this.wrapperStyles,
184
170
  ref: this.handleDroplistRef
185
171
  }, jsx(Layer, {
186
172
  content: layerContent,
@@ -188,7 +174,7 @@ var DropList = /*#__PURE__*/function (_Component) {
188
174
  position: position,
189
175
  onPositioned: onPositioned
190
176
  }, jsx("div", {
191
- css: [this.triggerStyles, fg('p2m-drop-down-motion') && this.motionStyles],
177
+ css: this.triggerStyles,
192
178
  ref: this.handleTriggerRef
193
179
  }, trigger)));
194
180
  }
@@ -264,6 +264,11 @@ export declare const aiMessages: {
264
264
  description: string;
265
265
  id: string;
266
266
  };
267
+ smartlinkResolutionErrorDescription: {
268
+ defaultMessage: string;
269
+ description: string;
270
+ id: string;
271
+ };
267
272
  smartlinkSummarizeChanges: {
268
273
  defaultMessage: string;
269
274
  description: string;
@@ -330,6 +330,7 @@ export declare enum ACTION_SUBJECT {
330
330
  MENTION = "mention",
331
331
  MENTION_TYPEAHEAD = "mentionTypeahead",
332
332
  NESTED_EXPAND = "nestedExpand",
333
+ NUMBERED_HEADINGS = "numberedHeadings",
333
334
  PANEL = "panel",
334
335
  PICKER = "picker",
335
336
  PLUS_MENU = "plusMenu",
@@ -50,6 +50,7 @@ import type { MoveContentEventPayload } from './move-content-events';
50
50
  import type { NativeEmbedResizeErroredAEP } from './native-embed-events';
51
51
  import type { NestedTableActionsEventPayload } from './nested-table-events';
52
52
  import type { NodeEventPayload } from './node-events';
53
+ import type { NumberedHeadingsEventPayload } from './numbered-headings-events';
53
54
  import type { OfflineEditingEventPayload } from './offline-editing-event';
54
55
  import type { PasteActionsMenuEventPayload, PasteEventPayload } from './paste-events';
55
56
  import type { QuickInsertInformationEventPayload, QuickInsertSearchOutcomeEventPayload } from './quick-insert-events';
@@ -73,7 +74,7 @@ export type SimplifiedNode = {
73
74
  pos: number;
74
75
  type: string;
75
76
  };
76
- export type AnalyticsEventPayload<T = void> = AvatarEventPayload | GeneralEventPayload<T> | FormatEventPayload | SubstituteEventPayload | InsertEventPayload | NodeEventPayload | MoveContentEventPayload | MediaEventPayload | TableEventPayload | PasteEventPayload | PasteActionsMenuEventPayload | QuickInsertInformationEventPayload | QuickInsertSearchOutcomeEventPayload | CutCopyEventPayload | ErrorEventPayload | TextColorEventPayload | FindReplaceEventPayload | DateEventPayload | SelectionEventPayload | ListEventPayload | ConfigPanelEventPayload | ElementBrowserEventPayload | CreateLinkInlineDialogEventPayload | HighlightActionsEventPayload | UnsupportedContentPayload | ExtensionEventPayload | TypeAheadPayload | UnlinkToolbarAEP | EditLinkToolbarAEP | PreviewItemClickedAEP | OpenLinkToolbarAEP | OpenSettingsToolbarAEP | CustomPanelEventPayload | FeatureExposureAEP | NewCollabSyncUpErrorAEP | UnsupportedContentTooltipPayload | ReferentialityEventPayload | LoomEventPayload | MBEEventPayload | HighlightEventPayload | DatasourceClickedPayload | ElementEventPayload | VisitedLinkAEP | ViewEventPayload | MediaUploadEventPayload | MentionEventPayload | EngagementPlatformEventPayload | NestedTableActionsEventPayload | ContainerNodeActionsEventPayload | AICommandPaletteEventPayload | AIDefinitionsEventPayload | AIEventPayload | AIStreamingEventPayload | AIProactiveEventPayload | AiAutocompleteEventPayload | AiSuggestionsEventPayload | ContextualTypeaheadEventPayload | AIQuickPromptEventPayload | AIUnifiedEventPayload | BreakoutEventPayload | BlockMenuEventPayload | ActiveSessionEventPayload | AIInlineSuggestionPayload | SelectionExtensionEventPayload | TelepointerClickPayload | SelectionToolbarEventPayload | ExperienceEventPayload | AlignmentEventPayload | UndoRedoAEP | OfflineEditingEventPayload | AgentEditShimmerNotShownAEP | FloatingToolbarOverflowEventPayload | SyncBlockEventPayload | FloatingToolbarEventPayload;
77
+ export type AnalyticsEventPayload<T = void> = AvatarEventPayload | GeneralEventPayload<T> | FormatEventPayload | SubstituteEventPayload | InsertEventPayload | NodeEventPayload | MoveContentEventPayload | MediaEventPayload | TableEventPayload | PasteEventPayload | PasteActionsMenuEventPayload | QuickInsertInformationEventPayload | QuickInsertSearchOutcomeEventPayload | CutCopyEventPayload | ErrorEventPayload | TextColorEventPayload | FindReplaceEventPayload | DateEventPayload | SelectionEventPayload | ListEventPayload | ConfigPanelEventPayload | ElementBrowserEventPayload | CreateLinkInlineDialogEventPayload | HighlightActionsEventPayload | UnsupportedContentPayload | ExtensionEventPayload | TypeAheadPayload | UnlinkToolbarAEP | EditLinkToolbarAEP | PreviewItemClickedAEP | OpenLinkToolbarAEP | OpenSettingsToolbarAEP | CustomPanelEventPayload | FeatureExposureAEP | NewCollabSyncUpErrorAEP | UnsupportedContentTooltipPayload | ReferentialityEventPayload | LoomEventPayload | MBEEventPayload | HighlightEventPayload | DatasourceClickedPayload | ElementEventPayload | VisitedLinkAEP | ViewEventPayload | MediaUploadEventPayload | MentionEventPayload | EngagementPlatformEventPayload | NestedTableActionsEventPayload | ContainerNodeActionsEventPayload | AICommandPaletteEventPayload | AIDefinitionsEventPayload | AIEventPayload | AIStreamingEventPayload | AIProactiveEventPayload | AiAutocompleteEventPayload | AiSuggestionsEventPayload | ContextualTypeaheadEventPayload | AIQuickPromptEventPayload | AIUnifiedEventPayload | BreakoutEventPayload | BlockMenuEventPayload | ActiveSessionEventPayload | AIInlineSuggestionPayload | SelectionExtensionEventPayload | TelepointerClickPayload | SelectionToolbarEventPayload | ExperienceEventPayload | AlignmentEventPayload | UndoRedoAEP | OfflineEditingEventPayload | AgentEditShimmerNotShownAEP | FloatingToolbarOverflowEventPayload | SyncBlockEventPayload | NumberedHeadingsEventPayload | FloatingToolbarEventPayload;
77
78
  type CustomPanelEventPayload = TrackAEP<ACTION.CHANGED_BACKGROUND_COLOR | ACTION.CHANGED_ICON | ACTION.REMOVE_ICON, ACTION_SUBJECT.PANEL, ACTION_SUBJECT_ID.PANEL, {
78
79
  newColor: string;
79
80
  previousColor: string;
@@ -0,0 +1,8 @@
1
+ import type { ACTION, ACTION_SUBJECT, INPUT_METHOD } from './enums';
2
+ import type { TrackAEP } from './utils';
3
+ export type NumberedHeadingsToggledAEP = TrackAEP<ACTION.TOGGLED, ACTION_SUBJECT.NUMBERED_HEADINGS, undefined, {
4
+ enabled: boolean;
5
+ headingCount: number;
6
+ inputMethod: INPUT_METHOD.TOOLBAR;
7
+ }, undefined>;
8
+ export type NumberedHeadingsEventPayload = NumberedHeadingsToggledAEP;
@@ -1,8 +1,9 @@
1
1
  import type { EditorAppearance } from '../../types';
2
2
  interface ShouldExtensionBreakoutArgs {
3
3
  editorAppearance?: EditorAppearance;
4
+ hasBreakoutMark?: boolean;
4
5
  isTopLevelNode?: boolean;
5
6
  layout?: string;
6
7
  }
7
- export declare const shouldExtensionBreakout: ({ layout, isTopLevelNode, editorAppearance, }: ShouldExtensionBreakoutArgs) => boolean;
8
+ export declare const shouldExtensionBreakout: ({ layout, isTopLevelNode, editorAppearance, hasBreakoutMark, }: ShouldExtensionBreakoutArgs) => boolean;
8
9
  export {};
@@ -129,6 +129,11 @@ export declare const messages: {
129
129
  description: string;
130
130
  id: string;
131
131
  };
132
+ numberedHeadings: {
133
+ defaultMessage: string;
134
+ description: string;
135
+ id: string;
136
+ };
132
137
  other: {
133
138
  defaultMessage: string;
134
139
  description: string;
@@ -0,0 +1,14 @@
1
+ /**
2
+ * DOM attribute carrying a heading's computed number. Editor and renderer styles render it with
3
+ * `[data-heading-number]::before { content: attr(data-heading-number) "." }`.
4
+ */
5
+ export declare const HEADING_NUMBER_ATTRIBUTE = "data-heading-number";
6
+ /**
7
+ * Computes decimal outline numbers (`1`, `1.1`, `1.1.1`) for headings in document order.
8
+ *
9
+ * Each number has exactly `level` segments. Skipped levels are backfilled with `1` and count as
10
+ * real siblings, and a higher-level heading resets all deeper counters.
11
+ *
12
+ * @example getHeadingNumbers([1, 3, 2]) // ['1', '1.1.1', '1.2']
13
+ */
14
+ export declare const getHeadingNumbers: (levels: readonly number[]) => string[];
@@ -191,6 +191,14 @@ export declare const TEXT_STYLES_MENU_SECTION: {
191
191
  readonly key: 'text-styles-menu-section';
192
192
  readonly type: 'menu-section';
193
193
  };
194
+ export declare const NUMBERED_HEADINGS_MENU_SECTION: {
195
+ readonly key: 'numbered-headings-menu-section';
196
+ readonly type: 'menu-section';
197
+ };
198
+ export declare const NUMBERED_HEADINGS_MENU_ITEM: {
199
+ readonly key: 'numbered-headings-menu-item';
200
+ readonly type: 'menu-item';
201
+ };
194
202
  export declare const NORMAL_TEXT_MENU_ITEM: {
195
203
  readonly key: 'normal-text-menu-item';
196
204
  readonly type: 'menu-item';
@@ -104,6 +104,7 @@ export declare const TEXT_COLLAPSED_MENU_RANK: {
104
104
  'alignment-menu-section': number;
105
105
  'clear-formatting-menu-section': number;
106
106
  'lists-indendation-menu-section': number;
107
+ 'numbered-headings-menu-section': number;
107
108
  'text-color-highlight-menu-section': number;
108
109
  'text-formatting-menu-section': number;
109
110
  'text-styles-menu-section': number;
@@ -115,8 +116,12 @@ export declare const TEXT_STYLES_GROUP_RANK: {
115
116
  'text-styles-menu': number;
116
117
  };
117
118
  export declare const TEXT_STYLES_MENU_RANK: {
119
+ 'numbered-headings-menu-section': number;
118
120
  'text-styles-menu-section': number;
119
121
  };
122
+ export declare const NUMBERED_HEADINGS_MENU_SECTION_RANK: {
123
+ 'numbered-headings-menu-item': number;
124
+ };
120
125
  export declare const TEXT_STYLES_MENU_SECTION_RANK: Record<string, number>;
121
126
  /**
122
127
  * Text formatting group
@@ -0,0 +1,10 @@
1
+ {
2
+ "name": "@atlaskit/editor-common/numbered-headings",
3
+ "main": "../dist/cjs/numbered-headings/index.js",
4
+ "module": "../dist/esm/numbered-headings/index.js",
5
+ "module:es2019": "../dist/es2019/numbered-headings/index.js",
6
+ "sideEffects": [
7
+ "**/*.compiled.css"
8
+ ],
9
+ "types": "../dist/types/numbered-headings/index.d.ts"
10
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "131.5.0",
3
+ "version": "131.6.0",
4
4
  "description": "A package that contains common classes and components for editor and renderer",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -45,7 +45,7 @@
45
45
  "@atlaskit/editor-json-transformer": "^10.0.0",
46
46
  "@atlaskit/editor-palette": "^3.5.0",
47
47
  "@atlaskit/editor-prosemirror": "^9.0.0",
48
- "@atlaskit/editor-shared-styles": "^4.4.0",
48
+ "@atlaskit/editor-shared-styles": "^4.5.0",
49
49
  "@atlaskit/editor-tables": "^3.2.0",
50
50
  "@atlaskit/editor-toolbar": "^2.8.0",
51
51
  "@atlaskit/editor-toolbar-model": "^1.2.0",
@@ -147,6 +147,10 @@
147
147
  "sinon": "^2.2.0"
148
148
  },
149
149
  "platform-feature-flags": {
150
+ "platform_editor_resolve_missing_document_request": {
151
+ "type": "boolean",
152
+ "referenceOnly": true
153
+ },
150
154
  "cc_maui_annotations_on_extensions": {
151
155
  "type": "boolean",
152
156
  "referenceOnly": true
@@ -214,9 +218,6 @@
214
218
  "platform_editor_legacy_content_macro_visual_update": {
215
219
  "type": "boolean"
216
220
  },
217
- "p2m-drop-down-motion": {
218
- "type": "boolean"
219
- },
220
221
  "platform_editor_content_mode_button_mvp": {
221
222
  "type": "boolean"
222
223
  },