@dmptool/types 1.1.1 → 1.1.3

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 (54) hide show
  1. package/dist/answers/__tests__/answers.spec.js +11 -5
  2. package/dist/answers/answer.d.ts +3 -3
  3. package/dist/answers/graphQLAnswers.d.ts +2 -2
  4. package/dist/answers/graphQLAnswers.js +2 -2
  5. package/dist/answers/index.d.ts +92 -55
  6. package/dist/answers/index.js +2 -2
  7. package/dist/answers/optionBasedAnswers.d.ts +27 -2
  8. package/dist/answers/optionBasedAnswers.js +5 -1
  9. package/dist/answers/tableAnswers.d.ts +268 -104
  10. package/dist/answers/tableAnswers.js +2 -1
  11. package/dist/questions/__tests__/graphQLQuestions.spec.js +13 -11
  12. package/dist/questions/__tests__/optionBasedQuestions.spec.js +52 -13
  13. package/dist/questions/dateQuestions.d.ts +68 -47
  14. package/dist/questions/dateQuestions.js +15 -6
  15. package/dist/questions/graphQLQuestions.d.ts +121 -96
  16. package/dist/questions/graphQLQuestions.js +34 -3
  17. package/dist/questions/index.d.ts +1524 -1006
  18. package/dist/questions/index.js +4 -2
  19. package/dist/questions/numberQuestions.d.ts +107 -76
  20. package/dist/questions/numberQuestions.js +20 -7
  21. package/dist/questions/optionBasedQuestions.d.ts +202 -74
  22. package/dist/questions/optionBasedQuestions.js +41 -11
  23. package/dist/questions/question.d.ts +43 -4
  24. package/dist/questions/question.js +13 -2
  25. package/dist/questions/tableQuestions.d.ts +2056 -1428
  26. package/dist/questions/tableQuestions.js +9 -4
  27. package/dist/questions/textQuestions.d.ts +98 -58
  28. package/dist/questions/textQuestions.js +29 -15
  29. package/dist/schemas/affiliationSearchAnswer.schema.json +37 -0
  30. package/dist/schemas/affiliationSearchQuestion.schema.json +146 -0
  31. package/dist/schemas/anyAnswer.schema.json +41 -23
  32. package/dist/schemas/anyQuestion.schema.json +525 -108
  33. package/dist/schemas/anyTableColumnAnswer.schema.json +35 -14
  34. package/dist/schemas/anyTableColumnQuestion.schema.json +396 -80
  35. package/dist/schemas/booleanQuestion.schema.json +11 -3
  36. package/dist/schemas/checkboxesQuestion.schema.json +14 -7
  37. package/dist/schemas/currencyQuestion.schema.json +14 -3
  38. package/dist/schemas/dateQuestion.schema.json +10 -1
  39. package/dist/schemas/dateRangeQuestion.schema.json +14 -1
  40. package/dist/schemas/emailQuestion.schema.json +12 -2
  41. package/dist/schemas/filteredSearchQuestion.schema.json +7 -0
  42. package/dist/schemas/multiselectBoxAnswer.schema.json +40 -0
  43. package/dist/schemas/multiselectBoxQuestion.schema.json +85 -0
  44. package/dist/schemas/numberQuestion.schema.json +12 -2
  45. package/dist/schemas/numberRangeQuestion.schema.json +16 -2
  46. package/dist/schemas/radioButtonsQuestion.schema.json +14 -7
  47. package/dist/schemas/selectBoxAnswer.schema.json +1 -4
  48. package/dist/schemas/selectBoxQuestion.schema.json +17 -8
  49. package/dist/schemas/tableAnswer.schema.json +35 -14
  50. package/dist/schemas/tableQuestion.schema.json +420 -84
  51. package/dist/schemas/textAreaQuestion.schema.json +16 -6
  52. package/dist/schemas/textQuestion.schema.json +10 -1
  53. package/dist/schemas/urlQuestion.schema.json +10 -1
  54. package/package.json +1 -1
