@dmptool/types 1.1.1 → 1.1.2

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 +7 -7
  12. package/dist/questions/__tests__/optionBasedQuestions.spec.js +48 -1
  13. package/dist/questions/dateQuestions.d.ts +47 -16
  14. package/dist/questions/dateQuestions.js +25 -1
  15. package/dist/questions/graphQLQuestions.d.ts +59 -28
  16. package/dist/questions/graphQLQuestions.js +40 -3
  17. package/dist/questions/index.d.ts +1363 -646
  18. package/dist/questions/index.js +4 -2
  19. package/dist/questions/numberQuestions.d.ts +71 -25
  20. package/dist/questions/numberQuestions.js +36 -1
  21. package/dist/questions/optionBasedQuestions.d.ts +197 -44
  22. package/dist/questions/optionBasedQuestions.js +84 -6
  23. package/dist/questions/question.d.ts +51 -4
  24. package/dist/questions/question.js +14 -2
  25. package/dist/questions/tableQuestions.d.ts +1841 -932
  26. package/dist/questions/tableQuestions.js +13 -1
  27. package/dist/questions/textQuestions.d.ts +100 -40
  28. package/dist/questions/textQuestions.js +45 -7
  29. package/dist/schemas/affiliationSearchAnswer.schema.json +37 -0
  30. package/dist/schemas/affiliationSearchQuestion.schema.json +133 -0
  31. package/dist/schemas/anyAnswer.schema.json +41 -23
  32. package/dist/schemas/anyQuestion.schema.json +533 -149
  33. package/dist/schemas/anyTableColumnAnswer.schema.json +35 -14
  34. package/dist/schemas/anyTableColumnQuestion.schema.json +397 -119
  35. package/dist/schemas/booleanQuestion.schema.json +13 -2
  36. package/dist/schemas/checkboxesQuestion.schema.json +12 -0
  37. package/dist/schemas/currencyQuestion.schema.json +12 -0
  38. package/dist/schemas/dateQuestion.schema.json +12 -0
  39. package/dist/schemas/dateRangeQuestion.schema.json +12 -0
  40. package/dist/schemas/emailQuestion.schema.json +12 -0
  41. package/dist/schemas/filteredSearchQuestion.schema.json +10 -0
  42. package/dist/schemas/multiselectBoxAnswer.schema.json +40 -0
  43. package/dist/schemas/multiselectBoxQuestion.schema.json +90 -0
  44. package/dist/schemas/numberQuestion.schema.json +12 -0
  45. package/dist/schemas/numberRangeQuestion.schema.json +12 -0
  46. package/dist/schemas/radioButtonsQuestion.schema.json +12 -0
  47. package/dist/schemas/selectBoxAnswer.schema.json +1 -4
  48. package/dist/schemas/selectBoxQuestion.schema.json +18 -1
  49. package/dist/schemas/tableAnswer.schema.json +35 -14
  50. package/dist/schemas/tableQuestion.schema.json +419 -120
  51. package/dist/schemas/textAreaQuestion.schema.json +15 -4
  52. package/dist/schemas/textQuestion.schema.json +12 -0
  53. package/dist/schemas/urlQuestion.schema.json +12 -0
  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,102 @@
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."
42
+ },
43
+ "defaultJSON": {
44
+ "type": "string",
45
+ "const": "{\"type\":\"affiliationSearch\",\"attributes\":{},\"meta\":{\"schemaVersion\":\"1.0\"},\"graphQL\":{\"query\":\"query Affiliations($name: String!){affiliations(name: $name) { totalCount nextCursor items {id displayName uri}}}\",\"queryId\":\"useAffiliationsQuery\",\"variables\":[{\"name\":\"term\",\"type\":\"string\",\"label\":\"Search for your institution\",\"minLength\":3,\"labelTranslationKey\":\"SignupPage.institutionHelp\"}],\"answerField\":\"uri\",\"displayFields\":[{\"label\":\"Institution\",\"propertyName\":\"displayName\",\"labelTranslationKey\":\"SignupPage.institution\"}],\"responseField\":\"affiliations.items\"}}"
37
46
  }
38
47
  },
