@payloadcms/richtext-lexical 0.1.17 → 0.3.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.
Files changed (119) hide show
  1. package/dist/cell/index.d.ts.map +1 -1
  2. package/dist/cell/index.js +2 -6
  3. package/dist/field/Field.d.ts.map +1 -1
  4. package/dist/field/Field.js +4 -2
  5. package/dist/field/features/BlockQuote/index.d.ts.map +1 -1
  6. package/dist/field/features/BlockQuote/index.js +7 -5
  7. package/dist/field/features/Blocks/component/BlockContent.d.ts +3 -2
  8. package/dist/field/features/Blocks/component/BlockContent.d.ts.map +1 -1
  9. package/dist/field/features/Blocks/component/BlockContent.js +33 -31
  10. package/dist/field/features/Blocks/component/FormSavePlugin.d.ts +4 -6
  11. package/dist/field/features/Blocks/component/FormSavePlugin.d.ts.map +1 -1
  12. package/dist/field/features/Blocks/component/FormSavePlugin.js +5 -6
  13. package/dist/field/features/Blocks/component/index.d.ts +5 -4
  14. package/dist/field/features/Blocks/component/index.d.ts.map +1 -1
  15. package/dist/field/features/Blocks/component/index.js +33 -22
  16. package/dist/field/features/Blocks/component/index.scss +2 -2
  17. package/dist/field/features/Blocks/drawer/index.d.ts.map +1 -1
  18. package/dist/field/features/Blocks/drawer/index.js +7 -9
  19. package/dist/field/features/Blocks/index.d.ts.map +1 -1
  20. package/dist/field/features/Blocks/index.js +15 -25
  21. package/dist/field/features/Blocks/nodes/BlocksNode.d.ts +5 -7
  22. package/dist/field/features/Blocks/nodes/BlocksNode.d.ts.map +1 -1
  23. package/dist/field/features/Blocks/nodes/BlocksNode.js +31 -10
  24. package/dist/field/features/Blocks/plugin/index.d.ts +1 -1
  25. package/dist/field/features/Blocks/plugin/index.d.ts.map +1 -1
  26. package/dist/field/features/Blocks/plugin/index.js +1 -1
  27. package/dist/field/features/Blocks/populationPromise.d.ts.map +1 -1
  28. package/dist/field/features/Blocks/populationPromise.js +7 -3
  29. package/dist/field/features/Blocks/utils/transformInputFormData.d.ts +11 -0
  30. package/dist/field/features/Blocks/utils/transformInputFormData.d.ts.map +1 -0
  31. package/dist/field/features/Blocks/utils/transformInputFormData.js +35 -0
  32. package/dist/field/features/Blocks/utils/transformInputFormSchema.d.ts +3 -0
  33. package/dist/field/features/Blocks/utils/transformInputFormSchema.d.ts.map +1 -0
  34. package/dist/field/features/Blocks/utils/transformInputFormSchema.js +43 -0
  35. package/dist/field/features/Blocks/validate.d.ts.map +1 -1
  36. package/dist/field/features/Blocks/validate.js +11 -4
  37. package/dist/field/features/Heading/index.d.ts.map +1 -1
  38. package/dist/field/features/Heading/index.js +6 -4
  39. package/dist/field/features/Link/plugins/autoLink/index.d.ts.map +1 -1
  40. package/dist/field/features/Link/plugins/autoLink/index.js +142 -32
  41. package/dist/field/features/Link/populationPromise.d.ts.map +1 -1
  42. package/dist/field/features/Link/populationPromise.js +6 -2
  43. package/dist/field/features/Paragraph/index.d.ts.map +1 -1
  44. package/dist/field/features/Paragraph/index.js +6 -4
  45. package/dist/field/features/Relationship/index.d.ts.map +1 -1
  46. package/dist/field/features/Relationship/index.js +6 -4
  47. package/dist/field/features/Relationship/nodes/RelationshipNode.js +2 -2
  48. package/dist/field/features/Relationship/nodes/components/index.scss +2 -2
  49. package/dist/field/features/Upload/index.d.ts.map +1 -1
  50. package/dist/field/features/Upload/index.js +6 -4
  51. package/dist/field/features/Upload/populationPromise.d.ts.map +1 -1
  52. package/dist/field/features/Upload/populationPromise.js +6 -2
  53. package/dist/field/features/converters/html/field/index.d.ts +7 -1
  54. package/dist/field/features/converters/html/field/index.d.ts.map +1 -1
  55. package/dist/field/features/converters/html/field/index.js +43 -5
  56. package/dist/field/features/debug/TestRecorder/plugin/index.d.ts.map +1 -1
  57. package/dist/field/features/debug/TestRecorder/plugin/index.js +2 -1
  58. package/dist/field/features/lists/CheckList/index.d.ts.map +1 -1
  59. package/dist/field/features/lists/CheckList/index.js +23 -4
  60. package/dist/field/features/lists/OrderedList/index.d.ts.map +1 -1
  61. package/dist/field/features/lists/OrderedList/index.js +24 -5
  62. package/dist/field/features/lists/UnorderedList/index.d.ts +1 -1
  63. package/dist/field/features/lists/UnorderedList/index.d.ts.map +1 -1
  64. package/dist/field/features/lists/UnorderedList/index.js +27 -8
  65. package/dist/field/features/types.d.ts +23 -7
  66. package/dist/field/features/types.d.ts.map +1 -1
  67. package/dist/field/lexical/LexicalEditor.d.ts.map +1 -1
  68. package/dist/field/lexical/LexicalEditor.js +9 -3
  69. package/dist/field/lexical/LexicalProvider.d.ts +1 -0
  70. package/dist/field/lexical/LexicalProvider.d.ts.map +1 -1
  71. package/dist/field/lexical/LexicalProvider.js +4 -3
  72. package/dist/field/lexical/config/default.js +2 -2
  73. package/dist/field/lexical/config/sanitize.js +4 -4
  74. package/dist/field/lexical/nodes/index.d.ts +2 -1
  75. package/dist/field/lexical/nodes/index.d.ts.map +1 -1
  76. package/dist/field/lexical/nodes/index.js +1 -1
  77. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.d.ts.map +1 -1
  78. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarButton/index.js +10 -3
  79. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.d.ts.map +1 -1
  80. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/DropDown.js +16 -7
  81. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.d.ts +4 -1
  82. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.d.ts.map +1 -1
  83. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.js +14 -4
  84. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.scss +5 -5
  85. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.d.ts.map +1 -1
  86. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.js +3 -1
  87. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts +1 -7
  88. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts.map +1 -1
  89. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +11 -12
  90. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts +2 -5
  91. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts.map +1 -1
  92. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +12 -28
  93. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts +9 -7
  94. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.d.ts.map +1 -1
  95. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/types.js +8 -8
  96. package/dist/field/lexical/plugins/SlashMenu/index.d.ts.map +1 -1
  97. package/dist/field/lexical/plugins/SlashMenu/index.js +41 -23
  98. package/dist/field/lexical/plugins/SlashMenu/index.scss +7 -7
  99. package/dist/field/lexical/plugins/SlashMenu/useMenuTriggerMatch.d.ts +23 -0
  100. package/dist/field/lexical/plugins/SlashMenu/useMenuTriggerMatch.d.ts.map +1 -0
  101. package/dist/field/lexical/plugins/SlashMenu/useMenuTriggerMatch.js +41 -0
  102. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.d.ts.map +1 -1
  103. package/dist/field/lexical/plugins/handles/DraggableBlockPlugin/index.js +2 -1
  104. package/dist/field/lexical/ui/ContentEditable.scss +0 -1
  105. package/dist/field/lexical/utils/setFloatingElemPosition.d.ts.map +1 -1
  106. package/dist/field/lexical/utils/setFloatingElemPosition.js +7 -3
  107. package/dist/field/lexical/utils/setFloatingElemPositionForLinkEditor.d.ts +1 -1
  108. package/dist/field/lexical/utils/setFloatingElemPositionForLinkEditor.d.ts.map +1 -1
  109. package/dist/field/lexical/utils/setFloatingElemPositionForLinkEditor.js +1 -1
  110. package/dist/index.d.ts +1 -1
  111. package/dist/index.d.ts.map +1 -1
  112. package/dist/index.js +90 -5
  113. package/dist/populate/recurseNestedFields.d.ts +10 -2
  114. package/dist/populate/recurseNestedFields.d.ts.map +1 -1
  115. package/dist/populate/recurseNestedFields.js +21 -176
  116. package/dist/populate/richTextRelationshipPromise.d.ts +4 -4
  117. package/dist/populate/richTextRelationshipPromise.d.ts.map +1 -1
  118. package/dist/populate/richTextRelationshipPromise.js +17 -5
  119. package/package.json +16 -16
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Wraps the input formData in a blockFieldWrapperName, so that it can be read by the RenderFields component
3
+ * which requires it to be wrapped in a group field
4
+ */ "use strict";
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ Object.defineProperty(exports, "transformInputFormData", {
9
+ enumerable: true,
10
+ get: function() {
11
+ return transformInputFormData;
12
+ }
13
+ });
14
+ function transformInputFormData(data, blockFieldWrapperName) {
15
+ const dataCopy = JSON.parse(JSON.stringify(data));
16
+ const fieldDataWithoutBlockFields = {
17
+ ...dataCopy
18
+ };
19
+ delete fieldDataWithoutBlockFields['id'];
20
+ delete fieldDataWithoutBlockFields['blockName'];
21
+ delete fieldDataWithoutBlockFields['blockType'];
22
+ // Wrap all fields inside blockFieldWrapperName.
23
+ // This is necessary, because blockFieldWrapperName is set as the 'base' path for all fields in the block (in the RenderFields component).
24
+ // Thus, in order for the data to be read, it has to be wrapped in this blockFieldWrapperName, as it's expected to be there.
25
+ // Why are we doing this? Because that way, all rendered fields of the blocks have different paths and names, and thus don't conflict with each other.
26
+ // They have different paths and names, because they are wrapped in the blockFieldWrapperName, which has a name that is unique for each block.
27
+ return {
28
+ id: dataCopy.id,
29
+ [blockFieldWrapperName]: fieldDataWithoutBlockFields,
30
+ blockName: dataCopy.blockName,
31
+ blockType: dataCopy.blockType
32
+ };
33
+ }
34
+
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9CbG9ja3MvdXRpbHMvdHJhbnNmb3JtSW5wdXRGb3JtRGF0YS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFdyYXBzIHRoZSBpbnB1dCBmb3JtRGF0YSBpbiBhIGJsb2NrRmllbGRXcmFwcGVyTmFtZSwgc28gdGhhdCBpdCBjYW4gYmUgcmVhZCBieSB0aGUgUmVuZGVyRmllbGRzIGNvbXBvbmVudFxuICogd2hpY2ggcmVxdWlyZXMgaXQgdG8gYmUgd3JhcHBlZCBpbiBhIGdyb3VwIGZpZWxkXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmFuc2Zvcm1JbnB1dEZvcm1EYXRhKGRhdGE6IGFueSwgYmxvY2tGaWVsZFdyYXBwZXJOYW1lOiBzdHJpbmcpIHtcbiAgY29uc3QgZGF0YUNvcHkgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGRhdGEpKVxuXG4gIGNvbnN0IGZpZWxkRGF0YVdpdGhvdXRCbG9ja0ZpZWxkcyA9IHsgLi4uZGF0YUNvcHkgfVxuICBkZWxldGUgZmllbGREYXRhV2l0aG91dEJsb2NrRmllbGRzWydpZCddXG4gIGRlbGV0ZSBmaWVsZERhdGFXaXRob3V0QmxvY2tGaWVsZHNbJ2Jsb2NrTmFtZSddXG4gIGRlbGV0ZSBmaWVsZERhdGFXaXRob3V0QmxvY2tGaWVsZHNbJ2Jsb2NrVHlwZSddXG5cbiAgLy8gV3JhcCBhbGwgZmllbGRzIGluc2lkZSBibG9ja0ZpZWxkV3JhcHBlck5hbWUuXG4gIC8vIFRoaXMgaXMgbmVjZXNzYXJ5LCBiZWNhdXNlIGJsb2NrRmllbGRXcmFwcGVyTmFtZSBpcyBzZXQgYXMgdGhlICdiYXNlJyBwYXRoIGZvciBhbGwgZmllbGRzIGluIHRoZSBibG9jayAoaW4gdGhlIFJlbmRlckZpZWxkcyBjb21wb25lbnQpLlxuICAvLyBUaHVzLCBpbiBvcmRlciBmb3IgdGhlIGRhdGEgdG8gYmUgcmVhZCwgaXQgaGFzIHRvIGJlIHdyYXBwZWQgaW4gdGhpcyBibG9ja0ZpZWxkV3JhcHBlck5hbWUsIGFzIGl0J3MgZXhwZWN0ZWQgdG8gYmUgdGhlcmUuXG5cbiAgLy8gV2h5IGFyZSB3ZSBkb2luZyB0aGlzPyBCZWNhdXNlIHRoYXQgd2F5LCBhbGwgcmVuZGVyZWQgZmllbGRzIG9mIHRoZSBibG9ja3MgaGF2ZSBkaWZmZXJlbnQgcGF0aHMgYW5kIG5hbWVzLCBhbmQgdGh1cyBkb24ndCBjb25mbGljdCB3aXRoIGVhY2ggb3RoZXIuXG4gIC8vIFRoZXkgaGF2ZSBkaWZmZXJlbnQgcGF0aHMgYW5kIG5hbWVzLCBiZWNhdXNlIHRoZXkgYXJlIHdyYXBwZWQgaW4gdGhlIGJsb2NrRmllbGRXcmFwcGVyTmFtZSwgd2hpY2ggaGFzIGEgbmFtZSB0aGF0IGlzIHVuaXF1ZSBmb3IgZWFjaCBibG9jay5cbiAgcmV0dXJuIHtcbiAgICBpZDogZGF0YUNvcHkuaWQsXG4gICAgW2Jsb2NrRmllbGRXcmFwcGVyTmFtZV06IGZpZWxkRGF0YVdpdGhvdXRCbG9ja0ZpZWxkcyxcbiAgICBibG9ja05hbWU6IGRhdGFDb3B5LmJsb2NrTmFtZSxcbiAgICBibG9ja1R5cGU6IGRhdGFDb3B5LmJsb2NrVHlwZSxcbiAgfVxufVxuIl0sIm5hbWVzIjpbInRyYW5zZm9ybUlucHV0Rm9ybURhdGEiLCJkYXRhIiwiYmxvY2tGaWVsZFdyYXBwZXJOYW1lIiwiZGF0YUNvcHkiLCJKU09OIiwicGFyc2UiLCJzdHJpbmdpZnkiLCJmaWVsZERhdGFXaXRob3V0QmxvY2tGaWVsZHMiLCJpZCIsImJsb2NrTmFtZSIsImJsb2NrVHlwZSJdLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDOzs7OytCQUNlQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSx1QkFBdUJDLElBQVMsRUFBRUMscUJBQTZCO0lBQzdFLE1BQU1DLFdBQVdDLEtBQUtDLEtBQUssQ0FBQ0QsS0FBS0UsU0FBUyxDQUFDTDtJQUUzQyxNQUFNTSw4QkFBOEI7UUFBRSxHQUFHSixRQUFRO0lBQUM7SUFDbEQsT0FBT0ksMkJBQTJCLENBQUMsS0FBSztJQUN4QyxPQUFPQSwyQkFBMkIsQ0FBQyxZQUFZO0lBQy9DLE9BQU9BLDJCQUEyQixDQUFDLFlBQVk7SUFFL0MsZ0RBQWdEO0lBQ2hELDBJQUEwSTtJQUMxSSw0SEFBNEg7SUFFNUgsc0pBQXNKO0lBQ3RKLDhJQUE4STtJQUM5SSxPQUFPO1FBQ0xDLElBQUlMLFNBQVNLLEVBQUU7UUFDZixDQUFDTixzQkFBc0IsRUFBRUs7UUFDekJFLFdBQVdOLFNBQVNNLFNBQVM7UUFDN0JDLFdBQVdQLFNBQVNPLFNBQVM7SUFDL0I7QUFDRiJ9
@@ -0,0 +1,3 @@
1
+ import type { Field } from 'payload/types';
2
+ export declare function transformInputFormSchema(formSchema: any, blockFieldWrapperName: string): Field[];
3
+ //# sourceMappingURL=transformInputFormSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformInputFormSchema.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/Blocks/utils/transformInputFormSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAE1C,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,GAAG,EAAE,qBAAqB,EAAE,MAAM,GAAG,KAAK,EAAE,CA4BhG"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "transformInputFormSchema", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return transformInputFormSchema;
9
+ }
10
+ });
11
+ function transformInputFormSchema(formSchema, blockFieldWrapperName) {
12
+ const formSchemaCopy = [
13
+ ...formSchema
14
+ ];
15
+ // First, check if it needs wrapping
16
+ const hasBlockFieldWrapper = formSchemaCopy.some((field)=>'name' in field && field.name === blockFieldWrapperName);
17
+ if (hasBlockFieldWrapper) {
18
+ return formSchemaCopy;
19
+ }
20
+ // Add a group in the field schema, which represents all values saved in the blockFieldWrapperName
21
+ return [
22
+ ...formSchemaCopy.filter((field)=>'name' in field && [
23
+ 'blockName',
24
+ 'blockType',
25
+ 'id'
26
+ ].includes(field.name)),
27
+ {
28
+ name: blockFieldWrapperName,
29
+ admin: {
30
+ hideGutter: true
31
+ },
32
+ fields: formSchemaCopy.filter((field)=>!('name' in field) || ![
33
+ 'blockName',
34
+ 'blockType',
35
+ 'id'
36
+ ].includes(field.name)),
37
+ label: '',
38
+ type: 'group'
39
+ }
40
+ ];
41
+ }
42
+
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9CbG9ja3MvdXRpbHMvdHJhbnNmb3JtSW5wdXRGb3JtU2NoZW1hLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNmb3JtSW5wdXRGb3JtU2NoZW1hKGZvcm1TY2hlbWE6IGFueSwgYmxvY2tGaWVsZFdyYXBwZXJOYW1lOiBzdHJpbmcpOiBGaWVsZFtdIHtcbiAgY29uc3QgZm9ybVNjaGVtYUNvcHkgPSBbLi4uZm9ybVNjaGVtYV1cblxuICAvLyBGaXJzdCwgY2hlY2sgaWYgaXQgbmVlZHMgd3JhcHBpbmdcbiAgY29uc3QgaGFzQmxvY2tGaWVsZFdyYXBwZXIgPSBmb3JtU2NoZW1hQ29weS5zb21lKFxuICAgIChmaWVsZCkgPT4gJ25hbWUnIGluIGZpZWxkICYmIGZpZWxkLm5hbWUgPT09IGJsb2NrRmllbGRXcmFwcGVyTmFtZSxcbiAgKVxuICBpZiAoaGFzQmxvY2tGaWVsZFdyYXBwZXIpIHtcbiAgICByZXR1cm4gZm9ybVNjaGVtYUNvcHlcbiAgfVxuXG4gIC8vIEFkZCBhIGdyb3VwIGluIHRoZSBmaWVsZCBzY2hlbWEsIHdoaWNoIHJlcHJlc2VudHMgYWxsIHZhbHVlcyBzYXZlZCBpbiB0aGUgYmxvY2tGaWVsZFdyYXBwZXJOYW1lXG4gIHJldHVybiBbXG4gICAgLi4uZm9ybVNjaGVtYUNvcHkuZmlsdGVyKFxuICAgICAgKGZpZWxkKSA9PiAnbmFtZScgaW4gZmllbGQgJiYgWydibG9ja05hbWUnLCAnYmxvY2tUeXBlJywgJ2lkJ10uaW5jbHVkZXMoZmllbGQubmFtZSksXG4gICAgKSxcbiAgICB7XG4gICAgICBuYW1lOiBibG9ja0ZpZWxkV3JhcHBlck5hbWUsXG4gICAgICBhZG1pbjoge1xuICAgICAgICBoaWRlR3V0dGVyOiB0cnVlLFxuICAgICAgfSxcbiAgICAgIGZpZWxkczogZm9ybVNjaGVtYUNvcHkuZmlsdGVyKFxuICAgICAgICAoZmllbGQpID0+ICEoJ25hbWUnIGluIGZpZWxkKSB8fCAhWydibG9ja05hbWUnLCAnYmxvY2tUeXBlJywgJ2lkJ10uaW5jbHVkZXMoZmllbGQubmFtZSksXG4gICAgICApLFxuICAgICAgbGFiZWw6ICcnLFxuICAgICAgdHlwZTogJ2dyb3VwJyxcbiAgICB9LFxuICBdXG59XG4iXSwibmFtZXMiOlsidHJhbnNmb3JtSW5wdXRGb3JtU2NoZW1hIiwiZm9ybVNjaGVtYSIsImJsb2NrRmllbGRXcmFwcGVyTmFtZSIsImZvcm1TY2hlbWFDb3B5IiwiaGFzQmxvY2tGaWVsZFdyYXBwZXIiLCJzb21lIiwiZmllbGQiLCJuYW1lIiwiZmlsdGVyIiwiaW5jbHVkZXMiLCJhZG1pbiIsImhpZGVHdXR0ZXIiLCJmaWVsZHMiLCJsYWJlbCIsInR5cGUiXSwibWFwcGluZ3MiOiI7Ozs7K0JBRWdCQTs7O2VBQUFBOzs7QUFBVCxTQUFTQSx5QkFBeUJDLFVBQWUsRUFBRUMscUJBQTZCO0lBQ3JGLE1BQU1DLGlCQUFpQjtXQUFJRjtLQUFXO0lBRXRDLG9DQUFvQztJQUNwQyxNQUFNRyx1QkFBdUJELGVBQWVFLElBQUksQ0FDOUMsQ0FBQ0MsUUFBVSxVQUFVQSxTQUFTQSxNQUFNQyxJQUFJLEtBQUtMO0lBRS9DLElBQUlFLHNCQUFzQjtRQUN4QixPQUFPRDtJQUNUO0lBRUEsa0dBQWtHO0lBQ2xHLE9BQU87V0FDRkEsZUFBZUssTUFBTSxDQUN0QixDQUFDRixRQUFVLFVBQVVBLFNBQVM7Z0JBQUM7Z0JBQWE7Z0JBQWE7YUFBSyxDQUFDRyxRQUFRLENBQUNILE1BQU1DLElBQUk7UUFFcEY7WUFDRUEsTUFBTUw7WUFDTlEsT0FBTztnQkFDTEMsWUFBWTtZQUNkO1lBQ0FDLFFBQVFULGVBQWVLLE1BQU0sQ0FDM0IsQ0FBQ0YsUUFBVSxDQUFFLENBQUEsVUFBVUEsS0FBSSxLQUFNLENBQUM7b0JBQUM7b0JBQWE7b0JBQWE7aUJBQUssQ0FBQ0csUUFBUSxDQUFDSCxNQUFNQyxJQUFJO1lBRXhGTSxPQUFPO1lBQ1BDLE1BQU07UUFDUjtLQUNEO0FBQ0gifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../../src/field/features/Blocks/validate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,GAAG,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAE7D,eAAO,MAAM,kBAAkB,UACtB,kBAAkB,KACxB,eAAe,mBAAmB,CAqDpC,CAAA"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../../src/field/features/Blocks/validate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,GAAG,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAE7D,eAAO,MAAM,kBAAkB,UACtB,kBAAkB,KACxB,eAAe,mBAAmB,CAkEpC,CAAA"}
@@ -10,9 +10,10 @@ Object.defineProperty(exports, "blockValidationHOC", {
10
10
  });
