@atlaskit/editor-common 114.25.2 → 114.26.1

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 (30) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/messages/markdown-mode.js +100 -0
  3. package/dist/cjs/monitoring/error.js +1 -1
  4. package/dist/cjs/node-selection/index.js +45 -0
  5. package/dist/cjs/styles/shared/table-cell-background-for-compiled.js +15 -0
  6. package/dist/cjs/styles/shared/tableCell.js +2 -2
  7. package/dist/cjs/ui/DropList/index.js +1 -1
  8. package/dist/es2019/messages/markdown-mode.js +100 -0
  9. package/dist/es2019/monitoring/error.js +1 -1
  10. package/dist/es2019/node-selection/index.js +40 -0
  11. package/dist/es2019/styles/shared/table-cell-background-for-compiled.js +10 -0
  12. package/dist/es2019/styles/shared/tableCell.js +1 -1
  13. package/dist/es2019/ui/DropList/index.js +1 -1
  14. package/dist/esm/messages/markdown-mode.js +100 -0
  15. package/dist/esm/monitoring/error.js +1 -1
  16. package/dist/esm/node-selection/index.js +40 -0
  17. package/dist/esm/styles/shared/table-cell-background-for-compiled.js +10 -0
  18. package/dist/esm/styles/shared/tableCell.js +1 -1
  19. package/dist/esm/ui/DropList/index.js +1 -1
  20. package/dist/types/messages/markdown-mode.d.ts +100 -0
  21. package/dist/types/node-selection/index.d.ts +17 -0
  22. package/dist/types/styles/shared/table-cell-background-for-compiled.d.ts +8 -0
  23. package/dist/types/styles/shared/tableCell.d.ts +1 -0
  24. package/dist/types-ts4.5/messages/markdown-mode.d.ts +100 -0
  25. package/dist/types-ts4.5/node-selection/index.d.ts +17 -0
  26. package/dist/types-ts4.5/styles/shared/table-cell-background-for-compiled.d.ts +8 -0
  27. package/dist/types-ts4.5/styles/shared/tableCell.d.ts +1 -0
  28. package/node-selection/package.json +17 -0
  29. package/package.json +6 -6
  30. package/table-cell-background-for-compiled/package.json +17 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 114.26.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+
9
+ ## 114.26.0
10
+
11
+ ### Minor Changes
12
+
13
+ - [`38fb4916b9085`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/38fb4916b9085) -
14
+ Add `@atlaskit/editor-common/node-selection` entry-point with platform-level node selection
15
+ utilities. Under `platform_editor_maui_jira_updates`, `open-remix-modal` and
16
+ `editor-plugin-block-controls` delegate to these utilities, fixing remix selection in environments
17
+ where `blockControls` is not present.
18
+
3
19
  ## 114.25.2
4
20
 
5
21
  ### Patch Changes
