@canonical/terrazzo-plugin-css 0.2.0 → 0.3.1

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 (330) hide show
  1. package/README.md +34 -9
  2. package/package.json +2 -2
  3. package/dist/esm/build/buildModifiers.js +0 -114
  4. package/dist/esm/build/buildModifiers.js.map +0 -1
  5. package/dist/esm/build/buildPrimitive.js +0 -78
  6. package/dist/esm/build/buildPrimitive.js.map +0 -1
  7. package/dist/esm/build/buildTheme.js +0 -95
  8. package/dist/esm/build/buildTheme.js.map +0 -1
  9. package/dist/esm/build/buildTypography.js +0 -78
  10. package/dist/esm/build/buildTypography.js.map +0 -1
  11. package/dist/esm/build/filterExtensions.js +0 -21
  12. package/dist/esm/build/filterExtensions.js.map +0 -1
  13. package/dist/esm/css-ast/addDeclUnique.js +0 -7
  14. package/dist/esm/css-ast/addDeclUnique.js.map +0 -1
  15. package/dist/esm/css-ast/decl.js +0 -4
  16. package/dist/esm/css-ast/decl.js.map +0 -1
  17. package/dist/esm/css-ast/hasDecl.js +0 -4
  18. package/dist/esm/css-ast/hasDecl.js.map +0 -1
  19. package/dist/esm/plugin/src/artifact/classifyTier.js +0 -7
  20. package/dist/esm/plugin/src/artifact/classifyTier.js.map +0 -1
  21. package/dist/esm/plugin/src/artifact/index.js +0 -5
  22. package/dist/esm/plugin/src/artifact/index.js.map +0 -1
  23. package/dist/esm/plugin/src/artifact/makeArtifactToken.js +0 -36
  24. package/dist/esm/plugin/src/artifact/makeArtifactToken.js.map +0 -1
  25. package/dist/esm/plugin/src/artifact/makeDerivedArtifactToken.js +0 -29
  26. package/dist/esm/plugin/src/artifact/makeDerivedArtifactToken.js.map +0 -1
  27. package/dist/esm/plugin/src/artifact/serializeArtifact.js +0 -4
  28. package/dist/esm/plugin/src/artifact/serializeArtifact.js.map +0 -1
  29. package/dist/esm/plugin/src/artifact/types.js +0 -2
  30. package/dist/esm/plugin/src/artifact/types.js.map +0 -1
  31. package/dist/esm/plugin/src/build/annotation.js +0 -70
  32. package/dist/esm/plugin/src/build/annotation.js.map +0 -1
  33. package/dist/esm/plugin/src/build/buildModifiers.js +0 -114
  34. package/dist/esm/plugin/src/build/buildModifiers.js.map +0 -1
  35. package/dist/esm/plugin/src/build/buildPrimitive.js +0 -78
  36. package/dist/esm/plugin/src/build/buildPrimitive.js.map +0 -1
  37. package/dist/esm/plugin/src/build/buildStates.js +0 -66
  38. package/dist/esm/plugin/src/build/buildStates.js.map +0 -1
  39. package/dist/esm/plugin/src/build/buildTheme.js +0 -95
  40. package/dist/esm/plugin/src/build/buildTheme.js.map +0 -1
  41. package/dist/esm/plugin/src/build/buildTypography.js +0 -78
  42. package/dist/esm/plugin/src/build/buildTypography.js.map +0 -1
  43. package/dist/esm/plugin/src/build/builders/buildDescriptionLookup.js +0 -11
  44. package/dist/esm/plugin/src/build/builders/buildDescriptionLookup.js.map +0 -1
  45. package/dist/esm/plugin/src/build/builders/buildFallbackChain.js +0 -22
  46. package/dist/esm/plugin/src/build/builders/buildFallbackChain.js.map +0 -1
  47. package/dist/esm/plugin/src/build/builders/buildModifierFamily.js +0 -41
  48. package/dist/esm/plugin/src/build/builders/buildModifierFamily.js.map +0 -1
  49. package/dist/esm/plugin/src/build/builders/buildModifiers.js +0 -2
  50. package/dist/esm/plugin/src/build/builders/buildModifiers.js.map +0 -1
  51. package/dist/esm/plugin/src/build/builders/buildPrimitive.js +0 -2
  52. package/dist/esm/plugin/src/build/builders/buildPrimitive.js.map +0 -1
  53. package/dist/esm/plugin/src/build/builders/buildSetsPrimitive.js +0 -58
  54. package/dist/esm/plugin/src/build/builders/buildSetsPrimitive.js.map +0 -1
  55. package/dist/esm/plugin/src/build/builders/buildSetsSemantic.js +0 -9
  56. package/dist/esm/plugin/src/build/builders/buildSetsSemantic.js.map +0 -1
  57. package/dist/esm/plugin/src/build/builders/buildStates.js +0 -47
  58. package/dist/esm/plugin/src/build/builders/buildStates.js.map +0 -1
  59. package/dist/esm/plugin/src/build/builders/buildSurfaces.js +0 -42
  60. package/dist/esm/plugin/src/build/builders/buildSurfaces.js.map +0 -1
  61. package/dist/esm/plugin/src/build/builders/buildTheme.js +0 -97
  62. package/dist/esm/plugin/src/build/builders/buildTheme.js.map +0 -1
  63. package/dist/esm/plugin/src/build/builders/buildTypography.js +0 -42
  64. package/dist/esm/plugin/src/build/builders/buildTypography.js.map +0 -1
  65. package/dist/esm/plugin/src/build/builders/convertCssValueToString.js +0 -12
  66. package/dist/esm/plugin/src/build/builders/convertCssValueToString.js.map +0 -1
  67. package/dist/esm/plugin/src/build/builders/emitTypographyDecls.js +0 -37
  68. package/dist/esm/plugin/src/build/builders/emitTypographyDecls.js.map +0 -1
  69. package/dist/esm/plugin/src/build/builders/index.js +0 -16
  70. package/dist/esm/plugin/src/build/builders/index.js.map +0 -1
  71. package/dist/esm/plugin/src/build/classification.js +0 -27
  72. package/dist/esm/plugin/src/build/classification.js.map +0 -1
  73. package/dist/esm/plugin/src/build/computeDeltas.js +0 -73
  74. package/dist/esm/plugin/src/build/computeDeltas.js.map +0 -1
  75. package/dist/esm/plugin/src/build/constants/format.js +0 -3
  76. package/dist/esm/plugin/src/build/constants/format.js.map +0 -1
  77. package/dist/esm/plugin/src/build/constants/header.js +0 -3
  78. package/dist/esm/plugin/src/build/constants/header.js.map +0 -1
  79. package/dist/esm/plugin/src/build/constants/interactiveRoles.js +0 -88
  80. package/dist/esm/plugin/src/build/constants/interactiveRoles.js.map +0 -1
  81. package/dist/esm/plugin/src/build/constants/surfaceSelectorMap.js +0 -7
  82. package/dist/esm/plugin/src/build/constants/surfaceSelectorMap.js.map +0 -1
  83. package/dist/esm/plugin/src/build/context.js +0 -2
  84. package/dist/esm/plugin/src/build/context.js.map +0 -1
  85. package/dist/esm/plugin/src/build/deltas.js +0 -178
  86. package/dist/esm/plugin/src/build/deltas.js.map +0 -1
  87. package/dist/esm/plugin/src/build/extractOklchL.js +0 -13
  88. package/dist/esm/plugin/src/build/extractOklchL.js.map +0 -1
  89. package/dist/esm/plugin/src/build/formatDelta.js +0 -5
  90. package/dist/esm/plugin/src/build/formatDelta.js.map +0 -1
  91. package/dist/esm/plugin/src/build/index.js +0 -14
  92. package/dist/esm/plugin/src/build/index.js.map +0 -1
  93. package/dist/esm/plugin/src/build/interactiveRoles.js +0 -88
  94. package/dist/esm/plugin/src/build/interactiveRoles.js.map +0 -1
  95. package/dist/esm/plugin/src/build/modifierIo.js +0 -105
  96. package/dist/esm/plugin/src/build/modifierIo.js.map +0 -1
  97. package/dist/esm/plugin/src/build/recoverPrimitiveRef.js +0 -26
  98. package/dist/esm/plugin/src/build/recoverPrimitiveRef.js.map +0 -1
  99. package/dist/esm/plugin/src/build/shims.js +0 -9
  100. package/dist/esm/plugin/src/build/shims.js.map +0 -1
  101. package/dist/esm/plugin/src/build/types.js +0 -2
  102. package/dist/esm/plugin/src/build/types.js.map +0 -1
  103. package/dist/esm/plugin/src/css-ast/addDeclarationUnique.js +0 -7
  104. package/dist/esm/plugin/src/css-ast/addDeclarationUnique.js.map +0 -1
  105. package/dist/esm/plugin/src/css-ast/createDeclaration.js +0 -4
  106. package/dist/esm/plugin/src/css-ast/createDeclaration.js.map +0 -1
  107. package/dist/esm/plugin/src/css-ast/decl.js +0 -4
  108. package/dist/esm/plugin/src/css-ast/decl.js.map +0 -1
  109. package/dist/esm/plugin/src/css-ast/declaration.js +0 -4
  110. package/dist/esm/plugin/src/css-ast/declaration.js.map +0 -1
  111. package/dist/esm/plugin/src/css-ast/hasDeclaration.js +0 -4
  112. package/dist/esm/plugin/src/css-ast/hasDeclaration.js.map +0 -1
  113. package/dist/esm/plugin/src/css-ast/index.js +0 -7
  114. package/dist/esm/plugin/src/css-ast/index.js.map +0 -1
  115. package/dist/esm/plugin/src/css-ast/printNode.js +0 -28
  116. package/dist/esm/plugin/src/css-ast/printNode.js.map +0 -1
  117. package/dist/esm/plugin/src/css-ast/printRules.js +0 -13
  118. package/dist/esm/plugin/src/css-ast/printRules.js.map +0 -1
  119. package/dist/esm/plugin/src/css-ast/rule.js +0 -4
  120. package/dist/esm/plugin/src/css-ast/rule.js.map +0 -1
  121. package/dist/esm/plugin/src/css-ast/types.js +0 -2
  122. package/dist/esm/plugin/src/css-ast/types.js.map +0 -1
  123. package/dist/esm/plugin/src/index.js +0 -14
  124. package/dist/esm/plugin/src/index.js.map +0 -1
  125. package/dist/esm/plugin/src/layers/index.js +0 -3
  126. package/dist/esm/plugin/src/layers/index.js.map +0 -1
  127. package/dist/esm/plugin/src/layers/resolveLayerConfig.js +0 -10
  128. package/dist/esm/plugin/src/layers/resolveLayerConfig.js.map +0 -1
  129. package/dist/esm/plugin/src/layers/types.js +0 -2
  130. package/dist/esm/plugin/src/layers/types.js.map +0 -1
  131. package/dist/esm/plugin/src/layers/wrapInLayer.js +0 -14
  132. package/dist/esm/plugin/src/layers/wrapInLayer.js.map +0 -1
  133. package/dist/esm/plugin/src/light-dark/buildLightDarkDeclarations.js +0 -14
  134. package/dist/esm/plugin/src/light-dark/buildLightDarkDeclarations.js.map +0 -1
  135. package/dist/esm/plugin/src/light-dark/index.js +0 -3
  136. package/dist/esm/plugin/src/light-dark/index.js.map +0 -1
  137. package/dist/esm/plugin/src/light-dark/types.js +0 -2
  138. package/dist/esm/plugin/src/light-dark/types.js.map +0 -1
  139. package/dist/esm/plugin/src/light-dark/wrapLightDark.js +0 -13
  140. package/dist/esm/plugin/src/light-dark/wrapLightDark.js.map +0 -1
  141. package/dist/esm/plugin/src/modifiers/buildModifierContextCSS.js +0 -11
  142. package/dist/esm/plugin/src/modifiers/buildModifierContextCSS.js.map +0 -1
  143. package/dist/esm/plugin/src/modifiers/computeModifierContext.js +0 -75
  144. package/dist/esm/plugin/src/modifiers/computeModifierContext.js.map +0 -1
  145. package/dist/esm/plugin/src/modifiers/getAliasTarget.js +0 -4
  146. package/dist/esm/plugin/src/modifiers/getAliasTarget.js.map +0 -1
  147. package/dist/esm/plugin/src/modifiers/index.js +0 -4
  148. package/dist/esm/plugin/src/modifiers/index.js.map +0 -1
  149. package/dist/esm/plugin/src/modifiers/types.js +0 -2
  150. package/dist/esm/plugin/src/modifiers/types.js.map +0 -1
  151. package/dist/esm/plugin/src/naming.js +0 -28
  152. package/dist/esm/plugin/src/naming.js.map +0 -1
  153. package/dist/esm/plugin/src/plugin/canonicalPlugin.js +0 -132
  154. package/dist/esm/plugin/src/plugin/canonicalPlugin.js.map +0 -1
  155. package/dist/esm/plugin/src/plugin/index.js +0 -6
  156. package/dist/esm/plugin/src/plugin/index.js.map +0 -1
  157. package/dist/esm/plugin/src/plugin/types.js +0 -2
  158. package/dist/esm/plugin/src/plugin/types.js.map +0 -1
  159. package/dist/esm/plugin/src/plugin.js +0 -134
  160. package/dist/esm/plugin/src/plugin.js.map +0 -1
  161. package/dist/esm/plugin/src/types.js +0 -8
  162. package/dist/esm/plugin/src/types.js.map +0 -1
  163. package/dist/esm/types/src/artifact/types.js +0 -34
  164. package/dist/esm/types/src/artifact/types.js.map +0 -1
  165. package/dist/esm/types/src/index.js +0 -2
  166. package/dist/esm/types/src/index.js.map +0 -1
  167. package/dist/types/build/buildModifiers.d.ts +0 -19
  168. package/dist/types/build/buildModifiers.d.ts.map +0 -1
  169. package/dist/types/build/buildPrimitive.d.ts +0 -15
  170. package/dist/types/build/buildPrimitive.d.ts.map +0 -1
  171. package/dist/types/build/buildTheme.d.ts +0 -4
  172. package/dist/types/build/buildTheme.d.ts.map +0 -1
  173. package/dist/types/build/buildTypography.d.ts +0 -5
  174. package/dist/types/build/buildTypography.d.ts.map +0 -1
  175. package/dist/types/build/filterExtensions.d.ts +0 -9
  176. package/dist/types/build/filterExtensions.d.ts.map +0 -1
  177. package/dist/types/css-ast/addDeclUnique.d.ts +0 -4
  178. package/dist/types/css-ast/addDeclUnique.d.ts.map +0 -1
  179. package/dist/types/css-ast/decl.d.ts +0 -4
  180. package/dist/types/css-ast/decl.d.ts.map +0 -1
  181. package/dist/types/css-ast/hasDecl.d.ts +0 -4
  182. package/dist/types/css-ast/hasDecl.d.ts.map +0 -1
  183. package/dist/types/plugin/src/artifact/classifyTier.d.ts +0 -10
  184. package/dist/types/plugin/src/artifact/classifyTier.d.ts.map +0 -1
  185. package/dist/types/plugin/src/artifact/index.d.ts +0 -5
  186. package/dist/types/plugin/src/artifact/index.d.ts.map +0 -1
  187. package/dist/types/plugin/src/artifact/makeArtifactToken.d.ts +0 -6
  188. package/dist/types/plugin/src/artifact/makeArtifactToken.d.ts.map +0 -1
  189. package/dist/types/plugin/src/artifact/makeDerivedArtifactToken.d.ts +0 -6
  190. package/dist/types/plugin/src/artifact/makeDerivedArtifactToken.d.ts.map +0 -1
  191. package/dist/types/plugin/src/artifact/serializeArtifact.d.ts +0 -6
  192. package/dist/types/plugin/src/artifact/serializeArtifact.d.ts.map +0 -1
  193. package/dist/types/plugin/src/artifact/types.d.ts +0 -28
  194. package/dist/types/plugin/src/artifact/types.d.ts.map +0 -1
  195. package/dist/types/plugin/src/build/annotation.d.ts +0 -14
  196. package/dist/types/plugin/src/build/annotation.d.ts.map +0 -1
  197. package/dist/types/plugin/src/build/buildModifiers.d.ts +0 -19
  198. package/dist/types/plugin/src/build/buildModifiers.d.ts.map +0 -1
  199. package/dist/types/plugin/src/build/buildPrimitive.d.ts +0 -15
  200. package/dist/types/plugin/src/build/buildPrimitive.d.ts.map +0 -1
  201. package/dist/types/plugin/src/build/buildStates.d.ts +0 -11
  202. package/dist/types/plugin/src/build/buildStates.d.ts.map +0 -1
  203. package/dist/types/plugin/src/build/buildTheme.d.ts +0 -4
  204. package/dist/types/plugin/src/build/buildTheme.d.ts.map +0 -1
  205. package/dist/types/plugin/src/build/buildTypography.d.ts +0 -5
  206. package/dist/types/plugin/src/build/buildTypography.d.ts.map +0 -1
  207. package/dist/types/plugin/src/build/builders/buildDescriptionLookup.d.ts +0 -3
  208. package/dist/types/plugin/src/build/builders/buildDescriptionLookup.d.ts.map +0 -1
  209. package/dist/types/plugin/src/build/builders/buildFallbackChain.d.ts +0 -8
  210. package/dist/types/plugin/src/build/builders/buildFallbackChain.d.ts.map +0 -1
  211. package/dist/types/plugin/src/build/builders/buildModifierFamily.d.ts +0 -6
  212. package/dist/types/plugin/src/build/builders/buildModifierFamily.d.ts.map +0 -1
  213. package/dist/types/plugin/src/build/builders/buildModifiers.d.ts +0 -3
  214. package/dist/types/plugin/src/build/builders/buildModifiers.d.ts.map +0 -1
  215. package/dist/types/plugin/src/build/builders/buildPrimitive.d.ts +0 -3
  216. package/dist/types/plugin/src/build/builders/buildPrimitive.d.ts.map +0 -1
  217. package/dist/types/plugin/src/build/builders/buildSetsPrimitive.d.ts +0 -6
  218. package/dist/types/plugin/src/build/builders/buildSetsPrimitive.d.ts.map +0 -1
  219. package/dist/types/plugin/src/build/builders/buildSetsSemantic.d.ts +0 -5
  220. package/dist/types/plugin/src/build/builders/buildSetsSemantic.d.ts.map +0 -1
  221. package/dist/types/plugin/src/build/builders/buildStates.d.ts +0 -6
  222. package/dist/types/plugin/src/build/builders/buildStates.d.ts.map +0 -1
  223. package/dist/types/plugin/src/build/builders/buildSurfaces.d.ts +0 -6
  224. package/dist/types/plugin/src/build/builders/buildSurfaces.d.ts.map +0 -1
  225. package/dist/types/plugin/src/build/builders/buildTheme.d.ts +0 -6
  226. package/dist/types/plugin/src/build/builders/buildTheme.d.ts.map +0 -1
  227. package/dist/types/plugin/src/build/builders/buildTypography.d.ts +0 -9
  228. package/dist/types/plugin/src/build/builders/buildTypography.d.ts.map +0 -1
  229. package/dist/types/plugin/src/build/builders/convertCssValueToString.d.ts +0 -6
  230. package/dist/types/plugin/src/build/builders/convertCssValueToString.d.ts.map +0 -1
  231. package/dist/types/plugin/src/build/builders/emitTypographyDecls.d.ts +0 -5
  232. package/dist/types/plugin/src/build/builders/emitTypographyDecls.d.ts.map +0 -1
  233. package/dist/types/plugin/src/build/builders/index.d.ts +0 -16
  234. package/dist/types/plugin/src/build/builders/index.d.ts.map +0 -1
  235. package/dist/types/plugin/src/build/classification.d.ts +0 -13
  236. package/dist/types/plugin/src/build/classification.d.ts.map +0 -1
  237. package/dist/types/plugin/src/build/computeDeltas.d.ts +0 -17
  238. package/dist/types/plugin/src/build/computeDeltas.d.ts.map +0 -1
  239. package/dist/types/plugin/src/build/constants/format.d.ts +0 -3
  240. package/dist/types/plugin/src/build/constants/format.d.ts.map +0 -1
  241. package/dist/types/plugin/src/build/constants/header.d.ts +0 -3
  242. package/dist/types/plugin/src/build/constants/header.d.ts.map +0 -1
  243. package/dist/types/plugin/src/build/constants/interactiveRoles.d.ts +0 -4
  244. package/dist/types/plugin/src/build/constants/interactiveRoles.d.ts.map +0 -1
  245. package/dist/types/plugin/src/build/constants/surfaceSelectorMap.d.ts +0 -3
  246. package/dist/types/plugin/src/build/constants/surfaceSelectorMap.d.ts.map +0 -1
  247. package/dist/types/plugin/src/build/context.d.ts +0 -30
  248. package/dist/types/plugin/src/build/context.d.ts.map +0 -1
  249. package/dist/types/plugin/src/build/deltas.d.ts +0 -27
  250. package/dist/types/plugin/src/build/deltas.d.ts.map +0 -1
  251. package/dist/types/plugin/src/build/extractOklchL.d.ts +0 -2
  252. package/dist/types/plugin/src/build/extractOklchL.d.ts.map +0 -1
  253. package/dist/types/plugin/src/build/formatDelta.d.ts +0 -2
  254. package/dist/types/plugin/src/build/formatDelta.d.ts.map +0 -1
  255. package/dist/types/plugin/src/build/index.d.ts +0 -17
  256. package/dist/types/plugin/src/build/index.d.ts.map +0 -1
  257. package/dist/types/plugin/src/build/interactiveRoles.d.ts +0 -4
  258. package/dist/types/plugin/src/build/interactiveRoles.d.ts.map +0 -1
  259. package/dist/types/plugin/src/build/modifierIo.d.ts +0 -40
  260. package/dist/types/plugin/src/build/modifierIo.d.ts.map +0 -1
  261. package/dist/types/plugin/src/build/recoverPrimitiveRef.d.ts +0 -17
  262. package/dist/types/plugin/src/build/recoverPrimitiveRef.d.ts.map +0 -1
  263. package/dist/types/plugin/src/build/shims.d.ts +0 -57
  264. package/dist/types/plugin/src/build/shims.d.ts.map +0 -1
  265. package/dist/types/plugin/src/build/types.d.ts +0 -51
  266. package/dist/types/plugin/src/build/types.d.ts.map +0 -1
  267. package/dist/types/plugin/src/css-ast/addDeclarationUnique.d.ts +0 -3
  268. package/dist/types/plugin/src/css-ast/addDeclarationUnique.d.ts.map +0 -1
  269. package/dist/types/plugin/src/css-ast/createDeclaration.d.ts +0 -4
  270. package/dist/types/plugin/src/css-ast/createDeclaration.d.ts.map +0 -1
  271. package/dist/types/plugin/src/css-ast/decl.d.ts +0 -4
  272. package/dist/types/plugin/src/css-ast/decl.d.ts.map +0 -1
  273. package/dist/types/plugin/src/css-ast/declaration.d.ts +0 -4
  274. package/dist/types/plugin/src/css-ast/declaration.d.ts.map +0 -1
  275. package/dist/types/plugin/src/css-ast/hasDeclaration.d.ts +0 -3
  276. package/dist/types/plugin/src/css-ast/hasDeclaration.d.ts.map +0 -1
  277. package/dist/types/plugin/src/css-ast/index.d.ts +0 -7
  278. package/dist/types/plugin/src/css-ast/index.d.ts.map +0 -1
  279. package/dist/types/plugin/src/css-ast/printNode.d.ts +0 -7
  280. package/dist/types/plugin/src/css-ast/printNode.d.ts.map +0 -1
  281. package/dist/types/plugin/src/css-ast/printRules.d.ts +0 -4
  282. package/dist/types/plugin/src/css-ast/printRules.d.ts.map +0 -1
  283. package/dist/types/plugin/src/css-ast/rule.d.ts +0 -4
  284. package/dist/types/plugin/src/css-ast/rule.d.ts.map +0 -1
  285. package/dist/types/plugin/src/css-ast/types.d.ts +0 -21
  286. package/dist/types/plugin/src/css-ast/types.d.ts.map +0 -1
  287. package/dist/types/plugin/src/index.d.ts +0 -15
  288. package/dist/types/plugin/src/index.d.ts.map +0 -1
  289. package/dist/types/plugin/src/layers/index.d.ts +0 -3
  290. package/dist/types/plugin/src/layers/index.d.ts.map +0 -1
  291. package/dist/types/plugin/src/layers/resolveLayerConfig.d.ts +0 -6
  292. package/dist/types/plugin/src/layers/resolveLayerConfig.d.ts.map +0 -1
  293. package/dist/types/plugin/src/layers/types.d.ts +0 -19
  294. package/dist/types/plugin/src/layers/types.d.ts.map +0 -1
  295. package/dist/types/plugin/src/layers/wrapInLayer.d.ts +0 -3
  296. package/dist/types/plugin/src/layers/wrapInLayer.d.ts.map +0 -1
  297. package/dist/types/plugin/src/light-dark/buildLightDarkDeclarations.d.ts +0 -3
  298. package/dist/types/plugin/src/light-dark/buildLightDarkDeclarations.d.ts.map +0 -1
  299. package/dist/types/plugin/src/light-dark/index.d.ts +0 -3
  300. package/dist/types/plugin/src/light-dark/index.d.ts.map +0 -1
  301. package/dist/types/plugin/src/light-dark/types.d.ts +0 -50
  302. package/dist/types/plugin/src/light-dark/types.d.ts.map +0 -1
  303. package/dist/types/plugin/src/light-dark/wrapLightDark.d.ts +0 -8
  304. package/dist/types/plugin/src/light-dark/wrapLightDark.d.ts.map +0 -1
  305. package/dist/types/plugin/src/modifiers/buildModifierContextCSS.d.ts +0 -3
  306. package/dist/types/plugin/src/modifiers/buildModifierContextCSS.d.ts.map +0 -1
  307. package/dist/types/plugin/src/modifiers/computeModifierContext.d.ts +0 -3
  308. package/dist/types/plugin/src/modifiers/computeModifierContext.d.ts.map +0 -1
  309. package/dist/types/plugin/src/modifiers/getAliasTarget.d.ts +0 -6
  310. package/dist/types/plugin/src/modifiers/getAliasTarget.d.ts.map +0 -1
  311. package/dist/types/plugin/src/modifiers/index.d.ts +0 -4
  312. package/dist/types/plugin/src/modifiers/index.d.ts.map +0 -1
  313. package/dist/types/plugin/src/modifiers/types.d.ts +0 -42
  314. package/dist/types/plugin/src/modifiers/types.d.ts.map +0 -1
  315. package/dist/types/plugin/src/naming.d.ts +0 -19
  316. package/dist/types/plugin/src/naming.d.ts.map +0 -1
  317. package/dist/types/plugin/src/plugin/canonicalPlugin.d.ts +0 -18
  318. package/dist/types/plugin/src/plugin/canonicalPlugin.d.ts.map +0 -1
  319. package/dist/types/plugin/src/plugin/index.d.ts +0 -7
  320. package/dist/types/plugin/src/plugin/index.d.ts.map +0 -1
  321. package/dist/types/plugin/src/plugin/types.d.ts +0 -36
  322. package/dist/types/plugin/src/plugin/types.d.ts.map +0 -1
  323. package/dist/types/plugin/src/plugin.d.ts +0 -18
  324. package/dist/types/plugin/src/plugin.d.ts.map +0 -1
  325. package/dist/types/plugin/src/types.d.ts +0 -188
  326. package/dist/types/plugin/src/types.d.ts.map +0 -1
  327. package/dist/types/types/src/artifact/types.d.ts +0 -152
  328. package/dist/types/types/src/artifact/types.d.ts.map +0 -1
  329. package/dist/types/types/src/index.d.ts +0 -3
  330. package/dist/types/types/src/index.d.ts.map +0 -1
