vue 3.5.0-rc.1 → 3.5.0

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 v3.5.0-rc.1
2
+ * vue v3.5.0
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -1,5 +1,5 @@
1
1
  /**
2
- * vue v3.5.0-rc.1
2
+ * vue v3.5.0
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -284,6 +284,14 @@ var Vue = (function (exports) {
284
284
  return type === "string" || type === "number" || type === "boolean";
285
285
  }
286
286
 
287
+ const cssVarNameEscapeSymbolsRE = /[ !"#$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g;
288
+ function getEscapedCssVarName(key, doubleEscape) {
289
+ return key.replace(
290
+ cssVarNameEscapeSymbolsRE,
291
+ (s) => `\\${s}`
292
+ );
293
+ }
294
+
287
295
  function looseCompareArrays(a, b) {
288
296
  if (a.length !== b.length) return false;
289
297
  let equal = true;
@@ -1143,7 +1151,7 @@ var Vue = (function (exports) {
1143
1151
  const needsWrap = arr !== self && !isShallow(self);
1144
1152
  const methodFn = arr[method];
1145
1153
  if (methodFn !== arrayProto[method]) {
1146
- const result2 = methodFn.apply(arr, args);
1154
+ const result2 = methodFn.apply(self, args);
1147
1155
  return needsWrap ? toReactive(result2) : result2;
1148
1156
  }
1149
1157
  let wrappedFn = fn;
@@ -4074,8 +4082,7 @@ Server rendered element contains more child nodes than client vdom.`
4074
4082
  const isText = vnode.type === Text;
4075
4083
  if (node) {
4076
4084
  if (isText && !optimized) {
4077
- let next = children[i + 1];
4078
- if (next && (next = normalizeVNode(next)).type === Text) {
4085
+ if (i + 1 < l && normalizeVNode(children[i + 1]).type === Text) {
4079
4086
  insert(
4080
4087
  createText(
4081
4088
  node.data.slice(vnode.children.length)
@@ -4331,7 +4338,10 @@ Server rendered element contains fewer child nodes than client vdom.`
4331
4338
  if (instance.getCssVars && (vnode === root || root && root.type === Fragment && root.children.includes(vnode))) {
4332
4339
  const cssVars = instance.getCssVars();
4333
4340
  for (const key in cssVars) {
4334
- expectedMap.set(`--${key}`, String(cssVars[key]));
4341
+ expectedMap.set(
4342
+ `--${getEscapedCssVarName(key)}`,
4343
+ String(cssVars[key])
4344
+ );
4335
4345
  }
4336
4346
  }
4337
4347
  if (vnode === root && instance.parent) {
@@ -10375,7 +10385,7 @@ Component that was made reactive: `,
10375
10385
  return true;
10376
10386
  }
10377
10387
 
10378
- const version = "3.5.0-rc.1";
10388
+ const version = "3.5.0";
10379
10389
  const warn = warn$1 ;
10380
10390
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
10381
10391
  const devtools = devtools$1 ;
@@ -10994,7 +11004,11 @@ Component that was made reactive: `,
10994
11004
  if (key === "value" && tag !== "PROGRESS" && // custom elements may use _value internally
10995
11005
  !tag.includes("-")) {
10996
11006
  const oldValue = tag === "OPTION" ? el.getAttribute("value") || "" : el.value;
10997
- const newValue = value == null ? "" : String(value);
11007
+ const newValue = value == null ? (
11008
+ // #11647: value should be set as empty string for null and undefined,
11009
+ // but <input type="checkbox"> should be set as 'on'.
11010
+ el.type === "checkbox" ? "on" : ""
11011
+ ) : String(value);
10998
11012
  if (oldValue !== newValue || !("_value" in el)) {
10999
11013
  el.value = newValue;
11000
11014
  }
@@ -11843,12 +11857,16 @@ Expected function or array of functions, received type ${typeof value}.`
11843
11857
  };
11844
11858
  function setChecked(el, { value, oldValue }, vnode) {
11845
11859
  el._modelValue = value;
11860
+ let checked;
11846
11861
  if (isArray(value)) {
11847
- el.checked = looseIndexOf(value, vnode.props.value) > -1;
11862
+ checked = looseIndexOf(value, vnode.props.value) > -1;
11848
11863
  } else if (isSet(value)) {
11849
- el.checked = value.has(vnode.props.value);
11850
- } else if (value !== oldValue) {
11851
- el.checked = looseEqual(value, getCheckboxValue(el, true));
11864
+ checked = value.has(vnode.props.value);
11865
+ } else {
11866
+ checked = looseEqual(value, getCheckboxValue(el, true));
11867
+ }
11868
+ if (el.checked !== checked) {
11869
+ el.checked = checked;
11852
11870
  }
11853
11871
  }
11854
11872
  const vModelRadio = {