@vue/compiler-vapor 3.6.0-beta.12 → 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.
@@ -2034,9 +2034,9 @@ interface VaporInteropInterface {
2034
2034
  activate(vnode: VNode, container: any, anchor: any, parentComponent: ComponentInternalInstance): void;
2035
2035
  deactivate(vnode: VNode, container: any): void;
2036
2036
  setTransitionHooks(component: ComponentInternalInstance, transition: TransitionHooks): void;
2037
- vdomMount: (component: ConcreteComponent, parentComponent: any, props?: any, slots?: any) => any;
2037
+ vdomMount: (component: ConcreteComponent, parentComponent: any, props?: any, slots?: any, once?: boolean) => any;
2038
2038
  vdomUnmount: UnmountComponentFn;
2039
- vdomSlot: (slots: any, name: string | (() => string), props: Record<string, any>, parentComponent: any, fallback?: any) => any;
2039
+ vdomSlot: (slots: any, name: string | (() => string), props: Record<string, any>, parentComponent: any, fallback?: any, once?: boolean) => any;
2040
2040
  vdomMountVNode: (vnode: VNode, parentComponent: any) => any;
2041
2041
  }
2042
2042
  /**
@@ -25288,6 +25288,8 @@ type NodeRef = string | Ref | ((ref: Element | VaporComponentInstance, refs: Rec
25288
25288
  type RefEl = Element | VaporComponentInstance | DynamicFragment | VaporFragment;
25289
25289
  type setRefFn = (el: RefEl, ref: NodeRef, refFor?: boolean, refKey?: string) => NodeRef | undefined;
25290
25290
  declare function createTemplateRefSetter(): setRefFn;
25291
+ declare function setStaticTemplateRef(el: RefEl, ref: NodeRef, refFor?: boolean, refKey?: string): NodeRef | undefined;
25292
+ declare function setTemplateRefBinding(el: RefEl, getter: () => any, setter?: setRefFn, refFor?: boolean, refKey?: string): void;
25291
25293
  //#endregion
25292
25294
  //#region packages/runtime-vapor/src/keepAlive.d.ts
25293
25295
  interface VaporKeepAliveContext {
@@ -25308,8 +25310,11 @@ declare class VaporFragment<T extends Block$1 = Block$1> implements TransitionOp
25308
25310
  validityPending?: boolean;
25309
25311
  insert?: (parent: ParentNode, anchor: Node | null, transitionHooks?: TransitionHooks) => void;
25310
25312
  remove?: (parent?: ParentNode, transitionHooks?: TransitionHooks) => void;
25311
- hydrate?: (...args: any[]) => void;
25313
+ hydrate?(...args: any[]): void;
25312
25314
  setRef?: (instance: VaporComponentInstance, ref: NodeRef, refFor: boolean, refKey: string | undefined) => void;
25315
+ onBeforeInsert?: ((nodes: Block$1) => void)[];
25316
+ onBeforeRemove?: ((scope: EffectScope) => boolean)[];
25317
+ onBeforeUpdate?: (() => void)[];
25313
25318
  onUpdated?: ((nodes?: Block$1) => void)[];
25314
25319
  readonly renderInstance: GenericComponentInstance | null;
25315
25320
  readonly slotOwner: VaporComponentInstance | null;
@@ -25330,16 +25335,16 @@ declare class DynamicFragment extends VaporFragment {
25330
25335
  pending?: {
25331
25336
  render?: BlockFn;
25332
25337
  key: any;
25338
+ noScope: boolean;
25333
25339
  };
25334
25340
  anchorLabel?: string;
25335
25341
  keyed?: boolean;
25336
25342
  inTransition?: boolean;
25337
- attrs?: Record<string, any>;
25338
- constructor(anchorLabel?: string, keyed?: boolean, locate?: boolean);
25339
- protected registerSlotBoundaryDirty(): void;
25340
- update(render?: BlockFn, key?: any): void;
25341
- renderBranch(render: BlockFn | undefined, transition: VaporTransitionHooks | undefined, parent: ParentNode | null, key: any): void;
25342
- hydrate: (isEmpty?: boolean, isSlot?: boolean) => void;
25343
+ hasFallthroughAttrs?: true;
25344
+ constructor(anchorLabel?: string, keyed?: boolean, locate?: boolean, trackSlotBoundary?: boolean);
25345
+ update(render?: BlockFn, key?: any, noScope?: boolean): void;
25346
+ renderBranch(render: BlockFn | undefined, transition: VaporTransitionHooks | undefined, parent: ParentNode | null, key: any, noScope?: boolean): void;
25347
+ hydrate(isEmpty?: boolean, isSlot?: boolean): void;
25343
25348
  }
25344
25349
  interface SlotBoundaryContext {
25345
25350
  parent: SlotBoundaryContext | null;
@@ -25374,20 +25379,20 @@ declare function remove(block: Block$1, parent?: ParentNode): void;
25374
25379
  declare const interopKey: unique symbol;
25375
25380
  //#endregion
25376
25381
  //#region packages/runtime-vapor/src/componentProps.d.ts
25377
- type RawProps = Record<string, () => unknown> & {
25382
+ type RawProps = Record<string, unknown> & {
25378
25383
  $?: DynamicPropsSource[] & {
25379
25384
  [interopKey]?: boolean;
25380
25385
  };
25381
25386
  };
25382
- type DynamicPropsSource = (() => Record<string, unknown>) | Record<string, () => unknown>;
25387
+ type DynamicPropsSource = (() => Record<string, unknown>) | Record<string, unknown>;
25383
25388
  //#endregion
25384
25389
  //#region packages/runtime-vapor/src/renderEffect.d.ts
25385
25390
  declare class RenderEffect extends ReactiveEffect {
25386
- render: () => void;
25387
25391
  i: VaporComponentInstance | null;
25388
25392
  job: SchedulerJob;
25389
- updateJob: SchedulerJob;
25390
- constructor(render: () => void);
25393
+ updateJob?: SchedulerJob;
25394
+ render: () => void;
25395
+ constructor(render: () => void, noLifecycle?: boolean);
25391
25396
  fn(): void;
25392
25397
  notify(): void;
25393
25398
  }
@@ -25413,7 +25418,7 @@ type DynamicSlotSource = StaticSlots | DynamicSlotFn;
25413
25418
  * 2. elements inherit the slot owner's scopeId
25414
25419
  */
