@sxl-studio/token-transformer 1.0.0 → 2.0.0

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 (93) hide show
  1. package/README.en.md +77 -608
  2. package/README.md +77 -685
  3. package/config/sxl-transform.config.yaml +120 -0
  4. package/dist/cli.d.ts +1 -1
  5. package/dist/cli.js +411 -141
  6. package/dist/cli.js.map +1 -1
  7. package/dist/config/loader.d.ts +6 -0
  8. package/dist/config/loader.js +160 -0
  9. package/dist/config/loader.js.map +1 -0
  10. package/dist/config/schema.d.ts +847 -0
  11. package/dist/config/schema.js +123 -0
  12. package/dist/config/schema.js.map +1 -0
  13. package/dist/core/color-modifiers.d.ts +31 -0
  14. package/dist/core/color-modifiers.js +289 -0
  15. package/dist/core/color-modifiers.js.map +1 -0
  16. package/dist/core/color-parser.d.ts +24 -0
  17. package/dist/core/color-parser.js +281 -0
  18. package/dist/core/color-parser.js.map +1 -0
  19. package/dist/core/debug-report.d.ts +11 -0
  20. package/dist/core/debug-report.js +161 -0
  21. package/dist/core/debug-report.js.map +1 -0
  22. package/dist/core/incremental.d.ts +18 -0
  23. package/dist/core/incremental.js +105 -0
  24. package/dist/core/incremental.js.map +1 -0
  25. package/dist/core/math.d.ts +3 -0
  26. package/dist/core/math.js +261 -0
  27. package/dist/core/math.js.map +1 -0
  28. package/dist/core/parser.d.ts +4 -3
  29. package/dist/core/parser.js +68 -172
  30. package/dist/core/parser.js.map +1 -1
  31. package/dist/core/resolver.d.ts +26 -0
  32. package/dist/core/resolver.js +431 -0
  33. package/dist/core/resolver.js.map +1 -0
  34. package/dist/core/token-loader.d.ts +11 -0
  35. package/dist/core/token-loader.js +380 -0
  36. package/dist/core/token-loader.js.map +1 -0
  37. package/dist/core/token-parser.d.ts +9 -0
  38. package/dist/core/token-parser.js +138 -0
  39. package/dist/core/token-parser.js.map +1 -0
  40. package/dist/core/token-types.d.ts +7 -0
  41. package/dist/core/token-types.js +132 -0
  42. package/dist/core/token-types.js.map +1 -0
  43. package/dist/core/types.d.ts +154 -63
  44. package/dist/core/writer.d.ts +18 -5
  45. package/dist/core/writer.js +545 -91
  46. package/dist/core/writer.js.map +1 -1
  47. package/dist/emit/css.d.ts +2 -0
  48. package/dist/emit/css.js +538 -0
  49. package/dist/emit/css.js.map +1 -0
  50. package/dist/emit/kotlin.d.ts +2 -0
  51. package/dist/emit/kotlin.js +406 -0
  52. package/dist/emit/kotlin.js.map +1 -0
  53. package/dist/emit/shared.d.ts +13 -0
  54. package/dist/emit/shared.js +127 -0
  55. package/dist/emit/shared.js.map +1 -0
  56. package/dist/emit/swift.d.ts +2 -0
  57. package/dist/emit/swift.js +432 -0
  58. package/dist/emit/swift.js.map +1 -0
  59. package/dist/emit/typography.d.ts +17 -0
  60. package/dist/emit/typography.js +132 -0
  61. package/dist/emit/typography.js.map +1 -0
  62. package/dist/emit/xml.d.ts +2 -0
  63. package/dist/emit/xml.js +311 -0
  64. package/dist/emit/xml.js.map +1 -0
  65. package/dist/index.d.ts +15 -6
  66. package/dist/index.js +13 -5
  67. package/dist/index.js.map +1 -1
  68. package/dist/transformers/css.d.ts +1 -1
  69. package/dist/transformers/css.js +13 -482
  70. package/dist/transformers/css.js.map +1 -1
  71. package/dist/transformers/kotlin.d.ts +2 -2
  72. package/dist/transformers/kotlin.js +14 -442
  73. package/dist/transformers/kotlin.js.map +1 -1
  74. package/dist/transformers/swiftui.d.ts +2 -2
  75. package/dist/transformers/swiftui.js +14 -433
  76. package/dist/transformers/swiftui.js.map +1 -1
  77. package/dist/utils/color.d.ts +7 -5
  78. package/dist/utils/color.js +90 -86
  79. package/dist/utils/color.js.map +1 -1
  80. package/dist/utils/dimension.d.ts +8 -5
  81. package/dist/utils/dimension.js +54 -52
  82. package/dist/utils/dimension.js.map +1 -1
  83. package/dist/utils/naming.d.ts +10 -12
  84. package/dist/utils/naming.js +102 -44
  85. package/dist/utils/naming.js.map +1 -1
  86. package/package.json +30 -10
  87. package/config.example.json +0 -45
  88. package/dist/core/loader.d.ts +0 -8
  89. package/dist/core/loader.js +0 -105
  90. package/dist/core/loader.js.map +0 -1
  91. package/dist/transformers/vue3.d.ts +0 -28
  92. package/dist/transformers/vue3.js +0 -534
  93. package/dist/transformers/vue3.js.map +0 -1
