@adia-ai/a2ui-corpus 0.4.8 → 0.4.9

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.
package/CHANGELOG.md CHANGED
@@ -19,6 +19,10 @@ gap registry. Consumed by `@adia-ai/a2ui-retrieval` and
19
19
 
20
20
  _No pending changes._
21
21
 
22
+ ## [0.4.9] - 2026-05-13
23
+
24
+ _No pending changes._
25
+
22
26
  ## [0.4.8] - 2026-05-12
23
27
 
24
28
  ### Changed — `catalog-a2ui_0_9.json` regen (v0.4.8 ride-along)
@@ -288,7 +288,21 @@
288
288
  ],
289
289
  "events": {
290
290
  "action": {
291
- "description": "Fired on action."
291
+ "description": "Fired on action.",
292
+ "detail": {
293
+ "item": {
294
+ "description": "The triggering list-item element.",
295
+ "type": "object"
296
+ },
297
+ "text": {
298
+ "description": "Item text content or [text] attribute.",
299
+ "type": "string"
300
+ },
301
+ "value": {
302
+ "description": "Item value attribute (preferred over text for stable IDs).",
303
+ "type": "string"
304
+ }
305
+ }
292
306
  }
293
307
  },
294
308
  "examples": [
@@ -1107,7 +1121,13 @@
1107
1121
  ],
1108
1122
  "events": {
1109
1123
  "artifact-toggle": {
1110
- "description": "Fired on artifact-toggle."
1124
+ "description": "Fired on artifact-toggle.",
1125
+ "detail": {
1126
+ "collapsed": {
1127
+ "description": "New collapsed state after the toggle.",
1128
+ "type": "boolean"
1129
+ }
1130
+ }
1111
1131
  }
1112
1132
  },
1113
1133
  "examples": [
@@ -1197,7 +1217,13 @@
1197
1217
  ],
