@qwik.dev/core 2.0.0-beta.13 → 2.0.0-beta.15

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 (53) hide show
  1. package/dist/backpatch/package.json +1 -1
  2. package/dist/build/package.json +1 -1
  3. package/dist/cli.mjs +5633 -0
  4. package/dist/core-internal.d.ts +123 -65
  5. package/dist/core.min.mjs +1 -1
  6. package/dist/core.mjs +548 -246
  7. package/dist/core.mjs.map +1 -1
  8. package/dist/core.prod.mjs +349 -198
  9. package/dist/loader/index.mjs +2 -2
  10. package/dist/loader/package.json +1 -1
  11. package/dist/optimizer.mjs +1290 -1294
  12. package/dist/qwikloader.debug.js +43 -10
  13. package/dist/qwikloader.js +1 -1
  14. package/dist/server.mjs +5 -5
  15. package/dist/starters/adapters/aws-lambda/package.json +2 -1
  16. package/dist/starters/adapters/azure-swa/package.json +2 -1
  17. package/dist/starters/adapters/bun/package.json +2 -1
  18. package/dist/starters/adapters/cloud-run/package.json +2 -1
  19. package/dist/starters/adapters/cloudflare-pages/package.json +2 -1
  20. package/dist/starters/adapters/deno/package.json +2 -1
  21. package/dist/starters/adapters/express/package.json +2 -1
  22. package/dist/starters/adapters/fastify/package.json +2 -1
  23. package/dist/starters/adapters/firebase/package.json +2 -1
  24. package/dist/starters/adapters/netlify-edge/package.json +2 -1
  25. package/dist/starters/adapters/node-server/package.json +2 -1
  26. package/dist/starters/adapters/ssg/package.json +2 -1
  27. package/dist/starters/adapters/vercel-edge/package.json +2 -1
  28. package/dist/starters/features/csr/package.json +1 -1
  29. package/dist/starters/features/storybook/.storybook/tsconfig.json +0 -1
  30. package/dist/starters/features/styled-vanilla-extract/package.json +2 -1
  31. package/dist/testing/index.d.ts +8 -9
  32. package/dist/testing/index.mjs +483 -222
  33. package/dist/testing/package.json +1 -1
  34. package/package.json +14 -48
  35. package/{qwik-cli.cjs → qwik-cli.mjs} +1 -1
  36. package/dist/backpatch/index.cjs +0 -6
  37. package/dist/build/index.cjs +0 -35
  38. package/dist/build/index.cjs.map +0 -7
  39. package/dist/build/index.dev.cjs +0 -37
  40. package/dist/build/index.dev.cjs.map +0 -7
  41. package/dist/build/index.prod.cjs +0 -37
  42. package/dist/build/index.prod.cjs.map +0 -7
  43. package/dist/cli.cjs +0 -12956
  44. package/dist/core.cjs +0 -13036
  45. package/dist/core.cjs.map +0 -1
  46. package/dist/core.prod.cjs +0 -6377
  47. package/dist/insights/index.qwik.cjs +0 -1
  48. package/dist/insights/vite/index.cjs +0 -1
  49. package/dist/loader/index.cjs +0 -4
  50. package/dist/optimizer.cjs +0 -217
  51. package/dist/preloader.cjs +0 -266
  52. package/dist/server.cjs +0 -3294
  53. package/dist/testing/index.cjs +0 -36225
@@ -89,20 +89,12 @@ declare interface AddRootFn {
89
89
 
90
90
  declare type AllEventKeys = keyof AllEventsMap;
91
91
 
92
- declare type AllEventMapRaw = HTMLElementEventMap & DocumentEventMap & WindowEventHandlersEventMap & {
93
- qidle: QwikIdleEvent;
94
- qinit: QwikInitEvent;
95
- qsymbol: QwikSymbolEvent;
96
- qvisible: QwikVisibleEvent;
97
- qviewtransition: QwikViewTransitionEvent;
98
- };
92
+ declare type AllEventMapRaw = QwikHTMLElementEventMap & QwikDocumentEventMap & QwikWindowEventMap;
99
93
 
100
94
  declare type AllEventsMap = Omit<AllEventMapRaw, keyof EventCorrectionMap> & EventCorrectionMap;
101
95
 
102
96
  declare type _AllowPlainQrl<Q> = QRLEventHandlerMulti<any, any> extends Q ? Q extends QRLEventHandlerMulti<infer EV, infer EL> ? Q | (EL extends Element ? EventHandler<EV, EL> : never) : Q : Q extends QRL<infer U> ? Q | U : NonNullable<Q> extends never ? Q : QRL<Q> | Q;
103
97
 
104
- declare type AllPascalEventMaps = PascalMap<AllEventsMap>;
105
-
106
98
  declare type AllSignalFlags = SignalFlags | WrappedSignalFlags | SerializationSignalFlags;
107
99
 
108
100
  /**
@@ -375,7 +367,8 @@ export declare interface AsyncComputedReadonlySignal<T = unknown> extends Comput
375
367
  loading: boolean;
376
368
  /** The error that occurred while computing the signal. */
377
369
  error: Error | null;
378
- resolve(): Promise<T>;
370
+ /** A promise that resolves when the value is computed. */
371
+ promise(): Promise<T>;
379
372
  }
