@fieldia/core 0.24.0 → 0.26.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 (169) hide show
  1. package/README.md +133 -1
  2. package/package.json +1 -1
  3. package/schema/page.schema.json +983 -329
  4. package/src/index.d.mts +6 -2
  5. package/src/index.d.ts +6 -2
  6. package/src/index.js +16 -1
  7. package/src/index.js.map +1 -1
  8. package/src/index.mjs +7 -2
  9. package/src/index.mjs.map +1 -1
  10. package/src/lib/format/actions.d.mts +31 -1
  11. package/src/lib/format/actions.d.ts +31 -1
  12. package/src/lib/format/actions.js +1 -0
  13. package/src/lib/format/actions.js.map +1 -1
  14. package/src/lib/format/actions.mjs +1 -0
  15. package/src/lib/format/actions.mjs.map +1 -1
  16. package/src/lib/format/duplicate-kinds.d.mts +10 -0
  17. package/src/lib/format/duplicate-kinds.d.ts +10 -0
  18. package/src/lib/format/duplicate-kinds.js +14 -0
  19. package/src/lib/format/duplicate-kinds.js.map +1 -0
  20. package/src/lib/format/duplicate-kinds.mjs +10 -0
  21. package/src/lib/format/duplicate-kinds.mjs.map +1 -0
  22. package/src/lib/format/duplicates.d.mts +22 -0
  23. package/src/lib/format/duplicates.d.ts +22 -0
  24. package/src/lib/format/duplicates.js +24 -0
  25. package/src/lib/format/duplicates.js.map +1 -0
  26. package/src/lib/format/duplicates.mjs +21 -0
  27. package/src/lib/format/duplicates.mjs.map +1 -0
  28. package/src/lib/format/field.d.mts +236 -0
  29. package/src/lib/format/field.d.ts +236 -0
  30. package/src/lib/format/field.js +4 -3
  31. package/src/lib/format/field.js.map +1 -1
  32. package/src/lib/format/field.mjs +2 -1
  33. package/src/lib/format/field.mjs.map +1 -1
  34. package/src/lib/format/head-checks.d.mts +3 -1
  35. package/src/lib/format/head-checks.d.ts +3 -1
  36. package/src/lib/format/head-checks.js +25 -4
  37. package/src/lib/format/head-checks.js.map +1 -1
  38. package/src/lib/format/head-checks.mjs +24 -4
  39. package/src/lib/format/head-checks.mjs.map +1 -1
  40. package/src/lib/format/import-fields.d.mts +18 -0
  41. package/src/lib/format/import-fields.d.ts +18 -0
  42. package/src/lib/format/import-fields.js +26 -0
  43. package/src/lib/format/import-fields.js.map +1 -0
  44. package/src/lib/format/import-fields.mjs +21 -0
  45. package/src/lib/format/import-fields.mjs.map +1 -0
  46. package/src/lib/format/layout.d.mts +7391 -3264
  47. package/src/lib/format/layout.d.ts +7391 -3264
  48. package/src/lib/format/layout.js +100 -37
  49. package/src/lib/format/layout.js.map +1 -1
  50. package/src/lib/format/layout.mjs +99 -36
  51. package/src/lib/format/layout.mjs.map +1 -1
  52. package/src/lib/format/layout.types.d.mts +5 -2
  53. package/src/lib/format/layout.types.d.ts +5 -2
  54. package/src/lib/format/page.d.mts +1018 -118
  55. package/src/lib/format/page.d.ts +1018 -118
  56. package/src/lib/format/page.js +17 -0
  57. package/src/lib/format/page.js.map +1 -1
  58. package/src/lib/format/page.mjs +17 -0
  59. package/src/lib/format/page.mjs.map +1 -1
  60. package/src/lib/format/records.d.mts +23 -0
  61. package/src/lib/format/records.d.ts +23 -0
  62. package/src/lib/format/records.js +28 -0
  63. package/src/lib/format/records.js.map +1 -0
  64. package/src/lib/format/records.mjs +25 -0
  65. package/src/lib/format/records.mjs.map +1 -0
  66. package/src/lib/format/references.d.mts +31 -0
  67. package/src/lib/format/references.d.ts +31 -0
  68. package/src/lib/format/references.js +185 -24
  69. package/src/lib/format/references.js.map +1 -1
  70. package/src/lib/format/references.mjs +185 -24
  71. package/src/lib/format/references.mjs.map +1 -1
  72. package/src/lib/format/translate.js +12 -6
  73. package/src/lib/format/translate.js.map +1 -1
  74. package/src/lib/format/translate.mjs +12 -6
  75. package/src/lib/format/translate.mjs.map +1 -1
  76. package/src/lib/format/upgrade.d.mts +8 -3
  77. package/src/lib/format/upgrade.d.ts +8 -3
  78. package/src/lib/format/upgrade.js +8 -3
  79. package/src/lib/format/upgrade.js.map +1 -1
  80. package/src/lib/format/upgrade.mjs +8 -3
  81. package/src/lib/format/upgrade.mjs.map +1 -1
  82. package/src/lib/format/version.d.mts +2 -2
  83. package/src/lib/format/version.d.ts +2 -2
  84. package/src/lib/format/version.js +2 -2
  85. package/src/lib/format/version.js.map +1 -1
  86. package/src/lib/format/version.mjs +2 -2
  87. package/src/lib/format/version.mjs.map +1 -1
  88. package/src/lib/record/check.js +2 -2
  89. package/src/lib/record/check.js.map +1 -1
  90. package/src/lib/record/check.mjs +3 -3
  91. package/src/lib/record/check.mjs.map +1 -1
  92. package/src/lib/record/data-source.d.mts +121 -0
  93. package/src/lib/record/data-source.d.ts +121 -0
  94. package/src/lib/record/data-source.js +16 -0
  95. package/src/lib/record/data-source.js.map +1 -1
  96. package/src/lib/record/data-source.mjs +15 -0
  97. package/src/lib/record/data-source.mjs.map +1 -1
  98. package/src/lib/record/form.d.mts +51 -3
  99. package/src/lib/record/form.d.ts +51 -3
  100. package/src/lib/record/form.js +78 -17
  101. package/src/lib/record/form.js.map +1 -1
  102. package/src/lib/record/form.mjs +79 -18
  103. package/src/lib/record/form.mjs.map +1 -1
  104. package/src/lib/record/inputs.js +8 -8
  105. package/src/lib/record/inputs.js.map +1 -1
  106. package/src/lib/record/inputs.mjs +9 -9
  107. package/src/lib/record/inputs.mjs.map +1 -1
  108. package/src/lib/record/limits.js +1 -1
  109. package/src/lib/record/limits.js.map +1 -1
  110. package/src/lib/record/limits.mjs +2 -2
  111. package/src/lib/record/limits.mjs.map +1 -1
  112. package/src/lib/record/locales/de.js +2 -0
  113. package/src/lib/record/locales/de.js.map +1 -1
  114. package/src/lib/record/locales/de.mjs +2 -0
  115. package/src/lib/record/locales/de.mjs.map +1 -1
  116. package/src/lib/record/memory-data-source.d.mts +12 -5
  117. package/src/lib/record/memory-data-source.d.ts +12 -5
  118. package/src/lib/record/memory-data-source.js +85 -1
  119. package/src/lib/record/memory-data-source.js.map +1 -1
  120. package/src/lib/record/memory-data-source.mjs +86 -2
  121. package/src/lib/record/memory-data-source.mjs.map +1 -1
  122. package/src/lib/record/memory-duplicates.d.mts +19 -0
  123. package/src/lib/record/memory-duplicates.d.ts +19 -0
  124. package/src/lib/record/memory-duplicates.js +78 -0
  125. package/src/lib/record/memory-duplicates.js.map +1 -0
  126. package/src/lib/record/memory-duplicates.mjs +74 -0
  127. package/src/lib/record/memory-duplicates.mjs.map +1 -0
  128. package/src/lib/record/messages.d.mts +24 -0
  129. package/src/lib/record/messages.d.ts +24 -0
  130. package/src/lib/record/messages.js +25 -0
  131. package/src/lib/record/messages.js.map +1 -1
  132. package/src/lib/record/messages.mjs +24 -0
  133. package/src/lib/record/messages.mjs.map +1 -1
  134. package/src/lib/record/record-words.d.mts +19 -0
  135. package/src/lib/record/record-words.d.ts +19 -0
  136. package/src/lib/record/record-words.js +60 -0
  137. package/src/lib/record/record-words.js.map +1 -0
  138. package/src/lib/record/record-words.mjs +56 -0
  139. package/src/lib/record/record-words.mjs.map +1 -0
  140. package/src/lib/record/rules.js +1 -1
  141. package/src/lib/record/rules.js.map +1 -1
  142. package/src/lib/record/rules.mjs +2 -2
  143. package/src/lib/record/rules.mjs.map +1 -1
  144. package/src/lib/record/run.d.mts +39 -1
  145. package/src/lib/record/run.d.ts +39 -1
  146. package/src/lib/record/run.js +15 -1
  147. package/src/lib/record/run.js.map +1 -1
  148. package/src/lib/record/run.mjs +15 -1
  149. package/src/lib/record/run.mjs.map +1 -1
  150. package/src/lib/record/search.js +2 -1
  151. package/src/lib/record/search.js.map +1 -1
  152. package/src/lib/record/search.mjs +2 -1
  153. package/src/lib/record/search.mjs.map +1 -1
  154. package/src/lib/record/structures.js +3 -3
  155. package/src/lib/record/structures.js.map +1 -1
  156. package/src/lib/record/structures.mjs +4 -4
  157. package/src/lib/record/structures.mjs.map +1 -1
  158. package/src/lib/record/waits.d.mts +32 -0
  159. package/src/lib/record/waits.d.ts +32 -0
  160. package/src/lib/record/waits.js +89 -0
  161. package/src/lib/record/waits.js.map +1 -0
  162. package/src/lib/record/waits.mjs +85 -0
  163. package/src/lib/record/waits.mjs.map +1 -0
  164. package/src/runtime.d.mts +13 -7
  165. package/src/runtime.d.ts +13 -7
  166. package/src/runtime.js +13 -3
  167. package/src/runtime.js.map +1 -1
  168. package/src/runtime.mjs +4 -1
  169. package/src/runtime.mjs.map +1 -1
