@atlaskit/editor-common 78.3.0 → 78.3.2

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 (45) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cjs/extensibility/MultiBodiedExtension/action-api.js +6 -5
  3. package/dist/cjs/extensibility/MultiBodiedExtension/index.js +3 -2
  4. package/dist/cjs/extensibility/MultiBodiedExtension/styles.js +3 -9
  5. package/dist/cjs/monitoring/error.js +1 -1
  6. package/dist/cjs/resizer/Resizer.js +7 -2
  7. package/dist/cjs/styles/shared/resizer.js +1 -1
  8. package/dist/cjs/ui/DropList/index.js +1 -1
  9. package/dist/cjs/ui/MediaSingle/styled.js +1 -1
  10. package/dist/cjs/ui/Mention/mention-with-profilecard.js +3 -1
  11. package/dist/cjs/ui/MultiBodiedExtension/index.js +21 -0
  12. package/dist/cjs/ui/index.js +7 -0
  13. package/dist/es2019/extensibility/MultiBodiedExtension/action-api.js +6 -5
  14. package/dist/es2019/extensibility/MultiBodiedExtension/index.js +5 -4
  15. package/dist/es2019/extensibility/MultiBodiedExtension/styles.js +2 -64
  16. package/dist/es2019/monitoring/error.js +1 -1
  17. package/dist/es2019/resizer/Resizer.js +5 -1
  18. package/dist/es2019/styles/shared/resizer.js +5 -2
  19. package/dist/es2019/ui/DropList/index.js +1 -1
  20. package/dist/es2019/ui/MediaSingle/styled.js +1 -0
  21. package/dist/es2019/ui/Mention/mention-with-profilecard.js +3 -1
  22. package/dist/es2019/ui/MultiBodiedExtension/index.js +87 -0
  23. package/dist/es2019/ui/index.js +2 -1
  24. package/dist/esm/extensibility/MultiBodiedExtension/action-api.js +6 -5
  25. package/dist/esm/extensibility/MultiBodiedExtension/index.js +4 -3
  26. package/dist/esm/extensibility/MultiBodiedExtension/styles.js +2 -8
  27. package/dist/esm/monitoring/error.js +1 -1
  28. package/dist/esm/resizer/Resizer.js +7 -2
  29. package/dist/esm/styles/shared/resizer.js +1 -1
  30. package/dist/esm/ui/DropList/index.js +1 -1
  31. package/dist/esm/ui/MediaSingle/styled.js +1 -1
  32. package/dist/esm/ui/Mention/mention-with-profilecard.js +3 -1
  33. package/dist/esm/ui/MultiBodiedExtension/index.js +15 -0
  34. package/dist/esm/ui/index.js +2 -1
  35. package/dist/types/extensibility/MultiBodiedExtension/styles.d.ts +0 -3
  36. package/dist/types/resizer/Resizer.d.ts +4 -0
  37. package/dist/types/ui/Mention/mention-with-profilecard.d.ts +3 -3
  38. package/dist/types/ui/MultiBodiedExtension/index.d.ts +6 -0
  39. package/dist/types/ui/index.d.ts +1 -0
  40. package/dist/types-ts4.5/extensibility/MultiBodiedExtension/styles.d.ts +0 -3
  41. package/dist/types-ts4.5/resizer/Resizer.d.ts +4 -0
  42. package/dist/types-ts4.5/ui/Mention/mention-with-profilecard.d.ts +3 -3
  43. package/dist/types-ts4.5/ui/MultiBodiedExtension/index.d.ts +6 -0
  44. package/dist/types-ts4.5/ui/index.d.ts +1 -0
  45. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 78.3.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#74684](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/74684) [`077c9034fc89`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/077c9034fc89) - Pass fullName as ariaLabel to ProfileCardTrigger props'
