@fieldia/core 0.24.0 → 0.25.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 (117) hide show
  1. package/README.md +77 -1
  2. package/package.json +1 -1
  3. package/schema/page.schema.json +951 -380
  4. package/src/index.d.mts +5 -2
  5. package/src/index.d.ts +5 -2
  6. package/src/index.js +14 -1
  7. package/src/index.js.map +1 -1
  8. package/src/index.mjs +6 -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/import-fields.d.mts +18 -0
  35. package/src/lib/format/import-fields.d.ts +18 -0
  36. package/src/lib/format/import-fields.js +26 -0
  37. package/src/lib/format/import-fields.js.map +1 -0
  38. package/src/lib/format/import-fields.mjs +21 -0
  39. package/src/lib/format/import-fields.mjs.map +1 -0
  40. package/src/lib/format/layout.d.mts +5453 -1522
  41. package/src/lib/format/layout.d.ts +5453 -1522
  42. package/src/lib/format/layout.js +90 -32
  43. package/src/lib/format/layout.js.map +1 -1
  44. package/src/lib/format/layout.mjs +89 -31
  45. package/src/lib/format/layout.mjs.map +1 -1
  46. package/src/lib/format/layout.types.d.mts +5 -2
  47. package/src/lib/format/layout.types.d.ts +5 -2
  48. package/src/lib/format/page.d.mts +961 -127
  49. package/src/lib/format/page.d.ts +961 -127
  50. package/src/lib/format/page.js +14 -0
  51. package/src/lib/format/page.js.map +1 -1
  52. package/src/lib/format/page.mjs +14 -0
  53. package/src/lib/format/page.mjs.map +1 -1
  54. package/src/lib/format/references.d.mts +29 -0
  55. package/src/lib/format/references.d.ts +29 -0
  56. package/src/lib/format/references.js +172 -24
  57. package/src/lib/format/references.js.map +1 -1
  58. package/src/lib/format/references.mjs +172 -24
  59. package/src/lib/format/references.mjs.map +1 -1
  60. package/src/lib/format/translate.js +8 -4
  61. package/src/lib/format/translate.js.map +1 -1
  62. package/src/lib/format/translate.mjs +8 -4
  63. package/src/lib/format/translate.mjs.map +1 -1
  64. package/src/lib/format/upgrade.d.mts +5 -3
  65. package/src/lib/format/upgrade.d.ts +5 -3
  66. package/src/lib/format/upgrade.js +5 -3
  67. package/src/lib/format/upgrade.js.map +1 -1
  68. package/src/lib/format/upgrade.mjs +5 -3
  69. package/src/lib/format/upgrade.mjs.map +1 -1
  70. package/src/lib/format/version.d.mts +2 -2
  71. package/src/lib/format/version.d.ts +2 -2
  72. package/src/lib/format/version.js +2 -2
  73. package/src/lib/format/version.js.map +1 -1
  74. package/src/lib/format/version.mjs +2 -2
  75. package/src/lib/format/version.mjs.map +1 -1
  76. package/src/lib/record/data-source.d.mts +121 -0
  77. package/src/lib/record/data-source.d.ts +121 -0
  78. package/src/lib/record/data-source.js +16 -0
  79. package/src/lib/record/data-source.js.map +1 -1
  80. package/src/lib/record/data-source.mjs +15 -0
  81. package/src/lib/record/data-source.mjs.map +1 -1
  82. package/src/lib/record/form.d.mts +45 -1
  83. package/src/lib/record/form.d.ts +45 -1
  84. package/src/lib/record/form.js +53 -0
  85. package/src/lib/record/form.js.map +1 -1
  86. package/src/lib/record/form.mjs +53 -0
  87. package/src/lib/record/form.mjs.map +1 -1
  88. package/src/lib/record/memory-data-source.d.mts +12 -5
  89. package/src/lib/record/memory-data-source.d.ts +12 -5
  90. package/src/lib/record/memory-data-source.js +61 -0
  91. package/src/lib/record/memory-data-source.js.map +1 -1
  92. package/src/lib/record/memory-data-source.mjs +62 -1
  93. package/src/lib/record/memory-data-source.mjs.map +1 -1
  94. package/src/lib/record/memory-duplicates.d.mts +19 -0
  95. package/src/lib/record/memory-duplicates.d.ts +19 -0
  96. package/src/lib/record/memory-duplicates.js +78 -0
  97. package/src/lib/record/memory-duplicates.js.map +1 -0
  98. package/src/lib/record/memory-duplicates.mjs +74 -0
  99. package/src/lib/record/memory-duplicates.mjs.map +1 -0
  100. package/src/lib/record/run.d.mts +31 -1
  101. package/src/lib/record/run.d.ts +31 -1
  102. package/src/lib/record/run.js +15 -1
  103. package/src/lib/record/run.js.map +1 -1
  104. package/src/lib/record/run.mjs +15 -1
  105. package/src/lib/record/run.mjs.map +1 -1
  106. package/src/lib/record/waits.d.mts +32 -0
  107. package/src/lib/record/waits.d.ts +32 -0
  108. package/src/lib/record/waits.js +89 -0
  109. package/src/lib/record/waits.js.map +1 -0
  110. package/src/lib/record/waits.mjs +85 -0
  111. package/src/lib/record/waits.mjs.map +1 -0
  112. package/src/runtime.d.mts +10 -7
  113. package/src/runtime.d.ts +10 -7
  114. package/src/runtime.js +8 -3
  115. package/src/runtime.js.map +1 -1
  116. package/src/runtime.mjs +2 -1
  117. package/src/runtime.mjs.map +1 -1
