@marioschmidt/design-system-tokens 1.0.15 → 1.0.17

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 (591) hide show
  1. package/README.md +549 -493
  2. package/dist/android/brands/advertorial/sizeclass-compact/typography_styles.xml +669 -0
  3. package/dist/android/brands/advertorial/sizeclass-regular/typography_styles.xml +669 -0
  4. package/dist/android/brands/bild/sizeclass-compact/typography_styles.xml +669 -0
  5. package/dist/android/brands/bild/sizeclass-regular/typography_styles.xml +669 -0
  6. package/dist/android/brands/sportbild/sizeclass-compact/typography_styles.xml +668 -0
  7. package/dist/android/brands/sportbild/sizeclass-regular/typography_styles.xml +668 -0
  8. package/dist/android/res/values/brands/advertorial/density/density-compact.xml +15 -0
  9. package/dist/android/res/values/brands/advertorial/density/density-default.xml +15 -0
  10. package/dist/android/res/values/brands/advertorial/density/density-spacious.xml +15 -0
  11. package/dist/android/res/values/{mapping/brand_advertorial.xml → brands/advertorial/overrides/brandtokenmapping.xml} +250 -250
  12. package/dist/android/res/values/brands/advertorial/semantic/breakpoints/breakpoint-lg-1024px-regular.xml +473 -0
  13. package/dist/android/res/values/brands/advertorial/semantic/breakpoints/breakpoint-md-600px.xml +473 -0
  14. package/dist/android/res/values/brands/advertorial/semantic/breakpoints/breakpoint-sm-390px-compact.xml +473 -0
  15. package/dist/android/res/values/brands/advertorial/semantic/breakpoints/breakpoint-xs-320px.xml +473 -0
  16. package/dist/android/res/values/brands/advertorial/semantic/effects/effects-dark.xml +20 -0
  17. package/dist/android/res/values/brands/advertorial/semantic/effects/effects-light.xml +20 -0
  18. package/dist/android/res/values/brands/bild/density/density-compact.xml +15 -0
  19. package/dist/android/res/values/brands/bild/density/density-default.xml +15 -0
  20. package/dist/android/res/values/brands/bild/density/density-spacious.xml +15 -0
  21. package/dist/android/res/values/{mapping/brand_color_bild.xml → brands/bild/overrides/brandcolormapping.xml} +52 -52
  22. package/dist/android/res/values/{mapping/brand_bild.xml → brands/bild/overrides/brandtokenmapping.xml} +250 -250
  23. package/dist/android/res/values/brands/bild/semantic/breakpoints/breakpoint-lg-1024px-regular.xml +473 -0
  24. package/dist/android/res/values/brands/bild/semantic/breakpoints/breakpoint-md-600px.xml +473 -0
  25. package/dist/android/res/values/brands/bild/semantic/breakpoints/breakpoint-sm-390px-compact.xml +473 -0
  26. package/dist/android/res/values/brands/bild/semantic/breakpoints/breakpoint-xs-320px.xml +473 -0
  27. package/dist/android/res/values/{semantic/advertorial/color/color_advertorial_dark.xml → brands/bild/semantic/color/colormode-dark.xml} +221 -221
  28. package/dist/android/res/values/{semantic/advertorial/color/color_advertorial_light.xml → brands/bild/semantic/color/colormode-light.xml} +226 -226
  29. package/dist/android/res/values/brands/bild/semantic/effects/effects-dark.xml +20 -0
  30. package/dist/android/res/values/brands/bild/semantic/effects/effects-light.xml +20 -0
  31. package/dist/android/res/values/brands/sportbild/density/density-compact.xml +15 -0
  32. package/dist/android/res/values/brands/sportbild/density/density-default.xml +15 -0
  33. package/dist/android/res/values/brands/sportbild/density/density-spacious.xml +15 -0
  34. package/dist/android/res/values/{mapping/brand_color_sportbild.xml → brands/sportbild/overrides/brandcolormapping.xml} +53 -53
  35. package/dist/android/res/values/{mapping/brand_sportbild.xml → brands/sportbild/overrides/brandtokenmapping.xml} +250 -250
  36. package/dist/android/res/values/brands/sportbild/semantic/breakpoints/breakpoint-lg-1024px-regular.xml +473 -0
  37. package/dist/android/res/values/brands/sportbild/semantic/breakpoints/breakpoint-md-600px.xml +473 -0
  38. package/dist/android/res/values/brands/sportbild/semantic/breakpoints/breakpoint-sm-390px-compact.xml +473 -0
  39. package/dist/android/res/values/brands/sportbild/semantic/breakpoints/breakpoint-xs-320px.xml +473 -0
  40. package/dist/android/res/values/{semantic/bild/color/color_bild_dark.xml → brands/sportbild/semantic/color/colormode-dark.xml} +221 -221
  41. package/dist/android/res/values/{semantic/bild/color/color_bild_light.xml → brands/sportbild/semantic/color/colormode-light.xml} +226 -226
  42. package/dist/android/res/values/brands/sportbild/semantic/effects/effects-dark.xml +20 -0
  43. package/dist/android/res/values/brands/sportbild/semantic/effects/effects-light.xml +20 -0
  44. package/dist/android/res/values/{base/primitive_color_value.xml → shared/colorprimitive.xml} +74 -74
  45. package/dist/android/res/values/{base/primitive_font_value.xml → shared/fontprimitive.xml} +23 -23
  46. package/dist/android/res/values/shared/sizeprimitive.xml +56 -0
  47. package/dist/android/res/values/shared/spaceprimitive.xml +32 -0
  48. package/dist/css/brands/advertorial/density/density-compact.css +14 -0
  49. package/dist/css/brands/advertorial/density/density-default.css +14 -0
  50. package/dist/css/brands/advertorial/density/density-spacious.css +14 -0
  51. package/dist/css/{mapping/brand-advertorial-global.css → brands/advertorial/overrides/brandtokenmapping.css} +131 -131
  52. package/dist/css/brands/advertorial/semantic/breakpoints/breakpoint-lg-1024px-regular.css +490 -0
  53. package/dist/css/brands/advertorial/semantic/breakpoints/breakpoint-md-600px.css +490 -0
  54. package/dist/css/brands/advertorial/semantic/breakpoints/breakpoint-sm-390px-compact.css +490 -0
  55. package/dist/css/brands/advertorial/semantic/breakpoints/breakpoint-xs-320px.css +490 -0
  56. package/dist/css/brands/advertorial/semantic/effects/effects-dark.css +66 -0
  57. package/dist/css/brands/advertorial/semantic/effects/effects-light.css +66 -0
  58. package/dist/css/brands/advertorial/semantic/typography/typography-lg.css +989 -0
  59. package/dist/css/brands/advertorial/semantic/typography/typography-md.css +989 -0
  60. package/dist/css/brands/advertorial/semantic/typography/typography-sm.css +989 -0
  61. package/dist/css/brands/advertorial/semantic/typography/typography-xs.css +989 -0
  62. package/dist/css/brands/bild/density/density-compact.css +14 -0
  63. package/dist/css/brands/bild/density/density-default.css +14 -0
  64. package/dist/css/brands/bild/density/density-spacious.css +14 -0
  65. package/dist/css/brands/bild/overrides/brandcolormapping.css +74 -0
  66. package/dist/css/{mapping/brand-bild-global.css → brands/bild/overrides/brandtokenmapping.css} +94 -94
  67. package/dist/css/brands/bild/semantic/breakpoints/breakpoint-lg-1024px-regular.css +490 -0
  68. package/dist/css/brands/bild/semantic/breakpoints/breakpoint-md-600px.css +490 -0
  69. package/dist/css/brands/bild/semantic/breakpoints/breakpoint-sm-390px-compact.css +490 -0
  70. package/dist/css/brands/bild/semantic/breakpoints/breakpoint-xs-320px.css +490 -0
  71. package/dist/css/{semantic/bild/color/color-bild-dark-global.css → brands/bild/semantic/color/colormode-dark.css} +302 -302
  72. package/dist/css/{semantic/bild/color/color-bild-light-global.css → brands/bild/semantic/color/colormode-light.css} +301 -301
  73. package/dist/css/brands/bild/semantic/effects/effects-dark.css +66 -0
  74. package/dist/css/brands/bild/semantic/effects/effects-light.css +66 -0
  75. package/dist/css/brands/bild/semantic/typography/typography-lg.css +989 -0
  76. package/dist/css/brands/bild/semantic/typography/typography-md.css +989 -0
  77. package/dist/css/brands/bild/semantic/typography/typography-sm.css +989 -0
  78. package/dist/css/brands/bild/semantic/typography/typography-xs.css +989 -0
  79. package/dist/css/brands/sportbild/density/density-compact.css +14 -0
  80. package/dist/css/brands/sportbild/density/density-default.css +14 -0
  81. package/dist/css/brands/sportbild/density/density-spacious.css +14 -0
  82. package/dist/css/brands/sportbild/overrides/brandcolormapping.css +74 -0
  83. package/dist/css/{mapping/brand-sportbild-global.css → brands/sportbild/overrides/brandtokenmapping.css} +128 -128
  84. package/dist/css/brands/sportbild/semantic/breakpoints/breakpoint-lg-1024px-regular.css +490 -0
  85. package/dist/css/brands/sportbild/semantic/breakpoints/breakpoint-md-600px.css +490 -0
  86. package/dist/css/brands/sportbild/semantic/breakpoints/breakpoint-sm-390px-compact.css +490 -0
  87. package/dist/css/brands/sportbild/semantic/breakpoints/breakpoint-xs-320px.css +490 -0
  88. package/dist/css/{semantic/advertorial/color/color-advertorial-dark-global.css → brands/sportbild/semantic/color/colormode-dark.css} +302 -302
  89. package/dist/css/{semantic/advertorial/color/color-advertorial-light-global.css → brands/sportbild/semantic/color/colormode-light.css} +301 -301
  90. package/dist/css/brands/sportbild/semantic/effects/effects-dark.css +66 -0
  91. package/dist/css/brands/sportbild/semantic/effects/effects-light.css +66 -0
  92. package/dist/css/brands/sportbild/semantic/typography/typography-lg.css +989 -0
  93. package/dist/css/brands/sportbild/semantic/typography/typography-md.css +989 -0
  94. package/dist/css/brands/sportbild/semantic/typography/typography-sm.css +989 -0
  95. package/dist/css/brands/sportbild/semantic/typography/typography-xs.css +989 -0
  96. package/dist/css/shared/colorprimitive.css +100 -0
  97. package/dist/flutter/brands/advertorial/density/density-compact.dart +23 -0
  98. package/dist/flutter/brands/advertorial/density/density-default.dart +23 -0
  99. package/dist/flutter/brands/advertorial/density/density-spacious.dart +23 -0
  100. package/dist/flutter/brands/advertorial/overrides/brandtokenmapping.dart +286 -0
  101. package/dist/flutter/brands/advertorial/semantic/breakpoints/breakpoint-lg-1024px-regular.dart +499 -0
  102. package/dist/flutter/brands/advertorial/semantic/breakpoints/breakpoint-md-600px.dart +499 -0
  103. package/dist/flutter/brands/advertorial/semantic/breakpoints/breakpoint-sm-390px-compact.dart +499 -0
  104. package/dist/flutter/brands/advertorial/semantic/breakpoints/breakpoint-xs-320px.dart +499 -0
  105. package/dist/flutter/brands/advertorial/semantic/effects/effects-dark.dart +28 -0
  106. package/dist/flutter/brands/advertorial/semantic/effects/effects-light.dart +28 -0
  107. package/dist/flutter/brands/advertorial/semantic/typography/typography-lg.dart +147 -0
  108. package/dist/flutter/brands/advertorial/semantic/typography/typography-md.dart +147 -0
  109. package/dist/flutter/brands/advertorial/semantic/typography/typography-sm.dart +147 -0
  110. package/dist/flutter/brands/advertorial/semantic/typography/typography-xs.dart +147 -0
  111. package/dist/flutter/brands/bild/density/density-compact.dart +23 -0
  112. package/dist/flutter/brands/bild/density/density-default.dart +23 -0
  113. package/dist/flutter/brands/bild/density/density-spacious.dart +23 -0
  114. package/dist/flutter/brands/bild/overrides/brandcolormapping.dart +83 -0
  115. package/dist/flutter/brands/bild/overrides/brandtokenmapping.dart +286 -0
  116. package/dist/flutter/brands/bild/semantic/breakpoints/breakpoint-lg-1024px-regular.dart +499 -0
  117. package/dist/flutter/brands/bild/semantic/breakpoints/breakpoint-md-600px.dart +499 -0
  118. package/dist/flutter/brands/bild/semantic/breakpoints/breakpoint-sm-390px-compact.dart +499 -0
  119. package/dist/flutter/brands/bild/semantic/breakpoints/breakpoint-xs-320px.dart +499 -0
  120. package/dist/flutter/brands/bild/semantic/color/colormode-dark.dart +435 -0
  121. package/dist/flutter/brands/bild/semantic/color/colormode-light.dart +435 -0
  122. package/dist/flutter/brands/bild/semantic/effects/effects-dark.dart +28 -0
  123. package/dist/flutter/brands/bild/semantic/effects/effects-light.dart +28 -0
  124. package/dist/flutter/brands/bild/semantic/typography/typography-lg.dart +147 -0
  125. package/dist/flutter/brands/bild/semantic/typography/typography-md.dart +147 -0
  126. package/dist/flutter/brands/bild/semantic/typography/typography-sm.dart +147 -0
  127. package/dist/flutter/brands/bild/semantic/typography/typography-xs.dart +147 -0
  128. package/dist/flutter/brands/sportbild/density/density-compact.dart +23 -0
  129. package/dist/flutter/brands/sportbild/density/density-default.dart +23 -0
  130. package/dist/flutter/brands/sportbild/density/density-spacious.dart +23 -0
  131. package/dist/flutter/brands/sportbild/overrides/brandcolormapping.dart +83 -0
  132. package/dist/flutter/brands/sportbild/overrides/brandtokenmapping.dart +286 -0
  133. package/dist/flutter/brands/sportbild/semantic/breakpoints/breakpoint-lg-1024px-regular.dart +499 -0
  134. package/dist/flutter/brands/sportbild/semantic/breakpoints/breakpoint-md-600px.dart +499 -0
  135. package/dist/flutter/brands/sportbild/semantic/breakpoints/breakpoint-sm-390px-compact.dart +499 -0
  136. package/dist/flutter/brands/sportbild/semantic/breakpoints/breakpoint-xs-320px.dart +499 -0
  137. package/dist/flutter/brands/sportbild/semantic/color/colormode-dark.dart +435 -0
  138. package/dist/flutter/brands/sportbild/semantic/color/colormode-light.dart +435 -0
  139. package/dist/flutter/brands/sportbild/semantic/effects/effects-dark.dart +28 -0
  140. package/dist/flutter/brands/sportbild/semantic/effects/effects-light.dart +28 -0
  141. package/dist/flutter/brands/sportbild/semantic/typography/typography-lg.dart +147 -0
  142. package/dist/flutter/brands/sportbild/semantic/typography/typography-md.dart +147 -0
  143. package/dist/flutter/brands/sportbild/semantic/typography/typography-sm.dart +147 -0
  144. package/dist/flutter/brands/sportbild/semantic/typography/typography-xs.dart +147 -0
  145. package/dist/flutter/shared/colorprimitive.dart +109 -0
  146. package/dist/flutter/shared/fontprimitive.dart +58 -0
  147. package/dist/flutter/shared/sizeprimitive.dart +64 -0
  148. package/dist/flutter/shared/spaceprimitive.dart +40 -0
  149. package/dist/ios/brands/advertorial/density/DensityCompact.swift +20 -0
  150. package/dist/ios/brands/advertorial/density/DensityDefault.swift +20 -0
  151. package/dist/ios/brands/advertorial/density/DensitySpacious.swift +20 -0
  152. package/dist/ios/brands/advertorial/overrides/Brandtokenmapping.swift +283 -0
  153. package/dist/ios/brands/advertorial/semantic/breakpoints/BreakpointLg1024pxRegular.swift +496 -0
  154. package/dist/ios/brands/advertorial/semantic/breakpoints/BreakpointMd600px.swift +496 -0
  155. package/dist/ios/brands/advertorial/semantic/breakpoints/BreakpointSm390pxCompact.swift +496 -0
  156. package/dist/ios/brands/advertorial/semantic/breakpoints/BreakpointXs320px.swift +496 -0
  157. package/dist/ios/brands/advertorial/semantic/effects/EffectsDark.swift +25 -0
  158. package/dist/ios/brands/advertorial/semantic/effects/EffectsLight.swift +25 -0
  159. package/dist/ios/brands/advertorial/sizeclass-compact/Typography.swift +245 -0
  160. package/dist/ios/brands/advertorial/sizeclass-regular/Typography.swift +245 -0
  161. package/dist/ios/brands/bild/density/DensityCompact.swift +20 -0
  162. package/dist/ios/brands/bild/density/DensityDefault.swift +20 -0
  163. package/dist/ios/brands/bild/density/DensitySpacious.swift +20 -0
  164. package/dist/ios/brands/bild/overrides/Brandcolormapping.swift +80 -0
  165. package/dist/ios/brands/bild/overrides/Brandtokenmapping.swift +283 -0
  166. package/dist/ios/brands/bild/semantic/breakpoints/BreakpointLg1024pxRegular.swift +496 -0
  167. package/dist/ios/brands/bild/semantic/breakpoints/BreakpointMd600px.swift +496 -0
  168. package/dist/ios/brands/bild/semantic/breakpoints/BreakpointSm390pxCompact.swift +496 -0
  169. package/dist/ios/brands/bild/semantic/breakpoints/BreakpointXs320px.swift +496 -0
  170. package/dist/ios/brands/bild/semantic/color/ColormodeDark.swift +432 -0
  171. package/dist/ios/brands/bild/semantic/color/ColormodeLight.swift +432 -0
  172. package/dist/ios/brands/bild/semantic/effects/EffectsDark.swift +25 -0
  173. package/dist/ios/brands/bild/semantic/effects/EffectsLight.swift +25 -0
  174. package/dist/ios/brands/bild/sizeclass-compact/Typography.swift +245 -0
  175. package/dist/ios/brands/bild/sizeclass-regular/Typography.swift +245 -0
  176. package/dist/ios/brands/sportbild/density/DensityCompact.swift +20 -0
  177. package/dist/ios/brands/sportbild/density/DensityDefault.swift +20 -0
  178. package/dist/ios/brands/sportbild/density/DensitySpacious.swift +20 -0
  179. package/dist/ios/brands/sportbild/overrides/Brandcolormapping.swift +80 -0
  180. package/dist/ios/brands/sportbild/overrides/Brandtokenmapping.swift +283 -0
  181. package/dist/ios/brands/sportbild/semantic/breakpoints/BreakpointLg1024pxRegular.swift +496 -0
  182. package/dist/ios/brands/sportbild/semantic/breakpoints/BreakpointMd600px.swift +496 -0
  183. package/dist/ios/brands/sportbild/semantic/breakpoints/BreakpointSm390pxCompact.swift +496 -0
  184. package/dist/ios/brands/sportbild/semantic/breakpoints/BreakpointXs320px.swift +496 -0
  185. package/dist/ios/brands/sportbild/semantic/color/ColormodeDark.swift +432 -0
  186. package/dist/ios/brands/sportbild/semantic/color/ColormodeLight.swift +432 -0
  187. package/dist/ios/brands/sportbild/semantic/effects/EffectsDark.swift +25 -0
  188. package/dist/ios/brands/sportbild/semantic/effects/EffectsLight.swift +25 -0
  189. package/dist/ios/brands/sportbild/sizeclass-compact/Typography.swift +245 -0
  190. package/dist/ios/brands/sportbild/sizeclass-regular/Typography.swift +245 -0
  191. package/dist/ios/shared/Colorprimitive.swift +106 -0
  192. package/dist/ios/shared/Fontprimitive.swift +55 -0
  193. package/dist/ios/shared/Sizeprimitive.swift +61 -0
  194. package/dist/ios/shared/Spaceprimitive.swift +37 -0
  195. package/dist/js/brands/advertorial/density/density-compact.js +12 -0
  196. package/dist/js/brands/advertorial/density/density-default.js +12 -0
  197. package/dist/js/brands/advertorial/density/density-spacious.js +12 -0
  198. package/dist/js/brands/advertorial/overrides/brandtokenmapping.js +332 -0
  199. package/dist/js/brands/advertorial/semantic/breakpoints/breakpoint-lg-1024px-regular.js +494 -0
  200. package/dist/js/brands/advertorial/semantic/breakpoints/breakpoint-md-600px.js +498 -0
  201. package/dist/js/brands/advertorial/semantic/breakpoints/breakpoint-sm-390px-compact.js +496 -0
  202. package/dist/js/brands/advertorial/semantic/breakpoints/breakpoint-xs-320px.js +496 -0
  203. package/dist/js/brands/advertorial/semantic/effects/effects-dark.js +219 -0
  204. package/dist/js/brands/advertorial/semantic/effects/effects-light.js +219 -0
  205. package/dist/js/brands/advertorial/semantic/typography/typography-lg.js +1135 -0
  206. package/dist/js/brands/advertorial/semantic/typography/typography-md.js +1135 -0
  207. package/dist/js/brands/advertorial/semantic/typography/typography-sm.js +1135 -0
  208. package/dist/js/brands/advertorial/semantic/typography/typography-xs.js +1135 -0
  209. package/dist/js/brands/bild/density/density-compact.js +12 -0
  210. package/dist/js/brands/bild/density/density-default.js +12 -0
  211. package/dist/js/brands/bild/density/density-spacious.js +12 -0
  212. package/dist/js/brands/bild/overrides/brandcolormapping.js +76 -0
  213. package/dist/js/brands/bild/overrides/brandtokenmapping.js +301 -0
  214. package/dist/js/brands/bild/semantic/breakpoints/breakpoint-lg-1024px-regular.js +482 -0
  215. package/dist/js/brands/bild/semantic/breakpoints/breakpoint-md-600px.js +485 -0
  216. package/dist/js/brands/bild/semantic/breakpoints/breakpoint-sm-390px-compact.js +488 -0
  217. package/dist/js/brands/bild/semantic/breakpoints/breakpoint-xs-320px.js +488 -0
  218. package/dist/js/brands/bild/semantic/color/colormode-dark.js +229 -0
  219. package/dist/js/brands/bild/semantic/color/colormode-light.js +229 -0
  220. package/dist/js/brands/bild/semantic/effects/effects-dark.js +219 -0
  221. package/dist/js/brands/bild/semantic/effects/effects-light.js +219 -0
  222. package/dist/js/brands/bild/semantic/typography/typography-lg.js +1135 -0
  223. package/dist/js/brands/bild/semantic/typography/typography-md.js +1135 -0
  224. package/dist/js/brands/bild/semantic/typography/typography-sm.js +1135 -0
  225. package/dist/js/brands/bild/semantic/typography/typography-xs.js +1135 -0
  226. package/dist/js/brands/sportbild/density/density-compact.js +12 -0
  227. package/dist/js/brands/sportbild/density/density-default.js +12 -0
  228. package/dist/js/brands/sportbild/density/density-spacious.js +12 -0
  229. package/dist/js/brands/sportbild/overrides/brandcolormapping.js +76 -0
  230. package/dist/js/brands/sportbild/overrides/brandtokenmapping.js +332 -0
  231. package/dist/js/brands/sportbild/semantic/breakpoints/breakpoint-lg-1024px-regular.js +497 -0
  232. package/dist/js/brands/sportbild/semantic/breakpoints/breakpoint-md-600px.js +497 -0
  233. package/dist/js/brands/sportbild/semantic/breakpoints/breakpoint-sm-390px-compact.js +497 -0
  234. package/dist/js/brands/sportbild/semantic/breakpoints/breakpoint-xs-320px.js +497 -0
  235. package/dist/js/brands/sportbild/semantic/color/colormode-dark.js +229 -0
  236. package/dist/js/brands/sportbild/semantic/color/colormode-light.js +229 -0
  237. package/dist/js/brands/sportbild/semantic/effects/effects-dark.js +219 -0
  238. package/dist/js/brands/sportbild/semantic/effects/effects-light.js +219 -0
  239. package/dist/js/brands/sportbild/semantic/typography/typography-lg.js +1135 -0
  240. package/dist/js/brands/sportbild/semantic/typography/typography-md.js +1135 -0
  241. package/dist/js/brands/sportbild/semantic/typography/typography-sm.js +1135 -0
  242. package/dist/js/brands/sportbild/semantic/typography/typography-xs.js +1135 -0
  243. package/dist/js/shared/colorprimitive.js +98 -0
  244. package/dist/js/shared/fontprimitive.js +47 -0
  245. package/dist/js/shared/sizeprimitive.js +53 -0
  246. package/dist/js/shared/spaceprimitive.js +29 -0
  247. package/dist/json/brands/advertorial/density/density-compact.json +330 -0
  248. package/dist/json/brands/advertorial/density/density-default.json +330 -0
  249. package/dist/json/brands/advertorial/density/density-spacious.json +330 -0
  250. package/dist/json/brands/advertorial/overrides/brandtokenmapping.json +11695 -0
  251. package/dist/json/brands/advertorial/semantic/breakpoints/breakpoint-lg-1024px-regular.json +19186 -0
  252. package/dist/json/brands/advertorial/semantic/breakpoints/breakpoint-md-600px.json +19186 -0
  253. package/dist/json/brands/advertorial/semantic/breakpoints/breakpoint-sm-390px-compact.json +19186 -0
  254. package/dist/json/brands/advertorial/semantic/breakpoints/breakpoint-xs-320px.json +19186 -0
  255. package/dist/json/brands/advertorial/semantic/effects/effects-dark.json +1301 -0
  256. package/dist/json/brands/advertorial/semantic/effects/effects-light.json +1301 -0
  257. package/dist/json/brands/advertorial/semantic/typography/typography-lg.json +8329 -0
  258. package/dist/json/brands/advertorial/semantic/typography/typography-md.json +8329 -0
  259. package/dist/json/brands/advertorial/semantic/typography/typography-sm.json +8329 -0
  260. package/dist/json/brands/advertorial/semantic/typography/typography-xs.json +8329 -0
  261. package/dist/json/brands/bild/density/density-compact.json +330 -0
  262. package/dist/json/brands/bild/density/density-default.json +330 -0
  263. package/dist/json/brands/bild/density/density-spacious.json +330 -0
  264. package/dist/json/brands/bild/overrides/brandcolormapping.json +2796 -0
  265. package/dist/json/brands/bild/overrides/brandtokenmapping.json +11695 -0
  266. package/dist/json/brands/bild/semantic/breakpoints/breakpoint-lg-1024px-regular.json +19186 -0
  267. package/dist/json/brands/bild/semantic/breakpoints/breakpoint-md-600px.json +19186 -0
  268. package/dist/json/brands/bild/semantic/breakpoints/breakpoint-sm-390px-compact.json +19186 -0
  269. package/dist/json/brands/bild/semantic/breakpoints/breakpoint-xs-320px.json +19186 -0
  270. package/dist/json/brands/bild/semantic/color/colormode-dark.json +8588 -0
  271. package/dist/json/brands/bild/semantic/color/colormode-light.json +8588 -0
  272. package/dist/json/brands/bild/semantic/effects/effects-dark.json +1301 -0
  273. package/dist/json/brands/bild/semantic/effects/effects-light.json +1301 -0
  274. package/dist/json/brands/bild/semantic/typography/typography-lg.json +8329 -0
  275. package/dist/json/brands/bild/semantic/typography/typography-md.json +8329 -0
  276. package/dist/json/brands/bild/semantic/typography/typography-sm.json +8329 -0
  277. package/dist/json/brands/bild/semantic/typography/typography-xs.json +8329 -0
  278. package/dist/json/brands/sportbild/density/density-compact.json +330 -0
  279. package/dist/json/brands/sportbild/density/density-default.json +330 -0
  280. package/dist/json/brands/sportbild/density/density-spacious.json +330 -0
  281. package/dist/json/brands/sportbild/overrides/brandcolormapping.json +2796 -0
  282. package/dist/json/brands/sportbild/overrides/brandtokenmapping.json +11695 -0
  283. package/dist/json/brands/sportbild/semantic/breakpoints/breakpoint-lg-1024px-regular.json +19186 -0
  284. package/dist/json/brands/sportbild/semantic/breakpoints/breakpoint-md-600px.json +19186 -0
  285. package/dist/json/brands/sportbild/semantic/breakpoints/breakpoint-sm-390px-compact.json +19186 -0
  286. package/dist/json/brands/sportbild/semantic/breakpoints/breakpoint-xs-320px.json +19186 -0
  287. package/dist/json/brands/sportbild/semantic/color/colormode-dark.json +8588 -0
  288. package/dist/json/brands/sportbild/semantic/color/colormode-light.json +8588 -0
  289. package/dist/json/brands/sportbild/semantic/effects/effects-dark.json +1301 -0
  290. package/dist/json/brands/sportbild/semantic/effects/effects-light.json +1301 -0
  291. package/dist/json/brands/sportbild/semantic/typography/typography-lg.json +8329 -0
  292. package/dist/json/brands/sportbild/semantic/typography/typography-md.json +8329 -0
  293. package/dist/json/brands/sportbild/semantic/typography/typography-sm.json +8329 -0
  294. package/dist/json/brands/sportbild/semantic/typography/typography-xs.json +8329 -0
  295. package/dist/json/shared/colorprimitive.json +3704 -0
  296. package/dist/json/shared/fontprimitive.json +1581 -0
  297. package/dist/json/shared/sizeprimitive.json +1717 -0
  298. package/dist/json/shared/spaceprimitive.json +877 -0
  299. package/dist/manifest.json +66 -258
  300. package/dist/scss/brands/advertorial/density/density-compact.scss +11 -0
  301. package/dist/scss/brands/advertorial/density/density-default.scss +11 -0
  302. package/dist/scss/brands/advertorial/density/density-spacious.scss +11 -0
  303. package/dist/scss/{mapping/brand-advertorial.scss → brands/advertorial/overrides/brandtokenmapping.scss} +131 -131
  304. package/dist/scss/brands/advertorial/semantic/breakpoints/breakpoint-lg-1024px-regular.scss +475 -0
  305. package/dist/scss/brands/advertorial/semantic/breakpoints/breakpoint-md-600px.scss +475 -0
  306. package/dist/scss/brands/advertorial/semantic/breakpoints/breakpoint-sm-390px-compact.scss +475 -0
  307. package/dist/scss/brands/advertorial/semantic/breakpoints/breakpoint-xs-320px.scss +475 -0
  308. package/dist/scss/brands/advertorial/semantic/effects/effects-dark.scss +16 -0
  309. package/dist/scss/brands/advertorial/semantic/effects/effects-light.scss +16 -0
  310. package/dist/scss/brands/advertorial/semantic/typography/typography-lg.scss +127 -0
  311. package/dist/scss/brands/advertorial/semantic/typography/typography-md.scss +127 -0
  312. package/dist/scss/brands/advertorial/semantic/typography/typography-sm.scss +127 -0
  313. package/dist/scss/brands/advertorial/semantic/typography/typography-xs.scss +127 -0
  314. package/dist/scss/brands/bild/density/density-compact.scss +11 -0
  315. package/dist/scss/brands/bild/density/density-default.scss +11 -0
  316. package/dist/scss/brands/bild/density/density-spacious.scss +11 -0
  317. package/dist/scss/brands/bild/overrides/brandcolormapping.scss +71 -0
  318. package/dist/scss/{mapping/brand-bild.scss → brands/bild/overrides/brandtokenmapping.scss} +94 -94
  319. package/dist/scss/brands/bild/semantic/breakpoints/breakpoint-lg-1024px-regular.scss +475 -0
  320. package/dist/scss/brands/bild/semantic/breakpoints/breakpoint-md-600px.scss +475 -0
  321. package/dist/scss/brands/bild/semantic/breakpoints/breakpoint-sm-390px-compact.scss +475 -0
  322. package/dist/scss/brands/bild/semantic/breakpoints/breakpoint-xs-320px.scss +475 -0
  323. package/dist/scss/{semantic/advertorial/color/color-advertorial-dark.scss → brands/bild/semantic/color/colormode-dark.scss} +282 -282
  324. package/dist/scss/{semantic/bild/color/color-bild-light.scss → brands/bild/semantic/color/colormode-light.scss} +281 -281
  325. package/dist/scss/brands/bild/semantic/effects/effects-dark.scss +16 -0
  326. package/dist/scss/brands/bild/semantic/effects/effects-light.scss +16 -0
  327. package/dist/scss/brands/bild/semantic/typography/typography-lg.scss +127 -0
  328. package/dist/scss/brands/bild/semantic/typography/typography-md.scss +127 -0
  329. package/dist/scss/brands/bild/semantic/typography/typography-sm.scss +127 -0
  330. package/dist/scss/brands/bild/semantic/typography/typography-xs.scss +127 -0
  331. package/dist/scss/brands/sportbild/density/density-compact.scss +11 -0
  332. package/dist/scss/brands/sportbild/density/density-default.scss +11 -0
  333. package/dist/scss/brands/sportbild/density/density-spacious.scss +11 -0
  334. package/dist/scss/brands/sportbild/overrides/brandcolormapping.scss +71 -0
  335. package/dist/scss/{mapping/brand-sportbild.scss → brands/sportbild/overrides/brandtokenmapping.scss} +128 -128
  336. package/dist/scss/brands/sportbild/semantic/breakpoints/breakpoint-lg-1024px-regular.scss +475 -0
  337. package/dist/scss/brands/sportbild/semantic/breakpoints/breakpoint-md-600px.scss +475 -0
  338. package/dist/scss/brands/sportbild/semantic/breakpoints/breakpoint-sm-390px-compact.scss +475 -0
  339. package/dist/scss/brands/sportbild/semantic/breakpoints/breakpoint-xs-320px.scss +475 -0
  340. package/dist/scss/{semantic/bild/color/color-bild-dark.scss → brands/sportbild/semantic/color/colormode-dark.scss} +282 -282
  341. package/dist/scss/{semantic/advertorial/color/color-advertorial-light.scss → brands/sportbild/semantic/color/colormode-light.scss} +281 -281
  342. package/dist/scss/brands/sportbild/semantic/effects/effects-dark.scss +16 -0
  343. package/dist/scss/brands/sportbild/semantic/effects/effects-light.scss +16 -0
  344. package/dist/scss/brands/sportbild/semantic/typography/typography-lg.scss +127 -0
  345. package/dist/scss/brands/sportbild/semantic/typography/typography-md.scss +127 -0
  346. package/dist/scss/brands/sportbild/semantic/typography/typography-sm.scss +127 -0
  347. package/dist/scss/brands/sportbild/semantic/typography/typography-xs.scss +127 -0
  348. package/dist/scss/shared/colorprimitive.scss +97 -0
  349. package/package.json +4 -4
  350. package/dist/android/res/values/base/primitive_size_value.xml +0 -56
  351. package/dist/android/res/values/base/primitive_space_value.xml +0 -32
  352. package/dist/android/res/values/density/density_compact.xml +0 -15
  353. package/dist/android/res/values/density/density_default.xml +0 -15
  354. package/dist/android/res/values/density/density_spacious.xml +0 -15
  355. package/dist/android/res/values/semantic/advertorial/breakpoints/breakpoint_advertorial_lg.xml +0 -473
  356. package/dist/android/res/values/semantic/advertorial/breakpoints/breakpoint_advertorial_md.xml +0 -473
  357. package/dist/android/res/values/semantic/advertorial/breakpoints/breakpoint_advertorial_sm.xml +0 -473
  358. package/dist/android/res/values/semantic/advertorial/breakpoints/breakpoint_advertorial_xs.xml +0 -473
  359. package/dist/android/res/values/semantic/bild/breakpoints/breakpoint_bild_lg.xml +0 -473
  360. package/dist/android/res/values/semantic/bild/breakpoints/breakpoint_bild_md.xml +0 -473
  361. package/dist/android/res/values/semantic/bild/breakpoints/breakpoint_bild_sm.xml +0 -473
  362. package/dist/android/res/values/semantic/bild/breakpoints/breakpoint_bild_xs.xml +0 -473
  363. package/dist/android/res/values/semantic/sportbild/breakpoints/breakpoint_sportbild_lg.xml +0 -473
  364. package/dist/android/res/values/semantic/sportbild/breakpoints/breakpoint_sportbild_md.xml +0 -473
  365. package/dist/android/res/values/semantic/sportbild/breakpoints/breakpoint_sportbild_sm.xml +0 -473
  366. package/dist/android/res/values/semantic/sportbild/breakpoints/breakpoint_sportbild_xs.xml +0 -473
  367. package/dist/android/res/values/semantic/sportbild/color/color_sportbild_dark.xml +0 -271
  368. package/dist/android/res/values/semantic/sportbild/color/color_sportbild_light.xml +0 -271
  369. package/dist/css/base/index.css +0 -8
  370. package/dist/css/base/primitive-color-value-global.css +0 -100
  371. package/dist/css/base/primitive-color-value.css +0 -100
  372. package/dist/css/base/primitive-font-value.css +0 -49
  373. package/dist/css/base/primitive-size-value.css +0 -55
  374. package/dist/css/base/primitive-space-value.css +0 -31
  375. package/dist/css/density/density-compact-global.css +0 -14
  376. package/dist/css/density/density-compact.css +0 -14
  377. package/dist/css/density/density-default-global.css +0 -14
  378. package/dist/css/density/density-default.css +0 -14
  379. package/dist/css/density/density-spacious-global.css +0 -14
  380. package/dist/css/density/density-spacious.css +0 -14
  381. package/dist/css/density/index.css +0 -7
  382. package/dist/css/mapping/brand-advertorial.css +0 -277
  383. package/dist/css/mapping/brand-bild.css +0 -277
  384. package/dist/css/mapping/brand-color-bild-global.css +0 -74
  385. package/dist/css/mapping/brand-color-bild.css +0 -74
  386. package/dist/css/mapping/brand-color-sportbild-global.css +0 -74
  387. package/dist/css/mapping/brand-color-sportbild.css +0 -74
  388. package/dist/css/mapping/brand-sportbild.css +0 -277
  389. package/dist/css/mapping/index.css +0 -9
  390. package/dist/css/semantic/advertorial/breakpoints/breakpoint-advertorial-lg-global.css +0 -490
  391. package/dist/css/semantic/advertorial/breakpoints/breakpoint-advertorial-lg.css +0 -490
  392. package/dist/css/semantic/advertorial/breakpoints/breakpoint-advertorial-md-global.css +0 -490
  393. package/dist/css/semantic/advertorial/breakpoints/breakpoint-advertorial-md.css +0 -490
  394. package/dist/css/semantic/advertorial/breakpoints/breakpoint-advertorial-sm-global.css +0 -490
  395. package/dist/css/semantic/advertorial/breakpoints/breakpoint-advertorial-sm.css +0 -490
  396. package/dist/css/semantic/advertorial/breakpoints/breakpoint-advertorial-xs-global.css +0 -490
  397. package/dist/css/semantic/advertorial/breakpoints/breakpoint-advertorial-xs.css +0 -490
  398. package/dist/css/semantic/advertorial/breakpoints/index.css +0 -8
  399. package/dist/css/semantic/advertorial/color/color-advertorial-dark.css +0 -426
  400. package/dist/css/semantic/advertorial/color/color-advertorial-light.css +0 -426
  401. package/dist/css/semantic/advertorial/color/index.css +0 -6
  402. package/dist/css/semantic/bild/breakpoints/breakpoint-bild-lg-global.css +0 -490
  403. package/dist/css/semantic/bild/breakpoints/breakpoint-bild-lg.css +0 -490
  404. package/dist/css/semantic/bild/breakpoints/breakpoint-bild-md-global.css +0 -490
  405. package/dist/css/semantic/bild/breakpoints/breakpoint-bild-md.css +0 -490
  406. package/dist/css/semantic/bild/breakpoints/breakpoint-bild-sm-global.css +0 -490
  407. package/dist/css/semantic/bild/breakpoints/breakpoint-bild-sm.css +0 -490
  408. package/dist/css/semantic/bild/breakpoints/breakpoint-bild-xs-global.css +0 -490
  409. package/dist/css/semantic/bild/breakpoints/breakpoint-bild-xs.css +0 -490
  410. package/dist/css/semantic/bild/breakpoints/index.css +0 -8
  411. package/dist/css/semantic/bild/color/color-bild-dark.css +0 -426
  412. package/dist/css/semantic/bild/color/color-bild-light.css +0 -426
  413. package/dist/css/semantic/bild/color/index.css +0 -6
  414. package/dist/css/semantic/sportbild/breakpoints/breakpoint-sportbild-lg-global.css +0 -490
  415. package/dist/css/semantic/sportbild/breakpoints/breakpoint-sportbild-lg.css +0 -490
  416. package/dist/css/semantic/sportbild/breakpoints/breakpoint-sportbild-md-global.css +0 -490
  417. package/dist/css/semantic/sportbild/breakpoints/breakpoint-sportbild-md.css +0 -490
  418. package/dist/css/semantic/sportbild/breakpoints/breakpoint-sportbild-sm-global.css +0 -490
  419. package/dist/css/semantic/sportbild/breakpoints/breakpoint-sportbild-sm.css +0 -490
  420. package/dist/css/semantic/sportbild/breakpoints/breakpoint-sportbild-xs-global.css +0 -490
  421. package/dist/css/semantic/sportbild/breakpoints/breakpoint-sportbild-xs.css +0 -490
  422. package/dist/css/semantic/sportbild/breakpoints/index.css +0 -8
  423. package/dist/css/semantic/sportbild/color/color-sportbild-dark-global.css +0 -426
  424. package/dist/css/semantic/sportbild/color/color-sportbild-dark.css +0 -426
  425. package/dist/css/semantic/sportbild/color/color-sportbild-light-global.css +0 -426
  426. package/dist/css/semantic/sportbild/color/color-sportbild-light.css +0 -426
  427. package/dist/css/semantic/sportbild/color/index.css +0 -6
  428. package/dist/flutter/base/primitive_color_value.dart +0 -143
  429. package/dist/flutter/base/primitive_font_value.dart +0 -70
  430. package/dist/flutter/base/primitive_size_value.dart +0 -64
  431. package/dist/flutter/base/primitive_space_value.dart +0 -40
  432. package/dist/flutter/density/density_compact.dart +0 -28
  433. package/dist/flutter/density/density_default.dart +0 -28
  434. package/dist/flutter/density/density_spacious.dart +0 -28
  435. package/dist/flutter/mapping/brand_advertorial.dart +0 -410
  436. package/dist/flutter/mapping/brand_bild.dart +0 -410
  437. package/dist/flutter/mapping/brand_color_bild.dart +0 -133
  438. package/dist/flutter/mapping/brand_color_sportbild.dart +0 -133
  439. package/dist/flutter/mapping/brand_sportbild.dart +0 -410
  440. package/dist/flutter/semantic/advertorial/breakpoints/breakpoint_advertorial_lg.dart +0 -701
  441. package/dist/flutter/semantic/advertorial/breakpoints/breakpoint_advertorial_md.dart +0 -701
  442. package/dist/flutter/semantic/advertorial/breakpoints/breakpoint_advertorial_sm.dart +0 -701
  443. package/dist/flutter/semantic/advertorial/breakpoints/breakpoint_advertorial_xs.dart +0 -701
  444. package/dist/flutter/semantic/advertorial/color/color_advertorial_dark.dart +0 -381
  445. package/dist/flutter/semantic/advertorial/color/color_advertorial_light.dart +0 -381
  446. package/dist/flutter/semantic/bild/breakpoints/breakpoint_bild_lg.dart +0 -701
  447. package/dist/flutter/semantic/bild/breakpoints/breakpoint_bild_md.dart +0 -701
  448. package/dist/flutter/semantic/bild/breakpoints/breakpoint_bild_sm.dart +0 -701
  449. package/dist/flutter/semantic/bild/breakpoints/breakpoint_bild_xs.dart +0 -701
  450. package/dist/flutter/semantic/bild/color/color_bild_dark.dart +0 -381
  451. package/dist/flutter/semantic/bild/color/color_bild_light.dart +0 -381
  452. package/dist/flutter/semantic/sportbild/breakpoints/breakpoint_sportbild_lg.dart +0 -701
  453. package/dist/flutter/semantic/sportbild/breakpoints/breakpoint_sportbild_md.dart +0 -701
  454. package/dist/flutter/semantic/sportbild/breakpoints/breakpoint_sportbild_sm.dart +0 -701
  455. package/dist/flutter/semantic/sportbild/breakpoints/breakpoint_sportbild_xs.dart +0 -701
  456. package/dist/flutter/semantic/sportbild/color/color_sportbild_dark.dart +0 -381
  457. package/dist/flutter/semantic/sportbild/color/color_sportbild_light.dart +0 -381
  458. package/dist/ios/base/PrimitiveColorValue.swift +0 -140
  459. package/dist/ios/base/PrimitiveFontValue.swift +0 -67
  460. package/dist/ios/base/PrimitiveSizeValue.swift +0 -61
  461. package/dist/ios/base/PrimitiveSpaceValue.swift +0 -37
  462. package/dist/ios/density/DensityCompact.swift +0 -25
  463. package/dist/ios/density/DensityDefault.swift +0 -25
  464. package/dist/ios/density/DensitySpacious.swift +0 -25
  465. package/dist/ios/mapping/BrandAdvertorial.swift +0 -407
  466. package/dist/ios/mapping/BrandBild.swift +0 -407
  467. package/dist/ios/mapping/BrandColorBild.swift +0 -130
  468. package/dist/ios/mapping/BrandColorSportbild.swift +0 -130
  469. package/dist/ios/mapping/BrandSportbild.swift +0 -407
  470. package/dist/ios/semantic/advertorial/breakpoints/BreakpointAdvertorialLg.swift +0 -698
  471. package/dist/ios/semantic/advertorial/breakpoints/BreakpointAdvertorialMd.swift +0 -698
  472. package/dist/ios/semantic/advertorial/breakpoints/BreakpointAdvertorialSm.swift +0 -698
  473. package/dist/ios/semantic/advertorial/breakpoints/BreakpointAdvertorialXs.swift +0 -698
  474. package/dist/ios/semantic/advertorial/color/ColorAdvertorialDark.swift +0 -378
  475. package/dist/ios/semantic/advertorial/color/ColorAdvertorialLight.swift +0 -378
  476. package/dist/ios/semantic/bild/breakpoints/BreakpointBildLg.swift +0 -698
  477. package/dist/ios/semantic/bild/breakpoints/BreakpointBildMd.swift +0 -698
  478. package/dist/ios/semantic/bild/breakpoints/BreakpointBildSm.swift +0 -698
  479. package/dist/ios/semantic/bild/breakpoints/BreakpointBildXs.swift +0 -698
  480. package/dist/ios/semantic/bild/color/ColorBildDark.swift +0 -378
  481. package/dist/ios/semantic/bild/color/ColorBildLight.swift +0 -378
  482. package/dist/ios/semantic/sportbild/breakpoints/BreakpointSportbildLg.swift +0 -698
  483. package/dist/ios/semantic/sportbild/breakpoints/BreakpointSportbildMd.swift +0 -698
  484. package/dist/ios/semantic/sportbild/breakpoints/BreakpointSportbildSm.swift +0 -698
  485. package/dist/ios/semantic/sportbild/breakpoints/BreakpointSportbildXs.swift +0 -698
  486. package/dist/ios/semantic/sportbild/color/ColorSportbildDark.swift +0 -378
  487. package/dist/ios/semantic/sportbild/color/ColorSportbildLight.swift +0 -378
  488. package/dist/js/base/index.js +0 -15
  489. package/dist/js/base/primitive-color-value.js +0 -98
  490. package/dist/js/base/primitive-font-value.js +0 -47
  491. package/dist/js/base/primitive-size-value.js +0 -53
  492. package/dist/js/base/primitive-space-value.js +0 -29
  493. package/dist/js/density/density-compact.js +0 -12
  494. package/dist/js/density/density-default.js +0 -12
  495. package/dist/js/density/density-spacious.js +0 -12
  496. package/dist/js/density/index.js +0 -13
  497. package/dist/js/mapping/brand-advertorial.js +0 -283
  498. package/dist/js/mapping/brand-bild.js +0 -285
  499. package/dist/js/mapping/brand-color-bild.js +0 -78
  500. package/dist/js/mapping/brand-color-sportbild.js +0 -78
  501. package/dist/js/mapping/brand-sportbild.js +0 -292
  502. package/dist/js/mapping/index.js +0 -17
  503. package/dist/js/semantic/advertorial/breakpoints/breakpoint-advertorial-lg.js +0 -469
  504. package/dist/js/semantic/advertorial/breakpoints/breakpoint-advertorial-md.js +0 -469
  505. package/dist/js/semantic/advertorial/breakpoints/breakpoint-advertorial-sm.js +0 -470
  506. package/dist/js/semantic/advertorial/breakpoints/breakpoint-advertorial-xs.js +0 -470
  507. package/dist/js/semantic/advertorial/breakpoints/index.js +0 -15
  508. package/dist/js/semantic/advertorial/color/color-advertorial-dark.js +0 -244
  509. package/dist/js/semantic/advertorial/color/color-advertorial-light.js +0 -240
  510. package/dist/js/semantic/advertorial/color/index.js +0 -11
  511. package/dist/js/semantic/bild/breakpoints/breakpoint-bild-lg.js +0 -470
  512. package/dist/js/semantic/bild/breakpoints/breakpoint-bild-md.js +0 -470
  513. package/dist/js/semantic/bild/breakpoints/breakpoint-bild-sm.js +0 -471
  514. package/dist/js/semantic/bild/breakpoints/breakpoint-bild-xs.js +0 -471
  515. package/dist/js/semantic/bild/breakpoints/index.js +0 -15
  516. package/dist/js/semantic/bild/color/color-bild-dark.js +0 -244
  517. package/dist/js/semantic/bild/color/color-bild-light.js +0 -240
  518. package/dist/js/semantic/bild/color/index.js +0 -11
  519. package/dist/js/semantic/sportbild/breakpoints/breakpoint-sportbild-lg.js +0 -471
  520. package/dist/js/semantic/sportbild/breakpoints/breakpoint-sportbild-md.js +0 -471
  521. package/dist/js/semantic/sportbild/breakpoints/breakpoint-sportbild-sm.js +0 -472
  522. package/dist/js/semantic/sportbild/breakpoints/breakpoint-sportbild-xs.js +0 -472
  523. package/dist/js/semantic/sportbild/breakpoints/index.js +0 -15
  524. package/dist/js/semantic/sportbild/color/color-sportbild-dark.js +0 -244
  525. package/dist/js/semantic/sportbild/color/color-sportbild-light.js +0 -240
  526. package/dist/js/semantic/sportbild/color/index.js +0 -11
  527. package/dist/json/base/primitive-color-value.json +0 -148
  528. package/dist/json/base/primitive-font-value.json +0 -59
  529. package/dist/json/base/primitive-size-value.json +0 -51
  530. package/dist/json/base/primitive-space-value.json +0 -27
  531. package/dist/json/density/density-compact.json +0 -16
  532. package/dist/json/density/density-default.json +0 -16
  533. package/dist/json/density/density-spacious.json +0 -16
  534. package/dist/json/mapping/brand-advertorial.json +0 -393
  535. package/dist/json/mapping/brand-bild.json +0 -393
  536. package/dist/json/mapping/brand-color-bild.json +0 -98
  537. package/dist/json/mapping/brand-color-sportbild.json +0 -98
  538. package/dist/json/mapping/brand-sportbild.json +0 -393
  539. package/dist/json/semantic/advertorial/breakpoints/breakpoint-advertorial-lg.json +0 -686
  540. package/dist/json/semantic/advertorial/breakpoints/breakpoint-advertorial-md.json +0 -686
  541. package/dist/json/semantic/advertorial/breakpoints/breakpoint-advertorial-sm.json +0 -686
  542. package/dist/json/semantic/advertorial/breakpoints/breakpoint-advertorial-xs.json +0 -686
  543. package/dist/json/semantic/advertorial/color/color-advertorial-dark.json +0 -308
  544. package/dist/json/semantic/advertorial/color/color-advertorial-light.json +0 -308
  545. package/dist/json/semantic/bild/breakpoints/breakpoint-bild-lg.json +0 -686
  546. package/dist/json/semantic/bild/breakpoints/breakpoint-bild-md.json +0 -686
  547. package/dist/json/semantic/bild/breakpoints/breakpoint-bild-sm.json +0 -686
  548. package/dist/json/semantic/bild/breakpoints/breakpoint-bild-xs.json +0 -686
  549. package/dist/json/semantic/bild/color/color-bild-dark.json +0 -308
  550. package/dist/json/semantic/bild/color/color-bild-light.json +0 -308
  551. package/dist/json/semantic/sportbild/breakpoints/breakpoint-sportbild-lg.json +0 -686
  552. package/dist/json/semantic/sportbild/breakpoints/breakpoint-sportbild-md.json +0 -686
  553. package/dist/json/semantic/sportbild/breakpoints/breakpoint-sportbild-sm.json +0 -686
  554. package/dist/json/semantic/sportbild/breakpoints/breakpoint-sportbild-xs.json +0 -686
  555. package/dist/json/semantic/sportbild/color/color-sportbild-dark.json +0 -308
  556. package/dist/json/semantic/sportbild/color/color-sportbild-light.json +0 -308
  557. package/dist/scss/base/index.scss +0 -8
  558. package/dist/scss/base/primitive-color-value.scss +0 -97
  559. package/dist/scss/density/density-compact.scss +0 -11
  560. package/dist/scss/density/density-default.scss +0 -11
  561. package/dist/scss/density/density-spacious.scss +0 -11
  562. package/dist/scss/density/index.scss +0 -7
  563. package/dist/scss/mapping/brand-color-bild.scss +0 -71
  564. package/dist/scss/mapping/brand-color-sportbild.scss +0 -71
  565. package/dist/scss/mapping/index.scss +0 -9
  566. package/dist/scss/semantic/advertorial/breakpoints/breakpoint-advertorial-lg.scss +0 -475
  567. package/dist/scss/semantic/advertorial/breakpoints/breakpoint-advertorial-md.scss +0 -475
  568. package/dist/scss/semantic/advertorial/breakpoints/breakpoint-advertorial-sm.scss +0 -475
  569. package/dist/scss/semantic/advertorial/breakpoints/breakpoint-advertorial-xs.scss +0 -475
  570. package/dist/scss/semantic/advertorial/breakpoints/index.scss +0 -8
  571. package/dist/scss/semantic/advertorial/color/index.scss +0 -6
  572. package/dist/scss/semantic/bild/breakpoints/breakpoint-bild-lg.scss +0 -475
  573. package/dist/scss/semantic/bild/breakpoints/breakpoint-bild-md.scss +0 -475
  574. package/dist/scss/semantic/bild/breakpoints/breakpoint-bild-sm.scss +0 -475
  575. package/dist/scss/semantic/bild/breakpoints/breakpoint-bild-xs.scss +0 -475
  576. package/dist/scss/semantic/bild/breakpoints/index.scss +0 -8
  577. package/dist/scss/semantic/bild/color/index.scss +0 -6
  578. package/dist/scss/semantic/sportbild/breakpoints/breakpoint-sportbild-lg.scss +0 -475
  579. package/dist/scss/semantic/sportbild/breakpoints/breakpoint-sportbild-md.scss +0 -475
  580. package/dist/scss/semantic/sportbild/breakpoints/breakpoint-sportbild-sm.scss +0 -475
  581. package/dist/scss/semantic/sportbild/breakpoints/breakpoint-sportbild-xs.scss +0 -475
  582. package/dist/scss/semantic/sportbild/breakpoints/index.scss +0 -8
  583. package/dist/scss/semantic/sportbild/color/color-sportbild-dark.scss +0 -319
  584. package/dist/scss/semantic/sportbild/color/color-sportbild-light.scss +0 -319
  585. package/dist/scss/semantic/sportbild/color/index.scss +0 -6
  586. package/dist/css/{base/primitive-font-value-global.css → shared/fontprimitive.css} +23 -23
  587. package/dist/css/{base/primitive-size-value-global.css → shared/sizeprimitive.css} +41 -41
  588. package/dist/css/{base/primitive-space-value-global.css → shared/spaceprimitive.css} +20 -20
  589. package/dist/scss/{base/primitive-font-value.scss → shared/fontprimitive.scss} +23 -23
  590. package/dist/scss/{base/primitive-size-value.scss → shared/sizeprimitive.scss} +41 -41
  591. package/dist/scss/{base/primitive-space-value.scss → shared/spaceprimitive.scss} +20 -20
