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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/collections/FormSubmissions/hooks/createCharge.js +3 -13
  2. package/dist/collections/FormSubmissions/hooks/createCharge.js.map +1 -0
  3. package/dist/collections/FormSubmissions/hooks/sendEmail.js +12 -23
  4. package/dist/collections/FormSubmissions/hooks/sendEmail.js.map +1 -0
  5. package/dist/collections/FormSubmissions/index.js +10 -24
  6. package/dist/collections/FormSubmissions/index.js.map +1 -0
  7. package/dist/collections/Forms/DynamicFieldSelector.js +11 -60
  8. package/dist/collections/Forms/DynamicFieldSelector.js.map +1 -0
  9. package/dist/collections/Forms/DynamicPriceSelector.js +13 -63
  10. package/dist/collections/Forms/DynamicPriceSelector.js.map +1 -0
  11. package/dist/collections/Forms/fields.js +102 -120
  12. package/dist/collections/Forms/fields.js.map +1 -0
  13. package/dist/collections/Forms/index.js +47 -61
  14. package/dist/collections/Forms/index.js.map +1 -0
  15. package/dist/index.js +8 -29
  16. package/dist/index.js.map +1 -0
  17. package/dist/types.js +2 -12
  18. package/dist/types.js.map +1 -0
  19. package/dist/utilities/getPaymentTotal.js +2 -12
  20. package/dist/utilities/getPaymentTotal.js.map +1 -0
  21. package/dist/utilities/lexical/converters/heading.js +4 -14
  22. package/dist/utilities/lexical/converters/heading.js.map +1 -0
  23. package/dist/utilities/lexical/converters/linebreak.js +2 -12
  24. package/dist/utilities/lexical/converters/linebreak.js.map +1 -0
  25. package/dist/utilities/lexical/converters/link.js +8 -17
  26. package/dist/utilities/lexical/converters/link.js.map +1 -0
  27. package/dist/utilities/lexical/converters/list.js +7 -25
  28. package/dist/utilities/lexical/converters/list.js.map +1 -0
  29. package/dist/utilities/lexical/converters/paragraph.js +4 -14
  30. package/dist/utilities/lexical/converters/paragraph.js.map +1 -0
  31. package/dist/utilities/lexical/converters/quote.js +4 -14
  32. package/dist/utilities/lexical/converters/quote.js.map +1 -0
  33. package/dist/utilities/lexical/converters/text.js +12 -22
  34. package/dist/utilities/lexical/converters/text.js.map +1 -0
  35. package/dist/utilities/lexical/defaultConverters.js +17 -27
  36. package/dist/utilities/lexical/defaultConverters.js.map +1 -0
  37. package/dist/utilities/lexical/nodeFormat.js +16 -61
  38. package/dist/utilities/lexical/nodeFormat.js.map +1 -0
  39. package/dist/utilities/lexical/serializeLexical.js +5 -23
  40. package/dist/utilities/lexical/serializeLexical.js.map +1 -0
  41. package/dist/utilities/lexical/types.js +2 -5
  42. package/dist/utilities/lexical/types.js.map +1 -0
  43. package/dist/utilities/replaceDoubleCurlys.js +2 -12
  44. package/dist/utilities/replaceDoubleCurlys.js.map +1 -0
  45. package/dist/utilities/slate/serializeSlate.js +6 -21
  46. package/dist/utilities/slate/serializeSlate.js.map +1 -0
  47. package/package.json +23 -10
  48. package/src/index.ts +55 -0
  49. package/dist/collections/FormSubmissions/hooks/createCharge.d.ts +0 -4
  50. package/dist/collections/FormSubmissions/hooks/createCharge.d.ts.map +0 -1
  51. package/dist/collections/FormSubmissions/hooks/sendEmail.d.ts +0 -4
  52. package/dist/collections/FormSubmissions/hooks/sendEmail.d.ts.map +0 -1
  53. package/dist/collections/FormSubmissions/index.d.ts +0 -4
  54. package/dist/collections/FormSubmissions/index.d.ts.map +0 -1
  55. package/dist/collections/Forms/DynamicFieldSelector.d.ts +0 -4
  56. package/dist/collections/Forms/DynamicFieldSelector.d.ts.map +0 -1
  57. package/dist/collections/Forms/DynamicPriceSelector.d.ts +0 -4
  58. package/dist/collections/Forms/DynamicPriceSelector.d.ts.map +0 -1
  59. package/dist/collections/Forms/fields.d.ts +0 -7
  60. package/dist/collections/Forms/fields.d.ts.map +0 -1
  61. package/dist/collections/Forms/index.d.ts +0 -4
  62. package/dist/collections/Forms/index.d.ts.map +0 -1
  63. package/dist/index.d.ts +0 -7
  64. package/dist/index.d.ts.map +0 -1
  65. package/dist/types.d.ts +0 -175
  66. package/dist/types.d.ts.map +0 -1
  67. package/dist/utilities/getPaymentTotal.d.ts +0 -5
  68. package/dist/utilities/getPaymentTotal.d.ts.map +0 -1
  69. package/dist/utilities/lexical/converters/heading.d.ts +0 -3
  70. package/dist/utilities/lexical/converters/heading.d.ts.map +0 -1
  71. package/dist/utilities/lexical/converters/linebreak.d.ts +0 -3
  72. package/dist/utilities/lexical/converters/linebreak.d.ts.map +0 -1
  73. package/dist/utilities/lexical/converters/link.d.ts +0 -3
  74. package/dist/utilities/lexical/converters/link.d.ts.map +0 -1
  75. package/dist/utilities/lexical/converters/list.d.ts +0 -4
  76. package/dist/utilities/lexical/converters/list.d.ts.map +0 -1
  77. package/dist/utilities/lexical/converters/paragraph.d.ts +0 -3
  78. package/dist/utilities/lexical/converters/paragraph.d.ts.map +0 -1
  79. package/dist/utilities/lexical/converters/quote.d.ts +0 -3
  80. package/dist/utilities/lexical/converters/quote.d.ts.map +0 -1
  81. package/dist/utilities/lexical/converters/text.d.ts +0 -3
  82. package/dist/utilities/lexical/converters/text.d.ts.map +0 -1
  83. package/dist/utilities/lexical/defaultConverters.d.ts +0 -3
  84. package/dist/utilities/lexical/defaultConverters.d.ts.map +0 -1
  85. package/dist/utilities/lexical/nodeFormat.d.ts +0 -39
  86. package/dist/utilities/lexical/nodeFormat.d.ts.map +0 -1
  87. package/dist/utilities/lexical/serializeLexical.d.ts +0 -9
  88. package/dist/utilities/lexical/serializeLexical.d.ts.map +0 -1
  89. package/dist/utilities/lexical/types.d.ts +0 -14
  90. package/dist/utilities/lexical/types.d.ts.map +0 -1
  91. package/dist/utilities/replaceDoubleCurlys.d.ts +0 -8
  92. package/dist/utilities/replaceDoubleCurlys.d.ts.map +0 -1
  93. package/dist/utilities/slate/serializeSlate.d.ts +0 -12
  94. package/dist/utilities/slate/serializeSlate.d.ts.map +0 -1
