canvasengine 2.0.0-beta.39 → 2.0.0-beta.40

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.
Files changed (39) hide show
  1. package/dist/{DebugRenderer-Rrw9FlTd.js → DebugRenderer-DgECR3yZ.js} +2 -2
  2. package/dist/{DebugRenderer-Rrw9FlTd.js.map → DebugRenderer-DgECR3yZ.js.map} +1 -1
  3. package/dist/components/Canvas.d.ts.map +1 -1
  4. package/dist/directives/Controls.d.ts +3 -1
  5. package/dist/directives/Controls.d.ts.map +1 -1
  6. package/dist/engine/animation.d.ts +19 -5
  7. package/dist/engine/animation.d.ts.map +1 -1
  8. package/dist/engine/reactive.d.ts +10 -0
  9. package/dist/engine/reactive.d.ts.map +1 -1
  10. package/dist/engine/signal.d.ts.map +1 -1
  11. package/dist/engine/trigger.d.ts.map +1 -1
  12. package/dist/{index-BQ99FClW.js → index-gb763Hyx.js} +4460 -4245
  13. package/dist/index-gb763Hyx.js.map +1 -0
  14. package/dist/index.global.js +6 -6
  15. package/dist/index.global.js.map +1 -1
  16. package/dist/index.js +40 -37
  17. package/package.json +2 -2
  18. package/src/components/Canvas.ts +5 -0
  19. package/src/components/Container.ts +2 -0
  20. package/src/components/DisplayObject.ts +33 -12
  21. package/src/components/Sprite.ts +14 -1
  22. package/src/directives/Controls.ts +45 -7
  23. package/src/engine/animation.ts +137 -19
  24. package/src/engine/reactive.ts +123 -3
  25. package/src/engine/signal.ts +5 -0
  26. package/src/engine/trigger.ts +19 -2
  27. package/dist/components/Container.d.ts +0 -84
  28. package/dist/components/Container.d.ts.map +0 -1
  29. package/dist/components/DOMContainer.d.ts +0 -81
  30. package/dist/components/DOMContainer.d.ts.map +0 -1
  31. package/dist/components/DisplayObject.d.ts +0 -86
  32. package/dist/components/DisplayObject.d.ts.map +0 -1
  33. package/dist/components/Mesh.d.ts +0 -206
  34. package/dist/components/Mesh.d.ts.map +0 -1
  35. package/dist/components/Sprite.d.ts +0 -240
  36. package/dist/components/Sprite.d.ts.map +0 -1
  37. package/dist/components/Viewport.d.ts +0 -110
  38. package/dist/components/Viewport.d.ts.map +0 -1
  39. package/dist/index-BQ99FClW.js.map +0 -1
@@ -1,4 +1,5 @@
1
1
  import { ArrayChange, ObjectChange, Signal, WritableArraySignal, WritableObjectSignal, isComputed, isSignal, signal, computed } from "@signe/reactive";
2
+ import { isAnimatedSignal, AnimatedSignal } from "./animation";
2
3
  import {
3
4
  Observable,
4
5
  Subject,
@@ -46,6 +47,7 @@ export interface Element<T = ComponentInstance> {
46
47
  };
47
48
  destroy: () => void;
48
49
  allElements: Subject<void>;
50
+ isFrozen: boolean;
49
51
  }
50
52
 