25415
25420
  declare function withVaporCtx(fn: Function): BlockFn;
25416
- declare function createSlot(name: string | (() => string), rawProps?: LooseRawProps | null, fallback?: VaporSlot, noSlotted?: boolean, once?: boolean): Block$1;
25421
+ declare function createSlot(name?: string | (() => string), rawProps?: LooseRawProps | null, fallback?: VaporSlot, flags?: number): Block$1;
25417
25422
  //#endregion
25418
25423
  //#region packages/runtime-vapor/src/apiDefineComponent.d.ts
25419
25424
  type VaporPublicProps = ReservedProps & AllowedComponentProps & ComponentCustomProps;
@@ -25481,7 +25486,7 @@ declare class TeleportFragment extends VaporFragment {
25481
25486
  mountContainer?: ParentNode | null;
25482
25487
  mountAnchor?: Node | null;
25483
25488
  private mountToTargetJob?;
25484
- constructor(props: LooseRawProps, slots?: LooseRawSlots | null);
25489
+ constructor(props: LooseRawProps, slots?: RawSlots | null);
25485
25490
  get parent(): ParentNode | null;
25486
25491
  private initChildren;
25487
25492
  private ensureChildrenInitialized;
@@ -25548,12 +25553,12 @@ interface SharedInternalOptions {
25548
25553
  */
25549
25554
  __emitsOptions?: ObjectEmitsOptions;
25550
25555
  }
25551
- type LooseRawProps = Record<string, (() => unknown) | DynamicPropsSource[]> & {
25556
+ type LooseRawProps = Record<string, unknown> & {
25552
25557
  $?: DynamicPropsSource[];
25553
25558
  };
25554
- type LooseRawSlots = Record<string, VaporSlot | DynamicSlotSource[]> & {
25559
+ type LooseRawSlots = VaporSlot | (Record<string, VaporSlot | DynamicSlotSource[]> & {
25555
25560
  $?: DynamicSlotSource[];
25556
- };
25561
+ });
25557
25562
  declare function createComponent(component: VaporComponent, rawProps?: LooseRawProps | null, rawSlots?: LooseRawSlots | null, isSingleRoot?: boolean, once?: boolean, appContext?: GenericAppContext, managedMount?: boolean): VaporComponentInstance;
25558
25563
  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$1 = Block$1, TypeRefs extends Record<string, any> = Record<string, any>> implements GenericComponentInstance {
25559
25564
  vapor: true;
@@ -25592,6 +25597,7 @@ declare class VaporComponentInstance<Props extends Record<string, any> = {}, Emi
25592
25597
  shapeFlag?: number;
25593
25598
  $key?: any;
25594
25599
  oncePropsCache?: Record<string | symbol, any>;
25600
+ isOnce: boolean;
25595
25601
  isMounted: boolean;
25596
25602
  isUnmounted: boolean;
25597
25603
  isDeactivated: boolean;
@@ -25628,7 +25634,7 @@ declare class VaporComponentInstance<Props extends Record<string, any> = {}, Emi
25628
25634
  * @deprecated only used for JSX to detect props types.
25629
25635
  */
25630
25636
  $props: Props;
25631
- constructor(comp: VaporComponent, rawProps?: RawProps | null, rawSlots?: RawSlots | null, appContext?: GenericAppContext, once?: boolean);
25637
+ constructor(comp: VaporComponent, rawProps?: RawProps | null, rawSlots?: LooseRawSlots | null, appContext?: GenericAppContext, once?: boolean);
25632
25638
  /**
25633
25639
  * Expose `getKeysFromRawProps` on the instance so it can be used in code
25634
25640
  * paths where it's needed, e.g. `useModel`
@@ -25637,6 +25643,12 @@ declare class VaporComponentInstance<Props extends Record<string, any> = {}, Emi
25637
25643
  }
25638
25644
  declare function isVaporComponent(value: unknown): value is VaporComponentInstance;
25639
25645
  /**
25646
+ * Resolve an asset component by name before passing it to the fallback helper;
25647
+ * a string passed directly to `createComponentWithFallback` is plain element
25648
+ * fallback, not a component name.
25649
+ */
25650
+ declare function createAssetComponent(name: string, rawProps?: LooseRawProps | null, rawSlots?: LooseRawSlots | null, isSingleRoot?: boolean, once?: boolean, maybeSelfReference?: boolean, appContext?: GenericAppContext): HTMLElement | VaporComponentInstance;
25651
+ /**
25640
25652
  * Used when a component cannot be resolved at compile time
25641
25653
  * and needs rely on runtime resolution - where it might fallback to a plain
25642
25654
  * element if the resolution fails.
@@ -25732,7 +25744,7 @@ declare function setInsertionState(parent: ParentNode & {
25732
25744
  }, anchor?: Node | 0 | null, logicalIndex?: number): void;
25733
25745
  //#endregion
25734
25746
  //#region packages/runtime-vapor/src/dom/template.d.ts
25735
- declare function template(html: string, root?: boolean, isStatic?: boolean, ns?: Namespace): () => Node & {
25747
+ declare function template(html: string, flags?: number, ns?: Namespace): () => Node & {
25736
25748
  $root?: true;
25737
25749
  };
25738
25750
  //#endregion
@@ -25784,16 +25796,20 @@ declare function setBlockHtml(block: Block$1 & {
25784
25796
  declare function setDynamicProps(el: any, args: any[], isSVG?: boolean): void;
25785
25797
  //#endregion
25786
25798
  //#region packages/runtime-vapor/src/dom/event.d.ts
25787
- declare function on(el: Element, event: string, handler: (e: Event) => any | ((e: Event) => any)[], options?: AddEventListenerOptions & {
25788
- effect?: boolean;
25789
- }): void;
25790
- declare function delegate(el: any, event: string, handler: (e: Event) => any): void;
25799
+ type EventHandler = (...args: any[]) => any;
25800
+ type EventHandlerValue = EventHandler | EventHandler[];
25801
+ type MaybeEventHandlerValue = EventHandlerValue | null | undefined;
25802
+ declare function on(el: Element, event: string, handler: EventHandlerValue, options?: AddEventListenerOptions): void;
25803
+ declare function onBinding(el: Element, event: string, handler: EventHandlerValue, options?: AddEventListenerOptions): void;
25804
+ declare function delegate(el: any, event: string, handler: EventHandler): void;
25791
25805
  declare const delegateEvents: (...names: string[]) => void;
25792
- declare function setDynamicEvents(el: HTMLElement, events: Record<string, (...args: any[]) => any>): void;
25793
- declare function createInvoker(handler: (...args: any[]) => any): (...args: any[]) => any;
25806
+ declare function setDynamicEvents(el: HTMLElement, events: Record<string, EventHandlerValue>): void;
25807
+ declare function withVaporModifiers<T extends (event: Event, ...args: unknown[]) => any>(fn: T | null | undefined, modifiers: string[]): T;
25808
+ declare function withVaporKeys<T extends (event: KeyboardEvent) => any>(fn: T | null | undefined, modifiers: string[]): T;
25809
+ declare function createInvoker(handler: MaybeEventHandlerValue): EventHandler;
25794
25810
  //#endregion
25795
25811
  //#region packages/runtime-vapor/src/apiCreateIf.d.ts
25796
- declare function createIf(condition: () => any, b1: BlockFn, b2?: BlockFn, blockShape?: number, once?: boolean, index?: number): Block$1;
25812
+ declare function createIf(condition: () => any, b1: BlockFn, b2?: BlockFn, flags?: number): Block$1;
25797
25813
  //#endregion
25798
25814
  //#region packages/runtime-vapor/src/apiCreateFragment.d.ts
25799
25815
  /**
@@ -25846,7 +25862,7 @@ declare function setBlockKey(block: (Block$1 & {
25846
25862
  }) | null | undefined, key: any): void;
25847
25863
  //#endregion
25848
25864
  //#region packages/runtime-vapor/src/apiCreateDynamicComponent.d.ts
25849
- declare function createDynamicComponent(getter: () => any, rawProps?: RawProps | null, rawSlots?: RawSlots | null, isSingleRoot?: boolean, once?: boolean): VaporFragment;
25865
+ declare function createDynamicComponent(getter: () => any, rawProps?: RawProps | null, rawSlots?: LooseRawSlots | null, isSingleRoot?: boolean, once?: boolean): VaporFragment;
25850
25866
  //#endregion
25851
25867
  //#region packages/runtime-vapor/src/apiSetupHelpers.d.ts
25852
25868
  declare function withAsyncContext(getAwaitable: () => any): [any, () => void];
@@ -25868,7 +25884,7 @@ declare const VaporTransition: FunctionalVaporComponent<TransitionProps>;
25868
25884
  //#region packages/runtime-vapor/src/components/TransitionGroup.d.ts
25869
25885
  declare const VaporTransitionGroup: DefineVaporComponent<{}, string, TransitionGroupProps>;
25870
25886
  declare namespace index_d_exports {
25871
- export { Block$1 as Block, DefineVaporComponent, DynamicFragment, FunctionalVaporComponent, VaporComponent, VaporComponentInstance, VaporComponentOptions, VaporDirective, VaporElement, VaporElementConstructor, VaporFragment, VaporKeepAlive, VaporKeepAliveContext, VaporPublicProps, VaporRenderResult, VaporSlot, VaporTeleport, VaporTransition, VaporTransitionGroup, VaporTransitionHooks, applyCheckboxModel, applyDynamicModel, applyRadioModel, applySelectModel, applyTextModel, applyVShow, child, createComponent, createComponentWithFallback, createDynamicComponent, createFor, createForSlots, createIf, createInvoker, createKeyedFragment, createPlainElement, createSelector, createSlot, createTemplateRefSetter, createTextNode, createVaporApp, createVaporSSRApp, defineVaporAsyncComponent, defineVaporComponent, defineVaporCustomElement, defineVaporSSRCustomElement, delegate, delegateEvents, getDefaultValue, getRestElement, insert$1 as insert, isFragment, isVaporComponent, next, nthChild, on, prepend, remove, renderEffect, setAttr, setBlockHtml, setBlockKey, setBlockText, setClass, setClassName, setDOMProp, setDynamicEvents, setDynamicProps, setElementText, setHtml, setInsertionState, setProp, setStyle, setText, setValue, template, txt, useVaporCssVars, vaporInteropPlugin, withAsyncContext, withVaporCtx, withVaporDirectives };
25887
+ export { Block$1 as Block, DefineVaporComponent, DynamicFragment, FunctionalVaporComponent, VaporComponent, VaporComponentInstance, VaporComponentOptions, VaporDirective, VaporElement, VaporElementConstructor, VaporFragment, VaporKeepAlive, VaporKeepAliveContext, VaporPublicProps, VaporRenderResult, VaporSlot, VaporTeleport, VaporTransition, VaporTransitionGroup, VaporTransitionHooks, applyCheckboxModel, applyDynamicModel, applyRadioModel, applySelectModel, applyTextModel, applyVShow, child, createAssetComponent, createComponent, createComponentWithFallback, createDynamicComponent, createFor, createForSlots, createIf, createInvoker, createKeyedFragment, createPlainElement, createSelector, createSlot, createTemplateRefSetter, createTextNode, createVaporApp, createVaporSSRApp, defineVaporAsyncComponent, defineVaporComponent, defineVaporCustomElement, defineVaporSSRCustomElement, delegate, delegateEvents, getDefaultValue, getRestElement, insert$1 as insert, isFragment, isVaporComponent, next, nthChild, on, onBinding, prepend, remove, renderEffect, setAttr, setBlockHtml, setBlockKey, setBlockText, setClass, setClassName, setDOMProp, setDynamicEvents, setDynamicProps, setElementText, setHtml, setInsertionState, setProp, setStaticTemplateRef, setStyle, setTemplateRefBinding, setText, setValue, template, txt, useVaporCssVars, vaporInteropPlugin, withAsyncContext, withVaporCtx, withVaporDirectives, withVaporKeys, withVaporModifiers };
25872
25888
  }
25873
25889
  //#endregion
25874
25890
  //#region temp/packages/compiler-vapor/src/ir/component.d.ts
@@ -26130,8 +26146,7 @@ export interface SlotOutletIRNode extends BaseIRNode, EffectBoundary {
26130
26146
  name: SimpleExpressionNode;
26131
26147
  props: IRProps[];
26132
26148
  fallback?: BlockIRNode;
26133
- noSlotted?: boolean;
26134
- once?: boolean;
26149
+ flags: number;
26135
26150
  parent?: number;
26136
26151
  anchor?: number;
26137
26152
  logicalIndex?: number;
@@ -28146,18 +28161,27 @@ export declare class CodegenContext {
28146
28161
  options: Required<CodegenOptions>;
28147
28162
  bindingNames: Set<string>;
28148
28163
  helpers: Map<string, string>;
28164
+ needsTemplateRefSetter: boolean;
28165
+ staticTemplateRefHelperCandidate?: SetTemplateRefIRNode;
28166
+ inSlotBlock: boolean;
28149
28167
  helper: (name: CoreHelper | VaporHelper) => string;
28150
28168
  delegates: Set<string>;
28169
+ singleUseAssetComponentNames?: Set<string>;
28151
28170
  identifiers: Record<string, (string | SimpleExpressionNode)[]>;
28171
+ expressionReplacements: Map<SimpleExpressionNode, SimpleExpressionNode>[];
28172
+ withExpressionReplacements<T>(map: Map<SimpleExpressionNode, SimpleExpressionNode>, fn: () => T): T;
28173
+ getExpressionReplacement(node: SimpleExpressionNode): SimpleExpressionNode;
28152
28174
  seenInlineHandlerNames: Record<string, number>;
28153
28175
  block: BlockIRNode;
28154
28176
  withId<T>(fn: () => T, map: Record<string, string | SimpleExpressionNode | null>): T;
28155
28177
  enterBlock(block: BlockIRNode): () => BlockIRNode;
28178
+ enterSlotBlock(): () => boolean;
28156
28179
  scopeLevel: number;
28157
28180
  enterScope(): [level: number, exit: () => number];
28158
28181
  private templateVars;
28159
28182
  private nextIdMap;
28160
28183
  private lastIdMap;
28184
+ private isHelperNameAvailable;
28161
28185
  private lastTIndex;
28162
28186
  private initNextIdMap;
28163
28187
  tName(i: number): string;