@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,322 @@
1
+ "use strict";
2
+ // #region Imports
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.TOKEN_TYPE_TO_V4_MAPPING = exports.CATEGORY_TO_V4_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
+ * Default path transform that converts token path to kebab-case variable name.
42
+ *
43
+ * @param path Token path array.
44
+ * @returns Kebab-case variable name suffix.
45
+ * @private
46
+ */
47
+ function defaultPathTransform(path) {
48
+ return path.join('-').toLowerCase();
49
+ }
50
+ /**
51
+ * Transform for color tokens that handles light/dark variants.
52
+ *
53
+ * @param path Token path array.
54
+ * @returns Formatted color variable name.
55
+ * @private
56
+ */
57
+ function colorPathTransform(path) {
58
+ // color.light.primary.500 -> 'primary-500'
59
+ // color.dark.primary.500 -> 'primary-500-dark'
60
+ // scheme.light.background -> 'scheme-background'
61
+ // scheme.dark.background -> 'scheme-background-dark'
62
+ if (path[0] === 'color') {
63
+ if (path.length >= 4) {
64
+ const variant = path[1]; // 'light' or 'dark'
65
+ const colorName = path[2]; // 'primary', 'secondary', etc.
66
+ const shade = path[3]; // '500', '100', etc.
67
+ if (variant === 'dark') {
68
+ return `${colorName}-${shade}-dark`;
69
+ }
70
+ return `${colorName}-${shade}`;
71
+ }
72
+ else if (path.length === 3) {
73
+ const variant = path[1];
74
+ const colorName = path[2];
75
+ if (variant === 'dark') {
76
+ return `${colorName}-dark`;
77
+ }
78
+ return colorName;
79
+ }
80
+ }
81
+ else if (path[0] === 'scheme' && path.length >= 3) {
82
+ const variant = path[1];
83
+ const schemeName = path[2];
84
+ if (variant === 'dark') {
85
+ return `scheme-${schemeName}-dark`;
86
+ }
87
+ return `scheme-${schemeName}`;
88
+ }
89
+ return path.join('-').toLowerCase();
90
+ }
91
+ /**
92
+ * Transform for elevation/shadow tokens.
93
+ *
94
+ * @param path Token path array.
95
+ * @returns Formatted shadow variable name.
96
+ * @private
97
+ */
98
+ function shadowPathTransform(path) {
99
+ // elevation.light.regular -> 'regular'
100
+ // elevation.dark.regular -> 'regular-dark'
101
+ if (path[0] === 'elevation') {
102
+ if (path.length >= 3) {
103
+ const variant = path[1];
104
+ const name = path[2];
105
+ if (variant === 'dark') {
106
+ return `${name}-dark`;
107
+ }
108
+ return name;
109
+ }
110
+ return path.slice(1).join('-');
111
+ }
112
+ return path.join('-').toLowerCase();
113
+ }
114
+ /**
115
+ * Transform for spacing tokens.
116
+ *
117
+ * @param path Token path array.
118
+ * @returns Formatted spacing variable name.
119
+ * @private
120
+ */
121
+ function spacingPathTransform(path) {
122
+ // layout.radius -> 'radius'
123
+ // layout.space -> 'space'
124
+ if (path[0] === 'layout') {
125
+ return path[path.length - 1];
126
+ }
127
+ return path.join('-').toLowerCase();
128
+ }
129
+ /**
130
+ * Transform for typography-related tokens.
131
+ *
132
+ * @param path Token path array.
133
+ * @returns Formatted typography variable name.
134
+ * @private
135
+ */
136
+ function typographyPathTransform(path) {
137
+ // typography.headline1.fontSize -> 'headline1'
138
+ if (path[0] === 'typography' && path.length >= 2) {
139
+ return path[1];
140
+ }
141
+ return path[path.length - 1];
142
+ }
143
+ /**
144
+ * Transform for duration tokens.
145
+ *
146
+ * @param path Token path array.
147
+ * @returns Formatted duration variable name.
148
+ * @private
149
+ */
150
+ function durationPathTransform(path) {
151
+ // duration.short -> 'short'
152
+ // duration._ -> 'DEFAULT'
153
+ if (path[0] === 'duration') {
154
+ const value = path[1];
155
+ return value === '_' ? 'default' : value;
156
+ }
157
+ return path[path.length - 1];
158
+ }
159
+ /**
160
+ * Maps category values to Tailwind v4 CSS variable namespaces.
161
+ *
162
+ * @public
163
+ */
164
+ exports.CATEGORY_TO_V4_MAPPING = {
165
+ colors: {
166
+ namespace: '--color',
167
+ pathTransform: colorPathTransform
168
+ },
169
+ scheme: {
170
+ namespace: '--color',
171
+ pathTransform: colorPathTransform
172
+ },
173
+ spacing: {
174
+ namespace: '--spacing',
175
+ pathTransform: spacingPathTransform
176
+ },
177
+ width: {
178
+ namespace: '--width',
179
+ pathTransform: defaultPathTransform
180
+ },
181
+ height: {
182
+ namespace: '--height',
183
+ pathTransform: defaultPathTransform
184
+ },
185
+ fontFamily: {
186
+ namespace: '--font-family',
187
+ pathTransform: typographyPathTransform
188
+ },
189
+ fontSize: {
190
+ namespace: '--font-size',
191
+ pathTransform: typographyPathTransform
192
+ },
193
+ boxShadow: {
194
+ namespace: '--shadow',
195
+ pathTransform: shadowPathTransform
196
+ },
197
+ opacity: {
198
+ namespace: '--opacity',
199
+ pathTransform: defaultPathTransform
200
+ },
201
+ borderRadius: {
202
+ namespace: '--radius',
203
+ pathTransform: defaultPathTransform
204
+ },
205
+ borderWidth: {
206
+ namespace: '--border-width',
207
+ pathTransform: defaultPathTransform
208
+ },
209
+ zIndex: {
210
+ namespace: '--z',
211
+ pathTransform: defaultPathTransform
212
+ },
213
+ transitionDuration: {
214
+ namespace: '--transition-duration',
215
+ pathTransform: durationPathTransform
216
+ },
217
+ lineHeight: {
218
+ namespace: '--line-height',
219
+ pathTransform: typographyPathTransform
220
+ },
221
+ fontWeight: {
222
+ namespace: '--font-weight',
223
+ pathTransform: typographyPathTransform
224
+ },
225
+ letterSpacing: {
226
+ namespace: '--letter-spacing',
227
+ pathTransform: typographyPathTransform
228
+ }
229
+ };
230
+ /**
231
+ * Fallback mapping from logical token type → Tailwind v4 namespace.
232
+ *
233
+ * @public
234
+ */
235
+ exports.TOKEN_TYPE_TO_V4_MAPPING = {
236
+ color: {
237
+ namespace: '--color',
238
+ pathTransform: colorPathTransform
239
+ },
240
+ spacing: {
241
+ namespace: '--spacing',
242
+ pathTransform: spacingPathTransform
243
+ },
244
+ size: {
245
+ namespace: '--spacing',
246
+ pathTransform: defaultPathTransform
247
+ },
248
+ width: {
249
+ namespace: '--width',
250
+ pathTransform: defaultPathTransform
251
+ },
252
+ height: {
253
+ namespace: '--height',
254
+ pathTransform: defaultPathTransform
255
+ },
256
+ maxWidth: {
257
+ namespace: '--width',
258
+ pathTransform: (path) => `max-${defaultPathTransform(path)}`
259
+ },
260
+ maxHeight: {
261
+ namespace: '--height',
262
+ pathTransform: (path) => `max-${defaultPathTransform(path)}`
263
+ },
264
+ minWidth: {
265
+ namespace: '--width',
266
+ pathTransform: (path) => `min-${defaultPathTransform(path)}`
267
+ },
268
+ minHeight: {
269
+ namespace: '--height',
270
+ pathTransform: (path) => `min-${defaultPathTransform(path)}`
271
+ },
272
+ borderRadius: {
273
+ namespace: '--radius',
274
+ pathTransform: defaultPathTransform
275
+ },
276
+ borderWidth: {
277
+ namespace: '--border-width',
278
+ pathTransform: defaultPathTransform
279
+ },
280
+ font: {
281
+ namespace: '--font-family',
282
+ pathTransform: typographyPathTransform
283
+ },
284
+ fontFamily: {
285
+ namespace: '--font-family',
286
+ pathTransform: typographyPathTransform
287
+ },
288
+ fontSize: {
289
+ namespace: '--font-size',
290
+ pathTransform: typographyPathTransform
291
+ },
292
+ fontWeight: {
293
+ namespace: '--font-weight',
294
+ pathTransform: typographyPathTransform
295
+ },
296
+ lineHeight: {
297
+ namespace: '--line-height',
298
+ pathTransform: typographyPathTransform
299
+ },
300
+ letterSpacing: {
301
+ namespace: '--letter-spacing',
302
+ pathTransform: typographyPathTransform
303
+ },
304
+ shadow: {
305
+ namespace: '--shadow',
306
+ pathTransform: shadowPathTransform
307
+ },
308
+ opacity: {
309
+ namespace: '--opacity',
310
+ pathTransform: defaultPathTransform
311
+ },
312
+ zIndex: {
313
+ namespace: '--z',
314
+ pathTransform: defaultPathTransform
315
+ },
316
+ duration: {
317
+ namespace: '--transition-duration',
318
+ pathTransform: durationPathTransform
319
+ }
320
+ };
321
+ // #endregion
322
+ //# sourceMappingURL=TailwindV4PropertyMapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TailwindV4PropertyMapping.js","sourceRoot":"","sources":["../../../../src/formats/tailwind/v4/TailwindV4PropertyMapping.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import type { TransformedToken } from 'style-dictionary/types';
2
+ import { type TailwindV4Namespace } from './TailwindV4PropertyMapping.js';
3
+ /**
4
+ * Represents a CSS custom property with namespace and value.
5
+ *
6
+ * @public
7
+ */
8
+ export interface ICssVariable {
9
+ readonly namespace: TailwindV4Namespace;
10
+ readonly name: string;
11
+ readonly value: string;
12
+ }
13
+ /**
14
+ * Options for building the Tailwind v4 theme.
15
+ *
16
+ * @public
17
+ */
18
+ export interface IBuildTailwindV4ThemeOptions {
19
+ /**
20
+ * Token name substrings to ignore.
21
+ */
22
+ readonly ignoredTokenNameSubstrings?: ReadonlyArray<string>;
23
+ /**
24
+ * Whether to include a reference to tailwindcss in the output.
25
+ *
26
+ * @default true
27
+ */
28
+ readonly includeTailwindImport?: boolean;
29
+ /**
30
+ * Whether to wrap variables in @theme directive.
31
+ *
32
+ * @default true
33
+ */
34
+ readonly wrapInTheme?: boolean;
35
+ /**
36
+ * Custom layer name for the @theme directive.
37
+ *
38
+ * @default undefined (uses default @theme without layer)
39
+ */
40
+ readonly themeLayer?: string;
41
+ }
42
+ /**
43
+ * Builds an array of CSS custom properties from Style-Dictionary tokens
44
+ * for use in Tailwind v4's @theme directive.
45
+ *
46
+ * @param allTokens All transformed tokens from Style-Dictionary.
47
+ * @param ignoredTokenNameSubstrings Optional substrings; tokens whose name contains any are ignored.
48
+ * @returns Array of CSS variable definitions.
49
+ * @public
50
+ */
51
+ export declare function buildCssVariables(allTokens: ReadonlyArray<TransformedToken>, ignoredTokenNameSubstrings?: ReadonlyArray<string>): ReadonlyArray<ICssVariable>;
52
+ /**
53
+ * Builds a complete Tailwind v4 CSS theme file from Style-Dictionary tokens.
54
+ *
55
+ * @param allTokens All transformed tokens from Style-Dictionary.
56
+ * @param options Build options.
57
+ * @returns Complete CSS file content with @theme directive.
58
+ * @public
59
+ */
60
+ export declare function buildTailwindV4Theme(allTokens: ReadonlyArray<TransformedToken>, options?: IBuildTailwindV4ThemeOptions): string;
61
+ /**
62
+ * Builds a Tailwind v4 CSS theme as CSS custom properties only (no @import).
63
+ * Useful for creating theme presets that can be imported separately.
64
+ *
65
+ * @param allTokens All transformed tokens from Style-Dictionary.
66
+ * @param options Build options.
67
+ * @returns CSS file content with theme variables.
68
+ * @public
69
+ */
70
+ export declare function buildTailwindV4Preset(allTokens: ReadonlyArray<TransformedToken>, options?: IBuildTailwindV4ThemeOptions): string;
71
+ //# sourceMappingURL=buildTailwindV4Theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildTailwindV4Theme.d.ts","sourceRoot":"","sources":["../../../../src/formats/tailwind/v4/buildTailwindV4Theme.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,OAAO,EAIH,KAAK,mBAAmB,EAE3B,MAAM,gCAAgC,CAAC;AAMxC;;;;GAIG;AACH,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,SAAS,EAAE,mBAAmB,CAAC;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,4BAA4B;IAEzC;;OAEG;IACH,QAAQ,CAAC,0BAA0B,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAE5D;;;;OAIG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEzC;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAE/B;;;;OAIG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAChC;AA2GD;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC7B,SAAS,EAAE,aAAa,CAAC,gBAAgB,CAAC,EAC1C,0BAA0B,GAAE,aAAa,CAAC,MAAM,CAAM,GACvD,aAAa,CAAC,YAAY,CAAC,CAkD7B;AAuED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAChC,SAAS,EAAE,aAAa,CAAC,gBAAgB,CAAC,EAC1C,OAAO,GAAE,4BAAiC,GAC3C,MAAM,CA+BR;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACjC,SAAS,EAAE,aAAa,CAAC,gBAAgB,CAAC,EAC1C,OAAO,GAAE,4BAAiC,GAC3C,MAAM,CAKR"}
@@ -0,0 +1,247 @@
1
+ "use strict";
2
+ // #region Imports
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.buildCssVariables = buildCssVariables;
5
+ exports.buildTailwindV4Theme = buildTailwindV4Theme;
6
+ exports.buildTailwindV4Preset = buildTailwindV4Preset;
7
+ const utilities_1 = require("@breadstone-infrastructure/utilities");
8
+ const getType_js_1 = require("../../../utilities/getType.js");
9
+ const getValue_js_1 = require("../../../utilities/getValue.js");
10
+ const TailwindV4PropertyMapping_js_1 = require("./TailwindV4PropertyMapping.js");
11
+ // #endregion
12
+ // #region Fields
13
+ /**
14
+ * Auto-generated file header comment.
15
+ *
16
+ * @private
17
+ */
18
+ const FILE_HEADER = `/* ------------------------------------------------------------------------------
19
+ * <auto-generated>
20
+ * This code was generated by a tool.
21
+ * Changes to this file may cause incorrect behavior and will be lost if
22
+ * the code is regenerated.
23
+ * </auto-generated>
24
+ * ------------------------------------------------------------------------------ */`;
25
+ // #endregion
26
+ // #region Methods
27
+ /**
28
+ * Normalizes a raw token value into a string suitable for CSS.
29
+ *
30
+ * @param value Raw token value.
31
+ * @returns Normalized string value for CSS.
32
+ * @private
33
+ */
34
+ function normalizeValue(value) {
35
+ if (Array.isArray(value)) {
36
+ return value.map((v) => String(v)).join(', ');
37
+ }
38
+ if (typeof value === 'string' || typeof value === 'number') {
39
+ return String(value);
40
+ }
41
+ return String(value);
42
+ }
43
+ /**
44
+ * Validates that tokens use supported logical types and logs warnings
45
+ * for those that cannot be mapped to Tailwind v4.
46
+ *
47
+ * @param tokens All transformed tokens.
48
+ * @param ignoredNames Optional substrings; tokens whose name contains any of them are ignored.
49
+ * @private
50
+ */
51
+ function validateTokenTypes(tokens, ignoredNames = []) {
52
+ const supported = new Set(TailwindV4PropertyMapping_js_1.SUPPORTED_TOKEN_TYPES);
53
+ tokens
54
+ .filter((token) => {
55
+ const lower = token.name.toLowerCase();
56
+ return !ignoredNames.some((substr) => lower.includes(substr.toLowerCase()));
57
+ })
58
+ .forEach((token) => {
59
+ // If token has a valid category mapping, skip type validation
60
+ const rawCategory = token.category;
61
+ if (rawCategory && rawCategory in TailwindV4PropertyMapping_js_1.CATEGORY_TO_V4_MAPPING) {
62
+ return;
63
+ }
64
+ const type = (0, getType_js_1.getType)(token);
65
+ if (!type) {
66
+ return;
67
+ }
68
+ if (!supported.has(type)) {
69
+ console.warn(`${(0, utilities_1.symbol)('warning')} ${(0, utilities_1.yellow)(`Type "${type}" is not supported in Tailwind v4 builder for token "${token.path.join('.')}:${token.name}".`)}`);
70
+ }
71
+ });
72
+ }
73
+ /**
74
+ * Resolves the mapping for a token in Tailwind v4 format.
75
+ *
76
+ * @param token The token to resolve mapping for.
77
+ * @returns An IV4KeyMapping when resolvable, otherwise undefined.
78
+ * @private
79
+ */
80
+ function resolveMappingForToken(token) {
81
+ const rawCategory = token.category;
82
+ // 1. Category-based mapping (if present)
83
+ if (rawCategory) {
84
+ if (rawCategory in TailwindV4PropertyMapping_js_1.CATEGORY_TO_V4_MAPPING) {
85
+ return TailwindV4PropertyMapping_js_1.CATEGORY_TO_V4_MAPPING[rawCategory];
86
+ }
87
+ console.warn(`${(0, utilities_1.symbol)('warning')} ${(0, utilities_1.yellow)(`Token "${token.name}" specifies category "${rawCategory}", which is not mapped. Falling back to token type.`)}`);
88
+ }
89
+ // 2. Type-based mapping
90
+ const type = (token.type ?? token.$type ?? token.original.type ?? token.original.$type);
91
+ if (type) {
92
+ const byType = TailwindV4PropertyMapping_js_1.TOKEN_TYPE_TO_V4_MAPPING[type];
93
+ if (byType) {
94
+ return byType;
95
+ }
96
+ }
97
+ return undefined;
98
+ }
99
+ /**
100
+ * Builds an array of CSS custom properties from Style-Dictionary tokens
101
+ * for use in Tailwind v4's @theme directive.
102
+ *
103
+ * @param allTokens All transformed tokens from Style-Dictionary.
104
+ * @param ignoredTokenNameSubstrings Optional substrings; tokens whose name contains any are ignored.
105
+ * @returns Array of CSS variable definitions.
106
+ * @public
107
+ */
108
+ function buildCssVariables(allTokens, ignoredTokenNameSubstrings = []) {
109
+ validateTokenTypes(allTokens, ignoredTokenNameSubstrings);
110
+ const variables = [];
111
+ for (const token of allTokens) {
112
+ const lowerName = token.name.toLowerCase();
113
+ const tokenPath = token.path.join('.');
114
+ // Check if any ignored substring appears in the token name OR path
115
+ const isIgnored = ignoredTokenNameSubstrings.some((substr) => lowerName.includes(substr.toLowerCase()) || tokenPath.toLowerCase().includes(substr.toLowerCase()));
116
+ if (isIgnored) {
117
+ continue;
118
+ }
119
+ // Skip expanded shadow parts
120
+ const shadowPartPattern = /\.(offsetX|offsetY|blur|spread|color)\.\d+$/i;
121
+ if (shadowPartPattern.test(tokenPath)) {
122
+ continue;
123
+ }
124
+ // Skip duration tokens without values
125
+ if (token.path[0] === 'duration' && !token.value) {
126
+ continue;
127
+ }
128
+ const mapping = resolveMappingForToken(token);
129
+ if (!mapping) {
130
+ console.warn(`${(0, utilities_1.symbol)('warning')} ${(0, utilities_1.yellow)(`Token "${token.path.join('.')}:${token.name}" cannot be mapped to Tailwind v4 (no valid category or type mapping). Skipping.`)}`);
131
+ continue;
132
+ }
133
+ const rawValue = (0, getValue_js_1.getValue)(token);
134
+ const normalizedValue = normalizeValue(rawValue);
135
+ const rawPath = token.path.length > 0 ? token.path : [token.name];
136
+ // Apply pathTransform if defined
137
+ const transformedName = mapping.pathTransform
138
+ ? mapping.pathTransform(rawPath)
139
+ : rawPath.join('-').toLowerCase();
140
+ variables.push({
141
+ namespace: mapping.namespace,
142
+ name: transformedName,
143
+ value: normalizedValue
144
+ });
145
+ }
146
+ return variables;
147
+ }
148
+ /**
149
+ * Groups CSS variables by their namespace for organized output.
150
+ *
151
+ * @param variables Array of CSS variables.
152
+ * @returns Map of namespace to variables.
153
+ * @private
154
+ */
155
+ function groupVariablesByNamespace(variables) {
156
+ const grouped = new Map();
157
+ for (const variable of variables) {
158
+ const existing = grouped.get(variable.namespace);
159
+ if (existing) {
160
+ existing.push(variable);
161
+ }
162
+ else {
163
+ grouped.set(variable.namespace, [variable]);
164
+ }
165
+ }
166
+ return grouped;
167
+ }
168
+ /**
169
+ * Formats CSS variables into a CSS string for the @theme directive.
170
+ *
171
+ * @param variables Array of CSS variables.
172
+ * @param indent Indentation string.
173
+ * @returns Formatted CSS string.
174
+ * @private
175
+ */
176
+ function formatCssVariables(variables, indent = ' ') {
177
+ const grouped = groupVariablesByNamespace(variables);
178
+ const lines = [];
179
+ // Sort namespaces for consistent output
180
+ const sortedNamespaces = Array.from(grouped.keys()).sort();
181
+ for (const namespace of sortedNamespaces) {
182
+ const vars = grouped.get(namespace);
183
+ if (!vars?.length) {
184
+ continue;
185
+ }
186
+ lines.push(`${indent}/* ${namespace.slice(2)} */`);
187
+ // Sort variables within each namespace
188
+ const sortedVars = [...vars].sort((a, b) => a.name.localeCompare(b.name));
189
+ for (const variable of sortedVars) {
190
+ const fullName = `${namespace}-${variable.name}`;
191
+ lines.push(`${indent}${fullName}: ${variable.value};`);
192
+ }
193
+ lines.push('');
194
+ }
195
+ // Remove trailing empty line
196
+ if (lines.length > 0 && lines[lines.length - 1] === '') {
197
+ lines.pop();
198
+ }
199
+ return lines.join('\n');
200
+ }
201
+ /**
202
+ * Builds a complete Tailwind v4 CSS theme file from Style-Dictionary tokens.
203
+ *
204
+ * @param allTokens All transformed tokens from Style-Dictionary.
205
+ * @param options Build options.
206
+ * @returns Complete CSS file content with @theme directive.
207
+ * @public
208
+ */
209
+ function buildTailwindV4Theme(allTokens, options = {}) {
210
+ const { ignoredTokenNameSubstrings = [], includeTailwindImport = true, wrapInTheme = true, themeLayer } = options;
211
+ const variables = buildCssVariables(allTokens, ignoredTokenNameSubstrings);
212
+ const formattedVariables = formatCssVariables(variables);
213
+ const parts = [FILE_HEADER, ''];
214
+ if (includeTailwindImport) {
215
+ parts.push('@import "tailwindcss";', '');
216
+ }
217
+ if (wrapInTheme) {
218
+ const themeDirective = themeLayer ? `@theme ${themeLayer}` : '@theme';
219
+ parts.push(`${themeDirective} {`);
220
+ parts.push(formattedVariables);
221
+ parts.push('}');
222
+ }
223
+ else {
224
+ parts.push(':root {');
225
+ parts.push(formattedVariables);
226
+ parts.push('}');
227
+ }
228
+ parts.push('');
229
+ return parts.join('\n');
230
+ }
231
+ /**
232
+ * Builds a Tailwind v4 CSS theme as CSS custom properties only (no @import).
233
+ * Useful for creating theme presets that can be imported separately.
234
+ *
235
+ * @param allTokens All transformed tokens from Style-Dictionary.
236
+ * @param options Build options.
237
+ * @returns CSS file content with theme variables.
238
+ * @public
239
+ */
240
+ function buildTailwindV4Preset(allTokens, options = {}) {
241
+ return buildTailwindV4Theme(allTokens, {
242
+ ...options,
243
+ includeTailwindImport: false
244
+ });
245
+ }
246
+ // #endregion
247
+ //# sourceMappingURL=buildTailwindV4Theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildTailwindV4Theme.js","sourceRoot":"","sources":["../../../../src/formats/tailwind/v4/buildTailwindV4Theme.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './tailwindV4Format.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/formats/tailwind/v4/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}