39
48
  "required": [
40
49
  "schemaVersion"
41
50
  ],
42
51
  "additionalProperties": false
52
+ },
53
+ "graphQL": {
54
+ "type": "object",
55
+ "properties": {
56
+ "displayFields": {
57
+ "type": "array",
58
+ "items": {
59
+ "type": "object",
60
+ "properties": {
61
+ "propertyName": {
62
+ "type": "string"
63
+ },
64
+ "label": {
65
+ "type": "string"
66
+ },
67
+ "labelTranslationKey": {
68
+ "type": "string"
69
+ }
70
+ },
71
+ "required": [
72
+ "propertyName",
73
+ "label"
74
+ ],
75
+ "additionalProperties": false
76
+ }
77
+ },
78
+ "localQueryId": {
79
+ "type": "string"
80
+ },
81
+ "query": {
82
+ "type": "string"
83
+ },
84
+ "responseField": {
85
+ "type": "string"
86
+ },
87
+ "variables": {
88
+ "type": "array",
89
+ "items": {
90
+ "type": "object",
91
+ "properties": {
92
+ "minLength": {
93
+ "type": "number"
94
+ },
95
+ "label": {
96
+ "type": "string"
97
+ },
98
+ "labelTranslationKey": {
99
+ "type": "string"
100
+ },
101
+ "name": {
102
+ "type": "string"
103
+ },
104
+ "type": {
105
+ "type": "string"
106
+ },
107
+ "defaultValue": {
108
+ "type": "string"
109
+ }
110
+ },
111
+ "required": [
112
+ "name",
113
+ "type"
114
+ ],
115
+ "additionalProperties": false
116
+ }
117
+ }
118
+ },
119
+ "required": [
120
+ "displayFields",
121
+ "responseField"
122
+ ],
123
+ "additionalProperties": false
43
124
  }
44
125
  },
45
126
  "required": [
46
127
  "type",
47
- "attributes"
128
+ "meta",
129
+ "graphQL"
48
130
  ],
49
131
  "additionalProperties": false
50
132
  },
@@ -53,7 +135,7 @@
53
135
  "properties": {
54
136
  "type": {
55
137
  "type": "string",
56
- "const": "checkBoxes"
138
+ "const": "boolean"
57
139
  },
58
140
  "attributes": {
59
141
  "type": "object",
@@ -66,12 +148,76 @@
66
148
  },
67
149
  "labelTranslationKey": {
68
150
  "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/attributes/properties/labelTranslationKey"
151
+ },
152
+ "checked": {
153
+ "type": "boolean"
69
154
  }
70
155
  },
71
156
  "additionalProperties": false
72
157
  },
