@fuaran-ui/conformance 0.18.0 → 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 (164) hide show
  1. package/corpus/cards/card-bundle.json +1 -0
  2. package/corpus/cards/card-full.json +1 -0
  3. package/corpus/cards/card-minimal.json +1 -0
  4. package/corpus/cards/card-reject-bad-version.json +1 -0
  5. package/corpus/cards/card-reject-bundle-bad-version.json +1 -0
  6. package/corpus/cards/card-reject-bundle-duplicate.json +1 -0
  7. package/corpus/cards/card-reject-empty-enum.json +1 -0
  8. package/corpus/cards/card-reject-hash-not-object.json +1 -0
  9. package/corpus/cards/card-reject-missing-hash.json +1 -0
  10. package/corpus/cards/card-reject-missing-module.json +1 -0
  11. package/corpus/cards/card-reject-payload-no-language.json +1 -0
  12. package/corpus/cards/card-reject-required-not-bool.json +1 -0
  13. package/corpus/cards/card-reject-stray-key.json +1 -0
  14. package/corpus/cards/card-reject-unknown-prop-type.json +1 -0
  15. package/corpus/lenient/lenient-1126-clipboard-literal-envelope.expected.json +1 -0
  16. package/corpus/lenient/lenient-1126-clipboard-literal-envelope.json +1 -0
  17. package/corpus/lenient/lenient-1521-int-slot-integral-float.expected.json +1 -0
  18. package/corpus/lenient/lenient-1521-int-slot-integral-float.json +1 -0
  19. package/corpus/lenient/lenient-1521-payload-integer-beyond-int53.expected.json +1 -0
  20. package/corpus/lenient/lenient-1521-payload-integer-beyond-int53.json +1 -0
  21. package/corpus/lenient/lenient-navigate-target-self.expected.json +1 -0
  22. package/corpus/lenient/lenient-navigate-target-self.json +1 -0
  23. package/corpus/manifest.json +1285 -4
  24. package/corpus/nodes/action-confirm-cancel.json +1 -0
  25. package/corpus/nodes/action-confirm.json +1 -0
  26. package/corpus/nodes/action-focus.json +1 -0
  27. package/corpus/nodes/action-navigate-bound.json +1 -0
  28. package/corpus/nodes/action-navigate-target.json +1 -0
  29. package/corpus/nodes/box-break-before-1.json +1 -0
  30. package/corpus/nodes/box-keep-together-1.json +1 -0
  31. package/corpus/nodes/btn-copy-bound.json +1 -0
  32. package/corpus/nodes/button-print.json +1 -0
  33. package/corpus/nodes/chart-annotation-bands.json +1 -0
  34. package/corpus/nodes/chart-annotation-events.json +1 -0
  35. package/corpus/nodes/chart-annotations.json +1 -0
  36. package/corpus/nodes/custom-nonascii-keys.json +1 -0
  37. package/corpus/nodes/embed-1.json +1 -0
  38. package/corpus/nodes/embed-aspect-1.json +1 -0
  39. package/corpus/nodes/embed-permissions-1.json +1 -0
  40. package/corpus/nodes/expr-params-state-selection.json +1 -0
  41. package/corpus/nodes/expr-scalar.json +1 -0
  42. package/corpus/nodes/filters-rating-colour.json +1 -0
  43. package/corpus/nodes/filters-tokens.json +1 -0
  44. package/corpus/nodes/form-color.json +1 -0
  45. package/corpus/nodes/form-combobox-freetext.json +1 -0
  46. package/corpus/nodes/form-combobox-query.json +1 -0
  47. package/corpus/nodes/form-combobox-static.json +1 -0
  48. package/corpus/nodes/form-local-declared.json +1 -0
  49. package/corpus/nodes/form-rating-halves.json +1 -0
  50. package/corpus/nodes/form-rating.json +1 -0
  51. package/corpus/nodes/form-tokens-freetext.json +1 -0
  52. package/corpus/nodes/form-tokens-query.json +1 -0
  53. package/corpus/nodes/form-tokens-suggested.json +1 -0
  54. package/corpus/nodes/format-since.json +1 -0
  55. package/corpus/nodes/grid-exportable-1.json +1 -0
  56. package/corpus/nodes/grid-keep-rows-together-1.json +1 -0
  57. package/corpus/nodes/grid-repeat-header-1.json +1 -0
  58. package/corpus/nodes/limit-tree-item-depth-at-max.json +1 -0
  59. package/corpus/nodes/media-audio-transcript-1.json +1 -0
  60. package/corpus/nodes/media-video-captions-1.json +1 -0
  61. package/corpus/nodes/media-video-tracks-2.json +1 -0
  62. package/corpus/nodes/metric-float-1e17.json +1 -0
  63. package/corpus/nodes/multiselect-chip-list-param.json +1 -0
  64. package/corpus/nodes/node-visible.json +1 -0
  65. package/corpus/nodes/now-grain.json +1 -0
  66. package/corpus/nodes/popover-anchored-1.json +1 -0
  67. package/corpus/nodes/popover-open-1.json +1 -0
  68. package/corpus/nodes/shared-source-seeded-pair.json +1 -1
  69. package/corpus/nodes/style-direction-isolated-1.json +1 -0
  70. package/corpus/nodes/style-direction-ltr-1.json +1 -0
  71. package/corpus/nodes/switch-carousel-1.json +1 -0
  72. package/corpus/nodes/switch-on-transform-scalar.json +1 -0
  73. package/corpus/nodes/switch-predicate-only.json +1 -0
  74. package/corpus/nodes/switch-predicate.json +1 -0
  75. package/corpus/nodes/tooltip-button-1.json +1 -0
  76. package/corpus/nodes/tooltip-icon-button-1.json +1 -0
  77. package/corpus/nodes/tooltip-metric-1.json +1 -0
  78. package/corpus/nodes/transfer-board.json +1 -0
  79. package/corpus/nodes/tree-1.json +1 -0
  80. package/corpus/nodes/tree-expanded-1.json +1 -0
  81. package/corpus/nodes/tree-selection-1.json +1 -0
  82. package/corpus/nodes/upload-capture-camera-1.json +1 -0
  83. package/corpus/nodes/upload-capture-microphone-1.json +1 -0
  84. package/corpus/nodes/upload-destination-1.json +1 -0
  85. package/corpus/nodes/upload-drop-1.json +1 -0
  86. package/corpus/nodes/upload-paste-1.json +1 -0
  87. package/corpus/ops/op-updatestyle (phase 1472 direction=ltr, the only style member).json +1 -0
  88. package/corpus/reject/reject-action-print-with-payload.json +1 -0
  89. package/corpus/reject/reject-binding-floatseq-sentinel-case.json +1 -0
  90. package/corpus/reject/reject-chart-annotation-date-unparseable.json +1 -0
  91. package/corpus/reject/reject-chart-annotation-nonfinite.json +1 -0
  92. package/corpus/reject/reject-chart-annotation-range-unordered.json +1 -0
  93. package/corpus/reject/reject-color-value-not-hex.json +1 -0
  94. package/corpus/reject/reject-combobox-allowfreetext-nonbool.json +1 -0
  95. package/corpus/reject/reject-confirm-missing-onconfirm.json +1 -0
  96. package/corpus/reject/reject-confirm-nested.json +1 -0
  97. package/corpus/reject/reject-embed-missing-title.json +1 -0
  98. package/corpus/reject/reject-embed-permission-nonstring.json +1 -0
  99. package/corpus/reject/reject-embed-unknown-permission.json +1 -0
  100. package/corpus/reject/reject-expr-col-reference.json +1 -0
  101. package/corpus/reject/reject-expr-unbound-param.json +1 -0
  102. package/corpus/reject/reject-int-slot-fractional.json +1 -0
  103. package/corpus/reject/reject-int-slot-out-of-range.json +1 -0
  104. package/corpus/reject/reject-json-bare-nan.json +1 -0
  105. package/corpus/reject/reject-json-duplicate-key.json +1 -0
  106. package/corpus/reject/reject-json-lone-high-surrogate.json +1 -0
  107. package/corpus/reject/reject-json-lone-low-surrogate.json +1 -0
  108. package/corpus/reject/reject-json-number-empty-exponent.json +1 -0
  109. package/corpus/reject/reject-json-number-leading-plus.json +1 -0
  110. package/corpus/reject/reject-json-number-leading-zero.json +1 -0
  111. package/corpus/reject/reject-json-number-no-integer-part.json +1 -0
  112. package/corpus/reject/reject-json-number-trailing-point.json +1 -0
  113. package/corpus/reject/reject-json-raw-control-char.json +1 -0
  114. package/corpus/reject/reject-json-surrogate-pair-split.json +1 -0
  115. package/corpus/reject/reject-json-trailing-content.json +1 -0
  116. package/corpus/reject/reject-limit-tree-item-depth.json +1 -0
  117. package/corpus/reject/reject-local-codec-no-inverse.json +1 -0
  118. package/corpus/reject/reject-local-oncommit-and-committo.json +1 -0
  119. package/corpus/reject/reject-media-track-default-nonbool.json +1 -0
  120. package/corpus/reject/reject-media-track-missing-srclang.json +1 -0
  121. package/corpus/reject/reject-modal-modality-nonstring.json +1 -0
  122. package/corpus/reject/reject-modal-modality-unknown.json +1 -0
  123. package/corpus/reject/reject-navigate-target-invalid.json +1 -0
  124. package/corpus/reject/reject-now-grain-invalid.json +1 -0
  125. package/corpus/reject/reject-op-updatestyle-direction-nonstring.json +1 -0
  126. package/corpus/reject/reject-op-updatestyle-direction-unknown.json +1 -0
  127. package/corpus/reject/reject-rating-max-zero.json +1 -0
  128. package/corpus/reject/reject-spark-element-nonnumeric.json +1 -0
  129. package/corpus/reject/reject-style-direction-nonstring.json +1 -0
  130. package/corpus/reject/reject-style-direction-unknown.json +1 -0
  131. package/corpus/reject/reject-switch-autoadvance-fractional.json +1 -0
  132. package/corpus/reject/reject-switch-autoadvance-negative.json +1 -0
  133. package/corpus/reject/reject-switch-autoadvance-zero.json +1 -0
  134. package/corpus/reject/reject-switch-case-match-and-when.json +1 -0
  135. package/corpus/reject/reject-switch-case-neither.json +1 -0
  136. package/corpus/reject/reject-tokens-closed-without-suggestions.json +1 -0
  137. package/corpus/reject/reject-tokens-value-not-list.json +1 -0
  138. package/corpus/reject/reject-tooltip-nonstring.json +1 -0
  139. package/corpus/reject/reject-tree-item-missing-id.json +1 -0
  140. package/corpus/reject/reject-tree-item-missing-label.json +1 -0
  141. package/corpus/reject/reject-tree-nested-item-missing-id.json +1 -0
  142. package/corpus/reject/reject-unknown-capture-source.json +1 -0
  143. package/corpus/reject/reject-upload-acceptpaste-nonbool.json +1 -0
  144. package/corpus/reject/reject-upload-destination-empty.json +1 -0
  145. package/corpus/reject/reject-upload-droptarget-nonbool.json +1 -0
  146. package/corpus/reject/reject-wrongtype-box-break-before.json +1 -0
  147. package/corpus/reject/reject-wrongtype-box-keep-together.json +1 -0
  148. package/corpus/reject/reject-wrongtype-clipboard-payload.json +1 -0
  149. package/corpus/reject/reject-wrongtype-grid-exportable-number.json +1 -0
  150. package/corpus/reject/reject-wrongtype-grid-exportable.json +1 -0
  151. package/corpus/reject/reject-wrongtype-grid-keep-rows-together.json +1 -0
  152. package/corpus/reject/reject-wrongtype-grid-repeat-header.json +1 -0
  153. package/corpus/reject/reject-wrongtype-grid-transfer-in-key.json +1 -0
  154. package/corpus/reject/reject-wrongtype-grid-transfer-out-key.json +1 -0
  155. package/corpus/schema.json +1338 -52
  156. package/dist/cli.js +94 -0
  157. package/dist/cli.js.map +1 -1
  158. package/dist/index.cjs +94 -0
  159. package/dist/index.cjs.map +1 -1
  160. package/dist/index.d.cts +18 -3
  161. package/dist/index.d.ts +18 -3
  162. package/dist/index.js +94 -0
  163. package/dist/index.js.map +1 -1
  164. package/package.json +3 -3
