@payloadcms/plugin-search 1.0.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 (62) hide show
  1. package/README.md +129 -0
  2. package/dist/Search/hooks/deleteFromSearch.d.ts +3 -0
  3. package/dist/Search/hooks/deleteFromSearch.js +76 -0
  4. package/dist/Search/hooks/deleteFromSearch.js.map +1 -0
  5. package/dist/Search/hooks/syncWithSearch.d.ts +3 -0
  6. package/dist/Search/hooks/syncWithSearch.js +201 -0
  7. package/dist/Search/hooks/syncWithSearch.js.map +1 -0
  8. package/dist/Search/index.d.ts +3 -0
  9. package/dist/Search/index.js +68 -0
  10. package/dist/Search/index.js.map +1 -0
  11. package/dist/Search/ui/index.d.ts +3 -0
  12. package/dist/Search/ui/index.js +32 -0
  13. package/dist/Search/ui/index.js.map +1 -0
  14. package/dist/collections/FormSubmissions/hooks/createCharge.d.ts +3 -0
  15. package/dist/collections/FormSubmissions/hooks/createCharge.js +53 -0
  16. package/dist/collections/FormSubmissions/hooks/createCharge.js.map +1 -0
  17. package/dist/collections/FormSubmissions/hooks/sendEmail.d.ts +3 -0
  18. package/dist/collections/FormSubmissions/hooks/sendEmail.js +151 -0
  19. package/dist/collections/FormSubmissions/hooks/sendEmail.js.map +1 -0
  20. package/dist/collections/FormSubmissions/index.d.ts +3 -0
  21. package/dist/collections/FormSubmissions/index.js +137 -0
  22. package/dist/collections/FormSubmissions/index.js.map +1 -0
  23. package/dist/collections/Forms/DynamicFieldSelector.d.ts +3 -0
  24. package/dist/collections/Forms/DynamicFieldSelector.js +62 -0
  25. package/dist/collections/Forms/DynamicFieldSelector.js.map +1 -0
  26. package/dist/collections/Forms/DynamicPriceSelector.d.ts +3 -0
  27. package/dist/collections/Forms/DynamicPriceSelector.js +77 -0
  28. package/dist/collections/Forms/DynamicPriceSelector.js.map +1 -0
  29. package/dist/collections/Forms/fields.d.ts +6 -0
  30. package/dist/collections/Forms/fields.js +456 -0
  31. package/dist/collections/Forms/fields.js.map +1 -0
  32. package/dist/collections/Forms/index.d.ts +3 -0
  33. package/dist/collections/Forms/index.js +194 -0
  34. package/dist/collections/Forms/index.js.map +1 -0
  35. package/dist/collections/Search/index.d.ts +3 -0
  36. package/dist/collections/Search/index.js +63 -0
  37. package/dist/collections/Search/index.js.map +1 -0
  38. package/dist/index.d.ts +4 -0
  39. package/dist/index.js +96 -0
  40. package/dist/index.js.map +1 -0
  41. package/dist/mocks/serverModule.d.ts +2 -0
  42. package/dist/mocks/serverModule.js +4 -0
  43. package/dist/mocks/serverModule.js.map +1 -0
  44. package/dist/types.d.ts +28 -0
  45. package/dist/types.js +3 -0
  46. package/dist/types.js.map +1 -0
  47. package/dist/utilities/calculatePaymentTotal.d.ts +4 -0
  48. package/dist/utilities/calculatePaymentTotal.js +47 -0
  49. package/dist/utilities/calculatePaymentTotal.js.map +1 -0
  50. package/dist/utilities/deepMerge.d.ts +2 -0
  51. package/dist/utilities/deepMerge.js +44 -0
  52. package/dist/utilities/deepMerge.js.map +1 -0
  53. package/dist/utilities/getPaymentTotal.d.ts +4 -0
  54. package/dist/utilities/getPaymentTotal.js +44 -0
  55. package/dist/utilities/getPaymentTotal.js.map +1 -0
  56. package/dist/utilities/replaceDoubleCurlys.d.ts +7 -0
  57. package/dist/utilities/replaceDoubleCurlys.js +20 -0
  58. package/dist/utilities/replaceDoubleCurlys.js.map +1 -0
  59. package/dist/utilities/serializeRichText.d.ts +10 -0
  60. package/dist/utilities/serializeRichText.js +49 -0
  61. package/dist/utilities/serializeRichText.js.map +1 -0
  62. package/package.json +39 -0