@@ -8,7 +8,7 @@
8
8
  "properties": {
9
9
  "type": {
10
10
  "type": "string",
11
- "const": "boolean"
11
+ "const": "affiliationSearch"
12
12
  },
13
13
  "attributes": {
14
14
  "type": "object",
@@ -21,9 +21,6 @@
21
21
  },
22
22
  "labelTranslationKey": {
23
23
  "type": "string"
24
- },
25
- "checked": {
26
- "type": "boolean"
27
24
  }
28
25
  },
29
26
  "additionalProperties": false
@@ -34,17 +31,115 @@
34
31
  "schemaVersion": {
35
32
  "type": "string",
36
33
  "const": "1.0"
34
+ },
35
+ "title": {
36
+ "type": "string",
37
+ "const": "Affiliation Search"
38
+ },
39
+ "usageDescription": {
40
+ "type": "string",
41
+ "const": "For questions that require the user to select from a controlled list of institutions."
37
42
  }
38
43
  },
39
44
  "required": [
40
45
  "schemaVersion"
41
46
  ],
42
47
  "additionalProperties": false
48
+ },
49
+ "graphQL": {
50
+ "type": "object",
51
+ "properties": {
52
+ "displayFields": {
53
+ "type": "array",
54
+ "items": {
55
+ "type": "object",
56
+ "properties": {
57
+ "propertyName": {
58
+ "type": "string",
59
+ "const": "displayName"
60
+ },
61
+ "label": {
62
+ "type": "string",
63
+ "default": "Institution"
64
+ },
65
+ "labelTranslationKey": {
66
+ "type": "string",
67
+ "default": "SignupPage.institution"
68
+ }
69
+ },
70
+ "required": [
71
+ "propertyName"
72
+ ],
73
+ "additionalProperties": false
74
+ }
75
+ },
76
+ "localQueryId": {
77
+ "type": "string"
78
+ },
79
+ "query": {
80
+ "type": "string",
81
+ "const": "query Affiliations($name: String!){affiliations(name: $name) { totalCount nextCursor items {id displayName uri}}}"
82
+ },
83
+ "responseField": {
84
+ "type": "string",
85
+ "const": "affiliations.items"
86
+ },
87
+ "variables": {
88
+ "type": "array",
89
+ "items": {
90
+ "type": "object",
91
+ "properties": {
92
+ "name": {
93
+ "type": "string",
94
+ "const": "name"
95
+ },
96
+ "type": {
97
+ "type": "string",
98
+ "default": "string"
99
+ },
100
+ "label": {
101
+ "type": "string",
102
+ "default": "Search for your institution"
103
+ },
104
+ "minLength": {
105
+ "type": "number",
106
+ "const": 3
107
+ },
108
+ "labelTranslationKey": {
109
+ "type": "string",
110
+ "default": "SignupPage.institutionHelp"
111
+ }
112
+ },
113
+ "required": [
114
+ "name",
115
+ "minLength"
116
+ ],
117
+ "additionalProperties": false
118
+ }
119
+ },
120
+ "queryId": {
121
+ "type": "string",
122
+ "default": "useAffiliationsQuery"
123
+ },
124
+ "answerField": {
125
+ "type": "string",
126
+ "const": "uri"
127
+ }
128
+ },
129
+ "required": [
130
+ "displayFields",
131
+ "query",
132
+ "responseField",
133
+ "variables",
134
+ "answerField"
135
+ ],
136
+ "additionalProperties": false
43
137
  }
44
138
  },
45
139
  "required": [
46
140
  "type",
47
- "attributes"
141
+ "meta",
142
+ "graphQL"
48
143
  ],
49
144
  "additionalProperties": false
50
145
  },
@@ -53,7 +148,7 @@
53
148
  "properties": {
54
149
  "type": {
55
150
  "type": "string",
56
- "const": "checkBoxes"
151
+ "const": "boolean"
57
152
  },
58
153
  "attributes": {
59
154
  "type": "object",
@@ -66,12 +161,69 @@
66
161
  },
67
162
  "labelTranslationKey": {
68
163
  "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes/properties/labelTranslationKey"
164
+ },
165
+ "checked": {
166
+ "type": "boolean",
167
+ "default": false
69
168
  }
70
169
  },
