@adobe/design-data-spec 3.1.0 → 3.2.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 (58) hide show
  1. package/conformance/diff/cross-format/expected.json +2 -2
  2. package/conformance/diff/deprecated-new-token/new/tokens.tokens.json +1 -1
  3. package/conformance/diff/matched-gaining-deprecated/expected.json +1 -1
  4. package/conformance/diff/matched-gaining-deprecated/new/tokens.tokens.json +1 -1
  5. package/conformance/diff/replaced-by-pairing/expected.json +8 -8
  6. package/conformance/diff/replaced-by-pairing/old/tokens.tokens.json +5 -3
  7. package/conformance/diff/reverted-token/old/tokens.tokens.json +1 -1
  8. package/conformance/generation/ctr-legacy-key/expected/button.json +8 -0
  9. package/conformance/generation/ctr-legacy-key/expected/tokens.json +7 -0
  10. package/conformance/generation/ctr-legacy-key/input/tokens.tokens.json +8 -0
  11. package/conformance/generation/ctr-legacy-key/relationships/button.json +14 -0
  12. package/conformance/generation/deprecated-token/input/tokens.tokens.json +5 -3
  13. package/conformance/generation/mode-set-edit/input/tokens.tokens.json +8 -4
  14. package/conformance/generation/renamed-token/input/tokens.tokens.json +4 -2
  15. package/conformance/invalid/SPEC-010/dataset.json +4 -2
  16. package/conformance/invalid/SPEC-010/expected-errors.json +1 -1
  17. package/conformance/invalid/SPEC-010/tokens.tokens.json +4 -2
  18. package/conformance/invalid/SPEC-011/dataset.json +7 -5
  19. package/conformance/invalid/SPEC-011/expected-errors.json +1 -1
  20. package/conformance/invalid/SPEC-011/tokens.tokens.json +7 -5
  21. package/conformance/invalid/SPEC-012/dataset.json +1 -1
  22. package/conformance/invalid/SPEC-012/expected-errors.json +1 -1
  23. package/conformance/invalid/SPEC-012/tokens.tokens.json +1 -1
  24. package/conformance/invalid/SPEC-013/dataset.json +1 -1
  25. package/conformance/invalid/SPEC-013/tokens.tokens.json +1 -1
  26. package/conformance/invalid/SPEC-014/dataset.json +1 -1
  27. package/conformance/invalid/SPEC-014/tokens.tokens.json +1 -1
  28. package/conformance/invalid/SPEC-036/dataset.json +1 -1
  29. package/conformance/invalid/SPEC-037/dataset.json +3 -3
  30. package/conformance/invalid/SPEC-051/dataset.json +16 -0
  31. package/conformance/invalid/SPEC-051/expected-errors.json +10 -0
  32. package/conformance/invalid/SPEC-052/dataset.json +24 -0
  33. package/conformance/invalid/SPEC-052/expected-errors.json +10 -0
  34. package/conformance/invalid/SPEC-053/dataset.json +26 -0
  35. package/conformance/invalid/SPEC-053/expected-errors.json +10 -0
  36. package/conformance/invalid/SPEC-054/dataset.json +24 -0
  37. package/conformance/invalid/SPEC-054/expected-errors.json +10 -0
  38. package/conformance/invalid/SPEC-055/dataset.json +16 -0
  39. package/conformance/invalid/SPEC-055/expected-errors.json +10 -0
  40. package/conformance/invalid/SPEC-056/dataset.json +22 -0
  41. package/conformance/invalid/SPEC-056/expected-errors.json +10 -0
  42. package/conformance/invalid/SPEC-057/dataset.json +21 -0
  43. package/conformance/invalid/SPEC-057/expected-errors.json +10 -0
  44. package/conformance/valid/SPEC-014/dataset.json +1 -1
  45. package/conformance/valid/SPEC-036/dataset.json +2 -2
  46. package/conformance/valid/SPEC-037/dataset.json +6 -6
  47. package/conformance/valid/SPEC-051/dataset.json +42 -0
  48. package/conformance/valid/lifecycle-with-last-modified.json +1 -1
  49. package/package.json +1 -1
  50. package/rules/rules.yaml +98 -2
  51. package/schemas/component.schema.json +4 -4
  52. package/schemas/relationship.schema.json +228 -0
  53. package/schemas/token.schema.json +38 -48
  54. package/spec/authoring-workflow.md +19 -19
  55. package/spec/evolution.md +20 -20
  56. package/spec/index.md +2 -0
  57. package/spec/relationship-format.md +103 -0
  58. package/spec/token-format.md +39 -27
