@fuaran-ui/conformance 0.20.0 → 0.22.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 (33) hide show
  1. package/corpus/lenient/lenient-filterable-static-dashboard-compact.expected.json +1 -1
  2. package/corpus/manifest.json +81 -1
  3. package/corpus/nodes/chart-annotation-bands.json +1 -1
  4. package/corpus/nodes/chart-annotation-events.json +1 -1
  5. package/corpus/nodes/chart-annotations.json +1 -1
  6. package/corpus/nodes/chart-axis-titles.json +1 -1
  7. package/corpus/nodes/chart-data-labels.json +1 -1
  8. package/corpus/nodes/chart-legend-position.json +1 -1
  9. package/corpus/nodes/chart-state-rows.json +1 -1
  10. package/corpus/nodes/chart-temporal-x.json +1 -1
  11. package/corpus/nodes/chart-value-format.json +1 -1
  12. package/corpus/nodes/composite-tabs-panels.json +1 -1
  13. package/corpus/nodes/controls-closure.json +1 -1
  14. package/corpus/nodes/filterable-static-dashboard.json +1 -1
  15. package/corpus/nodes/tabs-1.json +1 -1
  16. package/corpus/schema.json +588 -38
  17. package/corpus/snapshot.json +4 -0
  18. package/corpus/teleport/tp-reject-bad-base64.json +1 -0
  19. package/corpus/teleport/tp-reject-chainhead-injected.json +1 -0
  20. package/corpus/teleport/tp-reject-inflate-bomb.json +1 -0
  21. package/corpus/teleport/tp-reject-missing-digest.json +1 -0
  22. package/corpus/teleport/tp-reject-not-a-bundle.json +1 -0
  23. package/corpus/teleport/tp-reject-oversize-encoded.json +1 -0
  24. package/corpus/teleport/tp-reject-tampered-state.json +1 -0
  25. package/corpus/teleport/tp-reject-unsupported-version.json +1 -0
  26. package/corpus/teleport/tp-wizard-step1.expected.json +1 -0
  27. package/corpus/teleport/tp-wizard-step1.json +1 -0
  28. package/dist/cli.js.map +1 -1
  29. package/dist/index.cjs.map +1 -1
  30. package/dist/index.d.cts +2 -2
  31. package/dist/index.d.ts +2 -2
  32. package/dist/index.js.map +1 -1
  33. package/package.json +5 -3
@@ -1 +1 @@
1
- {"id":"filterable-static-dashboard","kind":{"$type":"Box","children":[{"id":"content-filters","kind":{"$type":"Filters","items":[{"kind":{"$type":"Choice","options":{"$type":"Static","value":[{"label":"EMEA","value":"emea"},{"label":"Americas","value":"amer"}]}},"label":"Region","name":"region"},{"kind":{"$type":"Choice","options":{"$type":"Static","value":[{"label":"Drama","value":"drama"},{"label":"Documentary","value":"docs"}]}},"label":"Genre","name":"genre"}]}},{"id":"retention-chart","kind":{"$type":"Chart","kind":"Line","source":{"$type":"Transform","params":[{"from":{"$type":"Filter","name":"region"},"name":"region"},{"from":{"$type":"Filter","name":"genre"},"name":"genre"}],"pipeline":[{"$type":"filter","pred":{"$type":"binary","left":{"$type":"col","name":"region"},"op":"eq","right":{"$type":"param","name":"region"}}},{"$type":"filter","pred":{"$type":"binary","left":{"$type":"col","name":"genre"},"op":"eq","right":{"$type":"param","name":"genre"}}}],"source":{"columns":{"genre":{"validity":[true,true],"values":["drama","docs"]},"month":{"validity":[true,true],"values":["jan","jan"]},"region":{"validity":[true,true],"values":["emea","amer"]},"retention":{"validity":[true,true],"values":[0.62,0.55]}},"schema":[{"name":"genre","type":"string"},{"name":"month","type":"string"},{"name":"region","type":"string"},{"name":"retention","type":"float"}]}},"stacked":false,"title":"Retention","xField":"month","yFields":["retention"]}},{"id":"episode-grid","kind":{"$type":"DataGrid","columns":[{"field":"month","kind":{"$type":"Text"},"label":"Month"},{"field":"retention","kind":{"$type":"Text"},"label":"Retention"}],"rowKeyField":"month","source":{"$type":"Transform","params":[{"from":{"$type":"Filter","name":"region"},"name":"region"},{"from":{"$type":"Filter","name":"genre"},"name":"genre"}],"pipeline":[{"$type":"filter","pred":{"$type":"binary","left":{"$type":"col","name":"region"},"op":"eq","right":{"$type":"param","name":"region"}}},{"$type":"filter","pred":{"$type":"binary","left":{"$type":"col","name":"genre"},"op":"eq","right":{"$type":"param","name":"genre"}}}],"source":{"columns":{"genre":{"validity":[true,true],"values":["drama","docs"]},"month":{"validity":[true,true],"values":["jan","jan"]},"region":{"validity":[true,true],"values":["emea","amer"]},"retention":{"validity":[true,true],"values":[0.62,0.55]}},"schema":[{"name":"genre","type":"string"},{"name":"month","type":"string"},{"name":"region","type":"string"},{"name":"retention","type":"float"}]}}}}],"heading":"Content performance","layout":{"$type":"Auto"},"role":"Dashboard"}}
1
+ {"id":"filterable-static-dashboard","kind":{"$type":"Box","children":[{"id":"content-filters","kind":{"$type":"Filters","items":[{"kind":{"$type":"Choice","options":{"$type":"Static","value":[{"label":"EMEA","value":"emea"},{"label":"Americas","value":"amer"}]}},"label":"Region","name":"region"},{"kind":{"$type":"Choice","options":{"$type":"Static","value":[{"label":"Drama","value":"drama"},{"label":"Documentary","value":"docs"}]}},"label":"Genre","name":"genre"}]}},{"id":"retention-chart","kind":{"$type":"Chart","kind":"Line","source":{"$type":"Transform","params":[{"from":{"$type":"Filter","name":"region"},"name":"region"},{"from":{"$type":"Filter","name":"genre"},"name":"genre"}],"pipeline":[{"$type":"filter","pred":{"$type":"binary","left":{"$type":"col","name":"region"},"op":"eq","right":{"$type":"param","name":"region"}}},{"$type":"filter","pred":{"$type":"binary","left":{"$type":"col","name":"genre"},"op":"eq","right":{"$type":"param","name":"genre"}}}],"source":{"columns":{"genre":{"validity":[true,true],"values":["drama","docs"]},"month":{"validity":[true,true],"values":["jan","jan"]},"region":{"validity":[true,true],"values":["emea","amer"]},"retention":{"validity":[true,true],"values":[0.62,0.55]}},"schema":[{"name":"genre","type":"string"},{"name":"month","type":"string"},{"name":"region","type":"string"},{"name":"retention","type":"float"}]}},"title":"Retention","xField":"month","yFields":["retention"]}},{"id":"episode-grid","kind":{"$type":"DataGrid","columns":[{"field":"month","kind":{"$type":"Text"},"label":"Month"},{"field":"retention","kind":{"$type":"Text"},"label":"Retention"}],"rowKeyField":"month","source":{"$type":"Transform","params":[{"from":{"$type":"Filter","name":"region"},"name":"region"},{"from":{"$type":"Filter","name":"genre"},"name":"genre"}],"pipeline":[{"$type":"filter","pred":{"$type":"binary","left":{"$type":"col","name":"region"},"op":"eq","right":{"$type":"param","name":"region"}}},{"$type":"filter","pred":{"$type":"binary","left":{"$type":"col","name":"genre"},"op":"eq","right":{"$type":"param","name":"genre"}}}],"source":{"columns":{"genre":{"validity":[true,true],"values":["drama","docs"]},"month":{"validity":[true,true],"values":["jan","jan"]},"region":{"validity":[true,true],"values":["emea","amer"]},"retention":{"validity":[true,true],"values":[0.62,0.55]}},"schema":[{"name":"genre","type":"string"},{"name":"month","type":"string"},{"name":"region","type":"string"},{"name":"retention","type":"float"}]}}}}],"heading":"Content performance","layout":{"$type":"Auto"},"role":"Dashboard"}}
@@ -2,7 +2,7 @@
2
2
  "version": 1,
3
3
  "schema": "schema.json",
4
4
  "idl": "idl.json",
5
- "description": "Fuaran canonical wire-format conformance corpus. node-round-trip / op-round-trip fixtures: decode inputFile, re-encode, assert byte-equal to expectedFile. reject fixtures: decode inputFile, assert DecodeError.Code = expectedErrorCode and DecodeError.Path starts with expectedPath. lenient-accept fixtures (WIRE_FORMAT 16): decode the SHORTHAND inputFile, re-encode, assert byte-equal to expectedFile (the verbose canonical form) — a conformant host MUST accept the shorthand and normalise it; rejecting it, or decoding it to different bytes, is non-conformant. envelope-round-trip / envelope-reject fixtures (WIRE_FORMAT 15): read the $profile/$payload envelope, negotiate the authored profile against the host's own core@1.0, then either re-render byte-equal to expectedFile (Current/Behind — unknown kinds preserved verbatim, must-ignore-but-preserve) or refuse a Foreign profile with expectedErrorCode FOREIGN_PROFILE at expectedPath. elicitation-round-trip / elicitation-reject fixtures (WIRE_FORMAT 18): decode with the decoder-named entry point (elicitation = the envelope codec, elicitation-outcome = the outcome codec), then either re-encode byte-equal to expectedFile or assert the structured refusal (expectedErrorCode at a path starting with expectedPath). elicitation-answer-accept / elicitation-answer-reject fixtures (WIRE_FORMAT 18.4): the inputFile pairs {answer, contract}; run the host's answer-conformance validation and assert acceptance or the expected refusal. contract-card-round-trip / contract-card-reject fixtures (WIRE_FORMAT 25): decode with the decoder-named entry point (contract-card = the single-card codec, contract-card-bundle = the bundle codec), then either re-encode byte-equal to expectedFile or assert the structured refusal (expectedErrorCode at a path starting with expectedPath). A card is NOT a node — it is the description a host reads to label and prop-validate a Custom node it has no renderer for — so it is its own family and never appears in nodes/. See fuaran-dotnet/docs/WIRE_FORMAT.md.",
5
+ "description": "Fuaran canonical wire-format conformance corpus. node-round-trip / op-round-trip fixtures: decode inputFile, re-encode, assert byte-equal to expectedFile. reject fixtures: decode inputFile, assert DecodeError.Code = expectedErrorCode and DecodeError.Path starts with expectedPath. lenient-accept fixtures (WIRE_FORMAT 16): decode the SHORTHAND inputFile, re-encode, assert byte-equal to expectedFile (the verbose canonical form) — a conformant host MUST accept the shorthand and normalise it; rejecting it, or decoding it to different bytes, is non-conformant. envelope-round-trip / envelope-reject fixtures (WIRE_FORMAT 15): read the $profile/$payload envelope, negotiate the authored profile against the host's own core@1.0, then either re-render byte-equal to expectedFile (Current/Behind — unknown kinds preserved verbatim, must-ignore-but-preserve) or refuse a Foreign profile with expectedErrorCode FOREIGN_PROFILE at expectedPath. elicitation-round-trip / elicitation-reject fixtures (WIRE_FORMAT 18): decode with the decoder-named entry point (elicitation = the envelope codec, elicitation-outcome = the outcome codec), then either re-encode byte-equal to expectedFile or assert the structured refusal (expectedErrorCode at a path starting with expectedPath). elicitation-answer-accept / elicitation-answer-reject fixtures (WIRE_FORMAT 18.4): the inputFile pairs {answer, contract}; run the host's answer-conformance validation and assert acceptance or the expected refusal. contract-card-round-trip / contract-card-reject fixtures (WIRE_FORMAT 25): decode with the decoder-named entry point (contract-card = the single-card codec, contract-card-bundle = the bundle codec), then either re-encode byte-equal to expectedFile or assert the structured refusal (expectedErrorCode at a path starting with expectedPath). A card is NOT a node — it is the description a host reads to label and prop-validate a Custom node it has no renderer for — so it is its own family and never appears in nodes/. teleport-decode / teleport-reject fixtures (WIRE_FORMAT 17): read the inputFile document ({encoded, limits?}), decode the encoded teleport bundle with the teleport entry point under the limits the document names (its own defaults when it names none), then either re-render the verified envelope — with its payload NORMALISED by the ordinary node decoder, so expectedFile is the decode expectation and not the carried bytes — byte-equal to expectedFile, or assert the structured refusal (expectedErrorCode at a path starting with expectedPath). The refusal vocabulary is the one WIRE_FORMAT 17.4 names (InvalidFormat / InvalidJson / InvalidEnvelope / UnsupportedVersion / DigestMismatch / Oversize / TreeDecode / HistoryDecode / TreeInvalid), NOT the eight DecodeError codes: a bundle is a container the node decoder runs inside. See fuaran-dotnet/docs/WIRE_FORMAT.md.",
6
6
  "kinds": [
7
7
  "Badge",
8
8
  "Box",
@@ -4385,6 +4385,86 @@
4385
4385
  "expectedErrorCode": "WRONG_TYPE",
4386
4386
  "expectedPath": "$.style.tone",
4387
4387
  "description": "Style.tone is integer not string"
4388
+ },
4389
+ {
4390
+ "id": "tp-wizard-step1",
4391
+ "kind": "teleport-decode",
4392
+ "decoder": "teleport",
4393
+ "inputFile": "teleport/tp-wizard-step1.json",
4394
+ "expectedFile": "teleport/tp-wizard-step1.expected.json",
4395
+ "description": "the reference bundle: a 3-step signup wizard resumed on step 1, name + email filled — produced by the reference encoder, so a second host decoding it byte-for-byte IS the cross-host claim. Its carried tree spells TextSource.Literal in the decode-accepted envelope form, so expectedFile is the NORMALISED twin (bare strings, WIRE_FORMAT 3.5 and 16) and not the input bytes — a decoder that treats the payload as opaque JSON fails here, which is the point (WIRE_FORMAT 17.6)"
4396
+ },
4397
+ {
4398
+ "id": "tp-reject-bad-base64",
4399
+ "kind": "teleport-reject",
4400
+ "decoder": "teleport",
4401
+ "inputFile": "teleport/tp-reject-bad-base64.json",
4402
+ "expectedErrorCode": "InvalidFormat",
4403
+ "expectedPath": "$",
4404
+ "description": "the reference bundle with one payload character outside the RFC 4648 5 alphabet — refused before any inflate work (WIRE_FORMAT 17.4 step 2)"
4405
+ },
4406
+ {
4407
+ "id": "tp-reject-chainhead-injected",
4408
+ "kind": "teleport-reject",
4409
+ "decoder": "teleport",
4410
+ "inputFile": "teleport/tp-reject-chainhead-injected.json",
4411
+ "expectedErrorCode": "DigestMismatch",
4412
+ "expectedPath": "$.digest",
4413
+ "description": "a chainHead member added to the reference envelope, its digest left alone — binding a bundle to a position it never held is the tamper WIRE_FORMAT 17.3 names first (17.4 step 4)"
4414
+ },
4415
+ {
4416
+ "id": "tp-reject-inflate-bomb",
4417
+ "kind": "teleport-reject",
4418
+ "decoder": "teleport",
4419
+ "inputFile": "teleport/tp-reject-inflate-bomb.json",
4420
+ "expectedErrorCode": "Oversize",
4421
+ "expectedPath": "$",
4422
+ "description": "a 367-character bundle inflating to 262144 bytes against a maxDecodedBytes of 65536 — the deflate-bomb guard, which is why the inflate cap is normative (WIRE_FORMAT 17.1, 17.4 step 1)"
4423
+ },
4424
+ {
4425
+ "id": "tp-reject-missing-digest",
4426
+ "kind": "teleport-reject",
4427
+ "decoder": "teleport",
4428
+ "inputFile": "teleport/tp-reject-missing-digest.json",
4429
+ "expectedErrorCode": "InvalidEnvelope",
4430
+ "expectedPath": "$.digest",
4431
+ "description": "the reference envelope with its digest member removed — an unsigned envelope is refused by shape, never accepted as one with nothing to check (WIRE_FORMAT 17.4 step 3)"
4432
+ },
4433
+ {
4434
+ "id": "tp-reject-not-a-bundle",
4435
+ "kind": "teleport-reject",
4436
+ "decoder": "teleport",
4437
+ "inputFile": "teleport/tp-reject-not-a-bundle.json",
4438
+ "expectedErrorCode": "InvalidFormat",
4439
+ "expectedPath": "$",
4440
+ "description": "an ordinary string carrying no FT1. tag (WIRE_FORMAT 17.4 step 2)"
4441
+ },
4442
+ {
4443
+ "id": "tp-reject-oversize-encoded",
4444
+ "kind": "teleport-reject",
4445
+ "decoder": "teleport",
4446
+ "inputFile": "teleport/tp-reject-oversize-encoded.json",
4447
+ "expectedErrorCode": "Oversize",
4448
+ "expectedPath": "$",
4449
+ "description": "the reference bundle against a maxEncodedChars of 256 — the size gate fires before any decompression work, so a valid bundle is refused purely for exceeding the limits the vector names (WIRE_FORMAT 17.4 step 1)"
4450
+ },
4451
+ {
4452
+ "id": "tp-reject-tampered-state",
4453
+ "kind": "teleport-reject",
4454
+ "decoder": "teleport",
4455
+ "inputFile": "teleport/tp-reject-tampered-state.json",
4456
+ "expectedErrorCode": "DigestMismatch",
4457
+ "expectedPath": "$.digest",
4458
+ "description": "one state value rewritten in the reference envelope, its digest left alone — resuming a bundle whose captured state was edited in transit is what the integrity check exists to prevent (WIRE_FORMAT 17.4 step 4)"
4459
+ },
4460
+ {
4461
+ "id": "tp-reject-unsupported-version",
4462
+ "kind": "teleport-reject",
4463
+ "decoder": "teleport",
4464
+ "inputFile": "teleport/tp-reject-unsupported-version.json",
4465
+ "expectedErrorCode": "UnsupportedVersion",
4466
+ "expectedPath": "$.bundle",
4467
+ "description": "the reference envelope re-stamped teleport@2 with its digest correctly recomputed, so the version refusal is what bites rather than the digest — an unrecognised envelope version is refused BY NAME, never decoded on the guess that the shape is close enough (WIRE_FORMAT 17.2, 17.4 step 3)"
4388
4468
  }
