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.
- package/dist/__tests__/frame_parity.test.d.ts +1 -0
- package/dist/engine.d.ts +2 -0
- package/dist/index.js +6 -6
- package/dist/index.mjs +1940 -1838
- package/dist/layout.d.ts +19 -0
- package/dist/types.d.ts +91 -0
- package/package.json +1 -1
package/dist/layout.d.ts
ADDED
|
@@ -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';
|