@@ -7,7 +7,9 @@
7
7
  "enum": [
8
8
  "0.1",
9
9
  "0.2",
10
- "0.3"
10
+ "0.3",
11
+ "0.4",
12
+ "0.5"
11
13
  ]
12
14
  },
13
15
  "id": {
@@ -359,6 +361,18 @@
359
361
  },
360
362
  "timeZone": {
361
363
  "$ref": "#/$defs/TimeZone"
364
+ },
365
+ "print": {
366
+ "$ref": "#/$defs/PagePrint"
367
+ },
368
+ "duplicates": {
369
+ "$ref": "#/$defs/PageDuplicates"
370
+ },
371
+ "records": {
372
+ "$ref": "#/$defs/PageRecords"
373
+ },
374
+ "lowerLabels": {
375
+ "type": "boolean"
362
376
  }
363
377
  },
364
378
  "required": [
@@ -6289,6 +6303,9 @@
6289
6303
  "$ref": "#/$defs/ScreenWidth"
6290
6304
  }
6291
6305
  },
6306
+ "print": {
6307
+ "type": "boolean"
6308
+ },
6292
6309
  "readonly": {
6293
6310
  "$ref": "#/$defs/Modifier"
6294
6311
  },
@@ -6426,6 +6443,10 @@
6426
6443
  },
6427
6444
  "when": {
6428
6445
  "$ref": "#/$defs/Modifier"
6446
+ },
6447
+ "label": {
6448
+ "type": "string",
6449
+ "minLength": 1
6429
6450
  }
6430
6451
  },
6431
6452
  "required": [
@@ -7069,6 +7090,30 @@
7069
7090
  "message"
7070
7091
  ],
7071
7092
  "additionalProperties": false
7093
+ },
7094
+ {
7095
+ "type": "object",
7096
+ "properties": {
7097
+ "do": {
7098
+ "type": "string",
7099
+ "const": "print"
7100
+ },
7101
+ "when": {
7102
+ "anyOf": [
7103
+ {
7104
+ "type": "boolean"
7105
+ },
7106
+ {
7107
+ "type": "string",
7108
+ "minLength": 1
7109
+ }
7110
+ ]
7111
+ }
7112
+ },
7113
+ "required": [
7114
+ "do"
7115
+ ],
7116
+ "additionalProperties": false
7072
7117
  }
7073
7118
  ]
7074
7119
  },
