@primer/primitives 7.17.0-rc.61b28bca → 7.17.0-rc.8ff6ed39

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 (303) hide show
  1. package/dist/css/functional/themes/dark-colorblind.css +14 -14
  2. package/dist/css/functional/themes/dark-tritanopia.css +14 -14
  3. package/dist/css/functional/themes/dark.css +14 -14
  4. package/dist/docs/functional/themes/dark-colorblind.json +7 -7
  5. package/dist/docs/functional/themes/dark-tritanopia.json +7 -7
  6. package/dist/docs/functional/themes/dark.json +7 -7
  7. package/dist/figma/scales/dark.json +5 -5
  8. package/dist/figma/themes/dark-colorblind.json +20 -20
  9. package/dist/figma/themes/dark-tritanopia.json +20 -20
  10. package/dist/figma/themes/dark.json +20 -20
  11. package/dist/internalCss/dark-colorblind.css +18 -18
  12. package/dist/internalCss/dark-tritanopia.css +18 -18
  13. package/dist/internalCss/dark.css +18 -18
  14. package/dist/styleLint/functional/themes/dark-colorblind.json +7 -7
  15. package/dist/styleLint/functional/themes/dark-tritanopia.json +7 -7
  16. package/dist/styleLint/functional/themes/dark.json +7 -7
  17. package/package.json +2 -3
  18. package/src/formats/jsonFigma.ts +2 -0
  19. package/src/platforms/figma.ts +1 -1
  20. package/src/schemas/collections.ts +2 -0
  21. package/src/schemas/dimensionToken.ts +1 -1
  22. package/src/schemas/fontFamilyToken.ts +10 -0
  23. package/src/schemas/fontWeightToken.ts +10 -0
  24. package/src/tokens/base/color/dark/dark.json5 +2 -2
  25. package/tokens-v2-private/css/tokens/base/size/size.css +1 -1
  26. package/tokens-v2-private/css/tokens/base/typography/typography.css +1 -1
  27. package/tokens-v2-private/css/tokens/functional/size/border.css +1 -1
  28. package/tokens-v2-private/css/tokens/functional/size/breakpoints.css +1 -1
  29. package/tokens-v2-private/css/tokens/functional/size/size-coarse.css +1 -1
  30. package/tokens-v2-private/css/tokens/functional/size/size-fine.css +1 -1
  31. package/tokens-v2-private/css/tokens/functional/size/size.css +1 -1
  32. package/tokens-v2-private/css/tokens/functional/typography/typography.css +1 -1
  33. package/tokens-v2-private/js/module/tokens/base/size/size.js +1 -1
  34. package/tokens-v2-private/js/module/tokens/base/typography/typography.js +1 -1
  35. package/tokens-v2-private/js/module/tokens/functional/size/border.js +1 -1
  36. package/tokens-v2-private/js/module/tokens/functional/size/breakpoints.js +1 -1
  37. package/tokens-v2-private/js/module/tokens/functional/size/size-coarse.js +1 -1
  38. package/tokens-v2-private/js/module/tokens/functional/size/size-fine.js +1 -1
  39. package/tokens-v2-private/js/module/tokens/functional/size/size.js +1 -1
  40. package/tokens-v2-private/js/module/tokens/functional/size/viewport.js +1 -1
  41. package/tokens-v2-private/js/module/tokens/functional/typography/typography.js +1 -1
  42. package/tokens-v2-private/js/tokens/base/size/size.js +1 -1
  43. package/tokens-v2-private/js/tokens/base/typography/typography.js +1 -1
  44. package/tokens-v2-private/js/tokens/functional/size/border.js +1 -1
  45. package/tokens-v2-private/js/tokens/functional/size/breakpoints.js +1 -1
  46. package/tokens-v2-private/js/tokens/functional/size/size-coarse.js +1 -1
  47. package/tokens-v2-private/js/tokens/functional/size/size-fine.js +1 -1
  48. package/tokens-v2-private/js/tokens/functional/size/size.js +1 -1
  49. package/tokens-v2-private/js/tokens/functional/size/viewport.js +1 -1
  50. package/tokens-v2-private/js/tokens/functional/typography/typography.js +1 -1
  51. package/tokens-v2-private/scss/tokens/base/size/size.scss +1 -1
  52. package/tokens-v2-private/scss/tokens/base/typography/typography.scss +1 -1
  53. package/tokens-v2-private/scss/tokens/functional/size/border.scss +1 -1
  54. package/tokens-v2-private/scss/tokens/functional/size/breakpoints.scss +1 -1
  55. package/tokens-v2-private/scss/tokens/functional/size/size-coarse.scss +1 -1
  56. package/tokens-v2-private/scss/tokens/functional/size/size-fine.scss +1 -1
  57. package/tokens-v2-private/scss/tokens/functional/size/size.scss +1 -1
  58. package/tokens-v2-private/scss/tokens/functional/size/viewport.scss +1 -1
  59. package/tokens-v2-private/scss/tokens/functional/typography/typography.scss +1 -1
  60. package/tokens-v2-private/ts/tokens/base/size/size.d.ts +1 -1
  61. package/tokens-v2-private/ts/tokens/base/size/size.js +1 -1
  62. package/tokens-v2-private/ts/tokens/base/typography/typography.d.ts +1 -1
  63. package/tokens-v2-private/ts/tokens/base/typography/typography.js +1 -1
  64. package/tokens-v2-private/ts/tokens/functional/size/border.d.ts +1 -1
  65. package/tokens-v2-private/ts/tokens/functional/size/border.js +1 -1
  66. package/tokens-v2-private/ts/tokens/functional/size/breakpoints.d.ts +1 -1
  67. package/tokens-v2-private/ts/tokens/functional/size/breakpoints.js +1 -1
  68. package/tokens-v2-private/ts/tokens/functional/size/size-coarse.d.ts +1 -1
  69. package/tokens-v2-private/ts/tokens/functional/size/size-coarse.js +1 -1
  70. package/tokens-v2-private/ts/tokens/functional/size/size-fine.d.ts +1 -1
  71. package/tokens-v2-private/ts/tokens/functional/size/size-fine.js +1 -1
  72. package/tokens-v2-private/ts/tokens/functional/size/size.d.ts +1 -1
  73. package/tokens-v2-private/ts/tokens/functional/size/size.js +1 -1
  74. package/tokens-v2-private/ts/tokens/functional/size/viewport.d.ts +1 -1
  75. package/tokens-v2-private/ts/tokens/functional/size/viewport.js +1 -1
  76. package/tokens-v2-private/ts/tokens/functional/typography/typography.d.ts +1 -1
  77. package/tokens-v2-private/ts/tokens/functional/typography/typography.js +1 -1
  78. package/dist/deprecated/colors.json +0 -7
  79. package/dist/js/colors/dark.d.ts +0 -516
  80. package/dist/js/colors/dark.js +0 -616
  81. package/dist/js/colors/dark_colorblind.d.ts +0 -516
  82. package/dist/js/colors/dark_colorblind.js +0 -616
  83. package/dist/js/colors/dark_dimmed.d.ts +0 -516
  84. package/dist/js/colors/dark_dimmed.js +0 -616
  85. package/dist/js/colors/dark_high_contrast.d.ts +0 -516
  86. package/dist/js/colors/dark_high_contrast.js +0 -616
  87. package/dist/js/colors/dark_tritanopia.d.ts +0 -516
  88. package/dist/js/colors/dark_tritanopia.js +0 -616
  89. package/dist/js/colors/index.d.ts +0 -4638
  90. package/dist/js/colors/index.js +0 -15
  91. package/dist/js/colors/light.d.ts +0 -516
  92. package/dist/js/colors/light.js +0 -616
  93. package/dist/js/colors/light_colorblind.d.ts +0 -516
  94. package/dist/js/colors/light_colorblind.js +0 -616
  95. package/dist/js/colors/light_high_contrast.d.ts +0 -516
  96. package/dist/js/colors/light_high_contrast.js +0 -616
  97. package/dist/js/colors/light_tritanopia.d.ts +0 -516
  98. package/dist/js/colors/light_tritanopia.js +0 -616
  99. package/dist/js/index.d.ts +0 -4655
  100. package/dist/js/index.js +0 -9
  101. package/dist/js/spacing/index.d.ts +0 -6
  102. package/dist/js/spacing/index.js +0 -7
  103. package/dist/js/spacing/normal.d.ts +0 -4
  104. package/dist/js/spacing/normal.js +0 -13
  105. package/dist/js/typography/index.d.ts +0 -11
  106. package/dist/js/typography/index.js +0 -7
  107. package/dist/js/typography/normal.d.ts +0 -9
  108. package/dist/js/typography/normal.js +0 -19
  109. package/dist/json/colors/dark.json +0 -614
  110. package/dist/json/colors/dark_colorblind.json +0 -614
  111. package/dist/json/colors/dark_dimmed.json +0 -614
  112. package/dist/json/colors/dark_high_contrast.json +0 -614
  113. package/dist/json/colors/dark_tritanopia.json +0 -614
  114. package/dist/json/colors/light.json +0 -614
  115. package/dist/json/colors/light_colorblind.json +0 -614
  116. package/dist/json/colors/light_high_contrast.json +0 -614
  117. package/dist/json/colors/light_tritanopia.json +0 -614
  118. package/dist/json/spacing/normal.json +0 -11
  119. package/dist/json/typography/normal.json +0 -17
  120. package/dist/removed/colors.json +0 -432
  121. package/dist/scss/colors/_dark.scss +0 -452
  122. package/dist/scss/colors/_dark_colorblind.scss +0 -452
  123. package/dist/scss/colors/_dark_dimmed.scss +0 -452
  124. package/dist/scss/colors/_dark_high_contrast.scss +0 -452
  125. package/dist/scss/colors/_dark_tritanopia.scss +0 -452
  126. package/dist/scss/colors/_light.scss +0 -452
  127. package/dist/scss/colors/_light_colorblind.scss +0 -452
  128. package/dist/scss/colors/_light_high_contrast.scss +0 -452
  129. package/dist/scss/colors/_light_tritanopia.scss +0 -452
  130. package/dist/scss/spacing/_normal.scss +0 -11
  131. package/dist/scss/typography/_normal.scss +0 -15
  132. package/dist/ts/colors/dark.ts +0 -614
  133. package/dist/ts/colors/dark_colorblind.ts +0 -614
  134. package/dist/ts/colors/dark_dimmed.ts +0 -614
  135. package/dist/ts/colors/dark_high_contrast.ts +0 -614
  136. package/dist/ts/colors/dark_tritanopia.ts +0 -614
  137. package/dist/ts/colors/index.ts +0 -10
  138. package/dist/ts/colors/light.ts +0 -614
  139. package/dist/ts/colors/light_colorblind.ts +0 -614
  140. package/dist/ts/colors/light_high_contrast.ts +0 -614
  141. package/dist/ts/colors/light_tritanopia.ts +0 -614
  142. package/dist/ts/index.ts +0 -4
  143. package/dist/ts/spacing/index.ts +0 -2
  144. package/dist/ts/spacing/normal.ts +0 -11
  145. package/dist/ts/typography/index.ts +0 -2
  146. package/dist/ts/typography/normal.ts +0 -17
  147. package/src/filters/isBorder.test.ts +0 -18
  148. package/src/filters/isColor.test.ts +0 -22
  149. package/src/filters/isColorWithAlpha.test.ts +0 -34
  150. package/src/filters/isColorWithMix.test.ts +0 -108
  151. package/src/filters/isDeprecated.test.ts +0 -56
  152. package/src/filters/isDimension.test.ts +0 -22
  153. package/src/filters/isDuration.test.ts +0 -22
  154. package/src/filters/isFontFamily.test.ts +0 -22
  155. package/src/filters/isFontWeight.test.ts +0 -22
  156. package/src/filters/isFromFile.test.ts +0 -34
  157. package/src/filters/isShadow.test.ts +0 -18
  158. package/src/filters/isSource.test.ts +0 -44
  159. package/src/filters/isTypography.test.ts +0 -18
  160. package/src/formats/cssCustomMedia.test.ts +0 -11
  161. package/src/formats/cssThemed.test.ts +0 -87
  162. package/src/formats/cssWrapMediaQuery.test.ts +0 -170
  163. package/src/formats/javascriptCommonJs.test.ts +0 -43
  164. package/src/formats/javascriptEsm.test.ts +0 -41
  165. package/src/formats/jsonNestedPrefixed.test.ts +0 -73
  166. package/src/formats/jsonOneDimensional.test.ts +0 -56
  167. package/src/formats/typescriptExportDefinition.test.ts +0 -178
  168. package/src/formats/utilities/jsonToFlat.test.ts +0 -47
  169. package/src/formats/utilities/jsonToNestedValue.test.ts +0 -39
  170. package/src/formats/utilities/prefixTokens.test.ts +0 -38
  171. package/src/parsers/w3cJsonParser.test.ts +0 -35
  172. package/src/schemas/alphaValueSchema.test.ts +0 -24
  173. package/src/schemas/baseTokenSchema.test.ts +0 -17
  174. package/src/schemas/borderTokenSchema.test.ts +0 -53
  175. package/src/schemas/collectionSchema.test.ts +0 -58
  176. package/src/schemas/colorHexValueSchema.test.ts +0 -26
  177. package/src/schemas/colorTokenSchema.test.ts +0 -27
  178. package/src/schemas/dimensionTokenSchema.test.ts +0 -28
  179. package/src/schemas/dimensionValueSchema.test.ts +0 -21
  180. package/src/schemas/durationTokenSchema.test.ts +0 -58
  181. package/src/schemas/durationValueSchema.test.ts +0 -25
  182. package/src/schemas/fontFamilyTokenSchema.test.ts +0 -82
  183. package/src/schemas/fontWeightTokenSchema.test.ts +0 -88
  184. package/src/schemas/fontWeightValue.test.ts +0 -17
  185. package/src/schemas/numberTokenSchema.test.ts +0 -82
  186. package/src/schemas/referenceValueSchema.test.ts +0 -20
  187. package/src/schemas/schema.test.ts +0 -33
  188. package/src/schemas/scopeTokenSchema.test.ts +0 -29
  189. package/src/schemas/shadowTokenSchema.test.ts +0 -163
  190. package/src/schemas/stringTokenSchema.test.ts +0 -81
  191. package/src/schemas/tokenNameSchema.test.ts +0 -33
  192. package/src/schemas/typographyTokenSchema.test.ts +0 -58
  193. package/src/schemas/validTokenTypeSchema.test.ts +0 -32
  194. package/src/schemas/viewportRangeTokenSchema.test.ts +0 -59
  195. package/src/transformers/borderToCss.test.ts +0 -58
  196. package/src/transformers/colorToHex.test.ts +0 -27
  197. package/src/transformers/colorToHexAlpha.test.ts +0 -30
  198. package/src/transformers/colorToHexMix.test.ts +0 -83
  199. package/src/transformers/colorToRgbAlpha.test.ts +0 -33
  200. package/src/transformers/colorToRgbaFloat.test.ts +0 -168
  201. package/src/transformers/dimensionToPixelUnitless.test.ts +0 -93
  202. package/src/transformers/dimensionToRem.test.ts +0 -81
  203. package/src/transformers/durationToCss.test.ts +0 -56
  204. package/src/transformers/fontFamilyToCss.test.ts +0 -71
  205. package/src/transformers/fontWeightToNumbers.test.ts +0 -117
  206. package/src/transformers/jsonDeprecated.test.ts +0 -31
  207. package/src/transformers/namePathToCamelCase.test.ts +0 -74
  208. package/src/transformers/namePathToDotNotation.test.ts +0 -74
  209. package/src/transformers/namePathToFigma.test.ts +0 -74
  210. package/src/transformers/namePathToKebabCase.test.ts +0 -74
  211. package/src/transformers/namePathToSlashNotation.test.ts +0 -74
  212. package/src/transformers/shadowToCss.test.ts +0 -175
  213. package/src/transformers/typographyToCss.test.ts +0 -164
  214. package/src/transformers/utilities/alpha.test.ts +0 -28
  215. package/src/transformers/utilities/checkRequiredTokenProperties.test.ts +0 -28
  216. package/src/transformers/utilities/getTokenValue.test.ts +0 -18
  217. package/src/transformers/utilities/hexToRgbaFloat.test.ts +0 -66
  218. package/src/transformers/utilities/invalidTokenError.test.ts +0 -21
  219. package/src/transformers/utilities/isRgbaFloat.test.ts +0 -20
  220. package/src/transformers/utilities/rgbaFloatToHex.test.ts +0 -16
  221. package/src/utilities/getFlag.test.ts +0 -31
  222. package/src/utilities/joinFriendly.test.ts +0 -15
  223. package/src/utilities/toCamelCase.test.ts +0 -27
  224. package/src/utilities/treeWalker.test.ts +0 -51
  225. package/src/utilities/upperCaseFirstCharacter.test.ts +0 -19
  226. package/tokens-next-private/css/base/size/size.css +0 -19
  227. package/tokens-next-private/css/base/typography/typography.css +0 -6
  228. package/tokens-next-private/css/functional/motion/motion.css +0 -5
  229. package/tokens-next-private/css/functional/size/border.css +0 -14
  230. package/tokens-next-private/css/functional/size/breakpoints.css +0 -8
  231. package/tokens-next-private/css/functional/size/size-coarse.css +0 -7
  232. package/tokens-next-private/css/functional/size/size-fine.css +0 -7
  233. package/tokens-next-private/css/functional/size/size.css +0 -74
  234. package/tokens-next-private/css/functional/size/viewport.css +0 -6
  235. package/tokens-next-private/css/functional/themes/dark-colorblind.css +0 -1078
  236. package/tokens-next-private/css/functional/themes/dark-dimmed.css +0 -1078
  237. package/tokens-next-private/css/functional/themes/dark-high-contrast.css +0 -1078
  238. package/tokens-next-private/css/functional/themes/dark-tritanopia.css +0 -1078
  239. package/tokens-next-private/css/functional/themes/dark.css +0 -1078
  240. package/tokens-next-private/css/functional/themes/light-colorblind.css +0 -1078
  241. package/tokens-next-private/css/functional/themes/light-high-contrast.css +0 -1078
  242. package/tokens-next-private/css/functional/themes/light-tritanopia.css +0 -1078
  243. package/tokens-next-private/css/functional/themes/light.css +0 -1078
  244. package/tokens-next-private/css/functional/typography/typography.css +0 -47
  245. package/tokens-next-private/docs/base/size/size.json +0 -427
  246. package/tokens-next-private/docs/base/typography/typography.json +0 -54
  247. package/tokens-next-private/docs/functional/motion/motion.json +0 -47
  248. package/tokens-next-private/docs/functional/size/border.json +0 -234
  249. package/tokens-next-private/docs/functional/size/breakpoints.json +0 -152
  250. package/tokens-next-private/docs/functional/size/size-coarse.json +0 -41
  251. package/tokens-next-private/docs/functional/size/size-fine.json +0 -41
  252. package/tokens-next-private/docs/functional/size/size.json +0 -1838
  253. package/tokens-next-private/docs/functional/size/viewport.json +0 -80
  254. package/tokens-next-private/docs/functional/themes/dark-colorblind.json +0 -16155
  255. package/tokens-next-private/docs/functional/themes/dark-dimmed.json +0 -16159
  256. package/tokens-next-private/docs/functional/themes/dark-high-contrast.json +0 -16175
  257. package/tokens-next-private/docs/functional/themes/dark-tritanopia.json +0 -16161
  258. package/tokens-next-private/docs/functional/themes/dark.json +0 -16159
  259. package/tokens-next-private/docs/functional/themes/light-colorblind.json +0 -16123
  260. package/tokens-next-private/docs/functional/themes/light-high-contrast.json +0 -16125
  261. package/tokens-next-private/docs/functional/themes/light-tritanopia.json +0 -16115
  262. package/tokens-next-private/docs/functional/themes/light.json +0 -16113
  263. package/tokens-next-private/docs/functional/typography/typography.json +0 -663
  264. package/tokens-next-private/fallbacks/base/size/size.json +0 -19
  265. package/tokens-next-private/fallbacks/base/typography/typography.json +0 -6
  266. package/tokens-next-private/fallbacks/color-fallbacks.json +0 -260
  267. package/tokens-next-private/fallbacks/functional/motion/motion.json +0 -5
  268. package/tokens-next-private/fallbacks/functional/size/border.json +0 -14
  269. package/tokens-next-private/fallbacks/functional/size/breakpoints.json +0 -8
  270. package/tokens-next-private/fallbacks/functional/size/size-coarse.json +0 -5
  271. package/tokens-next-private/fallbacks/functional/size/size-fine.json +0 -5
  272. package/tokens-next-private/fallbacks/functional/size/size.json +0 -74
  273. package/tokens-next-private/fallbacks/functional/size/viewport.json +0 -8
  274. package/tokens-next-private/fallbacks/functional/typography/typography.json +0 -47
  275. package/tokens-next-private/internalCss/dark-colorblind.css +0 -1648
  276. package/tokens-next-private/internalCss/dark-dimmed.css +0 -1648
  277. package/tokens-next-private/internalCss/dark-high-contrast.css +0 -1648
  278. package/tokens-next-private/internalCss/dark-tritanopia.css +0 -1648
  279. package/tokens-next-private/internalCss/dark.css +0 -1648
  280. package/tokens-next-private/internalCss/light-colorblind.css +0 -1648
  281. package/tokens-next-private/internalCss/light-high-contrast.css +0 -1648
  282. package/tokens-next-private/internalCss/light-tritanopia.css +0 -1648
  283. package/tokens-next-private/internalCss/light.css +0 -1648
  284. package/tokens-next-private/removed/color.json +0 -421
  285. package/tokens-next-private/styleLint/base/size/size.json +0 -427
  286. package/tokens-next-private/styleLint/base/typography/typography.json +0 -54
  287. package/tokens-next-private/styleLint/functional/motion/motion.json +0 -47
  288. package/tokens-next-private/styleLint/functional/size/border.json +0 -234
  289. package/tokens-next-private/styleLint/functional/size/breakpoints.json +0 -152
  290. package/tokens-next-private/styleLint/functional/size/size-coarse.json +0 -41
  291. package/tokens-next-private/styleLint/functional/size/size-fine.json +0 -41
  292. package/tokens-next-private/styleLint/functional/size/size.json +0 -1838
  293. package/tokens-next-private/styleLint/functional/size/viewport.json +0 -80
  294. package/tokens-next-private/styleLint/functional/themes/dark-colorblind.json +0 -16155
  295. package/tokens-next-private/styleLint/functional/themes/dark-dimmed.json +0 -16159
  296. package/tokens-next-private/styleLint/functional/themes/dark-high-contrast.json +0 -16175
  297. package/tokens-next-private/styleLint/functional/themes/dark-tritanopia.json +0 -16161
  298. package/tokens-next-private/styleLint/functional/themes/dark.json +0 -16159
  299. package/tokens-next-private/styleLint/functional/themes/light-colorblind.json +0 -16123
  300. package/tokens-next-private/styleLint/functional/themes/light-high-contrast.json +0 -16125
  301. package/tokens-next-private/styleLint/functional/themes/light-tritanopia.json +0 -16115
  302. package/tokens-next-private/styleLint/functional/themes/light.json +0 -16113
  303. package/tokens-next-private/styleLint/functional/typography/typography.json +0 -663