@@ -70,6 +70,15 @@
70
70
  "Contain"
71
71
  ]
72
72
  },
73
+ "TrackKind": {
74
+ "type": "string",
75
+ "enum": [
76
+ "Subtitles",
77
+ "Captions",
78
+ "Descriptions",
79
+ "Chapters"
80
+ ]
81
+ },
73
82
  "ImageAspect": {
74
83
  "type": "string",
75
84
  "enum": [
@@ -80,6 +89,15 @@
80
89
  "SixteenNine"
81
90
  ]
82
91
  },
92
+ "EmbedPermission": {
93
+ "type": "string",
94
+ "enum": [
95
+ "AllowScripts",
96
+ "AllowSameOrigin",
97
+ "AllowForms",
98
+ "AllowFullscreen"
99
+ ]
100
+ },
83
101
  "ImageLoading": {
84
102
  "type": "string",
85
103
  "enum": [
@@ -95,6 +113,27 @@
95
113
  "Both"
96
114
  ]
97
115
  },
116
+ "ModalityKind": {
117
+ "type": "string",
118
+ "enum": [
119
+ "Modal",
120
+ "Popover"
121
+ ]
122
+ },
123
+ "NavigateTarget": {
124
+ "type": "string",
125
+ "enum": [
126
+ "Self",
127
+ "Blank"
128
+ ]
129
+ },
130
+ "CaptureSource": {
131
+ "type": "string",
132
+ "enum": [
133
+ "Camera",
134
+ "Microphone"
135
+ ]
136
+ },
98
137
  "DateVariant": {
99
138
  "type": "string",
100
139
  "enum": [
@@ -182,6 +221,14 @@
182
221
  "Structural"
183
222
  ]
184
223
  },
224
+ "TextDirection": {
225
+ "type": "string",
226
+ "enum": [
227
+ "auto",
228
+ "ltr",
229
+ "rtl"
230
+ ]
231
+ },
185
232
  "ChartKind": {
186
233
  "type": "string",
187
234
  "enum": [
@@ -253,6 +300,15 @@
253
300
  "Year"
254
301
  ]
255
302
  },
303
+ "TimeGrain": {
304
+ "type": "string",
305
+ "enum": [
306
+ "Second",
307
+ "Minute",
308
+ "Hour",
309
+ "Day"
310
+ ]
311
+ },
256
312
  "DurationUnit": {
257
313
  "type": "string",
258
314
  "enum": [
@@ -366,7 +422,8 @@
366
422
  }
367
423
  },
368
424
  "required": [
369
- "$type"
425
+ "$type",
426
+ "value"
370
427
  ]
371
428
  },
372
429
  {
@@ -467,6 +524,9 @@
467
524
  "properties": {
468
525
  "$type": {
469
526
  "const": "Now"
527
+ },
528
+ "grain": {
529
+ "$ref": "#/$defs/TimeGrain"
470
530
  }
471
531
  },
472
532
  "required": [
@@ -500,6 +560,12 @@
500
560
  "$type": {
501
561
  "const": "Local"
502
562
  },
563
+ "codec": {
564
+ "$ref": "#/$defs/Format"
565
+ },
566
+ "commitTo": {
567
+ "type": "string"
568
+ },
503
569
  "flushOn": {
504
570
  "$ref": "#/$defs/LocalFlushTrigger"
505
571
  },
@@ -521,7 +587,6 @@
521
587
  "flushOn",
522
588
  "format",
523
589
  "initialFrom",
524
- "onCommit",
525
590
  "parse"
526
591
  ]
527
592
  },
@@ -586,6 +651,39 @@
586
651
  "source"
587
652
  ]
588
653
  },
654
+ {
655
+ "type": "object",
656
+ "properties": {
657
+ "$type": {
658
+ "const": "Expr"
659
+ },
660
+ "expr": {
661
+ "type": "object"
662
+ },
663
+ "params": {
664
+ "type": "array",
665
+ "items": {
666
+ "type": "object",
667
+ "properties": {
668
+ "from": {
669
+ "$ref": "#/$defs/Binding_json"
670
+ },
671
+ "name": {
672
+ "type": "string"
673
+ }
674
+ },
675
+ "required": [
676
+ "from",
677
+ "name"
678
+ ]
679
+ }
680
+ }
681
+ },
682
+ "required": [
683
+ "$type",
684
+ "expr"
685
+ ]
686
+ },
589
687
  {
590
688
  "type": "object",
591
689
  "properties": {
@@ -634,7 +732,8 @@
634
732
  }
635
733
  },