package/README.md CHANGED
@@ -1,13 +1,6 @@
1
1
  # @canonical/terrazzo-plugin-css
2
2
 
3
- Terrazzo CSS plugin for Canonical design tokens. Transforms DTCG token definitions into CSS custom properties.
4
-
5
- ## Features
6
-
7
- - CSS `light-dark()` colour mode output
8
- - Modifier families (criticality, emphasis, importance, surface, typography)
9
- - `@layer` ordering
10
- - `@media` query scoping for mode variants
3
+ Terrazzo CSS plugin for Canonical design tokens. Transforms DTCG token definitions into CSS custom properties with `light-dark()` colour mode output, modifier families, `@layer` ordering, and `@media` scoping.
11
4
 
12
5
  ## Installation
13
6
 
@@ -30,16 +23,48 @@ export default defineConfig({
30
23
  });
31
24
  ```
32
25
 
26
+ The plugin produces CSS files and a `tokens.json` artifact in the output directory. The `tokens.json` file is the bridge between the build system and the LSP — it contains every token's resolved value, type, tier, alias chain, and CSS output file location.
27
+
33
28
  ## Configuration
34
29
 
35
30
  `canonicalPlugin()` accepts an options object:
36
31
 
37
32
  ```ts
38
33
  canonicalPlugin({
39
- tokensDir: "./tokens/canonical", // Base directory for token sources
34
+ tokensDir: "./tokens/canonical", // Base directory for token sources (default)
35
+ families: [ // Modifier family names
36
+ "anticipation",
37
+ "criticality",
38
+ "emphasis",
39
+ "importance",
40
+ ],
41
+ layers: { /* @layer name overrides */ },
42
+ sets: { // Primitive / semantic set configuration
43
+ primitive: { /* ... */ },
44
+ semantic: { /* ... */ },
45
+ },
46
+ theme: { /* light/dark theme config */ },
47
+ typography: { /* typography modifier config */ },
48
+ surfaces: { /* surface selector mapping */ },
49
+ states: { /* interactive state derivation */ },
50
+ motion: { /* prefers-reduced-motion scoping */ },
51
+ contrast: { /* prefers-contrast scoping */ },
40
52
  });
