@adobe/design-data-spec 0.9.0 → 0.10.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 (179) hide show
  1. package/components/accordion.json +18 -1
  2. package/components/action-bar.json +12 -1
  3. package/components/action-button.json +19 -1
  4. package/components/action-group.json +12 -1
  5. package/components/alert-banner.json +11 -1
  6. package/components/alert-dialog.json +19 -1
  7. package/components/avatar-group.json +4 -1
  8. package/components/avatar.json +4 -1
  9. package/components/badge.json +4 -1
  10. package/components/body.json +3 -0
  11. package/components/bottom-navigation-android.json +17 -0
  12. package/components/breadcrumbs.json +19 -2
  13. package/components/button-group.json +12 -1
  14. package/components/button.json +21 -3
  15. package/components/calendar.json +22 -0
  16. package/components/cards.json +18 -1
  17. package/components/checkbox-group.json +17 -1
  18. package/components/checkbox.json +24 -1
  19. package/components/close-button.json +19 -1
  20. package/components/coach-indicator.json +4 -1
  21. package/components/coach-mark.json +13 -1
  22. package/components/code.json +3 -0
  23. package/components/color-area.json +24 -1
  24. package/components/color-handle.json +13 -1
  25. package/components/color-loupe.json +4 -1
  26. package/components/color-slider.json +24 -1
  27. package/components/color-wheel.json +24 -1
  28. package/components/combo-box.json +24 -1
  29. package/components/contextual-help.json +18 -1
  30. package/components/date-picker.json +23 -1
  31. package/components/detail.json +3 -0
  32. package/components/divider.json +4 -1
  33. package/components/drop-zone.json +18 -1
  34. package/components/field-label.json +4 -1
  35. package/components/heading.json +3 -0
  36. package/components/help-text.json +5 -2
  37. package/components/illustrated-message.json +4 -1
  38. package/components/in-field-progress-button.json +18 -0
  39. package/components/in-field-progress-circle.json +4 -1
  40. package/components/in-line-alert.json +11 -1
  41. package/components/link.json +19 -1
  42. package/components/list-view.json +18 -1
  43. package/components/menu.json +19 -1
  44. package/components/meter.json +4 -1
  45. package/components/number-field.json +24 -1
  46. package/components/opacity-checkerboard.json +4 -1
  47. package/components/picker.json +24 -1
  48. package/components/popover.json +12 -1
  49. package/components/progress-bar.json +4 -1
  50. package/components/progress-circle.json +4 -1
  51. package/components/radio-button.json +24 -1
  52. package/components/radio-group.json +17 -1
  53. package/components/rating.json +24 -1
  54. package/components/scroll-zoom-bar.json +12 -0
  55. package/components/search-field.json +28 -1
  56. package/components/segmented-control.json +18 -1
  57. package/components/select-box.json +18 -1
  58. package/components/side-navigation.json +18 -1
  59. package/components/slider.json +24 -1
  60. package/components/standard-dialog.json +19 -1
  61. package/components/standard-panel.json +3 -0
  62. package/components/status-light.json +4 -1
  63. package/components/steplist.json +18 -1
  64. package/components/swatch-group.json +12 -1
  65. package/components/swatch.json +18 -1
  66. package/components/switch.json +19 -1
  67. package/components/tab-bar-ios.json +17 -0
  68. package/components/table.json +23 -1
  69. package/components/tabs.json +18 -1
  70. package/components/tag-field.json +18 -1
  71. package/components/tag-group.json +18 -1
  72. package/components/tag.json +18 -1
  73. package/components/takeover-dialog.json +19 -1
  74. package/components/text-area.json +28 -1
  75. package/components/text-field.json +28 -1
  76. package/components/thumbnail.json +4 -1
  77. package/components/title.json +40 -10
  78. package/components/toast.json +13 -1
  79. package/components/tooltip.json +17 -1
  80. package/components/tray.json +11 -0
  81. package/components/tree-view.json +19 -1
  82. package/conformance/README.md +7 -7
  83. package/conformance/invalid/SPEC-001/dataset.json +10 -0
  84. package/conformance/invalid/SPEC-001/expected-errors.json +1 -1
  85. package/conformance/invalid/SPEC-002/dataset.json +16 -0
  86. package/conformance/invalid/SPEC-002/expected-errors.json +1 -1
  87. package/conformance/invalid/SPEC-003/dataset.json +15 -0
  88. package/conformance/invalid/SPEC-003/expected-errors.json +1 -1
  89. package/conformance/invalid/SPEC-004/dataset.json +15 -0
  90. package/conformance/invalid/SPEC-004/expected-errors.json +1 -1
  91. package/conformance/invalid/SPEC-005/dataset.json +11 -0
  92. package/conformance/invalid/SPEC-005/expected-errors.json +1 -1
  93. package/conformance/invalid/SPEC-006/dataset.json +15 -0
  94. package/conformance/invalid/SPEC-006/expected-errors.json +1 -1
  95. package/conformance/invalid/SPEC-007/dataset.json +9 -0
  96. package/conformance/invalid/SPEC-007/expected-errors.json +10 -0
  97. package/conformance/invalid/SPEC-008/dataset.json +25 -0
  98. package/conformance/invalid/SPEC-008/expected-errors.json +2 -1
  99. package/conformance/invalid/SPEC-009/dataset.json +12 -0
  100. package/conformance/invalid/SPEC-009/expected-errors.json +10 -0
  101. package/conformance/invalid/SPEC-010/dataset.json +12 -0
  102. package/conformance/invalid/SPEC-011/dataset.json +25 -0
  103. package/conformance/invalid/SPEC-012/dataset.json +16 -0
  104. package/conformance/invalid/SPEC-013/dataset.json +11 -0
  105. package/conformance/invalid/SPEC-014/dataset.json +12 -0
  106. package/conformance/invalid/SPEC-014/expected-errors.json +1 -1
  107. package/conformance/invalid/SPEC-015/dataset.json +22 -0
  108. package/conformance/invalid/SPEC-015/expected-errors.json +10 -0
  109. package/conformance/invalid/SPEC-015/tokens.tokens.json +19 -0
  110. package/conformance/invalid/SPEC-016/dataset.json +11 -0
  111. package/conformance/invalid/SPEC-016/expected-errors.json +2 -2
  112. package/conformance/invalid/SPEC-017/dataset.json +10 -0
  113. package/conformance/invalid/SPEC-024/dataset.json +4 -3
  114. package/conformance/invalid/SPEC-024/expected-errors.json +2 -2
  115. package/conformance/invalid/SPEC-025/dataset.json +12 -0
  116. package/conformance/invalid/SPEC-025/expected-errors.json +10 -0
  117. package/conformance/invalid/SPEC-026/dataset.json +18 -0
  118. package/conformance/invalid/SPEC-026/expected-errors.json +10 -0
  119. package/conformance/invalid/SPEC-028/dataset.json +21 -0
  120. package/conformance/invalid/SPEC-028/expected-errors.json +10 -0
  121. package/conformance/invalid/SPEC-029/dataset.json +20 -0
  122. package/conformance/invalid/SPEC-029/expected-errors.json +10 -0
  123. package/conformance/invalid/SPEC-030/dataset.json +15 -0
  124. package/conformance/invalid/SPEC-030/expected-errors.json +10 -0
  125. package/conformance/invalid/SPEC-031/dataset.json +17 -0
  126. package/conformance/invalid/SPEC-031/expected-errors.json +10 -0
  127. package/conformance/invalid/SPEC-032/dataset.json +27 -0
  128. package/conformance/invalid/SPEC-032/expected-errors.json +15 -0
  129. package/conformance/resolution/base-fallback/expected.json +1 -1
  130. package/conformance/resolution/product-layer-wins/expected.json +5 -0
  131. package/conformance/resolution/product-layer-wins/input/tokens.tokens.json +7 -0
  132. package/conformance/resolution/product-layer-wins/product-context.json +11 -0
  133. package/conformance/resolution/product-layer-wins/query.json +4 -0
  134. package/conformance/resolution/specificity-wins/expected.json +1 -1
  135. package/conformance/valid/SPEC-014/dataset.json +12 -0
  136. package/conformance/valid/SPEC-016/dataset.json +16 -0
  137. package/conformance/valid/SPEC-025/dataset.json +24 -0
  138. package/conformance/valid/SPEC-026/dataset.json +15 -0
  139. package/conformance/valid/SPEC-028/dataset.json +21 -0
  140. package/conformance/valid/SPEC-029/dataset.json +24 -0
  141. package/conformance/valid/SPEC-030/dataset.json +17 -0
  142. package/conformance/valid/SPEC-031/dataset.json +24 -0
  143. package/conformance/valid/SPEC-032/dataset.json +16 -0
  144. package/conformance/valid/component-refs/README.md +5 -0
  145. package/conformance/valid/component-with-accessibility.json +32 -0
  146. package/fields/color-scheme.json +2 -2
  147. package/fields/contrast.json +2 -2
  148. package/fields/density.json +1 -1
  149. package/fields/scale.json +2 -2
  150. package/fields/size.json +1 -1
  151. package/package.json +4 -13
  152. package/rules/rules.yaml +40 -4
  153. package/schemas/accessibility.schema.json +60 -0
  154. package/schemas/component.schema.json +19 -0
  155. package/schemas/field.schema.json +2 -2
  156. package/schemas/manifest.schema.json +1 -1
  157. package/schemas/{dimension.schema.json → mode-set.schema.json} +3 -3
  158. package/schemas/token.schema.json +5 -5
  159. package/schemas/value-types/README.md +20 -0
  160. package/schemas/value-types/drop-shadow.schema.json +5 -5
  161. package/schemas/value-types/typography-scale.schema.json +2 -2
  162. package/schemas/value-types/typography.schema.json +5 -5
  163. package/spec/accessibility-adapters.md +219 -0
  164. package/spec/agent-surface.md +4 -4
  165. package/spec/cascade.md +7 -7
  166. package/spec/component-format.md +32 -0
  167. package/spec/document-blocks.md +1 -1
  168. package/spec/index.md +22 -20
  169. package/spec/manifest.md +2 -2
  170. package/spec/mode-sets.md +64 -0
  171. package/spec/query.md +18 -18
  172. package/spec/taxonomy.md +5 -5
  173. package/spec/token-format.md +12 -12
  174. package/spec/dimensions.md +0 -64
  175. package/src/canonical.js +0 -61
  176. package/src/validate.js +0 -190
  177. /package/conformance/resolution/alias-resolved-after-cascade/{dimensions → mode-sets}/color-scheme.json +0 -0
  178. /package/conformance/resolution/base-fallback/{dimensions → mode-sets}/color-scheme.json +0 -0
  179. /package/conformance/resolution/specificity-wins/{dimensions → mode-sets}/color-scheme.json +0 -0
