exodeui 2.6.37 → 6.0.5

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.

Potentially problematic release.


This version of exodeui might be problematic. Click here for more details.

@@ -0,0 +1,19 @@
1
+ import { ShapeObject, AutoLayoutConfig, LayoutProps } from './types';
2
+
3
+ export interface LayoutResult {
4
+ frameWidth?: number;
5
+ frameHeight?: number;
6
+ childUpdates: {
7
+ id: string;
8
+ x: number;
9
+ y: number;
10
+ width?: number;
11
+ height?: number;
12
+ }[];
13
+ }
14
+ export declare function calculateLayout(frame: {
15
+ width: number;
16
+ height: number;
17
+ autoLayout?: AutoLayoutConfig;
18
+ layoutProps?: LayoutProps;
19
+ }, children: ShapeObject[], getObjectState: (id: string) => any): LayoutResult;
package/dist/types.d.ts CHANGED
@@ -4,6 +4,31 @@ export interface Transform {
4
4
  rotation: number;
5
5
  scale_x: number;
6
6
  scale_y: number;
7
+ opacity?: number;
8
+ skew_x?: number;
9
+ skew_y?: number;
10
+ flip_x?: boolean;
11
+ flip_y?: boolean;
12
+ }
13
+ export type ResizingMode = 'fixed' | 'hug' | 'fill';
14
+ export interface LayoutProps {
15
+ width?: ResizingMode;
16
+ height?: ResizingMode;
17
+ minWidth?: number;
18
+ minHeight?: number;
19
+ }
20
+ export interface AutoLayoutConfig {
21
+ enabled: boolean;
22
+ direction: 'horizontal' | 'vertical';
23
+ spacing: number;
24
+ padding: {
25
+ top: number;
26
+ right: number;
27
+ bottom: number;
28
+ left: number;
29
+ };
30
+ align: 'top-left' | 'top-center' | 'top-right' | 'center-left' | 'center' | 'center-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
31
+ wrap?: boolean;
7
32
  }
