@vue/runtime-vapor 3.6.0-beta.11 → 3.6.0-beta.13

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.
@@ -7,6 +7,8 @@ type NodeRef = string | Ref | ((ref: Element | VaporComponentInstance, refs: Rec
7
7
  type RefEl = Element | VaporComponentInstance | DynamicFragment | VaporFragment;
8
8
  type setRefFn = (el: RefEl, ref: NodeRef, refFor?: boolean, refKey?: string) => NodeRef | undefined;
9
9
  export declare function createTemplateRefSetter(): setRefFn;
10
+ export declare function setStaticTemplateRef(el: RefEl, ref: NodeRef, refFor?: boolean, refKey?: string): NodeRef | undefined;
11
+ export declare function setTemplateRefBinding(el: RefEl, getter: () => any, setter?: setRefFn, refFor?: boolean, refKey?: string): void;
10
12
  //#endregion
11
13
  //#region temp/packages/runtime-vapor/src/keepAlive.d.ts
12
14
  export interface VaporKeepAliveContext {
@@ -27,8 +29,11 @@ export declare class VaporFragment<T extends Block = Block> implements Transitio
27
29
  validityPending?: boolean;
28
30
  insert?: (parent: ParentNode, anchor: Node | null, transitionHooks?: TransitionHooks) => void;
29
31
  remove?: (parent?: ParentNode, transitionHooks?: TransitionHooks) => void;
30
- hydrate?: (...args: any[]) => void;
32
+ hydrate?(...args: any[]): void;
31
33
  setRef?: (instance: VaporComponentInstance, ref: NodeRef, refFor: boolean, refKey: string | undefined) => void;
34
+ onBeforeInsert?: ((nodes: Block) => void)[];
35
+ onBeforeRemove?: ((scope: EffectScope$1) => boolean)[];
36
+ onBeforeUpdate?: (() => void)[];
32
37
  onUpdated?: ((nodes?: Block) => void)[];
33
38
  readonly renderInstance: GenericComponentInstance | null;
34
39
  readonly slotOwner: VaporComponentInstance | null;
@@ -38,7 +43,9 @@ export declare class VaporFragment<T extends Block = Block> implements Transitio
38
43
  protected runWithRenderCtx<R>(fn: () => R, scope?: EffectScope$1): R;
39
44
  }
40
45
  declare class ForFragment extends VaporFragment<Block[]> {
46
+ resetListeners?: (() => void)[];
41
47
  constructor(nodes: Block[]);
48
+ onReset(fn: () => void): void;
42
49
  }
43
50
  export declare class DynamicFragment extends VaporFragment {
44
51
  anchor: Node;
@@ -47,21 +54,23 @@ export declare class DynamicFragment extends VaporFragment {
47
54
  pending?: {
48
55
  render?: BlockFn;
49
56
  key: any;
57
+ noScope: boolean;
50
58
  };
51
59
  anchorLabel?: string;
52
60
  keyed?: boolean;
53
61
  inTransition?: boolean;
54
- attrs?: Record<string, any>;
55
- constructor(anchorLabel?: string, keyed?: boolean, locate?: boolean);
56
- protected registerSlotBoundaryDirty(): void;
57
- update(render?: BlockFn, key?: any): void;
58
- renderBranch(render: BlockFn | undefined, transition: VaporTransitionHooks | undefined, parent: ParentNode | null, key: any): void;
59
- hydrate: (isEmpty?: boolean, isSlot?: boolean) => void;
62
+ hasFallthroughAttrs?: true;
63
+ constructor(anchorLabel?: string, keyed?: boolean, locate?: boolean, trackSlotBoundary?: boolean);
64
+ update(render?: BlockFn, key?: any, noScope?: boolean): void;
65
+ renderBranch(render: BlockFn | undefined, transition: VaporTransitionHooks | undefined, parent: ParentNode | null, key: any, noScope?: boolean): void;
66
+ hydrate(isEmpty?: boolean, isSlot?: boolean): void;
60
67
  }
61
68
  interface SlotBoundaryContext {
62
69
  parent: SlotBoundaryContext | null;
63
- getLocalFallback: () => BlockFn | undefined;
70
+ getFallback: () => BlockFn | undefined;
71
+ run<R>(fn: () => R, scope?: EffectScope$1): R;
64
72
  markDirty: () => void;
73
+ redirected?: SlotBoundaryContext;
65
74
  }
66
75
  export declare function isFragment(val: NonNullable<unknown>): val is VaporFragment;
67
76
  //#endregion
@@ -85,25 +94,24 @@ export declare function insert(block: Block, parent: ParentNode & {
85
94
  export declare function prepend(parent: ParentNode, ...blocks: Block[]): void;
86
95
  export declare function remove(block: Block, parent?: ParentNode): void;
87
96
  //#endregion
88
- //#region temp/packages/runtime-vapor/src/vdomInterop.d.ts
97
+ //#region temp/packages/runtime-vapor/src/vdomInteropState.d.ts
89
98
  declare const interopKey: unique symbol;
90
- export declare const vaporInteropPlugin: Plugin;
91
99
  //#endregion
92
100
  //#region temp/packages/runtime-vapor/src/componentProps.d.ts
93
- type RawProps = Record<string, () => unknown> & {
101
+ type RawProps = Record<string, unknown> & {
94
102
  $?: DynamicPropsSource[] & {
95
103
  [interopKey]?: boolean;
96
104
  };
97
105
  };
98
- type DynamicPropsSource = (() => Record<string, unknown>) | Record<string, () => unknown>;
106
+ type DynamicPropsSource = (() => Record<string, unknown>) | Record<string, unknown>;
99
107
  //#endregion
100
108
  //#region temp/packages/runtime-vapor/src/renderEffect.d.ts
101
109
  declare class RenderEffect extends ReactiveEffect {
102
- render: () => void;
103
110
  i: VaporComponentInstance | null;
104
111
  job: SchedulerJob;
105
- updateJob: SchedulerJob;
106
- constructor(render: () => void);
112
+ updateJob?: SchedulerJob;
113
+ render: () => void;
114
+ constructor(render: () => void, noLifecycle?: boolean);
107
115
  fn(): void;
108
116
  notify(): void;
109
117
  }
@@ -129,7 +137,7 @@ type DynamicSlotSource = StaticSlots | DynamicSlotFn;
129
137
  * 2. elements inherit the slot owner's scopeId
130
138
  */
131
139
  export declare function withVaporCtx(fn: Function): BlockFn;
132
- export declare function createSlot(name: string | (() => string), rawProps?: LooseRawProps | null, fallback?: VaporSlot, noSlotted?: boolean, once?: boolean): Block;
140
+ export declare function createSlot(name?: string | (() => string), rawProps?: LooseRawProps | null, fallback?: VaporSlot, flags?: number): Block;
133
141
  //#endregion
134
142
  //#region temp/packages/runtime-vapor/src/apiDefineComponent.d.ts
135
143
  export type VaporPublicProps = ReservedProps & AllowedComponentProps & ComponentCustomProps;
@@ -192,7 +200,7 @@ declare class TeleportFragment extends VaporFragment {
192
200
  mountContainer?: ParentNode | null;
193
201
  mountAnchor?: Node | null;
194
202
  private mountToTargetJob?;
195
- constructor(props: LooseRawProps, slots?: LooseRawSlots | null);
203
+ constructor(props: LooseRawProps, slots?: RawSlots | null);
196
204
  get parent(): ParentNode | null;
197
205
  private initChildren;
198
206
  private ensureChildrenInitialized;
@@ -255,12 +263,12 @@ interface SharedInternalOptions {
255
263
  */
256
264
  __emitsOptions?: ObjectEmitsOptions;
257
265
  }
258
- type LooseRawProps = Record<string, (() => unknown) | DynamicPropsSource[]> & {
266
+ type LooseRawProps = Record<string, unknown> & {
259
267
  $?: DynamicPropsSource[];
260
268
  };
261
- type LooseRawSlots = Record<string, VaporSlot | DynamicSlotSource[]> & {
269
+ type LooseRawSlots = VaporSlot | (Record<string, VaporSlot | DynamicSlotSource[]> & {
262
270
  $?: DynamicSlotSource[];
263
- };
271
+ });
264
272
  export declare function createComponent(component: VaporComponent, rawProps?: LooseRawProps | null, rawSlots?: LooseRawSlots | null, isSingleRoot?: boolean, once?: boolean, appContext?: GenericAppContext, managedMount?: boolean): VaporComponentInstance;
265
273
  export declare class VaporComponentInstance<Props extends Record<string, any> = {}, Emits extends EmitsOptions = {}, Slots extends StaticSlots = StaticSlots, Exposed extends Record<string, any> = Record<string, any>, TypeBlock extends Block = Block, TypeRefs extends Record<string, any> = Record<string, any>> implements GenericComponentInstance {
266
274
  vapor: true;
@@ -299,6 +307,7 @@ export declare class VaporComponentInstance<Props extends Record<string, any> =
299
307
  shapeFlag?: number;
300
308
  $key?: any;
301
309
  oncePropsCache?: Record<string | symbol, any>;
310
+ isOnce: boolean;
302
311
  isMounted: boolean;
303
312
  isUnmounted: boolean;
304
313
  isDeactivated: boolean;
@@ -335,7 +344,7 @@ export declare class VaporComponentInstance<Props extends Record<string, any> =
335
344
  * @deprecated only used for JSX to detect props types.
336
345
  */
337
346
  $props: Props;
338
- constructor(comp: VaporComponent, rawProps?: RawProps | null, rawSlots?: RawSlots | null, appContext?: GenericAppContext, once?: boolean);
347
+ constructor(comp: VaporComponent, rawProps?: RawProps | null, rawSlots?: LooseRawSlots | null, appContext?: GenericAppContext, once?: boolean);
339
348
  /**
340
349
  * Expose `getKeysFromRawProps` on the instance so it can be used in code
341
350
  * paths where it's needed, e.g. `useModel`
@@ -344,6 +353,12 @@ export declare class VaporComponentInstance<Props extends Record<string, any> =
344
353
  }
345
354
  export declare function isVaporComponent(value: unknown): value is VaporComponentInstance;
346
355
  /**
356
+ * Resolve an asset component by name before passing it to the fallback helper;
357
+ * a string passed directly to `createComponentWithFallback` is plain element
358
+ * fallback, not a component name.
359
+ */
360
+ export declare function createAssetComponent(name: string, rawProps?: LooseRawProps | null, rawSlots?: LooseRawSlots | null, isSingleRoot?: boolean, once?: boolean, maybeSelfReference?: boolean, appContext?: GenericAppContext): HTMLElement | VaporComponentInstance;
361
+ /**
347
362
  * Used when a component cannot be resolved at compile time
348
363
  * and needs rely on runtime resolution - where it might fallback to a plain
349
364
  * element if the resolution fails.
@@ -358,6 +373,9 @@ export declare const createVaporSSRApp: CreateAppFunction<ParentNode, VaporCompo
358
373
  //#region temp/packages/runtime-vapor/src/apiDefineAsyncComponent.d.ts
359
374
  export declare function defineVaporAsyncComponent<T extends VaporComponent>(source: AsyncComponentLoader<T> | AsyncComponentOptions<T>): T;
360
375
  //#endregion
376
+ //#region temp/packages/runtime-vapor/src/vdomInterop.d.ts
377
+ export declare const vaporInteropPlugin: Plugin;
378
+ //#endregion
361
379
  //#region temp/packages/runtime-vapor/src/directives/custom.d.ts
362
380
  export type VaporDirective = (node: Element | VaporComponentInstance, value?: () => any, argument?: string, modifiers?: DirectiveModifiers) => (() => void) | void;
363
381
  type VaporDirectiveArguments = Array<[VaporDirective | undefined] | [VaporDirective | undefined, () => any] | [VaporDirective | undefined, (() => any) | undefined, argument: string] | [VaporDirective | undefined, value: (() => any) | undefined, argument: string | undefined, modifiers: DirectiveModifiers]>;
@@ -431,7 +449,7 @@ export declare function setInsertionState(parent: ParentNode & {
431
449
  }, anchor?: Node | 0 | null, logicalIndex?: number): void;
432
450
  //#endregion
433
451
  //#region temp/packages/runtime-vapor/src/dom/template.d.ts
434
- export declare function template(html: string, root?: boolean, isStatic?: boolean, ns?: Namespace): () => Node & {
452
+ export declare function template(html: string, flags?: number, ns?: Namespace): () => Node & {
435
453
  $root?: true;
436
454
  };
437
455
  //#endregion
@@ -447,6 +465,7 @@ type TargetElement = Element & {
447
465
  $root?: true;
448
466
  $html?: string;
449
467
  $cls?: string;
468
+ $clsFlags?: number;
450
469
  $sty?: NormalizedStyle | string | undefined;
451
470
  value?: string;
452
471
  _value?: any;
@@ -454,7 +473,8 @@ type TargetElement = Element & {
454
473
  export declare function setProp(el: any, key: string, value: any): void;
455
474
  export declare function setAttr(el: any, key: string, value: any, isSVG?: boolean): void;
456
475
  export declare function setDOMProp(el: any, key: string, value: any, forceHydrate?: boolean, attrName?: string): void;
457
- export declare function setClass(el: TargetElement, value: any, isSVG?: boolean): void;
476
+ export declare function setClass(el: TargetElement, value: any, isSVG?: boolean, isNormalized?: boolean): void;
477
+ export declare function setClassName(el: TargetElement, flags: number, cls: string | string[], prefix?: string, suffix?: string): void;
458
478
  export declare function setStyle(el: TargetElement, value: any): void;
459
479
  export declare function setValue(el: TargetElement, value: any, forceHydrate?: boolean): void;
460
480
  /**
@@ -481,16 +501,20 @@ export declare function setBlockHtml(block: Block & {
481
501
  export declare function setDynamicProps(el: any, args: any[], isSVG?: boolean): void;
482
502
  //#endregion
483
503
  //#region temp/packages/runtime-vapor/src/dom/event.d.ts
484
- export declare function on(el: Element, event: string, handler: (e: Event) => any | ((e: Event) => any)[], options?: AddEventListenerOptions & {
485
- effect?: boolean;
486
- }): void;
487
- export declare function delegate(el: any, event: string, handler: (e: Event) => any): void;
504
+ type EventHandler = (...args: any[]) => any;
505
+ type EventHandlerValue = EventHandler | EventHandler[];
506
+ type MaybeEventHandlerValue = EventHandlerValue | null | undefined;
507
+ export declare function on(el: Element, event: string, handler: EventHandlerValue, options?: AddEventListenerOptions): void;
508
+ export declare function onBinding(el: Element, event: string, handler: EventHandlerValue, options?: AddEventListenerOptions): void;
509
+ export declare function delegate(el: any, event: string, handler: EventHandler): void;
488
510
  export declare const delegateEvents: (...names: string[]) => void;
489
- export declare function setDynamicEvents(el: HTMLElement, events: Record<string, (...args: any[]) => any>): void;
490
- export declare function createInvoker(handler: (...args: any[]) => any): (...args: any[]) => any;
511
+ export declare function setDynamicEvents(el: HTMLElement, events: Record<string, EventHandlerValue>): void;
512
+ export declare function withVaporModifiers<T extends (event: Event, ...args: unknown[]) => any>(fn: T | null | undefined, modifiers: string[]): T;
513
+ export declare function withVaporKeys<T extends (event: KeyboardEvent) => any>(fn: T | null | undefined, modifiers: string[]): T;
514
+ export declare function createInvoker(handler: MaybeEventHandlerValue): EventHandler;
491
515
  //#endregion
492
516
  //#region temp/packages/runtime-vapor/src/apiCreateIf.d.ts
493
- export declare function createIf(condition: () => any, b1: BlockFn, b2?: BlockFn, blockShape?: number, once?: boolean, index?: number): Block;
517
+ export declare function createIf(condition: () => any, b1: BlockFn, b2?: BlockFn, flags?: number): Block;
494
518
  //#endregion
495
519
  //#region temp/packages/runtime-vapor/src/apiCreateFragment.d.ts
496
520
  /**
@@ -507,9 +531,29 @@ export declare function createKeyedFragment(key: () => any, render: BlockFn): Bl
507
531
  //#endregion
508
532
  //#region temp/packages/runtime-vapor/src/apiCreateFor.d.ts
509
533
  type Source = any[] | Record<any, any> | number | Set<any> | Map<any, any>;
510
- export declare const createFor: (src: () => Source, renderItem: (item: ShallowRef<any>, key: ShallowRef<any>, index: ShallowRef<number | undefined>) => Block, getKey?: (item: any, key: any, index?: number) => any, flags?: number, setup?: (_: {
511
- createSelector: (source: () => any) => (cb: () => void) => void;
512
- }) => void) => ForFragment;
534
+ export declare const createFor: (src: () => Source, renderItem: (item: ShallowRef<any>, key: ShallowRef<any>, index: ShallowRef<number | undefined>) => Block, getKey?: (item: any, key: any, index?: number) => any, flags?: number) => ForFragment;
535
+ interface ForSelector {
536
+ (key: any, oper: () => void): void;
537
+ /**
538
+ * Bulk-reset the selector's internal state. Hook into a v-for's fast-reset
539
+ * paths via `forFragment.onReset(selector.reset)` so the lazy per-item
540
+ * `onScopeDispose` teardowns short-circuit instead of doing N individual
541
+ * Map.delete() calls.
542
+ */
543
+ reset(): void;
544
+ }
545
+ /**
546
+ * Builds a key-indexed selector that activates only the opers registered with
547
+ * the key matching the current source value. Compared to letting each item
548
+ * subscribe directly, this keeps re-renders on source change O(2) instead of
549
+ * O(N) (only previous and new active item re-run).
550
+ *
551
+ * Selector cleanup follows the current scope. Per-item teardown is auto-wired
552
+ * via `onScopeDispose` so callers (typically v-for item scopes) don't need
553
+ * explicit deregistration. For bulk-reset hot paths, attach the selector to
554
+ * the v-for via `frag.onReset(selector.reset)` to skip the per-item Map ops.
555
+ */
556
+ export declare function createSelector(source: () => any): ForSelector;
513
557
  export declare function createForSlots(rawSource: Source, getSlot: (item: any, key: any, index?: number) => DynamicSlot): DynamicSlot[];
514
558
  export declare function getRestElement(val: any, keys: string[]): any;
515
559
  export declare function getDefaultValue(val: any, defaultVal: any): any;
@@ -523,7 +567,7 @@ export declare function setBlockKey(block: (Block & {
523
567
  }) | null | undefined, key: any): void;
524
568
  //#endregion
525
569
  //#region temp/packages/runtime-vapor/src/apiCreateDynamicComponent.d.ts
526
- export declare function createDynamicComponent(getter: () => any, rawProps?: RawProps | null, rawSlots?: RawSlots | null, isSingleRoot?: boolean, once?: boolean): VaporFragment;
570
+ export declare function createDynamicComponent(getter: () => any, rawProps?: RawProps | null, rawSlots?: LooseRawSlots | null, isSingleRoot?: boolean, once?: boolean): VaporFragment;
527
571
  //#endregion
528
572
  //#region temp/packages/runtime-vapor/src/apiSetupHelpers.d.ts
529
573
  export declare function withAsyncContext(getAwaitable: () => any): [any, () => void];