1198
1218
  "events": {
1199
1219
  "feedback-rate": {
1200
- "description": "Fired on feedback-rate."
1220
+ "description": "Fired on feedback-rate.",
1221
+ "detail": {
1222
+ "rating": {
1223
+ "description": "Rating value selected by the user.",
1224
+ "type": "number"
1225
+ }
1226
+ }
1201
1227
  },
1202
1228
  "feedback-save": {
1203
1229
  "description": "Fired on feedback-save."
@@ -1294,7 +1320,17 @@
1294
1320
  ],
1295
1321
  "events": {
1296
1322
  "questions-answer": {
1297
- "description": "Fired on questions-answer."
1323
+ "description": "Fired on questions-answer.",
1324
+ "detail": {
1325
+ "option": {
1326
+ "description": "The full selected option object.",
1327
+ "type": "object"
1328
+ },
1329
+ "selected": {
1330
+ "description": "Array of selected option IDs.",
1331
+ "type": "array"
1332
+ }
1333
+ }
1298
1334
  }
1299
1335
  },
1300
1336
  "examples": [
@@ -1391,13 +1427,35 @@
1391
1427
  ],
1392
1428
  "events": {
1393
1429
  "reasoning-finish": {
1394
- "description": "Fired on reasoning-finish."
1430
+ "description": "Fired on reasoning-finish.",
1431
+ "detail": {
1432
+ "status": {
1433
+ "description": "Whether reasoning was resolved.",
1434
+ "type": "boolean"
1435
+ },
1436
+ "summary": {
1437
+ "description": "Summary label text rendered after finish.",
1438
+ "type": "string"
1439
+ }
1440
+ }
1395
1441
  },
1396
1442
  "reasoning-step-toggle": {
1397
- "description": "Fired on reasoning-step-toggle."
1443
+ "description": "Fired on reasoning-step-toggle.",
1444
+ "detail": {
1445
+ "stepId": {
1446
+ "description": "ID of the toggled reasoning step (matches data-step-id).",
1447
+ "type": "string"
1448
+ }
1449
+ }
1398
1450
  },
1399
1451
  "reasoning-toggle": {
1400
- "description": "Fired on reasoning-toggle."
1452
+ "description": "Fired on reasoning-toggle.",
1453
+ "detail": {
1454
+ "collapsed": {
1455
+ "description": "Whether the reasoning section is now collapsed.",
1456
+ "type": "boolean"
1457
+ }
1458
+ }
1401
1459
  }
1402
1460
  },
1403
1461
  "examples": [
@@ -1487,7 +1545,21 @@
1487
1545
  ],
1488
1546
  "events": {
1489
1547
  "suggestion-select": {
1490
- "description": "Fired on suggestion-select."
1548
+ "description": "Fired on suggestion-select.",
1549
+ "detail": {
1550
+ "index": {
1551
+ "description": "Index of the selected suggestion.",
1552
+ "type": "number"
1553
+ },
1554
+ "label": {
1555
+ "description": "Suggestion label text.",
1556
+ "type": "string"
1557
+ },
1558
+ "prompt": {
1559
+ "description": "Suggestion prompt content.",
1560
+ "type": "string"
1561
+ }
1562
+ }
1491
1563
  }
1492
1564
  },
1493
1565
  "examples": [
@@ -1568,7 +1640,13 @@
1568
1640
  "composes": [],
1569
1641
  "events": {
1570
1642
  "trace-toggle": {
1571
- "description": "Fired on trace-toggle."
1643
+ "description": "Fired on trace-toggle.",
1644
+ "detail": {
1645
+ "collapsed": {
1646
+ "description": "Whether the trace is now collapsed.",
1647
+ "type": "boolean"
1648
+ }
1649
+ }
1572
1650
  }
1573
1651
  },
1574
1652
  "examples": [
@@ -3461,6 +3539,9 @@
3461
3539
  },
3462
3540
  "chart-select": {
3463
3541
  "description": "Fires on click of a datum with the same detail shape as chart-hover."
3542
+ },
3543
+ "legend-update": {
3544
+ "description": "Fires when the chart's internal legend payload regenerates (datum\nlabel/value re-aggregate). Signal-only — no detail payload.\nUsed by chart-legend-ui to mirror state when wired via [for].\n"
3464
3545
  }
3465
3546
  },
3466
3547
  "examples": [
@@ -3729,7 +3810,21 @@
3729
3810
  ],
3730
3811
  "events": {
3731
3812
  "toggle": {
3732
- "description": "Fires on row click (non-static). Detail: {key, active, mode}. `active` is the new state (true=visible). Consumers (or chart-ui via [for]) wire this to series visibility."
3813
+ "description": "Fires on row click (non-static). Detail: {key, active, mode}. `active` is the new state (true=visible). Consumers (or chart-ui via [for]) wire this to series visibility.",
3814
+ "detail": {
3815
+ "active": {
3816
+ "description": "New visibility state (true = visible).",
3817
+ "type": "boolean"
3818
+ },
3819
+ "key": {
3820
+ "description": "Series key identifier.",
3821
+ "type": "string"
3822
+ },
3823
+ "mode": {
3824
+ "description": "Visibility mode (default \"hide\").",
3825
+ "type": "string"
3826
+ }
3827
+ }
3733
3828
  }
3734
3829
  },
3735
3830
  "examples": [
@@ -4699,19 +4794,48 @@
4699
4794
  "composes": [],
4700
4795
  "events": {
4701
4796
  "change": {
4702
- "description": "Fired on blur if the buffer changed since focus (editable mode); detail.value is the final buffer"
4703
- },
4704
- "copy": {
4705
- "description": "Fired when text is copied to clipboard"
4797
+ "description": "Fired on blur if the buffer changed since focus (editable mode); detail.value is the final buffer.",
4798
+ "detail": {
4799
+ "value": {
4800
+ "description": "Editor contents at blur.",
4801
+ "type": "string"
4802
+ }
4803
+ }
4706
4804
  },
4707
4805
  "input": {
4708
- "description": "Fired on every doc change (editable mode); detail.value is the current buffer"
4806
+ "description": "Fired on every doc change (editable mode); detail.value is the current buffer.",
4807
+ "detail": {
4808
+ "value": {
4809
+ "description": "Current editor contents.",
4810
+ "type": "string"
4811
+ }
4812
+ }
4709
4813
  },
4710
4814
  "language-load-error": {
4711
- "description": "Fired when the language pack or CodeMirror bundle fails to load; detail.phase is 'core' or 'language'"
4815
+ "description": "Fired when CodeMirror's dynamic language-mode or core bundle fails to load.\ndetail.phase is \"core\" (fatal — component falls back to static pre+code) or\n\"language\" (recoverable — editor mounts in plain-text mode).\n",
4816
+ "detail": {
4817
+ "error": {
4818
+ "description": "The underlying load failure.",
4819
+ "type": "object"
4820
+ },
4821
+ "language": {
4822
+ "description": "Present when phase is \"language\" — the language slug that failed.",
4823
+ "type": "string"
4824
+ },
4825
+ "phase": {
4826
+ "description": "Either \"core\" or \"language\".",
4827
+ "type": "string"
4828
+ }
4829
+ }
4712
4830
  },
4713
4831
  "save": {
4714
- "description": "Fired on Mod+S keybind (editable mode); detail.value is the current buffer. Cancelable."
4832
+ "description": "Fired on Mod+S keybind (editable mode); detail.value is the current buffer. Cancelable — call event.preventDefault() to suppress the host page's save handling.",
4833
+ "detail": {
4834
+ "value": {
4835
+ "description": "Editor contents at the moment of save.",
4836
+ "type": "string"
4837
+ }
4838
+ }
4715
4839
  }
4716
4840
  },
4717
4841
  "examples": [
@@ -4836,6 +4960,11 @@
4836
4960
  }
4837
4961
  ],
4838
4962
  "properties": {
4963
+ "baseHue": {
4964
+ "description": "Reference hue (degrees) for the [hue-drift-max] constraint. Default\nNaN — falls back to the picker's hue at first commit so the consumer\ncan pre-seed the picker and constrain drift from that initial value.\n",
4965
+ "type": "number",
4966
+ "default": "NaN"
4967
+ },
4839
4968
  "component": {
4840
4969
  "const": "ColorPicker"
4841
4970
  },
@@ -4853,6 +4982,26 @@
4853
4982
  ],
4854
4983
  "default": "hex"
4855
4984
  },
