@atlaskit/editor-common 84.5.0 → 84.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 84.5.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#119559](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/119559)
8
+ [`7c1b0299f4fba`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/7c1b0299f4fba) -
9
+ ED-22510:Screen reader support for column/row selection and up/down movements
10
+ - [#119860](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/119860)
11
+ [`2f8a2041b5477`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/2f8a2041b5477) -
12
+ [ECA11Y-185] Removed platform.editor.a11y-element-browser FF
13
+ - Updated dependencies
14
+
3
15
  ## 84.5.0
4
16
 
5
17
  ### Minor Changes
@@ -71,6 +71,9 @@
71
71
  {
72
72
  "path": "../../../design-system/icon-object/afm-jira/tsconfig.json"
73
73
  },
74
+ {
75
+ "path": "../../../linking-platform/link-datasource/afm-jira/tsconfig.json"
76
+ },
74
77
  {
75
78
  "path": "../../../linking-platform/link-picker/afm-jira/tsconfig.json"
76
79
  },
@@ -15,12 +15,10 @@ var _react2 = require("@emotion/react");
15
15
  var _reactVirtualized = require("react-virtualized");
16
16
  var _AutoSizer = require("react-virtualized/dist/commonjs/AutoSizer");
17
17
  var _CellMeasurer = require("react-virtualized/dist/commonjs/CellMeasurer");
18
- var _Collection = require("react-virtualized/dist/commonjs/Collection");
19
18
  var _analyticsNext = require("@atlaskit/analytics-next");
20
19
  var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
21
20
  var _shortcut = require("@atlaskit/editor-shared-styles/shortcut");
22
21
  var _menu = require("@atlaskit/menu");
23
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
24
22
  var _colors = require("@atlaskit/theme/colors");
25
23
  var _constants = require("@atlaskit/theme/constants");
26
24
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
@@ -30,7 +28,6 @@ var _constants2 = require("../../constants");
30
28
  var _useContainerWidth2 = _interopRequireDefault(require("../../hooks/use-container-width"));
31
29
  var _useFocus = _interopRequireDefault(require("../../hooks/use-focus"));
32
30
  var _types = require("../../types");
33
- var _cellSizeAndPositionGetter = _interopRequireDefault(require("./cellSizeAndPositionGetter"));
34
31
  var _EmptyState = _interopRequireDefault(require("./EmptyState"));
35
32
  var _utils = require("./utils");
36
33
  var _excluded = ["items", "mode", "selectedItemIndex", "focusedItemIndex", "columnCount", "setColumnCount", "createAnalyticsEvent", "emptyStateHandler", "selectedCategory", "selectedCategoryIndex", "searchTerm", "setFocusedCategoryIndex", "setFocusedItemIndex"];
@@ -123,58 +120,11 @@ function ElementList(_ref) {
123
120
  };
124
121
  var cellRenderer = (0, _react.useMemo)(function () {
125
122
  return function (_ref3) {
126
- var index = _ref3.index,
123
+ var columnIndex = _ref3.columnIndex,
127
124
  key = _ref3.key,
125
+ parent = _ref3.parent,
126
+ rowIndex = _ref3.rowIndex,
128
127
  style = _ref3.style;
129
- if (items[index] == null) {
130
- return;
131
- }
132
- return (0, _react2.jsx)("div", {
133
- // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
134
- style: style,
135
- key: key
136
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
137
- ,
138
- className: "element-item-wrapper",
139
- css: elementItemWrapper,
140
- onKeyDown: function onKeyDown(e) {
141
- if (e.key === 'Tab') {
142
- if (e.shiftKey && index === 0) {
143
- if (setFocusedCategoryIndex) {
144
- if (!!selectedCategoryIndex) {
145
- setFocusedCategoryIndex(selectedCategoryIndex);
146
- } else {
147
- setFocusedCategoryIndex(0);
148
- }
149
- e.preventDefault();
150
- }
151
- }
152
- // before focus jumps from elements list we need to rerender react-virtualized collection.
153
- // Otherwise on the next render 'scrollToCell' will have same cached value
154
- // and collection will not be scrolled to top.
155
- // So Tab press on category will not work anymore due to invisible 1-t element.
156
- else if (index === items.length - 2) {
157
- setFocusedItemIndex(items.length - 1);
158
- }
159
- }
160
- }
161
- }, (0, _react2.jsx)(MemoizedElementItem, (0, _extends2.default)({
162
- inlineMode: !fullMode,
163
- index: index,
164
- item: items[index],
165
- selected: selectedItemIndex === index,
166
- focus: focusedItemIndex === index,
167
- setFocusedItemIndex: setFocusedItemIndex
168
- }, props)));
169
- };
170
- }, [items, fullMode, selectedItemIndex, focusedItemIndex, selectedCategoryIndex, setFocusedCategoryIndex, setFocusedItemIndex, props]);
171
- var gridCellRenderer = (0, _react.useMemo)(function () {
172
- return function (_ref4) {
173
- var columnIndex = _ref4.columnIndex,
174
- key = _ref4.key,
175
- parent = _ref4.parent,
176
- rowIndex = _ref4.rowIndex,
177
- style = _ref4.style;
178
128
  var index = rowIndex * columnCount + columnIndex;
179
129
  if (items[index] == null) {
180
130
  return;
@@ -205,9 +155,9 @@ function ElementList(_ref) {
205
155
  e.preventDefault();
206
156
  }
207
157
  }
208
- // before focus jumps from elements list we need to rerender react-virtualized collection.
158
+ // before focus jumps from elements list we need to rerender react-virtualized grid.
209
159
  // Otherwise on the next render 'scrollToCell' will have same cached value
210
- // and collection will not be scrolled to top.
160
+ // and grid will not be scrolled to top.
211
161
  // So Tab press on category will not work anymore due to invisible 1-t element.
212
162
  else if (index === items.length - 2) {
213
163
  setFocusedItemIndex(items.length - 1);
@@ -241,10 +191,10 @@ function ElementList(_ref) {
241
191
  onExternalLinkClick: onExternalLinkClick
242
192
  }) : (0, _react2.jsx)(_react.Fragment, null, containerWidth > 0 && (0, _react2.jsx)(_AutoSizer.AutoSizer, {
243
193
  disableWidth: true
244
- }, function (_ref5) {
245
- var height = _ref5.height;
246
- return (0, _platformFeatureFlags.fg)('platform.editor.a11y-element-browser') ? (0, _react2.jsx)(_reactVirtualized.Grid, (0, _extends2.default)({
247
- cellRenderer: gridCellRenderer,
194
+ }, function (_ref4) {
195
+ var height = _ref4.height;
196
+ return (0, _react2.jsx)(_reactVirtualized.Grid, (0, _extends2.default)({
197
+ cellRenderer: cellRenderer,
248
198
  height: height,
249
199
  width: containerWidth - _constants2.ELEMENT_LIST_PADDING * 2 // containerWidth - padding on Left/Right (for focus outline)
250
200
  /**
@@ -261,33 +211,19 @@ function ElementList(_ref) {
261
211
  deferredMeasurementCache: cache
262
212
  }, selectedItemIndex !== undefined && {
263
213
  scrollToRow: Math.floor(selectedItemIndex / columnCount)
264
- })) : (0, _react2.jsx)(_Collection.Collection, {
265
- cellCount: items.length,
266
- cellRenderer: cellRenderer,
267
- cellSizeAndPositionGetter: (0, _cellSizeAndPositionGetter.default)(containerWidth - _constants2.ELEMENT_LIST_PADDING * 2, scrollbarWidth),
268
- height: height,
269
- width: containerWidth - _constants2.ELEMENT_LIST_PADDING * 2 // containerWidth - padding on Left/Right (for focus outline)
270
- /**
271
- * Refresh Collection on WidthObserver value change.
272
- * Length of the items used to force re-render to solve Firefox bug with react-virtualized retaining
273
- * scroll position after updating the data. If new data has different number of cells, a re-render
274
- * is forced to prevent the scroll position render bug.
275
- */,
276
- key: containerWidth + items.length,
277
- scrollToCell: selectedItemIndex
278
- });
214
+ }));
279
215
  }))));
280
216
  }
281
217
  var MemoizedElementItem = /*#__PURE__*/(0, _react.memo)(ElementItem);
282
218
  MemoizedElementItem.displayName = 'MemoizedElementItem';
283
- function ElementItem(_ref6) {
284
- var inlineMode = _ref6.inlineMode,
285
- selected = _ref6.selected,
286
- item = _ref6.item,
287
- index = _ref6.index,
288
- onInsertItem = _ref6.onInsertItem,
289
- focus = _ref6.focus,
290
- setFocusedItemIndex = _ref6.setFocusedItemIndex;
219
+ function ElementItem(_ref5) {
220
+ var inlineMode = _ref5.inlineMode,
221
+ selected = _ref5.selected,
222
+ item = _ref5.item,
223
+ index = _ref5.index,
224
+ onInsertItem = _ref5.onInsertItem,
225
+ focus = _ref5.focus,
226
+ setFocusedItemIndex = _ref5.setFocusedItemIndex;
291
227
  var ref = (0, _useFocus.default)(focus);
292
228
 
293
229
  /**
@@ -352,17 +288,17 @@ function ElementItem(_ref6) {
352
288
  var itemStyleOverrides = {
353
289
  alignItems: 'flex-start'
354
290
  };
355
- var ElementBefore = /*#__PURE__*/(0, _react.memo)(function (_ref7) {
356
- var icon = _ref7.icon,
357
- title = _ref7.title;
291
+ var ElementBefore = /*#__PURE__*/(0, _react.memo)(function (_ref6) {
292
+ var icon = _ref6.icon,
293
+ title = _ref6.title;
358
294
  return (0, _react2.jsx)("div", {
359
295
  css: [itemIcon, itemIconStyle]
360
296
  }, icon ? icon() : (0, _react2.jsx)(_quickInsert.IconFallback, null));
361
297
  });
362
- var ItemContent = /*#__PURE__*/(0, _react.memo)(function (_ref8) {
363
- var title = _ref8.title,
364
- description = _ref8.description,
365
- keyshortcut = _ref8.keyshortcut;
298
+ var ItemContent = /*#__PURE__*/(0, _react.memo)(function (_ref7) {
299
+ var title = _ref7.title,
300
+ description = _ref7.description,
301
+ keyshortcut = _ref7.keyshortcut;
366
302
  return (
367
303
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
368
304
  (0, _react2.jsx)("div", {
@@ -391,7 +327,7 @@ var elementItemsWrapper = (0, _react2.css)({
391
327
  overflow: 'hidden',
392
328
  padding: "var(--ds-space-025, 2px)",
393
329
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
394
- '.ReactVirtualized__Collection, .ReactVirtualized__Grid': {
330
+ '.ReactVirtualized__Grid': {
395
331
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
396
332
  borderRadius: '3px',
397
333
  outline: 'none',
@@ -401,7 +337,7 @@ var elementItemsWrapper = (0, _react2.css)({
401
337
  }
402
338
  },
403
339
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
404
- '.ReactVirtualized__Collection__innerScrollContainer, .ReactVirtualized__Grid__innerScrollContainer': {
340
+ '.ReactVirtualized__Grid__innerScrollContainer': {
405
341
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
406
342
  "div[class='element-item-wrapper']:last-child": {
407
343
  paddingBottom: "var(--ds-space-050, 4px)"
@@ -131,6 +131,21 @@ var messages = exports.messages = (0, _reactIntlNext.defineMessages)({
131
131
  defaultMessage: '{count, plural, one {The row has been} other {{count} rows have been}} removed',
132
132
  description: 'Assistive message following the removal of row(s)'
133
133
  },
134
+ rowSelected: {
135
+ id: 'fabric.editor.rowSelected',
136
+ defaultMessage: 'Row {index} of {total} selected',
137
+ description: 'Assistive message following the selection of a row'
138
+ },
139
+ rowMovedUp: {
140
+ id: 'fabric.editor.rowMovedUp',
141
+ defaultMessage: 'Row moved up to {index} of {total}',
142
+ description: 'Assistive message following the upward movement of a row'
143
+ },
144
+ rowMovedDown: {
145
+ id: 'fabric.editor.rowMovedDown',
146
+ defaultMessage: 'Row moved down to {index} of {total}',
147
+ description: 'Assistive message following the downward movement of a row'
148
+ },
134
149
  columnsAreInserted: {
135
150
  id: 'fabric.editor.columnsAreInserted',
136
151
  defaultMessage: '{count, plural, one {A column has been} other {{count} columns have been}} inserted',
@@ -141,6 +156,21 @@ var messages = exports.messages = (0, _reactIntlNext.defineMessages)({
141
156
  defaultMessage: '{count, plural, one {The column has been} other {{count} columns have been}} removed',
142
157
  description: 'Assistive message following the removal of column(s)'
143
158
  },
159
+ columnSelected: {
160
+ id: 'fabric.editor.columnSelected',
161
+ defaultMessage: 'Column {index} of {total} selected',
162
+ description: 'Assistive message following the selection of a column'
163
+ },
164
+ columnMovedLeft: {
165
+ id: 'fabric.editor.columnMovedLeft',
166
+ defaultMessage: 'Column moved left to {index} of {total}',
167
+ description: 'Assistive message following the left movement of a column'
168
+ },
169
+ columnMovedRight: {
170
+ id: 'fabric.editor.columnMovedRight',
171
+ defaultMessage: 'Column moved right to {index} of {total}',
172
+ description: 'Assistive message following the right movement of a column'
173
+ },
144
174
  cellOptions: {
145
175
  id: 'fabric.editor.cellOptions',
146
176
  defaultMessage: 'Cell options',
@@ -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.0";
20
+ var packageVersion = "84.5.1";
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
@@ -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.0";
23
+ var packageVersion = "84.5.1";
24
24
  var halfFocusRing = 1;
25
25
  var dropOffset = '0, 8';
26
26
  var DropList = /*#__PURE__*/function (_Component) {
@@ -7,12 +7,10 @@ import { css, jsx } from '@emotion/react';
7
7
  import { Grid } from 'react-virtualized';
8
8
  import { AutoSizer } from 'react-virtualized/dist/commonjs/AutoSizer';
9
9
  import { CellMeasurer, CellMeasurerCache } from 'react-virtualized/dist/commonjs/CellMeasurer';
10
- import { Collection } from 'react-virtualized/dist/commonjs/Collection';
11
10
  import { withAnalyticsContext } from '@atlaskit/analytics-next';
12
11
  import { relativeFontSizeToBase16 } from '@atlaskit/editor-shared-styles';
13
12
  import { shortcutStyle } from '@atlaskit/editor-shared-styles/shortcut';
14
13
  import { ButtonItem } from '@atlaskit/menu';
15
- import { fg } from '@atlaskit/platform-feature-flags';
16
14
  import { B100, N200 } from '@atlaskit/theme/colors';
17
15
  import { borderRadius } from '@atlaskit/theme/constants';
18
16
  import Tooltip from '@atlaskit/tooltip';
@@ -22,7 +20,6 @@ import { ELEMENT_ITEM_HEIGHT, ELEMENT_ITEM_PADDING, ELEMENT_LIST_PADDING, SCROLL
22
20
  import useContainerWidth from '../../hooks/use-container-width';
23
21
  import useFocus from '../../hooks/use-focus';
24
22
  import { Modes } from '../../types';
25
- import cellSizeAndPositionGetter from './cellSizeAndPositionGetter';
26
23
  import EmptyState from './EmptyState';
27
24
  import { getColumnCount, getScrollbarWidth } from './utils';
28
25
  export const ICON_HEIGHT = 40;
@@ -107,52 +104,6 @@ function ElementList({
107
104
  index
108
105
  }) + ELEMENT_ITEM_PADDING * 2;
109
106
  const cellRenderer = useMemo(() => ({
110
- index,
111
- key,
112
- style
113
- }) => {
114
- if (items[index] == null) {
115
- return;
116
- }
117
- return jsx("div", {
118
- // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
119
- style: style,
120
- key: key
121
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
122
- ,
123
- className: "element-item-wrapper",
124
- css: elementItemWrapper,
125
- onKeyDown: e => {
126
- if (e.key === 'Tab') {
127
- if (e.shiftKey && index === 0) {
128
- if (setFocusedCategoryIndex) {
129
- if (!!selectedCategoryIndex) {
130
- setFocusedCategoryIndex(selectedCategoryIndex);
131
- } else {
132
- setFocusedCategoryIndex(0);
133
- }
134
- e.preventDefault();
135
- }
136
- }
137
- // before focus jumps from elements list we need to rerender react-virtualized collection.
138
- // Otherwise on the next render 'scrollToCell' will have same cached value
139
- // and collection will not be scrolled to top.
140
- // So Tab press on category will not work anymore due to invisible 1-t element.
141
- else if (index === items.length - 2) {
142
- setFocusedItemIndex(items.length - 1);
143
- }
144
- }
145
- }
146
- }, jsx(MemoizedElementItem, _extends({
147
- inlineMode: !fullMode,
148
- index: index,
149
- item: items[index],
150
- selected: selectedItemIndex === index,
151
- focus: focusedItemIndex === index,
152
- setFocusedItemIndex: setFocusedItemIndex
153
- }, props)));
154
- }, [items, fullMode, selectedItemIndex, focusedItemIndex, selectedCategoryIndex, setFocusedCategoryIndex, setFocusedItemIndex, props]);
155
- const gridCellRenderer = useMemo(() => ({
156
107
  columnIndex,
157
108
  key,
158
109
  parent,
@@ -189,9 +140,9 @@ function ElementList({
189
140
  e.preventDefault();
190
141
  }
191
142
  }
192
- // before focus jumps from elements list we need to rerender react-virtualized collection.
143
+ // before focus jumps from elements list we need to rerender react-virtualized grid.
193
144
  // Otherwise on the next render 'scrollToCell' will have same cached value
194
- // and collection will not be scrolled to top.
145
+ // and grid will not be scrolled to top.
195
146
  // So Tab press on category will not work anymore due to invisible 1-t element.
196
147
  else if (index === items.length - 2) {
197
148
  setFocusedItemIndex(items.length - 1);
@@ -226,8 +177,8 @@ function ElementList({
226
177
  disableWidth: true
227
178
  }, ({
228
179
  height
229
- }) => fg('platform.editor.a11y-element-browser') ? jsx(Grid, _extends({
230
- cellRenderer: gridCellRenderer,
180
+ }) => jsx(Grid, _extends({
181
+ cellRenderer: cellRenderer,
231
182
  height: height,
232
183
  width: containerWidth - ELEMENT_LIST_PADDING * 2 // containerWidth - padding on Left/Right (for focus outline)
233
184
  /**
@@ -244,21 +195,7 @@ function ElementList({
244
195
  deferredMeasurementCache: cache
245
196
  }, selectedItemIndex !== undefined && {
246
197
  scrollToRow: Math.floor(selectedItemIndex / columnCount)
247
- })) : jsx(Collection, {
248
- cellCount: items.length,
249
- cellRenderer: cellRenderer,
250
- cellSizeAndPositionGetter: cellSizeAndPositionGetter(containerWidth - ELEMENT_LIST_PADDING * 2, scrollbarWidth),
251
- height: height,
252
- width: containerWidth - ELEMENT_LIST_PADDING * 2 // containerWidth - padding on Left/Right (for focus outline)
253
- /**
254
- * Refresh Collection on WidthObserver value change.
255
- * Length of the items used to force re-render to solve Firefox bug with react-virtualized retaining
256
- * scroll position after updating the data. If new data has different number of cells, a re-render
257
- * is forced to prevent the scroll position render bug.
258
- */,
259
- key: containerWidth + items.length,
260
- scrollToCell: selectedItemIndex
261
- })))));
198
+ }))))));
262
199
  }
263
200
  const MemoizedElementItem = /*#__PURE__*/memo(ElementItem);
264
201
  MemoizedElementItem.displayName = 'MemoizedElementItem';
@@ -373,7 +310,7 @@ const elementItemsWrapper = css({
373
310
  overflow: 'hidden',
374
311
  padding: "var(--ds-space-025, 2px)",
375
312
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
376
- '.ReactVirtualized__Collection, .ReactVirtualized__Grid': {
313
+ '.ReactVirtualized__Grid': {
377
314
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
378
315
  borderRadius: '3px',
379
316
  outline: 'none',
@@ -383,7 +320,7 @@ const elementItemsWrapper = css({
383
320
  }
384
321
  },
385
322
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
386
- '.ReactVirtualized__Collection__innerScrollContainer, .ReactVirtualized__Grid__innerScrollContainer': {
323
+ '.ReactVirtualized__Grid__innerScrollContainer': {
387
324
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
388
325
  "div[class='element-item-wrapper']:last-child": {
389
326
  paddingBottom: "var(--ds-space-050, 4px)"
@@ -125,6 +125,21 @@ export const messages = defineMessages({
125
125
  defaultMessage: '{count, plural, one {The row has been} other {{count} rows have been}} removed',
126
126
  description: 'Assistive message following the removal of row(s)'
127
127
  },
128
+ rowSelected: {
129
+ id: 'fabric.editor.rowSelected',
130
+ defaultMessage: 'Row {index} of {total} selected',
131
+ description: 'Assistive message following the selection of a row'
132
+ },
133
+ rowMovedUp: {
134
+ id: 'fabric.editor.rowMovedUp',
135
+ defaultMessage: 'Row moved up to {index} of {total}',
136
+ description: 'Assistive message following the upward movement of a row'
137
+ },
138
+ rowMovedDown: {
139
+ id: 'fabric.editor.rowMovedDown',
140
+ defaultMessage: 'Row moved down to {index} of {total}',
141
+ description: 'Assistive message following the downward movement of a row'
142
+ },
128
143
  columnsAreInserted: {
129
144
  id: 'fabric.editor.columnsAreInserted',
130
145
  defaultMessage: '{count, plural, one {A column has been} other {{count} columns have been}} inserted',
@@ -135,6 +150,21 @@ export const messages = defineMessages({
135
150
  defaultMessage: '{count, plural, one {The column has been} other {{count} columns have been}} removed',
136
151
  description: 'Assistive message following the removal of column(s)'
137
152
  },
153
+ columnSelected: {
154
+ id: 'fabric.editor.columnSelected',
155
+ defaultMessage: 'Column {index} of {total} selected',
156
+ description: 'Assistive message following the selection of a column'
157
+ },
158
+ columnMovedLeft: {
159
+ id: 'fabric.editor.columnMovedLeft',
160
+ defaultMessage: 'Column moved left to {index} of {total}',
161
+ description: 'Assistive message following the left movement of a column'
162
+ },
163
+ columnMovedRight: {
164
+ id: 'fabric.editor.columnMovedRight',
165
+ defaultMessage: 'Column moved right to {index} of {total}',
166
+ description: 'Assistive message following the right movement of a column'
167
+ },
138
168
  cellOptions: {
139
169
  id: 'fabric.editor.cellOptions',
140
170
  defaultMessage: 'Cell options',
@@ -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 = "84.5.0";
4
+ const packageVersion = "84.5.1";
5
5
  const sanitiseSentryEvents = (data, _hint) => {
6
6
  // Remove URL as it has UGC
7
7
  // TODO: Sanitise the URL instead of just removing it
@@ -9,7 +9,7 @@ import { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents } from '@
9
9
  import { N0, N50A, N60A, N900 } from '@atlaskit/theme/colors';
10
10
  import Layer from '../Layer';
11
11
  const packageName = "@atlaskit/editor-common";
12
- const packageVersion = "84.5.0";
12
+ const packageVersion = "84.5.1";
13
13
  const halfFocusRing = 1;
14
14
  const dropOffset = '0, 8';
15
15
  class DropList extends Component {
@@ -10,12 +10,10 @@ import { css, jsx } from '@emotion/react';
10
10
  import { Grid } from 'react-virtualized';
11
11
  import { AutoSizer } from 'react-virtualized/dist/commonjs/AutoSizer';
12
12
  import { CellMeasurer, CellMeasurerCache } from 'react-virtualized/dist/commonjs/CellMeasurer';
13
- import { Collection } from 'react-virtualized/dist/commonjs/Collection';
14
13
  import { withAnalyticsContext } from '@atlaskit/analytics-next';
15
14
  import { relativeFontSizeToBase16 } from '@atlaskit/editor-shared-styles';
16
15
  import { shortcutStyle } from '@atlaskit/editor-shared-styles/shortcut';
17
16
  import { ButtonItem } from '@atlaskit/menu';
18
- import { fg } from '@atlaskit/platform-feature-flags';
19
17
  import { B100, N200 } from '@atlaskit/theme/colors';
20
18
  import { borderRadius } from '@atlaskit/theme/constants';
21
19
  import Tooltip from '@atlaskit/tooltip';
@@ -25,7 +23,6 @@ import { ELEMENT_ITEM_HEIGHT, ELEMENT_ITEM_PADDING, ELEMENT_LIST_PADDING, SCROLL
25
23
  import useContainerWidth from '../../hooks/use-container-width';
26
24
  import useFocus from '../../hooks/use-focus';
27
25
  import { Modes } from '../../types';
28
- import cellSizeAndPositionGetter from './cellSizeAndPositionGetter';
29
26
  import EmptyState from './EmptyState';
30
27
  import { getColumnCount, getScrollbarWidth } from './utils';
31
28
  export var ICON_HEIGHT = 40;
@@ -113,58 +110,11 @@ function ElementList(_ref) {
113
110
  };
114
111
  var cellRenderer = useMemo(function () {
115
112
  return function (_ref3) {
116
- var index = _ref3.index,
113
+ var columnIndex = _ref3.columnIndex,
117
114
  key = _ref3.key,
115
+ parent = _ref3.parent,
116
+ rowIndex = _ref3.rowIndex,
118
117
  style = _ref3.style;
119
- if (items[index] == null) {
120
- return;
121
- }
122
- return jsx("div", {
123
- // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
124
- style: style,
125
- key: key
126
- // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
127
- ,
128
- className: "element-item-wrapper",
129
- css: elementItemWrapper,
130
- onKeyDown: function onKeyDown(e) {
131
- if (e.key === 'Tab') {
132
- if (e.shiftKey && index === 0) {
133
- if (setFocusedCategoryIndex) {
134
- if (!!selectedCategoryIndex) {
135
- setFocusedCategoryIndex(selectedCategoryIndex);
136
- } else {
137
- setFocusedCategoryIndex(0);
138
- }
139
- e.preventDefault();
140
- }
141
- }
142
- // before focus jumps from elements list we need to rerender react-virtualized collection.
143
- // Otherwise on the next render 'scrollToCell' will have same cached value
144
- // and collection will not be scrolled to top.
145
- // So Tab press on category will not work anymore due to invisible 1-t element.
146
- else if (index === items.length - 2) {
147
- setFocusedItemIndex(items.length - 1);
148
- }
149
- }
150
- }
151
- }, jsx(MemoizedElementItem, _extends({
152
- inlineMode: !fullMode,
153
- index: index,
154
- item: items[index],
155
- selected: selectedItemIndex === index,
156
- focus: focusedItemIndex === index,
157
- setFocusedItemIndex: setFocusedItemIndex
158
- }, props)));
159
- };
160
- }, [items, fullMode, selectedItemIndex, focusedItemIndex, selectedCategoryIndex, setFocusedCategoryIndex, setFocusedItemIndex, props]);
161
- var gridCellRenderer = useMemo(function () {
162
- return function (_ref4) {
163
- var columnIndex = _ref4.columnIndex,
164
- key = _ref4.key,
165
- parent = _ref4.parent,
166
- rowIndex = _ref4.rowIndex,
167
- style = _ref4.style;
168
118
  var index = rowIndex * columnCount + columnIndex;
169
119
  if (items[index] == null) {
170
120
  return;
@@ -195,9 +145,9 @@ function ElementList(_ref) {
195
145
  e.preventDefault();
196
146
  }
197
147
  }
198
- // before focus jumps from elements list we need to rerender react-virtualized collection.
148
+ // before focus jumps from elements list we need to rerender react-virtualized grid.
199
149
  // Otherwise on the next render 'scrollToCell' will have same cached value
200
- // and collection will not be scrolled to top.
150
+ // and grid will not be scrolled to top.
201
151
  // So Tab press on category will not work anymore due to invisible 1-t element.
202
152
  else if (index === items.length - 2) {
203
153
  setFocusedItemIndex(items.length - 1);
@@ -231,10 +181,10 @@ function ElementList(_ref) {
231
181
  onExternalLinkClick: onExternalLinkClick
232
182
  }) : jsx(Fragment, null, containerWidth > 0 && jsx(AutoSizer, {
233
183
  disableWidth: true
234
- }, function (_ref5) {
235
- var height = _ref5.height;
236
- return fg('platform.editor.a11y-element-browser') ? jsx(Grid, _extends({
237
- cellRenderer: gridCellRenderer,
184
+ }, function (_ref4) {
185
+ var height = _ref4.height;
186
+ return jsx(Grid, _extends({
187
+ cellRenderer: cellRenderer,
238
188
  height: height,
239
189
  width: containerWidth - ELEMENT_LIST_PADDING * 2 // containerWidth - padding on Left/Right (for focus outline)
240
190
  /**
@@ -251,33 +201,19 @@ function ElementList(_ref) {
251
201
  deferredMeasurementCache: cache
252
202
  }, selectedItemIndex !== undefined && {
253
203
  scrollToRow: Math.floor(selectedItemIndex / columnCount)
254
- })) : jsx(Collection, {
255
- cellCount: items.length,
256
- cellRenderer: cellRenderer,
257
- cellSizeAndPositionGetter: cellSizeAndPositionGetter(containerWidth - ELEMENT_LIST_PADDING * 2, scrollbarWidth),
258
- height: height,
259
- width: containerWidth - ELEMENT_LIST_PADDING * 2 // containerWidth - padding on Left/Right (for focus outline)
260
- /**
261
- * Refresh Collection on WidthObserver value change.
262
- * Length of the items used to force re-render to solve Firefox bug with react-virtualized retaining
263
- * scroll position after updating the data. If new data has different number of cells, a re-render
264
- * is forced to prevent the scroll position render bug.
265
- */,
266
- key: containerWidth + items.length,
267
- scrollToCell: selectedItemIndex
268
- });
204
+ }));
269
205
  }))));
270
206
  }
271
207
  var MemoizedElementItem = /*#__PURE__*/memo(ElementItem);
272
208
  MemoizedElementItem.displayName = 'MemoizedElementItem';
273
- export function ElementItem(_ref6) {
274
- var inlineMode = _ref6.inlineMode,
275
- selected = _ref6.selected,
276
- item = _ref6.item,
277
- index = _ref6.index,
278
- onInsertItem = _ref6.onInsertItem,
279
- focus = _ref6.focus,
280
- setFocusedItemIndex = _ref6.setFocusedItemIndex;
209
+ export function ElementItem(_ref5) {
210
+ var inlineMode = _ref5.inlineMode,
211
+ selected = _ref5.selected,
212
+ item = _ref5.item,
213
+ index = _ref5.index,
214
+ onInsertItem = _ref5.onInsertItem,
215
+ focus = _ref5.focus,
216
+ setFocusedItemIndex = _ref5.setFocusedItemIndex;
281
217
  var ref = useFocus(focus);
282
218
 
283
219
  /**
@@ -342,17 +278,17 @@ export function ElementItem(_ref6) {
342
278
  var itemStyleOverrides = {
343
279
  alignItems: 'flex-start'
344
280
  };
345
- var ElementBefore = /*#__PURE__*/memo(function (_ref7) {
346
- var icon = _ref7.icon,
347
- title = _ref7.title;
281
+ var ElementBefore = /*#__PURE__*/memo(function (_ref6) {
282
+ var icon = _ref6.icon,
283
+ title = _ref6.title;
348
284
  return jsx("div", {
349
285
  css: [itemIcon, itemIconStyle]
350
286
  }, icon ? icon() : jsx(IconFallback, null));
351
287
  });
352
- var ItemContent = /*#__PURE__*/memo(function (_ref8) {
353
- var title = _ref8.title,
354
- description = _ref8.description,
355
- keyshortcut = _ref8.keyshortcut;
288
+ var ItemContent = /*#__PURE__*/memo(function (_ref7) {
289
+ var title = _ref7.title,
290
+ description = _ref7.description,
291
+ keyshortcut = _ref7.keyshortcut;
356
292
  return (
357
293
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
358
294
  jsx("div", {
@@ -381,7 +317,7 @@ var elementItemsWrapper = css({
381
317
  overflow: 'hidden',
382
318
  padding: "var(--ds-space-025, 2px)",
383
319
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
384
- '.ReactVirtualized__Collection, .ReactVirtualized__Grid': {
320
+ '.ReactVirtualized__Grid': {
385
321
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
386
322
  borderRadius: '3px',
387
323
  outline: 'none',
@@ -391,7 +327,7 @@ var elementItemsWrapper = css({
391
327
  }
392
328
  },
393
329
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
394
- '.ReactVirtualized__Collection__innerScrollContainer, .ReactVirtualized__Grid__innerScrollContainer': {
330
+ '.ReactVirtualized__Grid__innerScrollContainer': {
395
331
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
396
332
  "div[class='element-item-wrapper']:last-child": {
397
333
  paddingBottom: "var(--ds-space-050, 4px)"
@@ -125,6 +125,21 @@ export var messages = defineMessages({
125
125
  defaultMessage: '{count, plural, one {The row has been} other {{count} rows have been}} removed',
126
126
  description: 'Assistive message following the removal of row(s)'
127
127
  },
128
+ rowSelected: {
129
+ id: 'fabric.editor.rowSelected',
130
+ defaultMessage: 'Row {index} of {total} selected',
131
+ description: 'Assistive message following the selection of a row'
132
+ },
133
+ rowMovedUp: {
134
+ id: 'fabric.editor.rowMovedUp',
135
+ defaultMessage: 'Row moved up to {index} of {total}',
136
+ description: 'Assistive message following the upward movement of a row'
137
+ },
138
+ rowMovedDown: {
139
+ id: 'fabric.editor.rowMovedDown',
140
+ defaultMessage: 'Row moved down to {index} of {total}',
141
+ description: 'Assistive message following the downward movement of a row'
142
+ },
128
143
  columnsAreInserted: {
129
144
  id: 'fabric.editor.columnsAreInserted',
130
145
  defaultMessage: '{count, plural, one {A column has been} other {{count} columns have been}} inserted',
@@ -135,6 +150,21 @@ export var messages = defineMessages({
135
150
  defaultMessage: '{count, plural, one {The column has been} other {{count} columns have been}} removed',
136
151
  description: 'Assistive message following the removal of column(s)'
137
152
  },
153
+ columnSelected: {
154
+ id: 'fabric.editor.columnSelected',
155
+ defaultMessage: 'Column {index} of {total} selected',
156
+ description: 'Assistive message following the selection of a column'
157
+ },
158
+ columnMovedLeft: {
159
+ id: 'fabric.editor.columnMovedLeft',
160
+ defaultMessage: 'Column moved left to {index} of {total}',
161
+ description: 'Assistive message following the left movement of a column'
162
+ },
163
+ columnMovedRight: {
164
+ id: 'fabric.editor.columnMovedRight',
165
+ defaultMessage: 'Column moved right to {index} of {total}',
166
+ description: 'Assistive message following the right movement of a column'
167
+ },
138
168
  cellOptions: {
139
169
  id: 'fabric.editor.cellOptions',
140
170
  defaultMessage: 'Cell options',
@@ -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 = "84.5.0";
10
+ var packageVersion = "84.5.1";
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 = "84.5.0";
20
+ var packageVersion = "84.5.1";
21
21
  var halfFocusRing = 1;
22
22
  var dropOffset = '0, 8';
23
23
  var DropList = /*#__PURE__*/function (_Component) {
@@ -124,6 +124,21 @@ export declare const messages: {
124
124
  defaultMessage: string;
125
125
  description: string;
126
126
  };
127
+ rowSelected: {
128
+ id: string;
129
+ defaultMessage: string;
130
+ description: string;
131
+ };
132
+ rowMovedUp: {
133
+ id: string;
134
+ defaultMessage: string;
135
+ description: string;
136
+ };
137
+ rowMovedDown: {
138
+ id: string;
139
+ defaultMessage: string;
140
+ description: string;
141
+ };
127
142
  columnsAreInserted: {
128
143
  id: string;
129
144
  defaultMessage: string;
@@ -134,6 +149,21 @@ export declare const messages: {
134
149
  defaultMessage: string;
135
150
  description: string;
136
151
  };
152
+ columnSelected: {
153
+ id: string;
154
+ defaultMessage: string;
155
+ description: string;
156
+ };
157
+ columnMovedLeft: {
158
+ id: string;
159
+ defaultMessage: string;
160
+ description: string;
161
+ };
162
+ columnMovedRight: {
163
+ id: string;
164
+ defaultMessage: string;
165
+ description: string;
166
+ };
137
167
  cellOptions: {
138
168
  id: string;
139
169
  defaultMessage: string;
@@ -124,6 +124,21 @@ export declare const messages: {
124
124
  defaultMessage: string;
125
125
  description: string;
126
126
  };
127
+ rowSelected: {
128
+ id: string;
129
+ defaultMessage: string;
130
+ description: string;
131
+ };
132
+ rowMovedUp: {
133
+ id: string;
134
+ defaultMessage: string;
135
+ description: string;
136
+ };
137
+ rowMovedDown: {
138
+ id: string;
139
+ defaultMessage: string;
140
+ description: string;
141
+ };
127
142
  columnsAreInserted: {
128
143
  id: string;
129
144
  defaultMessage: string;
@@ -134,6 +149,21 @@ export declare const messages: {
134
149
  defaultMessage: string;
135
150
  description: string;
136
151
  };
152
+ columnSelected: {
153
+ id: string;
154
+ defaultMessage: string;
155
+ description: string;
156
+ };
157
+ columnMovedLeft: {
158
+ id: string;
159
+ defaultMessage: string;
160
+ description: string;
161
+ };
162
+ columnMovedRight: {
163
+ id: string;
164
+ defaultMessage: string;
165
+ description: string;
166
+ };
137
167
  cellOptions: {
138
168
  id: string;
139
169
  defaultMessage: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "84.5.0",
3
+ "version": "84.5.1",
4
4
  "description": "A package that contains common classes and components for editor and renderer",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -104,7 +104,7 @@
104
104
  "@atlaskit/analytics-next": "^9.3.0",
105
105
  "@atlaskit/analytics-next-stable-react-context": "1.0.1",
106
106
  "@atlaskit/atlassian-context": "^0.0.0",
107
- "@atlaskit/button": "^18.3.0",
107
+ "@atlaskit/button": "^18.4.0",
108
108
  "@atlaskit/code": "^15.4.0",
109
109
  "@atlaskit/codemod-utils": "^4.2.0",
110
110
  "@atlaskit/custom-steps": "^0.4.0",
@@ -131,7 +131,7 @@
131
131
  "@atlaskit/menu": "^2.7.0",
132
132
  "@atlaskit/platform-feature-flags": "^0.3.0",
133
133
  "@atlaskit/primitives": "^11.0.0",
134
- "@atlaskit/profilecard": "^19.15.0",
134
+ "@atlaskit/profilecard": "^19.16.0",
135
135
  "@atlaskit/section-message": "^6.5.0",
136
136
  "@atlaskit/smart-card": "^27.9.0",
137
137
  "@atlaskit/smart-user-picker": "^6.9.0",
@@ -139,7 +139,7 @@
139
139
  "@atlaskit/task-decision": "^17.10.0",
140
140
  "@atlaskit/textfield": "^6.4.0",
141
141
  "@atlaskit/theme": "^12.11.0",
142
- "@atlaskit/tokens": "^1.53.0",
142
+ "@atlaskit/tokens": "^1.54.0",
143
143
  "@atlaskit/tooltip": "^18.5.0",
144
144
  "@atlaskit/ufo": "^0.2.0",
145
145
  "@atlaskit/width-detector": "^4.2.0",
@@ -242,9 +242,6 @@
242
242
  "platform.editor.simplify-inline-cards-in-code-blocks_jw6t1": {
243
243
  "type": "boolean"
244
244
  },
245
- "platform.editor.a11y-element-browser": {
246
- "type": "boolean"
247
- },
248
245
  "platform_editor_tables_padding_increase": {
249
246
  "type": "boolean"
250
247
  },