@payloadcms/plugin-form-builder 1.2.1 → 3.0.0-alpha.50

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 (94) hide show
  1. package/dist/collections/FormSubmissions/hooks/createCharge.js +3 -13
  2. package/dist/collections/FormSubmissions/hooks/createCharge.js.map +1 -0
  3. package/dist/collections/FormSubmissions/hooks/sendEmail.js +12 -23
  4. package/dist/collections/FormSubmissions/hooks/sendEmail.js.map +1 -0
  5. package/dist/collections/FormSubmissions/index.js +10 -24
  6. package/dist/collections/FormSubmissions/index.js.map +1 -0
  7. package/dist/collections/Forms/DynamicFieldSelector.js +11 -60
  8. package/dist/collections/Forms/DynamicFieldSelector.js.map +1 -0
  9. package/dist/collections/Forms/DynamicPriceSelector.js +13 -63
  10. package/dist/collections/Forms/DynamicPriceSelector.js.map +1 -0
  11. package/dist/collections/Forms/fields.js +102 -120
  12. package/dist/collections/Forms/fields.js.map +1 -0
  13. package/dist/collections/Forms/index.js +47 -61
  14. package/dist/collections/Forms/index.js.map +1 -0
  15. package/dist/index.js +8 -29
  16. package/dist/index.js.map +1 -0
  17. package/dist/types.js +2 -12
  18. package/dist/types.js.map +1 -0
  19. package/dist/utilities/getPaymentTotal.js +2 -12
  20. package/dist/utilities/getPaymentTotal.js.map +1 -0
  21. package/dist/utilities/lexical/converters/heading.js +4 -14
  22. package/dist/utilities/lexical/converters/heading.js.map +1 -0
  23. package/dist/utilities/lexical/converters/linebreak.js +2 -12
  24. package/dist/utilities/lexical/converters/linebreak.js.map +1 -0
  25. package/dist/utilities/lexical/converters/link.js +8 -17
  26. package/dist/utilities/lexical/converters/link.js.map +1 -0
  27. package/dist/utilities/lexical/converters/list.js +7 -25
  28. package/dist/utilities/lexical/converters/list.js.map +1 -0
  29. package/dist/utilities/lexical/converters/paragraph.js +4 -14
  30. package/dist/utilities/lexical/converters/paragraph.js.map +1 -0
  31. package/dist/utilities/lexical/converters/quote.js +4 -14
  32. package/dist/utilities/lexical/converters/quote.js.map +1 -0
  33. package/dist/utilities/lexical/converters/text.js +12 -22
  34. package/dist/utilities/lexical/converters/text.js.map +1 -0
  35. package/dist/utilities/lexical/defaultConverters.js +17 -27
  36. package/dist/utilities/lexical/defaultConverters.js.map +1 -0
  37. package/dist/utilities/lexical/nodeFormat.js +16 -61
  38. package/dist/utilities/lexical/nodeFormat.js.map +1 -0
  39. package/dist/utilities/lexical/serializeLexical.js +5 -23
  40. package/dist/utilities/lexical/serializeLexical.js.map +1 -0
  41. package/dist/utilities/lexical/types.js +2 -5
  42. package/dist/utilities/lexical/types.js.map +1 -0
  43. package/dist/utilities/replaceDoubleCurlys.js +2 -12
  44. package/dist/utilities/replaceDoubleCurlys.js.map +1 -0
  45. package/dist/utilities/slate/serializeSlate.js +6 -21
  46. package/dist/utilities/slate/serializeSlate.js.map +1 -0
  47. package/package.json +23 -10
  48. package/src/index.ts +55 -0
  49. package/dist/collections/FormSubmissions/hooks/createCharge.d.ts +0 -4
  50. package/dist/collections/FormSubmissions/hooks/createCharge.d.ts.map +0 -1
  51. package/dist/collections/FormSubmissions/hooks/sendEmail.d.ts +0 -4
  52. package/dist/collections/FormSubmissions/hooks/sendEmail.d.ts.map +0 -1
  53. package/dist/collections/FormSubmissions/index.d.ts +0 -4
  54. package/dist/collections/FormSubmissions/index.d.ts.map +0 -1
  55. package/dist/collections/Forms/DynamicFieldSelector.d.ts +0 -4
  56. package/dist/collections/Forms/DynamicFieldSelector.d.ts.map +0 -1
  57. package/dist/collections/Forms/DynamicPriceSelector.d.ts +0 -4
  58. package/dist/collections/Forms/DynamicPriceSelector.d.ts.map +0 -1
  59. package/dist/collections/Forms/fields.d.ts +0 -7
  60. package/dist/collections/Forms/fields.d.ts.map +0 -1
  61. package/dist/collections/Forms/index.d.ts +0 -4
  62. package/dist/collections/Forms/index.d.ts.map +0 -1
  63. package/dist/index.d.ts +0 -7
  64. package/dist/index.d.ts.map +0 -1
  65. package/dist/types.d.ts +0 -175
  66. package/dist/types.d.ts.map +0 -1
  67. package/dist/utilities/getPaymentTotal.d.ts +0 -5
  68. package/dist/utilities/getPaymentTotal.d.ts.map +0 -1
  69. package/dist/utilities/lexical/converters/heading.d.ts +0 -3
  70. package/dist/utilities/lexical/converters/heading.d.ts.map +0 -1
  71. package/dist/utilities/lexical/converters/linebreak.d.ts +0 -3
  72. package/dist/utilities/lexical/converters/linebreak.d.ts.map +0 -1
  73. package/dist/utilities/lexical/converters/link.d.ts +0 -3
  74. package/dist/utilities/lexical/converters/link.d.ts.map +0 -1
  75. package/dist/utilities/lexical/converters/list.d.ts +0 -4
  76. package/dist/utilities/lexical/converters/list.d.ts.map +0 -1
  77. package/dist/utilities/lexical/converters/paragraph.d.ts +0 -3
  78. package/dist/utilities/lexical/converters/paragraph.d.ts.map +0 -1
  79. package/dist/utilities/lexical/converters/quote.d.ts +0 -3
  80. package/dist/utilities/lexical/converters/quote.d.ts.map +0 -1
  81. package/dist/utilities/lexical/converters/text.d.ts +0 -3
  82. package/dist/utilities/lexical/converters/text.d.ts.map +0 -1
  83. package/dist/utilities/lexical/defaultConverters.d.ts +0 -3
  84. package/dist/utilities/lexical/defaultConverters.d.ts.map +0 -1
  85. package/dist/utilities/lexical/nodeFormat.d.ts +0 -39
  86. package/dist/utilities/lexical/nodeFormat.d.ts.map +0 -1
  87. package/dist/utilities/lexical/serializeLexical.d.ts +0 -9
  88. package/dist/utilities/lexical/serializeLexical.d.ts.map +0 -1
  89. package/dist/utilities/lexical/types.d.ts +0 -14
  90. package/dist/utilities/lexical/types.d.ts.map +0 -1
  91. package/dist/utilities/replaceDoubleCurlys.d.ts +0 -8
  92. package/dist/utilities/replaceDoubleCurlys.d.ts.map +0 -1
  93. package/dist/utilities/slate/serializeSlate.d.ts +0 -12
  94. package/dist/utilities/slate/serializeSlate.d.ts.map +0 -1