@@ -6,9 +6,9 @@
6
6
  "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
7
7
  "property_changes": [
8
8
  {
9
- "path": "name",
9
+ "path": "name.property",
10
10
  "change_type": "added",
11
- "new_value": { "property": "background-color-default" }
11
+ "new_value": "background-color-default"
12
12
  },
13
13
  {
14
14
  "path": "value",
@@ -1,7 +1,7 @@
1
1
  [
2
2
  {
3
3
  "name": { "property": "deprecated-token" },
4
- "deprecated": true,
4
+ "lifecycle": { "deprecatedIn": true },
5
5
  "value": "#999999",
6
6
  "uuid": "aaaaaaaa-0001-4000-8000-000000000001"
7
7
  }
@@ -10,7 +10,7 @@
10
10
  "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
11
11
  "property_changes": [
12
12
  {
13
- "path": "deprecated",
13
+ "path": "lifecycle.deprecatedIn",
14
14
  "change_type": "added",
15
15
  "new_value": true
16
16
  }
@@ -1,7 +1,7 @@
1
1
  [
2
2
  {
3
3
  "name": { "property": "gaining-deprecated" },
4
- "deprecated": true,
4
+ "lifecycle": { "deprecatedIn": true },
5
5
  "value": "#ffffff",
6
6
  "uuid": "aaaaaaaa-0001-4000-8000-000000000001"
7
7
  }
@@ -6,14 +6,19 @@
6
6
  "uuid": "aaaaaaaa-0002-4000-8000-000000000001",
7
7
  "property_changes": [
8
8
  {
9
- "path": "deprecated",
9
+ "path": "lifecycle.deprecatedComment",
10
+ "change_type": "deleted",
11
+ "original_value": "Use action-background-default instead."
12
+ },
13
+ {
14
+ "path": "lifecycle.deprecatedIn",
10
15
  "change_type": "deleted",
11
16
  "original_value": "3.0.0"
12
17
  },
13
18
  {
14
- "path": "deprecated_comment",
19
+ "path": "lifecycle.replacedBy",
15
20
  "change_type": "deleted",
16
- "original_value": "Use action-background-default instead."
21
+ "original_value": "aaaaaaaa-0002-4000-8000-000000000001"
17
22
  },
18
23
  {
19
24
  "path": "name.property",
@@ -21,11 +26,6 @@
21
26
  "new_value": "action-background-default",
22
27
  "original_value": "old-button-bg"
23
28
  },
24
- {
25
- "path": "replaced_by",
26
- "change_type": "deleted",
27
- "original_value": "aaaaaaaa-0002-4000-8000-000000000001"
28
- },
29
29
  {
30
30
  "path": "uuid",
31
31
  "change_type": "updated",
@@ -3,8 +3,10 @@
3
3
  "name": { "property": "old-button-bg" },
4
4
  "value": "#0265dc",
5
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"
6
+ "lifecycle": {
7
+ "deprecatedIn": "3.0.0",
8
+ "deprecatedComment": "Use action-background-default instead.",
9
+ "replacedBy": "aaaaaaaa-0002-4000-8000-000000000001"
10
+ }
9
11
  }
10
12
  ]
@@ -1,7 +1,7 @@
1
1
  [
2
2
  {
3
3
  "name": { "property": "reverted-prop" },
4
- "deprecated": true,
4
+ "lifecycle": { "deprecatedIn": true },
5
5
  "value": "#ffffff",
6
6
  "uuid": "aaaaaaaa-0001-4000-8000-000000000001"
7
7
  }
@@ -0,0 +1,8 @@
1
+ {
2
+ "button-border-color": {
3
+ "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/token-types/color.json",
4
+ "component": "button",
5
+ "value": "rgb(0, 0, 0)",
6
+ "uuid": "cccccccc-0001-4000-8000-000000000001"
7
+ }
8
+ }
@@ -0,0 +1,7 @@
1
+ {
2
+ "spacing-100": {
3
+ "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/token-types/dimension.json",
4
+ "value": "8px",
5
+ "uuid": "bbbbbbbb-0001-4000-8000-000000000001"
6
+ }
7
+ }
@@ -0,0 +1,8 @@
1
+ [
2
+ {
3
+ "name": { "property": "spacing-100" },
4
+ "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/token-types/dimension.json",
5
+ "value": "8px",
6
+ "uuid": "bbbbbbbb-0001-4000-8000-000000000001"
7
+ }
8
+ ]
@@ -0,0 +1,14 @@
1
+ [
2
+ {
3
+ "scope": { "component": "button", "property": "border-color" },
4
+ "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/token-types/color.json",
5
+ "value": "rgb(0, 0, 0)",
6
+ "uuid": "cccccccc-0001-4000-8000-000000000001",
7
+ "legacyKey": "button-border-color"
8
+ },
9
+ {
10
+ "scope": { "component": "button", "property": "icon-color" },
11
+ "context": "informative icon color",
12
+ "$ref": "bbbbbbbb-0001-4000-8000-000000000001"
13
+ }
14
+ ]
@@ -4,8 +4,10 @@
4
4
  "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/token-types/color.json",
5
5
  "value": "rgb(255, 0, 0)",
6
6
  "uuid": "dddddddd-0001-4000-8000-000000000001",
7
- "deprecated": "2.0",
8
- "deprecated_comment": "Use color-blue-100 instead",
9
- "plannedRemoval": "3.0"
7
+ "lifecycle": {
8
+ "deprecatedIn": "2.0",
9
+ "deprecatedComment": "Use color-blue-100 instead",
10
+ "plannedRemoval": "3.0"
11
+ }
10
12
  }
11
13
  ]
@@ -11,8 +11,10 @@
11
11
  "uuid": "11111111-0001-4000-8000-000000000001",
12
12
  "set_uuid": "11111111-0003-4000-8000-000000000003",
13
13
  "set_schema": "https://opensource.adobe.com/spectrum-design-data/schemas/token-types/color-set.json",
14
- "deprecated": true,
15
- "replaced_by": "11111111-0004-4000-8000-000000000004"
14
+ "lifecycle": {
15
+ "deprecatedIn": true,
16
+ "replacedBy": "11111111-0004-4000-8000-000000000004"
17
+ }
16
18
  },
17
19
  {
18
20
  "name": {
@@ -26,8 +28,10 @@
26
28
  "uuid": "11111111-0002-4000-8000-000000000002",
27
29
  "set_uuid": "11111111-0003-4000-8000-000000000003",
28
30
  "set_schema": "https://opensource.adobe.com/spectrum-design-data/schemas/token-types/color-set.json",
29
- "deprecated": true,
30
- "replaced_by": "11111111-0004-4000-8000-000000000004"
31
+ "lifecycle": {
32
+ "deprecatedIn": true,
33
+ "replacedBy": "11111111-0004-4000-8000-000000000004"
34
+ }
31
35
  },
32
36
  {
33
37
  "name": { "property": "color", "colorFamily": "accent-new-400" },
@@ -4,8 +4,10 @@
4
4
  "$schema": "https://opensource.adobe.com/spectrum-design-data/schemas/token-types/color.json",
5
5
  "value": "rgb(128, 128, 128)",
6
6
  "uuid": "eeeeeeee-0001-4000-8000-000000000001",
7
- "deprecated": true,
8
- "replaced_by": "eeeeeeee-0002-4000-8000-000000000002"
7
+ "lifecycle": {
8
+ "deprecatedIn": true,
9
+ "replacedBy": "eeeeeeee-0002-4000-8000-000000000002"
10
+ }
9
11
  },
10
12
  {
11
13
  "name": { "property": "color", "colorFamily": "neutral" },
@@ -4,8 +4,10 @@
4
4
  "name": { "property": "deprecated-token" },
5
5
  "value": "#ffffff",
6
6
  "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
7
- "deprecated": "3.0.0",
8
- "replaced_by": "bbbbbbbb-9999-4000-8000-000000000099"
7
+ "lifecycle": {
8
+ "deprecatedIn": "3.0.0",
9
+ "replacedBy": "bbbbbbbb-9999-4000-8000-000000000099"
10
+ }
9
11
  }
10
12
  ],
11
13
  "components": []
@@ -4,7 +4,7 @@
4
4
  {
5
5
  "rule_id": "SPEC-010",
6
6
  "severity": "error",
7
- "message_pattern": "replaced_by target UUID not found"
7
+ "message_pattern": "lifecycle\\.replacedBy target UUID not found"
8
8
  }
9
9
  ]
10
10
  }
@@ -3,7 +3,9 @@
3
3
  "name": { "property": "deprecated-token" },
4
4
  "value": "#ffffff",
5
5
  "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
6
- "deprecated": "3.0.0",
7
- "replaced_by": "bbbbbbbb-9999-4000-8000-000000000099"
6
+ "lifecycle": {
7
+ "deprecatedIn": "3.0.0",
8
+ "replacedBy": "bbbbbbbb-9999-4000-8000-000000000099"
9
+ }
8
10
  }
