@vue/compat 3.6.0-alpha.2 → 3.6.0-alpha.3

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.
@@ -1,9 +1,8 @@
1
1
  /**
2
- * @vue/compat v3.6.0-alpha.2
2
+ * @vue/compat v3.6.0-alpha.3
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
6
- /*! #__NO_SIDE_EFFECTS__ */
7
6
  // @__NO_SIDE_EFFECTS__
8
7
  function makeMap(str) {
9
8
  const map = /* @__PURE__ */ Object.create(null);
@@ -59,10 +58,10 @@ const isBuiltInDirective = /* @__PURE__ */ makeMap(
59
58
  );
60
59
  const cacheStringFunction = (fn) => {
61
60
  const cache = /* @__PURE__ */ Object.create(null);
62
- return (str) => {
61
+ return ((str) => {
63
62
  const hit = cache[str];
64
63
  return hit || (cache[str] = fn(str));
65
- };
64
+ });
66
65
  };
67
66
  const camelizeRE = /-(\w)/g;
68
67
  const camelizeReplacer = (_, c) => c ? c.toUpperCase() : "";
@@ -308,6 +307,9 @@ function shouldSetAsAttr(tagName, key) {
308
307
  if ((key === "width" || key === "height") && (tagName === "IMG" || tagName === "VIDEO" || tagName === "CANVAS" || tagName === "SOURCE")) {
309
308
  return true;
310
309
  }
310
+ if (key === "sandbox" && tagName === "IFRAME") {
311
+ return true;
312
+ }
311
313
  return false;
312
314
  }
313
315
 
@@ -497,6 +499,7 @@ var ReactiveFlags = /* @__PURE__ */ ((ReactiveFlags2) => {
497
499
  const notifyBuffer = [];
498
500
  let batchDepth = 0;
499
501
  let activeSub = void 0;
502
+ let globalVersion = 0;
500
503
  let notifyIndex = 0;
501
504
  let notifyBufferLength = 0;
502
505
  function setActiveSub(sub) {
@@ -519,17 +522,18 @@ function link(dep, sub) {
519
522
  if (prevDep !== void 0 && prevDep.dep === dep) {
520
523
  return;
521
524
  }
522
- let nextDep = void 0;
523
- const recursedCheck = sub.flags & 4 /* RecursedCheck */;
524
- if (recursedCheck) {
525
- nextDep = prevDep !== void 0 ? prevDep.nextDep : sub.deps;
526
- if (nextDep !== void 0 && nextDep.dep === dep) {
527
- sub.depsTail = nextDep;
528
- return;
529
- }
525
+ const nextDep = prevDep !== void 0 ? prevDep.nextDep : sub.deps;
526
+ if (nextDep !== void 0 && nextDep.dep === dep) {
527
+ nextDep.version = globalVersion;
528
+ sub.depsTail = nextDep;
529
+ return;
530
530
  }
531
531
  const prevSub = dep.subsTail;
532
+ if (prevSub !== void 0 && prevSub.version === globalVersion && prevSub.sub === sub) {
533
+ return;
534
+ }
532
535
  const newLink = sub.depsTail = dep.subsTail = {
536
+ version: globalVersion,
533
537
  dep,
534
538
  sub,
535
539
  prevDep,
@@ -635,6 +639,7 @@ function propagate(link2) {
635
639
  } while (true);
636
640
  }
637
641
  function startTracking(sub) {
642
+ ++globalVersion;
638
643
  sub.depsTail = void 0;
639
644
  sub.flags = sub.flags & -57 | 4 /* RecursedCheck */;
640
645
  return setActiveSub(sub);
@@ -735,18 +740,12 @@ function shallowPropagate(link2) {
735
740
  } while (link2 !== void 0);
736
741
  }
737
742
  function isValidLink(checkLink, sub) {
738
- const depsTail = sub.depsTail;
739
- if (depsTail !== void 0) {
740
- let link2 = sub.deps;
741
- do {
742
- if (link2 === checkLink) {
743
- return true;
744
- }
745
- if (link2 === depsTail) {
746
- break;
747
- }
748
- link2 = link2.nextDep;
749
- } while (link2 !== void 0);
743
+ let link2 = sub.depsTail;
744
+ while (link2 !== void 0) {
745
+ if (link2 === checkLink) {
746
+ return true;
747
+ }
748
+ link2 = link2.prevDep;
750
749
  }
751
750
  return false;
752
751
  }
@@ -1001,7 +1000,7 @@ const arrayInstrumentations = {
1001
1000
  join(separator) {
1002
1001
  return reactiveReadArray(this).join(separator);
1003
1002
  },
1004
- // keys() iterator only reads `length`, no optimisation required
1003
+ // keys() iterator only reads `length`, no optimization required
1005
1004
  lastIndexOf(...args) {
1006
1005
  return searchProxy(this, "lastIndexOf", args);
1007
1006
  },
@@ -1053,7 +1052,7 @@ function iterator(self, method, wrapValue) {
1053
1052
  iter._next = iter.next;
1054
1053
  iter.next = () => {
1055
1054
  const result = iter._next();
1056
- if (result.value) {
1055
+ if (!result.done) {
1057
1056
  result.value = wrapValue(result.value);
1058
1057
  }
1059
1058
  return result;
@@ -1184,7 +1183,8 @@ class BaseReactiveHandler {
1184
1183
  return res;
1185
1184
  }
1186
1185
  if (isRef(res)) {
1187
- return targetIsArray && isIntegerKey(key) ? res : res.value;
1186
+ const value = targetIsArray && isIntegerKey(key) ? res : res.value;
1187
+ return isReadonly2 && isObject(value) ? readonly(value) : value;
1188
1188
  }
1189
1189
  if (isObject(res)) {
1190
1190
  return isReadonly2 ? readonly(res) : reactive(res);
@@ -1206,7 +1206,13 @@ class MutableReactiveHandler extends BaseReactiveHandler {
1206
1206
  }
1207
1207
  if (!isArray(target) && isRef(oldValue) && !isRef(value)) {
1208
1208
  if (isOldValueReadonly) {
1209
- return false;
1209
+ if (!!(process.env.NODE_ENV !== "production")) {
1210
+ warn$2(
1211
+ `Set operation on key "${String(key)}" failed: target is readonly.`,
1212
+ target[key]
1213
+ );
1214
+ }
1215
+ return true;
1210
1216
  } else {
1211
1217
  oldValue.value = value;
1212
1218
  return true;
@@ -1351,7 +1357,7 @@ function createInstrumentations(readonly, shallow) {
1351
1357
  get size() {
1352
1358
  const target = this["__v_raw"];
1353
1359
  !readonly && track(toRaw(target), "iterate", ITERATE_KEY);
1354
- return Reflect.get(target, "size", target);
1360
+ return target.size;
1355
1361
  },
1356
1362
  has(key) {
1357
1363
  const target = this["__v_raw"];
@@ -2354,11 +2360,11 @@ function traverse(value, depth = Infinity, seen) {
2354
2360
  if (depth <= 0 || !isObject(value) || value["__v_skip"]) {
2355
2361
  return value;
2356
2362
  }
2357
- seen = seen || /* @__PURE__ */ new Set();
2358
- if (seen.has(value)) {
2363
+ seen = seen || /* @__PURE__ */ new Map();
2364
+ if ((seen.get(value) || 0) >= depth) {
2359
2365
  return value;
2360
2366
  }
2361
- seen.add(value);
2367
+ seen.set(value, depth);
2362
2368
  depth--;
2363
2369
  if (isRef(value)) {
2364
2370
  traverse(value.value, depth, seen);
@@ -2909,8 +2915,10 @@ function rerender(id, newRender) {
2909
2915
  instance.hmrRerender();
2910
2916
  } else {
2911
2917
  const i = instance;
2912
- i.renderCache = [];
2913
- i.effect.run();
2918
+ if (!(i.effect.flags & 1024)) {
2919
+ i.renderCache = [];
2920
+ i.effect.run();
2921
+ }
2914
2922
  }
2915
2923
  nextTick(() => {
2916
2924
  isHmrUpdating = false;
@@ -2952,7 +2960,10 @@ function reload(id, newComp) {
2952
2960
  if (parent.vapor) {
2953
2961
  parent.hmrRerender();
2954
2962
  } else {
2955
- parent.effect.run();
2963
+ if (!(parent.effect.flags & 1024)) {
2964
+ parent.renderCache = [];
2965
+ parent.effect.run();
2966
+ }
2956
2967
  }
2957
2968
  nextTick(() => {
2958
2969
  isHmrUpdating = false;
@@ -3062,7 +3073,6 @@ const devtoolsComponentRemoved = (component) => {
3062
3073
  _devtoolsComponentRemoved(component);
3063
3074
  }
3064
3075
  };
3065
- /*! #__NO_SIDE_EFFECTS__ */
3066
3076
  // @__NO_SIDE_EFFECTS__
3067
3077
  function createDevtoolsComponentHook(hook) {
3068
3078
  return (component) => {
@@ -3779,9 +3789,6 @@ const TeleportImpl = {
3779
3789
  insert(mainAnchor, container, anchor);
3780
3790
  const mount = (container2, anchor2) => {
3781
3791
  if (shapeFlag & 16) {
3782
- if (parentComponent && parentComponent.isCE) {
3783
- parentComponent.ce._teleportTarget = container2;
3784
- }
3785
3792
  mountChildren(
3786
3793
  children,
3787
3794
  container2,
@@ -3803,6 +3810,9 @@ const TeleportImpl = {
3803
3810
  } else if (namespace !== "mathml" && isTargetMathML(target)) {
3804
3811
  namespace = "mathml";
3805
3812
  }
3813
+ if (parentComponent && parentComponent.isCE) {
3814
+ (parentComponent.ce._teleportTargets || (parentComponent.ce._teleportTargets = /* @__PURE__ */ new Set())).add(target);
3815
+ }
3806
3816
  if (!disabled) {
3807
3817
  mount(target, targetAnchor);
3808
3818
  updateCssVars(n2, false);
@@ -4003,26 +4013,34 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
4003
4013
  function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {
4004
4014
  o: { nextSibling, parentNode, querySelector, insert, createText }
4005
4015
  }, hydrateChildren) {
4016
+ function hydrateDisabledTeleport(node2, vnode2, targetStart, targetAnchor) {
4017
+ vnode2.anchor = hydrateChildren(
4018
+ nextSibling(node2),
4019
+ vnode2,
4020
+ parentNode(node2),
4021
+ parentComponent,
4022
+ parentSuspense,
4023
+ slotScopeIds,
4024
+ optimized
4025
+ );
4026
+ vnode2.targetStart = targetStart;
4027
+ vnode2.targetAnchor = targetAnchor;
4028
+ }
4006
4029
  const target = vnode.target = resolveTarget(
4007
4030
  vnode.props,
4008
4031
  querySelector
4009
4032
  );
4033
+ const disabled = isTeleportDisabled(vnode.props);
4010
4034
  if (target) {
4011
- const disabled = isTeleportDisabled(vnode.props);
4012
4035
  const targetNode = target._lpa || target.firstChild;
4013
4036
  if (vnode.shapeFlag & 16) {
4014
4037
  if (disabled) {
4015
- vnode.anchor = hydrateChildren(
4016
- nextSibling(node),
4038
+ hydrateDisabledTeleport(
4039
+ node,
4017
4040
  vnode,
4018
- parentNode(node),
4019
- parentComponent,
4020
- parentSuspense,
4021
- slotScopeIds,
4022
- optimized
4041
+ targetNode,
4042
+ targetNode && nextSibling(targetNode)
4023
4043
  );
4024
- vnode.targetStart = targetNode;
4025
- vnode.targetAnchor = targetNode && nextSibling(targetNode);
4026
4044
  } else {
4027
4045
  vnode.anchor = nextSibling(node);
4028
4046
  let targetAnchor = targetNode;
@@ -4053,6 +4071,10 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
4053
4071
  }
4054
4072
  }
4055
4073
  updateCssVars(vnode, disabled);
4074
+ } else if (disabled) {
4075
+ if (vnode.shapeFlag & 16) {
4076
+ hydrateDisabledTeleport(node, vnode, node, nextSibling(node));
4077
+ }
4056
4078
  }
4057
4079
  return vnode.anchor && nextSibling(vnode.anchor);
4058
4080
  }
@@ -4093,7 +4115,7 @@ function useTransitionState() {
4093
4115
  isMounted: false,
4094
4116
  isLeaving: false,
4095
4117
  isUnmounting: false,
4096
- leavingVNodes: /* @__PURE__ */ new Map()
4118
+ leavingNodes: /* @__PURE__ */ new Map()
4097
4119
  };
4098
4120
  onMounted(() => {
4099
4121
  state.isMounted = true;
@@ -4125,7 +4147,7 @@ const BaseTransitionPropsValidators = {
4125
4147
  onAppearCancelled: TransitionHookValidator
4126
4148
  };
4127
4149
  const recursiveGetSubtree = (instance) => {
4128
- const subTree = instance.subTree;
4150
+ const subTree = instance.type.__vapor ? instance.block : instance.subTree;
4129
4151
  return subTree.component ? recursiveGetSubtree(subTree.component) : subTree;
4130
4152
  };
4131
4153
  const BaseTransitionImpl = {
@@ -4142,9 +4164,7 @@ const BaseTransitionImpl = {
4142
4164
  const child = findNonCommentChild(children);
4143
4165
  const rawProps = toRaw(props);
4144
4166
  const { mode } = rawProps;
4145
- if (!!(process.env.NODE_ENV !== "production") && mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") {
4146
- warn$1(`invalid <transition> mode: ${mode}`);
4147
- }
4167
+ checkTransitionMode(mode);
4148
4168
  if (state.isLeaving) {
4149
4169
  return emptyPlaceholder(child);
4150
4170
  }
@@ -4164,7 +4184,7 @@ const BaseTransitionImpl = {
4164
4184
  setTransitionHooks(innerChild, enterHooks);
4165
4185
  }
4166
4186
  let oldInnerChild = instance.subTree && getInnerChild$1(instance.subTree);
4167
- if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(innerChild, oldInnerChild) && recursiveGetSubtree(instance).type !== Comment) {
4187
+ if (oldInnerChild && oldInnerChild.type !== Comment && !isSameVNodeType(oldInnerChild, innerChild) && recursiveGetSubtree(instance).type !== Comment) {
4168
4188
  let leavingHooks = resolveTransitionHooks(
4169
4189
  oldInnerChild,
4170
4190
  rawProps,
@@ -4237,15 +4257,53 @@ function findNonCommentChild(children) {
4237
4257
  }
4238
4258
  const BaseTransition = BaseTransitionImpl;
4239
4259
  function getLeavingNodesForType(state, vnode) {
4240
- const { leavingVNodes } = state;
4241
- let leavingVNodesCache = leavingVNodes.get(vnode.type);
4260
+ const { leavingNodes } = state;
4261
+ let leavingVNodesCache = leavingNodes.get(vnode.type);
4242
4262
  if (!leavingVNodesCache) {
4243
4263
  leavingVNodesCache = /* @__PURE__ */ Object.create(null);
4244
- leavingVNodes.set(vnode.type, leavingVNodesCache);
4264
+ leavingNodes.set(vnode.type, leavingVNodesCache);
4245
4265
  }
4246
4266
  return leavingVNodesCache;
4247
4267
  }
4248
4268
  function resolveTransitionHooks(vnode, props, state, instance, postClone) {
4269
+ const key = String(vnode.key);
4270
+ const leavingVNodesCache = getLeavingNodesForType(state, vnode);
4271
+ const context = {
4272
+ setLeavingNodeCache: () => {
4273
+ leavingVNodesCache[key] = vnode;
4274
+ },
4275
+ unsetLeavingNodeCache: () => {
4276
+ if (leavingVNodesCache[key] === vnode) {
4277
+ delete leavingVNodesCache[key];
4278
+ }
4279
+ },
4280
+ earlyRemove: () => {
4281
+ const leavingVNode = leavingVNodesCache[key];
4282
+ if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {
4283
+ leavingVNode.el[leaveCbKey]();
4284
+ }
4285
+ },
4286
+ cloneHooks: (vnode2) => {
4287
+ const hooks = resolveTransitionHooks(
4288
+ vnode2,
4289
+ props,
4290
+ state,
4291
+ instance,
4292
+ postClone
4293
+ );
4294
+ if (postClone) postClone(hooks);
4295
+ return hooks;
4296
+ }
4297
+ };
4298
+ return baseResolveTransitionHooks(context, props, state, instance);
4299
+ }
4300
+ function baseResolveTransitionHooks(context, props, state, instance) {
4301
+ const {
4302
+ setLeavingNodeCache,
4303
+ unsetLeavingNodeCache,
4304
+ earlyRemove,
4305
+ cloneHooks
4306
+ } = context;
4249
4307
  const {
4250
4308
  appear,
4251
4309
  mode,
@@ -4263,8 +4321,6 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
4263
4321
  onAfterAppear,
4264
4322
  onAppearCancelled
4265
4323
  } = props;
4266
- const key = String(vnode.key);
4267
- const leavingVNodesCache = getLeavingNodesForType(state, vnode);
4268
4324
  const callHook = (hook, args) => {
4269
4325
  hook && callWithAsyncErrorHandling(
4270
4326
  hook,
@@ -4300,10 +4356,7 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
4300
4356
  /* cancelled */
4301
4357
  );
4302
4358
  }
4303
- const leavingVNode = leavingVNodesCache[key];
4304
- if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {
4305
- leavingVNode.el[leaveCbKey]();
4306
- }
4359
+ earlyRemove();
4307
4360
  callHook(hook, [el]);
4308
4361
  },
4309
4362
  enter(el) {
@@ -4340,7 +4393,6 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
4340
4393
  }
4341
4394
  },
4342
4395
  leave(el, remove) {
4343
- const key2 = String(vnode.key);
4344
4396
  if (el[enterCbKey$1]) {
4345
4397
  el[enterCbKey$1](
4346
4398
  true
@@ -4362,27 +4414,17 @@ function resolveTransitionHooks(vnode, props, state, instance, postClone) {
4362
4414
  callHook(onAfterLeave, [el]);
4363
4415
  }
4364
4416
  el[leaveCbKey] = void 0;
4365
- if (leavingVNodesCache[key2] === vnode) {
4366
- delete leavingVNodesCache[key2];
4367
- }
4417
+ unsetLeavingNodeCache(el);
4368
4418
  };
4369
- leavingVNodesCache[key2] = vnode;
4419
+ setLeavingNodeCache(el);
4370
4420
  if (onLeave) {
4371
4421
  callAsyncHook(onLeave, [el, done]);
4372
4422
  } else {
4373
4423
  done();
4374
4424
  }
4375
4425
  },
4376
- clone(vnode2) {
4377
- const hooks2 = resolveTransitionHooks(
4378
- vnode2,
4379
- props,
4380
- state,
4381
- instance,
4382
- postClone
4383
- );
4384
- if (postClone) postClone(hooks2);
4385
- return hooks2;
4426
+ clone(node) {
4427
+ return cloneHooks(node);
4386
4428
  }
4387
4429
  };
4388
4430
  return hooks;
@@ -4416,8 +4458,15 @@ function getInnerChild$1(vnode) {
4416
4458
  }
4417
4459
  function setTransitionHooks(vnode, hooks) {
4418
4460
  if (vnode.shapeFlag & 6 && vnode.component) {
4419
- vnode.transition = hooks;
4420
- setTransitionHooks(vnode.component.subTree, hooks);
4461
+ if (vnode.type.__vapor) {
4462
+ getVaporInterface(vnode.component, vnode).setTransitionHooks(
4463
+ vnode.component,
4464
+ hooks
4465
+ );
4466
+ } else {
4467
+ vnode.transition = hooks;
4468
+ setTransitionHooks(vnode.component.subTree, hooks);
4469
+ }
4421
4470
  } else if (vnode.shapeFlag & 128) {
4422
4471
  vnode.ssContent.transition = hooks.clone(vnode.ssContent);
4423
4472
  vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);
@@ -4447,8 +4496,12 @@ function getTransitionRawChildren(children, keepComment = false, parentKey) {
4447
4496
  }
4448
4497
  return ret;
4449
4498
  }
4499
+ function checkTransitionMode(mode) {
4500
+ if (!!(process.env.NODE_ENV !== "production") && mode && mode !== "in-out" && mode !== "out-in" && mode !== "default") {
4501
+ warn$1(`invalid <transition> mode: ${mode}`);
4502
+ }
4503
+ }
4450
4504
 
4451
- /*! #__NO_SIDE_EFFECTS__ */
4452
4505
  // @__NO_SIDE_EFFECTS__
4453
4506
  function defineComponent(options, extraOptions) {
4454
4507
  return isFunction(options) ? (
@@ -4501,6 +4554,7 @@ function useTemplateRef(key) {
4501
4554
  return ret;
4502
4555
  }
4503
4556
 
4557
+ const pendingSetRefMap = /* @__PURE__ */ new WeakMap();
4504
4558
  function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4505
4559
  if (isArray(rawRef)) {
4506
4560
  rawRef.forEach(
@@ -4532,28 +4586,23 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4532
4586
  const oldRef = oldRawRef && oldRawRef.r;
4533
4587
  const refs = owner.refs === EMPTY_OBJ ? owner.refs = {} : owner.refs;
4534
4588
  const setupState = owner.setupState;
4535
- const rawSetupState = toRaw(setupState);
4536
- const canSetSetupRef = setupState === EMPTY_OBJ ? () => false : (key) => {
4537
- if (!!(process.env.NODE_ENV !== "production")) {
4538
- if (hasOwn(rawSetupState, key) && !isRef(rawSetupState[key])) {
4539
- warn$1(
4540
- `Template ref "${key}" used on a non-ref value. It will not work in the production build.`
4541
- );
4542
- }
4543
- if (knownTemplateRefs.has(rawSetupState[key])) {
4544
- return false;
4545
- }
4546
- }
4547
- return hasOwn(rawSetupState, key);
4589
+ const canSetSetupRef = createCanSetSetupRefChecker(setupState);
4590
+ const canSetRef = (ref2) => {
4591
+ return !!!(process.env.NODE_ENV !== "production") || !knownTemplateRefs.has(ref2);
4548
4592
  };
4549
4593
  if (oldRef != null && oldRef !== ref) {
4594
+ invalidatePendingSetRef(oldRawRef);
4550
4595
  if (isString(oldRef)) {
4551
4596
  refs[oldRef] = null;
4552
4597
  if (canSetSetupRef(oldRef)) {
4553
4598
  setupState[oldRef] = null;
4554
4599
  }
4555
4600
  } else if (isRef(oldRef)) {
4556
- oldRef.value = null;
4601
+ if (canSetRef(oldRef)) {
4602
+ oldRef.value = null;
4603
+ }
4604
+ const oldRawRefAtom = oldRawRef;
4605
+ if (oldRawRefAtom.k) refs[oldRawRefAtom.k] = null;
4557
4606
  }
4558
4607
  }
4559
4608
  if (isFunction(ref)) {
@@ -4564,7 +4613,7 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4564
4613
  if (_isString || _isRef) {
4565
4614
  const doSet = () => {
4566
4615
  if (rawRef.f) {
4567
- const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : ref.value;
4616
+ const existing = _isString ? canSetSetupRef(ref) ? setupState[ref] : refs[ref] : canSetRef(ref) || !rawRef.k ? ref.value : refs[rawRef.k];
4568
4617
  if (isUnmount) {
4569
4618
  isArray(existing) && remove(existing, refValue);
4570
4619
  } else {
@@ -4575,8 +4624,11 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4575
4624
  setupState[ref] = refs[ref];
4576
4625
  }
4577
4626
  } else {
4578
- ref.value = [refValue];
4579
- if (rawRef.k) refs[rawRef.k] = ref.value;
4627
+ const newVal = [refValue];
4628
+ if (canSetRef(ref)) {
4629
+ ref.value = newVal;
4630
+ }
4631
+ if (rawRef.k) refs[rawRef.k] = newVal;
4580
4632
  }
4581
4633
  } else if (!existing.includes(refValue)) {
4582
4634
  existing.push(refValue);
@@ -4588,15 +4640,23 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4588
4640
  setupState[ref] = value;
4589
4641
  }
4590
4642
  } else if (_isRef) {
4591
- ref.value = value;
4643
+ if (canSetRef(ref)) {
4644
+ ref.value = value;
4645
+ }
4592
4646
  if (rawRef.k) refs[rawRef.k] = value;
4593
4647
  } else if (!!(process.env.NODE_ENV !== "production")) {
4594
4648
  warn$1("Invalid template ref type:", ref, `(${typeof ref})`);
4595
4649
  }
4596
4650
  };
4597
4651
  if (value) {
4598
- queuePostRenderEffect(doSet, -1, parentSuspense);
4652
+ const job = () => {
4653
+ doSet();
4654
+ pendingSetRefMap.delete(rawRef);
4655
+ };
4656
+ pendingSetRefMap.set(rawRef, job);
4657
+ queuePostRenderEffect(job, -1, parentSuspense);
4599
4658
  } else {
4659
+ invalidatePendingSetRef(rawRef);
4600
4660
  doSet();
4601
4661
  }
4602
4662
  } else if (!!(process.env.NODE_ENV !== "production")) {
@@ -4604,6 +4664,29 @@ function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
4604
4664
  }
4605
4665
  }
4606
4666
  }
4667
+ function createCanSetSetupRefChecker(setupState) {
4668
+ const rawSetupState = toRaw(setupState);
4669
+ return setupState === void 0 || setupState === EMPTY_OBJ ? NO : (key) => {
4670
+ if (!!(process.env.NODE_ENV !== "production")) {
4671
+ if (hasOwn(rawSetupState, key) && !isRef(rawSetupState[key])) {
4672
+ warn$1(
4673
+ `Template ref "${key}" used on a non-ref value. It will not work in the production build.`
4674
+ );
4675
+ }
4676
+ if (knownTemplateRefs.has(rawSetupState[key])) {
4677
+ return false;
4678
+ }
4679
+ }
4680
+ return hasOwn(rawSetupState, key);
4681
+ };
4682
+ }
4683
+ function invalidatePendingSetRef(rawRef) {
4684
+ const pendingSetRef = pendingSetRefMap.get(rawRef);
4685
+ if (pendingSetRef) {
4686
+ pendingSetRef.flags |= 4;
4687
+ pendingSetRefMap.delete(rawRef);
4688
+ }
4689
+ }
4607
4690
 
4608
4691
  let hasLoggedMismatchError = false;
4609
4692
  const logMismatchError = () => {
@@ -4700,7 +4783,7 @@ function createHydrationFunctions(rendererInternals) {
4700
4783
  }
4701
4784
  break;
4702
4785
  case Comment:
4703
- if (isTemplateNode(node)) {
4786
+ if (isTemplateNode$1(node)) {
4704
4787
  nextNode = nextSibling(node);
4705
4788
  replaceNode(
4706
4789
  vnode.el = node.content.firstChild,
@@ -4748,9 +4831,15 @@ function createHydrationFunctions(rendererInternals) {
4748
4831
  );
4749
4832
  }
4750
4833
  break;
4834
+ case VaporSlot:
4835
+ nextNode = getVaporInterface(parentComponent, vnode).hydrateSlot(
4836
+ vnode,
4837
+ node
4838
+ );
4839
+ break;
4751
4840
  default:
4752
4841
  if (shapeFlag & 1) {
4753
- if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode(node)) {
4842
+ if ((domType !== 1 || vnode.type.toLowerCase() !== node.tagName.toLowerCase()) && !isTemplateNode$1(node)) {
4754
4843
  nextNode = onMismatch();
4755
4844
  } else {
4756
4845
  nextNode = hydrateElement(
@@ -4763,9 +4852,6 @@ function createHydrationFunctions(rendererInternals) {
4763
4852
  );
4764
4853
  }
4765
4854
  } else if (shapeFlag & 6) {
4766
- if (vnode.type.__vapor) {
4767
- throw new Error("Vapor component hydration is not supported yet.");
4768
- }
4769
4855
  vnode.slotScopeIds = slotScopeIds;
4770
4856
  const container = parentNode(node);
4771
4857
  if (isFragmentStart) {
@@ -4775,15 +4861,25 @@ function createHydrationFunctions(rendererInternals) {
4775
4861
  } else {
4776
4862
  nextNode = nextSibling(node);
4777
4863
  }
4778
- mountComponent(
4779
- vnode,
4780
- container,
4781
- null,
4782
- parentComponent,
4783
- parentSuspense,
4784
- getContainerType(container),
4785
- optimized
4786
- );
4864
+ if (vnode.type.__vapor) {
4865
+ getVaporInterface(parentComponent, vnode).hydrate(
4866
+ vnode,
4867
+ node,
4868
+ container,
4869
+ null,
4870
+ parentComponent
4871
+ );
4872
+ } else {
4873
+ mountComponent(
4874
+ vnode,
4875
+ container,
4876
+ null,
4877
+ parentComponent,
4878
+ parentSuspense,
4879
+ getContainerType(container),
4880
+ optimized
4881
+ );
4882
+ }
4787
4883
  if (isAsyncWrapper(vnode) && !vnode.type.__asyncResolved) {
4788
4884
  let subTree;
4789
4885
  if (isFragmentStart) {
@@ -4840,7 +4936,7 @@ function createHydrationFunctions(rendererInternals) {
4840
4936
  invokeDirectiveHook(vnode, null, parentComponent, "created");
4841
4937
  }
4842
4938
  let needCallTransitionHooks = false;
4843
- if (isTemplateNode(el)) {
4939
+ if (isTemplateNode$1(el)) {
4844
4940
  needCallTransitionHooks = needTransition(
4845
4941
  null,
4846
4942
  // no need check parentSuspense in hydration
@@ -4868,7 +4964,7 @@ function createHydrationFunctions(rendererInternals) {
4868
4964
  );
4869
4965
  let hasWarned = false;
4870
4966
  while (next) {
4871
- if (!isMismatchAllowed(el, 1 /* CHILDREN */)) {
4967
+ if (!isMismatchAllowed(el, 1)) {
4872
4968
  if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {
4873
4969
  warn$1(
4874
4970
  `Hydration children mismatch on`,
@@ -4889,14 +4985,16 @@ Server rendered element contains more child nodes than client vdom.`
4889
4985
  if (clientText[0] === "\n" && (el.tagName === "PRE" || el.tagName === "TEXTAREA")) {
4890
4986
  clientText = clientText.slice(1);
4891
4987
  }
4892
- if (el.textContent !== clientText) {
4893
- if (!isMismatchAllowed(el, 0 /* TEXT */)) {
4988
+ const { textContent } = el;
4989
+ if (textContent !== clientText && // innerHTML normalize \r\n or \r into a single \n in the DOM
4990
+ textContent !== clientText.replace(/\r\n|\r/g, "\n")) {
4991
+ if (!isMismatchAllowed(el, 0)) {
4894
4992
  (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(
4895
4993
  `Hydration text content mismatch on`,
4896
4994
  el,
4897
4995
  `
4898
- - rendered on server: ${el.textContent}
4899
- - expected on client: ${vnode.children}`
4996
+ - rendered on server: ${textContent}
4997
+ - expected on client: ${clientText}`
4900
4998
  );
4901
4999
  logMismatchError();
4902
5000
  }
@@ -4983,7 +5081,7 @@ Server rendered element contains more child nodes than client vdom.`
4983
5081
  } else if (isText && !vnode.children) {
4984
5082
  insert(vnode.el = createText(""), container);
4985
5083
  } else {
4986
- if (!isMismatchAllowed(container, 1 /* CHILDREN */)) {
5084
+ if (!isMismatchAllowed(container, 1)) {
4987
5085
  if ((!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && !hasWarned) {
4988
5086
  warn$1(
4989
5087
  `Hydration children mismatch on`,
@@ -5033,7 +5131,7 @@ Server rendered element contains fewer child nodes than client vdom.`
5033
5131
  }
5034
5132
  };
5035
5133
  const handleMismatch = (node, vnode, parentComponent, parentSuspense, slotScopeIds, isFragment) => {
5036
- if (!isMismatchAllowed(node.parentElement, 1 /* CHILDREN */)) {
5134
+ if (!isMismatchAllowed(node.parentElement, 1)) {
5037
5135
  (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_HYDRATION_MISMATCH_DETAILS__) && warn$1(
5038
5136
  `Hydration node mismatch:
5039
5137
  - rendered on server:`,
@@ -5106,11 +5204,11 @@ Server rendered element contains fewer child nodes than client vdom.`
5106
5204
  parent = parent.parent;
5107
5205
  }
5108
5206
  };
5109
- const isTemplateNode = (node) => {
5110
- return node.nodeType === 1 && node.tagName === "TEMPLATE";
5111
- };
5112
5207
  return [hydrate, hydrateNode];
5113
5208
  }
5209
+ const isTemplateNode$1 = (node) => {
5210
+ return node.nodeType === 1 && node.tagName === "TEMPLATE";
5211
+ };
5114
5212
  function propHasMismatch(el, key, clientValue, vnode, instance) {
5115
5213
  let mismatchType;
5116
5214
  let mismatchKey;
@@ -5125,7 +5223,7 @@ function propHasMismatch(el, key, clientValue, vnode, instance) {
5125
5223
  }
5126
5224
  expected = normalizeClass(clientValue);
5127
5225
  if (!isSetEqual(toClassSet(actual || ""), toClassSet(expected))) {
5128
- mismatchType = 2 /* CLASS */;
5226
+ mismatchType = 2;
5129
5227
  mismatchKey = `class`;
5130
5228
  }
5131
5229
  } else if (key === "style") {
@@ -5144,31 +5242,43 @@ function propHasMismatch(el, key, clientValue, vnode, instance) {
5144
5242
  resolveCssVars(instance, vnode, expectedMap);
5145
5243
  }
5146
5244
  if (!isMapEqual(actualMap, expectedMap)) {
5147
- mismatchType = 3 /* STYLE */;
5245
+ mismatchType = 3;
5148
5246
  mismatchKey = "style";
5149
5247
  }
5150
- } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {
5151
- if (isBooleanAttr(key)) {
5152
- actual = el.hasAttribute(key);
5153
- expected = includeBooleanAttr(clientValue);
5154
- } else if (clientValue == null) {
5155
- actual = el.hasAttribute(key);
5156
- expected = false;
5157
- } else {
5158
- if (el.hasAttribute(key)) {
5159
- actual = el.getAttribute(key);
5160
- } else if (key === "value" && el.tagName === "TEXTAREA") {
5161
- actual = el.value;
5162
- } else {
5163
- actual = false;
5164
- }
5165
- expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false;
5166
- }
5248
+ } else if (isValidHtmlOrSvgAttribute(el, key)) {
5249
+ ({ actual, expected } = getAttributeMismatch(el, key, clientValue));
5167
5250
  if (actual !== expected) {
5168
- mismatchType = 4 /* ATTRIBUTE */;
5251
+ mismatchType = 4;
5169
5252
  mismatchKey = key;
5170
5253
  }
5171
5254
  }
5255
+ return warnPropMismatch(el, mismatchKey, mismatchType, actual, expected);
5256
+ }
5257
+ function getAttributeMismatch(el, key, clientValue) {
5258
+ let actual;
5259
+ let expected;
5260
+ if (isBooleanAttr(key)) {
5261
+ actual = el.hasAttribute(key);
5262
+ expected = includeBooleanAttr(clientValue);
5263
+ } else if (clientValue == null) {
5264
+ actual = el.hasAttribute(key);
5265
+ expected = false;
5266
+ } else {
5267
+ if (el.hasAttribute(key)) {
5268
+ actual = el.getAttribute(key);
5269
+ } else if (key === "value" && el.tagName === "TEXTAREA") {
5270
+ actual = el.value;
5271
+ } else {
5272
+ actual = false;
5273
+ }
5274
+ expected = isRenderableAttrValue(clientValue) ? String(clientValue) : false;
5275
+ }
5276
+ return { actual, expected };
5277
+ }
5278
+ function isValidHtmlOrSvgAttribute(el, key) {
5279
+ return el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key));
5280
+ }
5281
+ function warnPropMismatch(el, mismatchKey, mismatchType, actual, expected) {
5172
5282
  if (mismatchType != null && !isMismatchAllowed(el, mismatchType)) {
5173
5283
  const format = (v) => v === false ? `(not rendered)` : `${mismatchKey}="${v}"`;
5174
5284
  const preSegment = `Hydration ${MismatchTypeString[mismatchType]} mismatch on`;
@@ -5239,15 +5349,27 @@ function resolveCssVars(instance, vnode, expectedMap) {
5239
5349
  }
5240
5350
  }
5241
5351
  const allowMismatchAttr = "data-allow-mismatch";
5352
+ const MismatchTypes = {
5353
+ "TEXT": 0,
5354
+ "0": "TEXT",
5355
+ "CHILDREN": 1,
5356
+ "1": "CHILDREN",
5357
+ "CLASS": 2,
5358
+ "2": "CLASS",
5359
+ "STYLE": 3,
5360
+ "3": "STYLE",
5361
+ "ATTRIBUTE": 4,
5362
+ "4": "ATTRIBUTE"
5363
+ };
5242
5364
  const MismatchTypeString = {
5243
- [0 /* TEXT */]: "text",
5244
- [1 /* CHILDREN */]: "children",
5245
- [2 /* CLASS */]: "class",
5246
- [3 /* STYLE */]: "style",
5247
- [4 /* ATTRIBUTE */]: "attribute"
5365
+ [0]: "text",
5366
+ [1]: "children",
5367
+ [2]: "class",
5368
+ [3]: "style",
5369
+ [4]: "attribute"
5248
5370
  };
5249
5371
  function isMismatchAllowed(el, allowedType) {
5250
- if (allowedType === 0 /* TEXT */ || allowedType === 1 /* CHILDREN */) {
5372
+ if (allowedType === 0 || allowedType === 1) {
5251
5373
  while (el && !el.hasAttribute(allowMismatchAttr)) {
5252
5374
  el = el.parentElement;
5253
5375
  }
@@ -5259,7 +5381,7 @@ function isMismatchAllowed(el, allowedType) {
5259
5381
  return true;
5260
5382
  } else {
5261
5383
  const list = allowedAttr.split(",");
5262
- if (allowedType === 0 /* TEXT */ && list.includes("children")) {
5384
+ if (allowedType === 0 && list.includes("children")) {
5263
5385
  return true;
5264
5386
  }
5265
5387
  return list.includes(MismatchTypeString[allowedType]);
@@ -5316,7 +5438,9 @@ const hydrateOnInteraction = (interactions = []) => (hydrate, forEach) => {
5316
5438
  hasHydrated = true;
5317
5439
  teardown();
5318
5440
  hydrate();
5319
- e.target.dispatchEvent(new e.constructor(e.type, e));
5441
+ if (!(`$evt${e.type}` in e.target)) {
5442
+ e.target.dispatchEvent(new e.constructor(e.type, e));
5443
+ }
5320
5444
  }
5321
5445
  };
5322
5446
  const teardown = () => {
@@ -5358,104 +5482,46 @@ function forEachElement(node, cb) {
5358
5482
  }
5359
5483
 
5360
5484
  const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
5361
- /*! #__NO_SIDE_EFFECTS__ */
5362
5485
  // @__NO_SIDE_EFFECTS__
5363
5486
  function defineAsyncComponent(source) {
5364
- if (isFunction(source)) {
5365
- source = { loader: source };
5366
- }
5367
5487
  const {
5368
- loader,
5369
- loadingComponent,
5370
- errorComponent,
5371
- delay = 200,
5372
- hydrate: hydrateStrategy,
5373
- timeout,
5374
- // undefined = never times out
5375
- suspensible = true,
5376
- onError: userOnError
5377
- } = source;
5378
- let pendingRequest = null;
5379
- let resolvedComp;
5380
- let retries = 0;
5381
- const retry = () => {
5382
- retries++;
5383
- pendingRequest = null;
5384
- return load();
5385
- };
5386
- const load = () => {
5387
- let thisRequest;
5388
- return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {
5389
- err = err instanceof Error ? err : new Error(String(err));
5390
- if (userOnError) {
5391
- return new Promise((resolve, reject) => {
5392
- const userRetry = () => resolve(retry());
5393
- const userFail = () => reject(err);
5394
- userOnError(err, userRetry, userFail, retries + 1);
5395
- });
5396
- } else {
5397
- throw err;
5398
- }
5399
- }).then((comp) => {
5400
- if (thisRequest !== pendingRequest && pendingRequest) {
5401
- return pendingRequest;
5402
- }
5403
- if (!!(process.env.NODE_ENV !== "production") && !comp) {
5404
- warn$1(
5405
- `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`
5406
- );
5407
- }
5408
- if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) {
5409
- comp = comp.default;
5410
- }
5411
- if (!!(process.env.NODE_ENV !== "production") && comp && !isObject(comp) && !isFunction(comp)) {
5412
- throw new Error(`Invalid async component load result: ${comp}`);
5413
- }
5414
- resolvedComp = comp;
5415
- return comp;
5416
- }));
5417
- };
5488
+ load,
5489
+ getResolvedComp,
5490
+ setPendingRequest,
5491
+ source: {
5492
+ loadingComponent,
5493
+ errorComponent,
5494
+ delay,
5495
+ hydrate: hydrateStrategy,
5496
+ timeout,
5497
+ suspensible = true
5498
+ }
5499
+ } = createAsyncComponentContext(source);
5418
5500
  return defineComponent({
5419
5501
  name: "AsyncComponentWrapper",
5420
5502
  __asyncLoader: load,
5421
5503
  __asyncHydrate(el, instance, hydrate) {
5422
- let patched = false;
5423
- const doHydrate = hydrateStrategy ? () => {
5424
- const performHydrate = () => {
5425
- if (!!(process.env.NODE_ENV !== "production") && patched) {
5426
- warn$1(
5427
- `Skipping lazy hydration for component '${getComponentName(resolvedComp)}': it was updated before lazy hydration performed.`
5428
- );
5429
- return;
5430
- }
5431
- hydrate();
5432
- };
5433
- const teardown = hydrateStrategy(
5434
- performHydrate,
5435
- (cb) => forEachElement(el, cb)
5436
- );
5437
- if (teardown) {
5438
- (instance.bum || (instance.bum = [])).push(teardown);
5439
- }
5440
- (instance.u || (instance.u = [])).push(() => patched = true);
5441
- } : hydrate;
5442
- if (resolvedComp) {
5443
- doHydrate();
5444
- } else {
5445
- load().then(() => !instance.isUnmounted && doHydrate());
5446
- }
5504
+ performAsyncHydrate(
5505
+ el,
5506
+ instance,
5507
+ hydrate,
5508
+ getResolvedComp,
5509
+ load,
5510
+ hydrateStrategy
5511
+ );
5447
5512
  },
5448
5513
  get __asyncResolved() {
5449
- return resolvedComp;
5514
+ return getResolvedComp();
5450
5515
  },
5451
5516
  setup() {
5452
5517
  const instance = currentInstance;
5453
5518
  markAsyncBoundary(instance);
5519
+ let resolvedComp = getResolvedComp();
5454
5520
  if (resolvedComp) {
5455
5521
  return () => createInnerComp(resolvedComp, instance);
5456
5522
  }
5457
5523
  const onError = (err) => {
5458
- pendingRequest = null;
5524
+ setPendingRequest(null);
5459
5525
  handleError(
5460
5526
  err,
5461
5527
  instance,
@@ -5473,25 +5539,11 @@ function defineAsyncComponent(source) {
5473
5539
  }) : null;
5474
5540
  });
5475
5541
  }
5476
- const loaded = ref(false);
5477
- const error = ref();
5478
- const delayed = ref(!!delay);
5479
- if (delay) {
5480
- setTimeout(() => {
5481
- delayed.value = false;
5482
- }, delay);
5483
- }
5484
- if (timeout != null) {
5485
- setTimeout(() => {
5486
- if (!loaded.value && !error.value) {
5487
- const err = new Error(
5488
- `Async component timed out after ${timeout}ms.`
5489
- );
5490
- onError(err);
5491
- error.value = err;
5492
- }
5493
- }, timeout);
5494
- }
5542
+ const { loaded, error, delayed } = useAsyncComponentState(
5543
+ delay,
5544
+ timeout,
5545
+ onError
5546
+ );
5495
5547
  load().then(() => {
5496
5548
  loaded.value = true;
5497
5549
  if (instance.parent && instance.parent.vnode && isKeepAlive(instance.parent.vnode)) {
@@ -5502,6 +5554,7 @@ function defineAsyncComponent(source) {
5502
5554
  error.value = err;
5503
5555
  });
5504
5556
  return () => {
5557
+ resolvedComp = getResolvedComp();
5505
5558
  if (loaded.value && resolvedComp) {
5506
5559
  return createInnerComp(resolvedComp, instance);
5507
5560
  } else if (error.value && errorComponent) {
@@ -5509,7 +5562,10 @@ function defineAsyncComponent(source) {
5509
5562
  error: error.value
5510
5563
  });
5511
5564
  } else if (loadingComponent && !delayed.value) {
5512
- return createVNode(loadingComponent);
5565
+ return createInnerComp(
5566
+ loadingComponent,
5567
+ instance
5568
+ );
5513
5569
  }
5514
5570
  };
5515
5571
  }
@@ -5523,6 +5579,108 @@ function createInnerComp(comp, parent) {
5523
5579
  delete parent.vnode.ce;
5524
5580
  return vnode;
5525
5581
  }
5582
+ function createAsyncComponentContext(source) {
5583
+ if (isFunction(source)) {
5584
+ source = { loader: source };
5585
+ }
5586
+ const { loader, onError: userOnError } = source;
5587
+ let pendingRequest = null;
5588
+ let resolvedComp;
5589
+ let retries = 0;
5590
+ const retry = () => {
5591
+ retries++;
5592
+ pendingRequest = null;
5593
+ return load();
5594
+ };
5595
+ const load = () => {
5596
+ let thisRequest;
5597
+ return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => {
5598
+ err = err instanceof Error ? err : new Error(String(err));
5599
+ if (userOnError) {
5600
+ return new Promise((resolve, reject) => {
5601
+ const userRetry = () => resolve(retry());
5602
+ const userFail = () => reject(err);
5603
+ userOnError(err, userRetry, userFail, retries + 1);
5604
+ });
5605
+ } else {
5606
+ throw err;
5607
+ }
5608
+ }).then((comp) => {
5609
+ if (thisRequest !== pendingRequest && pendingRequest) {
5610
+ return pendingRequest;
5611
+ }
5612
+ if (!!(process.env.NODE_ENV !== "production") && !comp) {
5613
+ warn$1(
5614
+ `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.`
5615
+ );
5616
+ }
5617
+ if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) {
5618
+ comp = comp.default;
5619
+ }
5620
+ if (!!(process.env.NODE_ENV !== "production") && comp && !isObject(comp) && !isFunction(comp)) {
5621
+ throw new Error(`Invalid async component load result: ${comp}`);
5622
+ }
5623
+ resolvedComp = comp;
5624
+ return comp;
5625
+ }));
5626
+ };
5627
+ return {
5628
+ load,
5629
+ source,
5630
+ getResolvedComp: () => resolvedComp,
5631
+ setPendingRequest: (request) => pendingRequest = request
5632
+ };
5633
+ }
5634
+ const useAsyncComponentState = (delay, timeout, onError) => {
5635
+ const loaded = ref(false);
5636
+ const error = ref();
5637
+ const delayed = ref(!!delay);
5638
+ if (delay) {
5639
+ setTimeout(() => {
5640
+ delayed.value = false;
5641
+ }, delay);
5642
+ }
5643
+ if (timeout != null) {
5644
+ setTimeout(() => {
5645
+ if (!loaded.value && !error.value) {
5646
+ const err = new Error(`Async component timed out after ${timeout}ms.`);
5647
+ onError(err);
5648
+ error.value = err;
5649
+ }
5650
+ }, timeout);
5651
+ }
5652
+ return { loaded, error, delayed };
5653
+ };
5654
+ function performAsyncHydrate(el, instance, hydrate, getResolvedComp, load, hydrateStrategy) {
5655
+ let patched = false;
5656
+ (instance.bu || (instance.bu = [])).push(() => patched = true);
5657
+ const performHydrate = () => {
5658
+ if (patched) {
5659
+ if (!!(process.env.NODE_ENV !== "production")) {
5660
+ const resolvedComp = getResolvedComp();
5661
+ warn$1(
5662
+ `Skipping lazy hydration for component '${getComponentName(resolvedComp) || resolvedComp.__file}': it was updated before lazy hydration performed.`
5663
+ );
5664
+ }
5665
+ return;
5666
+ }
5667
+ hydrate();
5668
+ };
5669
+ const doHydrate = hydrateStrategy ? () => {
5670
+ const teardown = hydrateStrategy(
5671
+ performHydrate,
5672
+ (cb) => forEachElement(el, cb)
5673
+ );
5674
+ if (teardown) {
5675
+ (instance.bum || (instance.bum = [])).push(teardown);
5676
+ }
5677
+ } : performHydrate;
5678
+ if (getResolvedComp()) {
5679
+ doHydrate();
5680
+ } else {
5681
+ load().then(() => !instance.isUnmounted && doHydrate());
5682
+ }
5683
+ }
5526
5684
 
5527
5685
  const isKeepAlive = (vnode) => vnode.type.__isKeepAlive;
5528
5686
  const KeepAliveImpl = {
@@ -5552,86 +5710,37 @@ const KeepAliveImpl = {
5552
5710
  keepAliveInstance.__v_cache = cache;
5553
5711
  }
5554
5712
  const parentSuspense = keepAliveInstance.suspense;
5713
+ const { renderer } = sharedContext;
5555
5714
  const {
5556
- renderer: {
5557
- p: patch,
5558
- m: move,
5559
- um: _unmount,
5560
- o: { createElement }
5561
- }
5562
- } = sharedContext;
5715
+ um: _unmount,
5716
+ o: { createElement }
5717
+ } = renderer;
5563
5718
  const storageContainer = createElement("div");
5719
+ sharedContext.getStorageContainer = () => storageContainer;
5720
+ sharedContext.getCachedComponent = (vnode) => {
5721
+ const key = vnode.key == null ? vnode.type : vnode.key;
5722
+ return cache.get(key);
5723
+ };
5564
5724
  sharedContext.activate = (vnode, container, anchor, namespace, optimized) => {
5565
- const instance = vnode.component;
5566
- move(
5725
+ activate(
5567
5726
  vnode,
5568
5727
  container,
5569
5728
  anchor,
5570
- 0,
5729
+ renderer,
5571
5730
  keepAliveInstance,
5572
- parentSuspense
5573
- );
5574
- patch(
5575
- instance.vnode,
5576
- vnode,
5577
- container,
5578
- anchor,
5579
- instance,
5580
5731
  parentSuspense,
5581
5732
  namespace,
5582
- vnode.slotScopeIds,
5583
5733
  optimized
5584
5734
  );
5585
- queuePostRenderEffect(
5586
- () => {
5587
- instance.isDeactivated = false;
5588
- if (instance.a) {
5589
- invokeArrayFns(instance.a);
5590
- }
5591
- const vnodeHook = vnode.props && vnode.props.onVnodeMounted;
5592
- if (vnodeHook) {
5593
- invokeVNodeHook(vnodeHook, instance.parent, vnode);
5594
- }
5595
- },
5596
- void 0,
5597
- parentSuspense
5598
- );
5599
- if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
5600
- devtoolsComponentAdded(instance);
5601
- }
5602
5735
  };
5603
5736
  sharedContext.deactivate = (vnode) => {
5604
- const instance = vnode.component;
5605
- invalidateMount(instance.m);
5606
- invalidateMount(instance.a);
5607
- move(
5737
+ deactivate(
5608
5738
  vnode,
5609
5739
  storageContainer,
5610
- null,
5611
- 1,
5740
+ renderer,
5612
5741
  keepAliveInstance,
5613
5742
  parentSuspense
5614
5743
  );
5615
- queuePostRenderEffect(
5616
- () => {
5617
- if (instance.da) {
5618
- invokeArrayFns(instance.da);
5619
- }
5620
- const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;
5621
- if (vnodeHook) {
5622
- invokeVNodeHook(vnodeHook, instance.parent, vnode);
5623
- }
5624
- instance.isDeactivated = true;
5625
- },
5626
- void 0,
5627
- parentSuspense
5628
- );
5629
- if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
5630
- devtoolsComponentAdded(instance);
5631
- }
5632
- if (!!(process.env.NODE_ENV !== "production") && true) {
5633
- instance.__keepAliveStorageContainer = storageContainer;
5634
- }
5635
5744
  };
5636
5745
  function unmount(vnode) {
5637
5746
  resetShapeFlag(vnode);
@@ -5782,7 +5891,7 @@ function onActivated(hook, target) {
5782
5891
  function onDeactivated(hook, target) {
5783
5892
  registerKeepAliveHook(hook, "da", target);
5784
5893
  }
5785
- function registerKeepAliveHook(hook, type, target = getCurrentInstance()) {
5894
+ function registerKeepAliveHook(hook, type, target = getCurrentGenericInstance()) {
5786
5895
  const wrappedHook = hook.__wdc || (hook.__wdc = () => {
5787
5896
  let current = target;
5788
5897
  while (current) {
@@ -5796,8 +5905,9 @@ function registerKeepAliveHook(hook, type, target = getCurrentInstance()) {
5796
5905
  injectHook(type, wrappedHook, target);
5797
5906
  if (target) {
5798
5907
  let current = target.parent;
5799
- while (current && current.parent && current.parent.vnode) {
5800
- if (isKeepAlive(current.parent.vnode)) {
5908
+ while (current && current.parent) {
5909
+ let parent = current.parent;
5910
+ if (isKeepAlive(parent.vapor ? parent : parent.vnode)) {
5801
5911
  injectToKeepAliveRoot(wrappedHook, type, target, current);
5802
5912
  }
5803
5913
  current = current.parent;
@@ -5823,6 +5933,71 @@ function resetShapeFlag(vnode) {
5823
5933
  function getInnerChild(vnode) {
5824
5934
  return vnode.shapeFlag & 128 ? vnode.ssContent : vnode;
5825
5935
  }
5936
+ function activate(vnode, container, anchor, { p: patch, m: move }, parentComponent, parentSuspense, namespace, optimized) {
5937
+ const instance = vnode.component;
5938
+ move(
5939
+ vnode,
5940
+ container,
5941
+ anchor,
5942
+ 0,
5943
+ parentComponent,
5944
+ parentSuspense
5945
+ );
5946
+ patch(
5947
+ instance.vnode,
5948
+ vnode,
5949
+ container,
5950
+ anchor,
5951
+ instance,
5952
+ parentSuspense,
5953
+ namespace,
5954
+ vnode.slotScopeIds,
5955
+ optimized
5956
+ );
5957
+ queuePostRenderEffect(
5958
+ () => {
5959
+ instance.isDeactivated = false;
5960
+ if (instance.a) {
5961
+ invokeArrayFns(instance.a);
5962
+ }
5963
+ const vnodeHook = vnode.props && vnode.props.onVnodeMounted;
5964
+ if (vnodeHook) {
5965
+ invokeVNodeHook(vnodeHook, instance.parent, vnode);
5966
+ }
5967
+ },
5968
+ void 0,
5969
+ parentSuspense
5970
+ );
5971
+ if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
5972
+ devtoolsComponentAdded(instance);
5973
+ }
5974
+ }
5975
+ function deactivate(vnode, container, { m: move }, parentComponent, parentSuspense) {
5976
+ const instance = vnode.component;
5977
+ invalidateMount(instance.m);
5978
+ invalidateMount(instance.a);
5979
+ move(vnode, container, null, 1, parentComponent, parentSuspense);
5980
+ queuePostRenderEffect(
5981
+ () => {
5982
+ if (instance.da) {
5983
+ invokeArrayFns(instance.da);
5984
+ }
5985
+ const vnodeHook = vnode.props && vnode.props.onVnodeUnmounted;
5986
+ if (vnodeHook) {
5987
+ invokeVNodeHook(vnodeHook, instance.parent, vnode);
5988
+ }
5989
+ instance.isDeactivated = true;
5990
+ },
5991
+ void 0,
5992
+ parentSuspense
5993
+ );
5994
+ if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
5995
+ devtoolsComponentAdded(instance);
5996
+ }
5997
+ if (!!(process.env.NODE_ENV !== "production") && true) {
5998
+ instance.__keepAliveStorageContainer = container;
5999
+ }
6000
+ }
5826
6001
 
5827
6002
  function injectHook(type, hook, target = currentInstance, prepend = false) {
5828
6003
  if (target) {
@@ -6298,12 +6473,13 @@ function renderSlot(slots, name, props = {}, fallback, noSlotted) {
6298
6473
  return ret;
6299
6474
  }
6300
6475
  if (currentRenderingInstance && (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce)) {
6476
+ const hasProps = Object.keys(props).length > 0;
6301
6477
  if (name !== "default") props.name = name;
6302
6478
  return openBlock(), createBlock(
6303
6479
  Fragment,
6304
6480
  null,
6305
6481
  [createVNode("slot", props, fallback && fallback())],
6306
- 64
6482
+ hasProps ? -2 : 64
6307
6483
  );
6308
6484
  }
6309
6485
  if (!!(process.env.NODE_ENV !== "production") && slot && slot.length > 1) {
@@ -6317,6 +6493,7 @@ function renderSlot(slots, name, props = {}, fallback, noSlotted) {
6317
6493
  }
6318
6494
  openBlock();
6319
6495
  const validSlotContent = slot && ensureValidVNode(slot(props));
6496
+ ensureVaporSlotFallback(validSlotContent, fallback);
6320
6497
  const slotKey = props.key || // slot content array of a dynamic conditional slot may have a branch
6321
6498
  // key attached in the `createSlots` helper, respect that
6322
6499
  validSlotContent && validSlotContent.key;
@@ -6346,6 +6523,14 @@ function ensureValidVNode(vnodes) {
6346
6523
  return true;
6347
6524
  }) ? vnodes : null;
6348
6525
  }
6526
+ function ensureVaporSlotFallback(vnodes, fallback) {
6527
+ let vaporSlot;
6528
+ if (vnodes && vnodes.length === 1 && isVNode(vnodes[0]) && (vaporSlot = vnodes[0].vs)) {
6529
+ if (!vaporSlot.fallback && fallback) {
6530
+ vaporSlot.fallback = fallback;
6531
+ }
6532
+ }
6533
+ }
6349
6534
 
6350
6535
  function toHandlers(obj, preserveCaseIfNecessary) {
6351
6536
  const ret = {};
@@ -6407,7 +6592,7 @@ function legacyRenderSlot(instance, name, fallback, props, bindObject) {
6407
6592
  }
6408
6593
  return renderSlot(instance.slots, name, props, fallback && (() => fallback));
6409
6594
  }
6410
- function legacyresolveScopedSlots(fns, raw, hasDynamicKeys) {
6595
+ function legacyResolveScopedSlots(fns, raw, hasDynamicKeys) {
6411
6596
  return createSlots(
6412
6597
  raw || { $stable: !hasDynamicKeys },
6413
6598
  mapKeyToName(fns)
@@ -6574,7 +6759,7 @@ function installCompatInstanceProperties(map) {
6574
6759
  _b: () => legacyBindObjectProps,
6575
6760
  _v: () => createTextVNode,
6576
6761
  _e: () => createCommentVNode,
6577
- _u: () => legacyresolveScopedSlots,
6762
+ _u: () => legacyResolveScopedSlots,
6578
6763
  _g: () => legacyBindObjectListeners,
6579
6764
  _d: () => legacyBindDynamicKeys,
6580
6765
  _p: () => legacyPrependModifier
@@ -6648,7 +6833,7 @@ const PublicInstanceProxyHandlers = {
6648
6833
  } else if (hasSetupBinding(setupState, key)) {
6649
6834
  accessCache[key] = 1 /* SETUP */;
6650
6835
  return setupState[key];
6651
- } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {
6836
+ } else if (__VUE_OPTIONS_API__ && data !== EMPTY_OBJ && hasOwn(data, key)) {
6652
6837
  accessCache[key] = 2 /* DATA */;
6653
6838
  return data[key];
6654
6839
  } else if (
@@ -6720,7 +6905,7 @@ const PublicInstanceProxyHandlers = {
6720
6905
  } else if (!!(process.env.NODE_ENV !== "production") && setupState.__isScriptSetup && hasOwn(setupState, key)) {
6721
6906
  warn$1(`Cannot mutate <script setup> binding "${key}" from Options API.`);
6722
6907
  return false;
6723
- } else if (data !== EMPTY_OBJ && hasOwn(data, key)) {
6908
+ } else if (__VUE_OPTIONS_API__ && data !== EMPTY_OBJ && hasOwn(data, key)) {
6724
6909
  data[key] = value;
6725
6910
  return true;
6726
6911
  } else if (hasOwn(instance.props, key)) {
@@ -6746,10 +6931,10 @@ const PublicInstanceProxyHandlers = {
6746
6931
  return true;
6747
6932
  },
6748
6933
  has({
6749
- _: { data, setupState, accessCache, ctx, appContext, propsOptions }
6934
+ _: { data, setupState, accessCache, ctx, appContext, propsOptions, type }
6750
6935
  }, key) {
6751
- let normalizedProps;
6752
- return !!accessCache[key] || data !== EMPTY_OBJ && hasOwn(data, key) || hasSetupBinding(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key) || hasOwn(ctx, key) || hasOwn(publicPropertiesMap, key) || hasOwn(appContext.config.globalProperties, key);
6936
+ let normalizedProps, cssModules;
6937
+ return !!(accessCache[key] || __VUE_OPTIONS_API__ && data !== EMPTY_OBJ && key[0] !== "$" && hasOwn(data, key) || hasSetupBinding(setupState, key) || (normalizedProps = propsOptions[0]) && hasOwn(normalizedProps, key) || hasOwn(ctx, key) || hasOwn(publicPropertiesMap, key) || hasOwn(appContext.config.globalProperties, key) || (cssModules = type.__cssModules) && cssModules[key]);
6753
6938
  },
6754
6939
  defineProperty(target, key, descriptor) {
6755
6940
  if (descriptor.get != null) {
@@ -6901,15 +7086,15 @@ function withDefaults(props, defaults) {
6901
7086
  return null;
6902
7087
  }
6903
7088
  function useSlots() {
6904
- return getContext().slots;
7089
+ return getContext("useSlots").slots;
6905
7090
  }
6906
7091
  function useAttrs() {
6907
- return getContext().attrs;
7092
+ return getContext("useAttrs").attrs;
6908
7093
  }
6909
- function getContext() {
7094
+ function getContext(calledFunctionName) {
6910
7095
  const i = getCurrentGenericInstance();
6911
7096
  if (!!(process.env.NODE_ENV !== "production") && !i) {
6912
- warn$1(`useContext() called without active instance.`);
7097
+ warn$1(`${calledFunctionName}() called without active instance.`);
6913
7098
  }
6914
7099
  if (i.vapor) {
6915
7100
  return i;
@@ -7175,7 +7360,8 @@ function applyOptions(instance) {
7175
7360
  expose.forEach((key) => {
7176
7361
  Object.defineProperty(exposed, key, {
7177
7362
  get: () => publicThis[key],
7178
- set: (val) => publicThis[key] = val
7363
+ set: (val) => publicThis[key] = val,
7364
+ enumerable: true
7179
7365
  });
7180
7366
  });
7181
7367
  } else if (!instance.exposed) {
@@ -7501,7 +7687,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
7501
7687
  return vm;
7502
7688
  }
7503
7689
  }
7504
- Vue.version = `2.6.14-compat:${"3.6.0-alpha.2"}`;
7690
+ Vue.version = `2.6.14-compat:${"3.6.0-alpha.3"}`;
7505
7691
  Vue.config = singletonApp.config;
7506
7692
  Vue.use = (plugin, ...options) => {
7507
7693
  if (plugin && isFunction(plugin.install)) {
@@ -7515,22 +7701,22 @@ function createCompatVue$1(createApp, createSingletonApp) {
7515
7701
  singletonApp.mixin(m);
7516
7702
  return Vue;
7517
7703
  };
7518
- Vue.component = (name, comp) => {
7704
+ Vue.component = ((name, comp) => {
7519
7705
  if (comp) {
7520
7706
  singletonApp.component(name, comp);
7521
7707
  return Vue;
7522
7708
  } else {
7523
7709
  return singletonApp.component(name);
7524
7710
  }
7525
- };
7526
- Vue.directive = (name, dir) => {
7711
+ });
7712
+ Vue.directive = ((name, dir) => {
7527
7713
  if (dir) {
7528
7714
  singletonApp.directive(name, dir);
7529
7715
  return Vue;
7530
7716
  } else {
7531
7717
  return singletonApp.directive(name);
7532
7718
  }
7533
- };
7719
+ });
7534
7720
  Vue.options = { _base: Vue };
7535
7721
  let cid = 1;
7536
7722
  Vue.cid = cid;
@@ -7593,14 +7779,14 @@ function createCompatVue$1(createApp, createSingletonApp) {
7593
7779
  assertCompatEnabled("GLOBAL_OBSERVABLE", null);
7594
7780
  return reactive(target);
7595
7781
  };
7596
- Vue.filter = (name, filter) => {
7782
+ Vue.filter = ((name, filter) => {
7597
7783
  if (filter) {
7598
7784
  singletonApp.filter(name, filter);
7599
7785
  return Vue;
7600
7786
  } else {
7601
7787
  return singletonApp.filter(name);
7602
7788
  }
7603
- };
7789
+ });
7604
7790
  const util = {
7605
7791
  warn: !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP,
7606
7792
  extend,
@@ -7759,7 +7945,7 @@ function installCompatMount(app, context, render) {
7759
7945
  if (!!(process.env.NODE_ENV !== "production")) {
7760
7946
  for (let i = 0; i < container.attributes.length; i++) {
7761
7947
  const attr = container.attributes[i];
7762
- if (attr.name !== "v-cloak" && /^(v-|:|@)/.test(attr.name)) {
7948
+ if (attr.name !== "v-cloak" && /^(?:v-|:|@)/.test(attr.name)) {
7763
7949
  warnDeprecation$1("GLOBAL_MOUNT_CONTAINER", null);
7764
7950
  break;
7765
7951
  }
@@ -8595,7 +8781,7 @@ function isBoolean(...args) {
8595
8781
  return args.some((elem) => elem.toLowerCase() === "boolean");
8596
8782
  }
8597
8783
 
8598
- const isInternalKey = (key) => key[0] === "_" || key === "$stable";
8784
+ const isInternalKey = (key) => key === "_" || key === "_ctx" || key === "$stable";
8599
8785
  const normalizeSlotValue = (value) => isArray(value) ? value.map(normalizeVNode) : [normalizeVNode(value)];
8600
8786
  const normalizeSlot = (key, rawSlot, ctx) => {
8601
8787
  if (rawSlot._n) {
@@ -8649,8 +8835,6 @@ const assignSlots = (slots, children, optimized) => {
8649
8835
  const initSlots = (instance, children, optimized) => {
8650
8836
  const slots = instance.slots = createInternalObject();
8651
8837
  if (instance.vnode.shapeFlag & 32) {
8652
- const cacheIndexes = children.__;
8653
- if (cacheIndexes) def(slots, "__", cacheIndexes, true);
8654
8838
  const type = children._;
8655
8839
  if (type) {
8656
8840
  assignSlots(slots, children, optimized);
@@ -8714,12 +8898,10 @@ function endMeasure(instance, type) {
8714
8898
  if (instance.appContext.config.performance && isSupported()) {
8715
8899
  const startTag = `vue-${type}-${instance.uid}`;
8716
8900
  const endTag = startTag + `:end`;
8901
+ const measureName = `<${formatComponentName(instance, instance.type)}> ${type}`;
8717
8902
  perf.mark(endTag);
8718
- perf.measure(
8719
- `<${formatComponentName(instance, instance.type)}> ${type}`,
8720
- startTag,
8721
- endTag
8722
- );
8903
+ perf.measure(measureName, startTag, endTag);
8904
+ perf.clearMeasures(measureName);
8723
8905
  perf.clearMarks(startTag);
8724
8906
  perf.clearMarks(endTag);
8725
8907
  }
@@ -8996,15 +9178,25 @@ function baseCreateRenderer(options, createHydrationFns) {
8996
9178
  optimized
8997
9179
  );
8998
9180
  } else {
8999
- patchElement(
9000
- n1,
9001
- n2,
9002
- parentComponent,
9003
- parentSuspense,
9004
- namespace,
9005
- slotScopeIds,
9006
- optimized
9007
- );
9181
+ const customElement = !!(n1.el && n1.el._isVueCE) ? n1.el : null;
9182
+ try {
9183
+ if (customElement) {
9184
+ customElement._beginPatch();
9185
+ }
9186
+ patchElement(
9187
+ n1,
9188
+ n2,
9189
+ parentComponent,
9190
+ parentSuspense,
9191
+ namespace,
9192
+ slotScopeIds,
9193
+ optimized
9194
+ );
9195
+ } finally {
9196
+ if (customElement) {
9197
+ customElement._endPatch();
9198
+ }
9199
+ }
9008
9200
  }
9009
9201
  };
9010
9202
  const mountElement = (vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized) => {
@@ -9055,16 +9247,20 @@ function baseCreateRenderer(options, createHydrationFns) {
9055
9247
  if (dirs) {
9056
9248
  invokeDirectiveHook(vnode, null, parentComponent, "beforeMount");
9057
9249
  }
9058
- const needCallTransitionHooks = needTransition(parentSuspense, transition);
9059
- if (needCallTransitionHooks) {
9060
- transition.beforeEnter(el);
9250
+ if (transition) {
9251
+ performTransitionEnter(
9252
+ el,
9253
+ transition,
9254
+ () => hostInsert(el, container, anchor),
9255
+ parentSuspense
9256
+ );
9257
+ } else {
9258
+ hostInsert(el, container, anchor);
9061
9259
  }
9062
- hostInsert(el, container, anchor);
9063
- if ((vnodeHook = props && props.onVnodeMounted) || needCallTransitionHooks || dirs) {
9260
+ if ((vnodeHook = props && props.onVnodeMounted) || dirs) {
9064
9261
  queuePostRenderEffect(
9065
9262
  () => {
9066
9263
  vnodeHook && invokeVNodeHook(vnodeHook, parentComponent, vnode);
9067
- needCallTransitionHooks && transition.enter(el);
9068
9264
  dirs && invokeDirectiveHook(vnode, null, parentComponent, "mounted");
9069
9265
  },
9070
9266
  void 0,
@@ -9081,21 +9277,9 @@ function baseCreateRenderer(options, createHydrationFns) {
9081
9277
  hostSetScopeId(el, slotScopeIds[i]);
9082
9278
  }
9083
9279
  }
9084
- let subTree = parentComponent && parentComponent.subTree;
9085
- if (subTree) {
9086
- if (!!(process.env.NODE_ENV !== "production") && subTree.patchFlag > 0 && subTree.patchFlag & 2048) {
9087
- subTree = filterSingleRoot(subTree.children) || subTree;
9088
- }
9089
- if (vnode === subTree || isSuspense(subTree.type) && (subTree.ssContent === vnode || subTree.ssFallback === vnode)) {
9090
- const parentVNode = parentComponent.vnode;
9091
- setScopeId(
9092
- el,
9093
- parentVNode,
9094
- parentVNode.scopeId,
9095
- parentVNode.slotScopeIds,
9096
- parentComponent.parent
9097
- );
9098
- }
9280
+ const inheritedScopeIds = getInheritedScopeIds(vnode, parentComponent);
9281
+ for (let i = 0; i < inheritedScopeIds.length; i++) {
9282
+ hostSetScopeId(el, inheritedScopeIds[i]);
9099
9283
  }
9100
9284
  };
9101
9285
  const mountChildren = (children, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, start = 0) => {
@@ -9347,12 +9531,21 @@ function baseCreateRenderer(options, createHydrationFns) {
9347
9531
  n2.slotScopeIds = slotScopeIds;
9348
9532
  if (n2.type.__vapor) {
9349
9533
  if (n1 == null) {
9350
- getVaporInterface(parentComponent, n2).mount(
9351
- n2,
9352
- container,
9353
- anchor,
9354
- parentComponent
9355
- );
9534
+ if (n2.shapeFlag & 512) {
9535
+ getVaporInterface(parentComponent, n2).activate(
9536
+ n2,
9537
+ container,
9538
+ anchor,
9539
+ parentComponent
9540
+ );
9541
+ } else {
9542
+ getVaporInterface(parentComponent, n2).mount(
9543
+ n2,
9544
+ container,
9545
+ anchor,
9546
+ parentComponent
9547
+ );
9548
+ }
9356
9549
  } else {
9357
9550
  getVaporInterface(parentComponent, n2).update(
9358
9551
  n1,
@@ -9416,6 +9609,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9416
9609
  if (!initialVNode.el) {
9417
9610
  const placeholder = instance.subTree = createVNode(Comment);
9418
9611
  processCommentNode(null, placeholder, container, anchor);
9612
+ initialVNode.placeholder = placeholder.el;
9419
9613
  }
9420
9614
  } else {
9421
9615
  setupRenderEffect(
@@ -9983,7 +10177,11 @@ function baseCreateRenderer(options, createHydrationFns) {
9983
10177
  for (i = toBePatched - 1; i >= 0; i--) {
9984
10178
  const nextIndex = s2 + i;
9985
10179
  const nextChild = c2[nextIndex];
9986
- const anchor = nextIndex + 1 < l2 ? c2[nextIndex + 1].el : parentAnchor;
10180
+ const anchorVNode = c2[nextIndex + 1];
10181
+ const anchor = nextIndex + 1 < l2 ? (
10182
+ // #13559, fallback to el placeholder for unresolved async component
10183
+ anchorVNode.el || anchorVNode.placeholder
10184
+ ) : parentAnchor;
9987
10185
  if (newIndexToOldIndexMap[i] === 0) {
9988
10186
  patch(
9989
10187
  null,
@@ -10063,12 +10261,12 @@ function baseCreateRenderer(options, createHydrationFns) {
10063
10261
  const needTransition2 = moveType !== 2 && shapeFlag & 1 && transition;
10064
10262
  if (needTransition2) {
10065
10263
  if (moveType === 0) {
10066
- transition.beforeEnter(el);
10067
- hostInsert(el, container, anchor);
10068
- queuePostRenderEffect(
10069
- () => transition.enter(el),
10070
- void 0,
10071
- parentSuspense
10264
+ performTransitionEnter(
10265
+ el,
10266
+ transition,
10267
+ () => hostInsert(el, container, anchor),
10268
+ parentSuspense,
10269
+ true
10072
10270
  );
10073
10271
  } else {
10074
10272
  const { leave, delayLeave, afterLeave } = transition;
@@ -10080,6 +10278,12 @@ function baseCreateRenderer(options, createHydrationFns) {
10080
10278
  }
10081
10279
  };
10082
10280
  const performLeave = () => {
10281
+ if (el._isLeaving) {
10282
+ el[leaveCbKey](
10283
+ true
10284
+ /* cancelled */
10285
+ );
10286
+ }
10083
10287
  leave(el, () => {
10084
10288
  remove2();
10085
10289
  afterLeave && afterLeave();
@@ -10119,7 +10323,14 @@ function baseCreateRenderer(options, createHydrationFns) {
10119
10323
  parentComponent.renderCache[cacheIndex] = void 0;
10120
10324
  }
10121
10325
  if (shapeFlag & 256) {
10122
- parentComponent.ctx.deactivate(vnode);
10326
+ if (vnode.type.__vapor) {
10327
+ getVaporInterface(parentComponent, vnode).deactivate(
10328
+ vnode,
10329
+ parentComponent.ctx.getStorageContainer()
10330
+ );
10331
+ } else {
10332
+ parentComponent.ctx.deactivate(vnode);
10333
+ }
10123
10334
  return;
10124
10335
  }
10125
10336
  const shouldInvokeDirs = shapeFlag & 1 && dirs;
@@ -10207,22 +10418,15 @@ function baseCreateRenderer(options, createHydrationFns) {
10207
10418
  removeStaticNode(vnode);
10208
10419
  return;
10209
10420
  }
10210
- const performRemove = () => {
10211
- hostRemove(el);
10212
- if (transition && !transition.persisted && transition.afterLeave) {
10213
- transition.afterLeave();
10214
- }
10215
- };
10216
- if (vnode.shapeFlag & 1 && transition && !transition.persisted) {
10217
- const { leave, delayLeave } = transition;
10218
- const performLeave = () => leave(el, performRemove);
10219
- if (delayLeave) {
10220
- delayLeave(vnode.el, performRemove, performLeave);
10221
- } else {
10222
- performLeave();
10223
- }
10421
+ if (transition) {
10422
+ performTransitionLeave(
10423
+ el,
10424
+ transition,
10425
+ () => hostRemove(el),
10426
+ !!(vnode.shapeFlag & 1)
10427
+ );
10224
10428
  } else {
10225
- performRemove();
10429
+ hostRemove(el);
10226
10430
  }
10227
10431
  };
10228
10432
  const removeFragment = (cur, end) => {
@@ -10238,27 +10442,12 @@ function baseCreateRenderer(options, createHydrationFns) {
10238
10442
  if (!!(process.env.NODE_ENV !== "production") && instance.type.__hmrId) {
10239
10443
  unregisterHMR(instance);
10240
10444
  }
10241
- const {
10242
- bum,
10243
- scope,
10244
- effect,
10245
- subTree,
10246
- um,
10247
- m,
10248
- a,
10249
- parent,
10250
- slots: { __: slotCacheKeys }
10251
- } = instance;
10445
+ const { bum, scope, effect, subTree, um, m, a } = instance;
10252
10446
  invalidateMount(m);
10253
10447
  invalidateMount(a);
10254
10448
  if (bum) {
10255
10449
  invokeArrayFns(bum);
10256
10450
  }
10257
- if (parent && isArray(slotCacheKeys)) {
10258
- slotCacheKeys.forEach((v) => {
10259
- parent.renderCache[v] = void 0;
10260
- });
10261
- }
10262
10451
  if (isCompatEnabled$1("INSTANCE_EVENT_HOOKS", instance)) {
10263
10452
  instance.emit("hook:beforeDestroy");
10264
10453
  }
@@ -10282,12 +10471,6 @@ function baseCreateRenderer(options, createHydrationFns) {
10282
10471
  void 0,
10283
10472
  parentSuspense
10284
10473
  );
10285
- if (parentSuspense && parentSuspense.pendingBranch && !parentSuspense.isUnmounted && instance.asyncDep && !instance.asyncResolved && instance.suspenseId === parentSuspense.pendingId) {
10286
- parentSuspense.deps--;
10287
- if (parentSuspense.deps === 0) {
10288
- parentSuspense.resolve();
10289
- }
10290
- }
10291
10474
  if (!!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__) {
10292
10475
  devtoolsComponentRemoved(instance);
10293
10476
  }
@@ -10300,7 +10483,7 @@ function baseCreateRenderer(options, createHydrationFns) {
10300
10483
  const getNextHostNode = (vnode) => {
10301
10484
  if (vnode.shapeFlag & 6) {
10302
10485
  if (vnode.type.__vapor) {
10303
- return hostNextSibling(vnode.component.block);
10486
+ return hostNextSibling(vnode.anchor);
10304
10487
  }
10305
10488
  return getNextHostNode(vnode.component.subTree);
10306
10489
  }
@@ -10378,6 +10561,7 @@ function baseCreateRenderer(options, createHydrationFns) {
10378
10561
  return {
10379
10562
  render,
10380
10563
  hydrate,
10564
+ hydrateNode,
10381
10565
  internals,
10382
10566
  createApp: createAppAPI(
10383
10567
  mountApp,
@@ -10419,7 +10603,8 @@ function traverseStaticChildren(n1, n2, shallow = false) {
10419
10603
  if (!shallow && c2.patchFlag !== -2)
10420
10604
  traverseStaticChildren(c1, c2);
10421
10605
  }
10422
- if (c2.type === Text) {
10606
+ if (c2.type === Text && // avoid cached text nodes retaining detached dom nodes
10607
+ c2.patchFlag !== -1) {
10423
10608
  c2.el = c1.el;
10424
10609
  }
10425
10610
  if (c2.type === Comment && !c2.el) {
@@ -10432,7 +10617,7 @@ function traverseStaticChildren(n1, n2, shallow = false) {
10432
10617
  }
10433
10618
  }
10434
10619
  function locateNonHydratedAsyncRoot(instance) {
10435
- const subComponent = instance.vapor ? null : instance.subTree.component;
10620
+ const subComponent = instance.subTree && instance.subTree.component;
10436
10621
  if (subComponent) {
10437
10622
  if (subComponent.asyncDep && !subComponent.asyncResolved) {
10438
10623
  return subComponent;
@@ -10447,6 +10632,34 @@ function invalidateMount(hooks) {
10447
10632
  hooks[i].flags |= 4;
10448
10633
  }
10449
10634
  }
10635
+ function performTransitionEnter(el, transition, insert, parentSuspense, force = false) {
10636
+ if (force || needTransition(parentSuspense, transition)) {
10637
+ transition.beforeEnter(el);
10638
+ insert();
10639
+ queuePostRenderEffect(() => transition.enter(el), void 0, parentSuspense);
10640
+ } else {
10641
+ insert();
10642
+ }
10643
+ }
10644
+ function performTransitionLeave(el, transition, remove, isElement = true) {
10645
+ const performRemove = () => {
10646
+ remove();
10647
+ if (transition && !transition.persisted && transition.afterLeave) {
10648
+ transition.afterLeave();
10649
+ }
10650
+ };
10651
+ if (isElement && transition && !transition.persisted) {
10652
+ const { leave, delayLeave } = transition;
10653
+ const performLeave = () => leave(el, performRemove);
10654
+ if (delayLeave) {
10655
+ delayLeave(el, performRemove, performLeave);
10656
+ } else {
10657
+ performLeave();
10658
+ }
10659
+ } else {
10660
+ performRemove();
10661
+ }
10662
+ }
10450
10663
  function getVaporInterface(instance, vnode) {
10451
10664
  const ctx = instance ? instance.appContext : vnode.appContext;
10452
10665
  const res = ctx && ctx.vapor;
@@ -10461,6 +10674,32 @@ app.use(vaporInteropPlugin)
10461
10674
  }
10462
10675
  return res;
10463
10676
  }
10677
+ function getInheritedScopeIds(vnode, parentComponent) {
10678
+ const inheritedScopeIds = [];
10679
+ let currentParent = parentComponent;
10680
+ let currentVNode = vnode;
10681
+ while (currentParent) {
10682
+ let subTree = currentParent.subTree;
10683
+ if (!subTree) break;
10684
+ if (!!(process.env.NODE_ENV !== "production") && subTree.patchFlag > 0 && subTree.patchFlag & 2048) {
10685
+ subTree = filterSingleRoot(subTree.children) || subTree;
10686
+ }
10687
+ if (currentVNode === subTree || isSuspense(subTree.type) && (subTree.ssContent === currentVNode || subTree.ssFallback === currentVNode)) {
10688
+ const parentVNode = currentParent.vnode;
10689
+ if (parentVNode.scopeId) {
10690
+ inheritedScopeIds.push(parentVNode.scopeId);
10691
+ }
10692
+ if (parentVNode.slotScopeIds) {
10693
+ inheritedScopeIds.push(...parentVNode.slotScopeIds);
10694
+ }
10695
+ currentVNode = parentVNode;
10696
+ currentParent = currentParent.parent;
10697
+ } else {
10698
+ break;
10699
+ }
10700
+ }
10701
+ return inheritedScopeIds;
10702
+ }
10464
10703
 
10465
10704
  const ssrContextKey = Symbol.for("v-scx");
10466
10705
  const useSSRContext = () => {
@@ -10809,8 +11048,9 @@ function baseEmit(instance, props, getter, event, ...rawArgs) {
10809
11048
  function defaultPropGetter(props, key) {
10810
11049
  return props[key];
10811
11050
  }
11051
+ const mixinEmitsCache = /* @__PURE__ */ new WeakMap();
10812
11052
  function normalizeEmitsOptions(comp, appContext, asMixin = false) {
10813
- const cache = appContext.emitsCache;
11053
+ const cache = __VUE_OPTIONS_API__ && asMixin ? mixinEmitsCache : appContext.emitsCache;
10814
11054
  const cached = cache.get(comp);
10815
11055
  if (cached !== void 0) {
10816
11056
  return cached;
@@ -11282,7 +11522,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
11282
11522
  const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense;
11283
11523
  if (pendingBranch) {
11284
11524
  suspense.pendingBranch = newBranch;
11285
- if (isSameVNodeType(newBranch, pendingBranch)) {
11525
+ if (isSameVNodeType(pendingBranch, newBranch)) {
11286
11526
  patch(
11287
11527
  pendingBranch,
11288
11528
  newBranch,
@@ -11353,7 +11593,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
11353
11593
  );
11354
11594
  setActiveBranch(suspense, newFallback);
11355
11595
  }
11356
- } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {
11596
+ } else if (activeBranch && isSameVNodeType(activeBranch, newBranch)) {
11357
11597
  patch(
11358
11598
  activeBranch,
11359
11599
  newBranch,
@@ -11384,7 +11624,7 @@ function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, sl
11384
11624
  }
11385
11625
  }
11386
11626
  } else {
11387
- if (activeBranch && isSameVNodeType(newBranch, activeBranch)) {
11627
+ if (activeBranch && isSameVNodeType(activeBranch, newBranch)) {
11388
11628
  patch(
11389
11629
  activeBranch,
11390
11630
  newBranch,
@@ -11497,7 +11737,8 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
11497
11737
  pendingId,
11498
11738
  effects,
11499
11739
  parentComponent: parentComponent2,
11500
- container: container2
11740
+ container: container2,
11741
+ isInFallback
11501
11742
  } = suspense;
11502
11743
  let delayEnter = false;
11503
11744
  if (suspense.isHydrating) {
@@ -11515,6 +11756,9 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
11515
11756
  parentComponent2
11516
11757
  );
11517
11758
  queuePostFlushCb(effects);
11759
+ if (isInFallback && vnode2.ssFallback) {
11760
+ vnode2.ssFallback.el = null;
11761
+ }
11518
11762
  }
11519
11763
  };
11520
11764
  }
@@ -11523,6 +11767,9 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
11523
11767
  anchor = next(activeBranch);
11524
11768
  }
11525
11769
  unmount(activeBranch, parentComponent2, suspense, true);
11770
+ if (!delayEnter && isInFallback && vnode2.ssFallback) {
11771
+ vnode2.ssFallback.el = null;
11772
+ }
11526
11773
  }
11527
11774
  if (!delayEnter) {
11528
11775
  move(
@@ -11647,6 +11894,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
11647
11894
  optimized2
11648
11895
  );
11649
11896
  if (placeholder) {
11897
+ vnode2.placeholder = null;
11650
11898
  remove(placeholder);
11651
11899
  }
11652
11900
  updateHOCHostEl(instance, vnode2.el);
@@ -11909,15 +12157,11 @@ const createVNodeWithArgsTransform = (...args) => {
11909
12157
  );
11910
12158
  };
11911
12159
  const normalizeKey = ({ key }) => key != null ? key : null;
11912
- const normalizeRef = ({
11913
- ref,
11914
- ref_key,
11915
- ref_for
11916
- }) => {
12160
+ const normalizeRef = ({ ref, ref_key, ref_for }, i = currentRenderingInstance) => {
11917
12161
  if (typeof ref === "number") {
11918
12162
  ref = "" + ref;
11919
12163
  }
11920
- return ref != null ? isString(ref) || isRef(ref) || isFunction(ref) ? { i: currentRenderingInstance, r: ref, k: ref_key, f: !!ref_for } : ref : null;
12164
+ return ref != null ? isString(ref) || isRef(ref) || isFunction(ref) ? { i, r: ref, k: ref_key, f: !!ref_for } : ref : null;
11921
12165
  };
11922
12166
  function createBaseVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, shapeFlag = type === Fragment ? 0 : 1, isBlockNode = false, needFullChildrenNormalization = false) {
11923
12167
  const vnode = {
@@ -12090,6 +12334,7 @@ function cloneVNode(vnode, extraProps, mergeRef = false, cloneTransition = false
12090
12334
  suspense: vnode.suspense,
12091
12335
  ssContent: vnode.ssContent && cloneVNode(vnode.ssContent),
12092
12336
  ssFallback: vnode.ssFallback && cloneVNode(vnode.ssFallback),
12337
+ placeholder: vnode.placeholder,
12093
12338
  el: vnode.el,
12094
12339
  anchor: vnode.anchor,
12095
12340
  ctx: vnode.ctx,
@@ -12648,7 +12893,7 @@ function getComponentPublicInstance(instance) {
12648
12893
  return instance.proxy;
12649
12894
  }
12650
12895
  }
12651
- const classifyRE = /(?:^|[-_])(\w)/g;
12896
+ const classifyRE = /(?:^|[-_])\w/g;
12652
12897
  const classify = (str) => str.replace(classifyRE, (c) => c.toUpperCase()).replace(/[-_]/g, "");
12653
12898
  function getComponentName(Component, includeInferred = true) {
12654
12899
  return isFunction(Component) ? Component.displayName || Component.name : Component.name || includeInferred && Component.__name;
@@ -12684,23 +12929,28 @@ const computed = (getterOrOptions, debugOptions) => {
12684
12929
  };
12685
12930
 
12686
12931
  function h(type, propsOrChildren, children) {
12687
- const l = arguments.length;
12688
- if (l === 2) {
12689
- if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
12690
- if (isVNode(propsOrChildren)) {
12691
- return createVNode(type, null, [propsOrChildren]);
12932
+ try {
12933
+ setBlockTracking(-1);
12934
+ const l = arguments.length;
12935
+ if (l === 2) {
12936
+ if (isObject(propsOrChildren) && !isArray(propsOrChildren)) {
12937
+ if (isVNode(propsOrChildren)) {
12938
+ return createVNode(type, null, [propsOrChildren]);
12939
+ }
12940
+ return createVNode(type, propsOrChildren);
12941
+ } else {
12942
+ return createVNode(type, null, propsOrChildren);
12692
12943
  }
12693
- return createVNode(type, propsOrChildren);
12694
12944
  } else {
12695
- return createVNode(type, null, propsOrChildren);
12696
- }
12697
- } else {
12698
- if (l > 3) {
12699
- children = Array.prototype.slice.call(arguments, 2);
12700
- } else if (l === 3 && isVNode(children)) {
12701
- children = [children];
12945
+ if (l > 3) {
12946
+ children = Array.prototype.slice.call(arguments, 2);
12947
+ } else if (l === 3 && isVNode(children)) {
12948
+ children = [children];
12949
+ }
12950
+ return createVNode(type, propsOrChildren, children);
12702
12951
  }
12703
- return createVNode(type, propsOrChildren, children);
12952
+ } finally {
12953
+ setBlockTracking(1);
12704
12954
  }
12705
12955
  }
12706
12956
 
@@ -12910,7 +13160,7 @@ function isMemoSame(cached, memo) {
12910
13160
  return true;
12911
13161
  }
12912
13162
 
12913
- const version = "3.6.0-alpha.2";
13163
+ const version = "3.6.0-alpha.3";
12914
13164
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
12915
13165
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12916
13166
  const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
@@ -13180,11 +13430,11 @@ function resolveTransitionProps(rawProps) {
13180
13430
  addTransitionClass(el, legacyLeaveFromClass);
13181
13431
  }
13182
13432
  if (!el._enterCancelled) {
13183
- forceReflow();
13433
+ forceReflow(el);
13184
13434
  addTransitionClass(el, leaveActiveClass);
13185
13435
  } else {
13186
13436
  addTransitionClass(el, leaveActiveClass);
13187
- forceReflow();
13437
+ forceReflow(el);
13188
13438
  }
13189
13439
  nextFrame(() => {
13190
13440
  if (!el._isLeaving) {
@@ -13313,7 +13563,7 @@ function getTransitionInfo(el, expectedType) {
13313
13563
  type = timeout > 0 ? transitionTimeout > animationTimeout ? TRANSITION$1 : ANIMATION : null;
13314
13564
  propCount = type ? type === TRANSITION$1 ? transitionDurations.length : animationDurations.length : 0;
13315
13565
  }
13316
- const hasTransform = type === TRANSITION$1 && /\b(transform|all)(,|$)/.test(
13566
+ const hasTransform = type === TRANSITION$1 && /\b(?:transform|all)(?:,|$)/.test(
13317
13567
  getStyleProperties(`${TRANSITION$1}Property`).toString()
13318
13568
  );
13319
13569
  return {
@@ -13333,8 +13583,9 @@ function toMs(s) {
13333
13583
  if (s === "auto") return 0;
13334
13584
  return Number(s.slice(0, -1).replace(",", ".")) * 1e3;
13335
13585
  }
13336
- function forceReflow() {
13337
- return document.body.offsetHeight;
13586
+ function forceReflow(el) {
13587
+ const targetDocument = el ? el.ownerDocument : document;
13588
+ return targetDocument.body.offsetHeight;
13338
13589
  }
13339
13590
 
13340
13591
  function patchClass(el, value, isSVG) {
@@ -13354,6 +13605,8 @@ function patchClass(el, value, isSVG) {
13354
13605
  const vShowOriginalDisplay = Symbol("_vod");
13355
13606
  const vShowHidden = Symbol("_vsh");
13356
13607
  const vShow = {
13608
+ // used for prop mismatch check during hydration
13609
+ name: "show",
13357
13610
  beforeMount(el, { value }, { transition }) {
13358
13611
  el[vShowOriginalDisplay] = el.style.display === "none" ? "" : el.style.display;
13359
13612
  if (transition && value) {
@@ -13387,9 +13640,6 @@ const vShow = {
13387
13640
  setDisplay(el, value);
13388
13641
  }
13389
13642
  };
13390
- if (!!(process.env.NODE_ENV !== "production")) {
13391
- vShow.name = "show";
13392
- }
13393
13643
  function setDisplay(el, value) {
13394
13644
  el.style.display = value ? el[vShowOriginalDisplay] : "none";
13395
13645
  el[vShowHidden] = !value;
@@ -13475,7 +13725,7 @@ function setVarsOnNode(el, vars) {
13475
13725
  }
13476
13726
  }
13477
13727
 
13478
- const displayRE = /(^|;)\s*display\s*:/;
13728
+ const displayRE = /(?:^|;)\s*display\s*:/;
13479
13729
  function patchStyle(el, prev, next) {
13480
13730
  const style = el.style;
13481
13731
  const isCssString = isString(next);
@@ -13824,11 +14074,10 @@ function shouldSetAsProp(el, key, value, isSVG) {
13824
14074
  }
13825
14075
 
13826
14076
  const REMOVAL = {};
13827
- /*! #__NO_SIDE_EFFECTS__ */
13828
14077
  // @__NO_SIDE_EFFECTS__
13829
14078
  function defineCustomElement(options, extraOptions, _createApp) {
13830
- const Comp = defineComponent(options, extraOptions);
13831
- if (isPlainObject(Comp)) extend(Comp, extraOptions);
14079
+ let Comp = defineComponent(options, extraOptions);
14080
+ if (isPlainObject(Comp)) Comp = extend({}, Comp, extraOptions);
13832
14081
  class VueCustomElement extends VueElement {
13833
14082
  constructor(initialProps) {
13834
14083
  super(Comp, initialProps, _createApp);
@@ -13837,10 +14086,9 @@ function defineCustomElement(options, extraOptions, _createApp) {
13837
14086
  VueCustomElement.def = Comp;
13838
14087
  return VueCustomElement;
13839
14088
  }
13840
- /*! #__NO_SIDE_EFFECTS__ */
13841
- const defineSSRCustomElement = /* @__NO_SIDE_EFFECTS__ */ (options, extraOptions) => {
14089
+ const defineSSRCustomElement = (/* @__NO_SIDE_EFFECTS__ */ (options, extraOptions) => {
13842
14090
  return /* @__PURE__ */ defineCustomElement(options, extraOptions, createSSRApp);
13843
- };
14091
+ });
13844
14092
  const BaseClass = typeof HTMLElement !== "undefined" ? HTMLElement : class {
13845
14093
  };
13846
14094
  class VueElement extends BaseClass {
@@ -13864,6 +14112,8 @@ class VueElement extends BaseClass {
13864
14112
  this._nonce = this._def.nonce;
13865
14113
  this._connected = false;
13866
14114
  this._resolved = false;
14115
+ this._patching = false;
14116
+ this._dirty = false;
13867
14117
  this._numberProps = null;
13868
14118
  this._styleChildren = /* @__PURE__ */ new WeakSet();
13869
14119
  this._ob = null;
@@ -13876,7 +14126,11 @@ class VueElement extends BaseClass {
13876
14126
  );
13877
14127
  }
13878
14128
  if (_def.shadowRoot !== false) {
13879
- this.attachShadow({ mode: "open" });
14129
+ this.attachShadow(
14130
+ extend({}, _def.shadowRootOptions, {
14131
+ mode: "open"
14132
+ })
14133
+ );
13880
14134
  this._root = this.shadowRoot;
13881
14135
  } else {
13882
14136
  this._root = this;
@@ -13936,9 +14190,18 @@ class VueElement extends BaseClass {
13936
14190
  this._app && this._app.unmount();
13937
14191
  if (this._instance) this._instance.ce = void 0;
13938
14192
  this._app = this._instance = null;
14193
+ if (this._teleportTargets) {
14194
+ this._teleportTargets.clear();
14195
+ this._teleportTargets = void 0;
14196
+ }
13939
14197
  }
13940
14198
  });
13941
14199
  }
14200
+ _processMutations(mutations) {
14201
+ for (const m of mutations) {
14202
+ this._setAttr(m.attributeName);
14203
+ }
14204
+ }
13942
14205
  /**
13943
14206
  * resolve inner component definition (handle possible async component)
13944
14207
  */
@@ -13949,11 +14212,7 @@ class VueElement extends BaseClass {
13949
14212
  for (let i = 0; i < this.attributes.length; i++) {
13950
14213
  this._setAttr(this.attributes[i].name);
13951
14214
  }
13952
- this._ob = new MutationObserver((mutations) => {
13953
- for (const m of mutations) {
13954
- this._setAttr(m.attributeName);
13955
- }
13956
- });
14215
+ this._ob = new MutationObserver(this._processMutations.bind(this));
13957
14216
  this._ob.observe(this, { attributes: true });
13958
14217
  const resolve = (def, isAsync = false) => {
13959
14218
  this._resolved = true;
@@ -14030,7 +14289,7 @@ class VueElement extends BaseClass {
14030
14289
  return this._getProp(key);
14031
14290
  },
14032
14291
  set(val) {
14033
- this._setProp(key, val, true, true);
14292
+ this._setProp(key, val, true, !this._patching);
14034
14293
  }
14035
14294
  });
14036
14295
  }
@@ -14056,6 +14315,7 @@ class VueElement extends BaseClass {
14056
14315
  */
14057
14316
  _setProp(key, val, shouldReflect = true, shouldUpdate = false) {
14058
14317
  if (val !== this._props[key]) {
14318
+ this._dirty = true;
14059
14319
  if (val === REMOVAL) {
14060
14320
  delete this._props[key];
14061
14321
  } else {
@@ -14069,7 +14329,10 @@ class VueElement extends BaseClass {
14069
14329
  }
14070
14330
  if (shouldReflect) {
14071
14331
  const ob = this._ob;
14072
- ob && ob.disconnect();
14332
+ if (ob) {
14333
+ this._processMutations(ob.takeRecords());
14334
+ ob.disconnect();
14335
+ }
14073
14336
  if (val === true) {
14074
14337
  this.setAttribute(hyphenate(key), "");
14075
14338
  } else if (typeof val === "string" || typeof val === "number") {
@@ -14173,7 +14436,7 @@ class VueElement extends BaseClass {
14173
14436
  * Only called when shadowRoot is false
14174
14437
  */
14175
14438
  _renderSlots() {
14176
- const outlets = (this._teleportTarget || this).querySelectorAll("slot");
14439
+ const outlets = this._getSlots();
14177
14440
  const scopeId = this._instance.type.__scopeId;
14178
14441
  for (let i = 0; i < outlets.length; i++) {
14179
14442
  const o = outlets[i];
@@ -14199,12 +14462,45 @@ class VueElement extends BaseClass {
14199
14462
  parent.removeChild(o);
14200
14463
  }
14201
14464
  }
14465
+ /**
14466
+ * @internal
14467
+ */
14468
+ _getSlots() {
14469
+ const roots = [this];
14470
+ if (this._teleportTargets) {
14471
+ roots.push(...this._teleportTargets);
14472
+ }
14473
+ const slots = /* @__PURE__ */ new Set();
14474
+ for (const root of roots) {
14475
+ const found = root.querySelectorAll("slot");
14476
+ for (let i = 0; i < found.length; i++) {
14477
+ slots.add(found[i]);
14478
+ }
14479
+ }
14480
+ return Array.from(slots);
14481
+ }
14202
14482
  /**
14203
14483
  * @internal
14204
14484
  */
14205
14485
  _injectChildStyle(comp) {
14206
14486
  this._applyStyles(comp.styles, comp);
14207
14487
  }
14488
+ /**
14489
+ * @internal
14490
+ */
14491
+ _beginPatch() {
14492
+ this._patching = true;
14493
+ this._dirty = false;
14494
+ }
14495
+ /**
14496
+ * @internal
14497
+ */
14498
+ _endPatch() {
14499
+ this._patching = false;
14500
+ if (this._dirty && this._instance) {
14501
+ this._update();
14502
+ }
14503
+ }
14208
14504
  /**
14209
14505
  * @internal
14210
14506
  */
@@ -14300,26 +14596,13 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
14300
14596
  prevChildren = [];
14301
14597
  return;
14302
14598
  }
14303
- prevChildren.forEach(callPendingCbs);
14599
+ prevChildren.forEach((vnode) => callPendingCbs(vnode.el));
14304
14600
  prevChildren.forEach(recordPosition);
14305
14601
  const movedChildren = prevChildren.filter(applyTranslation);
14306
- forceReflow();
14602
+ forceReflow(instance.vnode.el);
14307
14603
  movedChildren.forEach((c) => {
14308
14604
  const el = c.el;
14309
- const style = el.style;
14310
- addTransitionClass(el, moveClass);
14311
- style.transform = style.webkitTransform = style.transitionDuration = "";
14312
- const cb = el[moveCbKey] = (e) => {
14313
- if (e && e.target !== el) {
14314
- return;
14315
- }
14316
- if (!e || /transform$/.test(e.propertyName)) {
14317
- el.removeEventListener("transitionend", cb);
14318
- el[moveCbKey] = null;
14319
- removeTransitionClass(el, moveClass);
14320
- }
14321
- };
14322
- el.addEventListener("transitionend", cb);
14605
+ handleMovedChildren(el, moveClass);
14323
14606
  });
14324
14607
  prevChildren = [];
14325
14608
  });
@@ -14348,10 +14631,10 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
14348
14631
  instance
14349
14632
  )
14350
14633
  );
14351
- positionMap.set(
14352
- child,
14353
- child.el.getBoundingClientRect()
14354
- );
14634
+ positionMap.set(child, {
14635
+ left: child.el.offsetLeft,
14636
+ top: child.el.offsetTop
14637
+ });
14355
14638
  }
14356
14639
  }
14357
14640
  }
@@ -14372,8 +14655,7 @@ const TransitionGroupImpl = /* @__PURE__ */ decorate({
14372
14655
  }
14373
14656
  });
14374
14657
  const TransitionGroup = TransitionGroupImpl;
14375
- function callPendingCbs(c) {
14376
- const el = c.el;
14658
+ function callPendingCbs(el) {
14377
14659
  if (el[moveCbKey]) {
14378
14660
  el[moveCbKey]();
14379
14661
  }
@@ -14382,19 +14664,30 @@ function callPendingCbs(c) {
14382
14664
  }
14383
14665
  }
14384
14666
  function recordPosition(c) {
14385
- newPositionMap.set(c, c.el.getBoundingClientRect());
14667
+ newPositionMap.set(c, {
14668
+ left: c.el.offsetLeft,
14669
+ top: c.el.offsetTop
14670
+ });
14386
14671
  }
14387
14672
  function applyTranslation(c) {
14388
- const oldPos = positionMap.get(c);
14389
- const newPos = newPositionMap.get(c);
14673
+ if (baseApplyTranslation(
14674
+ positionMap.get(c),
14675
+ newPositionMap.get(c),
14676
+ c.el
14677
+ )) {
14678
+ return c;
14679
+ }
14680
+ }
14681
+ function baseApplyTranslation(oldPos, newPos, el) {
14390
14682
  const dx = oldPos.left - newPos.left;
14391
14683
  const dy = oldPos.top - newPos.top;
14392
14684
  if (dx || dy) {
14393
- const s = c.el.style;
14685
+ const s = el.style;
14394
14686
  s.transform = s.webkitTransform = `translate(${dx}px,${dy}px)`;
14395
14687
  s.transitionDuration = "0s";
14396
- return c;
14688
+ return true;
14397
14689
  }
14690
+ return false;
14398
14691
  }
14399
14692
  function hasCSSTransform(el, root, moveClass) {
14400
14693
  const clone = el.cloneNode();
@@ -14412,6 +14705,22 @@ function hasCSSTransform(el, root, moveClass) {
14412
14705
  container.removeChild(clone);
14413
14706
  return hasTransform;
14414
14707
  }
14708
+ const handleMovedChildren = (el, moveClass) => {
14709
+ const style = el.style;
14710
+ addTransitionClass(el, moveClass);
14711
+ style.transform = style.webkitTransform = style.transitionDuration = "";
14712
+ const cb = el[moveCbKey] = (e) => {
14713
+ if (e && e.target !== el) {
14714
+ return;
14715
+ }
14716
+ if (!e || e.propertyName.endsWith("transform")) {
14717
+ el.removeEventListener("transitionend", cb);
14718
+ el[moveCbKey] = null;
14719
+ removeTransitionClass(el, moveClass);
14720
+ }
14721
+ };
14722
+ el.addEventListener("transitionend", cb);
14723
+ };
14415
14724
 
14416
14725
  const getModelAssigner = (vnode) => {
14417
14726
  const fn = vnode.props["onUpdate:modelValue"] || vnode.props["onModelCompat:input"];
@@ -14447,21 +14756,21 @@ const vModelText = {
14447
14756
  vModelTextUpdate(el, oldValue, value, trim, number, lazy);
14448
14757
  }
14449
14758
  };
14759
+ function castValue(value, trim, number) {
14760
+ if (trim) value = value.trim();
14761
+ if (number) value = looseToNumber(value);
14762
+ return value;
14763
+ }
14450
14764
  const vModelTextInit = (el, trim, number, lazy, set) => {
14451
14765
  addEventListener(el, lazy ? "change" : "input", (e) => {
14452
14766
  if (e.target.composing) return;
14453
- let domValue = el.value;
14454
- if (trim) {
14455
- domValue = domValue.trim();
14456
- }
14457
- if (number || el.type === "number") {
14458
- domValue = looseToNumber(domValue);
14459
- }
14460
- (set || el[assignKey])(domValue);
14767
+ (set || el[assignKey])(
14768
+ castValue(el.value, trim, number || el.type === "number")
14769
+ );
14461
14770
  });
14462
- if (trim) {
14771
+ if (trim || number) {
14463
14772
  addEventListener(el, "change", () => {
14464
- el.value = el.value.trim();
14773
+ el.value = castValue(el.value, trim, number || el.type === "number");
14465
14774
  });
14466
14775
  }
14467
14776
  if (!lazy) {
@@ -14744,13 +15053,13 @@ const modifierGuards = {
14744
15053
  const withModifiers = (fn, modifiers) => {
14745
15054
  const cache = fn._withMods || (fn._withMods = {});
14746
15055
  const cacheKey = modifiers.join(".");
14747
- return cache[cacheKey] || (cache[cacheKey] = (event, ...args) => {
15056
+ return cache[cacheKey] || (cache[cacheKey] = ((event, ...args) => {
14748
15057
  for (let i = 0; i < modifiers.length; i++) {
14749
15058
  const guard = modifierGuards[modifiers[i]];
14750
15059
  if (guard && guard(event, modifiers)) return;
14751
15060
  }
14752
15061
  return fn(event, ...args);
14753
- });
15062
+ }));
14754
15063
  };
14755
15064
  const keyNames = {
14756
15065
  esc: "escape",
@@ -14780,7 +15089,7 @@ const withKeys = (fn, modifiers) => {
14780
15089
  }
14781
15090
  const cache = fn._withKeys || (fn._withKeys = {});
14782
15091
  const cacheKey = modifiers.join(".");
14783
- return cache[cacheKey] || (cache[cacheKey] = (event) => {
15092
+ return cache[cacheKey] || (cache[cacheKey] = ((event) => {
14784
15093
  if (!("key" in event)) {
14785
15094
  return;
14786
15095
  }
@@ -14810,7 +15119,7 @@ const withKeys = (fn, modifiers) => {
14810
15119
  }
14811
15120
  }
14812
15121
  }
14813
- });
15122
+ }));
14814
15123
  };
14815
15124
 
14816
15125
  const rendererOptions = /* @__PURE__ */ extend({ patchProp }, nodeOps);
@@ -14824,13 +15133,13 @@ function ensureHydrationRenderer() {
14824
15133
  enabledHydration = true;
14825
15134
  return renderer;
14826
15135
  }
14827
- const render = (...args) => {
15136
+ const render = ((...args) => {
14828
15137
  ensureRenderer().render(...args);
14829
- };
14830
- const hydrate = (...args) => {
15138
+ });
15139
+ const hydrate = ((...args) => {
14831
15140
  ensureHydrationRenderer().hydrate(...args);
14832
- };
14833
- const createApp = (...args) => {
15141
+ });
15142
+ const createApp = ((...args) => {
14834
15143
  const app = ensureRenderer().createApp(...args);
14835
15144
  if (!!(process.env.NODE_ENV !== "production")) {
14836
15145
  injectNativeTagCheck(app);
@@ -14846,7 +15155,7 @@ const createApp = (...args) => {
14846
15155
  if (!!(process.env.NODE_ENV !== "production") && container.nodeType === 1) {
14847
15156
  for (let i = 0; i < container.attributes.length; i++) {
14848
15157
  const attr = container.attributes[i];
14849
- if (attr.name !== "v-cloak" && /^(v-|:|@)/.test(attr.name)) {
15158
+ if (attr.name !== "v-cloak" && /^(?:v-|:|@)/.test(attr.name)) {
14850
15159
  compatUtils.warnDeprecation(
14851
15160
  "GLOBAL_MOUNT_CONTAINER",
14852
15161
  null
@@ -14867,8 +15176,8 @@ const createApp = (...args) => {
14867
15176
  return proxy;
14868
15177
  };
14869
15178
  return app;
14870
- };
14871
- const createSSRApp = (...args) => {
15179
+ });
15180
+ const createSSRApp = ((...args) => {
14872
15181
  const app = ensureHydrationRenderer().createApp(...args);
14873
15182
  if (!!(process.env.NODE_ENV !== "production")) {
14874
15183
  injectNativeTagCheck(app);
@@ -14882,7 +15191,7 @@ const createSSRApp = (...args) => {
14882
15191
  }
14883
15192
  };
14884
15193
  return app;
14885
- };
15194
+ });
14886
15195
  function resolveRootNamespace(container) {
14887
15196
  if (container instanceof SVGElement) {
14888
15197
  return "svg";
@@ -14963,6 +15272,7 @@ var runtimeDom = /*#__PURE__*/Object.freeze({
14963
15272
  ErrorTypeStrings: ErrorTypeStrings,
14964
15273
  Fragment: Fragment,
14965
15274
  KeepAlive: KeepAlive,
15275
+ MismatchTypes: MismatchTypes,
14966
15276
  MoveType: MoveType,
14967
15277
  ReactiveEffect: ReactiveEffect,
14968
15278
  Static: Static,
@@ -14972,21 +15282,30 @@ var runtimeDom = /*#__PURE__*/Object.freeze({
14972
15282
  TrackOpTypes: TrackOpTypes,
14973
15283
  Transition: Transition,
14974
15284
  TransitionGroup: TransitionGroup,
15285
+ TransitionPropsValidators: TransitionPropsValidators,
14975
15286
  TriggerOpTypes: TriggerOpTypes,
14976
15287
  VueElement: VueElement,
15288
+ activate: activate,
15289
+ addTransitionClass: addTransitionClass,
14977
15290
  assertNumber: assertNumber,
15291
+ baseApplyTranslation: baseApplyTranslation,
14978
15292
  baseEmit: baseEmit,
14979
15293
  baseNormalizePropsOptions: baseNormalizePropsOptions,
15294
+ baseResolveTransitionHooks: baseResolveTransitionHooks,
15295
+ callPendingCbs: callPendingCbs,
14980
15296
  callWithAsyncErrorHandling: callWithAsyncErrorHandling,
14981
15297
  callWithErrorHandling: callWithErrorHandling,
14982
15298
  camelize: camelize,
14983
15299
  capitalize: capitalize,
15300
+ checkTransitionMode: checkTransitionMode,
14984
15301
  cloneVNode: cloneVNode,
14985
15302
  compatUtils: compatUtils,
14986
15303
  computed: computed,
14987
15304
  createApp: createApp,
14988
15305
  createAppAPI: createAppAPI,
15306
+ createAsyncComponentContext: createAsyncComponentContext,
14989
15307
  createBlock: createBlock,
15308
+ createCanSetSetupRefChecker: createCanSetSetupRefChecker,
14990
15309
  createCommentVNode: createCommentVNode,
14991
15310
  createElementBlock: createElementBlock,
14992
15311
  createElementVNode: createBaseVNode,
@@ -15001,6 +15320,7 @@ var runtimeDom = /*#__PURE__*/Object.freeze({
15001
15320
  createVNode: createVNode,
15002
15321
  get currentInstance () { return currentInstance; },
15003
15322
  customRef: customRef,
15323
+ deactivate: deactivate,
15004
15324
  defineAsyncComponent: defineAsyncComponent,
15005
15325
  defineComponent: defineComponent,
15006
15326
  defineCustomElement: defineCustomElement,
@@ -15012,19 +15332,28 @@ var runtimeDom = /*#__PURE__*/Object.freeze({
15012
15332
  defineSSRCustomElement: defineSSRCustomElement,
15013
15333
  defineSlots: defineSlots,
15014
15334
  devtools: devtools,
15335
+ devtoolsComponentAdded: devtoolsComponentAdded,
15015
15336
  effect: effect,
15016
15337
  effectScope: effectScope,
15017
15338
  endMeasure: endMeasure,
15339
+ ensureHydrationRenderer: ensureHydrationRenderer,
15018
15340
  ensureRenderer: ensureRenderer,
15341
+ ensureVaporSlotFallback: ensureVaporSlotFallback,
15019
15342
  expose: expose,
15020
15343
  flushOnAppMount: flushOnAppMount,
15344
+ forceReflow: forceReflow,
15345
+ getAttributeMismatch: getAttributeMismatch,
15346
+ getComponentName: getComponentName,
15021
15347
  getCurrentInstance: getCurrentInstance,
15022
15348
  getCurrentScope: getCurrentScope,
15023
15349
  getCurrentWatcher: getCurrentWatcher,
15350
+ getInheritedScopeIds: getInheritedScopeIds,
15024
15351
  getTransitionRawChildren: getTransitionRawChildren,
15025
15352
  guardReactiveProps: guardReactiveProps,
15026
15353
  h: h,
15027
15354
  handleError: handleError,
15355
+ handleMovedChildren: handleMovedChildren,
15356
+ hasCSSTransform: hasCSSTransform,
15028
15357
  hasInjectionContext: hasInjectionContext,
15029
15358
  hydrate: hydrate,
15030
15359
  hydrateOnIdle: hydrateOnIdle,
@@ -15035,24 +15364,38 @@ var runtimeDom = /*#__PURE__*/Object.freeze({
15035
15364
  initDirectivesForSSR: initDirectivesForSSR,
15036
15365
  initFeatureFlags: initFeatureFlags,
15037
15366
  inject: inject,
15367
+ isAsyncWrapper: isAsyncWrapper,
15038
15368
  isEmitListener: isEmitListener,
15369
+ isKeepAlive: isKeepAlive,
15370
+ isMapEqual: isMapEqual,
15039
15371
  isMemoSame: isMemoSame,
15372
+ isMismatchAllowed: isMismatchAllowed,
15040
15373
  isProxy: isProxy,
15041
15374
  isReactive: isReactive,
15042
15375
  isReadonly: isReadonly,
15043
15376
  isRef: isRef,
15044
15377
  isRuntimeOnly: isRuntimeOnly,
15378
+ isSetEqual: isSetEqual,
15045
15379
  isShallow: isShallow,
15380
+ isTeleportDeferred: isTeleportDeferred,
15381
+ isTeleportDisabled: isTeleportDisabled,
15382
+ isTemplateNode: isTemplateNode$1,
15046
15383
  isVNode: isVNode,
15384
+ isValidHtmlOrSvgAttribute: isValidHtmlOrSvgAttribute,
15385
+ leaveCbKey: leaveCbKey,
15386
+ markAsyncBoundary: markAsyncBoundary,
15047
15387
  markRaw: markRaw,
15388
+ matches: matches,
15048
15389
  mergeDefaults: mergeDefaults,
15049
15390
  mergeModels: mergeModels,
15050
15391
  mergeProps: mergeProps,
15392
+ moveCbKey: moveCbKey,
15051
15393
  nextTick: nextTick,
15052
15394
  nextUid: nextUid,
15053
15395
  normalizeClass: normalizeClass,
15054
15396
  normalizeContainer: normalizeContainer,
15055
15397
  normalizeProps: normalizeProps,
15398
+ normalizeRef: normalizeRef,
15056
15399
  normalizeStyle: normalizeStyle,
15057
15400
  onActivated: onActivated,
15058
15401
  onBeforeMount: onBeforeMount,
@@ -15070,6 +15413,9 @@ var runtimeDom = /*#__PURE__*/Object.freeze({
15070
15413
  onWatcherCleanup: onWatcherCleanup,
15071
15414
  openBlock: openBlock,
15072
15415
  patchStyle: patchStyle,
15416
+ performAsyncHydrate: performAsyncHydrate,
15417
+ performTransitionEnter: performTransitionEnter,
15418
+ performTransitionLeave: performTransitionLeave,
15073
15419
  popScopeId: popScopeId,
15074
15420
  popWarningContext: popWarningContext,
15075
15421
  provide: provide,
@@ -15083,18 +15429,23 @@ var runtimeDom = /*#__PURE__*/Object.freeze({
15083
15429
  ref: ref,
15084
15430
  registerHMR: registerHMR,
15085
15431
  registerRuntimeCompiler: registerRuntimeCompiler,
15432
+ removeTransitionClass: removeTransitionClass,
15086
15433
  render: render,
15087
15434
  renderList: renderList,
15088
15435
  renderSlot: renderSlot,
15436
+ resetShapeFlag: resetShapeFlag,
15089
15437
  resolveComponent: resolveComponent,
15090
15438
  resolveDirective: resolveDirective,
15091
15439
  resolveDynamicComponent: resolveDynamicComponent,
15092
15440
  resolveFilter: resolveFilter,
15093
15441
  resolvePropValue: resolvePropValue,
15442
+ resolveTeleportTarget: resolveTarget,
15094
15443
  resolveTransitionHooks: resolveTransitionHooks,
15444
+ resolveTransitionProps: resolveTransitionProps,
15095
15445
  setBlockTracking: setBlockTracking,
15096
15446
  setCurrentInstance: setCurrentInstance,
15097
15447
  setDevtoolsHook: setDevtoolsHook,
15448
+ setRef: setRef,
15098
15449
  setTransitionHooks: setTransitionHooks,
15099
15450
  shallowReactive: shallowReactive,
15100
15451
  shallowReadonly: shallowReadonly,
@@ -15105,17 +15456,21 @@ var runtimeDom = /*#__PURE__*/Object.freeze({
15105
15456
  ssrUtils: ssrUtils,
15106
15457
  startMeasure: startMeasure,
15107
15458
  stop: stop,
15459
+ toClassSet: toClassSet,
15108
15460
  toDisplayString: toDisplayString,
15109
15461
  toHandlerKey: toHandlerKey,
15110
15462
  toHandlers: toHandlers,
15111
15463
  toRaw: toRaw,
15112
15464
  toRef: toRef,
15113
15465
  toRefs: toRefs,
15466
+ toStyleMap: toStyleMap,
15114
15467
  toValue: toValue,
15115
15468
  transformVNodeArgs: transformVNodeArgs,
15116
15469
  triggerRef: triggerRef,
15117
15470
  unref: unref,
15118
15471
  unregisterHMR: unregisterHMR,
15472
+ unsafeToTrustedHTML: unsafeToTrustedHTML,
15473
+ useAsyncComponentState: useAsyncComponentState,
15119
15474
  useAttrs: useAttrs,
15120
15475
  useCssModule: useCssModule,
15121
15476
  useCssVars: useCssVars,
@@ -15146,6 +15501,7 @@ var runtimeDom = /*#__PURE__*/Object.freeze({
15146
15501
  validateProps: validateProps,
15147
15502
  version: version,
15148
15503
  warn: warn,
15504
+ warnPropMismatch: warnPropMismatch,
15149
15505
  watch: watch,
15150
15506
  watchEffect: watchEffect,
15151
15507
  watchPostEffect: watchPostEffect,
@@ -16418,7 +16774,7 @@ function isCoreComponent(tag) {
16418
16774
  return BASE_TRANSITION;
16419
16775
  }
16420
16776
  }
16421
- const nonIdentifierRE = /^\d|[^\$\w\xA0-\uFFFF]/;
16777
+ const nonIdentifierRE = /^$|^\d|[^\$\w\xA0-\uFFFF]/;
16422
16778
  const isSimpleIdentifier = (name) => !nonIdentifierRE.test(name);
16423
16779
  const validFirstIdentCharRE = /[A-Za-z_$\xA0-\uFFFF]/;
16424
16780
  const validIdentCharRE = /[\.\?\w$\xA0-\uFFFF]/;
@@ -16487,7 +16843,7 @@ const isMemberExpressionBrowser = (exp) => {
16487
16843
  return !currentOpenBracketCount && !currentOpenParensCount;
16488
16844
  };
16489
16845
  const isMemberExpression = isMemberExpressionBrowser ;
16490
- const fnExpRE = /^\s*(async\s*)?(\([^)]*?\)|[\w$_]+)\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;
16846
+ const fnExpRE = /^\s*(?:async\s*)?(?:\([^)]*?\)|[\w$_]+)\s*(?::[^=]+)?=>|^\s*(?:async\s+)?function(?:\s+[\w$]+)?\s*\(/;
16491
16847
  const isFnExpressionBrowser = (exp) => fnExpRE.test(getExpSource(exp));
16492
16848
  const isFnExpression = isFnExpressionBrowser ;
16493
16849
  function assert(condition, msg) {
@@ -16530,6 +16886,9 @@ function hasDynamicKeyVBind(node) {
16530
16886
  function isText$1(node) {
16531
16887
  return node.type === 5 || node.type === 2;
16532
16888
  }
16889
+ function isVPre(p) {
16890
+ return p.type === 7 && p.name === "pre";
16891
+ }
16533
16892
  function isVSlot(p) {
16534
16893
  return p.type === 7 && p.name === "slot";
16535
16894
  }
@@ -16788,7 +17147,7 @@ const tokenizer = new Tokenizer(stack, {
16788
17147
  ondirarg(start, end) {
16789
17148
  if (start === end) return;
16790
17149
  const arg = getSlice(start, end);
16791
- if (inVPre) {
17150
+ if (inVPre && !isVPre(currentProp)) {
16792
17151
  currentProp.name += arg;
16793
17152
  setLocEnd(currentProp.nameLoc, end);
16794
17153
  } else {
@@ -16803,7 +17162,7 @@ const tokenizer = new Tokenizer(stack, {
16803
17162
  },
16804
17163
  ondirmodifier(start, end) {
16805
17164
  const mod = getSlice(start, end);
16806
- if (inVPre) {
17165
+ if (inVPre && !isVPre(currentProp)) {
16807
17166
  currentProp.name += "." + mod;
16808
17167
  setLocEnd(currentProp.nameLoc, end);
16809
17168
  } else if (currentProp.name === "slot") {
@@ -17431,6 +17790,11 @@ function walk(node, parent, context, doNotHoistNode = false, inFor = false) {
17431
17790
  } else if (child.type === 12) {
17432
17791
  const constantType = doNotHoistNode ? 0 : getConstantType(child, context);
17433
17792
  if (constantType >= 2) {
17793
+ if (child.codegenNode.type === 14 && child.codegenNode.arguments.length > 0) {
17794
+ child.codegenNode.arguments.push(
17795
+ -1 + (!!(process.env.NODE_ENV !== "production") ? ` /* ${PatchFlagNames[-1]} */` : ``)
17796
+ );
17797
+ }
17434
17798
  toCache.push(child);
17435
17799
  continue;
17436
17800
  }
@@ -17459,7 +17823,6 @@ function walk(node, parent, context, doNotHoistNode = false, inFor = false) {
17459
17823
  }
17460
17824
  }
17461
17825
  let cachedAsArray = false;
17462
- const slotCacheKeys = [];
17463
17826
  if (toCache.length === children.length && node.type === 1) {
17464
17827
  if (node.tagType === 0 && node.codegenNode && node.codegenNode.type === 13 && isArray(node.codegenNode.children)) {
17465
17828
  node.codegenNode.children = getCacheExpression(
@@ -17469,7 +17832,6 @@ function walk(node, parent, context, doNotHoistNode = false, inFor = false) {
17469
17832
  } else if (node.tagType === 1 && node.codegenNode && node.codegenNode.type === 13 && node.codegenNode.children && !isArray(node.codegenNode.children) && node.codegenNode.children.type === 15) {
17470
17833
  const slot = getSlotNode(node.codegenNode, "default");
17471
17834
  if (slot) {
17472
- slotCacheKeys.push(context.cached.length);
17473
17835
  slot.returns = getCacheExpression(
17474
17836
  createArrayExpression(slot.returns)
17475
17837
  );
@@ -17479,7 +17841,6 @@ function walk(node, parent, context, doNotHoistNode = false, inFor = false) {
17479
17841
  const slotName = findDir(node, "slot", true);
17480
17842
  const slot = slotName && slotName.arg && getSlotNode(parent.codegenNode, slotName.arg);
17481
17843
  if (slot) {
17482
- slotCacheKeys.push(context.cached.length);
17483
17844
  slot.returns = getCacheExpression(
17484
17845
  createArrayExpression(slot.returns)
17485
17846
  );
@@ -17489,23 +17850,12 @@ function walk(node, parent, context, doNotHoistNode = false, inFor = false) {
17489
17850
  }
17490
17851
  if (!cachedAsArray) {
17491
17852
  for (const child of toCache) {
17492
- slotCacheKeys.push(context.cached.length);
17493
17853
  child.codegenNode = context.cache(child.codegenNode);
17494
17854
  }
17495
17855
  }
17496
- if (slotCacheKeys.length && node.type === 1 && node.tagType === 1 && node.codegenNode && node.codegenNode.type === 13 && node.codegenNode.children && !isArray(node.codegenNode.children) && node.codegenNode.children.type === 15) {
17497
- node.codegenNode.children.properties.push(
17498
- createObjectProperty(
17499
- `__`,
17500
- createSimpleExpression(JSON.stringify(slotCacheKeys), false)
17501
- )
17502
- );
17503
- }
17504
17856
  function getCacheExpression(value) {
17505
17857
  const exp = context.cache(value);
17506
- if (inFor && context.hmr) {
17507
- exp.needArraySpread = true;
17508
- }
17858
+ exp.needArraySpread = true;
17509
17859
  return exp;
17510
17860
  }
17511
17861
  function getSlotNode(node2, name) {
@@ -18639,7 +18989,7 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
18639
18989
  }
18640
18990
 
18641
18991
  const transformIf = createStructuralDirectiveTransform(
18642
- /^(if|else|else-if)$/,
18992
+ /^(?:if|else|else-if)$/,
18643
18993
  (node, dir, context) => {
18644
18994
  return processIf(node, dir, context, (ifNode, branch, isRoot) => {
18645
18995
  const siblings = context.parent.children;
@@ -18708,7 +19058,7 @@ function processIf(node, dir, context, processCodegen) {
18708
19058
  continue;
18709
19059
  }
18710
19060
  if (sibling && sibling.type === 9) {
18711
- if (dir.name === "else-if" && sibling.branches[sibling.branches.length - 1].condition === void 0) {
19061
+ if ((dir.name === "else-if" || dir.name === "else") && sibling.branches[sibling.branches.length - 1].condition === void 0) {
18712
19062
  context.onError(
18713
19063
  createCompilerError(30, node.loc)
18714
19064
  );
@@ -18857,80 +19207,6 @@ function getParentCondition(node) {
18857
19207
  }
18858
19208
  }
18859
19209
 
18860
- const transformBind = (dir, _node, context) => {
18861
- const { modifiers, loc } = dir;
18862
- const arg = dir.arg;
18863
- let { exp } = dir;
18864
- if (exp && exp.type === 4 && !exp.content.trim()) {
18865
- {
18866
- exp = void 0;
18867
- }
18868
- }
18869
- if (!exp) {
18870
- if (arg.type !== 4 || !arg.isStatic) {
18871
- context.onError(
18872
- createCompilerError(
18873
- 52,
18874
- arg.loc
18875
- )
18876
- );
18877
- return {
18878
- props: [
18879
- createObjectProperty(arg, createSimpleExpression("", true, loc))
18880
- ]
18881
- };
18882
- }
18883
- transformBindShorthand(dir);
18884
- exp = dir.exp;
18885
- }
18886
- if (arg.type !== 4) {
18887
- arg.children.unshift(`(`);
18888
- arg.children.push(`) || ""`);
18889
- } else if (!arg.isStatic) {
18890
- arg.content = `${arg.content} || ""`;
18891
- }
18892
- if (modifiers.some((mod) => mod.content === "camel")) {
18893
- if (arg.type === 4) {
18894
- if (arg.isStatic) {
18895
- arg.content = camelize(arg.content);
18896
- } else {
18897
- arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;
18898
- }
18899
- } else {
18900
- arg.children.unshift(`${context.helperString(CAMELIZE)}(`);
18901
- arg.children.push(`)`);
18902
- }
18903
- }
18904
- if (!context.inSSR) {
18905
- if (modifiers.some((mod) => mod.content === "prop")) {
18906
- injectPrefix(arg, ".");
18907
- }
18908
- if (modifiers.some((mod) => mod.content === "attr")) {
18909
- injectPrefix(arg, "^");
18910
- }
18911
- }
18912
- return {
18913
- props: [createObjectProperty(arg, exp)]
18914
- };
18915
- };
18916
- const transformBindShorthand = (dir, context) => {
18917
- const arg = dir.arg;
18918
- const propName = camelize(arg.content);
18919
- dir.exp = createSimpleExpression(propName, false, arg.loc);
18920
- };
18921
- const injectPrefix = (arg, prefix) => {
18922
- if (arg.type === 4) {
18923
- if (arg.isStatic) {
18924
- arg.content = prefix + arg.content;
18925
- } else {
18926
- arg.content = `\`${prefix}\${${arg.content}}\``;
18927
- }
18928
- } else {
18929
- arg.children.unshift(`'${prefix}' + (`);
18930
- arg.children.push(`)`);
18931
- }
18932
- };
18933
-
18934
19210
  const transformFor = createStructuralDirectiveTransform(
18935
19211
  "for",
18936
19212
  (node, dir, context) => {
@@ -18942,10 +19218,7 @@ const transformFor = createStructuralDirectiveTransform(
18942
19218
  const isTemplate = isTemplateNode(node);
18943
19219
  const memo = findDir(node, "memo");
18944
19220
  const keyProp = findProp(node, `key`, false, true);
18945
- const isDirKey = keyProp && keyProp.type === 7;
18946
- if (isDirKey && !keyProp.exp) {
18947
- transformBindShorthand(keyProp);
18948
- }
19221
+ keyProp && keyProp.type === 7;
18949
19222
  let keyExp = keyProp && (keyProp.type === 6 ? keyProp.value ? createSimpleExpression(keyProp.value.content, true) : void 0 : keyProp.exp);
18950
19223
  const keyProperty = keyProp && keyExp ? createObjectProperty(`key`, keyExp) : null;
18951
19224
  const isStableFragment = forNode.source.type === 4 && forNode.source.constType > 0;
@@ -19226,7 +19499,7 @@ function buildSlots(node, context, buildSlotFn = buildClientSlotFn) {
19226
19499
  );
19227
19500
  } else if (vElse = findDir(
19228
19501
  slotElement,
19229
- /^else(-if)?$/,
19502
+ /^else(?:-if)?$/,
19230
19503
  true
19231
19504
  /* allowEmpty */
19232
19505
  )) {
@@ -19238,7 +19511,7 @@ function buildSlots(node, context, buildSlotFn = buildClientSlotFn) {
19238
19511
  break;
19239
19512
  }
19240
19513
  }
19241
- if (prev && isTemplateNode(prev) && findDir(prev, /^(else-)?if$/)) {
19514
+ if (prev && isTemplateNode(prev) && findDir(prev, /^(?:else-)?if$/)) {
19242
19515
  let conditional = dynamicSlots[dynamicSlots.length - 1];
19243
19516
  while (conditional.alternate.type === 19) {
19244
19517
  conditional = conditional.alternate;
@@ -20098,6 +20371,58 @@ const transformOn$1 = (dir, node, context, augmentor) => {
20098
20371
  return ret;
20099
20372
  };
20100
20373
 
20374
+ const transformBind = (dir, _node, context) => {
20375
+ const { modifiers, loc } = dir;
20376
+ const arg = dir.arg;
20377
+ let { exp } = dir;
20378
+ if (exp && exp.type === 4 && !exp.content.trim()) {
20379
+ {
20380
+ exp = void 0;
20381
+ }
20382
+ }
20383
+ if (arg.type !== 4) {
20384
+ arg.children.unshift(`(`);
20385
+ arg.children.push(`) || ""`);
20386
+ } else if (!arg.isStatic) {
20387
+ arg.content = arg.content ? `${arg.content} || ""` : `""`;
20388
+ }
20389
+ if (modifiers.some((mod) => mod.content === "camel")) {
20390
+ if (arg.type === 4) {
20391
+ if (arg.isStatic) {
20392
+ arg.content = camelize(arg.content);
20393
+ } else {
20394
+ arg.content = `${context.helperString(CAMELIZE)}(${arg.content})`;
20395
+ }
20396
+ } else {
20397
+ arg.children.unshift(`${context.helperString(CAMELIZE)}(`);
20398
+ arg.children.push(`)`);
20399
+ }
20400
+ }
20401
+ if (!context.inSSR) {
20402
+ if (modifiers.some((mod) => mod.content === "prop")) {
20403
+ injectPrefix(arg, ".");
20404
+ }
20405
+ if (modifiers.some((mod) => mod.content === "attr")) {
20406
+ injectPrefix(arg, "^");
20407
+ }
20408
+ }
20409
+ return {
20410
+ props: [createObjectProperty(arg, exp)]
20411
+ };
20412
+ };
20413
+ const injectPrefix = (arg, prefix) => {
20414
+ if (arg.type === 4) {
20415
+ if (arg.isStatic) {
20416
+ arg.content = prefix + arg.content;
20417
+ } else {
20418
+ arg.content = `\`${prefix}\${${arg.content}}\``;
20419
+ }
20420
+ } else {
20421
+ arg.children.unshift(`'${prefix}' + (`);
20422
+ arg.children.push(`)`);
20423
+ }
20424
+ };
20425
+
20101
20426
  const transformText = (node, context) => {
20102
20427
  if (node.type === 0 || node.type === 1 || node.type === 11 || node.type === 10) {
20103
20428
  return () => {
@@ -20406,7 +20731,7 @@ const seen = /* @__PURE__ */ new WeakSet();
20406
20731
  const transformMemo = (node, context) => {
20407
20732
  if (node.type === 1) {
20408
20733
  const dir = findDir(node, "memo");
20409
- if (!dir || seen.has(node)) {
20734
+ if (!dir || seen.has(node) || context.inSSR) {
20410
20735
  return;
20411
20736
  }
20412
20737
  seen.add(node);
@@ -20428,9 +20753,36 @@ const transformMemo = (node, context) => {
20428
20753
  }
20429
20754
  };
20430
20755
 
20756
+ const transformVBindShorthand = (node, context) => {
20757
+ if (node.type === 1) {
20758
+ for (const prop of node.props) {
20759
+ if (prop.type === 7 && prop.name === "bind" && (!prop.exp || // #13930 :foo in in-DOM templates will be parsed into :foo="" by browser
20760
+ prop.exp.type === 4 && !prop.exp.content.trim()) && prop.arg) {
20761
+ const arg = prop.arg;
20762
+ if (arg.type !== 4 || !arg.isStatic) {
20763
+ context.onError(
20764
+ createCompilerError(
20765
+ 52,
20766
+ arg.loc
20767
+ )
20768
+ );
20769
+ prop.exp = createSimpleExpression("", true, arg.loc);
20770
+ } else {
20771
+ const propName = camelize(arg.content);
20772
+ if (validFirstIdentCharRE.test(propName[0]) || // allow hyphen first char for https://github.com/vuejs/language-tools/pull/3424
20773
+ propName[0] === "-") {
20774
+ prop.exp = createSimpleExpression(propName, false, arg.loc);
20775
+ }
20776
+ }
20777
+ }
20778
+ }
20779
+ }
20780
+ };
20781
+
20431
20782
  function getBaseTransformPreset(prefixIdentifiers) {
20432
20783
  return [
20433
20784
  [
20785
+ transformVBindShorthand,
20434
20786
  transformOnce,
20435
20787
  transformIf,
20436
20788
  transformMemo,
@@ -20881,46 +21233,46 @@ const transformTransition = (node, context) => {
20881
21233
  if (node.type === 1 && node.tagType === 1) {
20882
21234
  const component = context.isBuiltInComponent(node.tag);
20883
21235
  if (component === TRANSITION) {
20884
- return () => {
20885
- if (!node.children.length) {
20886
- return;
20887
- }
20888
- if (hasMultipleChildren(node)) {
20889
- context.onError(
20890
- createDOMCompilerError(
20891
- 62,
20892
- {
20893
- start: node.children[0].loc.start,
20894
- end: node.children[node.children.length - 1].loc.end,
20895
- source: ""
20896
- }
20897
- )
20898
- );
20899
- }
20900
- const child = node.children[0];
20901
- if (child.type === 1) {
20902
- for (const p of child.props) {
20903
- if (p.type === 7 && p.name === "show") {
20904
- node.props.push({
20905
- type: 6,
20906
- name: "persisted",
20907
- nameLoc: node.loc,
20908
- value: void 0,
20909
- loc: node.loc
20910
- });
20911
- }
20912
- }
20913
- }
20914
- };
21236
+ return postTransformTransition(node, context.onError);
20915
21237
  }
20916
21238
  }
20917
21239
  };
20918
- function hasMultipleChildren(node) {
21240
+ function postTransformTransition(node, onError, hasMultipleChildren = defaultHasMultipleChildren) {
21241
+ return () => {
21242
+ if (!node.children.length) {
21243
+ return;
21244
+ }
21245
+ if (hasMultipleChildren(node)) {
21246
+ onError(
21247
+ createDOMCompilerError(62, {
21248
+ start: node.children[0].loc.start,
21249
+ end: node.children[node.children.length - 1].loc.end,
21250
+ source: ""
21251
+ })
21252
+ );
21253
+ }
21254
+ const child = node.children[0];
21255
+ if (child.type === 1) {
21256
+ for (const p of child.props) {
21257
+ if (p.type === 7 && p.name === "show") {
21258
+ node.props.push({
21259
+ type: 6,
21260
+ name: "persisted",
21261
+ nameLoc: node.loc,
21262
+ value: void 0,
21263
+ loc: node.loc
21264
+ });
21265
+ }
21266
+ }
21267
+ }
21268
+ };
21269
+ }
21270
+ function defaultHasMultipleChildren(node) {
20919
21271
  const children = node.children = node.children.filter(
20920
21272
  (c) => c.type !== 3 && !(c.type === 2 && !c.content.trim())
20921
21273
  );
20922
21274
  const child = children[0];
20923
- return children.length !== 1 || child.type === 11 || child.type === 9 && child.branches.some(hasMultipleChildren);
21275
+ return children.length !== 1 || child.type === 11 || child.type === 9 && child.branches.some(defaultHasMultipleChildren);
20924
21276
  }
20925
21277
 
20926
21278
  const ignoreSideEffectTags = (node, context) => {
@@ -21203,4 +21555,4 @@ Vue.compile = compileToFunction;
21203
21555
 
21204
21556
  const configureCompat = Vue.configureCompat;
21205
21557
 
21206
- export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, MoveType, ReactiveEffect, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TriggerOpTypes, VueElement, assertNumber, baseEmit, baseNormalizePropsOptions, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, cloneVNode, compatUtils, computed, configureCompat, createApp, createAppAPI, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createInternalObject, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, currentInstance, customRef, Vue as default, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, effect, effectScope, endMeasure, ensureRenderer, expose, flushOnAppMount, getCurrentInstance, getCurrentScope, getCurrentWatcher, getTransitionRawChildren, guardReactiveProps, h, handleError, hasInjectionContext, hydrate, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initDirectivesForSSR, initFeatureFlags, inject, isEmitListener, isMemoSame, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isShallow, isVNode, markRaw, mergeDefaults, mergeModels, mergeProps, nextTick, nextUid, normalizeClass, normalizeContainer, normalizeProps, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, patchStyle, popScopeId, popWarningContext, provide, proxyRefs, pushScopeId, pushWarningContext, queueJob, queuePostFlushCb, reactive, readonly, ref, registerHMR, registerRuntimeCompiler, render, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolvePropValue, resolveTransitionHooks, setBlockTracking, setCurrentInstance, setDevtoolsHook, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, shouldSetAsProp, simpleSetCurrentInstance, ssrContextKey, ssrUtils, startMeasure, stop, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toValue, transformVNodeArgs, triggerRef, unref, unregisterHMR, useAttrs, useCssModule, useCssVars, useHost, useId, useModel, useSSRContext, useShadowRoot, useSlots, useTemplateRef, useTransitionState, vModelCheckbox, vModelCheckboxInit, vModelCheckboxUpdate, vModelDynamic, getValue as vModelGetValue, vModelRadio, vModelSelect, vModelSelectInit, vModelSetSelected, vModelText, vModelTextInit, vModelTextUpdate, vShow, vShowHidden, vShowOriginalDisplay, validateComponentName, validateProps, version, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId };
21558
+ export { BaseTransition, BaseTransitionPropsValidators, Comment, DeprecationTypes, EffectScope, ErrorCodes, ErrorTypeStrings, Fragment, KeepAlive, MismatchTypes, MoveType, ReactiveEffect, Static, Suspense, Teleport, Text, TrackOpTypes, Transition, TransitionGroup, TransitionPropsValidators, TriggerOpTypes, VueElement, activate, addTransitionClass, assertNumber, baseApplyTranslation, baseEmit, baseNormalizePropsOptions, baseResolveTransitionHooks, callPendingCbs, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, checkTransitionMode, cloneVNode, compatUtils, computed, configureCompat, createApp, createAppAPI, createAsyncComponentContext, createBlock, createCanSetSetupRefChecker, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createInternalObject, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, currentInstance, customRef, deactivate, Vue as default, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, devtoolsComponentAdded, effect, effectScope, endMeasure, ensureHydrationRenderer, ensureRenderer, ensureVaporSlotFallback, expose, flushOnAppMount, forceReflow, getAttributeMismatch, getComponentName, getCurrentInstance, getCurrentScope, getCurrentWatcher, getInheritedScopeIds, getTransitionRawChildren, guardReactiveProps, h, handleError, handleMovedChildren, hasCSSTransform, hasInjectionContext, hydrate, hydrateOnIdle, hydrateOnInteraction, hydrateOnMediaQuery, hydrateOnVisible, initCustomFormatter, initDirectivesForSSR, initFeatureFlags, inject, isAsyncWrapper, isEmitListener, isKeepAlive, isMapEqual, isMemoSame, isMismatchAllowed, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isSetEqual, isShallow, isTeleportDeferred, isTeleportDisabled, isTemplateNode$1 as isTemplateNode, isVNode, isValidHtmlOrSvgAttribute, leaveCbKey, markAsyncBoundary, markRaw, matches, mergeDefaults, mergeModels, mergeProps, moveCbKey, nextTick, nextUid, normalizeClass, normalizeContainer, normalizeProps, normalizeRef, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, onWatcherCleanup, openBlock, patchStyle, performAsyncHydrate, performTransitionEnter, performTransitionLeave, popScopeId, popWarningContext, provide, proxyRefs, pushScopeId, pushWarningContext, queueJob, queuePostFlushCb, reactive, readonly, ref, registerHMR, registerRuntimeCompiler, removeTransitionClass, render, renderList, renderSlot, resetShapeFlag, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolvePropValue, resolveTarget as resolveTeleportTarget, resolveTransitionHooks, resolveTransitionProps, setBlockTracking, setCurrentInstance, setDevtoolsHook, setRef, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, shouldSetAsProp, simpleSetCurrentInstance, ssrContextKey, ssrUtils, startMeasure, stop, toClassSet, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toStyleMap, toValue, transformVNodeArgs, triggerRef, unref, unregisterHMR, unsafeToTrustedHTML, useAsyncComponentState, useAttrs, useCssModule, useCssVars, useHost, useId, useModel, useSSRContext, useShadowRoot, useSlots, useTemplateRef, useTransitionState, vModelCheckbox, vModelCheckboxInit, vModelCheckboxUpdate, vModelDynamic, getValue as vModelGetValue, vModelRadio, vModelSelect, vModelSelectInit, vModelSetSelected, vModelText, vModelTextInit, vModelTextUpdate, vShow, vShowHidden, vShowOriginalDisplay, validateComponentName, validateProps, version, warn, warnPropMismatch, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId };