@atlaskit/editor-common 78.31.1 → 78.31.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 (38) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/cjs/extensibility/Extension/Extension/index.js +3 -1
  3. package/dist/cjs/extensibility/Extension/Extension/styles.js +3 -0
  4. package/dist/cjs/extensibility/Extension/Lozenge/ExtensionLabel.js +17 -6
  5. package/dist/cjs/extensibility/Extension/Lozenge/LozengeComponent.js +4 -2
  6. package/dist/cjs/extensibility/Extension/Lozenge/index.js +4 -2
  7. package/dist/cjs/extensibility/MultiBodiedExtension/index.js +2 -1
  8. package/dist/cjs/extensibility/MultiBodiedExtension/styles.js +1 -1
  9. package/dist/cjs/monitoring/error.js +1 -1
  10. package/dist/cjs/ui/DropList/index.js +1 -1
  11. package/dist/cjs/ui/WidthProvider/index.js +2 -1
  12. package/dist/es2019/extensibility/Extension/Extension/index.js +3 -1
  13. package/dist/es2019/extensibility/Extension/Extension/styles.js +3 -0
  14. package/dist/es2019/extensibility/Extension/Lozenge/ExtensionLabel.js +18 -7
  15. package/dist/es2019/extensibility/Extension/Lozenge/LozengeComponent.js +4 -2
  16. package/dist/es2019/extensibility/Extension/Lozenge/index.js +4 -2
  17. package/dist/es2019/extensibility/MultiBodiedExtension/index.js +2 -1
  18. package/dist/es2019/extensibility/MultiBodiedExtension/styles.js +2 -2
  19. package/dist/es2019/monitoring/error.js +1 -1
  20. package/dist/es2019/ui/DropList/index.js +1 -1
  21. package/dist/es2019/ui/WidthProvider/index.js +2 -1
  22. package/dist/esm/extensibility/Extension/Extension/index.js +3 -1
  23. package/dist/esm/extensibility/Extension/Extension/styles.js +3 -0
  24. package/dist/esm/extensibility/Extension/Lozenge/ExtensionLabel.js +18 -7
  25. package/dist/esm/extensibility/Extension/Lozenge/LozengeComponent.js +4 -2
  26. package/dist/esm/extensibility/Extension/Lozenge/index.js +4 -2
  27. package/dist/esm/extensibility/MultiBodiedExtension/index.js +2 -1
  28. package/dist/esm/extensibility/MultiBodiedExtension/styles.js +2 -2
  29. package/dist/esm/monitoring/error.js +1 -1
  30. package/dist/esm/ui/DropList/index.js +1 -1
  31. package/dist/esm/ui/WidthProvider/index.js +2 -1
  32. package/dist/types/extensibility/Extension/Lozenge/ExtensionLabel.d.ts +2 -1
  33. package/dist/types/extensibility/Extension/Lozenge/LozengeComponent.d.ts +2 -1
  34. package/dist/types/extensibility/Extension/Lozenge/index.d.ts +1 -0
  35. package/dist/types-ts4.5/extensibility/Extension/Lozenge/ExtensionLabel.d.ts +2 -1
  36. package/dist/types-ts4.5/extensibility/Extension/Lozenge/LozengeComponent.d.ts +2 -1
  37. package/dist/types-ts4.5/extensibility/Extension/Lozenge/index.d.ts +1 -0
  38. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 78.31.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#93268](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/93268) [`1b6c2eb2c1be`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/1b6c2eb2c1be) - [ux] Always show borders and labels for bodied extensions in new macro UX designs
