@atlaskit/editor-common 84.5.1 → 85.1.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 (84) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/dist/cjs/analytics/types/enums.js +2 -0
  3. package/dist/cjs/extensibility/extensionNodeView.js +1 -2
  4. package/dist/cjs/keymaps/index.js +3 -2
  5. package/dist/cjs/keymaps/keymap.js +25 -43
  6. package/dist/cjs/link/ConfigureLinkOverlay/Dropdown.js +34 -9
  7. package/dist/cjs/link/ConfigureLinkOverlay/index.js +15 -5
  8. package/dist/cjs/link/ConfigureLinkOverlay/useLinkOverlayAnalyticsEvents.js +46 -0
  9. package/dist/cjs/monitoring/error.js +1 -1
  10. package/dist/cjs/react-node-view/getInlineNodeViewProducer.js +2 -4
  11. package/dist/cjs/react-node-view/index.js +4 -10
  12. package/dist/cjs/selection-based-node-view/SelectionBasedNodeView.js +2 -5
  13. package/dist/cjs/ui/DropList/index.js +1 -1
  14. package/dist/cjs/ui-color/ColorPalette/Color/index.js +11 -0
  15. package/dist/cjs/ui-color/ColorPalette/index.js +2 -0
  16. package/dist/cjs/ui-menu/ArrowKeyNavigationProvider/MenuArrowKeyNavigationProvider/index.js +18 -5
  17. package/dist/cjs/ui-menu/DropdownMenu/index.js +33 -11
  18. package/dist/es2019/analytics/types/enums.js +2 -0
  19. package/dist/es2019/extensibility/extensionNodeView.js +1 -2
  20. package/dist/es2019/keymaps/index.js +1 -0
  21. package/dist/es2019/keymaps/keymap.js +25 -43
  22. package/dist/es2019/link/ConfigureLinkOverlay/Dropdown.js +33 -7
  23. package/dist/es2019/link/ConfigureLinkOverlay/index.js +16 -5
  24. package/dist/es2019/link/ConfigureLinkOverlay/useLinkOverlayAnalyticsEvents.js +39 -0
  25. package/dist/es2019/monitoring/error.js +1 -1
  26. package/dist/es2019/react-node-view/getInlineNodeViewProducer.js +2 -4
  27. package/dist/es2019/react-node-view/index.js +5 -7
  28. package/dist/es2019/selection-based-node-view/SelectionBasedNodeView.js +3 -2
  29. package/dist/es2019/ui/DropList/index.js +1 -1
  30. package/dist/es2019/ui-color/ColorPalette/Color/index.js +13 -0
  31. package/dist/es2019/ui-color/ColorPalette/index.js +2 -0
  32. package/dist/es2019/ui-menu/ArrowKeyNavigationProvider/MenuArrowKeyNavigationProvider/index.js +19 -6
  33. package/dist/es2019/ui-menu/DropdownMenu/index.js +34 -12
  34. package/dist/esm/analytics/types/enums.js +2 -0
  35. package/dist/esm/extensibility/extensionNodeView.js +1 -2
  36. package/dist/esm/keymaps/index.js +1 -0
  37. package/dist/esm/keymaps/keymap.js +25 -43
  38. package/dist/esm/link/ConfigureLinkOverlay/Dropdown.js +34 -9
  39. package/dist/esm/link/ConfigureLinkOverlay/index.js +15 -5
  40. package/dist/esm/link/ConfigureLinkOverlay/useLinkOverlayAnalyticsEvents.js +40 -0
  41. package/dist/esm/monitoring/error.js +1 -1
  42. package/dist/esm/react-node-view/getInlineNodeViewProducer.js +2 -4
  43. package/dist/esm/react-node-view/index.js +4 -10
  44. package/dist/esm/selection-based-node-view/SelectionBasedNodeView.js +3 -5
  45. package/dist/esm/ui/DropList/index.js +1 -1
  46. package/dist/esm/ui-color/ColorPalette/Color/index.js +11 -0
  47. package/dist/esm/ui-color/ColorPalette/index.js +2 -0
  48. package/dist/esm/ui-menu/ArrowKeyNavigationProvider/MenuArrowKeyNavigationProvider/index.js +19 -6
  49. package/dist/esm/ui-menu/DropdownMenu/index.js +34 -12
  50. package/dist/types/analytics/types/enums.d.ts +3 -1
  51. package/dist/types/extensibility/extensionNodeView.d.ts +1 -2
  52. package/dist/types/keymaps/index.d.ts +1 -0
  53. package/dist/types/link/ConfigureLinkOverlay/Dropdown.d.ts +5 -4
  54. package/dist/types/link/ConfigureLinkOverlay/index.d.ts +2 -2
  55. package/dist/types/link/ConfigureLinkOverlay/useLinkOverlayAnalyticsEvents.d.ts +5 -0
  56. package/dist/types/react-node-view/index.d.ts +2 -5
  57. package/dist/types/selection-based-node-view/SelectionBasedNodeView.d.ts +1 -2
  58. package/dist/types/types/plugin-factory.d.ts +1 -2
  59. package/dist/types/ui-color/ColorPalette/Color/index.d.ts +2 -1
  60. package/dist/types/ui-color/ColorPalette/index.d.ts +1 -0
  61. package/dist/types/ui-menu/ArrowKeyNavigationProvider/MenuArrowKeyNavigationProvider/index.d.ts +1 -1
  62. package/dist/types/ui-menu/ArrowKeyNavigationProvider/types.d.ts +1 -0
  63. package/dist/types/ui-menu/DropdownMenu/types.d.ts +4 -1
  64. package/dist/types-ts4.5/analytics/types/enums.d.ts +3 -1
  65. package/dist/types-ts4.5/extensibility/extensionNodeView.d.ts +1 -2
  66. package/dist/types-ts4.5/keymaps/index.d.ts +1 -0
  67. package/dist/types-ts4.5/link/ConfigureLinkOverlay/Dropdown.d.ts +5 -4
  68. package/dist/types-ts4.5/link/ConfigureLinkOverlay/index.d.ts +2 -2
  69. package/dist/types-ts4.5/link/ConfigureLinkOverlay/useLinkOverlayAnalyticsEvents.d.ts +5 -0
  70. package/dist/types-ts4.5/react-node-view/index.d.ts +2 -5
  71. package/dist/types-ts4.5/selection-based-node-view/SelectionBasedNodeView.d.ts +1 -2
  72. package/dist/types-ts4.5/types/plugin-factory.d.ts +1 -2
  73. package/dist/types-ts4.5/ui-color/ColorPalette/Color/index.d.ts +2 -1
  74. package/dist/types-ts4.5/ui-color/ColorPalette/index.d.ts +1 -0
  75. package/dist/types-ts4.5/ui-menu/ArrowKeyNavigationProvider/MenuArrowKeyNavigationProvider/index.d.ts +1 -1
  76. package/dist/types-ts4.5/ui-menu/ArrowKeyNavigationProvider/types.d.ts +1 -0
  77. package/dist/types-ts4.5/ui-menu/DropdownMenu/types.d.ts +4 -1
  78. package/package.json +4 -6
  79. package/dist/cjs/ui/PortalProvider/index.js +0 -235
  80. package/dist/es2019/ui/PortalProvider/index.js +0 -171
  81. package/dist/esm/ui/PortalProvider/index.js +0 -229
  82. package/dist/types/ui/PortalProvider/index.d.ts +0 -48
  83. package/dist/types-ts4.5/ui/PortalProvider/index.d.ts +0 -48
  84. package/portal-provider/package.json +0 -15