9
11
  ]
@@ -4,11 +4,13 @@
4
4
  "name": { "property": "split-token" },
5
5
  "value": "#ffffff",
6
6
  "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
7
- "deprecated": "3.0.0",
8
- "replaced_by": [
9
- "aaaaaaaa-0002-4000-8000-000000000001",
10
- "aaaaaaaa-0003-4000-8000-000000000001"
11
- ]
7
+ "lifecycle": {
8
+ "deprecatedIn": "3.0.0",
9
+ "replacedBy": [
10
+ "aaaaaaaa-0002-4000-8000-000000000001",
11
+ "aaaaaaaa-0003-4000-8000-000000000001"
12
+ ]
13
+ }
12
14
  },
13
15
  {
14
16
  "name": { "property": "replacement-a" },
@@ -4,7 +4,7 @@
4
4
  {
5
5
  "rule_id": "SPEC-011",
6
6
  "severity": "error",
7
- "message_pattern": "replaced_by is an array but deprecated_comment is missing"
7
+ "message_pattern": "lifecycle\\.replacedBy is an array but lifecycle\\.deprecatedComment is missing"
8
8
  }
9
9
  ]
10
10
  }
@@ -3,11 +3,13 @@
3
3
  "name": { "property": "split-token" },
4
4
  "value": "#ffffff",