package/README.md CHANGED
@@ -1,16 +1,17 @@
1
1
  # 🎨 BILD Design System - Token Pipeline
2
2
 
3
- A comprehensive token transformation pipeline based on **Style Dictionary v4** for the BILD Design System. This pipeline transforms Figma design tokens (exported via VariableVisualizer Plugin) into consumable formats across multiple platforms, brands, and modes.
3
+ A comprehensive multi-platform token transformation pipeline based on **Style Dictionary v4** for the BILD Design System. This pipeline transforms design tokens from a custom Figma plugin export into consumable formats across 7 platforms, 3 brands, and multiple modes.
4
4
 
5
5
  ## 📋 Table of Contents
6
6
 
7
7
  - [Overview](#overview)
8
8
  - [Features](#features)
9
- - [Token Architecture](#token-architecture)
10
9
  - [Installation](#installation)
11
- - [Usage](#usage)
10
+ - [Quick Start](#quick-start)
11
+ - [Token Architecture](#token-architecture)
12
12
  - [Output Structure](#output-structure)
13
- - [Configuration](#configuration)
13
+ - [Platform Usage](#platform-usage)
14
+ - [Development](#development)
14
15
  - [CI/CD Integration](#cicd-integration)
15
16
  - [Troubleshooting](#troubleshooting)
16
17
 
@@ -18,25 +19,30 @@ A comprehensive token transformation pipeline based on **Style Dictionary v4** f
18
19
 
19
20
  ## 🎯 Overview
20
21
 
21
- This token pipeline processes the multi-layer, multi-brand architecture of the BILD Design System with full support for design token aliases, modes, and brand-specific variations.
22
+ This token pipeline processes the multi-layer, multi-brand architecture of the BILD Design System with full support for:
23
+ - **3 Brands**: BILD, SportBILD, Advertorial
24
+ - **7 Platforms**: CSS, SCSS, JavaScript, JSON, iOS (Swift), Android (XML), Flutter (Dart)
25
+ - **Multiple Modes**: Density (3), Breakpoints (4), Color Modes (2)
26
+ - **Composite Tokens**: Typography, Effects
22
27
 
23
28
  ```
24
- Figma Tokens (JSON)
29
+ Custom Figma Plugin Export (JSON)
25
30
 
26
- Preprocessing (scripts/preprocess-figma-tokens.js)
27
- Alias resolution with brand awareness
28
- Mode ID mapping
29
- Collection ID-based filtering
31
+ Preprocessing (scripts/preprocess-plugin-tokens.js)
32
+ Complete alias resolution (no {Alias.Path} syntax)
33
+ Context-aware resolution: Brand × Breakpoint × ColorMode
34
+ Mode name matching (robust against ID changes)
35
+ • FontWeight bug fixes ("700px" → 700)
30
36
 
31
- Style Dictionary v4 (scripts/build-tokens.js)
32
- Custom transforms
33
- Multi-platform output
34
- Brand-specific builds
37
+ Style Dictionary v4 (scripts/build-tokens-v2.js)
38
+ Multi-platform output (7 formats)
39
+ Brand-specific builds
40
+ Composite token support (Typography, Effects)
35
41
 
36
- Output Files (CSS, SCSS, JS, JSON)
37
- Platform-first organization
38
- Brand-specific semantic tokens
39
- Zero warnings, fully resolved
42
+ Output Files (dist/)
43
+ css/, scss/, js/, json/, ios/, android/, flutter/
44
+ shared/ (primitives) + brands/{brand}/ (brand-specific)
45
+ 52/52 successful builds
40
46
  ```
41
47
 
42
48
  ---
@@ -45,385 +51,275 @@ Figma Tokens (JSON)
45
51
 
46
52
  ### Pipeline Features
47
53
 
48
- ✅ **Stable Collection IDs**: Uses Figma Collection IDs instead of names for robustness against renaming
49
- ✅ **Zero Warnings**: All false positives eliminated - handles `0`, `false`, `""` values correctly
50
- ✅ **Brand-Aware Alias Resolution**: Cross-collection references resolve correctly per brand
51
- ✅ **Multi-Layer Support**: Base Mapping Density Semantic
52
- ✅ **Multi-Brand**: BILD, SportBILD, Advertorial
53
- ✅ **Multi-Mode**: Light/Dark, Responsive Breakpoints, Density variations
54
- ✅ **Multiple Output Formats**: CSS, SCSS, JavaScript, JSON
55
- ✅ **Hot Reload**: Watch mode for development
54
+ ✅ **Complete Alias Resolution**: All `VARIABLE_ALIAS` references resolved to final values in preprocessing
55
+ ✅ **7 Platform Support**: CSS, SCSS, JavaScript, JSON, iOS Swift, Android XML, Flutter Dart
56
+ ✅ **Multi-Brand Architecture**: BILD, SportBILD, Advertorial with brand-specific token resolution
57
+ ✅ **Composite Tokens**: Typography (12 outputs: 3 brands × 4 breakpoints), Effects (6 outputs: 3 brands × 2 color modes)
58
+ ✅ **Context-Aware Resolution**: Brand × Breakpoint × ColorMode matrix processing
59
+ ✅ **Advertorial Special Handling**: No color/ folder (no BrandColorMapping)
60
+ ✅ **Size Class Mapping**: iOS/Android only generate compact (sm) and regular (lg) with sizeclass terminology
61
+ ✅ **Zero Reference Errors**: All aliases fully resolved before Style Dictionary
56
62
 
57
- ### Architecture Features
63
+ ### Build Statistics
58
64
 
59
- **Platform-First Organization**: `dist/css/`, `dist/scss/`, `dist/js/`, `dist/json/`
60
- ✅ **Brand-Specific Semantic Layer**: Tokens organized by brand, then category
61
- **Recursive Index Files**: Automatic index generation at each level
62
- **Gitignored Dist**: Build artifacts excluded from version control
65
+ - **52/52 builds successful** across all platforms
66
+ - 4 Shared Primitives (Color, Font, Size, Space)
67
+ - 30 Brand-specific Tokens (3 brands × 10 token sets)
68
+ - 12 Typography Builds (3 brands × 4 breakpoints)
69
+ - 6 Effect Builds (3 brands × 2 color modes)
63
70
 
64
71
  ---
65
72
 
66
73
  ## 📦 Installation
67
74
 
68
- ### As NPM Package (Recommended)
69
-
70
- This package is published to **GitHub Packages** as `@uxwizard25/design-system-tokens`.
75
+ ### Prerequisites
71
76
 
72
- #### 1. Configure NPM Registry
77
+ - Node.js >= 20.x
78
+ - npm >= 10.x
73
79
 
74
- Create or edit `.npmrc` in your project root:
80
+ ### Setup
75
81
 
76
82
  ```bash
77
- @uxwizard25:registry=https://npm.pkg.github.com
78
- //npm.pkg.github.com/:_authToken=${GITHUB_TOKEN}
79
- ```
80
-
81
- #### 2. Authenticate with GitHub
82
-
83
- Create a Personal Access Token (PAT):
84
-
85
- 1. Go to: https://github.com/settings/tokens
86
- 2. Click **"Generate new token (classic)"**
87
- 3. Name: `npm-packages-read`
88
- 4. Scopes: Select `read:packages`
89
- 5. Click **"Generate token"**
90
- 6. Copy the token
83
+ # Clone repository
84
+ git clone https://github.com/UXWizard25/vv-token-test-v3.git
85
+ cd vv-token-test-v3
91
86
 
92
- Add the token to your `.npmrc`:
87
+ # Install dependencies
88
+ npm install
93
89
 
94
- ```bash
95
- //npm.pkg.github.com/:_authToken=ghp_YOUR_TOKEN_HERE
90
+ # Build tokens
91
+ npm run build
96
92
  ```
97
93
 
98
- Or use an environment variable:
94
+ ---
99
95
 
100
- ```bash
101
- export GITHUB_TOKEN="ghp_YOUR_TOKEN_HERE"
102
- ```
96
+ ## 🚀 Quick Start
103
97
 
104
- #### 3. Install Package
98
+ ### Build Tokens
105
99
 
106
100
  ```bash
107
- # Latest version
108
- npm install @uxwizard25/design-system-tokens
109
-
110
- # Specific version
111
- npm install @uxwizard25/design-system-tokens@1.2.3
112
-
113
- # As dev dependency
114
- npm install --save-dev @uxwizard25/design-system-tokens
115
- ```
116
-
117
- #### 4. Use in Your Project
118
-
119
- **CSS:**
120
- ```css
121
- /* Import in your main CSS file */
122
- @import '@uxwizard25/design-system-tokens/css/semantic/bild/color/color-bild-light.css';
123
- ```
124
-
125
- **SCSS:**
126
- ```scss
127
- // Import in your SCSS file
128
- @import '@uxwizard25/design-system-tokens/scss/semantic/bild/color/color-bild-light';
101
+ # Full build (preprocessing + build)
102
+ npm run build
129
103
 
130
- .my-button {
131
- background-color: var(--color-brand-primary);
132
- }
104
+ # Or run steps separately:
105
+ npm run preprocess # Custom Plugin JSON → Style Dictionary format
106
+ npm run build:tokens # Style Dictionary → Platform outputs
133
107
  ```
134
108
 
135
- **JavaScript/TypeScript:**
136
- ```javascript
137
- // Import tokens as JS module
138
- import tokens from '@uxwizard25/design-system-tokens/json/semantic/bild/color/color-bild-light.json';
139
-
140
- console.log(tokens.color.brand.primary); // "#de0000"
141
- ```
109
+ ### Watch Mode (Development)
142
110
 
143
- **Webpack/Vite:**
144
- ```javascript
145
- // In your main.js or main.ts
146
- import '@uxwizard25/design-system-tokens/css/semantic/bild/color/color-bild-light.css';
111
+ ```bash
112
+ npm run watch
147
113
  ```
148
114
 
149
- ### Local Development
150
-
151
- If you want to develop the token pipeline itself:
115
+ ### Clean Generated Files
152
116
 
153
117
  ```bash
154
- # Clone repository
155
- git clone https://github.com/UXWizard25/vv-token-test-v3.git
156
- cd vv-token-test-v3
157
-
158
- # Install dependencies
159
- npm install
160
-
161
- # Build tokens
162
- npm run build
163
-
164
- # Watch mode (auto-rebuild on changes)
165
- npm run watch
118
+ npm run clean
166
119
  ```
167
120
 
168
121
  ---
169
122
 
170
123
  ## 🏗️ Token Architecture
171
124
 
172
- ### Layer Structure
125
+ ### Multi-Layer Structure
173
126
 
174
127
  The Design System is organized in four layers:
175
128
 
176
- #### 1️⃣ **Base Layer** - Primitive Tokens
177
-
178
- Foundation tokens without modes (only "Value" mode).
129
+ #### 1️⃣ **Shared Primitives** - Foundation Tokens
179
130
 
180
- - **`_ColorPrimitive`**: Base color palette (includes opacity values)
181
- - **`_SpacePrimitive`**: Base spacing scale
182
- - **`_SizePrimitive`**: Base size scale
183
- - **`_FontPrimitive`**: Base typography
131
+ Base tokens without brand context (single mode: "Value").
184
132
 
185
133
  **Collections:**
186
- - `VariableCollectionId:539:2238` → `_ColorPrimitive`
187
- - `VariableCollectionId:2726:12077` → `_SpacePrimitive`
188
- - `VariableCollectionId:4072:1817` → `_SizePrimitive`
189
- - `VariableCollectionId:470:1450` → `_FontPrimitive`
134
+ - `_FontPrimitive` → Font families, weights, letter spacing
135
+ - `_ColorPrimitive` → Base color palette
136
+ - `_SizePrimitive` → Base size scale
137
+ - `_SpacePrimitive` → Base spacing scale
190
138
 
191
139
  **Output:**
192
140
  ```
193
- dist/css/base/
194
- ├── primitive-color-value.css
195
- ├── primitive-space-value.css
196
- ├── primitive-size-value.css
197
- └── primitive-font-value.css
141
+ dist/{platform}/shared/
142
+ ├── fontprimitive.*
143
+ ├── colorprimitive.*
144
+ ├── sizeprimitive.*
145
+ └── spaceprimitive.*
198
146
  ```
199
147
 
200
- #### 2️⃣ **Mapping Layer** - Brand-Specific Tokens
148
+ #### 2️⃣ **Brand-Specific Tokens** - Density & Overrides
201
149
 
202
- Maps primitives to brand identities.
150
+ Brand context tokens with multiple modes.
203
151
 
204
- - **`BrandTokenMapping`**: Modes: BILD, SportBILD, Advertorial
205
- - **`BrandColorMapping`**: Modes: BILD, SportBILD
152
+ **Density Collection** (3 modes):
153
+ - compact, default, spacious
206
154
 
207
- **Collections:**
208
- - `VariableCollectionId:18038:10593` `BrandTokenMapping`
209
- - `VariableCollectionId:18212:14495` `BrandColorMapping`
155
+ **Brand Overrides** (3 brands):
156
+ - BrandTokenMapping: BILD, SportBILD, Advertorial
157
+ - BrandColorMapping: BILD, SportBILD (⚠️ Advertorial has no BrandColorMapping)
210
158
 
211
159
  **Output:**
212
160
  ```
213
- dist/css/mapping/
214
- ├── brand-bild.css
215
- ├── brand-sportbild.css
216
- ├── brand-advertorial.css
217
- ├── brand-color-bild.css
218
- └── brand-color-sportbild.css
161
+ dist/{platform}/brands/{brand}/
162
+ ├── density/
163
+ ├── density-compact.*
164
+ ├── density-default.*
165
+ │ └── density-spacious.*
166
+ └── overrides/
167
+ ├── brandtokenmapping.*
168
+ └── brandcolormapping.* # Only BILD & SportBILD
219
169
  ```
220
170
 
221
- #### 3️⃣ **Density Layer** - Density Variations
171
+ #### 3️⃣ **Semantic Tokens** - Brand × Mode Matrix
222
172
 
223
- Intermediate layer for UI density levels.
173
+ Context-specific tokens with brand and mode variations.
224
174
 
225
- - **`Density`**: Modes: compact, default, spacious
175
+ **BreakpointMode** (4 modes per brand):
176
+ - xs (320px), sm (390px, compact), md (600px), lg (1024px, regular)
226
177
 
227
- **Collections:**
228
- - `VariableCollectionId:5695:5841` → `Density`
178
+ **ColorMode** (2 modes per brand):
179
+ - light, dark
229
180
 
230
181
  **Output:**
231
182
  ```
232
- dist/css/density/
233
- ├── density-compact.css
234
- ├── density-default.css
235
- └── density-spacious.css
183
+ dist/{platform}/brands/{brand}/semantic/
184
+ ├── breakpoints/
185
+ ├── breakpoint-xs-320px.*
186
+ │ ├── breakpoint-sm-390px-compact.*
187
+ │ ├── breakpoint-md-600px.*
188
+ │ └── breakpoint-lg-1024px-regular.*
189
+ └── color/
190
+ ├── colormode-light.*
191
+ └── colormode-dark.*
236
192
  ```
237
193
 
238
- #### 4️⃣ **Semantic Layer** - Context-Specific Tokens ⭐
194
+ ⚠️ **Note**: Advertorial has **no color/ folder** (no BrandColorMapping collection).
239
195
 
240
- **Brand-specific consumable layer** for applications. Each brand gets its own directory with resolved values.
196
+ #### 4️⃣ **Composite Tokens** - Typography & Effects
241
197
 
242
- - **`ColorMode`**: Modes: Light, Dark (brand-specific)
243
- - **`BreakpointMode`**: Modes: XS, SM, MD, LG (brand-specific)
198
+ Structured tokens with CSS classes for ready-to-use styles.
244
199
 
245
- **Collections:**
246
- - `VariableCollectionId:588:1979` `ColorMode`
247
- - `VariableCollectionId:7017:25696` `BreakpointMode`
200
+ **Typography** (4 breakpoints per brand):
201
+ - 3 brands × 4 breakpoints = **12 outputs**
202
+ - CSS: Ready-to-use classes (`.headline1`, `.body1`, etc.)
203
+ - iOS/Android: Only compact (sm) and regular (lg) with sizeclass terminology
248
204
 
249
- **Output:**
250
- ```
251
- dist/css/semantic/
252
- ├── bild/
253
- │ ├── color/
254
- │ │ ├── color-bild-light.css # BILD brand with #de0000
255
- │ │ └── color-bild-dark.css
256
- │ └── breakpoints/
257
- │ ├── breakpoint-bild-xs.css
258
- │ ├── breakpoint-bild-sm.css
259
- │ ├── breakpoint-bild-md.css
260
- │ └── breakpoint-bild-lg.css
261
- ├── sportbild/
262
- │ ├── color/
263
- │ │ ├── color-sportbild-light.css # SportBILD brand with #0a264f
264
- │ │ └── color-sportbild-dark.css
265
- │ └── breakpoints/
266
- │ └── ...
267
- └── advertorial/
268
- ├── color/
269
- │ ├── color-advertorial-light.css
270
- │ └── color-advertorial-dark.css
271
- └── breakpoints/
272
- └── ...
273
- ```
274
-
275
- **Key Feature:** Each brand directory contains fully resolved token values specific to that brand. Cross-collection aliases (e.g., from `ColorMode` → `BrandColorMapping`) are resolved correctly per brand during preprocessing.
205
+ **Effects** (2 color modes per brand):
206
+ - 3 brands × 2 color modes = **6 outputs**
207
+ - CSS: Shadow and blur effect classes
208
+ - All platforms: Effect token objects
276
209
 
277
- ---
278
-
279
- ## 📦 Installation
280
-
281
- ### Prerequisites
282
-
283
- - Node.js >= 16.x
284
- - npm >= 8.x
285
-
286
- ### Setup
287
-
288
- ```bash
289
- # Install dependencies
290
- npm install
291
-
292
- # Or with pnpm/yarn
293
- pnpm install
294
- yarn install
210
+ **Output:**
295
211
  ```
296
-
297
- ---
298
-
299
- ## 🚀 Usage
300
-
301
- ### Full Build
302
-
303
- ```bash
304
- # 1. Preprocessing: Figma JSON → Intermediate tokens
305
- npm run preprocess
306
-
307
- # 2. Build: Tokens → Output files
308
- npm run build:tokens
309
-
310
- # Or both in one step:
311
- npm run build
212
+ dist/{platform}/brands/{brand}/semantic/
213
+ ├── typography/
214
+ │ ├── typography-xs.*
215
+ │ ├── typography-sm.*
216
+ │ ├── typography-md.*
217
+ │ └── typography-lg.*
218
+ └── effects/
219
+ ├── effects-light.*
220
+ └── effects-dark.*
312
221
  ```
313
222
 
314
- **Build Results:**
315
- - ✅ 30/30 builds successful
316
- - ✅ 0 warnings
317
- - ✅ All aliases resolved correctly
318
- - ✅ Brand-specific values verified
319
-
320
- ### Watch Mode (Development)
321
-
322
- ```bash
323
- # Auto-rebuild on changes
324
- npm run watch
223
+ **iOS/Android Size Classes:**
325
224
  ```
225
+ dist/ios/brands/{brand}/
226
+ ├── sizeclass-compact/ # sm breakpoint
227
+ │ └── Typography.swift
228
+ └── sizeclass-regular/ # lg breakpoint
229
+ └── Typography.swift
326
230
 
327
- ### Clean Build
328
-
329
- ```bash
330
- # Remove all generated files
331
- npm run clean
231
+ dist/android/brands/{brand}/
232
+ ├── sizeclass-compact/ # sm breakpoint
233
+ │ └── typography_styles.xml
234
+ └── sizeclass-regular/ # lg breakpoint
235
+ └── typography_styles.xml
332
236
  ```
333
237
 
334
238
  ---
335
239
 
336
240
  ## 📁 Output Structure
337
241
 
338
- ### Platform-First Organization
242
+ ### Platform Overview
339
243
 
340
244
  ```
341
245
  dist/
342
- ├── manifest.json # Manifest of all generated files
246
+ ├── manifest.json # Build metadata
343
247
 
344
248
  ├── css/ # CSS Custom Properties
345
- │ ├── base/
346
- │ ├── index.css # Aggregates all base tokens
347
- │ │ ├── primitive-color-value.css
348
- │ │ ├── primitive-color-value-global.css
349
- │ │ └── ...
350
- │ ├── mapping/
351
- │ │ ├── index.css
352
- │ │ ├── brand-bild.css
353
- │ │ └── ...
354
- │ ├── density/
355
- │ │ ├── index.css
356
- │ │ └── ...
357
- │ └── semantic/
249
+ │ ├── shared/ # Primitives (no brand context)
250
+ └── brands/
358
251
  │ ├── bild/
359
- │ │ ├── color/
360
- │ │ │ ├── index.css
361
- │ │ │ ├── color-bild-light.css
362
- │ │ │ ├── color-bild-light-global.css
363
- │ │ │ └── color-bild-dark.css
364
- │ │ └── breakpoints/
365
- │ │ ├── index.css
366
- │ │ ├── breakpoint-bild-xs.css
367
- │ │ └── ...
368
252
  │ ├── sportbild/
369
- │ │ └── ...
370
253
  │ └── advertorial/
371
- │ └── ...
372
254
 
373
255
  ├── scss/ # SCSS Variables (same structure)
374
256
  ├── js/ # JavaScript ES6 Modules (same structure)
375
- └── json/ # Structured JSON (same structure)
257
+ ├── json/ # JSON Data (same structure)
258
+
259
+ ├── ios/ # Swift Classes
260
+ │ ├── shared/
261
+ │ └── brands/{brand}/
262
+ │ ├── density/
263
+ │ ├── overrides/
264
+ │ ├── semantic/
265
+ │ ├── sizeclass-compact/ # sm only
266
+ │ └── sizeclass-regular/ # lg only
267
+
268
+ ├── android/ # Android XML Resources
269
+ │ ├── res/values/shared/
270
+ │ └── brands/{brand}/
271
+ │ └── sizeclass-{compact|regular}/
272
+
273
+ └── flutter/ # Flutter Dart Classes (same structure as CSS)
376
274
  ```
377
275
 
378
- ### File Format Variants
276
+ ### Brand Directory Structure
277
+
278
+ Each brand contains:
379
279
 
380
- Each token set generates multiple variants:
280
+ ```
281
+ brands/{brand}/
282
+ ├── density/ # 3 files (compact, default, spacious)
283
+ ├── overrides/ # 1-2 files (brandtokenmapping, brandcolormapping*)
284
+ └── semantic/
285
+ ├── breakpoints/ # 4 files (xs, sm, md, lg)
286
+ ├── color/ # 2 files (light, dark) - BILD & SportBILD only
287
+ ├── effects/ # 2 files (light, dark)
288
+ └── typography/ # 4 files (xs, sm, md, lg)
289
+ ```
381
290
 
382
- | Format | Usage | Selector | Example |
383
- |--------|-------|----------|---------|
384
- | `.css` | Data attribute scoped | `[data-color="light"]` | Scoped contexts |
385
- | `-global.css` | Root scoped | `:root` | Global application |
386
- | `.scss` | SCSS variables | `$token-name` | Sass preprocessing |
387
- | `.js` | ES6 module | `import tokens` | JavaScript apps |
388
- | `.json` | Structured data | JSON | API/tooling |
291
+ ⚠️ **Advertorial Exception**: No `color/` folder (no BrandColorMapping)
389
292
 
390
293
  ---
391
294
 
392
- ## 🎨 Usage in Projects
295
+ ## 🎨 Platform Usage
393
296
 
394
297
  ### CSS
395
298
 
396
299
  ```css
397
300
  /* Import brand-specific tokens */
398
- @import '@bild-ds/tokens/dist/css/semantic/bild/color/color-bild-light.css';
399
- @import '@bild-ds/tokens/dist/css/semantic/bild/breakpoints/breakpoint-bild-md.css';
400
-
401
- /* Or use index files */
402
- @import '@bild-ds/tokens/dist/css/semantic/bild/color/index.css';
403
-
404
- /* Usage with data attributes */
405
- [data-color="light"] {
406
- background: var(--semantic-core-core-color-primary); /* #de0000 for BILD */
407
- }
408
-
409
- /* Or with global variant */
410
- @import '@bild-ds/tokens/dist/css/semantic/bild/color/color-bild-light-global.css';
301
+ @import '@marioschmidt/design-system-tokens/css/brands/bild/semantic/color/colormode-light.css';
302
+ @import '@marioschmidt/design-system-tokens/css/brands/bild/semantic/typography/typography-md.css';
411
303
 
304
+ /* Use CSS custom properties */
412
305
  .button {
413
- background: var(--semantic-core-core-color-primary);
306
+ background-color: var(--bild-red-bild-red); /* #DD0000 */
307
+ font-family: var(--font-family-bild-font-family-gotham-cond);
414
308
  }
309
+
310
+ /* Use ready-made typography classes */
311
+ <h1 class="headline1">Headline</h1>
415
312
  ```
416
313
 
417
314
  ### SCSS
418
315
 
419
316
  ```scss
420
317
  // Import brand-specific tokens
421
- @import '@bild-ds/tokens/dist/scss/semantic/bild/color/color-bild-light.scss';
318
+ @import '@marioschmidt/design-system-tokens/scss/brands/bild/semantic/color/colormode-light';
422
319
 
423
- // Usage
424
320
  .button {
425
- background-color: $semantic-core-core-color-primary; // #de0000 for BILD
426
- padding: $semantic-spacing-spacing-md;
321
+ background-color: $bild-red-bild-red; // #DD0000
322
+ padding: $space-primitive-space2x;
427
323
  }
428
324
  ```
429
325
 
@@ -431,130 +327,75 @@ Each token set generates multiple variants:
431
327
 
432
328
  ```javascript
433
329
  // Import brand-specific tokens
434
- import bildColorLight from '@bild-ds/tokens/dist/js/semantic/bild/color/color-bild-light.js';
435
- import sportbildColorLight from '@bild-ds/tokens/dist/js/semantic/sportbild/color/color-sportbild-light.js';
330
+ import tokens from '@marioschmidt/design-system-tokens/js/brands/bild/semantic/color/colormode-light.js';
436
331
 
437
- // BILD brand
438
- console.log(bildColorLight['semantic-core-core-color-primary']); // "#de0000"
439
-
440
- // SportBILD brand
441
- console.log(sportbildColorLight['semantic-core-core-color-primary']); // "#0a264f"
442
- ```
443
-
444
- ### React/Styled Components
445
-
446
- ```jsx
447
- import bildTokens from '@bild-ds/tokens/dist/js/semantic/bild/color/color-bild-light.js';
332
+ console.log(tokens.BildRedBildRed); // "#dd0000"
448
333
 
334
+ // React/Styled Components
449
335
  const Button = styled.button`
450
- background-color: ${bildTokens['semantic-core-core-color-primary']};
451
- color: ${bildTokens['semantic-core-core-fg-on-primary']};
336
+ background-color: ${tokens.BildRedBildRed};
452
337
  `;
453
338
  ```
454
339
 
455
- ---
456
-
457
- ## ⚙️ Configuration
458
-
459
- ### Collection Configuration
460
-
461
- Located in `scripts/build-tokens.js`:
340
+ ### JSON
462
341
 
463
342
  ```javascript
464
- const COLLECTION_CONFIG = {
465
- 'colormode': {
466
- layer: 'semantic',
467
- category: 'color',
468
- modes: ['light', 'dark'],
469
- outputPrefix: 'color',
470
- figmaCollectionId: 'VariableCollectionId:588:1979', // Stable ID
471
- figmaCollectionName: 'ColorMode', // For logging only
472
- brandSpecific: true,
473
- brands: ['bild', 'sportbild', 'advertorial']
474
- },
475
- // ... more collections
476
- };
477
- ```
478
-
479
- **Key Points:**
480
- - Uses **stable Collection IDs** from Figma (robust against renaming)
481
- - `brandSpecific: true` generates separate files per brand
482
- - `modeMapping` can transform mode names (e.g., `xs-320px` → `xs`)
483
-
484
- ### Brand-Specific Collections
485
-
486
- Located in `scripts/preprocess-figma-tokens.js`:
343
+ // Import structured token data
344
+ import tokens from '@marioschmidt/design-system-tokens/json/brands/bild/semantic/color/colormode-light.json';
487
345
 
488
- ```javascript
489
- const BRAND_SPECIFIC_COLLECTIONS = {
490
- 'VariableCollectionId:588:1979': { // ColorMode
491
- collectionName: 'ColorMode',
492
- brandSpecific: true,
493
- brands: ['bild', 'sportbild', 'advertorial'],
494
- brandCollectionIds: [
495
- 'VariableCollectionId:18038:10593', // BrandTokenMapping
496
- 'VariableCollectionId:18212:14495' // BrandColorMapping
497
- ]
498
- }
499
- };
346
+ console.log(tokens);
347
+ // {
348
+ // "BildRed": {
349
+ // "bildRed": {
350
+ // "$type": "color",
351
+ // "$value": "#DD0000",
352
+ // "type": "color",
353
+ // "value": "#DD0000"
354
+ // }
355
+ // }
356
+ // }
500
357
  ```
501
358
 
502
- **How It Works:**
503
- 1. During preprocessing, ColorMode tokens that reference BrandColorMapping
504
- 2. Are resolved **per brand** using the correct mode ID
505
- 3. Generate separate output files: `light-bild.json`, `light-sportbild.json`, etc.
359
+ ### iOS (Swift)
506
360
 
507
- ### Style Dictionary Transforms
361
+ ```swift
362
+ // Import brand-specific tokens
363
+ import DesignTokens
508
364
 
509
- Custom transforms in `build-config/style-dictionary.config.js`:
365
+ // Use color tokens
366
+ let primaryColor = Colorprimitive.bildRedBildRed // UIColor
510
367
 
511
- ```javascript
512
- StyleDictionary.registerTransform({
513
- name: 'attribute/cti',
514
- type: 'attribute',
515
- transformer: (token) => {
516
- // Custom transformation logic
517
- }
518
- });
368
+ // Use typography (size class aware)
369
+ let typography = Typography.headline1 // Typography struct
519
370
  ```
520
371
 
521
- ---
372
+ ### Android (XML)
522
373
 
523
- ## 🔄 CI/CD Integration
524
-
525
- ### GitHub Actions Workflow
374
+ ```xml
375
+ <!-- Import brand-specific colors -->
376
+ <resources>
377
+ <color name="bild_red_bild_red">#DD0000</color>
378
+ <dimen name="space_2x">16dp</dimen>
526
379
 
527
- Located in `.github/workflows/build-tokens.yml`
528
-
529
- **Triggers:**
530
- - Push to `main`, `develop`, or `claude/**` branches
531
- - Changes in `src/design-tokens/`
532
- - Changes in `scripts/` or `build-config/`
533
- - Manual workflow dispatch
534
-
535
- **Build Steps:**
536
- 1. Checkout repository
537
- 2. Setup Node.js
538
- 3. Install dependencies
539
- 4. Run preprocessing
540
- 5. Run build
541
- 6. Upload artifacts
380
+ <!-- Typography styles (size class aware) -->
381
+ <style name="Headline1" parent="TextAppearance.AppCompat">
382
+ <item name="android:fontFamily">@font/gotham_condensed</item>
383
+ <item name="android:textSize">48sp</item>
384
+ </style>
385
+ </resources>
386
+ ```
542
387
 
543
- **Artifacts:**
544
- - Name: `design-tokens-{commit-sha}`
545
- - Retention: 30 days
546
- - Contains: All generated files
388
+ ### Flutter (Dart)
547
389
 
548
- ### Manual Workflow Dispatch
390
+ ```dart
391
+ // Import brand-specific tokens
392
+ import 'package:design_tokens/brands/bild/semantic/color/colormode_light.dart';
549
393
 
550
- **Via GitHub UI:**
551
- 1. Go to **Actions** tab
552
- 2. Select **"Build Design Tokens"**
553
- 3. Click **"Run workflow"**
394
+ // Use color tokens
395
+ final primaryColor = Colorprimitive.bildRedBildRed; // Color
554
396
 
555
- **Via GitHub CLI:**
556
- ```bash
557
- gh workflow run build-tokens.yml
397
+ // Use typography tokens
398
+ final headline1 = Typography.headline1; // TypographyToken
558
399
  ```
559
400
 
560
401
  ---
@@ -567,43 +408,82 @@ gh workflow run build-tokens.yml
567
408
  .
568
409
  ├── src/
569
410
  │ └── design-tokens/
570
- │ └── BILD Design System-variables-full.json # Figma export
411
+ │ └── bild-design-system-raw-data.json # Custom Figma Plugin export
571
412
 
572
413
  ├── scripts/
573
- │ ├── preprocess-figma-tokens.js # Preprocessing
574
- │ │ • Alias resolution with brand awareness
575
- │ │ • Collection ID mapping
576
- │ │ • Mode ID mapping
577
- │ │ • Zero false positives (handles 0, false, "")
578
- └── build-tokens.js # Build orchestration
579
- • Collection configuration
414
+ │ ├── preprocess-plugin-tokens.js # Preprocessing (965 lines)
415
+ │ │ • Alias resolution to final values
416
+ │ │ • Context-aware resolution (Brand × Breakpoint × ColorMode)
417
+ │ │ • Mode name matching (not ID-based)
418
+ │ │ • FontWeight bug fix ("700px" 700)
419
+ │ • Advertorial special handling (no BrandColorMapping)
420
+
421
+ │ └── build-tokens-v2.js # Build orchestration (551 lines)
422
+ │ • Multi-platform configuration (7 formats)
580
423
  │ • Brand-specific builds
581
- │ • Index file generation
424
+ │ • Composite token support (Typography, Effects)
425
+ │ • Size class mapping for iOS/Android
582
426
 
583
427
  ├── build-config/
584
- │ └── style-dictionary.config.js # Custom transforms & formats
428
+ │ └── style-dictionary.config.js # Custom transforms & formats
429
+ │ • CSS typography classes format
430
+ │ • CSS effect classes format
431
+ │ • iOS Swift typography format
432
+ │ • Android typography XML format
585
433
 
586
- ├── tokens/ # Generated (gitignored)
587
- │ ├── colormode/
588
- │ ├── light-bild.json # Brand-specific
589
- ├── light-sportbild.json
590
- │ └── ...
591
- └── ...
434
+ ├── tokens/ # Generated (gitignored)
435
+ │ ├── shared/ # Primitives (4 files)
436
+ └── brands/ # Brand-specific (3 brands)
437
+ ├── bild/
438
+ ├── sportbild/
439
+ └── advertorial/
592
440
 
593
- ├── dist/ # Generated (gitignored)
594
- │ ├── css/
595
- │ ├── scss/
596
- ├── js/
597
- │ └── json/
441
+ ├── dist/ # Generated (gitignored)
442
+ │ ├── css/, scss/, js/, json/ # Web platforms
443
+ │ ├── ios/, android/, flutter/ # Native platforms
444
+ └── manifest.json # Build metadata
598
445
 
599
446
  └── README.md
600
447
  ```
601
448
 
449
+ ### Custom Figma Plugin Export
450
+
451
+ The pipeline expects a JSON export from a custom Figma plugin with the following structure:
452
+
453
+ ```json
454
+ {
455
+ "variableCollections": [
456
+ {
457
+ "id": "VariableCollectionId:...",
458
+ "name": "CollectionName",
459
+ "modes": [
460
+ { "modeId": "mode-id", "name": "mode-name" }
461
+ ],
462
+ "variableIds": ["VariableID:..."]
463
+ }
464
+ ],
465
+ "variables": [
466
+ {
467
+ "id": "VariableID:...",
468
+ "name": "token/path/name",
469
+ "resolvedType": "COLOR|FLOAT|STRING",
470
+ "valuesByMode": {
471
+ "mode-id": "#DD0000" // Direct value
472
+ // OR
473
+ "mode-id": { "type": "VARIABLE_ALIAS", "id": "VariableID:..." }
474
+ }
475
+ }
476
+ ]
477
+ }
478
+ ```
479
+
480
+ **Export Location**: `src/design-tokens/bild-design-system-raw-data.json`
481
+
602
482
  ### Development Workflow
603
483
 
604
484
  1. **Export from Figma**
605
- - Use VariableVisualizer Plugin
606
- - Export as `BILD Design System-variables-full.json`
485
+ - Use custom Figma plugin
486
+ - Export as `bild-design-system-raw-data.json`
607
487
 
608
488
  2. **Place JSON**
609
489
  - Save to `src/design-tokens/`
@@ -612,30 +492,99 @@ gh workflow run build-tokens.yml
612
492
  ```bash
613
493
  npm run preprocess
614
494
  ```
615
- - Resolves aliases per brand
616
- - Creates intermediate token files
617
- - **0 warnings expected**
495
+ - Resolves all aliases to final values
496
+ - Creates intermediate token files in `tokens/`
497
+ - Output: 68 JSON files (4 shared + 64 brand-specific)
618
498
 
619
499
  4. **Build**
620
500
  ```bash
621
501
  npm run build:tokens
622
502
  ```
623
- - Transforms to all formats
624
- - **30/30 builds expected**
503
+ - Transforms to all 7 platforms
504
+ - **52/52 builds successful**
505
+ - ⚠️ Warnings about token collisions (LetterSpacing) are expected but non-critical
625
506
 
626
507
  5. **Verify**
627
508
  ```bash
628
509
  # Check brand-specific values
629
- grep "core-color-primary" dist/css/semantic/*/color/*-light.css
510
+ grep "bild-red" dist/css/brands/bild/semantic/color/colormode-light.css
511
+ grep "bild-red" dist/css/brands/sportbild/semantic/color/colormode-light.css
630
512
 
631
- # Expected:
632
- # bild: #de0000 (BILD red)
633
- # sportbild: #0a264f (SportBILD dark blue)
513
+ # Check Advertorial has no color folder
514
+ ls dist/css/brands/advertorial/semantic/
515
+ # Expected: breakpoints/, effects/, typography/ (NO color/)
516
+
517
+ # Check all platforms exist
518
+ ls dist/
519
+ # Expected: css/, scss/, js/, json/, ios/, android/, flutter/, manifest.json
634
520
  ```
635
521
 
636
522
  ---
637
523
 
638
- ## 🧪 Testing
524
+ ## 🔄 CI/CD Integration
525
+
526
+ ### GitHub Actions Workflows
527
+
528
+ #### 1. Build Tokens (`.github/workflows/build-tokens.yml`)
529
+
530
+ **Triggers:**
531
+ - Push to `main`, `develop`, `claude/**`, `figma-tokens` branches
532
+ - Changes in `src/design-tokens/`, `scripts/`, `build-config/`
533
+ - Manual workflow dispatch
534
+
535
+ **Steps:**
536
+ 1. Checkout repository
537
+ 2. Setup Node.js 20
538
+ 3. Install dependencies
539
+ 4. Run `npm run build`
540
+ 5. Commit dist/ folder to feature branches
541
+ 6. Upload build artifacts (30 days retention)
542
+
543
+ **Outputs:**
544
+ - Validates build success: 52/52 builds
545
+ - Commits dist/ to branch (for PR workflows)
546
+ - Creates artifacts: `design-tokens-{sha}.zip`
547
+
548
+ #### 2. Auto PR from Figma (`.github/workflows/auto-pr-from-figma.yml`)
549
+
550
+ **Trigger:**
551
+ - Push to `figma-tokens` branch (from Figma plugin)
552
+
553
+ **Workflow:**
554
+ ```
555
+ Figma Plugin Push → figma-tokens branch
556
+
557
+ Build Tokens (52/52)
558
+
559
+ Commit dist/ to branch
560
+
561
+ Create/Update Pull Request
562
+
563
+ Merge to main
564
+
565
+ Publish to NPM (automatic)
566
+ ```
567
+
568
+ **PR Format:**
569
+ - Title: "chore: update design tokens from Figma"
570
+ - Body: Build statistics, changed files, diff summary
571
+ - Auto-assigns reviewers
572
+
573
+ ### Manual Workflow Dispatch
574
+
575
+ **Via GitHub UI:**
576
+ 1. Go to **Actions** tab
577
+ 2. Select **"Build Design Tokens"**
578
+ 3. Click **"Run workflow"**
579
+
580
+ **Via GitHub CLI:**
581
+ ```bash
582
+ gh workflow run build-tokens.yml
583
+ ```
584
+
585
+ ---
586
+
587
+ ## 🧪 Testing & Verification
639
588
 
640
589
  ### Build Verification
641
590
 
@@ -643,124 +592,231 @@ gh workflow run build-tokens.yml
643
592
  # Run full build
644
593
  npm run build
645
594
 
646
- # Check build statistics
647
- # Expected: 30/30 builds successful, 0 warnings
595
+ # Expected output:
596
+ # 📦 Baue Shared Primitives:
597
+ # ✅ fontprimitive
598
+ # ✅ colorprimitive
599
+ # ✅ sizeprimitive
600
+ # ✅ spaceprimitive
601
+ #
602
+ # 🏷️ Baue Brand-spezifische Tokens:
603
+ # 📦 bild: ✅ density (3 modes) ✅ breakpoints (4 modes) ✅ color (2 modes) ✅ overrides (2 collections)
604
+ # 📦 sportbild: ✅ density (3 modes) ✅ breakpoints (4 modes) ✅ color (2 modes) ✅ overrides (2 collections)
605
+ # 📦 advertorial: ✅ density (3 modes) ✅ breakpoints (4 modes) ✅ overrides (1 collection)
606
+ #
607
+ # ✍️ Baue Typography Tokens:
608
+ # 🏷️ bild: ✅ bild-xs (css, scss, js, json, flutter) ✅ bild-sm (+ ios, android) ...
609
+ #
610
+ # 🎨 Baue Effect Tokens:
611
+ # 🏷️ Brand: bild ✅ bild-light (css, scss, js, json, ios, android, flutter) ...
612
+ #
613
+ # 📊 Statistiken:
614
+ # - Shared Primitives: 4/4
615
+ # - Brand-spezifische Tokens: 30/30
616
+ # - Typography Builds: 12/12
617
+ # - Effect Builds: 6/6
618
+ # - Builds erfolgreich: 52/52
619
+ ```
620
+
621
+ ### Brand-Specific Values
622
+
623
+ ```bash
624
+ # BILD should use Gotham Condensed
625
+ grep "font-family-gotham-cond" dist/css/brands/bild/semantic/typography/typography-md.css
626
+
627
+ # SportBILD should use AntennaExtraCond
628
+ grep "font-family-antenna-extra-cond" dist/css/brands/sportbild/semantic/typography/typography-md.css
648
629
 
649
- # Verify output structure
650
- ls -R dist/css/semantic/
630
+ # BILD red: #DD0000
631
+ grep "bild-red-bild-red" dist/css/shared/colorprimitive.css
632
+ # Expected: --bild-red-bild-red: #DD0000;
633
+
634
+ # SportBILD has different brand colors
635
+ grep "sport-bild-dark-blue" dist/css/shared/colorprimitive.css
636
+ ```
637
+
638
+ ### Advertorial Special Case
639
+
640
+ ```bash
641
+ # Advertorial should NOT have color/ folder
642
+ ls dist/css/brands/advertorial/semantic/
643
+ # Expected: breakpoints/ effects/ typography/ (NO color/)
651
644
 
652
- # Check brand-specific values
653
- cat dist/css/semantic/bild/color/color-bild-light.css | grep "core-color-primary"
654
- cat dist/css/semantic/sportbild/color/color-sportbild-light.css | grep "core-color-primary"
645
+ ls dist/css/brands/bild/semantic/
646
+ # Expected: breakpoints/ color/ effects/ typography/
655
647
  ```
656
648
 
657
- ### Alias Resolution Check
649
+ ### Breakpoint Scaling
658
650
 
659
651
  ```bash
660
- # Check for unresolved aliases
661
- grep -r "UNRESOLVED" tokens/
652
+ # Typography scales across breakpoints
653
+ # headline1 should scale from 48px (xs) to 100px (lg) for BILD
662
654
 
663
- # Expected: No results (all aliases should be resolved)
655
+ grep "headline1" dist/json/brands/bild/semantic/typography/typography-xs.json | grep fontSize
656
+ # Expected: 48px
657
+
658
+ grep "headline1" dist/json/brands/bild/semantic/typography/typography-lg.json | grep fontSize
659
+ # Expected: 100px
664
660
  ```
665
661
 
666
662
  ---
667
663
 
668
664
  ## 🆘 Troubleshooting
669
665
 
670
- ### Build Warnings
666
+ ### ⚠️ Variable nicht gefunden: VariableID:16104:163534
667
+
668
+ **Problem:** Preprocessing warns about missing variable
669
+
670
+ **Cause:** Variable `Component/Kicker/Partner/kickerStylebookBgColor` references a deleted/renamed variable in Figma
671
+
672
+ **Impact:** Non-critical - Token gets `UNRESOLVED_` value, build continues
673
+
674
+ **Solution:** In Figma, check and re-link the `kickerStylebookBgColor` variable
675
+
676
+ ### ⚠️ Token Collisions in fontprimitive/sizeprimitive/spaceprimitive
677
+
678
+ **Problem:** Style Dictionary warns about token name collisions for some platforms
671
679
 
672
- **Problem:** Warnings about missing values or circular references
680
+ **Cause:** LetterSpacing tokens have positive/negative values with similar names:
681
+ - `letterSpace-0_25` (negative) → `LetterSpace025` (JS/iOS/Flutter)
682
+ - `letterSpace0_25` (positive) → `LetterSpace025` (same!)
673
683
 
674
- **Solution:** This has been fixed! The pipeline now:
675
- - Uses `value === undefined || value === null` checks (handles `0`, `false`, `""` correctly)
676
- - Uses Variable IDs for circular reference detection (not names)
677
- - Resolves cross-collection aliases correctly per brand
684
+ **Impact:** Non-critical - Last value wins, usually works fine
678
685
 
679
- **Expected:** 0 warnings in both preprocessing and build
686
+ **Platforms Affected:**
687
+ - ❌ JavaScript, iOS, Android, Flutter, JSON (name collision)
688
+ - ✅ CSS, SCSS (no collision - hyphens preserved)
680
689
 
681
- ### Brand Values Incorrect
690
+ **Solution (Figma-side):**
691
+ Rename tokens in Figma:
692
+ ```
693
+ letterSpace-0_25 → letterSpaceNeg0_25 (or letterSpaceMinus0_25)
694
+ letterSpace0_25 → letterSpacePos0_25 (or letterSpacePlus0_25)
695
+ ```
682
696
 
683
- **Problem:** All brands have the same color values
697
+ ### Build Failures
684
698
 
685
- **Solution:** This has been fixed! The pipeline now:
686
- - Maps brand names to Mode IDs in brand collections
687
- - Resolves aliases using the correct brand-specific mode
688
- - Generates separate token files per brand
699
+ **Problem:** Build fails with "ENOENT: no such file or directory"
689
700
 
690
- **Verify:**
701
+ **Solution:**
691
702
  ```bash
692
- # BILD should have #de0000
693
- grep "core-color-primary" dist/css/semantic/bild/color/color-bild-light.css
703
+ # Make sure preprocessing ran first
704
+ npm run preprocess
705
+
706
+ # Then build
707
+ npm run build:tokens
708
+
709
+ # Or use the combined command
710
+ npm run build
711
+ ```
712
+
713
+ **Problem:** "Cannot find module 'style-dictionary'"
694
714
 
695
- # SportBILD should have #0a264f
696
- grep "core-color-primary" dist/css/semantic/sportbild/color/color-sportbild-light.css
715
+ **Solution:**
716
+ ```bash
717
+ npm install
697
718
  ```
698
719
 
699
- ### Merge Conflicts with dist/
720
+ ### Missing dist/ Folder
700
721
 
701
- **Problem:** Git conflicts in `dist/` folder
722
+ **Problem:** dist/ folder not visible after build
723
+
724
+ **Solution:** dist/ is gitignored. It's generated locally or in CI/CD:
725
+ ```bash
726
+ npm run build
727
+ ls dist/ # Should show css/, scss/, js/, json/, ios/, android/, flutter/
728
+ ```
702
729
 
703
- **Solution:** This has been fixed! `dist/` is now:
704
- - Fully gitignored
705
- - Generated locally or in CI/CD
706
- - Never committed to the repository
730
+ ### Wrong Platform Outputs
707
731
 
708
- ### Collection Renamed in Figma
732
+ **Problem:** Some platforms missing files
709
733
 
710
- **Problem:** Pipeline breaks after renaming collections in Figma
734
+ **Solution:** Check build output for errors:
735
+ ```bash
736
+ npm run build 2>&1 | grep "❌"
737
+ ```
711
738
 
712
- **Solution:** This has been fixed! The pipeline now uses:
713
- - **Stable Collection IDs** instead of names
714
- - IDs never change even if you rename collections
715
- - Names are kept only for logging purposes
739
+ All platforms should build successfully: 52/52
716
740
 
717
741
  ---
718
742
 
719
- ## 📊 Build Statistics
743
+ ## 📊 Technical Details
720
744
 
721
- **Current Performance:**
722
- - ✅ 30/30 builds successful
723
- - ✅ 0 warnings
724
- - ✅ 0 errors
725
- - ✅ ~3s preprocessing
726
- - ✅ ~5s build
727
- - ✅ 178 token files generated
728
- - ✅ All cross-collection aliases resolved
729
- - ✅ Brand-specific values verified
745
+ ### Key Design Decisions
730
746
 
731
- ---
747
+ 1. **Complete Alias Resolution in Preprocessing**
748
+ - No `{Alias.Path}` syntax in Style Dictionary
749
+ - All aliases resolved to final Hex/px/numeric values
750
+ - Prevents reference errors in Style Dictionary
732
751
 
733
- ## 🔗 Resources
752
+ 2. **Context-Aware Alias Resolution**
753
+ - Brand × Breakpoint × ColorMode matrix
754
+ - Each context combination gets unique resolution
755
+ - Example: `colormode-light` for BILD resolves brand-specific aliases using BILD's mode ID
734
756
 
735
- - [Style Dictionary v4 Documentation](https://styledictionary.com/)
736
- - [Figma Variables API](https://www.figma.com/plugin-docs/api/properties/figma-variables/)
737
- - [Design Tokens Community Group](https://design-tokens.github.io/community-group/)
738
- - [VariableVisualizer Plugin](https://www.figma.com/community/plugin/1245712093276493432)
757
+ 3. **Mode Name Matching**
758
+ - Collections have different mode IDs
759
+ - Match by `mode.name` instead of `mode.modeId`
760
+ - Robust against Figma re-creating modes
761
+
762
+ 4. **Brand-Specific Processing**
763
+ - Separate token files per brand and mode
764
+ - Prevents collisions during Style Dictionary build
765
+ - Enables brand-specific value verification
766
+
767
+ 5. **Size Class Terminology**
768
+ - iOS/Android use "sizeclass" terminology
769
+ - Only compact (sm) and regular (lg) generated
770
+ - xs and md breakpoints skipped for native platforms
771
+
772
+ ### Performance
773
+
774
+ - **Preprocessing**: ~2-3 seconds
775
+ - **Build**: ~8-10 seconds (all 52 builds)
776
+ - **Total**: ~11 seconds
777
+ - **Output Size**: ~15 MB (all platforms)
739
778
 
740
779
  ---
741
780
 
742
781
  ## 📝 Changelog
743
782
 
744
- ### Latest (Current)
783
+ ### v2.0.0 (Current) - Custom Plugin Migration
745
784
 
746
785
  **✨ Features:**
747
- - Brand-specific semantic layer structure (`dist/css/semantic/{brand}/{category}/`)
748
- - Stable Collection ID usage (robust against Figma renaming)
749
- - Zero false positive warnings (correct handling of falsy values)
750
- - Cross-collection brand-aware alias resolution
751
- - Recursive index file generation
786
+ - Custom Figma Plugin integration (replaces Variable Visualizer)
787
+ - 7 platform support: CSS, SCSS, JS, JSON, iOS, Android, Flutter
788
+ - Complete alias resolution in preprocessing (no Style Dictionary references)
789
+ - Composite token support: Typography (12 builds), Effects (6 builds)
790
+ - Brand-specific output structure: `dist/{platform}/brands/{brand}/`
791
+ - Advertorial special handling (no color/ folder)
792
+ - Size class mapping for iOS/Android (compact/regular only)
793
+ - Context-aware alias resolution: Brand × Breakpoint × ColorMode
752
794
 
753
795
  **🐛 Bug Fixes:**
754
- - Fixed falsy value detection (`0`, `false`, `""` now handled correctly)
755
- - Fixed false positive circular reference warnings
756
- - Fixed cross-collection alias resolution for brand-specific tokens
757
- - Removed `dist/` from git tracking (now fully gitignored)
796
+ - FontWeight bug fix: "700px" 700
797
+ - Mode name matching instead of ID-based (robust against Figma changes)
798
+ - YAML syntax fix in GitHub Actions (multi-line commit messages)
799
+ - Exit code 0 for successful builds
800
+ - dist/ folder commits to feature branches
758
801
 
759
802
  **⚡ Performance:**
760
- - 30/30 builds successful
761
- - 0 warnings in preprocessing
762
- - 0 warnings in build
763
- - All aliases fully resolved
803
+ - 52/52 builds successful (up from 30/30)
804
+ - All 7 platforms generate complete token sets
805
+ - ~11 seconds total build time
806
+
807
+ **📦 Migration:**
808
+ - New scripts: `preprocess-plugin-tokens.js`, `build-tokens-v2.js`
809
+ - New token source: `bild-design-system-raw-data.json`
810
+ - Removed: Old Variable Visualizer scripts and token files
811
+
812
+ ---
813
+
814
+ ## 🔗 Resources
815
+
816
+ - [Style Dictionary v4 Documentation](https://styledictionary.com/)
817
+ - [Figma Variables API](https://www.figma.com/plugin-docs/api/properties/figma-variables/)
818
+ - [Design Tokens Community Group](https://design-tokens.github.io/community-group/)
819
+ - [Repository Issues](https://github.com/UXWizard25/vv-token-test-v3/issues)
764
820
 
765
821
  ---
766
822