@qwik.dev/core 2.0.0-beta.16 → 2.0.0-beta.18

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.
@@ -20,7 +20,7 @@
20
20
  "@qwik.dev/core": "workspace:*"
21
21
  },
22
22
  "devDependencies": {
23
- "vite": "7.2.2"
23
+ "vite": "7.3.1"
24
24
  },
25
25
  "scripts": {
26
26
  "dev": "vite",
@@ -833,7 +833,6 @@
833
833
  for (
834
834
  T &= 15, N = R[G + 2] + (M & Pe[T]), M >>= T, O -= T;
835
835
  O < 15;
836
-
837
836
  )
838
837
  (U--, (M |= (S.read_byte(q++) & 255) << O), (O += 8));
839
838
  ((C = M & H), (R = y), (D = k), (G = (D + C) * 3), (T = R[G]));
@@ -991,7 +990,6 @@
991
990
  D = g.write,
992
991
  T = D < g.read ? g.read - D - 1 : g.end - D;
993
992
  ;
994
-
995
993
  )
996
994
  switch (t) {
997
995
  case so:
@@ -1346,7 +1344,6 @@
1346
1344
  w = n.write,
1347
1345
  S = w < n.read ? n.read - w - 1 : n.end - w;
1348
1346
  ;
1349
-
1350
1347
  ) {
1351
1348
  let R, D, T, M, O, q, U, B;
1352
1349
  switch (r) {
@@ -1579,7 +1576,6 @@
1579
1576
  for (
1580
1577
  C = I == 18 ? 7 : I - 14, Y = I == 18 ? 11 : 3;
1581
1578
  d < u + C;
1582
-
1583
1579
  ) {
1584
1580
  if (k !== 0) g = V;
1585
1581
  else
@@ -2327,7 +2323,6 @@
2327
2323
  for (
2328
2324
  t.push(Math.floor(e._length / 4294967296)), t.push(e._length | 0);
2329
2325
  t.length;
2330
-
2331
2326
  )
2332
2327
  e._block(t.splice(0, 16));
2333
2328
  return (e.reset(), n);
@@ -4526,7 +4521,6 @@
4526
4521
  for (
4527
4522
  d(H), m = n(c);
4528
4523
  m !== null && (!(m.expirationTime > H) || (I && !T()));
4529
-
4530
4524
  ) {
4531
4525
  var z = m.callback;
4532
4526
  if (typeof z == "function") {
@@ -5013,7 +5007,6 @@
5013
5007
  i = o.length - 1,
5014
5008
  l = s.length - 1;
5015
5009
  1 <= i && 0 <= l && o[i] !== s[l];
5016
-
5017
5010
  )
5018
5011
  l--;
5019
5012
  for (; 1 <= i && 0 <= l; i--, l--)
@@ -5418,7 +5411,6 @@
5418
5411
  po.innerHTML = "<svg>" + t.valueOf().toString() + "</svg>",
5419
5412
  t = po.firstChild;
5420
5413
  e.firstChild;
5421
-
5422
5414
  )
5423
5415
  e.removeChild(e.firstChild);
5424
5416
  for (; t.firstChild; ) e.appendChild(t.firstChild);
@@ -5932,7 +5924,6 @@
5932
5924
  o = e.expirationTimes,
5933
5925
  s = e.pendingLanes;
5934
5926
  0 < s;
5935
-
5936
5927
  ) {
5937
5928
  var i = 31 - rt(s),
5938
5929
  l = 1 << i,
@@ -8166,7 +8157,6 @@
8166
8157
  for (
8167
8158
  e = e.return;
8168
8159
  e !== null && e.tag !== 5 && e.tag !== 3 && e.tag !== 13;
8169
-
8170
8160
  )
8171
8161
  e = e.return;
8172
8162
  Be = e;
@@ -9853,7 +9843,6 @@ Error generating stack: ` +
9853
9843
  r = n,
9854
9844
  n = t.child;
9855
9845
  n !== null;
9856
-
9857
9846
  )
9858
9847
  ((s = n),
9859
9848
  (e = r),
@@ -10539,7 +10528,6 @@ Error generating stack: ` +
10539
10528
  for (
10540
10529
  e = t.child, n = Jt(e, e.pendingProps), t.child = n, n.return = t;
10541
10530
  e.sibling !== null;
10542
-
10543
10531
  )
10544
10532
  ((e = e.sibling),
10545
10533
  (n = n.sibling = Jt(e, e.pendingProps)),
@@ -10703,7 +10691,6 @@ Error generating stack: ` +
10703
10691
  m !== s || (r !== 0 && m.nodeType !== 3) || (c = i + r),
10704
10692
  m.nodeType === 3 && (i += m.nodeValue.length),
10705
10693
  (x = m.firstChild) !== null;
10706
-
10707
10694
  )
10708
10695
  ((h = m), (m = x));
10709
10696
  for (;;) {
@@ -10726,7 +10713,6 @@ Error generating stack: ` +
10726
10713
  for (
10727
10714
  ol = { focusedElem: e, selectionRange: n }, ts = !1, P = t;
10728
10715
  P !== null;
10729
-
10730
10716
  )
10731
10717
  if (
10732
10718
  ((t = P),
@@ -10862,7 +10848,6 @@ Error generating stack: ` +
10862
10848
  for (
10863
10849
  e.sibling.return = e.return, e = e.sibling;
10864
10850
  e.tag !== 5 && e.tag !== 6 && e.tag !== 18;
10865
-
10866
10851
  ) {
10867
10852
  if (e.flags & 2 || e.child === null || e.tag === 4) continue e;
10868
10853
  ((e.child.return = e), (e = e.child));
@@ -11782,7 +11767,6 @@ Error generating stack: ` +
11782
11767
  e.pingedLanes &= ~t,
11783
11768
  e = e.expirationTimes;
11784
11769
  0 < t;
11785
-
11786
11770
  ) {
11787
11771
  var n = 31 - rt(t),
11788
11772
  r = 1 << n;
@@ -12466,7 +12450,6 @@ Error generating stack: ` +
12466
12450
  n = Ep(t, null, r, n),
12467
12451
  t.child = n;
12468
12452
  n;
12469
-
12470
12453
  )
12471
12454
  ((n.flags = (n.flags & -3) | 4096), (n = n.sibling));
12472
12455
  else {
@@ -12536,7 +12519,6 @@ Error generating stack: ` +
12536
12519
  for (
12537
12520
  s = t.child, s !== null && (s.return = t);
12538
12521
  s !== null;
12539
-
12540
12522
  ) {
12541
12523
  var l = s.dependencies;
12542
12524
  if (l !== null) {
@@ -18985,7 +18967,6 @@ Error generating stack: ` +
18985
18967
  var l = i;
18986
18968
  l < t.length - 1 &&
18987
18969
  t[l].charCodeAt(1) + 1 === t[l + 1].charCodeAt(1);
18988
-
18989
18970
  )
18990
18971
  l += 1;
18991
18972
  var c = 1 + l - i;
@@ -18,19 +18,9 @@ declare interface AddRootFn {
18
18
 
19
19
  declare type AllSignalFlags = SignalFlags | WrappedSignalFlags | SerializationSignalFlags;
20
20
 
21
- declare type AsyncComputedCtx = {
22
- track: Tracker;
23
- cleanup: (callback: () => void) => void;
24
- };
25
-
26
- /** @public */
27
- declare type AsyncComputedFn<T> = (ctx: AsyncComputedCtx) => Promise<T>;
28
-
29
- declare type AsyncComputeQRL<T> = QRLInternal<AsyncComputedFn<T>>;
30
-
31
21
  /** Class for back reference to the EffectSubscription */
32
22
  declare abstract class BackRef {
33
- [_EFFECT_BACK_REF]: Map<EffectProperty | string, EffectSubscription> | undefined;
23
+ [_EFFECT_BACK_REF]: Map<any, any> | undefined;
34
24
  }
35
25
 
36
26
  declare type BivariantQrlFn<ARGS extends any[], RETURN> = {
@@ -43,58 +33,18 @@ declare type BivariantQrlFn<ARGS extends any[], RETURN> = {
43
33
  bivarianceHack(...args: ARGS): Promise<RETURN>;
44
34
  }['bivarianceHack'];
45
35
 
46
- declare interface Chore<T extends ChoreType = ChoreType> {
47
- $type$: T;
48
- $idx$: number | string;
49
- $host$: HostElement;
50
- $target$: ChoreTarget | null;
51
- $payload$: unknown;
52
- $state$: ChoreState;
53
- $blockedChores$: ChoreArray | null;
54
- $startTime$: number | undefined;
55
- $endTime$: number | undefined;
56
- $resolve$: ((value: any) => void) | undefined;
57
- $reject$: ((reason?: any) => void) | undefined;
58
- $returnValue$: ValueOrPromise<ChoreReturnValue<T>>;
59
- }
60
-
61
- declare class ChoreArray extends Array<Chore> {
62
- add(value: Chore): number;
63
- delete(value: Chore): number;
64
- }
65
-
66
- declare type ChoreReturnValue<T extends ChoreType = ChoreType> = T extends ChoreType.RECOMPUTE_AND_SCHEDULE_EFFECTS | ChoreType.WAIT_FOR_QUEUE | ChoreType.NODE_PROP ? void : T extends ChoreType.NODE_DIFF | ChoreType.COMPONENT ? JSXOutput_2 : unknown;
67
-
68
- declare enum ChoreState {
36
+ declare const enum ChoreBits {
69
37
  NONE = 0,
70
- RUNNING = 1,
71
- FAILED = 2,
72
- DONE = 3
38
+ TASKS = 1,
39
+ NODE_DIFF = 2,
40
+ COMPONENT = 4,
41
+ NODE_PROPS = 8,
42
+ COMPUTE = 16,
43
+ CHILDREN = 32,
44
+ CLEANUP = 64,
45
+ DIRTY_MASK = 127
73
46
  }
74
47
 
75
- declare type ChoreTarget = HostElement | QRLInternal<(...args: unknown[]) => unknown> | Signal | StoreTarget;
76
-
77
- declare const enum ChoreType {
78
- MACRO = 240,
79
- MICRO = 15,
80
- /** Ensure that the QRL promise is resolved before processing next chores in the queue */
81
- QRL_RESOLVE = 1,
82
- RUN_QRL = 2,
83
- TASK = 3,
84
- NODE_DIFF = 4,
85
- NODE_PROP = 5,
86
- COMPONENT = 6,
87
- RECOMPUTE_AND_SCHEDULE_EFFECTS = 7,
88
- VISIBLE = 16,
89
- CLEANUP_VISIBLE = 32,
90
- WAIT_FOR_QUEUE = 255
91
- }
92
-
93
- /** @public */
94
- declare type ComputedFn<T> = () => T;
95
-
96
- declare type ComputeQRL<T> = QRLInternal<ComputedFn<T>>;
97
-
98
48
  /**
99
49
  * Effect is something which needs to happen (side-effect) due to signal value change.
100
50
  *
@@ -104,17 +54,20 @@ declare type ComputeQRL<T> = QRLInternal<ComputedFn<T>>;
104
54
  * - `VNode` and `ISsrNode`: Either a component or `<Signal>`
105
55
  * - `Signal2`: A derived signal which contains a computation function.
106
56
  */
107
- declare type Consumer = Task | VNode | ISsrNode | SignalImpl;
57
+ declare type Consumer = Task | VNode | SignalImpl | ISsrNode;
108
58
 
109
59
  declare interface Container {
110
60
  readonly $version$: string;
111
- readonly $scheduler$: Scheduler;
112
61
  readonly $storeProxyMap$: ObjToProxyMap;
113
62
  readonly $locale$: string;
114
63
  readonly $getObjectById$: (id: number | string) => any;
115
64
  readonly $serverData$: Record<string, any>;
116
65
  $currentUniqueId$: number;
117
66
  $buildBase$: string | null;
67
+ $renderPromise$: Promise<void> | null;
68
+ $resolveRenderPromise$: (() => void) | null;
69
+ $cursorCount$: number;
70
+ $pausedCursorCount$: number;
118
71
  handleError(err: any, $host$: HostElement | null): void;
119
72
  getParentHost(host: HostElement): HostElement | null;
120
73
  setContext<T>(host: HostElement, context: ContextId<T>, value: T): void;
@@ -219,18 +172,6 @@ export declare const createDOM: ({ html }?: {
219
172
  userEvent: (queryOrElement: string | Element | keyof HTMLElementTagNameMap | null, eventNameCamel: string | keyof WindowEventMap, eventPayload?: any) => Promise<void>;
220
173
  }>;
221
174
 
222
- declare const createScheduler: (container: Container, journalFlush: () => void, choreQueue: ChoreArray, blockedChores: ChoreArray, runningChores: Set<Chore>) => {
223
- (type: ChoreType.QRL_RESOLVE, ignore: null, target: ComputeQRL<any> | AsyncComputeQRL<any>): Chore<ChoreType.QRL_RESOLVE>;
224
- (type: ChoreType.WAIT_FOR_QUEUE): Chore<ChoreType.WAIT_FOR_QUEUE>;
225
- (type: ChoreType.RECOMPUTE_AND_SCHEDULE_EFFECTS, host: HostElement | undefined, target: Signal<unknown> | StoreTarget, effects: Set<EffectSubscription> | undefined): Chore<ChoreType.RECOMPUTE_AND_SCHEDULE_EFFECTS>;
226
- (type: ChoreType.TASK | ChoreType.VISIBLE, task: Task): Chore<ChoreType.TASK | ChoreType.VISIBLE>;
227
- (type: ChoreType.RUN_QRL, host: HostElement, target: QRLInternal<(...args: unknown[]) => unknown>, args: unknown[]): Chore<ChoreType.RUN_QRL>;
228
- (type: ChoreType.COMPONENT, host: HostElement, qrl: QRLInternal<OnRenderFn<unknown>>, props: Props | null): Chore<ChoreType.COMPONENT>;
229
- (type: ChoreType.NODE_DIFF, host: HostElement, target: HostElement, value: JSXOutput_2 | Signal): Chore<ChoreType.NODE_DIFF>;
230
- (type: ChoreType.NODE_PROP, host: HostElement, prop: string, value: any): Chore<ChoreType.NODE_PROP>;
231
- (type: ChoreType.CLEANUP_VISIBLE, task: Task): Chore<ChoreType.CLEANUP_VISIBLE>;
232
- };
233
-
234
175
  declare interface DescriptorBase<T = unknown, B = unknown> extends BackRef {
235
176
  $flags$: number;
236
177
  $index$: number;
@@ -240,14 +181,6 @@ declare interface DescriptorBase<T = unknown, B = unknown> extends BackRef {
240
181
  $destroy$: NoSerialize<() => void> | null;
241
182
  }
242
183
 
243
- /** @public */
244
- declare interface DevJSX {
245
- fileName: string;
246
- lineNumber: number;
247
- columnNumber: number;
248
- stack?: string;
249
- }
250
-
251
184
  declare type DomRef = {
252
185
  $ssrNode$: SsrNode;
253
186
  };
@@ -306,15 +239,13 @@ declare const enum EffectProperty {
306
239
  * - `EffectProperty.COMPONENT` if component
307
240
  * - `EffectProperty.VNODE` if VNode
308
241
  */
309
- declare type EffectSubscription = [
310
- Consumer,
311
- // EffectSubscriptionProp.CONSUMER
312
- EffectProperty | string,
313
- // EffectSubscriptionProp.PROPERTY or string for attributes
314
- Set<SignalImpl | StoreTarget> | null,
315
- // EffectSubscriptionProp.BACK_REF
316
- SubscriptionData | null
317
- ];
242
+ declare class EffectSubscription {
243
+ consumer: Consumer;
244
+ property: EffectProperty | string;
245
+ backRef: Set<SignalImpl | StoreTarget> | null;
246
+ data: SubscriptionData | null;
247
+ constructor(consumer: Consumer, property: EffectProperty | string, backRef?: Set<SignalImpl | StoreTarget> | null, data?: SubscriptionData | null);
248
+ }
318
249
 
319
250
  /**
320
251
  * Creates a simple DOM structure for testing components.
@@ -345,32 +276,12 @@ declare interface ElementFixtureOptions {
345
276
  html?: string;
346
277
  }
347
278
 
348
- /** @internal */
349
- declare class ElementVNode extends VNode {
350
- firstChild: VNode | null | undefined;
351
- lastChild: VNode | null | undefined;
352
- element: QElement;
353
- elementName: string | undefined;
354
- constructor(flags: VNodeFlags, parent: ElementVNode | VirtualVNode | null, previousSibling: VNode | null | undefined, nextSibling: VNode | null | undefined, firstChild: VNode | null | undefined, lastChild: VNode | null | undefined, element: QElement, elementName: string | undefined);
355
- }
356
-
357
279
  /** @public */
358
280
  export declare function emulateExecutionOfQwikFuncs(document: Document): void;
359
281
 
360
282
  /** @public */
361
283
  export declare function expectDOM(actual: Element, expected: string): Promise<void>;
362
284
 
363
- /**
364
- * Any function taking a props object that returns JSXOutput.
365
- *
366
- * The `key`, `flags` and `dev` parameters are for internal use.
367
- *
368
- * @public
369
- */
370
- declare type FunctionComponent<P = unknown> = {
371
- renderFn(props: P, key: string | null, flags: number, dev?: DevJSX): JSXOutput_2;
372
- }['renderFn'];
373
-
374
285
  /** @public */
375
286
  export declare function getTestPlatform(): TestPlatform;
376
287
 
@@ -381,8 +292,6 @@ declare interface InvokeContext {
381
292
  $url$: URL | undefined;
382
293
  /** The Virtual parent component for the current component code */
383
294
  $hostElement$: HostElement | undefined;
384
- /** The current DOM element */
385
- $element$: Element | undefined;
386
295
  /** The event we're currently handling */
387
296
  $event$: PossibleEvents | undefined;
388
297
  /** The QRL function we're currently executing */
@@ -397,6 +306,7 @@ declare type InvokeTuple = [Element, Event, URL?];
397
306
  declare interface ISsrNode {
398
307
  id: string;
399
308
  flags: SsrNodeFlags;
309
+ dirty: ChoreBits;
400
310
  parentComponent: ISsrNode | null;
401
311
  vnodeData: VNodeData;
402
312
  currentFile: string | null;
@@ -407,29 +317,6 @@ declare interface ISsrNode {
407
317
  setTreeNonUpdatable(): void;
408
318
  }
409
319
 
410
- /** @public */
411
- declare type JSXChildren = string | number | boolean | null | undefined | Function | RegExp | JSXChildren[] | Promise<JSXChildren> | Signal<JSXChildren> | JSXNode;
412
-
413
- /**
414
- * A JSX Node, an internal structure. You probably want to use `JSXOutput` instead.
415
- *
416
- * @public
417
- */
418
- declare interface JSXNode<T extends string | FunctionComponent | unknown = unknown> {
419
- type: T;
420
- props: T extends FunctionComponent<infer P> ? P : Record<any, unknown>;
421
- children: JSXChildren | null;
422
- key: string | null;
423
- dev?: DevJSX;
424
- }
425
-
426
- /**
427
- * Any valid output for a component
428
- *
429
- * @public
430
- */
431
- declare type JSXOutput_2 = JSXNode | string | number | boolean | null | undefined | JSXOutput_2[];
432
-
433
320
  /** @public */
434
321
  declare interface MockDocument extends Document {
435
322
  }
@@ -466,18 +353,10 @@ declare type NoSerialize<T> = (T & {
466
353
 
467
354
  declare type ObjToProxyMap = WeakMap<any, any>;
468
355
 
469
- /** @public */
470
- declare type OnRenderFn<PROPS> = (props: PROPS) => JSXOutput_2;
471
-
472
356
  declare type PossibleEvents = Event | SimplifiedServerRequestEvent | typeof TaskEvent | typeof RenderEvent | typeof ResourceEvent;
473
357
 
474
358
  declare type Props = Record<string, unknown>;
475
359
 
476
- declare interface QElement extends Element {
477
- qDispatchEvent?: (event: Event, scope: QwikLoaderEventScope) => ValueOrPromise<unknown>;
478
- vNode?: VNode;
479
- }
480
-
481
360
  /**
482
361
  * The `QRL` type represents a lazy-loadable AND serializable resource.
483
362
  *
@@ -643,8 +522,6 @@ declare type QRLInternalMethods<TYPE> = {
643
522
 
644
523
  declare type QrlReturn<T> = T extends (...args: any) => infer R ? Awaited<R> : unknown;
645
524
 
646
- declare type QwikLoaderEventScope = '-document' | '-window' | '';
647
-
648
525
  /** @public */
649
526
  declare interface ReadonlySignal<T = unknown> {
650
527
  readonly value: T;
@@ -661,12 +538,11 @@ declare interface ResourceReturnInternal<T> {
661
538
  _error: Error | undefined;
662
539
  _cache: number;
663
540
  _timeout: number;
541
+ _generation: number;
664
542
  value: Promise<T>;
665
543
  loading: boolean;
666
544
  }
667
545
 
668
- declare type Scheduler = ReturnType<typeof createScheduler>;
669
-
670
546
  /** Stores the location of an object. If no parent, it's a root. */
671
547
  declare type SeenRef = {
672
548
  $index$: number;
@@ -857,91 +733,6 @@ declare interface TestPlatform extends CorePlatform {
857
733
  flush: () => Promise<void>;
858
734
  }
859
735
 
860
- /**
861
- * Used to signal to Qwik which state should be watched for changes.
862
- *
863
- * The `Tracker` is passed into the `taskFn` of `useTask`. It is intended to be used to wrap state
864
- * objects in a read proxy which signals to Qwik which properties should be watched for changes. A
865
- * change to any of the properties causes the `taskFn` to rerun.
866
- *
867
- * ### Example
868
- *
869
- * The `obs` passed into the `taskFn` is used to mark `state.count` as a property of interest. Any
870
- * changes to the `state.count` property will cause the `taskFn` to rerun.
871
- *
872
- * ```tsx
873
- * const Cmp = component$(() => {
874
- * const store = useStore({ count: 0, doubleCount: 0 });
875
- * const signal = useSignal(0);
876
- * useTask$(({ track }) => {
877
- * // Any signals or stores accessed inside the task will be tracked
878
- * const count = track(() => store.count);
879
- * // You can also pass a signal to track() directly
880
- * const signalCount = track(signal);
881
- * store.doubleCount = count + signalCount;
882
- * });
883
- * return (
884
- * <div>
885
- * <span>
886
- * {store.count} / {store.doubleCount}
887
- * </span>
888
- * <button
889
- * onClick$={() => {
890
- * store.count++;
891
- * signal.value++;
892
- * }}
893
- * >
894
- * +
895
- * </button>
896
- * </div>
897
- * );
898
- * });
899
- * ```
900
- *
901
- * @public
902
- * @see `useTask`
903
- */
904
- declare interface Tracker {
905
- /**
906
- * Include the expression using stores / signals to track:
907
- *
908
- * ```tsx
909
- * track(() => store.count);
910
- * ```
911
- *
912
- * The `track()` function also returns the value of the scoped expression:
913
- *
914
- * ```tsx
915
- * const count = track(() => store.count);
916
- * ```
917
- */
918
- <T>(fn: () => T): T;
919
- /**
920
- * Used to track the whole object. If any property of the passed store changes, the task will be
921
- * scheduled to run. Also accepts signals.
922
- *
923
- * Note that the change tracking is not deep. If you want to track changes to nested properties,
924
- * you need to use `track` on each of them.
925
- *
926
- * ```tsx
927
- * track(store); // returns store
928
- * track(signal); // returns signal.value
929
- * ```
930
- */
931
- <T extends object>(obj: T): T extends Signal<infer U> ? U : T;
932
- /**
933
- * Used to track to track a specific property of an object.
934
- *
935
- * Note that the change tracking is not deep. If you want to track changes to nested properties,
936
- * you need to use `track` on each of them.
937
- *
938
- * ```tsx
939
- * track(store, 'propA'); // returns store.propA
940
- * ```
941
- */
942
- <T extends object, P extends keyof T>(obj: T, prop: P): T[P];
943
- }
944
-
945
736
  /**
946
737
  * Trigger an event in unit tests on an element. Needs to be kept in sync with the Qwik Loader event
947
738
  * dispatching.
@@ -962,33 +753,24 @@ export declare function trigger(root: Element, queryOrElement: string | Element
962
753
  declare type ValueOrPromise<T> = T | Promise<T>;
963
754
 
964
755
  /** @internal */
965
- declare class VirtualVNode extends VNode {
966
- firstChild: VNode | null | undefined;
967
- lastChild: VNode | null | undefined;
968
- constructor(flags: VNodeFlags, parent: ElementVNode | VirtualVNode | null, previousSibling: VNode | null | undefined, nextSibling: VNode | null | undefined, firstChild: VNode | null | undefined, lastChild: VNode | null | undefined);
969
- }
970
-
971
- /** @internal */
972
- declare abstract class VNode extends BackRef {
756
+ declare abstract class VNode implements BackRef {
973
757
  flags: VNodeFlags;
974
- parent: ElementVNode | VirtualVNode | null;
758
+ parent: VNode | null;
975
759
  previousSibling: VNode | null | undefined;
976
760
  nextSibling: VNode | null | undefined;
977
- props: unknown[] | null;
761
+ props: Props | null;
762
+ [_EFFECT_BACK_REF]: Map<any, any> | undefined;
978
763
  slotParent: VNode | null;
979
- chores: ChoreArray | null;
980
- blockedChores: ChoreArray | null;
981
- constructor(flags: VNodeFlags, parent: ElementVNode | VirtualVNode | null, previousSibling: VNode | null | undefined, nextSibling: VNode | null | undefined);
982
- getProp<T>(key: string, getObject: ((id: string) => any) | null): T | null;
983
- setProp(key: string, value: any): void;
984
- getAttr(key: string): string | null;
985
- setAttr(key: string, value: string | null | boolean, journal: VNodeJournal | null): void;
764
+ dirty: ChoreBits;
765
+ dirtyChildren: VNode[] | null;
766
+ nextDirtyChildIndex: number;
767
+ constructor(flags: VNodeFlags, parent: VNode | null, previousSibling: VNode | null | undefined, nextSibling: VNode | null | undefined, props: Props | null);
986
768
  toString(): string;
987
769
  }
988
770
 
989
771
  /** @public */
990
772
  export declare function vnode_fromJSX(jsx: JSXOutput): {
991
- vParent: _ElementVNode | _VirtualVNode;
773
+ vParent: _VirtualVNode | _ElementVNode;
992
774
  vNode: _VNode | null;
993
775
  document: _QDocument;
994
776
  container: ClientContainer_2;
@@ -1067,30 +849,12 @@ declare const enum VNodeFlags {
1067
849
  Inflated = 8,
1068
850
  Resolved = 16,
1069
851
  Deleted = 32,
1070
- NAMESPACE_MASK = 192,
1071
- NEGATED_NAMESPACE_MASK = -193,
852
+ Cursor = 64,
853
+ NAMESPACE_MASK = 384,
854
+ NEGATED_NAMESPACE_MASK = -385,
1072
855
  NS_html = 0,// http://www.w3.org/1999/xhtml
1073
- NS_svg = 64,// http://www.w3.org/2000/svg
1074
- NS_math = 128
1075
- }
1076
-
1077
- declare type VNodeJournal = Array<VNodeJournalOpCode | Document | Element | Text | string | boolean | null>;
1078
-
1079
- /**
1080
- * Fundamental DOM operations are:
1081
- *
1082
- * - Insert new DOM element/text
1083
- * - Remove DOM element/text
1084
- * - Set DOM element attributes
1085
- * - Set text node value
1086
- */
1087
- declare const enum VNodeJournalOpCode {
1088
- SetText = 1,// ------ [SetAttribute, target, text]
1089
- SetAttribute = 2,// - [SetAttribute, target, ...(key, values)]]
1090
- HoistStyles = 3,// -- [HoistStyles, document]
1091
- Remove = 4,// ------- [Remove, target(parent), ...nodes]
1092
- RemoveAll = 5,// ------- [RemoveAll, target(parent)]
1093
- Insert = 6
856
+ NS_svg = 128,// http://www.w3.org/2000/svg
857
+ NS_math = 256
1094
858
  }
1095
859
 
1096
860
  /**