5
5
  "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
6
- "deprecated": "3.0.0",
7
- "replaced_by": [
8
- "aaaaaaaa-0002-4000-8000-000000000001",
9
- "aaaaaaaa-0003-4000-8000-000000000001"
10
- ]
6
+ "lifecycle": {
7
+ "deprecatedIn": "3.0.0",
8
+ "replacedBy": [
9
+ "aaaaaaaa-0002-4000-8000-000000000001",
10
+ "aaaaaaaa-0003-4000-8000-000000000001"
11
+ ]
12
+ }
11
13
  },
12
14
  {
13
15
  "name": { "property": "replacement-a" },
@@ -4,7 +4,7 @@
4
4
  "name": { "property": "not-deprecated-but-replaced" },
5
5
  "value": "#ffffff",
6
6
  "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
7
- "replaced_by": "aaaaaaaa-0002-4000-8000-000000000001"
7
+ "lifecycle": { "replacedBy": "aaaaaaaa-0002-4000-8000-000000000001" }
8
8
  },
9
9
  {
10
10
  "name": { "property": "replacement" },
@@ -4,7 +4,7 @@
4
4
  {
5
5
  "rule_id": "SPEC-012",
6
6
  "severity": "error",
7
- "message_pattern": "has replaced_by but is not marked deprecated"
7
+ "message_pattern": "has lifecycle\\.replacedBy but is not marked deprecated"
8
8
  }
9
9
  ]
10
10
  }
@@ -3,7 +3,7 @@
3
3
  "name": { "property": "not-deprecated-but-replaced" },
4
4
  "value": "#ffffff",
5
5
  "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
6
- "replaced_by": "aaaaaaaa-0002-4000-8000-000000000001"
6
+ "lifecycle": { "replacedBy": "aaaaaaaa-0002-4000-8000-000000000001" }
7
7
  },
