@dmptool/types 1.1.2 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/README.md +119 -47
  2. package/dist/answers/__tests__/answers.spec.js +20 -28
  3. package/dist/answers/__tests__/usage.spec.d.ts +1 -0
  4. package/dist/answers/__tests__/usage.spec.js +175 -0
  5. package/dist/answers/answer.d.ts +12 -15
  6. package/dist/answers/answer.js +3 -4
  7. package/dist/answers/dateAnswers.d.ts +30 -30
  8. package/dist/answers/dateAnswers.js +6 -5
  9. package/dist/answers/graphQLAnswers.d.ts +25 -25
  10. package/dist/answers/graphQLAnswers.js +4 -4
  11. package/dist/answers/index.d.ts +860 -1088
  12. package/dist/answers/index.js +2 -2
  13. package/dist/answers/numberAnswers.d.ts +41 -41
  14. package/dist/answers/numberAnswers.js +8 -8
  15. package/dist/answers/optionBasedAnswers.d.ts +55 -55
  16. package/dist/answers/optionBasedAnswers.js +10 -10
  17. package/dist/answers/tableAnswers.d.ts +811 -1772
  18. package/dist/answers/tableAnswers.js +12 -8
  19. package/dist/answers/textAnswers.d.ts +44 -44
  20. package/dist/answers/textAnswers.js +8 -8
  21. package/dist/questions/__tests__/graphQLQuestions.spec.js +6 -4
  22. package/dist/questions/__tests__/optionBasedQuestions.spec.js +4 -12
  23. package/dist/questions/__tests__/usage.spec.d.ts +8 -0
  24. package/dist/questions/__tests__/usage.spec.js +312 -0
  25. package/dist/questions/dateQuestions.d.ts +90 -101
  26. package/dist/questions/dateQuestions.js +15 -34
  27. package/dist/questions/graphQLQuestions.d.ts +176 -182
  28. package/dist/questions/graphQLQuestions.js +44 -45
  29. package/dist/questions/index.d.ts +1791 -2170
  30. package/dist/questions/index.js +2 -2
  31. package/dist/questions/numberQuestions.d.ts +126 -142
  32. package/dist/questions/numberQuestions.js +11 -45
  33. package/dist/questions/optionBasedQuestions.d.ts +197 -225
  34. package/dist/questions/optionBasedQuestions.js +24 -88
  35. package/dist/questions/question.d.ts +24 -56
  36. package/dist/questions/question.js +78 -18
  37. package/dist/questions/tableQuestions.d.ts +2637 -2930
  38. package/dist/questions/tableQuestions.js +9 -21
  39. package/dist/questions/textQuestions.d.ts +125 -145
  40. package/dist/questions/textQuestions.js +16 -57
  41. package/dist/schemas/affiliationSearchAnswer.schema.json +9 -12
  42. package/dist/schemas/affiliationSearchQuestion.schema.json +57 -50
  43. package/dist/schemas/anyAnswer.schema.json +228 -237
  44. package/dist/schemas/anyQuestion.schema.json +349 -517
  45. package/dist/schemas/anyTableColumnAnswer.schema.json +93 -106
  46. package/dist/schemas/anyTableColumnQuestion.schema.json +259 -382
  47. package/dist/schemas/booleanAnswer.schema.json +8 -11
  48. package/dist/schemas/booleanQuestion.schema.json +9 -15
  49. package/dist/schemas/checkboxesAnswer.schema.json +13 -14
  50. package/dist/schemas/checkboxesQuestion.schema.json +18 -24
  51. package/dist/schemas/currencyAnswer.schema.json +8 -11
  52. package/dist/schemas/currencyQuestion.schema.json +13 -17
  53. package/dist/schemas/dateAnswer.schema.json +8 -11
  54. package/dist/schemas/dateQuestion.schema.json +9 -15
  55. package/dist/schemas/dateRangeAnswer.schema.json +16 -21
  56. package/dist/schemas/dateRangeQuestion.schema.json +40 -21
  57. package/dist/schemas/emailAnswer.schema.json +8 -11
  58. package/dist/schemas/emailQuestion.schema.json +11 -16
  59. package/dist/schemas/filteredSearchQuestion.schema.json +0 -3
  60. package/dist/schemas/multiselectBoxAnswer.schema.json +13 -14
  61. package/dist/schemas/multiselectBoxQuestion.schema.json +20 -25
  62. package/dist/schemas/numberAnswer.schema.json +8 -11
  63. package/dist/schemas/numberQuestion.schema.json +11 -16
  64. package/dist/schemas/numberRangeAnswer.schema.json +17 -22
  65. package/dist/schemas/numberRangeQuestion.schema.json +22 -21
  66. package/dist/schemas/radioButtonsAnswer.schema.json +8 -11
  67. package/dist/schemas/radioButtonsQuestion.schema.json +18 -24
  68. package/dist/schemas/selectBoxAnswer.schema.json +8 -11
  69. package/dist/schemas/selectBoxQuestion.schema.json +20 -25
  70. package/dist/schemas/tableAnswer.schema.json +337 -343
  71. package/dist/schemas/tableQuestion.schema.json +279 -416
  72. package/dist/schemas/textAnswer.schema.json +8 -11
  73. package/dist/schemas/textAreaAnswer.schema.json +8 -11
  74. package/dist/schemas/textAreaQuestion.schema.json +13 -17
  75. package/dist/schemas/textQuestion.schema.json +9 -15
  76. package/dist/schemas/urlAnswer.schema.json +8 -11
  77. package/dist/schemas/urlQuestion.schema.json +9 -15
  78. package/package.json +1 -1