636
734
  "required": [
637
- "$type"
735
+ "$type",
736
+ "value"
638
737
  ]
639
738
  },
640
739
  {
@@ -768,6 +867,9 @@
768
867
  "properties": {
769
868
  "$type": {
770
869
  "const": "Now"
870
+ },
871
+ "grain": {
872
+ "$ref": "#/$defs/TimeGrain"
771
873
  }
772
874
  },
773
875
  "required": [
@@ -801,6 +903,12 @@
801
903
  "$type": {
802
904
  "const": "Local"
803
905
  },
906
+ "codec": {
907
+ "$ref": "#/$defs/Format"
908
+ },
909
+ "commitTo": {
910
+ "type": "string"
911
+ },
804
912
  "flushOn": {
805
913
  "$ref": "#/$defs/LocalFlushTrigger"
806
914
  },
@@ -822,7 +930,6 @@
822
930
  "flushOn",
823
931
  "format",
824
932
  "initialFrom",
825
- "onCommit",
826
933
  "parse"
827
934
  ]
828
935
  },
@@ -887,6 +994,39 @@
887
994
  "source"
888
995
  ]
889
996
  },
997
+ {
998
+ "type": "object",
999
+ "properties": {
1000
+ "$type": {
1001
+ "const": "Expr"
1002
+ },
1003
+ "expr": {
1004
+ "type": "object"
1005
+ },
1006
+ "params": {
1007
+ "type": "array",
1008
+ "items": {
1009
+ "type": "object",
1010
+ "properties": {
1011
+ "from": {
1012
+ "$ref": "#/$defs/Binding_json"
1013
+ },
1014
+ "name": {
1015
+ "type": "string"
1016
+ }
1017
+ },
1018
+ "required": [
1019
+ "from",
1020
+ "name"
1021
+ ]
1022
+ }
1023
+ }
1024
+ },
1025
+ "required": [
1026
+ "$type",
1027
+ "expr"
1028
+ ]
1029
+ },
890
1030
  {
891
1031
  "type": "object",
892
1032
  "properties": {
@@ -1017,6 +1157,9 @@
1017
1157
  "properties": {
1018
1158
  "$type": {
1019
1159
  "const": "Now"
1160
+ },
1161
+ "grain": {
1162
+ "$ref": "#/$defs/TimeGrain"
1020
1163
  }
1021
1164
  },
1022
1165
  "required": [
@@ -1050,6 +1193,12 @@
1050
1193
  "$type": {
1051
1194
  "const": "Local"
1052
1195
  },
1196
+ "codec": {
1197
+ "$ref": "#/$defs/Format"
1198
+ },
1199
+ "commitTo": {
1200
+ "type": "string"
1201
+ },
1053
1202
  "flushOn": {
1054
1203
  "$ref": "#/$defs/LocalFlushTrigger"
1055
1204
  },
@@ -1071,7 +1220,6 @@
1071
1220
  "flushOn",
1072
1221
  "format",
1073
1222
  "initialFrom",
1074
- "onCommit",
1075
1223
  "parse"
1076
1224
  ]
1077
1225
  },
@@ -1136,6 +1284,39 @@
1136
1284
  "source"
1137
1285
  ]
1138
1286
  },
1287
+ {
1288
+ "type": "object",
1289
+ "properties": {
1290
+ "$type": {
1291
+ "const": "Expr"
1292
+ },
1293
+ "expr": {
1294
+ "type": "object"
1295
+ },
1296
+ "params": {
1297
+ "type": "array",
1298
+ "items": {
1299
+ "type": "object",
1300
+ "properties": {
1301
+ "from": {
1302
+ "$ref": "#/$defs/Binding_json"
1303
+ },
1304
+ "name": {
1305
+ "type": "string"
1306
+ }
1307
+ },
1308
+ "required": [
1309
+ "from",
1310
+ "name"
1311
+ ]
1312
+ }
1313
+ }
1314
+ },
1315
+ "required": [
1316
+ "$type",
1317
+ "expr"
1318
+ ]
1319
+ },
1139
1320
  {
1140
1321
  "type": "object",
1141
1322
  "properties": {
@@ -1173,7 +1354,8 @@
1173
1354
  }
1174
1355
  },
1175
1356
  "required": [
1176
- "$type"
1357
+ "$type",
1358
+ "value"
1177
1359
  ]
1178
1360
  },
1179
1361
  {
@@ -1274,6 +1456,9 @@
1274
1456
  "properties": {
1275
1457
  "$type": {
1276
1458
  "const": "Now"
1459
+ },
1460
+ "grain": {
1461
+ "$ref": "#/$defs/TimeGrain"
1277
1462
  }
1278
1463
  },
1279
1464
  "required": [
@@ -1307,6 +1492,12 @@
1307
1492
  "$type": {
1308
1493
  "const": "Local"
1309
1494
  },
1495
+ "codec": {
1496
+ "$ref": "#/$defs/Format"
1497
+ },
1498
+ "commitTo": {
1499
+ "type": "string"
1500
+ },
1310
1501
  "flushOn": {
1311
1502
  "$ref": "#/$defs/LocalFlushTrigger"
1312
1503
  },
@@ -1328,7 +1519,6 @@
1328
1519
  "flushOn",
1329
1520
  "format",
1330
1521
  "initialFrom",
1331
- "onCommit",
1332
1522
  "parse"
1333
1523
  ]
1334
1524
  },
@@ -1393,6 +1583,39 @@
1393
1583
  "source"
1394
1584
  ]
1395
1585
  },
1586
+ {
1587
+ "type": "object",
1588
+ "properties": {
1589
+ "$type": {
1590
+ "const": "Expr"
1591
+ },
1592
+ "expr": {
1593
+ "type": "object"
1594
+ },
1595
+ "params": {
1596
+ "type": "array",
1597
+ "items": {
1598
+ "type": "object",
1599
+ "properties": {
1600
+ "from": {
1601
+ "$ref": "#/$defs/Binding_json"
1602
+ },
1603
+ "name": {
1604
+ "type": "string"
1605
+ }
1606
+ },
1607
+ "required": [
1608
+ "from",
1609
+ "name"
1610
+ ]
1611
+ }
1612
+ }
1613
+ },
1614
+ "required": [
1615
+ "$type",
1616
+ "expr"
1617
+ ]
1618
+ },
1396
1619
  {
1397
1620
  "type": "object",
1398
1621
  "properties": {
@@ -1523,6 +1746,9 @@
1523
1746
  "properties": {
1524
1747
  "$type": {
1525
1748
  "const": "Now"
1749
+ },
1750
+ "grain": {
1751
+ "$ref": "#/$defs/TimeGrain"
1526
1752
  }
1527
1753
  },
1528
1754
  "required": [
@@ -1556,6 +1782,12 @@
1556
1782
  "$type": {
1557
1783
  "const": "Local"
1558
1784
  },
1785
+ "codec": {
1786
+ "$ref": "#/$defs/Format"
1787
+ },
1788
+ "commitTo": {
1789
+ "type": "string"
1790
+ },
1559
1791
  "flushOn": {
1560
1792
  "$ref": "#/$defs/LocalFlushTrigger"
1561
1793
  },
@@ -1577,7 +1809,6 @@
1577
1809
  "flushOn",
1578
1810
  "format",
1579
1811
  "initialFrom",
1580
- "onCommit",
1581
1812
  "parse"
1582
1813
  ]
1583
1814
  },
@@ -1642,6 +1873,39 @@
1642
1873
  "source"
1643
1874
  ]
1644
1875
  },
