@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"
100
+ },
101
+ "label": {
102
+ "type": "string",
103
+ "default": "Search for your institution"
104
+ },
105
+ "minLength": {
106
+ "type": "number",
107
+ "const": 3,
108
+ "default": 3
106
109
  },
107
- "defaultValue": {
108
- "type": "string"
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/AnyQuestion/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/AnyQuestion/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/AnyQuestion/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/AnyQuestion/anyOf/0/properties/attributes"
184
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes",
185
+ "default": {}
197
186
  },
198
187
  "meta": {
199
- "type": "object",
200
- "properties": {
201
- "schemaVersion": {
202
- "$ref": "#/definitions/AnyQuestion/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/AnyQuestion/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/AnyQuestion/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/AnyQuestion/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/AnyQuestion/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/AnyQuestion/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/AnyQuestion/anyOf/0/properties/attributes"
317
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes",
318
+ "default": {}
385
319
  },
386
320
  "meta": {
387
- "type": "object",
388
- "properties": {
389
- "schemaVersion": {
390
- "$ref": "#/definitions/AnyQuestion/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/AnyQuestion/anyOf/0/properties/meta"
409
322
  },
410
323
  "columns": {
411
324
  "type": "object",
412
325
  "properties": {
413
326
  "start": {
414
- "$ref": "#/definitions/AnyQuestion/anyOf/4/properties/attributes"
327
+ "type": "object",
328
+ "properties": {
329
+ "label": {
330
+ "type": "string",
331
+ "default": "From"
332
+ },
333
+ "help": {
334
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes/properties/help"
335
+ },
336
+ "labelTranslationKey": {
337
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes/properties/labelTranslationKey"
338
+ },
339
+ "max": {
340
+ "$ref": "#/definitions/AnyQuestion/anyOf/4/properties/attributes/properties/max"
341
+ },
342
+ "min": {
343
+ "$ref": "#/definitions/AnyQuestion/anyOf/4/properties/attributes/properties/min"
344
+ },
345
+ "step": {
346
+ "$ref": "#/definitions/AnyQuestion/anyOf/4/properties/attributes/properties/step"
347
+ }
348
+ },
349
+ "additionalProperties": false,
350
+ "default": {}
415
351
  },
416
352
  "end": {
417
- "$ref": "#/definitions/AnyQuestion/anyOf/4/properties/attributes"
353
+ "type": "object",
354
+ "properties": {
355
+ "label": {
356
+ "type": "string",
357
+ "default": "To"
358
+ },
359
+ "help": {
360
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes/properties/help"
361
+ },
362
+ "labelTranslationKey": {
363
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes/properties/labelTranslationKey"
364
+ },
365
+ "max": {
366
+ "$ref": "#/definitions/AnyQuestion/anyOf/4/properties/attributes/properties/max"
367
+ },
368
+ "min": {
369
+ "$ref": "#/definitions/AnyQuestion/anyOf/4/properties/attributes/properties/min"
370
+ },
371
+ "step": {
372
+ "$ref": "#/definitions/AnyQuestion/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/AnyQuestion/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/AnyQuestion/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/AnyQuestion/anyOf/0/properties/meta"
486
427
  }
487
428
  },
488
429
  "required": [
@@ -490,63 +431,6 @@
490
431
  ],
491
432
  "additionalProperties": false
492
433
  },
493
- {
494
- "type": "object",
495
- "properties": {
496
- "type": {
497
- "type": "string",
498
- "const": "filteredSearch"
499
- },
500
- "attributes": {
501
- "type": "object",
502
- "properties": {
503
- "label": {
504
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes/properties/label"
505
- },
506
- "help": {
507
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes/properties/help"
508
- },
509
- "labelTranslationKey": {
510
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes/properties/labelTranslationKey"
511
- },
512
- "multiple": {
513
- "type": "boolean"
514
- }
515
- },
516
- "additionalProperties": false
517
- },
518
- "meta": {
519
- "type": "object",
520
- "properties": {
521
- "schemaVersion": {
522
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
523
- },
524
- "title": {
525
- "type": "string",
526
- "const": "Not yet implemented"
527
- },
528
- "usageDescription": {
529
- "type": "string"
530
- },
531
- "defaultJSON": {
532
- "type": "string"
533
- }
534
- },
535
- "required": [
536
- "schemaVersion"
537
- ],
538
- "additionalProperties": false
539
- },
540
- "graphQL": {
541
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/graphQL"
542
- }
543
- },
544
- "required": [
545
- "type",
546
- "graphQL"
547
- ],
548
- "additionalProperties": false
549
- },
550
434
  {
551
435
  "type": "object",
552
436
  "properties": {
@@ -574,31 +458,13 @@
574
458
  "required": [
575
459
  "multiple"
576
460
  ],
577
- "additionalProperties": false
461
+ "additionalProperties": false,
462
+ "default": {
463
+ "multiple": true
464
+ }
578
465
  },
579
466
  "meta": {
580
- "type": "object",
581
- "properties": {
582
- "schemaVersion": {
583
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
584
- },
585
- "title": {
586
- "type": "string",
587
- "const": "Multi-select Box"
588
- },
589
- "usageDescription": {
590
- "type": "string",
591
- "const": "For questions where multiple answers are valid. Allows users to select several options from a predefined list, providing flexibility in responses."
592
- },
593
- "defaultJSON": {
594
- "type": "string",
595
- "const": "{\n \"type\": \"selectBox\",\n \"attributes\": {\n \"multiple\": true\n },\n \"options\": [\n {\n \"label\": \"Option 1\",\n \"value\": \"option1\"\n }\n ],\n \"meta\": {\n \"schemaVersion\": \"1.0\"\n }\n}"
596
- }
597
- },
598
- "required": [
599
- "schemaVersion"
600
- ],
601
- "additionalProperties": false
467
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta"
602
468
  },
603
469
  "options": {
604
470
  "type": "array",
@@ -612,21 +478,19 @@
612
478
  "$ref": "#/definitions/AnyQuestion/anyOf/2/properties/options/items/properties/value"
613
479
  },
614
480
  "selected": {
615
- "type": "boolean"
481
+ "type": "boolean",
482
+ "default": false
616
483
  }
617
484
  },
618
- "required": [
619
- "label",
620
- "value"
621
- ],
622
485
  "additionalProperties": false
623
- }
486
+ },
487
+ "default": [
488
+ {}
489
+ ]
624
490
  }
625
491
  },
626
492
  "required": [
627
- "type",
628
- "attributes",
629
- "options"
493
+ "type"
630
494
  ],
631
495
  "additionalProperties": false
632
496
  },
@@ -659,31 +523,11 @@
659
523
  "$ref": "#/definitions/AnyQuestion/anyOf/3/properties/attributes/properties/step"
660
524
  }
