@payloadcms/plugin-form-builder 1.2.0 → 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 +15 -25
  4. package/dist/collections/FormSubmissions/hooks/sendEmail.js.map +1 -0
  5. package/dist/collections/FormSubmissions/index.js +36 -49
  6. package/dist/collections/FormSubmissions/index.js.map +1 -0
  7. package/dist/collections/Forms/DynamicFieldSelector.js +11 -58
  8. package/dist/collections/Forms/DynamicFieldSelector.js.map +1 -0
  9. package/dist/collections/Forms/DynamicPriceSelector.js +13 -61
  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 +24 -11
  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,23 +1,10 @@
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)=>{
1
+ import merge from 'deepmerge';
2
+ import { fields } from './fields.js';
3
+ // all settings can be overridden by the config
4
+ export const generateFormCollection = (formConfig)=>{
19
5
  const redirect = {
20
6
  name: 'redirect',
7
+ type: 'group',
21
8
  admin: {
22
9
  condition: (_, siblingData)=>siblingData?.confirmationType === 'redirect',
23
10
  hideGutter: true
@@ -25,27 +12,27 @@ const generateFormCollection = (formConfig)=>{
25
12
  fields: [
26
13
  {
27
14
  name: 'url',
15
+ type: 'text',
28
16
  label: 'URL to redirect to',
29
- required: true,
30
- type: 'text'
17
+ required: true
31
18
  }
32
- ],
33
- type: 'group'
19
+ ]
34
20
  };
35
21
  if (formConfig.redirectRelationships) {
36
22
  redirect.fields.unshift({
37
23
  name: 'reference',
24
+ type: 'relationship',
38
25
  admin: {
39
26
  condition: (_, siblingData)=>siblingData?.type === 'reference'
40
27
  },
41
28
  label: 'Document to link to',
42
29
  maxDepth: 2,
43
30
  relationTo: formConfig.redirectRelationships,
44
- required: true,
45
- type: 'relationship'
31
+ required: true
46
32
  });
47
33
  redirect.fields.unshift({
48
34
  name: 'type',
35
+ type: 'radio',
49
36
  admin: {
50
37
  layout: 'horizontal'
51
38
  },
@@ -59,8 +46,7 @@ const generateFormCollection = (formConfig)=>{
59
46
  label: 'Custom URL',
60
47
  value: 'custom'
61
48
  }
62
- ],
63
- type: 'radio'
49
+ ]
64
50
  });
65
51
  if (redirect.fields[2].type !== 'row') redirect.fields[2].label = 'Custom URL';
66
52
  redirect.fields[2].admin = {
@@ -69,6 +55,7 @@ const generateFormCollection = (formConfig)=>{
69
55
  }
70
56
  const config = {
71
57
  ...formConfig?.formOverrides || {},
58
+ slug: formConfig?.formOverrides?.slug || 'forms',
72
59
  access: {
73
60
  read: ()=>true,
74
61
  ...formConfig?.formOverrides?.access || {}
@@ -81,20 +68,21 @@ const generateFormCollection = (formConfig)=>{
81
68
  fields: [
82
69
  {
83
70
  name: 'title',
84
- required: true,
85
- type: 'text'
71
+ type: 'text',
72
+ required: true
86
73
  },
87
74
  {
88
75
  name: 'fields',
76
+ type: 'blocks',
89
77
  blocks: Object.entries(formConfig?.fields || {}).map(([fieldKey, fieldConfig])=>{
90
78
  // let the config enable/disable fields with either boolean values or objects
91
79
  if (fieldConfig !== false) {
92
- const block = _fields.fields[fieldKey];
80
+ const block = fields[fieldKey];
93
81
  if (block === undefined && typeof fieldConfig === 'object') {
94
82
  return fieldConfig;
95
83
  }
96
84
  if (typeof block === 'object' && typeof fieldConfig === 'object') {
97
- return (0, _deepmerge.default)(block, fieldConfig, {
85
+ return merge(block, fieldConfig, {
98
86
  arrayMerge: (_, sourceArray)=>sourceArray
99
87
  });
100
88
  }
@@ -104,16 +92,16 @@ const generateFormCollection = (formConfig)=>{
104
92
  return block;
105
93
  }
106
94
  return null;
107
- }).filter(Boolean),
108
- type: 'blocks'
95
+ }).filter(Boolean)
109
96
  },
110
97
  {
111
98
  name: 'submitButtonLabel',
112
- localized: true,
113
- type: 'text'
99
+ type: 'text',
100
+ localized: true
114
101
  },
115
102
  {
116
103
  name: 'confirmationType',
104
+ type: 'radio',
117
105
  admin: {
118
106
  description: 'Choose whether to display an on-page message or redirect to a different page after they submit the form.',
119
107
  layout: 'horizontal'
@@ -128,103 +116,101 @@ const generateFormCollection = (formConfig)=>{
128
116
  label: 'Redirect',
129
117
  value: 'redirect'
130
118
  }
131
- ],
132
- type: 'radio'
119
+ ]
133
120
  },
134
121
  {
135
122
  name: 'confirmationMessage',
123
+ type: 'richText',
136
124
  admin: {
137
125
  condition: (_, siblingData)=>siblingData?.confirmationType === 'message'
138
126
  },
139
127
  localized: true,
140
- required: true,
141
- type: 'richText'
128
+ required: true
142
129
  },
143
130
  redirect,
144
131
  {
145
132
  name: 'emails',
133
+ type: 'array',
146
134
  admin: {
147
135
  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
136
  },
149
137
  fields: [
150
138
  {
139
+ type: 'row',
151
140
  fields: [
152
141
  {
153
142
  name: 'emailTo',
143
+ type: 'text',
154
144
  admin: {
155
145
  placeholder: '"Email Sender" <sender@email.com>',
156
146
  width: '100%'
157
147
  },
158
- label: 'Email To',
159
- type: 'text'
148
+ label: 'Email To'
160
149
  },
161
150
  {
162
151
  name: 'cc',
152
+ type: 'text',
163
153
  admin: {
164
154
  width: '50%'
165
155
  },
166
- label: 'CC',
167
- type: 'text'
156
+ label: 'CC'
168
157
  },
169
158
  {
170
159
  name: 'bcc',
160
+ type: 'text',
171
161
  admin: {
172
162
  width: '50%'
173
163
  },
174
- label: 'BCC',
175
- type: 'text'
164
+ label: 'BCC'
176
165
  }
177
- ],
178
- type: 'row'
166
+ ]
179
167
  },
180
168
  {
169
+ type: 'row',
181
170
  fields: [
182
171
  {
183
172
  name: 'replyTo',
173
+ type: 'text',
184
174
  admin: {
185
175
  placeholder: '"Reply To" <reply-to@email.com>',
186
176
  width: '50%'
187
177
  },
188
- label: 'Reply To',
189
- type: 'text'
178
+ label: 'Reply To'
190
179
  },
191
180
  {
192
181
  name: 'emailFrom',
182
+ type: 'text',
193
183
  admin: {
194
184
  placeholder: '"Email From" <email-from@email.com>',
195
185
  width: '50%'
196
186
  },
197
- label: 'Email From',
198
- type: 'text'
187
+ label: 'Email From'
199
188
  }
200
- ],
201
- type: 'row'
189
+ ]
202
190
  },
203
191
  {
204
192
  name: 'subject',
193
+ type: 'text',
205
194
  defaultValue: "You've received a new message.",
206
195
  label: 'Subject',
207
196
  localized: true,
208
- required: true,
209
- type: 'text'
197
+ required: true
210
198
  },
211
199
  {
212
200
  name: 'message',
201
+ type: 'richText',
213
202
  admin: {
214
203
  description: 'Enter the message that should be sent in this email.'
215
204
  },
216
205
  label: 'Message',
217
- localized: true,
218
- type: 'richText'
206
+ localized: true
219
207
  }
220
- ],
221
- type: 'array'
208
+ ]
222
209
  },
223
210
  ...formConfig?.formOverrides?.fields || []
224
- ],
225
- slug: formConfig?.formOverrides?.slug || 'forms'
211
+ ]
226
212
  };
227
213
  return config;
228
214
  };
