@dmptool/types 1.0.8 → 1.1.1

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 (60) hide show
  1. package/README.md +2 -0
  2. package/dist/answers/__tests__/answers.spec.js +18 -17
  3. package/dist/answers/index.d.ts +80 -55
  4. package/dist/answers/index.js +19 -17
  5. package/dist/answers/numberAnswers.d.ts +91 -0
  6. package/dist/answers/numberAnswers.js +21 -0
  7. package/dist/answers/optionBasedAnswers.d.ts +25 -0
  8. package/dist/answers/optionBasedAnswers.js +5 -1
  9. package/dist/answers/tableAnswers.d.ts +108 -108
  10. package/dist/answers/tableAnswers.js +9 -8
  11. package/dist/answers/textAnswers.d.ts +101 -0
  12. package/dist/answers/textAnswers.js +22 -0
  13. package/dist/questions/__tests__/dateQuestions.spec.js +20 -74
  14. package/dist/questions/__tests__/graphQLQuestions.spec.js +6 -0
  15. package/dist/questions/__tests__/numberQuestions.spec.js +108 -0
  16. package/dist/questions/__tests__/optionBasedQuestions.spec.js +91 -54
  17. package/dist/questions/__tests__/tableQuestion.spec.js +2 -0
  18. package/dist/questions/__tests__/textQuestions.spec.d.ts +1 -0
  19. package/dist/questions/__tests__/textQuestions.spec.js +120 -0
  20. package/dist/questions/dateQuestions.d.ts +159 -178
  21. package/dist/questions/dateQuestions.js +9 -15
  22. package/dist/questions/graphQLQuestions.d.ts +67 -38
  23. package/dist/questions/graphQLQuestions.js +3 -2
  24. package/dist/questions/index.d.ts +1800 -1379
  25. package/dist/questions/index.js +22 -19
  26. package/dist/questions/numberQuestions.d.ts +292 -0
  27. package/dist/questions/numberQuestions.js +28 -0
  28. package/dist/questions/optionBasedQuestions.d.ts +186 -157
  29. package/dist/questions/optionBasedQuestions.js +17 -20
  30. package/dist/questions/question.d.ts +29 -11
  31. package/dist/questions/question.js +10 -4
  32. package/dist/questions/tableQuestions.d.ts +2395 -2048
  33. package/dist/questions/tableQuestions.js +12 -10
  34. package/dist/questions/textQuestions.d.ts +261 -0
  35. package/dist/questions/textQuestions.js +42 -0
  36. package/dist/schemas/anyQuestion.schema.json +269 -238
  37. package/dist/schemas/anyTableColumnQuestion.schema.json +207 -216
  38. package/dist/schemas/booleanQuestion.schema.json +17 -11
  39. package/dist/schemas/checkboxesQuestion.schema.json +24 -27
  40. package/dist/schemas/currencyQuestion.schema.json +23 -18
  41. package/dist/schemas/dateQuestion.schema.json +21 -16
  42. package/dist/schemas/dateRangeQuestion.schema.json +31 -56
  43. package/dist/schemas/emailQuestion.schema.json +24 -19
  44. package/dist/schemas/filteredSearchQuestion.schema.json +18 -13
  45. package/dist/schemas/numberQuestion.schema.json +21 -16
  46. package/dist/schemas/numberRangeQuestion.schema.json +31 -56
  47. package/dist/schemas/radioButtonsQuestion.schema.json +24 -27
  48. package/dist/schemas/selectBoxQuestion.schema.json +27 -36
  49. package/dist/schemas/tableQuestion.schema.json +233 -234
  50. package/dist/schemas/textAreaQuestion.schema.json +22 -16
  51. package/dist/schemas/textQuestion.schema.json +21 -16
  52. package/dist/schemas/typeaheadSearchQuestion.schema.json +15 -4
  53. package/dist/schemas/urlQuestion.schema.json +21 -16
  54. package/package.json +1 -1
  55. package/dist/answers/primitiveAnswers.d.ts +0 -216
  56. package/dist/answers/primitiveAnswers.js +0 -41
  57. package/dist/questions/__tests__/primitiveQuestions.spec.js +0 -281
  58. package/dist/questions/primitiveQuestions.d.ts +0 -555
  59. package/dist/questions/primitiveQuestions.js +0 -86
  60. /package/dist/questions/__tests__/{primitiveQuestions.spec.d.ts → numberQuestions.spec.d.ts} +0 -0
