@vue/compat 3.4.0-beta.4 → 3.4.0-rc.1

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.
@@ -6519,7 +6519,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6519
6519
  return vm;
6520
6520
  }
6521
6521
  }
6522
- Vue.version = `2.6.14-compat:${"3.4.0-beta.4"}`;
6522
+ Vue.version = `2.6.14-compat:${"3.4.0-rc.1"}`;
6523
6523
  Vue.config = singletonApp.config;
6524
6524
  Vue.use = (p, ...options) => {
6525
6525
  if (p && isFunction(p.install)) {
@@ -8260,9 +8260,9 @@ function propHasMismatch(el, key, clientValue) {
8260
8260
  let actual;
8261
8261
  let expected;
8262
8262
  if (key === "class") {
8263
- actual = el.getAttribute("class");
8264
- expected = normalizeClass(clientValue);
8265
- if (actual !== expected) {
8263
+ actual = toClassSet(el.getAttribute("class") || "");
8264
+ expected = toClassSet(normalizeClass(clientValue));
8265
+ if (!isSetEqual(actual, expected)) {
8266
8266
  mismatchType = mismatchKey = `class`;
8267
8267
  }
8268
8268
  } else if (key === "style") {
@@ -8294,6 +8294,20 @@ function propHasMismatch(el, key, clientValue) {
8294
8294
  }
8295
8295
  return false;
8296
8296
  }
8297
+ function toClassSet(str) {
8298
+ return new Set(str.trim().split(/\s+/));
8299
+ }
8300
+ function isSetEqual(a, b) {
8301
+ if (a.size !== b.size) {
8302
+ return false;
8303
+ }
8304
+ for (const s of a) {
8305
+ if (!b.has(s)) {
8306
+ return false;
8307
+ }
8308
+ }
8309
+ return true;
8310
+ }
8297
8311
 
8298
8312
  let supported;
8299
8313
  let perf;
@@ -11307,7 +11321,7 @@ function isMemoSame(cached, memo) {
11307
11321
  return true;
11308
11322
  }
11309
11323
 
11310
- const version = "3.4.0-beta.4";
11324
+ const version = "3.4.0-rc.1";
11311
11325
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11312
11326
  const _ssrUtils = {
11313
11327
  createComponentInstance,
@@ -14693,12 +14707,6 @@ const tokenizer = new Tokenizer(stack, {
14693
14707
  loc: getLoc(start - 1, end),
14694
14708
  codegenNode: void 0
14695
14709
  };
14696
- if (tokenizer.inSFCRoot) {
14697
- currentOpenTag.innerLoc = getLoc(
14698
- end + fastForward(end) + 1,
14699
- end
14700
- );
14701
- }
14702
14710
  },
14703
14711
  onopentagend(end) {
14704
14712
  endOpenTag(end);
@@ -15023,6 +15031,9 @@ function getSlice(start, end) {
15023
15031
  return currentInput.slice(start, end);
15024
15032
  }
15025
15033
  function endOpenTag(end) {
15034
+ if (tokenizer.inSFCRoot) {
15035
+ currentOpenTag.innerLoc = getLoc(end + 1, end + 1);
15036
+ }
15026
15037
  addNode(currentOpenTag);
15027
15038
  const { tag, ns } = currentOpenTag;
15028
15039
  if (ns === 0 && currentOptions.isPreTag(tag)) {
@@ -15063,7 +15074,7 @@ function onCloseTag(el, end, isImplied = false) {
15063
15074
  if (isImplied) {
15064
15075
  setLocEnd(el.loc, backTrack(end, 60));
15065
15076
  } else {
15066
- setLocEnd(el.loc, end + fastForward(end) + 1);
15077
+ setLocEnd(el.loc, end + 1);
15067
15078
  }
15068
15079
  if (tokenizer.inSFCRoot) {
15069
15080
  if (el.children.length) {
@@ -15158,13 +15169,6 @@ function onCloseTag(el, end, isImplied = false) {
15158
15169
  }
15159
15170
  }
15160
15171
  }
15161
- function fastForward(start, c) {
15162
- let offset = 0;
15163
- while (currentInput.charCodeAt(start + offset) !== 62 && start + offset < currentInput.length) {
15164
- offset++;
15165
- }
15166
- return offset;
15167
- }
15168
15172
  function backTrack(index, c) {
15169
15173
  let i = index;
15170
15174
  while (currentInput.charCodeAt(i) !== c && i >= 0)
@@ -6482,7 +6482,7 @@ If this is a native custom element, make sure to exclude it from component resol
6482
6482
  return vm;
6483
6483
  }
6484
6484
  }
6485
- Vue.version = `2.6.14-compat:${"3.4.0-beta.4"}`;
6485
+ Vue.version = `2.6.14-compat:${"3.4.0-rc.1"}`;
6486
6486
  Vue.config = singletonApp.config;
6487
6487
  Vue.use = (p, ...options) => {
6488
6488
  if (p && isFunction(p.install)) {
@@ -8210,9 +8210,9 @@ Server rendered element contains fewer child nodes than client vdom.`
8210
8210
  let actual;
8211
8211
  let expected;
8212
8212
  if (key === "class") {
8213
- actual = el.getAttribute("class");
8214
- expected = normalizeClass(clientValue);
8215
- if (actual !== expected) {
8213
+ actual = toClassSet(el.getAttribute("class") || "");
8214
+ expected = toClassSet(normalizeClass(clientValue));
8215
+ if (!isSetEqual(actual, expected)) {
8216
8216
  mismatchType = mismatchKey = `class`;
8217
8217
  }
8218
8218
  } else if (key === "style") {
@@ -8244,6 +8244,20 @@ Server rendered element contains fewer child nodes than client vdom.`
8244
8244
  }
8245
8245
  return false;
8246
8246
  }
8247
+ function toClassSet(str) {
8248
+ return new Set(str.trim().split(/\s+/));
8249
+ }
8250
+ function isSetEqual(a, b) {
8251
+ if (a.size !== b.size) {
8252
+ return false;
8253
+ }
8254
+ for (const s of a) {
8255
+ if (!b.has(s)) {
8256
+ return false;
8257
+ }
8258
+ }
8259
+ return true;
8260
+ }
8247
8261
 
8248
8262
  let supported;
8249
8263
  let perf;
@@ -11180,7 +11194,7 @@ Component that was made reactive: `,
11180
11194
  return true;
11181
11195
  }
11182
11196
 
11183
- const version = "3.4.0-beta.4";
11197
+ const version = "3.4.0-rc.1";
11184
11198
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11185
11199
  const ssrUtils = null;
11186
11200
  const resolveFilter = resolveFilter$1 ;
@@ -14504,12 +14518,6 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
14504
14518
  loc: getLoc(start - 1, end),
14505
14519
  codegenNode: void 0
14506
14520
  };
14507
- if (tokenizer.inSFCRoot) {
14508
- currentOpenTag.innerLoc = getLoc(
14509
- end + fastForward(end) + 1,
14510
- end
14511
- );
14512
- }
14513
14521
  },
14514
14522
  onopentagend(end) {
14515
14523
  endOpenTag(end);
@@ -14834,6 +14842,9 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
14834
14842
  return currentInput.slice(start, end);
14835
14843
  }
14836
14844
  function endOpenTag(end) {
14845
+ if (tokenizer.inSFCRoot) {
14846
+ currentOpenTag.innerLoc = getLoc(end + 1, end + 1);
14847
+ }
14837
14848
  addNode(currentOpenTag);
14838
14849
  const { tag, ns } = currentOpenTag;
14839
14850
  if (ns === 0 && currentOptions.isPreTag(tag)) {
@@ -14874,7 +14885,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
14874
14885
  if (isImplied) {
14875
14886
  setLocEnd(el.loc, backTrack(end, 60));
14876
14887
  } else {
14877
- setLocEnd(el.loc, end + fastForward(end) + 1);
14888
+ setLocEnd(el.loc, end + 1);
14878
14889
  }
14879
14890
  if (tokenizer.inSFCRoot) {
14880
14891
  if (el.children.length) {
@@ -14969,13 +14980,6 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
14969
14980
  }
14970
14981
  }
14971
14982
  }
14972
- function fastForward(start, c) {
14973
- let offset = 0;
14974
- while (currentInput.charCodeAt(start + offset) !== 62 && start + offset < currentInput.length) {
14975
- offset++;
14976
- }
14977
- return offset;
14978
- }
14979
14983
  function backTrack(index, c) {
14980
14984
  let i = index;
14981
14985
  while (currentInput.charCodeAt(i) !== c && i >= 0)