@atlaskit/editor-common 83.0.4 → 83.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/cjs/extensibility/Extension/Extension/index.js +3 -1
  3. package/dist/cjs/extensibility/Extension/InlineExtension/index.js +3 -1
  4. package/dist/cjs/extensibility/Extension/Lozenge/ExtensionLabel.js +84 -42
  5. package/dist/cjs/extensibility/Extension/Lozenge/LozengeComponent.js +3 -1
  6. package/dist/cjs/extensibility/Extension/Lozenge/index.js +2 -0
  7. package/dist/cjs/extensibility/MultiBodiedExtension/index.js +3 -1
  8. package/dist/cjs/monitoring/error.js +1 -1
  9. package/dist/cjs/ui/DropList/index.js +1 -1
  10. package/dist/cjs/ui-menu/ArrowKeyNavigationProvider/ColorPaletteArrowKeyNavigationProvider/index.js +5 -2
  11. package/dist/cjs/ui-menu/ArrowKeyNavigationProvider/MenuArrowKeyNavigationProvider/index.js +11 -4
  12. package/dist/cjs/ui-menu/ArrowKeyNavigationProvider/index.js +8 -4
  13. package/dist/cjs/ui-menu/DropdownMenu/index.js +9 -2
  14. package/dist/cjs/ui-react/with-react-editor-view-outer-listeners.js +5 -2
  15. package/dist/es2019/extensibility/Extension/Extension/index.js +3 -1
  16. package/dist/es2019/extensibility/Extension/InlineExtension/index.js +3 -1
  17. package/dist/es2019/extensibility/Extension/Lozenge/ExtensionLabel.js +84 -44
  18. package/dist/es2019/extensibility/Extension/Lozenge/LozengeComponent.js +3 -1
  19. package/dist/es2019/extensibility/Extension/Lozenge/index.js +2 -0
  20. package/dist/es2019/extensibility/MultiBodiedExtension/index.js +3 -1
  21. package/dist/es2019/monitoring/error.js +1 -1
  22. package/dist/es2019/ui/DropList/index.js +1 -1
  23. package/dist/es2019/ui-menu/ArrowKeyNavigationProvider/ColorPaletteArrowKeyNavigationProvider/index.js +5 -2
  24. package/dist/es2019/ui-menu/ArrowKeyNavigationProvider/MenuArrowKeyNavigationProvider/index.js +11 -4
  25. package/dist/es2019/ui-menu/ArrowKeyNavigationProvider/index.js +6 -2
  26. package/dist/es2019/ui-menu/DropdownMenu/index.js +10 -2
  27. package/dist/es2019/ui-react/with-react-editor-view-outer-listeners.js +5 -2
  28. package/dist/esm/extensibility/Extension/Extension/index.js +3 -1
  29. package/dist/esm/extensibility/Extension/InlineExtension/index.js +3 -1
  30. package/dist/esm/extensibility/Extension/Lozenge/ExtensionLabel.js +86 -44
  31. package/dist/esm/extensibility/Extension/Lozenge/LozengeComponent.js +3 -1
  32. package/dist/esm/extensibility/Extension/Lozenge/index.js +2 -0
  33. package/dist/esm/extensibility/MultiBodiedExtension/index.js +3 -1
  34. package/dist/esm/monitoring/error.js +1 -1
  35. package/dist/esm/ui/DropList/index.js +1 -1
  36. package/dist/esm/ui-menu/ArrowKeyNavigationProvider/ColorPaletteArrowKeyNavigationProvider/index.js +5 -2
  37. package/dist/esm/ui-menu/ArrowKeyNavigationProvider/MenuArrowKeyNavigationProvider/index.js +11 -4
  38. package/dist/esm/ui-menu/ArrowKeyNavigationProvider/index.js +8 -4
  39. package/dist/esm/ui-menu/DropdownMenu/index.js +9 -2
  40. package/dist/esm/ui-react/with-react-editor-view-outer-listeners.js +5 -2
  41. package/dist/types/collab/index.d.ts +26 -0
  42. package/dist/types/extensibility/Extension/Lozenge/ExtensionLabel.d.ts +2 -1
  43. package/dist/types/extensibility/Extension/Lozenge/LozengeComponent.d.ts +2 -1
  44. package/dist/types/extensibility/Extension/Lozenge/index.d.ts +1 -0
  45. package/dist/types/ui-menu/ArrowKeyNavigationProvider/ColorPaletteArrowKeyNavigationProvider/index.d.ts +1 -1
  46. package/dist/types/ui-menu/ArrowKeyNavigationProvider/MenuArrowKeyNavigationProvider/index.d.ts +1 -1
  47. package/dist/types/ui-menu/ArrowKeyNavigationProvider/types.d.ts +2 -0
  48. package/dist/types/ui-react/ReactEditorViewContext.d.ts +1 -0
  49. package/dist/types-ts4.5/collab/index.d.ts +26 -0
  50. package/dist/types-ts4.5/extensibility/Extension/Lozenge/ExtensionLabel.d.ts +2 -1
  51. package/dist/types-ts4.5/extensibility/Extension/Lozenge/LozengeComponent.d.ts +2 -1
  52. package/dist/types-ts4.5/extensibility/Extension/Lozenge/index.d.ts +1 -0
  53. package/dist/types-ts4.5/ui-menu/ArrowKeyNavigationProvider/ColorPaletteArrowKeyNavigationProvider/index.d.ts +1 -1
  54. package/dist/types-ts4.5/ui-menu/ArrowKeyNavigationProvider/MenuArrowKeyNavigationProvider/index.d.ts +1 -1
  55. package/dist/types-ts4.5/ui-menu/ArrowKeyNavigationProvider/types.d.ts +2 -0
  56. package/dist/types-ts4.5/ui-react/ReactEditorViewContext.d.ts +1 -0
  57. package/package.json +4 -1
