@payloadcms/richtext-lexical 0.1.0-beta.1 → 0.1.0-beta.3

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 (74) hide show
  1. package/dist/field/Field.d.ts.map +1 -1
  2. package/dist/field/Field.js +19 -4
  3. package/dist/field/features/Blocks/afterReadPromise.d.ts +5 -0
  4. package/dist/field/features/Blocks/afterReadPromise.d.ts.map +1 -0
  5. package/dist/field/features/Blocks/afterReadPromise.js +52 -0
  6. package/dist/field/features/Blocks/component/BlockContent.d.ts +14 -0
  7. package/dist/field/features/Blocks/component/BlockContent.d.ts.map +1 -0
  8. package/dist/field/features/Blocks/component/BlockContent.js +189 -0
  9. package/dist/field/features/Blocks/component/FormSavePlugin.d.ts +3 -2
  10. package/dist/field/features/Blocks/component/FormSavePlugin.d.ts.map +1 -1
  11. package/dist/field/features/Blocks/component/FormSavePlugin.js +4 -2
  12. package/dist/field/features/Blocks/component/index.d.ts.map +1 -1
  13. package/dist/field/features/Blocks/component/index.js +25 -105
  14. package/dist/field/features/Blocks/component/index.scss +24 -1
  15. package/dist/field/features/Blocks/drawer/index.js +9 -9
  16. package/dist/field/features/Blocks/index.d.ts.map +1 -1
  17. package/dist/field/features/Blocks/index.js +40 -19
  18. package/dist/field/features/Blocks/nodes/BlocksNode.d.ts +7 -6
  19. package/dist/field/features/Blocks/nodes/BlocksNode.d.ts.map +1 -1
  20. package/dist/field/features/Blocks/nodes/BlocksNode.js +9 -2
  21. package/dist/field/features/Blocks/plugin/index.js +3 -3
  22. package/dist/field/features/Blocks/validate.d.ts +5 -0
  23. package/dist/field/features/Blocks/validate.d.ts.map +1 -0
  24. package/dist/field/features/Blocks/validate.js +53 -0
  25. package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.d.ts.map +1 -1
  26. package/dist/field/features/Link/plugins/floatingLinkEditor/LinkEditor/index.js +18 -4
  27. package/dist/field/features/Link/plugins/floatingLinkEditor/index.scss +2 -2
  28. package/dist/field/features/Relationship/nodes/components/RelationshipComponent.d.ts.map +1 -1
  29. package/dist/field/features/Relationship/nodes/components/RelationshipComponent.js +2 -1
  30. package/dist/field/features/Relationship/nodes/components/index.scss +8 -0
  31. package/dist/field/features/Upload/component/ExtraFieldsDrawer/index.d.ts.map +1 -1
  32. package/dist/field/features/Upload/component/ExtraFieldsDrawer/index.js +20 -3
  33. package/dist/field/features/Upload/component/index.scss +1 -0
  34. package/dist/field/features/Upload/nodes/UploadNode.d.ts.map +1 -1
  35. package/dist/field/features/Upload/nodes/UploadNode.js +1 -1
  36. package/dist/field/features/types.d.ts +15 -2
  37. package/dist/field/features/types.d.ts.map +1 -1
  38. package/dist/field/index.scss +38 -0
  39. package/dist/field/lexical/LexicalEditor.scss +28 -26
  40. package/dist/field/lexical/config/sanitize.d.ts.map +1 -1
  41. package/dist/field/lexical/config/sanitize.js +6 -2
  42. package/dist/field/lexical/plugins/FloatingSelectToolbar/ToolbarDropdown/index.scss +1 -1
  43. package/dist/field/lexical/plugins/FloatingSelectToolbar/index.scss +1 -1
  44. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts +7 -0
  45. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.d.ts.map +1 -1
  46. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/LexicalMenu.js +8 -3
  47. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts +2 -2
  48. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.d.ts.map +1 -1
  49. package/dist/field/lexical/plugins/SlashMenu/LexicalTypeaheadMenuPlugin/index.js +19 -11
  50. package/dist/field/lexical/plugins/SlashMenu/index.d.ts.map +1 -1
  51. package/dist/field/lexical/plugins/SlashMenu/index.js +14 -2
  52. package/dist/field/lexical/plugins/SlashMenu/index.scss +9 -2
  53. package/dist/field/lexical/plugins/handles/AddBlockHandlePlugin/index.js +4 -3
  54. package/dist/field/lexical/theme/EditorTheme.scss +3 -2
  55. package/dist/index.d.ts +1 -1
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +9 -5
  58. package/dist/populate/defaultValue.d.ts +17 -0
  59. package/dist/populate/defaultValue.d.ts.map +1 -1
  60. package/dist/populate/defaultValue.js +31 -4
  61. package/dist/populate/recurseNestedFields.d.ts.map +1 -1
  62. package/dist/populate/recurseNestedFields.js +3 -1
  63. package/dist/validate/index.d.ts +7 -0
  64. package/dist/validate/index.d.ts.map +1 -0
  65. package/dist/validate/index.js +40 -0
  66. package/dist/validate/validateNodes.d.ts +14 -0
  67. package/dist/validate/validateNodes.d.ts.map +1 -0
  68. package/dist/validate/validateNodes.js +44 -0
  69. package/package.json +4 -3
  70. package/src/index.ts +5 -1
  71. package/dist/field/features/Upload/nodes/UploadNode.scss +0 -4
  72. package/dist/populate/validation.d.ts +0 -4
  73. package/dist/populate/validation.d.ts.map +0 -1
  74. package/dist/populate/validation.js +0 -21
