@payloadcms/richtext-slate 3.0.0-alpha.2 → 3.0.0-alpha.21

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 (132) hide show
  1. package/dist/cell/index.js +4 -19
  2. package/dist/data/defaultValue.js +2 -12
  3. package/dist/data/populate.js +2 -12
  4. package/dist/data/recurseNestedFields.js +12 -22
  5. package/dist/data/richTextRelationshipPromise.js +9 -27
  6. package/dist/data/validation.js +4 -14
  7. package/dist/field/RichText.js +73 -129
  8. package/dist/field/createFeatureMap.js +2 -12
  9. package/dist/field/elements/Button.js +16 -80
  10. package/dist/field/elements/EnabledRelationshipsCondition.js +8 -59
  11. package/dist/field/elements/ListButton.js +13 -77
  12. package/dist/field/elements/areAllChildrenElements.js +4 -14
  13. package/dist/field/elements/blockquote/Blockquote.js +7 -22
  14. package/dist/field/elements/blockquote/index.js +9 -24
  15. package/dist/field/elements/getCommonBlock.js +9 -19
  16. package/dist/field/elements/h1/Heading1.js +6 -21
  17. package/dist/field/elements/h1/index.js +9 -24
  18. package/dist/field/elements/h2/Heading2.js +6 -21
  19. package/dist/field/elements/h2/index.js +9 -24
  20. package/dist/field/elements/h3/Heading3.js +6 -21
  21. package/dist/field/elements/h3/index.js +9 -24
  22. package/dist/field/elements/h4/Heading4.js +6 -21
  23. package/dist/field/elements/h4/index.js +9 -24
  24. package/dist/field/elements/h5/Heading5.js +6 -21
  25. package/dist/field/elements/h5/index.js +9 -24
  26. package/dist/field/elements/h6/Heading6.js +6 -21
  27. package/dist/field/elements/h6/index.js +9 -24
  28. package/dist/field/elements/indent/Button.js +60 -115
  29. package/dist/field/elements/indent/Element.js +6 -21
  30. package/dist/field/elements/indent/index.js +8 -18
  31. package/dist/field/elements/indent/shared.js +2 -12
  32. package/dist/field/elements/index.js +32 -47
  33. package/dist/field/elements/injectVoid.js +12 -22
  34. package/dist/field/elements/isActive.js +6 -16
  35. package/dist/field/elements/isBlockElement.js +9 -14
  36. package/dist/field/elements/isLastSelectedElementEmpty.js +8 -18
  37. package/dist/field/elements/isListActive.js +8 -18
  38. package/dist/field/elements/isWithinListItem.js +5 -15
  39. package/dist/field/elements/li/ListItem.js +9 -65
  40. package/dist/field/elements/li/index.js +4 -14
  41. package/dist/field/elements/link/Button/index.js +41 -97
  42. package/dist/field/elements/link/Element/index.js +53 -104
  43. package/dist/field/elements/link/LinkDrawer/baseFields.js +4 -14
  44. package/dist/field/elements/link/LinkDrawer/index.js +25 -76
  45. package/dist/field/elements/link/LinkDrawer/types.d.ts +2 -1
  46. package/dist/field/elements/link/LinkDrawer/types.d.ts.map +1 -1
  47. package/dist/field/elements/link/LinkDrawer/types.js +2 -5
  48. package/dist/field/elements/link/WithLinks.js +4 -14
  49. package/dist/field/elements/link/index.js +8 -18
  50. package/dist/field/elements/link/shared.js +3 -21
  51. package/dist/field/elements/link/types.js +2 -5
  52. package/dist/field/elements/link/utilities.js +15 -34
  53. package/dist/field/elements/listTypes.js +2 -12
  54. package/dist/field/elements/ol/OrderedList.js +7 -22
  55. package/dist/field/elements/ol/index.js +9 -24
  56. package/dist/field/elements/relationship/Button/index.js +22 -78
  57. package/dist/field/elements/relationship/Element/index.js +45 -96
  58. package/dist/field/elements/relationship/index.js +10 -25
  59. package/dist/field/elements/relationship/plugin.js +6 -16
  60. package/dist/field/elements/relationship/shared.js +2 -12
  61. package/dist/field/elements/relationship/types.js +2 -5
  62. package/dist/field/elements/textAlign/index.js +11 -26
  63. package/dist/field/elements/toggle.js +13 -28
  64. package/dist/field/elements/toggleList.js +27 -42
  65. package/dist/field/elements/types.js +2 -5
  66. package/dist/field/elements/ul/UnorderedList.js +7 -22
  67. package/dist/field/elements/ul/index.js +9 -24
  68. package/dist/field/elements/unwrapList.js +13 -28
  69. package/dist/field/elements/upload/Button/index.js +21 -77
  70. package/dist/field/elements/upload/Element/UploadDrawer/index.js +33 -84
  71. package/dist/field/elements/upload/Element/index.js +57 -108
  72. package/dist/field/elements/upload/index.js +10 -25
  73. package/dist/field/elements/upload/plugin.js +6 -16
  74. package/dist/field/elements/upload/shared.js +3 -21
  75. package/dist/field/elements/upload/types.js +2 -5
  76. package/dist/field/enablePlugins.js +8 -23
  77. package/dist/field/hotkeys.js +2 -12
  78. package/dist/field/icons/AlignCenter/index.js +5 -20
  79. package/dist/field/icons/AlignLeft/index.js +5 -20
  80. package/dist/field/icons/AlignRight/index.js +5 -20
  81. package/dist/field/icons/Blockquote/index.js +6 -21
  82. package/dist/field/icons/Bold/index.js +6 -21
  83. package/dist/field/icons/Code/index.js +5 -20
  84. package/dist/field/icons/IndentLeft/index.js +9 -24
  85. package/dist/field/icons/IndentRight/index.js +9 -24
  86. package/dist/field/icons/Italic/index.js +6 -21
  87. package/dist/field/icons/Link/index.js +7 -22
  88. package/dist/field/icons/OrderedList/index.js +6 -21
  89. package/dist/field/icons/Relationship/index.js +8 -23
  90. package/dist/field/icons/Strikethrough/index.js +6 -21
  91. package/dist/field/icons/Underline/index.js +6 -21
  92. package/dist/field/icons/UnorderedList/index.js +6 -21
  93. package/dist/field/icons/Upload/index.js +7 -22
  94. package/dist/field/icons/headings/H1/index.js +6 -21
  95. package/dist/field/icons/headings/H2/index.js +6 -21
  96. package/dist/field/icons/headings/H3/index.js +6 -21
  97. package/dist/field/icons/headings/H4/index.js +6 -21
  98. package/dist/field/icons/headings/H5/index.js +6 -21
  99. package/dist/field/icons/headings/H6/index.js +6 -21
  100. package/dist/field/icons/headings/index.js +14 -29
  101. package/dist/field/index.d.ts.map +1 -1
  102. package/dist/field/index.js +20 -72
  103. package/dist/field/leaves/Button.js +11 -26
  104. package/dist/field/leaves/bold/Bold/index.js +6 -21
  105. package/dist/field/leaves/bold/index.js +9 -24
  106. package/dist/field/leaves/code/Code/index.js +6 -21
  107. package/dist/field/leaves/code/index.js +9 -24
  108. package/dist/field/leaves/index.js +12 -27
  109. package/dist/field/leaves/isActive.js +4 -14
  110. package/dist/field/leaves/italic/Italic/index.js +6 -21
  111. package/dist/field/leaves/italic/index.js +9 -24
  112. package/dist/field/leaves/strikethrough/Strikethrough/index.js +6 -21
  113. package/dist/field/leaves/strikethrough/index.js +9 -24
  114. package/dist/field/leaves/toggle.js +7 -22
  115. package/dist/field/leaves/underline/Underline/index.js +6 -21
  116. package/dist/field/leaves/underline/index.js +9 -24
  117. package/dist/field/mergeCustomFunctions.js +3 -13
  118. package/dist/field/plugins/withEnterBreakOut.js +2 -12
  119. package/dist/field/plugins/withHTML.js +8 -18
  120. package/dist/field/providers/ElementButtonProvider.js +7 -30
  121. package/dist/field/providers/ElementProvider.js +7 -30
  122. package/dist/field/providers/LeafButtonProvider.js +7 -30
  123. package/dist/field/providers/LeafProvider.js +7 -30
  124. package/dist/field/types.js +2 -5
  125. package/dist/generateComponentMap.d.ts.map +1 -1
  126. package/dist/generateComponentMap.js +34 -51
  127. package/dist/generateSchemaMap.js +19 -34
  128. package/dist/index.js +20 -52
  129. package/dist/scss/toastify.scss +0 -1
  130. package/dist/types.js +2 -12
  131. package/dist/utilities/useSlatePlugin.js +6 -16
  132. package/package.json +15 -8