package/CHANGELOG.md CHANGED
@@ -1,5 +1,43 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 85.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#119419](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/119419)
8
+ [`a8b716b766200`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/a8b716b766200) -
9
+ [ux] Add keymap for showing drag handle on selected element"
10
+
11
+ ### Patch Changes
12
+
13
+ - [#120417](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/120417)
14
+ [`26e76bb38b63f`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/26e76bb38b63f) -
15
+ [ux] ECA11Y-175: This changes improves the floating toolbar a11y by making the image border
16
+ options menu accessible for keyboard-only users, and is behind the feature gate
17
+ `platform-editor-a11y-image-border-options-dropdown`.
18
+
19
+ ## 85.0.0
20
+
21
+ ### Major Changes
22
+
23
+ - [#119966](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/119966)
24
+ [`596ad24e38929`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/596ad24e38929) -
25
+ Clean up typescript references to LegacyPortalProviderAPI
26
+
27
+ ### Minor Changes
28
+
29
+ - [#120060](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/120060)
30
+ [`932c75860b5c2`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/932c75860b5c2) -
31
+ Add card plugin analytics for live pages
32
+
33
+ ### Patch Changes
34
+
35
+ - [#119412](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/119412)
36
+ [`a714be7c47d68`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/a714be7c47d68) -
37
+ [ux] [ED-23047] Remove FF platform.editor.text-alignment-keyboard-shortcuts and make feature
38
+ flagged functionality default
39
+ - Updated dependencies
40
+
3
41
  ## 84.5.1
4
42
 
5
43
  ### Patch Changes
@@ -241,6 +241,7 @@ var ACTION_SUBJECT = exports.ACTION_SUBJECT = /*#__PURE__*/function (ACTION_SUBJ
241
241
  ACTION_SUBJECT["DRAG"] = "drag";
242
242
  ACTION_SUBJECT["ELEMENT"] = "element";
243
243
  ACTION_SUBJECT["CONTEXT_MENU"] = "contextMenu";
244
+ ACTION_SUBJECT["INLINE_DIALOG"] = "inlineDialog";
244
245
  return ACTION_SUBJECT;
245
246
  }({});
246
247
  var ACTION_SUBJECT_ID = exports.ACTION_SUBJECT_ID = /*#__PURE__*/function (ACTION_SUBJECT_ID) {
@@ -355,6 +356,7 @@ var ACTION_SUBJECT_ID = exports.ACTION_SUBJECT_ID = /*#__PURE__*/function (ACTIO
355
356
  ACTION_SUBJECT_ID["SAVE"] = "save";
356
357
  ACTION_SUBJECT_ID["SECTION"] = "section";
357
358
  ACTION_SUBJECT_ID["SMART_LINK"] = "smartLink";
359
+ ACTION_SUBJECT_ID["SMART_LINK_TOOLBAR"] = "smartLinkToolbar";
358
360
  ACTION_SUBJECT_ID["STATUS"] = "status";
359
361
  ACTION_SUBJECT_ID["SYMBOL"] = "symbol";
360
362
  ACTION_SUBJECT_ID["TABLE"] = "table";
@@ -82,13 +82,12 @@ var ExtensionNode = exports.ExtensionNode = /*#__PURE__*/function (_ReactNodeVie
82
82
  }(_reactNodeView.default);
83
83
  function ExtensionNodeView(portalProviderAPI, eventDispatcher, providerFactory, extensionHandlers, extensionNodeViewOptions, pluginInjectionApi, macroInteractionDesignFeatureFlags) {
84
84
  return function (node, view, getPos) {
85
- var hasIntlContext = true;
86
85
  return new ExtensionNode(node, view, getPos, portalProviderAPI, eventDispatcher, {
87
86
  providerFactory: providerFactory,
88
87
  extensionHandlers: extensionHandlers,
89
88
  extensionNodeViewOptions: extensionNodeViewOptions,
90
89
  pluginInjectionApi: pluginInjectionApi,
91
90
  macroInteractionDesignFeatureFlags: macroInteractionDesignFeatureFlags
92
- }, undefined, undefined, undefined, hasIntlContext).init();
91
+ }).init();
93
92
  };
94
93
  }
@@ -100,8 +100,8 @@ Object.defineProperty(exports, "keymap", {
100
100
  exports.makeKeyMapArrayWithCommon = makeKeyMapArrayWithCommon;
101
101
  exports.makeKeyMapWithCommon = makeKeyMapWithCommon;
102
102
  exports.makeKeymap = makeKeymap;
103
- exports.toggleBulletList = exports.toggleBold = exports.toggleBlockQuote = exports.tab = exports.submit = exports.startColumnResizing = exports.splitListItem = exports.splitCodeBlock = exports.space = exports.shiftTab = exports.shiftEnter = exports.shiftBackspace = exports.shiftArrowUp = exports.setNormalText = exports.selectTable = exports.selectRow = exports.selectColumn = exports.redo = exports.previousCell = exports.pastePlainText = exports.paste = exports.outdentList = exports.outdent = exports.openHelp = exports.nextCell = exports.navToFloatingToolbar = exports.navToEditorToolbar = exports.moveUp = exports.moveRowUp = exports.moveRowDown = exports.moveRight = exports.moveLeft = exports.moveDown = exports.moveColumnRight = exports.moveColumnLeft = void 0;
104
- exports.toggleUnderline = exports.toggleTaskItemCheckbox = exports.toggleTable = exports.toggleSuperscript = exports.toggleSubscript = exports.toggleStrikethrough = exports.toggleOrderedList = exports.toggleItalic = exports.toggleHighlightPalette = exports.toggleHeading6 = exports.toggleHeading5 = exports.toggleHeading4 = exports.toggleHeading3 = exports.toggleHeading2 = exports.toggleHeading1 = exports.toggleCode = void 0;
103
+ exports.toggleBold = exports.toggleBlockQuote = exports.tab = exports.submit = exports.startColumnResizing = exports.splitListItem = exports.splitCodeBlock = exports.space = exports.showElementDragHandle = exports.shiftTab = exports.shiftEnter = exports.shiftBackspace = exports.shiftArrowUp = exports.setNormalText = exports.selectTable = exports.selectRow = exports.selectColumn = exports.redo = exports.previousCell = exports.pastePlainText = exports.paste = exports.outdentList = exports.outdent = exports.openHelp = exports.nextCell = exports.navToFloatingToolbar = exports.navToEditorToolbar = exports.moveUp = exports.moveRowUp = exports.moveRowDown = exports.moveRight = exports.moveLeft = exports.moveDown = exports.moveColumnRight = exports.moveColumnLeft = void 0;
104
+ exports.toggleUnderline = exports.toggleTaskItemCheckbox = exports.toggleTable = exports.toggleSuperscript = exports.toggleSubscript = exports.toggleStrikethrough = exports.toggleOrderedList = exports.toggleItalic = exports.toggleHighlightPalette = exports.toggleHeading6 = exports.toggleHeading5 = exports.toggleHeading4 = exports.toggleHeading3 = exports.toggleHeading2 = exports.toggleHeading1 = exports.toggleCode = exports.toggleBulletList = void 0;
105
105
  exports.tooltip = tooltip;
106
106
  exports.undo = void 0;
107
107
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
@@ -210,6 +210,7 @@ var toggleHighlightPalette = exports.toggleHighlightPalette = makeKeyMapWithComm
210
210
  var focusToContextMenuTrigger = exports.focusToContextMenuTrigger = makeKeyMapWithCommon('Focus table context menu trigger', 'Shift-F10');
211
211
  var dragToMoveUp = exports.dragToMoveUp = makeKeyMapWithCommon('Move node up in the document', 'Ctrl-Alt-Shift-ArrowUp');
212
212
  var dragToMoveDown = exports.dragToMoveDown = makeKeyMapWithCommon('Move node down in the document', 'Ctrl-Alt-Shift-ArrowDown');
213
+ var showElementDragHandle = exports.showElementDragHandle = makeKeyMapWithCommon('Show drag handle for editor element', 'Ctrl-Alt-Shift-a');
213
214
  var arrowKeysMap = {
214
215
  // for reference: https://wincent.com/wiki/Unicode_representations_of_modifier_keys
215
216
  ARROWLEFT: "\u2190",
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.keymap = keymap;
7
7
  var _w3cKeyname = require("w3c-keyname");
8
8
  var _keymap = require("@atlaskit/editor-prosemirror/keymap");
9
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
10
9
  var _safePlugin = require("../safe-plugin");
11
10
  /**
12
11
  * A workaround for mostly Cyrillic but should have a positive affect
@@ -19,52 +18,35 @@ function keymap(bindings) {
19
18
  return new _safePlugin.SafePlugin({
20
19
  props: {
21
20
  handleKeyDown: function handleKeyDown(view, event) {
22
- if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.text-alignment-keyboard-shortcuts')) {
23
- var name = (0, _w3cKeyname.keyName)(event);
24
- var keyboardEvent = event;
21
+ var name = (0, _w3cKeyname.keyName)(event);
22
+ var keyboardEvent = event;
25
23
 
26
- // We will try to bypass the keycode only if any of mod keys are pressed,
27
- // to allow users to use non-latin and Dead characters.
28
- var isModKeyPressed = event.ctrlKey || event.metaKey;
24
+ // We will try to bypass the keycode only if any of mod keys are pressed,
25
+ // to allow users to use non-latin and Dead characters.
26
+ var isModKeyPressed = event.ctrlKey || event.metaKey;
29
27
 
30
- // Check the unicode of the character to assert that it's not an ASCII character.
31
- // These are characters outside latin's range.
32
- var isNonLatinKey = name.length === 1 && /[^\u0000-\u007f]/.test(name);
28
+ // Check the unicode of the character to assert that it's not an ASCII character.
29
+ // These are characters outside latin's range.
30
+ var isNonLatinKey = name.length === 1 && /[^\u0000-\u007f]/.test(name);
33
31
 
34
- // The `Dead` key is a key that combines with a following key to produce a combined character.
35
- // It will have `even.key === 'Dead'` in some browsers but the `keyCode` will be the same as in a qwerty-keyboard.
36
- // See https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key and https://en.wikipedia.org/wiki/Dead_key
37
- var isDeadKey = name === 'Dead';
38
- if (isModKeyPressed && (isNonLatinKey || isDeadKey)) {
39
- keyboardEvent = new KeyboardEvent(event.type, {
40
- // FIXME: The event.keyCode is deprecated (see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode),
41
- // and could be removed in any time, but the w3c-keyname library doesn't provide a way to get
42
- // a key by event.code.
43
- key: _w3cKeyname.base[event.keyCode],
44
- code: event.code,
45
- ctrlKey: event.ctrlKey,
46
- altKey: event.altKey,
47
- metaKey: event.metaKey,
48
- shiftKey: event.shiftKey
49
- });
50
- }
51
- return (0, _keymap.keydownHandler)(bindings)(view, keyboardEvent);
52
- } else {
53
- var _name = (0, _w3cKeyname.keyName)(event);
54
- var _keyboardEvent = event;
55
- if (event.ctrlKey && _name.length === 1 &&
56
- // Check the unicode of the character to
57
- // assert that its not an ASCII character.
58
- // These are characters outside Latin's range.
59
- /[^\u0000-\u007f]/.test(_name)) {
60
- _keyboardEvent = new KeyboardEvent('keydown', {
61
- key: _w3cKeyname.base[event.keyCode],
62
- code: event.code,
63
- ctrlKey: true
64
- });
65
- }
66
- return (0, _keymap.keydownHandler)(bindings)(view, _keyboardEvent);
32
+ // The `Dead` key is a key that combines with a following key to produce a combined character.
33
+ // It will have `even.key === 'Dead'` in some browsers but the `keyCode` will be the same as in a qwerty-keyboard.
34
+ // See https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key and https://en.wikipedia.org/wiki/Dead_key
35
+ var isDeadKey = name === 'Dead';
36
+ if (isModKeyPressed && (isNonLatinKey || isDeadKey)) {
37
+ keyboardEvent = new KeyboardEvent(event.type, {
38
+ // FIXME: The event.keyCode is deprecated (see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode),
39
+ // and could be removed in any time, but the w3c-keyname library doesn't provide a way to get
40
+ // a key by event.code.
41
+ key: _w3cKeyname.base[event.keyCode],
42
+ code: event.code,
43
+ ctrlKey: event.ctrlKey,
44
+ altKey: event.altKey,
45
+ metaKey: event.metaKey,
46
+ shiftKey: event.shiftKey
47
+ });
67
48
  }
49
+ return (0, _keymap.keydownHandler)(bindings)(view, keyboardEvent);
68
50
  }
69
51
  }
70
52
  });
@@ -11,31 +11,48 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
11
11
  var _react = require("react");
12
12
  var _react2 = require("@emotion/react");
13
13
  var _reactIntlNext = require("react-intl-next");
14
+ var _analyticsNext = require("@atlaskit/analytics-next");
14
15
  var _dropdownMenu = _interopRequireWildcard(require("@atlaskit/dropdown-menu"));
15
16
  var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/glyph/chevron-down"));
16
17
  var _preferences = _interopRequireDefault(require("@atlaskit/icon/glyph/preferences"));
17
18
  var _shortcut = _interopRequireDefault(require("@atlaskit/icon/glyph/shortcut"));
18
19
  var _messages = require("../../messages");
19
20
  var _StyledButton = require("./StyledButton");
20
- var _excluded = ["triggerRef"];
21
+ var _useLinkOverlayAnalyticsEvents = require("./useLinkOverlayAnalyticsEvents");
22
+ var _excluded = ["onClick", "triggerRef"];
21
23
  /** @jsx jsx */
22
24
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
23
25
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
24
26
  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 && Object.prototype.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; }
27
+ var SMALL_LINK_TOOLBAR_ANALYTICS_SOURCE = 'smallLinkToolbar';
25
28
  var Dropdown = function Dropdown(_ref) {
26
- var testId = _ref.testId,
27
- onDropdownChange = _ref.onDropdownChange;
29
+ var onDropdownChange = _ref.onDropdownChange,
30
+ testId = _ref.testId;
28
31
  var _useIntl = (0, _reactIntlNext.useIntl)(),
29
32
  formatMessage = _useIntl.formatMessage;
30
33
  var configureLinkLabel = formatMessage(_messages.cardMessages.inlineConfigureLink);
31
34
  var goToLinkLabel = formatMessage(_messages.cardMessages.inlineGoToLink);
35
+ var _useLinkOverlayAnalyt = (0, _useLinkOverlayAnalyticsEvents.useLinkOverlayAnalyticsEvents)(),
36
+ fireActionClickEvent = _useLinkOverlayAnalyt.fireActionClickEvent,
37
+ fireLinkClickEvent = _useLinkOverlayAnalyt.fireLinkClickEvent,
38
+ fireToolbarViewEvent = _useLinkOverlayAnalyt.fireToolbarViewEvent;
32
39
  var onOpenChange = (0, _react.useCallback)(function (_ref2) {
33
40
  var isOpen = _ref2.isOpen;
34
41
  onDropdownChange === null || onDropdownChange === void 0 || onDropdownChange(isOpen);
35
- }, [onDropdownChange]);
42
+ if (isOpen) {
43
+ fireToolbarViewEvent();
44
+ }
45
+ }, [fireToolbarViewEvent, onDropdownChange]);
46
+ var onGoToLinkClick = (0, _react.useCallback)(function () {
47
+ fireActionClickEvent('goToLink');
48
+ }, [fireActionClickEvent]);
49
+ var onConfigureClick = (0, _react.useCallback)(function () {
50
+ fireActionClickEvent('configureLink');
51
+ }, [fireActionClickEvent]);
36
52
  return (0, _react2.jsx)(_dropdownMenu.default, {
37
53
  trigger: function trigger(_ref3) {
38
- var triggerRef = _ref3.triggerRef,
54
+ var _onClick = _ref3.onClick,
55
+ triggerRef = _ref3.triggerRef,
39
56
  props = (0, _objectWithoutProperties2.default)(_ref3, _excluded);
40
57
  return (0, _react2.jsx)(_StyledButton.StyledButton, (0, _extends2.default)({
41
58
  innerRef: triggerRef
@@ -43,7 +60,11 @@ var Dropdown = function Dropdown(_ref) {
43
60
  iconBefore: (0, _react2.jsx)(_chevronDown.default, {
44
61
  label: configureLinkLabel,
45
62
  size: 'small'
46
- })
63
+ }),
64
+ onClick: function onClick(e) {
65
+ _onClick === null || _onClick === void 0 || _onClick(e);
66
+ fireLinkClickEvent();
67
+ }
47
68
  }));
48
69
  },
49
70
  testId: "".concat(testId, "-dropdown"),
@@ -52,12 +73,16 @@ var Dropdown = function Dropdown(_ref) {
52
73
  elemBefore: (0, _react2.jsx)(_shortcut.default, {
53
74
  label: goToLinkLabel,
54
75
  size: 'medium'
55
- })
76
+ }),
77
+ onClick: onGoToLinkClick
56
78
  }, goToLinkLabel), (0, _react2.jsx)(_dropdownMenu.DropdownItem, {
57
79
  elemBefore: (0, _react2.jsx)(_preferences.default, {
58
80
  label: configureLinkLabel,
59
81
  size: 'medium'
60
- })
82
+ }),
83
+ onClick: onConfigureClick
61
84
  }, configureLinkLabel)));
