@atlaskit/editor-common 111.13.0 → 111.14.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 (123) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/cjs/ai-messages/ai.js +1 -1
  3. package/dist/cjs/block-menu/messages.js +1 -1
  4. package/dist/cjs/element-browser/messages.js +3 -3
  5. package/dist/cjs/extensions/messages.js +9 -9
  6. package/dist/cjs/link/LinkPicker/HyperlinkAddToolbar/HyperlinkAddToolbar.js +1 -1
  7. package/dist/cjs/link/LinkPicker/HyperlinkAddToolbar/messages.js +7 -7
  8. package/dist/cjs/link/LinkSearch/listItemAlts.js +6 -6
  9. package/dist/cjs/lists/messages.js +2 -2
  10. package/dist/cjs/media/messages/altText.js +4 -4
  11. package/dist/cjs/media/messages/externalMedia.js +1 -1
  12. package/dist/cjs/media/messages/imageBorder.js +6 -6
  13. package/dist/cjs/media/messages/pixelEntry.js +3 -3
  14. package/dist/cjs/messages/block-controls.js +5 -5
  15. package/dist/cjs/messages/block-type.js +8 -8
  16. package/dist/cjs/messages/breakout.js +1 -1
  17. package/dist/cjs/messages/card.js +1 -1
  18. package/dist/cjs/messages/context-panel.js +1 -1
  19. package/dist/cjs/messages/help-dialog.js +9 -9
  20. package/dist/cjs/messages/index.js +16 -16
  21. package/dist/cjs/messages/insert-block.js +44 -44
  22. package/dist/cjs/messages/layout.js +3 -3
  23. package/dist/cjs/messages/link-toolbar.js +8 -8
  24. package/dist/cjs/messages/link.js +1 -1
  25. package/dist/cjs/messages/list.js +2 -2
  26. package/dist/cjs/messages/media-editing.js +7 -7
  27. package/dist/cjs/messages/panel.js +2 -2
  28. package/dist/cjs/messages/placeholder-text.js +1 -1
  29. package/dist/cjs/messages/selection-extension.js +1 -1
  30. package/dist/cjs/messages/table.js +11 -11
  31. package/dist/cjs/messages/unsupportedContent.js +3 -3
  32. package/dist/cjs/monitoring/error.js +1 -1
  33. package/dist/cjs/quick-insert/messages.js +17 -17
  34. package/dist/cjs/type-ahead/messages.js +4 -4
  35. package/dist/cjs/ui/DropList/index.js +1 -1
  36. package/dist/cjs/ui/Expand/index.js +2 -2
  37. package/dist/cjs/ui-color/ColorPalette/Palettes/paletteMessages.js +24 -24
  38. package/dist/cjs/ui-color/ColorPalette/Palettes/paletteMessagesTokenModeNames.js +84 -84
  39. package/dist/cjs/vanilla-tooltip/index.js +180 -0
  40. package/dist/es2019/ai-messages/ai.js +1 -1
  41. package/dist/es2019/block-menu/messages.js +1 -1
  42. package/dist/es2019/element-browser/messages.js +3 -3
  43. package/dist/es2019/extensions/messages.js +9 -9
  44. package/dist/es2019/link/LinkPicker/HyperlinkAddToolbar/HyperlinkAddToolbar.js +1 -1
  45. package/dist/es2019/link/LinkPicker/HyperlinkAddToolbar/messages.js +7 -7
  46. package/dist/es2019/link/LinkSearch/listItemAlts.js +6 -6
  47. package/dist/es2019/lists/messages.js +2 -2
  48. package/dist/es2019/media/messages/altText.js +4 -4
  49. package/dist/es2019/media/messages/externalMedia.js +1 -1
  50. package/dist/es2019/media/messages/imageBorder.js +6 -6
  51. package/dist/es2019/media/messages/pixelEntry.js +3 -3
  52. package/dist/es2019/messages/block-controls.js +5 -5
  53. package/dist/es2019/messages/block-type.js +8 -8
  54. package/dist/es2019/messages/breakout.js +1 -1
  55. package/dist/es2019/messages/card.js +1 -1
  56. package/dist/es2019/messages/context-panel.js +1 -1
  57. package/dist/es2019/messages/help-dialog.js +9 -9
  58. package/dist/es2019/messages/index.js +16 -16
  59. package/dist/es2019/messages/insert-block.js +44 -44
  60. package/dist/es2019/messages/layout.js +3 -3
  61. package/dist/es2019/messages/link-toolbar.js +8 -8
  62. package/dist/es2019/messages/link.js +1 -1
  63. package/dist/es2019/messages/list.js +2 -2
  64. package/dist/es2019/messages/media-editing.js +7 -7
  65. package/dist/es2019/messages/panel.js +2 -2
  66. package/dist/es2019/messages/placeholder-text.js +1 -1
  67. package/dist/es2019/messages/selection-extension.js +1 -1
  68. package/dist/es2019/messages/table.js +11 -11
  69. package/dist/es2019/messages/unsupportedContent.js +3 -3
  70. package/dist/es2019/monitoring/error.js +1 -1
  71. package/dist/es2019/quick-insert/messages.js +17 -17
  72. package/dist/es2019/type-ahead/messages.js +4 -4
  73. package/dist/es2019/ui/DropList/index.js +1 -1
  74. package/dist/es2019/ui/Expand/index.js +2 -2
  75. package/dist/es2019/ui-color/ColorPalette/Palettes/paletteMessages.js +24 -24
  76. package/dist/es2019/ui-color/ColorPalette/Palettes/paletteMessagesTokenModeNames.js +84 -84
  77. package/dist/es2019/vanilla-tooltip/index.js +148 -0
  78. package/dist/esm/ai-messages/ai.js +1 -1
  79. package/dist/esm/block-menu/messages.js +1 -1
  80. package/dist/esm/element-browser/messages.js +3 -3
  81. package/dist/esm/extensions/messages.js +9 -9
  82. package/dist/esm/link/LinkPicker/HyperlinkAddToolbar/HyperlinkAddToolbar.js +1 -1
  83. package/dist/esm/link/LinkPicker/HyperlinkAddToolbar/messages.js +7 -7
  84. package/dist/esm/link/LinkSearch/listItemAlts.js +6 -6
  85. package/dist/esm/lists/messages.js +2 -2
  86. package/dist/esm/media/messages/altText.js +4 -4
  87. package/dist/esm/media/messages/externalMedia.js +1 -1
  88. package/dist/esm/media/messages/imageBorder.js +6 -6
  89. package/dist/esm/media/messages/pixelEntry.js +3 -3
  90. package/dist/esm/messages/block-controls.js +5 -5
  91. package/dist/esm/messages/block-type.js +8 -8
  92. package/dist/esm/messages/breakout.js +1 -1
  93. package/dist/esm/messages/card.js +1 -1
  94. package/dist/esm/messages/context-panel.js +1 -1
  95. package/dist/esm/messages/help-dialog.js +9 -9
  96. package/dist/esm/messages/index.js +16 -16
  97. package/dist/esm/messages/insert-block.js +44 -44
  98. package/dist/esm/messages/layout.js +3 -3
  99. package/dist/esm/messages/link-toolbar.js +8 -8
  100. package/dist/esm/messages/link.js +1 -1
  101. package/dist/esm/messages/list.js +2 -2
  102. package/dist/esm/messages/media-editing.js +7 -7
  103. package/dist/esm/messages/panel.js +2 -2
  104. package/dist/esm/messages/placeholder-text.js +1 -1
  105. package/dist/esm/messages/selection-extension.js +1 -1
  106. package/dist/esm/messages/table.js +11 -11
  107. package/dist/esm/messages/unsupportedContent.js +3 -3
  108. package/dist/esm/monitoring/error.js +1 -1
  109. package/dist/esm/quick-insert/messages.js +17 -17
  110. package/dist/esm/type-ahead/messages.js +4 -4
  111. package/dist/esm/ui/DropList/index.js +1 -1
  112. package/dist/esm/ui/Expand/index.js +2 -2
  113. package/dist/esm/ui-color/ColorPalette/Palettes/paletteMessages.js +24 -24
  114. package/dist/esm/ui-color/ColorPalette/Palettes/paletteMessagesTokenModeNames.js +84 -84
  115. package/dist/esm/vanilla-tooltip/index.js +173 -0
  116. package/dist/types/analytics/types/insert-events.d.ts +1 -1
  117. package/dist/types/messages/table.d.ts +2 -2
  118. package/dist/types/vanilla-tooltip/index.d.ts +29 -0
  119. package/dist/types-ts4.5/analytics/types/insert-events.d.ts +1 -1
  120. package/dist/types-ts4.5/messages/table.d.ts +2 -2
  121. package/dist/types-ts4.5/vanilla-tooltip/index.d.ts +29 -0
  122. package/package.json +2 -1
  123. package/vanilla-tooltip/package.json +17 -0
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.VanillaTooltip = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _core = require("@popperjs/core");
12
+ var _bindEventListener = require("bind-event-listener");
13
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
14
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
15
+ var startingOffset = {
16
+ name: 'offset',
17
+ options: {
18
+ offset: [0, 4]
19
+ }
20
+ };
21
+ var endingOffset = {
22
+ name: 'offset',
23
+ options: {
24
+ offset: [0, 8]
25
+ }
26
+ };
27
+
28
+ /**
29
+ * A tooltip component similar to "@atlaskit/tooltip" but built for vanilla scenarios
30
+ *
31
+ * Uses Popover API for accessibility + stacking context: https://developer.mozilla.org/en-US/docs/Web/API/Popover_API
32
+ * Uses popperJS for positioning
33
+ */
34
+ var VanillaTooltip = exports.VanillaTooltip = /*#__PURE__*/function () {
35
+ function VanillaTooltip(button, content,
36
+ /**
37
+ * Id associated to the tooltip - must be unique.
38
+ */
39
+ id,
40
+ /**
41
+ * Class Name – used for styling.
42
+ */
43
+ className) {
44
+ var _this = this;
45
+ var timeout = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 300;
46
+ (0, _classCallCheck2.default)(this, VanillaTooltip);
47
+ (0, _defineProperty2.default)(this, "listeners", []);
48
+ (0, _defineProperty2.default)(this, "shouldHidePopover", false);
49
+ (0, _defineProperty2.default)(this, "isDisplayed", false);
50
+ this.button = button;
51
+ this.timeout = timeout;
52
+ var tooltip = document.createElement('span');
53
+ tooltip.role = 'tooltip';
54
+ tooltip.popover = 'hint';
55
+ tooltip.className = className;
56
+ tooltip.id = id;
57
+ tooltip.textContent = content;
58
+ this.tooltip = tooltip;
59
+
60
+ // Button preparation
61
+ button.appendChild(tooltip);
62
+ // Prepare the button to have the popover target and accessibility properties
63
+ button.setAttribute('popovertarget', tooltip.id);
64
+ button.setAttribute('aria-describedby', tooltip.id);
65
+ var showEvents = ['mouseenter', 'focus'];
66
+ var hideEvents = ['mouseleave', 'blur'];
67
+ showEvents.forEach(function (event) {
68
+ _this.listeners.push((0, _bindEventListener.bind)(button, {
69
+ type: event,
70
+ listener: function listener() {
71
+ return _this.show();
72
+ }
73
+ }));
74
+ });
75
+ hideEvents.forEach(function (event) {
76
+ _this.listeners.push((0, _bindEventListener.bind)(button, {
77
+ type: event,
78
+ listener: function listener() {
79
+ return _this.hide();
80
+ }
81
+ }));
82
+ });
83
+ this.listeners.push((0, _bindEventListener.bind)(window, {
84
+ type: 'keydown',
85
+ listener: function listener(e) {
86
+ if (e.key === 'Escape') {
87
+ _this.hide(true);
88
+ }
89
+ }
90
+ }));
91
+
92
+ // Hide the tooltip if the hide transition has completed
93
+ this.tooltip.ontransitionend = function () {
94
+ if (_this.shouldHidePopover) {
95
+ _this.tooltip.hidePopover();
96
+ }
97
+ };
98
+ }
99
+ return (0, _createClass2.default)(VanillaTooltip, [{
100
+ key: "createPopperInstance",
101
+ value: function createPopperInstance() {
102
+ this.popperInstance = (0, _core.createPopper)(this.button, this.tooltip, {
103
+ placement: 'top',
104
+ modifiers: [startingOffset]
105
+ });
106
+ }
107
+ }, {
108
+ key: "destroy",
109
+ value: function destroy() {
110
+ var _this$popperInstance;
111
+ (_this$popperInstance = this.popperInstance) === null || _this$popperInstance === void 0 || _this$popperInstance.destroy();
112
+ this.listeners.forEach(function (listener) {
113
+ listener();
114
+ });
115
+ }
116
+ }, {
117
+ key: "hide",
118
+ value: function hide() {
119
+ var _this2 = this;
120
+ var immediate = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
121
+ clearTimeout(this.currentTimeoutId);
122
+ this.shouldHidePopover = true;
123
+ // Disable the event listeners
124
+ this.currentTimeoutId = setTimeout(function () {
125
+ var _this2$popperInstance;
126
+ (_this2$popperInstance = _this2.popperInstance) === null || _this2$popperInstance === void 0 || _this2$popperInstance.setOptions(function (options) {
127
+ return _objectSpread(_objectSpread({}, options), {}, {
128
+ modifiers: [startingOffset, {
129
+ name: 'eventListeners',
130
+ enabled: false
131
+ }]
132
+ });
133
+ });
134
+ _this2.tooltip.style.opacity = '0';
135
+ _this2.isDisplayed = false;
136
+ // If transition animations are disabled immediately hide the popover
137
+ if (_this2.tooltip.style.transition === 'none') {
138
+ _this2.tooltip.hidePopover();
139
+ }
140
+ }, immediate ? 0 : this.timeout);
141
+ }
142
+ }, {
143
+ key: "show",
144
+ value: function show() {
145
+ var _this3 = this;
146
+ if (this.isDisplayed) {
147
+ return;
148
+ }
149
+ clearTimeout(this.currentTimeoutId);
150
+ this.shouldHidePopover = false;
151
+
152
+ // Make the tooltip visible - but hide until
153
+ this.tooltip.style.visibility = 'hidden';
154
+ this.tooltip.showPopover();
155
+
156
+ // Update its position
157
+ if (!this.popperInstance) {
158
+ this.createPopperInstance();
159
+ } else {
160
+ this.popperInstance.update();
161
+ }
162
+
163
+ // Enable the event listeners
164
+ this.currentTimeoutId = setTimeout(function () {
165
+ var _this3$popperInstance;
166
+ _this3.tooltip.style.opacity = '1';
167
+ _this3.tooltip.style.visibility = 'visible';
168
+ (_this3$popperInstance = _this3.popperInstance) === null || _this3$popperInstance === void 0 || _this3$popperInstance.setOptions(function (options) {
169
+ return _objectSpread(_objectSpread({}, options), {}, {
170
+ modifiers: [endingOffset, {
171
+ name: 'eventListeners',
172
+ enabled: true
173
+ }]
174
+ });
175
+ });
176
+ _this3.isDisplayed = true;
177
+ }, this.timeout);
178
+ }
179
+ }]);
180
+ }();
@@ -183,7 +183,7 @@ export const aiMessages = defineMessages({
183
183
  summarizePageTitle: {
184
184
  id: 'fabric.editor.ai.ai-panels.summarizePageTitle',
185
185
  defaultMessage: `Page summary panel (Beta)`,
186
- description: 'Title for AI summary panel'
186
+ description: 'The text is shown as a title for the AI-powered page summary panel in the editor when the user accesses the summarize page feature.'
187
187
  },
188
188
  summarisePageDescription: {
189
189
  id: 'fabric.editor.ai.ai-panels.summarizePageDescription',
@@ -15,7 +15,7 @@ export const messages = defineMessages({
15
15
  deleteBlock: {
16
16
  id: 'fabric.editor.block.menu.delete.block',
17
17
  defaultMessage: 'Delete',
18
- description: 'Delete the selected block'
18
+ description: 'The text is shown as a menu item in the block menu when the user wants to delete the currently selected block from the document.'
19
19
  },
20
20
  turnInto: {
21
21
  id: 'fabric.editor.block.menu.turn.into',
@@ -3,17 +3,17 @@ export default defineMessages({
3
3
  elementAfterInputMessage: {
4
4
  id: 'fabric.editor.elementbrowser.searchbar.elementAfterInput',
5
5
  defaultMessage: 'Enter',
6
- description: 'Enter to insert'
6
+ description: 'The text is shown as a label after the search input in the element browser. It indicates to the user that pressing Enter will insert the selected element.'
7
7
  },
8
8
  placeHolderMessage: {
9
9
  id: 'fabric.editor.elementbrowser.searchbar.placeholder',
10
10
  defaultMessage: 'Search',
11
- description: 'Search field placeholder'
11
+ description: 'The text is shown as placeholder text inside the search input field in the element browser. It prompts the user to type a query to filter available elements.'
12
12
  },
13
13
  searchAriaLabel: {
14
14
  id: 'fabric.editor.elementbrowser.searchbar.ariaLabel',
15
15
  defaultMessage: 'Search',
16
- description: 'Search field aria label'
16
+ description: 'The text is used as an aria-label for the search input field in the element browser. It provides an accessible name for screen readers to identify the search field.'
17
17
  },
18
18
  assistiveTextDefault: {
19
19
  id: 'fabric.editor.elementbrowser.searchbar.assistive.text.default',
@@ -3,7 +3,7 @@ export const messages = defineMessages({
3
3
  edit: {
4
4
  id: 'fabric.editor.edit',
5
5
  defaultMessage: 'Edit',
6
- description: 'Edit the properties for this extension.'
6
+ description: 'The text is shown as a button label in the extension context menu. Triggers opening the properties editor for the selected extension to modify its configuration.'
7
7
  },
8
8
  deleteElementTitle: {
9
9
  id: 'fabric.editor.extension.deleteElementTitle',
@@ -28,22 +28,22 @@ export const messages = defineMessages({
28
28
  confirmModalCheckboxLabel: {
29
29
  id: 'fabric.editor.floatingToolbar.confirmModalCheckboxLabel',
30
30
  defaultMessage: 'Also delete connected elements',
31
- description: 'checkbox label text'
31
+ description: 'Label for a checkbox in a confirm modal that allows the user to also delete connected elements when deleting an extension.'
32
32
  },
33
33
  saveIndicator: {
34
34
  id: 'fabric.editor.extensions.config-panel.save-indicator',
35
35
  defaultMessage: 'All changes are always autosaved',
36
- description: 'Message shown to the user to notify to them that we save the changes automatically.'
36
+ description: 'Informational message displayed in the extension configuration panel to reassure users that their changes are being saved automatically without requiring manual save action.'
37
37
  },
38
38
  panelLoadingError: {
39
39
  id: 'fabric.editor.extensions.config-panel.loading-error.non-final',
40
40
  defaultMessage: 'We ran into a bit of trouble. Refresh to try again.',
41
- description: 'Error message when loading the configuration panel'
41
+ description: 'Error message displayed when the extension configuration panel fails to load. Instructs users to refresh the page to attempt loading the panel again.'
42
42
  },
43
43
  extensionLoadingError: {
44
44
  id: 'fabric.editor.extension.loading-error',
45
45
  defaultMessage: 'Error loading the extension!',
46
- description: 'Error message when loading an extension'
46
+ description: 'Error message displayed when an extension fails to load in the editor. Indicates a problem occurred during the extension initialization or rendering process.'
47
47
  }
48
48
  });
49
49
  export const configPanelMessages = defineMessages({
@@ -55,17 +55,17 @@ export const configPanelMessages = defineMessages({
55
55
  submit: {
56
56
  id: 'fabric.editor.configPanel.submit',
57
57
  defaultMessage: 'Submit',
58
- description: 'Submit button label'
58
+ description: 'Label for a button in the extension configuration panel that the user clicks to submit and apply configuration changes.'
59
59
  },
60
60
  cancel: {
61
61
  id: 'fabric.editor.configPanel.cancel',
62
62
  defaultMessage: 'Cancel',
63
- description: 'Cancel button label'
63
+ description: 'Label for a button in the extension configuration panel that the user clicks to cancel and discard configuration changes.'
64
64
  },
65
65
  close: {
66
66
  id: 'fabric.editor.configPanel.close',
67
67
  defaultMessage: 'Close',
68
- description: 'Close button label'
68
+ description: 'Label for a button in the extension configuration panel that the user clicks to close the panel.'
69
69
  },
70
70
  required: {
71
71
  id: 'fabric.editor.configPanel.required',
@@ -80,7 +80,7 @@ export const configPanelMessages = defineMessages({
80
80
  isMultipleAndRadio: {
81
81
  id: 'fabric.editor.configPanel.fieldTypeError.isMultipleAndRadio',
82
82
  defaultMessage: 'Can not combine isMultiple with style: radio',
83
- description: 'Configuration error'
83
+ description: 'Error message displayed in the extension configuration panel when isMultiple and radio style options are incorrectly combined.'
84
84
  },
85
85
  addField: {
86
86
  id: 'fabric.editor.configPanel.formType.addField',
@@ -74,7 +74,7 @@ export const messages = defineMessages({
74
74
  displayText: {
75
75
  id: 'fabric.editor.displayText',
76
76
  defaultMessage: 'Text to display',
77
- description: 'Text to display'
77
+ description: 'Label for the text input field in the hyperlink toolbar where users enter the display text for a link.'
78
78
  },
79
79
  clearText: {
80
80
  id: 'fabric.editor.clearLinkText',
@@ -3,36 +3,36 @@ export const utilMessages = defineMessages({
3
3
  hyperlinkIconIssueLabel: {
4
4
  id: 'fabric.editor.headingLink.hyperlinkIconIssueLabel',
5
5
  defaultMessage: 'Issue',
6
- description: 'icon label for a jira issue'
6
+ description: 'Accessible label for the Jira issue icon displayed in the hyperlink add toolbar when users search for or insert a link to a Jira issue.'
7
7
  },
8
8
  hyperlinkIconBugLabel: {
9
9
  id: 'fabric.editor.headingLink.hyperlinkIconBugLabel',
10
10
  defaultMessage: 'Bug',
11
- description: 'icon label for a jira bug'
11
+ description: 'Accessible label for the Jira bug icon displayed in the hyperlink add toolbar when users search for or insert a link to a Jira bug.'
12
12
  },
13
13
  hyperlinkIconStoryLabel: {
14
14
  id: 'fabric.editor.headingLink.hyperlinkIconStoryLabel',
15
15
  defaultMessage: 'Story',
16
- description: 'icon label for a jira story'
16
+ description: 'Accessible label for the Jira story icon displayed in the hyperlink add toolbar when users search for or insert a link to a Jira story.'
17
17
  },
18
18
  hyperlinkIconTaskLabel: {
19
19
  id: 'fabric.editor.headingLink.hyperlinkIconTaskLabel',
20
20
  defaultMessage: 'Task',
21
- description: 'icon label for a jira task'
21
+ description: 'Accessible label for the Jira task icon displayed in the hyperlink add toolbar when users search for or insert a link to a Jira task.'
22
22
  },
23
23
  hyperlinkIconPageLabel: {
24
24
  id: 'fabric.editor.headingLink.hyperlinkIconPageLabel',
25
25
  defaultMessage: 'Page',
26
- description: 'icon label for a confluence page'
26
+ description: 'The text is shown as an icon label in the hyperlink toolbar to identify Confluence pages. Displayed next to the page icon when users are linking to Confluence pages in the editor.'
27
27
  },
28
28
  hyperlinkIconBlogLabel: {
29
29
  id: 'fabric.editor.headingLink.hyperlinkIconBlogLabel',
30
30
  defaultMessage: 'Blog',
31
- description: 'icon label for a confluence blog'
31
+ description: 'The text is shown as an icon label in the hyperlink toolbar to identify Confluence blog posts. Displayed next to the blog icon when users are linking to Confluence blogs in the editor.'
32
32
  },
33
33
  hyperlinkIconIssueLabelIssueTermRefresh: {
34
34
  id: 'fabric.editor.headingLink.hyperlinkIconIssueLabel.issue-term-refresh',
35
35
  defaultMessage: 'Work Item',
36
- description: 'icon label for a jira issue'
36
+ description: 'Accessible label for the Jira issue icon displayed in the hyperlink add toolbar when users search for or insert a link to a Jira work item. This is the refreshed terminology used instead of "Issue".'
37
37
  }
38
38
  });
@@ -3,32 +3,32 @@ const messages = defineMessages({
3
3
  story: {
4
4
  id: 'fabric.editor.story',
5
5
  defaultMessage: 'Story',
6
- description: 'Alt text for Story'
6
+ description: 'Alt text for the issue type icon displayed in link search results when the linked item is a Story issue type.'
7
7
  },
8
8
  epic: {
9
9
  id: 'fabric.editor.epic',
10
10
  defaultMessage: 'Epic',
11
- description: 'Alt text for Epic'
11
+ description: 'Alt text for the issue type icon displayed in link search results when the linked item is an Epic issue type.'
12
12
  },
13
13
  task: {
14
14
  id: 'fabric.editor.task',
15
15
  defaultMessage: 'Task',
16
- description: 'Alt text for Task'
16
+ description: 'Alt text for the issue type icon displayed in link search results when the linked item is a Task issue type.'
17
17
  },
18
18
  bug: {
19
19
  id: 'fabric.editor.bug',
20
20
  defaultMessage: 'Bug',
21
- description: 'Alt text for Bug'
21
+ description: 'Alt text for the issue type icon displayed in link search results when the linked item is a Bug issue type.'
22
22
  },
23
23
  subTask: {
24
24
  id: 'fabric.editor.subTask',
25
25
  defaultMessage: 'Sub-task',
26
- description: 'Alt text for Sub-task'
26
+ description: 'Alt text for the issue type icon displayed in link search results when the linked item is a Sub-task issue type.'
27
27
  },
28
28
  improvement: {
29
29
  id: 'fabric.editor.improvement',
30
30
  defaultMessage: 'Improvement',
31
- description: 'Alt text for Improvement'
31
+ description: 'Alt text for the issue type icon displayed in link search results when the linked item is an Improvement issue type.'
32
32
  },
33
33
  defaultAltText: {
34
34
  id: 'fabric.editor.defaultAltText',
@@ -9,7 +9,7 @@ export const messages = defineMessages({
9
9
  unorderedListDescription: {
10
10
  id: 'fabric.editor.unorderedList.description',
11
11
  defaultMessage: 'Create an unordered list',
12
- description: ''
12
+ description: 'The text is shown as a description for the bullet list option in the quick insert menu when the user searches for list formatting options.'
13
13
  },
14
14
  orderedList: {
15
15
  id: 'fabric.editor.orderedList',
@@ -19,7 +19,7 @@ export const messages = defineMessages({
19
19
  orderedListDescription: {
20
20
  id: 'fabric.editor.orderedList.description',
21
21
  defaultMessage: 'Create an ordered list',
22
- description: ''
22
+ description: 'The text is shown as a description for the numbered list option in the quick insert menu when the user searches for list formatting options.'
23
23
  },
24
24
  lists: {
25
25
  id: 'fabric.editor.lists',
@@ -18,22 +18,22 @@ export const altTextMessages = defineMessages({
18
18
  back: {
19
19
  id: 'fabric.editor.closeAltTextEdit',
20
20
  defaultMessage: 'Back',
21
- description: 'Back to toolbar'
21
+ description: 'The text is shown on a button in the alt text editing toolbar for an image. When clicked, it closes the alt text editor and navigates the user back to the main media toolbar.'
22
22
  },
23
23
  clear: {
24
24
  id: 'fabric.editor.clearAltTextEdit',
25
25
  defaultMessage: 'Clear alt text',
26
- description: 'Clear alt text'
26
+ description: 'The text is shown on a button in the alt text editing toolbar for an image. When clicked, it clears the current alt text value from the input field.'
27
27
  },
28
28
  placeholder: {
29
29
  id: 'fabric.editor.placeholderAltText',
30
30
  defaultMessage: 'Describe this image with alt text',
31
- description: 'Describe this image with alt text'
31
+ description: 'The text is shown as placeholder text inside the alt text input field for an image. It prompts the user to enter a description of the image for accessibility purposes.'
32
32
  },
33
33
  supportText: {
34
34
  id: 'fabric.editor.supportAltText',
35
35
  defaultMessage: 'Alt text is useful for people using screen readers because of visual limitations.',
36
- description: 'Alt text is useful for people using screen readers because of visual limitations.'
36
+ description: 'The text is shown as a help message below the alt text input field for an image. It informs users why providing alt text is important for accessibility and screen reader support.'
37
37
  },
38
38
  validationMessage: {
39
39
  id: 'fabric.editor.alttext.validation',
@@ -3,6 +3,6 @@ export const externalMediaMessages = defineMessages({
3
3
  externalMediaFile: {
4
4
  id: 'fabric.editor.externalMediaFile',
5
5
  defaultMessage: 'External media file',
6
- description: 'External media file'
6
+ description: 'Displayed as a tooltip and accessibility label for an info icon badge when an externally hosted media file is shown in the editor.'
7
7
  }
8
8
  });
@@ -23,31 +23,31 @@ export const imageBorderMessages = defineMessages({
23
23
  addBorder: {
24
24
  id: 'fabric.editor.addImageBorder',
25
25
  defaultMessage: 'Add border',
26
- description: 'Add a border to an image.'
26
+ description: 'Label shown on a button in the image border options toolbar to add a border around the selected image.'
27
27
  },
28
28
  removeBorder: {
29
29
  id: 'fabric.editor.removeImageBorder',
30
30
  defaultMessage: 'Remove border',
31
- description: 'Remove the border of an image.'
31
+ description: 'The text is shown as a button label in the image toolbar. Removes any border that was previously applied to the selected image.'
32
32
  },
33
33
  borderOptions: {
34
34
  id: 'fabric.editor.imageBorderOptions',
35
35
  defaultMessage: 'Border options',
36
- description: 'Display options available for customizing the border of an image.'
36
+ description: 'The text is shown as a panel or menu header. Provides users access to customize image borders including size and color options.'
37
37
  },
38
38
  borderSizeSubtle: {
39
39
  id: 'fabric.editor.imageBorderSubtle',
40
40
  defaultMessage: 'Subtle',
41
- description: 'Name of a border size.'
41
+ description: 'Label shown as a drop-down item in the image border size selector to apply a thin, subtle border around the image.'
42
42
  },
43
43
  borderSizeMedium: {
44
44
  id: 'fabric.editor.imageBorderMedium',
45
45
  defaultMessage: 'Medium',
46
- description: 'Name of a border size.'
46
+ description: 'Label shown as a drop-down item in the image border size selector to apply a medium-weight border around the image.'
47
47
  },
48
48
  borderSizeBold: {
49
49
  id: 'fabric.editor.imageBorderBold',
50
50
  defaultMessage: 'Bold',
51
- description: 'Name of a border size.'
51
+ description: 'Label shown as a drop-down item in the image border size selector to apply a thick, bold border around the image.'
52
52
  }
53
53
  });
@@ -13,12 +13,12 @@ export const pixelEntryMessages = defineMessages({
13
13
  inputWidthAriaLabel: {
14
14
  id: 'fabric.editor.media.pixelEntry.inputWidthAriaLabel',
15
15
  defaultMessage: 'Max width {maxWidth}px',
16
- description: 'The width input aria label'
16
+ description: 'Aria label for the width input field used for media pixel entry. The placeholder {maxWidth} will be substituted with the maximum allowed width value in pixels.'
17
17
  },
18
18
  inputWidthLabel: {
19
19
  id: 'fabric.editor.media.pixelEntry.inputWidthLabel',
20
20
  defaultMessage: 'Width',
21
- description: 'The label displayed next to the width input'
21
+ description: 'Label for the width input field in the media resize panel. Users enter a numeric value representing the desired width in pixels for the image.'
22
22
  },
23
23
  inputHeightTooltip: {
24
24
  id: 'fabric.editor.media.pixelEntry.inputHeightTooltip',
@@ -28,7 +28,7 @@ export const pixelEntryMessages = defineMessages({
28
28
  inputHeightAriaLabel: {
29
29
  id: 'fabric.editor.media.pixelEntry.inputHeightAriaLabel',
30
30
  defaultMessage: 'height input',
31
- description: 'The width input aria label'
31
+ description: 'Aria label for the height input field used for media pixel entry to inform screen readers about the purpose of the input.'
32
32
  },
33
33
  submitButtonText: {
34
34
  id: 'fabric.editor.media.pixelEntry.submitButtonText',
@@ -23,12 +23,12 @@ export const messages = defineMessages({
23
23
  moveUp: {
24
24
  id: 'fabric.editor.blockControlMoveUp',
25
25
  defaultMessage: 'Move up',
26
- description: 'Moves selected content up'
26
+ description: 'Label for a button in the block controls menu that moves the selected content block up in the editor.'
27
27
  },
28
28
  moveDown: {
29
29
  id: 'fabric.editor.blockControlMoveDown',
30
30
  defaultMessage: 'Move down',
31
- description: 'Moves selected content down'
31
+ description: 'Label for a button in the block controls menu that moves the selected content block down in the editor.'
32
32
  },
33
33
  movedup: {
34
34
  id: 'fabric.editor.blockControlMovedUp',
@@ -43,16 +43,16 @@ export const messages = defineMessages({
43
43
  moveLeft: {
44
44
  id: 'fabric.editor.blockControlMoveLeft',
45
45
  defaultMessage: 'Move left',
46
- description: 'Moves selected content left'
46
+ description: 'Label for a button in the block controls menu that moves the selected content block to the left.'
47
47
  },
48
48
  moveRight: {
49
49
  id: 'fabric.editor.blockControlMoveRight',
50
50
  defaultMessage: 'Move right',
51
- description: 'Moves selected content right'
51
+ description: 'Label for a button in the block controls menu that moves the selected content block to the right.'
52
52
  },
53
53
  delete: {
54
54
  id: 'fabric.editor.blockControlDelete',
55
55
  defaultMessage: 'Delete',
56
- description: 'Delete selected element'
56
+ description: 'Label for a button in the block controls menu that deletes the currently selected content block from the editor.'
57
57
  }
58
58
  });
@@ -33,7 +33,7 @@ export const messages = defineMessages({
33
33
  heading3Description: {
34
34
  id: 'fabric.editor.heading3Description',
35
35
  defaultMessage: 'Use this for sub sections and group headings',
36
- description: ''
36
+ description: 'Description text shown in the block type menu to help users understand when to use Heading 3 for sub sections and group headings in the editor.'
37
37
  },
38
38
  heading4: {
39
39
  id: 'fabric.editor.heading4',
@@ -43,7 +43,7 @@ export const messages = defineMessages({
43
43
  heading4Description: {
44
44
  id: 'fabric.editor.heading4Description',
45
45
  defaultMessage: 'Use this for deep headings',
46
- description: ''
46
+ description: 'Description text shown in the block type menu to help users understand when to use Heading 4 for deep headings in the editor.'
47
47
  },
48
48
  heading5: {
49
49
  id: 'fabric.editor.heading5',
@@ -53,7 +53,7 @@ export const messages = defineMessages({
53
53
  heading5Description: {
54
54
  id: 'fabric.editor.heading5Description',
55
55
  defaultMessage: 'Use this for grouping list items',
56
- description: ''
56
+ description: 'Description text shown in the block type menu to help users understand when to use Heading 5 for grouping list items in the editor.'
57
57
  },
58
58
  heading6: {
59
59
  id: 'fabric.editor.heading6',
@@ -63,17 +63,17 @@ export const messages = defineMessages({
63
63
  heading6Description: {
64
64
  id: 'fabric.editor.heading6Description',
65
65
  defaultMessage: 'Use this for low level headings',
66
- description: ''
66
+ description: 'Description text shown in the block type menu to help users understand when to use Heading 6 for low level headings in the editor.'
67
67
  },
68
68
  blockquote: {
69
69
  id: 'fabric.editor.blockquote2',
70
70
  defaultMessage: 'Quote',
71
- description: 'Quote some text'
71
+ description: 'Label shown as a menu item in the block type dropdown to insert a blockquote for quoting text in the editor.'
72
72
  },
73
73
  blockquoteDescription: {
74
74
  id: 'fabric.editor.blockquote.description',
75
75
  defaultMessage: 'Insert a quote or citation',
76
- description: 'Quote some text'
76
+ description: 'Description text shown in the block type menu to help users understand the blockquote option for inserting a quote or citation in the editor.'
77
77
  },
78
78
  codeblock: {
79
79
  id: 'fabric.editor.codeblock',
@@ -83,7 +83,7 @@ export const messages = defineMessages({
83
83
  codeblockDescription: {
84
84
  id: 'fabric.editor.codeblock.description',
85
85
  defaultMessage: 'Display code with syntax highlighting',
86
- description: 'Insert a snippet/segment of code (code block)'
86
+ description: 'Menu description shown in the quick insert menu. Explains that selecting this option inserts a code block with syntax highlighting support.'
87
87
  },
88
88
  infoPanel: {
89
89
  id: 'fabric.editor.infoPanel',
@@ -168,6 +168,6 @@ export const messages = defineMessages({
168
168
  other: {
169
169
  id: 'fabric.editor.other',
170
170
  defaultMessage: 'Others...',
171
- description: 'Other text formatting'
171
+ description: 'Label shown as a menu item in the block type dropdown to access additional text formatting options in the editor.'
172
172
  }
173
173
  });
@@ -18,7 +18,7 @@ export const messages = defineMessages({
18
18
  resizeHandle: {
19
19
  id: 'fabric.editor.resizeHandle',
20
20
  defaultMessage: 'Resize handle',
21
- description: 'Resize handle'
21
+ description: 'Label for the resize handle element displayed on content blocks in the editor, used to allow users to drag and resize the width of the element.'
22
22
  },
23
23
  resizeExpand: {
24
24
  id: 'fabric.editor.breakout.resizeExpand',
@@ -28,7 +28,7 @@ export const messages = defineMessages({
28
28
  card: {
29
29
  id: 'fabric.editor.cardFloatingControls',
30
30
  defaultMessage: 'Card options',
31
- description: 'Options to change card type'
31
+ description: 'The text is shown as a title for the floating toolbar when a user selects an inline card or smart link in the editor, providing options to change the card display type.'
32
32
  },
33
33
  blockCardUnavailable: {
34
34
  id: 'fabric.editor.blockCardUnavailable',
@@ -3,7 +3,7 @@ export const contextPanelMessages = defineMessages({
3
3
  panelLabel: {
4
4
  id: 'fabric.editor.contextPanel.panelLabel',
5
5
  defaultMessage: 'Context panel',
6
- description: 'Label for the context panel'
6
+ description: 'Accessibility label for the context panel dialog in the editor. Used as an aria-label to identify the panel for screen reader users.'
7
7
  },
8
8
  panelContentLabel: {
9
9
  id: 'fabric.editor.contextPanel.panelContentLabel',