@atlaskit/editor-common 76.26.2 → 76.26.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/keymaps/index.js +2 -1
  3. package/dist/cjs/link/LinkSearch/LinkSearchListItem.js +2 -2
  4. package/dist/cjs/messages/table.js +10 -0
  5. package/dist/cjs/monitoring/error.js +1 -1
  6. package/dist/cjs/resizer/Resizer.js +23 -7
  7. package/dist/cjs/styles/shared/grid.js +1 -1
  8. package/dist/cjs/styles/shared/resizer.js +1 -1
  9. package/dist/cjs/styles/shared/task-decision.js +1 -1
  10. package/dist/cjs/ui/Caption/index.js +1 -1
  11. package/dist/cjs/ui/DropList/index.js +1 -1
  12. package/dist/es2019/keymaps/index.js +1 -0
  13. package/dist/es2019/link/LinkSearch/LinkSearchListItem.js +2 -2
  14. package/dist/es2019/messages/table.js +10 -0
  15. package/dist/es2019/monitoring/error.js +1 -1
  16. package/dist/es2019/resizer/Resizer.js +23 -7
  17. package/dist/es2019/styles/shared/grid.js +2 -2
  18. package/dist/es2019/styles/shared/resizer.js +24 -1
  19. package/dist/es2019/styles/shared/task-decision.js +2 -2
  20. package/dist/es2019/ui/Caption/index.js +1 -1
  21. package/dist/es2019/ui/DropList/index.js +1 -1
  22. package/dist/esm/keymaps/index.js +1 -0
  23. package/dist/esm/link/LinkSearch/LinkSearchListItem.js +2 -2
  24. package/dist/esm/messages/table.js +10 -0
  25. package/dist/esm/monitoring/error.js +1 -1
  26. package/dist/esm/resizer/Resizer.js +23 -7
  27. package/dist/esm/styles/shared/grid.js +1 -1
  28. package/dist/esm/styles/shared/resizer.js +1 -1
  29. package/dist/esm/styles/shared/task-decision.js +1 -1
  30. package/dist/esm/ui/Caption/index.js +1 -1
  31. package/dist/esm/ui/DropList/index.js +1 -1
  32. package/dist/types/keymaps/index.d.ts +1 -0
  33. package/dist/types/messages/table.d.ts +10 -0
  34. package/dist/types/resizer/Resizer.d.ts +9 -2
  35. package/dist/types-ts4.5/keymaps/index.d.ts +1 -0
  36. package/dist/types-ts4.5/messages/table.d.ts +10 -0
  37. package/dist/types-ts4.5/resizer/Resizer.d.ts +9 -2
  38. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 76.26.4
4
+
5
+ ### Patch Changes
6
+
7
+ - [#59829](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/59829) [`3120b36a9f2c`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/3120b36a9f2c) - Converted spacing values to the corresponding space tokens
8
+
9
+ ## 76.26.3
10
+
11
+ ### Patch Changes
12
+
13
+ - [#56823](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/56823) [`d2fbdf3b6822`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/d2fbdf3b6822) - [ux] ECA11Y-111: Keyboard accessibility of table resizer
14
+
3
15
  ## 76.26.2
4
16
 
5
17
  ### Patch Changes
@@ -86,7 +86,7 @@ exports.findKeyMapForBrowser = findKeyMapForBrowser;
86
86
  exports.findKeymapByDescription = findKeymapByDescription;
87
87
  exports.findShortcutByDescription = findShortcutByDescription;
88
88
  exports.findShortcutByKeymap = findShortcutByKeymap;
89
- exports.forwardDelete = void 0;
89
+ exports.forwardDelete = exports.focusTableResizer = void 0;
90
90
  exports.getAriaKeyshortcuts = getAriaKeyshortcuts;
91
91
  exports.insertRule = exports.insertNewLine = exports.indentList = exports.indent = exports.increaseMediaSize = void 0;
92
92
  exports.isCapsLockOnAndModifyKeyboardEvent = isCapsLockOnAndModifyKeyboardEvent;
@@ -170,6 +170,7 @@ var previousCell = exports.previousCell = makeKeyMapWithCommon('Previous cell',
170
170
  var shiftArrowUp = exports.shiftArrowUp = makeKeyMapWithCommon('Shift ArrowUp', 'Shift-ArrowUp');
171
171
  var shiftTab = exports.shiftTab = makeKeyMapWithCommon('Shift Tab', 'Shift-Tab');
172
172
  var toggleTable = exports.toggleTable = makeKeyMapWithCommon('Table', 'Shift-Alt-t');
173
+ var focusTableResizer = exports.focusTableResizer = makeKeyMapWithCommon('Focus Table Resizer', 'Alt-Mod-Shift-r');
173
174
  var addRowBefore = exports.addRowBefore = makeKeyMapWithCommon('Add Row Above', 'Ctrl-Alt-ArrowUp');
174
175
  var addRowAfter = exports.addRowAfter = makeKeyMapWithCommon('Add Row Below', 'Ctrl-Alt-ArrowDown');
175
176
  var addColumnAfter = exports.addColumnAfter = makeKeyMapWithCommon('Add Column After', 'Ctrl-Alt-ArrowRight');
@@ -30,12 +30,12 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
30
30
  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; }
31
31
  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); }; }
32
32
  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; } }
