@almadar/std 16.239.0 → 16.242.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 (167) hide show
  1. package/behaviors/behaviors-registry.json +4814 -553
  2. package/behaviors/lolo/agent/atoms/std-agent-memory.lolo +38 -1
  3. package/behaviors/lolo/agent/atoms/std-agent-session.lolo +1074 -47
  4. package/behaviors/lolo/agent/atoms/std-agent-tool-loop.lolo +8 -7
  5. package/behaviors/lolo/agent/organisms/std-agent-assistant.lolo +56 -37
  6. package/behaviors/lolo/infra/atoms/std-page-open.lolo +59 -0
  7. package/behaviors/lolo/infra/atoms/std-page-search.lolo +134 -0
  8. package/behaviors/lolo/infra/atoms/std-page-treat.lolo +59 -0
  9. package/behaviors/lolo/infra/atoms/std-page-watch.lolo +86 -0
  10. package/behaviors/lolo/ui/core/atoms/std-board.lolo +53 -6
  11. package/behaviors/lolo/ui/core/atoms/std-book-reader.lolo +25 -1
  12. package/behaviors/lolo/ui/core/atoms/std-card-grid.lolo +9 -0
  13. package/behaviors/lolo/ui/core/atoms/std-doc-page.lolo +153 -0
  14. package/behaviors/lolo/ui/core/atoms/std-site-header.lolo +15 -3
  15. package/behaviors/lolo/ui/core/atoms/std-tag-strip.lolo +2 -2
  16. package/behaviors/lolo/ui/core/atoms/std-tag-taxonomy.lolo +7 -7
  17. package/behaviors/lolo/ui/core/atoms/std-version-history.lolo +1 -1
  18. package/behaviors/lolo/ui/core/molecules/ui-header.lolo +5 -0
  19. package/behaviors/lolo/ui/learning/atoms/std-learn-arrangement.lolo +124 -92
  20. package/behaviors/lolo/ui/learning/atoms/std-learn-classify.lolo +114 -55
  21. package/behaviors/lolo/ui/learning/atoms/std-learn-compare.lolo +40 -14
  22. package/behaviors/lolo/ui/learning/atoms/std-learn-coupled-sim.lolo +363 -123
  23. package/behaviors/lolo/ui/learning/atoms/std-learn-derivation.lolo +93 -48
  24. package/behaviors/lolo/ui/learning/atoms/std-learn-diagram.lolo +60 -28
  25. package/behaviors/lolo/ui/learning/atoms/std-learn-doser.lolo +193 -96
  26. package/behaviors/lolo/ui/learning/atoms/std-learn-estimate.lolo +75 -32
  27. package/behaviors/lolo/ui/learning/atoms/std-learn-goal-seek.lolo +142 -86
  28. package/behaviors/lolo/ui/learning/atoms/std-learn-grid-sim.lolo +266 -98
  29. package/behaviors/lolo/ui/learning/atoms/std-learn-hotspot.lolo +103 -65
  30. package/behaviors/lolo/ui/learning/atoms/std-learn-live-sim.lolo +223 -109
  31. package/behaviors/lolo/ui/learning/atoms/std-learn-measure.lolo +232 -64
  32. package/behaviors/lolo/ui/learning/atoms/std-learn-param-explorer.lolo +69 -29
  33. package/behaviors/lolo/ui/learning/atoms/std-learn-perturb.lolo +363 -123
  34. package/behaviors/lolo/ui/learning/atoms/std-learn-predict.lolo +73 -41
  35. package/behaviors/lolo/ui/learning/atoms/std-learn-sample-accumulator.lolo +96 -38
  36. package/behaviors/lolo/ui/learning/atoms/std-learn-sandbox.lolo +65 -45
  37. package/behaviors/lolo/ui/learning/atoms/std-learn-scatter-fit.lolo +243 -117
  38. package/behaviors/lolo/ui/learning/atoms/std-learn-scenario.lolo +76 -28
  39. package/behaviors/lolo/ui/learning/atoms/std-learn-sim-3d.lolo +228 -109
  40. package/behaviors/lolo/ui/learning/atoms/std-learn-speed-drill.lolo +95 -44
  41. package/behaviors/lolo/ui/learning/atoms/std-learn-stepper.lolo +199 -125
  42. package/behaviors/lolo/ui/learning/atoms/std-learn-tour-3d.lolo +92 -48
  43. package/behaviors/lolo/ui/learning/atoms/std-learn-trace-player.lolo +239 -78
  44. package/behaviors/lolo/ui/learning/atoms/std-learn-transport.lolo +147 -38
  45. package/behaviors/lolo/ui/learning/atoms/std-learn-tree.lolo +123 -58
  46. package/behaviors/lolo/ui/learning/atoms/ui-algo-graph-canvas.lolo +22 -0
  47. package/behaviors/lolo/ui/learning/atoms/ui-algorithm-canvas.lolo +26 -0
  48. package/behaviors/lolo/ui/learning/atoms/ui-biology-canvas.lolo +26 -0
  49. package/behaviors/lolo/ui/learning/atoms/ui-chemistry-canvas.lolo +27 -1
  50. package/behaviors/lolo/ui/learning/atoms/ui-learning-canvas.lolo +27 -1
  51. package/behaviors/lolo/ui/learning/atoms/ui-math-canvas.lolo +29 -9
  52. package/behaviors/lolo/ui/learning/atoms/ui-physics-canvas.lolo +26 -0
  53. package/behaviors/lolo-behavior-contracts.json +1 -1
  54. package/behaviors/registry/agent/atoms/std-agent-memory.orb +372 -2
  55. package/behaviors/registry/agent/atoms/std-agent-session.orb +4752 -348
  56. package/behaviors/registry/agent/atoms/std-agent-tool-loop.orb +54 -42
  57. package/behaviors/registry/agent/organisms/std-agent-assistant.orb +356 -122
  58. package/behaviors/registry/factory-signatures.json +1 -1
  59. package/behaviors/registry/infra/atoms/std-page-open.orb +435 -0
  60. package/behaviors/registry/infra/atoms/std-page-search.orb +867 -0
  61. package/behaviors/registry/infra/atoms/std-page-treat.orb +494 -0
  62. package/behaviors/registry/infra/atoms/std-page-watch.orb +554 -0
  63. package/behaviors/registry/ui/core/atoms/std-board.orb +110 -14
  64. package/behaviors/registry/ui/core/atoms/std-book-reader.orb +119 -0
  65. package/behaviors/registry/ui/core/atoms/std-card-grid.orb +61 -0
  66. package/behaviors/registry/ui/core/atoms/std-doc-page.orb +594 -0
  67. package/behaviors/registry/ui/core/atoms/std-site-header.orb +40 -2
  68. package/behaviors/registry/ui/core/atoms/std-tag-strip.orb +2 -0
  69. package/behaviors/registry/ui/core/atoms/std-tag-taxonomy.orb +24 -0
  70. package/behaviors/registry/ui/core/atoms/std-version-history.orb +8 -1
  71. package/behaviors/registry/ui/core/molecules/ui-header.orb +7 -0
  72. package/behaviors/registry/ui/learning/atoms/std-learn-arrangement.orb +903 -369
  73. package/behaviors/registry/ui/learning/atoms/std-learn-classify.orb +1002 -232
  74. package/behaviors/registry/ui/learning/atoms/std-learn-compare.orb +253 -74
  75. package/behaviors/registry/ui/learning/atoms/std-learn-coupled-sim.orb +3624 -921
  76. package/behaviors/registry/ui/learning/atoms/std-learn-derivation.orb +685 -144
  77. package/behaviors/registry/ui/learning/atoms/std-learn-diagram.orb +404 -52
  78. package/behaviors/registry/ui/learning/atoms/std-learn-doser.orb +1787 -210
  79. package/behaviors/registry/ui/learning/atoms/std-learn-estimate.orb +699 -71
  80. package/behaviors/registry/ui/learning/atoms/std-learn-goal-seek.orb +1102 -578
  81. package/behaviors/registry/ui/learning/atoms/std-learn-grid-sim.orb +2760 -872
  82. package/behaviors/registry/ui/learning/atoms/std-learn-hotspot.orb +689 -152
  83. package/behaviors/registry/ui/learning/atoms/std-learn-live-sim.orb +1431 -633
  84. package/behaviors/registry/ui/learning/atoms/std-learn-measure.orb +2485 -512
  85. package/behaviors/registry/ui/learning/atoms/std-learn-param-explorer.orb +501 -197
  86. package/behaviors/registry/ui/learning/atoms/std-learn-perturb.orb +3642 -928
  87. package/behaviors/registry/ui/learning/atoms/std-learn-predict.orb +705 -125
  88. package/behaviors/registry/ui/learning/atoms/std-learn-sample-accumulator.orb +624 -114
  89. package/behaviors/registry/ui/learning/atoms/std-learn-sandbox.orb +405 -153
  90. package/behaviors/registry/ui/learning/atoms/std-learn-scatter-fit.orb +1911 -611
  91. package/behaviors/registry/ui/learning/atoms/std-learn-scenario.orb +436 -128
  92. package/behaviors/registry/ui/learning/atoms/std-learn-sim-3d.orb +2482 -485
  93. package/behaviors/registry/ui/learning/atoms/std-learn-speed-drill.orb +896 -192
  94. package/behaviors/registry/ui/learning/atoms/std-learn-stepper.orb +2001 -759
  95. package/behaviors/registry/ui/learning/atoms/std-learn-tour-3d.orb +734 -228
  96. package/behaviors/registry/ui/learning/atoms/std-learn-trace-player.orb +2501 -764
  97. package/behaviors/registry/ui/learning/atoms/std-learn-transport.orb +1591 -173
  98. package/behaviors/registry/ui/learning/atoms/std-learn-tree.orb +883 -122
  99. package/behaviors/registry/ui/learning/atoms/ui-algo-graph-canvas.orb +176 -0
  100. package/behaviors/registry/ui/learning/atoms/ui-algorithm-canvas.orb +211 -0
  101. package/behaviors/registry/ui/learning/atoms/ui-biology-canvas.orb +211 -0
  102. package/behaviors/registry/ui/learning/atoms/ui-chemistry-canvas.orb +212 -1
  103. package/behaviors/registry/ui/learning/atoms/ui-learning-canvas.orb +212 -1
  104. package/behaviors/registry/ui/learning/atoms/ui-math-canvas.orb +203 -9
  105. package/behaviors/registry/ui/learning/atoms/ui-physics-canvas.orb +211 -0
  106. package/behaviors/signatures.lolo +325 -655
  107. package/canonical-operators.json +35 -1
  108. package/dist/behaviors/exports-reader.js +41980 -35508
  109. package/dist/behaviors/functions/index.d.ts +1063 -140
  110. package/dist/behaviors/functions/index.js +41951 -35506
  111. package/dist/behaviors/index.d.ts +1 -1
  112. package/dist/behaviors/index.js +41981 -35509
  113. package/dist/behaviors/query.js +41980 -35508
  114. package/dist/behaviors-embeddings.hash.json +3 -3
  115. package/dist/behaviors-embeddings.json +47 -27
  116. package/dist/behaviors-registry.json +4814 -553
  117. package/dist/index.d.ts +4 -4
  118. package/dist/index.js +42019 -35509
  119. package/dist/knob-embeddings.hash.json +3 -3
  120. package/dist/knob-embeddings.json +623 -263
  121. package/dist/modules/anim.d.ts +1 -1
  122. package/dist/modules/array.d.ts +1 -1
  123. package/dist/modules/async.d.ts +1 -1
  124. package/dist/modules/behavior.d.ts +1 -1
  125. package/dist/modules/browser.d.ts +1 -1
  126. package/dist/modules/composition.d.ts +1 -1
  127. package/dist/modules/contract.d.ts +1 -1
  128. package/dist/modules/core.d.ts +1 -1
  129. package/dist/modules/core.js +2 -0
  130. package/dist/modules/data.d.ts +1 -1
  131. package/dist/modules/ease.d.ts +1 -1
  132. package/dist/modules/format.d.ts +1 -1
  133. package/dist/modules/geo.d.ts +1 -1
  134. package/dist/modules/graph.d.ts +1 -1
  135. package/dist/modules/grid.d.ts +1 -1
  136. package/dist/modules/i18n.d.ts +17 -0
  137. package/dist/modules/i18n.js +22 -0
  138. package/dist/modules/index.d.ts +2 -1
  139. package/dist/modules/index.js +24 -1
  140. package/dist/modules/integration.d.ts +1 -1
  141. package/dist/modules/json.d.ts +1 -1
  142. package/dist/modules/llm.d.ts +1 -1
  143. package/dist/modules/math.d.ts +1 -1
  144. package/dist/modules/memory.d.ts +1 -1
  145. package/dist/modules/nn.d.ts +1 -1
  146. package/dist/modules/noise.d.ts +1 -1
  147. package/dist/modules/object.d.ts +1 -1
  148. package/dist/modules/os.d.ts +1 -1
  149. package/dist/modules/path.d.ts +1 -1
  150. package/dist/modules/prob.d.ts +1 -1
  151. package/dist/modules/session.d.ts +1 -1
  152. package/dist/modules/str.d.ts +1 -1
  153. package/dist/modules/tensor.d.ts +1 -1
  154. package/dist/modules/time.d.ts +1 -1
  155. package/dist/modules/trace.d.ts +1 -1
  156. package/dist/modules/train.d.ts +1 -1
  157. package/dist/modules/validate.d.ts +1 -1
  158. package/dist/modules/vector.d.ts +1 -1
  159. package/dist/modules/workspace.d.ts +1 -1
  160. package/dist/registry/factory-signatures.json +1 -1
  161. package/dist/registry.d.ts +10 -3
  162. package/dist/registry.js +31 -1
  163. package/dist/{types-DLx38UFZ.d.ts → types-Cdb321uM.d.ts} +9 -3
  164. package/i18n/ar.json +1 -0
  165. package/i18n/en.json +1 -0
  166. package/i18n/sl.json +1 -0
  167. package/package.json +3 -3
@@ -198,6 +198,16 @@
198
198
  "required": false,
199
199
  "type": "string"
200
200
  },
201
+ "fillStyle": {
202
+ "name": "fillStyle",
203
+ "required": false,
204
+ "type": "string"
205
+ },
206
+ "fillTone": {
207
+ "name": "fillTone",
208
+ "required": false,
209
+ "type": "string"
210
+ },
201
211
  "fontSize": {
202
212
  "name": "fontSize",
203
213
  "required": false,
@@ -273,11 +283,26 @@
273
283
  "required": false,
274
284
  "type": "number"
275
285
  },
286
+ "stroke": {
287
+ "name": "stroke",
288
+ "required": false,
289
+ "type": "string"
290
+ },
276
291
  "text": {
277
292
  "name": "text",
278
293
  "required": false,
279
294
  "type": "string"
280
295
  },
