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

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 (52) 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 +76 -50
  5. package/dist/core.min.mjs +1 -1
  6. package/dist/core.mjs +179 -82
  7. package/dist/core.mjs.map +1 -1
  8. package/dist/core.prod.mjs +125 -71
  9. package/dist/loader/index.mjs +2 -2
  10. package/dist/loader/package.json +1 -1
  11. package/dist/optimizer.mjs +1283 -1280
  12. package/dist/qwikloader.debug.js +5 -0
  13. package/dist/qwikloader.js +1 -1
  14. package/dist/server.mjs +4 -4
  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/storybook/.storybook/tsconfig.json +0 -1
  29. package/dist/starters/features/styled-vanilla-extract/package.json +2 -1
  30. package/dist/testing/index.d.ts +2 -3
  31. package/dist/testing/index.mjs +188 -82
  32. package/dist/testing/package.json +1 -1
  33. package/package.json +14 -48
  34. package/{qwik-cli.cjs → qwik-cli.mjs} +1 -1
  35. package/dist/backpatch/index.cjs +0 -6
  36. package/dist/build/index.cjs +0 -35
  37. package/dist/build/index.cjs.map +0 -7
  38. package/dist/build/index.dev.cjs +0 -37
  39. package/dist/build/index.dev.cjs.map +0 -7
  40. package/dist/build/index.prod.cjs +0 -37
  41. package/dist/build/index.prod.cjs.map +0 -7
  42. package/dist/cli.cjs +0 -12956
  43. package/dist/core.cjs +0 -13036
  44. package/dist/core.cjs.map +0 -1
  45. package/dist/core.prod.cjs +0 -6377
  46. package/dist/insights/index.qwik.cjs +0 -1
  47. package/dist/insights/vite/index.cjs +0 -1
  48. package/dist/loader/index.cjs +0 -4
  49. package/dist/optimizer.cjs +0 -217
  50. package/dist/preloader.cjs +0 -266
  51. package/dist/server.cjs +0 -3294
  52. 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,13 +381,14 @@ 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
386
  $untrackedError$: Error | null;
394
387
  $loadingEffects$: null | Set<EffectSubscription>;
395
388
  $errorEffects$: null | Set<EffectSubscription>;
396
389
  $destroy$: NoSerialize<() => void> | null;
397
- private $promiseValue$;
390
+ $promiseValue$: T | typeof NEEDS_COMPUTATION;
391
+ private $promise$;
398
392
  [_EFFECT_BACK_REF]: Map<EffectProperty | string, EffectSubscription> | null;
399
393
  constructor(container: Container | null, fn: AsyncComputeQRL<T>, flags?: SignalFlags | SerializationSignalFlags);
400
394
  /**
@@ -409,8 +403,10 @@ declare class AsyncComputedSignalImpl<T> extends ComputedSignalImpl<T, AsyncComp
409
403
  set untrackedError(value: Error | null);
410
404
  get untrackedError(): Error | null;
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>>;
@@ -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
  *
@@ -1688,6 +1690,10 @@ export declare const _jsxSplit: <T extends string | FunctionComponent<any>>(type
1688
1690
  /** @public */
1689
1691
  export declare type JSXTagName = keyof HTMLElementTagNameMap | Omit<string, keyof HTMLElementTagNameMap>;
1690
1692
 
1693
+ declare type JSXWindowEvents = {
1694
+ [K in keyof QwikWindowEventMap as `window:on${PascalCaseName<K>}$`]: QwikWindowEventMap[K];
1695
+ };
1696
+
1691
1697
  /**
1692
1698
  * The names of events that Qwik knows about. They are all lowercase, but on the JSX side, they are
1693
1699
  * PascalCase for nicer DX. (`onAuxClick$` vs `onauxclick$`)
@@ -1788,6 +1794,12 @@ export declare type NativeUIEvent = UIEvent;
1788
1794
  /** @public @deprecated Use `WheelEvent` and use the second argument to the handler function for the current event target */
1789
1795
  export declare type NativeWheelEvent = WheelEvent;
1790
1796
 