73
158
  "meta": {
74
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
159
+ "type": "object",
160
+ "properties": {
161
+ "schemaVersion": {
162
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta/properties/schemaVersion"
163
+ },
164
+ "title": {
165
+ "type": "string",
166
+ "const": "Yes/No Field"
167
+ },
168
+ "usageDescription": {
169
+ "type": "string",
170
+ "const": "For questions that require a simple Yes/No response."
171
+ },
172
+ "defaultJSON": {
173
+ "type": "string",
174
+ "const": "{\n \"attributes\": {\n \"checked\": false\n },\n \"meta\": {\n \"schemaVersion\": \"1.0\"\n }\n}"
175
+ }
176
+ },
177
+ "required": [
178
+ "schemaVersion"
179
+ ],
180
+ "additionalProperties": false
181
+ }
182
+ },
183
+ "required": [
184
+ "type"
185
+ ],
186
+ "additionalProperties": false
187
+ },
188
+ {
189
+ "type": "object",
190
+ "properties": {
191
+ "type": {
192
+ "type": "string",
193
+ "const": "checkBoxes"
194
+ },
195
+ "attributes": {
196
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/attributes"
197
+ },
198
+ "meta": {
199
+ "type": "object",
200
+ "properties": {
201
+ "schemaVersion": {
202
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta/properties/schemaVersion"
203
+ },
204
+ "title": {
205
+ "type": "string",
206
+ "const": "Check Boxes"
207
+ },
208
+ "usageDescription": {
209
+ "type": "string",
210
+ "const": "For multiple choice questions where users can select multiple options."
211
+ },
212
+ "defaultJSON": {
213
+ "type": "string",
214
+ "const": "{\n \"type\": \"checkBoxes\",\n \"attributes\": {},\n \"options\": [\n {\n \"label\": \"Option 1\",\n \"value\": \"1\",\n \"checked\": false\n }\n ],\n \"meta\": {\n \"schemaVersion\": \"1.0\"\n }\n}"
215
+ }
216
+ },
217
+ "required": [
218
+ "schemaVersion"
219
+ ],
220
+ "additionalProperties": false
75
221
  },
76
222
  "options": {
77
223
  "type": "array",
@@ -137,7 +283,28 @@
137
283
  "additionalProperties": false
138
284
  },
139
285
  "meta": {
140
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
286
+ "type": "object",
287
+ "properties": {
288
+ "schemaVersion": {
289
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta/properties/schemaVersion"
290
+ },
291
+ "title": {
292
+ "type": "string",
293
+ "const": "Currency Field"
294
+ },
295
+ "usageDescription": {
296
+ "type": "string",
297
+ "const": "For questions that require a monetary amount (e.g. Cost or Budget)."
298
+ },
299
+ "defaultJSON": {
300
+ "type": "string",
301
+ "const": "{\n \"type\": \"currency\",\n \"attributes\": {\n \"denomination\": \"USD\",\n \"min\": 0,\n \"step\": 1\n },\n \"meta\": {\n \"schemaVersion\": \"1.0\"\n }\n}"
302
+ }
303
+ },
304
+ "required": [
305
+ "schemaVersion"
306
+ ],
307
+ "additionalProperties": false
141
308
  }
142
309
  },
143
310
  "required": [
@@ -177,7 +344,28 @@
177
344
  "additionalProperties": false
178
345
  },
179
346
  "meta": {
180
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
347
+ "type": "object",
348
+ "properties": {
349
+ "schemaVersion": {
350
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta/properties/schemaVersion"
351
+ },
352
+ "title": {
353
+ "type": "string",
354
+ "const": "Date Field"
355
+ },
356
+ "usageDescription": {
357
+ "type": "string",
358
+ "const": "For questions that require a date."
359
+ },
360
+ "defaultJSON": {
361
+ "type": "string",
362
+ "const": "{\"type\":\"date\",\"attributes\":{\"step\":1},\"meta\":{\"schemaVersion\":\"1.0\"}}"
363
+ }
364
+ },
365
+ "required": [
366
+ "schemaVersion"
367
+ ],
368
+ "additionalProperties": false
181
369
  }
182
370
  },
183
371
  "required": [
@@ -193,19 +381,40 @@
193
381
  "const": "dateRange"
194
382
  },
195
383
  "attributes": {
196
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/1/properties/attributes"
384
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/attributes"
197
385
  },
198
386
  "meta": {
199
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
387
+ "type": "object",
388
+ "properties": {
389
+ "schemaVersion": {
390
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta/properties/schemaVersion"
391
+ },
392
+ "title": {
393
+ "type": "string",
394
+ "const": "Date Range"
395
+ },
396
+ "usageDescription": {
397
+ "type": "string",
398
+ "const": "For questions that require a date range (e.g. From/To, Start/End)"
399
+ },
400
+ "defaultJSON": {
401
+ "type": "string",
402
+ "const": "{\"type\":\"dateRange\",\"attributes\":{},\"columns\":{\"start\":{\"label\":\"Start\",\"step\":1},\"end\":{\"label\":\"End\",\"step\":1}}}"
403
+ }
404
+ },
405
+ "required": [
406
+ "schemaVersion"
407
+ ],
408
+ "additionalProperties": false
200
409
  },
201
410
  "columns": {
202
411
  "type": "object",
203
412
  "properties": {
204
413
  "start": {
205
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/3/properties/attributes"
414
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/4/properties/attributes"
206
415
  },
207
416
  "end": {
208
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/3/properties/attributes"
417
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/4/properties/attributes"
209
418
  }
210
419
  },
211
420
  "additionalProperties": false
@@ -252,7 +461,28 @@
252
461
  "additionalProperties": false
253
462
  },
