@atlaskit/editor-common 125.0.0 → 125.1.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 +22 -0
- package/dist/cjs/element-browser/components/ElementBrowserLoader.js +31 -8
- package/dist/cjs/extensibility/Extension.js +4 -2
- package/dist/cjs/extensibility/ExtensionComponent.js +3 -1
- package/dist/cjs/extensibility/ExtensionNodeWrapper.js +3 -0
- package/dist/cjs/extensibility/GeneratedContentReveal.js +18 -20
- package/dist/cjs/extensibility/extensionNodeView.js +61 -24
- package/dist/cjs/extensions/extension-handlers.js +96 -17
- package/dist/cjs/floating-toolbar/DropdownMenuExtensionItems.js +25 -4
- package/dist/cjs/icons/index.js +33 -10
- package/dist/cjs/monitoring/error.js +1 -1
- package/dist/cjs/quick-insert/assets/index.js +888 -257
- package/dist/cjs/ui/DropList/index.js +1 -1
- package/dist/cjs/ui/Mention/mention-with-profilecard.js +30 -11
- package/dist/es2019/element-browser/components/ElementBrowserLoader.js +16 -2
- package/dist/es2019/extensibility/Extension.js +4 -2
- package/dist/es2019/extensibility/ExtensionComponent.js +3 -1
- package/dist/es2019/extensibility/ExtensionNodeWrapper.js +2 -0
- package/dist/es2019/extensibility/GeneratedContentReveal.js +11 -16
- package/dist/es2019/extensibility/extensionNodeView.js +51 -23
- package/dist/es2019/extensions/extension-handlers.js +70 -15
- package/dist/es2019/floating-toolbar/DropdownMenuExtensionItems.js +16 -2
- package/dist/es2019/icons/index.js +17 -3
- package/dist/es2019/monitoring/error.js +1 -1
- package/dist/es2019/quick-insert/assets/index.js +386 -66
- package/dist/es2019/ui/DropList/index.js +1 -1
- package/dist/es2019/ui/Mention/mention-with-profilecard.js +15 -4
- package/dist/esm/element-browser/components/ElementBrowserLoader.js +28 -6
- package/dist/esm/extensibility/Extension.js +4 -2
- package/dist/esm/extensibility/ExtensionComponent.js +3 -1
- package/dist/esm/extensibility/ExtensionNodeWrapper.js +3 -0
- package/dist/esm/extensibility/GeneratedContentReveal.js +18 -20
- package/dist/esm/extensibility/extensionNodeView.js +56 -23
- package/dist/esm/extensions/extension-handlers.js +97 -17
- package/dist/esm/floating-toolbar/DropdownMenuExtensionItems.js +24 -4
- package/dist/esm/icons/index.js +29 -7
- package/dist/esm/monitoring/error.js +1 -1
- package/dist/esm/quick-insert/assets/index.js +764 -194
- package/dist/esm/ui/DropList/index.js +1 -1
- package/dist/esm/ui/Mention/mention-with-profilecard.js +25 -8
- package/dist/types/analytics/types/ai-suggestions-events.d.ts +4 -6
- package/dist/types/extensibility/Extension.d.ts +2 -0
- package/dist/types/extensibility/ExtensionComponent.d.ts +2 -0
- package/dist/types/extensibility/ExtensionNodeWrapper.d.ts +3 -1
- package/dist/types/extensibility/GeneratedContentReveal.d.ts +3 -1
- package/dist/types/extensibility/extensionNodeView.d.ts +13 -12
- package/dist/types/icons/index.d.ts +5 -3
- package/dist/types/quick-insert/assets/index.d.ts +34 -32
- package/package.json +5 -4
- package/dist/cjs/extensibility/useNativeEmbedSettled.js +0 -56
- package/dist/es2019/extensibility/useNativeEmbedSettled.js +0 -49
- package/dist/esm/extensibility/useNativeEmbedSettled.js +0 -51
- package/dist/types/extensibility/useNativeEmbedSettled.d.ts +0 -12
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# @atlaskit/editor-common
|
|
2
2
|
|
|
3
|
+
## 125.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`52a90f8df8ee2`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/52a90f8df8ee2) -
|
|
8
|
+
Native embed extensions take an `onContentReady` callback and call it once there is something to
|
|
9
|
+
show: the app's first painted frame for an experience that reports one, the frame's load event
|
|
10
|
+
otherwise, or a failure. The generated content reveal holds its node closed until that call, so
|
|
11
|
+
`editor-common` no longer watches the native embed loading attribute to work out when a node has
|
|
12
|
+
loaded. Both extension node views, the extension plugin's and the referentiality plugin's, hand
|
|
13
|
+
the callback to the extension.
|
|
14
|
+
- [`bc78affbd7445`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/bc78affbd7445) -
|
|
15
|
+
Migrate Editor Common's lazy-loaded components to react-loosely-lazy behind the
|
|
16
|
+
`platform_editor_loosely_lazy_migration` experiment.
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- [`6ae411e31887f`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/6ae411e31887f) -
|
|
21
|
+
Fix Suggested Edits analytics exposure, navigation, and suggestion view tracking under
|
|
22
|
+
platform_editor_ai_content_suggested_edits.
|
|
23
|
+
- Updated dependencies
|
|
24
|
+
|
|
3
25
|
## 125.0.0
|
|
4
26
|
|
|
5
27
|
### Patch Changes
|
|
@@ -9,11 +9,15 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
10
|
var _react2 = require("@emotion/react");
|
|
11
11
|
var _reactLoadable = _interopRequireDefault(require("react-loadable"));
|
|
12
|
+
var _reactLooselyLazy = require("react-loosely-lazy");
|
|
13
|
+
var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
|
|
12
14
|
var _spinner = _interopRequireDefault(require("@atlaskit/spinner/spinner"));
|
|
13
15
|
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" != (0, _typeof2.default)(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); } /**
|
|
14
16
|
* @jsxRuntime classic
|
|
15
17
|
* @jsx jsx
|
|
16
18
|
*/ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
19
|
+
// oxlint-disable-next-line @atlassian/no-restricted-imports
|
|
20
|
+
// oxlint-disable-next-line @atlassian/no-restricted-imports
|
|
17
21
|
var spinnerContainer = (0, _react2.css)({
|
|
18
22
|
display: 'flex',
|
|
19
23
|
alignItems: 'center',
|
|
@@ -21,14 +25,23 @@ var spinnerContainer = (0, _react2.css)({
|
|
|
21
25
|
height: '100%',
|
|
22
26
|
width: '100%'
|
|
23
27
|
});
|
|
24
|
-
var
|
|
25
|
-
|
|
26
|
-
return
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
var loadElementBrowser = function loadElementBrowser() {
|
|
29
|
+
return Promise.resolve().then(function () {
|
|
30
|
+
return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_editor-element-browser" */'../ElementBrowser'));
|
|
31
|
+
}).then(function (module) {
|
|
32
|
+
return module.default;
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
var ElementBrowserLazy = (0, _reactLooselyLazy.lazy)(function () {
|
|
36
|
+
return Promise.resolve().then(function () {
|
|
37
|
+
return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_editor-element-browser" */'../ElementBrowser'));
|
|
38
|
+
}).then(function (module) {
|
|
39
|
+
return module.default;
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
ElementBrowserLazy.displayName = 'lazy(ElementBrowser)';
|
|
43
|
+
var ElementBrowserLoadable = (0, _reactLoadable.default)({
|
|
44
|
+
loader: loadElementBrowser,
|
|
32
45
|
loading: function loading() {
|
|
33
46
|
return (0, _react2.jsx)("div", {
|
|
34
47
|
css: spinnerContainer
|
|
@@ -38,4 +51,14 @@ var ElementBrowserLoader = (0, _reactLoadable.default)({
|
|
|
38
51
|
}));
|
|
39
52
|
}
|
|
40
53
|
});
|
|
54
|
+
var ElementBrowserLoader = function ElementBrowserLoader(props) {
|
|
55
|
+
return (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_loosely_lazy_migration') ? (0, _react2.jsx)(_reactLooselyLazy.LazySuspense, {
|
|
56
|
+
fallback: null
|
|
57
|
+
}, (0, _react2.jsx)(ElementBrowserLazy, props)) :
|
|
58
|
+
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
59
|
+
(0, _react2.jsx)(ElementBrowserLoadable, props);
|
|
60
|
+
};
|
|
61
|
+
ElementBrowserLoader.preload = function () {
|
|
62
|
+
return (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_loosely_lazy_migration') ? ElementBrowserLazy.preload() : ElementBrowserLoadable.preload();
|
|
63
|
+
};
|
|
41
64
|
var _default = exports.default = ElementBrowserLoader;
|
|
@@ -42,7 +42,8 @@ var Extension = exports.Extension = /*#__PURE__*/function (_Component) {
|
|
|
42
42
|
macroInteractionDesignFeatureFlags = _this$props.macroInteractionDesignFeatureFlags,
|
|
43
43
|
showLivePagesBodiedMacrosRendererView = _this$props.showLivePagesBodiedMacrosRendererView,
|
|
44
44
|
showUpdatedLivePages1PBodiedExtensionUI = _this$props.showUpdatedLivePages1PBodiedExtensionUI,
|
|
45
|
-
rendererExtensionHandlers = _this$props.rendererExtensionHandlers
|
|
45
|
+
rendererExtensionHandlers = _this$props.rendererExtensionHandlers,
|
|
46
|
+
onContentReady = _this$props.onContentReady;
|
|
46
47
|
|
|
47
48
|
// Extensions are not yet using the new plugin architecture, and the use of the pluginInjectionApi
|
|
48
49
|
// is not type safe in editor-common.
|
|
@@ -68,7 +69,8 @@ var Extension = exports.Extension = /*#__PURE__*/function (_Component) {
|
|
|
68
69
|
showLivePagesBodiedMacrosRendererView: showLivePagesBodiedMacrosRendererView,
|
|
69
70
|
showUpdatedLivePages1PBodiedExtensionUI: showUpdatedLivePages1PBodiedExtensionUI,
|
|
70
71
|
rendererExtensionHandlers: rendererExtensionHandlers,
|
|
71
|
-
isLivePageViewMode: isLivePageViewMode
|
|
72
|
+
isLivePageViewMode: isLivePageViewMode,
|
|
73
|
+
onContentReady: onContentReady
|
|
72
74
|
});
|
|
73
75
|
});
|
|
74
76
|
_this.providerFactory = props.providerFactory || new _providerFactory.ProviderFactory();
|
|
@@ -241,7 +241,8 @@ var ExtensionComponentInner = /*#__PURE__*/function (_Component) {
|
|
|
241
241
|
extensionLoadingHandlers = _this$props2.extensionLoadingHandlers,
|
|
242
242
|
editorView = _this$props2.editorView,
|
|
243
243
|
showBodiedExtensionRendererView = _this$props2.showBodiedExtensionRendererView,
|
|
244
|
-
rendererExtensionHandlers = _this$props2.rendererExtensionHandlers
|
|
244
|
+
rendererExtensionHandlers = _this$props2.rendererExtensionHandlers,
|
|
245
|
+
onContentReady = _this$props2.onContentReady;
|
|
245
246
|
var _pmNode$attrs = pmNode.attrs,
|
|
246
247
|
extensionType = _pmNode$attrs.extensionType,
|
|
247
248
|
extensionKey = _pmNode$attrs.extensionKey,
|
|
@@ -296,6 +297,7 @@ var ExtensionComponentInner = /*#__PURE__*/function (_Component) {
|
|
|
296
297
|
references: _this.props.references,
|
|
297
298
|
isSelected: isSelected,
|
|
298
299
|
loadingFallback: loadingFallback,
|
|
300
|
+
onContentReady: onContentReady,
|
|
299
301
|
showUnknownMacroPlaceholder: true
|
|
300
302
|
});
|
|
301
303
|
}
|
|
@@ -76,6 +76,8 @@ var ExtensionNodeWrapper = exports.ExtensionNodeWrapper = function ExtensionNode
|
|
|
76
76
|
macroInteractionDesignFeatureFlags = _ref.macroInteractionDesignFeatureFlags,
|
|
77
77
|
_ref$generatedContent = _ref.generatedContentMotion,
|
|
78
78
|
generatedContentMotion = _ref$generatedContent === void 0 ? false : _ref$generatedContent,
|
|
79
|
+
_ref$contentReady = _ref.contentReady,
|
|
80
|
+
contentReady = _ref$contentReady === void 0 ? false : _ref$contentReady,
|
|
79
81
|
intl = _ref.intl;
|
|
80
82
|
var _ref2 = macroInteractionDesignFeatureFlags || {},
|
|
81
83
|
showMacroInteractionDesignUpdates = _ref2.showMacroInteractionDesignUpdates;
|
|
@@ -83,6 +85,7 @@ var ExtensionNodeWrapper = exports.ExtensionNodeWrapper = function ExtensionNode
|
|
|
83
85
|
// Fixed for the node view's lifetime: switching would remount the subtree and reload the embed.
|
|
84
86
|
if (generatedContentMotion) {
|
|
85
87
|
return (0, _react2.jsx)(_GeneratedContentReveal.GeneratedContentReveal, {
|
|
88
|
+
contentReady: contentReady,
|
|
86
89
|
intl: intl,
|
|
87
90
|
showMacroInteractionDesignUpdates: showMacroInteractionDesignUpdates
|
|
88
91
|
}, children);
|
|
@@ -12,14 +12,13 @@ var _runtime = require("@compiled/react/runtime");
|
|
|
12
12
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
13
|
var _react = _interopRequireWildcard(require("react"));
|
|
14
14
|
var _ExtensionSSRReactContextsProvider = require("./ExtensionSSRReactContextsProvider");
|
|
15
|
-
var _useNativeEmbedSettled = require("./useNativeEmbedSettled");
|
|
16
15
|
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); }
|
|
17
16
|
/*
|
|
18
17
|
* Animates a native embed into the document once it has loaded.
|
|
19
18
|
*
|
|
20
19
|
* 1. `collapsed` — clipped to zero height and `inert`. The embed loads behind it, full size but
|
|
21
20
|
* unseen, with its own loading overlay hidden.
|
|
22
|
-
* 2.
|
|
21
|
+
* 2. The extension reports its content ready through `contentReady`.
|
|
23
22
|
* 3. `revealing` — the node animates open to its content height (400ms).
|
|
24
23
|
* 4. The embed fades in (200ms), delayed so it follows the opening instead of overlapping it.
|
|
25
24
|
* 5. `open` — on `animationend`, when the content first becomes visible, `inert` is dropped.
|
|
@@ -64,42 +63,41 @@ var embedContentEnteringStyles = null;
|
|
|
64
63
|
|
|
65
64
|
var GeneratedContentReveal = exports.GeneratedContentReveal = function GeneratedContentReveal(_ref) {
|
|
66
65
|
var children = _ref.children,
|
|
66
|
+
contentReady = _ref.contentReady,
|
|
67
67
|
intl = _ref.intl,
|
|
68
68
|
showMacroInteractionDesignUpdates = _ref.showMacroInteractionDesignUpdates;
|
|
69
|
-
// Held in state so the
|
|
69
|
+
// Held in state so the effect below runs once the span exists.
|
|
70
70
|
var _useState = (0, _react.useState)(null),
|
|
71
71
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
72
72
|
wrapperElement = _useState2[0],
|
|
73
73
|
setWrapperElement = _useState2[1];
|
|
74
|
-
var _useState3 = (0, _react.useState)(
|
|
74
|
+
var _useState3 = (0, _react.useState)(false),
|
|
75
75
|
_useState4 = (0, _slicedToArray2.default)(_useState3, 2),
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
readyTimedOut = _useState4[0],
|
|
77
|
+
setReadyTimedOut = _useState4[1];
|
|
78
|
+
var _useState5 = (0, _react.useState)(false),
|
|
79
|
+
_useState6 = (0, _slicedToArray2.default)(_useState5, 2),
|
|
80
|
+
opened = _useState6[0],
|
|
81
|
+
setOpened = _useState6[1];
|
|
78
82
|
|
|
79
|
-
//
|
|
80
|
-
|
|
81
|
-
var startRevealing = (0, _react.useCallback)(function () {
|
|
82
|
-
setState(function (current) {
|
|
83
|
-
return current === 'collapsed' ? 'revealing' : current;
|
|
84
|
-
});
|
|
85
|
-
}, []);
|
|
86
|
-
|
|
87
|
-
// Step 2 → 3.
|
|
88
|
-
(0, _useNativeEmbedSettled.useNativeEmbedSettled)(wrapperElement, startRevealing);
|
|
83
|
+
// Derived, so the two ways a node opens need no ordering between them.
|
|
84
|
+
var state = opened ? 'open' : contentReady || readyTimedOut ? 'revealing' : 'collapsed';
|
|
89
85
|
|
|
90
86
|
// One timer, set on mount, so the deadline never moves.
|
|
91
87
|
(0, _react.useEffect)(function () {
|
|
92
|
-
var timer = setTimeout(
|
|
88
|
+
var timer = setTimeout(function () {
|
|
89
|
+
return setReadyTimedOut(true);
|
|
90
|
+
}, READY_TIMEOUT_MS);
|
|
93
91
|
return function () {
|
|
94
92
|
return clearTimeout(timer);
|
|
95
93
|
};
|
|
96
|
-
}, [
|
|
94
|
+
}, []);
|
|
97
95
|
(0, _react.useEffect)(function () {
|
|
98
96
|
if (state !== 'revealing') {
|
|
99
97
|
return;
|
|
100
98
|
}
|
|
101
99
|
var timer = setTimeout(function () {
|
|
102
|
-
return
|
|
100
|
+
return setOpened(true);
|
|
103
101
|
}, REVEAL_TIMEOUT_MS);
|
|
104
102
|
return function () {
|
|
105
103
|
return clearTimeout(timer);
|
|
@@ -114,7 +112,7 @@ var GeneratedContentReveal = exports.GeneratedContentReveal = function Generated
|
|
|
114
112
|
var onAnimationEnd = (0, _react.useCallback)(function (event) {
|
|
115
113
|
// The extension's own content animates too, and those events bubble.
|
|
116
114
|
if (event.target === event.currentTarget) {
|
|
117
|
-
|
|
115
|
+
setOpened(true);
|
|
118
116
|
}
|
|
119
117
|
}, []);
|
|
120
118
|
return /*#__PURE__*/_react.default.createElement(_ExtensionSSRReactContextsProvider.ExtensionSSRReactContextsProvider, {
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports.ExtensionNode = void 0;
|
|
8
9
|
exports.default = ExtensionNodeView;
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
11
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
12
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
13
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
@@ -13,7 +15,7 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
13
15
|
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
14
16
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
17
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
-
var _react =
|
|
18
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
17
19
|
var _fg = require("@atlaskit/platform-feature-flags/fg");
|
|
18
20
|
var _expValEquals = require("@atlaskit/tmp-editor-statsig/exp-val-equals");
|
|
19
21
|
var _coreUtils = require("../core-utils");
|
|
@@ -21,6 +23,7 @@ var _reactNodeView = _interopRequireDefault(require("../react-node-view"));
|
|
|
21
23
|
var _Extension = require("./Extension");
|
|
22
24
|
var _ExtensionNodeWrapper = require("./ExtensionNodeWrapper");
|
|
23
25
|
var _nativeEmbedExtension = require("./nativeEmbedExtension");
|
|
26
|
+
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); }
|
|
24
27
|
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)); }
|
|
25
28
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
26
29
|
function _superPropGet(t, o, e, r) { var p = (0, _get2.default)((0, _getPrototypeOf2.default)(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; }
|
|
@@ -310,22 +313,14 @@ var ExtensionNode = exports.ExtensionNode = /*#__PURE__*/function (_ReactNodeVie
|
|
|
310
313
|
}, {
|
|
311
314
|
key: "render",
|
|
312
315
|
value: function render(props, forwardRef) {
|
|
313
|
-
var _props$extensionNodeV, _props$extensionNodeV2;
|
|
314
316
|
// While sitting on SSR DOM, skip the React portal — see {@link didReuseSsrDom}.
|
|
315
317
|
if (this.didReuseSsrDom) {
|
|
316
318
|
return null;
|
|
317
319
|
}
|
|
318
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
319
|
-
intl: props.intl,
|
|
320
|
-
nodeType: this.node.type.name,
|
|
321
|
-
macroInteractionDesignFeatureFlags: props.macroInteractionDesignFeatureFlags
|
|
322
|
-
// Only native embeds animate in; the reveal waits on the embed's own loading state.
|
|
323
|
-
,
|
|
324
|
-
generatedContentMotion: !!((_props$extensionNodeV = props.extensionNodeViewOptions) !== null && _props$extensionNodeV !== void 0 && _props$extensionNodeV.allowAIGeneratedContentMotion) && (0, _nativeEmbedExtension.isNativeEmbedExtension)(this.node)
|
|
325
|
-
}, /*#__PURE__*/_react.default.createElement(_Extension.Extension, {
|
|
320
|
+
return /*#__PURE__*/_react.default.createElement(ExtensionNodeRender, {
|
|
326
321
|
editorView: this.view,
|
|
327
|
-
|
|
328
|
-
|
|
322
|
+
eventDispatcher: this.eventDispatcher,
|
|
323
|
+
forwardRef: forwardRef
|
|
329
324
|
// The getPos arg is always a function when used with nodes
|
|
330
325
|
// the version of the types we use has a union with the type
|
|
331
326
|
// for marks.
|
|
@@ -334,20 +329,62 @@ var ExtensionNode = exports.ExtensionNode = /*#__PURE__*/function (_ReactNodeVie
|
|
|
334
329
|
// https://github.com/DefinitelyTyped/DefinitelyTyped/pull/57384
|
|
335
330
|
,
|
|
336
331
|
getPos: this.getPos,
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
extensionLoadingHandlers: props.extensionLoadingHandlers,
|
|
341
|
-
editorAppearance: (_props$extensionNodeV2 = props.extensionNodeViewOptions) === null || _props$extensionNodeV2 === void 0 ? void 0 : _props$extensionNodeV2.appearance,
|
|
342
|
-
pluginInjectionApi: props.pluginInjectionApi,
|
|
343
|
-
macroInteractionDesignFeatureFlags: props.macroInteractionDesignFeatureFlags,
|
|
344
|
-
showLivePagesBodiedMacrosRendererView: props.showLivePagesBodiedMacrosRendererView,
|
|
345
|
-
showUpdatedLivePages1PBodiedExtensionUI: props.showUpdatedLivePages1PBodiedExtensionUI,
|
|
346
|
-
rendererExtensionHandlers: props.rendererExtensionHandlers
|
|
347
|
-
}));
|
|
332
|
+
node: this.node,
|
|
333
|
+
renderProps: props
|
|
334
|
+
});
|
|
348
335
|
}
|
|
349
336
|
}]);
|
|
350
|
-
}(_reactNodeView.default);
|
|
337
|
+
}(_reactNodeView.default);
|
|
338
|
+
/**
|
|
339
|
+
* Wraps the extension in its node wrapper. A component rather than part of the node view's `render`,
|
|
340
|
+
* so `contentReady` can be React state: the extension reports its content ready from inside the
|
|
341
|
+
* wrapper, and the wrapper animates the node in once it has.
|
|
342
|
+
*/
|
|
343
|
+
function ExtensionNodeRender(_ref2) {
|
|
344
|
+
var _renderProps$extensio, _renderProps$extensio2;
|
|
345
|
+
var editorView = _ref2.editorView,
|
|
346
|
+
eventDispatcher = _ref2.eventDispatcher,
|
|
347
|
+
forwardRef = _ref2.forwardRef,
|
|
348
|
+
getPos = _ref2.getPos,
|
|
349
|
+
node = _ref2.node,
|
|
350
|
+
renderProps = _ref2.renderProps;
|
|
351
|
+
var _useState = (0, _react.useState)(false),
|
|
352
|
+
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
353
|
+
contentReady = _useState2[0],
|
|
354
|
+
setContentReady = _useState2[1];
|
|
355
|
+
var onContentReady = (0, _react.useCallback)(function () {
|
|
356
|
+
return setContentReady(true);
|
|
357
|
+
}, []);
|
|
358
|
+
|
|
359
|
+
// Only native embeds animate in; every other extension type renders as it does without the
|
|
360
|
+
// option, so nothing waits on a signal it does not send.
|
|
361
|
+
var generatedContentMotion = !!((_renderProps$extensio = renderProps.extensionNodeViewOptions) !== null && _renderProps$extensio !== void 0 && _renderProps$extensio.allowAIGeneratedContentMotion) && (0, _nativeEmbedExtension.isNativeEmbedExtension)(node);
|
|
362
|
+
return /*#__PURE__*/_react.default.createElement(_ExtensionNodeWrapper.ExtensionNodeWrapper, {
|
|
363
|
+
intl: renderProps.intl,
|
|
364
|
+
nodeType: node.type.name,
|
|
365
|
+
macroInteractionDesignFeatureFlags: renderProps.macroInteractionDesignFeatureFlags,
|
|
366
|
+
generatedContentMotion: generatedContentMotion,
|
|
367
|
+
contentReady: contentReady
|
|
368
|
+
}, /*#__PURE__*/_react.default.createElement(_Extension.Extension, {
|
|
369
|
+
editorView: editorView,
|
|
370
|
+
node: node,
|
|
371
|
+
eventDispatcher: eventDispatcher,
|
|
372
|
+
getPos: getPos,
|
|
373
|
+
providerFactory: renderProps.providerFactory,
|
|
374
|
+
handleContentDOMRef: forwardRef,
|
|
375
|
+
extensionHandlers: renderProps.extensionHandlers,
|
|
376
|
+
extensionLoadingHandlers: renderProps.extensionLoadingHandlers,
|
|
377
|
+
editorAppearance: (_renderProps$extensio2 = renderProps.extensionNodeViewOptions) === null || _renderProps$extensio2 === void 0 ? void 0 : _renderProps$extensio2.appearance,
|
|
378
|
+
pluginInjectionApi: renderProps.pluginInjectionApi,
|
|
379
|
+
macroInteractionDesignFeatureFlags: renderProps.macroInteractionDesignFeatureFlags,
|
|
380
|
+
showLivePagesBodiedMacrosRendererView: renderProps.showLivePagesBodiedMacrosRendererView,
|
|
381
|
+
showUpdatedLivePages1PBodiedExtensionUI: renderProps.showUpdatedLivePages1PBodiedExtensionUI,
|
|
382
|
+
rendererExtensionHandlers: renderProps.rendererExtensionHandlers,
|
|
383
|
+
onContentReady: generatedContentMotion ? onContentReady : undefined
|
|
384
|
+
}));
|
|
385
|
+
}
|
|
386
|
+
|
|
387
|
+
// eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
|
|
351
388
|
function ExtensionNodeView(portalProviderAPI, eventDispatcher, providerFactory, extensionHandlers, extensionLoadingHandlers, extensionNodeViewOptions, pluginInjectionApi, macroInteractionDesignFeatureFlags, showLivePagesBodiedMacrosRendererView, showUpdatedLivePages1PBodiedExtensionUI, rendererExtensionHandlers, intl) {
|
|
352
389
|
return function (node, view, getPos) {
|
|
353
390
|
return new ExtensionNode(node, view, getPos, portalProviderAPI, eventDispatcher, {
|
|
@@ -15,16 +15,27 @@ exports.getExtensionModuleNodeMaybePreloaded = getExtensionModuleNodeMaybePreloa
|
|
|
15
15
|
exports.getExtensionModuleNodePrivateProps = getExtensionModuleNodePrivateProps;
|
|
16
16
|
exports.getNodeRenderer = getNodeRenderer;
|
|
17
17
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
18
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
19
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
20
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
21
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
22
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
24
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
18
25
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
19
26
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
20
27
|
var _react = _interopRequireDefault(require("react"));
|
|
21
28
|
var _reactIntl = require("react-intl");
|
|
22
29
|
var _reactLoadable = _interopRequireDefault(require("react-loadable"));
|
|
30
|
+
var _reactLooselyLazy = require("react-loosely-lazy");
|
|
31
|
+
var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
|
|
23
32
|
var _manifestHelpers = require("./manifest-helpers");
|
|
24
33
|
var _messages = require("./messages");
|
|
25
34
|
var _resolveImportSync = require("./resolveImportSync");
|
|
26
35
|
var _UnknownMacroPlaceholder = require("./UnknownMacroPlaceholder");
|
|
27
36
|
var _getExtensionManifest = require("./getExtensionManifest");
|
|
37
|
+
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)); }
|
|
38
|
+
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } // oxlint-disable-next-line @atlassian/no-restricted-imports
|
|
28
39
|
function getNodeFromManifest(
|
|
29
40
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
30
41
|
manifest, extKey, nodeKey, extensionType, extensionKey) {
|
|
@@ -120,6 +131,52 @@ function isUnknownConfluenceMacroWithBody(extensionNode) {
|
|
|
120
131
|
var _extensionNode$parame;
|
|
121
132
|
return extensionNode !== null && extensionNode.type === 'extension' && extensionNode.extensionType === 'com.atlassian.confluence.macro.core' && !!((_extensionNode$parame = extensionNode.parameters) !== null && _extensionNode$parame !== void 0 && (_extensionNode$parame = _extensionNode$parame.macroParams) !== null && _extensionNode$parame !== void 0 && (_extensionNode$parame = _extensionNode$parame.__bodyContent) !== null && _extensionNode$parame !== void 0 && _extensionNode$parame.value);
|
|
122
133
|
}
|
|
134
|
+
// eslint-disable-next-line @repo/internal/react/no-class-components -- error boundaries require a class component
|
|
135
|
+
var ExtensionRendererErrorBoundary = /*#__PURE__*/function (_React$Component) {
|
|
136
|
+
function ExtensionRendererErrorBoundary() {
|
|
137
|
+
var _this;
|
|
138
|
+
(0, _classCallCheck2.default)(this, ExtensionRendererErrorBoundary);
|
|
139
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
140
|
+
args[_key] = arguments[_key];
|
|
141
|
+
}
|
|
142
|
+
_this = _callSuper(this, ExtensionRendererErrorBoundary, [].concat(args));
|
|
143
|
+
(0, _defineProperty2.default)(_this, "state", {});
|
|
144
|
+
return _this;
|
|
145
|
+
}
|
|
146
|
+
(0, _inherits2.default)(ExtensionRendererErrorBoundary, _React$Component);
|
|
147
|
+
return (0, _createClass2.default)(ExtensionRendererErrorBoundary, [{
|
|
148
|
+
key: "componentDidCatch",
|
|
149
|
+
value: function componentDidCatch(error) {
|
|
150
|
+
// eslint-disable-next-line no-console
|
|
151
|
+
console.error('Error rendering extension', error);
|
|
152
|
+
}
|
|
153
|
+
}, {
|
|
154
|
+
key: "render",
|
|
155
|
+
value: function render() {
|
|
156
|
+
return this.state.error ? renderExtensionLoadingError(this.state.error, this.props.fallbackProps) : this.props.children;
|
|
157
|
+
}
|
|
158
|
+
}], [{
|
|
159
|
+
key: "getDerivedStateFromError",
|
|
160
|
+
value: function getDerivedStateFromError(error) {
|
|
161
|
+
return {
|
|
162
|
+
error: error
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
}]);
|
|
166
|
+
}(_react.default.Component);
|
|
167
|
+
var noop = function noop() {};
|
|
168
|
+
function renderExtensionLoadingError(error, props) {
|
|
169
|
+
// Needed because the old react-loadable (older code-splitting library) error handling behaviour might be relied on by extensions.
|
|
170
|
+
// https://unpkg.com/react-loadable@5.2.2/lib/index.js
|
|
171
|
+
return /*#__PURE__*/_react.default.createElement(ExtensionLoading, (0, _extends2.default)({
|
|
172
|
+
isLoading: false,
|
|
173
|
+
pastDelay: true,
|
|
174
|
+
timedOut: false,
|
|
175
|
+
error: error,
|
|
176
|
+
retry: noop
|
|
177
|
+
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
178
|
+
}, props));
|
|
179
|
+
}
|
|
123
180
|
function ExtensionLoading(props) {
|
|
124
181
|
var intl = (0, _reactIntl.useIntl)();
|
|
125
182
|
var extensionNode = props.node;
|
|
@@ -142,28 +199,50 @@ function ExtensionLoading(props) {
|
|
|
142
199
|
|
|
143
200
|
// eslint-disable-next-line @atlaskit/volt-strict-mode/no-multiple-exports
|
|
144
201
|
function getNodeRenderer(extensionProvider, extensionType, extensionKey) {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
202
|
+
var loadNodeRenderer = function loadNodeRenderer() {
|
|
203
|
+
var _renderSync, _ref;
|
|
204
|
+
var maybePromise = getExtensionModuleNodeMaybePreloaded(extensionProvider, extensionType, extensionKey);
|
|
205
|
+
if (maybePromise instanceof Promise) {
|
|
206
|
+
return maybePromise.then(function (node) {
|
|
207
|
+
return (0, _manifestHelpers.resolveImport)(node.render());
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
var preloaded = maybePromise === null || maybePromise === void 0 || (_renderSync = (_ref = maybePromise).renderSync) === null || _renderSync === void 0 ? void 0 : _renderSync.call(_ref);
|
|
211
|
+
// Only product implemented preloading will return sync result
|
|
212
|
+
// However the out-of-box won't handle this. Confluence uses a custom implementation
|
|
213
|
+
return preloaded ?
|
|
214
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
215
|
+
(0, _resolveImportSync.resolveImportSync)(preloaded) : (0, _manifestHelpers.resolveImport)(maybePromise.render());
|
|
216
|
+
};
|
|
217
|
+
var LazyNodeRenderer = (0, _reactLooselyLazy.lazy)(function () {
|
|
218
|
+
return loadNodeRenderer();
|
|
219
|
+
});
|
|
220
|
+
LazyNodeRenderer.displayName = 'lazy(NodeRenderer)';
|
|
221
|
+
// Ignored via go/ees005
|
|
222
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
223
|
+
var LoadableNodeRenderer = (0, _reactLoadable.default)({
|
|
224
|
+
loader: loadNodeRenderer,
|
|
162
225
|
// react-loadable passes all props from <NodeRenderer> to the loading component at runtime,
|
|
163
226
|
// but its TypeScript types only expect LoadingComponentProps. We cast here because
|
|
164
227
|
// ExtensionLoading accepts additional props (node, showUnknownMacroPlaceholder) that
|
|
165
228
|
// react-loadable will pass through but doesn't know about in its type definitions.
|
|
166
229
|
loading: ExtensionLoading
|
|
167
230
|
});
|
|
231
|
+
var NodeRenderer = function NodeRenderer(props) {
|
|
232
|
+
var _props$loadingFallbac;
|
|
233
|
+
if (!(0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_loosely_lazy_migration')) {
|
|
234
|
+
// eslint-disable-next-line react/jsx-props-no-spreading
|
|
235
|
+
return /*#__PURE__*/_react.default.createElement(LoadableNodeRenderer, props);
|
|
236
|
+
}
|
|
237
|
+
return /*#__PURE__*/_react.default.createElement(ExtensionRendererErrorBoundary, {
|
|
238
|
+
fallbackProps: props
|
|
239
|
+
}, /*#__PURE__*/_react.default.createElement(_reactLooselyLazy.LazySuspense, {
|
|
240
|
+
fallback: (_props$loadingFallbac = props.loadingFallback) !== null && _props$loadingFallbac !== void 0 ? _props$loadingFallbac : null
|
|
241
|
+
}, /*#__PURE__*/_react.default.createElement(LazyNodeRenderer, props)));
|
|
242
|
+
};
|
|
243
|
+
NodeRenderer.preload = function () {
|
|
244
|
+
return (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_loosely_lazy_migration') ? LazyNodeRenderer.preload() : LoadableNodeRenderer.preload();
|
|
245
|
+
};
|
|
246
|
+
return NodeRenderer;
|
|
168
247
|
}
|
|
169
248
|
// eslint-disable-next-line @atlaskit/editor/no-re-export
|
|
@@ -11,11 +11,15 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
11
11
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
12
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
13
|
var _reactLoadable = _interopRequireDefault(require("react-loadable"));
|
|
14
|
+
var _reactLooselyLazy = require("react-loosely-lazy");
|
|
15
|
+
var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
|
|
14
16
|
var _extensions = require("../extensions");
|
|
15
17
|
var _utils = require("../utils");
|
|
16
18
|
var _DropdownMenuItem = require("./DropdownMenuItem");
|
|
17
19
|
var _DropdownSeparator = require("./DropdownSeparator");
|
|
18
20
|
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 _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
|
|
21
|
+
// oxlint-disable-next-line @atlassian/no-restricted-imports
|
|
22
|
+
|
|
19
23
|
var noop = function noop() {
|
|
20
24
|
return null;
|
|
21
25
|
};
|
|
@@ -94,12 +98,29 @@ var DropdownMenuExtensionItem = function DropdownMenuExtensionItem(_ref3) {
|
|
|
94
98
|
// Use ref to keep icon component stable across renders
|
|
95
99
|
var iconRef = (0, _react.useRef)(null);
|
|
96
100
|
if (!iconRef.current && item.icon) {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
+
var loadIcon = function loadIcon() {
|
|
102
|
+
return resolveExtensionIcon(item.icon);
|
|
103
|
+
};
|
|
104
|
+
var IconLazy = (0, _reactLooselyLazy.lazy)(function () {
|
|
105
|
+
return resolveExtensionIcon(item.icon);
|
|
106
|
+
});
|
|
107
|
+
IconLazy.displayName = 'lazy(ExtensionIcon)';
|
|
108
|
+
var IconLoadable = (0, _reactLoadable.default)({
|
|
109
|
+
loader: loadIcon,
|
|
101
110
|
loading: noop
|
|
102
111
|
});
|
|
112
|
+
var Icon = function Icon(props) {
|
|
113
|
+
return (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_loosely_lazy_migration') ? /*#__PURE__*/_react.default.createElement(_reactLooselyLazy.LazySuspense, {
|
|
114
|
+
fallback: null
|
|
115
|
+
}, /*#__PURE__*/_react.default.createElement(IconLazy, props)) :
|
|
116
|
+
/*#__PURE__*/
|
|
117
|
+
// eslint-disable-next-line react/jsx-props-no-spreading -- pass icon props to the legacy component
|
|
118
|
+
_react.default.createElement(IconLoadable, props);
|
|
119
|
+
};
|
|
120
|
+
Icon.preload = function () {
|
|
121
|
+
return (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_loosely_lazy_migration') ? IconLazy.preload() : IconLoadable.preload();
|
|
122
|
+
};
|
|
123
|
+
iconRef.current = Icon;
|
|
103
124
|
}
|
|
104
125
|
var dropdownItem = convertExtensionToDropdownMenuItem({
|
|
105
126
|
item: item,
|
package/dist/cjs/icons/index.js
CHANGED
|
@@ -66,7 +66,10 @@ Object.defineProperty(exports, "rainbow", {
|
|
|
66
66
|
}
|
|
67
67
|
});
|
|
68
68
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
69
|
+
var _react = _interopRequireDefault(require("react"));
|
|
69
70
|
var _reactLoadable = _interopRequireDefault(require("react-loadable"));
|
|
71
|
+
var _reactLooselyLazy = require("react-loosely-lazy");
|
|
72
|
+
var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
|
|
70
73
|
var _PanelInfoIcon = require("./shared/PanelInfoIcon");
|
|
71
74
|
var _PanelWarningIcon = require("./shared/PanelWarningIcon");
|
|
72
75
|
var _PanelErrorIcon = require("./shared/PanelErrorIcon");
|
|
@@ -76,16 +79,36 @@ var _BorderIcon = require("./shared/BorderIcon");
|
|
|
76
79
|
var _SteppedRainbowIconDecoration = require("./shared/SteppedRainbowIconDecoration");
|
|
77
80
|
var _DynamicStrokeIconDecoration = require("./shared/DynamicStrokeIconDecoration");
|
|
78
81
|
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" != (0, _typeof2.default)(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); } // Disable no-re-export rule for entry point files
|
|
79
|
-
/* eslint-disable @atlaskit/editor/no-re-export */
|
|
80
|
-
var
|
|
81
|
-
|
|
82
|
-
return
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
82
|
+
/* eslint-disable @atlaskit/editor/no-re-export */ // oxlint-disable-next-line @atlassian/no-restricted-imports
|
|
83
|
+
var loadIconTable = function loadIconTable() {
|
|
84
|
+
return Promise.resolve().then(function () {
|
|
85
|
+
return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_editor-icon-table" */'../icons/shared/table'));
|
|
86
|
+
}).then(function (module) {
|
|
87
|
+
return module.default;
|
|
88
|
+
});
|
|
89
|
+
};
|
|
90
|
+
var IconTableLazy = (0, _reactLooselyLazy.lazy)(function () {
|
|
91
|
+
return Promise.resolve().then(function () {
|
|
92
|
+
return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_editor-icon-table" */'../icons/shared/table'));
|
|
93
|
+
}).then(function (module) {
|
|
94
|
+
return module.default;
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
IconTableLazy.displayName = 'lazy(IconTable)';
|
|
98
|
+
var IconTableLoadable = (0, _reactLoadable.default)({
|
|
99
|
+
loader: loadIconTable,
|
|
88
100
|
loading: function loading() {
|
|
89
101
|
return null;
|
|
90
102
|
}
|
|
91
|
-
});
|
|
103
|
+
});
|
|
104
|
+
var IconTable = exports.IconTable = function IconTable(props) {
|
|
105
|
+
return (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_loosely_lazy_migration') ? /*#__PURE__*/_react.default.createElement(_reactLooselyLazy.LazySuspense, {
|
|
106
|
+
fallback: null
|
|
107
|
+
}, /*#__PURE__*/_react.default.createElement(IconTableLazy, props)) :
|
|
108
|
+
/*#__PURE__*/
|
|
109
|
+
// eslint-disable-next-line react/jsx-props-no-spreading -- pass icon props to the legacy component
|
|
110
|
+
_react.default.createElement(IconTableLoadable, props);
|
|
111
|
+
};
|
|
112
|
+
IconTable.preload = function () {
|
|
113
|
+
return (0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_loosely_lazy_migration') ? IconTableLazy.preload() : IconTableLoadable.preload();
|
|
114
|
+
};
|
|
@@ -27,7 +27,7 @@ var NETWORK_FAILURE_REGEX = /^network failure/i;
|
|
|
27
27
|
var RESIZE_OBSERVER_LOOP_REGEX = /ResizeObserver loop completed with undelivered notifications/;
|
|
28
28
|
var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
|
|
29
29
|
var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
|
|
30
|
-
var packageVersion = "
|
|
30
|
+
var packageVersion = "125.0.0";
|
|
31
31
|
var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
|
|
32
32
|
// Remove URL as it has UGC
|
|
33
33
|
// Ignored via go/ees007
|