@@ -0,0 +1,25 @@
1
+ {
2
+ "tokens": [
3
+ {
4
+ "name": { "property": "background-color-default", "colorScheme": "dark" },
5
+ "value": "#000000",
6
+ "uuid": "spec0008-dark-4000-8000-000000000001"
7
+ },
8
+ {
9
+ "name": {
10
+ "property": "background-color-default",
11
+ "colorScheme": "wireframe"
12
+ },
13
+ "value": "#f5f5f5",
14
+ "uuid": "spec0008-wire-4000-8000-000000000002"
15
+ }
16
+ ],
17
+ "components": [],
18
+ "modeSets": [
19
+ {
20
+ "name": "colorScheme",
21
+ "modes": ["light", "dark", "wireframe"],
22
+ "default": "light"
23
+ }
24
+ ]
25
+ }
@@ -1,5 +1,6 @@
1
1
  {
2
- "description": "A cascade token property that has non-default colorScheme variants (dark, wireframe) but no base/default variant (dimensionless or explicit light) MUST trigger SPEC-008.",
2
+ "layer": 1,
3
+ "description": "A cascade token property that has non-default colorScheme variants (dark, wireframe) but no base/default variant (mode-set-agnostic or explicit light) MUST trigger SPEC-008.",
3
4
  "errors": [
4
5
  {
5
6
  "rule_id": "SPEC-008",
@@ -0,0 +1,12 @@
1
+ {
2
+ "tokens": [
3
+ {
4
+ "name": {
5
+ "component": "nonexistent-widget",
6
+ "property": "background-color"
7
+ },
8
+ "value": "#0265dc"
9
+ }
10
+ ],
11
+ "components": []
12
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "layer": 2,
3
+ "errors": [
4
+ {
5
+ "rule_id": "SPEC-009",
6
+ "severity": "warning",
7
+ "message_pattern": ".*not in the design-system-registry.*"
8
+ }
9
+ ]
10
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "tokens": [
3
+ {
4
+ "name": { "property": "deprecated-token" },
5
+ "value": "#ffffff",
6
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
7
+ "deprecated": "3.0.0",
8
+ "replaced_by": "bbbbbbbb-9999-4000-8000-000000000099"
9
+ }
10
+ ],
11
+ "components": []
12
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "tokens": [
3
+ {
4
+ "name": { "property": "split-token" },
5
+ "value": "#ffffff",
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
+ ]
12
+ },
13
+ {
14
+ "name": { "property": "replacement-a" },
15
+ "value": "#eeeeee",
16
+ "uuid": "aaaaaaaa-0002-4000-8000-000000000001"
17
+ },
18
+ {
19
+ "name": { "property": "replacement-b" },
20
+ "value": "#dddddd",
21
+ "uuid": "aaaaaaaa-0003-4000-8000-000000000001"
22
+ }
23
+ ],
24
+ "components": []
25
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "tokens": [
3
+ {
4
+ "name": { "property": "not-deprecated-but-replaced" },
5
+ "value": "#ffffff",
6
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
7
+ "replaced_by": "aaaaaaaa-0002-4000-8000-000000000001"
8
+ },
9
+ {
10
+ "name": { "property": "replacement" },
11
+ "value": "#000000",
12
+ "uuid": "aaaaaaaa-0002-4000-8000-000000000001"
13
+ }
14
+ ],
15
+ "components": []
16
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "tokens": [
3
+ {
4
+ "name": { "property": "not-deprecated-but-planned-removal" },
5
+ "value": "#ffffff",
6
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
7
+ "plannedRemoval": "4.0.0"
8
+ }
9
+ ],
10
+ "components": []
11
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "tokens": [
3
+ {
4
+ "name": { "property": "last-modified-before-introduced" },
5
+ "value": "#ffffff",
6
+ "uuid": "aaaaaaaa-0001-4000-8000-000000000001",
7
+ "introduced": "2.0.0",
8
+ "lastModified": "1.5.0"
9
+ }
10
+ ],
11
+ "components": []
12
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "layer": 2,
2
+ "layer": 1,
3
3
  "errors": [
4
4
  {
5
5
  "rule_id": "SPEC-014",
@@ -0,0 +1,22 @@
1
+ {
2
+ "tokens": [
3
+ {
4
+ "name": "accent-color-bad",
5
+ "$valueType": "value-types/color.schema.json",
6
+ "value": "rgb(2, 101, 220)",
7
+ "uuid": "aaaaaaaa-0015-4000-8000-000000000001"
8
+ },
9
+ {
10
+ "name": "heading-style-bad",
11
+ "$valueType": "value-types/typography.schema.json",
12
+ "value": {
13
+ "fontFamily": "Adobe Clean",
14
+ "fontSize": "{accent-color-bad}",
15
+ "fontWeight": "700",
16
+ "lineHeight": "1.2"
17
+ },
18
+ "uuid": "aaaaaaaa-0015-4000-8000-000000000002"
19
+ }
20
+ ],
21
+ "components": []
22
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "layer": 1,
3
+ "errors": [
4
+ {
5
+ "rule_id": "SPEC-015",
6
+ "severity": "error",
7
+ "message_pattern": "composite sub-value 'fontSize' resolves alias.*to value-type 'color'"
8
+ }
9
+ ]
10
+ }
@@ -0,0 +1,19 @@
1
+ [
2
+ {
3
+ "name": "accent-color-bad",
4
+ "$valueType": "value-types/color.schema.json",
5
+ "value": "rgb(2, 101, 220)",
6
+ "uuid": "aaaaaaaa-0015-4000-8000-000000000001"
7
+ },
8
+ {
9
+ "name": "heading-style-bad",
10
+ "$valueType": "value-types/typography.schema.json",
11
+ "value": {
12
+ "fontFamily": "Adobe Clean",
13
+ "fontSize": "{accent-color-bad}",
14
+ "fontWeight": "700",
15
+ "lineHeight": "1.2"
16
+ },
17
+ "uuid": "aaaaaaaa-0015-4000-8000-000000000002"
18
+ }
19
+ ]
@@ -0,0 +1,11 @@
1
+ {
2
+ "tokens": [
3
+ {
4
+ "name": { "property": "bad-typography" },
5
+ "$valueType": "value-types/typography.schema.json",
6
+ "value": "not-an-object",
7
+ "uuid": "aaaaaaaa-0016-4000-8000-000000000001"
8
+ }
9
+ ],
10
+ "components": []
11
+ }
@@ -1,10 +1,10 @@
1
1
  {
2
- "layer": 2,
2
+ "layer": 1,
3
3
  "errors": [
4
4
  {
5
5
  "rule_id": "SPEC-016",
6
6
  "severity": "error",
7
- "message_pattern": "value does not validate against declared $valueType schema"
7
+ "message_pattern": "value does not validate against declared \\$valueType schema"
8
8
  }
9
9
  ]
10
10
  }
@@ -0,0 +1,10 @@
1
+ {
2
+ "tokens": [
3
+ {
4
+ "name": "focus-ring-color-key-focus",
5
+ "value": "#0265dc",
6
+ "uuid": "aaaaaaaa-0017-4000-8000-000000000002"
7
+ }
8
+ ],
9
+ "components": []
10
+ }
@@ -9,9 +9,10 @@
9
9
  "category": "actions",
10
10
  "documentationUrl": "https://spectrum.adobe.com/page/button/"
11
11
  },
12
- "states": [
13
- { "name": "hover", "trigger": "interaction", "precedence": 50 },
14
- { "name": "wobble" }
12
+ "anatomy": [
13
+ { "name": "label", "description": "Button text." },
14
+ { "name": "icon", "description": "Leading icon." },
15
+ { "name": "label", "description": "Duplicate label part." }
15
16
  ]
16
17
  }
17
18
  ]
@@ -3,8 +3,8 @@
3
3
  "errors": [
4
4
  {
5
5
  "rule_id": "SPEC-024",
6
- "severity": "warning",
7
- "message_pattern": ".*custom state.*wobble.*no description.*"
6
+ "severity": "error",
7
+ "message_pattern": ".*duplicate anatomy part.*label.*"
8
8
  }
9
9
  ]
10
10
  }
@@ -0,0 +1,12 @@
1
+ {
2
+ "tokens": [
3
+ {
4
+ "name": {
5
+ "anatomy": "label",
6
+ "property": "color"
7
+ },
8
+ "value": "#ffffff"
9
+ }
10
+ ],
11
+ "components": []
12
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "layer": 2,
3
+ "errors": [
4
+ {
5
+ "rule_id": "SPEC-025",
6
+ "severity": "error",
7
+ "message_pattern": ".*'anatomy' field without a 'component'.*"
8
+ }
9
+ ]
10
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "tokens": [],
3
+ "components": [
4
+ {
5
+ "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/button.json",
6
+ "name": "button",
7
+ "displayName": "Button",
8
+ "meta": {
9
+ "category": "actions",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/button/"
11
+ },
12
+ "states": [
13
+ { "name": "hover", "trigger": "interaction", "precedence": 50 },
14
+ { "name": "wobble" }
15
+ ]
16
+ }
17
+ ]
18
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "layer": 2,
3
+ "errors": [
4
+ {
5
+ "rule_id": "SPEC-026",
6
+ "severity": "warning",
7
+ "message_pattern": ".*custom state.*wobble.*no description.*"
8
+ }
9
+ ]
10
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "tokens": [],
3
+ "components": [
4
+ {
5
+ "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/button.json",
6
+ "name": "button",
7
+ "displayName": "Button",
8
+ "meta": {
9
+ "category": "actions",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/button/"
11
+ },
12
+ "documentBlocks": [
13
+ {
14
+ "type": "purpose",
15
+ "content": "Triggers an action when clicked.",
16
+ "agents": "Triggers an action when clicked."
17
+ }
18
+ ]
19
+ }
20
+ ]
21
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "layer": 2,
3
+ "errors": [
4
+ {
5
+ "rule_id": "SPEC-028",
6
+ "severity": "warning",
7
+ "message_pattern": ".*agents text is identical to content.*"
8
+ }
9
+ ]
10
+ }
@@ -0,0 +1,20 @@
1
+ {
2
+ "tokens": [],
3
+ "components": [
4
+ {
5
+ "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/button.json",
6
+ "name": "button",
7
+ "displayName": "Button",
8
+ "meta": {
9
+ "category": "actions",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/button/"
11
+ },
12
+ "documentBlocks": [
13
+ {
14
+ "type": "usage",
15
+ "content": "Use for primary actions in forms and dialogs."
16
+ }
17
+ ]
18
+ }
19
+ ]
20
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "layer": 2,
3
+ "errors": [
4
+ {
5
+ "rule_id": "SPEC-029",
6
+ "severity": "warning",
7
+ "message_pattern": ".*no purpose block.*"
8
+ }
9
+ ]
10
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "tokens": [],
3
+ "components": [
4
+ {
5
+ "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/button.json",
6
+ "name": "button",
7
+ "displayName": "Button",
8
+ "meta": {
9
+ "category": "actions",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/button/"
11
+ },
12
+ "accessibility": {}
13
+ }
14
+ ]
15
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "layer": 2,
3
+ "errors": [
4
+ {
5
+ "rule_id": "SPEC-030",
6
+ "severity": "warning",
7
+ "message_pattern": ".*empty accessibility object.*"
8
+ }
9
+ ]
10
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "tokens": [],
3
+ "components": [
4
+ {
5
+ "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/button.json",
6
+ "name": "button",
7
+ "displayName": "Button",
8
+ "meta": {
9
+ "category": "actions",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/button/"
11
+ },
12
+ "accessibility": {
13
+ "role": "button"
14
+ }
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "layer": 2,
3
+ "errors": [
4
+ {
5
+ "rule_id": "SPEC-031",
6
+ "severity": "warning",
7
+ "message_pattern": ".*no wcag entries.*"
8
+ }
9
+ ]
10
+ }
@@ -0,0 +1,27 @@
1
+ {
2
+ "tokens": [
3
+ {
4
+ "name": { "property": "color-default" },
5
+ "value": "#ffffff",
6
+ "uuid": "dddddddd-0032-4000-8000-000000000002"
7
+ },
8
+ {
9
+ "name": { "property": "color-default" },
10
+ "value": { "r": 0, "g": 0, "b": 0 },
11
+ "uuid": "dddddddd-0032-4000-8000-000000000002",
12
+ "$layer": "product"
13
+ },
14
+ {
15
+ "name": { "property": "spacing-default" },
16
+ "value": "8px",
17
+ "uuid": "dddddddd-0032-4000-8000-000000000004"
18
+ },
19
+ {
20
+ "name": { "property": "spacing-default" },
21
+ "value": 8,
22
+ "uuid": "dddddddd-0032-4000-8000-000000000004",
23
+ "$layer": "platform"
24
+ }
25
+ ],
26
+ "components": []
27
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "layer": 1,
3
+ "errors": [
4
+ {
5
+ "rule_id": "SPEC-032",
6
+ "severity": "error",
7
+ "message_pattern": "override changes value type from 'string' to 'object'"
8
+ },
9
+ {
10
+ "rule_id": "SPEC-032",
11
+ "severity": "error",
12
+ "message_pattern": "override changes value type from 'string' to 'number'"
13
+ }
14
+ ]
15
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "description": "When only a base (dimensionless) variant exists, it MUST match any context. Querying for 'dark' resolves to the base token.",
2
+ "description": "When only a base (mode-set-agnostic) variant exists, it MUST match any context. Querying for 'dark' resolves to the base token.",
3
3
  "resolved": true,
4
4
  "expected_uuid": "aaaaaaaa-0001-4000-8000-000000000001"
5
5
  }
@@ -0,0 +1,5 @@
1
+ {
2
+ "description": "When a Product-layer override shares a UUID with a Foundation token, the Product layer MUST win and its value MUST be used.",
3
+ "resolved": true,
4
+ "expected_value": "#product"
5
+ }
@@ -0,0 +1,7 @@
1
+ [
2
+ {
3
+ "name": { "property": "background-color-default" },
4
+ "value": "#foundation",
5
+ "uuid": "cccccccc-0001-4000-8000-000000000001"
6
+ }
7
+ ]
@@ -0,0 +1,11 @@
1
+ {
2
+ "$schema": "../../schemas/product-context.schema.json",
3
+ "layer": "product",
4
+ "overrides": [
5
+ {
6
+ "uuid": "cccccccc-0001-4000-8000-000000000001",
7
+ "value": "#product",
8
+ "rationale": "Product brand override for background color"
9
+ }
10
+ ]
11
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "property": "background-color-default",
3
+ "context": {}
4
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "description": "When both a base (dimensionless) and a non-default dimension variant exist, the higher-specificity variant MUST win.",
2
+ "description": "When both a base (mode-set-agnostic) and a non-default mode-set variant exist, the higher-specificity variant MUST win.",
3
3
  "resolved": true,
4
4
  "expected_uuid": "bbbbbbbb-0002-4000-8000-000000000002"
5
5
  }
@@ -0,0 +1,12 @@
1
+ {
2
+ "tokens": [
3
+ {
4
+ "name": { "property": "accent-color" },
5
+ "value": "#0d66d0",
6
+ "uuid": "aaaaaaaa-0014-4000-8000-000000000001",
7
+ "introduced": "1.0.0",
8
+ "lastModified": "1.2.0"
9
+ }
10
+ ],
11
+ "components": []
12
+ }
@@ -0,0 +1,16 @@
1
+ {
2
+ "tokens": [
3
+ {
4
+ "name": { "property": "heading-style" },
5
+ "$valueType": "value-types/typography.schema.json",
6
+ "value": {
7
+ "fontFamily": "Adobe Clean",
8
+ "fontSize": "32px",
9
+ "fontWeight": "700",
10
+ "lineHeight": "1.2"
11
+ },
12
+ "uuid": "aaaaaaaa-0016-4000-8000-000000000002"
13
+ }
14
+ ],
15
+ "components": []
16
+ }
@@ -0,0 +1,24 @@
1
+ {
2
+ "tokens": [
3
+ {
4
+ "name": {
5
+ "component": "button",
6
+ "anatomy": "label",
7
+ "property": "color"
8
+ },
9
+ "value": "#ffffff"
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": {
18
+ "category": "actions",
19
+ "documentationUrl": "https://spectrum.adobe.com/page/button/"
20
+ },
21
+ "anatomy": [{ "name": "label", "description": "Button text." }]
22
+ }
23
+ ]
24
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "tokens": [],
3
+ "components": [
4
+ {
5
+ "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/button.json",
6
+ "name": "button",
7
+ "displayName": "Button",
8
+ "meta": {
9
+ "category": "actions",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/button/"
11
+ },
12
+ "states": [{ "name": "wobble", "description": "Wobble animation state." }]
13
+ }
14
+ ]
15
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "tokens": [],
3
+ "components": [
4
+ {
5
+ "$id": "https://opensource.adobe.com/spectrum-design-data/schemas/v0/components/button.json",
6
+ "name": "button",
7
+ "displayName": "Button",
8
+ "meta": {
9
+ "category": "actions",
10
+ "documentationUrl": "https://spectrum.adobe.com/page/button/"
11
+ },
12
+ "documentBlocks": [
13
+ {
14
+ "type": "purpose",
15
+ "content": "Triggers an action when clicked.",
16
+ "agents": "Use this component to trigger a primary action in a form or dialog."
17
+ }
18
+ ]
19
+ }
20
+ ]
21
+ }