8
8
  {
9
9
  "name": { "property": "replacement" },
@@ -4,7 +4,7 @@
4
4
  "name": { "property": "not-deprecated-but-planned-removal" },
5
5
  "value": "#ffffff",
6
6
  "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
7
- "plannedRemoval": "4.0.0"
7
+ "lifecycle": { "plannedRemoval": "4.0.0" }
8
8
  }
9
9
  ],
10
10
  "components": []
@@ -3,6 +3,6 @@
3
3
  "name": { "property": "not-deprecated-but-planned-removal" },
4
4
  "value": "#ffffff",
5
5
  "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
6
- "plannedRemoval": "4.0.0"
6
+ "lifecycle": { "plannedRemoval": "4.0.0" }
7
7
  }
8
8
  ]
@@ -4,7 +4,7 @@
4
4
  "name": { "property": "last-modified-before-introduced" },
5
5
  "value": "#ffffff",
6
6
  "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
7
- "introduced": "2.0.0",
7
+ "lifecycle": { "introduced": "2.0.0" },
8
8
  "lastModified": "1.5.0"
9
9
  }
10
10
  ],
@@ -3,7 +3,7 @@
3
3
  "name": { "property": "last-modified-before-introduced" },
4
4
  "value": "#ffffff",
5
5
  "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
6
- "introduced": "2.0.0",
6
+ "lifecycle": { "introduced": "2.0.0" },
7
7
  "lastModified": "1.5.0"
8
8
  }
9
9
  ]
@@ -18,7 +18,7 @@
18
18
  "documentationUrl": "https://spectrum.adobe.com/page/old-widget/"
19
19
  },
20
20
  "lifecycle": {
21
- "deprecated": "1.0.0-draft",
21
+ "deprecatedIn": "1.0.0-draft",
22
22
  "deprecatedComment": "Superseded by new-widget."
23
23
  }
24
24
  }
@@ -38,7 +38,7 @@
38
38
  {
39
39
  "name": "handle",
40
40
  "lifecycle": {
41
- "deprecated": "1.0.0-draft",
41
+ "deprecatedIn": "1.0.0-draft",
42
42
  "deprecatedComment": "Renamed to thumb."
43
43
  }
44
44
  }
@@ -56,7 +56,7 @@
56
56
  {
57
57
  "name": "pressed",
58
58
  "lifecycle": {
59
- "deprecated": "1.0.0-draft",
59
+ "deprecatedIn": "1.0.0-draft",
60
60
  "deprecatedComment": "Use active instead."
61
61
  }
62
62
  }
@@ -74,7 +74,7 @@
74
74
  {
75
75
  "value": "cta",
76
76
  "lifecycle": {
77
- "deprecated": "1.0.0-draft",
77
+ "deprecatedIn": "1.0.0-draft",
78
78
  "deprecatedComment": "Use primary instead."
79
79
  }
80
80
  }
