@adobe/design-data-spec 0.0.1 → 0.1.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 (124) hide show
  1. package/conformance/README.md +82 -10
  2. package/conformance/diff/cross-format/expected.json +27 -0
  3. package/conformance/diff/cross-format/new/tokens.tokens.json +8 -0
  4. package/conformance/diff/cross-format/old/tokens.json +7 -0
  5. package/conformance/diff/deprecated-new-token/expected.json +13 -0
  6. package/conformance/diff/deprecated-new-token/new/tokens.tokens.json +8 -0
  7. package/conformance/diff/deprecated-new-token/old/tokens.tokens.json +1 -0
  8. package/conformance/diff/deprecated-set-level/expected.json +13 -0
  9. package/conformance/diff/deprecated-set-level/new/tokens.tokens.json +10 -0
  10. package/conformance/diff/deprecated-set-level/old/tokens.tokens.json +1 -0
  11. package/conformance/diff/identical-tokens/expected.json +8 -0
  12. package/conformance/diff/identical-tokens/new/tokens.tokens.json +12 -0
  13. package/conformance/diff/identical-tokens/old/tokens.tokens.json +12 -0
  14. package/conformance/diff/matched-gaining-deprecated/expected.json +20 -0
  15. package/conformance/diff/matched-gaining-deprecated/new/tokens.tokens.json +8 -0
  16. package/conformance/diff/matched-gaining-deprecated/old/tokens.tokens.json +7 -0
  17. package/conformance/diff/property-nested-change/expected.json +27 -0
  18. package/conformance/diff/property-nested-change/new/tokens.tokens.json +10 -0
  19. package/conformance/diff/property-nested-change/old/tokens.tokens.json +10 -0
  20. package/conformance/diff/property-value-update/expected.json +21 -0
  21. package/conformance/diff/property-value-update/new/tokens.tokens.json +7 -0
  22. package/conformance/diff/property-value-update/old/tokens.tokens.json +7 -0
  23. package/conformance/diff/rename-by-uuid/expected.json +22 -0
  24. package/conformance/diff/rename-by-uuid/new/tokens.tokens.json +7 -0
  25. package/conformance/diff/rename-by-uuid/old/tokens.tokens.json +7 -0
  26. package/conformance/diff/rename-with-property-changes/expected.json +28 -0
  27. package/conformance/diff/rename-with-property-changes/new/tokens.tokens.json +7 -0
  28. package/conformance/diff/rename-with-property-changes/old/tokens.tokens.json +7 -0
  29. package/conformance/diff/replaced-by-pairing/expected.json +43 -0
  30. package/conformance/diff/replaced-by-pairing/new/tokens.tokens.json +7 -0
  31. package/conformance/diff/replaced-by-pairing/old/tokens.tokens.json +10 -0
  32. package/conformance/diff/reverted-token/expected.json +13 -0
  33. package/conformance/diff/reverted-token/new/tokens.tokens.json +7 -0
  34. package/conformance/diff/reverted-token/old/tokens.tokens.json +8 -0
  35. package/conformance/diff/simple-add-delete/expected.json +18 -0
  36. package/conformance/diff/simple-add-delete/new/tokens.tokens.json +7 -0
  37. package/conformance/diff/simple-add-delete/old/tokens.tokens.json +7 -0
  38. package/conformance/diff/uuid-backfill/expected.json +20 -0
  39. package/conformance/diff/uuid-backfill/new/tokens.tokens.json +7 -0
  40. package/conformance/diff/uuid-backfill/old/tokens.tokens.json +6 -0
  41. package/conformance/invalid/SPEC-008/dimension.json +5 -0
  42. package/conformance/invalid/SPEC-008/expected-errors.json +10 -0
  43. package/conformance/invalid/SPEC-008/tokens.tokens.json +15 -0
  44. package/conformance/invalid/SPEC-010/expected-errors.json +10 -0
  45. package/conformance/invalid/SPEC-010/tokens.tokens.json +9 -0
  46. package/conformance/invalid/SPEC-011/expected-errors.json +10 -0
  47. package/conformance/invalid/SPEC-011/tokens.tokens.json +22 -0
  48. package/conformance/invalid/SPEC-012/expected-errors.json +10 -0
  49. package/conformance/invalid/SPEC-012/tokens.tokens.json +13 -0
  50. package/conformance/invalid/SPEC-013/expected-errors.json +10 -0
  51. package/conformance/invalid/SPEC-013/tokens.tokens.json +8 -0
  52. package/conformance/query/and-conditions/expected.json +1 -0
  53. package/conformance/query/and-conditions/input/tokens.tokens.json +17 -0
  54. package/conformance/query/and-conditions/query.txt +1 -0
  55. package/conformance/query/and-or-precedence/expected.json +1 -0
  56. package/conformance/query/and-or-precedence/input/tokens.tokens.json +22 -0
  57. package/conformance/query/and-or-precedence/query.txt +1 -0
  58. package/conformance/query/empty-matches-all/expected.json +1 -0
  59. package/conformance/query/empty-matches-all/input/tokens.tokens.json +17 -0
  60. package/conformance/query/empty-matches-all/query.txt +1 -0
  61. package/conformance/query/negation/expected.json +1 -0
  62. package/conformance/query/negation/input/tokens.tokens.json +17 -0
  63. package/conformance/query/negation/query.txt +1 -0
  64. package/conformance/query/no-matches/expected.json +1 -0
  65. package/conformance/query/no-matches/input/tokens.tokens.json +7 -0
  66. package/conformance/query/no-matches/query.txt +1 -0
  67. package/conformance/query/or-conditions/expected.json +1 -0
  68. package/conformance/query/or-conditions/input/tokens.tokens.json +17 -0
  69. package/conformance/query/or-conditions/query.txt +1 -0
  70. package/conformance/query/schema-key/expected.json +1 -0
  71. package/conformance/query/schema-key/input/tokens.tokens.json +14 -0
  72. package/conformance/query/schema-key/query.txt +1 -0
  73. package/conformance/query/single-field/expected.json +1 -0
  74. package/conformance/query/single-field/input/tokens.tokens.json +17 -0
  75. package/conformance/query/single-field/query.txt +1 -0
  76. package/conformance/query/wildcard-prefix/expected.json +1 -0
  77. package/conformance/query/wildcard-prefix/input/tokens.tokens.json +17 -0
  78. package/conformance/query/wildcard-prefix/query.txt +1 -0
  79. package/conformance/query/wildcard-suffix/expected.json +1 -0
  80. package/conformance/query/wildcard-suffix/input/tokens.tokens.json +17 -0
  81. package/conformance/query/wildcard-suffix/query.txt +1 -0
  82. package/conformance/resolution/alias-resolved-after-cascade/dimensions/color-scheme.json +5 -0
  83. package/conformance/resolution/alias-resolved-after-cascade/expected.json +5 -0
  84. package/conformance/resolution/alias-resolved-after-cascade/input/tokens.tokens.json +12 -0
  85. package/conformance/resolution/alias-resolved-after-cascade/query.json +4 -0
  86. package/conformance/resolution/base-fallback/dimensions/color-scheme.json +5 -0
  87. package/conformance/resolution/base-fallback/expected.json +5 -0
  88. package/conformance/resolution/base-fallback/input/tokens.tokens.json +7 -0
  89. package/conformance/resolution/base-fallback/query.json +4 -0
  90. package/conformance/resolution/specificity-wins/dimensions/color-scheme.json +5 -0
  91. package/conformance/resolution/specificity-wins/expected.json +5 -0
  92. package/conformance/resolution/specificity-wins/input/tokens.tokens.json +12 -0
  93. package/conformance/resolution/specificity-wins/query.json +4 -0
  94. package/fields/anatomy.json +15 -0
  95. package/fields/color-scheme.json +15 -0
  96. package/fields/component.json +15 -0
  97. package/fields/contrast.json +15 -0
  98. package/fields/density.json +15 -0
  99. package/fields/object.json +15 -0
  100. package/fields/orientation.json +15 -0
  101. package/fields/position.json +15 -0
  102. package/fields/property.json +15 -0
  103. package/fields/scale.json +15 -0
  104. package/fields/shape.json +15 -0
  105. package/fields/size.json +15 -0
  106. package/fields/state.json +15 -0
  107. package/fields/structure.json +15 -0
  108. package/fields/substructure.json +15 -0
  109. package/fields/variant.json +15 -0
  110. package/package.json +3 -1
  111. package/rules/rules.yaml +56 -2
  112. package/schemas/cascade-file.schema.json +10 -0
  113. package/schemas/field.schema.json +85 -0
  114. package/schemas/manifest.schema.json +55 -1
  115. package/schemas/token.schema.json +89 -18
  116. package/spec/cascade.md +18 -2
  117. package/spec/diff.md +97 -0
  118. package/spec/dimensions.md +15 -6
  119. package/spec/evolution.md +98 -0
  120. package/spec/index.md +11 -8
  121. package/spec/manifest.md +15 -0
  122. package/spec/query.md +135 -0
  123. package/spec/taxonomy.md +173 -0
  124. package/spec/token-format.md +114 -19