1876
+ {
1877
+ "type": "object",
1878
+ "properties": {
1879
+ "$type": {
1880
+ "const": "Expr"
1881
+ },
1882
+ "expr": {
1883
+ "type": "object"
1884
+ },
1885
+ "params": {
1886
+ "type": "array",
1887
+ "items": {
1888
+ "type": "object",
1889
+ "properties": {
1890
+ "from": {
1891
+ "$ref": "#/$defs/Binding_json"
1892
+ },
1893
+ "name": {
1894
+ "type": "string"
1895
+ }
1896
+ },
1897
+ "required": [
1898
+ "from",
1899
+ "name"
1900
+ ]
1901
+ }
1902
+ }
1903
+ },
1904
+ "required": [
1905
+ "$type",
1906
+ "expr"
1907
+ ]
1908
+ },
1645
1909
  {
1646
1910
  "type": "object",
1647
1911
  "properties": {
@@ -1792,6 +2056,9 @@
1792
2056
  "properties": {
1793
2057
  "$type": {
1794
2058
  "const": "Now"
2059
+ },
2060
+ "grain": {
2061
+ "$ref": "#/$defs/TimeGrain"
1795
2062
  }
1796
2063
  },
1797
2064
  "required": [
@@ -1825,6 +2092,12 @@
1825
2092
  "$type": {
1826
2093
  "const": "Local"
1827
2094
  },
2095
+ "codec": {
2096
+ "$ref": "#/$defs/Format"
2097
+ },
2098
+ "commitTo": {
2099
+ "type": "string"
2100
+ },
1828
2101
  "flushOn": {
1829
2102
  "$ref": "#/$defs/LocalFlushTrigger"
1830
2103
  },
@@ -1846,7 +2119,6 @@
1846
2119
  "flushOn",
1847
2120
  "format",
1848
2121
  "initialFrom",
1849
- "onCommit",
1850
2122
  "parse"
1851
2123
  ]
1852
2124
  },
@@ -1911,6 +2183,39 @@
1911
2183
  "source"
1912
2184
  ]
1913
2185
  },
2186
+ {
2187
+ "type": "object",
2188
+ "properties": {
2189
+ "$type": {
2190
+ "const": "Expr"
2191
+ },
2192
+ "expr": {
2193
+ "type": "object"
2194
+ },
2195
+ "params": {
2196
+ "type": "array",
2197
+ "items": {
2198
+ "type": "object",
2199
+ "properties": {
2200
+ "from": {
2201
+ "$ref": "#/$defs/Binding_json"
2202
+ },
2203
+ "name": {
2204
+ "type": "string"
2205
+ }
2206
+ },
2207
+ "required": [
2208
+ "from",
2209
+ "name"
2210
+ ]
2211
+ }
2212
+ }
2213
+ },
2214
+ "required": [
2215
+ "$type",
2216
+ "expr"
2217
+ ]
2218
+ },
1914
2219
  {
1915
2220
  "type": "object",
1916
2221
  "properties": {
@@ -2061,6 +2366,9 @@
2061
2366
  "properties": {
2062
2367
  "$type": {
2063
2368
  "const": "Now"
2369
+ },
2370
+ "grain": {
2371
+ "$ref": "#/$defs/TimeGrain"
2064
2372
  }
2065
2373
  },
2066
2374
  "required": [
@@ -2094,6 +2402,12 @@
2094
2402
  "$type": {
2095
2403
  "const": "Local"
2096
2404
  },
2405
+ "codec": {
2406
+ "$ref": "#/$defs/Format"
2407
+ },
2408
+ "commitTo": {
2409
+ "type": "string"
2410
+ },
2097
2411
  "flushOn": {
2098
2412
  "$ref": "#/$defs/LocalFlushTrigger"
2099
2413
  },
@@ -2115,7 +2429,6 @@
2115
2429
  "flushOn",
2116
2430
  "format",
2117
2431
  "initialFrom",
2118
- "onCommit",
2119
2432
  "parse"
2120
2433
  ]
2121
2434
  },
@@ -2184,7 +2497,40 @@
2184
2497
  "type": "object",
2185
2498
  "properties": {
2186
2499
  "$type": {
2187
- "const": "Invoke"
2500
+ "const": "Expr"
2501
+ },
2502
+ "expr": {
2503
+ "type": "object"
2504
+ },
2505
+ "params": {
2506
+ "type": "array",
2507
+ "items": {
2508
+ "type": "object",
2509
+ "properties": {
2510
+ "from": {
2511
+ "$ref": "#/$defs/Binding_json"
2512
+ },
2513
+ "name": {
2514
+ "type": "string"
2515
+ }
2516
+ },
2517
+ "required": [
2518
+ "from",
2519
+ "name"
2520
+ ]
2521
+ }
2522
+ }
2523
+ },
2524
+ "required": [
2525
+ "$type",
2526
+ "expr"
2527
+ ]
2528
+ },
2529
+ {
2530
+ "type": "object",
2531
+ "properties": {
2532
+ "$type": {
2533
+ "const": "Invoke"
2188
2534
  },
2189
2535
  "args": {
2190
2536
  "type": "array",
@@ -2374,6 +2720,9 @@
2374
2720
  "properties": {
2375
2721
  "$type": {
2376
2722
  "const": "Now"
2723
+ },
2724
+ "grain": {
2725
+ "$ref": "#/$defs/TimeGrain"
2377
2726
  }
2378
2727
  },
2379
2728
  "required": [
@@ -2407,6 +2756,12 @@
2407
2756
  "$type": {
2408
2757
  "const": "Local"
2409
2758
  },
2759
+ "codec": {
2760
+ "$ref": "#/$defs/Format"
2761
+ },
2762
+ "commitTo": {
2763
+ "type": "string"
2764
+ },
2410
2765
  "flushOn": {
2411
2766
  "$ref": "#/$defs/LocalFlushTrigger"
2412
2767
  },
@@ -2428,7 +2783,6 @@
2428
2783
  "flushOn",
2429
2784
  "format",
2430
2785
  "initialFrom",
2431
- "onCommit",
2432
2786
  "parse"
2433
2787
  ]
2434
2788
  },
@@ -2493,6 +2847,39 @@
2493
2847
  "source"
2494
2848
  ]
2495
2849
  },
2850
+ {
2851
+ "type": "object",
2852
+ "properties": {
2853
+ "$type": {
2854
+ "const": "Expr"
2855
+ },
2856
+ "expr": {
2857
+ "type": "object"
2858
+ },
2859
+ "params": {
2860
+ "type": "array",
2861
+ "items": {
2862
+ "type": "object",
2863
+ "properties": {
2864
+ "from": {
2865
+ "$ref": "#/$defs/Binding_json"
2866
+ },
2867
+ "name": {
2868
+ "type": "string"
2869
+ }
2870
+ },
2871
+ "required": [
2872
+ "from",
2873
+ "name"
2874
+ ]
2875
+ }
2876
+ }
2877
+ },
2878
+ "required": [
2879
+ "$type",
2880
+ "expr"
2881
+ ]
2882
+ },
2496
2883
  {
2497
2884
  "type": "object",
2498
2885
  "properties": {
@@ -2533,7 +2920,315 @@
2533
2920
  }
2534
2921
  },
