@primer/primitives 7.17.0-rc.1685583f → 7.17.0-rc.34cd1021

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 (313) hide show
  1. package/README.md +1 -1
  2. package/dist/css/functional/themes/dark-colorblind.css +24 -14
  3. package/dist/css/functional/themes/dark-dimmed.css +10 -0
  4. package/dist/css/functional/themes/dark-high-contrast.css +10 -0
  5. package/dist/css/functional/themes/dark-tritanopia.css +24 -14
  6. package/dist/css/functional/themes/dark.css +24 -14
  7. package/dist/css/functional/themes/light-colorblind.css +10 -0
  8. package/dist/css/functional/themes/light-high-contrast.css +10 -0
  9. package/dist/css/functional/themes/light-tritanopia.css +10 -0
  10. package/dist/css/functional/themes/light.css +10 -0
  11. package/dist/css/functional/typography/typography.css +1 -1
  12. package/dist/docs/base/typography/typography.json +52 -4
  13. package/dist/docs/functional/themes/dark-colorblind.json +230 -85
  14. package/dist/docs/functional/themes/dark-dimmed.json +218 -73
  15. package/dist/docs/functional/themes/dark-high-contrast.json +220 -75
  16. package/dist/docs/functional/themes/dark-tritanopia.json +230 -85
  17. package/dist/docs/functional/themes/dark.json +225 -80
  18. package/dist/docs/functional/themes/light-colorblind.json +221 -76
  19. package/dist/docs/functional/themes/light-high-contrast.json +215 -70
  20. package/dist/docs/functional/themes/light-tritanopia.json +221 -76
  21. package/dist/docs/functional/themes/light.json +216 -71
  22. package/dist/docs/functional/typography/typography.json +494 -36
  23. package/dist/fallbacks/functional/typography/typography.json +1 -1
  24. package/dist/figma/figma.json +18 -1
  25. package/dist/figma/scales/dark-dimmed.json +20 -20
  26. package/dist/figma/scales/dark-high-constrast.json +20 -20
  27. package/dist/figma/scales/dark.json +25 -25
  28. package/dist/figma/scales/light-high-constrast.json +20 -20
  29. package/dist/figma/scales/light.json +20 -20
  30. package/dist/figma/themes/dark-colorblind.json +170 -90
  31. package/dist/figma/themes/dark-dimmed.json +145 -65
  32. package/dist/figma/themes/dark-high-contrast.json +149 -69
  33. package/dist/figma/themes/dark-tritanopia.json +170 -90
  34. package/dist/figma/themes/dark.json +165 -85
  35. package/dist/figma/themes/light-colorblind.json +139 -59
  36. package/dist/figma/themes/light-high-contrast.json +135 -55
  37. package/dist/figma/themes/light-tritanopia.json +139 -59
  38. package/dist/figma/themes/light.json +134 -54
  39. package/dist/figma/typography/typography.json +370 -0
  40. package/dist/internalCss/dark-colorblind.css +48 -38
  41. package/dist/internalCss/dark-dimmed.css +30 -20
  42. package/dist/internalCss/dark-high-contrast.css +30 -20
  43. package/dist/internalCss/dark-tritanopia.css +48 -38
  44. package/dist/internalCss/dark.css +48 -38
  45. package/dist/internalCss/light-colorblind.css +30 -20
  46. package/dist/internalCss/light-high-contrast.css +30 -20
  47. package/dist/internalCss/light-tritanopia.css +30 -20
  48. package/dist/internalCss/light.css +30 -20
  49. package/dist/styleLint/base/typography/typography.json +52 -4
  50. package/dist/styleLint/functional/themes/dark-colorblind.json +230 -85
  51. package/dist/styleLint/functional/themes/dark-dimmed.json +218 -73
  52. package/dist/styleLint/functional/themes/dark-high-contrast.json +220 -75
  53. package/dist/styleLint/functional/themes/dark-tritanopia.json +230 -85
  54. package/dist/styleLint/functional/themes/dark.json +225 -80
  55. package/dist/styleLint/functional/themes/light-colorblind.json +221 -76
  56. package/dist/styleLint/functional/themes/light-high-contrast.json +215 -70
  57. package/dist/styleLint/functional/themes/light-tritanopia.json +221 -76
  58. package/dist/styleLint/functional/themes/light.json +216 -71
  59. package/dist/styleLint/functional/typography/typography.json +494 -36
  60. package/package.json +5 -13
  61. package/src/PrimerStyleDictionary.ts +12 -0
  62. package/src/filters/index.ts +1 -0
  63. package/src/filters/isNumber.ts +8 -0
  64. package/src/formats/jsonFigma.ts +3 -0
  65. package/src/platforms/figma.ts +10 -1
  66. package/src/schemas/collections.ts +2 -0
  67. package/src/schemas/dimensionToken.ts +1 -1
  68. package/src/schemas/fontFamilyToken.ts +10 -0
  69. package/src/schemas/fontWeightToken.ts +10 -0
  70. package/src/schemas/numberToken.ts +17 -0
  71. package/src/tokens/base/color/dark/dark.dimmed.json5 +1 -1
  72. package/src/tokens/base/color/dark/dark.high-contrast.json5 +1 -1
  73. package/src/tokens/base/color/dark/dark.json5 +3 -3
  74. package/src/tokens/base/color/light/light.high-contrast.json5 +1 -1
  75. package/src/tokens/base/color/light/light.json5 +1 -1
  76. package/src/tokens/base/typography/typography.json +28 -4
  77. package/src/tokens/functional/color/dark/app-dark.json5 +5 -5
  78. package/src/tokens/functional/color/dark/display-dark.json5 +66 -0
  79. package/src/tokens/functional/color/dark/overrides/dark.high-contrast.json5 +17 -17
  80. package/src/tokens/functional/color/dark/overrides/dark.protanopia-deuteranopia.json5 +5 -5
  81. package/src/tokens/functional/color/dark/overrides/dark.tritanopia.json5 +5 -5
  82. package/src/tokens/functional/color/dark/patterns-dark.json5 +42 -42
  83. package/src/tokens/functional/color/dark/primitives-dark.json5 +16 -16
  84. package/src/tokens/functional/color/dark/syntax-dark.json5 +13 -13
  85. package/src/tokens/functional/color/light/app-light.json5 +5 -5
  86. package/src/tokens/functional/color/light/display-light.json5 +66 -0
  87. package/src/tokens/functional/color/light/overrides/light.high-contrast.json5 +25 -25
  88. package/src/tokens/functional/color/light/overrides/light.protanopia-deuteranopia.json5 +5 -5
  89. package/src/tokens/functional/color/light/overrides/light.tritanopia.json5 +5 -5
  90. package/src/tokens/functional/color/light/patterns-light.json5 +30 -30
  91. package/src/tokens/functional/color/light/primitives-light.json5 +15 -15
  92. package/src/tokens/functional/color/light/syntax-light.json5 +14 -14
  93. package/src/tokens/functional/shadow/dark.json5 +1 -1
  94. package/src/tokens/functional/shadow/light.json5 +11 -11
  95. package/src/tokens/functional/typography/typography.json +263 -34
  96. package/src/transformers/floatToPixel.ts +33 -0
  97. package/src/transformers/fontFamilyToCss.ts +3 -4
  98. package/src/transformers/fontFamilyToFigma.ts +47 -0
  99. package/src/transformers/index.ts +2 -0
  100. package/src/transformers/utilities/hasSpaceInString.ts +6 -0
  101. package/build.js +0 -578
  102. package/dist/deprecated/colors.json +0 -7
  103. package/dist/js/colors/dark.d.ts +0 -516
  104. package/dist/js/colors/dark.js +0 -616
  105. package/dist/js/colors/dark_colorblind.d.ts +0 -516
  106. package/dist/js/colors/dark_colorblind.js +0 -616
  107. package/dist/js/colors/dark_dimmed.d.ts +0 -516
  108. package/dist/js/colors/dark_dimmed.js +0 -616
  109. package/dist/js/colors/dark_high_contrast.d.ts +0 -516
  110. package/dist/js/colors/dark_high_contrast.js +0 -616
  111. package/dist/js/colors/dark_tritanopia.d.ts +0 -516
  112. package/dist/js/colors/dark_tritanopia.js +0 -616
  113. package/dist/js/colors/index.d.ts +0 -4638
  114. package/dist/js/colors/index.js +0 -15
  115. package/dist/js/colors/light.d.ts +0 -516
  116. package/dist/js/colors/light.js +0 -616
  117. package/dist/js/colors/light_colorblind.d.ts +0 -516
  118. package/dist/js/colors/light_colorblind.js +0 -616
  119. package/dist/js/colors/light_high_contrast.d.ts +0 -516
  120. package/dist/js/colors/light_high_contrast.js +0 -616
  121. package/dist/js/colors/light_tritanopia.d.ts +0 -516
  122. package/dist/js/colors/light_tritanopia.js +0 -616
  123. package/dist/js/index.d.ts +0 -4655
  124. package/dist/js/index.js +0 -9
  125. package/dist/js/spacing/index.d.ts +0 -6
  126. package/dist/js/spacing/index.js +0 -7
  127. package/dist/js/spacing/normal.d.ts +0 -4
  128. package/dist/js/spacing/normal.js +0 -13
  129. package/dist/js/typography/index.d.ts +0 -11
  130. package/dist/js/typography/index.js +0 -7
  131. package/dist/js/typography/normal.d.ts +0 -9
  132. package/dist/js/typography/normal.js +0 -19
  133. package/dist/json/colors/dark.json +0 -614
  134. package/dist/json/colors/dark_colorblind.json +0 -614
  135. package/dist/json/colors/dark_dimmed.json +0 -614
  136. package/dist/json/colors/dark_high_contrast.json +0 -614
  137. package/dist/json/colors/dark_tritanopia.json +0 -614
  138. package/dist/json/colors/light.json +0 -614
  139. package/dist/json/colors/light_colorblind.json +0 -614
  140. package/dist/json/colors/light_high_contrast.json +0 -614
  141. package/dist/json/colors/light_tritanopia.json +0 -614
  142. package/dist/json/spacing/normal.json +0 -11
  143. package/dist/json/typography/normal.json +0 -17
  144. package/dist/removed/colors.json +0 -432
  145. package/dist/scss/colors/_dark.scss +0 -452
  146. package/dist/scss/colors/_dark_colorblind.scss +0 -452
  147. package/dist/scss/colors/_dark_dimmed.scss +0 -452
  148. package/dist/scss/colors/_dark_high_contrast.scss +0 -452
  149. package/dist/scss/colors/_dark_tritanopia.scss +0 -452
  150. package/dist/scss/colors/_light.scss +0 -452
  151. package/dist/scss/colors/_light_colorblind.scss +0 -452
  152. package/dist/scss/colors/_light_high_contrast.scss +0 -452
  153. package/dist/scss/colors/_light_tritanopia.scss +0 -452
  154. package/dist/scss/spacing/_normal.scss +0 -11
  155. package/dist/scss/typography/_normal.scss +0 -15
  156. package/dist/ts/colors/dark.ts +0 -614
  157. package/dist/ts/colors/dark_colorblind.ts +0 -614
  158. package/dist/ts/colors/dark_dimmed.ts +0 -614
  159. package/dist/ts/colors/dark_high_contrast.ts +0 -614
  160. package/dist/ts/colors/dark_tritanopia.ts +0 -614
  161. package/dist/ts/colors/index.ts +0 -10
  162. package/dist/ts/colors/light.ts +0 -614
  163. package/dist/ts/colors/light_colorblind.ts +0 -614
  164. package/dist/ts/colors/light_high_contrast.ts +0 -614
  165. package/dist/ts/colors/light_tritanopia.ts +0 -614
  166. package/dist/ts/index.ts +0 -4
  167. package/dist/ts/spacing/index.ts +0 -2
  168. package/dist/ts/spacing/normal.ts +0 -11
  169. package/dist/ts/typography/index.ts +0 -2
  170. package/dist/ts/typography/normal.ts +0 -17
  171. package/tokens/base/size/size.json +0 -57
  172. package/tokens/base/typography/typography.json +0 -20
  173. package/tokens/functional/size/border.json +0 -48
  174. package/tokens/functional/size/breakpoints.json +0 -24
  175. package/tokens/functional/size/size-coarse.json +0 -27
  176. package/tokens/functional/size/size-fine.json +0 -27
  177. package/tokens/functional/size/size.json +0 -189
  178. package/tokens/functional/size/viewport.json +0 -24
  179. package/tokens/functional/typography/typography.json +0 -213
  180. package/tokens/removed/color.json +0 -421
  181. package/tokens-next-private/css/base/size/size.css +0 -19
  182. package/tokens-next-private/css/base/typography/typography.css +0 -6
  183. package/tokens-next-private/css/functional/motion/motion.css +0 -5
  184. package/tokens-next-private/css/functional/size/border.css +0 -14
  185. package/tokens-next-private/css/functional/size/breakpoints.css +0 -8
  186. package/tokens-next-private/css/functional/size/size-coarse.css +0 -7
  187. package/tokens-next-private/css/functional/size/size-fine.css +0 -7
  188. package/tokens-next-private/css/functional/size/size.css +0 -74
  189. package/tokens-next-private/css/functional/size/viewport.css +0 -6
  190. package/tokens-next-private/css/functional/themes/dark-colorblind.css +0 -1078
  191. package/tokens-next-private/css/functional/themes/dark-dimmed.css +0 -1078
  192. package/tokens-next-private/css/functional/themes/dark-high-contrast.css +0 -1078
  193. package/tokens-next-private/css/functional/themes/dark-tritanopia.css +0 -1078
  194. package/tokens-next-private/css/functional/themes/dark.css +0 -1078
  195. package/tokens-next-private/css/functional/themes/light-colorblind.css +0 -1078
  196. package/tokens-next-private/css/functional/themes/light-high-contrast.css +0 -1078
  197. package/tokens-next-private/css/functional/themes/light-tritanopia.css +0 -1078
  198. package/tokens-next-private/css/functional/themes/light.css +0 -1078
  199. package/tokens-next-private/css/functional/typography/typography.css +0 -47
  200. package/tokens-next-private/docs/base/size/size.json +0 -427
  201. package/tokens-next-private/docs/base/typography/typography.json +0 -54
  202. package/tokens-next-private/docs/functional/motion/motion.json +0 -47
  203. package/tokens-next-private/docs/functional/size/border.json +0 -234
  204. package/tokens-next-private/docs/functional/size/breakpoints.json +0 -152
  205. package/tokens-next-private/docs/functional/size/size-coarse.json +0 -41
  206. package/tokens-next-private/docs/functional/size/size-fine.json +0 -41
  207. package/tokens-next-private/docs/functional/size/size.json +0 -1838
  208. package/tokens-next-private/docs/functional/size/viewport.json +0 -80
  209. package/tokens-next-private/docs/functional/themes/dark-colorblind.json +0 -16155
  210. package/tokens-next-private/docs/functional/themes/dark-dimmed.json +0 -16159
  211. package/tokens-next-private/docs/functional/themes/dark-high-contrast.json +0 -16175
  212. package/tokens-next-private/docs/functional/themes/dark-tritanopia.json +0 -16161
  213. package/tokens-next-private/docs/functional/themes/dark.json +0 -16159
  214. package/tokens-next-private/docs/functional/themes/light-colorblind.json +0 -16123
  215. package/tokens-next-private/docs/functional/themes/light-high-contrast.json +0 -16125
  216. package/tokens-next-private/docs/functional/themes/light-tritanopia.json +0 -16115
  217. package/tokens-next-private/docs/functional/themes/light.json +0 -16113
  218. package/tokens-next-private/docs/functional/typography/typography.json +0 -663
  219. package/tokens-next-private/fallbacks/base/size/size.json +0 -19
  220. package/tokens-next-private/fallbacks/base/typography/typography.json +0 -6
  221. package/tokens-next-private/fallbacks/color-fallbacks.json +0 -260
  222. package/tokens-next-private/fallbacks/functional/motion/motion.json +0 -5
  223. package/tokens-next-private/fallbacks/functional/size/border.json +0 -14
  224. package/tokens-next-private/fallbacks/functional/size/breakpoints.json +0 -8
  225. package/tokens-next-private/fallbacks/functional/size/size-coarse.json +0 -5
  226. package/tokens-next-private/fallbacks/functional/size/size-fine.json +0 -5
  227. package/tokens-next-private/fallbacks/functional/size/size.json +0 -74
  228. package/tokens-next-private/fallbacks/functional/size/viewport.json +0 -8
  229. package/tokens-next-private/fallbacks/functional/typography/typography.json +0 -47
  230. package/tokens-next-private/internalCss/dark-colorblind.css +0 -1648
  231. package/tokens-next-private/internalCss/dark-dimmed.css +0 -1648
  232. package/tokens-next-private/internalCss/dark-high-contrast.css +0 -1648
  233. package/tokens-next-private/internalCss/dark-tritanopia.css +0 -1648
  234. package/tokens-next-private/internalCss/dark.css +0 -1648
  235. package/tokens-next-private/internalCss/light-colorblind.css +0 -1648
  236. package/tokens-next-private/internalCss/light-high-contrast.css +0 -1648
  237. package/tokens-next-private/internalCss/light-tritanopia.css +0 -1648
  238. package/tokens-next-private/internalCss/light.css +0 -1648
  239. package/tokens-next-private/removed/color.json +0 -421
  240. package/tokens-next-private/styleLint/base/size/size.json +0 -427
  241. package/tokens-next-private/styleLint/base/typography/typography.json +0 -54
  242. package/tokens-next-private/styleLint/functional/motion/motion.json +0 -47
  243. package/tokens-next-private/styleLint/functional/size/border.json +0 -234
  244. package/tokens-next-private/styleLint/functional/size/breakpoints.json +0 -152
  245. package/tokens-next-private/styleLint/functional/size/size-coarse.json +0 -41
  246. package/tokens-next-private/styleLint/functional/size/size-fine.json +0 -41
  247. package/tokens-next-private/styleLint/functional/size/size.json +0 -1838
  248. package/tokens-next-private/styleLint/functional/size/viewport.json +0 -80
  249. package/tokens-next-private/styleLint/functional/themes/dark-colorblind.json +0 -16155
  250. package/tokens-next-private/styleLint/functional/themes/dark-dimmed.json +0 -16159
  251. package/tokens-next-private/styleLint/functional/themes/dark-high-contrast.json +0 -16175
  252. package/tokens-next-private/styleLint/functional/themes/dark-tritanopia.json +0 -16161
  253. package/tokens-next-private/styleLint/functional/themes/dark.json +0 -16159
  254. package/tokens-next-private/styleLint/functional/themes/light-colorblind.json +0 -16123
  255. package/tokens-next-private/styleLint/functional/themes/light-high-contrast.json +0 -16125
  256. package/tokens-next-private/styleLint/functional/themes/light-tritanopia.json +0 -16115
  257. package/tokens-next-private/styleLint/functional/themes/light.json +0 -16113
  258. package/tokens-next-private/styleLint/functional/typography/typography.json +0 -663
  259. package/tokens-v2-private/css/tokens/base/size/size.css +0 -24
  260. package/tokens-v2-private/css/tokens/base/typography/typography.css +0 -11
  261. package/tokens-v2-private/css/tokens/functional/size/border.css +0 -17
  262. package/tokens-v2-private/css/tokens/functional/size/breakpoints.css +0 -13
  263. package/tokens-v2-private/css/tokens/functional/size/size-coarse.css +0 -11
  264. package/tokens-v2-private/css/tokens/functional/size/size-fine.css +0 -11
  265. package/tokens-v2-private/css/tokens/functional/size/size.css +0 -54
  266. package/tokens-v2-private/css/tokens/functional/size/viewport.css +0 -6
  267. package/tokens-v2-private/css/tokens/functional/typography/typography.css +0 -47
  268. package/tokens-v2-private/docs/docValues.json +0 -2209
  269. package/tokens-v2-private/js/module/tokens/base/size/size.js +0 -266
  270. package/tokens-v2-private/js/module/tokens/base/typography/typography.js +0 -77
  271. package/tokens-v2-private/js/module/tokens/functional/size/border.js +0 -165
  272. package/tokens-v2-private/js/module/tokens/functional/size/breakpoints.js +0 -101
  273. package/tokens-v2-private/js/module/tokens/functional/size/size-coarse.js +0 -73
  274. package/tokens-v2-private/js/module/tokens/functional/size/size-fine.js +0 -73
  275. package/tokens-v2-private/js/module/tokens/functional/size/size.js +0 -824
  276. package/tokens-v2-private/js/module/tokens/functional/size/viewport.js +0 -101
  277. package/tokens-v2-private/js/module/tokens/functional/typography/typography.js +0 -809
  278. package/tokens-v2-private/js/tokens/base/size/size.js +0 -22
  279. package/tokens-v2-private/js/tokens/base/typography/typography.js +0 -9
  280. package/tokens-v2-private/js/tokens/functional/size/border.js +0 -15
  281. package/tokens-v2-private/js/tokens/functional/size/breakpoints.js +0 -11
  282. package/tokens-v2-private/js/tokens/functional/size/size-coarse.js +0 -8
  283. package/tokens-v2-private/js/tokens/functional/size/size-fine.js +0 -8
  284. package/tokens-v2-private/js/tokens/functional/size/size.js +0 -52
  285. package/tokens-v2-private/js/tokens/functional/size/viewport.js +0 -11
  286. package/tokens-v2-private/js/tokens/functional/typography/typography.js +0 -45
  287. package/tokens-v2-private/scss/tokens/base/size/size.scss +0 -21
  288. package/tokens-v2-private/scss/tokens/base/typography/typography.scss +0 -8
  289. package/tokens-v2-private/scss/tokens/functional/size/border.scss +0 -14
  290. package/tokens-v2-private/scss/tokens/functional/size/breakpoints.scss +0 -10
  291. package/tokens-v2-private/scss/tokens/functional/size/size-coarse.scss +0 -7
  292. package/tokens-v2-private/scss/tokens/functional/size/size-fine.scss +0 -7
  293. package/tokens-v2-private/scss/tokens/functional/size/size.scss +0 -51
  294. package/tokens-v2-private/scss/tokens/functional/size/viewport.scss +0 -10
  295. package/tokens-v2-private/scss/tokens/functional/typography/typography.scss +0 -44
  296. package/tokens-v2-private/ts/tokens/base/size/size.d.ts +0 -31
  297. package/tokens-v2-private/ts/tokens/base/size/size.js +0 -30
  298. package/tokens-v2-private/ts/tokens/base/typography/typography.d.ts +0 -20
  299. package/tokens-v2-private/ts/tokens/base/typography/typography.js +0 -19
  300. package/tokens-v2-private/ts/tokens/functional/size/border.d.ts +0 -28
  301. package/tokens-v2-private/ts/tokens/functional/size/border.js +0 -27
  302. package/tokens-v2-private/ts/tokens/functional/size/breakpoints.d.ts +0 -20
  303. package/tokens-v2-private/ts/tokens/functional/size/breakpoints.js +0 -19
  304. package/tokens-v2-private/ts/tokens/functional/size/size-coarse.d.ts +0 -29
  305. package/tokens-v2-private/ts/tokens/functional/size/size-coarse.js +0 -28
  306. package/tokens-v2-private/ts/tokens/functional/size/size-fine.d.ts +0 -29
  307. package/tokens-v2-private/ts/tokens/functional/size/size-fine.js +0 -28
  308. package/tokens-v2-private/ts/tokens/functional/size/size.d.ts +0 -103
  309. package/tokens-v2-private/ts/tokens/functional/size/size.js +0 -102
  310. package/tokens-v2-private/ts/tokens/functional/size/viewport.d.ts +0 -20
  311. package/tokens-v2-private/ts/tokens/functional/size/viewport.js +0 -19
  312. package/tokens-v2-private/ts/tokens/functional/typography/typography.d.ts +0 -131
  313. package/tokens-v2-private/ts/tokens/functional/typography/typography.js +0 -130
