@vue/runtime-dom 3.3.3 → 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.
@@ -34,7 +34,7 @@ const isString = (val) => typeof val === "string";
34
34
  const isSymbol = (val) => typeof val === "symbol";
35
35
  const isObject = (val) => val !== null && typeof val === "object";
36
36
  const isPromise = (val) => {
37
- return isObject(val) && isFunction(val.then) && isFunction(val.catch);
37
+ return (isObject(val) || isFunction(val)) && isFunction(val.then) && isFunction(val.catch);
38
38
  };
39
39
  const objectToString = Object.prototype.toString;
40
40
  const toTypeString = (value) => objectToString.call(value);
@@ -65,12 +65,13 @@ const hyphenateRE = /\B([A-Z])/g;
65
65
  const hyphenate = cacheStringFunction(
66
66
  (str) => str.replace(hyphenateRE, "-$1").toLowerCase()
67
67
  );
68
- const capitalize = cacheStringFunction(
69
- (str) => str.charAt(0).toUpperCase() + str.slice(1)
70
- );
71
- const toHandlerKey = cacheStringFunction(
72
- (str) => str ? `on${capitalize(str)}` : ``
73
- );
68
+ const capitalize = cacheStringFunction((str) => {
69
+ return str.charAt(0).toUpperCase() + str.slice(1);
70
+ });
71
+ const toHandlerKey = cacheStringFunction((str) => {
72
+ const s = str ? `on${capitalize(str)}` : ``;
73
+ return s;
74
+ });
74
75
  const hasChanged = (value, oldValue) => !Object.is(value, oldValue);
75
76
  const invokeArrayFns = (fns, arg) => {
76
77
  for (let i = 0; i < fns.length; i++) {
@@ -97,8 +98,8 @@ const getGlobalThis = () => {
97
98
  return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {});
98
99
  };
99
100
 
100
- 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";
101
- const isGloballyWhitelisted = /* @__PURE__ */ makeMap(GLOBALS_WHITE_LISTED);
101
+ 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";
102
+ const isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED);
102
103
 
103
104
  function normalizeStyle(value) {
104
105
  if (isArray(value)) {
@@ -113,9 +114,7 @@ function normalizeStyle(value) {
113
114
  }
114
115
  }
115
116
  return res;
116
- } else if (isString(value)) {
117
- return value;
118
- } else if (isObject(value)) {
117
+ } else if (isString(value) || isObject(value)) {
119
118
  return value;
120
119
  }
121
120
  }
@@ -462,7 +461,7 @@ function cleanupEffect(effect2) {
462
461
  }
463
462
  }