71
170
  "additionalProperties": false
72
171
  },
73
172
  "meta": {
74
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta"
173
+ "type": "object",
174
+ "properties": {
175
+ "schemaVersion": {
176
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
177
+ },
178
+ "title": {
179
+ "type": "string",
180
+ "const": "Yes/No Field"
181
+ },
182
+ "usageDescription": {
183
+ "type": "string",
184
+ "const": "For questions that require a simple Yes/No response."
185
+ }
186
+ },
187
+ "required": [
188
+ "schemaVersion"
189
+ ],
190
+ "additionalProperties": false
191
+ }
192
+ },
193
+ "required": [
194
+ "type"
195
+ ],
196
+ "additionalProperties": false
197
+ },
198
+ {
199
+ "type": "object",
200
+ "properties": {
201
+ "type": {
202
+ "type": "string",
203
+ "const": "checkBoxes"
204
+ },
205
+ "attributes": {
206
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes"
207
+ },
208
+ "meta": {
209
+ "type": "object",
210
+ "properties": {
211
+ "schemaVersion": {
212
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
213
+ },
214
+ "title": {
215
+ "type": "string",
216
+ "const": "Check Boxes"
217
+ },
218
+ "usageDescription": {
219
+ "type": "string",
220
+ "const": "For multiple choice questions where users can select multiple options."
221
+ }
222
+ },
223
+ "required": [
224
+ "schemaVersion"
225
+ ],
226
+ "additionalProperties": false
75
227
  },
76
228
  "options": {
77
229
  "type": "array",
@@ -79,19 +231,18 @@
79
231
  "type": "object",
80
232
  "properties": {
81
233
  "label": {
82
- "type": "string"
234
+ "type": "string",
235
+ "default": "Option A"
83
236
  },
84
237
  "value": {
85
- "type": "string"
238
+ "type": "string",
239
+ "default": "a"
86
240
  },
87
241
  "checked": {
88
- "type": "boolean"
242
+ "type": "boolean",
243
+ "default": false
89
244
  }
90
245
  },
91
- "required": [
92
- "label",
93
- "value"
94
- ],
95
246
  "additionalProperties": false
96
247
  }
97
248
  }
@@ -125,19 +276,39 @@
125
276
  "type": "number"
126
277
  },
127
278
  "min": {
128
- "type": "number"
279
+ "type": "number",
280
+ "default": 0
129
281
  },
130
282
  "step": {
131
- "type": "number"
283
+ "type": "number",
284
+ "default": 1
132
285
  },
133
286
  "denomination": {
134
- "type": "string"
287
+ "type": "string",
288
+ "default": "USD"
135
289
  }
136
290
  },
137
291
  "additionalProperties": false
138
292
  },
139
293
  "meta": {
140
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta"
294
+ "type": "object",
295
+ "properties": {
296
+ "schemaVersion": {
297
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
298
+ },
299
+ "title": {
300
+ "type": "string",
301
+ "const": "Currency Field"
302
+ },
303
+ "usageDescription": {
304
+ "type": "string",
305
+ "const": "For questions that require a monetary amount (e.g. Cost or Budget)."
306
+ }
307
+ },
308
+ "required": [
309
+ "schemaVersion"
310
+ ],
311
+ "additionalProperties": false
141
312
  }
142
313
  },
143
314
  "required": [
@@ -171,13 +342,31 @@
171
342
  "type": "string"
172
343
  },
173
344
  "step": {
174
- "type": "number"
345
+ "type": "number",
346
+ "default": 1
175
347
  }
176
348
  },
177
349
  "additionalProperties": false
178
350
  },
179
351
  "meta": {
180
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta"
352
+ "type": "object",
353
+ "properties": {
354
+ "schemaVersion": {
355
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
356
+ },
357
+ "title": {
358
+ "type": "string",
359
+ "const": "Date Field"
360
+ },
361
+ "usageDescription": {
362
+ "type": "string",
363
+ "const": "For questions that require a date."
364
+ }
365
+ },
366
+ "required": [
367
+ "schemaVersion"
368
+ ],
369
+ "additionalProperties": false
181
370
  }