@@ -7096,7 +7141,8 @@
7096
7141
  "archive",
7097
7142
  "unarchive",
7098
7143
  "duplicate",
7099
- "delete"
7144
+ "delete",
7145
+ "print"
7100
7146
  ]
7101
7147
  },
7102
7148
  "group": {
@@ -7580,6 +7626,9 @@
7580
7626
  },
7581
7627
  {
7582
7628
  "$ref": "#/$defs/MapNode"
7629
+ },
7630
+ {
7631
+ "$ref": "#/$defs/RelatedNode"
7583
7632
  }
7584
7633
  ]
7585
7634
  },
@@ -7691,6 +7740,9 @@
7691
7740
  "$ref": "#/$defs/ScreenWidth"
7692
7741
  }
7693
7742
  },
7743
+ "print": {
7744
+ "type": "boolean"
7745
+ },
7694
7746
  "readonly": {
7695
7747
  "$ref": "#/$defs/Modifier"
7696
7748
  },
@@ -7810,6 +7862,9 @@
7810
7862
  "roles": {
7811
7863
  "$ref": "#/$defs/Roles"
7812
7864
  },
7865
+ "print": {
7866
+ "type": "boolean"
7867
+ },
7813
7868
  "children": {
7814
7869
  "type": "array",
7815
7870
  "items": {
@@ -7820,8 +7875,15 @@
7820
7875
  "type": "boolean"
7821
7876
  },
7822
7877
  "count": {
7823
- "type": "string",
7824
- "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
7878
+ "anyOf": [
7879
+ {
7880
+ "type": "string",
7881
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
7882
+ },
7883
+ {
7884
+ "$ref": "#/$defs/TabCount"
7885
+ }
7886
+ ]
7825
7887
  }
7826
7888
  },
7827
7889
  "required": [
@@ -7832,6 +7894,19 @@
7832
7894
  ],
7833
7895
  "additionalProperties": false
7834
7896
  },
7897
+ "TabCount": {
7898
+ "type": "object",
7899
+ "properties": {
7900
+ "related": {
7901
+ "type": "string",
7902
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
7903
+ }
7904
+ },
7905
+ "required": [
7906
+ "related"
7907
+ ],
7908
+ "additionalProperties": false
7909
+ },
7835
7910
  "MapNode": {
7836
7911
  "type": "object",
7837
7912
  "properties": {
@@ -8270,177 +8345,78 @@
8270
8345
  ],
8271
8346
  "additionalProperties": false
8272
8347
  },
