@fieldia/core 0.19.1 → 0.20.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 (76) hide show
  1. package/package.json +1 -1
  2. package/schema/page.schema.json +777 -65
  3. package/src/index.d.mts +2 -1
  4. package/src/index.d.ts +2 -1
  5. package/src/index.js +5 -1
  6. package/src/index.js.map +1 -1
  7. package/src/index.mjs +2 -1
  8. package/src/index.mjs.map +1 -1
  9. package/src/lib/format/head-checks.d.mts +40 -0
  10. package/src/lib/format/head-checks.d.ts +40 -0
  11. package/src/lib/format/head-checks.js +172 -0
  12. package/src/lib/format/head-checks.js.map +1 -0
  13. package/src/lib/format/head-checks.mjs +167 -0
  14. package/src/lib/format/head-checks.mjs.map +1 -0
  15. package/src/lib/format/layout.d.mts +6485 -1447
  16. package/src/lib/format/layout.d.ts +6485 -1447
  17. package/src/lib/format/layout.js +106 -2
  18. package/src/lib/format/layout.js.map +1 -1
  19. package/src/lib/format/layout.mjs +105 -1
  20. package/src/lib/format/layout.mjs.map +1 -1
  21. package/src/lib/format/layout.types.d.mts +7 -1
  22. package/src/lib/format/layout.types.d.ts +7 -1
  23. package/src/lib/format/page.d.mts +1486 -164
  24. package/src/lib/format/page.d.ts +1486 -164
  25. package/src/lib/format/page.js +2 -0
  26. package/src/lib/format/page.js.map +1 -1
  27. package/src/lib/format/page.mjs +2 -0
  28. package/src/lib/format/page.mjs.map +1 -1
  29. package/src/lib/format/picker-options.d.mts +22 -0
  30. package/src/lib/format/picker-options.d.ts +22 -0
  31. package/src/lib/format/picker-options.js +50 -0
  32. package/src/lib/format/picker-options.js.map +1 -0
  33. package/src/lib/format/picker-options.mjs +46 -0
  34. package/src/lib/format/picker-options.mjs.map +1 -0
  35. package/src/lib/format/references.d.mts +9 -0
  36. package/src/lib/format/references.d.ts +9 -0
  37. package/src/lib/format/references.js +88 -1
  38. package/src/lib/format/references.js.map +1 -1
  39. package/src/lib/format/references.mjs +88 -1
  40. package/src/lib/format/references.mjs.map +1 -1
  41. package/src/lib/format/section-checks.d.mts +10 -0
  42. package/src/lib/format/section-checks.d.ts +10 -0
  43. package/src/lib/format/section-checks.js +35 -0
  44. package/src/lib/format/section-checks.js.map +1 -0
  45. package/src/lib/format/section-checks.mjs +31 -0
  46. package/src/lib/format/section-checks.mjs.map +1 -0
  47. package/src/lib/format/translate.js +11 -2
  48. package/src/lib/format/translate.js.map +1 -1
  49. package/src/lib/format/translate.mjs +11 -2
  50. package/src/lib/format/translate.mjs.map +1 -1
  51. package/src/lib/record/form.d.mts +12 -2
  52. package/src/lib/record/form.d.ts +12 -2
  53. package/src/lib/record/form.js +44 -6
  54. package/src/lib/record/form.js.map +1 -1
  55. package/src/lib/record/form.mjs +44 -6
  56. package/src/lib/record/form.mjs.map +1 -1
  57. package/src/lib/record/memory-data-source.d.mts +7 -0
  58. package/src/lib/record/memory-data-source.d.ts +7 -0
  59. package/src/lib/record/memory-data-source.js +19 -1
  60. package/src/lib/record/memory-data-source.js.map +1 -1
  61. package/src/lib/record/memory-data-source.mjs +19 -1
  62. package/src/lib/record/memory-data-source.mjs.map +1 -1
  63. package/src/lib/record/run.d.mts +7 -0
  64. package/src/lib/record/run.d.ts +7 -0
  65. package/src/lib/record/run.js +7 -0
  66. package/src/lib/record/run.js.map +1 -1
  67. package/src/lib/record/run.mjs +7 -0
  68. package/src/lib/record/run.mjs.map +1 -1
  69. package/src/lib/record/values.d.mts +4 -0
  70. package/src/lib/record/values.d.ts +4 -0
  71. package/src/lib/record/values.js.map +1 -1
  72. package/src/lib/record/values.mjs.map +1 -1
  73. package/src/runtime.d.mts +2 -1
  74. package/src/runtime.d.ts +2 -1
  75. package/src/runtime.js.map +1 -1
  76. package/src/runtime.mjs.map +1 -1
