@atlaskit/editor-plugin-extension 16.0.3 → 16.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 +32 -0
- package/dist/cjs/pm-plugins/block-transforms.js +31 -0
- package/dist/cjs/pm-plugins/main.js +27 -9
- package/dist/es2019/pm-plugins/block-transforms.js +12 -0
- package/dist/es2019/pm-plugins/main.js +13 -2
- package/dist/esm/pm-plugins/block-transforms.js +25 -0
- package/dist/esm/pm-plugins/main.js +27 -9
- package/dist/types/extensionPluginType.d.ts +3 -1
- package/dist/types/pm-plugins/block-transforms.d.ts +3 -0
- package/dist/types/pm-plugins/main.d.ts +1 -1
- package/package.json +8 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,37 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-extension
|
|
2
2
|
|
|
3
|
+
## 16.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`337e6777c26aa`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/337e6777c26aa) -
|
|
8
|
+
Add Block Menu transform extension APIs. Extension manifests can declare ADF-only transform
|
|
9
|
+
capabilities without importing Editor internals:
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
const extensionNode = {
|
|
13
|
+
blockTransform: {
|
|
14
|
+
key: 'convert-tabs-to-panel',
|
|
15
|
+
isSupported: ({ targetTypeName }) => targetTypeName === 'panel',
|
|
16
|
+
transform: ({ source }) => ({ output: [{ type: 'panel', content: source.content }] }),
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
The Extension Plugin registers each keyed transform with Block Menu after manifests load. Block
|
|
22
|
+
Menu checks support, validates returned ADF, and owns replacement, selection, history, focus, and
|
|
23
|
+
analytics.
|
|
24
|
+
|
|
25
|
+
### Patch Changes
|
|
26
|
+
|
|
27
|
+
- Updated dependencies
|
|
28
|
+
|
|
29
|
+
## 16.0.4
|
|
30
|
+
|
|
31
|
+
### Patch Changes
|
|
32
|
+
|
|
33
|
+
- Updated dependencies
|
|
34
|
+
|
|
3
35
|
## 16.0.3
|
|
4
36
|
|
|
5
37
|
### Patch Changes
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.buildExtensionBlockTransforms = void 0;
|
|
7
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
8
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
9
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
10
|
+
var buildExtensionBlockTransforms = exports.buildExtensionBlockTransforms = function buildExtensionBlockTransforms(manifests) {
|
|
11
|
+
var transforms = [];
|
|
12
|
+
var _iterator = _createForOfIteratorHelper(manifests),
|
|
13
|
+
_step;
|
|
14
|
+
try {
|
|
15
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
16
|
+
var manifest = _step.value;
|
|
17
|
+
for (var _i = 0, _Object$values = Object.values((_manifest$modules$nod = manifest.modules.nodes) !== null && _manifest$modules$nod !== void 0 ? _manifest$modules$nod : {}); _i < _Object$values.length; _i++) {
|
|
18
|
+
var _manifest$modules$nod;
|
|
19
|
+
var nodeModule = _Object$values[_i];
|
|
20
|
+
if (nodeModule.blockTransform) {
|
|
21
|
+
transforms.push(nodeModule.blockTransform);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
} catch (err) {
|
|
26
|
+
_iterator.e(err);
|
|
27
|
+
} finally {
|
|
28
|
+
_iterator.f();
|
|
29
|
+
}
|
|
30
|
+
return transforms;
|
|
31
|
+
};
|
|
@@ -13,8 +13,10 @@ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
|
13
13
|
var _selection2 = require("@atlaskit/editor-common/selection");
|
|
14
14
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
15
15
|
var _utils = require("@atlaskit/editor-prosemirror/utils");
|
|
16
|
+
var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
|
|
16
17
|
var _commands = require("../editor-commands/commands");
|
|
17
18
|
var _lazyExtension = require("../nodeviews/lazyExtension");
|
|
19
|
+
var _blockTransforms = require("./block-transforms");
|
|
18
20
|
var _pluginFactory = require("./plugin-factory");
|
|
19
21
|
var _pluginKey = require("./plugin-key");
|
|
20
22
|
var _updateEditButton = require("./update-edit-button");
|
|
@@ -64,15 +66,15 @@ var getUpdateExtensionPromise = /*#__PURE__*/function () {
|
|
|
64
66
|
return _ref.apply(this, arguments);
|
|
65
67
|
};
|
|
66
68
|
}();
|
|
67
|
-
var createExtensionProviderHandler = exports.createExtensionProviderHandler = function createExtensionProviderHandler(view) {
|
|
69
|
+
var createExtensionProviderHandler = exports.createExtensionProviderHandler = function createExtensionProviderHandler(view, api) {
|
|
68
70
|
return /*#__PURE__*/function () {
|
|
69
71
|
var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(name, provider) {
|
|
70
|
-
var extensionProvider, _t;
|
|
72
|
+
var extensionProvider, _api$blockMenu, manifests, _t, _t2;
|
|
71
73
|
return _regenerator.default.wrap(function (_context2) {
|
|
72
74
|
while (1) switch (_context2.prev = _context2.next) {
|
|
73
75
|
case 0:
|
|
74
76
|
if (!(name === 'extensionProvider' && provider)) {
|
|
75
|
-
_context2.next =
|
|
77
|
+
_context2.next = 9;
|
|
76
78
|
break;
|
|
77
79
|
}
|
|
78
80
|
_context2.prev = 1;
|
|
@@ -86,19 +88,35 @@ var createExtensionProviderHandler = exports.createExtensionProviderHandler = fu
|
|
|
86
88
|
_context2.next = 3;
|
|
87
89
|
return (0, _updateEditButton.updateEditButton)(view, extensionProvider);
|
|
88
90
|
case 3:
|
|
91
|
+
if (!(0, _isExperimentEnabled.isExperimentEnabled)('platform_editor_block_menu_transform_extensions')) {
|
|
92
|
+
_context2.next = 7;
|
|
93
|
+
break;
|
|
94
|
+
}
|
|
95
|
+
_context2.prev = 4;
|
|
89
96
|
_context2.next = 5;
|
|
97
|
+
return extensionProvider.getExtensions();
|
|
98
|
+
case 5:
|
|
99
|
+
manifests = _context2.sent;
|
|
100
|
+
api === null || api === void 0 || (_api$blockMenu = api.blockMenu) === null || _api$blockMenu === void 0 || _api$blockMenu.actions.registerBlockMenuTransforms((0, _blockTransforms.buildExtensionBlockTransforms)(manifests));
|
|
101
|
+
_context2.next = 7;
|
|
90
102
|
break;
|
|
91
|
-
case
|
|
92
|
-
_context2.prev =
|
|
93
|
-
_t = _context2["catch"](
|
|
103
|
+
case 6:
|
|
104
|
+
_context2.prev = 6;
|
|
105
|
+
_t = _context2["catch"](4);
|
|
106
|
+
case 7:
|
|
107
|
+
_context2.next = 9;
|
|
108
|
+
break;
|
|
109
|
+
case 8:
|
|
110
|
+
_context2.prev = 8;
|
|
111
|
+
_t2 = _context2["catch"](1);
|
|
94
112
|
(0, _commands.updateState)({
|
|
95
113
|
extensionProvider: undefined
|
|
96
114
|
})(view.state, view.dispatch);
|
|
97
|
-
case
|
|
115
|
+
case 9:
|
|
98
116
|
case "end":
|
|
99
117
|
return _context2.stop();
|
|
100
118
|
}
|
|
101
|
-
}, _callee2, null, [[1, 4]]);
|
|
119
|
+
}, _callee2, null, [[1, 8], [4, 6]]);
|
|
102
120
|
}));
|
|
103
121
|
return function (_x4, _x5) {
|
|
104
122
|
return _ref2.apply(this, arguments);
|
|
@@ -190,7 +208,7 @@ var createPlugin = exports.createPlugin = function createPlugin(dispatch, provid
|
|
|
190
208
|
state: state,
|
|
191
209
|
view: function view(editorView) {
|
|
192
210
|
var domAtPos = editorView.domAtPos.bind(editorView);
|
|
193
|
-
var extensionProviderHandler = createExtensionProviderHandler(editorView);
|
|
211
|
+
var extensionProviderHandler = createExtensionProviderHandler(editorView, pluginInjectionApi);
|
|
194
212
|
providerFactory.subscribe('extensionProvider', extensionProviderHandler);
|
|
195
213
|
return {
|
|
196
214
|
update: function update(view, prevState) {
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export const buildExtensionBlockTransforms = manifests => {
|
|
2
|
+
const transforms = [];
|
|
3
|
+
for (const manifest of manifests) {
|
|
4
|
+
for (const nodeModule of Object.values((_manifest$modules$nod = manifest.modules.nodes) !== null && _manifest$modules$nod !== void 0 ? _manifest$modules$nod : {})) {
|
|
5
|
+
var _manifest$modules$nod;
|
|
6
|
+
if (nodeModule.blockTransform) {
|
|
7
|
+
transforms.push(nodeModule.blockTransform);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
return transforms;
|
|
12
|
+
};
|
|
@@ -3,8 +3,10 @@ import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
|
|
|
3
3
|
import { GapCursorSelection, createSelectionClickHandler, isSelectionAtEndOfNode, isSelectionAtStartOfNode } from '@atlaskit/editor-common/selection';
|
|
4
4
|
import { NodeSelection, TextSelection } from '@atlaskit/editor-prosemirror/state';
|
|
5
5
|
import { findParentNodeOfTypeClosestToPos, findSelectedNodeOfType } from '@atlaskit/editor-prosemirror/utils';
|
|
6
|
+
import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
|
|
6
7
|
import { clearEditingContext, updateState } from '../editor-commands/commands';
|
|
7
8
|
import { lazyExtensionNodeView } from '../nodeviews/lazyExtension';
|
|
9
|
+
import { buildExtensionBlockTransforms } from './block-transforms';
|
|
8
10
|
import { createPluginState, getPluginState } from './plugin-factory';
|
|
9
11
|
import { pluginKey } from './plugin-key';
|
|
10
12
|
import { updateEditButton } from './update-edit-button';
|
|
@@ -30,7 +32,7 @@ const getUpdateExtensionPromise = async (view, extensionHandler, extensionProvid
|
|
|
30
32
|
}
|
|
31
33
|
throw new Error('No update method available');
|
|
32
34
|
};
|
|
33
|
-
export const createExtensionProviderHandler = view => async (name, provider) => {
|
|
35
|
+
export const createExtensionProviderHandler = (view, api) => async (name, provider) => {
|
|
34
36
|
if (name === 'extensionProvider' && provider) {
|
|
35
37
|
try {
|
|
36
38
|
const extensionProvider = await provider;
|
|
@@ -38,6 +40,15 @@ export const createExtensionProviderHandler = view => async (name, provider) =>
|
|
|
38
40
|
extensionProvider
|
|
39
41
|
})(view.state, view.dispatch);
|
|
40
42
|
await updateEditButton(view, extensionProvider);
|
|
43
|
+
if (isExperimentEnabled('platform_editor_block_menu_transform_extensions')) {
|
|
44
|
+
try {
|
|
45
|
+
var _api$blockMenu;
|
|
46
|
+
const manifests = await extensionProvider.getExtensions();
|
|
47
|
+
api === null || api === void 0 ? void 0 : (_api$blockMenu = api.blockMenu) === null || _api$blockMenu === void 0 ? void 0 : _api$blockMenu.actions.registerBlockMenuTransforms(buildExtensionBlockTransforms(manifests));
|
|
48
|
+
} catch {
|
|
49
|
+
// Transform registration remains unavailable when manifests cannot be loaded.
|
|
50
|
+
}
|
|
51
|
+
}
|
|
41
52
|
} catch {
|
|
42
53
|
updateState({
|
|
43
54
|
extensionProvider: undefined
|
|
@@ -133,7 +144,7 @@ export const createPlugin = (dispatch, providerFactory, extensionHandlers, exten
|
|
|
133
144
|
state,
|
|
134
145
|
view: editorView => {
|
|
135
146
|
const domAtPos = editorView.domAtPos.bind(editorView);
|
|
136
|
-
const extensionProviderHandler = createExtensionProviderHandler(editorView);
|
|
147
|
+
const extensionProviderHandler = createExtensionProviderHandler(editorView, pluginInjectionApi);
|
|
137
148
|
providerFactory.subscribe('extensionProvider', extensionProviderHandler);
|
|
138
149
|
return {
|
|
139
150
|
update: (view, prevState) => {
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
2
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
3
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
4
|
+
export var buildExtensionBlockTransforms = function buildExtensionBlockTransforms(manifests) {
|
|
5
|
+
var transforms = [];
|
|
6
|
+
var _iterator = _createForOfIteratorHelper(manifests),
|
|
7
|
+
_step;
|
|
8
|
+
try {
|
|
9
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
10
|
+
var manifest = _step.value;
|
|
11
|
+
for (var _i = 0, _Object$values = Object.values((_manifest$modules$nod = manifest.modules.nodes) !== null && _manifest$modules$nod !== void 0 ? _manifest$modules$nod : {}); _i < _Object$values.length; _i++) {
|
|
12
|
+
var _manifest$modules$nod;
|
|
13
|
+
var nodeModule = _Object$values[_i];
|
|
14
|
+
if (nodeModule.blockTransform) {
|
|
15
|
+
transforms.push(nodeModule.blockTransform);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
} catch (err) {
|
|
20
|
+
_iterator.e(err);
|
|
21
|
+
} finally {
|
|
22
|
+
_iterator.f();
|
|
23
|
+
}
|
|
24
|
+
return transforms;
|
|
25
|
+
};
|
|
@@ -6,8 +6,10 @@ import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
|
|
|
6
6
|
import { GapCursorSelection, createSelectionClickHandler, isSelectionAtEndOfNode, isSelectionAtStartOfNode } from '@atlaskit/editor-common/selection';
|
|
7
7
|
import { NodeSelection, TextSelection } from '@atlaskit/editor-prosemirror/state';
|
|
8
8
|
import { findParentNodeOfTypeClosestToPos, findSelectedNodeOfType } from '@atlaskit/editor-prosemirror/utils';
|
|
9
|
+
import { isExperimentEnabled } from '@atlaskit/platform-feature-experiments/is-experiment-enabled';
|
|
9
10
|
import { clearEditingContext, updateState } from '../editor-commands/commands';
|
|
10
11
|
import { lazyExtensionNodeView } from '../nodeviews/lazyExtension';
|
|
12
|
+
import { buildExtensionBlockTransforms } from './block-transforms';
|
|
11
13
|
import { createPluginState, getPluginState } from './plugin-factory';
|
|
12
14
|
import { pluginKey } from './plugin-key';
|
|
13
15
|
import { updateEditButton } from './update-edit-button';
|
|
@@ -57,15 +59,15 @@ var getUpdateExtensionPromise = /*#__PURE__*/function () {
|
|
|
57
59
|
return _ref.apply(this, arguments);
|
|
58
60
|
};
|
|
59
61
|
}();
|
|
60
|
-
export var createExtensionProviderHandler = function createExtensionProviderHandler(view) {
|
|
62
|
+
export var createExtensionProviderHandler = function createExtensionProviderHandler(view, api) {
|
|
61
63
|
return /*#__PURE__*/function () {
|
|
62
64
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(name, provider) {
|
|
63
|
-
var extensionProvider, _t;
|
|
65
|
+
var extensionProvider, _api$blockMenu, manifests, _t, _t2;
|
|
64
66
|
return _regeneratorRuntime.wrap(function (_context2) {
|
|
65
67
|
while (1) switch (_context2.prev = _context2.next) {
|
|
66
68
|
case 0:
|
|
67
69
|
if (!(name === 'extensionProvider' && provider)) {
|
|
68
|
-
_context2.next =
|
|
70
|
+
_context2.next = 9;
|
|
69
71
|
break;
|
|
70
72
|
}
|
|
71
73
|
_context2.prev = 1;
|
|
@@ -79,19 +81,35 @@ export var createExtensionProviderHandler = function createExtensionProviderHand
|
|
|
79
81
|
_context2.next = 3;
|
|
80
82
|
return updateEditButton(view, extensionProvider);
|
|
81
83
|
case 3:
|
|
84
|
+
if (!isExperimentEnabled('platform_editor_block_menu_transform_extensions')) {
|
|
85
|
+
_context2.next = 7;
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
_context2.prev = 4;
|
|
82
89
|
_context2.next = 5;
|
|
90
|
+
return extensionProvider.getExtensions();
|
|
91
|
+
case 5:
|
|
92
|
+
manifests = _context2.sent;
|
|
93
|
+
api === null || api === void 0 || (_api$blockMenu = api.blockMenu) === null || _api$blockMenu === void 0 || _api$blockMenu.actions.registerBlockMenuTransforms(buildExtensionBlockTransforms(manifests));
|
|
94
|
+
_context2.next = 7;
|
|
83
95
|
break;
|
|
84
|
-
case
|
|
85
|
-
_context2.prev =
|
|
86
|
-
_t = _context2["catch"](
|
|
96
|
+
case 6:
|
|
97
|
+
_context2.prev = 6;
|
|
98
|
+
_t = _context2["catch"](4);
|
|
99
|
+
case 7:
|
|
100
|
+
_context2.next = 9;
|
|
101
|
+
break;
|
|
102
|
+
case 8:
|
|
103
|
+
_context2.prev = 8;
|
|
104
|
+
_t2 = _context2["catch"](1);
|
|
87
105
|
updateState({
|
|
88
106
|
extensionProvider: undefined
|
|
89
107
|
})(view.state, view.dispatch);
|
|
90
|
-
case
|
|
108
|
+
case 9:
|
|
91
109
|
case "end":
|
|
92
110
|
return _context2.stop();
|
|
93
111
|
}
|
|
94
|
-
}, _callee2, null, [[1, 4]]);
|
|
112
|
+
}, _callee2, null, [[1, 8], [4, 6]]);
|
|
95
113
|
}));
|
|
96
114
|
return function (_x4, _x5) {
|
|
97
115
|
return _ref2.apply(this, arguments);
|
|
@@ -183,7 +201,7 @@ export var createPlugin = function createPlugin(dispatch, providerFactory, exten
|
|
|
183
201
|
state: state,
|
|
184
202
|
view: function view(editorView) {
|
|
185
203
|
var domAtPos = editorView.domAtPos.bind(editorView);
|
|
186
|
-
var extensionProviderHandler = createExtensionProviderHandler(editorView);
|
|
204
|
+
var extensionProviderHandler = createExtensionProviderHandler(editorView, pluginInjectionApi);
|
|
187
205
|
providerFactory.subscribe('extensionProvider', extensionProviderHandler);
|
|
188
206
|
return {
|
|
189
207
|
update: function update(view, prevState) {
|
|
@@ -6,6 +6,7 @@ import type { MacroProvider } from '@atlaskit/editor-common/provider-factory';
|
|
|
6
6
|
import type { EditorAppearance, LongPressSelectionPluginOptions, NextEditorPlugin, OptionalPlugin } from '@atlaskit/editor-common/types';
|
|
7
7
|
import type { JSONDocNode } from '@atlaskit/editor-json-transformer';
|
|
8
8
|
import type { AnalyticsPlugin } from '@atlaskit/editor-plugin-analytics';
|
|
9
|
+
import type { BlockMenuPlugin } from '@atlaskit/editor-plugin-block-menu/blockMenuPluginType';
|
|
9
10
|
import type { ConnectivityPlugin } from '@atlaskit/editor-plugin-connectivity';
|
|
10
11
|
import type { ContextIdentifierPlugin } from '@atlaskit/editor-plugin-context-identifier';
|
|
11
12
|
import type { ApplyChangeHandler, ContextPanelPlugin } from '@atlaskit/editor-plugin-context-panel';
|
|
@@ -85,7 +86,8 @@ export type ExtensionPluginDependencies = [
|
|
|
85
86
|
OptionalPlugin<ConnectivityPlugin>,
|
|
86
87
|
OptionalPlugin<ToolbarPlugin>,
|
|
87
88
|
OptionalPlugin<MentionsPlugin>,
|
|
88
|
-
OptionalPlugin<CopyButtonPlugin
|
|
89
|
+
OptionalPlugin<CopyButtonPlugin>,
|
|
90
|
+
OptionalPlugin<BlockMenuPlugin>
|
|
89
91
|
];
|
|
90
92
|
export type RegisterExtensionLoadingHandler = (options: {
|
|
91
93
|
extensionType: string;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { BlockTransformExtension } from '@atlaskit/editor-common/block-menu/block-transform-extension';
|
|
2
|
+
import type { ExtensionManifest } from '@atlaskit/editor-common/extensions/extension-manifest';
|
|
3
|
+
export declare const buildExtensionBlockTransforms: (manifests: ExtensionManifest[]) => BlockTransformExtension[];
|
|
@@ -10,7 +10,7 @@ import type { ApplyChangeHandler } from '@atlaskit/editor-plugin-context-panel';
|
|
|
10
10
|
import type { EditorState } from '@atlaskit/editor-prosemirror/state';
|
|
11
11
|
import type { EditorView } from '@atlaskit/editor-prosemirror/view';
|
|
12
12
|
import type { ExtensionPlugin, ExtensionPluginOptions, ExtensionState } from '../extensionPluginType';
|
|
13
|
-
export declare const createExtensionProviderHandler: (view: EditorView) => (name: string, provider?: Promise<ExtensionProvider>) => Promise<void>;
|
|
13
|
+
export declare const createExtensionProviderHandler: (view: EditorView, api?: ExtractInjectionAPI<ExtensionPlugin>) => (name: string, provider?: Promise<ExtensionProvider>) => Promise<void>;
|
|
14
14
|
export declare const handleUpdate: ({ view, prevState, domAtPos, extensionHandlers, applyChange, }: {
|
|
15
15
|
applyChange: ApplyChangeHandler | undefined;
|
|
16
16
|
domAtPos: EditorView['domAtPos'];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-plugin-extension",
|
|
3
|
-
"version": "16.0
|
|
3
|
+
"version": "16.1.0",
|
|
4
4
|
"description": "editor-plugin-extension plugin for @atlaskit/editor-core",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
],
|
|
22
22
|
"atlaskit:src": "src/index.ts",
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@atlaskit/adf-schema": "^56.
|
|
24
|
+
"@atlaskit/adf-schema": "^56.6.0",
|
|
25
25
|
"@atlaskit/adf-utils": "^20.5.0",
|
|
26
26
|
"@atlaskit/analytics-next": "^12.3.0",
|
|
27
27
|
"@atlaskit/avatar": "^26.4.0",
|
|
@@ -31,14 +31,15 @@
|
|
|
31
31
|
"@atlaskit/datetime-picker": "^18.2.0",
|
|
32
32
|
"@atlaskit/editor-json-transformer": "^9.2.0",
|
|
33
33
|
"@atlaskit/editor-plugin-analytics": "^13.0.0",
|
|
34
|
+
"@atlaskit/editor-plugin-block-menu": "^12.1.0",
|
|
34
35
|
"@atlaskit/editor-plugin-connectivity": "^13.0.0",
|
|
35
36
|
"@atlaskit/editor-plugin-context-identifier": "^13.0.0",
|
|
36
37
|
"@atlaskit/editor-plugin-context-panel": "^15.0.0",
|
|
37
38
|
"@atlaskit/editor-plugin-copy-button": "^13.0.0",
|
|
38
39
|
"@atlaskit/editor-plugin-decorations": "^13.0.0",
|
|
39
40
|
"@atlaskit/editor-plugin-feature-flags": "^12.0.0",
|
|
40
|
-
"@atlaskit/editor-plugin-mentions": "^15.
|
|
41
|
-
"@atlaskit/editor-plugin-toolbar": "^10.
|
|
41
|
+
"@atlaskit/editor-plugin-mentions": "^15.1.0",
|
|
42
|
+
"@atlaskit/editor-plugin-toolbar": "^10.1.0",
|
|
42
43
|
"@atlaskit/editor-plugin-width": "^14.0.0",
|
|
43
44
|
"@atlaskit/editor-prosemirror": "^8.0.0",
|
|
44
45
|
"@atlaskit/editor-shared-styles": "^4.0.0",
|
|
@@ -49,6 +50,7 @@
|
|
|
49
50
|
"@atlaskit/icon": "^37.3.0",
|
|
50
51
|
"@atlaskit/link": "^5.0.0",
|
|
51
52
|
"@atlaskit/mention": "^27.12.0",
|
|
53
|
+
"@atlaskit/platform-feature-experiments": "^0.3.0",
|
|
52
54
|
"@atlaskit/platform-feature-flags": "^2.1.0",
|
|
53
55
|
"@atlaskit/primitives": "^22.2.0",
|
|
54
56
|
"@atlaskit/radio": "^9.1.0",
|
|
@@ -59,7 +61,7 @@
|
|
|
59
61
|
"@atlaskit/tabs": "^20.1.0",
|
|
60
62
|
"@atlaskit/textarea": "^9.1.0",
|
|
61
63
|
"@atlaskit/textfield": "^10.0.0",
|
|
62
|
-
"@atlaskit/tmp-editor-statsig": "^
|
|
64
|
+
"@atlaskit/tmp-editor-statsig": "^141.1.0",
|
|
63
65
|
"@atlaskit/toggle": "^17.1.0",
|
|
64
66
|
"@atlaskit/tokens": "^16.3.0",
|
|
65
67
|
"@atlaskit/tooltip": "^24.0.0",
|
|
@@ -73,7 +75,7 @@
|
|
|
73
75
|
"uuid": "^3.1.0"
|
|
74
76
|
},
|
|
75
77
|
"peerDependencies": {
|
|
76
|
-
"@atlaskit/editor-common": "^117.
|
|
78
|
+
"@atlaskit/editor-common": "^117.3.0",
|
|
77
79
|
"react": "^18.2.0 || ^19.2.0",
|
|
78
80
|
"react-intl": "^5.25.1 || ^6.0.0 || ^7.0.0"
|
|
79
81
|
},
|