1797
+ /**
1798
+ * Special value used to mark that a given signal needs to be computed. This is essentially a
1799
+ * "marked as dirty" flag.
1800
+ */
1801
+ declare const NEEDS_COMPUTATION: any;
1802
+
1791
1803
  declare interface NodePropData {
1792
1804
  $scopedStyleIdPrefix$: string | null;
1793
1805
  $isConst$: boolean;
@@ -1867,6 +1879,8 @@ export declare interface OnVisibleTaskOptions {
1867
1879
  /** @internal */
1868
1880
  declare const _OWNER: unique symbol;
1869
1881
 
1882
+ declare type PascalCaseName<T extends string> = T extends keyof LcEventNameMap ? LcEventNameMap[T] : Capitalize<T>;
1883
+
1870
1884
  /**
1871
1885
  * Capitalized multi-word names of some known events so we have nicer qwik attributes. For example,
1872
1886
  * instead of `oncompositionEnd$` we can use `onCompositionEnd$`. Note that any capitalization
@@ -1874,15 +1888,7 @@ declare const _OWNER: unique symbol;
1874
1888
  *
1875
1889
  * Add any multi-word event names to this list. Single word events are automatically converted.
1876
1890
  */
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
- };
1891
+ 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
1892
 
1887
1893
  declare type PopoverTargetAction = 'hide' | 'show' | 'toggle';
1888
1894
 
@@ -2025,7 +2031,7 @@ export declare interface _QDocument extends Document {
2025
2031
  }
2026
2032
 
2027
2033
  declare interface QElement extends Element {
2028
- qDispatchEvent?: (event: Event, scope: QwikLoaderEventScope) => boolean;
2034
+ qDispatchEvent?: (event: Event, scope: QwikLoaderEventScope) => ValueOrPromise<unknown>;
2029
2035
  vNode?: _VNode;
2030
2036
  }
2031
2037
 
@@ -2161,7 +2167,7 @@ export declare type QRL<TYPE = unknown> = {
2161
2167
  getCaptured(): unknown[] | null;
2162
2168
  getSymbol(): string;
2163
2169
  getHash(): string;
2164
- dev: QRLDev | null;
2170
+ dev?: QRLDev | null;
2165
2171
  } & BivariantQrlFn<QrlArgs<TYPE>, QrlReturn<TYPE>>;
2166
2172
 
2167
2173
  /**
@@ -2195,7 +2201,7 @@ export declare const qrlDEV: <T = any>(chunkOrFn: string | (() => Promise<any>),
2195
2201
  *
2196
2202
  * @public
2197
2203
  */
2198
- export declare type QRLEventHandlerMulti<EV extends Event, EL> = QRL<EventHandler<EV, EL>> | undefined | null | QRLEventHandlerMulti<EV, EL>[] | EventHandler<EV, EL>;
2204
+ export declare type QRLEventHandlerMulti<EV extends Event, EL> = QRL<EventHandler<EV, EL>> | undefined | null | QRLEventHandlerMulti<EV, EL>[];
2199
2205
 
2200
2206
  declare type QRLInternal<TYPE = unknown> = QRL<TYPE> & QRLInternalMethods<TYPE>;
2201
2207
 
@@ -2282,13 +2288,19 @@ export declare type QwikClipboardEvent<T = Element> = NativeClipboardEvent;
2282
2288
  /** @public @deprecated Use `CompositionEvent` and use the second argument to the handler function for the current event target */
2283
2289
  export declare type QwikCompositionEvent<T = Element> = NativeCompositionEvent;
2284
2290
 
2285
- declare type QwikCustomEvents<EL> = {};
2286
-
2287
2291
  declare type QwikCustomEventsPlain<EL> = {
2288
2292
  /** The handler */
2289
2293
  [key: `${'document:' | 'window:' | ''}on${string}$`]: QRLEventHandlerMulti<Event, EL> | EventHandler<Event, EL>;
2290
2294
  };
2291
2295
 
2296
+ declare type QwikDocumentEventMap = Omit<DocumentEventMap, keyof QwikHTMLElementEventMap> & Omit<QwikHTMLElementEventMap, 'qvisible' | 'focus' | 'blur'> & {
2297
+ qidle: QwikIdleEvent;
2298
+ qinit: QwikInitEvent;
2299
+ qsymbol: QwikSymbolEvent;
2300
+ qresume: QwikResumeEvent;
2301
+ qviewtransition: QwikViewTransitionEvent;
2302
+ };
2303
+
2292
2304
  /** @public */
2293
2305
  export declare interface QwikDOMAttributes extends DOMAttributes<Element> {
2294
2306
  }
@@ -2297,11 +2309,13 @@ export declare interface QwikDOMAttributes extends DOMAttributes<Element> {
2297
2309
  export declare type QwikDragEvent<T = Element> = NativeDragEvent;
2298
2310
 
2299
2311
  /** @public */
2300
- declare type QwikEvents<EL, Plain extends boolean = true> = Plain extends true ? QwikKnownEventsPlain<EL> & QwikCustomEventsPlain<EL> : QwikKnownEvents<EL> & QwikCustomEvents<EL>;
2312
+ declare type QwikEvents<EL, Plain extends boolean = true> = Plain extends true ? QwikKnownEventsPlain<EL> & QwikCustomEventsPlain<EL> : QwikKnownEvents<EL>;
2301
2313
 
2302
2314
  /** @public @deprecated Use `FocusEvent` and use the second argument to the handler function for the current event target */
2303
2315
  export declare type QwikFocusEvent<T = Element> = NativeFocusEvent;
2304
2316
 
2317
+ declare type QwikHTMLElementEventMap = Omit<HTMLElementEventMap, keyof EventCorrectionMap> & EventCorrectionMap;
2318
+
2305
2319
  /**
2306
2320
  * The DOM props without plain handlers, for use inside functions
2307
2321
  *
@@ -2372,15 +2386,17 @@ declare namespace QwikJSX {
2372
2386
  export { QwikJSX as JSX }
2373
2387
  export { QwikJSX }
2374
2388
 
2389
+ declare type QwikJSXEvents = JSXElementEvents & JSXDocumentEvents & JSXWindowEvents;
2390
+
2375
2391
  /** @public @deprecated Use `KeyboardEvent` and use the second argument to the handler function for the current event target */
2376
2392
  export declare type QwikKeyboardEvent<T = Element> = NativeKeyboardEvent;
2377
2393
 
2378
2394
  declare type QwikKnownEvents<EL> = {
2379
- [K in keyof AllPascalEventMaps as `${'document:' | 'window:' | ''}on${K}$`]?: QRLEventHandlerMulti<AllPascalEventMaps[K], EL>;
2395
+ [K in keyof QwikJSXEvents]?: QRLEventHandlerMulti<QwikJSXEvents[K], EL>;
2380
2396
  };
2381
2397
 
2382
2398
  declare type QwikKnownEventsPlain<EL> = {
2383
- [K in keyof AllPascalEventMaps as `${'document:' | 'window:' | ''}on${K}$`]?: QRLEventHandlerMulti<AllPascalEventMaps[K], EL> | EventHandler<AllPascalEventMaps[K], EL>;
2399
+ [K in keyof QwikJSXEvents]?: QRLEventHandlerMulti<QwikJSXEvents[K], EL> | EventHandler<QwikJSXEvents[K], EL>;
2384
2400
  };
2385
2401
 
2386
2402
  declare type QwikLoaderEventScope = '-document' | '-window' | '';
@@ -2446,6 +2462,12 @@ export declare type QwikMouseEvent<T = Element, E = NativeMouseEvent> = E;
2446
2462
  /** @public @deprecated Use `PointerEvent` and use the second argument to the handler function for the current event target */
2447
2463
  export declare type QwikPointerEvent<T = Element> = NativePointerEvent;
2448
2464
 
2465
+ /**
2466
+ * Emitted by qwik-core on the container element when it resumes from a paused state. You cannot put
2467
+ * a Qwik event handler on the container so you must listen on the document instead. @public
2468
+ */
2469
+ export declare type QwikResumeEvent = CustomEvent<{}>;
2470
+
2449
2471
  /** @public @deprecated Use `SubmitEvent` and use the second argument to the handler function for the current event target */
2450
2472
  export declare type QwikSubmitEvent<T = Element> = SubmitEvent;
2451
2473
 
@@ -2476,7 +2498,7 @@ declare interface QwikSymbol {
2476
2498
  captureNames?: string[];
2477
2499
  }
2478
2500
 
2479
- /** Emitted by qwik-loader when a module was lazily loaded @public */
2501
+ /** Emitted by qwik-loader on document when a module was lazily loaded @public */
2480
2502
  export declare type QwikSymbolEvent = CustomEvent<{
2481
2503
  symbol: string;
2482
2504
  element: Element;
@@ -2497,14 +2519,19 @@ export declare type QwikTransitionEvent<T = Element> = NativeTransitionEvent;
2497
2519
  export declare type QwikUIEvent<T = Element> = NativeUIEvent;
2498
2520
 
2499
2521
  /** Emitted by qwik-core on document when the a view transition start @public */
2500
- declare type QwikViewTransitionEvent = CustomEvent<ViewTransition>;
2522
+ export declare type QwikViewTransitionEvent = CustomEvent<ViewTransition>;
2501
2523
 
2502
- /** Emitted by qwik-loader when an element becomes visible. Used by `useVisibleTask$` @public */
2524
+ /**
2525
+ * Handled by qwik-loader when an element becomes visible. Used by `useVisibleTask$`. Does not
2526
+ * bubble. @public
2527
+ */
2503
2528
  export declare type QwikVisibleEvent = CustomEvent<IntersectionObserverEntry>;
2504
2529
 
2505
2530
  /** @public @deprecated Use `WheelEvent` and use the second argument to the handler function for the current event target */
2506
2531
  export declare type QwikWheelEvent<T = Element> = NativeWheelEvent;
2507
2532
 
2533
+ declare type QwikWindowEventMap = Omit<WindowEventHandlersEventMap, keyof QwikDocumentEventMap> & QwikDocumentEventMap;
2534
+
2508
2535
  /** @public */
2509
2536
  export declare interface ReadonlySignal<T = unknown> {
2510
2537
  readonly value: T;
@@ -3652,18 +3679,11 @@ declare type SymbolToChunkResolver = (symbol: string) => string;
3652
3679
  export declare const sync$: <T extends Function>(fn: T) => SyncQRL<T>;
3653
3680
 
3654
3681
  /** @public */
3655
- export declare interface SyncQRL<TYPE extends Function = any> extends QRL<TYPE> {
3682
+ export declare type SyncQRL<TYPE extends Function> = QRL<TYPE> & {
3656
3683
  __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
3684
  resolved: TYPE;
3665
- dev: QRLDev | null;
3666
- }
3685
+ dev?: QRLDev | null;
3686
+ } & BivariantQrlFn<QrlArgs<TYPE>, QrlReturn<TYPE>>;
3667
3687
 
3668
3688
  declare type TableCellSpecialAttrs = {
3669
3689
  align?: 'left' | 'center' | 'right' | 'justify' | 'char' | undefined;
@@ -3700,6 +3720,12 @@ declare const TaskEvent = "qTask";
3700
3720
  /** @public */
3701
3721
  export declare type TaskFn = (ctx: TaskCtx) => ValueOrPromise<void | (() => void)>;
3702
3722
 
3723
+ /** @public */
3724
+ export declare interface TaskOptions {
3725
+ /** Block the rendering of the component until the task completes. Default is `true` */
3726
+ deferUpdates?: boolean;
3727
+ }
3728
+
3703
3729
  /** @internal */
3704
3730
  export declare class _TextVNode extends _VNode {
3705
3731
  textNode: Text | null;
@@ -4373,10 +4399,10 @@ export declare const useStylesScopedQrl: (styles: QRL<string>) => UseStylesScope
4373
4399
  * @public
4374
4400
  * @see `Tracker`
4375
4401
  */
4376
- export declare const useTask$: (fn: TaskFn) => void;
4402
+ export declare const useTask$: (fn: TaskFn, opts?: TaskOptions) => void;
4377
4403
 
4378
4404
  /** @internal */
4379
- export declare const useTaskQrl: (qrl: QRL<TaskFn>) => void;
4405
+ export declare const useTaskQrl: (qrl: QRL<TaskFn>, opts?: TaskOptions) => void;
4380
4406
 
4381
4407
  /**
4382
4408
  * ```tsx
@@ -4427,7 +4453,7 @@ export declare const _VAR_PROPS: unique symbol;
4427
4453
  export declare const _verifySerializable: <T>(value: T, preMessage?: string) => T;
4428
4454
 
4429
4455
  /**
4430
- * 2.0.0-beta.13-dev+cb19ff7
4456
+ * 2.0.0-beta.14-dev+1e7496d
4431
4457
  *
4432
4458
  * @public
4433
4459
  */