8
+ - [#93629](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/93629) [`63b7e6ebb83e`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/63b7e6ebb83e) - Null check in width provider to protect against bug that causes crash due to body not being initialised.
9
+
3
10
  ## 78.31.1
4
11
 
5
12
  ### Patch Changes
@@ -63,6 +63,7 @@ function ExtensionWithPluginState(props) {
63
63
  var classNames = (0, _classnames2.default)('extension-container', 'block', shadowClassNames, (0, _defineProperty2.default)({
64
64
  'with-overlay': !hasBody && !showMacroInteractionDesignUpdates,
65
65
  'with-border': showMacroInteractionDesignUpdates,
66
+ 'with-bodied-border': showMacroInteractionDesignUpdates && hasBody,
66
67
  'with-margin-styles': showMacroInteractionDesignUpdates && !isNodeNested,
67
68
  'with-hover-border': showMacroInteractionDesignUpdates && isNodeHovered,
68
69
  'with-danger-overlay': showMacroInteractionDesignUpdates,
@@ -110,7 +111,8 @@ function ExtensionWithPluginState(props) {
110
111
  node: node,
111
112
  showMacroInteractionDesignUpdates: showMacroInteractionDesignUpdates,
112
113
  customContainerStyles: customContainerStyles,
113
- setIsNodeHovered: setIsNodeHovered
114
+ setIsNodeHovered: setIsNodeHovered,
115
+ isBodiedMacro: hasBody
114
116
  }), (0, _react2.jsx)("div", {
115
117
  ref: handleRef,
116
118
  "data-layout": node.attrs.layout,
@@ -20,6 +20,9 @@ var wrapperStyle = exports.wrapperStyle = (0, _react.css)(_styles.wrapperDefault
20
20
  '&.with-border': {
21
21
  border: "1px solid transparent" // adding this so macro doesn't jump when hover border is shown
22
22
  },
23
+ '&.with-bodied-border': {
24
+ border: "1px solid ".concat("var(--ds-border, ".concat(_colors.N30, ")"))
25
+ },
23
26
  '&.with-hover-border': {
24
27
  border: "1px solid ".concat("var(--ds-border-input, ".concat(_colors.N500, ")"))
25
28
  },
@@ -20,12 +20,12 @@ var labelStyles = (0, _react2.css)({
20
20
  // Unfortunately, these need to be these exact numbers - otherwise there will be a gap/noticeable overlap
21
21
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
22
22
  top: '-18px',
23
- '&.inline-extension': {
23
+ '&.inline': {
24
24
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
25
25
  top: '-17px',
26
26
  marginLeft: "var(--ds-space-150, 12px)"
27
27
  },
28
- '&.hovered': {
28
+ '&.show-label': {
29
29
  cursor: 'pointer',
30
30
  background: "var(--ds-background-accent-gray-subtle-pressed, ".concat(_colors.N300, ")"),
31
31
  color: "var(--ds-text-subtle, ".concat(_colors.N500, ")"),
@@ -37,6 +37,13 @@ var labelStyles = (0, _react2.css)({
37
37
  // Need to add indent if the node is nested since we removed previous indentation styles to make it fit properly
38
38
  // in the nested component
39
39
  marginLeft: "var(--ds-space-150, 12px)"
40
+ },
41
+ '&.bodied-background': {
42
+ background: "var(--ds-surface, ".concat(_colors.N0, ")")
43
+ },
44
+ '&.bodied-border': {
45
+ border: "1px solid ".concat("var(--ds-border, ".concat(_colors.N30, ")")),
46
+ borderBottom: 'none'
40
47
  }
41
48
  });
42
49
  var textStyles = (0, _react2.css)({
@@ -50,11 +57,15 @@ var ExtensionLabel = exports.ExtensionLabel = function ExtensionLabel(_ref) {
50
57
  isNodeHovered = _ref.isNodeHovered,
51
58
  customContainerStyles = _ref.customContainerStyles,
52
59
  isNodeNested = _ref.isNodeNested,
53
- setIsNodeHovered = _ref.setIsNodeHovered;
60
+ setIsNodeHovered = _ref.setIsNodeHovered,
61
+ isBodiedMacro = _ref.isBodiedMacro;
54
62
  var classNames = (0, _classnames.default)('extension-title', 'extension-label', {
55
- 'inline-extension': extensionName === 'inlineExtension',
56
- hovered: isNodeHovered,
57
- nested: isNodeNested
63
+ nested: isNodeNested,
64
+ inline: extensionName === 'inlineExtension',
65
+ bodied: isBodiedMacro,
66
+ 'bodied-border': isBodiedMacro,
67
+ 'bodied-background': isBodiedMacro && !isNodeHovered,
68
+ 'show-label': isNodeHovered || isBodiedMacro
58
69
  });
59
70
  var handleMouseEnter = (0, _react.useCallback)(function () {
60
71
  // If current node is hovered and the label is hovered,
@@ -26,7 +26,8 @@ var LozengeComponent = exports.LozengeComponent = function LozengeComponent(_ref
26
26
  customContainerStyles = _ref.customContainerStyles,
27
27
  isNodeHovered = _ref.isNodeHovered,
28
28
  isNodeNested = _ref.isNodeNested,
29
- setIsNodeHovered = _ref.setIsNodeHovered;
29
+ setIsNodeHovered = _ref.setIsNodeHovered,
30
+ isBodiedMacro = _ref.isBodiedMacro;
30
31
  var capitalizedTitle = capitalizeFirstLetter(title);
31
32
  if (showMacroInteractionDesignUpdates) {
32
33
  return (0, _react.jsx)(_ExtensionLabel.ExtensionLabel, {
@@ -35,7 +36,8 @@ var LozengeComponent = exports.LozengeComponent = function LozengeComponent(_ref
35
36
  isNodeHovered: isNodeHovered,
36
37
  isNodeNested: isNodeNested,
37
38
  customContainerStyles: customContainerStyles,
38
- setIsNodeHovered: setIsNodeHovered
39
+ setIsNodeHovered: setIsNodeHovered,
40
+ isBodiedMacro: isBodiedMacro
39
41
  });
40
42
  }
41
43
  var isBlockExtension = extensionName === 'extension';
@@ -50,7 +50,8 @@ var ExtensionLozenge = exports.default = /*#__PURE__*/function (_Component) {
50
50
  isNodeHovered = _this$props.isNodeHovered,
51
51
  isNodeNested = _this$props.isNodeNested,
52
52
  customContainerStyles = _this$props.customContainerStyles,
53
- setIsNodeHovered = _this$props.setIsNodeHovered;
53
+ setIsNodeHovered = _this$props.setIsNodeHovered,
54
+ isBodiedMacro = _this$props.isBodiedMacro;
54
55
  var _this$props$node$attr = _this.props.node.attrs,
55
56
  parameters = _this$props$node$attr.parameters,
56
57
  extensionKey = _this$props$node$attr.extensionKey;
@@ -68,7 +69,8 @@ var ExtensionLozenge = exports.default = /*#__PURE__*/function (_Component) {
68
69
  title: title,
69
70
  renderImage: _this.renderImage,
70
71
  customContainerStyles: customContainerStyles,
71
- setIsNodeHovered: setIsNodeHovered
72
+ setIsNodeHovered: setIsNodeHovered,
73
+ isBodiedMacro: isBodiedMacro
72
74
  });
73
75
  });
74
76
  return _this;
@@ -150,7 +150,8 @@ var MultiBodiedExtensionWithWidth = function MultiBodiedExtensionWithWidth(_ref)
150
150
  customContainerStyles: mbeWrapperStyles,
151
151
  isNodeHovered: isNodeHovered,
152
152
  isNodeNested: isNodeNested,
153
- setIsNodeHovered: setIsNodeHovered
153
+ setIsNodeHovered: setIsNodeHovered,
154
+ isBodiedMacro: true
154
155
  }), (0, _react2.jsx)("div", {
155
156
  className: wrapperClassNames,
156
157
  css: _styles.mbeExtensionWrapperCSSStyles,
@@ -27,7 +27,7 @@ var mbeExtensionWrapperCSSStyles = exports.mbeExtensionWrapperCSSStyles = (0, _r
27
27
  paddingTop: "var(--ds-space-100, 8px)".concat(" !important")
28
28
  },
29
29
  '&.with-border': {
30
- border: "1px solid ".concat("var(--ds-border-inverse, ".concat(_colors.N0, ")")) // adding this so macro doesn't jump when hover border is shown
30
+ border: "1px solid ".concat("var(--ds-border, ".concat(_colors.N30, ")"))
31
31
  },
32
32
  '&.with-hover-border': {
33
33
  border: "1px solid ".concat("var(--ds-border-input, ".concat(_colors.N500, ")"))
@@ -16,7 +16,7 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
16
16
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
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.31.1";
19
+ var packageVersion = "78.31.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
@@ -20,7 +20,7 @@ var _Layer = _interopRequireDefault(require("../Layer"));
20
20
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
21
21
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /** @jsx jsx */
22
22
  var packageName = "@atlaskit/editor-common";
23
- var packageVersion = "78.31.1";
23
+ var packageVersion = "78.31.2";
24
24
  var halfFocusRing = 1;
25
25
  var dropOffset = '0, 8';
26
26
  var DropList = /*#__PURE__*/function (_Component) {
@@ -44,11 +44,12 @@ var WidthContext = exports.WidthContext = /*#__PURE__*/_react.default.createCont
44
44
  var Provider = WidthContext.Provider,
45
45
  Consumer = exports.WidthConsumer = WidthContext.Consumer;
46
46
  var WidthProvider = exports.WidthProvider = function WidthProvider(_ref) {
47
+ var _document$body$offset, _document$body;
47
48
  var className = _ref.className,
48
49
  shouldCheckExistingValue = _ref.shouldCheckExistingValue,
49
50
  children = _ref.children;
50
51
  var existingContextValue = _react.default.useContext(WidthContext);
51
- var _React$useState = _react.default.useState(typeof document !== 'undefined' ? document.body.offsetWidth : 0),
52
+ var _React$useState = _react.default.useState(typeof document !== 'undefined' ? (_document$body$offset = (_document$body = document.body) === null || _document$body === void 0 ? void 0 : _document$body.offsetWidth) !== null && _document$body$offset !== void 0 ? _document$body$offset : 0 : 0),
52
53
  _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2),
53
54
  width = _React$useState2[0],
54
55
  setWidth = _React$useState2[1];
@@ -52,6 +52,7 @@ function ExtensionWithPluginState(props) {
52
52
  const classNames = classnames('extension-container', 'block', shadowClassNames, {
53
53
  'with-overlay': !hasBody && !showMacroInteractionDesignUpdates,
54
54
  'with-border': showMacroInteractionDesignUpdates,
55
+ 'with-bodied-border': showMacroInteractionDesignUpdates && hasBody,
55
56
  'with-margin-styles': showMacroInteractionDesignUpdates && !isNodeNested,
56
57
  'with-hover-border': showMacroInteractionDesignUpdates && isNodeHovered,
57
58
  'with-danger-overlay': showMacroInteractionDesignUpdates,
@@ -106,7 +107,8 @@ function ExtensionWithPluginState(props) {
106
107
  node: node,
107
108
  showMacroInteractionDesignUpdates: showMacroInteractionDesignUpdates,
108
109
  customContainerStyles: customContainerStyles,
109
- setIsNodeHovered: setIsNodeHovered
110
+ setIsNodeHovered: setIsNodeHovered,
111
+ isBodiedMacro: hasBody
110
112
  }), jsx("div", {
111
113
  ref: handleRef,
112
114
  "data-layout": node.attrs.layout,
@@ -14,6 +14,9 @@ export const wrapperStyle = css(wrapperDefault, {
14
14
  '&.with-border': {
15
15
  border: `1px solid transparent` // adding this so macro doesn't jump when hover border is shown
16
16
  },
17
+ '&.with-bodied-border': {
18
+ border: `1px solid ${`var(--ds-border, ${N30})`}`
19
+ },
17
20
  '&.with-hover-border': {
18
21
  border: `1px solid ${`var(--ds-border-input, ${N500})`}`
19
22
  },
@@ -2,7 +2,7 @@
2
2
  import { useCallback } from 'react';
3
3
  import { css, jsx } from '@emotion/react';
4
4
  import classnames from 'classnames';
5
- import { N300, N500 } from '@atlaskit/theme/colors';
5
+ import { N0, N30, N300, N500 } from '@atlaskit/theme/colors';
6
6
  const labelStyles = css({
7
7
  opacity: 0,
8
8
  display: 'inline-flex',
@@ -12,12 +12,12 @@ const labelStyles = css({
12
12
  // Unfortunately, these need to be these exact numbers - otherwise there will be a gap/noticeable overlap
13
13
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
14
14
  top: '-18px',
15
- '&.inline-extension': {
15
+ '&.inline': {
16
16
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
17
17
  top: '-17px',
18
18
  marginLeft: "var(--ds-space-150, 12px)"
19
19
  },
20
- '&.hovered': {
20
+ '&.show-label': {
21
21
  cursor: 'pointer',
22
22
  background: `var(--ds-background-accent-gray-subtle-pressed, ${N300})`,
23
23
  color: `var(--ds-text-subtle, ${N500})`,
@@ -29,6 +29,13 @@ const labelStyles = css({
29
29
  // Need to add indent if the node is nested since we removed previous indentation styles to make it fit properly
30
30
  // in the nested component
31
31
  marginLeft: "var(--ds-space-150, 12px)"
32
+ },
33
+ '&.bodied-background': {
34
+ background: `var(--ds-surface, ${N0})`
35
+ },
36
+ '&.bodied-border': {
37
+ border: `1px solid ${`var(--ds-border, ${N30})`}`,
38
+ borderBottom: 'none'
32
39
  }
33
40
  });
34
41
  const textStyles = css({
@@ -42,12 +49,16 @@ export const ExtensionLabel = ({
42
49
  isNodeHovered,
43
50
  customContainerStyles,
44
51
  isNodeNested,
45
- setIsNodeHovered
52
+ setIsNodeHovered,
53
+ isBodiedMacro
46
54
  }) => {
47
55
  const classNames = classnames('extension-title', 'extension-label', {
48
- 'inline-extension': extensionName === 'inlineExtension',
49
- hovered: isNodeHovered,
50
- nested: isNodeNested
56
+ nested: isNodeNested,
57
+ inline: extensionName === 'inlineExtension',
58
+ bodied: isBodiedMacro,
59
+ 'bodied-border': isBodiedMacro,
60
+ 'bodied-background': isBodiedMacro && !isNodeHovered,
61
+ 'show-label': isNodeHovered || isBodiedMacro
51
62
  });
52
63
  const handleMouseEnter = useCallback(() => {
53
64
  // If current node is hovered and the label is hovered,
@@ -18,7 +18,8 @@ export const LozengeComponent = ({
18
18
  customContainerStyles,
19
19
  isNodeHovered,
20
20
  isNodeNested,
21
- setIsNodeHovered
21
+ setIsNodeHovered,
22
+ isBodiedMacro
22
23
  }) => {
23
24
  const capitalizedTitle = capitalizeFirstLetter(title);
24
25
  if (showMacroInteractionDesignUpdates) {
@@ -28,7 +29,8 @@ export const LozengeComponent = ({
28
29
  isNodeHovered: isNodeHovered,
29
30
  isNodeNested: isNodeNested,
30
31
  customContainerStyles: customContainerStyles,
31
- setIsNodeHovered: setIsNodeHovered
32
+ setIsNodeHovered: setIsNodeHovered,
33
+ isBodiedMacro: isBodiedMacro
32
34
  });
33
35
  }
34
36
  const isBlockExtension = extensionName === 'extension';
@@ -31,7 +31,8 @@ export default class ExtensionLozenge extends Component {
31
31
  isNodeHovered,
32
32
  isNodeNested,
33
33
  customContainerStyles,
34
- setIsNodeHovered
34
+ setIsNodeHovered,
35
+ isBodiedMacro
35
36
  } = this.props;
36
37
  const {
37
38
  parameters,
@@ -53,7 +54,8 @@ export default class ExtensionLozenge extends Component {
53
54
  title: title,
54
55
  renderImage: this.renderImage,
55
56
  customContainerStyles: customContainerStyles,
56
- setIsNodeHovered: setIsNodeHovered
57
+ setIsNodeHovered: setIsNodeHovered,
58
+ isBodiedMacro: isBodiedMacro
57
59
  });
58
60
  });
59
61
  }
@@ -138,7 +138,8 @@ const MultiBodiedExtensionWithWidth = ({
138
138
  customContainerStyles: mbeWrapperStyles,
139
139
  isNodeHovered: isNodeHovered,
140
140
  isNodeNested: isNodeNested,
141
- setIsNodeHovered: setIsNodeHovered
141
+ setIsNodeHovered: setIsNodeHovered,
142
+ isBodiedMacro: true
142
143
  }), jsx("div", {
143
144
  className: wrapperClassNames,
144
145
  css: mbeExtensionWrapperCSSStyles,
@@ -1,5 +1,5 @@
1
1
  import { css } from '@emotion/react';
2
- import { N0, N500 } from '@atlaskit/theme/colors';
2
+ import { N30, N500 } from '@atlaskit/theme/colors';
3
3
  import { wrapperDefault } from '../Extension/styles';
4
4
 
5
5
  // Wrapper the extension title and extensionContainer
@@ -22,7 +22,7 @@ export const mbeExtensionWrapperCSSStyles = css(wrapperDefault, {
22
22
  paddingTop: `${"var(--ds-space-100, 8px)"} !important`
23
23
  },
24
24
  '&.with-border': {
25
- border: `1px solid ${`var(--ds-border-inverse, ${N0})`}` // adding this so macro doesn't jump when hover border is shown
25
+ border: `1px solid ${`var(--ds-border, ${N30})`}`
26
26
  },
27
27
  '&.with-hover-border': {
28
28
  border: `1px solid ${`var(--ds-border-input, ${N500})`}`
@@ -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.31.1";
3
+ const packageVersion = "78.31.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
@@ -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.31.1";
10
+ const packageVersion = "78.31.2";
11
11
  const halfFocusRing = 1;
12
12
  const dropOffset = '0, 8';
13
13
  class DropList extends Component {
@@ -34,8 +34,9 @@ export const WidthProvider = ({
34
34
  shouldCheckExistingValue,
35
35
  children
36
36
  }) => {
37
+ var _document$body$offset, _document$body;
37
38
  const existingContextValue = React.useContext(WidthContext);
38
- const [width, setWidth] = React.useState(typeof document !== 'undefined' ? document.body.offsetWidth : 0);
39
+ const [width, setWidth] = React.useState(typeof document !== 'undefined' ? (_document$body$offset = (_document$body = document.body) === null || _document$body === void 0 ? void 0 : _document$body.offsetWidth) !== null && _document$body$offset !== void 0 ? _document$body$offset : 0 : 0);
39
40
  const providerValue = React.useMemo(() => createWidthContext(width), [width]);
40
41
  const updateWidth = rafSchedule(nextWidth => {
41
42
  // Ignore changes that are less than SCROLLBAR_WIDTH, otherwise it can cause infinite re-scaling
@@ -54,6 +54,7 @@ function ExtensionWithPluginState(props) {
54
54
  var classNames = classnames('extension-container', 'block', shadowClassNames, _defineProperty({
55
55
  'with-overlay': !hasBody && !showMacroInteractionDesignUpdates,
56
56
  'with-border': showMacroInteractionDesignUpdates,
57
+ 'with-bodied-border': showMacroInteractionDesignUpdates && hasBody,
57
58
  'with-margin-styles': showMacroInteractionDesignUpdates && !isNodeNested,
58
59
  'with-hover-border': showMacroInteractionDesignUpdates && isNodeHovered,
59
60
  'with-danger-overlay': showMacroInteractionDesignUpdates,
@@ -101,7 +102,8 @@ function ExtensionWithPluginState(props) {
101
102
  node: node,
102
103
  showMacroInteractionDesignUpdates: showMacroInteractionDesignUpdates,
103
104
  customContainerStyles: customContainerStyles,
104
- setIsNodeHovered: setIsNodeHovered
105
+ setIsNodeHovered: setIsNodeHovered,
106
+ isBodiedMacro: hasBody
105
107
  }), jsx("div", {
106
108
  ref: handleRef,
107
109
  "data-layout": node.attrs.layout,
@@ -14,6 +14,9 @@ export var wrapperStyle = css(wrapperDefault, {
14
14
  '&.with-border': {
15
15
  border: "1px solid transparent" // adding this so macro doesn't jump when hover border is shown
16
16
  },
17
+ '&.with-bodied-border': {
18
+ border: "1px solid ".concat("var(--ds-border, ".concat(N30, ")"))
19
+ },
17
20
  '&.with-hover-border': {
18
21
  border: "1px solid ".concat("var(--ds-border-input, ".concat(N500, ")"))
19
22
  },
@@ -2,7 +2,7 @@
2
2
  import { useCallback } from 'react';
3
3
  import { css, jsx } from '@emotion/react';
4
4
  import classnames from 'classnames';
5
- import { N300, N500 } from '@atlaskit/theme/colors';
5
+ import { N0, N30, N300, N500 } from '@atlaskit/theme/colors';
6
6
  var labelStyles = css({
7
7
  opacity: 0,
8
8
  display: 'inline-flex',
@@ -12,12 +12,12 @@ var labelStyles = css({
12
12
  // Unfortunately, these need to be these exact numbers - otherwise there will be a gap/noticeable overlap
13
13
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
14
14
  top: '-18px',
15
- '&.inline-extension': {
15
+ '&.inline': {
16
16
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
17
17
  top: '-17px',
18
18
  marginLeft: "var(--ds-space-150, 12px)"
19
19
  },
20
- '&.hovered': {
20
+ '&.show-label': {
21
21
  cursor: 'pointer',
22
22
  background: "var(--ds-background-accent-gray-subtle-pressed, ".concat(N300, ")"),
23
23
  color: "var(--ds-text-subtle, ".concat(N500, ")"),
@@ -29,6 +29,13 @@ var labelStyles = css({
29
29
  // Need to add indent if the node is nested since we removed previous indentation styles to make it fit properly
30
30
  // in the nested component
31
31
  marginLeft: "var(--ds-space-150, 12px)"
32
+ },
33
+ '&.bodied-background': {
34
+ background: "var(--ds-surface, ".concat(N0, ")")
35
+ },
36
+ '&.bodied-border': {
37
+ border: "1px solid ".concat("var(--ds-border, ".concat(N30, ")")),
38
+ borderBottom: 'none'
32
39
  }
33
40
  });
34
41
  var textStyles = css({
@@ -42,11 +49,15 @@ export var ExtensionLabel = function ExtensionLabel(_ref) {
42
49
  isNodeHovered = _ref.isNodeHovered,
43
50
  customContainerStyles = _ref.customContainerStyles,
44
51
  isNodeNested = _ref.isNodeNested,
45
- setIsNodeHovered = _ref.setIsNodeHovered;
52
+ setIsNodeHovered = _ref.setIsNodeHovered,
53
+ isBodiedMacro = _ref.isBodiedMacro;
46
54
  var classNames = classnames('extension-title', 'extension-label', {
47
- 'inline-extension': extensionName === 'inlineExtension',
48
- hovered: isNodeHovered,
49
- nested: isNodeNested
55
+ nested: isNodeNested,
56
+ inline: extensionName === 'inlineExtension',
57
+ bodied: isBodiedMacro,
58
+ 'bodied-border': isBodiedMacro,
59
+ 'bodied-background': isBodiedMacro && !isNodeHovered,
60
+ 'show-label': isNodeHovered || isBodiedMacro
50
61
  });
51
62
  var handleMouseEnter = useCallback(function () {
52
63
  // If current node is hovered and the label is hovered,
@@ -21,7 +21,8 @@ export var LozengeComponent = function LozengeComponent(_ref) {
21
21
  customContainerStyles = _ref.customContainerStyles,
22
22
  isNodeHovered = _ref.isNodeHovered,
23
23
  isNodeNested = _ref.isNodeNested,
24
- setIsNodeHovered = _ref.setIsNodeHovered;
24
+ setIsNodeHovered = _ref.setIsNodeHovered,
25
+ isBodiedMacro = _ref.isBodiedMacro;
25
26
  var capitalizedTitle = capitalizeFirstLetter(title);
26
27
  if (showMacroInteractionDesignUpdates) {
27
28
  return jsx(ExtensionLabel, {
@@ -30,7 +31,8 @@ export var LozengeComponent = function LozengeComponent(_ref) {
30
31
  isNodeHovered: isNodeHovered,
31
32
  isNodeNested: isNodeNested,
32
33
  customContainerStyles: customContainerStyles,
33
- setIsNodeHovered: setIsNodeHovered
34
+ setIsNodeHovered: setIsNodeHovered,
35
+ isBodiedMacro: isBodiedMacro
34
36
  });
35
37
  }
36
38
  var isBlockExtension = extensionName === 'extension';
@@ -44,7 +44,8 @@ var ExtensionLozenge = /*#__PURE__*/function (_Component) {
44
44
  isNodeHovered = _this$props.isNodeHovered,
45
45
  isNodeNested = _this$props.isNodeNested,
46
46
  customContainerStyles = _this$props.customContainerStyles,
47
- setIsNodeHovered = _this$props.setIsNodeHovered;
47
+ setIsNodeHovered = _this$props.setIsNodeHovered,
48
+ isBodiedMacro = _this$props.isBodiedMacro;
48
49
  var _this$props$node$attr = _this.props.node.attrs,
49
50
  parameters = _this$props$node$attr.parameters,
50
51
  extensionKey = _this$props$node$attr.extensionKey;
@@ -62,7 +63,8 @@ var ExtensionLozenge = /*#__PURE__*/function (_Component) {
62
63
  title: title,
63
64
  renderImage: _this.renderImage,
64
65
  customContainerStyles: customContainerStyles,
65
- setIsNodeHovered: setIsNodeHovered
66
+ setIsNodeHovered: setIsNodeHovered,
67
+ isBodiedMacro: isBodiedMacro
66
68
  });
67
69
  });
68
70
  return _this;
@@ -141,7 +141,8 @@ var MultiBodiedExtensionWithWidth = function MultiBodiedExtensionWithWidth(_ref)
141
141
  customContainerStyles: mbeWrapperStyles,
142
142
  isNodeHovered: isNodeHovered,
143
143
  isNodeNested: isNodeNested,
144
- setIsNodeHovered: setIsNodeHovered
144
+ setIsNodeHovered: setIsNodeHovered,
145
+ isBodiedMacro: true
145
146
  }), jsx("div", {
146
147
  className: wrapperClassNames,
147
148
  css: mbeExtensionWrapperCSSStyles,
@@ -1,5 +1,5 @@
1
1
  import { css } from '@emotion/react';
2
- import { N0, N500 } from '@atlaskit/theme/colors';
2
+ import { N30, N500 } from '@atlaskit/theme/colors';
3
3
  import { wrapperDefault } from '../Extension/styles';
4
4
 
5
5
  // Wrapper the extension title and extensionContainer
@@ -22,7 +22,7 @@ export var mbeExtensionWrapperCSSStyles = css(wrapperDefault, {
22
22
  paddingTop: "var(--ds-space-100, 8px)".concat(" !important")
23
23
  },
24
24
  '&.with-border': {
25
- border: "1px solid ".concat("var(--ds-border-inverse, ".concat(N0, ")")) // adding this so macro doesn't jump when hover border is shown
25
+ border: "1px solid ".concat("var(--ds-border, ".concat(N30, ")"))
26
26
  },
27
27
  '&.with-hover-border': {
28
28
  border: "1px solid ".concat("var(--ds-border-input, ".concat(N500, ")"))
@@ -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.31.1";
9
+ var packageVersion = "78.31.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
@@ -15,7 +15,7 @@ import { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents } from '@
15
15
  import { N0, N50A, N60A, N900 } from '@atlaskit/theme/colors';
16
16
  import Layer from '../Layer';
17
17
  var packageName = "@atlaskit/editor-common";
18
- var packageVersion = "78.31.1";
18
+ var packageVersion = "78.31.2";
19
19
  var halfFocusRing = 1;
20
20
  var dropOffset = '0, 8';
21
21
  var DropList = /*#__PURE__*/function (_Component) {
@@ -31,11 +31,12 @@ export var WidthContext = /*#__PURE__*/React.createContext(createWidthContext())
31
31
  var Provider = WidthContext.Provider,
32
32
  Consumer = WidthContext.Consumer;
33
33
  export var WidthProvider = function WidthProvider(_ref) {
34
+ var _document$body$offset, _document$body;
34
35
  var className = _ref.className,
35
36
  shouldCheckExistingValue = _ref.shouldCheckExistingValue,
36
37
  children = _ref.children;
37
38
  var existingContextValue = React.useContext(WidthContext);
38
- var _React$useState = React.useState(typeof document !== 'undefined' ? document.body.offsetWidth : 0),
39
+ var _React$useState = React.useState(typeof document !== 'undefined' ? (_document$body$offset = (_document$body = document.body) === null || _document$body === void 0 ? void 0 : _document$body.offsetWidth) !== null && _document$body$offset !== void 0 ? _document$body$offset : 0 : 0),
39
40
  _React$useState2 = _slicedToArray(_React$useState, 2),
40
41
  width = _React$useState2[0],
41
42
  setWidth = _React$useState2[1];
@@ -7,6 +7,7 @@ type ExtensionLabelProps = {
7
7
  isNodeNested?: boolean;
8
8
  customContainerStyles?: CSSProperties;
9
9
  setIsNodeHovered?: (isHovered: boolean) => void;
10
+ isBodiedMacro?: boolean;
10
11
  };
11
- export declare const ExtensionLabel: ({ text, extensionName, isNodeHovered, customContainerStyles, isNodeNested, setIsNodeHovered, }: ExtensionLabelProps) => jsx.JSX.Element;
12
+ export declare const ExtensionLabel: ({ text, extensionName, isNodeHovered, customContainerStyles, isNodeNested, setIsNodeHovered, isBodiedMacro, }: ExtensionLabelProps) => jsx.JSX.Element;
12
13
  export {};
@@ -15,6 +15,7 @@ type LozengeComponentProps = {
15
15
  isNodeHovered?: boolean;
16
16
  isNodeNested?: boolean;
17
17
  setIsNodeHovered?: (isHovered: boolean) => void;
18
+ isBodiedMacro?: boolean;
18
19
  };
19
- export declare const LozengeComponent: ({ lozengeData, extensionName, title, params, renderImage, showMacroInteractionDesignUpdates, customContainerStyles, isNodeHovered, isNodeNested, setIsNodeHovered, }: LozengeComponentProps) => jsx.JSX.Element;
20
+ export declare const LozengeComponent: ({ lozengeData, extensionName, title, params, renderImage, showMacroInteractionDesignUpdates, customContainerStyles, isNodeHovered, isNodeNested, setIsNodeHovered, isBodiedMacro, }: LozengeComponentProps) => jsx.JSX.Element;
20
21
  export {};
@@ -11,6 +11,7 @@ export interface Props {
11
11
  isNodeNested?: boolean;
12
12
  customContainerStyles?: CSSProperties;
13
13
  setIsNodeHovered?: (isHovered: boolean) => void;
14
+ isBodiedMacro?: boolean;
14
15
  }
15
16
  export interface LozengeData {
16
17
  url: string;
@@ -7,6 +7,7 @@ type ExtensionLabelProps = {
7
7
  isNodeNested?: boolean;
8
8
  customContainerStyles?: CSSProperties;
9
9
  setIsNodeHovered?: (isHovered: boolean) => void;
10
+ isBodiedMacro?: boolean;
10
11
  };
11
- export declare const ExtensionLabel: ({ text, extensionName, isNodeHovered, customContainerStyles, isNodeNested, setIsNodeHovered, }: ExtensionLabelProps) => jsx.JSX.Element;
12
+ export declare const ExtensionLabel: ({ text, extensionName, isNodeHovered, customContainerStyles, isNodeNested, setIsNodeHovered, isBodiedMacro, }: ExtensionLabelProps) => jsx.JSX.Element;
12
13
  export {};
@@ -15,6 +15,7 @@ type LozengeComponentProps = {
15
15
  isNodeHovered?: boolean;
16
16
  isNodeNested?: boolean;
17
17
  setIsNodeHovered?: (isHovered: boolean) => void;
18
+ isBodiedMacro?: boolean;
18
19
  };
19
- export declare const LozengeComponent: ({ lozengeData, extensionName, title, params, renderImage, showMacroInteractionDesignUpdates, customContainerStyles, isNodeHovered, isNodeNested, setIsNodeHovered, }: LozengeComponentProps) => jsx.JSX.Element;
20
+ export declare const LozengeComponent: ({ lozengeData, extensionName, title, params, renderImage, showMacroInteractionDesignUpdates, customContainerStyles, isNodeHovered, isNodeNested, setIsNodeHovered, isBodiedMacro, }: LozengeComponentProps) => jsx.JSX.Element;
20
21
  export {};
@@ -11,6 +11,7 @@ export interface Props {
11
11
  isNodeNested?: boolean;
12
12
  customContainerStyles?: CSSProperties;
13
13
  setIsNodeHovered?: (isHovered: boolean) => void;
14
+ isBodiedMacro?: boolean;
14
15
  }
15
16
  export interface LozengeData {
16
17
  url: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "78.31.1",
3
+ "version": "78.31.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/"