@@ -7,7 +7,8 @@
7
7
  "enum": [
8
8
  "0.1",
9
9
  "0.2",
10
- "0.3"
10
+ "0.3",
11
+ "0.4"
11
12
  ]
12
13
  },
13
14
  "id": {
@@ -359,6 +360,12 @@
359
360
  },
360
361
  "timeZone": {
361
362
  "$ref": "#/$defs/TimeZone"
363
+ },
364
+ "print": {
365
+ "$ref": "#/$defs/PagePrint"
366
+ },
367
+ "duplicates": {
368
+ "$ref": "#/$defs/PageDuplicates"
362
369
  }
363
370
  },
364
371
  "required": [
@@ -7069,6 +7076,30 @@
7069
7076
  "message"
7070
7077
  ],
7071
7078
  "additionalProperties": false
7079
+ },
7080
+ {
7081
+ "type": "object",
7082
+ "properties": {
7083
+ "do": {
7084
+ "type": "string",
7085
+ "const": "print"
7086
+ },
7087
+ "when": {
7088
+ "anyOf": [
7089
+ {
7090
+ "type": "boolean"
7091
+ },
7092
+ {
7093
+ "type": "string",
7094
+ "minLength": 1
7095
+ }
7096
+ ]
7097
+ }
7098
+ },
7099
+ "required": [
7100
+ "do"
7101
+ ],
7102
+ "additionalProperties": false
7072
7103
  }
7073
7104
  ]
7074
7105
  },
@@ -7096,7 +7127,8 @@
7096
7127
  "archive",
7097
7128
  "unarchive",
7098
7129
  "duplicate",
7099
- "delete"
7130
+ "delete",
7131
+ "print"
7100
7132
  ]
7101
7133
  },
7102
7134
  "group": {
@@ -7580,6 +7612,9 @@
7580
7612
  },
7581
7613
  {
7582
7614
  "$ref": "#/$defs/MapNode"
7615
+ },
7616
+ {
7617
+ "$ref": "#/$defs/RelatedNode"
7583
7618
  }
7584
7619
  ]
7585
7620
  },
@@ -8270,177 +8305,74 @@
8270
8305
  ],
8271
8306
  "additionalProperties": false