62
85
  };
63
- var _default = exports.default = Dropdown;
86
+ var _default = exports.default = (0, _analyticsNext.withAnalyticsContext)({
87
+ source: SMALL_LINK_TOOLBAR_ANALYTICS_SOURCE
88
+ })(Dropdown);
@@ -9,6 +9,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
9
9
  var _react = require("react");
10
10
  var _react2 = require("@emotion/react");
11
11
  var _reactIntlNext = require("react-intl-next");
12
+ var _analyticsNext = require("@atlaskit/analytics-next");
12
13
  var _state = require("@atlaskit/editor-prosemirror/state");
13
14
  var _preferences = _interopRequireDefault(require("@atlaskit/icon/glyph/preferences"));
14
15
  var _colors = require("@atlaskit/theme/colors");
@@ -17,6 +18,7 @@ var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
17
18
  var _messages = require("../../messages");
18
19
  var _Dropdown = _interopRequireDefault(require("./Dropdown"));
19
20
  var _StyledButton = require("./StyledButton");
21
+ var _useLinkOverlayAnalyticsEvents = require("./useLinkOverlayAnalyticsEvents");
20
22
  /** @jsx jsx */
21
23
 
22
24
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
@@ -31,7 +33,7 @@ var buttonWrapperStyles = (0, _react2.css)({
31
33
  borderRadius: "var(--ds-border-radius, 3px)"
32
34
  });