@@ -1,555 +0,0 @@
1
- import { z } from "zod";
2
- export declare const BooleanQuestionSchema: z.ZodObject<{
3
- meta: z.ZodObject<{
4
- schemaVersion: z.ZodLiteral<"1.0">;
5
- labelTranslationKey: z.ZodOptional<z.ZodString>;
6
- }, "strip", z.ZodTypeAny, {
7
- schemaVersion: "1.0";
8
- labelTranslationKey?: string | undefined;
9
- }, {
10
- schemaVersion: "1.0";
11
- labelTranslationKey?: string | undefined;
12
- }>;
13
- } & {
14
- type: z.ZodLiteral<"boolean">;
15
- attributes: z.ZodOptional<z.ZodObject<{
16
- checked: z.ZodOptional<z.ZodBoolean>;
17
- }, "strip", z.ZodTypeAny, {
18
- checked?: boolean | undefined;
19
- }, {
20
- checked?: boolean | undefined;
21
- }>>;
22
- }, "strip", z.ZodTypeAny, {
23
- type: "boolean";
24
- meta: {
25
- schemaVersion: "1.0";
26
- labelTranslationKey?: string | undefined;
27
- };
28
- attributes?: {
29
- checked?: boolean | undefined;
30
- } | undefined;
31
- }, {
32
- type: "boolean";
33
- meta: {
34
- schemaVersion: "1.0";
35
- labelTranslationKey?: string | undefined;
36
- };
37
- attributes?: {
38
- checked?: boolean | undefined;
39
- } | undefined;
40
- }>;
41
- export declare const NumberQuestionSchema: z.ZodObject<{
42
- meta: z.ZodObject<{
43
- schemaVersion: z.ZodLiteral<"1.0">;
44
- labelTranslationKey: z.ZodOptional<z.ZodString>;
45
- }, "strip", z.ZodTypeAny, {
46
- schemaVersion: "1.0";
47
- labelTranslationKey?: string | undefined;
48
- }, {
49
- schemaVersion: "1.0";
50
- labelTranslationKey?: string | undefined;
51
- }>;
52
- } & {
53
- type: z.ZodLiteral<"number">;
54
- attributes: z.ZodOptional<z.ZodObject<{
55
- max: z.ZodOptional<z.ZodNumber>;
56
- min: z.ZodOptional<z.ZodNumber>;
57
- step: z.ZodOptional<z.ZodNumber>;
58
- }, "strip", z.ZodTypeAny, {
59
- max?: number | undefined;
60
- min?: number | undefined;
61
- step?: number | undefined;
62
- }, {
63
- max?: number | undefined;
64
- min?: number | undefined;
65
- step?: number | undefined;
66
- }>>;
67
- }, "strip", z.ZodTypeAny, {
68
- type: "number";
69
- meta: {
70
- schemaVersion: "1.0";
71
- labelTranslationKey?: string | undefined;
72
- };
73
- attributes?: {
74
- max?: number | undefined;
75
- min?: number | undefined;
76
- step?: number | undefined;
77
- } | undefined;
78
- }, {
79
- type: "number";
80
- meta: {
81
- schemaVersion: "1.0";
82
- labelTranslationKey?: string | undefined;
83
- };
84
- attributes?: {
85
- max?: number | undefined;
86
- min?: number | undefined;
87
- step?: number | undefined;
88
- } | undefined;
89
- }>;
90
- export declare const NumberRangeQuestionSchema: z.ZodObject<{
91
- meta: z.ZodObject<{
92
- schemaVersion: z.ZodLiteral<"1.0">;
93
- labelTranslationKey: z.ZodOptional<z.ZodString>;
94
- }, "strip", z.ZodTypeAny, {
95
- schemaVersion: "1.0";
96
- labelTranslationKey?: string | undefined;
97
- }, {
98
- schemaVersion: "1.0";
99
- labelTranslationKey?: string | undefined;
100
- }>;
101
- } & {
102
- type: z.ZodLiteral<"numberRange">;
103
- columns: z.ZodObject<{
104
- start: z.ZodObject<{
105
- meta: z.ZodObject<{
106
- schemaVersion: z.ZodLiteral<"1.0">;
107
- labelTranslationKey: z.ZodOptional<z.ZodString>;
108
- }, "strip", z.ZodTypeAny, {
109
- schemaVersion: "1.0";
110
- labelTranslationKey?: string | undefined;
111
- }, {
112
- schemaVersion: "1.0";
113
- labelTranslationKey?: string | undefined;
114
- }>;
115
- type: z.ZodLiteral<"number">;
116
- } & {
117
- attributes: z.ZodObject<{
118
- label: z.ZodString;
119
- }, "strip", z.ZodTypeAny, {
120
- label: string;
121
- }, {
122
- label: string;
123
- }>;
124
- }, "strip", z.ZodTypeAny, {
125
- type: "number";
126
- meta: {
127
- schemaVersion: "1.0";
128
- labelTranslationKey?: string | undefined;
129
- };
130
- attributes: {
131
- label: string;
132
- };
133
- }, {
134
- type: "number";
135
- meta: {
136
- schemaVersion: "1.0";
137
- labelTranslationKey?: string | undefined;
138
- };
139
- attributes: {
140
- label: string;
141
- };
142
- }>;
143
- end: z.ZodObject<{
144
- meta: z.ZodObject<{
145
- schemaVersion: z.ZodLiteral<"1.0">;
146
- labelTranslationKey: z.ZodOptional<z.ZodString>;
147
- }, "strip", z.ZodTypeAny, {
148
- schemaVersion: "1.0";
149
- labelTranslationKey?: string | undefined;
150
- }, {
151
- schemaVersion: "1.0";
152
- labelTranslationKey?: string | undefined;
153
- }>;
154
- type: z.ZodLiteral<"number">;
155
- } & {
156
- attributes: z.ZodObject<{
157
- label: z.ZodString;
158
- }, "strip", z.ZodTypeAny, {
159
- label: string;
160
- }, {
161
- label: string;
162
- }>;
163
- }, "strip", z.ZodTypeAny, {
164
- type: "number";
165
- meta: {
166
- schemaVersion: "1.0";
167
- labelTranslationKey?: string | undefined;
168
- };
169
- attributes: {
170
- label: string;
171
- };
172
- }, {
173
- type: "number";
174
- meta: {
175
- schemaVersion: "1.0";
176
- labelTranslationKey?: string | undefined;
177
- };
178
- attributes: {
179
- label: string;
180
- };
181
- }>;
182
- }, "strip", z.ZodTypeAny, {
183
- start: {
184
- type: "number";
185
- meta: {
186
- schemaVersion: "1.0";
187
- labelTranslationKey?: string | undefined;
188
- };
189
- attributes: {
190
- label: string;
191
- };
192
- };
193
- end: {
194
- type: "number";
195
- meta: {
196
- schemaVersion: "1.0";
197
- labelTranslationKey?: string | undefined;
198
- };
199
- attributes: {
200
- label: string;
201
- };
202
- };
203
- }, {
204
- start: {
205
- type: "number";
206
- meta: {
207
- schemaVersion: "1.0";
208
- labelTranslationKey?: string | undefined;
209
- };
210
- attributes: {
211
- label: string;
212
- };
213
- };
214
- end: {
215
- type: "number";
216
- meta: {
217
- schemaVersion: "1.0";
218
- labelTranslationKey?: string | undefined;
219
- };
220
- attributes: {
221
- label: string;
222
- };
223
- };
224
- }>;
225
- }, "strip", z.ZodTypeAny, {
226
- type: "numberRange";
227
- meta: {
228
- schemaVersion: "1.0";
229
- labelTranslationKey?: string | undefined;
230
- };
231
- columns: {
232
- start: {
233
- type: "number";
234
- meta: {
235
- schemaVersion: "1.0";
236
- labelTranslationKey?: string | undefined;
237
- };
238
- attributes: {
239
- label: string;
240
- };
241
- };
242
- end: {
243
- type: "number";
244
- meta: {
245
- schemaVersion: "1.0";
246
- labelTranslationKey?: string | undefined;
247
- };
248
- attributes: {
249
- label: string;
250
- };
251
- };
252
- };
253
- }, {
254
- type: "numberRange";
255
- meta: {
256
- schemaVersion: "1.0";
257
- labelTranslationKey?: string | undefined;
258
- };
259
- columns: {
260
- start: {
261
- type: "number";
262
- meta: {
263
- schemaVersion: "1.0";
264
- labelTranslationKey?: string | undefined;
265
- };
266
- attributes: {
267
- label: string;
268
- };
269
- };
270
- end: {
271
- type: "number";
272
- meta: {
273
- schemaVersion: "1.0";
274
- labelTranslationKey?: string | undefined;
275
- };
276
- attributes: {
277
- label: string;
278
- };
279
- };
280
- };
281
- }>;
282
- export declare const CurrencyQuestionSchema: z.ZodObject<{
283
- attributes: z.ZodOptional<z.ZodObject<{
284
- max: z.ZodOptional<z.ZodNumber>;
285
- min: z.ZodOptional<z.ZodNumber>;
286
- step: z.ZodOptional<z.ZodNumber>;
287
- }, "strip", z.ZodTypeAny, {
288
- max?: number | undefined;
289
- min?: number | undefined;
290
- step?: number | undefined;
291
- }, {
292
- max?: number | undefined;
293
- min?: number | undefined;
294
- step?: number | undefined;
295
- }>>;
296
- } & {
297
- type: z.ZodLiteral<"currency">;
298
- meta: z.ZodObject<{
299
- schemaVersion: z.ZodLiteral<"1.0">;
300
- labelTranslationKey: z.ZodOptional<z.ZodString>;
301
- } & {
302
- denomination: z.ZodOptional<z.ZodString>;
303
- }, "strip", z.ZodTypeAny, {
304
- schemaVersion: "1.0";
305
- labelTranslationKey?: string | undefined;
306
- denomination?: string | undefined;
307
- }, {
308
- schemaVersion: "1.0";
309
- labelTranslationKey?: string | undefined;
310
- denomination?: string | undefined;
311
- }>;
312
- }, "strip", z.ZodTypeAny, {
313
- type: "currency";
314
- meta: {
315
- schemaVersion: "1.0";
316
- labelTranslationKey?: string | undefined;
317
- denomination?: string | undefined;
318
- };
319
- attributes?: {
320
- max?: number | undefined;
321
- min?: number | undefined;
322
- step?: number | undefined;
323
- } | undefined;
324
- }, {
325
- type: "currency";
326
- meta: {
327
- schemaVersion: "1.0";
328
- labelTranslationKey?: string | undefined;
329
- denomination?: string | undefined;
330
- };
331
- attributes?: {
332
- max?: number | undefined;
333
- min?: number | undefined;
334
- step?: number | undefined;
335
- } | undefined;
336
- }>;
337
- export declare const EmailQuestionSchema: z.ZodObject<{
338
- meta: z.ZodObject<{
339
- schemaVersion: z.ZodLiteral<"1.0">;
340
- labelTranslationKey: z.ZodOptional<z.ZodString>;
341
- }, "strip", z.ZodTypeAny, {
342
- schemaVersion: "1.0";
343
- labelTranslationKey?: string | undefined;
344
- }, {
345
- schemaVersion: "1.0";
346
- labelTranslationKey?: string | undefined;
347
- }>;
348
- } & {
349
- type: z.ZodLiteral<"email">;
350
- attributes: z.ZodOptional<z.ZodObject<{
351
- maxLength: z.ZodOptional<z.ZodNumber>;
352
- minLength: z.ZodOptional<z.ZodNumber>;
353
- multiple: z.ZodOptional<z.ZodBoolean>;
354
- pattern: z.ZodOptional<z.ZodString>;
355
- }, "strip", z.ZodTypeAny, {
356
- maxLength?: number | undefined;
357
- minLength?: number | undefined;
358
- multiple?: boolean | undefined;
359
- pattern?: string | undefined;
360
- }, {
361
- maxLength?: number | undefined;
362
- minLength?: number | undefined;
363
- multiple?: boolean | undefined;
364
- pattern?: string | undefined;
365
- }>>;
366
- }, "strip", z.ZodTypeAny, {
367
- type: "email";
368
- meta: {
369
- schemaVersion: "1.0";
370
- labelTranslationKey?: string | undefined;
371
- };
372
- attributes?: {
373
- maxLength?: number | undefined;
374
- minLength?: number | undefined;
375
- multiple?: boolean | undefined;
376
- pattern?: string | undefined;
377
- } | undefined;
378
- }, {
379
- type: "email";
380
- meta: {
381
- schemaVersion: "1.0";
382
- labelTranslationKey?: string | undefined;
383
- };
384
- attributes?: {
385
- maxLength?: number | undefined;
386
- minLength?: number | undefined;
387
- multiple?: boolean | undefined;
388
- pattern?: string | undefined;
389
- } | undefined;
390
- }>;
391
- export declare const TextAreaQuestionSchema: z.ZodObject<{} & {
392
- type: z.ZodLiteral<"textArea">;
393
- attributes: z.ZodOptional<z.ZodObject<{
394
- cols: z.ZodOptional<z.ZodNumber>;
395
- maxLength: z.ZodOptional<z.ZodNumber>;
396
- minLength: z.ZodOptional<z.ZodNumber>;
397
- rows: z.ZodOptional<z.ZodNumber>;
398
- }, "strip", z.ZodTypeAny, {
399
- maxLength?: number | undefined;
400
- minLength?: number | undefined;
401
- cols?: number | undefined;
402
- rows?: number | undefined;
403
- }, {
404
- maxLength?: number | undefined;
405
- minLength?: number | undefined;
406
- cols?: number | undefined;
407
- rows?: number | undefined;
408
- }>>;
409
- meta: z.ZodObject<{
410
- schemaVersion: z.ZodLiteral<"1.0">;
411
- labelTranslationKey: z.ZodOptional<z.ZodString>;
412
- } & {
413
- asRichText: z.ZodOptional<z.ZodBoolean>;
414
- }, "strip", z.ZodTypeAny, {
415
- schemaVersion: "1.0";
416
- labelTranslationKey?: string | undefined;
417
- asRichText?: boolean | undefined;
418
- }, {
419
- schemaVersion: "1.0";
420
- labelTranslationKey?: string | undefined;
421
- asRichText?: boolean | undefined;
422
- }>;
423
- }, "strip", z.ZodTypeAny, {
424
- type: "textArea";
425
- meta: {
426
- schemaVersion: "1.0";
427
- labelTranslationKey?: string | undefined;
428
- asRichText?: boolean | undefined;
429
- };
430
- attributes?: {
431
- maxLength?: number | undefined;
432
- minLength?: number | undefined;
433
- cols?: number | undefined;
434
- rows?: number | undefined;
435
- } | undefined;
436
- }, {
437
- type: "textArea";
438
- meta: {
439
- schemaVersion: "1.0";
440
- labelTranslationKey?: string | undefined;
441
- asRichText?: boolean | undefined;
442
- };
443
- attributes?: {
444
- maxLength?: number | undefined;
445
- minLength?: number | undefined;
446
- cols?: number | undefined;
447
- rows?: number | undefined;
448
- } | undefined;
449
- }>;
450
- export declare const TextQuestionSchema: z.ZodObject<{
451
- meta: z.ZodObject<{
452
- schemaVersion: z.ZodLiteral<"1.0">;
453
- labelTranslationKey: z.ZodOptional<z.ZodString>;
454
- }, "strip", z.ZodTypeAny, {
455
- schemaVersion: "1.0";
456
- labelTranslationKey?: string | undefined;
457
- }, {
458
- schemaVersion: "1.0";
459
- labelTranslationKey?: string | undefined;
460
- }>;
461
- } & {
462
- type: z.ZodLiteral<"text">;
463
- attributes: z.ZodOptional<z.ZodObject<{
464
- maxLength: z.ZodOptional<z.ZodNumber>;
465
- minLength: z.ZodOptional<z.ZodNumber>;
466
- pattern: z.ZodOptional<z.ZodString>;
467
- }, "strip", z.ZodTypeAny, {
468
- maxLength?: number | undefined;
469
- minLength?: number | undefined;
470
- pattern?: string | undefined;
471
- }, {
472
- maxLength?: number | undefined;
473
- minLength?: number | undefined;
474
- pattern?: string | undefined;
475
- }>>;
476
- }, "strip", z.ZodTypeAny, {
477
- type: "text";
478
- meta: {
479
- schemaVersion: "1.0";
480
- labelTranslationKey?: string | undefined;
481
- };
482
- attributes?: {
483
- maxLength?: number | undefined;
484
- minLength?: number | undefined;
485
- pattern?: string | undefined;
486
- } | undefined;
487
- }, {
488
- type: "text";
489
- meta: {
490
- schemaVersion: "1.0";
491
- labelTranslationKey?: string | undefined;
492
- };
493
- attributes?: {
494
- maxLength?: number | undefined;
495
- minLength?: number | undefined;
496
- pattern?: string | undefined;
497
- } | undefined;
498
- }>;
499
- export declare const URLQuestionSchema: z.ZodObject<{
500
- meta: z.ZodObject<{
501
- schemaVersion: z.ZodLiteral<"1.0">;
502
- labelTranslationKey: z.ZodOptional<z.ZodString>;
503
- }, "strip", z.ZodTypeAny, {
504
- schemaVersion: "1.0";
505
- labelTranslationKey?: string | undefined;
506
- }, {
507
- schemaVersion: "1.0";
508
- labelTranslationKey?: string | undefined;
509
- }>;
510
- } & {
511
- type: z.ZodLiteral<"url">;
512
- attributes: z.ZodOptional<z.ZodObject<{
513
- maxLength: z.ZodOptional<z.ZodNumber>;
514
- minLength: z.ZodOptional<z.ZodNumber>;
515
- pattern: z.ZodOptional<z.ZodString>;
516
- }, "strip", z.ZodTypeAny, {
517
- maxLength?: number | undefined;
518
- minLength?: number | undefined;
519
- pattern?: string | undefined;
520
- }, {
521
- maxLength?: number | undefined;
522
- minLength?: number | undefined;
523
- pattern?: string | undefined;
524
- }>>;
525
- }, "strip", z.ZodTypeAny, {
526
- type: "url";
527
- meta: {
528
- schemaVersion: "1.0";
529
- labelTranslationKey?: string | undefined;
530
- };
531
- attributes?: {
532
- maxLength?: number | undefined;
533
- minLength?: number | undefined;
534
- pattern?: string | undefined;
535
- } | undefined;
536
- }, {
537
- type: "url";
538
- meta: {
539
- schemaVersion: "1.0";
540
- labelTranslationKey?: string | undefined;
541
- };
542
- attributes?: {
543
- maxLength?: number | undefined;
544
- minLength?: number | undefined;
545
- pattern?: string | undefined;
546
- } | undefined;
547
- }>;
548
- export type BooleanQuestionType = z.infer<typeof BooleanQuestionSchema>;
549
- export type CurrencyQuestionType = z.infer<typeof CurrencyQuestionSchema>;
550
- export type EmailQuestionType = z.infer<typeof EmailQuestionSchema>;
551
- export type NumberQuestionType = z.infer<typeof NumberQuestionSchema>;
552
- export type NumberRangeQuestionType = z.infer<typeof NumberRangeQuestionSchema>;
553
- export type TextAreaQuestionType = z.infer<typeof TextAreaQuestionSchema>;
554
- export type TextQuestionType = z.infer<typeof TextQuestionSchema>;
555
- export type URLQuestionType = z.infer<typeof URLQuestionSchema>;
@@ -1,86 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.URLQuestionSchema = exports.TextQuestionSchema = exports.TextAreaQuestionSchema = exports.EmailQuestionSchema = exports.CurrencyQuestionSchema = exports.NumberRangeQuestionSchema = exports.NumberQuestionSchema = exports.BooleanQuestionSchema = void 0;
4
- const zod_1 = require("zod");
5
- const question_1 = require("./question");
6
- const BaseMeta = question_1.QuestionSchema.shape.meta;
7
- // A Yes/No True/False question and answer
8
- exports.BooleanQuestionSchema = question_1.QuestionSchema.merge(zod_1.z.object({
9
- type: zod_1.z.literal('boolean'), // The type of question
10
- attributes: zod_1.z.object({
11
- checked: zod_1.z.boolean().optional() // If it is checked by default when rendered (default is false)
12
- }).optional(),
13
- }));
14
- // A number question and answer
15
- exports.NumberQuestionSchema = question_1.QuestionSchema.merge(zod_1.z.object({
16
- type: zod_1.z.literal('number'), // The type of question
17
- attributes: zod_1.z.object({
18
- max: zod_1.z.number().optional(), // The maximum value (no default)
19
- min: zod_1.z.number().optional(), // The minimum value (default is 0)
20
- step: zod_1.z.number().optional() // The step value (use 0.01 or similar for float)
21
- }).optional(),
22
- }));
23
- // A range of numbers question and answer
24
- exports.NumberRangeQuestionSchema = question_1.QuestionSchema.merge(zod_1.z.object({
25
- type: zod_1.z.literal('numberRange'), // The type of question
26
- columns: zod_1.z.object({
27
- start: exports.NumberQuestionSchema.merge(zod_1.z.object({
28
- attributes: zod_1.z.object({
29
- label: zod_1.z.string() // The label for the start number
30
- })
31
- })),
32
- end: exports.NumberQuestionSchema.merge(zod_1.z.object({
33
- attributes: zod_1.z.object({
34
- label: zod_1.z.string() // The label for the end number
35
- })
36
- }))
37
- })
38
- }));
39
- // Currency question and answer
40
- exports.CurrencyQuestionSchema = exports.NumberQuestionSchema.merge(zod_1.z.object({
41
- type: zod_1.z.literal('currency'), // The type of question
42
- meta: BaseMeta.extend({
43
- denomination: zod_1.z.string().optional() // The currency denomination (default is USD)
44
- })
45
- }));
46
- // Email question and answer
47
- exports.EmailQuestionSchema = question_1.QuestionSchema.merge(zod_1.z.object({
48
- type: zod_1.z.literal('email'), // The type of question
49
- attributes: zod_1.z.object({
50
- maxLength: zod_1.z.number().optional(), // The maximum length of the email (no default)
51
- minLength: zod_1.z.number().optional(), // The minimum length of the email (no default)
52
- multiple: zod_1.z.boolean().optional(), // Allow multiple emails (default is false; comma separated)
53
- pattern: zod_1.z.string().optional() // The regex pattern to match (no default)
54
- }).optional(),
55
- }));
56
- // Text area question and answer
57
- exports.TextAreaQuestionSchema = question_1.QuestionSchema.merge(zod_1.z.object({
58
- type: zod_1.z.literal('textArea'), // The type of question
59
- attributes: zod_1.z.object({
60
- cols: zod_1.z.number().optional(), // The number of columns (default is 20)
61
- maxLength: zod_1.z.number().optional(), // The maximum length of the text (no default)
62
- minLength: zod_1.z.number().optional(), // The minimum length of the text (no default)
63
- rows: zod_1.z.number().optional() // The number of rows (default is 2)
64
- }).optional(),
65
- meta: BaseMeta.extend({
66
- asRichText: zod_1.z.boolean().optional() // Whether to use rich text (default is false)
67
- })
68
- }));
69
- // Text question and answer
70
- exports.TextQuestionSchema = question_1.QuestionSchema.merge(zod_1.z.object({
71
- type: zod_1.z.literal('text'), // The type of question
72
- attributes: zod_1.z.object({
73
- maxLength: zod_1.z.number().optional(), // The maximum length of the text (no default)
74
- minLength: zod_1.z.number().optional(), // The minimum length of the text (no default)
75
- pattern: zod_1.z.string().optional() // The regex pattern to match (no default)
76
- }).optional(),
77
- }));
78
- // URL question and answer
79
- exports.URLQuestionSchema = question_1.QuestionSchema.merge(zod_1.z.object({
80
- type: zod_1.z.literal('url'), // The type of question
81
- attributes: zod_1.z.object({
82
- maxLength: zod_1.z.number().optional(), // The maximum length of the URL (no default)
83
- minLength: zod_1.z.number().optional(), // The minimum length of the URL (no default)
84
- pattern: zod_1.z.string().optional() // The regex pattern to match (no default)
85
- }).optional(),
86
- }));