@atlaskit/editor-common 94.22.1 → 94.23.0

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 (36) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/cjs/extensibility/Extension/Extension/index.js +4 -2
  3. package/dist/cjs/extensibility/Extension/Lozenge/EditToggle.js +86 -0
  4. package/dist/cjs/extensibility/Extension/Lozenge/ExtensionLabel.js +16 -7
  5. package/dist/cjs/extensibility/Extension/Lozenge/LozengeComponent.js +17 -9
  6. package/dist/cjs/extensibility/Extension/Lozenge/index.js +4 -2
  7. package/dist/cjs/extensibility/ExtensionComponent.js +8 -4
  8. package/dist/cjs/monitoring/error.js +1 -1
  9. package/dist/cjs/ui/DropList/index.js +1 -1
  10. package/dist/es2019/extensibility/Extension/Extension/index.js +4 -2
  11. package/dist/es2019/extensibility/Extension/Lozenge/EditToggle.js +75 -0
  12. package/dist/es2019/extensibility/Extension/Lozenge/ExtensionLabel.js +16 -7
  13. package/dist/es2019/extensibility/Extension/Lozenge/LozengeComponent.js +12 -5
  14. package/dist/es2019/extensibility/Extension/Lozenge/index.js +4 -2
  15. package/dist/es2019/extensibility/ExtensionComponent.js +8 -4
  16. package/dist/es2019/monitoring/error.js +1 -1
  17. package/dist/es2019/ui/DropList/index.js +1 -1
  18. package/dist/esm/extensibility/Extension/Extension/index.js +4 -2
  19. package/dist/esm/extensibility/Extension/Lozenge/EditToggle.js +78 -0
  20. package/dist/esm/extensibility/Extension/Lozenge/ExtensionLabel.js +16 -7
  21. package/dist/esm/extensibility/Extension/Lozenge/LozengeComponent.js +12 -5
  22. package/dist/esm/extensibility/Extension/Lozenge/index.js +4 -2
  23. package/dist/esm/extensibility/ExtensionComponent.js +8 -4
  24. package/dist/esm/monitoring/error.js +1 -1
  25. package/dist/esm/ui/DropList/index.js +1 -1
  26. package/dist/types/extensibility/Extension/Extension/index.d.ts +1 -0
  27. package/dist/types/extensibility/Extension/Lozenge/EditToggle.d.ts +13 -0
  28. package/dist/types/extensibility/Extension/Lozenge/ExtensionLabel.d.ts +2 -1
  29. package/dist/types/extensibility/Extension/Lozenge/LozengeComponent.d.ts +2 -5
  30. package/dist/types/extensibility/Extension/Lozenge/index.d.ts +1 -0
  31. package/dist/types-ts4.5/extensibility/Extension/Extension/index.d.ts +1 -0
  32. package/dist/types-ts4.5/extensibility/Extension/Lozenge/EditToggle.d.ts +13 -0
  33. package/dist/types-ts4.5/extensibility/Extension/Lozenge/ExtensionLabel.d.ts +2 -1
  34. package/dist/types-ts4.5/extensibility/Extension/Lozenge/LozengeComponent.d.ts +2 -5
  35. package/dist/types-ts4.5/extensibility/Extension/Lozenge/index.d.ts +1 -0
  36. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 94.23.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#163929](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/163929)
8
+ [`4f9a06f018da6`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/4f9a06f018da6) -
9
+ [ux] Adds initial changes for edit toggle for bodied macros & updates tests/VR tests with new icon
10
+
3
11
  ## 94.22.1
4
12
 
5
13
  ### Patch Changes