33
35
  var showDropdownThresholdPx = 50;
34
- var OverlayButton = exports.OverlayButton = function OverlayButton(_ref) {
36
+ var OverlayButton = exports.OverlayButton = (0, _analyticsNext.withAnalyticsContext)()(function (_ref) {
35
37
  var _docNode$nodeSize;
36
38
  var editorView = _ref.editorView,
37
39
  _ref$testId = _ref.testId,
@@ -46,6 +48,9 @@ var OverlayButton = exports.OverlayButton = function OverlayButton(_ref) {
46
48
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
47
49
  showDropdown = _useState2[0],
48
50
  setShowDropdown = _useState2[1];
51
+ var _useLinkOverlayAnalyt = (0, _useLinkOverlayAnalyticsEvents.useLinkOverlayAnalyticsEvents)(),
52
+ fireLinkClickEvent = _useLinkOverlayAnalyt.fireLinkClickEvent,
53
+ fireActionClickEvent = _useLinkOverlayAnalyt.fireActionClickEvent;
49
54
  (0, _react.useLayoutEffect)(function () {
50
55
  var _domNode;
51
56
  var domNode = editorView.nodeDOM(targetElementPos);
@@ -63,7 +68,7 @@ var OverlayButton = exports.OverlayButton = function OverlayButton(_ref) {
63
68
  var docNode = editorView.state.doc.nodeAt(targetElementPos);
64
69
  var nodeEnd = targetElementPos + ((_docNode$nodeSize = docNode === null || docNode === void 0 ? void 0 : docNode.nodeSize) !== null && _docNode$nodeSize !== void 0 ? _docNode$nodeSize : 0);
65
70
  var isText = docNode === null || docNode === void 0 ? void 0 : docNode.isText;
66
- var handleClick = (0, _react.useCallback)(function () {
71
+ var handleConfigureClick = (0, _react.useCallback)(function () {
67
72
  var tr = editorView.state.tr;
68
73
  if (isText) {
69
74
  tr.setSelection(_state.TextSelection.create(tr.doc, targetElementPos, Math.min(nodeEnd, tr.doc.nodeSize)));
@@ -71,7 +76,12 @@ var OverlayButton = exports.OverlayButton = function OverlayButton(_ref) {
71
76
  tr.setSelection(_state.NodeSelection.create(tr.doc, targetElementPos));
72
77
  }
73
78
  editorView.dispatch(tr);
74
- }, [isText, editorView, nodeEnd, targetElementPos]);
79
+ }, [editorView, isText, targetElementPos, nodeEnd]);
80
+ var handleConfigureClickWithAnalytics = (0, _react.useCallback)(function () {
81
+ fireLinkClickEvent();
82
+ fireActionClickEvent('configureLink');
83
+ handleConfigureClick();
84
+ }, [fireActionClickEvent, fireLinkClickEvent, handleConfigureClick]);
75
85
  var _editorView$state$sel = editorView.state.selection,
76
86
  from = _editorView$state$sel.from,
77
87
  to = _editorView$state$sel.to;
@@ -90,11 +100,11 @@ var OverlayButton = exports.OverlayButton = function OverlayButton(_ref) {
90
100
  hideTooltipOnClick: true,
91
101
  testId: "".concat(testId, "-tooltip")
92
102
  }, (0, _react2.jsx)(_StyledButton.StyledButton, {
93
- onClick: handleClick,
103
+ onClick: handleConfigureClickWithAnalytics,
94
104
  iconBefore: (0, _react2.jsx)(_preferences.default, {
95
105
  label: configureLinkLabel,
96
106
  size: "small",
97
107
  testId: "".concat(testId, "-configure-icon")
98
108
  })
99
109
  })));
100
- };
110
+ });
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.useLinkOverlayAnalyticsEvents = void 0;
7
+ var _react = require("react");
8
+ var _analyticsListeners = require("@atlaskit/analytics-listeners");
9
+ var _analyticsNext = require("@atlaskit/analytics-next");
10
+ var _analytics = require("../../analytics");
11
+ var useLinkOverlayAnalyticsEvents = exports.useLinkOverlayAnalyticsEvents = function useLinkOverlayAnalyticsEvents() {
12
+ var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
13
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
14
+ return (0, _react.useMemo)(function () {
15
+ return {
16
+ fireActionClickEvent: function fireActionClickEvent(linkAction) {
17
+ createAnalyticsEvent({
18
+ action: _analytics.ACTION.CLICKED,
19
+ actionSubject: _analytics.ACTION_SUBJECT.BUTTON,
20
+ eventType: _analytics.EVENT_TYPE.UI,
21
+ attributes: {
22
+ action: linkAction
23
+ }
24
+ }).fire(_analyticsListeners.FabricChannel.media);
25
+ },
26
+ fireLinkClickEvent: function fireLinkClickEvent() {
27
+ createAnalyticsEvent({
28
+ action: _analytics.ACTION.CLICKED,
29
+ actionSubject: _analytics.ACTION_SUBJECT.LINK,
30
+ eventType: _analytics.EVENT_TYPE.UI
31
+ }).fire(_analyticsListeners.FabricChannel.media);
32
+ },
33
+ fireToolbarViewEvent: function fireToolbarViewEvent() {
34
+ createAnalyticsEvent({
35
+ action: _analytics.ACTION.VIEWED,
36
+ actionSubject: _analytics.ACTION_SUBJECT.INLINE_DIALOG,
37
+ actionSubjectId: _analytics.ACTION_SUBJECT_ID.SMART_LINK_TOOLBAR,
38
+ eventType: _analytics.EVENT_TYPE.SCREEN,
39
+ attributes: {
40
+ linkType: 'smallLink'
41
+ }
42
+ }).fire(_analyticsListeners.FabricChannel.media);
43
+ }
44
+ };
45
+ }, [createAnalyticsEvent]);
46
+ };
@@ -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 && Object.prototype.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 = "84.5.1";
20
+ var packageVersion = "85.1.0";
21
21
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
22
22
  // Remove URL as it has UGC
23
23
  // TODO: Sanitise the URL instead of just removing it
@@ -65,9 +65,7 @@ function createNodeView(_ref) {
65
65
  nodeViewParams: nodeViewParams,
66
66
  Component: Component,
67
67
  extraComponentProps: extraComponentProps
68
- }), domRef, key, false,
69
- // node views should be rendered with intl context
70
- true);
68
+ }), domRef, key);
71
69
  }