254
463
  "meta": {
255
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
464
+ "type": "object",
465
+ "properties": {
466
+ "schemaVersion": {
467
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta/properties/schemaVersion"
468
+ },
469
+ "title": {
470
+ "type": "string",
471
+ "const": "Email Field"
472
+ },
473
+ "usageDescription": {
474
+ "type": "string",
475
+ "const": "For questions that require require email address(es)."
476
+ },
477
+ "defaultJSON": {
478
+ "type": "string",
479
+ "const": "{\"type\":\"email\",\"attributes\":{\"maxLength\":255,\"minLength\":1,\"multiple\":false},\"meta\":{\"schemaVersion\":\"1.0\"}}"
480
+ }
481
+ },
482
+ "required": [
483
+ "schemaVersion"
484
+ ],
485
+ "additionalProperties": false
256
486
  }
257
487
  },
258
488
  "required": [
@@ -286,79 +516,29 @@
286
516
  "additionalProperties": false
287
517
  },
288
518
  "meta": {
289
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
290
- },
291
- "graphQL": {
292
519
  "type": "object",
293
520
  "properties": {
294
- "displayFields": {
295
- "type": "array",
296
- "items": {
297
- "type": "object",
298
- "properties": {
299
- "propertyName": {
300
- "type": "string"
301
- },
302
- "label": {
303
- "type": "string"
304
- },
305
- "labelTranslationKey": {
306
- "type": "string"
307
- }
308
- },
309
- "required": [
310
- "propertyName",
311
- "label"
312
- ],
313
- "additionalProperties": false
314
- }
521
+ "schemaVersion": {
522
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta/properties/schemaVersion"
315
523
  },
316
- "localQueryId": {
317
- "type": "string"
524
+ "title": {
525
+ "type": "string",
526
+ "const": "Not yet implemented"
318
527
  },
319
- "query": {
528
+ "usageDescription": {
320
529
  "type": "string"
321
530
  },
322
- "responseField": {
531
+ "defaultJSON": {
323
532
  "type": "string"
324
- },
325
- "variables": {
326
- "type": "array",
327
- "items": {
328
- "type": "object",
329
- "properties": {
330
- "minLength": {
331
- "type": "number"
332
- },
333
- "label": {
334
- "type": "string"
335
- },
336
- "labelTranslationKey": {
337
- "type": "string"
338
- },
339
- "name": {
340
- "type": "string"
341
- },
342
- "type": {
343
- "type": "string"
344
- },
345
- "defaultValue": {
346
- "type": "string"
347
- }
348
- },
349
- "required": [
350
- "name",
351
- "type"
352
- ],
353
- "additionalProperties": false
354
- }
355
533
  }
356
534
  },
357
535
  "required": [
358
- "displayFields",
359
- "responseField"
536
+ "schemaVersion"
360
537
  ],
361
538
  "additionalProperties": false
539
+ },
540
+ "graphQL": {
541
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/graphQL"
362
542
  }
363
543
  },
364
544
  "required": [
@@ -387,19 +567,40 @@
387
567
  "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/attributes/properties/labelTranslationKey"
388
568
  },
389
569
  "max": {
390
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/2/properties/attributes/properties/max"
570
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/3/properties/attributes/properties/max"
391
571
  },
392
572
  "min": {
393
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/2/properties/attributes/properties/min"
573
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/3/properties/attributes/properties/min"
394
574
  },
395
575
  "step": {
396
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/2/properties/attributes/properties/step"
576
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/3/properties/attributes/properties/step"
397
577
  }
398
578
  },
399
579
  "additionalProperties": false
400
580
  },
401
581
  "meta": {
402
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
582
+ "type": "object",
583
+ "properties": {
584
+ "schemaVersion": {
585
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta/properties/schemaVersion"
586
+ },
587
+ "title": {
588
+ "type": "string",
589
+ "const": "Number Field"
590
+ },
591
+ "usageDescription": {
592
+ "type": "string",
593
+ "const": "For questions that require a single numeric value."
594
+ },
595
+ "defaultJSON": {
596
+ "type": "string",
597
+ "const": "{\n \"type\": \"number\",\n \"attributes\": {\n \"min\": 0,\n \"step\": 1\n },\n \"meta\": {\n \"schemaVersion\": \"1.0\"\n }\n}"
598
+ }
599
+ },
600
+ "required": [
601
+ "schemaVersion"
602
+ ],
603
+ "additionalProperties": false
403
604
  }
404
605
  },
