@payloadcms/richtext-lexical 3.0.0-alpha.18 → 3.0.0-alpha.19
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.js +6 -33
- package/dist/cell/index.js +29 -80
- package/dist/exports/components.js +6 -33
- package/dist/field/Field.js +15 -66
- package/dist/field/features/align/feature.client.js +21 -31
- package/dist/field/features/align/feature.server.js +4 -14
- package/dist/field/features/align/floatingSelectToolbarAlignDropdownSection.js +4 -14
- package/dist/field/features/blockquote/feature.client.js +20 -30
- package/dist/field/features/blockquote/feature.server.js +11 -21
- package/dist/field/features/blockquote/markdownTransformer.js +9 -19
- package/dist/field/features/blocks/component/BlockContent.js +34 -85
- package/dist/field/features/blocks/component/FormSavePlugin.js +7 -17
- package/dist/field/features/blocks/component/index.js +25 -76
- package/dist/field/features/blocks/drawer/index.js +25 -84
- package/dist/field/features/blocks/feature.client.js +15 -25
- package/dist/field/features/blocks/feature.server.js +16 -26
- package/dist/field/features/blocks/nodes/BlocksNode.js +11 -78
- package/dist/field/features/blocks/plugin/commands.js +3 -13
- package/dist/field/features/blocks/plugin/index.js +20 -71
- package/dist/field/features/blocks/populationPromise.js +6 -16
- package/dist/field/features/blocks/validate.js +4 -14
- package/dist/field/features/common/floatingSelectToolbarFeaturesButtonsSection/index.js +2 -12
- package/dist/field/features/common/floatingSelectToolbarTextDropdownSection/index.js +4 -14
- package/dist/field/features/converters/html/converter/converters/linebreak.js +2 -12
- package/dist/field/features/converters/html/converter/converters/paragraph.js +4 -14
- package/dist/field/features/converters/html/converter/converters/text.js +10 -20
- package/dist/field/features/converters/html/converter/defaultConverters.js +8 -18
- package/dist/field/features/converters/html/converter/index.js +3 -21
- package/dist/field/features/converters/html/converter/types.js +2 -5
- package/dist/field/features/converters/html/feature.server.js +2 -12
- package/dist/field/features/converters/html/field/index.js +11 -25
- package/dist/field/features/createClientComponent.js +6 -14
- package/dist/field/features/createFeaturePropComponent.js +5 -15
- package/dist/field/features/debug/testrecorder/feature.client.js +5 -15
- package/dist/field/features/debug/testrecorder/feature.server.js +4 -14
- package/dist/field/features/debug/testrecorder/plugin/index.js +41 -99
- package/dist/field/features/debug/treeview/feature.client.js +5 -15
- package/dist/field/features/debug/treeview/feature.server.js +4 -14
- package/dist/field/features/debug/treeview/plugin/index.js +8 -59
- package/dist/field/features/format/bold/feature.client.js +14 -24
- package/dist/field/features/format/bold/feature.server.js +8 -18
- package/dist/field/features/format/bold/markdownTransformers.js +5 -29
- package/dist/field/features/format/common/floatingSelectToolbarSection.js +2 -12
- package/dist/field/features/format/inlinecode/feature.client.js +12 -22
- package/dist/field/features/format/inlinecode/feature.server.js +6 -16
- package/dist/field/features/format/inlinecode/markdownTransformers.js +2 -12
- package/dist/field/features/format/italic/feature.client.js +13 -23
- package/dist/field/features/format/italic/feature.server.js +7 -17
- package/dist/field/features/format/italic/markdownTransformers.js +3 -21
- package/dist/field/features/format/strikethrough/feature.client.js +12 -22
- package/dist/field/features/format/strikethrough/feature.server.js +6 -16
- package/dist/field/features/format/strikethrough/markdownTransformers.js +2 -12
- package/dist/field/features/format/subscript/feature.client.js +10 -20
- package/dist/field/features/format/subscript/feature.server.js +4 -14
- package/dist/field/features/format/superscript/feature.client.js +10 -20
- package/dist/field/features/format/superscript/feature.server.js +4 -14
- package/dist/field/features/format/underline/feature.client.js +10 -20
- package/dist/field/features/format/underline/feature.server.js +4 -14
- package/dist/field/features/heading/feature.client.js +28 -37
- package/dist/field/features/heading/feature.server.js +12 -22
- package/dist/field/features/heading/markdownTransformer.js +8 -18
- package/dist/field/features/indent/feature.client.js +13 -23
- package/dist/field/features/indent/feature.server.js +4 -14
- package/dist/field/features/indent/floatingSelectToolbarIndentSection.js +2 -12
- package/dist/field/features/link/drawer/baseFields.js +6 -16
- package/dist/field/features/link/drawer/index.js +24 -74
- package/dist/field/features/link/drawer/types.js +2 -5
- package/dist/field/features/link/feature.client.js +29 -39
- package/dist/field/features/link/feature.server.js +22 -32
- package/dist/field/features/link/nodes/AutoLinkNode.js +10 -29
- package/dist/field/features/link/nodes/LinkNode.js +18 -45
- package/dist/field/features/link/nodes/types.js +2 -5
- package/dist/field/features/link/plugins/autoLink/index.js +33 -51
- package/dist/field/features/link/plugins/clickableLink/index.js +5 -20
- package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/commands.js +3 -13
- package/dist/field/features/link/plugins/floatingLinkEditor/LinkEditor/index.js +64 -114
- package/dist/field/features/link/plugins/floatingLinkEditor/index.js +7 -58
- package/dist/field/features/link/plugins/floatingLinkEditor/types.js +5 -5
- package/dist/field/features/link/plugins/floatingLinkEditor/utilities.js +6 -14
- package/dist/field/features/link/plugins/link/index.js +21 -31
- package/dist/field/features/link/populationPromise.js +6 -16
- package/dist/field/features/lists/checklist/feature.client.js +21 -31
- package/dist/field/features/lists/checklist/feature.server.js +12 -22
- package/dist/field/features/lists/checklist/markdownTransformers.js +8 -18
- package/dist/field/features/lists/checklist/plugin/index.js +5 -20
- package/dist/field/features/lists/common/markdown.js +10 -28
- package/dist/field/features/lists/htmlConverter.js +9 -27
- package/dist/field/features/lists/orderedlist/feature.client.js +19 -29
- package/dist/field/features/lists/orderedlist/feature.server.js +12 -22
- package/dist/field/features/lists/orderedlist/markdownTransformer.js +8 -18
- package/dist/field/features/lists/plugin/index.js +5 -20
- package/dist/field/features/lists/unorderedlist/feature.client.js +19 -29
- package/dist/field/features/lists/unorderedlist/feature.server.js +12 -22
- package/dist/field/features/lists/unorderedlist/markdownTransformer.js +8 -18
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/client.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/converter.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/heading/index.js +6 -16
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/client.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/converter.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/link/index.js +6 -16
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/client.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/converter.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/list/index.js +6 -16
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/client.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/converter.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/listItem/index.js +6 -16
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/client.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/converter.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/quote/index.js +6 -16
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/client.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/converter.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/unknown/index.js +6 -16
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/client.js +4 -14
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/converter.js +2 -12
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/converters/upload/index.js +6 -16
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/defaultConverters.js +16 -26
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/index.js +5 -29
- package/dist/field/features/migrations/lexicalPluginToLexical/converter/types.js +2 -5
- package/dist/field/features/migrations/lexicalPluginToLexical/feature.client.js +7 -17
- package/dist/field/features/migrations/lexicalPluginToLexical/feature.server.js +9 -19
- package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/Component.js +5 -20
- package/dist/field/features/migrations/lexicalPluginToLexical/nodes/unknownConvertedNode/index.js +11 -73
- package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/client.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/converter.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/blockquote/index.js +6 -16
- package/dist/field/features/migrations/slateToLexical/converter/converters/heading/client.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/heading/converter.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/heading/index.js +6 -16
- package/dist/field/features/migrations/slateToLexical/converter/converters/indent/client.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/indent/converter.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/indent/index.js +6 -16
- package/dist/field/features/migrations/slateToLexical/converter/converters/link/client.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/link/converter.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/link/index.js +6 -16
- package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/client.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/converter.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/listItem/index.js +6 -16
- package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/client.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/converter.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/orderedList/index.js +6 -16
- package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/client.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/converter.js +2 -12
- package/dist/field/features/migrations/slateToLexical/converter/converters/relationship/index.js +6 -16
- package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/client.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/converter.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/unknown/index.js +6 -16
- package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/client.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/converter.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/unorderedList/index.js +6 -16
- package/dist/field/features/migrations/slateToLexical/converter/converters/upload/client.js +4 -14
- package/dist/field/features/migrations/slateToLexical/converter/converters/upload/converter.js +2 -12
- package/dist/field/features/migrations/slateToLexical/converter/converters/upload/index.js +6 -16
- package/dist/field/features/migrations/slateToLexical/converter/defaultConverters.js +22 -32
- package/dist/field/features/migrations/slateToLexical/converter/index.js +14 -41
- package/dist/field/features/migrations/slateToLexical/converter/types.js +2 -5
- package/dist/field/features/migrations/slateToLexical/feature.client.js +7 -17
- package/dist/field/features/migrations/slateToLexical/feature.server.js +9 -19
- package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/Component.js +5 -20
- package/dist/field/features/migrations/slateToLexical/nodes/unknownConvertedNode/index.js +11 -73
- package/dist/field/features/paragraph/feature.client.js +16 -26
- package/dist/field/features/paragraph/feature.server.js +4 -14
- package/dist/field/features/relationship/drawer/commands.js +3 -13
- package/dist/field/features/relationship/drawer/index.js +24 -75
- package/dist/field/features/relationship/feature.client.js +15 -25
- package/dist/field/features/relationship/feature.server.js +8 -18
- package/dist/field/features/relationship/nodes/RelationshipNode.js +9 -71
- package/dist/field/features/relationship/nodes/components/RelationshipComponent.js +35 -86
- package/dist/field/features/relationship/plugins/index.js +22 -80
- package/dist/field/features/relationship/populationPromise.js +4 -14
- package/dist/field/features/relationship/utils/EnabledRelationshipsCondition.js +8 -59
- package/dist/field/features/types.js +2 -5
- package/dist/field/features/upload/component/ExtraFieldsDrawer/index.js +36 -84
- package/dist/field/features/upload/component/index.js +47 -98
- package/dist/field/features/upload/drawer/commands.js +3 -13
- package/dist/field/features/upload/drawer/index.js +23 -74
- package/dist/field/features/upload/feature.client.js +13 -23
- package/dist/field/features/upload/feature.server.js +11 -21
- package/dist/field/features/upload/nodes/UploadNode.js +10 -72
- package/dist/field/features/upload/plugin/index.js +22 -81
- package/dist/field/features/upload/populationPromise.js +6 -16
- package/dist/field/features/upload/validate.js +9 -19
- package/dist/field/index.js +23 -74
- package/dist/field/lexical/EditorPlugin.js +5 -56
- package/dist/field/lexical/LexicalEditor.js +39 -94
- package/dist/field/lexical/LexicalProvider.js +15 -66
- package/dist/field/lexical/config/client/EditorConfigProvider.js +11 -69
- package/dist/field/lexical/config/client/default.js +4 -14
- package/dist/field/lexical/config/client/loader.js +5 -12
- package/dist/field/lexical/config/client/sanitize.js +3 -21
- package/dist/field/lexical/config/server/default.js +44 -68
- package/dist/field/lexical/config/server/loader.js +3 -21
- package/dist/field/lexical/config/server/sanitize.js +5 -23
- package/dist/field/lexical/config/types.js +2 -5
- package/dist/field/lexical/nodes/index.js +2 -12
- package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.js +19 -70
- package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.js +40 -98
- package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.js +11 -34
- package/dist/field/lexical/plugins/FloatingSelectToolbar/index.js +55 -105
- package/dist/field/lexical/plugins/FloatingSelectToolbar/types.js +2 -5
- package/dist/field/lexical/plugins/MarkdownShortcut/index.js +7 -58
- package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +39 -64
- package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +32 -97
- package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js +3 -21
- package/dist/field/lexical/plugins/SlashMenu/index.js +27 -77
- package/dist/field/lexical/plugins/SlashMenu/useMenuTriggerMatch.js +8 -16
- package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.js +35 -84
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/debounce.js +2 -12
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getBoundingRectWithoutTransform.js +2 -12
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/getNodeCloseToPoint.js +18 -28
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/highlightElemOriginalPosition.js +4 -14
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.js +52 -102
- package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/setTargetLine.js +8 -18
- package/dist/field/lexical/plugins/handles/utils/getCollapsedMargins.js +2 -12
- package/dist/field/lexical/plugins/handles/utils/getTopLevelNodeKeys.js +4 -14
- package/dist/field/lexical/plugins/handles/utils/isOnHandleElement.js +2 -12
- package/dist/field/lexical/plugins/handles/utils/setHandlePosition.js +2 -12
- package/dist/field/lexical/theme/EditorTheme.js +3 -13
- package/dist/field/lexical/ui/ContentEditable.js +6 -57
- package/dist/field/lexical/ui/icons/AI/index.js +7 -22
- package/dist/field/lexical/ui/icons/AlignCenter/index.js +6 -21
- package/dist/field/lexical/ui/icons/AlignJustify/index.js +6 -21
- package/dist/field/lexical/ui/icons/AlignLeft/index.js +6 -21
- package/dist/field/lexical/ui/icons/AlignRight/index.js +6 -21
- package/dist/field/lexical/ui/icons/Block/index.js +6 -21
- package/dist/field/lexical/ui/icons/Blockquote/index.js +4 -19
- package/dist/field/lexical/ui/icons/Bold/index.js +4 -19
- package/dist/field/lexical/ui/icons/Checklist/index.js +5 -20
- package/dist/field/lexical/ui/icons/Code/index.js +5 -20
- package/dist/field/lexical/ui/icons/CodeBlock/index.js +5 -20
- package/dist/field/lexical/ui/icons/H1/index.js +4 -19
- package/dist/field/lexical/ui/icons/H2/index.js +4 -19
- package/dist/field/lexical/ui/icons/H3/index.js +4 -19
- package/dist/field/lexical/ui/icons/H4/index.js +4 -19
- package/dist/field/lexical/ui/icons/H5/index.js +4 -19
- package/dist/field/lexical/ui/icons/H6/index.js +4 -19
- package/dist/field/lexical/ui/icons/IndentDecrease/index.js +7 -22
- package/dist/field/lexical/ui/icons/IndentIncrease/index.js +7 -22
- package/dist/field/lexical/ui/icons/Italic/index.js +4 -19
- package/dist/field/lexical/ui/icons/Link/index.js +7 -22
- package/dist/field/lexical/ui/icons/OrderedList/index.js +8 -23
- package/dist/field/lexical/ui/icons/Relationship/index.js +7 -22
- package/dist/field/lexical/ui/icons/Strikethrough/index.js +5 -20
- package/dist/field/lexical/ui/icons/Subscript/index.js +4 -19
- package/dist/field/lexical/ui/icons/Superscript/index.js +4 -19
- package/dist/field/lexical/ui/icons/Text/index.js +4 -19
- package/dist/field/lexical/ui/icons/Underline/index.js +5 -20
- package/dist/field/lexical/ui/icons/UnorderedList/index.js +9 -24
- package/dist/field/lexical/ui/icons/Upload/index.js +6 -21
- package/dist/field/lexical/utils/canUseDOM.js +2 -12
- package/dist/field/lexical/utils/cloneDeep.js +2 -12
- package/dist/field/lexical/utils/environment.js +13 -51
- package/dist/field/lexical/utils/getDOMRangeRect.js +2 -12
- package/dist/field/lexical/utils/getSelectedNode.js +5 -15
- package/dist/field/lexical/utils/guard.js +2 -12
- package/dist/field/lexical/utils/invariant.js +2 -12
- package/dist/field/lexical/utils/joinClasses.js +2 -12
- package/dist/field/lexical/utils/markdown/createBlockNode.js +2 -12
- package/dist/field/lexical/utils/nodeFormat.js +17 -61
- package/dist/field/lexical/utils/point.js +3 -21
- package/dist/field/lexical/utils/rect.js +4 -14
- package/dist/field/lexical/utils/setFloatingElemPosition.js +5 -12
- package/dist/field/lexical/utils/setFloatingElemPositionForLinkEditor.js +2 -12
- package/dist/field/lexical/utils/swipe.js +5 -29
- package/dist/field/lexical/utils/url.js +3 -21
- package/dist/generateComponentMap.js +10 -25
- package/dist/generateSchemaMap.js +4 -14
- package/dist/index.js +102 -489
- package/dist/populate/defaultValue.js +3 -21
- package/dist/populate/populate.js +2 -12
- package/dist/populate/recurseNestedFields.js +4 -14
- package/dist/populate/richTextRelationshipPromise.js +3 -21
- package/dist/types.js +2 -5
- package/dist/useLexicalFeature.js +6 -16
- package/dist/validate/index.js +6 -16
- package/dist/validate/validateNodes.js +2 -12
- package/package.json +7 -7
|
@@ -1,94 +1,44 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
32
|
-
})(nodeInterop);
|
|
33
|
-
}
|
|
34
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
|
35
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
36
|
-
return obj;
|
|
37
|
-
}
|
|
38
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
39
|
-
return {
|
|
40
|
-
default: obj
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
44
|
-
if (cache && cache.has(obj)) {
|
|
45
|
-
return cache.get(obj);
|
|
46
|
-
}
|
|
47
|
-
var newObj = {
|
|
48
|
-
__proto__: null
|
|
49
|
-
};
|
|
50
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
51
|
-
for(var key in obj){
|
|
52
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
53
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
54
|
-
if (desc && (desc.get || desc.set)) {
|
|
55
|
-
Object.defineProperty(newObj, key, desc);
|
|
56
|
-
} else {
|
|
57
|
-
newObj[key] = obj[key];
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
newObj.default = obj;
|
|
62
|
-
if (cache) {
|
|
63
|
-
cache.set(obj, newObj);
|
|
64
|
-
}
|
|
65
|
-
return newObj;
|
|
66
|
-
}
|
|
67
|
-
function LinkEditor({ anchorElem }) {
|
|
68
|
-
const [editor] = (0, _LexicalComposerContext.useLexicalComposerContext)();
|
|
69
|
-
const editorRef = (0, _react.useRef)(null);
|
|
70
|
-
const [linkUrl, setLinkUrl] = (0, _react.useState)('');
|
|
71
|
-
const [linkLabel, setLinkLabel] = (0, _react.useState)('');
|
|
72
|
-
const { uuid } = (0, _EditorConfigProvider.useEditorConfigContext)();
|
|
73
|
-
const config = (0, _ui.useConfig)();
|
|
74
|
-
const { i18n, t } = (0, _ui.useTranslation)();
|
|
75
|
-
const [stateData, setStateData] = (0, _react.useState)(null);
|
|
76
|
-
const { closeModal, toggleModal } = (0, _modal.useModal)();
|
|
77
|
-
const editDepth = (0, _ui.useEditDepth)();
|
|
78
|
-
const [isLink, setIsLink] = (0, _react.useState)(false);
|
|
79
|
-
const [isAutoLink, setIsAutoLink] = (0, _react.useState)(false);
|
|
80
|
-
const drawerSlug = (0, _ui.formatDrawerSlug)({
|
|
2
|
+
import { useModal } from '@faceless-ui/modal';
|
|
3
|
+
import { useLexicalComposerContext } from '@lexical/react/LexicalComposerContext';
|
|
4
|
+
import { $findMatchingParent, mergeRegister } from '@lexical/utils';
|
|
5
|
+
import { getTranslation } from '@payloadcms/translations';
|
|
6
|
+
import { formatDrawerSlug, useConfig, useEditDepth, useTranslation } from '@payloadcms/ui';
|
|
7
|
+
import { $getSelection, $isRangeSelection, COMMAND_PRIORITY_HIGH, COMMAND_PRIORITY_LOW, KEY_ESCAPE_COMMAND, SELECTION_CHANGE_COMMAND } from 'lexical';
|
|
8
|
+
import React, { useCallback, useEffect, useRef, useState } from 'react';
|
|
9
|
+
import { useEditorConfigContext } from '../../../../../lexical/config/client/EditorConfigProvider';
|
|
10
|
+
import { getSelectedNode } from '../../../../../lexical/utils/getSelectedNode';
|
|
11
|
+
import { setFloatingElemPositionForLinkEditor } from '../../../../../lexical/utils/setFloatingElemPositionForLinkEditor';
|
|
12
|
+
import { LinkDrawer } from '../../../drawer';
|
|
13
|
+
import { $isAutoLinkNode } from '../../../nodes/AutoLinkNode';
|
|
14
|
+
import { $createLinkNode } from '../../../nodes/LinkNode';
|
|
15
|
+
import { $isLinkNode, TOGGLE_LINK_COMMAND } from '../../../nodes/LinkNode';
|
|
16
|
+
import { TOGGLE_LINK_WITH_MODAL_COMMAND } from './commands';
|
|
17
|
+
export function LinkEditor({ anchorElem }) {
|
|
18
|
+
const [editor] = useLexicalComposerContext();
|
|
19
|
+
const editorRef = useRef(null);
|
|
20
|
+
const [linkUrl, setLinkUrl] = useState('');
|
|
21
|
+
const [linkLabel, setLinkLabel] = useState('');
|
|
22
|
+
const { uuid } = useEditorConfigContext();
|
|
23
|
+
const config = useConfig();
|
|
24
|
+
const { i18n, t } = useTranslation();
|
|
25
|
+
const [stateData, setStateData] = useState(null);
|
|
26
|
+
const { closeModal, toggleModal } = useModal();
|
|
27
|
+
const editDepth = useEditDepth();
|
|
28
|
+
const [isLink, setIsLink] = useState(false);
|
|
29
|
+
const [isAutoLink, setIsAutoLink] = useState(false);
|
|
30
|
+
const drawerSlug = formatDrawerSlug({
|
|
81
31
|
slug: `lexical-rich-text-link-` + uuid,
|
|
82
32
|
depth: editDepth
|
|
83
33
|
});
|
|
84
|
-
const updateLinkEditor =
|
|
85
|
-
const selection =
|
|
34
|
+
const updateLinkEditor = useCallback(()=>{
|
|
35
|
+
const selection = $getSelection();
|
|
86
36
|
let selectedNodeDomRect = null;
|
|
87
37
|
// Handle the data displayed in the floating link editor & drawer when you click on a link node
|
|
88
|
-
if (
|
|
89
|
-
const node =
|
|
38
|
+
if ($isRangeSelection(selection)) {
|
|
39
|
+
const node = getSelectedNode(selection);
|
|
90
40
|
selectedNodeDomRect = editor.getElementByKey(node.getKey())?.getBoundingClientRect();
|
|
91
|
-
const linkParent =
|
|
41
|
+
const linkParent = $findMatchingParent(node, $isLinkNode);
|
|
92
42
|
if (linkParent == null) {
|
|
93
43
|
setIsLink(false);
|
|
94
44
|
setIsAutoLink(false);
|
|
@@ -115,13 +65,13 @@ function LinkEditor({ anchorElem }) {
|
|
|
115
65
|
setLinkUrl(`/admin/collections/${linkParent.getFields()?.doc?.relationTo}/${linkParent.getFields()?.doc?.value}`);
|
|
116
66
|
const relatedField = config.collections.find((coll)=>coll.slug === linkParent.getFields()?.doc?.relationTo);
|
|
117
67
|
const label = t('fields:linkedTo', {
|
|
118
|
-
label:
|
|
68
|
+
label: getTranslation(relatedField.labels.singular, i18n)
|
|
119
69
|
}).replace(/<[^>]*>?/g, '');
|
|
120
70
|
setLinkLabel(label);
|
|
121
71
|
}
|
|
122
72
|
setStateData(data);
|
|
123
73
|
setIsLink(true);
|
|
124
|
-
if (
|
|
74
|
+
if ($isAutoLinkNode(linkParent)) {
|
|
125
75
|
setIsAutoLink(true);
|
|
126
76
|
} else {
|
|
127
77
|
setIsAutoLink(false);
|
|
@@ -142,11 +92,11 @@ function LinkEditor({ anchorElem }) {
|
|
|
142
92
|
}
|
|
143
93
|
if (selectedNodeDomRect != null) {
|
|
144
94
|
selectedNodeDomRect.y += 40;
|
|
145
|
-
|
|
95
|
+
setFloatingElemPositionForLinkEditor(selectedNodeDomRect, editorElem, anchorElem);
|
|
146
96
|
}
|
|
147
97
|
} else if (activeElement == null || activeElement.className !== 'link-input') {
|
|
148
98
|
if (rootElement !== null) {
|
|
149
|
-
|
|
99
|
+
setFloatingElemPositionForLinkEditor(null, editorElem, anchorElem);
|
|
150
100
|
}
|
|
151
101
|
setLinkUrl('');
|
|
152
102
|
setLinkLabel('');
|
|
@@ -159,21 +109,21 @@ function LinkEditor({ anchorElem }) {
|
|
|
159
109
|
t,
|
|
160
110
|
i18n
|
|
161
111
|
]);
|
|
162
|
-
|
|
163
|
-
return
|
|
164
|
-
editor.dispatchCommand(
|
|
112
|
+
useEffect(()=>{
|
|
113
|
+
return mergeRegister(editor.registerCommand(TOGGLE_LINK_WITH_MODAL_COMMAND, (payload)=>{
|
|
114
|
+
editor.dispatchCommand(TOGGLE_LINK_COMMAND, payload);
|
|
165
115
|
// Now, open the modal
|
|
166
116
|
updateLinkEditor();
|
|
167
117
|
toggleModal(drawerSlug);
|
|
168
118
|
return true;
|
|
169
|
-
},
|
|
119
|
+
}, COMMAND_PRIORITY_LOW));
|
|
170
120
|
}, [
|
|
171
121
|
editor,
|
|
172
122
|
updateLinkEditor,
|
|
173
123
|
toggleModal,
|
|
174
124
|
drawerSlug
|
|
175
125
|
]);
|
|
176
|
-
|
|
126
|
+
useEffect(()=>{
|
|
177
127
|
if (!isLink && editorRef) {
|
|
178
128
|
editorRef.current.style.opacity = '0';
|
|
179
129
|
editorRef.current.style.transform = 'translate(-10000px, -10000px)';
|
|
@@ -181,7 +131,7 @@ function LinkEditor({ anchorElem }) {
|
|
|
181
131
|
}, [
|
|
182
132
|
isLink
|
|
183
133
|
]);
|
|
184
|
-
|
|
134
|
+
useEffect(()=>{
|
|
185
135
|
const scrollerElem = anchorElem.parentElement;
|
|
186
136
|
const update = ()=>{
|
|
187
137
|
editor.getEditorState().read(()=>{
|
|
@@ -203,29 +153,29 @@ function LinkEditor({ anchorElem }) {
|
|
|
203
153
|
editor,
|
|
204
154
|
updateLinkEditor
|
|
205
155
|
]);
|
|
206
|
-
|
|
207
|
-
return
|
|
156
|
+
useEffect(()=>{
|
|
157
|
+
return mergeRegister(editor.registerUpdateListener(({ editorState })=>{
|
|
208
158
|
editorState.read(()=>{
|
|
209
159
|
void updateLinkEditor();
|
|
210
160
|
});
|
|
211
|
-
}), editor.registerCommand(
|
|
161
|
+
}), editor.registerCommand(SELECTION_CHANGE_COMMAND, ()=>{
|
|
212
162
|
void updateLinkEditor();
|
|
213
163
|
return true;
|
|
214
|
-
},
|
|
164
|
+
}, COMMAND_PRIORITY_LOW), editor.registerCommand(KEY_ESCAPE_COMMAND, ()=>{
|
|
215
165
|
if (isLink) {
|
|
216
166
|
setIsLink(false);
|
|
217
167
|
setIsAutoLink(false);
|
|
218
168
|
return true;
|
|
219
169
|
}
|
|
220
170
|
return false;
|
|
221
|
-
},
|
|
171
|
+
}, COMMAND_PRIORITY_HIGH));
|
|
222
172
|
}, [
|
|
223
173
|
editor,
|
|
224
174
|
updateLinkEditor,
|
|
225
175
|
setIsLink,
|
|
226
176
|
isLink
|
|
227
177
|
]);
|
|
228
|
-
|
|
178
|
+
useEffect(()=>{
|
|
229
179
|
editor.getEditorState().read(()=>{
|
|
230
180
|
void updateLinkEditor();
|
|
231
181
|
});
|
|
@@ -233,16 +183,16 @@ function LinkEditor({ anchorElem }) {
|
|
|
233
183
|
editor,
|
|
234
184
|
updateLinkEditor
|
|
235
185
|
]);
|
|
236
|
-
return /*#__PURE__*/
|
|
186
|
+
return /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement("div", {
|
|
237
187
|
className: "link-editor",
|
|
238
188
|
ref: editorRef
|
|
239
|
-
}, /*#__PURE__*/
|
|
189
|
+
}, /*#__PURE__*/ React.createElement("div", {
|
|
240
190
|
className: "link-input"
|
|
241
|
-
}, /*#__PURE__*/
|
|
191
|
+
}, /*#__PURE__*/ React.createElement("a", {
|
|
242
192
|
href: linkUrl,
|
|
243
193
|
rel: "noopener noreferrer",
|
|
244
194
|
target: "_blank"
|
|
245
|
-
}, linkLabel != null && linkLabel.length > 0 ? linkLabel : linkUrl), editor.isEditable() && /*#__PURE__*/
|
|
195
|
+
}, linkLabel != null && linkLabel.length > 0 ? linkLabel : linkUrl), editor.isEditable() && /*#__PURE__*/ React.createElement(React.Fragment, null, /*#__PURE__*/ React.createElement("button", {
|
|
246
196
|
"aria-label": "Edit link",
|
|
247
197
|
className: "link-edit",
|
|
248
198
|
onClick: ()=>{
|
|
@@ -253,29 +203,29 @@ function LinkEditor({ anchorElem }) {
|
|
|
253
203
|
},
|
|
254
204
|
tabIndex: 0,
|
|
255
205
|
type: "button"
|
|
256
|
-
}), !isAutoLink && /*#__PURE__*/
|
|
206
|
+
}), !isAutoLink && /*#__PURE__*/ React.createElement("button", {
|
|
257
207
|
"aria-label": "Remove link",
|
|
258
208
|
className: "link-trash",
|
|
259
209
|
onClick: ()=>{
|
|
260
|
-
editor.dispatchCommand(
|
|
210
|
+
editor.dispatchCommand(TOGGLE_LINK_COMMAND, null);
|
|
261
211
|
},
|
|
262
212
|
onMouseDown: (event)=>{
|
|
263
213
|
event.preventDefault();
|
|
264
214
|
},
|
|
265
215
|
tabIndex: 0,
|
|
266
216
|
type: "button"
|
|
267
|
-
})))), /*#__PURE__*/
|
|
217
|
+
})))), /*#__PURE__*/ React.createElement(LinkDrawer, {
|
|
268
218
|
drawerSlug: drawerSlug,
|
|
269
219
|
handleModalSubmit: (fields, data)=>{
|
|
270
220
|
closeModal(drawerSlug);
|
|
271
221
|
const newLinkPayload = data;
|
|
272
222
|
// See: https://github.com/facebook/lexical/pull/5536. This updates autolink nodes to link nodes whenever a change was made (which is good!).
|
|
273
223
|
editor.update(()=>{
|
|
274
|
-
const selection =
|
|
275
|
-
if (
|
|
276
|
-
const parent =
|
|
277
|
-
if (
|
|
278
|
-
const linkNode =
|
|
224
|
+
const selection = $getSelection();
|
|
225
|
+
if ($isRangeSelection(selection)) {
|
|
226
|
+
const parent = getSelectedNode(selection).getParent();
|
|
227
|
+
if ($isAutoLinkNode(parent)) {
|
|
228
|
+
const linkNode = $createLinkNode({
|
|
279
229
|
fields: newLinkPayload.fields
|
|
280
230
|
});
|
|
281
231
|
parent.replace(linkNode, true);
|
|
@@ -284,10 +234,10 @@ function LinkEditor({ anchorElem }) {
|
|
|
284
234
|
});
|
|
285
235
|
// Needs to happen AFTER a potential auto link => link node conversion, as otherwise, the updated text to display may be lost due to
|
|
286
236
|
// it being applied to the auto link node instead of the link node.
|
|
287
|
-
editor.dispatchCommand(
|
|
237
|
+
editor.dispatchCommand(TOGGLE_LINK_COMMAND, newLinkPayload);
|
|
288
238
|
},
|
|
289
239
|
stateData: stateData
|
|
290
240
|
}));
|
|
291
241
|
}
|
|
292
242
|
|
|
293
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL3BsdWdpbnMvZmxvYXRpbmdMaW5rRWRpdG9yL0xpbmtFZGl0b3IvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IHR5cGUgeyBGb3JtU3RhdGUgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBEYXRhIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgdXNlTW9kYWwgfSBmcm9tICdAZmFjZWxlc3MtdWkvbW9kYWwnXG5pbXBvcnQgeyB1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0IH0gZnJvbSAnQGxleGljYWwvcmVhY3QvTGV4aWNhbENvbXBvc2VyQ29udGV4dCdcbmltcG9ydCB7ICRmaW5kTWF0Y2hpbmdQYXJlbnQsIG1lcmdlUmVnaXN0ZXIgfSBmcm9tICdAbGV4aWNhbC91dGlscydcbmltcG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSAnQHBheWxvYWRjbXMvdHJhbnNsYXRpb25zJ1xuaW1wb3J0IHsgZm9ybWF0RHJhd2VyU2x1ZywgdXNlQ29uZmlnLCB1c2VFZGl0RGVwdGgsIHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAnQHBheWxvYWRjbXMvdWknXG5pbXBvcnQge1xuICAkZ2V0U2VsZWN0aW9uLFxuICAkaXNSYW5nZVNlbGVjdGlvbixcbiAgQ09NTUFORF9QUklPUklUWV9ISUdILFxuICBDT01NQU5EX1BSSU9SSVRZX0xPVyxcbiAgS0VZX0VTQ0FQRV9DT01NQU5ELFxuICBTRUxFQ1RJT05fQ0hBTkdFX0NPTU1BTkQsXG59IGZyb20gJ2xleGljYWwnXG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgdHlwZSB7IExpbmtOb2RlIH0gZnJvbSAnLi4vLi4vLi4vbm9kZXMvTGlua05vZGUnXG5pbXBvcnQgdHlwZSB7IExpbmtQYXlsb2FkIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IHVzZUVkaXRvckNvbmZpZ0NvbnRleHQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9sZXhpY2FsL2NvbmZpZy9jbGllbnQvRWRpdG9yQ29uZmlnUHJvdmlkZXInXG5pbXBvcnQgeyBnZXRTZWxlY3RlZE5vZGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9sZXhpY2FsL3V0aWxzL2dldFNlbGVjdGVkTm9kZSdcbmltcG9ydCB7IHNldEZsb2F0aW5nRWxlbVBvc2l0aW9uRm9yTGlua0VkaXRvciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xleGljYWwvdXRpbHMvc2V0RmxvYXRpbmdFbGVtUG9zaXRpb25Gb3JMaW5rRWRpdG9yJ1xuaW1wb3J0IHsgTGlua0RyYXdlciB9IGZyb20gJy4uLy4uLy4uL2RyYXdlcidcbmltcG9ydCB7ICRpc0F1dG9MaW5rTm9kZSB9IGZyb20gJy4uLy4uLy4uL25vZGVzL0F1dG9MaW5rTm9kZSdcbmltcG9ydCB7ICRjcmVhdGVMaW5rTm9kZSB9IGZyb20gJy4uLy4uLy4uL25vZGVzL0xpbmtOb2RlJ1xuaW1wb3J0IHsgJGlzTGlua05vZGUsIFRPR0dMRV9MSU5LX0NPTU1BTkQgfSBmcm9tICcuLi8uLi8uLi9ub2Rlcy9MaW5rTm9kZSdcbmltcG9ydCB7IFRPR0dMRV9MSU5LX1dJVEhfTU9EQUxfQ09NTUFORCB9IGZyb20gJy4vY29tbWFuZHMnXG5cbmV4cG9ydCBmdW5jdGlvbiBMaW5rRWRpdG9yKHsgYW5jaG9yRWxlbSB9OiB7IGFuY2hvckVsZW06IEhUTUxFbGVtZW50IH0pOiBSZWFjdC5SZWFjdE5vZGUge1xuICBjb25zdCBbZWRpdG9yXSA9IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQoKVxuXG4gIGNvbnN0IGVkaXRvclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtsaW5rVXJsLCBzZXRMaW5rVXJsXSA9IHVzZVN0YXRlKCcnKVxuICBjb25zdCBbbGlua0xhYmVsLCBzZXRMaW5rTGFiZWxdID0gdXNlU3RhdGUoJycpXG5cbiAgY29uc3QgeyB1dWlkIH0gPSB1c2VFZGl0b3JDb25maWdDb250ZXh0KClcblxuICBjb25zdCBjb25maWcgPSB1c2VDb25maWcoKVxuXG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oKVxuXG4gIGNvbnN0IFtzdGF0ZURhdGEsIHNldFN0YXRlRGF0YV0gPSB1c2VTdGF0ZTxMaW5rUGF5bG9hZD4obnVsbClcblxuICBjb25zdCB7IGNsb3NlTW9kYWwsIHRvZ2dsZU1vZGFsIH0gPSB1c2VNb2RhbCgpXG4gIGNvbnN0IGVkaXREZXB0aCA9IHVzZUVkaXREZXB0aCgpXG4gIGNvbnN0IFtpc0xpbmssIHNldElzTGlua10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2lzQXV0b0xpbmssIHNldElzQXV0b0xpbmtdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgZHJhd2VyU2x1ZyA9IGZvcm1hdERyYXdlclNsdWcoe1xuICAgIHNsdWc6IGBsZXhpY2FsLXJpY2gtdGV4dC1saW5rLWAgKyB1dWlkLFxuICAgIGRlcHRoOiBlZGl0RGVwdGgsXG4gIH0pXG5cbiAgY29uc3QgdXBkYXRlTGlua0VkaXRvciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSAkZ2V0U2VsZWN0aW9uKClcbiAgICBsZXQgc2VsZWN0ZWROb2RlRG9tUmVjdDogRE9NUmVjdCB8IHVuZGVmaW5lZCA9IG51bGxcblxuICAgIC8vIEhhbmRsZSB0aGUgZGF0YSBkaXNwbGF5ZWQgaW4gdGhlIGZsb2F0aW5nIGxpbmsgZWRpdG9yICYgZHJhd2VyIHdoZW4geW91IGNsaWNrIG9uIGEgbGluayBub2RlXG4gICAgaWYgKCRpc1JhbmdlU2VsZWN0aW9uKHNlbGVjdGlvbikpIHtcbiAgICAgIGNvbnN0IG5vZGUgPSBnZXRTZWxlY3RlZE5vZGUoc2VsZWN0aW9uKVxuICAgICAgc2VsZWN0ZWROb2RlRG9tUmVjdCA9IGVkaXRvci5nZXRFbGVtZW50QnlLZXkobm9kZS5nZXRLZXkoKSk/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgICBjb25zdCBsaW5rUGFyZW50OiBMaW5rTm9kZSA9ICRmaW5kTWF0Y2hpbmdQYXJlbnQobm9kZSwgJGlzTGlua05vZGUpXG4gICAgICBpZiAobGlua1BhcmVudCA9PSBudWxsKSB7XG4gICAgICAgIHNldElzTGluayhmYWxzZSlcbiAgICAgICAgc2V0SXNBdXRvTGluayhmYWxzZSlcbiAgICAgICAgc2V0TGlua1VybCgnJylcbiAgICAgICAgc2V0TGlua0xhYmVsKCcnKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgLy8gSW5pdGlhbCBzdGF0ZTpcbiAgICAgIGNvbnN0IGRhdGE6IExpbmtQYXlsb2FkID0ge1xuICAgICAgICBmaWVsZHM6IHtcbiAgICAgICAgICBkb2M6IHVuZGVmaW5lZCxcbiAgICAgICAgICBsaW5rVHlwZTogdW5kZWZpbmVkLFxuICAgICAgICAgIG5ld1RhYjogdW5kZWZpbmVkLFxuICAgICAgICAgIHVybDogJycsXG4gICAgICAgICAgLi4ubGlua1BhcmVudC5nZXRGaWVsZHMoKSxcbiAgICAgICAgfSxcbiAgICAgICAgdGV4dDogbGlua1BhcmVudC5nZXRUZXh0Q29udGVudCgpLFxuICAgICAgfVxuXG4gICAgICBpZiAobGlua1BhcmVudC5nZXRGaWVsZHMoKT8ubGlua1R5cGUgPT09ICdjdXN0b20nKSB7XG4gICAgICAgIHNldExpbmtVcmwobGlua1BhcmVudC5nZXRGaWVsZHMoKT8udXJsID8/ICcnKVxuICAgICAgICBzZXRMaW5rTGFiZWwoJycpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBpbnRlcm5hbCBsaW5rXG4gICAgICAgIHNldExpbmtVcmwoXG4gICAgICAgICAgYC9hZG1pbi9jb2xsZWN0aW9ucy8ke2xpbmtQYXJlbnQuZ2V0RmllbGRzKCk/LmRvYz8ucmVsYXRpb25Ub30vJHtcbiAgICAgICAgICAgIGxpbmtQYXJlbnQuZ2V0RmllbGRzKCk/LmRvYz8udmFsdWVcbiAgICAgICAgICB9YCxcbiAgICAgICAgKVxuXG4gICAgICAgIGNvbnN0IHJlbGF0ZWRGaWVsZCA9IGNvbmZpZy5jb2xsZWN0aW9ucy5maW5kKFxuICAgICAgICAgIChjb2xsKSA9PiBjb2xsLnNsdWcgPT09IGxpbmtQYXJlbnQuZ2V0RmllbGRzKCk/LmRvYz8ucmVsYXRpb25UbyxcbiAgICAgICAgKVxuICAgICAgICBjb25zdCBsYWJlbCA9IHQoJ2ZpZWxkczpsaW5rZWRUbycsIHtcbiAgICAgICAgICBsYWJlbDogZ2V0VHJhbnNsYXRpb24ocmVsYXRlZEZpZWxkLmxhYmVscy5zaW5ndWxhciwgaTE4biksXG4gICAgICAgIH0pLnJlcGxhY2UoLzxbXj5dKj4/L2csICcnKVxuICAgICAgICBzZXRMaW5rTGFiZWwobGFiZWwpXG4gICAgICB9XG5cbiAgICAgIHNldFN0YXRlRGF0YShkYXRhKVxuICAgICAgc2V0SXNMaW5rKHRydWUpXG4gICAgICBpZiAoJGlzQXV0b0xpbmtOb2RlKGxpbmtQYXJlbnQpKSB7XG4gICAgICAgIHNldElzQXV0b0xpbmsodHJ1ZSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldElzQXV0b0xpbmsoZmFsc2UpXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZWRpdG9yRWxlbSA9IGVkaXRvclJlZi5jdXJyZW50XG4gICAgY29uc3QgbmF0aXZlU2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpXG4gICAgY29uc3QgeyBhY3RpdmVFbGVtZW50IH0gPSBkb2N1bWVudFxuXG4gICAgaWYgKGVkaXRvckVsZW0gPT09IG51bGwpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHJvb3RFbGVtZW50ID0gZWRpdG9yLmdldFJvb3RFbGVtZW50KClcblxuICAgIGlmIChcbiAgICAgIHNlbGVjdGlvbiAhPT0gbnVsbCAmJlxuICAgICAgbmF0aXZlU2VsZWN0aW9uICE9PSBudWxsICYmXG4gICAgICByb290RWxlbWVudCAhPT0gbnVsbCAmJlxuICAgICAgcm9vdEVsZW1lbnQuY29udGFpbnMobmF0aXZlU2VsZWN0aW9uLmFuY2hvck5vZGUpXG4gICAgKSB7XG4gICAgICBpZiAoIXNlbGVjdGVkTm9kZURvbVJlY3QpIHtcbiAgICAgICAgLy8gR2V0IHRoZSBET00gcmVjdCBvZiB0aGUgc2VsZWN0ZWQgbm9kZSB1c2luZyB0aGUgbmF0aXZlIHNlbGVjdGlvbi4gVGhpcyBzb21ldGltZXMgcHJvZHVjZXMgdGhlIHdyb25nXG4gICAgICAgIC8vIHJlc3VsdCwgd2hpY2ggaXMgd2h5IHdlIHVzZSBsZXhpY2FsJ3Mgc2VsZWN0aW9uIHByZWZlcmFibHkuXG4gICAgICAgIHNlbGVjdGVkTm9kZURvbVJlY3QgPSBuYXRpdmVTZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgfVxuXG4gICAgICBpZiAoc2VsZWN0ZWROb2RlRG9tUmVjdCAhPSBudWxsKSB7XG4gICAgICAgIHNlbGVjdGVkTm9kZURvbVJlY3QueSArPSA0MFxuICAgICAgICBzZXRGbG9hdGluZ0VsZW1Qb3NpdGlvbkZvckxpbmtFZGl0b3Ioc2VsZWN0ZWROb2RlRG9tUmVjdCwgZWRpdG9yRWxlbSwgYW5jaG9yRWxlbSlcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGFjdGl2ZUVsZW1lbnQgPT0gbnVsbCB8fCBhY3RpdmVFbGVtZW50LmNsYXNzTmFtZSAhPT0gJ2xpbmstaW5wdXQnKSB7XG4gICAgICBpZiAocm9vdEVsZW1lbnQgIT09IG51bGwpIHtcbiAgICAgICAgc2V0RmxvYXRpbmdFbGVtUG9zaXRpb25Gb3JMaW5rRWRpdG9yKG51bGwsIGVkaXRvckVsZW0sIGFuY2hvckVsZW0pXG4gICAgICB9XG4gICAgICBzZXRMaW5rVXJsKCcnKVxuICAgICAgc2V0TGlua0xhYmVsKCcnKVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlXG4gIH0sIFthbmNob3JFbGVtLCBlZGl0b3IsIGNvbmZpZywgdCwgaTE4bl0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gbWVyZ2VSZWdpc3RlcihcbiAgICAgIGVkaXRvci5yZWdpc3RlckNvbW1hbmQoXG4gICAgICAgIFRPR0dMRV9MSU5LX1dJVEhfTU9EQUxfQ09NTUFORCxcbiAgICAgICAgKHBheWxvYWQ6IExpbmtQYXlsb2FkKSA9PiB7XG4gICAgICAgICAgZWRpdG9yLmRpc3BhdGNoQ29tbWFuZChUT0dHTEVfTElOS19DT01NQU5ELCBwYXlsb2FkKVxuXG4gICAgICAgICAgLy8gTm93LCBvcGVuIHRoZSBtb2RhbFxuICAgICAgICAgIHVwZGF0ZUxpbmtFZGl0b3IoKVxuICAgICAgICAgIHRvZ2dsZU1vZGFsKGRyYXdlclNsdWcpXG5cbiAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBDT01NQU5EX1BSSU9SSVRZX0xPVyxcbiAgICAgICksXG4gICAgKVxuICB9LCBbZWRpdG9yLCB1cGRhdGVMaW5rRWRpdG9yLCB0b2dnbGVNb2RhbCwgZHJhd2VyU2x1Z10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWlzTGluayAmJiBlZGl0b3JSZWYpIHtcbiAgICAgIGVkaXRvclJlZi5jdXJyZW50LnN0eWxlLm9wYWNpdHkgPSAnMCdcbiAgICAgIGVkaXRvclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zZm9ybSA9ICd0cmFuc2xhdGUoLTEwMDAwcHgsIC0xMDAwMHB4KSdcbiAgICB9XG4gIH0sIFtpc0xpbmtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc2Nyb2xsZXJFbGVtID0gYW5jaG9yRWxlbS5wYXJlbnRFbGVtZW50XG5cbiAgICBjb25zdCB1cGRhdGUgPSAoKTogdm9pZCA9PiB7XG4gICAgICBlZGl0b3IuZ2V0RWRpdG9yU3RhdGUoKS5yZWFkKCgpID0+IHtcbiAgICAgICAgdm9pZCB1cGRhdGVMaW5rRWRpdG9yKClcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHVwZGF0ZSlcblxuICAgIGlmIChzY3JvbGxlckVsZW0gIT0gbnVsbCkge1xuICAgICAgc2Nyb2xsZXJFbGVtLmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHVwZGF0ZSlcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHVwZGF0ZSlcblxuICAgICAgaWYgKHNjcm9sbGVyRWxlbSAhPSBudWxsKSB7XG4gICAgICAgIHNjcm9sbGVyRWxlbS5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB1cGRhdGUpXG4gICAgICB9XG4gICAgfVxuICB9LCBbYW5jaG9yRWxlbS5wYXJlbnRFbGVtZW50LCBlZGl0b3IsIHVwZGF0ZUxpbmtFZGl0b3JdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuIG1lcmdlUmVnaXN0ZXIoXG4gICAgICBlZGl0b3IucmVnaXN0ZXJVcGRhdGVMaXN0ZW5lcigoeyBlZGl0b3JTdGF0ZSB9KSA9PiB7XG4gICAgICAgIGVkaXRvclN0YXRlLnJlYWQoKCkgPT4ge1xuICAgICAgICAgIHZvaWQgdXBkYXRlTGlua0VkaXRvcigpXG4gICAgICAgIH0pXG4gICAgICB9KSxcblxuICAgICAgZWRpdG9yLnJlZ2lzdGVyQ29tbWFuZChcbiAgICAgICAgU0VMRUNUSU9OX0NIQU5HRV9DT01NQU5ELFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdm9pZCB1cGRhdGVMaW5rRWRpdG9yKClcbiAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBDT01NQU5EX1BSSU9SSVRZX0xPVyxcbiAgICAgICksXG4gICAgICBlZGl0b3IucmVnaXN0ZXJDb21tYW5kKFxuICAgICAgICBLRVlfRVNDQVBFX0NPTU1BTkQsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBpZiAoaXNMaW5rKSB7XG4gICAgICAgICAgICBzZXRJc0xpbmsoZmFsc2UpXG4gICAgICAgICAgICBzZXRJc0F1dG9MaW5rKGZhbHNlKVxuICAgICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIENPTU1BTkRfUFJJT1JJVFlfSElHSCxcbiAgICAgICksXG4gICAgKVxuICB9LCBbZWRpdG9yLCB1cGRhdGVMaW5rRWRpdG9yLCBzZXRJc0xpbmssIGlzTGlua10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBlZGl0b3IuZ2V0RWRpdG9yU3RhdGUoKS5yZWFkKCgpID0+IHtcbiAgICAgIHZvaWQgdXBkYXRlTGlua0VkaXRvcigpXG4gICAgfSlcbiAgfSwgW2VkaXRvciwgdXBkYXRlTGlua0VkaXRvcl0pXG5cbiAgcmV0dXJuIChcbiAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImxpbmstZWRpdG9yXCIgcmVmPXtlZGl0b3JSZWZ9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxpbmstaW5wdXRcIj5cbiAgICAgICAgICA8YSBocmVmPXtsaW5rVXJsfSByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAgICB7bGlua0xhYmVsICE9IG51bGwgJiYgbGlua0xhYmVsLmxlbmd0aCA+IDAgPyBsaW5rTGFiZWwgOiBsaW5rVXJsfVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgICB7ZWRpdG9yLmlzRWRpdGFibGUoKSAmJiAoXG4gICAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiRWRpdCBsaW5rXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJsaW5rLWVkaXRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgIHRvZ2dsZU1vZGFsKGRyYXdlclNsdWcpXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBvbk1vdXNlRG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0YWJJbmRleD17MH1cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgeyFpc0F1dG9MaW5rICYmIChcbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiUmVtb3ZlIGxpbmtcIlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibGluay10cmFzaFwiXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGVkaXRvci5kaXNwYXRjaENvbW1hbmQoVE9HR0xFX0xJTktfQ09NTUFORCwgbnVsbClcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICBvbk1vdXNlRG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICB0YWJJbmRleD17MH1cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8TGlua0RyYXdlclxuICAgICAgICBkcmF3ZXJTbHVnPXtkcmF3ZXJTbHVnfVxuICAgICAgICBoYW5kbGVNb2RhbFN1Ym1pdD17KGZpZWxkczogRm9ybVN0YXRlLCBkYXRhOiBEYXRhKSA9PiB7XG4gICAgICAgICAgY2xvc2VNb2RhbChkcmF3ZXJTbHVnKVxuXG4gICAgICAgICAgY29uc3QgbmV3TGlua1BheWxvYWQ6IExpbmtQYXlsb2FkID0gZGF0YSBhcyBMaW5rUGF5bG9hZFxuXG4gICAgICAgICAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svbGV4aWNhbC9wdWxsLzU1MzYuIFRoaXMgdXBkYXRlcyBhdXRvbGluayBub2RlcyB0byBsaW5rIG5vZGVzIHdoZW5ldmVyIGEgY2hhbmdlIHdhcyBtYWRlICh3aGljaCBpcyBnb29kISkuXG4gICAgICAgICAgZWRpdG9yLnVwZGF0ZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSAkZ2V0U2VsZWN0aW9uKClcbiAgICAgICAgICAgIGlmICgkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IGdldFNlbGVjdGVkTm9kZShzZWxlY3Rpb24pLmdldFBhcmVudCgpXG4gICAgICAgICAgICAgIGlmICgkaXNBdXRvTGlua05vZGUocGFyZW50KSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxpbmtOb2RlID0gJGNyZWF0ZUxpbmtOb2RlKHtcbiAgICAgICAgICAgICAgICAgIGZpZWxkczogbmV3TGlua1BheWxvYWQuZmllbGRzLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgcGFyZW50LnJlcGxhY2UobGlua05vZGUsIHRydWUpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgLy8gTmVlZHMgdG8gaGFwcGVuIEFGVEVSIGEgcG90ZW50aWFsIGF1dG8gbGluayA9PiBsaW5rIG5vZGUgY29udmVyc2lvbiwgYXMgb3RoZXJ3aXNlLCB0aGUgdXBkYXRlZCB0ZXh0IHRvIGRpc3BsYXkgbWF5IGJlIGxvc3QgZHVlIHRvXG4gICAgICAgICAgLy8gaXQgYmVpbmcgYXBwbGllZCB0byB0aGUgYXV0byBsaW5rIG5vZGUgaW5zdGVhZCBvZiB0aGUgbGluayBub2RlLlxuICAgICAgICAgIGVkaXRvci5kaXNwYXRjaENvbW1hbmQoVE9HR0xFX0xJTktfQ09NTUFORCwgbmV3TGlua1BheWxvYWQpXG4gICAgICAgIH19XG4gICAgICAgIHN0YXRlRGF0YT17c3RhdGVEYXRhfVxuICAgICAgLz5cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApXG59XG4iXSwibmFtZXMiOlsiTGlua0VkaXRvciIsImFuY2hvckVsZW0iLCJlZGl0b3IiLCJ1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0IiwiZWRpdG9yUmVmIiwidXNlUmVmIiwibGlua1VybCIsInNldExpbmtVcmwiLCJ1c2VTdGF0ZSIsImxpbmtMYWJlbCIsInNldExpbmtMYWJlbCIsInV1aWQiLCJ1c2VFZGl0b3JDb25maWdDb250ZXh0IiwiY29uZmlnIiwidXNlQ29uZmlnIiwiaTE4biIsInQiLCJ1c2VUcmFuc2xhdGlvbiIsInN0YXRlRGF0YSIsInNldFN0YXRlRGF0YSIsImNsb3NlTW9kYWwiLCJ0b2dnbGVNb2RhbCIsInVzZU1vZGFsIiwiZWRpdERlcHRoIiwidXNlRWRpdERlcHRoIiwiaXNMaW5rIiwic2V0SXNMaW5rIiwiaXNBdXRvTGluayIsInNldElzQXV0b0xpbmsiLCJkcmF3ZXJTbHVnIiwiZm9ybWF0RHJhd2VyU2x1ZyIsInNsdWciLCJkZXB0aCIsInVwZGF0ZUxpbmtFZGl0b3IiLCJ1c2VDYWxsYmFjayIsInNlbGVjdGlvbiIsIiRnZXRTZWxlY3Rpb24iLCJzZWxlY3RlZE5vZGVEb21SZWN0IiwiJGlzUmFuZ2VTZWxlY3Rpb24iLCJub2RlIiwiZ2V0U2VsZWN0ZWROb2RlIiwiZ2V0RWxlbWVudEJ5S2V5IiwiZ2V0S2V5IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwibGlua1BhcmVudCIsIiRmaW5kTWF0Y2hpbmdQYXJlbnQiLCIkaXNMaW5rTm9kZSIsImRhdGEiLCJmaWVsZHMiLCJkb2MiLCJ1bmRlZmluZWQiLCJsaW5rVHlwZSIsIm5ld1RhYiIsInVybCIsImdldEZpZWxkcyIsInRleHQiLCJnZXRUZXh0Q29udGVudCIsInJlbGF0aW9uVG8iLCJ2YWx1ZSIsInJlbGF0ZWRGaWVsZCIsImNvbGxlY3Rpb25zIiwiZmluZCIsImNvbGwiLCJsYWJlbCIsImdldFRyYW5zbGF0aW9uIiwibGFiZWxzIiwic2luZ3VsYXIiLCJyZXBsYWNlIiwiJGlzQXV0b0xpbmtOb2RlIiwiZWRpdG9yRWxlbSIsImN1cnJlbnQiLCJuYXRpdmVTZWxlY3Rpb24iLCJ3aW5kb3ciLCJnZXRTZWxlY3Rpb24iLCJhY3RpdmVFbGVtZW50IiwiZG9jdW1lbnQiLCJyb290RWxlbWVudCIsImdldFJvb3RFbGVtZW50IiwiY29udGFpbnMiLCJhbmNob3JOb2RlIiwiZ2V0UmFuZ2VBdCIsInkiLCJzZXRGbG9hdGluZ0VsZW1Qb3NpdGlvbkZvckxpbmtFZGl0b3IiLCJjbGFzc05hbWUiLCJ1c2VFZmZlY3QiLCJtZXJnZVJlZ2lzdGVyIiwicmVnaXN0ZXJDb21tYW5kIiwiVE9HR0xFX0xJTktfV0lUSF9NT0RBTF9DT01NQU5EIiwicGF5bG9hZCIsImRpc3BhdGNoQ29tbWFuZCIsIlRPR0dMRV9MSU5LX0NPTU1BTkQiLCJDT01NQU5EX1BSSU9SSVRZX0xPVyIsInN0eWxlIiwib3BhY2l0eSIsInRyYW5zZm9ybSIsInNjcm9sbGVyRWxlbSIsInBhcmVudEVsZW1lbnQiLCJ1cGRhdGUiLCJnZXRFZGl0b3JTdGF0ZSIsInJlYWQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInJlZ2lzdGVyVXBkYXRlTGlzdGVuZXIiLCJlZGl0b3JTdGF0ZSIsIlNFTEVDVElPTl9DSEFOR0VfQ09NTUFORCIsIktFWV9FU0NBUEVfQ09NTUFORCIsIkNPTU1BTkRfUFJJT1JJVFlfSElHSCIsIlJlYWN0IiwiRnJhZ21lbnQiLCJkaXYiLCJyZWYiLCJhIiwiaHJlZiIsInJlbCIsInRhcmdldCIsImxlbmd0aCIsImlzRWRpdGFibGUiLCJidXR0b24iLCJhcmlhLWxhYmVsIiwib25DbGljayIsIm9uTW91c2VEb3duIiwiZXZlbnQiLCJwcmV2ZW50RGVmYXVsdCIsInRhYkluZGV4IiwidHlwZSIsIkxpbmtEcmF3ZXIiLCJoYW5kbGVNb2RhbFN1Ym1pdCIsIm5ld0xpbmtQYXlsb2FkIiwicGFyZW50IiwiZ2V0UGFyZW50IiwibGlua05vZGUiLCIkY3JlYXRlTGlua05vZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OzsrQkErQmdCQTs7O2VBQUFBOzs7dUJBM0JTO3dDQUNpQjt1QkFDUzs4QkFDcEI7b0JBQzJDO3lCQVFuRTsrREFDeUQ7c0NBS3pCO2lDQUNQO3NEQUNxQjt3QkFDMUI7OEJBQ0s7MEJBQ0E7MEJBRWU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUV4QyxTQUFTQSxXQUFXLEVBQUVDLFVBQVUsRUFBK0I7SUFDcEUsTUFBTSxDQUFDQyxPQUFPLEdBQUdDLElBQUFBLGlEQUF5QjtJQUUxQyxNQUFNQyxZQUFZQyxJQUFBQSxhQUFNLEVBQXdCO0lBQ2hELE1BQU0sQ0FBQ0MsU0FBU0MsV0FBVyxHQUFHQyxJQUFBQSxlQUFRLEVBQUM7SUFDdkMsTUFBTSxDQUFDQyxXQUFXQyxhQUFhLEdBQUdGLElBQUFBLGVBQVEsRUFBQztJQUUzQyxNQUFNLEVBQUVHLElBQUksRUFBRSxHQUFHQyxJQUFBQSw0Q0FBc0I7SUFFdkMsTUFBTUMsU0FBU0MsSUFBQUEsYUFBUztJQUV4QixNQUFNLEVBQUVDLElBQUksRUFBRUMsQ0FBQyxFQUFFLEdBQUdDLElBQUFBLGtCQUFjO0lBRWxDLE1BQU0sQ0FBQ0MsV0FBV0MsYUFBYSxHQUFHWCxJQUFBQSxlQUFRLEVBQWM7SUFFeEQsTUFBTSxFQUFFWSxVQUFVLEVBQUVDLFdBQVcsRUFBRSxHQUFHQyxJQUFBQSxlQUFRO0lBQzVDLE1BQU1DLFlBQVlDLElBQUFBLGdCQUFZO0lBQzlCLE1BQU0sQ0FBQ0MsUUFBUUMsVUFBVSxHQUFHbEIsSUFBQUEsZUFBUSxFQUFDO0lBQ3JDLE1BQU0sQ0FBQ21CLFlBQVlDLGNBQWMsR0FBR3BC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
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL3BsdWdpbnMvZmxvYXRpbmdMaW5rRWRpdG9yL0xpbmtFZGl0b3IvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IHR5cGUgeyBGb3JtU3RhdGUgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBEYXRhIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgdXNlTW9kYWwgfSBmcm9tICdAZmFjZWxlc3MtdWkvbW9kYWwnXG5pbXBvcnQgeyB1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0IH0gZnJvbSAnQGxleGljYWwvcmVhY3QvTGV4aWNhbENvbXBvc2VyQ29udGV4dCdcbmltcG9ydCB7ICRmaW5kTWF0Y2hpbmdQYXJlbnQsIG1lcmdlUmVnaXN0ZXIgfSBmcm9tICdAbGV4aWNhbC91dGlscydcbmltcG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSAnQHBheWxvYWRjbXMvdHJhbnNsYXRpb25zJ1xuaW1wb3J0IHsgZm9ybWF0RHJhd2VyU2x1ZywgdXNlQ29uZmlnLCB1c2VFZGl0RGVwdGgsIHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAnQHBheWxvYWRjbXMvdWknXG5pbXBvcnQge1xuICAkZ2V0U2VsZWN0aW9uLFxuICAkaXNSYW5nZVNlbGVjdGlvbixcbiAgQ09NTUFORF9QUklPUklUWV9ISUdILFxuICBDT01NQU5EX1BSSU9SSVRZX0xPVyxcbiAgS0VZX0VTQ0FQRV9DT01NQU5ELFxuICBTRUxFQ1RJT05fQ0hBTkdFX0NPTU1BTkQsXG59IGZyb20gJ2xleGljYWwnXG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgdHlwZSB7IExpbmtOb2RlIH0gZnJvbSAnLi4vLi4vLi4vbm9kZXMvTGlua05vZGUnXG5pbXBvcnQgdHlwZSB7IExpbmtQYXlsb2FkIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IHVzZUVkaXRvckNvbmZpZ0NvbnRleHQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9sZXhpY2FsL2NvbmZpZy9jbGllbnQvRWRpdG9yQ29uZmlnUHJvdmlkZXInXG5pbXBvcnQgeyBnZXRTZWxlY3RlZE5vZGUgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9sZXhpY2FsL3V0aWxzL2dldFNlbGVjdGVkTm9kZSdcbmltcG9ydCB7IHNldEZsb2F0aW5nRWxlbVBvc2l0aW9uRm9yTGlua0VkaXRvciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2xleGljYWwvdXRpbHMvc2V0RmxvYXRpbmdFbGVtUG9zaXRpb25Gb3JMaW5rRWRpdG9yJ1xuaW1wb3J0IHsgTGlua0RyYXdlciB9IGZyb20gJy4uLy4uLy4uL2RyYXdlcidcbmltcG9ydCB7ICRpc0F1dG9MaW5rTm9kZSB9IGZyb20gJy4uLy4uLy4uL25vZGVzL0F1dG9MaW5rTm9kZSdcbmltcG9ydCB7ICRjcmVhdGVMaW5rTm9kZSB9IGZyb20gJy4uLy4uLy4uL25vZGVzL0xpbmtOb2RlJ1xuaW1wb3J0IHsgJGlzTGlua05vZGUsIFRPR0dMRV9MSU5LX0NPTU1BTkQgfSBmcm9tICcuLi8uLi8uLi9ub2Rlcy9MaW5rTm9kZSdcbmltcG9ydCB7IFRPR0dMRV9MSU5LX1dJVEhfTU9EQUxfQ09NTUFORCB9IGZyb20gJy4vY29tbWFuZHMnXG5cbmV4cG9ydCBmdW5jdGlvbiBMaW5rRWRpdG9yKHsgYW5jaG9yRWxlbSB9OiB7IGFuY2hvckVsZW06IEhUTUxFbGVtZW50IH0pOiBSZWFjdC5SZWFjdE5vZGUge1xuICBjb25zdCBbZWRpdG9yXSA9IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQoKVxuXG4gIGNvbnN0IGVkaXRvclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudCB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtsaW5rVXJsLCBzZXRMaW5rVXJsXSA9IHVzZVN0YXRlKCcnKVxuICBjb25zdCBbbGlua0xhYmVsLCBzZXRMaW5rTGFiZWxdID0gdXNlU3RhdGUoJycpXG5cbiAgY29uc3QgeyB1dWlkIH0gPSB1c2VFZGl0b3JDb25maWdDb250ZXh0KClcblxuICBjb25zdCBjb25maWcgPSB1c2VDb25maWcoKVxuXG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oKVxuXG4gIGNvbnN0IFtzdGF0ZURhdGEsIHNldFN0YXRlRGF0YV0gPSB1c2VTdGF0ZTxMaW5rUGF5bG9hZD4obnVsbClcblxuICBjb25zdCB7IGNsb3NlTW9kYWwsIHRvZ2dsZU1vZGFsIH0gPSB1c2VNb2RhbCgpXG4gIGNvbnN0IGVkaXREZXB0aCA9IHVzZUVkaXREZXB0aCgpXG4gIGNvbnN0IFtpc0xpbmssIHNldElzTGlua10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2lzQXV0b0xpbmssIHNldElzQXV0b0xpbmtdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgZHJhd2VyU2x1ZyA9IGZvcm1hdERyYXdlclNsdWcoe1xuICAgIHNsdWc6IGBsZXhpY2FsLXJpY2gtdGV4dC1saW5rLWAgKyB1dWlkLFxuICAgIGRlcHRoOiBlZGl0RGVwdGgsXG4gIH0pXG5cbiAgY29uc3QgdXBkYXRlTGlua0VkaXRvciA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSAkZ2V0U2VsZWN0aW9uKClcbiAgICBsZXQgc2VsZWN0ZWROb2RlRG9tUmVjdDogRE9NUmVjdCB8IHVuZGVmaW5lZCA9IG51bGxcblxuICAgIC8vIEhhbmRsZSB0aGUgZGF0YSBkaXNwbGF5ZWQgaW4gdGhlIGZsb2F0aW5nIGxpbmsgZWRpdG9yICYgZHJhd2VyIHdoZW4geW91IGNsaWNrIG9uIGEgbGluayBub2RlXG4gICAgaWYgKCRpc1JhbmdlU2VsZWN0aW9uKHNlbGVjdGlvbikpIHtcbiAgICAgIGNvbnN0IG5vZGUgPSBnZXRTZWxlY3RlZE5vZGUoc2VsZWN0aW9uKVxuICAgICAgc2VsZWN0ZWROb2RlRG9tUmVjdCA9IGVkaXRvci5nZXRFbGVtZW50QnlLZXkobm9kZS5nZXRLZXkoKSk/LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpXG4gICAgICBjb25zdCBsaW5rUGFyZW50OiBMaW5rTm9kZSA9ICRmaW5kTWF0Y2hpbmdQYXJlbnQobm9kZSwgJGlzTGlua05vZGUpXG4gICAgICBpZiAobGlua1BhcmVudCA9PSBudWxsKSB7XG4gICAgICAgIHNldElzTGluayhmYWxzZSlcbiAgICAgICAgc2V0SXNBdXRvTGluayhmYWxzZSlcbiAgICAgICAgc2V0TGlua1VybCgnJylcbiAgICAgICAgc2V0TGlua0xhYmVsKCcnKVxuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgLy8gSW5pdGlhbCBzdGF0ZTpcbiAgICAgIGNvbnN0IGRhdGE6IExpbmtQYXlsb2FkID0ge1xuICAgICAgICBmaWVsZHM6IHtcbiAgICAgICAgICBkb2M6IHVuZGVmaW5lZCxcbiAgICAgICAgICBsaW5rVHlwZTogdW5kZWZpbmVkLFxuICAgICAgICAgIG5ld1RhYjogdW5kZWZpbmVkLFxuICAgICAgICAgIHVybDogJycsXG4gICAgICAgICAgLi4ubGlua1BhcmVudC5nZXRGaWVsZHMoKSxcbiAgICAgICAgfSxcbiAgICAgICAgdGV4dDogbGlua1BhcmVudC5nZXRUZXh0Q29udGVudCgpLFxuICAgICAgfVxuXG4gICAgICBpZiAobGlua1BhcmVudC5nZXRGaWVsZHMoKT8ubGlua1R5cGUgPT09ICdjdXN0b20nKSB7XG4gICAgICAgIHNldExpbmtVcmwobGlua1BhcmVudC5nZXRGaWVsZHMoKT8udXJsID8/ICcnKVxuICAgICAgICBzZXRMaW5rTGFiZWwoJycpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBpbnRlcm5hbCBsaW5rXG4gICAgICAgIHNldExpbmtVcmwoXG4gICAgICAgICAgYC9hZG1pbi9jb2xsZWN0aW9ucy8ke2xpbmtQYXJlbnQuZ2V0RmllbGRzKCk/LmRvYz8ucmVsYXRpb25Ub30vJHtcbiAgICAgICAgICAgIGxpbmtQYXJlbnQuZ2V0RmllbGRzKCk/LmRvYz8udmFsdWVcbiAgICAgICAgICB9YCxcbiAgICAgICAgKVxuXG4gICAgICAgIGNvbnN0IHJlbGF0ZWRGaWVsZCA9IGNvbmZpZy5jb2xsZWN0aW9ucy5maW5kKFxuICAgICAgICAgIChjb2xsKSA9PiBjb2xsLnNsdWcgPT09IGxpbmtQYXJlbnQuZ2V0RmllbGRzKCk/LmRvYz8ucmVsYXRpb25UbyxcbiAgICAgICAgKVxuICAgICAgICBjb25zdCBsYWJlbCA9IHQoJ2ZpZWxkczpsaW5rZWRUbycsIHtcbiAgICAgICAgICBsYWJlbDogZ2V0VHJhbnNsYXRpb24ocmVsYXRlZEZpZWxkLmxhYmVscy5zaW5ndWxhciwgaTE4biksXG4gICAgICAgIH0pLnJlcGxhY2UoLzxbXj5dKj4/L2csICcnKVxuICAgICAgICBzZXRMaW5rTGFiZWwobGFiZWwpXG4gICAgICB9XG5cbiAgICAgIHNldFN0YXRlRGF0YShkYXRhKVxuICAgICAgc2V0SXNMaW5rKHRydWUpXG4gICAgICBpZiAoJGlzQXV0b0xpbmtOb2RlKGxpbmtQYXJlbnQpKSB7XG4gICAgICAgIHNldElzQXV0b0xpbmsodHJ1ZSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNldElzQXV0b0xpbmsoZmFsc2UpXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZWRpdG9yRWxlbSA9IGVkaXRvclJlZi5jdXJyZW50XG4gICAgY29uc3QgbmF0aXZlU2VsZWN0aW9uID0gd2luZG93LmdldFNlbGVjdGlvbigpXG4gICAgY29uc3QgeyBhY3RpdmVFbGVtZW50IH0gPSBkb2N1bWVudFxuXG4gICAgaWYgKGVkaXRvckVsZW0gPT09IG51bGwpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHJvb3RFbGVtZW50ID0gZWRpdG9yLmdldFJvb3RFbGVtZW50KClcblxuICAgIGlmIChcbiAgICAgIHNlbGVjdGlvbiAhPT0gbnVsbCAmJlxuICAgICAgbmF0aXZlU2VsZWN0aW9uICE9PSBudWxsICYmXG4gICAgICByb290RWxlbWVudCAhPT0gbnVsbCAmJlxuICAgICAgcm9vdEVsZW1lbnQuY29udGFpbnMobmF0aXZlU2VsZWN0aW9uLmFuY2hvck5vZGUpXG4gICAgKSB7XG4gICAgICBpZiAoIXNlbGVjdGVkTm9kZURvbVJlY3QpIHtcbiAgICAgICAgLy8gR2V0IHRoZSBET00gcmVjdCBvZiB0aGUgc2VsZWN0ZWQgbm9kZSB1c2luZyB0aGUgbmF0aXZlIHNlbGVjdGlvbi4gVGhpcyBzb21ldGltZXMgcHJvZHVjZXMgdGhlIHdyb25nXG4gICAgICAgIC8vIHJlc3VsdCwgd2hpY2ggaXMgd2h5IHdlIHVzZSBsZXhpY2FsJ3Mgc2VsZWN0aW9uIHByZWZlcmFibHkuXG4gICAgICAgIHNlbGVjdGVkTm9kZURvbVJlY3QgPSBuYXRpdmVTZWxlY3Rpb24uZ2V0UmFuZ2VBdCgwKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgICAgfVxuXG4gICAgICBpZiAoc2VsZWN0ZWROb2RlRG9tUmVjdCAhPSBudWxsKSB7XG4gICAgICAgIHNlbGVjdGVkTm9kZURvbVJlY3QueSArPSA0MFxuICAgICAgICBzZXRGbG9hdGluZ0VsZW1Qb3NpdGlvbkZvckxpbmtFZGl0b3Ioc2VsZWN0ZWROb2RlRG9tUmVjdCwgZWRpdG9yRWxlbSwgYW5jaG9yRWxlbSlcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGFjdGl2ZUVsZW1lbnQgPT0gbnVsbCB8fCBhY3RpdmVFbGVtZW50LmNsYXNzTmFtZSAhPT0gJ2xpbmstaW5wdXQnKSB7XG4gICAgICBpZiAocm9vdEVsZW1lbnQgIT09IG51bGwpIHtcbiAgICAgICAgc2V0RmxvYXRpbmdFbGVtUG9zaXRpb25Gb3JMaW5rRWRpdG9yKG51bGwsIGVkaXRvckVsZW0sIGFuY2hvckVsZW0pXG4gICAgICB9XG4gICAgICBzZXRMaW5rVXJsKCcnKVxuICAgICAgc2V0TGlua0xhYmVsKCcnKVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlXG4gIH0sIFthbmNob3JFbGVtLCBlZGl0b3IsIGNvbmZpZywgdCwgaTE4bl0pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICByZXR1cm4gbWVyZ2VSZWdpc3RlcihcbiAgICAgIGVkaXRvci5yZWdpc3RlckNvbW1hbmQoXG4gICAgICAgIFRPR0dMRV9MSU5LX1dJVEhfTU9EQUxfQ09NTUFORCxcbiAgICAgICAgKHBheWxvYWQ6IExpbmtQYXlsb2FkKSA9PiB7XG4gICAgICAgICAgZWRpdG9yLmRpc3BhdGNoQ29tbWFuZChUT0dHTEVfTElOS19DT01NQU5ELCBwYXlsb2FkKVxuXG4gICAgICAgICAgLy8gTm93LCBvcGVuIHRoZSBtb2RhbFxuICAgICAgICAgIHVwZGF0ZUxpbmtFZGl0b3IoKVxuICAgICAgICAgIHRvZ2dsZU1vZGFsKGRyYXdlclNsdWcpXG5cbiAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBDT01NQU5EX1BSSU9SSVRZX0xPVyxcbiAgICAgICksXG4gICAgKVxuICB9LCBbZWRpdG9yLCB1cGRhdGVMaW5rRWRpdG9yLCB0b2dnbGVNb2RhbCwgZHJhd2VyU2x1Z10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWlzTGluayAmJiBlZGl0b3JSZWYpIHtcbiAgICAgIGVkaXRvclJlZi5jdXJyZW50LnN0eWxlLm9wYWNpdHkgPSAnMCdcbiAgICAgIGVkaXRvclJlZi5jdXJyZW50LnN0eWxlLnRyYW5zZm9ybSA9ICd0cmFuc2xhdGUoLTEwMDAwcHgsIC0xMDAwMHB4KSdcbiAgICB9XG4gIH0sIFtpc0xpbmtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc2Nyb2xsZXJFbGVtID0gYW5jaG9yRWxlbS5wYXJlbnRFbGVtZW50XG5cbiAgICBjb25zdCB1cGRhdGUgPSAoKTogdm9pZCA9PiB7XG4gICAgICBlZGl0b3IuZ2V0RWRpdG9yU3RhdGUoKS5yZWFkKCgpID0+IHtcbiAgICAgICAgdm9pZCB1cGRhdGVMaW5rRWRpdG9yKClcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHVwZGF0ZSlcblxuICAgIGlmIChzY3JvbGxlckVsZW0gIT0gbnVsbCkge1xuICAgICAgc2Nyb2xsZXJFbGVtLmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHVwZGF0ZSlcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHVwZGF0ZSlcblxuICAgICAgaWYgKHNjcm9sbGVyRWxlbSAhPSBudWxsKSB7XG4gICAgICAgIHNjcm9sbGVyRWxlbS5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB1cGRhdGUpXG4gICAgICB9XG4gICAgfVxuICB9LCBbYW5jaG9yRWxlbS5wYXJlbnRFbGVtZW50LCBlZGl0b3IsIHVwZGF0ZUxpbmtFZGl0b3JdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmV0dXJuIG1lcmdlUmVnaXN0ZXIoXG4gICAgICBlZGl0b3IucmVnaXN0ZXJVcGRhdGVMaXN0ZW5lcigoeyBlZGl0b3JTdGF0ZSB9KSA9PiB7XG4gICAgICAgIGVkaXRvclN0YXRlLnJlYWQoKCkgPT4ge1xuICAgICAgICAgIHZvaWQgdXBkYXRlTGlua0VkaXRvcigpXG4gICAgICAgIH0pXG4gICAgICB9KSxcblxuICAgICAgZWRpdG9yLnJlZ2lzdGVyQ29tbWFuZChcbiAgICAgICAgU0VMRUNUSU9OX0NIQU5HRV9DT01NQU5ELFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgdm9pZCB1cGRhdGVMaW5rRWRpdG9yKClcbiAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBDT01NQU5EX1BSSU9SSVRZX0xPVyxcbiAgICAgICksXG4gICAgICBlZGl0b3IucmVnaXN0ZXJDb21tYW5kKFxuICAgICAgICBLRVlfRVNDQVBFX0NPTU1BTkQsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBpZiAoaXNMaW5rKSB7XG4gICAgICAgICAgICBzZXRJc0xpbmsoZmFsc2UpXG4gICAgICAgICAgICBzZXRJc0F1dG9MaW5rKGZhbHNlKVxuICAgICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgIH0sXG4gICAgICAgIENPTU1BTkRfUFJJT1JJVFlfSElHSCxcbiAgICAgICksXG4gICAgKVxuICB9LCBbZWRpdG9yLCB1cGRhdGVMaW5rRWRpdG9yLCBzZXRJc0xpbmssIGlzTGlua10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBlZGl0b3IuZ2V0RWRpdG9yU3RhdGUoKS5yZWFkKCgpID0+IHtcbiAgICAgIHZvaWQgdXBkYXRlTGlua0VkaXRvcigpXG4gICAgfSlcbiAgfSwgW2VkaXRvciwgdXBkYXRlTGlua0VkaXRvcl0pXG5cbiAgcmV0dXJuIChcbiAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImxpbmstZWRpdG9yXCIgcmVmPXtlZGl0b3JSZWZ9PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImxpbmstaW5wdXRcIj5cbiAgICAgICAgICA8YSBocmVmPXtsaW5rVXJsfSByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XG4gICAgICAgICAgICB7bGlua0xhYmVsICE9IG51bGwgJiYgbGlua0xhYmVsLmxlbmd0aCA+IDAgPyBsaW5rTGFiZWwgOiBsaW5rVXJsfVxuICAgICAgICAgIDwvYT5cbiAgICAgICAgICB7ZWRpdG9yLmlzRWRpdGFibGUoKSAmJiAoXG4gICAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiRWRpdCBsaW5rXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJsaW5rLWVkaXRcIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgIHRvZ2dsZU1vZGFsKGRyYXdlclNsdWcpXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICBvbk1vdXNlRG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0YWJJbmRleD17MH1cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgeyFpc0F1dG9MaW5rICYmIChcbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiUmVtb3ZlIGxpbmtcIlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibGluay10cmFzaFwiXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGVkaXRvci5kaXNwYXRjaENvbW1hbmQoVE9HR0xFX0xJTktfQ09NTUFORCwgbnVsbClcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICBvbk1vdXNlRG93bj17KGV2ZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICB0YWJJbmRleD17MH1cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8TGlua0RyYXdlclxuICAgICAgICBkcmF3ZXJTbHVnPXtkcmF3ZXJTbHVnfVxuICAgICAgICBoYW5kbGVNb2RhbFN1Ym1pdD17KGZpZWxkczogRm9ybVN0YXRlLCBkYXRhOiBEYXRhKSA9PiB7XG4gICAgICAgICAgY2xvc2VNb2RhbChkcmF3ZXJTbHVnKVxuXG4gICAgICAgICAgY29uc3QgbmV3TGlua1BheWxvYWQ6IExpbmtQYXlsb2FkID0gZGF0YSBhcyBMaW5rUGF5bG9hZFxuXG4gICAgICAgICAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svbGV4aWNhbC9wdWxsLzU1MzYuIFRoaXMgdXBkYXRlcyBhdXRvbGluayBub2RlcyB0byBsaW5rIG5vZGVzIHdoZW5ldmVyIGEgY2hhbmdlIHdhcyBtYWRlICh3aGljaCBpcyBnb29kISkuXG4gICAgICAgICAgZWRpdG9yLnVwZGF0ZSgoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSAkZ2V0U2VsZWN0aW9uKClcbiAgICAgICAgICAgIGlmICgkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IGdldFNlbGVjdGVkTm9kZShzZWxlY3Rpb24pLmdldFBhcmVudCgpXG4gICAgICAgICAgICAgIGlmICgkaXNBdXRvTGlua05vZGUocGFyZW50KSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxpbmtOb2RlID0gJGNyZWF0ZUxpbmtOb2RlKHtcbiAgICAgICAgICAgICAgICAgIGZpZWxkczogbmV3TGlua1BheWxvYWQuZmllbGRzLFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgcGFyZW50LnJlcGxhY2UobGlua05vZGUsIHRydWUpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgLy8gTmVlZHMgdG8gaGFwcGVuIEFGVEVSIGEgcG90ZW50aWFsIGF1dG8gbGluayA9PiBsaW5rIG5vZGUgY29udmVyc2lvbiwgYXMgb3RoZXJ3aXNlLCB0aGUgdXBkYXRlZCB0ZXh0IHRvIGRpc3BsYXkgbWF5IGJlIGxvc3QgZHVlIHRvXG4gICAgICAgICAgLy8gaXQgYmVpbmcgYXBwbGllZCB0byB0aGUgYXV0byBsaW5rIG5vZGUgaW5zdGVhZCBvZiB0aGUgbGluayBub2RlLlxuICAgICAgICAgIGVkaXRvci5kaXNwYXRjaENvbW1hbmQoVE9HR0xFX0xJTktfQ09NTUFORCwgbmV3TGlua1BheWxvYWQpXG4gICAgICAgIH19XG4gICAgICAgIHN0YXRlRGF0YT17c3RhdGVEYXRhfVxuICAgICAgLz5cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApXG59XG4iXSwibmFtZXMiOlsidXNlTW9kYWwiLCJ1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0IiwiJGZpbmRNYXRjaGluZ1BhcmVudCIsIm1lcmdlUmVnaXN0ZXIiLCJnZXRUcmFuc2xhdGlvbiIsImZvcm1hdERyYXdlclNsdWciLCJ1c2VDb25maWciLCJ1c2VFZGl0RGVwdGgiLCJ1c2VUcmFuc2xhdGlvbiIsIiRnZXRTZWxlY3Rpb24iLCIkaXNSYW5nZVNlbGVjdGlvbiIsIkNPTU1BTkRfUFJJT1JJVFlfSElHSCIsIkNPTU1BTkRfUFJJT1JJVFlfTE9XIiwiS0VZX0VTQ0FQRV9DT01NQU5EIiwiU0VMRUNUSU9OX0NIQU5HRV9DT01NQU5EIiwiUmVhY3QiLCJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZVN0YXRlIiwidXNlRWRpdG9yQ29uZmlnQ29udGV4dCIsImdldFNlbGVjdGVkTm9kZSIsInNldEZsb2F0aW5nRWxlbVBvc2l0aW9uRm9yTGlua0VkaXRvciIsIkxpbmtEcmF3ZXIiLCIkaXNBdXRvTGlua05vZGUiLCIkY3JlYXRlTGlua05vZGUiLCIkaXNMaW5rTm9kZSIsIlRPR0dMRV9MSU5LX0NPTU1BTkQiLCJUT0dHTEVfTElOS19XSVRIX01PREFMX0NPTU1BTkQiLCJMaW5rRWRpdG9yIiwiYW5jaG9yRWxlbSIsImVkaXRvciIsImVkaXRvclJlZiIsImxpbmtVcmwiLCJzZXRMaW5rVXJsIiwibGlua0xhYmVsIiwic2V0TGlua0xhYmVsIiwidXVpZCIsImNvbmZpZyIsImkxOG4iLCJ0Iiwic3RhdGVEYXRhIiwic2V0U3RhdGVEYXRhIiwiY2xvc2VNb2RhbCIsInRvZ2dsZU1vZGFsIiwiZWRpdERlcHRoIiwiaXNMaW5rIiwic2V0SXNMaW5rIiwiaXNBdXRvTGluayIsInNldElzQXV0b0xpbmsiLCJkcmF3ZXJTbHVnIiwic2x1ZyIsImRlcHRoIiwidXBkYXRlTGlua0VkaXRvciIsInNlbGVjdGlvbiIsInNlbGVjdGVkTm9kZURvbVJlY3QiLCJub2RlIiwiZ2V0RWxlbWVudEJ5S2V5IiwiZ2V0S2V5IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwibGlua1BhcmVudCIsImRhdGEiLCJmaWVsZHMiLCJkb2MiLCJ1bmRlZmluZWQiLCJsaW5rVHlwZSIsIm5ld1RhYiIsInVybCIsImdldEZpZWxkcyIsInRleHQiLCJnZXRUZXh0Q29udGVudCIsInJlbGF0aW9uVG8iLCJ2YWx1ZSIsInJlbGF0ZWRGaWVsZCIsImNvbGxlY3Rpb25zIiwiZmluZCIsImNvbGwiLCJsYWJlbCIsImxhYmVscyIsInNpbmd1bGFyIiwicmVwbGFjZSIsImVkaXRvckVsZW0iLCJjdXJyZW50IiwibmF0aXZlU2VsZWN0aW9uIiwid2luZG93IiwiZ2V0U2VsZWN0aW9uIiwiYWN0aXZlRWxlbWVudCIsImRvY3VtZW50Iiwicm9vdEVsZW1lbnQiLCJnZXRSb290RWxlbWVudCIsImNvbnRhaW5zIiwiYW5jaG9yTm9kZSIsImdldFJhbmdlQXQiLCJ5IiwiY2xhc3NOYW1lIiwicmVnaXN0ZXJDb21tYW5kIiwicGF5bG9hZCIsImRpc3BhdGNoQ29tbWFuZCIsInN0eWxlIiwib3BhY2l0eSIsInRyYW5zZm9ybSIsInNjcm9sbGVyRWxlbSIsInBhcmVudEVsZW1lbnQiLCJ1cGRhdGUiLCJnZXRFZGl0b3JTdGF0ZSIsInJlYWQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInJlZ2lzdGVyVXBkYXRlTGlzdGVuZXIiLCJlZGl0b3JTdGF0ZSIsIkZyYWdtZW50IiwiZGl2IiwicmVmIiwiYSIsImhyZWYiLCJyZWwiLCJ0YXJnZXQiLCJsZW5ndGgiLCJpc0VkaXRhYmxlIiwiYnV0dG9uIiwiYXJpYS1sYWJlbCIsIm9uQ2xpY2siLCJvbk1vdXNlRG93biIsImV2ZW50IiwicHJldmVudERlZmF1bHQiLCJ0YWJJbmRleCIsInR5cGUiLCJoYW5kbGVNb2RhbFN1Ym1pdCIsIm5ld0xpbmtQYXlsb2FkIiwicGFyZW50IiwiZ2V0UGFyZW50IiwibGlua05vZGUiXSwibWFwcGluZ3MiOiJBQUFBO0FBSUEsU0FBU0EsUUFBUSxRQUFRLHFCQUFvQjtBQUM3QyxTQUFTQyx5QkFBeUIsUUFBUSx3Q0FBdUM7QUFDakYsU0FBU0MsbUJBQW1CLEVBQUVDLGFBQWEsUUFBUSxpQkFBZ0I7QUFDbkUsU0FBU0MsY0FBYyxRQUFRLDJCQUEwQjtBQUN6RCxTQUFTQyxnQkFBZ0IsRUFBRUMsU0FBUyxFQUFFQyxZQUFZLEVBQUVDLGNBQWMsUUFBUSxpQkFBZ0I7QUFDMUYsU0FDRUMsYUFBYSxFQUNiQyxpQkFBaUIsRUFDakJDLHFCQUFxQixFQUNyQkMsb0JBQW9CLEVBQ3BCQyxrQkFBa0IsRUFDbEJDLHdCQUF3QixRQUNuQixVQUFTO0FBQ2hCLE9BQU9DLFNBQVNDLFdBQVcsRUFBRUMsU0FBUyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSxRQUFPO0FBS3ZFLFNBQVNDLHNCQUFzQixRQUFRLDREQUEyRDtBQUNsRyxTQUFTQyxlQUFlLFFBQVEsK0NBQThDO0FBQzlFLFNBQVNDLG9DQUFvQyxRQUFRLG9FQUFtRTtBQUN4SCxTQUFTQyxVQUFVLFFBQVEsa0JBQWlCO0FBQzVDLFNBQVNDLGVBQWUsUUFBUSw4QkFBNkI7QUFDN0QsU0FBU0MsZUFBZSxRQUFRLDBCQUF5QjtBQUN6RCxTQUFTQyxXQUFXLEVBQUVDLG1CQUFtQixRQUFRLDBCQUF5QjtBQUMxRSxTQUFTQyw4QkFBOEIsUUFBUSxhQUFZO0FBRTNELE9BQU8sU0FBU0MsV0FBVyxFQUFFQyxVQUFVLEVBQStCO0lBQ3BFLE1BQU0sQ0FBQ0MsT0FBTyxHQUFHOUI7SUFFakIsTUFBTStCLFlBQVlkLE9BQThCO0lBQ2hELE1BQU0sQ0FBQ2UsU0FB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
|
|
@@ -1,64 +1,13 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function() {
|
|
9
|
-
return FloatingLinkEditorPlugin;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
|
|
13
|
-
const _reactdom = require("react-dom");
|
|
14
|
-
const _LinkEditor = require("./LinkEditor");
|
|
15
|
-
require("./index.scss");
|
|
16
|
-
function _getRequireWildcardCache(nodeInterop) {
|
|
17
|
-
if (typeof WeakMap !== "function") return null;
|
|
18
|
-
var cacheBabelInterop = new WeakMap();
|
|
19
|
-
var cacheNodeInterop = new WeakMap();
|
|
20
|
-
return (_getRequireWildcardCache = function(nodeInterop) {
|
|
21
|
-
return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
|
|
22
|
-
})(nodeInterop);
|
|
23
|
-
}
|
|
24
|
-
function _interop_require_wildcard(obj, nodeInterop) {
|
|
25
|
-
if (!nodeInterop && obj && obj.__esModule) {
|
|
26
|
-
return obj;
|
|
27
|
-
}
|
|
28
|
-
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
29
|
-
return {
|
|
30
|
-
default: obj
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
var cache = _getRequireWildcardCache(nodeInterop);
|
|
34
|
-
if (cache && cache.has(obj)) {
|
|
35
|
-
return cache.get(obj);
|
|
36
|
-
}
|
|
37
|
-
var newObj = {
|
|
38
|
-
__proto__: null
|
|
39
|
-
};
|
|
40
|
-
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
41
|
-
for(var key in obj){
|
|
42
|
-
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
43
|
-
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
44
|
-
if (desc && (desc.get || desc.set)) {
|
|
45
|
-
Object.defineProperty(newObj, key, desc);
|
|
46
|
-
} else {
|
|
47
|
-
newObj[key] = obj[key];
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
newObj.default = obj;
|
|
52
|
-
if (cache) {
|
|
53
|
-
cache.set(obj, newObj);
|
|
54
|
-
}
|
|
55
|
-
return newObj;
|
|
56
|
-
}
|
|
57
|
-
const FloatingLinkEditorPlugin = (props)=>{
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { createPortal } from 'react-dom';
|
|
4
|
+
import { LinkEditor } from './LinkEditor';
|
|
5
|
+
import './index.scss';
|
|
6
|
+
export const FloatingLinkEditorPlugin = (props)=>{
|
|
58
7
|
const { anchorElem = document.body } = props;
|
|
59
|
-
return /*#__PURE__*/
|
|
8
|
+
return /*#__PURE__*/ createPortal(/*#__PURE__*/ React.createElement(LinkEditor, {
|
|
60
9
|
anchorElem: anchorElem
|
|
61
10
|
}), anchorElem);
|
|
62
11
|
};
|
|
63
12
|
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL3BsdWdpbnMvZmxvYXRpbmdMaW5rRWRpdG9yL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAncmVhY3QtZG9tJ1xuXG5pbXBvcnQgeyBMaW5rRWRpdG9yIH0gZnJvbSAnLi9MaW5rRWRpdG9yJ1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5cbmV4cG9ydCBjb25zdCBGbG9hdGluZ0xpbmtFZGl0b3JQbHVnaW46IFJlYWN0LkZDPHtcbiAgYW5jaG9yRWxlbTogSFRNTEVsZW1lbnRcbn0+
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL3BsdWdpbnMvZmxvYXRpbmdMaW5rRWRpdG9yL2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSAncmVhY3QtZG9tJ1xuXG5pbXBvcnQgeyBMaW5rRWRpdG9yIH0gZnJvbSAnLi9MaW5rRWRpdG9yJ1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5cbmV4cG9ydCBjb25zdCBGbG9hdGluZ0xpbmtFZGl0b3JQbHVnaW46IFJlYWN0LkZDPHtcbiAgYW5jaG9yRWxlbTogSFRNTEVsZW1lbnRcbn0+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgYW5jaG9yRWxlbSA9IGRvY3VtZW50LmJvZHkgfSA9IHByb3BzXG5cbiAgcmV0dXJuIGNyZWF0ZVBvcnRhbCg8TGlua0VkaXRvciBhbmNob3JFbGVtPXthbmNob3JFbGVtfSAvPiwgYW5jaG9yRWxlbSlcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsImNyZWF0ZVBvcnRhbCIsIkxpbmtFZGl0b3IiLCJGbG9hdGluZ0xpbmtFZGl0b3JQbHVnaW4iLCJwcm9wcyIsImFuY2hvckVsZW0iLCJkb2N1bWVudCIsImJvZHkiXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsWUFBWUEsV0FBVyxRQUFPO0FBQzlCLFNBQVNDLFlBQVksUUFBUSxZQUFXO0FBRXhDLFNBQVNDLFVBQVUsUUFBUSxlQUFjO0FBQ3pDLE9BQU8sZUFBYztBQUVyQixPQUFPLE1BQU1DLDJCQUVSLENBQUNDO0lBQ0osTUFBTSxFQUFFQyxhQUFhQyxTQUFTQyxJQUFJLEVBQUUsR0FBR0g7SUFFdkMscUJBQU9ILDJCQUFhLG9CQUFDQztRQUFXRyxZQUFZQTtRQUFnQkE7QUFDOUQsRUFBQyJ9
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* The payload of a link node
|
|
3
|
+
* This can be delivered from the link node to the drawer, or from the drawer/anything to the TOGGLE_LINK_COMMAND
|
|
4
|
+
*/ export { };
|
|
5
5
|
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL3BsdWdpbnMvZmxvYXRpbmdMaW5rRWRpdG9yL3R5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgTGlua0ZpZWxkcyB9IGZyb20gJy4uLy4uL25vZGVzL3R5cGVzJ1xuXG4vKipcbiAqIFRoZSBwYXlsb2FkIG9mIGEgbGluayBub2RlXG4gKiBUaGlzIGNhbiBiZSBkZWxpdmVyZWQgZnJvbSB0aGUgbGluayBub2RlIHRvIHRoZSBkcmF3ZXIsIG9yIGZyb20gdGhlIGRyYXdlci9hbnl0aGluZyB0byB0aGUgVE9HR0xFX0xJTktfQ09NTUFORFxuICovXG5leHBvcnQgdHlwZSBMaW5rUGF5bG9hZCA9IHtcbiAgZmllbGRzOiBMaW5rRmllbGRzXG4gIC8qKlxuICAgKiBUaGUgdGV4dCBjb250ZW50IG9mIHRoZSBsaW5rIG5vZGUgLSB3aWxsIGJlIGRpc3BsYXllZCBpbiB0aGUgZHJhd2VyXG4gICAqL1xuICB0ZXh0OiBudWxsIHwgc3RyaW5nXG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7OztDQUdDLEdBQ0QsV0FNQyJ9
|
|
@@ -1,16 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
enumerable: true,
|
|
7
|
-
get: function() {
|
|
8
|
-
return transformExtraFields;
|
|
9
|
-
}
|
|
10
|
-
});
|
|
11
|
-
const _baseFields = require("../../drawer/baseFields");
|
|
12
|
-
function transformExtraFields(customFieldSchema, config, i18n, enabledCollections, disabledCollections) {
|
|
13
|
-
const baseFields = (0, _baseFields.getBaseFields)(config, enabledCollections, disabledCollections);
|
|
1
|
+
import { getBaseFields } from '../../drawer/baseFields';
|
|
2
|
+
/**
|
|
3
|
+
* This function is run to enrich the basefields which every link has with potential, custom user-added fields.
|
|
4
|
+
*/ export function transformExtraFields(customFieldSchema, config, i18n, enabledCollections, disabledCollections) {
|
|
5
|
+
const baseFields = getBaseFields(config, enabledCollections, disabledCollections);
|
|
14
6
|
const fields = typeof customFieldSchema === 'function' ? customFieldSchema({
|
|
15
7
|
config,
|
|
16
8
|
defaultFields: baseFields,
|
|
@@ -42,4 +34,4 @@ function transformExtraFields(customFieldSchema, config, i18n, enabledCollection
|
|
|
42
34
|
return fields;
|
|
43
35
|
}
|
|
44
36
|
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL3BsdWdpbnMvZmxvYXRpbmdMaW5rRWRpdG9yL3V0aWxpdGllcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEkxOG4gfSBmcm9tICdAcGF5bG9hZGNtcy90cmFuc2xhdGlvbnMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbmZpZyB9IGZyb20gJ3BheWxvYWQvY29uZmlnJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCwgR3JvdXBGaWVsZCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IGdldEJhc2VGaWVsZHMgfSBmcm9tICcuLi8uLi9kcmF3ZXIvYmFzZUZpZWxkcydcblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIHJ1biB0byBlbnJpY2ggdGhlIGJhc2VmaWVsZHMgd2hpY2ggZXZlcnkgbGluayBoYXMgd2l0aCBwb3RlbnRpYWwsIGN1c3RvbSB1c2VyLWFkZGVkIGZpZWxkcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUV4dHJhRmllbGRzKFxuICBjdXN0b21GaWVsZFNjaGVtYTpcbiAgICB8ICgoYXJnczogeyBjb25maWc6IFNhbml0aXplZENvbmZpZzsgZGVmYXVsdEZpZWxkczogRmllbGRbXTsgaTE4bjogSTE4biB9KSA9PiBGaWVsZFtdKVxuICAgIHwgRmllbGRbXSxcbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gIGkxOG46IEkxOG4sXG4gIGVuYWJsZWRDb2xsZWN0aW9ucz86IGZhbHNlIHwgc3RyaW5nW10sXG4gIGRpc2FibGVkQ29sbGVjdGlvbnM/OiBmYWxzZSB8IHN0cmluZ1tdLFxuKTogRmllbGRbXSB7XG4gIGNvbnN0IGJhc2VGaWVsZHM6IEZpZWxkW10gPSBnZXRCYXNlRmllbGRzKGNvbmZpZywgZW5hYmxlZENvbGxlY3Rpb25zLCBkaXNhYmxlZENvbGxlY3Rpb25zKVxuXG4gIGNvbnN0IGZpZWxkcyA9XG4gICAgdHlwZW9mIGN1c3RvbUZpZWxkU2NoZW1hID09PSAnZnVuY3Rpb24nXG4gICAgICA/IGN1c3RvbUZpZWxkU2NoZW1hKHsgY29uZmlnLCBkZWZhdWx0RmllbGRzOiBiYXNlRmllbGRzLCBpMThuIH0pXG4gICAgICA6IGJhc2VGaWVsZHNcblxuICAvLyBXcmFwIGZpZWxkcyB3aGljaCBhcmUgbm90IHBhcnQgb2YgdGhlIGJhc2Ugc2NoZW1hIGluIGEgZ3JvdXAgbmFtZWQgJ2ZpZWxkcycgLSBvdGhlcndpc2UgdGhleSB3aWxsIGJlIHJlbmRlcmVkIGJ1dCBub3Qgc2F2ZWRcbiAgY29uc3QgZXh0cmFGaWVsZHMgPSBbXVxuICBmb3IgKGxldCBpID0gZmllbGRzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgY29uc3QgZmllbGQgPSBmaWVsZHNbaV1cblxuICAgIGlmICgnbmFtZScgaW4gZmllbGQpIHtcbiAgICAgIGlmIChcbiAgICAgICAgIWJhc2VGaWVsZHMuZmluZCgoYmFzZUZpZWxkKSA9PiAhKCduYW1lJyBpbiBiYXNlRmllbGQpIHx8IGJhc2VGaWVsZC5uYW1lID09PSBmaWVsZC5uYW1lKVxuICAgICAgKSB7XG4gICAgICAgIGlmIChmaWVsZC5uYW1lICE9PSAnZmllbGRzJyAmJiBmaWVsZC50eXBlICE9PSAnZ3JvdXAnKSB7XG4gICAgICAgICAgZXh0cmFGaWVsZHMucHVzaChmaWVsZClcbiAgICAgICAgICAvLyBSZW1vdmUgZnJvbSBmaWVsZHMgZnJvbSBub3csIGFzIHRoZXkgbmVlZCB0byBiZSBwYXJ0IG9mIHRoZSBmaWVsZHMgZ3JvdXAgYmVsb3dcbiAgICAgICAgICBmaWVsZHMuc3BsaWNlKGZpZWxkcy5pbmRleE9mKGZpZWxkKSwgMSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KGN1c3RvbUZpZWxkU2NoZW1hKSB8fCBmaWVsZHMubGVuZ3RoID4gMCkge1xuICAgIC8vIGZpbmQgZmllbGQgd2l0aCBuYW1lICdmaWVsZHMnIGFuZCBhZGQgdGhlIGV4dHJhIGZpZWxkcyB0byBpdFxuICAgIGNvbnN0IGZpZWxkc0ZpZWxkOiBHcm91cEZpZWxkID0gZmllbGRzLmZpbmQoXG4gICAgICAoZmllbGQpID0+
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9saW5rL3BsdWdpbnMvZmxvYXRpbmdMaW5rRWRpdG9yL3V0aWxpdGllcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEkxOG4gfSBmcm9tICdAcGF5bG9hZGNtcy90cmFuc2xhdGlvbnMnXG5pbXBvcnQgdHlwZSB7IFNhbml0aXplZENvbmZpZyB9IGZyb20gJ3BheWxvYWQvY29uZmlnJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCwgR3JvdXBGaWVsZCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IGdldEJhc2VGaWVsZHMgfSBmcm9tICcuLi8uLi9kcmF3ZXIvYmFzZUZpZWxkcydcblxuLyoqXG4gKiBUaGlzIGZ1bmN0aW9uIGlzIHJ1biB0byBlbnJpY2ggdGhlIGJhc2VmaWVsZHMgd2hpY2ggZXZlcnkgbGluayBoYXMgd2l0aCBwb3RlbnRpYWwsIGN1c3RvbSB1c2VyLWFkZGVkIGZpZWxkcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybUV4dHJhRmllbGRzKFxuICBjdXN0b21GaWVsZFNjaGVtYTpcbiAgICB8ICgoYXJnczogeyBjb25maWc6IFNhbml0aXplZENvbmZpZzsgZGVmYXVsdEZpZWxkczogRmllbGRbXTsgaTE4bjogSTE4biB9KSA9PiBGaWVsZFtdKVxuICAgIHwgRmllbGRbXSxcbiAgY29uZmlnOiBTYW5pdGl6ZWRDb25maWcsXG4gIGkxOG46IEkxOG4sXG4gIGVuYWJsZWRDb2xsZWN0aW9ucz86IGZhbHNlIHwgc3RyaW5nW10sXG4gIGRpc2FibGVkQ29sbGVjdGlvbnM/OiBmYWxzZSB8IHN0cmluZ1tdLFxuKTogRmllbGRbXSB7XG4gIGNvbnN0IGJhc2VGaWVsZHM6IEZpZWxkW10gPSBnZXRCYXNlRmllbGRzKGNvbmZpZywgZW5hYmxlZENvbGxlY3Rpb25zLCBkaXNhYmxlZENvbGxlY3Rpb25zKVxuXG4gIGNvbnN0IGZpZWxkcyA9XG4gICAgdHlwZW9mIGN1c3RvbUZpZWxkU2NoZW1hID09PSAnZnVuY3Rpb24nXG4gICAgICA/IGN1c3RvbUZpZWxkU2NoZW1hKHsgY29uZmlnLCBkZWZhdWx0RmllbGRzOiBiYXNlRmllbGRzLCBpMThuIH0pXG4gICAgICA6IGJhc2VGaWVsZHNcblxuICAvLyBXcmFwIGZpZWxkcyB3aGljaCBhcmUgbm90IHBhcnQgb2YgdGhlIGJhc2Ugc2NoZW1hIGluIGEgZ3JvdXAgbmFtZWQgJ2ZpZWxkcycgLSBvdGhlcndpc2UgdGhleSB3aWxsIGJlIHJlbmRlcmVkIGJ1dCBub3Qgc2F2ZWRcbiAgY29uc3QgZXh0cmFGaWVsZHMgPSBbXVxuICBmb3IgKGxldCBpID0gZmllbGRzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgY29uc3QgZmllbGQgPSBmaWVsZHNbaV1cblxuICAgIGlmICgnbmFtZScgaW4gZmllbGQpIHtcbiAgICAgIGlmIChcbiAgICAgICAgIWJhc2VGaWVsZHMuZmluZCgoYmFzZUZpZWxkKSA9PiAhKCduYW1lJyBpbiBiYXNlRmllbGQpIHx8IGJhc2VGaWVsZC5uYW1lID09PSBmaWVsZC5uYW1lKVxuICAgICAgKSB7XG4gICAgICAgIGlmIChmaWVsZC5uYW1lICE9PSAnZmllbGRzJyAmJiBmaWVsZC50eXBlICE9PSAnZ3JvdXAnKSB7XG4gICAgICAgICAgZXh0cmFGaWVsZHMucHVzaChmaWVsZClcbiAgICAgICAgICAvLyBSZW1vdmUgZnJvbSBmaWVsZHMgZnJvbSBub3csIGFzIHRoZXkgbmVlZCB0byBiZSBwYXJ0IG9mIHRoZSBmaWVsZHMgZ3JvdXAgYmVsb3dcbiAgICAgICAgICBmaWVsZHMuc3BsaWNlKGZpZWxkcy5pbmRleE9mKGZpZWxkKSwgMSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KGN1c3RvbUZpZWxkU2NoZW1hKSB8fCBmaWVsZHMubGVuZ3RoID4gMCkge1xuICAgIC8vIGZpbmQgZmllbGQgd2l0aCBuYW1lICdmaWVsZHMnIGFuZCBhZGQgdGhlIGV4dHJhIGZpZWxkcyB0byBpdFxuICAgIGNvbnN0IGZpZWxkc0ZpZWxkOiBHcm91cEZpZWxkID0gZmllbGRzLmZpbmQoXG4gICAgICAoZmllbGQpID0+IGZpZWxkLnR5cGUgPT09ICdncm91cCcgJiYgZmllbGQubmFtZSA9PT0gJ2ZpZWxkcycsXG4gICAgKSBhcyBHcm91cEZpZWxkXG4gICAgaWYgKCFmaWVsZHNGaWVsZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnQ291bGQgbm90IGZpbmQgZmllbGQgd2l0aCBuYW1lIFwiZmllbGRzXCIuIFRoaXMgaXMgcmVxdWlyZWQgdG8gYWRkIGZpZWxkcyB0byB0aGUgbGluayBmaWVsZC4nLFxuICAgICAgKVxuICAgIH1cbiAgICBmaWVsZHNGaWVsZC5maWVsZHMgPSBBcnJheS5pc0FycmF5KGZpZWxkc0ZpZWxkLmZpZWxkcykgPyBmaWVsZHNGaWVsZC5maWVsZHMgOiBbXVxuICAgIGZpZWxkc0ZpZWxkLmZpZWxkcy5wdXNoKFxuICAgICAgLi4uKEFycmF5LmlzQXJyYXkoY3VzdG9tRmllbGRTY2hlbWEpID8gY3VzdG9tRmllbGRTY2hlbWEuY29uY2F0KGV4dHJhRmllbGRzKSA6IGV4dHJhRmllbGRzKSxcbiAgICApXG4gIH1cbiAgcmV0dXJuIGZpZWxkc1xufVxuIl0sIm5hbWVzIjpbImdldEJhc2VGaWVsZHMiLCJ0cmFuc2Zvcm1FeHRyYUZpZWxkcyIsImN1c3RvbUZpZWxkU2NoZW1hIiwiY29uZmlnIiwiaTE4biIsImVuYWJsZWRDb2xsZWN0aW9ucyIsImRpc2FibGVkQ29sbGVjdGlvbnMiLCJiYXNlRmllbGRzIiwiZmllbGRzIiwiZGVmYXVsdEZpZWxkcyIsImV4dHJhRmllbGRzIiwiaSIsImxlbmd0aCIsImZpZWxkIiwiZmluZCIsImJhc2VGaWVsZCIsIm5hbWUiLCJ0eXBlIiwicHVzaCIsInNwbGljZSIsImluZGV4T2YiLCJBcnJheSIsImlzQXJyYXkiLCJmaWVsZHNGaWVsZCIsIkVycm9yIiwiY29uY2F0Il0sIm1hcHBpbmdzIjoiQUFJQSxTQUFTQSxhQUFhLFFBQVEsMEJBQXlCO0FBRXZEOztDQUVDLEdBQ0QsT0FBTyxTQUFTQyxxQkFDZEMsaUJBRVcsRUFDWEMsTUFBdUIsRUFDdkJDLElBQVUsRUFDVkMsa0JBQXFDLEVBQ3JDQyxtQkFBc0M7SUFFdEMsTUFBTUMsYUFBc0JQLGNBQWNHLFFBQVFFLG9CQUFvQkM7SUFFdEUsTUFBTUUsU0FDSixPQUFPTixzQkFBc0IsYUFDekJBLGtCQUFrQjtRQUFFQztRQUFRTSxlQUFlRjtRQUFZSDtJQUFLLEtBQzVERztJQUVOLDhIQUE4SDtJQUM5SCxNQUFNRyxjQUFjLEVBQUU7SUFDdEIsSUFBSyxJQUFJQyxJQUFJSCxPQUFPSSxNQUFNLEdBQUcsR0FBR0QsS0FBSyxHQUFHQSxJQUFLO1FBQzNDLE1BQU1FLFFBQVFMLE1BQU0sQ0FBQ0csRUFBRTtRQUV2QixJQUFJLFVBQVVFLE9BQU87WUFDbkIsSUFDRSxDQUFDTixXQUFXTyxJQUFJLENBQUMsQ0FBQ0MsWUFBYyxDQUFFLENBQUEsVUFBVUEsU0FBUSxLQUFNQSxVQUFVQyxJQUFJLEtBQUtILE1BQU1HLElBQUksR0FDdkY7Z0JBQ0EsSUFBSUgsTUFBTUcsSUFBSSxLQUFLLFlBQVlILE1BQU1JLElBQUksS0FBSyxTQUFTO29CQUNyRFAsWUFBWVEsSUFBSSxDQUFDTDtvQkFDakIsaUZBQWlGO29CQUNqRkwsT0FBT1csTUFBTSxDQUFDWCxPQUFPWSxPQUFPLENBQUNQLFFBQVE7Z0JBQ3ZDO1lBQ0Y7UUFDRjtJQUNGO0lBRUEsSUFBSVEsTUFBTUMsT0FBTyxDQUFDcEIsc0JBQXNCTSxPQUFPSSxNQUFNLEdBQUcsR0FBRztRQUN6RCwrREFBK0Q7UUFDL0QsTUFBTVcsY0FBMEJmLE9BQU9NLElBQUksQ0FDekMsQ0FBQ0QsUUFBVUEsTUFBTUksSUFBSSxLQUFLLFdBQVdKLE1BQU1HLElBQUksS0FBSztRQUV0RCxJQUFJLENBQUNPLGFBQWE7WUFDaEIsTUFBTSxJQUFJQyxNQUNSO1FBRUo7UUFDQUQsWUFBWWYsTUFBTSxHQUFHYSxNQUFNQyxPQUFPLENBQUNDLFlBQVlmLE1BQU0sSUFBSWUsWUFBWWYsTUFBTSxHQUFHLEVBQUU7UUFDaEZlLFlBQVlmLE1BQU0sQ0FBQ1UsSUFBSSxJQUNqQkcsTUFBTUMsT0FBTyxDQUFDcEIscUJBQXFCQSxrQkFBa0J1QixNQUFNLENBQUNmLGVBQWVBO0lBRW5GO0lBQ0EsT0FBT0Y7QUFDVCJ9
|