8272
8307
  },
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": {
8308
+ "RelatedNode": {
8350
8309
  "type": "object",
8351
8310
  "properties": {
8352
8311
  "type": {
8353
8312
  "type": "string",
8354
- "const": "link"
8313
+ "const": "related"
8355
8314
  },
8356
8315
  "id": {
8357
8316
  "type": "string",
8358
8317
  "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
8359
8318
  },
8319
+ "title": {
8320
+ "type": "string"
8321
+ },
8360
8322
  "icon": {
8361
8323
  "type": "string",
8362
8324
  "minLength": 1
8363
8325
  },
8364
- "field": {
8326
+ "model": {
8365
8327
  "type": "string",
8366
- "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8367
- },
8368
- "words": {
8369
- "$ref": "#/$defs/PluralWords"
8328
+ "minLength": 1
8370
8329
  },
8371
- "target": {
8330
+ "field": {
8372
8331
  "type": "string",
8373
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
8332
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8374
8333
  },
8375
- "steps": {
8376
- "minItems": 1,
8377
- "type": "array",
8378
- "items": {
8379
- "$ref": "#/$defs/ActionStep"
8334
+ "fields": {
8335
+ "type": "object",
8336
+ "propertyNames": {
8337
+ "type": "string",
8338
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8339
+ },
8340
+ "additionalProperties": {
8341
+ "$ref": "#/$defs/LinkedField"
8380
8342
  }
8381
8343
  },
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": {
8344
+ "columns": {
8401
8345
  "minItems": 1,
8402
- "maxItems": 4,
8403
8346
  "type": "array",
8404
8347
  "items": {
8405
8348
  "type": "string",
8406
- "pattern": "^\\d+(\\.\\d+)?(px|%|fr)$"
8349
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8407
8350
  }
8408
8351
  },
8409
- "labelWidth": {
8410
- "type": "integer",
8411
- "minimum": 48,
8412
- "maximum": 320
8413
- },
8414
- "children": {
8415
- "type": "array",
8416
- "items": {
8417
- "$ref": "#/$defs/LayoutNode"
8352
+ "cells": {
8353
+ "type": "object",
8354
+ "propertyNames": {
8355
+ "type": "string",
8356
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8357
+ },
8358
+ "additionalProperties": {
8359
+ "$ref": "#/$defs/ListCell"
8418
8360
  }
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
8361
  },
8433
- "id": {
8434
- "type": "string",
8435
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
8362
+ "card": {
8363
+ "$ref": "#/$defs/ListCard"
8436
8364
  },
8437
- "children": {
8365
+ "rowTones": {
8366
+ "minItems": 1,
8438
8367
  "type": "array",
8439
8368
  "items": {
8440
- "$ref": "#/$defs/LayoutNode"
8369
+ "$ref": "#/$defs/ToneWhen"
8441
8370
  }
8442
8371
  },
8443
- "footer": {
8372
+ "rowBold": {
8373
+ "$ref": "#/$defs/Modifier"
8374
+ },
8375
+ "rowButtons": {
8444
8376
  "minItems": 1,
8445
8377
  "type": "array",
8446
8378
  "items": {
@@ -8548,69 +8480,586 @@
8548
8480
  ],
8549
8481
  "additionalProperties": false
8550
8482
  }
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
- },
8567
- "id": {
8568
- "type": "string",
8569
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
8570
- },
8571
- "clickable": {
8572
- "type": "boolean"
8573
- },
8574
- "nextLabel": {
8575
- "type": "string",
8576
- "minLength": 1
8577
8483
  },
8578
- "backLabel": {
8579
- "type": "string",
8580
- "minLength": 1
8581
- },
8582
- "finishLabel": {
8583
- "type": "string",
8584
- "minLength": 1
8585
- },
8586
- "children": {
8484
+ "filter": {
8587
8485
  "minItems": 1,
8588
8486
  "type": "array",
8589
8487
  "items": {
8590
- "$ref": "#/$defs/StepNode"
8488
+ "$ref": "#/$defs/FilterItem"
8591
8489
  }
8592
- }
8593
- },
8594
- "required": [
8595
- "type",
8596
- "id",
8597
- "children"
8598
- ],
8599
- "additionalProperties": false
8600
- },
8601
- "StepNode": {
8602
- "type": "object",
8603
- "properties": {
8604
- "type": {
8605
- "type": "string",
8606
- "const": "step"
8607
- },
8608
- "id": {
8609
- "type": "string",
8610
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
8611
8490
  },
8612
- "label": {
8613
- "type": "string"
8491
+ "sort": {
8492
+ "type": "array",
8493
+ "items": {
8494
+ "type": "object",
8495
+ "properties": {
8496
+ "field": {
8497
+ "type": "string",
8498
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8499
+ },
8500
+ "desc": {
8501
+ "type": "boolean"
8502
+ }
8503
+ },
8504
+ "required": [
8505
+ "field"
8506
+ ],
8507
+ "additionalProperties": false
8508
+ }
8509
+ },
8510
+ "limit": {
8511
+ "type": "integer",
8512
+ "minimum": 1,
8513
+ "maximum": 100
8514
+ },
8515
+ "searchFields": {
8516
+ "minItems": 1,
8517
+ "type": "array",
8518
+ "items": {
8519
+ "type": "string",
8520
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8521
+ }
8522
+ },
8523
+ "viewAll": {
8524
+ "type": "object",
8525
+ "properties": {
8526
+ "page": {
8527
+ "type": "string",
8528
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
8529
+ },
8530
+ "as": {
8531
+ "type": "string",
8532
+ "enum": [
8533
+ "dialog",
8534
+ "panel",
8535
+ "page"
8536
+ ]
8537
+ }
8538
+ },
8539
+ "required": [
8540
+ "page"
8541
+ ],
8542
+ "additionalProperties": false
8543
+ },
8544
+ "create": {
8545
+ "type": "boolean"
8546
+ },
8547
+ "colspan": {
8548
+ "type": "integer",
8549
+ "minimum": 1,
8550
+ "maximum": 12
8551
+ },
8552
+ "invisible": {
8553
+ "$ref": "#/$defs/Modifier"
8554
+ },
8555
+ "roles": {
8556
+ "$ref": "#/$defs/Roles"
8557
+ },
8558
+ "hideOn": {
8559
+ "minItems": 1,
8560
+ "type": "array",
8561
+ "items": {
8562
+ "$ref": "#/$defs/ScreenWidth"
8563
+ }
8564
+ }
8565
+ },
8566
+ "required": [
8567
+ "type",
8568
+ "id",
8569
+ "model",
8570
+ "field",
8571
+ "fields",
8572
+ "columns"
8573
+ ],
8574
+ "additionalProperties": false
8575
+ },
8576
+ "ListCell": {
8577
+ "type": "object",
8578
+ "properties": {
8579
+ "widget": {
8580
+ "type": "string",
8581
+ "minLength": 1
8582
+ },
8583
+ "options": {
8584
+ "type": "object",
8585
+ "properties": {
8586
+ "clear": {
8587
+ "type": "boolean"
8588
+ }
8589
+ },
8590
+ "additionalProperties": {
8591
+ "$ref": "#/$defs/JsonValue"
8592
+ }
8593
+ },
8594
+ "lead": {
8595
+ "type": "object",
8596
+ "properties": {
8597
+ "field": {
8598
+ "type": "string",
8599
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8600
+ },
8601
+ "looks": {
8602
+ "type": "object",
8603
+ "propertyNames": {
8604
+ "type": "string"
8605
+ },
8606
+ "additionalProperties": {
8607
+ "type": "object",
8608
+ "properties": {
8609
+ "icon": {
8610
+ "type": "string",
8611
+ "minLength": 1
8612
+ },
8613
+ "colour": {
8614
+ "type": "string",
8615
+ "pattern": "^#[0-9a-fA-F]{6}$"
8616
+ }
8617
+ },
8618
+ "required": [
8619
+ "icon"
8620
+ ],
8621
+ "additionalProperties": false
8622
+ }
8623
+ }
8624
+ },
8625
+ "required": [
8626
+ "field",
8627
+ "looks"
8628
+ ],
8629
+ "additionalProperties": false
8630
+ },
8631
+ "width": {
8632
+ "anyOf": [
8633
+ {
8634
+ "type": "integer",
8635
+ "minimum": 1,
8636
+ "maximum": 200
8637
+ },
8638
+ {
8639
+ "type": "string",
8640
+ "pattern": "^([89]|[1-9]\\d{1,2}|[1-3]\\d{3}|4000)px$"
8641
+ }
8642
+ ]
8643
+ },
8644
+ "align": {
8645
+ "type": "string",
8646
+ "enum": [
8647
+ "start",
8648
+ "end"
8649
+ ]
8650
+ },
8651
+ "total": {
8652
+ "type": "string",
8653
+ "enum": [
8654
+ "sum",
8655
+ "avg",
8656
+ "min",
8657
+ "max",
8658
+ "count"
8659
+ ]
8660
+ },
8661
+ "rule": {
8662
+ "anyOf": [
8663
+ {
8664
+ "type": "boolean",
8665
+ "const": false
8666
+ },
8667
+ {
8668
+ "type": "string",
8669
+ "pattern": "^(\\d|[1-9]\\d|[1-3]\\d{2}|400)px$"
8670
+ }
8671
+ ]
8672
+ }
8673
+ },
8674
+ "additionalProperties": false
8675
+ },
8676
+ "ListCard": {
8677
+ "type": "object",
8678
+ "properties": {
8679
+ "title": {
8680
+ "type": "string",
8681
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8682
+ },
8683
+ "subtitle": {
8684
+ "type": "string",
8685
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8686
+ },
8687
+ "image": {
8688
+ "type": "string",
8689
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8690
+ },
8691
+ "fields": {
8692
+ "minItems": 1,
8693
+ "type": "array",
8694
+ "items": {
8695
+ "anyOf": [
8696
+ {
8697
+ "$ref": "#/$defs/CardPart"
8698
+ },
8699
+ {
8700
+ "minItems": 1,
8701
+ "type": "array",
8702
+ "items": {
8703
+ "$ref": "#/$defs/CardPart"
8704
+ }
8705
+ }
8706
+ ]
8707
+ }
8708
+ },
8709
+ "status": {
8710
+ "type": "string",
8711
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8712
+ },
8713
+ "labels": {
8714
+ "type": "boolean"
8715
+ },
8716
+ "lead": {
8717
+ "type": "boolean"
8718
+ }
8719
+ },
8720
+ "additionalProperties": false
8721
+ },
8722
+ "HelpShown": {
8723
+ "type": "string",
8724
+ "enum": [
8725
+ "below",
8726
+ "tooltip",
8727
+ "both"
8728
+ ]
8729
+ },
8730
+ "AnswerRule": {
8731
+ "type": "object",
8732
+ "properties": {
8733
+ "minLength": {
8734
+ "type": "integer",
8735
+ "minimum": 0,
8736
+ "maximum": 9007199254740991
8737
+ },
8738
+ "maxLength": {
8739
+ "type": "integer",
8740
+ "minimum": 1,
8741
+ "maximum": 9007199254740991
8742
+ },
8743
+ "pattern": {
8744
+ "type": "string",
8745
+ "minLength": 1
8746
+ },
8747
+ "endsWith": {
8748
+ "type": "string",
8749
+ "minLength": 1
8750
+ },
8751
+ "min": {
8752
+ "type": "number"
8753
+ },
8754
+ "max": {
8755
+ "type": "number"
8756
+ },
8757
+ "atLeast": {
8758
+ "type": "integer",
8759
+ "minimum": 0,
8760
+ "maximum": 9007199254740991
8761
+ },
8762
+ "atMost": {
8763
+ "type": "integer",
8764
+ "minimum": 1,
8765
+ "maximum": 9007199254740991
8766
+ },
8767
+ "date": {
8768
+ "type": "string",
8769
+ "enum": [
8770
+ "past",
8771
+ "future"
8772
+ ]
8773
+ },
8774
+ "distinct": {
8775
+ "type": "string",
8776
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8777
+ },
8778
+ "holds": {
8779
+ "type": "string",
8780
+ "minLength": 1
8781
+ },
8782
+ "when": {
8783
+ "$ref": "#/$defs/Modifier"
8784
+ },
8785
+ "message": {
8786
+ "type": "string"
8787
+ },
8788
+ "level": {
8789
+ "type": "string",
8790
+ "enum": [
8791
+ "error",
8792
+ "warning"
8793
+ ]
8794
+ }
8795
+ },
8796
+ "additionalProperties": false
8797
+ },
8798
+ "HeadLink": {
8799
+ "type": "object",
8800
+ "properties": {
8801
+ "type": {
8802
+ "type": "string",
8803
+ "const": "link"
8804
+ },
8805
+ "id": {
8806
+ "type": "string",
8807
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
8808
+ },
8809
+ "icon": {
8810
+ "type": "string",
8811
+ "minLength": 1
8812
+ },
8813
+ "field": {
8814
+ "type": "string",
8815
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8816
+ },
8817
+ "words": {
8818
+ "$ref": "#/$defs/PluralWords"
8819
+ },
8820
+ "target": {
8821
+ "type": "string",
8822
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
8823
+ },
8824
+ "steps": {
8825
+ "minItems": 1,
8826
+ "type": "array",
8827
+ "items": {
8828
+ "$ref": "#/$defs/ActionStep"
8829
+ }
8830
+ },
8831
+ "invisible": {
8832
+ "$ref": "#/$defs/Modifier"
8833
+ },
8834
+ "roles": {
8835
+ "$ref": "#/$defs/Roles"
8836
+ }
8837
+ },
8838
+ "required": [
8839
+ "type",
8840
+ "id",
8841
+ "field",
8842
+ "words"
8843
+ ],
8844
+ "additionalProperties": false
8845
+ },
8846
+ "HeadBand": {
8847
+ "type": "object",
8848
+ "properties": {
8849
+ "tracks": {
8850
+ "minItems": 1,
8851
+ "maxItems": 4,
8852
+ "type": "array",
8853
+ "items": {
8854
+ "type": "string",
8855
+ "pattern": "^\\d+(\\.\\d+)?(px|%|fr)$"
8856
+ }
8857
+ },
8858
+ "labelWidth": {
8859
+ "type": "integer",
8860
+ "minimum": 48,
8861
+ "maximum": 320
8862
+ },
8863
+ "children": {
8864
+ "type": "array",
8865
+ "items": {
8866
+ "$ref": "#/$defs/LayoutNode"
8867
+ }
8868
+ }
8869
+ },
8870
+ "required": [
8871
+ "children"
8872
+ ],
8873
+ "additionalProperties": false
8874
+ },
8875
+ "SectionsNode": {
8876
+ "type": "object",
8877
+ "properties": {
8878
+ "type": {
8879
+ "type": "string",
8880
+ "const": "sections"
8881
+ },
8882
+ "id": {
8883
+ "type": "string",
8884
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
8885
+ },
8886
+ "children": {
8887
+ "type": "array",
8888
+ "items": {
8889
+ "$ref": "#/$defs/LayoutNode"
8890
+ }
8891
+ },
8892
+ "footer": {
8893
+ "minItems": 1,
8894
+ "type": "array",
8895
+ "items": {
8896
+ "type": "object",
8897
+ "properties": {
8898
+ "type": {
8899
+ "type": "string",
8900
+ "const": "button"
8901
+ },
8902
+ "id": {
8903
+ "type": "string",
8904
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
8905
+ },
8906
+ "label": {
8907
+ "type": "string"
8908
+ },
8909
+ "steps": {
8910
+ "minItems": 1,
8911
+ "type": "array",
8912
+ "items": {
8913
+ "$ref": "#/$defs/ActionStep"
8914
+ }
8915
+ },
8916
+ "action": {
8917
+ "type": "string",
8918
+ "minLength": 1
8919
+ },
8920
+ "params": {
8921
+ "type": "object",
8922
+ "propertyNames": {
8923
+ "type": "string"
8924
+ },
8925
+ "additionalProperties": {
8926
+ "$ref": "#/$defs/JsonValue"
8927
+ }
8928
+ },
8929
+ "style": {
8930
+ "type": "string",
8931
+ "enum": [
8932
+ "primary",
8933
+ "secondary",
8934
+ "danger",
8935
+ "link"
8936
+ ]
8937
+ },
8938
+ "confirm": {
8939
+ "type": "string"
8940
+ },
8941
+ "icon": {
8942
+ "type": "string"
8943
+ },
8944
+ "hotkey": {
8945
+ "type": "string",
8946
+ "pattern": "^(shift\\+)?[a-z0-9]$"
8947
+ },
8948
+ "colspan": {
8949
+ "type": "integer",
8950
+ "minimum": 1,
8951
+ "maximum": 12
8952
+ },
8953
+ "invisible": {
8954
+ "$ref": "#/$defs/Modifier"
8955
+ },
8956
+ "roles": {
8957
+ "$ref": "#/$defs/Roles"
8958
+ },
8959
+ "hideOn": {
8960
+ "minItems": 1,
8961
+ "type": "array",
8962
+ "items": {
8963
+ "$ref": "#/$defs/ScreenWidth"
8964
+ }
8965
+ },
8966
+ "iconOnly": {
8967
+ "type": "boolean"
8968
+ },
8969
+ "pressed": {
8970
+ "$ref": "#/$defs/Modifier"
8971
+ },
8972
+ "pressedLabel": {
8973
+ "type": "string"
8974
+ },
8975
+ "menu": {
8976
+ "minItems": 1,
8977
+ "type": "array",
8978
+ "items": {
8979
+ "$ref": "#/$defs/MenuItem"
8980
+ }
8981
+ },
8982
+ "menuIcon": {
8983
+ "type": "string",
8984
+ "minLength": 1
8985
+ },
8986
+ "menuLabel": {
8987
+ "type": "string"
8988
+ },
8989
+ "primaryWhenChanged": {
8990
+ "type": "boolean"
8991
+ }
8992
+ },
8993
+ "required": [
8994
+ "type",
8995
+ "id",
8996
+ "label"
8997
+ ],
8998
+ "additionalProperties": false
8999
+ }
9000
+ }
9001
+ },
9002
+ "required": [
9003
+ "type",
9004
+ "id",
9005
+ "children"
9006
+ ],
9007
+ "additionalProperties": false
9008
+ },
9009
+ "WizardNode": {
9010
+ "type": "object",
9011
+ "properties": {
9012
+ "type": {
9013
+ "type": "string",
9014
+ "const": "wizard"
9015
+ },
9016
+ "id": {
9017
+ "type": "string",
9018
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
9019
+ },
9020
+ "clickable": {
9021
+ "type": "boolean"
9022
+ },
9023
+ "nextLabel": {
9024
+ "type": "string",
9025
+ "minLength": 1
9026
+ },
9027
+ "backLabel": {
9028
+ "type": "string",
9029
+ "minLength": 1
9030
+ },
9031
+ "finishLabel": {
9032
+ "type": "string",
9033
+ "minLength": 1
9034
+ },
9035
+ "children": {
9036
+ "minItems": 1,
9037
+ "type": "array",
9038
+ "items": {
9039
+ "$ref": "#/$defs/StepNode"
9040
+ }
9041
+ }
9042
+ },
9043
+ "required": [
9044
+ "type",
9045
+ "id",
9046
+ "children"
9047
+ ],
9048
+ "additionalProperties": false
9049
+ },
9050
+ "StepNode": {
9051
+ "type": "object",
9052
+ "properties": {
9053
+ "type": {
9054
+ "type": "string",
9055
+ "const": "step"
9056
+ },
9057
+ "id": {
9058
+ "type": "string",
9059
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
9060
+ },
9061
+ "label": {
9062
+ "type": "string"
8614
9063
  },
8615
9064
  "description": {
8616
9065
  "type": "string"
@@ -8716,40 +9165,267 @@
8716
9165
  "$ref": "#/$defs/FilterPeriod"
8717
9166
  }
8718
9167
  },
8719
- "required": [
8720
- "id",
8721
- "label"
8722
- ],
8723
- "additionalProperties": false,
8724
- "anyOf": [
8725
- {
8726
- "required": [
8727
- "filter"
8728
- ]
8729
- },
8730
- {
8731
- "required": [
8732
- "period"
8733
- ]
9168
+ "required": [
9169
+ "id",
9170
+ "label"
9171
+ ],
9172
+ "additionalProperties": false,
9173
+ "anyOf": [
9174
+ {
9175
+ "required": [
9176
+ "filter"
9177
+ ]
9178
+ },
9179
+ {
9180
+ "required": [
9181
+ "period"
9182
+ ]
9183
+ }
9184
+ ]
9185
+ }
9186
+ },
9187
+ "defaultFilters": {
9188
+ "type": "array",
9189
+ "items": {
9190
+ "type": "string",
9191
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
9192
+ }
9193
+ },
9194
+ "groupBy": {
9195
+ "type": "array",
9196
+ "items": {
9197
+ "type": "string",
9198
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
9199
+ }
9200
+ },
9201
+ "actions": {
9202
+ "type": "array",
9203
+ "items": {
9204
+ "type": "object",
9205
+ "properties": {
9206
+ "type": {
9207
+ "type": "string",
9208
+ "const": "button"
9209
+ },
9210
+ "id": {
9211
+ "type": "string",
9212
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
9213
+ },
9214
+ "label": {
9215
+ "type": "string"
9216
+ },
9217
+ "steps": {
9218
+ "minItems": 1,
9219
+ "type": "array",
9220
+ "items": {
9221
+ "$ref": "#/$defs/ActionStep"
9222
+ }
9223
+ },
9224
+ "action": {
9225
+ "type": "string",
9226
+ "minLength": 1
9227
+ },
9228
+ "params": {
9229
+ "type": "object",
9230
+ "propertyNames": {
9231
+ "type": "string"
9232
+ },
9233
+ "additionalProperties": {
9234
+ "$ref": "#/$defs/JsonValue"
9235
+ }
9236
+ },
9237
+ "style": {
9238
+ "type": "string",
9239
+ "enum": [
9240
+ "primary",
9241
+ "secondary",
9242
+ "danger",
9243
+ "link"
9244
+ ]
9245
+ },
9246
+ "confirm": {
9247
+ "type": "string"
9248
+ },
9249
+ "icon": {
9250
+ "type": "string"
9251
+ },
9252
+ "hotkey": {
9253
+ "type": "string",
9254
+ "pattern": "^(shift\\+)?[a-z0-9]$"
9255
+ },
9256
+ "colspan": {
9257
+ "type": "integer",
9258
+ "minimum": 1,
9259
+ "maximum": 12
9260
+ },
9261
+ "invisible": {
9262
+ "$ref": "#/$defs/Modifier"
9263
+ },
9264
+ "roles": {
9265
+ "$ref": "#/$defs/Roles"
9266
+ },
9267
+ "hideOn": {
9268
+ "minItems": 1,
9269
+ "type": "array",
9270
+ "items": {
9271
+ "$ref": "#/$defs/ScreenWidth"
9272
+ }
9273
+ },
9274
+ "iconOnly": {
9275
+ "type": "boolean"
9276
+ },
9277
+ "pressed": {
9278
+ "$ref": "#/$defs/Modifier"
9279
+ },
9280
+ "pressedLabel": {
9281
+ "type": "string"
9282
+ },
9283
+ "menu": {
9284
+ "minItems": 1,
9285
+ "type": "array",
9286
+ "items": {
9287
+ "$ref": "#/$defs/MenuItem"
9288
+ }
9289
+ },
9290
+ "menuIcon": {
9291
+ "type": "string",
9292
+ "minLength": 1
9293
+ },
9294
+ "menuLabel": {
9295
+ "type": "string"
9296
+ },
9297
+ "primaryWhenChanged": {
9298
+ "type": "boolean"
9299
+ }
9300
+ },
9301
+ "required": [
9302
+ "type",
9303
+ "id",
9304
+ "label"
9305
+ ],
9306
+ "additionalProperties": false
9307
+ }
9308
+ },
9309
+ "map": {
9310
+ "$ref": "#/$defs/ListMap"
9311
+ },
9312
+ "calendar": {
9313
+ "$ref": "#/$defs/ListCalendar"
9314
+ },
9315
+ "cells": {
9316
+ "type": "object",
9317
+ "propertyNames": {
9318
+ "type": "string",
9319
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
9320
+ },
9321
+ "additionalProperties": {
9322
+ "$ref": "#/$defs/ListCell"
9323
+ }
9324
+ },
9325
+ "choose": {
9326
+ "type": "boolean"
9327
+ },
9328
+ "sortable": {
9329
+ "type": "boolean"
9330
+ },
9331
+ "search": {
9332
+ "type": "string",
9333
+ "enum": [
9334
+ "bar",
9335
+ "fields"
9336
+ ]
9337
+ },
9338
+ "filterFields": {
9339
+ "minItems": 1,
9340
+ "type": "array",
9341
+ "items": {
9342
+ "type": "string",
9343
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
9344
+ }
9345
+ },
9346
+ "filterLabels": {
9347
+ "type": "object",
9348
+ "propertyNames": {
9349
+ "type": "string",
9350
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
9351
+ },
9352
+ "additionalProperties": {
9353
+ "type": "string",
9354
+ "minLength": 1
9355
+ }
9356
+ },
9357
+ "parentField": {
9358
+ "type": "string",
9359
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
9360
+ },
9361
+ "export": {
9362
+ "type": "boolean"
9363
+ },
9364
+ "bulkEdit": {
9365
+ "anyOf": [
9366
+ {
9367
+ "type": "boolean"
9368
+ },
9369
+ {
9370
+ "minItems": 1,
9371
+ "type": "array",
9372
+ "items": {
9373
+ "type": "string",
9374
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
9375
+ }
9376
+ }
9377
+ ]
9378
+ },
9379
+ "import": {
9380
+ "anyOf": [
9381
+ {
9382
+ "type": "boolean"
9383
+ },
9384
+ {
9385
+ "minItems": 1,
9386
+ "type": "array",
9387
+ "items": {
9388
+ "type": "string",
9389
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8734
9390
  }
8735
- ]
8736
- }
9391
+ }
9392
+ ]
8737
9393
  },
8738
- "defaultFilters": {
8739
- "type": "array",
8740
- "items": {
9394
+ "print": {
9395
+ "type": "boolean"
9396
+ },
9397
+ "card": {
9398
+ "$ref": "#/$defs/ListCard"
9399
+ },
9400
+ "gallery": {
9401
+ "$ref": "#/$defs/ListGallery"
9402
+ },
9403
+ "optionalColumns": {
9404
+ "type": "object",
9405
+ "propertyNames": {
8741
9406
  "type": "string",
8742
- "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
9407
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
9408
+ },
9409
+ "additionalProperties": {
9410
+ "type": "string",
9411
+ "enum": [
9412
+ "show",
9413
+ "hide"
9414
+ ]
8743
9415
  }
8744
9416
  },
8745
- "groupBy": {
9417
+ "rowTones": {
9418
+ "minItems": 1,
8746
9419
  "type": "array",
8747
9420
  "items": {
8748
- "type": "string",
8749
- "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
9421
+ "$ref": "#/$defs/ToneWhen"
8750
9422
  }
8751
9423
  },
8752
- "actions": {
9424
+ "rowBold": {
9425
+ "$ref": "#/$defs/Modifier"
9426
+ },
9427
+ "rowButtons": {
9428
+ "minItems": 1,
8753
9429
  "type": "array",
8754
9430
  "items": {
8755
9431
  "type": "object",
@@ -8856,76 +9532,6 @@
8856
9532
  ],
8857
9533
  "additionalProperties": false
8858
9534
  }
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
9535
  }
8930
9536
  },
8931
9537
  "required": [
@@ -9193,101 +9799,22 @@
9193
9799
  ],
9194
9800
  "additionalProperties": false
9195
9801
  },
9196
- "ListCell": {
9802
+ "ListGallery": {
9197
9803
  "type": "object",
9198
9804
  "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": {
9805
+ "opens": {
9265
9806
  "type": "string",
9266
9807
  "enum": [
9267
- "start",
9268
- "end"
9808
+ "list",
9809
+ "gallery"
9269
9810
  ]
9270
9811
  },
9271
- "total": {
9812
+ "size": {
9272
9813
  "type": "string",
9273
9814
  "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
- }
9815
+ "small",
9816
+ "medium",
9817
+ "large"
9291
9818
  ]
9292
9819
  }
9293
9820
  },
@@ -9382,6 +9909,50 @@
9382
9909
  }
9383
9910
  },
9384
9911
  "additionalProperties": false
9912
+ },
9913
+ "PagePrint": {
9914
+ "type": "object",
9915
+ "properties": {
9916
+ "header": {
9917
+ "type": "string",
9918
+ "minLength": 1,
9919
+ "maxLength": 500
9920
+ },
9921
+ "footer": {
9922
+ "type": "string",
9923
+ "minLength": 1,
9924
+ "maxLength": 1000
9925
+ },
9926
+ "logo": {
9927
+ "type": "string",
9928
+ "pattern": "^(https?:\\/\\/|data:image\\/|\\/|\\.{0,2}\\/?[^:\\s]+$)"
9929
+ }
9930
+ },
9931
+ "additionalProperties": false
9932
+ },
9933
+ "PageDuplicates": {
9934
+ "type": "object",
9935
+ "properties": {
9936
+ "fields": {
9937
+ "minItems": 1,
9938
+ "type": "array",
9939
+ "items": {
9940
+ "type": "string",
9941
+ "minLength": 1
9942
+ }
9943
+ },
9944
+ "on": {
9945
+ "type": "string",
9946
+ "enum": [
9947
+ "type",
9948
+ "save"
9949
+ ]
9950
+ }
9951
+ },
9952
+ "required": [
9953
+ "fields"
9954
+ ],
9955
+ "additionalProperties": false
9385
9956
  }
9386
9957
  }
9387
9958
  }