182
371
  },
183
372
  "required": [
@@ -193,21 +382,42 @@
193
382
  "const": "dateRange"
194
383
  },
195
384
  "attributes": {
196
- "$ref": "#/definitions/AnyQuestion/anyOf/1/properties/attributes"
385
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes"
197
386
  },
198
387
  "meta": {
199
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta"
388
+ "type": "object",
389
+ "properties": {
390
+ "schemaVersion": {
391
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
392
+ },
393
+ "title": {
394
+ "type": "string",
395
+ "const": "Date Range"
396
+ },
397
+ "usageDescription": {
398
+ "type": "string",
399
+ "const": "For questions that require a date range (e.g. From/To, Start/End)"
400
+ }
401
+ },
402
+ "required": [
403
+ "schemaVersion"
404
+ ],
405
+ "additionalProperties": false
200
406
  },
201
407
  "columns": {
202
408
  "type": "object",
203
409
  "properties": {
204
410
  "start": {
205
- "$ref": "#/definitions/AnyQuestion/anyOf/3/properties/attributes"
411
+ "$ref": "#/definitions/AnyQuestion/anyOf/4/properties/attributes"
206
412
  },
207
413
  "end": {
208
- "$ref": "#/definitions/AnyQuestion/anyOf/3/properties/attributes"
414
+ "$ref": "#/definitions/AnyQuestion/anyOf/4/properties/attributes"
209
415
  }
210
416
  },
417
+ "required": [
418
+ "start",
419
+ "end"
420
+ ],
211
421
  "additionalProperties": false
212
422
  }
213
423
  },
@@ -237,7 +447,8 @@
237
447
  "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes/properties/labelTranslationKey"
238
448
  },
239
449
  "maxLength": {
240
- "type": "number"
450
+ "type": "number",
451
+ "default": 255
241
452
  },
242
453
  "minLength": {
243
454
  "type": "number"
@@ -246,13 +457,31 @@
246
457
  "type": "string"
247
458
  },
248
459
  "multiple": {
249
- "type": "boolean"
460
+ "type": "boolean",
461
+ "default": false
250
462
  }
251
463
  },
252
464
  "additionalProperties": false
253
465
  },
254
466
  "meta": {
255
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta"
467
+ "type": "object",
468
+ "properties": {
469
+ "schemaVersion": {
470
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
471
+ },
472
+ "title": {
473
+ "type": "string",
474
+ "const": "Email Field"
475
+ },
476
+ "usageDescription": {
477
+ "type": "string",
478
+ "const": "For questions that require require email address(es)."
479
+ }
480
+ },
481
+ "required": [
482
+ "schemaVersion"
483
+ ],
484
+ "additionalProperties": false
256
485
  }
257
486
  },
258
487
  "required": [
@@ -286,7 +515,23 @@
286
515
  "additionalProperties": false
287
516
  },
288
517
  "meta": {
289
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta"
518
+ "type": "object",
519
+ "properties": {
520
+ "schemaVersion": {
521
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
522
+ },
523
+ "title": {
524
+ "type": "string",
525
+ "const": "Not yet implemented"
526
+ },
527
+ "usageDescription": {
528
+ "type": "string"
529
+ }
530
+ },
531
+ "required": [
532
+ "schemaVersion"
533
+ ],
534
+ "additionalProperties": false
290
535
  },
291
536
  "graphQL": {
292
537
  "type": "object",
@@ -314,7 +559,7 @@
314
559
  }
315
560
  },
316
561
  "localQueryId": {
317
- "type": "string"
562
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/graphQL/properties/localQueryId"
318
563
  },
319
564
  "query": {
320
565
  "type": "string"
@@ -367,6 +612,82 @@
367
612
  ],
368
613
  "additionalProperties": false
369
614
  },