661
525
  },
662
- "additionalProperties": false
526
+ "additionalProperties": false,
527
+ "default": {}
663
528
  },
664
529
  "meta": {
665
- "type": "object",
666
- "properties": {
667
- "schemaVersion": {
668
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
669
- },
670
- "title": {
671
- "type": "string",
672
- "const": "Number Field"
673
- },
674
- "usageDescription": {
675
- "type": "string",
676
- "const": "For questions that require a single numeric value."
677
- },
678
- "defaultJSON": {
679
- "type": "string",
680
- "const": "{\n \"type\": \"number\",\n \"attributes\": {\n \"min\": 0,\n \"step\": 1\n },\n \"meta\": {\n \"schemaVersion\": \"1.0\"\n }\n}"
681
- }
682
- },
683
- "required": [
684
- "schemaVersion"
685
- ],
686
- "additionalProperties": false
530
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta"
687
531
  }
688
532
  },
689
533
  "required": [
@@ -699,48 +543,34 @@
699
543
  "const": "numberRange"
700
544
  },
701
545
  "attributes": {
702
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes"
546
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes",
547
+ "default": {}
703
548
  },
704
549
  "meta": {
705
- "type": "object",
706
- "properties": {
707
- "schemaVersion": {
708
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
709
- },
710
- "title": {
711
- "type": "string",
712
- "const": "Number Range"
713
- },
714
- "usageDescription": {
715
- "type": "string",
716
- "const": "For questions that require a numerical range (e.g. From/To, Min/Max)."
717
- },
718
- "defaultJSON": {
719
- "type": "string",
720
- "const": "{\n \"type\": \"numberRange\",\n \"attributes\": {},\n \"columns\": {\n \"start\": {\n \"label\": \"From\",\n \"min\": 0,\n \"step\": 1\n },\n \"end\": {\n \"label\": \"To\",\n \"min\": 0,\n \"step\": 1\n }\n },\n \"meta\": {\n \"schemaVersion\": \"1.0\"\n }\n}"
721
- }
722
- },
723
- "required": [
724
- "schemaVersion"
725
- ],
726
- "additionalProperties": false
550
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta"
727
551
  },