@@ -1,48 +1,32 @@
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
- default: function() {
13
- return _default;
14
- },
15
- fields: function() {
16
- return fields;
17
- }
18
- });
19
- const _DynamicFieldSelector = require("./DynamicFieldSelector");
20
- const _DynamicPriceSelector = require("./DynamicPriceSelector");
1
+ import { DynamicFieldSelector } from './DynamicFieldSelector.js';
2
+ import { DynamicPriceSelector } from './DynamicPriceSelector.js';
21
3
  const name = {
22
4
  name: 'name',
5
+ type: 'text',
23
6
  label: 'Name (lowercase, no special characters)',
24
- required: true,
25
- type: 'text'
7
+ required: true
26
8
  };
27
9
  const label = {
28
10
  name: 'label',
11
+ type: 'text',
29
12
  label: 'Label',
30
- localized: true,
31
- type: 'text'
13
+ localized: true
32
14
  };
33
15
  const required = {
34
16
  name: 'required',
35
- label: 'Required',
36
- type: 'checkbox'
17
+ type: 'checkbox',
18
+ label: 'Required'
37
19
  };
38
20
  const width = {
39
21
  name: 'width',
40
- label: 'Field Width (percentage)',
41
- type: 'number'
22
+ type: 'number',
23
+ label: 'Field Width (percentage)'
42
24
  };
43
25
  const Select = {
26
+ slug: 'select',
44
27
  fields: [
45
28
  {
29
+ type: 'row',
46
30
  fields: [
47
31
  {
48
32
  ...name,
@@ -56,10 +40,10 @@ const Select = {
56
40
  width: '50%'
57
41
  }
58
42
  }
59
- ],
60
- type: 'row'
43
+ ]
61
44
  },
62
45
  {
46
+ type: 'row',
63
47
  fields: [
64
48
  {
65
49
  ...width,
@@ -69,62 +53,62 @@ const Select = {
69
53
  },
70
54
  {
71
55
  name: 'defaultValue',
56
+ type: 'text',
72
57
  admin: {
73
58
  width: '50%'
74
59
  },
75
60
  label: 'Default Value',
76
- localized: true,
77
- type: 'text'
61
+ localized: true
78
62
  }
79
- ],
80
- type: 'row'
63
+ ]
81
64
  },
82
65
  {
83
66
  name: 'options',
67
+ type: 'array',
84
68
  fields: [
85
69
  {
70
+ type: 'row',
86
71
  fields: [
87
72
  {
88
73
  name: 'label',
74
+ type: 'text',
89
75
  admin: {
90
76
  width: '50%'
91
77
  },
92
78
  label: 'Label',
93
79
  localized: true,
94
- required: true,
95
- type: 'text'
80
+ required: true
96
81
  },
97
82
  {
98
83
  name: 'value',
84
+ type: 'text',
99
85
  admin: {
100
86
  width: '50%'
101
87
  },
102
88
  label: 'Value',
103
- required: true,
104
- type: 'text'
89
+ required: true
105
90
  }
106
- ],
107
- type: 'row'
91
+ ]
108
92
  }
109
93
  ],
110
94
  label: 'Select Attribute Options',
111
95
  labels: {
112
96
  plural: 'Options',
113
97
  singular: 'Option'
114
- },
115
- type: 'array'
98
+ }
116
99
  },
117
100
  required
118
101
  ],
119
102
  labels: {
120
103
  plural: 'Select Fields',
121
104
  singular: 'Select'
122
- },
123
- slug: 'select'
105
+ }
124
106
  };
125
107
  const Text = {
108
+ slug: 'text',
126
109
  fields: [
127
110
  {
111
+ type: 'row',
128
112
  fields: [
129
113
  {
130
114
  ...name,
@@ -138,10 +122,10 @@ const Text = {
138
122
  width: '50%'
139
123
  }
140
124
  }
141
- ],
142
- type: 'row'
125
+ ]
143
126
  },
144
127
  {
128
+ type: 'row',
145
129
  fields: [
146
130
  {
147
131
  ...width,
@@ -151,27 +135,27 @@ const Text = {
151
135
  },
152
136
  {
153
137
  name: 'defaultValue',
138
+ type: 'text',
154
139
  admin: {
155
140
  width: '50%'
156
141
  },
157
142
  label: 'Default Value',
158
- localized: true,
159
- type: 'text'
143
+ localized: true
160
144
  }
161
- ],
162
- type: 'row'
145
+ ]
163
146
  },
164
147
  required
165
148
  ],
166
149
  labels: {
167
150
  plural: 'Text Fields',
168
151
  singular: 'Text'
169
- },
170
- slug: 'text'
152
+ }
171
153
  };
172
154
  const TextArea = {
155
+ slug: 'textarea',
173
156
  fields: [
174
157
  {
158
+ type: 'row',
175
159
  fields: [
176
160
  {
177
161
  ...name,
@@ -185,10 +169,10 @@ const TextArea = {
185
169
  width: '50%'
186
170
  }
187
171
  }
188
- ],
189
- type: 'row'
172
+ ]
190
173
  },
191
174
  {
175
+ type: 'row',
192
176
  fields: [
193
177
  {
194
178
  ...width,
@@ -198,27 +182,27 @@ const TextArea = {
198
182
  },
199
183
  {
200
184
  name: 'defaultValue',
185
+ type: 'text',
201
186
  admin: {
202
187
  width: '50%'
203
188
  },
204
189
  label: 'Default Value',
205
- localized: true,
206
- type: 'text'
190
+ localized: true
207
191
  }
208
- ],
209
- type: 'row'
192
+ ]
210
193
  },
211
194
  required
212
195
  ],
213
196
  labels: {
214
197
  plural: 'Text Area Fields',
215
198
  singular: 'Text Area'
216
- },
217
- slug: 'textarea'
199
+ }
218
200
  };
219
201
  const Number = {
202
+ slug: 'number',
220
203
  fields: [
221
204
  {
205
+ type: 'row',
222
206
  fields: [
223
207
  {
224
208
  ...name,
@@ -232,10 +216,10 @@ const Number = {
232
216
  width: '50%'
233
217
  }
234
218
  }
235
- ],
236
- type: 'row'
219
+ ]
237
220
  },
238
221
  {
222
+ type: 'row',
239
223
  fields: [
240
224
  {
241
225
  ...width,
@@ -245,26 +229,26 @@ const Number = {
245
229
  },
246
230
  {
247
231
  name: 'defaultValue',
232
+ type: 'number',
248
233
  admin: {
249
234
  width: '50%'
250
235
  },
251
- label: 'Default Value',
252
- type: 'number'
236
+ label: 'Default Value'
253
237
  }
254
- ],
255
- type: 'row'
238
+ ]
256
239
  },
257
240
  required
258
241
  ],
