@atlaskit/editor-common 76.26.4 → 76.26.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 76.26.5
4
+
5
+ ### Patch Changes
6
+
7
+ - [#60035](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/60035) [`5cf5779a8cbe`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/5cf5779a8cbe) - [ux] [ED-19814] Fixed infinite loop when none of the dropdown menu items were enabled during keyboard navigation
8
+
3
9
  ## 76.26.4
4
10
 
5
11
  ### Patch Changes
@@ -16,7 +16,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
16
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
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 = "76.26.4";
19
+ var packageVersion = "76.26.5";
20
20
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
21
21
  // Remove URL as it has UGC
22
22
  // TODO: Sanitise the URL instead of just removing it
@@ -24,7 +24,7 @@ var _templateObject, _templateObject2, _templateObject3;
24
24
  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); }; }
25
25
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** @jsx jsx */
26
26
  var packageName = "@atlaskit/editor-common";
27
- var packageVersion = "76.26.4";
27
+ var packageVersion = "76.26.5";
28
28
  var halfFocusRing = 1;
29
29
  var dropOffset = '0, 8';
30
30
  var DropList = /*#__PURE__*/function (_Component) {
@@ -10,6 +10,12 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
12
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
+ var hasEnabledItems = function hasEnabledItems(list) {
14
+ return list.some(function (item) {
15
+ return item.getAttribute('aria-disabled') !== 'true';
16
+ });
17
+ };
18
+
13
19
  /**
14
20
  * This component is a wrapper of vertical menus which listens to keydown events of children
15
21
  * and handles up/down arrow key navigation
@@ -96,18 +102,22 @@ var MenuArrowKeyNavigationProvider = exports.MenuArrowKeyNavigationProvider = fu
96
102
  switch (event.key) {
97
103
  case 'ArrowDown':
98
104
  {
99
- var _focusableElements$fo;
100
- var focusIndex = incrementIndex(focusableElements);
101
- (_focusableElements$fo = focusableElements[focusIndex]) === null || _focusableElements$fo === void 0 || _focusableElements$fo.focus();
102
- event.preventDefault();
105
+ if (hasEnabledItems(focusableElements)) {
106
+ var _focusableElements$fo;
107
+ var focusIndex = incrementIndex(focusableElements);
108
+ (_focusableElements$fo = focusableElements[focusIndex]) === null || _focusableElements$fo === void 0 || _focusableElements$fo.focus();
109
+ event.preventDefault();
110
+ }
103
111
  break;
104
112
  }
105
113
  case 'ArrowUp':
106
114
  {
107
- var _focusableElements$_f;
108
- var _focusIndex = decrementIndex(focusableElements);
109
- (_focusableElements$_f = focusableElements[_focusIndex]) === null || _focusableElements$_f === void 0 || _focusableElements$_f.focus();
110
- event.preventDefault();
115
+ if (hasEnabledItems(focusableElements)) {
116
+ var _focusableElements$_f;
117
+ var _focusIndex = decrementIndex(focusableElements);
118
+ (_focusableElements$_f = focusableElements[_focusIndex]) === null || _focusableElements$_f === void 0 || _focusableElements$_f.focus();
119
+ event.preventDefault();
120
+ }
111
121
  break;
112
122
  }
113
123
 
@@ -1,6 +1,6 @@
1
1
  const SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
2
2
  const packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
3
- const packageVersion = "76.26.4";
3
+ const packageVersion = "76.26.5";
4
4
  const sanitiseSentryEvents = (data, _hint) => {
5
5
  // Remove URL as it has UGC
6
6
  // TODO: Sanitise the URL instead of just removing it
@@ -9,7 +9,7 @@ import { themed } from '@atlaskit/theme/components';
9
9
  import { borderRadius } from '@atlaskit/theme/constants';
10
10
  import Layer from '../Layer';
11
11
  const packageName = "@atlaskit/editor-common";
12
- const packageVersion = "76.26.4";
12
+ const packageVersion = "76.26.5";
13
13
  const halfFocusRing = 1;
14
14
  const dropOffset = '0, 8';
15
15
  class DropList extends Component {
@@ -1,4 +1,6 @@
1
1
  import React, { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
2
+ const hasEnabledItems = list => list.some(item => item.getAttribute('aria-disabled') !== 'true');
3
+
2
4
  /**
3
5
  * This component is a wrapper of vertical menus which listens to keydown events of children
4
6
  * and handles up/down arrow key navigation
@@ -81,18 +83,22 @@ export const MenuArrowKeyNavigationProvider = ({
81
83
  switch (event.key) {
82
84
  case 'ArrowDown':
83
85
  {
84
- var _focusableElements$fo;
85
- const focusIndex = incrementIndex(focusableElements);
86
- (_focusableElements$fo = focusableElements[focusIndex]) === null || _focusableElements$fo === void 0 ? void 0 : _focusableElements$fo.focus();
87
- event.preventDefault();
86
+ if (hasEnabledItems(focusableElements)) {
87
+ var _focusableElements$fo;
88
+ const focusIndex = incrementIndex(focusableElements);
89
+ (_focusableElements$fo = focusableElements[focusIndex]) === null || _focusableElements$fo === void 0 ? void 0 : _focusableElements$fo.focus();
90
+ event.preventDefault();
91
+ }
88
92
  break;
89
93
  }
90
94
  case 'ArrowUp':
91
95
  {
92
- var _focusableElements$fo2;
93
- const focusIndex = decrementIndex(focusableElements);
94
- (_focusableElements$fo2 = focusableElements[focusIndex]) === null || _focusableElements$fo2 === void 0 ? void 0 : _focusableElements$fo2.focus();
95
- event.preventDefault();
96
+ if (hasEnabledItems(focusableElements)) {
97
+ var _focusableElements$fo2;
98
+ const focusIndex = decrementIndex(focusableElements);
99
+ (_focusableElements$fo2 = focusableElements[focusIndex]) === null || _focusableElements$fo2 === void 0 ? void 0 : _focusableElements$fo2.focus();
100
+ event.preventDefault();
101
+ }
96
102
  break;
97
103
  }
98
104
 
@@ -6,7 +6,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
6
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
7
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
8
8
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
9
- var packageVersion = "76.26.4";
9
+ var packageVersion = "76.26.5";
10
10
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
11
11
  // Remove URL as it has UGC
12
12
  // TODO: Sanitise the URL instead of just removing it
@@ -19,7 +19,7 @@ import { themed } from '@atlaskit/theme/components';
19
19
  import { borderRadius } from '@atlaskit/theme/constants';
20
20
  import Layer from '../Layer';
21
21
  var packageName = "@atlaskit/editor-common";
22
- var packageVersion = "76.26.4";
22
+ var packageVersion = "76.26.5";
23
23
  var halfFocusRing = 1;
24
24
  var dropOffset = '0, 8';
25
25
  var DropList = /*#__PURE__*/function (_Component) {
@@ -1,5 +1,11 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import React, { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
3
+ var hasEnabledItems = function hasEnabledItems(list) {
4
+ return list.some(function (item) {
5
+ return item.getAttribute('aria-disabled') !== 'true';
6
+ });
7
+ };
8
+
3
9
  /**
4
10
  * This component is a wrapper of vertical menus which listens to keydown events of children
5
11
  * and handles up/down arrow key navigation
@@ -86,18 +92,22 @@ export var MenuArrowKeyNavigationProvider = function MenuArrowKeyNavigationProvi
86
92
  switch (event.key) {
87
93
  case 'ArrowDown':
88
94
  {
89
- var _focusableElements$fo;
90
- var focusIndex = incrementIndex(focusableElements);
91
- (_focusableElements$fo = focusableElements[focusIndex]) === null || _focusableElements$fo === void 0 || _focusableElements$fo.focus();
92
- event.preventDefault();
95
+ if (hasEnabledItems(focusableElements)) {
96
+ var _focusableElements$fo;
97
+ var focusIndex = incrementIndex(focusableElements);
98
+ (_focusableElements$fo = focusableElements[focusIndex]) === null || _focusableElements$fo === void 0 || _focusableElements$fo.focus();
99
+ event.preventDefault();
100
+ }
93
101
  break;
94
102
  }
95
103
  case 'ArrowUp':
96
104
  {
97
- var _focusableElements$_f;
98
- var _focusIndex = decrementIndex(focusableElements);
99
- (_focusableElements$_f = focusableElements[_focusIndex]) === null || _focusableElements$_f === void 0 || _focusableElements$_f.focus();
100
- event.preventDefault();
105
+ if (hasEnabledItems(focusableElements)) {
106
+ var _focusableElements$_f;
107
+ var _focusIndex = decrementIndex(focusableElements);
108
+ (_focusableElements$_f = focusableElements[_focusIndex]) === null || _focusableElements$_f === void 0 || _focusableElements$_f.focus();
109
+ event.preventDefault();
110
+ }
101
111
  break;
102
112
  }
103
113
 
@@ -15,6 +15,7 @@ export type ColorPaletteArrowKeyNavigationOptions = {
15
15
  selectedColumnIndex: number;
16
16
  isOpenedByKeyboard: boolean;
17
17
  isPopupPositioned: boolean;
18
+ children?: React.ReactNode;
18
19
  };
19
20
  export type ColorPaletteArrowKeyNavigationProps = ColorPaletteArrowKeyNavigationOptions & {
20
21
  handleClose?: SimpleEventHandler<KeyboardEvent>;
@@ -25,6 +26,7 @@ export type MenuArrowKeyNavigationOptions = {
25
26
  type: ArrowKeyNavigationType.MENU;
26
27
  disableArrowKeyNavigation?: boolean;
27
28
  keyDownHandlerContext?: KeyDownHandlerContext;
29
+ children?: React.ReactNode;
28
30
  };
29
31
  export type MenuArrowKeyNavigationProviderProps = MenuArrowKeyNavigationOptions & {
30
32
  handleClose?: SimpleEventHandler<KeyboardEvent>;
@@ -15,6 +15,7 @@ export type ColorPaletteArrowKeyNavigationOptions = {
15
15
  selectedColumnIndex: number;
16
16
  isOpenedByKeyboard: boolean;
17
17
  isPopupPositioned: boolean;
18
+ children?: React.ReactNode;
18
19
  };
19
20
  export type ColorPaletteArrowKeyNavigationProps = ColorPaletteArrowKeyNavigationOptions & {
20
21
  handleClose?: SimpleEventHandler<KeyboardEvent>;
@@ -25,6 +26,7 @@ export type MenuArrowKeyNavigationOptions = {
25
26
  type: ArrowKeyNavigationType.MENU;
26
27
  disableArrowKeyNavigation?: boolean;
27
28
  keyDownHandlerContext?: KeyDownHandlerContext;
29
+ children?: React.ReactNode;
28
30
  };
29
31
  export type MenuArrowKeyNavigationProviderProps = MenuArrowKeyNavigationOptions & {
30
32
  handleClose?: SimpleEventHandler<KeyboardEvent>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "76.26.4",
3
+ "version": "76.26.5",
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/"