@@ -1,24 +1,14 @@
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 createCharge = async (beforeChangeData, formConfig)=>{
1
+ export const createCharge = async (beforeChangeData, formConfig)=>{
12
2
  const { data, operation } = beforeChangeData;
13
3
  let dataWithPaymentDetails = data;
14
4
  if (operation === 'create') {
15
5
  const { handlePayment } = formConfig || {};
16
6
  if (typeof handlePayment === 'function') {
7
+ // eslint-disable-next-line @typescript-eslint/await-thenable
17
8
  dataWithPaymentDetails = await handlePayment(beforeChangeData);
18
9
  }
19
10
  }
20
11
  return dataWithPaymentDetails;
21
12
  };
22
- const _default = createCharge;
23
13
 
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9Gb3JtU3VibWlzc2lvbnMvaG9va3MvY3JlYXRlQ2hhcmdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGx1Z2luQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnXG5cbmNvbnN0IGNyZWF0ZUNoYXJnZSA9IGFzeW5jIChiZWZvcmVDaGFuZ2VEYXRhOiBhbnksIGZvcm1Db25maWc6IFBsdWdpbkNvbmZpZyk6IFByb21pc2U8YW55PiA9PiB7XG4gIGNvbnN0IHsgZGF0YSwgb3BlcmF0aW9uIH0gPSBiZWZvcmVDaGFuZ2VEYXRhXG5cbiAgbGV0IGRhdGFXaXRoUGF5bWVudERldGFpbHMgPSBkYXRhXG5cbiAgaWYgKG9wZXJhdGlvbiA9PT0gJ2NyZWF0ZScpIHtcbiAgICBjb25zdCB7IGhhbmRsZVBheW1lbnQgfSA9IGZvcm1Db25maWcgfHwge31cblxuICAgIGlmICh0eXBlb2YgaGFuZGxlUGF5bWVudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZGF0YVdpdGhQYXltZW50RGV0YWlscyA9IGF3YWl0IGhhbmRsZVBheW1lbnQoYmVmb3JlQ2hhbmdlRGF0YSlcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZGF0YVdpdGhQYXltZW50RGV0YWlsc1xufVxuXG5leHBvcnQgZGVmYXVsdCBjcmVhdGVDaGFyZ2VcbiJdLCJuYW1lcyI6WyJjcmVhdGVDaGFyZ2UiLCJiZWZvcmVDaGFuZ2VEYXRhIiwiZm9ybUNvbmZpZyIsImRhdGEiLCJvcGVyYXRpb24iLCJkYXRhV2l0aFBheW1lbnREZXRhaWxzIiwiaGFuZGxlUGF5bWVudCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFrQkE7OztlQUFBOzs7QUFoQkEsTUFBTUEsZUFBZSxPQUFPQyxrQkFBdUJDO0lBQ2pELE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxTQUFTLEVBQUUsR0FBR0g7SUFFNUIsSUFBSUkseUJBQXlCRjtJQUU3QixJQUFJQyxjQUFjLFVBQVU7UUFDMUIsTUFBTSxFQUFFRSxhQUFhLEVBQUUsR0FBR0osY0FBYyxDQUFDO1FBRXpDLElBQUksT0FBT0ksa0JBQWtCLFlBQVk7WUFDdkNELHlCQUF5QixNQUFNQyxjQUFjTDtRQUMvQztJQUNGO0lBRUEsT0FBT0k7QUFDVDtNQUVBLFdBQWVMIn0=
14
+ //# sourceMappingURL=createCharge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/collections/FormSubmissions/hooks/createCharge.ts"],"sourcesContent":["import type { PluginConfig } from '../../../types.js'\n\nexport const createCharge = async (\n beforeChangeData: any,\n formConfig: PluginConfig,\n): Promise<any> => {\n const { data, operation } = beforeChangeData\n\n let dataWithPaymentDetails = data\n\n if (operation === 'create') {\n const { handlePayment } = formConfig || {}\n\n if (typeof handlePayment === 'function') {\n // eslint-disable-next-line @typescript-eslint/await-thenable\n dataWithPaymentDetails = await handlePayment(beforeChangeData)\n }\n }\n\n return dataWithPaymentDetails\n}\n"],"names":["createCharge","beforeChangeData","formConfig","data","operation","dataWithPaymentDetails","handlePayment"],"mappings":"AAEA,OAAO,MAAMA,eAAe,OAC1BC,kBACAC;IAEA,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAE,GAAGH;IAE5B,IAAII,yBAAyBF;IAE7B,IAAIC,cAAc,UAAU;QAC1B,MAAM,EAAEE,aAAa,EAAE,GAAGJ,cAAc,CAAC;QAEzC,IAAI,OAAOI,kBAAkB,YAAY;YACvC,6DAA6D;YAC7DD,yBAAyB,MAAMC,cAAcL;QAC/C;IACF;IAEA,OAAOI;AACT,EAAC"}
@@ -1,17 +1,7 @@
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 _serializeLexical = require("../../../utilities/lexical/serializeLexical");
12
- const _replaceDoubleCurlys = require("../../../utilities/replaceDoubleCurlys");
13
- const _serializeSlate = require("../../../utilities/slate/serializeSlate");
14
- const sendEmail = async (beforeChangeData, formConfig)=>{
1
+ import { serializeLexical } from '../../../utilities/lexical/serializeLexical.js';
2
+ import { replaceDoubleCurlys } from '../../../utilities/replaceDoubleCurlys.js';
3
+ import { serializeSlate } from '../../../utilities/slate/serializeSlate.js';
4
+ export const sendEmail = async (beforeChangeData, formConfig)=>{
15
5
  const { data, operation, req } = beforeChangeData;
16
6
  if (operation === 'create') {
17
7
  const { data: { id: formSubmissionID }, req: { locale, payload } } = beforeChangeData;
@@ -28,20 +18,20 @@ const sendEmail = async (beforeChangeData, formConfig)=>{
28
18
  if (emails && emails.length) {
29
19
  const formattedEmails = await Promise.all(emails.map(async (email)=>{
30
20
  const { bcc: emailBCC, cc: emailCC, emailFrom, emailTo, message, replyTo: emailReplyTo, subject } = email;
31
- const to = (0, _replaceDoubleCurlys.replaceDoubleCurlys)(emailTo, submissionData);
32
- const cc = emailCC ? (0, _replaceDoubleCurlys.replaceDoubleCurlys)(emailCC, submissionData) : '';
33
- const bcc = emailBCC ? (0, _replaceDoubleCurlys.replaceDoubleCurlys)(emailBCC, submissionData) : '';
34
- const from = (0, _replaceDoubleCurlys.replaceDoubleCurlys)(emailFrom, submissionData);
35
- const replyTo = (0, _replaceDoubleCurlys.replaceDoubleCurlys)(emailReplyTo || emailFrom, submissionData);
21
+ const to = replaceDoubleCurlys(emailTo, submissionData);
22
+ const cc = emailCC ? replaceDoubleCurlys(emailCC, submissionData) : '';
23
+ const bcc = emailBCC ? replaceDoubleCurlys(emailBCC, submissionData) : '';
24
+ const from = replaceDoubleCurlys(emailFrom, submissionData);
25
+ const replyTo = replaceDoubleCurlys(emailReplyTo || emailFrom, submissionData);
36
26
  const isLexical = message && !Array.isArray(message) && 'root' in message;
37
- const serializedMessage = isLexical ? await (0, _serializeLexical.serializeLexical)(message, submissionData) : (0, _serializeSlate.serializeSlate)(message, submissionData);
27
+ const serializedMessage = isLexical ? await serializeLexical(message, submissionData) : serializeSlate(message, submissionData);
38
28
  return {
39
29
  bcc,
40
30
  cc,
41
31
  from,
42
32
  html: `<div>${serializedMessage}</div>`,
43
33
  replyTo,
44
- subject: (0, _replaceDoubleCurlys.replaceDoubleCurlys)(subject, submissionData),
34
+ subject: replaceDoubleCurlys(subject, submissionData),
45
35
  to
46
36
  };
47
37
  }));
@@ -75,6 +65,5 @@ const sendEmail = async (beforeChangeData, formConfig)=>{
75
65
  }
76
66
  return data;
77
67
  };
78
- const _default = sendEmail;
79
68
 
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9Gb3JtU3VibWlzc2lvbnMvaG9va3Mvc2VuZEVtYWlsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW1haWwsIEZvcm1hdHRlZEVtYWlsLCBQbHVnaW5Db25maWcgfSBmcm9tICcuLi8uLi8uLi90eXBlcydcblxuaW1wb3J0IHsgc2VyaWFsaXplTGV4aWNhbCB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9sZXhpY2FsL3NlcmlhbGl6ZUxleGljYWwnXG5pbXBvcnQgeyByZXBsYWNlRG91YmxlQ3VybHlzIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3JlcGxhY2VEb3VibGVDdXJseXMnXG5pbXBvcnQgeyBzZXJpYWxpemVTbGF0ZSB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9zbGF0ZS9zZXJpYWxpemVTbGF0ZSdcblxuY29uc3Qgc2VuZEVtYWlsID0gYXN5bmMgKGJlZm9yZUNoYW5nZURhdGE6IGFueSwgZm9ybUNvbmZpZzogUGx1Z2luQ29uZmlnKTogUHJvbWlzZTxhbnk+ID0+IHtcbiAgY29uc3QgeyBkYXRhLCBvcGVyYXRpb24sIHJlcSB9ID0gYmVmb3JlQ2hhbmdlRGF0YVxuXG4gIGlmIChvcGVyYXRpb24gPT09ICdjcmVhdGUnKSB7XG4gICAgY29uc3Qge1xuICAgICAgZGF0YTogeyBpZDogZm9ybVN1Ym1pc3Npb25JRCB9LFxuICAgICAgcmVxOiB7IGxvY2FsZSwgcGF5bG9hZCB9LFxuICAgIH0gPSBiZWZvcmVDaGFuZ2VEYXRhXG5cbiAgICBjb25zdCB7IGZvcm06IGZvcm1JRCwgc3VibWlzc2lvbkRhdGEgfSA9IGRhdGEgfHwge31cblxuICAgIGNvbnN0IHsgYmVmb3JlRW1haWwsIGZvcm1PdmVycmlkZXMgfSA9IGZvcm1Db25maWcgfHwge31cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBmb3JtID0gYXdhaXQgcGF5bG9hZC5maW5kQnlJRCh7XG4gICAgICAgIGlkOiBmb3JtSUQsXG4gICAgICAgIGNvbGxlY3Rpb246IGZvcm1PdmVycmlkZXM/LnNsdWcgfHwgJ2Zvcm1zJyxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgICByZXEsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCB7IGVtYWlscyB9ID0gZm9ybVxuXG4gICAgICBpZiAoZW1haWxzICYmIGVtYWlscy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkRW1haWxzOiBGb3JtYXR0ZWRFbWFpbFtdID0gYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgZW1haWxzLm1hcChhc3luYyAoZW1haWw6IEVtYWlsKTogUHJvbWlzZTxGb3JtYXR0ZWRFbWFpbCB8IG51bGw+ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHtcbiAgICAgICAgICAgICAgYmNjOiBlbWFpbEJDQyxcbiAgICAgICAgICAgICAgY2M6IGVtYWlsQ0MsXG4gICAgICAgICAgICAgIGVtYWlsRnJvbSxcbiAgICAgICAgICAgICAgZW1haWxUbyxcbiAgICAgICAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgICAgICAgcmVwbHlUbzogZW1haWxSZXBseVRvLFxuICAgICAgICAgICAgICBzdWJqZWN0LFxuICAgICAgICAgICAgfSA9IGVtYWlsXG5cbiAgICAgICAgICAgIGNvbnN0IHRvID0gcmVwbGFjZURvdWJsZUN1cmx5cyhlbWFpbFRvLCBzdWJtaXNzaW9uRGF0YSlcbiAgICAgICAgICAgIGNvbnN0IGNjID0gZW1haWxDQyA/IHJlcGxhY2VEb3VibGVDdXJseXMoZW1haWxDQywgc3VibWlzc2lvbkRhdGEpIDogJydcbiAgICAgICAgICAgIGNvbnN0IGJjYyA9IGVtYWlsQkNDID8gcmVwbGFjZURvdWJsZUN1cmx5cyhlbWFpbEJDQywgc3VibWlzc2lvbkRhdGEpIDogJydcbiAgICAgICAgICAgIGNvbnN0IGZyb20gPSByZXBsYWNlRG91YmxlQ3VybHlzKGVtYWlsRnJvbSwgc3VibWlzc2lvbkRhdGEpXG4gICAgICAgICAgICBjb25zdCByZXBseVRvID0gcmVwbGFjZURvdWJsZUN1cmx5cyhlbWFpbFJlcGx5VG8gfHwgZW1haWxGcm9tLCBzdWJtaXNzaW9uRGF0YSlcblxuICAgICAgICAgICAgY29uc3QgaXNMZXhpY2FsID0gbWVzc2FnZSAmJiAhQXJyYXkuaXNBcnJheShtZXNzYWdlKSAmJiAncm9vdCcgaW4gbWVzc2FnZVxuXG4gICAgICAgICAgICBjb25zdCBzZXJpYWxpemVkTWVzc2FnZSA9IGlzTGV4aWNhbFxuICAgICAgICAgICAgICA/IGF3YWl0IHNlcmlhbGl6ZUxleGljYWwobWVzc2FnZSwgc3VibWlzc2lvbkRhdGEpXG4gICAgICAgICAgICAgIDogc2VyaWFsaXplU2xhdGUobWVzc2FnZSwgc3VibWlzc2lvbkRhdGEpXG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGJjYyxcbiAgICAgICAgICAgICAgY2MsXG4gICAgICAgICAgICAgIGZyb20sXG4gICAgICAgICAgICAgIGh0bWw6IGA8ZGl2PiR7c2VyaWFsaXplZE1lc3NhZ2V9PC9kaXY+YCxcbiAgICAgICAgICAgICAgcmVwbHlUbyxcbiAgICAgICAgICAgICAgc3ViamVjdDogcmVwbGFjZURvdWJsZUN1cmx5cyhzdWJqZWN0LCBzdWJtaXNzaW9uRGF0YSksXG4gICAgICAgICAgICAgIHRvLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pLFxuICAgICAgICApXG5cbiAgICAgICAgbGV0IGVtYWlsc1RvU2VuZCA9IGZvcm1hdHRlZEVtYWlsc1xuXG4gICAgICAgIGlmICh0eXBlb2YgYmVmb3JlRW1haWwgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICBlbWFpbHNUb1NlbmQgPSBhd2FpdCBiZWZvcmVFbWFpbChmb3JtYXR0ZWRFbWFpbHMpXG4gICAgICAgIH1cblxuICAgICAgICAvLyBjb25zdCBsb2cgPSBlbWFpbHNUb1NlbmQubWFwKCh7IGh0bWwsIC4uLnJlc3QgfSkgPT4gKHsgLi4ucmVzdCB9KSlcblxuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICBlbWFpbHNUb1NlbmQubWFwKGFzeW5jIChlbWFpbCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyB0byB9ID0gZW1haWxcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGNvbnN0IGVtYWlsUHJvbWlzZSA9IGF3YWl0IHBheWxvYWQuc2VuZEVtYWlsKGVtYWlsKVxuICAgICAgICAgICAgICByZXR1cm4gZW1haWxQcm9taXNlXG4gICAgICAgICAgICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICAgICAgICAgICAgcGF5bG9hZC5sb2dnZXIuZXJyb3Ioe1xuICAgICAgICAgICAgICAgIGVycjogYEVycm9yIHdoaWxlIHNlbmRpbmcgZW1haWwgdG8gYWRkcmVzczogJHt0b30uIEVtYWlsIG5vdCBzZW50OiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgICAgICAgZXJyLFxuICAgICAgICAgICAgICAgICl9YCxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7IG1zZzogJ05vIGVtYWlscyB0byBzZW5kLicgfSlcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICAgIGNvbnN0IG1zZyA9IGBFcnJvciB3aGlsZSBzZW5kaW5nIG9uZSBvciBtb3JlIGVtYWlscyBpbiBmb3JtIHN1Ym1pc3Npb24gaWQ6ICR7Zm9ybVN1Ym1pc3Npb25JRH0uYFxuICAgICAgcGF5bG9hZC5sb2dnZXIuZXJyb3IoeyBlcnI6IG1zZyB9KVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkYXRhXG59XG5cbmV4cG9ydCBkZWZhdWx0IHNlbmRFbWFpbFxuIl0sIm5hbWVzIjpbInNlbmRFbWFpbCIsImJlZm9yZUNoYW5nZURhdGEiLCJmb3JtQ29uZmlnIiwiZGF0YSIsIm9wZXJhdGlvbiIsInJlcSIsImlkIiwiZm9ybVN1Ym1pc3Npb25JRCIsImxvY2FsZSIsInBheWxvYWQiLCJmb3JtIiwiZm9ybUlEIiwic3VibWlzc2lvbkRhdGEiLCJiZWZvcmVFbWFpbCIsImZvcm1PdmVycmlkZXMiLCJmaW5kQnlJRCIsImNvbGxlY3Rpb24iLCJzbHVnIiwiZW1haWxzIiwibGVuZ3RoIiwiZm9ybWF0dGVkRW1haWxzIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsImVtYWlsIiwiYmNjIiwiZW1haWxCQ0MiLCJjYyIsImVtYWlsQ0MiLCJlbWFpbEZyb20iLCJlbWFpbFRvIiwibWVzc2FnZSIsInJlcGx5VG8iLCJlbWFpbFJlcGx5VG8iLCJzdWJqZWN0IiwidG8iLCJyZXBsYWNlRG91YmxlQ3VybHlzIiwiZnJvbSIsImlzTGV4aWNhbCIsIkFycmF5IiwiaXNBcnJheSIsInNlcmlhbGl6ZWRNZXNzYWdlIiwic2VyaWFsaXplTGV4aWNhbCIsInNlcmlhbGl6ZVNsYXRlIiwiaHRtbCIsImVtYWlsc1RvU2VuZCIsImVtYWlsUHJvbWlzZSIsImVyciIsImxvZ2dlciIsImVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsImluZm8iLCJtc2ciXSwibWFwcGluZ3MiOiI7Ozs7K0JBcUdBOzs7ZUFBQTs7O2tDQW5HaUM7cUNBQ0c7Z0NBQ0w7QUFFL0IsTUFBTUEsWUFBWSxPQUFPQyxrQkFBdUJDO0lBQzlDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxTQUFTLEVBQUVDLEdBQUcsRUFBRSxHQUFHSjtJQUVqQyxJQUFJRyxjQUFjLFVBQVU7UUFDMUIsTUFBTSxFQUNKRCxNQUFNLEVBQUVHLElBQUlDLGdCQUFnQixFQUFFLEVBQzlCRixLQUFLLEVBQUVHLE1BQU0sRUFBRUMsT0FBTyxFQUFFLEVBQ3pCLEdBQUdSO1FBRUosTUFBTSxFQUFFUyxNQUFNQyxNQUFNLEVBQUVDLGNBQWMsRUFBRSxHQUFHVCxRQUFRLENBQUM7UUFFbEQsTUFBTSxFQUFFVSxXQUFXLEVBQUVDLGFBQWEsRUFBRSxHQUFHWixjQUFjLENBQUM7UUFFdEQsSUFBSTtZQUNG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
69
+ //# sourceMappingURL=sendEmail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/collections/FormSubmissions/hooks/sendEmail.ts"],"sourcesContent":["import type { Email, FormattedEmail, PluginConfig } from '../../../types.js'\n\nimport { serializeLexical } from '../../../utilities/lexical/serializeLexical.js'\nimport { replaceDoubleCurlys } from '../../../utilities/replaceDoubleCurlys.js'\nimport { serializeSlate } from '../../../utilities/slate/serializeSlate.js'\n\nexport const sendEmail = async (beforeChangeData: any, formConfig: PluginConfig): Promise<any> => {\n const { data, operation, req } = beforeChangeData\n\n if (operation === 'create') {\n const {\n data: { id: formSubmissionID },\n req: { locale, payload },\n } = beforeChangeData\n\n const { form: formID, submissionData } = data || {}\n\n const { beforeEmail, formOverrides } = formConfig || {}\n\n try {\n const form = await payload.findByID({\n id: formID,\n collection: formOverrides?.slug || 'forms',\n locale,\n req,\n })\n\n const { emails } = form\n\n if (emails && emails.length) {\n const formattedEmails: FormattedEmail[] = await Promise.all(\n emails.map(async (email: Email): Promise<FormattedEmail | null> => {\n const {\n bcc: emailBCC,\n cc: emailCC,\n emailFrom,\n emailTo,\n message,\n replyTo: emailReplyTo,\n subject,\n } = email\n\n const to = replaceDoubleCurlys(emailTo, submissionData)\n const cc = emailCC ? replaceDoubleCurlys(emailCC, submissionData) : ''\n const bcc = emailBCC ? replaceDoubleCurlys(emailBCC, submissionData) : ''\n const from = replaceDoubleCurlys(emailFrom, submissionData)\n const replyTo = replaceDoubleCurlys(emailReplyTo || emailFrom, submissionData)\n\n const isLexical = message && !Array.isArray(message) && 'root' in message\n\n const serializedMessage = isLexical\n ? await serializeLexical(message, submissionData)\n : serializeSlate(message, submissionData)\n\n return {\n bcc,\n cc,\n from,\n html: `<div>${serializedMessage}</div>`,\n replyTo,\n subject: replaceDoubleCurlys(subject, submissionData),\n to,\n }\n }),\n )\n\n let emailsToSend = formattedEmails\n\n if (typeof beforeEmail === 'function') {\n emailsToSend = await beforeEmail(formattedEmails)\n }\n\n // const log = emailsToSend.map(({ html, ...rest }) => ({ ...rest }))\n\n await Promise.all(\n emailsToSend.map(async (email) => {\n const { to } = email\n try {\n const emailPromise = await payload.sendEmail(email)\n return emailPromise\n } catch (err: unknown) {\n payload.logger.error({\n err: `Error while sending email to address: ${to}. Email not sent: ${JSON.stringify(\n err,\n )}`,\n })\n }\n }),\n )\n } else {\n payload.logger.info({ msg: 'No emails to send.' })\n }\n } catch (err: unknown) {\n const msg = `Error while sending one or more emails in form submission id: ${formSubmissionID}.`\n payload.logger.error({ err: msg })\n }\n }\n\n return data\n}\n"],"names":["serializeLexical","replaceDoubleCurlys","serializeSlate","sendEmail","beforeChangeData","formConfig","data","operation","req","id","formSubmissionID","locale","payload","form","formID","submissionData","beforeEmail","formOverrides","findByID","collection","slug","emails","length","formattedEmails","Promise","all","map","email","bcc","emailBCC","cc","emailCC","emailFrom","emailTo","message","replyTo","emailReplyTo","subject","to","from","isLexical","Array","isArray","serializedMessage","html","emailsToSend","emailPromise","err","logger","error","JSON","stringify","info","msg"],"mappings":"AAEA,SAASA,gBAAgB,QAAQ,iDAAgD;AACjF,SAASC,mBAAmB,QAAQ,4CAA2C;AAC/E,SAASC,cAAc,QAAQ,6CAA4C;AAE3E,OAAO,MAAMC,YAAY,OAAOC,kBAAuBC;IACrD,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAEC,GAAG,EAAE,GAAGJ;IAEjC,IAAIG,cAAc,UAAU;QAC1B,MAAM,EACJD,MAAM,EAAEG,IAAIC,gBAAgB,EAAE,EAC9BF,KAAK,EAAEG,MAAM,EAAEC,OAAO,EAAE,EACzB,GAAGR;QAEJ,MAAM,EAAES,MAAMC,MAAM,EAAEC,cAAc,EAAE,GAAGT,QAAQ,CAAC;QAElD,MAAM,EAAEU,WAAW,EAAEC,aAAa,EAAE,GAAGZ,cAAc,CAAC;QAEtD,IAAI;YACF,MAAMQ,OAAO,MAAMD,QAAQM,QAAQ,CAAC;gBAClCT,IAAIK;gBACJK,YAAYF,eAAeG,QAAQ;gBACnCT;gBACAH;YACF;YAEA,MAAM,EAAEa,MAAM,EAAE,GAAGR;YAEnB,IAAIQ,UAAUA,OAAOC,MAAM,EAAE;gBAC3B,MAAMC,kBAAoC,MAAMC,QAAQC,GAAG,CACzDJ,OAAOK,GAAG,CAAC,OAAOC;oBAChB,MAAM,EACJC,KAAKC,QAAQ,EACbC,IAAIC,OAAO,EACXC,SAAS,EACTC,OAAO,EACPC,OAAO,EACPC,SAASC,YAAY,EACrBC,OAAO,EACR,GAAGV;oBAEJ,MAAMW,KAAKrC,oBAAoBgC,SAASlB;oBACxC,MAAMe,KAAKC,UAAU9B,oBAAoB8B,SAAShB,kBAAkB;oBACpE,MAAMa,MAAMC,WAAW5B,oBAAoB4B,UAAUd,kBAAkB;oBACvE,MAAMwB,OAAOtC,oBAAoB+B,WAAWjB;oBAC5C,MAAMoB,UAAUlC,oBAAoBmC,gBAAgBJ,WAAWjB;oBAE/D,MAAMyB,YAAYN,WAAW,CAACO,MAAMC,OAAO,CAACR,YAAY,UAAUA;oBAElE,MAAMS,oBAAoBH,YACtB,MAAMxC,iBAAiBkC,SAASnB,kBAChCb,eAAegC,SAASnB;oBAE5B,OAAO;wBACLa;wBACAE;wBACAS;wBACAK,MAAM,CAAC,KAAK,EAAED,kBAAkB,MAAM,CAAC;wBACvCR;wBACAE,SAASpC,oBAAoBoC,SAAStB;wBACtCuB;oBACF;gBACF;gBAGF,IAAIO,eAAetB;gBAEnB,IAAI,OAAOP,gBAAgB,YAAY;oBACrC6B,eAAe,MAAM7B,YAAYO;gBACnC;gBAEA,qEAAqE;gBAErE,MAAMC,QAAQC,GAAG,CACfoB,aAAanB,GAAG,CAAC,OAAOC;oBACtB,MAAM,EAAEW,EAAE,EAAE,GAAGX;oBACf,IAAI;wBACF,MAAMmB,eAAe,MAAMlC,QAAQT,SAAS,CAACwB;wBAC7C,OAAOmB;oBACT,EAAE,OAAOC,KAAc;wBACrBnC,QAAQoC,MAAM,CAACC,KAAK,CAAC;4BACnBF,KAAK,CAAC,sCAAsC,EAAET,GAAG,kBAAkB,EAAEY,KAAKC,SAAS,CACjFJ,KACA,CAAC;wBACL;oBACF;gBACF;YAEJ,OAAO;gBACLnC,QAAQoC,MAAM,CAACI,IAAI,CAAC;oBAAEC,KAAK;gBAAqB;YAClD;QACF,EAAE,OAAON,KAAc;YACrB,MAAMM,MAAM,CAAC,8DAA8D,EAAE3C,iBAAiB,CAAC,CAAC;YAChGE,QAAQoC,MAAM,CAACC,KAAK,CAAC;gBAAEF,KAAKM;YAAI;QAClC;IACF;IAEA,OAAO/C;AACT,EAAC"}
@@ -1,21 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "generateSubmissionCollection", {
6
- enumerable: true,
7
- get: function() {
8
- return generateSubmissionCollection;
9
- }
10
- });
11
- const _createCharge = /*#__PURE__*/ _interop_require_default(require("./hooks/createCharge"));
12
- const _sendEmail = /*#__PURE__*/ _interop_require_default(require("./hooks/sendEmail"));
13
- function _interop_require_default(obj) {
14
- return obj && obj.__esModule ? obj : {
15
- default: obj
16
- };
17
- }
18
- const generateSubmissionCollection = (formConfig)=>{
1
+ import { createCharge } from './hooks/createCharge.js';
2
+ import { sendEmail } from './hooks/sendEmail.js';
3
+ // all settings can be overridden by the config
4
+ export const generateSubmissionCollection = (formConfig)=>{
19
5
  const formSlug = formConfig?.formOverrides?.slug || 'forms';
20
6
  const newConfig = {
21
7
  ...formConfig?.formSubmissionOverrides || {},
@@ -39,12 +25,12 @@ const generateSubmissionCollection = (formConfig)=>{
39
25
  },
40
26
  relationTo: formSlug,
41
27
  required: true,
42
- validate: async (value, { payload, req })=>{
28
+ validate: async (value, { req: { payload }, req })=>{
43
29
  /* Don't run in the client side */ if (!payload) return true;
44
30
  if (payload) {
45
- let existingForm;
31
+ let _existingForm;
46
32
  try {
47
- existingForm = await payload.findByID({
33
+ _existingForm = await payload.findByID({
48
34
  id: value,
49
35
  collection: formSlug,
50
36
  req
@@ -92,8 +78,8 @@ const generateSubmissionCollection = (formConfig)=>{
92
78
  ],
93
79
  hooks: {
94
80
  beforeChange: [
95
- (data)=>(0, _createCharge.default)(data, formConfig),
96
- (data)=>(0, _sendEmail.default)(data, formConfig),
81
+ (data)=>createCharge(data, formConfig),
82
+ (data)=>sendEmail(data, formConfig),
97
83
  ...formConfig?.formSubmissionOverrides?.hooks?.beforeChange || []
98
84
  ],
99
85
  ...formConfig?.formSubmissionOverrides?.hooks || {}
@@ -157,4 +143,4 @@ const generateSubmissionCollection = (formConfig)=>{
157
143
  return newConfig;
158
144
  };
159
145
 
160
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9Gb3JtU3VibWlzc2lvbnMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHR5cGUgeyBQbHVnaW5Db25maWcgfSBmcm9tICcuLi8uLi90eXBlcydcblxuaW1wb3J0IGNyZWF0ZUNoYXJnZSBmcm9tICcuL2hvb2tzL2NyZWF0ZUNoYXJnZSdcbmltcG9ydCBzZW5kRW1haWwgZnJvbSAnLi9ob29rcy9zZW5kRW1haWwnXG5cbi8vIGFsbCBzZXR0aW5ncyBjYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgY29uZmlnXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVTdWJtaXNzaW9uQ29sbGVjdGlvbiA9IChmb3JtQ29uZmlnOiBQbHVnaW5Db25maWcpOiBDb2xsZWN0aW9uQ29uZmlnID0+IHtcbiAgY29uc3QgZm9ybVNsdWcgPSBmb3JtQ29uZmlnPy5mb3JtT3ZlcnJpZGVzPy5zbHVnIHx8ICdmb3JtcydcblxuICBjb25zdCBuZXdDb25maWc6IENvbGxlY3Rpb25Db25maWcgPSB7XG4gICAgLi4uKGZvcm1Db25maWc/LmZvcm1TdWJtaXNzaW9uT3ZlcnJpZGVzIHx8IHt9KSxcbiAgICBzbHVnOiBmb3JtQ29uZmlnPy5mb3JtU3VibWlzc2lvbk92ZXJyaWRlcz8uc2x1ZyB8fCAnZm9ybS1zdWJtaXNzaW9ucycsXG4gICAgYWNjZXNzOiB7XG4gICAgICBjcmVhdGU6ICgpID0+IHRydWUsXG4gICAgICByZWFkOiAoeyByZXE6IHsgdXNlciB9IH0pID0+ICEhdXNlciwgLy8gbG9nZ2VkLWluIHVzZXJzLFxuICAgICAgdXBkYXRlOiAoKSA9PiBmYWxzZSxcbiAgICAgIC4uLihmb3JtQ29uZmlnPy5mb3JtU3VibWlzc2lvbk92ZXJyaWRlcz8uYWNjZXNzIHx8IHt9KSxcbiAgICB9LFxuICAgIGFkbWluOiB7XG4gICAgICAuLi4oZm9ybUNvbmZpZz8uZm9ybVN1Ym1pc3Npb25PdmVycmlkZXM/LmFkbWluIHx8IHt9KSxcbiAgICAgIGVuYWJsZVJpY2hUZXh0UmVsYXRpb25zaGlwOiBmYWxzZSxcbiAgICB9LFxuICAgIGZpZWxkczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnZm9ybScsXG4gICAgICAgIHR5cGU6ICdyZWxhdGlvbnNoaXAnLFxuICAgICAgICBhZG1pbjoge1xuICAgICAgICAgIHJlYWRPbmx5OiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICByZWxhdGlvblRvOiBmb3JtU2x1ZyxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIHZhbGlkYXRlOiBhc3luYyAodmFsdWUsIHsgcGF5bG9hZCwgcmVxIH0pID0+IHtcbiAgICAgICAgICAvKiBEb24ndCBydW4gaW4gdGhlIGNsaWVudCBzaWRlICovXG4gICAgICAgICAgaWYgKCFwYXlsb2FkKSByZXR1cm4gdHJ1ZVxuXG4gICAgICAgICAgaWYgKHBheWxvYWQpIHtcbiAgICAgICAgICAgIGxldCBleGlzdGluZ0Zvcm1cblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgZXhpc3RpbmdGb3JtID0gYXdhaXQgcGF5bG9hZC5maW5kQnlJRCh7XG4gICAgICAgICAgICAgICAgaWQ6IHZhbHVlLFxuICAgICAgICAgICAgICAgIGNvbGxlY3Rpb246IGZvcm1TbHVnLFxuICAgICAgICAgICAgICAgIHJlcSxcbiAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgcmV0dXJuICdDYW5ub3QgY3JlYXRlIHRoaXMgc3VibWlzc2lvbiBiZWNhdXNlIHRoaXMgZm9ybSBkb2VzIG5vdCBleGlzdC4nXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3N1Ym1pc3Npb25EYXRhJyxcbiAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICByZWFkT25seTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2ZpZWxkJyxcbiAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ3ZhbHVlJyxcbiAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgdmFsaWRhdGU6ICh2YWx1ZTogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICAvLyBUT0RPOlxuICAgICAgICAgICAgICAvLyBjcmVhdGUgYSB2YWxpZGF0aW9uIGZ1bmN0aW9uIHRoYXQgZHluYW1pY2FsbHlcbiAgICAgICAgICAgICAgLy8gcmVsaWVzIG9uIHRoZSBmaWVsZCB0eXBlIGFuZCBpdHMgb3B0aW9ucyBhcyBjb25maWd1cmVkLlxuXG4gICAgICAgICAgICAgIC8vIEhvdyB0byBhY2Nlc3Mgc2libGluZyBkYXRhIGZyb20gdGhpcyBmaWVsZD9cbiAgICAgICAgICAgICAgLy8gTmVlZCB0aGUgYG5hbWVgIG9mIHRoZSBmaWVsZCBpbiBvcmRlciB0byB2YWxpZGF0ZSBpdC5cblxuICAgICAgICAgICAgICAvLyBNaWdodCBub3QgYmUgcG9zc2libGUgdG8gdXNlIHRoaXMgdmFsaWRhdGlvbiBmdW5jdGlvbi5cbiAgICAgICAgICAgICAgLy8gSW5zdGVhZCwgbWlnaHQgbmVlZCB0byBkbyBhbGwgdmFsaWRhdGlvbiBpbiBhIGBiZWZvcmVWYWxpZGF0ZWAgY29sbGVjdGlvbiBob29rLlxuXG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiAnVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4nXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgICAgLi4uKGZvcm1Db25maWc/LmZvcm1TdWJtaXNzaW9uT3ZlcnJpZGVzPy5maWVsZHMgfHwgW10pLFxuICAgIF0sXG4gICAgaG9va3M6IHtcbiAgICAgIGJlZm9yZUNoYW5nZTogW1xuICAgICAgICAoZGF0YSkgPT4gY3JlYXRlQ2hhcmdlKGRhdGEsIGZvcm1Db25maWcpLFxuICAgICAgICAoZGF0YSkgPT4gc2VuZEVtYWlsKGRhdGEsIGZvcm1Db25maWcpLFxuICAgICAgICAuLi4oZm9ybUNvbmZpZz8uZm9ybVN1Ym1pc3Npb25PdmVycmlkZXM/Lmhvb2tzPy5iZWZvcmVDaGFuZ2UgfHwgW10pLFxuICAgICAgXSxcbiAgICAgIC4uLihmb3JtQ29uZmlnPy5mb3JtU3VibWlzc2lvbk92ZXJyaWRlcz8uaG9va3MgfHwge30pLFxuICAgIH0sXG4gIH1cblxuICBjb25zdCBwYXltZW50RmllbGRDb25maWcgPSBmb3JtQ29uZmlnPy5maWVsZHM/LnBheW1lbnRcblxuICBpZiAocGF5bWVudEZpZWxkQ29uZmlnKSB7XG4gICAgbmV3Q29uZmlnLmZpZWxkcy5wdXNoKHtcbiAgICAgIG5hbWU6ICdwYXltZW50JyxcbiAgICAgIHR5cGU6ICdncm91cCcsXG4gICAgICBhZG1pbjoge1xuICAgICAgICByZWFkT25seTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICBmaWVsZHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdmaWVsZCcsXG4gICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgIGxhYmVsOiAnRmllbGQnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3N0YXR1cycsXG4gICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgIGxhYmVsOiAnU3RhdHVzJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdhbW91bnQnLFxuICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0Ftb3VudCBpbiBjZW50cycsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdwYXltZW50UHJvY2Vzc29yJyxcbiAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnY3JlZGl0Q2FyZCcsXG4gICAgICAgICAgdHlwZTogJ2dyb3VwJyxcbiAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ3Rva2VuJyxcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICBsYWJlbDogJ3Rva2VuJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICdicmFuZCcsXG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgbGFiZWw6ICdCcmFuZCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnbnVtYmVyJyxcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICBsYWJlbDogJ051bWJlcicsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgICAgbGFiZWw6ICdDcmVkaXQgQ2FyZCcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gbmV3Q29uZmlnXG59XG4iXSwibmFtZXMiOlsiZ2VuZXJhdGVTdWJtaXNzaW9uQ29sbGVjdGlvbiIsImZvcm1Db25maWciLCJmb3JtU2x1ZyIsImZvcm1PdmVycmlkZXMiLCJzbHVnIiwibmV3Q29uZmlnIiwiZm9ybVN1Ym1pc3Npb25PdmVycmlkZXMiLCJhY2Nlc3MiLCJjcmVhdGUiLCJyZWFkIiwicmVxIiwidXNlciIsInVwZGF0ZSIsImFkbWluIiwiZW5hYmxlUmljaFRleHRSZWxhdGlvbnNoaXAiLCJmaWVsZHMiLCJuYW1lIiwidHlwZSIsInJlYWRPbmx5IiwicmVsYXRpb25UbyIsInJlcXVpcmVkIiwidmFsaWRhdGUiLCJ2YWx1ZSIsInBheWxvYWQiLCJleGlzdGluZ0Zvcm0iLCJmaW5kQnlJRCIsImlkIiwiY29sbGVjdGlvbiIsImVycm9yIiwiaG9va3MiLCJiZWZvcmVDaGFuZ2UiLCJkYXRhIiwiY3JlYXRlQ2hhcmdlIiwic2VuZEVtYWlsIiwicGF5bWVudEZpZWxkQ29uZmlnIiwicGF5bWVudCIsInB1c2giLCJsYWJlbCIsImRlc2NyaXB0aW9uIl0sIm1hcHBpbmdzIjoiOzs7OytCQVFhQTs7O2VBQUFBOzs7cUVBSlk7a0VBQ0g7Ozs7OztBQUdmLE1BQU1BLCtCQUErQixDQUFDQztJQUMzQyxNQUFNQyxXQUFXRCxZQUFZRSxlQUFlQyxRQUFRO0lBRXBELE1BQU1DLFlBQThCO1FBQ2xDLEdBQUlKLFlBQVlLLDJCQUEyQixDQUFDLENBQUM7UUFDN0NGLE1BQU1ILFlBQVlLLHlCQUF5QkYsUUFBUTtRQUNuREcsUUFBUTtZQUNOQyxRQUFRLElBQU07WUFDZEMsTUFBTSxDQUFDLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFLEVBQUUsR0FBSyxDQUFDLENBQUNBO1lBQy9CQyxRQUFRLElBQU07WUFDZCxHQUFJWCxZQUFZSyx5QkFBeUJDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZEO1FBQ0FNLE9BQU87WUFDTCxHQUFJWixZQUFZSyx5QkFBeUJPLFNBQVMsQ0FBQyxDQUFDO1lBQ3BEQyw0QkFBNEI7UUFDOUI7UUFDQUMsUUFBUTtZQUNOO2dCQUNFQyxNQUFNO2dCQUNOQyxNQUFNO2dCQUNOSixPQUFPO29CQUNM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
146
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/collections/FormSubmissions/index.ts"],"sourcesContent":["import type { CollectionConfig } from 'payload/types'\n\nimport type { PluginConfig } from '../../types.js'\n\nimport { createCharge } from './hooks/createCharge.js'\nimport { sendEmail } from './hooks/sendEmail.js'\n\n// all settings can be overridden by the config\nexport const generateSubmissionCollection = (formConfig: PluginConfig): CollectionConfig => {\n const formSlug = formConfig?.formOverrides?.slug || 'forms'\n\n const newConfig: CollectionConfig = {\n ...(formConfig?.formSubmissionOverrides || {}),\n slug: formConfig?.formSubmissionOverrides?.slug || 'form-submissions',\n access: {\n create: () => true,\n read: ({ req: { user } }) => !!user, // logged-in users,\n update: () => false,\n ...(formConfig?.formSubmissionOverrides?.access || {}),\n },\n admin: {\n ...(formConfig?.formSubmissionOverrides?.admin || {}),\n enableRichTextRelationship: false,\n },\n fields: [\n {\n name: 'form',\n type: 'relationship',\n admin: {\n readOnly: true,\n },\n relationTo: formSlug,\n required: true,\n validate: async (value, { req: { payload }, req }) => {\n /* Don't run in the client side */\n if (!payload) return true\n\n if (payload) {\n let _existingForm\n\n try {\n _existingForm = await payload.findByID({\n id: value,\n collection: formSlug,\n req,\n })\n\n return true\n } catch (error) {\n return 'Cannot create this submission because this form does not exist.'\n }\n }\n },\n },\n {\n name: 'submissionData',\n type: 'array',\n admin: {\n readOnly: true,\n },\n fields: [\n {\n name: 'field',\n type: 'text',\n required: true,\n },\n {\n name: 'value',\n type: 'text',\n required: true,\n validate: (value: unknown) => {\n // TODO:\n // create a validation function that dynamically\n // relies on the field type and its options as configured.\n\n // How to access sibling data from this field?\n // Need the `name` of the field in order to validate it.\n\n // Might not be possible to use this validation function.\n // Instead, might need to do all validation in a `beforeValidate` collection hook.\n\n if (typeof value !== 'undefined') {\n return true\n }\n\n return 'This field is required.'\n },\n },\n ],\n },\n ...(formConfig?.formSubmissionOverrides?.fields || []),\n ],\n hooks: {\n beforeChange: [\n (data) => createCharge(data, formConfig),\n (data) => sendEmail(data, formConfig),\n ...(formConfig?.formSubmissionOverrides?.hooks?.beforeChange || []),\n ],\n ...(formConfig?.formSubmissionOverrides?.hooks || {}),\n },\n }\n\n const paymentFieldConfig = formConfig?.fields?.payment\n\n if (paymentFieldConfig) {\n newConfig.fields.push({\n name: 'payment',\n type: 'group',\n admin: {\n readOnly: true,\n },\n fields: [\n {\n name: 'field',\n type: 'text',\n label: 'Field',\n },\n {\n name: 'status',\n type: 'text',\n label: 'Status',\n },\n {\n name: 'amount',\n type: 'number',\n admin: {\n description: 'Amount in cents',\n },\n },\n {\n name: 'paymentProcessor',\n type: 'text',\n },\n {\n name: 'creditCard',\n type: 'group',\n fields: [\n {\n name: 'token',\n type: 'text',\n label: 'token',\n },\n {\n name: 'brand',\n type: 'text',\n label: 'Brand',\n },\n {\n name: 'number',\n type: 'text',\n label: 'Number',\n },\n ],\n label: 'Credit Card',\n },\n ],\n })\n }\n\n return newConfig\n}\n"],"names":["createCharge","sendEmail","generateSubmissionCollection","formConfig","formSlug","formOverrides","slug","newConfig","formSubmissionOverrides","access","create","read","req","user","update","admin","enableRichTextRelationship","fields","name","type","readOnly","relationTo","required","validate","value","payload","_existingForm","findByID","id","collection","error","hooks","beforeChange","data","paymentFieldConfig","payment","push","label","description"],"mappings":"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"}
@@ -1,62 +1,11 @@
1
1
  'use client';
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "DynamicFieldSelector", {
7
- enumerable: true,
8
- get: function() {
9
- return DynamicFieldSelector;
10
- }
11
- });
12
- const _forms = require("payload/components/forms");
13
- const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
14
- function _getRequireWildcardCache(nodeInterop) {
15
- if (typeof WeakMap !== "function") return null;
16
- var cacheBabelInterop = new WeakMap();
17
- var cacheNodeInterop = new WeakMap();
18
- return (_getRequireWildcardCache = function(nodeInterop) {
19
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
20
- })(nodeInterop);
21
- }
22
- function _interop_require_wildcard(obj, nodeInterop) {
23
- if (!nodeInterop && obj && obj.__esModule) {
24
- return obj;
25
- }
26
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
27
- return {
28
- default: obj
29
- };
30
- }
31
- var cache = _getRequireWildcardCache(nodeInterop);
32
- if (cache && cache.has(obj)) {
33
- return cache.get(obj);
34
- }
35
- var newObj = {
36
- __proto__: null
37
- };
38
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
39
- for(var key in obj){
40
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
41
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
42
- if (desc && (desc.get || desc.set)) {
43
- Object.defineProperty(newObj, key, desc);
44
- } else {
45
- newObj[key] = obj[key];
46
- }
47
- }
48
- }
49
- newObj.default = obj;
50
- if (cache) {
51
- cache.set(obj, newObj);
52
- }
53
- return newObj;
54
- }
55
- const DynamicFieldSelector = (props)=>{
56
- const { fields, getDataByPath } = (0, _forms.useForm)();
57
- const [options, setOptions] = (0, _react.useState)([]);
58
- (0, _react.useEffect)(()=>{
59
- // @ts-ignore
2
+ import { Select } from '@payloadcms/ui/fields/Select';
3
+ import { useForm } from '@payloadcms/ui/forms/Form';
4
+ import React, { useEffect, useState } from 'react';
5
+ export const DynamicFieldSelector = (props)=>{
6
+ const { fields, getDataByPath } = useForm();
7
+ const [options, setOptions] = useState([]);
8
+ useEffect(()=>{
60
9
  const fields = getDataByPath('fields');
61
10
  if (fields) {
62
11
  const allNonPaymentFields = fields.map((block)=>{
@@ -75,10 +24,12 @@ const DynamicFieldSelector = (props)=>{
75
24
  fields,
76
25
  getDataByPath
77
26
  ]);
78
- return /*#__PURE__*/ _react.default.createElement(_forms.Select, {
27
+ // TODO: label from config is Record<string, string> | false | string
28
+ // but the FormFieldBase type has only label?: string, changing FormFieldBase breaks other ui components
29
+ return /*#__PURE__*/ React.createElement(Select, {
79
30
  ...props,
80
31
  options: options
81
32
  });
82
33
  };
83
34
 
84
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9Gb3Jtcy9EeW5hbWljRmllbGRTZWxlY3Rvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB0eXBlIHsgVGV4dEZpZWxkIH0gZnJvbSAncGF5bG9hZC9kaXN0L2ZpZWxkcy9jb25maWcvdHlwZXMnXG5cbmltcG9ydCB7IFNlbGVjdCwgdXNlRm9ybSB9IGZyb20gJ3BheWxvYWQvY29tcG9uZW50cy9mb3JtcydcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgU2VsZWN0RmllbGRPcHRpb24gfSBmcm9tICcuLi8uLi90eXBlcydcblxuZXhwb3J0IGNvbnN0IER5bmFtaWNGaWVsZFNlbGVjdG9yOiBSZWFjdC5GQzxUZXh0RmllbGQ+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgZmllbGRzLCBnZXREYXRhQnlQYXRoIH0gPSB1c2VGb3JtKClcblxuICBjb25zdCBbb3B0aW9ucywgc2V0T3B0aW9uc10gPSB1c2VTdGF0ZTxTZWxlY3RGaWVsZE9wdGlvbltdPihbXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBmaWVsZHM6IGFueVtdID0gZ2V0RGF0YUJ5UGF0aCgnZmllbGRzJylcblxuICAgIGlmIChmaWVsZHMpIHtcbiAgICAgIGNvbnN0IGFsbE5vblBheW1lbnRGaWVsZHMgPSBmaWVsZHNcbiAgICAgICAgLm1hcCgoYmxvY2spOiBTZWxlY3RGaWVsZE9wdGlvbiB8IG51bGwgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgbmFtZSwgYmxvY2tUeXBlLCBsYWJlbCB9ID0gYmxvY2tcblxuICAgICAgICAgIGlmIChibG9ja1R5cGUgIT09ICdwYXltZW50Jykge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgIHZhbHVlOiBuYW1lLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgIH0pXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgIHNldE9wdGlvbnMoYWxsTm9uUGF5bWVudEZpZWxkcylcbiAgICB9XG4gIH0sIFtmaWVsZHMsIGdldERhdGFCeVBhdGhdKVxuXG4gIHJldHVybiA8U2VsZWN0IHsuLi5wcm9wc30gb3B0aW9ucz17b3B0aW9uc30gLz5cbn1cbiJdLCJuYW1lcyI6WyJEeW5hbWljRmllbGRTZWxlY3RvciIsInByb3BzIiwiZmllbGRzIiwiZ2V0RGF0YUJ5UGF0aCIsInVzZUZvcm0iLCJvcHRpb25zIiwic2V0T3B0aW9ucyIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwiYWxsTm9uUGF5bWVudEZpZWxkcyIsIm1hcCIsImJsb2NrIiwibmFtZSIsImJsb2NrVHlwZSIsImxhYmVsIiwidmFsdWUiLCJmaWx0ZXIiLCJCb29sZWFuIiwiU2VsZWN0Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7K0JBU2FBOzs7ZUFBQUE7Ozt1QkFMbUI7K0RBQ1c7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUlwQyxNQUFNQSx1QkFBNEMsQ0FBQ0M7SUFDeEQsTUFBTSxFQUFFQyxNQUFNLEVBQUVDLGFBQWEsRUFBRSxHQUFHQyxJQUFBQSxjQUFPO0lBRXpDLE1BQU0sQ0FBQ0MsU0FBU0MsV0FBVyxHQUFHQyxJQUFBQSxlQUFRLEVBQXNCLEVBQUU7SUFFOURDLElBQUFBLGdCQUFTLEVBQUM7UUFDUixhQUFhO1FBQ2IsTUFBTU4sU0FBZ0JDLGNBQWM7UUFFcEMsSUFBSUQsUUFBUTtZQUNWLE1BQU1PLHNCQUFzQlAsT0FDekJRLEdBQUcsQ0FBQyxDQUFDQztnQkFDSixNQUFNLEVBQUVDLElBQUksRUFBRUMsU0FBUyxFQUFFQyxLQUFLLEVBQUUsR0FBR0g7Z0JBRW5DLElBQUlFLGNBQWMsV0FBVztvQkFDM0IsT0FBTzt3QkFDTEM7d0JBQ0FDLE9BQU9IO29CQUNUO2dCQUNGO2dCQUVBLE9BQU87WUFDVCxHQUNDSSxNQUFNLENBQUNDO1lBQ1ZYLFdBQVdHO1FBQ2I7SUFDRixHQUFHO1FBQUNQO1FBQVFDO0tBQWM7SUFFMUIscUJBQU8sNkJBQUNlLGFBQU07UUFBRSxHQUFHakIsS0FBSztRQUFFSSxTQUFTQTs7QUFDckMifQ==
35
+ //# sourceMappingURL=DynamicFieldSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/collections/Forms/DynamicFieldSelector.tsx"],"sourcesContent":["'use client'\n\nimport type { TextField } from 'payload/types'\n\nimport { Select } from '@payloadcms/ui/fields/Select'\nimport { useForm } from '@payloadcms/ui/forms/Form'\nimport React, { useEffect, useState } from 'react'\n\nimport type { SelectFieldOption } from '../../types.js'\n\nexport const DynamicFieldSelector: React.FC<TextField> = (props) => {\n const { fields, getDataByPath } = useForm()\n\n const [options, setOptions] = useState<SelectFieldOption[]>([])\n\n useEffect(() => {\n const fields: any[] = getDataByPath('fields')\n\n if (fields) {\n const allNonPaymentFields = fields\n .map((block): SelectFieldOption | null => {\n const { name, blockType, label } = block\n\n if (blockType !== 'payment') {\n return {\n label,\n value: name,\n }\n }\n\n return null\n })\n .filter(Boolean)\n setOptions(allNonPaymentFields)\n }\n }, [fields, getDataByPath])\n\n // TODO: label from config is Record<string, string> | false | string\n // but the FormFieldBase type has only label?: string, changing FormFieldBase breaks other ui components\n return <Select {...props} options={options} />\n}\n"],"names":["Select","useForm","React","useEffect","useState","DynamicFieldSelector","props","fields","getDataByPath","options","setOptions","allNonPaymentFields","map","block","name","blockType","label","value","filter","Boolean"],"mappings":"AAAA;AAIA,SAASA,MAAM,QAAQ,+BAA8B;AACrD,SAASC,OAAO,QAAQ,4BAA2B;AACnD,OAAOC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAIlD,OAAO,MAAMC,uBAA4C,CAACC;IACxD,MAAM,EAAEC,MAAM,EAAEC,aAAa,EAAE,GAAGP;IAElC,MAAM,CAACQ,SAASC,WAAW,GAAGN,SAA8B,EAAE;IAE9DD,UAAU;QACR,MAAMI,SAAgBC,cAAc;QAEpC,IAAID,QAAQ;YACV,MAAMI,sBAAsBJ,OACzBK,GAAG,CAAC,CAACC;gBACJ,MAAM,EAAEC,IAAI,EAAEC,SAAS,EAAEC,KAAK,EAAE,GAAGH;gBAEnC,IAAIE,cAAc,WAAW;oBAC3B,OAAO;wBACLC;wBACAC,OAAOH;oBACT;gBACF;gBAEA,OAAO;YACT,GACCI,MAAM,CAACC;YACVT,WAAWC;QACb;IACF,GAAG;QAACJ;QAAQC;KAAc;IAE1B,qEAAqE;IACrE,yGAAyG;IACzG,qBAAO,oBAACR;QAAQ,GAAGM,KAAK;QAAEG,SAASA;;AACrC,EAAC"}
@@ -1,66 +1,16 @@
1
1
  'use client';
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- Object.defineProperty(exports, "DynamicPriceSelector", {
7
- enumerable: true,
8
- get: function() {
9
- return DynamicPriceSelector;
10
- }
11
- });
12
- const _forms = require("payload/components/forms");
13
- const _utilities = require("payload/components/utilities");
14
- const _react = /*#__PURE__*/ _interop_require_wildcard(require("react"));
15
- function _getRequireWildcardCache(nodeInterop) {
16
- if (typeof WeakMap !== "function") return null;
17
- var cacheBabelInterop = new WeakMap();
18
- var cacheNodeInterop = new WeakMap();
19
- return (_getRequireWildcardCache = function(nodeInterop) {
20
- return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
21
- })(nodeInterop);
22
- }
23
- function _interop_require_wildcard(obj, nodeInterop) {
24
- if (!nodeInterop && obj && obj.__esModule) {
25
- return obj;
26
- }
27
- if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
28
- return {
29
- default: obj
30
- };
31
- }
32
- var cache = _getRequireWildcardCache(nodeInterop);
33
- if (cache && cache.has(obj)) {
34
- return cache.get(obj);
35
- }
36
- var newObj = {
37
- __proto__: null
38
- };
39
- var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
40
- for(var key in obj){
41
- if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
42
- var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
43
- if (desc && (desc.get || desc.set)) {
44
- Object.defineProperty(newObj, key, desc);
45
- } else {
46
- newObj[key] = obj[key];
47
- }
48
- }
49
- }
50
- newObj.default = obj;
51
- if (cache) {
52
- cache.set(obj, newObj);
53
- }
54
- return newObj;
55
- }
56
- const DynamicPriceSelector = (props)=>{
2
+ import { Text } from '@payloadcms/ui/fields/Text';
3
+ import { useWatchForm } from '@payloadcms/ui/forms/Form';
4
+ import { useLocale } from '@payloadcms/ui/providers/Locale';
5
+ import React, { useEffect, useState } from 'react';
6
+ export const DynamicPriceSelector = (props)=>{
57
7
  const { label, path } = props;
58
- const { fields, getData, getDataByPath } = (0, _forms.useWatchForm)();
59
- const locale = (0, _utilities.useLocale)();
60
- const [isNumberField, setIsNumberField] = (0, _react.useState)();
61
- const [valueType, setValueType] = (0, _react.useState)();
8
+ const { fields, getData, getDataByPath } = useWatchForm();
9
+ const locale = useLocale();
10
+ const [isNumberField, setIsNumberField] = useState();
11
+ const [valueType, setValueType] = useState();
62
12
  // only number fields can use 'valueOfField`
63
- (0, _react.useEffect)(()=>{
13
+ useEffect(()=>{
64
14
  if (path) {
65
15
  const parentPath = path.split('.').slice(0, -1).join('.');
66
16
  const paymentFieldData = getDataByPath(parentPath);
@@ -83,7 +33,7 @@ const DynamicPriceSelector = (props)=>{
83
33
  ]);
84
34
  // TODO: make this a number field, block by Payload
85
35
  if (valueType === 'static') {
86
- return /*#__PURE__*/ _react.default.createElement(_forms.Text, props);
36
+ return /*#__PURE__*/ React.createElement(Text, props);
87
37
  }
88
38
  const localeCode = typeof locale === 'object' && 'code' in locale ? locale.code : locale;
89
39
  const localLabels = typeof label === 'object' ? label : {
@@ -91,7 +41,7 @@ const DynamicPriceSelector = (props)=>{
91
41
  };
92
42
  const labelValue = localLabels[localeCode] || localLabels['en'] || '';
93
43
  if (valueType === 'valueOfField' && !isNumberField) {
94
- return /*#__PURE__*/ _react.default.createElement("div", null, /*#__PURE__*/ _react.default.createElement("div", null, labelValue), /*#__PURE__*/ _react.default.createElement("div", {
44
+ return /*#__PURE__*/ React.createElement("div", null, /*#__PURE__*/ React.createElement("div", null, labelValue), /*#__PURE__*/ React.createElement("div", {
95
45
  style: {
96
46
  color: '#9A9A9A'
97
47
  }
@@ -100,4 +50,4 @@ const DynamicPriceSelector = (props)=>{
100
50
  return null;
101
51
  };
102
52
 
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9Gb3Jtcy9EeW5hbWljUHJpY2VTZWxlY3Rvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB0eXBlIHsgRGF0YSB9IGZyb20gJ3BheWxvYWQvZGlzdC9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL0Zvcm0vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFByb3BzIGFzIFRleHRGaWVsZFR5cGUgfSBmcm9tICdwYXlsb2FkL2Rpc3QvYWRtaW4vY29tcG9uZW50cy9mb3Jtcy9maWVsZC10eXBlcy9UZXh0L3R5cGVzJ1xuXG5pbXBvcnQgeyBUZXh0LCB1c2VXYXRjaEZvcm0gfSBmcm9tICdwYXlsb2FkL2NvbXBvbmVudHMvZm9ybXMnXG5pbXBvcnQgeyB1c2VMb2NhbGUgfSBmcm9tICdwYXlsb2FkL2NvbXBvbmVudHMvdXRpbGl0aWVzJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcblxudHlwZSBGaWVsZFdpdGhJRCA9IHtcbiAgaWQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IER5bmFtaWNQcmljZVNlbGVjdG9yOiBSZWFjdC5GQzxUZXh0RmllbGRUeXBlPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGxhYmVsLCBwYXRoIH0gPSBwcm9wc1xuXG4gIGNvbnN0IHsgZmllbGRzLCBnZXREYXRhLCBnZXREYXRhQnlQYXRoIH0gPSB1c2VXYXRjaEZvcm0oKVxuXG4gIGNvbnN0IGxvY2FsZSA9IHVzZUxvY2FsZSgpXG5cbiAgY29uc3QgW2lzTnVtYmVyRmllbGQsIHNldElzTnVtYmVyRmllbGRdID0gdXNlU3RhdGU8Ym9vbGVhbj4oKVxuICBjb25zdCBbdmFsdWVUeXBlLCBzZXRWYWx1ZVR5cGVdID0gdXNlU3RhdGU8J3N0YXRpYycgfCAndmFsdWVPZkZpZWxkJz4oKVxuXG4gIC8vIG9ubHkgbnVtYmVyIGZpZWxkcyBjYW4gdXNlICd2YWx1ZU9mRmllbGRgXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHBhdGgpIHtcbiAgICAgIGNvbnN0IHBhcmVudFBhdGggPSBwYXRoLnNwbGl0KCcuJykuc2xpY2UoMCwgLTEpLmpvaW4oJy4nKVxuICAgICAgY29uc3QgcGF5bWVudEZpZWxkRGF0YTogYW55ID0gZ2V0RGF0YUJ5UGF0aChwYXJlbnRQYXRoKVxuXG4gICAgICBpZiAocGF5bWVudEZpZWxkRGF0YSkge1xuICAgICAgICBjb25zdCB7IGZpZWxkVG9Vc2UsIHZhbHVlVHlwZSB9ID0gcGF5bWVudEZpZWxkRGF0YVxuXG4gICAgICAgIHNldFZhbHVlVHlwZSh2YWx1ZVR5cGUpXG5cbiAgICAgICAgY29uc3QgeyBmaWVsZHM6IGFsbEZpZWxkcyB9OiBEYXRhID0gZ2V0RGF0YSgpXG4gICAgICAgIGNvbnN0IGZpZWxkID0gYWxsRmllbGRzLmZpbmQoKGZpZWxkOiBGaWVsZFdpdGhJRCkgPT4gZmllbGQubmFtZSA9PT0gZmllbGRUb1VzZSlcblxuICAgICAgICBpZiAoZmllbGQpIHtcbiAgICAgICAgICBjb25zdCB7IGJsb2NrVHlwZSB9ID0gZmllbGRcbiAgICAgICAgICBzZXRJc051bWJlckZpZWxkKGJsb2NrVHlwZSA9PT0gJ251bWJlcicpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0sIFtmaWVsZHMsIHBhdGgsIGdldERhdGFCeVBhdGgsIGdldERhdGFdKVxuXG4gIC8vIFRPRE86IG1ha2UgdGhpcyBhIG51bWJlciBmaWVsZCwgYmxvY2sgYnkgUGF5bG9hZFxuICBpZiAodmFsdWVUeXBlID09PSAnc3RhdGljJykge1xuICAgIHJldHVybiA8VGV4dCB7Li4ucHJvcHN9IC8+XG4gIH1cblxuICBjb25zdCBsb2NhbGVDb2RlID0gdHlwZW9mIGxvY2FsZSA9PT0gJ29iamVjdCcgJiYgJ2NvZGUnIGluIGxvY2FsZSA/IGxvY2FsZS5jb2RlIDogbG9jYWxlXG5cbiAgY29uc3QgbG9jYWxMYWJlbHMgPSB0eXBlb2YgbGFiZWwgPT09ICdvYmplY3QnID8gbGFiZWwgOiB7IFtsb2NhbGVDb2RlXTogbGFiZWwgfVxuICBjb25zdCBsYWJlbFZhbHVlID0gbG9jYWxMYWJlbHNbbG9jYWxlQ29kZV0gfHwgbG9jYWxMYWJlbHNbJ2VuJ10gfHwgJydcblxuICBpZiAodmFsdWVUeXBlID09PSAndmFsdWVPZkZpZWxkJyAmJiAhaXNOdW1iZXJGaWVsZCkge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2PntsYWJlbFZhbHVlfTwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNvbG9yOiAnIzlBOUE5QScsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIFRoZSBzZWxlY3RlZCBmaWVsZCBtdXN0IGJlIGEgbnVtYmVyIGZpZWxkLlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIClcbiAgfVxuXG4gIHJldHVybiBudWxsXG59XG4iXSwibmFtZXMiOlsiRHluYW1pY1ByaWNlU2VsZWN0b3IiLCJwcm9wcyIsImxhYmVsIiwicGF0aCIsImZpZWxkcyIsImdldERhdGEiLCJnZXREYXRhQnlQYXRoIiwidXNlV2F0Y2hGb3JtIiwibG9jYWxlIiwidXNlTG9jYWxlIiwiaXNOdW1iZXJGaWVsZCIsInNldElzTnVtYmVyRmllbGQiLCJ1c2VTdGF0ZSIsInZhbHVlVHlwZSIsInNldFZhbHVlVHlwZSIsInVzZUVmZmVjdCIsInBhcmVudFBhdGgiLCJzcGxpdCIsInNsaWNlIiwiam9pbiIsInBheW1lbnRGaWVsZERhdGEiLCJmaWVsZFRvVXNlIiwiYWxsRmllbGRzIiwiZmllbGQiLCJmaW5kIiwibmFtZSIsImJsb2NrVHlwZSIsIlRleHQiLCJsb2NhbGVDb2RlIiwiY29kZSIsImxvY2FsTGFiZWxzIiwibGFiZWxWYWx1ZSIsImRpdiIsInN0eWxlIiwiY29sb3IiXSwibWFwcGluZ3MiOiJBQUFBOzs7OzsrQkFjYUE7OztlQUFBQTs7O3VCQVRzQjsyQkFDVDsrREFDaUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU9wQyxNQUFNQSx1QkFBZ0QsQ0FBQ0M7SUFDNUQsTUFBTSxFQUFFQyxLQUFLLEVBQUVDLElBQUksRUFBRSxHQUFHRjtJQUV4QixNQUFNLEVBQUVHLE1BQU0sRUFBRUMsT0FBTyxFQUFFQyxhQUFhLEVBQUUsR0FBR0MsSUFBQUEsbUJBQVk7SUFFdkQsTUFBTUMsU0FBU0MsSUFBQUEsb0JBQVM7SUFFeEIsTUFBTSxDQUFDQyxlQUFlQyxpQkFBaUIsR0FBR0MsSUFBQUEsZUFBUTtJQUNsRCxNQUFNLENBQUNDLFdBQVdDLGFBQWEsR0FBR0YsSUFBQUEsZUFBUTtJQUUxQyw0Q0FBNEM7SUFDNUNHLElBQUFBLGdCQUFTLEVBQUM7UUFDUixJQUFJWixNQUFNO1lBQ1IsTUFBTWEsYUFBYWIsS0FBS2MsS0FBSyxDQUFDLEtBQUtDLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBR0MsSUFBSSxDQUFDO1lBQ3JELE1BQU1DLG1CQUF3QmQsY0FBY1U7WUFFNUMsSUFBSUksa0JBQWtCO2dCQUNwQixNQUFNLEVBQUVDLFVBQVUsRUFBRVIsU0FBUyxFQUFFLEdBQUdPO2dCQUVsQ04sYUFBYUQ7Z0JBRWIsTUFBTSxFQUFFVCxRQUFRa0IsU0FBUyxFQUFFLEdBQVNqQjtnQkFDcEMsTUFBTWtCLFFBQVFELFVBQVVFLElBQUksQ0FBQyxDQUFDRCxRQUF1QkEsTUFBTUUsSUFBSSxLQUFLSjtnQkFFcEUsSUFBSUUsT0FBTztvQkFDVCxNQUFNLEVBQUVHLFNBQVMsRUFBRSxHQUFHSDtvQkFDdEJaLGlCQUFpQmUsY0FBYztnQkFDakM7WUFDRjtRQUNGO0lBQ0YsR0FBRztRQUFDdEI7UUFBUUQ7UUFBTUc7UUFBZUQ7S0FBUTtJQUV6QyxtREFBbUQ7SUFDbkQsSUFBSVEsY0FBYyxVQUFVO1FBQzFCLHFCQUFPLDZCQUFDYyxXQUFJLEVBQUsxQjtJQUNuQjtJQUVBLE1BQU0yQixhQUFhLE9BQU9wQixXQUFXLFlBQVksVUFBVUEsU0FBU0EsT0FBT3FCLElBQUksR0FBR3JCO0lBRWxGLE1BQU1zQixjQUFjLE9BQU81QixVQUFVLFdBQVdBLFFBQVE7UUFBRSxDQUFDMEIsV0FBVyxFQUFFMUI7SUFBTTtJQUM5RSxNQUFNNkIsYUFBYUQsV0FBVyxDQUFDRixXQUFXLElBQUlFLFdBQVcsQ0FBQyxLQUFLLElBQUk7SUFFbkUsSUFBSWpCLGNBQWMsa0JBQWtCLENBQUNILGVBQWU7UUFDbEQscUJBQ0UsNkJBQUNzQiwyQkFDQyw2QkFBQ0EsYUFBS0QsMkJBQ04sNkJBQUNDO1lBQ0NDLE9BQU87Z0JBQ0xDLE9BQU87WUFDVDtXQUNEO0lBS1A7SUFFQSxPQUFPO0FBQ1QifQ==
53
+ //# sourceMappingURL=DynamicPriceSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/collections/Forms/DynamicPriceSelector.tsx"],"sourcesContent":["'use client'\n\nimport type { TextFieldProps } from '@payloadcms/ui/fields/Text'\nimport type { Data } from 'payload/types'\n\nimport { Text } from '@payloadcms/ui/fields/Text'\nimport { useWatchForm } from '@payloadcms/ui/forms/Form'\nimport { useLocale } from '@payloadcms/ui/providers/Locale'\nimport React, { useEffect, useState } from 'react'\n\ntype FieldWithID = {\n id: string\n name: string\n}\n\nexport const DynamicPriceSelector: React.FC<TextFieldProps> = (props) => {\n const { label, path } = props\n\n const { fields, getData, getDataByPath } = useWatchForm()\n\n const locale = useLocale()\n\n const [isNumberField, setIsNumberField] = useState<boolean>()\n const [valueType, setValueType] = useState<'static' | 'valueOfField'>()\n\n // only number fields can use 'valueOfField`\n useEffect(() => {\n if (path) {\n const parentPath = path.split('.').slice(0, -1).join('.')\n const paymentFieldData: any = getDataByPath(parentPath)\n\n if (paymentFieldData) {\n const { fieldToUse, valueType } = paymentFieldData\n\n setValueType(valueType)\n\n const { fields: allFields }: Data = getData()\n const field = allFields.find((field: FieldWithID) => field.name === fieldToUse)\n\n if (field) {\n const { blockType } = field\n setIsNumberField(blockType === 'number')\n }\n }\n }\n }, [fields, path, getDataByPath, getData])\n\n // TODO: make this a number field, block by Payload\n if (valueType === 'static') {\n return <Text {...props} />\n }\n\n const localeCode = typeof locale === 'object' && 'code' in locale ? locale.code : locale\n\n const localLabels = typeof label === 'object' ? label : { [localeCode]: label }\n const labelValue = localLabels[localeCode] || localLabels['en'] || ''\n\n if (valueType === 'valueOfField' && !isNumberField) {\n return (\n <div>\n <div>{labelValue}</div>\n <div\n style={{\n color: '#9A9A9A',\n }}\n >\n The selected field must be a number field.\n </div>\n </div>\n )\n }\n\n return null\n}\n"],"names":["Text","useWatchForm","useLocale","React","useEffect","useState","DynamicPriceSelector","props","label","path","fields","getData","getDataByPath","locale","isNumberField","setIsNumberField","valueType","setValueType","parentPath","split","slice","join","paymentFieldData","fieldToUse","allFields","field","find","name","blockType","localeCode","code","localLabels","labelValue","div","style","color"],"mappings":"AAAA;AAKA,SAASA,IAAI,QAAQ,6BAA4B;AACjD,SAASC,YAAY,QAAQ,4BAA2B;AACxD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,OAAOC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAOlD,OAAO,MAAMC,uBAAiD,CAACC;IAC7D,MAAM,EAAEC,KAAK,EAAEC,IAAI,EAAE,GAAGF;IAExB,MAAM,EAAEG,MAAM,EAAEC,OAAO,EAAEC,aAAa,EAAE,GAAGX;IAE3C,MAAMY,SAASX;IAEf,MAAM,CAACY,eAAeC,iBAAiB,GAAGV;IAC1C,MAAM,CAACW,WAAWC,aAAa,GAAGZ;IAElC,4CAA4C;IAC5CD,UAAU;QACR,IAAIK,MAAM;YACR,MAAMS,aAAaT,KAAKU,KAAK,CAAC,KAAKC,KAAK,CAAC,GAAG,CAAC,GAAGC,IAAI,CAAC;YACrD,MAAMC,mBAAwBV,cAAcM;YAE5C,IAAII,kBAAkB;gBACpB,MAAM,EAAEC,UAAU,EAAEP,SAAS,EAAE,GAAGM;gBAElCL,aAAaD;gBAEb,MAAM,EAAEN,QAAQc,SAAS,EAAE,GAASb;gBACpC,MAAMc,QAAQD,UAAUE,IAAI,CAAC,CAACD,QAAuBA,MAAME,IAAI,KAAKJ;gBAEpE,IAAIE,OAAO;oBACT,MAAM,EAAEG,SAAS,EAAE,GAAGH;oBACtBV,iBAAiBa,cAAc;gBACjC;YACF;QACF;IACF,GAAG;QAAClB;QAAQD;QAAMG;QAAeD;KAAQ;IAEzC,mDAAmD;IACnD,IAAIK,cAAc,UAAU;QAC1B,qBAAO,oBAAChB,MAASO;IACnB;IAEA,MAAMsB,aAAa,OAAOhB,WAAW,YAAY,UAAUA,SAASA,OAAOiB,IAAI,GAAGjB;IAElF,MAAMkB,cAAc,OAAOvB,UAAU,WAAWA,QAAQ;QAAE,CAACqB,WAAW,EAAErB;IAAM;IAC9E,MAAMwB,aAAaD,WAAW,CAACF,WAAW,IAAIE,WAAW,CAAC,KAAK,IAAI;IAEnE,IAAIf,cAAc,kBAAkB,CAACF,eAAe;QAClD,qBACE,oBAACmB,2BACC,oBAACA,aAAKD,2BACN,oBAACC;YACCC,OAAO;gBACLC,OAAO;YACT;WACD;IAKP;IAEA,OAAO;AACT,EAAC"}