615
+ {
616
+ "type": "object",
617
+ "properties": {
618
+ "type": {
619
+ "type": "string",
620
+ "const": "multiselectBox"
621
+ },
622
+ "attributes": {
623
+ "type": "object",
624
+ "properties": {
625
+ "label": {
626
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes/properties/label"
627
+ },
628
+ "help": {
629
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes/properties/help"
630
+ },
631
+ "labelTranslationKey": {
632
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes/properties/labelTranslationKey"
633
+ },
634
+ "multiple": {
635
+ "type": "boolean",
636
+ "const": true
637
+ }
638
+ },
639
+ "required": [
640
+ "multiple"
641
+ ],
642
+ "additionalProperties": false
643
+ },
644
+ "meta": {
645
+ "type": "object",
646
+ "properties": {
647
+ "schemaVersion": {
648
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
649
+ },
650
+ "title": {
651
+ "type": "string",
652
+ "const": "Multi-select Box"
653
+ },
654
+ "usageDescription": {
655
+ "type": "string",
656
+ "const": "For questions where multiple answers are valid. Allows users to select several options from a predefined list, providing flexibility in responses."
657
+ }
658
+ },
659
+ "required": [
660
+ "schemaVersion"
661
+ ],
662
+ "additionalProperties": false
663
+ },
664
+ "options": {
665
+ "type": "array",
666
+ "items": {
667
+ "type": "object",
668
+ "properties": {
669
+ "label": {
670
+ "$ref": "#/definitions/AnyQuestion/anyOf/2/properties/options/items/properties/label"
671
+ },
672
+ "value": {
673
+ "$ref": "#/definitions/AnyQuestion/anyOf/2/properties/options/items/properties/value"
674
+ },
675
+ "selected": {
676
+ "type": "boolean",
677
+ "default": false
678
+ }
679
+ },
680
+ "additionalProperties": false
681
+ }
682
+ }
683
+ },
684
+ "required": [
685
+ "type",
686
+ "attributes",
687
+ "options"
688
+ ],
689
+ "additionalProperties": false
690
+ },
370
691
  {
371
692
  "type": "object",
372
693
  "properties": {
@@ -387,19 +708,36 @@
387
708
  "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes/properties/labelTranslationKey"
388
709
  },
389
710
  "max": {
390
- "$ref": "#/definitions/AnyQuestion/anyOf/2/properties/attributes/properties/max"
711
+ "$ref": "#/definitions/AnyQuestion/anyOf/3/properties/attributes/properties/max"
391
712
  },
392
713
  "min": {
393
- "$ref": "#/definitions/AnyQuestion/anyOf/2/properties/attributes/properties/min"
714
+ "$ref": "#/definitions/AnyQuestion/anyOf/3/properties/attributes/properties/min"
394
715
  },
395
716
  "step": {
396
- "$ref": "#/definitions/AnyQuestion/anyOf/2/properties/attributes/properties/step"
717
+ "$ref": "#/definitions/AnyQuestion/anyOf/3/properties/attributes/properties/step"
397
718
  }
398
719
  },
399
720
  "additionalProperties": false
400
721
  },
401
722
  "meta": {
402
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta"
723
+ "type": "object",
724
+ "properties": {
725
+ "schemaVersion": {
726
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
727
+ },
728
+ "title": {
729
+ "type": "string",
730
+ "const": "Number Field"
731
+ },
732
+ "usageDescription": {
733
+ "type": "string",
734
+ "const": "For questions that require a single numeric value."
735
+ }
736
+ },
737
+ "required": [
738
+ "schemaVersion"
739
+ ],
740
+ "additionalProperties": false
403
741
  }
404
742
  },
405
743
  "required": [
@@ -415,21 +753,42 @@
415
753
  "const": "numberRange"
416
754
  },
417
755
  "attributes": {
418
- "$ref": "#/definitions/AnyQuestion/anyOf/1/properties/attributes"
756
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes"
419
757
  },