@@ -0,0 +1,16 @@
1
+ {
2
+ "relationships": [
3
+ {
4
+ "scope": { "component": "ghost", "property": "background-color" },
5
+ "value": "#ff0000"
6
+ }
7
+ ],
8
+ "components": [
9
+ {
10
+ "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/button.json",
11
+ "name": "button",
12
+ "displayName": "Button",
13
+ "meta": { "category": "actions" }
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "layer": 2,
3
+ "errors": [
4
+ {
5
+ "rule_id": "SPEC-051",
6
+ "severity": "error",
7
+ "message_pattern": ".*undeclared component.*ghost.*"
8
+ }
9
+ ]
10
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "relationships": [
3
+ {
4
+ "scope": {
5
+ "component": "button",
6
+ "part": "capsule",
7
+ "property": "background-color"
8
+ },
9
+ "value": "#ff0000"
10
+ }
11
+ ],
12
+ "components": [
13
+ {
14
+ "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/button.json",
15
+ "name": "button",
16
+ "displayName": "Button",
17
+ "meta": { "category": "actions" },
18
+ "anatomy": [
19
+ { "name": "icon", "description": "Leading icon." },
20
+ { "name": "label", "description": "Button text.", "required": true }
21
+ ]
22
+ }
23
+ ]
24
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "layer": 2,
3
+ "errors": [
4
+ {
5
+ "rule_id": "SPEC-052",
6
+ "severity": "error",
7
+ "message_pattern": ".*undeclared anatomy part.*capsule.*"
8
+ }
9
+ ]
10
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "relationships": [
3
+ {
4
+ "scope": {
5
+ "component": "button",
6
+ "property": "background-color",
7
+ "options": { "style": "ghost" }
8
+ },
9
+ "value": "#ff0000"
10
+ }
11
+ ],
12
+ "components": [
13
+ {
14
+ "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/button.json",
15
+ "name": "button",
16
+ "displayName": "Button",
17
+ "meta": { "category": "actions" },
18
+ "options": {
19
+ "style": {
20
+ "type": "enum",
21
+ "values": [{ "value": "fill" }, { "value": "outline" }]
22
+ }
23
+ }
24
+ }
25
+ ]
26
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "layer": 2,
3
+ "errors": [
4
+ {
5
+ "rule_id": "SPEC-053",
6
+ "severity": "error",
7
+ "message_pattern": ".*style.*ghost.*not declared.*button.*"
8
+ }
9
+ ]
10
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "relationships": [
3
+ {
4
+ "scope": {
5
+ "component": "button",
6
+ "property": "background-color",
7
+ "options": { "state": ["jello"] }
8
+ },
9
+ "value": "#ff0000"
10
+ }
11
+ ],
12
+ "components": [
13
+ {
14
+ "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/button.json",
15
+ "name": "button",
16
+ "displayName": "Button",
17
+ "meta": { "category": "actions" },
18
+ "states": [
19
+ { "name": "hover", "trigger": "interaction", "precedence": 50 },
20
+ { "name": "disabled", "trigger": "prop", "precedence": 100 }
21
+ ]
22
+ }
23
+ ]
24
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "layer": 2,
3
+ "errors": [
4
+ {
5
+ "rule_id": "SPEC-054",
6
+ "severity": "error",
7
+ "message_pattern": ".*undeclared state.*jello.*"
8
+ }
9
+ ]
10
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "relationships": [
3
+ {
4
+ "scope": { "component": "button", "property": "background-color" },
5
+ "$ref": "99999999-9999-9999-9999-999999999999"
6
+ }
7
+ ],
8
+ "components": [
9
+ {
10
+ "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/button.json",
11
+ "name": "button",
12
+ "displayName": "Button",
13
+ "meta": { "category": "actions" }
14
+ }
15
+ ]
16
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "layer": 2,
3
+ "errors": [
4
+ {
5
+ "rule_id": "SPEC-055",
6
+ "severity": "error",
7
+ "message_pattern": ".*alias target not found.*99999999-9999-9999-9999-999999999999.*"
8
+ }
9
+ ]
10
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "relationships": [
3
+ {
4
+ "scope": { "component": "button", "property": "background-color" },
5
+ "value": "#ff0000",
6
+ "uuid": "11111111-1111-1111-1111-111111111111"
7
+ },
8
+ {
9
+ "scope": { "component": "button", "property": "border-color" },
10
+ "value": "#00ff00",
11
+ "uuid": "11111111-1111-1111-1111-111111111111"
12
+ }
13
+ ],
14
+ "components": [
15
+ {
16
+ "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/button.json",
17
+ "name": "button",
18
+ "displayName": "Button",
19
+ "meta": { "category": "actions" }
20
+ }
21
+ ]
22
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "layer": 2,
3
+ "errors": [
4
+ {
5
+ "rule_id": "SPEC-056",
6
+ "severity": "error",
7
+ "message_pattern": ".*Duplicate relationship uuid.*11111111-1111-1111-1111-111111111111.*"
8
+ }
9
+ ]
10
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "relationships": [
3
+ {
4
+ "scope": {
5
+ "component": "button",
6
+ "property": "background-color"
7
+ },
8
+ "value": "#ff0000",
9
+ "setUuid": "22222222-2222-2222-2222-222222222222",
10
+ "setSchema": "color-set"
11
+ }
12
+ ],
13
+ "components": [
14
+ {
15
+ "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/button.json",
16
+ "name": "button",
17
+ "displayName": "Button",
18
+ "meta": { "category": "actions" }
19
+ }
20
+ ]
21
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "layer": 2,
3
+ "errors": [
4
+ {
5
+ "rule_id": "SPEC-057",
6
+ "severity": "warning",
7
+ "message_pattern": ".*may need a legacyKey.*"
8
+ }
9
+ ]
10
+ }