380
373
 
381
374
  /** @public */
@@ -388,14 +381,15 @@ export declare type AsyncComputedReturnType<T> = T extends Promise<infer T> ? As
388
381
  *
389
382
  * # ================================
390
383
  */
391
- declare class AsyncComputedSignalImpl<T> extends ComputedSignalImpl<T, AsyncComputeQRL<T>> implements BackRef {
384
+ declare class AsyncComputedSignalImpl<T> extends ComputedSignalImpl<T | undefined, AsyncComputeQRL<T>> implements BackRef {
392
385
  $untrackedLoading$: boolean;
393
- $untrackedError$: Error | null;
394
- $loadingEffects$: null | Set<EffectSubscription>;
395
- $errorEffects$: null | Set<EffectSubscription>;
386
+ $untrackedError$: Error | undefined;
387
+ $loadingEffects$: undefined | Set<EffectSubscription>;
388
+ $errorEffects$: undefined | Set<EffectSubscription>;
396
389
  $destroy$: NoSerialize<() => void> | null;
397
- private $promiseValue$;
398
- [_EFFECT_BACK_REF]: Map<EffectProperty | string, EffectSubscription> | null;
390
+ $promiseValue$: T | typeof NEEDS_COMPUTATION;
391
+ private $promise$;
392
+ [_EFFECT_BACK_REF]: Map<EffectProperty | string, EffectSubscription> | undefined;
399
393
  constructor(container: Container | null, fn: AsyncComputeQRL<T>, flags?: SignalFlags | SerializationSignalFlags);
400
394
  /**
401
395
  * Loading is true if the signal is still waiting for the promise to resolve, false if the promise
@@ -405,12 +399,14 @@ declare class AsyncComputedSignalImpl<T> extends ComputedSignalImpl<T, AsyncComp
405
399
  set untrackedLoading(value: boolean);
406
400
  get untrackedLoading(): boolean;
407
401
  /** The error that occurred when the signal was resolved. */
408
- get error(): Error | null;
409
- set untrackedError(value: Error | null);
410
- get untrackedError(): Error | null;
402
+ get error(): Error | undefined;
403
+ set untrackedError(value: Error | undefined);
404
+ get untrackedError(): Error | undefined;
411
405
  invalidate(): void;
412
- resolve(): Promise<T>;
413
- $computeIfNeeded$(): boolean | undefined;
406
+ promise(): Promise<T>;
407
+ $computeIfNeeded$(): Promise<void> | undefined;
408
+ private $promiseComputation$;
409
+ private setValue;
414
410
  }
415
411
 
416
412
  declare type AsyncComputeQRL<T> = QRLInternal<AsyncComputedFn<T>>;
@@ -425,7 +421,7 @@ declare type Augmented<E, A = {}> = Prettify<Filtered<E, A> & A>;
425
421
 
426
422
  /** Class for back reference to the EffectSubscription */
427
423
  declare abstract class BackRef {
428
- [_EFFECT_BACK_REF]: Map<EffectProperty | string, EffectSubscription> | null;
424
+ [_EFFECT_BACK_REF]: Map<EffectProperty | string, EffectSubscription> | undefined;
429
425
  }
430
426
 
431
427
  declare type BivariantQrlFn<ARGS extends any[], RETURN> = {
@@ -659,7 +655,7 @@ declare class ComputedSignalImpl<T, S extends QRLInternal = ComputeQRL<T>> exten
659
655
  */
660
656
  $computeQrl$: S;
661
657
  $flags$: SignalFlags | SerializationSignalFlags;
662
- [_EFFECT_BACK_REF]: Map<EffectProperty | string, EffectSubscription> | null;
658
+ [_EFFECT_BACK_REF]: Map<EffectProperty | string, EffectSubscription> | undefined;
663
659
  constructor(container: Container | null, fn: S, flags?: SignalFlags | SerializationSignalFlags);
664
660
  invalidate(): void;
665
661
  /**
@@ -954,10 +950,10 @@ export declare const createComputedQrl: <T>(qrl: QRL<() => T>, options?: Compute
954
950
  */
955
951
  export declare const createContextId: <STATE = unknown>(name: string) => ContextId<STATE>;
956
952
 
957
- declare const createScheduler: (container: Container, journalFlush: () => void, choreQueue: ChoreArray, blockedChores: Set<Chore>, runningChores: Set<Chore>) => {
953
+ declare const createScheduler: (container: Container, journalFlush: () => void, choreQueue: ChoreArray, blockedChores: ChoreArray, runningChores: Set<Chore>) => {
958
954
  (type: ChoreType.QRL_RESOLVE, ignore: null, target: ComputeQRL<any> | AsyncComputeQRL<any>): Chore<ChoreType.QRL_RESOLVE>;
959
955
  (type: ChoreType.WAIT_FOR_QUEUE): Chore<ChoreType.WAIT_FOR_QUEUE>;
960
- (type: ChoreType.RECOMPUTE_AND_SCHEDULE_EFFECTS, host: HostElement | null, target: Signal<unknown> | StoreTarget, effects: Set<EffectSubscription> | null): Chore<ChoreType.RECOMPUTE_AND_SCHEDULE_EFFECTS>;
956
+ (type: ChoreType.RECOMPUTE_AND_SCHEDULE_EFFECTS, host: HostElement | undefined, target: Signal<unknown> | StoreTarget, effects: Set<EffectSubscription> | undefined): Chore<ChoreType.RECOMPUTE_AND_SCHEDULE_EFFECTS>;
961
957
  (type: ChoreType.TASK | ChoreType.VISIBLE, task: Task): Chore<ChoreType.TASK | ChoreType.VISIBLE>;
962
958
  (type: ChoreType.RUN_QRL, host: HostElement, target: QRLInternal<(...args: unknown[]) => unknown>, args: unknown[]): Chore<ChoreType.RUN_QRL>;
963
959
  (type: ChoreType.COMPONENT, host: HostElement, qrl: QRLInternal<OnRenderFn<unknown>>, props: Props | null): Chore<ChoreType.COMPONENT>;
@@ -1004,7 +1000,6 @@ export declare interface CSSProperties extends CSS_2.Properties<string | number>
1004
1000
  [v: `--${string}`]: string | number | undefined;
1005
1001
  }
1006
1002
 
1007
- /** @public */
1008
1003
  declare interface DescriptorBase<T = unknown, B = unknown> extends BackRef {
1009
1004
  $flags$: number;
1010
1005
  $index$: number;
@@ -1171,11 +1166,10 @@ export declare const event$: <T>(qrl: T) => QRL_2<T>;
1171
1166
 
1172
1167
  declare type EventCorrectionMap = {
1173
1168
  auxclick: PointerEvent;
1174
- beforetoggle: CorrectedToggleEvent;
1175
1169
  click: PointerEvent;
1176
1170
  dblclick: PointerEvent;
1177
1171
  input: InputEvent;
1178
- toggle: CorrectedToggleEvent;
1172
+ qvisible: QwikVisibleEvent;
1179
1173
  };
1180
1174
 
1181
1175
  declare type EventFromName<T extends string> = LcEvent<T>;
@@ -1576,6 +1570,14 @@ declare interface JsxDevOpts {
1576
1570
  columnNumber: number;
1577
1571
  }
1578
1572
 
1573
+ declare type JSXDocumentEvents = {
1574
+ [K in keyof QwikDocumentEventMap as `document:on${PascalCaseName<K>}$`]: QwikDocumentEventMap[K];
1575
+ };
1576
+
1577
+ declare type JSXElementEvents = {
1578
+ [K in keyof QwikHTMLElementEventMap as `on${PascalCaseName<K>}$`]: QwikHTMLElementEventMap[K];
1579
+ };
1580
+
1579
1581
  /**
1580
1582
  * A JSX Node, an internal structure. You probably want to use `JSXOutput` instead.
1581
1583
  *
@@ -1589,6 +1591,21 @@ export declare interface JSXNode<T extends string | FunctionComponent | unknown
1589
1591
  dev?: DevJSX;
1590
1592
  }
1591
1593
 
1594
+ declare class JSXNodeImpl<T = unknown> implements JSXNodeInternal<T> {
1595
+ type: T;
1596
+ toSort: boolean;
1597
+ key: string | null;
1598
+ varProps: Props;
1599
+ constProps: Props | null;
1600
+ children: JSXChildren;
1601
+ dev?: DevJSX & {
1602
+ stack: string | undefined;
1603
+ };
1604
+ _proxy: Props | null;
1605
+ constructor(type: T, varProps?: Props | null, constProps?: Props | null, children?: JSXChildren, key?: string | number | null, toSort?: boolean, dev?: DevJSX);
1606
+ get props(): T extends FunctionComponent<infer PROPS> ? PROPS : Props;
1607
+ }
1608
+
1592
1609
  /**
1593
1610
  * The internal representation of a JSX Node.
1594
1611
  *
@@ -1688,6 +1705,10 @@ export declare const _jsxSplit: <T extends string | FunctionComponent<any>>(type
1688
1705
  /** @public */
1689
1706
  export declare type JSXTagName = keyof HTMLElementTagNameMap | Omit<string, keyof HTMLElementTagNameMap>;
1690
1707
 
1708
+ declare type JSXWindowEvents = {
1709
+ [K in keyof QwikWindowEventMap as `window:on${PascalCaseName<K>}$`]: QwikWindowEventMap[K];
1710
+ };
1711
+
1691
1712
  /**
1692
1713
  * The names of events that Qwik knows about. They are all lowercase, but on the JSX side, they are
1693
1714
  * PascalCase for nicer DX. (`onAuxClick$` vs `onauxclick$`)
@@ -1788,6 +1809,12 @@ export declare type NativeUIEvent = UIEvent;
1788
1809
  /** @public @deprecated Use `WheelEvent` and use the second argument to the handler function for the current event target */
1789
1810
  export declare type NativeWheelEvent = WheelEvent;
1790
1811
 
1812
+ /**
1813
+ * Special value used to mark that a given signal needs to be computed. This is essentially a
1814
+ * "marked as dirty" flag.
1815
+ */
1816
+ declare const NEEDS_COMPUTATION: any;
1817
+
1791
1818
  declare interface NodePropData {
1792
1819
  $scopedStyleIdPrefix$: string | null;
1793
1820
  $isConst$: boolean;
@@ -1867,6 +1894,8 @@ export declare interface OnVisibleTaskOptions {
1867
1894
  /** @internal */
1868
1895
  declare const _OWNER: unique symbol;
1869
1896
 
1897
+ declare type PascalCaseName<T extends string> = T extends keyof LcEventNameMap ? LcEventNameMap[T] : Capitalize<T>;
1898
+
1870
1899
  /**
1871
1900
  * Capitalized multi-word names of some known events so we have nicer qwik attributes. For example,
1872
1901
  * instead of `oncompositionEnd$` we can use `onCompositionEnd$`. Note that any capitalization
@@ -1874,15 +1903,7 @@ declare const _OWNER: unique symbol;
1874
1903
  *
1875
1904
  * Add any multi-word event names to this list. Single word events are automatically converted.
1876
1905
  */
1877
- declare type PascalCaseNames = 'AnimationEnd' | 'AnimationIteration' | 'AnimationStart' | 'AuxClick' | 'BeforeToggle' | 'CanPlay' | 'CanPlayThrough' | 'CompositionEnd' | 'CompositionStart' | 'CompositionUpdate' | 'ContextMenu' | 'DblClick' | 'DragEnd' | 'DragEnter' | 'DragExit' | 'DragLeave' | 'DragOver' | 'DragStart' | 'DurationChange' | 'FocusIn' | 'FocusOut' | 'FullscreenChange' | 'FullscreenError' | 'GotPointerCapture' | 'KeyDown' | 'KeyPress' | 'KeyUp' | 'LoadedData' | 'LoadedMetadata' | 'LoadEnd' | 'LoadStart' | 'LostPointerCapture' | 'MouseDown' | 'MouseEnter' | 'MouseLeave' | 'MouseMove' | 'MouseOut' | 'MouseOver' | 'MouseUp' | 'PointerCancel' | 'PointerDown' | 'PointerEnter' | 'PointerLeave' | 'PointerMove' | 'PointerOut' | 'PointerOver' | 'PointerUp' | 'QIdle' | 'QInit' | 'QSymbol' | 'QVisible' | 'RateChange' | 'RateChange' | 'SecurityPolicyViolation' | 'SelectionChange' | 'SelectStart' | 'TimeUpdate' | 'TouchCancel' | 'TouchEnd' | 'TouchMove' | 'TouchStart' | 'TransitionCancel' | 'TransitionEnd' | 'TransitionRun' | 'TransitionStart' | 'VisibilityChange' | 'VolumeChange';
1878
-
1879
- /**
1880
- * Convert an event map to PascalCase. For example, `HTMLElementEventMap` contains lowercase keys,
1881
- * so this will capitalize them, and use the `LcEventNameMap` for multi-word events names.
1882
- */
1883
- declare type PascalMap<M> = {
1884
- [K in Extract<keyof M, string> as K extends keyof LcEventNameMap ? LcEventNameMap[K] : Capitalize<K>]: M[K];
1885
- };
1906
+ declare type PascalCaseNames = 'AnimationEnd' | 'AnimationIteration' | 'AnimationStart' | 'AuxClick' | 'BeforeToggle' | 'CanPlay' | 'CanPlayThrough' | 'CompositionEnd' | 'CompositionStart' | 'CompositionUpdate' | 'ContextMenu' | 'DblClick' | 'DragEnd' | 'DragEnter' | 'DragExit' | 'DragLeave' | 'DragOver' | 'DragStart' | 'DurationChange' | 'FocusIn' | 'FocusOut' | 'FullscreenChange' | 'FullscreenError' | 'GotPointerCapture' | 'KeyDown' | 'KeyPress' | 'KeyUp' | 'LoadedData' | 'LoadedMetadata' | 'LoadEnd' | 'LoadStart' | 'LostPointerCapture' | 'MouseDown' | 'MouseEnter' | 'MouseLeave' | 'MouseMove' | 'MouseOut' | 'MouseOver' | 'MouseUp' | 'PointerCancel' | 'PointerDown' | 'PointerEnter' | 'PointerLeave' | 'PointerMove' | 'PointerOut' | 'PointerOver' | 'PointerUp' | 'QIdle' | 'QInit' | 'QResume' | 'QSymbol' | 'QVisible' | 'QViewTransition' | 'RateChange' | 'RateChange' | 'SecurityPolicyViolation' | 'SelectionChange' | 'SelectStart' | 'TimeUpdate' | 'TouchCancel' | 'TouchEnd' | 'TouchMove' | 'TouchStart' | 'TransitionCancel' | 'TransitionEnd' | 'TransitionRun' | 'TransitionStart' | 'VisibilityChange' | 'VolumeChange';
1886
1907
 
1887
1908
  declare type PopoverTargetAction = 'hide' | 'show' | 'toggle';
1888
1909
 
@@ -1984,6 +2005,9 @@ export declare type PropFunction<T> = QRL<T>;
1984
2005
 
1985
2006
  declare type Props = Record<string, unknown>;
1986
2007
 
2008
+ /** @internal */
2009
+ declare const _PROPS_HANDLER: unique symbol;
2010
+
1987
2011
  /**
1988
2012
  * Infers `Props` from the component or tag.
1989
2013
  *
@@ -2007,7 +2031,21 @@ declare type PropsProxy = {
2007
2031
  [_VAR_PROPS]: Props;
2008
2032
  [_CONST_PROPS]: Props | null;
2009
2033
  [_OWNER]: JSXNodeInternal;
2010
- };
2034
+ [_PROPS_HANDLER]: PropsProxyHandler;
2035
+ } & Record<string | symbol, unknown>;
2036
+
2037
+ declare class PropsProxyHandler implements ProxyHandler<any> {
2038
+ owner: JSXNodeImpl;
2039
+ $effects$: undefined | Map<string | symbol, Set<EffectSubscription>>;
2040
+ $container$: Container | null;
2041
+ constructor(owner: JSXNodeImpl);
2042
+ get(_: any, prop: string | symbol): any;
2043
+ set(_: any, prop: string | symbol, value: any): boolean;
2044
+ deleteProperty(_: any, prop: string | symbol): boolean;
2045
+ has(_: any, prop: string | symbol): boolean;
2046
+ getOwnPropertyDescriptor(_: any, p: string | symbol): PropertyDescriptor | undefined;
2047
+ ownKeys(): string[];
2048
+ }
2011
2049
 
2012
2050
  declare type PropType<T extends object, P extends keyof T> = P extends keyof T ? T[P] : 'value' extends keyof T ? T['value'] : never;
2013
2051
 
@@ -2025,7 +2063,7 @@ export declare interface _QDocument extends Document {
2025
2063
  }
2026
2064
 
2027
2065
  declare interface QElement extends Element {
2028
- qDispatchEvent?: (event: Event, scope: QwikLoaderEventScope) => boolean;
2066
+ qDispatchEvent?: (event: Event, scope: QwikLoaderEventScope) => ValueOrPromise<unknown>;
2029
2067
  vNode?: _VNode;
2030
2068
  }
2031
2069
 
@@ -2161,7 +2199,7 @@ export declare type QRL<TYPE = unknown> = {
2161
2199
  getCaptured(): unknown[] | null;
2162
2200
  getSymbol(): string;
2163
2201
  getHash(): string;
2164
- dev: QRLDev | null;
2202
+ dev?: QRLDev | null;
2165
2203
  } & BivariantQrlFn<QrlArgs<TYPE>, QrlReturn<TYPE>>;
2166
2204
 
2167
2205
  /**
@@ -2195,7 +2233,7 @@ export declare const qrlDEV: <T = any>(chunkOrFn: string | (() => Promise<any>),
2195
2233
  *
2196
2234
  * @public
2197
2235
  */
2198
- export declare type QRLEventHandlerMulti<EV extends Event, EL> = QRL<EventHandler<EV, EL>> | undefined | null | QRLEventHandlerMulti<EV, EL>[] | EventHandler<EV, EL>;
2236
+ export declare type QRLEventHandlerMulti<EV extends Event, EL> = QRL<EventHandler<EV, EL>> | undefined | null | QRLEventHandlerMulti<EV, EL>[];
2199
2237
 
2200
2238
  declare type QRLInternal<TYPE = unknown> = QRL<TYPE> & QRLInternalMethods<TYPE>;
2201
2239
 
@@ -2282,13 +2320,19 @@ export declare type QwikClipboardEvent<T = Element> = NativeClipboardEvent;
2282
2320
  /** @public @deprecated Use `CompositionEvent` and use the second argument to the handler function for the current event target */
2283
2321
  export declare type QwikCompositionEvent<T = Element> = NativeCompositionEvent;
2284
2322
 
2285
- declare type QwikCustomEvents<EL> = {};
2286
-
2287
2323
  declare type QwikCustomEventsPlain<EL> = {
2288
2324
  /** The handler */
2289
2325
  [key: `${'document:' | 'window:' | ''}on${string}$`]: QRLEventHandlerMulti<Event, EL> | EventHandler<Event, EL>;
2290
2326
  };
2291
2327
 
2328
+ declare type QwikDocumentEventMap = Omit<DocumentEventMap, keyof QwikHTMLElementEventMap> & Omit<QwikHTMLElementEventMap, 'qvisible' | 'focus' | 'blur'> & {
2329
+ qidle: QwikIdleEvent;
2330
+ qinit: QwikInitEvent;
2331
+ qsymbol: QwikSymbolEvent;
2332
+ qresume: QwikResumeEvent;
2333
+ qviewtransition: QwikViewTransitionEvent;
2334
+ };
2335
+
2292
2336
  /** @public */
2293
2337
  export declare interface QwikDOMAttributes extends DOMAttributes<Element> {
2294
2338
  }
@@ -2297,11 +2341,13 @@ export declare interface QwikDOMAttributes extends DOMAttributes<Element> {
2297
2341
  export declare type QwikDragEvent<T = Element> = NativeDragEvent;
2298
2342
 
2299
2343
  /** @public */
2300
- declare type QwikEvents<EL, Plain extends boolean = true> = Plain extends true ? QwikKnownEventsPlain<EL> & QwikCustomEventsPlain<EL> : QwikKnownEvents<EL> & QwikCustomEvents<EL>;
2344
+ declare type QwikEvents<EL, Plain extends boolean = true> = Plain extends true ? QwikKnownEventsPlain<EL> & QwikCustomEventsPlain<EL> : QwikKnownEvents<EL>;
2301
2345
 
2302
2346
  /** @public @deprecated Use `FocusEvent` and use the second argument to the handler function for the current event target */
2303
2347
  export declare type QwikFocusEvent<T = Element> = NativeFocusEvent;
2304
2348
 
2349
+ declare type QwikHTMLElementEventMap = Omit<HTMLElementEventMap, keyof EventCorrectionMap> & EventCorrectionMap;
2350
+
2305
2351
  /**
2306
2352
  * The DOM props without plain handlers, for use inside functions
2307
2353
  *
@@ -2372,15 +2418,17 @@ declare namespace QwikJSX {
2372
2418
  export { QwikJSX as JSX }
2373
2419
  export { QwikJSX }
2374
2420
 
2421
+ declare type QwikJSXEvents = JSXElementEvents & JSXDocumentEvents & JSXWindowEvents;
2422
+
2375
2423
  /** @public @deprecated Use `KeyboardEvent` and use the second argument to the handler function for the current event target */
2376
2424
  export declare type QwikKeyboardEvent<T = Element> = NativeKeyboardEvent;
2377
2425
 
2378
2426
  declare type QwikKnownEvents<EL> = {
2379
- [K in keyof AllPascalEventMaps as `${'document:' | 'window:' | ''}on${K}$`]?: QRLEventHandlerMulti<AllPascalEventMaps[K], EL>;
2427
+ [K in keyof QwikJSXEvents]?: QRLEventHandlerMulti<QwikJSXEvents[K], EL>;
2380
2428
  };
2381
2429
 
2382
2430
  declare type QwikKnownEventsPlain<EL> = {
2383
- [K in keyof AllPascalEventMaps as `${'document:' | 'window:' | ''}on${K}$`]?: QRLEventHandlerMulti<AllPascalEventMaps[K], EL> | EventHandler<AllPascalEventMaps[K], EL>;
2431
+ [K in keyof QwikJSXEvents]?: QRLEventHandlerMulti<QwikJSXEvents[K], EL> | EventHandler<QwikJSXEvents[K], EL>;
2384
2432
  };
2385
2433
 
2386
2434
  declare type QwikLoaderEventScope = '-document' | '-window' | '';
@@ -2446,6 +2494,12 @@ export declare type QwikMouseEvent<T = Element, E = NativeMouseEvent> = E;
2446
2494
  /** @public @deprecated Use `PointerEvent` and use the second argument to the handler function for the current event target */
2447
2495
  export declare type QwikPointerEvent<T = Element> = NativePointerEvent;
2448
2496
 
2497
+ /**
2498
+ * Emitted by qwik-core on the container element when it resumes from a paused state. You cannot put
2499
+ * a Qwik event handler on the container so you must listen on the document instead. @public
2500
+ */
2501
+ export declare type QwikResumeEvent = CustomEvent<{}>;
2502
+
2449
2503
  /** @public @deprecated Use `SubmitEvent` and use the second argument to the handler function for the current event target */
2450
2504
  export declare type QwikSubmitEvent<T = Element> = SubmitEvent;
2451
2505
 
@@ -2476,7 +2530,7 @@ declare interface QwikSymbol {
2476
2530
  captureNames?: string[];
2477
2531
  }
2478
2532
 
2479
- /** Emitted by qwik-loader when a module was lazily loaded @public */
2533
+ /** Emitted by qwik-loader on document when a module was lazily loaded @public */
2480
2534
  export declare type QwikSymbolEvent = CustomEvent<{
2481
2535
  symbol: string;
2482
2536
  element: Element;
@@ -2497,14 +2551,19 @@ export declare type QwikTransitionEvent<T = Element> = NativeTransitionEvent;
2497
2551
  export declare type QwikUIEvent<T = Element> = NativeUIEvent;
2498
2552
 
2499
2553
  /** Emitted by qwik-core on document when the a view transition start @public */
2500
- declare type QwikViewTransitionEvent = CustomEvent<ViewTransition>;
2554
+ export declare type QwikViewTransitionEvent = CustomEvent<ViewTransition>;
2501
2555
 
2502
- /** Emitted by qwik-loader when an element becomes visible. Used by `useVisibleTask$` @public */
2556
+ /**
2557
+ * Handled by qwik-loader when an element becomes visible. Used by `useVisibleTask$`. Does not
2558
+ * bubble. @public
2559
+ */
2503
2560
  export declare type QwikVisibleEvent = CustomEvent<IntersectionObserverEntry>;
2504
2561
 
2505
2562
  /** @public @deprecated Use `WheelEvent` and use the second argument to the handler function for the current event target */
2506
2563
  export declare type QwikWheelEvent<T = Element> = NativeWheelEvent;
2507
2564
 
2565
+ declare type QwikWindowEventMap = Omit<WindowEventHandlersEventMap, keyof QwikDocumentEventMap> & QwikDocumentEventMap;
2566
+
2508
2567
  /** @public */
2509
2568
  export declare interface ReadonlySignal<T = unknown> {
2510
2569
  readonly value: T;
@@ -2955,7 +3014,7 @@ declare const enum SignalFlags {
2955
3014
  declare class SignalImpl<T = any> implements Signal<T> {
2956
3015
  $untrackedValue$: T;
2957
3016
  /** Store a list of effects which are dependent on this signal. */
2958
- $effects$: null | Set<EffectSubscription>;
3017
+ $effects$: undefined | Set<EffectSubscription>;
2959
3018
  $container$: Container | null;
2960
3019
  $wrappedSignal$: WrappedSignalImpl<T> | null;
2961
3020
  constructor(container: Container | null, value: T);
@@ -3652,18 +3711,11 @@ declare type SymbolToChunkResolver = (symbol: string) => string;
3652
3711
  export declare const sync$: <T extends Function>(fn: T) => SyncQRL<T>;
3653
3712
 
3654
3713
  /** @public */
3655
- export declare interface SyncQRL<TYPE extends Function = any> extends QRL<TYPE> {
3714
+ export declare type SyncQRL<TYPE extends Function> = QRL<TYPE> & {
3656
3715
  __brand__SyncQRL__: TYPE;
3657
- /**
3658
- * Resolve the QRL of closure and invoke it.
3659
- *
3660
- * @param args - Closure arguments.
3661
- * @returns A return value of the closure.
3662
- */
3663
- (...args: TYPE extends (...args: infer ARGS) => any ? ARGS : never): TYPE extends (...args: any[]) => infer RETURN ? RETURN : never;
3664
3716
  resolved: TYPE;
3665
- dev: QRLDev | null;
3666
- }
3717
+ dev?: QRLDev | null;
3718
+ } & BivariantQrlFn<QrlArgs<TYPE>, QrlReturn<TYPE>>;
3667
3719
 
3668
3720
  declare type TableCellSpecialAttrs = {
3669
3721
  align?: 'left' | 'center' | 'right' | 'justify' | 'char' | undefined;
@@ -3700,6 +3752,12 @@ declare const TaskEvent = "qTask";
3700
3752
  /** @public */
3701
3753
  export declare type TaskFn = (ctx: TaskCtx) => ValueOrPromise<void | (() => void)>;
3702
3754
 
3755
+ /** @public */
3756
+ export declare interface TaskOptions {
3757
+ /** Block the rendering of the component until the task completes. Default is `true` */
3758
+ deferUpdates?: boolean;
3759
+ }
3760
+
3703
3761
  /** @internal */
3704
3762
  export declare class _TextVNode extends _VNode {
3705
3763
  textNode: Text | null;
@@ -4373,10 +4431,10 @@ export declare const useStylesScopedQrl: (styles: QRL<string>) => UseStylesScope
4373
4431
  * @public
4374
4432
  * @see `Tracker`
4375
4433
  */
4376
- export declare const useTask$: (fn: TaskFn) => void;
4434
+ export declare const useTask$: (fn: TaskFn, opts?: TaskOptions) => void;
4377
4435
 
4378
4436
  /** @internal */
4379
- export declare const useTaskQrl: (qrl: QRL<TaskFn>) => void;
4437
+ export declare const useTaskQrl: (qrl: QRL<TaskFn>, opts?: TaskOptions) => void;
4380
4438
 
4381
4439
  /**
4382
4440
  * ```tsx
@@ -4427,7 +4485,7 @@ export declare const _VAR_PROPS: unique symbol;
4427
4485
  export declare const _verifySerializable: <T>(value: T, preMessage?: string) => T;
4428
4486
 
4429
4487
  /**
4430
- * 2.0.0-beta.13-dev+cb19ff7
4488
+ * 2.0.0-beta.15-dev+920f1a4
4431
4489
  *
4432
4490
  * @public
4433
4491
  */
@@ -4611,8 +4669,8 @@ declare class WrappedSignalImpl<T> extends SignalImpl<T> implements BackRef {
4611
4669
  $func$: (...args: any[]) => T;
4612
4670
  $funcStr$: string | null;
4613
4671
  $flags$: AllSignalFlags;
4614
- $hostElement$: HostElement | null;
4615
- [_EFFECT_BACK_REF]: Map<EffectProperty | string, EffectSubscription> | null;
4672
+ $hostElement$: HostElement | undefined;
4673
+ [_EFFECT_BACK_REF]: Map<EffectProperty | string, EffectSubscription> | undefined;
4616
4674
  constructor(container: Container | null, fn: (...args: any[]) => T, args: any[], fnStr: string | null, flags?: SignalFlags);
4617
4675
  invalidate(): void;
4618
4676
  /**