vue 2.7.6 → 2.7.9

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.
Files changed (48) hide show
  1. package/README.md +1 -1
  2. package/dist/vue.common.dev.js +139 -67
  3. package/dist/vue.common.prod.js +3 -3
  4. package/dist/vue.esm.browser.js +137 -66
  5. package/dist/vue.esm.browser.min.js +3 -3
  6. package/dist/vue.esm.js +138 -66
  7. package/dist/vue.js +140 -67
  8. package/dist/vue.min.js +3 -3
  9. package/dist/vue.runtime.common.dev.js +112 -58
  10. package/dist/vue.runtime.common.prod.js +3 -3
  11. package/dist/vue.runtime.esm.js +111 -57
  12. package/dist/vue.runtime.js +113 -58
  13. package/dist/vue.runtime.min.js +3 -3
  14. package/package.json +2 -2
  15. package/packages/compiler-sfc/dist/compiler-sfc.js +56 -26
  16. package/packages/compiler-sfc/package.json +2 -3
  17. package/packages/compiler-sfc/src/compileTemplate.ts +1 -2
  18. package/packages/compiler-sfc/src/rewriteDefault.ts +6 -1
  19. package/packages/compiler-sfc/src/templateCompilerModules/utils.ts +8 -3
  20. package/packages/compiler-sfc/test/rewriteDefault.spec.ts +245 -0
  21. package/src/compiler/codegen/index.ts +31 -10
  22. package/src/core/instance/init.ts +1 -0
  23. package/src/core/instance/inject.ts +10 -5
  24. package/src/core/instance/lifecycle.ts +18 -10
  25. package/src/core/instance/proxy.ts +2 -2
  26. package/src/core/instance/render.ts +8 -2
  27. package/src/core/instance/state.ts +1 -1
  28. package/src/core/observer/index.ts +1 -1
  29. package/src/core/observer/scheduler.ts +10 -1
  30. package/src/core/observer/watcher.ts +14 -5
  31. package/src/core/vdom/modules/directives.ts +9 -1
  32. package/src/core/vdom/vnode.ts +1 -0
  33. package/src/types/component.ts +1 -0
  34. package/src/v3/apiInject.ts +17 -12
  35. package/src/v3/apiLifecycle.ts +16 -1
  36. package/src/v3/apiSetup.ts +38 -17
  37. package/src/v3/apiWatch.ts +2 -5
  38. package/src/v3/index.ts +1 -1
  39. package/src/v3/reactivity/effectScope.ts +5 -1
  40. package/types/index.d.ts +2 -2
  41. package/types/options.d.ts +24 -9
  42. package/types/v3-component-options.d.ts +3 -0
  43. package/types/v3-component-public-instance.d.ts +2 -4
  44. package/types/v3-define-component.d.ts +34 -34
  45. package/types/v3-generated.d.ts +11 -2
  46. package/types/v3-manual-apis.d.ts +2 -2
  47. package/types/v3-setup-context.d.ts +4 -0
  48. package/types/vue.d.ts +108 -31
package/dist/vue.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vue.js v2.7.6
2
+ * Vue.js v2.7.9
3
3
  * (c) 2014-2022 Evan You
4
4
  * Released under the MIT License.
5
5
  */
@@ -649,13 +649,13 @@ if (process.env.NODE_ENV !== 'production') {
649
649
  'referenced during render. Make sure that this property is reactive, ' +
650
650
  'either in the data option, or for class-based components, by ' +
651
651
  'initializing the property. ' +
652
- 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.', target);
652
+ 'See: https://v2.vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.', target);
653
653
  };
654
654
  var warnReservedPrefix_1 = function (target, key) {
655
655
  warn$2("Property \"".concat(key, "\" must be accessed with \"$data.").concat(key, "\" because ") +
656
656
  'properties starting with "$" or "_" are not proxied in the Vue instance to ' +
657
657
  'prevent conflicts with Vue internals. ' +
658
- 'See: https://vuejs.org/v2/api/#data', target);
658
+ 'See: https://v2.vuejs.org/v2/api/#data', target);
659
659
  };
660
660
  var hasProxy_1 = typeof Proxy !== 'undefined' && isNative(Proxy);