2535
2922
  "required": [
2536
- "$type"
2923
+ "$type"
2924
+ ]
2925
+ },
2926
+ {
2927
+ "type": "object",
2928
+ "properties": {
2929
+ "$type": {
2930
+ "const": "Query"
2931
+ },
2932
+ "dependsOn": {
2933
+ "type": "array",
2934
+ "items": {
2935
+ "type": "string"
2936
+ }
2937
+ },
2938
+ "name": {
2939
+ "type": "string"
2940
+ }
2941
+ },
2942
+ "required": [
2943
+ "$type",
2944
+ "name"
2945
+ ]
2946
+ },
2947
+ {
2948
+ "type": "object",
2949
+ "properties": {
2950
+ "$type": {
2951
+ "const": "Filter"
2952
+ },
2953
+ "defaultValue": {
2954
+ "type": "array",
2955
+ "items": {
2956
+ "type": "string"
2957
+ }
2958
+ },
2959
+ "name": {
2960
+ "type": "string"
2961
+ }
2962
+ },
2963
+ "required": [
2964
+ "$type",
2965
+ "name"
2966
+ ]
2967
+ },
2968
+ {
2969
+ "type": "object",
2970
+ "properties": {
2971
+ "$type": {
2972
+ "const": "Selection"
2973
+ },
2974
+ "defaultValue": {
2975
+ "type": "array",
2976
+ "items": {
2977
+ "type": "string"
2978
+ }
2979
+ },
2980
+ "field": {
2981
+ "type": "string"
2982
+ },
2983
+ "nodeId": {
2984
+ "type": "string"
2985
+ }
2986
+ },
2987
+ "required": [
2988
+ "$type",
2989
+ "nodeId"
2990
+ ]
2991
+ },
2992
+ {
2993
+ "type": "object",
2994
+ "properties": {
2995
+ "$type": {
2996
+ "const": "State"
2997
+ },
2998
+ "defaultValue": {
2999
+ "type": "array",
3000
+ "items": {
3001
+ "type": "string"
3002
+ }
3003
+ },
3004
+ "key": {
3005
+ "type": "string"
3006
+ }
3007
+ },
3008
+ "required": [
3009
+ "$type",
3010
+ "key"
3011
+ ]
3012
+ },
3013
+ {
3014
+ "type": "object",
3015
+ "properties": {
3016
+ "$type": {
3017
+ "const": "Computed"
3018
+ },
3019
+ "fn": {
3020
+ "const": "<closure>"
3021
+ }
3022
+ },
3023
+ "required": [
3024
+ "$type",
3025
+ "fn"
3026
+ ]
3027
+ },
3028
+ {
3029
+ "type": "object",
3030
+ "properties": {
3031
+ "$type": {
3032
+ "const": "Now"
3033
+ },
3034
+ "grain": {
3035
+ "$ref": "#/$defs/TimeGrain"
3036
+ }
3037
+ },
3038
+ "required": [
3039
+ "$type"
3040
+ ]
3041
+ },
3042
+ {
3043
+ "type": "object",
3044
+ "properties": {
3045
+ "$type": {
3046
+ "const": "I18n"
3047
+ },
3048
+ "args": {
3049
+ "type": "object",
3050
+ "additionalProperties": {
3051
+ "$ref": "#/$defs/Binding_json"
3052
+ }
3053
+ },
3054
+ "key": {
3055
+ "type": "string"
3056
+ }
3057
+ },
3058
+ "required": [
3059
+ "$type",
3060
+ "key"
3061
+ ]
3062
+ },
3063
+ {
3064
+ "type": "object",
3065
+ "properties": {
3066
+ "$type": {
3067
+ "const": "Local"
3068
+ },
3069
+ "codec": {
3070
+ "$ref": "#/$defs/Format"
3071
+ },
3072
+ "commitTo": {
3073
+ "type": "string"
3074
+ },
3075
+ "flushOn": {
3076
+ "$ref": "#/$defs/LocalFlushTrigger"
3077
+ },
3078
+ "format": {
3079
+ "const": "<closure>"
3080
+ },
3081
+ "initialFrom": {
3082
+ "$ref": "#/$defs/Binding_list_str"
3083
+ },
3084
+ "onCommit": {
3085
+ "const": "<closure>"
3086
+ },
3087
+ "parse": {
3088
+ "const": "<closure>"
3089
+ }
3090
+ },
3091
+ "required": [
3092
+ "$type",
3093
+ "flushOn",
3094
+ "format",
3095
+ "initialFrom",
3096
+ "parse"
3097
+ ]
3098
+ },
3099
+ {
3100
+ "type": "object",
3101
+ "properties": {
3102
+ "$type": {
3103
+ "const": "Format"
3104
+ },
3105
+ "format": {
3106
+ "$ref": "#/$defs/Format"
3107
+ },
3108
+ "locale": {
3109
+ "$ref": "#/$defs/LocaleSource"
3110
+ },
3111
+ "source": {
3112
+ "$ref": "#/$defs/Binding_float"
3113
+ }
3114
+ },
3115
+ "required": [
3116
+ "$type",
3117
+ "format",
3118
+ "locale",
3119
+ "source"
3120
+ ]
3121
+ },
3122
+ {
3123
+ "type": "object",
3124
+ "properties": {
3125
+ "$type": {
3126
+ "const": "Transform"
3127
+ },
3128
+ "params": {
3129
+ "type": "array",
3130
+ "items": {
3131
+ "type": "object",
3132
+ "properties": {
3133
+ "from": {
3134
+ "$ref": "#/$defs/Binding_json"
3135
+ },
3136
+ "name": {
3137
+ "type": "string"
3138
+ }
3139
+ },
3140
+ "required": [
3141
+ "from",
3142
+ "name"
3143
+ ]
3144
+ }
3145
+ },
3146
+ "pipeline": {
3147
+ "type": "array",
3148
+ "items": true
3149
+ },
3150
+ "source": {
3151
+ "type": "object"
3152
+ }
3153
+ },
3154
+ "required": [
3155
+ "$type",
3156
+ "pipeline",
3157
+ "source"
3158
+ ]
3159
+ },
3160
+ {
3161
+ "type": "object",
3162
+ "properties": {
3163
+ "$type": {
3164
+ "const": "Expr"
3165
+ },
3166
+ "expr": {
3167
+ "type": "object"
3168
+ },
3169
+ "params": {
3170
+ "type": "array",
3171
+ "items": {
3172
+ "type": "object",
3173
+ "properties": {
3174
+ "from": {
3175
+ "$ref": "#/$defs/Binding_json"
3176
+ },
3177
+ "name": {
3178
+ "type": "string"
3179
+ }
3180
+ },
3181
+ "required": [
3182
+ "from",
3183
+ "name"
3184
+ ]
3185
+ }
3186
+ }
3187
+ },
3188
+ "required": [
3189
+ "$type",
3190
+ "expr"
3191
+ ]
3192
+ },
3193
+ {
3194
+ "type": "object",
3195
+ "properties": {
3196
+ "$type": {
3197
+ "const": "Invoke"
3198
+ },
3199
+ "args": {
3200
+ "type": "array",
3201
+ "items": {
3202
+ "type": "object"
3203
+ }
3204
+ },
3205
+ "capabilityId": {
3206
+ "type": "string"
3207
+ }
3208
+ },
3209
+ "required": [
3210
+ "$type",
3211
+ "args",
3212
+ "capabilityId"
3213
+ ]
3214
+ }
3215
+ ]
3216
+ },
3217
+ "Binding_str": {
3218
+ "oneOf": [
3219
+ {
3220
+ "type": "object",
3221
+ "properties": {
3222
+ "$type": {
3223
+ "const": "Static"
3224
+ },
3225
+ "value": {
3226
+ "type": "string"
3227
+ }
3228
+ },
3229
+ "required": [
3230
+ "$type",
3231
+ "value"
2537
3232
  ]
2538
3233
  },
2539
3234
  {
@@ -2564,10 +3259,7 @@
2564
3259
  "const": "Filter"
2565
3260
  },
2566
3261
  "defaultValue": {
2567
- "type": "array",
2568
- "items": {
2569
- "type": "string"
2570
- }
3262
+ "type": "string"
2571
3263
  },
2572
3264
  "name": {
2573
3265
  "type": "string"
@@ -2585,10 +3277,7 @@
2585
3277
  "const": "Selection"
2586
3278
  },
2587
3279
  "defaultValue": {
2588
- "type": "array",
2589
- "items": {
2590
- "type": "string"
2591
- }
3280
+ "type": "string"
2592
3281
  },
2593
3282
  "field": {
2594
3283
  "type": "string"
@@ -2609,10 +3298,7 @@
2609
3298
  "const": "State"
2610
3299
  },
2611
3300
  "defaultValue": {
2612
- "type": "array",
2613
- "items": {
2614
- "type": "string"
2615
- }
3301
+ "type": "string"
2616
3302
  },
2617
3303
  "key": {
2618
3304
  "type": "string"
@@ -2643,6 +3329,9 @@
2643
3329
  "properties": {
2644
3330
  "$type": {
2645
3331
  "const": "Now"
3332
+ },
3333
+ "grain": {
3334
+ "$ref": "#/$defs/TimeGrain"
2646
3335
  }
2647
3336
  },
2648
3337
  "required": [
@@ -2676,6 +3365,12 @@
2676
3365
  "$type": {
2677
3366
  "const": "Local"
2678
3367
  },
3368
+ "codec": {
3369
+ "$ref": "#/$defs/Format"
3370
+ },
3371
+ "commitTo": {
3372
+ "type": "string"
3373
+ },
2679
3374
  "flushOn": {
2680
3375
  "$ref": "#/$defs/LocalFlushTrigger"
2681
3376
  },
@@ -2683,7 +3378,7 @@
2683
3378
  "const": "<closure>"
2684
3379
  },
2685
3380
  "initialFrom": {
2686
- "$ref": "#/$defs/Binding_list_str"
3381
+ "$ref": "#/$defs/Binding_str"
2687
3382
  },
2688
3383
  "onCommit": {
2689
3384
  "const": "<closure>"
@@ -2697,7 +3392,6 @@
2697
3392
  "flushOn",
2698
3393
  "format",
2699
3394
  "initialFrom",
2700
- "onCommit",
2701
3395
  "parse"
2702
3396
  ]
2703
3397
  },
@@ -2762,6 +3456,39 @@
2762
3456
  "source"
2763
3457
  ]
2764
3458
  },