259
242
  labels: {
260
243
  plural: 'Number Fields',
261
244
  singular: 'Number'
262
- },
263
- slug: 'number'
245
+ }
264
246
  };
265
247
  const Email = {
248
+ slug: 'email',
266
249
  fields: [
267
250
  {
251
+ type: 'row',
268
252
  fields: [
269
253
  {
270
254
  ...name,
@@ -278,8 +262,7 @@ const Email = {
278
262
  width: '50%'
279
263
  }
280
264
  }
281
- ],
282
- type: 'row'
265
+ ]
283
266
  },
284
267
  width,
285
268
  required
@@ -287,12 +270,13 @@ const Email = {
287
270
  labels: {
288
271
  plural: 'Email Fields',
289
272
  singular: 'Email'
290
- },
291
- slug: 'email'
273
+ }
292
274
  };
293
275
  const State = {
276
+ slug: 'state',
294
277
  fields: [
295
278
  {
279
+ type: 'row',
296
280
  fields: [
297
281
  {
298
282
  ...name,
@@ -306,8 +290,7 @@ const State = {
306
290
  width: '50%'
307
291
  }
308
292
  }
309
- ],
310
- type: 'row'
293
+ ]
311
294
  },
312
295
  width,
313
296
  required
@@ -315,12 +298,13 @@ const State = {
315
298
  labels: {
316
299
  plural: 'State Fields',
317
300
  singular: 'State'
318
- },
319
- slug: 'state'
301
+ }
320
302
  };
321
303
  const Country = {
304
+ slug: 'country',
322
305
  fields: [
323
306
  {
307
+ type: 'row',
324
308
  fields: [
325
309
  {
326
310
  ...name,
@@ -334,8 +318,7 @@ const Country = {
334
318
  width: '50%'
335
319
  }
336
320
  }
337
- ],
338
- type: 'row'
321
+ ]
339
322
  },
340
323
  width,
341
324
  required
@@ -343,12 +326,13 @@ const Country = {
343
326
  labels: {
344
327
  plural: 'Country Fields',
345
328
  singular: 'Country'
346
- },
347
- slug: 'country'
329
+ }
348
330
  };
349
331
  const Checkbox = {
332
+ slug: 'checkbox',
350
333
  fields: [
351
334
  {
335
+ type: 'row',
352
336
  fields: [
353
337
  {
354
338
  ...name,
@@ -362,10 +346,10 @@ const Checkbox = {
362
346
  width: '50%'
363
347
  }
364
348
  }
365
- ],
366
- type: 'row'
349
+ ]
367
350
  },
368
351
  {
352
+ type: 'row',
369
353
  fields: [
370
354
  {
371
355
  ...width,
@@ -379,35 +363,35 @@ const Checkbox = {
379
363
  width: '50%'
380
364
  }
381
365
  }
382
- ],
383
- type: 'row'
366
+ ]
384
367
  },
385
368
  {
386
369
  name: 'defaultValue',
387
- label: 'Default Value',
388
- type: 'checkbox'
370
+ type: 'checkbox',
371
+ label: 'Default Value'
389
372
  }
390
373
  ],
391
374
  labels: {
392
375
  plural: 'Checkbox Fields',
393
376
  singular: 'Checkbox'
394
- },
395
- slug: 'checkbox'
377
+ }
396
378
  };
397
379
  const Payment = (fieldConfig)=>{
398
380
  let paymentProcessorField = null;
399
381
  if (fieldConfig?.paymentProcessor) {
400
382
  paymentProcessorField = {
401
383
  name: 'paymentProcessor',
384
+ type: 'select',
402
385
  label: 'Payment Processor',
403
386
  options: [],
404
- type: 'select',
405
387
  ...fieldConfig.paymentProcessor
406
388
  };
407
389
  }
408
390
  const fields = {
391
+ slug: 'payment',
409
392
  fields: [
410
393
  {
394
+ type: 'row',
411
395
  fields: [
412
396
  {
413
397
  ...name,
@@ -421,10 +405,10 @@ const Payment = (fieldConfig)=>{
421
405
  width: '50%'
422
406
  }
423
407
  }
424
- ],
425
- type: 'row'
408
+ ]
426
409
  },
427
410
  {
411
+ type: 'row',
428
412
  fields: [
429
413
  {
430
414
  ...width,
@@ -434,30 +418,31 @@ const Payment = (fieldConfig)=>{
434
418
  },
435
419
  {
436
420
  name: 'basePrice',
421
+ type: 'number',
437
422
  admin: {
438
423
  width: '50%'
439
424
  },
440
- label: 'Base Price',
441
- type: 'number'
425
+ label: 'Base Price'
442
426
  }
443
- ],
444
- type: 'row'
427
+ ]
445
428
  },
446
429
  paymentProcessorField,
447
430
  {
448
431
  name: 'priceConditions',
432
+ type: 'array',
449
433
  fields: [
450
434
  {
451
435
  name: 'fieldToUse',
436
+ type: 'text',
452
437
  admin: {
453
438
  components: {
454
- Field: _DynamicFieldSelector.DynamicFieldSelector
439
+ Field: DynamicFieldSelector
455
440
  }
456
- },
457
- type: 'text'
441
+ }
458
442
  },
459
443
  {
460
444
  name: 'condition',
445
+ type: 'select',
461
446
  defaultValue: 'hasValue',
462
447
  label: 'Condition',
463
448
  options: [
@@ -473,19 +458,19 @@ const Payment = (fieldConfig)=>{
473
458
  label: 'Does Not Equal',
474
459
  value: 'notEquals'
475
460
  }
476
- ],
477
- type: 'select'
461
+ ]
478
462
  },
479
463
  {
480
464
  name: 'valueForCondition',
465
+ type: 'text',
481
466
  admin: {
482
467
  condition: (_, { condition })=>condition === 'equals' || condition === 'notEquals'
483
468
  },
484
- label: 'Value',
485
- type: 'text'
469
+ label: 'Value'
486
470
  },
487
471
  {
488
472
  name: 'operator',
473
+ type: 'select',
489
474
  defaultValue: 'add',
490
475
  options: [
491
476
  {
@@ -504,11 +489,11 @@ const Payment = (fieldConfig)=>{
504
489
  label: 'Divide',
505
490
  value: 'divide'
506
491
  }
507
- ],
508
- type: 'select'
492
+ ]
509
493
  },
510
494
  {
511
495
  name: 'valueType',
496
+ type: 'radio',
512
497
  admin: {
513
498
  width: '100%'
514
499
  },
@@ -523,52 +508,50 @@ const Payment = (fieldConfig)=>{
523
508
  label: 'Value Of Field',
524
509
  value: 'valueOfField'
525
510
  }
526
- ],
527
- type: 'radio'
511
+ ]
528
512
  },