@@ -0,0 +1,432 @@
1
+ import { normalizeTokenTypeKey } from "../core/token-types.js";
2
+ import { parseColor, rgbaToSwift } from "../utils/color.js";
3
+ import { toSwiftNumber, trimFloat } from "../utils/dimension.js";
4
+ import { swiftIdentifier } from "../utils/naming.js";
5
+ import { normalizeTextCase, normalizeTextDecoration, normalizeVerticalTrimFromTypography, parseTypographyMetric, primaryFontFamily, toTypographyObject, } from "./typography.js";
6
+ import { buildNamedTokens } from "./shared.js";
7
+ export function emitSwift(input) {
8
+ const diagnostics = [];
9
+ const named = buildNamedTokens(input.tokens, {
10
+ platform: "swift",
11
+ prefix: input.prefix,
12
+ strategy: input.collisions,
13
+ diagnostics,
14
+ outputId: input.outputId,
15
+ });
16
+ const prefix = input.prefix ? swiftIdentifier(input.prefix, "upper") : "DS";
17
+ const colorsEnum = `${prefix}Colors`;
18
+ const dimensionsEnum = `${prefix}Dimensions`;
19
+ const typographyEnum = `${prefix}Typography`;
20
+ const typographySpecsEnum = `${prefix}TypographySpecs`;
21
+ const effectsEnum = `${prefix}Effects`;
22
+ const valuesEnum = `${prefix}Values`;
23
+ const lines = [];
24
+ lines.push("import SwiftUI");
25
+ lines.push("");
26
+ lines.push("public struct SXLShadowLayer {");
27
+ lines.push(" public let inset: Bool");
28
+ lines.push(" public let x: CGFloat");
29
+ lines.push(" public let y: CGFloat");
30
+ lines.push(" public let blur: CGFloat");
31
+ lines.push(" public let spread: CGFloat");
32
+ lines.push(" public let color: Color");
33
+ lines.push("");
34
+ lines.push(" public init(inset: Bool, x: CGFloat, y: CGFloat, blur: CGFloat, spread: CGFloat, color: Color) {");
35
+ lines.push(" self.inset = inset");
36
+ lines.push(" self.x = x");
37
+ lines.push(" self.y = y");
38
+ lines.push(" self.blur = blur");
39
+ lines.push(" self.spread = spread");
40
+ lines.push(" self.color = color");
41
+ lines.push(" }");
42
+ lines.push("}");
43
+ lines.push("");
44
+ lines.push("public struct SXLEffectSpec {");
45
+ lines.push(" public let shadows: [SXLShadowLayer]");
46
+ lines.push(" public let blur: CGFloat?");
47
+ lines.push(" public let backdropBlur: CGFloat?");
48
+ lines.push("");
49
+ lines.push(" public init(shadows: [SXLShadowLayer] = [], blur: CGFloat? = nil, backdropBlur: CGFloat? = nil) {");
50
+ lines.push(" self.shadows = shadows");
51
+ lines.push(" self.blur = blur");
52
+ lines.push(" self.backdropBlur = backdropBlur");
53
+ lines.push(" }");
54
+ lines.push("}");
55
+ lines.push("");
56
+ lines.push("public enum SXLTextCase: String {");
57
+ lines.push(" case original");
58
+ lines.push(" case upper");
59
+ lines.push(" case lower");
60
+ lines.push(" case title");
61
+ lines.push(" case smallCaps");
62
+ lines.push(" case smallCapsForced");
63
+ lines.push("}");
64
+ lines.push("");
65
+ lines.push("public enum SXLTextDecoration: String {");
66
+ lines.push(" case none");
67
+ lines.push(" case underline");
68
+ lines.push(" case strikethrough");
69
+ lines.push(" case underlineStrikethrough");
70
+ lines.push("}");
71
+ lines.push("");
72
+ lines.push("public enum SXLVerticalTrim: String {");
73
+ lines.push(" case none");
74
+ lines.push(" case capHeight");
75
+ lines.push("}");
76
+ lines.push("");
77
+ lines.push("public struct SXLTypographySpec {");
78
+ lines.push(" public let font: Font");
79
+ lines.push(" public let fontFamily: String");
80
+ lines.push(" public let fontWeight: Font.Weight");
81
+ lines.push(" public let fontSize: CGFloat");
82
+ lines.push(" public let lineHeight: CGFloat");
83
+ lines.push(" public let letterSpacing: CGFloat?");
84
+ lines.push(" public let textCase: SXLTextCase");
85
+ lines.push(" public let textDecoration: SXLTextDecoration");
86
+ lines.push(" public let verticalTrim: SXLVerticalTrim");
87
+ lines.push("");
88
+ lines.push(" public init(");
89
+ lines.push(" font: Font,");
90
+ lines.push(" fontFamily: String,");
91
+ lines.push(" fontWeight: Font.Weight,");
92
+ lines.push(" fontSize: CGFloat,");
93
+ lines.push(" lineHeight: CGFloat,");
94
+ lines.push(" letterSpacing: CGFloat? = nil,");
95
+ lines.push(" textCase: SXLTextCase = .original,");
96
+ lines.push(" textDecoration: SXLTextDecoration = .none,");
97
+ lines.push(" verticalTrim: SXLVerticalTrim = .none");
98
+ lines.push(" ) {");
99
+ lines.push(" self.font = font");
100
+ lines.push(" self.fontFamily = fontFamily");
101
+ lines.push(" self.fontWeight = fontWeight");
102
+ lines.push(" self.fontSize = fontSize");
103
+ lines.push(" self.lineHeight = lineHeight");
104
+ lines.push(" self.letterSpacing = letterSpacing");
105
+ lines.push(" self.textCase = textCase");
106
+ lines.push(" self.textDecoration = textDecoration");
107
+ lines.push(" self.verticalTrim = verticalTrim");
108
+ lines.push(" }");
109
+ lines.push("}");
110
+ lines.push("");
111
+ const colorLines = [];
112
+ const dimensionLines = [];
113
+ const typographyLines = [];
114
+ const typographySpecLines = [];
115
+ const effectsLines = [];
116
+ const valueLines = [];
117
+ for (const entry of named) {
118
+ const token = entry.token;
119
+ const normalizedType = normalizeTokenTypeKey(token.type);
120
+ const name = swiftIdentifier(entry.name, "lower");
121
+ const resolved = token.resolvedValue ?? token.value;
122
+ if (normalizedType === "color") {
123
+ const color = parseColor(resolved);
124
+ if (!color) {
125
+ diagnostics.push(unsupported(token, input.outputId, "SWIFT_COLOR_INVALID"));
126
+ continue;
127
+ }
128
+ appendDoc(colorLines, token.description, input.showDescriptions);
129
+ colorLines.push(` public static let ${name}: Color = ${rgbaToSwift(color)}`);
130
+ continue;
131
+ }
132
+ if (isDimensionType(normalizedType)) {
133
+ appendDoc(dimensionLines, token.description, input.showDescriptions);
134
+ dimensionLines.push(` public static let ${name}: CGFloat = ${toSwiftNumber(resolved)}`);
135
+ continue;
136
+ }
137
+ if (normalizedType === "typography") {
138
+ const typo = formatTypography(resolved, input.remBase ?? 16);
139
+ if (!typo) {
140
+ diagnostics.push(unsupported(token, input.outputId, "SWIFT_TYPOGRAPHY_INVALID"));
141
+ continue;
142
+ }
143
+ appendDoc(typographyLines, token.description, input.showDescriptions);
144
+ typographyLines.push(` public static let ${name}: Font = ${typo.fontExpr}`);
145
+ appendDoc(typographySpecLines, token.description, input.showDescriptions);
146
+ typographySpecLines.push(` public static let ${name}: SXLTypographySpec = ${serializeTypography(typo)}`);
147
+ continue;
148
+ }
149
+ if (normalizedType === "shadow" || normalizedType === "effects" || normalizedType === "blur" || normalizedType === "backdrop-blur" || normalizedType === "glass") {
150
+ const effect = formatEffect(resolved, normalizedType);
151
+ if (!effect) {
152
+ diagnostics.push(unsupported(token, input.outputId, "SWIFT_EFFECT_INVALID"));
153
+ continue;
154
+ }
155
+ appendDoc(effectsLines, token.description, input.showDescriptions);
156
+ effectsLines.push(` public static let ${name}: SXLEffectSpec = ${serializeEffect(effect)}`);
157
+ continue;
158
+ }
159
+ const generic = formatGenericValue(resolved, normalizedType);
160
+ if (!generic) {
161
+ diagnostics.push(unsupported(token, input.outputId, `SWIFT_UNSUPPORTED_${normalizedType}`));
162
+ continue;
163
+ }
164
+ appendDoc(valueLines, token.description, input.showDescriptions);
165
+ valueLines.push(` public static let ${name} = ${generic}`);
166
+ }
167
+ emitEnum(lines, colorsEnum, colorLines);
168
+ emitEnum(lines, dimensionsEnum, dimensionLines);
169
+ emitEnum(lines, typographyEnum, typographyLines);
170
+ emitEnum(lines, typographySpecsEnum, typographySpecLines);
171
+ emitEnum(lines, effectsEnum, effectsLines);
172
+ emitEnum(lines, valuesEnum, valueLines);
173
+ return {
174
+ content: `${lines.join("\n")}\n`,
175
+ diagnostics,
176
+ };
177
+ }
178
+ function isDimensionType(type) {
179
+ return [
180
+ "dimension",
181
+ "sizing",
182
+ "spacing",
183
+ "borderRadius",
184
+ "borderWidth",
185
+ "fontSize",
186
+ "lineHeight",
187
+ "letterSpacing",
188
+ "paragraphSpacing",
189
+ "paragraphIndent",
190
+ ].includes(type);
191
+ }
192
+ function formatTypography(value, remBase) {
193
+ const obj = toTypographyObject(value);
194
+ if (!obj)
195
+ return null;
196
+ const family = primaryFontFamily(obj.fontFamily ?? "System");
197
+ const sizeValue = parseTypographyMetric(obj.fontSize ?? 16, remBase);
198
+ const parsedLineHeight = parseTypographyMetric(obj.lineHeight ?? obj.fontSize ?? 16, remBase);
199
+ const lineHeightValue = parsedLineHeight ?? sizeValue;
200
+ const letterSpacingValue = obj.letterSpacing !== undefined
201
+ ? parseTypographyMetric(obj.letterSpacing, remBase)
202
+ : null;
203
+ const weight = mapSwiftWeight(obj.fontWeight);
204
+ if (sizeValue === null || lineHeightValue === null)
205
+ return null;
206
+ const size = trimFloat(sizeValue);
207
+ const lineHeight = trimFloat(lineHeightValue);
208
+ const letterSpacing = letterSpacingValue === null ? null : trimFloat(letterSpacingValue);
209
+ const escapedFamily = escapeSwiftString(family);
210
+ const fontExpr = family.toLowerCase() === "system"
211
+ ? `.system(size: ${size}, weight: ${weight})`
212
+ : `.custom("${escapedFamily}", size: ${size}).weight(${weight})`;
213
+ return {
214
+ fontExpr,
215
+ fontFamily: escapedFamily,
216
+ fontWeight: weight,
217
+ fontSize: size,
218
+ lineHeight,
219
+ letterSpacing,
220
+ textCase: mapTextCaseForSwift(obj.textCase),
221
+ textDecoration: mapTextDecorationForSwift(obj.textDecoration),
222
+ verticalTrim: mapVerticalTrimForSwift(obj),
223
+ };
224
+ }
225
+ function mapTextCaseForSwift(value) {
226
+ const normalized = normalizeTextCase(value);
227
+ if (normalized === "upper")
228
+ return ".upper";
229
+ if (normalized === "lower")
230
+ return ".lower";
231
+ if (normalized === "title")
232
+ return ".title";
233
+ if (normalized === "small-caps")
234
+ return ".smallCaps";
235
+ if (normalized === "small-caps-forced")
236
+ return ".smallCapsForced";
237
+ return ".original";
238
+ }
239
+ function mapTextDecorationForSwift(value) {
240
+ const normalized = normalizeTextDecoration(value);
241
+ if (normalized === "underline")
242
+ return ".underline";
243
+ if (normalized === "strikethrough")
244
+ return ".strikethrough";
245
+ if (normalized === "underline-strikethrough")
246
+ return ".underlineStrikethrough";
247
+ return ".none";
248
+ }
249
+ function mapVerticalTrimForSwift(value) {
250
+ const normalized = normalizeVerticalTrimFromTypography(value);
251
+ if (normalized === "cap-height")
252
+ return ".capHeight";
253
+ return ".none";
254
+ }
255
+ function serializeTypography(value) {
256
+ const letterSpacing = value.letterSpacing === null ? "nil" : value.letterSpacing;
257
+ return `SXLTypographySpec(` +
258
+ `font: ${value.fontExpr}, ` +
259
+ `fontFamily: "${value.fontFamily}", ` +
260
+ `fontWeight: ${value.fontWeight}, ` +
261
+ `fontSize: ${value.fontSize}, ` +
262
+ `lineHeight: ${value.lineHeight}, ` +
263
+ `letterSpacing: ${letterSpacing}, ` +
264
+ `textCase: ${value.textCase}, ` +
265
+ `textDecoration: ${value.textDecoration}, ` +
266
+ `verticalTrim: ${value.verticalTrim}` +
267
+ `)`;
268
+ }
269
+ function mapSwiftWeight(value) {
270
+ const normalized = String(value ?? "regular").trim().toLowerCase().replace(/\s+/g, "");
271
+ const map = {
272
+ "100": ".ultraLight",
273
+ thin: ".thin",
274
+ hairline: ".ultraLight",
275
+ ultralight: ".ultraLight",
276
+ extralight: ".thin",
277
+ "200": ".thin",
278
+ "300": ".light",
279
+ light: ".light",
280
+ "400": ".regular",
281
+ regular: ".regular",
282
+ normal: ".regular",
283
+ "500": ".medium",
284
+ medium: ".medium",
285
+ "600": ".semibold",
286
+ semibold: ".semibold",
287
+ "700": ".bold",
288
+ bold: ".bold",
289
+ "800": ".heavy",
290
+ extrabold: ".heavy",
291
+ "900": ".black",
292
+ black: ".black",
293
+ heavy: ".heavy",
294
+ };
295
+ return map[normalized] ?? ".regular";
296
+ }
297
+ function formatEffect(value, tokenType) {
298
+ if (tokenType === "blur") {
299
+ const blur = pickBlur(value);
300
+ if (!blur)
301
+ return null;
302
+ return { shadows: [], blur };
303
+ }
304
+ if (tokenType === "backdrop-blur") {
305
+ const backdropBlur = pickBlur(value);
306
+ if (!backdropBlur)
307
+ return null;
308
+ return { shadows: [], backdropBlur };
309
+ }
310
+ const effects = Array.isArray(value) ? value : [value];
311
+ const output = { shadows: [] };
312
+ for (const effect of effects) {
313
+ if (typeof effect !== "object" || effect === null || Array.isArray(effect))
314
+ continue;
315
+ const obj = effect;
316
+ const type = String(obj.type ?? "dropShadow");
317
+ if (type === "dropShadow" || type === "innerShadow") {
318
+ const layer = formatShadowLayer(obj);
319
+ if (!layer)
320
+ return null;
321
+ output.shadows.push(layer);
322
+ continue;
323
+ }
324
+ if (type === "layerBlur") {
325
+ const blur = pickBlur(obj);
326
+ if (blur)
327
+ output.blur = blur;
328
+ continue;
329
+ }
330
+ if (type === "backgroundBlur") {
331
+ const blur = pickBlur(obj);
332
+ if (blur)
333
+ output.backdropBlur = blur;
334
+ continue;
335
+ }
336
+ }
337
+ return output;
338
+ }
339
+ function pickBlur(value) {
340
+ if (typeof value === "number" || typeof value === "string")
341
+ return toSwiftNumber(value);
342
+ if (typeof value !== "object" || value === null || Array.isArray(value))
343
+ return null;
344
+ const obj = value;
345
+ const radius = obj.blur ?? obj.radius;
346
+ if (radius === undefined)
347
+ return null;
348
+ return toSwiftNumber(radius);
349
+ }
350
+ function formatShadowLayer(obj) {
351
+ const color = parseColor(obj.color);
352
+ if (!color)
353
+ return null;
354
+ return {
355
+ inset: String(obj.type ?? "dropShadow") === "innerShadow",
356
+ x: toSwiftNumber(obj.offsetX ?? 0),
357
+ y: toSwiftNumber(obj.offsetY ?? 0),
358
+ blur: toSwiftNumber(obj.blur ?? 0),
359
+ spread: toSwiftNumber(obj.spread ?? 0),
360
+ color: rgbaToSwift(color),
361
+ };
362
+ }
363
+ function serializeEffect(effect) {
364
+ const shadowItems = effect.shadows
365
+ .map((layer) => `SXLShadowLayer(inset: ${layer.inset ? "true" : "false"}, x: ${layer.x}, y: ${layer.y}, blur: ${layer.blur}, spread: ${layer.spread}, color: ${layer.color})`)
366
+ .join(", ");
367
+ const shadows = `[${shadowItems}]`;
368
+ const blur = effect.blur ? `blur: ${effect.blur}` : "blur: nil";
369
+ const backdrop = effect.backdropBlur ? `backdropBlur: ${effect.backdropBlur}` : "backdropBlur: nil";
370
+ return `SXLEffectSpec(shadows: ${shadows}, ${blur}, ${backdrop})`;
371
+ }
372
+ function formatGenericValue(value, type) {
373
+ if (type === "boolean")
374
+ return String(Boolean(value));
375
+ if (type === "text" || type === "fontFamily") {
376
+ return `"${escapeSwiftString(String(value))}"`;
377
+ }
378
+ if (type === "fontWeight") {
379
+ return `"${escapeSwiftString(String(value))}"`;
380
+ }
381
+ if (type === "duration") {
382
+ if (typeof value === "number") {
383
+ const seconds = value > 10 ? value / 1000 : value;
384
+ return `${seconds}`;
385
+ }
386
+ if (typeof value === "string") {
387
+ const trimmed = value.trim().toLowerCase();
388
+ if (trimmed.endsWith("ms"))
389
+ return `${Number.parseFloat(trimmed) / 1000}`;
390
+ if (trimmed.endsWith("s"))
391
+ return `${Number.parseFloat(trimmed)}`;
392
+ }
393
+ return "0.2";
394
+ }
395
+ if (type === "cubicBezier") {
396
+ if (Array.isArray(value) && value.length === 4) {
397
+ return `UnitCurve.bezier(startControlPoint: UnitPoint(x: ${value[0]}, y: ${value[1]}), endControlPoint: UnitPoint(x: ${value[2]}, y: ${value[3]}))`;
398
+ }
399
+ return "UnitCurve.easeInOut";
400
+ }
401
+ if (typeof value === "number")
402
+ return `${value}`;
403
+ if (typeof value === "string")
404
+ return `"${escapeSwiftString(value)}"`;
405
+ return null;
406
+ }
407
+ function escapeSwiftString(value) {
408
+ return value.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
409
+ }
410
+ function appendDoc(lines, description, enabled) {
411
+ if (!enabled || !description)
412
+ return;
413
+ lines.push(` /// ${description}`);
414
+ }
415
+ function emitEnum(lines, enumName, body) {
416
+ if (body.length === 0)
417
+ return;
418
+ lines.push(`public enum ${enumName} {`);
419
+ lines.push(...body);
420
+ lines.push("}");
421
+ lines.push("");
422
+ }
423
+ function unsupported(token, outputId, code) {
424
+ return {
425
+ level: "warn",
426
+ code,
427
+ message: `Unsupported or invalid token for Swift: ${token.path}`,
428
+ tokenPath: token.path,
429
+ outputId,
430
+ };
431
+ }
432
+ //# sourceMappingURL=swift.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swift.js","sourceRoot":"","sources":["../../src/emit/swift.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ export type NormalizedTextCase = "original" | "upper" | "lower" | "title" | "small-caps" | "small-caps-forced";
2
+ export type NormalizedTextDecoration = "none" | "underline" | "strikethrough" | "underline-strikethrough";
3
+ export type NormalizedVerticalTrim = "none" | "cap-height";
4
+ export type CssTextCaseMapping = {
5
+ textTransform: string;
6
+ fontVariantCaps: string;
7
+ };
8
+ export declare function toTypographyObject(value: unknown): Record<string, unknown> | null;
9
+ export declare function parseTypographyMetric(raw: unknown, remBase: number): number | null;
10
+ export declare function formatCssTypographyMetric(raw: unknown, remBase: number): string | null;
11
+ export declare function normalizeTextCase(value: unknown): NormalizedTextCase;
12
+ export declare function textCaseToCss(value: unknown): CssTextCaseMapping;
13
+ export declare function normalizeTextDecoration(value: unknown): NormalizedTextDecoration;
14
+ export declare function textDecorationToCss(value: unknown): string;
15
+ export declare function normalizeVerticalTrim(value: unknown): NormalizedVerticalTrim;
16
+ export declare function normalizeVerticalTrimFromTypography(obj: Record<string, unknown>): NormalizedVerticalTrim;
17
+ export declare function primaryFontFamily(value: unknown): string;
@@ -0,0 +1,132 @@
1
+ import { trimFloat } from "../utils/dimension.js";
2
+ const DIMENSION_RE = /^(-?\d+(?:\.\d+)?)\s*(px|rem|em|%|pt|dp|sp|ms|s|vw|vh|vmin|vmax|ch|ex|cm|mm|in|pc)?$/i;
3
+ export function toTypographyObject(value) {
4
+ if (typeof value !== "object" || value === null || Array.isArray(value))
5
+ return null;
6
+ return value;
7
+ }
8
+ export function parseTypographyMetric(raw, remBase) {
9
+ if (typeof raw === "number") {
10
+ return Number.isFinite(raw) ? raw : null;
11
+ }
12
+ if (typeof raw !== "string")
13
+ return null;
14
+ const trimmed = raw.trim();
15
+ if (!trimmed)
16
+ return null;
17
+ const lower = trimmed.toLowerCase();
18
+ if (lower === "normal" || lower === "auto")
19
+ return null;
20
+ const match = trimmed.match(DIMENSION_RE);
21
+ if (!match)
22
+ return null;
23
+ const value = Number.parseFloat(match[1]);
24
+ if (!Number.isFinite(value))
25
+ return null;
26
+ const unit = (match[2] ?? "").toLowerCase();
27
+ if (unit === "rem" || unit === "em")
28
+ return value * remBase;
29
+ if (unit === "s")
30
+ return value * 1000;
31
+ if (unit === "%")
32
+ return (value / 100) * remBase;
33
+ return value;
34
+ }
35
+ export function formatCssTypographyMetric(raw, remBase) {
36
+ void remBase;
37
+ if (typeof raw === "string") {
38
+ const trimmed = raw.trim();
39
+ const lower = trimmed.toLowerCase();
40
+ if (lower === "normal" || lower === "auto")
41
+ return "normal";
42
+ if (DIMENSION_RE.test(trimmed)) {
43
+ const unitMatch = trimmed.match(DIMENSION_RE);
44
+ if (!unitMatch)
45
+ return null;
46
+ const metric = Number.parseFloat(unitMatch[1]);
47
+ if (!Number.isFinite(metric))
48
+ return null;
49
+ const unit = (unitMatch[2] ?? "").toLowerCase();
50
+ return `${trimFloat(metric)}${unit || "px"}`;
51
+ }
52
+ }
53
+ const metric = parseTypographyMetric(raw, remBase);
54
+ if (metric === null)
55
+ return null;
56
+ return `${trimFloat(metric)}px`;
57
+ }
58
+ export function normalizeTextCase(value) {
59
+ const raw = String(value ?? "").trim().toLowerCase();
60
+ if (raw === "uppercase" || raw === "upper")
61
+ return "upper";
62
+ if (raw === "lowercase" || raw === "lower")
63
+ return "lower";
64
+ if (raw === "capitalize" || raw === "title" || raw === "titlecase")
65
+ return "title";
66
+ if (raw === "small-caps" || raw === "small_caps" || raw === "smallcaps")
67
+ return "small-caps";
68
+ if (raw === "small-caps-forced" || raw === "small_caps_forced")
69
+ return "small-caps-forced";
70
+ return "original";
71
+ }
72
+ export function textCaseToCss(value) {
73
+ const normalized = normalizeTextCase(value);
74
+ if (normalized === "upper") {
75
+ return { textTransform: "uppercase", fontVariantCaps: "normal" };
76
+ }
77
+ if (normalized === "lower") {
78
+ return { textTransform: "lowercase", fontVariantCaps: "normal" };
79
+ }
80
+ if (normalized === "title") {
81
+ return { textTransform: "capitalize", fontVariantCaps: "normal" };
82
+ }
83
+ if (normalized === "small-caps") {
84
+ return { textTransform: "none", fontVariantCaps: "small-caps" };
85
+ }
86
+ if (normalized === "small-caps-forced") {
87
+ return { textTransform: "none", fontVariantCaps: "all-small-caps" };
88
+ }
89
+ return { textTransform: "none", fontVariantCaps: "normal" };
90
+ }
91
+ export function normalizeTextDecoration(value) {
92
+ const raw = String(value ?? "").trim().toLowerCase();
93
+ if (!raw || raw === "none" || raw === "original")
94
+ return "none";
95
+ const hasUnderline = raw.includes("underline");
96
+ const hasStrike = raw.includes("line-through") || raw.includes("strikethrough") || raw.includes("strike-through") || raw.includes("strike");
97
+ if (hasUnderline && hasStrike)
98
+ return "underline-strikethrough";
99
+ if (hasUnderline)
100
+ return "underline";
101
+ if (hasStrike)
102
+ return "strikethrough";
103
+ return "none";
104
+ }
105
+ export function textDecorationToCss(value) {
106
+ const normalized = normalizeTextDecoration(value);
107
+ if (normalized === "underline")
108
+ return "underline";
109
+ if (normalized === "strikethrough")
110
+ return "line-through";
111
+ if (normalized === "underline-strikethrough")
112
+ return "underline line-through";
113
+ return "none";
114
+ }
115
+ export function normalizeVerticalTrim(value) {
116
+ const raw = String(value ?? "").trim().toLowerCase();
117
+ if (raw === "cap-height" || raw === "cap_height" || raw === "capheight")
118
+ return "cap-height";
119
+ return "none";
120
+ }
121
+ export function normalizeVerticalTrimFromTypography(obj) {
122
+ return normalizeVerticalTrim(obj.verticalTrim ?? obj.leadingTrim);
123
+ }
124
+ export function primaryFontFamily(value) {
125
+ const raw = String(value ?? "").trim();
126
+ if (!raw)
127
+ return "System";
128
+ const first = raw.split(",")[0]?.trim() ?? "System";
129
+ const unquoted = first.replace(/^["']|["']$/g, "");
130
+ return unquoted || "System";
131
+ }
132
+ //# sourceMappingURL=typography.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"typography.js","sourceRoot":"","sources":["../../src/emit/typography.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { EmitResult, EmitterInput } from "../core/types.js";
2
+ export declare function emitXml(input: EmitterInput, baseOutputPath: string): EmitResult;