41
53
  ```
42
54
 
55
+ | Option | Description |
56
+ |--------|-------------|
57
+ | `tokensDir` | Base directory for token source files. Used to locate modifier sources and read DTCG alias targets. Default: `"./tokens/canonical"`. |
58
+ | `families` | Modifier family names to generate (e.g. `"criticality"`, `"emphasis"`). Default: `["anticipation", "criticality", "emphasis", "importance"]`. |
59
+ | `layers` | CSS `@layer` name overrides for controlling specificity ordering. |
60
+ | `sets` | Configuration for primitive and semantic token sets. |
61
+ | `theme` | Light/dark theme modifier — controls `light-dark()` output and `color-scheme` declarations. |
62
+ | `typography` | Typography modifier configuration. |
63
+ | `surfaces` | Maps resolver context names to CSS selectors. See [documentation/surfaces.md](../../documentation/surfaces.md). |
64
+ | `states` | Interactive state derivation layer (hover, active, disabled). |
65
+ | `motion` | `@media (prefers-reduced-motion)` scoping configuration. |
66
+ | `contrast` | `@media (prefers-contrast)` scoping configuration. |
67
+
43
68
  ## Development
44
69
 
45
70
  ```bash
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@canonical/terrazzo-plugin-css",
3
- "version": "0.2.0",
3
+ "version": "0.3.1",
4
4
  "description": "Terrazzo CSS plugin for Canonical design tokens. Transforms DTCG tokens into CSS custom properties with light-dark(), modifier families, @layer ordering, and @media scoping.",
