@atlaskit/editor-common 102.17.2 → 102.18.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.
- package/CHANGELOG.md +27 -0
- package/dist/cjs/analytics/types/enums.js +2 -0
- package/dist/cjs/analytics/types/selection-toolbar-events.js +5 -0
- package/dist/cjs/media-single/ExternalImageBadge.js +14 -8
- package/dist/cjs/messages/index.js +12 -0
- package/dist/cjs/messages/placeholder-text.js +10 -0
- package/dist/cjs/messages/selection-extension.js +5 -0
- package/dist/cjs/messages/selection-toolbar.js +24 -0
- package/dist/cjs/monitoring/error.js +1 -1
- package/dist/cjs/ui/AssistiveText/AssistiveText.js +94 -0
- package/dist/cjs/ui/DropList/index.js +1 -1
- package/dist/cjs/ui/index.js +7 -0
- package/dist/es2019/analytics/types/enums.js +2 -0
- package/dist/es2019/analytics/types/selection-toolbar-events.js +1 -0
- package/dist/es2019/media-single/ExternalImageBadge.js +16 -9
- package/dist/es2019/messages/index.js +6 -0
- package/dist/es2019/messages/placeholder-text.js +10 -0
- package/dist/es2019/messages/selection-extension.js +5 -0
- package/dist/es2019/messages/selection-toolbar.js +18 -0
- package/dist/es2019/monitoring/error.js +1 -1
- package/dist/es2019/ui/AssistiveText/AssistiveText.js +68 -0
- package/dist/es2019/ui/DropList/index.js +1 -1
- package/dist/es2019/ui/index.js +1 -0
- package/dist/esm/analytics/types/enums.js +2 -0
- package/dist/esm/analytics/types/selection-toolbar-events.js +1 -0
- package/dist/esm/media-single/ExternalImageBadge.js +14 -8
- package/dist/esm/messages/index.js +6 -0
- package/dist/esm/messages/placeholder-text.js +10 -0
- package/dist/esm/messages/selection-extension.js +5 -0
- package/dist/esm/messages/selection-toolbar.js +18 -0
- package/dist/esm/monitoring/error.js +1 -1
- package/dist/esm/ui/AssistiveText/AssistiveText.js +87 -0
- package/dist/esm/ui/DropList/index.js +1 -1
- package/dist/esm/ui/index.js +1 -0
- package/dist/types/analytics/types/enums.d.ts +3 -1
- package/dist/types/analytics/types/events.d.ts +2 -1
- package/dist/types/analytics/types/selection-toolbar-events.d.ts +6 -0
- package/dist/types/messages/index.d.ts +6 -0
- package/dist/types/messages/placeholder-text.d.ts +10 -0
- package/dist/types/messages/selection-extension.d.ts +5 -0
- package/dist/types/messages/selection-toolbar.d.ts +17 -0
- package/dist/types/ui/AssistiveText/AssistiveText.d.ts +14 -0
- package/dist/types/ui/index.d.ts +1 -0
- package/dist/types-ts4.5/analytics/types/enums.d.ts +3 -1
- package/dist/types-ts4.5/analytics/types/events.d.ts +2 -1
- package/dist/types-ts4.5/analytics/types/selection-toolbar-events.d.ts +6 -0
- package/dist/types-ts4.5/messages/index.d.ts +6 -0
- package/dist/types-ts4.5/messages/placeholder-text.d.ts +10 -0
- package/dist/types-ts4.5/messages/selection-extension.d.ts +5 -0
- package/dist/types-ts4.5/messages/selection-toolbar.d.ts +17 -0
- package/dist/types-ts4.5/ui/AssistiveText/AssistiveText.d.ts +14 -0
- package/dist/types-ts4.5/ui/index.d.ts +1 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,32 @@
|
|
|
1
1
|
# @atlaskit/editor-common
|
|
2
2
|
|
|
3
|
+
## 102.18.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#134366](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/134366)
|
|
8
|
+
[`6dc568b170746`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/6dc568b170746) -
|
|
9
|
+
updated handling of urls on export to exclude marking data urls as external for images
|
|
10
|
+
|
|
11
|
+
## 102.18.0
|
|
12
|
+
|
|
13
|
+
### Minor Changes
|
|
14
|
+
|
|
15
|
+
- [#135586](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/135586)
|
|
16
|
+
[`3aeba66081612`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/3aeba66081612) -
|
|
17
|
+
ED-26593 Add missing i18n for editor control
|
|
18
|
+
- [#135115](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/135115)
|
|
19
|
+
[`599ab2e1d386c`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/599ab2e1d386c) -
|
|
20
|
+
ED-27314 add user preferece analytics for toolbar docking
|
|
21
|
+
- [#135301](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/135301)
|
|
22
|
+
[`282513a152fa2`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/282513a152fa2) -
|
|
23
|
+
[A11Y-9960] Extract the AssistiveText component from the typeahead plugin for reuse in other
|
|
24
|
+
editor plugins
|
|
25
|
+
|
|
26
|
+
### Patch Changes
|
|
27
|
+
|
|
28
|
+
- Updated dependencies
|
|
29
|
+
|
|
3
30
|
## 102.17.2
|
|
4
31
|
|
|
5
32
|
### Patch Changes
|
|
@@ -316,6 +316,7 @@ var ACTION_SUBJECT = exports.ACTION_SUBJECT = /*#__PURE__*/function (ACTION_SUBJ
|
|
|
316
316
|
ACTION_SUBJECT["EDITOR_PLUGIN_AI"] = "editorPluginAI";
|
|
317
317
|
ACTION_SUBJECT["EDITOR_PLUGIN_SELECTION_EXTENSION"] = "editorPluginSelectionExtension";
|
|
318
318
|
ACTION_SUBJECT["AI_DEFINITIONS"] = "aiDefinitions";
|
|
319
|
+
ACTION_SUBJECT["USER_PREFERENCES"] = "userPreferences";
|
|
319
320
|
return ACTION_SUBJECT;
|
|
320
321
|
}({});
|
|
321
322
|
var ACTION_SUBJECT_ID = exports.ACTION_SUBJECT_ID = /*#__PURE__*/function (ACTION_SUBJECT_ID) {
|
|
@@ -468,6 +469,7 @@ var ACTION_SUBJECT_ID = exports.ACTION_SUBJECT_ID = /*#__PURE__*/function (ACTIO
|
|
|
468
469
|
ACTION_SUBJECT_ID["ON_UNSUPPORTED_BLOCK"] = "onUnsupportedBlock";
|
|
469
470
|
ACTION_SUBJECT_ID["MULTI_BODIED_EXTENSION"] = "multiBodiedExtension";
|
|
470
471
|
ACTION_SUBJECT_ID["UPLOAD_MEDIA"] = "uploadMedia";
|
|
472
|
+
ACTION_SUBJECT_ID["SELECTION_TOOLBAR_PREFERENCES"] = "selectionToolbarPreferences";
|
|
471
473
|
ACTION_SUBJECT_ID["EDITOR_PLUGIN_SELECTION_EXTENSION_DROPDOWN"] = "editorPluginSelectionExtensionDropdown";
|
|
472
474
|
ACTION_SUBJECT_ID["EDITOR_PLUGIN_SELECTION_EXTENSION_ITEM"] = "editorPluginSelectionExtensionItem";
|
|
473
475
|
ACTION_SUBJECT_ID["EDITOR_PLUGIN_SELECTION_EXTENSION_COMPONENT"] = "editorPluginSelectionExtensionComponent";
|
|
@@ -20,17 +20,23 @@ var baseStyles = (0, _primitives.xcss)({
|
|
|
20
20
|
});
|
|
21
21
|
var NO_EXTERNAL_BADGE_HOSTS = ['atlassian.com'];
|
|
22
22
|
var isUnbadgedUrl = exports.isUnbadgedUrl = function isUnbadgedUrl(url) {
|
|
23
|
-
|
|
23
|
+
if (!url) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
// Check if URL is valid
|
|
24
27
|
try {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
} catch (e) {
|
|
28
|
-
// If the URL is invalid (or empty), just carry on showing the badge
|
|
28
|
+
new URL(url);
|
|
29
|
+
} catch (_unused) {
|
|
29
30
|
return false;
|
|
30
31
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
var parsedUrl = new URL(url || '');
|
|
33
|
+
var hostname = parsedUrl.hostname,
|
|
34
|
+
pathname = parsedUrl.pathname,
|
|
35
|
+
protocol = parsedUrl.protocol;
|
|
36
|
+
if (protocol === 'data:') {
|
|
37
|
+
return pathname === null || pathname === void 0 ? void 0 : pathname.startsWith('image/');
|
|
38
|
+
}
|
|
39
|
+
return Boolean(hostname && NO_EXTERNAL_BADGE_HOSTS.some(function (host) {
|
|
34
40
|
return hostname === host || hostname.endsWith(".".concat(host));
|
|
35
41
|
}));
|
|
36
42
|
};
|
|
@@ -160,6 +160,12 @@ Object.defineProperty(exports, "selectionExtensionMessages", {
|
|
|
160
160
|
return _selectionExtension.selectionExtensionMessages;
|
|
161
161
|
}
|
|
162
162
|
});
|
|
163
|
+
Object.defineProperty(exports, "selectionToolbarMessages", {
|
|
164
|
+
enumerable: true,
|
|
165
|
+
get: function get() {
|
|
166
|
+
return _selectionToolbar.selectionToolbarMessages;
|
|
167
|
+
}
|
|
168
|
+
});
|
|
163
169
|
Object.defineProperty(exports, "statusMessages", {
|
|
164
170
|
enumerable: true,
|
|
165
171
|
get: function get() {
|
|
@@ -243,6 +249,7 @@ var _highlight = require("./highlight");
|
|
|
243
249
|
var _blockControls = require("./block-controls");
|
|
244
250
|
var _mediaInsert = require("./media-insert");
|
|
245
251
|
var _selectionExtension = require("./selection-extension");
|
|
252
|
+
var _selectionToolbar = require("./selection-toolbar");
|
|
246
253
|
// Disable no-re-export rule for entry point files
|
|
247
254
|
/* eslint-disable @atlaskit/editor/no-re-export */
|
|
248
255
|
var _default = exports.default = (0, _reactIntlNext.defineMessages)({
|
|
@@ -385,5 +392,10 @@ var _default = exports.default = (0, _reactIntlNext.defineMessages)({
|
|
|
385
392
|
id: 'fabric.editor.copiedToClipboard',
|
|
386
393
|
defaultMessage: 'Copied!',
|
|
387
394
|
description: 'Copied the whole content of the element to clipboard'
|
|
395
|
+
},
|
|
396
|
+
viewMore: {
|
|
397
|
+
id: 'fabric.editor.overflowMenuViewMore',
|
|
398
|
+
defaultMessage: 'View more',
|
|
399
|
+
description: 'View more options in toolbar'
|
|
388
400
|
}
|
|
389
401
|
});
|
|
@@ -10,5 +10,15 @@ var placeholderTextMessages = exports.placeholderTextMessages = (0, _reactIntlNe
|
|
|
10
10
|
id: 'fabric.editor.placeholderTextPlaceholder',
|
|
11
11
|
defaultMessage: 'Add placeholder text',
|
|
12
12
|
description: ''
|
|
13
|
+
},
|
|
14
|
+
shortEmptyNodePlaceholderText: {
|
|
15
|
+
id: 'fabric.editor.shortEmptyNodePlaceholderText',
|
|
16
|
+
defaultMessage: '/ to insert',
|
|
17
|
+
description: 'Short placeholder text for empty nodes'
|
|
18
|
+
},
|
|
19
|
+
longEmptyNodePlaceholderText: {
|
|
20
|
+
id: 'fabric.editor.longEmptyNodePlaceholderText',
|
|
21
|
+
defaultMessage: 'Type / to insert elements',
|
|
22
|
+
description: 'Long placeholder text for empty nodes'
|
|
13
23
|
}
|
|
14
24
|
});
|
|
@@ -10,5 +10,10 @@ var selectionExtensionMessages = exports.selectionExtensionMessages = (0, _react
|
|
|
10
10
|
id: 'fabric.editor.selectionExtensionDropdownButtonLabel',
|
|
11
11
|
defaultMessage: 'Select app',
|
|
12
12
|
description: 'Label for the selection extension dropdown button'
|
|
13
|
+
},
|
|
14
|
+
externalExtensionsHeading: {
|
|
15
|
+
id: 'fabric.editor.externalExtensionsHeading',
|
|
16
|
+
defaultMessage: 'Apps',
|
|
17
|
+
description: 'Label for external extensions'
|
|
13
18
|
}
|
|
14
19
|
});
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.selectionToolbarMessages = void 0;
|
|
7
|
+
var _reactIntlNext = require("react-intl-next");
|
|
8
|
+
var selectionToolbarMessages = exports.selectionToolbarMessages = (0, _reactIntlNext.defineMessages)({
|
|
9
|
+
toolbarAppears: {
|
|
10
|
+
id: 'fabric.editor.toolbarAppears',
|
|
11
|
+
defaultMessage: 'Toolbar appears',
|
|
12
|
+
description: 'Label for toolbar position options'
|
|
13
|
+
},
|
|
14
|
+
toolbarPositionInline: {
|
|
15
|
+
id: 'fabric.editor.toolbarPositionInline',
|
|
16
|
+
defaultMessage: 'In-line with text',
|
|
17
|
+
description: 'Label for in-line toolbar position option'
|
|
18
|
+
},
|
|
19
|
+
toolbarPositionFixedAtTop: {
|
|
20
|
+
id: 'fabric.editor.toolbarPositionFixedAtTop',
|
|
21
|
+
defaultMessage: 'Fixed at top',
|
|
22
|
+
description: 'Label for fixed at top toolbar position option'
|
|
23
|
+
}
|
|
24
|
+
});
|
|
@@ -17,7 +17,7 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
|
|
|
17
17
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
18
|
var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
|
|
19
19
|
var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
|
|
20
|
-
var packageVersion = "102.
|
|
20
|
+
var packageVersion = "102.18.1";
|
|
21
21
|
var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
|
|
22
22
|
// Remove URL as it has UGC
|
|
23
23
|
// Ignored via go/ees007
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.AssistiveText = void 0;
|
|
8
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
|
+
var _react = require("react");
|
|
10
|
+
var _react2 = require("@emotion/react");
|
|
11
|
+
var _debounce = _interopRequireDefault(require("lodash/debounce"));
|
|
12
|
+
/**
|
|
13
|
+
* @jsxRuntime classic
|
|
14
|
+
* @jsx jsx
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
18
|
+
|
|
19
|
+
var assitiveTextStyles = (0, _react2.css)({
|
|
20
|
+
border: 0,
|
|
21
|
+
clip: 'rect(0 0 0 0)',
|
|
22
|
+
height: '1px',
|
|
23
|
+
marginbottom: '-1px',
|
|
24
|
+
marginright: '-1px',
|
|
25
|
+
overflow: 'hidden',
|
|
26
|
+
padding: 0,
|
|
27
|
+
position: 'absolute',
|
|
28
|
+
whitespace: 'nowrap',
|
|
29
|
+
width: '1px'
|
|
30
|
+
});
|
|
31
|
+
var AssistiveText = exports.AssistiveText = function AssistiveText(_ref) {
|
|
32
|
+
var _ref$assistiveText = _ref.assistiveText,
|
|
33
|
+
assistiveText = _ref$assistiveText === void 0 ? '' : _ref$assistiveText,
|
|
34
|
+
_ref$isInFocus = _ref.isInFocus,
|
|
35
|
+
isInFocus = _ref$isInFocus === void 0 ? false : _ref$isInFocus,
|
|
36
|
+
_ref$id = _ref.id,
|
|
37
|
+
id = _ref$id === void 0 ? '' : _ref$id,
|
|
38
|
+
_ref$statusDebounceMi = _ref.statusDebounceMillis,
|
|
39
|
+
statusDebounceMillis = _ref$statusDebounceMi === void 0 ? 1400 : _ref$statusDebounceMi;
|
|
40
|
+
var _useState = (0, _react.useState)(false),
|
|
41
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
42
|
+
bump = _useState2[0],
|
|
43
|
+
setBump = _useState2[1];
|
|
44
|
+
var _useState3 = (0, _react.useState)(false),
|
|
45
|
+
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
46
|
+
debounced = _useState4[0],
|
|
47
|
+
setDebounced = _useState4[1];
|
|
48
|
+
var _useState5 = (0, _react.useState)(false),
|
|
49
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
50
|
+
silenced = _useState6[0],
|
|
51
|
+
setSilenced = _useState6[1];
|
|
52
|
+
var debounceStatusUpdate = (0, _react.useMemo)(function () {
|
|
53
|
+
return (0, _debounce.default)(function () {
|
|
54
|
+
var shouldSilence = !isInFocus;
|
|
55
|
+
setBump(function (prevBump) {
|
|
56
|
+
return !prevBump;
|
|
57
|
+
});
|
|
58
|
+
setDebounced(true);
|
|
59
|
+
setSilenced(shouldSilence);
|
|
60
|
+
});
|
|
61
|
+
}, [isInFocus]);
|
|
62
|
+
(0, _react.useEffect)(function () {
|
|
63
|
+
if (!debounced) {
|
|
64
|
+
debounceStatusUpdate();
|
|
65
|
+
return function () {
|
|
66
|
+
debounceStatusUpdate.cancel();
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
}, [assistiveText, isInFocus, debounced, debounceStatusUpdate]);
|
|
70
|
+
(0, _react.useEffect)(function () {
|
|
71
|
+
if (debounced) {
|
|
72
|
+
setBump(function (prevBump) {
|
|
73
|
+
return !prevBump;
|
|
74
|
+
});
|
|
75
|
+
setDebounced(true);
|
|
76
|
+
setSilenced(!isInFocus);
|
|
77
|
+
}
|
|
78
|
+
}, [assistiveText, isInFocus, debounced]);
|
|
79
|
+
return (0, _react2.jsx)("div", {
|
|
80
|
+
css: assitiveTextStyles
|
|
81
|
+
}, (0, _react2.jsx)("div", {
|
|
82
|
+
"data-testid": id + '__status--A',
|
|
83
|
+
id: id + '__status--A',
|
|
84
|
+
role: "status",
|
|
85
|
+
"aria-atomic": "true",
|
|
86
|
+
"aria-live": "polite"
|
|
87
|
+
}, !silenced && debounced && bump ? assistiveText : ''), (0, _react2.jsx)("div", {
|
|
88
|
+
"data-testid": id + '__status--B',
|
|
89
|
+
id: id + '__status--B',
|
|
90
|
+
role: "status",
|
|
91
|
+
"aria-atomic": "true",
|
|
92
|
+
"aria-live": "polite"
|
|
93
|
+
}, !silenced && debounced && !bump ? assistiveText : ''));
|
|
94
|
+
};
|
|
@@ -23,7 +23,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
|
|
|
23
23
|
* @jsx jsx
|
|
24
24
|
*/ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
25
25
|
var packageName = "@atlaskit/editor-common";
|
|
26
|
-
var packageVersion = "102.
|
|
26
|
+
var packageVersion = "102.18.1";
|
|
27
27
|
var halfFocusRing = 1;
|
|
28
28
|
var dropOffset = '0, 8';
|
|
29
29
|
// Ignored via go/ees005
|
package/dist/cjs/ui/index.js
CHANGED
|
@@ -11,6 +11,12 @@ Object.defineProperty(exports, "Announcer", {
|
|
|
11
11
|
return _announcer.default;
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
|
+
Object.defineProperty(exports, "AssistiveText", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function get() {
|
|
17
|
+
return _AssistiveText.AssistiveText;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
14
20
|
Object.defineProperty(exports, "BaseTheme", {
|
|
15
21
|
enumerable: true,
|
|
16
22
|
get: function get() {
|
|
@@ -437,6 +443,7 @@ Object.defineProperty(exports, "wrapperStyle", {
|
|
|
437
443
|
return _styled2.wrapperStyle;
|
|
438
444
|
}
|
|
439
445
|
});
|
|
446
|
+
var _AssistiveText = require("./AssistiveText/AssistiveText");
|
|
440
447
|
var _Caption = _interopRequireDefault(require("./Caption"));
|
|
441
448
|
var _MediaSingle = _interopRequireDefault(require("./MediaSingle"));
|
|
442
449
|
var _styled = require("./MediaSingle/styled");
|
|
@@ -310,6 +310,7 @@ export let ACTION_SUBJECT = /*#__PURE__*/function (ACTION_SUBJECT) {
|
|
|
310
310
|
ACTION_SUBJECT["EDITOR_PLUGIN_AI"] = "editorPluginAI";
|
|
311
311
|
ACTION_SUBJECT["EDITOR_PLUGIN_SELECTION_EXTENSION"] = "editorPluginSelectionExtension";
|
|
312
312
|
ACTION_SUBJECT["AI_DEFINITIONS"] = "aiDefinitions";
|
|
313
|
+
ACTION_SUBJECT["USER_PREFERENCES"] = "userPreferences";
|
|
313
314
|
return ACTION_SUBJECT;
|
|
314
315
|
}({});
|
|
315
316
|
export let ACTION_SUBJECT_ID = /*#__PURE__*/function (ACTION_SUBJECT_ID) {
|
|
@@ -462,6 +463,7 @@ export let ACTION_SUBJECT_ID = /*#__PURE__*/function (ACTION_SUBJECT_ID) {
|
|
|
462
463
|
ACTION_SUBJECT_ID["ON_UNSUPPORTED_BLOCK"] = "onUnsupportedBlock";
|
|
463
464
|
ACTION_SUBJECT_ID["MULTI_BODIED_EXTENSION"] = "multiBodiedExtension";
|
|
464
465
|
ACTION_SUBJECT_ID["UPLOAD_MEDIA"] = "uploadMedia";
|
|
466
|
+
ACTION_SUBJECT_ID["SELECTION_TOOLBAR_PREFERENCES"] = "selectionToolbarPreferences";
|
|
465
467
|
ACTION_SUBJECT_ID["EDITOR_PLUGIN_SELECTION_EXTENSION_DROPDOWN"] = "editorPluginSelectionExtensionDropdown";
|
|
466
468
|
ACTION_SUBJECT_ID["EDITOR_PLUGIN_SELECTION_EXTENSION_ITEM"] = "editorPluginSelectionExtensionItem";
|
|
467
469
|
ACTION_SUBJECT_ID["EDITOR_PLUGIN_SELECTION_EXTENSION_COMPONENT"] = "editorPluginSelectionExtensionComponent";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -13,18 +13,25 @@ const baseStyles = xcss({
|
|
|
13
13
|
});
|
|
14
14
|
const NO_EXTERNAL_BADGE_HOSTS = ['atlassian.com'];
|
|
15
15
|
export const isUnbadgedUrl = url => {
|
|
16
|
-
|
|
16
|
+
if (!url) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
// Check if URL is valid
|
|
17
20
|
try {
|
|
18
|
-
(
|
|
19
|
-
|
|
20
|
-
} = new URL(url || ''));
|
|
21
|
-
} catch (e) {
|
|
22
|
-
// If the URL is invalid (or empty), just carry on showing the badge
|
|
21
|
+
new URL(url);
|
|
22
|
+
} catch {
|
|
23
23
|
return false;
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
const parsedUrl = new URL(url || '');
|
|
26
|
+
const {
|
|
27
|
+
hostname,
|
|
28
|
+
pathname,
|
|
29
|
+
protocol
|
|
30
|
+
} = parsedUrl;
|
|
31
|
+
if (protocol === 'data:') {
|
|
32
|
+
return pathname === null || pathname === void 0 ? void 0 : pathname.startsWith('image/');
|
|
33
|
+
}
|
|
34
|
+
return Boolean(hostname && NO_EXTERNAL_BADGE_HOSTS.some(host => hostname === host || hostname.endsWith(`.${host}`)));
|
|
28
35
|
};
|
|
29
36
|
export const ExternalImageBadge = ({
|
|
30
37
|
type,
|
|
@@ -36,6 +36,7 @@ export { highlightMessages } from './highlight';
|
|
|
36
36
|
export { messages as blockControlsMessages } from './block-controls';
|
|
37
37
|
export { mediaInsertMessages } from './media-insert';
|
|
38
38
|
export { selectionExtensionMessages } from './selection-extension';
|
|
39
|
+
export { selectionToolbarMessages } from './selection-toolbar';
|
|
39
40
|
export default defineMessages({
|
|
40
41
|
layoutFixedWidth: {
|
|
41
42
|
id: 'fabric.editor.layoutFixedWidth',
|
|
@@ -176,5 +177,10 @@ export default defineMessages({
|
|
|
176
177
|
id: 'fabric.editor.copiedToClipboard',
|
|
177
178
|
defaultMessage: 'Copied!',
|
|
178
179
|
description: 'Copied the whole content of the element to clipboard'
|
|
180
|
+
},
|
|
181
|
+
viewMore: {
|
|
182
|
+
id: 'fabric.editor.overflowMenuViewMore',
|
|
183
|
+
defaultMessage: 'View more',
|
|
184
|
+
description: 'View more options in toolbar'
|
|
179
185
|
}
|
|
180
186
|
});
|
|
@@ -4,5 +4,15 @@ export const placeholderTextMessages = defineMessages({
|
|
|
4
4
|
id: 'fabric.editor.placeholderTextPlaceholder',
|
|
5
5
|
defaultMessage: 'Add placeholder text',
|
|
6
6
|
description: ''
|
|
7
|
+
},
|
|
8
|
+
shortEmptyNodePlaceholderText: {
|
|
9
|
+
id: 'fabric.editor.shortEmptyNodePlaceholderText',
|
|
10
|
+
defaultMessage: '/ to insert',
|
|
11
|
+
description: 'Short placeholder text for empty nodes'
|
|
12
|
+
},
|
|
13
|
+
longEmptyNodePlaceholderText: {
|
|
14
|
+
id: 'fabric.editor.longEmptyNodePlaceholderText',
|
|
15
|
+
defaultMessage: 'Type / to insert elements',
|
|
16
|
+
description: 'Long placeholder text for empty nodes'
|
|
7
17
|
}
|
|
8
18
|
});
|
|
@@ -4,5 +4,10 @@ export const selectionExtensionMessages = defineMessages({
|
|
|
4
4
|
id: 'fabric.editor.selectionExtensionDropdownButtonLabel',
|
|
5
5
|
defaultMessage: 'Select app',
|
|
6
6
|
description: 'Label for the selection extension dropdown button'
|
|
7
|
+
},
|
|
8
|
+
externalExtensionsHeading: {
|
|
9
|
+
id: 'fabric.editor.externalExtensionsHeading',
|
|
10
|
+
defaultMessage: 'Apps',
|
|
11
|
+
description: 'Label for external extensions'
|
|
7
12
|
}
|
|
8
13
|
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { defineMessages } from 'react-intl-next';
|
|
2
|
+
export const selectionToolbarMessages = defineMessages({
|
|
3
|
+
toolbarAppears: {
|
|
4
|
+
id: 'fabric.editor.toolbarAppears',
|
|
5
|
+
defaultMessage: 'Toolbar appears',
|
|
6
|
+
description: 'Label for toolbar position options'
|
|
7
|
+
},
|
|
8
|
+
toolbarPositionInline: {
|
|
9
|
+
id: 'fabric.editor.toolbarPositionInline',
|
|
10
|
+
defaultMessage: 'In-line with text',
|
|
11
|
+
description: 'Label for in-line toolbar position option'
|
|
12
|
+
},
|
|
13
|
+
toolbarPositionFixedAtTop: {
|
|
14
|
+
id: 'fabric.editor.toolbarPositionFixedAtTop',
|
|
15
|
+
defaultMessage: 'Fixed at top',
|
|
16
|
+
description: 'Label for fixed at top toolbar position option'
|
|
17
|
+
}
|
|
18
|
+
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isFedRamp } from './environment';
|
|
2
2
|
const SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
|
|
3
3
|
const packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
|
|
4
|
-
const packageVersion = "102.
|
|
4
|
+
const packageVersion = "102.18.1";
|
|
5
5
|
const sanitiseSentryEvents = (data, _hint) => {
|
|
6
6
|
// Remove URL as it has UGC
|
|
7
7
|
// Ignored via go/ees007
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jsxRuntime classic
|
|
3
|
+
* @jsx jsx
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { useEffect, useMemo, useState } from 'react';
|
|
7
|
+
|
|
8
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
9
|
+
import { css, jsx } from '@emotion/react';
|
|
10
|
+
import debounce from 'lodash/debounce';
|
|
11
|
+
const assitiveTextStyles = css({
|
|
12
|
+
border: 0,
|
|
13
|
+
clip: 'rect(0 0 0 0)',
|
|
14
|
+
height: '1px',
|
|
15
|
+
marginbottom: '-1px',
|
|
16
|
+
marginright: '-1px',
|
|
17
|
+
overflow: 'hidden',
|
|
18
|
+
padding: 0,
|
|
19
|
+
position: 'absolute',
|
|
20
|
+
whitespace: 'nowrap',
|
|
21
|
+
width: '1px'
|
|
22
|
+
});
|
|
23
|
+
export const AssistiveText = ({
|
|
24
|
+
assistiveText = '',
|
|
25
|
+
isInFocus = false,
|
|
26
|
+
id = '',
|
|
27
|
+
statusDebounceMillis = 1400
|
|
28
|
+
}) => {
|
|
29
|
+
const [bump, setBump] = useState(false);
|
|
30
|
+
const [debounced, setDebounced] = useState(false);
|
|
31
|
+
const [silenced, setSilenced] = useState(false);
|
|
32
|
+
const debounceStatusUpdate = useMemo(() => debounce(() => {
|
|
33
|
+
const shouldSilence = !isInFocus;
|
|
34
|
+
setBump(prevBump => !prevBump);
|
|
35
|
+
setDebounced(true);
|
|
36
|
+
setSilenced(shouldSilence);
|
|
37
|
+
}), [isInFocus]);
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
if (!debounced) {
|
|
40
|
+
debounceStatusUpdate();
|
|
41
|
+
return () => {
|
|
42
|
+
debounceStatusUpdate.cancel();
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
}, [assistiveText, isInFocus, debounced, debounceStatusUpdate]);
|
|
46
|
+
useEffect(() => {
|
|
47
|
+
if (debounced) {
|
|
48
|
+
setBump(prevBump => !prevBump);
|
|
49
|
+
setDebounced(true);
|
|
50
|
+
setSilenced(!isInFocus);
|
|
51
|
+
}
|
|
52
|
+
}, [assistiveText, isInFocus, debounced]);
|
|
53
|
+
return jsx("div", {
|
|
54
|
+
css: assitiveTextStyles
|
|
55
|
+
}, jsx("div", {
|
|
56
|
+
"data-testid": id + '__status--A',
|
|
57
|
+
id: id + '__status--A',
|
|
58
|
+
role: "status",
|
|
59
|
+
"aria-atomic": "true",
|
|
60
|
+
"aria-live": "polite"
|
|
61
|
+
}, !silenced && debounced && bump ? assistiveText : ''), jsx("div", {
|
|
62
|
+
"data-testid": id + '__status--B',
|
|
63
|
+
id: id + '__status--B',
|
|
64
|
+
role: "status",
|
|
65
|
+
"aria-atomic": "true",
|
|
66
|
+
"aria-live": "polite"
|
|
67
|
+
}, !silenced && debounced && !bump ? assistiveText : ''));
|
|
68
|
+
};
|
|
@@ -13,7 +13,7 @@ import withAnalyticsContext from '@atlaskit/analytics-next/withAnalyticsContext'
|
|
|
13
13
|
import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
|
|
14
14
|
import Layer from '../Layer';
|
|
15
15
|
const packageName = "@atlaskit/editor-common";
|
|
16
|
-
const packageVersion = "102.
|
|
16
|
+
const packageVersion = "102.18.1";
|
|
17
17
|
const halfFocusRing = 1;
|
|
18
18
|
const dropOffset = '0, 8';
|
|
19
19
|
// Ignored via go/ees005
|
package/dist/es2019/ui/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// Disable no-re-export rule for entry point files
|
|
2
2
|
/* eslint-disable @atlaskit/editor/no-re-export */
|
|
3
3
|
|
|
4
|
+
export { AssistiveText } from './AssistiveText/AssistiveText';
|
|
4
5
|
export { default as Caption } from './Caption';
|
|
5
6
|
export { default as MediaSingle } from './MediaSingle';
|
|
6
7
|
export { MediaSingleDimensionHelper, MediaBorderGapFiller } from './MediaSingle/styled';
|
|
@@ -310,6 +310,7 @@ export var ACTION_SUBJECT = /*#__PURE__*/function (ACTION_SUBJECT) {
|
|
|
310
310
|
ACTION_SUBJECT["EDITOR_PLUGIN_AI"] = "editorPluginAI";
|
|
311
311
|
ACTION_SUBJECT["EDITOR_PLUGIN_SELECTION_EXTENSION"] = "editorPluginSelectionExtension";
|
|
312
312
|
ACTION_SUBJECT["AI_DEFINITIONS"] = "aiDefinitions";
|
|
313
|
+
ACTION_SUBJECT["USER_PREFERENCES"] = "userPreferences";
|
|
313
314
|
return ACTION_SUBJECT;
|
|
314
315
|
}({});
|
|
315
316
|
export var ACTION_SUBJECT_ID = /*#__PURE__*/function (ACTION_SUBJECT_ID) {
|
|
@@ -462,6 +463,7 @@ export var ACTION_SUBJECT_ID = /*#__PURE__*/function (ACTION_SUBJECT_ID) {
|
|
|
462
463
|
ACTION_SUBJECT_ID["ON_UNSUPPORTED_BLOCK"] = "onUnsupportedBlock";
|
|
463
464
|
ACTION_SUBJECT_ID["MULTI_BODIED_EXTENSION"] = "multiBodiedExtension";
|
|
464
465
|
ACTION_SUBJECT_ID["UPLOAD_MEDIA"] = "uploadMedia";
|
|
466
|
+
ACTION_SUBJECT_ID["SELECTION_TOOLBAR_PREFERENCES"] = "selectionToolbarPreferences";
|
|
465
467
|
ACTION_SUBJECT_ID["EDITOR_PLUGIN_SELECTION_EXTENSION_DROPDOWN"] = "editorPluginSelectionExtensionDropdown";
|
|
466
468
|
ACTION_SUBJECT_ID["EDITOR_PLUGIN_SELECTION_EXTENSION_ITEM"] = "editorPluginSelectionExtensionItem";
|
|
467
469
|
ACTION_SUBJECT_ID["EDITOR_PLUGIN_SELECTION_EXTENSION_COMPONENT"] = "editorPluginSelectionExtensionComponent";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -13,17 +13,23 @@ var baseStyles = xcss({
|
|
|
13
13
|
});
|
|
14
14
|
var NO_EXTERNAL_BADGE_HOSTS = ['atlassian.com'];
|
|
15
15
|
export var isUnbadgedUrl = function isUnbadgedUrl(url) {
|
|
16
|
-
|
|
16
|
+
if (!url) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
// Check if URL is valid
|
|
17
20
|
try {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
} catch (e) {
|
|
21
|
-
// If the URL is invalid (or empty), just carry on showing the badge
|
|
21
|
+
new URL(url);
|
|
22
|
+
} catch (_unused) {
|
|
22
23
|
return false;
|
|
23
24
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
var parsedUrl = new URL(url || '');
|
|
26
|
+
var hostname = parsedUrl.hostname,
|
|
27
|
+
pathname = parsedUrl.pathname,
|
|
28
|
+
protocol = parsedUrl.protocol;
|
|
29
|
+
if (protocol === 'data:') {
|
|
30
|
+
return pathname === null || pathname === void 0 ? void 0 : pathname.startsWith('image/');
|
|
31
|
+
}
|
|
32
|
+
return Boolean(hostname && NO_EXTERNAL_BADGE_HOSTS.some(function (host) {
|
|
27
33
|
return hostname === host || hostname.endsWith(".".concat(host));
|
|
28
34
|
}));
|
|
29
35
|
};
|
|
@@ -36,6 +36,7 @@ export { highlightMessages } from './highlight';
|
|
|
36
36
|
export { messages as blockControlsMessages } from './block-controls';
|
|
37
37
|
export { mediaInsertMessages } from './media-insert';
|
|
38
38
|
export { selectionExtensionMessages } from './selection-extension';
|
|
39
|
+
export { selectionToolbarMessages } from './selection-toolbar';
|
|
39
40
|
export default defineMessages({
|
|
40
41
|
layoutFixedWidth: {
|
|
41
42
|
id: 'fabric.editor.layoutFixedWidth',
|
|
@@ -176,5 +177,10 @@ export default defineMessages({
|
|
|
176
177
|
id: 'fabric.editor.copiedToClipboard',
|
|
177
178
|
defaultMessage: 'Copied!',
|
|
178
179
|
description: 'Copied the whole content of the element to clipboard'
|
|
180
|
+
},
|
|
181
|
+
viewMore: {
|
|
182
|
+
id: 'fabric.editor.overflowMenuViewMore',
|
|
183
|
+
defaultMessage: 'View more',
|
|
184
|
+
description: 'View more options in toolbar'
|
|
179
185
|
}
|
|
180
186
|
});
|
|
@@ -4,5 +4,15 @@ export var placeholderTextMessages = defineMessages({
|
|
|
4
4
|
id: 'fabric.editor.placeholderTextPlaceholder',
|
|
5
5
|
defaultMessage: 'Add placeholder text',
|
|
6
6
|
description: ''
|
|
7
|
+
},
|
|
8
|
+
shortEmptyNodePlaceholderText: {
|
|
9
|
+
id: 'fabric.editor.shortEmptyNodePlaceholderText',
|
|
10
|
+
defaultMessage: '/ to insert',
|
|
11
|
+
description: 'Short placeholder text for empty nodes'
|
|
12
|
+
},
|
|
13
|
+
longEmptyNodePlaceholderText: {
|
|
14
|
+
id: 'fabric.editor.longEmptyNodePlaceholderText',
|
|
15
|
+
defaultMessage: 'Type / to insert elements',
|
|
16
|
+
description: 'Long placeholder text for empty nodes'
|
|
7
17
|
}
|
|
8
18
|
});
|
|
@@ -4,5 +4,10 @@ export var selectionExtensionMessages = defineMessages({
|
|
|
4
4
|
id: 'fabric.editor.selectionExtensionDropdownButtonLabel',
|
|
5
5
|
defaultMessage: 'Select app',
|
|
6
6
|
description: 'Label for the selection extension dropdown button'
|
|
7
|
+
},
|
|
8
|
+
externalExtensionsHeading: {
|
|
9
|
+
id: 'fabric.editor.externalExtensionsHeading',
|
|
10
|
+
defaultMessage: 'Apps',
|
|
11
|
+
description: 'Label for external extensions'
|
|
7
12
|
}
|
|
8
13
|
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { defineMessages } from 'react-intl-next';
|
|
2
|
+
export var selectionToolbarMessages = defineMessages({
|
|
3
|
+
toolbarAppears: {
|
|
4
|
+
id: 'fabric.editor.toolbarAppears',
|
|
5
|
+
defaultMessage: 'Toolbar appears',
|
|
6
|
+
description: 'Label for toolbar position options'
|
|
7
|
+
},
|
|
8
|
+
toolbarPositionInline: {
|
|
9
|
+
id: 'fabric.editor.toolbarPositionInline',
|
|
10
|
+
defaultMessage: 'In-line with text',
|
|
11
|
+
description: 'Label for in-line toolbar position option'
|
|
12
|
+
},
|
|
13
|
+
toolbarPositionFixedAtTop: {
|
|
14
|
+
id: 'fabric.editor.toolbarPositionFixedAtTop',
|
|
15
|
+
defaultMessage: 'Fixed at top',
|
|
16
|
+
description: 'Label for fixed at top toolbar position option'
|
|
17
|
+
}
|
|
18
|
+
});
|
|
@@ -7,7 +7,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
7
7
|
import { isFedRamp } from './environment';
|
|
8
8
|
var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
|
|
9
9
|
var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
|
|
10
|
-
var packageVersion = "102.
|
|
10
|
+
var packageVersion = "102.18.1";
|
|
11
11
|
var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
|
|
12
12
|
// Remove URL as it has UGC
|
|
13
13
|
// Ignored via go/ees007
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
/**
|
|
3
|
+
* @jsxRuntime classic
|
|
4
|
+
* @jsx jsx
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { useEffect, useMemo, useState } from 'react';
|
|
8
|
+
|
|
9
|
+
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
10
|
+
import { css, jsx } from '@emotion/react';
|
|
11
|
+
import debounce from 'lodash/debounce';
|
|
12
|
+
var assitiveTextStyles = css({
|
|
13
|
+
border: 0,
|
|
14
|
+
clip: 'rect(0 0 0 0)',
|
|
15
|
+
height: '1px',
|
|
16
|
+
marginbottom: '-1px',
|
|
17
|
+
marginright: '-1px',
|
|
18
|
+
overflow: 'hidden',
|
|
19
|
+
padding: 0,
|
|
20
|
+
position: 'absolute',
|
|
21
|
+
whitespace: 'nowrap',
|
|
22
|
+
width: '1px'
|
|
23
|
+
});
|
|
24
|
+
export var AssistiveText = function AssistiveText(_ref) {
|
|
25
|
+
var _ref$assistiveText = _ref.assistiveText,
|
|
26
|
+
assistiveText = _ref$assistiveText === void 0 ? '' : _ref$assistiveText,
|
|
27
|
+
_ref$isInFocus = _ref.isInFocus,
|
|
28
|
+
isInFocus = _ref$isInFocus === void 0 ? false : _ref$isInFocus,
|
|
29
|
+
_ref$id = _ref.id,
|
|
30
|
+
id = _ref$id === void 0 ? '' : _ref$id,
|
|
31
|
+
_ref$statusDebounceMi = _ref.statusDebounceMillis,
|
|
32
|
+
statusDebounceMillis = _ref$statusDebounceMi === void 0 ? 1400 : _ref$statusDebounceMi;
|
|
33
|
+
var _useState = useState(false),
|
|
34
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
35
|
+
bump = _useState2[0],
|
|
36
|
+
setBump = _useState2[1];
|
|
37
|
+
var _useState3 = useState(false),
|
|
38
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
39
|
+
debounced = _useState4[0],
|
|
40
|
+
setDebounced = _useState4[1];
|
|
41
|
+
var _useState5 = useState(false),
|
|
42
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
43
|
+
silenced = _useState6[0],
|
|
44
|
+
setSilenced = _useState6[1];
|
|
45
|
+
var debounceStatusUpdate = useMemo(function () {
|
|
46
|
+
return debounce(function () {
|
|
47
|
+
var shouldSilence = !isInFocus;
|
|
48
|
+
setBump(function (prevBump) {
|
|
49
|
+
return !prevBump;
|
|
50
|
+
});
|
|
51
|
+
setDebounced(true);
|
|
52
|
+
setSilenced(shouldSilence);
|
|
53
|
+
});
|
|
54
|
+
}, [isInFocus]);
|
|
55
|
+
useEffect(function () {
|
|
56
|
+
if (!debounced) {
|
|
57
|
+
debounceStatusUpdate();
|
|
58
|
+
return function () {
|
|
59
|
+
debounceStatusUpdate.cancel();
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
}, [assistiveText, isInFocus, debounced, debounceStatusUpdate]);
|
|
63
|
+
useEffect(function () {
|
|
64
|
+
if (debounced) {
|
|
65
|
+
setBump(function (prevBump) {
|
|
66
|
+
return !prevBump;
|
|
67
|
+
});
|
|
68
|
+
setDebounced(true);
|
|
69
|
+
setSilenced(!isInFocus);
|
|
70
|
+
}
|
|
71
|
+
}, [assistiveText, isInFocus, debounced]);
|
|
72
|
+
return jsx("div", {
|
|
73
|
+
css: assitiveTextStyles
|
|
74
|
+
}, jsx("div", {
|
|
75
|
+
"data-testid": id + '__status--A',
|
|
76
|
+
id: id + '__status--A',
|
|
77
|
+
role: "status",
|
|
78
|
+
"aria-atomic": "true",
|
|
79
|
+
"aria-live": "polite"
|
|
80
|
+
}, !silenced && debounced && bump ? assistiveText : ''), jsx("div", {
|
|
81
|
+
"data-testid": id + '__status--B',
|
|
82
|
+
id: id + '__status--B',
|
|
83
|
+
role: "status",
|
|
84
|
+
"aria-atomic": "true",
|
|
85
|
+
"aria-live": "polite"
|
|
86
|
+
}, !silenced && debounced && !bump ? assistiveText : ''));
|
|
87
|
+
};
|
|
@@ -20,7 +20,7 @@ import withAnalyticsContext from '@atlaskit/analytics-next/withAnalyticsContext'
|
|
|
20
20
|
import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
|
|
21
21
|
import Layer from '../Layer';
|
|
22
22
|
var packageName = "@atlaskit/editor-common";
|
|
23
|
-
var packageVersion = "102.
|
|
23
|
+
var packageVersion = "102.18.1";
|
|
24
24
|
var halfFocusRing = 1;
|
|
25
25
|
var dropOffset = '0, 8';
|
|
26
26
|
// Ignored via go/ees005
|
package/dist/esm/ui/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
// Disable no-re-export rule for entry point files
|
|
2
2
|
/* eslint-disable @atlaskit/editor/no-re-export */
|
|
3
3
|
|
|
4
|
+
export { AssistiveText } from './AssistiveText/AssistiveText';
|
|
4
5
|
export { default as Caption } from './Caption';
|
|
5
6
|
export { default as MediaSingle } from './MediaSingle';
|
|
6
7
|
export { MediaSingleDimensionHelper, MediaBorderGapFiller } from './MediaSingle/styled';
|
|
@@ -302,7 +302,8 @@ export declare enum ACTION_SUBJECT {
|
|
|
302
302
|
DECORATION = "decoration",
|
|
303
303
|
EDITOR_PLUGIN_AI = "editorPluginAI",
|
|
304
304
|
EDITOR_PLUGIN_SELECTION_EXTENSION = "editorPluginSelectionExtension",
|
|
305
|
-
AI_DEFINITIONS = "aiDefinitions"
|
|
305
|
+
AI_DEFINITIONS = "aiDefinitions",
|
|
306
|
+
USER_PREFERENCES = "userPreferences"
|
|
306
307
|
}
|
|
307
308
|
export declare enum ACTION_SUBJECT_ID {
|
|
308
309
|
ACTION = "action",
|
|
@@ -454,6 +455,7 @@ export declare enum ACTION_SUBJECT_ID {
|
|
|
454
455
|
ON_UNSUPPORTED_BLOCK = "onUnsupportedBlock",
|
|
455
456
|
MULTI_BODIED_EXTENSION = "multiBodiedExtension",
|
|
456
457
|
UPLOAD_MEDIA = "uploadMedia",
|
|
458
|
+
SELECTION_TOOLBAR_PREFERENCES = "selectionToolbarPreferences",
|
|
457
459
|
EDITOR_PLUGIN_SELECTION_EXTENSION_DROPDOWN = "editorPluginSelectionExtensionDropdown",
|
|
458
460
|
EDITOR_PLUGIN_SELECTION_EXTENSION_ITEM = "editorPluginSelectionExtensionItem",
|
|
459
461
|
EDITOR_PLUGIN_SELECTION_EXTENSION_COMPONENT = "editorPluginSelectionExtensionComponent"
|
|
@@ -41,6 +41,7 @@ import type { PasteEventPayload } from './paste-events';
|
|
|
41
41
|
import type { ReferentialityEventPayload } from './referentiality-events';
|
|
42
42
|
import type { SelectionEventPayload } from './selection-events';
|
|
43
43
|
import type { SelectionExtensionEventPayload } from './selection-extension-events';
|
|
44
|
+
import type { SelectionToolbarEventPayload } from './selection-toolbar-events';
|
|
44
45
|
import type { SubstituteEventPayload } from './substitute-events';
|
|
45
46
|
import type { TableEventPayload } from './table-events';
|
|
46
47
|
import type { TelepointerClickPayload } from './telepointer-events';
|
|
@@ -56,7 +57,7 @@ export type SimplifiedNode = {
|
|
|
56
57
|
marks?: string[];
|
|
57
58
|
content?: SimplifiedNode[];
|
|
58
59
|
};
|
|
59
|
-
export type AnalyticsEventPayload<T = void> = AvatarEventPayload | GeneralEventPayload<T> | FormatEventPayload | SubstituteEventPayload | InsertEventPayload | NodeEventPayload | MoveContentEventPayload | MediaEventPayload | TableEventPayload | PasteEventPayload | CutCopyEventPayload | ErrorEventPayload | ExperimentalEventPayload | FindReplaceEventPayload | DateEventPayload | SelectionEventPayload | ListEventPayload | ConfigPanelEventPayload | ElementBrowserEventPayload | CreateLinkInlineDialogEventPayload | HighlightActionsEventPayload | UnsupportedContentPayload | ExtensionEventPayload | TransactionEventPayload | TypeAheadPayload | UnlinkToolbarAEP | EditLinkToolbarAEP | OpenSettingsToolbarAEP | CustomPanelEventPayload | FeatureExposureAEP | NewCollabSyncUpErrorAEP | UnsupportedContentTooltipPayload | ReferentialityEventPayload | LoomEventPayload | MBEEventPayload | HighlightEventPayload | DatasourceClickedPayload | ElementEventPayload | VisitedLinkAEP | ViewEventPayload | MediaUploadEventPayload | MentionEventPayload | EngagementPlatformEventPayload | NestedTableActionsEventPayload | AICommandPaletteEventPayload | AIDefinitionsEventPayload | AIEventPayload | AIProactiveEventPayload | AIUnifiedEventPayload | BreakoutEventPayload | ActiveSessionEventPayload | AIInlineSuggestionPayload | SelectionExtensionEventPayload | TelepointerClickPayload;
|
|
60
|
+
export type AnalyticsEventPayload<T = void> = AvatarEventPayload | GeneralEventPayload<T> | FormatEventPayload | SubstituteEventPayload | InsertEventPayload | NodeEventPayload | MoveContentEventPayload | MediaEventPayload | TableEventPayload | PasteEventPayload | CutCopyEventPayload | ErrorEventPayload | ExperimentalEventPayload | FindReplaceEventPayload | DateEventPayload | SelectionEventPayload | ListEventPayload | ConfigPanelEventPayload | ElementBrowserEventPayload | CreateLinkInlineDialogEventPayload | HighlightActionsEventPayload | UnsupportedContentPayload | ExtensionEventPayload | TransactionEventPayload | TypeAheadPayload | UnlinkToolbarAEP | EditLinkToolbarAEP | OpenSettingsToolbarAEP | CustomPanelEventPayload | FeatureExposureAEP | NewCollabSyncUpErrorAEP | UnsupportedContentTooltipPayload | ReferentialityEventPayload | LoomEventPayload | MBEEventPayload | HighlightEventPayload | DatasourceClickedPayload | ElementEventPayload | VisitedLinkAEP | ViewEventPayload | MediaUploadEventPayload | MentionEventPayload | EngagementPlatformEventPayload | NestedTableActionsEventPayload | AICommandPaletteEventPayload | AIDefinitionsEventPayload | AIEventPayload | AIProactiveEventPayload | AIUnifiedEventPayload | BreakoutEventPayload | ActiveSessionEventPayload | AIInlineSuggestionPayload | SelectionExtensionEventPayload | TelepointerClickPayload | SelectionToolbarEventPayload;
|
|
60
61
|
type CustomPanelEventPayload = TrackAEP<ACTION.CHANGED_BACKGROUND_COLOR | ACTION.CHANGED_ICON | ACTION.REMOVE_ICON, ACTION_SUBJECT.PANEL, ACTION_SUBJECT_ID.PANEL, {
|
|
61
62
|
previousColor: string;
|
|
62
63
|
newColor: string;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type ACTION, type ACTION_SUBJECT, type ACTION_SUBJECT_ID } from './enums';
|
|
2
|
+
import { type OperationalAEP } from './utils';
|
|
3
|
+
export type SelectionToolbarAEP = OperationalAEP<ACTION.INITIALISED, ACTION_SUBJECT.USER_PREFERENCES, ACTION_SUBJECT_ID.SELECTION_TOOLBAR_PREFERENCES, {
|
|
4
|
+
toolbarDocking: string | null;
|
|
5
|
+
}>;
|
|
6
|
+
export type SelectionToolbarEventPayload = SelectionToolbarAEP;
|
|
@@ -32,6 +32,7 @@ export { highlightMessages } from './highlight';
|
|
|
32
32
|
export { messages as blockControlsMessages } from './block-controls';
|
|
33
33
|
export { mediaInsertMessages } from './media-insert';
|
|
34
34
|
export { selectionExtensionMessages } from './selection-extension';
|
|
35
|
+
export { selectionToolbarMessages } from './selection-toolbar';
|
|
35
36
|
declare const _default: {
|
|
36
37
|
layoutFixedWidth: {
|
|
37
38
|
id: string;
|
|
@@ -173,5 +174,10 @@ declare const _default: {
|
|
|
173
174
|
defaultMessage: string;
|
|
174
175
|
description: string;
|
|
175
176
|
};
|
|
177
|
+
viewMore: {
|
|
178
|
+
id: string;
|
|
179
|
+
defaultMessage: string;
|
|
180
|
+
description: string;
|
|
181
|
+
};
|
|
176
182
|
};
|
|
177
183
|
export default _default;
|
|
@@ -4,4 +4,14 @@ export declare const placeholderTextMessages: {
|
|
|
4
4
|
defaultMessage: string;
|
|
5
5
|
description: string;
|
|
6
6
|
};
|
|
7
|
+
shortEmptyNodePlaceholderText: {
|
|
8
|
+
id: string;
|
|
9
|
+
defaultMessage: string;
|
|
10
|
+
description: string;
|
|
11
|
+
};
|
|
12
|
+
longEmptyNodePlaceholderText: {
|
|
13
|
+
id: string;
|
|
14
|
+
defaultMessage: string;
|
|
15
|
+
description: string;
|
|
16
|
+
};
|
|
7
17
|
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const selectionToolbarMessages: {
|
|
2
|
+
toolbarAppears: {
|
|
3
|
+
id: string;
|
|
4
|
+
defaultMessage: string;
|
|
5
|
+
description: string;
|
|
6
|
+
};
|
|
7
|
+
toolbarPositionInline: {
|
|
8
|
+
id: string;
|
|
9
|
+
defaultMessage: string;
|
|
10
|
+
description: string;
|
|
11
|
+
};
|
|
12
|
+
toolbarPositionFixedAtTop: {
|
|
13
|
+
id: string;
|
|
14
|
+
defaultMessage: string;
|
|
15
|
+
description: string;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jsxRuntime classic
|
|
3
|
+
* @jsx jsx
|
|
4
|
+
*/
|
|
5
|
+
import { jsx } from '@emotion/react';
|
|
6
|
+
type AssistiveTextProps = {
|
|
7
|
+
assistiveText: string;
|
|
8
|
+
isInFocus: boolean;
|
|
9
|
+
id: string;
|
|
10
|
+
statusDebounceMillis?: number;
|
|
11
|
+
debounce?: boolean;
|
|
12
|
+
};
|
|
13
|
+
export declare const AssistiveText: ({ assistiveText, isInFocus, id, statusDebounceMillis, }: AssistiveTextProps) => jsx.JSX.Element;
|
|
14
|
+
export {};
|
package/dist/types/ui/index.d.ts
CHANGED
|
@@ -302,7 +302,8 @@ export declare enum ACTION_SUBJECT {
|
|
|
302
302
|
DECORATION = "decoration",
|
|
303
303
|
EDITOR_PLUGIN_AI = "editorPluginAI",
|
|
304
304
|
EDITOR_PLUGIN_SELECTION_EXTENSION = "editorPluginSelectionExtension",
|
|
305
|
-
AI_DEFINITIONS = "aiDefinitions"
|
|
305
|
+
AI_DEFINITIONS = "aiDefinitions",
|
|
306
|
+
USER_PREFERENCES = "userPreferences"
|
|
306
307
|
}
|
|
307
308
|
export declare enum ACTION_SUBJECT_ID {
|
|
308
309
|
ACTION = "action",
|
|
@@ -454,6 +455,7 @@ export declare enum ACTION_SUBJECT_ID {
|
|
|
454
455
|
ON_UNSUPPORTED_BLOCK = "onUnsupportedBlock",
|
|
455
456
|
MULTI_BODIED_EXTENSION = "multiBodiedExtension",
|
|
456
457
|
UPLOAD_MEDIA = "uploadMedia",
|
|
458
|
+
SELECTION_TOOLBAR_PREFERENCES = "selectionToolbarPreferences",
|
|
457
459
|
EDITOR_PLUGIN_SELECTION_EXTENSION_DROPDOWN = "editorPluginSelectionExtensionDropdown",
|
|
458
460
|
EDITOR_PLUGIN_SELECTION_EXTENSION_ITEM = "editorPluginSelectionExtensionItem",
|
|
459
461
|
EDITOR_PLUGIN_SELECTION_EXTENSION_COMPONENT = "editorPluginSelectionExtensionComponent"
|
|
@@ -41,6 +41,7 @@ import type { PasteEventPayload } from './paste-events';
|
|
|
41
41
|
import type { ReferentialityEventPayload } from './referentiality-events';
|
|
42
42
|
import type { SelectionEventPayload } from './selection-events';
|
|
43
43
|
import type { SelectionExtensionEventPayload } from './selection-extension-events';
|
|
44
|
+
import type { SelectionToolbarEventPayload } from './selection-toolbar-events';
|
|
44
45
|
import type { SubstituteEventPayload } from './substitute-events';
|
|
45
46
|
import type { TableEventPayload } from './table-events';
|
|
46
47
|
import type { TelepointerClickPayload } from './telepointer-events';
|
|
@@ -56,7 +57,7 @@ export type SimplifiedNode = {
|
|
|
56
57
|
marks?: string[];
|
|
57
58
|
content?: SimplifiedNode[];
|
|
58
59
|
};
|
|
59
|
-
export type AnalyticsEventPayload<T = void> = AvatarEventPayload | GeneralEventPayload<T> | FormatEventPayload | SubstituteEventPayload | InsertEventPayload | NodeEventPayload | MoveContentEventPayload | MediaEventPayload | TableEventPayload | PasteEventPayload | CutCopyEventPayload | ErrorEventPayload | ExperimentalEventPayload | FindReplaceEventPayload | DateEventPayload | SelectionEventPayload | ListEventPayload | ConfigPanelEventPayload | ElementBrowserEventPayload | CreateLinkInlineDialogEventPayload | HighlightActionsEventPayload | UnsupportedContentPayload | ExtensionEventPayload | TransactionEventPayload | TypeAheadPayload | UnlinkToolbarAEP | EditLinkToolbarAEP | OpenSettingsToolbarAEP | CustomPanelEventPayload | FeatureExposureAEP | NewCollabSyncUpErrorAEP | UnsupportedContentTooltipPayload | ReferentialityEventPayload | LoomEventPayload | MBEEventPayload | HighlightEventPayload | DatasourceClickedPayload | ElementEventPayload | VisitedLinkAEP | ViewEventPayload | MediaUploadEventPayload | MentionEventPayload | EngagementPlatformEventPayload | NestedTableActionsEventPayload | AICommandPaletteEventPayload | AIDefinitionsEventPayload | AIEventPayload | AIProactiveEventPayload | AIUnifiedEventPayload | BreakoutEventPayload | ActiveSessionEventPayload | AIInlineSuggestionPayload | SelectionExtensionEventPayload | TelepointerClickPayload;
|
|
60
|
+
export type AnalyticsEventPayload<T = void> = AvatarEventPayload | GeneralEventPayload<T> | FormatEventPayload | SubstituteEventPayload | InsertEventPayload | NodeEventPayload | MoveContentEventPayload | MediaEventPayload | TableEventPayload | PasteEventPayload | CutCopyEventPayload | ErrorEventPayload | ExperimentalEventPayload | FindReplaceEventPayload | DateEventPayload | SelectionEventPayload | ListEventPayload | ConfigPanelEventPayload | ElementBrowserEventPayload | CreateLinkInlineDialogEventPayload | HighlightActionsEventPayload | UnsupportedContentPayload | ExtensionEventPayload | TransactionEventPayload | TypeAheadPayload | UnlinkToolbarAEP | EditLinkToolbarAEP | OpenSettingsToolbarAEP | CustomPanelEventPayload | FeatureExposureAEP | NewCollabSyncUpErrorAEP | UnsupportedContentTooltipPayload | ReferentialityEventPayload | LoomEventPayload | MBEEventPayload | HighlightEventPayload | DatasourceClickedPayload | ElementEventPayload | VisitedLinkAEP | ViewEventPayload | MediaUploadEventPayload | MentionEventPayload | EngagementPlatformEventPayload | NestedTableActionsEventPayload | AICommandPaletteEventPayload | AIDefinitionsEventPayload | AIEventPayload | AIProactiveEventPayload | AIUnifiedEventPayload | BreakoutEventPayload | ActiveSessionEventPayload | AIInlineSuggestionPayload | SelectionExtensionEventPayload | TelepointerClickPayload | SelectionToolbarEventPayload;
|
|
60
61
|
type CustomPanelEventPayload = TrackAEP<ACTION.CHANGED_BACKGROUND_COLOR | ACTION.CHANGED_ICON | ACTION.REMOVE_ICON, ACTION_SUBJECT.PANEL, ACTION_SUBJECT_ID.PANEL, {
|
|
61
62
|
previousColor: string;
|
|
62
63
|
newColor: string;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type ACTION, type ACTION_SUBJECT, type ACTION_SUBJECT_ID } from './enums';
|
|
2
|
+
import { type OperationalAEP } from './utils';
|
|
3
|
+
export type SelectionToolbarAEP = OperationalAEP<ACTION.INITIALISED, ACTION_SUBJECT.USER_PREFERENCES, ACTION_SUBJECT_ID.SELECTION_TOOLBAR_PREFERENCES, {
|
|
4
|
+
toolbarDocking: string | null;
|
|
5
|
+
}>;
|
|
6
|
+
export type SelectionToolbarEventPayload = SelectionToolbarAEP;
|
|
@@ -32,6 +32,7 @@ export { highlightMessages } from './highlight';
|
|
|
32
32
|
export { messages as blockControlsMessages } from './block-controls';
|
|
33
33
|
export { mediaInsertMessages } from './media-insert';
|
|
34
34
|
export { selectionExtensionMessages } from './selection-extension';
|
|
35
|
+
export { selectionToolbarMessages } from './selection-toolbar';
|
|
35
36
|
declare const _default: {
|
|
36
37
|
layoutFixedWidth: {
|
|
37
38
|
id: string;
|
|
@@ -173,5 +174,10 @@ declare const _default: {
|
|
|
173
174
|
defaultMessage: string;
|
|
174
175
|
description: string;
|
|
175
176
|
};
|
|
177
|
+
viewMore: {
|
|
178
|
+
id: string;
|
|
179
|
+
defaultMessage: string;
|
|
180
|
+
description: string;
|
|
181
|
+
};
|
|
176
182
|
};
|
|
177
183
|
export default _default;
|
|
@@ -4,4 +4,14 @@ export declare const placeholderTextMessages: {
|
|
|
4
4
|
defaultMessage: string;
|
|
5
5
|
description: string;
|
|
6
6
|
};
|
|
7
|
+
shortEmptyNodePlaceholderText: {
|
|
8
|
+
id: string;
|
|
9
|
+
defaultMessage: string;
|
|
10
|
+
description: string;
|
|
11
|
+
};
|
|
12
|
+
longEmptyNodePlaceholderText: {
|
|
13
|
+
id: string;
|
|
14
|
+
defaultMessage: string;
|
|
15
|
+
description: string;
|
|
16
|
+
};
|
|
7
17
|
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const selectionToolbarMessages: {
|
|
2
|
+
toolbarAppears: {
|
|
3
|
+
id: string;
|
|
4
|
+
defaultMessage: string;
|
|
5
|
+
description: string;
|
|
6
|
+
};
|
|
7
|
+
toolbarPositionInline: {
|
|
8
|
+
id: string;
|
|
9
|
+
defaultMessage: string;
|
|
10
|
+
description: string;
|
|
11
|
+
};
|
|
12
|
+
toolbarPositionFixedAtTop: {
|
|
13
|
+
id: string;
|
|
14
|
+
defaultMessage: string;
|
|
15
|
+
description: string;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jsxRuntime classic
|
|
3
|
+
* @jsx jsx
|
|
4
|
+
*/
|
|
5
|
+
import { jsx } from '@emotion/react';
|
|
6
|
+
type AssistiveTextProps = {
|
|
7
|
+
assistiveText: string;
|
|
8
|
+
isInFocus: boolean;
|
|
9
|
+
id: string;
|
|
10
|
+
statusDebounceMillis?: number;
|
|
11
|
+
debounce?: boolean;
|
|
12
|
+
};
|
|
13
|
+
export declare const AssistiveText: ({ assistiveText, isInFocus, id, statusDebounceMillis, }: AssistiveTextProps) => jsx.JSX.Element;
|
|
14
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-common",
|
|
3
|
-
"version": "102.
|
|
3
|
+
"version": "102.18.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/"
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
"@atlaskit/editor-shared-styles": "^3.4.0",
|
|
137
137
|
"@atlaskit/editor-tables": "^2.9.0",
|
|
138
138
|
"@atlaskit/emoji": "^69.0.0",
|
|
139
|
-
"@atlaskit/icon": "^25.
|
|
139
|
+
"@atlaskit/icon": "^25.5.0",
|
|
140
140
|
"@atlaskit/icon-object": "^7.0.0",
|
|
141
141
|
"@atlaskit/link-datasource": "^4.1.0",
|
|
142
142
|
"@atlaskit/link-picker": "^3.1.0",
|