@@ -140,6 +140,13 @@
140
140
  "helpShown": {
141
141
  "$ref": "#/$defs/HelpShown"
142
142
  },
143
+ "lockAt": {
144
+ "type": "string",
145
+ "enum": [
146
+ "label",
147
+ "value"
148
+ ]
149
+ },
143
150
  "readonlyShown": {
144
151
  "type": "string",
145
152
  "enum": [
@@ -147,6 +154,9 @@
147
154
  "box"
148
155
  ]
149
156
  },
157
+ "quietHints": {
158
+ "type": "boolean"
159
+ },
150
160
  "scheme": {
151
161
  "type": "string",
152
162
  "enum": [
@@ -4679,6 +4689,9 @@
4679
4689
  "type": "string",
4680
4690
  "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
4681
4691
  },
4692
+ "head": {
4693
+ "$ref": "#/$defs/SheetHead"
4694
+ },
4682
4695
  "title": {
4683
4696
  "type": "object",
4684
4697
  "properties": {
@@ -4860,6 +4873,32 @@
4860
4873
  "items": {
4861
4874
  "$ref": "#/$defs/ScreenWidth"
4862
4875
  }
4876
+ },
4877
+ "iconOnly": {
4878
+ "type": "boolean"
4879
+ },
4880
+ "pressed": {
4881
+ "$ref": "#/$defs/Modifier"
4882
+ },
4883
+ "pressedLabel": {
4884
+ "type": "string"
4885
+ },
4886
+ "menu": {
4887
+ "minItems": 1,
4888
+ "type": "array",
4889
+ "items": {
4890
+ "$ref": "#/$defs/MenuItem"
4891
+ }
4892
+ },
4893
+ "menuIcon": {
4894
+ "type": "string",
4895
+ "minLength": 1
4896
+ },
4897
+ "menuLabel": {
4898
+ "type": "string"
4899
+ },
4900
+ "primaryWhenChanged": {
4901
+ "type": "boolean"
4863
4902
  }
4864
4903
  },
4865
4904
  "required": [
@@ -5107,6 +5146,32 @@
5107
5146
  "items": {
5108
5147
  "$ref": "#/$defs/ScreenWidth"
5109
5148
  }
5149
+ },
5150
+ "iconOnly": {
5151
+ "type": "boolean"
5152
+ },
5153
+ "pressed": {
5154
+ "$ref": "#/$defs/Modifier"
5155
+ },
5156
+ "pressedLabel": {
5157
+ "type": "string"
5158
+ },
5159
+ "menu": {
5160
+ "minItems": 1,
5161
+ "type": "array",
5162
+ "items": {
5163
+ "$ref": "#/$defs/MenuItem"
5164
+ }
5165
+ },
5166
+ "menuIcon": {
5167
+ "type": "string",
5168
+ "minLength": 1
5169
+ },
5170
+ "menuLabel": {
5171
+ "type": "string"
5172
+ },
5173
+ "primaryWhenChanged": {
5174
+ "type": "boolean"
5110
5175
  }
5111
5176
  },
5112
5177
  "required": [
@@ -5341,6 +5406,32 @@
5341
5406
  "items": {
5342
5407
  "$ref": "#/$defs/ScreenWidth"
5343
5408
  }
5409
+ },
5410
+ "iconOnly": {
5411
+ "type": "boolean"
5412
+ },
5413
+ "pressed": {
5414
+ "$ref": "#/$defs/Modifier"
5415
+ },
5416
+ "pressedLabel": {
5417
+ "type": "string"
5418
+ },
5419
+ "menu": {
5420
+ "minItems": 1,
5421
+ "type": "array",
5422
+ "items": {
5423
+ "$ref": "#/$defs/MenuItem"
5424
+ }
5425
+ },
5426
+ "menuIcon": {
5427
+ "type": "string",
5428
+ "minLength": 1
5429
+ },
5430
+ "menuLabel": {
5431
+ "type": "string"
5432
+ },
5433
+ "primaryWhenChanged": {
5434
+ "type": "boolean"
5344
5435
  }
5345
5436
  },
5346
5437
  "required": [
@@ -5359,32 +5450,213 @@
5359
5450
  ],
