@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
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "generateFormCollection", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return generateFormCollection;
9
+ }
10
+ });
11
+ const _deepmerge = /*#__PURE__*/ _interop_require_default(require("deepmerge"));
12
+ const _fields = require("./fields");
13
+ function _interop_require_default(obj) {
14
+ return obj && obj.__esModule ? obj : {
15
+ default: obj
16
+ };
17
+ }
18
+ const generateFormCollection = (formConfig)=>{
19
+ const redirect = {
20
+ name: 'redirect',
21
+ admin: {
22
+ condition: (_, siblingData)=>siblingData?.confirmationType === 'redirect',
23
+ hideGutter: true
24
+ },
25
+ fields: [
26
+ {
27
+ name: 'url',
28
+ label: 'URL to redirect to',
29
+ required: true,
30
+ type: 'text'
31
+ }
32
+ ],
33
+ type: 'group'
34
+ };
35
+ if (formConfig.redirectRelationships) {
36
+ redirect.fields.unshift({
37
+ name: 'reference',
38
+ admin: {
39
+ condition: (_, siblingData)=>siblingData?.type === 'reference'
40
+ },
41
+ label: 'Document to link to',
42
+ maxDepth: 2,
43
+ relationTo: formConfig.redirectRelationships,
44
+ required: true,
45
+ type: 'relationship'
46
+ });
47
+ redirect.fields.unshift({
48
+ name: 'type',
49
+ admin: {
50
+ layout: 'horizontal'
51
+ },
52
+ defaultValue: 'reference',
53
+ options: [
54
+ {
55
+ label: 'Internal link',
56
+ value: 'reference'
57
+ },
58
+ {
59
+ label: 'Custom URL',
60
+ value: 'custom'
61
+ }
62
+ ],
63
+ type: 'radio'
64
+ });
65
+ if (redirect.fields[2].type !== 'row') redirect.fields[2].label = 'Custom URL';
66
+ redirect.fields[2].admin = {
67
+ condition: (_, siblingData)=>siblingData?.type === 'custom'
68
+ };
69
+ }
70
+ const config = {
71
+ ...formConfig?.formOverrides || {},
72
+ access: {
73
+ read: ()=>true,
74
+ ...formConfig?.formOverrides?.access || {}
75
+ },
76
+ admin: {
77
+ enableRichTextRelationship: false,
78
+ useAsTitle: 'title',
79
+ ...formConfig?.formOverrides?.admin || {}
80
+ },
81
+ fields: [
82
+ {
83
+ name: 'title',
84
+ required: true,
85
+ type: 'text'
86
+ },
87
+ {
88
+ name: 'fields',
89
+ blocks: Object.entries(formConfig?.fields || {}).map(([fieldKey, fieldConfig])=>{
90
+ // let the config enable/disable fields with either boolean values or objects
91
+ if (fieldConfig !== false) {
92
+ const block = _fields.fields[fieldKey];
93
+ if (block === undefined && typeof fieldConfig === 'object') {
94
+ return fieldConfig;
95
+ }
96
+ if (typeof block === 'object' && typeof fieldConfig === 'object') {
97
+ return (0, _deepmerge.default)(block, fieldConfig, {
98
+ arrayMerge: (_, sourceArray)=>sourceArray
99
+ });
100
+ }
101
+ if (typeof block === 'function') {
102
+ return block(fieldConfig);
103
+ }
104
+ return block;
105
+ }
106
+ return null;
107
+ }).filter(Boolean),
108
+ type: 'blocks'
109
+ },
110
+ {
111
+ name: 'submitButtonLabel',
112
+ localized: true,
113
+ type: 'text'
114
+ },
115
+ {
116
+ name: 'confirmationType',
117
+ admin: {
118
+ description: 'Choose whether to display an on-page message or redirect to a different page after they submit the form.',
119
+ layout: 'horizontal'
120
+ },
121
+ defaultValue: 'message',
122
+ options: [
123
+ {
124
+ label: 'Message',
125
+ value: 'message'
126
+ },
127
+ {
128
+ label: 'Redirect',
129
+ value: 'redirect'
130
+ }
131
+ ],
132
+ type: 'radio'
133
+ },
134
+ {
135
+ name: 'confirmationMessage',
136
+ admin: {
137
+ condition: (_, siblingData)=>siblingData?.confirmationType === 'message'
138
+ },
139
+ localized: true,
140
+ required: true,
141
+ type: 'richText'
142
+ },
143
+ redirect,
144
+ {
145
+ name: 'emails',
146
+ admin: {
147
+ description: "Send custom emails when the form submits. Use comma separated lists to send the same email to multiple recipients. To reference a value from this form, wrap that field's name with double curly brackets, i.e. {{firstName}}."
148
+ },
149
+ fields: [
150
+ {
151
+ fields: [
152
+ {
153
+ name: 'emailTo',
154
+ admin: {
155
+ placeholder: '"Email Sender" <sender@email.com>',
156
+ width: '100%'
157
+ },
158
+ label: 'Email To',
159
+ type: 'text'
160
+ },
161
+ {
162
+ name: 'cc',
163
+ admin: {
164
+ width: '50%'
165
+ },
166
+ label: 'CC',
167
+ type: 'text'
168
+ },
169
+ {
170
+ name: 'bcc',
171
+ admin: {
172
+ width: '50%'
173
+ },
174
+ label: 'BCC',
175
+ type: 'text'
176
+ }
177
+ ],
178
+ type: 'row'
179
+ },
180
+ {
181
+ fields: [
182
+ {
183
+ name: 'replyTo',
184
+ admin: {
185
+ placeholder: '"Reply To" <reply-to@email.com>',
186
+ width: '50%'
187
+ },
188
+ label: 'Reply To',
189
+ type: 'text'
190
+ },
191
+ {
192
+ name: 'emailFrom',
193
+ admin: {
194
+ placeholder: '"Email From" <email-from@email.com>',
195
+ width: '50%'
196
+ },
197
+ label: 'Email From',
198
+ type: 'text'
199
+ }
200
+ ],
201
+ type: 'row'
202
+ },
203
+ {
204
+ name: 'subject',
205
+ defaultValue: "You've received a new message.",
206
+ label: 'Subject',
207
+ localized: true,
208
+ required: true,
209
+ type: 'text'
210
+ },
211
+ {
212
+ name: 'message',
213
+ admin: {
214
+ description: 'Enter the message that should be sent in this email.'
215
+ },
216
+ label: 'Message',
217
+ localized: true,
218
+ type: 'richText'
219
+ }
220
+ ],
221
+ type: 'array'
222
+ },
223
+ ...formConfig?.formOverrides?.fields || []
224
+ ],
225
+ slug: formConfig?.formOverrides?.slug || 'forms'
226
+ };
227
+ return config;
228
+ };
229
+
230
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9Gb3Jtcy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJsb2NrLCBDb2xsZWN0aW9uQ29uZmlnLCBGaWVsZCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCBtZXJnZSBmcm9tICdkZWVwbWVyZ2UnXG5cbmltcG9ydCB0eXBlIHsgRmllbGRDb25maWcsIFBsdWdpbkNvbmZpZyB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZHMgfSBmcm9tICcuL2ZpZWxkcydcblxuLy8gYWxsIHNldHRpbmdzIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHRoZSBjb25maWdcbmV4cG9ydCBjb25zdCBnZW5lcmF0ZUZvcm1Db2xsZWN0aW9uID0gKGZvcm1Db25maWc6IFBsdWdpbkNvbmZpZyk6IENvbGxlY3Rpb25Db25maWcgPT4ge1xuICBjb25zdCByZWRpcmVjdDogRmllbGQgPSB7XG4gICAgbmFtZTogJ3JlZGlyZWN0JyxcbiAgICBhZG1pbjoge1xuICAgICAgY29uZGl0aW9uOiAoXywgc2libGluZ0RhdGEpID0+IHNpYmxpbmdEYXRhPy5jb25maXJtYXRpb25UeXBlID09PSAncmVkaXJlY3QnLFxuICAgICAgaGlkZUd1dHRlcjogdHJ1ZSxcbiAgICB9LFxuICAgIGZpZWxkczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAndXJsJyxcbiAgICAgICAgbGFiZWw6ICdVUkwgdG8gcmVkaXJlY3QgdG8nLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHR5cGU6ICdncm91cCcsXG4gIH1cblxuICBpZiAoZm9ybUNvbmZpZy5yZWRpcmVjdFJlbGF0aW9uc2hpcHMpIHtcbiAgICByZWRpcmVjdC5maWVsZHMudW5zaGlmdCh7XG4gICAgICBuYW1lOiAncmVmZXJlbmNlJyxcbiAgICAgIGFkbWluOiB7XG4gICAgICAgIGNvbmRpdGlvbjogKF8sIHNpYmxpbmdEYXRhKSA9PiBzaWJsaW5nRGF0YT8udHlwZSA9PT0gJ3JlZmVyZW5jZScsXG4gICAgICB9LFxuICAgICAgbGFiZWw6ICdEb2N1bWVudCB0byBsaW5rIHRvJyxcbiAgICAgIG1heERlcHRoOiAyLFxuICAgICAgcmVsYXRpb25UbzogZm9ybUNvbmZpZy5yZWRpcmVjdFJlbGF0aW9uc2hpcHMsXG4gICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgIHR5cGU6ICdyZWxhdGlvbnNoaXAnLFxuICAgIH0pXG5cbiAgICByZWRpcmVjdC5maWVsZHMudW5zaGlmdCh7XG4gICAgICBuYW1lOiAndHlwZScsXG4gICAgICBhZG1pbjoge1xuICAgICAgICBsYXlvdXQ6ICdob3Jpem9udGFsJyxcbiAgICAgIH0sXG4gICAgICBkZWZhdWx0VmFsdWU6ICdyZWZlcmVuY2UnLFxuICAgICAgb3B0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdJbnRlcm5hbCBsaW5rJyxcbiAgICAgICAgICB2YWx1ZTogJ3JlZmVyZW5jZScsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ0N1c3RvbSBVUkwnLFxuICAgICAgICAgIHZhbHVlOiAnY3VzdG9tJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICB0eXBlOiAncmFkaW8nLFxuICAgIH0pXG5cbiAgICBpZiAocmVkaXJlY3QuZmllbGRzWzJdLnR5cGUgIT09ICdyb3cnKSByZWRpcmVjdC5maWVsZHNbMl0ubGFiZWwgPSAnQ3VzdG9tIFVSTCdcblxuICAgIHJlZGlyZWN0LmZpZWxkc1syXS5hZG1pbiA9IHtcbiAgICAgIGNvbmRpdGlvbjogKF8sIHNpYmxpbmdEYXRhKSA9PiBzaWJsaW5nRGF0YT8udHlwZSA9PT0gJ2N1c3RvbScsXG4gICAgfVxuICB9XG5cbiAgY29uc3QgY29uZmlnOiBDb2xsZWN0aW9uQ29uZmlnID0ge1xuICAgIC4uLihmb3JtQ29uZmlnPy5mb3JtT3ZlcnJpZGVzIHx8IHt9KSxcbiAgICBhY2Nlc3M6IHtcbiAgICAgIHJlYWQ6ICgpID0+IHRydWUsXG4gICAgICAuLi4oZm9ybUNvbmZpZz8uZm9ybU92ZXJyaWRlcz8uYWNjZXNzIHx8IHt9KSxcbiAgICB9LFxuICAgIGFkbWluOiB7XG4gICAgICBlbmFibGVSaWNoVGV4dFJlbGF0aW9uc2hpcDogZmFsc2UsXG4gICAgICB1c2VBc1RpdGxlOiAndGl0bGUnLFxuICAgICAgLi4uKGZvcm1Db25maWc/LmZvcm1PdmVycmlkZXM/LmFkbWluIHx8IHt9KSxcbiAgICB9LFxuICAgIGZpZWxkczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2ZpZWxkcycsXG4gICAgICAgIGJsb2NrczogT2JqZWN0LmVudHJpZXMoZm9ybUNvbmZpZz8uZmllbGRzIHx8IHt9KVxuICAgICAgICAgIC5tYXAoKFtmaWVsZEtleSwgZmllbGRDb25maWddKSA9PiB7XG4gICAgICAgICAgICAvLyBsZXQgdGhlIGNvbmZpZyBlbmFibGUvZGlzYWJsZSBmaWVsZHMgd2l0aCBlaXRoZXIgYm9vbGVhbiB2YWx1ZXMgb3Igb2JqZWN0c1xuICAgICAgICAgICAgaWYgKGZpZWxkQ29uZmlnICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICBjb25zdCBibG9jayA9IGZpZWxkc1tmaWVsZEtleV1cblxuICAgICAgICAgICAgICBpZiAoYmxvY2sgPT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgZmllbGRDb25maWcgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZpZWxkQ29uZmlnXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBpZiAodHlwZW9mIGJsb2NrID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgZmllbGRDb25maWcgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1lcmdlPEZpZWxkQ29uZmlnPihibG9jaywgZmllbGRDb25maWcsIHtcbiAgICAgICAgICAgICAgICAgIGFycmF5TWVyZ2U6IChfLCBzb3VyY2VBcnJheSkgPT4gc291cmNlQXJyYXksXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgYmxvY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYmxvY2soZmllbGRDb25maWcpXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gYmxvY2tcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbikgYXMgQmxvY2tbXSxcbiAgICAgICAgdHlwZTogJ2Jsb2NrcycsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnc3VibWl0QnV0dG9uTGFiZWwnLFxuICAgICAgICBsb2NhbGl6ZWQ6IHRydWUsXG4gICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdjb25maXJtYXRpb25UeXBlJyxcbiAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICdDaG9vc2Ugd2hldGhlciB0byBkaXNwbGF5IGFuIG9uLXBhZ2UgbWVzc2FnZSBvciByZWRpcmVjdCB0byBhIGRpZmZlcmVudCBwYWdlIGFmdGVyIHRoZXkgc3VibWl0IHRoZSBmb3JtLicsXG4gICAgICAgICAgbGF5b3V0OiAnaG9yaXpvbnRhbCcsXG4gICAgICAgIH0sXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogJ21lc3NhZ2UnLFxuICAgICAgICBvcHRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6ICdNZXNzYWdlJyxcbiAgICAgICAgICAgIHZhbHVlOiAnbWVzc2FnZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogJ1JlZGlyZWN0JyxcbiAgICAgICAgICAgIHZhbHVlOiAncmVkaXJlY3QnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHR5cGU6ICdyYWRpbycsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnY29uZmlybWF0aW9uTWVzc2FnZScsXG4gICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgY29uZGl0aW9uOiAoXywgc2libGluZ0RhdGEpID0+IHNpYmxpbmdEYXRhPy5jb25maXJtYXRpb25UeXBlID09PSAnbWVzc2FnZScsXG4gICAgICAgIH0sXG4gICAgICAgIGxvY2FsaXplZDogdHJ1ZSxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIHR5cGU6ICdyaWNoVGV4dCcsXG4gICAgICB9LFxuICAgICAgcmVkaXJlY3QsXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdlbWFpbHMnLFxuICAgICAgICBhZG1pbjoge1xuICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgXCJTZW5kIGN1c3RvbSBlbWFpbHMgd2hlbiB0aGUgZm9ybSBzdWJtaXRzLiBVc2UgY29tbWEgc2VwYXJhdGVkIGxpc3RzIHRvIHNlbmQgdGhlIHNhbWUgZW1haWwgdG8gbXVsdGlwbGUgcmVjaXBpZW50cy4gVG8gcmVmZXJlbmNlIGEgdmFsdWUgZnJvbSB0aGlzIGZvcm0sIHdyYXAgdGhhdCBmaWVsZCdzIG5hbWUgd2l0aCBkb3VibGUgY3VybHkgYnJhY2tldHMsIGkuZS4ge3tmaXJzdE5hbWV9fS5cIixcbiAgICAgICAgfSxcbiAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnZW1haWxUbycsXG4gICAgICAgICAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnXCJFbWFpbCBTZW5kZXJcIiA8c2VuZGVyQGVtYWlsLmNvbT4nLFxuICAgICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGxhYmVsOiAnRW1haWwgVG8nLFxuICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdjYycsXG4gICAgICAgICAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAnNTAlJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGxhYmVsOiAnQ0MnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdiY2MnLFxuICAgICAgICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogJzUwJScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0JDQycsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHR5cGU6ICdyb3cnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAncmVwbHlUbycsXG4gICAgICAgICAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnXCJSZXBseSBUb1wiIDxyZXBseS10b0BlbWFpbC5jb20+JyxcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAnNTAlJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGxhYmVsOiAnUmVwbHkgVG8nLFxuICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdlbWFpbEZyb20nLFxuICAgICAgICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogJ1wiRW1haWwgRnJvbVwiIDxlbWFpbC1mcm9tQGVtYWlsLmNvbT4nLFxuICAgICAgICAgICAgICAgICAgd2lkdGg6ICc1MCUnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdFbWFpbCBGcm9tJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgdHlwZTogJ3JvdycsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnc3ViamVjdCcsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IFwiWW91J3ZlIHJlY2VpdmVkIGEgbmV3IG1lc3NhZ2UuXCIsXG4gICAgICAgICAgICBsYWJlbDogJ1N1YmplY3QnLFxuICAgICAgICAgICAgbG9jYWxpemVkOiB0cnVlLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnbWVzc2FnZScsXG4gICAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0VudGVyIHRoZSBtZXNzYWdlIHRoYXQgc2hvdWxkIGJlIHNlbnQgaW4gdGhpcyBlbWFpbC4nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGxhYmVsOiAnTWVzc2FnZScsXG4gICAgICAgICAgICBsb2NhbGl6ZWQ6IHRydWUsXG4gICAgICAgICAgICB0eXBlOiAncmljaFRleHQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICB9LFxuICAgICAgLi4uKGZvcm1Db25maWc/LmZvcm1PdmVycmlkZXM/LmZpZWxkcyB8fCBbXSksXG4gICAgXSxcbiAgICBzbHVnOiBmb3JtQ29uZmlnPy5mb3JtT3ZlcnJpZGVzPy5zbHVnIHx8ICdmb3JtcycsXG4gIH1cblxuICByZXR1cm4gY29uZmlnXG59XG4iXSwibmFtZXMiOlsiZ2VuZXJhdGVGb3JtQ29sbGVjdGlvbiIsImZvcm1Db25maWciLCJyZWRpcmVjdCIsIm5hbWUiLCJhZG1pbiIsImNvbmRpdGlvbiIsIl8iLCJzaWJsaW5nRGF0YSIsImNvbmZpcm1hdGlvblR5cGUiLCJoaWRlR3V0dGVyIiwiZmllbGRzIiwibGFiZWwiLCJyZXF1aXJlZCIsInR5cGUiLCJyZWRpcmVjdFJlbGF0aW9uc2hpcHMiLCJ1bnNoaWZ0IiwibWF4RGVwdGgiLCJyZWxhdGlvblRvIiwibGF5b3V0IiwiZGVmYXVsdFZhbHVlIiwib3B0aW9ucyIsInZhbHVlIiwiY29uZmlnIiwiZm9ybU92ZXJyaWRlcyIsImFjY2VzcyIsInJlYWQiLCJlbmFibGVSaWNoVGV4dFJlbGF0aW9uc2hpcCIsInVzZUFzVGl0bGUiLCJibG9ja3MiLCJPYmplY3QiLCJlbnRyaWVzIiwibWFwIiwiZmllbGRLZXkiLCJmaWVsZENvbmZpZyIsImJsb2NrIiwidW5kZWZpbmVkIiwibWVyZ2UiLCJhcnJheU1lcmdlIiwic291cmNlQXJyYXkiLCJmaWx0ZXIiLCJCb29sZWFuIiwibG9jYWxpemVkIiwiZGVzY3JpcHRpb24iLCJwbGFjZWhvbGRlciIsIndpZHRoIiwic2x1ZyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFTYUE7OztlQUFBQTs7O2tFQVBLO3dCQUlLOzs7Ozs7QUFHaEIsTUFBTUEseUJBQXlCLENBQUNDO0lBQ3JDLE1BQU1DLFdBQWtCO1FBQ3RCQyxN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
@@ -0,0 +1,7 @@
1
+ import type { Config } from 'payload/config';
2
+ import type { PluginConfig } from './types';
3
+ export { fields } from './collections/Forms/fields';
4
+ export { getPaymentTotal } from './utilities/getPaymentTotal';
5
+ declare const FormBuilder: (incomingFormConfig: PluginConfig) => (config: Config) => Config;
6
+ export default FormBuilder;
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAK3C,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAE7D,QAAA,MAAM,WAAW,uBACM,YAAY,cACxB,MAAM,KAAG,MAwCjB,CAAA;AAEH,eAAe,WAAW,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ function _export(target, all) {
6
+ for(var name in all)Object.defineProperty(target, name, {
7
+ enumerable: true,
8
+ get: all[name]
9
+ });
10
+ }
11
+ _export(exports, {
12
+ fields: function() {
13
+ return _fields.fields;
14
+ },
15
+ getPaymentTotal: function() {
16
+ return _getPaymentTotal.getPaymentTotal;
17
+ },
18
+ default: function() {
19
+ return _default;
20
+ }
21
+ });
22
+ const _FormSubmissions = require("./collections/FormSubmissions");
23
+ const _Forms = require("./collections/Forms");
24
+ const _fields = require("./collections/Forms/fields");
25
+ const _getPaymentTotal = require("./utilities/getPaymentTotal");
26
+ const FormBuilder = (incomingFormConfig)=>(config)=>{
27
+ const formConfig = {
28
+ ...incomingFormConfig,
29
+ fields: {
30
+ checkbox: true,
31
+ country: true,
32
+ email: true,
33
+ message: true,
34
+ number: true,
35
+ payment: false,
36
+ select: true,
37
+ state: true,
38
+ text: true,
39
+ textarea: true,
40
+ ...incomingFormConfig.fields
41
+ }
42
+ };
43
+ return {
44
+ ...config,
45
+ // admin: {
46
+ // ...config.admin,
47
+ // webpack: (webpackConfig) => ({
48
+ // ...webpackConfig,
49
+ // resolve: {
50
+ // ...webpackConfig.resolve,
51
+ // alias: {
52
+ // ...webpackConfig.resolve.alias,
53
+ // [path.resolve(__dirname, 'collections/FormSubmissions/hooks/sendEmail.ts')]: path.resolve(__dirname, 'mocks/serverModule.js'),
54
+ // [path.resolve(__dirname, 'collections/FormSubmissions/hooks/createCharge.ts')]: path.resolve(__dirname, 'mocks/serverModule.js'),
55
+ // },
56
+ // },
57
+ // })
58
+ // },
59
+ collections: [
60
+ ...config?.collections || [],
61
+ (0, _Forms.generateFormCollection)(formConfig),
62
+ (0, _FormSubmissions.generateSubmissionCollection)(formConfig)
63
+ ]
64
+ };
65
+ };
66
+ const _default = FormBuilder;
67
+
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbmZpZyB9IGZyb20gJ3BheWxvYWQvY29uZmlnJ1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbkNvbmZpZyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGdlbmVyYXRlU3VibWlzc2lvbkNvbGxlY3Rpb24gfSBmcm9tICcuL2NvbGxlY3Rpb25zL0Zvcm1TdWJtaXNzaW9ucydcbmltcG9ydCB7IGdlbmVyYXRlRm9ybUNvbGxlY3Rpb24gfSBmcm9tICcuL2NvbGxlY3Rpb25zL0Zvcm1zJ1xuXG5leHBvcnQgeyBmaWVsZHMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL0Zvcm1zL2ZpZWxkcydcbmV4cG9ydCB7IGdldFBheW1lbnRUb3RhbCB9IGZyb20gJy4vdXRpbGl0aWVzL2dldFBheW1lbnRUb3RhbCdcblxuY29uc3QgRm9ybUJ1aWxkZXIgPVxuICAoaW5jb21pbmdGb3JtQ29uZmlnOiBQbHVnaW5Db25maWcpID0+XG4gIChjb25maWc6IENvbmZpZyk6IENvbmZpZyA9PiB7XG4gICAgY29uc3QgZm9ybUNvbmZpZzogUGx1Z2luQ29uZmlnID0ge1xuICAgICAgLi4uaW5jb21pbmdGb3JtQ29uZmlnLFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIGNoZWNrYm94OiB0cnVlLFxuICAgICAgICBjb3VudHJ5OiB0cnVlLFxuICAgICAgICBlbWFpbDogdHJ1ZSxcbiAgICAgICAgbWVzc2FnZTogdHJ1ZSxcbiAgICAgICAgbnVtYmVyOiB0cnVlLFxuICAgICAgICBwYXltZW50OiBmYWxzZSxcbiAgICAgICAgc2VsZWN0OiB0cnVlLFxuICAgICAgICBzdGF0ZTogdHJ1ZSxcbiAgICAgICAgdGV4dDogdHJ1ZSxcbiAgICAgICAgdGV4dGFyZWE6IHRydWUsXG4gICAgICAgIC4uLmluY29taW5nRm9ybUNvbmZpZy5maWVsZHMsXG4gICAgICB9LFxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICAvLyBhZG1pbjoge1xuICAgICAgLy8gICAuLi5jb25maWcuYWRtaW4sXG4gICAgICAvLyAgIHdlYnBhY2s6ICh3ZWJwYWNrQ29uZmlnKSA9PiAoe1xuICAgICAgLy8gICAgIC4uLndlYnBhY2tDb25maWcsXG4gICAgICAvLyAgICAgcmVzb2x2ZToge1xuICAgICAgLy8gICAgICAgLi4ud2VicGFja0NvbmZpZy5yZXNvbHZlLFxuICAgICAgLy8gICAgICAgYWxpYXM6IHtcbiAgICAgIC8vICAgICAgICAgLi4ud2VicGFja0NvbmZpZy5yZXNvbHZlLmFsaWFzLFxuICAgICAgLy8gICAgICAgICBbcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJ2NvbGxlY3Rpb25zL0Zvcm1TdWJtaXNzaW9ucy9ob29rcy9zZW5kRW1haWwudHMnKV06IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICdtb2Nrcy9zZXJ2ZXJNb2R1bGUuanMnKSxcbiAgICAgIC8vICAgICAgICAgW3BhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICdjb2xsZWN0aW9ucy9Gb3JtU3VibWlzc2lvbnMvaG9va3MvY3JlYXRlQ2hhcmdlLnRzJyldOiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnbW9ja3Mvc2VydmVyTW9kdWxlLmpzJyksXG4gICAgICAvLyAgICAgICB9LFxuICAgICAgLy8gICAgIH0sXG4gICAgICAvLyAgIH0pXG4gICAgICAvLyB9LFxuICAgICAgY29sbGVjdGlvbnM6IFtcbiAgICAgICAgLi4uKGNvbmZpZz8uY29sbGVjdGlvbnMgfHwgW10pLFxuICAgICAgICBnZW5lcmF0ZUZvcm1Db2xsZWN0aW9uKGZvcm1Db25maWcpLFxuICAgICAgICBnZW5lcmF0ZVN1Ym1pc3Npb25Db2xsZWN0aW9uKGZvcm1Db25maWcpLFxuICAgICAgXSxcbiAgICB9XG4gIH1cblxuZXhwb3J0IGRlZmF1bHQgRm9ybUJ1aWxkZXJcbiJdLCJuYW1lcyI6WyJmaWVsZHMiLCJnZXRQYXltZW50VG90YWwiLCJGb3JtQnVpbGRlciIsImluY29taW5nRm9ybUNvbmZpZyIsImNvbmZpZyIsImZvcm1Db25maWciLCJjaGVja2JveCIsImNvdW50cnkiLCJlbWFpbCIsIm1lc3NhZ2UiLCJudW1iZXIiLCJwYXltZW50Iiwic2VsZWN0Iiwic3RhdGUiLCJ0ZXh0IiwidGV4dGFyZWEiLCJjb2xsZWN0aW9ucyIsImdlbmVyYXRlRm9ybUNvbGxlY3Rpb24iLCJnZW5lcmF0ZVN1Ym1pc3Npb25Db2xsZWN0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQU9TQSxNQUFNO2VBQU5BLGNBQU07O0lBQ05DLGVBQWU7ZUFBZkEsZ0NBQWU7O0lBOEN4QixPQUEwQjtlQUExQjs7O2lDQWxENkM7dUJBQ047d0JBRWhCO2lDQUNTO0FBRWhDLE1BQU1DLGNBQ0osQ0FBQ0MscUJBQ0QsQ0FBQ0M7UUFDQyxNQUFNQyxhQUEyQjtZQUMvQixHQUFHRixrQkFBa0I7WUFDckJILFFBQVE7Z0JBQ05NLFVBQVU7Z0JBQ1ZDLFNBQVM7Z0JBQ1RDLE9BQU87Z0JBQ1BDLFNBQVM7Z0JBQ1RDLFFBQVE7Z0JBQ1JDLFNBQVM7Z0JBQ1RDLFFBQVE7Z0JBQ1JDLE9BQU87Z0JBQ1BDLE1BQU07Z0JBQ05DLFVBQVU7Z0JBQ1YsR0FBR1osbUJBQW1CSCxNQUFNO1lBQzlCO1FBQ0Y7UUFFQSxPQUFPO1lBQ0wsR0FBR0ksTUFBTTtZQUNULFdBQVc7WUFDWCxxQkFBcUI7WUFDckIsbUNBQW1DO1lBQ25DLHdCQUF3QjtZQUN4QixpQkFBaUI7WUFDakIsa0NBQWtDO1lBQ2xDLGlCQUFpQjtZQUNqQiwwQ0FBMEM7WUFDMUMseUlBQXlJO1lBQ3pJLDRJQUE0STtZQUM1SSxXQUFXO1lBQ1gsU0FBUztZQUNULE9BQU87WUFDUCxLQUFLO1lBQ0xZLGFBQWE7bUJBQ1BaLFFBQVFZLGVBQWUsRUFBRTtnQkFDN0JDLElBQUFBLDZCQUFzQixFQUFDWjtnQkFDdkJhLElBQUFBLDZDQUE0QixFQUFDYjthQUM5QjtRQUNIO0lBQ0Y7TUFFRixXQUFlSCJ9
@@ -0,0 +1,175 @@
1
+ import type { Block, CollectionConfig, Field } from 'payload/types';
2
+ export interface BlockConfig {
3
+ block: Block;
4
+ validate?: (value: unknown) => boolean | string;
5
+ }
6
+ export declare function isValidBlockConfig(blockConfig: BlockConfig | string): blockConfig is BlockConfig;
7
+ export interface FieldValues {
8
+ [key: string]: boolean | null | number | string | undefined;
9
+ }
10
+ export type PaymentFieldConfig = Partial<Field> & {
11
+ paymentProcessor: Partial<SelectField>;
12
+ };
13
+ export type FieldConfig = Partial<Field> | PaymentFieldConfig;
14
+ export interface FieldsConfig {
15
+ [key: string]: FieldConfig | boolean | undefined;
16
+ checkbox?: FieldConfig | boolean;
17
+ country?: FieldConfig | boolean;
18
+ email?: FieldConfig | boolean;
19
+ message?: FieldConfig | boolean;
20
+ number?: FieldConfig | boolean;
21
+ payment?: FieldConfig | boolean;
22
+ select?: FieldConfig | boolean;
23
+ state?: FieldConfig | boolean;
24
+ text?: FieldConfig | boolean;
25
+ textarea?: FieldConfig | boolean;
26
+ }
27
+ export type BeforeEmail = (emails: FormattedEmail[]) => FormattedEmail[] | Promise<FormattedEmail[]>;
28
+ export type HandlePayment = (data: any) => void;
29
+ export interface PluginConfig {
30
+ beforeEmail?: BeforeEmail;
31
+ fields?: FieldsConfig;
32
+ formOverrides?: Partial<CollectionConfig>;
33
+ formSubmissionOverrides?: Partial<CollectionConfig>;
34
+ handlePayment?: HandlePayment;
35
+ redirectRelationships?: string[];
36
+ }
37
+ export interface TextField {
38
+ blockName?: string;
39
+ blockType: 'text';
40
+ defaultValue?: string;
41
+ label?: string;
42
+ name: string;
43
+ required?: boolean;
44
+ width?: number;
45
+ }
46
+ export interface TextAreaField {
47
+ blockName?: string;
48
+ blockType: 'textarea';
49
+ defaultValue?: string;
50
+ label?: string;
51
+ name: string;
52
+ required?: boolean;
53
+ width?: number;
54
+ }
55
+ export interface SelectFieldOption {
56
+ label: string;
57
+ value: string;
58
+ }
59
+ export interface SelectField {
60
+ blockName?: string;
61
+ blockType: 'select';
62
+ defaultValue?: string;
63
+ label?: string;
64
+ name: string;
65
+ options: SelectFieldOption[];
66
+ required?: boolean;
67
+ width?: number;
68
+ }
69
+ export interface PriceCondition {
70
+ condition: 'equals' | 'hasValue' | 'notEquals';
71
+ fieldToUse: string;
72
+ operator: 'add' | 'divide' | 'multiply' | 'subtract';
73
+ valueForCondition: string;
74
+ valueForOperator: number | string;
75
+ valueType: 'static' | 'valueOfField';
76
+ }
77
+ export interface PaymentField {
78
+ basePrice: number;
79
+ blockName?: string;
80
+ blockType: 'payment';
81
+ defaultValue?: string;
82
+ label?: string;
83
+ name: string;
84
+ paymentProcessor: string;
85
+ priceConditions: PriceCondition[];
86
+ required?: boolean;
87
+ width?: number;
88
+ }
89
+ export interface EmailField {
90
+ blockName?: string;
91
+ blockType: 'email';
92
+ defaultValue?: string;
93
+ label?: string;
94
+ name: string;
95
+ required?: boolean;
96
+ width?: number;
97
+ }
98
+ export interface StateField {
99
+ blockName?: string;
100
+ blockType: 'state';
101
+ defaultValue?: string;
102
+ label?: string;
103
+ name: string;
104
+ required?: boolean;
105
+ width?: number;
106
+ }
107
+ export interface CountryField {
108
+ blockName?: string;
109
+ blockType: 'country';
110
+ defaultValue?: string;
111
+ label?: string;
112
+ name: string;
113
+ required?: boolean;
114
+ width?: number;
115
+ }
116
+ export interface CheckboxField {
117
+ blockName?: string;
118
+ blockType: 'checkbox';
119
+ defaultValue?: boolean;
120
+ label?: string;
121
+ name: string;
122
+ required?: boolean;
123
+ width?: number;
124
+ }
125
+ export interface MessageField {
126
+ blockName?: string;
127
+ blockType: 'message';
128
+ message: unknown;
129
+ }
130
+ export type FormFieldBlock = CheckboxField | CountryField | EmailField | MessageField | PaymentField | SelectField | StateField | TextAreaField | TextField;
131
+ export interface Email {
132
+ bcc?: string;
133
+ cc?: string;
134
+ emailFrom: string;
135
+ emailTo: string;
136
+ message?: any;
137
+ replyTo?: string;
138
+ subject: string;
139
+ }
140
+ export interface FormattedEmail {
141
+ bcc?: string;
142
+ cc?: string;
143
+ from: string;
144
+ html: string;
145
+ replyTo: string;
146
+ subject: string;
147
+ to: string;
148
+ }
149
+ export interface Redirect {
150
+ reference?: {
151
+ relationTo: string;
152
+ value: string | unknown;
153
+ };
154
+ type: 'custom' | 'reference';
155
+ url: string;
156
+ }
157
+ export interface Form {
158
+ confirmationMessage?: any;
159
+ confirmationType: 'message' | 'redirect';
160
+ emails: Email[];
161
+ fields: FormFieldBlock[];
162
+ id: string;
163
+ redirect?: Redirect;
164
+ submitButtonLabel?: string;
165
+ title: string;
166
+ }
167
+ export interface SubmissionValue {
168
+ field: string;
169
+ value: unknown;
170
+ }
171
+ export interface FormSubmission {
172
+ form: Form | string;
173
+ submissionData: SubmissionValue[];
174
+ }
175
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "isValidBlockConfig", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return isValidBlockConfig;
9
+ }
10
+ });
11
+ function isValidBlockConfig(blockConfig) {
12
+ return typeof blockConfig !== 'string' && typeof blockConfig?.block?.slug === 'string' && Array.isArray(blockConfig?.block?.fields);
13
+ }
14
+
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJsb2NrLCBDb2xsZWN0aW9uQ29uZmlnLCBGaWVsZCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgQmxvY2tDb25maWcge1xuICBibG9jazogQmxvY2tcbiAgdmFsaWRhdGU/OiAodmFsdWU6IHVua25vd24pID0+IGJvb2xlYW4gfCBzdHJpbmdcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVmFsaWRCbG9ja0NvbmZpZyhibG9ja0NvbmZpZzogQmxvY2tDb25maWcgfCBzdHJpbmcpOiBibG9ja0NvbmZpZyBpcyBCbG9ja0NvbmZpZyB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIGJsb2NrQ29uZmlnICE9PSAnc3RyaW5nJyAmJlxuICAgIHR5cGVvZiBibG9ja0NvbmZpZz8uYmxvY2s/LnNsdWcgPT09ICdzdHJpbmcnICYmXG4gICAgQXJyYXkuaXNBcnJheShibG9ja0NvbmZpZz8uYmxvY2s/LmZpZWxkcylcbiAgKVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpZWxkVmFsdWVzIHtcbiAgW2tleTogc3RyaW5nXTogYm9vbGVhbiB8IG51bGwgfCBudW1iZXIgfCBzdHJpbmcgfCB1bmRlZmluZWRcbn1cblxuZXhwb3J0IHR5cGUgUGF5bWVudEZpZWxkQ29uZmlnID0gUGFydGlhbDxGaWVsZD4gJiB7XG4gIHBheW1lbnRQcm9jZXNzb3I6IFBhcnRpYWw8U2VsZWN0RmllbGQ+XG59XG5cbmV4cG9ydCB0eXBlIEZpZWxkQ29uZmlnID0gUGFydGlhbDxGaWVsZD4gfCBQYXltZW50RmllbGRDb25maWdcblxuZXhwb3J0IGludGVyZmFjZSBGaWVsZHNDb25maWcge1xuICBba2V5OiBzdHJpbmddOiBGaWVsZENvbmZpZyB8IGJvb2xlYW4gfCB1bmRlZmluZWRcbiAgY2hlY2tib3g/OiBGaWVsZENvbmZpZyB8IGJvb2xlYW5cbiAgY291bnRyeT86IEZpZWxkQ29uZmlnIHwgYm9vbGVhblxuICBlbWFpbD86IEZpZWxkQ29uZmlnIHwgYm9vbGVhblxuICBtZXNzYWdlPzogRmllbGRDb25maWcgfCBib29sZWFuXG4gIG51bWJlcj86IEZpZWxkQ29uZmlnIHwgYm9vbGVhblxuICBwYXltZW50PzogRmllbGRDb25maWcgfCBib29sZWFuXG4gIHNlbGVjdD86IEZpZWxkQ29uZmlnIHwgYm9vbGVhblxuICBzdGF0ZT86IEZpZWxkQ29uZmlnIHwgYm9vbGVhblxuICB0ZXh0PzogRmllbGRDb25maWcgfCBib29sZWFuXG4gIHRleHRhcmVhPzogRmllbGRDb25maWcgfCBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIEJlZm9yZUVtYWlsID0gKGVtYWlsczogRm9ybWF0dGVkRW1haWxbXSkgPT4gRm9ybWF0dGVkRW1haWxbXSB8IFByb21pc2U8Rm9ybWF0dGVkRW1haWxbXT5cbmV4cG9ydCB0eXBlIEhhbmRsZVBheW1lbnQgPSAoZGF0YTogYW55KSA9PiB2b2lkXG5cbmV4cG9ydCBpbnRlcmZhY2UgUGx1Z2luQ29uZmlnIHtcbiAgYmVmb3JlRW1haWw/OiBCZWZvcmVFbWFpbFxuICBmaWVsZHM/OiBGaWVsZHNDb25maWdcbiAgZm9ybU92ZXJyaWRlcz86IFBhcnRpYWw8Q29sbGVjdGlvbkNvbmZpZz5cbiAgZm9ybVN1Ym1pc3Npb25PdmVycmlkZXM/OiBQYXJ0aWFsPENvbGxlY3Rpb25Db25maWc+XG4gIGhhbmRsZVBheW1lbnQ/OiBIYW5kbGVQYXltZW50XG4gIHJlZGlyZWN0UmVsYXRpb25zaGlwcz86IHN0cmluZ1tdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dEZpZWxkIHtcbiAgYmxvY2tOYW1lPzogc3RyaW5nXG4gIGJsb2NrVHlwZTogJ3RleHQnXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZ1xuICBsYWJlbD86IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgcmVxdWlyZWQ/OiBib29sZWFuXG4gIHdpZHRoPzogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dEFyZWFGaWVsZCB7XG4gIGJsb2NrTmFtZT86IHN0cmluZ1xuICBibG9ja1R5cGU6ICd0ZXh0YXJlYSdcbiAgZGVmYXVsdFZhbHVlPzogc3RyaW5nXG4gIGxhYmVsPzogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICByZXF1aXJlZD86IGJvb2xlYW5cbiAgd2lkdGg/OiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RGaWVsZE9wdGlvbiB7XG4gIGxhYmVsOiBzdHJpbmdcbiAgdmFsdWU6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdEZpZWxkIHtcbiAgYmxvY2tOYW1lPzogc3RyaW5nXG4gIGJsb2NrVHlwZTogJ3NlbGVjdCdcbiAgZGVmYXVsdFZhbHVlPzogc3RyaW5nXG4gIGxhYmVsPzogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBvcHRpb25zOiBTZWxlY3RGaWVsZE9wdGlvbltdXG4gIHJlcXVpcmVkPzogYm9vbGVhblxuICB3aWR0aD86IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByaWNlQ29uZGl0aW9uIHtcbiAgY29uZGl0aW9uOiAnZXF1YWxzJyB8ICdoYXNWYWx1ZScgfCAnbm90RXF1YWxzJ1xuICBmaWVsZFRvVXNlOiBzdHJpbmdcbiAgb3BlcmF0b3I6ICdhZGQnIHwgJ2RpdmlkZScgfCAnbXVsdGlwbHknIHwgJ3N1YnRyYWN0J1xuICB2YWx1ZUZvckNvbmRpdGlvbjogc3RyaW5nXG4gIHZhbHVlRm9yT3BlcmF0b3I6IG51bWJlciB8IHN0cmluZyAvLyBUT0RPOiBtYWtlIHRoaXMgYSBudW1iZXIsIHNlZSAuL2NvbGxlY3Rpb25zL0Zvcm1zL0R5bmFtaWNQcmljZVNlbGVjdG9yLnRzeFxuICB2YWx1ZVR5cGU6ICdzdGF0aWMnIHwgJ3ZhbHVlT2ZGaWVsZCdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYXltZW50RmllbGQge1xuICBiYXNlUHJpY2U6IG51bWJlclxuICBibG9ja05hbWU/OiBzdHJpbmdcbiAgYmxvY2tUeXBlOiAncGF5bWVudCdcbiAgZGVmYXVsdFZhbHVlPzogc3RyaW5nXG4gIGxhYmVsPzogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBwYXltZW50UHJvY2Vzc29yOiBzdHJpbmdcbiAgcHJpY2VDb25kaXRpb25zOiBQcmljZUNvbmRpdGlvbltdXG4gIHJlcXVpcmVkPzogYm9vbGVhblxuICB3aWR0aD86IG51bWJlclxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVtYWlsRmllbGQge1xuICBibG9ja05hbWU/OiBzdHJpbmdcbiAgYmxvY2tUeXBlOiAnZW1haWwnXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZ1xuICBsYWJlbD86IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgcmVxdWlyZWQ/OiBib29sZWFuXG4gIHdpZHRoPzogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RhdGVGaWVsZCB7XG4gIGJsb2NrTmFtZT86IHN0cmluZ1xuICBibG9ja1R5cGU6ICdzdGF0ZSdcbiAgZGVmYXVsdFZhbHVlPzogc3RyaW5nXG4gIGxhYmVsPzogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICByZXF1aXJlZD86IGJvb2xlYW5cbiAgd2lkdGg/OiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb3VudHJ5RmllbGQge1xuICBibG9ja05hbWU/OiBzdHJpbmdcbiAgYmxvY2tUeXBlOiAnY291bnRyeSdcbiAgZGVmYXVsdFZhbHVlPzogc3RyaW5nXG4gIGxhYmVsPzogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICByZXF1aXJlZD86IGJvb2xlYW5cbiAgd2lkdGg/OiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGVja2JveEZpZWxkIHtcbiAgYmxvY2tOYW1lPzogc3RyaW5nXG4gIGJsb2NrVHlwZTogJ2NoZWNrYm94J1xuICBkZWZhdWx0VmFsdWU/OiBib29sZWFuXG4gIGxhYmVsPzogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICByZXF1aXJlZD86IGJvb2xlYW5cbiAgd2lkdGg/OiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlRmllbGQge1xuICBibG9ja05hbWU/OiBzdHJpbmdcbiAgYmxvY2tUeXBlOiAnbWVzc2FnZSdcbiAgbWVzc2FnZTogdW5rbm93blxufVxuXG5leHBvcnQgdHlwZSBGb3JtRmllbGRCbG9jayA9XG4gIHwgQ2hlY2tib3hGaWVsZFxuICB8IENvdW50cnlGaWVsZFxuICB8IEVtYWlsRmllbGRcbiAgfCBNZXNzYWdlRmllbGRcbiAgfCBQYXltZW50RmllbGRcbiAgfCBTZWxlY3RGaWVsZFxuICB8IFN0YXRlRmllbGRcbiAgfCBUZXh0QXJlYUZpZWxkXG4gIHwgVGV4dEZpZWxkXG5cbmV4cG9ydCBpbnRlcmZhY2UgRW1haWwge1xuICBiY2M/OiBzdHJpbmdcbiAgY2M/OiBzdHJpbmdcbiAgZW1haWxGcm9tOiBzdHJpbmdcbiAgZW1haWxUbzogc3RyaW5nXG4gIG1lc3NhZ2U/OiBhbnkgLy8gVE9ETzogY29uZmlndXJlIHJpY2ggdGV4dCB0eXBlXG4gIHJlcGx5VG8/OiBzdHJpbmdcbiAgc3ViamVjdDogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRm9ybWF0dGVkRW1haWwge1xuICBiY2M/OiBzdHJpbmdcbiAgY2M/OiBzdHJpbmdcbiAgZnJvbTogc3RyaW5nXG4gIGh0bWw6IHN0cmluZ1xuICByZXBseVRvOiBzdHJpbmdcbiAgc3ViamVjdDogc3RyaW5nXG4gIHRvOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZWRpcmVjdCB7XG4gIHJlZmVyZW5jZT86IHtcbiAgICByZWxhdGlvblRvOiBzdHJpbmdcbiAgICB2YWx1ZTogc3RyaW5nIHwgdW5rbm93blxuICB9XG4gIHR5cGU6ICdjdXN0b20nIHwgJ3JlZmVyZW5jZSdcbiAgdXJsOiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtIHtcbiAgY29uZmlybWF0aW9uTWVzc2FnZT86IGFueSAvLyBUT0RPOiBjb25maWd1cmUgcmljaCB0ZXh0IHR5cGVcbiAgY29uZmlybWF0aW9uVHlwZTogJ21lc3NhZ2UnIHwgJ3JlZGlyZWN0J1xuICBlbWFpbHM6IEVtYWlsW11cbiAgZmllbGRzOiBGb3JtRmllbGRCbG9ja1tdXG4gIGlkOiBzdHJpbmdcbiAgcmVkaXJlY3Q/OiBSZWRpcmVjdFxuICBzdWJtaXRCdXR0b25MYWJlbD86IHN0cmluZ1xuICB0aXRsZTogc3RyaW5nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3VibWlzc2lvblZhbHVlIHtcbiAgZmllbGQ6IHN0cmluZ1xuICB2YWx1ZTogdW5rbm93blxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZvcm1TdWJtaXNzaW9uIHtcbiAgZm9ybTogRm9ybSB8IHN0cmluZ1xuICBzdWJtaXNzaW9uRGF0YTogU3VibWlzc2lvblZhbHVlW11cbn1cbiJdLCJuYW1lcyI6WyJpc1ZhbGlkQmxvY2tDb25maWciLCJibG9ja0NvbmZpZyIsImJsb2NrIiwic2x1ZyIsIkFycmF5IiwiaXNBcnJheSIsImZpZWxkcyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFPZ0JBOzs7ZUFBQUE7OztBQUFULFNBQVNBLG1CQUFtQkMsV0FBaUM7SUFDbEUsT0FDRSxPQUFPQSxnQkFBZ0IsWUFDdkIsT0FBT0EsYUFBYUMsT0FBT0MsU0FBUyxZQUNwQ0MsTUFBTUMsT0FBTyxDQUFDSixhQUFhQyxPQUFPSTtBQUV0QyJ9
@@ -0,0 +1,5 @@
1
+ import type { FieldValues, PaymentField } from '../types';
2
+ export declare const getPaymentTotal: (args: Partial<PaymentField> & {
3
+ fieldValues: FieldValues;
4
+ }) => number;
5
+ //# sourceMappingURL=getPaymentTotal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPaymentTotal.d.ts","sourceRoot":"","sources":["../../src/utilities/getPaymentTotal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAkB,MAAM,UAAU,CAAA;AAEzE,eAAO,MAAM,eAAe,SACpB,QAAQ,YAAY,CAAC,GAAG;IAC5B,WAAW,EAAE,WAAW,CAAA;CACzB,KACA,MA8CF,CAAA"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", {
3
+ value: true
4
+ });
5
+ Object.defineProperty(exports, "getPaymentTotal", {
6
+ enumerable: true,
7
+ get: function() {
8
+ return getPaymentTotal;
9
+ }
10
+ });
11
+ const getPaymentTotal = (args)=>{
12
+ const { basePrice = 0, fieldValues, priceConditions } = args;
13
+ let total = basePrice;
14
+ if (Array.isArray(priceConditions) && priceConditions.length > 0) {
15
+ priceConditions.forEach((priceCondition)=>{
16
+ const { condition, fieldToUse, operator, valueForCondition, valueForOperator, valueType } = priceCondition;
17
+ const valueOfField = fieldValues?.[fieldToUse];
18
+ if (valueOfField) {
19
+ if (condition === 'hasValue' || condition === 'equals' && valueOfField === valueForCondition || condition === 'notEquals' && valueOfField !== valueForCondition) {
20
+ const valueToUse = Number(valueType === 'valueOfField' ? valueOfField : valueForOperator);
21
+ switch(operator){
22
+ case 'add':
23
+ {
24
+ total += valueToUse;
25
+ break;
26
+ }
27
+ case 'subtract':
28
+ {
29
+ total -= valueToUse;
30
+ break;
31
+ }
32
+ case 'multiply':
33
+ {
34
+ total *= valueToUse;
35
+ break;
36
+ }
37
+ case 'divide':
38
+ {
39
+ total /= valueToUse;
40
+ break;
41
+ }
42
+ default:
43
+ {
44
+ break;
45
+ }
46
+ }
47
+ }
48
+ }
49
+ });
50
+ }
51
+ return total;
52
+ };
53
+
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ2V0UGF5bWVudFRvdGFsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmllbGRWYWx1ZXMsIFBheW1lbnRGaWVsZCwgUHJpY2VDb25kaXRpb24gfSBmcm9tICcuLi90eXBlcydcblxuZXhwb3J0IGNvbnN0IGdldFBheW1lbnRUb3RhbCA9IChcbiAgYXJnczogUGFydGlhbDxQYXltZW50RmllbGQ+ICYge1xuICAgIGZpZWxkVmFsdWVzOiBGaWVsZFZhbHVlc1xuICB9LFxuKTogbnVtYmVyID0+IHtcbiAgY29uc3QgeyBiYXNlUHJpY2UgPSAwLCBmaWVsZFZhbHVlcywgcHJpY2VDb25kaXRpb25zIH0gPSBhcmdzXG5cbiAgbGV0IHRvdGFsID0gYmFzZVByaWNlXG5cbiAgaWYgKEFycmF5LmlzQXJyYXkocHJpY2VDb25kaXRpb25zKSAmJiBwcmljZUNvbmRpdGlvbnMubGVuZ3RoID4gMCkge1xuICAgIHByaWNlQ29uZGl0aW9ucy5mb3JFYWNoKChwcmljZUNvbmRpdGlvbjogUHJpY2VDb25kaXRpb24pID0+IHtcbiAgICAgIGNvbnN0IHsgY29uZGl0aW9uLCBmaWVsZFRvVXNlLCBvcGVyYXRvciwgdmFsdWVGb3JDb25kaXRpb24sIHZhbHVlRm9yT3BlcmF0b3IsIHZhbHVlVHlwZSB9ID1cbiAgICAgICAgcHJpY2VDb25kaXRpb25cblxuICAgICAgY29uc3QgdmFsdWVPZkZpZWxkID0gZmllbGRWYWx1ZXM/LltmaWVsZFRvVXNlXVxuXG4gICAgICBpZiAodmFsdWVPZkZpZWxkKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBjb25kaXRpb24gPT09ICdoYXNWYWx1ZScgfHxcbiAgICAgICAgICAoY29uZGl0aW9uID09PSAnZXF1YWxzJyAmJiB2YWx1ZU9mRmllbGQgPT09IHZhbHVlRm9yQ29uZGl0aW9uKSB8fFxuICAgICAgICAgIChjb25kaXRpb24gPT09ICdub3RFcXVhbHMnICYmIHZhbHVlT2ZGaWVsZCAhPT0gdmFsdWVGb3JDb25kaXRpb24pXG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnN0IHZhbHVlVG9Vc2UgPSBOdW1iZXIodmFsdWVUeXBlID09PSAndmFsdWVPZkZpZWxkJyA/IHZhbHVlT2ZGaWVsZCA6IHZhbHVlRm9yT3BlcmF0b3IpXG4gICAgICAgICAgc3dpdGNoIChvcGVyYXRvcikge1xuICAgICAgICAgICAgY2FzZSAnYWRkJzoge1xuICAgICAgICAgICAgICB0b3RhbCArPSB2YWx1ZVRvVXNlXG4gICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdzdWJ0cmFjdCc6IHtcbiAgICAgICAgICAgICAgdG90YWwgLT0gdmFsdWVUb1VzZVxuICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnbXVsdGlwbHknOiB7XG4gICAgICAgICAgICAgIHRvdGFsICo9IHZhbHVlVG9Vc2VcbiAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ2RpdmlkZSc6IHtcbiAgICAgICAgICAgICAgdG90YWwgLz0gdmFsdWVUb1VzZVxuICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gdG90YWxcbn1cbiJdLCJuYW1lcyI6WyJnZXRQYXltZW50VG90YWwiLCJhcmdzIiwiYmFzZVByaWNlIiwiZmllbGRWYWx1ZXMiLCJwcmljZUNvbmRpdGlvbnMiLCJ0b3RhbCIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsImZvckVhY2giLCJwcmljZUNvbmRpdGlvbiIsImNvbmRpdGlvbiIsImZpZWxkVG9Vc2UiLCJvcGVyYXRvciIsInZhbHVlRm9yQ29uZGl0aW9uIiwidmFsdWVGb3JPcGVyYXRvciIsInZhbHVlVHlwZSIsInZhbHVlT2ZGaWVsZCIsInZhbHVlVG9Vc2UiLCJOdW1iZXIiXSwibWFwcGluZ3MiOiI7Ozs7K0JBRWFBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLGtCQUFrQixDQUM3QkM7SUFJQSxNQUFNLEVBQUVDLFlBQVksQ0FBQyxFQUFFQyxXQUFXLEVBQUVDLGVBQWUsRUFBRSxHQUFHSDtJQUV4RCxJQUFJSSxRQUFRSDtJQUVaLElBQUlJLE1BQU1DLE9BQU8sQ0FBQ0gsb0JBQW9CQSxnQkFBZ0JJLE1BQU0sR0FBRyxHQUFHO1FBQ2hFSixnQkFBZ0JLLE9BQU8sQ0FBQyxDQUFDQztZQUN2QixNQUFNLEVBQUVDLFNBQVMsRUFBRUMsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLGlCQUFpQixFQUFFQyxnQkFBZ0IsRUFBRUMsU0FBUyxFQUFFLEdBQ3ZGTjtZQUVGLE1BQU1PLGVBQWVkLGFBQWEsQ0FBQ1MsV0FBVztZQUU5QyxJQUFJSyxjQUFjO2dCQUNoQixJQUNFTixjQUFjLGNBQ2JBLGNBQWMsWUFBWU0saUJBQWlCSCxxQkFDM0NILGNBQWMsZUFBZU0saUJBQWlCSCxtQkFDL0M7b0JBQ0EsTUFBTUksYUFBYUMsT0FBT0gsY0FBYyxpQkFBaUJDLGVBQWVGO29CQUN4RSxPQUFRRjt3QkFDTixLQUFLOzRCQUFPO2dDQUNWUixTQUFTYTtnQ0FDVDs0QkFDRjt3QkFDQSxLQUFLOzRCQUFZO2dDQUNmYixTQUFTYTtnQ0FDVDs0QkFDRjt3QkFDQSxLQUFLOzRCQUFZO2dDQUNmYixTQUFTYTtnQ0FDVDs0QkFDRjt3QkFDQSxLQUFLOzRCQUFVO2dDQUNiYixTQUFTYTtnQ0FDVDs0QkFDRjt3QkFDQTs0QkFBUztnQ0FDUDs0QkFDRjtvQkFDRjtnQkFDRjtZQUNGO1FBQ0Y7SUFDRjtJQUVBLE9BQU9iO0FBQ1QifQ==
@@ -0,0 +1,8 @@
1
+ interface EmailVariable {
2
+ field: string;
3
+ value: string;
4
+ }
5
+ type EmailVariables = EmailVariable[];
6
+ export declare const replaceDoubleCurlys: (str: string, variables?: EmailVariables) => string;
7
+ export {};
8
+ //# sourceMappingURL=replaceDoubleCurlys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replaceDoubleCurlys.d.ts","sourceRoot":"","sources":["../../src/utilities/replaceDoubleCurlys.ts"],"names":[],"mappings":"AAAA,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd;AAED,KAAK,cAAc,GAAG,aAAa,EAAE,CAAA;AAErC,eAAO,MAAM,mBAAmB,QAAS,MAAM,iCAA+B,MAU7E,CAAA"}