@vue/compat 3.4.4 → 3.4.6

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.
@@ -1828,7 +1828,9 @@ function flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {
1828
1828
  }
1829
1829
  function flushPostFlushCbs(seen) {
1830
1830
  if (pendingPostFlushCbs.length) {
1831
- const deduped = [...new Set(pendingPostFlushCbs)];
1831
+ const deduped = [...new Set(pendingPostFlushCbs)].sort(
1832
+ (a, b) => getId(a) - getId(b)
1833
+ );
1832
1834
  pendingPostFlushCbs.length = 0;
1833
1835
  if (activePostFlushCbs) {
1834
1836
  activePostFlushCbs.push(...deduped);
@@ -1838,7 +1840,6 @@ function flushPostFlushCbs(seen) {
1838
1840
  if (!!(process.env.NODE_ENV !== "production")) {
1839
1841
  seen = seen || /* @__PURE__ */ new Map();
1840
1842
  }
1841
- activePostFlushCbs.sort((a, b) => getId(a) - getId(b));
1842
1843
  for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {
1843
1844
  if (!!(process.env.NODE_ENV !== "production") && checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {
1844
1845
  continue;
@@ -3455,6 +3456,7 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
3455
3456
  if (!!(process.env.NODE_ENV !== "production")) {
3456
3457
  assertNumber(timeout, `Suspense timeout`);
3457
3458
  }
3459
+ const initialAnchor = anchor;
3458
3460
  const suspense = {
3459
3461
  vnode,
3460
3462
  parent: parentSuspense,
@@ -3462,7 +3464,6 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
3462
3464
  namespace,
3463
3465
  container,
3464
3466
  hiddenContainer,
3465
- anchor,
3466
3467
  deps: 0,
3467
3468
  pendingId: suspenseId++,
3468
3469
  timeout: typeof timeout === "number" ? timeout : -1,
@@ -3505,20 +3506,21 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
3505
3506
  move(
3506
3507
  pendingBranch,
3507
3508
  container2,
3508
- next(activeBranch),
3509
+ anchor === initialAnchor ? next(activeBranch) : anchor,
3509
3510
  0
3510
3511
  );
3511
3512
  queuePostFlushCb(effects);
3512
3513
  }
3513
3514
  };
3514
3515
  }
3515
- let { anchor: anchor2 } = suspense;
3516
3516
  if (activeBranch) {
3517
- anchor2 = next(activeBranch);
3517
+ if (parentNode(activeBranch.el) !== suspense.hiddenContainer) {
3518
+ anchor = next(activeBranch);
3519
+ }
3518
3520
  unmount(activeBranch, parentComponent2, suspense, true);
3519
3521
  }
3520
3522
  if (!delayEnter) {
3521
- move(pendingBranch, container2, anchor2, 0);
3523
+ move(pendingBranch, container2, anchor, 0);
3522
3524
  }
3523
3525
  }
3524
3526
  setActiveBranch(suspense, pendingBranch);
@@ -4001,10 +4003,11 @@ function doWatch(source, cb, {
4001
4003
  scheduler = () => queueJob(job);
4002
4004
  }
4003
4005
  const effect = new ReactiveEffect(getter, NOOP, scheduler);
4006
+ const scope = getCurrentScope();
4004
4007
  const unwatch = () => {
4005
4008
  effect.stop();
4006
- if (instance && instance.scope) {
4007
- remove(instance.scope.effects, effect);
4009
+ if (scope) {
4010
+ remove(scope.effects, effect);
4008
4011
  }
4009
4012
  };
4010
4013
  if (!!(process.env.NODE_ENV !== "production")) {
@@ -6496,7 +6499,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6496
6499
  return vm;
6497
6500
  }
6498
6501
  }
6499
- Vue.version = `2.6.14-compat:${"3.4.4"}`;
6502
+ Vue.version = `2.6.14-compat:${"3.4.6"}`;
6500
6503
  Vue.config = singletonApp.config;
6501
6504
  Vue.use = (p, ...options) => {
6502
6505
  if (p && isFunction(p.install)) {
@@ -8044,7 +8047,7 @@ Server rendered element contains more child nodes than client vdom.`
8044
8047
  if (props) {
8045
8048
  if (!!(process.env.NODE_ENV !== "production") || forcePatch || !optimized || patchFlag & (16 | 32)) {
8046
8049
  for (const key in props) {
8047
- if (!!(process.env.NODE_ENV !== "production") && propHasMismatch(el, key, props[key])) {
8050
+ if (!!(process.env.NODE_ENV !== "production") && propHasMismatch(el, key, props[key], vnode)) {
8048
8051
  hasMismatch = true;
8049
8052
  }
8050
8053
  if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
@@ -8229,7 +8232,7 @@ Server rendered element contains fewer child nodes than client vdom.`
8229
8232
  };
8230
8233
  return [hydrate, hydrateNode];
8231
8234
  }
8232
- function propHasMismatch(el, key, clientValue) {
8235
+ function propHasMismatch(el, key, clientValue, vnode) {
8233
8236
  let mismatchType;
8234
8237
  let mismatchKey;
8235
8238
  let actual;
@@ -8241,14 +8244,23 @@ function propHasMismatch(el, key, clientValue) {
8241
8244
  mismatchType = mismatchKey = `class`;
8242
8245
  }
8243
8246
  } else if (key === "style") {
8244
- actual = el.getAttribute("style");
8245
- expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue));
8246
- if (actual !== expected) {
8247
+ actual = toStyleMap(el.getAttribute("style") || "");
8248
+ expected = toStyleMap(
8249
+ isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue))
8250
+ );
8251
+ if (vnode.dirs) {
8252
+ for (const { dir, value } of vnode.dirs) {
8253
+ if (dir.name === "show" && !value) {
8254
+ expected.set("display", "none");
8255
+ }
8256
+ }
8257
+ }
8258
+ if (!isMapEqual(actual, expected)) {
8247
8259
  mismatchType = mismatchKey = "style";
8248
8260
  }
8249
8261
  } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {
8250
- actual = el.hasAttribute(key) && el.getAttribute(key);
8251
- expected = isBooleanAttr(key) ? includeBooleanAttr(clientValue) ? "" : false : clientValue == null ? false : String(clientValue);
8262
+ actual = el.hasAttribute(key) ? el.getAttribute(key) : key in el ? el[key] : "";
8263
+ expected = isBooleanAttr(key) ? includeBooleanAttr(clientValue) ? "" : false : clientValue == null ? "" : String(clientValue);
8252
8264
  if (actual !== expected) {
8253
8265
  mismatchType = `attribute`;
8254
8266
  mismatchKey = key;
@@ -8283,6 +8295,29 @@ function isSetEqual(a, b) {
8283
8295
  }
8284
8296
  return true;
8285
8297
  }
8298
+ function toStyleMap(str) {
8299
+ const styleMap = /* @__PURE__ */ new Map();
8300
+ for (const item of str.split(";")) {
8301
+ let [key, value] = item.split(":");
8302
+ key = key == null ? void 0 : key.trim();
8303
+ value = value == null ? void 0 : value.trim();
8304
+ if (key && value) {
8305
+ styleMap.set(key, value);
8306
+ }
8307
+ }
8308
+ return styleMap;
8309
+ }
8310
+ function isMapEqual(a, b) {
8311
+ if (a.size !== b.size) {
8312
+ return false;
8313
+ }
8314
+ for (const [key, value] of a) {
8315
+ if (value !== b.get(key)) {
8316
+ return false;
8317
+ }
8318
+ }
8319
+ return true;
8320
+ }
8286
8321
 
8287
8322
  let supported;
8288
8323
  let perf;
@@ -8896,7 +8931,11 @@ function baseCreateRenderer(options, createHydrationFns) {
8896
8931
  hostInsert(fragmentStartAnchor, container, anchor);
8897
8932
  hostInsert(fragmentEndAnchor, container, anchor);
8898
8933
  mountChildren(
8899
- n2.children,
8934
+ // #10007
8935
+ // such fragment like `<></>` will be compiled into
8936
+ // a fragment which doesn't have a children.
8937
+ // In this case fallback to an empty array
8938
+ n2.children || [],
8900
8939
  container,
8901
8940
  fragmentEndAnchor,
8902
8941
  parentComponent,
@@ -9777,6 +9816,7 @@ function baseCreateRenderer(options, createHydrationFns) {
9777
9816
  }
9778
9817
  return hostNextSibling(vnode.anchor || vnode.el);
9779
9818
  };
9819
+ let isFlushing = false;
9780
9820
  const render = (vnode, container, namespace) => {
9781
9821
  if (vnode == null) {
9782
9822
  if (container._vnode) {
@@ -9793,8 +9833,12 @@ function baseCreateRenderer(options, createHydrationFns) {
9793
9833
  namespace
9794
9834
  );
9795
9835
  }
9796
- flushPreFlushCbs();
9797
- flushPostFlushCbs();
9836
+ if (!isFlushing) {
9837
+ isFlushing = true;
9838
+ flushPreFlushCbs();
9839
+ flushPostFlushCbs();
9840
+ isFlushing = false;
9841
+ }
9798
9842
  container._vnode = vnode;
9799
9843
  };
9800
9844
  const internals = {
@@ -10700,7 +10744,14 @@ function createComponentInstance(vnode, parent, suspense) {
10700
10744
  return instance;
10701
10745
  }
10702
10746
  let currentInstance = null;
10703
- const getCurrentInstance = () => currentInstance || currentRenderingInstance;
10747
+ const getCurrentInstance = () => {
10748
+ if (!!(process.env.NODE_ENV !== "production") && isInComputedGetter) {
10749
+ warn$1(
10750
+ `getCurrentInstance() called inside a computed getter. This is incorrect usage as computed getters are not guaranteed to be executed with an active component instance. If you are using a composable inside a computed getter, move it ouside to the setup scope.`
10751
+ );
10752
+ }
10753
+ return currentInstance || currentRenderingInstance;
10754
+ };
10704
10755
  let internalSetCurrentInstance;
10705
10756
  let setInSSRSetupState;
10706
10757
  {
@@ -11057,7 +11108,25 @@ function isClassComponent(value) {
11057
11108
  return isFunction(value) && "__vccOpts" in value;
11058
11109
  }
11059
11110
 
11111
+ let isInComputedGetter = false;
11112
+ function wrapComputedGetter(getter) {
11113
+ return () => {
11114
+ isInComputedGetter = true;
11115
+ try {
11116
+ return getter();
11117
+ } finally {
11118
+ isInComputedGetter = false;
11119
+ }
11120
+ };
11121
+ }
11060
11122
  const computed = (getterOrOptions, debugOptions) => {
11123
+ if (!!(process.env.NODE_ENV !== "production")) {
11124
+ if (isFunction(getterOrOptions)) {
11125
+ getterOrOptions = wrapComputedGetter(getterOrOptions);
11126
+ } else {
11127
+ getterOrOptions.get = wrapComputedGetter(getterOrOptions.get);
11128
+ }
11129
+ }
11061
11130
  return computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);
11062
11131
  };
11063
11132
 
@@ -11283,7 +11352,7 @@ function isMemoSame(cached, memo) {
11283
11352
  return true;
11284
11353
  }
11285
11354
 
11286
- const version = "3.4.4";
11355
+ const version = "3.4.6";
11287
11356
  const warn = !!(process.env.NODE_ENV !== "production") ? warn$1 : NOOP;
11288
11357
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11289
11358
  const devtools = !!(process.env.NODE_ENV !== "production") || __VUE_PROD_DEVTOOLS__ ? devtools$1 : void 0;
@@ -11732,6 +11801,9 @@ const vShow = {
11732
11801
  setDisplay(el, value);
11733
11802
  }
11734
11803
  };
11804
+ if (!!(process.env.NODE_ENV !== "production")) {
11805
+ vShow.name = "show";
11806
+ }
11735
11807
  function setDisplay(el, value) {
11736
11808
  el.style.display = value ? el[vShowOldKey] : "none";
11737
11809
  }
@@ -1827,7 +1827,9 @@ var Vue = (function () {
1827
1827
  }
1828
1828
  function flushPostFlushCbs(seen) {
1829
1829
  if (pendingPostFlushCbs.length) {
1830
- const deduped = [...new Set(pendingPostFlushCbs)];
1830
+ const deduped = [...new Set(pendingPostFlushCbs)].sort(
1831
+ (a, b) => getId(a) - getId(b)
1832
+ );
1831
1833
  pendingPostFlushCbs.length = 0;
1832
1834
  if (activePostFlushCbs) {
1833
1835
  activePostFlushCbs.push(...deduped);
@@ -1837,7 +1839,6 @@ var Vue = (function () {
1837
1839
  {
1838
1840
  seen = seen || /* @__PURE__ */ new Map();
1839
1841
  }
1840
- activePostFlushCbs.sort((a, b) => getId(a) - getId(b));
1841
1842
  for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) {
1842
1843
  if (checkRecursiveUpdates(seen, activePostFlushCbs[postFlushIndex])) {
1843
1844
  continue;
@@ -3451,6 +3452,7 @@ If this is a native custom element, make sure to exclude it from component resol
3451
3452
  {
3452
3453
  assertNumber(timeout, `Suspense timeout`);
3453
3454
  }
3455
+ const initialAnchor = anchor;
3454
3456
  const suspense = {
3455
3457
  vnode,
3456
3458
  parent: parentSuspense,
@@ -3458,7 +3460,6 @@ If this is a native custom element, make sure to exclude it from component resol
3458
3460
  namespace,
3459
3461
  container,
3460
3462
  hiddenContainer,
3461
- anchor,
3462
3463
  deps: 0,
3463
3464
  pendingId: suspenseId++,
3464
3465
  timeout: typeof timeout === "number" ? timeout : -1,
@@ -3501,20 +3502,21 @@ If this is a native custom element, make sure to exclude it from component resol
3501
3502
  move(
3502
3503
  pendingBranch,
3503
3504
  container2,
3504
- next(activeBranch),
3505
+ anchor === initialAnchor ? next(activeBranch) : anchor,
3505
3506
  0
3506
3507
  );
3507
3508
  queuePostFlushCb(effects);
3508
3509
  }
3509
3510
  };
3510
3511
  }
3511
- let { anchor: anchor2 } = suspense;
3512
3512
  if (activeBranch) {
3513
- anchor2 = next(activeBranch);
3513
+ if (parentNode(activeBranch.el) !== suspense.hiddenContainer) {
3514
+ anchor = next(activeBranch);
3515
+ }
3514
3516
  unmount(activeBranch, parentComponent2, suspense, true);
3515
3517
  }
3516
3518
  if (!delayEnter) {
3517
- move(pendingBranch, container2, anchor2, 0);
3519
+ move(pendingBranch, container2, anchor, 0);
3518
3520
  }
3519
3521
  }
3520
3522
  setActiveBranch(suspense, pendingBranch);
@@ -3972,10 +3974,11 @@ If this is a native custom element, make sure to exclude it from component resol
3972
3974
  scheduler = () => queueJob(job);
3973
3975
  }
3974
3976
  const effect = new ReactiveEffect(getter, NOOP, scheduler);
3977
+ const scope = getCurrentScope();
3975
3978
  const unwatch = () => {
3976
3979
  effect.stop();
3977
- if (instance && instance.scope) {
3978
- remove(instance.scope.effects, effect);
3980
+ if (scope) {
3981
+ remove(scope.effects, effect);
3979
3982
  }
3980
3983
  };
3981
3984
  {
@@ -6455,7 +6458,7 @@ If this is a native custom element, make sure to exclude it from component resol
6455
6458
  return vm;
6456
6459
  }
6457
6460
  }
6458
- Vue.version = `2.6.14-compat:${"3.4.4"}`;
6461
+ Vue.version = `2.6.14-compat:${"3.4.6"}`;
6459
6462
  Vue.config = singletonApp.config;
6460
6463
  Vue.use = (p, ...options) => {
6461
6464
  if (p && isFunction(p.install)) {
@@ -8000,7 +8003,7 @@ Server rendered element contains more child nodes than client vdom.`
8000
8003
  if (props) {
8001
8004
  {
8002
8005
  for (const key in props) {
8003
- if (propHasMismatch(el, key, props[key])) {
8006
+ if (propHasMismatch(el, key, props[key], vnode)) {
8004
8007
  hasMismatch = true;
8005
8008
  }
8006
8009
  if (forcePatch && (key.endsWith("value") || key === "indeterminate") || isOn(key) && !isReservedProp(key) || // force hydrate v-bind with .prop modifiers
@@ -8175,7 +8178,7 @@ Server rendered element contains fewer child nodes than client vdom.`
8175
8178
  };
8176
8179
  return [hydrate, hydrateNode];
8177
8180
  }
8178
- function propHasMismatch(el, key, clientValue) {
8181
+ function propHasMismatch(el, key, clientValue, vnode) {
8179
8182
  let mismatchType;
8180
8183
  let mismatchKey;
8181
8184
  let actual;
@@ -8187,14 +8190,23 @@ Server rendered element contains fewer child nodes than client vdom.`
8187
8190
  mismatchType = mismatchKey = `class`;
8188
8191
  }
8189
8192
  } else if (key === "style") {
8190
- actual = el.getAttribute("style");
8191
- expected = isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue));
8192
- if (actual !== expected) {
8193
+ actual = toStyleMap(el.getAttribute("style") || "");
8194
+ expected = toStyleMap(
8195
+ isString(clientValue) ? clientValue : stringifyStyle(normalizeStyle(clientValue))
8196
+ );
8197
+ if (vnode.dirs) {
8198
+ for (const { dir, value } of vnode.dirs) {
8199
+ if (dir.name === "show" && !value) {
8200
+ expected.set("display", "none");
8201
+ }
8202
+ }
8203
+ }
8204
+ if (!isMapEqual(actual, expected)) {
8193
8205
  mismatchType = mismatchKey = "style";
8194
8206
  }
8195
8207
  } else if (el instanceof SVGElement && isKnownSvgAttr(key) || el instanceof HTMLElement && (isBooleanAttr(key) || isKnownHtmlAttr(key))) {
8196
- actual = el.hasAttribute(key) && el.getAttribute(key);
8197
- expected = isBooleanAttr(key) ? includeBooleanAttr(clientValue) ? "" : false : clientValue == null ? false : String(clientValue);
8208
+ actual = el.hasAttribute(key) ? el.getAttribute(key) : key in el ? el[key] : "";
8209
+ expected = isBooleanAttr(key) ? includeBooleanAttr(clientValue) ? "" : false : clientValue == null ? "" : String(clientValue);
8198
8210
  if (actual !== expected) {
8199
8211
  mismatchType = `attribute`;
8200
8212
  mismatchKey = key;
@@ -8229,6 +8241,29 @@ Server rendered element contains fewer child nodes than client vdom.`
8229
8241
  }
8230
8242
  return true;
8231
8243
  }
8244
+ function toStyleMap(str) {
8245
+ const styleMap = /* @__PURE__ */ new Map();
8246
+ for (const item of str.split(";")) {
8247
+ let [key, value] = item.split(":");
8248
+ key = key == null ? void 0 : key.trim();
8249
+ value = value == null ? void 0 : value.trim();
8250
+ if (key && value) {
8251
+ styleMap.set(key, value);
8252
+ }
8253
+ }
8254
+ return styleMap;
8255
+ }
8256
+ function isMapEqual(a, b) {
8257
+ if (a.size !== b.size) {
8258
+ return false;
8259
+ }
8260
+ for (const [key, value] of a) {
8261
+ if (value !== b.get(key)) {
8262
+ return false;
8263
+ }
8264
+ }
8265
+ return true;
8266
+ }
8232
8267
 
8233
8268
  let supported;
8234
8269
  let perf;
@@ -8817,7 +8852,11 @@ Server rendered element contains fewer child nodes than client vdom.`
8817
8852
  hostInsert(fragmentStartAnchor, container, anchor);
8818
8853
  hostInsert(fragmentEndAnchor, container, anchor);
8819
8854
  mountChildren(
8820
- n2.children,
8855
+ // #10007
8856
+ // such fragment like `<></>` will be compiled into
8857
+ // a fragment which doesn't have a children.
8858
+ // In this case fallback to an empty array
8859
+ n2.children || [],
8821
8860
  container,
8822
8861
  fragmentEndAnchor,
8823
8862
  parentComponent,
@@ -9685,6 +9724,7 @@ Server rendered element contains fewer child nodes than client vdom.`
9685
9724
  }
9686
9725
  return hostNextSibling(vnode.anchor || vnode.el);
9687
9726
  };
9727
+ let isFlushing = false;
9688
9728
  const render = (vnode, container, namespace) => {
9689
9729
  if (vnode == null) {
9690
9730
  if (container._vnode) {
@@ -9701,8 +9741,12 @@ Server rendered element contains fewer child nodes than client vdom.`
9701
9741
  namespace
9702
9742
  );
9703
9743
  }
9704
- flushPreFlushCbs();
9705
- flushPostFlushCbs();
9744
+ if (!isFlushing) {
9745
+ isFlushing = true;
9746
+ flushPreFlushCbs();
9747
+ flushPostFlushCbs();
9748
+ isFlushing = false;
9749
+ }
9706
9750
  container._vnode = vnode;
9707
9751
  };
9708
9752
  const internals = {
@@ -10606,7 +10650,14 @@ Component that was made reactive: `,
10606
10650
  return instance;
10607
10651
  }
10608
10652
  let currentInstance = null;
10609
- const getCurrentInstance = () => currentInstance || currentRenderingInstance;
10653
+ const getCurrentInstance = () => {
10654
+ if (isInComputedGetter) {
10655
+ warn$1(
10656
+ `getCurrentInstance() called inside a computed getter. This is incorrect usage as computed getters are not guaranteed to be executed with an active component instance. If you are using a composable inside a computed getter, move it ouside to the setup scope.`
10657
+ );
10658
+ }
10659
+ return currentInstance || currentRenderingInstance;
10660
+ };
10610
10661
  let internalSetCurrentInstance;
10611
10662
  let setInSSRSetupState;
10612
10663
  {
@@ -10932,7 +10983,25 @@ Component that was made reactive: `,
10932
10983
  return isFunction(value) && "__vccOpts" in value;
10933
10984
  }
10934
10985
 
10986
+ let isInComputedGetter = false;
10987
+ function wrapComputedGetter(getter) {
10988
+ return () => {
10989
+ isInComputedGetter = true;
10990
+ try {
10991
+ return getter();
10992
+ } finally {
10993
+ isInComputedGetter = false;
10994
+ }
10995
+ };
10996
+ }
10935
10997
  const computed = (getterOrOptions, debugOptions) => {
10998
+ {
10999
+ if (isFunction(getterOrOptions)) {
11000
+ getterOrOptions = wrapComputedGetter(getterOrOptions);
11001
+ } else {
11002
+ getterOrOptions.get = wrapComputedGetter(getterOrOptions.get);
11003
+ }
11004
+ }
10936
11005
  return computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);
10937
11006
  };
10938
11007
 
@@ -11158,7 +11227,7 @@ Component that was made reactive: `,
11158
11227
  return true;
11159
11228
  }
11160
11229
 
11161
- const version = "3.4.4";
11230
+ const version = "3.4.6";
11162
11231
  const warn = warn$1 ;
11163
11232
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
11164
11233
  const devtools = devtools$1 ;
@@ -11599,6 +11668,9 @@ Component that was made reactive: `,
11599
11668
  setDisplay(el, value);
11600
11669
  }
11601
11670
  };
11671
+ {
11672
+ vShow.name = "show";
11673
+ }
11602
11674
  function setDisplay(el, value) {
11603
11675
  el.style.display = value ? el[vShowOldKey] : "none";
11604
11676
  }