5360
5451
  "additionalProperties": false
5361
5452
  },
5362
- "PlaceholderWhen": {
5453
+ "SheetHead": {
5363
5454
  "type": "object",
5364
5455
  "properties": {
5365
- "when": {
5366
- "$ref": "#/$defs/Modifier"
5456
+ "kind": {
5457
+ "$ref": "#/$defs/SheetKind"
5367
5458
  },
5368
- "text": {
5369
- "type": "string"
5459
+ "meta": {
5460
+ "minItems": 1,
5461
+ "type": "array",
5462
+ "items": {
5463
+ "oneOf": [
5464
+ {
5465
+ "$ref": "#/$defs/__schema1"
5466
+ },
5467
+ {
5468
+ "$ref": "#/$defs/HeadLink"
5469
+ }
5470
+ ]
5471
+ }
5472
+ },
5473
+ "actions": {
5474
+ "minItems": 1,
5475
+ "type": "array",
5476
+ "items": {
5477
+ "type": "object",
5478
+ "properties": {
5479
+ "type": {
5480
+ "type": "string",
5481
+ "const": "button"
5482
+ },
5483
+ "id": {
5484
+ "type": "string",
5485
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
5486
+ },
5487
+ "label": {
5488
+ "type": "string"
5489
+ },
5490
+ "steps": {
5491
+ "minItems": 1,
5492
+ "type": "array",
5493
+ "items": {
5494
+ "$ref": "#/$defs/ActionStep"
5495
+ }
5496
+ },
5497
+ "action": {
5498
+ "type": "string",
5499
+ "minLength": 1
5500
+ },
5501
+ "params": {
5502
+ "type": "object",
5503
+ "propertyNames": {
5504
+ "type": "string"
5505
+ },
5506
+ "additionalProperties": {
5507
+ "$ref": "#/$defs/JsonValue"
5508
+ }
5509
+ },
5510
+ "style": {
5511
+ "type": "string",
5512
+ "enum": [
5513
+ "primary",
5514
+ "secondary",
5515
+ "danger",
5516
+ "link"
5517
+ ]
5518
+ },
5519
+ "confirm": {
5520
+ "type": "string"
5521
+ },
5522
+ "icon": {
5523
+ "type": "string"
5524
+ },
5525
+ "hotkey": {
5526
+ "type": "string",
5527
+ "pattern": "^(shift\\+)?[a-z0-9]$"
5528
+ },
5529
+ "colspan": {
5530
+ "type": "integer",
5531
+ "minimum": 1,
5532
+ "maximum": 12
5533
+ },
5534
+ "invisible": {
5535
+ "$ref": "#/$defs/Modifier"
5536
+ },
5537
+ "roles": {
5538
+ "$ref": "#/$defs/Roles"
5539
+ },
5540
+ "hideOn": {
5541
+ "minItems": 1,
5542
+ "type": "array",
5543
+ "items": {
5544
+ "$ref": "#/$defs/ScreenWidth"
5545
+ }
5546
+ },
5547
+ "iconOnly": {
5548
+ "type": "boolean"
5549
+ },
5550
+ "pressed": {
5551
+ "$ref": "#/$defs/Modifier"
5552
+ },
5553
+ "pressedLabel": {
5554
+ "type": "string"
5555
+ },
5556
+ "menu": {
5557
+ "minItems": 1,
5558
+ "type": "array",
5559
+ "items": {
5560
+ "$ref": "#/$defs/MenuItem"
5561
+ }
5562
+ },
5563
+ "menuIcon": {
5564
+ "type": "string",
5565
+ "minLength": 1
5566
+ },
5567
+ "menuLabel": {
5568
+ "type": "string"
5569
+ },
5570
+ "primaryWhenChanged": {
5571
+ "type": "boolean"
5572
+ }
5573
+ },
5574
+ "required": [
5575
+ "type",
5576
+ "id",
5577
+ "label"
5578
+ ],
5579
+ "additionalProperties": false
5580
+ }
5581
+ },
5582
+ "band": {
5583
+ "$ref": "#/$defs/HeadBand"
5584
+ },
5585
+ "updated": {
5586
+ "type": "object",
5587
+ "properties": {
5588
+ "byField": {
5589
+ "type": "string",
5590
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
5591
+ },
5592
+ "atField": {
5593
+ "type": "string",
5594
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
5595
+ },
5596
+ "opens": {
5597
+ "type": "string",
5598
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
5599
+ }
5600
+ },
5601
+ "required": [
5602
+ "byField",
5603
+ "atField"
5604
+ ],
5605
+ "additionalProperties": false
5606
+ },
5607
+ "copyTitle": {
5608
+ "type": "boolean"
5370
5609
  }
5371
5610
  },
5372
- "required": [
5373
- "when",
5374
- "text"
5375
- ],
5376
5611
  "additionalProperties": false
5377
5612
  },
5378
- "Modifier": {
5379
- "anyOf": [
5380
- {
5381
- "type": "boolean"
5613
+ "SheetKind": {
5614
+ "type": "object",
5615
+ "properties": {
5616
+ "field": {
5617
+ "type": "string",
5618
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
5382
5619
  },
5383
- {
5620
+ "label": {
5621
+ "type": "string"
5622
+ },
5623
+ "numberField": {
5624
+ "type": "string",
5625
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
5626
+ },
5627
+ "colour": {
5628
+ "type": "string",
5629
+ "pattern": "^#[0-9a-fA-F]{6}$"
5630
+ },
5631
+ "icon": {
5384
5632
  "type": "string",
5385
5633
  "minLength": 1
5634
+ },
5635
+ "looks": {
5636
+ "type": "object",
5637
+ "propertyNames": {
5638
+ "type": "string"
5639
+ },
5640
+ "additionalProperties": {
5641
+ "type": "object",
5642
+ "properties": {
5643
+ "colour": {
5644
+ "type": "string",
5645
+ "pattern": "^#[0-9a-fA-F]{6}$"
5646
+ },
5647
+ "icon": {
5648
+ "type": "string",
5649
+ "minLength": 1
5650
+ }
5651
+ },
5652
+ "required": [
5653
+ "colour"
5654
+ ],
5655
+ "additionalProperties": false
5656
+ }
5386
5657
  }
5387
- ]
5658
+ },
5659
+ "additionalProperties": false
5388
5660
  },
5389
5661
  "__schema1": {
5390
5662
  "type": "object",
@@ -5570,20 +5842,46 @@
5570
5842
  "items": {
5571
5843
  "$ref": "#/$defs/ScreenWidth"
5572
5844
  }
5573
- }
5574
- },
5575
- "required": [
5576
- "type",
5577
- "id",
5578
- "label"
5579
- ],
5580
- "additionalProperties": false
5581
- }
5582
- },
5583
- "selectedButtons": {
5584
- "minItems": 1,
5585
- "type": "array",
5586
- "items": {
5845
+ },
5846
+ "iconOnly": {
5847
+ "type": "boolean"
5848
+ },
5849
+ "pressed": {
5850
+ "$ref": "#/$defs/Modifier"
5851
+ },
5852
+ "pressedLabel": {
5853
+ "type": "string"
5854
+ },
5855
+ "menu": {
5856
+ "minItems": 1,
5857
+ "type": "array",
5858
+ "items": {
5859
+ "$ref": "#/$defs/MenuItem"
5860
+ }
5861
+ },
5862
+ "menuIcon": {
5863
+ "type": "string",
5864
+ "minLength": 1
5865
+ },
5866
+ "menuLabel": {
5867
+ "type": "string"
5868
+ },
5869
+ "primaryWhenChanged": {
5870
+ "type": "boolean"
5871
+ }
5872
+ },
5873
+ "required": [
5874
+ "type",
5875
+ "id",
5876
+ "label"
5877
+ ],
5878
+ "additionalProperties": false
5879
+ }
5880
+ },
5881
+ "selectedButtons": {
5882
+ "minItems": 1,
5883
+ "type": "array",
5884
+ "items": {
5587
5885
  "type": "object",
5588
5886
  "properties": {
5589
5887
  "type": {
@@ -5653,6 +5951,32 @@
5653
5951
  "items": {
5654
5952
  "$ref": "#/$defs/ScreenWidth"
5655
5953
  }
5954
+ },
5955
+ "iconOnly": {
5956
+ "type": "boolean"
5957
+ },
5958
+ "pressed": {
5959
+ "$ref": "#/$defs/Modifier"
5960
+ },
5961
+ "pressedLabel": {
5962
+ "type": "string"
5963
+ },
5964
+ "menu": {
5965
+ "minItems": 1,
5966
+ "type": "array",
5967
+ "items": {
5968
+ "$ref": "#/$defs/MenuItem"
5969
+ }
5970
+ },
5971
+ "menuIcon": {
5972
+ "type": "string",
5973
+ "minLength": 1
5974
+ },
5975
+ "menuLabel": {
5976
+ "type": "string"
5977
+ },
5978
+ "primaryWhenChanged": {
5979
+ "type": "boolean"
5656
5980
  }
5657
5981
  },
5658
5982
  "required": [
@@ -5736,6 +6060,32 @@
5736
6060
  "items": {
5737
6061
  "$ref": "#/$defs/ScreenWidth"
5738
6062
  }
6063
+ },
6064
+ "iconOnly": {
6065
+ "type": "boolean"
6066
+ },
6067
+ "pressed": {
6068
+ "$ref": "#/$defs/Modifier"
6069
+ },
6070
+ "pressedLabel": {
6071
+ "type": "string"
6072
+ },
6073
+ "menu": {
6074
+ "minItems": 1,
6075
+ "type": "array",
6076
+ "items": {
6077
+ "$ref": "#/$defs/MenuItem"
6078
+ }
6079
+ },
6080
+ "menuIcon": {
6081
+ "type": "string",
6082
+ "minLength": 1
6083
+ },
6084
+ "menuLabel": {
6085
+ "type": "string"
6086
+ },
6087
+ "primaryWhenChanged": {
6088
+ "type": "boolean"
5739
6089
  }
5740
6090
  },
5741
6091
  "required": [
@@ -5833,6 +6183,10 @@
5833
6183
  "readonlyReason": {
5834
6184
  "type": "string",
5835
6185
  "minLength": 1
6186
+ },
6187
+ "hotkey": {
6188
+ "type": "string",
6189
+ "pattern": "^[a-z0-9]$"
5836
6190
  }
5837
6191
  },
5838
6192
  "required": [
@@ -5842,6 +6196,33 @@
5842
6196
  ],
5843
6197
  "additionalProperties": false
5844
6198
  },
6199
+ "PlaceholderWhen": {
6200
+ "type": "object",
6201
+ "properties": {
6202
+ "when": {
6203
+ "$ref": "#/$defs/Modifier"
6204
+ },
6205
+ "text": {
6206
+ "type": "string"
6207
+ }
6208
+ },
6209
+ "required": [
6210
+ "when",
6211
+ "text"
6212
+ ],
6213
+ "additionalProperties": false
6214
+ },
6215
+ "Modifier": {
6216
+ "anyOf": [
6217
+ {
6218
+ "type": "boolean"
6219
+ },
6220
+ {
6221
+ "type": "string",
6222
+ "minLength": 1
6223
+ }
6224
+ ]
6225
+ },
5845
6226
  "LineOrder": {
5846
6227
  "type": "object",
5847
6228
  "properties": {
@@ -6581,6 +6962,70 @@
6581
6962
  "wide"
6582
6963
  ]
6583
6964
  },
6965
+ "MenuItem": {
6966
+ "type": "object",
6967
+ "properties": {
6968
+ "id": {
6969
+ "type": "string",
6970
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
6971
+ },
6972
+ "label": {
6973
+ "type": "string"
6974
+ },
6975
+ "builtin": {
6976
+ "type": "string",
6977
+ "enum": [
6978
+ "archive",
6979
+ "unarchive",
6980
+ "duplicate",
6981
+ "delete"
6982
+ ]
6983
+ },
6984
+ "group": {
6985
+ "type": "string",
6986
+ "enum": [
6987
+ "actions",
6988
+ "print"
6989
+ ]
6990
+ },
6991
+ "steps": {
6992
+ "minItems": 1,
6993
+ "type": "array",
6994
+ "items": {
6995
+ "$ref": "#/$defs/ActionStep"
6996
+ }
6997
+ },
6998
+ "action": {
6999
+ "type": "string",
7000
+ "minLength": 1
7001
+ },
7002
+ "params": {
7003
+ "type": "object",
7004
+ "propertyNames": {
7005
+ "type": "string"
7006
+ },
7007
+ "additionalProperties": {
7008
+ "$ref": "#/$defs/JsonValue"
7009
+ }
7010
+ },
7011
+ "confirm": {
7012
+ "type": "string"
7013
+ },
7014
+ "icon": {
7015
+ "type": "string"
7016
+ },
7017
+ "invisible": {
7018
+ "$ref": "#/$defs/Modifier"
7019
+ },
7020
+ "roles": {
7021
+ "$ref": "#/$defs/Roles"
7022
+ }
7023
+ },
7024
+ "required": [
7025
+ "id"
7026
+ ],
7027
+ "additionalProperties": false
7028
+ },
6584
7029
  "LineForm": {
6585
7030
  "type": "object",
6586
7031
  "properties": {
@@ -6672,6 +7117,32 @@
6672
7117
  "items": {
6673
7118
  "$ref": "#/$defs/ScreenWidth"
6674
7119
  }
7120
+ },
7121
+ "iconOnly": {
7122
+ "type": "boolean"
7123
+ },
7124
+ "pressed": {
7125
+ "$ref": "#/$defs/Modifier"
7126
+ },
7127
+ "pressedLabel": {
7128
+ "type": "string"
7129
+ },
7130
+ "menu": {
7131
+ "minItems": 1,
7132
+ "type": "array",
7133
+ "items": {
7134
+ "$ref": "#/$defs/MenuItem"
7135
+ }
7136
+ },
7137
+ "menuIcon": {
7138
+ "type": "string",
7139
+ "minLength": 1
7140
+ },
7141
+ "menuLabel": {
7142
+ "type": "string"
7143
+ },
7144
+ "primaryWhenChanged": {
7145
+ "type": "boolean"
6675
7146
  }
6676
7147
  },
6677
7148
  "required": [
@@ -6701,7 +7172,8 @@
6701
7172
  "heading",
6702
7173
  "paragraph",
6703
7174
  "note",
6704
- "alert"
7175
+ "alert",
7176
+ "help"
6705
7177
  ]
6706
7178
  },
