@atlaskit/editor-common 121.2.1 → 121.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/dist/cjs/ai-messages/ai-suggestions.js +5 -0
- package/dist/cjs/analytics/types/enums.js +1 -0
- package/dist/cjs/extensibility/Extension/Extension/index.js +6 -3
- package/dist/cjs/extensibility/Extension/InlineExtension/index.js +6 -3
- package/dist/cjs/extensibility/Extension/Lozenge/ExtensionLabel.js +2 -1
- package/dist/cjs/extensibility/Extension/Lozenge/LozengeComponent.js +3 -1
- package/dist/cjs/extensibility/Extension/Lozenge/index.js +1 -0
- package/dist/cjs/extensibility/ExtensionComponent.js +129 -26
- package/dist/cjs/extensibility/MultiBodiedExtension/index.js +4 -2
- package/dist/cjs/monitoring/error.js +1 -1
- package/dist/cjs/ui/DropList/index.js +1 -1
- package/dist/es2019/ai-messages/ai-suggestions.js +5 -0
- package/dist/es2019/analytics/types/enums.js +1 -0
- package/dist/es2019/extensibility/Extension/Extension/index.js +6 -3
- package/dist/es2019/extensibility/Extension/InlineExtension/index.js +6 -3
- package/dist/es2019/extensibility/Extension/Lozenge/ExtensionLabel.js +2 -1
- package/dist/es2019/extensibility/Extension/Lozenge/LozengeComponent.js +3 -1
- package/dist/es2019/extensibility/Extension/Lozenge/index.js +1 -0
- package/dist/es2019/extensibility/ExtensionComponent.js +85 -3
- package/dist/es2019/extensibility/MultiBodiedExtension/index.js +4 -2
- package/dist/es2019/monitoring/error.js +1 -1
- package/dist/es2019/ui/DropList/index.js +1 -1
- package/dist/esm/ai-messages/ai-suggestions.js +5 -0
- package/dist/esm/analytics/types/enums.js +1 -0
- package/dist/esm/extensibility/Extension/Extension/index.js +6 -3
- package/dist/esm/extensibility/Extension/InlineExtension/index.js +6 -3
- package/dist/esm/extensibility/Extension/Lozenge/ExtensionLabel.js +2 -1
- package/dist/esm/extensibility/Extension/Lozenge/LozengeComponent.js +3 -1
- package/dist/esm/extensibility/Extension/Lozenge/index.js +1 -0
- package/dist/esm/extensibility/ExtensionComponent.js +128 -25
- package/dist/esm/extensibility/MultiBodiedExtension/index.js +4 -2
- package/dist/esm/monitoring/error.js +1 -1
- package/dist/esm/ui/DropList/index.js +1 -1
- package/dist/types/ai-messages/ai-suggestions.d.ts +5 -0
- package/dist/types/analytics/types/enums.d.ts +1 -0
- package/dist/types/analytics/types/node-events.d.ts +1 -1
- package/dist/types/extensibility/Extension/Extension/index.d.ts +1 -0
- package/dist/types/extensibility/Extension/InlineExtension/index.d.ts +1 -0
- package/dist/types/extensibility/Extension/Lozenge/ExtensionLabel.d.ts +2 -1
- package/dist/types/extensibility/Extension/Lozenge/LozengeComponent.d.ts +2 -1
- package/dist/types/extensibility/Extension/Lozenge/index.d.ts +1 -0
- package/dist/types/extensibility/ExtensionComponent.d.ts +1 -0
- package/dist/types/extensibility/MultiBodiedExtension/index.d.ts +1 -0
- package/package.json +6 -4
- package/afm-cc/tsconfig.json +0 -206
|
@@ -5,7 +5,7 @@ import React, { Component, useEffect, useLayoutEffect, useRef, useState } from '
|
|
|
5
5
|
import memoizeOne from 'memoize-one';
|
|
6
6
|
import { NodeSelection } from '@atlaskit/editor-prosemirror/state';
|
|
7
7
|
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
8
|
-
import { getExtensionModuleNodePrivateProps, getNodeRenderer } from '../extensions';
|
|
8
|
+
import { getExtensionModuleNode, getExtensionModuleNodePrivateProps, getNodeRenderer } from '../extensions';
|
|
9
9
|
import { getExtensionRenderer, nodeToJSON, toJSON } from '../utils';
|
|
10
10
|
import Extension from './Extension/Extension';
|
|
11
11
|
import { isEmptyBodiedMacro } from './Extension/Extension/extension-utils';
|
|
@@ -56,6 +56,8 @@ class ExtensionComponentInner extends Component {
|
|
|
56
56
|
constructor(...args) {
|
|
57
57
|
super(...args);
|
|
58
58
|
_defineProperty(this, "privatePropsParsed", false);
|
|
59
|
+
_defineProperty(this, "configureAffordanceResolved", false);
|
|
60
|
+
_defineProperty(this, "isUnmounted", false);
|
|
59
61
|
_defineProperty(this, "state", {});
|
|
60
62
|
// memoized to avoid rerender on extension state changes
|
|
61
63
|
_defineProperty(this, "getNodeRenderer", memoizeOne(getNodeRenderer));
|
|
@@ -101,6 +103,76 @@ class ExtensionComponentInner extends Component {
|
|
|
101
103
|
/** We keep rendering the default content */
|
|
102
104
|
}
|
|
103
105
|
});
|
|
106
|
+
/**
|
|
107
|
+
* Decides whether the "Configure {name}" lozenge label should be hidden for this node.
|
|
108
|
+
*
|
|
109
|
+
* Mirrors how the floating toolbar decides to show its edit button (see
|
|
110
|
+
* `shouldShowEditButton` and `updateEditButton` in `editor-plugin-extension`):
|
|
111
|
+
* - a legacy function handler is configurable via the macro browser;
|
|
112
|
+
* - an object handler is configurable only if it defines `update`;
|
|
113
|
+
* - otherwise the node module from the extension provider decides via its optional `update`.
|
|
114
|
+
* Nodes with no way to be configured get no Configure affordance. Anything we cannot
|
|
115
|
+
* resolve keeps the label, which is the pre-existing behaviour.
|
|
116
|
+
*
|
|
117
|
+
* The result is resolved once per node and held in state rather than derived on each render
|
|
118
|
+
* because the provider path is asynchronous: `getExtensionModuleNode` goes through
|
|
119
|
+
* `extensionProvider.getExtension`, which returns a Promise. Deriving the synchronous handler
|
|
120
|
+
* branches in render while the provider branch stays async would let the same node flip
|
|
121
|
+
* between answers, and would re-run the manifest lookup on every hover re-render. One
|
|
122
|
+
* resolution keeps the label stable and cheap.
|
|
123
|
+
*/
|
|
124
|
+
_defineProperty(this, "resolveConfigureAffordanceIfNeeded", async () => {
|
|
125
|
+
if (this.configureAffordanceResolved || !fg('platform_editor_hide_configure_lozenge_non_configurable')) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
const {
|
|
129
|
+
extensionHandlers,
|
|
130
|
+
extensionProvider,
|
|
131
|
+
node
|
|
132
|
+
} = this.props;
|
|
133
|
+
const {
|
|
134
|
+
extensionType,
|
|
135
|
+
extensionKey
|
|
136
|
+
} = node.attrs;
|
|
137
|
+
const extensionHandler = extensionHandlers === null || extensionHandlers === void 0 ? void 0 : extensionHandlers[extensionType];
|
|
138
|
+
if (typeof extensionHandler === 'function') {
|
|
139
|
+
// Legacy macro browser: configurable, keep the label.
|
|
140
|
+
this.configureAffordanceResolved = true;
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
if (extensionHandler && typeof extensionHandler === 'object') {
|
|
144
|
+
this.configureAffordanceResolved = true;
|
|
145
|
+
if (typeof extensionHandler.update !== 'function') {
|
|
146
|
+
this.setState({
|
|
147
|
+
hideConfigureLabel: true
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
152
|
+
if (!extensionProvider) {
|
|
153
|
+
// No handler and no provider yet. The provider usually arrives asynchronously, so try
|
|
154
|
+
// again from componentDidUpdate. If none ever arrives this is the legacy macro browser
|
|
155
|
+
// path, which is configurable, so leaving the label is correct.
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
this.configureAffordanceResolved = true;
|
|
159
|
+
try {
|
|
160
|
+
const extensionModuleNode = await getExtensionModuleNode(extensionProvider, extensionType, extensionKey);
|
|
161
|
+
if (this.isUnmounted) {
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
if (typeof (extensionModuleNode === null || extensionModuleNode === void 0 ? void 0 : extensionModuleNode.update) !== 'function') {
|
|
165
|
+
this.setState({
|
|
166
|
+
hideConfigureLabel: true
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
} catch (e) {
|
|
170
|
+
// Manifest lookups can throw (unknown extension, malformed manifest). Keep the label,
|
|
171
|
+
// which matches the toolbar failing silently and keeping its default. Not logged here on
|
|
172
|
+
// purpose: parsePrivateNodePropsIfNeeded runs the same lookup for the same node and already
|
|
173
|
+
// console.errors the failure, so a second log would double up per unknown extension.
|
|
174
|
+
}
|
|
175
|
+
});
|
|
104
176
|
_defineProperty(this, "handleExtension", (pmNode, actions) => {
|
|
105
177
|
var _pmNode$marks, _pmNode$marks$find, _pmNode$marks$find$at, _result;
|
|
106
178
|
const {
|
|
@@ -172,8 +244,15 @@ class ExtensionComponentInner extends Component {
|
|
|
172
244
|
return (_result = result) !== null && _result !== void 0 ? _result : loadingFallback;
|
|
173
245
|
});
|
|
174
246
|
}
|
|
247
|
+
componentDidMount() {
|
|
248
|
+
this.resolveConfigureAffordanceIfNeeded();
|
|
249
|
+
}
|
|
175
250
|
componentDidUpdate() {
|
|
176
251
|
this.parsePrivateNodePropsIfNeeded();
|
|
252
|
+
this.resolveConfigureAffordanceIfNeeded();
|
|
253
|
+
}
|
|
254
|
+
componentWillUnmount() {
|
|
255
|
+
this.isUnmounted = true;
|
|
177
256
|
}
|
|
178
257
|
render() {
|
|
179
258
|
var _this$state$_privateP2;
|
|
@@ -219,7 +298,8 @@ class ExtensionComponentInner extends Component {
|
|
|
219
298
|
isNodeNested: isNodeNested,
|
|
220
299
|
setIsNodeHovered: this.setIsNodeHovered,
|
|
221
300
|
isLivePageViewMode: isLivePageViewMode,
|
|
222
|
-
allowBodiedOverride: allowBodiedOverride
|
|
301
|
+
allowBodiedOverride: allowBodiedOverride,
|
|
302
|
+
hideConfigureLabel: this.state.hideConfigureLabel
|
|
223
303
|
});
|
|
224
304
|
}
|
|
225
305
|
const extensionHandlerResult = this.tryExtensionHandler(undefined);
|
|
@@ -234,6 +314,7 @@ class ExtensionComponentInner extends Component {
|
|
|
234
314
|
handleContentDOMRef: handleContentDOMRef,
|
|
235
315
|
view: editorView,
|
|
236
316
|
editorAppearance: editorAppearance,
|
|
317
|
+
hideConfigureLabel: this.state.hideConfigureLabel,
|
|
237
318
|
hideFrame: (_this$state$_privateP2 = this.state._privateProps) === null || _this$state$_privateP2 === void 0 ? void 0 : _this$state$_privateP2.__hideFrame,
|
|
238
319
|
pluginInjectionApi: pluginInjectionApi,
|
|
239
320
|
macroInteractionDesignFeatureFlags: macroInteractionDesignFeatureFlags,
|
|
@@ -251,7 +332,8 @@ class ExtensionComponentInner extends Component {
|
|
|
251
332
|
macroInteractionDesignFeatureFlags: macroInteractionDesignFeatureFlags,
|
|
252
333
|
isNodeSelected: selectedNode === node,
|
|
253
334
|
pluginInjectionApi: pluginInjectionApi,
|
|
254
|
-
isLivePageViewMode: isLivePageViewMode
|
|
335
|
+
isLivePageViewMode: isLivePageViewMode,
|
|
336
|
+
hideConfigureLabel: this.state.hideConfigureLabel
|
|
255
337
|
}, extensionHandlerResult);
|
|
256
338
|
default:
|
|
257
339
|
return null;
|
|
@@ -208,7 +208,8 @@ const MultiBodiedExtensionWithWidth = ({
|
|
|
208
208
|
setIsNodeHovered,
|
|
209
209
|
pluginInjectionApi,
|
|
210
210
|
isLivePageViewMode,
|
|
211
|
-
allowBodiedOverride = false
|
|
211
|
+
allowBodiedOverride = false,
|
|
212
|
+
hideConfigureLabel
|
|
212
213
|
}) => {
|
|
213
214
|
const {
|
|
214
215
|
showMacroInteractionDesignUpdates
|
|
@@ -319,7 +320,8 @@ const MultiBodiedExtensionWithWidth = ({
|
|
|
319
320
|
isNodeNested: isNodeNested,
|
|
320
321
|
setIsNodeHovered: setIsNodeHovered,
|
|
321
322
|
isBodiedMacro: true,
|
|
322
|
-
pluginInjectionApi: pluginInjectionApi
|
|
323
|
+
pluginInjectionApi: pluginInjectionApi,
|
|
324
|
+
hideConfigureLabel: hideConfigureLabel
|
|
323
325
|
}), jsx("div", {
|
|
324
326
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
|
|
325
327
|
className: wrapperClassNames,
|
|
@@ -13,7 +13,7 @@ const NETWORK_FAILURE_REGEX = /^network failure/i;
|
|
|
13
13
|
const RESIZE_OBSERVER_LOOP_REGEX = /ResizeObserver loop completed with undelivered notifications/;
|
|
14
14
|
const SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
|
|
15
15
|
const packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
|
|
16
|
-
const packageVersion = "121.2.
|
|
16
|
+
const packageVersion = "121.2.3";
|
|
17
17
|
const sanitiseSentryEvents = (data, _hint) => {
|
|
18
18
|
// Remove URL as it has UGC
|
|
19
19
|
// Ignored via go/ees007
|
|
@@ -14,7 +14,7 @@ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
|
|
|
14
14
|
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
15
15
|
import Layer from '../Layer';
|
|
16
16
|
const packageName = "@atlaskit/editor-common";
|
|
17
|
-
const packageVersion = "121.2.
|
|
17
|
+
const packageVersion = "121.2.3";
|
|
18
18
|
const halfFocusRing = 1;
|
|
19
19
|
const dropOffset = '0, 8';
|
|
20
20
|
const fadeIn = keyframes({
|
|
@@ -270,6 +270,11 @@ export var aiSuggestionsMessages = defineMessages({
|
|
|
270
270
|
defaultMessage: 'Reviewing content',
|
|
271
271
|
description: 'Loading message shown while the AI is reviewing the content'
|
|
272
272
|
},
|
|
273
|
+
thinkingReviewingContentWithAgent: {
|
|
274
|
+
id: 'fabric.editor.ai.suggestions.thinking.reviewingContentWithAgent.non-final',
|
|
275
|
+
defaultMessage: 'Reviewing content with {agentName}',
|
|
276
|
+
description: 'First loading message on the AI suggestions thinking bar. The {agentName} placeholder is replaced with the reviewing agent name (for example "Content Reviewer"). Shown for a few seconds before the remaining rotating statuses.'
|
|
277
|
+
},
|
|
273
278
|
thinkingMayTakeAFewMinutes: {
|
|
274
279
|
id: 'fabric.editor.ai.suggestions.thinking.mayTakeAFewMinutes.non-final',
|
|
275
280
|
defaultMessage: 'This may take a few minutes',
|
|
@@ -333,6 +333,7 @@ export var ACTION_SUBJECT = /*#__PURE__*/function (ACTION_SUBJECT) {
|
|
|
333
333
|
ACTION_SUBJECT["CONTENT_COMPONENT"] = "contentComponent";
|
|
334
334
|
ACTION_SUBJECT["DATE"] = "date";
|
|
335
335
|
ACTION_SUBJECT["DATE_SEGMENT"] = "dateSegment";
|
|
336
|
+
ACTION_SUBJECT["DIVIDER"] = "divider";
|
|
336
337
|
ACTION_SUBJECT["DOCUMENT"] = "document";
|
|
337
338
|
ACTION_SUBJECT["EDITOR"] = "editor";
|
|
338
339
|
ACTION_SUBJECT["ACTIVITY_SESSION"] = "activitySession";
|
|
@@ -53,7 +53,8 @@ function ExtensionWithPluginState(props) {
|
|
|
53
53
|
showBodiedExtensionRendererView = props.showBodiedExtensionRendererView,
|
|
54
54
|
setShowBodiedExtensionRendererView = props.setShowBodiedExtensionRendererView,
|
|
55
55
|
pluginInjectionApi = props.pluginInjectionApi,
|
|
56
|
-
isLivePageViewMode = props.isLivePageViewMode
|
|
56
|
+
isLivePageViewMode = props.isLivePageViewMode,
|
|
57
|
+
hideConfigureLabel = props.hideConfigureLabel;
|
|
57
58
|
var _ref = macroInteractionDesignFeatureFlags || {},
|
|
58
59
|
showMacroInteractionDesignUpdates = _ref.showMacroInteractionDesignUpdates;
|
|
59
60
|
var isLegacyContentMacroExtension = function isLegacyContentMacroExtension(extensionNode) {
|
|
@@ -146,7 +147,8 @@ function ExtensionWithPluginState(props) {
|
|
|
146
147
|
showUpdatedLivePages1PBodiedExtensionUI: showUpdatedLivePages1PBodiedExtensionUI,
|
|
147
148
|
showBodiedExtensionRendererView: showBodiedExtensionRendererView,
|
|
148
149
|
setShowBodiedExtensionRendererView: setShowBodiedExtensionRendererView,
|
|
149
|
-
pluginInjectionApi: pluginInjectionApi
|
|
150
|
+
pluginInjectionApi: pluginInjectionApi,
|
|
151
|
+
hideConfigureLabel: hideConfigureLabel
|
|
150
152
|
}), jsx("div", {
|
|
151
153
|
"data-testid": "extension-container",
|
|
152
154
|
ref: handleRef,
|
|
@@ -192,7 +194,8 @@ function ExtensionWithPluginState(props) {
|
|
|
192
194
|
}, !removeBorder && jsx(ExtensionLozenge, {
|
|
193
195
|
node: node,
|
|
194
196
|
showMacroInteractionDesignUpdates: showMacroInteractionDesignUpdates,
|
|
195
|
-
pluginInjectionApi: pluginInjectionApi
|
|
197
|
+
pluginInjectionApi: pluginInjectionApi,
|
|
198
|
+
hideConfigureLabel: hideConfigureLabel
|
|
196
199
|
}), children), hasBody &&
|
|
197
200
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop, @atlaskit/design-system/consistent-css-prop-usage -- Ignored via go/DSP-18766
|
|
198
201
|
jsx("div", {
|
|
@@ -74,7 +74,8 @@ var InlineExtension = function InlineExtension(props) {
|
|
|
74
74
|
children = props.children,
|
|
75
75
|
isNodeHovered = props.isNodeHovered,
|
|
76
76
|
setIsNodeHovered = props.setIsNodeHovered,
|
|
77
|
-
isLivePageViewMode = props.isLivePageViewMode
|
|
77
|
+
isLivePageViewMode = props.isLivePageViewMode,
|
|
78
|
+
hideConfigureLabel = props.hideConfigureLabel;
|
|
78
79
|
var _ref3 = macroInteractionDesignFeatureFlags || {},
|
|
79
80
|
showMacroInteractionDesignUpdates = _ref3.showMacroInteractionDesignUpdates;
|
|
80
81
|
var shouldUseFlowingInlineWrapper = fg('rovo_skill_tag_label_wrapping');
|
|
@@ -112,7 +113,8 @@ var InlineExtension = function InlineExtension(props) {
|
|
|
112
113
|
isNodeHovered: isNodeHovered,
|
|
113
114
|
showMacroInteractionDesignUpdates: showMacroInteractionDesignUpdates,
|
|
114
115
|
setIsNodeHovered: setIsNodeHovered,
|
|
115
|
-
pluginInjectionApi: pluginInjectionApi
|
|
116
|
+
pluginInjectionApi: pluginInjectionApi,
|
|
117
|
+
hideConfigureLabel: hideConfigureLabel
|
|
116
118
|
}), jsx("div", {
|
|
117
119
|
"data-testid": "inline-extension-wrapper",
|
|
118
120
|
css: [
|
|
@@ -138,7 +140,8 @@ var InlineExtension = function InlineExtension(props) {
|
|
|
138
140
|
}), children ? children : jsx(ExtensionLozenge, {
|
|
139
141
|
node: node,
|
|
140
142
|
showMacroInteractionDesignUpdates: showMacroInteractionDesignUpdates,
|
|
141
|
-
pluginInjectionApi: pluginInjectionApi
|
|
143
|
+
pluginInjectionApi: pluginInjectionApi,
|
|
144
|
+
hideConfigureLabel: hideConfigureLabel
|
|
142
145
|
})));
|
|
143
146
|
return expValEquals('enghealth-53346_fix_redaction_marker_editor', 'isEnabled', true) ? jsx(MemoizedWidthContextProvider, {
|
|
144
147
|
rendererContainerWidth: rendererContainerWidth
|
|
@@ -117,6 +117,7 @@ export var ExtensionLabel = function ExtensionLabel(_ref) {
|
|
|
117
117
|
isNodeNested = _ref.isNodeNested,
|
|
118
118
|
setIsNodeHovered = _ref.setIsNodeHovered,
|
|
119
119
|
isBodiedMacro = _ref.isBodiedMacro,
|
|
120
|
+
hideConfigureLabel = _ref.hideConfigureLabel,
|
|
120
121
|
showUpdatedLivePages1PBodiedExtensionUI = _ref.showUpdatedLivePages1PBodiedExtensionUI,
|
|
121
122
|
showLivePagesBodiedMacrosRendererView = _ref.showLivePagesBodiedMacrosRendererView,
|
|
122
123
|
showBodiedExtensionRendererView = _ref.showBodiedExtensionRendererView,
|
|
@@ -174,7 +175,7 @@ export var ExtensionLabel = function ExtensionLabel(_ref) {
|
|
|
174
175
|
onBlur: expValEquals('editor_a11y__enghealth-46814_fy26', 'isEnabled', true) ? function () {} : undefined,
|
|
175
176
|
"data-testid": "new-lozenge-container",
|
|
176
177
|
contentEditable: false
|
|
177
|
-
}, jsx(Tooltip, {
|
|
178
|
+
}, !hideConfigureLabel && jsx(Tooltip, {
|
|
178
179
|
content: jsx(FormattedMessage
|
|
179
180
|
// Ignored via go/ees005
|
|
180
181
|
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
@@ -35,12 +35,14 @@ export var LozengeComponent = function LozengeComponent(_ref) {
|
|
|
35
35
|
showUpdatedLivePages1PBodiedExtensionUI = _ref.showUpdatedLivePages1PBodiedExtensionUI,
|
|
36
36
|
showBodiedExtensionRendererView = _ref.showBodiedExtensionRendererView,
|
|
37
37
|
setShowBodiedExtensionRendererView = _ref.setShowBodiedExtensionRendererView,
|
|
38
|
-
pluginInjectionApi = _ref.pluginInjectionApi
|
|
38
|
+
pluginInjectionApi = _ref.pluginInjectionApi,
|
|
39
|
+
hideConfigureLabel = _ref.hideConfigureLabel;
|
|
39
40
|
var capitalizedTitle = capitalizeFirstLetter(title);
|
|
40
41
|
if (showMacroInteractionDesignUpdates) {
|
|
41
42
|
return jsx(Fragment, null, jsx(ExtensionLabel, {
|
|
42
43
|
text: capitalizedTitle,
|
|
43
44
|
extensionName: extensionName,
|
|
45
|
+
hideConfigureLabel: hideConfigureLabel,
|
|
44
46
|
isNodeHovered: isNodeHovered,
|
|
45
47
|
isNodeNested: isNodeNested,
|
|
46
48
|
customContainerStyles: customContainerStyles,
|
|
@@ -65,6 +65,7 @@ var ExtensionLozenge = /*#__PURE__*/function (_Component) {
|
|
|
65
65
|
isNodeNested: isNodeNested,
|
|
66
66
|
showMacroInteractionDesignUpdates: showMacroInteractionDesignUpdates,
|
|
67
67
|
extensionName: name,
|
|
68
|
+
hideConfigureLabel: _this.props.hideConfigureLabel,
|
|
68
69
|
lozengeData: lozengeData,
|
|
69
70
|
params: params,
|
|
70
71
|
title: title,
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _typeof from "@babel/runtime/helpers/typeof";
|
|
1
2
|
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
3
|
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
4
|
import _createClass from "@babel/runtime/helpers/createClass";
|
|
@@ -17,7 +18,7 @@ import React, { Component, useEffect, useLayoutEffect, useRef, useState } from '
|
|
|
17
18
|
import memoizeOne from 'memoize-one';
|
|
18
19
|
import { NodeSelection } from '@atlaskit/editor-prosemirror/state';
|
|
19
20
|
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
20
|
-
import { getExtensionModuleNodePrivateProps, getNodeRenderer } from '../extensions';
|
|
21
|
+
import { getExtensionModuleNode, getExtensionModuleNodePrivateProps, getNodeRenderer } from '../extensions';
|
|
21
22
|
import { getExtensionRenderer, nodeToJSON, toJSON } from '../utils';
|
|
22
23
|
import Extension from './Extension/Extension';
|
|
23
24
|
import { isEmptyBodiedMacro } from './Extension/Extension/extension-utils';
|
|
@@ -77,6 +78,8 @@ var ExtensionComponentInner = /*#__PURE__*/function (_Component) {
|
|
|
77
78
|
}
|
|
78
79
|
_this = _callSuper(this, ExtensionComponentInner, [].concat(args));
|
|
79
80
|
_defineProperty(_this, "privatePropsParsed", false);
|
|
81
|
+
_defineProperty(_this, "configureAffordanceResolved", false);
|
|
82
|
+
_defineProperty(_this, "isUnmounted", false);
|
|
80
83
|
_defineProperty(_this, "state", {});
|
|
81
84
|
// memoized to avoid rerender on extension state changes
|
|
82
85
|
_defineProperty(_this, "getNodeRenderer", memoizeOne(getNodeRenderer));
|
|
@@ -136,14 +139,100 @@ var ExtensionComponentInner = /*#__PURE__*/function (_Component) {
|
|
|
136
139
|
}
|
|
137
140
|
}, _callee, null, [[2, 4]]);
|
|
138
141
|
})));
|
|
142
|
+
/**
|
|
143
|
+
* Decides whether the "Configure {name}" lozenge label should be hidden for this node.
|
|
144
|
+
*
|
|
145
|
+
* Mirrors how the floating toolbar decides to show its edit button (see
|
|
146
|
+
* `shouldShowEditButton` and `updateEditButton` in `editor-plugin-extension`):
|
|
147
|
+
* - a legacy function handler is configurable via the macro browser;
|
|
148
|
+
* - an object handler is configurable only if it defines `update`;
|
|
149
|
+
* - otherwise the node module from the extension provider decides via its optional `update`.
|
|
150
|
+
* Nodes with no way to be configured get no Configure affordance. Anything we cannot
|
|
151
|
+
* resolve keeps the label, which is the pre-existing behaviour.
|
|
152
|
+
*
|
|
153
|
+
* The result is resolved once per node and held in state rather than derived on each render
|
|
154
|
+
* because the provider path is asynchronous: `getExtensionModuleNode` goes through
|
|
155
|
+
* `extensionProvider.getExtension`, which returns a Promise. Deriving the synchronous handler
|
|
156
|
+
* branches in render while the provider branch stays async would let the same node flip
|
|
157
|
+
* between answers, and would re-run the manifest lookup on every hover re-render. One
|
|
158
|
+
* resolution keeps the label stable and cheap.
|
|
159
|
+
*/
|
|
160
|
+
_defineProperty(_this, "resolveConfigureAffordanceIfNeeded", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
161
|
+
var _this$props, extensionHandlers, extensionProvider, node, _node$attrs, extensionType, extensionKey, extensionHandler, extensionModuleNode, _t2;
|
|
162
|
+
return _regeneratorRuntime.wrap(function (_context2) {
|
|
163
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
164
|
+
case 0:
|
|
165
|
+
if (!(_this.configureAffordanceResolved || !fg('platform_editor_hide_configure_lozenge_non_configurable'))) {
|
|
166
|
+
_context2.next = 1;
|
|
167
|
+
break;
|
|
168
|
+
}
|
|
169
|
+
return _context2.abrupt("return");
|
|
170
|
+
case 1:
|
|
171
|
+
_this$props = _this.props, extensionHandlers = _this$props.extensionHandlers, extensionProvider = _this$props.extensionProvider, node = _this$props.node;
|
|
172
|
+
_node$attrs = node.attrs, extensionType = _node$attrs.extensionType, extensionKey = _node$attrs.extensionKey;
|
|
173
|
+
extensionHandler = extensionHandlers === null || extensionHandlers === void 0 ? void 0 : extensionHandlers[extensionType];
|
|
174
|
+
if (!(typeof extensionHandler === 'function')) {
|
|
175
|
+
_context2.next = 2;
|
|
176
|
+
break;
|
|
177
|
+
}
|
|
178
|
+
// Legacy macro browser: configurable, keep the label.
|
|
179
|
+
_this.configureAffordanceResolved = true;
|
|
180
|
+
return _context2.abrupt("return");
|
|
181
|
+
case 2:
|
|
182
|
+
if (!(extensionHandler && _typeof(extensionHandler) === 'object')) {
|
|
183
|
+
_context2.next = 3;
|
|
184
|
+
break;
|
|
185
|
+
}
|
|
186
|
+
_this.configureAffordanceResolved = true;
|
|
187
|
+
if (typeof extensionHandler.update !== 'function') {
|
|
188
|
+
_this.setState({
|
|
189
|
+
hideConfigureLabel: true
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
return _context2.abrupt("return");
|
|
193
|
+
case 3:
|
|
194
|
+
if (extensionProvider) {
|
|
195
|
+
_context2.next = 4;
|
|
196
|
+
break;
|
|
197
|
+
}
|
|
198
|
+
return _context2.abrupt("return");
|
|
199
|
+
case 4:
|
|
200
|
+
_this.configureAffordanceResolved = true;
|
|
201
|
+
_context2.prev = 5;
|
|
202
|
+
_context2.next = 6;
|
|
203
|
+
return getExtensionModuleNode(extensionProvider, extensionType, extensionKey);
|
|
204
|
+
case 6:
|
|
205
|
+
extensionModuleNode = _context2.sent;
|
|
206
|
+
if (!_this.isUnmounted) {
|
|
207
|
+
_context2.next = 7;
|
|
208
|
+
break;
|
|
209
|
+
}
|
|
210
|
+
return _context2.abrupt("return");
|
|
211
|
+
case 7:
|
|
212
|
+
if (typeof (extensionModuleNode === null || extensionModuleNode === void 0 ? void 0 : extensionModuleNode.update) !== 'function') {
|
|
213
|
+
_this.setState({
|
|
214
|
+
hideConfigureLabel: true
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
_context2.next = 9;
|
|
218
|
+
break;
|
|
219
|
+
case 8:
|
|
220
|
+
_context2.prev = 8;
|
|
221
|
+
_t2 = _context2["catch"](5);
|
|
222
|
+
case 9:
|
|
223
|
+
case "end":
|
|
224
|
+
return _context2.stop();
|
|
225
|
+
}
|
|
226
|
+
}, _callee2, null, [[5, 8]]);
|
|
227
|
+
})));
|
|
139
228
|
_defineProperty(_this, "handleExtension", function (pmNode, actions) {
|
|
140
229
|
var _pmNode$marks;
|
|
141
|
-
var _this$
|
|
142
|
-
extensionHandlers = _this$
|
|
143
|
-
extensionLoadingHandlers = _this$
|
|
144
|
-
editorView = _this$
|
|
145
|
-
showBodiedExtensionRendererView = _this$
|
|
146
|
-
rendererExtensionHandlers = _this$
|
|
230
|
+
var _this$props2 = _this.props,
|
|
231
|
+
extensionHandlers = _this$props2.extensionHandlers,
|
|
232
|
+
extensionLoadingHandlers = _this$props2.extensionLoadingHandlers,
|
|
233
|
+
editorView = _this$props2.editorView,
|
|
234
|
+
showBodiedExtensionRendererView = _this$props2.showBodiedExtensionRendererView,
|
|
235
|
+
rendererExtensionHandlers = _this$props2.rendererExtensionHandlers;
|
|
147
236
|
var _pmNode$attrs = pmNode.attrs,
|
|
148
237
|
extensionType = _pmNode$attrs.extensionType,
|
|
149
238
|
extensionKey = _pmNode$attrs.extensionKey,
|
|
@@ -208,30 +297,41 @@ var ExtensionComponentInner = /*#__PURE__*/function (_Component) {
|
|
|
208
297
|
}
|
|
209
298
|
_inherits(ExtensionComponentInner, _Component);
|
|
210
299
|
return _createClass(ExtensionComponentInner, [{
|
|
300
|
+
key: "componentDidMount",
|
|
301
|
+
value: function componentDidMount() {
|
|
302
|
+
this.resolveConfigureAffordanceIfNeeded();
|
|
303
|
+
}
|
|
304
|
+
}, {
|
|
211
305
|
key: "componentDidUpdate",
|
|
212
306
|
value: function componentDidUpdate() {
|
|
213
307
|
this.parsePrivateNodePropsIfNeeded();
|
|
308
|
+
this.resolveConfigureAffordanceIfNeeded();
|
|
309
|
+
}
|
|
310
|
+
}, {
|
|
311
|
+
key: "componentWillUnmount",
|
|
312
|
+
value: function componentWillUnmount() {
|
|
313
|
+
this.isUnmounted = true;
|
|
214
314
|
}
|
|
215
315
|
}, {
|
|
216
316
|
key: "render",
|
|
217
317
|
value: function render() {
|
|
218
318
|
var _this$state$_privateP2;
|
|
219
|
-
var _this$
|
|
220
|
-
node = _this$
|
|
221
|
-
handleContentDOMRef = _this$
|
|
222
|
-
editorView = _this$
|
|
223
|
-
references = _this$
|
|
224
|
-
editorAppearance = _this$
|
|
225
|
-
pluginInjectionApi = _this$
|
|
226
|
-
getPos = _this$
|
|
227
|
-
eventDispatcher = _this$
|
|
228
|
-
macroInteractionDesignFeatureFlags = _this$
|
|
229
|
-
extensionProvider = _this$
|
|
230
|
-
showLivePagesBodiedMacrosRendererView = _this$
|
|
231
|
-
showUpdatedLivePages1PBodiedExtensionUI = _this$
|
|
232
|
-
showBodiedExtensionRendererView = _this$
|
|
233
|
-
setShowBodiedExtensionRendererView = _this$
|
|
234
|
-
isLivePageViewMode = _this$
|
|
319
|
+
var _this$props3 = this.props,
|
|
320
|
+
node = _this$props3.node,
|
|
321
|
+
handleContentDOMRef = _this$props3.handleContentDOMRef,
|
|
322
|
+
editorView = _this$props3.editorView,
|
|
323
|
+
references = _this$props3.references,
|
|
324
|
+
editorAppearance = _this$props3.editorAppearance,
|
|
325
|
+
pluginInjectionApi = _this$props3.pluginInjectionApi,
|
|
326
|
+
getPos = _this$props3.getPos,
|
|
327
|
+
eventDispatcher = _this$props3.eventDispatcher,
|
|
328
|
+
macroInteractionDesignFeatureFlags = _this$props3.macroInteractionDesignFeatureFlags,
|
|
329
|
+
extensionProvider = _this$props3.extensionProvider,
|
|
330
|
+
showLivePagesBodiedMacrosRendererView = _this$props3.showLivePagesBodiedMacrosRendererView,
|
|
331
|
+
showUpdatedLivePages1PBodiedExtensionUI = _this$props3.showUpdatedLivePages1PBodiedExtensionUI,
|
|
332
|
+
showBodiedExtensionRendererView = _this$props3.showBodiedExtensionRendererView,
|
|
333
|
+
setShowBodiedExtensionRendererView = _this$props3.setShowBodiedExtensionRendererView,
|
|
334
|
+
isLivePageViewMode = _this$props3.isLivePageViewMode;
|
|
235
335
|
var selection = editorView.state.selection;
|
|
236
336
|
var selectedNode = selection instanceof NodeSelection && selection.node;
|
|
237
337
|
var position = typeof getPos === 'function' && getPos();
|
|
@@ -255,7 +355,8 @@ var ExtensionComponentInner = /*#__PURE__*/function (_Component) {
|
|
|
255
355
|
isNodeNested: isNodeNested,
|
|
256
356
|
setIsNodeHovered: this.setIsNodeHovered,
|
|
257
357
|
isLivePageViewMode: isLivePageViewMode,
|
|
258
|
-
allowBodiedOverride: allowBodiedOverride
|
|
358
|
+
allowBodiedOverride: allowBodiedOverride,
|
|
359
|
+
hideConfigureLabel: this.state.hideConfigureLabel
|
|
259
360
|
});
|
|
260
361
|
}
|
|
261
362
|
var extensionHandlerResult = this.tryExtensionHandler(undefined);
|
|
@@ -270,6 +371,7 @@ var ExtensionComponentInner = /*#__PURE__*/function (_Component) {
|
|
|
270
371
|
handleContentDOMRef: handleContentDOMRef,
|
|
271
372
|
view: editorView,
|
|
272
373
|
editorAppearance: editorAppearance,
|
|
374
|
+
hideConfigureLabel: this.state.hideConfigureLabel,
|
|
273
375
|
hideFrame: (_this$state$_privateP2 = this.state._privateProps) === null || _this$state$_privateP2 === void 0 ? void 0 : _this$state$_privateP2.__hideFrame,
|
|
274
376
|
pluginInjectionApi: pluginInjectionApi,
|
|
275
377
|
macroInteractionDesignFeatureFlags: macroInteractionDesignFeatureFlags,
|
|
@@ -287,7 +389,8 @@ var ExtensionComponentInner = /*#__PURE__*/function (_Component) {
|
|
|
287
389
|
macroInteractionDesignFeatureFlags: macroInteractionDesignFeatureFlags,
|
|
288
390
|
isNodeSelected: selectedNode === node,
|
|
289
391
|
pluginInjectionApi: pluginInjectionApi,
|
|
290
|
-
isLivePageViewMode: isLivePageViewMode
|
|
392
|
+
isLivePageViewMode: isLivePageViewMode,
|
|
393
|
+
hideConfigureLabel: this.state.hideConfigureLabel
|
|
291
394
|
}, extensionHandlerResult);
|
|
292
395
|
default:
|
|
293
396
|
return null;
|
|
@@ -207,7 +207,8 @@ var MultiBodiedExtensionWithWidth = function MultiBodiedExtensionWithWidth(_ref2
|
|
|
207
207
|
pluginInjectionApi = _ref2.pluginInjectionApi,
|
|
208
208
|
isLivePageViewMode = _ref2.isLivePageViewMode,
|
|
209
209
|
_ref2$allowBodiedOver = _ref2.allowBodiedOverride,
|
|
210
|
-
allowBodiedOverride = _ref2$allowBodiedOver === void 0 ? false : _ref2$allowBodiedOver
|
|
210
|
+
allowBodiedOverride = _ref2$allowBodiedOver === void 0 ? false : _ref2$allowBodiedOver,
|
|
211
|
+
hideConfigureLabel = _ref2.hideConfigureLabel;
|
|
211
212
|
var _ref3 = macroInteractionDesignFeatureFlags || {},
|
|
212
213
|
showMacroInteractionDesignUpdates = _ref3.showMacroInteractionDesignUpdates;
|
|
213
214
|
var _node$attrs = node.attrs,
|
|
@@ -318,7 +319,8 @@ var MultiBodiedExtensionWithWidth = function MultiBodiedExtensionWithWidth(_ref2
|
|
|
318
319
|
isNodeNested: isNodeNested,
|
|
319
320
|
setIsNodeHovered: setIsNodeHovered,
|
|
320
321
|
isBodiedMacro: true,
|
|
321
|
-
pluginInjectionApi: pluginInjectionApi
|
|
322
|
+
pluginInjectionApi: pluginInjectionApi,
|
|
323
|
+
hideConfigureLabel: hideConfigureLabel
|
|
322
324
|
}), jsx("div", {
|
|
323
325
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
|
|
324
326
|
className: wrapperClassNames,
|
|
@@ -19,7 +19,7 @@ var NETWORK_FAILURE_REGEX = /^network failure/i;
|
|
|
19
19
|
var RESIZE_OBSERVER_LOOP_REGEX = /ResizeObserver loop completed with undelivered notifications/;
|
|
20
20
|
var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
|
|
21
21
|
var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
|
|
22
|
-
var packageVersion = "121.2.
|
|
22
|
+
var packageVersion = "121.2.3";
|
|
23
23
|
var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
|
|
24
24
|
// Remove URL as it has UGC
|
|
25
25
|
// Ignored via go/ees007
|
|
@@ -21,7 +21,7 @@ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
|
|
|
21
21
|
import { fg } from '@atlaskit/platform-feature-flags/fg';
|
|
22
22
|
import Layer from '../Layer';
|
|
23
23
|
var packageName = "@atlaskit/editor-common";
|
|
24
|
-
var packageVersion = "121.2.
|
|
24
|
+
var packageVersion = "121.2.3";
|
|
25
25
|
var halfFocusRing = 1;
|
|
26
26
|
var dropOffset = '0, 8';
|
|
27
27
|
var fadeIn = keyframes({
|
|
@@ -348,6 +348,11 @@ export declare const aiSuggestionsMessages: {
|
|
|
348
348
|
description: string;
|
|
349
349
|
id: string;
|
|
350
350
|
};
|
|
351
|
+
thinkingReviewingContentWithAgent: {
|
|
352
|
+
defaultMessage: string;
|
|
353
|
+
description: string;
|
|
354
|
+
id: string;
|
|
355
|
+
};
|
|
351
356
|
thinkingStopLabel: {
|
|
352
357
|
defaultMessage: string;
|
|
353
358
|
description: string;
|
|
@@ -41,7 +41,7 @@ type DeletedSmartLink = TrackAEP<ACTION.DELETED, ACTION_SUBJECT.SMART_LINK, ACTI
|
|
|
41
41
|
displayMode: ACTION_SUBJECT_ID.CARD_BLOCK | ACTION_SUBJECT_ID.CARD_INLINE;
|
|
42
42
|
inputMethod: INPUT_METHOD.FLOATING_TB | INPUT_METHOD.TOOLBAR | INPUT_METHOD.CARD;
|
|
43
43
|
}, undefined>;
|
|
44
|
-
export type NodeDeletedAEP = TrackAEP<ACTION.DELETED, ACTION_SUBJECT.PANEL | ACTION_SUBJECT.LAYOUT | ACTION_SUBJECT.EXPAND | ACTION_SUBJECT.TABLE | ACTION_SUBJECT.EXTENSION | ACTION_SUBJECT.BODIED_EXTENSION | ACTION_SUBJECT.SMART_LINK | ACTION_SUBJECT.CODE_BLOCK | ACTION_SUBJECT.MEDIA_SINGLE | ACTION_SUBJECT.MEDIA_GROUP | ACTION_SUBJECT.MEDIA_INLINE | ACTION_SUBJECT.ELEMENT, undefined, {
|
|
44
|
+
export type NodeDeletedAEP = TrackAEP<ACTION.DELETED, ACTION_SUBJECT.PANEL | ACTION_SUBJECT.LAYOUT | ACTION_SUBJECT.EXPAND | ACTION_SUBJECT.TABLE | ACTION_SUBJECT.EXTENSION | ACTION_SUBJECT.BODIED_EXTENSION | ACTION_SUBJECT.DIVIDER | ACTION_SUBJECT.SMART_LINK | ACTION_SUBJECT.CODE_BLOCK | ACTION_SUBJECT.MEDIA_SINGLE | ACTION_SUBJECT.MEDIA_GROUP | ACTION_SUBJECT.MEDIA_INLINE | ACTION_SUBJECT.ELEMENT, undefined, {
|
|
45
45
|
inputMethod: INPUT_METHOD.BLOCK_MENU | INPUT_METHOD.FLOATING_TB | INPUT_METHOD.TOOLBAR;
|
|
46
46
|
nodeCount?: number;
|
|
47
47
|
nodeType?: string;
|
|
@@ -12,6 +12,7 @@ export interface Props {
|
|
|
12
12
|
extensionProvider?: ExtensionProvider;
|
|
13
13
|
getPos: ProsemirrorGetPosHandler;
|
|
14
14
|
handleContentDOMRef: (node: HTMLElement | null) => void;
|
|
15
|
+
hideConfigureLabel?: boolean;
|
|
15
16
|
hideFrame?: boolean;
|
|
16
17
|
isLivePageViewMode?: boolean;
|
|
17
18
|
isNodeHovered?: boolean;
|
|
@@ -8,6 +8,7 @@ import type { Node as PmNode } from '@atlaskit/editor-prosemirror/model';
|
|
|
8
8
|
import type { ExtensionsPluginInjectionAPI, MacroInteractionDesignFeatureFlags } from '../../types';
|
|
9
9
|
export interface Props {
|
|
10
10
|
children?: React.ReactNode;
|
|
11
|
+
hideConfigureLabel?: boolean;
|
|
11
12
|
isLivePageViewMode?: boolean;
|
|
12
13
|
isNodeHovered?: boolean;
|
|
13
14
|
isNodeSelected?: boolean;
|
|
@@ -8,6 +8,7 @@ import type { ExtensionsPluginInjectionAPI } from '../../types';
|
|
|
8
8
|
type ExtensionLabelProps = {
|
|
9
9
|
customContainerStyles?: CSSProperties;
|
|
10
10
|
extensionName: string;
|
|
11
|
+
hideConfigureLabel?: boolean;
|
|
11
12
|
isBodiedMacro?: boolean;
|
|
12
13
|
isNodeHovered?: boolean;
|
|
13
14
|
isNodeNested?: boolean;
|
|
@@ -18,5 +19,5 @@ type ExtensionLabelProps = {
|
|
|
18
19
|
showUpdatedLivePages1PBodiedExtensionUI?: boolean;
|
|
19
20
|
text: string;
|
|
20
21
|
};
|
|
21
|
-
export declare const ExtensionLabel: ({ text, extensionName, customContainerStyles, isNodeNested, setIsNodeHovered, isBodiedMacro, showUpdatedLivePages1PBodiedExtensionUI, showLivePagesBodiedMacrosRendererView, showBodiedExtensionRendererView, pluginInjectionApi: _pluginInjectionApi, }: ExtensionLabelProps) => jsx.JSX.Element;
|
|
22
|
+
export declare const ExtensionLabel: ({ text, extensionName, customContainerStyles, isNodeNested, setIsNodeHovered, isBodiedMacro, hideConfigureLabel, showUpdatedLivePages1PBodiedExtensionUI, showLivePagesBodiedMacrosRendererView, showBodiedExtensionRendererView, pluginInjectionApi: _pluginInjectionApi, }: ExtensionLabelProps) => jsx.JSX.Element;
|
|
22
23
|
export {};
|
|
@@ -10,6 +10,7 @@ export declare const ICON_SIZE = 24;
|
|
|
10
10
|
type LozengeComponentProps = {
|
|
11
11
|
customContainerStyles?: CSSProperties;
|
|
12
12
|
extensionName: string;
|
|
13
|
+
hideConfigureLabel?: boolean;
|
|
13
14
|
isBodiedMacro?: boolean;
|
|
14
15
|
isNodeHovered?: boolean;
|
|
15
16
|
isNodeNested?: boolean;
|
|
@@ -25,5 +26,5 @@ type LozengeComponentProps = {
|
|
|
25
26
|
showUpdatedLivePages1PBodiedExtensionUI?: boolean;
|
|
26
27
|
title: string;
|
|
27
28
|
};
|
|
28
|
-
export declare const LozengeComponent: ({ lozengeData, extensionName, title, params, renderImage, showMacroInteractionDesignUpdates, customContainerStyles, isNodeHovered, isNodeNested, setIsNodeHovered, isBodiedMacro, showLivePagesBodiedMacrosRendererView, showUpdatedLivePages1PBodiedExtensionUI, showBodiedExtensionRendererView, setShowBodiedExtensionRendererView, pluginInjectionApi, }: LozengeComponentProps) => jsx.JSX.Element;
|
|
29
|
+
export declare const LozengeComponent: ({ lozengeData, extensionName, title, params, renderImage, showMacroInteractionDesignUpdates, customContainerStyles, isNodeHovered, isNodeNested, setIsNodeHovered, isBodiedMacro, showLivePagesBodiedMacrosRendererView, showUpdatedLivePages1PBodiedExtensionUI, showBodiedExtensionRendererView, setShowBodiedExtensionRendererView, pluginInjectionApi, hideConfigureLabel, }: LozengeComponentProps) => jsx.JSX.Element;
|
|
29
30
|
export {};
|