@@ -44,7 +44,8 @@ function ExtensionWithPluginState(props) {
44
44
  isNodeSelected = props.isNodeSelected,
45
45
  isNodeHovered = props.isNodeHovered,
46
46
  isNodeNested = props.isNodeNested,
47
- setIsNodeHovered = props.setIsNodeHovered;
47
+ setIsNodeHovered = props.setIsNodeHovered,
48
+ showLivePagesBodiedMacrosRendererView = props.showLivePagesBodiedMacrosRendererView;
48
49
  var _ref = macroInteractionDesignFeatureFlags || {},
49
50
  showMacroInteractionDesignUpdates = _ref.showMacroInteractionDesignUpdates,
50
51
  showMacroButtonUpdates = _ref.showMacroButtonUpdates;
@@ -118,7 +119,8 @@ function ExtensionWithPluginState(props) {
118
119
  showMacroButtonUpdates: showMacroButtonUpdates,
119
120
  customContainerStyles: customContainerStyles,
120
121
  setIsNodeHovered: setIsNodeHovered,
121
- isBodiedMacro: hasBody
122
+ isBodiedMacro: hasBody,
123
+ showLivePagesBodiedMacrosRendererView: showLivePagesBodiedMacrosRendererView
122
124
  }), (0, _react2.jsx)("div", {
123
125
  ref: handleRef,
124
126
  "data-layout": node.attrs.layout
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.EditToggle = void 0;
8
+ var _react = require("@emotion/react");
9
+ var _reactIntlNext = require("react-intl-next");
10
+ var _checkMark = _interopRequireDefault(require("@atlaskit/icon/core/check-mark"));
11
+ var _primitives = require("@atlaskit/primitives");
12
+ /**
13
+ * @jsxRuntime classic
14
+ * @jsx jsx
15
+ */
16
+
17
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
18
+
19
+ var buttonContainerStyles = (0, _react.css)({
20
+ opacity: 0,
21
+ lineHeight: 1,
22
+ position: 'absolute',
23
+ width: 'max-content',
24
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
25
+ top: '-19px',
26
+ display: 'inline-flex',
27
+ justifyContent: 'flex-end',
28
+ color: "var(--ds-text-subtle, #44546F)"
29
+ });
30
+ var buttonStyles = (0, _react.css)({
31
+ display: 'flex',
32
+ alignItems: 'center',
33
+ cursor: 'pointer',
34
+ boxShadow: "0 0 0 1px ".concat("var(--ds-border, #091E4224)"),
35
+ minHeight: "var(--ds-space-300, 24px)",
36
+ borderRadius: "var(--ds-border-radius, 4px)",
37
+ paddingLeft: "var(--ds-space-150, 12px)",
38
+ paddingRight: "var(--ds-space-150, 12px)",
39
+ font: "var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)"
40
+ });
41
+ var showButtonContainerStyle = (0, _react.css)({
42
+ opacity: 1
43
+ });
44
+ var iconStyles = (0, _primitives.xcss)({
45
+ marginRight: 'space.075'
46
+ });
47
+ var i18n = (0, _reactIntlNext.defineMessages)({
48
+ doneEditing: {
49
+ id: 'editor-common-extensibility-extension-lozenge-editToggle.done.editing',
50
+ defaultMessage: 'Done editing',
51
+ description: 'Text in button when on click switches back to view mode of a macro'
52
+ }
53
+ });
54
+ // Used to toggle between edit and renderer mode for bodied macros in live pages
55
+ var EditToggle = exports.EditToggle = function EditToggle(_ref) {
56
+ var isNodeHovered = _ref.isNodeHovered,
57
+ customContainerStyles = _ref.customContainerStyles,
58
+ setIsNodeHovered = _ref.setIsNodeHovered;
59
+ var intl = (0, _reactIntlNext.useIntl)();
60
+ return (0, _react.jsx)("div", {
61
+ "data-testid": "extension-edit-toggle-container"
62
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
63
+ ,
64
+ css: isNodeHovered ? [buttonContainerStyles, showButtonContainerStyle] : buttonContainerStyles
65
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
66
+ ,
67
+ style: customContainerStyles
68
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
69
+ ,
70
+ className: "extension-edit-toggle-container",
71
+ onMouseOver: function onMouseOver() {
72
+ return setIsNodeHovered === null || setIsNodeHovered === void 0 ? void 0 : setIsNodeHovered(true);
73
+ },
74
+ onMouseLeave: function onMouseLeave() {
75
+ return setIsNodeHovered === null || setIsNodeHovered === void 0 ? void 0 : setIsNodeHovered(false);
76
+ }
77
+ }, (0, _react.jsx)("span", {
78
+ css: buttonStyles,
79
+ className: "extension-edit-toggle"
80
+ }, (0, _react.jsx)(_primitives.Flex, {
81
+ as: "span",
82
+ xcss: iconStyles
83
+ }, (0, _react.jsx)(_checkMark.default, {
84
+ label: ""
85
+ })), intl.formatMessage(i18n.doneEditing)));
86
+ };
@@ -10,7 +10,7 @@ var _react = require("react");
10
10
  var _react2 = require("@emotion/react");
11
11
  var _classnames = _interopRequireDefault(require("classnames"));
12
12
  var _reactIntlNext = require("react-intl-next");
13
- var _preferences = _interopRequireDefault(require("@atlaskit/icon/glyph/preferences"));
13
+ var _customize = _interopRequireDefault(require("@atlaskit/icon/core/customize"));
14
14
  var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
15
15
  /**
16
16
  * @jsxRuntime classic
@@ -78,8 +78,12 @@ var buttonLabelStyles = (0, _react2.css)({
78
78
  '&.remove-nested-left-margin': {
79
79
  marginLeft: 0
80
80
  },
81
- fontSize: "var(--ds-space-200, 16px)",
82
- fontWeight: "var(--ds-font-weight-regular, 400)"
81
+ font: "var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)",
82
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
83
+ '&.with-bodied-macro-live-page-styles': {
84
+ backgroundColor: "var(--ds-background-neutral-subtle, #00000000)",
85
+ boxShadow: "0 0 0 1px ".concat("var(--ds-border, #091E4224)")
86
+ }
83
87
  });
84
88
  var spacerStyles = (0, _react2.css)({
85
89
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
@@ -107,7 +111,7 @@ var originalLabelStyles = (0, _react2.css)({
107
111
  }
108
112
  });
109
113
  var iconStyles = (0, _react2.css)({
110
- marginLeft: "var(--ds-space-050, 4px)",
114
+ marginLeft: "var(--ds-space-075, 6px)",
111
115
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
112
116
  '&.hide-icon': {
113
117
  display: 'none'
@@ -128,19 +132,24 @@ var ExtensionLabel = exports.ExtensionLabel = function ExtensionLabel(_ref) {
128
132
  isNodeNested = _ref.isNodeNested,
129
133
  setIsNodeHovered = _ref.setIsNodeHovered,
130
134
  isBodiedMacro = _ref.isBodiedMacro,
131
- showMacroButtonUpdates = _ref.showMacroButtonUpdates;
135
+ showMacroButtonUpdates = _ref.showMacroButtonUpdates,
136
+ showLivePagesBodiedMacrosRendererView = _ref.showLivePagesBodiedMacrosRendererView;
132
137
  var isInlineExtension = extensionName === 'inlineExtension';
133
138
  var showDefaultBodiedStyles = isBodiedMacro && !isNodeHovered;
134
139
  var containerClassNames = (0, _classnames.default)({
135
140
  bodied: isBodiedMacro
136
141
  });
142
+
143
+ // For the new live pages bodied macro experience, we don't want to hide the label by default
144
+ var showBodiedMacroLabel = isBodiedMacro ? !showLivePagesBodiedMacrosRendererView : false;
137
145
  var sharedLabelClassNames = (0, _classnames.default)('extension-label', {
138
146
  nested: isNodeNested,
139
147
  inline: isInlineExtension,
140
148
  bodied: isBodiedMacro,
141
149
  'bodied-border': showDefaultBodiedStyles,
142
150
  'bodied-background': showDefaultBodiedStyles,
143
- 'show-label': isNodeHovered || isBodiedMacro
151
+ 'show-label': isNodeHovered || showBodiedMacroLabel,
152
+ 'with-bodied-macro-live-page-styles': isBodiedMacro && showLivePagesBodiedMacrosRendererView
144
153
  });
145
154
  var newButtonLabelClassNames = (0, _classnames.default)({
146
155
  // For new button design, non-bodied macros should have a flush label. Inline macros don't need this since they never had the margin-left applied.
@@ -189,7 +198,7 @@ var ExtensionLabel = exports.ExtensionLabel = function ExtensionLabel(_ref) {
189
198
  css: iconStyles,
190
199
  className: iconClassNames,
191
200
  "data-testid": "config-icon"
192
- }, (0, _react2.jsx)(_preferences.default, {
201
+ }, (0, _react2.jsx)(_customize.default, {
193
202
  label: ""
194
203
  })));
195
204
  }), (0, _react2.jsx)("div", {
@@ -6,9 +6,11 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.LozengeComponent = exports.ICON_SIZE = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _react = require("@emotion/react");
9
+ var _react = require("react");
10
+ var _react2 = require("@emotion/react");
10
11
  var _file = _interopRequireDefault(require("@atlaskit/icon/glyph/editor/file"));
11
12
  var _styles = require("../styles");
13
+ var _EditToggle = require("./EditToggle");
12
14
  var _ExtensionLabel = require("./ExtensionLabel");
13
15
  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; }
14
16
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } /**
@@ -31,10 +33,11 @@ var LozengeComponent = exports.LozengeComponent = function LozengeComponent(_ref
31
33
  isNodeHovered = _ref.isNodeHovered,
32
34
  isNodeNested = _ref.isNodeNested,
33
35
  setIsNodeHovered = _ref.setIsNodeHovered,
34
- isBodiedMacro = _ref.isBodiedMacro;
36
+ isBodiedMacro = _ref.isBodiedMacro,
37
+ showLivePagesBodiedMacrosRendererView = _ref.showLivePagesBodiedMacrosRendererView;
35
38
  var capitalizedTitle = capitalizeFirstLetter(title);
36
39
  if (showMacroInteractionDesignUpdates) {
37
- return (0, _react.jsx)(_ExtensionLabel.ExtensionLabel, {
40
+ return (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_ExtensionLabel.ExtensionLabel, {
38
41
  text: capitalizedTitle,
39
42
  extensionName: extensionName,
40
43
  isNodeHovered: isNodeHovered,
@@ -42,25 +45,30 @@ var LozengeComponent = exports.LozengeComponent = function LozengeComponent(_ref
42
45
  customContainerStyles: customContainerStyles,
43
46
  setIsNodeHovered: setIsNodeHovered,
44
47
  isBodiedMacro: isBodiedMacro,
45
- showMacroButtonUpdates: showMacroButtonUpdates
46
- });
48
+ showMacroButtonUpdates: showMacroButtonUpdates,
49
+ showLivePagesBodiedMacrosRendererView: showLivePagesBodiedMacrosRendererView
50
+ }), showLivePagesBodiedMacrosRendererView && isBodiedMacro && (0, _react2.jsx)(_EditToggle.EditToggle, {
51
+ isNodeHovered: isNodeHovered,
52
+ setIsNodeHovered: setIsNodeHovered,
53
+ customContainerStyles: customContainerStyles
54
+ }));
47
55
  }
48
56
  var isBlockExtension = extensionName === 'extension';
49
57
  return (
50
58
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
51
- (0, _react.jsx)("div", {
59
+ (0, _react2.jsx)("div", {
52
60
  "data-testid": "lozenge-fallback",
53
61
  css: _styles.placeholderFallback
54
62
  }, lozengeData && !isBlockExtension ? renderImage(_objectSpread({
55
63
  height: ICON_SIZE,
56
64
  width: ICON_SIZE
57
- }, lozengeData)) : (0, _react.jsx)(_file.default, {
65
+ }, lozengeData)) : (0, _react2.jsx)(_file.default, {
58
66
  label: title
59
- }), (0, _react.jsx)("span", {
67
+ }), (0, _react2.jsx)("span", {
60
68
  className: "extension-title"
61
69
  }, capitalizedTitle), params && !isBlockExtension &&
62
70
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
63
- (0, _react.jsx)("span", {
71
+ (0, _react2.jsx)("span", {
64
72
  css: _styles.placeholderFallbackParams
65
73
  }, Object.keys(params).map(function (key) {
66
74
  return key && " | ".concat(key, " = ").concat(params[key].value);
@@ -56,7 +56,8 @@ var ExtensionLozenge = exports.default = /*#__PURE__*/function (_Component) {
56
56
  isNodeNested = _this$props.isNodeNested,
57
57
  customContainerStyles = _this$props.customContainerStyles,
58
58
  setIsNodeHovered = _this$props.setIsNodeHovered,
59
- isBodiedMacro = _this$props.isBodiedMacro;
59
+ isBodiedMacro = _this$props.isBodiedMacro,
60
+ showLivePagesBodiedMacrosRendererView = _this$props.showLivePagesBodiedMacrosRendererView;
60
61
  var _this$props$node$attr = _this.props.node.attrs,
61
62
  parameters = _this$props$node$attr.parameters,
62
63
  extensionKey = _this$props$node$attr.extensionKey;
@@ -76,7 +77,8 @@ var ExtensionLozenge = exports.default = /*#__PURE__*/function (_Component) {
76
77
  renderImage: _this.renderImage,
77
78
  customContainerStyles: customContainerStyles,
78
79
  setIsNodeHovered: setIsNodeHovered,
79
- isBodiedMacro: isBodiedMacro
80
+ isBodiedMacro: isBodiedMacro,
81
+ showLivePagesBodiedMacrosRendererView: showLivePagesBodiedMacrosRendererView
80
82
  });
81
83
  });