405
606
  "required": [
@@ -415,10 +616,31 @@
415
616
  "const": "radioButtons"
416
617
  },
417
618
  "attributes": {
418
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/1/properties/attributes"
619
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/attributes"
419
620
  },
420
621
  "meta": {
421
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
622
+ "type": "object",
623
+ "properties": {
624
+ "schemaVersion": {
625
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta/properties/schemaVersion"
626
+ },
627
+ "title": {
628
+ "type": "string",
629
+ "const": "Radio Buttons"
630
+ },
631
+ "usageDescription": {
632
+ "type": "string",
633
+ "const": "For multiple choice questions where users select just one option."
634
+ },
635
+ "defaultJSON": {
636
+ "type": "string",
637
+ "const": "{\n \"type\": \"radioButtons\",\n \"attributes\": {},\n \"options\": [\n {\n \"label\": \"Option 1\",\n \"value\": \"option1\",\n \"selected\": false\n }\n ],\n \"meta\": {\n \"schemaVersion\": \"1.0\"\n }\n}"
638
+ }
639
+ },
640
+ "required": [
641
+ "schemaVersion"
642
+ ],
643
+ "additionalProperties": false
422
644
  },
423
645
  "options": {
424
646
  "type": "array",
@@ -426,10 +648,10 @@
426
648
  "type": "object",
427
649
  "properties": {
428
650
  "label": {
429
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/1/properties/options/items/properties/label"
651
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/2/properties/options/items/properties/label"
430
652
  },
431
653
  "value": {
432
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/1/properties/options/items/properties/value"
654
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/2/properties/options/items/properties/value"
433
655
  },
434
656
  "selected": {
435
657
  "type": "boolean"
@@ -469,23 +691,49 @@
469
691
  "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/attributes/properties/labelTranslationKey"
470
692
  },
471
693
  "multiple": {
472
- "type": "boolean"
694
+ "type": "boolean",
695
+ "const": false
473
696
  }
474
697
  },
698
+ "required": [
699
+ "multiple"
700
+ ],
475
701
  "additionalProperties": false
476
702
  },
477
703
  "meta": {
478
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
704
+ "type": "object",
705
+ "properties": {
706
+ "schemaVersion": {
707
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta/properties/schemaVersion"
708
+ },
709
+ "title": {
710
+ "type": "string",
711
+ "const": "Select Box"
712
+ },
713
+ "usageDescription": {
714
+ "type": "string",
715
+ "const": "For questions where users select one option from a list."
716
+ },
717
+ "defaultJSON": {
718
+ "type": "string",
719
+ "const": "{\n \"type\": \"selectBox\",\n \"attributes\": {\n \"multiple\": false\n },\n \"options\": [\n {\n \"label\": \"Option 1\",\n \"value\": \"option1\"\n }\n ],\n \"meta\": {\n \"schemaVersion\": \"1.0\"\n }\n}"
720
+ }
721
+ },
722
+ "required": [
723
+ "schemaVersion"
724
+ ],
725
+ "additionalProperties": false
479
726
  },
480
727
  "options": {
481
728
  "type": "array",
482
729
  "items": {
483
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/8/properties/options/items"
730
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/9/properties/options/items"
484
731
  }
485
732
  }
486
733
  },
487
734
  "required": [
488
735
  "type",
736
+ "attributes",
489
737
  "options"
490
738
  ],
491
739
  "additionalProperties": false
@@ -520,6 +768,9 @@
520
768
  },
521
769
  "rows": {
522
770
  "type": "number"
771
+ },
772
+ "asRichText": {
773
+ "type": "boolean"
523
774
  }
524
775
  },
525
776
  "additionalProperties": false
@@ -530,8 +781,17 @@
530
781
  "schemaVersion": {
531
782
  "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta/properties/schemaVersion"
532
783
  },