420
758
  "meta": {
421
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta"
759
+ "type": "object",
760
+ "properties": {
761
+ "schemaVersion": {
762
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
763
+ },
764
+ "title": {
765
+ "type": "string",
766
+ "const": "Number Range"
767
+ },
768
+ "usageDescription": {
769
+ "type": "string",
770
+ "const": "For questions that require a numerical range (e.g. From/To, Min/Max)."
771
+ }
772
+ },
773
+ "required": [
774
+ "schemaVersion"
775
+ ],
776
+ "additionalProperties": false
422
777
  },
423
778
  "columns": {
424
779
  "type": "object",
425
780
  "properties": {
426
781
  "start": {
427
- "$ref": "#/definitions/AnyQuestion/anyOf/7/properties/attributes"
782
+ "$ref": "#/definitions/AnyQuestion/anyOf/9/properties/attributes"
428
783
  },
429
784
  "end": {
430
- "$ref": "#/definitions/AnyQuestion/anyOf/7/properties/attributes"
785
+ "$ref": "#/definitions/AnyQuestion/anyOf/9/properties/attributes"
431
786
  }
432
787
  },
788
+ "required": [
789
+ "start",
790
+ "end"
791
+ ],
433
792
  "additionalProperties": false
434
793
  }
435
794
  },
@@ -447,31 +806,32 @@
447
806
  "const": "radioButtons"
448
807
  },
449
808
  "attributes": {
450
- "$ref": "#/definitions/AnyQuestion/anyOf/1/properties/attributes"
809
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes"
451
810
  },
452
811
  "meta": {
453
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta"
812
+ "type": "object",
813
+ "properties": {
814
+ "schemaVersion": {
815
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
816
+ },
817
+ "title": {
818
+ "type": "string",
819
+ "const": "Radio Buttons"
820
+ },
821
+ "usageDescription": {
822
+ "type": "string",
823
+ "const": "For multiple choice questions where users select just one option."
824
+ }
825
+ },
826
+ "required": [
827
+ "schemaVersion"
828
+ ],
829
+ "additionalProperties": false
454
830
  },
455
831
  "options": {
456
832
  "type": "array",
457
833
  "items": {
458
- "type": "object",
459
- "properties": {
460
- "label": {
461
- "$ref": "#/definitions/AnyQuestion/anyOf/1/properties/options/items/properties/label"
462
- },
463
- "value": {
464
- "$ref": "#/definitions/AnyQuestion/anyOf/1/properties/options/items/properties/value"
465
- },
466
- "selected": {
467
- "type": "boolean"
468
- }
469
- },
470
- "required": [
471
- "label",
472
- "value"
473
- ],
474
- "additionalProperties": false
834
+ "$ref": "#/definitions/AnyQuestion/anyOf/8/properties/options/items"
475
835
  }
476
836
  }
477
837
  },
@@ -501,23 +861,39 @@
501
861
  "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes/properties/labelTranslationKey"
502
862
  },
503
863
  "multiple": {
504
- "type": "boolean"
864
+ "type": "boolean",
865
+ "default": false
505
866
  }
506
867
  },
507
868
  "additionalProperties": false
508
869
  },
509
870
  "meta": {
510
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta"
871
+ "type": "object",
872
+ "properties": {
873
+ "schemaVersion": {
874
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
875
+ },
876
+ "title": {
877
+ "type": "string",
878
+ "const": "Select Box"
879
+ },
880
+ "usageDescription": {
881
+ "type": "string",
882
+ "const": "For questions where users select one option from a list."
883
+ }
884
+ },
885
+ "required": [
886
+ "schemaVersion"
887
+ ],
888
+ "additionalProperties": false
511
889
  },
512
890
  "options": {
513
- "type": "array",
514
- "items": {
515
- "$ref": "#/definitions/AnyQuestion/anyOf/9/properties/options/items"
516
- }
891
+ "$ref": "#/definitions/AnyQuestion/anyOf/8/properties/options"
517
892
  }
518
893
  },
519
894
  "required": [
520
895
  "type",
896
+ "attributes",
521
897
  "options"
522
898
  ],
523
899
  "additionalProperties": false