464
463
  function effect(fn, options) {
465
- if (fn.effect) {
464
+ if (fn.effect instanceof ReactiveEffect) {
466
465
  fn = fn.effect.fn;
467
466
  }
468
467
  const _effect = new ReactiveEffect(fn);
@@ -628,10 +627,6 @@ const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`
628
627
  const builtInSymbols = new Set(
629
628
  /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol)
630
629
  );
631
- const get$1 = /* @__PURE__ */ createGetter();
632
- const shallowGet = /* @__PURE__ */ createGetter(false, true);
633
- const readonlyGet = /* @__PURE__ */ createGetter(true);
634
- const shallowReadonlyGet = /* @__PURE__ */ createGetter(true, true);
635
630
  const arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations();
636
631
  function createArrayInstrumentations() {
637
632
  const instrumentations = {};
@@ -664,8 +659,13 @@ function hasOwnProperty(key) {
664
659
  track(obj, "has", key);
665
660
  return obj.hasOwnProperty(key);
666
661
  }
667
- function createGetter(isReadonly2 = false, shallow = false) {
668
- return function get2(target, key, receiver) {
662
+ class BaseReactiveHandler {
663
+ constructor(_isReadonly = false, _shallow = false) {
664
+ this._isReadonly = _isReadonly;
665
+ this._shallow = _shallow;
666
+ }
667
+ get(target, key, receiver) {
668
+ const isReadonly2 = this._isReadonly, shallow = this._shallow;
669
669
  if (key === "__v_isReactive") {
670
670
  return !isReadonly2;
671
671
  } else if (key === "__v_isReadonly") {
@@ -701,17 +701,18 @@ function createGetter(isReadonly2 = false, shallow = false) {
701
701
  return isReadonly2 ? readonly(res) : reactive(res);
702
702
  }
703
703
  return res;
704
- };
704
+ }
705
705
  }
706
- const set$1 = /* @__PURE__ */ createSetter();
707
- const shallowSet = /* @__PURE__ */ createSetter(true);
708
- function createSetter(shallow = false) {
709
- return function set2(target, key, value, receiver) {
706
+ class MutableReactiveHandler extends BaseReactiveHandler {
707
+ constructor(shallow = false) {
708
+ super(false, shallow);
709
+ }
710
+ set(target, key, value, receiver) {
710
711
  let oldValue = target[key];
711
712
  if (isReadonly(oldValue) && isRef(oldValue) && !isRef(value)) {
712
713
  return false;
713
714
  }
714
- if (!shallow) {
715
+ if (!this._shallow) {
715
716
  if (!isShallow(value) && !isReadonly(value)) {
716
717
  oldValue = toRaw(oldValue);
717
718
  value = toRaw(value);
@@ -731,37 +732,36 @@ function createSetter(shallow = false) {
731
732
  }
732
733
  }
733
734
  return result;
734
- };
735
- }
736
- function deleteProperty(target, key) {
737
- const hadKey = hasOwn(target, key);
738
- const oldValue = target[key];
739
- const result = Reflect.deleteProperty(target, key);
740
- if (result && hadKey) {
741
- trigger(target, "delete", key, void 0, oldValue);
742
735
  }
743
- return result;
744
- }
745
- function has$1(target, key) {
746
- const result = Reflect.has(target, key);
747
- if (!isSymbol(key) || !builtInSymbols.has(key)) {
748
- track(target, "has", key);
736
+ deleteProperty(target, key) {
737
+ const hadKey = hasOwn(target, key);
738
+ const oldValue = target[key];
739
+ const result = Reflect.deleteProperty(target, key);
740
+ if (result && hadKey) {
741
+ trigger(target, "delete", key, void 0, oldValue);
742
+ }
743
+ return result;
744
+ }
745
+ has(target, key) {
746
+ const result = Reflect.has(target, key);
747
+ if (!isSymbol(key) || !builtInSymbols.has(key)) {
748
+ track(target, "has", key);
749
+ }
750
+ return result;
751
+ }
752
+ ownKeys(target) {
753
+ track(
754
+ target,
755
+ "iterate",
756
+ isArray(target) ? "length" : ITERATE_KEY
757
+ );
758
+ return Reflect.ownKeys(target);
749
759
  }
750
- return result;
751
- }
752
- function ownKeys(target) {
753
- track(target, "iterate", isArray(target) ? "length" : ITERATE_KEY);
754
- return Reflect.ownKeys(target);
755
760
  }
756
- const mutableHandlers = {
757
- get: get$1,
758
- set: set$1,
759
- deleteProperty,
760
- has: has$1,
761
- ownKeys
762
- };
763
- const readonlyHandlers = {
764
- get: readonlyGet,
761
+ class ReadonlyReactiveHandler extends BaseReactiveHandler {
762
+ constructor(shallow = false) {
763
+ super(true, shallow);
764
+ }
765
765
  set(target, key) {
766
766
  {
767
767
  warn$1(
@@ -770,7 +770,7 @@ const readonlyHandlers = {
770
770
  );
771
771
  }
772
772
  return true;
773
- },
773
+ }
774
774
  deleteProperty(target, key) {
775
775
  {
776
776
  warn$1(
@@ -780,22 +780,13 @@ const readonlyHandlers = {
780
780
  }
781
781
  return true;
782
782
  }
783
- };
784
- const shallowReactiveHandlers = /* @__PURE__ */ extend(
785
- {},
786
- mutableHandlers,
787
- {
788
- get: shallowGet,
789
- set: shallowSet
790
- }
791
- );
792
- const shallowReadonlyHandlers = /* @__PURE__ */ extend(
793
- {},
794
- readonlyHandlers,
795
- {
796
- get: shallowReadonlyGet
797
- }
783
+ }
784
+ const mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler();
785
+ const readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler();
786
+ const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler(
787
+ true
798
788
  );
789
+ const shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true);
799
790
 
800
791
  const toShallow = (value) => value;
801
792
  const getProto = (v) => Reflect.getPrototypeOf(v);
@@ -804,7 +795,7 @@ function get(target, key, isReadonly = false, isShallow = false) {
804
795
  const rawTarget = toRaw(target);
805
796
  const rawKey = toRaw(key);
806
797
  if (!isReadonly) {
807
- if (key !== rawKey) {
798
+ if (hasChanged(key, rawKey)) {
808
799
  track(rawTarget, "get", key);
809
800
  }
810
801
  track(rawTarget, "get", rawKey);
@@ -824,7 +815,7 @@ function has(key, isReadonly = false) {
824
815
  const rawTarget = toRaw(target);
825
816
  const rawKey = toRaw(key);
826
817
  if (!isReadonly) {
827
- if (key !== rawKey) {
818
+ if (hasChanged(key, rawKey)) {
828
819
  track(rawTarget, "has", key);
829
820
  }
830
821
  track(rawTarget, "has", rawKey);
@@ -1354,11 +1345,7 @@ function toRef(source, key, defaultValue) {
1354
1345
  }
1355
1346
  function propertyToRef(source, key, defaultValue) {
1356
1347
  const val = source[key];
1357
- return isRef(val) ? val : new ObjectRefImpl(
1358
- source,
1359
- key,
1360
- defaultValue
1361
- );
1348
+ return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue);
1362
1349
  }
1363
1350
 
1364
1351
  class ComputedRefImpl {
@@ -3131,9 +3118,7 @@ function doWatch(source, cb, { immediate, deep, flush, onTrack, onTrigger } = EM
3131
3118
  }
3132
3119
  if (cb) {
3133
3120
  const newValue = effect.run();
3134
- if (deep || forceTrigger || (isMultiSource ? newValue.some(
3135
- (v, i) => hasChanged(v, oldValue[i])
3136
- ) : hasChanged(newValue, oldValue)) || false) {
3121
+ if (deep || forceTrigger || (isMultiSource ? newValue.some((v, i) => hasChanged(v, oldValue[i])) : hasChanged(newValue, oldValue)) || false) {
3137
3122
  if (cleanup) {
3138
3123
  cleanup();
3139
3124
  }
@@ -3304,6 +3289,8 @@ function invokeDirectiveHook(vnode, prevVNode, instance, name) {
3304
3289
  }
3305
3290
  }
3306
3291
 
3292
+ const leaveCbKey = Symbol("_leaveCb");
3293
+ const enterCbKey$1 = Symbol("_enterCb");
3307
3294
  function useTransitionState() {
3308
3295
  const state = {
3309
3296
  isMounted: false,
@@ -3424,9 +3411,9 @@ const BaseTransitionImpl = {
3424
3411
  oldInnerChild
3425
3412
  );
3426
3413
  leavingVNodesCache[String(oldInnerChild.key)] = oldInnerChild;
3427
- el._leaveCb = () => {
3414
+ el[leaveCbKey] = () => {
3428
3415
  earlyRemove();
3429
- el._leaveCb = void 0;
3416
+ el[leaveCbKey] = void 0;
3430
3417
  delete enterHooks.delayedLeave;
3431
3418
  };
3432
3419
  enterHooks.delayedLeave = delayedLeave;
@@ -3497,15 +3484,15 @@ function resolveTransitionHooks(vnode, props, state, instance) {
3497
3484
  return;
3498
3485
  }
3499
3486
  }
3500
- if (el._leaveCb) {
3501
- el._leaveCb(
3487
+ if (el[leaveCbKey]) {
3488
+ el[leaveCbKey](
3502
3489
  true
3503
3490
  /* cancelled */
3504
3491
  );
3505
3492
  }
3506
3493
  const leavingVNode = leavingVNodesCache[key];
3507
- if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el._leaveCb) {
3508
- leavingVNode.el._leaveCb();
3494
+ if (leavingVNode && isSameVNodeType(vnode, leavingVNode) && leavingVNode.el[leaveCbKey]) {
3495
+ leavingVNode.el[leaveCbKey]();
3509
3496
  }
3510
3497
  callHook(hook, [el]);
3511
3498
  },
@@ -3523,7 +3510,7 @@ function resolveTransitionHooks(vnode, props, state, instance) {
3523
3510
  }
3524
3511
  }
3525
3512
  let called = false;
3526
- const done = el._enterCb = (cancelled) => {
3513
+ const done = el[enterCbKey$1] = (cancelled) => {
3527
3514
  if (called)
3528
3515
  return;
3529
3516
  called = true;
@@ -3535,7 +3522,7 @@ function resolveTransitionHooks(vnode, props, state, instance) {
3535
3522
  if (hooks.delayedLeave) {
3536
3523
  hooks.delayedLeave();
3537
3524
  }
3538
- el._enterCb = void 0;
3525
+ el[enterCbKey$1] = void 0;
3539
3526
  };
3540
3527
  if (hook) {
3541
3528
  callAsyncHook(hook, [el, done]);
@@ -3545,8 +3532,8 @@ function resolveTransitionHooks(vnode, props, state, instance) {
3545
3532
  },
3546
3533
  leave(el, remove) {
3547
3534
  const key2 = String(vnode.key);
3548
- if (el._enterCb) {
3549
- el._enterCb(
3535
+ if (el[enterCbKey$1]) {
3536
+ el[enterCbKey$1](
3550
3537
  true
3551
3538
  /* cancelled */
3552
3539
  );
@@ -3556,7 +3543,7 @@ function resolveTransitionHooks(vnode, props, state, instance) {
3556
3543
  }
3557
3544
  callHook(onBeforeLeave, [el]);
3558
3545
  let called = false;
3559
- const done = el._leaveCb = (cancelled) => {
3546
+ const done = el[leaveCbKey] = (cancelled) => {
3560
3547
  if (called)
3561
3548
  return;
3562
3549
  called = true;
@@ -3566,7 +3553,7 @@ function resolveTransitionHooks(vnode, props, state, instance) {
3566
3553
  } else {
3567
3554
  callHook(onAfterLeave, [el]);
3568
3555
  }
3569
- el._leaveCb = void 0;
3556
+ el[leaveCbKey] = void 0;
3570
3557
  if (leavingVNodesCache[key2] === vnode) {
3571
3558
  delete leavingVNodesCache[key2];
3572
3559
  }
@@ -3628,6 +3615,8 @@ function getTransitionRawChildren(children, keepComment = false, parentKey) {
3628
3615
  return ret;
3629
3616
  }
3630
3617
 
3618
+ /*! #__NO_SIDE_EFFECTS__ */
3619
+ // @__NO_SIDE_EFFECTS__
3631
3620
  function defineComponent(options, extraOptions) {
3632
3621
  return isFunction(options) ? (
3633
3622
  // #8326: extend call and options.name access are considered side-effects
@@ -3637,6 +3626,8 @@ function defineComponent(options, extraOptions) {
3637
3626
  }
3638
3627
 
3639
3628
  const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
3629
+ /*! #__NO_SIDE_EFFECTS__ */
3630
+ // @__NO_SIDE_EFFECTS__
3640
3631
  function defineAsyncComponent(source) {
3641
3632
  if (isFunction(source)) {
3642
3633
  source = { loader: source };
@@ -4415,7 +4406,7 @@ const RuntimeCompiledPublicInstanceProxyHandlers = /* @__PURE__ */ extend(
4415
4406
  return PublicInstanceProxyHandlers.get(target, key, target);
4416
4407
  },
4417
4408
  has(_, key) {
4418
- const has = key[0] !== "_" && !isGloballyWhitelisted(key);
4409
+ const has = key[0] !== "_" && !isGloballyAllowed(key);
4419
4410
  if (!has && PublicInstanceProxyHandlers.has(_, key)) {
4420
4411
  warn(
4421
4412
  `Property ${JSON.stringify(
@@ -5091,7 +5082,7 @@ function createAppAPI(render, hydrate) {
5091
5082
  },
5092
5083
  set() {
5093
5084
  warn(
5094
- `app.config.unwrapInjectedRef has been deprecated. 3.3 now alawys unwraps injected refs in Options API.`
5085
+ `app.config.unwrapInjectedRef has been deprecated. 3.3 now always unwraps injected refs in Options API.`
5095
5086
  );
5096
5087
  }
5097
5088
  });
@@ -5178,10 +5169,7 @@ function createAppAPI(render, hydrate) {
5178
5169
  If you want to mount another app on the same host container, you need to unmount the previous app by calling \`app.unmount()\` first.`
5179
5170
  );
5180
5171
  }
5181
- const vnode = createVNode(
5182
- rootComponent,
5183
- rootProps
5184
- );
5172
+ const vnode = createVNode(rootComponent, rootProps);
5185
5173
  vnode.appContext = context;
5186
5174
  {
5187
5175
  context.reload = () => {
@@ -5927,8 +5915,10 @@ function createHydrationFunctions(rendererInternals) {
5927
5915
  hasMismatch = true;
5928
5916
  warn(
5929
5917
  `Hydration text mismatch:
5930
- - Client: ${JSON.stringify(node.data)}
5931
- - Server: ${JSON.stringify(vnode.children)}`
5918
+ - Server rendered: ${JSON.stringify(
5919
+ node.data
5920
+ )}
5921
+ - Client rendered: ${JSON.stringify(vnode.children)}`
5932
5922
  );
5933
5923
  node.data = vnode.children;
5934
5924
  }
@@ -6131,8 +6121,8 @@ function createHydrationFunctions(rendererInternals) {
6131
6121
  hasMismatch = true;
6132
6122
  warn(
6133
6123
  `Hydration text content mismatch in <${vnode.type}>:
6134
- - Client: ${el.textContent}
6135
- - Server: ${vnode.children}`
6124
+ - Server rendered: ${el.textContent}
6125
+ - Client rendered: ${vnode.children}`
6136
6126
  );
6137
6127
  el.textContent = vnode.children;
6138
6128
  }
@@ -7880,6 +7870,10 @@ const TeleportImpl = {
7880
7870
  internals,
7881
7871
  1
7882
7872
  );
7873
+ } else {
7874
+ if (n2.props && n1.props && n2.props.to !== n1.props.to) {
7875
+ n2.props.to = n1.props.to;
7876
+ }
7883
7877
  }
7884
7878
  } else {
7885
7879
  if ((n2.props && n2.props.to) !== (n1.props && n1.props.to)) {
@@ -8660,9 +8654,12 @@ function finishComponentSetup(instance, isSSR, skipOptions) {
8660
8654
  {
8661
8655
  setCurrentInstance(instance);
8662
8656
  pauseTracking();
8663
- applyOptions(instance);
8664
- resetTracking();
8665
- unsetCurrentInstance();
8657
+ try {
8658
+ applyOptions(instance);
8659
+ } finally {
8660
+ resetTracking();
8661
+ unsetCurrentInstance();
8662
+ }
8666
8663
  }
8667
8664
  if (!Component.render && instance.render === NOOP && !isSSR) {
8668
8665
  if (!compile && Component.template) {
@@ -9028,7 +9025,7 @@ function isMemoSame(cached, memo) {
9028
9025
  return true;
9029
9026
  }
9030
9027
 
9031
- const version = "3.3.3";
9028
+ const version = "3.3.5";
9032
9029
  const ssrUtils = null;
9033
9030
  const resolveFilter = null;
9034
9031
  const compatUtils = null;
@@ -9100,54 +9097,363 @@ const nodeOps = {
9100
9097
  }
9101
9098
  };
9102
9099
 
9103
- function patchClass(el, value, isSVG) {
9104
- const transitionClasses = el._vtc;
9105
- if (transitionClasses) {
9106
- value = (value ? [value, ...transitionClasses] : [...transitionClasses]).join(" ");
9100
+ const TRANSITION = "transition";
9101
+ const ANIMATION = "animation";
9102
+ const vtcKey = Symbol("_vtc");
9103
+ const Transition = (props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots);
9104
+ Transition.displayName = "Transition";
9105
+ const DOMTransitionPropsValidators = {
9106
+ name: String,
9107
+ type: String,
9108
+ css: {
9109
+ type: Boolean,
9110
+ default: true
9111
+ },
9112
+ duration: [String, Number, Object],
9113
+ enterFromClass: String,
9114
+ enterActiveClass: String,
9115
+ enterToClass: String,
9116
+ appearFromClass: String,
9117
+ appearActiveClass: String,
9118
+ appearToClass: String,
9119
+ leaveFromClass: String,
9120
+ leaveActiveClass: String,
9121
+ leaveToClass: String
9122
+ };
9123
+ const TransitionPropsValidators = Transition.props = /* @__PURE__ */ extend(
9124
+ {},
9125
+ BaseTransitionPropsValidators,
9126
+ DOMTransitionPropsValidators
9127
+ );
9128
+ const callHook = (hook, args = []) => {
9129
+ if (isArray(hook)) {
9130
+ hook.forEach((h2) => h2(...args));
9131
+ } else if (hook) {
9132
+ hook(...args);
9107
9133
  }
9108
- if (value == null) {
9109
- el.removeAttribute("class");
9110
- } else if (isSVG) {
9111
- el.setAttribute("class", value);
9112
- } else {
9113
- el.className = value;
9134
+ };
9135
+ const hasExplicitCallback = (hook) => {
9136
+ return hook ? isArray(hook) ? hook.some((h2) => h2.length > 1) : hook.length > 1 : false;
9137
+ };
9138
+ function resolveTransitionProps(rawProps) {
9139
+ const baseProps = {};
9140
+ for (const key in rawProps) {
9141
+ if (!(key in DOMTransitionPropsValidators)) {
9142
+ baseProps[key] = rawProps[key];
9143
+ }
9114
9144
  }
9115
- }
9116
-
9117
- function patchStyle(el, prev, next) {
9118
- const style = el.style;
9119
- const isCssString = isString(next);
9120
- if (next && !isCssString) {
9121
- if (prev && !isString(prev)) {
9122
- for (const key in prev) {
9123
- if (next[key] == null) {
9124
- setStyle(style, key, "");
9145
+ if (rawProps.css === false) {
9146
+ return baseProps;
9147
+ }
9148
+ const {
9149
+ name = "v",
9150
+ type,
9151
+ duration,
9152
+ enterFromClass = `${name}-enter-from`,
9153
+ enterActiveClass = `${name}-enter-active`,
9154
+ enterToClass = `${name}-enter-to`,
9155
+ appearFromClass = enterFromClass,
9156
+ appearActiveClass = enterActiveClass,
9157
+ appearToClass = enterToClass,
9158
+ leaveFromClass = `${name}-leave-from`,
9159
+ leaveActiveClass = `${name}-leave-active`,
9160
+ leaveToClass = `${name}-leave-to`
9161
+ } = rawProps;
9162
+ const durations = normalizeDuration(duration);
9163
+ const enterDuration = durations && durations[0];
9164
+ const leaveDuration = durations && durations[1];
9165
+ const {
9166
+ onBeforeEnter,
9167
+ onEnter,
9168
+ onEnterCancelled,
9169
+ onLeave,
9170
+ onLeaveCancelled,
9171
+ onBeforeAppear = onBeforeEnter,
9172
+ onAppear = onEnter,
9173
+ onAppearCancelled = onEnterCancelled
9174
+ } = baseProps;
9175
+ const finishEnter = (el, isAppear, done) => {
9176
+ removeTransitionClass(el, isAppear ? appearToClass : enterToClass);
9177
+ removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass);
9178
+ done && done();
9179
+ };
9180
+ const finishLeave = (el, done) => {
9181
+ el._isLeaving = false;
9182
+ removeTransitionClass(el, leaveFromClass);
9183
+ removeTransitionClass(el, leaveToClass);
9184
+ removeTransitionClass(el, leaveActiveClass);
9185
+ done && done();
9186
+ };
9187
+ const makeEnterHook = (isAppear) => {
9188
+ return (el, done) => {
9189
+ const hook = isAppear ? onAppear : onEnter;
9190
+ const resolve = () => finishEnter(el, isAppear, done);
9191
+ callHook(hook, [el, resolve]);
9192
+ nextFrame(() => {
9193
+ removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass);
9194
+ addTransitionClass(el, isAppear ? appearToClass : enterToClass);
9195
+ if (!hasExplicitCallback(hook)) {
9196
+ whenTransitionEnds(el, type, enterDuration, resolve);
9125
9197
  }
9126
- }
9127
- }
9128
- for (const key in next) {
9129
- setStyle(style, key, next[key]);
9198
+ });
9199
+ };
9200
+ };
9201
+ return extend(baseProps, {
9202
+ onBeforeEnter(el) {
9203
+ callHook(onBeforeEnter, [el]);
9204
+ addTransitionClass(el, enterFromClass);
9205
+ addTransitionClass(el, enterActiveClass);
9206
+ },
9207
+ onBeforeAppear(el) {
9208
+ callHook(onBeforeAppear, [el]);
9209
+ addTransitionClass(el, appearFromClass);
9210
+ addTransitionClass(el, appearActiveClass);
9211
+ },
9212
+ onEnter: makeEnterHook(false),
9213
+ onAppear: makeEnterHook(true),
9214
+ onLeave(el, done) {
9215
+ el._isLeaving = true;
9216
+ const resolve = () => finishLeave(el, done);
9217
+ addTransitionClass(el, leaveFromClass);
9218
+ forceReflow();
9219
+ addTransitionClass(el, leaveActiveClass);
9220
+ nextFrame(() => {
9221
+ if (!el._isLeaving) {
9222
+ return;
9223
+ }
9224
+ removeTransitionClass(el, leaveFromClass);
9225
+ addTransitionClass(el, leaveToClass);
9226
+ if (!hasExplicitCallback(onLeave)) {
9227
+ whenTransitionEnds(el, type, leaveDuration, resolve);
9228
+ }
9229
+ });
9230
+ callHook(onLeave, [el, resolve]);
9231
+ },
9232
+ onEnterCancelled(el) {
9233
+ finishEnter(el, false);
9234
+ callHook(onEnterCancelled, [el]);
9235
+ },
9236
+ onAppearCancelled(el) {
9237
+ finishEnter(el, true);
9238
+ callHook(onAppearCancelled, [el]);
9239
+ },
9240
+ onLeaveCancelled(el) {
9241
+ finishLeave(el);
9242
+ callHook(onLeaveCancelled, [el]);
9130
9243
  }
9244
+ });
9245
+ }
9246
+ function normalizeDuration(duration) {
9247
+ if (duration == null) {
9248
+ return null;
9249
+ } else if (isObject(duration)) {
9250
+ return [NumberOf(duration.enter), NumberOf(duration.leave)];
9131
9251
  } else {
9132
- const currentDisplay = style.display;
9133
- if (isCssString) {
9134
- if (prev !== next) {
9135
- style.cssText = next;
9136
- }
9137
- } else if (prev) {
9138
- el.removeAttribute("style");
9139
- }
9140
- if ("_vod" in el) {
9141
- style.display = currentDisplay;
9252
+ const n = NumberOf(duration);
9253
+ return [n, n];
9254
+ }
9255
+ }
9256
+ function NumberOf(val) {
9257
+ const res = toNumber(val);
9258
+ {
9259
+ assertNumber(res, "<transition> explicit duration");
9260
+ }
9261
+ return res;
9262
+ }
9263
+ function addTransitionClass(el, cls) {
9264
+ cls.split(/\s+/).forEach((c) => c && el.classList.add(c));
9265
+ (el[vtcKey] || (el[vtcKey] = /* @__PURE__ */ new Set())).add(cls);
9266
+ }
9267
+ function removeTransitionClass(el, cls) {
9268
+ cls.split(/\s+/).forEach((c) => c && el.classList.remove(c));
9269
+ const _vtc = el[vtcKey];
9270
+ if (_vtc) {
9271
+ _vtc.delete(cls);
9272
+ if (!_vtc.size) {
9273
+ el[vtcKey] = void 0;
9142
9274
  }
9143
9275
  }
9144
9276
  }
9145
- const semicolonRE = /[^\\];\s*$/;
9146
- const importantRE = /\s*!important$/;
9147
- function setStyle(style, name, val) {
9148
- if (isArray(val)) {
9149
- val.forEach((v) => setStyle(style, name, v));
9150
- } else {
9277
+ function nextFrame(cb) {
9278
+ requestAnimationFrame(() => {
9279
+ requestAnimationFrame(cb);
9280
+ });
9281
+ }
9282
+ let endId = 0;
9283
+ function whenTransitionEnds(el, expectedType, explicitTimeout, resolve) {
9284
+ const id = el._endId = ++endId;
9285
+ const resolveIfNotStale = () => {
9286
+ if (id === el._endId) {
9287
+ resolve();
9288
+ }
9289
+ };
9290
+ if (explicitTimeout) {
9291
+ return setTimeout(resolveIfNotStale, explicitTimeout);
9292
+ }
9293
+ const { type, timeout, propCount } = getTransitionInfo(el, expectedType);
9294
+ if (!type) {
9295
+ return resolve();
9296
+ }
9297
+ const endEvent = type + "end";
9298
+ let ended = 0;
9299
+ const end = () => {
9300
+ el.removeEventListener(endEvent, onEnd);
9301
+ resolveIfNotStale();
9302
+ };
9303
+ const onEnd = (e) => {
9304
+ if (e.target === el && ++ended >= propCount) {
9305
+ end();
9306
+ }
9307
+ };
9308
+ setTimeout(() => {
9309
+ if (ended < propCount) {
9310
+ end();
9311
+ }
9312
+ }, timeout + 1);
9313
+ el.addEventListener(endEvent, onEnd);
9314
+ }
9315
+ function getTransitionInfo(el, expectedType) {
9316
+ const styles = window.getComputedStyle(el);
9317
+ const getStyleProperties = (key) => (styles[key] || "").split(", ");
9318
+ const transitionDelays = getStyleProperties(`${TRANSITION}Delay`);
9319
+ const transitionDurations = getStyleProperties(`${TRANSITION}Duration`);
9320
+ const transitionTimeout = getTimeout(transitionDelays, transitionDurations);
9321
+ const animationDelays = getStyleProperties(`${ANIMATION}Delay`);
9322
+ const animationDurations = getStyleProperties(`${ANIMATION}Duration`);
9323
+ const animationTimeout = getTimeout(animationDelays, animationDurations);
9324
+ let type = null;
9325
+ let timeout = 0;
9326
+ let propCount = 0;
9327
+ if (expectedType === TRANSITION) {
9328
+ if (transitionTimeout > 0) {
9329
+ type = TRANSITION;
9330
+ timeout = transitionTimeout;
9331
+ propCount = transitionDurations.length;
9332
+ }
9333
+ } else if (expectedType === ANIMATION) {
9334
+ if (animationTimeout > 0) {
9335
+ type = ANIMATION;
9336
+ timeout = animationTimeout;
9337
+ propCount = animationDurations.length;
9338
+ }
9339
+ } else {
9340
+ timeout = Math.max(transitionTimeout, animationTimeout);
9341
+ type = timeout > 0 ? transitionTimeout > animationTimeout ? TRANSITION : ANIMATION : null;
9342
+ propCount = type ? type === TRANSITION ? transitionDurations.length : animationDurations.length : 0;
9343
+ }
9344
+ const hasTransform = type === TRANSITION && /\b(transform|all)(,|$)/.test(
9345
+ getStyleProperties(`${TRANSITION}Property`).toString()
9346
+ );
9347
+ return {
9348
+ type,
9349
+ timeout,
9350
+ propCount,
9351
+ hasTransform
9352
+ };
9353
+ }
9354
+ function getTimeout(delays, durations) {
9355
+ while (delays.length < durations.length) {
9356
+ delays = delays.concat(delays);
9357
+ }
9358
+ return Math.max(...durations.map((d, i) => toMs(d) + toMs(delays[i])));
9359
+ }
9360
+ function toMs(s) {
9361
+ if (s === "auto")
9362
+ return 0;
9363
+ return Number(s.slice(0, -1).replace(",", ".")) * 1e3;
9364
+ }
9365
+ function forceReflow() {
9366
+ return document.body.offsetHeight;
9367
+ }
9368
+
9369
+ function patchClass(el, value, isSVG) {
9370
+ const transitionClasses = el[vtcKey];
9371
+ if (transitionClasses) {
9372
+ value = (value ? [value, ...transitionClasses] : [...transitionClasses]).join(" ");
9373
+ }
9374
+ if (value == null) {
9375
+ el.removeAttribute("class");
9376
+ } else if (isSVG) {
9377
+ el.setAttribute("class", value);
9378
+ } else {
9379
+ el.className = value;
9380
+ }
9381
+ }
9382
+
9383
+ const vShowOldKey = Symbol("_vod");
9384
+ const vShow = {
9385
+ beforeMount(el, { value }, { transition }) {
9386
+ el[vShowOldKey] = el.style.display === "none" ? "" : el.style.display;
9387
+ if (transition && value) {
9388
+ transition.beforeEnter(el);
9389
+ } else {
9390
+ setDisplay(el, value);
9391
+ }
9392
+ },
9393
+ mounted(el, { value }, { transition }) {
9394
+ if (transition && value) {
9395
+ transition.enter(el);
9396
+ }
9397
+ },
9398
+ updated(el, { value, oldValue }, { transition }) {
9399
+ if (!value === !oldValue)
9400
+ return;
9401
+ if (transition) {
9402
+ if (value) {
9403
+ transition.beforeEnter(el);
9404
+ setDisplay(el, true);
9405
+ transition.enter(el);
9406
+ } else {
9407
+ transition.leave(el, () => {
9408
+ setDisplay(el, false);
9409
+ });
9410
+ }
9411
+ } else {
9412
+ setDisplay(el, value);
9413
+ }
9414
+ },
9415
+ beforeUnmount(el, { value }) {
9416
+ setDisplay(el, value);
9417
+ }
9418
+ };
9419
+ function setDisplay(el, value) {
9420
+ el.style.display = value ? el[vShowOldKey] : "none";
9421
+ }
9422
+
9423
+ function patchStyle(el, prev, next) {
9424
+ const style = el.style;
9425
+ const isCssString = isString(next);
9426
+ if (next && !isCssString) {
9427
+ if (prev && !isString(prev)) {
9428
+ for (const key in prev) {
9429
+ if (next[key] == null) {
9430
+ setStyle(style, key, "");
9431
+ }
9432
+ }
9433
+ }
9434
+ for (const key in next) {
9435
+ setStyle(style, key, next[key]);
9436
+ }
9437
+ } else {
9438
+ const currentDisplay = style.display;
9439
+ if (isCssString) {
9440
+ if (prev !== next) {
9441
+ style.cssText = next;
9442
+ }
9443
+ } else if (prev) {
9444
+ el.removeAttribute("style");
9445
+ }
9446
+ if (vShowOldKey in el) {
9447
+ style.display = currentDisplay;
9448
+ }
9449
+ }
9450
+ }
9451
+ const semicolonRE = /[^\\];\s*$/;
9452
+ const importantRE = /\s*!important$/;
9453
+ function setStyle(style, name, val) {
9454
+ if (isArray(val)) {
9455
+ val.forEach((v) => setStyle(style, name, v));
9456
+ } else {
9151
9457
  if (val == null)
9152
9458
  val = "";
9153
9459
  {
@@ -9266,8 +9572,9 @@ function addEventListener(el, event, handler, options) {
9266
9572
  function removeEventListener(el, event, handler, options) {
9267
9573
  el.removeEventListener(event, handler, options);
9268
9574
  }
9575
+ const veiKey = Symbol("_vei");
9269
9576
  function patchEvent(el, rawName, prevValue, nextValue, instance = null) {
9270
- const invokers = el._vei || (el._vei = {});
9577
+ const invokers = el[veiKey] || (el[veiKey] = {});
9271
9578
  const existingInvoker = invokers[rawName];
9272
9579
  if (nextValue && existingInvoker) {
9273
9580
  existingInvoker.value = nextValue;
@@ -9387,6 +9694,8 @@ function shouldSetAsProp(el, key, value, isSVG) {
9387
9694
  return key in el;
9388
9695
  }
9389
9696
 
9697
+ /*! #__NO_SIDE_EFFECTS__ */
9698
+ // @__NO_SIDE_EFFECTS__
9390
9699
  function defineCustomElement(options, hydrate2) {
9391
9700
  const Comp = defineComponent(options);
9392
9701
  class VueCustomElement extends VueElement {
@@ -9397,8 +9706,9 @@ function defineCustomElement(options, hydrate2) {
9397
9706
  VueCustomElement.def = Comp;
9398
9707
  return VueCustomElement;
9399
9708
  }
9400
- const defineSSRCustomElement = (options) => {
9401
- return defineCustomElement(options, hydrate);
9709
+ /*! #__NO_SIDE_EFFECTS__ */
9710
+ const defineSSRCustomElement = /* @__NO_SIDE_EFFECTS__ */ (options) => {
9711
+ return /* @__PURE__ */ defineCustomElement(options, hydrate);
9402
9712
  };
9403
9713
  const BaseClass = typeof HTMLElement !== "undefined" ? HTMLElement : class {
9404
9714
  };
@@ -9414,6 +9724,7 @@ class VueElement extends BaseClass {
9414
9724
  this._connected = false;
9415
9725
  this._resolved = false;
9416
9726
  this._numberProps = null;
9727
+ this._ob = null;
9417
9728
  if (this.shadowRoot && hydrate2) {
9418
9729
  hydrate2(this._createVNode(), this.shadowRoot);
9419
9730
  } else {
@@ -9440,6 +9751,10 @@ class VueElement extends BaseClass {
9440
9751
  }
9441
9752
  disconnectedCallback() {
9442
9753
  this._connected = false;
9754
+ if (this._ob) {
9755
+ this._ob.disconnect();
9756
+ this._ob = null;
9757
+ }
9443
9758
  nextTick(() => {
9444
9759
  if (!this._connected) {
9445
9760
  render(null, this.shadowRoot);
@@ -9455,11 +9770,12 @@ class VueElement extends BaseClass {
9455
9770
  for (let i = 0; i < this.attributes.length; i++) {
9456
9771
  this._setAttr(this.attributes[i].name);
9457
9772
  }
9458
- new MutationObserver((mutations) => {
9773
+ this._ob = new MutationObserver((mutations) => {
9459
9774
  for (const m of mutations) {
9460
9775
  this._setAttr(m.attributeName);
9461
9776
  }
9462
- }).observe(this, { attributes: true });
9777
+ });
9778
+ this._ob.observe(this, { attributes: true });
9463
9779
  const resolve = (def, isAsync = false) => {
9464
9780
  const { props, styles } = def;
9465
9781
  let numberProps;
@@ -9680,274 +9996,10 @@ function setVarsOnNode(el, vars) {
9680
9996
  }
9681
9997
  }
9682
9998
 
9683
- const TRANSITION = "transition";
9684
- const ANIMATION = "animation";
9685
- const Transition = (props, { slots }) => h(BaseTransition, resolveTransitionProps(props), slots);
9686
- Transition.displayName = "Transition";
9687
- const DOMTransitionPropsValidators = {
9688
- name: String,
9689
- type: String,
9690
- css: {
9691
- type: Boolean,
9692
- default: true
9693
- },
9694
- duration: [String, Number, Object],
9695
- enterFromClass: String,
9696
- enterActiveClass: String,
9697
- enterToClass: String,
9698
- appearFromClass: String,
9699
- appearActiveClass: String,
9700
- appearToClass: String,
9701
- leaveFromClass: String,
9702
- leaveActiveClass: String,
9703
- leaveToClass: String
9704
- };
9705
- const TransitionPropsValidators = Transition.props = /* @__PURE__ */ extend(
9706
- {},
9707
- BaseTransitionPropsValidators,
9708
- DOMTransitionPropsValidators
9709
- );
9710
- const callHook = (hook, args = []) => {
9711
- if (isArray(hook)) {
9712
- hook.forEach((h2) => h2(...args));
9713
- } else if (hook) {
9714
- hook(...args);
9715
- }
9716
- };
9717
- const hasExplicitCallback = (hook) => {
9718
- return hook ? isArray(hook) ? hook.some((h2) => h2.length > 1) : hook.length > 1 : false;
9719
- };
9720
- function resolveTransitionProps(rawProps) {
9721
- const baseProps = {};
9722
- for (const key in rawProps) {
9723
- if (!(key in DOMTransitionPropsValidators)) {
9724
- baseProps[key] = rawProps[key];
9725
- }
9726
- }
9727
- if (rawProps.css === false) {
9728
- return baseProps;
9729
- }
9730
- const {
9731
- name = "v",
9732
- type,
9733
- duration,
9734
- enterFromClass = `${name}-enter-from`,
9735
- enterActiveClass = `${name}-enter-active`,
9736
- enterToClass = `${name}-enter-to`,
9737
- appearFromClass = enterFromClass,
9738
- appearActiveClass = enterActiveClass,
9739
- appearToClass = enterToClass,
9740
- leaveFromClass = `${name}-leave-from`,
9741
- leaveActiveClass = `${name}-leave-active`,
9742
- leaveToClass = `${name}-leave-to`
9743
- } = rawProps;
9744
- const durations = normalizeDuration(duration);
9745
- const enterDuration = durations && durations[0];
9746
- const leaveDuration = durations && durations[1];
9747
- const {
9748
- onBeforeEnter,
9749
- onEnter,
9750
- onEnterCancelled,
9751
- onLeave,
9752
- onLeaveCancelled,
9753
- onBeforeAppear = onBeforeEnter,
9754
- onAppear = onEnter,
9755
- onAppearCancelled = onEnterCancelled
9756
- } = baseProps;
9757
- const finishEnter = (el, isAppear, done) => {
9758
- removeTransitionClass(el, isAppear ? appearToClass : enterToClass);
9759
- removeTransitionClass(el, isAppear ? appearActiveClass : enterActiveClass);
9760
- done && done();
9761
- };
9762
- const finishLeave = (el, done) => {
9763
- el._isLeaving = false;
9764
- removeTransitionClass(el, leaveFromClass);
9765
- removeTransitionClass(el, leaveToClass);
9766
- removeTransitionClass(el, leaveActiveClass);
9767
- done && done();
9768
- };
9769
- const makeEnterHook = (isAppear) => {
9770
- return (el, done) => {
9771
- const hook = isAppear ? onAppear : onEnter;
9772
- const resolve = () => finishEnter(el, isAppear, done);
9773
- callHook(hook, [el, resolve]);
9774
- nextFrame(() => {
9775
- removeTransitionClass(el, isAppear ? appearFromClass : enterFromClass);
9776
- addTransitionClass(el, isAppear ? appearToClass : enterToClass);
9777
- if (!hasExplicitCallback(hook)) {
9778
- whenTransitionEnds(el, type, enterDuration, resolve);
9779
- }
9780
- });
9781
- };
9782
- };
9783
- return extend(baseProps, {
9784
- onBeforeEnter(el) {
9785
- callHook(onBeforeEnter, [el]);
9786
- addTransitionClass(el, enterFromClass);
9787
- addTransitionClass(el, enterActiveClass);
9788
- },
9789
- onBeforeAppear(el) {
9790
- callHook(onBeforeAppear, [el]);
9791
- addTransitionClass(el, appearFromClass);
9792
- addTransitionClass(el, appearActiveClass);
9793
- },
9794
- onEnter: makeEnterHook(false),
9795
- onAppear: makeEnterHook(true),
9796
- onLeave(el, done) {
9797
- el._isLeaving = true;
9798
- const resolve = () => finishLeave(el, done);
9799
- addTransitionClass(el, leaveFromClass);
9800
- forceReflow();
9801
- addTransitionClass(el, leaveActiveClass);
9802
- nextFrame(() => {
9803
- if (!el._isLeaving) {
9804
- return;
9805
- }
9806
- removeTransitionClass(el, leaveFromClass);
9807
- addTransitionClass(el, leaveToClass);
9808
- if (!hasExplicitCallback(onLeave)) {
9809
- whenTransitionEnds(el, type, leaveDuration, resolve);
9810
- }
9811
- });
9812
- callHook(onLeave, [el, resolve]);
9813
- },
9814
- onEnterCancelled(el) {
9815
- finishEnter(el, false);
9816
- callHook(onEnterCancelled, [el]);
9817
- },
9818
- onAppearCancelled(el) {
9819
- finishEnter(el, true);
9820
- callHook(onAppearCancelled, [el]);
9821
- },
9822
- onLeaveCancelled(el) {
9823
- finishLeave(el);
9824
- callHook(onLeaveCancelled, [el]);
9825
- }
9826
- });
9827
- }
9828
- function normalizeDuration(duration) {
9829
- if (duration == null) {
9830
- return null;
9831
- } else if (isObject(duration)) {
9832
- return [NumberOf(duration.enter), NumberOf(duration.leave)];
9833
- } else {
9834
- const n = NumberOf(duration);
9835
- return [n, n];
9836
- }
9837
- }
9838
- function NumberOf(val) {
9839
- const res = toNumber(val);
9840
- {
9841
- assertNumber(res, "<transition> explicit duration");
9842
- }
9843
- return res;
9844
- }
9845
- function addTransitionClass(el, cls) {
9846
- cls.split(/\s+/).forEach((c) => c && el.classList.add(c));
9847
- (el._vtc || (el._vtc = /* @__PURE__ */ new Set())).add(cls);
9848
- }
9849
- function removeTransitionClass(el, cls) {
9850
- cls.split(/\s+/).forEach((c) => c && el.classList.remove(c));
9851
- const { _vtc } = el;
9852
- if (_vtc) {
9853
- _vtc.delete(cls);
9854
- if (!_vtc.size) {
9855
- el._vtc = void 0;
9856
- }
9857
- }
9858
- }
9859
- function nextFrame(cb) {
9860
- requestAnimationFrame(() => {
9861
- requestAnimationFrame(cb);
9862
- });
9863
- }
9864
- let endId = 0;
9865
- function whenTransitionEnds(el, expectedType, explicitTimeout, resolve) {
9866
- const id = el._endId = ++endId;
9867
- const resolveIfNotStale = () => {
9868
- if (id === el._endId) {
9869
- resolve();
9870
- }
9871
- };
9872
- if (explicitTimeout) {
9873
- return setTimeout(resolveIfNotStale, explicitTimeout);
9874
- }
9875
- const { type, timeout, propCount } = getTransitionInfo(el, expectedType);
9876
- if (!type) {
9877
- return resolve();
9878
- }
9879
- const endEvent = type + "end";
9880
- let ended = 0;
9881
- const end = () => {
9882
- el.removeEventListener(endEvent, onEnd);
9883
- resolveIfNotStale();
9884
- };
9885
- const onEnd = (e) => {
9886
- if (e.target === el && ++ended >= propCount) {
9887
- end();
9888
- }
9889
- };
9890
- setTimeout(() => {
9891
- if (ended < propCount) {
9892
- end();
9893
- }
9894
- }, timeout + 1);
9895
- el.addEventListener(endEvent, onEnd);
9896
- }
9897
- function getTransitionInfo(el, expectedType) {
9898
- const styles = window.getComputedStyle(el);
9899
- const getStyleProperties = (key) => (styles[key] || "").split(", ");
9900
- const transitionDelays = getStyleProperties(`${TRANSITION}Delay`);
9901
- const transitionDurations = getStyleProperties(`${TRANSITION}Duration`);
9902
- const transitionTimeout = getTimeout(transitionDelays, transitionDurations);
9903
- const animationDelays = getStyleProperties(`${ANIMATION}Delay`);
9904
- const animationDurations = getStyleProperties(`${ANIMATION}Duration`);
9905
- const animationTimeout = getTimeout(animationDelays, animationDurations);
9906
- let type = null;
9907
- let timeout = 0;
9908
- let propCount = 0;
9909
- if (expectedType === TRANSITION) {
9910
- if (transitionTimeout > 0) {
9911
- type = TRANSITION;
9912
- timeout = transitionTimeout;
9913
- propCount = transitionDurations.length;
9914
- }
9915
- } else if (expectedType === ANIMATION) {
9916
- if (animationTimeout > 0) {
9917
- type = ANIMATION;
9918
- timeout = animationTimeout;
9919
- propCount = animationDurations.length;
9920
- }
9921
- } else {
9922
- timeout = Math.max(transitionTimeout, animationTimeout);
9923
- type = timeout > 0 ? transitionTimeout > animationTimeout ? TRANSITION : ANIMATION : null;
9924
- propCount = type ? type === TRANSITION ? transitionDurations.length : animationDurations.length : 0;
9925
- }
9926
- const hasTransform = type === TRANSITION && /\b(transform|all)(,|$)/.test(
9927
- getStyleProperties(`${TRANSITION}Property`).toString()
9928
- );
9929
- return {
9930
- type,
9931
- timeout,
9932
- propCount,
9933
- hasTransform
9934
- };
9935
- }
9936
- function getTimeout(delays, durations) {
9937
- while (delays.length < durations.length) {
9938
- delays = delays.concat(delays);
9939
- }
9940
- return Math.max(...durations.map((d, i) => toMs(d) + toMs(delays[i])));
9941
- }
9942
- function toMs(s) {
9943
- return Number(s.slice(0, -1).replace(",", ".")) * 1e3;
9944
- }
9945
- function forceReflow() {
9946
- return document.body.offsetHeight;
9947
- }
9948
-
9949
9999
  const positionMap = /* @__PURE__ */ new WeakMap();
9950
10000
  const newPositionMap = /* @__PURE__ */ new WeakMap();
10001
+ const moveCbKey = Symbol("_moveCb");
10002
+ const enterCbKey = Symbol("_enterCb");
9951
10003
  const TransitionGroupImpl = {
9952
10004
  name: "TransitionGroup",
9953
10005
  props: /* @__PURE__ */ extend({}, TransitionPropsValidators, {
@@ -9980,13 +10032,13 @@ const TransitionGroupImpl = {
9980
10032
  const style = el.style;
9981
10033
  addTransitionClass(el, moveClass);
9982
10034
  style.transform = style.webkitTransform = style.transitionDuration = "";
9983
- const cb = el._moveCb = (e) => {
10035
+ const cb = el[moveCbKey] = (e) => {
9984
10036
  if (e && e.target !== el) {
9985
10037
  return;
9986
10038
  }
9987
10039
  if (!e || /transform$/.test(e.propertyName)) {
9988
10040
  el.removeEventListener("transitionend", cb);
9989
- el._moveCb = null;
10041
+ el[moveCbKey] = null;
9990
10042
  removeTransitionClass(el, moveClass);
9991
10043
  }
9992
10044
  };
@@ -10029,11 +10081,11 @@ const removeMode = (props) => delete props.mode;
10029
10081
  const TransitionGroup = TransitionGroupImpl;
10030
10082
  function callPendingCbs(c) {
10031
10083
  const el = c.el;
10032
- if (el._moveCb) {
10033
- el._moveCb();
10084
+ if (el[moveCbKey]) {
10085
+ el[moveCbKey]();
10034
10086
  }
10035
- if (el._enterCb) {
10036
- el._enterCb();
10087
+ if (el[enterCbKey]) {
10088
+ el[enterCbKey]();
10037
10089
  }
10038
10090
  }
10039
10091
  function recordPosition(c) {
@@ -10053,8 +10105,9 @@ function applyTranslation(c) {
10053
10105
  }
10054
10106
  function hasCSSTransform(el, root, moveClass) {
10055
10107
  const clone = el.cloneNode();
10056
- if (el._vtc) {
10057
- el._vtc.forEach((cls) => {
10108
+ const _vtc = el[vtcKey];
10109
+ if (_vtc) {
10110
+ _vtc.forEach((cls) => {
10058
10111
  cls.split(/\s+/).forEach((c) => c && clone.classList.remove(c));
10059
10112
  });
10060
10113
  }
@@ -10081,9 +10134,10 @@ function onCompositionEnd(e) {
10081
10134
  target.dispatchEvent(new Event("input"));
10082
10135
  }
10083
10136
  }
10137
+ const assignKey = Symbol("_assign");
10084
10138
  const vModelText = {
10085
10139
  created(el, { modifiers: { lazy, trim, number } }, vnode) {
10086
- el._assign = getModelAssigner(vnode);
10140
+ el[assignKey] = getModelAssigner(vnode);
10087
10141
  const castToNumber = number || vnode.props && vnode.props.type === "number";
10088
10142
  addEventListener(el, lazy ? "change" : "input", (e) => {
10089
10143
  if (e.target.composing)
@@ -10095,7 +10149,7 @@ const vModelText = {
10095
10149
  if (castToNumber) {
10096
10150
  domValue = looseToNumber(domValue);
10097
10151
  }
10098
- el._assign(domValue);
10152
+ el[assignKey](domValue);
10099
10153
  });
10100
10154
  if (trim) {
10101
10155
  addEventListener(el, "change", () => {
@@ -10113,7 +10167,7 @@ const vModelText = {
10113
10167
  el.value = value == null ? "" : value;
10114
10168
  },
10115
10169
  beforeUpdate(el, { value, modifiers: { lazy, trim, number } }, vnode) {
10116
- el._assign = getModelAssigner(vnode);
10170
+ el[assignKey] = getModelAssigner(vnode);
10117
10171
  if (el.composing)
10118
10172
  return;
10119
10173
  if (document.activeElement === el && el.type !== "range") {
@@ -10137,12 +10191,12 @@ const vModelCheckbox = {
10137
10191
  // #4096 array checkboxes need to be deep traversed
10138
10192
  deep: true,
10139
10193
  created(el, _, vnode) {
10140
- el._assign = getModelAssigner(vnode);
10194
+ el[assignKey] = getModelAssigner(vnode);
10141
10195
  addEventListener(el, "change", () => {
10142
10196
  const modelValue = el._modelValue;
10143
10197
  const elementValue = getValue(el);
10144
10198
  const checked = el.checked;
10145
- const assign = el._assign;
10199
+ const assign = el[assignKey];
10146
10200
  if (isArray(modelValue)) {
10147
10201
  const index = looseIndexOf(modelValue, elementValue);
10148
10202
  const found = index !== -1;
@@ -10169,7 +10223,7 @@ const vModelCheckbox = {
10169
10223
  // set initial checked on mount to wait for true-value/false-value
10170
10224
  mounted: setChecked,
10171
10225
  beforeUpdate(el, binding, vnode) {
10172
- el._assign = getModelAssigner(vnode);
10226
+ el[assignKey] = getModelAssigner(vnode);
10173
10227
  setChecked(el, binding, vnode);
10174
10228
  }
10175
10229
  };
@@ -10186,13 +10240,13 @@ function setChecked(el, { value, oldValue }, vnode) {
10186
10240
  const vModelRadio = {
10187
10241
  created(el, { value }, vnode) {
10188
10242
  el.checked = looseEqual(value, vnode.props.value);
10189
- el._assign = getModelAssigner(vnode);
10243
+ el[assignKey] = getModelAssigner(vnode);
10190
10244
  addEventListener(el, "change", () => {
10191
- el._assign(getValue(el));
10245
+ el[assignKey](getValue(el));
10192
10246
  });
10193
10247
  },
10194
10248
  beforeUpdate(el, { value, oldValue }, vnode) {
10195
- el._assign = getModelAssigner(vnode);
10249
+ el[assignKey] = getModelAssigner(vnode);
10196
10250
  if (value !== oldValue) {
10197
10251
  el.checked = looseEqual(value, vnode.props.value);
10198
10252
  }
@@ -10207,11 +10261,11 @@ const vModelSelect = {
10207
10261
  const selectedVal = Array.prototype.filter.call(el.options, (o) => o.selected).map(
10208
10262
  (o) => number ? looseToNumber(getValue(o)) : getValue(o)
10209
10263
  );
10210
- el._assign(
10264
+ el[assignKey](
10211
10265
  el.multiple ? isSetModel ? new Set(selectedVal) : selectedVal : selectedVal[0]
10212
10266
  );
10213
10267
  });
10214
- el._assign = getModelAssigner(vnode);
10268
+ el[assignKey] = getModelAssigner(vnode);
10215
10269
  },
10216
10270
  // set value in mounted & updated because <select> relies on its children
10217
10271
  // <option>s.
@@ -10219,7 +10273,7 @@ const vModelSelect = {
10219
10273
  setSelected(el, value);
10220
10274
  },
10221
10275
  beforeUpdate(el, _binding, vnode) {
10222
- el._assign = getModelAssigner(vnode);
10276
+ el[assignKey] = getModelAssigner(vnode);
10223
10277
  },
10224
10278
  updated(el, { value }) {
10225
10279
  setSelected(el, value);
@@ -10346,45 +10400,6 @@ const withKeys = (fn, modifiers) => {
10346
10400
  };
10347
10401
  };
10348
10402
 
10349
- const vShow = {
10350
- beforeMount(el, { value }, { transition }) {
10351
- el._vod = el.style.display === "none" ? "" : el.style.display;
10352
- if (transition && value) {
10353
- transition.beforeEnter(el);
10354
- } else {
10355
- setDisplay(el, value);
10356
- }
10357
- },
10358
- mounted(el, { value }, { transition }) {
10359
- if (transition && value) {
10360
- transition.enter(el);
10361
- }
10362
- },
10363
- updated(el, { value, oldValue }, { transition }) {
10364
- if (!value === !oldValue)
10365
- return;
10366
- if (transition) {
10367
- if (value) {
10368
- transition.beforeEnter(el);
10369
- setDisplay(el, true);
10370
- transition.enter(el);
10371
- } else {
10372
- transition.leave(el, () => {
10373
- setDisplay(el, false);
10374
- });
10375
- }
10376
- } else {
10377
- setDisplay(el, value);
10378
- }
10379
- },
10380
- beforeUnmount(el, { value }) {
10381
- setDisplay(el, value);
10382
- }
10383
- };
10384
- function setDisplay(el, value) {
10385
- el.style.display = value ? el._vod : "none";
10386
- }
10387
-
10388
10403
  const rendererOptions = /* @__PURE__ */ extend({ patchProp }, nodeOps);
10389
10404
  let renderer;
10390
10405
  let enabledHydration = false;