@@ -39,5 +39,105 @@ var markdownModeMessages = exports.markdownModeMessages = (0, _reactIntl.defineM
39
39
  id: 'fabric.editor.markdownMode.sourceView.ariaLabel',
40
40
  defaultMessage: 'Markdown source',
41
41
  description: 'Accessible label for the markdown source editor.'
42
+ },
43
+ confirmDialogTitleToMarkdown: {
44
+ id: 'fabric.editor.markdownMode.confirmDialog.title.toMarkdown',
45
+ defaultMessage: 'Convert to markdown?',
46
+ description: 'Title of the confirmation dialog shown when the user is about to convert a Live Doc from rich text into markdown mode.'
47
+ },
48
+ confirmDialogTitleToMarkdownLossy: {
49
+ id: 'fabric.editor.markdownMode.confirmDialog.title.toMarkdownLossy',
50
+ defaultMessage: 'Convert to Markdown?',
51
+ description: 'Title of the warning dialog shown when the user is about to convert a Live Doc whose rich-text content cannot fully round-trip through markdown (lossy conversion).'
52
+ },
53
+ confirmDialogTitleToRichText: {
54
+ id: 'fabric.editor.markdownMode.confirmDialog.title.toRichText',
55
+ defaultMessage: 'Convert to rich text?',
56
+ description: 'Title of the confirmation dialog shown when the user is about to convert a Live Doc from markdown back to rich text mode.'
57
+ },
58
+ confirmDialogToMarkdownToolsRemoved: {
59
+ id: 'fabric.editor.markdownMode.confirmDialog.toMarkdown.toolsRemoved',
60
+ defaultMessage: 'Standard rich text tools will be removed.',
61
+ description: 'Body row inside the convert-to-markdown confirmation dialog; explains that the rich-text editor toolbar disappears once the document is in markdown mode.'
62
+ },
63
+ confirmDialogToMarkdownToggle: {
64
+ id: 'fabric.editor.markdownMode.confirmDialog.toMarkdown.toggle',
65
+ defaultMessage: 'Toggle between syntax and WYSIWYG editing as you work.',
66
+ description: 'Body row inside the convert-to-markdown confirmation dialog; explains that the user can still flip between markdown source view and WYSIWYG view after the conversion.'
67
+ },
68
+ confirmDialogToMarkdownVersionHistory: {
69
+ id: 'fabric.editor.markdownMode.confirmDialog.toMarkdown.versionHistory',
70
+ defaultMessage: 'Revert to the previous version via version history at any time.',
71
+ description: 'Body row inside the convert-to-markdown confirmation dialog; reassures the user that the pre-conversion version is preserved and recoverable from version history.'
72
+ },
73
+ confirmDialogToMarkdownLossyRichContent: {
74
+ id: 'fabric.editor.markdownMode.confirmDialog.toMarkdownLossy.richContent',
75
+ defaultMessage: 'Your content has rich text formatting that may be unsupported in markdown.',
76
+ description: 'Body row in the lossy convert-to-markdown warning dialog; explains that rich-text formatting may not survive the conversion.'
77
+ },
78
+ confirmDialogToMarkdownLossyVersionHistory: {
79
+ id: 'fabric.editor.markdownMode.confirmDialog.toMarkdownLossy.versionHistory',
80
+ defaultMessage: 'Converting may result in data loss, although you can always revert to this previous version in version history.',
81
+ description: 'Body row in the lossy convert-to-markdown warning dialog; reassures the user that the pre-conversion version is recoverable from version history.'
82
+ },
83
+ confirmDialogToMarkdownLossyCta: {
84
+ id: 'fabric.editor.markdownMode.confirmDialog.toMarkdownLossy.cta',
85
+ defaultMessage: 'Convert to Markdown',
86
+ description: 'Primary (warning-styled) action button label in the lossy convert-to-markdown warning dialog.'
87
+ },
88
+ confirmDialogToRichTextStandardTools: {
89
+ id: 'fabric.editor.markdownMode.confirmDialog.toRichText.standardTools',
90
+ defaultMessage: 'Standard rich text tools will be available again.',
91
+ description: 'Body row inside the convert-to-rich-text confirmation dialog; explains that the full rich-text toolbar comes back after the conversion.'
92
+ },
93
+ confirmDialogToRichTextInstantEdits: {
94
+ id: 'fabric.editor.markdownMode.confirmDialog.toRichText.instantEdits',
95
+ defaultMessage: 'Edits will continue to happen instantly without the need to publish.',
96
+ description: 'Body row inside the convert-to-rich-text confirmation dialog; reassures the user that live-edit semantics are preserved when leaving markdown mode.'
97
+ },
98
+ confirmDialogToRichTextVersionHistory: {
99
+ id: 'fabric.editor.markdownMode.confirmDialog.toRichText.versionHistory',
100
+ defaultMessage: 'Revert to the previous version via version history at any time.',
101
+ description: 'Body row inside the convert-to-rich-text confirmation dialog; reassures the user that the pre-conversion version is preserved and recoverable from version history.'
102
+ },
103
+ confirmDialogCancel: {
104
+ id: 'fabric.editor.markdownMode.confirmDialog.cancel',
105
+ defaultMessage: 'Cancel',
106
+ description: 'Cancel button label in the convert-markdown-mode confirmation dialog (used for both directions).'
107
+ },
108
+ confirmDialogConfirm: {
109
+ id: 'fabric.editor.markdownMode.confirmDialog.confirm',
110
+ defaultMessage: 'Confirm',
111
+ description: 'Primary confirm button label in the convert-markdown-mode confirmation dialog (used for both directions).'
112
+ },
113
+ confirmDialogError: {
114
+ id: 'fabric.editor.markdownMode.confirmDialog.error',
115
+ defaultMessage: 'Something went wrong while converting this page. Please try again.',
116
+ description: 'Inline error message shown inside the convert-markdown-mode confirmation dialog when the conversion request fails.'
117
+ },
118
+ unlinkSyncedBlocksTitle: {
119
+ id: 'fabric.editor.markdownMode.unlinkSyncedBlocks.title',
120
+ defaultMessage: 'Unlink synced blocks to convert',
121
+ description: 'Title of the modal shown when the user tries to convert a page to markdown but the page contains synced blocks. The dialog asks them to unlink (unsync) the blocks first.'
122
+ },
123
+ unlinkSyncedBlocksBody: {
124
+ id: 'fabric.editor.markdownMode.unlinkSyncedBlocks.body',
125
+ defaultMessage: '{count, plural, one {This content contains 1 synced block syncing to multiple locations. Converting to markdown will detach the synced block and result in it being removed from multiple synced locations, where it will appear as an "Unsynced block". Unsync it to continue.} other {This content contains {count} synced blocks syncing to multiple locations. Converting to markdown will detach the synced blocks and result in them being removed from multiple synced locations, where they will appear as "Unsynced blocks". Unsync them to continue.}}',
126
+ description: 'Body copy of the unlink-synced-blocks dialog. {count} is the number of synced blocks in the document (always >= 1 in practice; 0 takes the plural branch defensively).'
127
+ },
128
+ unlinkSyncedBlocksLearnMore: {
129
+ id: 'fabric.editor.markdownMode.unlinkSyncedBlocks.learnMore',
130
+ defaultMessage: 'Learn more',
131
+ description: 'Footer link in the unlink-synced-blocks dialog that opens external documentation about managing synced blocks.'
132
+ },
133
+ unlinkSyncedBlocksUnderstood: {
134
+ id: 'fabric.editor.markdownMode.unlinkSyncedBlocks.understood',
135
+ defaultMessage: 'Understood',
136
+ description: 'Primary acknowledgement button label in the unlink-synced-blocks dialog. Dismisses the dialog — there is no "convert anyway" action.'
137
+ },
138
+ labsLozenge: {
139
+ id: 'fabric.editor.markdownMode.labsLozenge',
140
+ defaultMessage: 'LABS',
141
+ description: 'Lozenge label displayed next to the modal title to indicate the markdown mode feature is experimental (Labs).'
42
142
  }
43
143
  });
@@ -19,7 +19,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
19
19
  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); }
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 = "114.25.1";
22
+ var packageVersion = "114.26.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,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.selectTableNodeAtPos = exports.selectNodeAtPos = exports.getNodeSelectionForPos = void 0;
7
+ var _state = require("@atlaskit/editor-prosemirror/state");
8
+ var _utils = require("@atlaskit/editor-tables/utils");
9
+ /**
10
+ * Returns a NodeSelection for the node at `start`.
11
+ * Matches the `platform_editor_block_menu=true` path in block-controls:
12
+ * mediaGroup with a single child → select the child; all others → select the node.
13
+ * Returns false when no node exists at `start`.
14
+ */
15
+ var getNodeSelectionForPos = exports.getNodeSelectionForPos = function getNodeSelectionForPos(doc, start) {
16
+ var node = doc.nodeAt(start);
17
+ if (!node) {
18
+ return false;
19
+ }
20
+ if (node.type.name === 'mediaGroup' && node.childCount === 1) {
21
+ return new _state.NodeSelection(doc.resolve(start + 1));
22
+ }
23
+ return new _state.NodeSelection(doc.resolve(start));
24
+ };
25
+
26
+ /** Applies a CellSelection to `tr` for the table node at `tableNodePos`. */
27
+ var selectTableNodeAtPos = exports.selectTableNodeAtPos = function selectTableNodeAtPos(tr, tableNodePos) {
28
+ (0, _utils.selectTableClosestToPos)(tr, tr.doc.resolve(tableNodePos + 1));
29
+ return tr;
30
+ };
31
+
32
+ /**
33
+ * Selects the node at `nodePos` without any plugin-API dependency.
34
+ * Tables use CellSelection; all other nodes use NodeSelection.
35
+ */
36
+ var selectNodeAtPos = exports.selectNodeAtPos = function selectNodeAtPos(tr, nodePos, nodeType) {
37
+ if (nodeType === 'table') {
38
+ return selectTableNodeAtPos(tr, nodePos);
39
+ }
40
+ var selection = getNodeSelectionForPos(tr.doc, nodePos);
41
+ if (selection) {
42
+ tr.setSelection(selection);
43
+ }
44
+ return tr;
45
+ };
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.tableCellBackgroundStyleOverrideForCompiled = void 0;
7
+ var _tableCell = require("./tableCell");
8
+ /**
9
+ * Pre-built CSS string with `background-color` rules for every named table cell
10
+ * color (e.g. `td[colorname='red' i]`, `th[colorname='red' i]`).
11
+ *
12
+ * Intended for Compiled CSS consumers — render inside a `<style>` tag, since
13
+ * these rules are dynamically derived and cannot be expressed in a `cssMap`.
14
+ */
15
+ var tableCellBackgroundStyleOverrideForCompiled = exports.tableCellBackgroundStyleOverrideForCompiled = (0, _tableCell.mapBackgroundColors)();
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.tableCellBackgroundStyleOverride = void 0;
6
+ exports.tableCellBackgroundStyleOverride = exports.mapBackgroundColors = void 0;
7
7
  var _react = require("@emotion/react");