533
- "asRichText": {
534
- "type": "boolean"
784
+ "title": {
785
+ "type": "string",
786
+ "const": "Text Area"
787
+ },
788
+ "usageDescription": {
789
+ "type": "string",
790
+ "const": "For questions that require longer answers, you can select formatting options too."
791
+ },
792
+ "defaultJSON": {
793
+ "type": "string",
794
+ "const": "{\"type\":\"textArea\",\"attributes\":{\"cols\":20,\"rows\":2,\"asRichText\":true},\"meta\":{\"schemaVersion\":\"1.0\"}}"
535
795
  }
536
796
  },
537
797
  "required": [
@@ -541,8 +801,7 @@
541
801
  }
542
802
  },
543
803
  "required": [
544
- "type",
545
- "meta"
804
+ "type"
546
805
  ],
547
806
  "additionalProperties": false
548
807
  },
@@ -566,19 +825,40 @@
566
825
  "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/attributes/properties/labelTranslationKey"
567
826
  },
568
827
  "maxLength": {
569
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/5/properties/attributes/properties/maxLength"
828
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/6/properties/attributes/properties/maxLength"
570
829
  },
571
830
  "minLength": {
572
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/5/properties/attributes/properties/minLength"
831
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/6/properties/attributes/properties/minLength"
573
832
  },
574
833
  "pattern": {
575
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/5/properties/attributes/properties/pattern"
834
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/6/properties/attributes/properties/pattern"
576
835
  }
577
836
  },
578
837
  "additionalProperties": false
579
838
  },
580
839
  "meta": {
581
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
840
+ "type": "object",
841
+ "properties": {
842
+ "schemaVersion": {
843
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta/properties/schemaVersion"
844
+ },
845
+ "title": {
846
+ "type": "string",
847
+ "const": "Text Field"
848
+ },
849
+ "usageDescription": {
850
+ "type": "string",
851
+ "const": "For questions that require short, simple answers."
852
+ },
853
+ "defaultJSON": {
854
+ "type": "string",
855
+ "const": "{\"type\":\"text\",\"attributes\":{\"maxLength\":255},\"meta\":{\"schemaVersion\":\"1.0\"}}"
856
+ }
857
+ },
858
+ "required": [
859
+ "schemaVersion"
860
+ ],
861
+ "additionalProperties": false
582
862
  }
583
863
  },
584
864
  "required": [
@@ -586,29 +866,6 @@
586
866
  ],
587
867
  "additionalProperties": false
588
868
  },
589
- {
590
- "type": "object",
591
- "properties": {
592
- "type": {
593
- "type": "string",
594
- "const": "typeaheadSearch"
595
- },
596
- "attributes": {
597
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/1/properties/attributes"
598
- },
599
- "meta": {
600
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
601
- },
602
- "graphQL": {
603
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/6/properties/graphQL"
604
- }
605
- },
606
- "required": [
607
- "type",
608
- "graphQL"
609
- ],
610
- "additionalProperties": false
611
- },
612
869
  {
613
870
  "type": "object",
614
871
  "properties": {
@@ -617,10 +874,31 @@
617
874
  "const": "url"
618
875
  },
619
876
  "attributes": {
620
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/11/properties/attributes"
877
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/12/properties/attributes"
621
878
  },
622
879
  "meta": {
623
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
880
+ "type": "object",
881
+ "properties": {
882
+ "schemaVersion": {
883
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta/properties/schemaVersion"
884
+ },
885
+ "title": {
886
+ "type": "string",
887
+ "const": "URL Field"
888
+ },
889
+ "usageDescription": {
890
+ "type": "string",
891
+ "const": "For questions that require a website, DOI or other URL."
892
+ },
893
+ "defaultJSON": {
894
+ "type": "string",
895
+ "const": "{\"type\":\"url\",\"attributes\":{\"maxLength\":255},\"meta\":{\"schemaVersion\":\"1.0\"}}"
896
+ }
897
+ },
898
+ "required": [
899
+ "schemaVersion"
900
+ ],
901
+ "additionalProperties": false
624
902
  }
625
903
  },
626
904
  "required": [