@@ -2,7 +2,7 @@
2
2
  color: {
3
3
  ansi: {
4
4
  black: {
5
- $value: '{base.color.gray.9}',
5
+ $value: '{base.color.neutral.9}',
6
6
  $type: 'color',
7
7
  $extensions: {
8
8
  'org.primer.figma': {
@@ -13,7 +13,7 @@
13
13
  },
14
14
  },
15
15
  'black-bright': {
16
- $value: '{base.color.gray.6}',
16
+ $value: '{base.color.neutral.6}',
17
17
  $type: 'color',
18
18
  $extensions: {
19
19
  'org.primer.figma': {
@@ -24,7 +24,7 @@
24
24
  },
25
25
  },
26
26
  white: {
27
- $value: '{base.color.gray.5}',
27
+ $value: '{base.color.neutral.5}',
28
28
  $type: 'color',
29
29
  $extensions: {
30
30
  'org.primer.figma': {
@@ -35,7 +35,7 @@
35
35
  },
36
36
  },
37
37
  'white-bright': {
38
- $value: '{base.color.gray.4}',
38
+ $value: '{base.color.neutral.4}',
39
39
  $type: 'color',
40
40
  $extensions: {
41
41
  'org.primer.figma': {
@@ -46,7 +46,7 @@
46
46
  },
47
47
  },
48
48
  gray: {
49
- $value: '{base.color.gray.5}',
49
+ $value: '{base.color.neutral.5}',
50
50
  $type: 'color',
51
51
  $extensions: {
52
52
  'org.primer.figma': {
@@ -192,7 +192,7 @@
192
192
  prettylights: {
193
193
  syntax: {
194
194
  comment: {
195
- $value: '{base.color.gray.6}',
195
+ $value: '{base.color.neutral.6}',
196
196
  $type: 'color',
197
197
  $extensions: {
198
198
  'org.primer.figma': {
@@ -238,7 +238,7 @@
238
238
  storage: {
239
239
  modifier: {
240
240
  import: {
241
- $value: '{base.color.gray.9}',
241
+ $value: '{base.color.neutral.9}',
242
242
  $type: 'color',
243
243
  $extensions: {
244
244
  'org.primer.figma': {
@@ -307,7 +307,7 @@
307
307
  },
308
308
  },
309
309
  angle: {
310
- $value: '{base.color.gray.6}',
310
+ $value: '{base.color.neutral.6}',
311
311
  $type: 'color',
312
312
  $extensions: {
313
313
  'org.primer.figma': {
@@ -321,7 +321,7 @@
321
321
  invalid: {
322
322
  illegal: {
323
323
  text: {
324
- $value: '{base.color.gray.0}',
324
+ $value: '{base.color.neutral.0}',
325
325
  $type: 'color',
326
326
  $extensions: {
327
327
  'org.primer.figma': {
@@ -347,7 +347,7 @@
347
347
  carriage: {
348
348
  return: {
349
349
  text: {
350
- $value: '{base.color.gray.0}',
350
+ $value: '{base.color.neutral.0}',
351
351
  $type: 'color',
352
352
  $extensions: {
353
353
  'org.primer.figma': {
@@ -405,7 +405,7 @@
405
405
  },
406
406
  },
407
407
  italic: {
408
- $value: '{base.color.gray.9}',
408
+ $value: '{base.color.neutral.9}',
409
409
  $type: 'color',
410
410
  $extensions: {
411
411
  'org.primer.figma': {
@@ -416,7 +416,7 @@
416
416
  },
417
417
  },
418
418
  bold: {
419
- $value: '{base.color.gray.9}',
419
+ $value: '{base.color.neutral.9}',
420
420
  $type: 'color',
421
421
  $extensions: {
422
422
  'org.primer.figma': {
@@ -500,7 +500,7 @@
500
500
  },
501
501
  ignored: {
502
502
  text: {
503
- $value: '{base.color.gray.1}',
503
+ $value: '{base.color.neutral.1}',
504
504
  $type: 'color',
505
505
  $extensions: {
506
506
  'org.primer.figma': {
@@ -541,7 +541,7 @@
541
541
  sublimelinter: {
542
542
  gutter: {
543
543
  mark: {
544
- $value: '{base.color.gray.4}',
544
+ $value: '{base.color.neutral.4}',
545
545
  $type: 'color',
546
546
  $extensions: {
547
547
  'org.primer.figma': {
@@ -3,7 +3,7 @@
3
3
  shadow: {
4
4
  $value: [
5
5
  {
6
- color: '{base.color.gray.9}',
6
+ color: '{base.color.neutral.9}',
7
7
  alpha: 1,
8
8
  offsetX: '0px',
9
9
  offsetY: '0px',
@@ -187,7 +187,7 @@
187
187
  medium: {
188
188
  $value: [
189
189
  {
190
- color: '{base.color.gray.7}',
190
+ color: '{base.color.neutral.7}',
191
191
  alpha: 0.12,
192
192
  offsetX: '0px',
193
193
  offsetY: '3px',
@@ -217,7 +217,7 @@
217
217
  spread: '1px',
218
218
  },
219
219
  {
220
- color: '{base.color.gray.7}',
220
+ color: '{base.color.neutral.7}',
221
221
  alpha: 0.04,
222
222
  offsetX: '0px',
223
223
  offsetY: '6px',
@@ -225,7 +225,7 @@
225
225
  spread: '-3px',
226
226
  },
227
227
  {
228
- color: '{base.color.gray.7}',
228
+ color: '{base.color.neutral.7}',
229
229
  alpha: 0.12,
230
230
  offsetX: '0px',
231
231
  offsetY: '6px',
@@ -253,7 +253,7 @@
253
253
  spread: '1px',
254
254
  },
255
255
  {
256
- color: '{base.color.gray.7}',
256
+ color: '{base.color.neutral.7}',
257
257
  alpha: 0.08,
258
258
  offsetX: '0px',
259
259
  offsetY: '8px',
@@ -261,7 +261,7 @@
261
261
  spread: '-4px',
262
262
  },
263
263
  {
264
- color: '{base.color.gray.7}',
264
+ color: '{base.color.neutral.7}',
265
265
  alpha: 0.08,
266
266
  offsetX: '0px',
267
267
  offsetY: '4px',
@@ -269,7 +269,7 @@
269
269
  spread: '-4px',
270
270
  },
271
271
  {
272
- color: '{base.color.gray.7}',
272
+ color: '{base.color.neutral.7}',
273
273
  alpha: 0.08,
274
274
  offsetX: '0px',
275
275
  offsetY: '24px',
@@ -277,7 +277,7 @@
277
277
  spread: '-12px',
278
278
  },
279
279
  {
280
- color: '{base.color.gray.7}',
280
+ color: '{base.color.neutral.7}',
281
281
  alpha: 0.08,
282
282
  offsetX: '0px',
283
283
  offsetY: '48px',
@@ -305,7 +305,7 @@
305
305
  spread: '1px',
306
306
  },
307
307
  {
308
- color: '{base.color.gray.7}',
308
+ color: '{base.color.neutral.7}',
309
309
  alpha: 0.24,
310
310
  offsetX: '0px',
311
311
  offsetY: '40px',
@@ -333,7 +333,7 @@
333
333
  spread: '1px',
334
334
  },
335
335
  {
336
- color: '{base.color.gray.7}',
336
+ color: '{base.color.neutral.7}',
337
337
  alpha: 0.32,
338
338
  offsetX: '0px',
339
339
  offsetY: '56px',
@@ -353,7 +353,7 @@
353
353
  legacy: {
354
354
  $value: [
355
355
  {
356
- color: '{base.color.gray.7}',
356
+ color: '{base.color.neutral.7}',
357
357
  alpha: 0.04,
358
358
  offsetX: '0px',
359
359
  offsetY: '6px',
@@ -361,7 +361,7 @@
361
361
  spread: '-3px',
362
362
  },
363
363
  {
364
- color: '{base.color.gray.7}',
364
+ color: '{base.color.neutral.7}',
365
365
  alpha: 0.12,
366
366
  offsetX: '0px',
367
367
  offsetY: '6px',
@@ -2,34 +2,83 @@
2
2
  "fontStack": {
3
3
  "system": {
4
4
  "$value": "-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji'",
5
- "$type": "fontFamily"
5
+ "$type": "fontFamily",
6
+ "$extensions": {
7
+ "org.primer.figma": {
8
+ "collection": "typography",
9
+ "scopes": ["all"]
10
+ }
11
+ }
6
12
  },
7
13
  "sansSerif": {
8
14
  "$value": "-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji'",
9
- "$type": "fontFamily"
15
+ "$type": "fontFamily",
16
+ "$extensions": {
17
+ "org.primer.figma": {
18
+ "collection": "typography",
19
+ "scopes": ["all"]
20
+ }
21
+ }
10
22
  },
11
23
  "monospace": {
12
24
  "$value": "ui-monospace, SFMono-Regular, SF Mono, Menlo, Consolas, Liberation Mono, monospace",
13
- "$type": "fontFamily"
25
+ "$type": "fontFamily",
26
+ "$extensions": {
27
+ "org.primer.figma": {
28
+ "collection": "typography",
29
+ "scopes": ["all"]
30
+ }
31
+ }
14
32
  }
15
33
  },
16
34
  "text": {
17
35
  "display": {
18
36
  "lineBoxHeight": {
19
- "$value": "56px",
20
- "$type": "dimension"
37
+ "$value": 1.4,
38
+ "$type": "number",
39
+ "$extensions": {
40
+ "org.primer.data": {
41
+ "fontSize": 40
42
+ },
43
+ "org.primer.figma": {
44
+ "collection": "typography",
45
+ "scopes": ["all"],
46
+ "fontSizeInPx": 40
47
+ }
48
+ }
21
49
  },
22
50
  "size": {
23
51
  "$value": "40px",
24
- "$type": "dimension"
52
+ "$type": "dimension",
53
+ "$extensions": {
54
+ "org.primer.figma": {
55
+ "collection": "typography",
56
+ "scopes": ["all"]
57
+ }
58
+ }
25
59
  },
26
60
  "lineHeight": {
27
61
  "$value": 1.4,
28
- "$type": "number"
62
+ "$type": "number",
63
+ "$extensions": {
64
+ "org.primer.data": {
65
+ "fontSize": 40
66
+ },
67
+ "org.primer.figma": {
68
+ "collection": "typography",
69
+ "scopes": ["all"]
70
+ }
71
+ }
29
72
  },
30
73
  "weight": {
31
74
  "$value": "{base.text.weight.medium}",
32
- "$type": "fontWeight"
75
+ "$type": "fontWeight",
76
+ "$extensions": {
77
+ "org.primer.figma": {
78
+ "collection": "typography",
79
+ "scopes": ["all"]
80
+ }
81
+ }
33
82
  },
34
83
  "shorthand": {
35
84
  "$value": {
@@ -46,43 +95,106 @@
46
95
  "size": {
47
96
  "large": {
48
97
  "$value": "32px",
49
- "$type": "dimension"
98
+ "$type": "dimension",
99
+ "$extensions": {
100
+ "org.primer.figma": {
101
+ "collection": "typography",
102
+ "scopes": ["all"]
103
+ }
104
+ }
50
105
  },
51
106
  "medium": {
52
107
  "$value": "20px",
53
- "$type": "dimension"
108
+ "$type": "dimension",
109
+ "$extensions": {
110
+ "org.primer.figma": {
111
+ "collection": "typography",
112
+ "scopes": ["all"]
113
+ }
114
+ }
54
115
  },
55
116
  "small": {
56
117
  "$value": "16px",
57
- "$type": "dimension"
118
+ "$type": "dimension",
119
+ "$extensions": {
120
+ "org.primer.figma": {
121
+ "collection": "typography",
122
+ "scopes": ["all"]
123
+ }
124
+ }
58
125
  }
59
126
  },
60
127
  "lineHeight": {
61
128
  "large": {
62
129
  "$value": 1.5,
63
- "$type": "number"
130
+ "$type": "number",
131
+ "$extensions": {
132
+ "org.primer.data": {
133
+ "fontSize": 32
134
+ },
135
+ "org.primer.figma": {
136
+ "collection": "typography",
137
+ "scopes": ["all"]
138
+ }
139
+ }
64
140
  },
65
141
  "medium": {
66
142
  "$value": 1.6,
67
- "$type": "number"
143
+ "$type": "number",
144
+ "$extensions": {
145
+ "org.primer.data": {
146
+ "fontSize": 20
147
+ },
148
+ "org.primer.figma": {
149
+ "collection": "typography",
150
+ "scopes": ["all"]
151
+ }
152
+ }
68
153
  },
69
154
  "small": {
70
155
  "$value": 1.5,
71
- "$type": "number"
156
+ "$type": "number",
157
+ "$extensions": {
158
+ "org.primer.data": {
159
+ "fontSize": 16
160
+ },
161
+ "org.primer.figma": {
162
+ "collection": "typography",
163
+ "scopes": ["all"]
164
+ }
165
+ }
72
166
  }
73
167
  },
74
168
  "weight": {
75
169
  "large": {
76
170
  "$value": "{base.text.weight.semibold}",
77
- "$type": "fontWeight"
171
+ "$type": "fontWeight",
172
+ "$extensions": {
173
+ "org.primer.figma": {
174
+ "collection": "typography",
175
+ "scopes": ["all"]
176
+ }
177
+ }
78
178
  },
79
179
  "medium": {
80
180
  "$value": "{base.text.weight.semibold}",
81
- "$type": "fontWeight"
181
+ "$type": "fontWeight",
182
+ "$extensions": {
183
+ "org.primer.figma": {
184
+ "collection": "typography",
185
+ "scopes": ["all"]
186
+ }
187
+ }
82
188
  },
83
189
  "small": {
84
190
  "$value": "{base.text.weight.semibold}",
85
- "$type": "fontWeight"
191
+ "$type": "fontWeight",
192
+ "$extensions": {
193
+ "org.primer.figma": {
194
+ "collection": "typography",
195
+ "scopes": ["all"]
196
+ }
197
+ }
86
198
  }
87
199
  },
88
200
  "shorthand": {
@@ -121,15 +233,33 @@
121
233
  "subtitle": {
122
234
  "size": {
123
235
  "$value": "20px",
124
- "$type": "dimension"
236
+ "$type": "dimension",
237
+ "$extensions": {
238
+ "org.primer.figma": {
239
+ "collection": "typography",
240
+ "scopes": ["all"]
241
+ }
242
+ }
125
243
  },
126
244
  "lineHeight": {
127
245
  "$value": 1.6,
128
- "$type": "number"
246
+ "$type": "number",
247
+ "$extensions": {
248
+ "org.primer.figma": {
249
+ "collection": "typography",
250
+ "scopes": ["all"]
251
+ }
252
+ }
129
253
  },
130
254
  "weight": {
131
255
  "$value": "{base.text.weight.normal}",
132
- "$type": "fontWeight"
256
+ "$type": "fontWeight",
257
+ "$extensions": {
258
+ "org.primer.figma": {
259
+ "collection": "typography",
260
+ "scopes": ["all"]
261
+ }
262
+ }
133
263
  },
134
264
  "shorthand": {
135
265
  "$value": {
@@ -146,29 +276,74 @@
146
276
  "size": {
147
277
  "large": {
148
278
  "$value": "16px",
149
- "$type": "dimension"
279
+ "$type": "dimension",
280
+ "$extensions": {
281
+ "org.primer.figma": {
282
+ "collection": "typography",
283
+ "scopes": ["all"]
284
+ }
285
+ }
150
286
  },
151
287
  "medium": {
152
288
  "$value": "14px",
153
- "$type": "dimension"
289
+ "$type": "dimension",
290
+ "$extensions": {
291
+ "org.primer.figma": {
292
+ "collection": "typography",
293
+ "scopes": ["all"]
294
+ }
295
+ }
154
296
  },
155
297
  "small": {
156
298
  "$value": "12px",
157
- "$type": "dimension"
299
+ "$type": "dimension",
300
+ "$extensions": {
301
+ "org.primer.figma": {
302
+ "collection": "typography",
303
+ "scopes": ["all"]
304
+ }
305
+ }
158
306
  }
159
307
  },
160
308
  "lineHeight": {
161
309
  "large": {
162
310
  "$value": 1.5,
163
- "$type": "number"
311
+ "$type": "number",
312
+ "$extensions": {
313
+ "org.primer.data": {
314
+ "fontSize": 16
315
+ },
316
+ "org.primer.figma": {
317
+ "collection": "typography",
318
+ "scopes": ["all"]
319
+ }
320
+ }
164
321
  },
165
322
  "medium": {
166
323
  "$value": 1.4285,
167
- "$type": "number"
324
+ "$type": "number",
325
+ "$extensions": {
326
+ "org.primer.data": {
327
+ "fontSize": 14
328
+ },
329
+ "org.primer.figma": {
330
+ "collection": "typography",
331
+ "scopes": ["all"]
332
+ }
333
+ }
168
334
  },
169
335
  "small": {
170
336
  "$value": 1.6666,
171
- "$type": "number"
337
+ "$type": "number",
338
+ "$extensions": {
339
+ "org.primer.data": {
340
+ "fontSize": 12
341
+ },
342
+ "org.primer.figma": {
343
+ "collection": "typography",
344
+ "scopes": ["all"]
345
+ }
346
+ }
172
347
  }
173
348
  },
174
349
  "weight": {
@@ -211,15 +386,36 @@
211
386
  "caption": {
212
387
  "size": {
213
388
  "$value": "12px",
214
- "$type": "dimension"
389
+ "$type": "dimension",
390
+ "$extensions": {
391
+ "org.primer.figma": {
392
+ "collection": "typography",
393
+ "scopes": ["all"]
394
+ }
395
+ }
215
396
  },
216
397
  "lineHeight": {
217
398
  "$value": 1.3333,
218
- "$type": "number"
399
+ "$type": "number",
400
+ "$extensions": {
401
+ "org.primer.data": {
402
+ "fontSize": 12
403
+ },
404
+ "org.primer.figma": {
405
+ "collection": "typography",
406
+ "scopes": ["all"]
407
+ }
408
+ }
219
409
  },
220
410
  "weight": {
221
411
  "$value": "{base.text.weight.normal}",
222
- "$type": "fontWeight"
412
+ "$type": "fontWeight",
413
+ "$extensions": {
414
+ "org.primer.figma": {
415
+ "collection": "typography",
416
+ "scopes": ["all"]
417
+ }
418
+ }
223
419
  },
224
420
  "shorthand": {
225
421
  "$value": {
@@ -235,15 +431,36 @@
235
431
  "codeBlock": {
236
432
  "size": {
237
433
  "$value": "13px",
238
- "$type": "dimension"
434
+ "$type": "dimension",
435
+ "$extensions": {
436
+ "org.primer.figma": {
437
+ "collection": "typography",
438
+ "scopes": ["all"]
439
+ }
440
+ }
239
441
  },
240
442
  "lineHeight": {
241
443
  "$value": 1.5385,
242
- "$type": "number"
444
+ "$type": "number",
445
+ "$extensions": {
446
+ "org.primer.data": {
447
+ "fontSize": 13
448
+ },
449
+ "org.primer.figma": {
450
+ "collection": "typography",
451
+ "scopes": ["all"]
452
+ }
453
+ }
243
454
  },
244
455
  "weight": {
245
456
  "$value": "{base.text.weight.normal}",
246
- "$type": "fontWeight"
457
+ "$type": "fontWeight",
458
+ "$extensions": {
459
+ "org.primer.figma": {
460
+ "collection": "typography",
461
+ "scopes": ["all"]
462
+ }
463
+ }
247
464
  },
248
465
  "shorthand": {
249
466
  "$value": {
@@ -259,11 +476,23 @@
259
476
  "codeInline": {
260
477
  "size": {
261
478
  "$value": "0.9285em",
262
- "$type": "dimension"
479
+ "$type": "dimension",
480
+ "$extensions": {
481
+ "org.primer.figma": {
482
+ "collection": "typography",
483
+ "scopes": ["all"]
484
+ }
485
+ }
263
486
  },
264
487
  "weight": {
265
488
  "$value": "{base.text.weight.normal}",
266
- "$type": "fontWeight"
489
+ "$type": "fontWeight",
490
+ "$extensions": {
491
+ "org.primer.figma": {
492
+ "collection": "typography",
493
+ "scopes": ["all"]
494
+ }
495
+ }
267
496
  },
268
497
  "shorthand": {
269
498
  "$value": {
@@ -0,0 +1,33 @@
1
+ import type StyleDictionary from 'style-dictionary'
2
+ import {isNumber} from '../filters'
3
+ /**
4
+ * takes a value and returns it if its a px string if it is a float and the token has a fontSize value in extensions['org.primer.data']
5
+ * @param value
6
+ * @returns string
7
+ */
8
+ export const convertFloatToPixel = (token: StyleDictionary.TransformedToken) => {
9
+ // short circut if value is not a number
10
+ if (
11
+ typeof token.value !== 'number' ||
12
+ !token.$extensions?.['org.primer.data']?.fontSize ||
13
+ typeof token.$extensions?.['org.primer.data']?.fontSize !== 'number'
14
+ ) {
15
+ return token.value
16
+ }
17
+ // convert value
18
+ const convertedValue = token.$extensions?.['org.primer.data']?.fontSize * token.value
19
+ // return converted value
20
+ return convertedValue === 0 ? 0 : `${Math.round(convertedValue)}px`
21
+ }
22
+ /**
23
+ * @description converts a float value to a pixel value based on the provided fontSize on the tokersn extension
24
+ * @type value transformer — [StyleDictionary.ValueTransform](https://github.com/amzn/style-dictionary/blob/main/types/Transform.d.ts)
25
+ * @matcher matches all tokens of $type `isNumber`
26
+ * @transformer returns a pixel string
27
+ */
28
+ export const floatToPixel: StyleDictionary.Transform = {
29
+ type: `value`,
30
+ transitive: true,
31
+ matcher: isNumber,
32
+ transformer: (token: StyleDictionary.TransformedToken): string => convertFloatToPixel(token),
33
+ }