6707
7179
  "tone": {
@@ -6714,6 +7186,10 @@
6714
7186
  "muted"
6715
7187
  ]
6716
7188
  },
7189
+ "icon": {
7190
+ "type": "string",
7191
+ "minLength": 1
7192
+ },
6717
7193
  "colspan": {
6718
7194
  "type": "integer",
6719
7195
  "minimum": 1,
@@ -7112,6 +7588,30 @@
7112
7588
  "readonlyReason": {
7113
7589
  "type": "string",
7114
7590
  "minLength": 1
7591
+ },
7592
+ "tracks": {
7593
+ "minItems": 1,
7594
+ "maxItems": 12,
7595
+ "type": "array",
7596
+ "items": {
7597
+ "type": "string",
7598
+ "pattern": "^\\d+(\\.\\d+)?(px|%|fr)$"
7599
+ }
7600
+ },
7601
+ "gap": {
7602
+ "type": "integer",
7603
+ "minimum": 0,
7604
+ "maximum": 48
7605
+ },
7606
+ "foldAt": {
7607
+ "type": "string",
7608
+ "enum": [
7609
+ "start",
7610
+ "end"
7611
+ ]
7612
+ },
7613
+ "maximise": {
7614
+ "type": "boolean"
7115
7615
  }
7116
7616
  },