296
+ "textSize": {
297
+ "name": "textSize",
298
+ "required": false,
299
+ "type": "string"
300
+ },
301
+ "tone": {
302
+ "name": "tone",
303
+ "required": false,
304
+ "type": "string"
305
+ },
281
306
  "type": {
282
307
  "name": "type",
283
308
  "required": true,
@@ -414,7 +439,8 @@
414
439
  "type": "number"
415
440
  },
416
441
  "backgroundColor": {
417
- "default": "#f8fafc",
442
+ "default": "",
443
+ "description": "Canvas ground override; empty uses the theme's drawing ground.",
418
444
  "label": "Background Color",
419
445
  "tier": "presentation",
420
446
  "type": "string"
@@ -423,12 +449,12 @@
423
449
  "default": [
424
450
  {
425
451
  "category": "a",
426
- "color": "#7c3aed",
452
+ "color": "series-1",
427
453
  "label": "Category A"
428
454
  },
429
455
  {
430
456
  "category": "b",
431
- "color": "#15803d",
457
+ "color": "series-2",
432
458
  "label": "Category B"
433
459
  }
434
460
  ],
@@ -605,15 +631,22 @@
605
631
  "tier": "presentation",
606
632
  "type": "string"
607
633
  },
634
+ "summary": {
635
+ "default": "",
636
+ "description": "One line under the title saying what the learner is looking at (keep it under ~65 characters). Empty shows no line.",
637
+ "label": "Concept",
638
+ "tier": "presentation",
639
+ "type": "string"
640
+ },
608
641
  "title": {
609
642
  "default": "Stepper",
610
- "description": "Title shown above the instrument.",
643
+ "description": "The instrument's name, the header's one hero.",
611
644
  "label": "Title",
612
645
  "tier": "presentation",
613
646
  "type": "string"
614
647
  },
615
648
  "unreachedColor": {
616
- "default": "#d6d3d1",
649
+ "default": "muted",
617
650
  "description": "Color of stage markers the learner has not yet stepped to.",
618
651
  "label": "Unreached Marker Color",
619
652
  "tier": "presentation",
@@ -1138,10 +1171,10 @@
1138
1171
  "baseShapes",
1139
1172
  [
1140
1173
  {
1141
- "color": "#78716c",
1142
1174
  "id": "axis",
1143
- "lineWidth": 2.0,
1144
1175
  "opacity": 1.0,
1176
+ "stroke": "normal",
1177
+ "tone": "axis",
1145
1178
  "type": "line",
1146
1179
  "x1": "@config.axisMarginLeft",
1147
1180
  "x2": [
@@ -1154,14 +1187,14 @@
1154
1187
  },
1155
1188
  {
1156
1189
  "align": "left",
1157
- "color": "#78716c",
1158
- "fontSize": 11.0,
1159
1190
  "id": "minPositionLabel",
1160
1191
  "text": [
1161
1192
  "str/concat",
1162
1193
  "",
1163
1194
  "@config.minPosition"
1164
1195
  ],
1196
+ "textSize": "xs",
1197
+ "tone": "label",
1165
1198
  "type": "text",
1166
1199
  "x": "@config.axisMarginLeft",
1167
1200
  "y": [
@@ -1172,14 +1205,14 @@
1172
1205
  },
1173
1206
  {
1174
1207
  "align": "right",
1175
- "color": "#78716c",
1176
- "fontSize": 11.0,
1177
1208
  "id": "maxPositionLabel",
1178
1209
  "text": [
1179
1210
  "str/concat",
1180
1211
  "",
1181
1212
  "@config.maxPosition"
1182
1213
  ],
1214
+ "textSize": "xs",
1215
+ "tone": "label",
1183
1216
  "type": "text",
1184
1217
  "x": [
1185
1218
  "-",
@@ -1336,27 +1369,27 @@
1336
1369
  "@isCurrent",
1337
1370
  [
1338
1371
  {
1339
- "color": "@catColor",
1340
- "fill": "transparent",
1372
+ "fillStyle": "outline",
1341
1373
  "id": [
1342
1374
  "str/concat",
1343
1375
  "ring-",
1344
1376
  "@s.position"
1345
1377
  ],
1346
- "lineWidth": 3.0,
1347
1378
  "opacity": 1.0,
1348
1379
  "radius": [
1349
1380
  "+",
1350
1381
  "@rad",
1351
1382
  5.0
1352
1383
  ],
1384
+ "stroke": "bold",
1385
+ "tone": "@catColor",
1353
1386
  "type": "circle",
1354
1387
  "x": "@xPos",
1355
1388
  "y": "@config.axisY"
1356
1389
  },
1357
1390
  {
1358
- "color": "@col",
1359
- "fill": "@col",
1391
+ "fillStyle": "solid",
1392
+ "fillTone": "@col",
1360
1393
  "id": [
1361
1394
  "str/concat",
1362
1395
  "marker-",
@@ -1364,6 +1397,7 @@
1364
1397
  ],
1365
1398
  "opacity": "@finalOpacity",
1366
1399
  "radius": "@rad",
1400
+ "tone": "@col",
1367
1401
  "type": "circle",
1368
1402
  "x": "@xPos",
1369
1403
  "y": "@config.axisY"
@@ -1371,8 +1405,8 @@
1371
1405
  ],
1372
1406
  [
1373
1407
  {
1374
- "color": "@col",
1375
- "fill": "@col",
1408
+ "fillStyle": "solid",
1409
+ "fillTone": "@col",
1376
1410
  "id": [
1377
1411
  "str/concat",
1378
1412
  "marker-",
@@ -1380,6 +1414,7 @@
1380
1414
  ],
1381
1415
  "opacity": "@finalOpacity",
1382
1416
  "radius": "@rad",
1417
+ "tone": "@col",
1383
1418
  "type": "circle",
1384
1419
  "x": "@xPos",
1385
1420
  "y": "@config.axisY"
@@ -1391,12 +1426,100 @@
1391
1426
  ]
1392
1427
  ]
1393
1428
  ],
1429
+ [
1430
+ "legendShapes",
1431
+ [
1432
+ "array/flatten",
1433
+ [
1434
+ "array/map",
1435
+ "@config.categories",
1436
+ [
1437
+ {
1438
+ "fillStyle": "solid",
1439
+ "fillTone": [
1440
+ "object/get",
1441
+ "@item",
1442
+ "color"
1443
+ ],
1444
+ "id": [
1445
+ "str/concat",
1446
+ "legend-dot-",
1447
+ "@index"
1448
+ ],
1449
+ "opacity": 1.0,
1450
+ "radius": 5.0,
1451
+ "tone": [
1452
+ "object/get",
1453
+ "@item",
1454
+ "color"
1455
+ ],
1456
+ "type": "circle",
1457
+ "x": [
1458
+ "+",
1459
+ "@config.axisMarginLeft",
1460
+ [
1461
+ "*",
1462
+ "@index",
1463
+ [
1464
+ "/",
1465
+ "@axisWidth",
1466
+ [
1467
+ "array/len",
1468
+ "@config.categories"
1469
+ ]
1470
+ ]
1471
+ ]
1472
+ ],
1473
+ "y": 22.0
1474
+ },
1475
+ {
1476
+ "align": "left",
1477
+ "id": [
1478
+ "str/concat",
1479
+ "legend-label-",
1480
+ "@index"
1481
+ ],
1482
+ "text": [
1483
+ "object/get",
1484
+ "@item",
1485
+ "label"
1486
+ ],
1487
+ "textSize": "xs",
1488
+ "tone": "label",
1489
+ "type": "text",
1490
+ "x": [
1491
+ "+",
1492
+ [
1493
+ "+",
1494
+ "@config.axisMarginLeft",
1495
+ [
1496
+ "*",
1497
+ "@index",
1498
+ [
1499
+ "/",
1500
+ "@axisWidth",
1501
+ [
1502
+ "array/len",
1503
+ "@config.categories"
1504
+ ]
1505
+ ]
1506
+ ]
1507
+ ],
1508
+ 12.0
1509
+ ],
1510
+ "y": 26.0
1511
+ }
1512
+ ]
1513
+ ]
1514
+ ]
1515
+ ],
1394
1516
  [
1395
1517
  "allShapes",
1396
1518
  [
1397
1519
  "array/concat",
1398
1520
  "@baseShapes",
1399
- "@markerShapes"
1521
+ "@markerShapes",
1522
+ "@legendShapes"
1400
1523
  ]
1401
1524
  ],
1402
1525
  [
@@ -1409,6 +1532,16 @@
1409
1532
  "actionPayload": {
1410
1533
  "category": "all"
1411
1534
  },
1535
+ "aria-pressed": [
1536
+ "if",
1537
+ [
1538
+ "==",
1539
+ "@entity.activeFilter",
1540
+ "all"
1541
+ ],
1542
+ "true",
1543
+ "false"
1544
+ ],
1412
1545
  "label": "@config.allLabel",
1413
1546
  "size": "sm",
1414
1547
  "type": "button",
@@ -1419,7 +1552,7 @@
1419
1552
  "@entity.activeFilter",
1420
1553
  "all"
1421
1554
  ],
1422
- "primary",
1555
+ "secondary",
1423
1556
  "ghost"
1424
1557
  ]
1425
1558
  }
@@ -1439,6 +1572,20 @@
1439
1572
  "category"
1440
1573
  ]
1441
1574
  },
1575
+ "aria-pressed": [
1576
+ "if",
1577
+ [
1578
+ "==",
1579
+ "@entity.activeFilter",
1580
+ [
1581
+ "object/get",
1582
+ "@cc",
1583
+ "category"
1584
+ ]
1585
+ ],
1586
+ "true",
1587
+ "false"
1588
+ ],
1442
1589
  "label": [
1443
1590
  "object/get",
1444
1591
  "@cc",
@@ -1457,7 +1604,7 @@
1457
1604
  "category"
1458
1605
  ]
1459
1606
  ],
1460
- "primary",
1607
+ "secondary",
1461
1608
  "ghost"
1462
1609
  ]
1463
1610
  }
