exodeui 6.0.35 → 6.1.13

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.
@@ -51,6 +51,8 @@ export declare class ExodeUIEngine {
51
51
  setComponentChangeCallback(cb: (event: ComponentEvent) => void): void;
52
52
  setToggleCallback(cb: (name: string, checked: boolean) => void): void;
53
53
  setInputChangeCallback(cb: (name: string, text: string) => void): void;
54
+ private ensurePathPoints;
55
+ private svgPathToPoints;
54
56
  setOnLogCallback(cb: (msg: string) => void): void;
55
57
  private debugLog;
56
58
  setInputFocusCallback(cb: (name: string) => void): void;
@@ -64,6 +66,16 @@ export declare class ExodeUIEngine {
64
66
  updateObjectOptions(id: string, newOptions: any): void;
65
67
  updateGraphData(nameOrId: string, data: number[]): void;
66
68
  load(data: Artboard): void;
69
+ /**
70
+ * Pre-loads all images found in the artboard into the image cache.
71
+ * This ensures base64 images from Figma exports are decoded before the first render frame.
72
+ */
73
+ private preloadImages;
74
+ /**
75
+ * Decompresses strings that were compressed during export.
76
+ * Matches the Editor's optimization pipeline.
77
+ */
78
+ private decompressStrings;
67
79
  reset(): void;
68
80
  private updateAutoLayout;
69
81
  private loadFonts;
@@ -113,6 +125,7 @@ export declare class ExodeUIEngine {
113
125
  render(ctx: CanvasRenderingContext2D, width: number, height: number): void;
114
126
  private calculateTransform;
115
127
  private mapFontWeight;
128
+ private drawTextDecoration;
116
129
  private getFontLeadingFactor;
117
130
  private renderObject;
118
131
  private _renderText;
@@ -146,4 +159,5 @@ export declare class ExodeUIEngine {
146
159
  private applyBehaviorSensor;
147
160
  private lerp;
148
161
  private deepMerge;
162
+ private renderFittedImage;
149
163
  }
@@ -214,6 +214,7 @@ export type Geometry = {
214
214
  height?: number;
215
215
  lineHeight?: number;
216
216
  letterSpacing?: number;
217
+ textDecoration?: 'none' | 'underline' | 'line-through';
217
218
  textCase?: 'none' | 'uppercase' | 'lowercase' | 'capitalize';
218
219
  paragraphSpacing?: number;
219
220
  textInputId?: string;
@@ -223,6 +224,8 @@ export type Geometry = {
223
224
  fontSize?: number;
224
225
  fontFamily?: string;
225
226
  fontWeight?: string | number;
227
+ fontStyle?: 'normal' | 'italic';
228
+ textDecoration?: 'none' | 'underline' | 'line-through';
226
229
  }[];
227
230
  enableSegments?: boolean;
228
231
  isMask?: boolean;
@@ -241,6 +244,7 @@ export type Geometry = {
241
244
  };
242
245
  isEnabled: boolean;
243
246
  };
247
+ fontStyle?: 'normal' | 'italic';
244
248
  } | {
245
249
  type: 'Triangle';
246
250
  width: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "exodeui",
3
- "version": "6.0.35",
3
+ "version": "6.1.13",
4
4
  "description": "React Runtime for ExodeUI Animation Engine",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -42,7 +42,9 @@
42
42
  "dependencies": {
43
43
  "@chenglou/pretext": "^0.0.3",
44
44
  "@dimforge/rapier2d-compat": "^0.19.3",
45
+ "@types/lz-string": "1.3.34",
45
46
  "fflate": "^0.8.2",
47
+ "lz-string": "1.5.0",
46
48
  "msgpackr": "^1.11.9"
47
49
  }
48
50
  }