@@ -23,32 +23,25 @@
23
23
  "type": "string"
24
24
  }
25
25
  },
26
- "additionalProperties": false
26
+ "additionalProperties": false,
27
+ "default": {}
27
28
  },
28
29
  "meta": {
29
30
  "type": "object",
30
31
  "properties": {
31
32
  "schemaVersion": {
32
33
  "type": "string",
33
- "const": "1.0"
34
+ "default": "1.0"
34
35
  },
35
36
  "title": {
36
- "type": "string",
37
- "const": "Affiliation Search"
37
+ "type": "string"
38
38
  },
39
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\"}}"
40
+ "type": "string"
46
41
  }
47
42
  },
48
- "required": [
49
- "schemaVersion"
50
- ],
51
- "additionalProperties": false
43
+ "additionalProperties": false,
44
+ "default": {}
52
45
  },
53
46
  "graphQL": {
54
47
  "type": "object",
@@ -59,74 +52,88 @@
59
52
  "type": "object",
60
53
  "properties": {
61
54
  "propertyName": {
62
- "type": "string"
55
+ "type": "string",
56
+ "const": "displayName",
57
+ "default": "displayName"
63
58
  },
64
59
  "label": {
65
- "type": "string"
60
+ "type": "string",
61
+ "default": "Institution"
66
62
  },
67
63
  "labelTranslationKey": {
68
- "type": "string"
64
+ "type": "string",
65
+ "default": "SignupPage.institution"
69
66
  }
70
67
  },
71
- "required": [
72
- "propertyName",
73
- "label"
74
- ],
75
68
  "additionalProperties": false
76
- }
69
+ },
70
+ "default": [
71
+ {}
72
+ ]
77
73
  },
78
74
  "localQueryId": {
79
75
  "type": "string"
80
76
  },
81
77
  "query": {
82
- "type": "string"
78
+ "type": "string",
79
+ "const": "\nquery Affiliations($name: String!){\n affiliations(name: $name) {\n totalCount\n nextCursor\n items {\n id\n displayName\n uri\n }\n }\n}",
80
+ "default": "\nquery Affiliations($name: String!){\n affiliations(name: $name) {\n totalCount\n nextCursor\n items {\n id\n displayName\n uri\n }\n }\n}"
83
81
  },
84
82
  "responseField": {
85
- "type": "string"
83
+ "type": "string",
84
+ "const": "affiliations.items",
85
+ "default": "affiliations.items"
86
86
  },
87
87
  "variables": {
88
88
  "type": "array",
89
89
  "items": {
90
90
  "type": "object",
91
91
  "properties": {
92
- "minLength": {
93
- "type": "number"
94
- },
95
- "label": {
96
- "type": "string"
97
- },
98
- "labelTranslationKey": {
99
- "type": "string"
100
- },
101
92
  "name": {
102
- "type": "string"
93
+ "type": "string",
94
+ "const": "name",
95
+ "default": "name"
103
96
  },
104
97
  "type": {
105
- "type": "string"
98
+ "type": "string",
99
+ "default": "string"
106
100
  },
107
- "defaultValue": {
108
- "type": "string"
101
+ "label": {
102
+ "type": "string",
103
+ "default": "Search for your institution"
104
+ },
105
+ "minLength": {
106
+ "type": "number",
107
+ "const": 3,
108
+ "default": 3
109
+ },
110
+ "labelTranslationKey": {
111
+ "type": "string",
112
+ "default": "SignupPage.institutionHelp"
109
113
  }
110
114
  },
111
- "required": [
112
- "name",
113
- "type"
114
- ],
115
115
  "additionalProperties": false
116
- }
116
+ },
117
+ "default": [
118
+ {}
119
+ ]
120
+ },
121
+ "queryId": {
122
+ "type": "string",
123
+ "default": "useAffiliationsQuery"
124
+ },
125
+ "answerField": {
126
+ "type": "string",
127
+ "const": "uri",
128
+ "default": "uri"
117
129
  }