728
552
  "columns": {
729
553
  "type": "object",
730
554
  "properties": {
731
555
  "start": {
732
- "$ref": "#/definitions/AnyQuestion/anyOf/9/properties/attributes"
556
+ "$ref": "#/definitions/AnyQuestion/anyOf/8/properties/attributes",
557
+ "default": {
558
+ "label": "From"
559
+ }
733
560
  },
734
561
  "end": {
735
- "$ref": "#/definitions/AnyQuestion/anyOf/9/properties/attributes"
562
+ "$ref": "#/definitions/AnyQuestion/anyOf/8/properties/attributes",
563
+ "default": {
564
+ "label": "To"
565
+ }
736
566
  }
737
567
  },
738
- "additionalProperties": false
568
+ "additionalProperties": false,
569
+ "default": {}
739
570
  }
740
571
  },
741
572
  "required": [
742
- "type",
743
- "columns"
573
+ "type"
744
574
  ],
745
575
  "additionalProperties": false
746
576
  },
@@ -752,42 +582,24 @@
752
582
  "const": "radioButtons"
753
583
  },
754
584
  "attributes": {
755
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes"
585
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes",
586
+ "default": {}
756
587
  },
757
588
  "meta": {
758
- "type": "object",
759
- "properties": {
760
- "schemaVersion": {
761
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
762
- },
763
- "title": {
764
- "type": "string",
765
- "const": "Radio Buttons"
766
- },
767
- "usageDescription": {
768
- "type": "string",
769
- "const": "For multiple choice questions where users select just one option."
770
- },
771
- "defaultJSON": {
772
- "type": "string",
773
- "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}"
774
- }
775
- },
776
- "required": [
777
- "schemaVersion"
778
- ],
779
- "additionalProperties": false
589
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta"
780
590
  },
781
591
  "options": {
782
592
  "type": "array",
783
593
  "items": {
784
- "$ref": "#/definitions/AnyQuestion/anyOf/8/properties/options/items"
785
- }
594
+ "$ref": "#/definitions/AnyQuestion/anyOf/7/properties/options/items"
595
+ },
596
+ "default": [
597
+ {}
598
+ ]
786
599
  }
787
600
  },
788
601
  "required": [
789
- "type",
790
- "options"
602
+ "type"
791
603
  ],
792
604
  "additionalProperties": false
793
605
  },
@@ -818,40 +630,26 @@
818
630
  "required": [
819
631
  "multiple"
820
632
  ],
821
- "additionalProperties": false
633
+ "additionalProperties": false,
634
+ "default": {
635
+ "multiple": false
636
+ }
822
637
  },
823
638
  "meta": {
824
- "type": "object",
825
- "properties": {
826
- "schemaVersion": {
827
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
828
- },
829
- "title": {
830
- "type": "string",
831
- "const": "Select Box"
832
- },
833
- "usageDescription": {
834
- "type": "string",
835
- "const": "For questions where users select one option from a list."
836
- },
837
- "defaultJSON": {
838
- "type": "string",
839
- "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}"
840
- }
841
- },
842
- "required": [
843
- "schemaVersion"
844
- ],
845
- "additionalProperties": false
639
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta"
846
640
  },
