@primer/primitives 7.16.0 → 7.17.0-rc.086cd658

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 (259) hide show
  1. package/dist/styleLint/base/size/size.json +427 -0
  2. package/dist/styleLint/base/typography/typography.json +54 -0
  3. package/dist/styleLint/functional/motion/motion.json +47 -0
  4. package/dist/styleLint/functional/size/border.json +234 -0
  5. package/dist/styleLint/functional/size/breakpoints.json +152 -0
  6. package/dist/styleLint/functional/size/size-coarse.json +41 -0
  7. package/dist/styleLint/functional/size/size-fine.json +41 -0
  8. package/dist/styleLint/functional/size/size.json +1838 -0
  9. package/dist/styleLint/functional/size/viewport.json +80 -0
  10. package/dist/styleLint/functional/themes/dark-colorblind.json +16155 -0
  11. package/dist/styleLint/functional/themes/dark-dimmed.json +16159 -0
  12. package/dist/styleLint/functional/themes/dark-high-contrast.json +16175 -0
  13. package/dist/styleLint/functional/themes/dark-tritanopia.json +16161 -0
  14. package/dist/styleLint/functional/themes/dark.json +16159 -0
  15. package/dist/styleLint/functional/themes/light-colorblind.json +16123 -0
  16. package/dist/styleLint/functional/themes/light-high-contrast.json +16125 -0
  17. package/dist/styleLint/functional/themes/light-tritanopia.json +16115 -0
  18. package/dist/styleLint/functional/themes/light.json +16113 -0
  19. package/dist/styleLint/functional/typography/typography.json +663 -0
  20. package/package.json +11 -9
  21. package/src/PrimerStyleDictionary.ts +226 -0
  22. package/src/filters/index.ts +12 -0
  23. package/src/filters/isBorder.ts +10 -0
  24. package/src/filters/isColor.ts +10 -0
  25. package/src/filters/isColorWithAlpha.ts +11 -0
  26. package/src/filters/isColorWithMix.ts +33 -0
  27. package/src/filters/isDeprecated.ts +10 -0
  28. package/src/filters/isDimension.ts +10 -0
  29. package/src/filters/isDuration.ts +10 -0
  30. package/src/filters/isFontFamily.ts +10 -0
  31. package/src/filters/isFontWeight.ts +10 -0
  32. package/src/filters/isFromFile.ts +12 -0
  33. package/src/filters/isShadow.ts +10 -0
  34. package/src/filters/isSource.ts +10 -0
  35. package/src/filters/isTypography.ts +10 -0
  36. package/src/formats/cssCustomMedia.ts +24 -0
  37. package/src/formats/cssThemed.ts +35 -0
  38. package/src/formats/cssVariables.ts +25 -0
  39. package/src/formats/cssWrapMediaQuery.ts +29 -0
  40. package/src/formats/index.ts +11 -0
  41. package/src/formats/javascriptCommonJs.ts +21 -0
  42. package/src/formats/javascriptEsm.ts +21 -0
  43. package/src/formats/jsonFigma.ts +131 -0
  44. package/src/formats/jsonNestedPrefixed.ts +23 -0
  45. package/src/formats/jsonOneDimensional.ts +18 -0
  46. package/src/formats/jsonPostCssFallback.ts +16 -0
  47. package/src/formats/typescriptExportDefinition.ts +170 -0
  48. package/src/formats/utilities/jsonToFlat.ts +10 -0
  49. package/src/formats/utilities/jsonToNestedValue.ts +20 -0
  50. package/src/formats/utilities/prefixTokens.ts +17 -0
  51. package/src/parsers/index.ts +1 -0
  52. package/src/parsers/w3cJsonParser.ts +25 -0
  53. package/src/platforms/css.ts +93 -0
  54. package/src/platforms/deprecatedJson.ts +16 -0
  55. package/src/platforms/docJson.ts +34 -0
  56. package/src/platforms/fallbacks.ts +34 -0
  57. package/src/platforms/figma.ts +48 -0
  58. package/src/platforms/index.ts +10 -0
  59. package/src/platforms/javascript.ts +30 -0
  60. package/src/platforms/json.ts +32 -0
  61. package/src/platforms/styleLint.ts +34 -0
  62. package/src/platforms/typeDefinitions.ts +30 -0
  63. package/src/platforms/typescript.ts +30 -0
  64. package/src/schemas/alphaValue.ts +12 -0
  65. package/src/schemas/baseToken.ts +7 -0
  66. package/src/schemas/borderToken.ts +19 -0
  67. package/src/schemas/collections.ts +47 -0
  68. package/src/schemas/colorHexValue.ts +18 -0
  69. package/src/schemas/colorToken.ts +50 -0
  70. package/src/schemas/designToken.ts +38 -0
  71. package/src/schemas/dimensionToken.ts +22 -0
  72. package/src/schemas/dimensionValue.ts +16 -0
  73. package/src/schemas/durationToken.ts +12 -0
  74. package/src/schemas/durationValue.ts +9 -0
  75. package/src/schemas/fontFamilyToken.ts +11 -0
  76. package/src/schemas/fontWeightToken.ts +12 -0
  77. package/src/schemas/fontWeightValue.ts +14 -0
  78. package/src/schemas/numberToken.ts +11 -0
  79. package/src/schemas/referenceValue.ts +12 -0
  80. package/src/schemas/scopes.ts +16 -0
  81. package/src/schemas/shadowToken.ts +45 -0
  82. package/src/schemas/stringToken.ts +11 -0
  83. package/src/schemas/tokenName.ts +12 -0
  84. package/src/schemas/tokenType.ts +4 -0
  85. package/src/schemas/typographyToken.ts +20 -0
  86. package/src/schemas/validTokenType.ts +44 -0
  87. package/src/schemas/viewportRangeToken.ts +11 -0
  88. package/src/test-utilities/getMockDictionary.ts +22 -0
  89. package/src/test-utilities/getMockFormatterArguments.ts +21 -0
  90. package/src/test-utilities/getMockParserInput.ts +72 -0
  91. package/src/test-utilities/getMockToken.ts +25 -0
  92. package/src/test-utilities/index.ts +4 -0
  93. package/src/tokens/base/color/dark/dark.dimmed.json5 +1326 -0
  94. package/src/tokens/base/color/dark/dark.high-contrast.json5 +856 -0
  95. package/src/tokens/base/color/dark/dark.json5 +866 -0
  96. package/src/tokens/base/color/dark/display-dark.json5 +1774 -0
  97. package/src/tokens/base/color/light/display-light.json5 +1774 -0
  98. package/src/tokens/base/color/light/light.high-contrast.json5 +847 -0
  99. package/src/tokens/base/color/light/light.json5 +866 -0
  100. package/src/tokens/base/size/size.json +176 -0
  101. package/src/tokens/base/typography/typography.json +24 -0
  102. package/src/tokens/fallback/color-fallbacks.json +260 -0
  103. package/src/tokens/functional/border/dark.json5 +12 -0
  104. package/src/tokens/functional/border/light.json5 +12 -0
  105. package/src/tokens/functional/color/dark/app-dark.json5 +554 -0
  106. package/src/tokens/functional/color/dark/data-vis-dark.json5 +144 -0
  107. package/src/tokens/functional/color/dark/display-dark.json5 +1060 -0
  108. package/src/tokens/functional/color/dark/overrides/dark.dimmed.json5 +57 -0
  109. package/src/tokens/functional/color/dark/overrides/dark.high-contrast.json5 +390 -0
  110. package/src/tokens/functional/color/dark/overrides/dark.protanopia-deuteranopia.json5 +314 -0
  111. package/src/tokens/functional/color/dark/overrides/dark.tritanopia.json5 +229 -0
  112. package/src/tokens/functional/color/dark/patterns-dark.json5 +3073 -0
  113. package/src/tokens/functional/color/dark/primitives-dark.json5 +1206 -0
  114. package/src/tokens/functional/color/dark/syntax-dark.json5 +559 -0
  115. package/src/tokens/functional/color/light/app-light.json5 +551 -0
  116. package/src/tokens/functional/color/light/data-vis-light.json5 +144 -0
  117. package/src/tokens/functional/color/light/display-light.json5 +1060 -0
  118. package/src/tokens/functional/color/light/overrides/light.high-contrast.json5 +440 -0
  119. package/src/tokens/functional/color/light/overrides/light.protanopia-deuteranopia.json5 +340 -0
  120. package/src/tokens/functional/color/light/overrides/light.tritanopia.json5 +249 -0
  121. package/src/tokens/functional/color/light/patterns-light.json5 +3070 -0
  122. package/src/tokens/functional/color/light/primitives-light.json5 +1196 -0
  123. package/src/tokens/functional/color/light/syntax-light.json5 +559 -0
  124. package/src/tokens/functional/motion/loading.json5 +17 -0
  125. package/src/tokens/functional/motion/patterns.json5 +28 -0
  126. package/src/tokens/functional/shadow/dark.json5 +383 -0
  127. package/src/tokens/functional/shadow/light.json5 +376 -0
  128. package/src/tokens/functional/size/border.json +98 -0
  129. package/src/tokens/functional/size/breakpoints.json +64 -0
  130. package/src/tokens/functional/size/size-coarse.json +28 -0
  131. package/src/tokens/functional/size/size-fine.json +28 -0
  132. package/src/tokens/functional/size/size.json +802 -0
  133. package/src/tokens/functional/size/viewport.json +28 -0
  134. package/src/tokens/functional/typography/typography.json +279 -0
  135. package/src/tokens/removed/color.json +421 -0
  136. package/src/transformers/borderToCss.ts +38 -0
  137. package/src/transformers/colorToHex.ts +16 -0
  138. package/src/transformers/colorToHexAlpha.ts +23 -0
  139. package/src/transformers/colorToHexMix.ts +19 -0
  140. package/src/transformers/colorToRgbAlpha.ts +19 -0
  141. package/src/transformers/colorToRgbaFloat.ts +45 -0
  142. package/src/transformers/dimensionToPixelUnitless.ts +60 -0
  143. package/src/transformers/dimensionToRem.ts +56 -0
  144. package/src/transformers/dimensionToRemPxArray.ts +60 -0
  145. package/src/transformers/durationToCss.ts +29 -0
  146. package/src/transformers/figmaAttributes.ts +55 -0
  147. package/src/transformers/fontFamilyToCss.ts +38 -0
  148. package/src/transformers/fontWeightToNumber.ts +53 -0
  149. package/src/transformers/index.ts +21 -0
  150. package/src/transformers/jsonDeprecated.ts +15 -0
  151. package/src/transformers/namePathToCamelCase.ts +14 -0
  152. package/src/transformers/namePathToDotNotation.ts +34 -0
  153. package/src/transformers/namePathToFigma.ts +28 -0
  154. package/src/transformers/namePathToKebabCase.ts +19 -0
  155. package/src/transformers/namePathToSlashNotation.ts +19 -0
  156. package/src/transformers/shadowToCss.ts +37 -0
  157. package/src/transformers/typographyToCss.ts +31 -0
  158. package/src/transformers/utilities/alpha.ts +23 -0
  159. package/src/transformers/utilities/checkRequiredTokenProperties.ts +16 -0
  160. package/src/transformers/utilities/getTokenValue.ts +18 -0
  161. package/src/transformers/utilities/hexToRgbaFloat.ts +31 -0
  162. package/src/transformers/utilities/invalidTokenError.ts +34 -0
  163. package/src/transformers/utilities/isRgbaFloat.ts +29 -0
  164. package/src/transformers/utilities/mix.ts +46 -0
  165. package/src/transformers/utilities/rgbaFloatToHex.ts +15 -0
  166. package/src/types/Border.d.ts +5 -0
  167. package/src/types/BorderTokenValue.d.ts +10 -0
  168. package/src/types/ColorHex.d.ts +4 -0
  169. package/src/types/PlatformInitializer.d.ts +11 -0
  170. package/src/types/Shadow.d.ts +5 -0
  171. package/src/types/ShadowTokenValue.d.ts +14 -0
  172. package/src/types/SizeEm.d.ts +4 -0
  173. package/src/types/SizePx.d.ts +4 -0
  174. package/src/types/SizeRem.d.ts +4 -0
  175. package/src/types/StyleDictionaryConfigGenerator.d.ts +15 -0
  176. package/src/types/TokenBuildInput.d.ts +8 -0
  177. package/src/types/TypographyTokenValue.d.ts +12 -0
  178. package/src/types/w3cTransformedToken.d.ts +8 -0
  179. package/src/utilities/copyFromDir.ts +21 -0
  180. package/src/utilities/getFlag.ts +12 -0
  181. package/src/utilities/index.ts +3 -0
  182. package/src/utilities/joinFriendly.ts +2 -0
  183. package/src/utilities/schemaErrorMessage.ts +2 -0
  184. package/src/utilities/toCamelCase.ts +29 -0
  185. package/src/utilities/treeWalker.ts +27 -0
  186. package/src/utilities/upperCaseFirstCharacter.ts +10 -0
  187. package/src/utils-v1.ts +36 -0
  188. package/tokens-next-private/styleLint/base/size/size.json +427 -0
  189. package/tokens-next-private/styleLint/base/typography/typography.json +54 -0
  190. package/tokens-next-private/styleLint/functional/motion/motion.json +47 -0
  191. package/tokens-next-private/styleLint/functional/size/border.json +234 -0
  192. package/tokens-next-private/styleLint/functional/size/breakpoints.json +152 -0
  193. package/tokens-next-private/styleLint/functional/size/size-coarse.json +41 -0
  194. package/tokens-next-private/styleLint/functional/size/size-fine.json +41 -0
  195. package/tokens-next-private/styleLint/functional/size/size.json +1838 -0
  196. package/tokens-next-private/styleLint/functional/size/viewport.json +80 -0
  197. package/tokens-next-private/styleLint/functional/themes/dark-colorblind.json +16155 -0
  198. package/tokens-next-private/styleLint/functional/themes/dark-dimmed.json +16159 -0
  199. package/tokens-next-private/styleLint/functional/themes/dark-high-contrast.json +16175 -0
  200. package/tokens-next-private/styleLint/functional/themes/dark-tritanopia.json +16161 -0
  201. package/tokens-next-private/styleLint/functional/themes/dark.json +16159 -0
  202. package/tokens-next-private/styleLint/functional/themes/light-colorblind.json +16123 -0
  203. package/tokens-next-private/styleLint/functional/themes/light-high-contrast.json +16125 -0
  204. package/tokens-next-private/styleLint/functional/themes/light-tritanopia.json +16115 -0
  205. package/tokens-next-private/styleLint/functional/themes/light.json +16113 -0
  206. package/tokens-next-private/styleLint/functional/typography/typography.json +663 -0
  207. package/tokens-v2-private/css/tokens/base/size/size.css +1 -1
  208. package/tokens-v2-private/css/tokens/base/typography/typography.css +1 -1
  209. package/tokens-v2-private/css/tokens/functional/size/border.css +1 -1
  210. package/tokens-v2-private/css/tokens/functional/size/breakpoints.css +1 -1
  211. package/tokens-v2-private/css/tokens/functional/size/size-coarse.css +1 -1
  212. package/tokens-v2-private/css/tokens/functional/size/size-fine.css +1 -1
  213. package/tokens-v2-private/css/tokens/functional/size/size.css +1 -1
  214. package/tokens-v2-private/css/tokens/functional/typography/typography.css +1 -1
  215. package/tokens-v2-private/js/module/tokens/base/size/size.js +1 -1
  216. package/tokens-v2-private/js/module/tokens/base/typography/typography.js +1 -1
  217. package/tokens-v2-private/js/module/tokens/functional/size/border.js +1 -1
  218. package/tokens-v2-private/js/module/tokens/functional/size/breakpoints.js +1 -1
  219. package/tokens-v2-private/js/module/tokens/functional/size/size-coarse.js +1 -1
  220. package/tokens-v2-private/js/module/tokens/functional/size/size-fine.js +1 -1
  221. package/tokens-v2-private/js/module/tokens/functional/size/size.js +1 -1
  222. package/tokens-v2-private/js/module/tokens/functional/size/viewport.js +1 -1
  223. package/tokens-v2-private/js/module/tokens/functional/typography/typography.js +1 -1
  224. package/tokens-v2-private/js/tokens/base/size/size.js +1 -1
  225. package/tokens-v2-private/js/tokens/base/typography/typography.js +1 -1
  226. package/tokens-v2-private/js/tokens/functional/size/border.js +1 -1
  227. package/tokens-v2-private/js/tokens/functional/size/breakpoints.js +1 -1
  228. package/tokens-v2-private/js/tokens/functional/size/size-coarse.js +1 -1
  229. package/tokens-v2-private/js/tokens/functional/size/size-fine.js +1 -1
  230. package/tokens-v2-private/js/tokens/functional/size/size.js +1 -1
  231. package/tokens-v2-private/js/tokens/functional/size/viewport.js +1 -1
  232. package/tokens-v2-private/js/tokens/functional/typography/typography.js +1 -1
  233. package/tokens-v2-private/scss/tokens/base/size/size.scss +1 -1
  234. package/tokens-v2-private/scss/tokens/base/typography/typography.scss +1 -1
  235. package/tokens-v2-private/scss/tokens/functional/size/border.scss +1 -1
  236. package/tokens-v2-private/scss/tokens/functional/size/breakpoints.scss +1 -1
  237. package/tokens-v2-private/scss/tokens/functional/size/size-coarse.scss +1 -1
  238. package/tokens-v2-private/scss/tokens/functional/size/size-fine.scss +1 -1
  239. package/tokens-v2-private/scss/tokens/functional/size/size.scss +1 -1
  240. package/tokens-v2-private/scss/tokens/functional/size/viewport.scss +1 -1
  241. package/tokens-v2-private/scss/tokens/functional/typography/typography.scss +1 -1
  242. package/tokens-v2-private/ts/tokens/base/size/size.d.ts +1 -1
  243. package/tokens-v2-private/ts/tokens/base/size/size.js +1 -1
  244. package/tokens-v2-private/ts/tokens/base/typography/typography.d.ts +1 -1
  245. package/tokens-v2-private/ts/tokens/base/typography/typography.js +1 -1
  246. package/tokens-v2-private/ts/tokens/functional/size/border.d.ts +1 -1
  247. package/tokens-v2-private/ts/tokens/functional/size/border.js +1 -1
  248. package/tokens-v2-private/ts/tokens/functional/size/breakpoints.d.ts +1 -1
  249. package/tokens-v2-private/ts/tokens/functional/size/breakpoints.js +1 -1
  250. package/tokens-v2-private/ts/tokens/functional/size/size-coarse.d.ts +1 -1
  251. package/tokens-v2-private/ts/tokens/functional/size/size-coarse.js +1 -1
  252. package/tokens-v2-private/ts/tokens/functional/size/size-fine.d.ts +1 -1
  253. package/tokens-v2-private/ts/tokens/functional/size/size-fine.js +1 -1
  254. package/tokens-v2-private/ts/tokens/functional/size/size.d.ts +1 -1
  255. package/tokens-v2-private/ts/tokens/functional/size/size.js +1 -1
  256. package/tokens-v2-private/ts/tokens/functional/size/viewport.d.ts +1 -1
  257. package/tokens-v2-private/ts/tokens/functional/size/viewport.js +1 -1
  258. package/tokens-v2-private/ts/tokens/functional/typography/typography.d.ts +1 -1
  259. package/tokens-v2-private/ts/tokens/functional/typography/typography.js +1 -1