118
130
  },
119
- "required": [
120
- "displayFields",
121
- "responseField"
122
- ],
123
- "additionalProperties": false
131
+ "additionalProperties": false,
132
+ "default": {}
124
133
  }
125
134
  },
126
135
  "required": [
127
- "type",
128
- "meta",
129
- "graphQL"
136
+ "type"
130
137
  ],
131
138
  "additionalProperties": false
132
139
  },
@@ -150,34 +157,15 @@
150
157
  "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/attributes/properties/labelTranslationKey"
151
158
  },
152
159
  "checked": {
153
- "type": "boolean"
160
+ "type": "boolean",
161
+ "default": false
154
162
  }
155
163
  },
156
- "additionalProperties": false
164
+ "additionalProperties": false,
165
+ "default": {}
157
166
  },
158
167
  "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
168
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
181
169
  }
182
170
  },
183
171
  "required": [
@@ -193,31 +181,11 @@
193
181
  "const": "checkBoxes"
194
182
  },
195
183
  "attributes": {
196
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/attributes"
184
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/attributes",
185
+ "default": {}
197
186
  },
198
187
  "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
188
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
221
189
  },
222
190
  "options": {
223
191
  "type": "array",
@@ -225,26 +193,27 @@
225
193
  "type": "object",
226
194
  "properties": {
227
195
  "label": {
228
- "type": "string"
196
+ "type": "string",
197
+ "default": "Option A"
229
198
  },
230
199
  "value": {
231
- "type": "string"
200
+ "type": "string",
201
+ "default": "a"
232
202
  },
233
203
  "checked": {
234
- "type": "boolean"
204
+ "type": "boolean",
205
+ "default": false
235
206
  }
236
207
  },
237
- "required": [
238
- "label",
239
- "value"
240
- ],
241
208
  "additionalProperties": false
242
- }
209
+ },
210
+ "default": [
211
+ {}
212
+ ]
243
213
  }
244
214
  },
245
215
  "required": [
246
- "type",
247
- "options"
216
+ "type"
248
217
  ],
249
218
  "additionalProperties": false
250
219
  },
@@ -271,40 +240,23 @@
271
240
  "type": "number"
272
241
  },
273
242
  "min": {
274
- "type": "number"
243
+ "type": "number",
244
+ "default": 0
275
245
  },
276
246
  "step": {
277
- "type": "number"
247
+ "type": "number",
248
+ "default": 1
278
249
  },
279
250
  "denomination": {
280
- "type": "string"
251
+ "type": "string",
252
+ "default": "USD"
281
253
  }
282
254
  },
283
- "additionalProperties": false
255
+ "additionalProperties": false,
256
+ "default": {}
284
257
  },
285
258
  "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
259
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
308
260
  }
309
261
  },
310
262
  "required": [
@@ -338,34 +290,15 @@
338
290
  "type": "string"
339
291
  },
340
292
  "step": {
341
- "type": "number"
293
+ "type": "number",
294
+ "default": 1
342
295
  }
343
296
  },
344
- "additionalProperties": false
297
+ "additionalProperties": false,
298
+ "default": {}
345
299
  },
346
300
  "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
301
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
369
302
  }
370
303
  },
371
304
  "required": [
@@ -381,48 +314,74 @@
381
314
  "const": "dateRange"
382
315
  },
383
316
  "attributes": {
384
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/attributes"
317
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/attributes",
318
+ "default": {}
385
319
  },
386
320
  "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
321
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
409
322
  },