11
11
  const _config = require("payload/config");
12
12
  const blockValidationHOC = (props)=>{
13
- const blockValidation = async ({ node, nodeValidations, payloadConfig, validation })=>{
14
- const blockFieldData = node.fields.data;
13
+ const blockValidation = async ({ node, payloadConfig, validation })=>{
14
+ const blockFieldData = node.fields;
15
15
  const blocks = props.blocks;
16
+ const { options: { req } } = validation;
16
17
  // Sanitize block's fields here. This is done here and not in the feature, because the payload config is available here
17
18
  const validRelationships = payloadConfig.collections.map((c)=>c.slug) || [];
18
19
  blocks.forEach((block)=>{
@@ -30,7 +31,13 @@ const blockValidationHOC = (props)=>{
30
31
  }
31
32
  for (const field of block.fields){
32
33
  if ('validate' in field && typeof field.validate === 'function' && field.validate) {
33
- const fieldValue = 'name' in field ? node.fields.data[field.name] : null;
34
+ const fieldValue = 'name' in field ? node.fields[field.name] : null;
35
+ const passesCondition = field.admin?.condition ? field.admin.condition(fieldValue, node.fields, {
36
+ user: req?.user
37
+ }) : true;
38
+ if (!passesCondition) {
39
+ continue; // Fixes https://github.com/payloadcms/payload/issues/4000
40
+ }
34
41
  const validationResult = await field.validate(fieldValue, {
35
42
  ...field,
36
43
  id: validation.options.id,
@@ -52,4 +59,4 @@ const blockValidationHOC = (props)=>{
52
59
  return blockValidation;
53
60
  };
54
61
 
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9CbG9ja3MvdmFsaWRhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCbG9jayB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IHNhbml0aXplRmllbGRzIH0gZnJvbSAncGF5bG9hZC9jb25maWcnXG5cbmltcG9ydCB0eXBlIHsgQmxvY2tzRmVhdHVyZVByb3BzIH0gZnJvbSAnLidcbmltcG9ydCB0eXBlIHsgTm9kZVZhbGlkYXRpb24gfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB0eXBlIHsgU2VyaWFsaXplZEJsb2NrTm9kZSB9IGZyb20gJy4vbm9kZXMvQmxvY2tzTm9kZSdcblxuZXhwb3J0IGNvbnN0IGJsb2NrVmFsaWRhdGlvbkhPQyA9IChcbiAgcHJvcHM6IEJsb2Nrc0ZlYXR1cmVQcm9wcyxcbik6IE5vZGVWYWxpZGF0aW9uPFNlcmlhbGl6ZWRCbG9ja05vZGU+ID0+IHtcbiAgY29uc3QgYmxvY2tWYWxpZGF0aW9uOiBOb2RlVmFsaWRhdGlvbjxTZXJpYWxpemVkQmxvY2tOb2RlPiA9IGFzeW5jICh7XG4gICAgbm9kZSxcbiAgICBub2RlVmFsaWRhdGlvbnMsXG4gICAgcGF5bG9hZENvbmZpZyxcbiAgICB2YWxpZGF0aW9uLFxuICB9KSA9PiB7XG4gICAgY29uc3QgYmxvY2tGaWVsZERhdGEgPSBub2RlLmZpZWxkcy5kYXRhXG4gICAgY29uc3QgYmxvY2tzOiBCbG9ja1tdID0gcHJvcHMuYmxvY2tzXG5cbiAgICAvLyBTYW5pdGl6ZSBibG9jaydzIGZpZWxkcyBoZXJlLiBUaGlzIGlzIGRvbmUgaGVyZSBhbmQgbm90IGluIHRoZSBmZWF0dXJlLCBiZWNhdXNlIHRoZSBwYXlsb2FkIGNvbmZpZyBpcyBhdmFpbGFibGUgaGVyZVxuICAgIGNvbnN0IHZhbGlkUmVsYXRpb25zaGlwcyA9IHBheWxvYWRDb25maWcuY29sbGVjdGlvbnMubWFwKChjKSA9PiBjLnNsdWcpIHx8IFtdXG4gICAgYmxvY2tzLmZvckVhY2goKGJsb2NrKSA9PiB7XG4gICAgICBibG9jay5maWVsZHMgPSBzYW5pdGl6ZUZpZWxkcyh7XG4gICAgICAgIGNvbmZpZzogcGF5bG9hZENvbmZpZyxcbiAgICAgICAgZmllbGRzOiBibG9jay5maWVsZHMsXG4gICAgICAgIHZhbGlkUmVsYXRpb25zaGlwcyxcbiAgICAgIH0pXG4gICAgfSlcblxuICAgIC8vIGZpbmQgYmxvY2tcbiAgICBjb25zdCBibG9jayA9IHByb3BzLmJsb2Nrcy5maW5kKChibG9jaykgPT4gYmxvY2suc2x1ZyA9PT0gYmxvY2tGaWVsZERhdGEuYmxvY2tUeXBlKVxuXG4gICAgLy8gdmFsaWRhdGUgYmxvY2tcbiAgICBpZiAoIWJsb2NrKSB7XG4gICAgICByZXR1cm4gJ0Jsb2NrIG5vdCBmb3VuZCdcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIGJsb2NrLmZpZWxkcykge1xuICAgICAgaWYgKCd2YWxpZGF0ZScgaW4gZmllbGQgJiYgdHlwZW9mIGZpZWxkLnZhbGlkYXRlID09PSAnZnVuY3Rpb24nICYmIGZpZWxkLnZhbGlkYXRlKSB7XG4gICAgICAgIGNvbnN0IGZpZWxkVmFsdWUgPSAnbmFtZScgaW4gZmllbGQgPyBub2RlLmZpZWxkcy5kYXRhW2ZpZWxkLm5hbWVdIDogbnVsbFxuICAgICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gYXdhaXQgZmllbGQudmFsaWRhdGUoZmllbGRWYWx1ZSwge1xuICAgICAgICAgIC4uLmZpZWxkLFxuICAgICAgICAgIGlkOiB2YWxpZGF0aW9uLm9wdGlvbnMuaWQsXG4gICAgICAgICAgY29uZmlnOiBwYXlsb2FkQ29uZmlnLFxuICAgICAgICAgIGRhdGE6IGZpZWxkVmFsdWUsXG4gICAgICAgICAgb3BlcmF0aW9uOiB2YWxpZGF0aW9uLm9wdGlvbnMub3BlcmF0aW9uLFxuICAgICAgICAgIHBheWxvYWQ6IHZhbGlkYXRpb24ub3B0aW9ucy5wYXlsb2FkLFxuICAgICAgICAgIHNpYmxpbmdEYXRhOiB2YWxpZGF0aW9uLm9wdGlvbnMuc2libGluZ0RhdGEsXG4gICAgICAgICAgdDogdmFsaWRhdGlvbi5vcHRpb25zLnQsXG4gICAgICAgICAgdXNlcjogdmFsaWRhdGlvbi5vcHRpb25zLnVzZXIsXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQgIT09IHRydWUpIHtcbiAgICAgICAgICByZXR1cm4gdmFsaWRhdGlvblJlc3VsdFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIHJldHVybiBibG9ja1ZhbGlkYXRpb25cbn1cbiJdLCJuYW1lcyI6WyJibG9ja1ZhbGlkYXRpb25IT0MiLCJwcm9wcyIsImJsb2NrVmFsaWRhdGlvbiIsIm5vZGUiLCJub2RlVmFsaWRhdGlvbnMiLCJwYXlsb2FkQ29uZmlnIiwidmFsaWRhdGlvbiIsImJsb2NrRmllbGREYXRhIiwiZmllbGRzIiwiZGF0YSIsImJsb2NrcyIsInZhbGlkUmVsYXRpb25zaGlwcyIsImNvbGxlY3Rpb25zIiwibWFwIiwiYyIsInNsdWciLCJmb3JFYWNoIiwiYmxvY2siLCJzYW5pdGl6ZUZpZWxkcyIsImNvbmZpZyIsImZpbmQiLCJibG9ja1R5cGUiLCJmaWVsZCIsInZhbGlkYXRlIiwiZmllbGRWYWx1ZSIsIm5hbWUiLCJ2YWxpZGF0aW9uUmVzdWx0IiwiaWQiLCJvcHRpb25zIiwib3BlcmF0aW9uIiwicGF5bG9hZCIsInNpYmxpbmdEYXRhIiwidCIsInVzZXIiXSwibWFwcGluZ3MiOiI7Ozs7K0JBUWFBOzs7ZUFBQUE7Ozt3QkFOa0I7QUFNeEIsTUFBTUEscUJBQXFCLENBQ2hDQztJQUVBLE1BQU1DLGtCQUF1RCxPQUFPLEVBQ2xFQyxJQUFJLEVBQ0pDLGVBQWUsRUFDZkMsYUFBYSxFQUNiQyxVQUFVLEVBQ1g7UUFDQyxNQUFNQyxpQkFBaUJKLEtBQUtLLE1BQU0sQ0FBQ0MsSUFBSTtRQUN2QyxNQUFNQyxTQUFrQlQsTUFBTVMsTUFBTTtRQUVwQyx1SEFBdUg7UUFDdkgsTUFBTUMscUJBQXFCTixjQUFjTyxXQUFXLENBQUNDLEdBQUcsQ0FBQyxDQUFDQyxJQUFNQSxFQUFFQyxJQUFJLEtBQUssRUFBRTtRQUM3RUwsT0FBT00sT0FBTyxDQUFDLENBQUNDO1lBQ2RBLE1BQU1ULE1BQU0sR0FBR1UsSUFBQUEsc0JBQWMsRUFBQztnQkFDNUJDLFFBQVFkO2dCQUNSRyxRQUFRUyxNQUFNVCxNQUFNO2dCQUNwQkc7WUFDRjtRQUNGO1FBRUEsYUFBYTtRQUNiLE1BQU1NLFFBQVFoQixNQUFNUyxNQUFNLENBQUNVLElBQUksQ0FBQyxDQUFDSCxRQUFVQSxNQUFNRixJQUFJLEtBQUtSLGVBQWVjLFNBQVM7UUFFbEYsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQ0osT0FBTztZQUNWLE9BQU87UUFDVDtRQUVBLEtBQUssTUFBTUssU0FBU0wsTUFBTVQsTUFBTSxDQUFFO1lBQ2hDLElBQUksY0FBY2MsU0FBUyxPQUFPQSxNQUFNQyxRQUFRLEtBQUssY0FBY0QsTUFBTUMsUUFBUSxFQUFFO2dCQUNqRixNQUFNQyxhQUFhLFVBQVVGLFFBQVFuQixLQUFLSyxNQUFNLENBQUNDLElBQUksQ0FBQ2EsTUFBTUcsSUFBSSxDQUFDLEdBQUc7Z0JBQ3BFLE1BQU1DLG1CQUFtQixNQUFNSixNQUFNQyxRQUFRLENBQUNDLFlBQVk7b0JBQ3hELEdBQUdGLEtBQUs7b0JBQ1JLLElBQUlyQixXQUFXc0IsT0FBTyxDQUFDRCxFQUFFO29CQUN6QlIsUUFBUWQ7b0JBQ1JJLE1BQU1lO29CQUNOSyxXQUFXdkIsV0FBV3NCLE9BQU8sQ0FBQ0MsU0FBUztvQkFDdkNDLFNBQVN4QixXQUFXc0IsT0FBTyxDQUFDRSxPQUFPO29CQUNuQ0MsYUFBYXpCLFdBQVdzQixPQUFPLENBQUNHLFdBQVc7b0JBQzNDQyxHQUFHMUIsV0FBV3NCLE9BQU8sQ0FBQ0ksQ0FBQztvQkFDdkJDLE1BQU0zQixXQUFXc0IsT0FBTyxDQUFDSyxJQUFJO2dCQUMvQjtnQkFFQSxJQUFJUCxxQkFBcUIsTUFBTTtvQkFDN0IsT0FBT0E7Z0JBQ1Q7WUFDRjtRQUNGO1FBRUEsT0FBTztJQUNUO0lBRUEsT0FBT3hCO0FBQ1QifQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9CbG9ja3MvdmFsaWRhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCbG9jayB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IHNhbml0aXplRmllbGRzIH0gZnJvbSAncGF5bG9hZC9jb25maWcnXG5cbmltcG9ydCB0eXBlIHsgQmxvY2tzRmVhdHVyZVByb3BzIH0gZnJvbSAnLidcbmltcG9ydCB0eXBlIHsgTm9kZVZhbGlkYXRpb24gfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB0eXBlIHsgU2VyaWFsaXplZEJsb2NrTm9kZSB9IGZyb20gJy4vbm9kZXMvQmxvY2tzTm9kZSdcblxuZXhwb3J0IGNvbnN0IGJsb2NrVmFsaWRhdGlvbkhPQyA9IChcbiAgcHJvcHM6IEJsb2Nrc0ZlYXR1cmVQcm9wcyxcbik6IE5vZGVWYWxpZGF0aW9uPFNlcmlhbGl6ZWRCbG9ja05vZGU+ID0+IHtcbiAgY29uc3QgYmxvY2tWYWxpZGF0aW9uOiBOb2RlVmFsaWRhdGlvbjxTZXJpYWxpemVkQmxvY2tOb2RlPiA9IGFzeW5jICh7XG4gICAgbm9kZSxcbiAgICBwYXlsb2FkQ29uZmlnLFxuICAgIHZhbGlkYXRpb24sXG4gIH0pID0+IHtcbiAgICBjb25zdCBibG9ja0ZpZWxkRGF0YSA9IG5vZGUuZmllbGRzXG4gICAgY29uc3QgYmxvY2tzOiBCbG9ja1tdID0gcHJvcHMuYmxvY2tzXG5cbiAgICBjb25zdCB7XG4gICAgICBvcHRpb25zOiB7IHJlcSB9LFxuICAgIH0gPSB2YWxpZGF0aW9uXG5cbiAgICAvLyBTYW5pdGl6ZSBibG9jaydzIGZpZWxkcyBoZXJlLiBUaGlzIGlzIGRvbmUgaGVyZSBhbmQgbm90IGluIHRoZSBmZWF0dXJlLCBiZWNhdXNlIHRoZSBwYXlsb2FkIGNvbmZpZyBpcyBhdmFpbGFibGUgaGVyZVxuICAgIGNvbnN0IHZhbGlkUmVsYXRpb25zaGlwcyA9IHBheWxvYWRDb25maWcuY29sbGVjdGlvbnMubWFwKChjKSA9PiBjLnNsdWcpIHx8IFtdXG4gICAgYmxvY2tzLmZvckVhY2goKGJsb2NrKSA9PiB7XG4gICAgICBibG9jay5maWVsZHMgPSBzYW5pdGl6ZUZpZWxkcyh7XG4gICAgICAgIGNvbmZpZzogcGF5bG9hZENvbmZpZyxcbiAgICAgICAgZmllbGRzOiBibG9jay5maWVsZHMsXG4gICAgICAgIHZhbGlkUmVsYXRpb25zaGlwcyxcbiAgICAgIH0pXG4gICAgfSlcblxuICAgIC8vIGZpbmQgYmxvY2tcbiAgICBjb25zdCBibG9jayA9IHByb3BzLmJsb2Nrcy5maW5kKChibG9jaykgPT4gYmxvY2suc2x1ZyA9PT0gYmxvY2tGaWVsZERhdGEuYmxvY2tUeXBlKVxuXG4gICAgLy8gdmFsaWRhdGUgYmxvY2tcbiAgICBpZiAoIWJsb2NrKSB7XG4gICAgICByZXR1cm4gJ0Jsb2NrIG5vdCBmb3VuZCdcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIGJsb2NrLmZpZWxkcykge1xuICAgICAgaWYgKCd2YWxpZGF0ZScgaW4gZmllbGQgJiYgdHlwZW9mIGZpZWxkLnZhbGlkYXRlID09PSAnZnVuY3Rpb24nICYmIGZpZWxkLnZhbGlkYXRlKSB7XG4gICAgICAgIGNvbnN0IGZpZWxkVmFsdWUgPSAnbmFtZScgaW4gZmllbGQgPyBub2RlLmZpZWxkc1tmaWVsZC5uYW1lXSA6IG51bGxcblxuICAgICAgICBjb25zdCBwYXNzZXNDb25kaXRpb24gPSBmaWVsZC5hZG1pbj8uY29uZGl0aW9uXG4gICAgICAgICAgPyBmaWVsZC5hZG1pbi5jb25kaXRpb24oZmllbGRWYWx1ZSwgbm9kZS5maWVsZHMsIHtcbiAgICAgICAgICAgICAgdXNlcjogcmVxPy51c2VyLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICA6IHRydWVcbiAgICAgICAgaWYgKCFwYXNzZXNDb25kaXRpb24pIHtcbiAgICAgICAgICBjb250aW51ZSAvLyBGaXhlcyBodHRwczovL2dpdGh1Yi5jb20vcGF5bG9hZGNtcy9wYXlsb2FkL2lzc3Vlcy80MDAwXG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gYXdhaXQgZmllbGQudmFsaWRhdGUoZmllbGRWYWx1ZSwge1xuICAgICAgICAgIC4uLmZpZWxkLFxuICAgICAgICAgIGlkOiB2YWxpZGF0aW9uLm9wdGlvbnMuaWQsXG4gICAgICAgICAgY29uZmlnOiBwYXlsb2FkQ29uZmlnLFxuICAgICAgICAgIGRhdGE6IGZpZWxkVmFsdWUsXG4gICAgICAgICAgb3BlcmF0aW9uOiB2YWxpZGF0aW9uLm9wdGlvbnMub3BlcmF0aW9uLFxuICAgICAgICAgIHBheWxvYWQ6IHZhbGlkYXRpb24ub3B0aW9ucy5wYXlsb2FkLFxuICAgICAgICAgIHNpYmxpbmdEYXRhOiB2YWxpZGF0aW9uLm9wdGlvbnMuc2libGluZ0RhdGEsXG4gICAgICAgICAgdDogdmFsaWRhdGlvbi5vcHRpb25zLnQsXG4gICAgICAgICAgdXNlcjogdmFsaWRhdGlvbi5vcHRpb25zLnVzZXIsXG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKHZhbGlkYXRpb25SZXN1bHQgIT09IHRydWUpIHtcbiAgICAgICAgICByZXR1cm4gdmFsaWRhdGlvblJlc3VsdFxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIHJldHVybiBibG9ja1ZhbGlkYXRpb25cbn1cbiJdLCJuYW1lcyI6WyJibG9ja1ZhbGlkYXRpb25IT0MiLCJwcm9wcyIsImJsb2NrVmFsaWRhdGlvbiIsIm5vZGUiLCJwYXlsb2FkQ29uZmlnIiwidmFsaWRhdGlvbiIsImJsb2NrRmllbGREYXRhIiwiZmllbGRzIiwiYmxvY2tzIiwib3B0aW9ucyIsInJlcSIsInZhbGlkUmVsYXRpb25zaGlwcyIsImNvbGxlY3Rpb25zIiwibWFwIiwiYyIsInNsdWciLCJmb3JFYWNoIiwiYmxvY2siLCJzYW5pdGl6ZUZpZWxkcyIsImNvbmZpZyIsImZpbmQiLCJibG9ja1R5cGUiLCJmaWVsZCIsInZhbGlkYXRlIiwiZmllbGRWYWx1ZSIsIm5hbWUiLCJwYXNzZXNDb25kaXRpb24iLCJhZG1pbiIsImNvbmRpdGlvbiIsInVzZXIiLCJ2YWxpZGF0aW9uUmVzdWx0IiwiaWQiLCJkYXRhIiwib3BlcmF0aW9uIiwicGF5bG9hZCIsInNpYmxpbmdEYXRhIiwidCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFRYUE7OztlQUFBQTs7O3dCQU5rQjtBQU14QixNQUFNQSxxQkFBcUIsQ0FDaENDO0lBRUEsTUFBTUMsa0JBQXVELE9BQU8sRUFDbEVDLElBQUksRUFDSkMsYUFBYSxFQUNiQyxVQUFVLEVBQ1g7UUFDQyxNQUFNQyxpQkFBaUJILEtBQUtJLE1BQU07UUFDbEMsTUFBTUMsU0FBa0JQLE1BQU1PLE1BQU07UUFFcEMsTUFBTSxFQUNKQyxTQUFTLEVBQUVDLEdBQUcsRUFBRSxFQUNqQixHQUFHTDtRQUVKLHVIQUF1SDtRQUN2SCxNQUFNTSxxQkFBcUJQLGNBQWNRLFdBQVcsQ0FBQ0MsR0FBRyxDQUFDLENBQUNDLElBQU1BLEVBQUVDLElBQUksS0FBSyxFQUFFO1FBQzdFUCxPQUFPUSxPQUFPLENBQUMsQ0FBQ0M7WUFDZEEsTUFBTVYsTUFBTSxHQUFHVyxJQUFBQSxzQkFBYyxFQUFDO2dCQUM1QkMsUUFBUWY7Z0JBQ1JHLFFBQVFVLE1BQU1WLE1BQU07Z0JBQ3BCSTtZQUNGO1FBQ0Y7UUFFQSxhQUFhO1FBQ2IsTUFBTU0sUUFBUWhCLE1BQU1PLE1BQU0sQ0FBQ1ksSUFBSSxDQUFDLENBQUNILFFBQVVBLE1BQU1GLElBQUksS0FBS1QsZUFBZWUsU0FBUztRQUVsRixpQkFBaUI7UUFDakIsSUFBSSxDQUFDSixPQUFPO1lBQ1YsT0FBTztRQUNUO1FBRUEsS0FBSyxNQUFNSyxTQUFTTCxNQUFNVixNQUFNLENBQUU7WUFDaEMsSUFBSSxjQUFjZSxTQUFTLE9BQU9BLE1BQU1DLFFBQVEsS0FBSyxjQUFjRCxNQUFNQyxRQUFRLEVBQUU7Z0JBQ2pGLE1BQU1DLGFBQWEsVUFBVUYsUUFBUW5CLEtBQUtJLE1BQU0sQ0FBQ2UsTUFBTUcsSUFBSSxDQUFDLEdBQUc7Z0JBRS9ELE1BQU1DLGtCQUFrQkosTUFBTUssS0FBSyxFQUFFQyxZQUNqQ04sTUFBTUssS0FBSyxDQUFDQyxTQUFTLENBQUNKLFlBQVlyQixLQUFLSSxNQUFNLEVBQUU7b0JBQzdDc0IsTUFBTW5CLEtBQUttQjtnQkFDYixLQUNBO2dCQUNKLElBQUksQ0FBQ0gsaUJBQWlCO29CQUNwQixVQUFTLDBEQUEwRDtnQkFDckU7Z0JBRUEsTUFBTUksbUJBQW1CLE1BQU1SLE1BQU1DLFFBQVEsQ0FBQ0MsWUFBWTtvQkFDeEQsR0FBR0YsS0FBSztvQkFDUlMsSUFBSTFCLFdBQVdJLE9BQU8sQ0FBQ3NCLEVBQUU7b0JBQ3pCWixRQUFRZjtvQkFDUjRCLE1BQU1SO29CQUNOUyxXQUFXNUIsV0FBV0ksT0FBTyxDQUFDd0IsU0FBUztvQkFDdkNDLFNBQVM3QixXQUFXSSxPQUFPLENBQUN5QixPQUFPO29CQUNuQ0MsYUFBYTlCLFdBQVdJLE9BQU8sQ0FBQzBCLFdBQVc7b0JBQzNDQyxHQUFHL0IsV0FBV0ksT0FBTyxDQUFDMkIsQ0FBQztvQkFDdkJQLE1BQU14QixXQUFXSSxPQUFPLENBQUNvQixJQUFJO2dCQUMvQjtnQkFFQSxJQUFJQyxxQkFBcUIsTUFBTTtvQkFDN0IsT0FBT0E7Z0JBQ1Q7WUFDRjtRQUNGO1FBRUEsT0FBTztJQUNUO0lBRUEsT0FBTzVCO0FBQ1QifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/field/features/Heading/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAyB,MAAM,oBAAoB,CAAA;AAQ/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAoB/C,KAAK,KAAK,GAAG;IACX,mBAAmB,CAAC,EAAE,cAAc,EAAE,CAAA;CACvC,CAAA;AAWD,eAAO,MAAM,cAAc,UAAW,KAAK,KAAG,eAyE7C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/field/features/Heading/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAyB,MAAM,oBAAoB,CAAA;AAQ/E,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAoB/C,KAAK,KAAK,GAAG;IACX,mBAAmB,CAAC,EAAE,cAAc,EAAE,CAAA;CACvC,CAAA;AAWD,eAAO,MAAM,cAAc,UAAW,KAAK,KAAG,eA2E7C,CAAA"}
@@ -97,9 +97,12 @@ const HeadingFeature = (props)=>{
97
97
  options: [
98
98
  ...enabledHeadingSizes.map((headingSize)=>{
99
99
  return {
100
+ displayName: 'Basic',
101
+ key: 'basic',
100
102
  options: [
101
- new _types.SlashMenuOption(`Heading ${headingSize.charAt(1)}`, {
103
+ new _types.SlashMenuOption(`heading-${headingSize.charAt(1)}`, {
102
104
  Icon: HeadingToIconMap[headingSize],
105
+ displayName: `Heading ${headingSize.charAt(1)}`,
103
106
  keywords: [
104
107
  'heading',
105
108
  headingSize
@@ -108,8 +111,7 @@ const HeadingFeature = (props)=>{
108
111
  setHeading(headingSize);
109
112
  }
110
113
  })
111
- ],
112
- title: 'Basic'
114
+ ]
113
115
  };
114
116
  })
115
117
  ]
@@ -120,4 +122,4 @@ const HeadingFeature = (props)=>{
120
122
  };
121
123
  };
122
124
 
123
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9IZWFkaW5nL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSGVhZGluZ1RhZ1R5cGUsIFNlcmlhbGl6ZWRIZWFkaW5nTm9kZSB9IGZyb20gJ0BsZXhpY2FsL3JpY2gtdGV4dCdcbmltcG9ydCB0eXBlIFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyAkY3JlYXRlSGVhZGluZ05vZGUsIEhlYWRpbmdOb2RlIH0gZnJvbSAnQGxleGljYWwvcmljaC10ZXh0J1xuaW1wb3J0IHsgJHNldEJsb2Nrc1R5cGUgfSBmcm9tICdAbGV4aWNhbC9zZWxlY3Rpb24nXG5pbXBvcnQgeyAkZ2V0U2VsZWN0aW9uLCAkaXNSYW5nZVNlbGVjdGlvbiwgREVQUkVDQVRFRF8kaXNHcmlkU2VsZWN0aW9uIH0gZnJvbSAnbGV4aWNhbCdcblxuaW1wb3J0IHR5cGUgeyBIVE1MQ29udmVydGVyIH0gZnJvbSAnLi4vY29udmVydGVycy9odG1sL2NvbnZlcnRlci90eXBlcydcbmltcG9ydCB0eXBlIHsgRmVhdHVyZVByb3ZpZGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IFNsYXNoTWVudU9wdGlvbiB9IGZyb20gJy4uLy4uL2xleGljYWwvcGx1Z2lucy9TbGFzaE1lbnUvTGV4aWNhbFR5cGVhaGVhZE1lbnVQbHVnaW4vdHlwZXMnXG5pbXBvcnQgeyBIMUljb24gfSBmcm9tICcuLi8uLi9sZXhpY2FsL3VpL2ljb25zL0gxJ1xuaW1wb3J0IHsgSDJJY29uIH0gZnJvbSAnLi4vLi4vbGV4aWNhbC91aS9pY29ucy9IMidcbmltcG9ydCB7IEgzSWNvbiB9IGZyb20gJy4uLy4uL2xleGljYWwvdWkvaWNvbnMvSDMnXG5pbXBvcnQgeyBINEljb24gfSBmcm9tICcuLi8uLi9sZXhpY2FsL3VpL2ljb25zL0g0J1xuaW1wb3J0IHsgSDVJY29uIH0gZnJvbSAnLi4vLi4vbGV4aWNhbC91aS9pY29ucy9INSdcbmltcG9ydCB7IEg2SWNvbiB9IGZyb20gJy4uLy4uL2xleGljYWwvdWkvaWNvbnMvSDYnXG5pbXBvcnQgeyBUZXh0RHJvcGRvd25TZWN0aW9uV2l0aEVudHJpZXMgfSBmcm9tICcuLi9jb21tb24vZmxvYXRpbmdTZWxlY3RUb29sYmFyVGV4dERyb3Bkb3duU2VjdGlvbidcbmltcG9ydCB7IGNvbnZlcnRMZXhpY2FsTm9kZXNUb0hUTUwgfSBmcm9tICcuLi9jb252ZXJ0ZXJzL2h0bWwvY29udmVydGVyJ1xuaW1wb3J0IHsgTWFya2Rvd25UcmFuc2Zvcm1lciB9IGZyb20gJy4vbWFya2Rvd25UcmFuc2Zvcm1lcidcblxuY29uc3Qgc2V0SGVhZGluZyA9IChoZWFkaW5nU2l6ZTogSGVhZGluZ1RhZ1R5cGUpID0+IHtcbiAgY29uc3Qgc2VsZWN0aW9uID0gJGdldFNlbGVjdGlvbigpXG4gIGlmICgkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pIHx8IERFUFJFQ0FURURfJGlzR3JpZFNlbGVjdGlvbihzZWxlY3Rpb24pKSB7XG4gICAgJHNldEJsb2Nrc1R5cGUoc2VsZWN0aW9uLCAoKSA9PiAkY3JlYXRlSGVhZGluZ05vZGUoaGVhZGluZ1NpemUpKVxuICB9XG59XG5cbnR5cGUgUHJvcHMgPSB7XG4gIGVuYWJsZWRIZWFkaW5nU2l6ZXM/OiBIZWFkaW5nVGFnVHlwZVtdXG59XG5cbmNvbnN0IEhlYWRpbmdUb0ljb25NYXA6IFJlY29yZDxIZWFkaW5nVGFnVHlwZSwgUmVhY3QuRkM+ID0ge1xuICBoMTogSDFJY29uLFxuICBoMjogSDJJY29uLFxuICBoMzogSDNJY29uLFxuICBoNDogSDRJY29uLFxuICBoNTogSDVJY29uLFxuICBoNjogSDZJY29uLFxufVxuXG5leHBvcnQgY29uc3QgSGVhZGluZ0ZlYXR1cmUgPSAocHJvcHM6IFByb3BzKTogRmVhdHVyZVByb3ZpZGVyID0+IHtcbiAgY29uc3QgeyBlbmFibGVkSGVhZGluZ1NpemVzID0gWydoMScsICdoMicsICdoMycsICdoNCcsICdoNScsICdoNiddIH0gPSBwcm9wc1xuXG4gIHJldHVybiB7XG4gICAgZmVhdHVyZTogKCkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZmxvYXRpbmdTZWxlY3RUb29sYmFyOiB7XG4gICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgIC4uLmVuYWJsZWRIZWFkaW5nU2l6ZXMubWFwKChoZWFkaW5nU2l6ZSwgaSkgPT5cbiAgICAgICAgICAgICAgVGV4dERyb3Bkb3duU2VjdGlvbldpdGhFbnRyaWVzKFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBDaGlsZENvbXBvbmVudDogSGVhZGluZ1RvSWNvbk1hcFtoZWFkaW5nU2l6ZV0sXG4gICAgICAgICAgICAgICAgICBpc0FjdGl2ZTogKCkgPT4gZmFsc2UsXG4gICAgICAgICAgICAgICAgICBrZXk6IGhlYWRpbmdTaXplLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IGBIZWFkaW5nICR7aGVhZGluZ1NpemUuY2hhckF0KDEpfWAsXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrOiAoeyBlZGl0b3IgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBlZGl0b3IudXBkYXRlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBzZXRIZWFkaW5nKGhlYWRpbmdTaXplKVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIG9yZGVyOiBpICsgMixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgbWFya2Rvd25UcmFuc2Zvcm1lcnM6IFtNYXJrZG93blRyYW5zZm9ybWVyKGVuYWJsZWRIZWFkaW5nU2l6ZXMpXSxcbiAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjb252ZXJ0ZXJzOiB7XG4gICAgICAgICAgICAgIGh0bWw6IHtcbiAgICAgICAgICAgICAgICBjb252ZXJ0ZXI6IGFzeW5jICh7IGNvbnZlcnRlcnMsIG5vZGUsIHBhcmVudCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBjaGlsZHJlblRleHQgPSBhd2FpdCBjb252ZXJ0TGV4aWNhbE5vZGVzVG9IVE1MKHtcbiAgICAgICAgICAgICAgICAgICAgY29udmVydGVycyxcbiAgICAgICAgICAgICAgICAgICAgbGV4aWNhbE5vZGVzOiBub2RlLmNoaWxkcmVuLFxuICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAuLi5ub2RlLFxuICAgICAgICAgICAgICAgICAgICAgIHBhcmVudCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgICAgIHJldHVybiAnPCcgKyBub2RlPy50YWcgKyAnPicgKyBjaGlsZHJlblRleHQgKyAnPC8nICsgbm9kZT8udGFnICsgJz4nXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBub2RlVHlwZXM6IFtIZWFkaW5nTm9kZS5nZXRUeXBlKCldLFxuICAgICAgICAgICAgICB9IGFzIEhUTUxDb252ZXJ0ZXI8U2VyaWFsaXplZEhlYWRpbmdOb2RlPixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBub2RlOiBIZWFkaW5nTm9kZSxcbiAgICAgICAgICAgIHR5cGU6IEhlYWRpbmdOb2RlLmdldFR5cGUoKSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBwcm9wcyxcbiAgICAgICAgc2xhc2hNZW51OiB7XG4gICAgICAgICAgb3B0aW9uczogW1xuICAgICAgICAgICAgLi4uZW5hYmxlZEhlYWRpbmdTaXplcy5tYXAoKGhlYWRpbmdTaXplKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgb3B0aW9uczogW1xuICAgICAgICAgICAgICAgICAgbmV3IFNsYXNoTWVudU9wdGlvbihgSGVhZGluZyAke2hlYWRpbmdTaXplLmNoYXJBdCgxKX1gLCB7XG4gICAgICAgICAgICAgICAgICAgIEljb246IEhlYWRpbmdUb0ljb25NYXBbaGVhZGluZ1NpemVdLFxuICAgICAgICAgICAgICAgICAgICBrZXl3b3JkczogWydoZWFkaW5nJywgaGVhZGluZ1NpemVdLFxuICAgICAgICAgICAgICAgICAgICBvblNlbGVjdDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgIHNldEhlYWRpbmcoaGVhZGluZ1NpemUpXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHRpdGxlOiAnQmFzaWMnLFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH0sXG4gICAga2V5OiAnaGVhZGluZycsXG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJIZWFkaW5nRmVhdHVyZSIsInNldEhlYWRpbmciLCJoZWFkaW5nU2l6ZSIsInNlbGVjdGlvbiIsIiRnZXRTZWxlY3Rpb24iLCIkaXNSYW5nZVNlbGVjdGlvbiIsIkRFUFJFQ0FURURfJGlzR3JpZFNlbGVjdGlvbiIsIiRzZXRCbG9ja3NUeXBlIiwiJGNyZWF0ZUhlYWRpbmdOb2RlIiwiSGVhZGluZ1RvSWNvbk1hcCIsImgxIiwiSDFJY29uIiwiaDIiLCJIMkljb24iLCJoMyIsIkgzSWNvbiIsImg0IiwiSDRJY29uIiwiaDUiLCJINUljb24iLCJoNiIsIkg2SWNvbiIsInByb3BzIiwiZW5hYmxlZEhlYWRpbmdTaXplcyIsImZlYXR1cmUiLCJmbG9hdGluZ1NlbGVjdFRvb2xiYXIiLCJzZWN0aW9ucyIsIm1hcCIsImkiLCJUZXh0RHJvcGRvd25TZWN0aW9uV2l0aEVudHJpZXMiLCJDaGlsZENvbXBvbmVudCIsImlzQWN0aXZlIiwia2V5IiwibGFiZWwiLCJjaGFyQXQiLCJvbkNsaWNrIiwiZWRpdG9yIiwidXBkYXRlIiwib3JkZXIiLCJtYXJrZG93blRyYW5zZm9ybWVycyIsIk1hcmtkb3duVHJhbnNmb3JtZXIiLCJub2RlcyIsImNvbnZlcnRlcnMiLCJodG1sIiwiY29udmVydGVyIiwibm9kZSIsInBhcmVudCIsImNoaWxkcmVuVGV4dCIsImNvbnZlcnRMZXhpY2FsTm9kZXNUb0hUTUwiLCJsZXhpY2FsTm9kZXMiLCJjaGlsZHJlbiIsInRhZyIsIm5vZGVUeXBlcyIsIkhlYWRpbmdOb2RlIiwiZ2V0VHlwZSIsInR5cGUiLCJzbGFzaE1lbnUiLCJvcHRpb25zIiwiU2xhc2hNZW51T3B0aW9uIiwiSWNvbiIsImtleXdvcmRzIiwib25TZWxlY3QiLCJ0aXRsZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkF5Q2FBOzs7ZUFBQUE7OzswQkF0Q21DOzJCQUNqQjt5QkFDK0M7dUJBSzlDO29CQUNUO29CQUNBO29CQUNBO29CQUNBO29CQUNBO29CQUNBOzBEQUN3QjsyQkFDTDtxQ0FDTjtBQUVwQyxNQUFNQyxhQUFhLENBQUNDO0lBQ2xCLE1BQU1DLFlBQVlDLElBQUFBLHNCQUFhO0lBQy9CLElBQUlDLElBQUFBLDBCQUFpQixFQUFDRixjQUFjRyxJQUFBQSxvQ0FBMkIsRUFBQ0gsWUFBWTtRQUMxRUksSUFBQUEseUJBQWMsRUFBQ0osV0FBVyxJQUFNSyxJQUFBQSw0QkFBa0IsRUFBQ047SUFDckQ7QUFDRjtBQU1BLE1BQU1PLG1CQUFxRDtJQUN6REMsSUFBSUMsVUFBTTtJQUNWQyxJQUFJQyxVQUFNO0lBQ1ZDLElBQUlDLFVBQU07SUFDVkMsSUFBSUMsVUFBTTtJQUNWQyxJQUFJQyxVQUFNO0lBQ1ZDLElBQUlDLFVBQU07QUFDWjtBQUVPLE1BQU1yQixpQkFBaUIsQ0FBQ3NCO0lBQzdCLE1BQU0sRUFBRUMsc0JBQXNCO1FBQUM7UUFBTTtRQUFNO1FBQU07UUFBTTtRQUFNO0tBQUssRUFBRSxHQUFHRDtJQUV2RSxPQUFPO1FBQ0xFLFNBQVM7WUFDUCxPQUFPO2dCQUNMQyx1QkFBdUI7b0JBQ3JCQyxVQUFVOzJCQUNMSCxvQkFBb0JJLEdBQUcsQ0FBQyxDQUFDekIsYUFBYTBCLElBQ3ZDQyxJQUFBQSx3RUFBOEIsRUFBQztnQ0FDN0I7b0NBQ0VDLGdCQUFnQnJCLGdCQUFnQixDQUFDUCxZQUFZO29DQUM3QzZCLFVBQVUsSUFBTTtvQ0FDaEJDLEtBQUs5QjtvQ0FDTCtCLE9BQU8sQ0FBQyxRQUFRLEVBQUUvQixZQUFZZ0MsTUFBTSxDQUFDLEdBQUcsQ0FBQztvQ0FDekNDLFNBQVMsQ0FBQyxFQUFFQyxNQUFNLEVBQUU7d0NBQ2xCQSxPQUFPQyxNQUFNLENBQUM7NENBQ1pwQyxXQUFXQzt3Q0FDYjtvQ0FDRjtvQ0FDQW9DLE9BQU9WLElBQUk7Z0NBQ2I7NkJBQ0Q7cUJBRUo7Z0JBQ0g7Z0JBQ0FXLHNCQUFzQjtvQkFBQ0MsSUFBQUEsd0NBQW1CLEVBQUNqQjtpQkFBcUI7Z0JBQ2hFa0IsT0FBTztvQkFDTDt3QkFDRUMsWUFBWTs0QkFDVkMsTUFBTTtnQ0FDSkMsV0FBVyxPQUFPLEVBQUVGLFVBQVUsRUFBRUcsSUFBSSxFQUFFQyxNQUFNLEVBQUU7b0NBQzVDLE1BQU1DLGVBQWUsTUFBTUMsSUFBQUEsb0NBQXlCLEVBQUM7d0NBQ25ETjt3Q0FDQU8sY0FBY0osS0FBS0ssUUFBUTt3Q0FDM0JKLFFBQVE7NENBQ04sR0FBR0QsSUFBSTs0Q0FDUEM7d0NBQ0Y7b0NBQ0Y7b0NBRUEsT0FBTyxNQUFNRCxNQUFNTSxNQUFNLE1BQU1KLGVBQWUsT0FBT0YsTUFBTU0sTUFBTTtnQ0FDbkU7Z0NBQ0FDLFdBQVc7b0NBQUNDLHFCQUFXLENBQUNDLE9BQU87aUNBQUc7NEJBQ3BDO3dCQUNGO3dCQUNBVCxNQUFNUSxxQkFBVzt3QkFDakJFLE1BQU1GLHFCQUFXLENBQUNDLE9BQU87b0JBQzNCO2lCQUNEO2dCQUNEaEM7Z0JBQ0FrQyxXQUFXO29CQUNUQyxTQUFTOzJCQUNKbEMsb0JBQW9CSSxHQUFHLENBQUMsQ0FBQ3pCOzRCQUMxQixPQUFPO2dDQUNMdUQsU0FBUztvQ0FDUCxJQUFJQyxzQkFBZSxDQUFDLENBQUMsUUFBUSxFQUFFeEQsWUFBWWdDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRTt3Q0FDdER5QixNQUFNbEQsZ0JBQWdCLENBQUNQLFlBQVk7d0NBQ25DMEQsVUFBVTs0Q0FBQzs0Q0FBVzFEO3lDQUFZO3dDQUNsQzJELFVBQVU7NENBQ1I1RCxXQUFXQzt3Q0FDYjtvQ0FDRjtpQ0FDRDtnQ0FDRDRELE9BQU87NEJBQ1Q7d0JBQ0Y7cUJBQ0Q7Z0JBQ0g7WUFDRjtRQUNGO1FBQ0E5QixLQUFLO0lBQ1A7QUFDRiJ9
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9IZWFkaW5nL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgSGVhZGluZ1RhZ1R5cGUsIFNlcmlhbGl6ZWRIZWFkaW5nTm9kZSB9IGZyb20gJ0BsZXhpY2FsL3JpY2gtdGV4dCdcbmltcG9ydCB0eXBlIFJlYWN0IGZyb20gJ3JlYWN0J1xuXG5pbXBvcnQgeyAkY3JlYXRlSGVhZGluZ05vZGUsIEhlYWRpbmdOb2RlIH0gZnJvbSAnQGxleGljYWwvcmljaC10ZXh0J1xuaW1wb3J0IHsgJHNldEJsb2Nrc1R5cGUgfSBmcm9tICdAbGV4aWNhbC9zZWxlY3Rpb24nXG5pbXBvcnQgeyAkZ2V0U2VsZWN0aW9uLCAkaXNSYW5nZVNlbGVjdGlvbiwgREVQUkVDQVRFRF8kaXNHcmlkU2VsZWN0aW9uIH0gZnJvbSAnbGV4aWNhbCdcblxuaW1wb3J0IHR5cGUgeyBIVE1MQ29udmVydGVyIH0gZnJvbSAnLi4vY29udmVydGVycy9odG1sL2NvbnZlcnRlci90eXBlcydcbmltcG9ydCB0eXBlIHsgRmVhdHVyZVByb3ZpZGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IFNsYXNoTWVudU9wdGlvbiB9IGZyb20gJy4uLy4uL2xleGljYWwvcGx1Z2lucy9TbGFzaE1lbnUvTGV4aWNhbFR5cGVhaGVhZE1lbnVQbHVnaW4vdHlwZXMnXG5pbXBvcnQgeyBIMUljb24gfSBmcm9tICcuLi8uLi9sZXhpY2FsL3VpL2ljb25zL0gxJ1xuaW1wb3J0IHsgSDJJY29uIH0gZnJvbSAnLi4vLi4vbGV4aWNhbC91aS9pY29ucy9IMidcbmltcG9ydCB7IEgzSWNvbiB9IGZyb20gJy4uLy4uL2xleGljYWwvdWkvaWNvbnMvSDMnXG5pbXBvcnQgeyBINEljb24gfSBmcm9tICcuLi8uLi9sZXhpY2FsL3VpL2ljb25zL0g0J1xuaW1wb3J0IHsgSDVJY29uIH0gZnJvbSAnLi4vLi4vbGV4aWNhbC91aS9pY29ucy9INSdcbmltcG9ydCB7IEg2SWNvbiB9IGZyb20gJy4uLy4uL2xleGljYWwvdWkvaWNvbnMvSDYnXG5pbXBvcnQgeyBUZXh0RHJvcGRvd25TZWN0aW9uV2l0aEVudHJpZXMgfSBmcm9tICcuLi9jb21tb24vZmxvYXRpbmdTZWxlY3RUb29sYmFyVGV4dERyb3Bkb3duU2VjdGlvbidcbmltcG9ydCB7IGNvbnZlcnRMZXhpY2FsTm9kZXNUb0hUTUwgfSBmcm9tICcuLi9jb252ZXJ0ZXJzL2h0bWwvY29udmVydGVyJ1xuaW1wb3J0IHsgTWFya2Rvd25UcmFuc2Zvcm1lciB9IGZyb20gJy4vbWFya2Rvd25UcmFuc2Zvcm1lcidcblxuY29uc3Qgc2V0SGVhZGluZyA9IChoZWFkaW5nU2l6ZTogSGVhZGluZ1RhZ1R5cGUpID0+IHtcbiAgY29uc3Qgc2VsZWN0aW9uID0gJGdldFNlbGVjdGlvbigpXG4gIGlmICgkaXNSYW5nZVNlbGVjdGlvbihzZWxlY3Rpb24pIHx8IERFUFJFQ0FURURfJGlzR3JpZFNlbGVjdGlvbihzZWxlY3Rpb24pKSB7XG4gICAgJHNldEJsb2Nrc1R5cGUoc2VsZWN0aW9uLCAoKSA9PiAkY3JlYXRlSGVhZGluZ05vZGUoaGVhZGluZ1NpemUpKVxuICB9XG59XG5cbnR5cGUgUHJvcHMgPSB7XG4gIGVuYWJsZWRIZWFkaW5nU2l6ZXM/OiBIZWFkaW5nVGFnVHlwZVtdXG59XG5cbmNvbnN0IEhlYWRpbmdUb0ljb25NYXA6IFJlY29yZDxIZWFkaW5nVGFnVHlwZSwgUmVhY3QuRkM+ID0ge1xuICBoMTogSDFJY29uLFxuICBoMjogSDJJY29uLFxuICBoMzogSDNJY29uLFxuICBoNDogSDRJY29uLFxuICBoNTogSDVJY29uLFxuICBoNjogSDZJY29uLFxufVxuXG5leHBvcnQgY29uc3QgSGVhZGluZ0ZlYXR1cmUgPSAocHJvcHM6IFByb3BzKTogRmVhdHVyZVByb3ZpZGVyID0+IHtcbiAgY29uc3QgeyBlbmFibGVkSGVhZGluZ1NpemVzID0gWydoMScsICdoMicsICdoMycsICdoNCcsICdoNScsICdoNiddIH0gPSBwcm9wc1xuXG4gIHJldHVybiB7XG4gICAgZmVhdHVyZTogKCkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZmxvYXRpbmdTZWxlY3RUb29sYmFyOiB7XG4gICAgICAgICAgc2VjdGlvbnM6IFtcbiAgICAgICAgICAgIC4uLmVuYWJsZWRIZWFkaW5nU2l6ZXMubWFwKChoZWFkaW5nU2l6ZSwgaSkgPT5cbiAgICAgICAgICAgICAgVGV4dERyb3Bkb3duU2VjdGlvbldpdGhFbnRyaWVzKFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBDaGlsZENvbXBvbmVudDogSGVhZGluZ1RvSWNvbk1hcFtoZWFkaW5nU2l6ZV0sXG4gICAgICAgICAgICAgICAgICBpc0FjdGl2ZTogKCkgPT4gZmFsc2UsXG4gICAgICAgICAgICAgICAgICBrZXk6IGhlYWRpbmdTaXplLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IGBIZWFkaW5nICR7aGVhZGluZ1NpemUuY2hhckF0KDEpfWAsXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrOiAoeyBlZGl0b3IgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBlZGl0b3IudXBkYXRlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBzZXRIZWFkaW5nKGhlYWRpbmdTaXplKVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIG9yZGVyOiBpICsgMixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgbWFya2Rvd25UcmFuc2Zvcm1lcnM6IFtNYXJrZG93blRyYW5zZm9ybWVyKGVuYWJsZWRIZWFkaW5nU2l6ZXMpXSxcbiAgICAgICAgbm9kZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjb252ZXJ0ZXJzOiB7XG4gICAgICAgICAgICAgIGh0bWw6IHtcbiAgICAgICAgICAgICAgICBjb252ZXJ0ZXI6IGFzeW5jICh7IGNvbnZlcnRlcnMsIG5vZGUsIHBhcmVudCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBjaGlsZHJlblRleHQgPSBhd2FpdCBjb252ZXJ0TGV4aWNhbE5vZGVzVG9IVE1MKHtcbiAgICAgICAgICAgICAgICAgICAgY29udmVydGVycyxcbiAgICAgICAgICAgICAgICAgICAgbGV4aWNhbE5vZGVzOiBub2RlLmNoaWxkcmVuLFxuICAgICAgICAgICAgICAgICAgICBwYXJlbnQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAuLi5ub2RlLFxuICAgICAgICAgICAgICAgICAgICAgIHBhcmVudCxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgICAgICAgIHJldHVybiAnPCcgKyBub2RlPy50YWcgKyAnPicgKyBjaGlsZHJlblRleHQgKyAnPC8nICsgbm9kZT8udGFnICsgJz4nXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBub2RlVHlwZXM6IFtIZWFkaW5nTm9kZS5nZXRUeXBlKCldLFxuICAgICAgICAgICAgICB9IGFzIEhUTUxDb252ZXJ0ZXI8U2VyaWFsaXplZEhlYWRpbmdOb2RlPixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBub2RlOiBIZWFkaW5nTm9kZSxcbiAgICAgICAgICAgIHR5cGU6IEhlYWRpbmdOb2RlLmdldFR5cGUoKSxcbiAgICAgICAgICB9LFxuICAgICAgICBdLFxuICAgICAgICBwcm9wcyxcbiAgICAgICAgc2xhc2hNZW51OiB7XG4gICAgICAgICAgb3B0aW9uczogW1xuICAgICAgICAgICAgLi4uZW5hYmxlZEhlYWRpbmdTaXplcy5tYXAoKGhlYWRpbmdTaXplKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheU5hbWU6ICdCYXNpYycsXG4gICAgICAgICAgICAgICAga2V5OiAnYmFzaWMnLFxuICAgICAgICAgICAgICAgIG9wdGlvbnM6IFtcbiAgICAgICAgICAgICAgICAgIG5ldyBTbGFzaE1lbnVPcHRpb24oYGhlYWRpbmctJHtoZWFkaW5nU2l6ZS5jaGFyQXQoMSl9YCwge1xuICAgICAgICAgICAgICAgICAgICBJY29uOiBIZWFkaW5nVG9JY29uTWFwW2hlYWRpbmdTaXplXSxcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheU5hbWU6IGBIZWFkaW5nICR7aGVhZGluZ1NpemUuY2hhckF0KDEpfWAsXG4gICAgICAgICAgICAgICAgICAgIGtleXdvcmRzOiBbJ2hlYWRpbmcnLCBoZWFkaW5nU2l6ZV0sXG4gICAgICAgICAgICAgICAgICAgIG9uU2VsZWN0OiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgc2V0SGVhZGluZyhoZWFkaW5nU2l6ZSlcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICB9XG4gICAgfSxcbiAgICBrZXk6ICdoZWFkaW5nJyxcbiAgfVxufVxuIl0sIm5hbWVzIjpbIkhlYWRpbmdGZWF0dXJlIiwic2V0SGVhZGluZyIsImhlYWRpbmdTaXplIiwic2VsZWN0aW9uIiwiJGdldFNlbGVjdGlvbiIsIiRpc1JhbmdlU2VsZWN0aW9uIiwiREVQUkVDQVRFRF8kaXNHcmlkU2VsZWN0aW9uIiwiJHNldEJsb2Nrc1R5cGUiLCIkY3JlYXRlSGVhZGluZ05vZGUiLCJIZWFkaW5nVG9JY29uTWFwIiwiaDEiLCJIMUljb24iLCJoMiIsIkgySWNvbiIsImgzIiwiSDNJY29uIiwiaDQiLCJINEljb24iLCJoNSIsIkg1SWNvbiIsImg2IiwiSDZJY29uIiwicHJvcHMiLCJlbmFibGVkSGVhZGluZ1NpemVzIiwiZmVhdHVyZSIsImZsb2F0aW5nU2VsZWN0VG9vbGJhciIsInNlY3Rpb25zIiwibWFwIiwiaSIsIlRleHREcm9wZG93blNlY3Rpb25XaXRoRW50cmllcyIsIkNoaWxkQ29tcG9uZW50IiwiaXNBY3RpdmUiLCJrZXkiLCJsYWJlbCIsImNoYXJBdCIsIm9uQ2xpY2siLCJlZGl0b3IiLCJ1cGRhdGUiLCJvcmRlciIsIm1hcmtkb3duVHJhbnNmb3JtZXJzIiwiTWFya2Rvd25UcmFuc2Zvcm1lciIsIm5vZGVzIiwiY29udmVydGVycyIsImh0bWwiLCJjb252ZXJ0ZXIiLCJub2RlIiwicGFyZW50IiwiY2hpbGRyZW5UZXh0IiwiY29udmVydExleGljYWxOb2Rlc1RvSFRNTCIsImxleGljYWxOb2RlcyIsImNoaWxkcmVuIiwidGFnIiwibm9kZVR5cGVzIiwiSGVhZGluZ05vZGUiLCJnZXRUeXBlIiwidHlwZSIsInNsYXNoTWVudSIsIm9wdGlvbnMiLCJkaXNwbGF5TmFtZSIsIlNsYXNoTWVudU9wdGlvbiIsIkljb24iLCJrZXl3b3JkcyIsIm9uU2VsZWN0Il0sIm1hcHBpbmdzIjoiOzs7OytCQXlDYUE7OztlQUFBQTs7OzBCQXRDbUM7MkJBQ2pCO3lCQUMrQzt1QkFLOUM7b0JBQ1Q7b0JBQ0E7b0JBQ0E7b0JBQ0E7b0JBQ0E7b0JBQ0E7MERBQ3dCOzJCQUNMO3FDQUNOO0FBRXBDLE1BQU1DLGFBQWEsQ0FBQ0M7SUFDbEIsTUFBTUMsWUFBWUMsSUFBQUEsc0JBQWE7SUFDL0IsSUFBSUMsSUFBQUEsMEJBQWlCLEVBQUNGLGNBQWNHLElBQUFBLG9DQUEyQixFQUFDSCxZQUFZO1FBQzFFSSxJQUFBQSx5QkFBYyxFQUFDSixXQUFXLElBQU1LLElBQUFBLDRCQUFrQixFQUFDTjtJQUNyRDtBQUNGO0FBTUEsTUFBTU8sbUJBQXFEO0lBQ3pEQyxJQUFJQyxVQUFNO0lBQ1ZDLElBQUlDLFVBQU07SUFDVkMsSUFBSUMsVUFBTTtJQUNWQyxJQUFJQyxVQUFNO0lBQ1ZDLElBQUlDLFVBQU07SUFDVkMsSUFBSUMsVUFBTTtBQUNaO0FBRU8sTUFBTXJCLGlCQUFpQixDQUFDc0I7SUFDN0IsTUFBTSxFQUFFQyxzQkFBc0I7UUFBQztRQUFNO1FBQU07UUFBTTtRQUFNO1FBQU07S0FBSyxFQUFFLEdBQUdEO0lBRXZFLE9BQU87UUFDTEUsU0FBUztZQUNQLE9BQU87Z0JBQ0xDLHVCQUF1QjtvQkFDckJDLFVBQVU7MkJBQ0xILG9CQUFvQkksR0FBRyxDQUFDLENBQUN6QixhQUFhMEIsSUFDdkNDLElBQUFBLHdFQUE4QixFQUFDO2dDQUM3QjtvQ0FDRUMsZ0JBQWdCckIsZ0JBQWdCLENBQUNQLFlBQVk7b0NBQzdDNkIsVUFBVSxJQUFNO29DQUNoQkMsS0FBSzlCO29DQUNMK0IsT0FBTyxDQUFDLFFBQVEsRUFBRS9CLFlBQVlnQyxNQUFNLENBQUMsR0FBRyxDQUFDO29DQUN6Q0MsU0FBUyxDQUFDLEVBQUVDLE1BQU0sRUFBRTt3Q0FDbEJBLE9BQU9DLE1BQU0sQ0FBQzs0Q0FDWnBDLFdBQVdDO3dDQUNiO29DQUNGO29DQUNBb0MsT0FBT1YsSUFBSTtnQ0FDYjs2QkFDRDtxQkFFSjtnQkFDSDtnQkFDQVcsc0JBQXNCO29CQUFDQyxJQUFBQSx3Q0FBbUIsRUFBQ2pCO2lCQUFxQjtnQkFDaEVrQixPQUFPO29CQUNMO3dCQUNFQyxZQUFZOzRCQUNWQyxNQUFNO2dDQUNKQyxXQUFXLE9BQU8sRUFBRUYsVUFBVSxFQUFFRyxJQUFJLEVBQUVDLE1BQU0sRUFBRTtvQ0FDNUMsTUFBTUMsZUFBZSxNQUFNQyxJQUFBQSxvQ0FBeUIsRUFBQzt3Q0FDbkROO3dDQUNBTyxjQUFjSixLQUFLSyxRQUFRO3dDQUMzQkosUUFBUTs0Q0FDTixHQUFHRCxJQUFJOzRDQUNQQzt3Q0FDRjtvQ0FDRjtvQ0FFQSxPQUFPLE1BQU1ELE1BQU1NLE1BQU0sTUFBTUosZUFBZSxPQUFPRixNQUFNTSxNQUFNO2dDQUNuRTtnQ0FDQUMsV0FBVztvQ0FBQ0MscUJBQVcsQ0FBQ0MsT0FBTztpQ0FBRzs0QkFDcEM7d0JBQ0Y7d0JBQ0FULE1BQU1RLHFCQUFXO3dCQUNqQkUsTUFBTUYscUJBQVcsQ0FBQ0MsT0FBTztvQkFDM0I7aUJBQ0Q7Z0JBQ0RoQztnQkFDQWtDLFdBQVc7b0JBQ1RDLFNBQVM7MkJBQ0psQyxvQkFBb0JJLEdBQUcsQ0FBQyxDQUFDekI7NEJBQzFCLE9BQU87Z0NBQ0x3RCxhQUFhO2dDQUNiMUIsS0FBSztnQ0FDTHlCLFNBQVM7b0NBQ1AsSUFBSUUsc0JBQWUsQ0FBQyxDQUFDLFFBQVEsRUFBRXpELFlBQVlnQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUU7d0NBQ3REMEIsTUFBTW5ELGdCQUFnQixDQUFDUCxZQUFZO3dDQUNuQ3dELGFBQWEsQ0FBQyxRQUFRLEVBQUV4RCxZQUFZZ0MsTUFBTSxDQUFDLEdBQUcsQ0FBQzt3Q0FDL0MyQixVQUFVOzRDQUFDOzRDQUFXM0Q7eUNBQVk7d0NBQ2xDNEQsVUFBVTs0Q0FDUjdELFdBQVdDO3dDQUNiO29DQUNGO2lDQUNEOzRCQUNIO3dCQUNGO3FCQUNEO2dCQUNIO1lBQ0Y7UUFDRjtRQUNBOEIsS0FBSztJQUNQO0FBQ0YifQ==
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/field/features/Link/plugins/autoLink/index.tsx"],"names":[],"mappings":";AAUA,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAInE,UAAU,iBAAiB;IACzB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,iBAAiB,GAAG,IAAI,CAAA;AAEpE,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,EACd,cAAc,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAuB,UAE3C,MAAM;;;;;EAUrB;AA+PD,wBAAgB,cAAc,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,CAMnD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/field/features/Link/plugins/autoLink/index.tsx"],"names":[],"mappings":";AAmBA,OAAO,EAAe,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAInE,UAAU,iBAAiB;IACzB,MAAM,CAAC,EAAE,UAAU,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,iBAAiB,GAAG,IAAI,CAAA;AAEpE,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,MAAM,EACd,cAAc,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAuB,UAE3C,MAAM;;;;;EAUrB;AA2XD,wBAAgB,cAAc,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,CAMnD"}
@@ -32,7 +32,7 @@ function createLinkMatcherWithRegExp(regExp, urlTransformer = (text)=>text) {
32
32
  index: match.index,
33
33
  length: match[0].length,
34
34
  text: match[0],
35
- url: urlTransformer(text)
35
+ url: urlTransformer(match[0])
36
36
  };
37
37
  };
38
38
  }
@@ -69,45 +69,139 @@ function isNextNodeValid(node) {
69
69
  }
70
70
  return nextNode === null || (0, _lexical.$isLineBreakNode)(nextNode) || (0, _lexical.$isTextNode)(nextNode) && startsWithSeparator(nextNode.getTextContent());
71
71
  }
72
- function isContentAroundIsValid(matchStart, matchEnd, text, node) {
73
- const contentBeforeIsValid = matchStart > 0 ? isSeparator(text[matchStart - 1]) : isPreviousNodeValid(node);
72
+ function isContentAroundIsValid(matchStart, matchEnd, text, nodes) {
73
+ const contentBeforeIsValid = matchStart > 0 ? isSeparator(text[matchStart - 1]) : isPreviousNodeValid(nodes[0]);
74
74
  if (!contentBeforeIsValid) {
75
75
  return false;
76
76
  }
77
- const contentAfterIsValid = matchEnd < text.length ? isSeparator(text[matchEnd]) : isNextNodeValid(node);
77
+ const contentAfterIsValid = matchEnd < text.length ? isSeparator(text[matchEnd]) : isNextNodeValid(nodes[nodes.length - 1]);
78
78
  return contentAfterIsValid;
79
79
  }
80
- function handleLinkCreation(node, matchers, onChange) {
81
- const nodeText = node.getTextContent();
82
- let text = nodeText;
83
- let invalidMatchEnd = 0;
84
- let remainingTextNode = node;
80
+ function extractMatchingNodes(nodes, startIndex, endIndex) {
81
+ const unmodifiedBeforeNodes = [];
82
+ const matchingNodes = [];
83
+ const unmodifiedAfterNodes = [];
84
+ let matchingOffset = 0;
85
+ let currentOffset = 0;
86
+ const currentNodes = [
87
+ ...nodes
88
+ ];
89
+ while(currentNodes.length > 0){
90
+ const currentNode = currentNodes[0];
91
+ const currentNodeText = currentNode.getTextContent();
92
+ const currentNodeLength = currentNodeText.length;
93
+ const currentNodeStart = currentOffset;
94
+ const currentNodeEnd = currentOffset + currentNodeLength;
95
+ if (currentNodeEnd <= startIndex) {
96
+ unmodifiedBeforeNodes.push(currentNode);
97
+ matchingOffset += currentNodeLength;
98
+ } else if (currentNodeStart >= endIndex) {
99
+ unmodifiedAfterNodes.push(currentNode);
100
+ } else {
101
+ matchingNodes.push(currentNode);
102
+ }
103
+ currentOffset += currentNodeLength;
104
+ currentNodes.shift();
105
+ }
106
+ return [
107
+ matchingOffset,
108
+ unmodifiedBeforeNodes,
109
+ matchingNodes,
110
+ unmodifiedAfterNodes
111
+ ];
112
+ }
113
+ function createAutoLinkNode(nodes, startIndex, endIndex, match) {
114
+ const fields = {
115
+ linkType: 'custom',
116
+ url: match.url,
117
+ ...match.fields
118
+ };
119
+ const linkNode = (0, _AutoLinkNode.$createAutoLinkNode)({
120
+ fields
121
+ });
122
+ if (nodes.length === 1) {
123
+ let remainingTextNode = nodes[0];
124
+ let linkTextNode;
125
+ if (startIndex === 0) {
126
+ [linkTextNode, remainingTextNode] = remainingTextNode.splitText(endIndex);
127
+ } else {
128
+ [, linkTextNode, remainingTextNode] = remainingTextNode.splitText(startIndex, endIndex);
129
+ }
130
+ const textNode = (0, _lexical.$createTextNode)(match.text);
131
+ textNode.setFormat(linkTextNode.getFormat());
132
+ textNode.setDetail(linkTextNode.getDetail());
133
+ linkNode.append(textNode);
134
+ linkTextNode.replace(linkNode);
135
+ return remainingTextNode;
136
+ } else if (nodes.length > 1) {
137
+ const firstTextNode = nodes[0];
138
+ let offset = firstTextNode.getTextContent().length;
139
+ let firstLinkTextNode;
140
+ if (startIndex === 0) {
141
+ firstLinkTextNode = firstTextNode;
142
+ } else {
143
+ [, firstLinkTextNode] = firstTextNode.splitText(startIndex);
144
+ }
145
+ const linkNodes = [];
146
+ let remainingTextNode;
147
+ for(let i = 1; i < nodes.length; i++){
148
+ const currentNode = nodes[i];
149
+ const currentNodeText = currentNode.getTextContent();
150
+ const currentNodeLength = currentNodeText.length;
151
+ const currentNodeStart = offset;
152
+ const currentNodeEnd = offset + currentNodeLength;
153
+ if (currentNodeStart < endIndex) {
154
+ if (currentNodeEnd <= endIndex) {
155
+ linkNodes.push(currentNode);
156
+ } else {
157
+ const [linkTextNode, endNode] = currentNode.splitText(endIndex - currentNodeStart);
158
+ linkNodes.push(linkTextNode);
159
+ remainingTextNode = endNode;
160
+ }
161
+ }
162
+ offset += currentNodeLength;
163
+ }
164
+ const selection = (0, _lexical.$getSelection)();
165
+ const selectedTextNode = selection ? selection.getNodes().find(_lexical.$isTextNode) : undefined;
166
+ const textNode = (0, _lexical.$createTextNode)(firstLinkTextNode.getTextContent());
167
+ textNode.setFormat(firstLinkTextNode.getFormat());
168
+ textNode.setDetail(firstLinkTextNode.getDetail());
169
+ linkNode.append(textNode, ...linkNodes);
170
+ // it does not preserve caret position if caret was at the first text node
171
+ // so we need to restore caret position
172
+ if (selectedTextNode && selectedTextNode === firstLinkTextNode) {
173
+ if ((0, _lexical.$isRangeSelection)(selection)) {
174
+ textNode.select(selection.anchor.offset, selection.focus.offset);
175
+ } else if ((0, _lexical.$isNodeSelection)(selection)) {
176
+ textNode.select(0, textNode.getTextContent().length);
177
+ }
178
+ }
179
+ firstLinkTextNode.replace(linkNode);
180
+ return remainingTextNode;
181
+ }
182
+ return undefined;
183
+ }
184
+ function handleLinkCreation(nodes, matchers, onChange) {
185
+ let currentNodes = [
186
+ ...nodes
187
+ ];
188
+ let text = currentNodes.map((node)=>node.getTextContent()).join('');
85
189
  let match;
190
+ let invalidMatchEnd = 0;
86
191
  while((match = findFirstMatch(text, matchers)) != null && match !== null){
87
192
  const matchStart = match.index;
88
193
  const matchLength = match.length;
89
194
  const matchEnd = matchStart + matchLength;
90
- const isValid = isContentAroundIsValid(invalidMatchEnd + matchStart, invalidMatchEnd + matchEnd, nodeText, node);
195
+ const isValid = isContentAroundIsValid(invalidMatchEnd + matchStart, invalidMatchEnd + matchEnd, text, currentNodes);
91
196
  if (isValid) {
92
- let linkTextNode;
93
- if (invalidMatchEnd + matchStart === 0) {
94
- [linkTextNode, remainingTextNode] = remainingTextNode.splitText(invalidMatchEnd + matchLength);
95
- } else {
96
- [, linkTextNode, remainingTextNode] = remainingTextNode.splitText(invalidMatchEnd + matchStart, invalidMatchEnd + matchStart + matchLength);
97
- }
98
- const fields = {
99
- linkType: 'custom',
100
- url: match.url,
101
- ...match.attributes
102
- };
103
- const linkNode = (0, _AutoLinkNode.$createAutoLinkNode)({
104
- fields
105
- });
106
- const textNode = (0, _lexical.$createTextNode)(match.text);
107
- textNode.setFormat(linkTextNode.getFormat());
108
- textNode.setDetail(linkTextNode.getDetail());
109
- linkNode.append(textNode);
110
- linkTextNode.replace(linkNode);
197
+ const [matchingOffset, , matchingNodes, unmodifiedAfterNodes] = extractMatchingNodes(currentNodes, invalidMatchEnd + matchStart, invalidMatchEnd + matchEnd);
198
+ const actualMatchStart = invalidMatchEnd + matchStart - matchingOffset;
199
+ const actualMatchEnd = invalidMatchEnd + matchEnd - matchingOffset;
200
+ const remainingTextNode = createAutoLinkNode(matchingNodes, actualMatchStart, actualMatchEnd, match);
201
+ currentNodes = remainingTextNode ? [
202
+ remainingTextNode,
203
+ ...unmodifiedAfterNodes
204
+ ] : unmodifiedAfterNodes;
111
205
  onChange(match.url, null);
112
206
  invalidMatchEnd = 0;
113
207
  } else {
@@ -150,7 +244,7 @@ function handleLinkEdit(linkNode, matchers, onChange) {
150
244
  onChange(match.url, url ?? null);
151
245
  }
152
246
  }
153
- // Bad neighbours are edits in neighbor nodes that make AutoLinks incompatible.
247
+ // Bad neighbors are edits in neighbor nodes that make AutoLinks incompatible.
154
248
  // Given the creation preconditions, these can only be simple text nodes.
155
249
  function handleBadNeighbors(textNode, matchers, onChange) {
156
250
  const previousSibling = textNode.getPreviousSibling();
@@ -176,6 +270,21 @@ function replaceWithChildren(node) {
176
270
  node.remove();
177
271
  return children.map((child)=>child.getLatest());
178
272
  }
273
+ function getTextNodesToMatch(textNode) {
274
+ // check if next siblings are simple text nodes till a node contains a space separator
275
+ const textNodesToMatch = [
276
+ textNode
277
+ ];
278
+ let nextSibling = textNode.getNextSibling();
279
+ while(nextSibling !== null && (0, _lexical.$isTextNode)(nextSibling) && nextSibling.isSimpleText()){
280
+ textNodesToMatch.push(nextSibling);
281
+ if (/\s/.test(nextSibling.getTextContent())) {
282
+ break;
283
+ }
284
+ nextSibling = nextSibling.getNextSibling();
285
+ }
286
+ return textNodesToMatch;
287
+ }
179
288
  function useAutoLink(editor, matchers, onChange) {
180
289
  (0, _react.useEffect)(()=>{
181
290
  if (!editor.hasNodes([
@@ -195,7 +304,8 @@ function useAutoLink(editor, matchers, onChange) {
195
304
  handleLinkEdit(parent, matchers, onChangeWrapped);
196
305
  } else if (!(0, _LinkNode.$isLinkNode)(parent)) {
197
306
  if (textNode.isSimpleText() && (startsWithSeparator(textNode.getTextContent()) || !(0, _AutoLinkNode.$isAutoLinkNode)(previous))) {
198
- handleLinkCreation(textNode, matchers, onChangeWrapped);
307
+ const textNodesToMatch = getTextNodesToMatch(textNode);
308
+ handleLinkCreation(textNodesToMatch, matchers, onChangeWrapped);
199
309
  }
200
310
  handleBadNeighbors(textNode, matchers, onChangeWrapped);
201
311
  }
@@ -222,4 +332,4 @@ function AutoLinkPlugin() {
222
332
  return null;
223
333
  }
224
334
 
225
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9MaW5rL3BsdWdpbnMvYXV0b0xpbmsvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IHR5cGUgeyBFbGVtZW50Tm9kZSwgTGV4aWNhbEVkaXRvciwgTGV4aWNhbE5vZGUgfSBmcm9tICdsZXhpY2FsJ1xuXG5pbXBvcnQgeyB1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0IH0gZnJvbSAnQGxleGljYWwvcmVhY3QvTGV4aWNhbENvbXBvc2VyQ29udGV4dCdcbmltcG9ydCB7IG1lcmdlUmVnaXN0ZXIgfSBmcm9tICdAbGV4aWNhbC91dGlscydcbmltcG9ydCB7ICRjcmVhdGVUZXh0Tm9kZSwgJGlzRWxlbWVudE5vZGUsICRpc0xpbmVCcmVha05vZGUsICRpc1RleHROb2RlLCBUZXh0Tm9kZSB9IGZyb20gJ2xleGljYWwnXG5pbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgaW52YXJpYW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vbGV4aWNhbC91dGlscy9pbnZhcmlhbnQnXG5pbXBvcnQgeyAkY3JlYXRlQXV0b0xpbmtOb2RlLCAkaXNBdXRvTGlua05vZGUsIEF1dG9MaW5rTm9kZSB9IGZyb20gJy4uLy4uL25vZGVzL0F1dG9MaW5rTm9kZSdcbmltcG9ydCB7ICRpc0xpbmtOb2RlLCB0eXBlIExpbmtGaWVsZHMgfSBmcm9tICcuLi8uLi9ub2Rlcy9MaW5rTm9kZSdcblxudHlwZSBDaGFuZ2VIYW5kbGVyID0gKHVybDogbnVsbCB8IHN0cmluZywgcHJldlVybDogbnVsbCB8IHN0cmluZykgPT4gdm9pZFxuXG5pbnRlcmZhY2UgTGlua01hdGNoZXJSZXN1bHQge1xuICBmaWVsZHM/OiBMaW5rRmllbGRzXG4gIGluZGV4OiBudW1iZXJcbiAgbGVuZ3RoOiBudW1iZXJcbiAgdGV4dDogc3RyaW5nXG4gIHVybDogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIExpbmtNYXRjaGVyID0gKHRleHQ6IHN0cmluZykgPT4gTGlua01hdGNoZXJSZXN1bHQgfCBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMaW5rTWF0Y2hlcldpdGhSZWdFeHAoXG4gIHJlZ0V4cDogUmVnRXhwLFxuICB1cmxUcmFuc2Zvcm1lcjogKHRleHQ6IHN0cmluZykgPT4gc3RyaW5nID0gKHRleHQpID0+IHRleHQsXG4pIHtcbiAgcmV0dXJuICh0ZXh0OiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBtYXRjaCA9IHJlZ0V4cC5leGVjKHRleHQpXG4gICAgaWYgKG1hdGNoID09PSBudWxsKSByZXR1cm4gbnVsbFxuICAgIHJldHVybiB7XG4gICAgICBpbmRleDogbWF0Y2guaW5kZXgsXG4gICAgICBsZW5ndGg6IG1hdGNoWzBdLmxlbmd0aCxcbiAgICAgIHRleHQ6IG1hdGNoWzBdLFxuICAgICAgdXJsOiB1cmxUcmFuc2Zvcm1lcih0ZXh0KSxcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluZEZpcnN0TWF0Y2godGV4dDogc3RyaW5nLCBtYXRjaGVyczogTGlua01hdGNoZXJbXSk6IExpbmtNYXRjaGVyUmVzdWx0IHwgbnVsbCB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbWF0Y2hlcnMubGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBtYXRjaCA9IG1hdGNoZXJzW2ldKHRleHQpXG5cbiAgICBpZiAobWF0Y2ggIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG1hdGNoXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG51bGxcbn1cblxuY29uc3QgUFVOQ1RVQVRJT05fT1JfU1BBQ0UgPSAvWy4sO1xcc10vXG5cbmZ1bmN0aW9uIGlzU2VwYXJhdG9yKGNoYXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gUFVOQ1RVQVRJT05fT1JfU1BBQ0UudGVzdChjaGFyKVxufVxuXG5mdW5jdGlvbiBlbmRzV2l0aFNlcGFyYXRvcih0ZXh0Q29udGVudDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc1NlcGFyYXRvcih0ZXh0Q29udGVudFt0ZXh0Q29udGVudC5sZW5ndGggLSAxXSlcbn1cblxuZnVuY3Rpb24gc3RhcnRzV2l0aFNlcGFyYXRvcih0ZXh0Q29udGVudDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc1NlcGFyYXRvcih0ZXh0Q29udGVudFswXSlcbn1cblxuZnVuY3Rpb24gaXNQcmV2aW91c05vZGVWYWxpZChub2RlOiBMZXhpY2FsTm9kZSk6IGJvb2xlYW4ge1xuICBsZXQgcHJldmlvdXNOb2RlID0gbm9kZS5nZXRQcmV2aW91c1NpYmxpbmcoKVxuICBpZiAoJGlzRWxlbWVudE5vZGUocHJldmlvdXNOb2RlKSkge1xuICAgIHByZXZpb3VzTm9kZSA9IHByZXZpb3VzTm9kZS5nZXRMYXN0RGVzY2VuZGFudCgpXG4gIH1cbiAgcmV0dXJuIChcbiAgICBwcmV2aW91c05vZGUgPT09IG51bGwgfHxcbiAgICAkaXNMaW5lQnJlYWtOb2RlKHByZXZpb3VzTm9kZSkgfHxcbiAgICAoJGlzVGV4dE5vZGUocHJldmlvdXNOb2RlKSAmJiBlbmRzV2l0aFNlcGFyYXRvcihwcmV2aW91c05vZGUuZ2V0VGV4dENvbnRlbnQoKSkpXG4gIClcbn1cblxuZnVuY3Rpb24gaXNOZXh0Tm9kZVZhbGlkKG5vZGU6IExleGljYWxOb2RlKTogYm9vbGVhbiB7XG4gIGxldCBuZXh0Tm9kZSA9IG5vZGUuZ2V0TmV4dFNpYmxpbmcoKVxuICBpZiAoJGlzRWxlbWVudE5vZGUobmV4dE5vZGUpKSB7XG4gICAgbmV4dE5vZGUgPSBuZXh0Tm9kZS5nZXRGaXJzdERlc2NlbmRhbnQoKVxuICB9XG4gIHJldHVybiAoXG4gICAgbmV4dE5vZGUgPT09IG51bGwgfHxcbiAgICAkaXNMaW5lQnJlYWtOb2RlKG5leHROb2RlKSB8fFxuICAgICgkaXNUZXh0Tm9kZShuZXh0Tm9kZSkgJiYgc3RhcnRzV2l0aFNlcGFyYXRvcihuZXh0Tm9kZS5nZXRUZXh0Q29udGVudCgpKSlcbiAgKVxufVxuXG5mdW5jdGlvbiBpc0NvbnRlbnRBcm91bmRJc1ZhbGlkKFxuICBtYXRjaFN0YXJ0OiBudW1iZXIsXG4gIG1hdGNoRW5kOiBudW1iZXIsXG4gIHRleHQ6IHN0cmluZyxcbiAgbm9kZTogVGV4dE5vZGUsXG4pOiBib29sZWFuIHtcbiAgY29uc3QgY29udGVudEJlZm9yZUlzVmFsaWQgPVxuICAgIG1hdGNoU3RhcnQgPiAwID8gaXNTZXBhcmF0b3IodGV4dFttYXRjaFN0YXJ0IC0gMV0pIDogaXNQcmV2aW91c05vZGVWYWxpZChub2RlKVxuICBpZiAoIWNvbnRlbnRCZWZvcmVJc1ZhbGlkKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICBjb25zdCBjb250ZW50QWZ0ZXJJc1ZhbGlkID1cbiAgICBtYXRjaEVuZCA8IHRleHQubGVuZ3RoID8gaXNTZXBhcmF0b3IodGV4dFttYXRjaEVuZF0pIDogaXNOZXh0Tm9kZVZhbGlkKG5vZGUpXG4gIHJldHVybiBjb250ZW50QWZ0ZXJJc1ZhbGlkXG59XG5cbmZ1bmN0aW9uIGhhbmRsZUxpbmtDcmVhdGlvbihcbiAgbm9kZTogVGV4dE5vZGUsXG4gIG1hdGNoZXJzOiBMaW5rTWF0Y2hlcltdLFxuICBvbkNoYW5nZTogQ2hhbmdlSGFuZGxlcixcbik6IHZvaWQge1xuICBjb25zdCBub2RlVGV4dCA9IG5vZGUuZ2V0VGV4dENvbnRlbnQoKVxuICBsZXQgdGV4dCA9IG5vZGVUZXh0XG4gIGxldCBpbnZhbGlkTWF0Y2hFbmQgPSAwXG4gIGxldCByZW1haW5pbmdUZXh0Tm9kZSA9IG5vZGVcbiAgbGV0IG1hdGNoXG5cbiAgd2hpbGUgKChtYXRjaCA9IGZpbmRGaXJzdE1hdGNoKHRleHQsIG1hdGNoZXJzKSkgIT0gbnVsbCAmJiBtYXRjaCAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG1hdGNoU3RhcnQ6IG51bWJlciA9IG1hdGNoLmluZGV4XG4gICAgY29uc3QgbWF0Y2hMZW5ndGg6IG51bWJlciA9IG1hdGNoLmxlbmd0aFxuICAgIGNvbnN0IG1hdGNoRW5kID0gbWF0Y2hTdGFydCArIG1hdGNoTGVuZ3RoXG4gICAgY29uc3QgaXNWYWxpZCA9IGlzQ29udGVudEFyb3VuZElzVmFsaWQoXG4gICAgICBpbnZhbGlkTWF0Y2hFbmQgKyBtYXRjaFN0YXJ0LFxuICAgICAgaW52YWxpZE1hdGNoRW5kICsgbWF0Y2hFbmQsXG4gICAgICBub2RlVGV4dCxcbiAgICAgIG5vZGUsXG4gICAgKVxuXG4gICAgaWYgKGlzVmFsaWQpIHtcbiAgICAgIGxldCBsaW5rVGV4dE5vZGVcbiAgICAgIGlmIChpbnZhbGlkTWF0Y2hFbmQgKyBtYXRjaFN0YXJ0ID09PSAwKSB7XG4gICAgICAgIDtbbGlua1RleHROb2RlLCByZW1haW5pbmdUZXh0Tm9kZV0gPSByZW1haW5pbmdUZXh0Tm9kZS5zcGxpdFRleHQoXG4gICAgICAgICAgaW52YWxpZE1hdGNoRW5kICsgbWF0Y2hMZW5ndGgsXG4gICAgICAgIClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIDtbLCBsaW5rVGV4dE5vZGUsIHJlbWFpbmluZ1RleHROb2RlXSA9IHJlbWFpbmluZ1RleHROb2RlLnNwbGl0VGV4dChcbiAgICAgICAgICBpbnZhbGlkTWF0Y2hFbmQgKyBtYXRjaFN0YXJ0LFxuICAgICAgICAgIGludmFsaWRNYXRjaEVuZCArIG1hdGNoU3RhcnQgKyBtYXRjaExlbmd0aCxcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgY29uc3QgZmllbGRzOiBMaW5rRmllbGRzID0ge1xuICAgICAgICBsaW5rVHlwZTogJ2N1c3RvbScsXG4gICAgICAgIHVybDogbWF0Y2gudXJsLFxuICAgICAgICAuLi5tYXRjaC5hdHRyaWJ1dGVzLFxuICAgICAgfVxuXG4gICAgICBjb25zdCBsaW5rTm9kZSA9ICRjcmVhdGVBdXRvTGlua05vZGUoeyBmaWVsZHMgfSlcbiAgICAgIGNvbnN0IHRleHROb2RlID0gJGNyZWF0ZVRleHROb2RlKG1hdGNoLnRleHQpXG4gICAgICB0ZXh0Tm9kZS5zZXRGb3JtYXQobGlua1RleHROb2RlLmdldEZvcm1hdCgpKVxuICAgICAgdGV4dE5vZGUuc2V0RGV0YWlsKGxpbmtUZXh0Tm9kZS5nZXREZXRhaWwoKSlcbiAgICAgIGxpbmtOb2RlLmFwcGVuZCh0ZXh0Tm9kZSlcbiAgICAgIGxpbmtUZXh0Tm9kZS5yZXBsYWNlKGxpbmtOb2RlKVxuICAgICAgb25DaGFuZ2UobWF0Y2gudXJsLCBudWxsKVxuICAgICAgaW52YWxpZE1hdGNoRW5kID0gMFxuICAgIH0gZWxzZSB7XG4gICAgICBpbnZhbGlkTWF0Y2hFbmQgKz0gbWF0Y2hFbmRcbiAgICB9XG5cbiAgICB0ZXh0ID0gdGV4dC5zdWJzdHJpbmcobWF0Y2hFbmQpXG4gIH1cbn1cblxuZnVuY3Rpb24gaGFuZGxlTGlua0VkaXQoXG4gIGxpbmtOb2RlOiBBdXRvTGlua05vZGUsXG4gIG1hdGNoZXJzOiBMaW5rTWF0Y2hlcltdLFxuICBvbkNoYW5nZTogQ2hhbmdlSGFuZGxlcixcbik6IHZvaWQge1xuICAvLyBDaGVjayBjaGlsZHJlbiBhcmUgc2ltcGxlIHRleHRcbiAgY29uc3QgY2hpbGRyZW4gPSBsaW5rTm9kZS5nZXRDaGlsZHJlbigpXG4gIGNvbnN0IGNoaWxkcmVuTGVuZ3RoID0gY2hpbGRyZW4ubGVuZ3RoXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRyZW5MZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGNoaWxkID0gY2hpbGRyZW5baV1cbiAgICBpZiAoISRpc1RleHROb2RlKGNoaWxkKSB8fCAhY2hpbGQuaXNTaW1wbGVUZXh0KCkpIHtcbiAgICAgIHJlcGxhY2VXaXRoQ2hpbGRyZW4obGlua05vZGUpXG4gICAgICBvbkNoYW5nZShudWxsLCBsaW5rTm9kZS5nZXRGaWVsZHMoKT8udXJsID8/IG51bGwpXG4gICAgICByZXR1cm5cbiAgICB9XG4gIH1cblxuICAvLyBDaGVjayB0ZXh0IGNvbnRlbnQgZnVsbHkgbWF0Y2hlc1xuICBjb25zdCB0ZXh0ID0gbGlua05vZGUuZ2V0VGV4dENvbnRlbnQoKVxuICBjb25zdCBtYXRjaCA9IGZpbmRGaXJzdE1hdGNoKHRleHQsIG1hdGNoZXJzKVxuICBpZiAobWF0Y2ggPT09IG51bGwgfHwgbWF0Y2gudGV4dCAhPT0gdGV4dCkge1xuICAgIHJlcGxhY2VXaXRoQ2hpbGRyZW4obGlua05vZGUpXG4gICAgb25DaGFuZ2UobnVsbCwgbGlua05vZGUuZ2V0RmllbGRzKCk/LnVybCA/PyBudWxsKVxuICAgIHJldHVyblxuICB9XG5cbiAgLy8gQ2hlY2sgbmVpZ2hib3JzXG4gIGlmICghaXNQcmV2aW91c05vZGVWYWxpZChsaW5rTm9kZSkgfHwgIWlzTmV4dE5vZGVWYWxpZChsaW5rTm9kZSkpIHtcbiAgICByZXBsYWNlV2l0aENoaWxkcmVuKGxpbmtOb2RlKVxuICAgIG9uQ2hhbmdlKG51bGwsIGxpbmtOb2RlLmdldEZpZWxkcygpPy51cmwgPz8gbnVsbClcbiAgICByZXR1cm5cbiAgfVxuXG4gIGNvbnN0IHVybCA9IGxpbmtOb2RlLmdldEZpZWxkcygpPy51cmxcbiAgaWYgKHVybCAhPT0gbWF0Y2g/LnVybCkge1xuICAgIGNvbnN0IGZsZHMgPSBsaW5rTm9kZS5nZXRGaWVsZHMoKVxuICAgIGZsZHMudXJsID0gbWF0Y2g/LnVybFxuICAgIGxpbmtOb2RlLnNldEZpZWxkcyhmbGRzKVxuICAgIG9uQ2hhbmdlKG1hdGNoLnVybCwgdXJsID8/IG51bGwpXG4gIH1cbn1cblxuLy8gQmFkIG5laWdoYm91cnMgYXJlIGVkaXRzIGluIG5laWdoYm9yIG5vZGVzIHRoYXQgbWFrZSBBdXRvTGlua3MgaW5jb21wYXRpYmxlLlxuLy8gR2l2ZW4gdGhlIGNyZWF0aW9uIHByZWNvbmRpdGlvbnMsIHRoZXNlIGNhbiBvbmx5IGJlIHNpbXBsZSB0ZXh0IG5vZGVzLlxuZnVuY3Rpb24gaGFuZGxlQmFkTmVpZ2hib3JzKFxuICB0ZXh0Tm9kZTogVGV4dE5vZGUsXG4gIG1hdGNoZXJzOiBMaW5rTWF0Y2hlcltdLFxuICBvbkNoYW5nZTogQ2hhbmdlSGFuZGxlcixcbik6IHZvaWQge1xuICBjb25zdCBwcmV2aW91c1NpYmxpbmcgPSB0ZXh0Tm9kZS5nZXRQcmV2aW91c1NpYmxpbmcoKVxuICBjb25zdCBuZXh0U2libGluZyA9IHRleHROb2RlLmdldE5leHRTaWJsaW5nKClcbiAgY29uc3QgdGV4dCA9IHRleHROb2RlLmdldFRleHRDb250ZW50KClcblxuICBpZiAoJGlzQXV0b0xpbmtOb2RlKHByZXZpb3VzU2libGluZykgJiYgIXN0YXJ0c1dpdGhTZXBhcmF0b3IodGV4dCkpIHtcbiAgICBwcmV2aW91c1NpYmxpbmcuYXBwZW5kKHRleHROb2RlKVxuICAgIGhhbmRsZUxpbmtFZGl0KHByZXZpb3VzU2libGluZywgbWF0Y2hlcnMsIG9uQ2hhbmdlKVxuICAgIG9uQ2hhbmdlKG51bGwsIHByZXZpb3VzU2libGluZy5nZXRGaWVsZHMoKT8udXJsID8/IG51bGwpXG4gIH1cblxuICBpZiAoJGlzQXV0b0xpbmtOb2RlKG5leHRTaWJsaW5nKSAmJiAhZW5kc1dpdGhTZXBhcmF0b3IodGV4dCkpIHtcbiAgICByZXBsYWNlV2l0aENoaWxkcmVuKG5leHRTaWJsaW5nKVxuICAgIGhhbmRsZUxpbmtFZGl0KG5leHRTaWJsaW5nLCBtYXRjaGVycywgb25DaGFuZ2UpXG4gICAgb25DaGFuZ2UobnVsbCwgbmV4dFNpYmxpbmcuZ2V0RmllbGRzKCk/LnVybCA/PyBudWxsKVxuICB9XG59XG5cbmZ1bmN0aW9uIHJlcGxhY2VXaXRoQ2hpbGRyZW4obm9kZTogRWxlbWVudE5vZGUpOiBMZXhpY2FsTm9kZVtdIHtcbiAgY29uc3QgY2hpbGRyZW4gPSBub2RlLmdldENoaWxkcmVuKClcbiAgY29uc3QgY2hpbGRyZW5MZW5ndGggPSBjaGlsZHJlbi5sZW5ndGhcblxuICBmb3IgKGxldCBqID0gY2hpbGRyZW5MZW5ndGggLSAxOyBqID49IDA7IGotLSkge1xuICAgIG5vZGUuaW5zZXJ0QWZ0ZXIoY2hpbGRyZW5bal0pXG4gIH1cblxuICBub2RlLnJlbW92ZSgpXG4gIHJldHVybiBjaGlsZHJlbi5tYXAoKGNoaWxkKSA9PiBjaGlsZC5nZXRMYXRlc3QoKSlcbn1cblxuZnVuY3Rpb24gdXNlQXV0b0xpbmsoXG4gIGVkaXRvcjogTGV4aWNhbEVkaXRvcixcbiAgbWF0Y2hlcnM6IExpbmtNYXRjaGVyW10sXG4gIG9uQ2hhbmdlPzogQ2hhbmdlSGFuZGxlcixcbik6IHZvaWQge1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZWRpdG9yLmhhc05vZGVzKFtBdXRvTGlua05vZGVdKSkge1xuICAgICAgaW52YXJpYW50KGZhbHNlLCAnTGV4aWNhbEF1dG9MaW5rUGx1Z2luOiBBdXRvTGlua05vZGUgbm90IHJlZ2lzdGVyZWQgb24gZWRpdG9yJylcbiAgICB9XG5cbiAgICBjb25zdCBvbkNoYW5nZVdyYXBwZWQgPSAodXJsOiBudWxsIHwgc3RyaW5nLCBwcmV2VXJsOiBudWxsIHwgc3RyaW5nKTogdm9pZCA9PiB7XG4gICAgICBpZiAob25DaGFuZ2UgIT0gbnVsbCkge1xuICAgICAgICBvbkNoYW5nZSh1cmwsIHByZXZVcmwpXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG1lcmdlUmVnaXN0ZXIoXG4gICAgICBlZGl0b3IucmVnaXN0ZXJOb2RlVHJhbnNmb3JtKFRleHROb2RlLCAodGV4dE5vZGU6IFRleHROb2RlKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcmVudCA9IHRleHROb2RlLmdldFBhcmVudE9yVGhyb3coKVxuICAgICAgICBjb25zdCBwcmV2aW91cyA9IHRleHROb2RlLmdldFByZXZpb3VzU2libGluZygpXG4gICAgICAgIGlmICgkaXNBdXRvTGlua05vZGUocGFyZW50KSkge1xuICAgICAgICAgIGhhbmRsZUxpbmtFZGl0KHBhcmVudCwgbWF0Y2hlcnMsIG9uQ2hhbmdlV3JhcHBlZClcbiAgICAgICAgfSBlbHNlIGlmICghJGlzTGlua05vZGUocGFyZW50KSkge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHRleHROb2RlLmlzU2ltcGxlVGV4dCgpICYmXG4gICAgICAgICAgICAoc3RhcnRzV2l0aFNlcGFyYXRvcih0ZXh0Tm9kZS5nZXRUZXh0Q29udGVudCgpKSB8fCAhJGlzQXV0b0xpbmtOb2RlKHByZXZpb3VzKSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGhhbmRsZUxpbmtDcmVhdGlvbih0ZXh0Tm9kZSwgbWF0Y2hlcnMsIG9uQ2hhbmdlV3JhcHBlZClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBoYW5kbGVCYWROZWlnaGJvcnModGV4dE5vZGUsIG1hdGNoZXJzLCBvbkNoYW5nZVdyYXBwZWQpXG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgIClcbiAgfSwgW2VkaXRvciwgbWF0Y2hlcnMsIG9uQ2hhbmdlXSlcbn1cblxuY29uc3QgVVJMX1JFR0VYID1cbiAgLygoaHR0cHM/OlxcL1xcLyh3d3dcXC4pPyl8KHd3d1xcLikpWy1cXHdAOiUuK34jPV17MSwyNTZ9XFwuW2EtekEtWlxcZCgpXXsxLDZ9XFxiKFstXFx3KClAOiUrLn4jPyYvPV0qKS9cblxuY29uc3QgRU1BSUxfUkVHRVggPVxuICAvKChbXjw+KClbXFxdXFxcXC4sOzpcXHNAXCJdKyhcXC5bXjw+KClbXFxdXFxcXC4sOzpcXHNAXCJdKykqKXwoXCIuK1wiKSlAKChcXFtcXGR7MSwzfVxcLlxcZHsxLDN9XFwuXFxkezEsM31cXC5cXGR7MSwzfVxcXSl8KChbYS16QS1aXFwtXFxkXStcXC4pK1thLXpBLVpdezIsfSkpL1xuXG5jb25zdCBNQVRDSEVSUyA9IFtcbiAgY3JlYXRlTGlua01hdGNoZXJXaXRoUmVnRXhwKFVSTF9SRUdFWCwgKHRleHQpID0+IHtcbiAgICByZXR1cm4gdGV4dC5zdGFydHNXaXRoKCdodHRwJykgPyB0ZXh0IDogYGh0dHBzOi8vJHt0ZXh0fWBcbiAgfSksXG4gIGNyZWF0ZUxpbmtNYXRjaGVyV2l0aFJlZ0V4cChFTUFJTF9SRUdFWCwgKHRleHQpID0+IHtcbiAgICByZXR1cm4gYG1haWx0bzoke3RleHR9YFxuICB9KSxcbl1cblxuZXhwb3J0IGZ1bmN0aW9uIEF1dG9MaW5rUGx1Z2luKCk6IEpTWC5FbGVtZW50IHwgbnVsbCB7XG4gIGNvbnN0IFtlZGl0b3JdID0gdXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCgpXG5cbiAgdXNlQXV0b0xpbmsoZWRpdG9yLCBNQVRDSEVSUylcblxuICByZXR1cm4gbnVsbFxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZUxpbmtNYXRjaGVyV2l0aFJlZ0V4cCIsIkF1dG9MaW5rUGx1Z2luIiwicmVnRXhwIiwidXJsVHJhbnNmb3JtZXIiLCJ0ZXh0IiwibWF0Y2giLCJleGVjIiwiaW5kZXgiLCJsZW5ndGgiLCJ1cmwiLCJmaW5kRmlyc3RNYXRjaCIsIm1hdGNoZXJzIiwiaSIsIlBVTkNUVUFUSU9OX09SX1NQQUNFIiwiaXNTZXBhcmF0b3IiLCJjaGFyIiwidGVzdCIsImVuZHNXaXRoU2VwYXJhdG9yIiwidGV4dENvbnRlbnQiLCJzdGFydHNXaXRoU2VwYXJhdG9yIiwiaXNQcmV2aW91c05vZGVWYWxpZCIsIm5vZGUiLCJwcmV2aW91c05vZGUiLCJnZXRQcmV2aW91c1NpYmxpbmciLCIkaXNFbGVtZW50Tm9kZSIsImdldExhc3REZXNjZW5kYW50IiwiJGlzTGluZUJyZWFrTm9kZSIsIiRpc1RleHROb2RlIiwiZ2V0VGV4dENvbnRlbnQiLCJpc05leHROb2RlVmFsaWQiLCJuZXh0Tm9kZSIsImdldE5leHRTaWJsaW5nIiwiZ2V0Rmlyc3REZXNjZW5kYW50IiwiaXNDb250ZW50QXJvdW5kSXNWYWxpZCIsIm1hdGNoU3RhcnQiLCJtYXRjaEVuZCIsImNvbnRlbnRCZWZvcmVJc1ZhbGlkIiwiY29udGVudEFmdGVySXNWYWxpZCIsImhhbmRsZUxpbmtDcmVhdGlvbiIsIm9uQ2hhbmdlIiwibm9kZVRleHQiLCJpbnZhbGlkTWF0Y2hFbmQiLCJyZW1haW5pbmdUZXh0Tm9kZSIsIm1hdGNoTGVuZ3RoIiwiaXNWYWxpZCIsImxpbmtUZXh0Tm9kZSIsInNwbGl0VGV4dCIsImZpZWxkcyIsImxpbmtUeXBlIiwiYXR0cmlidXRlcyIsImxpbmtOb2RlIiwiJGNyZWF0ZUF1dG9MaW5rTm9kZSIsInRleHROb2RlIiwiJGNyZWF0ZVRleHROb2RlIiwic2V0Rm9ybWF0IiwiZ2V0Rm9ybWF0Iiwic2V0RGV0YWlsIiwiZ2V0RGV0YWlsIiwiYXBwZW5kIiwicmVwbGFjZSIsInN1YnN0cmluZyIsImhhbmRsZUxpbmtFZGl0IiwiY2hpbGRyZW4iLCJnZXRDaGlsZHJlbiIsImNoaWxkcmVuTGVuZ3RoIiwiY2hpbGQiLCJpc1NpbXBsZVRleHQiLCJyZXBsYWNlV2l0aENoaWxkcmVuIiwiZ2V0RmllbGRzIiwiZmxkcyIsInNldEZpZWxkcyIsImhhbmRsZUJhZE5laWdoYm9ycyIsInByZXZpb3VzU2libGluZyIsIm5leHRTaWJsaW5nIiwiJGlzQXV0b0xpbmtOb2RlIiwiaiIsImluc2VydEFmdGVyIiwicmVtb3ZlIiwibWFwIiwiZ2V0TGF0ZXN0IiwidXNlQXV0b0xpbmsiLCJlZGl0b3IiLCJ1c2VFZmZlY3QiLCJoYXNOb2RlcyIsIkF1dG9MaW5rTm9kZSIsImludmFyaWFudCIsIm9uQ2hhbmdlV3JhcHBlZCIsInByZXZVcmwiLCJtZXJnZVJlZ2lzdGVyIiwicmVnaXN0ZXJOb2RlVHJhbnNmb3JtIiwiVGV4dE5vZGUiLCJwYXJlbnQiLCJnZXRQYXJlbnRPclRocm93IiwicHJldmlvdXMiLCIkaXNMaW5rTm9kZSIsIlVSTF9SRUdFWCIsIkVNQUlMX1JFR0VYIiwiTUFUQ0hFUlMiLCJzdGFydHNXaXRoIiwidXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7OztJQXdCZ0JBLDJCQUEyQjtlQUEzQkE7O0lBNlFBQyxjQUFjO2VBQWRBOzs7d0NBbFMwQjt1QkFDWjt5QkFDMkQ7dUJBQy9EOzJCQUVBOzhCQUN5QzswQkFDdEI7QUFjdEMsU0FBU0QsNEJBQ2RFLE1BQWMsRUFDZEMsaUJBQTJDLENBQUNDLE9BQVNBLElBQUk7SUFFekQsT0FBTyxDQUFDQTtRQUNOLE1BQU1DLFFBQVFILE9BQU9JLElBQUksQ0FBQ0Y7UUFDMUIsSUFBSUMsVUFBVSxNQUFNLE9BQU87UUFDM0IsT0FBTztZQUNMRSxPQUFPRixNQUFN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
335
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9MaW5rL3BsdWdpbnMvYXV0b0xpbmsvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuaW1wb3J0IHR5cGUgeyBFbGVtZW50Tm9kZSwgTGV4aWNhbEVkaXRvciwgTGV4aWNhbE5vZGUgfSBmcm9tICdsZXhpY2FsJ1xuXG5pbXBvcnQgeyB1c2VMZXhpY2FsQ29tcG9zZXJDb250ZXh0IH0gZnJvbSAnQGxleGljYWwvcmVhY3QvTGV4aWNhbENvbXBvc2VyQ29udGV4dCdcbmltcG9ydCB7IG1lcmdlUmVnaXN0ZXIgfSBmcm9tICdAbGV4aWNhbC91dGlscydcbmltcG9ydCB7XG4gICRjcmVhdGVUZXh0Tm9kZSxcbiAgJGdldFNlbGVjdGlvbixcbiAgJGlzRWxlbWVudE5vZGUsXG4gICRpc0xpbmVCcmVha05vZGUsXG4gICRpc05vZGVTZWxlY3Rpb24sXG4gICRpc1JhbmdlU2VsZWN0aW9uLFxuICAkaXNUZXh0Tm9kZSxcbiAgVGV4dE5vZGUsXG59IGZyb20gJ2xleGljYWwnXG5pbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgaW52YXJpYW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vbGV4aWNhbC91dGlscy9pbnZhcmlhbnQnXG5pbXBvcnQgeyAkY3JlYXRlQXV0b0xpbmtOb2RlLCAkaXNBdXRvTGlua05vZGUsIEF1dG9MaW5rTm9kZSB9IGZyb20gJy4uLy4uL25vZGVzL0F1dG9MaW5rTm9kZSdcbmltcG9ydCB7ICRpc0xpbmtOb2RlLCB0eXBlIExpbmtGaWVsZHMgfSBmcm9tICcuLi8uLi9ub2Rlcy9MaW5rTm9kZSdcblxudHlwZSBDaGFuZ2VIYW5kbGVyID0gKHVybDogbnVsbCB8IHN0cmluZywgcHJldlVybDogbnVsbCB8IHN0cmluZykgPT4gdm9pZFxuXG5pbnRlcmZhY2UgTGlua01hdGNoZXJSZXN1bHQge1xuICBmaWVsZHM/OiBMaW5rRmllbGRzXG4gIGluZGV4OiBudW1iZXJcbiAgbGVuZ3RoOiBudW1iZXJcbiAgdGV4dDogc3RyaW5nXG4gIHVybDogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIExpbmtNYXRjaGVyID0gKHRleHQ6IHN0cmluZykgPT4gTGlua01hdGNoZXJSZXN1bHQgfCBudWxsXG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMaW5rTWF0Y2hlcldpdGhSZWdFeHAoXG4gIHJlZ0V4cDogUmVnRXhwLFxuICB1cmxUcmFuc2Zvcm1lcjogKHRleHQ6IHN0cmluZykgPT4gc3RyaW5nID0gKHRleHQpID0+IHRleHQsXG4pIHtcbiAgcmV0dXJuICh0ZXh0OiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBtYXRjaCA9IHJlZ0V4cC5leGVjKHRleHQpXG4gICAgaWYgKG1hdGNoID09PSBudWxsKSByZXR1cm4gbnVsbFxuICAgIHJldHVybiB7XG4gICAgICBpbmRleDogbWF0Y2guaW5kZXgsXG4gICAgICBsZW5ndGg6IG1hdGNoWzBdLmxlbmd0aCxcbiAgICAgIHRleHQ6IG1hdGNoWzBdLFxuICAgICAgdXJsOiB1cmxUcmFuc2Zvcm1lcihtYXRjaFswXSksXG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGZpbmRGaXJzdE1hdGNoKHRleHQ6IHN0cmluZywgbWF0Y2hlcnM6IExpbmtNYXRjaGVyW10pOiBMaW5rTWF0Y2hlclJlc3VsdCB8IG51bGwge1xuICBmb3IgKGxldCBpID0gMDsgaSA8IG1hdGNoZXJzLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgbWF0Y2ggPSBtYXRjaGVyc1tpXSh0ZXh0KVxuXG4gICAgaWYgKG1hdGNoICE9IG51bGwpIHtcbiAgICAgIHJldHVybiBtYXRjaFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsXG59XG5cbmNvbnN0IFBVTkNUVUFUSU9OX09SX1NQQUNFID0gL1suLDtcXHNdL1xuXG5mdW5jdGlvbiBpc1NlcGFyYXRvcihjaGFyOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIFBVTkNUVUFUSU9OX09SX1NQQUNFLnRlc3QoY2hhcilcbn1cblxuZnVuY3Rpb24gZW5kc1dpdGhTZXBhcmF0b3IodGV4dENvbnRlbnQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNTZXBhcmF0b3IodGV4dENvbnRlbnRbdGV4dENvbnRlbnQubGVuZ3RoIC0gMV0pXG59XG5cbmZ1bmN0aW9uIHN0YXJ0c1dpdGhTZXBhcmF0b3IodGV4dENvbnRlbnQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNTZXBhcmF0b3IodGV4dENvbnRlbnRbMF0pXG59XG5cbmZ1bmN0aW9uIGlzUHJldmlvdXNOb2RlVmFsaWQobm9kZTogTGV4aWNhbE5vZGUpOiBib29sZWFuIHtcbiAgbGV0IHByZXZpb3VzTm9kZSA9IG5vZGUuZ2V0UHJldmlvdXNTaWJsaW5nKClcbiAgaWYgKCRpc0VsZW1lbnROb2RlKHByZXZpb3VzTm9kZSkpIHtcbiAgICBwcmV2aW91c05vZGUgPSBwcmV2aW91c05vZGUuZ2V0TGFzdERlc2NlbmRhbnQoKVxuICB9XG4gIHJldHVybiAoXG4gICAgcHJldmlvdXNOb2RlID09PSBudWxsIHx8XG4gICAgJGlzTGluZUJyZWFrTm9kZShwcmV2aW91c05vZGUpIHx8XG4gICAgKCRpc1RleHROb2RlKHByZXZpb3VzTm9kZSkgJiYgZW5kc1dpdGhTZXBhcmF0b3IocHJldmlvdXNOb2RlLmdldFRleHRDb250ZW50KCkpKVxuICApXG59XG5cbmZ1bmN0aW9uIGlzTmV4dE5vZGVWYWxpZChub2RlOiBMZXhpY2FsTm9kZSk6IGJvb2xlYW4ge1xuICBsZXQgbmV4dE5vZGUgPSBub2RlLmdldE5leHRTaWJsaW5nKClcbiAgaWYgKCRpc0VsZW1lbnROb2RlKG5leHROb2RlKSkge1xuICAgIG5leHROb2RlID0gbmV4dE5vZGUuZ2V0Rmlyc3REZXNjZW5kYW50KClcbiAgfVxuICByZXR1cm4gKFxuICAgIG5leHROb2RlID09PSBudWxsIHx8XG4gICAgJGlzTGluZUJyZWFrTm9kZShuZXh0Tm9kZSkgfHxcbiAgICAoJGlzVGV4dE5vZGUobmV4dE5vZGUpICYmIHN0YXJ0c1dpdGhTZXBhcmF0b3IobmV4dE5vZGUuZ2V0VGV4dENvbnRlbnQoKSkpXG4gIClcbn1cblxuZnVuY3Rpb24gaXNDb250ZW50QXJvdW5kSXNWYWxpZChcbiAgbWF0Y2hTdGFydDogbnVtYmVyLFxuICBtYXRjaEVuZDogbnVtYmVyLFxuICB0ZXh0OiBzdHJpbmcsXG4gIG5vZGVzOiBUZXh0Tm9kZVtdLFxuKTogYm9vbGVhbiB7XG4gIGNvbnN0IGNvbnRlbnRCZWZvcmVJc1ZhbGlkID1cbiAgICBtYXRjaFN0YXJ0ID4gMCA/IGlzU2VwYXJhdG9yKHRleHRbbWF0Y2hTdGFydCAtIDFdKSA6IGlzUHJldmlvdXNOb2RlVmFsaWQobm9kZXNbMF0pXG4gIGlmICghY29udGVudEJlZm9yZUlzVmFsaWQpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGNvbnN0IGNvbnRlbnRBZnRlcklzVmFsaWQgPVxuICAgIG1hdGNoRW5kIDwgdGV4dC5sZW5ndGggPyBpc1NlcGFyYXRvcih0ZXh0W21hdGNoRW5kXSkgOiBpc05leHROb2RlVmFsaWQobm9kZXNbbm9kZXMubGVuZ3RoIC0gMV0pXG4gIHJldHVybiBjb250ZW50QWZ0ZXJJc1ZhbGlkXG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RNYXRjaGluZ05vZGVzKFxuICBub2RlczogVGV4dE5vZGVbXSxcbiAgc3RhcnRJbmRleDogbnVtYmVyLFxuICBlbmRJbmRleDogbnVtYmVyLFxuKTogW1xuICBtYXRjaGluZ09mZnNldDogbnVtYmVyLFxuICB1bm1vZGlmaWVkQmVmb3JlTm9kZXM6IFRleHROb2RlW10sXG4gIG1hdGNoaW5nTm9kZXM6IFRleHROb2RlW10sXG4gIHVubW9kaWZpZWRBZnRlck5vZGVzOiBUZXh0Tm9kZVtdLFxuXSB7XG4gIGNvbnN0IHVubW9kaWZpZWRCZWZvcmVOb2RlczogVGV4dE5vZGVbXSA9IFtdXG4gIGNvbnN0IG1hdGNoaW5nTm9kZXM6IFRleHROb2RlW10gPSBbXVxuICBjb25zdCB1bm1vZGlmaWVkQWZ0ZXJOb2RlczogVGV4dE5vZGVbXSA9IFtdXG4gIGxldCBtYXRjaGluZ09mZnNldCA9IDBcblxuICBsZXQgY3VycmVudE9mZnNldCA9IDBcbiAgY29uc3QgY3VycmVudE5vZGVzID0gWy4uLm5vZGVzXVxuXG4gIHdoaWxlIChjdXJyZW50Tm9kZXMubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IGN1cnJlbnROb2RlID0gY3VycmVudE5vZGVzWzBdXG4gICAgY29uc3QgY3VycmVudE5vZGVUZXh0ID0gY3VycmVudE5vZGUuZ2V0VGV4dENvbnRlbnQoKVxuICAgIGNvbnN0IGN1cnJlbnROb2RlTGVuZ3RoID0gY3VycmVudE5vZGVUZXh0Lmxlbmd0aFxuICAgIGNvbnN0IGN1cnJlbnROb2RlU3RhcnQgPSBjdXJyZW50T2Zmc2V0XG4gICAgY29uc3QgY3VycmVudE5vZGVFbmQgPSBjdXJyZW50T2Zmc2V0ICsgY3VycmVudE5vZGVMZW5ndGhcblxuICAgIGlmIChjdXJyZW50Tm9kZUVuZCA8PSBzdGFydEluZGV4KSB7XG4gICAgICB1bm1vZGlmaWVkQmVmb3JlTm9kZXMucHVzaChjdXJyZW50Tm9kZSlcbiAgICAgIG1hdGNoaW5nT2Zmc2V0ICs9IGN1cnJlbnROb2RlTGVuZ3RoXG4gICAgfSBlbHNlIGlmIChjdXJyZW50Tm9kZVN0YXJ0ID49IGVuZEluZGV4KSB7XG4gICAgICB1bm1vZGlmaWVkQWZ0ZXJOb2Rlcy5wdXNoKGN1cnJlbnROb2RlKVxuICAgIH0gZWxzZSB7XG4gICAgICBtYXRjaGluZ05vZGVzLnB1c2goY3VycmVudE5vZGUpXG4gICAgfVxuICAgIGN1cnJlbnRPZmZzZXQgKz0gY3VycmVudE5vZGVMZW5ndGhcbiAgICBjdXJyZW50Tm9kZXMuc2hpZnQoKVxuICB9XG4gIHJldHVybiBbbWF0Y2hpbmdPZmZzZXQsIHVubW9kaWZpZWRCZWZvcmVOb2RlcywgbWF0Y2hpbmdOb2RlcywgdW5tb2RpZmllZEFmdGVyTm9kZXNdXG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUF1dG9MaW5rTm9kZShcbiAgbm9kZXM6IFRleHROb2RlW10sXG4gIHN0YXJ0SW5kZXg6IG51bWJlcixcbiAgZW5kSW5kZXg6IG51bWJlcixcbiAgbWF0Y2g6IExpbmtNYXRjaGVyUmVzdWx0LFxuKTogVGV4dE5vZGUgfCB1bmRlZmluZWQge1xuICBjb25zdCBmaWVsZHM6IExpbmtGaWVsZHMgPSB7XG4gICAgbGlua1R5cGU6ICdjdXN0b20nLFxuICAgIHVybDogbWF0Y2gudXJsLFxuICAgIC4uLm1hdGNoLmZpZWxkcyxcbiAgfVxuXG4gIGNvbnN0IGxpbmtOb2RlID0gJGNyZWF0ZUF1dG9MaW5rTm9kZSh7IGZpZWxkcyB9KVxuICBpZiAobm9kZXMubGVuZ3RoID09PSAxKSB7XG4gICAgbGV0IHJlbWFpbmluZ1RleHROb2RlID0gbm9kZXNbMF1cbiAgICBsZXQgbGlua1RleHROb2RlXG4gICAgaWYgKHN0YXJ0SW5kZXggPT09IDApIHtcbiAgICAgIDtbbGlua1RleHROb2RlLCByZW1haW5pbmdUZXh0Tm9kZV0gPSByZW1haW5pbmdUZXh0Tm9kZS5zcGxpdFRleHQoZW5kSW5kZXgpXG4gICAgfSBlbHNlIHtcbiAgICAgIDtbLCBsaW5rVGV4dE5vZGUsIHJlbWFpbmluZ1RleHROb2RlXSA9IHJlbWFpbmluZ1RleHROb2RlLnNwbGl0VGV4dChzdGFydEluZGV4LCBlbmRJbmRleClcbiAgICB9XG4gICAgY29uc3QgdGV4dE5vZGUgPSAkY3JlYXRlVGV4dE5vZGUobWF0Y2gudGV4dClcbiAgICB0ZXh0Tm9kZS5zZXRGb3JtYXQobGlua1RleHROb2RlLmdldEZvcm1hdCgpKVxuICAgIHRleHROb2RlLnNldERldGFpbChsaW5rVGV4dE5vZGUuZ2V0RGV0YWlsKCkpXG4gICAgbGlua05vZGUuYXBwZW5kKHRleHROb2RlKVxuICAgIGxpbmtUZXh0Tm9kZS5yZXBsYWNlKGxpbmtOb2RlKVxuICAgIHJldHVybiByZW1haW5pbmdUZXh0Tm9kZVxuICB9IGVsc2UgaWYgKG5vZGVzLmxlbmd0aCA+IDEpIHtcbiAgICBjb25zdCBmaXJzdFRleHROb2RlID0gbm9kZXNbMF1cbiAgICBsZXQgb2Zmc2V0ID0gZmlyc3RUZXh0Tm9kZS5nZXRUZXh0Q29udGVudCgpLmxlbmd0aFxuICAgIGxldCBmaXJzdExpbmtUZXh0Tm9kZVxuICAgIGlmIChzdGFydEluZGV4ID09PSAwKSB7XG4gICAgICBmaXJzdExpbmtUZXh0Tm9kZSA9IGZpcnN0VGV4dE5vZGVcbiAgICB9IGVsc2Uge1xuICAgICAgO1ssIGZpcnN0TGlua1RleHROb2RlXSA9IGZpcnN0VGV4dE5vZGUuc3BsaXRUZXh0KHN0YXJ0SW5kZXgpXG4gICAgfVxuICAgIGNvbnN0IGxpbmtOb2RlcyA9IFtdXG4gICAgbGV0IHJlbWFpbmluZ1RleHROb2RlXG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPCBub2Rlcy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgY3VycmVudE5vZGUgPSBub2Rlc1tpXVxuICAgICAgY29uc3QgY3VycmVudE5vZGVUZXh0ID0gY3VycmVudE5vZGUuZ2V0VGV4dENvbnRlbnQoKVxuICAgICAgY29uc3QgY3VycmVudE5vZGVMZW5ndGggPSBjdXJyZW50Tm9kZVRleHQubGVuZ3RoXG4gICAgICBjb25zdCBjdXJyZW50Tm9kZVN0YXJ0ID0gb2Zmc2V0XG4gICAgICBjb25zdCBjdXJyZW50Tm9kZUVuZCA9IG9mZnNldCArIGN1cnJlbnROb2RlTGVuZ3RoXG4gICAgICBpZiAoY3VycmVudE5vZGVTdGFydCA8IGVuZEluZGV4KSB7XG4gICAgICAgIGlmIChjdXJyZW50Tm9kZUVuZCA8PSBlbmRJbmRleCkge1xuICAgICAgICAgIGxpbmtOb2Rlcy5wdXNoKGN1cnJlbnROb2RlKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IFtsaW5rVGV4dE5vZGUsIGVuZE5vZGVdID0gY3VycmVudE5vZGUuc3BsaXRUZXh0KGVuZEluZGV4IC0gY3VycmVudE5vZGVTdGFydClcbiAgICAgICAgICBsaW5rTm9kZXMucHVzaChsaW5rVGV4dE5vZGUpXG4gICAgICAgICAgcmVtYWluaW5nVGV4dE5vZGUgPSBlbmROb2RlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIG9mZnNldCArPSBjdXJyZW50Tm9kZUxlbmd0aFxuICAgIH1cbiAgICBjb25zdCBzZWxlY3Rpb24gPSAkZ2V0U2VsZWN0aW9uKClcbiAgICBjb25zdCBzZWxlY3RlZFRleHROb2RlID0gc2VsZWN0aW9uID8gc2VsZWN0aW9uLmdldE5vZGVzKCkuZmluZCgkaXNUZXh0Tm9kZSkgOiB1bmRlZmluZWRcbiAgICBjb25zdCB0ZXh0Tm9kZSA9ICRjcmVhdGVUZXh0Tm9kZShmaXJzdExpbmtUZXh0Tm9kZS5nZXRUZXh0Q29udGVudCgpKVxuICAgIHRleHROb2RlLnNldEZvcm1hdChmaXJzdExpbmtUZXh0Tm9kZS5nZXRGb3JtYXQoKSlcbiAgICB0ZXh0Tm9kZS5zZXREZXRhaWwoZmlyc3RMaW5rVGV4dE5vZGUuZ2V0RGV0YWlsKCkpXG4gICAgbGlua05vZGUuYXBwZW5kKHRleHROb2RlLCAuLi5saW5rTm9kZXMpXG4gICAgLy8gaXQgZG9lcyBub3QgcHJlc2VydmUgY2FyZXQgcG9zaXRpb24gaWYgY2FyZXQgd2FzIGF0IHRoZSBmaXJzdCB0ZXh0IG5vZGVcbiAgICAvLyBzbyB3ZSBuZWVkIHRvIHJlc3RvcmUgY2FyZXQgcG9zaXRpb25cbiAgICBpZiAoc2VsZWN0ZWRUZXh0Tm9kZSAmJiBzZWxlY3RlZFRleHROb2RlID09PSBmaXJzdExpbmtUZXh0Tm9kZSkge1xuICAgICAgaWYgKCRpc1JhbmdlU2VsZWN0aW9uKHNlbGVjdGlvbikpIHtcbiAgICAgICAgdGV4dE5vZGUuc2VsZWN0KHNlbGVjdGlvbi5hbmNob3Iub2Zmc2V0LCBzZWxlY3Rpb24uZm9jdXMub2Zmc2V0KVxuICAgICAgfSBlbHNlIGlmICgkaXNOb2RlU2VsZWN0aW9uKHNlbGVjdGlvbikpIHtcbiAgICAgICAgdGV4dE5vZGUuc2VsZWN0KDAsIHRleHROb2RlLmdldFRleHRDb250ZW50KCkubGVuZ3RoKVxuICAgICAgfVxuICAgIH1cbiAgICBmaXJzdExpbmtUZXh0Tm9kZS5yZXBsYWNlKGxpbmtOb2RlKVxuICAgIHJldHVybiByZW1haW5pbmdUZXh0Tm9kZVxuICB9XG4gIHJldHVybiB1bmRlZmluZWRcbn1cblxuZnVuY3Rpb24gaGFuZGxlTGlua0NyZWF0aW9uKFxuICBub2RlczogVGV4dE5vZGVbXSxcbiAgbWF0Y2hlcnM6IExpbmtNYXRjaGVyW10sXG4gIG9uQ2hhbmdlOiBDaGFuZ2VIYW5kbGVyLFxuKTogdm9pZCB7XG4gIGxldCBjdXJyZW50Tm9kZXMgPSBbLi4ubm9kZXNdXG4gIGxldCB0ZXh0ID0gY3VycmVudE5vZGVzLm1hcCgobm9kZSkgPT4gbm9kZS5nZXRUZXh0Q29udGVudCgpKS5qb2luKCcnKVxuXG4gIGxldCBtYXRjaFxuICBsZXQgaW52YWxpZE1hdGNoRW5kID0gMFxuXG4gIHdoaWxlICgobWF0Y2ggPSBmaW5kRmlyc3RNYXRjaCh0ZXh0LCBtYXRjaGVycykpICE9IG51bGwgJiYgbWF0Y2ggIT09IG51bGwpIHtcbiAgICBjb25zdCBtYXRjaFN0YXJ0OiBudW1iZXIgPSBtYXRjaC5pbmRleFxuICAgIGNvbnN0IG1hdGNoTGVuZ3RoOiBudW1iZXIgPSBtYXRjaC5sZW5ndGhcbiAgICBjb25zdCBtYXRjaEVuZCA9IG1hdGNoU3RhcnQgKyBtYXRjaExlbmd0aFxuICAgIGNvbnN0IGlzVmFsaWQgPSBpc0NvbnRlbnRBcm91bmRJc1ZhbGlkKFxuICAgICAgaW52YWxpZE1hdGNoRW5kICsgbWF0Y2hTdGFydCxcbiAgICAgIGludmFsaWRNYXRjaEVuZCArIG1hdGNoRW5kLFxuICAgICAgdGV4dCxcbiAgICAgIGN1cnJlbnROb2RlcyxcbiAgICApXG5cbiAgICBpZiAoaXNWYWxpZCkge1xuICAgICAgY29uc3QgW21hdGNoaW5nT2Zmc2V0LCAsIG1hdGNoaW5nTm9kZXMsIHVubW9kaWZpZWRBZnRlck5vZGVzXSA9IGV4dHJhY3RNYXRjaGluZ05vZGVzKFxuICAgICAgICBjdXJyZW50Tm9kZXMsXG4gICAgICAgIGludmFsaWRNYXRjaEVuZCArIG1hdGNoU3RhcnQsXG4gICAgICAgIGludmFsaWRNYXRjaEVuZCArIG1hdGNoRW5kLFxuICAgICAgKVxuXG4gICAgICBjb25zdCBhY3R1YWxNYXRjaFN0YXJ0ID0gaW52YWxpZE1hdGNoRW5kICsgbWF0Y2hTdGFydCAtIG1hdGNoaW5nT2Zmc2V0XG4gICAgICBjb25zdCBhY3R1YWxNYXRjaEVuZCA9IGludmFsaWRNYXRjaEVuZCArIG1hdGNoRW5kIC0gbWF0Y2hpbmdPZmZzZXRcbiAgICAgIGNvbnN0IHJlbWFpbmluZ1RleHROb2RlID0gY3JlYXRlQXV0b0xpbmtOb2RlKFxuICAgICAgICBtYXRjaGluZ05vZGVzLFxuICAgICAgICBhY3R1YWxNYXRjaFN0YXJ0LFxuICAgICAgICBhY3R1YWxNYXRjaEVuZCxcbiAgICAgICAgbWF0Y2gsXG4gICAgICApXG4gICAgICBjdXJyZW50Tm9kZXMgPSByZW1haW5pbmdUZXh0Tm9kZVxuICAgICAgICA/IFtyZW1haW5pbmdUZXh0Tm9kZSwgLi4udW5tb2RpZmllZEFmdGVyTm9kZXNdXG4gICAgICAgIDogdW5tb2RpZmllZEFmdGVyTm9kZXNcbiAgICAgIG9uQ2hhbmdlKG1hdGNoLnVybCwgbnVsbClcbiAgICAgIGludmFsaWRNYXRjaEVuZCA9IDBcbiAgICB9IGVsc2Uge1xuICAgICAgaW52YWxpZE1hdGNoRW5kICs9IG1hdGNoRW5kXG4gICAgfVxuXG4gICAgdGV4dCA9IHRleHQuc3Vic3RyaW5nKG1hdGNoRW5kKVxuICB9XG59XG5cbmZ1bmN0aW9uIGhhbmRsZUxpbmtFZGl0KFxuICBsaW5rTm9kZTogQXV0b0xpbmtOb2RlLFxuICBtYXRjaGVyczogTGlua01hdGNoZXJbXSxcbiAgb25DaGFuZ2U6IENoYW5nZUhhbmRsZXIsXG4pOiB2b2lkIHtcbiAgLy8gQ2hlY2sgY2hpbGRyZW4gYXJlIHNpbXBsZSB0ZXh0XG4gIGNvbnN0IGNoaWxkcmVuID0gbGlua05vZGUuZ2V0Q2hpbGRyZW4oKVxuICBjb25zdCBjaGlsZHJlbkxlbmd0aCA9IGNoaWxkcmVuLmxlbmd0aFxuICBmb3IgKGxldCBpID0gMDsgaSA8IGNoaWxkcmVuTGVuZ3RoOyBpKyspIHtcbiAgICBjb25zdCBjaGlsZCA9IGNoaWxkcmVuW2ldXG4gICAgaWYgKCEkaXNUZXh0Tm9kZShjaGlsZCkgfHwgIWNoaWxkLmlzU2ltcGxlVGV4dCgpKSB7XG4gICAgICByZXBsYWNlV2l0aENoaWxkcmVuKGxpbmtOb2RlKVxuICAgICAgb25DaGFuZ2UobnVsbCwgbGlua05vZGUuZ2V0RmllbGRzKCk/LnVybCA/PyBudWxsKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICB9XG5cbiAgLy8gQ2hlY2sgdGV4dCBjb250ZW50IGZ1bGx5IG1hdGNoZXNcbiAgY29uc3QgdGV4dCA9IGxpbmtOb2RlLmdldFRleHRDb250ZW50KClcbiAgY29uc3QgbWF0Y2ggPSBmaW5kRmlyc3RNYXRjaCh0ZXh0LCBtYXRjaGVycylcbiAgaWYgKG1hdGNoID09PSBudWxsIHx8IG1hdGNoLnRleHQgIT09IHRleHQpIHtcbiAgICByZXBsYWNlV2l0aENoaWxkcmVuKGxpbmtOb2RlKVxuICAgIG9uQ2hhbmdlKG51bGwsIGxpbmtOb2RlLmdldEZpZWxkcygpPy51cmwgPz8gbnVsbClcbiAgICByZXR1cm5cbiAgfVxuXG4gIC8vIENoZWNrIG5laWdoYm9yc1xuICBpZiAoIWlzUHJldmlvdXNOb2RlVmFsaWQobGlua05vZGUpIHx8ICFpc05leHROb2RlVmFsaWQobGlua05vZGUpKSB7XG4gICAgcmVwbGFjZVdpdGhDaGlsZHJlbihsaW5rTm9kZSlcbiAgICBvbkNoYW5nZShudWxsLCBsaW5rTm9kZS5nZXRGaWVsZHMoKT8udXJsID8/IG51bGwpXG4gICAgcmV0dXJuXG4gIH1cblxuICBjb25zdCB1cmwgPSBsaW5rTm9kZS5nZXRGaWVsZHMoKT8udXJsXG4gIGlmICh1cmwgIT09IG1hdGNoPy51cmwpIHtcbiAgICBjb25zdCBmbGRzID0gbGlua05vZGUuZ2V0RmllbGRzKClcbiAgICBmbGRzLnVybCA9IG1hdGNoPy51cmxcbiAgICBsaW5rTm9kZS5zZXRGaWVsZHMoZmxkcylcbiAgICBvbkNoYW5nZShtYXRjaC51cmwsIHVybCA/PyBudWxsKVxuICB9XG59XG5cbi8vIEJhZCBuZWlnaGJvcnMgYXJlIGVkaXRzIGluIG5laWdoYm9yIG5vZGVzIHRoYXQgbWFrZSBBdXRvTGlua3MgaW5jb21wYXRpYmxlLlxuLy8gR2l2ZW4gdGhlIGNyZWF0aW9uIHByZWNvbmRpdGlvbnMsIHRoZXNlIGNhbiBvbmx5IGJlIHNpbXBsZSB0ZXh0IG5vZGVzLlxuZnVuY3Rpb24gaGFuZGxlQmFkTmVpZ2hib3JzKFxuICB0ZXh0Tm9kZTogVGV4dE5vZGUsXG4gIG1hdGNoZXJzOiBMaW5rTWF0Y2hlcltdLFxuICBvbkNoYW5nZTogQ2hhbmdlSGFuZGxlcixcbik6IHZvaWQge1xuICBjb25zdCBwcmV2aW91c1NpYmxpbmcgPSB0ZXh0Tm9kZS5nZXRQcmV2aW91c1NpYmxpbmcoKVxuICBjb25zdCBuZXh0U2libGluZyA9IHRleHROb2RlLmdldE5leHRTaWJsaW5nKClcbiAgY29uc3QgdGV4dCA9IHRleHROb2RlLmdldFRleHRDb250ZW50KClcblxuICBpZiAoJGlzQXV0b0xpbmtOb2RlKHByZXZpb3VzU2libGluZykgJiYgIXN0YXJ0c1dpdGhTZXBhcmF0b3IodGV4dCkpIHtcbiAgICBwcmV2aW91c1NpYmxpbmcuYXBwZW5kKHRleHROb2RlKVxuICAgIGhhbmRsZUxpbmtFZGl0KHByZXZpb3VzU2libGluZywgbWF0Y2hlcnMsIG9uQ2hhbmdlKVxuICAgIG9uQ2hhbmdlKG51bGwsIHByZXZpb3VzU2libGluZy5nZXRGaWVsZHMoKT8udXJsID8/IG51bGwpXG4gIH1cblxuICBpZiAoJGlzQXV0b0xpbmtOb2RlKG5leHRTaWJsaW5nKSAmJiAhZW5kc1dpdGhTZXBhcmF0b3IodGV4dCkpIHtcbiAgICByZXBsYWNlV2l0aENoaWxkcmVuKG5leHRTaWJsaW5nKVxuICAgIGhhbmRsZUxpbmtFZGl0KG5leHRTaWJsaW5nLCBtYXRjaGVycywgb25DaGFuZ2UpXG4gICAgb25DaGFuZ2UobnVsbCwgbmV4dFNpYmxpbmcuZ2V0RmllbGRzKCk/LnVybCA/PyBudWxsKVxuICB9XG59XG5cbmZ1bmN0aW9uIHJlcGxhY2VXaXRoQ2hpbGRyZW4obm9kZTogRWxlbWVudE5vZGUpOiBMZXhpY2FsTm9kZVtdIHtcbiAgY29uc3QgY2hpbGRyZW4gPSBub2RlLmdldENoaWxkcmVuKClcbiAgY29uc3QgY2hpbGRyZW5MZW5ndGggPSBjaGlsZHJlbi5sZW5ndGhcblxuICBmb3IgKGxldCBqID0gY2hpbGRyZW5MZW5ndGggLSAxOyBqID49IDA7IGotLSkge1xuICAgIG5vZGUuaW5zZXJ0QWZ0ZXIoY2hpbGRyZW5bal0pXG4gIH1cblxuICBub2RlLnJlbW92ZSgpXG4gIHJldHVybiBjaGlsZHJlbi5tYXAoKGNoaWxkKSA9PiBjaGlsZC5nZXRMYXRlc3QoKSlcbn1cblxuZnVuY3Rpb24gZ2V0VGV4dE5vZGVzVG9NYXRjaCh0ZXh0Tm9kZTogVGV4dE5vZGUpOiBUZXh0Tm9kZVtdIHtcbiAgLy8gY2hlY2sgaWYgbmV4dCBzaWJsaW5ncyBhcmUgc2ltcGxlIHRleHQgbm9kZXMgdGlsbCBhIG5vZGUgY29udGFpbnMgYSBzcGFjZSBzZXBhcmF0b3JcbiAgY29uc3QgdGV4dE5vZGVzVG9NYXRjaCA9IFt0ZXh0Tm9kZV1cbiAgbGV0IG5leHRTaWJsaW5nID0gdGV4dE5vZGUuZ2V0TmV4dFNpYmxpbmcoKVxuICB3aGlsZSAobmV4dFNpYmxpbmcgIT09IG51bGwgJiYgJGlzVGV4dE5vZGUobmV4dFNpYmxpbmcpICYmIG5leHRTaWJsaW5nLmlzU2ltcGxlVGV4dCgpKSB7XG4gICAgdGV4dE5vZGVzVG9NYXRjaC5wdXNoKG5leHRTaWJsaW5nKVxuICAgIGlmICgvXFxzLy50ZXN0KG5leHRTaWJsaW5nLmdldFRleHRDb250ZW50KCkpKSB7XG4gICAgICBicmVha1xuICAgIH1cbiAgICBuZXh0U2libGluZyA9IG5leHRTaWJsaW5nLmdldE5leHRTaWJsaW5nKClcbiAgfVxuICByZXR1cm4gdGV4dE5vZGVzVG9NYXRjaFxufVxuXG5mdW5jdGlvbiB1c2VBdXRvTGluayhcbiAgZWRpdG9yOiBMZXhpY2FsRWRpdG9yLFxuICBtYXRjaGVyczogTGlua01hdGNoZXJbXSxcbiAgb25DaGFuZ2U/OiBDaGFuZ2VIYW5kbGVyLFxuKTogdm9pZCB7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFlZGl0b3IuaGFzTm9kZXMoW0F1dG9MaW5rTm9kZV0pKSB7XG4gICAgICBpbnZhcmlhbnQoZmFsc2UsICdMZXhpY2FsQXV0b0xpbmtQbHVnaW46IEF1dG9MaW5rTm9kZSBub3QgcmVnaXN0ZXJlZCBvbiBlZGl0b3InKVxuICAgIH1cblxuICAgIGNvbnN0IG9uQ2hhbmdlV3JhcHBlZCA9ICh1cmw6IG51bGwgfCBzdHJpbmcsIHByZXZVcmw6IG51bGwgfCBzdHJpbmcpOiB2b2lkID0+IHtcbiAgICAgIGlmIChvbkNoYW5nZSAhPSBudWxsKSB7XG4gICAgICAgIG9uQ2hhbmdlKHVybCwgcHJldlVybClcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbWVyZ2VSZWdpc3RlcihcbiAgICAgIGVkaXRvci5yZWdpc3Rlck5vZGVUcmFuc2Zvcm0oVGV4dE5vZGUsICh0ZXh0Tm9kZTogVGV4dE5vZGUpID0+IHtcbiAgICAgICAgY29uc3QgcGFyZW50ID0gdGV4dE5vZGUuZ2V0UGFyZW50T3JUaHJvdygpXG4gICAgICAgIGNvbnN0IHByZXZpb3VzID0gdGV4dE5vZGUuZ2V0UHJldmlvdXNTaWJsaW5nKClcbiAgICAgICAgaWYgKCRpc0F1dG9MaW5rTm9kZShwYXJlbnQpKSB7XG4gICAgICAgICAgaGFuZGxlTGlua0VkaXQocGFyZW50LCBtYXRjaGVycywgb25DaGFuZ2VXcmFwcGVkKVxuICAgICAgICB9IGVsc2UgaWYgKCEkaXNMaW5rTm9kZShwYXJlbnQpKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGV4dE5vZGUuaXNTaW1wbGVUZXh0KCkgJiZcbiAgICAgICAgICAgIChzdGFydHNXaXRoU2VwYXJhdG9yKHRleHROb2RlLmdldFRleHRDb250ZW50KCkpIHx8ICEkaXNBdXRvTGlua05vZGUocHJldmlvdXMpKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgdGV4dE5vZGVzVG9NYXRjaCA9IGdldFRleHROb2Rlc1RvTWF0Y2godGV4dE5vZGUpXG4gICAgICAgICAgICBoYW5kbGVMaW5rQ3JlYXRpb24odGV4dE5vZGVzVG9NYXRjaCwgbWF0Y2hlcnMsIG9uQ2hhbmdlV3JhcHBlZClcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBoYW5kbGVCYWROZWlnaGJvcnModGV4dE5vZGUsIG1hdGNoZXJzLCBvbkNoYW5nZVdyYXBwZWQpXG4gICAgICAgIH1cbiAgICAgIH0pLFxuICAgIClcbiAgfSwgW2VkaXRvciwgbWF0Y2hlcnMsIG9uQ2hhbmdlXSlcbn1cblxuY29uc3QgVVJMX1JFR0VYID1cbiAgLygoaHR0cHM/OlxcL1xcLyh3d3dcXC4pPyl8KHd3d1xcLikpWy1cXHdAOiUuK34jPV17MSwyNTZ9XFwuW2EtekEtWlxcZCgpXXsxLDZ9XFxiKFstXFx3KClAOiUrLn4jPyYvPV0qKS9cblxuY29uc3QgRU1BSUxfUkVHRVggPVxuICAvKChbXjw+KClbXFxdXFxcXC4sOzpcXHNAXCJdKyhcXC5bXjw+KClbXFxdXFxcXC4sOzpcXHNAXCJdKykqKXwoXCIuK1wiKSlAKChcXFtcXGR7MSwzfVxcLlxcZHsxLDN9XFwuXFxkezEsM31cXC5cXGR7MSwzfVxcXSl8KChbYS16QS1aXFwtXFxkXStcXC4pK1thLXpBLVpdezIsfSkpL1xuXG5jb25zdCBNQVRDSEVSUyA9IFtcbiAgY3JlYXRlTGlua01hdGNoZXJXaXRoUmVnRXhwKFVSTF9SRUdFWCwgKHRleHQpID0+IHtcbiAgICByZXR1cm4gdGV4dC5zdGFydHNXaXRoKCdodHRwJykgPyB0ZXh0IDogYGh0dHBzOi8vJHt0ZXh0fWBcbiAgfSksXG4gIGNyZWF0ZUxpbmtNYXRjaGVyV2l0aFJlZ0V4cChFTUFJTF9SRUdFWCwgKHRleHQpID0+IHtcbiAgICByZXR1cm4gYG1haWx0bzoke3RleHR9YFxuICB9KSxcbl1cblxuZXhwb3J0IGZ1bmN0aW9uIEF1dG9MaW5rUGx1Z2luKCk6IEpTWC5FbGVtZW50IHwgbnVsbCB7XG4gIGNvbnN0IFtlZGl0b3JdID0gdXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCgpXG5cbiAgdXNlQXV0b0xpbmsoZWRpdG9yLCBNQVRDSEVSUylcblxuICByZXR1cm4gbnVsbFxufVxuIl0sIm5hbWVzIjpbImNyZWF0ZUxpbmtNYXRjaGVyV2l0aFJlZ0V4cCIsIkF1dG9MaW5rUGx1Z2luIiwicmVnRXhwIiwidXJsVHJhbnNmb3JtZXIiLCJ0ZXh0IiwibWF0Y2giLCJleGVjIiwiaW5kZXgiLCJsZW5ndGgiLCJ1cmwiLCJmaW5kRmlyc3RNYXRjaCIsIm1hdGNoZXJzIiwiaSIsIlBVTkNUVUFUSU9OX09SX1NQQUNFIiwiaXNTZXBhcmF0b3IiLCJjaGFyIiwidGVzdCIsImVuZHNXaXRoU2VwYXJhdG9yIiwidGV4dENvbnRlbnQiLCJzdGFydHNXaXRoU2VwYXJhdG9yIiwiaXNQcmV2aW91c05vZGVWYWxpZCIsIm5vZGUiLCJwcmV2aW91c05vZGUiLCJnZXRQcmV2aW91c1NpYmxpbmciLCIkaXNFbGVtZW50Tm9kZSIsImdldExhc3REZXNjZW5kYW50IiwiJGlzTGluZUJyZWFrTm9kZSIsIiRpc1RleHROb2RlIiwiZ2V0VGV4dENvbnRlbnQiLCJpc05leHROb2RlVmFsaWQiLCJuZXh0Tm9kZSIsImdldE5leHRTaWJsaW5nIiwiZ2V0Rmlyc3REZXNjZW5kYW50IiwiaXNDb250ZW50QXJvdW5kSXNWYWxpZCIsIm1hdGNoU3RhcnQiLCJtYXRjaEVuZCIsIm5vZGVzIiwiY29udGVudEJlZm9yZUlzVmFsaWQiLCJjb250ZW50QWZ0ZXJJc1ZhbGlkIiwiZXh0cmFjdE1hdGNoaW5nTm9kZXMiLCJzdGFydEluZGV4IiwiZW5kSW5kZXgiLCJ1bm1vZGlmaWVkQmVmb3JlTm9kZXMiLCJtYXRjaGluZ05vZGVzIiwidW5tb2RpZmllZEFmdGVyTm9kZXMiLCJtYXRjaGluZ09mZnNldCIsImN1cnJlbnRPZmZzZXQiLCJjdXJyZW50Tm9kZXMiLCJjdXJyZW50Tm9kZSIsImN1cnJlbnROb2RlVGV4dCIsImN1cnJlbnROb2RlTGVuZ3RoIiwiY3VycmVudE5vZGVTdGFydCIsImN1cnJlbnROb2RlRW5kIiwicHVzaCIsInNoaWZ0IiwiY3JlYXRlQXV0b0xpbmtOb2RlIiwiZmllbGRzIiwibGlua1R5cGUiLCJsaW5rTm9kZSIsIiRjcmVhdGVBdXRvTGlua05vZGUiLCJyZW1haW5pbmdUZXh0Tm9kZSIsImxpbmtUZXh0Tm9kZSIsInNwbGl0VGV4dCIsInRleHROb2RlIiwiJGNyZWF0ZVRleHROb2RlIiwic2V0Rm9ybWF0IiwiZ2V0Rm9ybWF0Iiwic2V0RGV0YWlsIiwiZ2V0RGV0YWlsIiwiYXBwZW5kIiwicmVwbGFjZSIsImZpcnN0VGV4dE5vZGUiLCJvZmZzZXQiLCJmaXJzdExpbmtUZXh0Tm9kZSIsImxpbmtOb2RlcyIsImVuZE5vZGUiLCJzZWxlY3Rpb24iLCIkZ2V0U2VsZWN0aW9uIiwic2VsZWN0ZWRUZXh0Tm9kZSIsImdldE5vZGVzIiwiZmluZCIsInVuZGVmaW5lZCIsIiRpc1JhbmdlU2VsZWN0aW9uIiwic2VsZWN0IiwiYW5jaG9yIiwiZm9jdXMiLCIkaXNOb2RlU2VsZWN0aW9uIiwiaGFuZGxlTGlua0NyZWF0aW9uIiwib25DaGFuZ2UiLCJtYXAiLCJqb2luIiwiaW52YWxpZE1hdGNoRW5kIiwibWF0Y2hMZW5ndGgiLCJpc1ZhbGlkIiwiYWN0dWFsTWF0Y2hTdGFydCIsImFjdHVhbE1hdGNoRW5kIiwic3Vic3RyaW5nIiwiaGFuZGxlTGlua0VkaXQiLCJjaGlsZHJlbiIsImdldENoaWxkcmVuIiwiY2hpbGRyZW5MZW5ndGgiLCJjaGlsZCIsImlzU2ltcGxlVGV4dCIsInJlcGxhY2VXaXRoQ2hpbGRyZW4iLCJnZXRGaWVsZHMiLCJmbGRzIiwic2V0RmllbGRzIiwiaGFuZGxlQmFkTmVpZ2hib3JzIiwicHJldmlvdXNTaWJsaW5nIiwibmV4dFNpYmxpbmciLCIkaXNBdXRvTGlua05vZGUiLCJqIiwiaW5zZXJ0QWZ0ZXIiLCJyZW1vdmUiLCJnZXRMYXRlc3QiLCJnZXRUZXh0Tm9kZXNUb01hdGNoIiwidGV4dE5vZGVzVG9NYXRjaCIsInVzZUF1dG9MaW5rIiwiZWRpdG9yIiwidXNlRWZmZWN0IiwiaGFzTm9kZXMiLCJBdXRvTGlua05vZGUiLCJpbnZhcmlhbnQiLCJvbkNoYW5nZVdyYXBwZWQiLCJwcmV2VXJsIiwibWVyZ2VSZWdpc3RlciIsInJlZ2lzdGVyTm9kZVRyYW5zZm9ybSIsIlRleHROb2RlIiwicGFyZW50IiwiZ2V0UGFyZW50T3JUaHJvdyIsInByZXZpb3VzIiwiJGlzTGlua05vZGUiLCJVUkxfUkVHRVgiLCJFTUFJTF9SRUdFWCIsIk1BVENIRVJTIiwic3RhcnRzV2l0aCIsInVzZUxleGljYWxDb21wb3NlckNvbnRleHQiXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7SUFpQ2dCQSwyQkFBMkI7ZUFBM0JBOztJQXlZQUMsY0FBYztlQUFkQTs7O3dDQXZhMEI7dUJBQ1o7eUJBVXZCO3VCQUNtQjsyQkFFQTs4QkFDeUM7MEJBQ3RCO0FBY3RDLFNBQVNELDRCQUNkRSxNQUFjLEVBQ2RDLGlCQUEyQyxDQUFDQyxPQUFTQSxJQUFJO0lBRXpELE9BQU8sQ0FBQ0E7UUFDTixNQUFNQyxRQUFRSCxPQUFPSSxJQUFJLENBQUNGO1FBQzFCLElBQUlDLFVBQVUsTUFBTSxPQUFPO1FBQzNCLE9BQU87WUFDTEUsT0FBT0YsTUFBTUUsS0FBSztZQUNsQkMsUUFBUUgsS0FBSyxDQUFDLEVBQUUsQ0FBQ0csTUFBTTtZQUN2QkosTUFBTUMsS0FBSyxDQUFDLEVBQUU7WUFDZEksS0FBS04sZUFBZUUsS0FBSyxDQUFDLEVBQUU7UUFDOUI7SUFDRjtBQUNGO0FBRUEsU0FBU0ssZUFBZU4sSUFBWSxFQUFFTyxRQUF1QjtJQUMzRCxJQUFLLElBQUlDLElBQUksR0FBR0EsSUFBSUQsU0FBU0gsTUFBTSxFQUFFSSxJQUFLO1FBQ3hDLE1BQU1QLFFBQVFNLFFBQVEsQ0FBQ0MsRUFBRSxDQUFDUjtRQUUxQixJQUFJQyxTQUFTLE1B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
@@ -1 +1 @@
1
- {"version":3,"file":"populationPromise.d.ts","sourceRoot":"","sources":["../../../../src/field/features/Link/populationPromise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,GAAG,CAAA;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAK1D,eAAO,MAAM,wBAAwB,UAC5B,gBAAgB,KACtB,kBAAkB,kBAAkB,CAmDtC,CAAA"}
1
+ {"version":3,"file":"populationPromise.d.ts","sourceRoot":"","sources":["../../../../src/field/features/Link/populationPromise.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,GAAG,CAAA;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAK1D,eAAO,MAAM,wBAAwB,UAC5B,gBAAgB,KACtB,kBAAkB,kBAAkB,CA4DtC,CAAA"}