51
53
  type FlowResult = {
@@ -82,6 +84,66 @@ export function registerComponent(name, component) {
82
84
  components[name] = component;
83
85
  }
84
86
 
87
+ /**
88
+ * Checks if an element is currently frozen.
89
+ * An element is frozen when the `freeze` prop is set to `true` (either as a boolean or Signal<boolean>),
90
+ * or when any of its parent elements are frozen (recursive freeze propagation).
91
+ *
92
+ * @param element - The element to check
93
+ * @returns `true` if the element is frozen, `false` otherwise
94
+ */
95
+ export function isElementFrozen(element: Element): boolean {
96
+ if (!element) return false;
97
+
98
+ // Check if this element itself is frozen
99
+ const freezeProp = element.propObservables?.freeze ?? element.props?.freeze;
100
+
101
+ if (freezeProp !== undefined && freezeProp !== null) {
102
+ // Handle Signal<boolean>
103
+ if (isSignal(freezeProp)) {
104
+ if (freezeProp() === true) {
105
+ return true;
106
+ }
107
+ } else if (freezeProp === true) {
108
+ // Handle direct boolean
109
+ return true;
110
+ }
111
+ }
112
+
113
+ // Check if any parent is frozen (recursive check)
114
+ if (element.parent) {
115
+ return isElementFrozen(element.parent);
116
+ }
117
+
118
+ return false;
119
+ }
120
+
121
+ /**
122
+ * Pauses or resumes all animatedSignals in an element based on freeze state.
123
+ *
124
+ * @param element - The element containing animatedSignals
125
+ * @param shouldPause - Whether to pause (true) or resume (false) animations
126
+ */
127
+ function handleAnimatedSignalsFreeze(element: Element, shouldPause: boolean) {
128
+ if (!element.propObservables) return;
129
+
130
+ const processValue = (value: any) => {
131
+ if (isSignal(value) && isAnimatedSignal(value as any)) {
132
+ const animatedSig = value as unknown as AnimatedSignal<any>;
133
+ if (shouldPause) {
134
+ animatedSig.pause();
135
+ } else {
136
+ animatedSig.resume();
137
+ }
138
+ } else if (isObject(value) && !isElement(value)) {
139
+ // Recursively process nested objects
140
+ Object.values(value).forEach(processValue);
141
+ }
142
+ };
143
+
144
+ Object.values(element.propObservables).forEach(processValue);
145
+ }
146
+
85
147
  function destroyElement(element: Element | Element[]) {
86
148
  if (Array.isArray(element)) {
87
149
  element.forEach((e) => destroyElement(e));
@@ -150,6 +212,7 @@ export function createComponent(tag: string, props?: Props): Element {
150
212
  destroyElement(this);
151
213
  },
152
214
  allElements: new Subject(),
215
+ isFrozen: false,
153
216
  };
154
217
 
155
218
  // Iterate over each property in the props object
@@ -168,27 +231,78 @@ export function createComponent(tag: string, props?: Props): Element {
168
231
  const _value = value as Signal<any>;
169
232
  if ("dependencies" in _value && _value.dependencies.size == 0) {
170
233
  _set(path, key, _value());
234
+ // Handle freeze prop initialization
235
+ if (key === "freeze") {
236
+ element.isFrozen = _value() === true;
237
+ }
238
+ return;
239
+ }
240
+
241
+ // Handle freeze prop as signal
242
+ if (key === "freeze") {
243
+ element.isFrozen = _value() === true;
244
+
245
+ // Pause/resume animatedSignals based on initial freeze state
246
+ handleAnimatedSignalsFreeze(element, element.isFrozen);
247
+
248
+ element.propSubscriptions.push(
249
+ _value.observable.subscribe((freezeValue) => {
250
+ const wasFrozen = element.isFrozen;
251
+ element.isFrozen = freezeValue === true;
252
+
253
+ // Handle animatedSignal pause/resume when freeze state changes
254
+ if (wasFrozen !== element.isFrozen) {
255
+ handleAnimatedSignalsFreeze(element, element.isFrozen);
256
+ }
257
+ })
258
+ );
171
259
  return;
172
260
  }
261
+
173
262
  element.propSubscriptions.push(
174
263
  _value.observable.subscribe((value) => {
264
+ // Block updates if element is frozen
265
+ if (isElementFrozen(element)) {
266
+ // Pause animatedSignal if it's an animated signal
267
+ if (isAnimatedSignal(_value as any)) {
268
+ (_value as unknown as AnimatedSignal<any>).pause();
269
+ }
270
+ return;
271
+ }
272
+
273
+ // Resume animatedSignal if it was paused
274
+ if (isAnimatedSignal(_value as any)) {
275
+ (_value as unknown as AnimatedSignal<any>).resume();
276
+ }
277
+
175
278
  _set(path, key, value);
176
279
  if (element.directives[key]) {
177
280
  element.directives[key].onUpdate?.(value, element);
178
281
  }
179
282
  if (key == "tick") {
283
+ // Block tick updates if element is frozen
284
+ if (isElementFrozen(element)) {
285
+ return;
286
+ }
180
287
  return
181
288
  }
182
289
  instance.onUpdate?.(
183
290
  path == ""
184
291
  ? {
185
- [key]: value,
186
- }
292
+ [key]: value,
293
+ }
187
294
  : set({}, path + "." + key, value)
188
295
  );
189
296
  })
190
297
  );
191
298
  } else {
299
+ // Handle freeze prop as direct boolean
300
+ if (key === "freeze") {
301
+ element.isFrozen = value === true;
302
+
303
+ // Pause/resume animatedSignals based on freeze state
304
+ handleAnimatedSignalsFreeze(element, element.isFrozen);
305
+ }
192
306
  if (isObject(value) && key != "context" && !isElement(value)) {
193
307
  recursiveProps(value, (path ? path + "." : "") + key);
194
308
  } else {
@@ -308,6 +422,11 @@ export function createComponent(tag: string, props?: Props): Element {
308
422
 
309
423
  element.props.context = actualParent.props.context;
310
424
  element.parent = actualParent;
425
+
426
+ // Inherit freeze state from parent if element doesn't have its own freeze prop
427
+ if (!element.propObservables?.freeze && !element.props?.freeze && isElementFrozen(actualParent)) {
428
+ element.isFrozen = true;
429
+ }
311
430
 
312
431
  // Check dependencies before mounting
313
432
  if (element.props.dependencies && Array.isArray(element.props.dependencies)) {
@@ -514,7 +633,8 @@ export function loop<T>(
514
633
  parent: null,
515
634
  directives: {},
516
635
  destroy() { destroyElement(this) },
517
- allElements: new Subject()
636
+ allElements: new Subject(),
637
+ isFrozen: false
518
638
  };
519
639
  }
520
640
 
@@ -3,6 +3,7 @@ import {
3
3
  Subscription
4
4
  } from "rxjs";
5
5
  import type { Element } from "./reactive";
6
+ import { isElementFrozen } from "./reactive";
6
7
  import { Tick } from "../directives/Scheduler";
7
8
  import { Container } from "../components";
8
9
 
@@ -55,6 +56,10 @@ export function tick(fn: (tickValue: Tick, element: Element) => void) {
55
56
  let subscription: Subscription | undefined
56
57
  if (context.tick) {
57
58
  subscription = context.tick.observable.subscribe(({ value }) => {
59
+ // Block tick if element is frozen
60
+ if (isElementFrozen(el)) {
61
+ return;
62
+ }
58
63
  fn(value, el)
59
64
  })
60
65
  }
@@ -84,13 +84,30 @@ export function on(triggerSignal: any, callback: (config: any) => void | Promise
84
84
  if (!isTrigger(triggerSignal)) {
85
85
  throw new Error("In 'on(arg)' must have a trigger signal type");
86
86
  }
87
+ let lastValue: number | undefined;
88
+
87
89
  effect(() => {
88
90
  const result = triggerSignal.listen();
89
- if (result?.seed.value) {
91
+ const seed = result?.seed;
92
+ if (!seed) return;
93
+
94
+ // Only run callback when the trigger value actually changes
95
+ if (lastValue === undefined) {
96
+ lastValue = seed.value;
97
+ return;
98
+ }
99
+ if (seed.value === lastValue) return;
100
+ lastValue = seed.value;
101
+
102
+ try {
90
103
  const ret = callback(result?.seed.config);
91
104
  if (ret && typeof ret.then === 'function') {
92
- ret.then(result?.seed.resolve);
105
+ ret.then((value: any) => seed.resolve(value)).catch(() => seed.resolve(undefined));
106
+ } else {
107
+ seed.resolve(ret);
93
108
  }
109
+ } catch (err) {
110
+ seed.resolve(undefined);
94
111
  }
95
112
  });
96
113
  }
@@ -1,84 +0,0 @@
1
- import { ComponentFunction } from '../engine/signal';
2
- import { DisplayObjectProps } from './types/DisplayObject';
3
-
4
- interface ContainerProps extends DisplayObjectProps {
5
- sortableChildren?: boolean;
6
- }
7
- declare const CanvasContainer_base: {
8
- new (): {
9
- [x: string]: any;
10
- "__#1@#canvasContext": {
11
- [key: string]: any;
12
- } | null;
13
- isFlex: boolean;
14
- fullProps: import('..').Props;
15
- isMounted: boolean;
16
- _anchorPoints: import('pixi.js').ObservablePoint;
17
- isCustomAnchor: boolean;
18
- displayWidth: import('@signe/reactive').WritableSignal<number>;
19
- displayHeight: import('@signe/reactive').WritableSignal<number>;
20
- overrideProps: string[];
21
- layout: any;
22
- onBeforeDestroy: import('./DisplayObject').OnHook | null;
23
- onAfterMount: import('./DisplayObject').OnHook | null;
24
- subjectInit: import('rxjs').BehaviorSubject<any>;
25
- disableLayout: boolean;
26
- "__#1@#registeredEvents": Map<string, Function>;
27
- "__#1@#computedLayoutBox": {
28
- width?: number;
29
- height?: number;
30
- } | null;
31
- readonly deltaRatio: any;
32
- readonly parentIsFlex: any;
33
- onInit(props: import('..').Props): void;
34
- onMount({ parent, props }: import('..').Element</*elided*/ any>, index?: number): Promise<void>;
35
- onUpdate(props: import('..').Props): void;
36
- onDestroy(parent: import('..').Element, afterDestroy?: () => void): Promise<void>;
37
- setFlexDirection(direction: import('./types/DisplayObject').FlexDirection): void;
38
- setFlexWrap(wrap: "wrap" | "nowrap" | "wrap-reverse"): void;
39
- setAlignContent(align: import('./types/DisplayObject').AlignContent): void;
40
- setAlignSelf(align: import('./types/DisplayObject').AlignContent): void;
41
- setAlignItems(align: import('./types/DisplayObject').AlignContent): void;
42
- setJustifyContent(justifyContent: "flex-start" | "flex-end" | "center" | "space-between" | "space-around"): void;
43
- setPosition(position: import('./types/DisplayObject').EdgeSize): void;
44
- setX(x: number): void;
45
- setY(y: number): void;
46
- setPadding(padding: import('./types/DisplayObject').EdgeSize): void;
47
- setMargin(margin: import('./types/DisplayObject').EdgeSize): void;
48
- setGap(gap: import('./types/DisplayObject').EdgeSize): void;
49
- setBorder(border: import('./types/DisplayObject').EdgeSize): void;
50
- setPositionType(positionType: "relative" | "absolute"): void;
51
- setWidth(width: number): void;
52
- setHeight(height: number): void;
53
- getWidth(): number;
54
- getHeight(): number;
55
- setMinWidth(minWidth: number | string): void;
56
- setMinHeight(minHeight: number | string): void;
57
- setMaxWidth(maxWidth: number | string): void;
58
- setMaxHeight(maxHeight: number | string): void;
59
- setAspectRatio(aspectRatio: number): void;
60
- setFlexGrow(flexGrow: number): void;
61
- setFlexShrink(flexShrink: number): void;
62
- setFlexBasis(flexBasis: number | string): void;
63
- setRowGap(rowGap: number): void;
64
- setColumnGap(columnGap: number): void;
65
- setTop(top: number | string): void;
66
- setLeft(left: number | string): void;
67
- setRight(right: number | string): void;
68
- setBottom(bottom: number | string): void;
69
- setObjectFit(objectFit: import('./types/DisplayObject').ObjectFit): void;
70
- setObjectPosition(objectPosition: import('./types/DisplayObject').ObjectPosition): void;
71
- setTransformOrigin(transformOrigin: import('./types/DisplayObject').TransformOrigin): void;
72
- };
73
- [x: string]: any;
74
- };
75
- export declare class CanvasContainer extends CanvasContainer_base {
76
- isCustomAnchor: boolean;
77
- onUpdate(props: any): void;
78
- onMount(args: any): Promise<void>;
79
- }
80
- export interface CanvasContainer extends DisplayObjectProps {
81
- }
82
- export declare const Container: ComponentFunction<ContainerProps>;
83
- export {};
84
- //# sourceMappingURL=Container.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../src/components/Container.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAI3D,UAAU,cAAe,SAAQ,kBAAkB;IACjD,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;;;;;;;;;;;;;;;;;;;;;;iBAqDqgC,CAAC;kBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAnDxhC,qBAAa,eAAgB,SAAQ,oBAA4B;IAC/D,cAAc,UAAQ;IAEtB,QAAQ,CAAC,KAAK,KAAA;IAaR,OAAO,CAAC,IAAI,KAAA;CA0BnB;AAED,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;CAAG;AAI9D,eAAO,MAAM,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAEvD,CAAC"}
@@ -1,81 +0,0 @@
1
- import { Element } from '../engine/reactive';
2
- import { ComponentFunction } from '../engine/signal';
3
- import { DisplayObjectProps } from './types/DisplayObject';
4
-
5
- declare const CanvasDOMContainer_base: {
6
- new (): {
7
- [x: string]: any;
8
- "__#1@#canvasContext": {
9
- [key: string]: any;
10
- } | null;
11
- isFlex: boolean;
12
- fullProps: import('..').Props;
13
- isMounted: boolean;
14
- _anchorPoints: import('pixi.js').ObservablePoint;
15
- isCustomAnchor: boolean;
16
- displayWidth: import('@signe/reactive').WritableSignal<number>;
17
- displayHeight: import('@signe/reactive').WritableSignal<number>;
18
- overrideProps: string[];
19
- layout: any;
20
- onBeforeDestroy: import('./DisplayObject').OnHook | null;
21
- onAfterMount: import('./DisplayObject').OnHook | null;
22
- subjectInit: import('rxjs').BehaviorSubject<any>;
23
- disableLayout: boolean;
24
- "__#1@#registeredEvents": Map<string, Function>;
25
- "__#1@#computedLayoutBox": {
26
- width?: number;
27
- height?: number;
28
- } | null;
29
- readonly deltaRatio: any;
30
- readonly parentIsFlex: any;
31
- onInit(props: import('..').Props): void;
32
- onMount({ parent, props }: Element</*elided*/ any>, index?: number): Promise<void>;
33
- onUpdate(props: import('..').Props): void;
34
- onDestroy(parent: Element, afterDestroy?: () => void): Promise<void>;
35
- setFlexDirection(direction: import('./types/DisplayObject').FlexDirection): void;
36
- setFlexWrap(wrap: "wrap" | "nowrap" | "wrap-reverse"): void;
37
- setAlignContent(align: import('./types/DisplayObject').AlignContent): void;
38
- setAlignSelf(align: import('./types/DisplayObject').AlignContent): void;
39
- setAlignItems(align: import('./types/DisplayObject').AlignContent): void;
40
- setJustifyContent(justifyContent: "flex-start" | "flex-end" | "center" | "space-between" | "space-around"): void;
41
- setPosition(position: import('./types/DisplayObject').EdgeSize): void;
42
- setX(x: number): void;
43
- setY(y: number): void;
44
- setPadding(padding: import('./types/DisplayObject').EdgeSize): void;
45
- setMargin(margin: import('./types/DisplayObject').EdgeSize): void;
46
- setGap(gap: import('./types/DisplayObject').EdgeSize): void;
47
- setBorder(border: import('./types/DisplayObject').EdgeSize): void;
48
- setPositionType(positionType: "relative" | "absolute"): void;
49
- setWidth(width: number): void;
50
- setHeight(height: number): void;
51
- getWidth(): number;
52
- getHeight(): number;
53
- setMinWidth(minWidth: number | string): void;
54
- setMinHeight(minHeight: number | string): void;
55
- setMaxWidth(maxWidth: number | string): void;
56
- setMaxHeight(maxHeight: number | string): void;
57
- setAspectRatio(aspectRatio: number): void;
58
- setFlexGrow(flexGrow: number): void;
59
- setFlexShrink(flexShrink: number): void;
60
- setFlexBasis(flexBasis: number | string): void;
61
- setRowGap(rowGap: number): void;
62
- setColumnGap(columnGap: number): void;
63
- setTop(top: number | string): void;
64
- setLeft(left: number | string): void;
65
- setRight(right: number | string): void;
66
- setBottom(bottom: number | string): void;
67
- setObjectFit(objectFit: import('./types/DisplayObject').ObjectFit): void;
68
- setObjectPosition(objectPosition: import('./types/DisplayObject').ObjectPosition): void;
69
- setTransformOrigin(transformOrigin: import('./types/DisplayObject').TransformOrigin): void;
70
- };
71
- [x: string]: any;
72
- };
73
- export declare class CanvasDOMContainer extends CanvasDOMContainer_base {
74
- disableLayout: boolean;
75
- onInit(props: any): void;
76
- }
77
- export interface CanvasDOMContainer extends DisplayObjectProps {
78
- }
79
- export declare const DOMContainer: ComponentFunction<any>;
80
- export {};
81
- //# sourceMappingURL=DOMContainer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DOMContainer.d.ts","sourceRoot":"","sources":["../../src/components/DOMContainer.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,OAAO,EAER,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAK,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;;;;;;;;;;;;;;;;;;;;;;iBAiHlC,CAAC;kBAAgB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAd3C,qBAAa,kBAAmB,SAAQ,uBAA+B;IACrE,aAAa,UAAQ;IAErB,MAAM,CAAC,KAAK,EAAE,GAAG;CAIlB;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;CAAG;AAIjE,eAAO,MAAM,YAAY,EAAE,iBAAiB,CAAC,GAAG,CAE/C,CAAC"}
@@ -1,86 +0,0 @@
1
- import { Element, Props } from '../engine/reactive';
2
- import { AlignContent, EdgeSize, FlexDirection, ObjectFit, ObjectPosition, TransformOrigin } from './types/DisplayObject';
3
- import { ObservablePoint } from 'pixi.js';
4
- import { BehaviorSubject } from 'rxjs';
5
-
6
- export interface ComponentInstance extends PixiMixins.ContainerOptions {
7
- id?: string;
8
- children?: ComponentInstance[];
9
- onInit?(props: Props): void;
10
- onUpdate?(props: Props): void;
11
- onDestroy?(parent: Element, afterDestroy: () => void): void;
12
- onMount?(context: Element, index?: number): void;
13
- setWidth(width: number): void;
14
- setHeight(height: number): void;
15
- }
16
- export declare const EVENTS: string[];
17
- export type OnHook = (() => void) | (() => Promise<void> | void);
18
- export declare function DisplayObject(extendClass: any): {
19
- new (): {
20
- [x: string]: any;
21
- "__#1@#canvasContext": {
22
- [key: string]: any;
23
- } | null;
24
- isFlex: boolean;
25
- fullProps: Props;
26
- isMounted: boolean;
27
- _anchorPoints: ObservablePoint;
28
- isCustomAnchor: boolean;
29
- displayWidth: import('@signe/reactive').WritableSignal<number>;
30
- displayHeight: import('@signe/reactive').WritableSignal<number>;
31
- overrideProps: string[];
32
- layout: any;
33
- onBeforeDestroy: OnHook | null;
34
- onAfterMount: OnHook | null;
35
- subjectInit: BehaviorSubject<any>;
36
- disableLayout: boolean;
37
- "__#1@#registeredEvents": Map<string, Function>;
38
- "__#1@#computedLayoutBox": {
39
- width?: number;
40
- height?: number;
41
- } | null;
42
- readonly deltaRatio: any;
43
- readonly parentIsFlex: any;
44
- onInit(props: Props): void;
45
- onMount({ parent, props }: Element</*elided*/ any>, index?: number): Promise<void>;
46
- onUpdate(props: Props): void;
47
- onDestroy(parent: Element, afterDestroy?: () => void): Promise<void>;
48
- setFlexDirection(direction: FlexDirection): void;
49
- setFlexWrap(wrap: "wrap" | "nowrap" | "wrap-reverse"): void;
50
- setAlignContent(align: AlignContent): void;
51
- setAlignSelf(align: AlignContent): void;
52
- setAlignItems(align: AlignContent): void;
53
- setJustifyContent(justifyContent: "flex-start" | "flex-end" | "center" | "space-between" | "space-around"): void;
54
- setPosition(position: EdgeSize): void;
55
- setX(x: number): void;
56
- setY(y: number): void;
57
- setPadding(padding: EdgeSize): void;
58
- setMargin(margin: EdgeSize): void;
59
- setGap(gap: EdgeSize): void;
60
- setBorder(border: EdgeSize): void;
61
- setPositionType(positionType: "relative" | "absolute"): void;
62
- setWidth(width: number): void;
63
- setHeight(height: number): void;
64
- getWidth(): number;
65
- getHeight(): number;
66
- setMinWidth(minWidth: number | string): void;
67
- setMinHeight(minHeight: number | string): void;
68
- setMaxWidth(maxWidth: number | string): void;
69
- setMaxHeight(maxHeight: number | string): void;
70
- setAspectRatio(aspectRatio: number): void;
71
- setFlexGrow(flexGrow: number): void;
72
- setFlexShrink(flexShrink: number): void;
73
- setFlexBasis(flexBasis: number | string): void;
74
- setRowGap(rowGap: number): void;
75
- setColumnGap(columnGap: number): void;
76
- setTop(top: number | string): void;
77
- setLeft(left: number | string): void;
78
- setRight(right: number | string): void;
79
- setBottom(bottom: number | string): void;
80
- setObjectFit(objectFit: ObjectFit): void;
81
- setObjectPosition(objectPosition: ObjectPosition): void;
82
- setTransformOrigin(transformOrigin: TransformOrigin): void;
83
- };
84
- [x: string]: any;
85
- };
86
- //# sourceMappingURL=DisplayObject.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DisplayObject.d.ts","sourceRoot":"","sources":["../../src/components/DisplayObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAa,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAE/D,OAAO,KAAK,EACV,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,SAAS,EACT,cAAc,EACd,eAAe,EAChB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAc,eAAe,EAAE,MAAM,SAAS,CAAC;AAGtD,OAAO,EAAE,eAAe,EAAmB,MAAM,MAAM,CAAC;AAExD,MAAM,WAAW,iBAAkB,SAAQ,UAAU,CAAC,gBAAgB;IACpE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC5D,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACjD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC;AAED,eAAO,MAAM,MAAM,UAqElB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AAEjE,wBAAgB,aAAa,CAAC,WAAW,KAAA;;;+BAErB;YACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;SACpB,GAAG,IAAI;gBACA,OAAO;mBACJ,KAAK;mBACL,OAAO;;wBAEF,OAAO;;;uBAGR,MAAM,EAAE;;yBAEN,MAAM,GAAG,IAAI;sBAChB,MAAM,GAAG,IAAI;;uBAEZ,OAAO;kCAEH,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC;mCAEpB;YAAE,KAAK,CAAC,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI;;;sBAWhD,KAAK;mCAyCc,OAAO,gBAAe,UAAU,MAAM;wBAsCvD,KAAK;0BAqGG,OAAO,iBAAiB,MAAM,IAAI;oCAc9B,aAAa;0BAIvB,MAAM,GAAG,QAAQ,GAAG,cAAc;+BAI7B,YAAY;4BAIf,YAAY;6BAIX,YAAY;0CAM3B,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,eAAe,GACf,cAAc;8BAKE,QAAQ;gBAoBtB,MAAM;gBAUN,MAAM;4BAUM,QAAQ;0BAoBV,QAAQ;oBAoBd,QAAQ;0BAIF,QAAQ;sCAoBI,UAAU,GAAG,UAAU;wBAIrC,MAAM;0BASJ,MAAM;oBASZ,MAAM;qBAgBL,MAAM;8BAiBG,MAAM,GAAG,MAAM;gCAIb,MAAM,GAAG,MAAM;8BAIjB,MAAM,GAAG,MAAM;gCAIb,MAAM,GAAG,MAAM;oCAKX,MAAM;8BAKZ,MAAM;kCAIF,MAAM;gCAIR,MAAM,GAAG,MAAM;0BAKrB,MAAM;gCAIA,MAAM;oBAKlB,MAAM,GAAG,MAAM;sBAIb,MAAM,GAAG,MAAM;wBAIb,MAAM,GAAG,MAAM;0BAIb,MAAM,GAAG,MAAM;gCAKT,SAAS;0CAIC,cAAc;4CAIZ,eAAe;;;EAItD"}