529
513
  {
530
514
  name: 'valueForOperator',
515
+ type: 'text',
531
516
  admin: {
532
517
  components: {
533
- Field: _DynamicPriceSelector.DynamicPriceSelector
518
+ Field: DynamicPriceSelector
534
519
  }
535
520
  },
536
- label: 'Value',
537
- type: 'text'
521
+ label: 'Value'
538
522
  }
539
523
  ],
540
524
  label: 'Price Conditions',
541
525
  labels: {
542
526
  plural: 'Price Conditions',
543
527
  singular: 'Price Condition'
544
- },
545
- type: 'array'
528
+ }
546
529
  },
547
530
  required
548
531
  ].filter(Boolean),
549
532
  labels: {
550
533
  plural: 'Payment Fields',
551
534
  singular: 'Payment'
552
- },
553
- slug: 'payment'
535
+ }
554
536
  };
555
537
  return fields;
556
538
  };
557
539
  const Message = {
540
+ slug: 'message',
558
541
  fields: [
559
542
  {
560
543
  name: 'message',
561
- localized: true,
562
- type: 'richText'
544
+ type: 'richText',
545
+ localized: true
563
546
  }
564
547
  ],
565
548
  labels: {
566
549
  plural: 'Message Blocks',
567
550
  singular: 'Message'
568
- },
569
- slug: 'message'
551
+ }
570
552
  };
