@vue/runtime-dom 3.3.4 → 3.3.5

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.
@@ -37,7 +37,7 @@ var VueRuntimeDOM = (function (exports) {
37
37
  const isSymbol = (val) => typeof val === "symbol";
38
38
  const isObject = (val) => val !== null && typeof val === "object";
39
39
  const isPromise = (val) => {
40
- return isObject(val) && isFunction(val.then) && isFunction(val.catch);
40
+ return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);
41
41
  };
42
42
  const objectToString = Object.prototype.toString;
43
43
  const toTypeString = (value) => objectToString.call(value);
@@ -68,12 +68,13 @@ var VueRuntimeDOM = (function (exports) {
68
68
  const hyphenate = cacheStringFunction(
69
69
  (str) => str.replace(hyphenateRE, "-$1").toLowerCase()
70
70
  );
71
- const capitalize = cacheStringFunction(
72
- (str) => str.charAt(0).toUpperCase() + str.slice(1)
73
- );
74
- const toHandlerKey = cacheStringFunction(
75
- (str) => str ? `on${capitalize(str)}` : ``
76
- );
71
+ const capitalize = cacheStringFunction((str) => {
72
+ return str.charAt(0).toUpperCase() + str.slice(1);
73
+ });
74
+ const toHandlerKey = cacheStringFunction((str) => {
75
+ const s = str ? `on${capitalize(str)}` : ``;
76
+ return s;
77
+ });
77
78
  const hasChanged = (value, oldValue) => !Object.is(value, oldValue);
78
79
  const invokeArrayFns = (fns, arg) => {
79
80
  for (let i = 0; i < fns.length; i++) {
@@ -100,8 +101,8 @@ var VueRuntimeDOM = (function (exports) {
100
101
  return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {});
101
102
  };
102
103
 
103
- const GLOBALS_WHITE_LISTED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console";
104
- const isGloballyWhitelisted = /* @__PURE__ */ makeMap(GLOBALS_WHITE_LISTED);
104
+ const GLOBALS_ALLOWED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console";
105
+ const isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);
105
106
 
106
107
  function normalizeStyle(value) {
107
108
  if (isArray(value)) {
@@ -116,9 +117,7 @@ var VueRuntimeDOM = (function (exports) {
116
117
  }
117
118
  }
118
119
  return res;
119
- } else if (isString(value)) {
120
- return value;
121
- } else if (isObject(value)) {
120
+ } else if (isString(value) || isObject(value)) {
122
121
  return value;
123
122
  }
124
123
  }
@@ -465,7 +464,7 @@ var VueRuntimeDOM = (function (exports) {
465
464
  }
466
465
  }
467
466
  function effect(fn, options) {
468
- if (fn.effect) {
467
+ if (fn.effect instanceof ReactiveEffect) {
469
468
  fn = fn.effect.fn;
470
469
  }
471
470
  const _effect = new ReactiveEffect(fn);
@@ -631,10 +630,6 @@ var VueRuntimeDOM = (function (exports) {
631
630
  const builtInSymbols = new Set(
632
631
  /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol)
633
632
  );
634
- const get$1 = /* @__PURE__ */ createGetter();
635
- const shallowGet = /* @__PURE__ */ createGetter(false, true);
636
- const readonlyGet = /* @__PURE__ */ createGetter(true);
637
- const shallowReadonlyGet = /* @__PURE__ */ createGetter(true, true);
638
633
  const arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();
639
634
  function createArrayInstrumentations() {
640
635
  const instrumentations = {};
@@ -667,8 +662,13 @@ var VueRuntimeDOM = (function (exports) {
667
662
  track(obj, "has", key);
668
663
  return obj.hasOwnProperty(key);
669
664
  }
670
- function createGetter(isReadonly2 = false, shallow = false) {
671
- return function get2(target, key, receiver) {
665
+ class BaseReactiveHandler {
666
+ constructor(_isReadonly = false, _shallow = false) {
667
+ this._isReadonly = _isReadonly;
668
+ this._shallow = _shallow;
669
+ }
670
+ get(target, key, receiver) {
671
+ const isReadonly2 = this._isReadonly, shallow = this._shallow;
672
672
  if (key === "__v_isReactive") {
673
673
  return !isReadonly2;
674
674
  } else if (key === "__v_isReadonly") {
@@ -704,17 +704,18 @@ var VueRuntimeDOM = (function (exports) {
704
704
  return isReadonly2 ? readonly(res) : reactive(res);
705
705
  }
706
706
  return res;
707
- };
707
+ }
708
708
  }
709
- const set$1 = /* @__PURE__ */ createSetter();
710
- const shallowSet = /* @__PURE__ */ createSetter(true);
711
- function createSetter(shallow = false) {
712
- return function set2(target, key, value, receiver) {
709
+ class MutableReactiveHandler extends BaseReactiveHandler {
710
+ constructor(shallow = false) {
711
+ super(false, shallow);
712
+ }
713
+ set(target, key, value, receiver) {
713
714
  let oldValue = target[key];
714
715
  if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {
715
716
  return false;
716
717
  }
717
- if (!shallow) {
718
+ if (!this._shallow) {
718
719
  if (!isShallow(value) && !isReadonly(value)) {
719
720
  oldValue = toRaw(oldValue);
720
721
  value = toRaw(value);
@@ -734,37 +735,36 @@ var VueRuntimeDOM = (function (exports) {
734
735
  }
735
736
  }
736
737
  return result;
737
- };
738
- }
739
- function deleteProperty(target, key) {
740
- const hadKey = hasOwn(target, key);
741
- const oldValue = target[key];
742
- const result = Reflect.deleteProperty(target, key);
743
- if (result && hadKey) {
744
- trigger(target, "delete", key, void 0, oldValue);
745
738
  }
746
- return result;
747
- }
748
- function has$1(target, key) {
749
- const result = Reflect.has(target, key);
750
- if (!isSymbol(key) || !builtInSymbols.has(key)) {
751
- track(target, "has", key);
739
+ deleteProperty(target, key) {
740
+ const hadKey = hasOwn(target, key);
741
+ const oldValue = target[key];
742
+ const result = Reflect.deleteProperty(target, key);
743
+ if (result && hadKey) {
744
+ trigger(target, "delete", key, void 0, oldValue);
745
+ }
746
+ return result;
747
+ }
748
+ has(target, key) {
749
+ const result = Reflect.has(target, key);
750
+ if (!isSymbol(key) || !builtInSymbols.has(key)) {
751
+ track(target, "has", key);
752
+ }
753
+ return result;
754
+ }
755
+ ownKeys(target) {
756
+ track(
757
+ target,
758
+ "iterate",
759
+ isArray(target) ? "length" : ITERATE_KEY
760
+ );
761
+ return Reflect.ownKeys(target);
752
762
  }
753
- return result;
754
- }
755
- function ownKeys(target) {
756
- track(target, "iterate", isArray(target) ? "length" : ITERATE_KEY);
757
- return Reflect.ownKeys(target);
758
763
  }
759
- const mutableHandlers = {
760
- get: get$1,
761
- set: set$1,
762
- deleteProperty,
763
- has: has$1,
764
- ownKeys
765
- };
766
- const readonlyHandlers = {
767
- get: readonlyGet,
764
+ class ReadonlyReactiveHandler extends BaseReactiveHandler {
765
+ constructor(shallow = false) {
766
+ super(true, shallow);
767
+ }
768
768
  set(target, key) {
769
769
  {
770
770
  warn$1(
@@ -773,7 +773,7 @@ var VueRuntimeDOM = (function (exports) {
773
773
  );
774
774
  }
775
775
  return true;
776
- },
776
+ }
777
777
  deleteProperty(target, key) {
778
778
  {
779
779
  warn$1(
@@ -783,22 +783,13 @@ var VueRuntimeDOM = (function (exports) {
783
783
  }
784
784
  return true;
785
785
  }
786
- };
787
- const shallowReactiveHandlers = /* @__PURE__ */ extend(
788
- {},
789
- mutableHandlers,
790
- {
791
- get: shallowGet,
792
- set: shallowSet
793
- }
794
- );
795
- const shallowReadonlyHandlers = /* @__PURE__ */ extend(
796
- {},
797
- readonlyHandlers,
798
- {
799
- get: shallowReadonlyGet
800
- }
786
+ }
787
+ const mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();
788
+ const readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();
789
+ const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(
790
+ true
801
791
  );
792
+ const shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);
802
793
 
803
794
  const toShallow = (value) => value;
804
795
  const getProto = (v) => Reflect.getPrototypeOf(v);
@@ -807,7 +798,7 @@ var VueRuntimeDOM = (function (exports) {
807
798
  const rawTarget = toRaw(target);
808
799
  const rawKey = toRaw(key);
809
800
  if (!isReadonly) {
810
- if (key !== rawKey) {
801
+ if (hasChanged(key, rawKey)) {
811
802
  track(rawTarget, "get", key);
812
803
  }
813
804
  track(rawTarget, "get", rawKey);
@@ -827,7 +818,7 @@ var VueRuntimeDOM = (function (exports) {
827
818
  const rawTarget = toRaw(target);
828
819
  const rawKey = toRaw(key);
829
820
  if (!isReadonly) {
830
- if (key !== rawKey) {
821
+ if (hasChanged(key, rawKey)) {
831
822
  track(rawTarget, "has", key);
832
823
  }
833
824
  track(rawTarget, "has", rawKey);
@@ -1357,11 +1348,7 @@ var VueRuntimeDOM = (function (exports) {
1357
1348
  }
1358
1349
  function propertyToRef(source, key, defaultValue) {
1359
1350
  const val = source[key];
1360
- return isRef(val) ? val : new ObjectRefImpl(
1361
- source,
1362
- key,
1363
- defaultValue
1364
- );
1351
+ return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);
1365
1352
  }
1366
1353
 
1367
1354
  class ComputedRefImpl {
@@ -3134,9 +3121,7 @@ var VueRuntimeDOM = (function (exports) {
3134
3121
  }
3135
3122
  if (cb) {
3136
3123
  const newValue = effect.run();
3137
- if (deep || forceTrigger || (isMultiSource ? newValue.some(
3138
- (v, i) => hasChanged(v, oldValue[i])
3139
- ) : hasChanged(newValue, oldValue)) || false) {
3124
+ if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) {
3140
3125
  if (cleanup) {
3141
3126
  cleanup();
3142
3127
  }
@@ -3307,6 +3292,8 @@ var VueRuntimeDOM = (function (exports) {
3307
3292
  }
3308
3293
  }
3309
3294
 
3295
+ const leaveCbKey = Symbol("_leaveCb");
3296
+ const enterCbKey$1 = Symbol("_enterCb");
3310
3297
  function useTransitionState() {
3311
3298
  const state = {
3312
3299
  isMounted: false,
@@ -3427,9 +3414,9 @@ var VueRuntimeDOM = (function (exports) {
3427
3414
  oldInnerChild
3428
3415
  );
3429
3416
  leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;
3430
- el._leaveCb = () => {
3417
+ el[leaveCbKey] = () => {
3431
3418
  earlyRemove();
3432
- el._leaveCb = void 0;
3419
+ el[leaveCbKey] = void 0;
3433
3420
  delete enterHooks.delayedLeave;
3434
3421
  };
3435
3422
  enterHooks.delayedLeave = delayedLeave;
@@ -3500,15 +3487,15 @@ var VueRuntimeDOM = (function (exports) {
3500
3487
  return;
3501
3488
  }
3502
3489
  }
3503
- if (el._leaveCb) {
3504
- el._leaveCb(
3490
+ if (el[leaveCbKey]) {
3491
+ el[leaveCbKey](
3505
3492
  true
3506
3493
  /* cancelled */
3507
3494
  );
3508
3495
  }
3509
3496
  const leavingVNode = leavingVNodesCache[key];
3510
- if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el._leaveCb) {
3511
- leavingVNode.el._leaveCb();
3497
+ if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {
3498
+ leavingVNode.el[leaveCbKey]();
3512
3499
  }
3513
3500
  callHook(hook, [el]);
3514
3501
  },
@@ -3526,7 +3513,7 @@ var VueRuntimeDOM = (function (exports) {
3526
3513
  }
3527
3514
  }
3528
3515
  let called = false;
3529
- const done = el._enterCb = (cancelled) => {
3516
+ const done = el[enterCbKey$1] = (cancelled) => {
3530
3517
  if (called)
3531
3518
  return;
3532
3519
  called = true;
@@ -3538,7 +3525,7 @@ var VueRuntimeDOM = (function (exports) {
3538
3525
  if (hooks.delayedLeave) {
3539
3526
  hooks.delayedLeave();
3540
3527
  }
3541
- el._enterCb = void 0;
3528
+ el[enterCbKey$1] = void 0;
3542
3529
  };
3543
3530
  if (hook) {
3544
3531
  callAsyncHook(hook, [el, done]);
@@ -3548,8 +3535,8 @@ var VueRuntimeDOM = (function (exports) {
3548
3535
  },
3549
3536
  leave(el, remove) {
3550
3537
  const key2 = String(vnode.key);
3551
- if (el._enterCb) {
3552
- el._enterCb(
3538
+ if (el[enterCbKey$1]) {
3539
+ el[enterCbKey$1](
3553
3540
  true
3554
3541
  /* cancelled */
3555
3542
  );
@@ -3559,7 +3546,7 @@ var VueRuntimeDOM = (function (exports) {
3559
3546
  }
3560
3547
  callHook(onBeforeLeave, [el]);
3561
3548
  let called = false;
3562
- const done = el._leaveCb = (cancelled) => {
3549
+ const done = el[leaveCbKey] = (cancelled) => {
3563
3550
  if (called)
3564
3551
  return;
3565
3552
  called = true;
@@ -3569,7 +3556,7 @@ var VueRuntimeDOM = (function (exports) {
3569
3556
  } else {
3570
3557
  callHook(onAfterLeave, [el]);
3571
3558
  }
3572
- el._leaveCb = void 0;
3559
+ el[leaveCbKey] = void 0;
3573
3560
  if (leavingVNodesCache[key2] === vnode) {
3574
3561
  delete leavingVNodesCache[key2];
3575
3562
  }
@@ -3631,6 +3618,8 @@ var VueRuntimeDOM = (function (exports) {
3631
3618
  return ret;
3632
3619
  }
3633
3620
 
3621
+ /*! #__NO_SIDE_EFFECTS__ */
3622
+ // @__NO_SIDE_EFFECTS__
3634
3623
  function defineComponent(options, extraOptions) {
3635
3624
  return isFunction(options) ? (
3636
3625
  // #8326: extend call and options.name access are considered side-effects
@@ -3640,6 +3629,8 @@ var VueRuntimeDOM = (function (exports) {
3640
3629
  }
3641
3630
 
3642
3631
  const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
3632
+ /*! #__NO_SIDE_EFFECTS__ */
3633
+ // @__NO_SIDE_EFFECTS__
3643
3634
  function defineAsyncComponent(source) {
3644
3635
  if (isFunction(source)) {
3645
3636
  source = { loader: source };
@@ -4418,7 +4409,7 @@ If this is a native custom element, make sure to exclude it from component resol
4418
4409
  return PublicInstanceProxyHandlers.get(target, key, target);
4419
4410
  },
4420
4411
  has(_, key) {
4421
- const has = key[0] !== "_" && !isGloballyWhitelisted(key);
4412
+ const has = key[0] !== "_" && !isGloballyAllowed(key);
4422
4413
  if (!has && PublicInstanceProxyHandlers.has(_, key)) {
4423
4414
  warn(
4424
4415
  `Property ${JSON.stringify(
@@ -5094,7 +5085,7 @@ If this is a native custom element, make sure to exclude it from component resol
5094
5085
  },
5095
5086
  set() {
5096
5087
  warn(
5097
- `app.config.unwrapInjectedRef has been deprecated. 3.3 now alawys unwraps injected refs in Options API.`
5088
+ `app.config.unwrapInjectedRef has been deprecated. 3.3 now always unwraps injected refs in Options API.`
5098
5089
  );
5099
5090
  }
5100
5091
  });
@@ -5181,10 +5172,7 @@ If this is a native custom element, make sure to exclude it from component resol
5181
5172
  If you want to mount another app on the same host container, you need to unmount the previous app by calling \`app.unmount()\` first.`
5182
5173
  );
5183
5174
  }
5184
- const vnode = createVNode(
5185
- rootComponent,
5186
- rootProps
5187
- );
5175
+ const vnode = createVNode(rootComponent, rootProps);
5188
5176
  vnode.appContext = context;
5189
5177
  {
5190
5178
  context.reload = () => {
@@ -5930,8 +5918,10 @@ If you want to remount the same app, move your app creation logic into a factory
5930
5918
  hasMismatch = true;
5931
5919
  warn(
5932
5920
  `Hydration text mismatch:
5933
- - Client: ${JSON.stringify(node.data)}
5934
- - Server: ${JSON.stringify(vnode.children)}`
5921
+ - Server rendered: ${JSON.stringify(
5922
+ node.data
5923
+ )}
5924
+ - Client rendered: ${JSON.stringify(vnode.children)}`
5935
5925
  );
5936
5926
  node.data = vnode.children;
5937
5927
  }
@@ -6134,8 +6124,8 @@ If you want to remount the same app, move your app creation logic into a factory
6134
6124
  hasMismatch = true;
6135
6125
  warn(
6136
6126
  `Hydration text content mismatch in <${vnode.type}>:
6137
- - Client: ${el.textContent}
6138
- - Server: ${vnode.children}`
6127
+ - Server rendered: ${el.textContent}
6128
+ - Client rendered: ${vnode.children}`
6139
6129
  );
6140
6130
  el.textContent = vnode.children;
6141
6131
  }
@@ -7883,6 +7873,10 @@ If you want to remount the same app, move your app creation logic into a factory
7883
7873
  internals,
7884
7874
  1
7885
7875
  );
7876
+ } else {
7877
+ if (n2.props && n1.props && n2.props.to !== n1.props.to) {
7878
+ n2.props.to = n1.props.to;
7879
+ }
7886
7880
  }
7887
7881
  } else {
7888
7882
  if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {
@@ -8663,9 +8657,12 @@ Component that was made reactive: `,
8663
8657
  {
8664
8658
  setCurrentInstance(instance);
8665
8659
  pauseTracking();
8666
- applyOptions(instance);
8667
- resetTracking();
8668
- unsetCurrentInstance();
8660
+ try {
8661
+ applyOptions(instance);
8662
+ } finally {
8663
+ resetTracking();
8664
+ unsetCurrentInstance();
8665
+ }
8669
8666
  }
8670
8667
  if (!Component.render && instance.render === NOOP && !isSSR) {
8671
8668
  if (!compile && Component.template) {
@@ -9025,7 +9022,7 @@ Component that was made reactive: `,
9025
9022
  return true;
9026
9023
  }
9027
9024
 
9028
- const version = "3.3.4";
9025
+ const version = "3.3.5";
9029
9026
  const ssrUtils = null;
9030
9027
  const resolveFilter = null;
9031
9028
  const compatUtils = null;
@@ -9097,54 +9094,363 @@ Component that was made reactive: `,
9097
9094
  }
9098
9095
  };
9099
9096
 
9100
- function patchClass(el, value, isSVG) {
9101
- const transitionClasses = el._vtc;
9102
- if (transitionClasses) {
9103
- value = (value ? [value, ...transitionClasses] : [...transitionClasses]).join(" ");
9097
+ const TRANSITION = "transition";
9098
+ const ANIMATION = "animation";
9099
+ const vtcKey = Symbol("_vtc");
9100
+ const Transition = (props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots);
9101
+ Transition.displayName = "Transition";
9102
+ const DOMTransitionPropsValidators = {
9103
+ name: String,
9104
+ type: String,
9105
+ css: {
9106
+ type: Boolean,
9107
+ default: true
9108
+ },
9109
+ duration: [String, Number, Object],
9110
+ enterFromClass: String,
9111
+ enterActiveClass: String,
9112
+ enterToClass: String,
9113
+ appearFromClass: String,
9114
+ appearActiveClass: String,
9115
+ appearToClass: String,
9116
+ leaveFromClass: String,
9117
+ leaveActiveClass: String,
9118
+ leaveToClass: String
9119
+ };
9120
+ const TransitionPropsValidators = Transition.props = /* @__PURE__ */ extend(
9121
+ {},
9122
+ BaseTransitionPropsValidators,
9123
+ DOMTransitionPropsValidators
9124
+ );
9125
+ const callHook = (hook, args = []) => {
9126
+ if (isArray(hook)) {
9127
+ hook.forEach((h2) => h2(...args));
9128
+ } else if (hook) {
9129
+ hook(...args);
9104
9130
  }
9105
- if (value == null) {
9106
- el.removeAttribute("class");
9107
- } else if (isSVG) {
9108
- el.setAttribute("class", value);
9109
- } else {
9110
- el.className = value;
9131
+ };
9132
+ const hasExplicitCallback = (hook) => {
9133
+ return hook ? isArray(hook) ? hook.some((h2) => h2.length > 1) : hook.length > 1 : false;
9134
+ };
9135
+ function resolveTransitionProps(rawProps) {
9136
+ const baseProps = {};
9137
+ for (const key in rawProps) {
9138
+ if (!(key in DOMTransitionPropsValidators)) {
9139
+ baseProps[key] = rawProps[key];
9140
+ }
9111
9141
  }
9112
- }
9113
-
9114
- function patchStyle(el, prev, next) {
9115
- const style = el.style;
9116
- const isCssString = isString(next);
9117
- if (next && !isCssString) {
9118
- if (prev && !isString(prev)) {
9119
- for (const key in prev) {
9120
- if (next[key] == null) {
9121
- setStyle(style, key, "");
9142
+ if (rawProps.css === false) {
9143
+ return baseProps;
9144
+ }
9145
+ const {
9146
+ name = "v",
9147
+ type,
9148
+ duration,
9149
+ enterFromClass = `${name}-enter-from`,
9150
+ enterActiveClass = `${name}-enter-active`,
9151
+ enterToClass = `${name}-enter-to`,
9152
+ appearFromClass = enterFromClass,
9153
+ appearActiveClass = enterActiveClass,
9154
+ appearToClass = enterToClass,
9155
+ leaveFromClass = `${name}-leave-from`,
9156
+ leaveActiveClass = `${name}-leave-active`,
9157
+ leaveToClass = `${name}-leave-to`
9158
+ } = rawProps;
9159
+ const durations = normalizeDuration(duration);
9160
+ const enterDuration = durations && durations[0];
9161
+ const leaveDuration = durations && durations[1];
9162
+ const {
9163
+ onBeforeEnter,
9164
+ onEnter,
9165
+ onEnterCancelled,
9166
+ onLeave,
9167
+ onLeaveCancelled,
9168
+ onBeforeAppear = onBeforeEnter,
9169
+ onAppear = onEnter,
9170
+ onAppearCancelled = onEnterCancelled
9171
+ } = baseProps;
9172
+ const finishEnter = (el, isAppear, done) => {
9173
+ removeTransitionClass(el, isAppear ? appearToClass : enterToClass);
9174
+ removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass);
9175
+ done && done();
9176
+ };
9177
+ const finishLeave = (el, done) => {
9178
+ el._isLeaving = false;
9179
+ removeTransitionClass(el, leaveFromClass);
9180
+ removeTransitionClass(el, leaveToClass);
9181
+ removeTransitionClass(el, leaveActiveClass);
9182
+ done && done();
9183
+ };
9184
+ const makeEnterHook = (isAppear) => {
9185
+ return (el, done) => {
9186
+ const hook = isAppear ? onAppear : onEnter;
9187
+ const resolve = () => finishEnter(el, isAppear, done);
9188
+ callHook(hook, [el, resolve]);
9189
+ nextFrame(() => {
9190
+ removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass);
9191
+ addTransitionClass(el, isAppear ? appearToClass : enterToClass);
9192
+ if (!hasExplicitCallback(hook)) {
9193
+ whenTransitionEnds(el, type, enterDuration, resolve);
9122
9194
  }
9123
- }
9124
- }
9125
- for (const key in next) {
9126
- setStyle(style, key, next[key]);
9195
+ });
9196
+ };
9197
+ };
9198
+ return extend(baseProps, {
9199
+ onBeforeEnter(el) {
9200
+ callHook(onBeforeEnter, [el]);
9201
+ addTransitionClass(el, enterFromClass);
9202
+ addTransitionClass(el, enterActiveClass);
9203
+ },
9204
+ onBeforeAppear(el) {
9205
+ callHook(onBeforeAppear, [el]);
9206
+ addTransitionClass(el, appearFromClass);
9207
+ addTransitionClass(el, appearActiveClass);
9208
+ },
9209
+ onEnter: makeEnterHook(false),
9210
+ onAppear: makeEnterHook(true),
9211
+ onLeave(el, done) {
9212
+ el._isLeaving = true;
9213
+ const resolve = () => finishLeave(el, done);
9214
+ addTransitionClass(el, leaveFromClass);
9215
+ forceReflow();
9216
+ addTransitionClass(el, leaveActiveClass);
9217
+ nextFrame(() => {
9218
+ if (!el._isLeaving) {
9219
+ return;
9220
+ }
9221
+ removeTransitionClass(el, leaveFromClass);
9222
+ addTransitionClass(el, leaveToClass);
9223
+ if (!hasExplicitCallback(onLeave)) {
9224
+ whenTransitionEnds(el, type, leaveDuration, resolve);
9225
+ }
9226
+ });
9227
+ callHook(onLeave, [el, resolve]);
9228
+ },
9229
+ onEnterCancelled(el) {
9230
+ finishEnter(el, false);
9231
+ callHook(onEnterCancelled, [el]);
9232
+ },
9233
+ onAppearCancelled(el) {
9234
+ finishEnter(el, true);
9235
+ callHook(onAppearCancelled, [el]);
9236
+ },
9237
+ onLeaveCancelled(el) {
9238
+ finishLeave(el);
9239
+ callHook(onLeaveCancelled, [el]);
9127
9240
  }
9241
+ });
9242
+ }
9243
+ function normalizeDuration(duration) {
9244
+ if (duration == null) {
9245
+ return null;
9246
+ } else if (isObject(duration)) {
9247
+ return [NumberOf(duration.enter), NumberOf(duration.leave)];
9128
9248
  } else {
9129
- const currentDisplay = style.display;
9130
- if (isCssString) {
9131
- if (prev !== next) {
9132
- style.cssText = next;
9133
- }
9134
- } else if (prev) {
9135
- el.removeAttribute("style");
9136
- }
9137
- if ("_vod" in el) {
9138
- style.display = currentDisplay;
9249
+ const n = NumberOf(duration);
9250
+ return [n, n];
9251
+ }
9252
+ }
9253
+ function NumberOf(val) {
9254
+ const res = toNumber(val);
9255
+ {
9256
+ assertNumber(res, "<transition> explicit duration");
9257
+ }
9258
+ return res;
9259
+ }
9260
+ function addTransitionClass(el, cls) {
9261
+ cls.split(/\s+/).forEach((c) => c && el.classList.add(c));
9262
+ (el[vtcKey] || (el[vtcKey] = /* @__PURE__ */ new Set())).add(cls);
9263
+ }
9264
+ function removeTransitionClass(el, cls) {
9265
+ cls.split(/\s+/).forEach((c) => c && el.classList.remove(c));
9266
+ const _vtc = el[vtcKey];
9267
+ if (_vtc) {
9268
+ _vtc.delete(cls);
9269
+ if (!_vtc.size) {
9270
+ el[vtcKey] = void 0;
9139
9271
  }
9140
9272
  }
9141
9273
  }
9142
- const semicolonRE = /[^\\];\s*$/;
9143
- const importantRE = /\s*!important$/;
9144
- function setStyle(style, name, val) {
9145
- if (isArray(val)) {
9146
- val.forEach((v) => setStyle(style, name, v));
9147
- } else {
9274
+ function nextFrame(cb) {
9275
+ requestAnimationFrame(() => {
9276
+ requestAnimationFrame(cb);
9277
+ });
9278
+ }
9279
+ let endId = 0;
9280
+ function whenTransitionEnds(el, expectedType, explicitTimeout, resolve) {
9281
+ const id = el._endId = ++endId;
9282
+ const resolveIfNotStale = () => {
9283
+ if (id === el._endId) {
9284
+ resolve();
9285
+ }
9286
+ };
9287
+ if (explicitTimeout) {
9288
+ return setTimeout(resolveIfNotStale, explicitTimeout);
9289
+ }
9290
+ const { type, timeout, propCount } = getTransitionInfo(el, expectedType);
9291
+ if (!type) {
9292
+ return resolve();
9293
+ }
9294
+ const endEvent = type + "end";
9295
+ let ended = 0;
9296
+ const end = () => {
9297
+ el.removeEventListener(endEvent, onEnd);
9298
+ resolveIfNotStale();
9299
+ };
9300
+ const onEnd = (e) => {
9301
+ if (e.target === el && ++ended >= propCount) {
9302
+ end();
9303
+ }
9304
+ };
9305
+ setTimeout(() => {
9306
+ if (ended < propCount) {
9307
+ end();
9308
+ }
9309
+ }, timeout + 1);
9310
+ el.addEventListener(endEvent, onEnd);
9311
+ }
9312
+ function getTransitionInfo(el, expectedType) {
9313
+ const styles = window.getComputedStyle(el);
9314
+ const getStyleProperties = (key) => (styles[key] || "").split(", ");
9315
+ const transitionDelays = getStyleProperties(`${TRANSITION}Delay`);
9316
+ const transitionDurations = getStyleProperties(`${TRANSITION}Duration`);
9317
+ const transitionTimeout = getTimeout(transitionDelays, transitionDurations);
9318
+ const animationDelays = getStyleProperties(`${ANIMATION}Delay`);
9319
+ const animationDurations = getStyleProperties(`${ANIMATION}Duration`);
9320
+ const animationTimeout = getTimeout(animationDelays, animationDurations);
9321
+ let type = null;
9322
+ let timeout = 0;
9323
+ let propCount = 0;
9324
+ if (expectedType === TRANSITION) {
9325
+ if (transitionTimeout > 0) {
9326
+ type = TRANSITION;
9327
+ timeout = transitionTimeout;
9328
+ propCount = transitionDurations.length;
9329
+ }
9330
+ } else if (expectedType === ANIMATION) {
9331
+ if (animationTimeout > 0) {
9332
+ type = ANIMATION;
9333
+ timeout = animationTimeout;
9334
+ propCount = animationDurations.length;
9335
+ }
9336
+ } else {
9337
+ timeout = Math.max(transitionTimeout, animationTimeout);
9338
+ type = timeout > 0 ? transitionTimeout > animationTimeout ? TRANSITION : ANIMATION : null;
9339
+ propCount = type ? type === TRANSITION ? transitionDurations.length : animationDurations.length : 0;
9340
+ }
9341
+ const hasTransform = type === TRANSITION && /\b(transform|all)(,|$)/.test(
9342
+ getStyleProperties(`${TRANSITION}Property`).toString()
9343
+ );
9344
+ return {
9345
+ type,
9346
+ timeout,
9347
+ propCount,
9348
+ hasTransform
9349
+ };
9350
+ }
9351
+ function getTimeout(delays, durations) {
9352
+ while (delays.length < durations.length) {
9353
+ delays = delays.concat(delays);
9354
+ }
9355
+ return Math.max(...durations.map((d, i) => toMs(d) + toMs(delays[i])));
9356
+ }
9357
+ function toMs(s) {
9358
+ if (s === "auto")
9359
+ return 0;
9360
+ return Number(s.slice(0, -1).replace(",", ".")) * 1e3;
9361
+ }
9362
+ function forceReflow() {
9363
+ return document.body.offsetHeight;
9364
+ }
9365
+
9366
+ function patchClass(el, value, isSVG) {
9367
+ const transitionClasses = el[vtcKey];
9368
+ if (transitionClasses) {
9369
+ value = (value ? [value, ...transitionClasses] : [...transitionClasses]).join(" ");
9370
+ }
9371
+ if (value == null) {
9372
+ el.removeAttribute("class");
9373
+ } else if (isSVG) {
9374
+ el.setAttribute("class", value);
9375
+ } else {
9376
+ el.className = value;
9377
+ }
9378
+ }
9379
+
9380
+ const vShowOldKey = Symbol("_vod");
9381
+ const vShow = {
9382
+ beforeMount(el, { value }, { transition }) {
9383
+ el[vShowOldKey] = el.style.display === "none" ? "" : el.style.display;
9384
+ if (transition && value) {
9385
+ transition.beforeEnter(el);
9386
+ } else {
9387
+ setDisplay(el, value);
9388
+ }
9389
+ },
9390
+ mounted(el, { value }, { transition }) {
9391
+ if (transition && value) {
9392
+ transition.enter(el);
9393
+ }
9394
+ },
9395
+ updated(el, { value, oldValue }, { transition }) {
9396
+ if (!value === !oldValue)
9397
+ return;
9398
+ if (transition) {
9399
+ if (value) {
9400
+ transition.beforeEnter(el);
9401
+ setDisplay(el, true);
9402
+ transition.enter(el);
9403
+ } else {
9404
+ transition.leave(el, () => {
9405
+ setDisplay(el, false);
9406
+ });
9407
+ }
9408
+ } else {
9409
+ setDisplay(el, value);
9410
+ }
9411
+ },
9412
+ beforeUnmount(el, { value }) {
9413
+ setDisplay(el, value);
9414
+ }
9415
+ };
9416
+ function setDisplay(el, value) {
9417
+ el.style.display = value ? el[vShowOldKey] : "none";
9418
+ }
9419
+
9420
+ function patchStyle(el, prev, next) {
9421
+ const style = el.style;
9422
+ const isCssString = isString(next);
9423
+ if (next && !isCssString) {
9424
+ if (prev && !isString(prev)) {
9425
+ for (const key in prev) {
9426
+ if (next[key] == null) {
9427
+ setStyle(style, key, "");
9428
+ }
9429
+ }
9430
+ }
9431
+ for (const key in next) {
9432
+ setStyle(style, key, next[key]);
9433
+ }
9434
+ } else {
9435
+ const currentDisplay = style.display;
9436
+ if (isCssString) {
9437
+ if (prev !== next) {
9438
+ style.cssText = next;
9439
+ }
9440
+ } else if (prev) {
9441
+ el.removeAttribute("style");
9442
+ }
9443
+ if (vShowOldKey in el) {
9444
+ style.display = currentDisplay;
9445
+ }
9446
+ }
9447
+ }
9448
+ const semicolonRE = /[^\\];\s*$/;
9449
+ const importantRE = /\s*!important$/;
9450
+ function setStyle(style, name, val) {
9451
+ if (isArray(val)) {
9452
+ val.forEach((v) => setStyle(style, name, v));
9453
+ } else {
9148
9454
  if (val == null)
9149
9455
  val = "";
9150
9456
  {
@@ -9263,8 +9569,9 @@ Component that was made reactive: `,
9263
9569
  function removeEventListener(el, event, handler, options) {
9264
9570
  el.removeEventListener(event, handler, options);
9265
9571
  }
9572
+ const veiKey = Symbol("_vei");
9266
9573
  function patchEvent(el, rawName, prevValue, nextValue, instance = null) {
9267
- const invokers = el._vei || (el._vei = {});
9574
+ const invokers = el[veiKey] || (el[veiKey] = {});
9268
9575
  const existingInvoker = invokers[rawName];
9269
9576
  if (nextValue && existingInvoker) {
9270
9577
  existingInvoker.value = nextValue;
@@ -9384,6 +9691,8 @@ Component that was made reactive: `,
9384
9691
  return key in el;
9385
9692
  }
9386
9693
 
9694
+ /*! #__NO_SIDE_EFFECTS__ */
9695
+ // @__NO_SIDE_EFFECTS__
9387
9696
  function defineCustomElement(options, hydrate2) {
9388
9697
  const Comp = defineComponent(options);
9389
9698
  class VueCustomElement extends VueElement {
@@ -9394,8 +9703,9 @@ Component that was made reactive: `,
9394
9703
  VueCustomElement.def = Comp;
9395
9704
  return VueCustomElement;
9396
9705
  }
9397
- const defineSSRCustomElement = (options) => {
9398
- return defineCustomElement(options, hydrate);
9706
+ /*! #__NO_SIDE_EFFECTS__ */
9707
+ const defineSSRCustomElement = /* @__NO_SIDE_EFFECTS__ */ (options) => {
9708
+ return /* @__PURE__ */ defineCustomElement(options, hydrate);
9399
9709
  };
9400
9710
  const BaseClass = typeof HTMLElement !== "undefined" ? HTMLElement : class {
9401
9711
  };
@@ -9411,6 +9721,7 @@ Component that was made reactive: `,
9411
9721
  this._connected = false;
9412
9722
  this._resolved = false;
9413
9723
  this._numberProps = null;
9724
+ this._ob = null;
9414
9725
  if (this.shadowRoot && hydrate2) {
9415
9726
  hydrate2(this._createVNode(), this.shadowRoot);
9416
9727
  } else {
@@ -9437,6 +9748,10 @@ Component that was made reactive: `,
9437
9748
  }
9438
9749
  disconnectedCallback() {
9439
9750
  this._connected = false;
9751
+ if (this._ob) {
9752
+ this._ob.disconnect();
9753
+ this._ob = null;
9754
+ }
9440
9755
  nextTick(() => {
9441
9756
  if (!this._connected) {
9442
9757
  render(null, this.shadowRoot);
@@ -9452,11 +9767,12 @@ Component that was made reactive: `,
9452
9767
  for (let i = 0; i < this.attributes.length; i++) {
9453
9768
  this._setAttr(this.attributes[i].name);
9454
9769
  }
9455
- new MutationObserver((mutations) => {
9770
+ this._ob = new MutationObserver((mutations) => {
9456
9771
  for (const m of mutations) {
9457
9772
  this._setAttr(m.attributeName);
9458
9773
  }
9459
- }).observe(this, { attributes: true });
9774
+ });
9775
+ this._ob.observe(this, { attributes: true });
9460
9776
  const resolve = (def, isAsync = false) => {
9461
9777
  const { props, styles } = def;
9462
9778
  let numberProps;
@@ -9665,274 +9981,10 @@ Component that was made reactive: `,
9665
9981
  }
9666
9982
  }
9667
9983
 
9668
- const TRANSITION = "transition";
9669
- const ANIMATION = "animation";
9670
- const Transition = (props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots);
9671
- Transition.displayName = "Transition";
9672
- const DOMTransitionPropsValidators = {
9673
- name: String,
9674
- type: String,
9675
- css: {
9676
- type: Boolean,
9677
- default: true
9678
- },
9679
- duration: [String, Number, Object],
9680
- enterFromClass: String,
9681
- enterActiveClass: String,
9682
- enterToClass: String,
9683
- appearFromClass: String,
9684
- appearActiveClass: String,
9685
- appearToClass: String,
9686
- leaveFromClass: String,
9687
- leaveActiveClass: String,
9688
- leaveToClass: String
9689
- };
9690
- const TransitionPropsValidators = Transition.props = /* @__PURE__ */ extend(
9691
- {},
9692
- BaseTransitionPropsValidators,
9693
- DOMTransitionPropsValidators
9694
- );
9695
- const callHook = (hook, args = []) => {
9696
- if (isArray(hook)) {
9697
- hook.forEach((h2) => h2(...args));
9698
- } else if (hook) {
9699
- hook(...args);
9700
- }
9701
- };
9702
- const hasExplicitCallback = (hook) => {
9703
- return hook ? isArray(hook) ? hook.some((h2) => h2.length > 1) : hook.length > 1 : false;
9704
- };
9705
- function resolveTransitionProps(rawProps) {
9706
- const baseProps = {};
9707
- for (const key in rawProps) {
9708
- if (!(key in DOMTransitionPropsValidators)) {
9709
- baseProps[key] = rawProps[key];
9710
- }
9711
- }
9712
- if (rawProps.css === false) {
9713
- return baseProps;
9714
- }
9715
- const {
9716
- name = "v",
9717
- type,
9718
- duration,
9719
- enterFromClass = `${name}-enter-from`,
9720
- enterActiveClass = `${name}-enter-active`,
9721
- enterToClass = `${name}-enter-to`,
9722
- appearFromClass = enterFromClass,
9723
- appearActiveClass = enterActiveClass,
9724
- appearToClass = enterToClass,
9725
- leaveFromClass = `${name}-leave-from`,
9726
- leaveActiveClass = `${name}-leave-active`,
9727
- leaveToClass = `${name}-leave-to`
9728
- } = rawProps;
9729
- const durations = normalizeDuration(duration);
9730
- const enterDuration = durations && durations[0];
9731
- const leaveDuration = durations && durations[1];
9732
- const {
9733
- onBeforeEnter,
9734
- onEnter,
9735
- onEnterCancelled,
9736
- onLeave,
9737
- onLeaveCancelled,
9738
- onBeforeAppear = onBeforeEnter,
9739
- onAppear = onEnter,
9740
- onAppearCancelled = onEnterCancelled
9741
- } = baseProps;
9742
- const finishEnter = (el, isAppear, done) => {
9743
- removeTransitionClass(el, isAppear ? appearToClass : enterToClass);
9744
- removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass);
9745
- done && done();
9746
- };
9747
- const finishLeave = (el, done) => {
9748
- el._isLeaving = false;
9749
- removeTransitionClass(el, leaveFromClass);
9750
- removeTransitionClass(el, leaveToClass);
9751
- removeTransitionClass(el, leaveActiveClass);
9752
- done && done();
9753
- };
9754
- const makeEnterHook = (isAppear) => {
9755
- return (el, done) => {
9756
- const hook = isAppear ? onAppear : onEnter;
9757
- const resolve = () => finishEnter(el, isAppear, done);
9758
- callHook(hook, [el, resolve]);
9759
- nextFrame(() => {
9760
- removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass);
9761
- addTransitionClass(el, isAppear ? appearToClass : enterToClass);
9762
- if (!hasExplicitCallback(hook)) {
9763
- whenTransitionEnds(el, type, enterDuration, resolve);
9764
- }
9765
- });
9766
- };
9767
- };
9768
- return extend(baseProps, {
9769
- onBeforeEnter(el) {
9770
- callHook(onBeforeEnter, [el]);
9771
- addTransitionClass(el, enterFromClass);
9772
- addTransitionClass(el, enterActiveClass);
9773
- },
9774
- onBeforeAppear(el) {
9775
- callHook(onBeforeAppear, [el]);
9776
- addTransitionClass(el, appearFromClass);
9777
- addTransitionClass(el, appearActiveClass);
9778
- },
9779
- onEnter: makeEnterHook(false),
9780
- onAppear: makeEnterHook(true),
9781
- onLeave(el, done) {
9782
- el._isLeaving = true;
9783
- const resolve = () => finishLeave(el, done);
9784
- addTransitionClass(el, leaveFromClass);
9785
- forceReflow();
9786
- addTransitionClass(el, leaveActiveClass);
9787
- nextFrame(() => {
9788
- if (!el._isLeaving) {
9789
- return;
9790
- }
9791
- removeTransitionClass(el, leaveFromClass);
9792
- addTransitionClass(el, leaveToClass);
9793
- if (!hasExplicitCallback(onLeave)) {
9794
- whenTransitionEnds(el, type, leaveDuration, resolve);
9795
- }
9796
- });
9797
- callHook(onLeave, [el, resolve]);
9798
- },
9799
- onEnterCancelled(el) {
9800
- finishEnter(el, false);
9801
- callHook(onEnterCancelled, [el]);
9802
- },
9803
- onAppearCancelled(el) {
9804
- finishEnter(el, true);
9805
- callHook(onAppearCancelled, [el]);
9806
- },
9807
- onLeaveCancelled(el) {
9808
- finishLeave(el);
9809
- callHook(onLeaveCancelled, [el]);
9810
- }
9811
- });
9812
- }
9813
- function normalizeDuration(duration) {
9814
- if (duration == null) {
9815
- return null;
9816
- } else if (isObject(duration)) {
9817
- return [NumberOf(duration.enter), NumberOf(duration.leave)];
9818
- } else {
9819
- const n = NumberOf(duration);
9820
- return [n, n];
9821
- }
9822
- }
9823
- function NumberOf(val) {
9824
- const res = toNumber(val);
9825
- {
9826
- assertNumber(res, "<transition> explicit duration");
9827
- }
9828
- return res;
9829
- }
9830
- function addTransitionClass(el, cls) {
9831
- cls.split(/\s+/).forEach((c) => c && el.classList.add(c));
9832
- (el._vtc || (el._vtc = /* @__PURE__ */ new Set())).add(cls);
9833
- }
9834
- function removeTransitionClass(el, cls) {
9835
- cls.split(/\s+/).forEach((c) => c && el.classList.remove(c));
9836
- const { _vtc } = el;
9837
- if (_vtc) {
9838
- _vtc.delete(cls);
9839
- if (!_vtc.size) {
9840
- el._vtc = void 0;
9841
- }
9842
- }
9843
- }
9844
- function nextFrame(cb) {
9845
- requestAnimationFrame(() => {
9846
- requestAnimationFrame(cb);
9847
- });
9848
- }
9849
- let endId = 0;
9850
- function whenTransitionEnds(el, expectedType, explicitTimeout, resolve) {
9851
- const id = el._endId = ++endId;
9852
- const resolveIfNotStale = () => {
9853
- if (id === el._endId) {
9854
- resolve();
9855
- }
9856
- };
9857
- if (explicitTimeout) {
9858
- return setTimeout(resolveIfNotStale, explicitTimeout);
9859
- }
9860
- const { type, timeout, propCount } = getTransitionInfo(el, expectedType);
9861
- if (!type) {
9862
- return resolve();
9863
- }
9864
- const endEvent = type + "end";
9865
- let ended = 0;
9866
- const end = () => {
9867
- el.removeEventListener(endEvent, onEnd);
9868
- resolveIfNotStale();
9869
- };
9870
- const onEnd = (e) => {
9871
- if (e.target === el && ++ended >= propCount) {
9872
- end();
9873
- }
9874
- };
9875
- setTimeout(() => {
9876
- if (ended < propCount) {
9877
- end();
9878
- }
9879
- }, timeout + 1);
9880
- el.addEventListener(endEvent, onEnd);
9881
- }
9882
- function getTransitionInfo(el, expectedType) {
9883
- const styles = window.getComputedStyle(el);
9884
- const getStyleProperties = (key) => (styles[key] || "").split(", ");
9885
- const transitionDelays = getStyleProperties(`${TRANSITION}Delay`);
9886
- const transitionDurations = getStyleProperties(`${TRANSITION}Duration`);
9887
- const transitionTimeout = getTimeout(transitionDelays, transitionDurations);
9888
- const animationDelays = getStyleProperties(`${ANIMATION}Delay`);
9889
- const animationDurations = getStyleProperties(`${ANIMATION}Duration`);
9890
- const animationTimeout = getTimeout(animationDelays, animationDurations);
9891
- let type = null;
9892
- let timeout = 0;
9893
- let propCount = 0;
9894
- if (expectedType === TRANSITION) {
9895
- if (transitionTimeout > 0) {
9896
- type = TRANSITION;
9897
- timeout = transitionTimeout;
9898
- propCount = transitionDurations.length;
9899
- }
9900
- } else if (expectedType === ANIMATION) {
9901
- if (animationTimeout > 0) {
9902
- type = ANIMATION;
9903
- timeout = animationTimeout;
9904
- propCount = animationDurations.length;
9905
- }
9906
- } else {
9907
- timeout = Math.max(transitionTimeout, animationTimeout);
9908
- type = timeout > 0 ? transitionTimeout > animationTimeout ? TRANSITION : ANIMATION : null;
9909
- propCount = type ? type === TRANSITION ? transitionDurations.length : animationDurations.length : 0;
9910
- }
9911
- const hasTransform = type === TRANSITION && /\b(transform|all)(,|$)/.test(
9912
- getStyleProperties(`${TRANSITION}Property`).toString()
9913
- );
9914
- return {
9915
- type,
9916
- timeout,
9917
- propCount,
9918
- hasTransform
9919
- };
9920
- }
9921
- function getTimeout(delays, durations) {
9922
- while (delays.length < durations.length) {
9923
- delays = delays.concat(delays);
9924
- }
9925
- return Math.max(...durations.map((d, i) => toMs(d) + toMs(delays[i])));
9926
- }
9927
- function toMs(s) {
9928
- return Number(s.slice(0, -1).replace(",", ".")) * 1e3;
9929
- }
9930
- function forceReflow() {
9931
- return document.body.offsetHeight;
9932
- }
9933
-
9934
9984
  const positionMap = /* @__PURE__ */ new WeakMap();
9935
9985
  const newPositionMap = /* @__PURE__ */ new WeakMap();
9986
+ const moveCbKey = Symbol("_moveCb");
9987
+ const enterCbKey = Symbol("_enterCb");
9936
9988
  const TransitionGroupImpl = {
9937
9989
  name: "TransitionGroup",
9938
9990
  props: /* @__PURE__ */ extend({}, TransitionPropsValidators, {
@@ -9965,13 +10017,13 @@ Component that was made reactive: `,
9965
10017
  const style = el.style;
9966
10018
  addTransitionClass(el, moveClass);
9967
10019
  style.transform = style.webkitTransform = style.transitionDuration = "";
9968
- const cb = el._moveCb = (e) => {
10020
+ const cb = el[moveCbKey] = (e) => {
9969
10021
  if (e && e.target !== el) {
9970
10022
  return;
9971
10023
  }
9972
10024
  if (!e || /transform$/.test(e.propertyName)) {
9973
10025
  el.removeEventListener("transitionend", cb);
9974
- el._moveCb = null;
10026
+ el[moveCbKey] = null;
9975
10027
  removeTransitionClass(el, moveClass);
9976
10028
  }
9977
10029
  };
@@ -10014,11 +10066,11 @@ Component that was made reactive: `,
10014
10066
  const TransitionGroup = TransitionGroupImpl;
10015
10067
  function callPendingCbs(c) {
10016
10068
  const el = c.el;
10017
- if (el._moveCb) {
10018
- el._moveCb();
10069
+ if (el[moveCbKey]) {
10070
+ el[moveCbKey]();
10019
10071
  }
10020
- if (el._enterCb) {
10021
- el._enterCb();
10072
+ if (el[enterCbKey]) {
10073
+ el[enterCbKey]();
10022
10074
  }
10023
10075
  }
10024
10076
  function recordPosition(c) {
@@ -10038,8 +10090,9 @@ Component that was made reactive: `,
10038
10090
  }
10039
10091
  function hasCSSTransform(el, root, moveClass) {
10040
10092
  const clone = el.cloneNode();
10041
- if (el._vtc) {
10042
- el._vtc.forEach((cls) => {
10093
+ const _vtc = el[vtcKey];
10094
+ if (_vtc) {
10095
+ _vtc.forEach((cls) => {
10043
10096
  cls.split(/\s+/).forEach((c) => c && clone.classList.remove(c));
10044
10097
  });
10045
10098
  }
@@ -10066,9 +10119,10 @@ Component that was made reactive: `,
10066
10119
  target.dispatchEvent(new Event("input"));
10067
10120
  }
10068
10121
  }
10122
+ const assignKey = Symbol("_assign");
10069
10123
  const vModelText = {
10070
10124
  created(el, { modifiers: { lazy, trim, number } }, vnode) {
10071
- el._assign = getModelAssigner(vnode);
10125
+ el[assignKey] = getModelAssigner(vnode);
10072
10126
  const castToNumber = number || vnode.props && vnode.props.type === "number";
10073
10127
  addEventListener(el, lazy ? "change" : "input", (e) => {
10074
10128
  if (e.target.composing)
@@ -10080,7 +10134,7 @@ Component that was made reactive: `,
10080
10134
  if (castToNumber) {
10081
10135
  domValue = looseToNumber(domValue);
10082
10136
  }
10083
- el._assign(domValue);
10137
+ el[assignKey](domValue);
10084
10138
  });
10085
10139
  if (trim) {
10086
10140
  addEventListener(el, "change", () => {
@@ -10098,7 +10152,7 @@ Component that was made reactive: `,
10098
10152
  el.value = value == null ? "" : value;
10099
10153
  },
10100
10154
  beforeUpdate(el, { value, modifiers: { lazy, trim, number } }, vnode) {
10101
- el._assign = getModelAssigner(vnode);
10155
+ el[assignKey] = getModelAssigner(vnode);
10102
10156
  if (el.composing)
10103
10157
  return;
10104
10158
  if (document.activeElement === el && el.type !== "range") {
@@ -10122,12 +10176,12 @@ Component that was made reactive: `,
10122
10176
  // #4096 array checkboxes need to be deep traversed
10123
10177
  deep: true,
10124
10178
  created(el, _, vnode) {
10125
- el._assign = getModelAssigner(vnode);
10179
+ el[assignKey] = getModelAssigner(vnode);
10126
10180
  addEventListener(el, "change", () => {
10127
10181
  const modelValue = el._modelValue;
10128
10182
  const elementValue = getValue(el);
10129
10183
  const checked = el.checked;
10130
- const assign = el._assign;
10184
+ const assign = el[assignKey];
10131
10185
  if (isArray(modelValue)) {
10132
10186
  const index = looseIndexOf(modelValue, elementValue);
10133
10187
  const found = index !== -1;
@@ -10154,7 +10208,7 @@ Component that was made reactive: `,
10154
10208
  // set initial checked on mount to wait for true-value/false-value
10155
10209
  mounted: setChecked,
10156
10210
  beforeUpdate(el, binding, vnode) {
10157
- el._assign = getModelAssigner(vnode);
10211
+ el[assignKey] = getModelAssigner(vnode);
10158
10212
  setChecked(el, binding, vnode);
10159
10213
  }
10160
10214
  };
@@ -10171,13 +10225,13 @@ Component that was made reactive: `,
10171
10225
  const vModelRadio = {
10172
10226
  created(el, { value }, vnode) {
10173
10227
  el.checked = looseEqual(value, vnode.props.value);
10174
- el._assign = getModelAssigner(vnode);
10228
+ el[assignKey] = getModelAssigner(vnode);
10175
10229
  addEventListener(el, "change", () => {
10176
- el._assign(getValue(el));
10230
+ el[assignKey](getValue(el));
10177
10231
  });
10178
10232
  },
10179
10233
  beforeUpdate(el, { value, oldValue }, vnode) {
10180
- el._assign = getModelAssigner(vnode);
10234
+ el[assignKey] = getModelAssigner(vnode);
10181
10235
  if (value !== oldValue) {
10182
10236
  el.checked = looseEqual(value, vnode.props.value);
10183
10237
  }
@@ -10192,11 +10246,11 @@ Component that was made reactive: `,
10192
10246
  const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map(
10193
10247
  (o) => number ? looseToNumber(getValue(o)) : getValue(o)
10194
10248
  );
10195
- el._assign(
10249
+ el[assignKey](
10196
10250
  el.multiple ? isSetModel ? new Set(selectedVal) : selectedVal : selectedVal[0]
10197
10251
  );
10198
10252
  });
10199
- el._assign = getModelAssigner(vnode);
10253
+ el[assignKey] = getModelAssigner(vnode);
10200
10254
  },
10201
10255
  // set value in mounted & updated because <select> relies on its children
10202
10256
  // <option>s.
@@ -10204,7 +10258,7 @@ Component that was made reactive: `,
10204
10258
  setSelected(el, value);
10205
10259
  },
10206
10260
  beforeUpdate(el, _binding, vnode) {
10207
- el._assign = getModelAssigner(vnode);
10261
+ el[assignKey] = getModelAssigner(vnode);
10208
10262
  },
10209
10263
  updated(el, { value }) {
10210
10264
  setSelected(el, value);
@@ -10331,45 +10385,6 @@ Component that was made reactive: `,
10331
10385
  };
10332
10386
  };
10333
10387
 
10334
- const vShow = {
10335
- beforeMount(el, { value }, { transition }) {
10336
- el._vod = el.style.display === "none" ? "" : el.style.display;
10337
- if (transition && value) {
10338
- transition.beforeEnter(el);
10339
- } else {
10340
- setDisplay(el, value);
10341
- }
10342
- },
10343
- mounted(el, { value }, { transition }) {
10344
- if (transition && value) {
10345
- transition.enter(el);
10346
- }
10347
- },
10348
- updated(el, { value, oldValue }, { transition }) {
10349
- if (!value === !oldValue)
10350
- return;
10351
- if (transition) {
10352
- if (value) {
10353
- transition.beforeEnter(el);
10354
- setDisplay(el, true);
10355
- transition.enter(el);
10356
- } else {
10357
- transition.leave(el, () => {
10358
- setDisplay(el, false);
10359
- });
10360
- }
10361
- } else {
10362
- setDisplay(el, value);
10363
- }
10364
- },
10365
- beforeUnmount(el, { value }) {
10366
- setDisplay(el, value);
10367
- }
10368
- };
10369
- function setDisplay(el, value) {
10370
- el.style.display = value ? el._vod : "none";
10371
- }
10372
-
10373
10388
  const rendererOptions = /* @__PURE__ */ extend({ patchProp }, nodeOps);
10374
10389
  let renderer;
10375
10390
  let enabledHydration = false;