8
+
9
+ ## 78.3.1
10
+
11
+ ### Patch Changes
12
+
13
+ - [#74333](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/74333) [`600bcf196eab`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/600bcf196eab) - [ux] ED-21950: CSS fixes related to MBE
14
+ - [#75026](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/75026) [`7a7995739cfa`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/7a7995739cfa) - ED-22247 Set max-width to 100% when rendering media inside panel
15
+ - [#73364](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/73364) [`1c4d3e31c0e8`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/1c4d3e31c0e8) - fix last insert row button hard to select issue
16
+ - Updated dependencies
17
+
3
18
  ## 78.3.0
4
19
 
5
20
  ### Minor Changes
@@ -21,6 +21,7 @@ var useMultiBodiedExtensionActions = exports.useMultiBodiedExtensionActions = fu
21
21
  var actions = _react.default.useMemo(function () {
22
22
  return {
23
23
  changeActive: function changeActive(index) {
24
+ var _possiblyMbeNode$type;
24
25
  var state = editorView.state,
25
26
  dispatch = editorView.dispatch;
26
27
  var updateActiveChildResult = updateActiveChild(index);
@@ -28,12 +29,12 @@ var useMultiBodiedExtensionActions = exports.useMultiBodiedExtensionActions = fu
28
29
  (0, _utils.sendMBEAnalyticsEvent)(_analytics.ACTION.CHANGE_ACTIVE, node, eventDispatcher);
29
30
  }
30
31
  // On selection of a childFrame, we need to change the focus/selection to the end of the target child Frame
31
- var mbeNode = state.doc.nodeAt(state.tr.selection.from);
32
+ var possiblyMbeNode = state.doc.nodeAt(state.tr.selection.from);
32
33
  var desiredPos = state.tr.selection.from || 0;
33
- if (mbeNode && mbeNode !== null && mbeNode !== void 0 && mbeNode.content) {
34
- for (var i = 0; i <= index && i < (mbeNode === null || mbeNode === void 0 || (_mbeNode$content = mbeNode.content) === null || _mbeNode$content === void 0 ? void 0 : _mbeNode$content.childCount); i++) {
35
- var _mbeNode$content, _mbeNode$content2;
36
- desiredPos += (mbeNode === null || mbeNode === void 0 || (_mbeNode$content2 = mbeNode.content) === null || _mbeNode$content2 === void 0 || (_mbeNode$content2 = _mbeNode$content2.child(i)) === null || _mbeNode$content2 === void 0 ? void 0 : _mbeNode$content2.nodeSize) || 0;
34
+ if (possiblyMbeNode && (possiblyMbeNode === null || possiblyMbeNode === void 0 || (_possiblyMbeNode$type = possiblyMbeNode.type) === null || _possiblyMbeNode$type === void 0 ? void 0 : _possiblyMbeNode$type.name) === 'multiBodiedExtension' && possiblyMbeNode !== null && possiblyMbeNode !== void 0 && possiblyMbeNode.content) {
35
+ for (var i = 0; i <= index && i < (possiblyMbeNode === null || possiblyMbeNode === void 0 || (_possiblyMbeNode$cont = possiblyMbeNode.content) === null || _possiblyMbeNode$cont === void 0 ? void 0 : _possiblyMbeNode$cont.childCount); i++) {
36
+ var _possiblyMbeNode$cont, _possiblyMbeNode$cont2;
37
+ desiredPos += (possiblyMbeNode === null || possiblyMbeNode === void 0 || (_possiblyMbeNode$cont2 = possiblyMbeNode.content) === null || _possiblyMbeNode$cont2 === void 0 || (_possiblyMbeNode$cont2 = _possiblyMbeNode$cont2.child(i)) === null || _possiblyMbeNode$cont2 === void 0 ? void 0 : _possiblyMbeNode$cont2.nodeSize) || 0;
37
38
  }
38
39
  /* desiredPos gives the cursor at the end of last child of the current frame, in case of paragraph nodes, this will be the end of the paragraph
39
40
  * Performing -1 brings the cursor inside the paragraph, similar to a user click, so any pasted text will be inside the last paragraph rather than a new line
@@ -16,6 +16,7 @@ var _react2 = require("@emotion/react");
16
16
  var _classnames = _interopRequireDefault(require("classnames"));
17
17
  var _file = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/file"));
18
18
  var _hooks = require("../../hooks");
19
+ var _MultiBodiedExtension = require("../../ui/MultiBodiedExtension");
19
20
  var _utils = require("../../utils");
20
21
  var _withPluginState = require("../../with-plugin-state");
21
22
  var _actionApi = require("./action-api");
@@ -89,7 +90,7 @@ var MultiBodiedExtensionWithWidth = function MultiBodiedExtensionWithWidth(_ref)
89
90
  var articleRef = _react.default.useCallback(function (node) {
90
91
  return handleContentDOMRef(node);
91
92
  }, [handleContentDOMRef]);
92
- var containerCssExtended = (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n .multiBodiedExtension-content-dom-wrapper\n > [data-extension-frame='true']:nth-of-type(", ") {\n ", "\n }\n "])), _styles.mbeExtensionContainerCSS, activeChildIndex + 1, _styles.extensionFrameContentCSS);
93
+ var containerCssExtended = (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n .multiBodiedExtension-content-dom-wrapper\n > [data-extension-frame='true']:nth-of-type(", ") {\n ", "\n }\n "])), _MultiBodiedExtension.sharedMultiBodiedExtensionStyles.mbeExtensionContainer, activeChildIndex + 1, _MultiBodiedExtension.sharedMultiBodiedExtensionStyles.extensionFrameContent);
93
94
  var shouldBreakout =
94
95
  // Extension should breakout when the layout is set to 'full-width' or 'wide'.
95
96
  ['full-width', 'wide'].includes(node.attrs.layout) &&
@@ -118,7 +119,7 @@ var MultiBodiedExtensionWithWidth = function MultiBodiedExtensionWithWidth(_ref)
118
119
  "data-active-child-index": activeChildIndex
119
120
  }, (0, _react2.jsx)("nav", {
120
121
  className: "multiBodiedExtension-navigation",
121
- css: _styles.mbeNavigationCSS,
122
+ css: _MultiBodiedExtension.sharedMultiBodiedExtensionStyles.mbeNavigation,
122
123
  "data-testid": "multiBodiedExtension-navigation"
123
124
  }, extensionHandlerResult), (0, _react2.jsx)("article", {
124
125
  className: "multiBodiedExtension--frames",
@@ -4,16 +4,10 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.mbeNavigationCSS = exports.mbeExtensionWrapperCSS = exports.mbeExtensionContainerCSS = exports.extensionFrameContentCSS = void 0;
7
+ exports.mbeExtensionWrapperCSS = void 0;
8
8
  var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
9
  var _react = require("@emotion/react");
10
- var _colors = require("@atlaskit/theme/colors");
11
10
  var _styles = require("../Extension/styles");
12
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
11
+ var _templateObject;
13
12
  // Wrapper the extension title and extensionContainer
14
- var mbeExtensionWrapperCSS = exports.mbeExtensionWrapperCSS = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n cursor: pointer;\n .extension-title {\n display: flex;\n align-items: center;\n line-height: 16px !important;\n margin-bottom: ", ";\n margin-left: ", " !important;\n margin-right: ", ";\n padding-top: ", " !important;\n }\n"])), _styles.wrapperDefault, "var(--ds-space-100, 8px)", "var(--ds-space-050, 4px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)");
15
-
16
- // Wraps the navigation bar and extensionFrames
17
- var mbeExtensionContainerCSS = exports.mbeExtensionContainerCSS = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n background: transpaent !important;\n padding: {\n bottom: ", " !important;\n left: ", " !important;\n right: ", " !important;\n }\n padding-bottom: ", ";\n position: relative;\n vertical-align: middle;\n cursor: pointer;\n\n .multiBodiedExtension-content-dom-wrapper > [data-extension-frame='true'] {\n display: none;\n background: ", ";\n }\n"])), "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-surface, white)");
18
- var mbeNavigationCSS = exports.mbeNavigationCSS = (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n // make sure the user can't see a range selection inside the navigation\n // This is really important to keep the navigation working properly\n border-top-left-radius: ", ";\n border-top-right-radius: ", ";\n\n user-select: none;\n -webkit-user-modify: read-only;\n border: 1px solid ", ";\n border-bottom: none;\n background: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"])), "var(--ds-border-radius, 3px)", "var(--ds-border-radius, 3px)", "var(--ds-border, ".concat(_colors.N40, ")"), "var(--ds-surface, white)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)");
19
- var extensionFrameContentCSS = exports.extensionFrameContentCSS = (0, _react.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n padding: ", " !important;\n border: 1px solid ", ";\n display: block;\n min-height: 100px;\n background: ", ";\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n\n margin-left: ", ";\n margin-right: ", ";\n cursor: initial;\n\n .pm-table-container {\n margin-left: ", " !important;\n padding-right: ", " !important;\n }\n .pm-table-with-controls {\n margin-left: ", " !important;\n padding-right: ", " !important;\n }\n .bodiedExtensionView-content-wrap {\n margin-top: ", " !important;\n }\n // Extension wrap have an additional margin on all four borders, so we need to adjust the spacing\n // compared to the bodiedExtensionView-content-wrap\n .extensionView-content-wrap {\n margin-top: ", " !important;\n }\n"])), "var(--ds-space-100, 8px)", "var(--ds-border, ".concat(_colors.N30, ")"), "var(--ds-surface, white)", "var(--ds-border-radius, 3px)", "var(--ds-border-radius, 3px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-space-200, 16px)", "var(--ds-space-150, 12px)", "var(--ds-space-150, 12px)", "var(--ds-space-150, 12px)", "var(--ds-space-100, 8px)");
13
+ var mbeExtensionWrapperCSS = exports.mbeExtensionWrapperCSS = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", ";\n cursor: pointer;\n margin-top: ", ";\n margin-bottom: ", ";\n .extension-title {\n display: flex;\n align-items: center;\n line-height: 16px !important;\n margin-bottom: ", ";\n margin-left: ", " !important;\n margin-right: ", ";\n padding-top: ", " !important;\n }\n"])), _styles.wrapperDefault, "var(--ds-space-250, 24px)", "var(--ds-space-200, 16px)", "var(--ds-space-100, 8px)", "var(--ds-space-050, 4px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)");
@@ -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 = "78.3.0";
19
+ var packageVersion = "78.3.2";
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
@@ -15,7 +15,7 @@ var _classnames2 = _interopRequireDefault(require("classnames"));
15
15
  var _reResizable = require("re-resizable");
16
16
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
17
17
  var _resizer = require("../styles/shared/resizer");
18
- var _excluded = ["width", "children", "handleClassName", "className", "handleResize", "handleResizeStart", "handleResizeStop", "handleSize", "handleAlignmentMethod", "handlePositioning", "appearance", "handleStyles", "resizeRatio", "snap", "snapGap", "isHandleVisible", "handleHighlight", "handleTooltipContent"];
18
+ var _excluded = ["width", "children", "handleClassName", "className", "handleResize", "handleResizeStart", "handleResizeStop", "handleSize", "handleAlignmentMethod", "handlePositioning", "appearance", "handleStyles", "resizeRatio", "snap", "snapGap", "isHandleVisible", "handleHighlight", "handleTooltipContent", "needExtendedResizeZone"];
19
19
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
20
  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; }
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; }
@@ -59,6 +59,8 @@ var ResizerNext = function ResizerNext(props, ref) {
59
59
  _props$handleHighligh = props.handleHighlight,
60
60
  handleHighlight = _props$handleHighligh === void 0 ? 'none' : _props$handleHighligh,
61
61
  handleTooltipContent = props.handleTooltipContent,
62
+ _props$needExtendedRe = props.needExtendedResizeZone,
63
+ needExtendedResizeZone = _props$needExtendedRe === void 0 ? true : _props$needExtendedRe,
62
64
  otherProps = (0, _objectWithoutProperties2.default)(props, _excluded);
63
65
  var onResizeStart = (0, _react.useCallback)(function (event) {
64
66
  // prevent creating a drag event on Firefox
@@ -111,6 +113,9 @@ var ResizerNext = function ResizerNext(props, ref) {
111
113
  'is-resizing': isResizing,
112
114
  'display-handle': isHandleVisible
113
115
  }, _resizer.resizerDangerClassName, appearance === 'danger'));
116
+ var resizerZoneClassName = (0, _classnames2.default)(_resizer.resizerHoverZoneClassName, {
117
+ 'is-extended': needExtendedResizeZone
118
+ });
114
119
  var handleComponent = (0, _react.useMemo)(function () {
115
120
  return SUPPORTED_HANDLES.reduce(function (result, position) {
116
121
  var thumb = /*#__PURE__*/_react.default.createElement("button", {
@@ -172,7 +177,7 @@ var ResizerNext = function ResizerNext(props, ref) {
172
177
  snap: snap,
173
178
  handleComponent: handleComponent
174
179
  }, otherProps), /*#__PURE__*/_react.default.createElement("span", {
175
- className: _resizer.resizerHoverZoneClassName
180
+ className: resizerZoneClassName
176
181
  }, children));
177
182
  };
178
183
  var _default = exports.default = /*#__PURE__*/(0, _react.forwardRef)(ResizerNext);
@@ -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 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);
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 position: relative;\n display: inline-block;\n width: 100%;\n\n &.is-extended {\n padding: 0 ", ";\n left: ", ";\n }\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);
@@ -22,7 +22,7 @@ var _templateObject, _templateObject2, _templateObject3;
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; } } /** @jsx jsx */
24
24
  var packageName = "@atlaskit/editor-common";
25
- var packageVersion = "78.3.0";
25
+ var packageVersion = "78.3.2";
26
26
  var halfFocusRing = 1;
27
27
  var dropOffset = '0, 8';
28
28
  var DropList = /*#__PURE__*/function (_Component) {
@@ -123,7 +123,7 @@ var MediaSingleDimensionHelper = exports.MediaSingleDimensionHelper = function M
123
123
  isExtendedResizeExperienceOn = _ref.isExtendedResizeExperienceOn,
124
124
  _ref$isNestedNode = _ref.isNestedNode,
125
125
  isNestedNode = _ref$isNestedNode === void 0 ? false : _ref$isNestedNode;
126
- return (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n /* For nested rich media items, set max-width to 100% */\n tr &,\n [data-layout-column] &,\n [data-node-type='expand'] &,\n li & {\n max-width: 100%;\n }\n\n width: ", ";\n ", "\n max-width: ", ";\n\n ", "\n\n &:not(.is-resizing) {\n transition: width 100ms ease-in;\n }\n\n float: ", ";\n margin: ", ";\n\n &[class*='not-resizing'] {\n ", "\n }\n\n ", ";\n"])), isExtendedResizeExperienceOn ? "".concat(mediaSingleWidth || width, "px") : mediaSingleWidth ? calcResizedWidth(layout, width || 0, containerWidth) : calcLegacyWidth(layout, width || 0, containerWidth, fullWidthMode, isResized), layout === 'full-width' &&
126
+ return (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n /* For nested rich media items, set max-width to 100% */\n tr &,\n [data-layout-column] &,\n [data-node-type='expand'] &,\n [data-panel-type] &,\n li & {\n max-width: 100%;\n }\n\n width: ", ";\n ", "\n max-width: ", ";\n\n ", "\n\n &:not(.is-resizing) {\n transition: width 100ms ease-in;\n }\n\n float: ", ";\n margin: ", ";\n\n &[class*='not-resizing'] {\n ", "\n }\n\n ", ";\n"])), isExtendedResizeExperienceOn ? "".concat(mediaSingleWidth || width, "px") : mediaSingleWidth ? calcResizedWidth(layout, width || 0, containerWidth) : calcLegacyWidth(layout, width || 0, containerWidth, fullWidthMode, isResized), layout === 'full-width' &&
127
127
  /* This causes issues for new experience where we don't strip layout attributes
128
128
  when copying top-level node and pasting into a table/layout,
129
129
  because full-width layout will remain, causing node to be edge-to-edge */
@@ -31,7 +31,9 @@ function MentionWithProfileCard(_ref) {
31
31
  resourceClient: resourceClient,
32
32
  actions: actions,
33
33
  trigger: "click",
34
- position: "bottom-end"
34
+ position: "bottom-end",
35
+ testId: "mention-with-profilecard-trigger",
36
+ ariaLabel: text.replace(/^@/, '')
35
37
  }, /*#__PURE__*/_react.default.createElement(_mention.ResourcedMention, {
36
38
  id: id,
37
39
  text: text,
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.sharedMultiBodiedExtensionStyles = void 0;
8
+ var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
+ var _react = require("@emotion/react");
10
+ var _colors = require("@atlaskit/theme/colors");
11
+ var _templateObject, _templateObject2, _templateObject3;
12
+ /** @jsx jsx */
13
+ // Wraps the navigation bar and extensionFrames
14
+ var mbeExtensionContainer = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n background: transpaent !important;\n padding: {\n bottom: ", " !important;\n left: ", " !important;\n right: ", " !important;\n }\n padding-bottom: ", ";\n position: relative;\n vertical-align: middle;\n cursor: pointer;\n\n .multiBodiedExtension-handler-result {\n margin-left: ", ";\n }\n\n .multiBodiedExtension-content-dom-wrapper > [data-extension-frame='true'],\n .multiBodiedExtension--frames > [data-extension-frame='true'] {\n display: none;\n background: ", ";\n }\n\n .multiBodiedExtension-content-dom-wrapper,\n .multiBodiedExtension--frames {\n [data-extension-frame='true'] > :not(style):first-child,\n [data-extension-frame='true'] > style:first-child + * {\n margin-top: 0;\n }\n }\n"])), "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-surface, white)");
15
+ var mbeNavigation = (0, _react.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n // make sure the user can't see a range selection inside the navigation\n // This is really important to keep the navigation working properly\n border-top-left-radius: ", ";\n border-top-right-radius: ", ";\n\n user-select: none;\n -webkit-user-modify: read-only;\n border: 1px solid ", ";\n border-bottom: none !important;\n background: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"])), "var(--ds-border-radius, 3px)", "var(--ds-border-radius, 3px)", "var(--ds-border, ".concat(_colors.N40, ")"), "var(--ds-surface, white)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)");
16
+ var extensionFrameContent = (0, _react.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n padding: ", " !important;\n border: 1px solid ", ";\n display: block;\n min-height: 100px;\n background: ", ";\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n\n margin-left: ", ";\n margin-right: ", ";\n cursor: initial;\n\n .pm-table-with-controls {\n margin-left: ", " !important;\n padding-right: ", " !important;\n }\n .bodiedExtensionView-content-wrap {\n margin-top: ", " !important;\n }\n // Extension wrap have an additional margin on all four borders, so we need to adjust the spacing\n // compared to the bodiedExtensionView-content-wrap\n .extensionView-content-wrap {\n margin-top: ", " !important;\n }\n .decisionItemView-content-wrap {\n margin-top: 0px !important;\n }\n\n .decisionItemView-content-wrap > [data-decision-wrapper] {\n margin-top: 0px !important;\n }\n"])), "var(--ds-space-100, 8px)", "var(--ds-border, ".concat(_colors.N30, ")"), "var(--ds-surface, white)", "var(--ds-border-radius, 3px)", "var(--ds-border-radius, 3px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-space-150, 12px)", "var(--ds-space-150, 12px)", "var(--ds-space-150, 12px)", "var(--ds-space-100, 8px)");
17
+ var sharedMultiBodiedExtensionStyles = exports.sharedMultiBodiedExtensionStyles = {
18
+ mbeExtensionContainer: mbeExtensionContainer,
19
+ mbeNavigation: mbeNavigation,
20
+ extensionFrameContent: extensionFrameContent
21
+ };
@@ -353,6 +353,12 @@ Object.defineProperty(exports, "sharedExpandStyles", {
353
353
  return _Expand.sharedExpandStyles;
354
354
  }
355
355
  });
356
+ Object.defineProperty(exports, "sharedMultiBodiedExtensionStyles", {
357
+ enumerable: true,
358
+ get: function get() {
359
+ return _MultiBodiedExtension.sharedMultiBodiedExtensionStyles;
360
+ }
361
+ });
356
362
  Object.defineProperty(exports, "snapTo", {
357
363
  enumerable: true,
358
364
  get: function get() {
@@ -415,5 +421,6 @@ var _PanelTextInput = _interopRequireDefault(require("./PanelTextInput"));
415
421
  var _announcer = _interopRequireDefault(require("./Announcer/announcer"));
416
422
  var _Toolbar = require("./Toolbar");
417
423
  var _DropList = _interopRequireDefault(require("./DropList"));
424
+ var _MultiBodiedExtension = require("./MultiBodiedExtension");
418
425
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
419
426
  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; }
@@ -12,6 +12,7 @@ export const useMultiBodiedExtensionActions = ({
12
12
  const actions = React.useMemo(() => {
13
13
  return {
14
14
  changeActive(index) {
15
+ var _possiblyMbeNode$type;
15
16
  const {
16
17
  state,
17
18
  dispatch
@@ -21,12 +22,12 @@ export const useMultiBodiedExtensionActions = ({
21
22
  sendMBEAnalyticsEvent(ACTION.CHANGE_ACTIVE, node, eventDispatcher);
22
23
  }
23
24
  // On selection of a childFrame, we need to change the focus/selection to the end of the target child Frame
24
- const mbeNode = state.doc.nodeAt(state.tr.selection.from);
25
+ const possiblyMbeNode = state.doc.nodeAt(state.tr.selection.from);
25
26
  let desiredPos = state.tr.selection.from || 0;
26
- if (mbeNode && mbeNode !== null && mbeNode !== void 0 && mbeNode.content) {
27
- for (let i = 0; i <= index && i < (mbeNode === null || mbeNode === void 0 ? void 0 : (_mbeNode$content = mbeNode.content) === null || _mbeNode$content === void 0 ? void 0 : _mbeNode$content.childCount); i++) {
28
- var _mbeNode$content, _mbeNode$content2, _mbeNode$content2$chi;
29
- desiredPos += (mbeNode === null || mbeNode === void 0 ? void 0 : (_mbeNode$content2 = mbeNode.content) === null || _mbeNode$content2 === void 0 ? void 0 : (_mbeNode$content2$chi = _mbeNode$content2.child(i)) === null || _mbeNode$content2$chi === void 0 ? void 0 : _mbeNode$content2$chi.nodeSize) || 0;
27
+ if (possiblyMbeNode && (possiblyMbeNode === null || possiblyMbeNode === void 0 ? void 0 : (_possiblyMbeNode$type = possiblyMbeNode.type) === null || _possiblyMbeNode$type === void 0 ? void 0 : _possiblyMbeNode$type.name) === 'multiBodiedExtension' && possiblyMbeNode !== null && possiblyMbeNode !== void 0 && possiblyMbeNode.content) {
28
+ for (let i = 0; i <= index && i < (possiblyMbeNode === null || possiblyMbeNode === void 0 ? void 0 : (_possiblyMbeNode$cont = possiblyMbeNode.content) === null || _possiblyMbeNode$cont === void 0 ? void 0 : _possiblyMbeNode$cont.childCount); i++) {
29
+ var _possiblyMbeNode$cont, _possiblyMbeNode$cont2, _possiblyMbeNode$cont3;
30
+ desiredPos += (possiblyMbeNode === null || possiblyMbeNode === void 0 ? void 0 : (_possiblyMbeNode$cont2 = possiblyMbeNode.content) === null || _possiblyMbeNode$cont2 === void 0 ? void 0 : (_possiblyMbeNode$cont3 = _possiblyMbeNode$cont2.child(i)) === null || _possiblyMbeNode$cont3 === void 0 ? void 0 : _possiblyMbeNode$cont3.nodeSize) || 0;
30
31
  }
31
32
  /* desiredPos gives the cursor at the end of last child of the current frame, in case of paragraph nodes, this will be the end of the paragraph
32
33
  * Performing -1 brings the cursor inside the paragraph, similar to a user click, so any pasted text will be inside the last paragraph rather than a new line
@@ -7,10 +7,11 @@ import { css, jsx } from '@emotion/react';
7
7
  import classnames from 'classnames';
8
8
  import EditorFileIcon from '@atlaskit/icon/glyph/editor/file';
9
9
  import { useSharedPluginState } from '../../hooks';
10
+ import { sharedMultiBodiedExtensionStyles } from '../../ui/MultiBodiedExtension';
10
11
  import { calculateBreakoutStyles, getExtensionLozengeData } from '../../utils';
11
12
  import { WithPluginState } from '../../with-plugin-state';
12
13
  import { useMultiBodiedExtensionActions } from './action-api';
13
- import { extensionFrameContentCSS, mbeExtensionContainerCSS, mbeExtensionWrapperCSS, mbeNavigationCSS } from './styles';
14
+ import { mbeExtensionWrapperCSS } from './styles';
14
15
  // Similar to the one in platform/packages/editor/editor-common/src/extensibility/Extension/Lozenge.tsx
15
16
  const getWrapperTitleContent = (imageData, title) => {
16
17
  if (imageData) {
@@ -79,10 +80,10 @@ const MultiBodiedExtensionWithWidth = ({
79
80
  return handleContentDOMRef(node);
80
81
  }, [handleContentDOMRef]);
81
82
  const containerCssExtended = css`
82
- ${mbeExtensionContainerCSS};
83
+ ${sharedMultiBodiedExtensionStyles.mbeExtensionContainer};
83
84
  .multiBodiedExtension-content-dom-wrapper
84
85
  > [data-extension-frame='true']:nth-of-type(${activeChildIndex + 1}) {
85
- ${extensionFrameContentCSS}
86
+ ${sharedMultiBodiedExtensionStyles.extensionFrameContent}
86
87
  }
87
88
  `;
88
89
  const shouldBreakout =
@@ -114,7 +115,7 @@ const MultiBodiedExtensionWithWidth = ({
114
115
  "data-active-child-index": activeChildIndex
115
116
  }, jsx("nav", {
116
117
  className: "multiBodiedExtension-navigation",
117
- css: mbeNavigationCSS,
118
+ css: sharedMultiBodiedExtensionStyles.mbeNavigation,
118
119
  "data-testid": "multiBodiedExtension-navigation"
119
120
  }, extensionHandlerResult), jsx("article", {
120
121
  className: "multiBodiedExtension--frames",
@@ -1,11 +1,12 @@
1
1
  import { css } from '@emotion/react';
2
- import { N30, N40 } from '@atlaskit/theme/colors';
3
2
  import { wrapperDefault } from '../Extension/styles';
4
3
 
5
4
  // Wrapper the extension title and extensionContainer
6
5
  export const mbeExtensionWrapperCSS = css`
7
6
  ${wrapperDefault};
8
7
  cursor: pointer;
8
+ margin-top: ${"var(--ds-space-250, 24px)"};
9
+ margin-bottom: ${"var(--ds-space-200, 16px)"};
9
10
  .extension-title {
10
11
  display: flex;
11
12
  align-items: center;
@@ -15,67 +16,4 @@ export const mbeExtensionWrapperCSS = css`
15
16
  margin-right: ${"var(--ds-space-100, 8px)"};
16
17
  padding-top: ${"var(--ds-space-100, 8px)"} !important;
17
18
  }
18
- `;
19
-
20
- // Wraps the navigation bar and extensionFrames
21
- export const mbeExtensionContainerCSS = css`
22
- background: transpaent !important;
23
- padding: {
24
- bottom: ${"var(--ds-space-100, 8px)"} !important;
25
- left: ${"var(--ds-space-100, 8px)"} !important;
26
- right: ${"var(--ds-space-100, 8px)"} !important;
27
- }
28
- padding-bottom: ${"var(--ds-space-100, 8px)"};
29
- position: relative;
30
- vertical-align: middle;
31
- cursor: pointer;
32
-
33
- .multiBodiedExtension-content-dom-wrapper > [data-extension-frame='true'] {
34
- display: none;
35
- background: ${"var(--ds-surface, white)"};
36
- }
37
- `;
38
- export const mbeNavigationCSS = css`
39
- // make sure the user can't see a range selection inside the navigation
40
- // This is really important to keep the navigation working properly
41
- border-top-left-radius: ${"var(--ds-border-radius, 3px)"};
42
- border-top-right-radius: ${"var(--ds-border-radius, 3px)"};
43
-
44
- user-select: none;
45
- -webkit-user-modify: read-only;
46
- border: 1px solid ${`var(--ds-border, ${N40})`};
47
- border-bottom: none;
48
- background: ${"var(--ds-surface, white)"};
49
- margin-left: ${"var(--ds-space-100, 8px)"};
50
- margin-right: ${"var(--ds-space-100, 8px)"};
51
- `;
52
- export const extensionFrameContentCSS = css`
53
- padding: ${"var(--ds-space-100, 8px)"} !important;
54
- border: 1px solid ${`var(--ds-border, ${N30})`};
55
- display: block;
56
- min-height: 100px;
57
- background: ${"var(--ds-surface, white)"};
58
- border-bottom-left-radius: ${"var(--ds-border-radius, 3px)"};
59
- border-bottom-right-radius: ${"var(--ds-border-radius, 3px)"};
60
-
61
- margin-left: ${"var(--ds-space-100, 8px)"};
62
- margin-right: ${"var(--ds-space-100, 8px)"};
63
- cursor: initial;
64
-
65
- .pm-table-container {
66
- margin-left: ${"var(--ds-space-100, 8px)"} !important;
67
- padding-right: ${"var(--ds-space-200, 16px)"} !important;
68
- }
69
- .pm-table-with-controls {
70
- margin-left: ${"var(--ds-space-150, 12px)"} !important;
71
- padding-right: ${"var(--ds-space-150, 12px)"} !important;
72
- }
73
- .bodiedExtensionView-content-wrap {
74
- margin-top: ${"var(--ds-space-150, 12px)"} !important;
75
- }
76
- // Extension wrap have an additional margin on all four borders, so we need to adjust the spacing
77
- // compared to the bodiedExtensionView-content-wrap
78
- .extensionView-content-wrap {
79
- margin-top: ${"var(--ds-space-100, 8px)"} !important;
80
- }
81
19
  `;
@@ -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 = "78.3.0";
3
+ const packageVersion = "78.3.2";
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
@@ -35,6 +35,7 @@ const ResizerNext = (props, ref) => {
35
35
  isHandleVisible = false,
36
36
  handleHighlight = 'none',
37
37
  handleTooltipContent,
38
+ needExtendedResizeZone = true,
38
39
  ...otherProps
39
40
  } = props;
40
41
  const onResizeStart = useCallback(event => {
@@ -94,6 +95,9 @@ const ResizerNext = (props, ref) => {
94
95
  'display-handle': isHandleVisible,
95
96
  [resizerDangerClassName]: appearance === 'danger'
96
97
  });
98
+ const resizerZoneClassName = classnames(resizerHoverZoneClassName, {
99
+ 'is-extended': needExtendedResizeZone
100
+ });
97
101
  const handleComponent = useMemo(() => {
98
102
  return SUPPORTED_HANDLES.reduce((result, position) => {
99
103
  const thumb = /*#__PURE__*/React.createElement("button", {
@@ -164,7 +168,7 @@ const ResizerNext = (props, ref) => {
164
168
  snap: snap,
165
169
  handleComponent: handleComponent
166
170
  }, otherProps), /*#__PURE__*/React.createElement("span", {
167
- className: resizerHoverZoneClassName
171
+ className: resizerZoneClassName
168
172
  }, children));
169
173
  };
170
174
  export default /*#__PURE__*/forwardRef(ResizerNext);
@@ -187,11 +187,14 @@ export const resizerStyles = css`
187
187
  }
188
188
 
189
189
  .${resizerHoverZoneClassName} {
190
- padding: 0 ${"var(--ds-space-150, 12px)"};
191
190
  position: relative;
192
191
  display: inline-block;
193
192
  width: 100%;
194
- left: ${"var(--ds-space-negative-150, -12px)"};
193
+
194
+ &.is-extended {
195
+ padding: 0 ${"var(--ds-space-150, 12px)"};
196
+ left: ${"var(--ds-space-negative-150, -12px)"};
197
+ }
195
198
  }
196
199
 
197
200
  // This below style is here to make sure the image width is correct when nested in a table
@@ -7,7 +7,7 @@ import { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents } from '@
7
7
  import { N0, N50A, N60A, N900 } from '@atlaskit/theme/colors';
8
8
  import Layer from '../Layer';
9
9
  const packageName = "@atlaskit/editor-common";
10
- const packageVersion = "78.3.0";
10
+ const packageVersion = "78.3.2";
11
11
  const halfFocusRing = 1;
12
12
  const dropOffset = '0, 8';
13
13
  class DropList extends Component {
@@ -110,6 +110,7 @@ export const MediaSingleDimensionHelper = ({
110
110
  tr &,
111
111
  [data-layout-column] &,
112
112
  [data-node-type='expand'] &,
113
+ [data-panel-type] &,
113
114
  li & {
114
115
  max-width: 100%;
115
116
  }
@@ -22,7 +22,9 @@ export default function MentionWithProfileCard({
22
22
  resourceClient: resourceClient,
23
23
  actions: actions,
24
24
  trigger: "click",
25
- position: "bottom-end"
25
+ position: "bottom-end",
26
+ testId: "mention-with-profilecard-trigger",
27
+ ariaLabel: text.replace(/^@/, '')
26
28
  }, /*#__PURE__*/React.createElement(ResourcedMention, {
27
29
  id: id,
28
30
  text: text,
@@ -0,0 +1,87 @@
1
+ /** @jsx jsx */
2
+
3
+ import { css } from '@emotion/react';
4
+ import { N30, N40 } from '@atlaskit/theme/colors';
5
+ // Wraps the navigation bar and extensionFrames
6
+ const mbeExtensionContainer = css`
7
+ background: transpaent !important;
8
+ padding: {
9
+ bottom: ${"var(--ds-space-100, 8px)"} !important;
10
+ left: ${"var(--ds-space-100, 8px)"} !important;
11
+ right: ${"var(--ds-space-100, 8px)"} !important;
12
+ }
13
+ padding-bottom: ${"var(--ds-space-100, 8px)"};
14
+ position: relative;
15
+ vertical-align: middle;
16
+ cursor: pointer;
17
+
18
+ .multiBodiedExtension-handler-result {
19
+ margin-left: ${"var(--ds-space-100, 8px)"};
20
+ }
21
+
22
+ .multiBodiedExtension-content-dom-wrapper > [data-extension-frame='true'],
23
+ .multiBodiedExtension--frames > [data-extension-frame='true'] {
24
+ display: none;
25
+ background: ${"var(--ds-surface, white)"};
26
+ }
27
+
28
+ .multiBodiedExtension-content-dom-wrapper,
29
+ .multiBodiedExtension--frames {
30
+ [data-extension-frame='true'] > :not(style):first-child,
31
+ [data-extension-frame='true'] > style:first-child + * {
32
+ margin-top: 0;
33
+ }
34
+ }
35
+ `;
36
+ const mbeNavigation = css`
37
+ // make sure the user can't see a range selection inside the navigation
38
+ // This is really important to keep the navigation working properly
39
+ border-top-left-radius: ${"var(--ds-border-radius, 3px)"};
40
+ border-top-right-radius: ${"var(--ds-border-radius, 3px)"};
41
+
42
+ user-select: none;
43
+ -webkit-user-modify: read-only;
44
+ border: 1px solid ${`var(--ds-border, ${N40})`};
45
+ border-bottom: none !important;
46
+ background: ${"var(--ds-surface, white)"};
47
+ margin-left: ${"var(--ds-space-100, 8px)"};
48
+ margin-right: ${"var(--ds-space-100, 8px)"};
49
+ `;
50
+ const extensionFrameContent = css`
51
+ padding: ${"var(--ds-space-100, 8px)"} !important;
52
+ border: 1px solid ${`var(--ds-border, ${N30})`};
53
+ display: block;
54
+ min-height: 100px;
55
+ background: ${"var(--ds-surface, white)"};
56
+ border-bottom-left-radius: ${"var(--ds-border-radius, 3px)"};
57
+ border-bottom-right-radius: ${"var(--ds-border-radius, 3px)"};
58
+
59
+ margin-left: ${"var(--ds-space-100, 8px)"};
60
+ margin-right: ${"var(--ds-space-100, 8px)"};
61
+ cursor: initial;
62
+
63
+ .pm-table-with-controls {
64
+ margin-left: ${"var(--ds-space-150, 12px)"} !important;
65
+ padding-right: ${"var(--ds-space-150, 12px)"} !important;
66
+ }
67
+ .bodiedExtensionView-content-wrap {
68
+ margin-top: ${"var(--ds-space-150, 12px)"} !important;
69
+ }
70
+ // Extension wrap have an additional margin on all four borders, so we need to adjust the spacing
71
+ // compared to the bodiedExtensionView-content-wrap
72
+ .extensionView-content-wrap {
73
+ margin-top: ${"var(--ds-space-100, 8px)"} !important;
74
+ }
75
+ .decisionItemView-content-wrap {
76
+ margin-top: 0px !important;
77
+ }
78
+
79
+ .decisionItemView-content-wrap > [data-decision-wrapper] {
80
+ margin-top: 0px !important;
81
+ }
82
+ `;
83
+ export const sharedMultiBodiedExtensionStyles = {
84
+ mbeExtensionContainer,
85
+ mbeNavigation,
86
+ extensionFrameContent
87
+ };
@@ -29,4 +29,5 @@ export { panelTextInput } from './PanelTextInput/styles';
29
29
  export { default as PanelTextInput } from './PanelTextInput';
30
30
  export { default as Announcer } from './Announcer/announcer';
31
31
  export { EDIT_AREA_ID } from './Toolbar';
32
- export { default as DropList } from './DropList';
32
+ export { default as DropList } from './DropList';
33
+ export { sharedMultiBodiedExtensionStyles } from './MultiBodiedExtension';
@@ -14,6 +14,7 @@ export var useMultiBodiedExtensionActions = function useMultiBodiedExtensionActi
14
14
  var actions = React.useMemo(function () {
15
15
  return {
16
16
  changeActive: function changeActive(index) {
17
+ var _possiblyMbeNode$type;
17
18
  var state = editorView.state,
18
19
  dispatch = editorView.dispatch;
19
20
  var updateActiveChildResult = updateActiveChild(index);
@@ -21,12 +22,12 @@ export var useMultiBodiedExtensionActions = function useMultiBodiedExtensionActi
21
22
  sendMBEAnalyticsEvent(ACTION.CHANGE_ACTIVE, node, eventDispatcher);
22
23
  }
23
24
  // On selection of a childFrame, we need to change the focus/selection to the end of the target child Frame
24
- var mbeNode = state.doc.nodeAt(state.tr.selection.from);
25
+ var possiblyMbeNode = state.doc.nodeAt(state.tr.selection.from);
25
26
  var desiredPos = state.tr.selection.from || 0;
26
- if (mbeNode && mbeNode !== null && mbeNode !== void 0 && mbeNode.content) {
27
- for (var i = 0; i <= index && i < (mbeNode === null || mbeNode === void 0 || (_mbeNode$content = mbeNode.content) === null || _mbeNode$content === void 0 ? void 0 : _mbeNode$content.childCount); i++) {
28
- var _mbeNode$content, _mbeNode$content2;
29
- desiredPos += (mbeNode === null || mbeNode === void 0 || (_mbeNode$content2 = mbeNode.content) === null || _mbeNode$content2 === void 0 || (_mbeNode$content2 = _mbeNode$content2.child(i)) === null || _mbeNode$content2 === void 0 ? void 0 : _mbeNode$content2.nodeSize) || 0;
27
+ if (possiblyMbeNode && (possiblyMbeNode === null || possiblyMbeNode === void 0 || (_possiblyMbeNode$type = possiblyMbeNode.type) === null || _possiblyMbeNode$type === void 0 ? void 0 : _possiblyMbeNode$type.name) === 'multiBodiedExtension' && possiblyMbeNode !== null && possiblyMbeNode !== void 0 && possiblyMbeNode.content) {
28
+ for (var i = 0; i <= index && i < (possiblyMbeNode === null || possiblyMbeNode === void 0 || (_possiblyMbeNode$cont = possiblyMbeNode.content) === null || _possiblyMbeNode$cont === void 0 ? void 0 : _possiblyMbeNode$cont.childCount); i++) {
29
+ var _possiblyMbeNode$cont, _possiblyMbeNode$cont2;
30
+ desiredPos += (possiblyMbeNode === null || possiblyMbeNode === void 0 || (_possiblyMbeNode$cont2 = possiblyMbeNode.content) === null || _possiblyMbeNode$cont2 === void 0 || (_possiblyMbeNode$cont2 = _possiblyMbeNode$cont2.child(i)) === null || _possiblyMbeNode$cont2 === void 0 ? void 0 : _possiblyMbeNode$cont2.nodeSize) || 0;
30
31
  }
31
32
  /* desiredPos gives the cursor at the end of last child of the current frame, in case of paragraph nodes, this will be the end of the paragraph
32
33
  * Performing -1 brings the cursor inside the paragraph, similar to a user click, so any pasted text will be inside the last paragraph rather than a new line
@@ -13,10 +13,11 @@ import { css, jsx } from '@emotion/react';
13
13
  import classnames from 'classnames';
14
14
  import EditorFileIcon from '@atlaskit/icon/glyph/editor/file';
15
15
  import { useSharedPluginState } from '../../hooks';
16
+ import { sharedMultiBodiedExtensionStyles } from '../../ui/MultiBodiedExtension';
16
17
  import { calculateBreakoutStyles, getExtensionLozengeData } from '../../utils';
17
18
  import { WithPluginState } from '../../with-plugin-state';
18
19
  import { useMultiBodiedExtensionActions } from './action-api';
19
- import { extensionFrameContentCSS, mbeExtensionContainerCSS, mbeExtensionWrapperCSS, mbeNavigationCSS } from './styles';
20
+ import { mbeExtensionWrapperCSS } from './styles';
20
21
  // Similar to the one in platform/packages/editor/editor-common/src/extensibility/Extension/Lozenge.tsx
21
22
  var getWrapperTitleContent = function getWrapperTitleContent(imageData, title) {
22
23
  if (imageData) {
@@ -80,7 +81,7 @@ var MultiBodiedExtensionWithWidth = function MultiBodiedExtensionWithWidth(_ref)
80
81
  var articleRef = React.useCallback(function (node) {
81
82
  return handleContentDOMRef(node);
82
83
  }, [handleContentDOMRef]);
83
- var containerCssExtended = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n ", ";\n .multiBodiedExtension-content-dom-wrapper\n > [data-extension-frame='true']:nth-of-type(", ") {\n ", "\n }\n "])), mbeExtensionContainerCSS, activeChildIndex + 1, extensionFrameContentCSS);
84
+ var containerCssExtended = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n ", ";\n .multiBodiedExtension-content-dom-wrapper\n > [data-extension-frame='true']:nth-of-type(", ") {\n ", "\n }\n "])), sharedMultiBodiedExtensionStyles.mbeExtensionContainer, activeChildIndex + 1, sharedMultiBodiedExtensionStyles.extensionFrameContent);
84
85
  var shouldBreakout =
85
86
  // Extension should breakout when the layout is set to 'full-width' or 'wide'.
86
87
  ['full-width', 'wide'].includes(node.attrs.layout) &&
@@ -109,7 +110,7 @@ var MultiBodiedExtensionWithWidth = function MultiBodiedExtensionWithWidth(_ref)
109
110
  "data-active-child-index": activeChildIndex
110
111
  }, jsx("nav", {
111
112
  className: "multiBodiedExtension-navigation",
112
- css: mbeNavigationCSS,
113
+ css: sharedMultiBodiedExtensionStyles.mbeNavigation,
113
114
  "data-testid": "multiBodiedExtension-navigation"
114
115
  }, extensionHandlerResult), jsx("article", {
115
116
  className: "multiBodiedExtension--frames",
@@ -1,13 +1,7 @@
1
1
  import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
- var _templateObject, _templateObject2, _templateObject3, _templateObject4;
2
+ var _templateObject;
3
3
  import { css } from '@emotion/react';
4
- import { N30, N40 } from '@atlaskit/theme/colors';
5
4
  import { wrapperDefault } from '../Extension/styles';
6
5
 
7
6
  // Wrapper the extension title and extensionContainer
8
- export var mbeExtensionWrapperCSS = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", ";\n cursor: pointer;\n .extension-title {\n display: flex;\n align-items: center;\n line-height: 16px !important;\n margin-bottom: ", ";\n margin-left: ", " !important;\n margin-right: ", ";\n padding-top: ", " !important;\n }\n"])), wrapperDefault, "var(--ds-space-100, 8px)", "var(--ds-space-050, 4px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)");
9
-
10
- // Wraps the navigation bar and extensionFrames
11
- export var mbeExtensionContainerCSS = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n background: transpaent !important;\n padding: {\n bottom: ", " !important;\n left: ", " !important;\n right: ", " !important;\n }\n padding-bottom: ", ";\n position: relative;\n vertical-align: middle;\n cursor: pointer;\n\n .multiBodiedExtension-content-dom-wrapper > [data-extension-frame='true'] {\n display: none;\n background: ", ";\n }\n"])), "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-surface, white)");
12
- export var mbeNavigationCSS = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n // make sure the user can't see a range selection inside the navigation\n // This is really important to keep the navigation working properly\n border-top-left-radius: ", ";\n border-top-right-radius: ", ";\n\n user-select: none;\n -webkit-user-modify: read-only;\n border: 1px solid ", ";\n border-bottom: none;\n background: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"])), "var(--ds-border-radius, 3px)", "var(--ds-border-radius, 3px)", "var(--ds-border, ".concat(N40, ")"), "var(--ds-surface, white)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)");
13
- export var extensionFrameContentCSS = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n padding: ", " !important;\n border: 1px solid ", ";\n display: block;\n min-height: 100px;\n background: ", ";\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n\n margin-left: ", ";\n margin-right: ", ";\n cursor: initial;\n\n .pm-table-container {\n margin-left: ", " !important;\n padding-right: ", " !important;\n }\n .pm-table-with-controls {\n margin-left: ", " !important;\n padding-right: ", " !important;\n }\n .bodiedExtensionView-content-wrap {\n margin-top: ", " !important;\n }\n // Extension wrap have an additional margin on all four borders, so we need to adjust the spacing\n // compared to the bodiedExtensionView-content-wrap\n .extensionView-content-wrap {\n margin-top: ", " !important;\n }\n"])), "var(--ds-space-100, 8px)", "var(--ds-border, ".concat(N30, ")"), "var(--ds-surface, white)", "var(--ds-border-radius, 3px)", "var(--ds-border-radius, 3px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-space-200, 16px)", "var(--ds-space-150, 12px)", "var(--ds-space-150, 12px)", "var(--ds-space-150, 12px)", "var(--ds-space-100, 8px)");
7
+ export var mbeExtensionWrapperCSS = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", ";\n cursor: pointer;\n margin-top: ", ";\n margin-bottom: ", ";\n .extension-title {\n display: flex;\n align-items: center;\n line-height: 16px !important;\n margin-bottom: ", ";\n margin-left: ", " !important;\n margin-right: ", ";\n padding-top: ", " !important;\n }\n"])), wrapperDefault, "var(--ds-space-250, 24px)", "var(--ds-space-200, 16px)", "var(--ds-space-100, 8px)", "var(--ds-space-050, 4px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)");
@@ -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 = "78.3.0";
9
+ var packageVersion = "78.3.2";
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
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/extends";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
4
4
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
5
- var _excluded = ["width", "children", "handleClassName", "className", "handleResize", "handleResizeStart", "handleResizeStop", "handleSize", "handleAlignmentMethod", "handlePositioning", "appearance", "handleStyles", "resizeRatio", "snap", "snapGap", "isHandleVisible", "handleHighlight", "handleTooltipContent"];
5
+ var _excluded = ["width", "children", "handleClassName", "className", "handleResize", "handleResizeStart", "handleResizeStop", "handleSize", "handleAlignmentMethod", "handlePositioning", "appearance", "handleStyles", "resizeRatio", "snap", "snapGap", "isHandleVisible", "handleHighlight", "handleTooltipContent", "needExtendedResizeZone"];
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
8
  import React, { forwardRef, useCallback, useImperativeHandle, useMemo, useRef, useState } from 'react';
@@ -49,6 +49,8 @@ var ResizerNext = function ResizerNext(props, ref) {
49
49
  _props$handleHighligh = props.handleHighlight,
50
50
  handleHighlight = _props$handleHighligh === void 0 ? 'none' : _props$handleHighligh,
51
51
  handleTooltipContent = props.handleTooltipContent,
52
+ _props$needExtendedRe = props.needExtendedResizeZone,
53
+ needExtendedResizeZone = _props$needExtendedRe === void 0 ? true : _props$needExtendedRe,
52
54
  otherProps = _objectWithoutProperties(props, _excluded);
53
55
  var onResizeStart = useCallback(function (event) {
54
56
  // prevent creating a drag event on Firefox
@@ -101,6 +103,9 @@ var ResizerNext = function ResizerNext(props, ref) {
101
103
  'is-resizing': isResizing,
102
104
  'display-handle': isHandleVisible
103
105
  }, resizerDangerClassName, appearance === 'danger'));
106
+ var resizerZoneClassName = classnames(resizerHoverZoneClassName, {
107
+ 'is-extended': needExtendedResizeZone
108
+ });
104
109
  var handleComponent = useMemo(function () {
105
110
  return SUPPORTED_HANDLES.reduce(function (result, position) {
106
111
  var thumb = /*#__PURE__*/React.createElement("button", {
@@ -162,7 +167,7 @@ var ResizerNext = function ResizerNext(props, ref) {
162
167
  snap: snap,
163
168
  handleComponent: handleComponent
164
169
  }, otherProps), /*#__PURE__*/React.createElement("span", {
165
- className: resizerHoverZoneClassName
170
+ className: resizerZoneClassName
166
171
  }, children));
167
172
  };
168
173
  export default /*#__PURE__*/forwardRef(ResizerNext);
@@ -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 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);
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 position: relative;\n display: inline-block;\n width: 100%;\n\n &.is-extended {\n padding: 0 ", ";\n left: ", ";\n }\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);
@@ -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 = "78.3.0";
20
+ var packageVersion = "78.3.2";
21
21
  var halfFocusRing = 1;
22
22
  var dropOffset = '0, 8';
23
23
  var DropList = /*#__PURE__*/function (_Component) {
@@ -114,7 +114,7 @@ export var MediaSingleDimensionHelper = function MediaSingleDimensionHelper(_ref
114
114
  isExtendedResizeExperienceOn = _ref.isExtendedResizeExperienceOn,
115
115
  _ref$isNestedNode = _ref.isNestedNode,
116
116
  isNestedNode = _ref$isNestedNode === void 0 ? false : _ref$isNestedNode;
117
- return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n /* For nested rich media items, set max-width to 100% */\n tr &,\n [data-layout-column] &,\n [data-node-type='expand'] &,\n li & {\n max-width: 100%;\n }\n\n width: ", ";\n ", "\n max-width: ", ";\n\n ", "\n\n &:not(.is-resizing) {\n transition: width 100ms ease-in;\n }\n\n float: ", ";\n margin: ", ";\n\n &[class*='not-resizing'] {\n ", "\n }\n\n ", ";\n"])), isExtendedResizeExperienceOn ? "".concat(mediaSingleWidth || width, "px") : mediaSingleWidth ? calcResizedWidth(layout, width || 0, containerWidth) : calcLegacyWidth(layout, width || 0, containerWidth, fullWidthMode, isResized), layout === 'full-width' &&
117
+ return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n /* For nested rich media items, set max-width to 100% */\n tr &,\n [data-layout-column] &,\n [data-node-type='expand'] &,\n [data-panel-type] &,\n li & {\n max-width: 100%;\n }\n\n width: ", ";\n ", "\n max-width: ", ";\n\n ", "\n\n &:not(.is-resizing) {\n transition: width 100ms ease-in;\n }\n\n float: ", ";\n margin: ", ";\n\n &[class*='not-resizing'] {\n ", "\n }\n\n ", ";\n"])), isExtendedResizeExperienceOn ? "".concat(mediaSingleWidth || width, "px") : mediaSingleWidth ? calcResizedWidth(layout, width || 0, containerWidth) : calcLegacyWidth(layout, width || 0, containerWidth, fullWidthMode, isResized), layout === 'full-width' &&
118
118
  /* This causes issues for new experience where we don't strip layout attributes
119
119
  when copying top-level node and pasting into a table/layout,
120
120
  because full-width layout will remain, causing node to be edge-to-edge */
@@ -21,7 +21,9 @@ export default function MentionWithProfileCard(_ref) {
21
21
  resourceClient: resourceClient,
22
22
  actions: actions,
23
23
  trigger: "click",
24
- position: "bottom-end"
24
+ position: "bottom-end",
25
+ testId: "mention-with-profilecard-trigger",
26
+ ariaLabel: text.replace(/^@/, '')
25
27
  }, /*#__PURE__*/React.createElement(ResourcedMention, {
26
28
  id: id,
27
29
  text: text,
@@ -0,0 +1,15 @@
1
+ import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
2
+ var _templateObject, _templateObject2, _templateObject3;
3
+ /** @jsx jsx */
4
+
5
+ import { css } from '@emotion/react';
6
+ import { N30, N40 } from '@atlaskit/theme/colors';
7
+ // Wraps the navigation bar and extensionFrames
8
+ var mbeExtensionContainer = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background: transpaent !important;\n padding: {\n bottom: ", " !important;\n left: ", " !important;\n right: ", " !important;\n }\n padding-bottom: ", ";\n position: relative;\n vertical-align: middle;\n cursor: pointer;\n\n .multiBodiedExtension-handler-result {\n margin-left: ", ";\n }\n\n .multiBodiedExtension-content-dom-wrapper > [data-extension-frame='true'],\n .multiBodiedExtension--frames > [data-extension-frame='true'] {\n display: none;\n background: ", ";\n }\n\n .multiBodiedExtension-content-dom-wrapper,\n .multiBodiedExtension--frames {\n [data-extension-frame='true'] > :not(style):first-child,\n [data-extension-frame='true'] > style:first-child + * {\n margin-top: 0;\n }\n }\n"])), "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-surface, white)");
9
+ var mbeNavigation = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n // make sure the user can't see a range selection inside the navigation\n // This is really important to keep the navigation working properly\n border-top-left-radius: ", ";\n border-top-right-radius: ", ";\n\n user-select: none;\n -webkit-user-modify: read-only;\n border: 1px solid ", ";\n border-bottom: none !important;\n background: ", ";\n margin-left: ", ";\n margin-right: ", ";\n"])), "var(--ds-border-radius, 3px)", "var(--ds-border-radius, 3px)", "var(--ds-border, ".concat(N40, ")"), "var(--ds-surface, white)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)");
10
+ var extensionFrameContent = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n padding: ", " !important;\n border: 1px solid ", ";\n display: block;\n min-height: 100px;\n background: ", ";\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n\n margin-left: ", ";\n margin-right: ", ";\n cursor: initial;\n\n .pm-table-with-controls {\n margin-left: ", " !important;\n padding-right: ", " !important;\n }\n .bodiedExtensionView-content-wrap {\n margin-top: ", " !important;\n }\n // Extension wrap have an additional margin on all four borders, so we need to adjust the spacing\n // compared to the bodiedExtensionView-content-wrap\n .extensionView-content-wrap {\n margin-top: ", " !important;\n }\n .decisionItemView-content-wrap {\n margin-top: 0px !important;\n }\n\n .decisionItemView-content-wrap > [data-decision-wrapper] {\n margin-top: 0px !important;\n }\n"])), "var(--ds-space-100, 8px)", "var(--ds-border, ".concat(N30, ")"), "var(--ds-surface, white)", "var(--ds-border-radius, 3px)", "var(--ds-border-radius, 3px)", "var(--ds-space-100, 8px)", "var(--ds-space-100, 8px)", "var(--ds-space-150, 12px)", "var(--ds-space-150, 12px)", "var(--ds-space-150, 12px)", "var(--ds-space-100, 8px)");
11
+ export var sharedMultiBodiedExtensionStyles = {
12
+ mbeExtensionContainer: mbeExtensionContainer,
13
+ mbeNavigation: mbeNavigation,
14
+ extensionFrameContent: extensionFrameContent
15
+ };
@@ -29,4 +29,5 @@ export { panelTextInput } from './PanelTextInput/styles';
29
29
  export { default as PanelTextInput } from './PanelTextInput';
30
30
  export { default as Announcer } from './Announcer/announcer';
31
31
  export { EDIT_AREA_ID } from './Toolbar';
32
- export { default as DropList } from './DropList';
32
+ export { default as DropList } from './DropList';
33
+ export { sharedMultiBodiedExtensionStyles } from './MultiBodiedExtension';
@@ -1,4 +1 @@
1
1
  export declare const mbeExtensionWrapperCSS: import("@emotion/react").SerializedStyles;
2
- export declare const mbeExtensionContainerCSS: import("@emotion/react").SerializedStyles;
3
- export declare const mbeNavigationCSS: import("@emotion/react").SerializedStyles;
4
- export declare const extensionFrameContentCSS: import("@emotion/react").SerializedStyles;
@@ -49,6 +49,10 @@ export type ResizerProps = {
49
49
  * The handle can display a tooltip when mouse hovers.
50
50
  */
51
51
  handleTooltipContent?: TooltipProps['content'];
52
+ /**
53
+ * control if extended resize zone is needed, by default we apply it to the resizer
54
+ */
55
+ needExtendedResizeZone?: boolean;
52
56
  };
53
57
  type forwardRefType = {
54
58
  getResizerThumbEl: () => HTMLButtonElement | null;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
- import { MentionProvider } from '@atlaskit/mention';
3
- import { ProfilecardProvider } from '../../provider-factory/profile-card-provider';
4
- import { MentionEventHandler } from '../EventHandlers';
2
+ import type { MentionProvider } from '@atlaskit/mention';
3
+ import type { ProfilecardProvider } from '../../provider-factory/profile-card-provider';
4
+ import type { MentionEventHandler } from '../EventHandlers';
5
5
  export interface Props {
6
6
  id: string;
7
7
  text: string;
@@ -0,0 +1,6 @@
1
+ /** @jsx jsx */
2
+ export declare const sharedMultiBodiedExtensionStyles: {
3
+ mbeExtensionContainer: import("@emotion/react").SerializedStyles;
4
+ mbeNavigation: import("@emotion/react").SerializedStyles;
5
+ extensionFrameContent: import("@emotion/react").SerializedStyles;
6
+ };
@@ -42,3 +42,4 @@ export { EDIT_AREA_ID } from './Toolbar';
42
42
  export { default as DropList } from './DropList';
43
43
  export type { UseStickyToolbarType } from './Toolbar';
44
44
  export type { OpenChangedEvent } from './DropList';
45
+ export { sharedMultiBodiedExtensionStyles } from './MultiBodiedExtension';
@@ -1,4 +1 @@
1
1
  export declare const mbeExtensionWrapperCSS: import("@emotion/react").SerializedStyles;
2
- export declare const mbeExtensionContainerCSS: import("@emotion/react").SerializedStyles;
3
- export declare const mbeNavigationCSS: import("@emotion/react").SerializedStyles;
4
- export declare const extensionFrameContentCSS: import("@emotion/react").SerializedStyles;
@@ -49,6 +49,10 @@ export type ResizerProps = {
49
49
  * The handle can display a tooltip when mouse hovers.
50
50
  */
51
51
  handleTooltipContent?: TooltipProps['content'];
52
+ /**
53
+ * control if extended resize zone is needed, by default we apply it to the resizer
54
+ */
55
+ needExtendedResizeZone?: boolean;
52
56
  };
53
57
  type forwardRefType = {
54
58
  getResizerThumbEl: () => HTMLButtonElement | null;
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
- import { MentionProvider } from '@atlaskit/mention';
3
- import { ProfilecardProvider } from '../../provider-factory/profile-card-provider';
4
- import { MentionEventHandler } from '../EventHandlers';
2
+ import type { MentionProvider } from '@atlaskit/mention';
3
+ import type { ProfilecardProvider } from '../../provider-factory/profile-card-provider';
4
+ import type { MentionEventHandler } from '../EventHandlers';
5
5
  export interface Props {
6
6
  id: string;
7
7
  text: string;
@@ -0,0 +1,6 @@
1
+ /** @jsx jsx */
2
+ export declare const sharedMultiBodiedExtensionStyles: {
3
+ mbeExtensionContainer: import("@emotion/react").SerializedStyles;
4
+ mbeNavigation: import("@emotion/react").SerializedStyles;
5
+ extensionFrameContent: import("@emotion/react").SerializedStyles;
6
+ };
@@ -42,3 +42,4 @@ export { EDIT_AREA_ID } from './Toolbar';
42
42
  export { default as DropList } from './DropList';
43
43
  export type { UseStickyToolbarType } from './Toolbar';
44
44
  export type { OpenChangedEvent } from './DropList';
45
+ export { sharedMultiBodiedExtensionStyles } from './MultiBodiedExtension';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "78.3.0",
3
+ "version": "78.3.2",
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/"
@@ -112,7 +112,7 @@
112
112
  "@atlaskit/icon-object": "^6.3.0",
113
113
  "@atlaskit/in-product-testing": "^0.2.0",
114
114
  "@atlaskit/link-datasource": "^1.22.0",
115
- "@atlaskit/link-picker": "^1.33.0",
115
+ "@atlaskit/link-picker": "^1.34.0",
116
116
  "@atlaskit/media-card": "^77.10.0",
117
117
  "@atlaskit/media-client": "^26.2.0",
118
118
  "@atlaskit/media-client-react": "^2.0.0",
@@ -130,7 +130,7 @@
130
130
  "@atlaskit/task-decision": "^17.9.0",
131
131
  "@atlaskit/textfield": "^6.0.0",
132
132
  "@atlaskit/theme": "^12.6.0",
133
- "@atlaskit/tokens": "^1.37.0",
133
+ "@atlaskit/tokens": "^1.38.0",
134
134
  "@atlaskit/tooltip": "^18.1.0",
135
135
  "@atlaskit/ufo": "^0.2.0",
136
136
  "@atlaskit/width-detector": "^4.1.0",