@payloadcms/plugin-form-builder 1.0.14 → 1.0.16-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/README.md +17 -16
  2. package/dist/collections/FormSubmissions/hooks/createCharge.d.ts +4 -0
  3. package/dist/collections/FormSubmissions/hooks/createCharge.d.ts.map +1 -0
  4. package/dist/collections/FormSubmissions/hooks/createCharge.js +24 -0
  5. package/dist/collections/FormSubmissions/hooks/sendEmail.d.ts +4 -0
  6. package/dist/collections/FormSubmissions/hooks/sendEmail.d.ts.map +1 -0
  7. package/dist/collections/FormSubmissions/hooks/sendEmail.js +76 -0
  8. package/dist/collections/FormSubmissions/index.d.ts +4 -0
  9. package/dist/collections/FormSubmissions/index.d.ts.map +1 -0
  10. package/dist/collections/FormSubmissions/index.js +143 -0
  11. package/dist/collections/Forms/DynamicFieldSelector.d.ts +4 -0
  12. package/dist/collections/Forms/DynamicFieldSelector.d.ts.map +1 -0
  13. package/dist/collections/Forms/DynamicFieldSelector.js +82 -0
  14. package/dist/collections/Forms/DynamicPriceSelector.d.ts +4 -0
  15. package/dist/collections/Forms/DynamicPriceSelector.d.ts.map +1 -0
  16. package/dist/collections/Forms/DynamicPriceSelector.js +100 -0
  17. package/dist/collections/Forms/fields.d.ts +7 -0
  18. package/dist/collections/Forms/fields.d.ts.map +1 -0
  19. package/dist/collections/Forms/fields.js +585 -0
  20. package/dist/collections/Forms/index.d.ts +4 -0
  21. package/dist/collections/Forms/index.d.ts.map +1 -0
  22. package/dist/collections/Forms/index.js +230 -0
  23. package/dist/index.d.ts +7 -0
  24. package/dist/index.d.ts.map +1 -0
  25. package/dist/index.js +68 -0
  26. package/dist/types.d.ts +175 -0
  27. package/dist/types.d.ts.map +1 -0
  28. package/dist/types.js +15 -0
  29. package/dist/utilities/getPaymentTotal.d.ts +5 -0
  30. package/dist/utilities/getPaymentTotal.d.ts.map +1 -0
  31. package/dist/utilities/getPaymentTotal.js +54 -0
  32. package/dist/utilities/replaceDoubleCurlys.d.ts +8 -0
  33. package/dist/utilities/replaceDoubleCurlys.d.ts.map +1 -0
  34. package/dist/utilities/replaceDoubleCurlys.js +23 -0
  35. package/dist/utilities/serializeRichText.d.ts +11 -0
  36. package/dist/utilities/serializeRichText.d.ts.map +1 -0
  37. package/dist/utilities/serializeRichText.js +106 -0
  38. package/package.json +27 -38
  39. package/types.d.ts +1 -1
  40. package/types.js +1 -1
package/README.md CHANGED
@@ -28,20 +28,20 @@ Core features:
28
28
  In the `plugins` array of your [Payload config](https://payloadcms.com/docs/configuration/overview), call the plugin with [options](#options):
29
29
 
30
30
  ```js
31
- import { buildConfig } from "payload/config";
32
- import formBuilder from "@payloadcms/plugin-form-builder";
31
+ import { buildConfig } from 'payload/config'
32
+ import formBuilder from '@payloadcms/plugin-form-builder'
33
33
 
34
34
  const config = buildConfig({
35
35
  collections: [
36
36
  {
37
- slug: "pages",
37
+ slug: 'pages',
38
38
  fields: [],
39
39
  },
40
40
  ],
41
41
  plugins: [formBuilder()],
42
- });
42
+ })
43
43
 
44
- export default config;
44
+ export default config
45
45
  ```
46
46
 
47
47
  ### Options
@@ -70,7 +70,7 @@ export default config;
70
70
  An array of collection slugs that, when enabled, are populated as options in form redirect fields.
71
71
 
72
72
  ```js
73
- redirectRelationships: ["pages"];
73
+ redirectRelationships: ['pages']
74
74
  ```
75
75
 
76
76
  - `handlePayment`
@@ -102,8 +102,8 @@ export default config;
102
102
  return emails.map((email) => ({
103
103
  ...email,
104
104
  html: email.html, // transform the html in any way you'd like (maybe wrap it in an html template?)
105
- }));
106
- };
105
+ }))
106
+ }
107
107
  ```
108
108
 
109
109
  - `formOverrides`
@@ -196,6 +196,7 @@ Each field represents a form input. To override default settings pass either a b
196
196
  - `message`
197
197
  - `message`: richText
198
198
  - `payment`
199
+
199
200
  - `name`: string
200
201
  - `label`: string
201
202
  - `defaultValue`: number
@@ -214,7 +215,7 @@ Each field represents a form input. To override default settings pass either a b
214
215
  You can also provide your own custom field definitions by passing a new [Payload Block](https://payloadcms.com/docs/fields/blocks#block-configs) object into `fields`. You can override or extend any existing fields by first importing the `fields` from the plugin:
215
216
 
216
217
  ```ts
217
- import { fields } from "@payloadcms/plugin-form-builder";
218
+ import { fields } from '@payloadcms/plugin-form-builder'
218
219
  ```
219
220
 
220
221
  Then merging it into your own custom field:
@@ -283,7 +284,7 @@ To actively develop or debug this plugin you can either work directly within the
283
284
  You might also need to alias these modules in your Webpack config. To do this, open your project's Payload config and add the following:
284
285
 
285
286
  ```ts
286
- import { buildConfig } from "payload/config";
287
+ import { buildConfig } from 'payload/config'
287
288
 
288
289
  export default buildConfig({
289
290
  admin: {
@@ -293,18 +294,18 @@ To actively develop or debug this plugin you can either work directly within the
293
294
  ...config.resolve,
294
295
  alias: {
295
296
  ...config.resolve.alias,
296
- react: path.join(__dirname, "../node_modules/react"),
297
- "react-dom": path.join(__dirname, "../node_modules/react-dom"),
298
- payload: path.join(__dirname, "../node_modules/payload"),
299
- "@payloadcms/plugin-form-builder": path.join(
297
+ react: path.join(__dirname, '../node_modules/react'),
298
+ 'react-dom': path.join(__dirname, '../node_modules/react-dom'),
299
+ payload: path.join(__dirname, '../node_modules/payload'),
300
+ '@payloadcms/plugin-form-builder': path.join(
300
301
  __dirname,
301
- "../../payload/plugin-form-builder/src"
302
+ '../../payload/plugin-form-builder/src',
302
303
  ),
303
304
  },
304
305
  },
305
306
  }),
306
307
  },
