@atlaskit/editor-common 111.34.1 → 111.35.1
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 +20 -0
- package/dist/cjs/ai-messages/ai-quick-prompt.js +14 -0
- package/dist/cjs/ai-messages/index.js +7 -0
- package/dist/cjs/extensibility/ExtensionComponent.js +6 -5
- package/dist/cjs/extensions/UnknownMacroPlaceholder.compiled.css +28 -0
- package/dist/cjs/extensions/UnknownMacroPlaceholder.js +70 -0
- package/dist/cjs/extensions/extension-fields-helpers.js +34 -133
- package/dist/cjs/extensions/extension-handlers.js +16 -0
- package/dist/cjs/extensions/messages.js +10 -0
- package/dist/cjs/extensions/module-helpers.js +25 -44
- package/dist/cjs/floating-toolbar/DropdownMenuExtensionItems.js +18 -50
- package/dist/cjs/monitoring/error.js +1 -1
- package/dist/cjs/styles/shared/table.js +1 -1
- package/dist/cjs/ui/DropList/index.js +1 -1
- package/dist/es2019/ai-messages/ai-quick-prompt.js +8 -0
- package/dist/es2019/ai-messages/index.js +1 -0
- package/dist/es2019/extensibility/ExtensionComponent.js +6 -5
- package/dist/es2019/extensions/UnknownMacroPlaceholder.compiled.css +28 -0
- package/dist/es2019/extensions/UnknownMacroPlaceholder.js +46 -0
- package/dist/es2019/extensions/extension-fields-helpers.js +9 -11
- package/dist/es2019/extensions/extension-handlers.js +16 -0
- package/dist/es2019/extensions/messages.js +10 -0
- package/dist/es2019/extensions/module-helpers.js +1 -4
- package/dist/es2019/floating-toolbar/DropdownMenuExtensionItems.js +2 -6
- package/dist/es2019/monitoring/error.js +1 -1
- package/dist/es2019/styles/shared/table.js +1 -1
- package/dist/es2019/ui/DropList/index.js +1 -1
- package/dist/esm/ai-messages/ai-quick-prompt.js +8 -0
- package/dist/esm/ai-messages/index.js +1 -0
- package/dist/esm/extensibility/ExtensionComponent.js +6 -5
- package/dist/esm/extensions/UnknownMacroPlaceholder.compiled.css +28 -0
- package/dist/esm/extensions/UnknownMacroPlaceholder.js +61 -0
- package/dist/esm/extensions/extension-fields-helpers.js +31 -132
- package/dist/esm/extensions/extension-handlers.js +16 -0
- package/dist/esm/extensions/messages.js +10 -0
- package/dist/esm/extensions/module-helpers.js +25 -44
- package/dist/esm/floating-toolbar/DropdownMenuExtensionItems.js +18 -50
- package/dist/esm/monitoring/error.js +1 -1
- package/dist/esm/styles/shared/table.js +1 -1
- package/dist/esm/ui/DropList/index.js +1 -1
- package/dist/types/ai-messages/ai-quick-prompt.d.ts +7 -0
- package/dist/types/ai-messages/index.d.ts +1 -0
- package/dist/types/experiences/ExperienceCheckDomMutation.d.ts +2 -2
- package/dist/types/extensions/UnknownMacroPlaceholder.d.ts +7 -0
- package/dist/types/extensions/extension-fields-helpers.d.ts +4 -4
- package/dist/types/extensions/extension-handlers.d.ts +1 -0
- package/dist/types/extensions/messages.d.ts +10 -0
- package/dist/types-ts4.5/ai-messages/ai-quick-prompt.d.ts +7 -0
- package/dist/types-ts4.5/ai-messages/index.d.ts +1 -0
- package/dist/types-ts4.5/experiences/ExperienceCheckDomMutation.d.ts +2 -2
- package/dist/types-ts4.5/extensions/UnknownMacroPlaceholder.d.ts +7 -0
- package/dist/types-ts4.5/extensions/extension-fields-helpers.d.ts +4 -4
- package/dist/types-ts4.5/extensions/extension-handlers.d.ts +1 -0
- package/dist/types-ts4.5/extensions/messages.d.ts +10 -0
- package/package.json +8 -5
|
@@ -1,144 +1,43 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
function getExtensionModuleField(manifest, fieldType, handlerLink) {
|
|
2
|
+
if (!handlerLink.type) {
|
|
3
|
+
throw new Error("Missing type!");
|
|
4
|
+
}
|
|
5
|
+
if (!manifest.modules.fields) {
|
|
6
|
+
throw new Error("No definition of fields for extension type \"".concat(manifest.type, "\" and key \"").concat(manifest.key, "\""));
|
|
7
|
+
}
|
|
8
|
+
if (!manifest.modules.fields[fieldType]) {
|
|
9
|
+
throw new Error("No definition for field type \"".concat(fieldType, "\" on manifest for extension with type \"").concat(manifest.type, "\" and key \"").concat(manifest.key, "\""));
|
|
10
|
+
}
|
|
11
|
+
var type = handlerLink.type;
|
|
12
|
+
// Ignored via go/ees005
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
14
|
+
var handler = manifest.modules.fields[fieldType][type];
|
|
15
|
+
if (!handler) {
|
|
16
|
+
throw new Error("No handler of type \"".concat(type, "\" for extension type \"").concat(manifest.type, "\" and key \"").concat(manifest.key, "\""));
|
|
17
|
+
}
|
|
18
|
+
return handler;
|
|
7
19
|
}
|
|
20
|
+
|
|
8
21
|
/** attempt to get the custom resolver for this field, or throw */
|
|
9
|
-
function
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
13
|
-
while (1) switch (_context.prev = _context.next) {
|
|
14
|
-
case 0:
|
|
15
|
-
if (handlerLink.type) {
|
|
16
|
-
_context.next = 2;
|
|
17
|
-
break;
|
|
18
|
-
}
|
|
19
|
-
throw new Error("Missing type!");
|
|
20
|
-
case 2:
|
|
21
|
-
if (manifest.modules.fields) {
|
|
22
|
-
_context.next = 4;
|
|
23
|
-
break;
|
|
24
|
-
}
|
|
25
|
-
throw new Error("No definition of fields for extension type \"".concat(manifest.type, "\" and key \"").concat(manifest.key, "\""));
|
|
26
|
-
case 4:
|
|
27
|
-
if (manifest.modules.fields[fieldType]) {
|
|
28
|
-
_context.next = 6;
|
|
29
|
-
break;
|
|
30
|
-
}
|
|
31
|
-
throw new Error("No definition for field type \"".concat(fieldType, "\" on manifest for extension with type \"").concat(manifest.type, "\" and key \"").concat(manifest.key, "\""));
|
|
32
|
-
case 6:
|
|
33
|
-
type = handlerLink.type; // Ignored via go/ees005
|
|
34
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
35
|
-
handler = manifest.modules.fields[fieldType][type];
|
|
36
|
-
if (handler) {
|
|
37
|
-
_context.next = 10;
|
|
38
|
-
break;
|
|
39
|
-
}
|
|
40
|
-
throw new Error("No handler of type \"".concat(type, "\" for extension type \"").concat(manifest.type, "\" and key \"").concat(manifest.key, "\""));
|
|
41
|
-
case 10:
|
|
42
|
-
return _context.abrupt("return", handler);
|
|
43
|
-
case 11:
|
|
44
|
-
case "end":
|
|
45
|
-
return _context.stop();
|
|
46
|
-
}
|
|
47
|
-
}, _callee);
|
|
48
|
-
}));
|
|
49
|
-
return _getExtensionModuleField.apply(this, arguments);
|
|
50
|
-
}
|
|
51
|
-
export function getCustomFieldResolver(_x4, _x5) {
|
|
52
|
-
return _getCustomFieldResolver.apply(this, arguments);
|
|
22
|
+
export function getCustomFieldResolver(manifest, handlerLink) {
|
|
23
|
+
var handler = getExtensionModuleField(manifest, 'custom', handlerLink);
|
|
24
|
+
return handler.resolver;
|
|
53
25
|
}
|
|
54
26
|
|
|
55
27
|
/** attempt to get the serializer for this field, or throw */
|
|
56
|
-
function
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
60
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
61
|
-
case 0:
|
|
62
|
-
_context2.next = 2;
|
|
63
|
-
return getExtensionModuleField(manifest, 'custom', handlerLink);
|
|
64
|
-
case 2:
|
|
65
|
-
handler = _context2.sent;
|
|
66
|
-
return _context2.abrupt("return", handler.resolver);
|
|
67
|
-
case 4:
|
|
68
|
-
case "end":
|
|
69
|
-
return _context2.stop();
|
|
70
|
-
}
|
|
71
|
-
}, _callee2);
|
|
72
|
-
}));
|
|
73
|
-
return _getCustomFieldResolver.apply(this, arguments);
|
|
74
|
-
}
|
|
75
|
-
export function getFieldSerializer(_x6, _x7) {
|
|
76
|
-
return _getFieldSerializer.apply(this, arguments);
|
|
28
|
+
export function getFieldSerializer(manifest, handlerLink) {
|
|
29
|
+
var handler = getExtensionModuleField(manifest, 'fieldset', handlerLink);
|
|
30
|
+
return handler.serializer;
|
|
77
31
|
}
|
|
78
32
|
|
|
79
33
|
/** attempt to get the deserializer for this field, or throw */
|
|
80
|
-
function
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
84
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
85
|
-
case 0:
|
|
86
|
-
_context3.next = 2;
|
|
87
|
-
return getExtensionModuleField(manifest, 'fieldset', handlerLink);
|
|
88
|
-
case 2:
|
|
89
|
-
handler = _context3.sent;
|
|
90
|
-
return _context3.abrupt("return", handler.serializer);
|
|
91
|
-
case 4:
|
|
92
|
-
case "end":
|
|
93
|
-
return _context3.stop();
|
|
94
|
-
}
|
|
95
|
-
}, _callee3);
|
|
96
|
-
}));
|
|
97
|
-
return _getFieldSerializer.apply(this, arguments);
|
|
98
|
-
}
|
|
99
|
-
export function getFieldDeserializer(_x8, _x9) {
|
|
100
|
-
return _getFieldDeserializer.apply(this, arguments);
|
|
34
|
+
export function getFieldDeserializer(manifest, handlerLink) {
|
|
35
|
+
var handler = getExtensionModuleField(manifest, 'fieldset', handlerLink);
|
|
36
|
+
return handler.deserializer;
|
|
101
37
|
}
|
|
102
38
|
|
|
103
39
|
/** attempt to get the user field context provider for this field, or throw */
|
|
104
|
-
function
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
return _regeneratorRuntime.wrap(function _callee4$(_context4) {
|
|
108
|
-
while (1) switch (_context4.prev = _context4.next) {
|
|
109
|
-
case 0:
|
|
110
|
-
_context4.next = 2;
|
|
111
|
-
return getExtensionModuleField(manifest, 'fieldset', handlerLink);
|
|
112
|
-
case 2:
|
|
113
|
-
handler = _context4.sent;
|
|
114
|
-
return _context4.abrupt("return", handler.deserializer);
|
|
115
|
-
case 4:
|
|
116
|
-
case "end":
|
|
117
|
-
return _context4.stop();
|
|
118
|
-
}
|
|
119
|
-
}, _callee4);
|
|
120
|
-
}));
|
|
121
|
-
return _getFieldDeserializer.apply(this, arguments);
|
|
122
|
-
}
|
|
123
|
-
export function getUserFieldContextProvider(_x0, _x1) {
|
|
124
|
-
return _getUserFieldContextProvider.apply(this, arguments);
|
|
125
|
-
}
|
|
126
|
-
function _getUserFieldContextProvider() {
|
|
127
|
-
_getUserFieldContextProvider = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee5(manifest, handlerLink) {
|
|
128
|
-
var handler;
|
|
129
|
-
return _regeneratorRuntime.wrap(function _callee5$(_context5) {
|
|
130
|
-
while (1) switch (_context5.prev = _context5.next) {
|
|
131
|
-
case 0:
|
|
132
|
-
_context5.next = 2;
|
|
133
|
-
return getExtensionModuleField(manifest, 'user', handlerLink);
|
|
134
|
-
case 2:
|
|
135
|
-
handler = _context5.sent;
|
|
136
|
-
return _context5.abrupt("return", handler.provider);
|
|
137
|
-
case 4:
|
|
138
|
-
case "end":
|
|
139
|
-
return _context5.stop();
|
|
140
|
-
}
|
|
141
|
-
}, _callee5);
|
|
142
|
-
}));
|
|
143
|
-
return _getUserFieldContextProvider.apply(this, arguments);
|
|
40
|
+
export function getUserFieldContextProvider(manifest, handlerLink) {
|
|
41
|
+
var handler = getExtensionModuleField(manifest, 'user', handlerLink);
|
|
42
|
+
return handler.provider;
|
|
144
43
|
}
|
|
@@ -4,8 +4,10 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
|
4
4
|
import React from 'react';
|
|
5
5
|
import { useIntl } from 'react-intl-next';
|
|
6
6
|
import Loadable from 'react-loadable';
|
|
7
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
7
8
|
import { getExtensionKeyAndNodeKey, resolveImport, resolveImportSync } from './manifest-helpers';
|
|
8
9
|
import { messages } from './messages';
|
|
10
|
+
import { UnknownMacroPlaceholder } from './UnknownMacroPlaceholder';
|
|
9
11
|
function getNodeFromManifest(
|
|
10
12
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
11
13
|
manifest, extKey, nodeKey, extensionType, extensionKey) {
|
|
@@ -100,11 +102,21 @@ function _getExtensionModuleNodePrivateProps() {
|
|
|
100
102
|
}));
|
|
101
103
|
return _getExtensionModuleNodePrivateProps.apply(this, arguments);
|
|
102
104
|
}
|
|
105
|
+
function isUnknownConfluenceMacroWithBody(extensionNode) {
|
|
106
|
+
var _extensionNode$parame;
|
|
107
|
+
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);
|
|
108
|
+
}
|
|
103
109
|
function ExtensionLoading(props) {
|
|
104
110
|
var intl = useIntl();
|
|
111
|
+
var extensionNode = props.node;
|
|
105
112
|
if (props.error || props.timedOut) {
|
|
106
113
|
// eslint-disable-next-line no-console
|
|
107
114
|
console.error('Error rendering extension', props.error);
|
|
115
|
+
if (props.error && props.showUnknownMacroPlaceholder && extensionNode && isUnknownConfluenceMacroWithBody(extensionNode) && fg('tinymce_display_unknown_macro_body_content')) {
|
|
116
|
+
return /*#__PURE__*/React.createElement(UnknownMacroPlaceholder, {
|
|
117
|
+
extensionNode: extensionNode
|
|
118
|
+
});
|
|
119
|
+
}
|
|
108
120
|
return /*#__PURE__*/React.createElement("div", null, intl.formatMessage(messages.extensionLoadingError));
|
|
109
121
|
} else {
|
|
110
122
|
return null;
|
|
@@ -128,6 +140,10 @@ export function getNodeRenderer(extensionProvider, extensionType, extensionKey)
|
|
|
128
140
|
resolveImportSync(preloaded) : resolveImport(maybePromise.render());
|
|
129
141
|
}
|
|
130
142
|
},
|
|
143
|
+
// react-loadable passes all props from <NodeRenderer> to the loading component at runtime,
|
|
144
|
+
// but its TypeScript types only expect LoadingComponentProps. We cast here because
|
|
145
|
+
// ExtensionLoading accepts additional props (node, showUnknownMacroPlaceholder) that
|
|
146
|
+
// react-loadable will pass through but doesn't know about in its type definitions.
|
|
131
147
|
loading: ExtensionLoading
|
|
132
148
|
});
|
|
133
149
|
}
|
|
@@ -44,6 +44,16 @@ export var messages = defineMessages({
|
|
|
44
44
|
id: 'fabric.editor.extension.loading-error',
|
|
45
45
|
defaultMessage: 'Error loading the extension!',
|
|
46
46
|
description: 'Error message displayed when an extension fails to load in the editor. Indicates a problem occurred during the extension initialization or rendering process.'
|
|
47
|
+
},
|
|
48
|
+
unknownMacroPlaceholderAriaLabel: {
|
|
49
|
+
id: 'fabric.editor.extension.unknownMacroPlaceholderAriaLabel',
|
|
50
|
+
defaultMessage: 'Unknown macro placeholder',
|
|
51
|
+
description: 'Accessible label for the unknown macro fallback block shown when a Confluence macro cannot be resolved.'
|
|
52
|
+
},
|
|
53
|
+
unknownMacroHeader: {
|
|
54
|
+
id: 'fabric.editor.extension.unknownMacroHeader',
|
|
55
|
+
defaultMessage: "Unknown macro: ''{macroTitle}''",
|
|
56
|
+
description: 'Header text for an unresolved Confluence macro placeholder.'
|
|
47
57
|
}
|
|
48
58
|
});
|
|
49
59
|
export var configPanelMessages = defineMessages({
|
|
@@ -61,46 +61,27 @@ export function getAutoConvertPatternsFromModule(_x) {
|
|
|
61
61
|
return _getAutoConvertPatternsFromModule.apply(this, arguments);
|
|
62
62
|
}
|
|
63
63
|
function _getAutoConvertPatternsFromModule() {
|
|
64
|
-
_getAutoConvertPatternsFromModule = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function
|
|
65
|
-
var
|
|
64
|
+
_getAutoConvertPatternsFromModule = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(extensions) {
|
|
65
|
+
var _ref2;
|
|
66
66
|
var items;
|
|
67
|
-
return _regeneratorRuntime.wrap(function
|
|
68
|
-
while (1) switch (
|
|
67
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
68
|
+
while (1) switch (_context.prev = _context.next) {
|
|
69
69
|
case 0:
|
|
70
|
-
|
|
71
|
-
return Promise.all(
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
while (1) switch (_context.prev = _context.next) {
|
|
78
|
-
case 0:
|
|
79
|
-
if (!(manifest.modules.autoConvert && manifest.modules.autoConvert.url)) {
|
|
80
|
-
_context.next = 2;
|
|
81
|
-
break;
|
|
82
|
-
}
|
|
83
|
-
return _context.abrupt("return", manifest.modules.autoConvert.url);
|
|
84
|
-
case 2:
|
|
85
|
-
return _context.abrupt("return", []);
|
|
86
|
-
case 3:
|
|
87
|
-
case "end":
|
|
88
|
-
return _context.stop();
|
|
89
|
-
}
|
|
90
|
-
}, _callee);
|
|
91
|
-
}));
|
|
92
|
-
return function (_x3) {
|
|
93
|
-
return _ref2.apply(this, arguments);
|
|
94
|
-
};
|
|
95
|
-
}()));
|
|
70
|
+
_context.next = 2;
|
|
71
|
+
return Promise.all(extensions.map(function (manifest) {
|
|
72
|
+
if (manifest.modules.autoConvert && manifest.modules.autoConvert.url) {
|
|
73
|
+
return manifest.modules.autoConvert.url;
|
|
74
|
+
}
|
|
75
|
+
return [];
|
|
76
|
+
}));
|
|
96
77
|
case 2:
|
|
97
|
-
items =
|
|
98
|
-
return
|
|
78
|
+
items = _context.sent;
|
|
79
|
+
return _context.abrupt("return", (_ref2 = []).concat.apply(_ref2, _toConsumableArray(items)));
|
|
99
80
|
case 4:
|
|
100
81
|
case "end":
|
|
101
|
-
return
|
|
82
|
+
return _context.stop();
|
|
102
83
|
}
|
|
103
|
-
},
|
|
84
|
+
}, _callee);
|
|
104
85
|
}));
|
|
105
86
|
return _getAutoConvertPatternsFromModule.apply(this, arguments);
|
|
106
87
|
}
|
|
@@ -130,25 +111,25 @@ export function getExtensionAutoConvertersFromProvider(_x2) {
|
|
|
130
111
|
// Ignored via go/ees005
|
|
131
112
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
132
113
|
function _getExtensionAutoConvertersFromProvider() {
|
|
133
|
-
_getExtensionAutoConvertersFromProvider = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function
|
|
114
|
+
_getExtensionAutoConvertersFromProvider = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(extensionProviderPromise) {
|
|
134
115
|
var extensionProvider, extensionAutoConverters;
|
|
135
|
-
return _regeneratorRuntime.wrap(function
|
|
136
|
-
while (1) switch (
|
|
116
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
117
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
137
118
|
case 0:
|
|
138
|
-
|
|
119
|
+
_context2.next = 2;
|
|
139
120
|
return extensionProviderPromise;
|
|
140
121
|
case 2:
|
|
141
|
-
extensionProvider =
|
|
142
|
-
|
|
122
|
+
extensionProvider = _context2.sent;
|
|
123
|
+
_context2.next = 5;
|
|
143
124
|
return extensionProvider.getAutoConverter();
|
|
144
125
|
case 5:
|
|
145
|
-
extensionAutoConverters =
|
|
146
|
-
return
|
|
126
|
+
extensionAutoConverters = _context2.sent;
|
|
127
|
+
return _context2.abrupt("return", createAutoConverterRunner(extensionAutoConverters));
|
|
147
128
|
case 7:
|
|
148
129
|
case "end":
|
|
149
|
-
return
|
|
130
|
+
return _context2.stop();
|
|
150
131
|
}
|
|
151
|
-
},
|
|
132
|
+
}, _callee2);
|
|
152
133
|
}));
|
|
153
134
|
return _getExtensionAutoConvertersFromProvider.apply(this, arguments);
|
|
154
135
|
}
|
|
@@ -51,25 +51,9 @@ var convertExtensionToDropdownMenuItem = function convertExtensionToDropdownMenu
|
|
|
51
51
|
extension = _ref2.extension,
|
|
52
52
|
IconComponent = _ref2.IconComponent;
|
|
53
53
|
var ButtonIcon = item.icon ? Loadable({
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
var _loader = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
58
|
-
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
59
|
-
while (1) switch (_context2.prev = _context2.next) {
|
|
60
|
-
case 0:
|
|
61
|
-
return _context2.abrupt("return", resolveExtensionIcon(item.icon));
|
|
62
|
-
case 1:
|
|
63
|
-
case "end":
|
|
64
|
-
return _context2.stop();
|
|
65
|
-
}
|
|
66
|
-
}, _callee2);
|
|
67
|
-
}));
|
|
68
|
-
function loader() {
|
|
69
|
-
return _loader.apply(this, arguments);
|
|
70
|
-
}
|
|
71
|
-
return loader;
|
|
72
|
-
}(),
|
|
54
|
+
loader: function loader() {
|
|
55
|
+
return resolveExtensionIcon(item.icon);
|
|
56
|
+
},
|
|
73
57
|
loading: noop
|
|
74
58
|
}) : undefined;
|
|
75
59
|
var title = '';
|
|
@@ -118,25 +102,9 @@ var DropdownMenuExtensionItem = function DropdownMenuExtensionItem(_ref3) {
|
|
|
118
102
|
var iconRef = useRef(null);
|
|
119
103
|
if (!iconRef.current && item.icon && expValEquals('platform_editor_table_toolbar_icon_ext_fix_exp', 'isEnabled', true)) {
|
|
120
104
|
iconRef.current = Loadable({
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
var _loader2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3() {
|
|
125
|
-
return _regeneratorRuntime.wrap(function _callee3$(_context3) {
|
|
126
|
-
while (1) switch (_context3.prev = _context3.next) {
|
|
127
|
-
case 0:
|
|
128
|
-
return _context3.abrupt("return", resolveExtensionIcon(item.icon));
|
|
129
|
-
case 1:
|
|
130
|
-
case "end":
|
|
131
|
-
return _context3.stop();
|
|
132
|
-
}
|
|
133
|
-
}, _callee3);
|
|
134
|
-
}));
|
|
135
|
-
function loader() {
|
|
136
|
-
return _loader2.apply(this, arguments);
|
|
137
|
-
}
|
|
138
|
-
return loader;
|
|
139
|
-
}(),
|
|
105
|
+
loader: function loader() {
|
|
106
|
+
return resolveExtensionIcon(item.icon);
|
|
107
|
+
},
|
|
140
108
|
loading: noop
|
|
141
109
|
});
|
|
142
110
|
}
|
|
@@ -181,30 +149,30 @@ export var DropdownMenuExtensionItems = function DropdownMenuExtensionItems(prop
|
|
|
181
149
|
return _getExtensions.apply(this, arguments);
|
|
182
150
|
}
|
|
183
151
|
function _getExtensions() {
|
|
184
|
-
_getExtensions = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function
|
|
152
|
+
_getExtensions = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
185
153
|
var provider;
|
|
186
|
-
return _regeneratorRuntime.wrap(function
|
|
187
|
-
while (1) switch (
|
|
154
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
155
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
188
156
|
case 0:
|
|
189
|
-
|
|
157
|
+
_context2.next = 2;
|
|
190
158
|
return extension.extensionProvider;
|
|
191
159
|
case 2:
|
|
192
|
-
provider =
|
|
160
|
+
provider = _context2.sent;
|
|
193
161
|
if (!provider) {
|
|
194
|
-
|
|
162
|
+
_context2.next = 9;
|
|
195
163
|
break;
|
|
196
164
|
}
|
|
197
|
-
|
|
198
|
-
|
|
165
|
+
_context2.t0 = setExtensions;
|
|
166
|
+
_context2.next = 7;
|
|
199
167
|
return provider.getExtensions();
|
|
200
168
|
case 7:
|
|
201
|
-
|
|
202
|
-
(0,
|
|
169
|
+
_context2.t1 = _context2.sent;
|
|
170
|
+
(0, _context2.t0)(_context2.t1);
|
|
203
171
|
case 9:
|
|
204
172
|
case "end":
|
|
205
|
-
return
|
|
173
|
+
return _context2.stop();
|
|
206
174
|
}
|
|
207
|
-
},
|
|
175
|
+
}, _callee2);
|
|
208
176
|
}));
|
|
209
177
|
return _getExtensions.apply(this, arguments);
|
|
210
178
|
}
|
|
@@ -10,7 +10,7 @@ import { isFedRamp } from './environment';
|
|
|
10
10
|
import { normaliseSentryBreadcrumbs, SERIALIZABLE_ATTRIBUTES } from './normalise-sentry-breadcrumbs';
|
|
11
11
|
var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
|
|
12
12
|
var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
|
|
13
|
-
var packageVersion = "
|
|
13
|
+
var packageVersion = "0.0.0-development";
|
|
14
14
|
var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
|
|
15
15
|
// Remove URL as it has UGC
|
|
16
16
|
// Ignored via go/ees007
|
|
@@ -58,7 +58,7 @@ var firstNodeWithNotMarginTop = function firstNodeWithNotMarginTop() {
|
|
|
58
58
|
var tableSharedStyle = function tableSharedStyle() {
|
|
59
59
|
var browser = expValEquals('platform_editor_hydratable_ui', 'isEnabled', true) ? getBrowserInfo() : browserLegacy;
|
|
60
60
|
// eslint-disable-next-line @atlaskit/design-system/no-css-tagged-template-expression -- Appears safe to auto-fix, but leaving it up to the team to remediate as the readability only gets worse with autofixing
|
|
61
|
-
return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n\t\t", "\n\t\t.", " {\n\t\t\tposition: relative;\n\t\t\tmargin: 0 auto ", ";\n\t\t\tbox-sizing: border-box;\n\n\t\t\t/**\n * Fix block top alignment inside table cells.\n */\n\t\t\t.decisionItemView-content-wrap:first-of-type > div {\n\t\t\t\tmargin-top: 0;\n\t\t\t}\n\t\t\t.", ",\n\t\t\t\t.", " {\n\t\t\t\tdisplay: block;\n\t\t\t\twidth: 1px;\n\t\t\t\theight: calc(100% - ", ");\n\t\t\t\tbackground: ", ";\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: ", ";\n\t\t\t}\n\t\t\t.", " {\n\t\t\t\tright: 0;\n\t\t\t}\n\t\t\t.", " {\n\t\t\t\tleft: 0;\n\t\t\t}\n\t\t\t.", "[data-with-numbered-table='true'] {\n\t\t\t\tleft: ", "px;\n\t\t\t}\n\t\t}\n\t\t.", "[data-number-column='true'] {\n\t\t\tpadding-left: ", "px;\n\t\t\tclear: both;\n\t\t}\n\n\t\t.", " {\n\t\t\twill-change: width, margin-left;\n\t\t}\n\n\t\t.", " table {\n\t\t\twill-change: width;\n\t\t}\n\n\t\t.", " > table {\n\t\t\tmargin: ", " 0 0 0;\n\t\t}\n\n\t\t.", " > table,\n\t\t.", " > table {\n\t\t\tmargin: ", " ", " 0 0;\n\t\t}\n\n\t\t/* support panel nested in table */\n\t\t", "\n\
|
|
61
|
+
return css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n\t\t", "\n\t\t.", " {\n\t\t\tposition: relative;\n\t\t\tmargin: 0 auto ", ";\n\t\t\tbox-sizing: border-box;\n\n\t\t\t/**\n * Fix block top alignment inside table cells.\n */\n\t\t\t.decisionItemView-content-wrap:first-of-type > div {\n\t\t\t\tmargin-top: 0;\n\t\t\t}\n\t\t\t.", ",\n\t\t\t\t.", " {\n\t\t\t\tdisplay: block;\n\t\t\t\twidth: 1px;\n\t\t\t\theight: calc(100% - ", ");\n\t\t\t\tbackground: ", ";\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: ", ";\n\t\t\t}\n\t\t\t.", " {\n\t\t\t\tright: 0;\n\t\t\t}\n\t\t\t.", " {\n\t\t\t\tleft: 0;\n\t\t\t}\n\t\t\t.", "[data-with-numbered-table='true'] {\n\t\t\t\tleft: ", "px;\n\t\t\t}\n\t\t}\n\t\t.", "[data-number-column='true'] {\n\t\t\tpadding-left: ", "px;\n\t\t\tclear: both;\n\t\t}\n\n\t\t.", " {\n\t\t\twill-change: width, margin-left;\n\t\t}\n\n\t\t.", " table {\n\t\t\twill-change: width;\n\t\t}\n\n\t\t.", " > table {\n\t\t\tmargin: ", " 0 0 0;\n\t\t}\n\n\t\t.", " > table,\n\t\t.", " > table {\n\t\t\tmargin: ", " ", " 0 0;\n\t\t}\n\n\t\t/* support panel nested in table */\n\t\t", "\n\n\t\t/* avoid applying styles to nested tables (possible via extensions) */\n\t.", " > table,\n\t.", " > table,\n\t.", " > table {\n\t\t\tborder-collapse: collapse;\n\t\t\tborder: ", "px solid\n\t\t\t\t", ";\n\t\t\tborder-left-color: transparent;\n\t\t\tborder-right-color: transparent;\n\t\t\ttable-layout: fixed;\n\t\t\tfont-size: 1em;\n\t\t\twidth: 100%;\n\n\t\t\t&[data-autosize='true'] {\n\t\t\t\ttable-layout: auto;\n\t\t\t}\n\n\t\t\t& {\n\t\t\t\t* {\n\t\t\t\t\tbox-sizing: border-box;\n\t\t\t\t}\n\t\t\t\thr {\n\t\t\t\t\tbox-sizing: content-box;\n\t\t\t\t}\n\n\t\t\t\ttbody {\n\t\t\t\t\tborder-bottom: none;\n\t\t\t\t}\n\t\t\t\tth td {\n\t\t\t\t\tbackground-color: ", ";\n\t\t\t\t}\n\n\t\t\t\t> tbody > tr > th,\n\t\t\t\t> tbody > tr > td {\n\t\t\t\t\tmin-width: ", "px;\n\t\t\t\t\tfont-weight: ", ";\n\t\t\t\t\tvertical-align: top;\n\t\t\t\t\tborder: 1px solid ", ";\n\t\t\t\t\tborder-right-width: 0;\n\t\t\t\t\tborder-bottom-width: 0;\n\n\t\t\t\t\tpadding: ", ";\n\t\t\t\t\t/* https://stackoverflow.com/questions/7517127/borders-not-shown-in-firefox-with-border-collapse-on-table-position-relative-o */\n\t\t\t\t\t", "\n\n\t\t\t\t\t", "\n\n\t\t\t\tth p:not(:first-of-type),\n\t\t\t\ttd p:not(:first-of-type) {\n\t\t\t\t\t\tmargin-top: ", ";\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t/* Ensures nested tables are compatible with parent table background color - uses specificity to ensure tables nested by extensions are not affected */\n\t\t\t\t> tbody > tr > td {\n\t\t\t\t\tbackground-color: ", ";\n\t\t\t\t}\n\n\t\t\t\tth {\n\t\t\t\t\tbackground-color: ", ";\n\t\t\t\t\ttext-align: left;\n\n\t\t\t\t\t/* only apply this styling to codeblocks in default background headercells */\n\t\t\t\t\t/* TODO this needs to be overhauled as it relies on unsafe selectors */\n\t\t\t\t\t", " {\n\t\t\t\t\t\t.", ":not(.danger) {\n\t\t\t\t\t\t\tbackground-color: ", ";\n\n\t\t\t\t\t\t\t:not(.", ") {\n\t\t\t\t\t\t\t\tbox-shadow: 0px 0px 0px 1px ", ";\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.", " {\n\t\t\t\t\t\t\t\tbackground-image: ", ";\n\n\t\t\t\t\t\t\t\tbackground-color: ", ";\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t.", " {\n\t\t\t\t\t\t\t\tbackground-color: ", ";\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t/* this is only relevant to the element taken care of by renderer */\n\t\t\t\t\t\t\t> [data-ds--code--code-block] {\n\t\t\t\t\t\t\t\tbackground-image: ", "!important;\n\n\t\t\t\t\t\t\t\tbackground-color: ", "!important;\n\n\t\t\t\t\t\t\t\t/* selector lives inside @atlaskit/code */\n\t\t\t\t\t\t\t\t--ds--code--line-number-bg-color: ", ";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t"])), tableCellBackgroundStyleOverride(), TableSharedCssClassName.TABLE_CONTAINER, "var(--ds-space-200, 16px)", TableSharedCssClassName.TABLE_RIGHT_BORDER, TableSharedCssClassName.TABLE_LEFT_BORDER, "var(--ds-space-300, 24px)", "var(--ds-background-accent-gray-subtler, ".concat(akEditorTableBorder, ")"), "var(--ds-space-300, 24px)", TableSharedCssClassName.TABLE_RIGHT_BORDER, TableSharedCssClassName.TABLE_LEFT_BORDER, TableSharedCssClassName.TABLE_LEFT_BORDER, akEditorTableNumberColumnWidth - 1, TableSharedCssClassName.TABLE_CONTAINER, akEditorTableNumberColumnWidth - 1, TableSharedCssClassName.TABLE_RESIZER_CONTAINER, TableSharedCssClassName.TABLE_RESIZER_CONTAINER, TableSharedCssClassName.TABLE_NODE_WRAPPER, "var(--ds-space-300, 24px)", TableSharedCssClassName.TABLE_CONTAINER, TableSharedCssClassName.TABLE_STICKY_WRAPPER, "var(--ds-space-300, 24px)", "var(--ds-space-100, 8px)", fg('platform_editor_bordered_panel_nested_in_table') ? ".".concat(TableSharedCssClassName.TABLE_NODE_WRAPPER, " .ak-editor-panel {\n\t\t\tborder: ", "var(--ds-border-width, 1px)", " solid ", "var(--ds-border, #d9dbea)", ";\n\t\t}") : '', TableSharedCssClassName.TABLE_CONTAINER, TableSharedCssClassName.TABLE_NODE_WRAPPER, TableSharedCssClassName.TABLE_STICKY_WRAPPER, tableCellBorderWidth, "var(--ds-background-accent-gray-subtler, ".concat(akEditorTableBorder, ")"), "var(--ds-background-neutral-subtle, white)", tableCellMinWidth, "var(--ds-font-weight-regular, 400)", "var(--ds-background-accent-gray-subtler, ".concat(akEditorTableBorder, ")"), "var(--ds-space-100, 8px)", browser.gecko || browser.ie || browser.mac && browser.chrome ? 'background-clip: padding-box;' : '', firstNodeWithNotMarginTop(), "var(--ds-space-150, 12px)", "var(--ds-surface, #FFFFFF)", "var(--ds-background-accent-gray-subtlest, ".concat(akEditorTableToolbar, ")"), expValEquals('platform_editor_native_anchor_with_dnd', 'isEnabled', true) ? '&:not(.danger)' : '&:not([style]):not(.danger)', CodeBlockSharedCssClassName.CODEBLOCK_CONTAINER, "var(--ds-surface-raised, rgb(235, 237, 240))", akEditorSelectedNodeClassName, "var(--ds-border, transparent)", CodeBlockSharedCssClassName.CODEBLOCK_CONTENT_WRAPPER, overflowShadow({
|
|
62
62
|
leftCoverWidth: "var(--ds-space-300, 24px)"
|
|
63
63
|
}), "var(--ds-background-neutral, rgb(235, 237, 240))", CodeBlockSharedCssClassName.CODEBLOCK_LINE_NUMBER_GUTTER, "var(--ds-background-neutral, rgb(226, 229, 233))", overflowShadow({
|
|
64
64
|
leftCoverWidth: "var(--ds-space-300, 24px)"
|
|
@@ -21,7 +21,7 @@ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
|
|
|
21
21
|
import { fg } from '@atlaskit/platform-feature-flags';
|
|
22
22
|
import Layer from '../Layer';
|
|
23
23
|
var packageName = "@atlaskit/editor-common";
|
|
24
|
-
var packageVersion = "
|
|
24
|
+
var packageVersion = "0.0.0-development";
|
|
25
25
|
var halfFocusRing = 1;
|
|
26
26
|
var dropOffset = '0, 8';
|
|
27
27
|
var fadeIn = keyframes({
|
|
@@ -7,4 +7,5 @@ export { aiProactiveMessages } from './ai-proactive';
|
|
|
7
7
|
export { aiMessages } from './ai';
|
|
8
8
|
export { aiProactiveSettingMessages } from './ai-proactive-setting';
|
|
9
9
|
export { aiProactiveTransformMessages } from './ai-proactive-transform';
|
|
10
|
+
export { aiQuickPromptMessages } from './ai-quick-prompt';
|
|
10
11
|
export { aiSuggestionsMessages } from './ai-suggestions';
|
|
@@ -44,8 +44,8 @@ export type ExperienceCheckDomMutationConfig = {
|
|
|
44
44
|
* !!IMPORTANT!!
|
|
45
45
|
* Return null if the target element cannot be found.
|
|
46
46
|
* This will immediately fail the experience with experienceFailureReason 'domMutationTargetNotFound'.
|
|
47
|
-
|
|
48
|
-
observeConfig: () =>
|
|
47
|
+
*/
|
|
48
|
+
observeConfig: () => ExperienceCheckDomMutationObserveConfig | ExperienceCheckDomMutationObserveConfig[] | null;
|
|
49
49
|
/**
|
|
50
50
|
* Callback invoked when DOM mutations are detected
|
|
51
51
|
*
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ExtensionParams } from './types/extension-handler';
|
|
2
|
+
import type { Parameters } from './types/extension-parameters';
|
|
3
|
+
interface UnknownMacroPlaceholderProps {
|
|
4
|
+
extensionNode: ExtensionParams<Parameters>;
|
|
5
|
+
}
|
|
6
|
+
export declare function UnknownMacroPlaceholder({ extensionNode }: UnknownMacroPlaceholderProps): JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { type CustomFieldResolver, type Deserializer, type ExtensionManifest, type Serializer, type UserFieldContextProvider } from './types/extension-manifest';
|
|
2
2
|
import { type FieldHandlerLink } from './types/field-definitions';
|
|
3
3
|
/** attempt to get the custom resolver for this field, or throw */
|
|
4
|
-
export declare function getCustomFieldResolver(manifest: ExtensionManifest, handlerLink: FieldHandlerLink):
|
|
4
|
+
export declare function getCustomFieldResolver(manifest: ExtensionManifest, handlerLink: FieldHandlerLink): CustomFieldResolver;
|
|
5
5
|
/** attempt to get the serializer for this field, or throw */
|
|
6
|
-
export declare function getFieldSerializer(manifest: ExtensionManifest, handlerLink: FieldHandlerLink):
|
|
6
|
+
export declare function getFieldSerializer(manifest: ExtensionManifest, handlerLink: FieldHandlerLink): Serializer | undefined;
|
|
7
7
|
/** attempt to get the deserializer for this field, or throw */
|
|
8
|
-
export declare function getFieldDeserializer(manifest: ExtensionManifest, handlerLink: FieldHandlerLink):
|
|
8
|
+
export declare function getFieldDeserializer(manifest: ExtensionManifest, handlerLink: FieldHandlerLink): Deserializer | undefined;
|
|
9
9
|
/** attempt to get the user field context provider for this field, or throw */
|
|
10
|
-
export declare function getUserFieldContextProvider(manifest: ExtensionManifest, handlerLink: FieldHandlerLink):
|
|
10
|
+
export declare function getUserFieldContextProvider(manifest: ExtensionManifest, handlerLink: FieldHandlerLink): UserFieldContextProvider;
|
|
@@ -44,6 +44,16 @@ export declare const messages: {
|
|
|
44
44
|
defaultMessage: string;
|
|
45
45
|
description: string;
|
|
46
46
|
};
|
|
47
|
+
unknownMacroPlaceholderAriaLabel: {
|
|
48
|
+
id: string;
|
|
49
|
+
defaultMessage: string;
|
|
50
|
+
description: string;
|
|
51
|
+
};
|
|
52
|
+
unknownMacroHeader: {
|
|
53
|
+
id: string;
|
|
54
|
+
defaultMessage: string;
|
|
55
|
+
description: string;
|
|
56
|
+
};
|
|
47
57
|
};
|
|
48
58
|
export declare const configPanelMessages: {
|
|
49
59
|
configFailedToLoad: {
|
|
@@ -7,4 +7,5 @@ export { aiProactiveMessages } from './ai-proactive';
|
|
|
7
7
|
export { aiMessages } from './ai';
|
|
8
8
|
export { aiProactiveSettingMessages } from './ai-proactive-setting';
|
|
9
9
|
export { aiProactiveTransformMessages } from './ai-proactive-transform';
|
|
10
|
+
export { aiQuickPromptMessages } from './ai-quick-prompt';
|
|
10
11
|
export { aiSuggestionsMessages } from './ai-suggestions';
|
|
@@ -44,8 +44,8 @@ export type ExperienceCheckDomMutationConfig = {
|
|
|
44
44
|
* !!IMPORTANT!!
|
|
45
45
|
* Return null if the target element cannot be found.
|
|
46
46
|
* This will immediately fail the experience with experienceFailureReason 'domMutationTargetNotFound'.
|
|
47
|
-
|
|
48
|
-
observeConfig: () =>
|
|
47
|
+
*/
|
|
48
|
+
observeConfig: () => ExperienceCheckDomMutationObserveConfig | ExperienceCheckDomMutationObserveConfig[] | null;
|
|
49
49
|
/**
|
|
50
50
|
* Callback invoked when DOM mutations are detected
|
|
51
51
|
*
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ExtensionParams } from './types/extension-handler';
|
|
2
|
+
import type { Parameters } from './types/extension-parameters';
|
|
3
|
+
interface UnknownMacroPlaceholderProps {
|
|
4
|
+
extensionNode: ExtensionParams<Parameters>;
|
|
5
|
+
}
|
|
6
|
+
export declare function UnknownMacroPlaceholder({ extensionNode }: UnknownMacroPlaceholderProps): JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { type CustomFieldResolver, type Deserializer, type ExtensionManifest, type Serializer, type UserFieldContextProvider } from './types/extension-manifest';
|
|
2
2
|
import { type FieldHandlerLink } from './types/field-definitions';
|
|
3
3
|
/** attempt to get the custom resolver for this field, or throw */
|
|
4
|
-
export declare function getCustomFieldResolver(manifest: ExtensionManifest, handlerLink: FieldHandlerLink):
|
|
4
|
+
export declare function getCustomFieldResolver(manifest: ExtensionManifest, handlerLink: FieldHandlerLink): CustomFieldResolver;
|
|
5
5
|
/** attempt to get the serializer for this field, or throw */
|
|
6
|
-
export declare function getFieldSerializer(manifest: ExtensionManifest, handlerLink: FieldHandlerLink):
|
|
6
|
+
export declare function getFieldSerializer(manifest: ExtensionManifest, handlerLink: FieldHandlerLink): Serializer | undefined;
|
|
7
7
|
/** attempt to get the deserializer for this field, or throw */
|
|
8
|
-
export declare function getFieldDeserializer(manifest: ExtensionManifest, handlerLink: FieldHandlerLink):
|
|
8
|
+
export declare function getFieldDeserializer(manifest: ExtensionManifest, handlerLink: FieldHandlerLink): Deserializer | undefined;
|
|
9
9
|
/** attempt to get the user field context provider for this field, or throw */
|
|
10
|
-
export declare function getUserFieldContextProvider(manifest: ExtensionManifest, handlerLink: FieldHandlerLink):
|
|
10
|
+
export declare function getUserFieldContextProvider(manifest: ExtensionManifest, handlerLink: FieldHandlerLink): UserFieldContextProvider;
|