@atlaskit/editor-core 239.0.2 → 240.0.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.
- package/CHANGELOG.md +34 -0
- package/dist/cjs/composable-editor/hooks/useMemoEditorProps.js +1 -3
- package/dist/cjs/ui/Appearance/FullPage/FullPageContentArea.js +3 -9
- package/dist/cjs/ui/EditorContentContainer/EditorContentContainer-compiled.compiled.css +1 -0
- package/dist/cjs/ui/EditorContentContainer/EditorContentContainer-compiled.js +2 -1
- package/dist/cjs/ui/Toolbar/Toolbar.js +2 -2
- package/dist/cjs/ui/quick-insert/ExtensionQuickInsertMenuItem.js +22 -2
- package/dist/cjs/ui/quick-insert/app-vendor/AppVendorRequestError.js +31 -0
- package/dist/cjs/ui/quick-insert/app-vendor/appVendorCache.js +14 -0
- package/dist/cjs/ui/quick-insert/app-vendor/fetchAppVendors.js +112 -0
- package/dist/cjs/ui/quick-insert/app-vendor/fetchAppVendorsInBatches.js +101 -0
- package/dist/cjs/ui/quick-insert/app-vendor/getAppVendorLookup.js +33 -0
- package/dist/cjs/ui/quick-insert/app-vendor/prefetchAppVendors.js +129 -0
- package/dist/cjs/ui/quick-insert/app-vendor/useAppVendorName.js +26 -0
- package/dist/cjs/ui/quick-insert/getExtensionQuickInsertComponents.js +13 -2
- package/dist/cjs/version-wrapper.js +1 -1
- package/dist/es2019/composable-editor/hooks/useMemoEditorProps.js +1 -3
- package/dist/es2019/ui/Appearance/FullPage/FullPageContentArea.js +3 -9
- package/dist/es2019/ui/EditorContentContainer/EditorContentContainer-compiled.compiled.css +1 -0
- package/dist/es2019/ui/EditorContentContainer/EditorContentContainer-compiled.js +2 -1
- package/dist/es2019/ui/Toolbar/Toolbar.js +1 -1
- package/dist/es2019/ui/quick-insert/ExtensionQuickInsertMenuItem.js +20 -3
- package/dist/es2019/ui/quick-insert/app-vendor/AppVendorRequestError.js +11 -0
- package/dist/es2019/ui/quick-insert/app-vendor/appVendorCache.js +8 -0
- package/dist/es2019/ui/quick-insert/app-vendor/fetchAppVendors.js +69 -0
- package/dist/es2019/ui/quick-insert/app-vendor/fetchAppVendorsInBatches.js +51 -0
- package/dist/es2019/ui/quick-insert/app-vendor/getAppVendorLookup.js +28 -0
- package/dist/es2019/ui/quick-insert/app-vendor/prefetchAppVendors.js +109 -0
- package/dist/es2019/ui/quick-insert/app-vendor/useAppVendorName.js +18 -0
- package/dist/es2019/ui/quick-insert/getExtensionQuickInsertComponents.js +17 -10
- package/dist/es2019/version-wrapper.js +1 -1
- package/dist/esm/composable-editor/hooks/useMemoEditorProps.js +1 -3
- package/dist/esm/ui/Appearance/FullPage/FullPageContentArea.js +3 -9
- package/dist/esm/ui/EditorContentContainer/EditorContentContainer-compiled.compiled.css +1 -0
- package/dist/esm/ui/EditorContentContainer/EditorContentContainer-compiled.js +2 -1
- package/dist/esm/ui/Toolbar/Toolbar.js +1 -1
- package/dist/esm/ui/quick-insert/ExtensionQuickInsertMenuItem.js +22 -3
- package/dist/esm/ui/quick-insert/app-vendor/AppVendorRequestError.js +24 -0
- package/dist/esm/ui/quick-insert/app-vendor/appVendorCache.js +8 -0
- package/dist/esm/ui/quick-insert/app-vendor/fetchAppVendors.js +105 -0
- package/dist/esm/ui/quick-insert/app-vendor/fetchAppVendorsInBatches.js +94 -0
- package/dist/esm/ui/quick-insert/app-vendor/getAppVendorLookup.js +27 -0
- package/dist/esm/ui/quick-insert/app-vendor/prefetchAppVendors.js +119 -0
- package/dist/esm/ui/quick-insert/app-vendor/useAppVendorName.js +20 -0
- package/dist/esm/ui/quick-insert/getExtensionQuickInsertComponents.js +13 -2
- package/dist/esm/version-wrapper.js +1 -1
- package/dist/types/editor-appearances/ChromelessEditor.d.ts +1 -1
- package/dist/types/editor-appearances/CommentEditor.d.ts +1 -1
- package/dist/types/editor-appearances/FullPageEditor.d.ts +1 -1
- package/dist/types/editor-appearances/FullWidthEditor.d.ts +1 -1
- package/dist/types/types/editor-props.d.ts +1 -13
- package/dist/types/ui/quick-insert/ExtensionQuickInsertMenuItem.d.ts +3 -1
- package/dist/types/ui/quick-insert/app-vendor/AppVendorRequestError.d.ts +5 -0
- package/dist/types/ui/quick-insert/app-vendor/appVendorCache.d.ts +17 -0
- package/dist/types/ui/quick-insert/app-vendor/fetchAppVendors.d.ts +8 -0
- package/dist/types/ui/quick-insert/app-vendor/fetchAppVendorsInBatches.d.ts +23 -0
- package/dist/types/ui/quick-insert/app-vendor/getAppVendorLookup.d.ts +11 -0
- package/dist/types/ui/quick-insert/app-vendor/prefetchAppVendors.d.ts +7 -0
- package/dist/types/ui/quick-insert/app-vendor/useAppVendorName.d.ts +2 -0
- package/package.json +14 -14
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,39 @@
|
|
|
1
1
|
# @atlaskit/editor-core
|
|
2
2
|
|
|
3
|
+
## 240.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- [`c02fec2c86f55`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/c02fec2c86f55) -
|
|
8
|
+
Remove deprecated `inputSamplingLimit` and `performanceTracking` editor props. They had no effect;
|
|
9
|
+
remove them from any `Editor` / `ComposableEditor` usages.
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- [`5157e2c52cfcd`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/5157e2c52cfcd) -
|
|
14
|
+
Update i18n NPM package versions for editor,editor-extensions,activity-platform,media,elements
|
|
15
|
+
(Group 3)
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- [`99e14378c613c`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/99e14378c613c) -
|
|
20
|
+
Clean up platform_editor_blocks and retain enabled scroll gutter behavior.
|
|
21
|
+
- [`cf2946633c12a`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/cf2946633c12a) -
|
|
22
|
+
Show the Marketplace vendor as a "By {vendor}" byline in quick insert previews for Connect and
|
|
23
|
+
Forge apps under the platform_editor_slash_command experiment. Vendor names are fetched from a
|
|
24
|
+
lazily loaded chunk when the first extension row is shown.
|
|
25
|
+
- Updated dependencies
|
|
26
|
+
|
|
27
|
+
## 239.0.3
|
|
28
|
+
|
|
29
|
+
### Patch Changes
|
|
30
|
+
|
|
31
|
+
- [`cd33055ac8c87`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/cd33055ac8c87) -
|
|
32
|
+
Behind the platform_status_lozenge_fractional_zoom_fix experiment: centre editor status text on
|
|
33
|
+
cap height so it no longer sits ~1px high at fractional browser zoom on 1x displays, and lay out
|
|
34
|
+
status colour swatches on a fixed-column grid so they no longer wrap an extra row there.
|
|
35
|
+
- Updated dependencies
|
|
36
|
+
|
|
3
37
|
## 239.0.2
|
|
4
38
|
|
|
5
39
|
### Patch Changes
|
|
@@ -51,8 +51,6 @@ var useMemoEditorProps = exports.useMemoEditorProps = function useMemoEditorProp
|
|
|
51
51
|
media: passedProps.media,
|
|
52
52
|
collabEdit: passedProps.collabEdit,
|
|
53
53
|
primaryToolbarComponents: passedProps.primaryToolbarComponents,
|
|
54
|
-
performanceTracking: passedProps.performanceTracking,
|
|
55
|
-
inputSamplingLimit: passedProps.inputSamplingLimit,
|
|
56
54
|
allowUndoRedoButtons: passedProps.allowUndoRedoButtons,
|
|
57
55
|
linking: passedProps.linking,
|
|
58
56
|
activityProvider: passedProps.activityProvider,
|
|
@@ -121,7 +119,7 @@ var useMemoEditorProps = exports.useMemoEditorProps = function useMemoEditorProp
|
|
|
121
119
|
};
|
|
122
120
|
var nextProps = _objectSpread(_objectSpread({}, defaultProps), allProps);
|
|
123
121
|
return nextProps;
|
|
124
|
-
}, [passedProps.preset, passedProps.appearance, passedProps.contentMode, passedProps.contentComponents, passedProps.primaryToolbarIconBefore, passedProps.secondaryToolbarComponents, passedProps.persistScrollGutter, passedProps.quickInsert, passedProps.shouldFocus, passedProps.disabled, passedProps.contextPanel, passedProps.errorReporterHandler, passedProps.contentTransformerProvider, passedProps.maxHeight, passedProps.minHeight, passedProps.placeholder, passedProps.placeholderBracketHint, passedProps.
|
|
122
|
+
}, [passedProps.preset, passedProps.appearance, passedProps.contentMode, passedProps.contentComponents, passedProps.primaryToolbarIconBefore, passedProps.secondaryToolbarComponents, passedProps.persistScrollGutter, passedProps.quickInsert, passedProps.shouldFocus, passedProps.disabled, passedProps.contextPanel, passedProps.errorReporterHandler, passedProps.contentTransformerProvider, passedProps.maxHeight, passedProps.minHeight, passedProps.placeholder, passedProps.placeholderBracketHint, passedProps.defaultValue, passedProps.assistiveLabel, passedProps.assistiveDescribedBy, passedProps.popupsMountPoint, passedProps.popupsBoundariesElement, passedProps.popupsScrollableElement, passedProps.editorActions, passedProps.onEditorReady, passedProps.onDestroy, passedProps.onChange, passedProps.onCancel, passedProps.onSSRMeasure, passedProps.extensionProviders, passedProps.UNSAFE_useAnalyticsContext, passedProps.useStickyToolbar, passedProps.isEditorModernisationEnabled, passedProps.featureFlags, passedProps.onSave, passedProps.sanitizePrivateContent, passedProps.media, passedProps.collabEdit, passedProps.primaryToolbarComponents, passedProps.allowUndoRedoButtons, passedProps.linking, passedProps.activityProvider, passedProps.searchProvider, passedProps.annotationProviders, passedProps.collabEditProvider, passedProps.presenceProvider, passedProps.emojiProvider, passedProps.taskDecisionProvider, passedProps.legacyImageUploadProvider, passedProps.mentionProvider, passedProps.autoformattingProvider, passedProps.macroProvider, passedProps.contextIdentifierProvider, passedProps.allowExpand, passedProps.allowNestedTasks, passedProps.allowBlockType, passedProps.allowTasksAndDecisions, passedProps.allowBreakout, passedProps.allowRule, passedProps.allowHelpDialog, passedProps.allowPanel, passedProps.allowExtension, passedProps.allowConfluenceInlineComment, passedProps.allowTemplatePlaceholders, passedProps.allowDate, passedProps.allowLayouts, passedProps.allowStatus, passedProps.allowTextAlignment, passedProps.allowIndentation, passedProps.showIndentationButtons, passedProps.allowFindReplace, passedProps.allowBorderMark, passedProps.allowFragmentMark, passedProps.autoScrollIntoView, passedProps.elementBrowser, passedProps.maxContentSize, passedProps.saveOnEnter, passedProps.feedbackInfo, passedProps.mention, passedProps.mentionInsertDisplayName, passedProps.uploadErrorHandler, passedProps.waitForMediaUpload, passedProps.extensionHandlers, passedProps.allowTextColor, passedProps.allowTables, passedProps.insertMenuItems, passedProps.UNSAFE_cards, passedProps.smartLinks, passedProps.allowAnalyticsGASV3, passedProps.codeBlock, passedProps.textFormatting, passedProps.__livePage, passedProps.AppearanceComponent, passedProps.skipValidation, passedProps.syncBlock, passedProps.syncedBlockProvider, passedProps.pasteWarningOptions, passedProps.UNSAFE_containLayout]);
|
|
125
123
|
return memodProps;
|
|
126
124
|
};
|
|
127
125
|
|
|
@@ -60,7 +60,7 @@ var compiledStyles = {
|
|
|
60
60
|
var CONTENT_AREA_TEST_ID = exports.CONTENT_AREA_TEST_ID = 'ak-editor-fp-content-area';
|
|
61
61
|
var EDITOR_CONTAINER = 'ak-editor-container';
|
|
62
62
|
var Content = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
63
|
-
var _props$editorAPI, _props$editorAPI$bloc, _props$editorAPI2, _contentAreaRef$curre, _allowScrollGutter$gu
|
|
63
|
+
var _props$editorAPI, _props$editorAPI$bloc, _props$editorAPI2, _contentAreaRef$curre, _allowScrollGutter$gu;
|
|
64
64
|
var fullWidthMode = props.appearance === 'full-width';
|
|
65
65
|
var maxWidthMode = props.appearance === 'max';
|
|
66
66
|
var scrollContainerRef = (0, _react.useRef)(null);
|
|
@@ -138,20 +138,14 @@ var Content = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
|
|
|
138
138
|
containerElement: scrollContainerRef.current,
|
|
139
139
|
dispatchAnalyticsEvent: props.dispatchAnalyticsEvent,
|
|
140
140
|
wrapperElement: props.wrapperElement
|
|
141
|
-
}), props.editorDOMElement, !!props.customContentComponents && 'after' in props.customContentComponents ? (0, _contentComponentWrapper.contentComponentClickWrapper)(props.customContentComponents.after) : null, allowScrollGutter &&
|
|
141
|
+
}), props.editorDOMElement, !!props.customContentComponents && 'after' in props.customContentComponents ? (0, _contentComponentWrapper.contentComponentClickWrapper)(props.customContentComponents.after) : null, allowScrollGutter && /*#__PURE__*/_react.default.createElement("div", {
|
|
142
142
|
id: "editor-scroll-gutter",
|
|
143
143
|
style: {
|
|
144
144
|
paddingBottom: "".concat((_allowScrollGutter$gu = allowScrollGutter.gutterSize) !== null && _allowScrollGutter$gu !== void 0 ? _allowScrollGutter$gu : '120', "px")
|
|
145
145
|
},
|
|
146
146
|
"data-vc": "scroll-gutter",
|
|
147
147
|
"data-editor-scroll-gutter": "true"
|
|
148
|
-
})
|
|
149
|
-
id: "editor-scroll-gutter",
|
|
150
|
-
style: {
|
|
151
|
-
paddingBottom: "".concat((_allowScrollGutter$gu2 = allowScrollGutter.gutterSize) !== null && _allowScrollGutter$gu2 !== void 0 ? _allowScrollGutter$gu2 : '120', "px")
|
|
152
|
-
},
|
|
153
|
-
"data-vc": "scroll-gutter"
|
|
154
|
-
}))))));
|
|
148
|
+
})))));
|
|
155
149
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
156
150
|
"data-testid": CONTENT_AREA_TEST_ID,
|
|
157
151
|
ref: containerRef,
|
|
@@ -182,6 +182,7 @@
|
|
|
182
182
|
.cc-eie91o .show-diff-deleted-inline-node[data-prosemirror-node-name=status]{position:relative}.cc-eie91o .show-diff-deleted-inline-node[data-prosemirror-node-name=status]:after{content:"";position:absolute;top:50%;inset-inline-start:0;inset-inline-end:0;border-top:var(--show-diff-deleted-inline-node-strike,var(--ds-border-width,1px) solid var(--ds-text-subtlest,#6b6e76));pointer-events:none}.cc-eie91o .show-diff-deleted-inline-node[data-prosemirror-node-name=emoji]{position:relative}.cc-eie91o .show-diff-deleted-inline-node[data-prosemirror-node-name=emoji]:after{content:"";position:absolute;top:50%;inset-inline-start:0;inset-inline-end:0;border-top:var(--show-diff-deleted-inline-node-strike,var(--ds-border-width,1px) solid var(--ds-text-subtlest,#6b6e76));pointer-events:none}
|
|
183
183
|
.cc-3nf4b .show-diff-atomic-inline-changed-date{outline-color:currentColor;outline-style:none;outline-width:medium}.cc-3nf4b .show-diff-atomic-inline-changed-date .date-lozenger-container>span{box-shadow:0 0 0 2px var(--show-diff-atomic-inline-changed-border-color,var(--ds-border-accent-purple,#af59e1))}.cc-3nf4b .show-diff-atomic-inline-changed-emoji :is(.emoji-common-emoji-sprite,.emoji-common-emoji-image,.emoji-common-emoji-unicode){outline-color:currentColor;outline-style:none;outline-width:medium;box-shadow:0 0 0 2px var(--show-diff-atomic-inline-changed-border-color,var(--ds-border-accent-purple,#af59e1))}
|
|
184
184
|
.cc-1szti83 [data-prosemirror-node-name=status] .lozenge-wrapper{padding-block-start:var(--ds-space-025,2px);padding-block-end:var(--ds-space-025,2px);padding-inline-start:var(--ds-space-050,4px);padding-inline-end:var(--ds-space-050,4px);align-items:center;border-radius:var(--ds-radius-small,4px);height:1.25rem;border:solid var(--ds-border-width,1px) transparent}.cc-1szti83 [data-prosemirror-node-name=status] .lozenge-text{text-transform:none;font:var(--ds-font-body-small,normal 400 9pt/1pc "Atlassian Sans",ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Ubuntu,"Helvetica Neue",sans-serif)}.cc-1szti83 [data-prosemirror-node-name=status]>[data-color=neutral]>.lozenge-wrapper{background-color:var(--ds-background-neutral,#0515240f);border-color:var(--ds-border,#0b120e24)}.cc-1szti83 [data-prosemirror-node-name=status]>[data-color=neutral] .lozenge-text{color:var(--ds-text,#292a2e)}.cc-1szti83 .statusView-content-wrap:not(.search-match-block).ak-editor-selected-node .status-lozenge-span>span{box-shadow:0 0 0 2px var(--ds-border-selected,#1868db)}.cc-1szti83 .danger .statusView-content-wrap:not(.search-match-block).ak-editor-selected-node .status-lozenge-span>span{box-shadow:0 0 0 2px var(--ds-border-danger,#e2483d)}
|
|
185
|
+
.cc-1wyoddi [data-prosemirror-node-name=status] .lozenge-text{text-box:trim-both cap alphabetic;overflow-x:clip;overflow-y:visible}
|
|
185
186
|
.cc-ba6gav [data-prosemirror-node-name=status]>[data-color=purple]>.lozenge-wrapper{background-color:var(--ds-background-discovery-subtler,#eed7fc);border-color:var(--ds-border-discovery-subtle,#d8a0f7)}.cc-ba6gav [data-prosemirror-node-name=status]>[data-color=purple] .lozenge-text{color:var(--ds-text-discovery-bolder,#48245d)}.cc-ba6gav [data-prosemirror-node-name=status]>[data-color=blue]>.lozenge-wrapper{background-color:var(--ds-background-information-subtler,#cfe1fd);border-color:var(--ds-border-information-subtle,#8fb8f6)}.cc-ba6gav [data-prosemirror-node-name=status]>[data-color=blue] .lozenge-text{color:var(--ds-text-information-bolder,#123263)}.cc-ba6gav [data-prosemirror-node-name=status]>[data-color=red]>.lozenge-wrapper{background-color:var(--ds-background-danger-subtler,#ffd5d2);border-color:var(--ds-border-danger-subtle,#fd9891)}.cc-ba6gav [data-prosemirror-node-name=status]>[data-color=red] .lozenge-text{color:var(--ds-text-danger-bolder,#5d1f1a)}.cc-ba6gav [data-prosemirror-node-name=status]>[data-color=yellow]>.lozenge-wrapper{background-color:var(--ds-background-warning-subtler,#fce4a6);border-color:var(--ds-border-warning-subtle,#fbc828)}.cc-ba6gav [data-prosemirror-node-name=status]>[data-color=yellow] .lozenge-text{color:var(--ds-text-warning-bolder,#693200)}.cc-ba6gav [data-prosemirror-node-name=status]>[data-color=green]>.lozenge-wrapper{background-color:var(--ds-background-success-subtler,#d3f1a7);border-color:var(--ds-border-success-subtle,#b3df72)}.cc-ba6gav [data-prosemirror-node-name=status]>[data-color=green] .lozenge-text{color:var(--ds-text-success-bolder,#37471f)}
|
|
186
187
|
.cc-1gvo00o [data-prosemirror-node-name=status]>[data-color=blue]>.lozenge-wrapper{background-color:var(--ds-background-accent-blue-subtler,#cfe1fd);border-color:var(--ds-border-accent-blue-subtle,#8fb8f6)}.cc-1gvo00o [data-prosemirror-node-name=status]>[data-color=blue] .lozenge-text{color:var(--ds-text-accent-blue-bolder,#123263)}.cc-1gvo00o [data-prosemirror-node-name=status]>[data-color=purple]>.lozenge-wrapper{background-color:var(--ds-background-accent-purple-subtler,#eed7fc);border-color:var(--ds-border-accent-purple-subtle,#d8a0f7)}.cc-1gvo00o [data-prosemirror-node-name=status]>[data-color=purple] .lozenge-text{color:var(--ds-text-accent-purple-bolder,#48245d)}.cc-1gvo00o [data-prosemirror-node-name=status]>[data-color=red]>.lozenge-wrapper{background-color:var(--ds-background-accent-red-subtler,#ffd5d2);border-color:var(--ds-border-accent-red-subtle,#fd9891)}.cc-1gvo00o [data-prosemirror-node-name=status]>[data-color=red] .lozenge-text{color:var(--ds-text-accent-red-bolder,#5d1f1a)}.cc-1gvo00o [data-prosemirror-node-name=status]>[data-color=yellow]>.lozenge-wrapper{background-color:var(--ds-background-accent-orange-subtler,#fce4a6);border-color:var(--ds-border-accent-orange-subtle,#fbc828)}.cc-1gvo00o [data-prosemirror-node-name=status]>[data-color=yellow] .lozenge-text{color:var(--ds-text-accent-orange-bolder,#693200)}.cc-1gvo00o [data-prosemirror-node-name=status]>[data-color=green]>.lozenge-wrapper{background-color:var(--ds-background-accent-lime-subtler,#d3f1a7);border-color:var(--ds-border-accent-lime-subtle,#b3df72)}.cc-1gvo00o [data-prosemirror-node-name=status]>[data-color=green] .lozenge-text{color:var(--ds-text-accent-lime-bolder,#37471f)}
|
|
187
188
|
.cc-1ky6mbc [data-prosemirror-node-name=status]>[data-color="#B3F5FF"]>.lozenge-wrapper{background-color:var(--ds-background-accent-teal-subtler,#c6edfb);border-color:var(--ds-border-accent-teal-subtle,#9dd9ee)}.cc-1ky6mbc [data-prosemirror-node-name=status]>[data-color="#B3F5FF"] .lozenge-text{color:var(--ds-text-accent-teal-bolder,#164555)}.cc-1ky6mbc [data-prosemirror-node-name=status]>[data-color="#ABF5D1"]>.lozenge-wrapper{background-color:var(--ds-background-accent-green-subtler,#baf3db);border-color:var(--ds-border-accent-green-subtle,#7ee2b8)}.cc-1ky6mbc [data-prosemirror-node-name=status]>[data-color="#ABF5D1"] .lozenge-text{color:var(--ds-text-accent-green-bolder,#164b35)}.cc-1ky6mbc [data-prosemirror-node-name=status]>[data-color="#D3F1A7"]>.lozenge-wrapper{background-color:var(--ds-background-accent-lime-subtler,#d3f1a7);border-color:var(--ds-border-accent-lime-subtle,#b3df72)}.cc-1ky6mbc [data-prosemirror-node-name=status]>[data-color="#D3F1A7"] .lozenge-text{color:var(--ds-text-accent-lime-bolder,#37471f)}.cc-1ky6mbc [data-prosemirror-node-name=status]>[data-color="#FFF0B3"]>.lozenge-wrapper{background-color:var(--ds-background-accent-yellow-subtler,#f5e989);border-color:var(--ds-border-accent-yellow-subtle,#eed12b)}.cc-1ky6mbc [data-prosemirror-node-name=status]>[data-color="#FFF0B3"] .lozenge-text{color:var(--ds-text-accent-yellow-bolder,#533f04)}.cc-1ky6mbc [data-prosemirror-node-name=status]>[data-color="#FCE4A6"]>.lozenge-wrapper{background-color:var(--ds-background-accent-orange-subtler,#fce4a6);border-color:var(--ds-border-accent-orange-subtle,#fbc828)}.cc-1ky6mbc [data-prosemirror-node-name=status]>[data-color="#FCE4A6"] .lozenge-text{color:var(--ds-text-accent-orange-bolder,#693200)}.cc-1ky6mbc [data-prosemirror-node-name=status]>[data-color="#FDD0EC"]>.lozenge-wrapper{background-color:var(--ds-background-accent-magenta-subtler,#fdd0ec);border-color:var(--ds-border-accent-magenta-subtle,#f797d2)}.cc-1ky6mbc [data-prosemirror-node-name=status]>[data-color="#FDD0EC"] .lozenge-text{color:var(--ds-text-accent-magenta-bolder,#50253f)}
|
|
@@ -330,6 +330,7 @@ var editorContentStyles = {
|
|
|
330
330
|
deletedStatusStrikeStyles: "cc-eie91o",
|
|
331
331
|
atomicInlineChangedBoxShadowStyles: "cc-3nf4b",
|
|
332
332
|
statusStylesTeam26: "cc-1szti83",
|
|
333
|
+
statusStylesTeam26TextTrim: "cc-1wyoddi",
|
|
333
334
|
statusStylesNamedSemantic: "cc-ba6gav",
|
|
334
335
|
statusStylesNamedAccent: "cc-1gvo00o",
|
|
335
336
|
statusStylesHexAccent: "cc-1ky6mbc",
|
|
@@ -400,7 +401,7 @@ var EditorContentContainerCompiled = exports.EditorContentContainerCompiled = /*
|
|
|
400
401
|
className: (0, _runtime.ax)([editorContentStyles.baseStyles, editorContentStyles.maxModeReizeFixStyles, editorContentStyles.baseStylesMaxContainerWidthFixes, editorContentStyles.editorGutterPaddingBaseStyles, (0, _editorExperiment.editorExperiment)('platform_editor_preview_panel_responsiveness', true, {
|
|
401
402
|
exposure: true
|
|
402
403
|
}) && editorContentStyles.editorLargeGutterPuddingReducedBaseStyles, editorContentStyles.whitespaceStyles, editorContentStyles.indentationStyles, editorContentStyles.fontSizeStyles, editorContentStyles.shadowStyles, (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_reduce_forced_layout_2') && editorContentStyles.extensionScrollInlineShadowStyles, editorContentStyles.InlineNodeViewSharedStyles, editorContentStyles.hideSelectionStyles, editorContentStyles.hideCursorWhenHideSelectionStyles, editorContentStyles.selectedNodeStyles, editorContentStyles.cursorStyles, editorContentStyles.firstFloatingToolbarButtonStyles, editorContentStyles.placeholderTextStyles, editorContentStyles.placeholderStyles, (0, _editorExperiment.editorExperiment)('platform_editor_controls', 'variant1') && editorContentStyles.placeholderOverflowStyles, editorContentStyles.codeBlockStyles, contentMode === 'compact' && editorContentStyles.codeBlockStylesWithEmUnits, editorContentStyles.editorUGCTokensRefreshed, editorContentStyles.editorUGCSmallText, editorContentStyles.blocktypeStyles, editorContentStyles.blocktypeStylesRtlBlockquote, isFloatingTocEnabled && editorContentStyles.headingScrollMarginStyles, editorContentStyles.blockquoteSelectedNodeStyles, isSelectionHighlightInheritanceActive ? editorContentStyles.listSelectedNodeStylesWithHighlightInheritance : editorContentStyles.listSelectedNodeStyles, isSelectionHighlightInheritanceActive ? editorContentStyles.textSelectedNodeStylesWithHighlightInheritance : editorContentStyles.textSelectedNodeStyles, editorContentStyles.blocktypeStyles_fg_platform_editor_typography_ugc, editorContentStyles.blocktypeStylesNestedDnd, editorContentStyles.codeMarkStyles, editorContentStyles.textColorStyles, editorContentStyles.backgroundColorStyles, !(0, _expValEquals.expValEquals)('platform_editor_lovability_text_bg_color', 'isEnabled', true) && editorContentStyles.highlightLinksUnsetStyles, editorContentStyles.textHighlightPaddingStyles, editorContentStyles.listsStyles, editorContentStyles.listItemHiddenMarkerStyles, editorContentStyles.diffListStyles, contentMode === 'compact' && isDense && editorContentStyles.listsDenseStyles, isFullPage && editorContentStyles.listsStylesMarginLayoutShiftFix, editorContentStyles.ruleStyles, (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_lovability_dividers_attributes') && editorContentStyles.ruleWithAttrsStyles, (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_numbered_headings') && editorContentStyles.numberedHeadingsStyles, editorContentStyles.smartCardDiffStyles, editorContentStyles.showDiffDeletedNodeStyles, editorContentStyles.mediaStyles, (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_vanilla_node_views_phase1') && editorContentStyles.vanillaCaptionStyles, contentMode === 'compact' && editorContentStyles.mediaCaptionStyles, editorContentStyles.firstWrappedMediaStyles, editorContentStyles.telepointerStyle, /* This needs to be after telepointer styles as some overlapping rules have equal specificity, and so the order is significant */
|
|
403
|
-
editorContentStyles.telepointerColorAndCommonStyle, colorMode === 'dark' && editorContentStyles.telepointerColorAndCommonStyleDarkMode, (0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_editor_agent_be_streaming', 'isEnabled', true) && editorContentStyles.agentShimmerStyles, editorContentStyles.gapCursorStyles, editorContentStyles.gapCursorStylesVisibilityFix, editorContentStyles.panelStyles, editorContentStyles.nestedPanelBorderStylesMixin, editorContentStyles.panelStylesMixinNestedDnd, editorContentStyles.panelStylesMixin, editorContentStyles.mentionsStyles, editorContentStyles.tasksAndDecisionsStyles, contentMode === 'compact' && isDense && editorContentStyles.tasksAndDecisionsDenseStyles, editorContentStyles.gridStyles, editorContentStyles.blockMarksStyles, editorContentStyles.dateStyles, editorContentStyles.extensionStyles, (0, _fg.fg)('platform_editor_lovability_resize_exts_gracefully') && editorContentStyles.extensionWithBreakoutStyles, contentMode === 'compact' && editorContentStyles.extensionStylesDense, editorContentStyles.bodiedExtensionLayoutShiftFix, editorContentStyles.extensionDiffStyles, editorContentStyles.expandStylesBase, !useStandardNodeWidth && editorContentStyles.expandStyles, contentMode === 'compact' && isDense && editorContentStyles.expandDenseStyles, editorContentStyles.expandStylesMixinNestedDnd, editorContentStyles.expandStylesMixin_fg_platform_visual_refresh_icons, isChromeless && editorContentStyles.expandStylesMixin_chromeless_expand_fix, editorContentStyles.findReplaceStyles, editorContentStyles.findReplaceStylesWithCodeblockColorContrastFix, editorContentStyles.findReplaceStylesWithRefSyncBlock, editorContentStyles.textHighlightStyle, editorContentStyles.decisionStyles, editorContentStyles.taskItemStylesWithBlockTaskItem, editorContentStyles.taskItemCheckboxStyles, editorContentStyles.decisionIconWithVisualRefresh, editorContentStyles.statusStyles, isStatusStylesTeam26 ? editorContentStyles.statusStylesTeam26 : (0, _fg.fg)('platform-component-visual-refresh') ? editorContentStyles.statusStylesMixin_fg_platform_component_visual_refresh_with_search_match : editorContentStyles.statusStylesMixin_without_fg_platform_component_visual_refresh_with_search_match, isStatusStylesTeam26 && isUpdateStatusColorsEnabled && editorContentStyles.statusStylesNamedAccent, isStatusStylesTeam26 && !isUpdateStatusColorsEnabled && editorContentStyles.statusStylesNamedSemantic, editorContentStyles.statusStylesHexAccent, (0, _fg.fg)('platform_editor_ai_show_diff_patch_2') && editorContentStyles.deletedStatusStrikeStyles, editorContentStyles.annotationStyles, editorContentStyles.smartCardStylesWithSearchMatchAndBlockMenuDangerStyles, (0, _editorExperiment.editorExperiment)('platform_editor_preview_panel_responsiveness', true) && editorContentStyles.smartCardStylesWithSearchMatchAndPreviewPanelResponsiveness, editorContentStyles.editorControlsSmartCardStyles, editorContentStyles.embedCardStyles, editorContentStyles.unsupportedStyles, editorContentStyles.vanillaTooltipDefaultStyles, (0, _fg.fg)('confluence_ncs_step_diffing_version_history') && editorContentStyles.contributorTagStyles, (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_vanilla_node_views_phase1') && editorContentStyles.vanillaUnsupportedStyles, editorContentStyles.resizerStyles, (0, _expValEqualsNoExposure.expValEqualsNoExposure)('cc-maui-experiment', 'isEnabled', true) && (0, _expValEquals.expValEquals)('databases-native-embeds-v2', 'isEnabled', true) && editorContentStyles.resizerBottomHandleStyles, editorContentStyles.layoutBaseStyles, editorContentStyles.alignMultipleWrappedImageInLayoutStyles, editorContentStyles.syncBlockStylesBase, (0, _fg.fg)('platform-dst-tokens-finesse') && editorContentStyles.syncBlockSelectedStyles, !useStandardNodeWidth && editorContentStyles.syncBlockStyles, editorContentStyles.syncBlockOverflowStyles, editorContentStyles.syncBlockFirstNodeStyles, editorContentStyles.syncBlockTextSelectionStyles, editorContentStyles.syncBlockInteractiveCursorStyles, (0, _editorExperiment.editorExperiment)('advanced_layouts', true) && editorContentStyles.layoutBaseStylesAdvanced, (0, _editorExperiment.editorExperiment)('advanced_layouts', true) ? editorContentStyles.layoutSectionStylesAdvanced : editorContentStyles.layoutSectionStylesNotAdvanced, (0, _editorExperiment.editorExperiment)('advanced_layouts', true) && !(0, _fg.fg)('platform-dst-top-layer-tooltip') && editorContentStyles.layoutDragHandleWrapperStylesLegacy, (0, _editorExperiment.editorExperiment)('advanced_layouts', true) && (0, _fg.fg)('platform-dst-top-layer-tooltip') && editorContentStyles.layoutDragHandleWrapperStylesTopLayer, (0, _editorExperiment.editorExperiment)('advanced_layouts', true) && editorContentStyles.layoutColumnDividerStyles, (0, _editorExperiment.editorExperiment)('advanced_layouts', true) && editorContentStyles.layoutColumnDividerStylesNestedDnD, (0, _editorExperiment.editorExperiment)('advanced_layouts', true) ? editorContentStyles.layoutColumnStylesAdvanced : editorContentStyles.layoutColumnStylesNotAdvanced, (0, _editorExperiment.editorExperiment)('advanced_layouts', true) && editorContentStyles.layoutColumnResizeStyles, (0, _editorExperiment.editorExperiment)('advanced_layouts', true) ? editorContentStyles.layoutSelectedStylesAdvanced : editorContentStyles.layoutSelectedStylesNotAdvanced, editorContentStyles.layoutSelectedStylesAdvancedFix, (0, _editorExperiment.editorExperiment)('advanced_layouts', true) && editorContentStyles.layoutColumnResponsiveStyles, (0, _editorExperiment.editorExperiment)('advanced_layouts', true) && editorContentStyles.layoutResponsiveBaseStyles, editorContentStyles.layoutBaseStylesNestedDndExcludingBodiedSync, editorContentStyles.layoutColumnMartinTopFixes, editorContentStyles.smartLinksInLivePagesStyles, editorContentStyles.linkingVisualRefreshV1Styles, editorContentStyles.dateVanillaStyles, contentMode === 'compact' ? editorContentStyles.paragraphStylesWithScaledMargin : editorContentStyles.paragraphStylesUGCRefreshed, editorContentStyles.linkStyles, browser.safari && editorContentStyles.listsStylesSafariFix, editorContentStyles.pragmaticResizerStylesSyncedBlock, editorContentStyles.pragmaticResizerStyles, (0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true) && (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_resizer_selector_jsdom_fix') && editorContentStyles.pragmaticResizerStylesPanelAndRuleJsdomFix, (0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true) && !(0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_resizer_selector_jsdom_fix') && editorContentStyles.pragmaticResizerStylesPanelAndRule, (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_lovability_resize_extensions') && editorContentStyles.pragmaticResizerStylesExtensions, editorContentStyles.pragmaticResizerStylesCodeBlockSyncedBlockPatch, (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_reduce_forced_layout') && !(0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true) && editorContentStyles.pragmaticResizerStylesHiddenForPanelAndRule, (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_reduce_forced_layout') && !(0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_lovability_resize_extensions') && editorContentStyles.pragmaticResizerStylesHiddenForExtensions, (0, _editorExperiment.editorExperiment)('advanced_layouts', true) && editorContentStyles.pragmaticStylesLayoutFirstNodeResizeHandleFix, editorContentStyles.pragmaticResizerStylesForTooltip, (0, _editorExperiment.editorExperiment)('platform_editor_preview_panel_responsiveness', true) && editorContentStyles.pragmaticResizerStylesWithReducedEditorGutter, editorContentStyles.aiPanelBaseStyles, isFirefox && editorContentStyles.aiPanelBaseFirefoxStyles, colorMode === 'dark' && editorContentStyles.aiPanelDarkStyles, colorMode === 'dark' && isFirefox && editorContentStyles.aiPanelDarkFirefoxStyles, viewMode === 'view' && editorContentStyles.layoutStylesForView, viewMode === 'view' && (0, _editorExperiment.editorExperiment)('advanced_layouts', true) && editorContentStyles.layoutSelectedStylesForViewAdvanced, viewMode === 'view' && (0, _editorExperiment.editorExperiment)('advanced_layouts', false) && editorContentStyles.layoutSelectedStylesForViewNotAdvanced, viewMode === 'view' && (0, _editorExperiment.editorExperiment)('advanced_layouts', true) && editorContentStyles.layoutResponsiveStylesForView, isComment && editorContentStyles.commentEditorStyles, isComment && editorContentStyles.tableCommentEditorStyles, (isComment || isChromeless) && editorContentStyles.nonFullPageContainerTypeStyles, isFullPage && editorContentStyles.fullPageEditorStyles, isFullPage && editorContentStyles.scrollbarStyles, editorContentStyles.firstCodeBlockWithNoMargin, editorContentStyles.firstBlockNodeStyles, editorContentStyles.firstNodeWidgetFixStyles, editorContentStyles.mentionNodeStyles, (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_mention_avatar_nowrap') && editorContentStyles.mentionAvatarNoWrapStyles, colorMode === 'dark' && editorContentStyles.agentMentionShimmerDarkMode, editorContentStyles.mentionsSelectionStyles, (0, _expValEquals.expValEquals)('platform_editor_lovability_emoji_scaling', 'isEnabled', true) ? editorContentStyles.scaledEmojiStyles : editorContentStyles.emojiStyles, isFloatingTocEnabled ? editorContentStyles.directEmojiSelectionStyles : editorContentStyles.emojiSelectionStyles, contentMode === 'compact' && isDense && (0, _expValEquals.expValEquals)('platform_editor_lovability_emoji_scaling', 'isEnabled', true) && editorContentStyles.scaledEmojiDenseStyles, contentMode === 'compact' && isDense && !(0, _expValEquals.expValEquals)('platform_editor_lovability_emoji_scaling', 'isEnabled', true) && editorContentStyles.emojiDenseStyles, editorContentStyles.panelViewStyles, editorContentStyles.mediaGroupStyles, editorContentStyles.mediaAlignmentStyles, editorContentStyles.tableLayoutFixesWithFontSize, editorContentStyles.tableContainerStyles, editorContentStyles.tableSharedStyle, (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_table_css_overflow_shadow') && editorContentStyles.tableScrollInlineShadowStyles, (browser.gecko || browser.ie || browser.mac && browser.chrome) && editorContentStyles.tableSharedStyleBackgroundClipFix, (0, _expValEquals.expValEquals)('platform_editor_table_q4_loveability', 'isEnabled', true) ? editorContentStyles.tableSharedStyle_with_platform_editor_table_q4_loveability : editorContentStyles.tableSharedStyle_without_platform_editor_table_q4_loveability, (0, _expValEquals.expValEquals)('platform_editor_table_menu_updates', 'isEnabled', true) && editorContentStyles.tableSharedStyle_with_platform_editor_table_menu_updates, (0, _fg.fg)('platform_editor_bordered_panel_nested_in_table') && editorContentStyles.tableSharedStyle_with_platform_editor_bordered_panel_nested_in_table, editorContentStyles.tableEmptyRowStyles, (0, _expValEquals.expValEquals)('platform_editor_table_q4_loveability', 'isEnabled', true) && editorContentStyles.tableRoundedCornerStyles, editorContentStyles.tableContentModeStyles, editorContentStyles.tableContentModeExtensionContainmentStyles, editorContentStyles.tableContentModeNestedTableStyles, editorContentStyles.tableCellBackgroundColorOverrides, editorContentStyles.hyperLinkFloatingToolbarStyles, editorContentStyles.selectionToolbarAnimationStyles, editorContentStyles.blockquoteDangerStyles, editorContentStyles.textDangerStyles, editorContentStyles.listDangerStyles, editorContentStyles.dangerDateStyles, editorContentStyles.emojiDangerStyles, editorContentStyles.mentionDangerStyles, editorContentStyles.decisionDangerStyles, editorContentStyles.statusDangerStyles, (0, _fg.fg)('platform_editor_ai_show_diff_patch_2') && editorContentStyles.atomicInlineChangedBoxShadowStyles, editorContentStyles.dangerRuleStyles, editorContentStyles.mediaDangerStyles, editorContentStyles.nestedPanelDangerStyles, className || undefined]),
|
|
404
|
+
editorContentStyles.telepointerColorAndCommonStyle, colorMode === 'dark' && editorContentStyles.telepointerColorAndCommonStyleDarkMode, (0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_editor_agent_be_streaming', 'isEnabled', true) && editorContentStyles.agentShimmerStyles, editorContentStyles.gapCursorStyles, editorContentStyles.gapCursorStylesVisibilityFix, editorContentStyles.panelStyles, editorContentStyles.nestedPanelBorderStylesMixin, editorContentStyles.panelStylesMixinNestedDnd, editorContentStyles.panelStylesMixin, editorContentStyles.mentionsStyles, editorContentStyles.tasksAndDecisionsStyles, contentMode === 'compact' && isDense && editorContentStyles.tasksAndDecisionsDenseStyles, editorContentStyles.gridStyles, editorContentStyles.blockMarksStyles, editorContentStyles.dateStyles, editorContentStyles.extensionStyles, (0, _fg.fg)('platform_editor_lovability_resize_exts_gracefully') && editorContentStyles.extensionWithBreakoutStyles, contentMode === 'compact' && editorContentStyles.extensionStylesDense, editorContentStyles.bodiedExtensionLayoutShiftFix, editorContentStyles.extensionDiffStyles, editorContentStyles.expandStylesBase, !useStandardNodeWidth && editorContentStyles.expandStyles, contentMode === 'compact' && isDense && editorContentStyles.expandDenseStyles, editorContentStyles.expandStylesMixinNestedDnd, editorContentStyles.expandStylesMixin_fg_platform_visual_refresh_icons, isChromeless && editorContentStyles.expandStylesMixin_chromeless_expand_fix, editorContentStyles.findReplaceStyles, editorContentStyles.findReplaceStylesWithCodeblockColorContrastFix, editorContentStyles.findReplaceStylesWithRefSyncBlock, editorContentStyles.textHighlightStyle, editorContentStyles.decisionStyles, editorContentStyles.taskItemStylesWithBlockTaskItem, editorContentStyles.taskItemCheckboxStyles, editorContentStyles.decisionIconWithVisualRefresh, editorContentStyles.statusStyles, isStatusStylesTeam26 ? editorContentStyles.statusStylesTeam26 : (0, _fg.fg)('platform-component-visual-refresh') ? editorContentStyles.statusStylesMixin_fg_platform_component_visual_refresh_with_search_match : editorContentStyles.statusStylesMixin_without_fg_platform_component_visual_refresh_with_search_match, isStatusStylesTeam26 && (0, _isExperimentEnabled.isExperimentEnabled)('platform_status_lozenge_fractional_zoom_fix') && editorContentStyles.statusStylesTeam26TextTrim, isStatusStylesTeam26 && isUpdateStatusColorsEnabled && editorContentStyles.statusStylesNamedAccent, isStatusStylesTeam26 && !isUpdateStatusColorsEnabled && editorContentStyles.statusStylesNamedSemantic, editorContentStyles.statusStylesHexAccent, (0, _fg.fg)('platform_editor_ai_show_diff_patch_2') && editorContentStyles.deletedStatusStrikeStyles, editorContentStyles.annotationStyles, editorContentStyles.smartCardStylesWithSearchMatchAndBlockMenuDangerStyles, (0, _editorExperiment.editorExperiment)('platform_editor_preview_panel_responsiveness', true) && editorContentStyles.smartCardStylesWithSearchMatchAndPreviewPanelResponsiveness, editorContentStyles.editorControlsSmartCardStyles, editorContentStyles.embedCardStyles, editorContentStyles.unsupportedStyles, editorContentStyles.vanillaTooltipDefaultStyles, (0, _fg.fg)('confluence_ncs_step_diffing_version_history') && editorContentStyles.contributorTagStyles, (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_vanilla_node_views_phase1') && editorContentStyles.vanillaUnsupportedStyles, editorContentStyles.resizerStyles, (0, _expValEqualsNoExposure.expValEqualsNoExposure)('cc-maui-experiment', 'isEnabled', true) && (0, _expValEquals.expValEquals)('databases-native-embeds-v2', 'isEnabled', true) && editorContentStyles.resizerBottomHandleStyles, editorContentStyles.layoutBaseStyles, editorContentStyles.alignMultipleWrappedImageInLayoutStyles, editorContentStyles.syncBlockStylesBase, (0, _fg.fg)('platform-dst-tokens-finesse') && editorContentStyles.syncBlockSelectedStyles, !useStandardNodeWidth && editorContentStyles.syncBlockStyles, editorContentStyles.syncBlockOverflowStyles, editorContentStyles.syncBlockFirstNodeStyles, editorContentStyles.syncBlockTextSelectionStyles, editorContentStyles.syncBlockInteractiveCursorStyles, (0, _editorExperiment.editorExperiment)('advanced_layouts', true) && editorContentStyles.layoutBaseStylesAdvanced, (0, _editorExperiment.editorExperiment)('advanced_layouts', true) ? editorContentStyles.layoutSectionStylesAdvanced : editorContentStyles.layoutSectionStylesNotAdvanced, (0, _editorExperiment.editorExperiment)('advanced_layouts', true) && !(0, _fg.fg)('platform-dst-top-layer-tooltip') && editorContentStyles.layoutDragHandleWrapperStylesLegacy, (0, _editorExperiment.editorExperiment)('advanced_layouts', true) && (0, _fg.fg)('platform-dst-top-layer-tooltip') && editorContentStyles.layoutDragHandleWrapperStylesTopLayer, (0, _editorExperiment.editorExperiment)('advanced_layouts', true) && editorContentStyles.layoutColumnDividerStyles, (0, _editorExperiment.editorExperiment)('advanced_layouts', true) && editorContentStyles.layoutColumnDividerStylesNestedDnD, (0, _editorExperiment.editorExperiment)('advanced_layouts', true) ? editorContentStyles.layoutColumnStylesAdvanced : editorContentStyles.layoutColumnStylesNotAdvanced, (0, _editorExperiment.editorExperiment)('advanced_layouts', true) && editorContentStyles.layoutColumnResizeStyles, (0, _editorExperiment.editorExperiment)('advanced_layouts', true) ? editorContentStyles.layoutSelectedStylesAdvanced : editorContentStyles.layoutSelectedStylesNotAdvanced, editorContentStyles.layoutSelectedStylesAdvancedFix, (0, _editorExperiment.editorExperiment)('advanced_layouts', true) && editorContentStyles.layoutColumnResponsiveStyles, (0, _editorExperiment.editorExperiment)('advanced_layouts', true) && editorContentStyles.layoutResponsiveBaseStyles, editorContentStyles.layoutBaseStylesNestedDndExcludingBodiedSync, editorContentStyles.layoutColumnMartinTopFixes, editorContentStyles.smartLinksInLivePagesStyles, editorContentStyles.linkingVisualRefreshV1Styles, editorContentStyles.dateVanillaStyles, contentMode === 'compact' ? editorContentStyles.paragraphStylesWithScaledMargin : editorContentStyles.paragraphStylesUGCRefreshed, editorContentStyles.linkStyles, browser.safari && editorContentStyles.listsStylesSafariFix, editorContentStyles.pragmaticResizerStylesSyncedBlock, editorContentStyles.pragmaticResizerStyles, (0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true) && (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_resizer_selector_jsdom_fix') && editorContentStyles.pragmaticResizerStylesPanelAndRuleJsdomFix, (0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true) && !(0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_resizer_selector_jsdom_fix') && editorContentStyles.pragmaticResizerStylesPanelAndRule, (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_lovability_resize_extensions') && editorContentStyles.pragmaticResizerStylesExtensions, editorContentStyles.pragmaticResizerStylesCodeBlockSyncedBlockPatch, (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_reduce_forced_layout') && !(0, _expValEqualsNoExposure.expValEqualsNoExposure)('platform_editor_lovability_resize_dividers_panels', 'isEnabled', true) && editorContentStyles.pragmaticResizerStylesHiddenForPanelAndRule, (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_reduce_forced_layout') && !(0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_lovability_resize_extensions') && editorContentStyles.pragmaticResizerStylesHiddenForExtensions, (0, _editorExperiment.editorExperiment)('advanced_layouts', true) && editorContentStyles.pragmaticStylesLayoutFirstNodeResizeHandleFix, editorContentStyles.pragmaticResizerStylesForTooltip, (0, _editorExperiment.editorExperiment)('platform_editor_preview_panel_responsiveness', true) && editorContentStyles.pragmaticResizerStylesWithReducedEditorGutter, editorContentStyles.aiPanelBaseStyles, isFirefox && editorContentStyles.aiPanelBaseFirefoxStyles, colorMode === 'dark' && editorContentStyles.aiPanelDarkStyles, colorMode === 'dark' && isFirefox && editorContentStyles.aiPanelDarkFirefoxStyles, viewMode === 'view' && editorContentStyles.layoutStylesForView, viewMode === 'view' && (0, _editorExperiment.editorExperiment)('advanced_layouts', true) && editorContentStyles.layoutSelectedStylesForViewAdvanced, viewMode === 'view' && (0, _editorExperiment.editorExperiment)('advanced_layouts', false) && editorContentStyles.layoutSelectedStylesForViewNotAdvanced, viewMode === 'view' && (0, _editorExperiment.editorExperiment)('advanced_layouts', true) && editorContentStyles.layoutResponsiveStylesForView, isComment && editorContentStyles.commentEditorStyles, isComment && editorContentStyles.tableCommentEditorStyles, (isComment || isChromeless) && editorContentStyles.nonFullPageContainerTypeStyles, isFullPage && editorContentStyles.fullPageEditorStyles, isFullPage && editorContentStyles.scrollbarStyles, editorContentStyles.firstCodeBlockWithNoMargin, editorContentStyles.firstBlockNodeStyles, editorContentStyles.firstNodeWidgetFixStyles, editorContentStyles.mentionNodeStyles, (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_mention_avatar_nowrap') && editorContentStyles.mentionAvatarNoWrapStyles, colorMode === 'dark' && editorContentStyles.agentMentionShimmerDarkMode, editorContentStyles.mentionsSelectionStyles, (0, _expValEquals.expValEquals)('platform_editor_lovability_emoji_scaling', 'isEnabled', true) ? editorContentStyles.scaledEmojiStyles : editorContentStyles.emojiStyles, isFloatingTocEnabled ? editorContentStyles.directEmojiSelectionStyles : editorContentStyles.emojiSelectionStyles, contentMode === 'compact' && isDense && (0, _expValEquals.expValEquals)('platform_editor_lovability_emoji_scaling', 'isEnabled', true) && editorContentStyles.scaledEmojiDenseStyles, contentMode === 'compact' && isDense && !(0, _expValEquals.expValEquals)('platform_editor_lovability_emoji_scaling', 'isEnabled', true) && editorContentStyles.emojiDenseStyles, editorContentStyles.panelViewStyles, editorContentStyles.mediaGroupStyles, editorContentStyles.mediaAlignmentStyles, editorContentStyles.tableLayoutFixesWithFontSize, editorContentStyles.tableContainerStyles, editorContentStyles.tableSharedStyle, (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_table_css_overflow_shadow') && editorContentStyles.tableScrollInlineShadowStyles, (browser.gecko || browser.ie || browser.mac && browser.chrome) && editorContentStyles.tableSharedStyleBackgroundClipFix, (0, _expValEquals.expValEquals)('platform_editor_table_q4_loveability', 'isEnabled', true) ? editorContentStyles.tableSharedStyle_with_platform_editor_table_q4_loveability : editorContentStyles.tableSharedStyle_without_platform_editor_table_q4_loveability, (0, _expValEquals.expValEquals)('platform_editor_table_menu_updates', 'isEnabled', true) && editorContentStyles.tableSharedStyle_with_platform_editor_table_menu_updates, (0, _fg.fg)('platform_editor_bordered_panel_nested_in_table') && editorContentStyles.tableSharedStyle_with_platform_editor_bordered_panel_nested_in_table, editorContentStyles.tableEmptyRowStyles, (0, _expValEquals.expValEquals)('platform_editor_table_q4_loveability', 'isEnabled', true) && editorContentStyles.tableRoundedCornerStyles, editorContentStyles.tableContentModeStyles, editorContentStyles.tableContentModeExtensionContainmentStyles, editorContentStyles.tableContentModeNestedTableStyles, editorContentStyles.tableCellBackgroundColorOverrides, editorContentStyles.hyperLinkFloatingToolbarStyles, editorContentStyles.selectionToolbarAnimationStyles, editorContentStyles.blockquoteDangerStyles, editorContentStyles.textDangerStyles, editorContentStyles.listDangerStyles, editorContentStyles.dangerDateStyles, editorContentStyles.emojiDangerStyles, editorContentStyles.mentionDangerStyles, editorContentStyles.decisionDangerStyles, editorContentStyles.statusDangerStyles, (0, _fg.fg)('platform_editor_ai_show_diff_patch_2') && editorContentStyles.atomicInlineChangedBoxShadowStyles, editorContentStyles.dangerRuleStyles, editorContentStyles.mediaDangerStyles, editorContentStyles.nestedPanelDangerStyles, className || undefined]),
|
|
404
405
|
ref: ref,
|
|
405
406
|
"data-editor-scroll-container": isScrollable ? 'true' : undefined,
|
|
406
407
|
"data-testid": "editor-content-container"
|
|
@@ -10,7 +10,7 @@ var _context = require("@atlaskit/editor-common/toolbar/context");
|
|
|
10
10
|
var _EditorToolbarUIProvider = require("@atlaskit/editor-common/toolbar/EditorToolbarUIProvider");
|
|
11
11
|
var _types = require("@atlaskit/editor-common/types");
|
|
12
12
|
var _useSharedPluginStateWithSelector = require("@atlaskit/editor-common/useSharedPluginStateWithSelector");
|
|
13
|
-
var
|
|
13
|
+
var _connectivityPluginType = require("@atlaskit/editor-plugin-connectivity/connectivityPluginType");
|
|
14
14
|
var _toolbarModelRenderer = require("@atlaskit/editor-toolbar-model/toolbar-model-renderer");
|
|
15
15
|
var _toolbarButtonGroup = require("@atlaskit/editor-toolbar/toolbar-button-group");
|
|
16
16
|
var _toolbarDropdownItemSection = require("@atlaskit/editor-toolbar/toolbar-dropdown-item-section");
|
|
@@ -81,7 +81,7 @@ var ToolbarNext = exports.ToolbarNext = function ToolbarNext(_ref) {
|
|
|
81
81
|
editorViewMode = _usePluginState.editorViewMode,
|
|
82
82
|
editorToolbarDockingPreference = _usePluginState.editorToolbarDockingPreference;
|
|
83
83
|
// remove offline check when patch6Enabled is cleaned up
|
|
84
|
-
var isOffline = (0,
|
|
84
|
+
var isOffline = (0, _connectivityPluginType.isOfflineMode)(connectivityStateMode);
|
|
85
85
|
var memoizedFireAnalyticsEvent = (0, _react.useCallback)(function (payload) {
|
|
86
86
|
var _editorAPI$analytics;
|
|
87
87
|
editorAPI === null || editorAPI === void 0 || (_editorAPI$analytics = editorAPI.analytics) === null || _editorAPI$analytics === void 0 || _editorAPI$analytics.actions.fireAnalyticsEvent(payload);
|
|
@@ -1,25 +1,45 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.ExtensionQuickInsertMenuItem = void 0;
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
8
10
|
var _react = _interopRequireWildcard(require("react"));
|
|
9
11
|
var _menuItem = require("@atlaskit/editor-common/quick-insert/menu-item");
|
|
10
12
|
var _useQuickInsertContext = require("@atlaskit/editor-common/quick-insert/use-quick-insert-context");
|
|
13
|
+
var _getAppVendorLookup2 = require("./app-vendor/getAppVendorLookup");
|
|
14
|
+
var _useAppVendorName = require("./app-vendor/useAppVendorName");
|
|
11
15
|
var _executeExtensionQuickInsertItem = require("./executeExtensionQuickInsertItem");
|
|
12
16
|
var _ExtensionQuickInsertIcon = require("./ExtensionQuickInsertIcon");
|
|
13
17
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
18
|
+
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; }
|
|
19
|
+
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; }
|
|
14
20
|
var ExtensionQuickInsertMenuItem = exports.ExtensionQuickInsertMenuItem = function ExtensionQuickInsertMenuItem(_ref) {
|
|
21
|
+
var _getAppVendorLookup;
|
|
15
22
|
var apiRef = _ref.apiRef,
|
|
16
23
|
createAnalyticsEvent = _ref.createAnalyticsEvent,
|
|
17
24
|
editorActions = _ref.editorActions,
|
|
18
25
|
item = _ref.item,
|
|
19
|
-
onInsert = _ref.onInsert
|
|
26
|
+
onInsert = _ref.onInsert,
|
|
27
|
+
prefetchVendors = _ref.prefetchVendors;
|
|
20
28
|
var _useQuickInsertContex = (0, _useQuickInsertContext.useQuickInsertContext)(),
|
|
21
29
|
editorView = _useQuickInsertContex.editorView,
|
|
22
30
|
isOffline = _useQuickInsertContex.isOffline;
|
|
31
|
+
var vendorName = (0, _useAppVendorName.useAppVendorName)((_getAppVendorLookup = (0, _getAppVendorLookup2.getAppVendorLookup)(item)) === null || _getAppVendorLookup === void 0 ? void 0 : _getAppVendorLookup.id);
|
|
32
|
+
(0, _react.useEffect)(function () {
|
|
33
|
+
prefetchVendors === null || prefetchVendors === void 0 || prefetchVendors();
|
|
34
|
+
}, [prefetchVendors]);
|
|
35
|
+
var preview = (0, _react.useMemo)(function () {
|
|
36
|
+
var _item$preview;
|
|
37
|
+
return vendorName && !((_item$preview = item.preview) !== null && _item$preview !== void 0 && _item$preview.attribution) ? _objectSpread(_objectSpread({}, item.preview), {}, {
|
|
38
|
+
attribution: {
|
|
39
|
+
name: vendorName
|
|
40
|
+
}
|
|
41
|
+
}) : item.preview;
|
|
42
|
+
}, [item.preview, vendorName]);
|
|
23
43
|
var onSelect = (0, _react.useCallback)(function (_ref2) {
|
|
24
44
|
var insert = _ref2.insert,
|
|
25
45
|
source = _ref2.source;
|
|
@@ -46,7 +66,7 @@ var ExtensionQuickInsertMenuItem = exports.ExtensionQuickInsertMenuItem = functi
|
|
|
46
66
|
isDisabled: isOffline,
|
|
47
67
|
lozenge: item.lozenge,
|
|
48
68
|
onSelect: onSelect,
|
|
49
|
-
preview:
|
|
69
|
+
preview: preview,
|
|
50
70
|
description: item.description,
|
|
51
71
|
title: item.title
|
|
52
72
|
});
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.AppVendorRequestError = void 0;
|
|
8
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
9
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
11
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
12
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
13
|
+
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
14
|
+
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
|
|
15
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
16
|
+
/** Statuses where retrying cannot succeed, or would add load to a throttled gateway. */
|
|
17
|
+
var BLOCKING_STATUSES = new Set([401, 403, 429]);
|
|
18
|
+
var AppVendorRequestError = exports.AppVendorRequestError = /*#__PURE__*/function (_Error) {
|
|
19
|
+
/** Whether every remaining lookup should stop rather than retry. */
|
|
20
|
+
|
|
21
|
+
function AppVendorRequestError(message, status) {
|
|
22
|
+
var _this;
|
|
23
|
+
(0, _classCallCheck2.default)(this, AppVendorRequestError);
|
|
24
|
+
_this = _callSuper(this, AppVendorRequestError, [message]);
|
|
25
|
+
_this.name = 'AppVendorRequestError';
|
|
26
|
+
_this.isBlocking = status !== undefined && BLOCKING_STATUSES.has(status);
|
|
27
|
+
return _this;
|
|
28
|
+
}
|
|
29
|
+
(0, _inherits2.default)(AppVendorRequestError, _Error);
|
|
30
|
+
return (0, _createClass2.default)(AppVendorRequestError);
|
|
31
|
+
}( /*#__PURE__*/(0, _wrapNativeSuper2.default)(Error));
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.appVendorCache = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Vendor names keyed by lookup id, plus the subscribers to notify when they change.
|
|
9
|
+
* Module scope so names survive editor and provider rebuilds for the rest of the page load.
|
|
10
|
+
*/
|
|
11
|
+
var appVendorCache = exports.appVendorCache = {
|
|
12
|
+
entries: new Map(),
|
|
13
|
+
listeners: new Set()
|
|
14
|
+
};
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.fetchAppVendors = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var _AppVendorRequestError = require("./AppVendorRequestError");
|
|
11
|
+
var AGG_PATH = '/gateway/api/graphql';
|
|
12
|
+
var OPERATION_NAME = 'QuickInsertAppVendorsQuery';
|
|
13
|
+
var getField = function getField(_ref, variable) {
|
|
14
|
+
var kind = _ref.kind;
|
|
15
|
+
return kind === 'forge' ? "marketplaceAppByCloudAppId(cloudAppId: $".concat(variable, ")") : "marketplaceAppByKey(appKey: $".concat(variable, ")");
|
|
16
|
+
};
|
|
17
|
+
var getVariableType = function getVariableType(_ref2) {
|
|
18
|
+
var kind = _ref2.kind;
|
|
19
|
+
return kind === 'forge' ? 'ID!' : 'String!';
|
|
20
|
+
};
|
|
21
|
+
var buildQuery = function buildQuery(lookups) {
|
|
22
|
+
var variables = lookups.map(function (lookup, index) {
|
|
23
|
+
return "$a".concat(index, ": ").concat(getVariableType(lookup));
|
|
24
|
+
});
|
|
25
|
+
var fields = lookups.map(function (lookup, index) {
|
|
26
|
+
return "a".concat(index, ": ").concat(getField(lookup, "a".concat(index)), " { partner { name } }");
|
|
27
|
+
});
|
|
28
|
+
return "query ".concat(OPERATION_NAME, "(").concat(variables.join(', '), ") { ").concat(fields.join(' '), " }");
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
/** A request that never settles would otherwise leave its lookups pending for the page load. */
|
|
32
|
+
var REQUEST_TIMEOUT_MS = 10000;
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Fetches Marketplace partner names for at most one batch of lookups.
|
|
36
|
+
* Resolves `null` for apps without a listed partner and omits lookups whose field errored, so they
|
|
37
|
+
* can be retried; rejects with `AppVendorRequestError` when the request itself fails, or with an
|
|
38
|
+
* `AbortError` when it takes longer than `REQUEST_TIMEOUT_MS`.
|
|
39
|
+
*/
|
|
40
|
+
var fetchAppVendors = exports.fetchAppVendors = /*#__PURE__*/function () {
|
|
41
|
+
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(lookups) {
|
|
42
|
+
var controller, timeout, response, _yield$response$json, data, errors, erroredAliases;
|
|
43
|
+
return _regenerator.default.wrap(function (_context) {
|
|
44
|
+
while (1) switch (_context.prev = _context.next) {
|
|
45
|
+
case 0:
|
|
46
|
+
controller = new AbortController();
|
|
47
|
+
timeout = setTimeout(function () {
|
|
48
|
+
return controller.abort();
|
|
49
|
+
}, REQUEST_TIMEOUT_MS);
|
|
50
|
+
_context.prev = 1;
|
|
51
|
+
_context.next = 2;
|
|
52
|
+
return fetch(AGG_PATH, {
|
|
53
|
+
method: 'POST',
|
|
54
|
+
headers: {
|
|
55
|
+
'Content-Type': 'application/json'
|
|
56
|
+
},
|
|
57
|
+
body: JSON.stringify({
|
|
58
|
+
operationName: OPERATION_NAME,
|
|
59
|
+
query: buildQuery(lookups),
|
|
60
|
+
variables: Object.fromEntries(lookups.map(function (_ref4, index) {
|
|
61
|
+
var value = _ref4.value;
|
|
62
|
+
return ["a".concat(index), value];
|
|
63
|
+
}))
|
|
64
|
+
}),
|
|
65
|
+
// Also aborts reading the body, so a slow response cannot hang either.
|
|
66
|
+
signal: controller.signal
|
|
67
|
+
});
|
|
68
|
+
case 2:
|
|
69
|
+
response = _context.sent;
|
|
70
|
+
if (response.ok) {
|
|
71
|
+
_context.next = 3;
|
|
72
|
+
break;
|
|
73
|
+
}
|
|
74
|
+
throw new _AppVendorRequestError.AppVendorRequestError("App vendor request failed: ".concat(response.status), response.status);
|
|
75
|
+
case 3:
|
|
76
|
+
_context.next = 4;
|
|
77
|
+
return response.json();
|
|
78
|
+
case 4:
|
|
79
|
+
_yield$response$json = _context.sent;
|
|
80
|
+
data = _yield$response$json.data;
|
|
81
|
+
errors = _yield$response$json.errors;
|
|
82
|
+
if (data) {
|
|
83
|
+
_context.next = 5;
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
throw new _AppVendorRequestError.AppVendorRequestError('App vendor request returned no data');
|
|
87
|
+
case 5:
|
|
88
|
+
// A field that errored or timed out also returns null, which must not be cached as unlisted.
|
|
89
|
+
erroredAliases = new Set(errors === null || errors === void 0 ? void 0 : errors.map(function (_ref5) {
|
|
90
|
+
var path = _ref5.path;
|
|
91
|
+
return path === null || path === void 0 ? void 0 : path[0];
|
|
92
|
+
}));
|
|
93
|
+
return _context.abrupt("return", new Map(lookups.flatMap(function (_ref6, index) {
|
|
94
|
+
var _data$alias;
|
|
95
|
+
var id = _ref6.id;
|
|
96
|
+
var alias = "a".concat(index);
|
|
97
|
+
return erroredAliases.has(alias) ? [] : [[id, ((_data$alias = data[alias]) === null || _data$alias === void 0 || (_data$alias = _data$alias.partner) === null || _data$alias === void 0 ? void 0 : _data$alias.name) || null]];
|
|
98
|
+
})));
|
|
99
|
+
case 6:
|
|
100
|
+
_context.prev = 6;
|
|
101
|
+
clearTimeout(timeout);
|
|
102
|
+
return _context.finish(6);
|
|
103
|
+
case 7:
|
|
104
|
+
case "end":
|
|
105
|
+
return _context.stop();
|
|
106
|
+
}
|
|
107
|
+
}, _callee, null, [[1,, 6, 7]]);
|
|
108
|
+
}));
|
|
109
|
+
return function fetchAppVendors(_x) {
|
|
110
|
+
return _ref3.apply(this, arguments);
|
|
111
|
+
};
|
|
112
|
+
}();
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.fetchAppVendorsInBatches = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
10
|
+
var _AppVendorRequestError = require("./AppVendorRequestError");
|
|
11
|
+
var _fetchAppVendors = require("./fetchAppVendors");
|
|
12
|
+
/** Marketplace has no bulk lookup; larger aliased requests time out. */
|
|
13
|
+
var BATCH_SIZE = 15;
|
|
14
|
+
var MAX_CONCURRENT_BATCHES = 3;
|
|
15
|
+
/**
|
|
16
|
+
* Fetches lookups in batches, at most `MAX_CONCURRENT_BATCHES` at a time, reporting each batch as it
|
|
17
|
+
* settles. Batches that have not started when `shouldContinue` returns false are reported as skipped.
|
|
18
|
+
* Loaded on demand so editors without ecosystem apps never download the fetching code.
|
|
19
|
+
*/
|
|
20
|
+
var fetchAppVendorsInBatches = exports.fetchAppVendorsInBatches = /*#__PURE__*/function () {
|
|
21
|
+
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(lookups, _ref) {
|
|
22
|
+
var onBatch, shouldContinue, batches, start, nextBatch, runWorker;
|
|
23
|
+
return _regenerator.default.wrap(function (_context2) {
|
|
24
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
25
|
+
case 0:
|
|
26
|
+
onBatch = _ref.onBatch, shouldContinue = _ref.shouldContinue;
|
|
27
|
+
batches = [];
|
|
28
|
+
for (start = 0; start < lookups.length; start += BATCH_SIZE) {
|
|
29
|
+
batches.push(lookups.slice(start, start + BATCH_SIZE));
|
|
30
|
+
}
|
|
31
|
+
nextBatch = 0;
|
|
32
|
+
runWorker = /*#__PURE__*/function () {
|
|
33
|
+
var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
|
|
34
|
+
var batch, names, isBlocking, _t;
|
|
35
|
+
return _regenerator.default.wrap(function (_context) {
|
|
36
|
+
while (1) switch (_context.prev = _context.next) {
|
|
37
|
+
case 0:
|
|
38
|
+
if (!(nextBatch < batches.length)) {
|
|
39
|
+
_context.next = 6;
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
batch = batches[nextBatch++];
|
|
43
|
+
if (shouldContinue()) {
|
|
44
|
+
_context.next = 1;
|
|
45
|
+
break;
|
|
46
|
+
}
|
|
47
|
+
onBatch(batch, {
|
|
48
|
+
status: 'skipped'
|
|
49
|
+
});
|
|
50
|
+
return _context.abrupt("continue", 0);
|
|
51
|
+
case 1:
|
|
52
|
+
// Only the request is caught, so a batch is never reported twice.
|
|
53
|
+
names = void 0;
|
|
54
|
+
_context.prev = 2;
|
|
55
|
+
_context.next = 3;
|
|
56
|
+
return (0, _fetchAppVendors.fetchAppVendors)(batch);
|
|
57
|
+
case 3:
|
|
58
|
+
names = _context.sent;
|
|
59
|
+
_context.next = 5;
|
|
60
|
+
break;
|
|
61
|
+
case 4:
|
|
62
|
+
_context.prev = 4;
|
|
63
|
+
_t = _context["catch"](2);
|
|
64
|
+
isBlocking = _t instanceof _AppVendorRequestError.AppVendorRequestError && _t.isBlocking;
|
|
65
|
+
onBatch(batch, {
|
|
66
|
+
error: _t,
|
|
67
|
+
isBlocking: isBlocking,
|
|
68
|
+
status: 'rejected'
|
|
69
|
+
});
|
|
70
|
+
return _context.abrupt("continue", 0);
|
|
71
|
+
case 5:
|
|
72
|
+
onBatch(batch, {
|
|
73
|
+
names: names,
|
|
74
|
+
status: 'fulfilled'
|
|
75
|
+
});
|
|
76
|
+
_context.next = 0;
|
|
77
|
+
break;
|
|
78
|
+
case 6:
|
|
79
|
+
case "end":
|
|
80
|
+
return _context.stop();
|
|
81
|
+
}
|
|
82
|
+
}, _callee, null, [[2, 4]]);
|
|
83
|
+
}));
|
|
84
|
+
return function runWorker() {
|
|
85
|
+
return _ref3.apply(this, arguments);
|
|
86
|
+
};
|
|
87
|
+
}();
|
|
88
|
+
_context2.next = 1;
|
|
89
|
+
return Promise.all(Array.from({
|
|
90
|
+
length: Math.min(MAX_CONCURRENT_BATCHES, batches.length)
|
|
91
|
+
}, runWorker));
|
|
92
|
+
case 1:
|
|
93
|
+
case "end":
|
|
94
|
+
return _context2.stop();
|
|
95
|
+
}
|
|
96
|
+
}, _callee2);
|
|
97
|
+
}));
|
|
98
|
+
return function fetchAppVendorsInBatches(_x, _x2) {
|
|
99
|
+
return _ref2.apply(this, arguments);
|
|
100
|
+
};
|
|
101
|
+
}();
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getAppVendorLookup = void 0;
|
|
7
|
+
var _manifestHelpers = require("@atlaskit/editor-common/extensions/manifest-helpers");
|
|
8
|
+
var FORGE_APP_ARI_PREFIX = 'ari:cloud:ecosystem::app/';
|
|
9
|
+
|
|
10
|
+
/** How to look up the Marketplace partner of the app that contributes an extension item. */
|
|
11
|
+
|
|
12
|
+
/** Returns a lookup only for ecosystem apps; Atlassian-owned items have no Marketplace partner. */
|
|
13
|
+
var getAppVendorLookup = exports.getAppVendorLookup = function getAppVendorLookup(_ref) {
|
|
14
|
+
var app = _ref.app,
|
|
15
|
+
extensionType = _ref.extensionType;
|
|
16
|
+
if ((app === null || app === void 0 ? void 0 : app.source) !== 'ecosystem' || !app.key) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
if (extensionType === _manifestHelpers.FORGE_EXTENSION_TYPE) {
|
|
20
|
+
// Marketplace returns null for a bare Forge app UUID, so always send the full ARI.
|
|
21
|
+
var value = app.key.startsWith(FORGE_APP_ARI_PREFIX) ? app.key : "".concat(FORGE_APP_ARI_PREFIX).concat(app.key);
|
|
22
|
+
return {
|
|
23
|
+
id: "forge:".concat(value),
|
|
24
|
+
kind: 'forge',
|
|
25
|
+
value: value
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
return {
|
|
29
|
+
id: "connect:".concat(app.key),
|
|
30
|
+
kind: 'connect',
|
|
31
|
+
value: app.key
|
|
32
|
+
};
|
|
33
|
+
};
|