@@ -542,13 +918,16 @@
542
918
  "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes/properties/labelTranslationKey"
543
919
  },
544
920
  "canAddRows": {
545
- "type": "boolean"
921
+ "type": "boolean",
922
+ "default": true
546
923
  },
547
924
  "canRemoveRows": {
548
- "type": "boolean"
925
+ "type": "boolean",
926
+ "default": true
549
927
  },
550
928
  "initialRows": {
551
- "type": "number"
929
+ "type": "number",
930
+ "default": 1
552
931
  },
553
932
  "maxRows": {
554
933
  "type": "number"
@@ -560,7 +939,24 @@
560
939
  "additionalProperties": false
561
940
  },
562
941
  "meta": {
563
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta"
942
+ "type": "object",
943
+ "properties": {
944
+ "schemaVersion": {
945
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
946
+ },
947
+ "title": {
948
+ "type": "string",
949
+ "const": "Table"
950
+ },
951
+ "usageDescription": {
952
+ "type": "string",
953
+ "const": "For questions that require a tabular format."
954
+ }
955
+ },
956
+ "required": [
957
+ "schemaVersion"
958
+ ],
959
+ "additionalProperties": false
564
960
  },
565
961
  "columns": {
566
962
  "type": "array",
@@ -600,7 +996,10 @@
600
996
  "$ref": "#/definitions/AnyQuestion/anyOf/9"
601
997
  },
602
998
  {
603
- "$ref": "#/definitions/AnyQuestion/anyOf/10"
999
+ "$ref": "#/definitions/AnyQuestion/anyOf/11"
1000
+ },
1001
+ {
1002
+ "$ref": "#/definitions/AnyQuestion/anyOf/12"
604
1003
  },
605
1004
  {
606
1005
  "type": "object",
@@ -622,7 +1021,8 @@
622
1021
  "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes/properties/labelTranslationKey"
623
1022
  },
624
1023
  "cols": {
625
- "type": "number"
1024
+ "type": "number",
1025
+ "default": 20
626
1026
  },
627
1027
  "maxLength": {
628
1028
  "type": "number"
@@ -631,7 +1031,12 @@
631
1031
  "type": "number"
632
1032
  },
633
1033
  "rows": {
634
- "type": "number"
1034
+ "type": "number",
1035
+ "default": 2
1036
+ },
1037
+ "asRichText": {
1038
+ "type": "boolean",
1039
+ "default": true
635
1040
  }
636
1041
  },
637
1042
  "additionalProperties": false
@@ -642,8 +1047,13 @@
642
1047
  "schemaVersion": {
643
1048
  "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
644
1049
  },
645
- "asRichText": {
646
- "type": "boolean"
1050
+ "title": {
1051
+ "type": "string",
1052
+ "const": "Text Area"
1053
+ },
1054
+ "usageDescription": {
1055
+ "type": "string",
1056
+ "const": "For questions that require longer answers, you can select formatting options too."
647
1057
  }
648
1058
  },
649
1059
  "required": [
@@ -653,8 +1063,7 @@
653
1063
  }
654
1064
  },
655
1065
  "required": [
656
- "type",
657
- "meta"
1066
+ "type"
658
1067
  ],
659
1068
  "additionalProperties": false
660
1069
  },
@@ -678,19 +1087,36 @@
678
1087
  "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes/properties/labelTranslationKey"
679
1088
  },
680
1089
  "maxLength": {
681
- "$ref": "#/definitions/AnyQuestion/anyOf/5/properties/attributes/properties/maxLength"
1090
+ "$ref": "#/definitions/AnyQuestion/anyOf/6/properties/attributes/properties/maxLength"
682
1091
  },
683
1092
  "minLength": {
684
- "$ref": "#/definitions/AnyQuestion/anyOf/5/properties/attributes/properties/minLength"
1093
+ "$ref": "#/definitions/AnyQuestion/anyOf/6/properties/attributes/properties/minLength"
685
1094
  },
