@payloadcms/richtext-lexical 0.3.0 → 0.4.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/components.d.ts +6 -0
- package/components.js +34 -0
- package/dist/cell/index.d.ts.map +1 -1
- package/dist/cell/index.js +16 -14
- package/dist/exports/components.d.ts +6 -0
- package/dist/exports/components.d.ts.map +1 -0
- package/dist/exports/components.js +34 -0
- package/dist/field/Field.js +4 -3
- package/dist/field/features/BlockQuote/index.d.ts.map +1 -1
- package/dist/field/features/BlockQuote/index.js +45 -5
- package/dist/field/features/Blocks/drawer/index.d.ts +0 -1
- package/dist/field/features/Blocks/drawer/index.d.ts.map +1 -1
- package/dist/field/features/Blocks/drawer/index.js +4 -5
- package/dist/field/features/Blocks/index.d.ts +0 -1
- package/dist/field/features/Blocks/index.d.ts.map +1 -1
- package/dist/field/features/Blocks/index.js +46 -7
- package/dist/field/features/Blocks/nodes/BlocksNode.d.ts.map +1 -1
- package/dist/field/features/Blocks/nodes/BlocksNode.js +46 -4
- package/dist/field/features/Blocks/plugin/commands.d.ts +4 -0
- package/dist/field/features/Blocks/plugin/commands.d.ts.map +1 -0
- package/dist/field/features/Blocks/plugin/commands.js +14 -0
- package/dist/field/features/Blocks/plugin/index.d.ts +0 -2
- package/dist/field/features/Blocks/plugin/index.d.ts.map +1 -1
- package/dist/field/features/Blocks/plugin/index.js +6 -14
- package/dist/field/features/Heading/index.d.ts.map +1 -1
- package/dist/field/features/Heading/index.js +55 -16
- package/dist/field/features/Link/drawer/baseFields.d.ts +1 -1
- package/dist/field/features/Link/drawer/baseFields.d.ts.map +1 -1
- package/dist/field/features/Link/drawer/baseFields.js +43 -26
- package/dist/field/features/Link/index.d.ts +21 -2
- package/dist/field/features/Link/index.d.ts.map +1 -1
- package/dist/field/features/Link/index.js +58 -18
- package/dist/field/features/Link/nodes/AutoLinkNode.d.ts.map +1 -1
- package/dist/field/features/Link/nodes/AutoLinkNode.js +1 -1
- package/dist/field/features/Link/nodes/LinkNode.d.ts.map +1 -1
- package/dist/field/features/Link/nodes/LinkNode.js +1 -1
- package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/commands.d.ts +4 -0
- package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/commands.d.ts.map +1 -0
- package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/commands.js +14 -0
- package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.d.ts +1 -4
- package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
- package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.js +8 -16
- package/dist/field/features/Link/plugins/floatingLinkEditor/index.d.ts +1 -1
- package/dist/field/features/Link/plugins/floatingLinkEditor/index.d.ts.map +1 -1
- package/dist/field/features/Link/plugins/floatingLinkEditor/index.js +5 -4
- package/dist/field/features/Link/plugins/floatingLinkEditor/utilities.d.ts +1 -1
- package/dist/field/features/Link/plugins/floatingLinkEditor/utilities.d.ts.map +1 -1
- package/dist/field/features/Link/plugins/floatingLinkEditor/utilities.js +3 -3
- package/dist/field/features/Paragraph/index.d.ts.map +1 -1
- package/dist/field/features/Paragraph/index.js +46 -6
- package/dist/field/features/Relationship/drawer/commands.d.ts +7 -0
- package/dist/field/features/Relationship/drawer/commands.d.ts.map +1 -0
- package/dist/field/features/Relationship/drawer/commands.js +14 -0
- package/dist/field/features/Relationship/drawer/index.d.ts +1 -8
- package/dist/field/features/Relationship/drawer/index.d.ts.map +1 -1
- package/dist/field/features/Relationship/drawer/index.js +7 -17
- package/dist/field/features/Relationship/index.d.ts +16 -2
- package/dist/field/features/Relationship/index.d.ts.map +1 -1
- package/dist/field/features/Relationship/index.js +53 -14
- package/dist/field/features/Relationship/nodes/RelationshipNode.d.ts.map +1 -1
- package/dist/field/features/Relationship/nodes/RelationshipNode.js +6 -3
- package/dist/field/features/Relationship/nodes/components/RelationshipComponent.d.ts.map +1 -1
- package/dist/field/features/Relationship/nodes/components/RelationshipComponent.js +4 -5
- package/dist/field/features/Relationship/plugins/index.d.ts +2 -1
- package/dist/field/features/Relationship/plugins/index.d.ts.map +1 -1
- package/dist/field/features/Relationship/plugins/index.js +10 -4
- package/dist/field/features/Upload/component/index.js +3 -3
- package/dist/field/features/Upload/drawer/commands.d.ts +7 -0
- package/dist/field/features/Upload/drawer/commands.d.ts.map +1 -0
- package/dist/field/features/Upload/drawer/commands.js +14 -0
- package/dist/field/features/Upload/drawer/index.d.ts +0 -7
- package/dist/field/features/Upload/drawer/index.d.ts.map +1 -1
- package/dist/field/features/Upload/drawer/index.js +6 -15
- package/dist/field/features/Upload/index.d.ts +0 -1
- package/dist/field/features/Upload/index.d.ts.map +1 -1
- package/dist/field/features/Upload/index.js +46 -8
- package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.d.ts +0 -1
- package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.d.ts.map +1 -1
- package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.js +42 -4
- package/dist/field/features/align/index.d.ts +0 -1
- package/dist/field/features/align/index.d.ts.map +1 -1
- package/dist/field/features/align/index.js +50 -11
- package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.d.ts +0 -1
- package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.d.ts.map +1 -1
- package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.js +1 -2
- package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.d.ts +0 -1
- package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.d.ts.map +1 -1
- package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.js +42 -4
- package/dist/field/features/converters/html/index.d.ts.map +1 -1
- package/dist/field/features/converters/html/index.js +2 -5
- package/dist/field/features/debug/TestRecorder/index.d.ts.map +1 -1
- package/dist/field/features/debug/TestRecorder/index.js +42 -3
- package/dist/field/features/debug/TreeView/index.d.ts +0 -1
- package/dist/field/features/debug/TreeView/index.d.ts.map +1 -1
- package/dist/field/features/debug/TreeView/index.js +43 -5
- package/dist/field/features/debug/TreeView/plugin.d.ts +1 -0
- package/dist/field/features/debug/TreeView/plugin.d.ts.map +1 -1
- package/dist/field/features/debug/TreeView/plugin.js +2 -1
- package/dist/field/features/format/Bold/index.d.ts.map +1 -1
- package/dist/field/features/format/Bold/index.js +43 -4
- package/dist/field/features/format/InlineCode/index.d.ts.map +1 -1
- package/dist/field/features/format/InlineCode/index.js +44 -5
- package/dist/field/features/format/Italic/index.d.ts.map +1 -1
- package/dist/field/features/format/Italic/index.js +44 -5
- package/dist/field/features/format/common/floatingSelectToolbarSection.d.ts +0 -1
- package/dist/field/features/format/common/floatingSelectToolbarSection.d.ts.map +1 -1
- package/dist/field/features/format/common/floatingSelectToolbarSection.js +1 -2
- package/dist/field/features/format/strikethrough/index.d.ts.map +1 -1
- package/dist/field/features/format/strikethrough/index.js +44 -5
- package/dist/field/features/format/subscript/index.d.ts.map +1 -1
- package/dist/field/features/format/subscript/index.js +44 -5
- package/dist/field/features/format/superscript/index.d.ts.map +1 -1
- package/dist/field/features/format/superscript/index.js +44 -5
- package/dist/field/features/format/underline/index.d.ts.map +1 -1
- package/dist/field/features/format/underline/index.js +44 -5
- package/dist/field/features/indent/floatingSelectToolbarIndentSection.d.ts +0 -1
- package/dist/field/features/indent/floatingSelectToolbarIndentSection.d.ts.map +1 -1
- package/dist/field/features/indent/floatingSelectToolbarIndentSection.js +1 -2
- package/dist/field/features/indent/index.d.ts +0 -1
- package/dist/field/features/indent/index.d.ts.map +1 -1
- package/dist/field/features/indent/index.js +54 -9
- package/dist/field/features/indent/plugin.d.ts +3 -0
- package/dist/field/features/indent/plugin.d.ts.map +1 -0
- package/dist/field/features/indent/plugin.js +17 -0
- package/dist/field/features/lists/CheckList/index.d.ts.map +1 -1
- package/dist/field/features/lists/CheckList/index.js +46 -6
- package/dist/field/features/lists/OrderedList/index.d.ts.map +1 -1
- package/dist/field/features/lists/OrderedList/index.js +46 -6
- package/dist/field/features/lists/UnorderedList/index.d.ts.map +1 -1
- package/dist/field/features/lists/UnorderedList/index.js +46 -6
- package/dist/field/features/migrations/LexicalPluginToLexical/nodes/unknownConvertedNode/Component.d.ts +9 -0
- package/dist/field/features/migrations/LexicalPluginToLexical/nodes/unknownConvertedNode/Component.d.ts.map +1 -0
- package/dist/field/features/migrations/LexicalPluginToLexical/nodes/unknownConvertedNode/Component.js +23 -0
- package/dist/field/features/migrations/LexicalPluginToLexical/nodes/unknownConvertedNode/index.d.ts +0 -1
- package/dist/field/features/migrations/LexicalPluginToLexical/nodes/unknownConvertedNode/index.d.ts.map +1 -1
- package/dist/field/features/migrations/LexicalPluginToLexical/nodes/unknownConvertedNode/index.js +47 -8
- package/dist/field/features/migrations/SlateToLexical/nodes/unknownConvertedNode/Component.d.ts +9 -0
- package/dist/field/features/migrations/SlateToLexical/nodes/unknownConvertedNode/Component.d.ts.map +1 -0
- package/dist/field/features/migrations/SlateToLexical/nodes/unknownConvertedNode/Component.js +23 -0
- package/dist/field/features/migrations/SlateToLexical/nodes/unknownConvertedNode/index.d.ts +0 -1
- package/dist/field/features/migrations/SlateToLexical/nodes/unknownConvertedNode/index.d.ts.map +1 -1
- package/dist/field/features/migrations/SlateToLexical/nodes/unknownConvertedNode/index.js +47 -8
- package/dist/field/features/types.d.ts +31 -32
- package/dist/field/features/types.d.ts.map +1 -1
- package/dist/field/index.d.ts.map +1 -1
- package/dist/field/index.js +4 -2
- package/dist/field/lexical/EditorPlugin.d.ts +7 -0
- package/dist/field/lexical/EditorPlugin.d.ts.map +1 -0
- package/dist/field/lexical/EditorPlugin.js +68 -0
- package/dist/field/lexical/LexicalEditor.d.ts.map +1 -1
- package/dist/field/lexical/LexicalEditor.js +15 -10
- package/dist/field/lexical/LexicalEditor.scss +23 -0
- package/dist/field/lexical/LexicalProvider.d.ts.map +1 -1
- package/dist/field/lexical/LexicalProvider.js +29 -15
- package/dist/field/lexical/config/default.d.ts +0 -2
- package/dist/field/lexical/config/default.d.ts.map +1 -1
- package/dist/field/lexical/config/default.js +45 -10
- package/dist/field/lexical/config/defaultClient.d.ts +3 -0
- package/dist/field/lexical/config/defaultClient.d.ts.map +1 -0
- package/dist/field/lexical/config/defaultClient.js +17 -0
- package/dist/field/lexical/config/types.d.ts +2 -2
- package/dist/field/lexical/config/types.d.ts.map +1 -1
- package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.d.ts +5 -0
- package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.d.ts.map +1 -1
- package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.js +85 -21
- package/dist/field/lexical/plugins/FloatingSelectToolbar/index.d.ts.map +1 -1
- package/dist/field/lexical/plugins/FloatingSelectToolbar/index.js +66 -23
- package/dist/field/lexical/plugins/FloatingSelectToolbar/types.d.ts +5 -5
- package/dist/field/lexical/plugins/FloatingSelectToolbar/types.d.ts.map +1 -1
- package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts +3 -2
- package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts.map +1 -1
- package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js +1 -1
- package/dist/field/lexical/plugins/SlashMenu/index.d.ts.map +1 -1
- package/dist/field/lexical/plugins/SlashMenu/index.js +9 -2
- package/dist/index.d.ts +1 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +67 -39
- package/package.json +8 -6
- package/dist/field/features/Blocks/drawer/index.scss +0 -1
- package/dist/field/features/Blocks/index.scss +0 -1
- package/dist/field/features/Link/index.scss +0 -1
- package/dist/field/features/Relationship/drawer/index.scss +0 -1
- package/dist/field/features/Relationship/index.scss +0 -1
- package/dist/field/features/Upload/drawer/index.scss +0 -1
- package/dist/field/features/Upload/index.scss +0 -1
- package/dist/field/features/align/index.scss +0 -4
- package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.scss +0 -4
- package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.scss +0 -4
- package/dist/field/features/format/common/index.scss +0 -4
|
@@ -12,9 +12,6 @@ _export(exports, {
|
|
|
12
12
|
defaultEditorFeatures: function() {
|
|
13
13
|
return defaultEditorFeatures;
|
|
14
14
|
},
|
|
15
|
-
defaultEditorLexicalConfig: function() {
|
|
16
|
-
return defaultEditorLexicalConfig;
|
|
17
|
-
},
|
|
18
15
|
defaultEditorConfig: function() {
|
|
19
16
|
return defaultEditorConfig;
|
|
20
17
|
},
|
|
@@ -40,8 +37,46 @@ const _indent = require("../../features/indent");
|
|
|
40
37
|
const _CheckList = require("../../features/lists/CheckList");
|
|
41
38
|
const _OrderedList = require("../../features/lists/OrderedList");
|
|
42
39
|
const _UnorderedList = require("../../features/lists/UnorderedList");
|
|
43
|
-
const _EditorTheme = require("../theme/EditorTheme");
|
|
44
40
|
const _sanitize = require("./sanitize");
|
|
41
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
42
|
+
if (typeof WeakMap !== "function") return null;
|
|
43
|
+
var cacheBabelInterop = new WeakMap();
|
|
44
|
+
var cacheNodeInterop = new WeakMap();
|
|
45
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
46
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
47
|
+
})(nodeInterop);
|
|
48
|
+
}
|
|
49
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
50
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
51
|
+
return obj;
|
|
52
|
+
}
|
|
53
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
54
|
+
return {
|
|
55
|
+
default: obj
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
59
|
+
if (cache && cache.has(obj)) {
|
|
60
|
+
return cache.get(obj);
|
|
61
|
+
}
|
|
62
|
+
var newObj = {};
|
|
63
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
64
|
+
for(var key in obj){
|
|
65
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
66
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
67
|
+
if (desc && (desc.get || desc.set)) {
|
|
68
|
+
Object.defineProperty(newObj, key, desc);
|
|
69
|
+
} else {
|
|
70
|
+
newObj[key] = obj[key];
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
newObj.default = obj;
|
|
75
|
+
if (cache) {
|
|
76
|
+
cache.set(obj, newObj);
|
|
77
|
+
}
|
|
78
|
+
return newObj;
|
|
79
|
+
}
|
|
45
80
|
const defaultEditorFeatures = [
|
|
46
81
|
(0, _Bold.BoldTextFeature)(),
|
|
47
82
|
(0, _Italic.ItalicTextFeature)(),
|
|
@@ -62,14 +97,14 @@ const defaultEditorFeatures = [
|
|
|
62
97
|
(0, _BlockQuote.BlockQuoteFeature)(),
|
|
63
98
|
(0, _Upload.UploadFeature)()
|
|
64
99
|
];
|
|
65
|
-
const defaultEditorLexicalConfig = {
|
|
66
|
-
namespace: 'lexical',
|
|
67
|
-
theme: _EditorTheme.LexicalEditorTheme
|
|
68
|
-
};
|
|
69
100
|
const defaultEditorConfig = {
|
|
70
101
|
features: defaultEditorFeatures,
|
|
71
|
-
lexical:
|
|
102
|
+
lexical: ()=>// @ts-expect-error
|
|
103
|
+
Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard(require("./defaultClient"))).then((module)=>{
|
|
104
|
+
const defaultEditorLexicalConfig = module.defaultEditorLexicalConfig;
|
|
105
|
+
return defaultEditorLexicalConfig;
|
|
106
|
+
})
|
|
72
107
|
};
|
|
73
108
|
const defaultSanitizedEditorConfig = (0, _sanitize.sanitizeEditorConfig)(defaultEditorConfig);
|
|
74
109
|
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL2NvbmZpZy9kZWZhdWx0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmVhdHVyZVByb3ZpZGVyIH0gZnJvbSAnLi4vLi4vZmVhdHVyZXMvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IEVkaXRvckNvbmZpZywgU2FuaXRpemVkRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgQmxvY2tRdW90ZUZlYXR1cmUgfSBmcm9tICcuLi8uLi9mZWF0dXJlcy9CbG9ja1F1b3RlJ1xuaW1wb3J0IHsgSGVhZGluZ0ZlYXR1cmUgfSBmcm9tICcuLi8uLi9mZWF0dXJlcy9IZWFkaW5nJ1xuaW1wb3J0IHsgTGlua0ZlYXR1cmUgfSBmcm9tICcuLi8uLi9mZWF0dXJlcy9MaW5rJ1xuaW1wb3J0IHsgUGFyYWdyYXBoRmVhdHVyZSB9IGZyb20gJy4uLy4uL2ZlYXR1cmVzL1BhcmFncmFwaCdcbmltcG9ydCB7IFJlbGF0aW9uc2hpcEZlYXR1cmUgfSBmcm9tICcuLi8uLi9mZWF0dXJlcy9SZWxhdGlvbnNoaXAnXG5pbXBvcnQgeyBVcGxvYWRGZWF0dXJlIH0gZnJvbSAnLi4vLi4vZmVhdHVyZXMvVXBsb2FkJ1xuaW1wb3J0IHsgQWxpZ25GZWF0dXJlIH0gZnJvbSAnLi4vLi4vZmVhdHVyZXMvYWxpZ24nXG5pbXBvcnQgeyBCb2xkVGV4dEZlYXR1cmUgfSBmcm9tICcuLi8uLi9mZWF0dXJlcy9mb3JtYXQvQm9sZCdcbmltcG9ydCB7IElubGluZUNvZGVUZXh0RmVhdHVyZSB9IGZyb20gJy4uLy4uL2ZlYXR1cmVzL2Zvcm1hdC9JbmxpbmVDb2RlJ1xuaW1wb3J0IHsgSXRhbGljVGV4dEZlYXR1cmUgfSBmcm9tICcuLi8uLi9mZWF0dXJlcy9mb3JtYXQvSXRhbGljJ1xuaW1wb3J0IHsgU3RyaWtldGhyb3VnaFRleHRGZWF0dXJlIH0gZnJvbSAnLi4vLi4vZmVhdHVyZXMvZm9ybWF0L3N0cmlrZXRocm91Z2gnXG5pbXBvcnQgeyBTdWJzY3JpcHRUZXh0RmVhdHVyZSB9IGZyb20gJy4uLy4uL2ZlYXR1cmVzL2Zvcm1hdC9zdWJzY3JpcHQnXG5pbXBvcnQgeyBTdXBlcnNjcmlwdFRleHRGZWF0dXJlIH0gZnJvbSAnLi4vLi4vZmVhdHVyZXMvZm9ybWF0L3N1cGVyc2NyaXB0J1xuaW1wb3J0IHsgVW5kZXJsaW5lVGV4dEZlYXR1cmUgfSBmcm9tICcuLi8uLi9mZWF0dXJlcy9mb3JtYXQvdW5kZXJsaW5lJ1xuaW1wb3J0IHsgSW5kZW50RmVhdHVyZSB9IGZyb20gJy4uLy4uL2ZlYXR1cmVzL2luZGVudCdcbmltcG9ydCB7IENoZWNrTGlzdEZlYXR1cmUgfSBmcm9tICcuLi8uLi9mZWF0dXJlcy9saXN0cy9DaGVja0xpc3QnXG5pbXBvcnQgeyBPcmRlcmVkTGlzdEZlYXR1cmUgfSBmcm9tICcuLi8uLi9mZWF0dXJlcy9saXN0cy9PcmRlcmVkTGlzdCdcbmltcG9ydCB7IFVub3JkZXJlZExpc3RGZWF0dXJlIH0gZnJvbSAnLi4vLi4vZmVhdHVyZXMvbGlzdHMvVW5vcmRlcmVkTGlzdCdcbmltcG9ydCB7IHNhbml0aXplRWRpdG9yQ29uZmlnIH0gZnJvbSAnLi9zYW5pdGl6ZSdcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRFZGl0b3JGZWF0dXJlczogRmVhdHVyZVByb3ZpZGVyW10gPSBbXG4gIEJvbGRUZXh0RmVhdHVyZSgpLFxuICBJdGFsaWNUZXh0RmVhdHVyZSgpLFxuICBVbmRlcmxpbmVUZXh0RmVhdHVyZSgpLFxuICBTdHJpa2V0aHJvdWdoVGV4dEZlYXR1cmUoKSxcbiAgU3Vic2NyaXB0VGV4dEZlYXR1cmUoKSxcbiAgU3VwZXJzY3JpcHRUZXh0RmVhdHVyZSgpLFxuICBJbmxpbmVDb2RlVGV4dEZlYXR1cmUoKSxcbiAgUGFyYWdyYXBoRmVhdHVyZSgpLFxuICBIZWFkaW5nRmVhdHVyZSh7fSksXG4gIEFsaWduRmVhdHVyZSgpLFxuICBJbmRlbnRGZWF0dXJlKCksXG4gIFVub3JkZXJlZExpc3RGZWF0dXJlKCksXG4gIE9yZGVyZWRMaXN0RmVhdHVyZSgpLFxuICBDaGVja0xpc3RGZWF0dXJlKCksXG4gIExpbmtGZWF0dXJlKHt9KSxcbiAgUmVsYXRpb25zaGlwRmVhdHVyZSgpLFxuICBCbG9ja1F1b3RlRmVhdHVyZSgpLFxuICBVcGxvYWRGZWF0dXJlKCksXG4gIC8vQmxvY2tzRmVhdHVyZSgpLCAvLyBBZGRpbmcgdGhpcyBieSBkZWZhdWx0IG1ha2VzIG5vIHNlbnNlIGlmIG5vIGJsb2NrcyBhcmUgZGVmaW5lZFxuXVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdEVkaXRvckNvbmZpZzogRWRpdG9yQ29uZmlnID0ge1xuICBmZWF0dXJlczogZGVmYXVsdEVkaXRvckZlYXR1cmVzLFxuICBsZXhpY2FsOiAoKSA9PlxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICBpbXBvcnQoJy4vZGVmYXVsdENsaWVudCcpLnRoZW4oKG1vZHVsZSkgPT4ge1xuICAgICAgY29uc3QgZGVmYXVsdEVkaXRvckxleGljYWxDb25maWcgPSBtb2R1bGUuZGVmYXVsdEVkaXRvckxleGljYWxDb25maWdcbiAgICAgIHJldHVybiBkZWZhdWx0RWRpdG9yTGV4aWNhbENvbmZpZ1xuICAgIH0pLFxufVxuXG5leHBvcnQgY29uc3QgZGVmYXVsdFNhbml0aXplZEVkaXRvckNvbmZpZzogU2FuaXRpemVkRWRpdG9yQ29uZmlnID1cbiAgc2FuaXRpemVFZGl0b3JDb25maWcoZGVmYXVsdEVkaXRvckNvbmZpZylcbiJdLCJuYW1lcyI6WyJkZWZhdWx0RWRpdG9yRmVhdHVyZXMiLCJkZWZhdWx0RWRpdG9yQ29uZmlnIiwiZGVmYXVsdFNhbml0aXplZEVkaXRvckNvbmZpZyIsIkJvbGRUZXh0RmVhdHVyZSIsIkl0YWxpY1RleHRGZWF0dXJlIiwiVW5kZXJsaW5lVGV4dEZlYXR1cmUiLCJTdHJpa2V0aHJvdWdoVGV4dEZlYXR1cmUiLCJTdWJzY3JpcHRUZXh0RmVhdHVyZSIsIlN1cGVyc2NyaXB0VGV4dEZlYXR1cmUiLCJJbmxpbmVDb2RlVGV4dEZlYXR1cmUiLCJQYXJhZ3JhcGhGZWF0dXJlIiwiSGVhZGluZ0ZlYXR1cmUiLCJBbGlnbkZlYXR1cmUiLCJJbmRlbnRGZWF0dXJlIiwiVW5vcmRlcmVkTGlzdEZlYXR1cmUiLCJPcmRlcmVkTGlzdEZlYXR1cmUiLCJDaGVja0xpc3RGZWF0dXJlIiwiTGlua0ZlYXR1cmUiLCJSZWxhdGlvbnNoaXBGZWF0dXJlIiwiQmxvY2tRdW90ZUZlYXR1cmUiLCJVcGxvYWRGZWF0dXJlIiwiZmVhdHVyZXMiLCJsZXhpY2FsIiwidGhlbiIsIm1vZHVsZSIsImRlZmF1bHRFZGl0b3JMZXhpY2FsQ29uZmlnIiwic2FuaXRpemVFZGl0b3JDb25maWciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBdUJhQSxxQkFBcUI7ZUFBckJBOztJQXNCQUMsbUJBQW1CO2VBQW5CQTs7SUFVQUMsNEJBQTRCO2VBQTVCQTs7OzRCQXBEcUI7eUJBQ0g7c0JBQ0g7MkJBQ0s7OEJBQ0c7d0JBQ047dUJBQ0Q7c0JBQ0c7NEJBQ007d0JBQ0o7K0JBQ087MkJBQ0o7NkJBQ0U7MkJBQ0Y7d0JBQ1A7MkJBQ0c7NkJBQ0U7K0JBQ0U7MEJBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFOUIsTUFBTUYsd0JBQTJDO0lBQ3RERyxJQUFBQSxxQkFBZTtJQUNmQyxJQUFBQSx5QkFBaUI7SUFDakJDLElBQUFBLCtCQUFvQjtJQUNwQkMsSUFBQUEsdUNBQXdCO0lBQ3hCQyxJQUFBQSwrQkFBb0I7SUFDcEJDLElBQUFBLG1DQUFzQjtJQUN0QkMsSUFBQUEsaUNBQXFCO0lBQ3JCQyxJQUFBQSwyQkFBZ0I7SUFDaEJDLElBQUFBLHVCQUFjLEVBQUMsQ0FBQztJQUNoQkMsSUFBQUEsbUJBQVk7SUFDWkMsSUFBQUEscUJBQWE7SUFDYkMsSUFBQUEsbUNBQW9CO0lBQ3BCQyxJQUFBQSwrQkFBa0I7SUFDbEJDLElBQUFBLDJCQUFnQjtJQUNoQkMsSUFBQUEsaUJBQVcsRUFBQyxDQUFDO0lBQ2JDLElBQUFBLGlDQUFtQjtJQUNuQkMsSUFBQUEsNkJBQWlCO0lBQ2pCQyxJQUFBQSxxQkFBYTtDQUVkO0FBRU0sTUFBTW5CLHNCQUFvQztJQUMvQ29CLFVBQVVyQjtJQUNWc0IsU0FBUyxJQUNQLG1CQUFtQjtRQUNuQixtRUFBQSxRQUFPLHFCQUFtQkMsSUFBSSxDQUFDLENBQUNDO1lBQzlCLE1BQU1DLDZCQUE2QkQsT0FBT0MsMEJBQTBCO1lBQ3BFLE9BQU9BO1FBQ1Q7QUFDSjtBQUVPLE1BQU12QiwrQkFDWHdCLElBQUFBLDhCQUFvQixFQUFDekIifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"defaultClient.d.ts","sourceRoot":"","sources":["../../../../src/field/lexical/config/defaultClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAIhF,eAAO,MAAM,0BAA0B,EAAE,mBAGxC,CAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
Object.defineProperty(exports, "defaultEditorLexicalConfig", {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: function() {
|
|
8
|
+
return defaultEditorLexicalConfig;
|
|
9
|
+
}
|
|
10
|
+
});
|
|
11
|
+
const _EditorTheme = require("../theme/EditorTheme");
|
|
12
|
+
const defaultEditorLexicalConfig = {
|
|
13
|
+
namespace: 'lexical',
|
|
14
|
+
theme: _EditorTheme.LexicalEditorTheme
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL2NvbmZpZy9kZWZhdWx0Q2xpZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRWRpdG9yQ29uZmlnIGFzIExleGljYWxFZGl0b3JDb25maWcgfSBmcm9tICdsZXhpY2FsL0xleGljYWxFZGl0b3InXG5cbmltcG9ydCB7IExleGljYWxFZGl0b3JUaGVtZSB9IGZyb20gJy4uL3RoZW1lL0VkaXRvclRoZW1lJ1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdEVkaXRvckxleGljYWxDb25maWc6IExleGljYWxFZGl0b3JDb25maWcgPSB7XG4gIG5hbWVzcGFjZTogJ2xleGljYWwnLFxuICB0aGVtZTogTGV4aWNhbEVkaXRvclRoZW1lLFxufVxuIl0sIm5hbWVzIjpbImRlZmF1bHRFZGl0b3JMZXhpY2FsQ29uZmlnIiwibmFtZXNwYWNlIiwidGhlbWUiLCJMZXhpY2FsRWRpdG9yVGhlbWUiXSwibWFwcGluZ3MiOiI7Ozs7K0JBSWFBOzs7ZUFBQUE7Ozs2QkFGc0I7QUFFNUIsTUFBTUEsNkJBQWtEO0lBQzdEQyxXQUFXO0lBQ1hDLE9BQU9DLCtCQUFrQjtBQUMzQiJ9
|
|
@@ -2,11 +2,11 @@ import type { EditorConfig as LexicalEditorConfig } from 'lexical/LexicalEditor'
|
|
|
2
2
|
import type { FeatureProvider, ResolvedFeatureMap, SanitizedFeatures } from '../../features/types';
|
|
3
3
|
export type EditorConfig = {
|
|
4
4
|
features: FeatureProvider[];
|
|
5
|
-
lexical
|
|
5
|
+
lexical?: () => Promise<LexicalEditorConfig>;
|
|
6
6
|
};
|
|
7
7
|
export type SanitizedEditorConfig = {
|
|
8
8
|
features: SanitizedFeatures;
|
|
9
|
-
lexical: LexicalEditorConfig
|
|
9
|
+
lexical: () => Promise<LexicalEditorConfig>;
|
|
10
10
|
resolvedFeatureMap: ResolvedFeatureMap;
|
|
11
11
|
};
|
|
12
12
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/field/lexical/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAEhF,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAElG,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,eAAe,EAAE,CAAA;IAC3B,OAAO,EAAE,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/field/lexical/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAEhF,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAElG,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,eAAe,EAAE,CAAA;IAC3B,OAAO,CAAC,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAA;CAC7C,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,QAAQ,EAAE,iBAAiB,CAAA;IAC3B,OAAO,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC3C,kBAAkB,EAAE,kBAAkB,CAAA;CACvC,CAAA"}
|
|
@@ -2,6 +2,11 @@ import React from 'react';
|
|
|
2
2
|
import type { LexicalEditor } from 'lexical';
|
|
3
3
|
import type { FloatingToolbarSectionEntry } from '../types';
|
|
4
4
|
import './index.scss';
|
|
5
|
+
export declare const ToolbarEntry: ({ anchorElem, editor, entry, }: {
|
|
6
|
+
anchorElem: HTMLElement;
|
|
7
|
+
editor: LexicalEditor;
|
|
8
|
+
entry: FloatingToolbarSectionEntry;
|
|
9
|
+
}) => React.JSX.Element;
|
|
5
10
|
export declare const ToolbarDropdown: ({ Icon, anchorElem, classNames, editor, entries, }: {
|
|
6
11
|
Icon?: React.FC;
|
|
7
12
|
anchorElem: HTMLElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.tsx"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkB,MAAM,OAAO,CAAA;AAItC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,UAAU,CAAA;AAG3D,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,YAAY;gBAKX,WAAW;YACf,aAAa;WACd,2BAA2B;uBA0CnC,CAAA;AAED,eAAO,MAAM,eAAe;WAOnB,MAAM,EAAE;gBACH,WAAW;iBACV,MAAM,EAAE;YACb,aAAa;aACZ,2BAA2B,EAAE;uBAgBvC,CAAA"}
|
|
@@ -3,21 +3,93 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
function _export(target, all) {
|
|
7
|
+
for(var name in all)Object.defineProperty(target, name, {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: all[name]
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
_export(exports, {
|
|
13
|
+
ToolbarEntry: function() {
|
|
14
|
+
return ToolbarEntry;
|
|
15
|
+
},
|
|
16
|
+
ToolbarDropdown: function() {
|
|
9
17
|
return ToolbarDropdown;
|
|
10
18
|
}
|
|
11
19
|
});
|
|
12
|
-
const _react = /*#__PURE__*/
|
|
20
|
+
const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
|
|
13
21
|
const _DropDown = require("./DropDown");
|
|
14
22
|
require("./index.scss");
|
|
15
|
-
function
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
23
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
24
|
+
if (typeof WeakMap !== "function") return null;
|
|
25
|
+
var cacheBabelInterop = new WeakMap();
|
|
26
|
+
var cacheNodeInterop = new WeakMap();
|
|
27
|
+
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
28
|
+
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
29
|
+
})(nodeInterop);
|
|
30
|
+
}
|
|
31
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
32
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
33
|
+
return obj;
|
|
34
|
+
}
|
|
35
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
36
|
+
return {
|
|
37
|
+
default: obj
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
41
|
+
if (cache && cache.has(obj)) {
|
|
42
|
+
return cache.get(obj);
|
|
43
|
+
}
|
|
44
|
+
var newObj = {};
|
|
45
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
46
|
+
for(var key in obj){
|
|
47
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
48
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
49
|
+
if (desc && (desc.get || desc.set)) {
|
|
50
|
+
Object.defineProperty(newObj, key, desc);
|
|
51
|
+
} else {
|
|
52
|
+
newObj[key] = obj[key];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
newObj.default = obj;
|
|
57
|
+
if (cache) {
|
|
58
|
+
cache.set(obj, newObj);
|
|
59
|
+
}
|
|
60
|
+
return newObj;
|
|
19
61
|
}
|
|
20
62
|
const baseClass = 'floating-select-toolbar-popup__dropdown';
|
|
63
|
+
const ToolbarEntry = ({ anchorElem, editor, entry })=>{
|
|
64
|
+
const Component = (0, _react.useMemo)(()=>{
|
|
65
|
+
return entry?.Component ? /*#__PURE__*/ _react.default.lazy(()=>entry.Component().then((resolvedComponent)=>({
|
|
66
|
+
default: resolvedComponent
|
|
67
|
+
}))) : null;
|
|
68
|
+
}, [
|
|
69
|
+
entry
|
|
70
|
+
]);
|
|
71
|
+
const ChildComponent = (0, _react.useMemo)(()=>{
|
|
72
|
+
return entry?.ChildComponent ? /*#__PURE__*/ _react.default.lazy(()=>entry.ChildComponent().then((resolvedChildComponent)=>({
|
|
73
|
+
default: resolvedChildComponent
|
|
74
|
+
}))) : null;
|
|
75
|
+
}, [
|
|
76
|
+
entry
|
|
77
|
+
]);
|
|
78
|
+
if (entry.Component) {
|
|
79
|
+
return Component && /*#__PURE__*/ _react.default.createElement(_react.default.Suspense, null, /*#__PURE__*/ _react.default.createElement(Component, {
|
|
80
|
+
anchorElem: anchorElem,
|
|
81
|
+
editor: editor,
|
|
82
|
+
entry: entry,
|
|
83
|
+
key: entry.key
|
|
84
|
+
}));
|
|
85
|
+
}
|
|
86
|
+
return /*#__PURE__*/ _react.default.createElement(_DropDown.DropDownItem, {
|
|
87
|
+
entry: entry,
|
|
88
|
+
key: entry.key
|
|
89
|
+
}, ChildComponent && /*#__PURE__*/ _react.default.createElement(_react.default.Suspense, null, /*#__PURE__*/ _react.default.createElement(ChildComponent, null)), /*#__PURE__*/ _react.default.createElement("span", {
|
|
90
|
+
className: "text"
|
|
91
|
+
}, entry.label));
|
|
92
|
+
};
|
|
21
93
|
const ToolbarDropdown = ({ Icon, anchorElem, classNames, editor, entries })=>{
|
|
22
94
|
return /*#__PURE__*/ _react.default.createElement(_DropDown.DropDown, {
|
|
23
95
|
Icon: Icon,
|
|
@@ -27,21 +99,13 @@ const ToolbarDropdown = ({ Icon, anchorElem, classNames, editor, entries })=>{
|
|
|
27
99
|
...classNames || []
|
|
28
100
|
].filter(Boolean).join(' ')
|
|
29
101
|
}, entries.length && entries.map((entry)=>{
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
editor: editor,
|
|
34
|
-
entry: entry,
|
|
35
|
-
key: entry.key
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
return /*#__PURE__*/ _react.default.createElement(_DropDown.DropDownItem, {
|
|
102
|
+
return /*#__PURE__*/ _react.default.createElement(ToolbarEntry, {
|
|
103
|
+
anchorElem: anchorElem,
|
|
104
|
+
editor: editor,
|
|
39
105
|
entry: entry,
|
|
40
106
|
key: entry.key
|
|
41
|
-
}
|
|
42
|
-
className: "text"
|
|
43
|
-
}, entry.label));
|
|
107
|
+
});
|
|
44
108
|
}));
|
|
45
109
|
};
|
|
46
110
|
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3BsdWdpbnMvRmxvYXRpbmdTZWxlY3RUb29sYmFyL1Rvb2xiYXJEcm9wZG93bi9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0J1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAnZmxvYXRpbmctc2VsZWN0LXRvb2xiYXItcG9wdXBfX2Ryb3Bkb3duJ1xuXG5pbXBvcnQgdHlwZSB7IExleGljYWxFZGl0b3IgfSBmcm9tICdsZXhpY2FsJ1xuXG5pbXBvcnQgdHlwZSB7IEZsb2F0aW5nVG9vbGJhclNlY3Rpb25FbnRyeSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBEcm9wRG93biwgRHJvcERvd25JdGVtIH0gZnJvbSAnLi9Ecm9wRG93bidcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5leHBvcnQgY29uc3QgVG9vbGJhckVudHJ5ID0gKHtcbiAgYW5jaG9yRWxlbSxcbiAgZWRpdG9yLFxuICBlbnRyeSxcbn06IHtcbiAgYW5jaG9yRWxlbTogSFRNTEVsZW1lbnRcbiAgZWRpdG9yOiBMZXhpY2FsRWRpdG9yXG4gIGVudHJ5OiBGbG9hdGluZ1Rvb2xiYXJTZWN0aW9uRW50cnlcbn0pID0+IHtcbiAgY29uc3QgQ29tcG9uZW50ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGVudHJ5Py5Db21wb25lbnRcbiAgICAgID8gUmVhY3QubGF6eSgoKSA9PlxuICAgICAgICAgIGVudHJ5LkNvbXBvbmVudCgpLnRoZW4oKHJlc29sdmVkQ29tcG9uZW50KSA9PiAoe1xuICAgICAgICAgICAgZGVmYXVsdDogcmVzb2x2ZWRDb21wb25lbnQsXG4gICAgICAgICAgfSkpLFxuICAgICAgICApXG4gICAgICA6IG51bGxcbiAgfSwgW2VudHJ5XSlcblxuICBjb25zdCBDaGlsZENvbXBvbmVudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBlbnRyeT8uQ2hpbGRDb21wb25lbnRcbiAgICAgID8gUmVhY3QubGF6eSgoKSA9PlxuICAgICAgICAgIGVudHJ5LkNoaWxkQ29tcG9uZW50KCkudGhlbigocmVzb2x2ZWRDaGlsZENvbXBvbmVudCkgPT4gKHtcbiAgICAgICAgICAgIGRlZmF1bHQ6IHJlc29sdmVkQ2hpbGRDb21wb25lbnQsXG4gICAgICAgICAgfSkpLFxuICAgICAgICApXG4gICAgICA6IG51bGxcbiAgfSwgW2VudHJ5XSlcblxuICBpZiAoZW50cnkuQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIENvbXBvbmVudCAmJiAoXG4gICAgICAgIDxSZWFjdC5TdXNwZW5zZT5cbiAgICAgICAgICA8Q29tcG9uZW50IGFuY2hvckVsZW09e2FuY2hvckVsZW19IGVkaXRvcj17ZWRpdG9yfSBlbnRyeT17ZW50cnl9IGtleT17ZW50cnkua2V5fSAvPlxuICAgICAgICA8L1JlYWN0LlN1c3BlbnNlPlxuICAgICAgKVxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPERyb3BEb3duSXRlbSBlbnRyeT17ZW50cnl9IGtleT17ZW50cnkua2V5fT5cbiAgICAgIHtDaGlsZENvbXBvbmVudCAmJiAoXG4gICAgICAgIDxSZWFjdC5TdXNwZW5zZT5cbiAgICAgICAgICA8Q2hpbGRDb21wb25lbnQgLz5cbiAgICAgICAgPC9SZWFjdC5TdXNwZW5zZT5cbiAgICAgICl9XG4gICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0XCI+e2VudHJ5LmxhYmVsfTwvc3Bhbj5cbiAgICA8L0Ryb3BEb3duSXRlbT5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgVG9vbGJhckRyb3Bkb3duID0gKHtcbiAgSWNvbixcbiAgYW5jaG9yRWxlbSxcbiAgY2xhc3NOYW1lcyxcbiAgZWRpdG9yLFxuICBlbnRyaWVzLFxufToge1xuICBJY29uPzogUmVhY3QuRkNcbiAgYW5jaG9yRWxlbTogSFRNTEVsZW1lbnRcbiAgY2xhc3NOYW1lcz86IHN0cmluZ1tdXG4gIGVkaXRvcjogTGV4aWNhbEVkaXRvclxuICBlbnRyaWVzOiBGbG9hdGluZ1Rvb2xiYXJTZWN0aW9uRW50cnlbXVxufSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxEcm9wRG93blxuICAgICAgSWNvbj17SWNvbn1cbiAgICAgIGJ1dHRvbkFyaWFMYWJlbD1cIkZvcm1hdHRpbmcgb3B0aW9uc1wiXG4gICAgICBidXR0b25DbGFzc05hbWU9e1tiYXNlQ2xhc3MsIC4uLihjbGFzc05hbWVzIHx8IFtdKV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oJyAnKX1cbiAgICA+XG4gICAgICB7ZW50cmllcy5sZW5ndGggJiZcbiAgICAgICAgZW50cmllcy5tYXAoKGVudHJ5KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxUb29sYmFyRW50cnkgYW5jaG9yRWxlbT17YW5jaG9yRWxlbX0gZWRpdG9yPXtlZGl0b3J9IGVudHJ5PXtlbnRyeX0ga2V5PXtlbnRyeS5rZXl9IC8+XG4gICAgICAgICAgKVxuICAgICAgICB9KX1cbiAgICA8L0Ryb3BEb3duPlxuICApXG59XG4iXSwibmFtZXMiOlsiVG9vbGJhckVudHJ5IiwiVG9vbGJhckRyb3Bkb3duIiwiYmFzZUNsYXNzIiwiYW5jaG9yRWxlbSIsImVkaXRvciIsImVudHJ5IiwiQ29tcG9uZW50IiwidXNlTWVtbyIsIlJlYWN0IiwibGF6eSIsInRoZW4iLCJyZXNvbHZlZENvbXBvbmVudCIsImRlZmF1bHQiLCJDaGlsZENvbXBvbmVudCIsInJlc29sdmVkQ2hpbGRDb21wb25lbnQiLCJTdXNwZW5zZSIsImtleSIsIkRyb3BEb3duSXRlbSIsInNwYW4iLCJjbGFzc05hbWUiLCJsYWJlbCIsIkljb24iLCJjbGFzc05hbWVzIiwiZW50cmllcyIsIkRyb3BEb3duIiwiYnV0dG9uQXJpYUxhYmVsIiwiYnV0dG9uQ2xhc3NOYW1lIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJsZW5ndGgiLCJtYXAiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7SUFZYUEsWUFBWTtlQUFaQTs7SUFtREFDLGVBQWU7ZUFBZkE7OzsrREE5RGtCOzBCQVFRO1FBQ2hDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUFAsTUFBTUMsWUFBWTtBQVNYLE1BQU1GLGVBQWUsQ0FBQyxFQUMzQkcsVUFBVSxFQUNWQyxNQUFNLEVBQ05DLEtBQUssRUFLTjtJQUNDLE1BQU1DLFlBQVlDLElBQUFBLGNBQU8sRUFBQztRQUN4QixPQUFPRixPQUFPQywwQkFDVkUsY0FBSyxDQUFDQyxJQUFJLENBQUMsSUFDVEosTUFBTUMsU0FBUyxHQUFHSSxJQUFJLENBQUMsQ0FBQ0Msb0JBQXVCLENBQUE7b0JBQzdDQyxTQUFTRDtnQkFDWCxDQUFBLE1BRUY7SUFDTixHQUFHO1FBQUNOO0tBQU07SUFFVixNQUFNUSxpQkFBaUJOLElBQUFBLGNBQU8sRUFBQztRQUM3QixPQUFPRixPQUFPUSwrQkFDVkwsY0FBSyxDQUFDQyxJQUFJLENBQUMsSUFDVEosTUFBTVEsY0FBYyxHQUFHSCxJQUFJLENBQUMsQ0FBQ0kseUJBQTRCLENBQUE7b0JBQ3ZERixTQUFTRTtnQkFDWCxDQUFBLE1BRUY7SUFDTixHQUFHO1FBQUNUO0tBQU07SUFFVixJQUFJQSxNQUFNQyxTQUFTLEVBQUU7UUFDbkIsT0FDRUEsMkJBQ0UsNkJBQUNFLGNBQUssQ0FBQ08sUUFBUSxzQkFDYiw2QkFBQ1Q7WUFBVUgsWUFBWUE7WUFBWUMsUUFBUUE7WUFBUUMsT0FBT0E7WUFBT1csS0FBS1gsTUFBTVcsR0FBRzs7SUFJdkY7SUFFQSxxQkFDRSw2QkFBQ0Msc0JBQVk7UUFBQ1osT0FBT0E7UUFBT1csS0FBS1gsTUFBTVcsR0FBRztPQUN2Q0gsZ0NBQ0MsNkJBQUNMLGNBQUssQ0FBQ08sUUFBUSxzQkFDYiw2QkFBQ0Ysc0NBR0wsNkJBQUNLO1FBQUtDLFdBQVU7T0FBUWQsTUFBTWUsS0FBSztBQUd6QztBQUVPLE1BQU1uQixrQkFBa0IsQ0FBQyxFQUM5Qm9CLElBQUksRUFDSmxCLFVBQVUsRUFDVm1CLFVBQVUsRUFDVmxCLE1BQU0sRUFDTm1CLE9BQU8sRUFPUjtJQUNDLHFCQUNFLDZCQUFDQyxrQkFBUTtRQUNQSCxNQUFNQTtRQUNOSSxpQkFBZ0I7UUFDaEJDLGlCQUFpQjtZQUFDeEI7ZUFBZW9CLGNBQWMsRUFBRTtTQUFFLENBQUNLLE1BQU0sQ0FBQ0MsU0FBU0MsSUFBSSxDQUFDO09BRXhFTixRQUFRTyxNQUFNLElBQ2JQLFFBQVFRLEdBQUcsQ0FBQyxDQUFDMUI7UUFDWCxxQkFDRSw2QkFBQ0w7WUFBYUcsWUFBWUE7WUFBWUMsUUFBUUE7WUFBUUMsT0FBT0E7WUFBT1csS0FBS1gsTUFBTVcsR0FBRzs7SUFFdEY7QUFHUiJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/field/lexical/plugins/FloatingSelectToolbar/index.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/field/lexical/plugins/FloatingSelectToolbar/index.tsx"],"names":[],"mappings":";AAuBA,OAAO,cAAc,CAAA;AA+WrB,wBAAgB,2BAA2B,CAAC,EAC1C,UAA0B,GAC3B,EAAE;IACD,UAAU,CAAC,EAAE,WAAW,CAAA;CACzB,GAAG,GAAG,CAAC,OAAO,GAAG,IAAI,CAGrB"}
|
|
@@ -59,6 +59,66 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
59
59
|
}
|
|
60
60
|
return newObj;
|
|
61
61
|
}
|
|
62
|
+
function ButtonSectionEntry({ anchorElem, editor, entry }) {
|
|
63
|
+
const Component = (0, _react.useMemo)(()=>{
|
|
64
|
+
return entry?.Component ? /*#__PURE__*/ _react.lazy(()=>entry.Component().then((resolvedComponent)=>({
|
|
65
|
+
default: resolvedComponent
|
|
66
|
+
}))) : null;
|
|
67
|
+
}, [
|
|
68
|
+
entry
|
|
69
|
+
]);
|
|
70
|
+
const ChildComponent = (0, _react.useMemo)(()=>{
|
|
71
|
+
return entry?.ChildComponent ? /*#__PURE__*/ _react.lazy(()=>entry.ChildComponent().then((resolvedChildComponent)=>({
|
|
72
|
+
default: resolvedChildComponent
|
|
73
|
+
}))) : null;
|
|
74
|
+
}, [
|
|
75
|
+
entry
|
|
76
|
+
]);
|
|
77
|
+
if (entry.Component) {
|
|
78
|
+
return Component && /*#__PURE__*/ _react.createElement(_react.Suspense, null, /*#__PURE__*/ _react.createElement(Component, {
|
|
79
|
+
anchorElem: anchorElem,
|
|
80
|
+
editor: editor,
|
|
81
|
+
entry: entry,
|
|
82
|
+
key: entry.key
|
|
83
|
+
}), ' ');
|
|
84
|
+
}
|
|
85
|
+
return /*#__PURE__*/ _react.createElement(_ToolbarButton.ToolbarButton, {
|
|
86
|
+
entry: entry,
|
|
87
|
+
key: entry.key
|
|
88
|
+
}, ChildComponent && /*#__PURE__*/ _react.createElement(_react.Suspense, null, /*#__PURE__*/ _react.createElement(ChildComponent, null)));
|
|
89
|
+
}
|
|
90
|
+
function ToolbarSection({ anchorElem, editor, index, section }) {
|
|
91
|
+
const { editorConfig } = (0, _EditorConfigProvider.useEditorConfigContext)();
|
|
92
|
+
const Icon = (0, _react.useMemo)(()=>{
|
|
93
|
+
return section?.type === 'dropdown' && section.entries.length && section.ChildComponent ? /*#__PURE__*/ _react.lazy(()=>section.ChildComponent().then((resolvedComponent)=>({
|
|
94
|
+
default: resolvedComponent
|
|
95
|
+
}))) : null;
|
|
96
|
+
}, [
|
|
97
|
+
section
|
|
98
|
+
]);
|
|
99
|
+
return /*#__PURE__*/ _react.createElement("div", {
|
|
100
|
+
className: `floating-select-toolbar-popup__section floating-select-toolbar-popup__section-${section.key}`,
|
|
101
|
+
key: section.key
|
|
102
|
+
}, section.type === 'dropdown' && section.entries.length && (Icon ? /*#__PURE__*/ _react.createElement(_react.Suspense, null, /*#__PURE__*/ _react.createElement(_ToolbarDropdown.ToolbarDropdown, {
|
|
103
|
+
Icon: Icon,
|
|
104
|
+
anchorElem: anchorElem,
|
|
105
|
+
editor: editor,
|
|
106
|
+
entries: section.entries
|
|
107
|
+
})) : /*#__PURE__*/ _react.createElement(_ToolbarDropdown.ToolbarDropdown, {
|
|
108
|
+
anchorElem: anchorElem,
|
|
109
|
+
editor: editor,
|
|
110
|
+
entries: section.entries
|
|
111
|
+
})), section.type === 'buttons' && section.entries.length && section.entries.map((entry)=>{
|
|
112
|
+
return /*#__PURE__*/ _react.createElement(ButtonSectionEntry, {
|
|
113
|
+
anchorElem: anchorElem,
|
|
114
|
+
editor: editor,
|
|
115
|
+
entry: entry,
|
|
116
|
+
key: entry.key
|
|
117
|
+
});
|
|
118
|
+
}), index < editorConfig.features.floatingSelectToolbar?.sections.length - 1 && /*#__PURE__*/ _react.createElement("div", {
|
|
119
|
+
className: "divider"
|
|
120
|
+
}));
|
|
121
|
+
}
|
|
62
122
|
function FloatingSelectToolbar({ anchorElem, editor }) {
|
|
63
123
|
const popupCharStylesEditorRef = (0, _react.useRef)(null);
|
|
64
124
|
const caretRef = (0, _react.useRef)(null);
|
|
@@ -183,30 +243,13 @@ function FloatingSelectToolbar({ anchorElem, editor }) {
|
|
|
183
243
|
className: "caret",
|
|
184
244
|
ref: caretRef
|
|
185
245
|
}), editor.isEditable() && /*#__PURE__*/ _react.createElement(_react.Fragment, null, editorConfig?.features && editorConfig.features?.floatingSelectToolbar?.sections.map((section, i)=>{
|
|
186
|
-
return /*#__PURE__*/ _react.createElement(
|
|
187
|
-
className: `floating-select-toolbar-popup__section floating-select-toolbar-popup__section-${section.key}`,
|
|
188
|
-
key: section.key
|
|
189
|
-
}, section.type === 'dropdown' && section.entries.length && /*#__PURE__*/ _react.createElement(_ToolbarDropdown.ToolbarDropdown, {
|
|
190
|
-
Icon: section.ChildComponent,
|
|
246
|
+
return /*#__PURE__*/ _react.createElement(ToolbarSection, {
|
|
191
247
|
anchorElem: anchorElem,
|
|
192
248
|
editor: editor,
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
anchorElem: anchorElem,
|
|
198
|
-
editor: editor,
|
|
199
|
-
entry: entry,
|
|
200
|
-
key: entry.key
|
|
201
|
-
});
|
|
202
|
-
}
|
|
203
|
-
return /*#__PURE__*/ _react.createElement(_ToolbarButton.ToolbarButton, {
|
|
204
|
-
entry: entry,
|
|
205
|
-
key: entry.key
|
|
206
|
-
}, /*#__PURE__*/ _react.createElement(entry.ChildComponent, null));
|
|
207
|
-
}), i < editorConfig.features.floatingSelectToolbar?.sections.length - 1 && /*#__PURE__*/ _react.createElement("div", {
|
|
208
|
-
className: "divider"
|
|
209
|
-
}));
|
|
249
|
+
index: i,
|
|
250
|
+
key: section.key,
|
|
251
|
+
section: section
|
|
252
|
+
});
|
|
210
253
|
})));
|
|
211
254
|
}
|
|
212
255
|
function useFloatingTextFormatToolbar(editor, anchorElem) {
|
|
@@ -287,4 +330,4 @@ function FloatingSelectToolbarPlugin({ anchorElem = document.body }) {
|
|
|
287
330
|
return useFloatingTextFormatToolbar(editor, anchorElem);
|
|
288
331
|
}
|
|
289
332
|
|
|
290
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3BsdWdpbnMvRmxvYXRpbmdTZWxlY3RUb29sYmFyL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB0eXBlIHsgTGV4aWNhbEVkaXRvciB9IGZyb20gJ2xleGljYWwnXG5cbmltcG9ydCB7IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQgfSBmcm9tICdAbGV4aWNhbC9yZWFjdC9MZXhpY2FsQ29tcG9zZXJDb250ZXh0J1xuaW1wb3J0IHsgbWVyZ2VSZWdpc3RlciB9IGZyb20gJ0BsZXhpY2FsL3V0aWxzJ1xuaW1wb3J0IHtcbiAgJGdldFNlbGVjdGlvbixcbiAgJGlzUmFuZ2VTZWxlY3Rpb24sXG4gICRpc1RleHROb2RlLFxuICBDT01NQU5EX1BSSU9SSVRZX0xPVyxcbiAgU0VMRUNUSU9OX0NIQU5HRV9DT01NQU5ELFxufSBmcm9tICdsZXhpY2FsJ1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nXG5cbmltcG9ydCB7IHVzZUVkaXRvckNvbmZpZ0NvbnRleHQgfSBmcm9tICcuLi8uLi9jb25maWcvRWRpdG9yQ29uZmlnUHJvdmlkZXInXG5pbXBvcnQgeyBnZXRET01SYW5nZVJlY3QgfSBmcm9tICcuLi8uLi91dGlscy9nZXRET01SYW5nZVJlY3QnXG5pbXBvcnQgeyBzZXRGbG9hdGluZ0VsZW1Qb3NpdGlvbiB9IGZyb20gJy4uLy4uL3V0aWxzL3NldEZsb2F0aW5nRWxlbVBvc2l0aW9uJ1xuaW1wb3J0IHsgVG9vbGJhckJ1dHRvbiB9IGZyb20gJy4vVG9vbGJhckJ1dHRvbidcbmltcG9ydCB7IFRvb2xiYXJEcm9wZG93biB9IGZyb20gJy4vVG9vbGJhckRyb3Bkb3duJ1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5cbmZ1bmN0aW9uIEZsb2F0aW5nU2VsZWN0VG9vbGJhcih7XG4gIGFuY2hvckVsZW0sXG4gIGVkaXRvcixcbn06IHtcbiAgYW5jaG9yRWxlbTogSFRNTEVsZW1lbnRcbiAgZWRpdG9yOiBMZXhpY2FsRWRpdG9yXG59KTogSlNYLkVsZW1lbnQge1xuICBjb25zdCBwb3B1cENoYXJTdHlsZXNFZGl0b3JSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQgfCBudWxsPihudWxsKVxuICBjb25zdCBjYXJldFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpXG5cbiAgY29uc3QgeyBlZGl0b3JDb25maWcgfSA9IHVzZUVkaXRvckNvbmZpZ0NvbnRleHQoKVxuXG4gIGNvbnN0IGNsb3NlRmxvYXRpbmdUb29sYmFyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChwb3B1cENoYXJTdHlsZXNFZGl0b3JSZWY/LmN1cnJlbnQpIHtcbiAgICAgIGNvbnN0IGlzT3BhY2l0eVplcm8gPSBwb3B1cENoYXJTdHlsZXNFZGl0b3JSZWYuY3VycmVudC5zdHlsZS5vcGFjaXR5ID09PSAnMCdcbiAgICAgIGNvbnN0IGlzUG9pbnRlckV2ZW50c05vbmUgPSBwb3B1cENoYXJTdHlsZXNFZGl0b3JSZWYuY3VycmVudC5zdHlsZS5wb2ludGVyRXZlbnRzID09PSAnbm9uZSdcblxuICAgICAgaWYgKCFpc09wYWNpdHlaZXJvKSB7XG4gICAgICAgIHBvcHVwQ2hhclN0eWxlc0VkaXRvclJlZi5jdXJyZW50LnN0eWxlLm9wYWNpdHkgPSAnMCdcbiAgICAgIH1cbiAgICAgIGlmICghaXNQb2ludGVyRXZlbnRzTm9uZSkge1xuICAgICAgICBwb3B1cENoYXJTdHlsZXNFZGl0b3JSZWYuY3VycmVudC5zdHlsZS5wb2ludGVyRXZlbnRzID0gJ25vbmUnXG4gICAgICB9XG4gICAgfVxuICB9LCBbcG9wdXBDaGFyU3R5bGVzRWRpdG9yUmVmXSlcblxuICBjb25zdCBtb3VzZU1vdmVMaXN0ZW5lciA9IHVzZUNhbGxiYWNrKFxuICAgIChlOiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICBpZiAocG9wdXBDaGFyU3R5bGVzRWRpdG9yUmVmPy5jdXJyZW50ICYmIChlLmJ1dHRvbnMgPT09IDEgfHwgZS5idXR0b25zID09PSAzKSkge1xuICAgICAgICBjb25zdCBpc09wYWNpdHlaZXJvID0gcG9wdXBDaGFyU3R5bGVzRWRpdG9yUmVmLmN1cnJlbnQuc3R5bGUub3BhY2l0eSA9PT0gJzAnXG4gICAgICAgIGNvbnN0IGlzUG9pbnRlckV2ZW50c05vbmUgPSBwb3B1cENoYXJTdHlsZXNFZGl0b3JSZWYuY3VycmVudC5zdHlsZS5wb2ludGVyRXZlbnRzID09PSAnbm9uZSdcbiAgICAgICAgaWYgKCFpc09wYWNpdHlaZXJvIHx8ICFpc1BvaW50ZXJFdmVudHNOb25lKSB7XG4gICAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIG1vdXNlIGlzIG5vdCBvdmVyIHRoZSBwb3B1cFxuICAgICAgICAgIGNvbnN0IHggPSBlLmNsaWVudFhcbiAgICAgICAgICBjb25zdCB5ID0gZS5jbGllbnRZXG4gICAgICAgICAgY29uc3QgZWxlbWVudFVuZGVyTW91c2UgPSBkb2N1bWVudC5lbGVtZW50RnJvbVBvaW50KHgsIHkpXG4gICAgICAgICAgaWYgKCFwb3B1cENoYXJTdHlsZXNFZGl0b3JSZWYuY3VycmVudC5jb250YWlucyhlbGVtZW50VW5kZXJNb3VzZSkpIHtcbiAgICAgICAgICAgIC8vIE1vdXNlIGlzIG5vdCBvdmVyIHRoZSB0YXJnZXQgZWxlbWVudCA9PiBub3QgYSBub3JtYWwgY2xpY2ssIGJ1dCBwcm9iYWJseSBhIGRyYWdcbiAgICAgICAgICAgIGNsb3NlRmxvYXRpbmdUb29sYmFyKClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIFtjbG9zZUZsb2F0aW5nVG9vbGJhcl0sXG4gIClcblxuICBjb25zdCBtb3VzZVVwTGlzdGVuZXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKHBvcHVwQ2hhclN0eWxlc0VkaXRvclJlZj8uY3VycmVudCkge1xuICAgICAgaWYgKHBvcHVwQ2hhclN0eWxlc0VkaXRvclJlZi5jdXJyZW50LnN0eWxlLm9wYWNpdHkgIT09ICcxJykge1xuICAgICAgICBwb3B1cENoYXJTdHlsZXNFZGl0b3JSZWYuY3VycmVudC5zdHlsZS5vcGFjaXR5ID0gJzEnXG4gICAgICB9XG4gICAgICBpZiAocG9wdXBDaGFyU3R5bGVzRWRpdG9yUmVmLmN1cnJlbnQuc3R5bGUucG9pbnRlckV2ZW50cyAhPT0gJ2F1dG8nKSB7XG4gICAgICAgIHBvcHVwQ2hhclN0eWxlc0VkaXRvclJlZi5jdXJyZW50LnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnYXV0bydcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtwb3B1cENoYXJTdHlsZXNFZGl0b3JSZWZdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgbW91c2VNb3ZlTGlzdGVuZXIpXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIG1vdXNlVXBMaXN0ZW5lcilcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBtb3VzZU1vdmVMaXN0ZW5lcilcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCBtb3VzZVVwTGlzdGVuZXIpXG4gICAgfVxuICB9LCBbcG9wdXBDaGFyU3R5bGVzRWRpdG9yUmVmLCBtb3VzZU1vdmVMaXN0ZW5lciwgbW91c2VVcExpc3RlbmVyXSlcblxuICBjb25zdCB1cGRhdGVUZXh0Rm9ybWF0RmxvYXRpbmdUb29sYmFyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGlvbiA9ICRnZXRTZWxlY3Rpb24oKVxuXG4gICAgY29uc3QgcG9wdXBDaGFyU3R5bGVzRWRpdG9yRWxlbSA9IHBvcHVwQ2hhclN0eWxlc0VkaXRvclJlZi5jdXJyZW50XG4gICAgY29uc3QgbmF0aXZlU2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpXG5cbiAgICBpZiAocG9wdXBDaGFyU3R5bGVzRWRpdG9yRWxlbSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3Qgcm9vdEVsZW1lbnQgPSBlZGl0b3IuZ2V0Um9vdEVsZW1lbnQoKVxuICAgIGlmIChcbiAgICAgIHNlbGVjdGlvbiAhPT0gbnVsbCAmJlxuICAgICAgbmF0aXZlU2VsZWN0aW9uICE9PSBudWxsICYmXG4gICAgICAhbmF0aXZlU2VsZWN0aW9uLmlzQ29sbGFwc2VkICYmXG4gICAgICByb290RWxlbWVudCAhPT0gbnVsbCAmJlxuICAgICAgcm9vdEVsZW1lbnQuY29udGFpbnMobmF0aXZlU2VsZWN0aW9uLmFuY2hvck5vZGUpXG4gICAgKSB7XG4gICAgICBjb25zdCByYW5nZVJlY3QgPSBnZXRET01SYW5nZVJlY3QobmF0aXZlU2VsZWN0aW9uLCByb290RWxlbWVudClcblxuICAgICAgc2V0RmxvYXRpbmdFbGVtUG9zaXRpb24ocmFuZ2VSZWN0LCBwb3B1cENoYXJTdHlsZXNFZGl0b3JFbGVtLCBhbmNob3JFbGVtLCAnY2VudGVyJylcblxuICAgICAgaWYgKGNhcmV0UmVmLmN1cnJlbnQpIHtcbiAgICAgICAgc2V0RmxvYXRpbmdFbGVtUG9zaXRpb24oXG4gICAgICAgICAgcmFuZ2VSZWN0LCAvLyBzZWxlY3Rpb24gdG8gcG9zaXRpb24gYXJvdW5kXG4gICAgICAgICAgY2FyZXRSZWYuY3VycmVudCwgLy8gd2hhdCB0byBwb3NpdGlvblxuICAgICAgICAgIHBvcHVwQ2hhclN0eWxlc0VkaXRvckVsZW0sIC8vIGFuY2hvciBlbGVtXG4gICAgICAgICAgJ2NlbnRlcicsXG4gICAgICAgICAgMTAsXG4gICAgICAgICAgNSxcbiAgICAgICAgICB0cnVlLFxuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuICB9LCBbZWRpdG9yLCBhbmNob3JFbGVtXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHNjcm9sbGVyRWxlbSA9IGFuY2hvckVsZW0ucGFyZW50RWxlbWVudFxuXG4gICAgY29uc3QgdXBkYXRlID0gKCkgPT4ge1xuICAgICAgZWRpdG9yLmdldEVkaXRvclN0YXRlKCkucmVhZCgoKSA9PiB7XG4gICAgICAgIHVwZGF0ZVRleHRGb3JtYXRGbG9hdGluZ1Rvb2xiYXIoKVxuICAgICAgfSlcbiAgICB9XG5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncmVzaXplJywgdXBkYXRlKVxuICAgIGlmIChzY3JvbGxlckVsZW0pIHtcbiAgICAgIHNjcm9sbGVyRWxlbS5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB1cGRhdGUpXG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdyZXNpemUnLCB1cGRhdGUpXG4gICAgICBpZiAoc2Nyb2xsZXJFbGVtKSB7XG4gICAgICAgIHNjcm9sbGVyRWxlbS5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB1cGRhdGUpXG4gICAgICB9XG4gICAgfVxuICB9LCBbZWRpdG9yLCB1cGRhdGVUZXh0Rm9ybWF0RmxvYXRpbmdUb29sYmFyLCBhbmNob3JFbGVtXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGVkaXRvci5nZXRFZGl0b3JTdGF0ZSgpLnJlYWQoKCkgPT4ge1xuICAgICAgdXBkYXRlVGV4dEZvcm1hdEZsb2F0aW5nVG9vbGJhcigpXG4gICAgfSlcbiAgICByZXR1cm4gbWVyZ2VSZWdpc3RlcihcbiAgICAgIGVkaXRvci5yZWdpc3RlclVwZGF0ZUxpc3RlbmVyKCh7IGVkaXRvclN0YXRlIH0pID0+IHtcbiAgICAgICAgZWRpdG9yU3RhdGUucmVhZCgoKSA9PiB7XG4gICAgICAgICAgdXBkYXRlVGV4dEZvcm1hdEZsb2F0aW5nVG9vbGJhcigpXG4gICAgICAgIH0pXG4gICAgICB9KSxcblxuICAgICAgZWRpdG9yLnJlZ2lzdGVyQ29tbWFuZChcbiAgICAgICAgU0VMRUNUSU9OX0NIQU5HRV9DT01NQU5ELFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdXBkYXRlVGV4dEZvcm1hdEZsb2F0aW5nVG9vbGJhcigpXG4gICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIENPTU1BTkRfUFJJT1JJVFlfTE9XLFxuICAgICAgKSxcbiAgICApXG4gIH0sIFtlZGl0b3IsIHVwZGF0ZVRleHRGb3JtYXRGbG9hdGluZ1Rvb2xiYXJdKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJmbG9hdGluZy1zZWxlY3QtdG9vbGJhci1wb3B1cFwiIHJlZj17cG9wdXBDaGFyU3R5bGVzRWRpdG9yUmVmfT5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiY2FyZXRcIiByZWY9e2NhcmV0UmVmfSAvPlxuICAgICAge2VkaXRvci5pc0VkaXRhYmxlKCkgJiYgKFxuICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAge2VkaXRvckNvbmZpZz8uZmVhdHVyZXMgJiZcbiAgICAgICAgICAgIGVkaXRvckNvbmZpZy5mZWF0dXJlcz8uZmxvYXRpbmdTZWxlY3RUb29sYmFyPy5zZWN0aW9ucy5tYXAoKHNlY3Rpb24sIGkpID0+IHtcbiAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2BmbG9hdGluZy1zZWxlY3QtdG9vbGJhci1wb3B1cF9fc2VjdGlvbiBmbG9hdGluZy1zZWxlY3QtdG9vbGJhci1wb3B1cF9fc2VjdGlvbi0ke3NlY3Rpb24ua2V5fWB9XG4gICAgICAgICAgICAgICAgICBrZXk9e3NlY3Rpb24ua2V5fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtzZWN0aW9uLnR5cGUgPT09ICdkcm9wZG93bicgJiYgc2VjdGlvbi5lbnRyaWVzLmxlbmd0aCAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxUb29sYmFyRHJvcGRvd25cbiAgICAgICAgICAgICAgICAgICAgICBJY29uPXtzZWN0aW9uLkNoaWxkQ29tcG9uZW50fVxuICAgICAgICAgICAgICAgICAgICAgIGFuY2hvckVsZW09e2FuY2hvckVsZW19XG4gICAgICAgICAgICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICAgICAgICAgICAgZW50cmllcz17c2VjdGlvbi5lbnRyaWVzfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIHtzZWN0aW9uLnR5cGUgPT09ICdidXR0b25zJyAmJlxuICAgICAgICAgICAgICAgICAgICBzZWN0aW9uLmVudHJpZXMubGVuZ3RoICYmXG4gICAgICAgICAgICAgICAgICAgIHNlY3Rpb24uZW50cmllcy5tYXAoKGVudHJ5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGVudHJ5LkNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGVudHJ5LkNvbXBvbmVudFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuY2hvckVsZW09e2FuY2hvckVsZW19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50cnk9e2VudHJ5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17ZW50cnkua2V5fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFRvb2xiYXJCdXR0b24gZW50cnk9e2VudHJ5fSBrZXk9e2VudHJ5LmtleX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxlbnRyeS5DaGlsZENvbXBvbmVudCAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9Ub29sYmFyQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICB7aSA8IGVkaXRvckNvbmZpZy5mZWF0dXJlcy5mbG9hdGluZ1NlbGVjdFRvb2xiYXI/LnNlY3Rpb25zLmxlbmd0aCAtIDEgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRpdmlkZXJcIiAvPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgfSl9XG4gICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApXG59XG5cbmZ1bmN0aW9uIHVzZUZsb2F0aW5nVGV4dEZvcm1hdFRvb2xiYXIoXG4gIGVkaXRvcjogTGV4aWNhbEVkaXRvcixcbiAgYW5jaG9yRWxlbTogSFRNTEVsZW1lbnQsXG4pOiBKU1guRWxlbWVudCB8IG51bGwge1xuICBjb25zdCBbaXNUZXh0LCBzZXRJc1RleHRdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgdXBkYXRlUG9wdXAgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgZWRpdG9yLmdldEVkaXRvclN0YXRlKCkucmVhZCgoKSA9PiB7XG4gICAgICAvLyBTaG91bGQgbm90IHRvIHBvcCB1cCB0aGUgZmxvYXRpbmcgdG9vbGJhciB3aGVuIHVzaW5nIElNRSBpbnB1dFxuICAgICAgaWYgKGVkaXRvci5pc0NvbXBvc2luZygpKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgY29uc3Qgc2VsZWN0aW9uID0gJGdldFNlbGVjdGlvbigpXG4gICAgICBjb25zdCBuYXRpdmVTZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKClcbiAgICAgIGNvbnN0IHJvb3RFbGVtZW50ID0gZWRpdG9yLmdldFJvb3RFbGVtZW50KClcblxuICAgICAgaWYgKFxuICAgICAgICBuYXRpdmVTZWxlY3Rpb24gIT09IG51bGwgJiZcbiAgICAgICAgKCEkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pIHx8XG4gICAgICAgICAgcm9vdEVsZW1lbnQgPT09IG51bGwgfHxcbiAgICAgICAgICAhcm9vdEVsZW1lbnQuY29udGFpbnMobmF0aXZlU2VsZWN0aW9uLmFuY2hvck5vZGUpKVxuICAgICAgKSB7XG4gICAgICAgIHNldElzVGV4dChmYWxzZSlcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGlmICghJGlzUmFuZ2VTZWxlY3Rpb24oc2VsZWN0aW9uKSkge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKHNlbGVjdGlvbi5nZXRUZXh0Q29udGVudCgpICE9PSAnJykge1xuICAgICAgICBjb25zdCBub2RlcyA9IHNlbGVjdGlvbi5nZXROb2RlcygpXG4gICAgICAgIGxldCBmb3VuZE5vZGVXaXRoVGV4dCA9IGZhbHNlXG4gICAgICAgIGZvciAoY29uc3Qgbm9kZSBvZiBub2Rlcykge1xuICAgICAgICAgIGlmICgkaXNUZXh0Tm9kZShub2RlKSkge1xuICAgICAgICAgICAgc2V0SXNUZXh0KHRydWUpXG4gICAgICAgICAgICBmb3VuZE5vZGVXaXRoVGV4dCA9IHRydWVcbiAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghZm91bmROb2RlV2l0aFRleHQpIHtcbiAgICAgICAgICBzZXRJc1RleHQoZmFsc2UpXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldElzVGV4dChmYWxzZSlcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmF3VGV4dENvbnRlbnQgPSBzZWxlY3Rpb24uZ2V0VGV4dENvbnRlbnQoKS5yZXBsYWNlKC9cXG4vZywgJycpXG4gICAgICBpZiAoIXNlbGVjdGlvbi5pc0NvbGxhcHNlZCgpICYmIHJhd1RleHRDb250ZW50ID09PSAnJykge1xuICAgICAgICBzZXRJc1RleHQoZmFsc2UpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgIH0pXG4gIH0sIFtlZGl0b3JdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2VsZWN0aW9uY2hhbmdlJywgdXBkYXRlUG9wdXApXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHVwZGF0ZVBvcHVwKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdzZWxlY3Rpb25jaGFuZ2UnLCB1cGRhdGVQb3B1cClcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNldXAnLCB1cGRhdGVQb3B1cClcbiAgICB9XG4gIH0sIFt1cGRhdGVQb3B1cF0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gbWVyZ2VSZWdpc3RlcihcbiAgICAgIGVkaXRvci5yZWdpc3RlclVwZGF0ZUxpc3RlbmVyKCgpID0+IHtcbiAgICAgICAgdXBkYXRlUG9wdXAoKVxuICAgICAgfSksXG4gICAgICBlZGl0b3IucmVnaXN0ZXJSb290TGlzdGVuZXIoKCkgPT4ge1xuICAgICAgICBpZiAoZWRpdG9yLmdldFJvb3RFbGVtZW50KCkgPT09IG51bGwpIHtcbiAgICAgICAgICBzZXRJc1RleHQoZmFsc2UpXG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgIClcbiAgfSwgW2VkaXRvciwgdXBkYXRlUG9wdXBdKVxuXG4gIGlmICghaXNUZXh0KSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIHJldHVybiBjcmVhdGVQb3J0YWwoPEZsb2F0aW5nU2VsZWN0VG9vbGJhciBhbmNob3JFbGVtPXthbmNob3JFbGVtfSBlZGl0b3I9e2VkaXRvcn0gLz4sIGFuY2hvckVsZW0pXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBGbG9hdGluZ1NlbGVjdFRvb2xiYXJQbHVnaW4oe1xuICBhbmNob3JFbGVtID0gZG9jdW1lbnQuYm9keSxcbn06IHtcbiAgYW5jaG9yRWxlbT86IEhUTUxFbGVtZW50XG59KTogSlNYLkVsZW1lbnQgfCBudWxsIHtcbiAgY29uc3QgW2VkaXRvcl0gPSB1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0KClcbiAgcmV0dXJuIHVzZUZsb2F0aW5nVGV4dEZvcm1hdFRvb2xiYXIoZWRpdG9yLCBhbmNob3JFbGVtKVxufVxuIl0sIm5hbWVzIjpbIkZsb2F0aW5nU2VsZWN0VG9vbGJhclBsdWdpbiIsIkZsb2F0aW5nU2VsZWN0VG9vbGJhciIsImFuY2hvckVsZW0iLCJlZGl0b3IiLCJwb3B1cENoYXJTdHlsZXNFZGl0b3JSZWYiLCJ1c2VSZWYiLCJjYXJldFJlZiIsImVkaXRvckNvbmZpZyIsInVzZUVkaXRvckNvbmZpZ0NvbnRleHQiLCJjbG9zZUZsb2F0aW5nVG9vbGJhciIsInVzZUNhbGxiYWNrIiwiY3VycmVudCIsImlzT3BhY2l0eVplcm8iLCJzdHlsZSIsIm9wYWNpdHkiLCJpc1BvaW50ZXJFdmVudHNOb25lIiwicG9pbnRlckV2ZW50cyIsIm1vdXNlTW92ZUxpc3RlbmVyIiwiZSIsImJ1dHRvbnMiLCJ4IiwiY2xpZW50WCIsInkiLCJjbGllbnRZIiwiZWxlbWVudFVuZGVyTW91c2UiLCJkb2N1bWVudCIsImVsZW1lbnRGcm9tUG9pbnQiLCJjb250YWlucyIsIm1vdXNlVXBMaXN0ZW5lciIsInVzZUVmZmVjdCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwidXBkYXRlVGV4dEZvcm1hdEZsb2F0aW5nVG9vbGJhciIsInNlbGVjdGlvbiIsIiRnZXRTZWxlY3Rpb24iLCJwb3B1cENoYXJTdHlsZXNFZGl0b3JFbGVtIiwibmF0aXZlU2VsZWN0aW9uIiwid2luZG93IiwiZ2V0U2VsZWN0aW9uIiwicm9vdEVsZW1lbnQiLCJnZXRSb290RWxlbWVudCIsImlzQ29sbGFwc2VkIiwiYW5jaG9yTm9kZSIsInJhbmdlUmVjdCIsImdldERPTVJhbmdlUmVjdCIsInNldEZsb2F0aW5nRWxlbVBvc2l0aW9uIiwic2Nyb2xsZXJFbGVtIiwicGFyZW50RWxlbWVudCIsInVwZGF0ZSIsImdldEVkaXRvclN0YXRlIiwicmVhZCIsIm1lcmdlUmVnaXN0ZXIiLCJyZWdpc3RlclVwZGF0ZUxpc3RlbmVyIiwiZWRpdG9yU3RhdGUiLCJyZWdpc3RlckNvbW1hbmQiLCJTRUxFQ1RJT05fQ0hBTkdFX0NPTU1BTkQiLCJDT01NQU5EX1BSSU9SSVRZX0xPVyIsImRpdiIsImNsYXNzTmFtZSIsInJlZiIsImlzRWRpdGFibGUiLCJSZWFjdCIsIkZyYWdtZW50IiwiZmVhdHVyZXMiLCJmbG9hdGluZ1NlbGVjdFRvb2xiYXIiLCJzZWN0aW9ucyIsIm1hcCIsInNlY3Rpb24iLCJpIiwia2V5IiwidHlwZSIsImVudHJpZXMiLCJsZW5ndGgiLCJUb29sYmFyRHJvcGRvd24iLCJJY29uIiwiQ2hpbGRDb21wb25lbnQiLCJlbnRyeSIsIkNvbXBvbmVudCIsIlRvb2xiYXJCdXR0b24iLCJ1c2VGbG9hdGluZ1RleHRGb3JtYXRUb29sYmFyIiwiaXNUZXh0Iiwic2V0SXNUZXh0IiwidXNlU3RhdGUiLCJ1cGRhdGVQb3B1cCIsImlzQ29tcG9zaW5nIiwiJGlzUmFuZ2VTZWxlY3Rpb24iLCJnZXRUZXh0Q29udGVudCIsIm5vZGVzIiwiZ2V0Tm9kZXMiLCJmb3VuZE5vZGVXaXRoVGV4dCIsIm5vZGUiLCIkaXNUZXh0Tm9kZSIsInJhd1RleHRDb250ZW50IiwicmVwbGFjZSIsInJlZ2lzdGVyUm9vdExpc3RlbmVyIiwiY3JlYXRlUG9ydGFsIiwiYm9keSIsInVzZUxleGljYWxDb21wb3NlckNvbnRleHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OzsrQkFpVGdCQTs7O2VB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
|
|
333
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9sZXhpY2FsL3BsdWdpbnMvRmxvYXRpbmdTZWxlY3RUb29sYmFyL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCB0eXBlIHsgTGV4aWNhbEVkaXRvciB9IGZyb20gJ2xleGljYWwnXG5cbmltcG9ydCB7IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQgfSBmcm9tICdAbGV4aWNhbC9yZWFjdC9MZXhpY2FsQ29tcG9zZXJDb250ZXh0J1xuaW1wb3J0IHsgbWVyZ2VSZWdpc3RlciB9IGZyb20gJ0BsZXhpY2FsL3V0aWxzJ1xuaW1wb3J0IHtcbiAgJGdldFNlbGVjdGlvbixcbiAgJGlzUmFuZ2VTZWxlY3Rpb24sXG4gICRpc1RleHROb2RlLFxuICBDT01NQU5EX1BSSU9SSVRZX0xPVyxcbiAgU0VMRUNUSU9OX0NIQU5HRV9DT01NQU5ELFxufSBmcm9tICdsZXhpY2FsJ1xuaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nXG5cbmltcG9ydCB0eXBlIHsgRmxvYXRpbmdUb29sYmFyU2VjdGlvbiwgRmxvYXRpbmdUb29sYmFyU2VjdGlvbkVudHJ5IH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgdXNlRWRpdG9yQ29uZmlnQ29udGV4dCB9IGZyb20gJy4uLy4uL2NvbmZpZy9FZGl0b3JDb25maWdQcm92aWRlcidcbmltcG9ydCB7IGdldERPTVJhbmdlUmVjdCB9IGZyb20gJy4uLy4uL3V0aWxzL2dldERPTVJhbmdlUmVjdCdcbmltcG9ydCB7IHNldEZsb2F0aW5nRWxlbVBvc2l0aW9uIH0gZnJvbSAnLi4vLi4vdXRpbHMvc2V0RmxvYXRpbmdFbGVtUG9zaXRpb24nXG5pbXBvcnQgeyBUb29sYmFyQnV0dG9uIH0gZnJvbSAnLi9Ub29sYmFyQnV0dG9uJ1xuaW1wb3J0IHsgVG9vbGJhckRyb3Bkb3duIH0gZnJvbSAnLi9Ub29sYmFyRHJvcGRvd24nXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcblxuZnVuY3Rpb24gQnV0dG9uU2VjdGlvbkVudHJ5KHtcbiAgYW5jaG9yRWxlbSxcbiAgZWRpdG9yLFxuICBlbnRyeSxcbn06IHtcbiAgYW5jaG9yRWxlbTogSFRNTEVsZW1lbnRcbiAgZWRpdG9yOiBMZXhpY2FsRWRpdG9yXG4gIGVudHJ5OiBGbG9hdGluZ1Rvb2xiYXJTZWN0aW9uRW50cnlcbn0pOiBKU1guRWxlbWVudCB7XG4gIGNvbnN0IENvbXBvbmVudCA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIHJldHVybiBlbnRyeT8uQ29tcG9uZW50XG4gICAgICA/IFJlYWN0LmxhenkoKCkgPT5cbiAgICAgICAgICBlbnRyeS5Db21wb25lbnQoKS50aGVuKChyZXNvbHZlZENvbXBvbmVudCkgPT4gKHtcbiAgICAgICAgICAgIGRlZmF1bHQ6IHJlc29sdmVkQ29tcG9uZW50LFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgKVxuICAgICAgOiBudWxsXG4gIH0sIFtlbnRyeV0pXG5cbiAgY29uc3QgQ2hpbGRDb21wb25lbnQgPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gZW50cnk/LkNoaWxkQ29tcG9uZW50XG4gICAgICA/IFJlYWN0LmxhenkoKCkgPT5cbiAgICAgICAgICBlbnRyeS5DaGlsZENvbXBvbmVudCgpLnRoZW4oKHJlc29sdmVkQ2hpbGRDb21wb25lbnQpID0+ICh7XG4gICAgICAgICAgICBkZWZhdWx0OiByZXNvbHZlZENoaWxkQ29tcG9uZW50LFxuICAgICAgICAgIH0pKSxcbiAgICAgICAgKVxuICAgICAgOiBudWxsXG4gIH0sIFtlbnRyeV0pXG5cbiAgaWYgKGVudHJ5LkNvbXBvbmVudCkge1xuICAgIHJldHVybiAoXG4gICAgICBDb21wb25lbnQgJiYgKFxuICAgICAgICA8UmVhY3QuU3VzcGVuc2U+XG4gICAgICAgICAgPENvbXBvbmVudCBhbmNob3JFbGVtPXthbmNob3JFbGVtfSBlZGl0b3I9e2VkaXRvcn0gZW50cnk9e2VudHJ5fSBrZXk9e2VudHJ5LmtleX0gLz57JyAnfVxuICAgICAgICA8L1JlYWN0LlN1c3BlbnNlPlxuICAgICAgKVxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFRvb2xiYXJCdXR0b24gZW50cnk9e2VudHJ5fSBrZXk9e2VudHJ5LmtleX0+XG4gICAgICB7Q2hpbGRDb21wb25lbnQgJiYgKFxuICAgICAgICA8UmVhY3QuU3VzcGVuc2U+XG4gICAgICAgICAgPENoaWxkQ29tcG9uZW50IC8+XG4gICAgICAgIDwvUmVhY3QuU3VzcGVuc2U+XG4gICAgICApfVxuICAgIDwvVG9vbGJhckJ1dHRvbj5cbiAgKVxufVxuXG5mdW5jdGlvbiBUb29sYmFyU2VjdGlvbih7XG4gIGFuY2hvckVsZW0sXG4gIGVkaXRvcixcbiAgaW5kZXgsXG4gIHNlY3Rpb24sXG59OiB7XG4gIGFuY2hvckVsZW06IEhUTUxFbGVtZW50XG4gIGVkaXRvcjogTGV4aWNhbEVkaXRvclxuICBpbmRleDogbnVtYmVyXG4gIHNlY3Rpb246IEZsb2F0aW5nVG9vbGJhclNlY3Rpb25cbn0pOiBKU1guRWxlbWVudCB7XG4gIGNvbnN0IHsgZWRpdG9yQ29uZmlnIH0gPSB1c2VFZGl0b3JDb25maWdDb250ZXh0KClcblxuICBjb25zdCBJY29uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIHNlY3Rpb24/LnR5cGUgPT09ICdkcm9wZG93bicgJiYgc2VjdGlvbi5lbnRyaWVzLmxlbmd0aCAmJiBzZWN0aW9uLkNoaWxkQ29tcG9uZW50XG4gICAgICA/IFJlYWN0LmxhenkoKCkgPT5cbiAgICAgICAgICBzZWN0aW9uLkNoaWxkQ29tcG9uZW50KCkudGhlbigocmVzb2x2ZWRDb21wb25lbnQpID0+ICh7XG4gICAgICAgICAgICBkZWZhdWx0OiByZXNvbHZlZENvbXBvbmVudCxcbiAgICAgICAgICB9KSksXG4gICAgICAgIClcbiAgICAgIDogbnVsbFxuICB9LCBbc2VjdGlvbl0pXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2BmbG9hdGluZy1zZWxlY3QtdG9vbGJhci1wb3B1cF9fc2VjdGlvbiBmbG9hdGluZy1zZWxlY3QtdG9vbGJhci1wb3B1cF9fc2VjdGlvbi0ke3NlY3Rpb24ua2V5fWB9XG4gICAgICBrZXk9e3NlY3Rpb24ua2V5fVxuICAgID5cbiAgICAgIHtzZWN0aW9uLnR5cGUgPT09ICdkcm9wZG93bicgJiZcbiAgICAgICAgc2VjdGlvbi5lbnRyaWVzLmxlbmd0aCAmJlxuICAgICAgICAoSWNvbiA/IChcbiAgICAgICAgICA8UmVhY3QuU3VzcGVuc2U+XG4gICAgICAgICAgICA8VG9vbGJhckRyb3Bkb3duXG4gICAgICAgICAgICAgIEljb249e0ljb259XG4gICAgICAgICAgICAgIGFuY2hvckVsZW09e2FuY2hvckVsZW19XG4gICAgICAgICAgICAgIGVkaXRvcj17ZWRpdG9yfVxuICAgICAgICAgICAgICBlbnRyaWVzPXtzZWN0aW9uLmVudHJpZXN9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvUmVhY3QuU3VzcGVuc2U+XG4gICAgICAgICkgOiAoXG4gICAgICAgICAgPFRvb2xiYXJEcm9wZG93biBhbmNob3JFbGVtPXthbmNob3JFbGVtfSBlZGl0b3I9e2VkaXRvcn0gZW50cmllcz17c2VjdGlvbi5lbnRyaWVzfSAvPlxuICAgICAgICApKX1cbiAgICAgIHtzZWN0aW9uLnR5cGUgPT09ICdidXR0b25zJyAmJlxuICAgICAgICBzZWN0aW9uLmVudHJpZXMubGVuZ3RoICYmXG4gICAgICAgIHNlY3Rpb24uZW50cmllcy5tYXAoKGVudHJ5KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxCdXR0b25TZWN0aW9uRW50cnlcbiAgICAgICAgICAgICAgYW5jaG9yRWxlbT17YW5jaG9yRWxlbX1cbiAgICAgICAgICAgICAgZWRpdG9yPXtlZGl0b3J9XG4gICAgICAgICAgICAgIGVudHJ5PXtlbnRyeX1cbiAgICAgICAgICAgICAga2V5PXtlbnRyeS5rZXl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIClcbiAgICAgICAgfSl9XG4gICAgICB7aW5kZXggPCBlZGl0b3JDb25maWcuZmVhdHVyZXMuZmxvYXRpbmdTZWxlY3RUb29sYmFyPy5zZWN0aW9ucy5sZW5ndGggLSAxICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkaXZpZGVyXCIgLz5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZnVuY3Rpb24gRmxvYXRpbmdTZWxlY3RUb29sYmFyKHtcbiAgYW5jaG9yRWxlbSxcbiAgZWRpdG9yLFxufToge1xuICBhbmNob3JFbGVtOiBIVE1MRWxlbWVudFxuICBlZGl0b3I6IExleGljYWxFZGl0b3Jcbn0pOiBKU1guRWxlbWVudCB7XG4gIGNvbnN0IHBvcHVwQ2hhclN0eWxlc0VkaXRvclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpXG4gIGNvbnN0IGNhcmV0UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50IHwgbnVsbD4obnVsbClcblxuICBjb25zdCB7IGVkaXRvckNvbmZpZyB9ID0gdXNlRWRpdG9yQ29uZmlnQ29udGV4dCgpXG5cbiAgY29uc3QgY2xvc2VGbG9hdGluZ1Rvb2xiYXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaWYgKHBvcHVwQ2hhclN0eWxlc0VkaXRvclJlZj8uY3VycmVudCkge1xuICAgICAgY29uc3QgaXNPcGFjaXR5WmVybyA9IHBvcHVwQ2hhclN0eWxlc0VkaXRvclJlZi5jdXJyZW50LnN0eWxlLm9wYWNpdHkgPT09ICcwJ1xuICAgICAgY29uc3QgaXNQb2ludGVyRXZlbnRzTm9uZSA9IHBvcHVwQ2hhclN0eWxlc0VkaXRvclJlZi5jdXJyZW50LnN0eWxlLnBvaW50ZXJFdmVudHMgPT09ICdub25lJ1xuXG4gICAgICBpZiAoIWlzT3BhY2l0eVplcm8pIHtcbiAgICAgICAgcG9wdXBDaGFyU3R5bGVzRWRpdG9yUmVmLmN1cnJlbnQuc3R5bGUub3BhY2l0eSA9ICcwJ1xuICAgICAgfVxuICAgICAgaWYgKCFpc1BvaW50ZXJFdmVudHNOb25lKSB7XG4gICAgICAgIHBvcHVwQ2hhclN0eWxlc0VkaXRvclJlZi5jdXJyZW50LnN0eWxlLnBvaW50ZXJFdmVudHMgPSAnbm9uZSdcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtwb3B1cENoYXJTdHlsZXNFZGl0b3JSZWZdKVxuXG4gIGNvbnN0IG1vdXNlTW92ZUxpc3RlbmVyID0gdXNlQ2FsbGJhY2soXG4gICAgKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGlmIChwb3B1cENoYXJTdHlsZXNFZGl0b3JSZWY/LmN1cnJlbnQgJiYgKGUuYnV0dG9ucyA9PT0gMSB8fCBlLmJ1dHRvbnMgPT09IDMpKSB7XG4gICAgICAgIGNvbnN0IGlzT3BhY2l0eVplcm8gPSBwb3B1cENoYXJTdHlsZXNFZGl0b3JSZWYuY3VycmVudC5zdHlsZS5vcGFjaXR5ID09PSAnMCdcbiAgICAgICAgY29uc3QgaXNQb2ludGVyRXZlbnRzTm9uZSA9IHBvcHVwQ2hhclN0eWxlc0VkaXRvclJlZi5jdXJyZW50LnN0eWxlLnBvaW50ZXJFdmVudHMgPT09ICdub25lJ1xuICAgICAgICBpZiAoIWlzT3BhY2l0eVplcm8gfHwgIWlzUG9pbnRlckV2ZW50c05vbmUpIHtcbiAgICAgICAgICAvLyBDaGVjayBpZiB0aGUgbW91c2UgaXMgbm90IG92ZXIgdGhlIHBvcHVwXG4gICAgICAgICAgY29uc3QgeCA9IGUuY2xpZW50WFxuICAgICAgICAgIGNvbnN0IHkgPSBlLmNsaWVudFlcbiAgICAgICAgICBjb25zdCBlbGVtZW50VW5kZXJNb3VzZSA9IGRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoeCwgeSlcbiAgICAgICAgICBpZiAoIXBvcHVwQ2hhclN0eWxlc0VkaXRvclJlZi5jdXJyZW50LmNvbnRhaW5zKGVsZW1lbnRVbmRlck1vdXNlKSkge1xuICAgICAgICAgICAgLy8gTW91c2UgaXMgbm90IG92ZXIgdGhlIHRhcmdldCBlbGVtZW50ID0+IG5vdCBhIG5vcm1hbCBjbGljaywgYnV0IHByb2JhYmx5IGEgZHJhZ1xuICAgICAgICAgICAgY2xvc2VGbG9hdGluZ1Rvb2xiYXIoKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgW2Nsb3NlRmxvYXRpbmdUb29sYmFyXSxcbiAgKVxuXG4gIGNvbnN0IG1vdXNlVXBMaXN0ZW5lciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAocG9wdXBDaGFyU3R5bGVzRWRpdG9yUmVmPy5jdXJyZW50KSB7XG4gICAgICBpZiAocG9wdXBDaGFyU3R5bGVzRWRpdG9yUmVmLmN1cnJlbnQuc3R5bGUub3BhY2l0eSAhPT0gJzEnKSB7XG4gICAgICAgIHBvcHVwQ2hhclN0eWxlc0VkaXRvclJlZi5jdXJyZW50LnN0eWxlLm9wYWNpdHkgPSAnMSdcbiAgICAgIH1cbiAgICAgIGlmIChwb3B1cENoYXJTdHlsZXNFZGl0b3JSZWYuY3VycmVudC5zdHlsZS5wb2ludGVyRXZlbnRzICE9PSAnYXV0bycpIHtcbiAgICAgICAgcG9wdXBDaGFyU3R5bGVzRWRpdG9yUmVmLmN1cnJlbnQuc3R5bGUucG9pbnRlckV2ZW50cyA9ICdhdXRvJ1xuICAgICAgfVxuICAgIH1cbiAgfSwgW3BvcHVwQ2hhclN0eWxlc0VkaXRvclJlZl0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1vdmUnLCBtb3VzZU1vdmVMaXN0ZW5lcilcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgbW91c2VVcExpc3RlbmVyKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlbW92ZScsIG1vdXNlTW92ZUxpc3RlbmVyKVxuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIG1vdXNlVXBMaXN0ZW5lcilcbiAgICB9XG4gIH0sIFtwb3B1cENoYXJTdHlsZXNFZGl0b3JSZWYsIG1vdXNlTW92ZUxpc3RlbmVyLCBtb3VzZVVwTGlzdGVuZXJdKVxuXG4gIGNvbnN0IHVwZGF0ZVRleHRGb3JtYXRGbG9hdGluZ1Rvb2xiYXIgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0aW9uID0gJGdldFNlbGVjdGlvbigpXG5cbiAgICBjb25zdCBwb3B1cENoYXJTdHlsZXNFZGl0b3JFbGVtID0gcG9wdXBDaGFyU3R5bGVzRWRpdG9yUmVmLmN1cnJlbnRcbiAgICBjb25zdCBuYXRpdmVTZWxlY3Rpb24gPSB3aW5kb3cuZ2V0U2VsZWN0aW9uKClcblxuICAgIGlmIChwb3B1cENoYXJTdHlsZXNFZGl0b3JFbGVtID09PSBudWxsKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCByb290RWxlbWVudCA9IGVkaXRvci5nZXRSb290RWxlbWVudCgpXG4gICAgaWYgKFxuICAgICAgc2VsZWN0aW9uICE9PSBudWxsICYmXG4gICAgICBuYXRpdmVTZWxlY3Rpb24gIT09IG51bGwgJiZcbiAgICAgICFuYXRpdmVTZWxlY3Rpb24uaXNDb2xsYXBzZWQgJiZcbiAgICAgIHJvb3RFbGVtZW50ICE9PSBudWxsICYmXG4gICAgICByb290RWxlbWVudC5jb250YWlucyhuYXRpdmVTZWxlY3Rpb24uYW5jaG9yTm9kZSlcbiAgICApIHtcbiAgICAgIGNvbnN0IHJhbmdlUmVjdCA9IGdldERPTVJhbmdlUmVjdChuYXRpdmVTZWxlY3Rpb24sIHJvb3RFbGVtZW50KVxuXG4gICAgICBzZXRGbG9hdGluZ0VsZW1Qb3NpdGlvbihyYW5nZVJlY3QsIHBvcHVwQ2hhclN0eWxlc0VkaXRvckVsZW0sIGFuY2hvckVsZW0sICdjZW50ZXInKVxuXG4gICAgICBpZiAoY2FyZXRSZWYuY3VycmVudCkge1xuICAgICAgICBzZXRGbG9hdGluZ0VsZW1Qb3NpdGlvbihcbiAgICAgICAgICByYW5nZVJlY3QsIC8vIHNlbGVjdGlvbiB0byBwb3NpdGlvbiBhcm91bmRcbiAgICAgICAgICBjYXJldFJlZi5jdXJyZW50LCAvLyB3aGF0IHRvIHBvc2l0aW9uXG4gICAgICAgICAgcG9wdXBDaGFyU3R5bGVzRWRpdG9yRWxlbSwgLy8gYW5jaG9yIGVsZW1cbiAgICAgICAgICAnY2VudGVyJyxcbiAgICAgICAgICAxMCxcbiAgICAgICAgICA1LFxuICAgICAgICAgIHRydWUsXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtlZGl0b3IsIGFuY2hvckVsZW1dKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc2Nyb2xsZXJFbGVtID0gYW5jaG9yRWxlbS5wYXJlbnRFbGVtZW50XG5cbiAgICBjb25zdCB1cGRhdGUgPSAoKSA9PiB7XG4gICAgICBlZGl0b3IuZ2V0RWRpdG9yU3RhdGUoKS5yZWFkKCgpID0+IHtcbiAgICAgICAgdXBkYXRlVGV4dEZvcm1hdEZsb2F0aW5nVG9vbGJhcigpXG4gICAgICB9KVxuICAgIH1cblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdyZXNpemUnLCB1cGRhdGUpXG4gICAgaWYgKHNjcm9sbGVyRWxlbSkge1xuICAgICAgc2Nyb2xsZXJFbGVtLmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHVwZGF0ZSlcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHVwZGF0ZSlcbiAgICAgIGlmIChzY3JvbGxlckVsZW0pIHtcbiAgICAgICAgc2Nyb2xsZXJFbGVtLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHVwZGF0ZSlcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtlZGl0b3IsIHVwZGF0ZVRleHRGb3JtYXRGbG9hdGluZ1Rvb2xiYXIsIGFuY2hvckVsZW1dKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZWRpdG9yLmdldEVkaXRvclN0YXRlKCkucmVhZCgoKSA9PiB7XG4gICAgICB1cGRhdGVUZXh0Rm9ybWF0RmxvYXRpbmdUb29sYmFyKClcbiAgICB9KVxuICAgIHJldHVybiBtZXJnZVJlZ2lzdGVyKFxuICAgICAgZWRpdG9yLnJlZ2lzdGVyVXBkYXRlTGlzdGVuZXIoKHsgZWRpdG9yU3RhdGUgfSkgPT4ge1xuICAgICAgICBlZGl0b3JTdGF0ZS5yZWFkKCgpID0+IHtcbiAgICAgICAgICB1cGRhdGVUZXh0Rm9ybWF0RmxvYXRpbmdUb29sYmFyKClcbiAgICAgICAgfSlcbiAgICAgIH0pLFxuXG4gICAgICBlZGl0b3IucmVnaXN0ZXJDb21tYW5kKFxuICAgICAgICBTRUxFQ1RJT05fQ0hBTkdFX0NPTU1BTkQsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB1cGRhdGVUZXh0Rm9ybWF0RmxvYXRpbmdUb29sYmFyKClcbiAgICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgQ09NTUFORF9QUklPUklUWV9MT1csXG4gICAgICApLFxuICAgIClcbiAgfSwgW2VkaXRvciwgdXBkYXRlVGV4dEZvcm1hdEZsb2F0aW5nVG9vbGJhcl0pXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cImZsb2F0aW5nLXNlbGVjdC10b29sYmFyLXBvcHVwXCIgcmVmPXtwb3B1cENoYXJTdHlsZXNFZGl0b3JSZWZ9PlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJjYXJldFwiIHJlZj17Y2FyZXRSZWZ9IC8+XG4gICAgICB7ZWRpdG9yLmlzRWRpdGFibGUoKSAmJiAoXG4gICAgICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICB7ZWRpdG9yQ29uZmlnPy5mZWF0dXJlcyAmJlxuICAgICAgICAgICAgZWRpdG9yQ29uZmlnLmZlYXR1cmVzPy5mbG9hdGluZ1NlbGVjdFRvb2xiYXI/LnNlY3Rpb25zLm1hcCgoc2VjdGlvbiwgaSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxUb29sYmFyU2VjdGlvblxuICAgICAgICAgICAgICAgICAgYW5jaG9yRWxlbT17YW5jaG9yRWxlbX1cbiAgICAgICAgICAgICAgICAgIGVkaXRvcj17ZWRpdG9yfVxuICAgICAgICAgICAgICAgICAgaW5kZXg9e2l9XG4gICAgICAgICAgICAgICAgICBrZXk9e3NlY3Rpb24ua2V5fVxuICAgICAgICAgICAgICAgICAgc2VjdGlvbj17c2VjdGlvbn1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9KX1cbiAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICl9XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZnVuY3Rpb24gdXNlRmxvYXRpbmdUZXh0Rm9ybWF0VG9vbGJhcihcbiAgZWRpdG9yOiBMZXhpY2FsRWRpdG9yLFxuICBhbmNob3JFbGVtOiBIVE1MRWxlbWVudCxcbik6IEpTWC5FbGVtZW50IHwgbnVsbCB7XG4gIGNvbnN0IFtpc1RleHQsIHNldElzVGV4dF0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCB1cGRhdGVQb3B1cCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBlZGl0b3IuZ2V0RWRpdG9yU3RhdGUoKS5yZWFkKCgpID0+IHtcbiAgICAgIC8vIFNob3VsZCBub3QgdG8gcG9wIHVwIHRoZSBmbG9hdGluZyB0b29sYmFyIHdoZW4gdXNpbmcgSU1FIGlucHV0XG4gICAgICBpZiAoZWRpdG9yLmlzQ29tcG9zaW5nKCkpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBjb25zdCBzZWxlY3Rpb24gPSAkZ2V0U2VsZWN0aW9uKClcbiAgICAgIGNvbnN0IG5hdGl2ZVNlbGVjdGlvbiA9IHdpbmRvdy5nZXRTZWxlY3Rpb24oKVxuICAgICAgY29uc3Qgcm9vdEVsZW1lbnQgPSBlZGl0b3IuZ2V0Um9vdEVsZW1lbnQoKVxuXG4gICAgICBpZiAoXG4gICAgICAgIG5hdGl2ZVNlbGVjdGlvbiAhPT0gbnVsbCAmJlxuICAgICAgICAoISRpc1JhbmdlU2VsZWN0aW9uKHNlbGVjdGlvbikgfHxcbiAgICAgICAgICByb290RWxlbWVudCA9PT0gbnVsbCB8fFxuICAgICAgICAgICFyb290RWxlbWVudC5jb250YWlucyhuYXRpdmVTZWxlY3Rpb24uYW5jaG9yTm9kZSkpXG4gICAgICApIHtcbiAgICAgICAgc2V0SXNUZXh0KGZhbHNlKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgaWYgKCEkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBpZiAoc2VsZWN0aW9uLmdldFRleHRDb250ZW50KCkgIT09ICcnKSB7XG4gICAgICAgIGNvbnN0IG5vZGVzID0gc2VsZWN0aW9uLmdldE5vZGVzKClcbiAgICAgICAgbGV0IGZvdW5kTm9kZVdpdGhUZXh0ID0gZmFsc2VcbiAgICAgICAgZm9yIChjb25zdCBub2RlIG9mIG5vZGVzKSB7XG4gICAgICAgICAgaWYgKCRpc1RleHROb2RlKG5vZGUpKSB7XG4gICAgICAgICAgICBzZXRJc1RleHQodHJ1ZSlcbiAgICAgICAgICAgIGZvdW5kTm9kZVdpdGhUZXh0ID0gdHJ1ZVxuICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFmb3VuZE5vZGVXaXRoVGV4dCkge1xuICAgICAgICAgIHNldElzVGV4dChmYWxzZSlcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0SXNUZXh0KGZhbHNlKVxuICAgICAgfVxuXG4gICAgICBjb25zdCByYXdUZXh0Q29udGVudCA9IHNlbGVjdGlvbi5nZXRUZXh0Q29udGVudCgpLnJlcGxhY2UoL1xcbi9nLCAnJylcbiAgICAgIGlmICghc2VsZWN0aW9uLmlzQ29sbGFwc2VkKCkgJiYgcmF3VGV4dENvbnRlbnQgPT09ICcnKSB7XG4gICAgICAgIHNldElzVGV4dChmYWxzZSlcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgfSlcbiAgfSwgW2VkaXRvcl0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdzZWxlY3Rpb25jaGFuZ2UnLCB1cGRhdGVQb3B1cClcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZXVwJywgdXBkYXRlUG9wdXApXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3NlbGVjdGlvbmNoYW5nZScsIHVwZGF0ZVBvcHVwKVxuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2V1cCcsIHVwZGF0ZVBvcHVwKVxuICAgIH1cbiAgfSwgW3VwZGF0ZVBvcHVwXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJldHVybiBtZXJnZVJlZ2lzdGVyKFxuICAgICAgZWRpdG9yLnJlZ2lzdGVyVXBkYXRlTGlzdGVuZXIoKCkgPT4ge1xuICAgICAgICB1cGRhdGVQb3B1cCgpXG4gICAgICB9KSxcbiAgICAgIGVkaXRvci5yZWdpc3RlclJvb3RMaXN0ZW5lcigoKSA9PiB7XG4gICAgICAgIGlmIChlZGl0b3IuZ2V0Um9vdEVsZW1lbnQoKSA9PT0gbnVsbCkge1xuICAgICAgICAgIHNldElzVGV4dChmYWxzZSlcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgKVxuICB9LCBbZWRpdG9yLCB1cGRhdGVQb3B1cF0pXG5cbiAgaWYgKCFpc1RleHQpIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZVBvcnRhbCg8RmxvYXRpbmdTZWxlY3RUb29sYmFyIGFuY2hvckVsZW09e2FuY2hvckVsZW19IGVkaXRvcj17ZWRpdG9yfSAvPiwgYW5jaG9yRWxlbSlcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEZsb2F0aW5nU2VsZWN0VG9vbGJhclBsdWdpbih7XG4gIGFuY2hvckVsZW0gPSBkb2N1bWVudC5ib2R5LFxufToge1xuICBhbmNob3JFbGVtPzogSFRNTEVsZW1lbnRcbn0pOiBKU1guRWxlbWVudCB8IG51bGwge1xuICBjb25zdCBbZWRpdG9yXSA9IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQoKVxuICByZXR1cm4gdXNlRmxvYXRpbmdUZXh0Rm9ybWF0VG9vbGJhcihlZGl0b3IsIGFuY2hvckVsZW0pXG59XG4iXSwibmFtZXMiOlsiRmxvYXRpbmdTZWxlY3RUb29sYmFyUGx1Z2luIiwiQnV0dG9uU2VjdGlvbkVudHJ5IiwiYW5jaG9yRWxlbSIsImVkaXRvciIsImVudHJ5IiwiQ29tcG9uZW50IiwidXNlTWVtbyIsIlJlYWN0IiwibGF6eSIsInRoZW4iLCJyZXNvbHZlZENvbXBvbmVudCIsImRlZmF1bHQiLCJDaGlsZENvbXBvbmVudCIsInJlc29sdmVkQ2hpbGRDb21wb25lbnQiLCJTdXNwZW5zZSIsImtleSIsIlRvb2xiYXJCdXR0b24iLCJUb29sYmFyU2VjdGlvbiIsImluZGV4Iiwic2VjdGlvbiIsImVkaXRvckNvbmZpZyIsInVzZUVkaXRvckNvbmZpZ0NvbnRleHQiLCJJY29uIiwidHlwZSIsImVudHJpZXMiLCJsZW5ndGgiLCJkaXYiLCJjbGFzc05hbWUiLCJUb29sYmFyRHJvcGRvd24iLCJtYXAiLCJmZWF0dXJlcyIsImZsb2F0aW5nU2VsZWN0VG9vbGJhciIsInNlY3Rpb25zIiwiRmxvYXRpbmdTZWxlY3RUb29sYmFyIiwicG9wdXBDaGFyU3R5bGVzRWRpdG9yUmVmIiwidXNlUmVmIiwiY2FyZXRSZWYiLCJjbG9zZUZsb2F0aW5nVG9vbGJhciIsInVzZUNhbGxiYWNrIiwiY3VycmVudCIsImlzT3BhY2l0eVplcm8iLCJzdHlsZSIsIm9wYWNpdHkiLCJpc1BvaW50ZXJFdmVudHNOb25lIiwicG9pbnRlckV2ZW50cyIsIm1vdXNlTW92ZUxpc3RlbmVyIiwiZSIsImJ1dHRvbnMiLCJ4IiwiY2xpZW50WCIsInkiLCJjbGllbnRZIiwiZWxlbWVudFVuZGVyTW91c2UiLCJkb2N1bWVudCIsImVsZW1lbnRGcm9tUG9pbnQiLCJjb250YWlucyIsIm1vdXNlVXBMaXN0ZW5lciIsInVzZUVmZmVjdCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwidXBkYXRlVGV4dEZvcm1hdEZsb2F0aW5nVG9vbGJhciIsInNlbGVjdGlvbiIsIiRnZXRTZWxlY3Rpb24iLCJwb3B1cENoYXJTdHlsZXNFZGl0b3JFbGVtIiwibmF0aXZlU2VsZWN0aW9uIiwid2luZG93IiwiZ2V0U2VsZWN0aW9uIiwicm9vdEVsZW1lbnQiLCJnZXRSb290RWxlbWVudCIsImlzQ29sbGFwc2VkIiwiYW5jaG9yTm9kZSIsInJhbmdlUmVjdCIsImdldERPTVJhbmdlUmVjdCIsInNldEZsb2F0aW5nRWxlbVBvc2l0aW9uIiwic2Nyb2xsZXJFbGVtIiwicGFyZW50RWxlbWVudCIsInVwZGF0ZSIsImdldEVkaXRvclN0YXRlIiwicmVhZCIsIm1lcmdlUmVnaXN0ZXIiLCJyZWdpc3RlclVwZGF0ZUxpc3RlbmVyIiwiZWRpdG9yU3RhdGUiLCJyZWdpc3RlckNvbW1hbmQiLCJTRUxFQ1RJT05fQ0hBTkdFX0NPTU1BTkQiLCJDT01NQU5EX1BSSU9SSVRZX0xPVyIsInJlZiIsImlzRWRpdGFibGUiLCJGcmFnbWVudCIsImkiLCJ1c2VGbG9hdGluZ1RleHRGb3JtYXRUb29sYmFyIiwiaXNUZXh0Iiwic2V0SXNUZXh0IiwidXNlU3RhdGUiLCJ1cGRhdGVQb3B1cCIsImlzQ29tcG9zaW5nIiwiJGlzUmFuZ2VTZWxlY3Rpb24iLCJnZXRUZXh0Q29udGVudCIsIm5vZGVzIiwiZ2V0Tm9kZXMiLCJmb3VuZE5vZGVXaXRoVGV4dCIsIm5vZGUiLCIkaXNUZXh0Tm9kZSIsInJhd1RleHRDb250ZW50IiwicmVwbGFjZSIsInJlZ2lzdGVyUm9vdExpc3RlbmVyIiwiY3JlYXRlUG9ydGFsIiwiYm9keSIsInVzZUxleGljYWxDb21wb3NlckNvbnRleHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7OzsrQkFzWWdCQTs7O2VBQUFBOzs7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
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import type { BaseSelection, LexicalEditor } from 'lexical';
|
|
2
|
+
import type React from 'react';
|
|
3
3
|
export type FloatingToolbarSection = {
|
|
4
|
-
ChildComponent?: React.FC
|
|
4
|
+
ChildComponent?: () => Promise<React.FC>;
|
|
5
5
|
entries: Array<FloatingToolbarSectionEntry>;
|
|
6
6
|
key: string;
|
|
7
7
|
order?: number;
|
|
@@ -13,13 +13,13 @@ export type FloatingToolbarSection = {
|
|
|
13
13
|
type: 'buttons';
|
|
14
14
|
};
|
|
15
15
|
export type FloatingToolbarSectionEntry = {
|
|
16
|
-
ChildComponent?: React.FC
|
|
16
|
+
ChildComponent?: () => Promise<React.FC>;
|
|
17
17
|
/** Use component to ignore the children and onClick properties. It does not use the default, pre-defined format Button component */
|
|
18
|
-
Component?: React.FC<{
|
|
18
|
+
Component?: () => Promise<React.FC<{
|
|
19
19
|
anchorElem: HTMLElement;
|
|
20
20
|
editor: LexicalEditor;
|
|
21
21
|
entry: FloatingToolbarSectionEntry;
|
|
22
|
-
}
|
|
22
|
+
}>>;
|
|
23
23
|
isActive?: ({ editor, selection }: {
|
|
24
24
|
editor: LexicalEditor;
|
|
25
25
|
selection: BaseSelection;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/field/lexical/plugins/FloatingSelectToolbar/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/field/lexical/plugins/FloatingSelectToolbar/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC3D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,MAAM,sBAAsB,GAC9B;IACE,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACxC,OAAO,EAAE,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC3C,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,UAAU,CAAA;CACjB,GACD;IACE,OAAO,EAAE,KAAK,CAAC,2BAA2B,CAAC,CAAA;IAC3C,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,SAAS,CAAA;CAChB,CAAA;AAEL,MAAM,MAAM,2BAA2B,GAAG;IACxC,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACxC,oIAAoI;IACpI,SAAS,CAAC,EAAE,MAAM,OAAO,CACvB,KAAK,CAAC,EAAE,CAAC;QACP,UAAU,EAAE,WAAW,CAAA;QACvB,MAAM,EAAE,aAAa,CAAA;QACrB,KAAK,EAAE,2BAA2B,CAAA;KACnC,CAAC,CACH,CAAA;IACD,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,SAAS,EAAE,aAAa,CAAA;KAAE,KAAK,OAAO,CAAA;IAClG,SAAS,CAAC,EAAE,CAAC,EACX,MAAM,EACN,SAAS,GACV,EAAE;QACD,MAAM,EAAE,aAAa,CAAA;QACrB,SAAS,EAAE,aAAa,CAAA;KACzB,KAAK,OAAO,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAA;IACtF,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { i18n } from 'i18next';
|
|
2
2
|
import type { LexicalEditor } from 'lexical';
|
|
3
3
|
import type { MutableRefObject } from 'react';
|
|
4
|
+
import type React from 'react';
|
|
4
5
|
export declare class SlashMenuOption {
|
|
5
|
-
Icon: React.FC
|
|
6
|
+
Icon: () => Promise<React.FC>;
|
|
6
7
|
displayName?: (({ i18n }: {
|
|
7
8
|
i18n: i18n;
|
|
8
9
|
}) => string) | string;
|
|
@@ -15,7 +16,7 @@ export declare class SlashMenuOption {
|
|
|
15
16
|
}) => void;
|
|
16
17
|
ref?: MutableRefObject<HTMLElement | null>;
|
|
17
18
|
constructor(key: string, options: {
|
|
18
|
-
Icon: React.FC
|
|
19
|
+
Icon: () => Promise<React.FC>;
|
|
19
20
|
displayName?: (({ i18n }: {
|
|
20
21
|
i18n: i18n;
|
|
21
22
|
}) => string) | string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AACnC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,qBAAa,eAAe;IAE1B,IAAI,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAE7B,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,KAAK,MAAM,CAAC,GAAG,MAAM,CAAA;IAE7D,GAAG,EAAE,MAAM,CAAA;IAEX,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAEzB,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAEvB,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;QAAE,MAAM,EAAE,aAAa,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAE3F,GAAG,CAAC,EAAE,gBAAgB,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;gBAGxC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC7B,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;YAAE,IAAI,EAAE,IAAI,CAAA;SAAE,KAAK,MAAM,CAAC,GAAG,MAAM,CAAA;QAC7D,gBAAgB,CAAC,EAAE,MAAM,CAAA;QACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;QACxB,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE;YAAE,MAAM,EAAE,aAAa,CAAC;YAAC,WAAW,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAA;KAC5F;IAaH,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;CAG1C;AAED,qBAAa,cAAc;IAEzB,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,KAAK,MAAM,CAAC,GAAG,MAAM,CAAA;IAC7D,GAAG,EAAE,MAAM,CAAA;IACX,OAAO,EAAE,KAAK,CAAC,eAAe,CAAC,CAAA;CAChC"}
|