@@ -19,6 +19,7 @@ export var LozengeComponent = function LozengeComponent(_ref) {
19
19
  params = _ref.params,
20
20
  renderImage = _ref.renderImage,
21
21
  showMacroInteractionDesignUpdates = _ref.showMacroInteractionDesignUpdates,
22
+ showMacroButtonUpdates = _ref.showMacroButtonUpdates,
22
23
  customContainerStyles = _ref.customContainerStyles,
23
24
  isNodeHovered = _ref.isNodeHovered,
24
25
  isNodeNested = _ref.isNodeNested,
@@ -33,7 +34,8 @@ export var LozengeComponent = function LozengeComponent(_ref) {
33
34
  isNodeNested: isNodeNested,
34
35
  customContainerStyles: customContainerStyles,
35
36
  setIsNodeHovered: setIsNodeHovered,
36
- isBodiedMacro: isBodiedMacro
37
+ isBodiedMacro: isBodiedMacro,
38
+ showMacroButtonUpdates: showMacroButtonUpdates
37
39
  });
38
40
  }
39
41
  var isBlockExtension = extensionName === 'extension';
@@ -42,6 +42,7 @@ var ExtensionLozenge = /*#__PURE__*/function (_Component) {
42
42
  _defineProperty(_assertThisInitialized(_this), "renderFallback", function (lozengeData) {
43
43
  var _this$props = _this.props,
44
44
  showMacroInteractionDesignUpdates = _this$props.showMacroInteractionDesignUpdates,
45
+ showMacroButtonUpdates = _this$props.showMacroButtonUpdates,
45
46
  isNodeSelected = _this$props.isNodeSelected,
46
47
  isNodeHovered = _this$props.isNodeHovered,
47
48
  isNodeNested = _this$props.isNodeNested,
@@ -59,6 +60,7 @@ var ExtensionLozenge = /*#__PURE__*/function (_Component) {
59
60
  isNodeSelected: isNodeSelected,
60
61
  isNodeNested: isNodeNested,
61
62
  showMacroInteractionDesignUpdates: showMacroInteractionDesignUpdates,
63
+ showMacroButtonUpdates: showMacroButtonUpdates,
62
64
  extensionName: name,
63
65
  lozengeData: lozengeData,
64
66
  params: params,
@@ -78,7 +78,8 @@ var MultiBodiedExtensionWithWidth = function MultiBodiedExtensionWithWidth(_ref)
78
78
  isNodeNested = _ref.isNodeNested,
79
79
  setIsNodeHovered = _ref.setIsNodeHovered;
80
80
  var _ref2 = macroInteractionDesignFeatureFlags || {},
81
- showMacroInteractionDesignUpdates = _ref2.showMacroInteractionDesignUpdates;
81
+ showMacroInteractionDesignUpdates = _ref2.showMacroInteractionDesignUpdates,
82
+ showMacroButtonUpdates = _ref2.showMacroButtonUpdates;
82
83
  var _node$attrs = node.attrs,
83
84
  parameters = _node$attrs.parameters,
84
85
  extensionKey = _node$attrs.extensionKey;
@@ -154,6 +155,7 @@ var MultiBodiedExtensionWithWidth = function MultiBodiedExtensionWithWidth(_ref)
154
155
  isNodeSelected: isNodeSelected,
155
156
  node: node,
156
157
  showMacroInteractionDesignUpdates: true,
158
+ showMacroButtonUpdates: showMacroButtonUpdates,
157
159
  customContainerStyles: mbeWrapperStyles,
158
160
  isNodeHovered: isNodeHovered,
159
161
  isNodeNested: isNodeNested,
@@ -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 = "83.0.4";
10
+ var packageVersion = "83.2.0";
11
11
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
12
12
  // Remove URL as it has UGC
13
13
  // TODO: Sanitise the URL instead of just removing it
@@ -17,7 +17,7 @@ import { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents } from '@
17
17
  import { N0, N50A, N60A, N900 } from '@atlaskit/theme/colors';
18
18
  import Layer from '../Layer';
19
19
  var packageName = "@atlaskit/editor-common";
20
- var packageVersion = "83.0.4";
20
+ var packageVersion = "83.2.0";
21
21
  var halfFocusRing = 1;
22
22
  var dropOffset = '0, 8';
23
23
  var DropList = /*#__PURE__*/function (_Component) {
@@ -1,5 +1,6 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import React, { useLayoutEffect, useRef, useState } from 'react';
3
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
3
4
  /**
4
5
  * This component is a wrapper for color picker which listens to keydown events of children
5
6
  * and handles arrow key navigation
@@ -13,11 +14,13 @@ export var ColorPaletteArrowKeyNavigationProvider = function ColorPaletteArrowKe
13
14
  handleClose = _ref.handleClose,
14
15
  closeOnTab = _ref.closeOnTab,
15
16
  editorRef = _ref.editorRef,
16
- ignoreEscapeKey = _ref.ignoreEscapeKey;
17
+ ignoreEscapeKey = _ref.ignoreEscapeKey,
18
+ popupsMountPoint = _ref.popupsMountPoint;
17
19
  var wrapperRef = useRef(null);
18
20
  var currentSelectedColumnIndex = useRef(selectedColumnIndex === -1 ? 0 : selectedColumnIndex);
19
21
  var currentSelectedRowIndex = useRef(selectedRowIndex === -1 ? 0 : selectedRowIndex);
20
- var _useState = useState(editorRef.current),
22
+ var element = getBooleanFF('platform.editor.a11y-main-toolbar-navigation_osrty') && popupsMountPoint ? popupsMountPoint : editorRef.current;
23
+ var _useState = useState(element),
21
24
  _useState2 = _slicedToArray(_useState, 1),
22
25
  listenerTargetElement = _useState2[0];
23
26
  var incrementRowIndex = function incrementRowIndex(rowElements, columnElements) {
@@ -1,5 +1,6 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import React, { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
3
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
3
4
  var hasEnabledItems = function hasEnabledItems(list) {
4
5
  return list.some(function (item) {
5
6
  return item.getAttribute('aria-disabled') !== 'true';
@@ -17,13 +18,15 @@ export var MenuArrowKeyNavigationProvider = function MenuArrowKeyNavigationProvi
17
18
  keyDownHandlerContext = _ref.keyDownHandlerContext,
18
19
  closeOnTab = _ref.closeOnTab,
19
20
  onSelection = _ref.onSelection,
20
- editorRef = _ref.editorRef;
21
+ editorRef = _ref.editorRef,
22
+ popupsMountPoint = _ref.popupsMountPoint;
21
23
  var wrapperRef = useRef(null);
22
24
  var _useState = useState(-1),
23
25
  _useState2 = _slicedToArray(_useState, 2),
24
26
  currentSelectedItemIndex = _useState2[0],
25
27
  setCurrentSelectedItemIndex = _useState2[1];
26
- var _useState3 = useState(editorRef.current),
28
+ var element = getBooleanFF('platform.editor.a11y-main-toolbar-navigation_osrty') && popupsMountPoint ? [popupsMountPoint, editorRef.current] : [editorRef.current];
29
+ var _useState3 = useState(element),
27
30
  _useState4 = _slicedToArray(_useState3, 1),
28
31
  listenerTargetElement = _useState4[0];
29
32
  var incrementIndex = useCallback(function (list) {
@@ -143,9 +146,13 @@ export var MenuArrowKeyNavigationProvider = function MenuArrowKeyNavigationProvi
143
146
  return;
144
147
  }
145
148
  };
146
- listenerTargetElement && listenerTargetElement.addEventListener('keydown', handleKeyDown);
149
+ listenerTargetElement && listenerTargetElement.forEach(function (elem) {
150
+ elem && elem.addEventListener('keydown', handleKeyDown);
151
+ });
147
152
  return function () {
148
- listenerTargetElement && listenerTargetElement.removeEventListener('keydown', handleKeyDown);
153
+ listenerTargetElement && listenerTargetElement.forEach(function (elem) {
154
+ elem && elem.removeEventListener('keydown', handleKeyDown);
155
+ });
149
156
  };
150
157
  }, [currentSelectedItemIndex, wrapperRef, handleClose, disableArrowKeyNavigation, keyDownHandlerContext, closeOnTab, onSelection, incrementIndex, decrementIndex, listenerTargetElement]);
151
158
  return /*#__PURE__*/React.createElement("div", {
@@ -12,22 +12,26 @@ export var ArrowKeyNavigationProvider = function ArrowKeyNavigationProvider(prop
12
12
  restProps = _objectWithoutProperties(props, _excluded);
13
13
  if (type === ArrowKeyNavigationType.COLOR) {
14
14
  return /*#__PURE__*/React.createElement(ReactEditorViewContext.Consumer, null, function (_ref) {
15
- var editorView = _ref.editorView,
15
+ var popupsMountPoint = _ref.popupsMountPoint,
16
+ editorView = _ref.editorView,
16
17
  editorRef = _ref.editorRef;
17
18
  return editorRef && /*#__PURE__*/React.createElement(ColorPaletteArrowKeyNavigationProvider, _extends({
18
19
  selectedRowIndex: props.selectedRowIndex,
19
20
  selectedColumnIndex: props.selectedColumnIndex,
20
21
  isOpenedByKeyboard: props.isOpenedByKeyboard,
21
22
  isPopupPositioned: props.isPopupPositioned,
22
- editorRef: editorRef
23
+ editorRef: editorRef,
24
+ popupsMountPoint: popupsMountPoint
23
25
  }, restProps), children);
24
26
  });
25
27
  }
26
28
  return /*#__PURE__*/React.createElement(ReactEditorViewContext.Consumer, null, function (_ref2) {
27
- var editorView = _ref2.editorView,
29
+ var popupsMountPoint = _ref2.popupsMountPoint,
30
+ editorView = _ref2.editorView,
28
31
  editorRef = _ref2.editorRef;
29
32
  return editorRef && /*#__PURE__*/React.createElement(MenuArrowKeyNavigationProvider, _extends({
30
- editorRef: editorRef
33
+ editorRef: editorRef,
34
+ popupsMountPoint: popupsMountPoint
31
35
  }, restProps), children);
32
36
  });
33
37
  };
@@ -233,14 +233,21 @@ var DropdownMenuWrapper = /*#__PURE__*/function (_PureComponent) {
233
233
  }, {
234
234
  key: "componentDidUpdate",
235
235
  value: function componentDidUpdate(previousProps) {
236
- var isOpenToggled = this.props.isOpen !== previousProps.isOpen;
237
- if (this.props.isOpen && isOpenToggled) {
236
+ var _this$props3 = this.props,
237
+ mountTo = _this$props3.mountTo,
238
+ isOpen = _this$props3.isOpen;
239
+ var isOpenToggled = isOpen !== previousProps.isOpen;
240
+ if (isOpen && isOpenToggled) {
238
241
  if (typeof this.props.shouldFocusFirstItem === 'function' && this.props.shouldFocusFirstItem()) {
239
242
  var _this$state$target2;
240
243
  var keyboardEvent = new KeyboardEvent('keydown', {
241
244
  key: 'ArrowDown',
242
245
  bubbles: true
243
246
  });
247
+ if (mountTo && getBooleanFF('platform.editor.a11y-main-toolbar-navigation_osrty')) {
248
+ mountTo.dispatchEvent(keyboardEvent);
249
+ return;
250
+ }
244
251
  (_this$state$target2 = this.state.target) === null || _this$state$target2 === void 0 || _this$state$target2.dispatchEvent(keyboardEvent);
245
252
  }
246
253
  }
@@ -12,6 +12,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
12
12
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
13
13
  import React, { PureComponent, useEffect, useState } from 'react';
14
14
  import ReactDOM from 'react-dom';
15
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
15
16
  import ReactEditorViewContext from './ReactEditorViewContext';
16
17
 
17
18
  // This needs exporting to be used alongisde `withReactEditorViewOuterListeners`
@@ -70,7 +71,7 @@ var WithOutsideClick = /*#__PURE__*/function (_PureComponent) {
70
71
  if (this.props.handleEscapeKeydown) {
71
72
  var _this$props$editorRef;
72
73
  // Attached event to the menu so that 'ESC' events from the opened menu also will be handled.
73
- (((_this$props$editorRef = this.props.editorRef) === null || _this$props$editorRef === void 0 ? void 0 : _this$props$editorRef.current) || this.props.targetRef || document).addEventListener('keydown', this.handleKeydown, false);
74
+ (getBooleanFF('platform.editor.a11y-main-toolbar-navigation_osrty') && this.props.popupsMountPoint ? this.props.popupsMountPoint : undefined || ((_this$props$editorRef = this.props.editorRef) === null || _this$props$editorRef === void 0 ? void 0 : _this$props$editorRef.current) || this.props.targetRef || document).addEventListener('keydown', this.handleKeydown, false);
74
75
  }
75
76
  }
76
77
  }, {
@@ -81,7 +82,7 @@ var WithOutsideClick = /*#__PURE__*/function (_PureComponent) {
81
82
  }
82
83
  if (this.props.handleEscapeKeydown) {
83
84
  var _this$props$editorRef2;
84
- (((_this$props$editorRef2 = this.props.editorRef) === null || _this$props$editorRef2 === void 0 ? void 0 : _this$props$editorRef2.current) || this.props.targetRef || document).removeEventListener('keydown', this.handleKeydown, false);
85
+ (getBooleanFF('platform.editor.a11y-main-toolbar-navigation_osrty') && this.props.popupsMountPoint ? this.props.popupsMountPoint : undefined || ((_this$props$editorRef2 = this.props.editorRef) === null || _this$props$editorRef2 === void 0 ? void 0 : _this$props$editorRef2.current) || this.props.targetRef || document).removeEventListener('keydown', this.handleKeydown, false);
85
86
  }
86
87
  }
87
88
  }, {
@@ -114,11 +115,13 @@ export default function withReactEditorViewOuterListeners(Component) {
114
115
  }, [isActiveProp]);
115
116
  return /*#__PURE__*/React.createElement(ReactEditorViewContext.Consumer, null, function (_ref2) {
116
117
  var editorView = _ref2.editorView,
118
+ popupsMountPoint = _ref2.popupsMountPoint,
117
119
  editorRef = _ref2.editorRef;
118
120
  return /*#__PURE__*/React.createElement(WithOutsideClick, {
119
121
  editorView: editorView,
120
122
  editorRef: editorRef,
121
123
  targetRef: props.targetRef,
124
+ popupsMountPoint: popupsMountPoint,
122
125
  isActiveComponent: isActiveComponent,
123
126
  handleClickOutside: handleClickOutside,
124
127
  handleEnterKeydown: handleEnterKeydown,
@@ -285,6 +285,17 @@ export interface CollabSendableSelection {
285
285
  anchor?: number | string;
286
286
  head?: number | string;
287
287
  }
288
+ export type Activity = 'VIEWING' | 'EDITING';
289
+ export type CollabActivityData = {
290
+ activity: Activity;
291
+ userId?: string;
292
+ };
293
+ export type CollabActivityJoinPayload = CollabActivityData & {
294
+ type: 'activity:join';
295
+ };
296
+ export type CollabActivityAckPayload = CollabActivityData & {
297
+ type: 'activity:ack';
298
+ };
288
299
  export interface CollabEventTelepointerData {
289
300
  type: 'telepointer';
290
301
  selection: CollabSendableSelection;
@@ -334,6 +345,21 @@ export type UserPermitType = {
334
345
  };
335
346
  export type CollabPermissionEventPayload = UserPermitType;
336
347
  export interface CollabEvents {
348
+ /**
349
+ * Experimental Only: Teammate Presence (Confluence Land and Onboarding)
350
+ *
351
+ * This event is emitted when a new collaborator joins the session. The event carries information about
352
+ * the action the new collaborator is currently doing in the session, such as viewing or editing.
353
+ */
354
+ 'activity:join': CollabActivityJoinPayload;
355
+ /**
356
+ * Experimental Only: Teammate Presence (Confluence Land and Onboarding)
357
+ *
358
+ * This event is emitted by the existing collaborators in response to a new collaborator joining.
359
+ * It is used to inform the new collaborator about the current actions or states of the existing
360
+ * collaborators, such as viewing or editing.
361
+ */
362
+ 'activity:ack': CollabActivityAckPayload;
337
363
  'metadata:changed': Metadata;
338
364
  init: CollabInitPayload;
339
365
  connected: CollabConnectedPayload;
@@ -8,6 +8,7 @@ type ExtensionLabelProps = {
8
8
  customContainerStyles?: CSSProperties;
9
9
  setIsNodeHovered?: (isHovered: boolean) => void;
10
10
  isBodiedMacro?: boolean;
11
+ showMacroButtonUpdates?: boolean;
11
12
  };
12
- export declare const ExtensionLabel: ({ text, extensionName, isNodeHovered, customContainerStyles, isNodeNested, setIsNodeHovered, isBodiedMacro, }: ExtensionLabelProps) => jsx.JSX.Element;
13
+ export declare const ExtensionLabel: ({ text, extensionName, isNodeHovered, customContainerStyles, isNodeNested, setIsNodeHovered, isBodiedMacro, showMacroButtonUpdates, }: ExtensionLabelProps) => jsx.JSX.Element;
13
14
  export {};
@@ -11,11 +11,12 @@ type LozengeComponentProps = {
11
11
  renderImage: (lozengeData: LozengeData) => void;
12
12
  isNodeSelected?: boolean;
13
13
  showMacroInteractionDesignUpdates?: boolean;
14
+ showMacroButtonUpdates?: boolean;
14
15
  customContainerStyles?: CSSProperties;
15
16
  isNodeHovered?: boolean;
16
17
  isNodeNested?: boolean;
17
18
  setIsNodeHovered?: (isHovered: boolean) => void;
18
19
  isBodiedMacro?: boolean;
19
20
  };
20
- export declare const LozengeComponent: ({ lozengeData, extensionName, title, params, renderImage, showMacroInteractionDesignUpdates, customContainerStyles, isNodeHovered, isNodeNested, setIsNodeHovered, isBodiedMacro, }: LozengeComponentProps) => jsx.JSX.Element;
21
+ export declare const LozengeComponent: ({ lozengeData, extensionName, title, params, renderImage, showMacroInteractionDesignUpdates, showMacroButtonUpdates, customContainerStyles, isNodeHovered, isNodeNested, setIsNodeHovered, isBodiedMacro, }: LozengeComponentProps) => jsx.JSX.Element;
21
22
  export {};
@@ -6,6 +6,7 @@ import type { Node as PmNode } from '@atlaskit/editor-prosemirror/model';
6
6
  export interface Props {
7
7
  node: PmNode;
8
8
  showMacroInteractionDesignUpdates?: boolean;
9
+ showMacroButtonUpdates?: boolean;
9
10
  isNodeSelected?: boolean;
10
11
  isNodeHovered?: boolean;
11
12
  isNodeNested?: boolean;
@@ -4,4 +4,4 @@ import type { ColorPaletteArrowKeyNavigationProps } from '../types';
4
4
  * This component is a wrapper for color picker which listens to keydown events of children
5
5
  * and handles arrow key navigation
6
6
  */
7
- export declare const ColorPaletteArrowKeyNavigationProvider: ({ children, selectedRowIndex, selectedColumnIndex, isOpenedByKeyboard, isPopupPositioned, handleClose, closeOnTab, editorRef, ignoreEscapeKey, }: React.PropsWithChildren<Omit<ColorPaletteArrowKeyNavigationProps, 'type'>>) => JSX.Element;
7
+ export declare const ColorPaletteArrowKeyNavigationProvider: ({ children, selectedRowIndex, selectedColumnIndex, isOpenedByKeyboard, isPopupPositioned, handleClose, closeOnTab, editorRef, ignoreEscapeKey, popupsMountPoint, }: React.PropsWithChildren<Omit<ColorPaletteArrowKeyNavigationProps, 'type'>>) => JSX.Element;
@@ -4,4 +4,4 @@ import type { MenuArrowKeyNavigationProviderProps } from '../types';
4
4
  * This component is a wrapper of vertical menus which listens to keydown events of children
5
5
  * and handles up/down arrow key navigation
6
6
  */
7
- export declare const MenuArrowKeyNavigationProvider: ({ children, handleClose, disableArrowKeyNavigation, keyDownHandlerContext, closeOnTab, onSelection, editorRef, }: React.PropsWithChildren<Omit<MenuArrowKeyNavigationProviderProps, 'type'>>) => JSX.Element;
7
+ export declare const MenuArrowKeyNavigationProvider: ({ children, handleClose, disableArrowKeyNavigation, keyDownHandlerContext, closeOnTab, onSelection, editorRef, popupsMountPoint, }: React.PropsWithChildren<Omit<MenuArrowKeyNavigationProviderProps, 'type'>>) => JSX.Element;
@@ -22,6 +22,7 @@ export type ColorPaletteArrowKeyNavigationProps = ColorPaletteArrowKeyNavigation
22
22
  closeOnTab?: boolean;
23
23
  editorRef: React.RefObject<HTMLDivElement>;
24
24
  ignoreEscapeKey?: boolean | false;
25
+ popupsMountPoint?: HTMLElement | undefined;
25
26
  };
26
27
  export type MenuArrowKeyNavigationOptions = {
27
28
  type: ArrowKeyNavigationType.MENU;
@@ -34,6 +35,7 @@ export type MenuArrowKeyNavigationProviderProps = MenuArrowKeyNavigationOptions
34
35
  onSelection?: (index: number) => void;
35
36
  closeOnTab?: boolean;
36
37
  editorRef: React.RefObject<HTMLDivElement>;
38
+ popupsMountPoint?: HTMLElement | undefined;
37
39
  };
38
40
  export type ArrowKeyNavigationProviderOptions = ColorPaletteArrowKeyNavigationOptions | MenuArrowKeyNavigationOptions;
39
41
  export type ArrowKeyNavigationProviderProps = Omit<ColorPaletteArrowKeyNavigationProps, 'editorRef'> | Omit<MenuArrowKeyNavigationProviderProps, 'editorRef'>;
@@ -3,6 +3,7 @@ import { type EditorView } from '@atlaskit/editor-prosemirror/view';
3
3
  type ReactEditorViewContextProps = {
4
4
  editorView?: EditorView;
5
5
  editorRef?: React.RefObject<HTMLDivElement>;
6
+ popupsMountPoint?: HTMLElement | undefined;
6
7
  };
7
8
  declare const ReactEditorViewContext: React.Context<ReactEditorViewContextProps>;
8
9
  export default ReactEditorViewContext;
@@ -285,6 +285,17 @@ export interface CollabSendableSelection {
285
285
  anchor?: number | string;
286
286
  head?: number | string;
287
287
  }
288
+ export type Activity = 'VIEWING' | 'EDITING';
289
+ export type CollabActivityData = {
290
+ activity: Activity;
291
+ userId?: string;
292
+ };
293
+ export type CollabActivityJoinPayload = CollabActivityData & {
294
+ type: 'activity:join';
295
+ };
296
+ export type CollabActivityAckPayload = CollabActivityData & {
297
+ type: 'activity:ack';
298
+ };
288
299
  export interface CollabEventTelepointerData {
289
300
  type: 'telepointer';
290
301
  selection: CollabSendableSelection;
@@ -334,6 +345,21 @@ export type UserPermitType = {
334
345
  };
335
346
  export type CollabPermissionEventPayload = UserPermitType;
336
347
  export interface CollabEvents {
348
+ /**
349
+ * Experimental Only: Teammate Presence (Confluence Land and Onboarding)
350
+ *
351
+ * This event is emitted when a new collaborator joins the session. The event carries information about
352
+ * the action the new collaborator is currently doing in the session, such as viewing or editing.
353
+ */
354
+ 'activity:join': CollabActivityJoinPayload;
355
+ /**
356
+ * Experimental Only: Teammate Presence (Confluence Land and Onboarding)
357
+ *
358
+ * This event is emitted by the existing collaborators in response to a new collaborator joining.
359
+ * It is used to inform the new collaborator about the current actions or states of the existing
360
+ * collaborators, such as viewing or editing.
361
+ */
362
+ 'activity:ack': CollabActivityAckPayload;
337
363
  'metadata:changed': Metadata;
338
364
  init: CollabInitPayload;
339
365
  connected: CollabConnectedPayload;
@@ -8,6 +8,7 @@ type ExtensionLabelProps = {
8
8
  customContainerStyles?: CSSProperties;
9
9
  setIsNodeHovered?: (isHovered: boolean) => void;
10
10
  isBodiedMacro?: boolean;
11
+ showMacroButtonUpdates?: boolean;
11
12
  };
12
- export declare const ExtensionLabel: ({ text, extensionName, isNodeHovered, customContainerStyles, isNodeNested, setIsNodeHovered, isBodiedMacro, }: ExtensionLabelProps) => jsx.JSX.Element;
13
+ export declare const ExtensionLabel: ({ text, extensionName, isNodeHovered, customContainerStyles, isNodeNested, setIsNodeHovered, isBodiedMacro, showMacroButtonUpdates, }: ExtensionLabelProps) => jsx.JSX.Element;
13
14
  export {};
@@ -11,11 +11,12 @@ type LozengeComponentProps = {
11
11
  renderImage: (lozengeData: LozengeData) => void;
12
12
  isNodeSelected?: boolean;
13
13
  showMacroInteractionDesignUpdates?: boolean;
14
+ showMacroButtonUpdates?: boolean;
14
15
  customContainerStyles?: CSSProperties;
15
16
  isNodeHovered?: boolean;
16
17
  isNodeNested?: boolean;
17
18
  setIsNodeHovered?: (isHovered: boolean) => void;
18
19
  isBodiedMacro?: boolean;
19
20
  };
20
- export declare const LozengeComponent: ({ lozengeData, extensionName, title, params, renderImage, showMacroInteractionDesignUpdates, customContainerStyles, isNodeHovered, isNodeNested, setIsNodeHovered, isBodiedMacro, }: LozengeComponentProps) => jsx.JSX.Element;
21
+ export declare const LozengeComponent: ({ lozengeData, extensionName, title, params, renderImage, showMacroInteractionDesignUpdates, showMacroButtonUpdates, customContainerStyles, isNodeHovered, isNodeNested, setIsNodeHovered, isBodiedMacro, }: LozengeComponentProps) => jsx.JSX.Element;
21
22
  export {};
@@ -6,6 +6,7 @@ import type { Node as PmNode } from '@atlaskit/editor-prosemirror/model';
6
6
  export interface Props {
7
7
  node: PmNode;
8
8
  showMacroInteractionDesignUpdates?: boolean;
9
+ showMacroButtonUpdates?: boolean;
9
10
  isNodeSelected?: boolean;
10
11
  isNodeHovered?: boolean;
11
12
  isNodeNested?: boolean;
@@ -4,4 +4,4 @@ import type { ColorPaletteArrowKeyNavigationProps } from '../types';
4
4
  * This component is a wrapper for color picker which listens to keydown events of children
5
5
  * and handles arrow key navigation
6
6
  */
7
- export declare const ColorPaletteArrowKeyNavigationProvider: ({ children, selectedRowIndex, selectedColumnIndex, isOpenedByKeyboard, isPopupPositioned, handleClose, closeOnTab, editorRef, ignoreEscapeKey, }: React.PropsWithChildren<Omit<ColorPaletteArrowKeyNavigationProps, 'type'>>) => JSX.Element;
7
+ export declare const ColorPaletteArrowKeyNavigationProvider: ({ children, selectedRowIndex, selectedColumnIndex, isOpenedByKeyboard, isPopupPositioned, handleClose, closeOnTab, editorRef, ignoreEscapeKey, popupsMountPoint, }: React.PropsWithChildren<Omit<ColorPaletteArrowKeyNavigationProps, 'type'>>) => JSX.Element;
@@ -4,4 +4,4 @@ import type { MenuArrowKeyNavigationProviderProps } from '../types';
4
4
  * This component is a wrapper of vertical menus which listens to keydown events of children
5
5
  * and handles up/down arrow key navigation
6
6
  */
7
- export declare const MenuArrowKeyNavigationProvider: ({ children, handleClose, disableArrowKeyNavigation, keyDownHandlerContext, closeOnTab, onSelection, editorRef, }: React.PropsWithChildren<Omit<MenuArrowKeyNavigationProviderProps, 'type'>>) => JSX.Element;
7
+ export declare const MenuArrowKeyNavigationProvider: ({ children, handleClose, disableArrowKeyNavigation, keyDownHandlerContext, closeOnTab, onSelection, editorRef, popupsMountPoint, }: React.PropsWithChildren<Omit<MenuArrowKeyNavigationProviderProps, 'type'>>) => JSX.Element;
@@ -22,6 +22,7 @@ export type ColorPaletteArrowKeyNavigationProps = ColorPaletteArrowKeyNavigation
22
22
  closeOnTab?: boolean;
23
23
  editorRef: React.RefObject<HTMLDivElement>;
24
24
  ignoreEscapeKey?: boolean | false;
25
+ popupsMountPoint?: HTMLElement | undefined;
25
26
  };
26
27
  export type MenuArrowKeyNavigationOptions = {
27
28
  type: ArrowKeyNavigationType.MENU;
@@ -34,6 +35,7 @@ export type MenuArrowKeyNavigationProviderProps = MenuArrowKeyNavigationOptions
34
35
  onSelection?: (index: number) => void;
35
36
  closeOnTab?: boolean;
36
37
  editorRef: React.RefObject<HTMLDivElement>;
38
+ popupsMountPoint?: HTMLElement | undefined;
37
39
  };
38
40
  export type ArrowKeyNavigationProviderOptions = ColorPaletteArrowKeyNavigationOptions | MenuArrowKeyNavigationOptions;
39
41
  export type ArrowKeyNavigationProviderProps = Omit<ColorPaletteArrowKeyNavigationProps, 'editorRef'> | Omit<MenuArrowKeyNavigationProviderProps, 'editorRef'>;
@@ -3,6 +3,7 @@ import { type EditorView } from '@atlaskit/editor-prosemirror/view';
3
3
  type ReactEditorViewContextProps = {
4
4
  editorView?: EditorView;
5
5
  editorRef?: React.RefObject<HTMLDivElement>;
6
+ popupsMountPoint?: HTMLElement | undefined;
6
7
  };
7
8
  declare const ReactEditorViewContext: React.Context<ReactEditorViewContextProps>;
8
9
  export default ReactEditorViewContext;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "83.0.4",
3
+ "version": "83.2.0",
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/"
@@ -265,6 +265,9 @@
265
265
  },
266
266
  "platform.editor.a11y-table-context-menu_y4c9c": {
267
267
  "type": "boolean"
268
+ },
269
+ "platform.editor.a11y-main-toolbar-navigation_osrty": {
270
+ "type": "boolean"
268
271
  }
269
272
  }
270
273
  }