@vue/compat 3.5.40 → 3.5.41

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,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.5.40
2
+ * @vue/compat v3.5.41
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -194,7 +194,7 @@ const isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS);
194
194
  const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
195
195
  const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);
196
196
  const isBooleanAttr = /* @__PURE__ */ makeMap(
197
- specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`
197
+ specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`
198
198
  );
199
199
  function includeBooleanAttr(value) {
200
200
  return !!value || value === "";
@@ -2612,7 +2612,9 @@ function queuePostFlushCb(cb) {
2612
2612
  cb.flags |= 1;
2613
2613
  }
2614
2614
  } else {
2615
- pendingPostFlushCbs.push(...cb);
2615
+ for (let i = 0; i < cb.length; i++) {
2616
+ pendingPostFlushCbs.push(cb[i]);
2617
+ }
2616
2618
  }
2617
2619
  queueFlush();
2618
2620
  }
@@ -2648,7 +2650,9 @@ function flushPostFlushCbs(seen) {
2648
2650
  );
2649
2651
  pendingPostFlushCbs.length = 0;
2650
2652
  if (activePostFlushCbs) {
2651
- activePostFlushCbs.push(...deduped);
2653
+ for (let i = 0; i < deduped.length; i++) {
2654
+ activePostFlushCbs.push(deduped[i]);
2655
+ }
2652
2656
  return;
2653
2657
  }
2654
2658
  activePostFlushCbs = deduped;
@@ -4413,7 +4417,11 @@ function getInnerChild$1(vnode) {
4413
4417
  function setTransitionHooks(vnode, hooks) {
4414
4418
  if (vnode.shapeFlag & 6 && vnode.component) {
4415
4419
  vnode.transition = hooks;
4416
- setTransitionHooks(vnode.component.subTree, hooks);
4420
+ const subTree = vnode.component.subTree;
4421
+ setTransitionHooks(
4422
+ isTeleport(subTree.type) ? getInnerChild$1(subTree) || subTree : subTree,
4423
+ hooks
4424
+ );
4417
4425
  } else if (vnode.shapeFlag & 128) {
4418
4426
  vnode.ssContent.transition = hooks.clone(vnode.ssContent);
4419
4427
  vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);
@@ -4954,6 +4962,9 @@ Server rendered element contains more child nodes than client vdom.`
4954
4962
  }
4955
4963
  if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
4956
4964
  key[0] === "." || isCustomElement && !isReservedProp(key) || dynamicProps && dynamicProps.includes(key)) {
4965
+ if (isUnchangedResourceProp(el, key, props[key])) {
4966
+ continue;
4967
+ }
4957
4968
  patchProp(el, key, null, props[key], namespace, parentComponent);
4958
4969
  }
4959
4970
  }
@@ -5147,6 +5158,13 @@ Server rendered element contains fewer child nodes than client vdom.`
5147
5158
  };
5148
5159
  return [hydrate, hydrateNode];
5149
5160
  }