82
84
  return _this;
@@ -207,7 +207,8 @@ var ExtensionComponentOld = exports.ExtensionComponentOld = /*#__PURE__*/functio
207
207
  pluginInjectionApi = _this$props2.pluginInjectionApi,
208
208
  getPos = _this$props2.getPos,
209
209
  eventDispatcher = _this$props2.eventDispatcher,
210
- macroInteractionDesignFeatureFlags = _this$props2.macroInteractionDesignFeatureFlags;
210
+ macroInteractionDesignFeatureFlags = _this$props2.macroInteractionDesignFeatureFlags,
211
+ showLivePagesBodiedMacrosRendererView = _this$props2.showLivePagesBodiedMacrosRendererView;
211
212
  var selection = editorView.state.selection;
212
213
  var selectedNode = selection instanceof _state.NodeSelection && selection.node;
213
214
  var position = typeof getPos === 'function' && getPos();
@@ -248,7 +249,8 @@ var ExtensionComponentOld = exports.ExtensionComponentOld = /*#__PURE__*/functio
248
249
  isNodeSelected: selectedNode === node,
249
250
  isNodeHovered: this.state.isNodeHovered,
250
251
  isNodeNested: isNodeNested,
251
- setIsNodeHovered: this.setIsNodeHovered
252
+ setIsNodeHovered: this.setIsNodeHovered,
253
+ showLivePagesBodiedMacrosRendererView: showLivePagesBodiedMacrosRendererView
252
254
  }, extensionHandlerResult);
253
255
  case 'inlineExtension':
