@breadstone-infrastructure/style-dictionary 0.0.175 → 0.0.176

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/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 0.0.175 (2025-11-28)
2
+
3
+ ### 🩹 Fixes
4
+
5
+ - add missing newline at end of package.json ([b00046e27b](https://github.com/RueDeRennes/mosaik/commit/b00046e27b))
6
+
1
7
  ## 0.0.174 (2025-11-28)
2
8
 
3
9
  ### 🚀 Features
@@ -9,22 +9,16 @@ export type TailwindThemeKey = keyof NonNullable<TailwindConfig['theme']>;
9
9
  /**
10
10
  * Strategy describing how to map a token value under a given theme key.
11
11
  *
12
- * - "flat": Direct mapping, e.g. spacing, fontSize.
13
- * Example:
14
- * path: ['layout-header-height'] -> spacing['layout-header-height']
15
- * - "nested": Nested mapping based on token path segments.
16
- * Example:
17
- * path: ['layout', 'header', 'height'] -> spacing.layout.header.height
18
- * - "shadeMap": Mapping for color shades.
19
- * Example:
20
- * path: ['brand', '500'] -> colors.brand['500']
21
- * - "shadow": Mapping for shadow tokens.
22
- * Example:
23
- * path: ['card-shadow'] -> boxShadow['card-shadow']
24
- *
25
12
  * @private
26
13
  */
27
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>;
28
22
  /**
29
23
  * Internal mapping definition: for a given Tailwind theme key,
30
24
  * which mapping strategy to apply when inserting tokens.
@@ -34,6 +28,7 @@ type MappingStrategy = 'flat' | 'nested' | 'shadeMap' | 'shadow';
34
28
  export interface IKeyMapping {
35
29
  readonly themeKey: TailwindThemeKey;
36
30
  readonly strategy: MappingStrategy;
31
+ readonly pathTransform?: PathTransformFn;
37
32
  }
38
33
  /**
39
34
  * Set of supported design token types for validation.
@@ -1 +1 @@
1
- {"version":3,"file":"TailwindPropertyMapping.d.ts","sourceRoot":"","sources":["../../../src/formats/tailwind/TailwindPropertyMapping.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIzD;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;AAE1E;;;;;;;;;;;;;;;;;GAiBG;AACH,KAAK,eAAe,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;CACtC;AA+BD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,eAAe,CAsBhE,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAiDlF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,WAAW,CAAC,CAqFnF,CAAC"}
1
+ {"version":3,"file":"TailwindPropertyMapping.d.ts","sourceRoot":"","sources":["../../../src/formats/tailwind/TailwindPropertyMapping.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAMzD;;;;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,CAsBhE,CAAC;AAMF;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,EAAE,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,WAAW,CAAC,CA8IlF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,yBAAyB,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,WAAW,CAAC,CA6HnF,CAAC"}
@@ -2,6 +2,8 @@
2
2
  // #region Imports
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.TOKEN_TYPE_TO_KEY_MAPPING = exports.CATEGORY_TO_KEY_MAPPING = exports.SUPPORTED_TOKEN_TYPES = void 0;
5
+ // #endregion
6
+ // #region Constants
5
7
  /**
6
8
  * Set of supported design token types for validation.
7
9
  * Used only for logging; unsupported types are skipped.
@@ -31,6 +33,8 @@ exports.SUPPORTED_TOKEN_TYPES = [
31
33
  'width',
32
34
  'zIndex'
33
35
  ];
36
+ // #endregion
37
+ // #region Mappings
34
38
  /**
35
39
  * Maps token-level `category` values (which MUST match Tailwind theme keys)
36
40
  * to Tailwind theme keys and the corresponding mapping strategy.
@@ -43,11 +47,35 @@ exports.SUPPORTED_TOKEN_TYPES = [
43
47
  exports.CATEGORY_TO_KEY_MAPPING = {
44
48
  colors: {
45
49
  themeKey: 'colors',
46
- strategy: 'nested'
50
+ strategy: 'shadeMap',
51
+ pathTransform: (path) => {
52
+ // color.light.primary.500 -> ['primary', '500'] (for light variant)
53
+ // color.dark.primary.500 -> ['primary-dark', '500'] (for dark variant)
54
+ if (path.length >= 4 && path[0] === 'color') {
55
+ const variant = path[1]; // 'light' or 'dark'
56
+ const colorName = path[2]; // 'primary', 'secondary', etc.
57
+ const shade = path[3]; // '500', '100', etc.
58
+ if (variant === 'light') {
59
+ return [colorName, shade];
60
+ }
61
+ else if (variant === 'dark') {
62
+ return [`${colorName}-dark`, shade];
63
+ }
64
+ }
65
+ return path;
66
+ }
47
67
  },
48
68
  spacing: {
49
69
  themeKey: 'spacing',
50
- strategy: 'flat'
70
+ strategy: 'flat',
71
+ pathTransform: (path) => {
72
+ // layout.radius -> 'radius'
73
+ // layout.space -> 'space'
74
+ if (path[0] === 'layout') {
75
+ return path[path.length - 1];
76
+ }
77
+ return path.join('-');
78
+ }
51
79
  },
52
80
  width: {
53
81
  themeKey: 'width',
@@ -59,15 +87,41 @@ exports.CATEGORY_TO_KEY_MAPPING = {
59
87
  },
60
88
  fontFamily: {
61
89
  themeKey: 'fontFamily',
62
- strategy: 'flat'
90
+ strategy: 'flat',
91
+ pathTransform: (path) => {
92
+ // typography.headline1.fontFamily -> 'headline1'
93
+ // font.family -> 'sans' (or custom name)
94
+ if (path[0] === 'typography' && path.length >= 2) {
95
+ return path[1];
96
+ }
97
+ if (path[0] === 'font' && path[1] === 'family') {
98
+ return 'sans';
99
+ }
100
+ return path[path.length - 1];
101
+ }
63
102
  },
64
103
  fontSize: {
65
104
  themeKey: 'fontSize',
66
- strategy: 'flat'
105
+ strategy: 'flat',
106
+ pathTransform: (path) => {
107
+ // typography.headline1.fontSize -> 'headline1'
108
+ if (path[0] === 'typography' && path.length >= 2) {
109
+ return path[1];
110
+ }
111
+ return path[path.length - 1];
112
+ }
67
113
  },
68
114
  boxShadow: {
69
115
  themeKey: 'boxShadow',
70
- strategy: 'shadow'
116
+ strategy: 'shadow',
117
+ pathTransform: (path) => {
118
+ // elevation.light.regular -> 'regular'
119
+ // elevation.dark.* wird ignoriert oder separat behandelt
120
+ if (path[0] === 'elevation' && path.length >= 3) {
121
+ return path[2];
122
+ }
123
+ return path.join('-');
124
+ }
71
125
  },
72
126
  opacity: {
73
127
  themeKey: 'opacity',
@@ -87,7 +141,50 @@ exports.CATEGORY_TO_KEY_MAPPING = {
87
141
  },
88
142
  transitionDuration: {
89
143
  themeKey: 'transitionDuration',
90
- strategy: 'flat'
144
+ strategy: 'flat',
145
+ pathTransform: (path) => {
146
+ // duration.short -> 'short'
147
+ // duration._ -> 'DEFAULT'
148
+ if (path[0] === 'duration') {
149
+ return path[1] === '_' ? 'DEFAULT' : path[1];
150
+ }
151
+ return path[path.length - 1];
152
+ }
153
+ },
154
+ // Typography-related categories that didn't get their own top-level entry
155
+ // These are used by sub-properties of typography tokens
156
+ lineHeight: {
157
+ themeKey: 'lineHeight',
158
+ strategy: 'flat',
159
+ pathTransform: (path) => {
160
+ // typography.headline1.lineHeight -> 'headline1'
161
+ if (path[0] === 'typography' && path.length >= 2) {
162
+ return path[1];
163
+ }
164
+ return path[path.length - 1];
165
+ }
166
+ },
167
+ fontWeight: {
168
+ themeKey: 'fontWeight',
169
+ strategy: 'flat',
170
+ pathTransform: (path) => {
171
+ // typography.headline1.fontWeight -> 'headline1'
172
+ if (path[0] === 'typography' && path.length >= 2) {
173
+ return path[1];
174
+ }
175
+ return path[path.length - 1];
176
+ }
177
+ },
178
+ letterSpacing: {
179
+ themeKey: 'letterSpacing',
180
+ strategy: 'flat',
181
+ pathTransform: (path) => {
182
+ // typography.headline1.letterSpacing -> 'headline1'
183
+ if (path[0] === 'typography' && path.length >= 2) {
184
+ return path[1];
185
+ }
186
+ return path[path.length - 1];
187
+ }
91
188
  }
92
189
  };
93
190
  /**
@@ -102,7 +199,35 @@ exports.CATEGORY_TO_KEY_MAPPING = {
102
199
  exports.TOKEN_TYPE_TO_KEY_MAPPING = {
103
200
  color: {
104
201
  themeKey: 'colors',
105
- strategy: 'nested'
202
+ strategy: 'shadeMap',
203
+ pathTransform: (path) => {
204
+ // color.light.primary.500 -> ['primary', '500'] (for light variant)
205
+ // color.dark.primary.500 -> ['primary-dark', '500'] (for dark variant)
206
+ // scheme.light.background -> ['background', 'DEFAULT'] (for light variant)
207
+ // scheme.dark.background -> ['background-dark', 'DEFAULT'] (for dark variant)
208
+ if (path[0] === 'color' && path.length >= 4) {
209
+ const variant = path[1]; // 'light' or 'dark'
210
+ const colorName = path[2]; // 'primary', 'secondary', etc.
211
+ const shade = path[3]; // '500', '100', etc.
212
+ if (variant === 'light') {
213
+ return [colorName, shade];
214
+ }
215
+ else if (variant === 'dark') {
216
+ return [`${colorName}-dark`, shade];
217
+ }
218
+ }
219
+ if (path[0] === 'scheme' && path.length >= 3) {
220
+ const variant = path[1]; // 'light' or 'dark'
221
+ const schemeName = path[2]; // 'background', 'foreground', etc.
222
+ if (variant === 'light') {
223
+ return [schemeName, 'DEFAULT'];
224
+ }
225
+ else if (variant === 'dark') {
226
+ return [`${schemeName}-dark`, 'DEFAULT'];
227
+ }
228
+ }
229
+ return path;
230
+ }
106
231
  },
107
232
  spacing: {
108
233
  themeKey: 'spacing',
@@ -146,27 +271,39 @@ exports.TOKEN_TYPE_TO_KEY_MAPPING = {
146
271
  },
147
272
  font: {
148
273
  themeKey: 'fontFamily',
149
- strategy: 'flat'
274
+ strategy: 'flat',
275
+ pathTransform: (path) => {
276
+ // typography.headline1.fontFamily -> 'headline1'
277
+ if (path[0] === 'typography' && path.length >= 2) {
278
+ return path[1];
279
+ }
280
+ if (path[0] === 'font' && path[1] === 'family') {
281
+ return 'DEFAULT';
282
+ }
283
+ return path[path.length - 1];
284
+ }
150
285
  },
151
286
  fontFamily: {
152
287
  themeKey: 'fontFamily',
153
- strategy: 'flat'
288
+ strategy: 'flat',
289
+ pathTransform: (path) => {
290
+ // typography.headline1.fontFamily -> 'headline1'
291
+ if (path[0] === 'typography' && path.length >= 2) {
292
+ return path[1];
293
+ }
294
+ return path[path.length - 1];
295
+ }
154
296
  },
155
297
  fontSize: {
156
298
  themeKey: 'fontSize',
157
- strategy: 'flat'
158
- },
159
- fontWeight: {
160
- themeKey: 'fontWeight',
161
- strategy: 'flat'
162
- },
163
- lineHeight: {
164
- themeKey: 'lineHeight',
165
- strategy: 'flat'
166
- },
167
- letterSpacing: {
168
- themeKey: 'letterSpacing',
169
- strategy: 'flat'
299
+ strategy: 'flat',
300
+ pathTransform: (path) => {
301
+ // typography.headline1.fontSize -> 'headline1'
302
+ if (path[0] === 'typography' && path.length >= 2) {
303
+ return path[1];
304
+ }
305
+ return path[path.length - 1];
306
+ }
170
307
  },
171
308
  shadow: {
172
309
  themeKey: 'boxShadow',
@@ -185,4 +322,5 @@ exports.TOKEN_TYPE_TO_KEY_MAPPING = {
185
322
  strategy: 'flat'
186
323
  }
187
324
  };
325
+ // #endregion
188
326
  //# sourceMappingURL=TailwindPropertyMapping.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TailwindPropertyMapping.js","sourceRoot":"","sources":["../../../src/formats/tailwind/TailwindPropertyMapping.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TailwindPropertyMapping.js","sourceRoot":"","sources":["../../../src/formats/tailwind/TailwindPropertyMapping.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"buildTailwindConfig.d.ts","sourceRoot":"","sources":["../../../src/formats/tailwind/buildTailwindConfig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAyH/D;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,aAAa,CAAC,gBAAgB,CAAC,EAC1C,0BAA0B,GAAE,KAAK,CAAC,MAAM,CAAM,GAC/C,cAAc,CAqEhB"}
1
+ {"version":3,"file":"buildTailwindConfig.d.ts","sourceRoot":"","sources":["../../../src/formats/tailwind/buildTailwindConfig.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AA2H/D;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CAC/B,SAAS,EAAE,aAAa,CAAC,gBAAgB,CAAC,EAC1C,0BAA0B,GAAE,KAAK,CAAC,MAAM,CAAM,GAC/C,cAAc,CAiJhB"}
@@ -97,7 +97,8 @@ function resolveMappingForToken(token) {
97
97
  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.`)}`);
98
98
  }
99
99
  // 2. Type-based mapping
100
- const type = (0, getType_js_1.getType)(token);
100
+ // Try multiple type properties: token.type (set by transforms), token.$type (original), token.original.type, token.original.$type
101
+ const type = (token.type ?? token.$type ?? token.original?.type ?? token.original?.$type);
101
102
  if (type) {
102
103
  const byType = TailwindPropertyMapping_js_1.TOKEN_TYPE_TO_KEY_MAPPING[type];
103
104
  if (byType) {
@@ -132,7 +133,26 @@ function buildTailwindConfig(allTokens, ignoredTokenNameSubstrings = []) {
132
133
  const config = { theme: { extend: {} } };
133
134
  for (const token of allTokens) {
134
135
  const lowerName = token.name.toLowerCase();
135
- if (ignoredTokenNameSubstrings.some((substr) => lowerName.includes(substr.toLowerCase()))) {
136
+ const tokenPath = token.path.join('.');
137
+ // Check if any ignored substring appears in the token name OR path
138
+ if (ignoredTokenNameSubstrings.some((substr) => lowerName.includes(substr.toLowerCase()) ||
139
+ tokenPath.toLowerCase().includes(substr.toLowerCase()))) {
140
+ continue;
141
+ }
142
+ // Skip expanded shadow parts (offsetX, offsetY, blur, spread, color sub-tokens)
143
+ // These are created by expandShadowPreprocessor and should be ignored for Tailwind
144
+ const shadowPartPattern = /\.(offsetX|offsetY|blur|spread|color)\.\d+$/i;
145
+ if (shadowPartPattern.test(tokenPath)) {
146
+ continue;
147
+ }
148
+ // Skip tokens that look like expanded elevation parts based on path structure
149
+ if (token.path[0] === 'elevation' && token.path.length > 3) {
150
+ // elevation.light.regular is OK (length 3)
151
+ // elevation.light.regular.offsetX.0 should be skipped (length 5)
152
+ continue;
153
+ }
154
+ // Skip duration tokens (they're typically enums/metadata)
155
+ if (token.path[0] === 'duration' && !token.value) {
136
156
  continue;
137
157
  }
138
158
  const mapping = resolveMappingForToken(token);
@@ -155,28 +175,61 @@ function buildTailwindConfig(allTokens, ignoredTokenNameSubstrings = []) {
155
175
  const section = extend[themeKey] ??= {};
156
176
  const rawValue = (0, getValue_js_1.getValue)(token);
157
177
  const normalized = normalizeValue(rawValue);
158
- const path = token.path.length > 0 ? token.path : [token.name];
178
+ const rawPath = token.path.length > 0 ? token.path : [token.name];
179
+ // Apply pathTransform if defined
180
+ const transformedPath = mapping.pathTransform
181
+ ? mapping.pathTransform(rawPath)
182
+ : rawPath;
183
+ // Warn if pathTransform returned original path unchanged (meaning it couldn't transform)
184
+ if (mapping.pathTransform && transformedPath === rawPath) {
185
+ console.warn(`${(0, utilities_1.symbol)('warning')} ${(0, utilities_1.yellow)(`Token "${token.path.join('.')}:${token.name}" could not be transformed by pathTransform. Using raw path.`)}`);
186
+ }
159
187
  switch (strategy) {
160
188
  case 'flat': {
161
- const key = path.join('.');
189
+ // For flat strategy, use the transformed path as a single key
190
+ const key = typeof transformedPath === 'string'
191
+ ? transformedPath
192
+ : Array.isArray(transformedPath)
193
+ ? transformedPath.join('-')
194
+ : rawPath.join('-');
162
195
  section[key] = normalized;
163
196
  break;
164
197
  }
165
198
  case 'nested': {
199
+ // For nested strategy, split the transformed path if it's a string
200
+ const path = typeof transformedPath === 'string'
201
+ ? transformedPath.split('.')
202
+ : Array.isArray(transformedPath)
203
+ ? transformedPath
204
+ : rawPath;
166
205
  deepSet(section, path, normalized);
167
206
  break;
168
207
  }
169
208
  case 'shadeMap': {
170
- // Example:
171
- // path: ['brand', '500'] -> colors.brand['500']
209
+ // For shadeMap strategy, use the transformed path as array [group, shade]
210
+ // Example: ['primary', '500'] -> colors.primary['500']
211
+ // Example: ['primary-dark', '500'] -> colors['primary-dark']['500']
212
+ // Special case: if only DEFAULT exists, output direct value instead of { DEFAULT: value }
213
+ const path = Array.isArray(transformedPath)
214
+ ? transformedPath
215
+ : typeof transformedPath === 'string'
216
+ ? transformedPath.split('-')
217
+ : rawPath;
172
218
  const [group, ...rest] = path;
173
- const shadeKey = rest.join('.') || 'DEFAULT';
219
+ const shadeKey = rest.join('-') || 'DEFAULT';
220
+ // If this is the first value for this group, we don't know yet if it will be a single value or object
221
+ // Store values temporarily and resolve at the end
174
222
  section[group] ??= {};
175
223
  section[group][shadeKey] = normalized;
176
224
  break;
177
225
  }
178
226
  case 'shadow': {
179
- const key = path.join('-');
227
+ // For shadow strategy, use the transformed path as a single key
228
+ const key = typeof transformedPath === 'string'
229
+ ? transformedPath
230
+ : Array.isArray(transformedPath)
231
+ ? transformedPath.join('-')
232
+ : rawPath.join('-');
180
233
  section[key] = Array.isArray(normalized) ? normalized.map((v) => String(v)).join(', ') : String(normalized);
181
234
  break;
182
235
  }
@@ -186,6 +239,20 @@ function buildTailwindConfig(allTokens, ignoredTokenNameSubstrings = []) {
186
239
  }
187
240
  }
188
241
  }
242
+ // Post-process: simplify { DEFAULT: value } to direct value for colors
243
+ if (config.theme?.extend?.colors) {
244
+ const colors = config.theme.extend.colors;
245
+ for (const [key, value] of Object.entries(colors)) {
246
+ if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
247
+ const obj = value;
248
+ const keys = Object.keys(obj);
249
+ // If only DEFAULT exists, unwrap it
250
+ if (keys.length === 1 && keys[0] === 'DEFAULT') {
251
+ colors[key] = obj.DEFAULT;
252
+ }
253
+ }
254
+ }
255
+ }
189
256
  return config;
190
257
  }
191
258
  //# sourceMappingURL=buildTailwindConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildTailwindConfig.js","sourceRoot":"","sources":["../../../src/formats/tailwind/buildTailwindConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildTailwindConfig.js","sourceRoot":"","sources":["../../../src/formats/tailwind/buildTailwindConfig.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"tailwindFormat.d.ts","sourceRoot":"","sources":["../../../src/formats/tailwind/tailwindFormat.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAsB,MAAM,EAAgB,MAAM,wBAAwB,CAAC;AAKvF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,MASrC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,MASrC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,MA4BpC,CAAC"}
1
+ {"version":3,"file":"tailwindFormat.d.ts","sourceRoot":"","sources":["../../../src/formats/tailwind/tailwindFormat.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAKrD;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAarC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAarC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,MA8BpC,CAAC"}
@@ -12,7 +12,14 @@ exports.tailwindConfigCjsFormat = {
12
12
  name: 'tailwind/config/cjs',
13
13
  format({ dictionary, options }) {
14
14
  const config = (0, buildTailwindConfig_js_1.buildTailwindConfig)(dictionary.allTokens, options.ignoredTokenNames ?? []);
15
- return `module.exports = ${JSON.stringify(config, null, 2)};\n`;
15
+ const header = `// ------------------------------------------------------------------------------
16
+ // <auto-generated>
17
+ // This code was generated by a tool.
18
+ // Changes to this file may cause incorrect behavior and will be lost if
19
+ // the code is regenerated.
20
+ // </auto-generated>
21
+ // ------------------------------------------------------------------------------`;
22
+ return `${header}\n\nmodule.exports = ${JSON.stringify(config, null, 2)};\n`;
16
23
  }
17
24
  };
18
25
  /**
@@ -23,7 +30,14 @@ exports.tailwindConfigEsmFormat = {
23
30
  name: 'tailwind/config/esm',
24
31
  format({ dictionary, options }) {
25
32
  const config = (0, buildTailwindConfig_js_1.buildTailwindConfig)(dictionary.allTokens, options.ignoredTokenNames ?? []);
26
- return `export default ${JSON.stringify(config, null, 2)};\n`;
33
+ const header = `// ------------------------------------------------------------------------------
34
+ // <auto-generated>
35
+ // This code was generated by a tool.
36
+ // Changes to this file may cause incorrect behavior and will be lost if
37
+ // the code is regenerated.
38
+ // </auto-generated>
39
+ // ------------------------------------------------------------------------------`;
40
+ return `${header}\n\nexport default ${JSON.stringify(config, null, 2)};\n`;
27
41
  }
28
42
  };
29
43
  /**
@@ -35,8 +49,14 @@ exports.tailwindPluginJsFormat = {
35
49
  format({ dictionary, options }) {
36
50
  const config = (0, buildTailwindConfig_js_1.buildTailwindConfig)(dictionary.allTokens, options.ignoredTokenNames ?? []);
37
51
  const themeSection = JSON.stringify(config.theme, null, 2);
38
- return `${`
39
- const plugin = require('tailwindcss/plugin');
52
+ const header = `// ------------------------------------------------------------------------------
53
+ // <auto-generated>
54
+ // This code was generated by a tool.
55
+ // Changes to this file may cause incorrect behavior and will be lost if
56
+ // the code is regenerated.
57
+ // </auto-generated>
58
+ // ------------------------------------------------------------------------------`;
59
+ return `${header}\n\n${`const plugin = require('tailwindcss/plugin');
40
60
 
41
61
  module.exports = {
42
62
  theme: ${themeSection},
@@ -51,8 +71,7 @@ module.exports = {
51
71
  // You can extend with more utilities here (spacing, radii, etc.)
52
72
  })
53
73
  ]
54
- };
55
- `.trim()}\n`;
74
+ };`.trim()}\n`;
56
75
  }
57
76
  };
58
77
  //# sourceMappingURL=tailwindFormat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tailwindFormat.js","sourceRoot":"","sources":["../../../src/formats/tailwind/tailwindFormat.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAGlB,qEAA+D;AAE/D,aAAa;AAEb;;;GAGG;AACU,QAAA,uBAAuB,GAAW;IAC3C,IAAI,EAAE,qBAAqB;IAC3B,MAAM,CAAC,EAAE,UAAU,EAAE,OAAO,EAG3B;QACG,MAAM,MAAM,GAAG,IAAA,4CAAmB,EAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC1F,OAAO,oBAAoB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;IACpE,CAAC;CACJ,CAAC;AAEF;;;GAGG;AACU,QAAA,uBAAuB,GAAW;IAC3C,IAAI,EAAE,qBAAqB;IAC3B,MAAM,CAAC,EAAE,UAAU,EAAE,OAAO,EAG3B;QACG,MAAM,MAAM,GAAG,IAAA,4CAAmB,EAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC1F,OAAO,kBAAkB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;IAClE,CAAC;CACJ,CAAC;AAEF;;;GAGG;AACU,QAAA,sBAAsB,GAAW;IAC1C,IAAI,EAAE,iBAAiB;IACvB,MAAM,CAAC,EAAE,UAAU,EAAE,OAAO,EAG3B;QACG,MAAM,MAAM,GAAG,IAAA,4CAAmB,EAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC1F,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAE3D,OAAO,GAAG;;;;WAIP,YAAY;;;;;;;;;;;;;CAatB,CAAC,IAAI,EAAE,IAAI,CAAC;IACT,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"tailwindFormat.js","sourceRoot":"","sources":["../../../src/formats/tailwind/tailwindFormat.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;AAGlB,qEAA+D;AAE/D,aAAa;AAEb;;;GAGG;AACU,QAAA,uBAAuB,GAAW;IAC3C,IAAI,EAAE,qBAAqB;IAC3B,MAAM,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE;QAC1B,MAAM,MAAM,GAAG,IAAA,4CAAmB,EAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC1F,MAAM,MAAM,GAAG;;;;;;kFAM2D,CAAC;QAC3E,OAAO,GAAG,MAAM,wBAAwB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;IACjF,CAAC;CACJ,CAAC;AAEF;;;GAGG;AACU,QAAA,uBAAuB,GAAW;IAC3C,IAAI,EAAE,qBAAqB;IAC3B,MAAM,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE;QAC1B,MAAM,MAAM,GAAG,IAAA,4CAAmB,EAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC1F,MAAM,MAAM,GAAG;;;;;;kFAM2D,CAAC;QAC3E,OAAO,GAAG,MAAM,sBAAsB,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC;IAC/E,CAAC;CACJ,CAAC;AAEF;;;GAGG;AACU,QAAA,sBAAsB,GAAW;IAC1C,IAAI,EAAE,iBAAiB;IACvB,MAAM,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE;QAC1B,MAAM,MAAM,GAAG,IAAA,4CAAmB,EAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC1F,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG;;;;;;kFAM2D,CAAC;QAE3E,OAAO,GAAG,MAAM,OAAO;;;WAGpB,YAAY;;;;;;;;;;;;GAYpB,CAAC,IAAI,EAAE,IAAI,CAAC;IACX,CAAC;CACJ,CAAC"}
package/index.d.ts CHANGED
@@ -3,6 +3,7 @@ export { shadowCssTransform } from './transforms/shadowCssTransform';
3
3
  export { gradientCssTransform } from './transforms/gradientCssTransform';
4
4
  export { quoteStringTransform } from './transforms/quoteStringTransform';
5
5
  export { listScssTransform } from './transforms/listScssTransform';
6
+ export { oklchCssTransform } from './transforms/oklchCssTransform';
6
7
  export { expandShadowPreprocessor } from './preprocessors/expandShadowPreprocessor';
7
8
  export * from './preprocessors/lint';
8
9
  export * from './formats/tailwind';
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC"}
package/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.expandShadowPreprocessor = exports.listScssTransform = exports.quoteStringTransform = exports.gradientCssTransform = exports.shadowCssTransform = exports.letterSpacingCalcCssTransform = void 0;
17
+ exports.expandShadowPreprocessor = exports.oklchCssTransform = exports.listScssTransform = exports.quoteStringTransform = exports.gradientCssTransform = exports.shadowCssTransform = exports.letterSpacingCalcCssTransform = void 0;
18
18
  var letterSpacingCalcCssTransform_1 = require("./transforms/letterSpacingCalcCssTransform");
19
19
  Object.defineProperty(exports, "letterSpacingCalcCssTransform", { enumerable: true, get: function () { return letterSpacingCalcCssTransform_1.letterSpacingCalcCssTransform; } });
20
20
  var shadowCssTransform_1 = require("./transforms/shadowCssTransform");
@@ -25,6 +25,8 @@ var quoteStringTransform_1 = require("./transforms/quoteStringTransform");
25
25
  Object.defineProperty(exports, "quoteStringTransform", { enumerable: true, get: function () { return quoteStringTransform_1.quoteStringTransform; } });
26
26
  var listScssTransform_1 = require("./transforms/listScssTransform");
27
27
  Object.defineProperty(exports, "listScssTransform", { enumerable: true, get: function () { return listScssTransform_1.listScssTransform; } });
28
+ var oklchCssTransform_1 = require("./transforms/oklchCssTransform");
29
+ Object.defineProperty(exports, "oklchCssTransform", { enumerable: true, get: function () { return oklchCssTransform_1.oklchCssTransform; } });
28
30
  var expandShadowPreprocessor_1 = require("./preprocessors/expandShadowPreprocessor");
29
31
  Object.defineProperty(exports, "expandShadowPreprocessor", { enumerable: true, get: function () { return expandShadowPreprocessor_1.expandShadowPreprocessor; } });
30
32
  __exportStar(require("./preprocessors/lint"), exports);
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4FAA2F;AAAlF,8IAAA,6BAA6B,OAAA;AACtC,sEAAqE;AAA5D,wHAAA,kBAAkB,OAAA;AAC3B,0EAAyE;AAAhE,4HAAA,oBAAoB,OAAA;AAC7B,0EAAyE;AAAhE,4HAAA,oBAAoB,OAAA;AAC7B,oEAAmE;AAA1D,sHAAA,iBAAiB,OAAA;AAC1B,qFAAoF;AAA3E,oIAAA,wBAAwB,OAAA;AACjC,uDAAqC;AACrC,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,4FAA2F;AAAlF,8IAAA,6BAA6B,OAAA;AACtC,sEAAqE;AAA5D,wHAAA,kBAAkB,OAAA;AAC3B,0EAAyE;AAAhE,4HAAA,oBAAoB,OAAA;AAC7B,0EAAyE;AAAhE,4HAAA,oBAAoB,OAAA;AAC7B,oEAAmE;AAA1D,sHAAA,iBAAiB,OAAA;AAC1B,oEAAmE;AAA1D,sHAAA,iBAAiB,OAAA;AAC1B,qFAAoF;AAA3E,oIAAA,wBAAwB,OAAA;AACjC,uDAAqC;AACrC,qDAAmC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@breadstone-infrastructure/style-dictionary",
3
3
  "description": "Common style-dictionary classes and functions",
4
- "version": "0.0.175",
4
+ "version": "0.0.176",
5
5
  "license": "MIT",
6
6
  "author": "andre.wehlert <awehlert@breadstone.de> (https://www.breadstone.de)",
7
7
  "repository": {
@@ -13,7 +13,8 @@
13
13
  "module": "./index.js",
14
14
  "types": "./index.d.ts",
15
15
  "dependencies": {
16
- "@breadstone-infrastructure/utilities": "^0.0.175",
16
+ "@breadstone-infrastructure/utilities": "^0.0.176",
17
+ "chroma-js": "^3.2.0",
17
18
  "style-dictionary": "^4.4.0",
18
19
  "tailwindcss": "^3.4.18"
19
20
  }
@@ -0,0 +1,7 @@
1
+ import type { Transform } from 'style-dictionary/types';
2
+ /**
3
+ * Transform that converts OKLCH color values to CSS-compatible format.
4
+ * Handles OKLCH color space values and converts them to oklch() CSS function.
5
+ */
6
+ export declare const oklchCssTransform: Transform;
7
+ //# sourceMappingURL=oklchCssTransform.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oklchCssTransform.d.ts","sourceRoot":"","sources":["../../src/transforms/oklchCssTransform.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,wBAAwB,CAAC;AAK1E;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,SAwC/B,CAAC"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ // #region Imports
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.oklchCssTransform = void 0;
8
+ const chroma_js_1 = __importDefault(require("chroma-js"));
9
+ const getValue_js_1 = require("../utilities/getValue.js");
10
+ // #endregion
11
+ /**
12
+ * Transform that converts OKLCH color values to CSS-compatible format.
13
+ * Handles OKLCH color space values and converts them to oklch() CSS function.
14
+ */
15
+ exports.oklchCssTransform = {
16
+ name: 'oklch/css/value',
17
+ type: 'value',
18
+ transitive: true,
19
+ filter: (token) => {
20
+ const type = token.$type ?? token.type;
21
+ return type === 'color' || type === 'oklch';
22
+ },
23
+ transform: (token) => {
24
+ const tokenValue = (0, getValue_js_1.getValue)(token);
25
+ // If already a string (e.g., hex, rgb), try to parse and convert to OKLCH
26
+ if (typeof tokenValue === 'string') {
27
+ try {
28
+ const color = (0, chroma_js_1.default)(tokenValue);
29
+ const [l, c, h] = color.oklch();
30
+ const alpha = color.alpha();
31
+ if (alpha < 1) {
32
+ return `oklch(${(l * 100).toFixed(2)}% ${c.toFixed(4)} ${h.toFixed(2)} / ${alpha.toFixed(2)})`;
33
+ }
34
+ return `oklch(${(l * 100).toFixed(2)}% ${c.toFixed(4)} ${h.toFixed(2)})`;
35
+ }
36
+ catch {
37
+ // If parsing fails, return original value
38
+ return tokenValue;
39
+ }
40
+ }
41
+ // If object with OKLCH components
42
+ if (typeof tokenValue === 'object' && 'l' in tokenValue && 'c' in tokenValue && 'h' in tokenValue) {
43
+ const { l, c, h, alpha } = tokenValue;
44
+ if (alpha !== undefined && alpha < 1) {
45
+ return `oklch(${(l * 100).toFixed(2)}% ${c.toFixed(4)} ${h.toFixed(2)} / ${alpha.toFixed(2)})`;
46
+ }
47
+ return `oklch(${(l * 100).toFixed(2)}% ${c.toFixed(4)} ${h.toFixed(2)})`;
48
+ }
49
+ return tokenValue;
50
+ }
51
+ };
52
+ //# sourceMappingURL=oklchCssTransform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oklchCssTransform.js","sourceRoot":"","sources":["../../src/transforms/oklchCssTransform.ts"],"names":[],"mappings":";AAAA,kBAAkB;;;;;;AAElB,0DAA+B;AAE/B,0DAAoD;AAEpD,aAAa;AAEb;;;GAGG;AACU,QAAA,iBAAiB,GAAc;IACxC,IAAI,EAAE,iBAAiB;IACvB,IAAI,EAAE,OAAO;IACb,UAAU,EAAE,IAAI;IAChB,MAAM,EAAE,CAAC,KAAuB,EAAW,EAAE;QACzC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC;QACvC,OAAO,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,OAAO,CAAC;IAChD,CAAC;IACD,SAAS,EAAE,CAAC,KAAuB,EAAE,EAAE;QACnC,MAAM,UAAU,GAAG,IAAA,sBAAQ,EAA+D,KAAK,CAAC,CAAC;QAEjG,0EAA0E;QAC1E,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,CAAC;gBACD,MAAM,KAAK,GAAG,IAAA,mBAAM,EAAC,UAAU,CAAC,CAAC;gBACjC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;gBAE5B,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBACZ,OAAO,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBACnG,CAAC;gBACD,OAAO,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;YAC7E,CAAC;YAAC,MAAM,CAAC;gBACL,0CAA0C;gBAC1C,OAAO,UAAU,CAAC;YACtB,CAAC;QACL,CAAC;QAED,kCAAkC;QAClC,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,GAAG,IAAI,UAAU,IAAI,GAAG,IAAI,UAAU,IAAI,GAAG,IAAI,UAAU,EAAE,CAAC;YAChG,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC;YAEtC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACnC,OAAO,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;YACnG,CAAC;YACD,OAAO,SAAS,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;QAC7E,CAAC;QAED,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ,CAAC"}