7117
7617
  "required": [
@@ -7156,6 +7656,10 @@
7156
7656
  "items": {
7157
7657
  "$ref": "#/$defs/TabNode"
7158
7658
  }
7659
+ },
7660
+ "place": {
7661
+ "type": "string",
7662
+ "const": "head"
7159
7663
  }
7160
7664
  },
7161
7665
  "required": [
@@ -7193,6 +7697,13 @@
7193
7697
  "items": {
7194
7698
  "$ref": "#/$defs/LayoutNode"
7195
7699
  }
7700
+ },
7701
+ "iconOnly": {
7702
+ "type": "boolean"
7703
+ },
7704
+ "count": {
7705
+ "type": "string",
7706
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
7196
7707
  }
7197
7708
  },
7198
7709
  "required": [
@@ -7717,31 +8228,31 @@
7717
8228
  },
7718
8229
  "additionalProperties": false
7719
8230
  },
7720
- "MenuItem": {
8231
+ "HeadLink": {
7721
8232
  "type": "object",
7722
8233
  "properties": {
8234
+ "type": {
8235
+ "type": "string",
8236
+ "const": "link"
8237
+ },
7723
8238
  "id": {
7724
8239
  "type": "string",
7725
8240
  "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
7726
8241
  },
7727
- "label": {
7728
- "type": "string"
8242
+ "icon": {
8243
+ "type": "string",
8244
+ "minLength": 1
7729
8245
  },
7730
- "builtin": {
8246
+ "field": {
7731
8247
  "type": "string",
7732
- "enum": [
7733
- "archive",
7734
- "unarchive",
7735
- "duplicate",
7736
- "delete"
7737
- ]
8248
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
7738
8249
  },
7739
- "group": {
8250
+ "words": {
8251
+ "$ref": "#/$defs/PluralWords"
8252
+ },
8253
+ "target": {
7740
8254
  "type": "string",
7741
- "enum": [
7742
- "actions",
7743
- "print"
7744
- ]
8255
+ "pattern": "^[A-Za-z0-9][A-Za-z0-9._-]*$"
7745
8256
  },
7746
8257
  "steps": {
7747
8258
  "minItems": 1,
@@ -7750,25 +8261,6 @@
7750
8261
  "$ref": "#/$defs/ActionStep"
7751
8262
  }
7752
8263
  },
7753
- "action": {
7754
- "type": "string",
7755
- "minLength": 1
7756
- },
7757
- "params": {
7758
- "type": "object",
7759
- "propertyNames": {
7760
- "type": "string"
7761
- },
7762
- "additionalProperties": {
7763
- "$ref": "#/$defs/JsonValue"
7764
- }
7765
- },
7766
- "confirm": {
7767
- "type": "string"
7768
- },
7769
- "icon": {
7770
- "type": "string"
7771
- },
7772
8264
  "invisible": {
7773
8265
  "$ref": "#/$defs/Modifier"
7774
8266
  },
@@ -7777,7 +8269,39 @@
7777
8269
  }
7778
8270
  },
7779
8271
  "required": [
7780
- "id"
8272
+ "type",
8273
+ "id",
8274
+ "field",
8275
+ "words"
8276
+ ],
8277
+ "additionalProperties": false
8278
+ },
8279
+ "HeadBand": {
8280
+ "type": "object",
8281
+ "properties": {
8282
+ "tracks": {
8283
+ "minItems": 1,
8284
+ "maxItems": 4,
8285
+ "type": "array",
8286
+ "items": {
8287
+ "type": "string",
8288
+ "pattern": "^\\d+(\\.\\d+)?(px|%|fr)$"
8289
+ }
8290
+ },
8291
+ "labelWidth": {
8292
+ "type": "integer",
8293
+ "minimum": 48,
8294
+ "maximum": 320
8295
+ },
8296
+ "children": {
8297
+ "type": "array",
8298
+ "items": {
8299
+ "$ref": "#/$defs/LayoutNode"
8300
+ }
8301
+ }
8302
+ },
8303
+ "required": [
8304
+ "children"
7781
8305
  ],
7782
8306
  "additionalProperties": false
7783
8307
  },
@@ -7871,6 +8395,32 @@
7871
8395
  "items": {
7872
8396
  "$ref": "#/$defs/ScreenWidth"
7873
8397
  }
8398
+ },
8399
+ "iconOnly": {
8400
+ "type": "boolean"
8401
+ },
8402
+ "pressed": {
8403
+ "$ref": "#/$defs/Modifier"
8404
+ },
8405
+ "pressedLabel": {
8406
+ "type": "string"
8407
+ },
8408
+ "menu": {
8409
+ "minItems": 1,
8410
+ "type": "array",
8411
+ "items": {
8412
+ "$ref": "#/$defs/MenuItem"
8413
+ }
8414
+ },
8415
+ "menuIcon": {
8416
+ "type": "string",
8417
+ "minLength": 1
8418
+ },
8419
+ "menuLabel": {
8420
+ "type": "string"
8421
+ },
8422
+ "primaryWhenChanged": {
8423
+ "type": "boolean"
7874
8424
  }
7875
8425
  },