8
8
  var _adfSchema = require("@atlaskit/adf-schema");
9
9
  var _editorPalette = require("@atlaskit/editor-palette");
@@ -16,7 +16,7 @@ var _editorPalette = require("@atlaskit/editor-palette");
16
16
  // it is not possible to use tokens there without polluting ADF.
17
17
  // As table cell backgrounds are set inline, this should not break mobile as
18
18
  // hexToEditorBackgroundPaletteColor() outputs a css variable with fallback hex.
19
- var mapBackgroundColors = function mapBackgroundColors() {
19
+ var mapBackgroundColors = exports.mapBackgroundColors = function mapBackgroundColors() {
20
20
  var cssString = '';
21
21
  _adfSchema.tableBackgroundColorNames.forEach(function (value, key) {
22
22
  var paletteColorValue = (0, _editorPalette.hexToEditorBackgroundPaletteColor)(value);
@@ -24,7 +24,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
24
24
  * @jsx jsx
25
25
  */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
26
26
  var packageName = "@atlaskit/editor-common";
27
- var packageVersion = "114.25.1";
27
+ var packageVersion = "114.26.0";
28
28
  var halfFocusRing = 1;
29
29
  var dropOffset = '0, 8';
30
30
  var fadeIn = (0, _react2.keyframes)({
@@ -34,5 +34,105 @@ export const markdownModeMessages = defineMessages({
34
34
  id: 'fabric.editor.markdownMode.sourceView.ariaLabel',
35
35
  defaultMessage: 'Markdown source',
36
36
  description: 'Accessible label for the markdown source editor.'
37
+ },
38
+ confirmDialogTitleToMarkdown: {
39
+ id: 'fabric.editor.markdownMode.confirmDialog.title.toMarkdown',
40
+ defaultMessage: 'Convert to markdown?',
41
+ description: 'Title of the confirmation dialog shown when the user is about to convert a Live Doc from rich text into markdown mode.'
42
+ },
43
+ confirmDialogTitleToMarkdownLossy: {
44
+ id: 'fabric.editor.markdownMode.confirmDialog.title.toMarkdownLossy',
45
+ defaultMessage: 'Convert to Markdown?',
46
+ description: 'Title of the warning dialog shown when the user is about to convert a Live Doc whose rich-text content cannot fully round-trip through markdown (lossy conversion).'
47
+ },
48
+ confirmDialogTitleToRichText: {
49
+ id: 'fabric.editor.markdownMode.confirmDialog.title.toRichText',
50
+ defaultMessage: 'Convert to rich text?',
51
+ description: 'Title of the confirmation dialog shown when the user is about to convert a Live Doc from markdown back to rich text mode.'
52
+ },
53
+ confirmDialogToMarkdownToolsRemoved: {
54
+ id: 'fabric.editor.markdownMode.confirmDialog.toMarkdown.toolsRemoved',
55
+ defaultMessage: 'Standard rich text tools will be removed.',
56
+ description: 'Body row inside the convert-to-markdown confirmation dialog; explains that the rich-text editor toolbar disappears once the document is in markdown mode.'
57
+ },
58
+ confirmDialogToMarkdownToggle: {
59
+ id: 'fabric.editor.markdownMode.confirmDialog.toMarkdown.toggle',
60
+ defaultMessage: 'Toggle between syntax and WYSIWYG editing as you work.',
61
+ description: 'Body row inside the convert-to-markdown confirmation dialog; explains that the user can still flip between markdown source view and WYSIWYG view after the conversion.'
62
+ },
63
+ confirmDialogToMarkdownVersionHistory: {
64
+ id: 'fabric.editor.markdownMode.confirmDialog.toMarkdown.versionHistory',
65
+ defaultMessage: 'Revert to the previous version via version history at any time.',
66
+ description: 'Body row inside the convert-to-markdown confirmation dialog; reassures the user that the pre-conversion version is preserved and recoverable from version history.'
67
+ },
68
+ confirmDialogToMarkdownLossyRichContent: {
69
+ id: 'fabric.editor.markdownMode.confirmDialog.toMarkdownLossy.richContent',
70
+ defaultMessage: 'Your content has rich text formatting that may be unsupported in markdown.',
71
+ description: 'Body row in the lossy convert-to-markdown warning dialog; explains that rich-text formatting may not survive the conversion.'
72
+ },
73
+ confirmDialogToMarkdownLossyVersionHistory: {
74
+ id: 'fabric.editor.markdownMode.confirmDialog.toMarkdownLossy.versionHistory',
75
+ defaultMessage: 'Converting may result in data loss, although you can always revert to this previous version in version history.',
76
+ description: 'Body row in the lossy convert-to-markdown warning dialog; reassures the user that the pre-conversion version is recoverable from version history.'
77
+ },
78
+ confirmDialogToMarkdownLossyCta: {
79
+ id: 'fabric.editor.markdownMode.confirmDialog.toMarkdownLossy.cta',
80
+ defaultMessage: 'Convert to Markdown',
81
+ description: 'Primary (warning-styled) action button label in the lossy convert-to-markdown warning dialog.'
82
+ },
83
+ confirmDialogToRichTextStandardTools: {
84
+ id: 'fabric.editor.markdownMode.confirmDialog.toRichText.standardTools',
85
+ defaultMessage: 'Standard rich text tools will be available again.',
86
+ description: 'Body row inside the convert-to-rich-text confirmation dialog; explains that the full rich-text toolbar comes back after the conversion.'
87
+ },
88
+ confirmDialogToRichTextInstantEdits: {
89
+ id: 'fabric.editor.markdownMode.confirmDialog.toRichText.instantEdits',
90
+ defaultMessage: 'Edits will continue to happen instantly without the need to publish.',
91
+ description: 'Body row inside the convert-to-rich-text confirmation dialog; reassures the user that live-edit semantics are preserved when leaving markdown mode.'
92
+ },
93
+ confirmDialogToRichTextVersionHistory: {
94
+ id: 'fabric.editor.markdownMode.confirmDialog.toRichText.versionHistory',
95
+ defaultMessage: 'Revert to the previous version via version history at any time.',
96
+ description: 'Body row inside the convert-to-rich-text confirmation dialog; reassures the user that the pre-conversion version is preserved and recoverable from version history.'
97
+ },
98
+ confirmDialogCancel: {
99
+ id: 'fabric.editor.markdownMode.confirmDialog.cancel',
100
+ defaultMessage: 'Cancel',
101
+ description: 'Cancel button label in the convert-markdown-mode confirmation dialog (used for both directions).'
102
+ },
103
+ confirmDialogConfirm: {
104
+ id: 'fabric.editor.markdownMode.confirmDialog.confirm',
105
+ defaultMessage: 'Confirm',
106
+ description: 'Primary confirm button label in the convert-markdown-mode confirmation dialog (used for both directions).'
107
+ },
108
+ confirmDialogError: {
109
+ id: 'fabric.editor.markdownMode.confirmDialog.error',
110
+ defaultMessage: 'Something went wrong while converting this page. Please try again.',
111
+ description: 'Inline error message shown inside the convert-markdown-mode confirmation dialog when the conversion request fails.'
112
+ },
113
+ unlinkSyncedBlocksTitle: {
114
+ id: 'fabric.editor.markdownMode.unlinkSyncedBlocks.title',
115
+ defaultMessage: 'Unlink synced blocks to convert',
116
+ description: 'Title of the modal shown when the user tries to convert a page to markdown but the page contains synced blocks. The dialog asks them to unlink (unsync) the blocks first.'
117
+ },
118
+ unlinkSyncedBlocksBody: {
119
+ id: 'fabric.editor.markdownMode.unlinkSyncedBlocks.body',
120
+ defaultMessage: '{count, plural, one {This content contains 1 synced block syncing to multiple locations. Converting to markdown will detach the synced block and result in it being removed from multiple synced locations, where it will appear as an "Unsynced block". Unsync it to continue.} other {This content contains {count} synced blocks syncing to multiple locations. Converting to markdown will detach the synced blocks and result in them being removed from multiple synced locations, where they will appear as "Unsynced blocks". Unsync them to continue.}}',
121
+ description: 'Body copy of the unlink-synced-blocks dialog. {count} is the number of synced blocks in the document (always >= 1 in practice; 0 takes the plural branch defensively).'
122
+ },
123
+ unlinkSyncedBlocksLearnMore: {
124
+ id: 'fabric.editor.markdownMode.unlinkSyncedBlocks.learnMore',
125
+ defaultMessage: 'Learn more',
126
+ description: 'Footer link in the unlink-synced-blocks dialog that opens external documentation about managing synced blocks.'
127
+ },
128
+ unlinkSyncedBlocksUnderstood: {
129
+ id: 'fabric.editor.markdownMode.unlinkSyncedBlocks.understood',
130
+ defaultMessage: 'Understood',
131
+ description: 'Primary acknowledgement button label in the unlink-synced-blocks dialog. Dismisses the dialog — there is no "convert anyway" action.'
132
+ },
133
+ labsLozenge: {
134
+ id: 'fabric.editor.markdownMode.labsLozenge',
135
+ defaultMessage: 'LABS',
136
+ description: 'Lozenge label displayed next to the modal title to indicate the markdown mode feature is experimental (Labs).'
37
137
  }
38
138
  });
@@ -4,7 +4,7 @@ import { isFedRamp } from './environment';
4
4
  import { normaliseSentryBreadcrumbs, SERIALIZABLE_ATTRIBUTES } from './normalise-sentry-breadcrumbs';
5
5
  const SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
6
6
  const packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
7
- const packageVersion = "114.25.1";
7
+ const packageVersion = "114.26.0";
8
8
  const sanitiseSentryEvents = (data, _hint) => {
9
9
  // Remove URL as it has UGC
10
10
  // Ignored via go/ees007
@@ -0,0 +1,40 @@
1
+ import { NodeSelection } from '@atlaskit/editor-prosemirror/state';
2
+ import { selectTableClosestToPos } from '@atlaskit/editor-tables/utils';
3
+
4
+ /**
5
+ * Returns a NodeSelection for the node at `start`.
6
+ * Matches the `platform_editor_block_menu=true` path in block-controls:
7
+ * mediaGroup with a single child → select the child; all others → select the node.
8
+ * Returns false when no node exists at `start`.
9
+ */
10
+ export const getNodeSelectionForPos = (doc, start) => {
11
+ const node = doc.nodeAt(start);
12
+ if (!node) {
13
+ return false;
14
+ }
15
+ if (node.type.name === 'mediaGroup' && node.childCount === 1) {
16
+ return new NodeSelection(doc.resolve(start + 1));
17
+ }
18
+ return new NodeSelection(doc.resolve(start));
19
+ };
20
+
21
+ /** Applies a CellSelection to `tr` for the table node at `tableNodePos`. */
22
+ export const selectTableNodeAtPos = (tr, tableNodePos) => {
23
+ selectTableClosestToPos(tr, tr.doc.resolve(tableNodePos + 1));
24
+ return tr;
25
+ };
26
+
27
+ /**
28
+ * Selects the node at `nodePos` without any plugin-API dependency.
29
+ * Tables use CellSelection; all other nodes use NodeSelection.
30
+ */
31
+ export const selectNodeAtPos = (tr, nodePos, nodeType) => {
32
+ if (nodeType === 'table') {
33
+ return selectTableNodeAtPos(tr, nodePos);
34
+ }
35
+ const selection = getNodeSelectionForPos(tr.doc, nodePos);
36
+ if (selection) {
37
+ tr.setSelection(selection);
38
+ }
39
+ return tr;
40
+ };
@@ -0,0 +1,10 @@
1
+ import { mapBackgroundColors } from './tableCell';
2
+
3
+ /**
4
+ * Pre-built CSS string with `background-color` rules for every named table cell
5
+ * color (e.g. `td[colorname='red' i]`, `th[colorname='red' i]`).
6
+ *
7
+ * Intended for Compiled CSS consumers — render inside a `<style>` tag, since
8
+ * these rules are dynamically derived and cannot be expressed in a `cssMap`.
9
+ */
10
+ export const tableCellBackgroundStyleOverrideForCompiled = mapBackgroundColors();
@@ -9,7 +9,7 @@ import { hexToEditorBackgroundPaletteColor } from '@atlaskit/editor-palette';
9
9
  // it is not possible to use tokens there without polluting ADF.
10
10
  // As table cell backgrounds are set inline, this should not break mobile as
11
11
  // hexToEditorBackgroundPaletteColor() outputs a css variable with fallback hex.
12
- const mapBackgroundColors = () => {
12
+ export const mapBackgroundColors = () => {
13
13
  let cssString = '';
14
14
  tableBackgroundColorNames.forEach((value, key) => {
15
15
  const paletteColorValue = hexToEditorBackgroundPaletteColor(value);
@@ -14,7 +14,7 @@ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
14
14
  import { fg } from '@atlaskit/platform-feature-flags';
15
15
  import Layer from '../Layer';
16
16
  const packageName = "@atlaskit/editor-common";
17
- const packageVersion = "114.25.1";
17
+ const packageVersion = "114.26.0";
18
18
  const halfFocusRing = 1;
19
19
  const dropOffset = '0, 8';
20
20
  const fadeIn = keyframes({
@@ -34,5 +34,105 @@ export var markdownModeMessages = defineMessages({
34
34
  id: 'fabric.editor.markdownMode.sourceView.ariaLabel',
35
35
  defaultMessage: 'Markdown source',
36
36
  description: 'Accessible label for the markdown source editor.'
37
+ },
38
+ confirmDialogTitleToMarkdown: {
39
+ id: 'fabric.editor.markdownMode.confirmDialog.title.toMarkdown',
40
+ defaultMessage: 'Convert to markdown?',
41
+ description: 'Title of the confirmation dialog shown when the user is about to convert a Live Doc from rich text into markdown mode.'
42
+ },
43
+ confirmDialogTitleToMarkdownLossy: {
44
+ id: 'fabric.editor.markdownMode.confirmDialog.title.toMarkdownLossy',
45
+ defaultMessage: 'Convert to Markdown?',
46
+ description: 'Title of the warning dialog shown when the user is about to convert a Live Doc whose rich-text content cannot fully round-trip through markdown (lossy conversion).'
47
+ },
48
+ confirmDialogTitleToRichText: {
49
+ id: 'fabric.editor.markdownMode.confirmDialog.title.toRichText',
50
+ defaultMessage: 'Convert to rich text?',
51
+ description: 'Title of the confirmation dialog shown when the user is about to convert a Live Doc from markdown back to rich text mode.'
52
+ },
53
+ confirmDialogToMarkdownToolsRemoved: {
54
+ id: 'fabric.editor.markdownMode.confirmDialog.toMarkdown.toolsRemoved',
55
+ defaultMessage: 'Standard rich text tools will be removed.',
56
+ description: 'Body row inside the convert-to-markdown confirmation dialog; explains that the rich-text editor toolbar disappears once the document is in markdown mode.'
57
+ },
58
+ confirmDialogToMarkdownToggle: {
59
+ id: 'fabric.editor.markdownMode.confirmDialog.toMarkdown.toggle',
60
+ defaultMessage: 'Toggle between syntax and WYSIWYG editing as you work.',
61
+ description: 'Body row inside the convert-to-markdown confirmation dialog; explains that the user can still flip between markdown source view and WYSIWYG view after the conversion.'
62
+ },
63
+ confirmDialogToMarkdownVersionHistory: {
64
+ id: 'fabric.editor.markdownMode.confirmDialog.toMarkdown.versionHistory',
65
+ defaultMessage: 'Revert to the previous version via version history at any time.',
66
+ description: 'Body row inside the convert-to-markdown confirmation dialog; reassures the user that the pre-conversion version is preserved and recoverable from version history.'
67
+ },
68
+ confirmDialogToMarkdownLossyRichContent: {
69
+ id: 'fabric.editor.markdownMode.confirmDialog.toMarkdownLossy.richContent',
70
+ defaultMessage: 'Your content has rich text formatting that may be unsupported in markdown.',
71
+ description: 'Body row in the lossy convert-to-markdown warning dialog; explains that rich-text formatting may not survive the conversion.'
72
+ },
73
+ confirmDialogToMarkdownLossyVersionHistory: {
74
+ id: 'fabric.editor.markdownMode.confirmDialog.toMarkdownLossy.versionHistory',
75
+ defaultMessage: 'Converting may result in data loss, although you can always revert to this previous version in version history.',
76
+ description: 'Body row in the lossy convert-to-markdown warning dialog; reassures the user that the pre-conversion version is recoverable from version history.'
77
+ },
78
+ confirmDialogToMarkdownLossyCta: {
79
+ id: 'fabric.editor.markdownMode.confirmDialog.toMarkdownLossy.cta',
80
+ defaultMessage: 'Convert to Markdown',
81
+ description: 'Primary (warning-styled) action button label in the lossy convert-to-markdown warning dialog.'
82
+ },
83
+ confirmDialogToRichTextStandardTools: {
84
+ id: 'fabric.editor.markdownMode.confirmDialog.toRichText.standardTools',
85
+ defaultMessage: 'Standard rich text tools will be available again.',
86
+ description: 'Body row inside the convert-to-rich-text confirmation dialog; explains that the full rich-text toolbar comes back after the conversion.'
87
+ },
88
+ confirmDialogToRichTextInstantEdits: {
89
+ id: 'fabric.editor.markdownMode.confirmDialog.toRichText.instantEdits',
90
+ defaultMessage: 'Edits will continue to happen instantly without the need to publish.',
91
+ description: 'Body row inside the convert-to-rich-text confirmation dialog; reassures the user that live-edit semantics are preserved when leaving markdown mode.'
92
+ },
93
+ confirmDialogToRichTextVersionHistory: {
94
+ id: 'fabric.editor.markdownMode.confirmDialog.toRichText.versionHistory',
95
+ defaultMessage: 'Revert to the previous version via version history at any time.',
96
+ description: 'Body row inside the convert-to-rich-text confirmation dialog; reassures the user that the pre-conversion version is preserved and recoverable from version history.'
97
+ },
98
+ confirmDialogCancel: {
99
+ id: 'fabric.editor.markdownMode.confirmDialog.cancel',
100
+ defaultMessage: 'Cancel',
101
+ description: 'Cancel button label in the convert-markdown-mode confirmation dialog (used for both directions).'
102
+ },
103
+ confirmDialogConfirm: {
104
+ id: 'fabric.editor.markdownMode.confirmDialog.confirm',
105
+ defaultMessage: 'Confirm',
106
+ description: 'Primary confirm button label in the convert-markdown-mode confirmation dialog (used for both directions).'
107
+ },
108
+ confirmDialogError: {
109
+ id: 'fabric.editor.markdownMode.confirmDialog.error',
110
+ defaultMessage: 'Something went wrong while converting this page. Please try again.',
111
+ description: 'Inline error message shown inside the convert-markdown-mode confirmation dialog when the conversion request fails.'
112
+ },
113
+ unlinkSyncedBlocksTitle: {
114
+ id: 'fabric.editor.markdownMode.unlinkSyncedBlocks.title',
115
+ defaultMessage: 'Unlink synced blocks to convert',
116
+ description: 'Title of the modal shown when the user tries to convert a page to markdown but the page contains synced blocks. The dialog asks them to unlink (unsync) the blocks first.'
117
+ },
118
+ unlinkSyncedBlocksBody: {
119
+ id: 'fabric.editor.markdownMode.unlinkSyncedBlocks.body',
120
+ defaultMessage: '{count, plural, one {This content contains 1 synced block syncing to multiple locations. Converting to markdown will detach the synced block and result in it being removed from multiple synced locations, where it will appear as an "Unsynced block". Unsync it to continue.} other {This content contains {count} synced blocks syncing to multiple locations. Converting to markdown will detach the synced blocks and result in them being removed from multiple synced locations, where they will appear as "Unsynced blocks". Unsync them to continue.}}',
121
+ description: 'Body copy of the unlink-synced-blocks dialog. {count} is the number of synced blocks in the document (always >= 1 in practice; 0 takes the plural branch defensively).'
122
+ },
123
+ unlinkSyncedBlocksLearnMore: {
124
+ id: 'fabric.editor.markdownMode.unlinkSyncedBlocks.learnMore',
125
+ defaultMessage: 'Learn more',
126
+ description: 'Footer link in the unlink-synced-blocks dialog that opens external documentation about managing synced blocks.'
127
+ },
128
+ unlinkSyncedBlocksUnderstood: {
129
+ id: 'fabric.editor.markdownMode.unlinkSyncedBlocks.understood',
130
+ defaultMessage: 'Understood',
131
+ description: 'Primary acknowledgement button label in the unlink-synced-blocks dialog. Dismisses the dialog — there is no "convert anyway" action.'
132
+ },
133
+ labsLozenge: {
134
+ id: 'fabric.editor.markdownMode.labsLozenge',
135
+ defaultMessage: 'LABS',
136
+ description: 'Lozenge label displayed next to the modal title to indicate the markdown mode feature is experimental (Labs).'
37
137
  }
38
138
  });
@@ -10,7 +10,7 @@ import { isFedRamp } from './environment';
10
10
  import { normaliseSentryBreadcrumbs, SERIALIZABLE_ATTRIBUTES } from './normalise-sentry-breadcrumbs';
11
11
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
12
12
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
13
- var packageVersion = "114.25.1";
13
+ var packageVersion = "114.26.0";
14
14
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
15
15
  // Remove URL as it has UGC
16
16
  // Ignored via go/ees007
@@ -0,0 +1,40 @@
1
+ import { NodeSelection } from '@atlaskit/editor-prosemirror/state';
2
+ import { selectTableClosestToPos } from '@atlaskit/editor-tables/utils';
3
+
4
+ /**
5
+ * Returns a NodeSelection for the node at `start`.
6
+ * Matches the `platform_editor_block_menu=true` path in block-controls:
7
+ * mediaGroup with a single child → select the child; all others → select the node.
8
+ * Returns false when no node exists at `start`.
9
+ */
10
+ export var getNodeSelectionForPos = function getNodeSelectionForPos(doc, start) {
11
+ var node = doc.nodeAt(start);
12
+ if (!node) {
13
+ return false;
14
+ }
15
+ if (node.type.name === 'mediaGroup' && node.childCount === 1) {
16
+ return new NodeSelection(doc.resolve(start + 1));
17
+ }
18
+ return new NodeSelection(doc.resolve(start));
19
+ };
20
+
21
+ /** Applies a CellSelection to `tr` for the table node at `tableNodePos`. */
22
+ export var selectTableNodeAtPos = function selectTableNodeAtPos(tr, tableNodePos) {
23
+ selectTableClosestToPos(tr, tr.doc.resolve(tableNodePos + 1));
24
+ return tr;
25
+ };
26
+
27
+ /**
28
+ * Selects the node at `nodePos` without any plugin-API dependency.
29
+ * Tables use CellSelection; all other nodes use NodeSelection.
30
+ */
31
+ export var selectNodeAtPos = function selectNodeAtPos(tr, nodePos, nodeType) {
32
+ if (nodeType === 'table') {
33
+ return selectTableNodeAtPos(tr, nodePos);
34
+ }
35
+ var selection = getNodeSelectionForPos(tr.doc, nodePos);
36
+ if (selection) {
37
+ tr.setSelection(selection);
38
+ }
39
+ return tr;
40
+ };
@@ -0,0 +1,10 @@
1
+ import { mapBackgroundColors } from './tableCell';
2
+
3
+ /**
4
+ * Pre-built CSS string with `background-color` rules for every named table cell
5
+ * color (e.g. `td[colorname='red' i]`, `th[colorname='red' i]`).
6
+ *
7
+ * Intended for Compiled CSS consumers — render inside a `<style>` tag, since
8
+ * these rules are dynamically derived and cannot be expressed in a `cssMap`.
9
+ */
10
+ export var tableCellBackgroundStyleOverrideForCompiled = mapBackgroundColors();
@@ -9,7 +9,7 @@ import { hexToEditorBackgroundPaletteColor } from '@atlaskit/editor-palette';
9
9
  // it is not possible to use tokens there without polluting ADF.
10
10
  // As table cell backgrounds are set inline, this should not break mobile as
11
11
  // hexToEditorBackgroundPaletteColor() outputs a css variable with fallback hex.
12
- var mapBackgroundColors = function mapBackgroundColors() {
12
+ export var mapBackgroundColors = function mapBackgroundColors() {
13
13
  var cssString = '';
14
14
  tableBackgroundColorNames.forEach(function (value, key) {
15
15
  var paletteColorValue = hexToEditorBackgroundPaletteColor(value);
@@ -21,7 +21,7 @@ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
21
21
  import { fg } from '@atlaskit/platform-feature-flags';
22
22
  import Layer from '../Layer';
23
23
  var packageName = "@atlaskit/editor-common";
24
- var packageVersion = "114.25.1";
24
+ var packageVersion = "114.26.0";
25
25
  var halfFocusRing = 1;
26
26
  var dropOffset = '0, 8';
27
27
  var fadeIn = keyframes({
@@ -8,11 +8,91 @@
8
8
  * the i18n tooling. See `@atlaskit/editor/no-defineMessages-in-plugin`.
9
9
  */
10
10
  export declare const markdownModeMessages: {
11
+ confirmDialogCancel: {
12
+ defaultMessage: string;
13
+ description: string;
14
+ id: string;
15
+ };
16
+ confirmDialogConfirm: {
17
+ defaultMessage: string;
18
+ description: string;
19
+ id: string;
20
+ };
21
+ confirmDialogError: {
22
+ defaultMessage: string;
23
+ description: string;
24
+ id: string;
25
+ };
26
+ confirmDialogTitleToMarkdown: {
27
+ defaultMessage: string;
28
+ description: string;
29
+ id: string;
30
+ };
31
+ confirmDialogTitleToMarkdownLossy: {
32
+ defaultMessage: string;
33
+ description: string;
34
+ id: string;
35
+ };
36
+ confirmDialogTitleToRichText: {
37
+ defaultMessage: string;
38
+ description: string;
39
+ id: string;
40
+ };
41
+ confirmDialogToMarkdownLossyCta: {
42
+ defaultMessage: string;
43
+ description: string;
44
+ id: string;
45
+ };
46
+ confirmDialogToMarkdownLossyRichContent: {
47
+ defaultMessage: string;
48
+ description: string;
49
+ id: string;
50
+ };
51
+ confirmDialogToMarkdownLossyVersionHistory: {
52
+ defaultMessage: string;
53
+ description: string;
54
+ id: string;
55
+ };
56
+ confirmDialogToMarkdownToggle: {
57
+ defaultMessage: string;
58
+ description: string;
59
+ id: string;
60
+ };
61
+ confirmDialogToMarkdownToolsRemoved: {
62
+ defaultMessage: string;
63
+ description: string;
64
+ id: string;
65
+ };
66
+ confirmDialogToMarkdownVersionHistory: {
67
+ defaultMessage: string;
68
+ description: string;
69
+ id: string;
70
+ };
71
+ confirmDialogToRichTextInstantEdits: {
72
+ defaultMessage: string;
73
+ description: string;
74
+ id: string;
75
+ };
76
+ confirmDialogToRichTextStandardTools: {
77
+ defaultMessage: string;
78
+ description: string;
79
+ id: string;
80
+ };
81
+ confirmDialogToRichTextVersionHistory: {
82
+ defaultMessage: string;
83
+ description: string;
84
+ id: string;
85
+ };
11
86
  groupLabel: {
12
87
  defaultMessage: string;
13
88
  description: string;
14
89
  id: string;
15
90
  };
91
+ labsLozenge: {
92
+ defaultMessage: string;
93
+ description: string;
94
+ id: string;
95
+ };
16
96
  preview: {
17
97
  defaultMessage: string;
18
98
  description: string;
@@ -28,6 +108,26 @@ export declare const markdownModeMessages: {
28
108
  description: string;
29
109
  id: string;
30
110
  };
111
+ unlinkSyncedBlocksBody: {
112
+ defaultMessage: string;
113
+ description: string;
114
+ id: string;
115
+ };
116
+ unlinkSyncedBlocksLearnMore: {
117
+ defaultMessage: string;
118
+ description: string;
119
+ id: string;
120
+ };
121
+ unlinkSyncedBlocksTitle: {
122
+ defaultMessage: string;
123
+ description: string;
124
+ id: string;
125
+ };
126
+ unlinkSyncedBlocksUnderstood: {
127
+ defaultMessage: string;
128
+ description: string;
129
+ id: string;
130
+ };
31
131
  wysiwyg: {
32
132
  defaultMessage: string;
33
133
  description: string;
@@ -0,0 +1,17 @@
1
+ import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
2
+ import { NodeSelection } from '@atlaskit/editor-prosemirror/state';
3
+ import type { Transaction } from '@atlaskit/editor-prosemirror/state';
4
+ /**
5
+ * Returns a NodeSelection for the node at `start`.
6
+ * Matches the `platform_editor_block_menu=true` path in block-controls:
7
+ * mediaGroup with a single child → select the child; all others → select the node.
8
+ * Returns false when no node exists at `start`.
9
+ */
10
+ export declare const getNodeSelectionForPos: (doc: PMNode, start: number) => NodeSelection | false;
11
+ /** Applies a CellSelection to `tr` for the table node at `tableNodePos`. */
12
+ export declare const selectTableNodeAtPos: (tr: Transaction, tableNodePos: number) => Transaction;
13
+ /**
14
+ * Selects the node at `nodePos` without any plugin-API dependency.
15
+ * Tables use CellSelection; all other nodes use NodeSelection.
16
+ */
17
+ export declare const selectNodeAtPos: (tr: Transaction, nodePos: number, nodeType: string) => Transaction;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Pre-built CSS string with `background-color` rules for every named table cell
3
+ * color (e.g. `td[colorname='red' i]`, `th[colorname='red' i]`).
4
+ *
5
+ * Intended for Compiled CSS consumers — render inside a `<style>` tag, since
6
+ * these rules are dynamically derived and cannot be expressed in a `cssMap`.
7
+ */
8
+ export declare const tableCellBackgroundStyleOverrideForCompiled: string;
@@ -1,2 +1,3 @@
1
1
  import type { SerializedStyles } from '@emotion/react';
2
+ export declare const mapBackgroundColors: () => string;
2
3
  export declare const tableCellBackgroundStyleOverride: () => SerializedStyles;
@@ -8,11 +8,91 @@
8
8
  * the i18n tooling. See `@atlaskit/editor/no-defineMessages-in-plugin`.
9
9
  */
10
10
  export declare const markdownModeMessages: {
11
+ confirmDialogCancel: {
12
+ defaultMessage: string;
13
+ description: string;
14
+ id: string;
15
+ };
16
+ confirmDialogConfirm: {
17
+ defaultMessage: string;
18
+ description: string;
19
+ id: string;
20
+ };
21
+ confirmDialogError: {
22
+ defaultMessage: string;
23
+ description: string;
24
+ id: string;
25
+ };
26
+ confirmDialogTitleToMarkdown: {
27
+ defaultMessage: string;
28
+ description: string;
29
+ id: string;
30
+ };
31
+ confirmDialogTitleToMarkdownLossy: {
32
+ defaultMessage: string;
33
+ description: string;
34
+ id: string;
35
+ };
36
+ confirmDialogTitleToRichText: {
37
+ defaultMessage: string;
38
+ description: string;
39
+ id: string;
40
+ };
41
+ confirmDialogToMarkdownLossyCta: {
42
+ defaultMessage: string;
43
+ description: string;
44
+ id: string;
45
+ };
46
+ confirmDialogToMarkdownLossyRichContent: {
47
+ defaultMessage: string;
48
+ description: string;
49
+ id: string;
50
+ };
51
+ confirmDialogToMarkdownLossyVersionHistory: {
52
+ defaultMessage: string;
53
+ description: string;
54
+ id: string;
55
+ };
56
+ confirmDialogToMarkdownToggle: {
57
+ defaultMessage: string;
58
+ description: string;
59
+ id: string;
60
+ };
61
+ confirmDialogToMarkdownToolsRemoved: {
62
+ defaultMessage: string;
63
+ description: string;
64
+ id: string;
65
+ };
66
+ confirmDialogToMarkdownVersionHistory: {
67
+ defaultMessage: string;
68
+ description: string;
69
+ id: string;
70
+ };
71
+ confirmDialogToRichTextInstantEdits: {
72
+ defaultMessage: string;
73
+ description: string;
74
+ id: string;
75
+ };
76
+ confirmDialogToRichTextStandardTools: {
77
+ defaultMessage: string;
78
+ description: string;
79
+ id: string;
80
+ };
81
+ confirmDialogToRichTextVersionHistory: {
82
+ defaultMessage: string;
83
+ description: string;
84
+ id: string;
85
+ };
11
86
  groupLabel: {
12
87
  defaultMessage: string;
13
88
  description: string;
14
89
  id: string;
15
90
  };
91
+ labsLozenge: {
92
+ defaultMessage: string;
93
+ description: string;
94
+ id: string;
95
+ };
16
96
  preview: {
17
97
  defaultMessage: string;
18
98
  description: string;
@@ -28,6 +108,26 @@ export declare const markdownModeMessages: {
28
108
  description: string;
29
109
  id: string;
30
110
  };
111
+ unlinkSyncedBlocksBody: {
112
+ defaultMessage: string;
113
+ description: string;
114
+ id: string;
115
+ };
116
+ unlinkSyncedBlocksLearnMore: {
117
+ defaultMessage: string;
118
+ description: string;
119
+ id: string;
120
+ };
121
+ unlinkSyncedBlocksTitle: {
122
+ defaultMessage: string;
123
+ description: string;
124
+ id: string;
125
+ };
126
+ unlinkSyncedBlocksUnderstood: {
127
+ defaultMessage: string;
128
+ description: string;
129
+ id: string;
130
+ };
31
131
  wysiwyg: {
32
132
  defaultMessage: string;
33
133
  description: string;
@@ -0,0 +1,17 @@
1
+ import type { Node as PMNode } from '@atlaskit/editor-prosemirror/model';
2
+ import { NodeSelection } from '@atlaskit/editor-prosemirror/state';
3
+ import type { Transaction } from '@atlaskit/editor-prosemirror/state';
4
+ /**
5
+ * Returns a NodeSelection for the node at `start`.
6
+ * Matches the `platform_editor_block_menu=true` path in block-controls:
7
+ * mediaGroup with a single child → select the child; all others → select the node.
8
+ * Returns false when no node exists at `start`.
9
+ */
10
+ export declare const getNodeSelectionForPos: (doc: PMNode, start: number) => NodeSelection | false;
11
+ /** Applies a CellSelection to `tr` for the table node at `tableNodePos`. */
12
+ export declare const selectTableNodeAtPos: (tr: Transaction, tableNodePos: number) => Transaction;
13
+ /**
14
+ * Selects the node at `nodePos` without any plugin-API dependency.
15
+ * Tables use CellSelection; all other nodes use NodeSelection.
16
+ */
17
+ export declare const selectNodeAtPos: (tr: Transaction, nodePos: number, nodeType: string) => Transaction;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Pre-built CSS string with `background-color` rules for every named table cell
3
+ * color (e.g. `td[colorname='red' i]`, `th[colorname='red' i]`).
4
+ *
5
+ * Intended for Compiled CSS consumers — render inside a `<style>` tag, since
6
+ * these rules are dynamically derived and cannot be expressed in a `cssMap`.
7
+ */
8
+ export declare const tableCellBackgroundStyleOverrideForCompiled: string;
@@ -1,2 +1,3 @@
1
1
  import type { SerializedStyles } from '@emotion/react';
2
+ export declare const mapBackgroundColors: () => string;
2
3
  export declare const tableCellBackgroundStyleOverride: () => SerializedStyles;
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "@atlaskit/editor-common/node-selection",
3
+ "main": "../dist/cjs/node-selection/index.js",
4
+ "module": "../dist/esm/node-selection/index.js",
5
+ "module:es2019": "../dist/es2019/node-selection/index.js",
6
+ "sideEffects": [
7
+ "**/*.compiled.css"
8
+ ],
9
+ "types": "../dist/types/node-selection/index.d.ts",
10
+ "typesVersions": {
11
+ ">=4.5 <5.9": {
12
+ "*": [
13
+ "../dist/types-ts4.5/node-selection/index.d.ts"
14
+ ]
15
+ }
16
+ }
17
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "114.25.2",
3
+ "version": "114.26.1",
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/"
@@ -37,7 +37,7 @@
37
37
  },
38
38
  "dependencies": {
39
39
  "@atlaskit/activity-provider": "^2.5.0",
40
- "@atlaskit/adf-schema": "^52.9.0",
40
+ "@atlaskit/adf-schema": "^52.10.0",
41
41
  "@atlaskit/adf-utils": "^19.29.0",
42
42
  "@atlaskit/afm-i18n-platform-editor-editor-common": "2.18.0",
43
43
  "@atlaskit/analytics-listeners": "^10.0.0",
@@ -58,7 +58,7 @@
58
58
  "@atlaskit/editor-toolbar": "^1.0.0",
59
59
  "@atlaskit/editor-toolbar-model": "^0.4.0",
60
60
  "@atlaskit/emoji": "^70.4.0",
61
- "@atlaskit/icon": "^34.4.0",
61
+ "@atlaskit/icon": "^34.5.0",
62
62
  "@atlaskit/link": "^3.4.0",
63
63
  "@atlaskit/link-datasource": "^5.2.0",
64
64
  "@atlaskit/link-picker": "^5.1.0",
@@ -79,16 +79,16 @@
79
79
  "@atlaskit/primitives": "^19.0.0",
80
80
  "@atlaskit/profilecard": "^25.4.0",
81
81
  "@atlaskit/prosemirror-history": "^0.2.0",
82
- "@atlaskit/react-ufo": "^5.19.0",
82
+ "@atlaskit/react-ufo": "^5.20.0",
83
83
  "@atlaskit/section-message": "^8.12.0",
84
84
  "@atlaskit/smart-card": "^44.9.0",
85
85
  "@atlaskit/smart-user-picker": "^10.0.0",
86
86
  "@atlaskit/spinner": "^19.1.0",
87
87
  "@atlaskit/task-decision": "^20.0.0",
88
88
  "@atlaskit/textfield": "^8.3.0",
89
- "@atlaskit/tmp-editor-statsig": "^77.2.0",
89
+ "@atlaskit/tmp-editor-statsig": "^78.0.0",
90
90
  "@atlaskit/tokens": "^13.0.0",
91
- "@atlaskit/tooltip": "^22.0.0",
91
+ "@atlaskit/tooltip": "^22.1.0",
92
92
  "@atlaskit/width-detector": "^5.1.0",
93
93
  "@babel/runtime": "^7.0.0",
94
94
  "@compiled/react": "^0.20.0",
@@ -0,0 +1,17 @@
1
+ {
2
+ "name": "@atlaskit/editor-common/table-cell-background-for-compiled",
3
+ "main": "../dist/cjs/styles/shared/table-cell-background-for-compiled.js",
4
+ "module": "../dist/esm/styles/shared/table-cell-background-for-compiled.js",
5
+ "module:es2019": "../dist/es2019/styles/shared/table-cell-background-for-compiled.js",
6
+ "sideEffects": [
7
+ "**/*.compiled.css"
8
+ ],
9
+ "types": "../dist/types/styles/shared/table-cell-background-for-compiled.d.ts",
10
+ "typesVersions": {
11
+ ">=4.5 <5.9": {
12
+ "*": [
13
+ "../dist/types-ts4.5/styles/shared/table-cell-background-for-compiled.d.ts"
14
+ ]
15
+ }
16
+ }
17
+ }