3459
+ {
3460
+ "type": "object",
3461
+ "properties": {
3462
+ "$type": {
3463
+ "const": "Expr"
3464
+ },
3465
+ "expr": {
3466
+ "type": "object"
3467
+ },
3468
+ "params": {
3469
+ "type": "array",
3470
+ "items": {
3471
+ "type": "object",
3472
+ "properties": {
3473
+ "from": {
3474
+ "$ref": "#/$defs/Binding_json"
3475
+ },
3476
+ "name": {
3477
+ "type": "string"
3478
+ }
3479
+ },
3480
+ "required": [
3481
+ "from",
3482
+ "name"
3483
+ ]
3484
+ }
3485
+ }
3486
+ },
3487
+ "required": [
3488
+ "$type",
3489
+ "expr"
3490
+ ]
3491
+ },
2765
3492
  {
2766
3493
  "type": "object",
2767
3494
  "properties": {
@@ -2786,7 +3513,8 @@
2786
3513
  }
2787
3514
  ]
2788
3515
  },
2789
- "Binding_str": {
3516
+ "Binding_str_choice": {
3517
+ "description": "Binding<string> at a choice-valued control (Choice / SegmentedChoice / Combobox / Select). The Static payload is OPTIONAL and its absence is the value: no selection. Every other string-valued slot uses Binding_str, where the payload is required.",
2790
3518
  "oneOf": [
2791
3519
  {
2792
3520
  "type": "object",
@@ -2900,6 +3628,9 @@
2900
3628
  "properties": {
2901
3629
  "$type": {
2902
3630
  "const": "Now"
3631
+ },
3632
+ "grain": {
3633
+ "$ref": "#/$defs/TimeGrain"
2903
3634
  }
2904
3635
  },
2905
3636
  "required": [
@@ -2933,6 +3664,12 @@
2933
3664
  "$type": {
2934
3665
  "const": "Local"
2935
3666
  },
3667
+ "codec": {
3668
+ "$ref": "#/$defs/Format"
3669
+ },
3670
+ "commitTo": {
3671
+ "type": "string"
3672
+ },
2936
3673
  "flushOn": {
2937
3674
  "$ref": "#/$defs/LocalFlushTrigger"
2938
3675
  },
@@ -2940,7 +3677,7 @@
2940
3677
  "const": "<closure>"
2941
3678
  },
2942
3679
  "initialFrom": {
2943
- "$ref": "#/$defs/Binding_str"
3680
+ "$ref": "#/$defs/Binding_str_choice"
2944
3681
  },
2945
3682
  "onCommit": {
2946
3683
  "const": "<closure>"
@@ -2954,7 +3691,6 @@
2954
3691
  "flushOn",
2955
3692
  "format",
2956
3693
  "initialFrom",
2957
- "onCommit",
2958
3694
  "parse"
2959
3695
  ]
2960
3696
  },
@@ -3019,6 +3755,39 @@
3019
3755
  "source"
3020
3756
  ]
3021
3757
  },
3758
+ {
3759
+ "type": "object",
3760
+ "properties": {
3761
+ "$type": {
3762
+ "const": "Expr"
3763
+ },
3764
+ "expr": {
3765
+ "type": "object"
3766
+ },
3767
+ "params": {
3768
+ "type": "array",
3769
+ "items": {
3770
+ "type": "object",
3771
+ "properties": {
3772
+ "from": {
3773
+ "$ref": "#/$defs/Binding_json"
3774
+ },
3775
+ "name": {
3776
+ "type": "string"
3777
+ }
3778
+ },
3779
+ "required": [
3780
+ "from",
3781
+ "name"
3782
+ ]
3783
+ }
3784
+ }
3785
+ },
3786
+ "required": [
3787
+ "$type",
3788
+ "expr"
3789
+ ]
3790
+ },
3022
3791
  {
3023
3792
  "type": "object",
3024
3793
  "properties": {
@@ -3191,7 +3960,10 @@
3191
3960
  "const": "Navigate"
3192
3961
  },
3193
3962
  "route": {
3194
- "type": "string"
3963
+ "$ref": "#/$defs/TextSource"
3964
+ },
3965
+ "target": {
3966
+ "$ref": "#/$defs/NavigateTarget"
3195
3967
  }
3196
3968
  },
3197
3969
  "required": [
@@ -3301,7 +4073,7 @@
3301
4073
  "const": "WriteToClipboard"
3302
4074
  },
3303
4075
  "text": {
3304
- "type": "string"
4076
+ "$ref": "#/$defs/TextSource"
3305
4077
  }
3306
4078
  },
3307
4079
  "required": [
@@ -3353,6 +4125,55 @@
3353
4125
  "args",
3354
4126
  "capabilityId"
3355
4127
  ]
4128
+ },
4129
+ {
4130
+ "type": "object",
4131
+ "properties": {
4132
+ "$type": {
4133
+ "const": "Print"
4134
+ }
4135
+ },
4136
+ "required": [
4137
+ "$type"
4138
+ ],
4139
+ "additionalProperties": false
4140
+ },
4141
+ {
4142
+ "type": "object",
4143
+ "properties": {
4144
+ "$type": {
4145
+ "const": "Confirm"
4146
+ },
4147
+ "onCancel": {
4148
+ "$ref": "#/$defs/Action"
4149
+ },
4150
+ "onConfirm": {
4151
+ "$ref": "#/$defs/Action"
4152
+ },
4153
+ "prompt": {
4154
+ "$ref": "#/$defs/TextSource"
4155
+ }
4156
+ },
4157
+ "required": [
4158
+ "$type",
4159
+ "onConfirm",
4160
+ "prompt"
4161
+ ]
4162
+ },
4163
+ {
4164
+ "type": "object",
4165
+ "properties": {
4166
+ "$type": {
4167
+ "const": "Focus"
4168
+ },
4169
+ "nodeId": {
4170
+ "type": "string"
4171
+ }
4172
+ },
4173
+ "required": [
4174
+ "$type",
4175
+ "nodeId"
4176
+ ]
3356
4177
  }
3357
4178
  ]
3358
4179
  },
@@ -3728,6 +4549,20 @@
3728
4549
  "style",
3729
4550
  "unit"
3730
4551
  ]
4552
+ },
4553
+ {
4554
+ "type": "object",
4555
+ "properties": {
4556
+ "$type": {
4557
+ "const": "Since"
4558
+ },
4559
+ "unit": {
4560
+ "$ref": "#/$defs/RelativeTimeUnit"
4561
+ }
4562
+ },
4563
+ "required": [
4564
+ "$type"
4565
+ ]
3731
4566
  }
3732
4567
  ]
3733
4568
  },
@@ -3901,7 +4736,7 @@
3901
4736
  "$ref": "#/$defs/Binding_list_SelectOption"
3902
4737
  },
3903
4738
  "value": {
3904
- "$ref": "#/$defs/Binding_str"
4739
+ "$ref": "#/$defs/Binding_str_choice"
3905
4740
  }
3906
4741
  },
3907
4742
  "required": [
@@ -3984,7 +4819,7 @@
3984
4819
  "$ref": "#/$defs/Orientation"
3985
4820
  },
3986
4821
  "value": {
3987
- "$ref": "#/$defs/Binding_str"
4822
+ "$ref": "#/$defs/Binding_str_choice"
3988
4823
  }
3989
4824
  },
3990
4825
  "required": [
@@ -4093,6 +4928,94 @@
4093
4928
  "$type",
4094
4929
  "variant"
4095
4930
  ]
