@atlaskit/editor-common 76.34.0 → 76.36.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 +53 -1
- package/dist/cjs/collab/index.js +27 -2
- package/dist/cjs/core-utils/document-logger.js +171 -0
- package/dist/cjs/core-utils/index.js +8 -1
- package/dist/cjs/extensibility/Extension/Extension/index.js +151 -0
- package/dist/cjs/extensibility/Extension/Extension/styles.js +17 -0
- package/dist/cjs/extensibility/Extension/InlineExtension/index.js +50 -0
- package/dist/cjs/extensibility/Extension/InlineExtension/styles.js +12 -0
- package/dist/cjs/extensibility/Extension/Lozenge.js +95 -0
- package/dist/cjs/extensibility/Extension/styles.js +30 -0
- package/dist/cjs/extensibility/Extension.js +79 -0
- package/dist/cjs/extensibility/ExtensionComponent.js +252 -0
- package/dist/cjs/extensibility/ExtensionNodeWrapper.js +21 -0
- package/dist/cjs/extensibility/MultiBodiedExtension/index.js +264 -0
- package/dist/cjs/extensibility/extensionNodeView.js +91 -0
- package/dist/cjs/extensibility/index.js +42 -0
- package/dist/cjs/extensibility/types.js +5 -0
- package/dist/cjs/i18n/cs.js +5 -2
- package/dist/cjs/i18n/da.js +5 -2
- package/dist/cjs/i18n/de.js +5 -2
- package/dist/cjs/i18n/en.js +7 -1
- package/dist/cjs/i18n/en_GB.js +8 -2
- package/dist/cjs/i18n/en_ZZ.js +8 -2
- package/dist/cjs/i18n/es.js +5 -2
- package/dist/cjs/i18n/fi.js +5 -2
- package/dist/cjs/i18n/fr.js +5 -2
- package/dist/cjs/i18n/hu.js +5 -2
- package/dist/cjs/i18n/it.js +5 -2
- package/dist/cjs/i18n/ja.js +1 -2
- package/dist/cjs/i18n/ko.js +5 -2
- package/dist/cjs/i18n/nb.js +1 -2
- package/dist/cjs/i18n/nl.js +5 -2
- package/dist/cjs/i18n/pl.js +5 -2
- package/dist/cjs/i18n/pt_BR.js +5 -2
- package/dist/cjs/i18n/ru.js +5 -2
- package/dist/cjs/i18n/sv.js +5 -2
- package/dist/cjs/i18n/th.js +5 -2
- package/dist/cjs/i18n/tr.js +5 -2
- package/dist/cjs/i18n/uk.js +5 -2
- package/dist/cjs/i18n/vi.js +5 -2
- package/dist/cjs/i18n/zh.js +5 -2
- package/dist/cjs/i18n/zh_TW.js +5 -2
- package/dist/cjs/link/LinkPicker/HyperlinkAddToolbar/HyperlinkAddToolbar.js +2 -1
- package/dist/cjs/link/LinkPicker/HyperlinkAddToolbar/index.js +1 -2
- package/dist/cjs/monitoring/error.js +3 -2
- package/dist/cjs/ui/DropList/index.js +1 -1
- package/dist/es2019/collab/index.js +54 -1
- package/dist/es2019/core-utils/document-logger.js +161 -0
- package/dist/es2019/core-utils/index.js +2 -1
- package/dist/es2019/extensibility/Extension/Extension/index.js +155 -0
- package/dist/es2019/extensibility/Extension/Extension/styles.js +42 -0
- package/dist/es2019/extensibility/Extension/InlineExtension/index.js +26 -0
- package/dist/es2019/extensibility/Extension/InlineExtension/styles.js +26 -0
- package/dist/es2019/extensibility/Extension/Lozenge.js +71 -0
- package/dist/es2019/extensibility/Extension/styles.js +62 -0
- package/dist/es2019/extensibility/Extension.js +52 -0
- package/dist/es2019/extensibility/ExtensionComponent.js +204 -0
- package/dist/es2019/extensibility/ExtensionNodeWrapper.js +13 -0
- package/dist/es2019/extensibility/MultiBodiedExtension/index.js +283 -0
- package/dist/es2019/extensibility/extensionNodeView.js +62 -0
- package/dist/es2019/extensibility/index.js +4 -0
- package/dist/es2019/extensibility/types.js +1 -0
- package/dist/es2019/i18n/cs.js +5 -2
- package/dist/es2019/i18n/da.js +5 -2
- package/dist/es2019/i18n/de.js +5 -2
- package/dist/es2019/i18n/en.js +7 -1
- package/dist/es2019/i18n/en_GB.js +8 -2
- package/dist/es2019/i18n/en_ZZ.js +8 -2
- package/dist/es2019/i18n/es.js +5 -2
- package/dist/es2019/i18n/fi.js +5 -2
- package/dist/es2019/i18n/fr.js +5 -2
- package/dist/es2019/i18n/hu.js +5 -2
- package/dist/es2019/i18n/it.js +5 -2
- package/dist/es2019/i18n/ja.js +1 -2
- package/dist/es2019/i18n/ko.js +5 -2
- package/dist/es2019/i18n/nb.js +1 -2
- package/dist/es2019/i18n/nl.js +5 -2
- package/dist/es2019/i18n/pl.js +5 -2
- package/dist/es2019/i18n/pt_BR.js +5 -2
- package/dist/es2019/i18n/ru.js +5 -2
- package/dist/es2019/i18n/sv.js +5 -2
- package/dist/es2019/i18n/th.js +5 -2
- package/dist/es2019/i18n/tr.js +5 -2
- package/dist/es2019/i18n/uk.js +5 -2
- package/dist/es2019/i18n/vi.js +5 -2
- package/dist/es2019/i18n/zh.js +5 -2
- package/dist/es2019/i18n/zh_TW.js +5 -2
- package/dist/es2019/link/LinkPicker/HyperlinkAddToolbar/HyperlinkAddToolbar.js +2 -1
- package/dist/es2019/link/LinkPicker/HyperlinkAddToolbar/index.js +1 -4
- package/dist/es2019/monitoring/error.js +3 -2
- package/dist/es2019/ui/DropList/index.js +1 -1
- package/dist/esm/collab/index.js +23 -1
- package/dist/esm/core-utils/document-logger.js +165 -0
- package/dist/esm/core-utils/index.js +2 -1
- package/dist/esm/extensibility/Extension/Extension/index.js +146 -0
- package/dist/esm/extensibility/Extension/Extension/styles.js +10 -0
- package/dist/esm/extensibility/Extension/InlineExtension/index.js +43 -0
- package/dist/esm/extensibility/Extension/InlineExtension/styles.js +5 -0
- package/dist/esm/extensibility/Extension/Lozenge.js +90 -0
- package/dist/esm/extensibility/Extension/styles.js +11 -0
- package/dist/esm/extensibility/Extension.js +69 -0
- package/dist/esm/extensibility/ExtensionComponent.js +243 -0
- package/dist/esm/extensibility/ExtensionNodeWrapper.js +14 -0
- package/dist/esm/extensibility/MultiBodiedExtension/index.js +257 -0
- package/dist/esm/extensibility/extensionNodeView.js +83 -0
- package/dist/esm/extensibility/index.js +4 -0
- package/dist/esm/extensibility/types.js +1 -0
- package/dist/esm/i18n/cs.js +5 -2
- package/dist/esm/i18n/da.js +5 -2
- package/dist/esm/i18n/de.js +5 -2
- package/dist/esm/i18n/en.js +7 -1
- package/dist/esm/i18n/en_GB.js +8 -2
- package/dist/esm/i18n/en_ZZ.js +8 -2
- package/dist/esm/i18n/es.js +5 -2
- package/dist/esm/i18n/fi.js +5 -2
- package/dist/esm/i18n/fr.js +5 -2
- package/dist/esm/i18n/hu.js +5 -2
- package/dist/esm/i18n/it.js +5 -2
- package/dist/esm/i18n/ja.js +1 -2
- package/dist/esm/i18n/ko.js +5 -2
- package/dist/esm/i18n/nb.js +1 -2
- package/dist/esm/i18n/nl.js +5 -2
- package/dist/esm/i18n/pl.js +5 -2
- package/dist/esm/i18n/pt_BR.js +5 -2
- package/dist/esm/i18n/ru.js +5 -2
- package/dist/esm/i18n/sv.js +5 -2
- package/dist/esm/i18n/th.js +5 -2
- package/dist/esm/i18n/tr.js +5 -2
- package/dist/esm/i18n/uk.js +5 -2
- package/dist/esm/i18n/vi.js +5 -2
- package/dist/esm/i18n/zh.js +5 -2
- package/dist/esm/i18n/zh_TW.js +5 -2
- package/dist/esm/link/LinkPicker/HyperlinkAddToolbar/HyperlinkAddToolbar.js +2 -1
- package/dist/esm/link/LinkPicker/HyperlinkAddToolbar/index.js +1 -2
- package/dist/esm/monitoring/error.js +3 -2
- package/dist/esm/ui/DropList/index.js +1 -1
- package/dist/types/collab/index.d.ts +7 -0
- package/dist/types/core-utils/document-logger.d.ts +6 -0
- package/dist/types/core-utils/index.d.ts +1 -0
- package/dist/types/extensibility/Extension/Extension/index.d.ts +108 -0
- package/dist/types/extensibility/Extension/Extension/styles.d.ts +5 -0
- package/dist/types/extensibility/Extension/InlineExtension/index.d.ts +12 -0
- package/dist/types/extensibility/Extension/InlineExtension/styles.d.ts +1 -0
- package/dist/types/extensibility/Extension/Lozenge.d.ts +14 -0
- package/dist/types/extensibility/Extension/styles.d.ts +7 -0
- package/dist/types/extensibility/Extension.d.ts +29 -0
- package/dist/types/extensibility/ExtensionComponent.d.ts +53 -0
- package/dist/types/extensibility/ExtensionNodeWrapper.d.ts +14 -0
- package/dist/types/extensibility/MultiBodiedExtension/index.d.ts +26 -0
- package/dist/types/extensibility/extensionNodeView.d.ts +31 -0
- package/dist/types/extensibility/index.d.ts +4 -0
- package/dist/types/extensibility/types.d.ts +6 -0
- package/dist/types/i18n/cs.d.ts +5 -2
- package/dist/types/i18n/da.d.ts +5 -2
- package/dist/types/i18n/de.d.ts +5 -2
- package/dist/types/i18n/en.d.ts +7 -1
- package/dist/types/i18n/en_GB.d.ts +7 -1
- package/dist/types/i18n/en_ZZ.d.ts +7 -1
- package/dist/types/i18n/es.d.ts +5 -2
- package/dist/types/i18n/fi.d.ts +5 -2
- package/dist/types/i18n/fr.d.ts +5 -2
- package/dist/types/i18n/hu.d.ts +5 -2
- package/dist/types/i18n/it.d.ts +5 -2
- package/dist/types/i18n/ja.d.ts +1 -2
- package/dist/types/i18n/ko.d.ts +5 -2
- package/dist/types/i18n/nb.d.ts +1 -2
- package/dist/types/i18n/nl.d.ts +5 -2
- package/dist/types/i18n/pl.d.ts +5 -2
- package/dist/types/i18n/pt_BR.d.ts +5 -2
- package/dist/types/i18n/ru.d.ts +5 -2
- package/dist/types/i18n/sv.d.ts +5 -2
- package/dist/types/i18n/th.d.ts +5 -2
- package/dist/types/i18n/tr.d.ts +5 -2
- package/dist/types/i18n/uk.d.ts +5 -2
- package/dist/types/i18n/vi.d.ts +5 -2
- package/dist/types/i18n/zh.d.ts +5 -2
- package/dist/types/i18n/zh_TW.d.ts +5 -2
- package/dist/types/link/LinkPicker/HyperlinkAddToolbar/index.d.ts +7 -7
- package/dist/types/types/floating-toolbar.d.ts +1 -1
- package/dist/types/types/hyperlink.d.ts +1 -0
- package/dist/types/types/index.d.ts +1 -1
- package/dist/types/types/next-editor-plugin.d.ts +0 -1
- package/dist/types/ui/DropList/index.d.ts +1 -1
- package/dist/types/ui/OverflowShadow/index.d.ts +1 -1
- package/dist/types/ui/with-outer-listeners.d.ts +2 -2
- package/dist/types/ui-menu/ColorPickerButton/index.d.ts +1 -1
- package/dist/types/ui-menu/ToolbarButton/index.d.ts +1 -1
- package/dist/types/ui-react/with-react-editor-view-outer-listeners.d.ts +2 -2
- package/dist/types-ts4.5/collab/index.d.ts +7 -0
- package/dist/types-ts4.5/core-utils/document-logger.d.ts +6 -0
- package/dist/types-ts4.5/core-utils/index.d.ts +1 -0
- package/dist/types-ts4.5/extensibility/Extension/Extension/index.d.ts +108 -0
- package/dist/types-ts4.5/extensibility/Extension/Extension/styles.d.ts +5 -0
- package/dist/types-ts4.5/extensibility/Extension/InlineExtension/index.d.ts +12 -0
- package/dist/types-ts4.5/extensibility/Extension/InlineExtension/styles.d.ts +1 -0
- package/dist/types-ts4.5/extensibility/Extension/Lozenge.d.ts +14 -0
- package/dist/types-ts4.5/extensibility/Extension/styles.d.ts +7 -0
- package/dist/types-ts4.5/extensibility/Extension.d.ts +29 -0
- package/dist/types-ts4.5/extensibility/ExtensionComponent.d.ts +53 -0
- package/dist/types-ts4.5/extensibility/ExtensionNodeWrapper.d.ts +14 -0
- package/dist/types-ts4.5/extensibility/MultiBodiedExtension/index.d.ts +26 -0
- package/dist/types-ts4.5/extensibility/extensionNodeView.d.ts +31 -0
- package/dist/types-ts4.5/extensibility/index.d.ts +4 -0
- package/dist/types-ts4.5/extensibility/types.d.ts +8 -0
- package/dist/types-ts4.5/i18n/cs.d.ts +5 -2
- package/dist/types-ts4.5/i18n/da.d.ts +5 -2
- package/dist/types-ts4.5/i18n/de.d.ts +5 -2
- package/dist/types-ts4.5/i18n/en.d.ts +7 -1
- package/dist/types-ts4.5/i18n/en_GB.d.ts +7 -1
- package/dist/types-ts4.5/i18n/en_ZZ.d.ts +7 -1
- package/dist/types-ts4.5/i18n/es.d.ts +5 -2
- package/dist/types-ts4.5/i18n/fi.d.ts +5 -2
- package/dist/types-ts4.5/i18n/fr.d.ts +5 -2
- package/dist/types-ts4.5/i18n/hu.d.ts +5 -2
- package/dist/types-ts4.5/i18n/it.d.ts +5 -2
- package/dist/types-ts4.5/i18n/ja.d.ts +1 -2
- package/dist/types-ts4.5/i18n/ko.d.ts +5 -2
- package/dist/types-ts4.5/i18n/nb.d.ts +1 -2
- package/dist/types-ts4.5/i18n/nl.d.ts +5 -2
- package/dist/types-ts4.5/i18n/pl.d.ts +5 -2
- package/dist/types-ts4.5/i18n/pt_BR.d.ts +5 -2
- package/dist/types-ts4.5/i18n/ru.d.ts +5 -2
- package/dist/types-ts4.5/i18n/sv.d.ts +5 -2
- package/dist/types-ts4.5/i18n/th.d.ts +5 -2
- package/dist/types-ts4.5/i18n/tr.d.ts +5 -2
- package/dist/types-ts4.5/i18n/uk.d.ts +5 -2
- package/dist/types-ts4.5/i18n/vi.d.ts +5 -2
- package/dist/types-ts4.5/i18n/zh.d.ts +5 -2
- package/dist/types-ts4.5/i18n/zh_TW.d.ts +5 -2
- package/dist/types-ts4.5/link/LinkPicker/HyperlinkAddToolbar/index.d.ts +7 -7
- package/dist/types-ts4.5/types/floating-toolbar.d.ts +1 -1
- package/dist/types-ts4.5/types/hyperlink.d.ts +1 -0
- package/dist/types-ts4.5/types/index.d.ts +1 -1
- package/dist/types-ts4.5/types/next-editor-plugin.d.ts +0 -3
- package/dist/types-ts4.5/ui/DropList/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/OverflowShadow/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/with-outer-listeners.d.ts +2 -2
- package/dist/types-ts4.5/ui-menu/ColorPickerButton/index.d.ts +1 -1
- package/dist/types-ts4.5/ui-menu/ToolbarButton/index.d.ts +1 -1
- package/dist/types-ts4.5/ui-react/with-react-editor-view-outer-listeners.d.ts +2 -2
- package/extensibility/package.json +15 -0
- package/package.json +8 -7
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
|
2
|
+
var _templateObject;
|
|
3
|
+
import { css } from '@emotion/react';
|
|
4
|
+
import { wrapperDefault } from '../styles';
|
|
5
|
+
export var wrapperStyle = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n ", "\n\n cursor: pointer;\n display: inline-flex;\n margin: 1px 1px ", ";\n\n > img {\n border-radius: ", ";\n }\n\n &::after,\n &::before {\n vertical-align: text-top;\n display: inline-block;\n width: 1px;\n content: '';\n }\n\n &.with-children {\n padding: 0;\n background: ", ";\n }\n"])), wrapperDefault, "var(--ds-space-050, 4px)", "var(--ds-border-radius, 3px)", "var(--ds-background-neutral-subtle, white)");
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
4
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
5
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
6
|
+
import _inherits from "@babel/runtime/helpers/inherits";
|
|
7
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
8
|
+
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
9
|
+
var _excluded = ["url"];
|
|
10
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
11
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
12
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
13
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
14
|
+
/** @jsx jsx */
|
|
15
|
+
import { Component } from 'react';
|
|
16
|
+
import { jsx } from '@emotion/react';
|
|
17
|
+
import EditorFileIcon from '@atlaskit/icon/glyph/editor/file';
|
|
18
|
+
import { getExtensionLozengeData } from '../../utils';
|
|
19
|
+
import { placeholderFallback, placeholderFallbackParams, styledImage } from './styles';
|
|
20
|
+
export var capitalizeFirstLetter = function capitalizeFirstLetter(str) {
|
|
21
|
+
return str.charAt(0).toUpperCase() + str.slice(1);
|
|
22
|
+
};
|
|
23
|
+
export var ICON_SIZE = 24;
|
|
24
|
+
var ExtensionLozenge = /*#__PURE__*/function (_Component) {
|
|
25
|
+
_inherits(ExtensionLozenge, _Component);
|
|
26
|
+
var _super = _createSuper(ExtensionLozenge);
|
|
27
|
+
function ExtensionLozenge() {
|
|
28
|
+
_classCallCheck(this, ExtensionLozenge);
|
|
29
|
+
return _super.apply(this, arguments);
|
|
30
|
+
}
|
|
31
|
+
_createClass(ExtensionLozenge, [{
|
|
32
|
+
key: "render",
|
|
33
|
+
value: function render() {
|
|
34
|
+
var node = this.props.node;
|
|
35
|
+
var imageData = getExtensionLozengeData({
|
|
36
|
+
node: node,
|
|
37
|
+
type: 'image'
|
|
38
|
+
});
|
|
39
|
+
if (imageData && node.type.name !== 'extension') {
|
|
40
|
+
return this.renderImage(imageData);
|
|
41
|
+
}
|
|
42
|
+
var iconData = getExtensionLozengeData({
|
|
43
|
+
node: node,
|
|
44
|
+
type: 'icon'
|
|
45
|
+
});
|
|
46
|
+
return this.renderFallback(iconData);
|
|
47
|
+
}
|
|
48
|
+
}, {
|
|
49
|
+
key: "renderImage",
|
|
50
|
+
value: function renderImage(lozengeData) {
|
|
51
|
+
var extensionKey = this.props.node.attrs.extensionKey;
|
|
52
|
+
var url = lozengeData.url,
|
|
53
|
+
rest = _objectWithoutProperties(lozengeData, _excluded);
|
|
54
|
+
return jsx("img", _extends({
|
|
55
|
+
css: styledImage,
|
|
56
|
+
src: url
|
|
57
|
+
}, rest, {
|
|
58
|
+
alt: extensionKey
|
|
59
|
+
}));
|
|
60
|
+
}
|
|
61
|
+
}, {
|
|
62
|
+
key: "renderFallback",
|
|
63
|
+
value: function renderFallback(lozengeData) {
|
|
64
|
+
var _this$props$node$attr = this.props.node.attrs,
|
|
65
|
+
parameters = _this$props$node$attr.parameters,
|
|
66
|
+
extensionKey = _this$props$node$attr.extensionKey;
|
|
67
|
+
var name = this.props.node.type.name;
|
|
68
|
+
var params = parameters && parameters.macroParams;
|
|
69
|
+
var title = parameters && parameters.extensionTitle || parameters && parameters.macroMetadata && parameters.macroMetadata.title || extensionKey;
|
|
70
|
+
var isBlockExtension = name === 'extension';
|
|
71
|
+
return jsx("div", {
|
|
72
|
+
"data-testid": "lozenge-fallback",
|
|
73
|
+
css: placeholderFallback
|
|
74
|
+
}, lozengeData && !isBlockExtension ? this.renderImage(_objectSpread({
|
|
75
|
+
height: ICON_SIZE,
|
|
76
|
+
width: ICON_SIZE
|
|
77
|
+
}, lozengeData)) : jsx(EditorFileIcon, {
|
|
78
|
+
label: title
|
|
79
|
+
}), jsx("span", {
|
|
80
|
+
className: "extension-title"
|
|
81
|
+
}, capitalizeFirstLetter(title)), params && !isBlockExtension && jsx("span", {
|
|
82
|
+
css: placeholderFallbackParams
|
|
83
|
+
}, Object.keys(params).map(function (key) {
|
|
84
|
+
return key && " | ".concat(key, " = ").concat(params[key].value);
|
|
85
|
+
})));
|
|
86
|
+
}
|
|
87
|
+
}]);
|
|
88
|
+
return ExtensionLozenge;
|
|
89
|
+
}(Component);
|
|
90
|
+
export { ExtensionLozenge as default };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
|
|
2
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
3
|
+
import { css } from '@emotion/react';
|
|
4
|
+
import { B200, N20, N20A, N70 } from '@atlaskit/theme/colors';
|
|
5
|
+
import { BODIED_EXT_PADDING, EXTENSION_PADDING } from '../../styles';
|
|
6
|
+
export { EXTENSION_PADDING as padding, BODIED_EXT_PADDING };
|
|
7
|
+
export var wrapperDefault = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n background: ", ";\n border-radius: ", ";\n position: relative;\n vertical-align: middle;\n\n .ProseMirror-selectednode > span > & > .extension-overlay {\n box-shadow: inset 0px 0px 0px 2px ", ";\n opacity: 1;\n }\n\n &.with-overlay {\n .extension-overlay {\n background: ", ";\n color: transparent;\n }\n\n &:hover .extension-overlay {\n opacity: 1;\n }\n }\n"])), "var(--ds-background-neutral, ".concat(N20, ")"), "var(--ds-border-radius, 3px)", "var(--ds-border-selected, ".concat(B200, ")"), "var(--ds-background-neutral-hovered, ".concat(N20A, ")"));
|
|
8
|
+
export var overlay = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n border-radius: ", ";\n position: absolute;\n width: 100%;\n height: 100%;\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.3s;\n"])), "var(--ds-border-radius, 3px)");
|
|
9
|
+
export var placeholderFallback = css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n display: inline-flex;\n align-items: center;\n\n & > img {\n margin: 0 ", ";\n }\n /* TODO: fix in develop: https://atlassian.slack.com/archives/CFG3PSQ9E/p1647395052443259?thread_ts=1647394572.556029&cid=CFG3PSQ9E */\n /* stylelint-disable-next-line */\n label: placeholder-fallback;\n"])), "var(--ds-space-050, 4px)");
|
|
10
|
+
export var placeholderFallbackParams = css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n display: inline-block;\n max-width: 200px;\n margin-left: 5px;\n color: ", ";\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n"])), "var(--ds-text-subtlest, ".concat(N70, ")"));
|
|
11
|
+
export var styledImage = css(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n max-height: 16px;\n max-width: 16px;\n /* TODO: fix in develop: https://atlassian.slack.com/archives/CFG3PSQ9E/p1647395052443259?thread_ts=1647394572.556029&cid=CFG3PSQ9E */\n /* stylelint-disable-next-line */\n label: lozenge-image;\n"])));
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
2
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
3
|
+
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
|
|
4
|
+
import _inherits from "@babel/runtime/helpers/inherits";
|
|
5
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
6
|
+
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
7
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
8
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
9
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
10
|
+
import React, { Component } from 'react';
|
|
11
|
+
import { ProviderFactory, WithProviders } from '../provider-factory';
|
|
12
|
+
import { ExtensionComponent } from './ExtensionComponent';
|
|
13
|
+
export var Extension = /*#__PURE__*/function (_Component) {
|
|
14
|
+
_inherits(Extension, _Component);
|
|
15
|
+
var _super = _createSuper(Extension);
|
|
16
|
+
function Extension(props) {
|
|
17
|
+
var _this;
|
|
18
|
+
_classCallCheck(this, Extension);
|
|
19
|
+
_this = _super.call(this, props);
|
|
20
|
+
_defineProperty(_assertThisInitialized(_this), "renderWithProvider", function (_ref) {
|
|
21
|
+
var extensionProvider = _ref.extensionProvider;
|
|
22
|
+
var _this$props = _this.props,
|
|
23
|
+
node = _this$props.node,
|
|
24
|
+
getPos = _this$props.getPos,
|
|
25
|
+
editorView = _this$props.editorView,
|
|
26
|
+
handleContentDOMRef = _this$props.handleContentDOMRef,
|
|
27
|
+
extensionHandlers = _this$props.extensionHandlers,
|
|
28
|
+
references = _this$props.references,
|
|
29
|
+
editorAppearance = _this$props.editorAppearance,
|
|
30
|
+
pluginInjectionApi = _this$props.pluginInjectionApi,
|
|
31
|
+
eventDispatcher = _this$props.eventDispatcher;
|
|
32
|
+
return /*#__PURE__*/React.createElement(ExtensionComponent, {
|
|
33
|
+
editorView: editorView,
|
|
34
|
+
node: node,
|
|
35
|
+
getPos: getPos,
|
|
36
|
+
references: references,
|
|
37
|
+
extensionProvider: extensionProvider,
|
|
38
|
+
handleContentDOMRef: handleContentDOMRef,
|
|
39
|
+
extensionHandlers: extensionHandlers,
|
|
40
|
+
editorAppearance: editorAppearance,
|
|
41
|
+
pluginInjectionApi: pluginInjectionApi,
|
|
42
|
+
eventDispatcher: eventDispatcher
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
_this.providerFactory = props.providerFactory || new ProviderFactory();
|
|
46
|
+
return _this;
|
|
47
|
+
}
|
|
48
|
+
_createClass(Extension, [{
|
|
49
|
+
key: "componentWillUnmount",
|
|
50
|
+
value: function componentWillUnmount() {
|
|
51
|
+
if (!this.props.providerFactory) {
|
|
52
|
+
// new ProviderFactory is created if no `providers` has been set
|
|
53
|
+
// in this case when component is unmounted it's safe to destroy this providerFactory
|
|
54
|
+
this.providerFactory.destroy();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}, {
|
|
58
|
+
key: "render",
|
|
59
|
+
value: function render() {
|
|
60
|
+
return /*#__PURE__*/React.createElement(WithProviders, {
|
|
61
|
+
providers: ['extensionProvider'],
|
|
62
|
+
providerFactory: this.providerFactory,
|
|
63
|
+
renderNode: this.renderWithProvider
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
}]);
|
|
67
|
+
return Extension;
|
|
68
|
+
}(Component);
|
|
69
|
+
_defineProperty(Extension, "displayName", 'Extension');
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
|
|
3
|
+
import _createClass from "@babel/runtime/helpers/createClass";
|
|
4
|
+
import _assertThisInitialized from "@babel/runtime/helpers/assertThisInitialized";
|
|
5
|
+
import _inherits from "@babel/runtime/helpers/inherits";
|
|
6
|
+
import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn";
|
|
7
|
+
import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
|
|
8
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
9
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
10
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
11
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
12
|
+
import React from 'react';
|
|
13
|
+
import { Component } from 'react';
|
|
14
|
+
import memoizeOne from 'memoize-one';
|
|
15
|
+
import { getExtensionModuleNodePrivateProps, getNodeRenderer } from '../extensions';
|
|
16
|
+
import { getExtensionRenderer } from '../utils';
|
|
17
|
+
import Extension from './Extension/Extension';
|
|
18
|
+
import InlineExtension from './Extension/InlineExtension';
|
|
19
|
+
import MultiBodiedExtension from './MultiBodiedExtension';
|
|
20
|
+
export var ExtensionComponent = /*#__PURE__*/function (_Component) {
|
|
21
|
+
_inherits(ExtensionComponent, _Component);
|
|
22
|
+
var _super = _createSuper(ExtensionComponent);
|
|
23
|
+
function ExtensionComponent() {
|
|
24
|
+
var _this;
|
|
25
|
+
_classCallCheck(this, ExtensionComponent);
|
|
26
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
27
|
+
args[_key] = arguments[_key];
|
|
28
|
+
}
|
|
29
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
30
|
+
_defineProperty(_assertThisInitialized(_this), "privatePropsParsed", false);
|
|
31
|
+
_defineProperty(_assertThisInitialized(_this), "state", {});
|
|
32
|
+
_defineProperty(_assertThisInitialized(_this), "mounted", false);
|
|
33
|
+
// memoized to avoid rerender on extension state changes
|
|
34
|
+
_defineProperty(_assertThisInitialized(_this), "getNodeRenderer", memoizeOne(getNodeRenderer));
|
|
35
|
+
_defineProperty(_assertThisInitialized(_this), "getExtensionModuleNodePrivateProps", memoizeOne(getExtensionModuleNodePrivateProps));
|
|
36
|
+
_defineProperty(_assertThisInitialized(_this), "setStateFromPromise", function (stateKey, promise) {
|
|
37
|
+
promise && promise.then(function (p) {
|
|
38
|
+
if (!_this.mounted) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
_this.setState(_defineProperty({}, stateKey, p));
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
/**
|
|
45
|
+
* Parses any private nodes once an extension provider is available.
|
|
46
|
+
*
|
|
47
|
+
* We do this separately from resolving a node renderer component since the
|
|
48
|
+
* private props come from extension provider, rather than an extension
|
|
49
|
+
* handler which only handles `render`/component concerns.
|
|
50
|
+
*/
|
|
51
|
+
_defineProperty(_assertThisInitialized(_this), "parsePrivateNodePropsIfNeeded", /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
52
|
+
var _this$props$node$attr, extensionType, extensionKey, privateProps;
|
|
53
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
54
|
+
while (1) switch (_context.prev = _context.next) {
|
|
55
|
+
case 0:
|
|
56
|
+
if (!(_this.privatePropsParsed || !_this.state.extensionProvider)) {
|
|
57
|
+
_context.next = 2;
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
return _context.abrupt("return");
|
|
61
|
+
case 2:
|
|
62
|
+
_this.privatePropsParsed = true;
|
|
63
|
+
_this$props$node$attr = _this.props.node.attrs, extensionType = _this$props$node$attr.extensionType, extensionKey = _this$props$node$attr.extensionKey;
|
|
64
|
+
/**
|
|
65
|
+
* getExtensionModuleNodePrivateProps can throw if there are issues in the
|
|
66
|
+
* manifest
|
|
67
|
+
*/
|
|
68
|
+
_context.prev = 4;
|
|
69
|
+
_context.next = 7;
|
|
70
|
+
return _this.getExtensionModuleNodePrivateProps(_this.state.extensionProvider, extensionType, extensionKey);
|
|
71
|
+
case 7:
|
|
72
|
+
privateProps = _context.sent;
|
|
73
|
+
_this.setState({
|
|
74
|
+
_privateProps: privateProps
|
|
75
|
+
});
|
|
76
|
+
_context.next = 14;
|
|
77
|
+
break;
|
|
78
|
+
case 11:
|
|
79
|
+
_context.prev = 11;
|
|
80
|
+
_context.t0 = _context["catch"](4);
|
|
81
|
+
// eslint-disable-next-line no-console
|
|
82
|
+
console.error('Provided extension handler has thrown an error\n', _context.t0);
|
|
83
|
+
/** We don't want this error to block renderer */
|
|
84
|
+
/** We keep rendering the default content */
|
|
85
|
+
case 14:
|
|
86
|
+
case "end":
|
|
87
|
+
return _context.stop();
|
|
88
|
+
}
|
|
89
|
+
}, _callee, null, [[4, 11]]);
|
|
90
|
+
})));
|
|
91
|
+
_defineProperty(_assertThisInitialized(_this), "handleExtension", function (pmNode, actions) {
|
|
92
|
+
var _pmNode$marks;
|
|
93
|
+
var _this$props = _this.props,
|
|
94
|
+
extensionHandlers = _this$props.extensionHandlers,
|
|
95
|
+
editorView = _this$props.editorView;
|
|
96
|
+
var _pmNode$attrs = pmNode.attrs,
|
|
97
|
+
extensionType = _pmNode$attrs.extensionType,
|
|
98
|
+
extensionKey = _pmNode$attrs.extensionKey,
|
|
99
|
+
parameters = _pmNode$attrs.parameters,
|
|
100
|
+
text = _pmNode$attrs.text;
|
|
101
|
+
var isBodiedExtension = pmNode.type.name === 'bodiedExtension';
|
|
102
|
+
if (isBodiedExtension) {
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
var fragmentLocalId = pmNode === null || pmNode === void 0 || (_pmNode$marks = pmNode.marks) === null || _pmNode$marks === void 0 || (_pmNode$marks = _pmNode$marks.find(function (m) {
|
|
106
|
+
return m.type.name === 'fragment';
|
|
107
|
+
})) === null || _pmNode$marks === void 0 || (_pmNode$marks = _pmNode$marks.attrs) === null || _pmNode$marks === void 0 ? void 0 : _pmNode$marks.localId;
|
|
108
|
+
var node = {
|
|
109
|
+
type: pmNode.type.name,
|
|
110
|
+
extensionType: extensionType,
|
|
111
|
+
extensionKey: extensionKey,
|
|
112
|
+
parameters: parameters,
|
|
113
|
+
content: text,
|
|
114
|
+
localId: pmNode.attrs.localId,
|
|
115
|
+
fragmentLocalId: fragmentLocalId
|
|
116
|
+
};
|
|
117
|
+
var result;
|
|
118
|
+
if (extensionHandlers && extensionHandlers[extensionType]) {
|
|
119
|
+
var render = getExtensionRenderer(extensionHandlers[extensionType]);
|
|
120
|
+
result = render(node, editorView.state.doc, actions);
|
|
121
|
+
}
|
|
122
|
+
if (!result) {
|
|
123
|
+
var extensionHandlerFromProvider = _this.state.extensionProvider && _this.getNodeRenderer(_this.state.extensionProvider, extensionType, extensionKey);
|
|
124
|
+
if (extensionHandlerFromProvider) {
|
|
125
|
+
var NodeRenderer = extensionHandlerFromProvider;
|
|
126
|
+
if (node.type === 'multiBodiedExtension') {
|
|
127
|
+
return /*#__PURE__*/React.createElement(NodeRenderer, {
|
|
128
|
+
node: node,
|
|
129
|
+
references: _this.props.references,
|
|
130
|
+
actions: actions
|
|
131
|
+
});
|
|
132
|
+
} else {
|
|
133
|
+
return /*#__PURE__*/React.createElement(NodeRenderer, {
|
|
134
|
+
node: node,
|
|
135
|
+
references: _this.props.references
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
return result;
|
|
141
|
+
});
|
|
142
|
+
return _this;
|
|
143
|
+
}
|
|
144
|
+
_createClass(ExtensionComponent, [{
|
|
145
|
+
key: "UNSAFE_componentWillMount",
|
|
146
|
+
value: function UNSAFE_componentWillMount() {
|
|
147
|
+
this.mounted = true;
|
|
148
|
+
}
|
|
149
|
+
}, {
|
|
150
|
+
key: "componentDidMount",
|
|
151
|
+
value: function componentDidMount() {
|
|
152
|
+
var extensionProvider = this.props.extensionProvider;
|
|
153
|
+
if (extensionProvider) {
|
|
154
|
+
this.setStateFromPromise('extensionProvider', extensionProvider);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}, {
|
|
158
|
+
key: "componentDidUpdate",
|
|
159
|
+
value: function componentDidUpdate() {
|
|
160
|
+
this.parsePrivateNodePropsIfNeeded();
|
|
161
|
+
}
|
|
162
|
+
}, {
|
|
163
|
+
key: "componentWillUnmount",
|
|
164
|
+
value: function componentWillUnmount() {
|
|
165
|
+
this.mounted = false;
|
|
166
|
+
}
|
|
167
|
+
}, {
|
|
168
|
+
key: "UNSAFE_componentWillReceiveProps",
|
|
169
|
+
value: function UNSAFE_componentWillReceiveProps(nextProps) {
|
|
170
|
+
var extensionProvider = nextProps.extensionProvider;
|
|
171
|
+
if (extensionProvider && this.props.extensionProvider !== extensionProvider) {
|
|
172
|
+
this.setStateFromPromise('extensionProvider', extensionProvider);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}, {
|
|
176
|
+
key: "render",
|
|
177
|
+
value: function render() {
|
|
178
|
+
var _this$state$_privateP;
|
|
179
|
+
var _this$props2 = this.props,
|
|
180
|
+
node = _this$props2.node,
|
|
181
|
+
handleContentDOMRef = _this$props2.handleContentDOMRef,
|
|
182
|
+
editorView = _this$props2.editorView,
|
|
183
|
+
references = _this$props2.references,
|
|
184
|
+
editorAppearance = _this$props2.editorAppearance,
|
|
185
|
+
pluginInjectionApi = _this$props2.pluginInjectionApi,
|
|
186
|
+
getPos = _this$props2.getPos,
|
|
187
|
+
eventDispatcher = _this$props2.eventDispatcher;
|
|
188
|
+
if (node.type.name === 'multiBodiedExtension') {
|
|
189
|
+
return /*#__PURE__*/React.createElement(MultiBodiedExtension, {
|
|
190
|
+
node: node,
|
|
191
|
+
editorView: editorView,
|
|
192
|
+
getPos: getPos,
|
|
193
|
+
handleContentDOMRef: handleContentDOMRef,
|
|
194
|
+
tryExtensionHandler: this.tryExtensionHandler.bind(this),
|
|
195
|
+
eventDispatcher: eventDispatcher,
|
|
196
|
+
pluginInjectionApi: pluginInjectionApi,
|
|
197
|
+
editorAppearance: editorAppearance
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
var extensionHandlerResult = this.tryExtensionHandler(undefined);
|
|
201
|
+
switch (node.type.name) {
|
|
202
|
+
case 'extension':
|
|
203
|
+
case 'bodiedExtension':
|
|
204
|
+
return /*#__PURE__*/React.createElement(Extension, {
|
|
205
|
+
node: node,
|
|
206
|
+
getPos: this.props.getPos,
|
|
207
|
+
references: references,
|
|
208
|
+
extensionProvider: this.state.extensionProvider,
|
|
209
|
+
handleContentDOMRef: handleContentDOMRef,
|
|
210
|
+
view: editorView,
|
|
211
|
+
editorAppearance: editorAppearance,
|
|
212
|
+
hideFrame: (_this$state$_privateP = this.state._privateProps) === null || _this$state$_privateP === void 0 ? void 0 : _this$state$_privateP.__hideFrame,
|
|
213
|
+
pluginInjectionApi: pluginInjectionApi
|
|
214
|
+
}, extensionHandlerResult);
|
|
215
|
+
case 'inlineExtension':
|
|
216
|
+
return /*#__PURE__*/React.createElement(InlineExtension, {
|
|
217
|
+
node: node
|
|
218
|
+
}, extensionHandlerResult);
|
|
219
|
+
default:
|
|
220
|
+
return null;
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
}, {
|
|
224
|
+
key: "tryExtensionHandler",
|
|
225
|
+
value: function tryExtensionHandler(actions) {
|
|
226
|
+
var node = this.props.node;
|
|
227
|
+
try {
|
|
228
|
+
var extensionContent = this.handleExtension(node, actions);
|
|
229
|
+
if (extensionContent && /*#__PURE__*/React.isValidElement(extensionContent)) {
|
|
230
|
+
return extensionContent;
|
|
231
|
+
}
|
|
232
|
+
} catch (e) {
|
|
233
|
+
// eslint-disable-next-line no-console
|
|
234
|
+
console.error('Provided extension handler has thrown an error\n', e);
|
|
235
|
+
/** We don't want this error to block renderer */
|
|
236
|
+
/** We keep rendering the default content */
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
return null;
|
|
240
|
+
}
|
|
241
|
+
}]);
|
|
242
|
+
return ExtensionComponent;
|
|
243
|
+
}(Component);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ZERO_WIDTH_SPACE } from '../utils';
|
|
3
|
+
/**
|
|
4
|
+
* If inlineExtension, add zero width space to the end of the nodes and wrap with span;
|
|
5
|
+
* else wrap with a div (for multi bodied extensions)
|
|
6
|
+
*
|
|
7
|
+
* @param param0
|
|
8
|
+
* @returns
|
|
9
|
+
*/
|
|
10
|
+
export var ExtensionNodeWrapper = function ExtensionNodeWrapper(_ref) {
|
|
11
|
+
var children = _ref.children,
|
|
12
|
+
nodeType = _ref.nodeType;
|
|
13
|
+
return /*#__PURE__*/React.createElement("span", null, children, nodeType === 'inlineExtension' && ZERO_WIDTH_SPACE);
|
|
14
|
+
};
|