@@ -1518,33 +1665,176 @@
1518
1665
  {
1519
1666
  "children": [
1520
1667
  {
1521
- "content": "@entity.title",
1522
- "type": "typography",
1523
- "variant": "h4"
1668
+ "align": "start",
1669
+ "children": [
1670
+ {
1671
+ "children": [
1672
+ {
1673
+ "content": "@entity.title",
1674
+ "type": "typography",
1675
+ "variant": "h4"
1676
+ },
1677
+ [
1678
+ "if",
1679
+ [
1680
+ "==",
1681
+ "@config.summary",
1682
+ ""
1683
+ ],
1684
+ null,
1685
+ {
1686
+ "color": "muted",
1687
+ "content": "@config.summary",
1688
+ "type": "typography",
1689
+ "variant": "body2"
1690
+ }
1691
+ ]
1692
+ ],
1693
+ "direction": "vertical",
1694
+ "gap": "xs",
1695
+ "type": "stack"
1696
+ },
1697
+ {
1698
+ "label": [
1699
+ "if",
1700
+ [
1701
+ "<=",
1702
+ "@entity.cursorIndex",
1703
+ -1.0
1704
+ ],
1705
+ "Not started",
1706
+ [
1707
+ "if",
1708
+ [
1709
+ ">=",
1710
+ "@entity.cursorIndex",
1711
+ [
1712
+ "-",
1713
+ [
1714
+ "array/len",
1715
+ "@config.stages"
1716
+ ],
1717
+ 1.0
1718
+ ]
1719
+ ],
1720
+ "Complete",
1721
+ [
1722
+ "str/concat",
1723
+ "Stage ",
1724
+ [
1725
+ "+",
1726
+ "@entity.cursorIndex",
1727
+ 1.0
1728
+ ],
1729
+ " of ",
1730
+ [
1731
+ "array/len",
1732
+ "@config.stages"
1733
+ ]
1734
+ ]
1735
+ ]
1736
+ ],
1737
+ "type": "badge",
1738
+ "variant": [
1739
+ "if",
1740
+ [
1741
+ "<=",
1742
+ "@entity.cursorIndex",
1743
+ -1.0
1744
+ ],
1745
+ "neutral",
1746
+ [
1747
+ "if",
1748
+ [
1749
+ ">=",
1750
+ "@entity.cursorIndex",
1751
+ [
1752
+ "-",
1753
+ [
1754
+ "array/len",
1755
+ "@config.stages"
1756
+ ],
1757
+ 1.0
1758
+ ]
1759
+ ],
1760
+ "success",
1761
+ "primary"
1762
+ ]
1763
+ ]
1764
+ }
1765
+ ],
1766
+ "direction": "horizontal",
1767
+ "gap": "md",
1768
+ "justify": "between",
1769
+ "type": "stack"
1524
1770
  },
1525
1771
  {
1526
- "label": [
1527
- "str/concat",
1528
- "Stage ",
1529
- [
1530
- "str/concat",
1531
- "",
1532
- [
1533
- "+",
1772
+ "align": "center",
1773
+ "children": [
1774
+ {
1775
+ "action": "NEXT",
1776
+ "disabled": [
1777
+ ">=",
1534
1778
  "@entity.cursorIndex",
1535
- 1.0
1536
- ]
1537
- ],
1538
- " of ",
1539
- [
1540
- "str/concat",
1541
- "",
1542
- [
1543
- "array/len",
1544
- "@config.stages"
1545
- ]
1546
- ]
1779
+ [
1780
+ "-",
1781
+ [
1782
+ "array/len",
1783
+ "@config.stages"
1784
+ ],
1785
+ 1.0
1786
+ ]
1787
+ ],
1788
+ "icon": "chevron-right",
1789
+ "label": "Next",
1790
+ "type": "button",
1791
+ "variant": "primary"
1792
+ },
1793
+ {
1794
+ "action": "PREV",
1795
+ "disabled": [
1796
+ "<=",
1797
+ "@entity.cursorIndex",
1798
+ -1.0
1799
+ ],
1800
+ "icon": "chevron-left",
1801
+ "label": "Prev",
1802
+ "type": "button",
1803
+ "variant": "secondary"
1804
+ },
1805
+ {
1806
+ "action": "RESET_STEPPER",
1807
+ "icon": "rotate-ccw",
1808
+ "label": "Reset",
1809
+ "type": "button",
1810
+ "variant": "ghost"
1811
+ },
1812
+ {
1813
+ "color": "muted",
1814
+ "content": [
1815
+ "str/concat",
1816
+ "Stage ",
1817
+ [
1818
+ "+",
1819
+ "@entity.cursorIndex",
1820
+ 1.0
1821
+ ],
1822
+ " of ",
1823
+ [
1824
+ "array/len",
1825
+ "@config.stages"
1826
+ ]
1827
+ ],
1828
+ "type": "typography",
1829
+ "variant": "caption"
1830
+ }
1547
1831
  ],
1832
+ "direction": "horizontal",
1833
+ "gap": "sm",
1834
+ "type": "stack",
1835
+ "wrap": true
1836
+ },
1837
+ {
1548
1838
  "max": [
1549
1839
  "array/len",
1550
1840
  "@config.stages"
@@ -1558,28 +1848,14 @@
1558
1848
  ]
1559
1849
  },
1560
1850
  {
1851
+ "align": "center",
1852
+ "aria-label": "Category lens",
1853
+ "children": "@entity.filterButtons",
1561
1854
  "direction": "horizontal",
1562
- "items": [
1563
- "array/map",
1564
- "@config.categories",
1565
- [
1566
- "fn",
1567
- "cc",
1568
- {
1569
- "color": [
1570
- "object/get",
1571
- "@cc",
1572
- "color"
1573
- ],
1574
- "label": [
1575
- "object/get",
1576
- "@cc",
1577
- "label"
1578
- ]
1579
- }
1580
- ]
1581
- ],
1582
- "type": "chart-legend"
1855
+ "gap": "xs",
1856
+ "role": "group",
1857
+ "type": "stack",
1858
+ "wrap": true
1583
1859
  },
1584
1860
  {
1585
1861
  "animate": "@config.animate",
@@ -1588,6 +1864,11 @@
1588
1864
  "gridStep": 1.0,
1589
1865
  "height": "@config.height",
1590
1866
  "interactive": "@config.interactive",
1867
+ "keyMap": {
1868
+ "ArrowLeft": "PREV",
1869
+ "ArrowRight": "NEXT",
1870
+ "KeyR": "RESET_STEPPER"
1871
+ },
1591
1872
  "points": [],
1592
1873
  "shapes": "@entity.shapes",
1593
1874
  "showAxes": false,
@@ -1601,84 +1882,26 @@
1601
1882
  "yMin": 0.0
1602
1883
  },
1603
1884
  {
1604
- "children": "@entity.filterButtons",
1605
- "direction": "horizontal",
1606
- "gap": "xs",
1607
- "type": "stack"
1608
- },
1609
- {
1610
- "children": [
1611
- {
1612
- "action": "PREV",
1613
- "disabled": [
1614
- "if",
1615
- [
1616
- "<=",
1617
- "@entity.cursorIndex",
1618
- -1.0
1619
- ],
1620
- true,
1621
- false
1622
- ],
1623
- "label": "Prev",
1624
- "type": "button",
1625
- "variant": "ghost"
1626
- },
1627
- {
1628
- "action": "NEXT",
1629
- "disabled": [
1630
- "if",
1631
- [
1632
- ">=",
1633
- "@entity.cursorIndex",
1634
- [
1635
- "-",
1636
- [
1637
- "array/len",
1638
- "@config.stages"
1639
- ],
1640
- 1.0
1641
- ]
1642
- ],
1643
- true,
1644
- false
1645
- ],
1646
- "label": "Next",
1647
- "type": "button",
1648
- "variant": "primary"
1649
- },
1650
- {
1651
- "action": "RESET_STEPPER",
1652
- "label": "Reset",
1653
- "type": "button",
1654
- "variant": "ghost"
1655
- }
1656
- ],
1657
- "direction": "horizontal",
1658
- "gap": "sm",
1659
- "type": "stack"
1660
- },
1661
- {
1662
- "children": [
1663
- {
1664
- "content": "@entity.currentStageDescription",
1665
- "type": "typography",
1666
- "variant": "body"
1667
- }
1668
- ],
1669
- "padding": "md",
1670
- "title": [
1671
- "if",
1672
- [
1673
- "!=",
1674
- "@entity.currentStageLabel",
1675
- ""
1676
- ],
1677
- "@entity.currentStageLabel",
1678
- "Not Started"
1679
- ],
1680
- "type": "card",
1681
- "variant": "bordered"
1885
+ "children": [
1886
+ {
1887
+ "content": "@entity.currentStageDescription",
1888
+ "type": "typography",
1889
+ "variant": "body"
1890
+ }
1891
+ ],
1892
+ "padding": "md",
1893
+ "title": [
1894
+ "if",
1895
+ [
1896
+ "!=",
1897
+ "@entity.currentStageLabel",
1898
+ ""
1899
+ ],
1900
+ "@entity.currentStageLabel",
1901
+ "Not Started"
1902
+ ],
1903
+ "type": "card",
1904
+ "variant": "bordered"
1682
1905
  },
1683
1906
  {
1684
1907
  "children": [
@@ -1713,9 +1936,11 @@
1713
1936
  ],
1714
1937
  "direction": "horizontal",
1715
1938
  "gap": "xs",
1716
- "type": "stack"
1939
+ "type": "stack",
1940
+ "wrap": true
1717
1941
  },
1718
1942
  {
1943
+ "color": "muted",
1719
1944
  "content": "@entity.visibleThreadNote",
1720
1945
  "type": "typography",
1721
1946
  "variant": "caption"
@@ -1741,6 +1966,43 @@
1741
1966
  ],
1742
1967
  "to": "idle"
1743
1968
  },
1969
+ {
1970
+ "effects": [
1971
+ [
1972
+ "set",
1973
+ "@entity.active",
1974
+ false
1975
+ ],
1976
+ [
1977
+ "render-ui",
1978
+ "main",
1979
+ null
1980
+ ]
1981
+ ],
1982
+ "event": "MODE_SELECTED",
1983
+ "eventId": "evt_01KZEGGJW89GS6HN8CC3SMVV3J",
1984
+ "from": "idle",
1985
+ "guard": [
1986
+ "and",
1987
+ [
1988
+ "not",
1989
+ [
1990
+ "==",
1991
+ "@config.matchMode",
1992
+ ""
1993
+ ]
1994
+ ],
1995
+ [
1996
+ "not",
1997
+ [
1998
+ "==",
1999
+ "@payload.mode",
2000
+ "@config.matchMode"
2001
+ ]
2002
+ ]
2003
+ ],
2004
+ "to": "idle"
2005
+ },
1744
2006
  {
1745
2007
  "effects": [
1746
2008
  [
@@ -2060,10 +2322,10 @@
2060
2322
  "baseShapes",
2061
2323
  [
2062
2324
  {
2063
- "color": "#78716c",
2064
2325
  "id": "axis",
2065
- "lineWidth": 2.0,
2066
2326
  "opacity": 1.0,
2327
+ "stroke": "normal",
2328
+ "tone": "axis",
2067
2329
  "type": "line",
2068
2330
  "x1": "@config.axisMarginLeft",
2069
2331
  "x2": [
@@ -2076,14 +2338,14 @@
2076
2338
  },
2077
2339
  {
2078
2340
  "align": "left",
2079
- "color": "#78716c",
2080
- "fontSize": 11.0,
2081
2341
  "id": "minPositionLabel",
2082
2342
  "text": [
2083
2343
  "str/concat",
2084
2344
  "",
2085
2345
  "@config.minPosition"
2086
2346
  ],
2347
+ "textSize": "xs",
2348
+ "tone": "label",
2087
2349
  "type": "text",
2088
2350
  "x": "@config.axisMarginLeft",
2089
2351
  "y": [
@@ -2094,14 +2356,14 @@
2094
2356
  },
2095
2357
  {
2096
2358
  "align": "right",
2097
- "color": "#78716c",
2098
- "fontSize": 11.0,
2099
2359
  "id": "maxPositionLabel",
2100
2360
  "text": [
2101
2361
  "str/concat",
2102
2362
  "",
2103
2363
  "@config.maxPosition"
2104
2364
  ],
2365
+ "textSize": "xs",
2366
+ "tone": "label",
2105
2367
  "type": "text",
2106
2368
  "x": [
2107
2369
  "-",
@@ -2258,27 +2520,27 @@
2258
2520
  "@isCurrent",
2259
2521
  [
2260
2522
  {
2261
- "color": "@catColor",
2262
- "fill": "transparent",
2523
+ "fillStyle": "outline",
2263
2524
  "id": [
2264
2525
  "str/concat",
2265
2526
  "ring-",
2266
2527
  "@s.position"
2267
2528
  ],
2268
- "lineWidth": 3.0,
2269
2529
  "opacity": 1.0,
2270
2530
  "radius": [
2271
2531
  "+",
2272
2532
  "@rad",
2273
2533
  5.0
2274
2534
  ],
2535
+ "stroke": "bold",
2536
+ "tone": "@catColor",
2275
2537
  "type": "circle",
2276
2538
  "x": "@xPos",
2277
2539
  "y": "@config.axisY"
2278
2540
  },
2279
2541
  {
2280
- "color": "@col",
2281
- "fill": "@col",
2542
+ "fillStyle": "solid",
2543
+ "fillTone": "@col",
2282
2544
  "id": [
2283
2545
  "str/concat",
2284
2546
  "marker-",
@@ -2286,6 +2548,7 @@
2286
2548
  ],
2287
2549
  "opacity": "@finalOpacity",
2288
2550
  "radius": "@rad",
2551
+ "tone": "@col",
2289
2552
  "type": "circle",
2290
2553
  "x": "@xPos",
2291
2554
  "y": "@config.axisY"
@@ -2293,8 +2556,8 @@
2293
2556
  ],
2294
2557
  [
2295
2558
  {
2296
- "color": "@col",
2297
- "fill": "@col",
2559
+ "fillStyle": "solid",
2560
+ "fillTone": "@col",
2298
2561
  "id": [
2299
2562
  "str/concat",
2300
2563
  "marker-",
@@ -2302,6 +2565,7 @@
2302
2565
  ],
2303
2566
  "opacity": "@finalOpacity",
2304
2567
  "radius": "@rad",
2568
+ "tone": "@col",
2305
2569
  "type": "circle",
2306
2570
  "x": "@xPos",
2307
2571
  "y": "@config.axisY"
@@ -2313,12 +2577,100 @@
2313
2577
  ]
2314
2578
  ]
2315
2579
  ],
2580
+ [
2581
+ "legendShapes",
2582
+ [
2583
+ "array/flatten",
2584
+ [
2585
+ "array/map",
2586
+ "@config.categories",
2587
+ [
2588
+ {
2589
+ "fillStyle": "solid",
2590
+ "fillTone": [
2591
+ "object/get",
2592
+ "@item",
2593
+ "color"
2594
+ ],
2595
+ "id": [
2596
+ "str/concat",
2597
+ "legend-dot-",
2598
+ "@index"
2599
+ ],
2600
+ "opacity": 1.0,
2601
+ "radius": 5.0,
2602
+ "tone": [
2603
+ "object/get",
2604
+ "@item",
2605
+ "color"
2606
+ ],
2607
+ "type": "circle",
2608
+ "x": [
2609
+ "+",
2610
+ "@config.axisMarginLeft",
2611
+ [
2612
+ "*",
2613
+ "@index",
2614
+ [
2615
+ "/",
2616
+ "@axisWidth",
2617
+ [
2618
+ "array/len",
2619
+ "@config.categories"
2620
+ ]
2621
+ ]
2622
+ ]
2623
+ ],
2624
+ "y": 22.0
2625
+ },
2626
+ {
2627
+ "align": "left",
2628
+ "id": [
2629
+ "str/concat",
2630
+ "legend-label-",
2631
+ "@index"
2632
+ ],
2633
+ "text": [
2634
+ "object/get",
2635
+ "@item",
2636
+ "label"
2637
+ ],
2638
+ "textSize": "xs",
2639
+ "tone": "label",
2640
+ "type": "text",
2641
+ "x": [
2642
+ "+",
2643
+ [
2644
+ "+",
2645
+ "@config.axisMarginLeft",
2646
+ [
2647
+ "*",
2648
+ "@index",
2649
+ [
2650
+ "/",
2651
+ "@axisWidth",
2652
+ [
2653
+ "array/len",
2654
+ "@config.categories"
2655
+ ]
2656
+ ]
2657
+ ]
2658
+ ],
2659
+ 12.0
2660
+ ],
2661
+ "y": 26.0
2662
+ }
2663
+ ]
2664
+ ]
2665
+ ]
2666
+ ],
2316
2667
  [
2317
2668
  "allShapes",
2318
2669
  [
2319
2670
  "array/concat",
2320
2671
  "@baseShapes",
2321
- "@markerShapes"
2672
+ "@markerShapes",
2673
+ "@legendShapes"
2322
2674
  ]
2323
2675
  ],
2324
2676
  [
@@ -2331,6 +2683,16 @@
2331
2683
  "actionPayload": {
2332
2684
  "category": "all"
2333
2685
  },
2686
+ "aria-pressed": [
2687
+ "if",
2688
+ [
2689
+ "==",
2690
+ "@entity.activeFilter",
2691
+ "all"
2692
+ ],
2693
+ "true",
2694
+ "false"
2695
+ ],
2334
2696
  "label": "@config.allLabel",
2335
2697
  "size": "sm",
2336
2698
  "type": "button",
@@ -2341,7 +2703,7 @@
2341
2703
  "@entity.activeFilter",
2342
2704
  "all"
2343
2705
  ],
2344
- "primary",
2706
+ "secondary",
2345
2707
  "ghost"
2346
2708
  ]
2347
2709
  }
@@ -2361,6 +2723,20 @@
2361
2723
  "category"
2362
2724
  ]
2363
2725
  },
2726
+ "aria-pressed": [
2727
+ "if",
2728
+ [
2729
+ "==",
2730
+ "@entity.activeFilter",
2731
+ [
2732
+ "object/get",
2733
+ "@cc",
2734
+ "category"
2735
+ ]
2736
+ ],
2737
+ "true",
2738
+ "false"
2739
+ ],
2364
2740
  "label": [
2365
2741
  "object/get",
2366
2742
  "@cc",
@@ -2379,7 +2755,7 @@
2379
2755
  "category"
2380
2756
  ]
2381
2757
  ],
2382
- "primary",
2758
+ "secondary",
2383
2759
  "ghost"
2384
2760
  ]
2385
2761
  }
@@ -2440,33 +2816,176 @@
2440
2816
  {
2441
2817
  "children": [
2442
2818
  {
2443
- "content": "@entity.title",
2444
- "type": "typography",
2445
- "variant": "h4"
2819
+ "align": "start",
2820
+ "children": [
2821
+ {
2822
+ "children": [
2823
+ {
2824
+ "content": "@entity.title",
2825
+ "type": "typography",
2826
+ "variant": "h4"
2827
+ },
2828
+ [
2829
+ "if",
2830
+ [
2831
+ "==",
2832
+ "@config.summary",
2833
+ ""
2834
+ ],
2835
+ null,
2836
+ {
2837
+ "color": "muted",
2838
+ "content": "@config.summary",
2839
+ "type": "typography",
2840
+ "variant": "body2"
2841
+ }
2842
+ ]
2843
+ ],
2844
+ "direction": "vertical",
2845
+ "gap": "xs",
2846
+ "type": "stack"
2847
+ },
2848
+ {
2849
+ "label": [
2850
+ "if",
2851
+ [
2852
+ "<=",
2853
+ "@entity.cursorIndex",
2854
+ -1.0
2855
+ ],
2856
+ "Not started",
2857
+ [
2858
+ "if",
2859
+ [
2860
+ ">=",
2861
+ "@entity.cursorIndex",
2862
+ [
2863
+ "-",
2864
+ [
2865
+ "array/len",
2866
+ "@config.stages"
2867
+ ],
2868
+ 1.0
2869
+ ]
2870
+ ],
2871
+ "Complete",
2872
+ [
2873
+ "str/concat",
2874
+ "Stage ",
2875
+ [
2876
+ "+",
2877
+ "@entity.cursorIndex",
2878
+ 1.0
2879
+ ],
2880
+ " of ",
2881
+ [
2882
+ "array/len",
2883
+ "@config.stages"
2884
+ ]
2885
+ ]
2886
+ ]
2887
+ ],
2888
+ "type": "badge",
2889
+ "variant": [
2890
+ "if",
2891
+ [
2892
+ "<=",
2893
+ "@entity.cursorIndex",
2894
+ -1.0
2895
+ ],
2896
+ "neutral",
2897
+ [
2898
+ "if",
2899
+ [
2900
+ ">=",
2901
+ "@entity.cursorIndex",
2902
+ [
2903
+ "-",
2904
+ [
2905
+ "array/len",
2906
+ "@config.stages"
2907
+ ],
2908
+ 1.0
2909
+ ]
2910
+ ],
2911
+ "success",
2912
+ "primary"
2913
+ ]
2914
+ ]
2915
+ }
2916
+ ],
2917
+ "direction": "horizontal",
2918
+ "gap": "md",
2919
+ "justify": "between",
2920
+ "type": "stack"
2446
2921
  },
2447
2922
  {
2448
- "label": [
2449
- "str/concat",
2450
- "Stage ",
2451
- [
2452
- "str/concat",
2453
- "",
2454
- [
2455
- "+",
2923
+ "align": "center",
2924
+ "children": [
2925
+ {
2926
+ "action": "NEXT",
2927
+ "disabled": [
2928
+ ">=",
2456
2929
  "@entity.cursorIndex",
2457
- 1.0
2458
- ]
2459
- ],
2460
- " of ",
2461
- [
2462
- "str/concat",
2463
- "",
2464
- [
2465
- "array/len",
2466
- "@config.stages"
2467
- ]
2468
- ]
2930
+ [
2931
+ "-",
2932
+ [
2933
+ "array/len",
2934
+ "@config.stages"
2935
+ ],
2936
+ 1.0
2937
+ ]
2938
+ ],
2939
+ "icon": "chevron-right",
2940
+ "label": "Next",
2941
+ "type": "button",
2942
+ "variant": "primary"
2943
+ },
2944
+ {
2945
+ "action": "PREV",
2946
+ "disabled": [
2947
+ "<=",
2948
+ "@entity.cursorIndex",
2949
+ -1.0
2950
+ ],
2951
+ "icon": "chevron-left",
2952
+ "label": "Prev",
2953
+ "type": "button",
2954
+ "variant": "secondary"
2955
+ },
2956
+ {
2957
+ "action": "RESET_STEPPER",
2958
+ "icon": "rotate-ccw",
2959
+ "label": "Reset",
2960
+ "type": "button",
2961
+ "variant": "ghost"
2962
+ },
2963
+ {
2964
+ "color": "muted",
2965
+ "content": [
2966
+ "str/concat",
2967
+ "Stage ",
2968
+ [
2969
+ "+",
2970
+ "@entity.cursorIndex",
2971
+ 1.0
2972
+ ],
2973
+ " of ",
2974
+ [
2975
+ "array/len",
2976
+ "@config.stages"
2977
+ ]
2978
+ ],
2979
+ "type": "typography",
2980
+ "variant": "caption"
2981
+ }
2469
2982
  ],
2983
+ "direction": "horizontal",
2984
+ "gap": "sm",
2985
+ "type": "stack",
2986
+ "wrap": true
2987
+ },
2988
+ {
2470
2989
  "max": [
2471
2990
  "array/len",
2472
2991
  "@config.stages"
@@ -2480,28 +2999,14 @@
2480
2999
  ]
2481
3000
  },
2482
3001
  {
3002
+ "align": "center",
3003
+ "aria-label": "Category lens",
3004
+ "children": "@entity.filterButtons",
2483
3005
  "direction": "horizontal",
2484
- "items": [
2485
- "array/map",
2486
- "@config.categories",
2487
- [
2488
- "fn",
2489
- "cc",
2490
- {
2491
- "color": [
2492
- "object/get",
2493
- "@cc",
2494
- "color"
2495
- ],
2496
- "label": [
2497
- "object/get",
2498
- "@cc",
2499
- "label"
2500
- ]
2501
- }
2502
- ]
2503
- ],
2504
- "type": "chart-legend"
3006
+ "gap": "xs",
3007
+ "role": "group",
3008
+ "type": "stack",
3009
+ "wrap": true
2505
3010
  },
2506
3011
  {
2507
3012
  "animate": "@config.animate",
@@ -2510,6 +3015,11 @@
2510
3015
  "gridStep": 1.0,
2511
3016
  "height": "@config.height",
2512
3017
  "interactive": "@config.interactive",
3018
+ "keyMap": {
3019
+ "ArrowLeft": "PREV",
3020
+ "ArrowRight": "NEXT",
3021
+ "KeyR": "RESET_STEPPER"
3022
+ },
2513
3023
  "points": [],
2514
3024
  "shapes": "@entity.shapes",
2515
3025
  "showAxes": false,
@@ -2522,64 +3032,6 @@
2522
3032
  "yMax": "@config.height",
2523
3033
  "yMin": 0.0
2524
3034
  },
2525
- {
2526
- "children": "@entity.filterButtons",
2527
- "direction": "horizontal",
2528
- "gap": "xs",
2529
- "type": "stack"
2530
- },
2531
- {
2532
- "children": [
2533
- {
2534
- "action": "PREV",
2535
- "disabled": [
2536
- "if",
2537
- [
2538
- "<=",
2539
- "@entity.cursorIndex",
2540
- -1.0
2541
- ],
2542
- true,
2543
- false
2544
- ],
2545
- "label": "Prev",
2546
- "type": "button",
2547
- "variant": "ghost"
2548
- },
2549
- {
2550
- "action": "NEXT",
2551
- "disabled": [
2552
- "if",
2553
- [
2554
- ">=",
2555
- "@entity.cursorIndex",
2556
- [
2557
- "-",
2558
- [
2559
- "array/len",
2560
- "@config.stages"
2561
- ],
2562
- 1.0
2563
- ]
2564
- ],
2565
- true,
2566
- false
2567
- ],
2568
- "label": "Next",
2569
- "type": "button",
2570
- "variant": "primary"
2571
- },
2572
- {
2573
- "action": "RESET_STEPPER",
2574
- "label": "Reset",
2575
- "type": "button",
2576
- "variant": "ghost"
2577
- }
2578
- ],
2579
- "direction": "horizontal",
2580
- "gap": "sm",
2581
- "type": "stack"
2582
- },
2583
3035
  {
2584
3036
  "children": [
2585
3037
  {
@@ -2635,9 +3087,11 @@
2635
3087
  ],
2636
3088
  "direction": "horizontal",
2637
3089
  "gap": "xs",
2638
- "type": "stack"
3090
+ "type": "stack",
3091
+ "wrap": true
2639
3092
  },
2640
3093
  {
3094
+ "color": "muted",
2641
3095
  "content": "@entity.visibleThreadNote",
2642
3096
  "type": "typography",
2643
3097
  "variant": "caption"
@@ -2982,10 +3436,10 @@
2982
3436
  "baseShapes",
2983
3437
  [
2984
3438
  {
2985
- "color": "#78716c",
2986
3439
  "id": "axis",
2987
- "lineWidth": 2.0,
2988
3440
  "opacity": 1.0,
3441
+ "stroke": "normal",
3442
+ "tone": "axis",
2989
3443
  "type": "line",
2990
3444
  "x1": "@config.axisMarginLeft",
2991
3445
  "x2": [
@@ -2998,14 +3452,14 @@
2998
3452
  },
2999
3453
  {
3000
3454
  "align": "left",
3001
- "color": "#78716c",
3002
- "fontSize": 11.0,
3003
3455
  "id": "minPositionLabel",
3004
3456
  "text": [
3005
3457
  "str/concat",
3006
3458
  "",
3007
3459
  "@config.minPosition"
3008
3460
  ],
3461
+ "textSize": "xs",
3462
+ "tone": "label",
3009
3463
  "type": "text",
3010
3464
  "x": "@config.axisMarginLeft",
3011
3465
  "y": [
@@ -3016,14 +3470,14 @@
3016
3470
  },
3017
3471
  {
3018
3472
  "align": "right",
3019
- "color": "#78716c",
3020
- "fontSize": 11.0,
3021
3473
  "id": "maxPositionLabel",
3022
3474
  "text": [
3023
3475
  "str/concat",
3024
3476
  "",
3025
3477
  "@config.maxPosition"
3026
3478
  ],
3479
+ "textSize": "xs",
3480
+ "tone": "label",
3027
3481
  "type": "text",
3028
3482
  "x": [
3029
3483
  "-",
@@ -3180,27 +3634,27 @@
3180
3634
  "@isCurrent",
3181
3635
  [
3182
3636
  {
3183
- "color": "@catColor",
3184
- "fill": "transparent",
3637
+ "fillStyle": "outline",
3185
3638
  "id": [
3186
3639
  "str/concat",
3187
3640
  "ring-",
3188
3641
  "@s.position"
3189
3642
  ],
3190
- "lineWidth": 3.0,
3191
3643
  "opacity": 1.0,
3192
3644
  "radius": [
3193
3645
  "+",
3194
3646
  "@rad",
3195
3647
  5.0
3196
3648
  ],
3649
+ "stroke": "bold",
3650
+ "tone": "@catColor",
3197
3651
  "type": "circle",
3198
3652
  "x": "@xPos",
3199
3653
  "y": "@config.axisY"
3200
3654
  },
3201
3655
  {
3202
- "color": "@col",
3203
- "fill": "@col",
3656
+ "fillStyle": "solid",
3657
+ "fillTone": "@col",
3204
3658
  "id": [
3205
3659
  "str/concat",
3206
3660
  "marker-",
@@ -3208,6 +3662,7 @@
3208
3662
  ],
3209
3663
  "opacity": "@finalOpacity",
3210
3664
  "radius": "@rad",
3665
+ "tone": "@col",
3211
3666
  "type": "circle",
3212
3667
  "x": "@xPos",
3213
3668
  "y": "@config.axisY"
@@ -3215,8 +3670,8 @@
3215
3670
  ],
3216
3671
  [
3217
3672
  {
3218
- "color": "@col",
3219
- "fill": "@col",
3673
+ "fillStyle": "solid",
3674
+ "fillTone": "@col",
3220
3675
  "id": [
3221
3676
  "str/concat",
3222
3677
  "marker-",
@@ -3224,6 +3679,7 @@
3224
3679
  ],
3225
3680
  "opacity": "@finalOpacity",
3226
3681
  "radius": "@rad",
3682
+ "tone": "@col",
3227
3683
  "type": "circle",
3228
3684
  "x": "@xPos",
3229
3685
  "y": "@config.axisY"
@@ -3235,12 +3691,100 @@
3235
3691
  ]
3236
3692
  ]
3237
3693
  ],
3694
+ [
3695
+ "legendShapes",
3696
+ [
3697
+ "array/flatten",
3698
+ [
3699
+ "array/map",
3700
+ "@config.categories",
3701
+ [
3702
+ {
3703
+ "fillStyle": "solid",
3704
+ "fillTone": [
3705
+ "object/get",
3706
+ "@item",
3707
+ "color"
3708
+ ],
3709
+ "id": [
3710
+ "str/concat",
3711
+ "legend-dot-",
3712
+ "@index"
3713
+ ],
3714
+ "opacity": 1.0,
3715
+ "radius": 5.0,
3716
+ "tone": [
3717
+ "object/get",
3718
+ "@item",
3719
+ "color"
3720
+ ],
3721
+ "type": "circle",
3722
+ "x": [
3723
+ "+",
3724
+ "@config.axisMarginLeft",
3725
+ [
3726
+ "*",
3727
+ "@index",
3728
+ [
3729
+ "/",
3730
+ "@axisWidth",
3731
+ [
3732
+ "array/len",
3733
+ "@config.categories"
3734
+ ]
3735
+ ]
3736
+ ]
3737
+ ],
3738
+ "y": 22.0
3739
+ },
3740
+ {
3741
+ "align": "left",
3742
+ "id": [
3743
+ "str/concat",
3744
+ "legend-label-",
3745
+ "@index"
3746
+ ],
3747
+ "text": [
3748
+ "object/get",
3749
+ "@item",
3750
+ "label"
3751
+ ],
3752
+ "textSize": "xs",
3753
+ "tone": "label",
3754
+ "type": "text",
3755
+ "x": [
3756
+ "+",
3757
+ [
3758
+ "+",
3759
+ "@config.axisMarginLeft",
3760
+ [
3761
+ "*",
3762
+ "@index",
3763
+ [
3764
+ "/",
3765
+ "@axisWidth",
3766
+ [
3767
+ "array/len",
3768
+ "@config.categories"
3769
+ ]
3770
+ ]
3771
+ ]
3772
+ ],
3773
+ 12.0
3774
+ ],
3775
+ "y": 26.0
3776
+ }
3777
+ ]
3778
+ ]
3779
+ ]
3780
+ ],
3238
3781
  [
3239
3782
  "allShapes",
3240
3783
  [
3241
3784
  "array/concat",
3242
3785
  "@baseShapes",
3243
- "@markerShapes"
3786
+ "@markerShapes",
3787
+ "@legendShapes"
3244
3788
  ]
3245
3789
  ],
3246
3790
  [
@@ -3253,6 +3797,16 @@
3253
3797
  "actionPayload": {
3254
3798
  "category": "all"
3255
3799
  },
3800
+ "aria-pressed": [
3801
+ "if",
3802
+ [
3803
+ "==",
3804
+ "@entity.activeFilter",
3805
+ "all"
3806
+ ],
3807
+ "true",
3808
+ "false"
3809
+ ],
3256
3810
  "label": "@config.allLabel",
3257
3811
  "size": "sm",
3258
3812
  "type": "button",
@@ -3263,7 +3817,7 @@
3263
3817
  "@entity.activeFilter",
3264
3818
  "all"
3265
3819
  ],
3266
- "primary",
3820
+ "secondary",
3267
3821
  "ghost"
3268
3822
  ]
3269
3823
  }
@@ -3283,6 +3837,20 @@
3283
3837
  "category"
3284
3838
  ]
3285
3839
  },
3840
+ "aria-pressed": [
3841
+ "if",
3842
+ [
3843
+ "==",
3844
+ "@entity.activeFilter",
3845
+ [
3846
+ "object/get",
3847
+ "@cc",
3848
+ "category"
3849
+ ]
3850
+ ],
3851
+ "true",
3852
+ "false"
3853
+ ],
3286
3854
  "label": [
3287
3855
  "object/get",
3288
3856
  "@cc",
@@ -3301,7 +3869,7 @@
3301
3869
  "category"
3302
3870
  ]
3303
3871
  ],
3304
- "primary",
3872
+ "secondary",
3305
3873
  "ghost"
3306
3874
  ]
3307
3875
  }
@@ -3362,33 +3930,176 @@
3362
3930
  {
3363
3931
  "children": [
3364
3932
  {
3365
- "content": "@entity.title",
3366
- "type": "typography",
3367
- "variant": "h4"
3933
+ "align": "start",
3934
+ "children": [
3935
+ {
3936
+ "children": [
3937
+ {
3938
+ "content": "@entity.title",
3939
+ "type": "typography",
3940
+ "variant": "h4"
3941
+ },
3942
+ [
3943
+ "if",
3944
+ [
3945
+ "==",
3946
+ "@config.summary",
3947
+ ""
3948
+ ],
3949
+ null,
3950
+ {
3951
+ "color": "muted",
3952
+ "content": "@config.summary",
3953
+ "type": "typography",
3954
+ "variant": "body2"
3955
+ }
3956
+ ]
3957
+ ],
3958
+ "direction": "vertical",
3959
+ "gap": "xs",
3960
+ "type": "stack"
3961
+ },
3962
+ {
3963
+ "label": [
3964
+ "if",
3965
+ [
3966
+ "<=",
3967
+ "@entity.cursorIndex",
3968
+ -1.0
3969
+ ],
3970
+ "Not started",
3971
+ [
3972
+ "if",
3973
+ [
3974
+ ">=",
3975
+ "@entity.cursorIndex",
3976
+ [
3977
+ "-",
3978
+ [
3979
+ "array/len",
3980
+ "@config.stages"
3981
+ ],
3982
+ 1.0
3983
+ ]
3984
+ ],
3985
+ "Complete",
3986
+ [
3987
+ "str/concat",
3988
+ "Stage ",
3989
+ [
3990
+ "+",
3991
+ "@entity.cursorIndex",
3992
+ 1.0
3993
+ ],
3994
+ " of ",
3995
+ [
3996
+ "array/len",
3997
+ "@config.stages"
3998
+ ]
3999
+ ]
4000
+ ]
4001
+ ],
4002
+ "type": "badge",
4003
+ "variant": [
4004
+ "if",
4005
+ [
4006
+ "<=",
4007
+ "@entity.cursorIndex",
4008
+ -1.0
4009
+ ],
4010
+ "neutral",
4011
+ [
4012
+ "if",
4013
+ [
4014
+ ">=",
4015
+ "@entity.cursorIndex",
4016
+ [
4017
+ "-",
4018
+ [
4019
+ "array/len",
4020
+ "@config.stages"
4021
+ ],
4022
+ 1.0
4023
+ ]
4024
+ ],
4025
+ "success",
4026
+ "primary"
4027
+ ]
4028
+ ]
4029
+ }
4030
+ ],
4031
+ "direction": "horizontal",
4032
+ "gap": "md",
4033
+ "justify": "between",
4034
+ "type": "stack"
3368
4035
  },
3369
4036
  {
3370
- "label": [
3371
- "str/concat",
3372
- "Stage ",
3373
- [
3374
- "str/concat",
3375
- "",
3376
- [
3377
- "+",
4037
+ "align": "center",
4038
+ "children": [
4039
+ {
4040
+ "action": "NEXT",
4041
+ "disabled": [
4042
+ ">=",
3378
4043
  "@entity.cursorIndex",
3379
- 1.0
3380
- ]
3381
- ],
3382
- " of ",
3383
- [
3384
- "str/concat",
3385
- "",
3386
- [
3387
- "array/len",
3388
- "@config.stages"
3389
- ]
3390
- ]
4044
+ [
4045
+ "-",
4046
+ [
4047
+ "array/len",
4048
+ "@config.stages"
4049
+ ],
4050
+ 1.0
4051
+ ]
4052
+ ],
4053
+ "icon": "chevron-right",
4054
+ "label": "Next",
4055
+ "type": "button",
4056
+ "variant": "primary"
4057
+ },
4058
+ {
4059
+ "action": "PREV",
4060
+ "disabled": [
4061
+ "<=",
4062
+ "@entity.cursorIndex",
4063
+ -1.0
4064
+ ],
4065
+ "icon": "chevron-left",
4066
+ "label": "Prev",
4067
+ "type": "button",
4068
+ "variant": "secondary"
4069
+ },
4070
+ {
4071
+ "action": "RESET_STEPPER",
4072
+ "icon": "rotate-ccw",
4073
+ "label": "Reset",
4074
+ "type": "button",
4075
+ "variant": "ghost"
4076
+ },
4077
+ {
4078
+ "color": "muted",
4079
+ "content": [
4080
+ "str/concat",
4081
+ "Stage ",
4082
+ [
4083
+ "+",
4084
+ "@entity.cursorIndex",
4085
+ 1.0
4086
+ ],
4087
+ " of ",
4088
+ [
4089
+ "array/len",
4090
+ "@config.stages"
4091
+ ]
4092
+ ],
4093
+ "type": "typography",
4094
+ "variant": "caption"
4095
+ }
3391
4096
  ],
4097
+ "direction": "horizontal",
4098
+ "gap": "sm",
4099
+ "type": "stack",
4100
+ "wrap": true
4101
+ },
4102
+ {
3392
4103
  "max": [
3393
4104
  "array/len",
3394
4105
  "@config.stages"
@@ -3402,28 +4113,14 @@
3402
4113
  ]
3403
4114
  },
3404
4115
  {
4116
+ "align": "center",
4117
+ "aria-label": "Category lens",
4118
+ "children": "@entity.filterButtons",
3405
4119
  "direction": "horizontal",
3406
- "items": [
3407
- "array/map",
3408
- "@config.categories",
3409
- [
3410
- "fn",
3411
- "cc",
3412
- {
3413
- "color": [
3414
- "object/get",
3415
- "@cc",
3416
- "color"
3417
- ],
3418
- "label": [
3419
- "object/get",
3420
- "@cc",
3421
- "label"
3422
- ]
3423
- }
3424
- ]
3425
- ],
3426
- "type": "chart-legend"
4120
+ "gap": "xs",
4121
+ "role": "group",
4122
+ "type": "stack",
4123
+ "wrap": true
3427
4124
  },
3428
4125
  {
3429
4126
  "animate": "@config.animate",
@@ -3432,6 +4129,11 @@
3432
4129
  "gridStep": 1.0,
3433
4130
  "height": "@config.height",
3434
4131
  "interactive": "@config.interactive",
4132
+ "keyMap": {
4133
+ "ArrowLeft": "PREV",
4134
+ "ArrowRight": "NEXT",
4135
+ "KeyR": "RESET_STEPPER"
4136
+ },
3435
4137
  "points": [],
3436
4138
  "shapes": "@entity.shapes",
3437
4139
  "showAxes": false,
@@ -3444,64 +4146,6 @@
3444
4146
  "yMax": "@config.height",
3445
4147
  "yMin": 0.0
3446
4148
  },
3447
- {
3448
- "children": "@entity.filterButtons",
3449
- "direction": "horizontal",
3450
- "gap": "xs",
3451
- "type": "stack"
3452
- },
3453
- {
3454
- "children": [
3455
- {
3456
- "action": "PREV",
3457
- "disabled": [
3458
- "if",
3459
- [
3460
- "<=",
3461
- "@entity.cursorIndex",
3462
- -1.0
3463
- ],
3464
- true,
3465
- false
3466
- ],
3467
- "label": "Prev",
3468
- "type": "button",
3469
- "variant": "ghost"
3470
- },
3471
- {
3472
- "action": "NEXT",
3473
- "disabled": [
3474
- "if",
3475
- [
3476
- ">=",
3477
- "@entity.cursorIndex",
3478
- [
3479
- "-",
3480
- [
3481
- "array/len",
3482
- "@config.stages"
3483
- ],
3484
- 1.0
3485
- ]
3486
- ],
3487
- true,
3488
- false
3489
- ],
3490
- "label": "Next",
3491
- "type": "button",
3492
- "variant": "primary"
3493
- },
3494
- {
3495
- "action": "RESET_STEPPER",
3496
- "label": "Reset",
3497
- "type": "button",
3498
- "variant": "ghost"
3499
- }
3500
- ],
3501
- "direction": "horizontal",
3502
- "gap": "sm",
3503
- "type": "stack"
3504
- },
3505
4149
  {
3506
4150
  "children": [
3507
4151
  {
@@ -3557,9 +4201,11 @@
3557
4201
  ],
3558
4202
  "direction": "horizontal",
3559
4203
  "gap": "xs",
3560
- "type": "stack"
4204
+ "type": "stack",
4205
+ "wrap": true
3561
4206
  },
3562
4207
  {
4208
+ "color": "muted",
3563
4209
  "content": "@entity.visibleThreadNote",
3564
4210
  "type": "typography",
3565
4211
  "variant": "caption"
@@ -3906,10 +4552,10 @@
3906
4552
  "baseShapes",
3907
4553
  [
3908
4554
  {
3909
- "color": "#78716c",
3910
4555
  "id": "axis",
3911
- "lineWidth": 2.0,
3912
4556
  "opacity": 1.0,
4557
+ "stroke": "normal",
4558
+ "tone": "axis",
3913
4559
  "type": "line",
3914
4560
  "x1": "@config.axisMarginLeft",
3915
4561
  "x2": [
@@ -3922,14 +4568,14 @@
3922
4568
  },
3923
4569
  {
3924
4570
  "align": "left",
3925
- "color": "#78716c",
3926
- "fontSize": 11.0,
3927
4571
  "id": "minPositionLabel",
3928
4572
  "text": [
3929
4573
  "str/concat",
3930
4574
  "",
3931
4575
  "@config.minPosition"
3932
4576
  ],
4577
+ "textSize": "xs",
4578
+ "tone": "label",
3933
4579
  "type": "text",
3934
4580
  "x": "@config.axisMarginLeft",
3935
4581
  "y": [
@@ -3940,14 +4586,14 @@
3940
4586
  },
3941
4587
  {
3942
4588
  "align": "right",
3943
- "color": "#78716c",
3944
- "fontSize": 11.0,
3945
4589
  "id": "maxPositionLabel",
3946
4590
  "text": [
3947
4591
  "str/concat",
3948
4592
  "",
3949
4593
  "@config.maxPosition"
3950
4594
  ],
4595
+ "textSize": "xs",
4596
+ "tone": "label",
3951
4597
  "type": "text",
3952
4598
  "x": [
3953
4599
  "-",
@@ -4104,27 +4750,27 @@
4104
4750
  "@isCurrent",
4105
4751
  [
4106
4752
  {
4107
- "color": "@catColor",
4108
- "fill": "transparent",
4753
+ "fillStyle": "outline",
4109
4754
  "id": [
4110
4755
  "str/concat",
4111
4756
  "ring-",
4112
4757
  "@s.position"
4113
4758
  ],
4114
- "lineWidth": 3.0,
4115
4759
  "opacity": 1.0,
4116
4760
  "radius": [
4117
4761
  "+",
4118
4762
  "@rad",
4119
4763
  5.0
4120
4764
  ],
4765
+ "stroke": "bold",
4766
+ "tone": "@catColor",
4121
4767
  "type": "circle",
4122
4768
  "x": "@xPos",
4123
4769
  "y": "@config.axisY"
4124
4770
  },
4125
4771
  {
4126
- "color": "@col",
4127
- "fill": "@col",
4772
+ "fillStyle": "solid",
4773
+ "fillTone": "@col",
4128
4774
  "id": [
4129
4775
  "str/concat",
4130
4776
  "marker-",
@@ -4132,6 +4778,7 @@
4132
4778
  ],
4133
4779
  "opacity": "@finalOpacity",
4134
4780
  "radius": "@rad",
4781
+ "tone": "@col",
4135
4782
  "type": "circle",
4136
4783
  "x": "@xPos",
4137
4784
  "y": "@config.axisY"
@@ -4139,8 +4786,8 @@
4139
4786
  ],
4140
4787
  [
4141
4788
  {
4142
- "color": "@col",
4143
- "fill": "@col",
4789
+ "fillStyle": "solid",
4790
+ "fillTone": "@col",
4144
4791
  "id": [
4145
4792
  "str/concat",
4146
4793
  "marker-",
@@ -4148,6 +4795,7 @@
4148
4795
  ],
4149
4796
  "opacity": "@finalOpacity",
4150
4797
  "radius": "@rad",
4798
+ "tone": "@col",
4151
4799
  "type": "circle",
4152
4800
  "x": "@xPos",
4153
4801
  "y": "@config.axisY"
@@ -4159,12 +4807,100 @@
4159
4807
  ]
4160
4808
  ]
4161
4809
  ],
4810
+ [
4811
+ "legendShapes",
4812
+ [
4813
+ "array/flatten",
4814
+ [
4815
+ "array/map",
4816
+ "@config.categories",
4817
+ [
4818
+ {
4819
+ "fillStyle": "solid",
4820
+ "fillTone": [
4821
+ "object/get",
4822
+ "@item",
4823
+ "color"
4824
+ ],
4825
+ "id": [
4826
+ "str/concat",
4827
+ "legend-dot-",
4828
+ "@index"
4829
+ ],
4830
+ "opacity": 1.0,
4831
+ "radius": 5.0,
4832
+ "tone": [
4833
+ "object/get",
4834
+ "@item",
4835
+ "color"
4836
+ ],
4837
+ "type": "circle",
4838
+ "x": [
4839
+ "+",
4840
+ "@config.axisMarginLeft",
4841
+ [
4842
+ "*",
4843
+ "@index",
4844
+ [
4845
+ "/",
4846
+ "@axisWidth",
4847
+ [
4848
+ "array/len",
4849
+ "@config.categories"
4850
+ ]
4851
+ ]
4852
+ ]
4853
+ ],
4854
+ "y": 22.0
4855
+ },
4856
+ {
4857
+ "align": "left",
4858
+ "id": [
4859
+ "str/concat",
4860
+ "legend-label-",
4861
+ "@index"
4862
+ ],
4863
+ "text": [
4864
+ "object/get",
4865
+ "@item",
4866
+ "label"
4867
+ ],
4868
+ "textSize": "xs",
4869
+ "tone": "label",
4870
+ "type": "text",
4871
+ "x": [
4872
+ "+",
4873
+ [
4874
+ "+",
4875
+ "@config.axisMarginLeft",
4876
+ [
4877
+ "*",
4878
+ "@index",
4879
+ [
4880
+ "/",
4881
+ "@axisWidth",
4882
+ [
4883
+ "array/len",
4884
+ "@config.categories"
4885
+ ]
4886
+ ]
4887
+ ]
4888
+ ],
4889
+ 12.0
4890
+ ],
4891
+ "y": 26.0
4892
+ }
4893
+ ]
4894
+ ]
4895
+ ]
4896
+ ],
4162
4897
  [
4163
4898
  "allShapes",
4164
4899
  [
4165
4900
  "array/concat",
4166
4901
  "@baseShapes",
4167
- "@markerShapes"
4902
+ "@markerShapes",
4903
+ "@legendShapes"
4168
4904
  ]
4169
4905
  ],
4170
4906
  [
@@ -4177,6 +4913,16 @@
4177
4913
  "actionPayload": {
4178
4914
  "category": "all"
4179
4915
  },
4916
+ "aria-pressed": [
4917
+ "if",
4918
+ [
4919
+ "==",
4920
+ "@entity.activeFilter",
4921
+ "all"
4922
+ ],
4923
+ "true",
4924
+ "false"
4925
+ ],
4180
4926
  "label": "@config.allLabel",
4181
4927
  "size": "sm",
4182
4928
  "type": "button",
@@ -4187,7 +4933,7 @@
4187
4933
  "@entity.activeFilter",
4188
4934
  "all"
4189
4935
  ],
4190
- "primary",
4936
+ "secondary",
4191
4937
  "ghost"
4192
4938
  ]
4193
4939
  }
@@ -4207,6 +4953,20 @@
4207
4953
  "category"
4208
4954
  ]
4209
4955
  },
4956
+ "aria-pressed": [
4957
+ "if",
4958
+ [
4959
+ "==",
4960
+ "@entity.activeFilter",
4961
+ [
4962
+ "object/get",
4963
+ "@cc",
4964
+ "category"
4965
+ ]
4966
+ ],
4967
+ "true",
4968
+ "false"
4969
+ ],
4210
4970
  "label": [
4211
4971
  "object/get",
4212
4972
  "@cc",
@@ -4225,7 +4985,7 @@
4225
4985
  "category"
4226
4986
  ]
4227
4987
  ],
4228
- "primary",
4988
+ "secondary",
4229
4989
  "ghost"
4230
4990
  ]
4231
4991
  }
@@ -4286,33 +5046,176 @@
4286
5046
  {
4287
5047
  "children": [
4288
5048
  {
4289
- "content": "@entity.title",
4290
- "type": "typography",
4291
- "variant": "h4"
5049
+ "align": "start",
5050
+ "children": [
5051
+ {
5052
+ "children": [
5053
+ {
5054
+ "content": "@entity.title",
5055
+ "type": "typography",
5056
+ "variant": "h4"
5057
+ },
5058
+ [
5059
+ "if",
5060
+ [
5061
+ "==",
5062
+ "@config.summary",
5063
+ ""
5064
+ ],
5065
+ null,
5066
+ {
5067
+ "color": "muted",
5068
+ "content": "@config.summary",
5069
+ "type": "typography",
5070
+ "variant": "body2"
5071
+ }
5072
+ ]
5073
+ ],
5074
+ "direction": "vertical",
5075
+ "gap": "xs",
5076
+ "type": "stack"
5077
+ },
5078
+ {
5079
+ "label": [
5080
+ "if",
5081
+ [
5082
+ "<=",
5083
+ "@entity.cursorIndex",
5084
+ -1.0
5085
+ ],
5086
+ "Not started",
5087
+ [
5088
+ "if",
5089
+ [
5090
+ ">=",
5091
+ "@entity.cursorIndex",
5092
+ [
5093
+ "-",
5094
+ [
5095
+ "array/len",
5096
+ "@config.stages"
5097
+ ],
5098
+ 1.0
5099
+ ]
5100
+ ],
5101
+ "Complete",
5102
+ [
5103
+ "str/concat",
5104
+ "Stage ",
5105
+ [
5106
+ "+",
5107
+ "@entity.cursorIndex",
5108
+ 1.0
5109
+ ],
5110
+ " of ",
5111
+ [
5112
+ "array/len",
5113
+ "@config.stages"
5114
+ ]
5115
+ ]
5116
+ ]
5117
+ ],
5118
+ "type": "badge",
5119
+ "variant": [
5120
+ "if",
5121
+ [
5122
+ "<=",
5123
+ "@entity.cursorIndex",
5124
+ -1.0
5125
+ ],
5126
+ "neutral",
5127
+ [
5128
+ "if",
5129
+ [
5130
+ ">=",
5131
+ "@entity.cursorIndex",
5132
+ [
5133
+ "-",
5134
+ [
5135
+ "array/len",
5136
+ "@config.stages"
5137
+ ],
5138
+ 1.0
5139
+ ]
5140
+ ],
5141
+ "success",
5142
+ "primary"
5143
+ ]
5144
+ ]
5145
+ }
5146
+ ],
5147
+ "direction": "horizontal",
5148
+ "gap": "md",
5149
+ "justify": "between",
5150
+ "type": "stack"
4292
5151
  },
4293
5152
  {
4294
- "label": [
4295
- "str/concat",
4296
- "Stage ",
4297
- [
4298
- "str/concat",
4299
- "",
4300
- [
4301
- "+",
5153
+ "align": "center",
5154
+ "children": [
5155
+ {
5156
+ "action": "NEXT",
5157
+ "disabled": [
5158
+ ">=",
4302
5159
  "@entity.cursorIndex",
4303
- 1.0
4304
- ]
4305
- ],
4306
- " of ",
4307
- [
4308
- "str/concat",
4309
- "",
4310
- [
4311
- "array/len",
4312
- "@config.stages"
4313
- ]
4314
- ]
5160
+ [
5161
+ "-",
5162
+ [
5163
+ "array/len",
5164
+ "@config.stages"
5165
+ ],
5166
+ 1.0
5167
+ ]
5168
+ ],
5169
+ "icon": "chevron-right",
5170
+ "label": "Next",
5171
+ "type": "button",
5172
+ "variant": "primary"
5173
+ },
5174
+ {
5175
+ "action": "PREV",
5176
+ "disabled": [
5177
+ "<=",
5178
+ "@entity.cursorIndex",
5179
+ -1.0
5180
+ ],
5181
+ "icon": "chevron-left",
5182
+ "label": "Prev",
5183
+ "type": "button",
5184
+ "variant": "secondary"
5185
+ },
5186
+ {
5187
+ "action": "RESET_STEPPER",
5188
+ "icon": "rotate-ccw",
5189
+ "label": "Reset",
5190
+ "type": "button",
5191
+ "variant": "ghost"
5192
+ },
5193
+ {
5194
+ "color": "muted",
5195
+ "content": [
5196
+ "str/concat",
5197
+ "Stage ",
5198
+ [
5199
+ "+",
5200
+ "@entity.cursorIndex",
5201
+ 1.0
5202
+ ],
5203
+ " of ",
5204
+ [
5205
+ "array/len",
5206
+ "@config.stages"
5207
+ ]
5208
+ ],
5209
+ "type": "typography",
5210
+ "variant": "caption"
5211
+ }
4315
5212
  ],
5213
+ "direction": "horizontal",
5214
+ "gap": "sm",
5215
+ "type": "stack",
5216
+ "wrap": true
5217
+ },
5218
+ {
4316
5219
  "max": [
4317
5220
  "array/len",
4318
5221
  "@config.stages"
@@ -4326,28 +5229,14 @@
4326
5229
  ]
4327
5230
  },
4328
5231
  {
5232
+ "align": "center",
5233
+ "aria-label": "Category lens",
5234
+ "children": "@entity.filterButtons",
4329
5235
  "direction": "horizontal",
4330
- "items": [
4331
- "array/map",
4332
- "@config.categories",
4333
- [
4334
- "fn",
4335
- "cc",
4336
- {
4337
- "color": [
4338
- "object/get",
4339
- "@cc",
4340
- "color"
4341
- ],
4342
- "label": [
4343
- "object/get",
4344
- "@cc",
4345
- "label"
4346
- ]
4347
- }
4348
- ]
4349
- ],
4350
- "type": "chart-legend"
5236
+ "gap": "xs",
5237
+ "role": "group",
5238
+ "type": "stack",
5239
+ "wrap": true
4351
5240
  },
4352
5241
  {
4353
5242
  "animate": "@config.animate",
@@ -4356,6 +5245,11 @@
4356
5245
  "gridStep": 1.0,
4357
5246
  "height": "@config.height",
4358
5247
  "interactive": "@config.interactive",
5248
+ "keyMap": {
5249
+ "ArrowLeft": "PREV",
5250
+ "ArrowRight": "NEXT",
5251
+ "KeyR": "RESET_STEPPER"
5252
+ },
4359
5253
  "points": [],
4360
5254
  "shapes": "@entity.shapes",
4361
5255
  "showAxes": false,
@@ -4368,64 +5262,6 @@
4368
5262
  "yMax": "@config.height",
4369
5263
  "yMin": 0.0
4370
5264
  },
4371
- {
4372
- "children": "@entity.filterButtons",
4373
- "direction": "horizontal",
4374
- "gap": "xs",
4375
- "type": "stack"
4376
- },
4377
- {
4378
- "children": [
4379
- {
4380
- "action": "PREV",
4381
- "disabled": [
4382
- "if",
4383
- [
4384
- "<=",
4385
- "@entity.cursorIndex",
4386
- -1.0
4387
- ],
4388
- true,
4389
- false
4390
- ],
4391
- "label": "Prev",
4392
- "type": "button",
4393
- "variant": "ghost"
4394
- },
4395
- {
4396
- "action": "NEXT",
4397
- "disabled": [
4398
- "if",
4399
- [
4400
- ">=",
4401
- "@entity.cursorIndex",
4402
- [
4403
- "-",
4404
- [
4405
- "array/len",
4406
- "@config.stages"
4407
- ],
4408
- 1.0
4409
- ]
4410
- ],
4411
- true,
4412
- false
4413
- ],
4414
- "label": "Next",
4415
- "type": "button",
4416
- "variant": "primary"
4417
- },
4418
- {
4419
- "action": "RESET_STEPPER",
4420
- "label": "Reset",
4421
- "type": "button",
4422
- "variant": "ghost"
4423
- }
4424
- ],
4425
- "direction": "horizontal",
4426
- "gap": "sm",
4427
- "type": "stack"
4428
- },
4429
5265
  {
4430
5266
  "children": [
4431
5267
  {
@@ -4481,9 +5317,11 @@
4481
5317
  ],
4482
5318
  "direction": "horizontal",
4483
5319
  "gap": "xs",
4484
- "type": "stack"
5320
+ "type": "stack",
5321
+ "wrap": true
4485
5322
  },
4486
5323
  {
5324
+ "color": "muted",
4487
5325
  "content": "@entity.visibleThreadNote",
4488
5326
  "type": "typography",
4489
5327
  "variant": "caption"
@@ -4822,10 +5660,10 @@
4822
5660
  "baseShapes",
4823
5661
  [
4824
5662
  {
4825
- "color": "#78716c",
4826
5663
  "id": "axis",
4827
- "lineWidth": 2.0,
4828
5664
  "opacity": 1.0,
5665
+ "stroke": "normal",
5666
+ "tone": "axis",
4829
5667
  "type": "line",
4830
5668
  "x1": "@config.axisMarginLeft",
4831
5669
  "x2": [
@@ -4838,14 +5676,14 @@
4838
5676
  },
4839
5677
  {
4840
5678
  "align": "left",
4841
- "color": "#78716c",
4842
- "fontSize": 11.0,
4843
5679
  "id": "minPositionLabel",
4844
5680
  "text": [
4845
5681
  "str/concat",
4846
5682
  "",
4847
5683
  "@config.minPosition"
4848
5684
  ],
5685
+ "textSize": "xs",
5686
+ "tone": "label",
4849
5687
  "type": "text",
4850
5688
  "x": "@config.axisMarginLeft",
4851
5689
  "y": [
@@ -4856,14 +5694,14 @@
4856
5694
  },
4857
5695
  {
4858
5696
  "align": "right",
4859
- "color": "#78716c",
4860
- "fontSize": 11.0,
4861
5697
  "id": "maxPositionLabel",
4862
5698
  "text": [
4863
5699
  "str/concat",
4864
5700
  "",
4865
5701
  "@config.maxPosition"
4866
5702
  ],
5703
+ "textSize": "xs",
5704
+ "tone": "label",
4867
5705
  "type": "text",
4868
5706
  "x": [
4869
5707
  "-",
@@ -5020,27 +5858,27 @@
5020
5858
  "@isCurrent",
5021
5859
  [
5022
5860
  {
5023
- "color": "@catColor",
5024
- "fill": "transparent",
5861
+ "fillStyle": "outline",
5025
5862
  "id": [
5026
5863
  "str/concat",
5027
5864
  "ring-",
5028
5865
  "@s.position"
5029
5866
  ],
5030
- "lineWidth": 3.0,
5031
5867
  "opacity": 1.0,
5032
5868
  "radius": [
5033
5869
  "+",
5034
5870
  "@rad",
5035
5871
  5.0
5036
5872
  ],
5873
+ "stroke": "bold",
5874
+ "tone": "@catColor",
5037
5875
  "type": "circle",
5038
5876
  "x": "@xPos",
5039
5877
  "y": "@config.axisY"
5040
5878
  },
5041
5879
  {
5042
- "color": "@col",
5043
- "fill": "@col",
5880
+ "fillStyle": "solid",
5881
+ "fillTone": "@col",
5044
5882
  "id": [
5045
5883
  "str/concat",
5046
5884
  "marker-",
@@ -5048,6 +5886,7 @@
5048
5886
  ],
5049
5887
  "opacity": "@finalOpacity",
5050
5888
  "radius": "@rad",
5889
+ "tone": "@col",
5051
5890
  "type": "circle",
5052
5891
  "x": "@xPos",
5053
5892
  "y": "@config.axisY"
@@ -5055,8 +5894,8 @@
5055
5894
  ],
5056
5895
  [
5057
5896
  {
5058
- "color": "@col",
5059
- "fill": "@col",
5897
+ "fillStyle": "solid",
5898
+ "fillTone": "@col",
5060
5899
  "id": [
5061
5900
  "str/concat",
5062
5901
  "marker-",
@@ -5064,6 +5903,7 @@
5064
5903
  ],
5065
5904
  "opacity": "@finalOpacity",
5066
5905
  "radius": "@rad",
5906
+ "tone": "@col",
5067
5907
  "type": "circle",
5068
5908
  "x": "@xPos",
5069
5909
  "y": "@config.axisY"
@@ -5075,12 +5915,100 @@
5075
5915
  ]
5076
5916
  ]
5077
5917
  ],
5918
+ [
5919
+ "legendShapes",
5920
+ [
5921
+ "array/flatten",
5922
+ [
5923
+ "array/map",
5924
+ "@config.categories",
5925
+ [
5926
+ {
5927
+ "fillStyle": "solid",
5928
+ "fillTone": [
5929
+ "object/get",
5930
+ "@item",
5931
+ "color"
5932
+ ],
5933
+ "id": [
5934
+ "str/concat",
5935
+ "legend-dot-",
5936
+ "@index"
5937
+ ],
5938
+ "opacity": 1.0,
5939
+ "radius": 5.0,
5940
+ "tone": [
5941
+ "object/get",
5942
+ "@item",
5943
+ "color"
5944
+ ],
5945
+ "type": "circle",
5946
+ "x": [
5947
+ "+",
5948
+ "@config.axisMarginLeft",
5949
+ [
5950
+ "*",
5951
+ "@index",
5952
+ [
5953
+ "/",
5954
+ "@axisWidth",
5955
+ [
5956
+ "array/len",
5957
+ "@config.categories"
5958
+ ]
5959
+ ]
5960
+ ]
5961
+ ],
5962
+ "y": 22.0
5963
+ },
5964
+ {
5965
+ "align": "left",
5966
+ "id": [
5967
+ "str/concat",
5968
+ "legend-label-",
5969
+ "@index"
5970
+ ],
5971
+ "text": [
5972
+ "object/get",
5973
+ "@item",
5974
+ "label"
5975
+ ],
5976
+ "textSize": "xs",
5977
+ "tone": "label",
5978
+ "type": "text",
5979
+ "x": [
5980
+ "+",
5981
+ [
5982
+ "+",
5983
+ "@config.axisMarginLeft",
5984
+ [
5985
+ "*",
5986
+ "@index",
5987
+ [
5988
+ "/",
5989
+ "@axisWidth",
5990
+ [
5991
+ "array/len",
5992
+ "@config.categories"
5993
+ ]
5994
+ ]
5995
+ ]
5996
+ ],
5997
+ 12.0
5998
+ ],
5999
+ "y": 26.0
6000
+ }
6001
+ ]
6002
+ ]
6003
+ ]
6004
+ ],
5078
6005
  [
5079
6006
  "allShapes",
5080
6007
  [
5081
6008
  "array/concat",
5082
6009
  "@baseShapes",
5083
- "@markerShapes"
6010
+ "@markerShapes",
6011
+ "@legendShapes"
5084
6012
  ]
5085
6013
  ],
5086
6014
  [
@@ -5093,6 +6021,16 @@
5093
6021
  "actionPayload": {
5094
6022
  "category": "all"
5095
6023
  },
6024
+ "aria-pressed": [
6025
+ "if",
6026
+ [
6027
+ "==",
6028
+ "@entity.activeFilter",
6029
+ "all"
6030
+ ],
6031
+ "true",
6032
+ "false"
6033
+ ],
5096
6034
  "label": "@config.allLabel",
5097
6035
  "size": "sm",
5098
6036
  "type": "button",
@@ -5103,7 +6041,7 @@
5103
6041
  "@entity.activeFilter",
5104
6042
  "all"
5105
6043
  ],
5106
- "primary",
6044
+ "secondary",
5107
6045
  "ghost"
5108
6046
  ]
5109
6047
  }
@@ -5123,6 +6061,20 @@
5123
6061
  "category"
5124
6062
  ]
5125
6063
  },
6064
+ "aria-pressed": [
6065
+ "if",
6066
+ [
6067
+ "==",
6068
+ "@entity.activeFilter",
6069
+ [
6070
+ "object/get",
6071
+ "@cc",
6072
+ "category"
6073
+ ]
6074
+ ],
6075
+ "true",
6076
+ "false"
6077
+ ],
5126
6078
  "label": [
5127
6079
  "object/get",
5128
6080
  "@cc",
@@ -5141,7 +6093,7 @@
5141
6093
  "category"
5142
6094
  ]
5143
6095
  ],
5144
- "primary",
6096
+ "secondary",
5145
6097
  "ghost"
5146
6098
  ]
5147
6099
  }
@@ -5202,33 +6154,176 @@
5202
6154
  {
5203
6155
  "children": [
5204
6156
  {
5205
- "content": "@entity.title",
5206
- "type": "typography",
5207
- "variant": "h4"
6157
+ "align": "start",
6158
+ "children": [
6159
+ {
6160
+ "children": [
6161
+ {
6162
+ "content": "@entity.title",
6163
+ "type": "typography",
6164
+ "variant": "h4"
6165
+ },
6166
+ [
6167
+ "if",
6168
+ [
6169
+ "==",
6170
+ "@config.summary",
6171
+ ""
6172
+ ],
6173
+ null,
6174
+ {
6175
+ "color": "muted",
6176
+ "content": "@config.summary",
6177
+ "type": "typography",
6178
+ "variant": "body2"
6179
+ }
6180
+ ]
6181
+ ],
6182
+ "direction": "vertical",
6183
+ "gap": "xs",
6184
+ "type": "stack"
6185
+ },
6186
+ {
6187
+ "label": [
6188
+ "if",
6189
+ [
6190
+ "<=",
6191
+ "@entity.cursorIndex",
6192
+ -1.0
6193
+ ],
6194
+ "Not started",
6195
+ [
6196
+ "if",
6197
+ [
6198
+ ">=",
6199
+ "@entity.cursorIndex",
6200
+ [
6201
+ "-",
6202
+ [
6203
+ "array/len",
6204
+ "@config.stages"
6205
+ ],
6206
+ 1.0
6207
+ ]
6208
+ ],
6209
+ "Complete",
6210
+ [
6211
+ "str/concat",
6212
+ "Stage ",
6213
+ [
6214
+ "+",
6215
+ "@entity.cursorIndex",
6216
+ 1.0
6217
+ ],
6218
+ " of ",
6219
+ [
6220
+ "array/len",
6221
+ "@config.stages"
6222
+ ]
6223
+ ]
6224
+ ]
6225
+ ],
6226
+ "type": "badge",
6227
+ "variant": [
6228
+ "if",
6229
+ [
6230
+ "<=",
6231
+ "@entity.cursorIndex",
6232
+ -1.0
6233
+ ],
6234
+ "neutral",
6235
+ [
6236
+ "if",
6237
+ [
6238
+ ">=",
6239
+ "@entity.cursorIndex",
6240
+ [
6241
+ "-",
6242
+ [
6243
+ "array/len",
6244
+ "@config.stages"
6245
+ ],
6246
+ 1.0
6247
+ ]
6248
+ ],
6249
+ "success",
6250
+ "primary"
6251
+ ]
6252
+ ]
6253
+ }
6254
+ ],
6255
+ "direction": "horizontal",
6256
+ "gap": "md",
6257
+ "justify": "between",
6258
+ "type": "stack"
5208
6259
  },
5209
6260
  {
5210
- "label": [
5211
- "str/concat",
5212
- "Stage ",
5213
- [
5214
- "str/concat",
5215
- "",
5216
- [
5217
- "+",
6261
+ "align": "center",
6262
+ "children": [
6263
+ {
6264
+ "action": "NEXT",
6265
+ "disabled": [
6266
+ ">=",
5218
6267
  "@entity.cursorIndex",
5219
- 1.0
5220
- ]
5221
- ],
5222
- " of ",
5223
- [
5224
- "str/concat",
5225
- "",
5226
- [
5227
- "array/len",
5228
- "@config.stages"
5229
- ]
5230
- ]
6268
+ [
6269
+ "-",
6270
+ [
6271
+ "array/len",
6272
+ "@config.stages"
6273
+ ],
6274
+ 1.0
6275
+ ]
6276
+ ],
6277
+ "icon": "chevron-right",
6278
+ "label": "Next",
6279
+ "type": "button",
6280
+ "variant": "primary"
6281
+ },
6282
+ {
6283
+ "action": "PREV",
6284
+ "disabled": [
6285
+ "<=",
6286
+ "@entity.cursorIndex",
6287
+ -1.0
6288
+ ],
6289
+ "icon": "chevron-left",
6290
+ "label": "Prev",
6291
+ "type": "button",
6292
+ "variant": "secondary"
6293
+ },
6294
+ {
6295
+ "action": "RESET_STEPPER",
6296
+ "icon": "rotate-ccw",
6297
+ "label": "Reset",
6298
+ "type": "button",
6299
+ "variant": "ghost"
6300
+ },
6301
+ {
6302
+ "color": "muted",
6303
+ "content": [
6304
+ "str/concat",
6305
+ "Stage ",
6306
+ [
6307
+ "+",
6308
+ "@entity.cursorIndex",
6309
+ 1.0
6310
+ ],
6311
+ " of ",
6312
+ [
6313
+ "array/len",
6314
+ "@config.stages"
6315
+ ]
6316
+ ],
6317
+ "type": "typography",
6318
+ "variant": "caption"
6319
+ }
5231
6320
  ],
6321
+ "direction": "horizontal",
6322
+ "gap": "sm",
6323
+ "type": "stack",
6324
+ "wrap": true
6325
+ },
6326
+ {
5232
6327
  "max": [
5233
6328
  "array/len",
5234
6329
  "@config.stages"
@@ -5242,28 +6337,14 @@
5242
6337
  ]
5243
6338
  },
5244
6339
  {
6340
+ "align": "center",
6341
+ "aria-label": "Category lens",
6342
+ "children": "@entity.filterButtons",
5245
6343
  "direction": "horizontal",
5246
- "items": [
5247
- "array/map",
5248
- "@config.categories",
5249
- [
5250
- "fn",
5251
- "cc",
5252
- {
5253
- "color": [
5254
- "object/get",
5255
- "@cc",
5256
- "color"
5257
- ],
5258
- "label": [
5259
- "object/get",
5260
- "@cc",
5261
- "label"
5262
- ]
5263
- }
5264
- ]
5265
- ],
5266
- "type": "chart-legend"
6344
+ "gap": "xs",
6345
+ "role": "group",
6346
+ "type": "stack",
6347
+ "wrap": true
5267
6348
  },
5268
6349
  {
5269
6350
  "animate": "@config.animate",
@@ -5272,6 +6353,11 @@
5272
6353
  "gridStep": 1.0,
5273
6354
  "height": "@config.height",
5274
6355
  "interactive": "@config.interactive",
6356
+ "keyMap": {
6357
+ "ArrowLeft": "PREV",
6358
+ "ArrowRight": "NEXT",
6359
+ "KeyR": "RESET_STEPPER"
6360
+ },
5275
6361
  "points": [],
5276
6362
  "shapes": "@entity.shapes",
5277
6363
  "showAxes": false,
@@ -5285,84 +6371,26 @@
5285
6371
  "yMin": 0.0
5286
6372
  },
5287
6373
  {
5288
- "children": "@entity.filterButtons",
5289
- "direction": "horizontal",
5290
- "gap": "xs",
5291
- "type": "stack"
5292
- },
5293
- {
5294
- "children": [
5295
- {
5296
- "action": "PREV",
5297
- "disabled": [
5298
- "if",
5299
- [
5300
- "<=",
5301
- "@entity.cursorIndex",
5302
- -1.0
5303
- ],
5304
- true,
5305
- false
5306
- ],
5307
- "label": "Prev",
5308
- "type": "button",
5309
- "variant": "ghost"
5310
- },
5311
- {
5312
- "action": "NEXT",
5313
- "disabled": [
5314
- "if",
5315
- [
5316
- ">=",
5317
- "@entity.cursorIndex",
5318
- [
5319
- "-",
5320
- [
5321
- "array/len",
5322
- "@config.stages"
5323
- ],
5324
- 1.0
5325
- ]
5326
- ],
5327
- true,
5328
- false
5329
- ],
5330
- "label": "Next",
5331
- "type": "button",
5332
- "variant": "primary"
5333
- },
5334
- {
5335
- "action": "RESET_STEPPER",
5336
- "label": "Reset",
5337
- "type": "button",
5338
- "variant": "ghost"
5339
- }
5340
- ],
5341
- "direction": "horizontal",
5342
- "gap": "sm",
5343
- "type": "stack"
5344
- },
5345
- {
5346
- "children": [
5347
- {
5348
- "content": "@entity.currentStageDescription",
5349
- "type": "typography",
5350
- "variant": "body"
5351
- }
5352
- ],
5353
- "padding": "md",
5354
- "title": [
5355
- "if",
5356
- [
5357
- "!=",
5358
- "@entity.currentStageLabel",
5359
- ""
5360
- ],
5361
- "@entity.currentStageLabel",
5362
- "Not Started"
5363
- ],
5364
- "type": "card",
5365
- "variant": "bordered"
6374
+ "children": [
6375
+ {
6376
+ "content": "@entity.currentStageDescription",
6377
+ "type": "typography",
6378
+ "variant": "body"
6379
+ }
6380
+ ],
6381
+ "padding": "md",
6382
+ "title": [
6383
+ "if",
6384
+ [
6385
+ "!=",
6386
+ "@entity.currentStageLabel",
6387
+ ""
6388
+ ],
6389
+ "@entity.currentStageLabel",
6390
+ "Not Started"
6391
+ ],
6392
+ "type": "card",
6393
+ "variant": "bordered"
5366
6394
  },
5367
6395
  {
5368
6396
  "children": [
@@ -5397,9 +6425,11 @@
5397
6425
  ],
5398
6426
  "direction": "horizontal",
5399
6427
  "gap": "xs",
5400
- "type": "stack"
6428
+ "type": "stack",
6429
+ "wrap": true
5401
6430
  },
5402
6431
  {
6432
+ "color": "muted",
5403
6433
  "content": "@entity.visibleThreadNote",
5404
6434
  "type": "typography",
5405
6435
  "variant": "caption"
@@ -5743,10 +6773,10 @@
5743
6773
  "baseShapes",
5744
6774
  [
5745
6775
  {
5746
- "color": "#78716c",
5747
6776
  "id": "axis",
5748
- "lineWidth": 2.0,
5749
6777
  "opacity": 1.0,
6778
+ "stroke": "normal",
6779
+ "tone": "axis",
5750
6780
  "type": "line",
5751
6781
  "x1": "@config.axisMarginLeft",
5752
6782
  "x2": [
@@ -5759,14 +6789,14 @@
5759
6789
  },
5760
6790
  {
5761
6791
  "align": "left",
5762
- "color": "#78716c",
5763
- "fontSize": 11.0,
5764
6792
  "id": "minPositionLabel",
5765
6793
  "text": [
5766
6794
  "str/concat",
5767
6795
  "",
5768
6796
  "@config.minPosition"
5769
6797
  ],
6798
+ "textSize": "xs",
6799
+ "tone": "label",
5770
6800
  "type": "text",
5771
6801
  "x": "@config.axisMarginLeft",
5772
6802
  "y": [
@@ -5777,14 +6807,14 @@
5777
6807
  },
5778
6808
  {
5779
6809
  "align": "right",
5780
- "color": "#78716c",
5781
- "fontSize": 11.0,
5782
6810
  "id": "maxPositionLabel",
5783
6811
  "text": [
5784
6812
  "str/concat",
5785
6813
  "",
5786
6814
  "@config.maxPosition"
5787
6815
  ],
6816
+ "textSize": "xs",
6817
+ "tone": "label",
5788
6818
  "type": "text",
5789
6819
  "x": [
5790
6820
  "-",
@@ -5941,27 +6971,27 @@
5941
6971
  "@isCurrent",
5942
6972
  [
5943
6973
  {
5944
- "color": "@catColor",
5945
- "fill": "transparent",
6974
+ "fillStyle": "outline",
5946
6975
  "id": [
5947
6976
  "str/concat",
5948
6977
  "ring-",
5949
6978
  "@s.position"
5950
6979
  ],
5951
- "lineWidth": 3.0,
5952
6980
  "opacity": 1.0,
5953
6981
  "radius": [
5954
6982
  "+",
5955
6983
  "@rad",
5956
6984
  5.0
5957
6985
  ],
6986
+ "stroke": "bold",
6987
+ "tone": "@catColor",
5958
6988
  "type": "circle",
5959
6989
  "x": "@xPos",
5960
6990
  "y": "@config.axisY"
5961
6991
  },
5962
6992
  {
5963
- "color": "@col",
5964
- "fill": "@col",
6993
+ "fillStyle": "solid",
6994
+ "fillTone": "@col",
5965
6995
  "id": [
5966
6996
  "str/concat",
5967
6997
  "marker-",
@@ -5969,6 +6999,7 @@
5969
6999
  ],
5970
7000
  "opacity": "@finalOpacity",
5971
7001
  "radius": "@rad",
7002
+ "tone": "@col",
5972
7003
  "type": "circle",
5973
7004
  "x": "@xPos",
5974
7005
  "y": "@config.axisY"
@@ -5976,8 +7007,8 @@
5976
7007
  ],
5977
7008
  [
5978
7009
  {
5979
- "color": "@col",
5980
- "fill": "@col",
7010
+ "fillStyle": "solid",
7011
+ "fillTone": "@col",
5981
7012
  "id": [
5982
7013
  "str/concat",
5983
7014
  "marker-",
@@ -5985,6 +7016,7 @@
5985
7016
  ],
5986
7017
  "opacity": "@finalOpacity",
5987
7018
  "radius": "@rad",
7019
+ "tone": "@col",
5988
7020
  "type": "circle",
5989
7021
  "x": "@xPos",
5990
7022
  "y": "@config.axisY"
@@ -5996,12 +7028,100 @@
5996
7028
  ]
5997
7029
  ]
5998
7030
  ],
7031
+ [
7032
+ "legendShapes",
7033
+ [
7034
+ "array/flatten",
7035
+ [
7036
+ "array/map",
7037
+ "@config.categories",
7038
+ [
7039
+ {
7040
+ "fillStyle": "solid",
7041
+ "fillTone": [
7042
+ "object/get",
7043
+ "@item",
7044
+ "color"
7045
+ ],
7046
+ "id": [
7047
+ "str/concat",
7048
+ "legend-dot-",
7049
+ "@index"
7050
+ ],
7051
+ "opacity": 1.0,
7052
+ "radius": 5.0,
7053
+ "tone": [
7054
+ "object/get",
7055
+ "@item",
7056
+ "color"
7057
+ ],
7058
+ "type": "circle",
7059
+ "x": [
7060
+ "+",
7061
+ "@config.axisMarginLeft",
7062
+ [
7063
+ "*",
7064
+ "@index",
7065
+ [
7066
+ "/",
7067
+ "@axisWidth",
7068
+ [
7069
+ "array/len",
7070
+ "@config.categories"
7071
+ ]
7072
+ ]
7073
+ ]
7074
+ ],
7075
+ "y": 22.0
7076
+ },
7077
+ {
7078
+ "align": "left",
7079
+ "id": [
7080
+ "str/concat",
7081
+ "legend-label-",
7082
+ "@index"
7083
+ ],
7084
+ "text": [
7085
+ "object/get",
7086
+ "@item",
7087
+ "label"
7088
+ ],
7089
+ "textSize": "xs",
7090
+ "tone": "label",
7091
+ "type": "text",
7092
+ "x": [
7093
+ "+",
7094
+ [
7095
+ "+",
7096
+ "@config.axisMarginLeft",
7097
+ [
7098
+ "*",
7099
+ "@index",
7100
+ [
7101
+ "/",
7102
+ "@axisWidth",
7103
+ [
7104
+ "array/len",
7105
+ "@config.categories"
7106
+ ]
7107
+ ]
7108
+ ]
7109
+ ],
7110
+ 12.0
7111
+ ],
7112
+ "y": 26.0
7113
+ }
7114
+ ]
7115
+ ]
7116
+ ]
7117
+ ],
5999
7118
  [
6000
7119
  "allShapes",
6001
7120
  [
6002
7121
  "array/concat",
6003
7122
  "@baseShapes",
6004
- "@markerShapes"
7123
+ "@markerShapes",
7124
+ "@legendShapes"
6005
7125
  ]
6006
7126
  ],
6007
7127
  [
@@ -6014,6 +7134,16 @@
6014
7134
  "actionPayload": {
6015
7135
  "category": "all"
6016
7136
  },
7137
+ "aria-pressed": [
7138
+ "if",
7139
+ [
7140
+ "==",
7141
+ "@entity.activeFilter",
7142
+ "all"
7143
+ ],
7144
+ "true",
7145
+ "false"
7146
+ ],
6017
7147
  "label": "@config.allLabel",
6018
7148
  "size": "sm",
6019
7149
  "type": "button",
@@ -6024,7 +7154,7 @@
6024
7154
  "@entity.activeFilter",
6025
7155
  "all"
6026
7156
  ],
6027
- "primary",
7157
+ "secondary",
6028
7158
  "ghost"
6029
7159
  ]
6030
7160
  }
@@ -6044,6 +7174,20 @@
6044
7174
  "category"
6045
7175
  ]
6046
7176
  },
7177
+ "aria-pressed": [
7178
+ "if",
7179
+ [
7180
+ "==",
7181
+ "@entity.activeFilter",
7182
+ [
7183
+ "object/get",
7184
+ "@cc",
7185
+ "category"
7186
+ ]
7187
+ ],
7188
+ "true",
7189
+ "false"
7190
+ ],
6047
7191
  "label": [
6048
7192
  "object/get",
6049
7193
  "@cc",
@@ -6062,7 +7206,7 @@
6062
7206
  "category"
6063
7207
  ]
6064
7208
  ],
6065
- "primary",
7209
+ "secondary",
6066
7210
  "ghost"
6067
7211
  ]
6068
7212
  }
@@ -6123,33 +7267,176 @@
6123
7267
  {
6124
7268
  "children": [
6125
7269
  {
6126
- "content": "@entity.title",
6127
- "type": "typography",
6128
- "variant": "h4"
7270
+ "align": "start",
7271
+ "children": [
7272
+ {
7273
+ "children": [
7274
+ {
7275
+ "content": "@entity.title",
7276
+ "type": "typography",
7277
+ "variant": "h4"
7278
+ },
7279
+ [
7280
+ "if",
7281
+ [
7282
+ "==",
7283
+ "@config.summary",
7284
+ ""
7285
+ ],
7286
+ null,
7287
+ {
7288
+ "color": "muted",
7289
+ "content": "@config.summary",
7290
+ "type": "typography",
7291
+ "variant": "body2"
7292
+ }
7293
+ ]
7294
+ ],
7295
+ "direction": "vertical",
7296
+ "gap": "xs",
7297
+ "type": "stack"
7298
+ },
7299
+ {
7300
+ "label": [
7301
+ "if",
7302
+ [
7303
+ "<=",
7304
+ "@entity.cursorIndex",
7305
+ -1.0
7306
+ ],
7307
+ "Not started",
7308
+ [
7309
+ "if",
7310
+ [
7311
+ ">=",
7312
+ "@entity.cursorIndex",
7313
+ [
7314
+ "-",
7315
+ [
7316
+ "array/len",
7317
+ "@config.stages"
7318
+ ],
7319
+ 1.0
7320
+ ]
7321
+ ],
7322
+ "Complete",
7323
+ [
7324
+ "str/concat",
7325
+ "Stage ",
7326
+ [
7327
+ "+",
7328
+ "@entity.cursorIndex",
7329
+ 1.0
7330
+ ],
7331
+ " of ",
7332
+ [
7333
+ "array/len",
7334
+ "@config.stages"
7335
+ ]
7336
+ ]
7337
+ ]
7338
+ ],
7339
+ "type": "badge",
7340
+ "variant": [
7341
+ "if",
7342
+ [
7343
+ "<=",
7344
+ "@entity.cursorIndex",
7345
+ -1.0
7346
+ ],
7347
+ "neutral",
7348
+ [
7349
+ "if",
7350
+ [
7351
+ ">=",
7352
+ "@entity.cursorIndex",
7353
+ [
7354
+ "-",
7355
+ [
7356
+ "array/len",
7357
+ "@config.stages"
7358
+ ],
7359
+ 1.0
7360
+ ]
7361
+ ],
7362
+ "success",
7363
+ "primary"
7364
+ ]
7365
+ ]
7366
+ }
7367
+ ],
7368
+ "direction": "horizontal",
7369
+ "gap": "md",
7370
+ "justify": "between",
7371
+ "type": "stack"
6129
7372
  },
6130
7373
  {
6131
- "label": [
6132
- "str/concat",
6133
- "Stage ",
6134
- [
6135
- "str/concat",
6136
- "",
6137
- [
6138
- "+",
7374
+ "align": "center",
7375
+ "children": [
7376
+ {
7377
+ "action": "NEXT",
7378
+ "disabled": [
7379
+ ">=",
6139
7380
  "@entity.cursorIndex",
6140
- 1.0
6141
- ]
6142
- ],
6143
- " of ",
6144
- [
6145
- "str/concat",
6146
- "",
6147
- [
6148
- "array/len",
6149
- "@config.stages"
6150
- ]
6151
- ]
7381
+ [
7382
+ "-",
7383
+ [
7384
+ "array/len",
7385
+ "@config.stages"
7386
+ ],
7387
+ 1.0
7388
+ ]
7389
+ ],
7390
+ "icon": "chevron-right",
7391
+ "label": "Next",
7392
+ "type": "button",
7393
+ "variant": "primary"
7394
+ },
7395
+ {
7396
+ "action": "PREV",
7397
+ "disabled": [
7398
+ "<=",
7399
+ "@entity.cursorIndex",
7400
+ -1.0
7401
+ ],
7402
+ "icon": "chevron-left",
7403
+ "label": "Prev",
7404
+ "type": "button",
7405
+ "variant": "secondary"
7406
+ },
7407
+ {
7408
+ "action": "RESET_STEPPER",
7409
+ "icon": "rotate-ccw",
7410
+ "label": "Reset",
7411
+ "type": "button",
7412
+ "variant": "ghost"
7413
+ },
7414
+ {
7415
+ "color": "muted",
7416
+ "content": [
7417
+ "str/concat",
7418
+ "Stage ",
7419
+ [
7420
+ "+",
7421
+ "@entity.cursorIndex",
7422
+ 1.0
7423
+ ],
7424
+ " of ",
7425
+ [
7426
+ "array/len",
7427
+ "@config.stages"
7428
+ ]
7429
+ ],
7430
+ "type": "typography",
7431
+ "variant": "caption"
7432
+ }
6152
7433
  ],
7434
+ "direction": "horizontal",
7435
+ "gap": "sm",
7436
+ "type": "stack",
7437
+ "wrap": true
7438
+ },
7439
+ {
6153
7440
  "max": [
6154
7441
  "array/len",
6155
7442
  "@config.stages"
@@ -6163,28 +7450,14 @@
6163
7450
  ]
6164
7451
  },
6165
7452
  {
7453
+ "align": "center",
7454
+ "aria-label": "Category lens",
7455
+ "children": "@entity.filterButtons",
6166
7456
  "direction": "horizontal",
6167
- "items": [
6168
- "array/map",
6169
- "@config.categories",
6170
- [
6171
- "fn",
6172
- "cc",
6173
- {
6174
- "color": [
6175
- "object/get",
6176
- "@cc",
6177
- "color"
6178
- ],
6179
- "label": [
6180
- "object/get",
6181
- "@cc",
6182
- "label"
6183
- ]
6184
- }
6185
- ]
6186
- ],
6187
- "type": "chart-legend"
7457
+ "gap": "xs",
7458
+ "role": "group",
7459
+ "type": "stack",
7460
+ "wrap": true
6188
7461
  },
6189
7462
  {
6190
7463
  "animate": "@config.animate",
@@ -6193,6 +7466,11 @@
6193
7466
  "gridStep": 1.0,
6194
7467
  "height": "@config.height",
6195
7468
  "interactive": "@config.interactive",
7469
+ "keyMap": {
7470
+ "ArrowLeft": "PREV",
7471
+ "ArrowRight": "NEXT",
7472
+ "KeyR": "RESET_STEPPER"
7473
+ },
6196
7474
  "points": [],
6197
7475
  "shapes": "@entity.shapes",
6198
7476
  "showAxes": false,
@@ -6205,64 +7483,6 @@
6205
7483
  "yMax": "@config.height",
6206
7484
  "yMin": 0.0
6207
7485
  },
6208
- {
6209
- "children": "@entity.filterButtons",
6210
- "direction": "horizontal",
6211
- "gap": "xs",
6212
- "type": "stack"
6213
- },
6214
- {
6215
- "children": [
6216
- {
6217
- "action": "PREV",
6218
- "disabled": [
6219
- "if",
6220
- [
6221
- "<=",
6222
- "@entity.cursorIndex",
6223
- -1.0
6224
- ],
6225
- true,
6226
- false
6227
- ],
6228
- "label": "Prev",
6229
- "type": "button",
6230
- "variant": "ghost"
6231
- },
6232
- {
6233
- "action": "NEXT",
6234
- "disabled": [
6235
- "if",
6236
- [
6237
- ">=",
6238
- "@entity.cursorIndex",
6239
- [
6240
- "-",
6241
- [
6242
- "array/len",
6243
- "@config.stages"
6244
- ],
6245
- 1.0
6246
- ]
6247
- ],
6248
- true,
6249
- false
6250
- ],
6251
- "label": "Next",
6252
- "type": "button",
6253
- "variant": "primary"
6254
- },
6255
- {
6256
- "action": "RESET_STEPPER",
6257
- "label": "Reset",
6258
- "type": "button",
6259
- "variant": "ghost"
6260
- }
6261
- ],
6262
- "direction": "horizontal",
6263
- "gap": "sm",
6264
- "type": "stack"
6265
- },
6266
7486
  {
6267
7487
  "children": [
6268
7488
  {
@@ -6318,9 +7538,11 @@
6318
7538
  ],
6319
7539
  "direction": "horizontal",
6320
7540
  "gap": "xs",
6321
- "type": "stack"
7541
+ "type": "stack",
7542
+ "wrap": true
6322
7543
  },
6323
7544
  {
7545
+ "color": "muted",
6324
7546
  "content": "@entity.visibleThreadNote",
6325
7547
  "type": "typography",
6326
7548
  "variant": "caption"
@@ -6501,6 +7723,26 @@
6501
7723
  {
6502
7724
  "name": "opacity",
6503
7725
  "type": "number"
7726
+ },
7727
+ {
7728
+ "name": "tone",
7729
+ "type": "string"
7730
+ },
7731
+ {
7732
+ "name": "fillTone",
7733
+ "type": "string"
7734
+ },
7735
+ {
7736
+ "name": "stroke",
7737
+ "type": "string"
7738
+ },
7739
+ {
7740
+ "name": "textSize",
7741
+ "type": "string"
7742
+ },
7743
+ {
7744
+ "name": "fillStyle",
7745
+ "type": "string"
6504
7746
  }
6505
7747
  ],
6506
7748
  "LearnStepperShapePoint": [