847
641
  "options": {
848
- "$ref": "#/definitions/AnyQuestion/anyOf/8/properties/options"
642
+ "type": "array",
643
+ "items": {
644
+ "$ref": "#/definitions/AnyQuestion/anyOf/7/properties/options/items"
645
+ },
646
+ "default": [
647
+ {}
648
+ ]
849
649
  }
850
650
  },
851
651
  "required": [
852
- "type",
853
- "attributes",
854
- "options"
652
+ "type"
855
653
  ],
856
654
  "additionalProperties": false
857
655
  },
@@ -875,13 +673,16 @@
875
673
  "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes/properties/labelTranslationKey"
876
674
  },
877
675
  "canAddRows": {
878
- "type": "boolean"
676
+ "type": "boolean",
677
+ "default": true
879
678
  },
880
679
  "canRemoveRows": {
881
- "type": "boolean"
680
+ "type": "boolean",
681
+ "default": true
882
682
  },
883
683
  "initialRows": {
884
- "type": "number"
684
+ "type": "number",
685
+ "default": 1
885
686
  },
886
687
  "maxRows": {
887
688
  "type": "number"
@@ -890,31 +691,11 @@
890
691
  "type": "number"
891
692
  }
892
693
  },
893
- "additionalProperties": false
694
+ "additionalProperties": false,
695
+ "default": {}
894
696
  },
895
697
  "meta": {
896
- "type": "object",
897
- "properties": {
898
- "schemaVersion": {
899
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
900
- },
901
- "title": {
902
- "type": "string",
903
- "const": "Table"
904
- },
905
- "usageDescription": {
906
- "type": "string",
907
- "const": "For questions that require a tabular format."
908
- },
909
- "defaultJSON": {
910
- "type": "string",
911
- "const": "{\"type\":\"table\",\"columns\":[],\"attributes\":{\"canAddRows\":true,\"canRemoveRows\":true,\"initialRows\":1},\"meta\":{\"schemaVersion\":\"1.0\"}}"
912
- }
913
- },
914
- "required": [
915
- "schemaVersion"
916
- ],
917
- "additionalProperties": false
698
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta"
918
699
  },
