@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,58 +0,0 @@
1
- import {collection, mode} from './collections'
2
-
3
- describe('Schema: collection', () => {
4
- const collections = collection([
5
- 'base/color/light',
6
- 'base/color/light-high-contrast',
7
- 'base/color/dark',
8
- 'base/color/dark-dimmed',
9
- 'base/color/dark-high-contrast',
10
- 'mode',
11
- 'pattern/mode',
12
- ])
13
- it('passes on valid values', () => {
14
- expect(collections.safeParse('mode').success).toStrictEqual(true)
15
- expect(collections.safeParse('base/color/light').success).toStrictEqual(true)
16
- })
17
-
18
- it('fails on invalid values', () => {
19
- expect(collections.safeParse('wrongCollection').success).toStrictEqual(false)
20
- expect(collections.safeParse('').success).toStrictEqual(false)
21
- })
22
-
23
- it('fails on non-string values', () => {
24
- expect(collections.safeParse(undefined).success).toStrictEqual(false)
25
- expect(collections.safeParse(null).success).toStrictEqual(false)
26
- expect(collections.safeParse(1).success).toStrictEqual(false)
27
- })
28
- })
29
-
30
- describe('Schema: mode', () => {
31
- const modes = mode([
32
- 'light',
33
- 'dark',
34
- 'dark dimmed',
35
- 'light high contrast',
36
- 'dark high contrast',
37
- 'light colorblind',
38
- 'dark colorblind',
39
- 'light tritanopia',
40
- 'dark tritanopia',
41
- ])
42
-
43
- it('passes on valid values', () => {
44
- expect(modes.safeParse('light').success).toStrictEqual(true)
45
- expect(modes.safeParse('dark').success).toStrictEqual(true)
46
- })
47
-
48
- it('fails on invalid values', () => {
49
- expect(modes.safeParse('wrongMode').success).toStrictEqual(false)
50
- expect(modes.safeParse('').success).toStrictEqual(false)
51
- })
52
-
53
- it('fails on non-string values', () => {
54
- expect(modes.safeParse(undefined).success).toStrictEqual(false)
55
- expect(modes.safeParse(null).success).toStrictEqual(false)
56
- expect(modes.safeParse(1).success).toStrictEqual(false)
57
- })
58
- })
@@ -1,26 +0,0 @@
1
- import {colorHexValue} from './colorHexValue'
2
-
3
- describe('Schema: colorHexValue', () => {
4
- it('passes on valid colorHexValue values', () => {
5
- expect(colorHexValue.safeParse('#333').success).toStrictEqual(true)
6
- // expect(colorHexValue.safeParse('#3456').success).toStrictEqual(true)
7
- expect(colorHexValue.safeParse('#33ff55').success).toStrictEqual(true)
8
- expect(colorHexValue.safeParse('#33aa5566').success).toStrictEqual(true)
9
- })
10
-
11
- it('fails on invalid colorHexValue values', () => {
12
- expect(colorHexValue.safeParse('#3456').success).toStrictEqual(false)
13
- expect(colorHexValue.safeParse(0).success).toStrictEqual(false)
14
- expect(colorHexValue.safeParse('345').success).toStrictEqual(false)
15
- expect(colorHexValue.safeParse('334455').success).toStrictEqual(false)
16
- expect(colorHexValue.safeParse('blue').success).toStrictEqual(false)
17
- expect(colorHexValue.safeParse('rgb(255,125,0)').success).toStrictEqual(false)
18
- expect(colorHexValue.safeParse('').success).toStrictEqual(false)
19
- })
20
-
21
- it('fails on non-string values', () => {
22
- expect(colorHexValue.safeParse(undefined).success).toStrictEqual(false)
23
- expect(colorHexValue.safeParse(null).success).toStrictEqual(false)
24
- expect(colorHexValue.safeParse(1).success).toStrictEqual(false)
25
- })
26
- })
@@ -1,27 +0,0 @@
1
- import {colorToken} from './colorToken'
2
-
3
- describe('Schema: colorToken', () => {
4
- const validToken = {
5
- $value: '#00ff88',
6
- $type: 'color',
7
- $description: 'a color token',
8
- }
9
-
10
- it('passes on valid values', () => {
11
- expect(colorToken.safeParse(validToken).success).toStrictEqual(true)
12
- expect(colorToken.safeParse({...validToken, $value: '#000'}).success).toStrictEqual(true)
13
- expect(colorToken.safeParse({...validToken, $value: '#11223366'}).success).toStrictEqual(true)
14
- })
15
-
16
- it('fails on invalid type', () => {
17
- expect(colorToken.safeParse({...validToken, $type: 'stroke'}).success).toStrictEqual(false)
18
- })
19
-
20
- it('fails on invalid value', () => {
21
- expect(colorToken.safeParse({...validToken, $value: 'wrong'}).success).toStrictEqual(false)
22
- expect(colorToken.safeParse({...validToken, $value: undefined}).success).toStrictEqual(false)
23
- expect(colorToken.safeParse({...validToken, $value: ''}).success).toStrictEqual(false)
24
- expect(colorToken.safeParse({...validToken, $value: false}).success).toStrictEqual(false)
25
- expect(colorToken.safeParse({...validToken, $value: 1}).success).toStrictEqual(false)
26
- })
27
- })
@@ -1,28 +0,0 @@
1
- import {dimensionToken} from './dimensionToken'
2
-
3
- describe('Schema: dimensionToken', () => {
4
- const validToken = {
5
- $value: '1px',
6
- $type: 'dimension',
7
- $description: 'a dimension token',
8
- }
9
-
10
- it('passes on valid values', () => {
11
- expect(dimensionToken.safeParse(validToken).success).toStrictEqual(true)
12
- expect(dimensionToken.safeParse({...validToken, $value: '1em'}).success).toStrictEqual(true)
13
- expect(dimensionToken.safeParse({...validToken, $value: '1rem'}).success).toStrictEqual(true)
14
- })
15
-
16
- it('fails on invalid type', () => {
17
- expect(dimensionToken.safeParse({...validToken, $type: 'stroke'}).success).toStrictEqual(false)
18
- })
19
-
20
- it('fails on invalid value', () => {
21
- expect(dimensionToken.safeParse({...validToken, $value: 'wrong'}).success).toStrictEqual(false)
22
- expect(dimensionToken.safeParse({...validToken, $value: '1%'}).success).toStrictEqual(false)
23
- expect(dimensionToken.safeParse({...validToken, $value: undefined}).success).toStrictEqual(false)
24
- expect(dimensionToken.safeParse({...validToken, $value: ''}).success).toStrictEqual(false)
25
- expect(dimensionToken.safeParse({...validToken, $value: false}).success).toStrictEqual(false)
26
- expect(dimensionToken.safeParse({...validToken, $value: 1}).success).toStrictEqual(false)
27
- })
28
- })
@@ -1,21 +0,0 @@
1
- import {dimensionValue} from './dimensionValue'
2
-
3
- describe('Schema: dimensionValue', () => {
4
- it('passes on valid values', () => {
5
- expect(dimensionValue.safeParse('1px').success).toStrictEqual(true)
6
- expect(dimensionValue.safeParse('-1px').success).toStrictEqual(true)
7
- expect(dimensionValue.safeParse('1em').success).toStrictEqual(true)
8
- expect(dimensionValue.safeParse('1rem').success).toStrictEqual(true)
9
- expect(dimensionValue.safeParse('0').success).toStrictEqual(true)
10
- expect(dimensionValue.safeParse(0).success).toStrictEqual(true)
11
- })
12
-
13
- it('fails on invalid value', () => {
14
- expect(dimensionValue.safeParse('1%').success).toStrictEqual(false)
15
- expect(dimensionValue.safeParse(1).success).toStrictEqual(false)
16
- expect(dimensionValue.safeParse('small').success).toStrictEqual(false)
17
- expect(dimensionValue.safeParse('').success).toStrictEqual(false)
18
- expect(dimensionValue.safeParse(false).success).toStrictEqual(false)
19
- expect(dimensionValue.safeParse(undefined).success).toStrictEqual(false)
20
- })
21
- })
@@ -1,58 +0,0 @@
1
- import {durationToken} from './durationToken'
2
-
3
- describe('Schema: durationToken', () => {
4
- const validToken = {
5
- $value: '1000ms',
6
- $type: 'duration',
7
- $description: '1000 milliseconds',
8
- }
9
-
10
- it('parses valid duration tokens', () => {
11
- expect(durationToken.safeParse(validToken).success).toStrictEqual(true)
12
- })
13
-
14
- it('fails on invalid properties', () => {
15
- // additional element
16
- expect(
17
- durationToken.safeParse({
18
- ...validToken,
19
- duration: '1000s',
20
- }).success,
21
- ).toStrictEqual(false)
22
- // missing value
23
- expect(
24
- durationToken.safeParse({
25
- $type: 'duration',
26
- }).success,
27
- ).toStrictEqual(false)
28
- // missing type
29
- expect(
30
- durationToken.safeParse({
31
- $value: '1000ms',
32
- }).success,
33
- ).toStrictEqual(false)
34
- })
35
-
36
- it('fails on wrong type', () => {
37
- // invalid string
38
- expect(
39
- durationToken.safeParse({
40
- ...validToken,
41
- $type: 'motion',
42
- }).success,
43
- ).toStrictEqual(false)
44
- // undefined
45
- expect(
46
- durationToken.safeParse({
47
- ...validToken,
48
- $type: undefined,
49
- }).success,
50
- ).toStrictEqual(false)
51
- // no type
52
- expect(
53
- durationToken.safeParse({
54
- $value: '1000ms',
55
- }).success,
56
- ).toStrictEqual(false)
57
- })
58
- })
@@ -1,25 +0,0 @@
1
- import {durationValue} from './durationValue'
2
-
3
- describe('Schema: durationValue', () => {
4
- it('passes on valid duration values', () => {
5
- expect(durationValue.safeParse('0ms').success).toStrictEqual(true)
6
- expect(durationValue.safeParse('100ms').success).toStrictEqual(true)
7
- expect(durationValue.safeParse('20000ms').success).toStrictEqual(true)
8
- })
9
-
10
- it('fails on invalid duration values', () => {
11
- expect(durationValue.safeParse(-1).success).toStrictEqual(false)
12
- expect(durationValue.safeParse(0).success).toStrictEqual(false)
13
- expect(durationValue.safeParse(1.1).success).toStrictEqual(false)
14
- expect(durationValue.safeParse('0').success).toStrictEqual(false)
15
- expect(durationValue.safeParse('10').success).toStrictEqual(false)
16
- expect(durationValue.safeParse('10s').success).toStrictEqual(false)
17
- expect(durationValue.safeParse('').success).toStrictEqual(false)
18
- })
19
-
20
- it('fails on non-string values', () => {
21
- expect(durationValue.safeParse(undefined).success).toStrictEqual(false)
22
- expect(durationValue.safeParse(null).success).toStrictEqual(false)
23
- expect(durationValue.safeParse(1).success).toStrictEqual(false)
24
- })
25
- })
@@ -1,82 +0,0 @@
1
- import {fontFamilyToken} from './fontFamilyToken'
2
-
3
- describe('Schema: fontFamilyToken', () => {
4
- const validToken = {
5
- $value: 'Helvetica',
6
- $type: 'fontFamily',
7
- $description: 'a fontFamily token',
8
- }
9
-
10
- it('parses valid number tokens', () => {
11
- expect(fontFamilyToken.safeParse(validToken).success).toStrictEqual(true)
12
- })
13
-
14
- it('fails on invalid properties', () => {
15
- // additional element
16
- expect(
17
- fontFamilyToken.safeParse({
18
- ...validToken,
19
- additional: 1000,
20
- }).success,
21
- ).toStrictEqual(false)
22
- // missing value
23
- expect(
24
- fontFamilyToken.safeParse({
25
- $type: 'fontWeight',
26
- }).success,
27
- ).toStrictEqual(false)
28
- // missing type
29
- expect(
30
- fontFamilyToken.safeParse({
31
- $value: 'Helvetica',
32
- }).success,
33
- ).toStrictEqual(false)
34
- })
35
-
36
- it('fails on wrong type', () => {
37
- // invalid string
38
- expect(
39
- fontFamilyToken.safeParse({
40
- ...validToken,
41
- $type: 'motion',
42
- }).success,
43
- ).toStrictEqual(false)
44
- // undefined
45
- expect(
46
- fontFamilyToken.safeParse({
47
- ...validToken,
48
- $type: undefined,
49
- }).success,
50
- ).toStrictEqual(false)
51
- // no type
52
- expect(
53
- fontFamilyToken.safeParse({
54
- $value: 'Helvetica',
55
- }).success,
56
- ).toStrictEqual(false)
57
- })
58
-
59
- it('fails on wrong value', () => {
60
- // invalid value
61
- expect(
62
- fontFamilyToken.safeParse({
63
- ...validToken,
64
- $value: 100,
65
- }).success,
66
- ).toStrictEqual(false)
67
- // undefined
68
- expect(
69
- fontFamilyToken.safeParse({
70
- ...validToken,
71
- $value: undefined,
72
- }).success,
73
- ).toStrictEqual(false)
74
- // boolean
75
- expect(
76
- fontFamilyToken.safeParse({
77
- ...validToken,
78
- $value: false,
79
- }).success,
80
- ).toStrictEqual(false)
81
- })
82
- })
@@ -1,88 +0,0 @@
1
- import {fontWeightToken} from './fontWeightToken'
2
-
3
- describe('Schema: fontWeightToken', () => {
4
- const validToken = {
5
- $value: 100,
6
- $type: 'fontWeight',
7
- $description: 'a fontWeight token',
8
- }
9
-
10
- it('parses valid number tokens', () => {
11
- expect(fontWeightToken.safeParse(validToken).success).toStrictEqual(true)
12
- })
13
-
14
- it('fails on invalid properties', () => {
15
- // additional element
16
- expect(
17
- fontWeightToken.safeParse({
18
- ...validToken,
19
- additional: 1000,
20
- }).success,
21
- ).toStrictEqual(false)
22
- // missing value
23
- expect(
24
- fontWeightToken.safeParse({
25
- $type: 'fontWeight',
26
- }).success,
27
- ).toStrictEqual(false)
28
- // missing type
29
- expect(
30
- fontWeightToken.safeParse({
31
- $value: 100,
32
- }).success,
33
- ).toStrictEqual(false)
34
- })
35
-
36
- it('fails on wrong type', () => {
37
- // invalid string
38
- expect(
39
- fontWeightToken.safeParse({
40
- ...validToken,
41
- $type: 'motion',
42
- }).success,
43
- ).toStrictEqual(false)
44
- // undefined
45
- expect(
46
- fontWeightToken.safeParse({
47
- ...validToken,
48
- $type: undefined,
49
- }).success,
50
- ).toStrictEqual(false)
51
- // no type
52
- expect(
53
- fontWeightToken.safeParse({
54
- $value: 100,
55
- }).success,
56
- ).toStrictEqual(false)
57
- })
58
-
59
- it('fails on wrong value', () => {
60
- // invalid string
61
- expect(
62
- fontWeightToken.safeParse({
63
- ...validToken,
64
- $value: 'string',
65
- }).success,
66
- ).toStrictEqual(false)
67
- // undefined
68
- expect(
69
- fontWeightToken.safeParse({
70
- ...validToken,
71
- $value: undefined,
72
- }).success,
73
- ).toStrictEqual(false)
74
- // boolean
75
- expect(
76
- fontWeightToken.safeParse({
77
- ...validToken,
78
- $value: false,
79
- }).success,
80
- ).toStrictEqual(false)
81
- // wrong value
82
- expect(
83
- fontWeightToken.safeParse({
84
- $value: 1500,
85
- }).success,
86
- ).toStrictEqual(false)
87
- })
88
- })
@@ -1,17 +0,0 @@
1
- import {fontWeightValue} from './fontWeightValue'
2
-
3
- describe('Schema: fontWeightValue', () => {
4
- const allowed = [100, 200, 300, 400, 500, 600, 700, 800, 900, 950]
5
-
6
- it('parses valid value', () => {
7
- for (const weight of allowed) {
8
- expect(fontWeightValue.safeParse(weight).success).toStrictEqual(true)
9
- }
10
- })
11
-
12
- it('fails on invalid values', () => {
13
- expect(fontWeightValue.safeParse(1200).success).toStrictEqual(false)
14
- expect(fontWeightValue.safeParse('100').success).toStrictEqual(false)
15
- expect(fontWeightValue.safeParse(false).success).toStrictEqual(false)
16
- })
17
- })
@@ -1,82 +0,0 @@
1
- import {numberToken} from './numberToken'
2
-
3
- describe('Schema: numberToken', () => {
4
- const validToken = {
5
- $value: 10,
6
- $type: 'number',
7
- $description: 'a number token',
8
- }
9
-
10
- it('parses valid number tokens', () => {
11
- expect(numberToken.safeParse(validToken).success).toStrictEqual(true)
12
- })
13
-
14
- it('fails on invalid properties', () => {
15
- // additional element
16
- expect(
17
- numberToken.safeParse({
18
- ...validToken,
19
- additional: 1000,
20
- }).success,
21
- ).toStrictEqual(false)
22
- // missing value
23
- expect(
24
- numberToken.safeParse({
25
- $type: 'number',
26
- }).success,
27
- ).toStrictEqual(false)
28
- // missing type
29
- expect(
30
- numberToken.safeParse({
31
- $value: 1000,
32
- }).success,
33
- ).toStrictEqual(false)
34
- })
35
-
36
- it('fails on wrong type', () => {
37
- // invalid string
38
- expect(
39
- numberToken.safeParse({
40
- ...validToken,
41
- $type: 'motion',
42
- }).success,
43
- ).toStrictEqual(false)
44
- // undefined
45
- expect(
46
- numberToken.safeParse({
47
- ...validToken,
48
- $type: undefined,
49
- }).success,
50
- ).toStrictEqual(false)
51
- // no type
52
- expect(
53
- numberToken.safeParse({
54
- $value: 1000,
55
- }).success,
56
- ).toStrictEqual(false)
57
- })
58
-
59
- it('fails on wrong value', () => {
60
- // invalid string
61
- expect(
62
- numberToken.safeParse({
63
- ...validToken,
64
- $value: 'string',
65
- }).success,
66
- ).toStrictEqual(false)
67
- // undefined
68
- expect(
69
- numberToken.safeParse({
70
- ...validToken,
71
- $value: undefined,
72
- }).success,
73
- ).toStrictEqual(false)
74
- // boolean
75
- expect(
76
- numberToken.safeParse({
77
- ...validToken,
78
- $value: false,
79
- }).success,
80
- ).toStrictEqual(false)
81
- })
82
- })
@@ -1,20 +0,0 @@
1
- import {referenceValue} from './referenceValue'
2
-
3
- describe('Schema: referenceValue', () => {
4
- it('returns success on valid reference', () => {
5
- expect(referenceValue.safeParse('{color.token}').success).toStrictEqual(true)
6
- expect(referenceValue.safeParse('{color.token.900}').success).toStrictEqual(true)
7
- expect(referenceValue.safeParse('{color.@}').success).toStrictEqual(true)
8
- })
9
-
10
- it('fails on invalid reference', () => {
11
- expect(referenceValue.safeParse('color.token').success).toStrictEqual(false)
12
- expect(referenceValue.safeParse('{color}').success).toStrictEqual(false)
13
- expect(referenceValue.safeParse('{color.@.token}').success).toStrictEqual(false)
14
- expect(referenceValue.safeParse('{}').success).toStrictEqual(false)
15
- expect(referenceValue.safeParse('').success).toStrictEqual(false)
16
- expect(referenceValue.safeParse(100).success).toStrictEqual(false)
17
- expect(referenceValue.safeParse(false).success).toStrictEqual(false)
18
- expect(referenceValue.safeParse(undefined).success).toStrictEqual(false)
19
- })
20
- })
@@ -1,33 +0,0 @@
1
- import {designToken} from './designToken'
2
-
3
- describe('Schema validation', () => {
4
- const validTokenJson = {
5
- parent: {
6
- color: {
7
- $value: '#000000',
8
- $type: 'color',
9
- $description: 'The color black',
10
- },
11
- duration: {
12
- $value: '1000ms',
13
- $type: 'duration',
14
- $description: '1000 milliseconds',
15
- },
16
- },
17
- }
18
-
19
- it('returns success on valid schema', () => {
20
- const parsedToken = designToken.safeParse(validTokenJson)
21
- expect(parsedToken.success).toStrictEqual(true)
22
- })
23
-
24
- it('returns success false on invalid schema', () => {
25
- const parsedToken = designToken.safeParse({
26
- color: {
27
- $value: '#000000',
28
- $type: 'colors',
29
- },
30
- })
31
- expect(parsedToken.success).toStrictEqual(false)
32
- })
33
- })
@@ -1,29 +0,0 @@
1
- import type {ValidScope} from './scopes'
2
- import {scopes} from './scopes'
3
-
4
- const validScopes: ValidScope[] = ['all', 'bgColor', 'fgColor', 'borderColor', 'size', 'gap', 'radius']
5
- const scopeSchema = scopes(validScopes)
6
-
7
- describe('Schema: scopes', () => {
8
- it('parses valid scopes', () => {
9
- expect(scopeSchema.safeParse(['all']).success).toStrictEqual(true)
10
- expect(scopeSchema.safeParse(['bgColor']).success).toStrictEqual(true)
11
- expect(scopeSchema.safeParse(['fgColor']).success).toStrictEqual(true)
12
- expect(scopeSchema.safeParse(['borderColor']).success).toStrictEqual(true)
13
- expect(scopeSchema.safeParse(['size']).success).toStrictEqual(true)
14
- expect(scopeSchema.safeParse(['gap']).success).toStrictEqual(true)
15
- expect(scopeSchema.safeParse(['radius']).success).toStrictEqual(true)
16
- expect(
17
- scopeSchema.safeParse(['all', 'bgColor', 'fgColor', 'borderColor', 'size', 'gap', 'radius']).success,
18
- ).toStrictEqual(true)
19
- expect(scopeSchema.safeParse([]).success).toStrictEqual(true)
20
- })
21
-
22
- it('fails on invalid scope', () => {
23
- expect(scopeSchema.safeParse(['invalid']).success).toStrictEqual(false)
24
- expect(scopeSchema.safeParse(['']).success).toStrictEqual(false)
25
- expect(scopeSchema.safeParse([1]).success).toStrictEqual(false)
26
- expect(scopeSchema.safeParse([false]).success).toStrictEqual(false)
27
- expect(scopeSchema.safeParse([undefined]).success).toStrictEqual(false)
28
- })
29
- })