first commit
This commit is contained in:
21
extensions/app/vue/LICENSE
Normal file
21
extensions/app/vue/LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2013-present, Yuxi (Evan) You
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
386
extensions/app/vue/README.md
Normal file
386
extensions/app/vue/README.md
Normal file
@@ -0,0 +1,386 @@
|
||||
<p align="center"><a href="https://vuejs.org" target="_blank" rel="noopener noreferrer"><img width="100" src="https://vuejs.org/images/logo.png" alt="Vue logo"></a></p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://circleci.com/gh/vuejs/vue/tree/dev"><img src="https://img.shields.io/circleci/project/github/vuejs/vue/dev.svg?sanitize=true" alt="Build Status"></a>
|
||||
<a href="https://codecov.io/github/vuejs/vue?branch=dev"><img src="https://img.shields.io/codecov/c/github/vuejs/vue/dev.svg?sanitize=true" alt="Coverage Status"></a>
|
||||
<a href="https://npmcharts.com/compare/vue?minimal=true"><img src="https://img.shields.io/npm/dm/vue.svg?sanitize=true" alt="Downloads"></a>
|
||||
<a href="https://www.npmjs.com/package/vue"><img src="https://img.shields.io/npm/v/vue.svg?sanitize=true" alt="Version"></a>
|
||||
<a href="https://www.npmjs.com/package/vue"><img src="https://img.shields.io/npm/l/vue.svg?sanitize=true" alt="License"></a>
|
||||
<a href="https://chat.vuejs.org/"><img src="https://img.shields.io/badge/chat-on%20discord-7289da.svg?sanitize=true" alt="Chat"></a>
|
||||
<br>
|
||||
<a href="https://app.saucelabs.com/builds/50f8372d79f743a3b25fb6ca4851ca4c"><img src="https://app.saucelabs.com/buildstatus/vuejs" alt="Build Status"></a>
|
||||
</p>
|
||||
|
||||
<h2 align="center">Supporting Vue.js</h2>
|
||||
|
||||
Vue.js is an MIT-licensed open source project with its ongoing development made possible entirely by the support of these awesome [backers](https://github.com/vuejs/vue/blob/dev/BACKERS.md). If you'd like to join them, please consider:
|
||||
|
||||
- [Become a backer or sponsor on Patreon](https://www.patreon.com/evanyou).
|
||||
- [Become a backer or sponsor on Open Collective](https://opencollective.com/vuejs).
|
||||
- [One-time donation via PayPal or crypto-currencies](https://vuejs.org/support-vuejs/#One-time-Donations).
|
||||
|
||||
#### What's the difference between Patreon and OpenCollective?
|
||||
|
||||
Funds donated via Patreon go directly to support Evan You's full-time work on Vue.js. Funds donated via OpenCollective are managed with transparent expenses and will be used for compensating work and expenses for core team members or sponsoring community events. Your name/logo will receive proper recognition and exposure by donating on either platform.
|
||||
|
||||
<h3 align="center">Special Sponsors</h3>
|
||||
<!--special start-->
|
||||
|
||||
<p align="center">
|
||||
<a href="https://autocode.com/" target="_blank">
|
||||
<img width="260px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/autocode.svg?sanitize=true">
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<!--special end-->
|
||||
|
||||
<h3 align="center">Platinum Sponsors</h3>
|
||||
|
||||
<!--platinum start-->
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://vueschool.io/?utm_source=Vuejs.org&utm_medium=Banner&utm_campaign=Sponsored%20Banner&utm_content=V1" target="_blank">
|
||||
<img width="222px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/vueschool.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://vehikl.com/" target="_blank">
|
||||
<img width="222px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/vehikl.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://retool.com/?utm_source=sponsor&utm_campaign=vue" target="_blank">
|
||||
<img width="222px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/retool.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://passionatepeople.io/" target="_blank">
|
||||
<img width="222px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/passionate_people.png">
|
||||
</a>
|
||||
</td>
|
||||
</tr><tr></tr>
|
||||
<tr>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://www.storyblok.com" target="_blank">
|
||||
<img width="222px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/storyblok.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://ionicframework.com/vue?utm_source=partner&utm_medium=referral&utm_campaign=vuesponsorship&utm_content=vuedocs" target="_blank">
|
||||
<img width="222px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/ionic.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://nuxtjs.org/" target="_blank">
|
||||
<img width="222px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/nuxt.png">
|
||||
</a>
|
||||
</td>
|
||||
</tr><tr></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<!--platinum end-->
|
||||
|
||||
<!--special-china start-->
|
||||
<h3 align="center">Platinum Sponsors (China)</h3>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" valign="middle">
|
||||
<a href="http://www.dcloud.io/?hmsr=vuejsorg&hmpl=&hmcu=&hmkw=&hmci=" target="_blank">
|
||||
<img width="177px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/dcloud.gif">
|
||||
</a>
|
||||
</td>
|
||||
</tr><tr></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<!--special-china end-->
|
||||
|
||||
<h3 align="center">Gold Sponsors</h3>
|
||||
|
||||
<!--gold start-->
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://www.vuemastery.com/" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/vuemastery.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://laravel.com" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/laravel.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://htmlburger.com" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/html_burger.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://www.frontenddeveloperlove.com/" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/frontendlove.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://neds.com.au/" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/neds.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://icons8.com/" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/icons_8.png">
|
||||
</a>
|
||||
</td>
|
||||
</tr><tr></tr>
|
||||
<tr>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://vuejobs.com/?ref=vuejs" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/vuejobs.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://tidelift.com/subscription/npm/vue" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/tidelift.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://www.firesticktricks.com/" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/firestick_tricks.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://intygrate.com/" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/intygrate.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="http://en.shopware.com/" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/shopware_ag.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://www.vpnranks.com/" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/vpnranks.png">
|
||||
</a>
|
||||
</td>
|
||||
</tr><tr></tr>
|
||||
<tr>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://www.bacancytechnology.com/hire-vuejs-developer" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/bacancy_technology.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://www.bestvpn.co/" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/bestvpn_co.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://www.y8.com/" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/y8.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://js.devexpress.com/" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/devexpress.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://fastcoding.jp/javascript/ " target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/fastcoding_inc.svg?sanitize=true">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://usave.co.uk/utilities/broadband" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/usave.png">
|
||||
</a>
|
||||
</td>
|
||||
</tr><tr></tr>
|
||||
<tr>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://www.foo.software" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/foo.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://flatlogic.com/templates" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/flatlogic_templates.svg?sanitize=true">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="http://moovweb.com/" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/moovweb.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://vpn-review.com/netflix-vpn" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/vpn_review.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://cosmos.network/" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/tendermint.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://www.okayhq.com/" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/okay.png">
|
||||
</a>
|
||||
</td>
|
||||
</tr><tr></tr>
|
||||
<tr>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://www.vpsserver.com" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/vpsserver_com.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://aussiecasinohex.com/" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/aussiecasinohex.svg?sanitize=true">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://litslink.com" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/litslink.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://newicon.net" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/newicon.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://lowdefy.com?k=w432" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/lowdefy.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://quickbookstoolhub.com/" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/quickbooks_tool_hub.png">
|
||||
</a>
|
||||
</td>
|
||||
</tr><tr></tr>
|
||||
<tr>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://linecorp.com" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/line_corporation.png">
|
||||
</a>
|
||||
</td>
|
||||
<td align="center" valign="middle">
|
||||
<a href="https://exmax.it/" target="_blank">
|
||||
<img width="148px" src="https://raw.githubusercontent.com/vuejs/vuejs.org/master/themes/vue/source/images/exmax.png">
|
||||
</a>
|
||||
</td>
|
||||
</tr><tr></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<!--gold end-->
|
||||
|
||||
<h3 align="center">Sponsors via <a href="https://opencollective.com/vuejs">Open Collective</a></h3>
|
||||
|
||||
<h4 align="center">Platinum</h4>
|
||||
|
||||
<a href="https://opencollective.com/vuejs/tiers/platinum-sponsors/0/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/platinum-sponsors/0/avatar.svg?sanitize=true"></a>
|
||||
<a href="https://opencollective.com/vuejs/tiers/platinum-sponsors/1/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/platinum-sponsors/1/avatar.svg?sanitize=true"></a>
|
||||
|
||||
<h4 align="center">Gold</h4>
|
||||
|
||||
<a href="https://opencollective.com/vuejs/tiers/gold-sponsors/0/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/gold-sponsors/0/avatar.svg?sanitize=true" height="60px"></a>
|
||||
<a href="https://opencollective.com/vuejs/tiers/gold-sponsors/1/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/gold-sponsors/1/avatar.svg?sanitize=true" height="60px"></a>
|
||||
<a href="https://opencollective.com/vuejs/tiers/gold-sponsors/2/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/gold-sponsors/2/avatar.svg?sanitize=true" height="60px"></a>
|
||||
<a href="https://opencollective.com/vuejs/tiers/gold-sponsors/3/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/gold-sponsors/3/avatar.svg?sanitize=true" height="60px"></a>
|
||||
<a href="https://opencollective.com/vuejs/tiers/gold-sponsors/4/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/gold-sponsors/4/avatar.svg?sanitize=true" height="60px"></a>
|
||||
<a href="https://opencollective.com/vuejs/tiers/gold-sponsors/5/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/gold-sponsors/5/avatar.svg?sanitize=true" height="60px"></a>
|
||||
<a href="https://opencollective.com/vuejs/tiers/gold-sponsors/6/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/gold-sponsors/6/avatar.svg?sanitize=true" height="60px"></a>
|
||||
<a href="https://opencollective.com/vuejs/tiers/gold-sponsors/7/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/gold-sponsors/7/avatar.svg?sanitize=true" height="60px"></a>
|
||||
<a href="https://opencollective.com/vuejs/tiers/gold-sponsors/8/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/gold-sponsors/8/avatar.svg?sanitize=true" height="60px"></a>
|
||||
<a href="https://opencollective.com/vuejs/tiers/gold-sponsors/9/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/gold-sponsors/9/avatar.svg?sanitize=true" height="60px"></a><a href="https://opencollective.com/vuejs/tiers/gold-sponsors/10/website" target="_blank" rel="noopener noreferrer"><img src="https://opencollective.com/vuejs/tiers/gold-sponsors/10/avatar.svg?sanitize=true" height="60px"></a>
|
||||
|
||||
---
|
||||
|
||||
## Introduction
|
||||
|
||||
Vue (pronounced `/vjuː/`, like view) is a **progressive framework** for building user interfaces. It is designed from the ground up to be incrementally adoptable, and can easily scale between a library and a framework depending on different use cases. It consists of an approachable core library that focuses on the view layer only, and an ecosystem of supporting libraries that helps you tackle complexity in large Single-Page Applications.
|
||||
|
||||
#### Browser Compatibility
|
||||
|
||||
Vue.js supports all browsers that are [ES5-compliant](https://kangax.github.io/compat-table/es5/) (IE8 and below are not supported).
|
||||
|
||||
## Ecosystem
|
||||
|
||||
| Project | Status | Description |
|
||||
|---------|--------|-------------|
|
||||
| [vue-router] | [![vue-router-status]][vue-router-package] | Single-page application routing |
|
||||
| [vuex] | [![vuex-status]][vuex-package] | Large-scale state management |
|
||||
| [vue-cli] | [![vue-cli-status]][vue-cli-package] | Project scaffolding |
|
||||
| [vue-loader] | [![vue-loader-status]][vue-loader-package] | Single File Component (`*.vue` file) loader for webpack |
|
||||
| [vue-server-renderer] | [![vue-server-renderer-status]][vue-server-renderer-package] | Server-side rendering support |
|
||||
| [vue-class-component] | [![vue-class-component-status]][vue-class-component-package] | TypeScript decorator for a class-based API |
|
||||
| [vue-rx] | [![vue-rx-status]][vue-rx-package] | RxJS integration |
|
||||
| [vue-devtools] | [![vue-devtools-status]][vue-devtools-package] | Browser DevTools extension |
|
||||
|
||||
[vue-router]: https://github.com/vuejs/vue-router
|
||||
[vuex]: https://github.com/vuejs/vuex
|
||||
[vue-cli]: https://github.com/vuejs/vue-cli
|
||||
[vue-loader]: https://github.com/vuejs/vue-loader
|
||||
[vue-server-renderer]: https://github.com/vuejs/vue/tree/dev/packages/vue-server-renderer
|
||||
[vue-class-component]: https://github.com/vuejs/vue-class-component
|
||||
[vue-rx]: https://github.com/vuejs/vue-rx
|
||||
[vue-devtools]: https://github.com/vuejs/vue-devtools
|
||||
|
||||
[vue-router-status]: https://img.shields.io/npm/v/vue-router.svg
|
||||
[vuex-status]: https://img.shields.io/npm/v/vuex.svg
|
||||
[vue-cli-status]: https://img.shields.io/npm/v/@vue/cli.svg
|
||||
[vue-loader-status]: https://img.shields.io/npm/v/vue-loader.svg
|
||||
[vue-server-renderer-status]: https://img.shields.io/npm/v/vue-server-renderer.svg
|
||||
[vue-class-component-status]: https://img.shields.io/npm/v/vue-class-component.svg
|
||||
[vue-rx-status]: https://img.shields.io/npm/v/vue-rx.svg
|
||||
[vue-devtools-status]: https://img.shields.io/chrome-web-store/v/nhdogjmejiglipccpnnnanhbledajbpd.svg
|
||||
|
||||
[vue-router-package]: https://npmjs.com/package/vue-router
|
||||
[vuex-package]: https://npmjs.com/package/vuex
|
||||
[vue-cli-package]: https://npmjs.com/package/@vue/cli
|
||||
[vue-loader-package]: https://npmjs.com/package/vue-loader
|
||||
[vue-server-renderer-package]: https://npmjs.com/package/vue-server-renderer
|
||||
[vue-class-component-package]: https://npmjs.com/package/vue-class-component
|
||||
[vue-rx-package]: https://npmjs.com/package/vue-rx
|
||||
[vue-devtools-package]: https://chrome.google.com/webstore/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd
|
||||
|
||||
## Documentation
|
||||
|
||||
To check out [live examples](https://vuejs.org/v2/examples/) and docs, visit [vuejs.org](https://vuejs.org).
|
||||
|
||||
## Questions
|
||||
|
||||
For questions and support please use [the official forum](https://forum.vuejs.org) or [community chat](https://chat.vuejs.org/). The issue list of this repo is **exclusively** for bug reports and feature requests.
|
||||
|
||||
## Issues
|
||||
|
||||
Please make sure to read the [Issue Reporting Checklist](https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#issue-reporting-guidelines) before opening an issue. Issues not conforming to the guidelines may be closed immediately.
|
||||
|
||||
## Changelog
|
||||
|
||||
Detailed changes for each release are documented in the [release notes](https://github.com/vuejs/vue/releases).
|
||||
|
||||
## Stay In Touch
|
||||
|
||||
- [Twitter](https://twitter.com/vuejs)
|
||||
- [Blog](https://medium.com/the-vue-point)
|
||||
- [Job Board](https://vuejobs.com/?ref=vuejs)
|
||||
|
||||
## Contribution
|
||||
|
||||
Please make sure to read the [Contributing Guide](https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md) before making a pull request. If you have a Vue-related project/component/tool, add it with a pull request to [this curated list](https://github.com/vuejs/awesome-vue)!
|
||||
|
||||
Thank you to all the people who already contributed to Vue!
|
||||
|
||||
<a href="https://github.com/vuejs/vue/graphs/contributors"><img src="https://opencollective.com/vuejs/contributors.svg?width=890" /></a>
|
||||
|
||||
|
||||
## License
|
||||
|
||||
[MIT](https://opensource.org/licenses/MIT)
|
||||
|
||||
Copyright (c) 2013-present, Yuxi (Evan) You
|
||||
12014
extensions/app/vue/dist/vue.js
vendored
Normal file
12014
extensions/app/vue/dist/vue.js
vendored
Normal file
File diff suppressed because it is too large
Load Diff
19
extensions/app/vue/package.json
Normal file
19
extensions/app/vue/package.json
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"name": "vue",
|
||||
"version": "2.6.14",
|
||||
"main": "dist/vue.js",
|
||||
"module": "dist/vue.js",
|
||||
"types": "./types/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"types": "./types/index.d.ts",
|
||||
"import": "./dist/vue.js",
|
||||
"default": "./dist/vue.js"
|
||||
}
|
||||
},
|
||||
"keywords": [
|
||||
"vue"
|
||||
],
|
||||
"author": "Evan You",
|
||||
"license": "MIT"
|
||||
}
|
||||
39
extensions/app/vue/types/index.d.ts
vendored
Normal file
39
extensions/app/vue/types/index.d.ts
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
import { Vue } from "./vue";
|
||||
import "./umd";
|
||||
|
||||
export default Vue;
|
||||
|
||||
export {
|
||||
CreateElement,
|
||||
VueConstructor
|
||||
} from "./vue";
|
||||
|
||||
export {
|
||||
Component,
|
||||
AsyncComponent,
|
||||
ComponentOptions,
|
||||
FunctionalComponentOptions,
|
||||
RenderContext,
|
||||
PropType,
|
||||
PropOptions,
|
||||
ComputedOptions,
|
||||
WatchHandler,
|
||||
WatchOptions,
|
||||
WatchOptionsWithHandler,
|
||||
DirectiveFunction,
|
||||
DirectiveOptions
|
||||
} from "./options";
|
||||
|
||||
export {
|
||||
PluginFunction,
|
||||
PluginObject
|
||||
} from "./plugin";
|
||||
|
||||
export {
|
||||
VNodeChildren,
|
||||
VNodeChildrenArrayContents,
|
||||
VNode,
|
||||
VNodeComponentOptions,
|
||||
VNodeData,
|
||||
VNodeDirective
|
||||
} from "./vnode";
|
||||
207
extensions/app/vue/types/options.d.ts
vendored
Normal file
207
extensions/app/vue/types/options.d.ts
vendored
Normal file
@@ -0,0 +1,207 @@
|
||||
import { Vue, CreateElement, CombinedVueInstance } from "./vue";
|
||||
import { VNode, VNodeData, VNodeDirective, NormalizedScopedSlot } from "./vnode";
|
||||
|
||||
type Constructor = {
|
||||
new (...args: any[]): any;
|
||||
}
|
||||
|
||||
// we don't support infer props in async component
|
||||
// N.B. ComponentOptions<V> is contravariant, the default generic should be bottom type
|
||||
export type Component<Data=DefaultData<never>, Methods=DefaultMethods<never>, Computed=DefaultComputed, Props=DefaultProps> =
|
||||
| typeof Vue
|
||||
| FunctionalComponentOptions<Props>
|
||||
| ComponentOptions<never, Data, Methods, Computed, Props>
|
||||
|
||||
type EsModule<T> = T | { default: T }
|
||||
|
||||
type ImportedComponent<Data=DefaultData<never>, Methods=DefaultMethods<never>, Computed=DefaultComputed, Props=DefaultProps>
|
||||
= EsModule<Component<Data, Methods, Computed, Props>>
|
||||
|
||||
export type AsyncComponent<Data=DefaultData<never>, Methods=DefaultMethods<never>, Computed=DefaultComputed, Props=DefaultProps>
|
||||
= AsyncComponentPromise<Data, Methods, Computed, Props>
|
||||
| AsyncComponentFactory<Data, Methods, Computed, Props>
|
||||
|
||||
export type AsyncComponentPromise<Data=DefaultData<never>, Methods=DefaultMethods<never>, Computed=DefaultComputed, Props=DefaultProps> = (
|
||||
resolve: (component: Component<Data, Methods, Computed, Props>) => void,
|
||||
reject: (reason?: any) => void
|
||||
) => Promise<ImportedComponent<Data, Methods, Computed, Props>> | void;
|
||||
|
||||
export type AsyncComponentFactory<Data=DefaultData<never>, Methods=DefaultMethods<never>, Computed=DefaultComputed, Props=DefaultProps> = () => {
|
||||
component: Promise<ImportedComponent<Data, Methods, Computed, Props>>;
|
||||
loading?: ImportedComponent;
|
||||
error?: ImportedComponent;
|
||||
delay?: number;
|
||||
timeout?: number;
|
||||
}
|
||||
|
||||
/**
|
||||
* When the `Computed` type parameter on `ComponentOptions` is inferred,
|
||||
* it should have a property with the return type of every get-accessor.
|
||||
* Since there isn't a way to query for the return type of a function, we allow TypeScript
|
||||
* to infer from the shape of `Accessors<Computed>` and work backwards.
|
||||
*/
|
||||
export type Accessors<T> = {
|
||||
[K in keyof T]: (() => T[K]) | ComputedOptions<T[K]>
|
||||
}
|
||||
|
||||
type DataDef<Data, Props, V> = Data | ((this: Readonly<Props> & V) => Data)
|
||||
/**
|
||||
* This type should be used when an array of strings is used for a component's `props` value.
|
||||
*/
|
||||
export type ThisTypedComponentOptionsWithArrayProps<V extends Vue, Data, Methods, Computed, PropNames extends string> =
|
||||
object &
|
||||
ComponentOptions<V, DataDef<Data, Record<PropNames, any>, V>, Methods, Computed, PropNames[], Record<PropNames, any>> &
|
||||
ThisType<CombinedVueInstance<V, Data, Methods, Computed, Readonly<Record<PropNames, any>>>>;
|
||||
|
||||
/**
|
||||
* This type should be used when an object mapped to `PropOptions` is used for a component's `props` value.
|
||||
*/
|
||||
export type ThisTypedComponentOptionsWithRecordProps<V extends Vue, Data, Methods, Computed, Props> =
|
||||
object &
|
||||
ComponentOptions<V, DataDef<Data, Props, V>, Methods, Computed, RecordPropsDefinition<Props>, Props> &
|
||||
ThisType<CombinedVueInstance<V, Data, Methods, Computed, Readonly<Props>>>;
|
||||
|
||||
type DefaultData<V> = object | ((this: V) => object);
|
||||
type DefaultProps = Record<string, any>;
|
||||
type DefaultMethods<V> = { [key: string]: (this: V, ...args: any[]) => any };
|
||||
type DefaultComputed = { [key: string]: any };
|
||||
export interface ComponentOptions<
|
||||
V extends Vue,
|
||||
Data=DefaultData<V>,
|
||||
Methods=DefaultMethods<V>,
|
||||
Computed=DefaultComputed,
|
||||
PropsDef=PropsDefinition<DefaultProps>,
|
||||
Props=DefaultProps> {
|
||||
data?: Data;
|
||||
props?: PropsDef;
|
||||
propsData?: object;
|
||||
computed?: Accessors<Computed>;
|
||||
methods?: Methods;
|
||||
watch?: Record<string, WatchOptionsWithHandler<any> | WatchHandler<any>>;
|
||||
|
||||
el?: Element | string;
|
||||
template?: string;
|
||||
// hack is for functional component type inference, should not be used in user code
|
||||
render?(createElement: CreateElement, hack: RenderContext<Props>): VNode;
|
||||
renderError?(createElement: CreateElement, err: Error): VNode;
|
||||
staticRenderFns?: ((createElement: CreateElement) => VNode)[];
|
||||
|
||||
beforeCreate?(this: V): void;
|
||||
created?(): void;
|
||||
beforeDestroy?(): void;
|
||||
destroyed?(): void;
|
||||
beforeMount?(): void;
|
||||
mounted?(): void;
|
||||
beforeUpdate?(): void;
|
||||
updated?(): void;
|
||||
activated?(): void;
|
||||
deactivated?(): void;
|
||||
errorCaptured?(err: Error, vm: Vue, info: string): boolean | void;
|
||||
serverPrefetch?(this: V): Promise<void>;
|
||||
|
||||
directives?: { [key: string]: DirectiveFunction | DirectiveOptions };
|
||||
components?: { [key: string]: Component<any, any, any, any> | AsyncComponent<any, any, any, any> };
|
||||
transitions?: { [key: string]: object };
|
||||
filters?: { [key: string]: Function };
|
||||
|
||||
provide?: object | (() => object);
|
||||
inject?: InjectOptions;
|
||||
|
||||
model?: {
|
||||
prop?: string;
|
||||
event?: string;
|
||||
};
|
||||
|
||||
parent?: Vue;
|
||||
mixins?: (ComponentOptions<Vue> | typeof Vue)[];
|
||||
name?: string;
|
||||
// TODO: support properly inferred 'extends'
|
||||
extends?: ComponentOptions<Vue> | typeof Vue;
|
||||
delimiters?: [string, string];
|
||||
comments?: boolean;
|
||||
inheritAttrs?: boolean;
|
||||
}
|
||||
|
||||
export interface FunctionalComponentOptions<Props = DefaultProps, PropDefs = PropsDefinition<Props>> {
|
||||
name?: string;
|
||||
props?: PropDefs;
|
||||
model?: {
|
||||
prop?: string;
|
||||
event?: string;
|
||||
};
|
||||
inject?: InjectOptions;
|
||||
functional: boolean;
|
||||
render?(this: undefined, createElement: CreateElement, context: RenderContext<Props>): VNode | VNode[];
|
||||
}
|
||||
|
||||
export interface RenderContext<Props=DefaultProps> {
|
||||
props: Props;
|
||||
children: VNode[];
|
||||
slots(): any;
|
||||
data: VNodeData;
|
||||
parent: Vue;
|
||||
listeners: { [key: string]: Function | Function[] };
|
||||
scopedSlots: { [key: string]: NormalizedScopedSlot };
|
||||
injections: any
|
||||
}
|
||||
|
||||
export type Prop<T> = { (): T } | { new(...args: never[]): T & object } | { new(...args: string[]): Function }
|
||||
|
||||
export type PropType<T> = Prop<T> | Prop<T>[];
|
||||
|
||||
export type PropValidator<T> = PropOptions<T> | PropType<T>;
|
||||
|
||||
export interface PropOptions<T=any> {
|
||||
type?: PropType<T>;
|
||||
required?: boolean;
|
||||
default?: T | null | undefined | (() => T | null | undefined);
|
||||
validator?(value: T): boolean;
|
||||
}
|
||||
|
||||
export type RecordPropsDefinition<T> = {
|
||||
[K in keyof T]: PropValidator<T[K]>
|
||||
}
|
||||
export type ArrayPropsDefinition<T> = (keyof T)[];
|
||||
export type PropsDefinition<T> = ArrayPropsDefinition<T> | RecordPropsDefinition<T>;
|
||||
|
||||
export interface ComputedOptions<T> {
|
||||
get?(): T;
|
||||
set?(value: T): void;
|
||||
cache?: boolean;
|
||||
}
|
||||
|
||||
export type WatchHandler<T> = string | ((val: T, oldVal: T) => void);
|
||||
|
||||
export interface WatchOptions {
|
||||
deep?: boolean;
|
||||
immediate?: boolean;
|
||||
}
|
||||
|
||||
export interface WatchOptionsWithHandler<T> extends WatchOptions {
|
||||
handler: WatchHandler<T>;
|
||||
}
|
||||
|
||||
export interface DirectiveBinding extends Readonly<VNodeDirective> {
|
||||
readonly modifiers: { [key: string]: boolean };
|
||||
}
|
||||
|
||||
export type DirectiveFunction = (
|
||||
el: HTMLElement,
|
||||
binding: DirectiveBinding,
|
||||
vnode: VNode,
|
||||
oldVnode: VNode
|
||||
) => void;
|
||||
|
||||
export interface DirectiveOptions {
|
||||
bind?: DirectiveFunction;
|
||||
inserted?: DirectiveFunction;
|
||||
update?: DirectiveFunction;
|
||||
componentUpdated?: DirectiveFunction;
|
||||
unbind?: DirectiveFunction;
|
||||
}
|
||||
|
||||
export type InjectKey = string | symbol;
|
||||
|
||||
export type InjectOptions = {
|
||||
[key: string]: InjectKey | { from?: InjectKey, default?: any }
|
||||
} | string[];
|
||||
8
extensions/app/vue/types/plugin.d.ts
vendored
Normal file
8
extensions/app/vue/types/plugin.d.ts
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import { Vue as _Vue } from "./vue";
|
||||
|
||||
export type PluginFunction<T> = (Vue: typeof _Vue, options?: T) => void;
|
||||
|
||||
export interface PluginObject<T> {
|
||||
install: PluginFunction<T>;
|
||||
[key: string]: any;
|
||||
}
|
||||
48
extensions/app/vue/types/umd.d.ts
vendored
Normal file
48
extensions/app/vue/types/umd.d.ts
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
import * as V from "./index";
|
||||
import {
|
||||
DefaultData,
|
||||
DefaultProps,
|
||||
DefaultMethods,
|
||||
DefaultComputed,
|
||||
PropsDefinition
|
||||
} from "./options";
|
||||
|
||||
// Expose some types for backward compatibility...
|
||||
declare namespace Vue {
|
||||
// vue.d.ts
|
||||
export type CreateElement = V.CreateElement;
|
||||
export type VueConstructor<V extends Vue = Vue> = V.VueConstructor<V>;
|
||||
|
||||
// options.d.ts
|
||||
export type Component<Data=DefaultData<never>, Methods=DefaultMethods<never>, Computed=DefaultComputed, Props=DefaultProps> = V.Component<Data, Methods, Computed, Props>;
|
||||
export type AsyncComponent<Data=DefaultData<never>, Methods=DefaultMethods<never>, Computed=DefaultComputed, Props=DefaultProps> = V.AsyncComponent<Data, Methods, Computed, Props>;
|
||||
export type ComponentOptions<V extends Vue, Data=DefaultData<V>, Methods=DefaultMethods<V>, Computed=DefaultComputed, PropsDef=PropsDefinition<DefaultProps>, Props=DefaultProps> = V.ComponentOptions<V, Data, Methods, Computed, PropsDef, Props>;
|
||||
export type FunctionalComponentOptions<Props = DefaultProps, PropDefs = PropsDefinition<Props>> = V.FunctionalComponentOptions<Props, PropDefs>;
|
||||
export type RenderContext<Props=DefaultProps> = V.RenderContext<Props>;
|
||||
export type PropType<T> = V.PropType<T>;
|
||||
export type PropOptions<T=any> = V.PropOptions<T>;
|
||||
export type ComputedOptions<T> = V.ComputedOptions<T>;
|
||||
export type WatchHandler<T> = V.WatchHandler<T>;
|
||||
export type WatchOptions = V.WatchOptions;
|
||||
export type WatchOptionsWithHandler<T> = V.WatchOptionsWithHandler<T>;
|
||||
export type DirectiveFunction = V.DirectiveFunction;
|
||||
export type DirectiveOptions = V.DirectiveOptions;
|
||||
|
||||
// plugin.d.ts
|
||||
export type PluginFunction<T> = V.PluginFunction<T>;
|
||||
export type PluginObject<T> = V.PluginObject<T>;
|
||||
|
||||
// vnode.d.ts
|
||||
export type VNodeChildren = V.VNodeChildren;
|
||||
export type VNodeChildrenArrayContents = V.VNodeChildrenArrayContents;
|
||||
export type VNode = V.VNode;
|
||||
export type VNodeComponentOptions = V.VNodeComponentOptions;
|
||||
export type VNodeData = V.VNodeData;
|
||||
export type VNodeDirective = V.VNodeDirective;
|
||||
}
|
||||
|
||||
declare class Vue extends V.default {}
|
||||
|
||||
export = Vue;
|
||||
|
||||
export as namespace Vue;
|
||||
76
extensions/app/vue/types/vnode.d.ts
vendored
Normal file
76
extensions/app/vue/types/vnode.d.ts
vendored
Normal file
@@ -0,0 +1,76 @@
|
||||
import { Vue } from "./vue";
|
||||
|
||||
export type ScopedSlot = (props: any) => ScopedSlotReturnValue;
|
||||
type ScopedSlotReturnValue = VNode | string | boolean | null | undefined | ScopedSlotReturnArray;
|
||||
interface ScopedSlotReturnArray extends Array<ScopedSlotReturnValue> {}
|
||||
|
||||
// Scoped slots are guaranteed to return Array of VNodes starting in 2.6
|
||||
export type NormalizedScopedSlot = (props: any) => ScopedSlotChildren;
|
||||
export type ScopedSlotChildren = VNode[] | undefined;
|
||||
|
||||
// Relaxed type compatible with $createElement
|
||||
export type VNodeChildren = VNodeChildrenArrayContents | [ScopedSlot] | string | boolean | null | undefined;
|
||||
export interface VNodeChildrenArrayContents extends Array<VNodeChildren | VNode> {}
|
||||
|
||||
export interface VNode {
|
||||
tag?: string;
|
||||
data?: VNodeData;
|
||||
children?: VNode[];
|
||||
text?: string;
|
||||
elm?: Node;
|
||||
ns?: string;
|
||||
context?: Vue;
|
||||
key?: string | number | symbol | boolean;
|
||||
componentOptions?: VNodeComponentOptions;
|
||||
componentInstance?: Vue;
|
||||
parent?: VNode;
|
||||
raw?: boolean;
|
||||
isStatic?: boolean;
|
||||
isRootInsert: boolean;
|
||||
isComment: boolean;
|
||||
}
|
||||
|
||||
export interface VNodeComponentOptions {
|
||||
Ctor: typeof Vue;
|
||||
propsData?: object;
|
||||
listeners?: object;
|
||||
children?: VNode[];
|
||||
tag?: string;
|
||||
}
|
||||
|
||||
export interface VNodeData {
|
||||
key?: string | number;
|
||||
slot?: string;
|
||||
scopedSlots?: { [key: string]: ScopedSlot | undefined };
|
||||
ref?: string;
|
||||
refInFor?: boolean;
|
||||
tag?: string;
|
||||
staticClass?: string;
|
||||
class?: any;
|
||||
staticStyle?: { [key: string]: any };
|
||||
style?: string | object[] | object;
|
||||
props?: { [key: string]: any };
|
||||
attrs?: { [key: string]: any };
|
||||
domProps?: { [key: string]: any };
|
||||
hook?: { [key: string]: Function };
|
||||
on?: { [key: string]: Function | Function[] };
|
||||
nativeOn?: { [key: string]: Function | Function[] };
|
||||
transition?: object;
|
||||
show?: boolean;
|
||||
inlineTemplate?: {
|
||||
render: Function;
|
||||
staticRenderFns: Function[];
|
||||
};
|
||||
directives?: VNodeDirective[];
|
||||
keepAlive?: boolean;
|
||||
}
|
||||
|
||||
export interface VNodeDirective {
|
||||
name: string;
|
||||
value?: any;
|
||||
oldValue?: any;
|
||||
expression?: string;
|
||||
arg?: string;
|
||||
oldArg?: string;
|
||||
modifiers?: { [key: string]: boolean };
|
||||
}
|
||||
132
extensions/app/vue/types/vue.d.ts
vendored
Normal file
132
extensions/app/vue/types/vue.d.ts
vendored
Normal file
@@ -0,0 +1,132 @@
|
||||
import {
|
||||
Component,
|
||||
AsyncComponent,
|
||||
ComponentOptions,
|
||||
FunctionalComponentOptions,
|
||||
WatchOptionsWithHandler,
|
||||
WatchHandler,
|
||||
DirectiveOptions,
|
||||
DirectiveFunction,
|
||||
RecordPropsDefinition,
|
||||
ThisTypedComponentOptionsWithArrayProps,
|
||||
ThisTypedComponentOptionsWithRecordProps,
|
||||
WatchOptions,
|
||||
} from "./options";
|
||||
import { VNode, VNodeData, VNodeChildren, NormalizedScopedSlot } from "./vnode";
|
||||
import { PluginFunction, PluginObject } from "./plugin";
|
||||
|
||||
export interface CreateElement {
|
||||
(tag?: string | Component<any, any, any, any> | AsyncComponent<any, any, any, any> | (() => Component), children?: VNodeChildren): VNode;
|
||||
(tag?: string | Component<any, any, any, any> | AsyncComponent<any, any, any, any> | (() => Component), data?: VNodeData, children?: VNodeChildren): VNode;
|
||||
}
|
||||
|
||||
export interface Vue {
|
||||
readonly $el: Element;
|
||||
readonly $options: ComponentOptions<Vue>;
|
||||
readonly $parent: Vue;
|
||||
readonly $root: Vue;
|
||||
readonly $children: Vue[];
|
||||
readonly $refs: { [key: string]: Vue | Element | (Vue | Element)[] | undefined };
|
||||
readonly $slots: { [key: string]: VNode[] | undefined };
|
||||
readonly $scopedSlots: { [key: string]: NormalizedScopedSlot | undefined };
|
||||
readonly $isServer: boolean;
|
||||
readonly $data: Record<string, any>;
|
||||
readonly $props: Record<string, any>;
|
||||
readonly $ssrContext: any;
|
||||
readonly $vnode: VNode;
|
||||
readonly $attrs: Record<string, string>;
|
||||
readonly $listeners: Record<string, Function | Function[]>;
|
||||
|
||||
$mount(elementOrSelector?: Element | string, hydrating?: boolean): this;
|
||||
$forceUpdate(): void;
|
||||
$destroy(): void;
|
||||
$set: typeof Vue.set;
|
||||
$delete: typeof Vue.delete;
|
||||
$watch(
|
||||
expOrFn: string,
|
||||
callback: (this: this, n: any, o: any) => void,
|
||||
options?: WatchOptions
|
||||
): (() => void);
|
||||
$watch<T>(
|
||||
expOrFn: (this: this) => T,
|
||||
callback: (this: this, n: T, o: T) => void,
|
||||
options?: WatchOptions
|
||||
): (() => void);
|
||||
$on(event: string | string[], callback: Function): this;
|
||||
$once(event: string | string[], callback: Function): this;
|
||||
$off(event?: string | string[], callback?: Function): this;
|
||||
$emit(event: string, ...args: any[]): this;
|
||||
$nextTick(callback: (this: this) => void): void;
|
||||
$nextTick(): Promise<void>;
|
||||
$createElement: CreateElement;
|
||||
}
|
||||
|
||||
export type CombinedVueInstance<Instance extends Vue, Data, Methods, Computed, Props> = Data & Methods & Computed & Props & Instance;
|
||||
export type ExtendedVue<Instance extends Vue, Data, Methods, Computed, Props> = VueConstructor<CombinedVueInstance<Instance, Data, Methods, Computed, Props> & Vue>;
|
||||
|
||||
export interface VueConfiguration {
|
||||
silent: boolean;
|
||||
optionMergeStrategies: any;
|
||||
devtools: boolean;
|
||||
productionTip: boolean;
|
||||
performance: boolean;
|
||||
errorHandler(err: Error, vm: Vue, info: string): void;
|
||||
warnHandler(msg: string, vm: Vue, trace: string): void;
|
||||
ignoredElements: (string | RegExp)[];
|
||||
keyCodes: { [key: string]: number | number[] };
|
||||
async: boolean;
|
||||
}
|
||||
|
||||
export interface VueConstructor<V extends Vue = Vue> {
|
||||
new <Data = object, Methods = object, Computed = object, PropNames extends string = never>(options?: ThisTypedComponentOptionsWithArrayProps<V, Data, Methods, Computed, PropNames>): CombinedVueInstance<V, Data, Methods, Computed, Record<PropNames, any>>;
|
||||
// ideally, the return type should just contain Props, not Record<keyof Props, any>. But TS requires to have Base constructors with the same return type.
|
||||
new <Data = object, Methods = object, Computed = object, Props = object>(options?: ThisTypedComponentOptionsWithRecordProps<V, Data, Methods, Computed, Props>): CombinedVueInstance<V, Data, Methods, Computed, Record<keyof Props, any>>;
|
||||
new (options?: ComponentOptions<V>): CombinedVueInstance<V, object, object, object, Record<keyof object, any>>;
|
||||
|
||||
extend<Data, Methods, Computed, PropNames extends string = never>(options?: ThisTypedComponentOptionsWithArrayProps<V, Data, Methods, Computed, PropNames>): ExtendedVue<V, Data, Methods, Computed, Record<PropNames, any>>;
|
||||
extend<Data, Methods, Computed, Props>(options?: ThisTypedComponentOptionsWithRecordProps<V, Data, Methods, Computed, Props>): ExtendedVue<V, Data, Methods, Computed, Props>;
|
||||
extend<PropNames extends string = never>(definition: FunctionalComponentOptions<Record<PropNames, any>, PropNames[]>): ExtendedVue<V, {}, {}, {}, Record<PropNames, any>>;
|
||||
extend<Props>(definition: FunctionalComponentOptions<Props, RecordPropsDefinition<Props>>): ExtendedVue<V, {}, {}, {}, Props>;
|
||||
extend(options?: ComponentOptions<V>): ExtendedVue<V, {}, {}, {}, {}>;
|
||||
|
||||
nextTick<T>(callback: (this: T) => void, context?: T): void;
|
||||
nextTick(): Promise<void>
|
||||
set<T>(object: object, key: string | number, value: T): T;
|
||||
set<T>(array: T[], key: number, value: T): T;
|
||||
delete(object: object, key: string | number): void;
|
||||
delete<T>(array: T[], key: number): void;
|
||||
|
||||
directive(
|
||||
id: string,
|
||||
definition?: DirectiveOptions | DirectiveFunction
|
||||
): DirectiveOptions;
|
||||
filter(id: string, definition?: Function): Function;
|
||||
|
||||
component(id: string): VueConstructor;
|
||||
component<VC extends VueConstructor>(id: string, constructor: VC): VC;
|
||||
component<Data, Methods, Computed, Props>(id: string, definition: AsyncComponent<Data, Methods, Computed, Props>): ExtendedVue<V, Data, Methods, Computed, Props>;
|
||||
component<Data, Methods, Computed, PropNames extends string = never>(id: string, definition?: ThisTypedComponentOptionsWithArrayProps<V, Data, Methods, Computed, PropNames>): ExtendedVue<V, Data, Methods, Computed, Record<PropNames, any>>;
|
||||
component<Data, Methods, Computed, Props>(id: string, definition?: ThisTypedComponentOptionsWithRecordProps<V, Data, Methods, Computed, Props>): ExtendedVue<V, Data, Methods, Computed, Props>;
|
||||
component<PropNames extends string>(id: string, definition: FunctionalComponentOptions<Record<PropNames, any>, PropNames[]>): ExtendedVue<V, {}, {}, {}, Record<PropNames, any>>;
|
||||
component<Props>(id: string, definition: FunctionalComponentOptions<Props, RecordPropsDefinition<Props>>): ExtendedVue<V, {}, {}, {}, Props>;
|
||||
component(id: string, definition?: ComponentOptions<V>): ExtendedVue<V, {}, {}, {}, {}>;
|
||||
|
||||
use<T>(plugin: PluginObject<T> | PluginFunction<T>, options?: T): VueConstructor<V>;
|
||||
use(plugin: PluginObject<any> | PluginFunction<any>, ...options: any[]): VueConstructor<V>;
|
||||
mixin(mixin: VueConstructor | ComponentOptions<Vue>): VueConstructor<V>;
|
||||
compile(template: string): {
|
||||
render(createElement: typeof Vue.prototype.$createElement): VNode;
|
||||
staticRenderFns: (() => VNode)[];
|
||||
};
|
||||
|
||||
observable<T>(obj: T): T;
|
||||
|
||||
util: {
|
||||
warn(msg: string, vm?: InstanceType<VueConstructor>): void;
|
||||
};
|
||||
|
||||
config: VueConfiguration;
|
||||
version: string;
|
||||
}
|
||||
|
||||
export const Vue: VueConstructor;
|
||||
Reference in New Issue
Block a user