661
661
  if (hasProxy_1) {
@@ -1007,7 +1007,7 @@ function defineReactive(obj, key, val, customSetter, shallow, mock) {
1007
1007
  // #7981: for accessor properties without setter
1008
1008
  return;
1009
1009
  }
1010
- else if (isRef(value) && !isRef(newVal)) {
1010
+ else if (!shallow && isRef(value) && !isRef(newVal)) {
1011
1011
  value.value = newVal;
1012
1012
  return;
1013
1013
  }
@@ -2310,7 +2310,19 @@ function createSetupContext(vm) {
2310
2310
  var exposeCalled = false;
2311
2311
  return {
2312
2312
  get attrs() {
2313
- return initAttrsProxy(vm);
2313
+ if (!vm._attrsProxy) {
2314
+ var proxy = (vm._attrsProxy = {});
2315
+ def(proxy, '_v_attr_proxy', true);
2316
+ syncSetupProxy(proxy, vm.$attrs, emptyObject, vm, '$attrs');
2317
+ }
2318
+ return vm._attrsProxy;
2319
+ },
2320
+ get listeners() {
2321
+ if (!vm._listenersProxy) {
2322
+ var proxy = (vm._listenersProxy = {});
2323
+ syncSetupProxy(proxy, vm.$listeners, emptyObject, vm, '$listeners');
2324
+ }
2325
+ return vm._listenersProxy;
2314
2326
  },
2315
2327
  get slots() {
2316
2328
  return initSlotsProxy(vm);
@@ -2331,20 +2343,12 @@ function createSetupContext(vm) {
2331
2343
  }
2332
2344
  };
2333
2345
  }
2334
- function initAttrsProxy(vm) {
2335
- if (!vm._attrsProxy) {
2336
- var proxy = (vm._attrsProxy = {});
2337
- def(proxy, '_v_attr_proxy', true);
2338
- syncSetupAttrs(proxy, vm.$attrs, emptyObject, vm);
2339
- }
2340
- return vm._attrsProxy;
2341
- }
2342
- function syncSetupAttrs(to, from, prev, instance) {
2346
+ function syncSetupProxy(to, from, prev, instance, type) {
2343
2347
  var changed = false;
2344
2348
  for (var key in from) {
2345
2349
  if (!(key in to)) {
2346
2350
  changed = true;
2347
- defineProxyAttr(to, key, instance);
2351
+ defineProxyAttr(to, key, instance, type);
2348
2352
  }
2349
2353
  else if (from[key] !== prev[key]) {
2350
2354
  changed = true;
@@ -2358,12 +2362,12 @@ function syncSetupAttrs(to, from, prev, instance) {
2358
2362
  }
2359
2363
  return changed;
2360
2364
  }
2361
- function defineProxyAttr(proxy, key, instance) {
2365
+ function defineProxyAttr(proxy, key, instance, type) {
2362
2366
  Object.defineProperty(proxy, key, {
2363
2367
  enumerable: true,
2364
2368
  configurable: true,
2365
2369
  get: function () {
2366
- return instance.$attrs[key];
2370
+ return instance[type][key];
2367
2371
  }
2368
2372
  });
2369
2373
  }
@@ -2384,17 +2388,27 @@ function syncSetupSlots(to, from) {
2384
2388
  }
2385
2389
  }
2386
2390
  /**
2387
- * @internal use manual type def
2391
+ * @internal use manual type def because public setup context type relies on
2392
+ * legacy VNode types
2388
2393
  */
2389
2394
  function useSlots() {
2390
2395
  return getContext().slots;
2391
2396
  }
2392
2397
  /**
2393
- * @internal use manual type def
2398
+ * @internal use manual type def because public setup context type relies on
2399
+ * legacy VNode types
2394
2400
  */
2395
2401
  function useAttrs() {
2396
2402
  return getContext().attrs;
2397
2403
  }
2404
+ /**
2405
+ * Vue 2 only
2406
+ * @internal use manual type def because public setup context type relies on
2407
+ * legacy VNode types
2408
+ */
2409
+ function useListeners() {
2410
+ return getContext().listeners;
2411
+ }
2398
2412
  function getContext() {
2399
2413
  if (process.env.NODE_ENV !== 'production' && !currentInstance) {
2400
2414
  warn$2("useContext() called without active instance.");
@@ -2438,7 +2452,9 @@ function initRender(vm) {
2438
2452
  var parentVnode = (vm.$vnode = options._parentVnode); // the placeholder node in parent tree
2439
2453
  var renderContext = parentVnode && parentVnode.context;
2440
2454
  vm.$slots = resolveSlots(options._renderChildren, renderContext);
2441
- vm.$scopedSlots = emptyObject;
2455
+ vm.$scopedSlots = parentVnode
2456
+ ? normalizeScopedSlots(vm.$parent, parentVnode.data.scopedSlots, vm.$slots)
2457
+ : emptyObject;
2442
2458
  // bind the createElement fn to this instance
2443
2459
  // so that we get proper render context inside it.
2444
2460
  // args order: tag, data, children, normalizationType, alwaysNormalize
@@ -2476,7 +2492,7 @@ function renderMixin(Vue) {
2476
2492
  Vue.prototype._render = function () {
2477
2493
  var vm = this;
2478
2494
  var _a = vm.$options, render = _a.render, _parentVnode = _a._parentVnode;
2479
- if (_parentVnode) {
2495
+ if (_parentVnode && vm._isMounted) {
2480
2496
  vm.$scopedSlots = normalizeScopedSlots(vm.$parent, _parentVnode.data.scopedSlots, vm.$slots, vm.$scopedSlots);
2481
2497
  if (vm._slotsProxy) {
2482
2498
  syncSetupSlots(vm._slotsProxy, vm.$scopedSlots);
@@ -2998,12 +3014,19 @@ function updateChildComponent(vm, propsData, listeners, parentVnode, renderChild
2998
3014
  if (vm._attrsProxy) {
2999
3015
  // force update if attrs are accessed and has changed since it may be
3000
3016
  // passed to a child component.
3001
- if (syncSetupAttrs(vm._attrsProxy, attrs, (prevVNode.data && prevVNode.data.attrs) || emptyObject, vm)) {
3017
+ if (syncSetupProxy(vm._attrsProxy, attrs, (prevVNode.data && prevVNode.data.attrs) || emptyObject, vm, '$attrs')) {
3002
3018
  needsForceUpdate = true;
3003
3019
  }
3004
3020
  }
3005
3021
  vm.$attrs = attrs;
3006
- vm.$listeners = listeners || emptyObject;
3022
+ // update listeners
3023
+ listeners = listeners || emptyObject;
3024
+ var prevListeners = vm.$options._parentListeners;
3025
+ if (vm._listenersProxy) {
3026
+ syncSetupProxy(vm._listenersProxy, listeners, prevListeners || emptyObject, vm, '$listeners');
3027
+ }
3028
+ vm.$listeners = vm.$options._parentListeners = listeners;
3029
+ updateComponentListeners(vm, listeners, prevListeners);
3007
3030
  // update props
3008
3031
  if (propsData && vm.$options.props) {
3009
3032
  toggleObserving(false);
@@ -3018,11 +3041,6 @@ function updateChildComponent(vm, propsData, listeners, parentVnode, renderChild
3018
3041
  // keep a copy of raw propsData
3019
3042
  vm.$options.propsData = propsData;
3020
3043
  }
3021
- // update listeners
3022
- listeners = listeners || emptyObject;
3023
- var oldListeners = vm.$options._parentListeners;
3024
- vm.$options._parentListeners = listeners;
3025
- updateComponentListeners(vm, listeners, oldListeners);
3026
3044
  // resolve slots + force update if has children
3027
3045
  if (needsForceUpdate) {
3028
3046
  vm.$slots = resolveSlots(renderChildren, parentVnode.context);
@@ -3137,6 +3155,16 @@ if (inBrowser && !isIE) {
3137
3155
  getNow = function () { return performance_1.now(); };
3138
3156
  }
3139
3157
  }
3158
+ var sortCompareFn = function (a, b) {
3159
+ if (a.post) {
3160
+ if (!b.post)
3161
+ return 1;
3162
+ }
3163
+ else if (b.post) {
3164
+ return -1;
3165
+ }
3166
+ return a.id - b.id;
3167
+ };
3140
3168
  /**
3141
3169
  * Flush both queues and run the watchers.
3142
3170
  */
@@ -3152,7 +3180,7 @@ function flushSchedulerQueue() {
3152
3180
  // user watchers are created before the render watcher)
3153
3181
  // 3. If a component is destroyed during a parent component's watcher run,
3154
3182
  // its watchers can be skipped.
3155
- queue.sort(function (a, b) { return a.id - b.id; });
3183
+ queue.sort(sortCompareFn);
3156
3184
  // do not cache length because more watchers might be pushed
3157
3185
  // as we run existing watchers
3158
3186
  for (index$1 = 0; index$1 < queue.length; index$1++) {
@@ -3389,8 +3417,7 @@ function doWatch(source, cb, _a) {
3389
3417
  var oldValue = isMultiSource ? [] : INITIAL_WATCHER_VALUE;
3390
3418
  // overwrite default run
3391
3419
  watcher.run = function () {
3392
- if (!watcher.active &&
3393
- !(flush === 'pre' && instance && instance._isBeingDestroyed)) {
3420
+ if (!watcher.active) {
3394
3421
  return;
3395
3422
  }
3396
3423
  if (cb) {
@@ -3425,7 +3452,7 @@ function doWatch(source, cb, _a) {
3425
3452
  watcher.update = watcher.run;
3426
3453
  }
3427
3454
  else if (flush === 'post') {
3428
- watcher.id = Infinity;
3455
+ watcher.post = true;
3429
3456
  watcher.update = function () { return queueWatcher(watcher); };
3430
3457
  }
3431
3458
  else {
@@ -3577,18 +3604,23 @@ function provide(key, value) {
3577
3604
  }
3578
3605
  }
3579
3606
  else {
3580
- var provides = currentInstance._provided;
3581
- // by default an instance inherits its parent's provides object
3582
- // but when it needs to provide values of its own, it creates its
3583
- // own provides object using parent provides object as prototype.
3584
- // this way in `inject` we can simply look up injections from direct
3585
- // parent and let the prototype chain do the work.
3586
- var parentProvides = currentInstance.$parent && currentInstance.$parent._provided;
3587
- if (parentProvides === provides) {
3588
- provides = currentInstance._provided = Object.create(parentProvides);
3589
- }
3590
3607
  // TS doesn't allow symbol as index type
3591
- provides[key] = value;
3608
+ resolveProvided(currentInstance)[key] = value;
3609
+ }
3610
+ }
3611
+ function resolveProvided(vm) {
3612
+ // by default an instance inherits its parent's provides object
3613
+ // but when it needs to provide values of its own, it creates its
3614
+ // own provides object using parent provides object as prototype.
3615
+ // this way in `inject` we can simply look up injections from direct
3616
+ // parent and let the prototype chain do the work.
3617
+ var existing = vm._provided;
3618
+ var parentProvides = vm.$parent && vm.$parent._provided;
3619
+ if (parentProvides === existing) {
3620
+ return (vm._provided = Object.create(parentProvides));
3621
+ }
3622
+ else {
3623
+ return existing;
3592
3624
  }
3593
3625
  }
3594
3626
  function inject(key, defaultValue, treatDefaultAsFactory) {
@@ -3959,17 +3991,21 @@ var onBeforeUpdate = createLifeCycle('beforeUpdate');
3959
3991
  var onUpdated = createLifeCycle('updated');
3960
3992
  var onBeforeUnmount = createLifeCycle('beforeDestroy');
3961
3993
  var onUnmounted = createLifeCycle('destroyed');
3962
- var onErrorCaptured = createLifeCycle('errorCaptured');
3963
3994
  var onActivated = createLifeCycle('activated');
3964
3995
  var onDeactivated = createLifeCycle('deactivated');
3965
3996
  var onServerPrefetch = createLifeCycle('serverPrefetch');
3966
3997
  var onRenderTracked = createLifeCycle('renderTracked');
3967
- var onRenderTriggered = createLifeCycle('renderTriggered');
3998
+ var onRenderTriggered = createLifeCycle('renderTriggered');
3999
+ var injectErrorCapturedHook = createLifeCycle('errorCaptured');
4000
+ function onErrorCaptured(hook, target) {
4001
+ if (target === void 0) { target = currentInstance; }
4002
+ injectErrorCapturedHook(hook, target);
4003
+ }
3968
4004
 
3969
4005
  /**
3970
4006
  * Note: also update dist/vue.runtime.mjs when adding new exports to this file.
3971
4007
  */
3972
- var version = '2.7.6';
4008
+ var version = '2.7.9';
3973
4009
  /**
3974
4010
  * @internal type is manually declared in <root>/types/v3-define-component.d.ts
3975
4011
  */
@@ -4028,11 +4064,16 @@ var uid$1 = 0;
4028
4064
  */
4029
4065
  var Watcher = /** @class */ (function () {
4030
4066
  function Watcher(vm, expOrFn, cb, options, isRenderWatcher) {
4031
- recordEffectScope(this, activeEffectScope || (vm ? vm._scope : undefined));
4032
- if ((this.vm = vm)) {
4033
- if (isRenderWatcher) {
4034
- vm._watcher = this;
4035
- }
4067
+ recordEffectScope(this,
4068
+ // if the active effect scope is manually created (not a component scope),
4069
+ // prioritize it
4070
+ activeEffectScope && !activeEffectScope._vm
4071
+ ? activeEffectScope
4072
+ : vm
4073
+ ? vm._scope
4074
+ : undefined);
4075
+ if ((this.vm = vm) && isRenderWatcher) {
4076
+ vm._watcher = this;
4036
4077
  }
4037
4078
  // options
4038
4079
  if (options) {
@@ -4052,6 +4093,7 @@ var Watcher = /** @class */ (function () {
4052
4093
  this.cb = cb;
4053
4094
  this.id = ++uid$1; // uid for batching
4054
4095
  this.active = true;
4096
+ this.post = false;
4055
4097
  this.dirty = this.lazy; // for lazy watchers
4056
4098
  this.deps = [];
4057
4099
  this.newDeps = [];
@@ -4304,7 +4346,7 @@ function initData(vm) {
4304
4346
  data = {};
4305
4347
  process.env.NODE_ENV !== 'production' &&
4306
4348
  warn$2('data functions should return an object:\n' +
4307
- 'https://vuejs.org/v2/guide/components.html#data-Must-Be-a-Function', vm);
4349
+ 'https://v2.vuejs.org/v2/guide/components.html#data-Must-Be-a-Function', vm);
4308
4350
  }
4309
4351
  // proxy data on instance
4310
4352
  var keys = Object.keys(data);
@@ -4526,12 +4568,14 @@ function initProvide(vm) {
4526
4568
  if (!isObject(provided)) {
4527
4569
  return;
4528
4570
  }
4571
+ var source = resolveProvided(vm);
4572
+ // IE9 doesn't support Object.getOwnPropertyDescriptors so we have to
4573
+ // iterate the keys ourselves.
4529
4574
  var keys = hasSymbol ? Reflect.ownKeys(provided) : Object.keys(provided);
4530
- setCurrentInstance(vm);
4531
4575
  for (var i = 0; i < keys.length; i++) {
4532
- provide(keys[i], provided[keys[i]]);
4576
+ var key = keys[i];
4577
+ Object.defineProperty(source, key, Object.getOwnPropertyDescriptor(provided, key));
4533
4578
  }
4534
- setCurrentInstance();
4535
4579
  }
4536
4580
  }
4537
4581
  function initInjections(vm) {
@@ -4602,6 +4646,7 @@ function initMixin$1(Vue) {
4602
4646
  vm.__v_skip = true;
4603
4647
  // effect scope
4604
4648
  vm._scope = new EffectScope(true /* detached */);
4649
+ vm._scope._vm = true;
4605
4650
  // merge options
4606
4651
  if (options && options._isComponent) {
4607
4652
  // optimize internal component instantiation
@@ -7157,7 +7202,16 @@ function normalizeDirectives(dirs, vm) {
7157
7202
  }
7158
7203
  res[getRawDirName(dir)] = dir;
7159
7204
  if (vm._setupState && vm._setupState.__sfc) {
7160
- dir.def = dir.def || resolveAsset(vm, '_setupState', 'v-' + dir.name);
7205
+ var setupDef = dir.def || resolveAsset(vm, '_setupState', 'v-' + dir.name);
7206
+ if (typeof setupDef === 'function') {
7207
+ dir.def = {
7208
+ bind: setupDef,
7209
+ update: setupDef,
7210
+ };
7211
+ }
7212
+ else {
7213
+ dir.def = setupDef;
7214
+ }
7161
7215
  }
7162
7216
  dir.def = dir.def || resolveAsset(vm.$options, 'directives', dir.name, true);
7163
7217
  }
@@ -10912,7 +10966,8 @@ function genElement(el, state) {
10912
10966
  }
10913
10967
  else {
10914
10968
  var data = void 0;
10915
- if (!el.plain || (el.pre && state.maybeComponent(el))) {
10969
+ var maybeComponent = state.maybeComponent(el);
10970
+ if (!el.plain || (el.pre && maybeComponent)) {
10916
10971
  data = genData(el, state);
10917
10972
  }
10918
10973
  var tag
@@ -10920,11 +10975,8 @@ function genElement(el, state) {
10920
10975
  = void 0;
10921
10976
  // check if this is a component in <script setup>
10922
10977
  var bindings = state.options.bindings;
10923
- if (bindings && bindings.__isScriptSetup !== false) {
10924
- tag =
10925
- checkBindingType(bindings, el.tag) ||
10926
- checkBindingType(bindings, camelize(el.tag)) ||
10927
- checkBindingType(bindings, capitalize(camelize(el.tag)));
10978
+ if (maybeComponent && bindings && bindings.__isScriptSetup !== false) {
10979
+ tag = checkBindingType(bindings, el.tag);
10928
10980
  }
10929
10981
  if (!tag)
10930
10982
  tag = "'".concat(el.tag, "'");
@@ -10941,9 +10993,29 @@ function genElement(el, state) {
10941
10993
  }
10942
10994
  }
10943
10995
  function checkBindingType(bindings, key) {
10944
- var type = bindings[key];
10945
- if (type && type.startsWith('setup')) {
10946
- return key;
10996
+ var camelName = camelize(key);
10997
+ var PascalName = capitalize(camelName);
10998
+ var checkType = function (type) {
10999
+ if (bindings[key] === type) {
11000
+ return key;
11001
+ }
11002
+ if (bindings[camelName] === type) {
11003
+ return camelName;
11004
+ }
11005
+ if (bindings[PascalName] === type) {
11006
+ return PascalName;
11007
+ }
11008
+ };
11009
+ var fromConst = checkType("setup-const" /* BindingTypes.SETUP_CONST */) ||
11010
+ checkType("setup-reactive-const" /* BindingTypes.SETUP_REACTIVE_CONST */);
11011
+ if (fromConst) {
11012
+ return fromConst;
11013
+ }
11014
+ var fromMaybeRef = checkType("setup-let" /* BindingTypes.SETUP_LET */) ||
11015
+ checkType("setup-ref" /* BindingTypes.SETUP_REF */) ||
11016
+ checkType("setup-maybe-ref" /* BindingTypes.SETUP_MAYBE_REF */);
11017
+ if (fromMaybeRef) {
11018
+ return fromMaybeRef;
10947
11019
  }
10948
11020
  }
10949
11021
  // hoist static sub-trees out
@@ -11770,4 +11842,4 @@ function getOuterHTML(el) {
11770
11842
  }
11771
11843
  Vue.compile = compileToFunctions;
11772
11844
 
11773
- export { EffectScope, computed, customRef, Vue as default, defineAsyncComponent, defineComponent, del, effectScope, getCurrentInstance, getCurrentScope, h, inject, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, mergeDefaults, nextTick, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, provide, proxyRefs, reactive, readonly, ref$1 as ref, set, shallowReactive, shallowReadonly, shallowRef, toRaw, toRef, toRefs, triggerRef, unref, useAttrs, useCssModule, useCssVars, useSlots, version, watch, watchEffect, watchPostEffect, watchSyncEffect };
11845
+ export { EffectScope, computed, customRef, Vue as default, defineAsyncComponent, defineComponent, del, effectScope, getCurrentInstance, getCurrentScope, h, inject, isProxy, isReactive, isReadonly, isRef, isShallow, markRaw, mergeDefaults, nextTick, onActivated, onBeforeMount, onBeforeUnmount, onBeforeUpdate, onDeactivated, onErrorCaptured, onMounted, onRenderTracked, onRenderTriggered, onScopeDispose, onServerPrefetch, onUnmounted, onUpdated, provide, proxyRefs, reactive, readonly, ref$1 as ref, set, shallowReactive, shallowReadonly, shallowRef, toRaw, toRef, toRefs, triggerRef, unref, useAttrs, useCssModule, useCssVars, useListeners, useSlots, version, watch, watchEffect, watchPostEffect, watchSyncEffect };