410
323
  "columns": {
411
324
  "type": "object",
412
325
  "properties": {
413
326
  "start": {
414
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/4/properties/attributes"
327
+ "type": "object",
328
+ "properties": {
329
+ "label": {
330
+ "type": "string",
331
+ "default": "From"
332
+ },
333
+ "help": {
334
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/attributes/properties/help"
335
+ },
336
+ "labelTranslationKey": {
337
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/attributes/properties/labelTranslationKey"
338
+ },
339
+ "max": {
340
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/4/properties/attributes/properties/max"
341
+ },
342
+ "min": {
343
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/4/properties/attributes/properties/min"
344
+ },
345
+ "step": {
346
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/4/properties/attributes/properties/step"
347
+ }
348
+ },
349
+ "additionalProperties": false,
350
+ "default": {}
415
351
  },
416
352
  "end": {
417
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/4/properties/attributes"
353
+ "type": "object",
354
+ "properties": {
355
+ "label": {
356
+ "type": "string",
357
+ "default": "To"
358
+ },
359
+ "help": {
360
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/attributes/properties/help"
361
+ },
362
+ "labelTranslationKey": {
363
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/attributes/properties/labelTranslationKey"
364
+ },
365
+ "max": {
366
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/4/properties/attributes/properties/max"
367
+ },
368
+ "min": {
369
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/4/properties/attributes/properties/min"
370
+ },
371
+ "step": {
372
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/4/properties/attributes/properties/step"
373
+ }
374
+ },
375
+ "additionalProperties": false,
376
+ "default": {}
418
377
  }
419
378
  },
420
- "additionalProperties": false
379
+ "additionalProperties": false,
380
+ "default": {}
421
381
  }
422
382
  },
423
383
  "required": [
424
- "type",
425
- "columns"
384
+ "type"
426
385
  ],
427
386
  "additionalProperties": false
428
387
  },
@@ -446,7 +405,8 @@
446
405
  "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/attributes/properties/labelTranslationKey"
447
406
  },
448
407
  "maxLength": {
449
- "type": "number"
408
+ "type": "number",
409
+ "default": 255
450
410
  },
451
411
  "minLength": {
452
412
  "type": "number"
@@ -455,34 +415,15 @@
455
415
  "type": "string"
456
416
  },
457
417
  "multiple": {
458
- "type": "boolean"
418
+ "type": "boolean",
419
+ "default": false
459
420
  }
460
421
  },
461
- "additionalProperties": false
422
+ "additionalProperties": false,
423
+ "default": {}
462
424
  },
463
425
  "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
426
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
486
427
  }
487
428
  },
488
429
  "required": [
@@ -510,40 +451,91 @@
510
451
  "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/attributes/properties/labelTranslationKey"
511
452
  },
512
453
  "multiple": {
513
- "type": "boolean"
454
+ "type": "boolean",
455
+ "default": true
514
456
  }
515
457
  },
516
- "additionalProperties": false
458
+ "additionalProperties": false,
459
+ "default": {}
517
460
  },
518
461
  "meta": {
462
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
463
+ },
464
+ "graphQL": {
519
465
  "type": "object",
520
466
  "properties": {
521
- "schemaVersion": {
522
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta/properties/schemaVersion"
467
+ "displayFields": {
468
+ "type": "array",
469
+ "items": {
470
+ "type": "object",
471
+ "properties": {
472
+ "propertyName": {
473
+ "type": "string",
474
+ "default": "id"
475
+ },
476
+ "label": {
477
+ "type": "string",
478
+ "default": "Id"
479
+ },
480
+ "labelTranslationKey": {
481
+ "type": "string"
482
+ }
483
+ },
484
+ "additionalProperties": false
485
+ },
486
+ "default": [
487
+ {}
488
+ ]
523
489
  },
524
- "title": {
525
- "type": "string",
526
- "const": "Not yet implemented"
490
+ "localQueryId": {
491
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/graphQL/properties/localQueryId"
527
492
  },
528
- "usageDescription": {
493
+ "query": {
529
494
  "type": "string"
530
495
  },
531
- "defaultJSON": {
532
- "type": "string"
496
+ "responseField": {
497
+ "type": "string",
498
+ "default": "query.items"
499
+ },
500
+ "variables": {
501
+ "type": "array",
502
+ "items": {
503
+ "type": "object",
504
+ "properties": {
505
+ "minLength": {
506
+ "type": "number"
507
+ },
508
+ "label": {
509
+ "type": "string"
510
+ },
511
+ "labelTranslationKey": {
512
+ "type": "string"
513
+ },
514
+ "name": {
515
+ "type": "string",
516
+ "default": "search"
517
+ },
518
+ "type": {
519
+ "type": "string",
520
+ "default": "string"
521
+ },
522
+ "defaultValue": {
523
+ "type": "string"
524
+ }
525
+ },
526
+ "additionalProperties": false
527
+ },
528
+ "default": [
529
+ {}
530
+ ]
533
531
  }
534
532
  },
535
- "required": [
536
- "schemaVersion"
537
- ],
538
- "additionalProperties": false
539
- },
540
- "graphQL": {
541
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/graphQL"
533
+ "additionalProperties": false,
534
+ "default": {}
542
535
  }
543
536
  },
544
537
  "required": [
545
- "type",
546
- "graphQL"
538
+ "type"
547
539
  ],
548
540
  "additionalProperties": false
549
541
  },
@@ -576,31 +568,11 @@
576
568
  "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/3/properties/attributes/properties/step"
577
569
  }
578
570
  },