@@ -2,18 +2,90 @@
2
2
 
3
3
  Each **invalid** case lives under `invalid/<RULE_ID>/` with:
4
4
 
5
- - One or more JSON **fixture** files (structurally valid for Layer 1 when targeting Layer 2 rules).
6
- - **`expected-errors.json`** — expected diagnostics after Layer 2 validation (see `errors[].rule_id`, `severity`, optional `message_pattern`).
5
+ * One or more JSON **fixture** files (structurally valid for Layer 1 when targeting Layer 2 rules).
6
+ * **`expected-errors.json`** — expected diagnostics after Layer 2 validation (see `errors[].rule_id`, `severity`, optional `message_pattern`).
7
7
 
8
8
  **Valid** baselines live under `valid/`.
9
9
 
10
- | Folder | Rule | Intent |
11
- | ------------------ | -------- | ------------------------------------------------- |
12
- | `invalid/SPEC-001` | SPEC-001 | Alias target does not exist. |
13
- | `invalid/SPEC-002` | SPEC-002 | Alias resolves to incompatible type (semantic). |
14
- | `invalid/SPEC-003` | SPEC-003 | Circular alias chain. |
15
- | `invalid/SPEC-004` | SPEC-004 | Duplicate `uuid` across tokens. |
16
- | `invalid/SPEC-005` | SPEC-005 | Dimension `default` not in `modes`. |
17
- | `invalid/SPEC-006` | SPEC-006 | Ambiguous resolution / specificity tie (warning). |
10
+ | Folder | Rule | Intent |
11
+ | ------------------ | -------- | ------------------------------------------------------- |
12
+ | `invalid/SPEC-001` | SPEC-001 | Alias target does not exist. |
13
+ | `invalid/SPEC-002` | SPEC-002 | Alias resolves to incompatible type (semantic). |
14
+ | `invalid/SPEC-003` | SPEC-003 | Circular alias chain. |
15
+ | `invalid/SPEC-004` | SPEC-004 | Duplicate `uuid` across tokens. |
16
+ | `invalid/SPEC-005` | SPEC-005 | Dimension `default` not in `modes`. |
17
+ | `invalid/SPEC-006` | SPEC-006 | Ambiguous resolution / specificity tie (warning). |
18
+ | `invalid/SPEC-008` | SPEC-008 | Non-default mode variants with no base/default variant. |
18
19
 