919
700
  "columns": {
920
701
  "type": "array",
@@ -922,7 +703,8 @@
922
703
  "type": "object",
923
704
  "properties": {
924
705
  "heading": {
925
- "type": "string"
706
+ "type": "string",
707
+ "default": "Column A"
926
708
  },
927
709
  "content": {
928
710
  "anyOf": [
@@ -948,16 +730,121 @@
948
730
  "$ref": "#/definitions/AnyQuestion/anyOf/6"
949
731
  },
950
732
  {
951
- "$ref": "#/definitions/AnyQuestion/anyOf/7"
733
+ "type": "object",
734
+ "properties": {
735
+ "type": {
736
+ "type": "string",
737
+ "const": "filteredSearch"
738
+ },
739
+ "attributes": {
740
+ "type": "object",
741
+ "properties": {
742
+ "label": {
743
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes/properties/label"
744
+ },
745
+ "help": {
746
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes/properties/help"
747
+ },
748
+ "labelTranslationKey": {
749
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes/properties/labelTranslationKey"
750
+ },
751
+ "multiple": {
752
+ "type": "boolean",
753
+ "default": true
754
+ }
755
+ },
756
+ "additionalProperties": false,
757
+ "default": {}
758
+ },
759
+ "meta": {
760
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta"
761
+ },
762
+ "graphQL": {
763
+ "type": "object",
764
+ "properties": {
765
+ "displayFields": {
766
+ "type": "array",
767
+ "items": {
768
+ "type": "object",
769
+ "properties": {
770
+ "propertyName": {
771
+ "type": "string",
772
+ "default": "id"
773
+ },
774
+ "label": {
775
+ "type": "string",
776
+ "default": "Id"
777
+ },
778
+ "labelTranslationKey": {
779
+ "type": "string"
780
+ }
781
+ },
782
+ "additionalProperties": false
783
+ },
784
+ "default": [
785
+ {}
786
+ ]
787
+ },
788
+ "localQueryId": {
789
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/graphQL/properties/localQueryId"
790
+ },
791
+ "query": {
792
+ "type": "string"
793
+ },
794
+ "responseField": {
795
+ "type": "string",
796
+ "default": "query.items"
797
+ },
798
+ "variables": {
799
+ "type": "array",
800
+ "items": {
801
+ "type": "object",
802
+ "properties": {
803
+ "minLength": {
804
+ "type": "number"
805
+ },
806
+ "label": {
807
+ "type": "string"
808
+ },
809
+ "labelTranslationKey": {
810
+ "type": "string"
811
+ },
812
+ "name": {
813
+ "type": "string",
814
+ "default": "search"
815
+ },
816
+ "type": {
817
+ "type": "string",
818
+ "default": "string"
819
+ },
820
+ "defaultValue": {
821
+ "type": "string"
822
+ }
823
+ },
824
+ "additionalProperties": false
825
+ },
826
+ "default": [
827
+ {}
828
+ ]
829
+ }
830
+ },
831
+ "additionalProperties": false,
832
+ "default": {}
833
+ }
834
+ },
835
+ "required": [
836
+ "type"
837
+ ],
838
+ "additionalProperties": false
952
839
  },
953
840
  {
954
- "$ref": "#/definitions/AnyQuestion/anyOf/9"
841
+ "$ref": "#/definitions/AnyQuestion/anyOf/8"
955
842
  },
956
843
  {
957
- "$ref": "#/definitions/AnyQuestion/anyOf/11"
844
+ "$ref": "#/definitions/AnyQuestion/anyOf/10"
958
845
  },
959
846
  {
960
- "$ref": "#/definitions/AnyQuestion/anyOf/12"
847
+ "$ref": "#/definitions/AnyQuestion/anyOf/11"
961
848
  },
962
849
  {
963
850
  "type": "object",
@@ -979,7 +866,8 @@
979
866
  "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/attributes/properties/labelTranslationKey"
980
867
  },
981
868
  "cols": {
982
- "type": "number"
869
+ "type": "number",
870
+ "default": 20
983
871
  },
984
872
  "maxLength": {
985
873
  "type": "number"
@@ -988,37 +876,19 @@
988
876
  "type": "number"
989
877
  },
990
878
  "rows": {
991
- "type": "number"
879
+ "type": "number",
880
+ "default": 2
992
881
  },
993
882
  "asRichText": {
994
- "type": "boolean"
883
+ "type": "boolean",
884
+ "default": true
995
885
  }
996
886
  },
997
- "additionalProperties": false
887
+ "additionalProperties": false,
888
+ "default": {}
998
889
  },
999
890
  "meta": {
1000
- "type": "object",
1001
- "properties": {
1002
- "schemaVersion": {
1003
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
1004
- },
1005
- "title": {
1006
- "type": "string",
1007
- "const": "Text Area"
1008
- },
1009
- "usageDescription": {
1010
- "type": "string",
1011
- "const": "For questions that require longer answers, you can select formatting options too."
1012
- },
1013
- "defaultJSON": {
1014
- "type": "string",
1015
- "const": "{\"type\":\"textArea\",\"attributes\":{\"cols\":20,\"rows\":2,\"asRichText\":true},\"meta\":{\"schemaVersion\":\"1.0\"}}"
1016
- }
1017
- },
1018
- "required": [
1019
- "schemaVersion"
1020
- ],
1021
- "additionalProperties": false
891
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta"
1022
892
  }
1023
893
  },
1024
894
  "required": [
@@ -1055,31 +925,11 @@
1055
925
  "$ref": "#/definitions/AnyQuestion/anyOf/6/properties/attributes/properties/pattern"
1056
926
  }