7876
8426
  "required": [
@@ -8139,6 +8689,32 @@
8139
8689
  "items": {
8140
8690
  "$ref": "#/$defs/ScreenWidth"
8141
8691
  }
8692
+ },
8693
+ "iconOnly": {
8694
+ "type": "boolean"
8695
+ },
8696
+ "pressed": {
8697
+ "$ref": "#/$defs/Modifier"
8698
+ },
8699
+ "pressedLabel": {
8700
+ "type": "string"
8701
+ },
8702
+ "menu": {
8703
+ "minItems": 1,
8704
+ "type": "array",
8705
+ "items": {
8706
+ "$ref": "#/$defs/MenuItem"
8707
+ }
8708
+ },
8709
+ "menuIcon": {
8710
+ "type": "string",
8711
+ "minLength": 1
8712
+ },
8713
+ "menuLabel": {
8714
+ "type": "string"
8715
+ },
8716
+ "primaryWhenChanged": {
8717
+ "type": "boolean"
8142
8718
  }
8143
8719
  },
8144
8720
  "required": [
@@ -8151,6 +8727,52 @@
8151
8727
  },
8152
8728
  "map": {
8153
8729
  "$ref": "#/$defs/ListMap"
8730
+ },
8731
+ "cells": {
8732
+ "type": "object",
8733
+ "propertyNames": {
8734
+ "type": "string",
8735
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8736
+ },
8737
+ "additionalProperties": {
8738
+ "$ref": "#/$defs/ListCell"
8739
+ }
8740
+ },
8741
+ "choose": {
8742
+ "type": "boolean"
8743
+ },
8744
+ "sortable": {
8745
+ "type": "boolean"
8746
+ },
8747
+ "search": {
8748
+ "type": "string",
8749
+ "enum": [
8750
+ "bar",
8751
+ "fields"
8752
+ ]
8753
+ },
8754
+ "filterFields": {
8755
+ "minItems": 1,
8756
+ "type": "array",
8757
+ "items": {
8758
+ "type": "string",
8759
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8760
+ }
8761
+ },
8762
+ "filterLabels": {
8763
+ "type": "object",
8764
+ "propertyNames": {
8765
+ "type": "string",
8766
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8767
+ },
8768
+ "additionalProperties": {
8769
+ "type": "string",
8770
+ "minLength": 1
8771
+ }
8772
+ },
8773
+ "parentField": {
8774
+ "type": "string",
8775
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8154
8776
  }
