@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.
Files changed (60) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/dist/cjs/composable-editor/hooks/useMemoEditorProps.js +1 -3
  3. package/dist/cjs/ui/Appearance/FullPage/FullPageContentArea.js +3 -9
  4. package/dist/cjs/ui/EditorContentContainer/EditorContentContainer-compiled.compiled.css +1 -0
  5. package/dist/cjs/ui/EditorContentContainer/EditorContentContainer-compiled.js +2 -1
  6. package/dist/cjs/ui/Toolbar/Toolbar.js +2 -2
  7. package/dist/cjs/ui/quick-insert/ExtensionQuickInsertMenuItem.js +22 -2
  8. package/dist/cjs/ui/quick-insert/app-vendor/AppVendorRequestError.js +31 -0
  9. package/dist/cjs/ui/quick-insert/app-vendor/appVendorCache.js +14 -0
  10. package/dist/cjs/ui/quick-insert/app-vendor/fetchAppVendors.js +112 -0
  11. package/dist/cjs/ui/quick-insert/app-vendor/fetchAppVendorsInBatches.js +101 -0
  12. package/dist/cjs/ui/quick-insert/app-vendor/getAppVendorLookup.js +33 -0
  13. package/dist/cjs/ui/quick-insert/app-vendor/prefetchAppVendors.js +129 -0
  14. package/dist/cjs/ui/quick-insert/app-vendor/useAppVendorName.js +26 -0
  15. package/dist/cjs/ui/quick-insert/getExtensionQuickInsertComponents.js +13 -2
  16. package/dist/cjs/version-wrapper.js +1 -1
  17. package/dist/es2019/composable-editor/hooks/useMemoEditorProps.js +1 -3
  18. package/dist/es2019/ui/Appearance/FullPage/FullPageContentArea.js +3 -9
  19. package/dist/es2019/ui/EditorContentContainer/EditorContentContainer-compiled.compiled.css +1 -0
  20. package/dist/es2019/ui/EditorContentContainer/EditorContentContainer-compiled.js +2 -1
  21. package/dist/es2019/ui/Toolbar/Toolbar.js +1 -1
  22. package/dist/es2019/ui/quick-insert/ExtensionQuickInsertMenuItem.js +20 -3
  23. package/dist/es2019/ui/quick-insert/app-vendor/AppVendorRequestError.js +11 -0
  24. package/dist/es2019/ui/quick-insert/app-vendor/appVendorCache.js +8 -0
  25. package/dist/es2019/ui/quick-insert/app-vendor/fetchAppVendors.js +69 -0
  26. package/dist/es2019/ui/quick-insert/app-vendor/fetchAppVendorsInBatches.js +51 -0
  27. package/dist/es2019/ui/quick-insert/app-vendor/getAppVendorLookup.js +28 -0
  28. package/dist/es2019/ui/quick-insert/app-vendor/prefetchAppVendors.js +109 -0
  29. package/dist/es2019/ui/quick-insert/app-vendor/useAppVendorName.js +18 -0
  30. package/dist/es2019/ui/quick-insert/getExtensionQuickInsertComponents.js +17 -10
  31. package/dist/es2019/version-wrapper.js +1 -1
  32. package/dist/esm/composable-editor/hooks/useMemoEditorProps.js +1 -3
  33. package/dist/esm/ui/Appearance/FullPage/FullPageContentArea.js +3 -9
  34. package/dist/esm/ui/EditorContentContainer/EditorContentContainer-compiled.compiled.css +1 -0
  35. package/dist/esm/ui/EditorContentContainer/EditorContentContainer-compiled.js +2 -1
  36. package/dist/esm/ui/Toolbar/Toolbar.js +1 -1
  37. package/dist/esm/ui/quick-insert/ExtensionQuickInsertMenuItem.js +22 -3
  38. package/dist/esm/ui/quick-insert/app-vendor/AppVendorRequestError.js +24 -0
  39. package/dist/esm/ui/quick-insert/app-vendor/appVendorCache.js +8 -0
  40. package/dist/esm/ui/quick-insert/app-vendor/fetchAppVendors.js +105 -0
  41. package/dist/esm/ui/quick-insert/app-vendor/fetchAppVendorsInBatches.js +94 -0
  42. package/dist/esm/ui/quick-insert/app-vendor/getAppVendorLookup.js +27 -0
  43. package/dist/esm/ui/quick-insert/app-vendor/prefetchAppVendors.js +119 -0
  44. package/dist/esm/ui/quick-insert/app-vendor/useAppVendorName.js +20 -0
  45. package/dist/esm/ui/quick-insert/getExtensionQuickInsertComponents.js +13 -2
  46. package/dist/esm/version-wrapper.js +1 -1
  47. package/dist/types/editor-appearances/ChromelessEditor.d.ts +1 -1
  48. package/dist/types/editor-appearances/CommentEditor.d.ts +1 -1
  49. package/dist/types/editor-appearances/FullPageEditor.d.ts +1 -1
  50. package/dist/types/editor-appearances/FullWidthEditor.d.ts +1 -1
  51. package/dist/types/types/editor-props.d.ts +1 -13
  52. package/dist/types/ui/quick-insert/ExtensionQuickInsertMenuItem.d.ts +3 -1
  53. package/dist/types/ui/quick-insert/app-vendor/AppVendorRequestError.d.ts +5 -0
  54. package/dist/types/ui/quick-insert/app-vendor/appVendorCache.d.ts +17 -0
  55. package/dist/types/ui/quick-insert/app-vendor/fetchAppVendors.d.ts +8 -0
  56. package/dist/types/ui/quick-insert/app-vendor/fetchAppVendorsInBatches.d.ts +23 -0
  57. package/dist/types/ui/quick-insert/app-vendor/getAppVendorLookup.d.ts +11 -0
  58. package/dist/types/ui/quick-insert/app-vendor/prefetchAppVendors.d.ts +7 -0
  59. package/dist/types/ui/quick-insert/app-vendor/useAppVendorName.d.ts +2 -0
  60. 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.performanceTracking, passedProps.inputSamplingLimit, 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]);
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, _allowScrollGutter$gu2;
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 && ((0, _editorExperiment.editorExperiment)('platform_editor_blocks', true) ? /*#__PURE__*/_react.default.createElement("div", {
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
- }) : /*#__PURE__*/_react.default.createElement("div", {
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 _editorPluginConnectivity = require("@atlaskit/editor-plugin-connectivity");
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, _editorPluginConnectivity.isOfflineMode)(connectivityStateMode);
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: item.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
+ };