@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.
- package/formats/index.d.ts +3 -0
- package/formats/index.d.ts.map +1 -0
- package/formats/index.js +19 -0
- package/formats/index.js.map +1 -0
- package/formats/tailwind/v3/DesignTokenType.d.ts +10 -0
- package/formats/tailwind/v3/DesignTokenType.d.ts.map +1 -0
- package/formats/tailwind/v3/DesignTokenType.js +3 -0
- package/formats/tailwind/v3/DesignTokenType.js.map +1 -0
- package/formats/tailwind/v3/TailwindPropertyMapping.d.ts +61 -0
- package/formats/tailwind/v3/TailwindPropertyMapping.d.ts.map +1 -0
- package/formats/tailwind/v3/TailwindPropertyMapping.js +421 -0
- package/formats/tailwind/v3/TailwindPropertyMapping.js.map +1 -0
- package/formats/tailwind/v3/TailwindV3PropertyMapping.d.ts +61 -0
- package/formats/tailwind/v3/TailwindV3PropertyMapping.d.ts.map +1 -0
- package/formats/tailwind/v3/TailwindV3PropertyMapping.js +421 -0
- package/formats/tailwind/v3/TailwindV3PropertyMapping.js.map +1 -0
- package/formats/tailwind/v3/buildTailwindConfig.d.ts +23 -0
- package/formats/tailwind/v3/buildTailwindConfig.d.ts.map +1 -0
- package/formats/tailwind/v3/buildTailwindConfig.js +281 -0
- package/formats/tailwind/v3/buildTailwindConfig.js.map +1 -0
- package/formats/tailwind/v3/buildTailwindV3Config.d.ts +24 -0
- package/formats/tailwind/v3/buildTailwindV3Config.d.ts.map +1 -0
- package/formats/tailwind/v3/buildTailwindV3Config.js +282 -0
- package/formats/tailwind/v3/buildTailwindV3Config.js.map +1 -0
- package/formats/tailwind/v3/index.d.ts +5 -0
- package/formats/tailwind/v3/index.d.ts.map +1 -0
- package/formats/tailwind/v3/index.js +21 -0
- package/formats/tailwind/v3/index.js.map +1 -0
- package/formats/tailwind/v3/tailwindFormat.d.ts +13 -0
- package/formats/tailwind/v3/tailwindFormat.d.ts.map +1 -0
- package/formats/tailwind/v3/tailwindFormat.js +57 -0
- package/formats/tailwind/v3/tailwindFormat.js.map +1 -0
- package/formats/tailwind/v3/tailwindFormat2.d.ts +13 -0
- package/formats/tailwind/v3/tailwindFormat2.d.ts.map +1 -0
- package/formats/tailwind/v3/tailwindFormat2.js +65 -0
- package/formats/tailwind/v3/tailwindFormat2.js.map +1 -0
- package/formats/tailwind/v3/tailwindV3Format.d.ts +32 -0
- package/formats/tailwind/v3/tailwindV3Format.d.ts.map +1 -0
- package/formats/tailwind/v3/tailwindV3Format.js +123 -0
- package/formats/tailwind/v3/tailwindV3Format.js.map +1 -0
- package/formats/tailwind/v4/DesignTokenType.d.ts +10 -0
- package/formats/tailwind/v4/DesignTokenType.d.ts.map +1 -0
- package/formats/tailwind/v4/DesignTokenType.js +3 -0
- package/formats/tailwind/v4/DesignTokenType.js.map +1 -0
- package/formats/tailwind/v4/TailwindV4PropertyMapping.d.ts +45 -0
- package/formats/tailwind/v4/TailwindV4PropertyMapping.d.ts.map +1 -0
- package/formats/tailwind/v4/TailwindV4PropertyMapping.js +322 -0
- package/formats/tailwind/v4/TailwindV4PropertyMapping.js.map +1 -0
- package/formats/tailwind/v4/buildTailwindV4Theme.d.ts +71 -0
- package/formats/tailwind/v4/buildTailwindV4Theme.d.ts.map +1 -0
- package/formats/tailwind/v4/buildTailwindV4Theme.js +247 -0
- package/formats/tailwind/v4/buildTailwindV4Theme.js.map +1 -0
- package/formats/tailwind/v4/index.d.ts +2 -0
- package/formats/tailwind/v4/index.d.ts.map +1 -0
- package/formats/tailwind/v4/index.js +18 -0
- package/formats/tailwind/v4/index.js.map +1 -0
- package/formats/tailwind/v4/tailwindV4Format.d.ts +55 -0
- package/formats/tailwind/v4/tailwindV4Format.d.ts.map +1 -0
- package/formats/tailwind/v4/tailwindV4Format.js +88 -0
- package/formats/tailwind/v4/tailwindV4Format.js.map +1 -0
- package/index.d.ts +3 -9
- package/index.d.ts.map +1 -1
- package/index.js +3 -17
- package/index.js.map +1 -1
- package/package.json +2 -2
- package/preprocessors/index.d.ts +3 -0
- package/preprocessors/index.d.ts.map +1 -0
- package/preprocessors/index.js +19 -0
- package/preprocessors/index.js.map +1 -0
- package/transforms/index.d.ts +7 -0
- package/transforms/index.d.ts.map +1 -0
- package/transforms/index.js +23 -0
- package/transforms/index.js.map +1 -0
|
@@ -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"}
|
package/formats/index.js
ADDED
|
@@ -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 @@
|
|
|
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"}
|