254
256
  return /*#__PURE__*/_react.default.createElement(_InlineExtension.default, {
@@ -447,7 +449,8 @@ var ExtensionComponentInner = /*#__PURE__*/function (_Component2) {
447
449
  getPos = _this$props3.getPos,
448
450
  eventDispatcher = _this$props3.eventDispatcher,
449
451
  macroInteractionDesignFeatureFlags = _this$props3.macroInteractionDesignFeatureFlags,
450
- extensionProvider = _this$props3.extensionProvider;
452
+ extensionProvider = _this$props3.extensionProvider,
453
+ showLivePagesBodiedMacrosRendererView = _this$props3.showLivePagesBodiedMacrosRendererView;
451
454
  var selection = editorView.state.selection;
452
455
  var selectedNode = selection instanceof _state.NodeSelection && selection.node;
453
456
  var position = typeof getPos === 'function' && getPos();
@@ -488,7 +491,8 @@ var ExtensionComponentInner = /*#__PURE__*/function (_Component2) {
488
491
  isNodeSelected: selectedNode === node,
489
492
  isNodeHovered: this.state.isNodeHovered,
490
493
  isNodeNested: isNodeNested,
491
- setIsNodeHovered: this.setIsNodeHovered
494
+ setIsNodeHovered: this.setIsNodeHovered,
495
+ showLivePagesBodiedMacrosRendererView: showLivePagesBodiedMacrosRendererView
492
496
  }, extensionHandlerResult);
493
497
  case 'inlineExtension':
494
498
  return /*#__PURE__*/_react.default.createElement(_InlineExtension.default, {
@@ -17,7 +17,7 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
17
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
18
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
19
19
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
20
- var packageVersion = "94.22.1";
20
+ var packageVersion = "94.23.0";
21
21
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
22
22
  // Remove URL as it has UGC
23
23
  // TODO: Sanitise the URL instead of just removing it
@@ -24,7 +24,7 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
24
24
  * @jsx jsx
25
25
  */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
26
26
  var packageName = "@atlaskit/editor-common";
27
- var packageVersion = "94.22.1";
27
+ var packageVersion = "94.23.0";
28
28
  var halfFocusRing = 1;
29
29
  var dropOffset = '0, 8';
30
30
  var DropList = /*#__PURE__*/function (_Component) {
@@ -31,7 +31,8 @@ function ExtensionWithPluginState(props) {
31
31
  isNodeSelected,
32
32
  isNodeHovered,
33
33
  isNodeNested,
34
- setIsNodeHovered
34
+ setIsNodeHovered,
35
+ showLivePagesBodiedMacrosRendererView
35
36
  } = props;
36
37
  const {
37
38
  showMacroInteractionDesignUpdates,
@@ -116,7 +117,8 @@ function ExtensionWithPluginState(props) {
116
117
  showMacroButtonUpdates: showMacroButtonUpdates,
117
118
  customContainerStyles: customContainerStyles,
118
119
  setIsNodeHovered: setIsNodeHovered,
119
- isBodiedMacro: hasBody
120
+ isBodiedMacro: hasBody,
121
+ showLivePagesBodiedMacrosRendererView: showLivePagesBodiedMacrosRendererView
120
122
  }), jsx("div", {
121
123
  ref: handleRef,
122
124
  "data-layout": node.attrs.layout
@@ -0,0 +1,75 @@
1
+ /**
2
+ * @jsxRuntime classic
3
+ * @jsx jsx
4
+ */
5
+
6
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
7
+ import { css, jsx } from '@emotion/react';
8
+ import { defineMessages, useIntl } from 'react-intl-next';
9
+ import CheckMarkIcon from '@atlaskit/icon/core/check-mark';
10
+ import { Flex, xcss } from '@atlaskit/primitives';
11
+ const buttonContainerStyles = css({
12
+ opacity: 0,
13
+ lineHeight: 1,
14
+ position: 'absolute',
15
+ width: 'max-content',
16
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
17
+ top: '-19px',
18
+ display: 'inline-flex',
19
+ justifyContent: 'flex-end',
20
+ color: "var(--ds-text-subtle, #44546F)"
21
+ });
22
+ const buttonStyles = css({
23
+ display: 'flex',
24
+ alignItems: 'center',
25
+ cursor: 'pointer',
26
+ boxShadow: `0 0 0 1px ${"var(--ds-border, #091E4224)"}`,
27
+ minHeight: "var(--ds-space-300, 24px)",
28
+ borderRadius: "var(--ds-border-radius, 4px)",
29
+ paddingLeft: "var(--ds-space-150, 12px)",
30
+ paddingRight: "var(--ds-space-150, 12px)",
31
+ font: "var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)"
32
+ });
33
+ const showButtonContainerStyle = css({
34
+ opacity: 1
35
+ });
36
+ const iconStyles = xcss({
37
+ marginRight: 'space.075'
38
+ });
39
+ const i18n = defineMessages({
40
+ doneEditing: {
41
+ id: 'editor-common-extensibility-extension-lozenge-editToggle.done.editing',
42
+ defaultMessage: 'Done editing',
43
+ description: 'Text in button when on click switches back to view mode of a macro'
44
+ }
45
+ });
46
+ // Used to toggle between edit and renderer mode for bodied macros in live pages
47
+ export const EditToggle = ({
48
+ isNodeHovered,
49
+ customContainerStyles,
50
+ setIsNodeHovered
51
+ }) => {
52
+ const intl = useIntl();
53
+ return jsx("div", {
54
+ "data-testid": "extension-edit-toggle-container"
55
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
56
+ ,
57
+ css: isNodeHovered ? [buttonContainerStyles, showButtonContainerStyle] : buttonContainerStyles
58
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
59
+ ,
60
+ style: customContainerStyles
61
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
62
+ ,
63
+ className: "extension-edit-toggle-container",
64
+ onMouseOver: () => setIsNodeHovered === null || setIsNodeHovered === void 0 ? void 0 : setIsNodeHovered(true),
65
+ onMouseLeave: () => setIsNodeHovered === null || setIsNodeHovered === void 0 ? void 0 : setIsNodeHovered(false)
66
+ }, jsx("span", {
67
+ css: buttonStyles,
68
+ className: "extension-edit-toggle"
69
+ }, jsx(Flex, {
70
+ as: "span",
71
+ xcss: iconStyles
72
+ }, jsx(CheckMarkIcon, {
73
+ label: ""
74
+ })), intl.formatMessage(i18n.doneEditing)));
75
+ };
@@ -8,7 +8,7 @@ import { Fragment } from 'react';
8
8
  import { css, jsx } from '@emotion/react';
9
9
  import classnames from 'classnames';
10
10
  import { defineMessages, FormattedMessage } from 'react-intl-next';
11
- import PreferencesIcon from '@atlaskit/icon/glyph/preferences';
11
+ import CustomizeIcon from '@atlaskit/icon/core/customize';
12
12
  import Tooltip from '@atlaskit/tooltip';
13
13
  const containerStyles = css({
14
14
  textAlign: 'left',
@@ -69,8 +69,12 @@ const buttonLabelStyles = css({
69
69
  '&.remove-nested-left-margin': {
70
70
  marginLeft: 0
71
71
  },
72
- fontSize: "var(--ds-space-200, 16px)",
73
- fontWeight: "var(--ds-font-weight-regular, 400)"
72
+ font: "var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)",
73
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
74
+ '&.with-bodied-macro-live-page-styles': {
75
+ backgroundColor: "var(--ds-background-neutral-subtle, #00000000)",
76
+ boxShadow: `0 0 0 1px ${"var(--ds-border, #091E4224)"}`
77
+ }
74
78
  });
75
79
  const spacerStyles = css({
76
80
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
@@ -98,7 +102,7 @@ const originalLabelStyles = css({
98
102
  }
99
103
  });
100
104
  const iconStyles = css({
101
- marginLeft: "var(--ds-space-050, 4px)",
105
+ marginLeft: "var(--ds-space-075, 6px)",
102
106
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
103
107
  '&.hide-icon': {
104
108
  display: 'none'
@@ -119,20 +123,25 @@ export const ExtensionLabel = ({
119
123
  isNodeNested,
120
124
  setIsNodeHovered,
121
125
  isBodiedMacro,
122
- showMacroButtonUpdates
126
+ showMacroButtonUpdates,
127
+ showLivePagesBodiedMacrosRendererView
123
128
  }) => {
124
129
  const isInlineExtension = extensionName === 'inlineExtension';
125
130
  const showDefaultBodiedStyles = isBodiedMacro && !isNodeHovered;
126
131
  const containerClassNames = classnames({
127
132
  bodied: isBodiedMacro
128
133
  });
134
+
135
+ // For the new live pages bodied macro experience, we don't want to hide the label by default
136
+ const showBodiedMacroLabel = isBodiedMacro ? !showLivePagesBodiedMacrosRendererView : false;
129
137
  const sharedLabelClassNames = classnames('extension-label', {
130
138
  nested: isNodeNested,
131
139
  inline: isInlineExtension,
132
140
  bodied: isBodiedMacro,
133
141
  'bodied-border': showDefaultBodiedStyles,
134
142
  'bodied-background': showDefaultBodiedStyles,
135
- 'show-label': isNodeHovered || isBodiedMacro
143
+ 'show-label': isNodeHovered || showBodiedMacroLabel,
144
+ 'with-bodied-macro-live-page-styles': isBodiedMacro && showLivePagesBodiedMacrosRendererView
136
145
  });
137
146
  const newButtonLabelClassNames = classnames({
138
147
  // For new button design, non-bodied macros should have a flush label. Inline macros don't need this since they never had the margin-left applied.
@@ -180,7 +189,7 @@ export const ExtensionLabel = ({
180
189
  css: iconStyles,
181
190
  className: iconClassNames,
182
191
  "data-testid": "config-icon"
183
- }, jsx(PreferencesIcon, {
192
+ }, jsx(CustomizeIcon, {
184
193
  label: ""
185
194
  })))), jsx("div", {
186
195
  css: spacerStyles
@@ -2,11 +2,12 @@
2
2
  * @jsxRuntime classic
3
3
  * @jsx jsx
4
4
  */
5
-
5
+ import { Fragment } from 'react';
6
6
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
7
7
  import { jsx } from '@emotion/react';
8
8
  import EditorFileIcon from '@atlaskit/icon/glyph/editor/file';
9
9
  import { placeholderFallback, placeholderFallbackParams } from '../styles';
10
+ import { EditToggle } from './EditToggle';
10
11
  import { ExtensionLabel } from './ExtensionLabel';
11
12
  export const ICON_SIZE = 24;
12
13
  const capitalizeFirstLetter = str => {
@@ -24,11 +25,12 @@ export const LozengeComponent = ({
24
25
  isNodeHovered,
25
26
  isNodeNested,
26
27
  setIsNodeHovered,
27
- isBodiedMacro
28
+ isBodiedMacro,
29
+ showLivePagesBodiedMacrosRendererView
28
30
  }) => {
29
31
  const capitalizedTitle = capitalizeFirstLetter(title);
30
32
  if (showMacroInteractionDesignUpdates) {
31
- return jsx(ExtensionLabel, {
33
+ return jsx(Fragment, null, jsx(ExtensionLabel, {
32
34
  text: capitalizedTitle,
33
35
  extensionName: extensionName,
34
36
  isNodeHovered: isNodeHovered,
@@ -36,8 +38,13 @@ export const LozengeComponent = ({
36
38
  customContainerStyles: customContainerStyles,
37
39
  setIsNodeHovered: setIsNodeHovered,
38
40
  isBodiedMacro: isBodiedMacro,
39
- showMacroButtonUpdates: showMacroButtonUpdates
40
- });
41
+ showMacroButtonUpdates: showMacroButtonUpdates,
42
+ showLivePagesBodiedMacrosRendererView: showLivePagesBodiedMacrosRendererView
43
+ }), showLivePagesBodiedMacrosRendererView && isBodiedMacro && jsx(EditToggle, {
44
+ isNodeHovered: isNodeHovered,
45
+ setIsNodeHovered: setIsNodeHovered,
46
+ customContainerStyles: customContainerStyles
47
+ }));
41
48
  }
42
49
  const isBlockExtension = extensionName === 'extension';
43
50
  return (
@@ -38,7 +38,8 @@ export default class ExtensionLozenge extends Component {
38
38
  isNodeNested,
39
39
  customContainerStyles,
40
40
  setIsNodeHovered,
41
- isBodiedMacro
41
+ isBodiedMacro,
42
+ showLivePagesBodiedMacrosRendererView
42
43
  } = this.props;
43
44
  const {
44
45
  parameters,
@@ -62,7 +63,8 @@ export default class ExtensionLozenge extends Component {
62
63
  renderImage: this.renderImage,
63
64
  customContainerStyles: customContainerStyles,
64
65
  setIsNodeHovered: setIsNodeHovered,
65
- isBodiedMacro: isBodiedMacro
66
+ isBodiedMacro: isBodiedMacro,
67
+ showLivePagesBodiedMacrosRendererView: showLivePagesBodiedMacrosRendererView
66
68
  });
67
69
  });
68
70
  }
@@ -160,7 +160,8 @@ export class ExtensionComponentOld extends Component {
160
160
  pluginInjectionApi,
161
161
  getPos,
162
162
  eventDispatcher,
163
- macroInteractionDesignFeatureFlags
163
+ macroInteractionDesignFeatureFlags,
164
+ showLivePagesBodiedMacrosRendererView
164
165
  } = this.props;
165
166
  const {
166
167
  selection
@@ -204,7 +205,8 @@ export class ExtensionComponentOld extends Component {
204
205
  isNodeSelected: selectedNode === node,
205
206
  isNodeHovered: this.state.isNodeHovered,
206
207
  isNodeNested: isNodeNested,
207
- setIsNodeHovered: this.setIsNodeHovered
208
+ setIsNodeHovered: this.setIsNodeHovered,
209
+ showLivePagesBodiedMacrosRendererView: showLivePagesBodiedMacrosRendererView
208
210
  }, extensionHandlerResult);
209
211
  case 'inlineExtension':
210
212
  return /*#__PURE__*/React.createElement(InlineExtension, {
@@ -374,7 +376,8 @@ class ExtensionComponentInner extends Component {
374
376
  getPos,
375
377
  eventDispatcher,
376
378
  macroInteractionDesignFeatureFlags,
377
- extensionProvider
379
+ extensionProvider,
380
+ showLivePagesBodiedMacrosRendererView
378
381
  } = this.props;
379
382
  const {
380
383
  selection
@@ -418,7 +421,8 @@ class ExtensionComponentInner extends Component {
418
421
  isNodeSelected: selectedNode === node,
419
422
  isNodeHovered: this.state.isNodeHovered,
420
423
  isNodeNested: isNodeNested,
421
- setIsNodeHovered: this.setIsNodeHovered
424
+ setIsNodeHovered: this.setIsNodeHovered,
425
+ showLivePagesBodiedMacrosRendererView: showLivePagesBodiedMacrosRendererView
422
426
  }, extensionHandlerResult);
423
427
  case 'inlineExtension':
424
428
  return /*#__PURE__*/React.createElement(InlineExtension, {
@@ -1,7 +1,7 @@
1
1
  import { isFedRamp } from './environment';
2
2
  const SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
3
3
  const packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
4
- const packageVersion = "94.22.1";
4
+ const packageVersion = "94.23.0";
5
5
  const sanitiseSentryEvents = (data, _hint) => {
6
6
  // Remove URL as it has UGC
7
7
  // TODO: Sanitise the URL instead of just removing it
@@ -13,7 +13,7 @@ import withAnalyticsContext from '@atlaskit/analytics-next/withAnalyticsContext'
13
13
  import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
14
14
  import Layer from '../Layer';
15
15
  const packageName = "@atlaskit/editor-common";
16
- const packageVersion = "94.22.1";
16
+ const packageVersion = "94.23.0";
17
17
  const halfFocusRing = 1;
18
18
  const dropOffset = '0, 8';
19
19
  class DropList extends Component {
@@ -36,7 +36,8 @@ function ExtensionWithPluginState(props) {
36
36
  isNodeSelected = props.isNodeSelected,
37
37
  isNodeHovered = props.isNodeHovered,
38
38
  isNodeNested = props.isNodeNested,
39
- setIsNodeHovered = props.setIsNodeHovered;
39
+ setIsNodeHovered = props.setIsNodeHovered,
40
+ showLivePagesBodiedMacrosRendererView = props.showLivePagesBodiedMacrosRendererView;
40
41
  var _ref = macroInteractionDesignFeatureFlags || {},
41
42
  showMacroInteractionDesignUpdates = _ref.showMacroInteractionDesignUpdates,
42
43
  showMacroButtonUpdates = _ref.showMacroButtonUpdates;
@@ -110,7 +111,8 @@ function ExtensionWithPluginState(props) {
110
111
  showMacroButtonUpdates: showMacroButtonUpdates,
111
112
  customContainerStyles: customContainerStyles,
112
113
  setIsNodeHovered: setIsNodeHovered,
113
- isBodiedMacro: hasBody
114
+ isBodiedMacro: hasBody,
115
+ showLivePagesBodiedMacrosRendererView: showLivePagesBodiedMacrosRendererView
114
116
  }), jsx("div", {
115
117
  ref: handleRef,
116
118
  "data-layout": node.attrs.layout
@@ -0,0 +1,78 @@
1
+ /**
2
+ * @jsxRuntime classic
3
+ * @jsx jsx
4
+ */
5
+
6
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
7
+ import { css, jsx } from '@emotion/react';
8
+ import { defineMessages, useIntl } from 'react-intl-next';
9
+ import CheckMarkIcon from '@atlaskit/icon/core/check-mark';
10
+ import { Flex, xcss } from '@atlaskit/primitives';
11
+ var buttonContainerStyles = css({
12
+ opacity: 0,
13
+ lineHeight: 1,
14
+ position: 'absolute',
15
+ width: 'max-content',
16
+ // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
17
+ top: '-19px',
18
+ display: 'inline-flex',
19
+ justifyContent: 'flex-end',
20
+ color: "var(--ds-text-subtle, #44546F)"
21
+ });
22
+ var buttonStyles = css({
23
+ display: 'flex',
24
+ alignItems: 'center',
25
+ cursor: 'pointer',
26
+ boxShadow: "0 0 0 1px ".concat("var(--ds-border, #091E4224)"),
27
+ minHeight: "var(--ds-space-300, 24px)",
28
+ borderRadius: "var(--ds-border-radius, 4px)",
29
+ paddingLeft: "var(--ds-space-150, 12px)",
30
+ paddingRight: "var(--ds-space-150, 12px)",
31
+ font: "var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)"
32
+ });
33
+ var showButtonContainerStyle = css({
34
+ opacity: 1
35
+ });
36
+ var iconStyles = xcss({
37
+ marginRight: 'space.075'
38
+ });
39
+ var i18n = defineMessages({
40
+ doneEditing: {
41
+ id: 'editor-common-extensibility-extension-lozenge-editToggle.done.editing',
42
+ defaultMessage: 'Done editing',
43
+ description: 'Text in button when on click switches back to view mode of a macro'
44
+ }
45
+ });
46
+ // Used to toggle between edit and renderer mode for bodied macros in live pages
47
+ export var EditToggle = function EditToggle(_ref) {
48
+ var isNodeHovered = _ref.isNodeHovered,
49
+ customContainerStyles = _ref.customContainerStyles,
50
+ setIsNodeHovered = _ref.setIsNodeHovered;
51
+ var intl = useIntl();
52
+ return jsx("div", {
53
+ "data-testid": "extension-edit-toggle-container"
54
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
55
+ ,
56
+ css: isNodeHovered ? [buttonContainerStyles, showButtonContainerStyle] : buttonContainerStyles
57
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/enforce-style-prop -- Ignored via go/DSP-18766
58
+ ,
59
+ style: customContainerStyles
60
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
61
+ ,
62
+ className: "extension-edit-toggle-container",
63
+ onMouseOver: function onMouseOver() {
64
+ return setIsNodeHovered === null || setIsNodeHovered === void 0 ? void 0 : setIsNodeHovered(true);
65
+ },
66
+ onMouseLeave: function onMouseLeave() {
67
+ return setIsNodeHovered === null || setIsNodeHovered === void 0 ? void 0 : setIsNodeHovered(false);
68
+ }
69
+ }, jsx("span", {
70
+ css: buttonStyles,
71
+ className: "extension-edit-toggle"
72
+ }, jsx(Flex, {
73
+ as: "span",
74
+ xcss: iconStyles
75
+ }, jsx(CheckMarkIcon, {
76
+ label: ""
77
+ })), intl.formatMessage(i18n.doneEditing)));
78
+ };
@@ -8,7 +8,7 @@ import { Fragment } from 'react';
8
8
  import { css, jsx } from '@emotion/react';
9
9
  import classnames from 'classnames';
10
10
  import { defineMessages, FormattedMessage } from 'react-intl-next';
11
- import PreferencesIcon from '@atlaskit/icon/glyph/preferences';
11
+ import CustomizeIcon from '@atlaskit/icon/core/customize';
12
12
  import Tooltip from '@atlaskit/tooltip';
13
13
  var containerStyles = css({
14
14
  textAlign: 'left',
@@ -69,8 +69,12 @@ var buttonLabelStyles = css({
69
69
  '&.remove-nested-left-margin': {
70
70
  marginLeft: 0
71
71
  },
72
- fontSize: "var(--ds-space-200, 16px)",
73
- fontWeight: "var(--ds-font-weight-regular, 400)"
72
+ font: "var(--ds-font-body, normal 400 14px/20px ui-sans-serif, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Ubuntu, system-ui, \"Helvetica Neue\", sans-serif)",
73
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
74
+ '&.with-bodied-macro-live-page-styles': {
75
+ backgroundColor: "var(--ds-background-neutral-subtle, #00000000)",
76
+ boxShadow: "0 0 0 1px ".concat("var(--ds-border, #091E4224)")
77
+ }
74
78
  });
75
79
  var spacerStyles = css({
76
80
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
@@ -98,7 +102,7 @@ var originalLabelStyles = css({
98
102
  }
99
103
  });
100
104
  var iconStyles = css({
101
- marginLeft: "var(--ds-space-050, 4px)",
105
+ marginLeft: "var(--ds-space-075, 6px)",
102
106
  // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
103
107
  '&.hide-icon': {
104
108
  display: 'none'
@@ -119,19 +123,24 @@ export var ExtensionLabel = function ExtensionLabel(_ref) {
119
123
  isNodeNested = _ref.isNodeNested,
120
124
  setIsNodeHovered = _ref.setIsNodeHovered,
121
125
  isBodiedMacro = _ref.isBodiedMacro,
122
- showMacroButtonUpdates = _ref.showMacroButtonUpdates;
126
+ showMacroButtonUpdates = _ref.showMacroButtonUpdates,
127
+ showLivePagesBodiedMacrosRendererView = _ref.showLivePagesBodiedMacrosRendererView;
123
128
  var isInlineExtension = extensionName === 'inlineExtension';
124
129
  var showDefaultBodiedStyles = isBodiedMacro && !isNodeHovered;
125
130
  var containerClassNames = classnames({
126
131
  bodied: isBodiedMacro
127
132
  });
133
+
134
+ // For the new live pages bodied macro experience, we don't want to hide the label by default
135
+ var showBodiedMacroLabel = isBodiedMacro ? !showLivePagesBodiedMacrosRendererView : false;
128
136
  var sharedLabelClassNames = classnames('extension-label', {
129
137
  nested: isNodeNested,
130
138
  inline: isInlineExtension,
131
139
  bodied: isBodiedMacro,
132
140
  'bodied-border': showDefaultBodiedStyles,
133
141
  'bodied-background': showDefaultBodiedStyles,
134
- 'show-label': isNodeHovered || isBodiedMacro
142
+ 'show-label': isNodeHovered || showBodiedMacroLabel,
143
+ 'with-bodied-macro-live-page-styles': isBodiedMacro && showLivePagesBodiedMacrosRendererView
135
144
  });
136
145
  var newButtonLabelClassNames = classnames({
137
146
  // For new button design, non-bodied macros should have a flush label. Inline macros don't need this since they never had the margin-left applied.
@@ -180,7 +189,7 @@ export var ExtensionLabel = function ExtensionLabel(_ref) {
180
189
  css: iconStyles,
181
190
  className: iconClassNames,
182
191
  "data-testid": "config-icon"
183
- }, jsx(PreferencesIcon, {
192
+ }, jsx(CustomizeIcon, {
184
193
  label: ""
185
194
  })));
186
195
  }), jsx("div", {
@@ -5,11 +5,12 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
5
5
  * @jsxRuntime classic
6
6
  * @jsx jsx
7
7
  */
8
-
8
+ import { Fragment } from 'react';
9
9
  // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
10
10
  import { jsx } from '@emotion/react';
11
11
  import EditorFileIcon from '@atlaskit/icon/glyph/editor/file';
12
12
  import { placeholderFallback, placeholderFallbackParams } from '../styles';
13
+ import { EditToggle } from './EditToggle';
13
14
  import { ExtensionLabel } from './ExtensionLabel';
14
15
  export var ICON_SIZE = 24;
15
16
  var capitalizeFirstLetter = function capitalizeFirstLetter(str) {
@@ -27,10 +28,11 @@ export var LozengeComponent = function LozengeComponent(_ref) {
27
28
  isNodeHovered = _ref.isNodeHovered,
28
29
  isNodeNested = _ref.isNodeNested,
29
30
  setIsNodeHovered = _ref.setIsNodeHovered,
30
- isBodiedMacro = _ref.isBodiedMacro;
31
+ isBodiedMacro = _ref.isBodiedMacro,
32
+ showLivePagesBodiedMacrosRendererView = _ref.showLivePagesBodiedMacrosRendererView;
31
33
  var capitalizedTitle = capitalizeFirstLetter(title);
32
34
  if (showMacroInteractionDesignUpdates) {
33
- return jsx(ExtensionLabel, {
35
+ return jsx(Fragment, null, jsx(ExtensionLabel, {
34
36
  text: capitalizedTitle,
35
37
  extensionName: extensionName,
36
38
  isNodeHovered: isNodeHovered,
@@ -38,8 +40,13 @@ export var LozengeComponent = function LozengeComponent(_ref) {
38
40
  customContainerStyles: customContainerStyles,
39
41
  setIsNodeHovered: setIsNodeHovered,
40
42
  isBodiedMacro: isBodiedMacro,
41
- showMacroButtonUpdates: showMacroButtonUpdates
42
- });
43
+ showMacroButtonUpdates: showMacroButtonUpdates,
44
+ showLivePagesBodiedMacrosRendererView: showLivePagesBodiedMacrosRendererView
45
+ }), showLivePagesBodiedMacrosRendererView && isBodiedMacro && jsx(EditToggle, {
46
+ isNodeHovered: isNodeHovered,
47
+ setIsNodeHovered: setIsNodeHovered,
48
+ customContainerStyles: customContainerStyles
49
+ }));
43
50
  }
44
51
  var isBlockExtension = extensionName === 'extension';
45
52
  return (
@@ -51,7 +51,8 @@ var ExtensionLozenge = /*#__PURE__*/function (_Component) {
51
51
  isNodeNested = _this$props.isNodeNested,
52
52
  customContainerStyles = _this$props.customContainerStyles,
53
53
  setIsNodeHovered = _this$props.setIsNodeHovered,
54
- isBodiedMacro = _this$props.isBodiedMacro;
54
+ isBodiedMacro = _this$props.isBodiedMacro,
55
+ showLivePagesBodiedMacrosRendererView = _this$props.showLivePagesBodiedMacrosRendererView;
55
56
  var _this$props$node$attr = _this.props.node.attrs,
56
57
  parameters = _this$props$node$attr.parameters,
57
58
  extensionKey = _this$props$node$attr.extensionKey;
@@ -71,7 +72,8 @@ var ExtensionLozenge = /*#__PURE__*/function (_Component) {
71
72
  renderImage: _this.renderImage,
72
73
  customContainerStyles: customContainerStyles,
73
74
  setIsNodeHovered: setIsNodeHovered,
74
- isBodiedMacro: isBodiedMacro
75
+ isBodiedMacro: isBodiedMacro,
76
+ showLivePagesBodiedMacrosRendererView: showLivePagesBodiedMacrosRendererView
75
77
  });
76
78
  });
77
79
  return _this;
@@ -201,7 +201,8 @@ export var ExtensionComponentOld = /*#__PURE__*/function (_Component) {
201
201
  pluginInjectionApi = _this$props2.pluginInjectionApi,
202
202
  getPos = _this$props2.getPos,
203
203
  eventDispatcher = _this$props2.eventDispatcher,
204
- macroInteractionDesignFeatureFlags = _this$props2.macroInteractionDesignFeatureFlags;
204
+ macroInteractionDesignFeatureFlags = _this$props2.macroInteractionDesignFeatureFlags,
205
+ showLivePagesBodiedMacrosRendererView = _this$props2.showLivePagesBodiedMacrosRendererView;
205
206
  var selection = editorView.state.selection;
206
207
  var selectedNode = selection instanceof NodeSelection && selection.node;
207
208
  var position = typeof getPos === 'function' && getPos();
@@ -242,7 +243,8 @@ export var ExtensionComponentOld = /*#__PURE__*/function (_Component) {
242
243
  isNodeSelected: selectedNode === node,
243
244
  isNodeHovered: this.state.isNodeHovered,
244
245
  isNodeNested: isNodeNested,
245
- setIsNodeHovered: this.setIsNodeHovered
246
+ setIsNodeHovered: this.setIsNodeHovered,
247
+ showLivePagesBodiedMacrosRendererView: showLivePagesBodiedMacrosRendererView
246
248
  }, extensionHandlerResult);
247
249
  case 'inlineExtension':
248
250
  return /*#__PURE__*/React.createElement(InlineExtension, {
@@ -441,7 +443,8 @@ var ExtensionComponentInner = /*#__PURE__*/function (_Component2) {
441
443
  getPos = _this$props3.getPos,
442
444
  eventDispatcher = _this$props3.eventDispatcher,
443
445
  macroInteractionDesignFeatureFlags = _this$props3.macroInteractionDesignFeatureFlags,
444
- extensionProvider = _this$props3.extensionProvider;
446
+ extensionProvider = _this$props3.extensionProvider,
447
+ showLivePagesBodiedMacrosRendererView = _this$props3.showLivePagesBodiedMacrosRendererView;
445
448
  var selection = editorView.state.selection;
446
449
  var selectedNode = selection instanceof NodeSelection && selection.node;
447
450
  var position = typeof getPos === 'function' && getPos();
@@ -482,7 +485,8 @@ var ExtensionComponentInner = /*#__PURE__*/function (_Component2) {
482
485
  isNodeSelected: selectedNode === node,
483
486
  isNodeHovered: this.state.isNodeHovered,
484
487
  isNodeNested: isNodeNested,
485
- setIsNodeHovered: this.setIsNodeHovered
488
+ setIsNodeHovered: this.setIsNodeHovered,
489
+ showLivePagesBodiedMacrosRendererView: showLivePagesBodiedMacrosRendererView
486
490
  }, extensionHandlerResult);
487
491
  case 'inlineExtension':
488
492
  return /*#__PURE__*/React.createElement(InlineExtension, {
@@ -7,7 +7,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
7
7
  import { isFedRamp } from './environment';
8
8
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
9
9
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
10
- var packageVersion = "94.22.1";
10
+ var packageVersion = "94.23.0";
11
11
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
12
12
  // Remove URL as it has UGC
13
13
  // TODO: Sanitise the URL instead of just removing it
@@ -21,7 +21,7 @@ import withAnalyticsContext from '@atlaskit/analytics-next/withAnalyticsContext'
21
21
  import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
22
22
  import Layer from '../Layer';
23
23
  var packageName = "@atlaskit/editor-common";
24
- var packageVersion = "94.22.1";
24
+ var packageVersion = "94.23.0";
25
25
  var halfFocusRing = 1;
26
26
  var dropOffset = '0, 8';
27
27
  var DropList = /*#__PURE__*/function (_Component) {
@@ -21,6 +21,7 @@ export interface Props {
21
21
  isNodeHovered?: boolean;
22
22
  isNodeNested?: boolean;
23
23
  setIsNodeHovered?: (isHovered: boolean) => void;
24
+ showLivePagesBodiedMacrosRendererView?: boolean;
24
25
  }
25
26
  declare const _default: {
26
27
  new (props: Props | Readonly<Props>): {
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @jsxRuntime classic
3
+ * @jsx jsx
4
+ */
5
+ import type { CSSProperties } from 'react';
6
+ import { jsx } from '@emotion/react';
7
+ type EditToggleProps = {
8
+ isNodeHovered?: boolean;
9
+ customContainerStyles?: CSSProperties;
10
+ setIsNodeHovered?: (isNodeHovered: boolean) => void;
11
+ };
12
+ export declare const EditToggle: ({ isNodeHovered, customContainerStyles, setIsNodeHovered, }: EditToggleProps) => jsx.JSX.Element;
13
+ export {};
@@ -9,6 +9,7 @@ type ExtensionLabelProps = {
9
9
  setIsNodeHovered?: (isHovered: boolean) => void;
10
10
  isBodiedMacro?: boolean;
11
11
  showMacroButtonUpdates?: boolean;
12
+ showLivePagesBodiedMacrosRendererView?: boolean;
12
13
  };
13
- export declare const ExtensionLabel: ({ text, extensionName, isNodeHovered, customContainerStyles, isNodeNested, setIsNodeHovered, isBodiedMacro, showMacroButtonUpdates, }: ExtensionLabelProps) => jsx.JSX.Element;
14
+ export declare const ExtensionLabel: ({ text, extensionName, isNodeHovered, customContainerStyles, isNodeNested, setIsNodeHovered, isBodiedMacro, showMacroButtonUpdates, showLivePagesBodiedMacrosRendererView, }: ExtensionLabelProps) => jsx.JSX.Element;
14
15
  export {};
@@ -1,7 +1,3 @@
1
- /**
2
- * @jsxRuntime classic
3
- * @jsx jsx
4
- */
5
1
  import type { CSSProperties } from 'react';
6
2
  import { jsx } from '@emotion/react';
7
3
  import type { LozengeData } from './index';
@@ -20,6 +16,7 @@ type LozengeComponentProps = {
20
16
  isNodeNested?: boolean;
21
17
  setIsNodeHovered?: (isHovered: boolean) => void;
22
18
  isBodiedMacro?: boolean;
19
+ showLivePagesBodiedMacrosRendererView?: boolean;
23
20
  };
24
- export declare const LozengeComponent: ({ lozengeData, extensionName, title, params, renderImage, showMacroInteractionDesignUpdates, showMacroButtonUpdates, customContainerStyles, isNodeHovered, isNodeNested, setIsNodeHovered, isBodiedMacro, }: LozengeComponentProps) => jsx.JSX.Element;
21
+ export declare const LozengeComponent: ({ lozengeData, extensionName, title, params, renderImage, showMacroInteractionDesignUpdates, showMacroButtonUpdates, customContainerStyles, isNodeHovered, isNodeNested, setIsNodeHovered, isBodiedMacro, showLivePagesBodiedMacrosRendererView, }: LozengeComponentProps) => jsx.JSX.Element;
25
22
  export {};
@@ -16,6 +16,7 @@ export interface Props {
16
16
  customContainerStyles?: CSSProperties;
17
17
  setIsNodeHovered?: (isHovered: boolean) => void;
18
18
  isBodiedMacro?: boolean;
19
+ showLivePagesBodiedMacrosRendererView?: boolean;
19
20
  }
20
21
  export interface LozengeData {
21
22
  url: string;
@@ -21,6 +21,7 @@ export interface Props {
21
21
  isNodeHovered?: boolean;
22
22
  isNodeNested?: boolean;
23
23
  setIsNodeHovered?: (isHovered: boolean) => void;
24
+ showLivePagesBodiedMacrosRendererView?: boolean;
24
25
  }
25
26
  declare const _default: {
26
27
  new (props: Props | Readonly<Props>): {
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @jsxRuntime classic
3
+ * @jsx jsx
4
+ */
5
+ import type { CSSProperties } from 'react';
6
+ import { jsx } from '@emotion/react';
7
+ type EditToggleProps = {
8
+ isNodeHovered?: boolean;
9
+ customContainerStyles?: CSSProperties;
10
+ setIsNodeHovered?: (isNodeHovered: boolean) => void;
11
+ };
12
+ export declare const EditToggle: ({ isNodeHovered, customContainerStyles, setIsNodeHovered, }: EditToggleProps) => jsx.JSX.Element;
13
+ export {};
@@ -9,6 +9,7 @@ type ExtensionLabelProps = {
9
9
  setIsNodeHovered?: (isHovered: boolean) => void;
10
10
  isBodiedMacro?: boolean;
11
11
  showMacroButtonUpdates?: boolean;
12
+ showLivePagesBodiedMacrosRendererView?: boolean;
12
13
  };
13
- export declare const ExtensionLabel: ({ text, extensionName, isNodeHovered, customContainerStyles, isNodeNested, setIsNodeHovered, isBodiedMacro, showMacroButtonUpdates, }: ExtensionLabelProps) => jsx.JSX.Element;
14
+ export declare const ExtensionLabel: ({ text, extensionName, isNodeHovered, customContainerStyles, isNodeNested, setIsNodeHovered, isBodiedMacro, showMacroButtonUpdates, showLivePagesBodiedMacrosRendererView, }: ExtensionLabelProps) => jsx.JSX.Element;
14
15
  export {};
@@ -1,7 +1,3 @@
1
- /**
2
- * @jsxRuntime classic
3
- * @jsx jsx
4
- */
5
1
  import type { CSSProperties } from 'react';
6
2
  import { jsx } from '@emotion/react';
7
3
  import type { LozengeData } from './index';
@@ -20,6 +16,7 @@ type LozengeComponentProps = {
20
16
  isNodeNested?: boolean;
21
17
  setIsNodeHovered?: (isHovered: boolean) => void;
22
18
  isBodiedMacro?: boolean;
19
+ showLivePagesBodiedMacrosRendererView?: boolean;
23
20
  };
24
- export declare const LozengeComponent: ({ lozengeData, extensionName, title, params, renderImage, showMacroInteractionDesignUpdates, showMacroButtonUpdates, customContainerStyles, isNodeHovered, isNodeNested, setIsNodeHovered, isBodiedMacro, }: LozengeComponentProps) => jsx.JSX.Element;
21
+ export declare const LozengeComponent: ({ lozengeData, extensionName, title, params, renderImage, showMacroInteractionDesignUpdates, showMacroButtonUpdates, customContainerStyles, isNodeHovered, isNodeNested, setIsNodeHovered, isBodiedMacro, showLivePagesBodiedMacrosRendererView, }: LozengeComponentProps) => jsx.JSX.Element;
25
22
  export {};
@@ -16,6 +16,7 @@ export interface Props {
16
16
  customContainerStyles?: CSSProperties;
17
17
  setIsNodeHovered?: (isHovered: boolean) => void;
18
18
  isBodiedMacro?: boolean;
19
+ showLivePagesBodiedMacrosRendererView?: boolean;
19
20
  }
20
21
  export interface LozengeData {
21
22
  url: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "94.22.1",
3
+ "version": "94.23.0",
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/"