72
70
  var _getPerformanceOption = (0, _utils.getPerformanceOptions)(nodeViewParams.view),
73
71
  samplingRate = _getPerformanceOption.samplingRate,
@@ -123,7 +121,7 @@ function createNodeView(_ref) {
123
121
  // When prosemirror destroys the node view, we need to clean up
124
122
  // what we have previously rendered using the editor portal
125
123
  // provider api.
126
- pmPluginFactoryParams.portalProviderAPI.remove(key, domRef);
124
+ pmPluginFactoryParams.portalProviderAPI.remove(key);
127
125
  // @ts-expect-error Expect an error as domRef is expected to be
128
126
  // of HTMLSpanElement type however once the node view has
129
127
  // been destroyed no other consumers should still be using it.
@@ -30,11 +30,8 @@ var _analytics2 = require("../utils/analytics");
30
30
  var _generateUniqueNodeKey = require("./generateUniqueNodeKey");
31
31
  var _getInlineNodeViewProducer = require("./getInlineNodeViewProducer");
32
32
  var ReactNodeView = exports.default = /*#__PURE__*/function () {
33
- function ReactNodeView(_node, view, getPos, portalProviderAPI, eventDispatcher, reactComponentProps, reactComponent) {
33
+ function ReactNodeView(_node, view, getPos, portalProviderAPI, eventDispatcher, reactComponentProps, reactComponent, viewShouldUpdate) {
34
34
  var _this = this;
35
- var hasAnalyticsContext = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : false;
36
- var viewShouldUpdate = arguments.length > 8 ? arguments[8] : undefined;
37
- var hasIntlContext = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : false;
38
35
  (0, _classCallCheck2.default)(this, ReactNodeView);
39
36
  (0, _defineProperty2.default)(this, "decorations", []);
40
37
  (0, _defineProperty2.default)(this, "handleRef", function (node) {
@@ -54,10 +51,8 @@ var ReactNodeView = exports.default = /*#__PURE__*/function () {
54
51
  this.portalProviderAPI = portalProviderAPI;
55
52
  this.reactComponentProps = reactComponentProps || {};
56
53
  this.reactComponent = reactComponent;
57
- this.hasAnalyticsContext = hasAnalyticsContext;
58
54
  this._viewShouldUpdate = viewShouldUpdate;
59
55
  this.eventDispatcher = eventDispatcher;
60
- this.hasIntlContext = hasIntlContext;
61
56
  this.key = (0, _generateUniqueNodeKey.generateUniqueNodeKey)();
62
57
  }
63
58
 
@@ -126,7 +121,7 @@ var ReactNodeView = exports.default = /*#__PURE__*/function () {
126
121
  dispatchAnalyticsEvent: _this3.dispatchAnalyticsEvent
127
122
  }, component());
128
123
  };
129
- this.portalProviderAPI.render(componentWithErrorBoundary, this.domRef, this.key, this.hasAnalyticsContext, this.hasIntlContext);
124
+ this.portalProviderAPI.render(componentWithErrorBoundary, this.domRef, this.key);
130
125
  }
131
126
  }, {
132
127
  key: "createDomRef",
@@ -223,16 +218,15 @@ var ReactNodeView = exports.default = /*#__PURE__*/function () {
223
218
  if (!this.domRef) {
224
219
  return;
225
220
  }
226
- this.portalProviderAPI.remove(this.key, this.domRef);
221
+ this.portalProviderAPI.remove(this.key);
227
222
  this.domRef = undefined;
228
223
  this.contentDOM = undefined;
229
224
  }
230
225
  }], [{
231
226
  key: "fromComponent",
232
227
  value: function fromComponent(component, portalProviderAPI, eventDispatcher, props, viewShouldUpdate) {
233
- var hasIntlContext = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
234
228
  return function (node, view, getPos) {
235
- return new ReactNodeView(node, view, getPos, portalProviderAPI, eventDispatcher, props, component, false, viewShouldUpdate, hasIntlContext).init();
229
+ return new ReactNodeView(node, view, getPos, portalProviderAPI, eventDispatcher, props, component, viewShouldUpdate).init();
236
230
  };
237
231
  }
238
232
  }]);