307
- });
308
+ })
308
309
  ```
309
310
 
310
311
  ## Troubleshooting
@@ -0,0 +1,4 @@
1
+ import type { PluginConfig } from '../../../types';
2
+ declare const createCharge: (beforeChangeData: any, formConfig: PluginConfig) => Promise<any>;
3
+ export default createCharge;
4
+ //# sourceMappingURL=createCharge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createCharge.d.ts","sourceRoot":"","sources":["../../../../src/collections/FormSubmissions/hooks/createCharge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAElD,QAAA,MAAM,YAAY,qBAA4B,GAAG,cAAc,YAAY,KAAG,QAAQ,GAAG,CAcxF,CAAA;AAED,eAAe,YAAY,CAAA"}
@@ -0,0 +1,24 @@
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)=>{
12
+ const { data, operation } = beforeChangeData;
13
+ let dataWithPaymentDetails = data;
14
+ if (operation === 'create') {
15
+ const { handlePayment } = formConfig || {};
16
+ if (typeof handlePayment === 'function') {
17
+ dataWithPaymentDetails = await handlePayment(beforeChangeData);
18
+ }
19
+ }
20
+ return dataWithPaymentDetails;
21
+ };
22
+ const _default = createCharge;
23
+
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9Gb3JtU3VibWlzc2lvbnMvaG9va3MvY3JlYXRlQ2hhcmdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGx1Z2luQ29uZmlnIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMnXG5cbmNvbnN0IGNyZWF0ZUNoYXJnZSA9IGFzeW5jIChiZWZvcmVDaGFuZ2VEYXRhOiBhbnksIGZvcm1Db25maWc6IFBsdWdpbkNvbmZpZyk6IFByb21pc2U8YW55PiA9PiB7XG4gIGNvbnN0IHsgZGF0YSwgb3BlcmF0aW9uIH0gPSBiZWZvcmVDaGFuZ2VEYXRhXG5cbiAgbGV0IGRhdGFXaXRoUGF5bWVudERldGFpbHMgPSBkYXRhXG5cbiAgaWYgKG9wZXJhdGlvbiA9PT0gJ2NyZWF0ZScpIHtcbiAgICBjb25zdCB7IGhhbmRsZVBheW1lbnQgfSA9IGZvcm1Db25maWcgfHwge31cblxuICAgIGlmICh0eXBlb2YgaGFuZGxlUGF5bWVudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZGF0YVdpdGhQYXltZW50RGV0YWlscyA9IGF3YWl0IGhhbmRsZVBheW1lbnQoYmVmb3JlQ2hhbmdlRGF0YSlcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZGF0YVdpdGhQYXltZW50RGV0YWlsc1xufVxuXG5leHBvcnQgZGVmYXVsdCBjcmVhdGVDaGFyZ2VcbiJdLCJuYW1lcyI6WyJjcmVhdGVDaGFyZ2UiLCJiZWZvcmVDaGFuZ2VEYXRhIiwiZm9ybUNvbmZpZyIsImRhdGEiLCJvcGVyYXRpb24iLCJkYXRhV2l0aFBheW1lbnREZXRhaWxzIiwiaGFuZGxlUGF5bWVudCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFrQkE7OztlQUFBOzs7QUFoQkEsTUFBTUEsZUFBZSxPQUFPQyxrQkFBdUJDO0lBQ2pELE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxTQUFTLEVBQUUsR0FBR0g7SUFFNUIsSUFBSUkseUJBQXlCRjtJQUU3QixJQUFJQyxjQUFjLFVBQVU7UUFDMUIsTUFBTSxFQUFFRSxhQUFhLEVBQUUsR0FBR0osY0FBYyxDQUFDO1FBRXpDLElBQUksT0FBT0ksa0JBQWtCLFlBQVk7WUFDdkNELHlCQUF5QixNQUFNQyxjQUFjTDtRQUMvQztJQUNGO0lBRUEsT0FBT0k7QUFDVDtNQUVBLFdBQWVMIn0=
@@ -0,0 +1,4 @@
1
+ import type { PluginConfig } from '../../../types';
2
+ declare const sendEmail: (beforeChangeData: any, formConfig: PluginConfig) => Promise<any>;
3
+ export default sendEmail;
4
+ //# sourceMappingURL=sendEmail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sendEmail.d.ts","sourceRoot":"","sources":["../../../../src/collections/FormSubmissions/hooks/sendEmail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAyB,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAKzE,QAAA,MAAM,SAAS,qBAA4B,GAAG,cAAc,YAAY,KAAG,QAAQ,GAAG,CAoFrF,CAAA;AAED,eAAe,SAAS,CAAA"}
@@ -0,0 +1,76 @@
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 _replaceDoubleCurlys = require("../../../utilities/replaceDoubleCurlys");
12
+ const _serializeRichText = require("../../../utilities/serializeRichText");
13
+ const sendEmail = async (beforeChangeData, formConfig)=>{
14
+ const { data, operation } = beforeChangeData;
15
+ if (operation === 'create') {
16
+ const { data: { id: formSubmissionID }, req: { locale, payload } } = beforeChangeData;
17
+ const { form: formID, submissionData } = data || {};
18
+ const { beforeEmail, formOverrides } = formConfig || {};
19
+ try {
20
+ const form = await payload.findByID({
21
+ id: formID,
22
+ collection: formOverrides?.slug || 'forms',
23
+ locale
24
+ });
25
+ const { emails } = form;
26
+ if (emails && emails.length) {
27
+ const formattedEmails = emails.map((email)=>{
28
+ const { bcc: emailBCC, cc: emailCC, emailFrom, emailTo, message, replyTo: emailReplyTo, subject } = email;
29
+ const to = (0, _replaceDoubleCurlys.replaceDoubleCurlys)(emailTo, submissionData);
30
+ const cc = emailCC ? (0, _replaceDoubleCurlys.replaceDoubleCurlys)(emailCC, submissionData) : '';
31
+ const bcc = emailBCC ? (0, _replaceDoubleCurlys.replaceDoubleCurlys)(emailBCC, submissionData) : '';
32
+ const from = (0, _replaceDoubleCurlys.replaceDoubleCurlys)(emailFrom, submissionData);
33
+ const replyTo = (0, _replaceDoubleCurlys.replaceDoubleCurlys)(emailReplyTo || emailFrom, submissionData);
34
+ return {
35
+ bcc,
36
+ cc,
37
+ from,
38
+ html: `<div>${(0, _serializeRichText.serialize)(message, submissionData)}</div>`,
39
+ replyTo,
40
+ subject: (0, _replaceDoubleCurlys.replaceDoubleCurlys)(subject, submissionData),
41
+ to
42
+ };
43
+ });
44
+ let emailsToSend = formattedEmails;
45
+ if (typeof beforeEmail === 'function') {
46
+ emailsToSend = await beforeEmail(formattedEmails);
47
+ }
48
+ // const log = emailsToSend.map(({ html, ...rest }) => ({ ...rest }))
49
+ await Promise.all(emailsToSend.map(async (email)=>{
50
+ const { to } = email;
51
+ try {
52
+ const emailPromise = await payload.sendEmail(email);
53
+ return emailPromise;
54
+ } catch (err) {
55
+ payload.logger.error({
56
+ err: `Error while sending email to address: ${to}. Email not sent: ${err}`
57
+ });
58
+ }
59
+ }));
60
+ } else {
61
+ payload.logger.info({
62
+ msg: 'No emails to send.'
63
+ });
64
+ }
65
+ } catch (err) {
66
+ const msg = `Error while sending one or more emails in form submission id: ${formSubmissionID}.`;
67
+ payload.logger.error({
68
+ err: msg
69
+ });
70
+ }
71
+ }
72
+ return data;
73
+ };
74
+ const _default = sendEmail;
75
+
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9Gb3JtU3VibWlzc2lvbnMvaG9va3Mvc2VuZEVtYWlsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW1haWwsIEZvcm1hdHRlZEVtYWlsLCBQbHVnaW5Db25maWcgfSBmcm9tICcuLi8uLi8uLi90eXBlcydcblxuaW1wb3J0IHsgcmVwbGFjZURvdWJsZUN1cmx5cyB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9yZXBsYWNlRG91YmxlQ3VybHlzJ1xuaW1wb3J0IHsgc2VyaWFsaXplIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL3NlcmlhbGl6ZVJpY2hUZXh0J1xuXG5jb25zdCBzZW5kRW1haWwgPSBhc3luYyAoYmVmb3JlQ2hhbmdlRGF0YTogYW55LCBmb3JtQ29uZmlnOiBQbHVnaW5Db25maWcpOiBQcm9taXNlPGFueT4gPT4ge1xuICBjb25zdCB7IGRhdGEsIG9wZXJhdGlvbiB9ID0gYmVmb3JlQ2hhbmdlRGF0YVxuXG4gIGlmIChvcGVyYXRpb24gPT09ICdjcmVhdGUnKSB7XG4gICAgY29uc3Qge1xuICAgICAgZGF0YTogeyBpZDogZm9ybVN1Ym1pc3Npb25JRCB9LFxuICAgICAgcmVxOiB7IGxvY2FsZSwgcGF5bG9hZCB9LFxuICAgIH0gPSBiZWZvcmVDaGFuZ2VEYXRhXG5cbiAgICBjb25zdCB7IGZvcm06IGZvcm1JRCwgc3VibWlzc2lvbkRhdGEgfSA9IGRhdGEgfHwge31cblxuICAgIGNvbnN0IHsgYmVmb3JlRW1haWwsIGZvcm1PdmVycmlkZXMgfSA9IGZvcm1Db25maWcgfHwge31cblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBmb3JtID0gYXdhaXQgcGF5bG9hZC5maW5kQnlJRCh7XG4gICAgICAgIGlkOiBmb3JtSUQsXG4gICAgICAgIGNvbGxlY3Rpb246IGZvcm1PdmVycmlkZXM/LnNsdWcgfHwgJ2Zvcm1zJyxcbiAgICAgICAgbG9jYWxlLFxuICAgICAgfSlcblxuICAgICAgY29uc3QgeyBlbWFpbHMgfSA9IGZvcm1cblxuICAgICAgaWYgKGVtYWlscyAmJiBlbWFpbHMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZEVtYWlsczogRm9ybWF0dGVkRW1haWxbXSA9IGVtYWlscy5tYXAoXG4gICAgICAgICAgKGVtYWlsOiBFbWFpbCk6IEZvcm1hdHRlZEVtYWlsIHwgbnVsbCA9PiB7XG4gICAgICAgICAgICBjb25zdCB7XG4gICAgICAgICAgICAgIGJjYzogZW1haWxCQ0MsXG4gICAgICAgICAgICAgIGNjOiBlbWFpbENDLFxuICAgICAgICAgICAgICBlbWFpbEZyb20sXG4gICAgICAgICAgICAgIGVtYWlsVG8sXG4gICAgICAgICAgICAgIG1lc3NhZ2UsXG4gICAgICAgICAgICAgIHJlcGx5VG86IGVtYWlsUmVwbHlUbyxcbiAgICAgICAgICAgICAgc3ViamVjdCxcbiAgICAgICAgICAgIH0gPSBlbWFpbFxuXG4gICAgICAgICAgICBjb25zdCB0byA9IHJlcGxhY2VEb3VibGVDdXJseXMoZW1haWxUbywgc3VibWlzc2lvbkRhdGEpXG4gICAgICAgICAgICBjb25zdCBjYyA9IGVtYWlsQ0MgPyByZXBsYWNlRG91YmxlQ3VybHlzKGVtYWlsQ0MsIHN1Ym1pc3Npb25EYXRhKSA6ICcnXG4gICAgICAgICAgICBjb25zdCBiY2MgPSBlbWFpbEJDQyA/IHJlcGxhY2VEb3VibGVDdXJseXMoZW1haWxCQ0MsIHN1Ym1pc3Npb25EYXRhKSA6ICcnXG4gICAgICAgICAgICBjb25zdCBmcm9tID0gcmVwbGFjZURvdWJsZUN1cmx5cyhlbWFpbEZyb20sIHN1Ym1pc3Npb25EYXRhKVxuICAgICAgICAgICAgY29uc3QgcmVwbHlUbyA9IHJlcGxhY2VEb3VibGVDdXJseXMoZW1haWxSZXBseVRvIHx8IGVtYWlsRnJvbSwgc3VibWlzc2lvbkRhdGEpXG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGJjYyxcbiAgICAgICAgICAgICAgY2MsXG4gICAgICAgICAgICAgIGZyb20sXG4gICAgICAgICAgICAgIGh0bWw6IGA8ZGl2PiR7c2VyaWFsaXplKG1lc3NhZ2UsIHN1Ym1pc3Npb25EYXRhKX08L2Rpdj5gLFxuICAgICAgICAgICAgICByZXBseVRvLFxuICAgICAgICAgICAgICBzdWJqZWN0OiByZXBsYWNlRG91YmxlQ3VybHlzKHN1YmplY3QsIHN1Ym1pc3Npb25EYXRhKSxcbiAgICAgICAgICAgICAgdG8sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgKVxuXG4gICAgICAgIGxldCBlbWFpbHNUb1NlbmQgPSBmb3JtYXR0ZWRFbWFpbHNcblxuICAgICAgICBpZiAodHlwZW9mIGJlZm9yZUVtYWlsID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgZW1haWxzVG9TZW5kID0gYXdhaXQgYmVmb3JlRW1haWwoZm9ybWF0dGVkRW1haWxzKVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gY29uc3QgbG9nID0gZW1haWxzVG9TZW5kLm1hcCgoeyBodG1sLCAuLi5yZXN0IH0pID0+ICh7IC4uLnJlc3QgfSkpXG5cbiAgICAgICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICAgICAgZW1haWxzVG9TZW5kLm1hcChhc3luYyAoZW1haWwpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHsgdG8gfSA9IGVtYWlsXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBjb25zdCBlbWFpbFByb21pc2UgPSBhd2FpdCBwYXlsb2FkLnNlbmRFbWFpbChlbWFpbClcbiAgICAgICAgICAgICAgcmV0dXJuIGVtYWlsUHJvbWlzZVxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgICAgICAgICAgIHBheWxvYWQubG9nZ2VyLmVycm9yKHtcbiAgICAgICAgICAgICAgICBlcnI6IGBFcnJvciB3aGlsZSBzZW5kaW5nIGVtYWlsIHRvIGFkZHJlc3M6ICR7dG99LiBFbWFpbCBub3Qgc2VudDogJHtlcnJ9YCxcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSxcbiAgICAgICAgKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7IG1zZzogJ05vIGVtYWlscyB0byBzZW5kLicgfSlcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICAgIGNvbnN0IG1zZyA9IGBFcnJvciB3aGlsZSBzZW5kaW5nIG9uZSBvciBtb3JlIGVtYWlscyBpbiBmb3JtIHN1Ym1pc3Npb24gaWQ6ICR7Zm9ybVN1Ym1pc3Npb25JRH0uYFxuICAgICAgcGF5bG9hZC5sb2dnZXIuZXJyb3IoeyBlcnI6IG1zZyB9KVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkYXRhXG59XG5cbmV4cG9ydCBkZWZhdWx0IHNlbmRFbWFpbFxuIl0sIm5hbWVzIjpbInNlbmRFbWFpbCIsImJlZm9yZUNoYW5nZURhdGEiLCJmb3JtQ29uZmlnIiwiZGF0YSIsIm9wZXJhdGlvbiIsImlkIiwiZm9ybVN1Ym1pc3Npb25JRCIsInJlcSIsImxvY2FsZSIsInBheWxvYWQiLCJmb3JtIiwiZm9ybUlEIiwic3VibWlzc2lvbkRhdGEiLCJiZWZvcmVFbWFpbCIsImZvcm1PdmVycmlkZXMiLCJmaW5kQnlJRCIsImNvbGxlY3Rpb24iLCJzbHVnIiwiZW1haWxzIiwibGVuZ3RoIiwiZm9ybWF0dGVkRW1haWxzIiwibWFwIiwiZW1haWwiLCJiY2MiLCJlbWFpbEJDQyIsImNjIiwiZW1haWxDQyIsImVtYWlsRnJvbSIsImVtYWlsVG8iLCJtZXNzYWdlIiwicmVwbHlUbyIsImVtYWlsUmVwbHlUbyIsInN1YmplY3QiLCJ0byIsInJlcGxhY2VEb3VibGVDdXJseXMiLCJmcm9tIiwiaHRtbCIsInNlcmlhbGl6ZSIsImVtYWlsc1RvU2VuZCIsIlByb21pc2UiLCJhbGwiLCJlbWFpbFByb21pc2UiLCJlcnIiLCJsb2dnZXIiLCJlcnJvciIsImluZm8iLCJtc2ciXSwibWFwcGluZ3MiOiI7Ozs7K0JB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
@@ -0,0 +1,4 @@
1
+ import type { CollectionConfig } from 'payload/types';
2
+ import type { PluginConfig } from '../../types';
3
+ export declare const generateSubmissionCollection: (formConfig: PluginConfig) => CollectionConfig;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/collections/FormSubmissions/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAErD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAM/C,eAAO,MAAM,4BAA4B,eAAgB,YAAY,KAAG,gBAkIvE,CAAA"}
@@ -0,0 +1,143 @@
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)=>{
19
+ const newConfig = {
20
+ ...formConfig?.formSubmissionOverrides || {},
21
+ access: {
22
+ create: ()=>true,
23
+ read: ({ req: { user } })=>!!user,
24
+ update: ()=>false,
25
+ ...formConfig?.formSubmissionOverrides?.access || {}
26
+ },
27
+ admin: {
28
+ ...formConfig?.formSubmissionOverrides?.admin || {},
29
+ enableRichTextRelationship: false
30
+ },
31
+ fields: [
32
+ {
33
+ name: 'form',
34
+ admin: {
35
+ readOnly: true
36
+ },
37
+ relationTo: formConfig?.formOverrides?.slug || 'forms',
38
+ required: true,
39
+ type: 'relationship'
40
+ },
41
+ {
42
+ name: 'submissionData',
43
+ admin: {
44
+ readOnly: true
45
+ },
46
+ fields: [
47
+ {
48
+ name: 'field',
49
+ required: true,
50
+ type: 'text'
51
+ },
52
+ {
53
+ name: 'value',
54
+ required: true,
55
+ type: 'text',
56
+ validate: (value)=>{
57
+ // TODO:
58
+ // create a validation function that dynamically
59
+ // relies on the field type and its options as configured.
60
+ // How to access sibling data from this field?
61
+ // Need the `name` of the field in order to validate it.
62
+ // Might not be possible to use this validation function.
63
+ // Instead, might need to do all validation in a `beforeValidate` collection hook.
64
+ if (typeof value !== 'undefined') {
65
+ return true;
66
+ }
67
+ return 'This field is required.';
68
+ }
69
+ }
70
+ ],
71
+ type: 'array'
72
+ },
73
+ ...formConfig?.formSubmissionOverrides?.fields || []
74
+ ],
75
+ hooks: {
76
+ beforeChange: [
77
+ (data)=>(0, _createCharge.default)(data, formConfig),
78
+ (data)=>(0, _sendEmail.default)(data, formConfig),
79
+ ...formConfig?.formSubmissionOverrides?.hooks?.beforeChange || []
80
+ ],
81
+ ...formConfig?.formSubmissionOverrides?.hooks || {}
82
+ },
83
+ slug: formConfig?.formSubmissionOverrides?.slug || 'form-submissions'
84
+ };
85
+ const paymentFieldConfig = formConfig?.fields?.payment;
86
+ if (paymentFieldConfig) {
87
+ newConfig.fields.push({
88
+ name: 'payment',
89
+ admin: {
90
+ readOnly: true
91
+ },
92
+ fields: [
93
+ {
94
+ name: 'field',
95
+ label: 'Field',
96
+ type: 'text'
97
+ },
98
+ {
99
+ name: 'status',
100
+ label: 'Status',
101
+ type: 'text'
102
+ },
103
+ {
104
+ name: 'amount',
105
+ admin: {
106
+ description: 'Amount in cents'
107
+ },
108
+ type: 'number'
109
+ },
110
+ {
111
+ name: 'paymentProcessor',
112
+ type: 'text'
113
+ },
114
+ {
115
+ name: 'creditCard',
116
+ fields: [
117
+ {
118
+ name: 'token',
119
+ label: 'token',
120
+ type: 'text'
121
+ },
122
+ {
123
+ name: 'brand',
124
+ label: 'Brand',
125
+ type: 'text'
126
+ },
127
+ {
128
+ name: 'number',
129
+ label: 'Number',
130
+ type: 'text'
131
+ }
132
+ ],
133
+ label: 'Credit Card',
134
+ type: 'group'
135
+ }
136
+ ],
137
+ type: 'group'
138
+ });
139
+ }
140
+ return newConfig;
141
+ };
142
+
143
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9Gb3JtU3VibWlzc2lvbnMvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDb2xsZWN0aW9uQ29uZmlnIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHR5cGUgeyBQbHVnaW5Db25maWcgfSBmcm9tICcuLi8uLi90eXBlcydcblxuaW1wb3J0IGNyZWF0ZUNoYXJnZSBmcm9tICcuL2hvb2tzL2NyZWF0ZUNoYXJnZSdcbmltcG9ydCBzZW5kRW1haWwgZnJvbSAnLi9ob29rcy9zZW5kRW1haWwnXG5cbi8vIGFsbCBzZXR0aW5ncyBjYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgY29uZmlnXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVTdWJtaXNzaW9uQ29sbGVjdGlvbiA9IChmb3JtQ29uZmlnOiBQbHVnaW5Db25maWcpOiBDb2xsZWN0aW9uQ29uZmlnID0+IHtcbiAgY29uc3QgbmV3Q29uZmlnOiBDb2xsZWN0aW9uQ29uZmlnID0ge1xuICAgIC4uLihmb3JtQ29uZmlnPy5mb3JtU3VibWlzc2lvbk92ZXJyaWRlcyB8fCB7fSksXG4gICAgYWNjZXNzOiB7XG4gICAgICBjcmVhdGU6ICgpID0+IHRydWUsXG4gICAgICByZWFkOiAoeyByZXE6IHsgdXNlciB9IH0pID0+ICEhdXNlciwgLy8gbG9nZ2VkLWluIHVzZXJzLFxuICAgICAgdXBkYXRlOiAoKSA9PiBmYWxzZSxcbiAgICAgIC4uLihmb3JtQ29uZmlnPy5mb3JtU3VibWlzc2lvbk92ZXJyaWRlcz8uYWNjZXNzIHx8IHt9KSxcbiAgICB9LFxuICAgIGFkbWluOiB7XG4gICAgICAuLi4oZm9ybUNvbmZpZz8uZm9ybVN1Ym1pc3Npb25PdmVycmlkZXM/LmFkbWluIHx8IHt9KSxcbiAgICAgIGVuYWJsZVJpY2hUZXh0UmVsYXRpb25zaGlwOiBmYWxzZSxcbiAgICB9LFxuICAgIGZpZWxkczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAnZm9ybScsXG4gICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgcmVhZE9ubHk6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHJlbGF0aW9uVG86IGZvcm1Db25maWc/LmZvcm1PdmVycmlkZXM/LnNsdWcgfHwgJ2Zvcm1zJyxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIHR5cGU6ICdyZWxhdGlvbnNoaXAnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3N1Ym1pc3Npb25EYXRhJyxcbiAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICByZWFkT25seTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2ZpZWxkJyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ3ZhbHVlJyxcbiAgICAgICAgICAgIHJlcXVpcmVkOiB0cnVlLFxuICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgdmFsaWRhdGU6ICh2YWx1ZTogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICAvLyBUT0RPOlxuICAgICAgICAgICAgICAvLyBjcmVhdGUgYSB2YWxpZGF0aW9uIGZ1bmN0aW9uIHRoYXQgZHluYW1pY2FsbHlcbiAgICAgICAgICAgICAgLy8gcmVsaWVzIG9uIHRoZSBmaWVsZCB0eXBlIGFuZCBpdHMgb3B0aW9ucyBhcyBjb25maWd1cmVkLlxuXG4gICAgICAgICAgICAgIC8vIEhvdyB0byBhY2Nlc3Mgc2libGluZyBkYXRhIGZyb20gdGhpcyBmaWVsZD9cbiAgICAgICAgICAgICAgLy8gTmVlZCB0aGUgYG5hbWVgIG9mIHRoZSBmaWVsZCBpbiBvcmRlciB0byB2YWxpZGF0ZSBpdC5cblxuICAgICAgICAgICAgICAvLyBNaWdodCBub3QgYmUgcG9zc2libGUgdG8gdXNlIHRoaXMgdmFsaWRhdGlvbiBmdW5jdGlvbi5cbiAgICAgICAgICAgICAgLy8gSW5zdGVhZCwgbWlnaHQgbmVlZCB0byBkbyBhbGwgdmFsaWRhdGlvbiBpbiBhIGBiZWZvcmVWYWxpZGF0ZWAgY29sbGVjdGlvbiBob29rLlxuXG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiAnVGhpcyBmaWVsZCBpcyByZXF1aXJlZC4nXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICB9LFxuICAgICAgLi4uKGZvcm1Db25maWc/LmZvcm1TdWJtaXNzaW9uT3ZlcnJpZGVzPy5maWVsZHMgfHwgW10pLFxuICAgIF0sXG4gICAgaG9va3M6IHtcbiAgICAgIGJlZm9yZUNoYW5nZTogW1xuICAgICAgICAoZGF0YSkgPT4gY3JlYXRlQ2hhcmdlKGRhdGEsIGZvcm1Db25maWcpLFxuICAgICAgICAoZGF0YSkgPT4gc2VuZEVtYWlsKGRhdGEsIGZvcm1Db25maWcpLFxuICAgICAgICAuLi4oZm9ybUNvbmZpZz8uZm9ybVN1Ym1pc3Npb25PdmVycmlkZXM/Lmhvb2tzPy5iZWZvcmVDaGFuZ2UgfHwgW10pLFxuICAgICAgXSxcbiAgICAgIC4uLihmb3JtQ29uZmlnPy5mb3JtU3VibWlzc2lvbk92ZXJyaWRlcz8uaG9va3MgfHwge30pLFxuICAgIH0sXG4gICAgc2x1ZzogZm9ybUNvbmZpZz8uZm9ybVN1Ym1pc3Npb25PdmVycmlkZXM/LnNsdWcgfHwgJ2Zvcm0tc3VibWlzc2lvbnMnLFxuICB9XG5cbiAgY29uc3QgcGF5bWVudEZpZWxkQ29uZmlnID0gZm9ybUNvbmZpZz8uZmllbGRzPy5wYXltZW50XG5cbiAgaWYgKHBheW1lbnRGaWVsZENvbmZpZykge1xuICAgIG5ld0NvbmZpZy5maWVsZHMucHVzaCh7XG4gICAgICBuYW1lOiAncGF5bWVudCcsXG4gICAgICBhZG1pbjoge1xuICAgICAgICByZWFkT25seTogdHJ1ZSxcbiAgICAgIH0sXG4gICAgICBmaWVsZHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdmaWVsZCcsXG4gICAgICAgICAgbGFiZWw6ICdGaWVsZCcsXG4gICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ3N0YXR1cycsXG4gICAgICAgICAgbGFiZWw6ICdTdGF0dXMnLFxuICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdhbW91bnQnLFxuICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0Ftb3VudCBpbiBjZW50cycsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB0eXBlOiAnbnVtYmVyJyxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdwYXltZW50UHJvY2Vzc29yJyxcbiAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnY3JlZGl0Q2FyZCcsXG4gICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICd0b2tlbicsXG4gICAgICAgICAgICAgIGxhYmVsOiAndG9rZW4nLFxuICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnYnJhbmQnLFxuICAgICAgICAgICAgICBsYWJlbDogJ0JyYW5kJyxcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbmFtZTogJ251bWJlcicsXG4gICAgICAgICAgICAgIGxhYmVsOiAnTnVtYmVyJyxcbiAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIGxhYmVsOiAnQ3JlZGl0IENhcmQnLFxuICAgICAgICAgIHR5cGU6ICdncm91cCcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgdHlwZTogJ2dyb3VwJyxcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIG5ld0NvbmZpZ1xufVxuIl0sIm5hbWVzIjpbImdlbmVyYXRlU3VibWlzc2lvbkNvbGxlY3Rpb24iLCJmb3JtQ29uZmlnIiwibmV3Q29uZmlnIiwiZm9ybVN1Ym1pc3Npb25PdmVycmlkZXMiLCJhY2Nlc3MiLCJjcmVhdGUiLCJyZWFkIiwicmVxIiwidXNlciIsInVwZGF0ZSIsImFkbWluIiwiZW5hYmxlUmljaFRleHRSZWxhdGlvbnNoaXAiLCJmaWVsZHMiLCJuYW1lIiwicmVhZE9ubHkiLCJyZWxhdGlvblRvIiwiZm9ybU92ZXJyaWRlcyIsInNsdWciLCJyZXF1aXJlZCIsInR5cGUiLCJ2YWxpZGF0ZSIsInZhbHVlIiwiaG9va3MiLCJiZWZvcmVDaGFuZ2UiLCJkYXRhIiwiY3JlYXRlQ2hhcmdlIiwic2VuZEVtYWlsIiwicGF5bWVudEZpZWxkQ29uZmlnIiwicGF5bWVudCIsInB1c2giLCJsYWJlbCIsImRlc2NyaXB0aW9uIl0sIm1hcHBpbmdzIjoiOzs7OytCQVFhQTs7O2VBQUFBOzs7cUVBSlk7a0VBQ0g7Ozs7OztBQUdmLE1BQU1BLCtCQUErQixDQUFDQztJQUMzQyxNQUFNQyxZQUE4QjtRQUNsQyxHQUFJRCxZQUFZRSwyQkFBMkIsQ0FBQyxDQUFDO1FBQzdDQyxRQUFRO1lBQ05DLFFBQVEsSUFBTTtZQUNkQyxNQUFNLENBQUMsRUFBRUMsS0FBSyxFQUFFQyxJQUFJLEVBQUUsRUFBRSxHQUFLLENBQUMsQ0FBQ0E7WUFDL0JDLFFBQVEsSUFBTTtZQUNkLEdBQUlSLFlBQVlFLHlCQUF5QkMsVUFBVSxDQUFDLENBQUM7UUFDdkQ7UUFDQU0sT0FBTztZQUNMLEdBQUlULFlBQVlFLHlCQUF5Qk8sU0FBUyxDQUFDLENBQUM7WUFDcERDLDRCQUE0QjtRQUM5QjtRQUNBQyxRQUFRO1lBQ047Z0JBQ0VDLE1BQU07Z0JBQ05ILE9BQU87b0JBQ0xJLFVBQVU7Z0JBQ1o7Z0JBQ0FDLFlBQVlkLFlBQVllLGVBQWVDLFFBQVE7Z0JBQy9DQyxVQUFVO2dCQUNWQyxNQUFNO1lBQ1I7WUFDQTtnQkFDRU4sTUFBTTtnQkFDTkgsT0FBTztvQkFDTEksVUFBVTtnQkFDWjtnQkFDQUYsUUFBUTtvQkFDTjt3QkFDRUMsTUFBTTt3QkFDTkssVUFBVTt3QkFDVkMsTUFBTTtvQkFDUjtvQkFDQTt3QkFDRU4sTUFBTTt3QkFDTkssVUFBVTt3QkFDVkMsTUFBTTt3QkFDTkMsVUFBVSxDQUFDQzs0QkFDVCxRQUFROzRCQUNSLGdEQUFnRDs0QkFDaEQsMERBQTBEOzRCQUUxRCw4Q0FBOEM7NEJBQzlDLHdEQUF3RDs0QkFFeEQseURBQXlEOzRCQUN6RCxrRkFBa0Y7NEJBRWxGLElBQUksT0FBT0EsVUFBVSxhQUFhO2dDQUNoQyxPQUFPOzRCQUNUOzRCQUVBLE9BQU87d0JBQ1Q7b0JBQ0Y7aUJBQ0Q7Z0JBQ0RGLE1BQU07WUFDUjtlQUNJbEIsWUFBWUUseUJBQXlCUyxVQUFVLEVBQUU7U0FDdEQ7UUFDRFUsT0FBTztZQUNMQyxjQUFjO2dCQUNaLENBQUNDLE9BQVNDLElBQUFBLHFCQUFZLEVBQUNELE1BQU12QjtnQkFDN0IsQ0FBQ3VCLE9BQVNFLElBQUFBLGtCQUFTLEVBQUNGLE1BQU12QjttQkFDdEJBLFlBQVlFLHlCQUF5Qm1CLE9BQU9DLGdCQUFnQixFQUFFO2FBQ25FO1lBQ0QsR0FBSXRCLFlBQVlFLHlCQUF5Qm1CLFNBQVMsQ0FBQyxDQUFDO1FBQ3REO1FBQ0FMLE1BQU1oQixZQUFZRSx5QkFBeUJjLFFBQVE7SUFDckQ7SUFFQSxNQUFNVSxxQkFBcUIxQixZQUFZVyxRQUFRZ0I7SUFFL0MsSUFBSUQsb0JBQW9CO1FBQ3RCekIsVUFBVVUsTUFBTSxDQUFDaUIsSUFBSSxDQUFDO1lBQ3BCaEIsTUFBTTtZQUNOSCxPQUFPO2dCQUNMSSxVQUFVO1lBQ1o7WUFDQUYsUUFBUTtnQkFDTjtvQkFDRUMsTUFBTTtvQkFDTmlCLE9BQU87b0JBQ1BYLE1BQU07Z0JBQ1I7Z0JBQ0E7b0JBQ0VOLE1BQU07b0JBQ05pQixPQUFPO29CQUNQWCxNQUFNO2dCQUNSO2dCQUNBO29CQUNFTixNQUFNO29CQUNOSCxPQUFPO3dCQUNMcUIsYUFBYTtvQkFDZjtvQkFDQVosTUFBTTtnQkFDUjtnQkFDQTtvQkFDRU4sTUFBTTtvQkFDTk0sTUFBTTtnQkFDUjtnQkFDQTtvQkFDRU4sTUFBTTtvQkFDTkQsUUFBUTt3QkFDTjs0QkFDRUMsTUFBTTs0QkFDTmlCLE9BQU87NEJBQ1BYLE1BQU07d0JBQ1I7d0JBQ0E7NEJBQ0VOLE1BQU07NEJBQ05pQixPQUFPOzRCQUNQWCxNQUFNO3dCQUNSO3dCQUNBOzRCQUNFTixNQUFNOzRCQUNOaUIsT0FBTzs0QkFDUFgsTUFBTTt3QkFDUjtxQkFDRDtvQkFDRFcsT0FBTztvQkFDUFgsTUFBTTtnQkFDUjthQUNEO1lBQ0RBLE1BQU07UUFDUjtJQUNGO0lBRUEsT0FBT2pCO0FBQ1QifQ==
@@ -0,0 +1,4 @@
1
+ import type { TextField } from 'payload/dist/fields/config/types';
2
+ import React from 'react';
3
+ export declare const DynamicFieldSelector: React.FC<TextField>;
4
+ //# sourceMappingURL=DynamicFieldSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicFieldSelector.d.ts","sourceRoot":"","sources":["../../../src/collections/Forms/DynamicFieldSelector.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA;AAGjE,OAAO,KAA8B,MAAM,OAAO,CAAA;AAIlD,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CA6BpD,CAAA"}
@@ -0,0 +1,82 @@
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
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
37
+ for(var key in obj){
38
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
39
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
40
+ if (desc && (desc.get || desc.set)) {
41
+ Object.defineProperty(newObj, key, desc);
42
+ } else {
43
+ newObj[key] = obj[key];
44
+ }
45
+ }
46
+ }
47
+ newObj.default = obj;
48
+ if (cache) {
49
+ cache.set(obj, newObj);
50
+ }
51
+ return newObj;
52
+ }
53
+ const DynamicFieldSelector = (props)=>{
54
+ const { fields, getDataByPath } = (0, _forms.useForm)();
55
+ const [options, setOptions] = (0, _react.useState)([]);
56
+ (0, _react.useEffect)(()=>{
57
+ // @ts-ignore
58
+ const fields = getDataByPath('fields');
59
+ if (fields) {
60
+ const allNonPaymentFields = fields.map((block)=>{
61
+ const { name, blockType, label } = block;
62
+ if (blockType !== 'payment') {
63
+ return {
64
+ label,
65
+ value: name
66
+ };
67
+ }
68
+ return null;
69
+ }).filter(Boolean);
70
+ setOptions(allNonPaymentFields);
71
+ }
72
+ }, [
73
+ fields,
74
+ getDataByPath
75
+ ]);
76
+ return /*#__PURE__*/ _react.default.createElement(_forms.Select, {
77
+ ...props,
78
+ options: options
79
+ });
80
+ };
81
+
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9Gb3Jtcy9EeW5hbWljRmllbGRTZWxlY3Rvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB0eXBlIHsgVGV4dEZpZWxkIH0gZnJvbSAncGF5bG9hZC9kaXN0L2ZpZWxkcy9jb25maWcvdHlwZXMnXG5cbmltcG9ydCB7IFNlbGVjdCwgdXNlRm9ybSB9IGZyb20gJ3BheWxvYWQvY29tcG9uZW50cy9mb3JtcydcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgU2VsZWN0RmllbGRPcHRpb24gfSBmcm9tICcuLi8uLi90eXBlcydcblxuZXhwb3J0IGNvbnN0IER5bmFtaWNGaWVsZFNlbGVjdG9yOiBSZWFjdC5GQzxUZXh0RmllbGQ+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHsgZmllbGRzLCBnZXREYXRhQnlQYXRoIH0gPSB1c2VGb3JtKClcblxuICBjb25zdCBbb3B0aW9ucywgc2V0T3B0aW9uc10gPSB1c2VTdGF0ZTxTZWxlY3RGaWVsZE9wdGlvbltdPihbXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIC8vIEB0cy1pZ25vcmVcbiAgICBjb25zdCBmaWVsZHM6IGFueVtdID0gZ2V0RGF0YUJ5UGF0aCgnZmllbGRzJylcblxuICAgIGlmIChmaWVsZHMpIHtcbiAgICAgIGNvbnN0IGFsbE5vblBheW1lbnRGaWVsZHMgPSBmaWVsZHNcbiAgICAgICAgLm1hcCgoYmxvY2spOiBTZWxlY3RGaWVsZE9wdGlvbiB8IG51bGwgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgbmFtZSwgYmxvY2tUeXBlLCBsYWJlbCB9ID0gYmxvY2tcblxuICAgICAgICAgIGlmIChibG9ja1R5cGUgIT09ICdwYXltZW50Jykge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICAgIHZhbHVlOiBuYW1lLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgIH0pXG4gICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgIHNldE9wdGlvbnMoYWxsTm9uUGF5bWVudEZpZWxkcylcbiAgICB9XG4gIH0sIFtmaWVsZHMsIGdldERhdGFCeVBhdGhdKVxuXG4gIHJldHVybiA8U2VsZWN0IHsuLi5wcm9wc30gb3B0aW9ucz17b3B0aW9uc30gLz5cbn1cbiJdLCJuYW1lcyI6WyJEeW5hbWljRmllbGRTZWxlY3RvciIsInByb3BzIiwiZmllbGRzIiwiZ2V0RGF0YUJ5UGF0aCIsInVzZUZvcm0iLCJvcHRpb25zIiwic2V0T3B0aW9ucyIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwiYWxsTm9uUGF5bWVudEZpZWxkcyIsIm1hcCIsImJsb2NrIiwibmFtZSIsImJsb2NrVHlwZSIsImxhYmVsIiwidmFsdWUiLCJmaWx0ZXIiLCJCb29sZWFuIiwiU2VsZWN0Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7K0JBU2FBOzs7ZUFBQUE7Ozt1QkFMbUI7K0RBQ1c7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFJcEMsTUFBTUEsdUJBQTRDLENBQUNDO0lBQ3hELE1BQU0sRUFBRUMsTUFBTSxFQUFFQyxhQUFhLEVBQUUsR0FBR0MsSUFBQUEsY0FBTztJQUV6QyxNQUFNLENBQUNDLFNBQVNDLFdBQVcsR0FBR0MsSUFBQUEsZUFBUSxFQUFzQixFQUFFO0lBRTlEQyxJQUFBQSxnQkFBUyxFQUFDO1FBQ1IsYUFBYTtRQUNiLE1BQU1OLFNBQWdCQyxjQUFjO1FBRXBDLElBQUlELFFBQVE7WUFDVixNQUFNTyxzQkFBc0JQLE9BQ3pCUSxHQUFHLENBQUMsQ0FBQ0M7Z0JBQ0osTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFNBQVMsRUFBRUMsS0FBSyxFQUFFLEdBQUdIO2dCQUVuQyxJQUFJRSxjQUFjLFdBQVc7b0JBQzNCLE9BQU87d0JBQ0xDO3dCQUNBQyxPQUFPSDtvQkFDVDtnQkFDRjtnQkFFQSxPQUFPO1lBQ1QsR0FDQ0ksTUFBTSxDQUFDQztZQUNWWCxXQUFXRztRQUNiO0lBQ0YsR0FBRztRQUFDUDtRQUFRQztLQUFjO0lBRTFCLHFCQUFPLDZCQUFDZSxhQUFNO1FBQUUsR0FBR2pCLEtBQUs7UUFBRUksU0FBU0E7O0FBQ3JDIn0=
@@ -0,0 +1,4 @@
1
+ import type { Props as TextFieldType } from 'payload/dist/admin/components/forms/field-types/Text/types';
2
+ import React from 'react';
3
+ export declare const DynamicPriceSelector: React.FC<TextFieldType>;
4
+ //# sourceMappingURL=DynamicPriceSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicPriceSelector.d.ts","sourceRoot":"","sources":["../../../src/collections/Forms/DynamicPriceSelector.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,4DAA4D,CAAA;AAIxG,OAAO,KAA8B,MAAM,OAAO,CAAA;AAOlD,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAwDxD,CAAA"}
@@ -0,0 +1,100 @@
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
+ var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
38
+ for(var key in obj){
39
+ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
40
+ var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
41
+ if (desc && (desc.get || desc.set)) {
42
+ Object.defineProperty(newObj, key, desc);
43
+ } else {
44
+ newObj[key] = obj[key];
45
+ }
46
+ }
47
+ }
48
+ newObj.default = obj;
49
+ if (cache) {
50
+ cache.set(obj, newObj);
51
+ }
52
+ return newObj;
53
+ }
54
+ const DynamicPriceSelector = (props)=>{
55
+ const { label, path } = props;
56
+ const { fields, getData, getDataByPath } = (0, _forms.useWatchForm)();
57
+ const locale = (0, _utilities.useLocale)();
58
+ const [isNumberField, setIsNumberField] = (0, _react.useState)();
59
+ const [valueType, setValueType] = (0, _react.useState)();
60
+ // only number fields can use 'valueOfField`
61
+ (0, _react.useEffect)(()=>{
62
+ if (path) {
63
+ const parentPath = path.split('.').slice(0, -1).join('.');
64
+ const paymentFieldData = getDataByPath(parentPath);
65
+ if (paymentFieldData) {
66
+ const { fieldToUse, valueType } = paymentFieldData;
67
+ setValueType(valueType);
68
+ const { fields: allFields } = getData();
69
+ const field = allFields.find((field)=>field.name === fieldToUse);
70
+ if (field) {
71
+ const { blockType } = field;
72
+ setIsNumberField(blockType === 'number');
73
+ }
74
+ }
75
+ }
76
+ }, [
77
+ fields,
78
+ path,
79
+ getDataByPath,
80
+ getData
81
+ ]);
82
+ // TODO: make this a number field, block by Payload
83
+ if (valueType === 'static') {
84
+ return /*#__PURE__*/ _react.default.createElement(_forms.Text, props);
85
+ }
86
+ const localLabels = typeof label === 'object' ? label : {
87
+ [locale]: label
88
+ };
89
+ const labelValue = localLabels[locale] || localLabels['en'] || '';
90
+ if (valueType === 'valueOfField' && !isNumberField) {
91
+ return /*#__PURE__*/ _react.default.createElement("div", null, /*#__PURE__*/ _react.default.createElement("div", null, labelValue), /*#__PURE__*/ _react.default.createElement("div", {
92
+ style: {
93
+ color: '#9A9A9A'
94
+ }
95
+ }, "The selected field must be a number field."));
96
+ }
97
+ return null;
98
+ };
99
+
100
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9Gb3Jtcy9EeW5hbWljUHJpY2VTZWxlY3Rvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCB0eXBlIHsgRGF0YSB9IGZyb20gJ3BheWxvYWQvZGlzdC9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL0Zvcm0vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFByb3BzIGFzIFRleHRGaWVsZFR5cGUgfSBmcm9tICdwYXlsb2FkL2Rpc3QvYWRtaW4vY29tcG9uZW50cy9mb3Jtcy9maWVsZC10eXBlcy9UZXh0L3R5cGVzJ1xuXG5pbXBvcnQgeyBUZXh0LCB1c2VXYXRjaEZvcm0gfSBmcm9tICdwYXlsb2FkL2NvbXBvbmVudHMvZm9ybXMnXG5pbXBvcnQgeyB1c2VMb2NhbGUgfSBmcm9tICdwYXlsb2FkL2NvbXBvbmVudHMvdXRpbGl0aWVzJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcblxudHlwZSBGaWVsZFdpdGhJRCA9IHtcbiAgaWQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IER5bmFtaWNQcmljZVNlbGVjdG9yOiBSZWFjdC5GQzxUZXh0RmllbGRUeXBlPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGxhYmVsLCBwYXRoIH0gPSBwcm9wc1xuXG4gIGNvbnN0IHsgZmllbGRzLCBnZXREYXRhLCBnZXREYXRhQnlQYXRoIH0gPSB1c2VXYXRjaEZvcm0oKVxuXG4gIGNvbnN0IGxvY2FsZSA9IHVzZUxvY2FsZSgpXG5cbiAgY29uc3QgW2lzTnVtYmVyRmllbGQsIHNldElzTnVtYmVyRmllbGRdID0gdXNlU3RhdGU8Ym9vbGVhbj4oKVxuICBjb25zdCBbdmFsdWVUeXBlLCBzZXRWYWx1ZVR5cGVdID0gdXNlU3RhdGU8J3N0YXRpYycgfCAndmFsdWVPZkZpZWxkJz4oKVxuXG4gIC8vIG9ubHkgbnVtYmVyIGZpZWxkcyBjYW4gdXNlICd2YWx1ZU9mRmllbGRgXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHBhdGgpIHtcbiAgICAgIGNvbnN0IHBhcmVudFBhdGggPSBwYXRoLnNwbGl0KCcuJykuc2xpY2UoMCwgLTEpLmpvaW4oJy4nKVxuICAgICAgY29uc3QgcGF5bWVudEZpZWxkRGF0YTogYW55ID0gZ2V0RGF0YUJ5UGF0aChwYXJlbnRQYXRoKVxuXG4gICAgICBpZiAocGF5bWVudEZpZWxkRGF0YSkge1xuICAgICAgICBjb25zdCB7IGZpZWxkVG9Vc2UsIHZhbHVlVHlwZSB9ID0gcGF5bWVudEZpZWxkRGF0YVxuXG4gICAgICAgIHNldFZhbHVlVHlwZSh2YWx1ZVR5cGUpXG5cbiAgICAgICAgY29uc3QgeyBmaWVsZHM6IGFsbEZpZWxkcyB9OiBEYXRhID0gZ2V0RGF0YSgpXG4gICAgICAgIGNvbnN0IGZpZWxkID0gYWxsRmllbGRzLmZpbmQoKGZpZWxkOiBGaWVsZFdpdGhJRCkgPT4gZmllbGQubmFtZSA9PT0gZmllbGRUb1VzZSlcblxuICAgICAgICBpZiAoZmllbGQpIHtcbiAgICAgICAgICBjb25zdCB7IGJsb2NrVHlwZSB9ID0gZmllbGRcbiAgICAgICAgICBzZXRJc051bWJlckZpZWxkKGJsb2NrVHlwZSA9PT0gJ251bWJlcicpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0sIFtmaWVsZHMsIHBhdGgsIGdldERhdGFCeVBhdGgsIGdldERhdGFdKVxuXG4gIC8vIFRPRE86IG1ha2UgdGhpcyBhIG51bWJlciBmaWVsZCwgYmxvY2sgYnkgUGF5bG9hZFxuICBpZiAodmFsdWVUeXBlID09PSAnc3RhdGljJykge1xuICAgIHJldHVybiA8VGV4dCB7Li4ucHJvcHN9IC8+XG4gIH1cblxuICBjb25zdCBsb2NhbExhYmVscyA9IHR5cGVvZiBsYWJlbCA9PT0gJ29iamVjdCcgPyBsYWJlbCA6IHsgW2xvY2FsZV06IGxhYmVsIH1cbiAgY29uc3QgbGFiZWxWYWx1ZSA9IGxvY2FsTGFiZWxzW2xvY2FsZV0gfHwgbG9jYWxMYWJlbHNbJ2VuJ10gfHwgJydcblxuICBpZiAodmFsdWVUeXBlID09PSAndmFsdWVPZkZpZWxkJyAmJiAhaXNOdW1iZXJGaWVsZCkge1xuICAgIHJldHVybiAoXG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGl2PntsYWJlbFZhbHVlfTwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgIGNvbG9yOiAnIzlBOUE5QScsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIFRoZSBzZWxlY3RlZCBmaWVsZCBtdXN0IGJlIGEgbnVtYmVyIGZpZWxkLlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIClcbiAgfVxuXG4gIHJldHVybiBudWxsXG59XG4iXSwibmFtZXMiOlsiRHluYW1pY1ByaWNlU2VsZWN0b3IiLCJwcm9wcyIsImxhYmVsIiwicGF0aCIsImZpZWxkcyIsImdldERhdGEiLCJnZXREYXRhQnlQYXRoIiwidXNlV2F0Y2hGb3JtIiwibG9jYWxlIiwidXNlTG9jYWxlIiwiaXNOdW1iZXJGaWVsZCIsInNldElzTnVtYmVyRmllbGQiLCJ1c2VTdGF0ZSIsInZhbHVlVHlwZSIsInNldFZhbHVlVHlwZSIsInVzZUVmZmVjdCIsInBhcmVudFBhdGgiLCJzcGxpdCIsInNsaWNlIiwiam9pbiIsInBheW1lbnRGaWVsZERhdGEiLCJmaWVsZFRvVXNlIiwiYWxsRmllbGRzIiwiZmllbGQiLCJmaW5kIiwibmFtZSIsImJsb2NrVHlwZSIsIlRleHQiLCJsb2NhbExhYmVscyIsImxhYmVsVmFsdWUiLCJkaXYiLCJzdHlsZSIsImNvbG9yIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7K0JBY2FBOzs7ZUFBQUE7Ozt1QkFUc0I7MkJBQ1Q7K0RBQ2lCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBT3BDLE1BQU1BLHVCQUFnRCxDQUFDQztJQUM1RCxNQUFNLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFLEdBQUdGO0lBRXhCLE1BQU0sRUFBRUcsTUFBTSxFQUFFQyxPQUFPLEVBQUVDLGFBQWEsRUFBRSxHQUFHQyxJQUFBQSxtQkFBWTtJQUV2RCxNQUFNQyxTQUFTQyxJQUFBQSxvQkFBUztJQUV4QixNQUFNLENBQUNDLGVBQWVDLGlCQUFpQixHQUFHQyxJQUFBQSxlQUFRO0lBQ2xELE1BQU0sQ0FBQ0MsV0FBV0MsYUFBYSxHQUFHRixJQUFBQSxlQUFRO0lBRTFDLDRDQUE0QztJQUM1Q0csSUFBQUEsZ0JBQVMsRUFBQztRQUNSLElBQUlaLE1BQU07WUFDUixNQUFNYSxhQUFhYixLQUFLYyxLQUFLLENBQUMsS0FBS0MsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHQyxJQUFJLENBQUM7WUFDckQsTUFBTUMsbUJBQXdCZCxjQUFjVTtZQUU1QyxJQUFJSSxrQkFBa0I7Z0JBQ3BCLE1BQU0sRUFBRUMsVUFBVSxFQUFFUixTQUFTLEVBQUUsR0FBR087Z0JBRWxDTixhQUFhRDtnQkFFYixNQUFNLEVBQUVULFFBQVFrQixTQUFTLEVBQUUsR0FBU2pCO2dCQUNwQyxNQUFNa0IsUUFBUUQsVUFBVUUsSUFBSSxDQUFDLENBQUNELFFBQXVCQSxNQUFNRSxJQUFJLEtBQUtKO2dCQUVwRSxJQUFJRSxPQUFPO29CQUNULE1BQU0sRUFBRUcsU0FBUyxFQUFFLEdBQUdIO29CQUN0QlosaUJBQWlCZSxjQUFjO2dCQUNqQztZQUNGO1FBQ0Y7SUFDRixHQUFHO1FBQUN0QjtRQUFRRDtRQUFNRztRQUFlRDtLQUFRO0lBRXpDLG1EQUFtRDtJQUNuRCxJQUFJUSxjQUFjLFVBQVU7UUFDMUIscUJBQU8sNkJBQUNjLFdBQUksRUFBSzFCO0lBQ25CO0lBRUEsTUFBTTJCLGNBQWMsT0FBTzFCLFVBQVUsV0FBV0EsUUFBUTtRQUFFLENBQUNNLE9BQU8sRUFBRU47SUFBTTtJQUMxRSxNQUFNMkIsYUFBYUQsV0FBVyxDQUFDcEIsT0FBTyxJQUFJb0IsV0FBVyxDQUFDLEtBQUssSUFBSTtJQUUvRCxJQUFJZixjQUFjLGtCQUFrQixDQUFDSCxlQUFlO1FBQ2xELHFCQUNFLDZCQUFDb0IsMkJBQ0MsNkJBQUNBLGFBQUtELDJCQUNOLDZCQUFDQztZQUNDQyxPQUFPO2dCQUNMQyxPQUFPO1lBQ1Q7V0FDRDtJQUtQO0lBRUEsT0FBTztBQUNUIn0=
@@ -0,0 +1,7 @@
1
+ import type { Block } from 'payload/types';
2
+ import type { FieldConfig } from '../../types';
3
+ export declare const fields: {
4
+ [key: string]: Block | ((fieldConfig?: FieldConfig | boolean) => Block);
5
+ };
6
+ export default fields;
7
+ //# sourceMappingURL=fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../src/collections/Forms/fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAS,MAAM,eAAe,CAAA;AAEjD,OAAO,KAAK,EAAE,WAAW,EAAsB,MAAM,aAAa,CAAA;AA6jBlE,eAAO,MAAM,MAAM;2CAYc,WAAW,GAAG,OAAO,KAAK,KAAK;CAC/D,CAAA;AAED,eAAe,MAAM,CAAA"}