@atlaskit/editor-plugin-card 3.0.1 → 3.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/dist/cjs/pm-plugins/util/resolve.js +25 -1
- package/dist/cjs/toolbar.js +6 -4
- package/dist/cjs/ui/EditDatasourceButton.js +6 -2
- package/dist/cjs/ui/EditToolbarButton/index.js +4 -1
- package/dist/es2019/pm-plugins/util/resolve.js +28 -2
- package/dist/es2019/toolbar.js +6 -4
- package/dist/es2019/ui/EditDatasourceButton.js +5 -1
- package/dist/es2019/ui/EditToolbarButton/index.js +4 -1
- package/dist/esm/pm-plugins/util/resolve.js +25 -2
- package/dist/esm/toolbar.js +6 -4
- package/dist/esm/ui/EditDatasourceButton.js +6 -2
- package/dist/esm/ui/EditToolbarButton/index.js +4 -1
- package/dist/types/ui/EditDatasourceButton.d.ts +2 -1
- package/dist/types/ui/EditToolbarButton/types.d.ts +1 -0
- package/dist/types-ts4.5/ui/EditDatasourceButton.d.ts +2 -1
- package/dist/types-ts4.5/ui/EditToolbarButton/types.d.ts +1 -0
- package/package.json +10 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-card
|
|
2
2
|
|
|
3
|
+
## 3.0.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#142202](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/142202)
|
|
8
|
+
[`bd97acf1388d4`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/bd97acf1388d4) -
|
|
9
|
+
Fix edit datasource option not available on links with empty result or invalid jql
|
|
10
|
+
|
|
11
|
+
## 3.0.2
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- [#139456](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/139456)
|
|
16
|
+
[`a788f5ceac7a2`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/a788f5ceac7a2) -
|
|
17
|
+
[ux] When FF hardcoded-embeds-only-on-new-line is true pasting of some urls (like youtube or jira
|
|
18
|
+
dashboard or conny whiteboards) will only become embed right away if pasted on a new line in a
|
|
19
|
+
root of the document
|
|
20
|
+
- Updated dependencies
|
|
21
|
+
|
|
3
22
|
## 3.0.1
|
|
4
23
|
|
|
5
24
|
### Patch Changes
|
|
@@ -5,21 +5,45 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.resolveWithProvider = exports.handleProvider = void 0;
|
|
7
7
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
8
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
8
9
|
var _actions = require("../actions");
|
|
9
10
|
var _doc = require("../doc");
|
|
11
|
+
var isFreshlyPastedOnNewLine = function isFreshlyPastedOnNewLine(view) {
|
|
12
|
+
var selection = view.state.selection;
|
|
13
|
+
var _ref = selection,
|
|
14
|
+
$cursor = _ref.$cursor,
|
|
15
|
+
$anchor = _ref.$anchor;
|
|
16
|
+
if (!$cursor) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
if (!(0, _utils.hasDocAsParent)($anchor)) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
var node = $cursor.node();
|
|
23
|
+
if (!node) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
if (node.type.name !== 'paragraph') {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
return node.childCount === 1; // The pasted blue link itself
|
|
30
|
+
};
|
|
31
|
+
|
|
10
32
|
// ============================================================================ //
|
|
11
33
|
// ============================== PROVIDER UTILS ============================== //
|
|
12
34
|
// ============================================================================ //
|
|
13
35
|
// Used for all interactions with the EditorCardProvider.
|
|
14
36
|
// ============================================================================ //
|
|
15
37
|
var resolveWithProvider = exports.resolveWithProvider = function resolveWithProvider(view, provider, request, options, editorAnalyticsApi, createAnalyticsEvent) {
|
|
38
|
+
var isEmbedFriendlyLocation = (0, _platformFeatureFlags.fg)('hardcoded-embeds-only-on-new-line') ? isFreshlyPastedOnNewLine(view) : true;
|
|
39
|
+
|
|
16
40
|
// When user manually changes appearance from blue link to smart link, we should respect that,
|
|
17
41
|
var shouldForceAppearance =
|
|
18
42
|
// This flag is set to true only in one place atm:
|
|
19
43
|
// packages/editor/editor-core/src/plugins/card/pm-plugins/doc.ts @ convertHyperlinkToSmartCard
|
|
20
44
|
// Which is used when user switching from URL to smart link appearance.
|
|
21
45
|
!!request.shouldReplaceLink;
|
|
22
|
-
var handleResolve = provider.resolve(request.url, request.appearance, shouldForceAppearance).then(handleResolved(view, request, editorAnalyticsApi, createAnalyticsEvent, options), handleRejected(view, request, editorAnalyticsApi));
|
|
46
|
+
var handleResolve = provider.resolve(request.url, request.appearance, shouldForceAppearance, isEmbedFriendlyLocation).then(handleResolved(view, request, editorAnalyticsApi, createAnalyticsEvent, options), handleRejected(view, request, editorAnalyticsApi));
|
|
23
47
|
return handleResolve;
|
|
24
48
|
};
|
|
25
49
|
var updateCardType = function updateCardType(resolvedCard, options) {
|
package/dist/cjs/toolbar.js
CHANGED
|
@@ -188,7 +188,7 @@ var getToolbarViewedItem = function getToolbarViewedItem(url, display) {
|
|
|
188
188
|
};
|
|
189
189
|
var generateToolbarItems = function generateToolbarItems(state, intl, providerFactory, cardOptions, lpLinkPicker, linkPicker, pluginInjectionApi) {
|
|
190
190
|
return function (node) {
|
|
191
|
-
var _pluginInjectionApi$a, _pluginInjectionApi$d, _pluginInjectionApi$d2, _node$attrs;
|
|
191
|
+
var _pluginInjectionApi$a, _pluginInjectionApi$d, _pluginInjectionApi$d2, _node$attrs, _node$attrs2;
|
|
192
192
|
var _titleUrlPairFromNode2 = (0, _utils3.titleUrlPairFromNode)(node),
|
|
193
193
|
url = _titleUrlPairFromNode2.url;
|
|
194
194
|
var _ref = (_pluginInjectionApi$a = pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : pluginInjectionApi.analytics) !== null && _pluginInjectionApi$a !== void 0 ? _pluginInjectionApi$a : {},
|
|
@@ -208,8 +208,9 @@ var generateToolbarItems = function generateToolbarItems(state, intl, providerFa
|
|
|
208
208
|
var _ref2 = (_pluginInjectionApi$d = pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$d2 = pluginInjectionApi.decorations) === null || _pluginInjectionApi$d2 === void 0 ? void 0 : _pluginInjectionApi$d2.actions) !== null && _pluginInjectionApi$d !== void 0 ? _pluginInjectionApi$d : {},
|
|
209
209
|
hoverDecoration = _ref2.hoverDecoration;
|
|
210
210
|
var isDatasource = (0, _utils3.isDatasourceNode)(node);
|
|
211
|
+
var datasourceId = node === null || node === void 0 || (_node$attrs = node.attrs) === null || _node$attrs === void 0 || (_node$attrs = _node$attrs.datasource) === null || _node$attrs === void 0 ? void 0 : _node$attrs.id;
|
|
211
212
|
var pluginState = _main.pluginKey.getState(state);
|
|
212
|
-
var shouldRenderDatasourceToolbar = isDatasource && cardOptions.allowDatasource && (0, _utils.canRenderDatasource)(node === null || node === void 0 || (_node$
|
|
213
|
+
var shouldRenderDatasourceToolbar = isDatasource && cardOptions.allowDatasource && (0, _utils.canRenderDatasource)(node === null || node === void 0 || (_node$attrs2 = node.attrs) === null || _node$attrs2 === void 0 || (_node$attrs2 = _node$attrs2.datasource) === null || _node$attrs2 === void 0 ? void 0 : _node$attrs2.id);
|
|
213
214
|
if (pluginState !== null && pluginState !== void 0 && pluginState.showLinkingToolbar) {
|
|
214
215
|
return [(0, _EditLinkToolbar.buildEditLinkToolbar)({
|
|
215
216
|
providerFactory: providerFactory,
|
|
@@ -341,6 +342,7 @@ var generateToolbarItems = function generateToolbarItems(state, intl, providerFa
|
|
|
341
342
|
fallback: [],
|
|
342
343
|
render: function render(editorView) {
|
|
343
344
|
return /*#__PURE__*/_react.default.createElement(_EditDatasourceButton.EditDatasourceButton, {
|
|
345
|
+
datasourceId: datasourceId,
|
|
344
346
|
intl: intl,
|
|
345
347
|
editorAnalyticsApi: editorAnalyticsApi,
|
|
346
348
|
url: url,
|
|
@@ -392,7 +394,7 @@ var getSettingsButtonGroup = exports.getSettingsButtonGroup = function getSettin
|
|
|
392
394
|
}];
|
|
393
395
|
};
|
|
394
396
|
var getDatasourceButtonGroup = function getDatasourceButtonGroup(metadata, intl, editorAnalyticsApi, node, hoverDecoration, datasourceId, state, cardOptions, currentAppearance) {
|
|
395
|
-
var _node$
|
|
397
|
+
var _node$attrs3;
|
|
396
398
|
var toolbarItems = [];
|
|
397
399
|
if ((0, _utils3.isDatasourceConfigEditable)(datasourceId) && !(0, _platformFeatureFlags.fg)('platform.linking-platform.enable-datasource-edit-dropdown-toolbar')) {
|
|
398
400
|
toolbarItems.push({
|
|
@@ -477,7 +479,7 @@ var getDatasourceButtonGroup = function getDatasourceButtonGroup(metadata, intl,
|
|
|
477
479
|
}
|
|
478
480
|
});
|
|
479
481
|
}
|
|
480
|
-
if (node !== null && node !== void 0 && (_node$
|
|
482
|
+
if (node !== null && node !== void 0 && (_node$attrs3 = node.attrs) !== null && _node$attrs3 !== void 0 && _node$attrs3.url) {
|
|
481
483
|
toolbarItems.push({
|
|
482
484
|
id: 'editor.link.openLink',
|
|
483
485
|
type: 'button',
|
|
@@ -30,6 +30,7 @@ var buttonStyles = (0, _react2.css)({
|
|
|
30
30
|
// if they can resolve into a datasource.
|
|
31
31
|
var EditDatasourceButtonWithCardContext = function EditDatasourceButtonWithCardContext(_ref) {
|
|
32
32
|
var cardContext = _ref.cardContext,
|
|
33
|
+
datasourceIdFromAdf = _ref.datasourceId,
|
|
33
34
|
intl = _ref.intl,
|
|
34
35
|
editorAnalyticsApi = _ref.editorAnalyticsApi,
|
|
35
36
|
url = _ref.url,
|
|
@@ -40,8 +41,9 @@ var EditDatasourceButtonWithCardContext = function EditDatasourceButtonWithCardC
|
|
|
40
41
|
url: url,
|
|
41
42
|
cardContext: cardContext
|
|
42
43
|
}),
|
|
43
|
-
|
|
44
|
+
datasourceIdFromUrl = _useFetchDatasourceIn.datasourceId,
|
|
44
45
|
extensionKey = _useFetchDatasourceIn.extensionKey;
|
|
46
|
+
var datasourceId = datasourceIdFromUrl !== null && datasourceIdFromUrl !== void 0 ? datasourceIdFromUrl : datasourceIdFromAdf;
|
|
45
47
|
var onEditDatasource = (0, _react.useCallback)(function () {
|
|
46
48
|
if (editorView && datasourceId) {
|
|
47
49
|
editDatasource(datasourceId, editorAnalyticsApi, currentAppearance, extensionKey)(editorView.state, editorView.dispatch);
|
|
@@ -68,7 +70,8 @@ var EditDatasourceButtonWithCardContext = function EditDatasourceButtonWithCardC
|
|
|
68
70
|
}), (0, _react2.jsx)(_ui.FloatingToolbarSeparator, null));
|
|
69
71
|
};
|
|
70
72
|
var EditDatasourceButton = exports.EditDatasourceButton = function EditDatasourceButton(_ref2) {
|
|
71
|
-
var
|
|
73
|
+
var datasourceId = _ref2.datasourceId,
|
|
74
|
+
intl = _ref2.intl,
|
|
72
75
|
editorAnalyticsApi = _ref2.editorAnalyticsApi,
|
|
73
76
|
url = _ref2.url,
|
|
74
77
|
editorView = _ref2.editorView,
|
|
@@ -76,6 +79,7 @@ var EditDatasourceButton = exports.EditDatasourceButton = function EditDatasourc
|
|
|
76
79
|
return (0, _react2.jsx)(_CardContextProvider.CardContextProvider, null, function (_ref3) {
|
|
77
80
|
var cardContext = _ref3.cardContext;
|
|
78
81
|
return (0, _react2.jsx)(EditDatasourceButtonWithCardContext, {
|
|
82
|
+
datasourceId: datasourceId,
|
|
79
83
|
url: url,
|
|
80
84
|
intl: intl,
|
|
81
85
|
editorAnalyticsApi: editorAnalyticsApi,
|
|
@@ -159,6 +159,7 @@ var EditToolbarButtonWithCardContext = function EditToolbarButtonWithCardContext
|
|
|
159
159
|
var EditToolbarButtonWithUrl = function EditToolbarButtonWithUrl(props) {
|
|
160
160
|
var cardContext = props.cardContext,
|
|
161
161
|
currentAppearance = props.currentAppearance,
|
|
162
|
+
datasourceIdFromAdf = props.datasourceId,
|
|
162
163
|
editorAnalyticsApi = props.editorAnalyticsApi,
|
|
163
164
|
editorView = props.editorView,
|
|
164
165
|
intl = props.intl,
|
|
@@ -170,7 +171,8 @@ var EditToolbarButtonWithUrl = function EditToolbarButtonWithUrl(props) {
|
|
|
170
171
|
cardContext: cardContext
|
|
171
172
|
}),
|
|
172
173
|
extensionKey = _useFetchDatasourceIn2.extensionKey,
|
|
173
|
-
|
|
174
|
+
datasourceIdFromUrl = _useFetchDatasourceIn2.datasourceId;
|
|
175
|
+
var datasourceId = datasourceIdFromUrl !== null && datasourceIdFromUrl !== void 0 ? datasourceIdFromUrl : datasourceIdFromAdf;
|
|
174
176
|
var editVariant = (0, _react.useMemo)(function () {
|
|
175
177
|
var _cardContext$store2, _urlState$error2;
|
|
176
178
|
if (!datasourceId || !(0, _utils.isDatasourceConfigEditable)(datasourceId)) {
|
|
@@ -254,6 +256,7 @@ var EditToolbarButton = exports.EditToolbarButton = function EditToolbarButton(p
|
|
|
254
256
|
if ((0, _platformFeatureFlags.fg)('enable_datasource_nourl_edit_dropdown_datafetch')) {
|
|
255
257
|
if (props.url) {
|
|
256
258
|
return (0, _react2.jsx)(EditToolbarButtonWithUrl, {
|
|
259
|
+
datasourceId: datasourceId,
|
|
257
260
|
url: props.url,
|
|
258
261
|
intl: intl,
|
|
259
262
|
editorAnalyticsApi: editorAnalyticsApi,
|
|
@@ -1,6 +1,30 @@
|
|
|
1
|
-
import { canRenderDatasource } from '@atlaskit/editor-common/utils';
|
|
1
|
+
import { canRenderDatasource, hasDocAsParent } from '@atlaskit/editor-common/utils';
|
|
2
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
2
3
|
import { setProvider } from '../actions';
|
|
3
4
|
import { handleFallbackWithAnalytics, replaceQueuedUrlWithCard } from '../doc';
|
|
5
|
+
const isFreshlyPastedOnNewLine = view => {
|
|
6
|
+
const {
|
|
7
|
+
selection
|
|
8
|
+
} = view.state;
|
|
9
|
+
const {
|
|
10
|
+
$cursor,
|
|
11
|
+
$anchor
|
|
12
|
+
} = selection;
|
|
13
|
+
if (!$cursor) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
if (!hasDocAsParent($anchor)) {
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
const node = $cursor.node();
|
|
20
|
+
if (!node) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
if (node.type.name !== 'paragraph') {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
return node.childCount === 1; // The pasted blue link itself
|
|
27
|
+
};
|
|
4
28
|
|
|
5
29
|
// ============================================================================ //
|
|
6
30
|
// ============================== PROVIDER UTILS ============================== //
|
|
@@ -8,13 +32,15 @@ import { handleFallbackWithAnalytics, replaceQueuedUrlWithCard } from '../doc';
|
|
|
8
32
|
// Used for all interactions with the EditorCardProvider.
|
|
9
33
|
// ============================================================================ //
|
|
10
34
|
export const resolveWithProvider = (view, provider, request, options, editorAnalyticsApi, createAnalyticsEvent) => {
|
|
35
|
+
const isEmbedFriendlyLocation = fg('hardcoded-embeds-only-on-new-line') ? isFreshlyPastedOnNewLine(view) : true;
|
|
36
|
+
|
|
11
37
|
// When user manually changes appearance from blue link to smart link, we should respect that,
|
|
12
38
|
let shouldForceAppearance =
|
|
13
39
|
// This flag is set to true only in one place atm:
|
|
14
40
|
// packages/editor/editor-core/src/plugins/card/pm-plugins/doc.ts @ convertHyperlinkToSmartCard
|
|
15
41
|
// Which is used when user switching from URL to smart link appearance.
|
|
16
42
|
!!request.shouldReplaceLink;
|
|
17
|
-
const handleResolve = provider.resolve(request.url, request.appearance, shouldForceAppearance).then(handleResolved(view, request, editorAnalyticsApi, createAnalyticsEvent, options), handleRejected(view, request, editorAnalyticsApi));
|
|
43
|
+
const handleResolve = provider.resolve(request.url, request.appearance, shouldForceAppearance, isEmbedFriendlyLocation).then(handleResolved(view, request, editorAnalyticsApi, createAnalyticsEvent, options), handleRejected(view, request, editorAnalyticsApi));
|
|
18
44
|
return handleResolve;
|
|
19
45
|
};
|
|
20
46
|
const updateCardType = (resolvedCard, options) => {
|
package/dist/es2019/toolbar.js
CHANGED
|
@@ -176,7 +176,7 @@ const getToolbarViewedItem = (url, display) => {
|
|
|
176
176
|
}];
|
|
177
177
|
};
|
|
178
178
|
const generateToolbarItems = (state, intl, providerFactory, cardOptions, lpLinkPicker, linkPicker, pluginInjectionApi) => node => {
|
|
179
|
-
var _pluginInjectionApi$a, _pluginInjectionApi$d, _pluginInjectionApi$d2, _node$attrs, _node$attrs$datasourc;
|
|
179
|
+
var _pluginInjectionApi$a, _pluginInjectionApi$d, _pluginInjectionApi$d2, _node$attrs, _node$attrs$datasourc, _node$attrs2, _node$attrs2$datasour;
|
|
180
180
|
const {
|
|
181
181
|
url
|
|
182
182
|
} = titleUrlPairFromNode(node);
|
|
@@ -200,8 +200,9 @@ const generateToolbarItems = (state, intl, providerFactory, cardOptions, lpLinkP
|
|
|
200
200
|
hoverDecoration
|
|
201
201
|
} = (_pluginInjectionApi$d = pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$d2 = pluginInjectionApi.decorations) === null || _pluginInjectionApi$d2 === void 0 ? void 0 : _pluginInjectionApi$d2.actions) !== null && _pluginInjectionApi$d !== void 0 ? _pluginInjectionApi$d : {};
|
|
202
202
|
const isDatasource = isDatasourceNode(node);
|
|
203
|
+
const datasourceId = node === null || node === void 0 ? void 0 : (_node$attrs = node.attrs) === null || _node$attrs === void 0 ? void 0 : (_node$attrs$datasourc = _node$attrs.datasource) === null || _node$attrs$datasourc === void 0 ? void 0 : _node$attrs$datasourc.id;
|
|
203
204
|
const pluginState = pluginKey.getState(state);
|
|
204
|
-
const shouldRenderDatasourceToolbar = isDatasource && cardOptions.allowDatasource && canRenderDatasource(node === null || node === void 0 ? void 0 : (_node$
|
|
205
|
+
const shouldRenderDatasourceToolbar = isDatasource && cardOptions.allowDatasource && canRenderDatasource(node === null || node === void 0 ? void 0 : (_node$attrs2 = node.attrs) === null || _node$attrs2 === void 0 ? void 0 : (_node$attrs2$datasour = _node$attrs2.datasource) === null || _node$attrs2$datasour === void 0 ? void 0 : _node$attrs2$datasour.id);
|
|
205
206
|
if (pluginState !== null && pluginState !== void 0 && pluginState.showLinkingToolbar) {
|
|
206
207
|
return [buildEditLinkToolbar({
|
|
207
208
|
providerFactory,
|
|
@@ -330,6 +331,7 @@ const generateToolbarItems = (state, intl, providerFactory, cardOptions, lpLinkP
|
|
|
330
331
|
type: 'custom',
|
|
331
332
|
fallback: [],
|
|
332
333
|
render: editorView => /*#__PURE__*/React.createElement(EditDatasourceButton, {
|
|
334
|
+
datasourceId: datasourceId,
|
|
333
335
|
intl: intl,
|
|
334
336
|
editorAnalyticsApi: editorAnalyticsApi,
|
|
335
337
|
url: url,
|
|
@@ -379,7 +381,7 @@ export const getSettingsButtonGroup = (intl, editorAnalyticsApi, userPreferences
|
|
|
379
381
|
}];
|
|
380
382
|
};
|
|
381
383
|
const getDatasourceButtonGroup = (metadata, intl, editorAnalyticsApi, node, hoverDecoration, datasourceId, state, cardOptions, currentAppearance) => {
|
|
382
|
-
var _node$
|
|
384
|
+
var _node$attrs3;
|
|
383
385
|
const toolbarItems = [];
|
|
384
386
|
if (isDatasourceConfigEditable(datasourceId) && !fg('platform.linking-platform.enable-datasource-edit-dropdown-toolbar')) {
|
|
385
387
|
toolbarItems.push({
|
|
@@ -464,7 +466,7 @@ const getDatasourceButtonGroup = (metadata, intl, editorAnalyticsApi, node, hove
|
|
|
464
466
|
})
|
|
465
467
|
});
|
|
466
468
|
}
|
|
467
|
-
if (node !== null && node !== void 0 && (_node$
|
|
469
|
+
if (node !== null && node !== void 0 && (_node$attrs3 = node.attrs) !== null && _node$attrs3 !== void 0 && _node$attrs3.url) {
|
|
468
470
|
toolbarItems.push({
|
|
469
471
|
id: 'editor.link.openLink',
|
|
470
472
|
type: 'button',
|
|
@@ -23,6 +23,7 @@ const buttonStyles = css({
|
|
|
23
23
|
// if they can resolve into a datasource.
|
|
24
24
|
const EditDatasourceButtonWithCardContext = ({
|
|
25
25
|
cardContext,
|
|
26
|
+
datasourceId: datasourceIdFromAdf,
|
|
26
27
|
intl,
|
|
27
28
|
editorAnalyticsApi,
|
|
28
29
|
url,
|
|
@@ -30,13 +31,14 @@ const EditDatasourceButtonWithCardContext = ({
|
|
|
30
31
|
currentAppearance
|
|
31
32
|
}) => {
|
|
32
33
|
const {
|
|
33
|
-
datasourceId,
|
|
34
|
+
datasourceId: datasourceIdFromUrl,
|
|
34
35
|
extensionKey
|
|
35
36
|
} = useFetchDatasourceInfo({
|
|
36
37
|
isRegularCardNode: true,
|
|
37
38
|
url,
|
|
38
39
|
cardContext
|
|
39
40
|
});
|
|
41
|
+
const datasourceId = datasourceIdFromUrl !== null && datasourceIdFromUrl !== void 0 ? datasourceIdFromUrl : datasourceIdFromAdf;
|
|
40
42
|
const onEditDatasource = useCallback(() => {
|
|
41
43
|
if (editorView && datasourceId) {
|
|
42
44
|
editDatasource(datasourceId, editorAnalyticsApi, currentAppearance, extensionKey)(editorView.state, editorView.dispatch);
|
|
@@ -63,6 +65,7 @@ const EditDatasourceButtonWithCardContext = ({
|
|
|
63
65
|
}), jsx(Separator, null));
|
|
64
66
|
};
|
|
65
67
|
export const EditDatasourceButton = ({
|
|
68
|
+
datasourceId,
|
|
66
69
|
intl,
|
|
67
70
|
editorAnalyticsApi,
|
|
68
71
|
url,
|
|
@@ -72,6 +75,7 @@ export const EditDatasourceButton = ({
|
|
|
72
75
|
return jsx(CardContextProvider, null, ({
|
|
73
76
|
cardContext
|
|
74
77
|
}) => jsx(EditDatasourceButtonWithCardContext, {
|
|
78
|
+
datasourceId: datasourceId,
|
|
75
79
|
url: url,
|
|
76
80
|
intl: intl,
|
|
77
81
|
editorAnalyticsApi: editorAnalyticsApi,
|
|
@@ -145,6 +145,7 @@ const EditToolbarButtonWithUrl = props => {
|
|
|
145
145
|
const {
|
|
146
146
|
cardContext,
|
|
147
147
|
currentAppearance,
|
|
148
|
+
datasourceId: datasourceIdFromAdf,
|
|
148
149
|
editorAnalyticsApi,
|
|
149
150
|
editorView,
|
|
150
151
|
intl,
|
|
@@ -153,12 +154,13 @@ const EditToolbarButtonWithUrl = props => {
|
|
|
153
154
|
} = props;
|
|
154
155
|
const {
|
|
155
156
|
extensionKey,
|
|
156
|
-
datasourceId
|
|
157
|
+
datasourceId: datasourceIdFromUrl
|
|
157
158
|
} = useFetchDatasourceInfo({
|
|
158
159
|
isRegularCardNode: true,
|
|
159
160
|
url,
|
|
160
161
|
cardContext
|
|
161
162
|
});
|
|
163
|
+
const datasourceId = datasourceIdFromUrl !== null && datasourceIdFromUrl !== void 0 ? datasourceIdFromUrl : datasourceIdFromAdf;
|
|
162
164
|
const editVariant = useMemo(() => {
|
|
163
165
|
var _cardContext$store2, _urlState$error2;
|
|
164
166
|
if (!datasourceId || !isDatasourceConfigEditable(datasourceId)) {
|
|
@@ -246,6 +248,7 @@ export const EditToolbarButton = props => {
|
|
|
246
248
|
if (fg('enable_datasource_nourl_edit_dropdown_datafetch')) {
|
|
247
249
|
if (props.url) {
|
|
248
250
|
return jsx(EditToolbarButtonWithUrl, {
|
|
251
|
+
datasourceId: datasourceId,
|
|
249
252
|
url: props.url,
|
|
250
253
|
intl: intl,
|
|
251
254
|
editorAnalyticsApi: editorAnalyticsApi,
|
|
@@ -1,6 +1,27 @@
|
|
|
1
|
-
import { canRenderDatasource } from '@atlaskit/editor-common/utils';
|
|
1
|
+
import { canRenderDatasource, hasDocAsParent } from '@atlaskit/editor-common/utils';
|
|
2
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
2
3
|
import { setProvider } from '../actions';
|
|
3
4
|
import { handleFallbackWithAnalytics, replaceQueuedUrlWithCard } from '../doc';
|
|
5
|
+
var isFreshlyPastedOnNewLine = function isFreshlyPastedOnNewLine(view) {
|
|
6
|
+
var selection = view.state.selection;
|
|
7
|
+
var _ref = selection,
|
|
8
|
+
$cursor = _ref.$cursor,
|
|
9
|
+
$anchor = _ref.$anchor;
|
|
10
|
+
if (!$cursor) {
|
|
11
|
+
return false;
|
|
12
|
+
}
|
|
13
|
+
if (!hasDocAsParent($anchor)) {
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
var node = $cursor.node();
|
|
17
|
+
if (!node) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
if (node.type.name !== 'paragraph') {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
return node.childCount === 1; // The pasted blue link itself
|
|
24
|
+
};
|
|
4
25
|
|
|
5
26
|
// ============================================================================ //
|
|
6
27
|
// ============================== PROVIDER UTILS ============================== //
|
|
@@ -8,13 +29,15 @@ import { handleFallbackWithAnalytics, replaceQueuedUrlWithCard } from '../doc';
|
|
|
8
29
|
// Used for all interactions with the EditorCardProvider.
|
|
9
30
|
// ============================================================================ //
|
|
10
31
|
export var resolveWithProvider = function resolveWithProvider(view, provider, request, options, editorAnalyticsApi, createAnalyticsEvent) {
|
|
32
|
+
var isEmbedFriendlyLocation = fg('hardcoded-embeds-only-on-new-line') ? isFreshlyPastedOnNewLine(view) : true;
|
|
33
|
+
|
|
11
34
|
// When user manually changes appearance from blue link to smart link, we should respect that,
|
|
12
35
|
var shouldForceAppearance =
|
|
13
36
|
// This flag is set to true only in one place atm:
|
|
14
37
|
// packages/editor/editor-core/src/plugins/card/pm-plugins/doc.ts @ convertHyperlinkToSmartCard
|
|
15
38
|
// Which is used when user switching from URL to smart link appearance.
|
|
16
39
|
!!request.shouldReplaceLink;
|
|
17
|
-
var handleResolve = provider.resolve(request.url, request.appearance, shouldForceAppearance).then(handleResolved(view, request, editorAnalyticsApi, createAnalyticsEvent, options), handleRejected(view, request, editorAnalyticsApi));
|
|
40
|
+
var handleResolve = provider.resolve(request.url, request.appearance, shouldForceAppearance, isEmbedFriendlyLocation).then(handleResolved(view, request, editorAnalyticsApi, createAnalyticsEvent, options), handleRejected(view, request, editorAnalyticsApi));
|
|
18
41
|
return handleResolve;
|
|
19
42
|
};
|
|
20
43
|
var updateCardType = function updateCardType(resolvedCard, options) {
|
package/dist/esm/toolbar.js
CHANGED
|
@@ -178,7 +178,7 @@ var getToolbarViewedItem = function getToolbarViewedItem(url, display) {
|
|
|
178
178
|
};
|
|
179
179
|
var generateToolbarItems = function generateToolbarItems(state, intl, providerFactory, cardOptions, lpLinkPicker, linkPicker, pluginInjectionApi) {
|
|
180
180
|
return function (node) {
|
|
181
|
-
var _pluginInjectionApi$a, _pluginInjectionApi$d, _pluginInjectionApi$d2, _node$attrs;
|
|
181
|
+
var _pluginInjectionApi$a, _pluginInjectionApi$d, _pluginInjectionApi$d2, _node$attrs, _node$attrs2;
|
|
182
182
|
var _titleUrlPairFromNode2 = titleUrlPairFromNode(node),
|
|
183
183
|
url = _titleUrlPairFromNode2.url;
|
|
184
184
|
var _ref = (_pluginInjectionApi$a = pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : pluginInjectionApi.analytics) !== null && _pluginInjectionApi$a !== void 0 ? _pluginInjectionApi$a : {},
|
|
@@ -198,8 +198,9 @@ var generateToolbarItems = function generateToolbarItems(state, intl, providerFa
|
|
|
198
198
|
var _ref2 = (_pluginInjectionApi$d = pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$d2 = pluginInjectionApi.decorations) === null || _pluginInjectionApi$d2 === void 0 ? void 0 : _pluginInjectionApi$d2.actions) !== null && _pluginInjectionApi$d !== void 0 ? _pluginInjectionApi$d : {},
|
|
199
199
|
hoverDecoration = _ref2.hoverDecoration;
|
|
200
200
|
var isDatasource = isDatasourceNode(node);
|
|
201
|
+
var datasourceId = node === null || node === void 0 || (_node$attrs = node.attrs) === null || _node$attrs === void 0 || (_node$attrs = _node$attrs.datasource) === null || _node$attrs === void 0 ? void 0 : _node$attrs.id;
|
|
201
202
|
var pluginState = pluginKey.getState(state);
|
|
202
|
-
var shouldRenderDatasourceToolbar = isDatasource && cardOptions.allowDatasource && canRenderDatasource(node === null || node === void 0 || (_node$
|
|
203
|
+
var shouldRenderDatasourceToolbar = isDatasource && cardOptions.allowDatasource && canRenderDatasource(node === null || node === void 0 || (_node$attrs2 = node.attrs) === null || _node$attrs2 === void 0 || (_node$attrs2 = _node$attrs2.datasource) === null || _node$attrs2 === void 0 ? void 0 : _node$attrs2.id);
|
|
203
204
|
if (pluginState !== null && pluginState !== void 0 && pluginState.showLinkingToolbar) {
|
|
204
205
|
return [buildEditLinkToolbar({
|
|
205
206
|
providerFactory: providerFactory,
|
|
@@ -331,6 +332,7 @@ var generateToolbarItems = function generateToolbarItems(state, intl, providerFa
|
|
|
331
332
|
fallback: [],
|
|
332
333
|
render: function render(editorView) {
|
|
333
334
|
return /*#__PURE__*/React.createElement(EditDatasourceButton, {
|
|
335
|
+
datasourceId: datasourceId,
|
|
334
336
|
intl: intl,
|
|
335
337
|
editorAnalyticsApi: editorAnalyticsApi,
|
|
336
338
|
url: url,
|
|
@@ -382,7 +384,7 @@ export var getSettingsButtonGroup = function getSettingsButtonGroup(intl, editor
|
|
|
382
384
|
}];
|
|
383
385
|
};
|
|
384
386
|
var getDatasourceButtonGroup = function getDatasourceButtonGroup(metadata, intl, editorAnalyticsApi, node, hoverDecoration, datasourceId, state, cardOptions, currentAppearance) {
|
|
385
|
-
var _node$
|
|
387
|
+
var _node$attrs3;
|
|
386
388
|
var toolbarItems = [];
|
|
387
389
|
if (isDatasourceConfigEditable(datasourceId) && !fg('platform.linking-platform.enable-datasource-edit-dropdown-toolbar')) {
|
|
388
390
|
toolbarItems.push({
|
|
@@ -467,7 +469,7 @@ var getDatasourceButtonGroup = function getDatasourceButtonGroup(metadata, intl,
|
|
|
467
469
|
}
|
|
468
470
|
});
|
|
469
471
|
}
|
|
470
|
-
if (node !== null && node !== void 0 && (_node$
|
|
472
|
+
if (node !== null && node !== void 0 && (_node$attrs3 = node.attrs) !== null && _node$attrs3 !== void 0 && _node$attrs3.url) {
|
|
471
473
|
toolbarItems.push({
|
|
472
474
|
id: 'editor.link.openLink',
|
|
473
475
|
type: 'button',
|
|
@@ -23,6 +23,7 @@ var buttonStyles = css({
|
|
|
23
23
|
// if they can resolve into a datasource.
|
|
24
24
|
var EditDatasourceButtonWithCardContext = function EditDatasourceButtonWithCardContext(_ref) {
|
|
25
25
|
var cardContext = _ref.cardContext,
|
|
26
|
+
datasourceIdFromAdf = _ref.datasourceId,
|
|
26
27
|
intl = _ref.intl,
|
|
27
28
|
editorAnalyticsApi = _ref.editorAnalyticsApi,
|
|
28
29
|
url = _ref.url,
|
|
@@ -33,8 +34,9 @@ var EditDatasourceButtonWithCardContext = function EditDatasourceButtonWithCardC
|
|
|
33
34
|
url: url,
|
|
34
35
|
cardContext: cardContext
|
|
35
36
|
}),
|
|
36
|
-
|
|
37
|
+
datasourceIdFromUrl = _useFetchDatasourceIn.datasourceId,
|
|
37
38
|
extensionKey = _useFetchDatasourceIn.extensionKey;
|
|
39
|
+
var datasourceId = datasourceIdFromUrl !== null && datasourceIdFromUrl !== void 0 ? datasourceIdFromUrl : datasourceIdFromAdf;
|
|
38
40
|
var onEditDatasource = useCallback(function () {
|
|
39
41
|
if (editorView && datasourceId) {
|
|
40
42
|
editDatasource(datasourceId, editorAnalyticsApi, currentAppearance, extensionKey)(editorView.state, editorView.dispatch);
|
|
@@ -61,7 +63,8 @@ var EditDatasourceButtonWithCardContext = function EditDatasourceButtonWithCardC
|
|
|
61
63
|
}), jsx(Separator, null));
|
|
62
64
|
};
|
|
63
65
|
export var EditDatasourceButton = function EditDatasourceButton(_ref2) {
|
|
64
|
-
var
|
|
66
|
+
var datasourceId = _ref2.datasourceId,
|
|
67
|
+
intl = _ref2.intl,
|
|
65
68
|
editorAnalyticsApi = _ref2.editorAnalyticsApi,
|
|
66
69
|
url = _ref2.url,
|
|
67
70
|
editorView = _ref2.editorView,
|
|
@@ -69,6 +72,7 @@ export var EditDatasourceButton = function EditDatasourceButton(_ref2) {
|
|
|
69
72
|
return jsx(CardContextProvider, null, function (_ref3) {
|
|
70
73
|
var cardContext = _ref3.cardContext;
|
|
71
74
|
return jsx(EditDatasourceButtonWithCardContext, {
|
|
75
|
+
datasourceId: datasourceId,
|
|
72
76
|
url: url,
|
|
73
77
|
intl: intl,
|
|
74
78
|
editorAnalyticsApi: editorAnalyticsApi,
|
|
@@ -153,6 +153,7 @@ var EditToolbarButtonWithCardContext = function EditToolbarButtonWithCardContext
|
|
|
153
153
|
var EditToolbarButtonWithUrl = function EditToolbarButtonWithUrl(props) {
|
|
154
154
|
var cardContext = props.cardContext,
|
|
155
155
|
currentAppearance = props.currentAppearance,
|
|
156
|
+
datasourceIdFromAdf = props.datasourceId,
|
|
156
157
|
editorAnalyticsApi = props.editorAnalyticsApi,
|
|
157
158
|
editorView = props.editorView,
|
|
158
159
|
intl = props.intl,
|
|
@@ -164,7 +165,8 @@ var EditToolbarButtonWithUrl = function EditToolbarButtonWithUrl(props) {
|
|
|
164
165
|
cardContext: cardContext
|
|
165
166
|
}),
|
|
166
167
|
extensionKey = _useFetchDatasourceIn2.extensionKey,
|
|
167
|
-
|
|
168
|
+
datasourceIdFromUrl = _useFetchDatasourceIn2.datasourceId;
|
|
169
|
+
var datasourceId = datasourceIdFromUrl !== null && datasourceIdFromUrl !== void 0 ? datasourceIdFromUrl : datasourceIdFromAdf;
|
|
168
170
|
var editVariant = useMemo(function () {
|
|
169
171
|
var _cardContext$store2, _urlState$error2;
|
|
170
172
|
if (!datasourceId || !isDatasourceConfigEditable(datasourceId)) {
|
|
@@ -248,6 +250,7 @@ export var EditToolbarButton = function EditToolbarButton(props) {
|
|
|
248
250
|
if (fg('enable_datasource_nourl_edit_dropdown_datafetch')) {
|
|
249
251
|
if (props.url) {
|
|
250
252
|
return jsx(EditToolbarButtonWithUrl, {
|
|
253
|
+
datasourceId: datasourceId,
|
|
251
254
|
url: props.url,
|
|
252
255
|
intl: intl,
|
|
253
256
|
editorAnalyticsApi: editorAnalyticsApi,
|
|
@@ -6,6 +6,7 @@ import type { EditorView } from '@atlaskit/editor-prosemirror/view';
|
|
|
6
6
|
import type { CardContext } from '@atlaskit/link-provider';
|
|
7
7
|
import { type CardType } from '../types';
|
|
8
8
|
export interface EditDatasourceButtonProps {
|
|
9
|
+
datasourceId?: string;
|
|
9
10
|
intl: IntlShape;
|
|
10
11
|
editorAnalyticsApi?: EditorAnalyticsAPI;
|
|
11
12
|
url?: string;
|
|
@@ -13,5 +14,5 @@ export interface EditDatasourceButtonProps {
|
|
|
13
14
|
cardContext?: CardContext;
|
|
14
15
|
currentAppearance?: CardType;
|
|
15
16
|
}
|
|
16
|
-
export declare const EditDatasourceButton: ({ intl, editorAnalyticsApi, url, editorView, currentAppearance, }: EditDatasourceButtonProps) => jsx.JSX.Element;
|
|
17
|
+
export declare const EditDatasourceButton: ({ datasourceId, intl, editorAnalyticsApi, url, editorView, currentAppearance, }: EditDatasourceButtonProps) => jsx.JSX.Element;
|
|
17
18
|
export declare const editDatasource: (datasourceId: string, editorAnalyticsApi?: EditorAnalyticsAPI, appearance?: CardType, extensionKey?: string) => Command;
|
|
@@ -15,6 +15,7 @@ export interface EditDatasourceToolbarButtonWithCommonProps {
|
|
|
15
15
|
}
|
|
16
16
|
export interface EditDatasourceToolbarButtonWithUrlProps extends EditDatasourceToolbarButtonWithCommonProps {
|
|
17
17
|
cardContext?: CardContext;
|
|
18
|
+
datasourceId?: string;
|
|
18
19
|
url: string;
|
|
19
20
|
}
|
|
20
21
|
export interface EditDatasourceToolbarButtonWithDatasourceIdProps extends EditDatasourceToolbarButtonWithCommonProps {
|
|
@@ -6,6 +6,7 @@ import type { EditorView } from '@atlaskit/editor-prosemirror/view';
|
|
|
6
6
|
import type { CardContext } from '@atlaskit/link-provider';
|
|
7
7
|
import { type CardType } from '../types';
|
|
8
8
|
export interface EditDatasourceButtonProps {
|
|
9
|
+
datasourceId?: string;
|
|
9
10
|
intl: IntlShape;
|
|
10
11
|
editorAnalyticsApi?: EditorAnalyticsAPI;
|
|
11
12
|
url?: string;
|
|
@@ -13,5 +14,5 @@ export interface EditDatasourceButtonProps {
|
|
|
13
14
|
cardContext?: CardContext;
|
|
14
15
|
currentAppearance?: CardType;
|
|
15
16
|
}
|
|
16
|
-
export declare const EditDatasourceButton: ({ intl, editorAnalyticsApi, url, editorView, currentAppearance, }: EditDatasourceButtonProps) => jsx.JSX.Element;
|
|
17
|
+
export declare const EditDatasourceButton: ({ datasourceId, intl, editorAnalyticsApi, url, editorView, currentAppearance, }: EditDatasourceButtonProps) => jsx.JSX.Element;
|
|
17
18
|
export declare const editDatasource: (datasourceId: string, editorAnalyticsApi?: EditorAnalyticsAPI, appearance?: CardType, extensionKey?: string) => Command;
|
|
@@ -15,6 +15,7 @@ export interface EditDatasourceToolbarButtonWithCommonProps {
|
|
|
15
15
|
}
|
|
16
16
|
export interface EditDatasourceToolbarButtonWithUrlProps extends EditDatasourceToolbarButtonWithCommonProps {
|
|
17
17
|
cardContext?: CardContext;
|
|
18
|
+
datasourceId?: string;
|
|
18
19
|
url: string;
|
|
19
20
|
}
|
|
20
21
|
export interface EditDatasourceToolbarButtonWithDatasourceIdProps extends EditDatasourceToolbarButtonWithCommonProps {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-plugin-card",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.3",
|
|
4
4
|
"description": "Card plugin for @atlaskit/editor-core",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -34,21 +34,21 @@
|
|
|
34
34
|
"@atlaskit/adf-schema": "^40.9.0",
|
|
35
35
|
"@atlaskit/analytics-next": "^10.1.0",
|
|
36
36
|
"@atlaskit/custom-steps": "^0.7.0",
|
|
37
|
-
"@atlaskit/editor-common": "^89.
|
|
37
|
+
"@atlaskit/editor-common": "^89.3.0",
|
|
38
38
|
"@atlaskit/editor-plugin-analytics": "^1.8.0",
|
|
39
39
|
"@atlaskit/editor-plugin-decorations": "^1.3.0",
|
|
40
40
|
"@atlaskit/editor-plugin-editor-disabled": "^1.3.0",
|
|
41
41
|
"@atlaskit/editor-plugin-editor-viewmode": "^2.1.0",
|
|
42
42
|
"@atlaskit/editor-plugin-feature-flags": "^1.2.0",
|
|
43
|
-
"@atlaskit/editor-plugin-floating-toolbar": "^1.
|
|
43
|
+
"@atlaskit/editor-plugin-floating-toolbar": "^1.13.0",
|
|
44
44
|
"@atlaskit/editor-plugin-grid": "^1.2.0",
|
|
45
45
|
"@atlaskit/editor-plugin-width": "^1.3.0",
|
|
46
46
|
"@atlaskit/editor-prosemirror": "6.0.0",
|
|
47
47
|
"@atlaskit/editor-shared-styles": "^2.13.0",
|
|
48
48
|
"@atlaskit/frontend-utilities": "^2.7.0",
|
|
49
|
-
"@atlaskit/icon": "^22.
|
|
49
|
+
"@atlaskit/icon": "^22.18.0",
|
|
50
50
|
"@atlaskit/link-analytics": "^8.5.0",
|
|
51
|
-
"@atlaskit/link-client-extension": "^2.
|
|
51
|
+
"@atlaskit/link-client-extension": "^2.4.0",
|
|
52
52
|
"@atlaskit/link-datasource": "^3.0.0",
|
|
53
53
|
"@atlaskit/linking-common": "^5.11.0",
|
|
54
54
|
"@atlaskit/linking-types": "^9.0.0",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"@atlaskit/smart-card": "^28.1.0",
|
|
59
59
|
"@atlaskit/theme": "^13.0.0",
|
|
60
60
|
"@atlaskit/tmp-editor-statsig": "^2.1.8",
|
|
61
|
-
"@atlaskit/tokens": "^1.
|
|
61
|
+
"@atlaskit/tokens": "^1.60.0",
|
|
62
62
|
"@babel/runtime": "^7.0.0",
|
|
63
63
|
"@emotion/react": "^11.7.1",
|
|
64
64
|
"lodash": "^4.17.21",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"raf-schd": "^4.0.3"
|
|
67
67
|
},
|
|
68
68
|
"peerDependencies": {
|
|
69
|
-
"@atlaskit/link-provider": "^1.
|
|
69
|
+
"@atlaskit/link-provider": "^1.16.0",
|
|
70
70
|
"react": "^16.8.0 || ^17.0.0 || ^18.0.0",
|
|
71
71
|
"react-intl-next": "npm:react-intl@^5.18.1"
|
|
72
72
|
},
|
|
@@ -134,6 +134,9 @@
|
|
|
134
134
|
},
|
|
135
135
|
"editor_inline_comments_paste_insert_nodes": {
|
|
136
136
|
"type": "boolean"
|
|
137
|
+
},
|
|
138
|
+
"hardcoded-embeds-only-on-new-line": {
|
|
139
|
+
"type": "boolean"
|
|
137
140
|
}
|
|
138
141
|
},
|
|
139
142
|
"stricter": {
|