@@ -41,13 +41,10 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
41
41
  var SelectionBasedNodeView = exports.SelectionBasedNodeView = /*#__PURE__*/function (_ReactNodeView) {
42
42
  (0, _inherits2.default)(SelectionBasedNodeView, _ReactNodeView);
43
43
  var _super = _createSuper(SelectionBasedNodeView);
44
- function SelectionBasedNodeView(node, view, getPos, portalProviderAPI, eventDispatcher, reactComponentProps, reactComponent) {
44
+ function SelectionBasedNodeView(node, view, getPos, portalProviderAPI, eventDispatcher, reactComponentProps, reactComponent, viewShouldUpdate) {
45
45
  var _this;
46
- var hasContext = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : false;
47
- var viewShouldUpdate = arguments.length > 8 ? arguments[8] : undefined;
48
- var hasIntlContext = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : false;
49
46
  (0, _classCallCheck2.default)(this, SelectionBasedNodeView);
50
- _this = _super.call(this, node, view, getPos, portalProviderAPI, eventDispatcher, reactComponentProps, reactComponent, hasContext, viewShouldUpdate, hasIntlContext);
47
+ _this = _super.call(this, node, view, getPos, portalProviderAPI, eventDispatcher, reactComponentProps, reactComponent, viewShouldUpdate);
51
48
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isSelectedNode", false);
52
49
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isNodeInsideSelection", function (from, to, pos, posEnd) {
53
50
  var _this$getPositionsWit = _this.getPositionsWithDefault(pos, posEnd);
@@ -20,7 +20,7 @@ var _Layer = _interopRequireDefault(require("../Layer"));
20
20
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
21
21
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /** @jsx jsx */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
22
22
  var packageName = "@atlaskit/editor-common";
23
- var packageVersion = "84.5.1";
23
+ var packageVersion = "85.1.0";
24
24
  var halfFocusRing = 1;
25
25
  var dropOffset = '0, 8';
26
26
  var DropList = /*#__PURE__*/function (_Component) {
@@ -37,6 +37,16 @@ var Color = function Color(props) {
37
37
  e.preventDefault();
38
38
  onClick(value, label);
39
39
  };
40
+ var onKeyDown = function onKeyDown(e) {
41
+ var onKeyDown = props.onKeyDown,
42
+ value = props.value,
43
+ label = props.label;
44
+ if (!onKeyDown) {
45
+ return undefined;
46
+ }
47
+ e.preventDefault();
48
+ onKeyDown(value, label, e);
49
+ };
40
50
  return (0, _react2.jsx)(_tooltip.default, {
41
51
  content: label
42
52
  }, (0, _react2.jsx)("span", {
@@ -50,6 +60,7 @@ var Color = function Color(props) {
50
60
  role: "radio",
51
61
  "aria-checked": isSelected,
52
62
  onClick: onClick,
63
+ onKeyDown: onKeyDown,
53
64
  onMouseDown: onMouseDown,
54
65
  tabIndex: tabIndex
55
66
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
@@ -49,6 +49,7 @@ var ColorPalette = function ColorPalette(props) {
49
49
  var _props$cols = props.cols,
50
50
  cols = _props$cols === void 0 ? _utils.DEFAULT_COLOR_PICKER_COLUMNS : _props$cols,
51
51
  onClick = props.onClick,
52
+ onKeyDown = props.onKeyDown,
52
53
  selectedColor = props.selectedColor,
53
54
  className = props.className,
54
55
  formatMessage = props.intl.formatMessage,
@@ -91,6 +92,7 @@ var ColorPalette = function ColorPalette(props) {
91
92
  borderColor: border,
92
93
  label: message ? formatMessage(message) : label,
93
94
  onClick: onClick,
95
+ onKeyDown: onKeyDown,
94
96
  isSelected: value === selectedColor,
95
97
  checkMarkColor: getCheckMarkColor(value, useIconToken),
96
98
  hexToPaletteColor: hexToPaletteColor,
@@ -29,13 +29,14 @@ var MenuArrowKeyNavigationProvider = exports.MenuArrowKeyNavigationProvider = fu
29
29
  closeOnTab = _ref.closeOnTab,
30
30
  onSelection = _ref.onSelection,
31
31
  editorRef = _ref.editorRef,
32
- popupsMountPoint = _ref.popupsMountPoint;
32
+ popupsMountPoint = _ref.popupsMountPoint,
33
+ disableCloseOnArrowClick = _ref.disableCloseOnArrowClick;
33
34
  var wrapperRef = (0, _react.useRef)(null);
34
35
  var _useState = (0, _react.useState)(-1),
35
36
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
36
37
  currentSelectedItemIndex = _useState2[0],
37
38
  setCurrentSelectedItemIndex = _useState2[1];
38
- var element = (0, _platformFeatureFlags.getBooleanFF)('platform.editor.a11y-main-toolbar-navigation_osrty') && popupsMountPoint ? [popupsMountPoint, editorRef.current] : [editorRef.current];
39
+ var element = popupsMountPoint && (0, _platformFeatureFlags.fg)('platform.editor.a11y-main-toolbar-navigation_osrty') ? [popupsMountPoint, editorRef.current] : [editorRef.current];
39
40
  var _useState3 = (0, _react.useState)(element),
40
41
  _useState4 = (0, _slicedToArray2.default)(_useState3, 1),
41
42
  listenerTargetElement = _useState4[0];
@@ -130,7 +131,13 @@ var MenuArrowKeyNavigationProvider = exports.MenuArrowKeyNavigationProvider = fu
130
131
  if (targetElement instanceof HTMLElement && !targetElement.closest('.custom-key-handler-wrapper')) {
131
132
  return;
132
133
  }
133
- handleClose(event);
134
+ if ((0, _platformFeatureFlags.fg)('platform-editor-a11y-image-border-options-dropdown')) {
135
+ if (!disableCloseOnArrowClick) {
136
+ handleClose(event);
137
+ }
138
+ } else {
139
+ handleClose(event);
140
+ }
134
141
  if (targetElement instanceof HTMLElement && !targetElement.closest('[data-testid="editor-floating-toolbar"]')) {
135
142
  keyDownHandlerContext === null || keyDownHandlerContext === void 0 || keyDownHandlerContext.handleArrowLeft();
136
143
  }
@@ -139,7 +146,13 @@ var MenuArrowKeyNavigationProvider = exports.MenuArrowKeyNavigationProvider = fu
139
146
  if (targetElement instanceof HTMLElement && !targetElement.closest('.custom-key-handler-wrapper')) {
140
147
  return;
141
148
  }
142
- handleClose(event);
149
+ if ((0, _platformFeatureFlags.fg)('platform-editor-a11y-image-border-options-dropdown')) {
150
+ if (!disableCloseOnArrowClick) {
151
+ handleClose(event);
152
+ }
153
+ } else {
154
+ handleClose(event);
155
+ }
143
156
  if (targetElement instanceof HTMLElement && !targetElement.closest('[data-testid="editor-floating-toolbar"]')) {
144
157
  keyDownHandlerContext === null || keyDownHandlerContext === void 0 || keyDownHandlerContext.handleArrowRight();
145
158
  }
@@ -164,7 +177,7 @@ var MenuArrowKeyNavigationProvider = exports.MenuArrowKeyNavigationProvider = fu
164
177
  elem && elem.removeEventListener('keydown', handleKeyDown);
165
178
  });
166
179
  };
167
- }, [currentSelectedItemIndex, wrapperRef, handleClose, disableArrowKeyNavigation, keyDownHandlerContext, closeOnTab, onSelection, incrementIndex, decrementIndex, listenerTargetElement]);
180
+ }, [currentSelectedItemIndex, wrapperRef, handleClose, disableArrowKeyNavigation, keyDownHandlerContext, closeOnTab, onSelection, incrementIndex, decrementIndex, listenerTargetElement, disableCloseOnArrowClick]);
168
181
  return /*#__PURE__*/_react.default.createElement("div", {
169
182
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
170
183
  className: "menu-key-handler-wrapper custom-key-handler-wrapper",