229
215
 
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9Gb3Jtcy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEJsb2NrLCBDb2xsZWN0aW9uQ29uZmlnLCBGaWVsZCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCBtZXJnZSBmcm9tICdkZWVwbWVyZ2UnXG5cbmltcG9ydCB0eXBlIHsgRmllbGRDb25maWcsIFBsdWdpbkNvbmZpZyB9IGZyb20gJy4uLy4uL3R5cGVzJ1xuXG5pbXBvcnQgeyBmaWVsZHMgfSBmcm9tICcuL2ZpZWxkcydcblxuLy8gYWxsIHNldHRpbmdzIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHRoZSBjb25maWdcbmV4cG9ydCBjb25zdCBnZW5lcmF0ZUZvcm1Db2xsZWN0aW9uID0gKGZvcm1Db25maWc6IFBsdWdpbkNvbmZpZyk6IENvbGxlY3Rpb25Db25maWcgPT4ge1xuICBjb25zdCByZWRpcmVjdDogRmllbGQgPSB7XG4gICAgbmFtZTogJ3JlZGlyZWN0JyxcbiAgICBhZG1pbjoge1xuICAgICAgY29uZGl0aW9uOiAoXywgc2libGluZ0RhdGEpID0+IHNpYmxpbmdEYXRhPy5jb25maXJtYXRpb25UeXBlID09PSAncmVkaXJlY3QnLFxuICAgICAgaGlkZUd1dHRlcjogdHJ1ZSxcbiAgICB9LFxuICAgIGZpZWxkczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAndXJsJyxcbiAgICAgICAgbGFiZWw6ICdVUkwgdG8gcmVkaXJlY3QgdG8nLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgfSxcbiAgICBdLFxuICAgIHR5cGU6ICdncm91cCcsXG4gIH1cblxuICBpZiAoZm9ybUNvbmZpZy5yZWRpcmVjdFJlbGF0aW9uc2hpcHMpIHtcbiAgICByZWRpcmVjdC5maWVsZHMudW5zaGlmdCh7XG4gICAgICBuYW1lOiAncmVmZXJlbmNlJyxcbiAgICAgIGFkbWluOiB7XG4gICAgICAgIGNvbmRpdGlvbjogKF8sIHNpYmxpbmdEYXRhKSA9PiBzaWJsaW5nRGF0YT8udHlwZSA9PT0gJ3JlZmVyZW5jZScsXG4gICAgICB9LFxuICAgICAgbGFiZWw6ICdEb2N1bWVudCB0byBsaW5rIHRvJyxcbiAgICAgIG1heERlcHRoOiAyLFxuICAgICAgcmVsYXRpb25UbzogZm9ybUNvbmZpZy5yZWRpcmVjdFJlbGF0aW9uc2hpcHMsXG4gICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgIHR5cGU6ICdyZWxhdGlvbnNoaXAnLFxuICAgIH0pXG5cbiAgICByZWRpcmVjdC5maWVsZHMudW5zaGlmdCh7XG4gICAgICBuYW1lOiAndHlwZScsXG4gICAgICBhZG1pbjoge1xuICAgICAgICBsYXlvdXQ6ICdob3Jpem9udGFsJyxcbiAgICAgIH0sXG4gICAgICBkZWZhdWx0VmFsdWU6ICdyZWZlcmVuY2UnLFxuICAgICAgb3B0aW9uczogW1xuICAgICAgICB7XG4gICAgICAgICAgbGFiZWw6ICdJbnRlcm5hbCBsaW5rJyxcbiAgICAgICAgICB2YWx1ZTogJ3JlZmVyZW5jZScsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBsYWJlbDogJ0N1c3RvbSBVUkwnLFxuICAgICAgICAgIHZhbHVlOiAnY3VzdG9tJyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICB0eXBlOiAncmFkaW8nLFxuICAgIH0pXG5cbiAgICBpZiAocmVkaXJlY3QuZmllbGRzWzJdLnR5cGUgIT09ICdyb3cnKSByZWRpcmVjdC5maWVsZHNbMl0ubGFiZWwgPSAnQ3VzdG9tIFVSTCdcblxuICAgIHJlZGlyZWN0LmZpZWxkc1syXS5hZG1pbiA9IHtcbiAgICAgIGNvbmRpdGlvbjogKF8sIHNpYmxpbmdEYXRhKSA9PiBzaWJsaW5nRGF0YT8udHlwZSA9PT0gJ2N1c3RvbScsXG4gICAgfVxuICB9XG5cbiAgY29uc3QgY29uZmlnOiBDb2xsZWN0aW9uQ29uZmlnID0ge1xuICAgIC4uLihmb3JtQ29uZmlnPy5mb3JtT3ZlcnJpZGVzIHx8IHt9KSxcbiAgICBhY2Nlc3M6IHtcbiAgICAgIHJlYWQ6ICgpID0+IHRydWUsXG4gICAgICAuLi4oZm9ybUNvbmZpZz8uZm9ybU92ZXJyaWRlcz8uYWNjZXNzIHx8IHt9KSxcbiAgICB9LFxuICAgIGFkbWluOiB7XG4gICAgICBlbmFibGVSaWNoVGV4dFJlbGF0aW9uc2hpcDogZmFsc2UsXG4gICAgICB1c2VBc1RpdGxlOiAndGl0bGUnLFxuICAgICAgLi4uKGZvcm1Db25maWc/LmZvcm1PdmVycmlkZXM/LmFkbWluIHx8IHt9KSxcbiAgICB9LFxuICAgIGZpZWxkczogW1xuICAgICAge1xuICAgICAgICBuYW1lOiAndGl0bGUnLFxuICAgICAgICByZXF1aXJlZDogdHJ1ZSxcbiAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ2ZpZWxkcycsXG4gICAgICAgIGJsb2NrczogT2JqZWN0LmVudHJpZXMoZm9ybUNvbmZpZz8uZmllbGRzIHx8IHt9KVxuICAgICAgICAgIC5tYXAoKFtmaWVsZEtleSwgZmllbGRDb25maWddKSA9PiB7XG4gICAgICAgICAgICAvLyBsZXQgdGhlIGNvbmZpZyBlbmFibGUvZGlzYWJsZSBmaWVsZHMgd2l0aCBlaXRoZXIgYm9vbGVhbiB2YWx1ZXMgb3Igb2JqZWN0c1xuICAgICAgICAgICAgaWYgKGZpZWxkQ29uZmlnICE9PSBmYWxzZSkge1xuICAgICAgICAgICAgICBjb25zdCBibG9jayA9IGZpZWxkc1tmaWVsZEtleV1cblxuICAgICAgICAgICAgICBpZiAoYmxvY2sgPT09IHVuZGVmaW5lZCAmJiB0eXBlb2YgZmllbGRDb25maWcgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZpZWxkQ29uZmlnXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBpZiAodHlwZW9mIGJsb2NrID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgZmllbGRDb25maWcgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1lcmdlPEZpZWxkQ29uZmlnPihibG9jaywgZmllbGRDb25maWcsIHtcbiAgICAgICAgICAgICAgICAgIGFycmF5TWVyZ2U6IChfLCBzb3VyY2VBcnJheSkgPT4gc291cmNlQXJyYXksXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIGlmICh0eXBlb2YgYmxvY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYmxvY2soZmllbGRDb25maWcpXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gYmxvY2tcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbikgYXMgQmxvY2tbXSxcbiAgICAgICAgdHlwZTogJ2Jsb2NrcycsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnc3VibWl0QnV0dG9uTGFiZWwnLFxuICAgICAgICBsb2NhbGl6ZWQ6IHRydWUsXG4gICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdjb25maXJtYXRpb25UeXBlJyxcbiAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgICAgICdDaG9vc2Ugd2hldGhlciB0byBkaXNwbGF5IGFuIG9uLXBhZ2UgbWVzc2FnZSBvciByZWRpcmVjdCB0byBhIGRpZmZlcmVudCBwYWdlIGFmdGVyIHRoZXkgc3VibWl0IHRoZSBmb3JtLicsXG4gICAgICAgICAgbGF5b3V0OiAnaG9yaXpvbnRhbCcsXG4gICAgICAgIH0sXG4gICAgICAgIGRlZmF1bHRWYWx1ZTogJ21lc3NhZ2UnLFxuICAgICAgICBvcHRpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6ICdNZXNzYWdlJyxcbiAgICAgICAgICAgIHZhbHVlOiAnbWVzc2FnZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBsYWJlbDogJ1JlZGlyZWN0JyxcbiAgICAgICAgICAgIHZhbHVlOiAncmVkaXJlY3QnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHR5cGU6ICdyYWRpbycsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiAnY29uZmlybWF0aW9uTWVzc2FnZScsXG4gICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgY29uZGl0aW9uOiAoXywgc2libGluZ0RhdGEpID0+IHNpYmxpbmdEYXRhPy5jb25maXJtYXRpb25UeXBlID09PSAnbWVzc2FnZScsXG4gICAgICAgIH0sXG4gICAgICAgIGxvY2FsaXplZDogdHJ1ZSxcbiAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgIHR5cGU6ICdyaWNoVGV4dCcsXG4gICAgICB9LFxuICAgICAgcmVkaXJlY3QsXG4gICAgICB7XG4gICAgICAgIG5hbWU6ICdlbWFpbHMnLFxuICAgICAgICBhZG1pbjoge1xuICAgICAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAgICAgXCJTZW5kIGN1c3RvbSBlbWFpbHMgd2hlbiB0aGUgZm9ybSBzdWJtaXRzLiBVc2UgY29tbWEgc2VwYXJhdGVkIGxpc3RzIHRvIHNlbmQgdGhlIHNhbWUgZW1haWwgdG8gbXVsdGlwbGUgcmVjaXBpZW50cy4gVG8gcmVmZXJlbmNlIGEgdmFsdWUgZnJvbSB0aGlzIGZvcm0sIHdyYXAgdGhhdCBmaWVsZCdzIG5hbWUgd2l0aCBkb3VibGUgY3VybHkgYnJhY2tldHMsIGkuZS4ge3tmaXJzdE5hbWV9fS5cIixcbiAgICAgICAgfSxcbiAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAnZW1haWxUbycsXG4gICAgICAgICAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnXCJFbWFpbCBTZW5kZXJcIiA8c2VuZGVyQGVtYWlsLmNvbT4nLFxuICAgICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGxhYmVsOiAnRW1haWwgVG8nLFxuICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdjYycsXG4gICAgICAgICAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAnNTAlJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGxhYmVsOiAnQ0MnLFxuICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdiY2MnLFxuICAgICAgICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogJzUwJScsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0JDQycsXG4gICAgICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHR5cGU6ICdyb3cnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBuYW1lOiAncmVwbHlUbycsXG4gICAgICAgICAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiAnXCJSZXBseSBUb1wiIDxyZXBseS10b0BlbWFpbC5jb20+JyxcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAnNTAlJyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGxhYmVsOiAnUmVwbHkgVG8nLFxuICAgICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIG5hbWU6ICdlbWFpbEZyb20nLFxuICAgICAgICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogJ1wiRW1haWwgRnJvbVwiIDxlbWFpbC1mcm9tQGVtYWlsLmNvbT4nLFxuICAgICAgICAgICAgICAgICAgd2lkdGg6ICc1MCUnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgbGFiZWw6ICdFbWFpbCBGcm9tJyxcbiAgICAgICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgdHlwZTogJ3JvdycsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnc3ViamVjdCcsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6IFwiWW91J3ZlIHJlY2VpdmVkIGEgbmV3IG1lc3NhZ2UuXCIsXG4gICAgICAgICAgICBsYWJlbDogJ1N1YmplY3QnLFxuICAgICAgICAgICAgbG9jYWxpemVkOiB0cnVlLFxuICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnbWVzc2FnZScsXG4gICAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgICBkZXNjcmlwdGlvbjogJ0VudGVyIHRoZSBtZXNzYWdlIHRoYXQgc2hvdWxkIGJlIHNlbnQgaW4gdGhpcyBlbWFpbC4nLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGxhYmVsOiAnTWVzc2FnZScsXG4gICAgICAgICAgICBsb2NhbGl6ZWQ6IHRydWUsXG4gICAgICAgICAgICB0eXBlOiAncmljaFRleHQnLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICB9LFxuICAgICAgLi4uKGZvcm1Db25maWc/LmZvcm1PdmVycmlkZXM/LmZpZWxkcyB8fCBbXSksXG4gICAgXSxcbiAgICBzbHVnOiBmb3JtQ29uZmlnPy5mb3JtT3ZlcnJpZGVzPy5zbHVnIHx8ICdmb3JtcycsXG4gIH1cblxuICByZXR1cm4gY29uZmlnXG59XG4iXSwibmFtZXMiOlsiZ2VuZXJhdGVGb3JtQ29sbGVjdGlvbiIsImZvcm1Db25maWciLCJyZWRpcmVjdCIsIm5hbWUiLCJhZG1pbiIsImNvbmRpdGlvbiIsIl8iLCJzaWJsaW5nRGF0YSIsImNvbmZpcm1hdGlvblR5cGUiLCJoaWRlR3V0dGVyIiwiZmllbGRzIiwibGFiZWwiLCJyZXF1aXJlZCIsInR5cGUiLCJyZWRpcmVjdFJlbGF0aW9uc2hpcHMiLCJ1bnNoaWZ0IiwibWF4RGVwdGgiLCJyZWxhdGlvblRvIiwibGF5b3V0IiwiZGVmYXVsdFZhbHVlIiwib3B0aW9ucyIsInZhbHVlIiwiY29uZmlnIiwiZm9ybU92ZXJyaWRlcyIsImFjY2VzcyIsInJlYWQiLCJlbmFibGVSaWNoVGV4dFJlbGF0aW9uc2hpcCIsInVzZUFzVGl0bGUiLCJibG9ja3MiLCJPYmplY3QiLCJlbnRyaWVzIiwibWFwIiwiZmllbGRLZXkiLCJmaWVsZENvbmZpZyIsImJsb2NrIiwidW5kZWZpbmVkIiwibWVyZ2UiLCJhcnJheU1lcmdlIiwic291cmNlQXJyYXkiLCJmaWx0ZXIiLCJCb29sZWFuIiwibG9jYWxpemVkIiwiZGVzY3JpcHRpb24iLCJwbGFjZWhvbGRlciIsIndpZHRoIiwic2x1ZyJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFTYUE7OztlQUFBQTs7O2tFQVBLO3dCQUlLOzs7Ozs7QUFHaEIsTUFBTUEseUJBQXlCLENBQUNDO0lBQ3JDLE1BQU1DLFdBQWtCO1FBQ3RCQyxN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
216
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/collections/Forms/index.ts"],"sourcesContent":["import type { Block, CollectionConfig, Field } from 'payload/types'\n\nimport merge from 'deepmerge'\n\nimport type { FieldConfig, PluginConfig } from '../../types.js'\n\nimport { fields } from './fields.js'\n\n// all settings can be overridden by the config\nexport const generateFormCollection = (formConfig: PluginConfig): CollectionConfig => {\n const redirect: Field = {\n name: 'redirect',\n type: 'group',\n admin: {\n condition: (_, siblingData) => siblingData?.confirmationType === 'redirect',\n hideGutter: true,\n },\n fields: [\n {\n name: 'url',\n type: 'text',\n label: 'URL to redirect to',\n required: true,\n },\n ],\n }\n\n if (formConfig.redirectRelationships) {\n redirect.fields.unshift({\n name: 'reference',\n type: 'relationship',\n admin: {\n condition: (_, siblingData) => siblingData?.type === 'reference',\n },\n label: 'Document to link to',\n maxDepth: 2,\n relationTo: formConfig.redirectRelationships,\n required: true,\n })\n\n redirect.fields.unshift({\n name: 'type',\n type: 'radio',\n admin: {\n layout: 'horizontal',\n },\n defaultValue: 'reference',\n options: [\n {\n label: 'Internal link',\n value: 'reference',\n },\n {\n label: 'Custom URL',\n value: 'custom',\n },\n ],\n })\n\n if (redirect.fields[2].type !== 'row') redirect.fields[2].label = 'Custom URL'\n\n redirect.fields[2].admin = {\n condition: (_, siblingData) => siblingData?.type === 'custom',\n }\n }\n\n const config: CollectionConfig = {\n ...(formConfig?.formOverrides || {}),\n slug: formConfig?.formOverrides?.slug || 'forms',\n access: {\n read: () => true,\n ...(formConfig?.formOverrides?.access || {}),\n },\n admin: {\n enableRichTextRelationship: false,\n useAsTitle: 'title',\n ...(formConfig?.formOverrides?.admin || {}),\n },\n fields: [\n {\n name: 'title',\n type: 'text',\n required: true,\n },\n {\n name: 'fields',\n type: 'blocks',\n blocks: Object.entries(formConfig?.fields || {})\n .map(([fieldKey, fieldConfig]) => {\n // let the config enable/disable fields with either boolean values or objects\n if (fieldConfig !== false) {\n const block = fields[fieldKey]\n\n if (block === undefined && typeof fieldConfig === 'object') {\n return fieldConfig\n }\n\n if (typeof block === 'object' && typeof fieldConfig === 'object') {\n return merge<FieldConfig>(block, fieldConfig, {\n arrayMerge: (_, sourceArray) => sourceArray,\n })\n }\n\n if (typeof block === 'function') {\n return block(fieldConfig)\n }\n\n return block\n }\n\n return null\n })\n .filter(Boolean) as Block[],\n },\n {\n name: 'submitButtonLabel',\n type: 'text',\n localized: true,\n },\n {\n name: 'confirmationType',\n type: 'radio',\n admin: {\n description:\n 'Choose whether to display an on-page message or redirect to a different page after they submit the form.',\n layout: 'horizontal',\n },\n defaultValue: 'message',\n options: [\n {\n label: 'Message',\n value: 'message',\n },\n {\n label: 'Redirect',\n value: 'redirect',\n },\n ],\n },\n {\n name: 'confirmationMessage',\n type: 'richText',\n admin: {\n condition: (_, siblingData) => siblingData?.confirmationType === 'message',\n },\n localized: true,\n required: true,\n },\n redirect,\n {\n name: 'emails',\n type: 'array',\n admin: {\n description:\n \"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}}.\",\n },\n fields: [\n {\n type: 'row',\n fields: [\n {\n name: 'emailTo',\n type: 'text',\n admin: {\n placeholder: '\"Email Sender\" <sender@email.com>',\n width: '100%',\n },\n label: 'Email To',\n },\n {\n name: 'cc',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'CC',\n },\n {\n name: 'bcc',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'BCC',\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n name: 'replyTo',\n type: 'text',\n admin: {\n placeholder: '\"Reply To\" <reply-to@email.com>',\n width: '50%',\n },\n label: 'Reply To',\n },\n {\n name: 'emailFrom',\n type: 'text',\n admin: {\n placeholder: '\"Email From\" <email-from@email.com>',\n width: '50%',\n },\n label: 'Email From',\n },\n ],\n },\n {\n name: 'subject',\n type: 'text',\n defaultValue: \"You've received a new message.\",\n label: 'Subject',\n localized: true,\n required: true,\n },\n {\n name: 'message',\n type: 'richText',\n admin: {\n description: 'Enter the message that should be sent in this email.',\n },\n label: 'Message',\n localized: true,\n },\n ],\n },\n ...(formConfig?.formOverrides?.fields || []),\n ],\n }\n\n return config\n}\n"],"names":["merge","fields","generateFormCollection","formConfig","redirect","name","type","admin","condition","_","siblingData","confirmationType","hideGutter","label","required","redirectRelationships","unshift","maxDepth","relationTo","layout","defaultValue","options","value","config","formOverrides","slug","access","read","enableRichTextRelationship","useAsTitle","blocks","Object","entries","map","fieldKey","fieldConfig","block","undefined","arrayMerge","sourceArray","filter","Boolean","localized","description","placeholder","width"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,28 +1,7 @@
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");
1
+ import { generateSubmissionCollection } from './collections/FormSubmissions/index.js';
2
+ import { generateFormCollection } from './collections/Forms/index.js';
3
+ export { fields } from './collections/Forms/fields.js';
4
+ export { getPaymentTotal } from './utilities/getPaymentTotal.js';
26
5
  const FormBuilder = (incomingFormConfig)=>(config)=>{
27
6
  const formConfig = {
28
7
  ...incomingFormConfig,
@@ -58,11 +37,11 @@ const FormBuilder = (incomingFormConfig)=>(config)=>{
58
37
  // },
59
38
  collections: [
60
39
  ...config?.collections || [],
61
- (0, _Forms.generateFormCollection)(formConfig),
62
- (0, _FormSubmissions.generateSubmissionCollection)(formConfig)
40
+ generateFormCollection(formConfig),
41
+ generateSubmissionCollection(formConfig)
63
42
  ]
64
43
  };
65
44
  };
66
- const _default = FormBuilder;
45
+ export default FormBuilder;
67
46
 
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IENvbmZpZyB9IGZyb20gJ3BheWxvYWQvY29uZmlnJ1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbkNvbmZpZyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGdlbmVyYXRlU3VibWlzc2lvbkNvbGxlY3Rpb24gfSBmcm9tICcuL2NvbGxlY3Rpb25zL0Zvcm1TdWJtaXNzaW9ucydcbmltcG9ydCB7IGdlbmVyYXRlRm9ybUNvbGxlY3Rpb24gfSBmcm9tICcuL2NvbGxlY3Rpb25zL0Zvcm1zJ1xuXG5leHBvcnQgeyBmaWVsZHMgfSBmcm9tICcuL2NvbGxlY3Rpb25zL0Zvcm1zL2ZpZWxkcydcbmV4cG9ydCB7IGdldFBheW1lbnRUb3RhbCB9IGZyb20gJy4vdXRpbGl0aWVzL2dldFBheW1lbnRUb3RhbCdcblxuY29uc3QgRm9ybUJ1aWxkZXIgPVxuICAoaW5jb21pbmdGb3JtQ29uZmlnOiBQbHVnaW5Db25maWcpID0+XG4gIChjb25maWc6IENvbmZpZyk6IENvbmZpZyA9PiB7XG4gICAgY29uc3QgZm9ybUNvbmZpZzogUGx1Z2luQ29uZmlnID0ge1xuICAgICAgLi4uaW5jb21pbmdGb3JtQ29uZmlnLFxuICAgICAgZmllbGRzOiB7XG4gICAgICAgIGNoZWNrYm94OiB0cnVlLFxuICAgICAgICBjb3VudHJ5OiB0cnVlLFxuICAgICAgICBlbWFpbDogdHJ1ZSxcbiAgICAgICAgbWVzc2FnZTogdHJ1ZSxcbiAgICAgICAgbnVtYmVyOiB0cnVlLFxuICAgICAgICBwYXltZW50OiBmYWxzZSxcbiAgICAgICAgc2VsZWN0OiB0cnVlLFxuICAgICAgICBzdGF0ZTogdHJ1ZSxcbiAgICAgICAgdGV4dDogdHJ1ZSxcbiAgICAgICAgdGV4dGFyZWE6IHRydWUsXG4gICAgICAgIC4uLmluY29taW5nRm9ybUNvbmZpZy5maWVsZHMsXG4gICAgICB9LFxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICAuLi5jb25maWcsXG4gICAgICAvLyBhZG1pbjoge1xuICAgICAgLy8gICAuLi5jb25maWcuYWRtaW4sXG4gICAgICAvLyAgIHdlYnBhY2s6ICh3ZWJwYWNrQ29uZmlnKSA9PiAoe1xuICAgICAgLy8gICAgIC4uLndlYnBhY2tDb25maWcsXG4gICAgICAvLyAgICAgcmVzb2x2ZToge1xuICAgICAgLy8gICAgICAgLi4ud2VicGFja0NvbmZpZy5yZXNvbHZlLFxuICAgICAgLy8gICAgICAgYWxpYXM6IHtcbiAgICAgIC8vICAgICAgICAgLi4ud2VicGFja0NvbmZpZy5yZXNvbHZlLmFsaWFzLFxuICAgICAgLy8gICAgICAgICBbcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgJ2NvbGxlY3Rpb25zL0Zvcm1TdWJtaXNzaW9ucy9ob29rcy9zZW5kRW1haWwudHMnKV06IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICdtb2Nrcy9zZXJ2ZXJNb2R1bGUuanMnKSxcbiAgICAgIC8vICAgICAgICAgW3BhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICdjb2xsZWN0aW9ucy9Gb3JtU3VibWlzc2lvbnMvaG9va3MvY3JlYXRlQ2hhcmdlLnRzJyldOiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnbW9ja3Mvc2VydmVyTW9kdWxlLmpzJyksXG4gICAgICAvLyAgICAgICB9LFxuICAgICAgLy8gICAgIH0sXG4gICAgICAvLyAgIH0pXG4gICAgICAvLyB9LFxuICAgICAgY29sbGVjdGlvbnM6IFtcbiAgICAgICAgLi4uKGNvbmZpZz8uY29sbGVjdGlvbnMgfHwgW10pLFxuICAgICAgICBnZW5lcmF0ZUZvcm1Db2xsZWN0aW9uKGZvcm1Db25maWcpLFxuICAgICAgICBnZW5lcmF0ZVN1Ym1pc3Npb25Db2xsZWN0aW9uKGZvcm1Db25maWcpLFxuICAgICAgXSxcbiAgICB9XG4gIH1cblxuZXhwb3J0IGRlZmF1bHQgRm9ybUJ1aWxkZXJcbiJdLCJuYW1lcyI6WyJmaWVsZHMiLCJnZXRQYXltZW50VG90YWwiLCJGb3JtQnVpbGRlciIsImluY29taW5nRm9ybUNvbmZpZyIsImNvbmZpZyIsImZvcm1Db25maWciLCJjaGVja2JveCIsImNvdW50cnkiLCJlbWFpbCIsIm1lc3NhZ2UiLCJudW1iZXIiLCJwYXltZW50Iiwic2VsZWN0Iiwic3RhdGUiLCJ0ZXh0IiwidGV4dGFyZWEiLCJjb2xsZWN0aW9ucyIsImdlbmVyYXRlRm9ybUNvbGxlY3Rpb24iLCJnZW5lcmF0ZVN1Ym1pc3Npb25Db2xsZWN0aW9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQU9TQSxNQUFNO2VBQU5BLGNBQU07O0lBQ05DLGVBQWU7ZUFBZkEsZ0NBQWU7O0lBOEN4QixPQUEwQjtlQUExQjs7O2lDQWxENkM7dUJBQ047d0JBRWhCO2lDQUNTO0FBRWhDLE1BQU1DLGNBQ0osQ0FBQ0MscUJBQ0QsQ0FBQ0M7UUFDQyxNQUFNQyxhQUEyQjtZQUMvQixHQUFHRixrQkFBa0I7WUFDckJILFFBQVE7Z0JBQ05NLFVBQVU7Z0JBQ1ZDLFNBQVM7Z0JBQ1RDLE9BQU87Z0JBQ1BDLFNBQVM7Z0JBQ1RDLFFBQVE7Z0JBQ1JDLFNBQVM7Z0JBQ1RDLFFBQVE7Z0JBQ1JDLE9BQU87Z0JBQ1BDLE1BQU07Z0JBQ05DLFVBQVU7Z0JBQ1YsR0FBR1osbUJBQW1CSCxNQUFNO1lBQzlCO1FBQ0Y7UUFFQSxPQUFPO1lBQ0wsR0FBR0ksTUFBTTtZQUNULFdBQVc7WUFDWCxxQkFBcUI7WUFDckIsbUNBQW1DO1lBQ25DLHdCQUF3QjtZQUN4QixpQkFBaUI7WUFDakIsa0NBQWtDO1lBQ2xDLGlCQUFpQjtZQUNqQiwwQ0FBMEM7WUFDMUMseUlBQXlJO1lBQ3pJLDRJQUE0STtZQUM1SSxXQUFXO1lBQ1gsU0FBUztZQUNULE9BQU87WUFDUCxLQUFLO1lBQ0xZLGFBQWE7bUJBQ1BaLFFBQVFZLGVBQWUsRUFBRTtnQkFDN0JDLElBQUFBLDZCQUFzQixFQUFDWjtnQkFDdkJhLElBQUFBLDZDQUE0QixFQUFDYjthQUM5QjtRQUNIO0lBQ0Y7TUFFRixXQUFlSCJ9
47
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { Config } from 'payload/config'\n\nimport type { PluginConfig } from './types.js'\n\nimport { generateSubmissionCollection } from './collections/FormSubmissions/index.js'\nimport { generateFormCollection } from './collections/Forms/index.js'\n\nexport { fields } from './collections/Forms/fields.js'\nexport { getPaymentTotal } from './utilities/getPaymentTotal.js'\n\nconst FormBuilder =\n (incomingFormConfig: PluginConfig) =>\n (config: Config): Config => {\n const formConfig: PluginConfig = {\n ...incomingFormConfig,\n fields: {\n checkbox: true,\n country: true,\n email: true,\n message: true,\n number: true,\n payment: false,\n select: true,\n state: true,\n text: true,\n textarea: true,\n ...incomingFormConfig.fields,\n },\n }\n\n return {\n ...config,\n // admin: {\n // ...config.admin,\n // webpack: (webpackConfig) => ({\n // ...webpackConfig,\n // resolve: {\n // ...webpackConfig.resolve,\n // alias: {\n // ...webpackConfig.resolve.alias,\n // [path.resolve(__dirname, 'collections/FormSubmissions/hooks/sendEmail.ts')]: path.resolve(__dirname, 'mocks/serverModule.js'),\n // [path.resolve(__dirname, 'collections/FormSubmissions/hooks/createCharge.ts')]: path.resolve(__dirname, 'mocks/serverModule.js'),\n // },\n // },\n // })\n // },\n collections: [\n ...(config?.collections || []),\n generateFormCollection(formConfig),\n generateSubmissionCollection(formConfig),\n ],\n }\n }\n\nexport default FormBuilder\n"],"names":["generateSubmissionCollection","generateFormCollection","fields","getPaymentTotal","FormBuilder","incomingFormConfig","config","formConfig","checkbox","country","email","message","number","payment","select","state","text","textarea","collections"],"mappings":"AAIA,SAASA,4BAA4B,QAAQ,yCAAwC;AACrF,SAASC,sBAAsB,QAAQ,+BAA8B;AAErE,SAASC,MAAM,QAAQ,gCAA+B;AACtD,SAASC,eAAe,QAAQ,iCAAgC;AAEhE,MAAMC,cACJ,CAACC,qBACD,CAACC;QACC,MAAMC,aAA2B;YAC/B,GAAGF,kBAAkB;YACrBH,QAAQ;gBACNM,UAAU;gBACVC,SAAS;gBACTC,OAAO;gBACPC,SAAS;gBACTC,QAAQ;gBACRC,SAAS;gBACTC,QAAQ;gBACRC,OAAO;gBACPC,MAAM;gBACNC,UAAU;gBACV,GAAGZ,mBAAmBH,MAAM;YAC9B;QACF;QAEA,OAAO;YACL,GAAGI,MAAM;YACT,WAAW;YACX,qBAAqB;YACrB,mCAAmC;YACnC,wBAAwB;YACxB,iBAAiB;YACjB,kCAAkC;YAClC,iBAAiB;YACjB,0CAA0C;YAC1C,yIAAyI;YACzI,4IAA4I;YAC5I,WAAW;YACX,SAAS;YACT,OAAO;YACP,KAAK;YACLY,aAAa;mBACPZ,QAAQY,eAAe,EAAE;gBAC7BjB,uBAAuBM;gBACvBP,6BAA6BO;aAC9B;QACH;IACF;AAEF,eAAeH,YAAW"}
package/dist/types.js CHANGED
@@ -1,15 +1,5 @@
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) {
1
+ export function isValidBlockConfig(blockConfig) {
12
2
  return typeof blockConfig !== 'string' && typeof blockConfig?.block?.slug === 'string' && Array.isArray(blockConfig?.block?.fields);
13
3
  }
14
4
 
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
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { Block, CollectionConfig, Field } from 'payload/types'\n\nexport interface BlockConfig {\n block: Block\n validate?: (value: unknown) => boolean | string\n}\n\nexport function isValidBlockConfig(blockConfig: BlockConfig | string): blockConfig is BlockConfig {\n return (\n typeof blockConfig !== 'string' &&\n typeof blockConfig?.block?.slug === 'string' &&\n Array.isArray(blockConfig?.block?.fields)\n )\n}\n\nexport interface FieldValues {\n [key: string]: boolean | null | number | string | undefined\n}\n\nexport type PaymentFieldConfig = Partial<Field> & {\n paymentProcessor: Partial<SelectField>\n}\n\nexport type FieldConfig = Partial<Field> | PaymentFieldConfig\n\nexport interface FieldsConfig {\n [key: string]: FieldConfig | boolean | undefined\n checkbox?: FieldConfig | boolean\n country?: FieldConfig | boolean\n email?: FieldConfig | boolean\n message?: FieldConfig | boolean\n number?: FieldConfig | boolean\n payment?: FieldConfig | boolean\n select?: FieldConfig | boolean\n state?: FieldConfig | boolean\n text?: FieldConfig | boolean\n textarea?: FieldConfig | boolean\n}\n\nexport type BeforeEmail = (emails: FormattedEmail[]) => FormattedEmail[] | Promise<FormattedEmail[]>\nexport type HandlePayment = (data: any) => void\n\nexport interface PluginConfig {\n beforeEmail?: BeforeEmail\n fields?: FieldsConfig\n formOverrides?: Partial<CollectionConfig>\n formSubmissionOverrides?: Partial<CollectionConfig>\n handlePayment?: HandlePayment\n redirectRelationships?: string[]\n}\n\nexport interface TextField {\n blockName?: string\n blockType: 'text'\n defaultValue?: string\n label?: string\n name: string\n required?: boolean\n width?: number\n}\n\nexport interface TextAreaField {\n blockName?: string\n blockType: 'textarea'\n defaultValue?: string\n label?: string\n name: string\n required?: boolean\n width?: number\n}\n\nexport interface SelectFieldOption {\n label: string\n value: string\n}\n\nexport interface SelectField {\n blockName?: string\n blockType: 'select'\n defaultValue?: string\n label?: string\n name: string\n options: SelectFieldOption[]\n required?: boolean\n width?: number\n}\n\nexport interface PriceCondition {\n condition: 'equals' | 'hasValue' | 'notEquals'\n fieldToUse: string\n operator: 'add' | 'divide' | 'multiply' | 'subtract'\n valueForCondition: string\n valueForOperator: number | string // TODO: make this a number, see ./collections/Forms/DynamicPriceSelector.tsx\n valueType: 'static' | 'valueOfField'\n}\n\nexport interface PaymentField {\n basePrice: number\n blockName?: string\n blockType: 'payment'\n defaultValue?: string\n label?: string\n name: string\n paymentProcessor: string\n priceConditions: PriceCondition[]\n required?: boolean\n width?: number\n}\n\nexport interface EmailField {\n blockName?: string\n blockType: 'email'\n defaultValue?: string\n label?: string\n name: string\n required?: boolean\n width?: number\n}\n\nexport interface StateField {\n blockName?: string\n blockType: 'state'\n defaultValue?: string\n label?: string\n name: string\n required?: boolean\n width?: number\n}\n\nexport interface CountryField {\n blockName?: string\n blockType: 'country'\n defaultValue?: string\n label?: string\n name: string\n required?: boolean\n width?: number\n}\n\nexport interface CheckboxField {\n blockName?: string\n blockType: 'checkbox'\n defaultValue?: boolean\n label?: string\n name: string\n required?: boolean\n width?: number\n}\n\nexport interface MessageField {\n blockName?: string\n blockType: 'message'\n message: unknown\n}\n\nexport type FormFieldBlock =\n | CheckboxField\n | CountryField\n | EmailField\n | MessageField\n | PaymentField\n | SelectField\n | StateField\n | TextAreaField\n | TextField\n\nexport interface Email {\n bcc?: string\n cc?: string\n emailFrom: string\n emailTo: string\n message?: any // TODO: configure rich text type\n replyTo?: string\n subject: string\n}\n\nexport interface FormattedEmail {\n bcc?: string\n cc?: string\n from: string\n html: string\n replyTo: string\n subject: string\n to: string\n}\n\nexport interface Redirect {\n reference?: {\n relationTo: string\n value: string | unknown\n }\n type: 'custom' | 'reference'\n url: string\n}\n\nexport interface Form {\n confirmationMessage?: any // TODO: configure rich text type\n confirmationType: 'message' | 'redirect'\n emails: Email[]\n fields: FormFieldBlock[]\n id: string\n redirect?: Redirect\n submitButtonLabel?: string\n title: string\n}\n\nexport interface SubmissionValue {\n field: string\n value: unknown\n}\n\nexport interface FormSubmission {\n form: Form | string\n submissionData: SubmissionValue[]\n}\n"],"names":["isValidBlockConfig","blockConfig","block","slug","Array","isArray","fields"],"mappings":"AAOA,OAAO,SAASA,mBAAmBC,WAAiC;IAClE,OACE,OAAOA,gBAAgB,YACvB,OAAOA,aAAaC,OAAOC,SAAS,YACpCC,MAAMC,OAAO,CAACJ,aAAaC,OAAOI;AAEtC"}
@@ -1,14 +1,4 @@
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)=>{
1
+ export const getPaymentTotal = (args)=>{
12
2
  const { basePrice = 0, fieldValues, priceConditions } = args;
13
3
  let total = basePrice;
14
4
  if (Array.isArray(priceConditions) && priceConditions.length > 0) {
@@ -51,4 +41,4 @@ const getPaymentTotal = (args)=>{
51
41
  return total;
52
42
  };
53
43
 
54
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvZ2V0UGF5bWVudFRvdGFsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRmllbGRWYWx1ZXMsIFBheW1lbnRGaWVsZCwgUHJpY2VDb25kaXRpb24gfSBmcm9tICcuLi90eXBlcydcblxuZXhwb3J0IGNvbnN0IGdldFBheW1lbnRUb3RhbCA9IChcbiAgYXJnczogUGFydGlhbDxQYXltZW50RmllbGQ+ICYge1xuICAgIGZpZWxkVmFsdWVzOiBGaWVsZFZhbHVlc1xuICB9LFxuKTogbnVtYmVyID0+IHtcbiAgY29uc3QgeyBiYXNlUHJpY2UgPSAwLCBmaWVsZFZhbHVlcywgcHJpY2VDb25kaXRpb25zIH0gPSBhcmdzXG5cbiAgbGV0IHRvdGFsID0gYmFzZVByaWNlXG5cbiAgaWYgKEFycmF5LmlzQXJyYXkocHJpY2VDb25kaXRpb25zKSAmJiBwcmljZUNvbmRpdGlvbnMubGVuZ3RoID4gMCkge1xuICAgIHByaWNlQ29uZGl0aW9ucy5mb3JFYWNoKChwcmljZUNvbmRpdGlvbjogUHJpY2VDb25kaXRpb24pID0+IHtcbiAgICAgIGNvbnN0IHsgY29uZGl0aW9uLCBmaWVsZFRvVXNlLCBvcGVyYXRvciwgdmFsdWVGb3JDb25kaXRpb24sIHZhbHVlRm9yT3BlcmF0b3IsIHZhbHVlVHlwZSB9ID1cbiAgICAgICAgcHJpY2VDb25kaXRpb25cblxuICAgICAgY29uc3QgdmFsdWVPZkZpZWxkID0gZmllbGRWYWx1ZXM/LltmaWVsZFRvVXNlXVxuXG4gICAgICBpZiAodmFsdWVPZkZpZWxkKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBjb25kaXRpb24gPT09ICdoYXNWYWx1ZScgfHxcbiAgICAgICAgICAoY29uZGl0aW9uID09PSAnZXF1YWxzJyAmJiB2YWx1ZU9mRmllbGQgPT09IHZhbHVlRm9yQ29uZGl0aW9uKSB8fFxuICAgICAgICAgIChjb25kaXRpb24gPT09ICdub3RFcXVhbHMnICYmIHZhbHVlT2ZGaWVsZCAhPT0gdmFsdWVGb3JDb25kaXRpb24pXG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnN0IHZhbHVlVG9Vc2UgPSBOdW1iZXIodmFsdWVUeXBlID09PSAndmFsdWVPZkZpZWxkJyA/IHZhbHVlT2ZGaWVsZCA6IHZhbHVlRm9yT3BlcmF0b3IpXG4gICAgICAgICAgc3dpdGNoIChvcGVyYXRvcikge1xuICAgICAgICAgICAgY2FzZSAnYWRkJzoge1xuICAgICAgICAgICAgICB0b3RhbCArPSB2YWx1ZVRvVXNlXG4gICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdzdWJ0cmFjdCc6IHtcbiAgICAgICAgICAgICAgdG90YWwgLT0gdmFsdWVUb1VzZVxuICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSAnbXVsdGlwbHknOiB7XG4gICAgICAgICAgICAgIHRvdGFsICo9IHZhbHVlVG9Vc2VcbiAgICAgICAgICAgICAgYnJlYWtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ2RpdmlkZSc6IHtcbiAgICAgICAgICAgICAgdG90YWwgLz0gdmFsdWVUb1VzZVxuICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gdG90YWxcbn1cbiJdLCJuYW1lcyI6WyJnZXRQYXltZW50VG90YWwiLCJhcmdzIiwiYmFzZVByaWNlIiwiZmllbGRWYWx1ZXMiLCJwcmljZUNvbmRpdGlvbnMiLCJ0b3RhbCIsIkFycmF5IiwiaXNBcnJheSIsImxlbmd0aCIsImZvckVhY2giLCJwcmljZUNvbmRpdGlvbiIsImNvbmRpdGlvbiIsImZpZWxkVG9Vc2UiLCJvcGVyYXRvciIsInZhbHVlRm9yQ29uZGl0aW9uIiwidmFsdWVGb3JPcGVyYXRvciIsInZhbHVlVHlwZSIsInZhbHVlT2ZGaWVsZCIsInZhbHVlVG9Vc2UiLCJOdW1iZXIiXSwibWFwcGluZ3MiOiI7Ozs7K0JBRWFBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLGtCQUFrQixDQUM3QkM7SUFJQSxNQUFNLEVBQUVDLFlBQVksQ0FBQyxFQUFFQyxXQUFXLEVBQUVDLGVBQWUsRUFBRSxHQUFHSDtJQUV4RCxJQUFJSSxRQUFRSDtJQUVaLElBQUlJLE1BQU1DLE9BQU8sQ0FBQ0gsb0JBQW9CQSxnQkFBZ0JJLE1BQU0sR0FBRyxHQUFHO1FBQ2hFSixnQkFBZ0JLLE9BQU8sQ0FBQyxDQUFDQztZQUN2QixNQUFNLEVBQUVDLFNBQVMsRUFBRUMsVUFBVSxFQUFFQyxRQUFRLEVBQUVDLGlCQUFpQixFQUFFQyxnQkFBZ0IsRUFBRUMsU0FBUyxFQUFFLEdBQ3ZGTjtZQUVGLE1BQU1PLGVBQWVkLGFBQWEsQ0FBQ1MsV0FBVztZQUU5QyxJQUFJSyxjQUFjO2dCQUNoQixJQUNFTixjQUFjLGNBQ2JBLGNBQWMsWUFBWU0saUJBQWlCSCxxQkFDM0NILGNBQWMsZUFBZU0saUJBQWlCSCxtQkFDL0M7b0JBQ0EsTUFBTUksYUFBYUMsT0FBT0gsY0FBYyxpQkFBaUJDLGVBQWVGO29CQUN4RSxPQUFRRjt3QkFDTixLQUFLOzRCQUFPO2dDQUNWUixTQUFTYTtnQ0FDVDs0QkFDRjt3QkFDQSxLQUFLOzRCQUFZO2dDQUNmYixTQUFTYTtnQ0FDVDs0QkFDRjt3QkFDQSxLQUFLOzRCQUFZO2dDQUNmYixTQUFTYTtnQ0FDVDs0QkFDRjt3QkFDQSxLQUFLOzRCQUFVO2dDQUNiYixTQUFTYTtnQ0FDVDs0QkFDRjt3QkFDQTs0QkFBUztnQ0FDUDs0QkFDRjtvQkFDRjtnQkFDRjtZQUNGO1FBQ0Y7SUFDRjtJQUVBLE9BQU9iO0FBQ1QifQ==
44
+ //# sourceMappingURL=getPaymentTotal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utilities/getPaymentTotal.ts"],"sourcesContent":["import type { FieldValues, PaymentField, PriceCondition } from '../types.js'\n\nexport const getPaymentTotal = (\n args: Partial<PaymentField> & {\n fieldValues: FieldValues\n },\n): number => {\n const { basePrice = 0, fieldValues, priceConditions } = args\n\n let total = basePrice\n\n if (Array.isArray(priceConditions) && priceConditions.length > 0) {\n priceConditions.forEach((priceCondition: PriceCondition) => {\n const { condition, fieldToUse, operator, valueForCondition, valueForOperator, valueType } =\n priceCondition\n\n const valueOfField = fieldValues?.[fieldToUse]\n\n if (valueOfField) {\n if (\n condition === 'hasValue' ||\n (condition === 'equals' && valueOfField === valueForCondition) ||\n (condition === 'notEquals' && valueOfField !== valueForCondition)\n ) {\n const valueToUse = Number(valueType === 'valueOfField' ? valueOfField : valueForOperator)\n switch (operator) {\n case 'add': {\n total += valueToUse\n break\n }\n case 'subtract': {\n total -= valueToUse\n break\n }\n case 'multiply': {\n total *= valueToUse\n break\n }\n case 'divide': {\n total /= valueToUse\n break\n }\n default: {\n break\n }\n }\n }\n }\n })\n }\n\n return total\n}\n"],"names":["getPaymentTotal","args","basePrice","fieldValues","priceConditions","total","Array","isArray","length","forEach","priceCondition","condition","fieldToUse","operator","valueForCondition","valueForOperator","valueType","valueOfField","valueToUse","Number"],"mappings":"AAEA,OAAO,MAAMA,kBAAkB,CAC7BC;IAIA,MAAM,EAAEC,YAAY,CAAC,EAAEC,WAAW,EAAEC,eAAe,EAAE,GAAGH;IAExD,IAAII,QAAQH;IAEZ,IAAII,MAAMC,OAAO,CAACH,oBAAoBA,gBAAgBI,MAAM,GAAG,GAAG;QAChEJ,gBAAgBK,OAAO,CAAC,CAACC;YACvB,MAAM,EAAEC,SAAS,EAAEC,UAAU,EAAEC,QAAQ,EAAEC,iBAAiB,EAAEC,gBAAgB,EAAEC,SAAS,EAAE,GACvFN;YAEF,MAAMO,eAAed,aAAa,CAACS,WAAW;YAE9C,IAAIK,cAAc;gBAChB,IACEN,cAAc,cACbA,cAAc,YAAYM,iBAAiBH,qBAC3CH,cAAc,eAAeM,iBAAiBH,mBAC/C;oBACA,MAAMI,aAAaC,OAAOH,cAAc,iBAAiBC,eAAeF;oBACxE,OAAQF;wBACN,KAAK;4BAAO;gCACVR,SAASa;gCACT;4BACF;wBACA,KAAK;4BAAY;gCACfb,SAASa;gCACT;4BACF;wBACA,KAAK;4BAAY;gCACfb,SAASa;gCACT;4BACF;wBACA,KAAK;4BAAU;gCACbb,SAASa;gCACT;4BACF;wBACA;4BAAS;gCACP;4BACF;oBACF;gBACF;YACF;QACF;IACF;IAEA,OAAOb;AACT,EAAC"}
@@ -1,17 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "HeadingHTMLConverter", {
6
- enumerable: true,
7
- get: function() {
8
- return HeadingHTMLConverter;
9
- }
10
- });
11
- const _serializeLexical = require("../serializeLexical");
12
- const HeadingHTMLConverter = {
1
+ import { convertLexicalNodesToHTML } from '../serializeLexical.js';
2
+ export const HeadingHTMLConverter = {
13
3
  async converter ({ converters, node, parent, submissionData }) {
14
- const childrenText = await (0, _serializeLexical.convertLexicalNodesToHTML)({
4
+ const childrenText = await convertLexicalNodesToHTML({
15
5
  converters,
16
6
  lexicalNodes: node.children,
17
7
  parent: {
@@ -27,4 +17,4 @@ const HeadingHTMLConverter = {
27
17
  ]
28
18
  };
29
19
 
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlsaXRpZXMvbGV4aWNhbC9jb252ZXJ0ZXJzL2hlYWRpbmcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBIVE1MQ29udmVydGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IGNvbnZlcnRMZXhpY2FsTm9kZXNUb0hUTUwgfSBmcm9tICcuLi9zZXJpYWxpemVMZXhpY2FsJ1xuXG5leHBvcnQgY29uc3QgSGVhZGluZ0hUTUxDb252ZXJ0ZXI6IEhUTUxDb252ZXJ0ZXI8YW55PiA9IHtcbiAgYXN5bmMgY29udmVydGVyKHsgY29udmVydGVycywgbm9kZSwgcGFyZW50LCBzdWJtaXNzaW9uRGF0YSB9KSB7XG4gICAgY29uc3QgY2hpbGRyZW5UZXh0ID0gYXdhaXQgY29udmVydExleGljYWxOb2Rlc1RvSFRNTCh7XG4gICAgICBjb252ZXJ0ZXJzLFxuICAgICAgbGV4aWNhbE5vZGVzOiBub2RlLmNoaWxkcmVuLFxuICAgICAgcGFyZW50OiB7XG4gICAgICAgIC4uLm5vZGUsXG4gICAgICAgIHBhcmVudCxcbiAgICAgIH0sXG4gICAgICBzdWJtaXNzaW9uRGF0YSxcbiAgICB9KVxuXG4gICAgcmV0dXJuICc8JyArIG5vZGU/LnRhZyArICc+JyArIGNoaWxkcmVuVGV4dCArICc8LycgKyBub2RlPy50YWcgKyAnPidcbiAgfSxcbiAgbm9kZVR5cGVzOiBbJ2hlYWRpbmcnXSxcbn1cbiJdLCJuYW1lcyI6WyJIZWFkaW5nSFRNTENvbnZlcnRlciIsImNvbnZlcnRlciIsImNvbnZlcnRlcnMiLCJub2RlIiwicGFyZW50Iiwic3VibWlzc2lvbkRhdGEiLCJjaGlsZHJlblRleHQiLCJjb252ZXJ0TGV4aWNhbE5vZGVzVG9IVE1MIiwibGV4aWNhbE5vZGVzIiwiY2hpbGRyZW4iLCJ0YWciLCJub2RlVHlwZXMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBSWFBOzs7ZUFBQUE7OztrQ0FGNkI7QUFFbkMsTUFBTUEsdUJBQTJDO0lBQ3RELE1BQU1DLFdBQVUsRUFBRUMsVUFBVSxFQUFFQyxJQUFJLEVBQUVDLE1BQU0sRUFBRUMsY0FBYyxFQUFFO1FBQzFELE1BQU1DLGVBQWUsTUFBTUMsSUFBQUEsMkNBQXlCLEVBQUM7WUFDbkRMO1lBQ0FNLGNBQWNMLEtBQUtNLFFBQVE7WUFDM0JMLFFBQVE7Z0JBQ04sR0FBR0QsSUFBSTtnQkFDUEM7WUFDRjtZQUNBQztRQUNGO1FBRUEsT0FBTyxNQUFNRixNQUFNTyxNQUFNLE1BQU1KLGVBQWUsT0FBT0gsTUFBTU8sTUFBTTtJQUNuRTtJQUNBQyxXQUFXO1FBQUM7S0FBVTtBQUN4QiJ9
20
+ //# sourceMappingURL=heading.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/utilities/lexical/converters/heading.ts"],"sourcesContent":["import type { HTMLConverter } from '../types.js'\n\nimport { convertLexicalNodesToHTML } from '../serializeLexical.js'\n\nexport const HeadingHTMLConverter: HTMLConverter<any> = {\n async converter({ converters, node, parent, submissionData }) {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: node.children,\n parent: {\n ...node,\n parent,\n },\n submissionData,\n })\n\n return '<' + node?.tag + '>' + childrenText + '</' + node?.tag + '>'\n },\n nodeTypes: ['heading'],\n}\n"],"names":["convertLexicalNodesToHTML","HeadingHTMLConverter","converter","converters","node","parent","submissionData","childrenText","lexicalNodes","children","tag","nodeTypes"],"mappings":"AAEA,SAASA,yBAAyB,QAAQ,yBAAwB;AAElE,OAAO,MAAMC,uBAA2C;IACtD,MAAMC,WAAU,EAAEC,UAAU,EAAEC,IAAI,EAAEC,MAAM,EAAEC,cAAc,EAAE;QAC1D,MAAMC,eAAe,MAAMP,0BAA0B;YACnDG;YACAK,cAAcJ,KAAKK,QAAQ;YAC3BJ,QAAQ;gBACN,GAAGD,IAAI;gBACPC;YACF;YACAC;QACF;QAEA,OAAO,MAAMF,MAAMM,MAAM,MAAMH,eAAe,OAAOH,MAAMM,MAAM;IACnE;IACAC,WAAW;QAAC;KAAU;AACxB,EAAC"}
@@ -1,14 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "LinebreakHTMLConverter", {
6
- enumerable: true,
7
- get: function() {
8
- return LinebreakHTMLConverter;
9
- }
10
- });
11
- const LinebreakHTMLConverter = {
1
+ export const LinebreakHTMLConverter = {
12
2
  converter () {
13
3
  return `<br>`;
14
4
  },
@@ -17,4 +7,4 @@ const LinebreakHTMLConverter = {
17
7
  ]
18
8
  };
19
9
 
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlsaXRpZXMvbGV4aWNhbC9jb252ZXJ0ZXJzL2xpbmVicmVhay50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEhUTUxDb252ZXJ0ZXIgfSBmcm9tICcuLi90eXBlcydcblxuZXhwb3J0IGNvbnN0IExpbmVicmVha0hUTUxDb252ZXJ0ZXI6IEhUTUxDb252ZXJ0ZXI8YW55PiA9IHtcbiAgY29udmVydGVyKCkge1xuICAgIHJldHVybiBgPGJyPmBcbiAgfSxcbiAgbm9kZVR5cGVzOiBbJ2xpbmVicmVhayddLFxufVxuIl0sIm5hbWVzIjpbIkxpbmVicmVha0hUTUxDb252ZXJ0ZXIiLCJjb252ZXJ0ZXIiLCJub2RlVHlwZXMiXSwibWFwcGluZ3MiOiI7Ozs7K0JBRWFBOzs7ZUFBQUE7OztBQUFOLE1BQU1BLHlCQUE2QztJQUN4REM7UUFDRSxPQUFPLENBQUMsSUFBSSxDQUFDO0lBQ2Y7SUFDQUMsV0FBVztRQUFDO0tBQVk7QUFDMUIifQ==
10
+ //# sourceMappingURL=linebreak.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/utilities/lexical/converters/linebreak.ts"],"sourcesContent":["import type { HTMLConverter } from '../types.js'\n\nexport const LinebreakHTMLConverter: HTMLConverter<any> = {\n converter() {\n return `<br>`\n },\n nodeTypes: ['linebreak'],\n}\n"],"names":["LinebreakHTMLConverter","converter","nodeTypes"],"mappings":"AAEA,OAAO,MAAMA,yBAA6C;IACxDC;QACE,OAAO,CAAC,IAAI,CAAC;IACf;IACAC,WAAW;QAAC;KAAY;AAC1B,EAAC"}
@@ -1,18 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "LinkHTMLConverter", {
6
- enumerable: true,
7
- get: function() {
8
- return LinkHTMLConverter;
9
- }
10
- });
11
- const _replaceDoubleCurlys = require("../../replaceDoubleCurlys");
12
- const _serializeLexical = require("../serializeLexical");
13
- const LinkHTMLConverter = {
1
+ import { replaceDoubleCurlys } from '../../replaceDoubleCurlys.js';
2
+ import { convertLexicalNodesToHTML } from '../serializeLexical.js';
3
+ export const LinkHTMLConverter = {
14
4
  async converter ({ converters, node, parent, submissionData }) {
15
- const childrenText = await (0, _serializeLexical.convertLexicalNodesToHTML)({
5
+ const childrenText = await convertLexicalNodesToHTML({
16
6
  converters,
17
7
  lexicalNodes: node.children,
18
8
  parent: {
@@ -22,15 +12,16 @@ const LinkHTMLConverter = {
22
12
  submissionData
23
13
  });
24
14
  const rel = node.fields.newTab ? ' rel="noopener noreferrer"' : '';
15
+ const target = node.fields.newTab ? ' target="_blank"' : '';
25
16
  let href = node.fields.linkType === 'custom' ? node.fields.url : node.fields.doc?.value?.id;
26
17
  if (submissionData) {
27
- href = (0, _replaceDoubleCurlys.replaceDoubleCurlys)(href, submissionData);
18
+ href = replaceDoubleCurlys(href, submissionData);
28
19
  }
29
- return `<a href="${href}"${rel}>${childrenText}</a>`;
20
+ return `<a href="${href}"${target}${rel}>${childrenText}</a>`;
30
21
  },
31
22
  nodeTypes: [
32
23
  'link'
33
24
  ]
34
25
  };
35
26
 
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlsaXRpZXMvbGV4aWNhbC9jb252ZXJ0ZXJzL2xpbmsudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBIVE1MQ29udmVydGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IHJlcGxhY2VEb3VibGVDdXJseXMgfSBmcm9tICcuLi8uLi9yZXBsYWNlRG91YmxlQ3VybHlzJ1xuaW1wb3J0IHsgY29udmVydExleGljYWxOb2Rlc1RvSFRNTCB9IGZyb20gJy4uL3NlcmlhbGl6ZUxleGljYWwnXG5cbmV4cG9ydCBjb25zdCBMaW5rSFRNTENvbnZlcnRlcjogSFRNTENvbnZlcnRlcjxhbnk+ID0ge1xuICBhc3luYyBjb252ZXJ0ZXIoeyBjb252ZXJ0ZXJzLCBub2RlLCBwYXJlbnQsIHN1Ym1pc3Npb25EYXRhIH0pIHtcbiAgICBjb25zdCBjaGlsZHJlblRleHQgPSBhd2FpdCBjb252ZXJ0TGV4aWNhbE5vZGVzVG9IVE1MKHtcbiAgICAgIGNvbnZlcnRlcnMsXG4gICAgICBsZXhpY2FsTm9kZXM6IG5vZGUuY2hpbGRyZW4sXG4gICAgICBwYXJlbnQ6IHtcbiAgICAgICAgLi4ubm9kZSxcbiAgICAgICAgcGFyZW50LFxuICAgICAgfSxcbiAgICAgIHN1Ym1pc3Npb25EYXRhLFxuICAgIH0pXG5cbiAgICBjb25zdCByZWw6IHN0cmluZyA9IG5vZGUuZmllbGRzLm5ld1RhYiA/ICcgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiJyA6ICcnXG5cbiAgICBsZXQgaHJlZjogc3RyaW5nID1cbiAgICAgIG5vZGUuZmllbGRzLmxpbmtUeXBlID09PSAnY3VzdG9tJyA/IG5vZGUuZmllbGRzLnVybCA6IG5vZGUuZmllbGRzLmRvYz8udmFsdWU/LmlkXG5cbiAgICBpZiAoc3VibWlzc2lvbkRhdGEpIHtcbiAgICAgIGhyZWYgPSByZXBsYWNlRG91YmxlQ3VybHlzKGhyZWYsIHN1Ym1pc3Npb25EYXRhKVxuICAgIH1cblxuICAgIHJldHVybiBgPGEgaHJlZj1cIiR7aHJlZn1cIiR7cmVsfT4ke2NoaWxkcmVuVGV4dH08L2E+YFxuICB9LFxuICBub2RlVHlwZXM6IFsnbGluayddLFxufVxuIl0sIm5hbWVzIjpbIkxpbmtIVE1MQ29udmVydGVyIiwiY29udmVydGVyIiwiY29udmVydGVycyIsIm5vZGUiLCJwYXJlbnQiLCJzdWJtaXNzaW9uRGF0YSIsImNoaWxkcmVuVGV4dCIsImNvbnZlcnRMZXhpY2FsTm9kZXNUb0hUTUwiLCJsZXhpY2FsTm9kZXMiLCJjaGlsZHJlbiIsInJlbCIsImZpZWxkcyIsIm5ld1RhYiIsImhyZWYiLCJsaW5rVHlwZSIsInVybCIsImRvYyIsInZhbHVlIiwiaWQiLCJyZXBsYWNlRG91YmxlQ3VybHlzIiwibm9kZVR5cGVzIl0sIm1hcHBpbmdzIjoiOzs7OytCQUthQTs7O2VBQUFBOzs7cUNBSHVCO2tDQUNNO0FBRW5DLE1BQU1BLG9CQUF3QztJQUNuRCxNQUFNQyxXQUFVLEVBQUVDLFVBQVUsRUFBRUMsSUFBSSxFQUFFQyxNQUFNLEVBQUVDLGNBQWMsRUFBRTtRQUMxRCxNQUFNQyxlQUFlLE1BQU1DLElBQUFBLDJDQUF5QixFQUFDO1lBQ25ETDtZQUNBTSxjQUFjTCxLQUFLTSxRQUFRO1lBQzNCTCxRQUFRO2dCQUNOLEdBQUdELElBQUk7Z0JBQ1BDO1lBQ0Y7WUFDQUM7UUFDRjtRQUVBLE1BQU1LLE1BQWNQLEtBQUtRLE1BQU0sQ0FBQ0MsTUFBTSxHQUFHLCtCQUErQjtRQUV4RSxJQUFJQyxPQUNGVixLQUFLUSxNQUFNLENBQUNHLFFBQVEsS0FBSyxXQUFXWCxLQUFLUSxNQUFNLENBQUNJLEdBQUcsR0FBR1osS0FBS1EsTUFBTSxDQUFDSyxHQUFHLEVBQUVDLE9BQU9DO1FBRWhGLElBQUliLGdCQUFnQjtZQUNsQlEsT0FBT00sSUFBQUEsd0NBQW1CLEVBQUNOLE1BQU1SO1FBQ25DO1FBRUEsT0FBTyxDQUFDLFNBQVMsRUFBRVEsS0FBSyxDQUFDLEVBQUVILElBQUksQ0FBQyxFQUFFSixhQUFhLElBQUksQ0FBQztJQUN0RDtJQUNBYyxXQUFXO1FBQUM7S0FBTztBQUNyQiJ9
27
+ //# sourceMappingURL=link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/utilities/lexical/converters/link.ts"],"sourcesContent":["import type { HTMLConverter } from '../types.js'\n\nimport { replaceDoubleCurlys } from '../../replaceDoubleCurlys.js'\nimport { convertLexicalNodesToHTML } from '../serializeLexical.js'\n\nexport const LinkHTMLConverter: HTMLConverter<any> = {\n async converter({ converters, node, parent, submissionData }) {\n const childrenText = await convertLexicalNodesToHTML({\n converters,\n lexicalNodes: node.children,\n parent: {\n ...node,\n parent,\n },\n submissionData,\n })\n\n const rel: string = node.fields.newTab ? ' rel=\"noopener noreferrer\"' : ''\n const target: string = node.fields.newTab ? ' target=\"_blank\"' : ''\n\n let href: string =\n node.fields.linkType === 'custom' ? node.fields.url : node.fields.doc?.value?.id\n\n if (submissionData) {\n href = replaceDoubleCurlys(href, submissionData)\n }\n\n return `<a href=\"${href}\"${target}${rel}>${childrenText}</a>`\n },\n nodeTypes: ['link'],\n}\n"],"names":["replaceDoubleCurlys","convertLexicalNodesToHTML","LinkHTMLConverter","converter","converters","node","parent","submissionData","childrenText","lexicalNodes","children","rel","fields","newTab","target","href","linkType","url","doc","value","id","nodeTypes"],"mappings":"AAEA,SAASA,mBAAmB,QAAQ,+BAA8B;AAClE,SAASC,yBAAyB,QAAQ,yBAAwB;AAElE,OAAO,MAAMC,oBAAwC;IACnD,MAAMC,WAAU,EAAEC,UAAU,EAAEC,IAAI,EAAEC,MAAM,EAAEC,cAAc,EAAE;QAC1D,MAAMC,eAAe,MAAMP,0BAA0B;YACnDG;YACAK,cAAcJ,KAAKK,QAAQ;YAC3BJ,QAAQ;gBACN,GAAGD,IAAI;gBACPC;YACF;YACAC;QACF;QAEA,MAAMI,MAAcN,KAAKO,MAAM,CAACC,MAAM,GAAG,+BAA+B;QACxE,MAAMC,SAAiBT,KAAKO,MAAM,CAACC,MAAM,GAAG,qBAAqB;QAEjE,IAAIE,OACFV,KAAKO,MAAM,CAACI,QAAQ,KAAK,WAAWX,KAAKO,MAAM,CAACK,GAAG,GAAGZ,KAAKO,MAAM,CAACM,GAAG,EAAEC,OAAOC;QAEhF,IAAIb,gBAAgB;YAClBQ,OAAOf,oBAAoBe,MAAMR;QACnC;QAEA,OAAO,CAAC,SAAS,EAAEQ,KAAK,CAAC,EAAED,OAAO,EAAEH,IAAI,CAAC,EAAEH,aAAa,IAAI,CAAC;IAC/D;IACAa,WAAW;QAAC;KAAO;AACrB,EAAC"}