@vue/compat 3.4.33 → 3.4.35

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.
package/dist/vue.cjs.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.4.33
2
+ * @vue/compat v3.4.35
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -5303,7 +5303,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
5303
5303
  return vm;
5304
5304
  }
5305
5305
  }
5306
- Vue.version = `2.6.14-compat:${"3.4.33"}`;
5306
+ Vue.version = `2.6.14-compat:${"3.4.35"}`;
5307
5307
  Vue.config = singletonApp.config;
5308
5308
  Vue.use = (plugin, ...options) => {
5309
5309
  if (plugin && isFunction(plugin.install)) {
@@ -6220,14 +6220,27 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
6220
6220
  if (validatePropName(normalizedKey)) {
6221
6221
  const opt = raw[key];
6222
6222
  const prop = normalized[normalizedKey] = isArray(opt) || isFunction(opt) ? { type: opt } : extend({}, opt);
6223
- if (prop) {
6224
- const booleanIndex = getTypeIndex(Boolean, prop.type);
6225
- const stringIndex = getTypeIndex(String, prop.type);
6226
- prop[0 /* shouldCast */] = booleanIndex > -1;
6227
- prop[1 /* shouldCastTrue */] = stringIndex < 0 || booleanIndex < stringIndex;
6228
- if (booleanIndex > -1 || hasOwn(prop, "default")) {
6229
- needCastKeys.push(normalizedKey);
6223
+ const propType = prop.type;
6224
+ let shouldCast = false;
6225
+ let shouldCastTrue = true;
6226
+ if (isArray(propType)) {
6227
+ for (let index = 0; index < propType.length; ++index) {
6228
+ const type = propType[index];
6229
+ const typeName = isFunction(type) && type.name;
6230
+ if (typeName === "Boolean") {
6231
+ shouldCast = true;
6232
+ break;
6233
+ } else if (typeName === "String") {
6234
+ shouldCastTrue = false;
6235
+ }
6230
6236
  }
6237
+ } else {
6238
+ shouldCast = isFunction(propType) && propType.name === "Boolean";
6239
+ }
6240
+ prop[0 /* shouldCast */] = shouldCast;
6241
+ prop[1 /* shouldCastTrue */] = shouldCastTrue;
6242
+ if (shouldCast || hasOwn(prop, "default")) {
6243
+ needCastKeys.push(normalizedKey);
6231
6244
  }
6232
6245
  }
6233
6246
  }
@@ -6258,17 +6271,6 @@ function getType(ctor) {
6258
6271
  }
6259
6272
  return "";
6260
6273
  }
6261
- function isSameType(a, b) {
6262
- return getType(a) === getType(b);
6263
- }
6264
- function getTypeIndex(type, expectedTypes) {
6265
- if (isArray(expectedTypes)) {
6266
- return expectedTypes.findIndex((t) => isSameType(t, type));
6267
- } else if (isFunction(expectedTypes)) {
6268
- return isSameType(expectedTypes, type) ? 0 : -1;
6269
- }
6270
- return -1;
6271
- }
6272
6274
  function validateProps(rawProps, props, instance) {
6273
6275
  const resolvedValues = toRaw(props);
6274
6276
  const options = instance.propsOptions[0];
@@ -6608,15 +6610,11 @@ const TeleportImpl = {
6608
6610
  if (n1 == null) {
6609
6611
  const placeholder = n2.el = createComment("teleport start") ;
6610
6612
  const mainAnchor = n2.anchor = createComment("teleport end") ;
6611
- const target = n2.target = resolveTarget(n2.props, querySelector);
6612
- const targetStart = n2.targetStart = createText("");
6613
- const targetAnchor = n2.targetAnchor = createText("");
6614
6613
  insert(placeholder, container, anchor);
6615
6614
  insert(mainAnchor, container, anchor);
6616
- targetStart[TeleportEndKey] = targetAnchor;
6615
+ const target = n2.target = resolveTarget(n2.props, querySelector);
6616
+ const targetAnchor = prepareAnchor(target, n2, createText, insert);
6617
6617
  if (target) {
6618
- insert(targetStart, target);
6619
- insert(targetAnchor, target);
6620
6618
  if (namespace === "svg" || isTargetSVG(target)) {
6621
6619
  namespace = "svg";
6622
6620
  } else if (namespace === "mathml" || isTargetMathML(target)) {
@@ -6788,7 +6786,7 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
6788
6786
  }
6789
6787
  }
6790
6788
  function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {
6791
- o: { nextSibling, parentNode, querySelector }
6789
+ o: { nextSibling, parentNode, querySelector, insert, createText }
6792
6790
  }, hydrateChildren) {
6793
6791
  const target = vnode.target = resolveTarget(
6794
6792
  vnode.props,
@@ -6807,20 +6805,28 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
6807
6805
  slotScopeIds,
6808
6806
  optimized
6809
6807
  );
6810
- vnode.targetAnchor = targetNode;
6808
+ vnode.targetStart = targetNode;
6809
+ vnode.targetAnchor = targetNode && nextSibling(targetNode);
6811
6810
  } else {
6812
6811
  vnode.anchor = nextSibling(node);
6813
6812
  let targetAnchor = targetNode;
6814
6813
  while (targetAnchor) {
6815
- targetAnchor = nextSibling(targetAnchor);
6816
- if (targetAnchor && targetAnchor.nodeType === 8 && targetAnchor.data === "teleport anchor") {
6817
- vnode.targetAnchor = targetAnchor;
6818
- target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
6819
- break;
6814
+ if (targetAnchor && targetAnchor.nodeType === 8) {
6815
+ if (targetAnchor.data === "teleport start anchor") {
6816
+ vnode.targetStart = targetAnchor;
6817
+ } else if (targetAnchor.data === "teleport anchor") {
6818
+ vnode.targetAnchor = targetAnchor;
6819
+ target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
6820
+ break;
6821
+ }
6820
6822
  }
6823
+ targetAnchor = nextSibling(targetAnchor);
6824
+ }
6825
+ if (!vnode.targetAnchor) {
6826
+ prepareAnchor(target, vnode, createText, insert);
6821
6827
  }
6822
6828
  hydrateChildren(
6823
- targetNode,
6829
+ targetNode && nextSibling(targetNode),
6824
6830
  vnode,
6825
6831
  target,
6826
6832
  parentComponent,
@@ -6846,6 +6852,16 @@ function updateCssVars(vnode) {
6846
6852
  ctx.ut();
6847
6853
  }
6848
6854
  }
6855
+ function prepareAnchor(target, vnode, createText, insert) {
6856
+ const targetStart = vnode.targetStart = createText("");
6857
+ const targetAnchor = vnode.targetAnchor = createText("");
6858
+ targetStart[TeleportEndKey] = targetAnchor;
6859
+ if (target) {
6860
+ insert(targetStart, target);
6861
+ insert(targetAnchor, target);
6862
+ }
6863
+ return targetAnchor;
6864
+ }
6849
6865
 
6850
6866
  let hasLoggedMismatchError = false;
6851
6867
  const logMismatchError = () => {
@@ -9297,7 +9313,7 @@ function useModel(props, name, options = EMPTY_OBJ) {
9297
9313
  const modifiers = getModelModifiers(props, name);
9298
9314
  const res = customRef((track, trigger) => {
9299
9315
  let localValue;
9300
- let prevSetValue;
9316
+ let prevSetValue = EMPTY_OBJ;
9301
9317
  let prevEmittedValue;
9302
9318
  watchSyncEffect(() => {
9303
9319
  const propValue = props[name];
@@ -9312,7 +9328,7 @@ function useModel(props, name, options = EMPTY_OBJ) {
9312
9328
  return options.get ? options.get(localValue) : localValue;
9313
9329
  },
9314
9330
  set(value) {
9315
- if (!hasChanged(value, localValue)) {
9331
+ if (!hasChanged(value, localValue) && !(prevSetValue !== EMPTY_OBJ && hasChanged(value, prevSetValue))) {
9316
9332
  return;
9317
9333
  }
9318
9334
  const rawProps = i.vnode.props;
@@ -9323,7 +9339,7 @@ function useModel(props, name, options = EMPTY_OBJ) {
9323
9339
  }
9324
9340
  const emittedValue = options.set ? options.set(value) : value;
9325
9341
  i.emit(`update:${name}`, emittedValue);
9326
- if (value !== emittedValue && value !== prevSetValue && emittedValue === prevEmittedValue) {
9342
+ if (hasChanged(value, emittedValue) && hasChanged(value, prevSetValue) && !hasChanged(emittedValue, prevEmittedValue)) {
9327
9343
  trigger();
9328
9344
  }
9329
9345
  prevSetValue = value;
@@ -11508,7 +11524,7 @@ function isMemoSame(cached, memo) {
11508
11524
  return true;
11509
11525
  }
11510
11526
 
11511
- const version = "3.4.33";
11527
+ const version = "3.4.35";
11512
11528
  const warn = warn$1 ;
11513
11529
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11514
11530
  const devtools = devtools$1 ;
@@ -14844,7 +14860,7 @@ function isReferenced(node, parent, grandparent) {
14844
14860
  if (parent.key === node) {
14845
14861
  return !!parent.computed;
14846
14862
  }
14847
- return !grandparent ;
14863
+ return !grandparent;
14848
14864
  case "ClassProperty":
14849
14865
  if (parent.key === node) {
14850
14866
  return !!parent.computed;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.4.33
2
+ * @vue/compat v3.4.35
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -4151,7 +4151,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
4151
4151
  return vm;
4152
4152
  }
4153
4153
  }
4154
- Vue.version = `2.6.14-compat:${"3.4.33"}`;
4154
+ Vue.version = `2.6.14-compat:${"3.4.35"}`;
4155
4155
  Vue.config = singletonApp.config;
4156
4156
  Vue.use = (plugin, ...options) => {
4157
4157
  if (plugin && isFunction(plugin.install)) {
@@ -4940,14 +4940,27 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
4940
4940
  if (validatePropName(normalizedKey)) {
4941
4941
  const opt = raw[key];
4942
4942
  const prop = normalized[normalizedKey] = isArray(opt) || isFunction(opt) ? { type: opt } : extend({}, opt);
4943
- if (prop) {
4944
- const booleanIndex = getTypeIndex(Boolean, prop.type);
4945
- const stringIndex = getTypeIndex(String, prop.type);
4946
- prop[0 /* shouldCast */] = booleanIndex > -1;
4947
- prop[1 /* shouldCastTrue */] = stringIndex < 0 || booleanIndex < stringIndex;
4948
- if (booleanIndex > -1 || hasOwn(prop, "default")) {
4949
- needCastKeys.push(normalizedKey);
4943
+ const propType = prop.type;
4944
+ let shouldCast = false;
4945
+ let shouldCastTrue = true;
4946
+ if (isArray(propType)) {
4947
+ for (let index = 0; index < propType.length; ++index) {
4948
+ const type = propType[index];
4949
+ const typeName = isFunction(type) && type.name;
4950
+ if (typeName === "Boolean") {
4951
+ shouldCast = true;
4952
+ break;
4953
+ } else if (typeName === "String") {
4954
+ shouldCastTrue = false;
4955
+ }
4950
4956
  }
4957
+ } else {
4958
+ shouldCast = isFunction(propType) && propType.name === "Boolean";
4959
+ }
4960
+ prop[0 /* shouldCast */] = shouldCast;
4961
+ prop[1 /* shouldCastTrue */] = shouldCastTrue;
4962
+ if (shouldCast || hasOwn(prop, "default")) {
4963
+ needCastKeys.push(normalizedKey);
4951
4964
  }
4952
4965
  }
4953
4966
  }
@@ -4964,29 +4977,6 @@ function validatePropName(key) {
4964
4977
  }
4965
4978
  return false;
4966
4979
  }
4967
- function getType(ctor) {
4968
- if (ctor === null) {
4969
- return "null";
4970
- }
4971
- if (typeof ctor === "function") {
4972
- return ctor.name || "";
4973
- } else if (typeof ctor === "object") {
4974
- const name = ctor.constructor && ctor.constructor.name;
4975
- return name || "";
4976
- }
4977
- return "";
4978
- }
4979
- function isSameType(a, b) {
4980
- return getType(a) === getType(b);
4981
- }
4982
- function getTypeIndex(type, expectedTypes) {
4983
- if (isArray(expectedTypes)) {
4984
- return expectedTypes.findIndex((t) => isSameType(t, type));
4985
- } else if (isFunction(expectedTypes)) {
4986
- return isSameType(expectedTypes, type) ? 0 : -1;
4987
- }
4988
- return -1;
4989
- }
4990
4980
 
4991
4981
  const isInternalKey = (key) => key[0] === "_" || key === "$stable";
4992
4982
  const normalizeSlotValue = (value) => isArray(value) ? value.map(normalizeVNode) : [normalizeVNode(value)];
@@ -5182,15 +5172,11 @@ const TeleportImpl = {
5182
5172
  if (n1 == null) {
5183
5173
  const placeholder = n2.el = createText("");
5184
5174
  const mainAnchor = n2.anchor = createText("");
5185
- const target = n2.target = resolveTarget(n2.props, querySelector);
5186
- const targetStart = n2.targetStart = createText("");
5187
- const targetAnchor = n2.targetAnchor = createText("");
5188
5175
  insert(placeholder, container, anchor);
5189
5176
  insert(mainAnchor, container, anchor);
5190
- targetStart[TeleportEndKey] = targetAnchor;
5177
+ const target = n2.target = resolveTarget(n2.props, querySelector);
5178
+ const targetAnchor = prepareAnchor(target, n2, createText, insert);
5191
5179
  if (target) {
5192
- insert(targetStart, target);
5193
- insert(targetAnchor, target);
5194
5180
  if (namespace === "svg" || isTargetSVG(target)) {
5195
5181
  namespace = "svg";
5196
5182
  } else if (namespace === "mathml" || isTargetMathML(target)) {
@@ -5354,7 +5340,7 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
5354
5340
  }
5355
5341
  }
5356
5342
  function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {
5357
- o: { nextSibling, parentNode, querySelector }
5343
+ o: { nextSibling, parentNode, querySelector, insert, createText }
5358
5344
  }, hydrateChildren) {
5359
5345
  const target = vnode.target = resolveTarget(
5360
5346
  vnode.props,
@@ -5373,20 +5359,28 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
5373
5359
  slotScopeIds,
5374
5360
  optimized
5375
5361
  );
5376
- vnode.targetAnchor = targetNode;
5362
+ vnode.targetStart = targetNode;
5363
+ vnode.targetAnchor = targetNode && nextSibling(targetNode);
5377
5364
  } else {
5378
5365
  vnode.anchor = nextSibling(node);
5379
5366
  let targetAnchor = targetNode;
5380
5367
  while (targetAnchor) {
5381
- targetAnchor = nextSibling(targetAnchor);
5382
- if (targetAnchor && targetAnchor.nodeType === 8 && targetAnchor.data === "teleport anchor") {
5383
- vnode.targetAnchor = targetAnchor;
5384
- target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
5385
- break;
5368
+ if (targetAnchor && targetAnchor.nodeType === 8) {
5369
+ if (targetAnchor.data === "teleport start anchor") {
5370
+ vnode.targetStart = targetAnchor;
5371
+ } else if (targetAnchor.data === "teleport anchor") {
5372
+ vnode.targetAnchor = targetAnchor;
5373
+ target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
5374
+ break;
5375
+ }
5386
5376
  }
5377
+ targetAnchor = nextSibling(targetAnchor);
5378
+ }
5379
+ if (!vnode.targetAnchor) {
5380
+ prepareAnchor(target, vnode, createText, insert);
5387
5381
  }
5388
5382
  hydrateChildren(
5389
- targetNode,
5383
+ targetNode && nextSibling(targetNode),
5390
5384
  vnode,
5391
5385
  target,
5392
5386
  parentComponent,
@@ -5412,6 +5406,16 @@ function updateCssVars(vnode) {
5412
5406
  ctx.ut();
5413
5407
  }
5414
5408
  }
5409
+ function prepareAnchor(target, vnode, createText, insert) {
5410
+ const targetStart = vnode.targetStart = createText("");
5411
+ const targetAnchor = vnode.targetAnchor = createText("");
5412
+ targetStart[TeleportEndKey] = targetAnchor;
5413
+ if (target) {
5414
+ insert(targetStart, target);
5415
+ insert(targetAnchor, target);
5416
+ }
5417
+ return targetAnchor;
5418
+ }
5415
5419
 
5416
5420
  let hasLoggedMismatchError = false;
5417
5421
  const logMismatchError = () => {
@@ -7470,7 +7474,7 @@ function useModel(props, name, options = EMPTY_OBJ) {
7470
7474
  const modifiers = getModelModifiers(props, name);
7471
7475
  const res = customRef((track, trigger) => {
7472
7476
  let localValue;
7473
- let prevSetValue;
7477
+ let prevSetValue = EMPTY_OBJ;
7474
7478
  let prevEmittedValue;
7475
7479
  watchSyncEffect(() => {
7476
7480
  const propValue = props[name];
@@ -7485,7 +7489,7 @@ function useModel(props, name, options = EMPTY_OBJ) {
7485
7489
  return options.get ? options.get(localValue) : localValue;
7486
7490
  },
7487
7491
  set(value) {
7488
- if (!hasChanged(value, localValue)) {
7492
+ if (!hasChanged(value, localValue) && !(prevSetValue !== EMPTY_OBJ && hasChanged(value, prevSetValue))) {
7489
7493
  return;
7490
7494
  }
7491
7495
  const rawProps = i.vnode.props;
@@ -7496,7 +7500,7 @@ function useModel(props, name, options = EMPTY_OBJ) {
7496
7500
  }
7497
7501
  const emittedValue = options.set ? options.set(value) : value;
7498
7502
  i.emit(`update:${name}`, emittedValue);
7499
- if (value !== emittedValue && value !== prevSetValue && emittedValue === prevEmittedValue) {
7503
+ if (hasChanged(value, emittedValue) && hasChanged(value, prevSetValue) && !hasChanged(emittedValue, prevEmittedValue)) {
7500
7504
  trigger();
7501
7505
  }
7502
7506
  prevSetValue = value;
@@ -9167,7 +9171,7 @@ function isMemoSame(cached, memo) {
9167
9171
  return true;
9168
9172
  }
9169
9173
 
9170
- const version = "3.4.33";
9174
+ const version = "3.4.35";
9171
9175
  const warn$1 = NOOP;
9172
9176
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
9173
9177
  const devtools = void 0;
@@ -12320,7 +12324,7 @@ function isReferenced(node, parent, grandparent) {
12320
12324
  if (parent.key === node) {
12321
12325
  return !!parent.computed;
12322
12326
  }
12323
- return !grandparent ;
12327
+ return !grandparent;
12324
12328
  case "ClassProperty":
12325
12329
  if (parent.key === node) {
12326
12330
  return !!parent.computed;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.4.33
2
+ * @vue/compat v3.4.35
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -5246,7 +5246,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
5246
5246
  return vm;
5247
5247
  }
5248
5248
  }
5249
- Vue.version = `2.6.14-compat:${"3.4.33"}`;
5249
+ Vue.version = `2.6.14-compat:${"3.4.35"}`;
5250
5250
  Vue.config = singletonApp.config;
5251
5251
  Vue.use = (plugin, ...options) => {
5252
5252
  if (plugin && isFunction(plugin.install)) {
@@ -6163,14 +6163,27 @@ function normalizePropsOptions(comp, appContext, asMixin = false) {
6163
6163
  if (validatePropName(normalizedKey)) {
6164
6164
  const opt = raw[key];
6165
6165
  const prop = normalized[normalizedKey] = isArray(opt) || isFunction(opt) ? { type: opt } : extend({}, opt);
6166
- if (prop) {
6167
- const booleanIndex = getTypeIndex(Boolean, prop.type);
6168
- const stringIndex = getTypeIndex(String, prop.type);
6169
- prop[0 /* shouldCast */] = booleanIndex > -1;
6170
- prop[1 /* shouldCastTrue */] = stringIndex < 0 || booleanIndex < stringIndex;
6171
- if (booleanIndex > -1 || hasOwn(prop, "default")) {
6172
- needCastKeys.push(normalizedKey);
6166
+ const propType = prop.type;
6167
+ let shouldCast = false;
6168
+ let shouldCastTrue = true;
6169
+ if (isArray(propType)) {
6170
+ for (let index = 0; index < propType.length; ++index) {
6171
+ const type = propType[index];
6172
+ const typeName = isFunction(type) && type.name;
6173
+ if (typeName === "Boolean") {
6174
+ shouldCast = true;
6175
+ break;
6176
+ } else if (typeName === "String") {
6177
+ shouldCastTrue = false;
6178
+ }
6173
6179
  }
6180
+ } else {
6181
+ shouldCast = isFunction(propType) && propType.name === "Boolean";
6182
+ }
6183
+ prop[0 /* shouldCast */] = shouldCast;
6184
+ prop[1 /* shouldCastTrue */] = shouldCastTrue;
6185
+ if (shouldCast || hasOwn(prop, "default")) {
6186
+ needCastKeys.push(normalizedKey);
6174
6187
  }
6175
6188
  }
6176
6189
  }
@@ -6201,17 +6214,6 @@ function getType(ctor) {
6201
6214
  }
6202
6215
  return "";
6203
6216
  }
6204
- function isSameType(a, b) {
6205
- return getType(a) === getType(b);
6206
- }
6207
- function getTypeIndex(type, expectedTypes) {
6208
- if (isArray(expectedTypes)) {
6209
- return expectedTypes.findIndex((t) => isSameType(t, type));
6210
- } else if (isFunction(expectedTypes)) {
6211
- return isSameType(expectedTypes, type) ? 0 : -1;
6212
- }
6213
- return -1;
6214
- }
6215
6217
  function validateProps(rawProps, props, instance) {
6216
6218
  const resolvedValues = toRaw(props);
6217
6219
  const options = instance.propsOptions[0];
@@ -6551,15 +6553,11 @@ const TeleportImpl = {
6551
6553
  if (n1 == null) {
6552
6554
  const placeholder = n2.el = createComment("teleport start") ;
6553
6555
  const mainAnchor = n2.anchor = createComment("teleport end") ;
6554
- const target = n2.target = resolveTarget(n2.props, querySelector);
6555
- const targetStart = n2.targetStart = createText("");
6556
- const targetAnchor = n2.targetAnchor = createText("");
6557
6556
  insert(placeholder, container, anchor);
6558
6557
  insert(mainAnchor, container, anchor);
6559
- targetStart[TeleportEndKey] = targetAnchor;
6558
+ const target = n2.target = resolveTarget(n2.props, querySelector);
6559
+ const targetAnchor = prepareAnchor(target, n2, createText, insert);
6560
6560
  if (target) {
6561
- insert(targetStart, target);
6562
- insert(targetAnchor, target);
6563
6561
  if (namespace === "svg" || isTargetSVG(target)) {
6564
6562
  namespace = "svg";
6565
6563
  } else if (namespace === "mathml" || isTargetMathML(target)) {
@@ -6731,7 +6729,7 @@ function moveTeleport(vnode, container, parentAnchor, { o: { insert }, m: move }
6731
6729
  }
6732
6730
  }
6733
6731
  function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScopeIds, optimized, {
6734
- o: { nextSibling, parentNode, querySelector }
6732
+ o: { nextSibling, parentNode, querySelector, insert, createText }
6735
6733
  }, hydrateChildren) {
6736
6734
  const target = vnode.target = resolveTarget(
6737
6735
  vnode.props,
@@ -6750,20 +6748,28 @@ function hydrateTeleport(node, vnode, parentComponent, parentSuspense, slotScope
6750
6748
  slotScopeIds,
6751
6749
  optimized
6752
6750
  );
6753
- vnode.targetAnchor = targetNode;
6751
+ vnode.targetStart = targetNode;
6752
+ vnode.targetAnchor = targetNode && nextSibling(targetNode);
6754
6753
  } else {
6755
6754
  vnode.anchor = nextSibling(node);
6756
6755
  let targetAnchor = targetNode;
6757
6756
  while (targetAnchor) {
6758
- targetAnchor = nextSibling(targetAnchor);
6759
- if (targetAnchor && targetAnchor.nodeType === 8 && targetAnchor.data === "teleport anchor") {
6760
- vnode.targetAnchor = targetAnchor;
6761
- target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
6762
- break;
6757
+ if (targetAnchor && targetAnchor.nodeType === 8) {
6758
+ if (targetAnchor.data === "teleport start anchor") {
6759
+ vnode.targetStart = targetAnchor;
6760
+ } else if (targetAnchor.data === "teleport anchor") {
6761
+ vnode.targetAnchor = targetAnchor;
6762
+ target._lpa = vnode.targetAnchor && nextSibling(vnode.targetAnchor);
6763
+ break;
6764
+ }
6763
6765
  }
6766
+ targetAnchor = nextSibling(targetAnchor);
6767
+ }
6768
+ if (!vnode.targetAnchor) {
6769
+ prepareAnchor(target, vnode, createText, insert);
6764
6770
  }
6765
6771
  hydrateChildren(
6766
- targetNode,
6772
+ targetNode && nextSibling(targetNode),
6767
6773
  vnode,
6768
6774
  target,
6769
6775
  parentComponent,
@@ -6789,6 +6795,16 @@ function updateCssVars(vnode) {
6789
6795
  ctx.ut();
6790
6796
  }
6791
6797
  }
6798
+ function prepareAnchor(target, vnode, createText, insert) {
6799
+ const targetStart = vnode.targetStart = createText("");
6800
+ const targetAnchor = vnode.targetAnchor = createText("");
6801
+ targetStart[TeleportEndKey] = targetAnchor;
6802
+ if (target) {
6803
+ insert(targetStart, target);
6804
+ insert(targetAnchor, target);
6805
+ }
6806
+ return targetAnchor;
6807
+ }
6792
6808
 
6793
6809
  let hasLoggedMismatchError = false;
6794
6810
  const logMismatchError = () => {
@@ -9220,7 +9236,7 @@ function useModel(props, name, options = EMPTY_OBJ) {
9220
9236
  const modifiers = getModelModifiers(props, name);
9221
9237
  const res = customRef((track, trigger) => {
9222
9238
  let localValue;
9223
- let prevSetValue;
9239
+ let prevSetValue = EMPTY_OBJ;
9224
9240
  let prevEmittedValue;
9225
9241
  watchSyncEffect(() => {
9226
9242
  const propValue = props[name];
@@ -9235,7 +9251,7 @@ function useModel(props, name, options = EMPTY_OBJ) {
9235
9251
  return options.get ? options.get(localValue) : localValue;
9236
9252
  },
9237
9253
  set(value) {
9238
- if (!hasChanged(value, localValue)) {
9254
+ if (!hasChanged(value, localValue) && !(prevSetValue !== EMPTY_OBJ && hasChanged(value, prevSetValue))) {
9239
9255
  return;
9240
9256
  }
9241
9257
  const rawProps = i.vnode.props;
@@ -9246,7 +9262,7 @@ function useModel(props, name, options = EMPTY_OBJ) {
9246
9262
  }
9247
9263
  const emittedValue = options.set ? options.set(value) : value;
9248
9264
  i.emit(`update:${name}`, emittedValue);
9249
- if (value !== emittedValue && value !== prevSetValue && emittedValue === prevEmittedValue) {
9265
+ if (hasChanged(value, emittedValue) && hasChanged(value, prevSetValue) && !hasChanged(emittedValue, prevEmittedValue)) {
9250
9266
  trigger();
9251
9267
  }
9252
9268
  prevSetValue = value;
@@ -11417,7 +11433,7 @@ function isMemoSame(cached, memo) {
11417
11433
  return true;
11418
11434
  }
11419
11435
 
11420
- const version = "3.4.33";
11436
+ const version = "3.4.35";
11421
11437
  const warn = warn$1 ;
11422
11438
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11423
11439
  const devtools = devtools$1 ;