4931
+ },
4932
+ {
4933
+ "type": "object",
4934
+ "properties": {
4935
+ "$type": {
4936
+ "const": "Combobox"
4937
+ },
4938
+ "allowFreeText": {
4939
+ "type": "boolean"
4940
+ },
4941
+ "onChange": {
4942
+ "const": "<closure>"
4943
+ },
4944
+ "options": {
4945
+ "$ref": "#/$defs/Binding_list_SelectOption"
4946
+ },
4947
+ "value": {
4948
+ "$ref": "#/$defs/Binding_str_choice"
4949
+ }
4950
+ },
4951
+ "required": [
4952
+ "$type",
4953
+ "options"
4954
+ ]
4955
+ },
4956
+ {
4957
+ "type": "object",
4958
+ "properties": {
4959
+ "$type": {
4960
+ "const": "Rating"
4961
+ },
4962
+ "allowHalf": {
4963
+ "type": "boolean"
4964
+ },
4965
+ "max": {
4966
+ "type": "integer"
4967
+ },
4968
+ "onChange": {
4969
+ "const": "<closure>"
4970
+ },
4971
+ "value": {
4972
+ "$ref": "#/$defs/Binding_float"
4973
+ }
4974
+ },
4975
+ "required": [
4976
+ "$type",
4977
+ "max"
4978
+ ]
4979
+ },
4980
+ {
4981
+ "type": "object",
4982
+ "properties": {
4983
+ "$type": {
4984
+ "const": "Color"
4985
+ },
4986
+ "onChange": {
4987
+ "const": "<closure>"
4988
+ },
4989
+ "value": {
4990
+ "$ref": "#/$defs/Binding_str"
4991
+ }
4992
+ },
4993
+ "required": [
4994
+ "$type"
4995
+ ]
4996
+ },
4997
+ {
4998
+ "type": "object",
4999
+ "properties": {
5000
+ "$type": {
5001
+ "const": "Tokens"
5002
+ },
5003
+ "allowFreeText": {
5004
+ "type": "boolean"
5005
+ },
5006
+ "onChange": {
5007
+ "const": "<closure>"
5008
+ },
5009
+ "suggestions": {
5010
+ "$ref": "#/$defs/Binding_list_SelectOption"
5011
+ },
5012
+ "value": {
5013
+ "$ref": "#/$defs/Binding_list_str"
5014
+ }
5015
+ },
5016
+ "required": [
5017
+ "$type"
5018
+ ]
4096
5019
  }
4097
5020
  ]
4098
5021
  },
@@ -4484,29 +5407,64 @@
4484
5407
  "width"
4485
5408
  ]
4486
5409
  },
4487
- "MediaSpec": {
5410
+ "MediaSpec": {
5411
+ "type": "object",
5412
+ "properties": {
5413
+ "controls": {
5414
+ "type": "boolean"
5415
+ },
5416
+ "kind": {
5417
+ "$ref": "#/$defs/MediaKind"
5418
+ },
5419
+ "label": {
5420
+ "$ref": "#/$defs/TextSource"
5421
+ },
5422
+ "loop": {
5423
+ "type": "boolean"
5424
+ },
5425
+ "src": {
5426
+ "$ref": "#/$defs/Binding_str"
5427
+ },
5428
+ "tracks": {
5429
+ "type": "array",
5430
+ "items": {
5431
+ "$ref": "#/$defs/TrackEntry"
5432
+ }
5433
+ },
5434
+ "transcript": {
5435
+ "$ref": "#/$defs/TextSource"
5436
+ }
5437
+ },
5438
+ "required": [
5439
+ "kind",
5440
+ "label",
5441
+ "src"
5442
+ ]
5443
+ },
5444
+ "TrackEntry": {
4488
5445
  "type": "object",
4489
5446
  "properties": {
4490
- "controls": {
5447
+ "default": {
4491
5448
  "type": "boolean"
4492
5449
  },
4493
5450
  "kind": {
4494
- "$ref": "#/$defs/MediaKind"
5451
+ "$ref": "#/$defs/TrackKind"
4495
5452
  },
4496
5453
  "label": {
4497
5454
  "$ref": "#/$defs/TextSource"
4498
5455
  },
4499
- "loop": {
4500
- "type": "boolean"
4501
- },
4502
5456
  "src": {
4503
5457
  "$ref": "#/$defs/Binding_str"
5458
+ },
5459
+ "srcLang": {
5460
+ "type": "string"
4504
5461
  }
4505
5462
  },
4506
5463
  "required": [
4507
5464
  "kind",
4508
5465
  "label",
4509
- "src"
5466
+ "src",
5467
+ "srcLang"
4510
5468
  ]
4511
5469
  },
4512
5470
  "MediaKind": {
@@ -4541,6 +5499,77 @@
4541
5499
  }
4542
5500
  ]
4543
5501
  },
5502
+ "EmbedSpec": {
5503
+ "type": "object",
5504
+ "properties": {
5505
+ "aspectRatio": {
5506
+ "$ref": "#/$defs/ImageAspect"
5507
+ },
5508
+ "permissions": {
5509
+ "type": "array",
5510
+ "items": {
5511
+ "$ref": "#/$defs/EmbedPermission"
5512
+ }
5513
+ },
5514
+ "src": {
5515
+ "$ref": "#/$defs/Binding_str"
5516
+ },
5517
+ "title": {
5518
+ "$ref": "#/$defs/TextSource"
5519
+ }
5520
+ },
5521
+ "required": [
5522
+ "src",
5523
+ "title"
5524
+ ]
5525
+ },
5526
+ "TreeItem": {
5527
+ "type": "object",
5528
+ "properties": {
5529
+ "children": {
5530
+ "type": "array",
5531
+ "items": {
5532
+ "$ref": "#/$defs/TreeItem"
5533
+ }
5534
+ },
5535
+ "icon": {
5536
+ "type": "string"
5537
+ },
5538
+ "id": {
5539
+ "type": "string"
5540
+ },
5541
+ "label": {
5542
+ "$ref": "#/$defs/TextSource"
5543
+ }
5544
+ },
5545
+ "required": [
5546
+ "id",
5547
+ "label"
5548
+ ]
5549
+ },
5550
+ "TreeSpec": {
5551
+ "type": "object",
5552
+ "properties": {
5553
+ "expandedStateKey": {
5554
+ "type": "string"
5555
+ },
5556
+ "items": {
5557
+ "type": "array",
5558
+ "items": {
5559
+ "$ref": "#/$defs/TreeItem"
5560
+ }
5561
+ },
5562
+ "onSelect": {
5563
+ "const": "<closure>"
5564
+ },
5565
+ "selectionStateKey": {
5566
+ "type": "string"
5567
+ }
5568
+ },
5569
+ "required": [
5570
+ "items"
5571
+ ]
5572
+ },
4544
5573
  "ListSpec": {
4545
5574
  "type": "object",
4546
5575
  "properties": {
@@ -5745,6 +6774,42 @@
5745
6774
  }
5746
6775
  ]
5747
6776
  },