@@ -1 +1 @@
1
- {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../src/field/Field.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAG1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAG1C,OAAO,cAAc,CAAA;;AAgGrB,wBAAsC"}
1
+ {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../src/field/Field.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAsB,MAAM,OAAO,CAAA;AAG1C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAI1C,OAAO,cAAc,CAAA;;AA4GrB,wBAAsC"}
@@ -11,7 +11,8 @@ Object.defineProperty(exports, "default", {
11
11
  const _forms = require("payload/components/forms");
12
12
  const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
13
13
  const _reacterrorboundary = require("react-error-boundary");
14
- const _validation = require("../populate/validation");
14
+ const _defaultValue = require("../populate/defaultValue");
15
+ const _validate = require("../validate");
15
16
  require("./index.scss");
16
17
  const _LexicalProvider = require("./lexical/LexicalProvider");
17
18
  function _getRequireWildcardCache(nodeInterop) {
@@ -62,16 +63,20 @@ const RichText = (props)=>{
62
63
  readOnly,
63
64
  style,
64
65
  width
65
- }, admin, defaultValue: defaultValueFromProps, editorConfig, label, path: pathFromProps, required, validate = _validation.richTextValidate } = props;
66
+ }, defaultValue: defaultValueFromProps, editorConfig, label, path: pathFromProps, required, validate = (0, _validate.richTextValidateHOC)({
67
+ editorConfig
68
+ }) } = props;
66
69
  const path = pathFromProps || name;
67
70
  const memoizedValidate = (0, _react.useCallback)((value, validationOptions)=>{
68
71
  return validate(value, {
69
72
  ...validationOptions,
73
+ props,
70
74
  required
71
75
  });
72
76
  }, [
73
77
  validate,
74
- required
78
+ required,
79
+ props
75
80
  ]);
76
81
  const fieldType = (0, _forms.useField)({
77
82
  condition,
@@ -79,6 +84,16 @@ const RichText = (props)=>{
79
84
  validate: memoizedValidate
80
85
  });
81
86
  const { errorMessage, initialValue, setValue, showError, value } = fieldType;
87
+ let valueToUse = value;
88
+ if (typeof valueToUse === 'string') {
89
+ try {
90
+ const parsedJSON = JSON.parse(valueToUse);
91
+ valueToUse = parsedJSON;
92
+ } catch (err) {
93
+ valueToUse = null;
94
+ }
95
+ }
96
+ if (!valueToUse) valueToUse = defaultValueFromProps || _defaultValue.defaultRichTextValueV2;
82
97
  const classes = [
83
98
  baseClass,
84
99
  'field-type',
@@ -135,4 +150,4 @@ function fallbackRender({ error }) {
135
150
  }
136
151
  const _default = (0, _forms.withCondition)(RichText);
137
152
 
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZC9GaWVsZC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTZXJpYWxpemVkRWRpdG9yU3RhdGUgfSBmcm9tICdsZXhpY2FsJ1xuXG5pbXBvcnQgeyBFcnJvciwgRmllbGREZXNjcmlwdGlvbiwgTGFiZWwsIHVzZUZpZWxkLCB3aXRoQ29uZGl0aW9uIH0gZnJvbSAncGF5bG9hZC9jb21wb25lbnRzL2Zvcm1zJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBFcnJvckJvdW5kYXJ5IH0gZnJvbSAncmVhY3QtZXJyb3ItYm91bmRhcnknXG5cbmltcG9ydCB0eXBlIHsgRmllbGRQcm9wcyB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyByaWNoVGV4dFZhbGlkYXRlIH0gZnJvbSAnLi4vcG9wdWxhdGUvdmFsaWRhdGlvbidcbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuaW1wb3J0IHsgTGV4aWNhbFByb3ZpZGVyIH0gZnJvbSAnLi9sZXhpY2FsL0xleGljYWxQcm92aWRlcidcblxuY29uc3QgYmFzZUNsYXNzID0gJ3JpY2gtdGV4dC1sZXhpY2FsJ1xuXG5jb25zdCBSaWNoVGV4dDogUmVhY3QuRkM8RmllbGRQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3Qge1xuICAgIG5hbWUsXG4gICAgYWRtaW46IHsgY2xhc3NOYW1lLCBjb25kaXRpb24sIGRlc2NyaXB0aW9uLCByZWFkT25seSwgc3R5bGUsIHdpZHRoIH0gPSB7XG4gICAgICBjbGFzc05hbWUsXG4gICAgICBjb25kaXRpb24sXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICAgIHJlYWRPbmx5LFxuICAgICAgc3R5bGUsXG4gICAgICB3aWR0aCxcbiAgICB9LFxuICAgIGFkbWluLFxuICAgIGRlZmF1bHRWYWx1ZTogZGVmYXVsdFZhbHVlRnJvbVByb3BzLFxuICAgIGVkaXRvckNvbmZpZyxcbiAgICBsYWJlbCxcbiAgICBwYXRoOiBwYXRoRnJvbVByb3BzLFxuICAgIHJlcXVpcmVkLFxuICAgIHZhbGlkYXRlID0gcmljaFRleHRWYWxpZGF0ZSxcbiAgfSA9IHByb3BzXG5cbiAgY29uc3QgcGF0aCA9IHBhdGhGcm9tUHJvcHMgfHwgbmFtZVxuXG4gIGNvbnN0IG1lbW9pemVkVmFsaWRhdGUgPSB1c2VDYWxsYmFjayhcbiAgICAodmFsdWUsIHZhbGlkYXRpb25PcHRpb25zKSA9PiB7XG4gICAgICByZXR1cm4gdmFsaWRhdGUodmFsdWUsIHsgLi4udmFsaWRhdGlvbk9wdGlvbnMsIHJlcXVpcmVkIH0pXG4gICAgfSxcbiAgICBbdmFsaWRhdGUsIHJlcXVpcmVkXSxcbiAgKVxuXG4gIGNvbnN0IGZpZWxkVHlwZSA9IHVzZUZpZWxkPFNlcmlhbGl6ZWRFZGl0b3JTdGF0ZT4oe1xuICAgIGNvbmRpdGlvbixcbiAgICBwYXRoLFxuICAgIHZhbGlkYXRlOiBtZW1vaXplZFZhbGlkYXRlLFxuICB9KVxuXG4gIGNvbnN0IHsgZXJyb3JNZXNzYWdlLCBpbml0aWFsVmFsdWUsIHNldFZhbHVlLCBzaG93RXJyb3IsIHZhbHVlIH0gPSBmaWVsZFR5cGVcblxuICBjb25zdCBjbGFzc2VzID0gW1xuICAgIGJhc2VDbGFzcyxcbiAgICAnZmllbGQtdHlwZScsXG4gICAgY2xhc3NOYW1lLFxuICAgIHNob3dFcnJvciAmJiAnZXJyb3InLFxuICAgIHJlYWRPbmx5ICYmIGAke2Jhc2VDbGFzc30tLXJlYWQtb25seWAsXG4gIF1cbiAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgLmpvaW4oJyAnKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc2VzfVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgLi4uc3R5bGUsXG4gICAgICAgIHdpZHRoLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fd3JhcGB9PlxuICAgICAgICA8RXJyb3IgbWVzc2FnZT17ZXJyb3JNZXNzYWdlfSBzaG93RXJyb3I9e3Nob3dFcnJvcn0gLz5cbiAgICAgICAgPExhYmVsIGh0bWxGb3I9e2BmaWVsZC0ke3BhdGgucmVwbGFjZSgvXFwuL2csICdfXycpfWB9IGxhYmVsPXtsYWJlbH0gcmVxdWlyZWQ9e3JlcXVpcmVkfSAvPlxuICAgICAgICA8RXJyb3JCb3VuZGFyeSBmYWxsYmFja1JlbmRlcj17ZmFsbGJhY2tSZW5kZXJ9IG9uUmVzZXQ9eyhkZXRhaWxzKSA9PiB7fX0+XG4gICAgICAgICAgPExleGljYWxQcm92aWRlclxuICAgICAgICAgICAgZWRpdG9yQ29uZmlnPXtlZGl0b3JDb25maWd9XG4gICAgICAgICAgICBmaWVsZFByb3BzPXtwcm9wc31cbiAgICAgICAgICAgIGluaXRpYWxTdGF0ZT17aW5pdGlhbFZhbHVlfVxuICAgICAgICAgICAgb25DaGFuZ2U9eyhlZGl0b3JTdGF0ZSwgZWRpdG9yLCB0YWdzKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGpzb24gPSBlZGl0b3JTdGF0ZS50b0pTT04oKVxuXG4gICAgICAgICAgICAgIHNldFZhbHVlKGpzb24pXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgcmVhZE9ubHk9e3JlYWRPbmx5fVxuICAgICAgICAgICAgc2V0VmFsdWU9e3NldFZhbHVlfVxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPEZpZWxkRGVzY3JpcHRpb24gZGVzY3JpcHRpb249e2Rlc2NyaXB0aW9ufSB2YWx1ZT17dmFsdWV9IC8+XG4gICAgICAgIDwvRXJyb3JCb3VuZGFyeT5cbiAgICAgICAgPEZpZWxkRGVzY3JpcHRpb24gZGVzY3JpcHRpb249e2Rlc2NyaXB0aW9ufSB2YWx1ZT17dmFsdWV9IC8+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5mdW5jdGlvbiBmYWxsYmFja1JlbmRlcih7IGVycm9yIH0pOiBKU1guRWxlbWVudCB7XG4gIC8vIENhbGwgcmVzZXRFcnJvckJvdW5kYXJ5KCkgdG8gcmVzZXQgdGhlIGVycm9yIGJvdW5kYXJ5IGFuZCByZXRyeSB0aGUgcmVuZGVyLlxuXG4gIHJldHVybiAoXG4gICAgPGRpdiByb2xlPVwiYWxlcnRcIj5cbiAgICAgIDxwPlNvbWV0aGluZyB3ZW50IHdyb25nOjwvcD5cbiAgICAgIDxwcmUgc3R5bGU9e3sgY29sb3I6ICdyZWQnIH19PntlcnJvci5tZXNzYWdlfTwvcHJlPlxuICAgIDwvZGl2PlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhDb25kaXRpb24oUmljaFRleHQpXG4iXSwibmFtZXMiOlsiYmFzZUNsYXNzIiwiUmljaFRleHQiLCJwcm9wcyIsIm5hbWUiLCJhZG1pbiIsImNsYXNzTmFtZSIsImNvbmRpdGlvbiIsImRlc2NyaXB0aW9uIiwicmVhZE9ubHkiLCJzdHlsZSIsIndpZHRoIiwiZGVmYXVsdFZhbHVlIiwiZGVmYXVsdFZhbHVlRnJvbVByb3BzIiwiZWRpdG9yQ29uZmlnIiwibGFiZWwiLCJwYXRoIiwicGF0aEZyb21Qcm9wcyIsInJlcXVpcmVkIiwidmFsaWRhdGUiLCJyaWNoVGV4dFZhbGlkYXRlIiwibWVtb2l6ZWRWYWxpZGF0ZSIsInVzZUNhbGxiYWNrIiwidmFsdWUiLCJ2YWxpZGF0aW9uT3B0aW9ucyIsImZpZWxkVHlwZSIsInVzZUZpZWxkIiwiZXJyb3JNZXNzYWdlIiwiaW5pdGlhbFZhbHVlIiwic2V0VmFsdWUiLCJzaG93RXJyb3IiLCJjbGFzc2VzIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJkaXYiLCJFcnJvciIsIm1lc3NhZ2UiLCJMYWJlbCIsImh0bWxGb3IiLCJyZXBsYWNlIiwiRXJyb3JCb3VuZGFyeSIsImZhbGxiYWNrUmVuZGVyIiwib25SZXNldCIsImRldGFpbHMiLCJMZXhpY2FsUHJvdmlkZXIiLCJmaWVsZFByb3BzIiwiaW5pdGlhbFN0YXRlIiwib25DaGFuZ2UiLCJlZGl0b3JTdGF0ZSIsImVkaXRvciIsInRhZ3MiLCJqc29uIiwidG9KU09OIiwiRmllbGRE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
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maWVsZC9GaWVsZC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTZXJpYWxpemVkRWRpdG9yU3RhdGUgfSBmcm9tICdsZXhpY2FsJ1xuXG5pbXBvcnQgeyBFcnJvciwgRmllbGREZXNjcmlwdGlvbiwgTGFiZWwsIHVzZUZpZWxkLCB3aXRoQ29uZGl0aW9uIH0gZnJvbSAncGF5bG9hZC9jb21wb25lbnRzL2Zvcm1zJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBFcnJvckJvdW5kYXJ5IH0gZnJvbSAncmVhY3QtZXJyb3ItYm91bmRhcnknXG5cbmltcG9ydCB0eXBlIHsgRmllbGRQcm9wcyB9IGZyb20gJy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBkZWZhdWx0UmljaFRleHRWYWx1ZVYyIH0gZnJvbSAnLi4vcG9wdWxhdGUvZGVmYXVsdFZhbHVlJ1xuaW1wb3J0IHsgcmljaFRleHRWYWxpZGF0ZUhPQyB9IGZyb20gJy4uL3ZhbGlkYXRlJ1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5pbXBvcnQgeyBMZXhpY2FsUHJvdmlkZXIgfSBmcm9tICcuL2xleGljYWwvTGV4aWNhbFByb3ZpZGVyJ1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAncmljaC10ZXh0LWxleGljYWwnXG5cbmNvbnN0IFJpY2hUZXh0OiBSZWFjdC5GQzxGaWVsZFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgbmFtZSxcbiAgICBhZG1pbjogeyBjbGFzc05hbWUsIGNvbmRpdGlvbiwgZGVzY3JpcHRpb24sIHJlYWRPbmx5LCBzdHlsZSwgd2lkdGggfSA9IHtcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIGNvbmRpdGlvbixcbiAgICAgIGRlc2NyaXB0aW9uLFxuICAgICAgcmVhZE9ubHksXG4gICAgICBzdHlsZSxcbiAgICAgIHdpZHRoLFxuICAgIH0sXG4gICAgZGVmYXVsdFZhbHVlOiBkZWZhdWx0VmFsdWVGcm9tUHJvcHMsXG4gICAgZWRpdG9yQ29uZmlnLFxuICAgIGxhYmVsLFxuICAgIHBhdGg6IHBhdGhGcm9tUHJvcHMsXG4gICAgcmVxdWlyZWQsXG4gICAgdmFsaWRhdGUgPSByaWNoVGV4dFZhbGlkYXRlSE9DKHsgZWRpdG9yQ29uZmlnIH0pLFxuICB9ID0gcHJvcHNcblxuICBjb25zdCBwYXRoID0gcGF0aEZyb21Qcm9wcyB8fCBuYW1lXG5cbiAgY29uc3QgbWVtb2l6ZWRWYWxpZGF0ZSA9IHVzZUNhbGxiYWNrKFxuICAgICh2YWx1ZSwgdmFsaWRhdGlvbk9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiB2YWxpZGF0ZSh2YWx1ZSwgeyAuLi52YWxpZGF0aW9uT3B0aW9ucywgcHJvcHMsIHJlcXVpcmVkIH0pXG4gICAgfSxcbiAgICBbdmFsaWRhdGUsIHJlcXVpcmVkLCBwcm9wc10sXG4gIClcblxuICBjb25zdCBmaWVsZFR5cGUgPSB1c2VGaWVsZDxTZXJpYWxpemVkRWRpdG9yU3RhdGU+KHtcbiAgICBjb25kaXRpb24sXG4gICAgcGF0aCxcbiAgICB2YWxpZGF0ZTogbWVtb2l6ZWRWYWxpZGF0ZSxcbiAgfSlcblxuICBjb25zdCB7IGVycm9yTWVzc2FnZSwgaW5pdGlhbFZhbHVlLCBzZXRWYWx1ZSwgc2hvd0Vycm9yLCB2YWx1ZSB9ID0gZmllbGRUeXBlXG5cbiAgbGV0IHZhbHVlVG9Vc2UgPSB2YWx1ZVxuXG4gIGlmICh0eXBlb2YgdmFsdWVUb1VzZSA9PT0gJ3N0cmluZycpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcGFyc2VkSlNPTiA9IEpTT04ucGFyc2UodmFsdWVUb1VzZSlcbiAgICAgIHZhbHVlVG9Vc2UgPSBwYXJzZWRKU09OXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICB2YWx1ZVRvVXNlID0gbnVsbFxuICAgIH1cbiAgfVxuXG4gIGlmICghdmFsdWVUb1VzZSkgdmFsdWVUb1VzZSA9IGRlZmF1bHRWYWx1ZUZyb21Qcm9wcyB8fCBkZWZhdWx0UmljaFRleHRWYWx1ZVYyXG5cbiAgY29uc3QgY2xhc3NlcyA9IFtcbiAgICBiYXNlQ2xhc3MsXG4gICAgJ2ZpZWxkLXR5cGUnLFxuICAgIGNsYXNzTmFtZSxcbiAgICBzaG93RXJyb3IgJiYgJ2Vycm9yJyxcbiAgICByZWFkT25seSAmJiBgJHtiYXNlQ2xhc3N9LS1yZWFkLW9ubHlgLFxuICBdXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICAgIC5qb2luKCcgJylcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17Y2xhc3Nlc31cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIC4uLnN0eWxlLFxuICAgICAgICB3aWR0aCxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3dyYXBgfT5cbiAgICAgICAgPEVycm9yIG1lc3NhZ2U9e2Vycm9yTWVzc2FnZX0gc2hvd0Vycm9yPXtzaG93RXJyb3J9IC8+XG4gICAgICAgIDxMYWJlbCBodG1sRm9yPXtgZmllbGQtJHtwYXRoLnJlcGxhY2UoL1xcLi9nLCAnX18nKX1gfSBsYWJlbD17bGFiZWx9IHJlcXVpcmVkPXtyZXF1aXJlZH0gLz5cbiAgICAgICAgPEVycm9yQm91bmRhcnkgZmFsbGJhY2tSZW5kZXI9e2ZhbGxiYWNrUmVuZGVyfSBvblJlc2V0PXsoZGV0YWlscykgPT4ge319PlxuICAgICAgICAgIDxMZXhpY2FsUHJvdmlkZXJcbiAgICAgICAgICAgIGVkaXRvckNvbmZpZz17ZWRpdG9yQ29uZmlnfVxuICAgICAgICAgICAgZmllbGRQcm9wcz17cHJvcHN9XG4gICAgICAgICAgICBpbml0aWFsU3RhdGU9e2luaXRpYWxWYWx1ZX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXsoZWRpdG9yU3RhdGUsIGVkaXRvciwgdGFncykgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBqc29uID0gZWRpdG9yU3RhdGUudG9KU09OKClcblxuICAgICAgICAgICAgICBzZXRWYWx1ZShqc29uKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIHJlYWRPbmx5PXtyZWFkT25seX1cbiAgICAgICAgICAgIHNldFZhbHVlPXtzZXRWYWx1ZX1cbiAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxGaWVsZERlc2NyaXB0aW9uIGRlc2NyaXB0aW9uPXtkZXNjcmlwdGlvbn0gdmFsdWU9e3ZhbHVlfSAvPlxuICAgICAgICA8L0Vycm9yQm91bmRhcnk+XG4gICAgICAgIDxGaWVsZERlc2NyaXB0aW9uIGRlc2NyaXB0aW9uPXtkZXNjcmlwdGlvbn0gdmFsdWU9e3ZhbHVlfSAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cblxuZnVuY3Rpb24gZmFsbGJhY2tSZW5kZXIoeyBlcnJvciB9KTogSlNYLkVsZW1lbnQge1xuICAvLyBDYWxsIHJlc2V0RXJyb3JCb3VuZGFyeSgpIHRvIHJlc2V0IHRoZSBlcnJvciBib3VuZGFyeSBhbmQgcmV0cnkgdGhlIHJlbmRlci5cblxuICByZXR1cm4gKFxuICAgIDxkaXYgcm9sZT1cImFsZXJ0XCI+XG4gICAgICA8cD5Tb21ldGhpbmcgd2VudCB3cm9uZzo8L3A+XG4gICAgICA8cHJlIHN0eWxlPXt7IGNvbG9yOiAncmVkJyB9fT57ZXJyb3IubWVzc2FnZX08L3ByZT5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoQ29uZGl0aW9uKFJpY2hUZXh0KVxuIl0sIm5hbWVzIjpbImJhc2VDbGFzcyIsIlJpY2hUZXh0IiwicHJvcHMiLCJuYW1lIiwiYWRtaW4iLCJjbGFzc05hbWUiLCJjb25kaXRpb24iLCJkZXNjcmlwdGlvbiIsInJlYWRPbmx5Iiwic3R5bGUiLCJ3aWR0aCIsImRlZmF1bHRWYWx1ZSIsImRlZmF1bHRWYWx1ZUZyb21Qcm9wcyIsImVkaXRvckNvbmZpZyIsImxhYmVsIiwicGF0aCIsInBhdGhGcm9tUHJvcHMiLCJyZXF1aXJlZCIsInZhbGlkYXRlIiwicmljaFRleHRWYWxpZGF0ZUhPQyIsIm1lbW9pemVkVmFsaWRhdGUiLCJ1c2VDYWxsYmFjayIsInZhbHVlIiwidmFsaWRhdGlvbk9wdGlvbnMiLCJmaWVsZFR5cGUiLCJ1c2VGaWVsZCIsImVycm9yTWVzc2FnZSIsImluaXRpYWxWYWx1ZSIsInNldFZhbHVlIiwic2hvd0Vycm9yIiwidmFsdWVUb1VzZSIsInBhcnNlZEpTT04iLCJKU09OIiwicGFyc2UiLCJlcnIiLCJkZWZhdWx0UmljaFRleHRWYWx1ZVYyIiwiY2xhc3NlcyIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwiZGl2IiwiRXJyb3IiLCJtZXNzYWdlIiwiTGFiZWwiLCJodG1sRm9yIiwicmVwbGFjZSIsIkVycm9yQm91bmRhcnkiLCJmYWxsYmFja1JlbmRlciIsIm9uUmVzZXQiLCJkZXRhaWxzIiwiTGV4aWNhbFByb3ZpZGVyIiwiZmllbGRQcm9wcyIsImluaXRpYWxTdGF0ZSIsIm9uQ2hhbmdlIiwiZWRpdG9yU3RhdGUiLCJlZGl0b3IiLCJ0YWdzIiwianNvbiIsInRvSlNPTiIsIkZpZWxkRGVzY3JpcHRpb24iLCJlcnJvciIsInJvbGUiLCJwIiwicHJlIiwiY29sb3IiLCJ3aXRoQ29uZGl0aW9uIl0sIm1hcHBpbmdzIjoiOzs7OytCQXNIQTs7O2VBQUE7Ozt1QkFwSHdFOytEQUNyQztvQ0FDTDs4QkFJUzswQkFDSDtRQUM3QjtpQ0FDeUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFaEMsTUFBTUEsWUFBWTtBQUVsQixNQUFNQyxXQUFpQyxDQUFDQztJQUN0QyxNQUFNLEVBQ0pDLElBQUksRUFDSkMsT0FBTyxFQUFFQyxTQUFTLEVBQUVDLFNBQVMsRUFBRUMsV0FBVyxFQUFFQyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsS0FBSyxFQUFFLEdBQUc7UUFDckVMO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO1FBQ0FDO0lBQ0YsQ0FBQyxFQUNEQyxjQUFjQyxxQkFBcUIsRUFDbkNDLFlBQVksRUFDWkMsS0FBSyxFQUNMQyxNQUFNQyxhQUFhLEVBQ25CQyxRQUFRLEVBQ1JDLFdBQVdDLElBQUFBLDZCQUFtQixFQUFDO1FBQUVOO0lBQWEsRUFBRSxFQUNqRCxHQUFHWDtJQUVKLE1BQU1hLE9BQU9DLGlCQUFpQmI7SUFFOUIsTUFBTWlCLG1CQUFtQkMsSUFBQUEsa0JBQVcsRUFDbEMsQ0FBQ0MsT0FBT0M7UUFDTixPQUFPTCxTQUFTSSxPQUFPO1lBQUUsR0FBR0MsaUJBQWlCO1lBQUVyQjtZQUFPZTtRQUFTO0lBQ2pFLEdBQ0E7UUFBQ0M7UUFBVUQ7UUFBVWY7S0FBTTtJQUc3QixNQUFNc0IsWUFBWUMsSUFBQUEsZUFBUSxFQUF3QjtRQUNoRG5CO1FBQ0FTO1FBQ0FHLFVBQVVFO0lBQ1o7SUFFQSxNQUFNLEVBQUVNLFlBQVksRUFBRUMsWUFBWSxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsRUFBRVAsS0FBSyxFQUFFLEdBQUdFO0lBRW5FLElBQUlNLGFBQWFSO0lBRWpCLElBQUksT0FBT1EsZUFBZSxVQUFVO1FBQ2xDLElBQUk7WUFDRixNQUFNQyxhQUFhQyxLQUFLQyxLQUFLLENBQUNIO1lBQzlCQSxhQUFhQztRQUNmLEVBQUUsT0FBT0csS0FBSztZQUNaSixhQUFhO1FBQ2Y7SUFDRjtJQUVBLElBQUksQ0FBQ0EsWUFBWUEsYUFBYWxCLHlCQUF5QnVCLG9DQUFzQjtJQUU3RSxNQUFNQyxVQUFVO1FBQ2RwQztRQUNBO1FBQ0FLO1FBQ0F3QixhQUFhO1FBQ2JyQixZQUFZLENBQUMsRUFBRVIsVUFBVSxXQUFXLENBQUM7S0FDdEMsQ0FDRXFDLE1BQU0sQ0FBQ0MsU0FDUEMsSUFBSSxDQUFDO0lBRVIscUJBQ0UsNkJBQUNDO1FBQ0NuQyxXQUFXK0I7UUFDWDNCLE9BQU87WUFDTCxHQUFHQSxLQUFLO1lBQ1JDO1FBQ0Y7cUJBRUEsNkJBQUM4QjtRQUFJbkMsV0FBVyxDQUFDLEVBQUVMLFVBQVUsTUFBTSxDQUFDO3FCQUNsQyw2QkFBQ3lDLFlBQUs7UUFBQ0MsU0FBU2hCO1FBQWNHLFdBQVdBO3NCQUN6Qyw2QkFBQ2MsWUFBSztRQUFDQyxTQUFTLENBQUMsTUFBTSxFQUFFN0IsS0FBSzhCLE9BQU8sQ0FBQyxPQUFPLE1BQU0sQ0FBQztRQUFFL0IsT0FBT0E7UUFBT0csVUFBVUE7c0JBQzlFLDZCQUFDNkIsaUNBQWE7UUFBQ0MsZ0JBQWdCQTtRQUFnQkMsU0FBUyxDQUFDQyxXQUFhO3FCQUNwRSw2QkFBQ0MsZ0NBQWU7UUFDZHJDLGNBQWNBO1FBQ2RzQyxZQUFZakQ7UUFDWmtELGNBQWN6QjtRQUNkMEIsVUFBVSxDQUFDQyxhQUFhQyxRQUFRQztZQUM5QixNQUFNQyxPQUFPSCxZQUFZSSxNQUFNO1lBRS9COUIsU0FBUzZCO1FBQ1g7UUFDQWpELFVBQVVBO1FBQ1ZvQixVQUFVQTtRQUNWTixPQUFPQTtzQkFFVCw2QkFBQ3FDLHVCQUFnQjtRQUFDcEQsYUFBYUE7UUFBYWUsT0FBT0E7dUJBRXJELDZCQUFDcUMsdUJBQWdCO1FBQUNwRCxhQUFhQTtRQUFhZSxPQUFPQTs7QUFJM0Q7QUFFQSxTQUFTeUIsZUFBZSxFQUFFYSxLQUFLLEVBQUU7SUFDL0IsOEVBQThFO0lBRTlFLHFCQUNFLDZCQUFDcEI7UUFBSXFCLE1BQUs7cUJBQ1IsNkJBQUNDLFdBQUUsd0NBQ0gsNkJBQUNDO1FBQUl0RCxPQUFPO1lBQUV1RCxPQUFPO1FBQU07T0FBSUosTUFBTWxCLE9BQU87QUFHbEQ7TUFFQSxXQUFldUIsSUFBQUEsb0JBQWEsRUFBQ2hFIn0=
@@ -0,0 +1,5 @@
1
+ import type { BlocksFeatureProps } from '.';
2
+ import type { AfterReadPromise } from '../types';
3
+ import type { SerializedBlockNode } from './nodes/BlocksNode';
4
+ export declare const blockAfterReadPromiseHOC: (props: BlocksFeatureProps) => AfterReadPromise<SerializedBlockNode>;
5
+ //# sourceMappingURL=afterReadPromise.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"afterReadPromise.d.ts","sourceRoot":"","sources":["../../../../src/field/features/Blocks/afterReadPromise.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,GAAG,CAAA;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAI7D,eAAO,MAAM,wBAAwB,UAC5B,kBAAkB,KACxB,iBAAiB,mBAAmB,CAgDtC,CAAA"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "blockAfterReadPromiseHOC", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return blockAfterReadPromiseHOC;
9
+ }
10
+ });
11
+ const _config = require("payload/config");
12
+ const _recurseNestedFields = require("../../../populate/recurseNestedFields");
13
+ const blockAfterReadPromiseHOC = (props)=>{
14
+ const blockAfterReadPromise = ({ afterReadPromises, currentDepth, depth, field, node, overrideAccess, req, showHiddenFields })=>{
15
+ const promises = [];
16
+ // Sanitize block's fields here. This is done here and not in the feature, because the payload config is available here
17
+ const payloadConfig = req.payload.config;
18
+ const validRelationships = payloadConfig.collections.map((c)=>c.slug) || [];
19
+ props.blocks = props.blocks.map((block)=>{
20
+ const unsanitizedBlock = {
21
+ ...block
22
+ };
23
+ unsanitizedBlock.fields = (0, _config.sanitizeFields)({
24
+ config: payloadConfig,
25
+ fields: block.fields,
26
+ validRelationships
27
+ });
28
+ return unsanitizedBlock;
29
+ });
30
+ if (Array.isArray(props.blocks)) {
31
+ props.blocks.forEach((block)=>{
32
+ if (block?.fields) {
33
+ (0, _recurseNestedFields.recurseNestedFields)({
34
+ afterReadPromises,
35
+ currentDepth,
36
+ data: node.fields.data || {},
37
+ depth,
38
+ fields: block.fields,
39
+ overrideAccess,
40
+ promises,
41
+ req,
42
+ showHiddenFields
43
+ });
44
+ }
45
+ });
46
+ }
47
+ return promises;
48
+ };
49
+ return blockAfterReadPromise;
50
+ };
51
+
52
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9CbG9ja3MvYWZ0ZXJSZWFkUHJvbWlzZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzYW5pdGl6ZUZpZWxkcyB9IGZyb20gJ3BheWxvYWQvY29uZmlnJ1xuXG5pbXBvcnQgdHlwZSB7IEJsb2Nrc0ZlYXR1cmVQcm9wcyB9IGZyb20gJy4nXG5pbXBvcnQgdHlwZSB7IEFmdGVyUmVhZFByb21pc2UgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB0eXBlIHsgU2VyaWFsaXplZEJsb2NrTm9kZSB9IGZyb20gJy4vbm9kZXMvQmxvY2tzTm9kZSdcblxuaW1wb3J0IHsgcmVjdXJzZU5lc3RlZEZpZWxkcyB9IGZyb20gJy4uLy4uLy4uL3BvcHVsYXRlL3JlY3Vyc2VOZXN0ZWRGaWVsZHMnXG5cbmV4cG9ydCBjb25zdCBibG9ja0FmdGVyUmVhZFByb21pc2VIT0MgPSAoXG4gIHByb3BzOiBCbG9ja3NGZWF0dXJlUHJvcHMsXG4pOiBBZnRlclJlYWRQcm9taXNlPFNlcmlhbGl6ZWRCbG9ja05vZGU+ID0+IHtcbiAgY29uc3QgYmxvY2tBZnRlclJlYWRQcm9taXNlOiBBZnRlclJlYWRQcm9taXNlPFNlcmlhbGl6ZWRCbG9ja05vZGU+ID0gKHtcbiAgICBhZnRlclJlYWRQcm9taXNlcyxcbiAgICBjdXJyZW50RGVwdGgsXG4gICAgZGVwdGgsXG4gICAgZmllbGQsXG4gICAgbm9kZSxcbiAgICBvdmVycmlkZUFjY2VzcyxcbiAgICByZXEsXG4gICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgfSkgPT4ge1xuICAgIGNvbnN0IHByb21pc2VzOiBQcm9taXNlPHZvaWQ+W10gPSBbXVxuXG4gICAgLy8gU2FuaXRpemUgYmxvY2sncyBmaWVsZHMgaGVyZS4gVGhpcyBpcyBkb25lIGhlcmUgYW5kIG5vdCBpbiB0aGUgZmVhdHVyZSwgYmVjYXVzZSB0aGUgcGF5bG9hZCBjb25maWcgaXMgYXZhaWxhYmxlIGhlcmVcbiAgICBjb25zdCBwYXlsb2FkQ29uZmlnID0gcmVxLnBheWxvYWQuY29uZmlnXG4gICAgY29uc3QgdmFsaWRSZWxhdGlvbnNoaXBzID0gcGF5bG9hZENvbmZpZy5jb2xsZWN0aW9ucy5tYXAoKGMpID0+IGMuc2x1ZykgfHwgW11cbiAgICBwcm9wcy5ibG9ja3MgPSBwcm9wcy5ibG9ja3MubWFwKChibG9jaykgPT4ge1xuICAgICAgY29uc3QgdW5zYW5pdGl6ZWRCbG9jayA9IHsgLi4uYmxvY2sgfVxuICAgICAgdW5zYW5pdGl6ZWRCbG9jay5maWVsZHMgPSBzYW5pdGl6ZUZpZWxkcyh7XG4gICAgICAgIGNvbmZpZzogcGF5bG9hZENvbmZpZyxcbiAgICAgICAgZmllbGRzOiBibG9jay5maWVsZHMsXG4gICAgICAgIHZhbGlkUmVsYXRpb25zaGlwcyxcbiAgICAgIH0pXG4gICAgICByZXR1cm4gdW5zYW5pdGl6ZWRCbG9ja1xuICAgIH0pXG5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShwcm9wcy5ibG9ja3MpKSB7XG4gICAgICBwcm9wcy5ibG9ja3MuZm9yRWFjaCgoYmxvY2spID0+IHtcbiAgICAgICAgaWYgKGJsb2NrPy5maWVsZHMpIHtcbiAgICAgICAgICByZWN1cnNlTmVzdGVkRmllbGRzKHtcbiAgICAgICAgICAgIGFmdGVyUmVhZFByb21pc2VzLFxuICAgICAgICAgICAgY3VycmVudERlcHRoLFxuICAgICAgICAgICAgZGF0YTogbm9kZS5maWVsZHMuZGF0YSB8fCB7fSxcbiAgICAgICAgICAgIGRlcHRoLFxuICAgICAgICAgICAgZmllbGRzOiBibG9jay5maWVsZHMsXG4gICAgICAgICAgICBvdmVycmlkZUFjY2VzcyxcbiAgICAgICAgICAgIHByb21pc2VzLFxuICAgICAgICAgICAgcmVxLFxuICAgICAgICAgICAgc2hvd0hpZGRlbkZpZWxkcyxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cblxuICAgIHJldHVybiBwcm9taXNlc1xuICB9XG5cbiAgcmV0dXJuIGJsb2NrQWZ0ZXJSZWFkUHJvbWlzZVxufVxuIl0sIm5hbWVzIjpbImJsb2NrQWZ0ZXJSZWFkUHJvbWlzZUhPQyIsInByb3BzIiwiYmxvY2tBZnRlclJlYWRQcm9taXNlIiwiYWZ0ZXJSZWFkUHJvbWlzZXMiLCJjdXJyZW50RGVwdGgiLCJkZXB0aCIsImZpZWxkIiwibm9kZSIsIm92ZXJyaWRlQWNjZXNzIiwicmVxIiwic2hvd0hpZGRlbkZpZWxkcyIsInByb21pc2VzIiwicGF5bG9hZENvbmZpZyIsInBheWxvYWQiLCJjb25maWciLCJ2YWxpZFJlbGF0aW9uc2hpcHMiLCJjb2xsZWN0aW9ucyIsIm1hcCIsImMiLCJzbHVnIiwiYmxvY2tzIiwiYmxvY2siLCJ1bnNhbml0aXplZEJsb2NrIiwiZmllbGRzIiwic2FuaXRpemVGaWVsZHMiLCJBcnJheSIsImlzQXJyYXkiLCJmb3JFYWNoIiwicmVjdXJzZU5lc3RlZEZpZWxkcyIsImRhdGEiXSwibWFwcGluZ3MiOiI7Ozs7K0JBUWFBOzs7ZUFBQUE7Ozt3QkFSa0I7cUNBTUs7QUFFN0IsTUFBTUEsMkJBQTJCLENBQ3RDQztJQUVBLE1BQU1DLHdCQUErRCxDQUFDLEVBQ3BFQyxpQkFBaUIsRUFDakJDLFlBQVksRUFDWkMsS0FBSyxFQUNMQyxLQUFLLEVBQ0xDLElBQUksRUFDSkMsY0FBYyxFQUNkQyxHQUFHLEVBQ0hDLGdCQUFnQixFQUNqQjtRQUNDLE1BQU1DLFdBQTRCLEVBQUU7UUFFcEMsdUhBQXVIO1FBQ3ZILE1BQU1DLGdCQUFnQkgsSUFBSUksT0FBTyxDQUFDQyxNQUFNO1FBQ3hDLE1BQU1DLHFCQUFxQkgsY0FBY0ksV0FBVyxDQUFDQyxHQUFHLENBQUMsQ0FBQ0MsSUFBTUEsRUFBRUMsSUFBSSxLQUFLLEVBQUU7UUFDN0VsQixNQUFNbUIsTUFBTSxHQUFHbkIsTUFBTW1CLE1BQU0sQ0FBQ0gsR0FBRyxDQUFDLENBQUNJO1lBQy9CLE1BQU1DLG1CQUFtQjtnQkFBRSxHQUFHRCxLQUFLO1lBQUM7WUFDcENDLGlCQUFpQkMsTUFBTSxHQUFHQyxJQUFBQSxzQkFBYyxFQUFDO2dCQUN2Q1YsUUFBUUY7Z0JBQ1JXLFFBQVFGLE1BQU1FLE1BQU07Z0JBQ3BCUjtZQUNGO1lBQ0EsT0FBT087UUFDVDtRQUVBLElBQUlHLE1BQU1DLE9BQU8sQ0FBQ3pCLE1BQU1tQixNQUFNLEdBQUc7WUFDL0JuQixNQUFNbUIsTUFBTSxDQUFDTyxPQUFPLENBQUMsQ0FBQ047Z0JBQ3BCLElBQUlBLE9BQU9FLFFBQVE7b0JBQ2pCSyxJQUFBQSx3Q0FBbUIsRUFBQzt3QkFDbEJ6Qjt3QkFDQUM7d0JBQ0F5QixNQUFNdEIsS0FBS2dCLE1BQU0sQ0FBQ00sSUFBSSxJQUFJLENBQUM7d0JBQzNCeEI7d0JBQ0FrQixRQUFRRixNQUFNRSxNQUFNO3dCQUNwQmY7d0JBQ0FHO3dCQUNBRjt3QkFDQUM7b0JBQ0Y7Z0JBQ0Y7WUFDRjtRQUNGO1FBRUEsT0FBT0M7SUFDVDtJQUVBLE9BQU9UO0FBQ1QifQ==
@@ -0,0 +1,14 @@
1
+ import type { Block } from 'payload/types';
2
+ import React from 'react';
3
+ import type { FieldProps } from '../../../../types';
4
+ import type { BlockFields } from '../nodes/BlocksNode';
5
+ type Props = {
6
+ baseClass: string;
7
+ block: Block;
8
+ field: FieldProps;
9
+ fields: BlockFields;
10
+ nodeKey: string;
11
+ };
12
+ export declare const BlockContent: React.FC<Props>;
13
+ export {};
14
+ //# sourceMappingURL=BlockContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlockContent.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/Blocks/component/BlockContent.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAA;AAUxD,OAAO,KAAiC,MAAM,OAAO,CAAA;AAGrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,WAAW,EAAa,MAAM,qBAAqB,CAAA;AAIjE,KAAK,KAAK,GAAG;IACX,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,KAAK,CAAA;IACZ,KAAK,EAAE,UAAU,CAAA;IACjB,MAAM,EAAE,WAAW,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAmJxC,CAAA"}
@@ -0,0 +1,189 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "BlockContent", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return BlockContent;
9
+ }
10
+ });
11
+ const _LexicalComposerContext = require("@lexical/react/LexicalComposerContext");
12
+ const _lexical = require("lexical");
13
+ const _components = require("payload/components");
14
+ const _elements = require("payload/components/elements");
15
+ const _Blocks = require("payload/components/fields/Blocks");
16
+ const _forms = require("payload/components/forms");
17
+ const _utilities = require("payload/components/utilities");
18
+ const _utilities1 = require("payload/utilities");
19
+ const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
20
+ const _reacti18next = require("react-i18next");
21
+ const _FormSavePlugin = require("./FormSavePlugin");
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
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
45
+ for(var key in obj){
46
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
47
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
48
+ if (desc && (desc.get || desc.set)) {
49
+ Object.defineProperty(newObj, key, desc);
50
+ } else {
51
+ newObj[key] = obj[key];
52
+ }
53
+ }
54
+ }
55
+ newObj.default = obj;
56
+ if (cache) {
57
+ cache.set(obj, newObj);
58
+ }
59
+ return newObj;
60
+ }
61
+ const BlockContent = (props)=>{
62
+ const { baseClass, block, field, fields, nodeKey } = props;
63
+ const { i18n } = (0, _reacti18next.useTranslation)();
64
+ const [editor] = (0, _LexicalComposerContext.useLexicalComposerContext)();
65
+ // Used for saving collapsed to preferences (and gettin' it from there again)
66
+ // Remember, these preferences are scoped to the whole document, not just this form. This
67
+ // is important to consider for the data path used in setDocFieldPreferences
68
+ const { getDocPreferences, setDocFieldPreferences } = (0, _utilities.useDocumentInfo)();
69
+ const [collapsed, setCollapsed] = _react.default.useState(()=>{
70
+ let initialState = false;
71
+ getDocPreferences().then((currentDocPreferences)=>{
72
+ const currentFieldPreferences = currentDocPreferences?.fields[field.name];
73
+ const collapsedMap = currentFieldPreferences?.collapsed;
74
+ if (collapsedMap && collapsedMap[fields.data.id] !== undefined) {
75
+ setCollapsed(collapsedMap[fields.data.id]);
76
+ initialState = collapsedMap[fields.data.id];
77
+ }
78
+ });
79
+ return initialState;
80
+ });
81
+ const hasSubmitted = (0, _forms.useFormSubmitted)();
82
+ const [errorCount, setErrorCount] = _react.default.useState(0);
83
+ const fieldHasErrors = hasSubmitted && errorCount > 0;
84
+ const classNames = [
85
+ `${baseClass}__row`,
86
+ fieldHasErrors ? `${baseClass}__row--has-errors` : `${baseClass}__row--no-errors`
87
+ ].filter(Boolean).join(' ');
88
+ const path = '';
89
+ const onFormChange = (0, _react.useCallback)(({ fields: formFields, formData })=>{
90
+ editor.update(()=>{
91
+ const node = (0, _lexical.$getNodeByKey)(nodeKey);
92
+ if (node) {
93
+ node.setFields({
94
+ data: formData
95
+ });
96
+ }
97
+ });
98
+ // update error count
99
+ if (hasSubmitted) {
100
+ let rowErrorCount = 0;
101
+ for (const formField of Object.values(formFields)){
102
+ if (formField?.valid === false) {
103
+ rowErrorCount++;
104
+ }
105
+ }
106
+ setErrorCount(rowErrorCount);
107
+ }
108
+ }, [
109
+ editor,
110
+ nodeKey,
111
+ hasSubmitted
112
+ ]);
113
+ const onCollapsedChange = (0, _react.useCallback)(()=>{
114
+ getDocPreferences().then((currentDocPreferences)=>{
115
+ const currentFieldPreferences = currentDocPreferences?.fields[field.name];
116
+ const collapsedMap = currentFieldPreferences?.collapsed;
117
+ const newCollapsed = collapsedMap && collapsedMap?.size ? collapsedMap : {};
118
+ newCollapsed[fields.data.id] = !collapsed;
119
+ setDocFieldPreferences(field.name, {
120
+ collapsed: newCollapsed
121
+ });
122
+ });
123
+ }, [
124
+ collapsed,
125
+ getDocPreferences,
126
+ field.name,
127
+ setDocFieldPreferences,
128
+ fields.data.id
129
+ ]);
130
+ const removeBlock = (0, _react.useCallback)(()=>{
131
+ editor.update(()=>{
132
+ (0, _lexical.$getNodeByKey)(nodeKey).remove();
133
+ });
134
+ }, [
135
+ editor,
136
+ nodeKey
137
+ ]);
138
+ return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(_elements.Collapsible, {
139
+ className: classNames,
140
+ collapsed: collapsed,
141
+ collapsibleStyle: fieldHasErrors ? 'error' : 'default',
142
+ header: /*#__PURE__*/ _react.default.createElement("div", {
143
+ className: `${baseClass}__block-header`
144
+ }, /*#__PURE__*/ _react.default.createElement("div", null, /*#__PURE__*/ _react.default.createElement(_components.Pill, {
145
+ className: `${baseClass}__block-pill ${baseClass}__block-pill-${fields?.data?.blockType}`,
146
+ pillStyle: "white"
147
+ }, (0, _utilities1.getTranslation)(block.labels.singular, i18n)), /*#__PURE__*/ _react.default.createElement(_Blocks.SectionTitle, {
148
+ path: `${path}blockName`,
149
+ readOnly: field?.admin?.readOnly
150
+ }), fieldHasErrors && /*#__PURE__*/ _react.default.createElement(_components.ErrorPill, {
151
+ count: errorCount,
152
+ withMessage: true
153
+ })), /*#__PURE__*/ _react.default.createElement(_components.Button, {
154
+ buttonStyle: "icon-label",
155
+ className: `${baseClass}__removeButton`,
156
+ disabled: field?.admin?.readOnly,
157
+ icon: "x",
158
+ onClick: (e)=>{
159
+ e.preventDefault();
160
+ removeBlock();
161
+ },
162
+ round: true,
163
+ tooltip: "Remove Block"
164
+ })),
165
+ key: 0,
166
+ onToggle: (collapsed)=>{
167
+ setCollapsed(collapsed);
168
+ onCollapsedChange();
169
+ }
170
+ }, /*#__PURE__*/ _react.default.createElement(_forms.RenderFields, {
171
+ className: `${baseClass}__fields`,
172
+ fieldSchema: block.fields.map((field)=>({
173
+ ...field,
174
+ path: (0, _forms.createNestedFieldPath)(null, field)
175
+ })),
176
+ fieldTypes: field.fieldTypes,
177
+ margins: "small",
178
+ permissions: field.permissions?.blocks?.[fields?.data?.blockType]?.fields,
179
+ readOnly: field.admin.readOnly
180
+ })), /*#__PURE__*/ _react.default.createElement(_FormSavePlugin.FormSavePlugin, {
181
+ fieldSchema: block.fields.map((field)=>({
182
+ ...field,
183
+ path: (0, _forms.createNestedFieldPath)(null, field)
184
+ })),
185
+ onChange: onFormChange
186
+ }));
187
+ };
188
+
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9CbG9ja3MvY29tcG9uZW50L0Jsb2NrQ29udGVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCbG9jaywgRGF0YSwgRmllbGRzIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgdXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCB9IGZyb20gJ0BsZXhpY2FsL3JlYWN0L0xleGljYWxDb21wb3NlckNvbnRleHQnXG5pbXBvcnQgeyAkZ2V0Tm9kZUJ5S2V5IH0gZnJvbSAnbGV4aWNhbCdcbmltcG9ydCB7IEJ1dHRvbiwgRXJyb3JQaWxsLCBQaWxsIH0gZnJvbSAncGF5bG9hZC9jb21wb25lbnRzJ1xuaW1wb3J0IHsgQ29sbGFwc2libGUgfSBmcm9tICdwYXlsb2FkL2NvbXBvbmVudHMvZWxlbWVudHMnXG5pbXBvcnQgeyBTZWN0aW9uVGl0bGUgfSBmcm9tICdwYXlsb2FkL2NvbXBvbmVudHMvZmllbGRzL0Jsb2NrcydcbmltcG9ydCB7IFJlbmRlckZpZWxkcywgY3JlYXRlTmVzdGVkRmllbGRQYXRoLCB1c2VGb3JtU3VibWl0dGVkIH0gZnJvbSAncGF5bG9hZC9jb21wb25lbnRzL2Zvcm1zJ1xuaW1wb3J0IHsgdXNlRG9jdW1lbnRJbmZvIH0gZnJvbSAncGF5bG9hZC9jb21wb25lbnRzL3V0aWxpdGllcydcbmltcG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSAncGF5bG9hZC91dGlsaXRpZXMnXG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuXG5pbXBvcnQgdHlwZSB7IEZpZWxkUHJvcHMgfSBmcm9tICcuLi8uLi8uLi8uLi90eXBlcydcbmltcG9ydCB0eXBlIHsgQmxvY2tGaWVsZHMsIEJsb2NrTm9kZSB9IGZyb20gJy4uL25vZGVzL0Jsb2Nrc05vZGUnXG5cbmltcG9ydCB7IEZvcm1TYXZlUGx1Z2luIH0gZnJvbSAnLi9Gb3JtU2F2ZVBsdWdpbidcblxudHlwZSBQcm9wcyA9IHtcbiAgYmFzZUNsYXNzOiBzdHJpbmdcbiAgYmxvY2s6IEJsb2NrXG4gIGZpZWxkOiBGaWVsZFByb3BzXG4gIGZpZWxkczogQmxvY2tGaWVsZHNcbiAgbm9kZUtleTogc3RyaW5nXG59XG5cbmV4cG9ydCBjb25zdCBCbG9ja0NvbnRlbnQ6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGJhc2VDbGFzcywgYmxvY2ssIGZpZWxkLCBmaWVsZHMsIG5vZGVLZXkgfSA9IHByb3BzXG4gIGNvbnN0IHsgaTE4biB9ID0gdXNlVHJhbnNsYXRpb24oKVxuICBjb25zdCBbZWRpdG9yXSA9IHVzZUxleGljYWxDb21wb3NlckNvbnRleHQoKVxuICAvLyBVc2VkIGZvciBzYXZpbmcgY29sbGFwc2VkIHRvIHByZWZlcmVuY2VzIChhbmQgZ2V0dGluJyBpdCBmcm9tIHRoZXJlIGFnYWluKVxuICAvLyBSZW1lbWJlciwgdGhlc2UgcHJlZmVyZW5jZXMgYXJlIHNjb3BlZCB0byB0aGUgd2hvbGUgZG9jdW1lbnQsIG5vdCBqdXN0IHRoaXMgZm9ybS4gVGhpc1xuICAvLyBpcyBpbXBvcnRhbnQgdG8gY29uc2lkZXIgZm9yIHRoZSBkYXRhIHBhdGggdXNlZCBpbiBzZXREb2NGaWVsZFByZWZlcmVuY2VzXG4gIGNvbnN0IHsgZ2V0RG9jUHJlZmVyZW5jZXMsIHNldERvY0ZpZWxkUHJlZmVyZW5jZXMgfSA9IHVzZURvY3VtZW50SW5mbygpXG5cbiAgY29uc3QgW2NvbGxhcHNlZCwgc2V0Q29sbGFwc2VkXSA9IFJlYWN0LnVzZVN0YXRlPGJvb2xlYW4+KCgpID0+IHtcbiAgICBsZXQgaW5pdGlhbFN0YXRlID0gZmFsc2VcblxuICAgIGdldERvY1ByZWZlcmVuY2VzKCkudGhlbigoY3VycmVudERvY1ByZWZlcmVuY2VzKSA9PiB7XG4gICAgICBjb25zdCBjdXJyZW50RmllbGRQcmVmZXJlbmNlcyA9IGN1cnJlbnREb2NQcmVmZXJlbmNlcz8uZmllbGRzW2ZpZWxkLm5hbWVdXG5cbiAgICAgIGNvbnN0IGNvbGxhcHNlZE1hcDogeyBba2V5OiBzdHJpbmddOiBib29sZWFuIH0gPSBjdXJyZW50RmllbGRQcmVmZXJlbmNlcz8uY29sbGFwc2VkXG5cbiAgICAgIGlmIChjb2xsYXBzZWRNYXAgJiYgY29sbGFwc2VkTWFwW2ZpZWxkcy5kYXRhLmlkXSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHNldENvbGxhcHNlZChjb2xsYXBzZWRNYXBbZmllbGRzLmRhdGEuaWRdKVxuICAgICAgICBpbml0aWFsU3RhdGUgPSBjb2xsYXBzZWRNYXBbZmllbGRzLmRhdGEuaWRdXG4gICAgICB9XG4gICAgfSlcbiAgICByZXR1cm4gaW5pdGlhbFN0YXRlXG4gIH0pXG4gIGNvbnN0IGhhc1N1Ym1pdHRlZCA9IHVzZUZvcm1TdWJtaXR0ZWQoKVxuXG4gIGNvbnN0IFtlcnJvckNvdW50LCBzZXRFcnJvckNvdW50XSA9IFJlYWN0LnVzZVN0YXRlKDApXG5cbiAgY29uc3QgZmllbGRIYXNFcnJvcnMgPSBoYXNTdWJtaXR0ZWQgJiYgZXJyb3JDb3VudCA+IDBcblxuICBjb25zdCBjbGFzc05hbWVzID0gW1xuICAgIGAke2Jhc2VDbGFzc31fX3Jvd2AsXG4gICAgZmllbGRIYXNFcnJvcnMgPyBgJHtiYXNlQ2xhc3N9X19yb3ctLWhhcy1lcnJvcnNgIDogYCR7YmFzZUNsYXNzfV9fcm93LS1uby1lcnJvcnNgLFxuICBdXG4gICAgLmZpbHRlcihCb29sZWFuKVxuICAgIC5qb2luKCcgJylcblxuICBjb25zdCBwYXRoID0gJycgYXMgY29uc3RcblxuICBjb25zdCBvbkZvcm1DaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAoeyBmaWVsZHM6IGZvcm1GaWVsZHMsIGZvcm1EYXRhIH06IHsgZmllbGRzOiBGaWVsZHM7IGZvcm1EYXRhOiBEYXRhIH0pID0+IHtcbiAgICAgIGVkaXRvci51cGRhdGUoKCkgPT4ge1xuICAgICAgICBjb25zdCBub2RlOiBCbG9ja05vZGUgPSAkZ2V0Tm9kZUJ5S2V5KG5vZGVLZXkpXG4gICAgICAgIGlmIChub2RlKSB7XG4gICAgICAgICAgbm9kZS5zZXRGaWVsZHMoe1xuICAgICAgICAgICAgZGF0YTogZm9ybURhdGEgYXMgYW55LFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH0pXG5cbiAgICAgIC8vIHVwZGF0ZSBlcnJvciBjb3VudFxuICAgICAgaWYgKGhhc1N1Ym1pdHRlZCkge1xuICAgICAgICBsZXQgcm93RXJyb3JDb3VudCA9IDBcbiAgICAgICAgZm9yIChjb25zdCBmb3JtRmllbGQgb2YgT2JqZWN0LnZhbHVlcyhmb3JtRmllbGRzKSkge1xuICAgICAgICAgIGlmIChmb3JtRmllbGQ/LnZhbGlkID09PSBmYWxzZSkge1xuICAgICAgICAgICAgcm93RXJyb3JDb3VudCsrXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNldEVycm9yQ291bnQocm93RXJyb3JDb3VudClcbiAgICAgIH1cbiAgICB9LFxuICAgIFtlZGl0b3IsIG5vZGVLZXksIGhhc1N1Ym1pdHRlZF0sXG4gIClcblxuICBjb25zdCBvbkNvbGxhcHNlZENoYW5nZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBnZXREb2NQcmVmZXJlbmNlcygpLnRoZW4oKGN1cnJlbnREb2NQcmVmZXJlbmNlcykgPT4ge1xuICAgICAgY29uc3QgY3VycmVudEZpZWxkUHJlZmVyZW5jZXMgPSBjdXJyZW50RG9jUHJlZmVyZW5jZXM/LmZpZWxkc1tmaWVsZC5uYW1lXVxuXG4gICAgICBjb25zdCBjb2xsYXBzZWRNYXA6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0gY3VycmVudEZpZWxkUHJlZmVyZW5jZXM/LmNvbGxhcHNlZFxuXG4gICAgICBjb25zdCBuZXdDb2xsYXBzZWQ6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID1cbiAgICAgICAgY29sbGFwc2VkTWFwICYmIGNvbGxhcHNlZE1hcD8uc2l6ZSA/IGNvbGxhcHNlZE1hcCA6IHt9XG5cbiAgICAgIG5ld0NvbGxhcHNlZFtmaWVsZHMuZGF0YS5pZF0gPSAhY29sbGFwc2VkXG5cbiAgICAgIHNldERvY0ZpZWxkUHJlZmVyZW5jZXMoZmllbGQubmFtZSwge1xuICAgICAgICBjb2xsYXBzZWQ6IG5ld0NvbGxhcHNlZCxcbiAgICAgIH0pXG4gICAgfSlcbiAgfSwgW2NvbGxhcHNlZCwgZ2V0RG9jUHJlZmVyZW5jZXMsIGZpZWxkLm5hbWUsIHNldERvY0ZpZWxkUHJlZmVyZW5jZXMsIGZpZWxkcy5kYXRhLmlkXSlcblxuICBjb25zdCByZW1vdmVCbG9jayA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBlZGl0b3IudXBkYXRlKCgpID0+IHtcbiAgICAgICRnZXROb2RlQnlLZXkobm9kZUtleSkucmVtb3ZlKClcbiAgICB9KVxuICB9LCBbZWRpdG9yLCBub2RlS2V5XSlcblxuICByZXR1cm4gKFxuICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgIDxDb2xsYXBzaWJsZVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXN9XG4gICAgICAgIGNvbGxhcHNlZD17Y29sbGFwc2VkfVxuICAgICAgICBjb2xsYXBzaWJsZVN0eWxlPXtmaWVsZEhhc0Vycm9ycyA/ICdlcnJvcicgOiAnZGVmYXVsdCd9XG4gICAgICAgIGhlYWRlcj17XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2Jsb2NrLWhlYWRlcmB9PlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPFBpbGxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2Jsb2NrLXBpbGwgJHtiYXNlQ2xhc3N9X19ibG9jay1waWxsLSR7ZmllbGRzPy5kYXRhPy5ibG9ja1R5cGV9YH1cbiAgICAgICAgICAgICAgICBwaWxsU3R5bGU9XCJ3aGl0ZVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Z2V0VHJhbnNsYXRpb24oYmxvY2subGFiZWxzLnNpbmd1bGFyLCBpMThuKX1cbiAgICAgICAgICAgICAgPC9QaWxsPlxuICAgICAgICAgICAgICA8U2VjdGlvblRpdGxlIHBhdGg9e2Ake3BhdGh9YmxvY2tOYW1lYH0gcmVhZE9ubHk9e2ZpZWxkPy5hZG1pbj8ucmVhZE9ubHl9IC8+XG4gICAgICAgICAgICAgIHtmaWVsZEhhc0Vycm9ycyAmJiA8RXJyb3JQaWxsIGNvdW50PXtlcnJvckNvdW50fSB3aXRoTWVzc2FnZSAvPn1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBidXR0b25TdHlsZT1cImljb24tbGFiZWxcIlxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3JlbW92ZUJ1dHRvbmB9XG4gICAgICAgICAgICAgIGRpc2FibGVkPXtmaWVsZD8uYWRtaW4/LnJlYWRPbmx5fVxuICAgICAgICAgICAgICBpY29uPVwieFwiXG4gICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgICAgICAgcmVtb3ZlQmxvY2soKVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICByb3VuZFxuICAgICAgICAgICAgICB0b29sdGlwPVwiUmVtb3ZlIEJsb2NrXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICAgICAga2V5PXswfVxuICAgICAgICBvblRvZ2dsZT17KGNvbGxhcHNlZCkgPT4ge1xuICAgICAgICAgIHNldENvbGxhcHNlZChjb2xsYXBzZWQpXG4gICAgICAgICAgb25Db2xsYXBzZWRDaGFuZ2UoKVxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8UmVuZGVyRmllbGRzXG4gICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19maWVsZHNgfVxuICAgICAgICAgIGZpZWxkU2NoZW1hPXtibG9jay5maWVsZHMubWFwKChmaWVsZCkgPT4gKHtcbiAgICAgICAgICAgIC4uLmZpZWxkLFxuICAgICAgICAgICAgcGF0aDogY3JlYXRlTmVzdGVkRmllbGRQYXRoKG51bGwsIGZpZWxkKSxcbiAgICAgICAgICB9KSl9XG4gICAgICAgICAgZmllbGRUeXBlcz17ZmllbGQuZmllbGRUeXBlc31cbiAgICAgICAgICBtYXJnaW5zPVwic21hbGxcIlxuICAgICAgICAgIHBlcm1pc3Npb25zPXtmaWVsZC5wZXJtaXNzaW9ucz8uYmxvY2tzPy5bZmllbGRzPy5kYXRhPy5ibG9ja1R5cGVdPy5maWVsZHN9XG4gICAgICAgICAgcmVhZE9ubHk9e2ZpZWxkLmFkbWluLnJlYWRPbmx5fVxuICAgICAgICAvPlxuICAgICAgPC9Db2xsYXBzaWJsZT5cblxuICAgICAgPEZvcm1TYXZlUGx1Z2luXG4gICAgICAgIGZpZWxkU2NoZW1hPXtibG9jay5maWVsZHMubWFwKChmaWVsZCkgPT4gKHtcbiAgICAgICAgICAuLi5maWVsZCxcbiAgICAgICAgICBwYXRoOiBjcmVhdGVOZXN0ZWRGaWVsZFBhdGgobnVsbCwgZmllbGQpLFxuICAgICAgICB9KSl9XG4gICAgICAgIG9uQ2hhbmdlPXtvbkZvcm1DaGFuZ2V9XG4gICAgICAvPlxuICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJCbG9ja0NvbnRlbnQiLCJwcm9wcyIsImJhc2VDbGFzcyIsImJsb2NrIiwiZmllbGQiLCJmaWVsZHMiLCJub2RlS2V5IiwiaTE4biIsInVzZVRyYW5zbGF0aW9uIiwiZWRpdG9yIiwidXNlTGV4aWNhbENvbXBvc2VyQ29udGV4dCIsImdldERvY1ByZWZlcmVuY2VzIiwic2V0RG9jRmllbGRQcmVmZXJlbmNlcyIsInVzZURvY3VtZW50SW5mbyIsImNvbGxhcHNlZCIsInNldENvbGxhcHNlZCIsIlJlYWN0IiwidXNlU3RhdGUiLCJpbml0aWFsU3RhdGUiLCJ0aGVuIiwiY3VycmVudERvY1ByZWZlcmVuY2VzIiwiY3VycmVudEZpZWxkUHJlZmVyZW5jZXMiLCJuYW1lIiwiY29sbGFwc2VkTWFwIiwiZGF0YSIsImlkIiwidW5kZWZpbmVkIiwiaGFzU3VibWl0dGVkIiwidXNlRm9ybVN1Ym1pdHRlZCIsImVycm9yQ291bnQiLCJzZXRFcnJvckNvdW50IiwiZmllbGRIYXNFcnJvcnMiLCJjbGFzc05hbWVzIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJwYXRoIiwib25Gb3JtQ2hhbmdlIiwidXNlQ2FsbGJhY2siLCJmb3JtRmllbGRzIiwiZm9ybURhdGEiLCJ1cGRhdGUiLCJub2RlIiwiJGdldE5vZGVCeUtleSIsInNldEZpZWxkcyIsInJvd0Vycm9yQ291bnQiLCJmb3JtRmllbGQiLCJPYmplY3QiLCJ2YWx1ZXMiLCJ2YWxpZCIsIm9uQ29sbGFwc2VkQ2hhbmdlIiwibmV3Q29sbGFwc2VkIiwic2l6ZSIsInJlbW92ZUJsb2NrIiwicmVtb3ZlIiwiRnJhZ21lbnQiLCJDb2xsYXBzaWJsZSIsImNsYXNzTmFtZSIsImNvbGxhcHNpYmxlU3R5bGUiLCJoZWFkZXIiLCJkaXYiLCJQaWxsIiwiYmxvY2tUeXBlIiwicGlsbFN0eWxlIiwiZ2V0VHJhbnNsYXRpb24iLCJsYWJlbHMiLCJzaW5ndWxhciIsIlNlY3Rpb25UaXRsZSIsInJlYWRPbmx5IiwiYWRtaW4iLCJFcnJvclBpbGwiLCJjb3VudCIsIndpdGhNZXNzYWdlIiwiQnV0dG9uIiwiYnV0dG9uU3R5bGUiLCJkaXNhYmxlZCIsImljb24iLCJvbkNsaWNrIiwiZSIsInByZXZlbnREZWZhdWx0Iiwicm91bmQiLCJ0b29sdGlwIiwia2V5Iiwib25Ub2dnbGUiLCJSZW5kZXJGaWVsZHMiLCJmaWVsZFNjaGVtYSIsIm1hcCIsImNyZWF0ZU5lc3RlZEZpZWxkUGF0aCIsImZpZWxkVHlwZXMiLCJtYXJnaW5zIiwicGVybWlzc2lvbnMiLCJibG9ja3MiLCJGb3JtU2F2ZVBsdWdpbiIsIm9uQ2hhbmdlIl0sIm1hcHBpbmdzIjoiOzs7OytC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
@@ -1,9 +1,10 @@
1
- import type { Data, FieldWithPath } from 'payload/types';
1
+ import type { Data, FieldWithPath, Fields } from 'payload/types';
2
2
  import type React from 'react';
