Socket
Socket
Sign inDemoInstall

@vue/composition-api

Package Overview
Dependencies
Maintainers
11
Versions
106
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vue/composition-api - npm Package Compare versions

Comparing version 0.2.1 to 0.3.0

130

CHANGELOG.md

@@ -0,33 +1,75 @@

# 0.3.0
- Improve TypeScript type definitions.
- Fix `context.slots` not being avaliable before render [#84](https://github.com/vuejs/composition-api/issues/81).
## Changed
The `render` function returned from `setup` no longer receives any parameters.
### Previous
```js
export default {
setup() {
return props => h('div', prop.msg);
},
};
```
### Now
```js
export default {
setup(props) {
return () => h('div', prop.msg);
},
};
```
# 0.2.1
* Declare your expected prop types directly in TypeScript:
- Declare your expected prop types directly in TypeScript:
```js
import { createComponent, createElement as h } from '@vue/composition-api'
import { createComponent, createElement as h } from '@vue/composition-api';
interface Props {
msg: string
msg: string;
}
const MyComponent = createComponent<Props>({
setup(props) {
return () => h('div', props.msg)
}
})
const MyComponent =
createComponent <
Props >
{
props: {
msg: {}, // required by vue 2 runtime
},
setup(props) {
return () => h('div', props.msg);
},
};
```
* Declare ref type in TypeScript:
- Declare ref type in TypeScript:
```js
const dateRef = ref<Date>(new Date);
const dateRef = ref < Date > new Date();
```
* Fix `createComponent` not working with `import()` [#81](https://github.com/vuejs/composition-api/issues/81).
* Fix `inject` type declaration [#83](https://github.com/vuejs/composition-api/issues/83).
- Fix `createComponent` not working with `import()` [#81](https://github.com/vuejs/composition-api/issues/81).
- Fix `inject` type declaration [#83](https://github.com/vuejs/composition-api/issues/83).
# 0.2.0
## Fixed
* `computed` property is called immediately in `reactive()` [#79](https://github.com/vuejs/composition-api/issues/79).
- `computed` property is called immediately in `reactive()` [#79](https://github.com/vuejs/composition-api/issues/79).
## Changed
* rename `onBeforeDestroy()` to `onBeforeUnmount()` [lifecycle-hooks](https://vue-composition-api-rfc.netlify.com/api.html#lifecycle-hooks).
* Remove `onCreated()` [lifecycle-hooks](https://vue-composition-api-rfc.netlify.com/api.html#lifecycle-hooks).
* Remove `onDestroyed()` [lifecycle-hooks](https://vue-composition-api-rfc.netlify.com/api.html#lifecycle-hooks).
- rename `onBeforeDestroy()` to `onBeforeUnmount()` [lifecycle-hooks](https://vue-composition-api-rfc.netlify.com/api.html#lifecycle-hooks).
- Remove `onCreated()` [lifecycle-hooks](https://vue-composition-api-rfc.netlify.com/api.html#lifecycle-hooks).
- Remove `onDestroyed()` [lifecycle-hooks](https://vue-composition-api-rfc.netlify.com/api.html#lifecycle-hooks).
# 0.1.0
**The package has been renamed to `@vue/composition-api` to be consistent with RFC.**

@@ -38,51 +80,61 @@

# 2.2.0
* Improve typescript support.
* Export `createElement`.
* Export `SetupContext`.
* Support returning a render function from `setup`.
* Allow string keys in `provide`/`inject`.
- Improve typescript support.
- Export `createElement`.
- Export `SetupContext`.
- Support returning a render function from `setup`.
- Allow string keys in `provide`/`inject`.
# 2.1.2
* Remove auto-unwrapping for Array ([#53](https://github.com/vuejs/composition-api/issues/53)).
- Remove auto-unwrapping for Array ([#53](https://github.com/vuejs/composition-api/issues/53)).
# 2.1.1
* Export `set()` function. Using exported `set` whenever you need to use [Vue.set](https://vuejs.org/v2/api/#Vue-set) or [vm.$set](https://vuejs.org/v2/api/#vm-set). The custom `set` ensures that auto-unwrapping works for the new property.
* Add a new signature of `provide`: `provide(key, value)`.
* Fix multiple `provide` invoking per component.
* Fix order of `setup` invoking.
* `onErrorCaptured` not triggered ([#25](https://github.com/vuejs/composition-api/issues/25)).
* Fix `this` losing in nested setup call ([#38](https://github.com/vuejs/composition-api/issues/38)).
* Fix some edge cases of unwarpping.
* Change `context.slots`'s value. It now proxies to `$scopeSlots` instead of `$slots`.
- Export `set()` function. Using exported `set` whenever you need to use [Vue.set](https://vuejs.org/v2/api/#Vue-set) or [vm.\$set](https://vuejs.org/v2/api/#vm-set). The custom `set` ensures that auto-unwrapping works for the new property.
- Add a new signature of `provide`: `provide(key, value)`.
- Fix multiple `provide` invoking per component.
- Fix order of `setup` invoking.
- `onErrorCaptured` not triggered ([#25](https://github.com/vuejs/composition-api/issues/25)).
- Fix `this` losing in nested setup call ([#38](https://github.com/vuejs/composition-api/issues/38)).
- Fix some edge cases of unwarpping.
- Change `context.slots`'s value. It now proxies to `$scopeSlots` instead of `$slots`.
# 2.0.6
## Fixed
* watch callback is called repeatedly with multi-sources
- watch callback is called repeatedly with multi-sources
## Improved
* reduce `watch()` memory overhead
- reduce `watch()` memory overhead
# 2.0.0
Implement the [newest version of RFC](https://github.com/vuejs/rfcs/blob/function-apis/active-rfcs/0000-function-api.md)
## Breaking Changes
`this` is not available inside `setup()`. See [setup](https://github.com/vuejs/rfcs/blob/function-apis/active-rfcs/0000-function-api.md#the-setup-function) for details.
## Features
Complex Prop Types:
```ts
import { createComponent, PropType } from 'vue'
import { createComponent, PropType } from 'vue';
createComponent({
props: {
options: (null as any) as PropType<{ msg: string }>
options: (null as any) as PropType<{ msg: string }>,
},
setup(props) {
props.options // { msg: string } | undefined
}
})
props.options; // { msg: string } | undefined
},
});
```
# 1.x
Implement the [init version of RFC](https://github.com/vuejs/rfcs/blob/903f429696524d8f93b4976d5b09dfb3632e89ef/active-rfcs/0000-function-api.md)
Implement the [init version of RFC](https://github.com/vuejs/rfcs/blob/903f429696524d8f93b4976d5b09dfb3632e89ef/active-rfcs/0000-function-api.md)

@@ -21,3 +21,3 @@ import Vue, { VueConstructor, VNode, ComponentOptions as Vue2ComponentOptions } from 'vue';

new (): ComponentRenderProxy<ExtractPropTypes<PropsOptions>, UnwrapRef<RawBindings>, ExtractPropTypes<PropsOptions, false>>;
} & VueConstructor<never>;
};
declare type VueProxy<PropsOptions, RawBindings> = Vue2ComponentOptions<never, UnwrapRef<RawBindings>, never, never, PropsOptions, ExtractPropTypes<PropsOptions, false>> & VueConstructorProxy<PropsOptions, RawBindings>;

@@ -27,3 +27,3 @@ export interface SetupContext {

readonly slots: {
[key: string]: VNode[] | undefined;
[key: string]: (...args: any[]) => VNode[];
};

@@ -34,9 +34,13 @@ readonly parent: ComponentInstance | null;

}
declare type RenderFunction<Props> = (props: Props, ctx: SetupContext) => VNode;
export declare type SetupFunction<Props, RawBindings> = (this: void, props: Props, ctx: SetupContext) => RawBindings | RenderFunction<Props>;
interface ComponentOptions<PropsOptions = ComponentPropsOptions, RawBindings = Data, Props = ExtractPropTypes<PropsOptions>> {
export declare type SetupFunction<Props, RawBindings> = (this: void, props: Props, ctx: SetupContext) => RawBindings | (() => VNode | null);
interface ComponentOptionsWithProps<PropsOptions = ComponentPropsOptions, RawBindings = Data, Props = ExtractPropTypes<PropsOptions>> {
props?: PropsOptions;
setup?: SetupFunction<Props, RawBindings>;
}
export declare function createComponent<Props, RawBindings = Data, PropsOptions = ComponentPropsOptions>(options: (HasDefined<Props> extends true ? ComponentOptions<PropsOptions, RawBindings, Props> : ComponentOptions<PropsOptions, RawBindings>) & Omit<Vue2ComponentOptions<Vue>, keyof ComponentOptions<never, never>>): VueProxy<PropsOptions, RawBindings>;
interface ComponentOptionsWithoutProps<Props = never, RawBindings = Data> {
props?: undefined;
setup?: SetupFunction<Props, RawBindings>;
}
export declare function createComponent<RawBindings>(options: ComponentOptionsWithoutProps<never, RawBindings>): VueProxy<never, RawBindings>;
export declare function createComponent<Props, RawBindings = Data, PropsOptions = ComponentPropsOptions>(options: (HasDefined<Props> extends true ? ComponentOptionsWithProps<PropsOptions, RawBindings, Props> : ComponentOptionsWithProps<PropsOptions, RawBindings>) & Omit<Vue2ComponentOptions<Vue>, keyof ComponentOptionsWithProps<never, never>>): VueProxy<PropsOptions, RawBindings>;
export {};

@@ -6,3 +6,3 @@ import { Data } from './component';

declare type Prop<T> = PropOptions<T> | PropType<T>;
interface PropOptions<T = any> {
export interface PropOptions<T = any> {
type?: PropType<T> | null;

@@ -9,0 +9,0 @@ required?: boolean;

export { Data, createComponent, SetupFunction, SetupContext, ComponentInstance } from './component';
export { PropType } from './componentProps';
export { PropType, PropOptions } from './componentProps';

@@ -1,2 +0,2 @@

import Vue, { ComponentOptions, VueConstructor } from 'vue';
import Vue, { VNode, ComponentOptions, VueConstructor } from 'vue';
import { ComponentInstance } from './component';

@@ -6,1 +6,9 @@ export declare function ensureCurrentVMInFn(hook: string): ComponentInstance;

export declare function isComponentInstance(obj: any): boolean | null;
export declare function createSlotProxy(vm: ComponentInstance, slotName: string): (...args: any) => void | VNode[];
export declare function resolveSlots(slots: {
[key: string]: Function;
} | void, normalSlots: {
[key: string]: VNode[] | undefined;
}): {
[key: string]: true;
};

@@ -14,3 +14,3 @@ import Vue, { VueConstructor } from 'vue';

export { SetupContext };
export { createComponent, PropType } from './component';
export { createComponent, PropType, PropOptions } from './component';
export * from './apis/state';

@@ -17,0 +17,0 @@ export * from './apis/lifecycle';

@@ -5,2 +5,3 @@ import { ComponentInstance, Data } from './component';

rawBindings?: Data;
slots?: string[];
}

@@ -7,0 +8,0 @@ declare function set<K extends keyof VfaState>(vm: ComponentInstance, key: K, value: VfaState[K]): void;

@@ -100,2 +100,39 @@ 'use strict';

}
function createSlotProxy(vm, slotName) {
return function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
if (!vm.$scopedSlots[slotName]) {
return warn("slots." + slotName + "() got called outside of the \"render()\" scope", vm);
}
return vm.$scopedSlots[slotName].apply(vm, args);
};
}
function resolveSlots(slots, normalSlots) {
var res;
if (!slots) {
res = {};
}
else if (slots._normalized) {
// fast path 1: child component re-render only, parent did not change
return slots._normalized;
}
else {
res = {};
for (var key in slots) {
if (slots[key] && key[0] !== '$') {
res[key] = true;
}
}
}
// expose normal slots on scopedSlots
for (var key in normalSlots) {
if (!(key in res)) {
res[key] = true;
}
}
return res;
}

@@ -501,2 +538,25 @@ function createSymbol(name) {

}
function resolveScopedSlots(vm, slotsProxy) {
var parentVode = vm.$options._parentVnode;
if (!parentVode)
return;
var prevSlots = vmStateManager.get(vm, 'slots') || [];
var curSlots = resolveSlots(parentVode.data.scopedSlots, vm.$slots);
// remove staled slots
for (var index = 0; index < prevSlots.length; index++) {
var key = prevSlots[index];
if (!curSlots[key]) {
delete slotsProxy[key];
}
}
// proxy fresh slots
var slotNames = Object.keys(curSlots);
for (var index = 0; index < slotNames.length; index++) {
var key = slotNames[index];
if (!slotsProxy[key]) {
slotsProxy[key] = createSlotProxy(vm, key);
}
}
vmStateManager.set(vm, 'slots', slotNames);
}
function activateCurrentInstance(vm, fn, onError) {

@@ -568,2 +628,4 @@ var preVm = getCurrentVM();

var ctx = createSetupContext(vm);
// resolve scopedSlots and slots to functions
resolveScopedSlots(vm, ctx.slots);
var binding;

@@ -579,3 +641,6 @@ activateCurrentInstance(vm, function () {

// keep currentInstance accessible for createElement
vm.$options.render = function () { return activateCurrentInstance(vm, function (vm_) { return bindingFunc_1(vm_.$props, ctx); }); };
vm.$options.render = function () {
resolveScopedSlots(vm, ctx.slots);
return activateCurrentInstance(vm, function () { return bindingFunc_1(); });
};
return;

@@ -609,10 +674,6 @@ }

function createSetupContext(vm) {
var ctx = {};
var props = [
'root',
'parent',
'refs',
['slots', 'scopedSlots'],
'attrs',
];
var ctx = {
slots: {},
};
var props = ['root', 'parent', 'refs', 'attrs'];
var methodReturnVoid = ['emit'];

@@ -619,0 +680,0 @@ props.forEach(function (key) {

@@ -1,1 +0,1 @@

"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var Vue=_interopDefault(require("vue")),toString=function(e){return Object.prototype.toString.call(e)},hasSymbol="function"==typeof Symbol&&Symbol.for,noopFn=function(e){return e},sharedPropertyDefinition={enumerable:!0,configurable:!0,get:noopFn,set:noopFn};function proxy(e,t,n){var r=n.get,o=n.set;sharedPropertyDefinition.get=r||noopFn,sharedPropertyDefinition.set=o||noopFn,Object.defineProperty(e,t,sharedPropertyDefinition)}function def(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var hasOwnProperty=Object.prototype.hasOwnProperty;function hasOwn(e,t){return hasOwnProperty.call(e,t)}function assert(e,t){if(!e)throw new Error("[vue-composition-api] "+t)}function isArray(e){return Array.isArray(e)}function isPlainObject(e){return"[object Object]"===toString(e)}function isFunction(e){return"function"==typeof e}function warn(e,t){Vue.util.warn(e,t)}function logError(e,t,n){if("undefined"==typeof window||"undefined"==typeof console)throw e;console.error(e)}var currentVue=null,currentVM=null;function getCurrentVue(){return currentVue}function setCurrentVue(e){currentVue=e}function getCurrentVM(){return currentVM}function setCurrentVM(e){currentVM=e}function ensureCurrentVMInFn(e){return getCurrentVM()}function createComponentInstance(e,t){void 0===t&&(t={});var n=e.config.silent;e.config.silent=!0;var r=new e(t);return e.config.silent=n,r}function isComponentInstance(e){return currentVue&&e instanceof currentVue}function createSymbol(e){return hasSymbol?Symbol.for(e):e}var WatcherPreFlushQueueKey=createSymbol("vfa.key.preFlushQueue"),WatcherPostFlushQueueKey=createSymbol("vfa.key.postFlushQueue"),AccessControlIdentifierKey=createSymbol("vfa.key.accessControlIdentifier"),ReactiveIdentifierKey=createSymbol("vfa.key.reactiveIdentifier"),NonReactiveIdentifierKey=createSymbol("vfa.key.nonReactiveIdentifier"),RefKey="vfa.key.refKey",RefImpl=function(){return function(e){proxy(this,"value",{get:e.get,set:e.set})}}();function createRef(e){return Object.seal(new RefImpl(e))}function ref(e){var t,n=reactive(((t={})[RefKey]=e,t));return createRef({get:function(){return n[RefKey]},set:function(e){return n[RefKey]=e}})}function isRef(e){return e instanceof RefImpl}function toRefs(e){if(!isPlainObject(e))return e;var t={};return Object.keys(e).forEach(function(n){var r=e[n];isRef(r)||(r=createRef({get:function(){return e[n]},set:function(t){return e[n]=t}})),t[n]=r}),t}var AccessControlIdentifier={},ReactiveIdentifier={},NonReactiveIdentifier={};function isNonReactive(e){return hasOwn(e,NonReactiveIdentifierKey)&&e[NonReactiveIdentifierKey]===NonReactiveIdentifier}function isReactive(e){return hasOwn(e,ReactiveIdentifierKey)&&e[ReactiveIdentifierKey]===ReactiveIdentifier}function setupAccessControl(e){if(!(!isPlainObject(e)||isNonReactive(e)||Array.isArray(e)||isRef(e)||isComponentInstance(e)||hasOwn(e,AccessControlIdentifierKey)&&e[AccessControlIdentifierKey]===AccessControlIdentifier)){Object.isExtensible(e)&&def(e,AccessControlIdentifierKey,AccessControlIdentifier);for(var t=Object.keys(e),n=0;n<t.length;n++)defineAccessControl(e,t[n])}}function defineAccessControl(e,t,n){if("__ob__"!==t){var r,o,i=Object.getOwnPropertyDescriptor(e,t);if(i){if(!1===i.configurable)return;r=i.get,o=i.set,r&&!o||2!==arguments.length||(n=e[t])}setupAccessControl(n),Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){var o=r?r.call(e):n;return t!==RefKey&&isRef(o)?o.value:o},set:function(i){if(!r||o){var u=r?r.call(e):n;t!==RefKey&&isRef(u)&&!isRef(i)?u.value=i:o?o.call(e,i):isRef(i)&&(n=i),setupAccessControl(i)}}})}}function observe(e){var t,n=getCurrentVue();n.observable?t=n.observable(e):t=createComponentInstance(n,{data:{$$state:e}})._data.$$state;return t}function reactive(e){if(!isPlainObject(e)||isReactive(e)||isNonReactive(e)||!Object.isExtensible(e))return e;var t=observe(e);return def(t,ReactiveIdentifierKey,ReactiveIdentifier),setupAccessControl(t),t}function nonReactive(e){return isPlainObject(e)?(e.__ob__=observe({}).__ob__,def(e,NonReactiveIdentifierKey,NonReactiveIdentifier),e):e}function isValidArrayIndex(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function set(e,t,n){var r=getCurrentVue().util,o=(r.warn,r.defineReactive);if(isArray(e)&&isValidArrayIndex(t))return e.length=Math.max(e.length,t),e.splice(t,1,n),n;if(t in e&&!(t in Object.prototype))return e[t]=n,n;var i=e.__ob__;return e._isVue||i&&i.vmCount?n:i?(o(i.value,t,n),defineAccessControl(e,t,n),i.dep.notify(),n):(e[t]=n,n)}function mergeData(e,t){if(!t)return e;for(var n,r,o,i=hasSymbol?Reflect.ownKeys(t):Object.keys(t),u=0;u<i.length;u++)"__ob__"!==(n=i[u])&&(r=e[n],o=t[n],hasOwn(e,n)?r!==o&&isPlainObject(r)&&!isRef(r)&&isPlainObject(o)&&!isRef(r)&&mergeData(r,o):e[n]=o);return e}function install(e,t){currentVue&&currentVue===e||(e.config.optionMergeStrategies.setup=function(e,t){return function(n,r){return mergeData("function"==typeof t&&t(n,r)||{},"function"==typeof e&&e(n,r)||{})}},setCurrentVue(e),t(e))}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function __read(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),u=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)u.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return u}function set$1(e,t,n){(e.__secret_vfa_state__=e.__secret_vfa_state__||{})[t]=n}function get(e,t){return(e.__secret_vfa_state__||{})[t]}var fallbackCreateElement,vmStateManager={set:set$1,get:get};function asVmProperty(e,t,n){var r=e.$options.props;t in e||r&&hasOwn(r,t)||proxy(e,t,{get:function(){return n.value},set:function(e){n.value=e}})}function updateTemplateRef(e){var t=vmStateManager.get(e,"rawBindings")||{};if(t&&Object.keys(t).length){for(var n=e.$refs,r=vmStateManager.get(e,"refs")||[],o=0;o<r.length;o++){n[a=r[o]]||(t[a].value=null)}var i=Object.keys(n),u=[];for(o=0;o<i.length;o++){var a,c=t[a=i[o]];n[a]&&c&&isRef(c)&&(c.value=n[a],u.push(a))}vmStateManager.set(e,"refs",u)}}function activateCurrentInstance(e,t,n){var r=getCurrentVM();setCurrentVM(e);try{return t(e)}catch(e){if(!n)throw e;n(e)}finally{setCurrentVM(r)}}function mixin(e){e.mixin({beforeCreate:function(){var e=this,t=e.$options,n=t.setup,r=t.render;r&&(t.render=function(){for(var t=this,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return activateCurrentInstance(e,function(){return r.apply(t,n)})});if(!n)return;if("function"!=typeof n)return;var o=t.data;t.data=function(){return function(e,t){void 0===t&&(t={});var n,r=e.$options.setup,o=function(e){var t={};return["root","parent","refs",["slots","scopedSlots"],"attrs"].forEach(function(n){var r,o,i;Array.isArray(n)?(r=__read(n,2),o=r[0],i=r[1]):o=i=n,i="$"+i,proxy(t,o,{get:function(){return e[i]},set:function(){warn("Cannot assign to '"+o+"' because it is a read-only property",e)}})}),["emit"].forEach(function(n){var r="$"+n;proxy(t,n,{get:function(){return function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];e[r].apply(e,t)}}})}),t}(e);if(activateCurrentInstance(e,function(){n=r(t,o)}),!n)return;if(isFunction(n)){var i=n;return void(e.$options.render=function(){return activateCurrentInstance(e,function(e){return i(e.$props,o)})})}if(isPlainObject(n)){var u=n;vmStateManager.set(e,"rawBindings",n),Object.keys(n).forEach(function(t){var n=u[t];isRef(n)||(n=isReactive(n)?ref(n):ref(nonReactive(n))),asVmProperty(e,t,n)})}}(e,e.$props),"function"==typeof o?o.call(e,e):o||{}}},mounted:function(){updateTemplateRef(this)},updated:function(){updateTemplateRef(this)}})}var createElement=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return currentVM?currentVM.$createElement.apply(currentVM,e):(warn("`createElement()` has been called outside of render function."),fallbackCreateElement||(fallbackCreateElement=createComponentInstance(getCurrentVue()).$createElement),fallbackCreateElement.apply(fallbackCreateElement,e))};function createComponent(e){return e}var genName=function(e){return"on"+(e[0].toUpperCase()+e.slice(1))};function createLifeCycle(e){return function(t){var n=ensureCurrentVMInFn(genName(e));injectHookOption(getCurrentVue(),n,e,t)}}function createLifeCycles(e,t){return function(n){var r=getCurrentVue(),o=ensureCurrentVMInFn(t);e.forEach(function(e){return injectHookOption(r,o,e,n)})}}function injectHookOption(e,t,n,r){var o=t.$options,i=e.config.optionMergeStrategies[n];o[n]=i(o[n],r)}var fallbackVM,onBeforeMount=createLifeCycle("beforeMount"),onMounted=createLifeCycle("mounted"),onBeforeUpdate=createLifeCycle("beforeUpdate"),onUpdated=createLifeCycle("updated"),onBeforeUnmount=createLifeCycle("beforeDestroy"),onUnmounted=createLifeCycles(["destroyed","deactivated"],genName("unmounted")),onErrorCaptured=createLifeCycle("errorCaptured"),onActivated=createLifeCycle("activated"),onDeactivated=createLifeCycle("deactivated");function flushPreQueue(){flushQueue(this,WatcherPreFlushQueueKey)}function flushPostQueue(){flushQueue(this,WatcherPostFlushQueueKey)}function hasWatchEnv(e){return void 0!==e[WatcherPreFlushQueueKey]}function installWatchEnv(e){e[WatcherPreFlushQueueKey]=[],e[WatcherPostFlushQueueKey]=[],e.$on("hook:beforeUpdate",flushPreQueue),e.$on("hook:updated",flushPostQueue)}function flushQueue(e,t){for(var n=e[t],r=0;r<n.length;r++)n[r]();n.length=0}function queueFlushJob(e,t,n){var r=function(){e.$nextTick(function(){e[WatcherPreFlushQueueKey].length&&flushQueue(e,WatcherPreFlushQueueKey),e[WatcherPostFlushQueueKey].length&&flushQueue(e,WatcherPostFlushQueueKey)})};switch(n){case"pre":r(),e[WatcherPreFlushQueueKey].push(t);break;case"post":r(),e[WatcherPostFlushQueueKey].push(t);break;default:assert(!1,'flush must be one of ["post", "pre", "sync"], but got '+n)}}function createWatcher(e,t,n,r){var o,i,u=r.flush,a=function(t){o=function(){try{t()}catch(t){logError(t,e,"onCleanup()")}}};if(null===n){var c,f=function(){return t(a)},s=function(){o&&o()};if("sync"===u)return e.$watch(f,noopFn,{immediate:!0,deep:r.deep,sync:!0,before:s});var l=!1,p=function(){l||(c=e.$watch(f,noopFn,{immediate:!1,deep:r.deep,before:s}))};return e===fallbackVM?e.$nextTick(p):queueFlushJob(e,p,u),function(){l=!0,c&&c()}}i=Array.isArray(t)?function(){return t.map(function(e){return isRef(e)?e.value:e()})}:isRef(t)?function(){return t.value}:t;var v=function(e,t){o&&o(),n(e,t,a)},d="sync"===u||e===fallbackVM?v:function(t,n){return queueFlushJob(e,function(){v(t,n)},u)},y=function(e,t){y=d,v(e,t)};return e.$watch(i,r.lazy?d:y,{immediate:!r.lazy,deep:r.deep,sync:"sync"===u})}function watch(e,t,n){var r=null;"function"==typeof t?r=t:(n=t,r=null);var o=__assign({lazy:!1,deep:!1,flush:"post"},n),i=getCurrentVM();return i?hasWatchEnv(i)||installWatchEnv(i):(fallbackVM||(fallbackVM=createComponentInstance(getCurrentVue())),i=fallbackVM),createWatcher(i,e,r,o)}function computed(e){var t,n;"function"==typeof e?t=e:(t=e.get,n=e.set);var r=createComponentInstance(getCurrentVue(),{computed:{$$state:{get:t,set:n}}});return createRef({get:function(){return r.$$state},set:function(e){r.$$state=e}})}var NOT_FOUND={};function resolveInject(e,t){for(var n=t;n;){if(n._provided&&hasOwn(n._provided,e))return n._provided[e];n=n.$parent}return NOT_FOUND}function provide(e,t){var n=ensureCurrentVMInFn("provide");if(!n._provided){var r={};Object.defineProperty(n,"_provided",{get:function(){return r},set:function(e){return Object.assign(r,e)}})}n._provided[e]=t}function inject(e,t){if(!e)return t;var n=resolveInject(e,ensureCurrentVMInFn("inject"));return n!==NOT_FOUND?n:void 0!==t?t:void 0}var _install=function(e){return install(e,mixin)},plugin={install:_install};currentVue&&"undefined"!=typeof window&&window.Vue&&_install(window.Vue),exports.computed=computed,exports.createComponent=createComponent,exports.createElement=createElement,exports.default=plugin,exports.inject=inject,exports.isRef=isRef,exports.onActivated=onActivated,exports.onBeforeMount=onBeforeMount,exports.onBeforeUnmount=onBeforeUnmount,exports.onBeforeUpdate=onBeforeUpdate,exports.onDeactivated=onDeactivated,exports.onErrorCaptured=onErrorCaptured,exports.onMounted=onMounted,exports.onUnmounted=onUnmounted,exports.onUpdated=onUpdated,exports.provide=provide,exports.reactive=reactive,exports.ref=ref,exports.set=set,exports.toRefs=toRefs,exports.watch=watch;
"use strict";function _interopDefault(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var Vue=_interopDefault(require("vue")),toString=function(e){return Object.prototype.toString.call(e)},hasSymbol="function"==typeof Symbol&&Symbol.for,noopFn=function(e){return e},sharedPropertyDefinition={enumerable:!0,configurable:!0,get:noopFn,set:noopFn};function proxy(e,t,n){var r=n.get,o=n.set;sharedPropertyDefinition.get=r||noopFn,sharedPropertyDefinition.set=o||noopFn,Object.defineProperty(e,t,sharedPropertyDefinition)}function def(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var hasOwnProperty=Object.prototype.hasOwnProperty;function hasOwn(e,t){return hasOwnProperty.call(e,t)}function assert(e,t){if(!e)throw new Error("[vue-composition-api] "+t)}function isArray(e){return Array.isArray(e)}function isPlainObject(e){return"[object Object]"===toString(e)}function isFunction(e){return"function"==typeof e}function warn(e,t){Vue.util.warn(e,t)}function logError(e,t,n){if("undefined"==typeof window||"undefined"==typeof console)throw e;console.error(e)}var currentVue=null,currentVM=null;function getCurrentVue(){return currentVue}function setCurrentVue(e){currentVue=e}function getCurrentVM(){return currentVM}function setCurrentVM(e){currentVM=e}function ensureCurrentVMInFn(e){return getCurrentVM()}function createComponentInstance(e,t){void 0===t&&(t={});var n=e.config.silent;e.config.silent=!0;var r=new e(t);return e.config.silent=n,r}function isComponentInstance(e){return currentVue&&e instanceof currentVue}function createSlotProxy(e,t){return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e.$scopedSlots[t]?e.$scopedSlots[t].apply(e,n):warn("slots."+t+'() got called outside of the "render()" scope',e)}}function resolveSlots(e,t){var n;if(e){if(e._normalized)return e._normalized;for(var r in n={},e)e[r]&&"$"!==r[0]&&(n[r]=!0)}else n={};for(var r in t)r in n||(n[r]=!0);return n}function createSymbol(e){return hasSymbol?Symbol.for(e):e}var WatcherPreFlushQueueKey=createSymbol("vfa.key.preFlushQueue"),WatcherPostFlushQueueKey=createSymbol("vfa.key.postFlushQueue"),AccessControlIdentifierKey=createSymbol("vfa.key.accessControlIdentifier"),ReactiveIdentifierKey=createSymbol("vfa.key.reactiveIdentifier"),NonReactiveIdentifierKey=createSymbol("vfa.key.nonReactiveIdentifier"),RefKey="vfa.key.refKey",RefImpl=function(){return function(e){proxy(this,"value",{get:e.get,set:e.set})}}();function createRef(e){return Object.seal(new RefImpl(e))}function ref(e){var t,n=reactive(((t={})[RefKey]=e,t));return createRef({get:function(){return n[RefKey]},set:function(e){return n[RefKey]=e}})}function isRef(e){return e instanceof RefImpl}function toRefs(e){if(!isPlainObject(e))return e;var t={};return Object.keys(e).forEach(function(n){var r=e[n];isRef(r)||(r=createRef({get:function(){return e[n]},set:function(t){return e[n]=t}})),t[n]=r}),t}var AccessControlIdentifier={},ReactiveIdentifier={},NonReactiveIdentifier={};function isNonReactive(e){return hasOwn(e,NonReactiveIdentifierKey)&&e[NonReactiveIdentifierKey]===NonReactiveIdentifier}function isReactive(e){return hasOwn(e,ReactiveIdentifierKey)&&e[ReactiveIdentifierKey]===ReactiveIdentifier}function setupAccessControl(e){if(!(!isPlainObject(e)||isNonReactive(e)||Array.isArray(e)||isRef(e)||isComponentInstance(e)||hasOwn(e,AccessControlIdentifierKey)&&e[AccessControlIdentifierKey]===AccessControlIdentifier)){Object.isExtensible(e)&&def(e,AccessControlIdentifierKey,AccessControlIdentifier);for(var t=Object.keys(e),n=0;n<t.length;n++)defineAccessControl(e,t[n])}}function defineAccessControl(e,t,n){if("__ob__"!==t){var r,o,i=Object.getOwnPropertyDescriptor(e,t);if(i){if(!1===i.configurable)return;r=i.get,o=i.set,r&&!o||2!==arguments.length||(n=e[t])}setupAccessControl(n),Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){var o=r?r.call(e):n;return t!==RefKey&&isRef(o)?o.value:o},set:function(i){if(!r||o){var a=r?r.call(e):n;t!==RefKey&&isRef(a)&&!isRef(i)?a.value=i:o?o.call(e,i):isRef(i)&&(n=i),setupAccessControl(i)}}})}}function observe(e){var t,n=getCurrentVue();n.observable?t=n.observable(e):t=createComponentInstance(n,{data:{$$state:e}})._data.$$state;return t}function reactive(e){if(!isPlainObject(e)||isReactive(e)||isNonReactive(e)||!Object.isExtensible(e))return e;var t=observe(e);return def(t,ReactiveIdentifierKey,ReactiveIdentifier),setupAccessControl(t),t}function nonReactive(e){return isPlainObject(e)?(e.__ob__=observe({}).__ob__,def(e,NonReactiveIdentifierKey,NonReactiveIdentifier),e):e}function isValidArrayIndex(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function set(e,t,n){var r=getCurrentVue().util,o=(r.warn,r.defineReactive);if(isArray(e)&&isValidArrayIndex(t))return e.length=Math.max(e.length,t),e.splice(t,1,n),n;if(t in e&&!(t in Object.prototype))return e[t]=n,n;var i=e.__ob__;return e._isVue||i&&i.vmCount?n:i?(o(i.value,t,n),defineAccessControl(e,t,n),i.dep.notify(),n):(e[t]=n,n)}function mergeData(e,t){if(!t)return e;for(var n,r,o,i=hasSymbol?Reflect.ownKeys(t):Object.keys(t),a=0;a<i.length;a++)"__ob__"!==(n=i[a])&&(r=e[n],o=t[n],hasOwn(e,n)?r!==o&&isPlainObject(r)&&!isRef(r)&&isPlainObject(o)&&!isRef(r)&&mergeData(r,o):e[n]=o);return e}function install(e,t){currentVue&&currentVue===e||(e.config.optionMergeStrategies.setup=function(e,t){return function(n,r){return mergeData("function"==typeof t&&t(n,r)||{},"function"==typeof e&&e(n,r)||{})}},setCurrentVue(e),t(e))}var __assign=function(){return(__assign=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function __read(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)a.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return a}function set$1(e,t,n){(e.__secret_vfa_state__=e.__secret_vfa_state__||{})[t]=n}function get(e,t){return(e.__secret_vfa_state__||{})[t]}var fallbackCreateElement,vmStateManager={set:set$1,get:get};function asVmProperty(e,t,n){var r=e.$options.props;t in e||r&&hasOwn(r,t)||proxy(e,t,{get:function(){return n.value},set:function(e){n.value=e}})}function updateTemplateRef(e){var t=vmStateManager.get(e,"rawBindings")||{};if(t&&Object.keys(t).length){for(var n=e.$refs,r=vmStateManager.get(e,"refs")||[],o=0;o<r.length;o++){n[u=r[o]]||(t[u].value=null)}var i=Object.keys(n),a=[];for(o=0;o<i.length;o++){var u,c=t[u=i[o]];n[u]&&c&&isRef(c)&&(c.value=n[u],a.push(u))}vmStateManager.set(e,"refs",a)}}function resolveScopedSlots(e,t){var n=e.$options._parentVnode;if(n){for(var r=vmStateManager.get(e,"slots")||[],o=resolveSlots(n.data.scopedSlots,e.$slots),i=0;i<r.length;i++){o[u=r[i]]||delete t[u]}var a=Object.keys(o);for(i=0;i<a.length;i++){var u;t[u=a[i]]||(t[u]=createSlotProxy(e,u))}vmStateManager.set(e,"slots",a)}}function activateCurrentInstance(e,t,n){var r=getCurrentVM();setCurrentVM(e);try{return t(e)}catch(e){if(!n)throw e;n(e)}finally{setCurrentVM(r)}}function mixin(e){e.mixin({beforeCreate:function(){var e=this,t=e.$options,n=t.setup,r=t.render;r&&(t.render=function(){for(var t=this,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return activateCurrentInstance(e,function(){return r.apply(t,n)})});if(!n)return;if("function"!=typeof n)return;var o=t.data;t.data=function(){return function(e,t){void 0===t&&(t={});var n,r=e.$options.setup,o=function(e){var t={slots:{}};return["root","parent","refs","attrs"].forEach(function(n){var r,o,i;Array.isArray(n)?(r=__read(n,2),o=r[0],i=r[1]):o=i=n,i="$"+i,proxy(t,o,{get:function(){return e[i]},set:function(){warn("Cannot assign to '"+o+"' because it is a read-only property",e)}})}),["emit"].forEach(function(n){var r="$"+n;proxy(t,n,{get:function(){return function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];e[r].apply(e,t)}}})}),t}(e);if(resolveScopedSlots(e,o.slots),activateCurrentInstance(e,function(){n=r(t,o)}),!n)return;if(isFunction(n)){var i=n;return void(e.$options.render=function(){return resolveScopedSlots(e,o.slots),activateCurrentInstance(e,function(){return i()})})}if(isPlainObject(n)){var a=n;vmStateManager.set(e,"rawBindings",n),Object.keys(n).forEach(function(t){var n=a[t];isRef(n)||(n=isReactive(n)?ref(n):ref(nonReactive(n))),asVmProperty(e,t,n)})}}(e,e.$props),"function"==typeof o?o.call(e,e):o||{}}},mounted:function(){updateTemplateRef(this)},updated:function(){updateTemplateRef(this)}})}var createElement=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return currentVM?currentVM.$createElement.apply(currentVM,e):(warn("`createElement()` has been called outside of render function."),fallbackCreateElement||(fallbackCreateElement=createComponentInstance(getCurrentVue()).$createElement),fallbackCreateElement.apply(fallbackCreateElement,e))};function createComponent(e){return e}var genName=function(e){return"on"+(e[0].toUpperCase()+e.slice(1))};function createLifeCycle(e){return function(t){var n=ensureCurrentVMInFn(genName(e));injectHookOption(getCurrentVue(),n,e,t)}}function createLifeCycles(e,t){return function(n){var r=getCurrentVue(),o=ensureCurrentVMInFn(t);e.forEach(function(e){return injectHookOption(r,o,e,n)})}}function injectHookOption(e,t,n,r){var o=t.$options,i=e.config.optionMergeStrategies[n];o[n]=i(o[n],r)}var fallbackVM,onBeforeMount=createLifeCycle("beforeMount"),onMounted=createLifeCycle("mounted"),onBeforeUpdate=createLifeCycle("beforeUpdate"),onUpdated=createLifeCycle("updated"),onBeforeUnmount=createLifeCycle("beforeDestroy"),onUnmounted=createLifeCycles(["destroyed","deactivated"],genName("unmounted")),onErrorCaptured=createLifeCycle("errorCaptured"),onActivated=createLifeCycle("activated"),onDeactivated=createLifeCycle("deactivated");function flushPreQueue(){flushQueue(this,WatcherPreFlushQueueKey)}function flushPostQueue(){flushQueue(this,WatcherPostFlushQueueKey)}function hasWatchEnv(e){return void 0!==e[WatcherPreFlushQueueKey]}function installWatchEnv(e){e[WatcherPreFlushQueueKey]=[],e[WatcherPostFlushQueueKey]=[],e.$on("hook:beforeUpdate",flushPreQueue),e.$on("hook:updated",flushPostQueue)}function flushQueue(e,t){for(var n=e[t],r=0;r<n.length;r++)n[r]();n.length=0}function queueFlushJob(e,t,n){var r=function(){e.$nextTick(function(){e[WatcherPreFlushQueueKey].length&&flushQueue(e,WatcherPreFlushQueueKey),e[WatcherPostFlushQueueKey].length&&flushQueue(e,WatcherPostFlushQueueKey)})};switch(n){case"pre":r(),e[WatcherPreFlushQueueKey].push(t);break;case"post":r(),e[WatcherPostFlushQueueKey].push(t);break;default:assert(!1,'flush must be one of ["post", "pre", "sync"], but got '+n)}}function createWatcher(e,t,n,r){var o,i,a=r.flush,u=function(t){o=function(){try{t()}catch(t){logError(t,e,"onCleanup()")}}};if(null===n){var c,f=function(){return t(u)},s=function(){o&&o()};if("sync"===a)return e.$watch(f,noopFn,{immediate:!0,deep:r.deep,sync:!0,before:s});var l=!1,p=function(){l||(c=e.$watch(f,noopFn,{immediate:!1,deep:r.deep,before:s}))};return e===fallbackVM?e.$nextTick(p):queueFlushJob(e,p,a),function(){l=!0,c&&c()}}i=Array.isArray(t)?function(){return t.map(function(e){return isRef(e)?e.value:e()})}:isRef(t)?function(){return t.value}:t;var v=function(e,t){o&&o(),n(e,t,u)},d="sync"===a||e===fallbackVM?v:function(t,n){return queueFlushJob(e,function(){v(t,n)},a)},y=function(e,t){y=d,v(e,t)};return e.$watch(i,r.lazy?d:y,{immediate:!r.lazy,deep:r.deep,sync:"sync"===a})}function watch(e,t,n){var r=null;"function"==typeof t?r=t:(n=t,r=null);var o=__assign({lazy:!1,deep:!1,flush:"post"},n),i=getCurrentVM();return i?hasWatchEnv(i)||installWatchEnv(i):(fallbackVM||(fallbackVM=createComponentInstance(getCurrentVue())),i=fallbackVM),createWatcher(i,e,r,o)}function computed(e){var t,n;"function"==typeof e?t=e:(t=e.get,n=e.set);var r=createComponentInstance(getCurrentVue(),{computed:{$$state:{get:t,set:n}}});return createRef({get:function(){return r.$$state},set:function(e){r.$$state=e}})}var NOT_FOUND={};function resolveInject(e,t){for(var n=t;n;){if(n._provided&&hasOwn(n._provided,e))return n._provided[e];n=n.$parent}return NOT_FOUND}function provide(e,t){var n=ensureCurrentVMInFn("provide");if(!n._provided){var r={};Object.defineProperty(n,"_provided",{get:function(){return r},set:function(e){return Object.assign(r,e)}})}n._provided[e]=t}function inject(e,t){if(!e)return t;var n=resolveInject(e,ensureCurrentVMInFn("inject"));return n!==NOT_FOUND?n:void 0!==t?t:void 0}var _install=function(e){return install(e,mixin)},plugin={install:_install};currentVue&&"undefined"!=typeof window&&window.Vue&&_install(window.Vue),exports.computed=computed,exports.createComponent=createComponent,exports.createElement=createElement,exports.default=plugin,exports.inject=inject,exports.isRef=isRef,exports.onActivated=onActivated,exports.onBeforeMount=onBeforeMount,exports.onBeforeUnmount=onBeforeUnmount,exports.onBeforeUpdate=onBeforeUpdate,exports.onDeactivated=onDeactivated,exports.onErrorCaptured=onErrorCaptured,exports.onMounted=onMounted,exports.onUnmounted=onUnmounted,exports.onUpdated=onUpdated,exports.provide=provide,exports.reactive=reactive,exports.ref=ref,exports.set=set,exports.toRefs=toRefs,exports.watch=watch;

@@ -94,2 +94,39 @@ import Vue from 'vue';

}
function createSlotProxy(vm, slotName) {
return function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
if (!vm.$scopedSlots[slotName]) {
return warn("slots." + slotName + "() got called outside of the \"render()\" scope", vm);
}
return vm.$scopedSlots[slotName].apply(vm, args);
};
}
function resolveSlots(slots, normalSlots) {
var res;
if (!slots) {
res = {};
}
else if (slots._normalized) {
// fast path 1: child component re-render only, parent did not change
return slots._normalized;
}
else {
res = {};
for (var key in slots) {
if (slots[key] && key[0] !== '$') {
res[key] = true;
}
}
}
// expose normal slots on scopedSlots
for (var key in normalSlots) {
if (!(key in res)) {
res[key] = true;
}
}
return res;
}

@@ -495,2 +532,25 @@ function createSymbol(name) {

}
function resolveScopedSlots(vm, slotsProxy) {
var parentVode = vm.$options._parentVnode;
if (!parentVode)
return;
var prevSlots = vmStateManager.get(vm, 'slots') || [];
var curSlots = resolveSlots(parentVode.data.scopedSlots, vm.$slots);
// remove staled slots
for (var index = 0; index < prevSlots.length; index++) {
var key = prevSlots[index];
if (!curSlots[key]) {
delete slotsProxy[key];
}
}
// proxy fresh slots
var slotNames = Object.keys(curSlots);
for (var index = 0; index < slotNames.length; index++) {
var key = slotNames[index];
if (!slotsProxy[key]) {
slotsProxy[key] = createSlotProxy(vm, key);
}
}
vmStateManager.set(vm, 'slots', slotNames);
}
function activateCurrentInstance(vm, fn, onError) {

@@ -562,2 +622,4 @@ var preVm = getCurrentVM();

var ctx = createSetupContext(vm);
// resolve scopedSlots and slots to functions
resolveScopedSlots(vm, ctx.slots);
var binding;

@@ -573,3 +635,6 @@ activateCurrentInstance(vm, function () {

// keep currentInstance accessible for createElement
vm.$options.render = function () { return activateCurrentInstance(vm, function (vm_) { return bindingFunc_1(vm_.$props, ctx); }); };
vm.$options.render = function () {
resolveScopedSlots(vm, ctx.slots);
return activateCurrentInstance(vm, function () { return bindingFunc_1(); });
};
return;

@@ -603,10 +668,6 @@ }

function createSetupContext(vm) {
var ctx = {};
var props = [
'root',
'parent',
'refs',
['slots', 'scopedSlots'],
'attrs',
];
var ctx = {
slots: {},
};
var props = ['root', 'parent', 'refs', 'attrs'];
var methodReturnVoid = ['emit'];

@@ -613,0 +674,0 @@ props.forEach(function (key) {

@@ -100,2 +100,39 @@ (function (global, factory) {

}
function createSlotProxy(vm, slotName) {
return function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
if (!vm.$scopedSlots[slotName]) {
return warn("slots." + slotName + "() got called outside of the \"render()\" scope", vm);
}
return vm.$scopedSlots[slotName].apply(vm, args);
};
}
function resolveSlots(slots, normalSlots) {
var res;
if (!slots) {
res = {};
}
else if (slots._normalized) {
// fast path 1: child component re-render only, parent did not change
return slots._normalized;
}
else {
res = {};
for (var key in slots) {
if (slots[key] && key[0] !== '$') {
res[key] = true;
}
}
}
// expose normal slots on scopedSlots
for (var key in normalSlots) {
if (!(key in res)) {
res[key] = true;
}
}
return res;
}

@@ -501,2 +538,25 @@ function createSymbol(name) {

}
function resolveScopedSlots(vm, slotsProxy) {
var parentVode = vm.$options._parentVnode;
if (!parentVode)
return;
var prevSlots = vmStateManager.get(vm, 'slots') || [];
var curSlots = resolveSlots(parentVode.data.scopedSlots, vm.$slots);
// remove staled slots
for (var index = 0; index < prevSlots.length; index++) {
var key = prevSlots[index];
if (!curSlots[key]) {
delete slotsProxy[key];
}
}
// proxy fresh slots
var slotNames = Object.keys(curSlots);
for (var index = 0; index < slotNames.length; index++) {
var key = slotNames[index];
if (!slotsProxy[key]) {
slotsProxy[key] = createSlotProxy(vm, key);
}
}
vmStateManager.set(vm, 'slots', slotNames);
}
function activateCurrentInstance(vm, fn, onError) {

@@ -568,2 +628,4 @@ var preVm = getCurrentVM();

var ctx = createSetupContext(vm);
// resolve scopedSlots and slots to functions
resolveScopedSlots(vm, ctx.slots);
var binding;

@@ -579,3 +641,6 @@ activateCurrentInstance(vm, function () {

// keep currentInstance accessible for createElement
vm.$options.render = function () { return activateCurrentInstance(vm, function (vm_) { return bindingFunc_1(vm_.$props, ctx); }); };
vm.$options.render = function () {
resolveScopedSlots(vm, ctx.slots);
return activateCurrentInstance(vm, function () { return bindingFunc_1(); });
};
return;

@@ -609,10 +674,6 @@ }

function createSetupContext(vm) {
var ctx = {};
var props = [
'root',
'parent',
'refs',
['slots', 'scopedSlots'],
'attrs',
];
var ctx = {
slots: {},
};
var props = ['root', 'parent', 'refs', 'attrs'];
var methodReturnVoid = ['emit'];

@@ -619,0 +680,0 @@ props.forEach(function (key) {

@@ -1,1 +0,1 @@

!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e=e||self).vueCompositionApi={},e.Vue)}(this,function(e,t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n=function(e){return Object.prototype.toString.call(e)},r="function"==typeof Symbol&&Symbol.for,o=function(e){return e},i={enumerable:!0,configurable:!0,get:o,set:o};function u(e,t,n){var r=n.get,u=n.set;i.get=r||o,i.set=u||o,Object.defineProperty(e,t,i)}function f(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var a=Object.prototype.hasOwnProperty;function c(e,t){return a.call(e,t)}function s(e){return"[object Object]"===n(e)}function l(e,n){t.util.warn(e,n)}var v=null,p=null;function d(){return v}function y(){return p}function b(e){p=e}function h(e){return y()}function g(e,t){void 0===t&&(t={});var n=e.config.silent;e.config.silent=!0;var r=new e(t);return e.config.silent=n,r}function _(e){return r?Symbol.for(e):e}var m=_("vfa.key.preFlushQueue"),w=_("vfa.key.postFlushQueue"),$=_("vfa.key.accessControlIdentifier"),O=_("vfa.key.reactiveIdentifier"),j=_("vfa.key.nonReactiveIdentifier"),k="vfa.key.refKey",E=function(){return function(e){u(this,"value",{get:e.get,set:e.set})}}();function x(e){return Object.seal(new E(e))}function A(e){var t,n=z(((t={})[k]=e,t));return x({get:function(){return n[k]},set:function(e){return n[k]=e}})}function S(e){return e instanceof E}var C={},P={},M={};function U(e){return c(e,j)&&e[j]===M}function B(e){return c(e,O)&&e[O]===P}function R(e){var t;if(!(!s(e)||U(e)||Array.isArray(e)||S(e)||(t=e,v&&t instanceof v))&&(!c(e,$)||e[$]!==C)){Object.isExtensible(e)&&f(e,$,C);for(var n=Object.keys(e),r=0;r<n.length;r++)F(e,n[r])}}function F(e,t,n){if("__ob__"!==t){var r,o,i=Object.getOwnPropertyDescriptor(e,t);if(i){if(!1===i.configurable)return;r=i.get,o=i.set,r&&!o||2!==arguments.length||(n=e[t])}R(n),Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){var o=r?r.call(e):n;return t!==k&&S(o)?o.value:o},set:function(i){if(!r||o){var u=r?r.call(e):n;t!==k&&S(u)&&!S(i)?u.value=i:o?o.call(e,i):S(i)&&(n=i),R(i)}}})}}function V(e){var t,n=d();n.observable?t=n.observable(e):t=g(n,{data:{$$state:e}})._data.$$state;return t}function z(e){if(!s(e)||B(e)||U(e)||!Object.isExtensible(e))return e;var t=V(e);return f(t,O,P),R(t),t}function D(e,t){v&&v===e||(e.config.optionMergeStrategies.setup=function(e,t){return function(n,o){return function e(t,n){if(!n)return t;for(var o,i,u,f=r?Reflect.ownKeys(n):Object.keys(n),a=0;a<f.length;a++)"__ob__"!==(o=f[a])&&(i=t[o],u=n[o],c(t,o)?i!==u&&s(i)&&!S(i)&&s(u)&&!S(i)&&e(i,u):t[o]=u);return t}("function"==typeof t&&t(n,o)||{},"function"==typeof e&&e(n,o)||{})}},v=e,t(e))}var I=function(){return(I=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};var K,Q={set:function(e,t,n){(e.__secret_vfa_state__=e.__secret_vfa_state__||{})[t]=n},get:function(e,t){return(e.__secret_vfa_state__||{})[t]}};function T(e){var t=Q.get(e,"rawBindings")||{};if(t&&Object.keys(t).length){for(var n=e.$refs,r=Q.get(e,"refs")||[],o=0;o<r.length;o++){n[f=r[o]]||(t[f].value=null)}var i=Object.keys(n),u=[];for(o=0;o<i.length;o++){var f,a=t[f=i[o]];n[f]&&a&&S(a)&&(a.value=n[f],u.push(f))}Q.set(e,"refs",u)}}function q(e,t,n){var r=y();b(e);try{return t(e)}catch(e){if(!n)throw e;n(e)}finally{b(r)}}function G(e){e.mixin({beforeCreate:function(){var e=this,t=e.$options,n=t.setup,r=t.render;r&&(t.render=function(){for(var t=this,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return q(e,function(){return r.apply(t,n)})});if(!n)return;if("function"!=typeof n)return;var o=t.data;t.data=function(){return function(e,t){void 0===t&&(t={});var n,r=e.$options.setup,o=function(e){var t={};return["root","parent","refs",["slots","scopedSlots"],"attrs"].forEach(function(n){var r,o,i;Array.isArray(n)?(r=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),u=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)u.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return u}(n,2),o=r[0],i=r[1]):o=i=n,i="$"+i,u(t,o,{get:function(){return e[i]},set:function(){l("Cannot assign to '"+o+"' because it is a read-only property",e)}})}),["emit"].forEach(function(n){var r="$"+n;u(t,n,{get:function(){return function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];e[r].apply(e,t)}}})}),t}(e);if(q(e,function(){n=r(t,o)}),!n)return;if(a=n,"function"==typeof a){var i=n;return void(e.$options.render=function(){return q(e,function(e){return i(e.$props,o)})})}var a;if(s(n)){var v=n;Q.set(e,"rawBindings",n),Object.keys(n).forEach(function(t){var n,r=v[t];S(r)||(r=B(r)?A(r):A(s(n=r)?(n.__ob__=V({}).__ob__,f(n,j,M),n):n)),function(e,t,n){var r=e.$options.props;t in e||r&&c(r,t)||u(e,t,{get:function(){return n.value},set:function(e){n.value=e}})}(e,t,r)})}}(e,e.$props),"function"==typeof o?o.call(e,e):o||{}}},mounted:function(){T(this)},updated:function(){T(this)}})}var H=function(e){return"on"+(e[0].toUpperCase()+e.slice(1))};function J(e){return function(t){var n=h(H(e));L(d(),n,e,t)}}function L(e,t,n,r){var o=t.$options,i=e.config.optionMergeStrategies[n];o[n]=i(o[n],r)}var N,W,X=J("beforeMount"),Y=J("mounted"),Z=J("beforeUpdate"),ee=J("updated"),te=J("beforeDestroy"),ne=(N=["destroyed","deactivated"],H("unmounted"),function(e){var t=d(),n=h();N.forEach(function(r){return L(t,n,r,e)})}),re=J("errorCaptured"),oe=J("activated"),ie=J("deactivated");function ue(){ae(this,m)}function fe(){ae(this,w)}function ae(e,t){for(var n=e[t],r=0;r<n.length;r++)n[r]();n.length=0}function ce(e,t,n){var r=function(){e.$nextTick(function(){e[m].length&&ae(e,m),e[w].length&&ae(e,w)})};switch(n){case"pre":r(),e[m].push(t);break;case"post":r(),e[w].push(t);break;default:!function(e,t){if(!e)throw new Error("[vue-composition-api] "+t)}(!1,'flush must be one of ["post", "pre", "sync"], but got '+n)}}function se(e,t,n,r){var i,u,f=r.flush,a=function(e){i=function(){try{e()}catch(e){!function(e,t,n){if("undefined"==typeof window||"undefined"==typeof console)throw e;console.error(e)}(e)}}};if(null===n){var c,s=function(){return t(a)},l=function(){i&&i()};if("sync"===f)return e.$watch(s,o,{immediate:!0,deep:r.deep,sync:!0,before:l});var v=!1,p=function(){v||(c=e.$watch(s,o,{immediate:!1,deep:r.deep,before:l}))};return e===W?e.$nextTick(p):ce(e,p,f),function(){v=!0,c&&c()}}u=Array.isArray(t)?function(){return t.map(function(e){return S(e)?e.value:e()})}:S(t)?function(){return t.value}:t;var d=function(e,t){i&&i(),n(e,t,a)},y="sync"===f||e===W?d:function(t,n){return ce(e,function(){d(t,n)},f)},b=function(e,t){b=y,d(e,t)};return e.$watch(u,r.lazy?y:b,{immediate:!r.lazy,deep:r.deep,sync:"sync"===f})}var le={};var ve=function(e){return D(e,G)},pe={install:ve};v&&"undefined"!=typeof window&&window.Vue&&ve(window.Vue),e.computed=function(e){var t,n;"function"==typeof e?t=e:(t=e.get,n=e.set);var r=g(d(),{computed:{$$state:{get:t,set:n}}});return x({get:function(){return r.$$state},set:function(e){r.$$state=e}})},e.createComponent=function(e){return e},e.createElement=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return p?p.$createElement.apply(p,e):(l("`createElement()` has been called outside of render function."),K||(K=g(d()).$createElement),K.apply(K,e))},e.default=pe,e.inject=function(e,t){if(!e)return t;var n=function(e,t){for(var n=t;n;){if(n._provided&&c(n._provided,e))return n._provided[e];n=n.$parent}return le}(e,h());return n!==le?n:void 0!==t?t:void 0},e.isRef=S,e.onActivated=oe,e.onBeforeMount=X,e.onBeforeUnmount=te,e.onBeforeUpdate=Z,e.onDeactivated=ie,e.onErrorCaptured=re,e.onMounted=Y,e.onUnmounted=ne,e.onUpdated=ee,e.provide=function(e,t){var n=h();if(!n._provided){var r={};Object.defineProperty(n,"_provided",{get:function(){return r},set:function(e){return Object.assign(r,e)}})}n._provided[e]=t},e.reactive=z,e.ref=A,e.set=function(e,t,n){var r,o=d().util,i=(o.warn,o.defineReactive);if(r=e,Array.isArray(r)&&function(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}(t))return e.length=Math.max(e.length,t),e.splice(t,1,n),n;if(t in e&&!(t in Object.prototype))return e[t]=n,n;var u=e.__ob__;return e._isVue||u&&u.vmCount?n:u?(i(u.value,t,n),F(e,t,n),u.dep.notify(),n):(e[t]=n,n)},e.toRefs=function(e){if(!s(e))return e;var t={};return Object.keys(e).forEach(function(n){var r=e[n];S(r)||(r=x({get:function(){return e[n]},set:function(t){return e[n]=t}})),t[n]=r}),t},e.watch=function(e,t,n){var r=null;"function"==typeof t?r=t:(n=t,r=null);var o=I({lazy:!1,deep:!1,flush:"post"},n),i=y();return i?function(e){return void 0!==e[m]}(i)||function(e){e[m]=[],e[w]=[],e.$on("hook:beforeUpdate",ue),e.$on("hook:updated",fe)}(i):(W||(W=g(d())),i=W),se(i,e,r,o)},Object.defineProperty(e,"__esModule",{value:!0})});
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("vue")):"function"==typeof define&&define.amd?define(["exports","vue"],t):t((e=e||self).vueCompositionApi={},e.Vue)}(this,function(e,t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var n=function(e){return Object.prototype.toString.call(e)},r="function"==typeof Symbol&&Symbol.for,o=function(e){return e},i={enumerable:!0,configurable:!0,get:o,set:o};function u(e,t,n){var r=n.get,u=n.set;i.get=r||o,i.set=u||o,Object.defineProperty(e,t,i)}function f(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var a=Object.prototype.hasOwnProperty;function c(e,t){return a.call(e,t)}function s(e){return"[object Object]"===n(e)}function l(e,n){t.util.warn(e,n)}var v=null,p=null;function d(){return v}function y(){return p}function h(e){p=e}function b(e){return y()}function g(e,t){void 0===t&&(t={});var n=e.config.silent;e.config.silent=!0;var r=new e(t);return e.config.silent=n,r}function _(e,t){return function(){for(var n=[],r=0;r<arguments.length;r++)n[r]=arguments[r];return e.$scopedSlots[t]?e.$scopedSlots[t].apply(e,n):l("slots."+t+'() got called outside of the "render()" scope',e)}}function m(e){return r?Symbol.for(e):e}var $=m("vfa.key.preFlushQueue"),w=m("vfa.key.postFlushQueue"),O=m("vfa.key.accessControlIdentifier"),j=m("vfa.key.reactiveIdentifier"),k=m("vfa.key.nonReactiveIdentifier"),E="vfa.key.refKey",S=function(){return function(e){u(this,"value",{get:e.get,set:e.set})}}();function x(e){return Object.seal(new S(e))}function A(e){var t,n=D(((t={})[E]=e,t));return x({get:function(){return n[E]},set:function(e){return n[E]=e}})}function C(e){return e instanceof S}var P={},M={},U={};function z(e){return c(e,k)&&e[k]===U}function B(e){return c(e,j)&&e[j]===M}function R(e){var t;if(!(!s(e)||z(e)||Array.isArray(e)||C(e)||(t=e,v&&t instanceof v))&&(!c(e,O)||e[O]!==P)){Object.isExtensible(e)&&f(e,O,P);for(var n=Object.keys(e),r=0;r<n.length;r++)V(e,n[r])}}function V(e,t,n){if("__ob__"!==t){var r,o,i=Object.getOwnPropertyDescriptor(e,t);if(i){if(!1===i.configurable)return;r=i.get,o=i.set,r&&!o||2!==arguments.length||(n=e[t])}R(n),Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){var o=r?r.call(e):n;return t!==E&&C(o)?o.value:o},set:function(i){if(!r||o){var u=r?r.call(e):n;t!==E&&C(u)&&!C(i)?u.value=i:o?o.call(e,i):C(i)&&(n=i),R(i)}}})}}function F(e){var t,n=d();n.observable?t=n.observable(e):t=g(n,{data:{$$state:e}})._data.$$state;return t}function D(e){if(!s(e)||B(e)||z(e)||!Object.isExtensible(e))return e;var t=F(e);return f(t,j,M),R(t),t}function I(e,t){v&&v===e||(e.config.optionMergeStrategies.setup=function(e,t){return function(n,o){return function e(t,n){if(!n)return t;for(var o,i,u,f=r?Reflect.ownKeys(n):Object.keys(n),a=0;a<f.length;a++)"__ob__"!==(o=f[a])&&(i=t[o],u=n[o],c(t,o)?i!==u&&s(i)&&!C(i)&&s(u)&&!C(i)&&e(i,u):t[o]=u);return t}("function"==typeof t&&t(n,o)||{},"function"==typeof e&&e(n,o)||{})}},v=e,t(e))}var K=function(){return(K=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var o in t=arguments[n])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};var Q,T={set:function(e,t,n){(e.__secret_vfa_state__=e.__secret_vfa_state__||{})[t]=n},get:function(e,t){return(e.__secret_vfa_state__||{})[t]}};function q(e){var t=T.get(e,"rawBindings")||{};if(t&&Object.keys(t).length){for(var n=e.$refs,r=T.get(e,"refs")||[],o=0;o<r.length;o++){n[f=r[o]]||(t[f].value=null)}var i=Object.keys(n),u=[];for(o=0;o<i.length;o++){var f,a=t[f=i[o]];n[f]&&a&&C(a)&&(a.value=n[f],u.push(f))}T.set(e,"refs",u)}}function G(e,t){var n=e.$options._parentVnode;if(n){for(var r=T.get(e,"slots")||[],o=function(e,t){var n;if(e){if(e._normalized)return e._normalized;for(var r in n={},e)e[r]&&"$"!==r[0]&&(n[r]=!0)}else n={};for(var r in t)r in n||(n[r]=!0);return n}(n.data.scopedSlots,e.$slots),i=0;i<r.length;i++){o[f=r[i]]||delete t[f]}var u=Object.keys(o);for(i=0;i<u.length;i++){var f;t[f=u[i]]||(t[f]=_(e,f))}T.set(e,"slots",u)}}function H(e,t,n){var r=y();h(e);try{return t(e)}catch(e){if(!n)throw e;n(e)}finally{h(r)}}function J(e){e.mixin({beforeCreate:function(){var e=this,t=e.$options,n=t.setup,r=t.render;r&&(t.render=function(){for(var t=this,n=[],o=0;o<arguments.length;o++)n[o]=arguments[o];return H(e,function(){return r.apply(t,n)})});if(!n)return;if("function"!=typeof n)return;var o=t.data;t.data=function(){return function(e,t){void 0===t&&(t={});var n,r=e.$options.setup,o=function(e){var t={slots:{}};return["root","parent","refs","attrs"].forEach(function(n){var r,o,i;Array.isArray(n)?(r=function(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,o,i=n.call(e),u=[];try{for(;(void 0===t||t-- >0)&&!(r=i.next()).done;)u.push(r.value)}catch(e){o={error:e}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return u}(n,2),o=r[0],i=r[1]):o=i=n,i="$"+i,u(t,o,{get:function(){return e[i]},set:function(){l("Cannot assign to '"+o+"' because it is a read-only property",e)}})}),["emit"].forEach(function(n){var r="$"+n;u(t,n,{get:function(){return function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];e[r].apply(e,t)}}})}),t}(e);if(G(e,o.slots),H(e,function(){n=r(t,o)}),!n)return;if(a=n,"function"==typeof a){var i=n;return void(e.$options.render=function(){return G(e,o.slots),H(e,function(){return i()})})}var a;if(s(n)){var v=n;T.set(e,"rawBindings",n),Object.keys(n).forEach(function(t){var n,r=v[t];C(r)||(r=B(r)?A(r):A(s(n=r)?(n.__ob__=F({}).__ob__,f(n,k,U),n):n)),function(e,t,n){var r=e.$options.props;t in e||r&&c(r,t)||u(e,t,{get:function(){return n.value},set:function(e){n.value=e}})}(e,t,r)})}}(e,e.$props),"function"==typeof o?o.call(e,e):o||{}}},mounted:function(){q(this)},updated:function(){q(this)}})}var L=function(e){return"on"+(e[0].toUpperCase()+e.slice(1))};function N(e){return function(t){var n=b(L(e));W(d(),n,e,t)}}function W(e,t,n,r){var o=t.$options,i=e.config.optionMergeStrategies[n];o[n]=i(o[n],r)}var X,Y,Z=N("beforeMount"),ee=N("mounted"),te=N("beforeUpdate"),ne=N("updated"),re=N("beforeDestroy"),oe=(X=["destroyed","deactivated"],L("unmounted"),function(e){var t=d(),n=b();X.forEach(function(r){return W(t,n,r,e)})}),ie=N("errorCaptured"),ue=N("activated"),fe=N("deactivated");function ae(){se(this,$)}function ce(){se(this,w)}function se(e,t){for(var n=e[t],r=0;r<n.length;r++)n[r]();n.length=0}function le(e,t,n){var r=function(){e.$nextTick(function(){e[$].length&&se(e,$),e[w].length&&se(e,w)})};switch(n){case"pre":r(),e[$].push(t);break;case"post":r(),e[w].push(t);break;default:!function(e,t){if(!e)throw new Error("[vue-composition-api] "+t)}(!1,'flush must be one of ["post", "pre", "sync"], but got '+n)}}function ve(e,t,n,r){var i,u,f=r.flush,a=function(e){i=function(){try{e()}catch(e){!function(e,t,n){if("undefined"==typeof window||"undefined"==typeof console)throw e;console.error(e)}(e)}}};if(null===n){var c,s=function(){return t(a)},l=function(){i&&i()};if("sync"===f)return e.$watch(s,o,{immediate:!0,deep:r.deep,sync:!0,before:l});var v=!1,p=function(){v||(c=e.$watch(s,o,{immediate:!1,deep:r.deep,before:l}))};return e===Y?e.$nextTick(p):le(e,p,f),function(){v=!0,c&&c()}}u=Array.isArray(t)?function(){return t.map(function(e){return C(e)?e.value:e()})}:C(t)?function(){return t.value}:t;var d=function(e,t){i&&i(),n(e,t,a)},y="sync"===f||e===Y?d:function(t,n){return le(e,function(){d(t,n)},f)},h=function(e,t){h=y,d(e,t)};return e.$watch(u,r.lazy?y:h,{immediate:!r.lazy,deep:r.deep,sync:"sync"===f})}var pe={};var de=function(e){return I(e,J)},ye={install:de};v&&"undefined"!=typeof window&&window.Vue&&de(window.Vue),e.computed=function(e){var t,n;"function"==typeof e?t=e:(t=e.get,n=e.set);var r=g(d(),{computed:{$$state:{get:t,set:n}}});return x({get:function(){return r.$$state},set:function(e){r.$$state=e}})},e.createComponent=function(e){return e},e.createElement=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return p?p.$createElement.apply(p,e):(l("`createElement()` has been called outside of render function."),Q||(Q=g(d()).$createElement),Q.apply(Q,e))},e.default=ye,e.inject=function(e,t){if(!e)return t;var n=function(e,t){for(var n=t;n;){if(n._provided&&c(n._provided,e))return n._provided[e];n=n.$parent}return pe}(e,b());return n!==pe?n:void 0!==t?t:void 0},e.isRef=C,e.onActivated=ue,e.onBeforeMount=Z,e.onBeforeUnmount=re,e.onBeforeUpdate=te,e.onDeactivated=fe,e.onErrorCaptured=ie,e.onMounted=ee,e.onUnmounted=oe,e.onUpdated=ne,e.provide=function(e,t){var n=b();if(!n._provided){var r={};Object.defineProperty(n,"_provided",{get:function(){return r},set:function(e){return Object.assign(r,e)}})}n._provided[e]=t},e.reactive=D,e.ref=A,e.set=function(e,t,n){var r,o=d().util,i=(o.warn,o.defineReactive);if(r=e,Array.isArray(r)&&function(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}(t))return e.length=Math.max(e.length,t),e.splice(t,1,n),n;if(t in e&&!(t in Object.prototype))return e[t]=n,n;var u=e.__ob__;return e._isVue||u&&u.vmCount?n:u?(i(u.value,t,n),V(e,t,n),u.dep.notify(),n):(e[t]=n,n)},e.toRefs=function(e){if(!s(e))return e;var t={};return Object.keys(e).forEach(function(n){var r=e[n];C(r)||(r=x({get:function(){return e[n]},set:function(t){return e[n]=t}})),t[n]=r}),t},e.watch=function(e,t,n){var r=null;"function"==typeof t?r=t:(n=t,r=null);var o=K({lazy:!1,deep:!1,flush:"post"},n),i=y();return i?function(e){return void 0!==e[$]}(i)||function(e){e[$]=[],e[w]=[],e.$on("hook:beforeUpdate",ae),e.$on("hook:updated",ce)}(i):(Y||(Y=g(d())),i=Y),ve(i,e,r,o)},Object.defineProperty(e,"__esModule",{value:!0})});
{
"name": "@vue/composition-api",
"version": "0.2.1",
"version": "0.3.0",
"description": "Provide logic composition capabilities for Vue.",

@@ -5,0 +5,0 @@ "keywords": [

@@ -5,3 +5,3 @@ # Vue Composition API

`@vue/composition-api` provides a way to use Vue3's **Composition api** in `Vue2.x`.
`@vue/composition-api` provides a way to use `Vue 3.0`'s **Composition api** in `Vue 2.x`.

@@ -58,2 +58,4 @@ [**中文文档**](./README.zh-CN.md)

**Please upgrade to the latest TypeScript. If you are using vetur, make sure to set `vetur.useWorkspaceDependencies` to `true`.**
To let TypeScript properly infer types inside Vue component options, you need to define components with `createComponent`:

@@ -90,3 +92,3 @@

state.list.push(ref(1));
// no unwrap, `.value` is required
// no unwrap, `.value` is required
state.list[1].value === 1; // true

@@ -102,3 +104,3 @@ ```

const b = reactive({
list: [a], // a.count will not unwrap!!
list: [a], // `a.count` will not unwrap!!
});

@@ -155,3 +157,3 @@

> :white_check_mark:
Support &nbsp;&nbsp;&nbsp;&nbsp;:x: Not Support
Support &nbsp;&nbsp;&nbsp;&nbsp;:x: Not Supported

@@ -248,3 +250,3 @@ :white_check_mark:

> :warning: **Warning**: The `SetupContext.refs` won't existed in `Vue3.0`. `@vue/composition-api` provide it as a workaround here.
> :warning: **Warning**: The `SetupContext.refs` won't exist in `Vue 3.0`. `@vue/composition-api` provide it as a workaround here.

@@ -271,3 +273,3 @@ ```js

You may also need to augment the `SetupContext` when wokring with TypeScript:
You may also need to augment the `SetupContext` when working with TypeScript:

@@ -274,0 +276,0 @@ ```ts

@@ -5,3 +5,3 @@ # Vue Composition API

`@vue/composition-api` 使开发者们可以在 `Vue2.x` 中使用 `Vue3` 引入的**基于函数**的**逻辑复用机制**。
`@vue/composition-api` 使开发者们可以在 `Vue 2.x` 中使用 `Vue 3.0` 引入的**基于函数**的**逻辑复用机制**。

@@ -54,8 +54,10 @@ [**English Version**](./README.md)

安装插件后,您就可以使用新的[Composition API](https://vue-composition-api-rfc.netlify.com/)来开发组件了。
安装插件后,您就可以使用新的 [Composition API](https://vue-composition-api-rfc.netlify.com/) 来开发组件了。
# TypeScript
为了让 TypeScript 正确的推到类型,我们必须使用 `createComponent` 来定义组件:
**请使用最新版的 TypeScript,如果你使用了 `vetur`,请将 `vetur.useWorkspaceDependencies` 设为 `true`。**
为了让 TypeScript 正确的推导类型,我们必须使用 `createComponent` 来定义组件:
```ts

@@ -70,3 +72,3 @@ import { createComponent } from '@vue/composition-api';

// 无法进行选项的类型推断
// TypeScript 无法知道这是一个 vue 组件的选项对象
// TypeScript 无法知道这是一个 Vue 组件的选项对象
};

@@ -147,3 +149,3 @@ ```

不支持 `onTrack` 和 `onTrigger` 选项.
不支持 `onTrack` 和 `onTrigger` 选项。

@@ -242,5 +244,5 @@ ---

如果你依然选择在 `setup()` 中写 `render` 函数,那么你可以使用 `SetupContext.refs` 来访问模板引用,它等价于 vue2 中的 `this.$refs`:
如果你依然选择在 `setup()` 中写 `render` 函数,那么你可以使用 `SetupContext.refs` 来访问模板引用,它等价于 Vue 2.x 中的 `this.$refs`:
> :warning: **警告**: `SetupContext.refs` 并不属于 `Vue3.0` 的一部分, `@vue/composition-api` 将其曝光在 `SetupContext` 中只是临时提供的一种变通方案。
> :warning: **警告**: `SetupContext.refs` 并不属于 `Vue 3.0` 的一部分, `@vue/composition-api` 将其曝光在 `SetupContext` 中只是临时提供一种变通方案。

@@ -267,3 +269,3 @@ ```js

如果项目使用了 TypeScript 中,你还需要扩展 `SetupContext` 类型:
如果项目使用了 TypeScript,你还需要扩展 `SetupContext` 类型:

@@ -270,0 +272,0 @@ ```ts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc