exodeui 2.6.38 → 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;
@@ -323,6 +403,15 @@ export interface ShapeObject {
323
403
  maskType?: 'alpha' | 'luma';
324
404
  maskBlendMode?: string;
325
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;
326
415
  }
327
416
  export interface Keyframe {
328
417
  time: number;
@@ -460,6 +549,8 @@ export interface Artboard {
460
549
  y: number;
461
550
  };
462
551
  };
552
+ autoLayout?: AutoLayoutConfig;
553
+ layoutProps?: LayoutProps;
463
554
  }
464
555
  export type Fit = 'Cover' | 'Contain' | 'Fill' | 'FitWidth' | 'FitHeight' | 'None' | 'ScaleDown';
465
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.38",
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",