@vue/runtime-dom 3.3.0-alpha.1 → 3.3.0-alpha.10

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.
@@ -7,6 +7,96 @@ function makeMap(str, expectsLowerCase) {
7
7
  return expectsLowerCase ? (val) => !!map[val.toLowerCase()] : (val) => !!map[val];
8
8
  }
9
9
 
10
+ const EMPTY_OBJ = Object.freeze({}) ;
11
+ const EMPTY_ARR = Object.freeze([]) ;
12
+ const NOOP = () => {
13
+ };
14
+ const NO = () => false;
15
+ const onRE = /^on[^a-z]/;
16
+ const isOn = (key) => onRE.test(key);
17
+ const isModelListener = (key) => key.startsWith("onUpdate:");
18
+ const extend = Object.assign;
19
+ const remove = (arr, el) => {
20
+ const i = arr.indexOf(el);
21
+ if (i > -1) {
22
+ arr.splice(i, 1);
23
+ }
24
+ };
25
+ const hasOwnProperty$1 = Object.prototype.hasOwnProperty;
26
+ const hasOwn = (val, key) => hasOwnProperty$1.call(val, key);
27
+ const isArray = Array.isArray;
28
+ const isMap = (val) => toTypeString(val) === "[object Map]";
29
+ const isSet = (val) => toTypeString(val) === "[object Set]";
30
+ const isDate = (val) => toTypeString(val) === "[object Date]";
31
+ const isRegExp = (val) => toTypeString(val) === "[object RegExp]";
32
+ const isFunction = (val) => typeof val === "function";
33
+ const isString = (val) => typeof val === "string";
34
+ const isSymbol = (val) => typeof val === "symbol";
35
+ const isObject = (val) => val !== null && typeof val === "object";
36
+ const isPromise = (val) => {
37
+ return isObject(val) && isFunction(val.then) && isFunction(val.catch);
38
+ };
39
+ const objectToString = Object.prototype.toString;
40
+ const toTypeString = (value) => objectToString.call(value);
41
+ const toRawType = (value) => {
42
+ return toTypeString(value).slice(8, -1);
43
+ };
44
+ const isPlainObject = (val) => toTypeString(val) === "[object Object]";
45
+ const isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key;
46
+ const isReservedProp = /* @__PURE__ */ makeMap(
47
+ // the leading comma is intentional so empty string "" is also included
48
+ ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"
49
+ );
50
+ const isBuiltInDirective = /* @__PURE__ */ makeMap(
51
+ "bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"
52
+ );
53
+ const cacheStringFunction = (fn) => {
54
+ const cache = /* @__PURE__ */ Object.create(null);
55
+ return (str) => {
56
+ const hit = cache[str];
57
+ return hit || (cache[str] = fn(str));
58
+ };
59
+ };
60
+ const camelizeRE = /-(\w)/g;
61
+ const camelize = cacheStringFunction((str) => {
62
+ return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : "");
63
+ });
64
+ const hyphenateRE = /\B([A-Z])/g;
65
+ const hyphenate = cacheStringFunction(
66
+ (str) => str.replace(hyphenateRE, "-$1").toLowerCase()
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
+ );
74
+ const hasChanged = (value, oldValue) => !Object.is(value, oldValue);
75
+ const invokeArrayFns = (fns, arg) => {
76
+ for (let i = 0; i < fns.length; i++) {
77
+ fns[i](arg);
78
+ }
79
+ };
80
+ const def = (obj, key, value) => {
81
+ Object.defineProperty(obj, key, {
82
+ configurable: true,
83
+ enumerable: false,
84
+ value
85
+ });
86
+ };
87
+ const looseToNumber = (val) => {
88
+ const n = parseFloat(val);
89
+ return isNaN(n) ? val : n;
90
+ };
91
+ const toNumber = (val) => {
92
+ const n = isString(val) ? Number(val) : NaN;
93
+ return isNaN(n) ? val : n;
94
+ };
95
+ let _globalThis;
96
+ const getGlobalThis = () => {
97
+ return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {});
98
+ };
99
+
10
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";
11
101
  const isGloballyWhitelisted = /* @__PURE__ */ makeMap(GLOBALS_WHITE_LISTED);
12
102
 
@@ -161,96 +251,6 @@ const replacer = (_key, val) => {
161
251
  return val;
162
252
  };
163
253
 
164
- const EMPTY_OBJ = Object.freeze({}) ;
165
- const EMPTY_ARR = Object.freeze([]) ;
166
- const NOOP = () => {
167
- };
168
- const NO = () => false;
169
- const onRE = /^on[^a-z]/;
170
- const isOn = (key) => onRE.test(key);
171
- const isModelListener = (key) => key.startsWith("onUpdate:");
172
- const extend = Object.assign;
173
- const remove = (arr, el) => {
174
- const i = arr.indexOf(el);
175
- if (i > -1) {
176
- arr.splice(i, 1);
177
- }
178
- };
179
- const hasOwnProperty$1 = Object.prototype.hasOwnProperty;
180
- const hasOwn = (val, key) => hasOwnProperty$1.call(val, key);
181
- const isArray = Array.isArray;
182
- const isMap = (val) => toTypeString(val) === "[object Map]";
183
- const isSet = (val) => toTypeString(val) === "[object Set]";
184
- const isDate = (val) => toTypeString(val) === "[object Date]";
185
- const isRegExp = (val) => toTypeString(val) === "[object RegExp]";
186
- const isFunction = (val) => typeof val === "function";
187
- const isString = (val) => typeof val === "string";
188
- const isSymbol = (val) => typeof val === "symbol";
189
- const isObject = (val) => val !== null && typeof val === "object";
190
- const isPromise = (val) => {
191
- return isObject(val) && isFunction(val.then) && isFunction(val.catch);
192
- };
193
- const objectToString = Object.prototype.toString;
194
- const toTypeString = (value) => objectToString.call(value);
195
- const toRawType = (value) => {
196
- return toTypeString(value).slice(8, -1);
197
- };
198
- const isPlainObject = (val) => toTypeString(val) === "[object Object]";
199
- const isIntegerKey = (key) => isString(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key;
200
- const isReservedProp = /* @__PURE__ */ makeMap(
201
- // the leading comma is intentional so empty string "" is also included
202
- ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"
203
- );
204
- const isBuiltInDirective = /* @__PURE__ */ makeMap(
205
- "bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"
206
- );
207
- const cacheStringFunction = (fn) => {
208
- const cache = /* @__PURE__ */ Object.create(null);
209
- return (str) => {
210
- const hit = cache[str];
211
- return hit || (cache[str] = fn(str));
212
- };
213
- };
214
- const camelizeRE = /-(\w)/g;
215
- const camelize = cacheStringFunction((str) => {
216
- return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : "");
217
- });
218
- const hyphenateRE = /\B([A-Z])/g;
219
- const hyphenate = cacheStringFunction(
220
- (str) => str.replace(hyphenateRE, "-$1").toLowerCase()
221
- );
222
- const capitalize = cacheStringFunction(
223
- (str) => str.charAt(0).toUpperCase() + str.slice(1)
224
- );
225
- const toHandlerKey = cacheStringFunction(
226
- (str) => str ? `on${capitalize(str)}` : ``
227
- );
228
- const hasChanged = (value, oldValue) => !Object.is(value, oldValue);
229
- const invokeArrayFns = (fns, arg) => {
230
- for (let i = 0; i < fns.length; i++) {
231
- fns[i](arg);
232
- }
233
- };
234
- const def = (obj, key, value) => {
235
- Object.defineProperty(obj, key, {
236
- configurable: true,
237
- enumerable: false,
238
- value
239
- });
240
- };
241
- const looseToNumber = (val) => {
242
- const n = parseFloat(val);
243
- return isNaN(n) ? val : n;
244
- };
245
- const toNumber = (val) => {
246
- const n = isString(val) ? Number(val) : NaN;
247
- return isNaN(n) ? val : n;
248
- };
249
- let _globalThis;
250
- const getGlobalThis = () => {
251
- return _globalThis || (_globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {});
252
- };
253
-
254
254
  function warn$1(msg, ...args) {
255
255
  console.warn(`[Vue warn] ${msg}`, ...args);
256
256
  }
@@ -1264,6 +1264,9 @@ function triggerRef(ref2) {
1264
1264
  function unref(ref2) {
1265
1265
  return isRef(ref2) ? ref2.value : ref2;
1266
1266
  }
1267
+ function toValue(source) {
1268
+ return isFunction(source) ? source() : unref(source);
1269
+ }
1267
1270
  const shallowUnwrapHandlers = {
1268
1271
  get: (target, key, receiver) => unref(Reflect.get(target, key, receiver)),
1269
1272
  set: (target, key, value, receiver) => {
@@ -1306,7 +1309,7 @@ function toRefs(object) {
1306
1309
  }
1307
1310
  const ret = isArray(object) ? new Array(object.length) : {};
1308
1311
  for (const key in object) {
1309
- ret[key] = toRef(object, key);
1312
+ ret[key] = propertyToRef(object, key);
1310
1313
  }
1311
1314
  return ret;
1312
1315
  }
@@ -1328,9 +1331,34 @@ class ObjectRefImpl {
1328
1331
  return getDepFromReactive(toRaw(this._object), this._key);
1329
1332
  }
1330
1333
  }
1331
- function toRef(object, key, defaultValue) {
1332
- const val = object[key];
1333
- return isRef(val) ? val : new ObjectRefImpl(object, key, defaultValue);
1334
+ class GetterRefImpl {
1335
+ constructor(_getter) {
1336
+ this._getter = _getter;
1337
+ this.__v_isRef = true;
1338
+ this.__v_isReadonly = true;
1339
+ }
1340
+ get value() {
1341
+ return this._getter();
1342
+ }
1343
+ }
1344
+ function toRef(source, key, defaultValue) {
1345
+ if (isRef(source)) {
1346
+ return source;
1347
+ } else if (isFunction(source)) {
1348
+ return new GetterRefImpl(source);
1349
+ } else if (isObject(source) && arguments.length > 1) {
1350
+ return propertyToRef(source, key, defaultValue);
1351
+ } else {
1352
+ return ref(source);
1353
+ }
1354
+ }
1355
+ function propertyToRef(source, key, defaultValue) {
1356
+ const val = source[key];
1357
+ return isRef(val) ? val : new ObjectRefImpl(
1358
+ source,
1359
+ key,
1360
+ defaultValue
1361
+ );
1334
1362
  }
1335
1363
 
1336
1364
  class ComputedRefImpl {
@@ -1828,6 +1856,8 @@ function reload(id, newComp) {
1828
1856
  }
1829
1857
  hmrDirtyComponents.add(oldComp);
1830
1858
  }
1859
+ instance.appContext.propsCache.delete(instance.type);
1860
+ instance.appContext.emitsCache.delete(instance.type);
1831
1861
  instance.appContext.optionsCache.delete(instance.type);
1832
1862
  if (instance.ceReload) {
1833
1863
  hmrDirtyComponents.add(oldComp);
@@ -2970,36 +3000,6 @@ function setActiveBranch(suspense, branch) {
2970
3000
  }
2971
3001
  }
2972
3002
 
2973
- function provide(key, value) {
2974
- if (!currentInstance) {
2975
- {
2976
- warn(`provide() can only be used inside setup().`);
2977
- }
2978
- } else {
2979
- let provides = currentInstance.provides;
2980
- const parentProvides = currentInstance.parent && currentInstance.parent.provides;
2981
- if (parentProvides === provides) {
2982
- provides = currentInstance.provides = Object.create(parentProvides);
2983
- }
2984
- provides[key] = value;
2985
- }
2986
- }
2987
- function inject(key, defaultValue, treatDefaultAsFactory = false) {
2988
- const instance = currentInstance || currentRenderingInstance;
2989
- if (instance) {
2990
- const provides = instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides;
2991
- if (provides && key in provides) {
2992
- return provides[key];
2993
- } else if (arguments.length > 1) {
2994
- return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance.proxy) : defaultValue;
2995
- } else {
2996
- warn(`injection "${String(key)}" not found.`);
2997
- }
2998
- } else {
2999
- warn(`inject() can only be used inside setup() or functional components.`);
3000
- }
3001
- }
3002
-
3003
3003
  function watchEffect(effect, options) {
3004
3004
  return doWatch(effect, null, options);
3005
3005
  }
@@ -3225,39 +3225,98 @@ function traverse(value, seen) {
3225
3225
  return value;
3226
3226
  }
3227
3227
 
3228
- function useTransitionState() {
3229
- const state = {
3230
- isMounted: false,
3231
- isLeaving: false,
3232
- isUnmounting: false,
3233
- leavingVNodes: /* @__PURE__ */ new Map()
3234
- };
3235
- onMounted(() => {
3236
- state.isMounted = true;
3237
- });
3238
- onBeforeUnmount(() => {
3239
- state.isUnmounting = true;
3240
- });
3241
- return state;
3228
+ function validateDirectiveName(name) {
3229
+ if (isBuiltInDirective(name)) {
3230
+ warn("Do not use built-in directive ids as custom directive id: " + name);
3231
+ }
3242
3232
  }
3243
- const TransitionHookValidator = [Function, Array];
3244
- const BaseTransitionPropsValidators = {
3245
- mode: String,
3246
- appear: Boolean,
3247
- persisted: Boolean,
3248
- // enter
3249
- onBeforeEnter: TransitionHookValidator,
3250
- onEnter: TransitionHookValidator,
3251
- onAfterEnter: TransitionHookValidator,
3252
- onEnterCancelled: TransitionHookValidator,
3253
- // leave
3254
- onBeforeLeave: TransitionHookValidator,
3255
- onLeave: TransitionHookValidator,
3256
- onAfterLeave: TransitionHookValidator,
3257
- onLeaveCancelled: TransitionHookValidator,
3258
- // appear
3259
- onBeforeAppear: TransitionHookValidator,
3260
- onAppear: TransitionHookValidator,
3233
+ function withDirectives(vnode, directives) {
3234
+ const internalInstance = currentRenderingInstance;
3235
+ if (internalInstance === null) {
3236
+ warn(`withDirectives can only be used inside render functions.`);
3237
+ return vnode;
3238
+ }
3239
+ const instance = getExposeProxy(internalInstance) || internalInstance.proxy;
3240
+ const bindings = vnode.dirs || (vnode.dirs = []);
3241
+ for (let i = 0; i < directives.length; i++) {
3242
+ let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];
3243
+ if (dir) {
3244
+ if (isFunction(dir)) {
3245
+ dir = {
3246
+ mounted: dir,
3247
+ updated: dir
3248
+ };
3249
+ }
3250
+ if (dir.deep) {
3251
+ traverse(value);
3252
+ }
3253
+ bindings.push({
3254
+ dir,
3255
+ instance,
3256
+ value,
3257
+ oldValue: void 0,
3258
+ arg,
3259
+ modifiers
3260
+ });
3261
+ }
3262
+ }
3263
+ return vnode;
3264
+ }
3265
+ function invokeDirectiveHook(vnode, prevVNode, instance, name) {
3266
+ const bindings = vnode.dirs;
3267
+ const oldBindings = prevVNode && prevVNode.dirs;
3268
+ for (let i = 0; i < bindings.length; i++) {
3269
+ const binding = bindings[i];
3270
+ if (oldBindings) {
3271
+ binding.oldValue = oldBindings[i].value;
3272
+ }
3273
+ let hook = binding.dir[name];
3274
+ if (hook) {
3275
+ pauseTracking();
3276
+ callWithAsyncErrorHandling(hook, instance, 8, [
3277
+ vnode.el,
3278
+ binding,
3279
+ vnode,
3280
+ prevVNode
3281
+ ]);
3282
+ resetTracking();
3283
+ }
3284
+ }
3285
+ }
3286
+
3287
+ function useTransitionState() {
3288
+ const state = {
3289
+ isMounted: false,
3290
+ isLeaving: false,
3291
+ isUnmounting: false,
3292
+ leavingVNodes: /* @__PURE__ */ new Map()
3293
+ };
3294
+ onMounted(() => {
3295
+ state.isMounted = true;
3296
+ });
3297
+ onBeforeUnmount(() => {
3298
+ state.isUnmounting = true;
3299
+ });
3300
+ return state;
3301
+ }
3302
+ const TransitionHookValidator = [Function, Array];
3303
+ const BaseTransitionPropsValidators = {
3304
+ mode: String,
3305
+ appear: Boolean,
3306
+ persisted: Boolean,
3307
+ // enter
3308
+ onBeforeEnter: TransitionHookValidator,
3309
+ onEnter: TransitionHookValidator,
3310
+ onAfterEnter: TransitionHookValidator,
3311
+ onEnterCancelled: TransitionHookValidator,
3312
+ // leave
3313
+ onBeforeLeave: TransitionHookValidator,
3314
+ onLeave: TransitionHookValidator,
3315
+ onAfterLeave: TransitionHookValidator,
3316
+ onLeaveCancelled: TransitionHookValidator,
3317
+ // appear
3318
+ onBeforeAppear: TransitionHookValidator,
3319
+ onAppear: TransitionHookValidator,
3261
3320
  onAfterAppear: TransitionHookValidator,
3262
3321
  onAppearCancelled: TransitionHookValidator
3263
3322
  };
@@ -3549,8 +3608,8 @@ function getTransitionRawChildren(children, keepComment = false, parentKey) {
3549
3608
  return ret;
3550
3609
  }
3551
3610
 
3552
- function defineComponent(options) {
3553
- return isFunction(options) ? { setup: options, name: options.name } : options;
3611
+ function defineComponent(options, extraOptions) {
3612
+ return isFunction(options) ? extend({}, extraOptions, { setup: options, name: options.name }) : options;
3554
3613
  }
3555
3614
 
3556
3615
  const isAsyncWrapper = (i) => !!i.type.__asyncLoader;
@@ -3982,71 +4041,12 @@ function onErrorCaptured(hook, target = currentInstance) {
3982
4041
  injectHook("ec", hook, target);
3983
4042
  }
3984
4043
 
3985
- function validateDirectiveName(name) {
3986
- if (isBuiltInDirective(name)) {
3987
- warn("Do not use built-in directive ids as custom directive id: " + name);
3988
- }
3989
- }
3990
- function withDirectives(vnode, directives) {
3991
- const internalInstance = currentRenderingInstance;
3992
- if (internalInstance === null) {
3993
- warn(`withDirectives can only be used inside render functions.`);
3994
- return vnode;
3995
- }
3996
- const instance = getExposeProxy(internalInstance) || internalInstance.proxy;
3997
- const bindings = vnode.dirs || (vnode.dirs = []);
3998
- for (let i = 0; i < directives.length; i++) {
3999
- let [dir, value, arg, modifiers = EMPTY_OBJ] = directives[i];
4000
- if (dir) {
4001
- if (isFunction(dir)) {
4002
- dir = {
4003
- mounted: dir,
4004
- updated: dir
4005
- };
4006
- }
4007
- if (dir.deep) {
4008
- traverse(value);
4009
- }
4010
- bindings.push({
4011
- dir,
4012
- instance,
4013
- value,
4014
- oldValue: void 0,
4015
- arg,
4016
- modifiers
4017
- });
4018
- }
4019
- }
4020
- return vnode;
4021
- }
4022
- function invokeDirectiveHook(vnode, prevVNode, instance, name) {
4023
- const bindings = vnode.dirs;
4024
- const oldBindings = prevVNode && prevVNode.dirs;
4025
- for (let i = 0; i < bindings.length; i++) {
4026
- const binding = bindings[i];
4027
- if (oldBindings) {
4028
- binding.oldValue = oldBindings[i].value;
4029
- }
4030
- let hook = binding.dir[name];
4031
- if (hook) {
4032
- pauseTracking();
4033
- callWithAsyncErrorHandling(hook, instance, 8, [
4034
- vnode.el,
4035
- binding,
4036
- vnode,
4037
- prevVNode
4038
- ]);
4039
- resetTracking();
4040
- }
4041
- }
4042
- }
4043
-
4044
4044
  const COMPONENTS = "components";
4045
4045
  const DIRECTIVES = "directives";
4046
4046
  function resolveComponent(name, maybeSelfReference) {
4047
4047
  return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name;
4048
4048
  }
4049
- const NULL_DYNAMIC_COMPONENT = Symbol();
4049
+ const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc");
4050
4050
  function resolveDynamicComponent(component) {
4051
4051
  if (isString(component)) {
4052
4052
  return resolveAsset(COMPONENTS, component, false) || component;
@@ -4458,103 +4458,258 @@ function exposeSetupStateOnRenderContext(instance) {
4458
4458
  });
4459
4459
  }
4460
4460
 
4461
- function createDuplicateChecker() {
4462
- const cache = /* @__PURE__ */ Object.create(null);
4463
- return (type, key) => {
4464
- if (cache[key]) {
4465
- warn(`${type} property "${key}" is already defined in ${cache[key]}.`);
4466
- } else {
4467
- cache[key] = type;
4468
- }
4469
- };
4461
+ const warnRuntimeUsage = (method) => warn(
4462
+ `${method}() is a compiler-hint helper that is only usable inside <script setup> of a single file component. Its arguments should be compiled away and passing it at runtime has no effect.`
4463
+ );
4464
+ function defineProps() {
4465
+ {
4466
+ warnRuntimeUsage(`defineProps`);
4467
+ }
4468
+ return null;
4470
4469
  }
4471
- let shouldCacheAccess = true;
4472
- function applyOptions(instance) {
4473
- const options = resolveMergedOptions(instance);
4474
- const publicThis = instance.proxy;
4475
- const ctx = instance.ctx;
4476
- shouldCacheAccess = false;
4477
- if (options.beforeCreate) {
4478
- callHook$1(options.beforeCreate, instance, "bc");
4470
+ function defineEmits() {
4471
+ {
4472
+ warnRuntimeUsage(`defineEmits`);
4479
4473
  }
4480
- const {
4481
- // state
4482
- data: dataOptions,
4483
- computed: computedOptions,
4484
- methods,
4485
- watch: watchOptions,
4486
- provide: provideOptions,
4487
- inject: injectOptions,
4488
- // lifecycle
4489
- created,
4490
- beforeMount,
4491
- mounted,
4492
- beforeUpdate,
4493
- updated,
4494
- activated,
4495
- deactivated,
4496
- beforeDestroy,
4497
- beforeUnmount,
4498
- destroyed,
4499
- unmounted,
4500
- render,
4501
- renderTracked,
4502
- renderTriggered,
4503
- errorCaptured,
4504
- serverPrefetch,
4505
- // public API
4506
- expose,
4507
- inheritAttrs,
4508
- // assets
4509
- components,
4510
- directives,
4511
- filters
4512
- } = options;
4513
- const checkDuplicateProperties = createDuplicateChecker() ;
4474
+ return null;
4475
+ }
4476
+ function defineExpose(exposed) {
4514
4477
  {
4515
- const [propsOptions] = instance.propsOptions;
4516
- if (propsOptions) {
4517
- for (const key in propsOptions) {
4518
- checkDuplicateProperties("Props" /* PROPS */, key);
4519
- }
4520
- }
4478
+ warnRuntimeUsage(`defineExpose`);
4521
4479
  }
4522
- if (injectOptions) {
4523
- resolveInjections(
4524
- injectOptions,
4525
- ctx,
4526
- checkDuplicateProperties,
4527
- instance.appContext.config.unwrapInjectedRef
4528
- );
4480
+ }
4481
+ function defineOptions(options) {
4482
+ {
4483
+ warnRuntimeUsage(`defineOptions`);
4529
4484
  }
4530
- if (methods) {
4531
- for (const key in methods) {
4532
- const methodHandler = methods[key];
4533
- if (isFunction(methodHandler)) {
4534
- {
4535
- Object.defineProperty(ctx, key, {
4536
- value: methodHandler.bind(publicThis),
4537
- configurable: true,
4538
- enumerable: true,
4539
- writable: true
4540
- });
4541
- }
4542
- {
4543
- checkDuplicateProperties("Methods" /* METHODS */, key);
4544
- }
4545
- } else {
4546
- warn(
4547
- `Method "${key}" has type "${typeof methodHandler}" in the component definition. Did you reference the function correctly?`
4548
- );
4549
- }
4550
- }
4485
+ }
4486
+ function defineSlots() {
4487
+ {
4488
+ warnRuntimeUsage(`defineSlots`);
4551
4489
  }
4552
- if (dataOptions) {
4553
- if (!isFunction(dataOptions)) {
4554
- warn(
4555
- `The data option must be a function. Plain object usage is no longer supported.`
4556
- );
4557
- }
4490
+ return null;
4491
+ }
4492
+ function defineModel() {
4493
+ {
4494
+ warnRuntimeUsage("defineModel");
4495
+ }
4496
+ }
4497
+ function withDefaults(props, defaults) {
4498
+ {
4499
+ warnRuntimeUsage(`withDefaults`);
4500
+ }
4501
+ return null;
4502
+ }
4503
+ function useSlots() {
4504
+ return getContext().slots;
4505
+ }
4506
+ function useAttrs() {
4507
+ return getContext().attrs;
4508
+ }
4509
+ function useModel(props, name, options) {
4510
+ const i = getCurrentInstance();
4511
+ if (!i) {
4512
+ warn(`useModel() called without active instance.`);
4513
+ return ref();
4514
+ }
4515
+ if (!i.propsOptions[0][name]) {
4516
+ warn(`useModel() called with prop "${name}" which is not declared.`);
4517
+ return ref();
4518
+ }
4519
+ if (options && options.local) {
4520
+ const proxy = ref(props[name]);
4521
+ watch(
4522
+ () => props[name],
4523
+ (v) => proxy.value = v
4524
+ );
4525
+ watch(proxy, (value) => {
4526
+ if (value !== props[name]) {
4527
+ i.emit(`update:${name}`, value);
4528
+ }
4529
+ });
4530
+ return proxy;
4531
+ } else {
4532
+ return {
4533
+ __v_isRef: true,
4534
+ get value() {
4535
+ return props[name];
4536
+ },
4537
+ set value(value) {
4538
+ i.emit(`update:${name}`, value);
4539
+ }
4540
+ };
4541
+ }
4542
+ }
4543
+ function getContext() {
4544
+ const i = getCurrentInstance();
4545
+ if (!i) {
4546
+ warn(`useContext() called without active instance.`);
4547
+ }
4548
+ return i.setupContext || (i.setupContext = createSetupContext(i));
4549
+ }
4550
+ function normalizePropsOrEmits(props) {
4551
+ return isArray(props) ? props.reduce(
4552
+ (normalized, p) => (normalized[p] = null, normalized),
4553
+ {}
4554
+ ) : props;
4555
+ }
4556
+ function mergeDefaults(raw, defaults) {
4557
+ const props = normalizePropsOrEmits(raw);
4558
+ for (const key in defaults) {
4559
+ if (key.startsWith("__skip"))
4560
+ continue;
4561
+ let opt = props[key];
4562
+ if (opt) {
4563
+ if (isArray(opt) || isFunction(opt)) {
4564
+ opt = props[key] = { type: opt, default: defaults[key] };
4565
+ } else {
4566
+ opt.default = defaults[key];
4567
+ }
4568
+ } else if (opt === null) {
4569
+ opt = props[key] = { default: defaults[key] };
4570
+ } else {
4571
+ warn(`props default key "${key}" has no corresponding declaration.`);
4572
+ }
4573
+ if (opt && defaults[`__skip_${key}`]) {
4574
+ opt.skipFactory = true;
4575
+ }
4576
+ }
4577
+ return props;
4578
+ }
4579
+ function mergeModels(a, b) {
4580
+ if (!a || !b)
4581
+ return a || b;
4582
+ if (isArray(a) && isArray(b))
4583
+ return a.concat(b);
4584
+ return extend({}, normalizePropsOrEmits(a), normalizePropsOrEmits(b));
4585
+ }
4586
+ function createPropsRestProxy(props, excludedKeys) {
4587
+ const ret = {};
4588
+ for (const key in props) {
4589
+ if (!excludedKeys.includes(key)) {
4590
+ Object.defineProperty(ret, key, {
4591
+ enumerable: true,
4592
+ get: () => props[key]
4593
+ });
4594
+ }
4595
+ }
4596
+ return ret;
4597
+ }
4598
+ function withAsyncContext(getAwaitable) {
4599
+ const ctx = getCurrentInstance();
4600
+ if (!ctx) {
4601
+ warn(
4602
+ `withAsyncContext called without active current instance. This is likely a bug.`
4603
+ );
4604
+ }
4605
+ let awaitable = getAwaitable();
4606
+ unsetCurrentInstance();
4607
+ if (isPromise(awaitable)) {
4608
+ awaitable = awaitable.catch((e) => {
4609
+ setCurrentInstance(ctx);
4610
+ throw e;
4611
+ });
4612
+ }
4613
+ return [awaitable, () => setCurrentInstance(ctx)];
4614
+ }
4615
+
4616
+ function createDuplicateChecker() {
4617
+ const cache = /* @__PURE__ */ Object.create(null);
4618
+ return (type, key) => {
4619
+ if (cache[key]) {
4620
+ warn(`${type} property "${key}" is already defined in ${cache[key]}.`);
4621
+ } else {
4622
+ cache[key] = type;
4623
+ }
4624
+ };
4625
+ }
4626
+ let shouldCacheAccess = true;
4627
+ function applyOptions(instance) {
4628
+ const options = resolveMergedOptions(instance);
4629
+ const publicThis = instance.proxy;
4630
+ const ctx = instance.ctx;
4631
+ shouldCacheAccess = false;
4632
+ if (options.beforeCreate) {
4633
+ callHook$1(options.beforeCreate, instance, "bc");
4634
+ }
4635
+ const {
4636
+ // state
4637
+ data: dataOptions,
4638
+ computed: computedOptions,
4639
+ methods,
4640
+ watch: watchOptions,
4641
+ provide: provideOptions,
4642
+ inject: injectOptions,
4643
+ // lifecycle
4644
+ created,
4645
+ beforeMount,
4646
+ mounted,
4647
+ beforeUpdate,
4648
+ updated,
4649
+ activated,
4650
+ deactivated,
4651
+ beforeDestroy,
4652
+ beforeUnmount,
4653
+ destroyed,
4654
+ unmounted,
4655
+ render,
4656
+ renderTracked,
4657
+ renderTriggered,
4658
+ errorCaptured,
4659
+ serverPrefetch,
4660
+ // public API
4661
+ expose,
4662
+ inheritAttrs,
4663
+ // assets
4664
+ components,
4665
+ directives,
4666
+ filters
4667
+ } = options;
4668
+ const checkDuplicateProperties = createDuplicateChecker() ;
4669
+ {
4670
+ const [propsOptions] = instance.propsOptions;
4671
+ if (propsOptions) {
4672
+ for (const key in propsOptions) {
4673
+ checkDuplicateProperties("Props" /* PROPS */, key);
4674
+ }
4675
+ }
4676
+ }
4677
+ if (injectOptions) {
4678
+ resolveInjections(
4679
+ injectOptions,
4680
+ ctx,
4681
+ checkDuplicateProperties,
4682
+ instance.appContext.config.unwrapInjectedRef
4683
+ );
4684
+ }
4685
+ if (methods) {
4686
+ for (const key in methods) {
4687
+ const methodHandler = methods[key];
4688
+ if (isFunction(methodHandler)) {
4689
+ {
4690
+ Object.defineProperty(ctx, key, {
4691
+ value: methodHandler.bind(publicThis),
4692
+ configurable: true,
4693
+ enumerable: true,
4694
+ writable: true
4695
+ });
4696
+ }
4697
+ {
4698
+ checkDuplicateProperties("Methods" /* METHODS */, key);
4699
+ }
4700
+ } else {
4701
+ warn(
4702
+ `Method "${key}" has type "${typeof methodHandler}" in the component definition. Did you reference the function correctly?`
4703
+ );
4704
+ }
4705
+ }
4706
+ }
4707
+ if (dataOptions) {
4708
+ if (!isFunction(dataOptions)) {
4709
+ warn(
4710
+ `The data option must be a function. Plain object usage is no longer supported.`
4711
+ );
4712
+ }
4558
4713
  const data = dataOptions.call(publicThis, publicThis);
4559
4714
  if (isPromise(data)) {
4560
4715
  warn(
@@ -4797,10 +4952,8 @@ function mergeOptions(to, from, strats, asMixin = false) {
4797
4952
  }
4798
4953
  const internalOptionMergeStrats = {
4799
4954
  data: mergeDataFn,
4800
- props: mergeObjectOptions,
4801
- // TODO
4802
- emits: mergeObjectOptions,
4803
- // TODO
4955
+ props: mergeEmitsOrPropsOptions,
4956
+ emits: mergeEmitsOrPropsOptions,
4804
4957
  // objects
4805
4958
  methods: mergeObjectOptions,
4806
4959
  computed: mergeObjectOptions,
@@ -4859,7 +5012,21 @@ function mergeAsArray(to, from) {
4859
5012
  return to ? [...new Set([].concat(to, from))] : from;
4860
5013
  }
4861
5014
  function mergeObjectOptions(to, from) {
4862
- return to ? extend(extend(/* @__PURE__ */ Object.create(null), to), from) : from;
5015
+ return to ? extend(/* @__PURE__ */ Object.create(null), to, from) : from;
5016
+ }
5017
+ function mergeEmitsOrPropsOptions(to, from) {
5018
+ if (to) {
5019
+ if (isArray(to) && isArray(from)) {
5020
+ return [.../* @__PURE__ */ new Set([...to, ...from])];
5021
+ }
5022
+ return extend(
5023
+ /* @__PURE__ */ Object.create(null),
5024
+ normalizePropsOrEmits(to),
5025
+ normalizePropsOrEmits(from != null ? from : {})
5026
+ );
5027
+ } else {
5028
+ return from;
5029
+ }
4863
5030
  }
4864
5031
  function mergeWatchOptions(to, from) {
4865
5032
  if (!to)
@@ -4873,43 +5040,252 @@ function mergeWatchOptions(to, from) {
4873
5040
  return merged;
4874
5041
  }
4875
5042
 
4876
- function initProps(instance, rawProps, isStateful, isSSR = false) {
4877
- const props = {};
4878
- const attrs = {};
4879
- def(attrs, InternalObjectKey, 1);
4880
- instance.propsDefaults = /* @__PURE__ */ Object.create(null);
4881
- setFullProps(instance, rawProps, props, attrs);
4882
- for (const key in instance.propsOptions[0]) {
4883
- if (!(key in props)) {
4884
- props[key] = void 0;
5043
+ function createAppContext() {
5044
+ return {
5045
+ app: null,
5046
+ config: {
5047
+ isNativeTag: NO,
5048
+ performance: false,
5049
+ globalProperties: {},
5050
+ optionMergeStrategies: {},
5051
+ errorHandler: void 0,
5052
+ warnHandler: void 0,
5053
+ compilerOptions: {}
5054
+ },
5055
+ mixins: [],
5056
+ components: {},
5057
+ directives: {},
5058
+ provides: /* @__PURE__ */ Object.create(null),
5059
+ optionsCache: /* @__PURE__ */ new WeakMap(),
5060
+ propsCache: /* @__PURE__ */ new WeakMap(),
5061
+ emitsCache: /* @__PURE__ */ new WeakMap()
5062
+ };
5063
+ }
5064
+ let uid$1 = 0;
5065
+ function createAppAPI(render, hydrate) {
5066
+ return function createApp(rootComponent, rootProps = null) {
5067
+ if (!isFunction(rootComponent)) {
5068
+ rootComponent = extend({}, rootComponent);
4885
5069
  }
4886
- }
4887
- {
4888
- validateProps(rawProps || {}, props, instance);
4889
- }
4890
- if (isStateful) {
4891
- instance.props = isSSR ? props : shallowReactive(props);
4892
- } else {
4893
- if (!instance.type.props) {
4894
- instance.props = attrs;
4895
- } else {
4896
- instance.props = props;
5070
+ if (rootProps != null && !isObject(rootProps)) {
5071
+ warn(`root props passed to app.mount() must be an object.`);
5072
+ rootProps = null;
4897
5073
  }
4898
- }
4899
- instance.attrs = attrs;
4900
- }
4901
- function isInHmrContext(instance) {
4902
- while (instance) {
4903
- if (instance.type.__hmrId)
4904
- return true;
4905
- instance = instance.parent;
4906
- }
4907
- }
4908
- function updateProps(instance, rawProps, rawPrevProps, optimized) {
4909
- const {
4910
- props,
4911
- attrs,
4912
- vnode: { patchFlag }
5074
+ const context = createAppContext();
5075
+ const installedPlugins = /* @__PURE__ */ new Set();
5076
+ let isMounted = false;
5077
+ const app = context.app = {
5078
+ _uid: uid$1++,
5079
+ _component: rootComponent,
5080
+ _props: rootProps,
5081
+ _container: null,
5082
+ _context: context,
5083
+ _instance: null,
5084
+ version,
5085
+ get config() {
5086
+ return context.config;
5087
+ },
5088
+ set config(v) {
5089
+ {
5090
+ warn(
5091
+ `app.config cannot be replaced. Modify individual options instead.`
5092
+ );
5093
+ }
5094
+ },
5095
+ use(plugin, ...options) {
5096
+ if (installedPlugins.has(plugin)) {
5097
+ warn(`Plugin has already been applied to target app.`);
5098
+ } else if (plugin && isFunction(plugin.install)) {
5099
+ installedPlugins.add(plugin);
5100
+ plugin.install(app, ...options);
5101
+ } else if (isFunction(plugin)) {
5102
+ installedPlugins.add(plugin);
5103
+ plugin(app, ...options);
5104
+ } else {
5105
+ warn(
5106
+ `A plugin must either be a function or an object with an "install" function.`
5107
+ );
5108
+ }
5109
+ return app;
5110
+ },
5111
+ mixin(mixin) {
5112
+ {
5113
+ if (!context.mixins.includes(mixin)) {
5114
+ context.mixins.push(mixin);
5115
+ } else {
5116
+ warn(
5117
+ "Mixin has already been applied to target app" + (mixin.name ? `: ${mixin.name}` : "")
5118
+ );
5119
+ }
5120
+ }
5121
+ return app;
5122
+ },
5123
+ component(name, component) {
5124
+ {
5125
+ validateComponentName(name, context.config);
5126
+ }
5127
+ if (!component) {
5128
+ return context.components[name];
5129
+ }
5130
+ if (context.components[name]) {
5131
+ warn(`Component "${name}" has already been registered in target app.`);
5132
+ }
5133
+ context.components[name] = component;
5134
+ return app;
5135
+ },
5136
+ directive(name, directive) {
5137
+ {
5138
+ validateDirectiveName(name);
5139
+ }
5140
+ if (!directive) {
5141
+ return context.directives[name];
5142
+ }
5143
+ if (context.directives[name]) {
5144
+ warn(`Directive "${name}" has already been registered in target app.`);
5145
+ }
5146
+ context.directives[name] = directive;
5147
+ return app;
5148
+ },
5149
+ mount(rootContainer, isHydrate, isSVG) {
5150
+ if (!isMounted) {
5151
+ if (rootContainer.__vue_app__) {
5152
+ warn(
5153
+ `There is already an app instance mounted on the host container.
5154
+ If you want to mount another app on the same host container, you need to unmount the previous app by calling \`app.unmount()\` first.`
5155
+ );
5156
+ }
5157
+ const vnode = createVNode(
5158
+ rootComponent,
5159
+ rootProps
5160
+ );
5161
+ vnode.appContext = context;
5162
+ {
5163
+ context.reload = () => {
5164
+ render(cloneVNode(vnode), rootContainer, isSVG);
5165
+ };
5166
+ }
5167
+ if (isHydrate && hydrate) {
5168
+ hydrate(vnode, rootContainer);
5169
+ } else {
5170
+ render(vnode, rootContainer, isSVG);
5171
+ }
5172
+ isMounted = true;
5173
+ app._container = rootContainer;
5174
+ rootContainer.__vue_app__ = app;
5175
+ {
5176
+ app._instance = vnode.component;
5177
+ devtoolsInitApp(app, version);
5178
+ }
5179
+ return getExposeProxy(vnode.component) || vnode.component.proxy;
5180
+ } else {
5181
+ warn(
5182
+ `App has already been mounted.
5183
+ If you want to remount the same app, move your app creation logic into a factory function and create fresh app instances for each mount - e.g. \`const createMyApp = () => createApp(App)\``
5184
+ );
5185
+ }
5186
+ },
5187
+ unmount() {
5188
+ if (isMounted) {
5189
+ render(null, app._container);
5190
+ {
5191
+ app._instance = null;
5192
+ devtoolsUnmountApp(app);
5193
+ }
5194
+ delete app._container.__vue_app__;
5195
+ } else {
5196
+ warn(`Cannot unmount an app that is not mounted.`);
5197
+ }
5198
+ },
5199
+ provide(key, value) {
5200
+ if (key in context.provides) {
5201
+ warn(
5202
+ `App already provides property with key "${String(key)}". It will be overwritten with the new value.`
5203
+ );
5204
+ }
5205
+ context.provides[key] = value;
5206
+ return app;
5207
+ },
5208
+ runWithContext(fn) {
5209
+ currentApp = app;
5210
+ try {
5211
+ return fn();
5212
+ } finally {
5213
+ currentApp = null;
5214
+ }
5215
+ }
5216
+ };
5217
+ return app;
5218
+ };
5219
+ }
5220
+ let currentApp = null;
5221
+
5222
+ function provide(key, value) {
5223
+ if (!currentInstance) {
5224
+ {
5225
+ warn(`provide() can only be used inside setup().`);
5226
+ }
5227
+ } else {
5228
+ let provides = currentInstance.provides;
5229
+ const parentProvides = currentInstance.parent && currentInstance.parent.provides;
5230
+ if (parentProvides === provides) {
5231
+ provides = currentInstance.provides = Object.create(parentProvides);
5232
+ }
5233
+ provides[key] = value;
5234
+ }
5235
+ }
5236
+ function inject(key, defaultValue, treatDefaultAsFactory = false) {
5237
+ const instance = currentInstance || currentRenderingInstance;
5238
+ if (instance || currentApp) {
5239
+ const provides = instance ? instance.parent == null ? instance.vnode.appContext && instance.vnode.appContext.provides : instance.parent.provides : currentApp._context.provides;
5240
+ if (provides && key in provides) {
5241
+ return provides[key];
5242
+ } else if (arguments.length > 1) {
5243
+ return treatDefaultAsFactory && isFunction(defaultValue) ? defaultValue.call(instance && instance.proxy) : defaultValue;
5244
+ } else {
5245
+ warn(`injection "${String(key)}" not found.`);
5246
+ }
5247
+ } else {
5248
+ warn(`inject() can only be used inside setup() or functional components.`);
5249
+ }
5250
+ }
5251
+
5252
+ function initProps(instance, rawProps, isStateful, isSSR = false) {
5253
+ const props = {};
5254
+ const attrs = {};
5255
+ def(attrs, InternalObjectKey, 1);
5256
+ instance.propsDefaults = /* @__PURE__ */ Object.create(null);
5257
+ setFullProps(instance, rawProps, props, attrs);
5258
+ for (const key in instance.propsOptions[0]) {
5259
+ if (!(key in props)) {
5260
+ props[key] = void 0;
5261
+ }
5262
+ }
5263
+ {
5264
+ validateProps(rawProps || {}, props, instance);
5265
+ }
5266
+ if (isStateful) {
5267
+ instance.props = isSSR ? props : shallowReactive(props);
5268
+ } else {
5269
+ if (!instance.type.props) {
5270
+ instance.props = attrs;
5271
+ } else {
5272
+ instance.props = props;
5273
+ }
5274
+ }
5275
+ instance.attrs = attrs;
5276
+ }
5277
+ function isInHmrContext(instance) {
5278
+ while (instance) {
5279
+ if (instance.type.__hmrId)
5280
+ return true;
5281
+ instance = instance.parent;
5282
+ }
5283
+ }
5284
+ function updateProps(instance, rawProps, rawPrevProps, optimized) {
5285
+ const {
5286
+ props,
5287
+ attrs,
5288
+ vnode: { patchFlag }
4913
5289
  } = instance;
4914
5290
  const rawCurrentProps = toRaw(props);
4915
5291
  const [options] = instance.propsOptions;
@@ -5047,7 +5423,7 @@ function resolvePropValue(options, props, key, value, instance, isAbsent) {
5047
5423
  const hasDefault = hasOwn(opt, "default");
5048
5424
  if (hasDefault && value === void 0) {
5049
5425
  const defaultValue = opt.default;
5050
- if (opt.type !== Function && isFunction(defaultValue)) {
5426
+ if (opt.type !== Function && !opt.skipFactory && isFunction(defaultValue)) {
5051
5427
  const { propsDefaults } = instance;
5052
5428
  if (key in propsDefaults) {
5053
5429
  value = propsDefaults[key];
@@ -5183,358 +5559,188 @@ function validateProps(rawProps, props, instance) {
5183
5559
  }
5184
5560
  }
5185
5561
  function validateProp(name, value, prop, isAbsent) {
5186
- const { type, required, validator } = prop;
5562
+ const { type, required, validator, skipCheck } = prop;
5187
5563
  if (required && isAbsent) {
5188
5564
  warn('Missing required prop: "' + name + '"');
5189
5565
  return;
5190
5566
  }
5191
- if (value == null && !prop.required) {
5567
+ if (value == null && !required) {
5192
5568
  return;
5193
5569
  }
5194
- if (type != null && type !== true) {
5570
+ if (type != null && type !== true && !skipCheck) {
5195
5571
  let isValid = false;
5196
5572
  const types = isArray(type) ? type : [type];
5197
- const expectedTypes = [];
5198
- for (let i = 0; i < types.length && !isValid; i++) {
5199
- const { valid, expectedType } = assertType(value, types[i]);
5200
- expectedTypes.push(expectedType || "");
5201
- isValid = valid;
5202
- }
5203
- if (!isValid) {
5204
- warn(getInvalidTypeMessage(name, value, expectedTypes));
5205
- return;
5206
- }
5207
- }
5208
- if (validator && !validator(value)) {
5209
- warn('Invalid prop: custom validator check failed for prop "' + name + '".');
5210
- }
5211
- }
5212
- const isSimpleType = /* @__PURE__ */ makeMap(
5213
- "String,Number,Boolean,Function,Symbol,BigInt"
5214
- );
5215
- function assertType(value, type) {
5216
- let valid;
5217
- const expectedType = getType(type);
5218
- if (isSimpleType(expectedType)) {
5219
- const t = typeof value;
5220
- valid = t === expectedType.toLowerCase();
5221
- if (!valid && t === "object") {
5222
- valid = value instanceof type;
5223
- }
5224
- } else if (expectedType === "Object") {
5225
- valid = isObject(value);
5226
- } else if (expectedType === "Array") {
5227
- valid = isArray(value);
5228
- } else if (expectedType === "null") {
5229
- valid = value === null;
5230
- } else {
5231
- valid = value instanceof type;
5232
- }
5233
- return {
5234
- valid,
5235
- expectedType
5236
- };
5237
- }
5238
- function getInvalidTypeMessage(name, value, expectedTypes) {
5239
- let message = `Invalid prop: type check failed for prop "${name}". Expected ${expectedTypes.map(capitalize).join(" | ")}`;
5240
- const expectedType = expectedTypes[0];
5241
- const receivedType = toRawType(value);
5242
- const expectedValue = styleValue(value, expectedType);
5243
- const receivedValue = styleValue(value, receivedType);
5244
- if (expectedTypes.length === 1 && isExplicable(expectedType) && !isBoolean(expectedType, receivedType)) {
5245
- message += ` with value ${expectedValue}`;
5246
- }
5247
- message += `, got ${receivedType} `;
5248
- if (isExplicable(receivedType)) {
5249
- message += `with value ${receivedValue}.`;
5250
- }
5251
- return message;
5252
- }
5253
- function styleValue(value, type) {
5254
- if (type === "String") {
5255
- return `"${value}"`;
5256
- } else if (type === "Number") {
5257
- return `${Number(value)}`;
5258
- } else {
5259
- return `${value}`;
5260
- }
5261
- }
5262
- function isExplicable(type) {
5263
- const explicitTypes = ["string", "number", "boolean"];
5264
- return explicitTypes.some((elem) => type.toLowerCase() === elem);
5265
- }
5266
- function isBoolean(...args) {
5267
- return args.some((elem) => elem.toLowerCase() === "boolean");
5268
- }
5269
-
5270
- const isInternalKey = (key) => key[0] === "_" || key === "$stable";
5271
- const normalizeSlotValue = (value) => isArray(value) ? value.map(normalizeVNode) : [normalizeVNode(value)];
5272
- const normalizeSlot = (key, rawSlot, ctx) => {
5273
- if (rawSlot._n) {
5274
- return rawSlot;
5275
- }
5276
- const normalized = withCtx((...args) => {
5277
- if (currentInstance) {
5278
- warn(
5279
- `Slot "${key}" invoked outside of the render function: this will not track dependencies used in the slot. Invoke the slot function inside the render function instead.`
5280
- );
5281
- }
5282
- return normalizeSlotValue(rawSlot(...args));
5283
- }, ctx);
5284
- normalized._c = false;
5285
- return normalized;
5286
- };
5287
- const normalizeObjectSlots = (rawSlots, slots, instance) => {
5288
- const ctx = rawSlots._ctx;
5289
- for (const key in rawSlots) {
5290
- if (isInternalKey(key))
5291
- continue;
5292
- const value = rawSlots[key];
5293
- if (isFunction(value)) {
5294
- slots[key] = normalizeSlot(key, value, ctx);
5295
- } else if (value != null) {
5296
- {
5297
- warn(
5298
- `Non-function value encountered for slot "${key}". Prefer function slots for better performance.`
5299
- );
5300
- }
5301
- const normalized = normalizeSlotValue(value);
5302
- slots[key] = () => normalized;
5303
- }
5304
- }
5305
- };
5306
- const normalizeVNodeSlots = (instance, children) => {
5307
- if (!isKeepAlive(instance.vnode) && true) {
5308
- warn(
5309
- `Non-function value encountered for default slot. Prefer function slots for better performance.`
5310
- );
5311
- }
5312
- const normalized = normalizeSlotValue(children);
5313
- instance.slots.default = () => normalized;
5314
- };
5315
- const initSlots = (instance, children) => {
5316
- if (instance.vnode.shapeFlag & 32) {
5317
- const type = children._;
5318
- if (type) {
5319
- instance.slots = toRaw(children);
5320
- def(children, "_", type);
5321
- } else {
5322
- normalizeObjectSlots(
5323
- children,
5324
- instance.slots = {});
5325
- }
5326
- } else {
5327
- instance.slots = {};
5328
- if (children) {
5329
- normalizeVNodeSlots(instance, children);
5330
- }
5331
- }
5332
- def(instance.slots, InternalObjectKey, 1);
5333
- };
5334
- const updateSlots = (instance, children, optimized) => {
5335
- const { vnode, slots } = instance;
5336
- let needDeletionCheck = true;
5337
- let deletionComparisonTarget = EMPTY_OBJ;
5338
- if (vnode.shapeFlag & 32) {
5339
- const type = children._;
5340
- if (type) {
5341
- if (isHmrUpdating) {
5342
- extend(slots, children);
5343
- } else if (optimized && type === 1) {
5344
- needDeletionCheck = false;
5345
- } else {
5346
- extend(slots, children);
5347
- if (!optimized && type === 1) {
5348
- delete slots._;
5349
- }
5350
- }
5351
- } else {
5352
- needDeletionCheck = !children.$stable;
5353
- normalizeObjectSlots(children, slots);
5354
- }
5355
- deletionComparisonTarget = children;
5356
- } else if (children) {
5357
- normalizeVNodeSlots(instance, children);
5358
- deletionComparisonTarget = { default: 1 };
5359
- }
5360
- if (needDeletionCheck) {
5361
- for (const key in slots) {
5362
- if (!isInternalKey(key) && !(key in deletionComparisonTarget)) {
5363
- delete slots[key];
5364
- }
5365
- }
5366
- }
5367
- };
5368
-
5369
- function createAppContext() {
5370
- return {
5371
- app: null,
5372
- config: {
5373
- isNativeTag: NO,
5374
- performance: false,
5375
- globalProperties: {},
5376
- optionMergeStrategies: {},
5377
- errorHandler: void 0,
5378
- warnHandler: void 0,
5379
- compilerOptions: {}
5380
- },
5381
- mixins: [],
5382
- components: {},
5383
- directives: {},
5384
- provides: /* @__PURE__ */ Object.create(null),
5385
- optionsCache: /* @__PURE__ */ new WeakMap(),
5386
- propsCache: /* @__PURE__ */ new WeakMap(),
5387
- emitsCache: /* @__PURE__ */ new WeakMap()
5388
- };
5389
- }
5390
- let uid$1 = 0;
5391
- function createAppAPI(render, hydrate) {
5392
- return function createApp(rootComponent, rootProps = null) {
5393
- if (!isFunction(rootComponent)) {
5394
- rootComponent = extend({}, rootComponent);
5395
- }
5396
- if (rootProps != null && !isObject(rootProps)) {
5397
- warn(`root props passed to app.mount() must be an object.`);
5398
- rootProps = null;
5399
- }
5400
- const context = createAppContext();
5401
- const installedPlugins = /* @__PURE__ */ new Set();
5402
- let isMounted = false;
5403
- const app = context.app = {
5404
- _uid: uid$1++,
5405
- _component: rootComponent,
5406
- _props: rootProps,
5407
- _container: null,
5408
- _context: context,
5409
- _instance: null,
5410
- version,
5411
- get config() {
5412
- return context.config;
5413
- },
5414
- set config(v) {
5415
- {
5416
- warn(
5417
- `app.config cannot be replaced. Modify individual options instead.`
5418
- );
5419
- }
5420
- },
5421
- use(plugin, ...options) {
5422
- if (installedPlugins.has(plugin)) {
5423
- warn(`Plugin has already been applied to target app.`);
5424
- } else if (plugin && isFunction(plugin.install)) {
5425
- installedPlugins.add(plugin);
5426
- plugin.install(app, ...options);
5427
- } else if (isFunction(plugin)) {
5428
- installedPlugins.add(plugin);
5429
- plugin(app, ...options);
5430
- } else {
5431
- warn(
5432
- `A plugin must either be a function or an object with an "install" function.`
5433
- );
5434
- }
5435
- return app;
5436
- },
5437
- mixin(mixin) {
5438
- {
5439
- if (!context.mixins.includes(mixin)) {
5440
- context.mixins.push(mixin);
5441
- } else {
5442
- warn(
5443
- "Mixin has already been applied to target app" + (mixin.name ? `: ${mixin.name}` : "")
5444
- );
5445
- }
5446
- }
5447
- return app;
5448
- },
5449
- component(name, component) {
5450
- {
5451
- validateComponentName(name, context.config);
5452
- }
5453
- if (!component) {
5454
- return context.components[name];
5455
- }
5456
- if (context.components[name]) {
5457
- warn(`Component "${name}" has already been registered in target app.`);
5458
- }
5459
- context.components[name] = component;
5460
- return app;
5461
- },
5462
- directive(name, directive) {
5463
- {
5464
- validateDirectiveName(name);
5465
- }
5466
- if (!directive) {
5467
- return context.directives[name];
5468
- }
5469
- if (context.directives[name]) {
5470
- warn(`Directive "${name}" has already been registered in target app.`);
5471
- }
5472
- context.directives[name] = directive;
5473
- return app;
5474
- },
5475
- mount(rootContainer, isHydrate, isSVG) {
5476
- if (!isMounted) {
5477
- if (rootContainer.__vue_app__) {
5478
- warn(
5479
- `There is already an app instance mounted on the host container.
5480
- If you want to mount another app on the same host container, you need to unmount the previous app by calling \`app.unmount()\` first.`
5481
- );
5482
- }
5483
- const vnode = createVNode(
5484
- rootComponent,
5485
- rootProps
5486
- );
5487
- vnode.appContext = context;
5488
- {
5489
- context.reload = () => {
5490
- render(cloneVNode(vnode), rootContainer, isSVG);
5491
- };
5492
- }
5493
- if (isHydrate && hydrate) {
5494
- hydrate(vnode, rootContainer);
5495
- } else {
5496
- render(vnode, rootContainer, isSVG);
5497
- }
5498
- isMounted = true;
5499
- app._container = rootContainer;
5500
- rootContainer.__vue_app__ = app;
5501
- {
5502
- app._instance = vnode.component;
5503
- devtoolsInitApp(app, version);
5504
- }
5505
- return getExposeProxy(vnode.component) || vnode.component.proxy;
5506
- } else {
5507
- warn(
5508
- `App has already been mounted.
5509
- If you want to remount the same app, move your app creation logic into a factory function and create fresh app instances for each mount - e.g. \`const createMyApp = () => createApp(App)\``
5510
- );
5511
- }
5512
- },
5513
- unmount() {
5514
- if (isMounted) {
5515
- render(null, app._container);
5516
- {
5517
- app._instance = null;
5518
- devtoolsUnmountApp(app);
5519
- }
5520
- delete app._container.__vue_app__;
5521
- } else {
5522
- warn(`Cannot unmount an app that is not mounted.`);
5523
- }
5524
- },
5525
- provide(key, value) {
5526
- if (key in context.provides) {
5527
- warn(
5528
- `App already provides property with key "${String(key)}". It will be overwritten with the new value.`
5529
- );
5530
- }
5531
- context.provides[key] = value;
5532
- return app;
5533
- }
5534
- };
5535
- return app;
5573
+ const expectedTypes = [];
5574
+ for (let i = 0; i < types.length && !isValid; i++) {
5575
+ const { valid, expectedType } = assertType(value, types[i]);
5576
+ expectedTypes.push(expectedType || "");
5577
+ isValid = valid;
5578
+ }
5579
+ if (!isValid) {
5580
+ warn(getInvalidTypeMessage(name, value, expectedTypes));
5581
+ return;
5582
+ }
5583
+ }
5584
+ if (validator && !validator(value)) {
5585
+ warn('Invalid prop: custom validator check failed for prop "' + name + '".');
5586
+ }
5587
+ }
5588
+ const isSimpleType = /* @__PURE__ */ makeMap(
5589
+ "String,Number,Boolean,Function,Symbol,BigInt"
5590
+ );
5591
+ function assertType(value, type) {
5592
+ let valid;
5593
+ const expectedType = getType(type);
5594
+ if (isSimpleType(expectedType)) {
5595
+ const t = typeof value;
5596
+ valid = t === expectedType.toLowerCase();
5597
+ if (!valid && t === "object") {
5598
+ valid = value instanceof type;
5599
+ }
5600
+ } else if (expectedType === "Object") {
5601
+ valid = isObject(value);
5602
+ } else if (expectedType === "Array") {
5603
+ valid = isArray(value);
5604
+ } else if (expectedType === "null") {
5605
+ valid = value === null;
5606
+ } else {
5607
+ valid = value instanceof type;
5608
+ }
5609
+ return {
5610
+ valid,
5611
+ expectedType
5536
5612
  };
5537
5613
  }
5614
+ function getInvalidTypeMessage(name, value, expectedTypes) {
5615
+ let message = `Invalid prop: type check failed for prop "${name}". Expected ${expectedTypes.map(capitalize).join(" | ")}`;
5616
+ const expectedType = expectedTypes[0];
5617
+ const receivedType = toRawType(value);
5618
+ const expectedValue = styleValue(value, expectedType);
5619
+ const receivedValue = styleValue(value, receivedType);
5620
+ if (expectedTypes.length === 1 && isExplicable(expectedType) && !isBoolean(expectedType, receivedType)) {
5621
+ message += ` with value ${expectedValue}`;
5622
+ }
5623
+ message += `, got ${receivedType} `;
5624
+ if (isExplicable(receivedType)) {
5625
+ message += `with value ${receivedValue}.`;
5626
+ }
5627
+ return message;
5628
+ }
5629
+ function styleValue(value, type) {
5630
+ if (type === "String") {
5631
+ return `"${value}"`;
5632
+ } else if (type === "Number") {
5633
+ return `${Number(value)}`;
5634
+ } else {
5635
+ return `${value}`;
5636
+ }
5637
+ }
5638
+ function isExplicable(type) {
5639
+ const explicitTypes = ["string", "number", "boolean"];
5640
+ return explicitTypes.some((elem) => type.toLowerCase() === elem);
5641
+ }
5642
+ function isBoolean(...args) {
5643
+ return args.some((elem) => elem.toLowerCase() === "boolean");
5644
+ }
5645
+
5646
+ const isInternalKey = (key) => key[0] === "_" || key === "$stable";
5647
+ const normalizeSlotValue = (value) => isArray(value) ? value.map(normalizeVNode) : [normalizeVNode(value)];
5648
+ const normalizeSlot = (key, rawSlot, ctx) => {
5649
+ if (rawSlot._n) {
5650
+ return rawSlot;
5651
+ }
5652
+ const normalized = withCtx((...args) => {
5653
+ if (currentInstance) {
5654
+ warn(
5655
+ `Slot "${key}" invoked outside of the render function: this will not track dependencies used in the slot. Invoke the slot function inside the render function instead.`
5656
+ );
5657
+ }
5658
+ return normalizeSlotValue(rawSlot(...args));
5659
+ }, ctx);
5660
+ normalized._c = false;
5661
+ return normalized;
5662
+ };
5663
+ const normalizeObjectSlots = (rawSlots, slots, instance) => {
5664
+ const ctx = rawSlots._ctx;
5665
+ for (const key in rawSlots) {
5666
+ if (isInternalKey(key))
5667
+ continue;
5668
+ const value = rawSlots[key];
5669
+ if (isFunction(value)) {
5670
+ slots[key] = normalizeSlot(key, value, ctx);
5671
+ } else if (value != null) {
5672
+ {
5673
+ warn(
5674
+ `Non-function value encountered for slot "${key}". Prefer function slots for better performance.`
5675
+ );
5676
+ }
5677
+ const normalized = normalizeSlotValue(value);
5678
+ slots[key] = () => normalized;
5679
+ }
5680
+ }
5681
+ };
5682
+ const normalizeVNodeSlots = (instance, children) => {
5683
+ if (!isKeepAlive(instance.vnode) && true) {
5684
+ warn(
5685
+ `Non-function value encountered for default slot. Prefer function slots for better performance.`
5686
+ );
5687
+ }
5688
+ const normalized = normalizeSlotValue(children);
5689
+ instance.slots.default = () => normalized;
5690
+ };
5691
+ const initSlots = (instance, children) => {
5692
+ if (instance.vnode.shapeFlag & 32) {
5693
+ const type = children._;
5694
+ if (type) {
5695
+ instance.slots = toRaw(children);
5696
+ def(children, "_", type);
5697
+ } else {
5698
+ normalizeObjectSlots(
5699
+ children,
5700
+ instance.slots = {});
5701
+ }
5702
+ } else {
5703
+ instance.slots = {};
5704
+ if (children) {
5705
+ normalizeVNodeSlots(instance, children);
5706
+ }
5707
+ }
5708
+ def(instance.slots, InternalObjectKey, 1);
5709
+ };
5710
+ const updateSlots = (instance, children, optimized) => {
5711
+ const { vnode, slots } = instance;
5712
+ let needDeletionCheck = true;
5713
+ let deletionComparisonTarget = EMPTY_OBJ;
5714
+ if (vnode.shapeFlag & 32) {
5715
+ const type = children._;
5716
+ if (type) {
5717
+ if (isHmrUpdating) {
5718
+ extend(slots, children);
5719
+ } else if (optimized && type === 1) {
5720
+ needDeletionCheck = false;
5721
+ } else {
5722
+ extend(slots, children);
5723
+ if (!optimized && type === 1) {
5724
+ delete slots._;
5725
+ }
5726
+ }
5727
+ } else {
5728
+ needDeletionCheck = !children.$stable;
5729
+ normalizeObjectSlots(children, slots);
5730
+ }
5731
+ deletionComparisonTarget = children;
5732
+ } else if (children) {
5733
+ normalizeVNodeSlots(instance, children);
5734
+ deletionComparisonTarget = { default: 1 };
5735
+ }
5736
+ if (needDeletionCheck) {
5737
+ for (const key in slots) {
5738
+ if (!isInternalKey(key) && !(key in deletionComparisonTarget)) {
5739
+ delete slots[key];
5740
+ }
5741
+ }
5742
+ }
5743
+ };
5538
5744
 
5539
5745
  function setRef(rawRef, oldRawRef, parentSuspense, vnode, isUnmount = false) {
5540
5746
  if (isArray(rawRef)) {
@@ -7804,10 +8010,10 @@ function updateCssVars(vnode) {
7804
8010
  }
7805
8011
  }
7806
8012
 
7807
- const Fragment = Symbol("Fragment" );
7808
- const Text = Symbol("Text" );
7809
- const Comment = Symbol("Comment" );
7810
- const Static = Symbol("Static" );
8013
+ const Fragment = Symbol.for("v-fgt");
8014
+ const Text = Symbol.for("v-txt");
8015
+ const Comment = Symbol.for("v-cmt");
8016
+ const Static = Symbol.for("v-stc");
7811
8017
  const blockStack = [];
7812
8018
  let currentBlock = null;
7813
8019
  function openBlock(disableTracking = false) {
@@ -8259,13 +8465,19 @@ function createComponentInstance(vnode, parent, suspense) {
8259
8465
  }
8260
8466
  let currentInstance = null;
8261
8467
  const getCurrentInstance = () => currentInstance || currentRenderingInstance;
8468
+ let internalSetCurrentInstance;
8469
+ {
8470
+ internalSetCurrentInstance = (i) => {
8471
+ currentInstance = i;
8472
+ };
8473
+ }
8262
8474
  const setCurrentInstance = (instance) => {
8263
- currentInstance = instance;
8475
+ internalSetCurrentInstance(instance);
8264
8476
  instance.scope.on();
8265
8477
  };
8266
8478
  const unsetCurrentInstance = () => {
8267
8479
  currentInstance && currentInstance.scope.off();
8268
- currentInstance = null;
8480
+ internalSetCurrentInstance(null);
8269
8481
  };
8270
8482
  const isBuiltInTag = /* @__PURE__ */ makeMap("slot,component");
8271
8483
  function validateComponentName(name, config) {
@@ -8554,96 +8766,6 @@ const computed = (getterOrOptions, debugOptions) => {
8554
8766
  return computed$1(getterOrOptions, debugOptions, isInSSRComponentSetup);
8555
8767
  };
8556
8768
 
8557
- const warnRuntimeUsage = (method) => warn(
8558
- `${method}() is a compiler-hint helper that is only usable inside <script setup> of a single file component. Its arguments should be compiled away and passing it at runtime has no effect.`
8559
- );
8560
- function defineProps() {
8561
- {
8562
- warnRuntimeUsage(`defineProps`);
8563
- }
8564
- return null;
8565
- }
8566
- function defineEmits() {
8567
- {
8568
- warnRuntimeUsage(`defineEmits`);
8569
- }
8570
- return null;
8571
- }
8572
- function defineExpose(exposed) {
8573
- {
8574
- warnRuntimeUsage(`defineExpose`);
8575
- }
8576
- }
8577
- function withDefaults(props, defaults) {
8578
- {
8579
- warnRuntimeUsage(`withDefaults`);
8580
- }
8581
- return null;
8582
- }
8583
- function useSlots() {
8584
- return getContext().slots;
8585
- }
8586
- function useAttrs() {
8587
- return getContext().attrs;
8588
- }
8589
- function getContext() {
8590
- const i = getCurrentInstance();
8591
- if (!i) {
8592
- warn(`useContext() called without active instance.`);
8593
- }
8594
- return i.setupContext || (i.setupContext = createSetupContext(i));
8595
- }
8596
- function mergeDefaults(raw, defaults) {
8597
- const props = isArray(raw) ? raw.reduce(
8598
- (normalized, p) => (normalized[p] = {}, normalized),
8599
- {}
8600
- ) : raw;
8601
- for (const key in defaults) {
8602
- const opt = props[key];
8603
- if (opt) {
8604
- if (isArray(opt) || isFunction(opt)) {
8605
- props[key] = { type: opt, default: defaults[key] };
8606
- } else {
8607
- opt.default = defaults[key];
8608
- }
8609
- } else if (opt === null) {
8610
- props[key] = { default: defaults[key] };
8611
- } else {
8612
- warn(`props default key "${key}" has no corresponding declaration.`);
8613
- }
8614
- }
8615
- return props;
8616
- }
8617
- function createPropsRestProxy(props, excludedKeys) {
8618
- const ret = {};
8619
- for (const key in props) {
8620
- if (!excludedKeys.includes(key)) {
8621
- Object.defineProperty(ret, key, {
8622
- enumerable: true,
8623
- get: () => props[key]
8624
- });
8625
- }
8626
- }
8627
- return ret;
8628
- }
8629
- function withAsyncContext(getAwaitable) {
8630
- const ctx = getCurrentInstance();
8631
- if (!ctx) {
8632
- warn(
8633
- `withAsyncContext called without active current instance. This is likely a bug.`
8634
- );
8635
- }
8636
- let awaitable = getAwaitable();
8637
- unsetCurrentInstance();
8638
- if (isPromise(awaitable)) {
8639
- awaitable = awaitable.catch((e) => {
8640
- setCurrentInstance(ctx);
8641
- throw e;
8642
- });
8643
- }
8644
- return [awaitable, () => setCurrentInstance(ctx)];
8645
- }
8646
-
8647
8769
  function h(type, propsOrChildren, children) {
8648
8770
  const l = arguments.length;
8649
8771
  if (l === 2) {
@@ -8665,7 +8787,7 @@ function h(type, propsOrChildren, children) {
8665
8787
  }
8666
8788
  }
8667
8789
 
8668
- const ssrContextKey = Symbol(`ssrContext` );
8790
+ const ssrContextKey = Symbol.for("v-scx");
8669
8791
  const useSSRContext = () => {
8670
8792
  {
8671
8793
  const ctx = inject(ssrContextKey);
@@ -8879,7 +9001,7 @@ function isMemoSame(cached, memo) {
8879
9001
  return true;
8880
9002
  }
8881
9003
 
8882
- const version = "3.3.0-alpha.1";
9004
+ const version = "3.3.0-alpha.10";
8883
9005
  const ssrUtils = null;
8884
9006
  const resolveFilter = null;
8885
9007
  const compatUtils = null;
@@ -10348,4 +10470,4 @@ function normalizeContainer(container) {
10348
10470
  }
10349
10471
  const initDirectivesForSSR = NOOP;
10350
10472
 
10351
- export { BaseTransition, BaseTransitionPropsValidators, Comment, EffectScope, Fragment, KeepAlive, ReactiveEffect, Static, Suspense, Teleport, Text, Transition, TransitionGroup, VueElement, assertNumber, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, cloneVNode, compatUtils, computed, createApp, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, customRef, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineProps, defineSSRCustomElement, devtools, effect, effectScope, getCurrentInstance, getCurrentScope, getTransitionRawChildren, guardReactiveProps, h, handleError, hydrate, initCustomFormatter, initDirectivesForSSR, inject, isMemoSame, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isShallow, isVNode, markRaw, mergeDefaults, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, openBlock, popScopeId, provide, proxyRefs, pushScopeId, queuePostFlushCb, reactive, readonly, ref, registerRuntimeCompiler, render, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, ssrContextKey, ssrUtils, stop, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, transformVNodeArgs, triggerRef, unref, useAttrs, useCssModule, useCssVars, useSSRContext, useSlots, useTransitionState, vModelCheckbox, vModelDynamic, vModelRadio, vModelSelect, vModelText, vShow, version, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId };
10473
+ export { BaseTransition, BaseTransitionPropsValidators, Comment, EffectScope, Fragment, KeepAlive, ReactiveEffect, Static, Suspense, Teleport, Text, Transition, TransitionGroup, VueElement, assertNumber, callWithAsyncErrorHandling, callWithErrorHandling, camelize, capitalize, cloneVNode, compatUtils, computed, createApp, createBlock, createCommentVNode, createElementBlock, createBaseVNode as createElementVNode, createHydrationRenderer, createPropsRestProxy, createRenderer, createSSRApp, createSlots, createStaticVNode, createTextVNode, createVNode, customRef, defineAsyncComponent, defineComponent, defineCustomElement, defineEmits, defineExpose, defineModel, defineOptions, defineProps, defineSSRCustomElement, defineSlots, devtools, effect, effectScope, getCurrentInstance, getCurrentScope, getTransitionRawChildren, guardReactiveProps, h, handleError, hydrate, initCustomFormatter, initDirectivesForSSR, inject, isMemoSame, isProxy, isReactive, isReadonly, isRef, isRuntimeOnly, isShallow, isVNode, markRaw, mergeDefaults, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, openBlock, popScopeId, provide, proxyRefs, pushScopeId, queuePostFlushCb, reactive, readonly, ref, registerRuntimeCompiler, render, renderList, renderSlot, resolveComponent, resolveDirective, resolveDynamicComponent, resolveFilter, resolveTransitionHooks, setBlockTracking, setDevtoolsHook, setTransitionHooks, shallowReactive, shallowReadonly, shallowRef, ssrContextKey, ssrUtils, stop, toDisplayString, toHandlerKey, toHandlers, toRaw, toRef, toRefs, toValue, transformVNodeArgs, triggerRef, unref, useAttrs, useCssModule, useCssVars, useModel, useSSRContext, useSlots, useTransitionState, vModelCheckbox, vModelDynamic, vModelRadio, vModelSelect, vModelText, vShow, version, warn, watch, watchEffect, watchPostEffect, watchSyncEffect, withAsyncContext, withCtx, withDefaults, withDirectives, withKeys, withMemo, withModifiers, withScopeId };