@@ -1,83 +1,32 @@
1
1
  'use client';
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "UploadDrawer", {
7
- enumerable: true,
8
- get: function() {
9
- return UploadDrawer;
10
- }
11
- });
12
- const _modal = require("@faceless-ui/modal");
13
- const _translations = require("@payloadcms/translations");
14
- const _ui = require("@payloadcms/ui");
15
- const _forms = require("@payloadcms/ui/forms");
16
- const _utilities = require("payload/utilities");
17
- const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
18
- const _slate = require("slate");
19
- const _slatereact = require("slate-react");
20
- const _shared = require("../../shared");
21
- function _getRequireWildcardCache(nodeInterop) {
22
- if (typeof WeakMap !== "function") return null;
23
- var cacheBabelInterop = new WeakMap();
24
- var cacheNodeInterop = new WeakMap();
25
- return (_getRequireWildcardCache = function(nodeInterop) {
26
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
27
- })(nodeInterop);
28
- }
29
- function _interop_require_wildcard(obj, nodeInterop) {
30
- if (!nodeInterop && obj && obj.__esModule) {
31
- return obj;
32
- }
33
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
34
- return {
35
- default: obj
36
- };
37
- }
38
- var cache = _getRequireWildcardCache(nodeInterop);
39
- if (cache && cache.has(obj)) {
40
- return cache.get(obj);
41
- }
42
- var newObj = {
43
- __proto__: null
44
- };
45
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
46
- for(var key in obj){
47
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
48
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
49
- if (desc && (desc.get || desc.set)) {
50
- Object.defineProperty(newObj, key, desc);
51
- } else {
52
- newObj[key] = obj[key];
53
- }
54
- }
55
- }
56
- newObj.default = obj;
57
- if (cache) {
58
- cache.set(obj, newObj);
59
- }
60
- return newObj;
61
- }
62
- const UploadDrawer = (props)=>{
63
- const editor = (0, _slatereact.useSlateStatic)();
2
+ import { useModal } from '@faceless-ui/modal';
3
+ import { getTranslation } from '@payloadcms/translations';
4
+ import { Drawer, Form, FormSubmit, RenderFields, getFormState, useAuth, useConfig, useDocumentInfo, useLocale, useTranslation } from '@payloadcms/ui';
5
+ import { FieldPathProvider } from '@payloadcms/ui/forms';
6
+ import { deepCopyObject } from 'payload/utilities';
7
+ import React, { useCallback, useEffect, useState } from 'react';
8
+ import { Transforms } from 'slate';
9
+ import { ReactEditor, useSlateStatic } from 'slate-react';
10
+ import { uploadFieldsSchemaPath } from '../../shared';
11
+ export const UploadDrawer = (props)=>{
12
+ const editor = useSlateStatic();
64
13
  const { drawerSlug, element, fieldProps, relatedCollection, schemaPath } = props;
65
- const { i18n, t } = (0, _ui.useTranslation)();
66
- const { code: locale } = (0, _ui.useLocale)();
67
- const { user } = (0, _ui.useAuth)();
68
- const { closeModal } = (0, _modal.useModal)();
69
- const { id, collectionSlug } = (0, _ui.useDocumentInfo)();
70
- const [initialState, setInitialState] = (0, _react.useState)({});
14
+ const { i18n, t } = useTranslation();
15
+ const { code: locale } = useLocale();
16
+ const { user } = useAuth();
17
+ const { closeModal } = useModal();
18
+ const { id, collectionSlug } = useDocumentInfo();
19
+ const [initialState, setInitialState] = useState({});
71
20
  const { richTextComponentMap } = fieldProps;
72
- const relatedFieldSchemaPath = `${_shared.uploadFieldsSchemaPath}.${relatedCollection.slug}`;
21
+ const relatedFieldSchemaPath = `${uploadFieldsSchemaPath}.${relatedCollection.slug}`;
73
22
  const fieldMap = richTextComponentMap.get(relatedFieldSchemaPath);
74
- const config = (0, _ui.useConfig)();
75
- const handleUpdateEditData = (0, _react.useCallback)((_, data)=>{
23
+ const config = useConfig();
24
+ const handleUpdateEditData = useCallback((_, data)=>{
76
25
  const newNode = {
77
26
  fields: data
78
27
  };
79
- const elementPath = _slatereact.ReactEditor.findPath(editor, element);
80
- _slate.Transforms.setNodes(editor, newNode, {
28
+ const elementPath = ReactEditor.findPath(editor, element);
29
+ Transforms.setNodes(editor, newNode, {
81
30
  at: elementPath
82
31
  });
83
32
  closeModal(drawerSlug);
@@ -87,17 +36,17 @@ const UploadDrawer = (props)=>{
87
36
  element,
88
37
  drawerSlug
89
38
  ]);
90
- (0, _react.useEffect)(()=>{
91
- const data = (0, _utilities.deepCopyObject)(element?.fields || {});
39
+ useEffect(()=>{
40
+ const data = deepCopyObject(element?.fields || {});
92
41
  const awaitInitialState = async ()=>{
93
- const state = await (0, _ui.getFormState)({
42
+ const state = await getFormState({
94
43
  apiRoute: config.routes.api,
95
44
  body: {
96
45
  id,
97
46
  collectionSlug,
98
47
  data,
99
48
  operation: 'update',
100
- schemaPath: `${schemaPath}.${_shared.uploadFieldsSchemaPath}.${relatedCollection.slug}`
49
+ schemaPath: `${schemaPath}.${uploadFieldsSchemaPath}.${relatedCollection.slug}`
101
50
  },
102
51
  serverURL: config.serverURL
103
52
  });
@@ -115,20 +64,20 @@ const UploadDrawer = (props)=>{
115
64
  schemaPath,
116
65
  relatedCollection.slug
117
66
  ]);
118
- return /*#__PURE__*/ _react.default.createElement(_ui.Drawer, {
67
+ return /*#__PURE__*/ React.createElement(Drawer, {
119
68
  slug: drawerSlug,
120
69
  title: t('general:editLabel', {
121
- label: (0, _translations.getTranslation)(relatedCollection.labels.singular, i18n)
70
+ label: getTranslation(relatedCollection.labels.singular, i18n)
122
71
  })
123
- }, /*#__PURE__*/ _react.default.createElement(_forms.FieldPathProvider, {
72
+ }, /*#__PURE__*/ React.createElement(FieldPathProvider, {
124
73
  path: "",
125
74
  schemaPath: ""
126
- }, /*#__PURE__*/ _react.default.createElement(_ui.Form, {
75
+ }, /*#__PURE__*/ React.createElement(Form, {
127
76
  initialState: initialState,
128
77
  onSubmit: handleUpdateEditData
129
- }, /*#__PURE__*/ _react.default.createElement(_ui.RenderFields, {
78
+ }, /*#__PURE__*/ React.createElement(RenderFields, {
130
79
  fieldMap: Array.isArray(fieldMap) ? fieldMap : []
131
- }), /*#__PURE__*/ _react.default.createElement(_ui.FormSubmit, null, t('fields:saveChanges')))));
80
+ }), /*#__PURE__*/ React.createElement(FormSubmit, null, t('fields:saveChanges')))));
132
81
  };
133
82
 
134
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9lbGVtZW50cy91cGxvYWQvRWxlbWVudC9VcGxvYWREcmF3ZXIvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgdHlwZSB7IEZvcm1GaWVsZEJhc2UgfSBmcm9tICdAcGF5bG9hZGNtcy91aS90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IHVzZU1vZGFsIH0gZnJvbSAnQGZhY2VsZXNzLXVpL21vZGFsJ1xuaW1wb3J0IHsgZ2V0VHJhbnNsYXRpb24gfSBmcm9tICdAcGF5bG9hZGNtcy90cmFuc2xhdGlvbnMnXG5pbXBvcnQge1xuICBEcmF3ZXIsXG4gIEZvcm0sXG4gIEZvcm1TdWJtaXQsXG4gIFJlbmRlckZpZWxkcyxcbiAgZ2V0Rm9ybVN0YXRlLFxuICB1c2VBdXRoLFxuICB1c2VDb25maWcsXG4gIHVzZURvY3VtZW50SW5mbyxcbiAgdXNlTG9jYWxlLFxuICB1c2VUcmFuc2xhdGlvbixcbn0gZnJvbSAnQHBheWxvYWRjbXMvdWknXG5pbXBvcnQgeyBGaWVsZFBhdGhQcm92aWRlciB9IGZyb20gJ0BwYXlsb2FkY21zL3VpL2Zvcm1zJ1xuaW1wb3J0IHsgZGVlcENvcHlPYmplY3QgfSBmcm9tICdwYXlsb2FkL3V0aWxpdGllcydcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgVHJhbnNmb3JtcyB9IGZyb20gJ3NsYXRlJ1xuaW1wb3J0IHsgUmVhY3RFZGl0b3IsIHVzZVNsYXRlU3RhdGljIH0gZnJvbSAnc2xhdGUtcmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgVXBsb2FkRWxlbWVudFR5cGUgfSBmcm9tICcuLi8uLi90eXBlcydcblxuaW1wb3J0IHsgdXBsb2FkRmllbGRzU2NoZW1hUGF0aCB9IGZyb20gJy4uLy4uL3NoYXJlZCdcblxuZXhwb3J0IGNvbnN0IFVwbG9hZERyYXdlcjogUmVhY3QuRkM8e1xuICBkcmF3ZXJTbHVnOiBzdHJpbmdcbiAgZWxlbWVudDogVXBsb2FkRWxlbWVudFR5cGVcbiAgZmllbGRQcm9wczogRm9ybUZpZWxkQmFzZSAmIHtcbiAgICBuYW1lOiBzdHJpbmdcbiAgICByaWNoVGV4dENvbXBvbmVudE1hcDogTWFwPHN0cmluZywgUmVhY3QuUmVhY3ROb2RlPlxuICB9XG4gIHJlbGF0ZWRDb2xsZWN0aW9uOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnXG4gIHNjaGVtYVBhdGg6IHN0cmluZ1xufT4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgZWRpdG9yID0gdXNlU2xhdGVTdGF0aWMoKVxuXG4gIGNvbnN0IHsgZHJhd2VyU2x1ZywgZWxlbWVudCwgZmllbGRQcm9wcywgcmVsYXRlZENvbGxlY3Rpb24sIHNjaGVtYVBhdGggfSA9IHByb3BzXG5cbiAgY29uc3QgeyBpMThuLCB0IH0gPSB1c2VUcmFuc2xhdGlvbigpXG4gIGNvbnN0IHsgY29kZTogbG9jYWxlIH0gPSB1c2VMb2NhbGUoKVxuICBjb25zdCB7IHVzZXIgfSA9IHVzZUF1dGgoKVxuICBjb25zdCB7IGNsb3NlTW9kYWwgfSA9IHVzZU1vZGFsKClcbiAgY29uc3QgeyBpZCwgY29sbGVjdGlvblNsdWcgfSA9IHVzZURvY3VtZW50SW5mbygpXG4gIGNvbnN0IFtpbml0aWFsU3RhdGUsIHNldEluaXRpYWxTdGF0ZV0gPSB1c2VTdGF0ZSh7fSlcbiAgY29uc3QgeyByaWNoVGV4dENvbXBvbmVudE1hcCB9ID0gZmllbGRQcm9wc1xuXG4gIGNvbnN0IHJlbGF0ZWRGaWVsZFNjaGVtYVBhdGggPSBgJHt1cGxvYWRGaWVsZHNTY2hlbWFQYXRofS4ke3JlbGF0ZWRDb2xsZWN0aW9uLnNsdWd9YFxuICBjb25zdCBmaWVsZE1hcCA9IHJpY2hUZXh0Q29tcG9uZW50TWFwLmdldChyZWxhdGVkRmllbGRTY2hlbWFQYXRoKVxuXG4gIGNvbnN0IGNvbmZpZyA9IHVzZUNvbmZpZygpXG5cbiAgY29uc3QgaGFuZGxlVXBkYXRlRWRpdERhdGEgPSB1c2VDYWxsYmFjayhcbiAgICAoXywgZGF0YSkgPT4ge1xuICAgICAgY29uc3QgbmV3Tm9kZSA9IHtcbiAgICAgICAgZmllbGRzOiBkYXRhLFxuICAgICAgfVxuXG4gICAgICBjb25zdCBlbGVtZW50UGF0aCA9IFJlYWN0RWRpdG9yLmZpbmRQYXRoKGVkaXRvciwgZWxlbWVudClcblxuICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhlZGl0b3IsIG5ld05vZGUsIHsgYXQ6IGVsZW1lbnRQYXRoIH0pXG4gICAgICBjbG9zZU1vZGFsKGRyYXdlclNsdWcpXG4gICAgfSxcbiAgICBbY2xvc2VNb2RhbCwgZWRpdG9yLCBlbGVtZW50LCBkcmF3ZXJTbHVnXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgZGF0YSA9IGRlZXBDb3B5T2JqZWN0KGVsZW1lbnQ/LmZpZWxkcyB8fCB7fSlcblxuICAgIGNvbnN0IGF3YWl0SW5pdGlhbFN0YXRlID0gYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3Qgc3RhdGUgPSBhd2FpdCBnZXRGb3JtU3RhdGUoe1xuICAgICAgICBhcGlSb3V0ZTogY29uZmlnLnJvdXRlcy5hcGksXG4gICAgICAgIGJvZHk6IHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBjb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIG9wZXJhdGlvbjogJ3VwZGF0ZScsXG4gICAgICAgICAgc2NoZW1hUGF0aDogYCR7c2NoZW1hUGF0aH0uJHt1cGxvYWRGaWVsZHNTY2hlbWFQYXRofS4ke3JlbGF0ZWRDb2xsZWN0aW9uLnNsdWd9YCxcbiAgICAgICAgfSxcbiAgICAgICAgc2VydmVyVVJMOiBjb25maWcuc2VydmVyVVJMLFxuICAgICAgfSlcblxuICAgICAgc2V0SW5pdGlhbFN0YXRlKHN0YXRlKVxuICAgIH1cblxuICAgIHZvaWQgYXdhaXRJbml0aWFsU3RhdGUoKVxuICB9LCBbXG4gICAgY29uZmlnLFxuICAgIGVsZW1lbnQ/LmZpZWxkcyxcbiAgICB1c2VyLFxuICAgIGxvY2FsZSxcbiAgICB0LFxuICAgIGNvbGxlY3Rpb25TbHVnLFxuICAgIGlkLFxuICAgIHNjaGVtYVBhdGgsXG4gICAgcmVsYXRlZENvbGxlY3Rpb24uc2x1ZyxcbiAgXSlcblxuICByZXR1cm4gKFxuICAgIDxEcmF3ZXJcbiAgICAgIHNsdWc9e2RyYXdlclNsdWd9XG4gICAgICB0aXRsZT17dCgnZ2VuZXJhbDplZGl0TGFiZWwnLCB7XG4gICAgICAgIGxhYmVsOiBnZXRUcmFuc2xhdGlvbihyZWxhdGVkQ29sbGVjdGlvbi5sYWJlbHMuc2luZ3VsYXIsIGkxOG4pLFxuICAgICAgfSl9XG4gICAgPlxuICAgICAgPEZpZWxkUGF0aFByb3ZpZGVyIHBhdGg9XCJcIiBzY2hlbWFQYXRoPVwiXCI+XG4gICAgICAgIDxGb3JtIGluaXRpYWxTdGF0ZT17aW5pdGlhbFN0YXRlfSBvblN1Ym1pdD17aGFuZGxlVXBkYXRlRWRpdERhdGF9PlxuICAgICAgICAgIDxSZW5kZXJGaWVsZHMgZmllbGRNYXA9e0FycmF5LmlzQXJyYXkoZmllbGRNYXApID8gZmllbGRNYXAgOiBbXX0gLz5cbiAgICAgICAgICA8Rm9ybVN1Ym1pdD57dCgnZmllbGRzOnNhdmVDaGFuZ2VzJyl9PC9Gb3JtU3VibWl0PlxuICAgICAgICA8L0Zvcm0+XG4gICAgICA8L0ZpZWxkUGF0aFByb3ZpZGVyPlxuICAgIDwvRHJhd2VyPlxuICApXG59XG4iXSwibmFtZXMiOlsiVXBsb2FkRHJhd2VyIiwicHJvcHMiLCJlZGl0b3IiLCJ1c2VTbGF0ZVN0YXRpYyIsImRyYXdlclNsdWciLCJlbGVtZW50IiwiZmllbGRQcm9wcyIsInJlbGF0ZWRDb2xsZWN0aW9uIiwic2NoZW1hUGF0aCIsImkxOG4iLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJjb2RlIiwibG9jYWxlIiwidXNlTG9jYWxlIiwidXNlciIsInVzZUF1dGgiLCJjbG9zZU1vZGFsIiwidXNlTW9kYWwiLCJpZCIsImNvbGxlY3Rpb25TbHVnIiwidXNlRG9jdW1lbnRJbmZvIiwiaW5pdGlhbFN0YXRlIiwic2V0SW5pdGlhbFN0YXRlIiwidXNlU3RhdGUiLCJyaWNoVGV4dENvbXBvbmVudE1hcCIsInJlbGF0ZWRGaWVsZFNjaGVtYVBhdGgiLCJ1cGxvYWRGaWVsZHNTY2hlbWFQYXRoIiwic2x1ZyIsImZpZWxkTWFwIiwiZ2V0IiwiY29uZmlnIiwidXNlQ29uZmlnIiwiaGFuZGxlVXBkYXRlRWRpdERhdGEiLCJ1c2VDYWxsYmFjayIsIl8iLCJkYXRhIiwibmV3Tm9kZSIsImZpZWxkcyIsImVsZW1lbnRQYXRoIiwiUmVhY3RFZGl0b3IiLCJmaW5kUGF0aCIsIlRyYW5zZm9ybXMiLCJzZXROb2RlcyIsImF0IiwidXNlRWZmZWN0IiwiZGVlcENvcHlPYmplY3QiLCJhd2FpdEluaXRpYWxTdGF0ZSIsInN0YXRlIiwiZ2V0Rm9ybVN0YXRlIiwiYXBpUm91dGUiLCJyb3V0ZXMiLCJhcGkiLCJib2R5Iiwib3BlcmF0aW9uIiwic2VydmVyVVJMIiwiRHJhd2VyIiwidGl0bGUiLCJsYWJlbCIsImdldFRyYW5zbGF0aW9uIiwibGFiZWxzIiwic2luZ3VsYXIiLCJGaWVsZFBhdGhQcm92aWRlciIsInBhdGgiLCJGb3JtIiwib25TdWJtaXQiLCJSZW5kZXJGaWVsZHMiLCJBcnJheSIsImlzQXJyYXkiLCJGb3JtU3VibWl0Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7K0JBNkJhQTs7O2VBQUFBOzs7dUJBeEJZOzhCQUNNO29CQVl4Qjt1QkFDMkI7MkJBQ0g7K0RBQ3lCO3VCQUM3Qjs0QkFDaUI7d0JBSUw7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVoQyxNQUFNQSxlQVNSLENBQUNDO0lBQ0osTUFBTUMsU0FBU0MsSUFBQUEsMEJBQWM7SUFFN0IsTUFBTSxFQUFFQyxVQUFVLEVBQUVDLE9BQU8sRUFBRUMsVUFBVSxFQUFFQyxpQkFB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
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9lbGVtZW50cy91cGxvYWQvRWxlbWVudC9VcGxvYWREcmF3ZXIvaW5kZXgudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIid1c2UgY2xpZW50J1xuXG5pbXBvcnQgdHlwZSB7IEZvcm1GaWVsZEJhc2UgfSBmcm9tICdAcGF5bG9hZGNtcy91aS90eXBlcydcbmltcG9ydCB0eXBlIHsgU2FuaXRpemVkQ29sbGVjdGlvbkNvbmZpZyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IHVzZU1vZGFsIH0gZnJvbSAnQGZhY2VsZXNzLXVpL21vZGFsJ1xuaW1wb3J0IHsgZ2V0VHJhbnNsYXRpb24gfSBmcm9tICdAcGF5bG9hZGNtcy90cmFuc2xhdGlvbnMnXG5pbXBvcnQge1xuICBEcmF3ZXIsXG4gIEZvcm0sXG4gIEZvcm1TdWJtaXQsXG4gIFJlbmRlckZpZWxkcyxcbiAgZ2V0Rm9ybVN0YXRlLFxuICB1c2VBdXRoLFxuICB1c2VDb25maWcsXG4gIHVzZURvY3VtZW50SW5mbyxcbiAgdXNlTG9jYWxlLFxuICB1c2VUcmFuc2xhdGlvbixcbn0gZnJvbSAnQHBheWxvYWRjbXMvdWknXG5pbXBvcnQgeyBGaWVsZFBhdGhQcm92aWRlciB9IGZyb20gJ0BwYXlsb2FkY21zL3VpL2Zvcm1zJ1xuaW1wb3J0IHsgZGVlcENvcHlPYmplY3QgfSBmcm9tICdwYXlsb2FkL3V0aWxpdGllcydcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgVHJhbnNmb3JtcyB9IGZyb20gJ3NsYXRlJ1xuaW1wb3J0IHsgUmVhY3RFZGl0b3IsIHVzZVNsYXRlU3RhdGljIH0gZnJvbSAnc2xhdGUtcmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgVXBsb2FkRWxlbWVudFR5cGUgfSBmcm9tICcuLi8uLi90eXBlcydcblxuaW1wb3J0IHsgdXBsb2FkRmllbGRzU2NoZW1hUGF0aCB9IGZyb20gJy4uLy4uL3NoYXJlZCdcblxuZXhwb3J0IGNvbnN0IFVwbG9hZERyYXdlcjogUmVhY3QuRkM8e1xuICBkcmF3ZXJTbHVnOiBzdHJpbmdcbiAgZWxlbWVudDogVXBsb2FkRWxlbWVudFR5cGVcbiAgZmllbGRQcm9wczogRm9ybUZpZWxkQmFzZSAmIHtcbiAgICBuYW1lOiBzdHJpbmdcbiAgICByaWNoVGV4dENvbXBvbmVudE1hcDogTWFwPHN0cmluZywgUmVhY3QuUmVhY3ROb2RlPlxuICB9XG4gIHJlbGF0ZWRDb2xsZWN0aW9uOiBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnXG4gIHNjaGVtYVBhdGg6IHN0cmluZ1xufT4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgZWRpdG9yID0gdXNlU2xhdGVTdGF0aWMoKVxuXG4gIGNvbnN0IHsgZHJhd2VyU2x1ZywgZWxlbWVudCwgZmllbGRQcm9wcywgcmVsYXRlZENvbGxlY3Rpb24sIHNjaGVtYVBhdGggfSA9IHByb3BzXG5cbiAgY29uc3QgeyBpMThuLCB0IH0gPSB1c2VUcmFuc2xhdGlvbigpXG4gIGNvbnN0IHsgY29kZTogbG9jYWxlIH0gPSB1c2VMb2NhbGUoKVxuICBjb25zdCB7IHVzZXIgfSA9IHVzZUF1dGgoKVxuICBjb25zdCB7IGNsb3NlTW9kYWwgfSA9IHVzZU1vZGFsKClcbiAgY29uc3QgeyBpZCwgY29sbGVjdGlvblNsdWcgfSA9IHVzZURvY3VtZW50SW5mbygpXG4gIGNvbnN0IFtpbml0aWFsU3RhdGUsIHNldEluaXRpYWxTdGF0ZV0gPSB1c2VTdGF0ZSh7fSlcbiAgY29uc3QgeyByaWNoVGV4dENvbXBvbmVudE1hcCB9ID0gZmllbGRQcm9wc1xuXG4gIGNvbnN0IHJlbGF0ZWRGaWVsZFNjaGVtYVBhdGggPSBgJHt1cGxvYWRGaWVsZHNTY2hlbWFQYXRofS4ke3JlbGF0ZWRDb2xsZWN0aW9uLnNsdWd9YFxuICBjb25zdCBmaWVsZE1hcCA9IHJpY2hUZXh0Q29tcG9uZW50TWFwLmdldChyZWxhdGVkRmllbGRTY2hlbWFQYXRoKVxuXG4gIGNvbnN0IGNvbmZpZyA9IHVzZUNvbmZpZygpXG5cbiAgY29uc3QgaGFuZGxlVXBkYXRlRWRpdERhdGEgPSB1c2VDYWxsYmFjayhcbiAgICAoXywgZGF0YSkgPT4ge1xuICAgICAgY29uc3QgbmV3Tm9kZSA9IHtcbiAgICAgICAgZmllbGRzOiBkYXRhLFxuICAgICAgfVxuXG4gICAgICBjb25zdCBlbGVtZW50UGF0aCA9IFJlYWN0RWRpdG9yLmZpbmRQYXRoKGVkaXRvciwgZWxlbWVudClcblxuICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhlZGl0b3IsIG5ld05vZGUsIHsgYXQ6IGVsZW1lbnRQYXRoIH0pXG4gICAgICBjbG9zZU1vZGFsKGRyYXdlclNsdWcpXG4gICAgfSxcbiAgICBbY2xvc2VNb2RhbCwgZWRpdG9yLCBlbGVtZW50LCBkcmF3ZXJTbHVnXSxcbiAgKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgZGF0YSA9IGRlZXBDb3B5T2JqZWN0KGVsZW1lbnQ/LmZpZWxkcyB8fCB7fSlcblxuICAgIGNvbnN0IGF3YWl0SW5pdGlhbFN0YXRlID0gYXN5bmMgKCkgPT4ge1xuICAgICAgY29uc3Qgc3RhdGUgPSBhd2FpdCBnZXRGb3JtU3RhdGUoe1xuICAgICAgICBhcGlSb3V0ZTogY29uZmlnLnJvdXRlcy5hcGksXG4gICAgICAgIGJvZHk6IHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBjb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgICBkYXRhLFxuICAgICAgICAgIG9wZXJhdGlvbjogJ3VwZGF0ZScsXG4gICAgICAgICAgc2NoZW1hUGF0aDogYCR7c2NoZW1hUGF0aH0uJHt1cGxvYWRGaWVsZHNTY2hlbWFQYXRofS4ke3JlbGF0ZWRDb2xsZWN0aW9uLnNsdWd9YCxcbiAgICAgICAgfSxcbiAgICAgICAgc2VydmVyVVJMOiBjb25maWcuc2VydmVyVVJMLFxuICAgICAgfSlcblxuICAgICAgc2V0SW5pdGlhbFN0YXRlKHN0YXRlKVxuICAgIH1cblxuICAgIHZvaWQgYXdhaXRJbml0aWFsU3RhdGUoKVxuICB9LCBbXG4gICAgY29uZmlnLFxuICAgIGVsZW1lbnQ/LmZpZWxkcyxcbiAgICB1c2VyLFxuICAgIGxvY2FsZSxcbiAgICB0LFxuICAgIGNvbGxlY3Rpb25TbHVnLFxuICAgIGlkLFxuICAgIHNjaGVtYVBhdGgsXG4gICAgcmVsYXRlZENvbGxlY3Rpb24uc2x1ZyxcbiAgXSlcblxuICByZXR1cm4gKFxuICAgIDxEcmF3ZXJcbiAgICAgIHNsdWc9e2RyYXdlclNsdWd9XG4gICAgICB0aXRsZT17dCgnZ2VuZXJhbDplZGl0TGFiZWwnLCB7XG4gICAgICAgIGxhYmVsOiBnZXRUcmFuc2xhdGlvbihyZWxhdGVkQ29sbGVjdGlvbi5sYWJlbHMuc2luZ3VsYXIsIGkxOG4pLFxuICAgICAgfSl9XG4gICAgPlxuICAgICAgPEZpZWxkUGF0aFByb3ZpZGVyIHBhdGg9XCJcIiBzY2hlbWFQYXRoPVwiXCI+XG4gICAgICAgIDxGb3JtIGluaXRpYWxTdGF0ZT17aW5pdGlhbFN0YXRlfSBvblN1Ym1pdD17aGFuZGxlVXBkYXRlRWRpdERhdGF9PlxuICAgICAgICAgIDxSZW5kZXJGaWVsZHMgZmllbGRNYXA9e0FycmF5LmlzQXJyYXkoZmllbGRNYXApID8gZmllbGRNYXAgOiBbXX0gLz5cbiAgICAgICAgICA8Rm9ybVN1Ym1pdD57dCgnZmllbGRzOnNhdmVDaGFuZ2VzJyl9PC9Gb3JtU3VibWl0PlxuICAgICAgICA8L0Zvcm0+XG4gICAgICA8L0ZpZWxkUGF0aFByb3ZpZGVyPlxuICAgIDwvRHJhd2VyPlxuICApXG59XG4iXSwibmFtZXMiOlsidXNlTW9kYWwiLCJnZXRUcmFuc2xhdGlvbiIsIkRyYXdlciIsIkZvcm0iLCJGb3JtU3VibWl0IiwiUmVuZGVyRmllbGRzIiwiZ2V0Rm9ybVN0YXRlIiwidXNlQXV0aCIsInVzZUNvbmZpZyIsInVzZURvY3VtZW50SW5mbyIsInVzZUxvY2FsZSIsInVzZVRyYW5zbGF0aW9uIiwiRmllbGRQYXRoUHJvdmlkZXIiLCJkZWVwQ29weU9iamVjdCIsIlJlYWN0IiwidXNlQ2FsbGJhY2siLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsIlRyYW5zZm9ybXMiLCJSZWFjdEVkaXRvciIsInVzZVNsYXRlU3RhdGljIiwidXBsb2FkRmllbGRzU2NoZW1hUGF0aCIsIlVwbG9hZERyYXdlciIsInByb3BzIiwiZWRpdG9yIiwiZHJhd2VyU2x1ZyIsImVsZW1lbnQiLCJmaWVsZFByb3BzIiwicmVsYXRlZENvbGxlY3Rpb24iLCJzY2hlbWFQYXRoIiwiaTE4biIsInQiLCJjb2RlIiwibG9jYWxlIiwidXNlciIsImNsb3NlTW9kYWwiLCJpZCIsImNvbGxlY3Rpb25TbHVnIiwiaW5pdGlhbFN0YXRlIiwic2V0SW5pdGlhbFN0YXRlIiwicmljaFRleHRDb21wb25lbnRNYXAiLCJyZWxhdGVkRmllbGRTY2hlbWFQYXRoIiwic2x1ZyIsImZpZWxkTWFwIiwiZ2V0IiwiY29uZmlnIiwiaGFuZGxlVXBkYXRlRWRpdERhdGEiLCJfIiwiZGF0YSIsIm5ld05vZGUiLCJmaWVsZHMiLCJlbGVtZW50UGF0aCIsImZpbmRQYXRoIiwic2V0Tm9kZXMiLCJhdCIsImF3YWl0SW5pdGlhbFN0YXRlIiwic3RhdGUiLCJhcGlSb3V0ZSIsInJvdXRlcyIsImFwaSIsImJvZHkiLCJvcGVyYXRpb24iLCJzZXJ2ZXJVUkwiLCJ0aXRsZSIsImxhYmVsIiwibGFiZWxzIiwic2luZ3VsYXIiLCJwYXRoIiwib25TdWJtaXQiLCJBcnJheSIsImlzQXJyYXkiXSwibWFwcGluZ3MiOiJBQUFBO0FBS0EsU0FBU0EsUUFBUSxRQUFRLHFCQUFvQjtBQUM3QyxTQUFTQyxjQUFjLFFBQVEsMkJBQTBCO0FBQ3pELFNBQ0VDLE1BQU0sRUFDTkMsSUFBSSxFQUNKQyxVQUFVLEVBQ1ZDLFlBQVksRUFDWkMsWUFBWSxFQUNaQyxPQUFPLEVBQ1BDLFNBQVMsRUFDVEMsZUFBZSxFQUNmQyxTQUFTLEVBQ1RDLGNBQWMsUUFDVCxpQkFBZ0I7QUFDdkIsU0FBU0MsaUJBQWlCLFFBQVEsdUJBQXNCO0FBQ3hE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
@@ -1,108 +1,57 @@
1
1
  'use client';
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "default", {
7
- enumerable: true,
8
- get: function() {
9
- return _default;
10
- }
11
- });
12
- const _translations = require("@payloadcms/translations");
13
- const _ui = require("@payloadcms/ui");
14
- const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
15
- const _slate = require("slate");
16
- const _slatereact = require("slate-react");
17
- const _ElementProvider = require("../../../providers/ElementProvider");
18
- const _EnabledRelationshipsCondition = require("../../EnabledRelationshipsCondition");
19
- const _shared = require("../shared");
20
- const _UploadDrawer = require("./UploadDrawer");
21
- require("./index.scss");
22
- function _getRequireWildcardCache(nodeInterop) {
23
- if (typeof WeakMap !== "function") return null;
24
- var cacheBabelInterop = new WeakMap();
25
- var cacheNodeInterop = new WeakMap();
26
- return (_getRequireWildcardCache = function(nodeInterop) {
27
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
28
- })(nodeInterop);
29
- }
30
- function _interop_require_wildcard(obj, nodeInterop) {
31
- if (!nodeInterop && obj && obj.__esModule) {
32
- return obj;
33
- }
34
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
35
- return {
36
- default: obj
37
- };
38
- }
39
- var cache = _getRequireWildcardCache(nodeInterop);
40
- if (cache && cache.has(obj)) {
41
- return cache.get(obj);
42
- }
43
- var newObj = {
44
- __proto__: null
45
- };
46
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
47
- for(var key in obj){
48
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
49
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
50
- if (desc && (desc.get || desc.set)) {
51
- Object.defineProperty(newObj, key, desc);
52
- } else {
53
- newObj[key] = obj[key];
54
- }
55
- }
56
- }
57
- newObj.default = obj;
58
- if (cache) {
59
- cache.set(obj, newObj);
60
- }
61
- return newObj;
62
- }
2
+ import { getTranslation } from '@payloadcms/translations';
3
+ import { Button, DrawerToggler, FileGraphic, useConfig, useDocumentDrawer, useDrawerSlug, useListDrawer, usePayloadAPI, useThumbnail, useTranslation } from '@payloadcms/ui';
4
+ import React, { useCallback, useReducer, useState } from 'react';
5
+ import { Transforms } from 'slate';
6
+ import { ReactEditor, useFocused, useSelected, useSlateStatic } from 'slate-react';
7
+ import { useElement } from '../../../providers/ElementProvider';
8
+ import { EnabledRelationshipsCondition } from '../../EnabledRelationshipsCondition';
9
+ import { uploadFieldsSchemaPath, uploadName } from '../shared';
10
+ import { UploadDrawer } from './UploadDrawer';
11
+ import './index.scss';
63
12
  const baseClass = 'rich-text-upload';
64
13
  const initialParams = {
65
14
  depth: 0
66
15
  };
67
16
  const Element = ({ enabledCollectionSlugs })=>{
68
- const { attributes, children, element: { relationTo, value }, element, fieldProps, schemaPath } = (0, _ElementProvider.useElement)();
69
- const { collections, routes: { api }, serverURL } = (0, _ui.useConfig)();
70
- const { i18n, t } = (0, _ui.useTranslation)();
71
- const [cacheBust, dispatchCacheBust] = (0, _react.useReducer)((state)=>state + 1, 0);
72
- const [relatedCollection, setRelatedCollection] = (0, _react.useState)(()=>collections.find((coll)=>coll.slug === relationTo));
73
- const drawerSlug = (0, _ui.useDrawerSlug)('upload-drawer');
74
- const [ListDrawer, ListDrawerToggler, { closeDrawer: closeListDrawer }] = (0, _ui.useListDrawer)({
17
+ const { attributes, children, element: { relationTo, value }, element, fieldProps, schemaPath } = useElement();
18
+ const { collections, routes: { api }, serverURL } = useConfig();
19
+ const { i18n, t } = useTranslation();
20
+ const [cacheBust, dispatchCacheBust] = useReducer((state)=>state + 1, 0);
21
+ const [relatedCollection, setRelatedCollection] = useState(()=>collections.find((coll)=>coll.slug === relationTo));
22
+ const drawerSlug = useDrawerSlug('upload-drawer');
23
+ const [ListDrawer, ListDrawerToggler, { closeDrawer: closeListDrawer }] = useListDrawer({
75
24
  collectionSlugs: enabledCollectionSlugs,
76
25
  selectedCollection: relatedCollection.slug
77
26
  });
78
- const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer }] = (0, _ui.useDocumentDrawer)({
27
+ const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer }] = useDocumentDrawer({
79
28
  id: value?.id,
80
29
  collectionSlug: relatedCollection.slug
81
30
  });
82
- const editor = (0, _slatereact.useSlateStatic)();
83
- const selected = (0, _slatereact.useSelected)();
84
- const focused = (0, _slatereact.useFocused)();
31
+ const editor = useSlateStatic();
32
+ const selected = useSelected();
33
+ const focused = useFocused();
85
34
  // Get the referenced document
86
- const [{ data }, { setParams }] = (0, _ui.usePayloadAPI)(`${serverURL}${api}/${relatedCollection.slug}/${value?.id}`, {
35
+ const [{ data }, { setParams }] = usePayloadAPI(`${serverURL}${api}/${relatedCollection.slug}/${value?.id}`, {
87
36
  initialParams
88
37
  });
89
- const thumbnailSRC = (0, _ui.useThumbnail)(relatedCollection.slug, relatedCollection.upload, data);
90
- const removeUpload = (0, _react.useCallback)(()=>{
91
- const elementPath = _slatereact.ReactEditor.findPath(editor, element);
92
- _slate.Transforms.removeNodes(editor, {
38
+ const thumbnailSRC = useThumbnail(relatedCollection.slug, relatedCollection.upload, data);
39
+ const removeUpload = useCallback(()=>{
40
+ const elementPath = ReactEditor.findPath(editor, element);
41
+ Transforms.removeNodes(editor, {
93
42
  at: elementPath
94
43
  });
95
44
  }, [
96
45
  editor,
97
46
  element
98
47
  ]);
99
- const updateUpload = (0, _react.useCallback)((json)=>{
48
+ const updateUpload = useCallback((json)=>{
100
49
  const { doc } = json;
101
50
  const newNode = {
102
51
  fields: doc
103
52
  };
104
- const elementPath = _slatereact.ReactEditor.findPath(editor, element);
105
- _slate.Transforms.setNodes(editor, newNode, {
53
+ const elementPath = ReactEditor.findPath(editor, element);
54
+ Transforms.setNodes(editor, newNode, {
106
55
  at: elementPath
107
56
  });
108
57
  setParams({
@@ -118,9 +67,9 @@ const Element = ({ enabledCollectionSlugs })=>{
118
67
  cacheBust,
119
68
  closeDrawer
120
69
  ]);
121
- const swapUpload = _react.default.useCallback(({ collectionSlug, docID })=>{
70
+ const swapUpload = React.useCallback(({ collectionSlug, docID })=>{
122
71
  const newNode = {
123
- type: _shared.uploadName,
72
+ type: uploadName,
124
73
  children: [
125
74
  {
126
75
  text: ' '
@@ -131,9 +80,9 @@ const Element = ({ enabledCollectionSlugs })=>{
131
80
  id: docID
132
81
  }
133
82
  };
134
- const elementPath = _slatereact.ReactEditor.findPath(editor, element);
83
+ const elementPath = ReactEditor.findPath(editor, element);
135
84
  setRelatedCollection(collections.find((coll)=>coll.slug === collectionSlug));
136
- _slate.Transforms.setNodes(editor, newNode, {
85
+ Transforms.setNodes(editor, newNode, {
137
86
  at: elementPath
138
87
  });
139
88
  dispatchCacheBust();
@@ -144,35 +93,35 @@ const Element = ({ enabledCollectionSlugs })=>{
144
93
  element,
145
94
  collections
146
95
  ]);
147
- const relatedFieldSchemaPath = `${_shared.uploadFieldsSchemaPath}.${relatedCollection.slug}`;
96
+ const relatedFieldSchemaPath = `${uploadFieldsSchemaPath}.${relatedCollection.slug}`;
148
97
  const customFieldsMap = fieldProps.richTextComponentMap.get(relatedFieldSchemaPath);
149
- return /*#__PURE__*/ _react.default.createElement("div", {
98
+ return /*#__PURE__*/ React.createElement("div", {
150
99
  className: [
151
100
  baseClass,
152
101
  selected && focused && `${baseClass}--selected`
153
102
  ].filter(Boolean).join(' '),
154
103
  contentEditable: false,
155
104
  ...attributes
156
- }, /*#__PURE__*/ _react.default.createElement("div", {
105
+ }, /*#__PURE__*/ React.createElement("div", {
157
106
  className: `${baseClass}__card`
158
- }, /*#__PURE__*/ _react.default.createElement("div", {
107
+ }, /*#__PURE__*/ React.createElement("div", {
159
108
  className: `${baseClass}__topRow`
160
- }, /*#__PURE__*/ _react.default.createElement("div", {
109
+ }, /*#__PURE__*/ React.createElement("div", {
161
110
  className: `${baseClass}__thumbnail`
162
- }, thumbnailSRC ? /*#__PURE__*/ _react.default.createElement("img", {
111
+ }, thumbnailSRC ? /*#__PURE__*/ React.createElement("img", {
163
112
  alt: data?.filename,
164
113
  src: thumbnailSRC
165
- }) : /*#__PURE__*/ _react.default.createElement(_ui.FileGraphic, null)), /*#__PURE__*/ _react.default.createElement("div", {
114
+ }) : /*#__PURE__*/ React.createElement(FileGraphic, null)), /*#__PURE__*/ React.createElement("div", {
166
115
  className: `${baseClass}__topRowRightPanel`
167
- }, /*#__PURE__*/ _react.default.createElement("div", {
116
+ }, /*#__PURE__*/ React.createElement("div", {
168
117
  className: `${baseClass}__collectionLabel`
169
- }, (0, _translations.getTranslation)(relatedCollection.labels.singular, i18n)), /*#__PURE__*/ _react.default.createElement("div", {
118
+ }, getTranslation(relatedCollection.labels.singular, i18n)), /*#__PURE__*/ React.createElement("div", {
170
119
  className: `${baseClass}__actions`
171
- }, Boolean(customFieldsMap) && /*#__PURE__*/ _react.default.createElement(_ui.DrawerToggler, {
120
+ }, Boolean(customFieldsMap) && /*#__PURE__*/ React.createElement(DrawerToggler, {
172
121
  className: `${baseClass}__upload-drawer-toggler`,
173
122
  disabled: fieldProps?.readOnly,
174
123
  slug: drawerSlug
175
- }, /*#__PURE__*/ _react.default.createElement(_ui.Button, {
124
+ }, /*#__PURE__*/ React.createElement(Button, {
176
125
  buttonStyle: "icon-label",
177
126
  el: "div",
178
127
  icon: "edit",
@@ -181,10 +130,10 @@ const Element = ({ enabledCollectionSlugs })=>{
181
130
  },
182
131
  round: true,
183
132
  tooltip: t('fields:editRelationship')
184
- })), /*#__PURE__*/ _react.default.createElement(ListDrawerToggler, {
133
+ })), /*#__PURE__*/ React.createElement(ListDrawerToggler, {
185
134
  className: `${baseClass}__list-drawer-toggler`,
186
135
  disabled: fieldProps?.readOnly
187
- }, /*#__PURE__*/ _react.default.createElement(_ui.Button, {
136
+ }, /*#__PURE__*/ React.createElement(Button, {
188
137
  buttonStyle: "icon-label",
189
138
  disabled: fieldProps?.readOnly,
190
139
  el: "div",
@@ -194,7 +143,7 @@ const Element = ({ enabledCollectionSlugs })=>{
194
143
  },
195
144
  round: true,
196
145
  tooltip: t('fields:swapUpload')
197
- })), /*#__PURE__*/ _react.default.createElement(_ui.Button, {
146
+ })), /*#__PURE__*/ React.createElement(Button, {
198
147
  buttonStyle: "icon-label",
199
148
  className: `${baseClass}__removeButton`,
200
149
  disabled: fieldProps?.readOnly,
@@ -205,15 +154,15 @@ const Element = ({ enabledCollectionSlugs })=>{
205
154
  },
206
155
  round: true,
207
156
  tooltip: t('fields:removeUpload')
208
- })))), /*#__PURE__*/ _react.default.createElement("div", {
157
+ })))), /*#__PURE__*/ React.createElement("div", {
209
158
  className: `${baseClass}__bottomRow`
210
- }, /*#__PURE__*/ _react.default.createElement(DocumentDrawerToggler, {
159
+ }, /*#__PURE__*/ React.createElement(DocumentDrawerToggler, {
211
160
  className: `${baseClass}__doc-drawer-toggler`
212
- }, /*#__PURE__*/ _react.default.createElement("strong", null, data?.filename)))), children, value?.id && /*#__PURE__*/ _react.default.createElement(DocumentDrawer, {
161
+ }, /*#__PURE__*/ React.createElement("strong", null, data?.filename)))), children, value?.id && /*#__PURE__*/ React.createElement(DocumentDrawer, {
213
162
  onSave: updateUpload
214
- }), /*#__PURE__*/ _react.default.createElement(ListDrawer, {
163
+ }), /*#__PURE__*/ React.createElement(ListDrawer, {
215
164
  onSelect: swapUpload
216
- }), /*#__PURE__*/ _react.default.createElement(_UploadDrawer.UploadDrawer, {
165
+ }), /*#__PURE__*/ React.createElement(UploadDrawer, {
217
166
  drawerSlug,
218
167
  element,
219
168
  fieldProps,
@@ -221,11 +170,11 @@ const Element = ({ enabledCollectionSlugs })=>{
221
170
  schemaPath
222
171
  }));
223
172
  };
224
- const _default = (props)=>{
225
- return /*#__PURE__*/ _react.default.createElement(_EnabledRelationshipsCondition.EnabledRelationshipsCondition, {
173
+ export default ((props)=>{
174
+ return /*#__PURE__*/ React.createElement(EnabledRelationshipsCondition, {
226
175
  ...props,
227
176
  uploads: true
228
- }, /*#__PURE__*/ _react.default.createElement(Element, props));
229
- };
177
+ }, /*#__PURE__*/ React.createElement(Element, props));
178
+ });
230
179
 
231
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9lbGVtZW50cy91cGxvYWQvRWxlbWVudC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB0eXBlIHsgRm9ybUZpZWxkQmFzZSB9IGZyb20gJ0BwYXlsb2FkY21zL3VpL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgZ2V0VHJhbnNsYXRpb24gfSBmcm9tICdAcGF5bG9hZGNtcy90cmFuc2xhdGlvbnMnXG5pbXBvcnQge1xuICBCdXR0b24sXG4gIERyYXdlclRvZ2dsZXIsXG4gIEZpbGVHcmFwaGljLFxuICB1c2VDb25maWcsXG4gIHVzZURvY3VtZW50RHJhd2VyLFxuICB1c2VEcmF3ZXJTbHVnLFxuICB1c2VMaXN0RHJhd2VyLFxuICB1c2VQYXlsb2FkQVBJLFxuICB1c2VUaHVtYm5haWwsXG4gIHVzZVRyYW5zbGF0aW9uLFxufSBmcm9tICdAcGF5bG9hZGNtcy91aSdcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlUmVkdWNlciwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSdcbmltcG9ydCB7IFJlYWN0RWRpdG9yLCB1c2VGb2N1c2VkLCB1c2VTZWxlY3RlZCwgdXNlU2xhdGVTdGF0aWMgfSBmcm9tICdzbGF0ZS1yZWFjdCdcblxuaW1wb3J0IHR5cGUgeyBVcGxvYWRFbGVtZW50VHlwZSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyB1c2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL0VsZW1lbnRQcm92aWRlcidcbmltcG9ydCB7IEVuYWJsZWRSZWxhdGlvbnNoaXBzQ29uZGl0aW9uIH0gZnJvbSAnLi4vLi4vRW5hYmxlZFJlbGF0aW9uc2hpcHNDb25kaXRpb24nXG5pbXBvcnQgeyB1cGxvYWRGaWVsZHNTY2hlbWFQYXRoLCB1cGxvYWROYW1lIH0gZnJvbSAnLi4vc2hhcmVkJ1xuaW1wb3J0IHsgVXBsb2FkRHJhd2VyIH0gZnJvbSAnLi9VcGxvYWREcmF3ZXInXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcblxuY29uc3QgYmFzZUNsYXNzID0gJ3JpY2gtdGV4dC11cGxvYWQnXG5cbmNvbnN0IGluaXRpYWxQYXJhbXMgPSB7XG4gIGRlcHRoOiAwLFxufVxuXG50eXBlIFByb3BzID0gRm9ybUZpZWxkQmFzZSAmIHtcbiAgbmFtZTogc3RyaW5nXG4gIHJpY2hUZXh0Q29tcG9uZW50TWFwOiBNYXA8c3RyaW5nLCBSZWFjdC5SZWFjdE5vZGU+XG59XG5cbmNvbnN0IEVsZW1lbnQ6IFJlYWN0LkZDPFByb3BzICYgeyBlbmFibGVkQ29sbGVjdGlvblNsdWdzPzogc3RyaW5nW10gfT4gPSAoe1xuICBlbmFibGVkQ29sbGVjdGlvblNsdWdzLFxufSkgPT4ge1xuICBjb25zdCB7XG4gICAgYXR0cmlidXRlcyxcbiAgICBjaGlsZHJlbixcbiAgICBlbGVtZW50OiB7IHJlbGF0aW9uVG8sIHZhbHVlIH0sXG4gICAgZWxlbWVudCxcbiAgICBmaWVsZFByb3BzLFxuICAgIHNjaGVtYVBhdGgsXG4gIH0gPSB1c2VFbGVtZW50PFVwbG9hZEVsZW1lbnRUeXBlPigpXG5cbiAgY29uc3Qge1xuICAgIGNvbGxlY3Rpb25zLFxuICAgIHJvdXRlczogeyBhcGkgfSxcbiAgICBzZXJ2ZXJVUkwsXG4gIH0gPSB1c2VDb25maWcoKVxuICBjb25zdCB7IGkxOG4sIHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcbiAgY29uc3QgW2NhY2hlQnVzdCwgZGlzcGF0Y2hDYWNoZUJ1c3RdID0gdXNlUmVkdWNlcigoc3RhdGUpID0+IHN0YXRlICsgMSwgMClcbiAgY29uc3QgW3JlbGF0ZWRDb2xsZWN0aW9uLCBzZXRSZWxhdGVkQ29sbGVjdGlvbl0gPSB1c2VTdGF0ZTxTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnPigoKSA9PlxuICAgIGNvbGxlY3Rpb25zLmZpbmQoKGNvbGwpID0+IGNvbGwuc2x1ZyA9PT0gcmVsYXRpb25UbyksXG4gIClcblxuICBjb25zdCBkcmF3ZXJTbHVnID0gdXNlRHJhd2VyU2x1ZygndXBsb2FkLWRyYXdlcicpXG5cbiAgY29uc3QgW0xpc3REcmF3ZXIsIExpc3REcmF3ZXJUb2dnbGVyLCB7IGNsb3NlRHJhd2VyOiBjbG9zZUxpc3REcmF3ZXIgfV0gPSB1c2VMaXN0RHJhd2VyKHtcbiAgICBjb2xsZWN0aW9uU2x1Z3M6IGVuYWJsZWRDb2xsZWN0aW9uU2x1Z3MsXG4gICAgc2VsZWN0ZWRDb2xsZWN0aW9uOiByZWxhdGVkQ29sbGVjdGlvbi5zbHVnLFxuICB9KVxuXG4gIGNvbnN0IFtEb2N1bWVudERyYXdlciwgRG9jdW1lbnREcmF3ZXJUb2dnbGVyLCB7IGNsb3NlRHJhd2VyIH1dID0gdXNlRG9jdW1lbnREcmF3ZXIoe1xuICAgIGlkOiB2YWx1ZT8uaWQsXG4gICAgY29sbGVjdGlvblNsdWc6IHJlbGF0ZWRDb2xsZWN0aW9uLnNsdWcsXG4gIH0pXG5cbiAgY29uc3QgZWRpdG9yID0gdXNlU2xhdGVTdGF0aWMoKVxuICBjb25zdCBzZWxlY3RlZCA9IHVzZVNlbGVjdGVkKClcbiAgY29uc3QgZm9jdXNlZCA9IHVzZUZvY3VzZWQoKVxuXG4gIC8vIEdldCB0aGUgcmVmZXJlbmNlZCBkb2N1bWVudFxuICBjb25zdCBbeyBkYXRhIH0sIHsgc2V0UGFyYW1zIH1dID0gdXNlUGF5bG9hZEFQSShcbiAgICBgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7cmVsYXRlZENvbGxlY3Rpb24uc2x1Z30vJHt2YWx1ZT8uaWR9YCxcbiAgICB7IGluaXRpYWxQYXJhbXMgfSxcbiAgKVxuXG4gIGNvbnN0IHRodW1ibmFpbFNSQyA9IHVzZVRodW1ibmFpbChyZWxhdGVkQ29sbGVjdGlvbi5zbHVnLCByZWxhdGVkQ29sbGVjdGlvbi51cGxvYWQsIGRhdGEpXG5cbiAgY29uc3QgcmVtb3ZlVXBsb2FkID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IGVsZW1lbnRQYXRoID0gUmVhY3RFZGl0b3IuZmluZFBhdGgoZWRpdG9yLCBlbGVtZW50KVxuXG4gICAgVHJhbnNmb3Jtcy5yZW1vdmVOb2RlcyhlZGl0b3IsIHsgYXQ6IGVsZW1lbnRQYXRoIH0pXG4gIH0sIFtlZGl0b3IsIGVsZW1lbnRdKVxuXG4gIGNvbnN0IHVwZGF0ZVVwbG9hZCA9IHVzZUNhbGxiYWNrKFxuICAgIChqc29uKSA9PiB7XG4gICAgICBjb25zdCB7IGRvYyB9ID0ganNvblxuXG4gICAgICBjb25zdCBuZXdOb2RlID0ge1xuICAgICAgICBmaWVsZHM6IGRvYyxcbiAgICAgIH1cblxuICAgICAgY29uc3QgZWxlbWVudFBhdGggPSBSZWFjdEVkaXRvci5maW5kUGF0aChlZGl0b3IsIGVsZW1lbnQpXG5cbiAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZXMoZWRpdG9yLCBuZXdOb2RlLCB7IGF0OiBlbGVtZW50UGF0aCB9KVxuXG4gICAgICBzZXRQYXJhbXMoe1xuICAgICAgICAuLi5pbml0aWFsUGFyYW1zLFxuICAgICAgICBjYWNoZUJ1c3QsIC8vIGRvIHRoaXMgdG8gZ2V0IHRoZSB1c2VQYXlsb2FkQVBJIHRvIHJlLWZldGNoIHRoZSBkYXRhIGV2ZW4gdGhvdWdoIHRoZSBVUkwgc3RyaW5nIGhhc24ndCBjaGFuZ2VkXG4gICAgICB9KVxuXG4gICAgICBkaXNwYXRjaENhY2hlQnVzdCgpXG4gICAgICBjbG9zZURyYXdlcigpXG4gICAgfSxcbiAgICBbZWRpdG9yLCBlbGVtZW50LCBzZXRQYXJhbXMsIGNhY2hlQnVzdCwgY2xvc2VEcmF3ZXJdLFxuICApXG5cbiAgY29uc3Qgc3dhcFVwbG9hZCA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgICh7IGNvbGxlY3Rpb25TbHVnLCBkb2NJRCB9KSA9PiB7XG4gICAgICBjb25zdCBuZXdOb2RlID0ge1xuICAgICAgICB0eXBlOiB1cGxvYWROYW1lLFxuICAgICAgICBjaGlsZHJlbjogW3sgdGV4dDogJyAnIH1dLFxuICAgICAgICByZWxhdGlvblRvOiBjb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgdmFsdWU6IHsgaWQ6IGRvY0lEIH0sXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGVsZW1lbnRQYXRoID0gUmVhY3RFZGl0b3IuZmluZFBhdGgoZWRpdG9yLCBlbGVtZW50KVxuXG4gICAgICBzZXRSZWxhdGVkQ29sbGVjdGlvbihjb2xsZWN0aW9ucy5maW5kKChjb2xsKSA9PiBjb2xsLnNsdWcgPT09IGNvbGxlY3Rpb25TbHVnKSlcblxuICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhlZGl0b3IsIG5ld05vZGUsIHsgYXQ6IGVsZW1lbnRQYXRoIH0pXG5cbiAgICAgIGRpc3BhdGNoQ2FjaGVCdXN0KClcbiAgICAgIGNsb3NlTGlzdERyYXdlcigpXG4gICAgfSxcbiAgICBbY2xvc2VMaXN0RHJhd2VyLCBlZGl0b3IsIGVsZW1lbnQsIGNvbGxlY3Rpb25zXSxcbiAgKVxuXG4gIGNvbnN0IHJlbGF0ZWRGaWVsZFNjaGVtYVBhdGggPSBgJHt1cGxvYWRGaWVsZHNTY2hlbWFQYXRofS4ke3JlbGF0ZWRDb2xsZWN0aW9uLnNsdWd9YFxuICBjb25zdCBjdXN0b21GaWVsZHNNYXAgPSBmaWVsZFByb3BzLnJpY2hUZXh0Q29tcG9uZW50TWFwLmdldChyZWxhdGVkRmllbGRTY2hlbWFQYXRoKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtbYmFzZUNsYXNzLCBzZWxlY3RlZCAmJiBmb2N1c2VkICYmIGAke2Jhc2VDbGFzc30tLXNlbGVjdGVkYF1cbiAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAuam9pbignICcpfVxuICAgICAgY29udGVudEVkaXRhYmxlPXtmYWxzZX1cbiAgICAgIHsuLi5hdHRyaWJ1dGVzfVxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19jYXJkYH0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X190b3BSb3dgfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fdGh1bWJuYWlsYH0+XG4gICAgICAgICAgICB7dGh1bWJuYWlsU1JDID8gPGltZyBhbHQ9e2RhdGE/LmZpbGVuYW1lfSBzcmM9e3RodW1ibmFpbFNSQ30gLz4gOiA8RmlsZUdyYXBoaWMgLz59XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3RvcFJvd1JpZ2h0UGFuZWxgfT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19jb2xsZWN0aW9uTGFiZWxgfT5cbiAgICAgICAgICAgICAge2dldFRyYW5zbGF0aW9uKHJlbGF0ZWRDb2xsZWN0aW9uLmxhYmVscy5zaW5ndWxhciwgaTE4bil9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19hY3Rpb25zYH0+XG4gICAgICAgICAgICAgIHtCb29sZWFuKGN1c3RvbUZpZWxkc01hcCkgJiYgKFxuICAgICAgICAgICAgICAgIDxEcmF3ZXJUb2dnbGVyXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3VwbG9hZC1kcmF3ZXItdG9nZ2xlcmB9XG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZmllbGRQcm9wcz8ucmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICBzbHVnPXtkcmF3ZXJTbHVnfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uU3R5bGU9XCJpY29uLWxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZWw9XCJkaXZcIlxuICAgICAgICAgICAgICAgICAgICBpY29uPVwiZWRpdFwiXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIHJvdW5kXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXA9e3QoJ2ZpZWxkczplZGl0UmVsYXRpb25zaGlwJyl9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvRHJhd2VyVG9nZ2xlcj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPExpc3REcmF3ZXJUb2dnbGVyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19saXN0LWRyYXdlci10b2dnbGVyYH1cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZmllbGRQcm9wcz8ucmVhZE9ubHl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICBidXR0b25TdHlsZT1cImljb24tbGFiZWxcIlxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2ZpZWxkUHJvcHM/LnJlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgZWw9XCJkaXZcIlxuICAgICAgICAgICAgICAgICAgaWNvbj1cInN3YXBcIlxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBkbyBub3RoaW5nXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgcm91bmRcbiAgICAgICAgICAgICAgICAgIHRvb2x0aXA9e3QoJ2ZpZWxkczpzd2FwVXBsb2FkJyl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9MaXN0RHJhd2VyVG9nZ2xlcj5cbiAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgIGJ1dHRvblN0eWxlPVwiaWNvbi1sYWJlbFwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19yZW1vdmVCdXR0b25gfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtmaWVsZFByb3BzPy5yZWFkT25seX1cbiAgICAgICAgICAgICAgICBpY29uPVwieFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgcmVtb3ZlVXBsb2FkKClcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHJvdW5kXG4gICAgICAgICAgICAgICAgdG9vbHRpcD17dCgnZmllbGRzOnJlbW92ZVVwbG9hZCcpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fYm90dG9tUm93YH0+XG4gICAgICAgICAgPERvY3VtZW50RHJhd2VyVG9nZ2xlciBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2RvYy1kcmF3ZXItdG9nZ2xlcmB9PlxuICAgICAgICAgICAgPHN0cm9uZz57ZGF0YT8uZmlsZW5hbWV9PC9zdHJvbmc+XG4gICAgICAgICAgPC9Eb2N1bWVudERyYXdlclRvZ2dsZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICB7dmFsdWU/LmlkICYmIDxEb2N1bWVudERyYXdlciBvblNhdmU9e3VwZGF0ZVVwbG9hZH0gLz59XG4gICAgICA8TGlzdERyYXdlciBvblNlbGVjdD17c3dhcFVwbG9hZH0gLz5cbiAgICAgIDxVcGxvYWREcmF3ZXIgey4uLnsgZHJhd2VyU2x1ZywgZWxlbWVudCwgZmllbGRQcm9wcywgcmVsYXRlZENvbGxlY3Rpb24sIHNjaGVtYVBhdGggfX0gLz5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCAocHJvcHM6IFByb3BzKTogUmVhY3QuUmVhY3ROb2RlID0+IHtcbiAgcmV0dXJuIChcbiAgICA8RW5hYmxlZFJlbGF0aW9uc2hpcHNDb25kaXRpb24gey4uLnByb3BzfSB1cGxvYWRzPlxuICAgICAgPEVsZW1lbnQgey4uLnByb3BzfSAvPlxuICAgIDwvRW5hYmxlZFJlbGF0aW9uc2hpcHNDb25kaXRpb24+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJiYXNlQ2xhc3MiLCJpbml0aWFsUGFyYW1zIiwiZGVwdGgiLCJFbGVtZW50IiwiZW5hYmxlZENvbGxlY3Rpb25TbHVncyIsImF0dHJpYnV0ZXMiLCJjaGlsZHJlbiIsImVsZW1lbnQiLCJyZWxhdGlvblRvIiwidmFsdWUiLCJmaWVsZFByb3BzIiwic2NoZW1hUGF0aCIsInVzZUVsZW1lbnQiLCJjb2xsZWN0aW9ucyIsInJvdXRlcyIsImFwaSIsInNlcnZlclVSTCIsInVzZUNvbmZpZyIsImkxOG4iLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJjYWNoZUJ1c3QiLCJkaXNwYXRjaENhY2hlQnVzdCIsInVzZVJlZHVjZXIiLCJzdGF0ZSIsInJlbGF0ZWRDb2xsZWN0aW9uIiwic2V0UmVsYXRlZENvbGxlY3Rpb24iLCJ1c2VTdGF0ZSIsImZpbmQiLCJjb2xsIiwic2x1ZyIsImRyYXdlclNsdWciLCJ1c2VEcmF3ZXJTbHVnIiwiTGlzdERyYXdlciIsIkxpc3REcmF3ZXJUb2dnbGVyIiwiY2xvc2VEcmF3ZXIiLCJjbG9zZUxpc3REcmF3ZXIiLCJ1c2VMaXN0RHJhd2VyIiwiY29sbGVjdGlvblNsdWdzIiwic2VsZWN0ZWRDb2xsZWN0aW9uIiwiRG9jdW1lbnREcmF3ZXIiLCJEb2N1bWVudERyYXdlclRvZ2dsZXIiLCJ1c2VEb2N1bWVudERyYXdlciIsImlkIiwiY29sbGVjdGlvblNsdWciLCJlZGl0b3IiLCJ1c2VTbGF0ZVN0YXRpYyIsInNlbGVjdGVkIiwidXNlU2VsZWN0ZWQiLCJmb2N1c2VkIiwidXNlRm9jdXNlZCIsImRhdGEiLCJzZXRQYXJhbXMiLCJ1c2VQYXlsb2FkQVBJIiwidGh1bWJuYWlsU1JDIiwidXNlVGh1bWJuYWlsIiwidXBsb2FkIiwicmVtb3ZlVXBsb2FkIiwidXNlQ2FsbGJhY2siLCJlbGVtZW50UGF0aCIsIlJlYWN0RWRpdG9yIiwiZmluZFBhdGgiLCJUcmFuc2Zvcm1zIiwicmVtb3ZlTm9kZXMiLCJhdCIsInVwZGF0ZVVwbG9hZCIsImpzb24iLCJkb2MiLCJuZXdOb2RlIiwiZmllbGRzIiwic2V0Tm9kZXMiLCJzd2FwVXBsb2FkIiwiUmVhY3QiLCJkb2NJRCIsInR5cGUiLCJ1cGxvYWROYW1lIiwidGV4dCIsInJlbGF0ZWRGaWVsZFNjaGVtYVBhdGgiLCJ1cGxvYWRGaWVsZHNTY2hlbWFQYXRoIiwiY3VzdG9tRmllbGRzTWFwIiwicmljaFRleHRDb21wb25lbnRNYXAiLCJnZXQiLCJkaXYiLCJjbGFzc05hbWUiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsImNvbnRlbnRFZGl0YWJsZSIsImltZyIsImFsdCIsImZpbGVuYW1lIiwic3JjIiwiRmlsZUdyYXBoaWMiLCJnZXRUcmFuc2xhdGlvbiIsImxhYmVscyIsInNpbmd1bGFyIiwiRHJhd2VyVG9nZ2xlciIsImRpc2FibGVkIiwicmVhZE9ubHkiLCJCdXR0b24iLCJidXR0b25TdHlsZSIsImVsIiwiaWNvbiIsIm9uQ2xpY2siLCJlIiwicHJldmVudERlZmF1bHQiLCJyb3VuZCIsInRvb2x0aXAiLCJzdHJvbmciLCJvblNhdmUiLCJvblNlbGVjdCIsIlVwbG9hZERyYXdlciIsInByb3BzIiwiRW5hYmxlZFJlbGF0aW9uc2hpcHNDb25kaXRpb24iLCJ1cGxvYWRzIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7K0JBOE5BOzs7ZUFBQTs7OzhCQXpOK0I7b0JBWXhCOytEQUNrRDt1QkFDOUI7NEJBQzBDO2lDQUkxQzsrQ0FDbUI7d0JBQ0s7OEJBQ3RCO1FBQ3RCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFUCxNQUFNQSxZQUFZO0FBRWxCLE1BQU1DLGdCQUFnQjtJQUNwQkMsT0FBTztBQUNUO0FBT0EsTUFBTUMsVUFB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
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9lbGVtZW50cy91cGxvYWQvRWxlbWVudC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB0eXBlIHsgRm9ybUZpZWxkQmFzZSB9IGZyb20gJ0BwYXlsb2FkY21zL3VpL3R5cGVzJ1xuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgZ2V0VHJhbnNsYXRpb24gfSBmcm9tICdAcGF5bG9hZGNtcy90cmFuc2xhdGlvbnMnXG5pbXBvcnQge1xuICBCdXR0b24sXG4gIERyYXdlclRvZ2dsZXIsXG4gIEZpbGVHcmFwaGljLFxuICB1c2VDb25maWcsXG4gIHVzZURvY3VtZW50RHJhd2VyLFxuICB1c2VEcmF3ZXJTbHVnLFxuICB1c2VMaXN0RHJhd2VyLFxuICB1c2VQYXlsb2FkQVBJLFxuICB1c2VUaHVtYm5haWwsXG4gIHVzZVRyYW5zbGF0aW9uLFxufSBmcm9tICdAcGF5bG9hZGNtcy91aSdcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlUmVkdWNlciwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSdcbmltcG9ydCB7IFJlYWN0RWRpdG9yLCB1c2VGb2N1c2VkLCB1c2VTZWxlY3RlZCwgdXNlU2xhdGVTdGF0aWMgfSBmcm9tICdzbGF0ZS1yZWFjdCdcblxuaW1wb3J0IHR5cGUgeyBVcGxvYWRFbGVtZW50VHlwZSB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyB1c2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vcHJvdmlkZXJzL0VsZW1lbnRQcm92aWRlcidcbmltcG9ydCB7IEVuYWJsZWRSZWxhdGlvbnNoaXBzQ29uZGl0aW9uIH0gZnJvbSAnLi4vLi4vRW5hYmxlZFJlbGF0aW9uc2hpcHNDb25kaXRpb24nXG5pbXBvcnQgeyB1cGxvYWRGaWVsZHNTY2hlbWFQYXRoLCB1cGxvYWROYW1lIH0gZnJvbSAnLi4vc2hhcmVkJ1xuaW1wb3J0IHsgVXBsb2FkRHJhd2VyIH0gZnJvbSAnLi9VcGxvYWREcmF3ZXInXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcblxuY29uc3QgYmFzZUNsYXNzID0gJ3JpY2gtdGV4dC11cGxvYWQnXG5cbmNvbnN0IGluaXRpYWxQYXJhbXMgPSB7XG4gIGRlcHRoOiAwLFxufVxuXG50eXBlIFByb3BzID0gRm9ybUZpZWxkQmFzZSAmIHtcbiAgbmFtZTogc3RyaW5nXG4gIHJpY2hUZXh0Q29tcG9uZW50TWFwOiBNYXA8c3RyaW5nLCBSZWFjdC5SZWFjdE5vZGU+XG59XG5cbmNvbnN0IEVsZW1lbnQ6IFJlYWN0LkZDPFByb3BzICYgeyBlbmFibGVkQ29sbGVjdGlvblNsdWdzPzogc3RyaW5nW10gfT4gPSAoe1xuICBlbmFibGVkQ29sbGVjdGlvblNsdWdzLFxufSkgPT4ge1xuICBjb25zdCB7XG4gICAgYXR0cmlidXRlcyxcbiAgICBjaGlsZHJlbixcbiAgICBlbGVtZW50OiB7IHJlbGF0aW9uVG8sIHZhbHVlIH0sXG4gICAgZWxlbWVudCxcbiAgICBmaWVsZFByb3BzLFxuICAgIHNjaGVtYVBhdGgsXG4gIH0gPSB1c2VFbGVtZW50PFVwbG9hZEVsZW1lbnRUeXBlPigpXG5cbiAgY29uc3Qge1xuICAgIGNvbGxlY3Rpb25zLFxuICAgIHJvdXRlczogeyBhcGkgfSxcbiAgICBzZXJ2ZXJVUkwsXG4gIH0gPSB1c2VDb25maWcoKVxuICBjb25zdCB7IGkxOG4sIHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcbiAgY29uc3QgW2NhY2hlQnVzdCwgZGlzcGF0Y2hDYWNoZUJ1c3RdID0gdXNlUmVkdWNlcigoc3RhdGUpID0+IHN0YXRlICsgMSwgMClcbiAgY29uc3QgW3JlbGF0ZWRDb2xsZWN0aW9uLCBzZXRSZWxhdGVkQ29sbGVjdGlvbl0gPSB1c2VTdGF0ZTxTYW5pdGl6ZWRDb2xsZWN0aW9uQ29uZmlnPigoKSA9PlxuICAgIGNvbGxlY3Rpb25zLmZpbmQoKGNvbGwpID0+IGNvbGwuc2x1ZyA9PT0gcmVsYXRpb25UbyksXG4gIClcblxuICBjb25zdCBkcmF3ZXJTbHVnID0gdXNlRHJhd2VyU2x1ZygndXBsb2FkLWRyYXdlcicpXG5cbiAgY29uc3QgW0xpc3REcmF3ZXIsIExpc3REcmF3ZXJUb2dnbGVyLCB7IGNsb3NlRHJhd2VyOiBjbG9zZUxpc3REcmF3ZXIgfV0gPSB1c2VMaXN0RHJhd2VyKHtcbiAgICBjb2xsZWN0aW9uU2x1Z3M6IGVuYWJsZWRDb2xsZWN0aW9uU2x1Z3MsXG4gICAgc2VsZWN0ZWRDb2xsZWN0aW9uOiByZWxhdGVkQ29sbGVjdGlvbi5zbHVnLFxuICB9KVxuXG4gIGNvbnN0IFtEb2N1bWVudERyYXdlciwgRG9jdW1lbnREcmF3ZXJUb2dnbGVyLCB7IGNsb3NlRHJhd2VyIH1dID0gdXNlRG9jdW1lbnREcmF3ZXIoe1xuICAgIGlkOiB2YWx1ZT8uaWQsXG4gICAgY29sbGVjdGlvblNsdWc6IHJlbGF0ZWRDb2xsZWN0aW9uLnNsdWcsXG4gIH0pXG5cbiAgY29uc3QgZWRpdG9yID0gdXNlU2xhdGVTdGF0aWMoKVxuICBjb25zdCBzZWxlY3RlZCA9IHVzZVNlbGVjdGVkKClcbiAgY29uc3QgZm9jdXNlZCA9IHVzZUZvY3VzZWQoKVxuXG4gIC8vIEdldCB0aGUgcmVmZXJlbmNlZCBkb2N1bWVudFxuICBjb25zdCBbeyBkYXRhIH0sIHsgc2V0UGFyYW1zIH1dID0gdXNlUGF5bG9hZEFQSShcbiAgICBgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7cmVsYXRlZENvbGxlY3Rpb24uc2x1Z30vJHt2YWx1ZT8uaWR9YCxcbiAgICB7IGluaXRpYWxQYXJhbXMgfSxcbiAgKVxuXG4gIGNvbnN0IHRodW1ibmFpbFNSQyA9IHVzZVRodW1ibmFpbChyZWxhdGVkQ29sbGVjdGlvbi5zbHVnLCByZWxhdGVkQ29sbGVjdGlvbi51cGxvYWQsIGRhdGEpXG5cbiAgY29uc3QgcmVtb3ZlVXBsb2FkID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbnN0IGVsZW1lbnRQYXRoID0gUmVhY3RFZGl0b3IuZmluZFBhdGgoZWRpdG9yLCBlbGVtZW50KVxuXG4gICAgVHJhbnNmb3Jtcy5yZW1vdmVOb2RlcyhlZGl0b3IsIHsgYXQ6IGVsZW1lbnRQYXRoIH0pXG4gIH0sIFtlZGl0b3IsIGVsZW1lbnRdKVxuXG4gIGNvbnN0IHVwZGF0ZVVwbG9hZCA9IHVzZUNhbGxiYWNrKFxuICAgIChqc29uKSA9PiB7XG4gICAgICBjb25zdCB7IGRvYyB9ID0ganNvblxuXG4gICAgICBjb25zdCBuZXdOb2RlID0ge1xuICAgICAgICBmaWVsZHM6IGRvYyxcbiAgICAgIH1cblxuICAgICAgY29uc3QgZWxlbWVudFBhdGggPSBSZWFjdEVkaXRvci5maW5kUGF0aChlZGl0b3IsIGVsZW1lbnQpXG5cbiAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZXMoZWRpdG9yLCBuZXdOb2RlLCB7IGF0OiBlbGVtZW50UGF0aCB9KVxuXG4gICAgICBzZXRQYXJhbXMoe1xuICAgICAgICAuLi5pbml0aWFsUGFyYW1zLFxuICAgICAgICBjYWNoZUJ1c3QsIC8vIGRvIHRoaXMgdG8gZ2V0IHRoZSB1c2VQYXlsb2FkQVBJIHRvIHJlLWZldGNoIHRoZSBkYXRhIGV2ZW4gdGhvdWdoIHRoZSBVUkwgc3RyaW5nIGhhc24ndCBjaGFuZ2VkXG4gICAgICB9KVxuXG4gICAgICBkaXNwYXRjaENhY2hlQnVzdCgpXG4gICAgICBjbG9zZURyYXdlcigpXG4gICAgfSxcbiAgICBbZWRpdG9yLCBlbGVtZW50LCBzZXRQYXJhbXMsIGNhY2hlQnVzdCwgY2xvc2VEcmF3ZXJdLFxuICApXG5cbiAgY29uc3Qgc3dhcFVwbG9hZCA9IFJlYWN0LnVzZUNhbGxiYWNrKFxuICAgICh7IGNvbGxlY3Rpb25TbHVnLCBkb2NJRCB9KSA9PiB7XG4gICAgICBjb25zdCBuZXdOb2RlID0ge1xuICAgICAgICB0eXBlOiB1cGxvYWROYW1lLFxuICAgICAgICBjaGlsZHJlbjogW3sgdGV4dDogJyAnIH1dLFxuICAgICAgICByZWxhdGlvblRvOiBjb2xsZWN0aW9uU2x1ZyxcbiAgICAgICAgdmFsdWU6IHsgaWQ6IGRvY0lEIH0sXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGVsZW1lbnRQYXRoID0gUmVhY3RFZGl0b3IuZmluZFBhdGgoZWRpdG9yLCBlbGVtZW50KVxuXG4gICAgICBzZXRSZWxhdGVkQ29sbGVjdGlvbihjb2xsZWN0aW9ucy5maW5kKChjb2xsKSA9PiBjb2xsLnNsdWcgPT09IGNvbGxlY3Rpb25TbHVnKSlcblxuICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhlZGl0b3IsIG5ld05vZGUsIHsgYXQ6IGVsZW1lbnRQYXRoIH0pXG5cbiAgICAgIGRpc3BhdGNoQ2FjaGVCdXN0KClcbiAgICAgIGNsb3NlTGlzdERyYXdlcigpXG4gICAgfSxcbiAgICBbY2xvc2VMaXN0RHJhd2VyLCBlZGl0b3IsIGVsZW1lbnQsIGNvbGxlY3Rpb25zXSxcbiAgKVxuXG4gIGNvbnN0IHJlbGF0ZWRGaWVsZFNjaGVtYVBhdGggPSBgJHt1cGxvYWRGaWVsZHNTY2hlbWFQYXRofS4ke3JlbGF0ZWRDb2xsZWN0aW9uLnNsdWd9YFxuICBjb25zdCBjdXN0b21GaWVsZHNNYXAgPSBmaWVsZFByb3BzLnJpY2hUZXh0Q29tcG9uZW50TWFwLmdldChyZWxhdGVkRmllbGRTY2hlbWFQYXRoKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtbYmFzZUNsYXNzLCBzZWxlY3RlZCAmJiBmb2N1c2VkICYmIGAke2Jhc2VDbGFzc30tLXNlbGVjdGVkYF1cbiAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAuam9pbignICcpfVxuICAgICAgY29udGVudEVkaXRhYmxlPXtmYWxzZX1cbiAgICAgIHsuLi5hdHRyaWJ1dGVzfVxuICAgID5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19jYXJkYH0+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X190b3BSb3dgfT5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fdGh1bWJuYWlsYH0+XG4gICAgICAgICAgICB7dGh1bWJuYWlsU1JDID8gPGltZyBhbHQ9e2RhdGE/LmZpbGVuYW1lfSBzcmM9e3RodW1ibmFpbFNSQ30gLz4gOiA8RmlsZUdyYXBoaWMgLz59XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3RvcFJvd1JpZ2h0UGFuZWxgfT5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19jb2xsZWN0aW9uTGFiZWxgfT5cbiAgICAgICAgICAgICAge2dldFRyYW5zbGF0aW9uKHJlbGF0ZWRDb2xsZWN0aW9uLmxhYmVscy5zaW5ndWxhciwgaTE4bil9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19hY3Rpb25zYH0+XG4gICAgICAgICAgICAgIHtCb29sZWFuKGN1c3RvbUZpZWxkc01hcCkgJiYgKFxuICAgICAgICAgICAgICAgIDxEcmF3ZXJUb2dnbGVyXG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3VwbG9hZC1kcmF3ZXItdG9nZ2xlcmB9XG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZmllbGRQcm9wcz8ucmVhZE9ubHl9XG4gICAgICAgICAgICAgICAgICBzbHVnPXtkcmF3ZXJTbHVnfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uU3R5bGU9XCJpY29uLWxhYmVsXCJcbiAgICAgICAgICAgICAgICAgICAgZWw9XCJkaXZcIlxuICAgICAgICAgICAgICAgICAgICBpY29uPVwiZWRpdFwiXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIHJvdW5kXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXA9e3QoJ2ZpZWxkczplZGl0UmVsYXRpb25zaGlwJyl9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvRHJhd2VyVG9nZ2xlcj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPExpc3REcmF3ZXJUb2dnbGVyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19saXN0LWRyYXdlci10b2dnbGVyYH1cbiAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZmllbGRQcm9wcz8ucmVhZE9ubHl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICBidXR0b25TdHlsZT1cImljb24tbGFiZWxcIlxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ9e2ZpZWxkUHJvcHM/LnJlYWRPbmx5fVxuICAgICAgICAgICAgICAgICAgZWw9XCJkaXZcIlxuICAgICAgICAgICAgICAgICAgaWNvbj1cInN3YXBcIlxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAvLyBkbyBub3RoaW5nXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgcm91bmRcbiAgICAgICAgICAgICAgICAgIHRvb2x0aXA9e3QoJ2ZpZWxkczpzd2FwVXBsb2FkJyl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9MaXN0RHJhd2VyVG9nZ2xlcj5cbiAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgIGJ1dHRvblN0eWxlPVwiaWNvbi1sYWJlbFwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19yZW1vdmVCdXR0b25gfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtmaWVsZFByb3BzPy5yZWFkT25seX1cbiAgICAgICAgICAgICAgICBpY29uPVwieFwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgICAgICAgICAgcmVtb3ZlVXBsb2FkKClcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIHJvdW5kXG4gICAgICAgICAgICAgICAgdG9vbHRpcD17dCgnZmllbGRzOnJlbW92ZVVwbG9hZCcpfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fYm90dG9tUm93YH0+XG4gICAgICAgICAgPERvY3VtZW50RHJhd2VyVG9nZ2xlciBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2RvYy1kcmF3ZXItdG9nZ2xlcmB9PlxuICAgICAgICAgICAgPHN0cm9uZz57ZGF0YT8uZmlsZW5hbWV9PC9zdHJvbmc+XG4gICAgICAgICAgPC9Eb2N1bWVudERyYXdlclRvZ2dsZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICB7dmFsdWU/LmlkICYmIDxEb2N1bWVudERyYXdlciBvblNhdmU9e3VwZGF0ZVVwbG9hZH0gLz59XG4gICAgICA8TGlzdERyYXdlciBvblNlbGVjdD17c3dhcFVwbG9hZH0gLz5cbiAgICAgIDxVcGxvYWREcmF3ZXIgey4uLnsgZHJhd2VyU2x1ZywgZWxlbWVudCwgZmllbGRQcm9wcywgcmVsYXRlZENvbGxlY3Rpb24sIHNjaGVtYVBhdGggfX0gLz5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCAocHJvcHM6IFByb3BzKTogUmVhY3QuUmVhY3ROb2RlID0+IHtcbiAgcmV0dXJuIChcbiAgICA8RW5hYmxlZFJlbGF0aW9uc2hpcHNDb25kaXRpb24gey4uLnByb3BzfSB1cGxvYWRzPlxuICAgICAgPEVsZW1lbnQgey4uLnByb3BzfSAvPlxuICAgIDwvRW5hYmxlZFJlbGF0aW9uc2hpcHNDb25kaXRpb24+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJnZXRUcmFuc2xhdGlvbiIsIkJ1dHRvbiIsIkRyYXdlclRvZ2dsZXIiLCJGaWxlR3JhcGhpYyIsInVzZUNvbmZpZyIsInVzZURvY3VtZW50RHJhd2VyIiwidXNlRHJhd2VyU2x1ZyIsInVzZUxpc3REcmF3ZXIiLCJ1c2VQYXlsb2FkQVBJIiwidXNlVGh1bWJuYWlsIiwidXNlVHJhbnNsYXRpb24iLCJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlUmVkdWNlciIsInVzZVN0YXRlIiwiVHJhbnNmb3JtcyIsIlJlYWN0RWRpdG9yIiwidXNlRm9jdXNlZCIsInVzZVNlbGVjdGVkIiwidXNlU2xhdGVTdGF0aWMiLCJ1c2VFbGVtZW50IiwiRW5hYmxlZFJlbGF0aW9uc2hpcHNDb25kaXRpb24iLCJ1cGxvYWRGaWVsZHNTY2hlbWFQYXRoIiwidXBsb2FkTmFtZSIsIlVwbG9hZERyYXdlciIsImJhc2VDbGFzcyIsImluaXRpYWxQYXJhbXMiLCJkZXB0aCIsIkVsZW1lbnQiLCJlbmFibGVkQ29sbGVjdGlvblNsdWdzIiwiYXR0cmlidXRlcyIsImNoaWxkcmVuIiwiZWxlbWVudCIsInJlbGF0aW9uVG8iLCJ2YWx1ZSIsImZpZWxkUHJvcHMiLCJzY2hlbWFQYXRoIiwiY29sbGVjdGlvbnMiLCJyb3V0ZXMiLCJhcGkiLCJzZXJ2ZXJVUkwiLCJpMThuIiwidCIsImNhY2hlQnVzdCIsImRpc3BhdGNoQ2FjaGVCdXN0Iiwic3RhdGUiLCJyZWxhdGVkQ29sbGVjdGlvbiIsInNldFJlbGF0ZWRDb2xsZWN0aW9uIiwiZmluZCIsImNvbGwiLCJzbHVnIiwiZHJhd2VyU2x1ZyIsIkxpc3REcmF3ZXIiLCJMaXN0RHJhd2VyVG9nZ2xlciIsImNsb3NlRHJhd2VyIiwiY2xvc2VMaXN0RHJhd2VyIiwiY29sbGVjdGlvblNsdWdzIiwic2VsZWN0ZWRDb2xsZWN0aW9uIiwiRG9jdW1lbnREcmF3ZXIiLCJEb2N1bWVudERyYXdlclRvZ2dsZXIiLCJpZCIsImNvbGxlY3Rpb25TbHVnIiwiZWRpdG9yIiwic2VsZWN0ZWQiLCJmb2N1c2VkIiwiZGF0YSIsInNldFBhcmFtcyIsInRodW1ibmFpbFNSQyIsInVwbG9hZCIsInJlbW92ZVVwbG9hZCIsImVsZW1lbnRQYXRoIiwiZmluZFBhdGgiLCJyZW1vdmVOb2RlcyIsImF0IiwidXBkYXRlVXBsb2FkIiwianNvbiIsImRvYyIsIm5ld05vZGUiLCJmaWVsZHMiLCJzZXROb2RlcyIsInN3YXBVcGxvYWQiLCJkb2NJRCIsInR5cGUiLCJ0ZXh0IiwicmVsYXRlZEZpZWxkU2NoZW1hUGF0aCIsImN1c3RvbUZpZWxkc01hcCIsInJpY2hUZXh0Q29tcG9uZW50TWFwIiwiZ2V0IiwiZGl2IiwiY2xhc3NOYW1lIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJjb250ZW50RWRpdGFibGUiLCJpbWciLCJhbHQiLCJmaWxlbmFtZSIsInNyYyIsImxhYmVscyIsInNpbmd1bGFyIiwiZGlzYWJsZWQiLCJyZWFkT25seSIsImJ1dHRvblN0eWxlIiwiZWwiLCJpY29uIiwib25DbGljayIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInJvdW5kIiwidG9vbHRpcCIsInN0cm9uZyIsIm9uU2F2ZSIsIm9uU2VsZWN0IiwicHJvcHMiLCJ1cGxvYWRzIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUtBLFNBQVNBLGNBQWMsUUFBUSwyQkFBMEI7QUFDekQsU0FDRUMsTUFBTSxFQUNOQyxhQUFhLEVBQ2JDLFdBQVcsRUFDWEMsU0FBUyxFQUNUQyxpQkFBaUIsRUFDakJDLGFBQWEsRUFDYkMsYUFBYSxFQUNiQyxhQUFhLEVBQ2JDLFlBQVksRUFDWkMsY0FBYyxRQUNULGlCQUFnQjtBQUN2QixPQUFPQyxTQUFTQyxXQUFXLEVBQUVDLFVBQVUsRUFB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
@@ -1,30 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "default", {
6
- enumerable: true,
7
- get: function() {
8
- return _default;
9
- }
10
- });
11
- const _Button = /*#__PURE__*/ _interop_require_default(require("./Button"));
12
- const _Element = /*#__PURE__*/ _interop_require_default(require("./Element"));
13
- const _plugin = require("./plugin");
14
- const _shared = require("./shared");
15
- function _interop_require_default(obj) {
16
- return obj && obj.__esModule ? obj : {
17
- default: obj
18
- };
19
- }
1
+ import Button from './Button';
2
+ import Element from './Element';
3
+ import { WithUpload } from './plugin';
4
+ import { uploadName } from './shared';
20
5
  const upload = {
21
- name: _shared.uploadName,
22
- Button: _Button.default,
23
- Element: _Element.default,
6
+ name: uploadName,
7
+ Button,
8
+ Element,
24
9
  plugins: [
25
- _plugin.WithUpload
10
+ WithUpload
26
11
  ]
27
12
  };
28
- const _default = upload;
13
+ export default upload;
29
14
 
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9lbGVtZW50cy91cGxvYWQvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEN1c3RvbUVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLidcblxuaW1wb3J0IEJ1dHRvbiBmcm9tICcuL0J1dHRvbidcbmltcG9ydCBFbGVtZW50IGZyb20gJy4vRWxlbWVudCdcbmltcG9ydCB7IFdpdGhVcGxvYWQgfSBmcm9tICcuL3BsdWdpbidcbmltcG9ydCB7IHVwbG9hZE5hbWUgfSBmcm9tICcuL3NoYXJlZCdcblxuY29uc3QgdXBsb2FkOiBSaWNoVGV4dEN1c3RvbUVsZW1lbnQgPSB7XG4gIG5hbWU6IHVwbG9hZE5hbWUsXG4gIEJ1dHRvbixcbiAgRWxlbWVudCxcbiAgcGx1Z2luczogW1dpdGhVcGxvYWRdLFxufVxuXG5leHBvcnQgZGVmYXVsdCB1cGxvYWRcbiJdLCJuYW1lcyI6WyJ1cGxvYWQiLCJuYW1lIiwidXBsb2FkTmFtZSIsIkJ1dHRvbiIsIkVsZW1lbnQiLCJwbHVnaW5zIiwiV2l0aFVwbG9hZCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFjQTs7O2VBQUE7OzsrREFabUI7Z0VBQ0M7d0JBQ087d0JBQ0E7Ozs7OztBQUUzQixNQUFNQSxTQUFnQztJQUNwQ0MsTUFBTUMsa0JBQVU7SUFDaEJDLFFBQUFBLGVBQU07SUFDTkMsU0FBQUEsZ0JBQU87SUFDUEMsU0FBUztRQUFDQyxrQkFBVTtLQUFDO0FBQ3ZCO01BRUEsV0FBZU4ifQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9lbGVtZW50cy91cGxvYWQvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSaWNoVGV4dEN1c3RvbUVsZW1lbnQgfSBmcm9tICcuLi8uLi8uLidcblxuaW1wb3J0IEJ1dHRvbiBmcm9tICcuL0J1dHRvbidcbmltcG9ydCBFbGVtZW50IGZyb20gJy4vRWxlbWVudCdcbmltcG9ydCB7IFdpdGhVcGxvYWQgfSBmcm9tICcuL3BsdWdpbidcbmltcG9ydCB7IHVwbG9hZE5hbWUgfSBmcm9tICcuL3NoYXJlZCdcblxuY29uc3QgdXBsb2FkOiBSaWNoVGV4dEN1c3RvbUVsZW1lbnQgPSB7XG4gIG5hbWU6IHVwbG9hZE5hbWUsXG4gIEJ1dHRvbixcbiAgRWxlbWVudCxcbiAgcGx1Z2luczogW1dpdGhVcGxvYWRdLFxufVxuXG5leHBvcnQgZGVmYXVsdCB1cGxvYWRcbiJdLCJuYW1lcyI6WyJCdXR0b24iLCJFbGVtZW50IiwiV2l0aFVwbG9hZCIsInVwbG9hZE5hbWUiLCJ1cGxvYWQiLCJuYW1lIiwicGx1Z2lucyJdLCJtYXBwaW5ncyI6IkFBRUEsT0FBT0EsWUFBWSxXQUFVO0FBQzdCLE9BQU9DLGFBQWEsWUFBVztBQUMvQixTQUFTQyxVQUFVLFFBQVEsV0FBVTtBQUNyQyxTQUFTQyxVQUFVLFFBQVEsV0FBVTtBQUVyQyxNQUFNQyxTQUFnQztJQUNwQ0MsTUFBTUY7SUFDTkg7SUFDQUM7SUFDQUssU0FBUztRQUFDSjtLQUFXO0FBQ3ZCO0FBRUEsZUFBZUUsT0FBTSJ9
@@ -1,24 +1,14 @@
1
1
  'use client';
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "WithUpload", {
7
- enumerable: true,
8
- get: function() {
9
- return WithUpload;
10
- }
11
- });
12
- const _useSlatePlugin = require("../../../utilities/useSlatePlugin");
13
- const _shared = require("./shared");
14
- const WithUpload = ()=>{
15
- (0, _useSlatePlugin.useSlatePlugin)('withUpload', (incomingEditor)=>{
2
+ import { useSlatePlugin } from '../../../utilities/useSlatePlugin';
3
+ import { uploadName } from './shared';
4
+ export const WithUpload = ()=>{
5
+ useSlatePlugin('withUpload', (incomingEditor)=>{
16
6
  const editor = incomingEditor;
17
7
  const { isVoid } = editor;
18
- editor.isVoid = (element)=>element.type === _shared.uploadName ? true : isVoid(element);
8
+ editor.isVoid = (element)=>element.type === uploadName ? true : isVoid(element);
19
9
  return editor;
20
10
  });
21
11
  return null;
22
12
  };
23
13
 
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9lbGVtZW50cy91cGxvYWQvcGx1Z2luLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHR5cGUgUmVhY3QgZnJvbSAncmVhY3QnXG5cbmltcG9ydCB7IHVzZVNsYXRlUGx1Z2luIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3VzZVNsYXRlUGx1Z2luJ1xuaW1wb3J0IHsgdXBsb2FkTmFtZSB9IGZyb20gJy4vc2hhcmVkJ1xuXG5leHBvcnQgY29uc3QgV2l0aFVwbG9hZDogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIHVzZVNsYXRlUGx1Z2luKCd3aXRoVXBsb2FkJywgKGluY29taW5nRWRpdG9yKSA9PiB7XG4gICAgY29uc3QgZWRpdG9yID0gaW5jb21pbmdFZGl0b3JcbiAgICBjb25zdCB7IGlzVm9pZCB9ID0gZWRpdG9yXG5cbiAgICBlZGl0b3IuaXNWb2lkID0gKGVsZW1lbnQpID0+IChlbGVtZW50LnR5cGUgPT09IHVwbG9hZE5hbWUgPyB0cnVlIDogaXNWb2lkKGVsZW1lbnQpKVxuXG4gICAgcmV0dXJuIGVkaXRvclxuICB9KVxuICByZXR1cm4gbnVsbFxufVxuIl0sIm5hbWVzIjpbIldpdGhVcGxvYWQiLCJ1c2VTbGF0ZVBsdWdpbiIsImluY29taW5nRWRpdG9yIiwiZWRpdG9yIiwiaXNWb2lkIiwiZWxlbWVudCIsInR5cGUiLCJ1cGxvYWROYW1lIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7K0JBT2FBOzs7ZUFBQUE7OztnQ0FIa0I7d0JBQ0o7QUFFcEIsTUFBTUEsYUFBdUI7SUFDbENDLElBQUFBLDhCQUFjLEVBQUMsY0FBYyxDQUFDQztRQUM1QixNQUFNQyxTQUFTRDtRQUNmLE1BQU0sRUFBRUUsTUFBTSxFQUFFLEdBQUdEO1FBRW5CQSxPQUFPQyxNQUFNLEdBQUcsQ0FBQ0MsVUFBYUEsUUFBUUMsSUFBSSxLQUFLQyxrQkFBVSxHQUFHLE9BQU9ILE9BQU9DO1FBRTFFLE9BQU9GO0lBQ1Q7SUFDQSxPQUFPO0FBQ1QifQ==
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9lbGVtZW50cy91cGxvYWQvcGx1Z2luLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuaW1wb3J0IHR5cGUgUmVhY3QgZnJvbSAncmVhY3QnXG5cbmltcG9ydCB7IHVzZVNsYXRlUGx1Z2luIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3VzZVNsYXRlUGx1Z2luJ1xuaW1wb3J0IHsgdXBsb2FkTmFtZSB9IGZyb20gJy4vc2hhcmVkJ1xuXG5leHBvcnQgY29uc3QgV2l0aFVwbG9hZDogUmVhY3QuRkMgPSAoKSA9PiB7XG4gIHVzZVNsYXRlUGx1Z2luKCd3aXRoVXBsb2FkJywgKGluY29taW5nRWRpdG9yKSA9PiB7XG4gICAgY29uc3QgZWRpdG9yID0gaW5jb21pbmdFZGl0b3JcbiAgICBjb25zdCB7IGlzVm9pZCB9ID0gZWRpdG9yXG5cbiAgICBlZGl0b3IuaXNWb2lkID0gKGVsZW1lbnQpID0+IChlbGVtZW50LnR5cGUgPT09IHVwbG9hZE5hbWUgPyB0cnVlIDogaXNWb2lkKGVsZW1lbnQpKVxuXG4gICAgcmV0dXJuIGVkaXRvclxuICB9KVxuICByZXR1cm4gbnVsbFxufVxuIl0sIm5hbWVzIjpbInVzZVNsYXRlUGx1Z2luIiwidXBsb2FkTmFtZSIsIldpdGhVcGxvYWQiLCJpbmNvbWluZ0VkaXRvciIsImVkaXRvciIsImlzVm9pZCIsImVsZW1lbnQiLCJ0eXBlIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUlBLFNBQVNBLGNBQWMsUUFBUSxvQ0FBbUM7QUFDbEUsU0FBU0MsVUFBVSxRQUFRLFdBQVU7QUFFckMsT0FBTyxNQUFNQyxhQUF1QjtJQUNsQ0YsZUFBZSxjQUFjLENBQUNHO1FBQzVCLE1BQU1DLFNBQVNEO1FBQ2YsTUFBTSxFQUFFRSxNQUFNLEVBQUUsR0FBR0Q7UUFFbkJBLE9BQU9DLE1BQU0sR0FBRyxDQUFDQyxVQUFhQSxRQUFRQyxJQUFJLEtBQUtOLGFBQWEsT0FBT0ksT0FBT0M7UUFFMUUsT0FBT0Y7SUFDVDtJQUNBLE9BQU87QUFDVCxFQUFDIn0=