571
- const fields = {
553
+ // eslint-disable-next-line @typescript-eslint/consistent-type-assertions
554
+ export const fields = {
572
555
  checkbox: Checkbox,
573
556
  country: Country,
574
557
  email: Email,
@@ -580,6 +563,5 @@ const fields = {
580
563
  text: Text,
581
564
  textarea: TextArea
582
565
  };
583
- const _default = fields;
584
566
 
585
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb2xsZWN0aW9ucy9Gb3Jtcy9maWVsZHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBCbG9jaywgRmllbGQgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgdHlwZSB7IEZpZWxkQ29uZmlnLCBQYXltZW50RmllbGRDb25maWcgfSBmcm9tICcuLi8uLi90eXBlcydcblxuaW1wb3J0IHsgRHluYW1pY0ZpZWxkU2VsZWN0b3IgfSBmcm9tICcuL0R5bmFtaWNGaWVsZFNlbGVjdG9yJ1xuaW1wb3J0IHsgRHluYW1pY1ByaWNlU2VsZWN0b3IgfSBmcm9tICcuL0R5bmFtaWNQcmljZVNlbGVjdG9yJ1xuXG5jb25zdCBuYW1lOiBGaWVsZCA9IHtcbiAgbmFtZTogJ25hbWUnLFxuICBsYWJlbDogJ05hbWUgKGxvd2VyY2FzZSwgbm8gc3BlY2lhbCBjaGFyYWN0ZXJzKScsXG4gIHJlcXVpcmVkOiB0cnVlLFxuICB0eXBlOiAndGV4dCcsXG59XG5cbmNvbnN0IGxhYmVsOiBGaWVsZCA9IHtcbiAgbmFtZTogJ2xhYmVsJyxcbiAgbGFiZWw6ICdMYWJlbCcsXG4gIGxvY2FsaXplZDogdHJ1ZSxcbiAgdHlwZTogJ3RleHQnLFxufVxuXG5jb25zdCByZXF1aXJlZDogRmllbGQgPSB7XG4gIG5hbWU6ICdyZXF1aXJlZCcsXG4gIGxhYmVsOiAnUmVxdWlyZWQnLFxuICB0eXBlOiAnY2hlY2tib3gnLFxufVxuXG5jb25zdCB3aWR0aDogRmllbGQgPSB7XG4gIG5hbWU6ICd3aWR0aCcsXG4gIGxhYmVsOiAnRmllbGQgV2lkdGggKHBlcmNlbnRhZ2UpJyxcbiAgdHlwZTogJ251bWJlcicsXG59XG5cbmNvbnN0IFNlbGVjdDogQmxvY2sgPSB7XG4gIGZpZWxkczogW1xuICAgIHtcbiAgICAgIGZpZWxkczogW1xuICAgICAgICB7XG4gICAgICAgICAgLi4ubmFtZSxcbiAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgd2lkdGg6ICc1MCUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5sYWJlbCxcbiAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgd2lkdGg6ICc1MCUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgdHlwZTogJ3JvdycsXG4gICAgfSxcbiAgICB7XG4gICAgICBmaWVsZHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIC4uLndpZHRoLFxuICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICB3aWR0aDogJzUwJScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdkZWZhdWx0VmFsdWUnLFxuICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICB3aWR0aDogJzUwJScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBsYWJlbDogJ0RlZmF1bHQgVmFsdWUnLFxuICAgICAgICAgIGxvY2FsaXplZDogdHJ1ZSxcbiAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgdHlwZTogJ3JvdycsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnb3B0aW9ucycsXG4gICAgICBmaWVsZHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGZpZWxkczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBuYW1lOiAnbGFiZWwnLFxuICAgICAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAnNTAlJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgbGFiZWw6ICdMYWJlbCcsXG4gICAgICAgICAgICAgIGxvY2FsaXplZDogdHJ1ZSxcbiAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIG5hbWU6ICd2YWx1ZScsXG4gICAgICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6ICc1MCUnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBsYWJlbDogJ1ZhbHVlJyxcbiAgICAgICAgICAgICAgcmVxdWlyZWQ6IHRydWUsXG4gICAgICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgICB0eXBlOiAncm93JyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBsYWJlbDogJ1NlbGVjdCBBdHRyaWJ1dGUgT3B0aW9ucycsXG4gICAgICBsYWJlbHM6IHtcbiAgICAgICAgcGx1cmFsOiAnT3B0aW9ucycsXG4gICAgICAgIHNpbmd1bGFyOiAnT3B0aW9uJyxcbiAgICAgIH0sXG4gICAgICB0eXBlOiAnYXJyYXknLFxuICAgIH0sXG4gICAgcmVxdWlyZWQsXG4gIF0sXG4gIGxhYmVsczoge1xuICAgIHBsdXJhbDogJ1NlbGVjdCBGaWVsZHMnLFxuICAgIHNpbmd1bGFyOiAnU2VsZWN0JyxcbiAgfSxcbiAgc2x1ZzogJ3NlbGVjdCcsXG59XG5cbmNvbnN0IFRleHQ6IEJsb2NrID0ge1xuICBmaWVsZHM6IFtcbiAgICB7XG4gICAgICBmaWVsZHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIC4uLm5hbWUsXG4gICAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICAgIHdpZHRoOiAnNTAlJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgLi4ubGFiZWwsXG4gICAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICAgIHdpZHRoOiAnNTAlJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHR5cGU6ICdyb3cnLFxuICAgIH0sXG4gICAge1xuICAgICAgZmllbGRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAuLi53aWR0aCxcbiAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgd2lkdGg6ICc1MCUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiAnZGVmYXVsdFZhbHVlJyxcbiAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgd2lkdGg6ICc1MCUnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgbGFiZWw6ICdEZWZhdWx0IFZhbHVlJyxcbiAgICAgICAgICBsb2NhbGl6ZWQ6IHRydWUsXG4gICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHR5cGU6ICdyb3cnLFxuICAgIH0sXG4gICAgcmVxdWlyZWQsXG4gIF0sXG4gIGxhYmVsczoge1xuICAgIHBsdXJhbDogJ1RleHQgRmllbGRzJyxcbiAgICBzaW5ndWxhcjogJ1RleHQnLFxuICB9LFxuICBzbHVnOiAndGV4dCcsXG59XG5cbmNvbnN0IFRleHRBcmVhOiBCbG9jayA9IHtcbiAgZmllbGRzOiBbXG4gICAge1xuICAgICAgZmllbGRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5uYW1lLFxuICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICB3aWR0aDogJzUwJScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIC4uLmxhYmVsLFxuICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICB3aWR0aDogJzUwJScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICB0eXBlOiAncm93JyxcbiAgICB9LFxuICAgIHtcbiAgICAgIGZpZWxkczogW1xuICAgICAgICB7XG4gICAgICAgICAgLi4ud2lkdGgsXG4gICAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICAgIHdpZHRoOiAnNTAlJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbmFtZTogJ2RlZmF1bHRWYWx1ZScsXG4gICAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICAgIHdpZHRoOiAnNTAlJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIGxhYmVsOiAnRGVmYXVsdCBWYWx1ZScsXG4gICAgICAgICAgbG9jYWxpemVkOiB0cnVlLFxuICAgICAgICAgIHR5cGU6ICd0ZXh0JyxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICB0eXBlOiAncm93JyxcbiAgICB9LFxuICAgIHJlcXVpcmVkLFxuICBdLFxuICBsYWJlbHM6IHtcbiAgICBwbHVyYWw6ICdUZXh0IEFyZWEgRmllbGRzJyxcbiAgICBzaW5ndWxhcjogJ1RleHQgQXJlYScsXG4gIH0sXG4gIHNsdWc6ICd0ZXh0YXJlYScsXG59XG5cbmNvbnN0IE51bWJlcjogQmxvY2sgPSB7XG4gIGZpZWxkczogW1xuICAgIHtcbiAgICAgIGZpZWxkczogW1xuICAgICAgICB7XG4gICAgICAgICAgLi4ubmFtZSxcbiAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgd2lkdGg6ICc1MCUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5sYWJlbCxcbiAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgd2lkdGg6ICc1MCUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgdHlwZTogJ3JvdycsXG4gICAgfSxcbiAgICB7XG4gICAgICBmaWVsZHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIC4uLndpZHRoLFxuICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICB3aWR0aDogJzUwJScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdkZWZhdWx0VmFsdWUnLFxuICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICB3aWR0aDogJzUwJScsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBsYWJlbDogJ0RlZmF1bHQgVmFsdWUnLFxuICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHR5cGU6ICdyb3cnLFxuICAgIH0sXG4gICAgcmVxdWlyZWQsXG4gIF0sXG4gIGxhYmVsczoge1xuICAgIHBsdXJhbDogJ051bWJlciBGaWVsZHMnLFxuICAgIHNpbmd1bGFyOiAnTnVtYmVyJyxcbiAgfSxcbiAgc2x1ZzogJ251bWJlcicsXG59XG5cbmNvbnN0IEVtYWlsOiBCbG9jayA9IHtcbiAgZmllbGRzOiBbXG4gICAge1xuICAgICAgZmllbGRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5uYW1lLFxuICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICB3aWR0aDogJzUwJScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIC4uLmxhYmVsLFxuICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICB3aWR0aDogJzUwJScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICB0eXBlOiAncm93JyxcbiAgICB9LFxuICAgIHdpZHRoLFxuICAgIHJlcXVpcmVkLFxuICBdLFxuICBsYWJlbHM6IHtcbiAgICBwbHVyYWw6ICdFbWFpbCBGaWVsZHMnLFxuICAgIHNpbmd1bGFyOiAnRW1haWwnLFxuICB9LFxuICBzbHVnOiAnZW1haWwnLFxufVxuXG5jb25zdCBTdGF0ZTogQmxvY2sgPSB7XG4gIGZpZWxkczogW1xuICAgIHtcbiAgICAgIGZpZWxkczogW1xuICAgICAgICB7XG4gICAgICAgICAgLi4ubmFtZSxcbiAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgd2lkdGg6ICc1MCUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5sYWJlbCxcbiAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgd2lkdGg6ICc1MCUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgdHlwZTogJ3JvdycsXG4gICAgfSxcbiAgICB3aWR0aCxcbiAgICByZXF1aXJlZCxcbiAgXSxcbiAgbGFiZWxzOiB7XG4gICAgcGx1cmFsOiAnU3RhdGUgRmllbGRzJyxcbiAgICBzaW5ndWxhcjogJ1N0YXRlJyxcbiAgfSxcbiAgc2x1ZzogJ3N0YXRlJyxcbn1cblxuY29uc3QgQ291bnRyeTogQmxvY2sgPSB7XG4gIGZpZWxkczogW1xuICAgIHtcbiAgICAgIGZpZWxkczogW1xuICAgICAgICB7XG4gICAgICAgICAgLi4ubmFtZSxcbiAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgd2lkdGg6ICc1MCUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5sYWJlbCxcbiAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgd2lkdGg6ICc1MCUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgdHlwZTogJ3JvdycsXG4gICAgfSxcbiAgICB3aWR0aCxcbiAgICByZXF1aXJlZCxcbiAgXSxcbiAgbGFiZWxzOiB7XG4gICAgcGx1cmFsOiAnQ291bnRyeSBGaWVsZHMnLFxuICAgIHNpbmd1bGFyOiAnQ291bnRyeScsXG4gIH0sXG4gIHNsdWc6ICdjb3VudHJ5Jyxcbn1cblxuY29uc3QgQ2hlY2tib3g6IEJsb2NrID0ge1xuICBmaWVsZHM6IFtcbiAgICB7XG4gICAgICBmaWVsZHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIC4uLm5hbWUsXG4gICAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICAgIHdpZHRoOiAnNTAlJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgLi4ubGFiZWwsXG4gICAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICAgIHdpZHRoOiAnNTAlJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHR5cGU6ICdyb3cnLFxuICAgIH0sXG4gICAge1xuICAgICAgZmllbGRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICAuLi53aWR0aCxcbiAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgd2lkdGg6ICc1MCUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAuLi5yZXF1aXJlZCxcbiAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgd2lkdGg6ICc1MCUnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgdHlwZTogJ3JvdycsXG4gICAgfSxcbiAgICB7XG4gICAgICBuYW1lOiAnZGVmYXVsdFZhbHVlJyxcbiAgICAgIGxhYmVsOiAnRGVmYXVsdCBWYWx1ZScsXG4gICAgICB0eXBlOiAnY2hlY2tib3gnLFxuICAgIH0sXG4gIF0sXG4gIGxhYmVsczoge1xuICAgIHBsdXJhbDogJ0NoZWNrYm94IEZpZWxkcycsXG4gICAgc2luZ3VsYXI6ICdDaGVja2JveCcsXG4gIH0sXG4gIHNsdWc6ICdjaGVja2JveCcsXG59XG5cbmNvbnN0IFBheW1lbnQgPSAoZmllbGRDb25maWc6IFBheW1lbnRGaWVsZENvbmZpZyk6IEJsb2NrID0+IHtcbiAgbGV0IHBheW1lbnRQcm9jZXNzb3JGaWVsZCA9IG51bGxcbiAgaWYgKGZpZWxkQ29uZmlnPy5wYXltZW50UHJvY2Vzc29yKSB7XG4gICAgcGF5bWVudFByb2Nlc3NvckZpZWxkID0ge1xuICAgICAgbmFtZTogJ3BheW1lbnRQcm9jZXNzb3InLFxuICAgICAgbGFiZWw6ICdQYXltZW50IFByb2Nlc3NvcicsXG4gICAgICBvcHRpb25zOiBbXSxcbiAgICAgIHR5cGU6ICdzZWxlY3QnLFxuICAgICAgLi4uZmllbGRDb25maWcucGF5bWVudFByb2Nlc3NvcixcbiAgICB9XG4gIH1cblxuICBjb25zdCBmaWVsZHMgPSB7XG4gICAgZmllbGRzOiBbXG4gICAgICB7XG4gICAgICAgIGZpZWxkczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIC4uLm5hbWUsXG4gICAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgICB3aWR0aDogJzUwJScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgLi4ubGFiZWwsXG4gICAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgICB3aWR0aDogJzUwJScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHR5cGU6ICdyb3cnLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgLi4ud2lkdGgsXG4gICAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgICB3aWR0aDogJzUwJScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2Jhc2VQcmljZScsXG4gICAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgICB3aWR0aDogJzUwJScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbGFiZWw6ICdCYXNlIFByaWNlJyxcbiAgICAgICAgICAgIHR5cGU6ICdudW1iZXInLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHR5cGU6ICdyb3cnLFxuICAgICAgfSxcbiAgICAgIHBheW1lbnRQcm9jZXNzb3JGaWVsZCxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogJ3ByaWNlQ29uZGl0aW9ucycsXG4gICAgICAgIGZpZWxkczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICdmaWVsZFRvVXNlJyxcbiAgICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAgICAgICBGaWVsZDogRHluYW1pY0ZpZWxkU2VsZWN0b3IsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdHlwZTogJ3RleHQnLFxuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2NvbmRpdGlvbicsXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdoYXNWYWx1ZScsXG4gICAgICAgICAgICBsYWJlbDogJ0NvbmRpdGlvbicsXG4gICAgICAgICAgICBvcHRpb25zOiBbXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ0hhcyBBbnkgVmFsdWUnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiAnaGFzVmFsdWUnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdFcXVhbHMnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiAnZXF1YWxzJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnRG9lcyBOb3QgRXF1YWwnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiAnbm90RXF1YWxzJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICd2YWx1ZUZvckNvbmRpdGlvbicsXG4gICAgICAgICAgICBhZG1pbjoge1xuICAgICAgICAgICAgICBjb25kaXRpb246IChfOiBhbnksIHsgY29uZGl0aW9uIH06IGFueSkgPT5cbiAgICAgICAgICAgICAgICBjb25kaXRpb24gPT09ICdlcXVhbHMnIHx8IGNvbmRpdGlvbiA9PT0gJ25vdEVxdWFscycsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbGFiZWw6ICdWYWx1ZScsXG4gICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnb3BlcmF0b3InLFxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlOiAnYWRkJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnQWRkJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ2FkZCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ1N1YnRyYWN0JyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ3N1YnRyYWN0JyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnTXVsdGlwbHknLFxuICAgICAgICAgICAgICAgIHZhbHVlOiAnbXVsdGlwbHknLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWw6ICdEaXZpZGUnLFxuICAgICAgICAgICAgICAgIHZhbHVlOiAnZGl2aWRlJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICB0eXBlOiAnc2VsZWN0JyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICd2YWx1ZVR5cGUnLFxuICAgICAgICAgICAgYWRtaW46IHtcbiAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU6ICdzdGF0aWMnLFxuICAgICAgICAgICAgbGFiZWw6ICdWYWx1ZSBUeXBlJyxcbiAgICAgICAgICAgIG9wdGlvbnM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGxhYmVsOiAnU3RhdGljIFZhbHVlJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ3N0YXRpYycsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBsYWJlbDogJ1ZhbHVlIE9mIEZpZWxkJyxcbiAgICAgICAgICAgICAgICB2YWx1ZTogJ3ZhbHVlT2ZGaWVsZCcsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgdHlwZTogJ3JhZGlvJyxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6ICd2YWx1ZUZvck9wZXJhdG9yJyxcbiAgICAgICAgICAgIGFkbWluOiB7XG4gICAgICAgICAgICAgIGNvbXBvbmVudHM6IHtcbiAgICAgICAgICAgICAgICBGaWVsZDogRHluYW1pY1ByaWNlU2VsZWN0b3IsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbGFiZWw6ICdWYWx1ZScsXG4gICAgICAgICAgICB0eXBlOiAndGV4dCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgbGFiZWw6ICdQcmljZSBDb25kaXRpb25zJyxcbiAgICAgICAgbGFiZWxzOiB7XG4gICAgICAgICAgcGx1cmFsOiAnUHJpY2UgQ29uZGl0aW9ucycsXG4gICAgICAgICAgc2luZ3VsYXI6ICdQcmljZSBDb25kaXRpb24nLFxuICAgICAgICB9LFxuICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgfSxcbiAgICAgIHJlcXVpcmVkLFxuICAgIF0uZmlsdGVyKEJvb2xlYW4pIGFzIEZpZWxkW10sXG4gICAgbGFiZWxzOiB7XG4gICAgICBwbHVyYWw6ICdQYXltZW50IEZpZWxkcycsXG4gICAgICBzaW5ndWxhcjogJ1BheW1lbnQnLFxuICAgIH0sXG4gICAgc2x1ZzogJ3BheW1lbnQnLFxuICB9XG5cbiAgcmV0dXJuIGZpZWxkc1xufVxuXG5jb25zdCBNZXNzYWdlOiBCbG9jayA9IHtcbiAgZmllbGRzOiBbXG4gICAge1xuICAgICAgbmFtZTogJ21lc3NhZ2UnLFxuICAgICAgbG9jYWxpemVkOiB0cnVlLFxuICAgICAgdHlwZTogJ3JpY2hUZXh0JyxcbiAgICB9LFxuICBdLFxuICBsYWJlbHM6IHtcbiAgICBwbHVyYWw6ICdNZXNzYWdlIEJsb2NrcycsXG4gICAgc2luZ3VsYXI6ICdNZXNzYWdlJyxcbiAgfSxcbiAgc2x1ZzogJ21lc3NhZ2UnLFxufVxuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2NvbnNpc3RlbnQtdHlwZS1hc3NlcnRpb25zXG5leHBvcnQgY29uc3QgZmllbGRzID0ge1xuICBjaGVja2JveDogQ2hlY2tib3gsXG4gIGNvdW50cnk6IENvdW50cnksXG4gIGVtYWlsOiBFbWFpbCxcbiAgbWVzc2FnZTogTWVzc2FnZSxcbiAgbnVtYmVyOiBOdW1iZXIsXG4gIHBheW1lbnQ6IFBheW1lbnQsXG4gIHNlbGVjdDogU2VsZWN0LFxuICBzdGF0ZTogU3RhdGUsXG4gIHRleHQ6IFRleHQsXG4gIHRleHRhcmVhOiBUZXh0QXJlYSxcbn0gYXMge1xuICBba2V5OiBzdHJpbmddOiAoKGZpZWxkQ29uZmlnPzogRmllbGRDb25maWcgfCBib29sZWFuKSA9PiBCbG9jaykgfCBCbG9ja1xufVxuXG5leHBvcnQgZGVmYXVsdCBmaWVsZHNcbiJdLCJuYW1lcyI6WyJmaWVsZHMiLCJuYW1lIiwibGFiZWwiLCJyZXF1aXJlZCIsInR5cGUiLCJsb2NhbGl6ZWQiLCJ3aWR0aCIsIlNlbGVjdCIsImFkbWluIiwibGFiZWxzIiwicGx1cmFsIiwic2luZ3VsYXIiLCJzbHVnIiwiVGV4dCIsIlRleHRBcmVhIiwiTnVtYmVyIiwiRW1haWwiLCJTdGF0ZSIsIkNvdW50cnkiLCJDaGVja2JveCIsIlBheW1lbnQiLCJmaWVsZENvbmZpZyIsInBheW1lbnRQcm9jZXNzb3JGaWVsZCIsInBheW1lbnRQcm9jZXNzb3IiLCJvcHRpb25zIiwiY29tcG9uZW50cyIsIkZpZWxkIiwiRHluYW1pY0ZpZWxkU2VsZWN0b3IiLCJkZWZhdWx0VmFsdWUiLCJ2YWx1ZSIsImNvbmRpdGlvbiIsIl8iLCJEeW5hbWljUHJpY2VTZWxlY3RvciIsImZpbHRlciIsIkJvb2xlYW4iLCJNZXNzYWdlIiwiY2hlY2tib3giLCJjb3VudHJ5IiwiZW1haWwiLCJtZXNzYWdlIiwibnVtYmVyIiwicGF5bWVudCIsInNlbGVjdCIsInN0YXRlIiwidGV4dCIsInRleHRhcmVhIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztJQThrQkEsT0FBcUI7ZUFBckI7O0lBZmFBLE1BQU07ZUFBTkE7OztzQ0EzakJ3QjtzQ0FDQTtBQUVyQyxNQUFNQyxPQUFjO0lBQ2xCQSxNQUFNO0lBQ05DLE9BQU87SUFDUEMsVUFBVTtJQUNWQyxNQUFNO0FBQ1I7QUFFQSxNQUFNRixRQUFlO0lBQ25CRCxNQUFNO0lBQ05DLE9BQU87SUFDUEcsV0FBVztJQUNYRCxNQUFNO0FBQ1I7QUFFQSxNQUFNRCxXQUFrQjtJQUN0QkYsTUFBTTtJQUNOQyxPQUFPO0lBQ1BFLE1BQU07QUFDUjtBQUVBLE1BQU1FLFFBQWU7SUFDbkJMLE1BQU07SUFDTkMsT0FBTztJQUNQRSxNQUFNO0FBQ1I7QUFFQSxNQUFNRyxTQUFnQjtJQUNwQlAsUUFBUTtRQUNOO1lBQ0VBLFFBQVE7Z0JBQ047b0JBQ0UsR0FBR0MsSUFBSTtvQkFDUE8sT0FBTzt3QkFDTEYsT0FBTztvQkFDVDtnQkFDRjtnQkFDQTtvQkFDRSxHQUFHSixLQUFLO29CQUNSTSxPQUFPO3dCQUNMRixPQUFPO29CQUNUO2dCQUNGO2FBQ0Q7WUFDREYsTUFBTTtRQUNSO1FBQ0E7WUFDRUosUUFBUTtnQkFDTjtvQkFDRSxHQUFHTSxLQUFLO29CQUNSRSxPQUFPO3dCQUNMRixPQUFPO29CQUNUO2dCQUNGO2dCQUNBO29CQUNFTCxNQUFNO29CQUNOTyxPQUFPO3dCQUNMRixPQUFPO29CQUNUO29CQUNBSixPQUFPO29CQUNQRyxXQUFXO29CQUNYRCxNQUFNO2dCQUNSO2FBQ0Q7WUFDREEsTUFBTTtRQUNSO1FBQ0E7WUFDRUgsTUFBTTtZQUNORCxRQUFRO2dCQUNOO29CQUNFQSxRQUFRO3dCQUNO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
567
+ //# sourceMappingURL=fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/collections/Forms/fields.ts"],"sourcesContent":["import type { Block, Field } from 'payload/types'\n\nimport type { FieldConfig, PaymentFieldConfig } from '../../types.js'\n\nimport { DynamicFieldSelector } from './DynamicFieldSelector.js'\nimport { DynamicPriceSelector } from './DynamicPriceSelector.js'\n\nconst name: Field = {\n name: 'name',\n type: 'text',\n label: 'Name (lowercase, no special characters)',\n required: true,\n}\n\nconst label: Field = {\n name: 'label',\n type: 'text',\n label: 'Label',\n localized: true,\n}\n\nconst required: Field = {\n name: 'required',\n type: 'checkbox',\n label: 'Required',\n}\n\nconst width: Field = {\n name: 'width',\n type: 'number',\n label: 'Field Width (percentage)',\n}\n\nconst Select: Block = {\n slug: 'select',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n ...width,\n admin: {\n width: '50%',\n },\n },\n {\n name: 'defaultValue',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'Default Value',\n localized: true,\n },\n ],\n },\n {\n name: 'options',\n type: 'array',\n fields: [\n {\n type: 'row',\n fields: [\n {\n name: 'label',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'Label',\n localized: true,\n required: true,\n },\n {\n name: 'value',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'Value',\n required: true,\n },\n ],\n },\n ],\n label: 'Select Attribute Options',\n labels: {\n plural: 'Options',\n singular: 'Option',\n },\n },\n required,\n ],\n labels: {\n plural: 'Select Fields',\n singular: 'Select',\n },\n}\n\nconst Text: Block = {\n slug: 'text',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n ...width,\n admin: {\n width: '50%',\n },\n },\n {\n name: 'defaultValue',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'Default Value',\n localized: true,\n },\n ],\n },\n required,\n ],\n labels: {\n plural: 'Text Fields',\n singular: 'Text',\n },\n}\n\nconst TextArea: Block = {\n slug: 'textarea',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n ...width,\n admin: {\n width: '50%',\n },\n },\n {\n name: 'defaultValue',\n type: 'text',\n admin: {\n width: '50%',\n },\n label: 'Default Value',\n localized: true,\n },\n ],\n },\n required,\n ],\n labels: {\n plural: 'Text Area Fields',\n singular: 'Text Area',\n },\n}\n\nconst Number: Block = {\n slug: 'number',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n ...width,\n admin: {\n width: '50%',\n },\n },\n {\n name: 'defaultValue',\n type: 'number',\n admin: {\n width: '50%',\n },\n label: 'Default Value',\n },\n ],\n },\n required,\n ],\n labels: {\n plural: 'Number Fields',\n singular: 'Number',\n },\n}\n\nconst Email: Block = {\n slug: 'email',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n width,\n required,\n ],\n labels: {\n plural: 'Email Fields',\n singular: 'Email',\n },\n}\n\nconst State: Block = {\n slug: 'state',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n width,\n required,\n ],\n labels: {\n plural: 'State Fields',\n singular: 'State',\n },\n}\n\nconst Country: Block = {\n slug: 'country',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n width,\n required,\n ],\n labels: {\n plural: 'Country Fields',\n singular: 'Country',\n },\n}\n\nconst Checkbox: Block = {\n slug: 'checkbox',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n ...width,\n admin: {\n width: '50%',\n },\n },\n {\n ...required,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n {\n name: 'defaultValue',\n type: 'checkbox',\n label: 'Default Value',\n },\n ],\n labels: {\n plural: 'Checkbox Fields',\n singular: 'Checkbox',\n },\n}\n\nconst Payment = (fieldConfig: PaymentFieldConfig): Block => {\n let paymentProcessorField = null\n if (fieldConfig?.paymentProcessor) {\n paymentProcessorField = {\n name: 'paymentProcessor',\n type: 'select',\n label: 'Payment Processor',\n options: [],\n ...fieldConfig.paymentProcessor,\n }\n }\n\n const fields = {\n slug: 'payment',\n fields: [\n {\n type: 'row',\n fields: [\n {\n ...name,\n admin: {\n width: '50%',\n },\n },\n {\n ...label,\n admin: {\n width: '50%',\n },\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n ...width,\n admin: {\n width: '50%',\n },\n },\n {\n name: 'basePrice',\n type: 'number',\n admin: {\n width: '50%',\n },\n label: 'Base Price',\n },\n ],\n },\n paymentProcessorField,\n {\n name: 'priceConditions',\n type: 'array',\n fields: [\n {\n name: 'fieldToUse',\n type: 'text',\n admin: {\n components: {\n Field: DynamicFieldSelector,\n },\n },\n },\n {\n name: 'condition',\n type: 'select',\n defaultValue: 'hasValue',\n label: 'Condition',\n options: [\n {\n label: 'Has Any Value',\n value: 'hasValue',\n },\n {\n label: 'Equals',\n value: 'equals',\n },\n {\n label: 'Does Not Equal',\n value: 'notEquals',\n },\n ],\n },\n {\n name: 'valueForCondition',\n type: 'text',\n admin: {\n condition: (_: any, { condition }: any) =>\n condition === 'equals' || condition === 'notEquals',\n },\n label: 'Value',\n },\n {\n name: 'operator',\n type: 'select',\n defaultValue: 'add',\n options: [\n {\n label: 'Add',\n value: 'add',\n },\n {\n label: 'Subtract',\n value: 'subtract',\n },\n {\n label: 'Multiply',\n value: 'multiply',\n },\n {\n label: 'Divide',\n value: 'divide',\n },\n ],\n },\n {\n name: 'valueType',\n type: 'radio',\n admin: {\n width: '100%',\n },\n defaultValue: 'static',\n label: 'Value Type',\n options: [\n {\n label: 'Static Value',\n value: 'static',\n },\n {\n label: 'Value Of Field',\n value: 'valueOfField',\n },\n ],\n },\n {\n name: 'valueForOperator',\n type: 'text',\n admin: {\n components: {\n Field: DynamicPriceSelector,\n },\n },\n label: 'Value',\n },\n ],\n label: 'Price Conditions',\n labels: {\n plural: 'Price Conditions',\n singular: 'Price Condition',\n },\n },\n required,\n ].filter(Boolean) as Field[],\n labels: {\n plural: 'Payment Fields',\n singular: 'Payment',\n },\n }\n\n return fields\n}\n\nconst Message: Block = {\n slug: 'message',\n fields: [\n {\n name: 'message',\n type: 'richText',\n localized: true,\n },\n ],\n labels: {\n plural: 'Message Blocks',\n singular: 'Message',\n },\n}\n\n// eslint-disable-next-line @typescript-eslint/consistent-type-assertions\nexport const fields = {\n checkbox: Checkbox,\n country: Country,\n email: Email,\n message: Message,\n number: Number,\n payment: Payment,\n select: Select,\n state: State,\n text: Text,\n textarea: TextArea,\n} as {\n [key: string]: ((fieldConfig?: FieldConfig | boolean) => Block) | Block\n}\n"],"names":["DynamicFieldSelector","DynamicPriceSelector","name","type","label","required","localized","width","Select","slug","fields","admin","labels","plural","singular","Text","TextArea","Number","Email","State","Country","Checkbox","Payment","fieldConfig","paymentProcessorField","paymentProcessor","options","components","Field","defaultValue","value","condition","_","filter","Boolean","Message","checkbox","country","email","message","number","payment","select","state","text","textarea"],"mappings":"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"}