@breadstone-infrastructure/style-dictionary 0.0.204 → 0.0.206

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 (73) hide show
  1. package/formats/index.d.ts +3 -0
  2. package/formats/index.d.ts.map +1 -0
  3. package/formats/index.js +19 -0
  4. package/formats/index.js.map +1 -0
  5. package/formats/tailwind/v3/DesignTokenType.d.ts +10 -0
  6. package/formats/tailwind/v3/DesignTokenType.d.ts.map +1 -0
  7. package/formats/tailwind/v3/DesignTokenType.js +3 -0
  8. package/formats/tailwind/v3/DesignTokenType.js.map +1 -0
  9. package/formats/tailwind/v3/TailwindPropertyMapping.d.ts +61 -0
  10. package/formats/tailwind/v3/TailwindPropertyMapping.d.ts.map +1 -0
  11. package/formats/tailwind/v3/TailwindPropertyMapping.js +421 -0
  12. package/formats/tailwind/v3/TailwindPropertyMapping.js.map +1 -0
  13. package/formats/tailwind/v3/TailwindV3PropertyMapping.d.ts +61 -0
  14. package/formats/tailwind/v3/TailwindV3PropertyMapping.d.ts.map +1 -0
  15. package/formats/tailwind/v3/TailwindV3PropertyMapping.js +421 -0
  16. package/formats/tailwind/v3/TailwindV3PropertyMapping.js.map +1 -0
  17. package/formats/tailwind/v3/buildTailwindConfig.d.ts +23 -0
  18. package/formats/tailwind/v3/buildTailwindConfig.d.ts.map +1 -0
  19. package/formats/tailwind/v3/buildTailwindConfig.js +281 -0
  20. package/formats/tailwind/v3/buildTailwindConfig.js.map +1 -0
  21. package/formats/tailwind/v3/buildTailwindV3Config.d.ts +24 -0
  22. package/formats/tailwind/v3/buildTailwindV3Config.d.ts.map +1 -0
  23. package/formats/tailwind/v3/buildTailwindV3Config.js +282 -0
  24. package/formats/tailwind/v3/buildTailwindV3Config.js.map +1 -0
  25. package/formats/tailwind/v3/index.d.ts +5 -0
  26. package/formats/tailwind/v3/index.d.ts.map +1 -0
  27. package/formats/tailwind/v3/index.js +21 -0
  28. package/formats/tailwind/v3/index.js.map +1 -0
  29. package/formats/tailwind/v3/tailwindFormat.d.ts +13 -0
  30. package/formats/tailwind/v3/tailwindFormat.d.ts.map +1 -0
  31. package/formats/tailwind/v3/tailwindFormat.js +57 -0
  32. package/formats/tailwind/v3/tailwindFormat.js.map +1 -0
  33. package/formats/tailwind/v3/tailwindFormat2.d.ts +13 -0
  34. package/formats/tailwind/v3/tailwindFormat2.d.ts.map +1 -0
  35. package/formats/tailwind/v3/tailwindFormat2.js +65 -0
  36. package/formats/tailwind/v3/tailwindFormat2.js.map +1 -0
  37. package/formats/tailwind/v3/tailwindV3Format.d.ts +32 -0
  38. package/formats/tailwind/v3/tailwindV3Format.d.ts.map +1 -0
  39. package/formats/tailwind/v3/tailwindV3Format.js +123 -0
  40. package/formats/tailwind/v3/tailwindV3Format.js.map +1 -0
  41. package/formats/tailwind/v4/DesignTokenType.d.ts +10 -0
  42. package/formats/tailwind/v4/DesignTokenType.d.ts.map +1 -0
  43. package/formats/tailwind/v4/DesignTokenType.js +3 -0
  44. package/formats/tailwind/v4/DesignTokenType.js.map +1 -0
  45. package/formats/tailwind/v4/TailwindV4PropertyMapping.d.ts +45 -0
  46. package/formats/tailwind/v4/TailwindV4PropertyMapping.d.ts.map +1 -0
  47. package/formats/tailwind/v4/TailwindV4PropertyMapping.js +322 -0
  48. package/formats/tailwind/v4/TailwindV4PropertyMapping.js.map +1 -0
  49. package/formats/tailwind/v4/buildTailwindV4Theme.d.ts +71 -0
  50. package/formats/tailwind/v4/buildTailwindV4Theme.d.ts.map +1 -0
  51. package/formats/tailwind/v4/buildTailwindV4Theme.js +247 -0
  52. package/formats/tailwind/v4/buildTailwindV4Theme.js.map +1 -0
  53. package/formats/tailwind/v4/index.d.ts +2 -0
  54. package/formats/tailwind/v4/index.d.ts.map +1 -0
  55. package/formats/tailwind/v4/index.js +18 -0
  56. package/formats/tailwind/v4/index.js.map +1 -0
  57. package/formats/tailwind/v4/tailwindV4Format.d.ts +55 -0
  58. package/formats/tailwind/v4/tailwindV4Format.d.ts.map +1 -0
  59. package/formats/tailwind/v4/tailwindV4Format.js +88 -0
  60. package/formats/tailwind/v4/tailwindV4Format.js.map +1 -0
  61. package/index.d.ts +3 -9
  62. package/index.d.ts.map +1 -1
  63. package/index.js +3 -17
  64. package/index.js.map +1 -1
  65. package/package.json +2 -2
  66. package/preprocessors/index.d.ts +3 -0
  67. package/preprocessors/index.d.ts.map +1 -0
  68. package/preprocessors/index.js +19 -0
  69. package/preprocessors/index.js.map +1 -0
  70. package/transforms/index.d.ts +7 -0
  71. package/transforms/index.d.ts.map +1 -0
  72. package/transforms/index.js +23 -0
  73. package/transforms/index.js.map +1 -0
