@atlaskit/editor-common 110.18.2 → 110.18.4

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 (29) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/extensibility/Extension/Extension/index.js +4 -6
  3. package/dist/cjs/extensibility/Extension/Lozenge/LozengeComponent.js +0 -4
  4. package/dist/cjs/extensions/module-helpers.js +10 -6
  5. package/dist/cjs/monitoring/error.js +1 -1
  6. package/dist/cjs/ui/DropList/index.js +1 -1
  7. package/dist/cjs/ui/Popup/index.js +12 -1
  8. package/dist/es2019/extensibility/Extension/Extension/index.js +4 -6
  9. package/dist/es2019/extensibility/Extension/Lozenge/LozengeComponent.js +0 -4
  10. package/dist/es2019/extensions/module-helpers.js +4 -0
  11. package/dist/es2019/monitoring/error.js +1 -1
  12. package/dist/es2019/ui/DropList/index.js +1 -1
  13. package/dist/es2019/ui/Popup/index.js +10 -0
  14. package/dist/esm/extensibility/Extension/Extension/index.js +4 -6
  15. package/dist/esm/extensibility/Extension/Lozenge/LozengeComponent.js +0 -4
  16. package/dist/esm/extensions/module-helpers.js +10 -6
  17. package/dist/esm/monitoring/error.js +1 -1
  18. package/dist/esm/ui/DropList/index.js +1 -1
  19. package/dist/esm/ui/Popup/index.js +12 -1
  20. package/dist/types/analytics/types/general-events.d.ts +4 -1
  21. package/dist/types/extensibility/Extension/Lozenge/LozengeComponent.d.ts +1 -1
  22. package/dist/types/extensions/types/utils.d.ts +1 -0
  23. package/dist/types/ui/Popup/index.d.ts +1 -0
  24. package/dist/types-ts4.5/analytics/types/general-events.d.ts +4 -1
  25. package/dist/types-ts4.5/extensibility/Extension/Lozenge/LozengeComponent.d.ts +1 -1
  26. package/dist/types-ts4.5/extensions/types/utils.d.ts +1 -0
  27. package/dist/types-ts4.5/ui/Popup/index.d.ts +1 -0
  28. package/package.json +9 -6
  29. package/afm-passionfruit/tsconfig.json +0 -195
package/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 110.18.4
4
+
5
+ ### Patch Changes
6
+
7
+ - [`9842848622554`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/9842848622554) -
8
+ ENGHEALTH-23797:Fixed aria prohibited attr from selection marker
9
+ - [`e27eb4901d2c1`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/e27eb4901d2c1) -
10
+ EDITOR-1794 Added ask rovo button click analytics
11
+ - Updated dependencies
12
+
13
+ ## 110.18.3
14
+
15
+ ### Patch Changes
16
+
17
+ - [`0adf16debc7be`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/0adf16debc7be) -
18
+ EDITOR-2450 Sync Block Prototype clean up
19
+ - Updated dependencies
20
+
3
21
  ## 110.18.2
4
22
 
5
23
  ### Patch Changes
@@ -37,7 +37,7 @@ var hoverStyles = (0, _react2.css)({
37
37
  }
38
38
  });
39
39
  function ExtensionWithPluginState(props) {
40
- var _node$attrs, _node$attrs2;
40
+ var _node$attrs;
41
41
  var node = props.node,
42
42
  handleContentDOMRef = props.handleContentDOMRef,
43
43
  children = props.children,
@@ -64,14 +64,13 @@ function ExtensionWithPluginState(props) {
64
64
  return extensionNode.type.name === 'extension' && ((_extensionNode$attrs = extensionNode.attrs) === null || _extensionNode$attrs === void 0 ? void 0 : _extensionNode$attrs.extensionType) === 'com.atlassian.confluence.migration' && ((_extensionNode$attrs2 = extensionNode.attrs) === null || _extensionNode$attrs2 === void 0 ? void 0 : _extensionNode$attrs2.extensionKey) === 'legacy-content';
65
65
  };
66
66
  var showLegacyContentHeader = (0, _platformFeatureFlags.fg)('platform_editor_legacy_content_macro_visual_update') && isLegacyContentMacroExtension(node);
67
- var isSyncedBlockExtension = node.type.name === 'extension' && ((_node$attrs = node.attrs) === null || _node$attrs === void 0 || (_node$attrs = _node$attrs.extensionKey) === null || _node$attrs === void 0 ? void 0 : _node$attrs.startsWith('synced-block'));
68
67
  var hasBody = ['bodiedExtension', 'multiBodiedExtension'].includes(node.type.name);
69
68
  var hasChildren = !!children;
70
- var removeBorder = (0, _platformFeatureFlags.fg)('platform_synced_block_demo') ? showMacroInteractionDesignUpdates || !!hideFrame || isSyncedBlockExtension : showMacroInteractionDesignUpdates || !!(hideFrame && !hasBody);
69
+ var removeBorder = showMacroInteractionDesignUpdates || !!(hideFrame && !hasBody);
71
70
 
72
71
  // Some native bodied macros (e.g Content properties) have this param to hide in view mode
73
72
  // which we want to also hide in live page view mode too
74
- var macroParamHiddenValue = node === null || node === void 0 || (_node$attrs2 = node.attrs) === null || _node$attrs2 === void 0 || (_node$attrs2 = _node$attrs2.parameters) === null || _node$attrs2 === void 0 || (_node$attrs2 = _node$attrs2.macroParams) === null || _node$attrs2 === void 0 || (_node$attrs2 = _node$attrs2.hidden) === null || _node$attrs2 === void 0 ? void 0 : _node$attrs2.value;
73
+ var macroParamHiddenValue = node === null || node === void 0 || (_node$attrs = node.attrs) === null || _node$attrs === void 0 || (_node$attrs = _node$attrs.parameters) === null || _node$attrs === void 0 || (_node$attrs = _node$attrs.macroParams) === null || _node$attrs === void 0 || (_node$attrs = _node$attrs.hidden) === null || _node$attrs === void 0 ? void 0 : _node$attrs.value;
75
74
  var shouldHideInLivePageViewMode = isLivePageViewMode && macroParamHiddenValue === 'true'; // it is stored as a string
76
75
 
77
76
  var getPos = props.getPos,
@@ -139,7 +138,6 @@ function ExtensionWithPluginState(props) {
139
138
  }
140
139
  };
141
140
  var extensionContentStyles = (0, _expValEquals.expValEquals)('platform_editor_extension_styles', 'isEnabled', true) ? _styles2.extensionContent : _styles2.content;