@@ -0,0 +1,456 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ var DynamicFieldSelector_1 = require("./DynamicFieldSelector");
15
+ var DynamicPriceSelector_1 = require("./DynamicPriceSelector");
16
+ var name = {
17
+ name: 'name',
18
+ label: 'Name (lowercase, no special characters)',
19
+ type: 'text',
20
+ required: true,
21
+ };
22
+ var label = {
23
+ name: 'label',
24
+ label: 'Label',
25
+ type: 'text',
26
+ required: true,
27
+ };
28
+ var required = {
29
+ name: 'required',
30
+ label: 'Required',
31
+ type: 'checkbox',
32
+ };
33
+ var width = {
34
+ name: 'width',
35
+ label: 'Field Width (percentage)',
36
+ type: 'number',
37
+ };
38
+ var Select = {
39
+ slug: 'select',
40
+ labels: {
41
+ singular: 'Select',
42
+ plural: 'Select Fields',
43
+ },
44
+ fields: [
45
+ {
46
+ type: 'row',
47
+ fields: [
48
+ __assign(__assign({}, name), { admin: {
49
+ width: '50%',
50
+ } }),
51
+ __assign(__assign({}, label), { admin: {
52
+ width: '50%',
53
+ } }),
54
+ ],
55
+ },
56
+ {
57
+ type: 'row',
58
+ fields: [
59
+ __assign(__assign({}, width), { admin: {
60
+ width: '50%',
61
+ } }),
62
+ {
63
+ name: 'defaultValue',
64
+ label: 'Default Value',
65
+ type: 'text',
66
+ admin: {
67
+ width: '50%',
68
+ },
69
+ },
70
+ ],
71
+ },
72
+ {
73
+ name: 'options',
74
+ label: 'Select Attribute Options',
75
+ type: 'array',
76
+ labels: {
77
+ singular: 'Option',
78
+ plural: 'Options',
79
+ },
80
+ fields: [
81
+ {
82
+ type: 'row',
83
+ fields: [
84
+ {
85
+ name: 'label',
86
+ label: 'Label',
87
+ type: 'text',
88
+ required: true,
89
+ admin: {
90
+ width: '50%',
91
+ },
92
+ },
93
+ {
94
+ name: 'value',
95
+ label: 'Value',
96
+ type: 'text',
97
+ required: true,
98
+ admin: {
99
+ width: '50%',
100
+ },
101
+ },
102
+ ],
103
+ },
104
+ ],
105
+ },
106
+ required,
107
+ ],
108
+ };
109
+ var Text = {
110
+ slug: 'text',
111
+ labels: {
112
+ singular: 'Text',
113
+ plural: 'Text Fields',
114
+ },
115
+ fields: [
116
+ {
117
+ type: 'row',
118
+ fields: [
119
+ __assign(__assign({}, name), { admin: {
120
+ width: '50%',
121
+ } }),
122
+ __assign(__assign({}, label), { admin: {
123
+ width: '50%',
124
+ } }),
125
+ ],
126
+ },
127
+ {
128
+ type: 'row',
129
+ fields: [
130
+ __assign(__assign({}, width), { admin: {
131
+ width: '50%',
132
+ } }),
133
+ {
134
+ name: 'defaultValue',
135
+ label: 'Default Value',
136
+ type: 'text',
137
+ admin: {
138
+ width: '50%',
139
+ },
140
+ },
141
+ ],
142
+ },
143
+ required,
144
+ ],
145
+ };
146
+ var Number = {
147
+ slug: 'number',
148
+ labels: {
149
+ singular: 'Number',
150
+ plural: 'Number Fields',
151
+ },
152
+ fields: [
153
+ {
154
+ type: 'row',
155
+ fields: [
156
+ __assign(__assign({}, name), { admin: {
157
+ width: '50%',
158
+ } }),
159
+ __assign(__assign({}, label), { admin: {
160
+ width: '50%',
161
+ } }),
162
+ ],
163
+ },
164
+ {
165
+ type: 'row',
166
+ fields: [
167
+ __assign(__assign({}, width), { admin: {
168
+ width: '50%',
169
+ } }),
170
+ {
171
+ name: 'defaultValue',
172
+ label: 'Default Value',
173
+ type: 'number',
174
+ admin: {
175
+ width: '50%',
176
+ },
177
+ },
178
+ ],
179
+ },
180
+ required,
181
+ ],
182
+ };
183
+ var Email = {
184
+ slug: 'email',
185
+ labels: {
186
+ singular: 'Email',
187
+ plural: 'Email Fields',
188
+ },
189
+ fields: [
190
+ {
191
+ type: 'row',
192
+ fields: [
193
+ __assign(__assign({}, name), { admin: {
194
+ width: '50%',
195
+ } }),
196
+ __assign(__assign({}, label), { admin: {
197
+ width: '50%',
198
+ } }),
199
+ ],
200
+ },
201
+ width,
202
+ required,
203
+ ],
204
+ };
205
+ var State = {
206
+ slug: 'state',
207
+ labels: {
208
+ singular: 'State',
209
+ plural: 'State Fields',
210
+ },
211
+ fields: [
212
+ {
213
+ type: 'row',
214
+ fields: [
215
+ __assign(__assign({}, name), { admin: {
216
+ width: '50%',
217
+ } }),
218
+ __assign(__assign({}, label), { admin: {
219
+ width: '50%',
220
+ } }),
221
+ ],
222
+ },
223
+ width,
224
+ required,
225
+ ],
226
+ };
227
+ var Country = {
228
+ slug: 'country',
229
+ labels: {
230
+ singular: 'Country',
231
+ plural: 'Country Fields',
232
+ },
233
+ fields: [
234
+ {
235
+ type: 'row',
236
+ fields: [
237
+ __assign(__assign({}, name), { admin: {
238
+ width: '50%',
239
+ } }),
240
+ __assign(__assign({}, label), { admin: {
241
+ width: '50%',
242
+ } }),
243
+ ],
244
+ },
245
+ width,
246
+ required,
247
+ ],
248
+ };
249
+ var Checkbox = {
250
+ slug: 'checkbox',
251
+ labels: {
252
+ singular: 'Checkbox',
253
+ plural: 'Checkbox Fields',
254
+ },
255
+ fields: [
256
+ {
257
+ type: 'row',
258
+ fields: [
259
+ __assign(__assign({}, name), { admin: {
260
+ width: '50%',
261
+ } }),
262
+ __assign(__assign({}, label), { admin: {
263
+ width: '50%',
264
+ } }),
265
+ ],
266
+ },
267
+ {
268
+ type: 'row',
269
+ fields: [
270
+ __assign(__assign({}, width), { admin: {
271
+ width: '50%',
272
+ } }),
273
+ __assign(__assign({}, required), { admin: {
274
+ width: '50%',
275
+ } }),
276
+ ],
277
+ },
278
+ {
279
+ name: 'defaultValue',
280
+ label: 'Default Value',
281
+ type: 'checkbox',
282
+ },
283
+ ],
284
+ };
285
+ var Payment = function (fieldConfig) {
286
+ var paymentProcessorField = null;
287
+ if (fieldConfig === null || fieldConfig === void 0 ? void 0 : fieldConfig.paymentProcessor) {
288
+ paymentProcessorField = __assign({ type: 'select', options: [], name: 'paymentProcessor', label: 'Payment Processor' }, fieldConfig.paymentProcessor);
289
+ }
290
+ return ({
291
+ slug: 'payment',
292
+ labels: {
293
+ singular: 'Payment',
294
+ plural: 'Payment Fields',
295
+ },
296
+ fields: [
297
+ {
298
+ type: 'row',
299
+ fields: [
300
+ __assign(__assign({}, name), { admin: {
301
+ width: '50%',
302
+ } }),
303
+ __assign(__assign({}, label), { admin: {
304
+ width: '50%',
305
+ } }),
306
+ ],
307
+ },
308
+ {
309
+ type: 'row',
310
+ fields: [
311
+ __assign(__assign({}, width), { admin: {
312
+ width: '50%',
313
+ } }),
314
+ {
315
+ name: 'basePrice',
316
+ type: 'number',
317
+ label: 'Base Price',
318
+ admin: {
319
+ width: '50%',
320
+ },
321
+ },
322
+ ],
323
+ },
324
+ paymentProcessorField,
325
+ {
326
+ name: 'priceConditions',
327
+ labels: {
328
+ singular: 'Price Condition',
329
+ plural: 'Price Conditions',
330
+ },
331
+ type: 'array',
332
+ label: 'Price Conditions',
333
+ fields: [
334
+ {
335
+ name: 'fieldToUse',
336
+ type: 'text',
337
+ admin: {
338
+ components: {
339
+ Field: DynamicFieldSelector_1.DynamicFieldSelector,
340
+ },
341
+ },
342
+ },
343
+ {
344
+ name: 'condition',
345
+ label: 'Condition',
346
+ type: 'select',
347
+ defaultValue: 'hasValue',
348
+ options: [
349
+ {
350
+ value: 'hasValue',
351
+ label: 'Has Any Value'
352
+ },
353
+ {
354
+ value: 'equals',
355
+ label: 'Equals'
356
+ },
357
+ {
358
+ value: 'notEquals',
359
+ label: 'Does Not Equal'
360
+ }
361
+ ]
362
+ },
363
+ {
364
+ name: 'valueForCondition',
365
+ label: 'Value',
366
+ type: 'text',
367
+ admin: {
368
+ condition: function (_, _a) {
369
+ var condition = _a.condition;
370
+ return condition === 'equals' || condition === 'notEquals';
371
+ }
372
+ }
373
+ },
374
+ {
375
+ name: 'operator',
376
+ type: 'select',
377
+ defaultValue: 'add',
378
+ options: [
379
+ {
380
+ value: 'add',
381
+ label: 'Add'
382
+ },
383
+ {
384
+ value: 'subtract',
385
+ label: 'Subtract'
386
+ },
387
+ {
388
+ value: 'multiply',
389
+ label: 'Multiply'
390
+ },
391
+ {
392
+ value: 'divide',
393
+ label: 'Divide'
394
+ }
395
+ ]
396
+ },
397
+ {
398
+ name: 'valueType',
399
+ label: 'Value Type',
400
+ type: 'radio',
401
+ admin: {
402
+ width: '100%',
403
+ },
404
+ defaultValue: 'static',
405
+ options: [
406
+ {
407
+ label: 'Static Value',
408
+ value: 'static'
409
+ },
410
+ {
411
+ label: 'Value Of Field',
412
+ value: 'valueOfField'
413
+ }
414
+ ]
415
+ },
416
+ {
417
+ name: 'valueForOperator',
418
+ label: 'Value',
419
+ type: 'text',
420
+ admin: {
421
+ components: {
422
+ Field: DynamicPriceSelector_1.DynamicPriceSelector,
423
+ },
424
+ },
425
+ },
426
+ ]
427
+ },
428
+ required,
429
+ ].filter(Boolean)
430
+ });
431
+ };
432
+ var Message = {
433
+ slug: 'message',
434
+ labels: {
435
+ singular: 'Message',
436
+ plural: 'Message Blocks',
437
+ },
438
+ fields: [
439
+ {
440
+ name: 'message',
441
+ type: 'richText',
442
+ },
443
+ ],
444
+ };
445
+ exports.default = {
446
+ select: Select,
447
+ checkbox: Checkbox,
448
+ text: Text,
449
+ email: Email,
450
+ message: Message,
451
+ number: Number,
452
+ country: Country,
453
+ state: State,
454
+ payment: Payment
455
+ };
456
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../src/collections/Forms/fields.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { CollectionConfig } from 'payload/types';
2
+ import { FormConfig } from '../../types';
3
+ export declare const generateFormCollection: (formConfig: FormConfig) => CollectionConfig;
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.generateFormCollection = void 0;
7
+ var fields_1 = __importDefault(require("./fields"));
8
+ var deepMerge_1 = __importDefault(require("../../utilities/deepMerge"));
9
+ // all settings can be overridden by the config
10
+ var generateFormCollection = function (formConfig) {
11
+ var _a;
12
+ return (0, deepMerge_1.default)({
13
+ slug: ((_a = formConfig === null || formConfig === void 0 ? void 0 : formConfig.formOverrides) === null || _a === void 0 ? void 0 : _a.slug) || 'forms',
14
+ admin: {
15
+ useAsTitle: 'title',
16
+ enableRichTextRelationship: false,
17
+ },
18
+ access: {
19
+ read: function () { return true; },
20
+ },
21
+ fields: [
22
+ {
23
+ name: 'title',
24
+ type: 'text',
25
+ required: true,
26
+ },
27
+ {
28
+ name: 'fields',
29
+ type: 'blocks',
30
+ blocks: Object.entries((formConfig === null || formConfig === void 0 ? void 0 : formConfig.fields) || {}).map(function (_a) {
31
+ var fieldKey = _a[0], fieldConfig = _a[1];
32
+ // let the config enable/disable fields with either boolean values or objects
33
+ if (fieldConfig !== false) {
34
+ var block = fields_1.default[fieldKey];
35
+ if (typeof block === 'function') {
36
+ block = block(fieldConfig);
37
+ }
38
+ return block;
39
+ }
40
+ return null;
41
+ }).filter(Boolean),
42
+ },
43
+ {
44
+ name: 'submitButtonLabel',
45
+ type: 'text',
46
+ },
47
+ {
48
+ name: 'confirmationType',
49
+ type: 'radio',
50
+ admin: {
51
+ description: 'Choose whether to display an on-page message or redirect to a different page after they submit the form.',
52
+ layout: 'horizontal',
53
+ },
54
+ options: [
55
+ {
56
+ label: 'Message',
57
+ value: 'message',
58
+ },
59
+ {
60
+ label: 'Redirect',
61
+ value: 'redirect',
62
+ },
63
+ ],
64
+ defaultValue: 'message',
65
+ },
66
+ {
67
+ name: 'confirmationMessage',
68
+ type: 'richText',
69
+ required: true,
70
+ admin: {
71
+ condition: function (_, siblingData) { return (siblingData === null || siblingData === void 0 ? void 0 : siblingData.confirmationType) === 'message'; },
72
+ },
73
+ },
74
+ {
75
+ name: 'redirect',
76
+ type: 'group',
77
+ admin: {
78
+ hideGutter: true,
79
+ condition: function (_, siblingData) { return (siblingData === null || siblingData === void 0 ? void 0 : siblingData.confirmationType) === 'redirect'; },
80
+ },
81
+ fields: [
82
+ {
83
+ name: 'type',
84
+ type: 'radio',
85
+ options: [
86
+ {
87
+ label: 'Internal link',
88
+ value: 'reference',
89
+ },
90
+ {
91
+ label: 'Custom URL',
92
+ value: 'custom',
93
+ },
94
+ ],
95
+ defaultValue: 'reference',
96
+ admin: {
97
+ layout: 'horizontal',
98
+ },
99
+ },
100
+ {
101
+ name: 'reference',
102
+ label: 'Document to link to',
103
+ type: 'relationship',
104
+ relationTo: formConfig.redirectRelationships || [],
105
+ required: true,
106
+ maxDepth: 2,
107
+ admin: {
108
+ condition: function (_, siblingData) { return (siblingData === null || siblingData === void 0 ? void 0 : siblingData.type) === 'reference'; },
109
+ },
110
+ },
111
+ {
112
+ name: 'url',
113
+ label: 'Custom URL',
114
+ type: 'text',
115
+ required: true,
116
+ admin: {
117
+ condition: function (_, siblingData) { return (siblingData === null || siblingData === void 0 ? void 0 : siblingData.type) === 'custom'; },
118
+ },
119
+ },
120
+ ],
121
+ },
122
+ {
123
+ name: 'emails',
124
+ type: 'array',
125
+ admin: {
126
+ 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}}.',
127
+ },
128
+ fields: [
129
+ {
130
+ type: 'row',
131
+ fields: [
132
+ {
133
+ type: 'text',
134
+ name: 'emailTo',
135
+ label: 'Email To',
136
+ required: true,
137
+ admin: {
138
+ width: '50%',
139
+ },
140
+ },
141
+ {
142
+ type: 'text',
143
+ name: 'emailFrom',
144
+ label: 'Email From',
145
+ admin: {
146
+ width: '50%',
147
+ placeholder: '{{email}}',
148
+ },
149
+ },
150
+ ],
151
+ },
152
+ {
153
+ type: 'row',
154
+ fields: [
155
+ {
156
+ type: 'text',
157
+ name: 'replyTo',
158
+ label: 'Reply To',
159
+ admin: {
160
+ width: '50%',
161
+ },
162
+ },
163
+ {
164
+ type: 'text',
165
+ name: 'bcc',
166
+ label: 'BCC',
167
+ admin: {
168
+ width: '50%',
169
+ },
170
+ },
171
+ ],
172
+ },
173
+ {
174
+ type: 'text',
175
+ name: 'subject',
176
+ label: 'Subject',
177
+ defaultValue: 'You\'ve received a new message.',
178
+ required: true,
179
+ },
180
+ {
181
+ type: 'richText',
182
+ name: 'message',
183
+ label: 'Message',
184
+ admin: {
185
+ description: 'Enter the email message that should be sent in this email.',
186
+ },
187
+ },
188
+ ],
189
+ },
190
+ ],
191
+ }, formConfig.formOverrides || {});
192
+ };
193
+ exports.generateFormCollection = generateFormCollection;
194
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/collections/Forms/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { CollectionConfig } from 'payload/types';
2
+ import { SearchConfig } from '../../types';
3
+ export declare const generateSearchCollection: (searchConfig: SearchConfig) => CollectionConfig;