8273
- "HelpShown": {
8274
- "type": "string",
8275
- "enum": [
8276
- "below",
8277
- "tooltip",
8278
- "both"
8279
- ]
8280
- },
8281
- "AnswerRule": {
8282
- "type": "object",
8283
- "properties": {
8284
- "minLength": {
8285
- "type": "integer",
8286
- "minimum": 0,
8287
- "maximum": 9007199254740991
8288
- },
8289
- "maxLength": {
8290
- "type": "integer",
8291
- "minimum": 1,
8292
- "maximum": 9007199254740991
8293
- },
8294
- "pattern": {
8295
- "type": "string",
8296
- "minLength": 1
8297
- },
8298
- "endsWith": {
8299
- "type": "string",
8300
- "minLength": 1
8301
- },
8302
- "min": {
8303
- "type": "number"
8304
- },
8305
- "max": {
8306
- "type": "number"
8307
- },
8308
- "atLeast": {
8309
- "type": "integer",
8310
- "minimum": 0,
8311
- "maximum": 9007199254740991
8312
- },
8313
- "atMost": {
8314
- "type": "integer",
8315
- "minimum": 1,
8316
- "maximum": 9007199254740991
8317
- },
8318
- "date": {
8319
- "type": "string",
8320
- "enum": [
8321
- "past",
8322
- "future"
8323
- ]
8324
- },
8325
- "distinct": {
8326
- "type": "string",
8327
- "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8328
- },
8329
- "holds": {
8330
- "type": "string",
8331
- "minLength": 1
8332
- },
8333
- "when": {
8334
- "$ref": "#/$defs/Modifier"
8335
- },
8336
- "message": {
8337
- "type": "string"
8338
- },
8339
- "level": {
8340
- "type": "string",
8341
- "enum": [
8342
- "error",
8343
- "warning"
8344
- ]
8345
- }
8346
- },
8347
- "additionalProperties": false
8348
- },
8349
- "HeadLink": {
8348
+ "RelatedNode": {
8350
8349
  "type": "object",
8351
8350
  "properties": {
8352
8351
  "type": {
8353
8352
  "type": "string",
8354
- "const": "link"
8353
+ "const": "related"
8355
8354
  },
8356
8355
  "id": {
8357
8356
  "type": "string",
8358
8357
  "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
8359
8358
  },
8359
+ "title": {
8360
+ "type": "string"
8361
+ },
8360
8362
  "icon": {
8361
8363
  "type": "string",
8362
8364
  "minLength": 1
8363
8365
  },
8366
+ "model": {
8367
+ "type": "string",
8368
+ "minLength": 1
8369
+ },
8364
8370
  "field": {
8365
8371
  "type": "string",
8366
8372
  "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8367
8373
  },
8368
- "words": {
8369
- "$ref": "#/$defs/PluralWords"
8370
- },
8371
- "target": {
8372
- "type": "string",
8373
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
8374
+ "fields": {
8375
+ "type": "object",
8376
+ "propertyNames": {
8377
+ "type": "string",
8378
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8379
+ },
8380
+ "additionalProperties": {
8381
+ "$ref": "#/$defs/LinkedField"
8382
+ }
8374
8383
  },
8375
- "steps": {
8384
+ "columns": {
8376
8385
  "minItems": 1,
8377
8386
  "type": "array",
8378
8387
  "items": {
8379
- "$ref": "#/$defs/ActionStep"
8388
+ "type": "string",
8389
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8380
8390
  }
8381
8391
  },
8382
- "invisible": {
8383
- "$ref": "#/$defs/Modifier"
8384
- },
8385
- "roles": {
8386
- "$ref": "#/$defs/Roles"
8387
- }
8388
- },
8389
- "required": [
8390
- "type",
8391
- "id",
8392
- "field",
8393
- "words"
8394
- ],
8395
- "additionalProperties": false
8396
- },
8397
- "HeadBand": {
8398
- "type": "object",
8399
- "properties": {
8400
- "tracks": {
8401
- "minItems": 1,
8402
- "maxItems": 4,
8403
- "type": "array",
8404
- "items": {
8392
+ "cells": {
8393
+ "type": "object",
8394
+ "propertyNames": {
8405
8395
  "type": "string",
8406
- "pattern": "^\\d+(\\.\\d+)?(px|%|fr)$"
8396
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8397
+ },
8398
+ "additionalProperties": {
8399
+ "$ref": "#/$defs/ListCell"
8407
8400
  }
8408
8401
  },
8409
- "labelWidth": {
8410
- "type": "integer",
8411
- "minimum": 48,
8412
- "maximum": 320
8402
+ "card": {
8403
+ "$ref": "#/$defs/ListCard"
8413
8404
  },
8414
- "children": {
8405
+ "rowTones": {
8406
+ "minItems": 1,
8415
8407
  "type": "array",
8416
8408
  "items": {
8417
- "$ref": "#/$defs/LayoutNode"
8409
+ "$ref": "#/$defs/ToneWhen"
8418
8410
  }
8419
- }
8420
- },
8421
- "required": [
8422
- "children"
8423
- ],
8424
- "additionalProperties": false
8425
- },
8426
- "SectionsNode": {
8427
- "type": "object",
8428
- "properties": {
8429
- "type": {
8430
- "type": "string",
8431
- "const": "sections"
8432
8411
  },
8433
- "id": {
8434
- "type": "string",
8435
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
8412
+ "rowBold": {
8413
+ "$ref": "#/$defs/Modifier"
8436
8414
  },
8437
- "children": {
8438
- "type": "array",
8439
- "items": {
8440
- "$ref": "#/$defs/LayoutNode"
8441
- }
8415
+ "rowBoldLabel": {
8416
+ "type": "string",
8417
+ "minLength": 1
8442
8418
  },
8443
- "footer": {
8419
+ "rowButtons": {
8444
8420
  "minItems": 1,
8445
8421
  "type": "array",
8446
8422
  "items": {
@@ -8548,28 +8524,555 @@
8548
8524
  ],
8549
8525
  "additionalProperties": false
8550
8526
  }
8551
- }
8552
- },
8553
- "required": [
8554
- "type",
8555
- "id",
8556
- "children"
8557
- ],
8558
- "additionalProperties": false
8559
- },
8560
- "WizardNode": {
8561
- "type": "object",
8562
- "properties": {
8563
- "type": {
8564
- "type": "string",
8565
- "const": "wizard"
8566
8527
  },
8567
- "id": {
8568
- "type": "string",
8569
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
8528
+ "filter": {
8529
+ "minItems": 1,
8530
+ "type": "array",
8531
+ "items": {
8532
+ "$ref": "#/$defs/FilterItem"
8533
+ }
8570
8534
  },
8571
- "clickable": {
8572
- "type": "boolean"
8535
+ "sort": {
8536
+ "type": "array",
8537
+ "items": {
8538
+ "type": "object",
8539
+ "properties": {
8540
+ "field": {
8541
+ "type": "string",
8542
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8543
+ },
8544
+ "desc": {
8545
+ "type": "boolean"
8546
+ }
8547
+ },
8548
+ "required": [
8549
+ "field"
8550
+ ],
8551
+ "additionalProperties": false
8552
+ }
8553
+ },
8554
+ "limit": {
8555
+ "type": "integer",
8556
+ "minimum": 1,
8557
+ "maximum": 100
8558
+ },
8559
+ "searchFields": {
8560
+ "minItems": 1,
8561
+ "type": "array",
8562
+ "items": {
8563
+ "type": "string",
8564
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8565
+ }
8566
+ },
8567
+ "viewAll": {
8568
+ "type": "object",
8569
+ "properties": {
8570
+ "page": {
8571
+ "type": "string",
8572
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
8573
+ },
8574
+ "as": {
8575
+ "type": "string",
8576
+ "enum": [
8577
+ "dialog",
8578
+ "panel",
8579
+ "page"
8580
+ ]
8581
+ }
8582
+ },
8583
+ "required": [
8584
+ "page"
8585
+ ],
8586
+ "additionalProperties": false
8587
+ },
8588
+ "create": {
8589
+ "type": "boolean"
8590
+ },
8591
+ "open": {
8592
+ "type": "string",
8593
+ "enum": [
8594
+ "dialog",
8595
+ "app"
8596
+ ]
8597
+ },
8598
+ "colspan": {
8599
+ "type": "integer",
8600
+ "minimum": 1,
8601
+ "maximum": 12
8602
+ },
8603
+ "invisible": {
8604
+ "$ref": "#/$defs/Modifier"
8605
+ },
8606
+ "roles": {
8607
+ "$ref": "#/$defs/Roles"
8608
+ },
8609
+ "hideOn": {
8610
+ "minItems": 1,
8611
+ "type": "array",
8612
+ "items": {
8613
+ "$ref": "#/$defs/ScreenWidth"
8614
+ }
8615
+ },
8616
+ "print": {
8617
+ "type": "boolean"
8618
+ }
8619
+ },
8620
+ "required": [
8621
+ "type",
8622
+ "id",
8623
+ "model",
8624
+ "field",
8625
+ "fields",
8626
+ "columns"
8627
+ ],
8628
+ "additionalProperties": false
8629
+ },
8630
+ "ListCell": {
8631
+ "type": "object",
8632
+ "properties": {
8633
+ "widget": {
8634
+ "type": "string",
8635
+ "minLength": 1
8636
+ },
8637
+ "options": {
8638
+ "type": "object",
8639
+ "properties": {
8640
+ "clear": {
8641
+ "type": "boolean"
8642
+ }
8643
+ },
8644
+ "additionalProperties": {
8645
+ "$ref": "#/$defs/JsonValue"
8646
+ }
8647
+ },
8648
+ "lead": {
8649
+ "type": "object",
8650
+ "properties": {
8651
+ "field": {
8652
+ "type": "string",
8653
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8654
+ },
8655
+ "looks": {
8656
+ "type": "object",
8657
+ "propertyNames": {
8658
+ "type": "string"
8659
+ },
8660
+ "additionalProperties": {
8661
+ "type": "object",
8662
+ "properties": {
8663
+ "icon": {
8664
+ "type": "string",
8665
+ "minLength": 1
8666
+ },
8667
+ "colour": {
8668
+ "type": "string",
8669
+ "pattern": "^#[0-9a-fA-F]{6}$"
8670
+ }
8671
+ },
8672
+ "required": [
8673
+ "icon"
8674
+ ],
8675
+ "additionalProperties": false
8676
+ }
8677
+ }
8678
+ },
8679
+ "required": [
8680
+ "field",
8681
+ "looks"
8682
+ ],
8683
+ "additionalProperties": false
8684
+ },
8685
+ "width": {
8686
+ "anyOf": [
8687
+ {
8688
+ "type": "integer",
8689
+ "minimum": 1,
8690
+ "maximum": 200
8691
+ },
8692
+ {
8693
+ "type": "string",
8694
+ "pattern": "^([89]|[1-9]\\d{1,2}|[1-3]\\d{3}|4000)px$"
8695
+ }
8696
+ ]
8697
+ },
8698
+ "align": {
8699
+ "type": "string",
8700
+ "enum": [
8701
+ "start",
8702
+ "end"
8703
+ ]
8704
+ },
8705
+ "total": {
8706
+ "type": "string",
8707
+ "enum": [
8708
+ "sum",
8709
+ "avg",
8710
+ "min",
8711
+ "max",
8712
+ "count"
8713
+ ]
8714
+ },
8715
+ "rule": {
8716
+ "anyOf": [
8717
+ {
8718
+ "type": "boolean",
8719
+ "const": false
8720
+ },
8721
+ {
8722
+ "type": "string",
8723
+ "pattern": "^(\\d|[1-9]\\d|[1-3]\\d{2}|400)px$"
8724
+ }
8725
+ ]
8726
+ }
8727
+ },
8728
+ "additionalProperties": false
8729
+ },
8730
+ "ListCard": {
8731
+ "type": "object",
8732
+ "properties": {
8733
+ "title": {
8734
+ "type": "string",
8735
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8736
+ },
8737
+ "subtitle": {
8738
+ "type": "string",
8739
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8740
+ },
8741
+ "image": {
8742
+ "type": "string",
8743
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8744
+ },
8745
+ "fields": {
8746
+ "minItems": 1,
8747
+ "type": "array",
8748
+ "items": {
8749
+ "anyOf": [
8750
+ {
8751
+ "$ref": "#/$defs/CardPart"
8752
+ },
8753
+ {
8754
+ "minItems": 1,
8755
+ "type": "array",
8756
+ "items": {
8757
+ "$ref": "#/$defs/CardPart"
8758
+ }
8759
+ }
8760
+ ]
8761
+ }
8762
+ },
8763
+ "status": {
8764
+ "type": "string",
8765
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8766
+ },
8767
+ "labels": {
8768
+ "type": "boolean"
8769
+ },
8770
+ "lead": {
8771
+ "type": "boolean"
8772
+ }
8773
+ },
8774
+ "additionalProperties": false
8775
+ },
8776
+ "HelpShown": {
8777
+ "type": "string",
8778
+ "enum": [
8779
+ "below",
8780
+ "tooltip",
8781
+ "both"
8782
+ ]
8783
+ },
8784
+ "AnswerRule": {
8785
+ "type": "object",
8786
+ "properties": {
8787
+ "minLength": {
8788
+ "type": "integer",
8789
+ "minimum": 0,
8790
+ "maximum": 9007199254740991
8791
+ },
8792
+ "maxLength": {
8793
+ "type": "integer",
8794
+ "minimum": 1,
8795
+ "maximum": 9007199254740991
8796
+ },
8797
+ "pattern": {
8798
+ "type": "string",
8799
+ "minLength": 1
8800
+ },
8801
+ "endsWith": {
8802
+ "type": "string",
8803
+ "minLength": 1
8804
+ },
8805
+ "min": {
8806
+ "type": "number"
8807
+ },
8808
+ "max": {
8809
+ "type": "number"
8810
+ },
8811
+ "atLeast": {
8812
+ "type": "integer",
8813
+ "minimum": 0,
8814
+ "maximum": 9007199254740991
8815
+ },
8816
+ "atMost": {
8817
+ "type": "integer",
8818
+ "minimum": 1,
8819
+ "maximum": 9007199254740991
8820
+ },
8821
+ "date": {
8822
+ "type": "string",
8823
+ "enum": [
8824
+ "past",
8825
+ "future"
8826
+ ]
8827
+ },
8828
+ "distinct": {
8829
+ "type": "string",
8830
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8831
+ },
8832
+ "holds": {
8833
+ "type": "string",
8834
+ "minLength": 1
8835
+ },
8836
+ "when": {
8837
+ "$ref": "#/$defs/Modifier"
8838
+ },
8839
+ "message": {
8840
+ "type": "string"
8841
+ },
8842
+ "level": {
8843
+ "type": "string",
8844
+ "enum": [
8845
+ "error",
8846
+ "warning"
8847
+ ]
8848
+ }
8849
+ },
8850
+ "additionalProperties": false
8851
+ },
8852
+ "HeadLink": {
8853
+ "type": "object",
8854
+ "properties": {
8855
+ "type": {
8856
+ "type": "string",
8857
+ "const": "link"
8858
+ },
8859
+ "id": {
8860
+ "type": "string",
8861
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
8862
+ },
8863
+ "icon": {
8864
+ "type": "string",
8865
+ "minLength": 1
8866
+ },
8867
+ "field": {
8868
+ "type": "string",
8869
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8870
+ },
8871
+ "words": {
8872
+ "$ref": "#/$defs/PluralWords"
8873
+ },
8874
+ "target": {
8875
+ "type": "string",
8876
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
8877
+ },
8878
+ "steps": {
8879
+ "minItems": 1,
8880
+ "type": "array",
8881
+ "items": {
8882
+ "$ref": "#/$defs/ActionStep"
8883
+ }
8884
+ },
8885
+ "invisible": {
8886
+ "$ref": "#/$defs/Modifier"
8887
+ },
8888
+ "roles": {
8889
+ "$ref": "#/$defs/Roles"
8890
+ }
8891
+ },
8892
+ "required": [
8893
+ "type",
8894
+ "id",
8895
+ "field",
8896
+ "words"
8897
+ ],
8898
+ "additionalProperties": false
8899
+ },
8900
+ "HeadBand": {
8901
+ "type": "object",
8902
+ "properties": {
8903
+ "tracks": {
8904
+ "minItems": 1,
8905
+ "maxItems": 4,
8906
+ "type": "array",
8907
+ "items": {
8908
+ "type": "string",
8909
+ "pattern": "^\\d+(\\.\\d+)?(px|%|fr)$"
8910
+ }
8911
+ },
8912
+ "labelWidth": {
8913
+ "type": "integer",
8914
+ "minimum": 48,
8915
+ "maximum": 320
8916
+ },
8917
+ "children": {
8918
+ "type": "array",
8919
+ "items": {
8920
+ "$ref": "#/$defs/LayoutNode"
8921
+ }
8922
+ }
8923
+ },
8924
+ "required": [
8925
+ "children"
8926
+ ],
8927
+ "additionalProperties": false
8928
+ },
8929
+ "SectionsNode": {
8930
+ "type": "object",
8931
+ "properties": {
8932
+ "type": {
8933
+ "type": "string",
8934
+ "const": "sections"
8935
+ },
8936
+ "id": {
8937
+ "type": "string",
8938
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
8939
+ },
8940
+ "children": {
8941
+ "type": "array",
8942
+ "items": {
8943
+ "$ref": "#/$defs/LayoutNode"
8944
+ }
8945
+ },
8946
+ "footer": {
8947
+ "minItems": 1,
8948
+ "type": "array",
8949
+ "items": {
8950
+ "type": "object",
8951
+ "properties": {
8952
+ "type": {
8953
+ "type": "string",
8954
+ "const": "button"
8955
+ },
8956
+ "id": {
8957
+ "type": "string",
8958
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
8959
+ },
8960
+ "label": {
8961
+ "type": "string"
8962
+ },
8963
+ "steps": {
8964
+ "minItems": 1,
8965
+ "type": "array",
8966
+ "items": {
8967
+ "$ref": "#/$defs/ActionStep"
8968
+ }
8969
+ },
8970
+ "action": {
8971
+ "type": "string",
8972
+ "minLength": 1
8973
+ },
8974
+ "params": {
8975
+ "type": "object",
8976
+ "propertyNames": {
8977
+ "type": "string"
8978
+ },
8979
+ "additionalProperties": {
8980
+ "$ref": "#/$defs/JsonValue"
8981
+ }
8982
+ },
8983
+ "style": {
8984
+ "type": "string",
8985
+ "enum": [
8986
+ "primary",
8987
+ "secondary",
8988
+ "danger",
8989
+ "link"
8990
+ ]
8991
+ },
8992
+ "confirm": {
8993
+ "type": "string"
8994
+ },
8995
+ "icon": {
8996
+ "type": "string"
8997
+ },
8998
+ "hotkey": {
8999
+ "type": "string",
9000
+ "pattern": "^(shift\\+)?[a-z0-9]$"
9001
+ },
9002
+ "colspan": {
9003
+ "type": "integer",
9004
+ "minimum": 1,
9005
+ "maximum": 12
9006
+ },
9007
+ "invisible": {
9008
+ "$ref": "#/$defs/Modifier"
9009
+ },
9010
+ "roles": {
9011
+ "$ref": "#/$defs/Roles"
9012
+ },
9013
+ "hideOn": {
9014
+ "minItems": 1,
9015
+ "type": "array",
9016
+ "items": {
9017
+ "$ref": "#/$defs/ScreenWidth"
9018
+ }
9019
+ },
9020
+ "iconOnly": {
9021
+ "type": "boolean"
9022
+ },
9023
+ "pressed": {
9024
+ "$ref": "#/$defs/Modifier"
9025
+ },
9026
+ "pressedLabel": {
9027
+ "type": "string"
9028
+ },
9029
+ "menu": {
9030
+ "minItems": 1,
9031
+ "type": "array",
9032
+ "items": {
9033
+ "$ref": "#/$defs/MenuItem"
9034
+ }
9035
+ },
9036
+ "menuIcon": {
9037
+ "type": "string",
9038
+ "minLength": 1
9039
+ },
9040
+ "menuLabel": {
9041
+ "type": "string"
9042
+ },
9043
+ "primaryWhenChanged": {
9044
+ "type": "boolean"
9045
+ }
9046
+ },
9047
+ "required": [
9048
+ "type",
9049
+ "id",
9050
+ "label"
9051
+ ],
9052
+ "additionalProperties": false
9053
+ }
9054
+ }
9055
+ },
9056
+ "required": [
9057
+ "type",
9058
+ "id",
9059
+ "children"
9060
+ ],
9061
+ "additionalProperties": false
9062
+ },
9063
+ "WizardNode": {
9064
+ "type": "object",
9065
+ "properties": {
9066
+ "type": {
9067
+ "type": "string",
9068
+ "const": "wizard"
9069
+ },
9070
+ "id": {
9071
+ "type": "string",
9072
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
9073
+ },
9074
+ "clickable": {
9075
+ "type": "boolean"
8573
9076
  },
8574
9077
  "nextLabel": {
8575
9078
  "type": "string",
@@ -8732,24 +9235,255 @@
8732
9235
  "period"
8733
9236
  ]
8734
9237
  }
8735
- ]
8736
- }
9238
+ ]
9239
+ }
9240
+ },
9241
+ "defaultFilters": {
9242
+ "type": "array",
9243
+ "items": {
9244
+ "type": "string",
9245
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
9246
+ }
9247
+ },
9248
+ "groupBy": {
9249
+ "type": "array",
9250
+ "items": {
9251
+ "type": "string",
9252
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
9253
+ }
9254
+ },
9255
+ "actions": {
9256
+ "type": "array",
9257
+ "items": {
9258
+ "type": "object",
9259
+ "properties": {
9260
+ "type": {
9261
+ "type": "string",
9262
+ "const": "button"
9263
+ },
9264
+ "id": {
9265
+ "type": "string",
9266
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
9267
+ },
9268
+ "label": {
9269
+ "type": "string"
9270
+ },
9271
+ "steps": {
9272
+ "minItems": 1,
9273
+ "type": "array",
9274
+ "items": {
9275
+ "$ref": "#/$defs/ActionStep"
9276
+ }
9277
+ },
9278
+ "action": {
9279
+ "type": "string",
9280
+ "minLength": 1
9281
+ },
9282
+ "params": {
9283
+ "type": "object",
9284
+ "propertyNames": {
9285
+ "type": "string"
9286
+ },
9287
+ "additionalProperties": {
9288
+ "$ref": "#/$defs/JsonValue"
9289
+ }
9290
+ },
9291
+ "style": {
9292
+ "type": "string",
9293
+ "enum": [
9294
+ "primary",
9295
+ "secondary",
9296
+ "danger",
9297
+ "link"
9298
+ ]
9299
+ },
9300
+ "confirm": {
9301
+ "type": "string"
9302
+ },
9303
+ "icon": {
9304
+ "type": "string"
9305
+ },
9306
+ "hotkey": {
9307
+ "type": "string",
9308
+ "pattern": "^(shift\\+)?[a-z0-9]$"
9309
+ },
9310
+ "colspan": {
9311
+ "type": "integer",
9312
+ "minimum": 1,
9313
+ "maximum": 12
9314
+ },
9315
+ "invisible": {
9316
+ "$ref": "#/$defs/Modifier"
9317
+ },
9318
+ "roles": {
9319
+ "$ref": "#/$defs/Roles"
9320
+ },
9321
+ "hideOn": {
9322
+ "minItems": 1,
9323
+ "type": "array",
9324
+ "items": {
9325
+ "$ref": "#/$defs/ScreenWidth"
9326
+ }
9327
+ },
9328
+ "iconOnly": {
9329
+ "type": "boolean"
9330
+ },
9331
+ "pressed": {
9332
+ "$ref": "#/$defs/Modifier"
9333
+ },
9334
+ "pressedLabel": {
9335
+ "type": "string"
9336
+ },
9337
+ "menu": {
9338
+ "minItems": 1,
9339
+ "type": "array",
9340
+ "items": {
9341
+ "$ref": "#/$defs/MenuItem"
9342
+ }
9343
+ },
9344
+ "menuIcon": {
9345
+ "type": "string",
9346
+ "minLength": 1
9347
+ },
9348
+ "menuLabel": {
9349
+ "type": "string"
9350
+ },
9351
+ "primaryWhenChanged": {
9352
+ "type": "boolean"
9353
+ }
9354
+ },
9355
+ "required": [
9356
+ "type",
9357
+ "id",
9358
+ "label"
9359
+ ],
9360
+ "additionalProperties": false
9361
+ }
9362
+ },
9363
+ "map": {
9364
+ "$ref": "#/$defs/ListMap"
9365
+ },
9366
+ "calendar": {
9367
+ "$ref": "#/$defs/ListCalendar"
9368
+ },
9369
+ "cells": {
9370
+ "type": "object",
9371
+ "propertyNames": {
9372
+ "type": "string",
9373
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
9374
+ },
9375
+ "additionalProperties": {
9376
+ "$ref": "#/$defs/ListCell"
9377
+ }
9378
+ },
9379
+ "choose": {
9380
+ "type": "boolean"
9381
+ },
9382
+ "sortable": {
9383
+ "type": "boolean"
9384
+ },
9385
+ "search": {
9386
+ "type": "string",
9387
+ "enum": [
9388
+ "bar",
9389
+ "fields"
9390
+ ]
9391
+ },
9392
+ "filterFields": {
9393
+ "minItems": 1,
9394
+ "type": "array",
9395
+ "items": {
9396
+ "type": "string",
9397
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
9398
+ }
9399
+ },
9400
+ "filterLabels": {
9401
+ "type": "object",
9402
+ "propertyNames": {
9403
+ "type": "string",
9404
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
9405
+ },
9406
+ "additionalProperties": {
9407
+ "type": "string",
9408
+ "minLength": 1
9409
+ }
9410
+ },
9411
+ "parentField": {
9412
+ "type": "string",
9413
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
9414
+ },
9415
+ "export": {
9416
+ "type": "boolean"
9417
+ },
9418
+ "bulkEdit": {
9419
+ "anyOf": [
9420
+ {
9421
+ "type": "boolean"
9422
+ },
9423
+ {
9424
+ "minItems": 1,
9425
+ "type": "array",
9426
+ "items": {
9427
+ "type": "string",
9428
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
9429
+ }
9430
+ }
9431
+ ]
9432
+ },
9433
+ "import": {
9434
+ "anyOf": [
9435
+ {
9436
+ "type": "boolean"
9437
+ },
9438
+ {
9439
+ "minItems": 1,
9440
+ "type": "array",
9441
+ "items": {
9442
+ "type": "string",
9443
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
9444
+ }
9445
+ }
9446
+ ]
8737
9447
  },
8738
- "defaultFilters": {
8739
- "type": "array",
8740
- "items": {
9448
+ "print": {
9449
+ "type": "boolean"
9450
+ },
9451
+ "card": {
9452
+ "$ref": "#/$defs/ListCard"
9453
+ },
9454
+ "gallery": {
9455
+ "$ref": "#/$defs/ListGallery"
9456
+ },
9457
+ "optionalColumns": {
9458
+ "type": "object",
9459
+ "propertyNames": {
8741
9460
  "type": "string",
8742
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
9461
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
9462
+ },
9463
+ "additionalProperties": {
9464
+ "type": "string",
9465
+ "enum": [
9466
+ "show",
9467
+ "hide"
9468
+ ]
8743
9469
  }
8744
9470
  },
8745
- "groupBy": {
9471
+ "rowTones": {
9472
+ "minItems": 1,
8746
9473
  "type": "array",
8747
9474
  "items": {
8748
- "type": "string",
8749
- "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
9475
+ "$ref": "#/$defs/ToneWhen"
8750
9476
  }
8751
9477
  },
8752
- "actions": {
9478
+ "rowBold": {
9479
+ "$ref": "#/$defs/Modifier"
9480
+ },
9481
+ "rowBoldLabel": {
9482
+ "type": "string",
9483
+ "minLength": 1
9484
+ },
9485
+ "rowButtons": {
9486
+ "minItems": 1,
8753
9487
  "type": "array",
8754
9488
  "items": {
8755
9489
  "type": "object",
@@ -8856,76 +9590,6 @@
8856
9590
  ],
8857
9591
  "additionalProperties": false
8858
9592
  }
8859
- },
8860
- "map": {
8861
- "$ref": "#/$defs/ListMap"
8862
- },
8863
- "calendar": {
8864
- "$ref": "#/$defs/ListCalendar"
8865
- },
8866
- "cells": {
8867
- "type": "object",
8868
- "propertyNames": {
8869
- "type": "string",
8870
- "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8871
- },
8872
- "additionalProperties": {
8873
- "$ref": "#/$defs/ListCell"
8874
- }
8875
- },
8876
- "choose": {
8877
- "type": "boolean"
8878
- },
8879
- "sortable": {
8880
- "type": "boolean"
8881
- },
8882
- "search": {
8883
- "type": "string",
8884
- "enum": [
8885
- "bar",
8886
- "fields"
8887
- ]
8888
- },
8889
- "filterFields": {
8890
- "minItems": 1,
8891
- "type": "array",
8892
- "items": {
8893
- "type": "string",
8894
- "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8895
- }
8896
- },
8897
- "filterLabels": {
8898
- "type": "object",
8899
- "propertyNames": {
8900
- "type": "string",
8901
- "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8902
- },
8903
- "additionalProperties": {
8904
- "type": "string",
8905
- "minLength": 1
8906
- }
8907
- },
8908
- "parentField": {
8909
- "type": "string",
8910
- "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8911
- },
8912
- "export": {
8913
- "type": "boolean"
8914
- },
8915
- "bulkEdit": {
8916
- "anyOf": [
8917
- {
8918
- "type": "boolean"
8919
- },
8920
- {
8921
- "minItems": 1,
8922
- "type": "array",
8923
- "items": {
8924
- "type": "string",
8925
- "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8926
- }
8927
- }
8928
- ]
8929
9593
  }
8930
9594
  },
8931
9595
  "required": [
@@ -9193,101 +9857,22 @@
9193
9857
  ],
9194
9858
  "additionalProperties": false
9195
9859
  },
9196
- "ListCell": {
9860
+ "ListGallery": {
9197
9861
  "type": "object",
9198
9862
  "properties": {
9199
- "widget": {
9200
- "type": "string",
9201
- "minLength": 1
9202
- },
9203
- "options": {
9204
- "type": "object",
9205
- "properties": {
9206
- "clear": {
9207
- "type": "boolean"
9208
- }
9209
- },
9210
- "additionalProperties": {
9211
- "$ref": "#/$defs/JsonValue"
9212
- }
9213
- },
9214
- "lead": {
9215
- "type": "object",
9216
- "properties": {
9217
- "field": {
9218
- "type": "string",
9219
- "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
9220
- },
9221
- "looks": {
9222
- "type": "object",
9223
- "propertyNames": {
9224
- "type": "string"
9225
- },
9226
- "additionalProperties": {
9227
- "type": "object",
9228
- "properties": {
9229
- "icon": {
9230
- "type": "string",
9231
- "minLength": 1
9232
- },
9233
- "colour": {
9234
- "type": "string",
9235
- "pattern": "^#[0-9a-fA-F]{6}$"
9236
- }
9237
- },
9238
- "required": [
9239
- "icon"
9240
- ],
9241
- "additionalProperties": false
9242
- }
9243
- }
9244
- },
9245
- "required": [
9246
- "field",
9247
- "looks"
9248
- ],
9249
- "additionalProperties": false
9250
- },
9251
- "width": {
9252
- "anyOf": [
9253
- {
9254
- "type": "integer",
9255
- "minimum": 1,
9256
- "maximum": 200
9257
- },
9258
- {
9259
- "type": "string",
9260
- "pattern": "^([89]|[1-9]\\d{1,2}|[1-3]\\d{3}|4000)px$"
9261
- }
9262
- ]
9263
- },
9264
- "align": {
9863
+ "opens": {
9265
9864
  "type": "string",
9266
9865
  "enum": [
9267
- "start",
9268
- "end"
9866
+ "list",
9867
+ "gallery"
9269
9868
  ]
9270
9869
  },
9271
- "total": {
9870
+ "size": {
9272
9871
  "type": "string",
9273
9872
  "enum": [
9274
- "sum",
9275
- "avg",
9276
- "min",
9277
- "max",
9278
- "count"
9279
- ]
9280
- },
9281
- "rule": {
9282
- "anyOf": [
9283
- {
9284
- "type": "boolean",
9285
- "const": false
9286
- },
9287
- {
9288
- "type": "string",
9289
- "pattern": "^(\\d|[1-9]\\d|[1-3]\\d{2}|400)px$"
9290
- }
9873
+ "small",
9874
+ "medium",
9875
+ "large"
9291
9876
  ]
9292
9877
  }
9293
9878
  },
@@ -9382,6 +9967,75 @@
9382
9967
  }
9383
9968
  },
9384
9969
  "additionalProperties": false
9970
+ },
9971
+ "PagePrint": {
9972
+ "type": "object",
9973
+ "properties": {
9974
+ "header": {
9975
+ "type": "string",
9976
+ "minLength": 1,
9977
+ "maxLength": 500
9978
+ },
9979
+ "footer": {
9980
+ "type": "string",
9981
+ "minLength": 1,
9982
+ "maxLength": 1000
9983
+ },
9984
+ "logo": {
9985
+ "type": "string",
9986
+ "pattern": "^(https?:\\/\\/|data:image\\/|\\/|\\.{0,2}\\/?[^:\\s]+$)"
9987
+ }
9988
+ },
9989
+ "additionalProperties": false
9990
+ },
9991
+ "PageDuplicates": {
9992
+ "type": "object",
9993
+ "properties": {
9994
+ "fields": {
9995
+ "minItems": 1,
9996
+ "type": "array",
9997
+ "items": {
9998
+ "type": "string",
9999
+ "minLength": 1
10000
+ }
10001
+ },
10002
+ "on": {
10003
+ "type": "string",
10004
+ "enum": [
10005
+ "type",
10006
+ "save"
10007
+ ]
10008
+ }
10009
+ },
10010
+ "required": [
10011
+ "fields"
10012
+ ],
10013
+ "additionalProperties": false
10014
+ },
10015
+ "PageRecords": {
10016
+ "type": "object",
10017
+ "properties": {
10018
+ "one": {
10019
+ "type": "string",
10020
+ "maxLength": 60,
10021
+ "pattern": "\\S"
10022
+ },
10023
+ "other": {
10024
+ "type": "string",
10025
+ "maxLength": 60,
10026
+ "pattern": "\\S"
10027
+ },
10028
+ "a": {
10029
+ "type": "string",
10030
+ "maxLength": 80,
10031
+ "pattern": "\\S"
10032
+ }
10033
+ },
10034
+ "required": [
10035
+ "one",
10036
+ "other"
10037
+ ],
10038
+ "additionalProperties": false
9385
10039
  }
9386
10040
  }
9387
10041
  }