8155
8777
  },
8156
8778
  "required": [
@@ -8289,6 +8911,96 @@
8289
8911
  },
8290
8912
  "additionalProperties": false
8291
8913
  },
8914
+ "ListCell": {
8915
+ "type": "object",
8916
+ "properties": {
8917
+ "widget": {
8918
+ "type": "string",
8919
+ "minLength": 1
8920
+ },
8921
+ "options": {
8922
+ "type": "object",
8923
+ "properties": {
8924
+ "clear": {
8925
+ "type": "boolean"
8926
+ }
8927
+ },
8928
+ "additionalProperties": {
8929
+ "$ref": "#/$defs/JsonValue"
8930
+ }
8931
+ },
8932
+ "lead": {
8933
+ "type": "object",
8934
+ "properties": {
8935
+ "field": {
8936
+ "type": "string",
8937
+ "pattern": "^[A-Za-z_][A-Za-z0-9_]*$"
8938
+ },
8939
+ "looks": {
8940
+ "type": "object",
8941
+ "propertyNames": {
8942
+ "type": "string"
8943
+ },
8944
+ "additionalProperties": {
8945
+ "type": "object",
8946
+ "properties": {
8947
+ "icon": {
8948
+ "type": "string",
8949
+ "minLength": 1
8950
+ },
8951
+ "colour": {
8952
+ "type": "string",
8953
+ "pattern": "^#[0-9a-fA-F]{6}$"
8954
+ }
8955
+ },
8956
+ "required": [
8957
+ "icon"
8958
+ ],
8959
+ "additionalProperties": false
8960
+ }
8961
+ }
8962
+ },
8963
+ "required": [
8964
+ "field",
8965
+ "looks"
8966
+ ],
8967
+ "additionalProperties": false
8968
+ },
8969
+ "width": {
8970
+ "anyOf": [
8971
+ {
8972
+ "type": "integer",
8973
+ "minimum": 1,
8974
+ "maximum": 200
8975
+ },
8976
+ {
8977
+ "type": "string",
8978
+ "pattern": "^([89]|[1-9]\\d{1,2}|[1-3]\\d{3}|4000)px$"
8979
+ }
8980
+ ]
8981
+ },
8982
+ "align": {
8983
+ "type": "string",
8984
+ "enum": [
8985
+ "start",
8986
+ "end"
8987
+ ]
8988
+ },
8989
+ "rule": {
8990
+ "anyOf": [
8991
+ {
8992
+ "type": "boolean",
8993
+ "const": false
8994
+ },
8995
+ {
8996
+ "type": "string",
8997
+ "pattern": "^(\\d|[1-9]\\d|[1-3]\\d{2}|400)px$"
8998
+ }
8999
+ ]
9000
+ }
9001
+ },
9002
+ "additionalProperties": false
9003
+ },
8292
9004
  "PageEvents": {
8293
9005
  "type": "object",
8294
9006
  "properties": {