resetInsertionState,
} from './insertionState'
import { DYNAMIC_COMPONENT_ANCHOR_LABEL } from '@vue/shared'
- import { isHydrating, locateHydrationNode } from './dom/hydration'
+ import { isHydrating } from './dom/hydration'
+import { DynamicFragment, type VaporFragment } from './fragment'
export function createDynamicComponent(
getter: () => any,
import { IF_ANCHOR_LABEL } from '@vue/shared'
-import { type Block, type BlockFn, DynamicFragment, insert } from './block'
+import { type Block, type BlockFn, insert } from './block'
- import { isHydrating, locateHydrationNode } from './dom/hydration'
+ import { isHydrating } from './dom/hydration'
import {
insertionAnchor,
insertionParent,
insertionParent,
resetInsertionState,
} from './insertionState'
- import { isHydrating, locateHydrationNode } from './dom/hydration'
+ import { isHydrating } from './dom/hydration'
+import { DynamicFragment, type VaporFragment, isFragment } from './fragment'
export type RawSlots = Record<string, VaporSlot> & {
$?: DynamicSlotSource[]
): Block {
const _insertionParent = insertionParent
const _insertionAnchor = insertionAnchor
- if (isHydrating) {
- locateHydrationNode(true)
- } else {
- resetInsertionState()
- }
+ if (!isHydrating) resetInsertionState()
- const instance = currentInstance as VaporComponentInstance
+ const instance = i || (currentInstance as VaporComponentInstance)
const rawSlots = instance.rawSlots
const slotProps = rawProps
? new Proxy(rawProps, rawPropsProxyHandlers)