19
20
  Implementors SHOULD run these fixtures once the Rust validator exposes rule IDs ([#724](https://github.com/adobe/spectrum-design-data/issues/724), [#725](https://github.com/adobe/spectrum-design-data/issues/725)).
21
+
22
+ ***
23
+
24
+ ## Resolution conformance fixtures
25
+
26
+ Each **resolution** case lives under `resolution/<name>/` with:
27
+
28
+ * `input/` — cascade-format `.tokens.json` files
29
+ * `dimensions/` — (optional) dimension declaration JSON files
30
+ * `query.json` — `{ "property": "...", "context": { ... } }` — the resolution query
31
+ * `expected.json` — `{ "resolved": bool, "expected_uuid": "..." }` — expected outcome
32
+
33
+ | Folder | Intent |
34
+ | ----------------------------------------- | -------------------------------------------------------------------- |
35
+ | `resolution/base-fallback` | Dimensionless base token MUST match any context (wildcard behavior). |
36
+ | `resolution/specificity-wins` | Higher-specificity variant MUST win over base when both match. |
37
+ | `resolution/alias-resolved-after-cascade` | Cascade selects the winner first; alias `$ref` chain resolves after. |
38
+
39
+ The Rust SDK drives these fixtures in `sdk/core/src/lib.rs` (`resolution_conformance` module, closes [#768](https://github.com/adobe/spectrum-design-data/issues/768)).
40
+
41
+ ***
42
+
43
+ ## Diff conformance fixtures
44
+
45
+ Each **diff** case lives under `diff/<name>/` with:
46
+
47
+ * `old/` — old token dataset (`.tokens.json` cascade arrays or `.json` legacy format)
48
+ * `new/` — new token dataset
49
+ * `expected.json` — full `DiffReport` structure (six category arrays: renamed, deprecated, reverted, added, deleted, updated)
50
+
51
+ | Folder | Intent |
52
+ | ------------------------------------- | -------------------------------------------------------------------------------- |
53
+ | `diff/identical-tokens` | Two identical datasets MUST produce an empty diff (all arrays empty). |
54
+ | `diff/simple-add-delete` | One old-only token → deleted; one new-only token → added. |
55
+ | `diff/rename-by-uuid` | Same UUID, different name objects → renamed (not add + delete). |
56
+ | `diff/deprecated-new-token` | Unmatched new token with `deprecated: true` → deprecated (not added). |
57
+ | `diff/deprecated-set-level` | All set entries `deprecated: true` normalizes to token-level deprecated. |
58
+ | `diff/reverted-token` | Matched token that loses `deprecated` → reverted (not updated). |
59
+ | `diff/matched-gaining-deprecated` | Matched token that gains `deprecated` → updated (not deprecated). |
60
+ | `diff/property-value-update` | Matched token with changed `value` → updated with property change. |
61
+ | `diff/property-nested-change` | Nested object change reported at leaf path (e.g. `sets.light.value`). |
62
+ | `diff/uuid-backfill` | Old lacks UUID, new gains it with same name object → paired (not add + delete). |
63
+ | `diff/cross-format` | Legacy old + cascade new, paired by UUID across formats. |
64
+ | `diff/rename-with-property-changes` | Renamed token with additional value changes populates `property_changes`. |
65
+
66
+ The Rust SDK drives these fixtures in `sdk/core/src/lib.rs` (`diff_conformance` module, closes [#788](https://github.com/adobe/spectrum-design-data/issues/788)).
67
+
68
+ ***
69
+
70
+ ## Query conformance fixtures
71
+
72
+ Each **query** case lives under `query/<name>/` with:
73
+
74
+ * `input/` — cascade-format `.tokens.json` files
75
+ * `query.txt` — plain-text filter expression
76
+ * `expected.json` — sorted array of matched token UUIDs
77
+
78
+ | Folder | Intent |
79
+ | ----------------------------- | ------------------------------------------------------------------------- |
80
+ | `query/single-field` | Basic `key=value` equality filter. |
81
+ | `query/and-conditions` | `,` (AND) requires all conditions to match. |
82
+ | `query/or-conditions` | `\|` (OR) matches if any alternative matches. |
83
+ | `query/negation` | `!=` matches non-equal values and absent fields. |
84
+ | `query/wildcard-suffix` | Glob `*` at end of value matches prefix. |
85
+ | `query/wildcard-prefix` | Glob `*` at start of value matches suffix. |
86
+ | `query/empty-matches-all` | Empty filter expression is a universal match. |
87
+ | `query/no-matches` | Filter with no matching tokens returns empty result. |
88
+ | `query/schema-key` | `$schema` key queries the top-level `$schema` field. |
89
+ | `query/and-or-precedence` | AND binds tighter than OR: `a,b\|c` = `(a AND b) OR c`. |
90
+
91
+ The Rust SDK drives these fixtures in `sdk/core/src/lib.rs` (`query_conformance` module, closes [#788](https://github.com/adobe/spectrum-design-data/issues/788)).
@@ -0,0 +1,27 @@
1
+ {
2
+ "renamed": [
3
+ {
4
+ "old_name": "background-color-default",
5
+ "new_name": "background-color-default",
6
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
7
+ "property_changes": [
8
+ {
9
+ "path": "name",
10
+ "change_type": "added",
11
+ "new_value": { "property": "background-color-default" }
12
+ },
13
+ {
14
+ "path": "value",
15
+ "change_type": "updated",
16
+ "new_value": "#000000",
17
+ "original_value": "#ffffff"
18
+ }
19
+ ]
20
+ }
21
+ ],
22
+ "deprecated": [],
23
+ "reverted": [],
24
+ "added": [],
25
+ "deleted": [],
26
+ "updated": []
27
+ }
@@ -0,0 +1,8 @@
1
+ [
2
+ {
3
+ "name": { "property": "background-color-default" },
4
+ "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/token-types/color.json",
5
+ "value": "#000000",
6
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001"
7
+ }
8
+ ]
@@ -0,0 +1,7 @@
1
+ {
2
+ "background-color-default": {
3
+ "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/token-types/color.json",
4
+ "value": "#ffffff",
5
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001"
6
+ }
7
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "renamed": [],
3
+ "deprecated": [
4
+ {
5
+ "name": "deprecated-token",
6
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001"
7
+ }
8
+ ],
9
+ "reverted": [],
10
+ "added": [],
11
+ "deleted": [],
12
+ "updated": []
13
+ }
@@ -0,0 +1,8 @@
1
+ [
2
+ {
3
+ "name": { "property": "deprecated-token" },
4
+ "deprecated": true,
5
+ "value": "#999999",
6
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001"
7
+ }
8
+ ]
@@ -0,0 +1,13 @@
1
+ {
2
+ "renamed": [],
3
+ "deprecated": [
4
+ {
5
+ "name": "set-deprecated-token",
6
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001"
7
+ }
8
+ ],
9
+ "reverted": [],
10
+ "added": [],
11
+ "deleted": [],
12
+ "updated": []
13
+ }
@@ -0,0 +1,10 @@
1
+ [
2
+ {
3
+ "name": { "property": "set-deprecated-token" },
4
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
5
+ "sets": {
6
+ "light": { "value": "#ffffff", "deprecated": true },
7
+ "dark": { "value": "#000000", "deprecated": true }
8
+ }
9
+ }
10
+ ]
@@ -0,0 +1,8 @@
1
+ {
2
+ "renamed": [],
3
+ "deprecated": [],
4
+ "reverted": [],
5
+ "added": [],
6
+ "deleted": [],
7
+ "updated": []
8
+ }
@@ -0,0 +1,12 @@
1
+ [
2
+ {
3
+ "name": { "property": "background-color-default" },
4
+ "value": "#ffffff",
5
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001"
6
+ },
7
+ {
8
+ "name": { "property": "border-color-default" },
9
+ "value": "#cccccc",
10
+ "uuid": "aaaaaaaa-0002-4000-8000-000000000001"
11
+ }
12
+ ]
@@ -0,0 +1,12 @@
1
+ [
2
+ {
3
+ "name": { "property": "background-color-default" },
4
+ "value": "#ffffff",
5
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001"
6
+ },
7
+ {
8
+ "name": { "property": "border-color-default" },
9
+ "value": "#cccccc",
10
+ "uuid": "aaaaaaaa-0002-4000-8000-000000000001"
11
+ }
12
+ ]
@@ -0,0 +1,20 @@
1
+ {
2
+ "renamed": [],
3
+ "deprecated": [],
4
+ "reverted": [],
5
+ "added": [],
6
+ "deleted": [],
7
+ "updated": [
8
+ {
9
+ "name": "gaining-deprecated",
10
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
11
+ "property_changes": [
12
+ {
13
+ "path": "deprecated",
14
+ "change_type": "added",
15
+ "new_value": true
16
+ }
17
+ ]
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,8 @@
1
+ [
2
+ {
3
+ "name": { "property": "gaining-deprecated" },
4
+ "deprecated": true,
5
+ "value": "#ffffff",
6
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001"
7
+ }
8
+ ]
@@ -0,0 +1,7 @@
1
+ [
2
+ {
3
+ "name": { "property": "gaining-deprecated" },
4
+ "value": "#ffffff",
5
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001"
6
+ }
7
+ ]
@@ -0,0 +1,27 @@
1
+ {
2
+ "renamed": [],
3
+ "deprecated": [],
4
+ "reverted": [],
5
+ "added": [],
6
+ "deleted": [],
7
+ "updated": [
8
+ {
9
+ "name": "overlay-color",
10
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
11
+ "property_changes": [
12
+ {
13
+ "path": "sets.dark.value",
14
+ "change_type": "updated",
15
+ "new_value": "#111111",
16
+ "original_value": "#000000"
17
+ },
18
+ {
19
+ "path": "sets.light.value",
20
+ "change_type": "updated",
21
+ "new_value": "#eeeeee",
22
+ "original_value": "#ffffff"
23
+ }
24
+ ]
25
+ }
26
+ ]
27
+ }
@@ -0,0 +1,10 @@
1
+ [
2
+ {
3
+ "name": { "property": "overlay-color" },
4
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
5
+ "sets": {
6
+ "light": { "value": "#eeeeee" },
7
+ "dark": { "value": "#111111" }
8
+ }
9
+ }
10
+ ]
@@ -0,0 +1,10 @@
1
+ [
2
+ {
3
+ "name": { "property": "overlay-color" },
4
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
5
+ "sets": {
6
+ "light": { "value": "#ffffff" },
7
+ "dark": { "value": "#000000" }
8
+ }
9
+ }
10
+ ]
@@ -0,0 +1,21 @@
1
+ {
2
+ "renamed": [],
3
+ "deprecated": [],
4
+ "reverted": [],
5
+ "added": [],
6
+ "deleted": [],
7
+ "updated": [
8
+ {
9
+ "name": "background-color",
10
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
11
+ "property_changes": [
12
+ {
13
+ "path": "value",
14
+ "change_type": "updated",
15
+ "new_value": "#000000",
16
+ "original_value": "#ffffff"
17
+ }
18
+ ]
19
+ }
20
+ ]
21
+ }
@@ -0,0 +1,7 @@
1
+ [
2
+ {
3
+ "name": { "property": "background-color" },
4
+ "value": "#000000",
5
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001"
6
+ }
7
+ ]
@@ -0,0 +1,7 @@
1
+ [
2
+ {
3
+ "name": { "property": "background-color" },
4
+ "value": "#ffffff",
5
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001"
6
+ }
7
+ ]
@@ -0,0 +1,22 @@
1
+ {
2
+ "renamed": [
3
+ {
4
+ "old_name": "old-name",
5
+ "new_name": "new-name",
6
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
7
+ "property_changes": [
8
+ {
9
+ "path": "name.property",
10
+ "change_type": "updated",
11
+ "new_value": "new-name",
12
+ "original_value": "old-name"
13
+ }
14
+ ]
15
+ }
16
+ ],
17
+ "deprecated": [],
18
+ "reverted": [],
19
+ "added": [],
20
+ "deleted": [],
21
+ "updated": []
22
+ }
@@ -0,0 +1,7 @@
1
+ [
2
+ {
3
+ "name": { "property": "new-name" },
4
+ "value": "#ffffff",
5
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001"
6
+ }
7
+ ]
@@ -0,0 +1,7 @@
1
+ [
2
+ {
3
+ "name": { "property": "old-name" },
4
+ "value": "#ffffff",
5
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001"
6
+ }
7
+ ]
@@ -0,0 +1,28 @@
1
+ {
2
+ "renamed": [
3
+ {
4
+ "old_name": "old-prop[component=button]",
5
+ "new_name": "new-prop[component=button]",
6
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
7
+ "property_changes": [
8
+ {
9
+ "path": "name.property",
10
+ "change_type": "updated",
11
+ "new_value": "new-prop",
12
+ "original_value": "old-prop"
13
+ },
14
+ {
15
+ "path": "value",
16
+ "change_type": "updated",
17
+ "new_value": "20px",
18
+ "original_value": "10px"
19
+ }
20
+ ]
21
+ }
22
+ ],
23
+ "deprecated": [],
24
+ "reverted": [],
25
+ "added": [],
26
+ "deleted": [],
27
+ "updated": []
28
+ }
@@ -0,0 +1,7 @@
1
+ [
2
+ {
3
+ "name": { "property": "new-prop", "component": "button" },
4
+ "value": "20px",
5
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001"
6
+ }
7
+ ]
@@ -0,0 +1,7 @@
1
+ [
2
+ {
3
+ "name": { "property": "old-prop", "component": "button" },
4
+ "value": "10px",
5
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001"
6
+ }
7
+ ]
@@ -0,0 +1,43 @@
1
+ {
2
+ "renamed": [
3
+ {
4
+ "old_name": "old-button-bg",
5
+ "new_name": "action-background-default",
6
+ "uuid": "aaaaaaaa-0002-4000-8000-000000000001",
7
+ "property_changes": [
8
+ {
9
+ "path": "deprecated",
10
+ "change_type": "deleted",
11
+ "original_value": "3.0.0"
12
+ },
13
+ {
14
+ "path": "deprecated_comment",
15
+ "change_type": "deleted",
16
+ "original_value": "Use action-background-default instead."
17
+ },
18
+ {
19
+ "path": "name.property",
20
+ "change_type": "updated",
21
+ "new_value": "action-background-default",
22
+ "original_value": "old-button-bg"
23
+ },
24
+ {
25
+ "path": "replaced_by",
26
+ "change_type": "deleted",
27
+ "original_value": "aaaaaaaa-0002-4000-8000-000000000001"
28
+ },
29
+ {
30
+ "path": "uuid",
31
+ "change_type": "updated",
32
+ "new_value": "aaaaaaaa-0002-4000-8000-000000000001",
33
+ "original_value": "aaaaaaaa-0001-4000-8000-000000000001"
34
+ }
35
+ ]
36
+ }
37
+ ],
38
+ "deprecated": [],
39
+ "reverted": [],
40
+ "added": [],
41
+ "deleted": [],
42
+ "updated": []
43
+ }
@@ -0,0 +1,7 @@
1
+ [
2
+ {
3
+ "name": { "property": "action-background-default" },
4
+ "value": "#0265dc",
5
+ "uuid": "aaaaaaaa-0002-4000-8000-000000000001"
6
+ }
7
+ ]
@@ -0,0 +1,10 @@
1
+ [
2
+ {
3
+ "name": { "property": "old-button-bg" },
4
+ "value": "#0265dc",
5
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
6
+ "deprecated": "3.0.0",
7
+ "deprecated_comment": "Use action-background-default instead.",
8
+ "replaced_by": "aaaaaaaa-0002-4000-8000-000000000001"
9
+ }
10
+ ]
@@ -0,0 +1,13 @@
1
+ {
2
+ "renamed": [],
3
+ "deprecated": [],
4
+ "reverted": [
5
+ {
6
+ "name": "reverted-prop",
7
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001"
8
+ }
9
+ ],
10
+ "added": [],
11
+ "deleted": [],
12
+ "updated": []
13
+ }
@@ -0,0 +1,7 @@
1
+ [
2
+ {
3
+ "name": { "property": "reverted-prop" },
4
+ "value": "#ffffff",
5
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001"
6
+ }
7
+ ]
@@ -0,0 +1,8 @@
1
+ [
2
+ {
3
+ "name": { "property": "reverted-prop" },
4
+ "deprecated": true,
5
+ "value": "#ffffff",
6
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001"
7
+ }
8
+ ]
@@ -0,0 +1,18 @@
1
+ {
2
+ "renamed": [],
3
+ "deprecated": [],
4
+ "reverted": [],
5
+ "added": [
6
+ {
7
+ "name": "new-only-token",
8
+ "uuid": "aaaaaaaa-0002-4000-8000-000000000001"
9
+ }
10
+ ],
11
+ "deleted": [
12
+ {
13
+ "name": "old-only-token",
14
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001"
15
+ }
16
+ ],
17
+ "updated": []
18
+ }
@@ -0,0 +1,7 @@
1
+ [
2
+ {
3
+ "name": { "property": "new-only-token" },
4
+ "value": "#000000",
5
+ "uuid": "aaaaaaaa-0002-4000-8000-000000000001"
6
+ }
7
+ ]
@@ -0,0 +1,7 @@
1
+ [
2
+ {
3
+ "name": { "property": "old-only-token" },
4
+ "value": "#ffffff",
5
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001"
6
+ }
7
+ ]
@@ -0,0 +1,20 @@
1
+ {
2
+ "renamed": [],
3
+ "deprecated": [],
4
+ "reverted": [],
5
+ "added": [],
6
+ "deleted": [],
7
+ "updated": [
8
+ {
9
+ "name": "background-color",
10
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
11
+ "property_changes": [
12
+ {
13
+ "path": "uuid",
14
+ "change_type": "added",
15
+ "new_value": "aaaaaaaa-0001-4000-8000-000000000001"
16
+ }
17
+ ]
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,7 @@
1
+ [
2
+ {
3
+ "name": { "property": "background-color" },
4
+ "value": "#ffffff",
5
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001"
6
+ }
7
+ ]
@@ -0,0 +1,6 @@
1
+ [
2
+ {
3
+ "name": { "property": "background-color" },
4
+ "value": "#ffffff"
5
+ }
6
+ ]
@@ -0,0 +1,5 @@
1
+ {
2
+ "name": "colorScheme",
3
+ "modes": ["light", "dark", "wireframe"],
4
+ "default": "light"
5
+ }