@@ -1,43 +0,0 @@
1
- import {javascriptCommonJs} from './javascriptCommonJs'
2
- import {getMockFormatterArguments} from '../test-utilities'
3
- import {format} from 'prettier'
4
-
5
- describe('Format: CommonJs', () => {
6
- it('Formats tokens adding prefix', () => {
7
- const input = getMockFormatterArguments({
8
- platform: {
9
- prefix: 'test',
10
- },
11
- })
12
-
13
- const expectedOutput = format(
14
- `exports.default = {
15
- test: {
16
- tokens: {
17
- subgroup: {
18
- red: "transformedValue",
19
- },
20
- },
21
- },
22
- };`,
23
- {parser: 'typescript', printWidth: 500},
24
- )
25
-
26
- expect(javascriptCommonJs(input)).toBe(expectedOutput)
27
- })
28
-
29
- it('Formats tokens without prefix', () => {
30
- const input = getMockFormatterArguments()
31
- const expectedOutput = format(
32
- `exports.default = {
33
- tokens: {
34
- subgroup: {
35
- red: "transformedValue",
36
- },
37
- },
38
- };`,
39
- {parser: 'typescript', printWidth: 500},
40
- )
41
- expect(javascriptCommonJs(input)).toStrictEqual(expectedOutput)
42
- })
43
- })
@@ -1,41 +0,0 @@
1
- import {javascriptEsm} from './javascriptEsm'
2
- import {getMockFormatterArguments} from '../test-utilities'
3
- import {format} from 'prettier'
4
-
5
- describe('Format: ESM', () => {
6
- it('Formats tokens adding prefix', () => {
7
- const input = getMockFormatterArguments({
8
- platform: {
9
- prefix: 'test',
10
- },
11
- })
12
- const expectedOutput = format(
13
- `export default {
14
- test: {
15
- tokens: {
16
- subgroup: {
17
- red: "transformedValue",
18
- },
19
- },
20
- },
21
- };`,
22
- {parser: 'typescript', printWidth: 500},
23
- )
24
- expect(javascriptEsm(input)).toStrictEqual(expectedOutput)
25
- })
26
-
27
- it('Formats tokens without prefix', () => {
28
- const input = getMockFormatterArguments()
29
- const expectedOutput = format(
30
- `export default {
31
- tokens: {
32
- subgroup: {
33
- red: "transformedValue",
34
- },
35
- },
36
- };`,
37
- {parser: 'typescript', printWidth: 500},
38
- )
39
- expect(javascriptEsm(input)).toStrictEqual(expectedOutput)
40
- })
41
- })
@@ -1,73 +0,0 @@
1
- import {jsonNestedPrefixed} from './jsonNestedPrefixed'
2
- import {getMockFormatterArguments} from '../test-utilities'
3
- import {format} from 'prettier'
4
-
5
- describe('Format: Json nested with prefixes', () => {
6
- test('Formats tokens with prefix', () => {
7
- const input = getMockFormatterArguments({
8
- platform: {
9
- prefix: 'test',
10
- },
11
- })
12
-
13
- const expectedOutput = format(
14
- `{
15
- "test": {
16
- "tokens": {
17
- "subgroup": {
18
- "red": "transformedValue"
19
- }
20
- }
21
- }
22
- }`,
23
- {parser: 'json', printWidth: 500},
24
- )
25
-
26
- expect(jsonNestedPrefixed(input)).toBe(expectedOutput)
27
- })
28
-
29
- test('Formats tokens without prefix', () => {
30
- const input = getMockFormatterArguments()
31
- const expectedOutput = format(
32
- `{
33
- "tokens": {
34
- "subgroup": {
35
- "red": "transformedValue"
36
- }
37
- }
38
- }`,
39
- {parser: 'json', printWidth: 500},
40
- )
41
- expect(jsonNestedPrefixed(input)).toStrictEqual(expectedOutput)
42
- })
43
-
44
- test('Formats tokens without verbose setting', () => {
45
- const input = getMockFormatterArguments({
46
- options: {
47
- outputVerbose: true,
48
- },
49
- })
50
- const expectedOutput = format(
51
- `{
52
- "tokens": {
53
- "subgroup": {
54
- "red": {
55
- "name": "red",
56
- "path": ["tokens", "subgroup", "red"],
57
- "original": {
58
- "value": "originalValue",
59
- "attributes": {}
60
- },
61
- "filePath": "file.json",
62
- "isSource": true,
63
- "value": "transformedValue",
64
- "attributes": {}
65
- }
66
- }
67
- }
68
- }`,
69
- {parser: 'json', printWidth: 500},
70
- )
71
- expect(jsonNestedPrefixed(input)).toStrictEqual(expectedOutput)
72
- })
73
- })
@@ -1,56 +0,0 @@
1
- import {jsonOneDimensional} from './jsonOneDimensional'
2
- import {getMockDictionary, getMockFormatterArguments, getMockToken} from '../test-utilities'
3
- import {format} from 'prettier'
4
-
5
- describe('Format: Json One Dimensional', () => {
6
- const dictionary = getMockDictionary({
7
- tokens: {
8
- subgroup: {
9
- red: getMockToken({
10
- name: 'tokens-subgroup-red',
11
- path: ['tokens', 'subgroup', 'red'],
12
- }),
13
- },
14
- },
15
- })
16
-
17
- test('Formats tokens as object', () => {
18
- const input = getMockFormatterArguments({
19
- dictionary,
20
- options: {outputVerbose: true},
21
- })
22
-
23
- const expectedOutput = format(
24
- `{
25
- "tokens-subgroup-red": {
26
- "name": "tokens-subgroup-red",
27
- "path": ["tokens", "subgroup", "red"],
28
- "original": {
29
- "value": "originalValue",
30
- "attributes": {}
31
- },
32
- "filePath": "file.json",
33
- "isSource": true,
34
- "value": "transformedValue",
35
- "attributes": {}
36
- }
37
- }`,
38
- {parser: 'json', printWidth: 500},
39
- )
40
- expect(jsonOneDimensional(input)).toStrictEqual(expectedOutput)
41
- })
42
-
43
- test('Formats tokens as values only', () => {
44
- const input = getMockFormatterArguments({
45
- dictionary,
46
- })
47
-
48
- const expectedOutput = format(
49
- `{
50
- "tokens-subgroup-red": "transformedValue"
51
- }`,
52
- {parser: 'json', printWidth: 500},
53
- )
54
- expect(jsonOneDimensional(input)).toStrictEqual(expectedOutput)
55
- })
56
- })
@@ -1,178 +0,0 @@
1
- import {typescriptExportDefinition} from './typescriptExportDefinition'
2
- import {getMockFormatterArguments, getMockDictionary, getMockToken} from '../test-utilities'
3
- import {format} from 'prettier'
4
-
5
- describe('Format: TypeScript definitions', () => {
6
- const dictionary = getMockDictionary({
7
- tokens: {
8
- subgroup: {
9
- red: getMockToken({
10
- $type: 'color',
11
- value: '#FF0000',
12
- }),
13
- stringValue: getMockToken({
14
- value: '#FF0000',
15
- }),
16
- border: getMockToken({
17
- $type: 'border',
18
- value: {
19
- color: '#FF0000',
20
- style: 'solid',
21
- width: '1px',
22
- },
23
- }),
24
- numberValue: getMockToken({
25
- value: 20,
26
- }),
27
- booleanValue: getMockToken({
28
- value: true,
29
- }),
30
- },
31
- },
32
- })
33
-
34
- it('Formats dimension tokens', () => {
35
- const input = getMockFormatterArguments({
36
- dictionary: getMockDictionary({
37
- tokens: {
38
- subgroup: {
39
- size: {
40
- px: getMockToken({
41
- $type: 'dimension',
42
- value: '100px',
43
- }),
44
- rem: getMockToken({
45
- $type: 'dimension',
46
- value: '10rem',
47
- }),
48
- em: getMockToken({
49
- $type: 'dimension',
50
- value: '10em',
51
- }),
52
- },
53
- },
54
- },
55
- }),
56
- })
57
- const expectedOutput = format(
58
- `/**
59
- * @description size in px
60
- */
61
- type SizePx = \`\${number}px\`
62
-
63
- /**
64
- * @description size in rem
65
- */
66
- type SizeRem = \`\${number}rem\`
67
-
68
- /**
69
- * @description size in em
70
- */
71
- type SizeEm = \`\${number}em\`
72
-
73
- export type tokens = {
74
- tokens: {
75
- subgroup: {
76
- size: {
77
- px: SizePx;
78
- rem: SizeRem;
79
- em: SizeEm;
80
- };
81
- };
82
- };
83
- };`,
84
- {parser: 'typescript', printWidth: 500},
85
- )
86
-
87
- expect(typescriptExportDefinition(input)).toStrictEqual(expectedOutput)
88
- })
89
-
90
- it('Formats tokens adding prefix', () => {
91
- const input = getMockFormatterArguments({
92
- dictionary,
93
- platform: {
94
- prefix: 'test',
95
- },
96
- })
97
- const expectedOutput = format(
98
- `/**
99
- * @description hex string (6 or 8-digit)
100
- */
101
- type ColorHex = string;
102
-
103
- /**
104
- * @description a css border string
105
- * @format color | style | width
106
- */
107
- type Border = \`\${ColorHex} \${string} \${string}\`;
108
-
109
- export type tokens = {
110
- test: {
111
- tokens: {
112
- subgroup: {
113
- red: ColorHex;
114
- stringValue: string;
115
- border: Border;
116
- numberValue: number;
117
- booleanValue: "boolean";
118
- };
119
- };
120
- };
121
- };`,
122
- {parser: 'typescript', printWidth: 500},
123
- )
124
-
125
- expect(typescriptExportDefinition(input)).toStrictEqual(expectedOutput)
126
- })
127
-
128
- it('Formats tokens without prefix', () => {
129
- const input = getMockFormatterArguments({dictionary})
130
- const expectedOutput = format(
131
- `/**
132
- * @description hex string (6 or 8-digit)
133
- */
134
- type ColorHex = string;
135
-
136
- /**
137
- * @description a css border string
138
- * @format color | style | width
139
- */
140
- type Border = \`\${ColorHex} \${string} \${string}\`;
141
-
142
- export type tokens = {
143
- tokens: {
144
- subgroup: {
145
- red: ColorHex;
146
- stringValue: string;
147
- border: Border;
148
- numberValue: number;
149
- booleanValue: "boolean";
150
- };
151
- };
152
- };`,
153
- {parser: 'typescript', printWidth: 500},
154
- )
155
- expect(typescriptExportDefinition(input)).toStrictEqual(expectedOutput)
156
- })
157
-
158
- it('throws an invalidTokenValue error if a token has an invalid value for the defined type', () => {
159
- const input = getMockFormatterArguments({
160
- dictionary: getMockDictionary({
161
- // @ts-expect-error: Because of invalid token
162
- tokens: {
163
- subgroup: {
164
- color: {
165
- name: 'color token name',
166
- value: 'rgb(100,200,255)',
167
- $type: 'color',
168
- },
169
- },
170
- },
171
- }),
172
- })
173
-
174
- expect(() => {
175
- typescriptExportDefinition(input)
176
- }).toThrowError('Invalid token: "color token name" with type "color" can not have a value of "rgb(100,200,255)"')
177
- })
178
- })
@@ -1,47 +0,0 @@
1
- import {getMockToken} from '../../test-utilities'
2
- import {jsonToFlat} from './jsonToFlat'
3
-
4
- describe('Utilities: jsonToFlat', () => {
5
- const tokens = [
6
- getMockToken({
7
- value: '#111',
8
- $type: 'color',
9
- path: ['parent', 'subparent', 'child1'],
10
- name: 'parent-subparent-child1',
11
- }),
12
- getMockToken({
13
- value: '#222',
14
- $type: 'color',
15
- path: ['parent', 'subparent', 'child2'],
16
- name: 'parent-subparent-child2',
17
- }),
18
- ]
19
-
20
- it('it returns only value property as value of object if return Object is false', () => {
21
- expect(jsonToFlat(tokens, false)['parent-subparent-child1']).toBe('#111')
22
- expect(jsonToFlat(tokens, false)).toStrictEqual({
23
- 'parent-subparent-child1': '#111',
24
- 'parent-subparent-child2': '#222',
25
- })
26
- })
27
-
28
- it('it returns objects as value of object if return Object is true', () => {
29
- expect(jsonToFlat(tokens, true)['parent-subparent-child1']).toEqual({
30
- value: '#111',
31
- $type: 'color',
32
- path: ['parent', 'subparent', 'child1'],
33
- name: 'parent-subparent-child1',
34
- attributes: {},
35
- filePath: 'file.json',
36
- isSource: true,
37
- original: {
38
- attributes: {},
39
- value: 'originalValue',
40
- },
41
- })
42
- })
43
-
44
- it('it returns only value property as value of object if return Object is undefined', () => {
45
- expect(jsonToFlat(tokens, undefined)['parent-subparent-child1']).toBe('#111')
46
- })
47
- })
@@ -1,39 +0,0 @@
1
- import {jsonToNestedValue} from './jsonToNestedValue'
2
-
3
- describe('Utilities: jsonToNestedValue', () => {
4
- const obj = {
5
- parent: {
6
- subparent: {
7
- child1: {
8
- value: '#111',
9
- $type: 'color',
10
- },
11
- child2: {
12
- value: '#222',
13
- $type: 'color',
14
- },
15
- },
16
- otherSubparent: {
17
- text: 'hello',
18
- number: 42,
19
- noValue: {
20
- string: 'string',
21
- number: 12,
22
- },
23
- },
24
- },
25
- }
26
-
27
- it('it returns only value property as value of object', () => {
28
- expect(jsonToNestedValue(obj.parent.subparent.child1)).toBe('#111')
29
- expect(jsonToNestedValue(obj['parent']['subparent'])).toStrictEqual({child1: '#111', child2: '#222'})
30
- })
31
-
32
- it('it returns only values if final child is no object', () => {
33
- const transformedObj = obj
34
- // @ts-expect-error: fake token for test causes error
35
- transformedObj['parent']['subparent'] = {child1: '#111', child2: '#222'}
36
-
37
- expect(jsonToNestedValue(obj)).toStrictEqual(transformedObj)
38
- })
39
- })
@@ -1,38 +0,0 @@
1
- import {getMockToken} from '../../test-utilities'
2
- import {prefixTokens} from './prefixTokens'
3
-
4
- describe('Utilities: prefixTokens', () => {
5
- const tokens = {
6
- colors: getMockToken({
7
- name: 'token',
8
- value: 'value',
9
- }),
10
- }
11
-
12
- it('it adds prefix to token array', () => {
13
- const platform = {
14
- prefix: 'pumpkin',
15
- }
16
- const expectedOutput = {
17
- [platform.prefix]: tokens,
18
- }
19
-
20
- expect(prefixTokens(tokens, platform)).toStrictEqual(expectedOutput)
21
- })
22
-
23
- it('it returns original token array if prefix is undefined', () => {
24
- const platform = {
25
- prefix: undefined,
26
- }
27
- const expectedOutput = tokens
28
-
29
- expect(prefixTokens(tokens, platform)).toStrictEqual(expectedOutput)
30
- })
31
-
32
- it('it returns original token array if platform is undefined', () => {
33
- const platform = undefined
34
- const expectedOutput = tokens
35
-
36
- expect(prefixTokens(tokens, platform)).toStrictEqual(expectedOutput)
37
- })
38
- })
@@ -1,35 +0,0 @@
1
- import {w3cJsonParser} from './w3cJsonParser'
2
- import {parserOutput as expectedOutput, getMockParserInput} from '../test-utilities'
3
-
4
- describe('Parser: w3c token json5 parser', () => {
5
- it('parses valid w3c json5', () => {
6
- const result = w3cJsonParser.parse(getMockParserInput('json5.w3c'))
7
- expect(result).toStrictEqual(expectedOutput)
8
- })
9
-
10
- it('parses valid w3c json', () => {
11
- const result = w3cJsonParser.parse(getMockParserInput('json.w3c'))
12
- expect(result).toStrictEqual(expectedOutput)
13
- })
14
-
15
- it('parses valid json5', () => {
16
- const result = w3cJsonParser.parse(getMockParserInput('json5.default'))
17
- expect(result).toStrictEqual(expectedOutput)
18
- })
19
-
20
- it('parses valid json', () => {
21
- const result = w3cJsonParser.parse(getMockParserInput('json.default'))
22
- expect(result).toStrictEqual(expectedOutput)
23
- })
24
-
25
- it('it parses empty object `{}` json', () => {
26
- const result = w3cJsonParser.parse(getMockParserInput('{}'))
27
- expect(result).toStrictEqual({})
28
- })
29
-
30
- it('throws an error while parsing invalid empty JSON', () => {
31
- expect(() => {
32
- w3cJsonParser.parse(getMockParserInput('', 'invalidFile.json'))
33
- }).toThrow(`Invalid json5 file "invalidFile.json".`)
34
- })
35
- })
@@ -1,24 +0,0 @@
1
- import {alphaValue} from './alphaValue'
2
-
3
- describe('Schema: alphaValue', () => {
4
- it('passes on valid alpha values', () => {
5
- expect(alphaValue.safeParse(0).success).toStrictEqual(true)
6
- expect(alphaValue.safeParse(0.5).success).toStrictEqual(true)
7
- expect(alphaValue.safeParse(0.23455).success).toStrictEqual(true)
8
- expect(alphaValue.safeParse(1).success).toStrictEqual(true)
9
- expect(alphaValue.safeParse(1.0).success).toStrictEqual(true)
10
- })
11
-
12
- it('fails on invalid alpha values', () => {
13
- expect(alphaValue.safeParse(-1).success).toStrictEqual(false)
14
- expect(alphaValue.safeParse(-0.1).success).toStrictEqual(false)
15
- expect(alphaValue.safeParse(1.1).success).toStrictEqual(false)
16
- })
17
-
18
- it('fails on non-numeric values', () => {
19
- expect(alphaValue.safeParse('1').success).toStrictEqual(false)
20
- expect(alphaValue.safeParse(undefined).success).toStrictEqual(false)
21
- expect(alphaValue.safeParse(null).success).toStrictEqual(false)
22
- expect(alphaValue.safeParse('').success).toStrictEqual(false)
23
- })
24
- })
@@ -1,17 +0,0 @@
1
- import {baseToken} from './baseToken'
2
-
3
- describe('Schema: baseToken', () => {
4
- const validToken = {
5
- $description: 'a base token',
6
- }
7
-
8
- it('passes on valid values', () => {
9
- expect(baseToken.safeParse(validToken).success).toStrictEqual(true)
10
- })
11
-
12
- it('fails on invalid property', () => {
13
- expect(baseToken.safeParse({...validToken, $type: 'stroke'}).success).toStrictEqual(false)
14
- expect(baseToken.safeParse({...validToken, $value: 'wrong'}).success).toStrictEqual(false)
15
- expect(baseToken.safeParse({...validToken, $additional: undefined}).success).toStrictEqual(false)
16
- })
17
- })
@@ -1,53 +0,0 @@
1
- import {borderToken, borderValue} from './borderToken'
2
-
3
- const validBorderValue = {
4
- color: '#333',
5
- style: 'solid',
6
- width: '1px',
7
- }
8
-
9
- describe('Schema: borderValue', () => {
10
- it('passes on valid values', () => {
11
- expect(borderValue.safeParse(validBorderValue).success).toStrictEqual(true)
12
- })
13
-
14
- it('passes on valid stroke values', () => {
15
- expect(borderValue.safeParse({...validBorderValue, style: 'solid'}).success).toStrictEqual(true)
16
- expect(borderValue.safeParse({...validBorderValue, style: 'dashed'}).success).toStrictEqual(true)
17
- expect(borderValue.safeParse({...validBorderValue, style: 'dotted'}).success).toStrictEqual(true)
18
- expect(borderValue.safeParse({...validBorderValue, style: 'double'}).success).toStrictEqual(true)
19
- expect(borderValue.safeParse({...validBorderValue, style: 'groove'}).success).toStrictEqual(true)
20
- expect(borderValue.safeParse({...validBorderValue, style: 'ridge'}).success).toStrictEqual(true)
21
- expect(borderValue.safeParse({...validBorderValue, style: 'outset'}).success).toStrictEqual(true)
22
- expect(borderValue.safeParse({...validBorderValue, style: 'inset'}).success).toStrictEqual(true)
23
- })
24
-
25
- it('fails on invalid values', () => {
26
- expect(borderValue.safeParse({...validBorderValue, style: 'none'}).success).toStrictEqual(false)
27
- expect(borderValue.safeParse({...validBorderValue, color: 'none'}).success).toStrictEqual(false)
28
- expect(borderValue.safeParse({...validBorderValue, width: '1%'}).success).toStrictEqual(false)
29
- expect(borderValue.safeParse({...validBorderValue, width: '1vw'}).success).toStrictEqual(false)
30
- })
31
-
32
- it('fails on missing values', () => {
33
- expect(borderValue.safeParse({...validBorderValue, style: undefined}).success).toStrictEqual(false)
34
- expect(borderValue.safeParse({...validBorderValue, color: undefined}).success).toStrictEqual(false)
35
- expect(borderValue.safeParse({...validBorderValue, width: undefined}).success).toStrictEqual(false)
36
- })
37
- })
38
-
39
- describe('Schema: borderToken', () => {
40
- const validBorderToken = {
41
- $value: validBorderValue,
42
- $type: 'border',
43
- $description: 'a border token',
44
- }
45
-
46
- it('passes on valid values', () => {
47
- expect(borderToken.safeParse(validBorderToken).success).toStrictEqual(true)
48
- })
49
-
50
- it('fails on invalid type', () => {
51
- expect(borderToken.safeParse({...validBorderToken, $type: 'stroke'}).success).toStrictEqual(false)
52
- })
53
- })