3
3
  import './index.scss';
4
4
  type Props = {
5
5
  fieldSchema: FieldWithPath[];
6
- onChange?: ({ formData }: {
6
+ onChange?: ({ fields, formData }: {
7
+ fields: Fields;
7
8
  formData: Data;
8
9
  }) => void;
9
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"FormSavePlugin.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/Blocks/component/FormSavePlugin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AACxD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,cAAc,CAAA;AAErB,KAAK,KAAK,GAAG;IACX,WAAW,EAAE,aAAa,EAAE,CAAA;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE;QAAE,QAAQ,EAAE,IAAI,CAAA;KAAE,KAAK,IAAI,CAAA;CACtD,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAgB1C,CAAA"}
1
+ {"version":3,"file":"FormSavePlugin.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/Blocks/component/FormSavePlugin.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAChE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,cAAc,CAAA;AAErB,KAAK,KAAK,GAAG;IACX,WAAW,EAAE,aAAa,EAAE,CAAA;IAC5B,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,IAAI,CAAA;KAAE,KAAK,IAAI,CAAA;CAC9E,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAgB1C,CAAA"}
@@ -20,14 +20,16 @@ const FormSavePlugin = (props)=>{
20
20
  (0, _react.useEffect)(()=>{
21
21
  if (onChange) {
22
22
  onChange({
23
+ fields,
23
24
  formData
24
25
  });
25
26
  }
26
27
  }, [
27
28
  formData,
28
- onChange
29
+ onChange,
30
+ fields
29
31
  ]);
30
32
  return null;
31
33
  };
32
34
 
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9CbG9ja3MvY29tcG9uZW50L0Zvcm1TYXZlUGx1Z2luLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERhdGEsIEZpZWxkV2l0aFBhdGggfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuaW1wb3J0IHR5cGUgUmVhY3QgZnJvbSAncmVhY3QnXG5cbmltcG9ydCB7IHJlZHVjZUZpZWxkc1RvVmFsdWVzLCB1c2VBbGxGb3JtRmllbGRzIH0gZnJvbSAncGF5bG9hZC9jb21wb25lbnRzL2Zvcm1zJ1xuaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG50eXBlIFByb3BzID0ge1xuICBmaWVsZFNjaGVtYTogRmllbGRXaXRoUGF0aFtdXG4gIG9uQ2hhbmdlPzogKHsgZm9ybURhdGEgfTogeyBmb3JtRGF0YTogRGF0YSB9KSA9PiB2b2lkXG59XG5cbmV4cG9ydCBjb25zdCBGb3JtU2F2ZVBsdWdpbjogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgb25DaGFuZ2UgfSA9IHByb3BzXG5cbiAgY29uc3QgW2ZpZWxkcywgZGlzcGF0Y2hGaWVsZHNdID0gdXNlQWxsRm9ybUZpZWxkcygpXG5cbiAgLy8gUGFzcyBpbiBmaWVsZHMsIGFuZCBpbmRpY2F0ZSBpZiB5b3UnZCBsaWtlIHRvIFwidW5mbGF0dGVuXCIgZmllbGQgZGF0YS5cbiAgLy8gVGhlIHJlc3VsdCBiZWxvdyB3aWxsIHJlZmxlY3QgdGhlIGRhdGEgc3RvcmVkIGluIHRoZSBmb3JtIGF0IHRoZSBnaXZlbiB0aW1lXG4gIGNvbnN0IGZvcm1EYXRhID0gcmVkdWNlRmllbGRzVG9WYWx1ZXMoZmllbGRzLCB0cnVlKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG9uQ2hhbmdlKSB7XG4gICAgICBvbkNoYW5nZSh7IGZvcm1EYXRhIH0pXG4gICAgfVxuICB9LCBbZm9ybURhdGEsIG9uQ2hhbmdlXSlcblxuICByZXR1cm4gbnVsbFxufVxuIl0sIm5hbWVzIjpbIkZvcm1TYXZlUGx1Z2luIiwicHJvcHMiLCJvbkNoYW5nZSIsImZpZWxkcyIsImRpc3BhdGNoRmllbGRzIiwidXNlQWxsRm9ybUZpZWxkcyIsImZvcm1EYXRhIiwicmVkdWNlRmllbGRzVG9WYWx1ZXMiLCJ1c2VFZmZlY3QiXSwibWFwcGluZ3MiOiI7Ozs7K0JBYWFBOzs7ZUFBQUE7Ozt1QkFWMEM7dUJBQzdCO1FBRW5CO0FBT0EsTUFBTUEsaUJBQWtDLENBQUNDO0lBQzlDLE1BQU0sRUFBRUMsUUFBUSxFQUFFLEdBQUdEO0lBRXJCLE1BQU0sQ0FBQ0UsUUFBUUMsZUFBZSxHQUFHQyxJQUFBQSx1QkFBZ0I7SUFFakQsd0VBQXdFO0lBQ3hFLDhFQUE4RTtJQUM5RSxNQUFNQyxXQUFXQyxJQUFBQSwyQkFBb0IsRUFBQ0osUUFBUTtJQUU5Q0ssSUFBQUEsZ0JBQVMsRUFBQztRQUNSLElBQUlOLFVBQVU7WUFDWkEsU0FBUztnQkFBRUk7WUFBUztRQUN0QjtJQUNGLEdBQUc7UUFBQ0E7UUFBVUo7S0FBUztJQUV2QixPQUFPO0FBQ1QifQ==
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9maWVsZC9mZWF0dXJlcy9CbG9ja3MvY29tcG9uZW50L0Zvcm1TYXZlUGx1Z2luLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IERhdGEsIEZpZWxkV2l0aFBhdGgsIEZpZWxkcyB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5pbXBvcnQgdHlwZSBSZWFjdCBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgcmVkdWNlRmllbGRzVG9WYWx1ZXMsIHVzZUFsbEZvcm1GaWVsZHMgfSBmcm9tICdwYXlsb2FkL2NvbXBvbmVudHMvZm9ybXMnXG5pbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5cbnR5cGUgUHJvcHMgPSB7XG4gIGZpZWxkU2NoZW1hOiBGaWVsZFdpdGhQYXRoW11cbiAgb25DaGFuZ2U/OiAoeyBmaWVsZHMsIGZvcm1EYXRhIH06IHsgZmllbGRzOiBGaWVsZHM7IGZvcm1EYXRhOiBEYXRhIH0pID0+IHZvaWRcbn1cblxuZXhwb3J0IGNvbnN0IEZvcm1TYXZlUGx1Z2luOiBSZWFjdC5GQzxQcm9wcz4gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBvbkNoYW5nZSB9ID0gcHJvcHNcblxuICBjb25zdCBbZmllbGRzLCBkaXNwYXRjaEZpZWxkc10gPSB1c2VBbGxGb3JtRmllbGRzKClcblxuICAvLyBQYXNzIGluIGZpZWxkcywgYW5kIGluZGljYXRlIGlmIHlvdSdkIGxpa2UgdG8gXCJ1bmZsYXR0ZW5cIiBmaWVsZCBkYXRhLlxuICAvLyBUaGUgcmVzdWx0IGJlbG93IHdpbGwgcmVmbGVjdCB0aGUgZGF0YSBzdG9yZWQgaW4gdGhlIGZvcm0gYXQgdGhlIGdpdmVuIHRpbWVcbiAgY29uc3QgZm9ybURhdGEgPSByZWR1Y2VGaWVsZHNUb1ZhbHVlcyhmaWVsZHMsIHRydWUpXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAob25DaGFuZ2UpIHtcbiAgICAgIG9uQ2hhbmdlKHsgZmllbGRzLCBmb3JtRGF0YSB9KVxuICAgIH1cbiAgfSwgW2Zvcm1EYXRhLCBvbkNoYW5nZSwgZmllbGRzXSlcblxuICByZXR1cm4gbnVsbFxufVxuIl0sIm5hbWVzIjpbIkZvcm1TYXZlUGx1Z2luIiwicHJvcHMiLCJvbkNoYW5nZSIsImZpZWxkcyIsImRpc3BhdGNoRmllbGRzIiwidXNlQWxsRm9ybUZpZWxkcyIsImZvcm1EYXRhIiwicmVkdWNlRmllbGRzVG9WYWx1ZXMiLCJ1c2VFZmZlY3QiXSwibWFwcGluZ3MiOiI7Ozs7K0JBYWFBOzs7ZUFBQUE7Ozt1QkFWMEM7dUJBQzdCO1FBRW5CO0FBT0EsTUFBTUEsaUJBQWtDLENBQUNDO0lBQzlDLE1BQU0sRUFBRUMsUUFBUSxFQUFFLEdBQUdEO0lBRXJCLE1BQU0sQ0FBQ0UsUUFBUUMsZUFBZSxHQUFHQyxJQUFBQSx1QkFBZ0I7SUFFakQsd0VBQXdFO0lBQ3hFLDhFQUE4RTtJQUM5RSxNQUFNQyxXQUFXQyxJQUFBQSwyQkFBb0IsRUFBQ0osUUFBUTtJQUU5Q0ssSUFBQUEsZ0JBQVMsRUFBQztRQUNSLElBQUlOLFVBQVU7WUFDWkEsU0FBUztnQkFBRUM7Z0JBQVFHO1lBQVM7UUFDOUI7SUFDRixHQUFHO1FBQUNBO1FBQVVKO1FBQVVDO0tBQU87SUFFL0IsT0FBTztBQUNUIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/Blocks/component/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAS/D,OAAO,KAA+B,MAAM,OAAO,CAAA;AAInD,OAAO,EAAoB,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAexE,OAAO,cAAc,CAAA;AAErB,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAiH1C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/field/features/Blocks/component/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEhD,OAAO,KAAkB,MAAM,OAAO,CAAA;AAEtC,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAYtD,OAAO,cAAc,CAAA;AAErB,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,CAAC,EAAE,iBAAiB,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAuC1C,CAAA"}