142
- var shouldHideExtensionLozenge = (0, _platformFeatureFlags.fg)('platform_synced_block_demo') ? isSyncedBlockExtension : false;
143
141
  return (0, _react2.jsx)(_react.Fragment, null, showLegacyContentHeader && (0, _react2.jsx)(_LegacyContentHeader.LegacyContentHeader, {
144
142
  isNodeSelected: isNodeSelected,
145
143
  isNodeHovered: isNodeHovered,
@@ -149,7 +147,7 @@ function ExtensionWithPluginState(props) {
149
147
  onMouseLeave: function onMouseLeave() {
150
148
  return handleMouseEvent(false);
151
149
  }
152
- }), !showLegacyContentHeader && showMacroInteractionDesignUpdates && !isLivePageViewMode && !shouldHideExtensionLozenge && (0, _react2.jsx)(_Lozenge.default, {
150
+ }), !showLegacyContentHeader && showMacroInteractionDesignUpdates && !isLivePageViewMode && (0, _react2.jsx)(_Lozenge.default, {
153
151
  isNodeSelected: isNodeSelected,
154
152
  isNodeHovered: isNodeHovered,
155
153
  isNodeNested: isNodeNested,
@@ -9,7 +9,6 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
9
9
  var _react = require("react");
10
10
  var _react2 = require("@emotion/react");
11
11
  var _fileEditorFile = _interopRequireDefault(require("@atlaskit/icon/core/migration/file--editor-file"));
12
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
13
12
  var _styles = require("../styles");
14
13
  var _EditToggle = require("./EditToggle");
15
14
  var _ExtensionLabel = require("./ExtensionLabel");
@@ -40,9 +39,6 @@ var LozengeComponent = exports.LozengeComponent = function LozengeComponent(_ref
40
39
  setShowBodiedExtensionRendererView = _ref.setShowBodiedExtensionRendererView,
41
40
  pluginInjectionApi = _ref.pluginInjectionApi;
42
41
  var capitalizedTitle = capitalizeFirstLetter(title);
43
- if (title.startsWith('synced-block:') && (0, _platformFeatureFlags.fg)('platform_synced_block_demo')) {
44
- return null; // Synced blocks do not use the lozenge component
45
- }
46
42
  if (showMacroInteractionDesignUpdates) {
47
43
  return (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_ExtensionLabel.ExtensionLabel, {
48
44
  text: capitalizedTitle,
@@ -11,15 +11,16 @@ exports.getContextualToolbarItemsFromModule = void 0;
11
11
  exports.getExtensionAutoConvertersFromProvider = getExtensionAutoConvertersFromProvider;
12
12
  exports.groupBy = exports.getQuickInsertItemsFromModule = void 0;
13
13
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
14
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
16
15
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
16
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
17
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
17
18
  var _manifestHelpers = require("./manifest-helpers");
18
- 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; }
19
- 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; }
20
19
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
21
20
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
22
21
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
22
+ 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; }
23
+ 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; }
23
24
  var groupBy = exports.groupBy = function groupBy(arr, attr, keyRenamer) {
24
25
  return (
25
26
  // Ignored via go/ees005
@@ -37,7 +38,7 @@ function buildMenuItem(manifest, extensionModule) {
37
38
  if (!node) {
38
39
  throw new Error("Couldn't find any action for ".concat(title, " (").concat(key, ")"));
39
40
  }
40
- return {
41
+ return _objectSpread(_objectSpread({
41
42
  key: key,
42
43
  title: title,
43
44
  extensionType: manifest.type,
@@ -47,10 +48,13 @@ function buildMenuItem(manifest, extensionModule) {
47
48
  categories: extensionModule.categories || manifest.categories || [],
48
49
  description: extensionModule.description || manifest.description,
49
50
  summary: manifest.summary,
50
- documentationUrl: manifest.documentationUrl,
51
+ documentationUrl: manifest.documentationUrl
52
+ }, (0, _platformFeatureFlags.fg)('cc_fd_wb_create_priority_in_slash_menu_enabled') && {
53
+ priority: extensionModule.priority
54
+ }), {}, {
51
55
  icon: extensionModule.icon || manifest.icons['48'],
52
56
  node: node
53
- };
57
+ });
54
58
  }
55
59
  var getQuickInsertItemsFromModule = exports.getQuickInsertItemsFromModule = function getQuickInsertItemsFromModule(extensions, transformFunction) {
56
60
  var _ref;
@@ -16,7 +16,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
16
16
  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); }
17
17
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
18
18
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
19
- var packageVersion = "110.18.1";
19
+ var packageVersion = "110.18.3";
20
20
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
21
21
  // Remove URL as it has UGC
22
22
  // 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 = "110.18.1";
27
+ var packageVersion = "110.18.3";
28
28
  var halfFocusRing = 1;
29
29
  var dropOffset = '0, 8';
30
30
  var fadeIn = (0, _react2.keyframes)({
@@ -310,7 +310,8 @@ var Popup = exports.default = /*#__PURE__*/function (_React$Component) {
310
310
  }, {
311
311
  key: "renderPopup",
312
312
  value: function renderPopup() {
313
- var _this$props$ariaLabel;
313
+ var _this$props$ariaLabel,
314
+ _this3 = this;
314
315
  var position = this.state.position;
315
316
  var shouldRenderPopup = this.props.shouldRenderPopup;
316
317
  if (shouldRenderPopup && !shouldRenderPopup(position || {})) {
@@ -323,6 +324,15 @@ var Popup = exports.default = /*#__PURE__*/function (_React$Component) {
323
324
  * It is meaningless for screen readers and causes confusion.
324
325
  */
325
326
  var ariaLabel = (0, _platformFeatureFlags.fg)('editor_a11y_aria_label_removal_popup') ? (_this$props$ariaLabel = this.props.ariaLabel) !== null && _this$props$ariaLabel !== void 0 ? _this$props$ariaLabel : undefined : this.props.ariaLabel === null ? undefined : this.props.ariaLabel || 'Popup';
327
+ var getRole = function getRole() {
328
+ // Provide a valid role only when aria-label is present to satisfy a11y rules, as when aria-label is present, role is required
329
+ // use role = dialog as default role, as dialog role itself is not a parent role that requires specific children to function as some other ARIA roles(menu) do
330
+ // if set default role to menu, tons of integration tests will fail as many of our popup usages do not have children that satisfy menu role requirements
331
+ if (ariaLabel && (0, _platformFeatureFlags.fg)('platform_editor_a11y_add_role_to_popup')) {
332
+ return _this3.props.role || 'dialog';
333
+ }
334
+ return undefined;
335
+ };
326
336
  return /*#__PURE__*/_react.default.createElement("div", {
327
337
  ref: this.handleRef,
328
338
  style: _objectSpread(_objectSpread({
@@ -331,6 +341,7 @@ var Popup = exports.default = /*#__PURE__*/function (_React$Component) {
331
341
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
332
342
  zIndex: this.props.zIndex || _editorSharedStyles.akEditorFloatingPanelZIndex
333
343
  }, position), this.props.style),
344
+ role: getRole(),
334
345
  "aria-label": ariaLabel,
335
346
  "data-testid": "popup-wrapper"
336
347
  // Indicates component is an editor pop. Required for focus handling in Message.tsx
@@ -25,7 +25,7 @@ const hoverStyles = css({
25
25
  }
26
26
  });
27
27
  function ExtensionWithPluginState(props) {
28
- var _node$attrs, _node$attrs$extension, _node$attrs2, _node$attrs2$paramete, _node$attrs2$paramete2, _node$attrs2$paramete3;
28
+ var _node$attrs, _node$attrs$parameter, _node$attrs$parameter2, _node$attrs$parameter3;
29
29
  const {
30
30
  node,
31
31
  handleContentDOMRef,
@@ -55,14 +55,13 @@ function ExtensionWithPluginState(props) {
55
55
  return extensionNode.type.name === 'extension' && ((_extensionNode$attrs = extensionNode.attrs) === null || _extensionNode$attrs === void 0 ? void 0 : _extensionNode$attrs.extensionType) === 'com.atlassian.confluence.migration' && ((_extensionNode$attrs2 = extensionNode.attrs) === null || _extensionNode$attrs2 === void 0 ? void 0 : _extensionNode$attrs2.extensionKey) === 'legacy-content';
56
56
  };
57
57
  const showLegacyContentHeader = fg('platform_editor_legacy_content_macro_visual_update') && isLegacyContentMacroExtension(node);
58
- const isSyncedBlockExtension = node.type.name === 'extension' && ((_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : (_node$attrs$extension = _node$attrs.extensionKey) === null || _node$attrs$extension === void 0 ? void 0 : _node$attrs$extension.startsWith('synced-block'));
59
58
  const hasBody = ['bodiedExtension', 'multiBodiedExtension'].includes(node.type.name);
60
59
  const hasChildren = !!children;
61
- const removeBorder = fg('platform_synced_block_demo') ? showMacroInteractionDesignUpdates || !!hideFrame || isSyncedBlockExtension : showMacroInteractionDesignUpdates || !!(hideFrame && !hasBody);
60
+ const removeBorder = showMacroInteractionDesignUpdates || !!(hideFrame && !hasBody);
62
61
 
63
62
  // Some native bodied macros (e.g Content properties) have this param to hide in view mode
64
63
  // which we want to also hide in live page view mode too
65
- const macroParamHiddenValue = node === null || node === void 0 ? void 0 : (_node$attrs2 = node.attrs) === null || _node$attrs2 === void 0 ? void 0 : (_node$attrs2$paramete = _node$attrs2.parameters) === null || _node$attrs2$paramete === void 0 ? void 0 : (_node$attrs2$paramete2 = _node$attrs2$paramete.macroParams) === null || _node$attrs2$paramete2 === void 0 ? void 0 : (_node$attrs2$paramete3 = _node$attrs2$paramete2.hidden) === null || _node$attrs2$paramete3 === void 0 ? void 0 : _node$attrs2$paramete3.value;
64
+ const macroParamHiddenValue = node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : (_node$attrs$parameter = _node$attrs.parameters) === null || _node$attrs$parameter === void 0 ? void 0 : (_node$attrs$parameter2 = _node$attrs$parameter.macroParams) === null || _node$attrs$parameter2 === void 0 ? void 0 : (_node$attrs$parameter3 = _node$attrs$parameter2.hidden) === null || _node$attrs$parameter3 === void 0 ? void 0 : _node$attrs$parameter3.value;
66
65
  const shouldHideInLivePageViewMode = isLivePageViewMode && macroParamHiddenValue === 'true'; // it is stored as a string
67
66
 
68
67
  const {
@@ -139,13 +138,12 @@ function ExtensionWithPluginState(props) {
139
138
  }
140
139
  };
141
140
  const extensionContentStyles = expValEquals('platform_editor_extension_styles', 'isEnabled', true) ? extensionContent : content;
142
- const shouldHideExtensionLozenge = fg('platform_synced_block_demo') ? isSyncedBlockExtension : false;
143
141
  return jsx(Fragment, null, showLegacyContentHeader && jsx(LegacyContentHeader, {
144
142
  isNodeSelected: isNodeSelected,
145
143
  isNodeHovered: isNodeHovered,
146
144
  onMouseEnter: () => handleMouseEvent(true),
147
145
  onMouseLeave: () => handleMouseEvent(false)
148
- }), !showLegacyContentHeader && showMacroInteractionDesignUpdates && !isLivePageViewMode && !shouldHideExtensionLozenge && jsx(ExtensionLozenge, {
146
+ }), !showLegacyContentHeader && showMacroInteractionDesignUpdates && !isLivePageViewMode && jsx(ExtensionLozenge, {
149
147
  isNodeSelected: isNodeSelected,
150
148
  isNodeHovered: isNodeHovered,
151
149
  isNodeNested: isNodeNested,
@@ -8,7 +8,6 @@ import { Fragment } from 'react';
8
8
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
9
9
  import { jsx } from '@emotion/react';
10
10
  import EditorFileIcon from '@atlaskit/icon/core/migration/file--editor-file';
11
- import { fg } from '@atlaskit/platform-feature-flags';
12
11
  import { placeholderFallback, placeholderFallbackParams } from '../styles';
13
12
  import { EditToggle } from './EditToggle';
14
13
  import { ExtensionLabel } from './ExtensionLabel';
@@ -35,9 +34,6 @@ export const LozengeComponent = ({
35
34
  pluginInjectionApi
36
35
  }) => {
37
36
  const capitalizedTitle = capitalizeFirstLetter(title);
38
- if (title.startsWith('synced-block:') && fg('platform_synced_block_demo')) {
39
- return null; // Synced blocks do not use the lozenge component
40
- }
41
37
  if (showMacroInteractionDesignUpdates) {
42
38
  return jsx(Fragment, null, jsx(ExtensionLabel, {
43
39
  text: capitalizedTitle,
@@ -1,3 +1,4 @@
1
+ import { fg } from '@atlaskit/platform-feature-flags';
1
2
  import { buildAction } from './manifest-helpers';
2
3
  export const groupBy = (arr, attr, keyRenamer) =>
3
4
  // Ignored via go/ees005
@@ -24,6 +25,9 @@ export function buildMenuItem(manifest, extensionModule) {
24
25
  description: extensionModule.description || manifest.description,
25
26
  summary: manifest.summary,
26
27
  documentationUrl: manifest.documentationUrl,
28
+ ...(fg('cc_fd_wb_create_priority_in_slash_menu_enabled') && {
29
+ priority: extensionModule.priority
30
+ }),
27
31
  icon: extensionModule.icon || manifest.icons['48'],
28
32
  node
29
33
  };
@@ -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 = "110.18.1";
4
+ const packageVersion = "110.18.3";
5
5
  const sanitiseSentryEvents = (data, _hint) => {
6
6
  // Remove URL as it has UGC
7
7
  // 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 = "110.18.1";
17
+ const packageVersion = "110.18.3";
18
18
  const halfFocusRing = 1;
19
19
  const dropOffset = '0, 8';
20
20
  const fadeIn = keyframes({
@@ -291,6 +291,15 @@ export default class Popup extends React.Component {
291
291
  * It is meaningless for screen readers and causes confusion.
292
292
  */
293
293
  const ariaLabel = fg('editor_a11y_aria_label_removal_popup') ? (_this$props$ariaLabel = this.props.ariaLabel) !== null && _this$props$ariaLabel !== void 0 ? _this$props$ariaLabel : undefined : this.props.ariaLabel === null ? undefined : this.props.ariaLabel || 'Popup';
294
+ const getRole = () => {
295
+ // Provide a valid role only when aria-label is present to satisfy a11y rules, as when aria-label is present, role is required
296
+ // use role = dialog as default role, as dialog role itself is not a parent role that requires specific children to function as some other ARIA roles(menu) do
297
+ // if set default role to menu, tons of integration tests will fail as many of our popup usages do not have children that satisfy menu role requirements
298
+ if (ariaLabel && fg('platform_editor_a11y_add_role_to_popup')) {
299
+ return this.props.role || 'dialog';
300
+ }
301
+ return undefined;
302
+ };
294
303
  return /*#__PURE__*/React.createElement("div", {
295
304
  ref: this.handleRef,
296
305
  style: {
@@ -303,6 +312,7 @@ export default class Popup extends React.Component {
303
312
  // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
304
313
  ...this.props.style
305
314
  },
315
+ role: getRole(),
306
316
  "aria-label": ariaLabel,
307
317
  "data-testid": "popup-wrapper"
308
318
  // Indicates component is an editor pop. Required for focus handling in Message.tsx
@@ -30,7 +30,7 @@ var hoverStyles = css({
30
30
  }
31
31
  });
32
32
  function ExtensionWithPluginState(props) {
33
- var _node$attrs, _node$attrs2;
33
+ var _node$attrs;
34
34
  var node = props.node,
35
35
  handleContentDOMRef = props.handleContentDOMRef,
36
36
  children = props.children,
@@ -57,14 +57,13 @@ function ExtensionWithPluginState(props) {
57
57
  return extensionNode.type.name === 'extension' && ((_extensionNode$attrs = extensionNode.attrs) === null || _extensionNode$attrs === void 0 ? void 0 : _extensionNode$attrs.extensionType) === 'com.atlassian.confluence.migration' && ((_extensionNode$attrs2 = extensionNode.attrs) === null || _extensionNode$attrs2 === void 0 ? void 0 : _extensionNode$attrs2.extensionKey) === 'legacy-content';
58
58
  };
59
59
  var showLegacyContentHeader = fg('platform_editor_legacy_content_macro_visual_update') && isLegacyContentMacroExtension(node);
60
- var isSyncedBlockExtension = node.type.name === 'extension' && ((_node$attrs = node.attrs) === null || _node$attrs === void 0 || (_node$attrs = _node$attrs.extensionKey) === null || _node$attrs === void 0 ? void 0 : _node$attrs.startsWith('synced-block'));
61
60
  var hasBody = ['bodiedExtension', 'multiBodiedExtension'].includes(node.type.name);
62
61
  var hasChildren = !!children;
63
- var removeBorder = fg('platform_synced_block_demo') ? showMacroInteractionDesignUpdates || !!hideFrame || isSyncedBlockExtension : showMacroInteractionDesignUpdates || !!(hideFrame && !hasBody);
62
+ var removeBorder = showMacroInteractionDesignUpdates || !!(hideFrame && !hasBody);
64
63
 
65
64
  // Some native bodied macros (e.g Content properties) have this param to hide in view mode
66
65
  // which we want to also hide in live page view mode too
67
- var macroParamHiddenValue = node === null || node === void 0 || (_node$attrs2 = node.attrs) === null || _node$attrs2 === void 0 || (_node$attrs2 = _node$attrs2.parameters) === null || _node$attrs2 === void 0 || (_node$attrs2 = _node$attrs2.macroParams) === null || _node$attrs2 === void 0 || (_node$attrs2 = _node$attrs2.hidden) === null || _node$attrs2 === void 0 ? void 0 : _node$attrs2.value;
66
+ var macroParamHiddenValue = node === null || node === void 0 || (_node$attrs = node.attrs) === null || _node$attrs === void 0 || (_node$attrs = _node$attrs.parameters) === null || _node$attrs === void 0 || (_node$attrs = _node$attrs.macroParams) === null || _node$attrs === void 0 || (_node$attrs = _node$attrs.hidden) === null || _node$attrs === void 0 ? void 0 : _node$attrs.value;
68
67
  var shouldHideInLivePageViewMode = isLivePageViewMode && macroParamHiddenValue === 'true'; // it is stored as a string
69
68
 
70
69
  var getPos = props.getPos,
@@ -132,7 +131,6 @@ function ExtensionWithPluginState(props) {
132
131
  }
133
132
  };
134
133
  var extensionContentStyles = expValEquals('platform_editor_extension_styles', 'isEnabled', true) ? extensionContent : content;
135
- var shouldHideExtensionLozenge = fg('platform_synced_block_demo') ? isSyncedBlockExtension : false;
136
134
  return jsx(Fragment, null, showLegacyContentHeader && jsx(LegacyContentHeader, {
137
135
  isNodeSelected: isNodeSelected,
138
136
  isNodeHovered: isNodeHovered,
@@ -142,7 +140,7 @@ function ExtensionWithPluginState(props) {
142
140
  onMouseLeave: function onMouseLeave() {
143
141
  return handleMouseEvent(false);
144
142
  }
145
- }), !showLegacyContentHeader && showMacroInteractionDesignUpdates && !isLivePageViewMode && !shouldHideExtensionLozenge && jsx(ExtensionLozenge, {
143
+ }), !showLegacyContentHeader && showMacroInteractionDesignUpdates && !isLivePageViewMode && jsx(ExtensionLozenge, {
146
144
  isNodeSelected: isNodeSelected,
147
145
  isNodeHovered: isNodeHovered,
148
146
  isNodeNested: isNodeNested,
@@ -11,7 +11,6 @@ import { Fragment } from 'react';
11
11
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
12
12
  import { jsx } from '@emotion/react';
13
13
  import EditorFileIcon from '@atlaskit/icon/core/migration/file--editor-file';
14
- import { fg } from '@atlaskit/platform-feature-flags';
15
14
  import { placeholderFallback, placeholderFallbackParams } from '../styles';
16
15
  import { EditToggle } from './EditToggle';
17
16
  import { ExtensionLabel } from './ExtensionLabel';
@@ -37,9 +36,6 @@ export var LozengeComponent = function LozengeComponent(_ref) {
37
36
  setShowBodiedExtensionRendererView = _ref.setShowBodiedExtensionRendererView,
38
37
  pluginInjectionApi = _ref.pluginInjectionApi;
39
38
  var capitalizedTitle = capitalizeFirstLetter(title);
40
- if (title.startsWith('synced-block:') && fg('platform_synced_block_demo')) {
41
- return null; // Synced blocks do not use the lozenge component
42
- }
43
39
  if (showMacroInteractionDesignUpdates) {
44
40
  return jsx(Fragment, null, jsx(ExtensionLabel, {
45
41
  text: capitalizedTitle,
@@ -1,12 +1,13 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
1
  import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
2
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
4
  import _regeneratorRuntime from "@babel/runtime/regenerator";
5
- 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; }
6
- 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) { _defineProperty(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; }
7
5
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
8
6
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
9
7
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
8
+ 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; }
9
+ 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) { _defineProperty(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; }
10
+ import { fg } from '@atlaskit/platform-feature-flags';
10
11
  import { buildAction } from './manifest-helpers';
11
12
  export var groupBy = function groupBy(arr, attr, keyRenamer) {
12
13
  return (
@@ -25,7 +26,7 @@ export function buildMenuItem(manifest, extensionModule) {
25
26
  if (!node) {
26
27
  throw new Error("Couldn't find any action for ".concat(title, " (").concat(key, ")"));
27
28
  }
28
- return {
29
+ return _objectSpread(_objectSpread({
29
30
  key: key,
30
31
  title: title,
31
32
  extensionType: manifest.type,
@@ -35,10 +36,13 @@ export function buildMenuItem(manifest, extensionModule) {
35
36
  categories: extensionModule.categories || manifest.categories || [],
36
37
  description: extensionModule.description || manifest.description,
37
38
  summary: manifest.summary,
38
- documentationUrl: manifest.documentationUrl,
39
+ documentationUrl: manifest.documentationUrl
40
+ }, fg('cc_fd_wb_create_priority_in_slash_menu_enabled') && {
41
+ priority: extensionModule.priority
42
+ }), {}, {
39
43
  icon: extensionModule.icon || manifest.icons['48'],
40
44
  node: node
41
- };
45
+ });
42
46
  }
43
47
  export var getQuickInsertItemsFromModule = function getQuickInsertItemsFromModule(extensions, transformFunction) {
44
48
  var _ref;
@@ -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 = "110.18.1";
10
+ var packageVersion = "110.18.3";
11
11
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
12
12
  // Remove URL as it has UGC
13
13
  // Ignored via go/ees007
@@ -21,7 +21,7 @@ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
21
21
  import { fg } from '@atlaskit/platform-feature-flags';
22
22
  import Layer from '../Layer';
23
23
  var packageName = "@atlaskit/editor-common";
24
- var packageVersion = "110.18.1";
24
+ var packageVersion = "110.18.3";
25
25
  var halfFocusRing = 1;
26
26
  var dropOffset = '0, 8';
27
27
  var fadeIn = keyframes({
@@ -303,7 +303,8 @@ var Popup = /*#__PURE__*/function (_React$Component) {
303
303
  }, {
304
304
  key: "renderPopup",
305
305
  value: function renderPopup() {
306
- var _this$props$ariaLabel;
306
+ var _this$props$ariaLabel,
307
+ _this3 = this;
307
308
  var position = this.state.position;
308
309
  var shouldRenderPopup = this.props.shouldRenderPopup;
309
310
  if (shouldRenderPopup && !shouldRenderPopup(position || {})) {
@@ -316,6 +317,15 @@ var Popup = /*#__PURE__*/function (_React$Component) {
316
317
  * It is meaningless for screen readers and causes confusion.
317
318
  */
318
319
  var ariaLabel = fg('editor_a11y_aria_label_removal_popup') ? (_this$props$ariaLabel = this.props.ariaLabel) !== null && _this$props$ariaLabel !== void 0 ? _this$props$ariaLabel : undefined : this.props.ariaLabel === null ? undefined : this.props.ariaLabel || 'Popup';
320
+ var getRole = function getRole() {
321
+ // Provide a valid role only when aria-label is present to satisfy a11y rules, as when aria-label is present, role is required
322
+ // use role = dialog as default role, as dialog role itself is not a parent role that requires specific children to function as some other ARIA roles(menu) do
323
+ // if set default role to menu, tons of integration tests will fail as many of our popup usages do not have children that satisfy menu role requirements
324
+ if (ariaLabel && fg('platform_editor_a11y_add_role_to_popup')) {
325
+ return _this3.props.role || 'dialog';
326
+ }
327
+ return undefined;
328
+ };
319
329
  return /*#__PURE__*/React.createElement("div", {
320
330
  ref: this.handleRef,
321
331
  style: _objectSpread(_objectSpread({
@@ -324,6 +334,7 @@ var Popup = /*#__PURE__*/function (_React$Component) {
324
334
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
325
335
  zIndex: this.props.zIndex || akEditorFloatingPanelZIndex
326
336
  }, position), this.props.style),
337
+ role: getRole(),
327
338
  "aria-label": ariaLabel,
328
339
  "data-testid": "popup-wrapper"
329
340
  // Indicates component is an editor pop. Required for focus handling in Message.tsx
@@ -204,11 +204,14 @@ type RovoMoreOptionsClickedAEP = ButtonAEP<ACTION_SUBJECT_ID.AI_MORE_ROVO_OPTION
204
204
  inputMethod: INPUT_METHOD.TOOLBAR | INPUT_METHOD.FLOATING_TB;
205
205
  opened: boolean;
206
206
  }>;
207
+ type AskRovoButtonClickedAEP = ButtonAEP<ACTION_SUBJECT_ID.AI_ASK_ROVO_BUTTON, {
208
+ inputMethod: INPUT_METHOD.TOOLBAR | INPUT_METHOD.FLOATING_TB;
209
+ }>;
207
210
  type ChangeToneMenuItemClickedAEP = UIAEP<ACTION.CLICKED, ACTION_SUBJECT.TOOLBAR_DROPDOWN_MENU_ITEM, ACTION_SUBJECT_ID.AI_CHANGE_TONE, {
208
211
  inputMethod: INPUT_METHOD.TOOLBAR | INPUT_METHOD.FLOATING_TB;
209
212
  }>;
210
213
  type TranslateMenuItemClickedAEP = UIAEP<ACTION.CLICKED, ACTION_SUBJECT.TOOLBAR_DROPDOWN_MENU_ITEM, ACTION_SUBJECT_ID.AI_TRANSLATE, {
211
214
  inputMethod: INPUT_METHOD.TOOLBAR | INPUT_METHOD.FLOATING_TB;
212
215
  }>;
213
- export type GeneralEventPayload<T = void> = AnnotateButtonAEP | AnnotationAEP | AnnotationErrorAEP | BrowserFreezePayload | ButtonFeedbackAEP | ButtonHelpAEP | ButtonUploadMediaAEP | ColorPickerAEP | EditorPerfAEP | EditorRenderedAEP<T> | EditorStartAEP | EditorStopAEP | ExpandToggleAEP | FeedbackAEP | FullWidthModeAEP | HelpQuickInsertAEP | InputPerfSamplingAEP | InputPerfSamplingAvgAEP | PickerEmojiAEP | PickerImageAEP | PickerMediaInsertAEP | PickerMediaInsertClosedAEP | PickerMediaInsertCancelledAEP | ReactNodeViewRenderedAEP | RichMediaLayoutAEP | SelectionAEP | SlowInputAEP | TransactionMutatedAEP | UploadExternalFailedAEP | WithPluginStateCalledAEP | CodeBlockLanguageSelectedAEP | EditorContentRetrievalPerformedAEP | MediaLinkTransformedAEP | TextLinkCodeMarkTransformedAEP | DedupeMarksTransformedAEP | IndentationMarksTransformedAEP | NodesMissingContentTransformedAEP | InvalidProsemirrorDocumentErrorAEP | DocumentProcessingErrorAEP | InvalidMediaContentTransformedAEP | HeadingAnchorLinkButtonAEP | CollabStepsTrackerPayloadAEP | BlocksDragInitAEP | CodeBlockWordWrapToggleAEP | RequestToEditAEP | SingleColumLayoutDetectedAEP | CopyLinkToAnchorButtonAEP | DockedPrimaryToolbarRenderedAEP | RovoMoreOptionsClickedAEP | ChangeToneMenuItemClickedAEP | TranslateMenuItemClickedAEP;
216
+ export type GeneralEventPayload<T = void> = AnnotateButtonAEP | AnnotationAEP | AnnotationErrorAEP | BrowserFreezePayload | ButtonFeedbackAEP | ButtonHelpAEP | ButtonUploadMediaAEP | ColorPickerAEP | EditorPerfAEP | EditorRenderedAEP<T> | EditorStartAEP | EditorStopAEP | ExpandToggleAEP | FeedbackAEP | FullWidthModeAEP | HelpQuickInsertAEP | InputPerfSamplingAEP | InputPerfSamplingAvgAEP | PickerEmojiAEP | PickerImageAEP | PickerMediaInsertAEP | PickerMediaInsertClosedAEP | PickerMediaInsertCancelledAEP | ReactNodeViewRenderedAEP | RichMediaLayoutAEP | SelectionAEP | SlowInputAEP | TransactionMutatedAEP | UploadExternalFailedAEP | WithPluginStateCalledAEP | CodeBlockLanguageSelectedAEP | EditorContentRetrievalPerformedAEP | MediaLinkTransformedAEP | TextLinkCodeMarkTransformedAEP | DedupeMarksTransformedAEP | IndentationMarksTransformedAEP | NodesMissingContentTransformedAEP | InvalidProsemirrorDocumentErrorAEP | DocumentProcessingErrorAEP | InvalidMediaContentTransformedAEP | HeadingAnchorLinkButtonAEP | CollabStepsTrackerPayloadAEP | BlocksDragInitAEP | CodeBlockWordWrapToggleAEP | RequestToEditAEP | SingleColumLayoutDetectedAEP | CopyLinkToAnchorButtonAEP | DockedPrimaryToolbarRenderedAEP | RovoMoreOptionsClickedAEP | AskRovoButtonClickedAEP | ChangeToneMenuItemClickedAEP | TranslateMenuItemClickedAEP;
214
217
  export {};
@@ -26,5 +26,5 @@ type LozengeComponentProps = {
26
26
  showUpdatedLivePages1PBodiedExtensionUI?: boolean;
27
27
  title: string;
28
28
  };
29
- export declare const LozengeComponent: ({ lozengeData, extensionName, title, params, renderImage, showMacroInteractionDesignUpdates, customContainerStyles, isNodeHovered, isNodeNested, setIsNodeHovered, isBodiedMacro, showLivePagesBodiedMacrosRendererView, showUpdatedLivePages1PBodiedExtensionUI, showBodiedExtensionRendererView, setShowBodiedExtensionRendererView, pluginInjectionApi, }: LozengeComponentProps) => jsx.JSX.Element | null;
29
+ export declare const LozengeComponent: ({ lozengeData, extensionName, title, params, renderImage, showMacroInteractionDesignUpdates, customContainerStyles, isNodeHovered, isNodeNested, setIsNodeHovered, isBodiedMacro, showLivePagesBodiedMacrosRendererView, showUpdatedLivePages1PBodiedExtensionUI, showBodiedExtensionRendererView, setShowBodiedExtensionRendererView, pluginInjectionApi, }: LozengeComponentProps) => jsx.JSX.Element;
30
30
  export {};
@@ -13,6 +13,7 @@ export type MenuItem = {
13
13
  node: ADFEntity | ExtensionModuleActionHandler;
14
14
  summary?: string;
15
15
  title: string;
16
+ priority?: number;
16
17
  };
17
18
  export type MenuItemMap = {
18
19
  [key: string]: MenuItem;
@@ -22,6 +22,7 @@ export interface Props {
22
22
  onUnmount?: () => void;
23
23
  preventOverflow?: boolean;
24
24
  rect?: DOMRect;
25
+ role?: string;
25
26
  scrollableElement?: HTMLElement;
26
27
  shouldRenderPopup?: (position: Position) => boolean;
27
28
  stick?: boolean;
@@ -204,11 +204,14 @@ type RovoMoreOptionsClickedAEP = ButtonAEP<ACTION_SUBJECT_ID.AI_MORE_ROVO_OPTION
204
204
  inputMethod: INPUT_METHOD.TOOLBAR | INPUT_METHOD.FLOATING_TB;
205
205
  opened: boolean;
206
206
  }>;
207
+ type AskRovoButtonClickedAEP = ButtonAEP<ACTION_SUBJECT_ID.AI_ASK_ROVO_BUTTON, {
208
+ inputMethod: INPUT_METHOD.TOOLBAR | INPUT_METHOD.FLOATING_TB;
209
+ }>;
207
210
  type ChangeToneMenuItemClickedAEP = UIAEP<ACTION.CLICKED, ACTION_SUBJECT.TOOLBAR_DROPDOWN_MENU_ITEM, ACTION_SUBJECT_ID.AI_CHANGE_TONE, {
208
211
  inputMethod: INPUT_METHOD.TOOLBAR | INPUT_METHOD.FLOATING_TB;
209
212
  }>;
210
213
  type TranslateMenuItemClickedAEP = UIAEP<ACTION.CLICKED, ACTION_SUBJECT.TOOLBAR_DROPDOWN_MENU_ITEM, ACTION_SUBJECT_ID.AI_TRANSLATE, {
211
214
  inputMethod: INPUT_METHOD.TOOLBAR | INPUT_METHOD.FLOATING_TB;
212
215
  }>;
213
- export type GeneralEventPayload<T = void> = AnnotateButtonAEP | AnnotationAEP | AnnotationErrorAEP | BrowserFreezePayload | ButtonFeedbackAEP | ButtonHelpAEP | ButtonUploadMediaAEP | ColorPickerAEP | EditorPerfAEP | EditorRenderedAEP<T> | EditorStartAEP | EditorStopAEP | ExpandToggleAEP | FeedbackAEP | FullWidthModeAEP | HelpQuickInsertAEP | InputPerfSamplingAEP | InputPerfSamplingAvgAEP | PickerEmojiAEP | PickerImageAEP | PickerMediaInsertAEP | PickerMediaInsertClosedAEP | PickerMediaInsertCancelledAEP | ReactNodeViewRenderedAEP | RichMediaLayoutAEP | SelectionAEP | SlowInputAEP | TransactionMutatedAEP | UploadExternalFailedAEP | WithPluginStateCalledAEP | CodeBlockLanguageSelectedAEP | EditorContentRetrievalPerformedAEP | MediaLinkTransformedAEP | TextLinkCodeMarkTransformedAEP | DedupeMarksTransformedAEP | IndentationMarksTransformedAEP | NodesMissingContentTransformedAEP | InvalidProsemirrorDocumentErrorAEP | DocumentProcessingErrorAEP | InvalidMediaContentTransformedAEP | HeadingAnchorLinkButtonAEP | CollabStepsTrackerPayloadAEP | BlocksDragInitAEP | CodeBlockWordWrapToggleAEP | RequestToEditAEP | SingleColumLayoutDetectedAEP | CopyLinkToAnchorButtonAEP | DockedPrimaryToolbarRenderedAEP | RovoMoreOptionsClickedAEP | ChangeToneMenuItemClickedAEP | TranslateMenuItemClickedAEP;
216
+ export type GeneralEventPayload<T = void> = AnnotateButtonAEP | AnnotationAEP | AnnotationErrorAEP | BrowserFreezePayload | ButtonFeedbackAEP | ButtonHelpAEP | ButtonUploadMediaAEP | ColorPickerAEP | EditorPerfAEP | EditorRenderedAEP<T> | EditorStartAEP | EditorStopAEP | ExpandToggleAEP | FeedbackAEP | FullWidthModeAEP | HelpQuickInsertAEP | InputPerfSamplingAEP | InputPerfSamplingAvgAEP | PickerEmojiAEP | PickerImageAEP | PickerMediaInsertAEP | PickerMediaInsertClosedAEP | PickerMediaInsertCancelledAEP | ReactNodeViewRenderedAEP | RichMediaLayoutAEP | SelectionAEP | SlowInputAEP | TransactionMutatedAEP | UploadExternalFailedAEP | WithPluginStateCalledAEP | CodeBlockLanguageSelectedAEP | EditorContentRetrievalPerformedAEP | MediaLinkTransformedAEP | TextLinkCodeMarkTransformedAEP | DedupeMarksTransformedAEP | IndentationMarksTransformedAEP | NodesMissingContentTransformedAEP | InvalidProsemirrorDocumentErrorAEP | DocumentProcessingErrorAEP | InvalidMediaContentTransformedAEP | HeadingAnchorLinkButtonAEP | CollabStepsTrackerPayloadAEP | BlocksDragInitAEP | CodeBlockWordWrapToggleAEP | RequestToEditAEP | SingleColumLayoutDetectedAEP | CopyLinkToAnchorButtonAEP | DockedPrimaryToolbarRenderedAEP | RovoMoreOptionsClickedAEP | AskRovoButtonClickedAEP | ChangeToneMenuItemClickedAEP | TranslateMenuItemClickedAEP;
214
217
  export {};
@@ -26,5 +26,5 @@ type LozengeComponentProps = {
26
26
  showUpdatedLivePages1PBodiedExtensionUI?: boolean;
27
27
  title: string;
28
28
  };
29
- export declare const LozengeComponent: ({ lozengeData, extensionName, title, params, renderImage, showMacroInteractionDesignUpdates, customContainerStyles, isNodeHovered, isNodeNested, setIsNodeHovered, isBodiedMacro, showLivePagesBodiedMacrosRendererView, showUpdatedLivePages1PBodiedExtensionUI, showBodiedExtensionRendererView, setShowBodiedExtensionRendererView, pluginInjectionApi, }: LozengeComponentProps) => jsx.JSX.Element | null;
29
+ export declare const LozengeComponent: ({ lozengeData, extensionName, title, params, renderImage, showMacroInteractionDesignUpdates, customContainerStyles, isNodeHovered, isNodeNested, setIsNodeHovered, isBodiedMacro, showLivePagesBodiedMacrosRendererView, showUpdatedLivePages1PBodiedExtensionUI, showBodiedExtensionRendererView, setShowBodiedExtensionRendererView, pluginInjectionApi, }: LozengeComponentProps) => jsx.JSX.Element;
30
30
  export {};
@@ -13,6 +13,7 @@ export type MenuItem = {
13
13
  node: ADFEntity | ExtensionModuleActionHandler;
14
14
  summary?: string;
15
15
  title: string;
16
+ priority?: number;
16
17
  };
17
18
  export type MenuItemMap = {
18
19
  [key: string]: MenuItem;
@@ -25,6 +25,7 @@ export interface Props {
25
25
  onUnmount?: () => void;
26
26
  preventOverflow?: boolean;
27
27
  rect?: DOMRect;
28
+ role?: string;
28
29
  scrollableElement?: HTMLElement;
29
30
  shouldRenderPopup?: (position: Position) => boolean;
30
31
  stick?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "110.18.2",
3
+ "version": "110.18.4",
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/"
@@ -76,13 +76,13 @@
76
76
  "@atlaskit/react-ufo": "^4.12.0",
77
77
  "@atlaskit/section-message": "^8.7.0",
78
78
  "@atlaskit/smart-card": "^43.3.0",
79
- "@atlaskit/smart-user-picker": "^8.3.0",
79
+ "@atlaskit/smart-user-picker": "^8.4.0",
80
80
  "@atlaskit/spinner": "^19.0.0",
81
81
  "@atlaskit/status": "^3.0.0",
82
82
  "@atlaskit/task-decision": "^19.2.0",
83
83
  "@atlaskit/textfield": "^8.0.0",
84
84
  "@atlaskit/theme": "^21.0.0",
85
- "@atlaskit/tmp-editor-statsig": "^13.18.0",
85
+ "@atlaskit/tmp-editor-statsig": "^13.19.0",
86
86
  "@atlaskit/tokens": "^7.0.0",
87
87
  "@atlaskit/tooltip": "^20.6.0",
88
88
  "@atlaskit/ufo": "^0.4.0",
@@ -216,6 +216,9 @@
216
216
  "platform_editor_fix_media_in_renderer": {
217
217
  "type": "boolean"
218
218
  },
219
+ "platform_editor_a11y_add_role_to_popup": {
220
+ "type": "boolean"
221
+ },
219
222
  "cc_comments_log_draft_annotation_ancestor_nodes": {
220
223
  "type": "boolean"
221
224
  },
@@ -228,9 +231,6 @@
228
231
  "platform_editor_legacy_content_macro_visual_update": {
229
232
  "type": "boolean"
230
233
  },
231
- "platform_synced_block_demo": {
232
- "type": "boolean"
233
- },
234
234
  "p2m-drop-down-motion": {
235
235
  "type": "boolean"
236
236
  },
@@ -248,6 +248,9 @@
248
248
  },
249
249
  "platform_editor_fix_mixed_types_column_sort": {
250
250
  "type": "boolean"
251
+ },
252
+ "cc_fd_wb_create_priority_in_slash_menu_enabled": {
253
+ "type": "boolean"
251
254
  }
252
255
  }
253
256
  }
@@ -1,195 +0,0 @@
1
- {
2
- "extends": "../../../../tsconfig.entry-points.passionfruit.json",
3
- "compilerOptions": {
4
- "declaration": true,
5
- "target": "es5",
6
- "outDir": "../../../../../passionfruit/tsDist/@atlaskit__editor-common/app",
7
- "rootDir": "../",
8
- "composite": true
9
- },
10
- "include": [
11
- "../src/**/*.ts",
12
- "../src/**/*.tsx"
13
- ],
14
- "exclude": [
15
- "../src/**/__tests__/*",
16
- "../src/**/*.test.*",
17
- "../src/**/test.*",
18
- "../src/**/examples.*",
19
- "../src/**/examples/*",
20
- "../src/**/examples/**/*",
21
- "../src/**/*.stories.*",
22
- "../src/**/stories/*",
23
- "../src/**/stories/**/*"
24
- ],
25
- "references": [
26
- {
27
- "path": "../../activity-provider/afm-passionfruit/tsconfig.json"
28
- },
29
- {
30
- "path": "../../adf-utils/afm-passionfruit/tsconfig.json"
31
- },
32
- {
33
- "path": "../../../analytics/analytics-listeners/afm-passionfruit/tsconfig.json"
34
- },
35
- {
36
- "path": "../../../analytics/analytics-namespaced-context/afm-passionfruit/tsconfig.json"
37
- },
38
- {
39
- "path": "../../../analytics/analytics-next/afm-passionfruit/tsconfig.json"
40
- },
41
- {
42
- "path": "../../../uip/atlassian-context/afm-passionfruit/tsconfig.json"
43
- },
44
- {
45
- "path": "../../../design-system/button/afm-passionfruit/tsconfig.json"
46
- },
47
- {
48
- "path": "../../../design-system/code/afm-passionfruit/tsconfig.json"
49
- },
50
- {
51
- "path": "../../../monorepo-tooling/codemod-utils/afm-passionfruit/tsconfig.json"
52
- },
53
- {
54
- "path": "../../../design-system/css/afm-passionfruit/tsconfig.json"
55
- },
56
- {
57
- "path": "../../custom-steps/afm-passionfruit/tsconfig.json"
58
- },
59
- {
60
- "path": "../../../design-system/dropdown-menu/afm-passionfruit/tsconfig.json"
61
- },
62
- {
63
- "path": "../../editor-json-transformer/afm-passionfruit/tsconfig.json"
64
- },
65
- {
66
- "path": "../../editor-palette/afm-passionfruit/tsconfig.json"
67
- },
68
- {
69
- "path": "../../editor-shared-styles/afm-passionfruit/tsconfig.json"
70
- },
71
- {
72
- "path": "../../editor-tables/afm-passionfruit/tsconfig.json"
73
- },
74
- {
75
- "path": "../../editor-toolbar/afm-passionfruit/tsconfig.json"
76
- },
77
- {
78
- "path": "../../editor-toolbar-model/afm-passionfruit/tsconfig.json"
79
- },
80
- {
81
- "path": "../../../elements/emoji/afm-passionfruit/tsconfig.json"
82
- },
83
- {
84
- "path": "../../../design-system/icon/afm-passionfruit/tsconfig.json"
85
- },
86
- {
87
- "path": "../../../design-system/icon-object/afm-passionfruit/tsconfig.json"
88
- },
89
- {
90
- "path": "../../../design-system/link/afm-passionfruit/tsconfig.json"
91
- },
92
- {
93
- "path": "../../../linking-platform/link-datasource/afm-passionfruit/tsconfig.json"
94
- },
95
- {
96
- "path": "../../../linking-platform/link-picker/afm-passionfruit/tsconfig.json"
97
- },
98
- {
99
- "path": "../../../media/media-card/afm-passionfruit/tsconfig.json"
100
- },
101
- {
102
- "path": "../../../media/media-client/afm-passionfruit/tsconfig.json"
103
- },
104
- {
105
- "path": "../../../media/media-client-react/afm-passionfruit/tsconfig.json"
106
- },
107
- {
108
- "path": "../../../media/media-common/afm-passionfruit/tsconfig.json"
109
- },
110
- {
111
- "path": "../../../media/media-file-preview/afm-passionfruit/tsconfig.json"
112
- },
113
- {
114
- "path": "../../../media/media-picker/afm-passionfruit/tsconfig.json"
115
- },
116
- {
117
- "path": "../../../media/media-ui/afm-passionfruit/tsconfig.json"
118
- },
119
- {
120
- "path": "../../../media/media-viewer/afm-passionfruit/tsconfig.json"
121
- },
122
- {
123
- "path": "../../../elements/mention/afm-passionfruit/tsconfig.json"
124
- },
125
- {
126
- "path": "../../../design-system/menu/afm-passionfruit/tsconfig.json"
127
- },
128
- {
129
- "path": "../../../design-system/onboarding/afm-passionfruit/tsconfig.json"
130
- },
131
- {
132
- "path": "../../../platform/feature-flags/afm-passionfruit/tsconfig.json"
133
- },
134
- {
135
- "path": "../../../platform/feature-flags-react/afm-passionfruit/tsconfig.json"
136
- },
137
- {
138
- "path": "../../../design-system/popper/afm-passionfruit/tsconfig.json"
139
- },
140
- {
141
- "path": "../../../design-system/primitives/afm-passionfruit/tsconfig.json"
142
- },
143
- {
144
- "path": "../../../people-and-teams/profilecard/afm-passionfruit/tsconfig.json"
145
- },
146
- {
147
- "path": "../../prosemirror-history/afm-passionfruit/tsconfig.json"
148
- },
149
- {
150
- "path": "../../../react-ufo/atlaskit/afm-passionfruit/tsconfig.json"
151
- },
152
- {
153
- "path": "../../../design-system/section-message/afm-passionfruit/tsconfig.json"
154
- },
155
- {
156
- "path": "../../../linking-platform/smart-card/afm-passionfruit/tsconfig.json"
157
- },
158
- {
159
- "path": "../../../smart-experiences/smart-user-picker/afm-passionfruit/tsconfig.json"
160
- },
161
- {
162
- "path": "../../../design-system/spinner/afm-passionfruit/tsconfig.json"
163
- },
164
- {
165
- "path": "../../../elements/status/afm-passionfruit/tsconfig.json"
166
- },
167
- {
168
- "path": "../../../elements/task-decision/afm-passionfruit/tsconfig.json"
169
- },
170
- {
171
- "path": "../../../design-system/textfield/afm-passionfruit/tsconfig.json"
172
- },
173
- {
174
- "path": "../../../design-system/theme/afm-passionfruit/tsconfig.json"
175
- },
176
- {
177
- "path": "../../tmp-editor-statsig/afm-passionfruit/tsconfig.json"
178
- },
179
- {
180
- "path": "../../../design-system/tokens/afm-passionfruit/tsconfig.json"
181
- },
182
- {
183
- "path": "../../../design-system/tooltip/afm-passionfruit/tsconfig.json"
184
- },
185
- {
186
- "path": "../../../data/ufo-external/afm-passionfruit/tsconfig.json"
187
- },
188
- {
189
- "path": "../../../design-system/width-detector/afm-passionfruit/tsconfig.json"
190
- },
191
- {
192
- "path": "../../../media/media-core/afm-passionfruit/tsconfig.json"
193
- }
194
- ]
195
- }