579
- "additionalProperties": false
571
+ "additionalProperties": false,
572
+ "default": {}
580
573
  },
581
574
  "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
575
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
604
576
  }
605
577
  },
606
578
  "required": [
@@ -616,31 +588,11 @@
616
588
  "const": "radioButtons"
617
589
  },
618
590
  "attributes": {
619
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/attributes"
591
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/attributes",
592
+ "default": {}
620
593
  },
621
594
  "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
595
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
644
596
  },
645
597
  "options": {
646
598
  "type": "array",
@@ -654,20 +606,19 @@
654
606
  "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/2/properties/options/items/properties/value"
655
607
  },
656
608
  "selected": {
657
- "type": "boolean"
609
+ "type": "boolean",
610
+ "default": false
658
611
  }
659
612
  },
660
- "required": [
661
- "label",
662
- "value"
663
- ],
664
613
  "additionalProperties": false
665
- }
614
+ },
615
+ "default": [
616
+ {}
617
+ ]
666
618
  }
667
619
  },
668
620
  "required": [
669
- "type",
670
- "options"
621
+ "type"
671
622
  ],
672
623
  "additionalProperties": false
673
624
  },
@@ -698,43 +649,26 @@
698
649
  "required": [
699
650
  "multiple"
700
651
  ],
701
- "additionalProperties": false
652
+ "additionalProperties": false,
653
+ "default": {
654
+ "multiple": false
655
+ }
702
656
  },
703
657
  "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
658
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
726
659
  },
727
660
  "options": {
728
661
  "type": "array",
729
662
  "items": {
730
663
  "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/9/properties/options/items"
731
- }
664
+ },
665
+ "default": [
666
+ {}
667
+ ]
732
668
  }
733
669
  },
734
670
  "required": [
735
- "type",
736
- "attributes",
737
- "options"
671
+ "type"
738
672
  ],
739
673
  "additionalProperties": false
740
674
  },
@@ -758,7 +692,8 @@
758
692
  "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/attributes/properties/labelTranslationKey"
759
693
  },
760
694
  "cols": {
761
- "type": "number"
695
+ "type": "number",
696
+ "default": 20
762
697
  },
763
698
  "maxLength": {
764
699
  "type": "number"
@@ -767,37 +702,19 @@
767
702
  "type": "number"
768
703
  },
769
704
  "rows": {
770
- "type": "number"
705
+ "type": "number",
706
+ "default": 2
771
707
  },
772
708
  "asRichText": {
773
- "type": "boolean"
709
+ "type": "boolean",
710
+ "default": true
774
711
  }
775
712
  },
776
- "additionalProperties": false
713
+ "additionalProperties": false,
714
+ "default": {}
777
715
  },
778
716
  "meta": {
779
- "type": "object",
780
- "properties": {
781
- "schemaVersion": {
782
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta/properties/schemaVersion"
783
- },
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\"}}"
795
- }
796
- },
797
- "required": [
798
- "schemaVersion"
799
- ],
800
- "additionalProperties": false
717
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
801
718
  }
802
719
  },
803
720
  "required": [
@@ -834,31 +751,11 @@
834
751
  "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/6/properties/attributes/properties/pattern"
835
752
  }
836
753
  },
837
- "additionalProperties": false
754
+ "additionalProperties": false,
755
+ "default": {}
838
756
  },
839
757
  "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
758
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
862
759
  }
863
760
  },
864
761
  "required": [
@@ -874,31 +771,11 @@
874
771
  "const": "url"
875
772
  },
876
773
  "attributes": {
877
- "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/12/properties/attributes"
774
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/12/properties/attributes",
775
+ "default": {}
878
776
  },
879
777
  "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
778
+ "$ref": "#/definitions/AnyTableColumnQuestion/anyOf/0/properties/meta"
902
779
  }
903
780
  },
904
781
  "required": [