1057
927
  },
1058
- "additionalProperties": false
928
+ "additionalProperties": false,
929
+ "default": {}
1059
930
  },
1060
931
  "meta": {
1061
- "type": "object",
1062
- "properties": {
1063
- "schemaVersion": {
1064
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
1065
- },
1066
- "title": {
1067
- "type": "string",
1068
- "const": "Text Field"
1069
- },
1070
- "usageDescription": {
1071
- "type": "string",
1072
- "const": "For questions that require short, simple answers."
1073
- },
1074
- "defaultJSON": {
1075
- "type": "string",
1076
- "const": "{\"type\":\"text\",\"attributes\":{\"maxLength\":255},\"meta\":{\"schemaVersion\":\"1.0\"}}"
1077
- }
1078
- },
1079
- "required": [
1080
- "schemaVersion"
1081
- ],
1082
- "additionalProperties": false
932
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta"
1083
933
  }
1084
934
  },
1085
935
  "required": [
@@ -1095,31 +945,11 @@
1095
945
  "const": "url"
1096
946
  },
1097
947
  "attributes": {
1098
- "$ref": "#/definitions/AnyQuestion/anyOf/13/properties/columns/items/properties/content/anyOf/12/properties/attributes"
948
+ "$ref": "#/definitions/AnyQuestion/anyOf/12/properties/columns/items/properties/content/anyOf/12/properties/attributes",
949
+ "default": {}
1099
950
  },
1100
951
  "meta": {
1101
- "type": "object",
1102
- "properties": {
1103
- "schemaVersion": {
1104
- "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta/properties/schemaVersion"
1105
- },
1106
- "title": {
1107
- "type": "string",
1108
- "const": "URL Field"
1109
- },
1110
- "usageDescription": {
1111
- "type": "string",
1112
- "const": "For questions that require a website, DOI or other URL."
1113
- },
1114
- "defaultJSON": {
1115
- "type": "string",
1116
- "const": "{\"type\":\"url\",\"attributes\":{\"maxLength\":255},\"meta\":{\"schemaVersion\":\"1.0\"}}"
1117
- }
1118
- },
1119
- "required": [
1120
- "schemaVersion"
1121
- ],
1122
- "additionalProperties": false
952
+ "$ref": "#/definitions/AnyQuestion/anyOf/0/properties/meta"
1123
953
  }
1124
954
  },
1125
955
  "required": [
@@ -1127,30 +957,32 @@
1127
957
  ],
1128
958
  "additionalProperties": false
1129
959
  }
1130
- ]
960
+ ],
961
+ "default": {
962
+ "type": "textArea"
963
+ }
1131
964
  }
1132
965
  },
1133
- "required": [
1134
- "content"
1135
- ],
1136
966
  "additionalProperties": false
1137
- }
967
+ },
968
+ "default": [
969
+ {}
970
+ ]
1138
971
  }
1139
972
  },
1140
973
  "required": [
1141
- "type",
1142
- "columns"
974
+ "type"
1143
975
  ],
1144
976
  "additionalProperties": false
1145
977
  },
1146
978
  {
1147
- "$ref": "#/definitions/AnyQuestion/anyOf/13/properties/columns/items/properties/content/anyOf/11"
979
+ "$ref": "#/definitions/AnyQuestion/anyOf/12/properties/columns/items/properties/content/anyOf/11"
1148
980
  },
1149
981
  {
1150
- "$ref": "#/definitions/AnyQuestion/anyOf/13/properties/columns/items/properties/content/anyOf/12"
982
+ "$ref": "#/definitions/AnyQuestion/anyOf/12/properties/columns/items/properties/content/anyOf/12"
1151
983
  },
1152
984
  {
1153
- "$ref": "#/definitions/AnyQuestion/anyOf/13/properties/columns/items/properties/content/anyOf/13"
985
+ "$ref": "#/definitions/AnyQuestion/anyOf/12/properties/columns/items/properties/content/anyOf/13"
1154
986
  }
1155
987
  ]
1156
988
  }