@@ -0,0 +1,28 @@
1
+ {
2
+ "viewportRange": {
3
+ "narrow": {
4
+ "$value": "(max-width: calc({breakpoint.medium} - 0.02px))",
5
+ "$type": "custom-viewportRange"
6
+ },
7
+ "narrowLandscape": {
8
+ "$value": "(max-width: calc({breakpoint.large} - 0.02px) and (max-height: calc({breakpoint.small} - 0.02px)) and (orientation: landscape))",
9
+ "$type": "custom-viewportRange"
10
+ },
11
+ "regular": {
12
+ "$value": "(min-width: {breakpoint.medium})",
13
+ "$type": "custom-viewportRange"
14
+ },
15
+ "wide": {
16
+ "$value": "(min-width: {breakpoint.xxlarge})",
17
+ "$type": "custom-viewportRange"
18
+ },
19
+ "portrait": {
20
+ "$value": "(orientation: portrait)",
21
+ "$type": "custom-viewportRange"
22
+ },
23
+ "landscape": {
24
+ "$value": "(orientation: landscape)",
25
+ "$type": "custom-viewportRange"
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,279 @@
1
+ {
2
+ "fontStack": {
3
+ "system": {
4
+ "$value": "-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji'",
5
+ "$type": "fontFamily"
6
+ },
7
+ "sansSerif": {
8
+ "$value": "-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji'",
9
+ "$type": "fontFamily"
10
+ },
11
+ "monospace": {
12
+ "$value": "ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace",
13
+ "$type": "fontFamily"
14
+ }
15
+ },
16
+ "text": {
17
+ "display": {
18
+ "lineBoxHeight": {
19
+ "$value": "56px",
20
+ "$type": "dimension"
21
+ },
22
+ "size": {
23
+ "$value": "40px",
24
+ "$type": "dimension"
25
+ },
26
+ "lineHeight": {
27
+ "$value": 1.4,
28
+ "$type": "number"
29
+ },
30
+ "weight": {
31
+ "$value": "{base.text.weight.medium}",
32
+ "$type": "fontWeight"
33
+ },
34
+ "shorthand": {
35
+ "$value": {
36
+ "fontWeight": "{text.display.weight}",
37
+ "fontSize": "{text.display.size}",
38
+ "lineHeight": "{text.display.lineHeight}",
39
+ "fontFamily": "{fontStack.sansSerif}"
40
+ },
41
+ "$type": "typography",
42
+ "$description": "Hero-style text for brand to product transition pages. Utilize Title (large) styles on narrow viewports."
43
+ }
44
+ },
45
+ "title": {
46
+ "size": {
47
+ "large": {
48
+ "$value": "32px",
49
+ "$type": "dimension"
50
+ },
51
+ "medium": {
52
+ "$value": "20px",
53
+ "$type": "dimension"
54
+ },
55
+ "small": {
56
+ "$value": "16px",
57
+ "$type": "dimension"
58
+ }
59
+ },
60
+ "lineHeight": {
61
+ "large": {
62
+ "$value": 1.5,
63
+ "$type": "number"
64
+ },
65
+ "medium": {
66
+ "$value": 1.6,
67
+ "$type": "number"
68
+ },
69
+ "small": {
70
+ "$value": 1.5,
71
+ "$type": "number"
72
+ }
73
+ },
74
+ "weight": {
75
+ "large": {
76
+ "$value": "{base.text.weight.semibold}",
77
+ "$type": "fontWeight"
78
+ },
79
+ "medium": {
80
+ "$value": "{base.text.weight.semibold}",
81
+ "$type": "fontWeight"
82
+ },
83
+ "small": {
84
+ "$value": "{base.text.weight.semibold}",
85
+ "$type": "fontWeight"
86
+ }
87
+ },
88
+ "shorthand": {
89
+ "large": {
90
+ "$value": {
91
+ "fontWeight": "{text.title.weight.large}",
92
+ "fontSize": "{text.title.size.large}",
93
+ "lineHeight": "{text.title.lineHeight.large}",
94
+ "fontFamily": "{fontStack.sansSerif}"
95
+ },
96
+ "$type": "typography",
97
+ "$description": "Page headings for user-created objects, such as issues or pull requests. Utilize title (medium) styles on narrow viewports."
98
+ },
99
+ "medium": {
100
+ "$value": {
101
+ "fontWeight": "{text.title.weight.medium}",
102
+ "fontSize": "{text.title.size.medium}",
103
+ "lineHeight": "{text.title.lineHeight.medium}",
104
+ "fontFamily": "{fontStack.sansSerif}"
105
+ },
106
+ "$type": "typography",
107
+ "$description": "Default page title. The 32px-equivalent line-height matches with button and other medium control heights. Great for page header composition."
108
+ },
109
+ "small": {
110
+ "$value": {
111
+ "fontWeight": "{text.title.weight.small}",
112
+ "fontSize": "{text.title.size.small}",
113
+ "lineHeight": "{text.title.lineHeight.small}",
114
+ "fontFamily": "{fontStack.sansSerif}"
115
+ },
116
+ "$type": "typography",
117
+ "$description": "Uses the same size as body (large) with a heavier weight of semibold (600)."
118
+ }
119
+ }
120
+ },
121
+ "subtitle": {
122
+ "size": {
123
+ "$value": "20px",
124
+ "$type": "dimension"
125
+ },
126
+ "lineHeight": {
127
+ "$value": 1.6,
128
+ "$type": "number"
129
+ },
130
+ "weight": {
131
+ "$value": "{base.text.weight.normal}",
132
+ "$type": "fontWeight"
133
+ },
134
+ "shorthand": {
135
+ "$value": {
136
+ "fontWeight": "{text.subtitle.weight}",
137
+ "fontSize": "{text.subtitle.size}",
138
+ "lineHeight": "{text.subtitle.lineHeight}",
139
+ "fontFamily": "{fontStack.sansSerif}"
140
+ },
141
+ "$type": "typography",
142
+ "$description": "Page sections/sub headings, or less important object names in page titles (automated action titles, for example). Same line-height as title (medium)."
143
+ }
144
+ },
145
+ "body": {
146
+ "size": {
147
+ "large": {
148
+ "$value": "16px",
149
+ "$type": "dimension"
150
+ },
151
+ "medium": {
152
+ "$value": "14px",
153
+ "$type": "dimension"
154
+ },
155
+ "small": {
156
+ "$value": "12px",
157
+ "$type": "dimension"
158
+ }
159
+ },
160
+ "lineHeight": {
161
+ "large": {
162
+ "$value": 1.5,
163
+ "$type": "number"
164
+ },
165
+ "medium": {
166
+ "$value": 1.4285,
167
+ "$type": "number"
168
+ },
169
+ "small": {
170
+ "$value": 1.6666,
171
+ "$type": "number"
172
+ }
173
+ },
174
+ "weight": {
175
+ "$value": "{base.text.weight.normal}",
176
+ "$type": "fontWeight"
177
+ },
178
+ "shorthand": {
179
+ "large": {
180
+ "$value": {
181
+ "fontWeight": "{text.body.weight}",
182
+ "fontSize": "{text.body.size.large}",
183
+ "lineHeight": "{text.body.lineHeight.large}",
184
+ "fontFamily": "{fontStack.sansSerif}"
185
+ },
186
+ "$type": "typography",
187
+ "$description": "User-generated content, markdown rendering."
188
+ },
189
+ "medium": {
190
+ "$value": {
191
+ "fontWeight": "{text.body.weight}",
192
+ "fontSize": "{text.body.size.medium}",
193
+ "lineHeight": "{text.body.lineHeight.medium}",
194
+ "fontFamily": "{fontStack.sansSerif}"
195
+ },
196
+ "$type": "typography",
197
+ "$description": "Default UI font. Most commonly used for body text."
198
+ },
199
+ "small": {
200
+ "$value": {
201
+ "fontWeight": "{text.body.weight}",
202
+ "fontSize": "{text.body.size.small}",
203
+ "lineHeight": "{text.body.lineHeight.small}",
204
+ "fontFamily": "{fontStack.sansSerif}"
205
+ },
206
+ "$type": "typography",
207
+ "$description": "Small body text for discrete UI applications, such as helper, footnote text. Should be used sparingly across pages. Line-height matches Body (medium) at 20px."
208
+ }
209
+ }
210
+ },
211
+ "caption": {
212
+ "size": {
213
+ "$value": "12px",
214
+ "$type": "dimension"
215
+ },
216
+ "lineHeight": {
217
+ "$value": 1.3333,
218
+ "$type": "number"
219
+ },
220
+ "weight": {
221
+ "$value": "{base.text.weight.normal}",
222
+ "$type": "fontWeight"
223
+ },
224
+ "shorthand": {
225
+ "$value": {
226
+ "fontWeight": "{text.caption.weight}",
227
+ "fontSize": "{text.caption.size}",
228
+ "lineHeight": "{text.caption.lineHeight}",
229
+ "fontFamily": "{fontStack.sansSerif}"
230
+ },
231
+ "$type": "typography",
232
+ "$description": "Compact small font with a smaller line height of 16px. Use it for single-line scenarios, as the small sizing doesn’t pass accessibility requirements."
233
+ }
234
+ },
235
+ "codeBlock": {
236
+ "size": {
237
+ "$value": "13px",
238
+ "$type": "dimension"
239
+ },
240
+ "lineHeight": {
241
+ "$value": 1.5385,
242
+ "$type": "number"
243
+ },
244
+ "weight": {
245
+ "$value": "{base.text.weight.normal}",
246
+ "$type": "fontWeight"
247
+ },
248
+ "shorthand": {
249
+ "$value": {
250
+ "fontWeight": "{text.codeBlock.weight}",
251
+ "fontSize": "{text.codeBlock.size}",
252
+ "lineHeight": "{text.codeBlock.lineHeight}",
253
+ "fontFamily": "{fontStack.monospace}"
254
+ },
255
+ "$type": "typography",
256
+ "$description": "Default style for rendering code blocks."
257
+ }
258
+ },
259
+ "codeInline": {
260
+ "size": {
261
+ "$value": "0.9285em",
262
+ "$type": "dimension"
263
+ },
264
+ "weight": {
265
+ "$value": "{base.text.weight.normal}",
266
+ "$type": "fontWeight"
267
+ },
268
+ "shorthand": {
269
+ "$value": {
270
+ "fontWeight": "{text.codeInline.weight}",
271
+ "fontSize": "{text.codeInline.size}",
272
+ "fontFamily": "{fontStack.monospace}"
273
+ },
274
+ "$type": "typography",
275
+ "$description": "Inline code blocks using em units to inherit size from its parent."
276
+ }
277
+ }
278
+ }
279
+ }