6777
+ {
6778
+ "allOf": [
6779
+ {
6780
+ "type": "object",
6781
+ "properties": {
6782
+ "$type": {
6783
+ "const": "Embed"
6784
+ }
6785
+ },
6786
+ "required": [
6787
+ "$type"
6788
+ ]
6789
+ },
6790
+ {
6791
+ "$ref": "#/$defs/EmbedSpec"
6792
+ }
6793
+ ]
6794
+ },
6795
+ {
6796
+ "allOf": [
6797
+ {
6798
+ "type": "object",
6799
+ "properties": {
6800
+ "$type": {
6801
+ "const": "Tree"
6802
+ }
6803
+ },
6804
+ "required": [
6805
+ "$type"
6806
+ ]
6807
+ },
6808
+ {
6809
+ "$ref": "#/$defs/TreeSpec"
6810
+ }
6811
+ ]
6812
+ },
5748
6813
  {
5749
6814
  "allOf": [
5750
6815
  {
@@ -6051,7 +7116,7 @@
6051
7116
  "$ref": "#/$defs/Binding_list_SelectOption"
6052
7117
  },
6053
7118
  "value": {
6054
- "$ref": "#/$defs/Binding_str"
7119
+ "$ref": "#/$defs/Binding_str_choice"
6055
7120
  },
6056
7121
  "placeholder": {
6057
7122
  "$ref": "#/$defs/TextSource"
@@ -6095,6 +7160,19 @@
6095
7160
  },
6096
7161
  "disabled": {
6097
7162
  "$ref": "#/$defs/Binding_bool"
7163
+ },
7164
+ "dropTarget": {
7165
+ "type": "boolean"
7166
+ },
7167
+ "acceptPaste": {
7168
+ "type": "boolean"
7169
+ },
7170
+ "capture": {
7171
+ "$ref": "#/$defs/CaptureSource"
7172
+ },
7173
+ "destination": {
7174
+ "type": "string",
7175
+ "minLength": 1
6098
7176
  }
6099
7177
  },
6100
7178
  "required": [
@@ -6274,6 +7352,21 @@
6274
7352
  "reorderable": {
6275
7353
  "type": "boolean"
6276
7354
  },
7355
+ "transferInKey": {
7356
+ "type": "string"
7357
+ },
7358
+ "transferOutKey": {
7359
+ "type": "string"
7360
+ },
7361
+ "keepRowsTogether": {
7362
+ "type": "boolean"
7363
+ },
7364
+ "repeatHeader": {
7365
+ "type": "boolean"
7366
+ },
7367
+ "exportable": {
7368
+ "type": "boolean"
7369
+ },
6277
7370
  "defaultSort": {
6278
7371
  "type": "object",
6279
7372
  "properties": {
@@ -6449,6 +7542,12 @@
6449
7542
  "xScale": {
6450
7543
  "$ref": "#/$defs/ChartXScale"
6451
7544
  },
7545
+ "annotations": {
7546
+ "type": "array",
7547
+ "items": {
7548
+ "$ref": "#/$defs/ChartAnnotation"
7549
+ }
7550
+ },
6452
7551
  "onPointClick": {
6453
7552
  "const": "<closure>"
6454
7553
  }
@@ -6460,6 +7559,140 @@
6460
7559
  "yFields"
6461
7560
  ]
6462
7561
  },
7562
+ "ChartAnnotation": {
7563
+ "oneOf": [
7564
+ {
7565
+ "type": "object",
7566
+ "properties": {
7567
+ "$type": {
7568
+ "const": "ReferenceLine"
7569
+ },
7570
+ "value": {
7571
+ "type": "number"
7572
+ },
7573
+ "label": {
7574
+ "$ref": "#/$defs/TextSource"
7575
+ }
7576
+ },
7577
+ "required": [
7578
+ "$type",
7579
+ "value"
7580
+ ]
7581
+ },
7582
+ {
7583
+ "type": "object",
7584
+ "properties": {
7585
+ "$type": {
7586
+ "const": "EventMarker"
7587
+ },
7588
+ "at": {
7589
+ "$ref": "#/$defs/ChartAnnotationX"
7590
+ },
7591
+ "label": {
7592
+ "$ref": "#/$defs/TextSource"
7593
+ }
7594
+ },
7595
+ "required": [
7596
+ "$type",
7597
+ "at"
7598
+ ]
7599
+ },
7600
+ {
7601
+ "type": "object",
7602
+ "properties": {
7603
+ "$type": {
7604
+ "const": "RangeBand"
7605
+ },
7606
+ "range": {
7607
+ "$ref": "#/$defs/ChartAnnotationRange"
7608
+ },
7609
+ "label": {
7610
+ "$ref": "#/$defs/TextSource"
7611
+ }
7612
+ },
7613
+ "required": [
7614
+ "$type",
7615
+ "range"
7616
+ ]
7617
+ }
7618
+ ]
7619
+ },
7620
+ "ChartAnnotationRange": {
7621
+ "oneOf": [
7622
+ {
7623
+ "type": "object",
7624
+ "properties": {
7625
+ "$type": {
7626
+ "const": "ValueRange"
7627
+ },
7628
+ "from": {
7629
+ "type": "number"
7630
+ },
7631
+ "to": {
7632
+ "type": "number"
7633
+ }
7634
+ },
7635
+ "required": [
7636
+ "$type",
7637
+ "from",
7638
+ "to"
7639
+ ]
7640
+ },
7641
+ {
7642
+ "type": "object",
7643
+ "properties": {
7644
+ "$type": {
7645
+ "const": "XRange"
7646
+ },
7647
+ "from": {
7648
+ "$ref": "#/$defs/ChartAnnotationX"
7649
+ },
7650
+ "to": {
7651
+ "$ref": "#/$defs/ChartAnnotationX"
7652
+ }
7653
+ },
7654
+ "required": [
7655
+ "$type",
7656
+ "from",
7657
+ "to"
7658
+ ]
7659
+ }
7660
+ ]
7661
+ },
7662
+ "ChartAnnotationX": {
7663
+ "oneOf": [
7664
+ {
7665
+ "type": "object",
7666
+ "properties": {
7667
+ "$type": {
7668
+ "const": "Category"
7669
+ },
7670
+ "key": {
7671
+ "type": "string"
7672
+ }
7673
+ },
7674
+ "required": [
7675
+ "$type",
7676
+ "key"
7677
+ ]
7678
+ },
7679
+ {
7680
+ "type": "object",
7681
+ "properties": {
7682
+ "$type": {
7683
+ "const": "Date"
7684
+ },
7685
+ "iso": {
7686
+ "type": "string"
7687
+ }
7688
+ },
7689
+ "required": [
7690
+ "$type",
7691
+ "iso"
7692
+ ]
7693
+ }
7694
+ ]
7695
+ },
6463
7696
  "MapMarker": {
6464
7697
  "type": "object",
6465
7698
  "properties": {
@@ -6630,6 +7863,12 @@
6630
7863
  "Dashboard",
6631
7864
  "Separator"
6632
7865
  ]
7866
+ },
7867
+ "keepTogether": {
7868
+ "type": "boolean"
7869
+ },
7870
+ "breakBefore": {
7871
+ "type": "boolean"
6633
7872
  }
6634
7873
  },
6635
7874
  "required": [
@@ -6931,6 +8170,12 @@
6931
8170
  },
6932
8171
  "heading": {
6933
8172
  "$ref": "#/$defs/TextSource"
8173
+ },
8174
+ "modality": {
8175
+ "$ref": "#/$defs/ModalityKind"
8176
+ },
8177
+ "anchor": {
8178
+ "type": "string"
6934
8179
  }
6935
8180
  },
6936
8181
  "required": [
@@ -7595,18 +8840,46 @@
7595
8840
  "cases": {
7596
8841
  "type": "array",
7597
8842
  "items": {
7598
- "type": "object",
7599
- "properties": {
7600
- "child": {
7601
- "$ref": "#/$defs/Node"
8843
+ "allOf": [
8844
+ {
8845
+ "type": "object",
8846
+ "properties": {
8847
+ "child": {
8848
+ "$ref": "#/$defs/Node"
8849
+ },
8850
+ "match": {
8851
+ "type": "string"
8852
+ },
8853
+ "when": {
8854
+ "$ref": "#/$defs/Binding_bool"
8855
+ }
8856
+ },
8857
+ "required": [
8858
+ "child"
8859
+ ]
8860
+ },
8861
+ {
8862
+ "anyOf": [
8863
+ {
8864
+ "required": [
8865
+ "match"
8866
+ ]
8867
+ },
8868
+ {
8869
+ "required": [
8870
+ "when"
8871
+ ]
8872
+ }
8873
+ ]
7602
8874
  },
7603
- "match": {
7604
- "type": "string"
8875
+ {
8876
+ "not": {
8877
+ "required": [
8878
+ "match",
8879
+ "when"
8880
+ ]
8881
+ }
7605
8882
  }
7606
- },
7607
- "required": [
7608
- "child",
7609
- "match"
7610
8883
  ]
7611
8884
  }
7612
8885
  },
@@ -7618,6 +8891,10 @@
7618
8891
  },
7619
8892
  "on": {
7620
8893
  "$ref": "#/$defs/Binding_str"
8894
+ },
8895
+ "autoAdvanceMs": {
8896
+ "type": "integer",
8897
+ "minimum": 1
7621
8898
  }
7622
8899
  },
7623
8900
  "required": [
@@ -7760,6 +9037,9 @@
7760
9037
  },
7761
9038
  "voice": {
7762
9039
  "$ref": "#/$defs/FontVoice"
9040
+ },
9041
+ "direction": {
9042
+ "$ref": "#/$defs/TextDirection"
7763
9043
  }
7764
9044
  }
7765
9045
  },
@@ -7918,6 +9198,12 @@
7918
9198
  },
7919
9199
  "accessibility": {
7920
9200
  "$ref": "#/$defs/Accessibility"
9201
+ },
9202
+ "tooltip": {
9203
+ "$ref": "#/$defs/TextSource"
9204
+ },
9205
+ "visible": {
9206
+ "$ref": "#/$defs/Binding_bool"
7921
9207
  }
7922
9208
  },
7923
9209
  "required": [