@@ -0,0 +1,421 @@
1
+ "use strict";
2
+ // #region Imports
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.TOKEN_TYPE_TO_V3_KEY_MAPPING = exports.CATEGORY_TO_V3_KEY_MAPPING = exports.SUPPORTED_TOKEN_TYPES = void 0;
5
+ // #endregion
6
+ // #region Constants
7
+ /**
8
+ * Set of supported design token types for validation.
9
+ * Used only for logging; unsupported types are skipped.
10
+ *
11
+ * @public
12
+ */
13
+ exports.SUPPORTED_TOKEN_TYPES = [
14
+ 'borderRadius',
15
+ 'borderWidth',
16
+ 'color',
17
+ 'duration',
18
+ 'font',
19
+ 'fontFamily',
20
+ 'fontSize',
21
+ 'fontWeight',
22
+ 'height',
23
+ 'letterSpacing',
24
+ 'lineHeight',
25
+ 'maxHeight',
26
+ 'maxWidth',
27
+ 'minHeight',
28
+ 'minWidth',
29
+ 'opacity',
30
+ 'shadow',
31
+ 'size',
32
+ 'spacing',
33
+ 'textDecorationLine',
34
+ 'textTransform',
35
+ 'width',
36
+ 'zIndex'
37
+ ];
38
+ // #endregion
39
+ // #region Mappings
40
+ /**
41
+ * Maps token-level `category` values (which MUST match Tailwind theme keys)
42
+ * to Tailwind v3 theme keys and the corresponding mapping strategy.
43
+ *
44
+ * This is the primary mapping: if a token specifies a `category` and it is
45
+ * found here, it is used directly.
46
+ *
47
+ * @public
48
+ */
49
+ exports.CATEGORY_TO_V3_KEY_MAPPING = {
50
+ colors: {
51
+ themeKey: 'colors',
52
+ strategy: 'shadeMap',
53
+ pathTransform: (path) => {
54
+ // color.light.primary.500 -> ['primary', '500'] (for light variant)
55
+ // color.dark.primary.500 -> ['primary-dark', '500'] (for dark variant)
56
+ // color.light.primary -> ['primary', 'DEFAULT'] (no shade)
57
+ // scheme.light.background -> ['scheme-background', 'DEFAULT']
58
+ // scheme.dark.background -> ['scheme-background-dark', 'DEFAULT']
59
+ if (path[0] === 'color') {
60
+ if (path.length >= 4) {
61
+ const variant = path[1]; // 'light' or 'dark'
62
+ const colorName = path[2]; // 'primary', 'secondary', etc.
63
+ const shade = path[3]; // '500', '100', etc.
64
+ if (variant === 'light') {
65
+ return [colorName, shade];
66
+ }
67
+ else if (variant === 'dark') {
68
+ return [`${colorName}-dark`, shade];
69
+ }
70
+ }
71
+ else if (path.length === 3) {
72
+ // color.light.primary (no shade) -> ['primary', 'DEFAULT']
73
+ const variant = path[1];
74
+ const colorName = path[2];
75
+ if (variant === 'light') {
76
+ return [colorName, 'DEFAULT'];
77
+ }
78
+ else if (variant === 'dark') {
79
+ return [`${colorName}-dark`, 'DEFAULT'];
80
+ }
81
+ }
82
+ }
83
+ else if (path[0] === 'scheme' && path.length >= 3) {
84
+ const variant = path[1]; // 'light' or 'dark'
85
+ const schemeName = path[2]; // 'background', 'foreground', etc.
86
+ if (variant === 'light') {
87
+ return [`scheme-${schemeName}`, 'DEFAULT'];
88
+ }
89
+ else if (variant === 'dark') {
90
+ return [`scheme-${schemeName}-dark`, 'DEFAULT'];
91
+ }
92
+ }
93
+ return path;
94
+ }
95
+ },
96
+ scheme: {
97
+ themeKey: 'colors',
98
+ strategy: 'shadeMap',
99
+ pathTransform: (path) => {
100
+ // scheme.light.background -> ['scheme-background', 'DEFAULT']
101
+ // scheme.dark.background -> ['scheme-background-dark', 'DEFAULT']
102
+ if (path[0] === 'scheme' && path.length >= 3) {
103
+ const variant = path[1]; // 'light' or 'dark'
104
+ const name = path[2]; // 'background', 'foreground', etc.
105
+ if (variant === 'light') {
106
+ return [`scheme-${name}`, 'DEFAULT'];
107
+ }
108
+ else if (variant === 'dark') {
109
+ return [`scheme-${name}-dark`, 'DEFAULT'];
110
+ }
111
+ }
112
+ return path;
113
+ }
114
+ },
115
+ spacing: {
116
+ themeKey: 'spacing',
117
+ strategy: 'flat',
118
+ pathTransform: (path) => {
119
+ // layout.radius -> 'radius'
120
+ // layout.space -> 'space'
121
+ if (path[0] === 'layout') {
122
+ return path[path.length - 1];
123
+ }
124
+ return path.join('-');
125
+ }
126
+ },
127
+ width: {
128
+ themeKey: 'width',
129
+ strategy: 'flat'
130
+ },
131
+ height: {
132
+ themeKey: 'height',
133
+ strategy: 'flat'
134
+ },
135
+ fontFamily: {
136
+ themeKey: 'fontFamily',
137
+ strategy: 'flat',
138
+ pathTransform: (path) => {
139
+ // typography.headline1.fontFamily -> 'headline1'
140
+ // font.family -> 'sans' (or custom name)
141
+ if (path[0] === 'typography' && path.length >= 2) {
142
+ return path[1];
143
+ }
144
+ if (path[0] === 'font' && path[1] === 'family') {
145
+ return 'sans';
146
+ }
147
+ return path[path.length - 1];
148
+ }
149
+ },
150
+ fontSize: {
151
+ themeKey: 'fontSize',
152
+ strategy: 'flat',
153
+ pathTransform: (path) => {
154
+ // typography.headline1.fontSize -> 'headline1'
155
+ if (path[0] === 'typography' && path.length >= 2) {
156
+ return path[1];
157
+ }
158
+ return path[path.length - 1];
159
+ }
160
+ },
161
+ boxShadow: {
162
+ themeKey: 'boxShadow',
163
+ strategy: 'shadow',
164
+ pathTransform: (path) => {
165
+ // elevation.light.regular -> 'regular'
166
+ // elevation.dark.regular -> 'regular-dark'
167
+ // elevation.none -> 'elevation-none'
168
+ if (path[0] === 'elevation') {
169
+ if (path.length >= 3) {
170
+ const variant = path[1]; // 'light' or 'dark'
171
+ const name = path[2]; // 'regular', 'light', etc.
172
+ if (variant === 'light') {
173
+ return name;
174
+ }
175
+ else if (variant === 'dark') {
176
+ return `${name}-dark`;
177
+ }
178
+ }
179
+ // elevation.none or other single-level elevation tokens
180
+ return path.join('-');
181
+ }
182
+ return path.join('-');
183
+ }
184
+ },
185
+ opacity: {
186
+ themeKey: 'opacity',
187
+ strategy: 'flat'
188
+ },
189
+ borderRadius: {
190
+ themeKey: 'borderRadius',
191
+ strategy: 'flat'
192
+ },
193
+ borderWidth: {
194
+ themeKey: 'borderWidth',
195
+ strategy: 'flat'
196
+ },
197
+ zIndex: {
198
+ themeKey: 'zIndex',
199
+ strategy: 'flat'
200
+ },
201
+ transitionDuration: {
202
+ themeKey: 'transitionDuration',
203
+ strategy: 'flat',
204
+ pathTransform: (path) => {
205
+ // duration.short -> 'short'
206
+ // duration._ -> 'DEFAULT'
207
+ if (path[0] === 'duration') {
208
+ return path[1] === '_' ? 'DEFAULT' : path[1];
209
+ }
210
+ return path[path.length - 1];
211
+ }
212
+ },
213
+ // Typography-related categories that didn't get their own top-level entry
214
+ // These are used by sub-properties of typography tokens
215
+ lineHeight: {
216
+ themeKey: 'lineHeight',
217
+ strategy: 'flat',
218
+ pathTransform: (path) => {
219
+ // typography.headline1.lineHeight -> 'headline1'
220
+ if (path[0] === 'typography' && path.length >= 2) {
221
+ return path[1];
222
+ }
223
+ return path[path.length - 1];
224
+ }
225
+ },
226
+ fontWeight: {
227
+ themeKey: 'fontWeight',
228
+ strategy: 'flat',
229
+ pathTransform: (path) => {
230
+ // typography.headline1.fontWeight -> 'headline1'
231
+ if (path[0] === 'typography' && path.length >= 2) {
232
+ return path[1];
233
+ }
234
+ return path[path.length - 1];
235
+ }
236
+ },
237
+ letterSpacing: {
238
+ themeKey: 'letterSpacing',
239
+ strategy: 'flat',
240
+ pathTransform: (path) => {
241
+ // typography.headline1.letterSpacing -> 'headline1'
242
+ if (path[0] === 'typography' && path.length >= 2) {
243
+ return path[1];
244
+ }
245
+ return path[path.length - 1];
246
+ }
247
+ },
248
+ textDecorationLine: {
249
+ themeKey: 'textDecorationColor',
250
+ strategy: 'flat',
251
+ pathTransform: (path) => {
252
+ // typography.headline1.textDecoration -> 'headline1'
253
+ if (path[0] === 'typography' && path.length >= 2) {
254
+ return path[1];
255
+ }
256
+ return path[path.length - 1];
257
+ }
258
+ },
259
+ textTransform: {
260
+ themeKey: 'textTransform',
261
+ strategy: 'flat',
262
+ pathTransform: (path) => {
263
+ // typography.headline1.textTransform -> 'headline1'
264
+ if (path[0] === 'typography' && path.length >= 2) {
265
+ return path[1];
266
+ }
267
+ return path[path.length - 1];
268
+ }
269
+ }
270
+ };
271
+ /**
272
+ * Fallback mapping from logical token type → Tailwind v3 theme key + strategy.
273
+ *
274
+ * This is used when there is no valid `category` on the token.
275
+ * It keeps the behavior close to the original formatter where routing
276
+ * was based on `type`.
277
+ *
278
+ * @public
279
+ */
280
+ exports.TOKEN_TYPE_TO_V3_KEY_MAPPING = {
281
+ color: {
282
+ themeKey: 'colors',
283
+ strategy: 'shadeMap',
284
+ pathTransform: (path) => {
285
+ // color.light.primary.500 -> ['primary', '500'] (for light variant)
286
+ // color.dark.primary.500 -> ['primary-dark', '500'] (for dark variant)
287
+ // color.light.primary -> ['primary', 'DEFAULT'] (no shade)
288
+ // scheme.light.background -> ['scheme-background', 'DEFAULT'] (for light variant)
289
+ // scheme.dark.background -> ['scheme-background-dark', 'DEFAULT'] (for dark variant)
290
+ if (path[0] === 'color') {
291
+ if (path.length >= 4) {
292
+ const variant = path[1]; // 'light' or 'dark'
293
+ const colorName = path[2]; // 'primary', 'secondary', etc.
294
+ const shade = path[3]; // '500', '100', etc.
295
+ if (variant === 'light') {
296
+ return [colorName, shade];
297
+ }
298
+ else if (variant === 'dark') {
299
+ return [`${colorName}-dark`, shade];
300
+ }
301
+ }
302
+ else if (path.length === 3) {
303
+ // color.light.primary (no shade) -> ['primary', 'DEFAULT']
304
+ const variant = path[1];
305
+ const colorName = path[2];
306
+ if (variant === 'light') {
307
+ return [colorName, 'DEFAULT'];
308
+ }
309
+ else if (variant === 'dark') {
310
+ return [`${colorName}-dark`, 'DEFAULT'];
311
+ }
312
+ }
313
+ }
314
+ else if (path[0] === 'scheme' && path.length >= 3) {
315
+ const variant = path[1]; // 'light' or 'dark'
316
+ const schemeName = path[2]; // 'background', 'foreground', etc.
317
+ if (variant === 'light') {
318
+ return [`scheme-${schemeName}`, 'DEFAULT'];
319
+ }
320
+ else if (variant === 'dark') {
321
+ return [`scheme-${schemeName}-dark`, 'DEFAULT'];
322
+ }
323
+ }
324
+ return path;
325
+ }
326
+ },
327
+ spacing: {
328
+ themeKey: 'spacing',
329
+ strategy: 'flat'
330
+ },
331
+ size: {
332
+ themeKey: 'spacing',
333
+ strategy: 'flat'
334
+ },
335
+ width: {
336
+ themeKey: 'width',
337
+ strategy: 'flat'
338
+ },
339
+ height: {
340
+ themeKey: 'height',
341
+ strategy: 'flat'
342
+ },
343
+ maxWidth: {
344
+ themeKey: 'maxWidth',
345
+ strategy: 'flat'
346
+ },
347
+ maxHeight: {
348
+ themeKey: 'maxHeight',
349
+ strategy: 'flat'
350
+ },
351
+ minWidth: {
352
+ themeKey: 'minWidth',
353
+ strategy: 'flat'
354
+ },
355
+ minHeight: {
356
+ themeKey: 'minHeight',
357
+ strategy: 'flat'
358
+ },
359
+ borderRadius: {
360
+ themeKey: 'borderRadius',
361
+ strategy: 'flat'
362
+ },
363
+ borderWidth: {
364
+ themeKey: 'borderWidth',
365
+ strategy: 'flat'
366
+ },
367
+ font: {
368
+ themeKey: 'fontFamily',
369
+ strategy: 'flat',
370
+ pathTransform: (path) => {
371
+ // typography.headline1.fontFamily -> 'headline1'
372
+ if (path[0] === 'typography' && path.length >= 2) {
373
+ return path[1];
374
+ }
375
+ if (path[0] === 'font' && path[1] === 'family') {
376
+ return 'DEFAULT';
377
+ }
378
+ return path[path.length - 1];
379
+ }
380
+ },
381
+ fontFamily: {
382
+ themeKey: 'fontFamily',
383
+ strategy: 'flat',
384
+ pathTransform: (path) => {
385
+ // typography.headline1.fontFamily -> 'headline1'
386
+ if (path[0] === 'typography' && path.length >= 2) {
387
+ return path[1];
388
+ }
389
+ return path[path.length - 1];
390
+ }
391
+ },
392
+ fontSize: {
393
+ themeKey: 'fontSize',
394
+ strategy: 'flat',
395
+ pathTransform: (path) => {
396
+ // typography.headline1.fontSize -> 'headline1'
397
+ if (path[0] === 'typography' && path.length >= 2) {
398
+ return path[1];
399
+ }
400
+ return path[path.length - 1];
401
+ }
402
+ },
403
+ shadow: {
404
+ themeKey: 'boxShadow',
405
+ strategy: 'shadow'
406
+ },
407
+ opacity: {
408
+ themeKey: 'opacity',
409
+ strategy: 'flat'
410
+ },
411
+ zIndex: {
412
+ themeKey: 'zIndex',
413
+ strategy: 'flat'
414
+ },
415
+ duration: {
416
+ themeKey: 'transitionDuration',
417
+ strategy: 'flat'
418
+ }
419
+ };
420
+ // #endregion
421
+ //# sourceMappingURL=TailwindV3PropertyMapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TailwindV3PropertyMapping.js","sourceRoot":"","sources":["../../../../src/formats/tailwind/v3/TailwindV3PropertyMapping.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { Config as TailwindConfig } from 'tailwindcss';
2
+ import type { TransformedToken } from 'style-dictionary/types';
3
+ /**
4
+ * Builds a TailwindConfig object (with `theme.extend`) from a list of Style-Dictionary tokens.
5
+ *
6
+ * Resolution priority per token:
7
+ *
8
+ * 1. If `token.category` is present and matches a known Tailwind theme key
9
+ * (configured in CATEGORY_TO_KEY_MAPPING), that mapping is used.
10
+ * 2. Otherwise, the token's logical type (`getType(token)`) is used with
11
+ * TOKEN_TYPE_TO_KEY_MAPPING as a fallback routing.
12
+ * 3. If neither category nor type yields a mapping, the token is skipped
13
+ * and a warning is logged.
14
+ *
15
+ * Additionally, this function validates token types up-front and logs warnings
16
+ * for unsupported types (non-blocking).
17
+ *
18
+ * @param allTokens All transformed tokens from Style-Dictionary.
19
+ * @param ignoredTokenNameSubstrings Optional substrings; tokens whose name contains any of them are ignored entirely.
20
+ * @returns A TailwindConfig where `theme.extend` contains the mapped tokens.
21
+ */
22
+ export declare function buildTailwindConfig(allTokens: ReadonlyArray<TransformedToken>, ignoredTokenNameSubstrings?: Array<string>): TailwindConfig;
23
+ //# sourceMappingURL=buildTailwindConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildTailwindConfig.d.ts","sourceRoot":"","sources":["../../../../src/formats/tailwind/v3/buildTailwindConfig.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAoI/D;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,aAAa,CAAC,gBAAgB,CAAC,EAC1C,0BAA0B,GAAE,KAAK,CAAC,MAAM,CAAM,GAC/C,cAAc,CA6JhB"}