33
- var container = exports.container = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n background-color: transparent;\n padding: 8px 12px;\n cursor: pointer;\n display: flex;\n margin-top: 0;\n"])));
33
+ var container = exports.container = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n background-color: transparent;\n padding: ", " ", ";\n cursor: pointer;\n display: flex;\n margin-top: 0;\n"])), "var(--ds-space-100, 8px)", "var(--ds-space-150, 12px)");
34
34
  var containerSelected = exports.containerSelected = (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n background-color: ", ";\n"])), "var(--ds-background-neutral-subtle-hovered, ".concat(_colors.N20, ")"));
35
35
  var nameWrapper = (0, _react2.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n overflow: hidden;\n"])));
36
36
  var nameStyle = exports.nameStyle = (0, _react2.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n line-height: 20px;\n"])), "var(--ds-text, ".concat(_colors.N800, ")"));
37
37
  var containerName = exports.containerName = (0, _react2.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n line-height: 14px;\n font-size: ", ";\n"])), "var(--ds-text-subtlest, ".concat(_colors.N300, ")"), (0, _editorSharedStyles.relativeFontSizeToBase16)((0, _constants.fontSizeSmall)()));
38
- var iconStyle = (0, _react2.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n min-width: 16px;\n margin-top: 3px;\n margin-right: 12px;\n\n img {\n max-width: 16px;\n }\n"])));
38
+ var iconStyle = (0, _react2.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n min-width: 16px;\n margin-top: 3px;\n margin-right: ", ";\n\n img {\n max-width: 16px;\n }\n"])), "var(--ds-space-150, 12px)");
39
39
  var LinkSearchListItem = /*#__PURE__*/function (_React$PureComponent) {
40
40
  (0, _inherits2.default)(LinkSearchListItem, _React$PureComponent);
41
41
  var _super = _createSuper(LinkSearchListItem);
@@ -11,6 +11,16 @@ var messages = exports.messages = (0, _reactIntlNext.defineMessages)({
11
11
  defaultMessage: 'Table options',
12
12
  description: 'Opens a menu with additional table options'
13
13
  },
14
+ tableSizeIncreaseScreenReaderInformation: {
15
+ id: 'fabric.editor.tableResizeScreenReaderInformation',
16
+ defaultMessage: 'Table width increased to {newWidth} pixels.',
17
+ description: 'Information for screen reader users about increasing the table size by a certain number of pixels.'
18
+ },
19
+ tableSizeDecreaseScreenReaderInformation: {
20
+ id: 'fabric.editor.tableResizeScreenReaderInformation',
21
+ defaultMessage: 'Table width decreased to {newWidth} pixels.',
22
+ description: 'Information for screen reader users about decreasing the table size by a certain number of pixels.'
23
+ },
14
24
  headerRow: {
15
25
  id: 'fabric.editor.headerRow',
16
26
  defaultMessage: 'Header row',
@@ -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.2";
19
+ var packageVersion = "76.26.4";
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
@@ -5,7 +5,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.default = ResizerNext;
8
+ exports.default = void 0;
9
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
11
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
@@ -21,12 +21,20 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
21
21
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
22
22
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23
23
  var SUPPORTED_HANDLES = ['left', 'right'];
24
- function ResizerNext(props) {
24
+ var ResizerNext = function ResizerNext(props, ref) {
25
25
  var _useState = (0, _react.useState)(false),
26
26
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
27
27
  isResizing = _useState2[0],
28
28
  setIsResizing = _useState2[1];
29
29
  var resizable = (0, _react.useRef)(null);
30
+ var resizeHandleThumbRef = (0, _react.useRef)(null);
31
+ (0, _react.useImperativeHandle)(ref, function () {
32
+ return {
33
+ getResizerThumbEl: function getResizerThumbEl() {
34
+ return resizeHandleThumbRef.current;
35
+ }
36
+ };
37
+ }, [resizeHandleThumbRef]);
30
38
  var width = props.width,
31
39
  children = props.children,
32
40
  handleClassName = props.handleClassName,
@@ -105,18 +113,25 @@ function ResizerNext(props) {
105
113
  }, _resizer.resizerDangerClassName, appearance === 'danger'));
106
114
  var handleComponent = (0, _react.useMemo)(function () {
107
115
  return SUPPORTED_HANDLES.reduce(function (result, position) {
108
- var thumb = /*#__PURE__*/_react.default.createElement("div", {
116
+ var thumb = /*#__PURE__*/_react.default.createElement("button", {
109
117
  className: _resizer.resizerHandleThumbClassName,
110
118
  "data-testid": "resizer-handle-".concat(position, "-thumb"),
111
- contentEditable: false
119
+ contentEditable: false,
120
+ ref: resizeHandleThumbRef,
121
+ type: "button",
122
+ tabIndex: -1 //We want to control focus on this button ourselves
112
123
  });
124
+
113
125
  if ((!handleHighlight || handleHighlight === 'none') && !handleTooltipContent) {
114
126
  return _objectSpread(_objectSpread({}, result), {}, (0, _defineProperty2.default)({}, position, thumb));
115
127
  }
116
- var thumbWithTrack = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
128
+ var thumbWithTrack =
129
+ /*#__PURE__*/
130
+ //It's important to have {thumb} element before the div, the thumb element is the one that gets focus and only the 1st element recives aria-descibedby attribute which is important for screen reader users
131
+ _react.default.createElement(_react.default.Fragment, null, thumb, /*#__PURE__*/_react.default.createElement("div", {
117
132
  className: (0, _classnames2.default)(_resizer.resizerHandleTrackClassName, handleHighlight),
118
133
  "data-testid": "resizer-handle-".concat(position, "-track")
119
- }), thumb);
134
+ }));
120
135
  if (!!handleTooltipContent) {
121
136
  return _objectSpread(_objectSpread({}, result), {}, (0, _defineProperty2.default)({}, position, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
122
137
  content: handleTooltipContent,
@@ -159,4 +174,5 @@ function ResizerNext(props) {
159
174
  }, otherProps), /*#__PURE__*/_react.default.createElement("span", {
160
175
  className: _resizer.resizerHoverZoneClassName
161
176
  }, children));
162
- }
177
+ };
178
+ var _default = exports.default = /*#__PURE__*/(0, _react.forwardRef)(ResizerNext);
@@ -11,4 +11,4 @@ var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
11
11
  var _colors = require("@atlaskit/theme/colors");
12
12
  var _templateObject;
13
13
  var GRID_GUTTER = exports.GRID_GUTTER = 12;
14
- var gridStyles = exports.gridStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .gridParent {\n width: calc(100% + ", "px);\n margin-left: -", "px;\n margin-right: -", "px;\n transform: scale(1);\n z-index: ", ";\n }\n\n .gridContainer {\n position: fixed;\n height: 100vh;\n width: 100%;\n pointer-events: none;\n }\n\n // TODO: https://product-fabric.atlassian.net/browse/DSP-4352\n .gridLine {\n border-left: 1px solid ", ";\n display: inline-block;\n box-sizing: border-box;\n height: 100%;\n margin-left: -1px;\n\n transition: border-color 0.15s linear;\n z-index: 0;\n }\n\n .highlight {\n border-left: 1px solid ", ";\n }\n"])), GRID_GUTTER * 2, GRID_GUTTER, GRID_GUTTER, _editorSharedStyles.akEditorGridLineZIndex, "var(--ds-border, ".concat(_colors.N30A, ")"), "var(--ds-border-focused, ".concat(_colors.B200, ")"));
14
+ var gridStyles = exports.gridStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .gridParent {\n width: calc(100% + ", "px);\n margin-left: ", "; // Negative GRID_GUTTER\n margin-right: ", "; // Negative GRID_GUTTER\n transform: scale(1);\n z-index: ", ";\n }\n\n .gridContainer {\n position: fixed;\n height: 100vh;\n width: 100%;\n pointer-events: none;\n }\n\n // TODO: https://product-fabric.atlassian.net/browse/DSP-4352\n .gridLine {\n border-left: 1px solid ", ";\n display: inline-block;\n box-sizing: border-box;\n height: 100%;\n margin-left: -1px;\n\n transition: border-color 0.15s linear;\n z-index: 0;\n }\n\n .highlight {\n border-left: 1px solid ", ";\n }\n"])), GRID_GUTTER * 2, "var(--ds-space-negative-150, -12px)", "var(--ds-space-negative-150, -12px)", _editorSharedStyles.akEditorGridLineZIndex, "var(--ds-border, ".concat(_colors.N30A, ")"), "var(--ds-border-focused, ".concat(_colors.B200, ")"));
@@ -26,4 +26,4 @@ var resizerDangerClassName = exports.resizerDangerClassName = "".concat(resizerH
26
26
  var akEditorSelectedNodeClassName = 'ak-editor-selected-node';
27
27
  var handleWrapperClass = exports.handleWrapperClass = 'resizer-handle-wrapper';
28
28
  var resizerHandleZIndex = exports.resizerHandleZIndex = 1;
29
- var resizerStyles = exports.resizerStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .", " {\n will-change: width;\n\n &:hover,\n &.display-handle {\n & > .", " > .", " {\n visibility: visible;\n opacity: 1;\n }\n }\n\n &.is-resizing {\n & .", " {\n background: ", ";\n }\n }\n\n &.", " {\n & .", " {\n transition: none;\n background: ", ";\n }\n }\n }\n\n .", " {\n display: flex;\n visibility: hidden;\n opacity: 0;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 7px;\n transition: visibility 0.2s, opacity 0.2s;\n\n /*\n NOTE: The below style is targeted at the div element added by the tooltip. We don't have any means of injecting styles\n into the tooltip\n */\n & div[role='presentation'] {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n margin-top: ", ";\n white-space: normal;\n }\n\n /*\n Handle Positions\n */\n &.left {\n align-items: flex-start;\n }\n &.right {\n align-items: flex-end;\n }\n\n /*\n Handle Sizing\n */\n &.small {\n & .", " {\n height: 43px;\n }\n }\n &.medium {\n & .", " {\n height: 64px;\n }\n }\n &.large {\n & .", " {\n height: 96px;\n }\n }\n\n /*\n Handle Alignment\n */\n &.sticky {\n & .", " {\n position: sticky;\n top: ", ";\n bottom: ", ";\n }\n }\n\n &:hover {\n & .", " {\n background: ", ";\n }\n\n & .", " {\n visibility: visible;\n opacity: 0.5;\n }\n }\n }\n\n .", " {\n content: ' ';\n display: flex;\n width: 3px;\n margin: 0 ", ";\n height: 64px;\n transition: background-color 0.2s;\n border-radius: 6px;\n\n min-height: 24px;\n background: ", ";\n }\n\n .", " {\n visibility: hidden;\n position: absolute;\n width: 7px;\n height: calc(100% - 40px);\n border-radius: 4px;\n opacity: 0;\n transition: background-color 0.2s, visibility 0.2s, opacity 0.2s;\n\n &.none {\n background: none;\n }\n\n &.shadow {\n background: ", ";\n }\n\n &.full-height {\n background: ", ";\n height: 100%;\n min-height: 36px;\n }\n }\n\n .", " {\n & .", " {\n background: ", ";\n }\n }\n\n .", " {\n padding: 0 ", ";\n position: relative;\n display: inline-block;\n width: 100%;\n left: ", ";\n }\n\n // This below style is here to make sure the image width is correct when nested in a table\n table .", " {\n padding: unset;\n left: unset;\n }\n"])), resizerItemClassName, handleWrapperClass, resizerHandleClassName, resizerHandleThumbClassName, "var(--ds-border-focused, ".concat(_colors.B200, ")"), resizerDangerClassName, resizerHandleThumbClassName, "var(--ds-icon-danger, ".concat(_editorSharedStyles.akEditorDeleteIconColor, ")"), resizerHandleClassName, "var(--ds-space-negative-200, -16px)", resizerHandleThumbClassName, resizerHandleThumbClassName, resizerHandleThumbClassName, resizerHandleThumbClassName, "var(--ds-space-150, 12px)", "var(--ds-space-150, 12px)", resizerHandleThumbClassName, "var(--ds-border-focused, ".concat(_colors.B200, ")"), resizerHandleTrackClassName, resizerHandleThumbClassName, "var(--ds-space-025, 2px)", "var(--ds-border, ".concat(_colors.N60, ")"), resizerHandleTrackClassName, "var(--ds-background-selected, ".concat(_colors.B50, ")"), "var(--ds-background-selected, ".concat(_colors.B50, ")"), akEditorSelectedNodeClassName, resizerHandleThumbClassName, "var(--ds-border-focused, ".concat(_colors.B200, ")"), resizerHoverZoneClassName, "var(--ds-space-150, 12px)", "var(--ds-space-negative-150, -12px)", resizerHoverZoneClassName);
29
+ var resizerStyles = exports.resizerStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .", " {\n will-change: width;\n\n &:hover,\n &.display-handle {\n & > .", " > .", " {\n visibility: visible;\n opacity: 1;\n }\n }\n\n &.is-resizing {\n & .", " {\n background: ", ";\n }\n }\n\n &.", " {\n & .", " {\n transition: none;\n background: ", ";\n }\n }\n }\n\n .", " {\n display: flex;\n visibility: hidden;\n opacity: 0;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 7px;\n transition: visibility 0.2s, opacity 0.2s;\n\n /*\n NOTE: The below style is targeted at the div element added by the tooltip. We don't have any means of injecting styles\n into the tooltip\n */\n & div[role='presentation'] {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n margin-top: ", ";\n white-space: normal;\n }\n\n /*\n Handle Positions\n */\n &.left {\n align-items: flex-start;\n }\n &.right {\n align-items: flex-end;\n }\n\n /*\n Handle Sizing\n */\n &.small {\n & .", " {\n height: 43px;\n }\n }\n &.medium {\n & .", " {\n height: 64px;\n }\n }\n &.large {\n & .", " {\n height: 96px;\n }\n }\n\n /*\n Handle Alignment\n */\n &.sticky {\n & .", " {\n position: sticky;\n top: ", ";\n bottom: ", ";\n }\n }\n\n &:hover {\n & .", " {\n background: ", ";\n }\n\n & .", " {\n visibility: visible;\n opacity: 0.5;\n }\n }\n }\n\n .", " {\n content: ' ';\n display: flex;\n width: 3px;\n margin: 0 ", ";\n height: 64px;\n transition: background-color 0.2s;\n border-radius: 6px;\n border: 0;\n padding: 0;\n z-index: 2;\n outline: none;\n min-height: 24px;\n background: ", ";\n\n &:hover {\n cursor: col-resize;\n }\n\n &:focus {\n background: ", ";\n\n &::after {\n content: '';\n position: absolute;\n top: ", ";\n right: ", ";\n bottom: ", ";\n left: ", ";\n border: 2px solid ", ";\n border-radius: inherit;\n z-index: -1;\n }\n }\n }\n\n .", " {\n visibility: hidden;\n position: absolute;\n width: 7px;\n height: calc(100% - 40px);\n border-radius: 4px;\n opacity: 0;\n transition: background-color 0.2s, visibility 0.2s, opacity 0.2s;\n\n &.none {\n background: none;\n }\n\n &.shadow {\n background: ", ";\n }\n\n &.full-height {\n background: ", ";\n height: 100%;\n min-height: 36px;\n }\n }\n\n .", " {\n & .", " {\n background: ", ";\n }\n }\n\n .", " {\n padding: 0 ", ";\n position: relative;\n display: inline-block;\n width: 100%;\n left: ", ";\n }\n\n // This below style is here to make sure the image width is correct when nested in a table\n table .", " {\n padding: unset;\n left: unset;\n }\n"])), resizerItemClassName, handleWrapperClass, resizerHandleClassName, resizerHandleThumbClassName, "var(--ds-border-focused, ".concat(_colors.B200, ")"), resizerDangerClassName, resizerHandleThumbClassName, "var(--ds-icon-danger, ".concat(_editorSharedStyles.akEditorDeleteIconColor, ")"), resizerHandleClassName, "var(--ds-space-negative-200, -16px)", resizerHandleThumbClassName, resizerHandleThumbClassName, resizerHandleThumbClassName, resizerHandleThumbClassName, "var(--ds-space-150, 12px)", "var(--ds-space-150, 12px)", resizerHandleThumbClassName, "var(--ds-border-focused, ".concat(_colors.B200, ")"), resizerHandleTrackClassName, resizerHandleThumbClassName, "var(--ds-space-025, 2px)", "var(--ds-border, ".concat(_colors.N60, ")"), "var(--ds-border-selected, #0C66E4)", "var(--ds-space-negative-050, -4px)", "var(--ds-space-negative-050, -4px)", "var(--ds-space-negative-050, -4px)", "var(--ds-space-negative-050, -4px)", "var(--ds-border-focused, #388BFF)", resizerHandleTrackClassName, "var(--ds-background-selected, ".concat(_colors.B50, ")"), "var(--ds-background-selected, ".concat(_colors.B50, ")"), akEditorSelectedNodeClassName, resizerHandleThumbClassName, "var(--ds-border-focused, ".concat(_colors.B200, ")"), resizerHoverZoneClassName, "var(--ds-space-150, 12px)", "var(--ds-space-negative-150, -12px)", resizerHoverZoneClassName);
@@ -14,4 +14,4 @@ var TaskDecisionSharedCssClassName = exports.TaskDecisionSharedCssClassName = {
14
14
  TASK_CONTAINER: 'taskItemView-content-wrap',
15
15
  TASK_ITEM: 'task-item'
16
16
  };
17
- var tasksAndDecisionsStyles = exports.tasksAndDecisionsStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .ProseMirror {\n .taskItemView-content-wrap,\n .", " {\n position: relative;\n min-width: ", "px;\n }\n\n .", " {\n margin-top: 0;\n }\n\n .", " {\n span[contenteditable='false'] {\n height: ", "em;\n }\n }\n\n .", " {\n line-height: ", ";\n }\n }\n\n div[data-task-local-id] {\n span[contenteditable='false'] {\n height: ", "em;\n }\n span[contenteditable='false'] + div {\n line-height: ", "em;\n }\n }\n\n div[data-task-list-local-id] {\n margin: 12px 0 0 0;\n }\n\n div[data-task-list-local-id] {\n // If task item is not first in the list then set margin top to 4px.\n div + div {\n margin-top: ", ";\n }\n }\n\n // If task list is not first in the document then set margin top to 4px.\n div[data-task-list-local-id] div[data-task-list-local-id] {\n margin-top: ", ";\n margin-left: 24px;\n }\n"])), TaskDecisionSharedCssClassName.DECISION_CONTAINER, _editorSharedStyles.akEditorTableCellMinWidth, TaskDecisionSharedCssClassName.DECISION_CONTAINER, TaskDecisionSharedCssClassName.TASK_CONTAINER, _editorSharedStyles.akEditorLineHeight, TaskDecisionSharedCssClassName.TASK_ITEM, _editorSharedStyles.akEditorLineHeight, _editorSharedStyles.akEditorLineHeight, _editorSharedStyles.akEditorLineHeight, "var(--ds-space-050, 4px)", "var(--ds-space-050, 4px)");
17
+ var tasksAndDecisionsStyles = exports.tasksAndDecisionsStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .ProseMirror {\n .taskItemView-content-wrap,\n .", " {\n position: relative;\n min-width: ", "px;\n }\n\n .", " {\n margin-top: 0;\n }\n\n .", " {\n span[contenteditable='false'] {\n height: ", "em;\n }\n }\n\n .", " {\n line-height: ", ";\n }\n }\n\n div[data-task-local-id] {\n span[contenteditable='false'] {\n height: ", "em;\n }\n span[contenteditable='false'] + div {\n line-height: ", "em;\n }\n }\n\n div[data-task-list-local-id] {\n margin: ", " 0 0 0;\n }\n\n div[data-task-list-local-id] {\n // If task item is not first in the list then set margin top to 4px.\n div + div {\n margin-top: ", ";\n }\n }\n\n // If task list is not first in the document then set margin top to 4px.\n div[data-task-list-local-id] div[data-task-list-local-id] {\n margin-top: ", ";\n margin-left: ", ";\n }\n"])), TaskDecisionSharedCssClassName.DECISION_CONTAINER, _editorSharedStyles.akEditorTableCellMinWidth, TaskDecisionSharedCssClassName.DECISION_CONTAINER, TaskDecisionSharedCssClassName.TASK_CONTAINER, _editorSharedStyles.akEditorLineHeight, TaskDecisionSharedCssClassName.TASK_ITEM, _editorSharedStyles.akEditorLineHeight, _editorSharedStyles.akEditorLineHeight, _editorSharedStyles.akEditorLineHeight, "var(--ds-space-150, 12px)", "var(--ds-space-050, 4px)", "var(--ds-space-050, 4px)", "var(--ds-space-300, 24px)");
@@ -21,7 +21,7 @@ var _templateObject, _templateObject2;
21
21
  /** @jsx jsx */
22
22
  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); }; }
23
23
  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; } }
24
- var captionWrapperStyle = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n margin-top: 8px;\n text-align: center;\n position: relative;\n color: ", ";\n"])), "var(--ds-text-subtle, ".concat(_colors.N400, ")"));
24
+ var captionWrapperStyle = (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n margin-top: ", ";\n text-align: center;\n position: relative;\n color: ", ";\n"])), "var(--ds-space-100, 8px)", "var(--ds-text-subtle, ".concat(_colors.N400, ")"));
25
25
  var placeholderStyle = (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n color: ", ";\n position: absolute;\n top: 0;\n width: 100%;\n"])), "var(--ds-text-subtlest, ".concat(_colors.N200, ")"));
26
26
  var CaptionComponent = exports.CaptionComponent = /*#__PURE__*/function (_React$Component) {
27
27
  (0, _inherits2.default)(CaptionComponent, _React$Component);
@@ -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.2";
27
+ var packageVersion = "76.26.4";
28
28
  var halfFocusRing = 1;
29
29
  var dropOffset = '0, 8';
30
30
  var DropList = /*#__PURE__*/function (_Component) {
@@ -60,6 +60,7 @@ export const previousCell = makeKeyMapWithCommon('Previous cell', 'Shift-Tab');
60
60
  export const shiftArrowUp = makeKeyMapWithCommon('Shift ArrowUp', 'Shift-ArrowUp');
61
61
  export const shiftTab = makeKeyMapWithCommon('Shift Tab', 'Shift-Tab');
62
62
  export const toggleTable = makeKeyMapWithCommon('Table', 'Shift-Alt-t');
63
+ export const focusTableResizer = makeKeyMapWithCommon('Focus Table Resizer', 'Alt-Mod-Shift-r');
63
64
  export const addRowBefore = makeKeyMapWithCommon('Add Row Above', 'Ctrl-Alt-ArrowUp');
64
65
  export const addRowAfter = makeKeyMapWithCommon('Add Row Below', 'Ctrl-Alt-ArrowDown');
65
66
  export const addColumnAfter = makeKeyMapWithCommon('Add Column After', 'Ctrl-Alt-ArrowRight');
@@ -12,7 +12,7 @@ import { getCorrectAltByIconUrl } from './listItemAlts';
12
12
  import { transformTimeStamp } from './transformTimeStamp';
13
13
  export const container = css`
14
14
  background-color: transparent;
15
- padding: 8px 12px;
15
+ padding: ${"var(--ds-space-100, 8px)"} ${"var(--ds-space-150, 12px)"};
16
16
  cursor: pointer;
17
17
  display: flex;
18
18
  margin-top: 0;
@@ -38,7 +38,7 @@ export const containerName = css`
38
38
  const iconStyle = css`
39
39
  min-width: 16px;
40
40
  margin-top: 3px;
41
- margin-right: 12px;
41
+ margin-right: ${"var(--ds-space-150, 12px)"};
42
42
 
43
43
  img {
44
44
  max-width: 16px;
@@ -5,6 +5,16 @@ export const messages = defineMessages({
5
5
  defaultMessage: 'Table options',
6
6
  description: 'Opens a menu with additional table options'
7
7
  },
8
+ tableSizeIncreaseScreenReaderInformation: {
9
+ id: 'fabric.editor.tableResizeScreenReaderInformation',
10
+ defaultMessage: 'Table width increased to {newWidth} pixels.',
11
+ description: 'Information for screen reader users about increasing the table size by a certain number of pixels.'
12
+ },
13
+ tableSizeDecreaseScreenReaderInformation: {
14
+ id: 'fabric.editor.tableResizeScreenReaderInformation',
15
+ defaultMessage: 'Table width decreased to {newWidth} pixels.',
16
+ description: 'Information for screen reader users about decreasing the table size by a certain number of pixels.'
17
+ },
8
18
  headerRow: {
9
19
  id: 'fabric.editor.headerRow',
10
20
  defaultMessage: 'Header row',
@@ -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.2";
3
+ const packageVersion = "76.26.4";
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
@@ -1,13 +1,21 @@
1
1
  import _extends from "@babel/runtime/helpers/extends";
2
- import React, { useCallback, useMemo, useRef, useState } from 'react';
2
+ import React, { forwardRef, useCallback, useImperativeHandle, useMemo, useRef, useState } from 'react';
3
3
  import classnames from 'classnames';
4
4
  import { Resizable } from 're-resizable';
5
5
  import Tooltip from '@atlaskit/tooltip';
6
6
  import { handleWrapperClass, resizerDangerClassName, resizerHandleClassName, resizerHandleThumbClassName, resizerHandleTrackClassName, resizerHandleZIndex, resizerHoverZoneClassName, resizerItemClassName } from '../styles/shared/resizer';
7
7
  const SUPPORTED_HANDLES = ['left', 'right'];
8
- export default function ResizerNext(props) {
8
+ const ResizerNext = (props, ref) => {
9
9
  const [isResizing, setIsResizing] = useState(false);
10
10
  const resizable = useRef(null);
11
+ const resizeHandleThumbRef = useRef(null);
12
+ useImperativeHandle(ref, () => {
13
+ return {
14
+ getResizerThumbEl() {
15
+ return resizeHandleThumbRef.current;
16
+ }
17
+ };
18
+ }, [resizeHandleThumbRef]);
11
19
  const {
12
20
  width,
13
21
  children,
@@ -88,21 +96,28 @@ export default function ResizerNext(props) {
88
96
  });
89
97
  const handleComponent = useMemo(() => {
90
98
  return SUPPORTED_HANDLES.reduce((result, position) => {
91
- const thumb = /*#__PURE__*/React.createElement("div", {
99
+ const thumb = /*#__PURE__*/React.createElement("button", {
92
100
  className: resizerHandleThumbClassName,
93
101
  "data-testid": `resizer-handle-${position}-thumb`,
94
- contentEditable: false
102
+ contentEditable: false,
103
+ ref: resizeHandleThumbRef,
104
+ type: "button",
105
+ tabIndex: -1 //We want to control focus on this button ourselves
95
106
  });
107
+
96
108
  if ((!handleHighlight || handleHighlight === 'none') && !handleTooltipContent) {
97
109
  return {
98
110
  ...result,
99
111
  [position]: thumb
100
112
  };
101
113
  }
102
- const thumbWithTrack = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
114
+ const thumbWithTrack =
115
+ /*#__PURE__*/
116
+ //It's important to have {thumb} element before the div, the thumb element is the one that gets focus and only the 1st element recives aria-descibedby attribute which is important for screen reader users
117
+ React.createElement(React.Fragment, null, thumb, /*#__PURE__*/React.createElement("div", {
103
118
  className: classnames(resizerHandleTrackClassName, handleHighlight),
104
119
  "data-testid": `resizer-handle-${position}-track`
105
- }), thumb);
120
+ }));
106
121
  if (!!handleTooltipContent) {
107
122
  return {
108
123
  ...result,
@@ -151,4 +166,5 @@ export default function ResizerNext(props) {
151
166
  }, otherProps), /*#__PURE__*/React.createElement("span", {
152
167
  className: resizerHoverZoneClassName
153
168
  }, children));
154
- }
169
+ };
170
+ export default /*#__PURE__*/forwardRef(ResizerNext);
@@ -5,8 +5,8 @@ export const GRID_GUTTER = 12;
5
5
  export const gridStyles = css`
6
6
  .gridParent {
7
7
  width: calc(100% + ${GRID_GUTTER * 2}px);
8
- margin-left: -${GRID_GUTTER}px;
9
- margin-right: -${GRID_GUTTER}px;
8
+ margin-left: ${"var(--ds-space-negative-150, -12px)"}; // Negative GRID_GUTTER
9
+ margin-right: ${"var(--ds-space-negative-150, -12px)"}; // Negative GRID_GUTTER
10
10
  transform: scale(1);
11
11
  z-index: ${akEditorGridLineZIndex};
12
12
  }
@@ -128,9 +128,32 @@ export const resizerStyles = css`
128
128
  height: 64px;
129
129
  transition: background-color 0.2s;
130
130
  border-radius: 6px;
131
-
131
+ border: 0;
132
+ padding: 0;
133
+ z-index: 2;
134
+ outline: none;
132
135
  min-height: 24px;
133
136
  background: ${`var(--ds-border, ${N60})`};
137
+
138
+ &:hover {
139
+ cursor: col-resize;
140
+ }
141
+
142
+ &:focus {
143
+ background: ${"var(--ds-border-selected, #0C66E4)"};
144
+
145
+ &::after {
146
+ content: '';
147
+ position: absolute;
148
+ top: ${"var(--ds-space-negative-050, -4px)"};
149
+ right: ${"var(--ds-space-negative-050, -4px)"};
150
+ bottom: ${"var(--ds-space-negative-050, -4px)"};
151
+ left: ${"var(--ds-space-negative-050, -4px)"};
152
+ border: 2px solid ${"var(--ds-border-focused, #388BFF)"};
153
+ border-radius: inherit;
154
+ z-index: -1;
155
+ }
156
+ }
134
157
  }
135
158
 
136
159
  .${resizerHandleTrackClassName} {
@@ -38,7 +38,7 @@ export const tasksAndDecisionsStyles = css`
38
38
  }
39
39
 
40
40
  div[data-task-list-local-id] {
41
- margin: 12px 0 0 0;
41
+ margin: ${"var(--ds-space-150, 12px)"} 0 0 0;
42
42
  }
43
43
 
44
44
  div[data-task-list-local-id] {
@@ -51,6 +51,6 @@ export const tasksAndDecisionsStyles = css`
51
51
  // If task list is not first in the document then set margin top to 4px.
52
52
  div[data-task-list-local-id] div[data-task-list-local-id] {
53
53
  margin-top: ${"var(--ds-space-050, 4px)"};
54
- margin-left: 24px;
54
+ margin-left: ${"var(--ds-space-300, 24px)"};
55
55
  }
56
56
  `;
@@ -6,7 +6,7 @@ import { injectIntl } from 'react-intl-next';
6
6
  import { N200, N400 } from '@atlaskit/theme/colors';
7
7
  import { messages } from './messages';
8
8
  const captionWrapperStyle = css`
9
- margin-top: 8px;
9
+ margin-top: ${"var(--ds-space-100, 8px)"};
10
10
  text-align: center;
11
11
  position: relative;
12
12
  color: ${`var(--ds-text-subtle, ${N400})`};
@@ -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.2";
12
+ const packageVersion = "76.26.4";
13
13
  const halfFocusRing = 1;
14
14
  const dropOffset = '0, 8';
15
15
  class DropList extends Component {
@@ -63,6 +63,7 @@ export var previousCell = makeKeyMapWithCommon('Previous cell', 'Shift-Tab');
63
63
  export var shiftArrowUp = makeKeyMapWithCommon('Shift ArrowUp', 'Shift-ArrowUp');
64
64
  export var shiftTab = makeKeyMapWithCommon('Shift Tab', 'Shift-Tab');
65
65
  export var toggleTable = makeKeyMapWithCommon('Table', 'Shift-Alt-t');
66
+ export var focusTableResizer = makeKeyMapWithCommon('Focus Table Resizer', 'Alt-Mod-Shift-r');
66
67
  export var addRowBefore = makeKeyMapWithCommon('Add Row Above', 'Ctrl-Alt-ArrowUp');
67
68
  export var addRowAfter = makeKeyMapWithCommon('Add Row Below', 'Ctrl-Alt-ArrowDown');
68
69
  export var addColumnAfter = makeKeyMapWithCommon('Add Column After', 'Ctrl-Alt-ArrowRight');
@@ -20,12 +20,12 @@ import { N20, N300, N800 } from '@atlaskit/theme/colors';
20
20
  import { fontSizeSmall } from '@atlaskit/theme/constants';
21
21
  import { getCorrectAltByIconUrl } from './listItemAlts';
22
22
  import { transformTimeStamp } from './transformTimeStamp';
23
- export var container = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background-color: transparent;\n padding: 8px 12px;\n cursor: pointer;\n display: flex;\n margin-top: 0;\n"])));
23
+ export var container = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background-color: transparent;\n padding: ", " ", ";\n cursor: pointer;\n display: flex;\n margin-top: 0;\n"])), "var(--ds-space-100, 8px)", "var(--ds-space-150, 12px)");
24
24
  export var containerSelected = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n background-color: ", ";\n"])), "var(--ds-background-neutral-subtle-hovered, ".concat(N20, ")"));
25
25
  var nameWrapper = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n overflow: hidden;\n"])));
26
26
  export var nameStyle = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n color: ", ";\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n line-height: 20px;\n"])), "var(--ds-text, ".concat(N800, ")"));
27
27
  export var containerName = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n color: ", ";\n line-height: 14px;\n font-size: ", ";\n"])), "var(--ds-text-subtlest, ".concat(N300, ")"), relativeFontSizeToBase16(fontSizeSmall()));
28
- var iconStyle = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n min-width: 16px;\n margin-top: 3px;\n margin-right: 12px;\n\n img {\n max-width: 16px;\n }\n"])));
28
+ var iconStyle = css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n min-width: 16px;\n margin-top: 3px;\n margin-right: ", ";\n\n img {\n max-width: 16px;\n }\n"])), "var(--ds-space-150, 12px)");
29
29
  var LinkSearchListItem = /*#__PURE__*/function (_React$PureComponent) {
30
30
  _inherits(LinkSearchListItem, _React$PureComponent);
31
31
  var _super = _createSuper(LinkSearchListItem);
@@ -5,6 +5,16 @@ export var messages = defineMessages({
5
5
  defaultMessage: 'Table options',
6
6
  description: 'Opens a menu with additional table options'
7
7
  },
8
+ tableSizeIncreaseScreenReaderInformation: {
9
+ id: 'fabric.editor.tableResizeScreenReaderInformation',
10
+ defaultMessage: 'Table width increased to {newWidth} pixels.',
11
+ description: 'Information for screen reader users about increasing the table size by a certain number of pixels.'
12
+ },
13
+ tableSizeDecreaseScreenReaderInformation: {
14
+ id: 'fabric.editor.tableResizeScreenReaderInformation',
15
+ defaultMessage: 'Table width decreased to {newWidth} pixels.',
16
+ description: 'Information for screen reader users about decreasing the table size by a certain number of pixels.'
17
+ },
8
18
  headerRow: {
9
19
  id: 'fabric.editor.headerRow',
10
20
  defaultMessage: 'Header row',
@@ -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.2";
9
+ var packageVersion = "76.26.4";
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
@@ -5,18 +5,26 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
5
5
  var _excluded = ["width", "children", "handleClassName", "className", "handleResize", "handleResizeStart", "handleResizeStop", "handleSize", "handleAlignmentMethod", "handlePositioning", "appearance", "handleStyles", "resizeRatio", "snap", "snapGap", "isHandleVisible", "handleHighlight", "handleTooltipContent"];
6
6
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7
7
  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; }
8
- import React, { useCallback, useMemo, useRef, useState } from 'react';
8
+ import React, { forwardRef, useCallback, useImperativeHandle, useMemo, useRef, useState } from 'react';
9
9
  import classnames from 'classnames';
10
10
  import { Resizable } from 're-resizable';
11
11
  import Tooltip from '@atlaskit/tooltip';
12
12
  import { handleWrapperClass, resizerDangerClassName, resizerHandleClassName, resizerHandleThumbClassName, resizerHandleTrackClassName, resizerHandleZIndex, resizerHoverZoneClassName, resizerItemClassName } from '../styles/shared/resizer';
13
13
  var SUPPORTED_HANDLES = ['left', 'right'];
14
- export default function ResizerNext(props) {
14
+ var ResizerNext = function ResizerNext(props, ref) {
15
15
  var _useState = useState(false),
16
16
  _useState2 = _slicedToArray(_useState, 2),
17
17
  isResizing = _useState2[0],
18
18
  setIsResizing = _useState2[1];
19
19
  var resizable = useRef(null);
20
+ var resizeHandleThumbRef = useRef(null);
21
+ useImperativeHandle(ref, function () {
22
+ return {
23
+ getResizerThumbEl: function getResizerThumbEl() {
24
+ return resizeHandleThumbRef.current;
25
+ }
26
+ };
27
+ }, [resizeHandleThumbRef]);
20
28
  var width = props.width,
21
29
  children = props.children,
22
30
  handleClassName = props.handleClassName,
@@ -95,18 +103,25 @@ export default function ResizerNext(props) {
95
103
  }, resizerDangerClassName, appearance === 'danger'));
96
104
  var handleComponent = useMemo(function () {
97
105
  return SUPPORTED_HANDLES.reduce(function (result, position) {
98
- var thumb = /*#__PURE__*/React.createElement("div", {
106
+ var thumb = /*#__PURE__*/React.createElement("button", {
99
107
  className: resizerHandleThumbClassName,
100
108
  "data-testid": "resizer-handle-".concat(position, "-thumb"),
101
- contentEditable: false
109
+ contentEditable: false,
110
+ ref: resizeHandleThumbRef,
111
+ type: "button",
112
+ tabIndex: -1 //We want to control focus on this button ourselves
102
113
  });
114
+
103
115
  if ((!handleHighlight || handleHighlight === 'none') && !handleTooltipContent) {
104
116
  return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, position, thumb));
105
117
  }
106
- var thumbWithTrack = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
118
+ var thumbWithTrack =
119
+ /*#__PURE__*/
120
+ //It's important to have {thumb} element before the div, the thumb element is the one that gets focus and only the 1st element recives aria-descibedby attribute which is important for screen reader users
121
+ React.createElement(React.Fragment, null, thumb, /*#__PURE__*/React.createElement("div", {
107
122
  className: classnames(resizerHandleTrackClassName, handleHighlight),
108
123
  "data-testid": "resizer-handle-".concat(position, "-track")
109
- }), thumb);
124
+ }));
110
125
  if (!!handleTooltipContent) {
111
126
  return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, position, /*#__PURE__*/React.createElement(Tooltip, {
112
127
  content: handleTooltipContent,
@@ -149,4 +164,5 @@ export default function ResizerNext(props) {
149
164
  }, otherProps), /*#__PURE__*/React.createElement("span", {
150
165
  className: resizerHoverZoneClassName
151
166
  }, children));
152
- }
167
+ };
168
+ export default /*#__PURE__*/forwardRef(ResizerNext);
@@ -4,4 +4,4 @@ import { css } from '@emotion/react';
4
4
  import { akEditorGridLineZIndex } from '@atlaskit/editor-shared-styles';
5
5
  import { B200, N30A } from '@atlaskit/theme/colors';
6
6
  export var GRID_GUTTER = 12;
7
- export var gridStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .gridParent {\n width: calc(100% + ", "px);\n margin-left: -", "px;\n margin-right: -", "px;\n transform: scale(1);\n z-index: ", ";\n }\n\n .gridContainer {\n position: fixed;\n height: 100vh;\n width: 100%;\n pointer-events: none;\n }\n\n // TODO: https://product-fabric.atlassian.net/browse/DSP-4352\n .gridLine {\n border-left: 1px solid ", ";\n display: inline-block;\n box-sizing: border-box;\n height: 100%;\n margin-left: -1px;\n\n transition: border-color 0.15s linear;\n z-index: 0;\n }\n\n .highlight {\n border-left: 1px solid ", ";\n }\n"])), GRID_GUTTER * 2, GRID_GUTTER, GRID_GUTTER, akEditorGridLineZIndex, "var(--ds-border, ".concat(N30A, ")"), "var(--ds-border-focused, ".concat(B200, ")"));
7
+ export var gridStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .gridParent {\n width: calc(100% + ", "px);\n margin-left: ", "; // Negative GRID_GUTTER\n margin-right: ", "; // Negative GRID_GUTTER\n transform: scale(1);\n z-index: ", ";\n }\n\n .gridContainer {\n position: fixed;\n height: 100vh;\n width: 100%;\n pointer-events: none;\n }\n\n // TODO: https://product-fabric.atlassian.net/browse/DSP-4352\n .gridLine {\n border-left: 1px solid ", ";\n display: inline-block;\n box-sizing: border-box;\n height: 100%;\n margin-left: -1px;\n\n transition: border-color 0.15s linear;\n z-index: 0;\n }\n\n .highlight {\n border-left: 1px solid ", ";\n }\n"])), GRID_GUTTER * 2, "var(--ds-space-negative-150, -12px)", "var(--ds-space-negative-150, -12px)", akEditorGridLineZIndex, "var(--ds-border, ".concat(N30A, ")"), "var(--ds-border-focused, ".concat(B200, ")"));
@@ -19,4 +19,4 @@ export var resizerDangerClassName = "".concat(resizerHandleClassName, "-danger")
19
19
  var akEditorSelectedNodeClassName = 'ak-editor-selected-node';
20
20
  export var handleWrapperClass = 'resizer-handle-wrapper';
21
21
  export var resizerHandleZIndex = 1;
22
- export var resizerStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .", " {\n will-change: width;\n\n &:hover,\n &.display-handle {\n & > .", " > .", " {\n visibility: visible;\n opacity: 1;\n }\n }\n\n &.is-resizing {\n & .", " {\n background: ", ";\n }\n }\n\n &.", " {\n & .", " {\n transition: none;\n background: ", ";\n }\n }\n }\n\n .", " {\n display: flex;\n visibility: hidden;\n opacity: 0;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 7px;\n transition: visibility 0.2s, opacity 0.2s;\n\n /*\n NOTE: The below style is targeted at the div element added by the tooltip. We don't have any means of injecting styles\n into the tooltip\n */\n & div[role='presentation'] {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n margin-top: ", ";\n white-space: normal;\n }\n\n /*\n Handle Positions\n */\n &.left {\n align-items: flex-start;\n }\n &.right {\n align-items: flex-end;\n }\n\n /*\n Handle Sizing\n */\n &.small {\n & .", " {\n height: 43px;\n }\n }\n &.medium {\n & .", " {\n height: 64px;\n }\n }\n &.large {\n & .", " {\n height: 96px;\n }\n }\n\n /*\n Handle Alignment\n */\n &.sticky {\n & .", " {\n position: sticky;\n top: ", ";\n bottom: ", ";\n }\n }\n\n &:hover {\n & .", " {\n background: ", ";\n }\n\n & .", " {\n visibility: visible;\n opacity: 0.5;\n }\n }\n }\n\n .", " {\n content: ' ';\n display: flex;\n width: 3px;\n margin: 0 ", ";\n height: 64px;\n transition: background-color 0.2s;\n border-radius: 6px;\n\n min-height: 24px;\n background: ", ";\n }\n\n .", " {\n visibility: hidden;\n position: absolute;\n width: 7px;\n height: calc(100% - 40px);\n border-radius: 4px;\n opacity: 0;\n transition: background-color 0.2s, visibility 0.2s, opacity 0.2s;\n\n &.none {\n background: none;\n }\n\n &.shadow {\n background: ", ";\n }\n\n &.full-height {\n background: ", ";\n height: 100%;\n min-height: 36px;\n }\n }\n\n .", " {\n & .", " {\n background: ", ";\n }\n }\n\n .", " {\n padding: 0 ", ";\n position: relative;\n display: inline-block;\n width: 100%;\n left: ", ";\n }\n\n // This below style is here to make sure the image width is correct when nested in a table\n table .", " {\n padding: unset;\n left: unset;\n }\n"])), resizerItemClassName, handleWrapperClass, resizerHandleClassName, resizerHandleThumbClassName, "var(--ds-border-focused, ".concat(B200, ")"), resizerDangerClassName, resizerHandleThumbClassName, "var(--ds-icon-danger, ".concat(akEditorDeleteIconColor, ")"), resizerHandleClassName, "var(--ds-space-negative-200, -16px)", resizerHandleThumbClassName, resizerHandleThumbClassName, resizerHandleThumbClassName, resizerHandleThumbClassName, "var(--ds-space-150, 12px)", "var(--ds-space-150, 12px)", resizerHandleThumbClassName, "var(--ds-border-focused, ".concat(B200, ")"), resizerHandleTrackClassName, resizerHandleThumbClassName, "var(--ds-space-025, 2px)", "var(--ds-border, ".concat(N60, ")"), resizerHandleTrackClassName, "var(--ds-background-selected, ".concat(B50, ")"), "var(--ds-background-selected, ".concat(B50, ")"), akEditorSelectedNodeClassName, resizerHandleThumbClassName, "var(--ds-border-focused, ".concat(B200, ")"), resizerHoverZoneClassName, "var(--ds-space-150, 12px)", "var(--ds-space-negative-150, -12px)", resizerHoverZoneClassName);
22
+ export var resizerStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .", " {\n will-change: width;\n\n &:hover,\n &.display-handle {\n & > .", " > .", " {\n visibility: visible;\n opacity: 1;\n }\n }\n\n &.is-resizing {\n & .", " {\n background: ", ";\n }\n }\n\n &.", " {\n & .", " {\n transition: none;\n background: ", ";\n }\n }\n }\n\n .", " {\n display: flex;\n visibility: hidden;\n opacity: 0;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 7px;\n transition: visibility 0.2s, opacity 0.2s;\n\n /*\n NOTE: The below style is targeted at the div element added by the tooltip. We don't have any means of injecting styles\n into the tooltip\n */\n & div[role='presentation'] {\n width: 100%;\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n margin-top: ", ";\n white-space: normal;\n }\n\n /*\n Handle Positions\n */\n &.left {\n align-items: flex-start;\n }\n &.right {\n align-items: flex-end;\n }\n\n /*\n Handle Sizing\n */\n &.small {\n & .", " {\n height: 43px;\n }\n }\n &.medium {\n & .", " {\n height: 64px;\n }\n }\n &.large {\n & .", " {\n height: 96px;\n }\n }\n\n /*\n Handle Alignment\n */\n &.sticky {\n & .", " {\n position: sticky;\n top: ", ";\n bottom: ", ";\n }\n }\n\n &:hover {\n & .", " {\n background: ", ";\n }\n\n & .", " {\n visibility: visible;\n opacity: 0.5;\n }\n }\n }\n\n .", " {\n content: ' ';\n display: flex;\n width: 3px;\n margin: 0 ", ";\n height: 64px;\n transition: background-color 0.2s;\n border-radius: 6px;\n border: 0;\n padding: 0;\n z-index: 2;\n outline: none;\n min-height: 24px;\n background: ", ";\n\n &:hover {\n cursor: col-resize;\n }\n\n &:focus {\n background: ", ";\n\n &::after {\n content: '';\n position: absolute;\n top: ", ";\n right: ", ";\n bottom: ", ";\n left: ", ";\n border: 2px solid ", ";\n border-radius: inherit;\n z-index: -1;\n }\n }\n }\n\n .", " {\n visibility: hidden;\n position: absolute;\n width: 7px;\n height: calc(100% - 40px);\n border-radius: 4px;\n opacity: 0;\n transition: background-color 0.2s, visibility 0.2s, opacity 0.2s;\n\n &.none {\n background: none;\n }\n\n &.shadow {\n background: ", ";\n }\n\n &.full-height {\n background: ", ";\n height: 100%;\n min-height: 36px;\n }\n }\n\n .", " {\n & .", " {\n background: ", ";\n }\n }\n\n .", " {\n padding: 0 ", ";\n position: relative;\n display: inline-block;\n width: 100%;\n left: ", ";\n }\n\n // This below style is here to make sure the image width is correct when nested in a table\n table .", " {\n padding: unset;\n left: unset;\n }\n"])), resizerItemClassName, handleWrapperClass, resizerHandleClassName, resizerHandleThumbClassName, "var(--ds-border-focused, ".concat(B200, ")"), resizerDangerClassName, resizerHandleThumbClassName, "var(--ds-icon-danger, ".concat(akEditorDeleteIconColor, ")"), resizerHandleClassName, "var(--ds-space-negative-200, -16px)", resizerHandleThumbClassName, resizerHandleThumbClassName, resizerHandleThumbClassName, resizerHandleThumbClassName, "var(--ds-space-150, 12px)", "var(--ds-space-150, 12px)", resizerHandleThumbClassName, "var(--ds-border-focused, ".concat(B200, ")"), resizerHandleTrackClassName, resizerHandleThumbClassName, "var(--ds-space-025, 2px)", "var(--ds-border, ".concat(N60, ")"), "var(--ds-border-selected, #0C66E4)", "var(--ds-space-negative-050, -4px)", "var(--ds-space-negative-050, -4px)", "var(--ds-space-negative-050, -4px)", "var(--ds-space-negative-050, -4px)", "var(--ds-border-focused, #388BFF)", resizerHandleTrackClassName, "var(--ds-background-selected, ".concat(B50, ")"), "var(--ds-background-selected, ".concat(B50, ")"), akEditorSelectedNodeClassName, resizerHandleThumbClassName, "var(--ds-border-focused, ".concat(B200, ")"), resizerHoverZoneClassName, "var(--ds-space-150, 12px)", "var(--ds-space-negative-150, -12px)", resizerHoverZoneClassName);
@@ -7,4 +7,4 @@ export var TaskDecisionSharedCssClassName = {
7
7
  TASK_CONTAINER: 'taskItemView-content-wrap',
8
8
  TASK_ITEM: 'task-item'
9
9
  };
10
- export var tasksAndDecisionsStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .ProseMirror {\n .taskItemView-content-wrap,\n .", " {\n position: relative;\n min-width: ", "px;\n }\n\n .", " {\n margin-top: 0;\n }\n\n .", " {\n span[contenteditable='false'] {\n height: ", "em;\n }\n }\n\n .", " {\n line-height: ", ";\n }\n }\n\n div[data-task-local-id] {\n span[contenteditable='false'] {\n height: ", "em;\n }\n span[contenteditable='false'] + div {\n line-height: ", "em;\n }\n }\n\n div[data-task-list-local-id] {\n margin: 12px 0 0 0;\n }\n\n div[data-task-list-local-id] {\n // If task item is not first in the list then set margin top to 4px.\n div + div {\n margin-top: ", ";\n }\n }\n\n // If task list is not first in the document then set margin top to 4px.\n div[data-task-list-local-id] div[data-task-list-local-id] {\n margin-top: ", ";\n margin-left: 24px;\n }\n"])), TaskDecisionSharedCssClassName.DECISION_CONTAINER, akEditorTableCellMinWidth, TaskDecisionSharedCssClassName.DECISION_CONTAINER, TaskDecisionSharedCssClassName.TASK_CONTAINER, akEditorLineHeight, TaskDecisionSharedCssClassName.TASK_ITEM, akEditorLineHeight, akEditorLineHeight, akEditorLineHeight, "var(--ds-space-050, 4px)", "var(--ds-space-050, 4px)");
10
+ export var tasksAndDecisionsStyles = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n .ProseMirror {\n .taskItemView-content-wrap,\n .", " {\n position: relative;\n min-width: ", "px;\n }\n\n .", " {\n margin-top: 0;\n }\n\n .", " {\n span[contenteditable='false'] {\n height: ", "em;\n }\n }\n\n .", " {\n line-height: ", ";\n }\n }\n\n div[data-task-local-id] {\n span[contenteditable='false'] {\n height: ", "em;\n }\n span[contenteditable='false'] + div {\n line-height: ", "em;\n }\n }\n\n div[data-task-list-local-id] {\n margin: ", " 0 0 0;\n }\n\n div[data-task-list-local-id] {\n // If task item is not first in the list then set margin top to 4px.\n div + div {\n margin-top: ", ";\n }\n }\n\n // If task list is not first in the document then set margin top to 4px.\n div[data-task-list-local-id] div[data-task-list-local-id] {\n margin-top: ", ";\n margin-left: ", ";\n }\n"])), TaskDecisionSharedCssClassName.DECISION_CONTAINER, akEditorTableCellMinWidth, TaskDecisionSharedCssClassName.DECISION_CONTAINER, TaskDecisionSharedCssClassName.TASK_CONTAINER, akEditorLineHeight, TaskDecisionSharedCssClassName.TASK_ITEM, akEditorLineHeight, akEditorLineHeight, akEditorLineHeight, "var(--ds-space-150, 12px)", "var(--ds-space-050, 4px)", "var(--ds-space-050, 4px)", "var(--ds-space-300, 24px)");
@@ -14,7 +14,7 @@ import { css, jsx } from '@emotion/react';
14
14
  import { injectIntl } from 'react-intl-next';
15
15
  import { N200, N400 } from '@atlaskit/theme/colors';
16
16
  import { messages } from './messages';
17
- var captionWrapperStyle = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n margin-top: 8px;\n text-align: center;\n position: relative;\n color: ", ";\n"])), "var(--ds-text-subtle, ".concat(N400, ")"));
17
+ var captionWrapperStyle = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n margin-top: ", ";\n text-align: center;\n position: relative;\n color: ", ";\n"])), "var(--ds-space-100, 8px)", "var(--ds-text-subtle, ".concat(N400, ")"));
18
18
  var placeholderStyle = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n color: ", ";\n position: absolute;\n top: 0;\n width: 100%;\n"])), "var(--ds-text-subtlest, ".concat(N200, ")"));
19
19
  export var CaptionComponent = /*#__PURE__*/function (_React$Component) {
20
20
  _inherits(CaptionComponent, _React$Component);
@@ -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.2";
22
+ var packageVersion = "76.26.4";
23
23
  var halfFocusRing = 1;
24
24
  var dropOffset = '0, 8';
25
25
  var DropList = /*#__PURE__*/function (_Component) {
@@ -58,6 +58,7 @@ export declare const previousCell: Keymap;
58
58
  export declare const shiftArrowUp: Keymap;
59
59
  export declare const shiftTab: Keymap;
60
60
  export declare const toggleTable: Keymap;
61
+ export declare const focusTableResizer: Keymap;
61
62
  export declare const addRowBefore: Keymap;
62
63
  export declare const addRowAfter: Keymap;
63
64
  export declare const addColumnAfter: Keymap;
@@ -4,6 +4,16 @@ export declare const messages: {
4
4
  defaultMessage: string;
5
5
  description: string;
6
6
  };
7
+ tableSizeIncreaseScreenReaderInformation: {
8
+ id: string;
9
+ defaultMessage: string;
10
+ description: string;
11
+ };
12
+ tableSizeDecreaseScreenReaderInformation: {
13
+ id: string;
14
+ defaultMessage: string;
15
+ description: string;
16
+ };
7
17
  headerRow: {
8
18
  id: string;
9
19
  defaultMessage: string;
@@ -1,4 +1,5 @@
1
- import type { CSSProperties, PropsWithChildren } from 'react';
1
+ import React from 'react';
2
+ import type { CSSProperties } from 'react';
2
3
  import type { TooltipProps } from '@atlaskit/tooltip';
3
4
  import type { EnabledHandles, HandleAlignmentMethod, HandleHighlight, HandlePositioning, HandleResize, HandleResizeStart, HandleSize, HandleStyles, ResizerAppearance, Snap } from './types';
4
5
  export type ResizerProps = {
@@ -49,4 +50,10 @@ export type ResizerProps = {
49
50
  */
50
51
  handleTooltipContent?: TooltipProps['content'];
51
52
  };
52
- export default function ResizerNext(props: PropsWithChildren<ResizerProps>): JSX.Element;
53
+ type forwardRefType = {
54
+ getResizerThumbEl: () => HTMLButtonElement | null;
55
+ };
56
+ declare const _default: React.ForwardRefExoticComponent<ResizerProps & {
57
+ children?: React.ReactNode;
58
+ } & React.RefAttributes<forwardRefType>>;
59
+ export default _default;
@@ -58,6 +58,7 @@ export declare const previousCell: Keymap;
58
58
  export declare const shiftArrowUp: Keymap;
59
59
  export declare const shiftTab: Keymap;
60
60
  export declare const toggleTable: Keymap;
61
+ export declare const focusTableResizer: Keymap;
61
62
  export declare const addRowBefore: Keymap;
62
63
  export declare const addRowAfter: Keymap;
63
64
  export declare const addColumnAfter: Keymap;
@@ -4,6 +4,16 @@ export declare const messages: {
4
4
  defaultMessage: string;
5
5
  description: string;
6
6
  };
7
+ tableSizeIncreaseScreenReaderInformation: {
8
+ id: string;
9
+ defaultMessage: string;
10
+ description: string;
11
+ };
12
+ tableSizeDecreaseScreenReaderInformation: {
13
+ id: string;
14
+ defaultMessage: string;
15
+ description: string;
16
+ };
7
17
  headerRow: {
8
18
  id: string;
9
19
  defaultMessage: string;
@@ -1,4 +1,5 @@
1
- import type { CSSProperties, PropsWithChildren } from 'react';
1
+ import React from 'react';
2
+ import type { CSSProperties } from 'react';
2
3
  import type { TooltipProps } from '@atlaskit/tooltip';
3
4
  import type { EnabledHandles, HandleAlignmentMethod, HandleHighlight, HandlePositioning, HandleResize, HandleResizeStart, HandleSize, HandleStyles, ResizerAppearance, Snap } from './types';
4
5
  export type ResizerProps = {
@@ -49,4 +50,10 @@ export type ResizerProps = {
49
50
  */
50
51
  handleTooltipContent?: TooltipProps['content'];
51
52
  };
52
- export default function ResizerNext(props: PropsWithChildren<ResizerProps>): JSX.Element;
53
+ type forwardRefType = {
54
+ getResizerThumbEl: () => HTMLButtonElement | null;
55
+ };
56
+ declare const _default: React.ForwardRefExoticComponent<ResizerProps & {
57
+ children?: React.ReactNode;
58
+ } & React.RefAttributes<forwardRefType>>;
59
+ export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "76.26.2",
3
+ "version": "76.26.4",
4
4
  "description": "A package that contains common classes and components for editor and renderer",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"