5161
+ const resourceProps = /* @__PURE__ */ new Set(["src", "srcset", "href", "poster"]);
5162
+ function isUnchangedResourceProp(el, key, clientValue) {
5163
+ if (!resourceProps.has(key)) {
5164
+ return false;
5165
+ }
5166
+ return el.getAttribute(key) === (clientValue == null ? null : `${clientValue}`);
5167
+ }
5150
5168
  function propHasMismatch(el, key, clientValue, vnode, instance) {
5151
5169
  let mismatchType;
5152
5170
  let mismatchKey;
@@ -5184,7 +5202,10 @@ function propHasMismatch(el, key, clientValue, vnode, instance) {
5184
5202
  mismatchKey = "style";
5185
5203
  }
5186
5204
  } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {
5187
- if (isBooleanAttr(key)) {
5205
+ if (key === "hidden") {
5206
+ actual = normalizeHiddenValue(el.getAttribute(key));
5207
+ expected = normalizeHiddenValue(clientValue);
5208
+ } else if (isBooleanAttr(key)) {
5188
5209
  actual = el.hasAttribute(key);
5189
5210
  expected = includeBooleanAttr(clientValue);
5190
5211
  } else if (clientValue == null) {
@@ -5220,6 +5241,15 @@ function propHasMismatch(el, key, clientValue, vnode, instance) {
5220
5241
  }
5221
5242
  return false;
5222
5243
  }
5244
+ function normalizeHiddenValue(value) {
5245
+ if (!isRenderableAttrValue(value)) {
5246
+ return false;
5247
+ }
5248
+ if (isString(value)) {
5249
+ return value.toLowerCase() === "until-found" ? "until-found" : "";
5250
+ }
5251
+ return includeBooleanAttr(value) ? "" : false;
5252
+ }
5223
5253
  function toClassSet(str) {
5224
5254
  return new Set(str.trim().split(/\s+/));
5225
5255
  }
@@ -6330,7 +6360,8 @@ function createSlots(slots, dynamicSlots) {
6330
6360
  return slots;
6331
6361
  }
6332
6362
 
6333
- function renderSlot(slots, name, props = {}, fallback, noSlotted, branchKey) {
6363
+ function renderSlot(slots, name, props, fallback, noSlotted, branchKey) {
6364
+ if (props == null) props = {};
6334
6365
  if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {
6335
6366
  const slotProps = branchKey != null && props.key == null ? extend({}, props, { key: branchKey }) : props;
6336
6367
  const hasProps = Object.keys(slotProps).length > 0;
@@ -7559,7 +7590,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
7559
7590
  return vm;
7560
7591
  }
7561
7592
  }
7562
- Vue.version = `2.6.14-compat:${"3.5.40"}`;
7593
+ Vue.version = `2.6.14-compat:${"3.5.41"}`;
7563
7594
  Vue.config = singletonApp.config;
7564
7595
  Vue.use = (plugin, ...options) => {
7565
7596
  if (plugin && isFunction(plugin.install)) {
@@ -8583,12 +8614,13 @@ function renderComponentRoot(instance) {
8583
8614
  root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
8584
8615
  }
8585
8616
  if (vnode.transition) {
8586
- if (!!(process.env.NODE_ENV !== "production") && !isElementRoot(root)) {
8617
+ const child = isTeleport(root.type) ? getInnerChild$1(root) || root : root;
8618
+ if (!!(process.env.NODE_ENV !== "production") && !isElementRoot(child)) {
8587
8619
  warn$1(
8588
8620
  `Component inside <Transition> renders non-element root node that cannot be animated.`
8589
8621
  );
8590
8622
  }
8591
- setTransitionHooks(root, vnode.transition);
8623
+ setTransitionHooks(child, vnode.transition);
8592
8624
  }
8593
8625
  if (!!(process.env.NODE_ENV !== "production") && setRoot) {
8594
8626
  setRoot(root);
@@ -11380,7 +11412,9 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
11380
11412
  let hasUnresolvedAncestor = false;
11381
11413
  while (parent) {
11382
11414
  if (parent.pendingBranch) {
11383
- parent.effects.push(...effects);
11415
+ for (let i = 0; i < effects.length; i++) {
11416
+ parent.effects.push(effects[i]);
11417
+ }
11384
11418
  hasUnresolvedAncestor = true;
11385
11419
  break;
11386
11420
  }
@@ -11802,6 +11836,14 @@ function createBaseVNode(type, props = null, children = null, patchFlag = 0, dyn
11802
11836
  if (!!(process.env.NODE_ENV !== "production") && vnode.key !== vnode.key) {
11803
11837
  warn$1(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
11804
11838
  }
11839
+ if (!!(process.env.NODE_ENV !== "production") && props && vnode.shapeFlag & 1) {
11840
+ const overwritingProp = props.innerHTML != null ? "innerHTML" : props.textContent != null ? "textContent" : null;
11841
+ if (overwritingProp && hasContentChildren(vnode.children)) {
11842
+ warn$1(
11843
+ `The \`${overwritingProp}\` prop on <${vnode.type}> will override its children. Remove either the \`${overwritingProp}\` prop or the children.`
11844
+ );
11845
+ }
11846
+ }
11805
11847
  if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself
11806
11848
  !isBlockNode && // has current parent block
11807
11849
  currentBlock && // presence of a patch flag indicates this node needs patching on updates.
@@ -11819,6 +11861,11 @@ function createBaseVNode(type, props = null, children = null, patchFlag = 0, dyn
11819
11861
  }
11820
11862
  return vnode;
11821
11863
  }
11864
+ function hasContentChildren(children) {
11865
+ if (isString(children)) return children !== "";
11866
+ if (isArray(children)) return children.length > 0;
11867
+ return false;
11868
+ }
11822
11869
  const createVNode = !!(process.env.NODE_ENV !== "production") ? createVNodeWithArgsTransform : _createVNode;
11823
11870
  function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {
11824
11871
  if (!type || type === NULL_DYNAMIC_COMPONENT) {
@@ -12275,7 +12322,12 @@ function setupStatefulComponent(instance, isSSR) {
12275
12322
  setupResult.then(unsetCurrentInstance, unsetCurrentInstance);
12276
12323
  if (isSSR) {
12277
12324
  return setupResult.then((resolvedResult) => {
12278
- handleSetupResult(instance, resolvedResult, isSSR);
12325
+ setInSSRSetupState(true);
12326
+ try {
12327
+ handleSetupResult(instance, resolvedResult, isSSR);
12328
+ } finally {
12329
+ setInSSRSetupState(false);
12330
+ }
12279
12331
  }).catch((e) => {
12280
12332
  handleError(e, instance, 0);
12281
12333
  });
@@ -12765,7 +12817,7 @@ function isMemoSame(cached, memo) {
12765
12817
  return true;
12766
12818
  }
12767
12819
 
12768
- const version = "3.5.40";
12820
+ const version = "3.5.41";
12769
12821
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
12770
12822
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12771
12823
  const devtools = !!(process.env.NODE_ENV !== "production") || true ? devtools$1 : void 0;
@@ -13823,7 +13875,9 @@ class VueElement extends BaseClass {
13823
13875
  if (parent && parent._pendingResolve) {
13824
13876
  this._pendingResolve = parent._pendingResolve.then(() => {
13825
13877
  this._pendingResolve = void 0;
13826
- this._resolveDef();
13878
+ if (this.isConnected) {
13879
+ return this._resolveDef();
13880
+ }
13827
13881
  });
13828
13882
  } else {
13829
13883
  this._resolveDef();
@@ -13873,7 +13927,7 @@ class VueElement extends BaseClass {
13873
13927
  */
13874
13928
  _resolveDef() {
13875
13929
  if (this._pendingResolve) {
13876
- return;
13930
+ return this._pendingResolve;
13877
13931
  }
13878
13932
  for (let i = 0; i < this.attributes.length; i++) {
13879
13933
  this._setAttr(this.attributes[i].name);
@@ -13913,6 +13967,7 @@ class VueElement extends BaseClass {
13913
13967
  def.configureApp = this._def.configureApp;
13914
13968
  resolve(this._def = def, true);
13915
13969
  });
13970
+ return this._pendingResolve;
13916
13971
  } else {
13917
13972
  resolve(this._def);
13918
13973
  }
@@ -13950,6 +14005,11 @@ class VueElement extends BaseClass {
13950
14005
  }
13951
14006
  }
13952
14007
  for (const key of declaredPropKeys.map(camelize)) {
14008
+ if (!!(process.env.NODE_ENV !== "production") && key in Object.getPrototypeOf(this)) {
14009
+ warn(
14010
+ `Custom element prop "${key}" conflicts with an existing property on the element and will overwrite it.`
14011
+ );
14012
+ }
13953
14013
  Object.defineProperty(this, key, {
13954
14014
  get() {
13955
14015
  return this._getProp(key);
@@ -14443,6 +14503,7 @@ function onCompositionEnd(e) {
14443
14503
  }
14444
14504
  }
14445
14505
  const assignKey = /* @__PURE__ */ Symbol("_assign");
14506
+ const initialValueKey = /* @__PURE__ */ Symbol("_initialValue");
14446
14507
  function castValue(value, trim, number) {
14447
14508
  if (trim) value = value.trim();
14448
14509
  if (number) value = looseToNumber(value);
@@ -14450,6 +14511,13 @@ function castValue(value, trim, number) {
14450
14511
  }
14451
14512
  const vModelText = {
14452
14513
  created(el, { modifiers: { lazy, trim, number } }, vnode) {
14514
+ if (el.parentNode) {
14515
+ if (el.type === "text") {
14516
+ el[initialValueKey] = el.defaultValue.replace(/[\r\n]/g, "");
14517
+ } else if (el.type === "textarea") {
14518
+ el[initialValueKey] = el.defaultValue.replace(/\r\n?/g, "\n");
14519
+ }
14520
+ }
14453
14521
  el[assignKey] = getModelAssigner(vnode);
14454
14522
  const castToNumber = number || vnode.props && vnode.props.type === "number";
14455
14523
  addEventListener(el, lazy ? "change" : "input", (e) => {
@@ -14468,8 +14536,15 @@ const vModelText = {
14468
14536
  }
14469
14537
  },
14470
14538
  // set value on mounted so it's after min/max for type="range"
14471
- mounted(el, { value }) {
14472
- el.value = value == null ? "" : value;
14539
+ mounted(el, { value, modifiers: { trim, number } }) {
14540
+ const newValue = value == null ? "" : value;
14541
+ const initialValue = el[initialValueKey];
14542
+ delete el[initialValueKey];
14543
+ if (initialValue !== void 0 && (el.type === "text" || el.type === "textarea") && el.value !== initialValue) {
14544
+ el[assignKey](castValue(el.value, trim, number));
14545
+ } else {
14546
+ el.value = newValue;
14547
+ }
14473
14548
  },
14474
14549
  beforeUpdate(el, { value, oldValue, modifiers: { lazy, trim, number } }, vnode) {
14475
14550
  el[assignKey] = getModelAssigner(vnode);
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.5.40
2
+ * @vue/compat v3.5.41
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -197,7 +197,7 @@ var Vue = (function () {
197
197
  const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`;
198
198
  const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs);
199
199
  const isBooleanAttr = /* @__PURE__ */ makeMap(
200
- specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`
200
+ specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected`
201
201
  );
202
202
  function includeBooleanAttr(value) {
203
203
  return !!value || value === "";
@@ -2600,7 +2600,9 @@ var Vue = (function () {
2600
2600
  cb.flags |= 1;
2601
2601
  }
2602
2602
  } else {
2603
- pendingPostFlushCbs.push(...cb);
2603
+ for (let i = 0; i < cb.length; i++) {
2604
+ pendingPostFlushCbs.push(cb[i]);
2605
+ }
2604
2606
  }
2605
2607
  queueFlush();
2606
2608
  }
@@ -2636,7 +2638,9 @@ var Vue = (function () {
2636
2638
  );
2637
2639
  pendingPostFlushCbs.length = 0;
2638
2640
  if (activePostFlushCbs) {
2639
- activePostFlushCbs.push(...deduped);
2641
+ for (let i = 0; i < deduped.length; i++) {
2642
+ activePostFlushCbs.push(deduped[i]);
2643
+ }
2640
2644
  return;
2641
2645
  }
2642
2646
  activePostFlushCbs = deduped;
@@ -4369,7 +4373,11 @@ Details: https://v3-migration.vuejs.org/breaking-changes/migration-build.html`
4369
4373
  function setTransitionHooks(vnode, hooks) {
4370
4374
  if (vnode.shapeFlag & 6 && vnode.component) {
4371
4375
  vnode.transition = hooks;
4372
- setTransitionHooks(vnode.component.subTree, hooks);
4376
+ const subTree = vnode.component.subTree;
4377
+ setTransitionHooks(
4378
+ isTeleport(subTree.type) ? getInnerChild$1(subTree) || subTree : subTree,
4379
+ hooks
4380
+ );
4373
4381
  } else if (vnode.shapeFlag & 128) {
4374
4382
  vnode.ssContent.transition = hooks.clone(vnode.ssContent);
4375
4383
  vnode.ssFallback.transition = hooks.clone(vnode.ssFallback);
@@ -4909,6 +4917,9 @@ Server rendered element contains more child nodes than client vdom.`
4909
4917
  }
4910
4918
  if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
4911
4919
  key[0] === "." || isCustomElement && !isReservedProp(key) || dynamicProps && dynamicProps.includes(key)) {
4920
+ if (isUnchangedResourceProp(el, key, props[key])) {
4921
+ continue;
4922
+ }
4912
4923
  patchProp(el, key, null, props[key], namespace, parentComponent);
4913
4924
  }
4914
4925
  }
@@ -5091,6 +5102,13 @@ Server rendered element contains fewer child nodes than client vdom.`
5091
5102
  };
5092
5103
  return [hydrate, hydrateNode];
5093
5104
  }
5105
+ const resourceProps = /* @__PURE__ */ new Set(["src", "srcset", "href", "poster"]);
5106
+ function isUnchangedResourceProp(el, key, clientValue) {
5107
+ if (!resourceProps.has(key)) {
5108
+ return false;
5109
+ }
5110
+ return el.getAttribute(key) === (clientValue == null ? null : `${clientValue}`);
5111
+ }
5094
5112
  function propHasMismatch(el, key, clientValue, vnode, instance) {
5095
5113
  let mismatchType;
5096
5114
  let mismatchKey;
@@ -5128,7 +5146,10 @@ Server rendered element contains fewer child nodes than client vdom.`
5128
5146
  mismatchKey = "style";
5129
5147
  }
5130
5148
  } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {
5131
- if (isBooleanAttr(key)) {
5149
+ if (key === "hidden") {
5150
+ actual = normalizeHiddenValue(el.getAttribute(key));
5151
+ expected = normalizeHiddenValue(clientValue);
5152
+ } else if (isBooleanAttr(key)) {
5132
5153
  actual = el.hasAttribute(key);
5133
5154
  expected = includeBooleanAttr(clientValue);
5134
5155
  } else if (clientValue == null) {
@@ -5164,6 +5185,15 @@ Server rendered element contains fewer child nodes than client vdom.`
5164
5185
  }
5165
5186
  return false;
5166
5187
  }
5188
+ function normalizeHiddenValue(value) {
5189
+ if (!isRenderableAttrValue(value)) {
5190
+ return false;
5191
+ }
5192
+ if (isString(value)) {
5193
+ return value.toLowerCase() === "until-found" ? "until-found" : "";
5194
+ }
5195
+ return includeBooleanAttr(value) ? "" : false;
5196
+ }
5167
5197
  function toClassSet(str) {
5168
5198
  return new Set(str.trim().split(/\s+/));
5169
5199
  }
@@ -6268,7 +6298,8 @@ If this is a native custom element, make sure to exclude it from component resol
6268
6298
  return slots;
6269
6299
  }
6270
6300
 
6271
- function renderSlot(slots, name, props = {}, fallback, noSlotted, branchKey) {
6301
+ function renderSlot(slots, name, props, fallback, noSlotted, branchKey) {
6302
+ if (props == null) props = {};
6272
6303
  if (currentRenderingInstance.ce || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.ce) {
6273
6304
  const slotProps = branchKey != null && props.key == null ? extend({}, props, { key: branchKey }) : props;
6274
6305
  const hasProps = Object.keys(slotProps).length > 0;
@@ -7492,7 +7523,7 @@ If this is a native custom element, make sure to exclude it from component resol
7492
7523
  return vm;
7493
7524
  }
7494
7525
  }
7495
- Vue.version = `2.6.14-compat:${"3.5.40"}`;
7526
+ Vue.version = `2.6.14-compat:${"3.5.41"}`;
7496
7527
  Vue.config = singletonApp.config;
7497
7528
  Vue.use = (plugin, ...options) => {
7498
7529
  if (plugin && isFunction(plugin.install)) {
@@ -8514,12 +8545,13 @@ If you want to remount the same app, move your app creation logic into a factory
8514
8545
  root.dirs = root.dirs ? root.dirs.concat(vnode.dirs) : vnode.dirs;
8515
8546
  }
8516
8547
  if (vnode.transition) {
8517
- if (!isElementRoot(root)) {
8548
+ const child = isTeleport(root.type) ? getInnerChild$1(root) || root : root;
8549
+ if (!isElementRoot(child)) {
8518
8550
  warn$1(
8519
8551
  `Component inside <Transition> renders non-element root node that cannot be animated.`
8520
8552
  );
8521
8553
  }
8522
- setTransitionHooks(root, vnode.transition);
8554
+ setTransitionHooks(child, vnode.transition);
8523
8555
  }
8524
8556
  if (setRoot) {
8525
8557
  setRoot(root);
@@ -11273,7 +11305,9 @@ If you want to remount the same app, move your app creation logic into a factory
11273
11305
  let hasUnresolvedAncestor = false;
11274
11306
  while (parent) {
11275
11307
  if (parent.pendingBranch) {
11276
- parent.effects.push(...effects);
11308
+ for (let i = 0; i < effects.length; i++) {
11309
+ parent.effects.push(effects[i]);
11310
+ }
11277
11311
  hasUnresolvedAncestor = true;
11278
11312
  break;
11279
11313
  }
@@ -11695,6 +11729,14 @@ If you want to remount the same app, move your app creation logic into a factory
11695
11729
  if (vnode.key !== vnode.key) {
11696
11730
  warn$1(`VNode created with invalid key (NaN). VNode type:`, vnode.type);
11697
11731
  }
11732
+ if (props && vnode.shapeFlag & 1) {
11733
+ const overwritingProp = props.innerHTML != null ? "innerHTML" : props.textContent != null ? "textContent" : null;
11734
+ if (overwritingProp && hasContentChildren(vnode.children)) {
11735
+ warn$1(
11736
+ `The \`${overwritingProp}\` prop on <${vnode.type}> will override its children. Remove either the \`${overwritingProp}\` prop or the children.`
11737
+ );
11738
+ }
11739
+ }
11698
11740
  if (isBlockTreeEnabled > 0 && // avoid a block node from tracking itself
11699
11741
  !isBlockNode && // has current parent block
11700
11742
  currentBlock && // presence of a patch flag indicates this node needs patching on updates.
@@ -11712,6 +11754,11 @@ If you want to remount the same app, move your app creation logic into a factory
11712
11754
  }
11713
11755
  return vnode;
11714
11756
  }
11757
+ function hasContentChildren(children) {
11758
+ if (isString(children)) return children !== "";
11759
+ if (isArray(children)) return children.length > 0;
11760
+ return false;
11761
+ }
11715
11762
  const createVNode = createVNodeWithArgsTransform ;
11716
11763
  function _createVNode(type, props = null, children = null, patchFlag = 0, dynamicProps = null, isBlockNode = false) {
11717
11764
  if (!type || type === NULL_DYNAMIC_COMPONENT) {
@@ -12154,7 +12201,12 @@ Component that was made reactive: `,
12154
12201
  setupResult.then(unsetCurrentInstance, unsetCurrentInstance);
12155
12202
  if (isSSR) {
12156
12203
  return setupResult.then((resolvedResult) => {
12157
- handleSetupResult(instance, resolvedResult, isSSR);
12204
+ setInSSRSetupState(true);
12205
+ try {
12206
+ handleSetupResult(instance, resolvedResult, isSSR);
12207
+ } finally {
12208
+ setInSSRSetupState(false);
12209
+ }
12158
12210
  }).catch((e) => {
12159
12211
  handleError(e, instance, 0);
12160
12212
  });
@@ -12630,7 +12682,7 @@ Component that was made reactive: `,
12630
12682
  return true;
12631
12683
  }
12632
12684
 
12633
- const version = "3.5.40";
12685
+ const version = "3.5.41";
12634
12686
  const warn = warn$1 ;
12635
12687
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12636
12688
  const devtools = devtools$1 ;
@@ -13669,7 +13721,9 @@ Expected function or array of functions, received type ${typeof value}.`
13669
13721
  if (parent && parent._pendingResolve) {
13670
13722
  this._pendingResolve = parent._pendingResolve.then(() => {
13671
13723
  this._pendingResolve = void 0;
13672
- this._resolveDef();
13724
+ if (this.isConnected) {
13725
+ return this._resolveDef();
13726
+ }
13673
13727
  });
13674
13728
  } else {
13675
13729
  this._resolveDef();
@@ -13719,7 +13773,7 @@ Expected function or array of functions, received type ${typeof value}.`
13719
13773
  */
13720
13774
  _resolveDef() {
13721
13775
  if (this._pendingResolve) {
13722
- return;
13776
+ return this._pendingResolve;
13723
13777
  }
13724
13778
  for (let i = 0; i < this.attributes.length; i++) {
13725
13779
  this._setAttr(this.attributes[i].name);
@@ -13759,6 +13813,7 @@ Expected function or array of functions, received type ${typeof value}.`
13759
13813
  def.configureApp = this._def.configureApp;
13760
13814
  resolve(this._def = def, true);
13761
13815
  });
13816
+ return this._pendingResolve;
13762
13817
  } else {
13763
13818
  resolve(this._def);
13764
13819
  }
@@ -13796,6 +13851,11 @@ Expected function or array of functions, received type ${typeof value}.`
13796
13851
  }
13797
13852
  }
13798
13853
  for (const key of declaredPropKeys.map(camelize)) {
13854
+ if (key in Object.getPrototypeOf(this)) {
13855
+ warn(
13856
+ `Custom element prop "${key}" conflicts with an existing property on the element and will overwrite it.`
13857
+ );
13858
+ }
13799
13859
  Object.defineProperty(this, key, {
13800
13860
  get() {
13801
13861
  return this._getProp(key);
@@ -14277,6 +14337,7 @@ Expected function or array of functions, received type ${typeof value}.`
14277
14337
  }
14278
14338
  }
14279
14339
  const assignKey = /* @__PURE__ */ Symbol("_assign");
14340
+ const initialValueKey = /* @__PURE__ */ Symbol("_initialValue");
14280
14341
  function castValue(value, trim, number) {
14281
14342
  if (trim) value = value.trim();
14282
14343
  if (number) value = looseToNumber(value);
@@ -14284,6 +14345,13 @@ Expected function or array of functions, received type ${typeof value}.`
14284
14345
  }
14285
14346
  const vModelText = {
14286
14347
  created(el, { modifiers: { lazy, trim, number } }, vnode) {
14348
+ if (el.parentNode) {
14349
+ if (el.type === "text") {
14350
+ el[initialValueKey] = el.defaultValue.replace(/[\r\n]/g, "");
14351
+ } else if (el.type === "textarea") {
14352
+ el[initialValueKey] = el.defaultValue.replace(/\r\n?/g, "\n");
14353
+ }
14354
+ }
14287
14355
  el[assignKey] = getModelAssigner(vnode);
14288
14356
  const castToNumber = number || vnode.props && vnode.props.type === "number";
14289
14357
  addEventListener(el, lazy ? "change" : "input", (e) => {
@@ -14302,8 +14370,15 @@ Expected function or array of functions, received type ${typeof value}.`
14302
14370
  }
14303
14371
  },
14304
14372
  // set value on mounted so it's after min/max for type="range"
14305
- mounted(el, { value }) {
14306
- el.value = value == null ? "" : value;
14373
+ mounted(el, { value, modifiers: { trim, number } }) {
14374
+ const newValue = value == null ? "" : value;
14375
+ const initialValue = el[initialValueKey];
14376
+ delete el[initialValueKey];
14377
+ if (initialValue !== void 0 && (el.type === "text" || el.type === "textarea") && el.value !== initialValue) {
14378
+ el[assignKey](castValue(el.value, trim, number));
14379
+ } else {
14380
+ el.value = newValue;
14381
+ }
14307
14382
  },
14308
14383
  beforeUpdate(el, { value, oldValue, modifiers: { lazy, trim, number } }, vnode) {
14309
14384
  el[assignKey] = getModelAssigner(vnode);