@breadstone-infrastructure/style-dictionary 0.0.205 → 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,3 @@
1
+ export * from './tailwind/v3';
2
+ export * from './tailwind/v4';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/formats/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./tailwind/v3"), exports);
18
+ __exportStar(require("./tailwind/v4"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/formats/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,gDAA8B"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Supported logical token types as returned by `getType`.
3
+ *
4
+ * This mirrors your original formatter's behavior and is used for
5
+ * type-based fallback mapping if no valid category is present.
6
+ *
7
+ * @public
8
+ */
9
+ export type DesignTokenType = 'borderRadius' | 'borderWidth' | 'color' | 'duration' | 'font' | 'fontFamily' | 'fontSize' | 'fontWeight' | 'height' | 'letterSpacing' | 'lineHeight' | 'maxHeight' | 'maxWidth' | 'minHeight' | 'minWidth' | 'opacity' | 'shadow' | 'size' | 'spacing' | 'textDecorationLine' | 'textTransform' | 'width' | 'zIndex';
10
+ //# sourceMappingURL=DesignTokenType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DesignTokenType.d.ts","sourceRoot":"","sources":["../../../../src/formats/tailwind/v3/DesignTokenType.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAK,cAAc,GAAG,aAAa,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,UAAU,GAAG,YAAY,GAAG,QAAQ,GAAG,eAAe,GAAG,YAAY,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,oBAAoB,GAAG,eAAe,GAAG,OAAO,GAAG,QAAQ,CAAC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=DesignTokenType.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DesignTokenType.js","sourceRoot":"","sources":["../../../../src/formats/tailwind/v3/DesignTokenType.ts"],"names":[],"mappings":""}
@@ -0,0 +1,61 @@
1
+ import type { Config as TailwindConfig } from 'tailwindcss';
2
+ import type { DesignTokenType } from './DesignTokenType.js';
3
+ /**
4
+ * A valid key for the `theme` section of Tailwind config.
5
+ *
6
+ * @public
7
+ */
8
+ export type TailwindThemeKey = keyof NonNullable<TailwindConfig['theme']>;
9
+ /**
10
+ * Strategy describing how to map a token value under a given theme key.
11
+ *
12
+ * @private
13
+ */
14
+ type MappingStrategy = 'flat' | 'nested' | 'shadeMap' | 'shadow';
15
+ /**
16
+ * Function type for transforming token paths into Tailwind-compatible keys.
17
+ * Can return either a string (for flat/shadow strategies) or an array (for nested/shadeMap strategies).
18
+ *
19
+ * @public
20
+ */
21
+ export type PathTransformFn = (path: ReadonlyArray<string>) => string | ReadonlyArray<string>;
22
+ /**
23
+ * Internal mapping definition: for a given Tailwind theme key,
24
+ * which mapping strategy to apply when inserting tokens.
25
+ *
26
+ * @public
27
+ */
28
+ export interface IKeyMapping {
29
+ readonly themeKey: TailwindThemeKey;
30
+ readonly strategy: MappingStrategy;
31
+ readonly pathTransform?: PathTransformFn;
32
+ }
33
+ /**
34
+ * Set of supported design token types for validation.
35
+ * Used only for logging; unsupported types are skipped.
36
+ *
37
+ * @public
38
+ */
39
+ export declare const SUPPORTED_TOKEN_TYPES: ReadonlyArray<DesignTokenType>;
40
+ /**
41
+ * Maps token-level `category` values (which MUST match Tailwind theme keys)
42
+ * to Tailwind 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
+ export declare const CATEGORY_TO_KEY_MAPPING: Partial<Record<TailwindThemeKey, IKeyMapping>>;
50
+ /**
51
+ * Fallback mapping from logical token type → Tailwind theme key + strategy.
52
+ *
53
+ * This is used when there is no valid `category` on the token.
54
+ * It keeps the behavior close to the original formatter where routing
55
+ * was based on `type`.
56
+ *
57
+ * @public
58
+ */
59
+ export declare const TOKEN_TYPE_TO_KEY_MAPPING: Partial<Record<DesignTokenType, IKeyMapping>>;
60
+ export {};
61
+ //# sourceMappingURL=TailwindPropertyMapping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TailwindPropertyMapping.d.ts","sourceRoot":"","sources":["../../../../src/formats/tailwind/v3/TailwindPropertyMapping.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAM5D;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AAE1E;;;;GAIG;AACH,KAAK,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAE9F;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IACnC,QAAQ,CAAC,aAAa,CAAC,EAAE,eAAe,CAAC;CAC5C;AAMD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,eAAe,CAwBhE,CAAC;AAMF;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAwNlF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,WAAW,CAAC,CAwInF,CAAC"}
@@ -0,0 +1,421 @@
1
+ "use strict";
2
+ // #region Imports
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.TOKEN_TYPE_TO_KEY_MAPPING = exports.CATEGORY_TO_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 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_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 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_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=TailwindPropertyMapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TailwindPropertyMapping.js","sourceRoot":"","sources":["../../../../src/formats/tailwind/v3/TailwindPropertyMapping.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AA2ClB,aAAa;AAEb,oBAAoB;AAEpB;;;;;GAKG;AACU,QAAA,qBAAqB,GAAmC;IACjE,cAAc;IACd,aAAa;IACb,OAAO;IACP,UAAU;IACV,MAAM;IACN,YAAY;IACZ,UAAU;IACV,YAAY;IACZ,QAAQ;IACR,eAAe;IACf,YAAY;IACZ,WAAW;IACX,UAAU;IACV,WAAW;IACX,UAAU;IACV,SAAS;IACT,QAAQ;IACR,MAAM;IACN,SAAS;IACT,oBAAoB;IACpB,eAAe;IACf,OAAO;IACP,QAAQ;CACX,CAAC;AAEF,aAAa;AAEb,mBAAmB;AAEnB;;;;;;;;GAQG;AACU,QAAA,uBAAuB,GAAmD;IACnF,MAAM,EAAE;QACJ,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,UAAU;QACpB,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACpB,oEAAoE;YACpE,uEAAuE;YACvE,2DAA2D;YAC3D,8DAA8D;YAC9D,kEAAkE;YAClE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;gBACtB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACnB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB;oBAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,+BAA+B;oBAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB;oBAE5C,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;wBACtB,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBAC9B,CAAC;yBAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;wBAC5B,OAAO,CAAC,GAAG,SAAS,OAAO,EAAE,KAAK,CAAC,CAAC;oBACxC,CAAC;gBACL,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC3B,2DAA2D;oBAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC1B,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;wBACtB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;oBAClC,CAAC;yBAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;wBAC5B,OAAO,CAAC,GAAG,SAAS,OAAO,EAAE,SAAS,CAAC,CAAC;oBAC5C,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAClD,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB;gBAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAmC;gBAE/D,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;oBACtB,OAAO,CAAC,UAAU,UAAU,EAAE,EAAE,SAAS,CAAC,CAAC;gBAC/C,CAAC;qBAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;oBAC5B,OAAO,CAAC,UAAU,UAAU,OAAO,EAAE,SAAS,CAAC,CAAC;gBACpD,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;KACJ;IACD,MAAM,EAAE;QACJ,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,UAAU;QACpB,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACpB,8DAA8D;YAC9D,kEAAkE;YAClE,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB;gBAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAmC;gBACzD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;oBACtB,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;gBACzC,CAAC;qBAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;oBAC5B,OAAO,CAAC,UAAU,IAAI,OAAO,EAAE,SAAS,CAAC,CAAC;gBAC9C,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;KACJ;IACD,OAAO,EAAE;QACL,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,MAAM;QAChB,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACpB,4BAA4B;YAC5B,0BAA0B;YAC1B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACjC,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;KACJ;IACD,KAAK,EAAE;QACH,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,MAAM;KACnB;IACD,MAAM,EAAE;QACJ,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,MAAM;KACnB;IACD,UAAU,EAAE;QACR,QAAQ,EAAE,YAAY;QACtB,QAAQ,EAAE,MAAM;QAChB,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACpB,iDAAiD;YACjD,yCAAyC;YACzC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC;YACD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC7C,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;KACJ;IACD,QAAQ,EAAE;QACN,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,MAAM;QAChB,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACpB,+CAA+C;YAC/C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;KACJ;IACD,SAAS,EAAE;QACP,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,QAAQ;QAClB,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACpB,uCAAuC;YACvC,2CAA2C;YAC3C,qCAAqC;YACrC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,WAAW,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACnB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB;oBAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B;oBACjD,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;wBACtB,OAAO,IAAI,CAAC;oBAChB,CAAC;yBAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;wBAC5B,OAAO,GAAG,IAAI,OAAO,CAAC;oBAC1B,CAAC;gBACL,CAAC;gBACD,wDAAwD;gBACxD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1B,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1B,CAAC;KACJ;IACD,OAAO,EAAE;QACL,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,MAAM;KACnB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,MAAM;KACnB;IACD,WAAW,EAAE;QACT,QAAQ,EAAE,aAAa;QACvB,QAAQ,EAAE,MAAM;KACnB;IACD,MAAM,EAAE;QACJ,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,MAAM;KACnB;IACD,kBAAkB,EAAE;QAChB,QAAQ,EAAE,oBAAoB;QAC9B,QAAQ,EAAE,MAAM;QAChB,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACpB,4BAA4B;YAC5B,0BAA0B;YAC1B,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;KACJ;IACD,0EAA0E;IAC1E,wDAAwD;IACxD,UAAU,EAAE;QACR,QAAQ,EAAE,YAAY;QACtB,QAAQ,EAAE,MAAM;QAChB,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACpB,iDAAiD;YACjD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;KACJ;IACD,UAAU,EAAE;QACR,QAAQ,EAAE,YAAY;QACtB,QAAQ,EAAE,MAAM;QAChB,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACpB,iDAAiD;YACjD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;KACJ;IACD,aAAa,EAAE;QACX,QAAQ,EAAE,eAAe;QACzB,QAAQ,EAAE,MAAM;QAChB,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACpB,oDAAoD;YACpD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;KACJ;IACD,kBAAkB,EAAE;QAChB,QAAQ,EAAE,qBAAqB;QAC/B,QAAQ,EAAE,MAAM;QAChB,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACpB,qDAAqD;YACrD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;KACJ;IACD,aAAa,EAAE;QACX,QAAQ,EAAE,eAAe;QACzB,QAAQ,EAAE,MAAM;QAChB,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACpB,oDAAoD;YACpD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;KACJ;CACJ,CAAC;AAEF;;;;;;;;GAQG;AACU,QAAA,yBAAyB,GAAkD;IACpF,KAAK,EAAE;QACH,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,UAAU;QACpB,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACpB,oEAAoE;YACpE,uEAAuE;YACvE,2DAA2D;YAC3D,kFAAkF;YAClF,qFAAqF;YACrF,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC;gBACtB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBACnB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB;oBAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,+BAA+B;oBAC1D,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,qBAAqB;oBAE5C,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;wBACtB,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;oBAC9B,CAAC;yBAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;wBAC5B,OAAO,CAAC,GAAG,SAAS,OAAO,EAAE,KAAK,CAAC,CAAC;oBACxC,CAAC;gBACL,CAAC;qBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC3B,2DAA2D;oBAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBACxB,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;oBAC1B,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;wBACtB,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;oBAClC,CAAC;yBAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;wBAC5B,OAAO,CAAC,GAAG,SAAS,OAAO,EAAE,SAAS,CAAC,CAAC;oBAC5C,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAClD,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB;gBAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,mCAAmC;gBAE/D,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;oBACtB,OAAO,CAAC,UAAU,UAAU,EAAE,EAAE,SAAS,CAAC,CAAC;gBAC/C,CAAC;qBAAM,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;oBAC5B,OAAO,CAAC,UAAU,UAAU,OAAO,EAAE,SAAS,CAAC,CAAC;gBACpD,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;KACJ;IACD,OAAO,EAAE;QACL,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,MAAM;KACnB;IACD,IAAI,EAAE;QACF,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,MAAM;KACnB;IACD,KAAK,EAAE;QACH,QAAQ,EAAE,OAAO;QACjB,QAAQ,EAAE,MAAM;KACnB;IACD,MAAM,EAAE;QACJ,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,MAAM;KACnB;IACD,QAAQ,EAAE;QACN,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,MAAM;KACnB;IACD,SAAS,EAAE;QACP,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,MAAM;KACnB;IACD,QAAQ,EAAE;QACN,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,MAAM;KACnB;IACD,SAAS,EAAE;QACP,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,MAAM;KACnB;IACD,YAAY,EAAE;QACV,QAAQ,EAAE,cAAc;QACxB,QAAQ,EAAE,MAAM;KACnB;IACD,WAAW,EAAE;QACT,QAAQ,EAAE,aAAa;QACvB,QAAQ,EAAE,MAAM;KACnB;IACD,IAAI,EAAE;QACF,QAAQ,EAAE,YAAY;QACtB,QAAQ,EAAE,MAAM;QAChB,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACpB,iDAAiD;YACjD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC;YACD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC7C,OAAO,SAAS,CAAC;YACrB,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;KACJ;IACD,UAAU,EAAE;QACR,QAAQ,EAAE,YAAY;QACtB,QAAQ,EAAE,MAAM;QAChB,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACpB,iDAAiD;YACjD,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;KACJ;IACD,QAAQ,EAAE;QACN,QAAQ,EAAE,UAAU;QACpB,QAAQ,EAAE,MAAM;QAChB,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;YACpB,+CAA+C;YAC/C,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAC/C,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC;YACnB,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;KACJ;IACD,MAAM,EAAE;QACJ,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,QAAQ;KACrB;IACD,OAAO,EAAE;QACL,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,MAAM;KACnB;IACD,MAAM,EAAE;QACJ,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,MAAM;KACnB;IACD,QAAQ,EAAE;QACN,QAAQ,EAAE,oBAAoB;QAC9B,QAAQ,EAAE,MAAM;KACnB;CACJ,CAAC;AAEF,aAAa"}
@@ -0,0 +1,61 @@
1
+ import type { Config as TailwindConfig } from 'tailwindcss';
2
+ import type { DesignTokenType } from './DesignTokenType.js';
3
+ /**
4
+ * A valid key for the `theme` section of Tailwind v3 config.
5
+ *
6
+ * @public
7
+ */
8
+ export type TailwindV3ThemeKey = keyof NonNullable<TailwindConfig['theme']>;
9
+ /**
10
+ * Strategy describing how to map a token value under a given theme key.
11
+ *
12
+ * @private
13
+ */
14
+ type V3MappingStrategy = 'flat' | 'nested' | 'shadeMap' | 'shadow';
15
+ /**
16
+ * Function type for transforming token paths into Tailwind-compatible keys.
17
+ * Can return either a string (for flat/shadow strategies) or an array (for nested/shadeMap strategies).
18
+ *
19
+ * @public
20
+ */
21
+ export type V3PathTransformFn = (path: ReadonlyArray<string>) => string | ReadonlyArray<string>;
22
+ /**
23
+ * Internal mapping definition for Tailwind v3: for a given Tailwind theme key,
24
+ * which mapping strategy to apply when inserting tokens.
25
+ *
26
+ * @public
27
+ */
28
+ export interface IV3KeyMapping {
29
+ readonly themeKey: TailwindV3ThemeKey;
30
+ readonly strategy: V3MappingStrategy;
31
+ readonly pathTransform?: V3PathTransformFn;
32
+ }
33
+ /**
34
+ * Set of supported design token types for validation.
35
+ * Used only for logging; unsupported types are skipped.
36
+ *
37
+ * @public
38
+ */
39
+ export declare const SUPPORTED_TOKEN_TYPES: ReadonlyArray<DesignTokenType>;
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
+ export declare const CATEGORY_TO_V3_KEY_MAPPING: Partial<Record<TailwindV3ThemeKey, IV3KeyMapping>>;
50
+ /**
51
+ * Fallback mapping from logical token type → Tailwind v3 theme key + strategy.
52
+ *
53
+ * This is used when there is no valid `category` on the token.
54
+ * It keeps the behavior close to the original formatter where routing
55
+ * was based on `type`.
56
+ *
57
+ * @public
58
+ */
59
+ export declare const TOKEN_TYPE_TO_V3_KEY_MAPPING: Partial<Record<DesignTokenType, IV3KeyMapping>>;
60
+ export {};
61
+ //# sourceMappingURL=TailwindV3PropertyMapping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TailwindV3PropertyMapping.d.ts","sourceRoot":"","sources":["../../../../src/formats/tailwind/v3/TailwindV3PropertyMapping.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAM5D;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AAE5E;;;;GAIG;AACH,KAAK,iBAAiB,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEnE;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAEhG;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,QAAQ,EAAE,kBAAkB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,aAAa,CAAC,EAAE,iBAAiB,CAAC;CAC9C;AAMD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,eAAe,CAwBhE,CAAC;AAMF;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,EAAE,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAwNzF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC,CAwIxF,CAAC"}