@atlaskit/editor-common 112.13.4 → 112.13.7
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.
- package/CHANGELOG.md +27 -0
- package/dist/cjs/ai-messages/ai.js +46 -0
- package/dist/cjs/extensibility/Extension/Extension/index.js +6 -5
- package/dist/cjs/extensibility/Extension/InlineExtension/index.js +6 -5
- package/dist/cjs/extensibility/Extension/Lozenge/EditToggle.js +5 -4
- package/dist/cjs/extensibility/Extension/Lozenge/ExtensionLabel.js +6 -4
- package/dist/cjs/extensibility/MultiBodiedExtension/index.js +6 -5
- package/dist/cjs/monitoring/error.js +1 -1
- package/dist/cjs/ui/DropList/index.js +1 -1
- package/dist/cjs/user-intent/UserIntentPopupWrapper.js +7 -13
- package/dist/es2019/ai-messages/ai.js +46 -0
- package/dist/es2019/extensibility/Extension/Extension/index.js +6 -5
- package/dist/es2019/extensibility/Extension/InlineExtension/index.js +6 -5
- package/dist/es2019/extensibility/Extension/Lozenge/EditToggle.js +5 -4
- package/dist/es2019/extensibility/Extension/Lozenge/ExtensionLabel.js +6 -4
- package/dist/es2019/extensibility/MultiBodiedExtension/index.js +6 -5
- package/dist/es2019/monitoring/error.js +1 -1
- package/dist/es2019/ui/DropList/index.js +1 -1
- package/dist/es2019/user-intent/UserIntentPopupWrapper.js +7 -13
- package/dist/esm/ai-messages/ai.js +46 -0
- package/dist/esm/extensibility/Extension/Extension/index.js +6 -5
- package/dist/esm/extensibility/Extension/InlineExtension/index.js +6 -5
- package/dist/esm/extensibility/Extension/Lozenge/EditToggle.js +5 -4
- package/dist/esm/extensibility/Extension/Lozenge/ExtensionLabel.js +6 -4
- package/dist/esm/extensibility/MultiBodiedExtension/index.js +6 -5
- package/dist/esm/monitoring/error.js +1 -1
- package/dist/esm/ui/DropList/index.js +1 -1
- package/dist/esm/user-intent/UserIntentPopupWrapper.js +7 -13
- package/dist/types/ai-messages/ai.d.ts +128 -83
- package/dist/types-ts4.5/ai-messages/ai.d.ts +128 -83
- package/package.json +3 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# @atlaskit/editor-common
|
|
2
2
|
|
|
3
|
+
## 112.13.7
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [`3ab437cd78576`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/3ab437cd78576) -
|
|
8
|
+
Tidy feature flag `platform_editor_fix_popup_user_intent` which fixes a race condition in popup
|
|
9
|
+
user intent cleanup by deferring the reset with setTimeout
|
|
10
|
+
- Updated dependencies
|
|
11
|
+
|
|
12
|
+
## 112.13.6
|
|
13
|
+
|
|
14
|
+
### Patch Changes
|
|
15
|
+
|
|
16
|
+
- [`9ac8f29c7ac94`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/9ac8f29c7ac94) -
|
|
17
|
+
Fix @atlassian/a11y/mouse-events-have-key-events violations in editor-common extensibility
|
|
18
|
+
components by adding no-op onFocus/onBlur handlers gated behind the
|
|
19
|
+
editor_a11y\_\_enghealth-46814_fy26 experiment. Affected files: EditToggle, ExtensionLabel,
|
|
20
|
+
Extension, InlineExtension, MultiBodiedExtension.
|
|
21
|
+
- Updated dependencies
|
|
22
|
+
|
|
23
|
+
## 112.13.5
|
|
24
|
+
|
|
25
|
+
### Patch Changes
|
|
26
|
+
|
|
27
|
+
- [`546c399f5932a`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/546c399f5932a) -
|
|
28
|
+
smartlink toolbar - added action items for links
|
|
29
|
+
|
|
3
30
|
## 112.13.4
|
|
4
31
|
|
|
5
32
|
### Patch Changes
|
|
@@ -257,5 +257,51 @@ var aiMessages = exports.aiMessages = (0, _reactIntlNext.defineMessages)({
|
|
|
257
257
|
id: 'fabric.editor.ai.config.item.blockMenuNestedMenu.title',
|
|
258
258
|
defaultMessage: 'View more actions',
|
|
259
259
|
description: 'Title for the nested menu in the block menu'
|
|
260
|
+
},
|
|
261
|
+
// Smartlink action messages
|
|
262
|
+
smartlinkListKeyTopics: {
|
|
263
|
+
id: 'fabric.editor.ai.smartlink.action.listKeyTopics',
|
|
264
|
+
defaultMessage: 'List key topics',
|
|
265
|
+
description: 'Action to list key topics from the linked content'
|
|
266
|
+
},
|
|
267
|
+
smartlinkListKeyThemes: {
|
|
268
|
+
id: 'fabric.editor.ai.smartlink.action.listKeyThemes',
|
|
269
|
+
defaultMessage: 'List key themes',
|
|
270
|
+
description: 'Action to list key themes from the linked content'
|
|
271
|
+
},
|
|
272
|
+
smartlinkExtractInsights: {
|
|
273
|
+
id: 'fabric.editor.ai.smartlink.action.extractInsights',
|
|
274
|
+
defaultMessage: 'Extract insights',
|
|
275
|
+
description: 'Action to extract insights from the linked content'
|
|
276
|
+
},
|
|
277
|
+
smartlinkExtractUserQuotes: {
|
|
278
|
+
id: 'fabric.editor.ai.smartlink.action.extractUserQuotes',
|
|
279
|
+
defaultMessage: 'Extract user quotes',
|
|
280
|
+
description: 'Action to extract user quotes from the linked content'
|
|
281
|
+
},
|
|
282
|
+
smartlinkAddDecisions: {
|
|
283
|
+
id: 'fabric.editor.ai.smartlink.action.addDecisions',
|
|
284
|
+
defaultMessage: 'Add decisions',
|
|
285
|
+
description: 'Action to add decisions from the linked content'
|
|
286
|
+
},
|
|
287
|
+
smartlinkDefineActionItems: {
|
|
288
|
+
id: 'fabric.editor.ai.smartlink.action.defineActionItems',
|
|
289
|
+
defaultMessage: 'Define action items',
|
|
290
|
+
description: 'Action to define action items from the linked content'
|
|
291
|
+
},
|
|
292
|
+
smartlinkSummarizeChanges: {
|
|
293
|
+
id: 'fabric.editor.ai.smartlink.action.summarizeChanges',
|
|
294
|
+
defaultMessage: 'Summarize changes',
|
|
295
|
+
description: 'Action to summarize changes in the linked content'
|
|
296
|
+
},
|
|
297
|
+
smartlinkAddRelatedWorkItems: {
|
|
298
|
+
id: 'fabric.editor.ai.smartlink.action.addRelatedWorkItems',
|
|
299
|
+
defaultMessage: 'Add related work items',
|
|
300
|
+
description: 'Action to add related work items from the linked content'
|
|
301
|
+
},
|
|
302
|
+
smartlinkListTodos: {
|
|
303
|
+
id: 'fabric.editor.ai.smartlink.action.listTodos',
|
|
304
|
+
defaultMessage: 'List to-dos',
|
|
305
|
+
description: 'Action to list to-dos from the linked content'
|
|
260
306
|
}
|
|
261
307
|
});
|
|
@@ -170,17 +170,18 @@ function ExtensionWithPluginState(props) {
|
|
|
170
170
|
_styles2.wrapperStyleInheritedCursor, showMacroInteractionDesignUpdates && !isLivePageViewMode && (0, _expValEquals.expValEquals)('cc_editor_ttvc_release_bundle_one', 'extensionHoverRefactor', true) && hoverStyles]
|
|
171
171
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
|
|
172
172
|
,
|
|
173
|
-
style: customContainerStyles
|
|
174
|
-
// eslint-disable-next-line @atlassian/a11y/mouse-events-have-key-events
|
|
175
|
-
,
|
|
173
|
+
style: customContainerStyles,
|
|
176
174
|
onMouseEnter: function onMouseEnter() {
|
|
177
175
|
return handleMouseEvent(true);
|
|
178
176
|
}
|
|
179
|
-
//
|
|
177
|
+
// @atlassian/a11y/mouse-events-have-key-events: hover border is also applied via .ak-editor-selected-node
|
|
178
|
+
// CSS on keyboard selection. No-ops here satisfy the rule without duplicating state updates.
|
|
180
179
|
,
|
|
180
|
+
onFocus: (0, _expValEquals.expValEquals)('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? function () {} : undefined,
|
|
181
181
|
onMouseLeave: function onMouseLeave() {
|
|
182
182
|
return handleMouseEvent(false);
|
|
183
|
-
}
|
|
183
|
+
},
|
|
184
|
+
onBlur: (0, _expValEquals.expValEquals)('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? function () {} : undefined
|
|
184
185
|
}, (0, _react2.jsx)("div", {
|
|
185
186
|
"data-testid": "extension-overflow-wrapper"
|
|
186
187
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop
|
|
@@ -96,17 +96,18 @@ var InlineExtension = function InlineExtension(props) {
|
|
|
96
96
|
_styles2.wrapperStyle, inlineWrapperStyles, showMacroInteractionDesignUpdates && !isLivePageViewMode && (0, _expValEquals.expValEquals)('cc_editor_ttvc_release_bundle_one', 'extensionHoverRefactor', true) && hoverStyles]
|
|
97
97
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
|
|
98
98
|
,
|
|
99
|
-
className: classNames
|
|
100
|
-
// eslint-disable-next-line @atlassian/a11y/mouse-events-have-key-events
|
|
101
|
-
,
|
|
99
|
+
className: classNames,
|
|
102
100
|
onMouseEnter: function onMouseEnter() {
|
|
103
101
|
return handleMouseEvent(true);
|
|
104
102
|
}
|
|
105
|
-
//
|
|
103
|
+
// @atlassian/a11y/mouse-events-have-key-events: hover border is also accessible via keyboard selection.
|
|
104
|
+
// No-ops here satisfy the rule without duplicating state updates.
|
|
106
105
|
,
|
|
106
|
+
onFocus: (0, _expValEquals.expValEquals)('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? function () {} : undefined,
|
|
107
107
|
onMouseLeave: function onMouseLeave() {
|
|
108
108
|
return handleMouseEvent(false);
|
|
109
|
-
}
|
|
109
|
+
},
|
|
110
|
+
onBlur: (0, _expValEquals.expValEquals)('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? function () {} : undefined
|
|
110
111
|
}, (0, _react2.jsx)("div", {
|
|
111
112
|
css: _styles.overlay,
|
|
112
113
|
className: "extension-overlay"
|
|
@@ -103,17 +103,18 @@ var EditToggle = exports.EditToggle = function EditToggle(_ref) {
|
|
|
103
103
|
style: customContainerStyles
|
|
104
104
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
|
|
105
105
|
,
|
|
106
|
-
className: "extension-edit-toggle-container"
|
|
107
|
-
// eslint-disable-next-line @atlassian/a11y/mouse-events-have-key-events
|
|
108
|
-
,
|
|
106
|
+
className: "extension-edit-toggle-container",
|
|
109
107
|
onMouseOver: function onMouseOver() {
|
|
110
108
|
return setIsNodeHovered === null || setIsNodeHovered === void 0 ? void 0 : setIsNodeHovered(true);
|
|
111
109
|
}
|
|
112
|
-
//
|
|
110
|
+
// @atlassian/a11y/mouse-events-have-key-events: keyboard focus is already handled by the
|
|
111
|
+
// inner <button>'s onFocus/onBlur. No-ops here satisfy the rule without duplicating state updates.
|
|
113
112
|
,
|
|
113
|
+
onFocus: (0, _expValEquals.expValEquals)('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? function () {} : undefined,
|
|
114
114
|
onMouseLeave: function onMouseLeave() {
|
|
115
115
|
return setIsNodeHovered === null || setIsNodeHovered === void 0 ? void 0 : setIsNodeHovered(false);
|
|
116
116
|
},
|
|
117
|
+
onBlur: (0, _expValEquals.expValEquals)('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? function () {} : undefined,
|
|
117
118
|
tabIndex: -1
|
|
118
119
|
}, (0, _react2.jsx)("button", {
|
|
119
120
|
type: "button",
|
|
@@ -172,17 +172,19 @@ var ExtensionLabel = exports.ExtensionLabel = function ExtensionLabel(_ref) {
|
|
|
172
172
|
className: containerClassNames
|
|
173
173
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
|
|
174
174
|
,
|
|
175
|
-
style: customContainerStyles
|
|
176
|
-
// eslint-disable-next-line @atlassian/a11y/mouse-events-have-key-events
|
|
177
|
-
,
|
|
175
|
+
style: customContainerStyles,
|
|
178
176
|
onMouseOver: function onMouseOver() {
|
|
179
177
|
setIsNodeHovered === null || setIsNodeHovered === void 0 || setIsNodeHovered(true);
|
|
180
178
|
}
|
|
181
|
-
//
|
|
179
|
+
// @atlassian/a11y/mouse-events-have-key-events: label visibility on keyboard focus is already
|
|
180
|
+
// handled via the .ak-editor-selected-node CSS class applied by ProseMirror on node selection.
|
|
181
|
+
// No-ops here satisfy the rule.
|
|
182
182
|
,
|
|
183
|
+
onFocus: (0, _expValEquals.expValEquals)('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? function () {} : undefined,
|
|
183
184
|
onMouseLeave: function onMouseLeave() {
|
|
184
185
|
setIsNodeHovered === null || setIsNodeHovered === void 0 || setIsNodeHovered(false);
|
|
185
186
|
},
|
|
187
|
+
onBlur: (0, _expValEquals.expValEquals)('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? function () {} : undefined,
|
|
186
188
|
"data-testid": "new-lozenge-container",
|
|
187
189
|
contentEditable: false
|
|
188
190
|
}, (0, _react.jsx)(_tooltip.default, {
|
|
@@ -216,17 +216,18 @@ var MultiBodiedExtensionWithWidth = function MultiBodiedExtensionWithWidth(_ref2
|
|
|
216
216
|
"data-layout": node.attrs.layout
|
|
217
217
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
|
|
218
218
|
,
|
|
219
|
-
style: mbeWrapperStyles
|
|
220
|
-
// eslint-disable-next-line @atlassian/a11y/mouse-events-have-key-events
|
|
221
|
-
,
|
|
219
|
+
style: mbeWrapperStyles,
|
|
222
220
|
onMouseEnter: function onMouseEnter() {
|
|
223
221
|
return handleMouseEvent(true);
|
|
224
222
|
}
|
|
225
|
-
//
|
|
223
|
+
// @atlassian/a11y/mouse-events-have-key-events: hover border is also applied via .ak-editor-selected-node
|
|
224
|
+
// CSS on keyboard selection. No-ops here satisfy the rule without duplicating state updates.
|
|
226
225
|
,
|
|
226
|
+
onFocus: (0, _expValEquals.expValEquals)('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? function () {} : undefined,
|
|
227
227
|
onMouseLeave: function onMouseLeave() {
|
|
228
228
|
return handleMouseEvent(false);
|
|
229
|
-
}
|
|
229
|
+
},
|
|
230
|
+
onBlur: (0, _expValEquals.expValEquals)('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? function () {} : undefined
|
|
230
231
|
}, (0, _react2.jsx)("div", {
|
|
231
232
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
|
|
232
233
|
css: _styles.overlayStyles
|
|
@@ -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 = "112.13.
|
|
22
|
+
var packageVersion = "112.13.6";
|
|
23
23
|
var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
|
|
24
24
|
// Remove URL as it has UGC
|
|
25
25
|
// Ignored via go/ees007
|
|
@@ -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 = "112.13.
|
|
27
|
+
var packageVersion = "112.13.6";
|
|
28
28
|
var halfFocusRing = 1;
|
|
29
29
|
var dropOffset = '0, 8';
|
|
30
30
|
var fadeIn = (0, _react2.keyframes)({
|
|
@@ -5,7 +5,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.UserIntentPopupWrapper = void 0;
|
|
7
7
|
var _react = require("react");
|
|
8
|
-
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
9
8
|
/**
|
|
10
9
|
*
|
|
11
10
|
* A wrapper for popups to signal popupOpen user intent
|
|
@@ -21,18 +20,13 @@ var UserIntentPopupWrapper = exports.UserIntentPopupWrapper = function UserInten
|
|
|
21
20
|
return function () {
|
|
22
21
|
var _api$userIntent2;
|
|
23
22
|
if (userIntent === (api === null || api === void 0 || (_api$userIntent2 = api.userIntent) === null || _api$userIntent2 === void 0 || (_api$userIntent2 = _api$userIntent2.sharedState.currentState()) === null || _api$userIntent2 === void 0 ? void 0 : _api$userIntent2.currentUserIntent)) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}, 0);
|
|
32
|
-
} else {
|
|
33
|
-
var _api$userIntent4;
|
|
34
|
-
api === null || api === void 0 || api.core.actions.execute(api === null || api === void 0 || (_api$userIntent4 = api.userIntent) === null || _api$userIntent4 === void 0 ? void 0 : _api$userIntent4.commands.setCurrentUserIntent('default'));
|
|
35
|
-
}
|
|
23
|
+
// Defer the reset to avoid interfering with ongoing ProseMirror transactions
|
|
24
|
+
// This fixes a race condition where cleanup happens during a transaction
|
|
25
|
+
// (e.g., during drag handle mouse over -> unmountDecorations -> flushSync)
|
|
26
|
+
setTimeout(function () {
|
|
27
|
+
var _api$userIntent3;
|
|
28
|
+
api === null || api === void 0 || api.core.actions.execute(api === null || api === void 0 || (_api$userIntent3 = api.userIntent) === null || _api$userIntent3 === void 0 ? void 0 : _api$userIntent3.commands.setCurrentUserIntent('default'));
|
|
29
|
+
}, 0);
|
|
36
30
|
}
|
|
37
31
|
};
|
|
38
32
|
|
|
@@ -251,5 +251,51 @@ export const aiMessages = defineMessages({
|
|
|
251
251
|
id: 'fabric.editor.ai.config.item.blockMenuNestedMenu.title',
|
|
252
252
|
defaultMessage: 'View more actions',
|
|
253
253
|
description: 'Title for the nested menu in the block menu'
|
|
254
|
+
},
|
|
255
|
+
// Smartlink action messages
|
|
256
|
+
smartlinkListKeyTopics: {
|
|
257
|
+
id: 'fabric.editor.ai.smartlink.action.listKeyTopics',
|
|
258
|
+
defaultMessage: 'List key topics',
|
|
259
|
+
description: 'Action to list key topics from the linked content'
|
|
260
|
+
},
|
|
261
|
+
smartlinkListKeyThemes: {
|
|
262
|
+
id: 'fabric.editor.ai.smartlink.action.listKeyThemes',
|
|
263
|
+
defaultMessage: 'List key themes',
|
|
264
|
+
description: 'Action to list key themes from the linked content'
|
|
265
|
+
},
|
|
266
|
+
smartlinkExtractInsights: {
|
|
267
|
+
id: 'fabric.editor.ai.smartlink.action.extractInsights',
|
|
268
|
+
defaultMessage: 'Extract insights',
|
|
269
|
+
description: 'Action to extract insights from the linked content'
|
|
270
|
+
},
|
|
271
|
+
smartlinkExtractUserQuotes: {
|
|
272
|
+
id: 'fabric.editor.ai.smartlink.action.extractUserQuotes',
|
|
273
|
+
defaultMessage: 'Extract user quotes',
|
|
274
|
+
description: 'Action to extract user quotes from the linked content'
|
|
275
|
+
},
|
|
276
|
+
smartlinkAddDecisions: {
|
|
277
|
+
id: 'fabric.editor.ai.smartlink.action.addDecisions',
|
|
278
|
+
defaultMessage: 'Add decisions',
|
|
279
|
+
description: 'Action to add decisions from the linked content'
|
|
280
|
+
},
|
|
281
|
+
smartlinkDefineActionItems: {
|
|
282
|
+
id: 'fabric.editor.ai.smartlink.action.defineActionItems',
|
|
283
|
+
defaultMessage: 'Define action items',
|
|
284
|
+
description: 'Action to define action items from the linked content'
|
|
285
|
+
},
|
|
286
|
+
smartlinkSummarizeChanges: {
|
|
287
|
+
id: 'fabric.editor.ai.smartlink.action.summarizeChanges',
|
|
288
|
+
defaultMessage: 'Summarize changes',
|
|
289
|
+
description: 'Action to summarize changes in the linked content'
|
|
290
|
+
},
|
|
291
|
+
smartlinkAddRelatedWorkItems: {
|
|
292
|
+
id: 'fabric.editor.ai.smartlink.action.addRelatedWorkItems',
|
|
293
|
+
defaultMessage: 'Add related work items',
|
|
294
|
+
description: 'Action to add related work items from the linked content'
|
|
295
|
+
},
|
|
296
|
+
smartlinkListTodos: {
|
|
297
|
+
id: 'fabric.editor.ai.smartlink.action.listTodos',
|
|
298
|
+
defaultMessage: 'List to-dos',
|
|
299
|
+
description: 'Action to list to-dos from the linked content'
|
|
254
300
|
}
|
|
255
301
|
});
|
|
@@ -170,13 +170,14 @@ function ExtensionWithPluginState(props) {
|
|
|
170
170
|
wrapperStyleInheritedCursor, showMacroInteractionDesignUpdates && !isLivePageViewMode && expValEquals('cc_editor_ttvc_release_bundle_one', 'extensionHoverRefactor', true) && hoverStyles]
|
|
171
171
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
|
|
172
172
|
,
|
|
173
|
-
style: customContainerStyles
|
|
174
|
-
// eslint-disable-next-line @atlassian/a11y/mouse-events-have-key-events
|
|
175
|
-
,
|
|
173
|
+
style: customContainerStyles,
|
|
176
174
|
onMouseEnter: () => handleMouseEvent(true)
|
|
177
|
-
//
|
|
175
|
+
// @atlassian/a11y/mouse-events-have-key-events: hover border is also applied via .ak-editor-selected-node
|
|
176
|
+
// CSS on keyboard selection. No-ops here satisfy the rule without duplicating state updates.
|
|
178
177
|
,
|
|
179
|
-
|
|
178
|
+
onFocus: expValEquals('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? () => {} : undefined,
|
|
179
|
+
onMouseLeave: () => handleMouseEvent(false),
|
|
180
|
+
onBlur: expValEquals('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? () => {} : undefined
|
|
180
181
|
}, jsx("div", {
|
|
181
182
|
"data-testid": "extension-overflow-wrapper"
|
|
182
183
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop
|
|
@@ -90,13 +90,14 @@ const InlineExtension = props => {
|
|
|
90
90
|
wrapperStyle, inlineWrapperStyles, showMacroInteractionDesignUpdates && !isLivePageViewMode && expValEquals('cc_editor_ttvc_release_bundle_one', 'extensionHoverRefactor', true) && hoverStyles]
|
|
91
91
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
|
|
92
92
|
,
|
|
93
|
-
className: classNames
|
|
94
|
-
// eslint-disable-next-line @atlassian/a11y/mouse-events-have-key-events
|
|
95
|
-
,
|
|
93
|
+
className: classNames,
|
|
96
94
|
onMouseEnter: () => handleMouseEvent(true)
|
|
97
|
-
//
|
|
95
|
+
// @atlassian/a11y/mouse-events-have-key-events: hover border is also accessible via keyboard selection.
|
|
96
|
+
// No-ops here satisfy the rule without duplicating state updates.
|
|
98
97
|
,
|
|
99
|
-
|
|
98
|
+
onFocus: expValEquals('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? () => {} : undefined,
|
|
99
|
+
onMouseLeave: () => handleMouseEvent(false),
|
|
100
|
+
onBlur: expValEquals('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? () => {} : undefined
|
|
100
101
|
}, jsx("div", {
|
|
101
102
|
css: overlay,
|
|
102
103
|
className: "extension-overlay"
|
|
@@ -96,13 +96,14 @@ export const EditToggle = ({
|
|
|
96
96
|
style: customContainerStyles
|
|
97
97
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
|
|
98
98
|
,
|
|
99
|
-
className: "extension-edit-toggle-container"
|
|
100
|
-
// eslint-disable-next-line @atlassian/a11y/mouse-events-have-key-events
|
|
101
|
-
,
|
|
99
|
+
className: "extension-edit-toggle-container",
|
|
102
100
|
onMouseOver: () => setIsNodeHovered === null || setIsNodeHovered === void 0 ? void 0 : setIsNodeHovered(true)
|
|
103
|
-
//
|
|
101
|
+
// @atlassian/a11y/mouse-events-have-key-events: keyboard focus is already handled by the
|
|
102
|
+
// inner <button>'s onFocus/onBlur. No-ops here satisfy the rule without duplicating state updates.
|
|
104
103
|
,
|
|
104
|
+
onFocus: expValEquals('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? () => {} : undefined,
|
|
105
105
|
onMouseLeave: () => setIsNodeHovered === null || setIsNodeHovered === void 0 ? void 0 : setIsNodeHovered(false),
|
|
106
|
+
onBlur: expValEquals('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? () => {} : undefined,
|
|
106
107
|
tabIndex: -1
|
|
107
108
|
}, jsx("button", {
|
|
108
109
|
type: "button",
|
|
@@ -163,17 +163,19 @@ export const ExtensionLabel = ({
|
|
|
163
163
|
className: containerClassNames
|
|
164
164
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
|
|
165
165
|
,
|
|
166
|
-
style: customContainerStyles
|
|
167
|
-
// eslint-disable-next-line @atlassian/a11y/mouse-events-have-key-events
|
|
168
|
-
,
|
|
166
|
+
style: customContainerStyles,
|
|
169
167
|
onMouseOver: () => {
|
|
170
168
|
setIsNodeHovered === null || setIsNodeHovered === void 0 ? void 0 : setIsNodeHovered(true);
|
|
171
169
|
}
|
|
172
|
-
//
|
|
170
|
+
// @atlassian/a11y/mouse-events-have-key-events: label visibility on keyboard focus is already
|
|
171
|
+
// handled via the .ak-editor-selected-node CSS class applied by ProseMirror on node selection.
|
|
172
|
+
// No-ops here satisfy the rule.
|
|
173
173
|
,
|
|
174
|
+
onFocus: expValEquals('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? () => {} : undefined,
|
|
174
175
|
onMouseLeave: () => {
|
|
175
176
|
setIsNodeHovered === null || setIsNodeHovered === void 0 ? void 0 : setIsNodeHovered(false);
|
|
176
177
|
},
|
|
178
|
+
onBlur: expValEquals('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? () => {} : undefined,
|
|
177
179
|
"data-testid": "new-lozenge-container",
|
|
178
180
|
contentEditable: false
|
|
179
181
|
}, jsx(Tooltip, {
|
|
@@ -207,13 +207,14 @@ const MultiBodiedExtensionWithWidth = ({
|
|
|
207
207
|
"data-layout": node.attrs.layout
|
|
208
208
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
|
|
209
209
|
,
|
|
210
|
-
style: mbeWrapperStyles
|
|
211
|
-
// eslint-disable-next-line @atlassian/a11y/mouse-events-have-key-events
|
|
212
|
-
,
|
|
210
|
+
style: mbeWrapperStyles,
|
|
213
211
|
onMouseEnter: () => handleMouseEvent(true)
|
|
214
|
-
//
|
|
212
|
+
// @atlassian/a11y/mouse-events-have-key-events: hover border is also applied via .ak-editor-selected-node
|
|
213
|
+
// CSS on keyboard selection. No-ops here satisfy the rule without duplicating state updates.
|
|
215
214
|
,
|
|
216
|
-
|
|
215
|
+
onFocus: expValEquals('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? () => {} : undefined,
|
|
216
|
+
onMouseLeave: () => handleMouseEvent(false),
|
|
217
|
+
onBlur: expValEquals('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? () => {} : undefined
|
|
217
218
|
}, jsx("div", {
|
|
218
219
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
|
|
219
220
|
css: overlayStyles
|
|
@@ -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 = "112.13.
|
|
7
|
+
const packageVersion = "112.13.6";
|
|
8
8
|
const sanitiseSentryEvents = (data, _hint) => {
|
|
9
9
|
// Remove URL as it has UGC
|
|
10
10
|
// Ignored via go/ees007
|
|
@@ -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 = "112.13.
|
|
17
|
+
const packageVersion = "112.13.6";
|
|
18
18
|
const halfFocusRing = 1;
|
|
19
19
|
const dropOffset = '0, 8';
|
|
20
20
|
const fadeIn = keyframes({
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { useEffect } from 'react';
|
|
2
|
-
import { fg } from '@atlaskit/platform-feature-flags';
|
|
3
2
|
/**
|
|
4
3
|
*
|
|
5
4
|
* A wrapper for popups to signal popupOpen user intent
|
|
@@ -15,18 +14,13 @@ export const UserIntentPopupWrapper = ({
|
|
|
15
14
|
return () => {
|
|
16
15
|
var _api$userIntent2, _api$userIntent2$shar;
|
|
17
16
|
if (userIntent === (api === null || api === void 0 ? void 0 : (_api$userIntent2 = api.userIntent) === null || _api$userIntent2 === void 0 ? void 0 : (_api$userIntent2$shar = _api$userIntent2.sharedState.currentState()) === null || _api$userIntent2$shar === void 0 ? void 0 : _api$userIntent2$shar.currentUserIntent)) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}, 0);
|
|
26
|
-
} else {
|
|
27
|
-
var _api$userIntent4;
|
|
28
|
-
api === null || api === void 0 ? void 0 : api.core.actions.execute(api === null || api === void 0 ? void 0 : (_api$userIntent4 = api.userIntent) === null || _api$userIntent4 === void 0 ? void 0 : _api$userIntent4.commands.setCurrentUserIntent('default'));
|
|
29
|
-
}
|
|
17
|
+
// Defer the reset to avoid interfering with ongoing ProseMirror transactions
|
|
18
|
+
// This fixes a race condition where cleanup happens during a transaction
|
|
19
|
+
// (e.g., during drag handle mouse over -> unmountDecorations -> flushSync)
|
|
20
|
+
setTimeout(() => {
|
|
21
|
+
var _api$userIntent3;
|
|
22
|
+
api === null || api === void 0 ? void 0 : api.core.actions.execute(api === null || api === void 0 ? void 0 : (_api$userIntent3 = api.userIntent) === null || _api$userIntent3 === void 0 ? void 0 : _api$userIntent3.commands.setCurrentUserIntent('default'));
|
|
23
|
+
}, 0);
|
|
30
24
|
}
|
|
31
25
|
};
|
|
32
26
|
|
|
@@ -251,5 +251,51 @@ export var aiMessages = defineMessages({
|
|
|
251
251
|
id: 'fabric.editor.ai.config.item.blockMenuNestedMenu.title',
|
|
252
252
|
defaultMessage: 'View more actions',
|
|
253
253
|
description: 'Title for the nested menu in the block menu'
|
|
254
|
+
},
|
|
255
|
+
// Smartlink action messages
|
|
256
|
+
smartlinkListKeyTopics: {
|
|
257
|
+
id: 'fabric.editor.ai.smartlink.action.listKeyTopics',
|
|
258
|
+
defaultMessage: 'List key topics',
|
|
259
|
+
description: 'Action to list key topics from the linked content'
|
|
260
|
+
},
|
|
261
|
+
smartlinkListKeyThemes: {
|
|
262
|
+
id: 'fabric.editor.ai.smartlink.action.listKeyThemes',
|
|
263
|
+
defaultMessage: 'List key themes',
|
|
264
|
+
description: 'Action to list key themes from the linked content'
|
|
265
|
+
},
|
|
266
|
+
smartlinkExtractInsights: {
|
|
267
|
+
id: 'fabric.editor.ai.smartlink.action.extractInsights',
|
|
268
|
+
defaultMessage: 'Extract insights',
|
|
269
|
+
description: 'Action to extract insights from the linked content'
|
|
270
|
+
},
|
|
271
|
+
smartlinkExtractUserQuotes: {
|
|
272
|
+
id: 'fabric.editor.ai.smartlink.action.extractUserQuotes',
|
|
273
|
+
defaultMessage: 'Extract user quotes',
|
|
274
|
+
description: 'Action to extract user quotes from the linked content'
|
|
275
|
+
},
|
|
276
|
+
smartlinkAddDecisions: {
|
|
277
|
+
id: 'fabric.editor.ai.smartlink.action.addDecisions',
|
|
278
|
+
defaultMessage: 'Add decisions',
|
|
279
|
+
description: 'Action to add decisions from the linked content'
|
|
280
|
+
},
|
|
281
|
+
smartlinkDefineActionItems: {
|
|
282
|
+
id: 'fabric.editor.ai.smartlink.action.defineActionItems',
|
|
283
|
+
defaultMessage: 'Define action items',
|
|
284
|
+
description: 'Action to define action items from the linked content'
|
|
285
|
+
},
|
|
286
|
+
smartlinkSummarizeChanges: {
|
|
287
|
+
id: 'fabric.editor.ai.smartlink.action.summarizeChanges',
|
|
288
|
+
defaultMessage: 'Summarize changes',
|
|
289
|
+
description: 'Action to summarize changes in the linked content'
|
|
290
|
+
},
|
|
291
|
+
smartlinkAddRelatedWorkItems: {
|
|
292
|
+
id: 'fabric.editor.ai.smartlink.action.addRelatedWorkItems',
|
|
293
|
+
defaultMessage: 'Add related work items',
|
|
294
|
+
description: 'Action to add related work items from the linked content'
|
|
295
|
+
},
|
|
296
|
+
smartlinkListTodos: {
|
|
297
|
+
id: 'fabric.editor.ai.smartlink.action.listTodos',
|
|
298
|
+
defaultMessage: 'List to-dos',
|
|
299
|
+
description: 'Action to list to-dos from the linked content'
|
|
254
300
|
}
|
|
255
301
|
});
|
|
@@ -163,17 +163,18 @@ function ExtensionWithPluginState(props) {
|
|
|
163
163
|
wrapperStyleInheritedCursor, showMacroInteractionDesignUpdates && !isLivePageViewMode && expValEquals('cc_editor_ttvc_release_bundle_one', 'extensionHoverRefactor', true) && hoverStyles]
|
|
164
164
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
|
|
165
165
|
,
|
|
166
|
-
style: customContainerStyles
|
|
167
|
-
// eslint-disable-next-line @atlassian/a11y/mouse-events-have-key-events
|
|
168
|
-
,
|
|
166
|
+
style: customContainerStyles,
|
|
169
167
|
onMouseEnter: function onMouseEnter() {
|
|
170
168
|
return handleMouseEvent(true);
|
|
171
169
|
}
|
|
172
|
-
//
|
|
170
|
+
// @atlassian/a11y/mouse-events-have-key-events: hover border is also applied via .ak-editor-selected-node
|
|
171
|
+
// CSS on keyboard selection. No-ops here satisfy the rule without duplicating state updates.
|
|
173
172
|
,
|
|
173
|
+
onFocus: expValEquals('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? function () {} : undefined,
|
|
174
174
|
onMouseLeave: function onMouseLeave() {
|
|
175
175
|
return handleMouseEvent(false);
|
|
176
|
-
}
|
|
176
|
+
},
|
|
177
|
+
onBlur: expValEquals('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? function () {} : undefined
|
|
177
178
|
}, jsx("div", {
|
|
178
179
|
"data-testid": "extension-overflow-wrapper"
|
|
179
180
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop
|
|
@@ -86,17 +86,18 @@ var InlineExtension = function InlineExtension(props) {
|
|
|
86
86
|
wrapperStyle, inlineWrapperStyles, showMacroInteractionDesignUpdates && !isLivePageViewMode && expValEquals('cc_editor_ttvc_release_bundle_one', 'extensionHoverRefactor', true) && hoverStyles]
|
|
87
87
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
|
|
88
88
|
,
|
|
89
|
-
className: classNames
|
|
90
|
-
// eslint-disable-next-line @atlassian/a11y/mouse-events-have-key-events
|
|
91
|
-
,
|
|
89
|
+
className: classNames,
|
|
92
90
|
onMouseEnter: function onMouseEnter() {
|
|
93
91
|
return handleMouseEvent(true);
|
|
94
92
|
}
|
|
95
|
-
//
|
|
93
|
+
// @atlassian/a11y/mouse-events-have-key-events: hover border is also accessible via keyboard selection.
|
|
94
|
+
// No-ops here satisfy the rule without duplicating state updates.
|
|
96
95
|
,
|
|
96
|
+
onFocus: expValEquals('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? function () {} : undefined,
|
|
97
97
|
onMouseLeave: function onMouseLeave() {
|
|
98
98
|
return handleMouseEvent(false);
|
|
99
|
-
}
|
|
99
|
+
},
|
|
100
|
+
onBlur: expValEquals('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? function () {} : undefined
|
|
100
101
|
}, jsx("div", {
|
|
101
102
|
css: overlay,
|
|
102
103
|
className: "extension-overlay"
|
|
@@ -95,17 +95,18 @@ export var EditToggle = function EditToggle(_ref) {
|
|
|
95
95
|
style: customContainerStyles
|
|
96
96
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
|
|
97
97
|
,
|
|
98
|
-
className: "extension-edit-toggle-container"
|
|
99
|
-
// eslint-disable-next-line @atlassian/a11y/mouse-events-have-key-events
|
|
100
|
-
,
|
|
98
|
+
className: "extension-edit-toggle-container",
|
|
101
99
|
onMouseOver: function onMouseOver() {
|
|
102
100
|
return setIsNodeHovered === null || setIsNodeHovered === void 0 ? void 0 : setIsNodeHovered(true);
|
|
103
101
|
}
|
|
104
|
-
//
|
|
102
|
+
// @atlassian/a11y/mouse-events-have-key-events: keyboard focus is already handled by the
|
|
103
|
+
// inner <button>'s onFocus/onBlur. No-ops here satisfy the rule without duplicating state updates.
|
|
105
104
|
,
|
|
105
|
+
onFocus: expValEquals('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? function () {} : undefined,
|
|
106
106
|
onMouseLeave: function onMouseLeave() {
|
|
107
107
|
return setIsNodeHovered === null || setIsNodeHovered === void 0 ? void 0 : setIsNodeHovered(false);
|
|
108
108
|
},
|
|
109
|
+
onBlur: expValEquals('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? function () {} : undefined,
|
|
109
110
|
tabIndex: -1
|
|
110
111
|
}, jsx("button", {
|
|
111
112
|
type: "button",
|