686
1095
  "pattern": {
687
- "$ref": "#/definitions/AnyQuestion/anyOf/5/properties/attributes/properties/pattern"
1096
+ "$ref": "#/definitions/AnyQuestion/anyOf/6/properties/attributes/properties/pattern"
688
1097
  }
689
1098
  },
690
1099
  "additionalProperties": false
691
1100
  },
692
1101
  "meta": {
693
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta"
1102
+ "type": "object",
1103
+ "properties": {
1104
+ "schemaVersion": {
1105
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
1106
+ },
1107
+ "title": {
1108
+ "type": "string",
1109
+ "const": "Text Field"
1110
+ },
1111
+ "usageDescription": {
1112
+ "type": "string",
1113
+ "const": "For questions that require short, simple answers."
1114
+ }
1115
+ },
1116
+ "required": [
1117
+ "schemaVersion"
1118
+ ],
1119
+ "additionalProperties": false
694
1120
  }
695
1121
  },
696
1122
  "required": [
@@ -698,29 +1124,6 @@
698
1124
  ],
699
1125
  "additionalProperties": false
700
1126
  },
701
- {
702
- "type": "object",
703
- "properties": {
704
- "type": {
705
- "type": "string",
706
- "const": "typeaheadSearch"
707
- },
708
- "attributes": {
709
- "$ref": "#/definitions/AnyQuestion/anyOf/1/properties/attributes"
710
- },
711
- "meta": {
712
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta"
713
- },
714
- "graphQL": {
715
- "$ref": "#/definitions/AnyQuestion/anyOf/6/properties/graphQL"
716
- }
717
- },
718
- "required": [
719
- "type",
720
- "graphQL"
721
- ],
722
- "additionalProperties": false
723
- },
724
1127
  {
725
1128
  "type": "object",
726
1129
  "properties": {
@@ -729,10 +1132,27 @@
729
1132
  "const": "url"
730
1133
  },
731
1134
  "attributes": {
732
- "$ref": "#/definitions/AnyQuestion/anyOf/11/properties/columns/items/properties/content/anyOf/11/properties/attributes"
1135
+ "$ref": "#/definitions/AnyQuestion/anyOf/13/properties/columns/items/properties/content/anyOf/12/properties/attributes"
733
1136
  },
734
1137
  "meta": {
735
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta"
1138
+ "type": "object",
1139
+ "properties": {
1140
+ "schemaVersion": {
1141
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
1142
+ },
1143
+ "title": {
1144
+ "type": "string",
1145
+ "const": "URL Field"
1146
+ },
1147
+ "usageDescription": {
1148
+ "type": "string",
1149
+ "const": "For questions that require a website, DOI or other URL."
1150
+ }
1151
+ },
1152
+ "required": [
1153
+ "schemaVersion"
1154
+ ],
1155
+ "additionalProperties": false
736
1156
  }
737
1157
  },
738
1158
  "required": [
@@ -757,16 +1177,13 @@
757
1177
  "additionalProperties": false
758
1178
  },
759
1179
  {
760
- "$ref": "#/definitions/AnyQuestion/anyOf/11/properties/columns/items/properties/content/anyOf/10"
761
- },
762
- {
763
- "$ref": "#/definitions/AnyQuestion/anyOf/11/properties/columns/items/properties/content/anyOf/11"
1180
+ "$ref": "#/definitions/AnyQuestion/anyOf/13/properties/columns/items/properties/content/anyOf/11"
764
1181
  },
765
1182
  {
766
- "$ref": "#/definitions/AnyQuestion/anyOf/11/properties/columns/items/properties/content/anyOf/12"
1183
+ "$ref": "#/definitions/AnyQuestion/anyOf/13/properties/columns/items/properties/content/anyOf/12"
767
1184
  },
768
1185
  {
769
- "$ref": "#/definitions/AnyQuestion/anyOf/11/properties/columns/items/properties/content/anyOf/13"
1186
+ "$ref": "#/definitions/AnyQuestion/anyOf/13/properties/columns/items/properties/content/anyOf/13"
770
1187
  }
771
1188
  ]
772
1189
  }