exodeui 6.2.6 → 6.2.7

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.
@@ -21,6 +21,15 @@ export interface ExodeUICanvasProps {
21
21
  onInputFocus?: (name: string) => void;
22
22
  onInputBlur?: (name: string) => void;
23
23
  onLog?: (msg: string) => void;
24
+ onLogicUpdate?: (values: Record<string, any>) => void;
24
25
  currentTime?: number;
26
+ revision?: number;
27
+ scrollY?: number;
28
+ scrollX?: number;
29
+ mouseX?: number;
30
+ mouseY?: number;
31
+ isMouseDown?: boolean;
32
+ inputs?: Record<string, any>;
33
+ interactive?: boolean;
25
34
  }
26
35
  export declare const ExodeUICanvas: React.ForwardRefExoticComponent<ExodeUICanvasProps & React.RefAttributes<HTMLCanvasElement>>;
@@ -41,15 +41,20 @@ export declare class ExodeUIEngine {
41
41
  x: number;
42
42
  y: number;
43
43
  };
44
+ private _totalScroll;
44
45
  private draggingBehaviors;
46
+ private isMouseDown;
45
47
  private objectVelocities;
46
48
  private currentTime;
47
49
  private frameCount;
48
50
  private fontLeadingFactors;
51
+ private onLogicUpdate?;
52
+ private logicNodeValues;
49
53
  setTriggerCallback(cb: (triggerName: string, animationName: string) => void): void;
50
54
  setInputUpdateCallback(cb: (nameOrId: string, value: any) => void): void;
51
55
  setComponentChangeCallback(cb: (event: ComponentEvent) => void): void;
52
56
  setToggleCallback(cb: (name: string, checked: boolean) => void): void;
57
+ setLogicUpdateCallback(cb: (values: Record<string, any>) => void): void;
53
58
  setInputChangeCallback(cb: (name: string, text: string) => void): void;
54
59
  private ensurePathPoints;
55
60
  private svgPathToPoints;