5
5
  "type": "module",
6
6
  "license": "LGPL-3.0",
@@ -49,7 +49,7 @@
49
49
  "test:coverage": "vitest run --coverage"
50
50
  },
51
51
  "dependencies": {
52
- "@canonical/token-types": "^0.2.0"
52
+ "@canonical/token-types": "^0.3.1"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@canonical/webarchitect": "^0.17.1",
@@ -1,114 +0,0 @@
1
- /**
2
- * Build helpers for modifiers.{family}.css and modifiers.surfaces.css.
3
- */
4
- import { makeDerivedArtifactToken } from "../artifact/index.js";
5
- import { printRules } from "../css-ast/index.js";
6
- import { wrapInLayer } from "../layers/index.js";
7
- import { buildModifierContextCSS, computeModifierContext, } from "../modifiers/index.js";
8
- import { convertTokenIdToCssVar, prefixVar } from "../naming.js";
9
- import { HEADER } from "./buildPrimitive.js";
10
- import { loadModifierData } from "./modifierIo.js";
11
- // ---------------------------------------------------------------------------
12
- // Description lookup helper
13
- // ---------------------------------------------------------------------------
14
- /**
15
- * Build a map from channel CSS variable to description.
16
- *
17
- * Converts token IDs (e.g. `color.foreground.primary`) into their
18
- * channel CSS var form (e.g. `--modifier-color-foreground-primary`)
19
- * and maps each to its description.
20
- */
21
- export function buildDescriptionLookup(descriptions, prefix) {
22
- const lookup = {};
23
- for (const [tokenId, desc] of Object.entries(descriptions)) {
24
- const channelVar = prefixVar(convertTokenIdToCssVar(tokenId), prefix);
25
- lookup[channelVar] = desc;
26
- }
27
- return lookup;
28
- }
29
- // ---------------------------------------------------------------------------
30
- // Surface selector map
31
- // ---------------------------------------------------------------------------
32
- /**
33
- * Surface selector compounding: map resolver context names to compound
34
- * `.surface` descendant selectors based on depth.
35
- */
36
- export const SURFACE_SELECTOR_MAP = {
37
- layer1: ".surface",
38
- layer2: ".surface .surface",
39
- layer3: ".surface .surface .surface",
40
- };
41
- // ---------------------------------------------------------------------------
42
- // Family build
43
- // ---------------------------------------------------------------------------
44
- /** @note Mutates `artifact`, calls `outputFile` and `loadModifierData` (file I/O). */
45
- export function buildFamily(family, resolver, layers, artifact, outputFile, tokensDir) {
46
- const baseTokens = resolver.apply({});
47
- const modifiers = resolver.source?.modifiers;
48
- const familyMod = modifiers?.[family];
49
- if (!familyMod?.contexts)
50
- return;
51
- const allNodes = [];
52
- for (const context of Object.keys(familyMod.contexts)) {
53
- if (context === "none")
54
- continue; // skip the empty default context
55
- const { aliases: aliasMap, descriptions } = loadModifierData(tokensDir, family, context);
56
- const overlayTokens = resolver.apply({ [family]: context });
57
- // Build channel-var → description lookup
58
- const descByChannelVar = buildDescriptionLookup(descriptions, "modifier");
59
- const ctx = computeModifierContext(family, context, baseTokens, overlayTokens, "modifier", aliasMap);
60
- const nodes = buildModifierContextCSS(ctx);
61
- allNodes.push(...nodes);
62
- // Register channel declarations in artifact
63
- for (const d of ctx.declarations) {
64
- artifact[d.property] = makeDerivedArtifactToken({
65
- cssVar: d.property,
66
- type: "color",
67
- tier: "semantic",
68
- cssOutputFile: `modifiers.${family}.css`,
69
- derivedFrom: d.value.replace(/^var\(/, "").replace(/\)$/, ""),
70
- derivation: "channel-modifier",
71
- description: descByChannelVar[d.property],
72
- });
73
- }
74
- }
75
- const wrapped = wrapInLayer(layers.modifiers, allNodes);
76
- outputFile(`modifiers.${family}.css`, `${HEADER}\n${printRules(wrapped)}\n`);
77
- }
78
- // ---------------------------------------------------------------------------
79
- // Surfaces build
80
- // ---------------------------------------------------------------------------
81
- /** @note Mutates `artifact`, calls `outputFile` and `loadModifierData` (file I/O). */
82
- export function buildSurfaces(resolver, layers, artifact, outputFile, tokensDir) {
83
- const baseTokens = resolver.apply({});
84
- const modifiers = resolver.source?.modifiers;
85
- const surfaceMod = modifiers?.surface;
86
- if (!surfaceMod?.contexts)
87
- return;
88
- const allNodes = [];
89
- for (const context of Object.keys(surfaceMod.contexts)) {
90
- if (context === "none")
91
- continue; // skip the empty default context
92
- const { aliases: aliasMap, descriptions } = loadModifierData(tokensDir, "surface", context);
93
- const overlayTokens = resolver.apply({ surface: context });
94
- // Build channel-var → description lookup
95
- const descByChannelVar = buildDescriptionLookup(descriptions, "surface");
96
- const ctx = computeModifierContext("surface", context, baseTokens, overlayTokens, "surface", aliasMap, SURFACE_SELECTOR_MAP[context]);
97
- const nodes = buildModifierContextCSS(ctx);
98
- allNodes.push(...nodes);
99
- for (const d of ctx.declarations) {
100
- artifact[d.property] = makeDerivedArtifactToken({
101
- cssVar: d.property,
102
- type: "color",
103
- tier: "semantic",
104
- cssOutputFile: "modifiers.surfaces.css",
105
- derivedFrom: d.value.replace(/^var\(/, "").replace(/\)$/, ""),
106
- derivation: "channel-surface",
107
- description: descByChannelVar[d.property],
108
- });
109
- }
110
- }
111
- const wrapped = wrapInLayer(layers.surfaces, allNodes);
112
- outputFile("modifiers.surfaces.css", `${HEADER}\n${printRules(wrapped)}\n`);
113
- }
114
- //# sourceMappingURL=buildModifiers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildModifiers.js","sourceRoot":"","sources":["../../../src/build/buildModifiers.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EACL,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAQ7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,YAAoC,EACpC,MAAc;IAEd,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;QAC3D,MAAM,UAAU,GAAG,SAAS,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC;QACtE,MAAM,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAC5B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAA2B;IAC1D,MAAM,EAAE,UAAU;IAClB,MAAM,EAAE,mBAAmB;IAC3B,MAAM,EAAE,4BAA4B;CACrC,CAAC;AAEF,8EAA8E;AAC9E,eAAe;AACf,8EAA8E;AAE9E,sFAAsF;AACtF,MAAM,UAAU,WAAW,CACzB,MAAc,EACd,QAAsB,EACtB,MAA2B,EAC3B,QAAkB,EAClB,UAAwB,EACxB,SAAiB;IAEjB,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC7C,MAAM,SAAS,GAAG,SAAS,EAAE,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,SAAS,EAAE,QAAQ;QAAE,OAAO;IAEjC,MAAM,QAAQ,GAAoC,EAAE,CAAC;IAErD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtD,IAAI,OAAO,KAAK,MAAM;YAAE,SAAS,CAAC,iCAAiC;QACnE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAC1D,SAAS,EACT,MAAM,EACN,OAAO,CACR,CAAC;QACF,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAE5D,yCAAyC;QACzC,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QAE1E,MAAM,GAAG,GAAG,sBAAsB,CAChC,MAAM,EACN,OAAO,EACP,UAA0C,EAC1C,aAA6C,EAC7C,UAAU,EACV,QAAQ,CACT,CAAC;QAEF,MAAM,KAAK,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QAExB,4CAA4C;QAC5C,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;YACjC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,wBAAwB,CAAC;gBAC9C,MAAM,EAAE,CAAC,CAAC,QAAQ;gBAClB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,UAAU;gBAChB,aAAa,EAAE,aAAa,MAAM,MAAM;gBACxC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC7D,UAAU,EAAE,kBAAkB;gBAC9B,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC;aAC1C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACxD,UAAU,CAAC,aAAa,MAAM,MAAM,EAAE,GAAG,MAAM,KAAK,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC/E,CAAC;AAED,8EAA8E;AAC9E,iBAAiB;AACjB,8EAA8E;AAE9E,sFAAsF;AACtF,MAAM,UAAU,aAAa,CAC3B,QAAsB,EACtB,MAA2B,EAC3B,QAAkB,EAClB,UAAwB,EACxB,SAAiB;IAEjB,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC7C,MAAM,UAAU,GAAG,SAAS,EAAE,OAAO,CAAC;IACtC,IAAI,CAAC,UAAU,EAAE,QAAQ;QAAE,OAAO;IAElC,MAAM,QAAQ,GAAoC,EAAE,CAAC;IAErD,KAAK,MAAM,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACvD,IAAI,OAAO,KAAK,MAAM;YAAE,SAAS,CAAC,iCAAiC;QACnE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,gBAAgB,CAC1D,SAAS,EACT,SAAS,EACT,OAAO,CACR,CAAC;QACF,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;QAE3D,yCAAyC;QACzC,MAAM,gBAAgB,GAAG,sBAAsB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QAEzE,MAAM,GAAG,GAAG,sBAAsB,CAChC,SAAS,EACT,OAAO,EACP,UAA0C,EAC1C,aAA6C,EAC7C,SAAS,EACT,QAAQ,EACR,oBAAoB,CAAC,OAAO,CAAC,CAC9B,CAAC;QAEF,MAAM,KAAK,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAC3C,QAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC;QAExB,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,YAAY,EAAE,CAAC;YACjC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,wBAAwB,CAAC;gBAC9C,MAAM,EAAE,CAAC,CAAC,QAAQ;gBAClB,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,UAAU;gBAChB,aAAa,EAAE,wBAAwB;gBACvC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;gBAC7D,UAAU,EAAE,iBAAiB;gBAC7B,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC;aAC1C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IACvD,UAAU,CAAC,wBAAwB,EAAE,GAAG,MAAM,KAAK,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9E,CAAC"}
@@ -1,78 +0,0 @@
1
- import { makeArtifactToken } from "../artifact/index.js";
2
- import { createDecl, createRule, printRules } from "../css-ast/index.js";
3
- import { wrapInLayer } from "../layers/index.js";
4
- import { convertTokenIdToCssVar } from "../naming.js";
5
- import { isPrimitive } from "./classification.js";
6
- /** Plugin output format identifier. */
7
- const FORMAT = "canonical-css";
8
- const HEADER = "/* Generated by @canonical/terrazzo-plugin-css. DO NOT EDIT. */";
9
- /**
10
- * Convert a Terrazzo CSS value (string or multi-value record) to a plain string.
11
- * Returns `null` for multi-value composites (typography).
12
- */
13
- export function convertCssValueToString(val) {
14
- if (typeof val === "string")
15
- return val;
16
- if ("." in val)
17
- return val["."]; // WideGamutColorValue sRGB fallback
18
- return null; // multi-value (typography)
19
- }
20
- /** @note Mutates `artifact`, calls `outputFile`. */
21
- export function buildSetsPrimitive(getTransforms, layers, artifact, outputFile) {
22
- const transforms = getTransforms({ format: FORMAT });
23
- const nodes = [];
24
- for (const t of transforms) {
25
- if (!isPrimitive(t.id))
26
- continue;
27
- if (t.id.startsWith("number."))
28
- continue;
29
- // Skip dark / per-product permutations — only use the base
30
- if (t.input &&
31
- Object.keys(t.input).some((k) => k === "theme" && t.input[k] !== "light"))
32
- continue;
33
- if (t.input && "typography" in t.input && t.input.typography !== "global")
34
- continue;
35
- const cssVar = t.localID ?? convertTokenIdToCssVar(t.id);
36
- if (t.type === "SINGLE_VALUE") {
37
- nodes.push(createDecl(cssVar, t.value));
38
- artifact[cssVar] = makeArtifactToken({
39
- cssVar,
40
- id: t.id,
41
- type: t.token.$type ?? "unknown",
42
- tier: "primitive",
43
- cssOutputFile: "sets.primitive.css",
44
- description: t.token.$description,
45
- valueLight: t.value,
46
- valueDark: t.value,
47
- });
48
- }
49
- else {
50
- // Multi-value — emit each sub-property
51
- for (const [suffix, val] of Object.entries(t.value)) {
52
- const subVar = `${cssVar}-${suffix}`;
53
- nodes.push(createDecl(subVar, val));
54
- artifact[subVar] = makeArtifactToken({
55
- cssVar: subVar,
56
- id: `${t.id}.${suffix}`,
57
- type: t.token.$type ?? "unknown",
58
- tier: "primitive",
59
- cssOutputFile: "sets.primitive.css",
60
- description: t.token.$description,
61
- valueLight: val,
62
- valueDark: val,
63
- });
64
- }
65
- }
66
- }
67
- const wrapped = wrapInLayer(layers.tokens, [createRule([":root"], nodes)]);
68
- outputFile("sets.primitive.css", `${HEADER}\n${printRules(wrapped)}\n`);
69
- }
70
- /** @note Calls `outputFile`. */
71
- export function buildSetsSemantic(_layers, outputFile) {
72
- // In V2, most semantic tokens come via modifier contexts (theme, typography).
73
- // This file may be empty. Emit a comment-only placeholder.
74
- const comment = "/* sets.semantic.css — no mode-invariant semantic tokens in V2. */";
75
- outputFile("sets.semantic.css", `${HEADER}\n${comment}\n`);
76
- }
77
- export { FORMAT, HEADER };
78
- //# sourceMappingURL=buildPrimitive.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildPrimitive.js","sourceRoot":"","sources":["../../../src/build/buildPrimitive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AASlD,uCAAuC;AACvC,MAAM,MAAM,GAAG,eAAe,CAAC;AAC/B,MAAM,MAAM,GACV,iEAAiE,CAAC;AAEpE;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,GAAoC;IAEpC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,IAAI,GAAG,IAAI,GAAG;QAAE,OAAO,GAAG,CAAC,GAAG,CAAW,CAAC,CAAC,oCAAoC;IAC/E,OAAO,IAAI,CAAC,CAAC,2BAA2B;AAC1C,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,kBAAkB,CAChC,aAA8B,EAC9B,MAA2B,EAC3B,QAAkB,EAClB,UAAwB;IAExB,MAAM,UAAU,GAAG,aAAa,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IACrD,MAAM,KAAK,GAAc,EAAE,CAAC;IAE5B,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YAAE,SAAS;QACjC,IAAI,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC;YAAE,SAAS;QACzC,2DAA2D;QAC3D,IACE,CAAC,CAAC,KAAK;YACP,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;YAEzE,SAAS;QACX,IAAI,CAAC,CAAC,KAAK,IAAI,YAAY,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,QAAQ;YACvE,SAAS;QAEX,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,IAAI,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACxC,QAAQ,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC;gBACnC,MAAM;gBACN,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,SAAS;gBAChC,IAAI,EAAE,WAAW;gBACjB,aAAa,EAAE,oBAAoB;gBACnC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY;gBACjC,UAAU,EAAE,CAAC,CAAC,KAAK;gBACnB,SAAS,EAAE,CAAC,CAAC,KAAK;aACnB,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,uCAAuC;YACvC,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBACpD,MAAM,MAAM,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAC;gBACrC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;gBACpC,QAAQ,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC;oBACnC,MAAM,EAAE,MAAM;oBACd,EAAE,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,MAAM,EAAE;oBACvB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,SAAS;oBAChC,IAAI,EAAE,WAAW;oBACjB,aAAa,EAAE,oBAAoB;oBACnC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY;oBACjC,UAAU,EAAE,GAAG;oBACf,SAAS,EAAE,GAAG;iBACf,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3E,UAAU,CAAC,oBAAoB,EAAE,GAAG,MAAM,KAAK,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC1E,CAAC;AAED,gCAAgC;AAChC,MAAM,UAAU,iBAAiB,CAC/B,OAA4B,EAC5B,UAAwB;IAExB,8EAA8E;IAC9E,4DAA4D;IAC5D,MAAM,OAAO,GACX,oEAAoE,CAAC;IACvE,UAAU,CAAC,mBAAmB,EAAE,GAAG,MAAM,KAAK,OAAO,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC"}
@@ -1,95 +0,0 @@
1
- /**
2
- * Build helper for modifiers.theme.css — light-dark colour tokens and deltas.
3
- */
4
- import { makeArtifactToken } from "../artifact/index.js";
5
- import { createDecl, createRule, printRules } from "../css-ast/index.js";
6
- import { wrapInLayer } from "../layers/index.js";
7
- import { buildLightDarkDeclarations } from "../light-dark/index.js";
8
- import { convertTokenIdToCssVar } from "../naming.js";
9
- import { FORMAT, HEADER } from "./buildPrimitive.js";
10
- import { isSemanticColor } from "./classification.js";
11
- import { computeDeltas } from "./deltas.js";
12
- import { recoverPrimitiveRef } from "./recoverPrimitiveRef.js";
13
- /** @note Mutates `artifact`, calls `outputFile`. */
14
- export function buildTheme(tokens, getTransforms, resolver, layers, artifact, outputFile) {
15
- // Collect base (light) and dark transforms for colour tokens
16
- const baseTransforms = getTransforms({ format: FORMAT });
17
- const darkTransforms = getTransforms({
18
- format: FORMAT,
19
- input: { theme: "dark" },
20
- });
21
- // Index dark transforms by token ID
22
- const darkById = new Map();
23
- for (const t of darkTransforms) {
24
- if (t.type !== "SINGLE_VALUE")
25
- continue;
26
- darkById.set(t.id, t.value);
27
- }
28
- // Build a reverse index: resolved literal value → primitive var name.
29
- // When a semantic token resolves to the same literal as a primitive,
30
- // we emit var(--primitive) instead of the raw oklch value.
31
- const primitiveByValue = new Map();
32
- for (const [cssVar, entry] of Object.entries(artifact)) {
33
- if (entry.tier === "primitive" &&
34
- entry.type === "color" &&
35
- entry.valueLight) {
36
- if (!primitiveByValue.has(entry.valueLight)) {
37
- primitiveByValue.set(entry.valueLight, cssVar);
38
- }
39
- }
40
- }
41
- // Build light-dark pairs for semantic colour tokens
42
- const pairs = [];
43
- const seenIds = new Set();
44
- for (const t of baseTransforms) {
45
- if (!isSemanticColor(t.id))
46
- continue;
47
- if (t.type !== "SINGLE_VALUE")
48
- continue;
49
- if (seenIds.has(t.id))
50
- continue;
51
- seenIds.add(t.id);
52
- const cssVar = t.localID ?? convertTokenIdToCssVar(t.id);
53
- const rawLight = t.value;
54
- const rawDark = darkById.get(t.id) ?? rawLight;
55
- // Recover var() references to primitives
56
- const lightVal = recoverPrimitiveRef(rawLight, cssVar, primitiveByValue);
57
- const darkVal = recoverPrimitiveRef(rawDark, cssVar, primitiveByValue);
58
- pairs.push({ property: cssVar, light: lightVal, dark: darkVal });
59
- artifact[cssVar] = makeArtifactToken({
60
- cssVar,
61
- id: t.id,
62
- type: "color",
63
- tier: "semantic",
64
- cssOutputFile: "modifiers.theme.css",
65
- description: t.token.$description,
66
- valueLight: lightVal,
67
- valueDark: darkVal,
68
- });
69
- }
70
- // Build CSS
71
- const themeDecls = buildLightDarkDeclarations(pairs);
72
- // Compute NativeState deltas (task 2.9)
73
- const { lightDeltaDecls, darkDeltaDecls } = computeDeltas(tokens, resolver, artifact);
74
- // Assemble :root block
75
- const rootNodes = [
76
- createDecl("color-scheme", "light dark"),
77
- ...themeDecls,
78
- ...lightDeltaDecls,
79
- ];
80
- const rootRule = createRule([":root"], rootNodes);
81
- // Override selectors
82
- const lightOverride = createRule([".light"], [createDecl("color-scheme", "light")]);
83
- const darkOverride = createRule([".dark"], [createDecl("color-scheme", "dark"), ...darkDeltaDecls]);
84
- const mediaQuery = createRule(["@media (prefers-color-scheme: dark)"], [
85
- createRule([":root"], [createDecl("color-scheme", "dark"), ...darkDeltaDecls]),
86
- ]);
87
- const wrapped = wrapInLayer(layers.modifiers, [
88
- rootRule,
89
- lightOverride,
90
- darkOverride,
91
- mediaQuery,
92
- ]);
93
- outputFile("modifiers.theme.css", `${HEADER}\n${printRules(wrapped)}\n`);
94
- }
95
- //# sourceMappingURL=buildTheme.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildTheme.js","sourceRoot":"","sources":["../../../src/build/buildTheme.ts"],"names":[],"mappings":"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"}
@@ -1,78 +0,0 @@
1
- /**
2
- * Build helper for modifiers.typography.css — base + per-product typography.
3
- */
4
- import { makeArtifactToken } from "../artifact/index.js";
5
- import { createDecl, createRule, printRules } from "../css-ast/index.js";
6
- import { wrapInLayer } from "../layers/index.js";
7
- import { convertTokenIdToCssVar } from "../naming.js";
8
- import { FORMAT, HEADER } from "./buildPrimitive.js";
9
- import { isSemanticTypography } from "./classification.js";
10
- /** @note Mutates `artifact`, calls `outputFile`. */
11
- export function buildTypography(getTransforms, layers, artifact, outputFile) {
12
- const allNodes = [];
13
- // Base (global) typography → :root
14
- const baseTransforms = getTransforms({ format: FORMAT });
15
- const rootDecls = [];
16
- const seenIds = new Set();
17
- for (const t of baseTransforms) {
18
- if (!isSemanticTypography(t.id))
19
- continue;
20
- if (seenIds.has(t.id))
21
- continue;
22
- seenIds.add(t.id);
23
- emitTypographyDecls(t, rootDecls, artifact, "modifiers.typography.css");
24
- }
25
- allNodes.push(createRule([":root"], rootDecls));
26
- // Per-product contexts → class selectors
27
- for (const ctx of ["apps", "docs", "sites"]) {
28
- const contextTransforms = getTransforms({
29
- format: FORMAT,
30
- input: { typography: ctx },
31
- });
32
- const contextDecls = [];
33
- for (const t of contextTransforms) {
34
- if (!isSemanticTypography(t.id))
35
- continue;
36
- emitTypographyDecls(t, contextDecls, artifact, "modifiers.typography.css");
37
- }
38
- if (contextDecls.length > 0) {
39
- allNodes.push(createRule([`.${ctx}`], contextDecls));
40
- }
41
- }
42
- const wrapped = wrapInLayer(layers.modifiers, allNodes);
43
- outputFile("modifiers.typography.css", `${HEADER}\n${printRules(wrapped)}\n`);
44
- }
45
- export function emitTypographyDecls(t, decls, artifact, outputFile) {
46
- const cssVar = t.localID ?? convertTokenIdToCssVar(t.id);
47
- if (t.type === "SINGLE_VALUE") {
48
- decls.push(createDecl(cssVar, t.value));
49
- artifact[cssVar] = makeArtifactToken({
50
- cssVar,
51
- id: t.id,
52
- type: t.token.$type ?? "unknown",
53
- tier: "semantic",
54
- cssOutputFile: outputFile,
55
- description: t.token.$description,
56
- valueLight: t.value,
57
- valueDark: t.value,
58
- });
59
- }
60
- else {
61
- // Multi-value: typography composite → individual sub-properties
62
- for (const [suffix, val] of Object.entries(t.value)) {
63
- const subVar = `${cssVar}-${suffix}`;
64
- decls.push(createDecl(subVar, val));
65
- artifact[subVar] = makeArtifactToken({
66
- cssVar: subVar,
67
- id: `${t.id}.${suffix}`,
68
- type: t.token.$type ?? "unknown",
69
- tier: "semantic",
70
- cssOutputFile: outputFile,
71
- description: t.token.$description,
72
- valueLight: val,
73
- valueDark: val,
74
- });
75
- }
76
- }
77
- }
78
- //# sourceMappingURL=buildTypography.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"buildTypography.js","sourceRoot":"","sources":["../../../src/build/buildTypography.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- /**
2
- * Filter DTCG $extensions: strip internal `com.canonical.*` keys,
3
- * returning only third-party / user-defined extensions for artifact output.
4
- *
5
- * Returns `undefined` when no passthrough keys remain, so callers can
6
- * use it directly in the spread-based construction without adding empty objects.
7
- */
8
- export function filterExtensions(raw) {
9
- if (!raw)
10
- return undefined;
11
- const result = {};
12
- let hasKeys = false;
13
- for (const [key, value] of Object.entries(raw)) {
14
- if (!key.startsWith("com.canonical.")) {
15
- result[key] = value;
16
- hasKeys = true;
17
- }
18
- }
19
- return hasKeys ? result : undefined;
20
- }
21
- //# sourceMappingURL=filterExtensions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"filterExtensions.js","sourceRoot":"","sources":["../../../src/build/filterExtensions.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,GAAwC;IAExC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAE3B,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,IAAI,OAAO,GAAG,KAAK,CAAC;IAEpB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACpB,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AACtC,CAAC"}
@@ -1,7 +0,0 @@
1
- import hasDecl from "./hasDecl.js";
2
- export default function addDeclUnique(list, declaration) {
3
- if (!hasDecl(list, declaration.property)) {
4
- list.push(declaration);
5
- }
6
- }
7
- //# sourceMappingURL=addDeclUnique.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addDeclUnique.js","sourceRoot":"","sources":["../../../src/css-ast/addDeclUnique.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,IAAe,EACf,WAA2B;IAE3B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACzB,CAAC;AACH,CAAC"}
@@ -1,4 +0,0 @@
1
- export default function createDecl(property, value, comment) {
2
- return { type: "Declaration", property, value, comment };
3
- }
4
- //# sourceMappingURL=decl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"decl.js","sourceRoot":"","sources":["../../../src/css-ast/decl.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,QAAgB,EAChB,KAAa,EACb,OAAgB;IAEhB,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC3D,CAAC"}
@@ -1,4 +0,0 @@
1
- export default function hasDecl(list, property) {
2
- return list.some((d) => d.type === "Declaration" && d.property === property);
3
- }
4
- //# sourceMappingURL=hasDecl.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"hasDecl.js","sourceRoot":"","sources":["../../../src/css-ast/hasDecl.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,UAAU,OAAO,CAAC,IAAe,EAAE,QAAgB;IAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;AAC/E,CAAC"}
@@ -1,7 +0,0 @@
1
- export default function classifyTier(_tokenId, setName) {
2
- if (setName === "primitive") {
3
- return "primitive";
4
- }
5
- return "semantic";
6
- }
7
- //# sourceMappingURL=classifyTier.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"classifyTier.js","sourceRoot":"","sources":["../../../../../src/artifact/classifyTier.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,OAAO,UAAU,YAAY,CAClC,QAAgB,EAChB,OAA2B;IAE3B,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -1,5 +0,0 @@
1
- export { default as classifyTier } from "./classifyTier.js";
2
- export { default as makeArtifactToken } from "./makeArtifactToken.js";
3
- export { default as makeDerivedArtifactToken } from "./makeDerivedArtifactToken.js";
4
- export { default as serializeArtifact } from "./serializeArtifact.js";
5
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/artifact/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1,36 +0,0 @@
1
- export default function makeArtifactToken(params) {
2
- const isPaired = params.valueLight !== undefined &&
3
- params.valueDark !== undefined &&
4
- params.valueLight !== params.valueDark;
5
- const token = {
6
- cssVar: params.cssVar,
7
- id: params.id,
8
- type: params.type,
9
- tier: params.tier,
10
- isPaired,
11
- cssOutputFile: params.cssOutputFile,
12
- };
13
- if (params.description !== undefined) {
14
- token.description = params.description;
15
- }
16
- if (params.declarations !== undefined && params.declarations.length > 0) {
17
- token.declarations = params.declarations;
18
- }
19
- if (params.aliasChain !== undefined) {
20
- token.aliasChain = params.aliasChain;
21
- }
22
- if (params.valueLight !== undefined) {
23
- token.valueLight = params.valueLight;
24
- }
25
- if (params.valueDark !== undefined) {
26
- token.valueDark = params.valueDark;
27
- }
28
- if (params.sourceFile !== undefined) {
29
- token.sourceFile = params.sourceFile;
30
- }
31
- if (params.sourceLine !== undefined) {
32
- token.sourceLine = params.sourceLine;
33
- }
34
- return token;
35
- }
36
- //# sourceMappingURL=makeArtifactToken.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"makeArtifactToken.js","sourceRoot":"","sources":["../../../../../src/artifact/makeArtifactToken.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,UAAU,iBAAiB,CACvC,MAAyB;IAEzB,MAAM,QAAQ,GACZ,MAAM,CAAC,UAAU,KAAK,SAAS;QAC/B,MAAM,CAAC,SAAS,KAAK,SAAS;QAC9B,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,SAAS,CAAC;IAEzC,MAAM,KAAK,GAAkB;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ;QACR,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAC;IAEF,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACrC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACzC,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxE,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAC3C,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACvC,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACvC,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACrC,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACvC,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACvC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -1,29 +0,0 @@
1
- export default function makeDerivedArtifactToken(params) {
2
- const isPaired = params.valueLight !== undefined &&
3
- params.valueDark !== undefined &&
4
- params.valueLight !== params.valueDark;
5
- const token = {
6
- cssVar: params.cssVar,
7
- id: null,
8
- type: params.type,
9
- tier: params.tier,
10
- isPaired,
11
- cssOutputFile: params.cssOutputFile,
12
- derivedFrom: params.derivedFrom,
13
- derivation: params.derivation,
14
- };
15
- if (params.description !== undefined) {
16
- token.description = params.description;
17
- }
18
- if (params.declarations !== undefined && params.declarations.length > 0) {
19
- token.declarations = params.declarations;
20
- }
21
- if (params.valueLight !== undefined) {
22
- token.valueLight = params.valueLight;
23
- }
24
- if (params.valueDark !== undefined) {
25
- token.valueDark = params.valueDark;
26
- }
27
- return token;
28
- }
29
- //# sourceMappingURL=makeDerivedArtifactToken.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"makeDerivedArtifactToken.js","sourceRoot":"","sources":["../../../../../src/artifact/makeDerivedArtifactToken.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAC9C,MAAgC;IAEhC,MAAM,QAAQ,GACZ,MAAM,CAAC,UAAU,KAAK,SAAS;QAC/B,MAAM,CAAC,SAAS,KAAK,SAAS;QAC9B,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,SAAS,CAAC;IAEzC,MAAM,KAAK,GAAkB;QAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,EAAE,EAAE,IAAI;QACR,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ;QACR,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;KAC9B,CAAC;IAEF,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACrC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IACzC,CAAC;IACD,IAAI,MAAM,CAAC,YAAY,KAAK,SAAS,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxE,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAC3C,CAAC;IACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACpC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACvC,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACnC,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACrC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}