4985
+ "hueDriftMax": {
4986
+ "description": "Generation constraint — maximum allowed signed-shortest-path hue\ndeviation (degrees) from [base-hue] (or the first-committed hue\nif [base-hue] is unset). Default NaN (no constraint). Wrap-aware\nso a drift of 350 degrees resolves as -10.\n",
4987
+ "type": "number",
4988
+ "default": "NaN"
4989
+ },
4990
+ "maxChroma": {
4991
+ "description": "Generation constraint (v0.4.9 §99h, FEEDBACK-02 #7) — clamp the\nOKLCH chroma channel to at most this value before commit. Out-of-\nbound mutations round-trip to the nearest in-bound equivalent +\nfire `constraint-clamp`. Default Infinity (no constraint).\n",
4992
+ "type": "number",
4993
+ "default": "Infinity"
4994
+ },
4995
+ "maxL": {
4996
+ "description": "Generation constraint — clamp OKLCH lightness to at most this value (0..1). Default 1 (no constraint).",
4997
+ "type": "number",
4998
+ "default": 1
4999
+ },
5000
+ "minL": {
5001
+ "description": "Generation constraint — clamp OKLCH lightness to at least this value (0..1). Default 0 (no constraint).",
5002
+ "type": "number",
5003
+ "default": 0
5004
+ },
4856
5005
  "name": {
4857
5006
  "description": "Form field name",
4858
5007
  "type": "string",
@@ -4878,6 +5027,15 @@
4878
5027
  "change": {
4879
5028
  "description": "Fired on every color change"
4880
5029
  },
5030
+ "constraint-clamp": {
5031
+ "description": "Fired immediately before `change` / `input` when one or more\nconsumer-declared constraints (max-chroma / max-l / min-l /\nhue-drift-max) clamped a channel away from the user-requested\nvalue. detail.clamps is an array of axis-specific clamp records.\n",
5032
+ "detail": {
5033
+ "clamps": {
5034
+ "description": "Array of `{ axis, requested, clamped, reason }` objects. axis is\none of \"l\" / \"c\" / \"h\". reason names the triggering constraint\nprop. Empty arrays are never emitted.\n",
5035
+ "type": "array"
5036
+ }
5037
+ }
5038
+ },
4881
5039
  "input": {
4882
5040
  "description": "Fired during continuous interaction (drag)"
4883
5041
  }
@@ -5052,7 +5210,17 @@
5052
5210
  "description": "Fired when Escape is pressed"
5053
5211
  },
5054
5212
  "select": {
5055
- "description": "Fired when an item is selected. Detail contains { value, label, item }."
5213
+ "description": "Fired when an item is selected. Detail contains { value, label, item }.",
5214
+ "detail": {
5215
+ "label": {
5216
+ "description": "Item label text.",
5217
+ "type": "string"
5218
+ },
5219
+ "value": {
5220
+ "description": "Item value attribute.",
5221
+ "type": "string"
5222
+ }
5223
+ }
5056
5224
  }
5057
5225
  },