@@ -86,7 +91,8 @@ export declare class ExodeUIEngine {
86
91
  setInputText(nameOrId: string, value: string): void;
87
92
  setInputNumberArray(nameOrId: string, value: number[]): void;
88
93
  setInputStringArray(nameOrId: string, value: string[]): void;
89
- private updateInput;
94
+ updateObjectProperty(id: string, property: string, value: any): void;
95
+ updateInput(nameOrId: string, value: any): void;
90
96
  private evaluateTransitions;
91
97
  /**
92
98
  * Find a global transition from any state in the layer whose conditions are met.
@@ -100,6 +106,8 @@ export declare class ExodeUIEngine {
100
106
  private findGlobalTransition;
101
107
  private checkConditions;
102
108
  private evaluateLogicTree;
109
+ private runLogicNodes;
110
+ private resolvePath;
103
111
  private activeTriggers;
104
112
  seek(time: number): void;
105
113
  advance(dt: number): void;
@@ -110,6 +118,7 @@ export declare class ExodeUIEngine {
110
118
  private computeSpring;
111
119
  handlePointerInput(type: string, canvasX: number, canvasY: number, canvasWidth: number, canvasHeight: number): void;
112
120
  handleScroll(x: number, y: number): void;
121
+ handleWheel(deltaX: number, deltaY: number): void;
113
122
  private handlePointerEvent;
114
123
  handleKeyDown(e: KeyboardEvent): void;
115
124
  private fireEventForObject;
@@ -136,6 +145,7 @@ export declare class ExodeUIEngine {
136
145
  private getBezierPointAndAngle;
137
146
  private applyAbsoluteTransform;
138
147
  private applyObjectTransform;
148
+ private applyArtEffectOverlay;
139
149
  private applyPath;
140
150
  private _tracePath;
141
151
  private renderInputBox;
@@ -89,7 +89,7 @@ export interface LiquidFillConfig {
89
89
  /**
90
90
  * Gen Z Art Effects - Inspired by modern design trends
91
91
  */
92
- export type ArtEffectType = 'glitch' | 'halftone' | 'pixelate' | 'noise' | 'acid_gradient';
92
+ export type ArtEffectType = 'glitch' | 'halftone' | 'pixelate' | 'noise' | 'acid_gradient' | 'acid_rave' | 'shimmer';
93
93
  export interface ArtEffectConfig {
94
94
  enabled: boolean;
95
95
  type: ArtEffectType;
@@ -327,37 +327,31 @@ export type Geometry = {
327
327
  export declare enum BehaviorType {
328
328
  Proximity = "Proximity",
329
329
  Magnetic = "Magnetic",
330
- Parallax = "Parallax",
331
- Velocity = "Velocity",
332
- Shear = "Shear",
333
330
  Repel = "Repel",
334
331
  Orbit = "Orbit",
335
- Elastic = "Elastic",
336
- Dilation = "Dilation",
337
332
  Vortex = "Vortex",
338
333
  Fluid = "Fluid",
334
+ Elastic = "Elastic",
339
335
  Holographic = "Holographic",
340
336
  Sticky = "Sticky",
341
- Spotlight = "Spotlight",
337
+ Dilation = "Dilation",
338
+ Parallax = "Parallax",
342
339
  Noise = "Noise",
340
+ Float = "Float",
341
+ Pulse = "Pulse",
343
342
  Draggable = "Draggable",
344
343
  Scroll = "Scroll",
345
- Follower = "Follower",
346
- Lens = "Lens",
347
344
  LookAt = "LookAt",
348
- Pulse = "Pulse",
349
- Wrap = "Wrap",
350
345
  Glint = "Glint",
351
- Gravity = "Gravity",
346
+ Scan = "Scan",
352
347
  Ratchet = "Ratchet",
353
348
  Jitter = "Jitter",
354
- Scan = "Scan",
355
- Float = "Float",
349
+ Follower = "Follower",
350
+ Wrap = "Wrap",
356
351
  Typewriter = "Typewriter",
357
352
  Scramble = "Scramble",
358
353
  Wave = "Wave",
359
354
  Bounce = "Bounce",
360
- GlitchText = "GlitchText",
361
355
  TextTrail = "TextTrail",
362
356
  Reveal3D = "Reveal3D",
363
357
  RevealSlide = "RevealSlide",
@@ -367,21 +361,29 @@ export declare enum BehaviorType {
367
361
  TextExplosion = "TextExplosion",
368
362
  TextRain = "TextRain",
369
363
  TextGravity = "TextGravity",
370
- TextElastic = "TextElastic",
371
364
  TextMatrix = "TextMatrix",
372
365
  TextNeon = "TextNeon",
373
- TextGlitch3D = "TextGlitch3D",
374
366
  TextDissolve = "TextDissolve",
375
367
  TextOrganic = "TextOrganic",
376
368
  TextBreathe = "TextBreathe",
369
+ TextSpin = "TextSpin",
370
+ TextMagnet = "TextMagnet",
371
+ TextPerspective = "TextPerspective",
372
+ TextMirror = "TextMirror",
377
373
  TextFloral = "TextFloral",
378
374
  TextSmoke = "TextSmoke",
379
375
  TextVariable = "TextVariable",
380
- TextMagnet = "TextMagnet",
381
- TextSpin = "TextSpin",
382
376
  TextZing = "TextZing",
383
- TextPerspective = "TextPerspective",
384
- TextMirror = "TextMirror"
377
+ TextElastic = "TextElastic",
378
+ TextGlitch3D = "TextGlitch3D",
379
+ GlitchText = "GlitchText",
380
+ TextCounter = "TextCounter",
381
+ Squash = "Squash",
382
+ Spotlight = "Spotlight",
383
+ Lens = "Lens",
384
+ Gravity = "Gravity",
385
+ Velocity = "Velocity",
386
+ Shear = "Shear"
385
387
  }
386
388
  export declare enum BehaviorSensor {
387
389
  Scale = "Scale",
@@ -423,8 +425,10 @@ export interface Trigger {
423
425
  export interface Interaction {
424
426
  id: string;
425
427
  event: 'onClick' | 'onHold' | 'pointerDown' | 'pointerUp' | 'hover';
426
- action: 'setInput' | 'fireTrigger';
427
- targetInputId: string;
428
+ action: 'setInput' | 'fireTrigger' | 'setProperty';
429
+ targetInputId?: string;
430
+ targetProperty?: string;
431
+ targetObjectId?: string;
428
432
  value?: any;
429
433
  }
430
434
  export interface Physics {
@@ -571,6 +575,9 @@ export type InputValue = {
571
575
  } | {
572
576
  type: 'Text';
573
577
  value: string;
578
+ } | {
579
+ type: 'Object';
580
+ value: string;
574
581
  };
575
582
  export interface InputNodePosition {
576
583
  id: string;
@@ -595,7 +602,43 @@ export declare enum LogicOp {
595
602
  AND = "AND",
596
603
  OR = "OR",
597
604
  NOT = "NOT",
598
- XOR = "XOR"
605
+ XOR = "XOR",
606
+ OBJECT = "OBJECT",
607
+ PROPERTY = "PROPERTY",
608
+ GET_PROPERTY = "GET_PROPERTY",
609
+ SET_PROPERTY = "SET_PROPERTY",
610
+ ADD = "ADD",
611
+ SUB = "SUB",
612
+ MUL = "MUL",
613
+ DIV = "DIV",
614
+ MOD = "MOD",
615
+ POW = "POW",
616
+ ABS = "ABS",
617
+ ROUND = "ROUND",
618
+ FLOOR = "FLOOR",
619
+ CEIL = "CEIL",
620
+ SIN = "SIN",
621
+ COS = "COS",
622
+ TAN = "TAN",
623
+ CLAMP = "CLAMP",
624
+ REMAP = "REMAP",
625
+ EQ = "EQ",
626
+ NEQ = "NEQ",
627
+ GT = "GT",
628
+ LT = "LT",
629
+ GTE = "GTE",
630
+ LTE = "LTE",
631
+ IF_ELSE = "IF_ELSE",
632
+ VALUE = "VALUE",
633
+ INPUT = "INPUT",
634
+ LOG = "LOG",
635
+ SCROLL_X = "SCROLL_X",
636
+ SCROLL_Y = "SCROLL_Y",
637
+ MOUSE_X = "MOUSE_X",
638
+ MOUSE_Y = "MOUSE_Y",
639
+ IS_MOUSE_DOWN = "IS_MOUSE_DOWN",
640
+ EFFECTOR = "EFFECTOR",
641
+ MONITOR = "MONITOR"
599
642
  }
600
643
  export interface LogicNode {
601
644
  id: string;
@@ -607,8 +650,10 @@ export interface LogicNode {
607
650
  id: string;
608
651
  sourceId?: string;
609
652
  sourceHandleId?: string;
610
- value?: number | boolean;
653
+ value?: any;
611
654
  }[];
655
+ value?: any;
656
+ label?: string;
612
657
  }
613
658
  export interface StateMachine {
614
659
  inputs: Input[];
@@ -656,6 +701,7 @@ export interface Artboard {
656
701
  autoLayout?: AutoLayoutConfig;
657
702
  layoutProps?: LayoutProps;
658
703
  seo?: SEOConfig;
704
+ lastModified?: number;
659
705
  }
660
706
  export type Fit = 'Cover' | 'Contain' | 'Fill' | 'FitWidth' | 'FitHeight' | 'None' | 'ScaleDown';
661
707
  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": "6.2.6",
3
+ "version": "6.2.7",
4
4
  "description": "React Runtime for ExodeUI Animation Engine",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",