8
33
  export interface Shadow {
9
34
  color: string;
@@ -17,6 +42,43 @@ export interface Shadow {
17
42
  export interface Blur {
18
43
  amount: number;
19
44
  }
45
+ /**
46
+ * Liquid Morphing - Blob-like deformations for shapes
47
+ */
48
+ export interface LiquidMorphConfig {
49
+ enabled: boolean;
50
+ blobStrength: number;
51
+ frequency: number;
52
+ amplitude?: number;
53
+ seed?: number;
54
+ }
55
+ /**
56
+ * Liquid Fill - Shapes that fill like pouring liquid
57
+ */
58
+ export interface LiquidFillConfig {
59
+ enabled: boolean;
60
+ fillLevel: number;
61
+ waveAmplitude: number;
62
+ waveFrequency: number;
63
+ color: string;
64
+ opacity: number;
65
+ direction?: 'up' | 'down' | 'left' | 'right';
66
+ }
67
+ /**
68
+ * Gen Z Art Effects - Inspired by modern design trends
69
+ */
70
+ export type ArtEffectType = 'glitch' | 'halftone' | 'pixelate' | 'noise' | 'acid_gradient';
71
+ export interface ArtEffectConfig {
72
+ enabled: boolean;
73
+ type: ArtEffectType;
74
+ intensity: number;
75
+ speed?: number;
76
+ scale?: number;
77
+ color1?: string;
78
+ color2?: string;
79
+ chaosEnabled?: boolean;
80
+ chaosAmount?: number;
81
+ }
20
82
  export interface LineDataset {
21
83
  id: string;
22
84
  label: string;
@@ -71,9 +133,13 @@ export interface Style {
71
133
  trimStart?: number;
72
134
  trimEnd?: number;
73
135
  trimOffset?: number;
136
+ isEnabled?: boolean;
74
137
  };
75
138
  shadow?: Shadow;
76
139
  blur?: Blur;
140
+ liquidMorph?: LiquidMorphConfig;
141
+ liquidFill?: LiquidFillConfig;
142
+ artEffect?: ArtEffectConfig;
77
143
  palette?: string[];
78
144
  }
79
145
  export type Geometry = {
@@ -122,6 +188,20 @@ export type Geometry = {
122
188
  }[];
123
189
  enableSegments?: boolean;
124
190
  isMask?: boolean;
191
+ textPre?: string;
192
+ textPost?: string;
193
+ isTextVarEnabled?: boolean;
194
+ pathId?: string;
195
+ pathOffset?: number;
196
+ pathAlign?: 'baseline' | 'top' | 'bottom' | 'center';
197
+ pathSide?: 'left' | 'right';
198
+ typewriter?: {
199
+ options: {
200
+ speed: number;
201
+ loop: boolean;
202
+ };
203
+ isEnabled: boolean;
204
+ };
125
205
  } | {
126
206
  type: 'Triangle';
127
207
  width: number;
@@ -198,6 +278,49 @@ export type Geometry = {
198
278
  isClosed?: boolean;
199
279
  is_closed?: boolean;
200
280
  };
281
+ export declare enum BehaviorType {
282
+ Proximity = "Proximity",
283
+ Magnetic = "Magnetic",
284
+ Parallax = "Parallax",
285
+ Velocity = "Velocity",
286
+ Shear = "Shear",
287
+ Repel = "Repel",
288
+ Orbit = "Orbit",
289
+ Elastic = "Elastic",
290
+ Dilation = "Dilation",
291
+ Vortex = "Vortex",
292
+ Fluid = "Fluid",
293
+ Holographic = "Holographic",
294
+ Sticky = "Sticky"
295
+ }
296
+ export declare enum BehaviorSensor {
297
+ Scale = "Scale",
298
+ Opacity = "Opacity",
299
+ RotateZ = "RotateZ",
300
+ RotateX = "RotateX",
301
+ RotateY = "RotateY",
302
+ PositionX = "PositionX",
303
+ PositionY = "PositionY",
304
+ SkewX = "SkewX",
305
+ Blur = "Blur",
306
+ Exposure = "Exposure",
307
+ HueShift = "HueShift",
308
+ Negative = "Negative",
309
+ CornerRadius = "CornerRadius",
310
+ StrokeWidth = "StrokeWidth",
311
+ BoxShadow = "BoxShadow",
312
+ FontSize = "FontSize",
313
+ LetterSpacing = "LetterSpacing"
314
+ }
315
+ export interface Behavior {
316
+ id: string;
317
+ type: BehaviorType;
318
+ enabled: boolean;
319
+ sensors: BehaviorSensor[];
320
+ settings?: Record<string, any>;
321
+ startTime?: number;
322
+ endTime?: number;
323
+ }
201
324
  export interface Trigger {
202
325
  id: string;
203
326
  name: string;
@@ -279,6 +402,16 @@ export interface ShapeObject {
279
402
  maskFeather?: number;
280
403
  maskType?: 'alpha' | 'luma';
281
404
  maskBlendMode?: string;
405
+ behaviors?: Behavior[];
406
+ liquidMorph?: LiquidMorphConfig;
407
+ liquidFill?: LiquidFillConfig;
408
+ artEffect?: ArtEffectConfig;
409
+ width?: number;
410
+ height?: number;
411
+ cornerRadius?: number | [number, number, number, number];
412
+ clipContent?: boolean;
413
+ autoLayout?: AutoLayoutConfig;
414
+ layoutProps?: LayoutProps;
282
415
  }
283
416
  export interface Keyframe {
284
417
  time: number;
@@ -416,6 +549,8 @@ export interface Artboard {
416
549
  y: number;
417
550
  };
418
551
  };
552
+ autoLayout?: AutoLayoutConfig;
553
+ layoutProps?: LayoutProps;
419
554
  }
420
555
  export type Fit = 'Cover' | 'Contain' | 'Fill' | 'FitWidth' | 'FitHeight' | 'None' | 'ScaleDown';
421
556
  export type Alignment = 'Center' | 'TopLeft' | 'TopCenter' | 'TopRight' | 'CenterLeft' | 'CenterRight' | 'BottomLeft' | 'BottomCenter' | 'BottomRight';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "exodeui",
3
- "version": "2.6.37",
3
+ "version": "6.0.5",
4
4
  "description": "React Runtime for ExodeUI Animation Engine",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",