5058
5226
  "examples": [
@@ -5291,7 +5459,13 @@
5291
5459
  "composes": [],
5292
5460
  "events": {
5293
5461
  "change": {
5294
- "description": "Fired when the toggle flips. detail contains { state }."
5462
+ "description": "Fired when the toggle flips. detail contains { state }.",
5463
+ "detail": {
5464
+ "state": {
5465
+ "description": "New toggle state.",
5466
+ "type": "boolean"
5467
+ }
5468
+ }
5295
5469
  }
5296
5470
  },
5297
5471
  "examples": [
@@ -6020,6 +6194,16 @@
6020
6194
  "component": {
6021
6195
  "const": "EditorSidebar"
6022
6196
  },
6197
+ "name": {
6198
+ "description": "Alias for [persist]; kept for v0.4.x back-compat. Deprecated —\nnew code should use [persist]. If both are set, [persist] wins.\n",
6199
+ "type": "string",
6200
+ "default": ""
6201
+ },
6202
+ "persist": {
6203
+ "description": "localStorage key suffix. When set, the sidebar persists its pane\nwidth across reloads under `adia-editor-sidebar-{persist}`.\nPreferred over the [name] alias kept for v0.4.x back-compat.\nDefaults to [name] then [slot] if neither set.\n",
6204
+ "type": "string",
6205
+ "default": ""
6206
+ },
6023
6207
  "resizing": {
6024
6208
  "description": "Reflected — set during an active pointer-drag of the pane's\nresize handle. Used to disable transitions and visual treatments\nthat would feel laggy during drag.\n",
6025
6209
  "type": "boolean",
@@ -7335,10 +7519,19 @@
7335
7519
  "composes": [],
7336
7520
  "events": {
7337
7521
  "cell-click": {
7338
- "description": "Fired on cell-click."
7522
+ "description": "Fired on cell click. detail carries the cell's row + column indices + value."
7339
7523
  },
7340
7524
  "cell-hover": {
7341
- "description": "Fired on cell-hover."
7525
+ "description": "Fired on cell hover. detail carries the cell's row + column indices + value."
7526
+ },
7527
+ "chart-hover": {
7528
+ "description": "Canonical chart-hover shape — same detail as cell-hover. Re-emitted\nalongside cell-hover so consumers wiring a pointer-follow tooltip via\ntooltip-ui[follows=pointer] can listen for one event-name regardless\nof chart kind (chart-ui + heatmap-ui both emit it).\n"
7529
+ },
7530
+ "chart-leave": {
7531
+ "description": "Signal-only counterpart to chart-hover. Fires when the pointer leaves\nthe heatmap grid. Detail-free — receivers should clear their hover\nstate on receipt.\n"
7532
+ },
7533
+ "chart-select": {
7534
+ "description": "Canonical chart-select shape — same detail as cell-click. Re-emitted\nalongside cell-click for chart-kind-agnostic listeners.\n"
7342
7535
  }
7343
7536
  },
7344
7537
  "examples": [
@@ -8340,7 +8533,17 @@
8340
8533
  "composes": [],
8341
8534
  "events": {
8342
8535
  "press": {
8343
- "description": "Bubbles when the link is activated by click or Enter. Detail: `{ href, target }`. Fires BEFORE the browser's native navigation so handlers can `preventDefault()` and route through the A2UI action handler system. If no handler intercepts, native navigation proceeds."
8536
+ "description": "Bubbles when the link is activated by click or Enter. Detail: `{ href, target }`. Fires BEFORE the browser's native navigation so handlers can `preventDefault()` and route through the A2UI action handler system. If no handler intercepts, native navigation proceeds.",
8537
+ "detail": {
8538
+ "href": {
8539
+ "description": "Link href attribute.",
8540
+ "type": "string"
8541
+ },
8542
+ "target": {
8543
+ "description": "Link target attribute (e.g. _blank).",
8544
+ "type": "string"
8545
+ }
8546
+ }
8344
8547
  }
8345
8548
  },
8346
8549
  "examples": [
@@ -8471,7 +8674,17 @@
8471
8674
  ],
8472
8675
  "events": {
8473
8676
  "selection-change": {
8474
- "description": "Fired on selection-change."
8677
+ "description": "Fired on selection-change.",
8678
+ "detail": {
8679
+ "key": {
8680
+ "description": "New selection key.",
8681
+ "type": "string"
8682
+ },
8683
+ "previousKey": {
8684
+ "description": "Previously selected key.",
8685
+ "type": "string"
8686
+ }
8687
+ }
8475
8688
  }
8476
8689
  },
8477
8690
  "examples": [
@@ -8585,7 +8798,17 @@
8585
8798
  ],
8586
8799
  "events": {
8587
8800
  "action": {
8588
- "description": "Fired when a menu item is activated. Detail contains the triggering element."
8801
+ "description": "Fired when a menu item is activated. Detail contains the triggering element.",
8802
+ "detail": {
8803
+ "text": {
8804
+ "description": "Menu item text.",
8805
+ "type": "string"
8806
+ },
8807
+ "value": {
8808
+ "description": "Menu item value.",
8809
+ "type": "string"
8810
+ }
8811
+ }
8589
8812
  }
8590
8813
  },
8591
8814
  "examples": [
@@ -8838,7 +9061,21 @@
8838
9061
  "composes": [],
8839
9062
  "events": {
8840
9063
  "nav-select": {
8841
- "description": "Bubbles from <nav-item-ui> children when one is selected. Detail: { item, text, value }."
9064
+ "description": "Bubbles from <nav-item-ui> children when one is selected. Detail: { item, text, value }.",
9065
+ "detail": {
9066
+ "item": {
9067
+ "description": "Selected nav-item element.",
9068
+ "type": "object"
9069
+ },
9070
+ "text": {
9071
+ "description": "Item text content.",
9072
+ "type": "string"
9073
+ },
9074
+ "value": {
9075
+ "description": "Item value attribute.",
9076
+ "type": "string"
9077
+ }
9078
+ }
8842
9079
  }
8843
9080
  },
8844
9081
  "examples": [
@@ -8945,7 +9182,17 @@
8945
9182
  "composes": [],
8946
9183
  "events": {
8947
9184
  "group-toggle": {
8948
- "description": "Fired when the header toggles via click/keyboard. Detail: { text, open }."
9185
+ "description": "Fired when the header toggles via click/keyboard. Detail: { text, open }.",
9186
+ "detail": {
9187
+ "open": {
9188
+ "description": "Whether the group is now open.",
9189
+ "type": "boolean"
9190
+ },
9191
+ "text": {
9192
+ "description": "Group label text.",
9193
+ "type": "string"
9194
+ }
9195
+ }
8949
9196
  }
8950
9197
  },
8951
9198
  "examples": [],
@@ -9049,7 +9296,21 @@
9049
9296
  "composes": [],
9050
9297
  "events": {
9051
9298
  "nav-select": {
9052
- "description": "Bubbles when the item is activated. Detail: { item, text, value }."
9299
+ "description": "Bubbles when the item is activated. Detail: { item, text, value }.",
9300
+ "detail": {
9301
+ "item": {
9302
+ "description": "The nav-item element itself.",
9303
+ "type": "object"
9304
+ },
9305
+ "text": {
9306
+ "description": "Item text content.",
9307
+ "type": "string"
9308
+ },
9309
+ "value": {
9310
+ "description": "Item value attribute.",
9311
+ "type": "string"
9312
+ }
9313
+ }
9053
9314
  }
9054
9315
  },
9055
9316
  "examples": [],
@@ -9180,10 +9441,54 @@
9180
9441
  "composes": [],
9181
9442
  "events": {
9182
9443
  "noodle-connect": {
9183
- "description": "Fired when a connection is created. detail: { id, from, to, fromPort, toPort }"
9444
+ "description": "Fired when a connection is created. detail: { id, from, to, fromPort, toPort }",
9445
+ "detail": {
9446
+ "from": {
9447
+ "description": "Source node ID.",
9448
+ "type": "string"
9449
+ },
9450
+ "fromPort": {
9451
+ "description": "Source port identifier.",
9452
+ "type": "string"
9453
+ },
9454
+ "id": {
9455
+ "description": "Connection ID.",
9456
+ "type": "string"
9457
+ },
9458
+ "to": {
9459
+ "description": "Target node ID.",
9460
+ "type": "string"
9461
+ },
9462
+ "toPort": {
9463
+ "description": "Target port identifier.",
9464
+ "type": "string"
9465
+ }
9466
+ }
9184
9467
  },
9185
9468
  "noodle-disconnect": {
9186
- "description": "Fired when a connection is removed. detail: { id, from, to, fromPort, toPort }"
9469
+ "description": "Fired when a connection is removed. detail: { id, from, to, fromPort, toPort }",
9470
+ "detail": {
9471
+ "from": {
9472
+ "description": "Source node ID.",
9473
+ "type": "string"
9474
+ },
9475
+ "fromPort": {
9476
+ "description": "Source port identifier.",
9477
+ "type": "string"
9478
+ },
9479
+ "id": {
9480
+ "description": "Connection ID.",
9481
+ "type": "string"
9482
+ },
9483
+ "to": {
9484
+ "description": "Target node ID.",
9485
+ "type": "string"
9486
+ },
9487
+ "toPort": {
9488
+ "description": "Target port identifier.",
9489
+ "type": "string"
9490
+ }
9491
+ }
9187
9492
  },
9188
9493
  "noodle-drag": {
9189
9494
  "description": "Fired during drag-to-connect. detail: { from, fromPort, x, y, reconnect }"
@@ -9537,10 +9842,22 @@
9537
9842
  "composes": [],
9538
9843
  "events": {
9539
9844
  "complete": {
9540
- "description": "Fired when all digits are filled. Detail contains { code }."
9845
+ "description": "Fired exactly once when the user fills the last digit slot. detail.value is the combined string.",
9846
+ "detail": {
9847
+ "value": {
9848
+ "description": "Combined digits (e.g. \"123456\").",
9849
+ "type": "string"
9850
+ }
9851
+ }
9541
9852
  },
9542
9853
  "input": {
9543
- "description": "Fired on every digit change"
9854
+ "description": "Fired on every digit change. detail.value is the current combined string.",
9855
+ "detail": {
9856
+ "value": {
9857
+ "description": "Combined digits at the moment of the change.",
9858
+ "type": "string"
9859
+ }
9860
+ }
9544
9861
  }
9545
9862
  },
9546
9863
  "examples": [
@@ -9745,7 +10062,13 @@
9745
10062
  "composes": [],
9746
10063
  "events": {
9747
10064
  "page-change": {
9748
- "description": "Fired when a page button is clicked. detail contains { page }."
10065
+ "description": "Fired when a page button is clicked. detail contains { page }.",
10066
+ "detail": {
10067
+ "page": {
10068
+ "description": "New page number.",
10069
+ "type": "number"
10070
+ }
10071
+ }
9749
10072
  }
9750
10073
  },
9751
10074
  "examples": [
@@ -12882,7 +13205,13 @@
12882
13205
  "description": "Fired when stream completes naturally"
12883
13206
  },
12884
13207
  "stream-error": {
12885
- "description": "Fired on stream error, detail: { error }"
13208
+ "description": "Fired on stream error, detail: { error }",
13209
+ "detail": {
13210
+ "error": {
13211
+ "description": "Error object or message.",
13212
+ "type": "object"
13213
+ }
13214
+ }
12886
13215
  },
12887
13216
  "stream-start": {
12888
13217
  "description": "Fired when streaming begins"
@@ -12947,6 +13276,16 @@
12947
13276
  }
12948
13277
  ],
12949
13278
  "properties": {
13279
+ "autoContrast": {
13280
+ "description": "When set, computes the swatch color's OKLab L and switches the label /\ndetail color between light + dark so it remains legible against the\ntile background. Only applies to shape=\"block\" (where the label sits\nON the tile). Uses a 1px canvas probe to handle any CSS color form\n(oklch / hex / hsl / named / var() references).\n",
13281
+ "type": "boolean",
13282
+ "default": false
13283
+ },
13284
+ "badge": {
13285
+ "description": "Optional marker(s) rendered in the upper-right of the tile. Single value\nOR comma/space-separated list of variants (v0.4.9+ multi-badge support).\nVariants: out-of-gamut (△), p3-only (✦), apca-pass (✓), apca-fail (✗).\nEach pip carries an aria-label so screen readers surface the semantic\n(\"Outside sRGB gamut\", \"Contrast passes APCA\", etc.). Unknown variants\nare silently dropped.\n",
13286
+ "type": "string",
13287
+ "default": ""
13288
+ },
12950
13289
  "color": {
12951
13290
  "description": "Swatch color. Accepts any CSS color value or var() reference. Sets the internal --swatch-color custom property; consumers can also set --swatch-color via inline style.",
12952
13291
  "type": "string",
@@ -12955,11 +13294,36 @@
12955
13294
  "component": {
12956
13295
  "const": "Swatch"
12957
13296
  },
13297
+ "copyable": {
13298
+ "description": "When set, renders an inline copy-to-clipboard button. Defaults to copying [color]; override via [copy-value].",
13299
+ "type": "boolean",
13300
+ "default": false
13301
+ },
13302
+ "copyValue": {
13303
+ "description": "Override what gets copied when [copyable] is set. Defaults to [color]. Not reflected (color strings are long; attr round-tripping reads poorly).",
13304
+ "type": "string",
13305
+ "default": ""
13306
+ },
13307
+ "detail": {
13308
+ "description": "Optional secondary line of text rendered below the label. Typically the raw token value (e.g. \"oklch(0.53 0.18 240)\") when the swatch represents a design-token step.",
13309
+ "type": "string",
13310
+ "default": ""
13311
+ },
12958
13312
  "label": {
12959
13313
  "description": "Optional label rendered next to (or below, for shape=\"block\") the swatch. Use the default slot for richer content.",
12960
13314
  "type": "string",
12961
13315
  "default": ""
12962
13316
  },
13317
+ "selectable": {
13318
+ "description": "When set, makes the swatch keyboard-focusable + clickable. Sets role=\"button\" + tabindex=\"0\". Dispatches a \"select\" event on activation (click / Enter / Space).",
13319
+ "type": "boolean",
13320
+ "default": false
13321
+ },
13322
+ "selected": {
13323
+ "description": "Reflected visual selected state. Pair with [selectable] to make the swatch behave like a radio-style picker. Sets aria-pressed.",
13324
+ "type": "boolean",
13325
+ "default": false
13326
+ },
12963
13327
  "shape": {
12964
13328
  "description": "Visual shape — block (filled tile), dot (small circle), square (small filled square), line (solid hairline), dashed (dashed hairline).",
12965
13329
  "type": "string",
@@ -12991,7 +13355,25 @@
12991
13355
  "anti_patterns": [],
12992
13356
  "category": "display",
12993
13357
  "composes": [],
12994
- "events": {},
13358
+ "events": {
13359
+ "select": {
13360
+ "description": "Fired when a selectable swatch is activated (click / Enter / Space). detail carries the swatch's value, color, and label.",
13361
+ "detail": {
13362
+ "color": {
13363
+ "description": "The raw [color] attribute value.",
13364
+ "type": "string"
13365
+ },
13366
+ "label": {
13367
+ "description": "The [label] attribute value.",
13368
+ "type": "string"
13369
+ },
13370
+ "value": {
13371
+ "description": "The swatch's effective value — [color] when present, else [label].",
13372
+ "type": "string"
13373
+ }
13374
+ }
13375
+ }
13376
+ },
12995
13377
  "examples": [
12996
13378
  {
12997
13379
  "description": "A single dot swatch with text label, e.g. as a chart-legend row.",
@@ -13028,6 +13410,11 @@
13028
13410
  {
13029
13411
  "description": "Default, ready for display.",
13030
13412
  "name": "idle"
13413
+ },
13414
+ {
13415
+ "description": "Reflected when the swatch is in the selected state (pair with [selectable]).",
13416
+ "attribute": "selected",
13417
+ "name": "selected"
13031
13418
  }
13032
13419
  ],
13033
13420
  "synonyms": {
@@ -13041,8 +13428,17 @@
13041
13428
  },
13042
13429
  "tag": "swatch-ui",
13043
13430
  "tokens": {
13431
+ "--swatch-badge-fg": {
13432
+ "description": "Color of the badge symbol. Defaults to chrome-foreground; overridden per-badge variant."
13433
+ },
13044
13434
  "--swatch-color": {
13045
13435
  "description": "Resolved color of the swatch fill / line. Wins over the [color] attr if set inline."
13436
+ },
13437
+ "--swatch-detail-fg": {
13438
+ "description": "Color of the secondary detail line. Defaults to subtle-foreground."
13439
+ },
13440
+ "--swatch-select-ring": {
13441
+ "description": "Color of the focus + selected ring when [selectable] is set."
13046
13442
  }
13047
13443
  },
13048
13444
  "traits": [],
@@ -13124,13 +13520,29 @@
13124
13520
  ],
13125
13521
  "events": {
13126
13522
  "autoplay-pause": {
13127
- "description": "Fired on autoplay-pause."
13523
+ "description": "Fired on autoplay-pause.",
13524
+ "detail": {
13525
+ "reason": {
13526
+ "description": "Pause reason (\"hover\" or \"focus\").",
13527
+ "type": "string"
13528
+ }
13529
+ }
13128
13530
  },
13129
13531
  "autoplay-resume": {
13130
13532
  "description": "Fired on autoplay-resume."
13131
13533
  },
13132
13534
  "change": {
13133
- "description": "Fired when the active slide changes. Detail: { index, slide }."
13535
+ "description": "Fired when the active slide changes. Detail: { index, slide }.",
13536
+ "detail": {
13537
+ "index": {
13538
+ "description": "New active slide index.",
13539
+ "type": "number"
13540
+ },
13541
+ "slide": {
13542
+ "description": "The active slide element.",
13543
+ "type": "object"
13544
+ }
13545
+ }
13134
13546
  }
13135
13547
  },
13136
13548
  "examples": [
@@ -13439,19 +13851,94 @@
13439
13851
  ],
13440
13852
  "events": {
13441
13853
  "cell-click": {
13442
- "description": "Fired when a data cell is clicked."
13854
+ "description": "Fired when a data cell is clicked. detail carries the cell location + value.",
13855
+ "detail": {
13856
+ "dataIndex": {
13857
+ "description": "Row index in the underlying data array.",
13858
+ "type": "number"
13859
+ },
13860
+ "key": {
13861
+ "description": "Column key.",
13862
+ "type": "string"
13863
+ },
13864
+ "row": {
13865
+ "description": "Row data object.",
13866
+ "type": "object"
13867
+ },
13868
+ "value": {
13869
+ "description": "Cell value (type depends on column)."
13870
+ }
13871
+ }
13872
+ },
13873
+ "filter-change": {
13874
+ "description": "Fired when an interactive filter row applies / clears. detail.filters is the current filter map.",
13875
+ "detail": {
13876
+ "filters": {
13877
+ "description": "Map of `{ [columnKey]: filterValue }` reflecting active filters.",
13878
+ "type": "object"
13879
+ }
13880
+ }
13443
13881
  },
13444
13882
  "page": {
13445
- "description": "Fired when the user navigates to a different page."
13883
+ "description": "Fired when the user navigates to a different page.",
13884
+ "detail": {
13885
+ "page": {
13886
+ "description": "New active page index (1-based).",
13887
+ "type": "number"
13888
+ }
13889
+ }
13446
13890
  },
13447
13891
  "resize": {
13448
- "description": "Fired when a column is resized via drag."
13892
+ "description": "Fired when a column is resized via drag.",
13893
+ "detail": {
13894
+ "key": {
13895
+ "description": "Column key being resized.",
13896
+ "type": "string"
13897
+ },
13898
+ "width": {
13899
+ "description": "New column width in pixels.",
13900
+ "type": "number"
13901
+ }
13902
+ }
13903
+ },
13904
+ "row-expand": {
13905
+ "description": "Fired when an expandable row's chevron is activated. detail.index is the row position; detail.row is the row data.",
13906
+ "detail": {
13907
+ "index": {
13908
+ "description": "Row index in the underlying data array.",
13909
+ "type": "number"
13910
+ },
13911
+ "row": {
13912
+ "description": "Row data object.",
13913
+ "type": "object"
13914
+ }
13915
+ }
13449
13916
  },
13450
13917
  "select": {
13451
- "description": "Fired when row selection changes."
13918
+ "description": "Fired when row selection changes. detail.selected is an array of row indices or IDs.",
13919
+ "detail": {
13920
+ "selected": {
13921
+ "description": "Array of selected row indices or IDs (driven by [select-mode]).",
13922
+ "type": "array"
13923
+ }
13924
+ }
13452
13925
  },
13453
13926
  "sort": {
13454
- "description": "Fired when sort state changes via header click."
13927
+ "description": "Fired when sort state changes via header click.",
13928
+ "detail": {
13929
+ "dir": {
13930
+ "description": "Sort direction — \"asc\" / \"desc\" / null (cleared).",
13931
+ "type": "string"
13932
+ },
13933
+ "key": {
13934
+ "description": "Column key being sorted.",
13935
+ "type": "string"
13936
+ },
13937
+ "sortState": {
13938
+ "description": "Full sort state array (multi-column support).",
13939
+ "type": "array"
13940
+ }
13941
+ }
13455
13942
  }
13456
13943
  },
13457
13944
  "examples": [
@@ -14065,7 +14552,13 @@
14065
14552
  ],
14066
14553
  "events": {
14067
14554
  "change": {
14068
- "description": "Fired when the value changes (on blur for inputs, on selection for pickers)."
14555
+ "description": "Fired when the value changes (on blur for inputs, on selection for pickers).",
14556
+ "detail": {
14557
+ "value": {
14558
+ "description": "New active tab value.",
14559
+ "type": "string"
14560
+ }
14561
+ }
14069
14562
  }
14070
14563
  },
14071
14564
  "examples": [
@@ -14256,7 +14749,17 @@
14256
14749
  "composes": [],
14257
14750
  "events": {
14258
14751
  "remove": {
14259
- "description": "Fired when the dismiss button is activated."
14752
+ "description": "Fired when the dismiss button is activated.",
14753
+ "detail": {
14754
+ "text": {
14755
+ "description": "Tag text content.",
14756
+ "type": "string"
14757
+ },
14758
+ "value": {
14759
+ "description": "Tag value (same as text).",
14760
+ "type": "string"
14761
+ }
14762
+ }
14260
14763
  }
14261
14764
  },
14262
14765
  "examples": [
@@ -14765,14 +15268,10 @@
14765
15268
  ],
14766
15269
  "events": {
14767
15270
  "timeline-toggle": {
14768
- "description": "Fired when a collapsible timeline item is expanded or collapsed. Detail carries the toggled item's id + new open state.",
15271
+ "description": "Fired when a collapsible timeline item is expanded or collapsed. detail.expanded carries the new open state.",
14769
15272
  "detail": {
14770
- "id": {
14771
- "description": "Item id (matches the timeline-item-ui's data-id attr).",
14772
- "type": "string"
14773
- },
14774
- "open": {
14775
- "description": "New open state after the toggle.",
15273
+ "expanded": {
15274
+ "description": "New open state of the toggled item after the press.",
14776
15275
  "type": "boolean"
14777
15276
  }
14778
15277
  }
@@ -15029,7 +15528,13 @@
15029
15528
  "composes": [],
15030
15529
  "events": {
15031
15530
  "change": {
15032
- "description": "Fired when selection changes. detail: { value }"
15531
+ "description": "Fired when selection changes. detail: { value }",
15532
+ "detail": {
15533
+ "value": {
15534
+ "description": "New toggle-group value.",
15535
+ "type": "string"
15536
+ }
15537
+ }
15033
15538
  }
15034
15539
  },
15035
15540
  "examples": [
@@ -15246,7 +15751,17 @@
15246
15751
  ],
15247
15752
  "events": {
15248
15753
  "scheme-change": {
15249
- "description": "Fired when the active scheme changes. detail contains { scheme: \"light\" | \"dark\", source: \"press\" | \"media\" | \"programmatic\" }."
15754
+ "description": "Fired when the active scheme changes. detail contains { scheme: \"light\" | \"dark\", source: \"press\" | \"media\" | \"programmatic\" }.",
15755
+ "detail": {
15756
+ "scheme": {
15757
+ "description": "Active color scheme (\"light\" or \"dark\").",
15758
+ "type": "string"
15759
+ },
15760
+ "source": {
15761
+ "description": "Change source — \"press\" / \"media\" / \"programmatic\".",
15762
+ "type": "string"
15763
+ }
15764
+ }
15250
15765
  }
15251
15766
  },
15252
15767
  "examples": [
@@ -15615,7 +16130,21 @@
15615
16130
  ],
15616
16131
  "events": {
15617
16132
  "tree-select": {
15618
- "description": "Fired when an item is selected. detail: { item, text, value }"
16133
+ "description": "Fired when an item is selected. detail: { item, text, value }",
16134
+ "detail": {
16135
+ "item": {
16136
+ "description": "Selected tree-item element.",
16137
+ "type": "object"
16138
+ },
16139
+ "text": {
16140
+ "description": "Item text content.",
16141
+ "type": "string"
16142
+ },
16143
+ "value": {
16144
+ "description": "Item value attribute.",
16145
+ "type": "string"
16146
+ }
16147
+ }
15619
16148
  }
15620
16149
  },
15621
16150
  "examples": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adia-ai/a2ui-corpus",
3
- "version": "0.4.8",
3
+ "version": "0.4.9",
4
4
  "type": "module",
5
5
  "description": "AdiaUI A2UI training corpus — canonical v0.9 catalog + chunks + eval fixtures + feedback + gap registry. Consumed by the compose engine's retrieval layer + the MCP pipeline.",
6
6
  "exports": {