4389
4469
  ]
4390
4470
  }
@@ -1 +1 @@
1
- {"id":"chart-annotation-bands","kind":{"$type":"Box","children":[{"id":"bands-value","kind":{"$type":"Chart","annotations":[{"$type":"RangeBand","label":"Tolerance","range":{"$type":"ValueRange","from":200,"to":260}},{"$type":"RangeBand","range":{"$type":"ValueRange","from":0,"to":100}}],"kind":"Line","source":{"$type":"Static","value":[{"latencyMs":180,"week":"W1"},{"latencyMs":240,"week":"W2"},{"latencyMs":210,"week":"W3"}]},"stacked":false,"title":"p95 latency","xField":"week","yFields":["latencyMs"]}},{"id":"bands-category","kind":{"$type":"Chart","annotations":[{"$type":"RangeBand","label":"Freeze","range":{"$type":"XRange","from":{"$type":"Category","key":"Q2"},"to":{"$type":"Category","key":"Q3"}}}],"kind":"Bar","source":{"$type":"Static","value":[{"quarter":"Q1","revenue":120},{"quarter":"Q2","revenue":150},{"quarter":"Q3","revenue":90},{"quarter":"Q4","revenue":175}]},"stacked":false,"title":"Revenue by quarter","xField":"quarter","yFields":["revenue"]}},{"id":"bands-temporal","kind":{"$type":"Chart","annotations":[{"$type":"RangeBand","label":"Incident","range":{"$type":"XRange","from":{"$type":"Date","iso":"2026-01-20"},"to":{"$type":"Date","iso":"2026-02-20"}}}],"kind":"Line","source":{"$type":"Static","value":[{"day":"2026-01-05","sessions":40},{"day":"2026-02-05","sessions":65},{"day":"2026-03-05","sessions":55}]},"stacked":false,"title":"Sessions by day","xField":"day","xScale":"Temporal","yFields":["sessions"]}}],"layout":{"$type":"Auto"},"role":"Dashboard"}}
1
+ {"id":"chart-annotation-bands","kind":{"$type":"Box","children":[{"id":"bands-value","kind":{"$type":"Chart","annotations":[{"$type":"RangeBand","label":"Tolerance","range":{"$type":"ValueRange","from":200,"to":260}},{"$type":"RangeBand","range":{"$type":"ValueRange","from":0,"to":100}}],"kind":"Line","source":{"$type":"Static","value":[{"latencyMs":180,"week":"W1"},{"latencyMs":240,"week":"W2"},{"latencyMs":210,"week":"W3"}]},"title":"p95 latency","xField":"week","yFields":["latencyMs"]}},{"id":"bands-category","kind":{"$type":"Chart","annotations":[{"$type":"RangeBand","label":"Freeze","range":{"$type":"XRange","from":{"$type":"Category","key":"Q2"},"to":{"$type":"Category","key":"Q3"}}}],"kind":"Bar","source":{"$type":"Static","value":[{"quarter":"Q1","revenue":120},{"quarter":"Q2","revenue":150},{"quarter":"Q3","revenue":90},{"quarter":"Q4","revenue":175}]},"title":"Revenue by quarter","xField":"quarter","yFields":["revenue"]}},{"id":"bands-temporal","kind":{"$type":"Chart","annotations":[{"$type":"RangeBand","label":"Incident","range":{"$type":"XRange","from":{"$type":"Date","iso":"2026-01-20"},"to":{"$type":"Date","iso":"2026-02-20"}}}],"kind":"Line","source":{"$type":"Static","value":[{"day":"2026-01-05","sessions":40},{"day":"2026-02-05","sessions":65},{"day":"2026-03-05","sessions":55}]},"title":"Sessions by day","xField":"day","xScale":"Temporal","yFields":["sessions"]}}],"layout":{"$type":"Auto"},"role":"Dashboard"}}
@@ -1 +1 @@
1
- {"id":"chart-annotation-events","kind":{"$type":"Box","children":[{"id":"events-band","kind":{"$type":"Chart","annotations":[{"$type":"EventMarker","at":{"$type":"Category","key":"Q3"},"label":"Repricing"}],"kind":"Bar","source":{"$type":"Static","value":[{"quarter":"Q1","revenue":120},{"quarter":"Q2","revenue":150},{"quarter":"Q3","revenue":90},{"quarter":"Q4","revenue":175}]},"stacked":false,"title":"Revenue by quarter","xField":"quarter","yFields":["revenue"]}},{"id":"events-temporal","kind":{"$type":"Chart","annotations":[{"$type":"EventMarker","at":{"$type":"Date","iso":"2026-02-14"},"label":"Launch"},{"$type":"EventMarker","at":{"$type":"Date","iso":"2026-03-01"}}],"kind":"Line","source":{"$type":"Static","value":[{"day":"2026-01-05","sessions":40},{"day":"2026-02-05","sessions":65},{"day":"2026-03-05","sessions":55}]},"stacked":false,"title":"Sessions by day","xField":"day","xScale":"Temporal","yFields":["sessions"]}}],"layout":{"$type":"Auto"},"role":"Dashboard"}}
1
+ {"id":"chart-annotation-events","kind":{"$type":"Box","children":[{"id":"events-band","kind":{"$type":"Chart","annotations":[{"$type":"EventMarker","at":{"$type":"Category","key":"Q3"},"label":"Repricing"}],"kind":"Bar","source":{"$type":"Static","value":[{"quarter":"Q1","revenue":120},{"quarter":"Q2","revenue":150},{"quarter":"Q3","revenue":90},{"quarter":"Q4","revenue":175}]},"title":"Revenue by quarter","xField":"quarter","yFields":["revenue"]}},{"id":"events-temporal","kind":{"$type":"Chart","annotations":[{"$type":"EventMarker","at":{"$type":"Date","iso":"2026-02-14"},"label":"Launch"},{"$type":"EventMarker","at":{"$type":"Date","iso":"2026-03-01"}}],"kind":"Line","source":{"$type":"Static","value":[{"day":"2026-01-05","sessions":40},{"day":"2026-02-05","sessions":65},{"day":"2026-03-05","sessions":55}]},"title":"Sessions by day","xField":"day","xScale":"Temporal","yFields":["sessions"]}}],"layout":{"$type":"Auto"},"role":"Dashboard"}}
@@ -1 +1 @@
1
- {"id":"chart-annotations","kind":{"$type":"Chart","annotations":[{"$type":"ReferenceLine","label":"Target","value":140},{"$type":"ReferenceLine","value":0}],"kind":"Bar","source":{"$type":"Static","value":[{"quarter":"Q1","revenue":120},{"quarter":"Q2","revenue":150},{"quarter":"Q3","revenue":90},{"quarter":"Q4","revenue":175}]},"stacked":false,"title":"Revenue by quarter","xField":"quarter","yFields":["revenue"]}}
1
+ {"id":"chart-annotations","kind":{"$type":"Chart","annotations":[{"$type":"ReferenceLine","label":"Target","value":140},{"$type":"ReferenceLine","value":0}],"kind":"Bar","source":{"$type":"Static","value":[{"quarter":"Q1","revenue":120},{"quarter":"Q2","revenue":150},{"quarter":"Q3","revenue":90},{"quarter":"Q4","revenue":175}]},"title":"Revenue by quarter","xField":"quarter","yFields":["revenue"]}}
@@ -1 +1 @@
1
- {"id":"chart-axis-titles","kind":{"$type":"Chart","kind":"Bar","source":{"$type":"Static","value":[{"quarter":"Q1","revenue":12500000},{"quarter":"Q2","revenue":15200000}]},"stacked":false,"subtitle":"Millions of £","title":"Revenue by quarter","valueFormat":{"$type":"Currency","isoCode":"GBP"},"xField":"quarter","xTitle":"Quarter","yFields":["revenue"],"yTitle":"Revenue"}}
1
+ {"id":"chart-axis-titles","kind":{"$type":"Chart","kind":"Bar","source":{"$type":"Static","value":[{"quarter":"Q1","revenue":12500000},{"quarter":"Q2","revenue":15200000}]},"subtitle":"Millions of £","title":"Revenue by quarter","valueFormat":{"$type":"Currency","isoCode":"GBP"},"xField":"quarter","xTitle":"Quarter","yFields":["revenue"],"yTitle":"Revenue"}}
@@ -1 +1 @@
1
- {"id":"chart-data-labels","kind":{"$type":"Chart","dataLabels":"Ends","kind":"Bar","source":{"$type":"Static","value":[{"quarter":"Q1","revenue":120},{"quarter":"Q2","revenue":150}]},"stacked":false,"title":"Revenue by quarter","xField":"quarter","yFields":["revenue"]}}
1
+ {"id":"chart-data-labels","kind":{"$type":"Chart","dataLabels":"Ends","kind":"Bar","source":{"$type":"Static","value":[{"quarter":"Q1","revenue":120},{"quarter":"Q2","revenue":150}]},"title":"Revenue by quarter","xField":"quarter","yFields":["revenue"]}}
@@ -1 +1 @@
1
- {"id":"chart-legend-position","kind":{"$type":"Chart","kind":"Bar","legendPosition":"Bottom","source":{"$type":"Static","value":[{"region":"North","sales":80,"target":100},{"region":"South","sales":130,"target":110}]},"stacked":false,"title":"Sales vs target","xField":"region","yFields":["sales","target"]}}
1
+ {"id":"chart-legend-position","kind":{"$type":"Chart","kind":"Bar","legendPosition":"Bottom","source":{"$type":"Static","value":[{"region":"North","sales":80,"target":100},{"region":"South","sales":130,"target":110}]},"title":"Sales vs target","xField":"region","yFields":["sales","target"]}}
@@ -1 +1 @@
1
- {"id":"chart-state-rows","kind":{"$type":"Chart","kind":"Bar","source":{"$type":"State","defaultValue":[{"month":"Jan","revenue":980},{"month":"Feb","revenue":1105}],"key":"planRows"},"stacked":false,"xField":"month","yFields":["revenue"]}}
1
+ {"id":"chart-state-rows","kind":{"$type":"Chart","kind":"Bar","source":{"$type":"State","defaultValue":[{"month":"Jan","revenue":980},{"month":"Feb","revenue":1105}],"key":"planRows"},"xField":"month","yFields":["revenue"]}}
@@ -1 +1 @@
1
- {"id":"chart-temporal-x","kind":{"$type":"Chart","kind":"Line","source":{"$type":"Static","value":[{"day":"2026-01-05","sessions":1200},{"day":"2026-01-12","sessions":1450},{"day":"2026-01-19","sessions":1310},{"day":"2026-01-26","sessions":1580}]},"stacked":false,"title":"Sessions by week","xField":"day","xScale":"Temporal","yFields":["sessions"]}}
1
+ {"id":"chart-temporal-x","kind":{"$type":"Chart","kind":"Line","source":{"$type":"Static","value":[{"day":"2026-01-05","sessions":1200},{"day":"2026-01-12","sessions":1450},{"day":"2026-01-19","sessions":1310},{"day":"2026-01-26","sessions":1580}]},"title":"Sessions by week","xField":"day","xScale":"Temporal","yFields":["sessions"]}}
@@ -1 +1 @@
1
- {"id":"chart-value-format","kind":{"$type":"Chart","kind":"Bar","source":{"$type":"Static","value":[{"month":"Jan","revenue":12500000},{"month":"Feb","revenue":15200000}]},"stacked":false,"title":"Revenue","valueFormat":{"$type":"Currency","isoCode":"GBP"},"xField":"month","yFields":["revenue"]}}
1
+ {"id":"chart-value-format","kind":{"$type":"Chart","kind":"Bar","source":{"$type":"Static","value":[{"month":"Jan","revenue":12500000},{"month":"Feb","revenue":15200000}]},"title":"Revenue","valueFormat":{"$type":"Currency","isoCode":"GBP"},"xField":"month","yFields":["revenue"]}}
@@ -1 +1 @@
1
- {"id":"composite-tabs-panels","kind":{"$type":"Tabs","activeIndex":{"$type":"Static","value":0},"activeTag":{"$type":"Static","value":"overview"},"children":[{"id":"overview-panel","kind":{"$type":"Box","children":[{"id":"spark-1","kind":{"$type":"Sparkline","source":{"$type":"Static","value":[1,2,3,2,4]}}},{"id":"badge-1","kind":{"$type":"Badge","label":"Beta","variant":"Info"}}],"heading":"This month","layout":{"$type":"Grid","cols":2,"gap":16},"role":"Card"}},{"id":"settings-panel","kind":{"$type":"Box","children":[{"id":"preferences-form","kind":{"$type":"Form","fields":[{"id":"displayName","kind":{"$type":"Text","value":{"$type":"Static","value":"Ada Lovelace"}},"label":"Display name","required":true},{"id":"theme","kind":{"$type":"Choice","options":{"$type":"Static","value":[{"label":"Light","value":"light"},{"label":"Dark","value":"dark"}]},"value":{"$type":"Static","value":"dark"}},"label":"Theme","required":true}],"onSubmit":{"$type":"Call","endpoint":"/api/preferences"},"submitLabel":"Save preferences"}}],"heading":"Preferences","layout":{"$type":"Flex","direction":"Vertical","gap":12,"wrap":false},"role":"Card"}}],"tabHeaders":[{"icon":"chart-glyph","label":"Overview"},{"disabled":{"$type":"Static","value":false},"label":"Settings"}],"tabTags":["overview","settings"]}}
1
+ {"id":"composite-tabs-panels","kind":{"$type":"Tabs","activeTag":{"$type":"Static","value":"overview"},"children":[{"id":"overview-panel","kind":{"$type":"Box","children":[{"id":"spark-1","kind":{"$type":"Sparkline","source":{"$type":"Static","value":[1,2,3,2,4]}}},{"id":"badge-1","kind":{"$type":"Badge","label":"Beta","variant":"Info"}}],"heading":"This month","layout":{"$type":"Grid","cols":2,"gap":16},"role":"Card"}},{"id":"settings-panel","kind":{"$type":"Box","children":[{"id":"preferences-form","kind":{"$type":"Form","fields":[{"id":"displayName","kind":{"$type":"Text","value":{"$type":"Static","value":"Ada Lovelace"}},"label":"Display name","required":true},{"id":"theme","kind":{"$type":"Choice","options":{"$type":"Static","value":[{"label":"Light","value":"light"},{"label":"Dark","value":"dark"}]},"value":{"$type":"Static","value":"dark"}},"label":"Theme","required":true}],"onSubmit":{"$type":"Call","endpoint":"/api/preferences"},"submitLabel":"Save preferences"}}],"heading":"Preferences","layout":{"$type":"Flex","direction":"Vertical","gap":12,"wrap":false},"role":"Card"}}],"tabHeaders":[{"icon":"chart-glyph","label":"Overview"},{"disabled":{"$type":"Static","value":false},"label":"Settings"}],"tabTags":["overview","settings"]}}
@@ -1 +1 @@
1
- {"id":"controls-closure","kind":{"$type":"Box","children":[{"id":"closure-tabs","kind":{"$type":"Tabs","activeIndex":{"$type":"Static","value":0},"activeTag":{"$type":"Static","value":"overview"},"children":[{"id":"markdown-1","kind":{"$type":"Markdown","text":"Updated hourly."}},{"id":"spark-1","kind":{"$type":"Sparkline","source":{"$type":"Static","value":[1,2,3,2,4]}}}],"onSelect":"<closure>","onSelectTag":"<closure>","tabTags":["overview","detail"]}},{"id":"closure-disclosure","kind":{"$type":"Disclosure","children":[{"id":"markdown-2","kind":{"$type":"Markdown","text":"Updated hourly."}}],"defaultOpen":false,"heading":"Advanced","onToggle":"<closure>","open":{"$type":"Static","value":false}}},{"id":"closure-multiselect","kind":{"$type":"Select","label":"Tags","multiple":true,"onChange":"<closure>","onChangeMulti":"<closure>","source":{"$type":"Static","value":[{"label":"Red","value":"red"}]},"value":{"$type":"Static"},"values":{"$type":"Static","value":["red"]}}}],"layout":{"$type":"Flex","direction":"Vertical","wrap":false},"role":"Group"}}
1
+ {"id":"controls-closure","kind":{"$type":"Box","children":[{"id":"closure-tabs","kind":{"$type":"Tabs","activeTag":{"$type":"Static","value":"overview"},"children":[{"id":"markdown-1","kind":{"$type":"Markdown","text":"Updated hourly."}},{"id":"spark-1","kind":{"$type":"Sparkline","source":{"$type":"Static","value":[1,2,3,2,4]}}}],"onSelect":"<closure>","onSelectTag":"<closure>","tabTags":["overview","detail"]}},{"id":"closure-disclosure","kind":{"$type":"Disclosure","children":[{"id":"markdown-2","kind":{"$type":"Markdown","text":"Updated hourly."}}],"defaultOpen":false,"heading":"Advanced","onToggle":"<closure>","open":{"$type":"Static","value":false}}},{"id":"closure-multiselect","kind":{"$type":"Select","label":"Tags","multiple":true,"onChange":"<closure>","onChangeMulti":"<closure>","source":{"$type":"Static","value":[{"label":"Red","value":"red"}]},"value":{"$type":"Static"},"values":{"$type":"Static","value":["red"]}}}],"layout":{"$type":"Flex","direction":"Vertical","wrap":false},"role":"Group"}}
@@ -1 +1 @@
1
- {"id":"filterable-static-dashboard","kind":{"$type":"Box","children":[{"id":"content-filters","kind":{"$type":"Filters","items":[{"kind":{"$type":"Choice","options":{"$type":"Static","value":[{"label":"EMEA","value":"emea"},{"label":"Americas","value":"amer"}]}},"label":"Region","name":"region"},{"kind":{"$type":"Choice","options":{"$type":"Static","value":[{"label":"Drama","value":"drama"},{"label":"Documentary","value":"docs"}]}},"label":"Genre","name":"genre"}]}},{"id":"retention-chart","kind":{"$type":"Chart","kind":"Line","source":{"$type":"Transform","params":[{"from":{"$type":"Filter","name":"region"},"name":"region"},{"from":{"$type":"Filter","name":"genre"},"name":"genre"}],"pipeline":[{"$type":"filter","pred":{"$type":"binary","left":{"$type":"col","name":"region"},"op":"eq","right":{"$type":"param","name":"region"}}},{"$type":"filter","pred":{"$type":"binary","left":{"$type":"col","name":"genre"},"op":"eq","right":{"$type":"param","name":"genre"}}}],"source":{"columns":{"genre":{"validity":[true,true],"values":["drama","docs"]},"month":{"validity":[true,true],"values":["jan","jan"]},"region":{"validity":[true,true],"values":["emea","amer"]},"retention":{"validity":[true,true],"values":[0.62,0.55]}},"schema":[{"name":"region","type":"string"},{"name":"genre","type":"string"},{"name":"month","type":"string"},{"name":"retention","type":"float"}]}},"stacked":false,"title":"Retention","xField":"month","yFields":["retention"]}},{"id":"episode-grid","kind":{"$type":"DataGrid","columns":[{"field":"month","kind":{"$type":"Text"},"label":"Month"},{"field":"retention","kind":{"$type":"Text"},"label":"Retention"}],"rowKeyField":"month","source":{"$type":"Transform","params":[{"from":{"$type":"Filter","name":"region"},"name":"region"},{"from":{"$type":"Filter","name":"genre"},"name":"genre"}],"pipeline":[{"$type":"filter","pred":{"$type":"binary","left":{"$type":"col","name":"region"},"op":"eq","right":{"$type":"param","name":"region"}}},{"$type":"filter","pred":{"$type":"binary","left":{"$type":"col","name":"genre"},"op":"eq","right":{"$type":"param","name":"genre"}}}],"source":{"columns":{"genre":{"validity":[true,true],"values":["drama","docs"]},"month":{"validity":[true,true],"values":["jan","jan"]},"region":{"validity":[true,true],"values":["emea","amer"]},"retention":{"validity":[true,true],"values":[0.62,0.55]}},"schema":[{"name":"region","type":"string"},{"name":"genre","type":"string"},{"name":"month","type":"string"},{"name":"retention","type":"float"}]}}}}],"heading":"Content performance","layout":{"$type":"Auto"},"role":"Dashboard"}}
1
+ {"id":"filterable-static-dashboard","kind":{"$type":"Box","children":[{"id":"content-filters","kind":{"$type":"Filters","items":[{"kind":{"$type":"Choice","options":{"$type":"Static","value":[{"label":"EMEA","value":"emea"},{"label":"Americas","value":"amer"}]}},"label":"Region","name":"region"},{"kind":{"$type":"Choice","options":{"$type":"Static","value":[{"label":"Drama","value":"drama"},{"label":"Documentary","value":"docs"}]}},"label":"Genre","name":"genre"}]}},{"id":"retention-chart","kind":{"$type":"Chart","kind":"Line","source":{"$type":"Transform","params":[{"from":{"$type":"Filter","name":"region"},"name":"region"},{"from":{"$type":"Filter","name":"genre"},"name":"genre"}],"pipeline":[{"$type":"filter","pred":{"$type":"binary","left":{"$type":"col","name":"region"},"op":"eq","right":{"$type":"param","name":"region"}}},{"$type":"filter","pred":{"$type":"binary","left":{"$type":"col","name":"genre"},"op":"eq","right":{"$type":"param","name":"genre"}}}],"source":{"columns":{"genre":{"validity":[true,true],"values":["drama","docs"]},"month":{"validity":[true,true],"values":["jan","jan"]},"region":{"validity":[true,true],"values":["emea","amer"]},"retention":{"validity":[true,true],"values":[0.62,0.55]}},"schema":[{"name":"region","type":"string"},{"name":"genre","type":"string"},{"name":"month","type":"string"},{"name":"retention","type":"float"}]}},"title":"Retention","xField":"month","yFields":["retention"]}},{"id":"episode-grid","kind":{"$type":"DataGrid","columns":[{"field":"month","kind":{"$type":"Text"},"label":"Month"},{"field":"retention","kind":{"$type":"Text"},"label":"Retention"}],"rowKeyField":"month","source":{"$type":"Transform","params":[{"from":{"$type":"Filter","name":"region"},"name":"region"},{"from":{"$type":"Filter","name":"genre"},"name":"genre"}],"pipeline":[{"$type":"filter","pred":{"$type":"binary","left":{"$type":"col","name":"region"},"op":"eq","right":{"$type":"param","name":"region"}}},{"$type":"filter","pred":{"$type":"binary","left":{"$type":"col","name":"genre"},"op":"eq","right":{"$type":"param","name":"genre"}}}],"source":{"columns":{"genre":{"validity":[true,true],"values":["drama","docs"]},"month":{"validity":[true,true],"values":["jan","jan"]},"region":{"validity":[true,true],"values":["emea","amer"]},"retention":{"validity":[true,true],"values":[0.62,0.55]}},"schema":[{"name":"region","type":"string"},{"name":"genre","type":"string"},{"name":"month","type":"string"},{"name":"retention","type":"float"}]}}}}],"heading":"Content performance","layout":{"$type":"Auto"},"role":"Dashboard"}}
@@ -1 +1 @@
1
- {"id":"tabs-1","kind":{"$type":"Tabs","activeIndex":{"$type":"Static","value":0},"children":[{"id":"metric-1","kind":{"$type":"Metric","format":{"$type":"Currency","code":"GBP"},"icon":"trending-up","label":"Revenue","subtext":"vs last month","tone":"Brand","trend":{"$type":"Static","value":0.07},"trendFormat":{"$type":"Percent","decimals":1},"value":{"$type":"Static","value":1234.5}}}],"onSelect":"<closure>"}}
1
+ {"id":"tabs-1","kind":{"$type":"Tabs","children":[{"id":"metric-1","kind":{"$type":"Metric","format":{"$type":"Currency","code":"GBP"},"icon":"trending-up","label":"Revenue","subtext":"vs last month","tone":"Brand","trend":{"$type":"Static","value":0.07},"trendFormat":{"$type":"Percent","decimals":1},"value":{"$type":"Static","value":1234.5}}}],"onSelect":"<closure>"}}