├── .browserslistrc ├── .gitignore ├── CODE_OF_CONDUCT.md ├── LICENSE ├── README.md ├── babel.config.js ├── docs ├── css │ └── app.a6046707.css ├── favicon.ico ├── index.html └── js │ ├── app.3673677e.js │ ├── app.3673677e.js.map │ ├── chunk-vendors.c38eb19f.js │ └── chunk-vendors.c38eb19f.js.map ├── jest.config.js ├── package.json ├── public ├── favicon.ico └── index.html ├── readme └── animated.gif ├── src ├── App.vue ├── assets │ ├── chevron-down.svg │ └── chevron-right.svg ├── build-entry.ts ├── components │ ├── Node.vue │ ├── Teatree.vue │ └── shelf │ │ ├── ChevronDown.vue │ │ ├── ChevronRight.vue │ │ ├── NodeName.vue │ │ └── NodeToggle.vue ├── main.ts ├── shims-tsx.d.ts ├── shims-vue.d.ts └── types │ ├── NodeType.ts │ └── NodeType_test.ts ├── tests └── unit │ └── example.spec.ts ├── tsconfig.json ├── vue.config.js └── yarn.lock /.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions 3 | not dead 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | /build 5 | 6 | # local env files 7 | .env.local 8 | .env.*.local 9 | 10 | # Log files 11 | npm-debug.log* 12 | yarn-debug.log* 13 | yarn-error.log* 14 | 15 | # Editor directories and files 16 | .idea 17 | .vscode 18 | *.suo 19 | *.ntvs* 20 | *.njsproj 21 | *.sln 22 | *.sw? 23 | -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | In the interest of fostering an open and welcoming environment, we as 6 | contributors and maintainers pledge to making participation in our project and 7 | our community a harassment-free experience for everyone, regardless of age, body 8 | size, disability, ethnicity, sex characteristics, gender identity and expression, 9 | level of experience, education, socio-economic status, nationality, personal 10 | appearance, race, religion, or sexual identity and orientation. 11 | 12 | ## Our Standards 13 | 14 | Examples of behavior that contributes to creating a positive environment 15 | include: 16 | 17 | * Using welcoming and inclusive language 18 | * Being respectful of differing viewpoints and experiences 19 | * Gracefully accepting constructive criticism 20 | * Focusing on what is best for the community 21 | * Showing empathy towards other community members 22 | 23 | Examples of unacceptable behavior by participants include: 24 | 25 | * The use of sexualized language or imagery and unwelcome sexual attention or 26 | advances 27 | * Trolling, insulting/derogatory comments, and personal or political attacks 28 | * Public or private harassment 29 | * Publishing others' private information, such as a physical or electronic 30 | address, without explicit permission 31 | * Other conduct which could reasonably be considered inappropriate in a 32 | professional setting 33 | 34 | ## Our Responsibilities 35 | 36 | Project maintainers are responsible for clarifying the standards of acceptable 37 | behavior and are expected to take appropriate and fair corrective action in 38 | response to any instances of unacceptable behavior. 39 | 40 | Project maintainers have the right and responsibility to remove, edit, or 41 | reject comments, commits, code, wiki edits, issues, and other contributions 42 | that are not aligned to this Code of Conduct, or to ban temporarily or 43 | permanently any contributor for other behaviors that they deem inappropriate, 44 | threatening, offensive, or harmful. 45 | 46 | ## Scope 47 | 48 | This Code of Conduct applies both within project spaces and in public spaces 49 | when an individual is representing the project or its community. Examples of 50 | representing a project or community include using an official project e-mail 51 | address, posting via an official social media account, or acting as an appointed 52 | representative at an online or offline event. Representation of a project may be 53 | further defined and clarified by project maintainers. 54 | 55 | ## Enforcement 56 | 57 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 58 | reported by contacting the project team at sarim.stays@gmail.com. All 59 | complaints will be reviewed and investigated and will result in a response that 60 | is deemed necessary and appropriate to the circumstances. The project team is 61 | obligated to maintain confidentiality with regard to the reporter of an incident. 62 | Further details of specific enforcement policies may be posted separately. 63 | 64 | Project maintainers who do not follow or enforce the Code of Conduct in good 65 | faith may face temporary or permanent repercussions as determined by other 66 | members of the project's leadership. 67 | 68 | ## Attribution 69 | 70 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, 71 | available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html 72 | 73 | [homepage]: https://www.contributor-covenant.org 74 | 75 | For answers to common questions about this code of conduct, see 76 | https://www.contributor-covenant.org/faq 77 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Sarim Abbas 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 🍵 Vue Teatree 2 | 3 | A simple treeview component for VueJS with no added dependencies. 4 | 5 | ![Animated](./readme/animated.gif) 6 | 7 | - [🍵 Vue Teatree](#%f0%9f%8d%b5-vue-teatree) 8 | - [Install](#install) 9 | - [Example](#example) 10 | - [More details](#more-details) 11 | - [NodeType](#nodetype) 12 | - [NodeToggle](#nodetoggle) 13 | - [NodeName](#nodename) 14 | - [Styling](#styling) 15 | - [Teatree](#teatree) 16 | - [NodeToggle](#nodetoggle-1) 17 | - [NodeName](#nodename-1) 18 | - [Common use cases](#common-use-cases) 19 | - [Toggle everything shut](#toggle-everything-shut) 20 | - [Hide leaves](#hide-leaves) 21 | - [Show a right-click menu](#show-a-right-click-menu) 22 | 23 | ## Install 24 | 25 | ```bash 26 | yarn add vue-teatree # (or use npm) 27 | ``` 28 | 29 | 30 | 31 | ## Example 32 | 33 | 1. Import your components: 34 | 35 | ```ts 36 | import { Teatree, NodeType, NodeName, NodeToggle } from "vue-teatree"; 37 | ``` 38 | 39 | - `Teatree` is the main component you will pass your data to (below). 40 | - `NodeType` contains the Typescript interface that defines each node type. 41 | - `NodeName` is a pre-built component you will pass into a slot. 42 | - `NodeToggle` is a pre-built component you will pass into a slot. 43 | 44 | `NodeName` and `NodeToggle` are provided as a convenience. Feel free to write your own. 45 | 46 | 1. Prepare your data 47 | 48 | ```ts 49 | const data: NodeType[] = [ 50 | { 51 | name: "parent", 52 | show: true, 53 | showChildren: true, 54 | selected: false, 55 | children: [ 56 | { 57 | name: "child", 58 | show: true, 59 | showChildren: true, 60 | selected: false, 61 | children: [ 62 | { 63 | name: "grandchild", 64 | show: true, 65 | showChildren: true, 66 | selected: false, 67 | children: [], 68 | }, 69 | ], 70 | }, 71 | ], 72 | }, 73 | ]; 74 | ``` 75 | 76 | 3. Pass it into Teatree 77 | 78 | ```html 79 | 80 | 83 | 90 | 91 | ``` 92 | 93 | ## More details 94 | 95 | 1. The `Teatree` treeview is purely a function of your data. If you want to make changes to the treeview (e.g. toggling children, hiding nodes etc.) you should modify the data object. 96 | 2. `NodeToggle` and `NodeName` can be replaced with your own components and passed into the `node-toggle` and `node-name` slots respectively. 97 | 98 | ### NodeType 99 | 100 | Teatree accepts an array of [`NodeType`](./src/types/NodeType.ts) as its `roots` prop. This means you can render multiple roots in the treeview. 101 | 102 | ```ts 103 | interface NodeType { 104 | // show: toggling this will show/hide the node and its children 105 | show: boolean; 106 | // showChildren: toggling this will toggle its children 107 | showChildren: boolean; 108 | // selected: toggling this will apply the "selected" CSS style 109 | selected: boolean; 110 | // children: the children must also conform to the node specification 111 | children: Array; 112 | // name: the name of the node 113 | name: string; 114 | // icon: base64 encoded icon (optional) 115 | icon?: string; 116 | // data: payload by the user of the library (optional) 117 | data?: object; 118 | } 119 | ``` 120 | 121 | ### NodeToggle 122 | 123 | It is a pre-built component to render the node's toggle. If you want to implement your own, take a look at the source code! 124 | 125 | Props: 126 | 127 | | Name | Type | Required | Notes | 128 | | ------ | ---------- | -------- | ----- | 129 | | `node` | `NodeType` | Yes | | 130 | 131 | ### NodeName 132 | 133 | It is a pre-built component to render the node's name. If you want to implement your own, take a look at the source code! 134 | 135 | It has a number of props that can be wired up to provide additional functionality (track clicks etc.): 136 | 137 | | Name | Type | Required | Notes | 138 | | ---------------------- | ------------------------------------- | -------- | -------------------------------------------------------- | 139 | | `node` | `NodeType` | Yes | | 140 | | `handleNodeLeftClick` | `(event: any, node: NodeType) => any` | Yes | Pass an empty function `() => {}` if you don't have one. | 141 | | `handleNodeRightClick` | `(event: any, node: NodeType) => any` | Yes | Pass an empty function `() => {}` if you don't have one. | 142 | 143 | ## Styling 144 | 145 | Import default styles using: `@import "~vue-teatree/build/Teatree.css";` 146 | 147 | Here are all the default styles. Override them to your liking: 148 | 149 | ### Teatree 150 | 151 | ```css 152 | .teatree { 153 | cursor: pointer; 154 | height: 100%; 155 | overflow: hidden; 156 | } 157 | 158 | .teatree-node { 159 | padding-right: 0.25rem; 160 | } 161 | 162 | .teatree-node-item { 163 | display: flex; 164 | align-items: center; 165 | height: 1.5rem; 166 | background: transparent; 167 | 168 | /* hack to make hover the full width of parent */ 169 | padding-left: 100%; 170 | margin-left: -100%; 171 | padding-right: 100%; 172 | margin-right: -100%; 173 | } 174 | 175 | .teatree-node-item:hover { 176 | background-color: #718096; 177 | } 178 | 179 | .teatree-node-item-selected { 180 | background-color: #718096; 181 | } 182 | 183 | .teatree-node-item-name-padded-leaf { 184 | padding-left: 1.25rem; 185 | } 186 | ``` 187 | 188 | ### NodeToggle 189 | 190 | ```css 191 | .teatree-node-item-icon { 192 | display: flex; 193 | align-items: center; 194 | margin-left: 0.5rem; 195 | color: #cbd5e0; 196 | } 197 | ``` 198 | 199 | ### NodeName 200 | 201 | ```css 202 | .teatree-node-item-name { 203 | display: inline-block; 204 | font-size: 0.875rem; 205 | color: #a0aec0; 206 | margin-left: 0.5rem; 207 | user-select: none; 208 | 209 | /* truncate */ 210 | overflow: hidden; 211 | text-overflow: ellipsis; 212 | white-space: nowrap; 213 | } 214 | 215 | .teatree-node-item-name-padded { 216 | padding-left: 1.5rem; 217 | } 218 | ``` 219 | 220 | ## Common use cases 221 | 222 | The following code/advice is not well tested. Apologies for any errors. 223 | 224 | ### Toggle everything shut 225 | 226 | You can achieve an effect similar to VSCode where you can toggle/collapse all nodes closed. You need to write a simple tree-traversal: 227 | 228 | ```ts 229 | const toggleTreeClosed = (rootNode: NodeType) => { 230 | rootNode.showChildren = false; 231 | rootNode.children.forEach((child) => toggleTreeClosed(child)); 232 | }; 233 | ``` 234 | 235 | ### Hide leaves 236 | 237 | If you're using the treeview for a file explorer, it might be useful to hide the leaves, and only show the parent directories. You can use the `show` node property to hide the leaf nodes. 238 | 239 | ```ts 240 | const isLeaf = (node: NodeType) => { 241 | return !node.children.length; 242 | }; 243 | 244 | const hideTreeLeaves = (rootNode: NodeType) => { 245 | if (isLeaf(rootNode)) { 246 | rootNode.show = false; 247 | } else { 248 | rootNode.children.forEach((child) => hideTreeLeaves(child)); 249 | } 250 | }; 251 | ``` 252 | 253 | ### Show a right-click menu 254 | 255 | You'll need something like: . 256 | 257 | Use the `handleNodeRightClick` component prop to call the context menu: 258 | 259 | ```ts 260 | export default class MyComponent extends Vue { 261 | handleNodeRightClick(node: NodeType, event: any) { 262 | this.$refs.menu.open(event, node); 263 | } 264 | } 265 | ``` 266 | 267 | ```html 268 | 269 | 272 | 273 | ``` 274 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/cli-plugin-babel/preset' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /docs/css/app.a6046707.css: -------------------------------------------------------------------------------- 1 | @import url(https://fonts.googleapis.com/css2?family=Arima+Madurai:wght@700&family=Inter:wght@400;500;600&display=swap);.teatree-node{padding-right:.25rem}.teatree-node-item{display:flex;align-items:center;height:1.5rem;background:transparent;padding-left:100%;margin-left:-100%;padding-right:100%;margin-right:-100%}.teatree-node-item-selected,.teatree-node-item:hover{background-color:#718096}.teatree-node-item-name-padded-leaf{padding-left:1.25rem}.teatree-node-item-name{display:inline-block;font-size:.875rem;color:#a0aec0;margin-left:.5rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teatree-node-item-name-padded{padding-left:1.5rem}.teatree-node-item-icon{display:flex;align-items:center;margin-left:.5rem;color:#cbd5e0}.teatree{cursor:pointer;height:100%;overflow:hidden}#app{width:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin-top:60px;font-family:Inter,sans-serif}.text{width:100%;text-align:center;margin-bottom:50px}.header{font-size:2rem;font-family:Arima Madurai,serif;font-weight:700}.subheader{margin-bottom:30px}.sidebar{background-color:#000;width:30%;min-width:250px;margin-left:auto;margin-right:auto} -------------------------------------------------------------------------------- /docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarimabbas/vue-teatree/64a7a41e92cf9ae21af9084ee22f0ad438c9ce54/docs/favicon.ico -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | vue-teatree
-------------------------------------------------------------------------------- /docs/js/app.3673677e.js: -------------------------------------------------------------------------------- 1 | (function(e){function t(t){for(var r,c,i=t[0],l=t[1],s=t[2],u=0,h=[];u any;\n\n // right click event handler (attached to each node)\n @Prop({ required: true }) handleNodeRightClick!: (\n event: any,\n node: NodeType\n ) => any;\n\n get someChildrenVisible(): boolean {\n return this.node.children.some((child) => child.show);\n }\n\n get haveLeftPadding(): boolean {\n if (this.node.children && !this.node.children.length) {\n return true;\n }\n if (!this.someChildrenVisible) {\n return true;\n }\n return false;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NodeName.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NodeName.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NodeName.vue?vue&type=template&id=a4499016&slot=node-name&slot-scope=%7B%20node%20%7D&\"\nimport script from \"./NodeName.vue?vue&type=script&lang=ts&\"\nexport * from \"./NodeName.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./NodeName.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.node.children && _vm.node.children.length && _vm.someChildrenVisible)?_c('span',{staticClass:\"teatree-node-item-icon\",on:{\"click\":_vm.toggleChildren}},[(_vm.node.showChildren)?_c('chevron-down',{attrs:{\"width\":\"20\"}}):_c('chevron-right',{attrs:{\"width\":\"20\"}})],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\nimport NodeType from \"../../types/NodeType\";\nimport ChevronRight from \"./ChevronRight.vue\";\nimport ChevronDown from \"./ChevronDown.vue\";\n\n@Component({\n components: {\n ChevronRight,\n ChevronDown,\n },\n})\nexport default class NodeToggle extends Vue {\n // exclamation means that it is required, which means it does not need to be\n // initialized with a constructor\n @Prop({ required: true }) node!: NodeType;\n\n get someChildrenVisible(): boolean {\n return this.node.children.some((child) => child.show);\n }\n\n toggleChildren() {\n this.node.showChildren = !this.node.showChildren;\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NodeToggle.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NodeToggle.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NodeToggle.vue?vue&type=template&id=198fcf02&slot=node-toggle&slot-scope=%7B%20node%20%7D&\"\nimport script from \"./NodeToggle.vue?vue&type=script&lang=ts&\"\nexport * from \"./NodeToggle.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./NodeToggle.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\nimport { Component, Prop, Vue } from \"vue-property-decorator\";\nimport Node from \"./Node.vue\";\n\n// exports\nimport NodeType from \"../types/NodeType\";\nimport NodeName from \"./shelf/NodeName.vue\";\nimport NodeToggle from \"./shelf/NodeToggle.vue\";\n\n@Component({\n components: {\n Node,\n },\n})\nexport default class Teatree extends Vue {\n // exclamation means that it is required, which means it does not need to be\n // initialized with a constructor\n @Prop({ required: true }) roots!: NodeType[];\n}\n\nexport { Teatree, NodeType, NodeName, NodeToggle };\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Teatree.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Teatree.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Teatree.vue?vue&type=template&id=6a582368&\"\nimport script from \"./Teatree.vue?vue&type=script&lang=ts&\"\nexport * from \"./Teatree.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Teatree.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\nimport { Component, Vue } from \"vue-property-decorator\";\nimport {\n Teatree,\n NodeType,\n NodeName,\n NodeToggle,\n} from \"./components/Teatree.vue\";\n\n@Component({\n components: {\n Teatree,\n NodeName,\n NodeToggle,\n },\n})\nexport default class App extends Vue {\n public data: NodeType[] = [\n {\n name: \"parent\",\n show: true,\n showChildren: true,\n selected: false,\n children: [\n {\n name: \"child\",\n show: true,\n showChildren: true,\n selected: false,\n children: [\n {\n name: \"grandchild\",\n show: true,\n showChildren: true,\n selected: false,\n children: [],\n },\n ],\n },\n ],\n },\n {\n name: \"parent\",\n show: true,\n showChildren: true,\n selected: false,\n children: [\n {\n name: \"child\",\n show: true,\n showChildren: true,\n selected: false,\n children: [\n {\n name: \"grandchild\",\n show: true,\n showChildren: true,\n selected: false,\n children: [],\n },\n ],\n },\n ],\n },\n ];\n}\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--13-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--13-3!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=5a40184a&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport App from './App.vue'\n\nVue.config.productionTip = false\n\nnew Vue({\n render: h => h(App),\n}).$mount('#app')\n"],"sourceRoot":""} -------------------------------------------------------------------------------- /docs/js/chunk-vendors.c38eb19f.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-vendors"],{"00ee":function(t,e,n){var r=n("b622"),o=r("toStringTag"),i={};i[o]="z",t.exports="[object z]"===String(i)},"0366":function(t,e,n){var r=n("1c0b");t.exports=function(t,e,n){if(r(t),void 0===e)return t;switch(n){case 0:return function(){return t.call(e)};case 1:return function(n){return t.call(e,n)};case 2:return function(n,r){return t.call(e,n,r)};case 3:return function(n,r,o){return t.call(e,n,r,o)}}return function(){return t.apply(e,arguments)}}},"0538":function(t,e,n){"use strict";var r=n("1c0b"),o=n("861d"),i=[].slice,a={},c=function(t,e,n){if(!(e in a)){for(var r=[],o=0;ov;v++)if(y=f?b(r(g=t[v])[0],g[1]):b(t[v]),y&&y instanceof u)return y;return new u(!1)}p=d.call(t)}m=p.next;while(!(g=m.call(p)).done)if(y=s(p,b,g.value,f),"object"==typeof y&&y&&y instanceof u)return y;return new u(!1)};f.stop=function(t){return new u(!0,t)}},"23cb":function(t,e,n){var r=n("a691"),o=Math.max,i=Math.min;t.exports=function(t,e){var n=r(t);return n<0?o(n+e,0):i(n,e)}},"23e7":function(t,e,n){var r=n("da84"),o=n("06cf").f,i=n("9112"),a=n("6eeb"),c=n("ce4e"),s=n("e893"),u=n("94ca");t.exports=function(t,e){var n,f,l,p,d,v,h=t.target,y=t.global,m=t.stat;if(f=y?r:m?r[h]||c(h,{}):(r[h]||{}).prototype,f)for(l in e){if(d=e[l],t.noTargetGet?(v=o(f,l),p=v&&v.value):p=f[l],n=u(y?l:h+(m?".":"#")+l,t.forced),!n&&void 0!==p){if(typeof d===typeof p)continue;s(d,p)}(t.sham||p&&p.sham)&&i(d,"sham",!0),a(f,l,d,t)}}},"241c":function(t,e,n){var r=n("ca84"),o=n("7839"),i=o.concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,i)}},"25f0":function(t,e,n){"use strict";var r=n("6eeb"),o=n("825a"),i=n("d039"),a=n("ad6d"),c="toString",s=RegExp.prototype,u=s[c],f=i((function(){return"/a/b"!=u.call({source:"a",flags:"b"})})),l=u.name!=c;(f||l)&&r(RegExp.prototype,c,(function(){var t=o(this),e=String(t.source),n=t.flags,r=String(void 0===n&&t instanceof RegExp&&!("flags"in s)?a.call(t):n);return"/"+e+"/"+r}),{unsafe:!0})},2626:function(t,e,n){"use strict";var r=n("d066"),o=n("9bf2"),i=n("b622"),a=n("83ab"),c=i("species");t.exports=function(t){var e=r(t),n=o.f;a&&e&&!e[c]&&n(e,c,{configurable:!0,get:function(){return this}})}},"262e":function(t,e,n){"use strict";function r(t,e){return r=Object.setPrototypeOf||function(t,e){return t.__proto__=e,t},r(t,e)}function o(t,e){if("function"!==typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&r(t,e)}n.d(e,"a",(function(){return o}))},2877:function(t,e,n){"use strict";function r(t,e,n,r,o,i,a,c){var s,u="function"===typeof t?t.options:t;if(e&&(u.render=e,u.staticRenderFns=n,u._compiled=!0),r&&(u.functional=!0),i&&(u._scopeId="data-v-"+i),a?(s=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),o&&o.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},u._ssrRegister=s):o&&(s=c?function(){o.call(this,(u.functional?this.parent:this).$root.$options.shadowRoot)}:o),s)if(u.functional){u._injectStyles=s;var f=u.render;u.render=function(t,e){return s.call(e),f(t,e)}}else{var l=u.beforeCreate;u.beforeCreate=l?[].concat(l,s):[s]}return{exports:t,options:u}}n.d(e,"a",(function(){return r}))},"2b0e":function(t,e,n){"use strict";(function(t){ 2 | /*! 3 | * Vue.js v2.6.11 4 | * (c) 2014-2019 Evan You 5 | * Released under the MIT License. 6 | */ 7 | var n=Object.freeze({});function r(t){return void 0===t||null===t}function o(t){return void 0!==t&&null!==t}function i(t){return!0===t}function a(t){return!1===t}function c(t){return"string"===typeof t||"number"===typeof t||"symbol"===typeof t||"boolean"===typeof t}function s(t){return null!==t&&"object"===typeof t}var u=Object.prototype.toString;function f(t){return"[object Object]"===u.call(t)}function l(t){return"[object RegExp]"===u.call(t)}function p(t){var e=parseFloat(String(t));return e>=0&&Math.floor(e)===e&&isFinite(t)}function d(t){return o(t)&&"function"===typeof t.then&&"function"===typeof t.catch}function v(t){return null==t?"":Array.isArray(t)||f(t)&&t.toString===u?JSON.stringify(t,null,2):String(t)}function h(t){var e=parseFloat(t);return isNaN(e)?t:e}function y(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o-1)return t.splice(n,1)}}var b=Object.prototype.hasOwnProperty;function _(t,e){return b.call(t,e)}function w(t){var e=Object.create(null);return function(n){var r=e[n];return r||(e[n]=t(n))}}var x=/-(\w)/g,O=w((function(t){return t.replace(x,(function(t,e){return e?e.toUpperCase():""}))})),S=w((function(t){return t.charAt(0).toUpperCase()+t.slice(1)})),C=/\B([A-Z])/g,A=w((function(t){return t.replace(C,"-$1").toLowerCase()}));function j(t,e){function n(n){var r=arguments.length;return r?r>1?t.apply(e,arguments):t.call(e,n):t.call(e)}return n._length=t.length,n}function $(t,e){return t.bind(e)}var k=Function.prototype.bind?$:j;function E(t,e){e=e||0;var n=t.length-e,r=new Array(n);while(n--)r[n]=t[n+e];return r}function P(t,e){for(var n in e)t[n]=e[n];return t}function T(t){for(var e={},n=0;n0,nt=Q&&Q.indexOf("edge/")>0,rt=(Q&&Q.indexOf("android"),Q&&/iphone|ipad|ipod|ios/.test(Q)||"ios"===Z),ot=(Q&&/chrome\/\d+/.test(Q),Q&&/phantomjs/.test(Q),Q&&Q.match(/firefox\/(\d+)/)),it={}.watch,at=!1;if(J)try{var ct={};Object.defineProperty(ct,"passive",{get:function(){at=!0}}),window.addEventListener("test-passive",null,ct)}catch(Oa){}var st=function(){return void 0===q&&(q=!J&&!Y&&"undefined"!==typeof t&&(t["process"]&&"server"===t["process"].env.VUE_ENV)),q},ut=J&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function ft(t){return"function"===typeof t&&/native code/.test(t.toString())}var lt,pt="undefined"!==typeof Symbol&&ft(Symbol)&&"undefined"!==typeof Reflect&&ft(Reflect.ownKeys);lt="undefined"!==typeof Set&&ft(Set)?Set:function(){function t(){this.set=Object.create(null)}return t.prototype.has=function(t){return!0===this.set[t]},t.prototype.add=function(t){this.set[t]=!0},t.prototype.clear=function(){this.set=Object.create(null)},t}();var dt=I,vt=0,ht=function(){this.id=vt++,this.subs=[]};ht.prototype.addSub=function(t){this.subs.push(t)},ht.prototype.removeSub=function(t){g(this.subs,t)},ht.prototype.depend=function(){ht.target&&ht.target.addDep(this)},ht.prototype.notify=function(){var t=this.subs.slice();for(var e=0,n=t.length;e-1)if(i&&!_(o,"default"))a=!1;else if(""===a||a===A(t)){var s=te(String,o.type);(s<0||c0&&(a=je(a,(e||"")+"_"+n),Ae(a[0])&&Ae(u)&&(f[s]=xt(u.text+a[0].text),a.shift()),f.push.apply(f,a)):c(a)?Ae(u)?f[s]=xt(u.text+a):""!==a&&f.push(xt(a)):Ae(a)&&Ae(u)?f[s]=xt(u.text+a.text):(i(t._isVList)&&o(a.tag)&&r(a.key)&&o(e)&&(a.key="__vlist"+e+"_"+n+"__"),f.push(a)));return f}function $e(t){var e=t.$options.provide;e&&(t._provided="function"===typeof e?e.call(t):e)}function ke(t){var e=Ee(t.$options.inject,t);e&&(kt(!1),Object.keys(e).forEach((function(n){Mt(t,n,e[n])})),kt(!0))}function Ee(t,e){if(t){for(var n=Object.create(null),r=pt?Reflect.ownKeys(t):Object.keys(t),o=0;o0,a=t?!!t.$stable:!i,c=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(a&&r&&r!==n&&c===r.$key&&!i&&!r.$hasNormal)return r;for(var s in o={},t)t[s]&&"$"!==s[0]&&(o[s]=Me(e,s,t[s]))}else o={};for(var u in e)u in o||(o[u]=Le(e,u));return t&&Object.isExtensible(t)&&(t._normalized=o),W(o,"$stable",a),W(o,"$key",c),W(o,"$hasNormal",i),o}function Me(t,e,n){var r=function(){var t=arguments.length?n.apply(null,arguments):n({});return t=t&&"object"===typeof t&&!Array.isArray(t)?[t]:Ce(t),t&&(0===t.length||1===t.length&&t[0].isComment)?void 0:t};return n.proxy&&Object.defineProperty(t,e,{get:r,enumerable:!0,configurable:!0}),r}function Le(t,e){return function(){return t[e]}}function De(t,e){var n,r,i,a,c;if(Array.isArray(t)||"string"===typeof t)for(n=new Array(t.length),r=0,i=t.length;r1?E(n):n;for(var r=E(arguments,1),o='event handler for "'+t+'"',i=0,a=n.length;idocument.createEvent("Event").timeStamp&&(qn=function(){return Xn.now()})}function Jn(){var t,e;for(Kn=qn(),Bn=!0,Vn.sort((function(t,e){return t.id-e.id})),Wn=0;WnWn&&Vn[n].id>t.id)n--;Vn.splice(n+1,0,t)}else Vn.push(t);zn||(zn=!0,ve(Jn))}}var er=0,nr=function(t,e,n,r,o){this.vm=t,o&&(t._watcher=this),t._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++er,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new lt,this.newDepIds=new lt,this.expression="","function"===typeof e?this.getter=e:(this.getter=K(e),this.getter||(this.getter=I)),this.value=this.lazy?void 0:this.get()};nr.prototype.get=function(){var t;mt(this);var e=this.vm;try{t=this.getter.call(e,e)}catch(Oa){if(!this.user)throw Oa;ee(Oa,e,'getter for watcher "'+this.expression+'"')}finally{this.deep&&ye(t),gt(),this.cleanupDeps()}return t},nr.prototype.addDep=function(t){var e=t.id;this.newDepIds.has(e)||(this.newDepIds.add(e),this.newDeps.push(t),this.depIds.has(e)||t.addSub(this))},nr.prototype.cleanupDeps=function(){var t=this.deps.length;while(t--){var e=this.deps[t];this.newDepIds.has(e.id)||e.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},nr.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():tr(this)},nr.prototype.run=function(){if(this.active){var t=this.get();if(t!==this.value||s(t)||this.deep){var e=this.value;if(this.value=t,this.user)try{this.cb.call(this.vm,t,e)}catch(Oa){ee(Oa,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,t,e)}}},nr.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},nr.prototype.depend=function(){var t=this.deps.length;while(t--)this.deps[t].depend()},nr.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||g(this.vm._watchers,this);var t=this.deps.length;while(t--)this.deps[t].removeSub(this);this.active=!1}};var rr={enumerable:!0,configurable:!0,get:I,set:I};function or(t,e,n){rr.get=function(){return this[e][n]},rr.set=function(t){this[e][n]=t},Object.defineProperty(t,n,rr)}function ir(t){t._watchers=[];var e=t.$options;e.props&&ar(t,e.props),e.methods&&vr(t,e.methods),e.data?cr(t):It(t._data={},!0),e.computed&&fr(t,e.computed),e.watch&&e.watch!==it&&hr(t,e.watch)}function ar(t,e){var n=t.$options.propsData||{},r=t._props={},o=t.$options._propKeys=[],i=!t.$parent;i||kt(!1);var a=function(i){o.push(i);var a=Jt(i,e,n,t);Mt(r,i,a),i in t||or(t,"_props",i)};for(var c in e)a(c);kt(!0)}function cr(t){var e=t.$options.data;e=t._data="function"===typeof e?sr(e,t):e||{},f(e)||(e={});var n=Object.keys(e),r=t.$options.props,o=(t.$options.methods,n.length);while(o--){var i=n[o];0,r&&_(r,i)||B(i)||or(t,"_data",i)}It(e,!0)}function sr(t,e){mt();try{return t.call(e,e)}catch(Oa){return ee(Oa,e,"data()"),{}}finally{gt()}}var ur={lazy:!0};function fr(t,e){var n=t._computedWatchers=Object.create(null),r=st();for(var o in e){var i=e[o],a="function"===typeof i?i:i.get;0,r||(n[o]=new nr(t,a||I,I,ur)),o in t||lr(t,o,i)}}function lr(t,e,n){var r=!st();"function"===typeof n?(rr.get=r?pr(e):dr(n),rr.set=I):(rr.get=n.get?r&&!1!==n.cache?pr(e):dr(n.get):I,rr.set=n.set||I),Object.defineProperty(t,e,rr)}function pr(t){return function(){var e=this._computedWatchers&&this._computedWatchers[t];if(e)return e.dirty&&e.evaluate(),ht.target&&e.depend(),e.value}}function dr(t){return function(){return t.call(this,this)}}function vr(t,e){t.$options.props;for(var n in e)t[n]="function"!==typeof e[n]?I:k(e[n],t)}function hr(t,e){for(var n in e){var r=e[n];if(Array.isArray(r))for(var o=0;o-1)return this;var n=E(arguments,1);return n.unshift(this),"function"===typeof t.install?t.install.apply(t,n):"function"===typeof t&&t.apply(null,n),e.push(t),this}}function Cr(t){t.mixin=function(t){return this.options=qt(this.options,t),this}}function Ar(t){t.cid=0;var e=1;t.extend=function(t){t=t||{};var n=this,r=n.cid,o=t._Ctor||(t._Ctor={});if(o[r])return o[r];var i=t.name||n.options.name;var a=function(t){this._init(t)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=e++,a.options=qt(n.options,t),a["super"]=n,a.options.props&&jr(a),a.options.computed&&$r(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,V.forEach((function(t){a[t]=n[t]})),i&&(a.options.components[i]=a),a.superOptions=n.options,a.extendOptions=t,a.sealedOptions=P({},a.options),o[r]=a,a}}function jr(t){var e=t.options.props;for(var n in e)or(t.prototype,"_props",n)}function $r(t){var e=t.options.computed;for(var n in e)lr(t.prototype,n,e[n])}function kr(t){V.forEach((function(e){t[e]=function(t,n){return n?("component"===e&&f(n)&&(n.name=n.name||t,n=this.options._base.extend(n)),"directive"===e&&"function"===typeof n&&(n={bind:n,update:n}),this.options[e+"s"][t]=n,n):this.options[e+"s"][t]}}))}function Er(t){return t&&(t.Ctor.options.name||t.tag)}function Pr(t,e){return Array.isArray(t)?t.indexOf(e)>-1:"string"===typeof t?t.split(",").indexOf(e)>-1:!!l(t)&&t.test(e)}function Tr(t,e){var n=t.cache,r=t.keys,o=t._vnode;for(var i in n){var a=n[i];if(a){var c=Er(a.componentOptions);c&&!e(c)&&Ir(n,i,r,o)}}}function Ir(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstance.$destroy(),t[e]=null,g(n,e)}br(Or),mr(Or),kn(Or),In(Or),gn(Or);var Mr=[String,RegExp,Array],Lr={name:"keep-alive",abstract:!0,props:{include:Mr,exclude:Mr,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var t in this.cache)Ir(this.cache,t,this.keys)},mounted:function(){var t=this;this.$watch("include",(function(e){Tr(t,(function(t){return Pr(e,t)}))})),this.$watch("exclude",(function(e){Tr(t,(function(t){return!Pr(e,t)}))}))},render:function(){var t=this.$slots.default,e=On(t),n=e&&e.componentOptions;if(n){var r=Er(n),o=this,i=o.include,a=o.exclude;if(i&&(!r||!Pr(i,r))||a&&r&&Pr(a,r))return e;var c=this,s=c.cache,u=c.keys,f=null==e.key?n.Ctor.cid+(n.tag?"::"+n.tag:""):e.key;s[f]?(e.componentInstance=s[f].componentInstance,g(u,f),u.push(f)):(s[f]=e,u.push(f),this.max&&u.length>parseInt(this.max)&&Ir(s,u[0],u,this._vnode)),e.data.keepAlive=!0}return e||t&&t[0]}},Dr={KeepAlive:Lr};function Nr(t){var e={get:function(){return H}};Object.defineProperty(t,"config",e),t.util={warn:dt,extend:P,mergeOptions:qt,defineReactive:Mt},t.set=Lt,t.delete=Dt,t.nextTick=ve,t.observable=function(t){return It(t),t},t.options=Object.create(null),V.forEach((function(e){t.options[e+"s"]=Object.create(null)})),t.options._base=t,P(t.options.components,Dr),Sr(t),Cr(t),Ar(t),kr(t)}Nr(Or),Object.defineProperty(Or.prototype,"$isServer",{get:st}),Object.defineProperty(Or.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(Or,"FunctionalRenderContext",{value:Ye}),Or.version="2.6.11";var Rr=y("style,class"),Fr=y("input,textarea,option,select,progress"),Vr=function(t,e,n){return"value"===n&&Fr(t)&&"button"!==e||"selected"===n&&"option"===t||"checked"===n&&"input"===t||"muted"===n&&"video"===t},Ur=y("contenteditable,draggable,spellcheck"),Hr=y("events,caret,typing,plaintext-only"),zr=function(t,e){return qr(e)||"false"===e?"false":"contenteditable"===t&&Hr(e)?e:"true"},Br=y("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),Wr="http://www.w3.org/1999/xlink",Gr=function(t){return":"===t.charAt(5)&&"xlink"===t.slice(0,5)},Kr=function(t){return Gr(t)?t.slice(6,t.length):""},qr=function(t){return null==t||!1===t};function Xr(t){var e=t.data,n=t,r=t;while(o(r.componentInstance))r=r.componentInstance._vnode,r&&r.data&&(e=Jr(r.data,e));while(o(n=n.parent))n&&n.data&&(e=Jr(e,n.data));return Yr(e.staticClass,e.class)}function Jr(t,e){return{staticClass:Zr(t.staticClass,e.staticClass),class:o(t.class)?[t.class,e.class]:e.class}}function Yr(t,e){return o(t)||o(e)?Zr(t,Qr(e)):""}function Zr(t,e){return t?e?t+" "+e:t:e||""}function Qr(t){return Array.isArray(t)?to(t):s(t)?eo(t):"string"===typeof t?t:""}function to(t){for(var e,n="",r=0,i=t.length;r-1?co[t]=e.constructor===window.HTMLUnknownElement||e.constructor===window.HTMLElement:co[t]=/HTMLUnknownElement/.test(e.toString())}var uo=y("text,number,password,search,email,tel,url");function fo(t){if("string"===typeof t){var e=document.querySelector(t);return e||document.createElement("div")}return t}function lo(t,e){var n=document.createElement(t);return"select"!==t||e.data&&e.data.attrs&&void 0!==e.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n}function po(t,e){return document.createElementNS(no[t],e)}function vo(t){return document.createTextNode(t)}function ho(t){return document.createComment(t)}function yo(t,e,n){t.insertBefore(e,n)}function mo(t,e){t.removeChild(e)}function go(t,e){t.appendChild(e)}function bo(t){return t.parentNode}function _o(t){return t.nextSibling}function wo(t){return t.tagName}function xo(t,e){t.textContent=e}function Oo(t,e){t.setAttribute(e,"")}var So=Object.freeze({createElement:lo,createElementNS:po,createTextNode:vo,createComment:ho,insertBefore:yo,removeChild:mo,appendChild:go,parentNode:bo,nextSibling:_o,tagName:wo,setTextContent:xo,setStyleScope:Oo}),Co={create:function(t,e){Ao(e)},update:function(t,e){t.data.ref!==e.data.ref&&(Ao(t,!0),Ao(e))},destroy:function(t){Ao(t,!0)}};function Ao(t,e){var n=t.data.ref;if(o(n)){var r=t.context,i=t.componentInstance||t.elm,a=r.$refs;e?Array.isArray(a[n])?g(a[n],i):a[n]===i&&(a[n]=void 0):t.data.refInFor?Array.isArray(a[n])?a[n].indexOf(i)<0&&a[n].push(i):a[n]=[i]:a[n]=i}}var jo=new bt("",{},[]),$o=["create","activate","update","remove","destroy"];function ko(t,e){return t.key===e.key&&(t.tag===e.tag&&t.isComment===e.isComment&&o(t.data)===o(e.data)&&Eo(t,e)||i(t.isAsyncPlaceholder)&&t.asyncFactory===e.asyncFactory&&r(e.asyncFactory.error))}function Eo(t,e){if("input"!==t.tag)return!0;var n,r=o(n=t.data)&&o(n=n.attrs)&&n.type,i=o(n=e.data)&&o(n=n.attrs)&&n.type;return r===i||uo(r)&&uo(i)}function Po(t,e,n){var r,i,a={};for(r=e;r<=n;++r)i=t[r].key,o(i)&&(a[i]=r);return a}function To(t){var e,n,a={},s=t.modules,u=t.nodeOps;for(e=0;e<$o.length;++e)for(a[$o[e]]=[],n=0;nh?(l=r(n[g+1])?null:n[g+1].elm,O(t,l,n,v,g,i)):v>g&&C(e,p,h)}function $(t,e,n,r){for(var i=n;i-1?zo(t,e,n):Br(e)?qr(n)?t.removeAttribute(e):(n="allowfullscreen"===e&&"EMBED"===t.tagName?"true":e,t.setAttribute(e,n)):Ur(e)?t.setAttribute(e,zr(e,n)):Gr(e)?qr(n)?t.removeAttributeNS(Wr,Kr(e)):t.setAttributeNS(Wr,e,n):zo(t,e,n)}function zo(t,e,n){if(qr(n))t.removeAttribute(e);else{if(tt&&!et&&"TEXTAREA"===t.tagName&&"placeholder"===e&&""!==n&&!t.__ieph){var r=function(e){e.stopImmediatePropagation(),t.removeEventListener("input",r)};t.addEventListener("input",r),t.__ieph=!0}t.setAttribute(e,n)}}var Bo={create:Uo,update:Uo};function Wo(t,e){var n=e.elm,i=e.data,a=t.data;if(!(r(i.staticClass)&&r(i.class)&&(r(a)||r(a.staticClass)&&r(a.class)))){var c=Xr(e),s=n._transitionClasses;o(s)&&(c=Zr(c,Qr(s))),c!==n._prevClass&&(n.setAttribute("class",c),n._prevClass=c)}}var Go,Ko={create:Wo,update:Wo},qo="__r",Xo="__c";function Jo(t){if(o(t[qo])){var e=tt?"change":"input";t[e]=[].concat(t[qo],t[e]||[]),delete t[qo]}o(t[Xo])&&(t.change=[].concat(t[Xo],t.change||[]),delete t[Xo])}function Yo(t,e,n){var r=Go;return function o(){var i=e.apply(null,arguments);null!==i&&ti(t,o,n,r)}}var Zo=ae&&!(ot&&Number(ot[1])<=53);function Qo(t,e,n,r){if(Zo){var o=Kn,i=e;e=i._wrapper=function(t){if(t.target===t.currentTarget||t.timeStamp>=o||t.timeStamp<=0||t.target.ownerDocument!==document)return i.apply(this,arguments)}}Go.addEventListener(t,e,at?{capture:n,passive:r}:n)}function ti(t,e,n,r){(r||Go).removeEventListener(t,e._wrapper||e,n)}function ei(t,e){if(!r(t.data.on)||!r(e.data.on)){var n=e.data.on||{},o=t.data.on||{};Go=e.elm,Jo(n),_e(n,o,Qo,ti,Yo,e.context),Go=void 0}}var ni,ri={create:ei,update:ei};function oi(t,e){if(!r(t.data.domProps)||!r(e.data.domProps)){var n,i,a=e.elm,c=t.data.domProps||{},s=e.data.domProps||{};for(n in o(s.__ob__)&&(s=e.data.domProps=P({},s)),c)n in s||(a[n]="");for(n in s){if(i=s[n],"textContent"===n||"innerHTML"===n){if(e.children&&(e.children.length=0),i===c[n])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if("value"===n&&"PROGRESS"!==a.tagName){a._value=i;var u=r(i)?"":String(i);ii(a,u)&&(a.value=u)}else if("innerHTML"===n&&oo(a.tagName)&&r(a.innerHTML)){ni=ni||document.createElement("div"),ni.innerHTML=""+i+"";var f=ni.firstChild;while(a.firstChild)a.removeChild(a.firstChild);while(f.firstChild)a.appendChild(f.firstChild)}else if(i!==c[n])try{a[n]=i}catch(Oa){}}}}function ii(t,e){return!t.composing&&("OPTION"===t.tagName||ai(t,e)||ci(t,e))}function ai(t,e){var n=!0;try{n=document.activeElement!==t}catch(Oa){}return n&&t.value!==e}function ci(t,e){var n=t.value,r=t._vModifiers;if(o(r)){if(r.number)return h(n)!==h(e);if(r.trim)return n.trim()!==e.trim()}return n!==e}var si={create:oi,update:oi},ui=w((function(t){var e={},n=/;(?![^(]*\))/g,r=/:(.+)/;return t.split(n).forEach((function(t){if(t){var n=t.split(r);n.length>1&&(e[n[0].trim()]=n[1].trim())}})),e}));function fi(t){var e=li(t.style);return t.staticStyle?P(t.staticStyle,e):e}function li(t){return Array.isArray(t)?T(t):"string"===typeof t?ui(t):t}function pi(t,e){var n,r={};if(e){var o=t;while(o.componentInstance)o=o.componentInstance._vnode,o&&o.data&&(n=fi(o.data))&&P(r,n)}(n=fi(t.data))&&P(r,n);var i=t;while(i=i.parent)i.data&&(n=fi(i.data))&&P(r,n);return r}var di,vi=/^--/,hi=/\s*!important$/,yi=function(t,e,n){if(vi.test(e))t.style.setProperty(e,n);else if(hi.test(n))t.style.setProperty(A(e),n.replace(hi,""),"important");else{var r=gi(e);if(Array.isArray(n))for(var o=0,i=n.length;o-1?e.split(wi).forEach((function(e){return t.classList.add(e)})):t.classList.add(e);else{var n=" "+(t.getAttribute("class")||"")+" ";n.indexOf(" "+e+" ")<0&&t.setAttribute("class",(n+e).trim())}}function Oi(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.split(wi).forEach((function(e){return t.classList.remove(e)})):t.classList.remove(e),t.classList.length||t.removeAttribute("class");else{var n=" "+(t.getAttribute("class")||"")+" ",r=" "+e+" ";while(n.indexOf(r)>=0)n=n.replace(r," ");n=n.trim(),n?t.setAttribute("class",n):t.removeAttribute("class")}}function Si(t){if(t){if("object"===typeof t){var e={};return!1!==t.css&&P(e,Ci(t.name||"v")),P(e,t),e}return"string"===typeof t?Ci(t):void 0}}var Ci=w((function(t){return{enterClass:t+"-enter",enterToClass:t+"-enter-to",enterActiveClass:t+"-enter-active",leaveClass:t+"-leave",leaveToClass:t+"-leave-to",leaveActiveClass:t+"-leave-active"}})),Ai=J&&!et,ji="transition",$i="animation",ki="transition",Ei="transitionend",Pi="animation",Ti="animationend";Ai&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(ki="WebkitTransition",Ei="webkitTransitionEnd"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Pi="WebkitAnimation",Ti="webkitAnimationEnd"));var Ii=J?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(t){return t()};function Mi(t){Ii((function(){Ii(t)}))}function Li(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n.indexOf(e)<0&&(n.push(e),xi(t,e))}function Di(t,e){t._transitionClasses&&g(t._transitionClasses,e),Oi(t,e)}function Ni(t,e,n){var r=Fi(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!o)return n();var c=o===ji?Ei:Ti,s=0,u=function(){t.removeEventListener(c,f),n()},f=function(e){e.target===t&&++s>=a&&u()};setTimeout((function(){s0&&(n=ji,f=a,l=i.length):e===$i?u>0&&(n=$i,f=u,l=s.length):(f=Math.max(a,u),n=f>0?a>u?ji:$i:null,l=n?n===ji?i.length:s.length:0);var p=n===ji&&Ri.test(r[ki+"Property"]);return{type:n,timeout:f,propCount:l,hasTransform:p}}function Vi(t,e){while(t.length1}function Gi(t,e){!0!==e.data.show&&Hi(e)}var Ki=J?{create:Gi,activate:Gi,remove:function(t,e){!0!==t.data.show?zi(t,e):e()}}:{},qi=[Bo,Ko,ri,si,_i,Ki],Xi=qi.concat(Vo),Ji=To({nodeOps:So,modules:Xi});et&&document.addEventListener("selectionchange",(function(){var t=document.activeElement;t&&t.vmodel&&oa(t,"input")}));var Yi={inserted:function(t,e,n,r){"select"===n.tag?(r.elm&&!r.elm._vOptions?we(n,"postpatch",(function(){Yi.componentUpdated(t,e,n)})):Zi(t,e,n.context),t._vOptions=[].map.call(t.options,ea)):("textarea"===n.tag||uo(t.type))&&(t._vModifiers=e.modifiers,e.modifiers.lazy||(t.addEventListener("compositionstart",na),t.addEventListener("compositionend",ra),t.addEventListener("change",ra),et&&(t.vmodel=!0)))},componentUpdated:function(t,e,n){if("select"===n.tag){Zi(t,e,n.context);var r=t._vOptions,o=t._vOptions=[].map.call(t.options,ea);if(o.some((function(t,e){return!D(t,r[e])}))){var i=t.multiple?e.value.some((function(t){return ta(t,o)})):e.value!==e.oldValue&&ta(e.value,o);i&&oa(t,"change")}}}};function Zi(t,e,n){Qi(t,e,n),(tt||nt)&&setTimeout((function(){Qi(t,e,n)}),0)}function Qi(t,e,n){var r=e.value,o=t.multiple;if(!o||Array.isArray(r)){for(var i,a,c=0,s=t.options.length;c-1,a.selected!==i&&(a.selected=i);else if(D(ea(a),r))return void(t.selectedIndex!==c&&(t.selectedIndex=c));o||(t.selectedIndex=-1)}}function ta(t,e){return e.every((function(e){return!D(e,t)}))}function ea(t){return"_value"in t?t._value:t.value}function na(t){t.target.composing=!0}function ra(t){t.target.composing&&(t.target.composing=!1,oa(t.target,"input"))}function oa(t,e){var n=document.createEvent("HTMLEvents");n.initEvent(e,!0,!0),t.dispatchEvent(n)}function ia(t){return!t.componentInstance||t.data&&t.data.transition?t:ia(t.componentInstance._vnode)}var aa={bind:function(t,e,n){var r=e.value;n=ia(n);var o=n.data&&n.data.transition,i=t.__vOriginalDisplay="none"===t.style.display?"":t.style.display;r&&o?(n.data.show=!0,Hi(n,(function(){t.style.display=i}))):t.style.display=r?i:"none"},update:function(t,e,n){var r=e.value,o=e.oldValue;if(!r!==!o){n=ia(n);var i=n.data&&n.data.transition;i?(n.data.show=!0,r?Hi(n,(function(){t.style.display=t.__vOriginalDisplay})):zi(n,(function(){t.style.display="none"}))):t.style.display=r?t.__vOriginalDisplay:"none"}},unbind:function(t,e,n,r,o){o||(t.style.display=t.__vOriginalDisplay)}},ca={model:Yi,show:aa},sa={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function ua(t){var e=t&&t.componentOptions;return e&&e.Ctor.options.abstract?ua(On(e.children)):t}function fa(t){var e={},n=t.$options;for(var r in n.propsData)e[r]=t[r];var o=n._parentListeners;for(var i in o)e[O(i)]=o[i];return e}function la(t,e){if(/\d-keep-alive$/.test(e.tag))return t("keep-alive",{props:e.componentOptions.propsData})}function pa(t){while(t=t.parent)if(t.data.transition)return!0}function da(t,e){return e.key===t.key&&e.tag===t.tag}var va=function(t){return t.tag||xn(t)},ha=function(t){return"show"===t.name},ya={name:"transition",props:sa,abstract:!0,render:function(t){var e=this,n=this.$slots.default;if(n&&(n=n.filter(va),n.length)){0;var r=this.mode;0;var o=n[0];if(pa(this.$vnode))return o;var i=ua(o);if(!i)return o;if(this._leaving)return la(t,o);var a="__transition-"+this._uid+"-";i.key=null==i.key?i.isComment?a+"comment":a+i.tag:c(i.key)?0===String(i.key).indexOf(a)?i.key:a+i.key:i.key;var s=(i.data||(i.data={})).transition=fa(this),u=this._vnode,f=ua(u);if(i.data.directives&&i.data.directives.some(ha)&&(i.data.show=!0),f&&f.data&&!da(i,f)&&!xn(f)&&(!f.componentInstance||!f.componentInstance._vnode.isComment)){var l=f.data.transition=P({},s);if("out-in"===r)return this._leaving=!0,we(l,"afterLeave",(function(){e._leaving=!1,e.$forceUpdate()})),la(t,o);if("in-out"===r){if(xn(i))return u;var p,d=function(){p()};we(s,"afterEnter",d),we(s,"enterCancelled",d),we(l,"delayLeave",(function(t){p=t}))}}return o}}},ma=P({tag:String,moveClass:String},sa);delete ma.mode;var ga={props:ma,beforeMount:function(){var t=this,e=this._update;this._update=function(n,r){var o=Pn(t);t.__patch__(t._vnode,t.kept,!1,!0),t._vnode=t.kept,o(),e.call(t,n,r)}},render:function(t){for(var e=this.tag||this.$vnode.data.tag||"span",n=Object.create(null),r=this.prevChildren=this.children,o=this.$slots.default||[],i=this.children=[],a=fa(this),c=0;cn)e.push(arguments[n++]);return _[++b]=function(){("function"==typeof t?t:Function(t)).apply(void 0,e)},r(b),b},h=function(t){delete _[t]},"process"==s(y)?r=function(t){y.nextTick(O(t))}:g&&g.now?r=function(t){g.now(O(t))}:m&&!p?(o=new m,i=o.port2,o.port1.onmessage=S,r=u(i.postMessage,i,1)):!a.addEventListener||"function"!=typeof postMessage||a.importScripts||c(C)||"file:"===d.protocol?r=w in l("script")?function(t){f.appendChild(l("script"))[w]=function(){f.removeChild(this),x(t)}}:function(t){setTimeout(O(t),0)}:(r=C,a.addEventListener("message",S,!1))),t.exports={set:v,clear:h}},"2d00":function(t,e,n){var r,o,i=n("da84"),a=n("342f"),c=i.process,s=c&&c.versions,u=s&&s.v8;u?(r=u.split("."),o=r[0]+r[1]):a&&(r=a.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/),r&&(o=r[1]))),t.exports=o&&+o},3410:function(t,e,n){var r=n("23e7"),o=n("d039"),i=n("7b0b"),a=n("e163"),c=n("e177"),s=o((function(){a(1)}));r({target:"Object",stat:!0,forced:s,sham:!c},{getPrototypeOf:function(t){return a(i(t))}})},"342f":function(t,e,n){var r=n("d066");t.exports=r("navigator","userAgent")||""},"35a1":function(t,e,n){var r=n("f5df"),o=n("3f8c"),i=n("b622"),a=i("iterator");t.exports=function(t){if(void 0!=t)return t[a]||t["@@iterator"]||o[r(t)]}},"37e8":function(t,e,n){var r=n("83ab"),o=n("9bf2"),i=n("825a"),a=n("df75");t.exports=r?Object.defineProperties:function(t,e){i(t);var n,r=a(e),c=r.length,s=0;while(c>s)o.f(t,n=r[s++],e[n]);return t}},"3bbe":function(t,e,n){var r=n("861d");t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},"3ca3":function(t,e,n){"use strict";var r=n("6547").charAt,o=n("69f3"),i=n("7dd0"),a="String Iterator",c=o.set,s=o.getterFor(a);i(String,"String",(function(t){c(this,{type:a,string:String(t),index:0})}),(function(){var t,e=s(this),n=e.string,o=e.index;return o>=n.length?{value:void 0,done:!0}:(t=r(n,o),e.index+=t.length,{value:t,done:!1})}))},"3f8c":function(t,e){t.exports={}},"428f":function(t,e,n){var r=n("da84");t.exports=r},"44ad":function(t,e,n){var r=n("d039"),o=n("c6b6"),i="".split;t.exports=r((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==o(t)?i.call(t,""):Object(t)}:Object},"44d2":function(t,e,n){var r=n("b622"),o=n("7c73"),i=n("9bf2"),a=r("unscopables"),c=Array.prototype;void 0==c[a]&&i.f(c,a,{configurable:!0,value:o(null)}),t.exports=function(t){c[a][t]=!0}},"44de":function(t,e,n){var r=n("da84");t.exports=function(t,e){var n=r.console;n&&n.error&&(1===arguments.length?n.error(t):n.error(t,e))}},"45fc":function(t,e,n){"use strict";var r=n("23e7"),o=n("b727").some,i=n("a640"),a=n("ae40"),c=i("some"),s=a("some");r({target:"Array",proto:!0,forced:!c||!s},{some:function(t){return o(this,t,arguments.length>1?arguments[1]:void 0)}})},4840:function(t,e,n){var r=n("825a"),o=n("1c0b"),i=n("b622"),a=i("species");t.exports=function(t,e){var n,i=r(t).constructor;return void 0===i||void 0==(n=r(i)[a])?e:o(n)}},4930:function(t,e,n){var r=n("d039");t.exports=!!Object.getOwnPropertySymbols&&!r((function(){return!String(Symbol())}))},"4ae1":function(t,e,n){var r=n("23e7"),o=n("d066"),i=n("1c0b"),a=n("825a"),c=n("861d"),s=n("7c73"),u=n("0538"),f=n("d039"),l=o("Reflect","construct"),p=f((function(){function t(){}return!(l((function(){}),[],t)instanceof t)})),d=!f((function(){l((function(){}))})),v=p||d;r({target:"Reflect",stat:!0,forced:v,sham:v},{construct:function(t,e){i(t),a(e);var n=arguments.length<3?t:i(arguments[2]);if(d&&!p)return l(t,e,n);if(t==n){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var r=[null];return r.push.apply(r,e),new(u.apply(t,r))}var o=n.prototype,f=s(c(o)?o:Object.prototype),v=Function.apply.call(t,f,e);return c(v)?v:f}})},"4d64":function(t,e,n){var r=n("fc6a"),o=n("50c4"),i=n("23cb"),a=function(t){return function(e,n,a){var c,s=r(e),u=o(s.length),f=i(a,u);if(t&&n!=n){while(u>f)if(c=s[f++],c!=c)return!0}else for(;u>f;f++)if((t||f in s)&&s[f]===n)return t||f||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},"50c4":function(t,e,n){var r=n("a691"),o=Math.min;t.exports=function(t){return t>0?o(r(t),9007199254740991):0}},5135:function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},5692:function(t,e,n){var r=n("c430"),o=n("c6cd");(t.exports=function(t,e){return o[t]||(o[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.6.5",mode:r?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},"56ef":function(t,e,n){var r=n("d066"),o=n("241c"),i=n("7418"),a=n("825a");t.exports=r("Reflect","ownKeys")||function(t){var e=o.f(a(t)),n=i.f;return n?e.concat(n(t)):e}},"5c6c":function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"60a3":function(t,e,n){"use strict";n.d(e,"a",(function(){return O})),n.d(e,"c",(function(){return r["a"]})),n.d(e,"b",(function(){return A}));var r=n("2b0e"); 8 | /** 9 | * vue-class-component v7.2.3 10 | * (c) 2015-present Evan You 11 | * @license MIT 12 | */function o(t){return o="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(t)}function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function a(t){return c(t)||s(t)||u()}function c(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e1&&void 0!==arguments[1]?arguments[1]:{};e.name=e.name||t._componentTag||t.name;var n=t.prototype;Object.getOwnPropertyNames(n).forEach((function(t){if("constructor"!==t)if(g.indexOf(t)>-1)e[t]=n[t];else{var r=Object.getOwnPropertyDescriptor(n,t);void 0!==r.value?"function"===typeof r.value?(e.methods||(e.methods={}))[t]=r.value:(e.mixins||(e.mixins=[])).push({data:function(){return i({},t,r.value)}}):(r.get||r.set)&&((e.computed||(e.computed={}))[t]={get:r.get,set:r.set})}})),(e.mixins||(e.mixins=[])).push({data:function(){return m(this,t)}});var o=t.__decorators__;o&&(o.forEach((function(t){return t(e)})),delete t.__decorators__);var a=Object.getPrototypeOf(t.prototype),c=a instanceof r["a"]?a.constructor:r["a"],s=c.extend(e);return w(s,t,c),f()&&l(s,t),s}var _={prototype:!0,arguments:!0,callee:!0,caller:!0};function w(t,e,n){Object.getOwnPropertyNames(e).forEach((function(r){if(!_[r]){var o=Object.getOwnPropertyDescriptor(t,r);if(!o||o.configurable){var i=Object.getOwnPropertyDescriptor(e,r);if(!v){if("cid"===r)return;var a=Object.getOwnPropertyDescriptor(n,r);if(!y(i.value)&&a&&a.value===i.value)return}0,Object.defineProperty(t,r,i)}}}))}function x(t){return"function"===typeof t?b(t):function(e){return b(e,t)}}x.registerHooks=function(t){g.push.apply(g,a(t))};var O=x;var S="undefined"!==typeof Reflect&&"undefined"!==typeof Reflect.getMetadata;function C(t,e,n){if(S&&!Array.isArray(t)&&"function"!==typeof t&&"undefined"===typeof t.type){var r=Reflect.getMetadata("design:type",e,n);r!==Object&&(t.type=r)}}function A(t){return void 0===t&&(t={}),function(e,n){C(t,e,n),h((function(e,n){(e.props||(e.props={}))[n]=t}))(e,n)}}},"60da":function(t,e,n){"use strict";var r=n("83ab"),o=n("d039"),i=n("df75"),a=n("7418"),c=n("d1e7"),s=n("7b0b"),u=n("44ad"),f=Object.assign,l=Object.defineProperty;t.exports=!f||o((function(){if(r&&1!==f({b:1},f(l({},"a",{enumerable:!0,get:function(){l(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},n=Symbol(),o="abcdefghijklmnopqrst";return t[n]=7,o.split("").forEach((function(t){e[t]=t})),7!=f({},t)[n]||i(f({},e)).join("")!=o}))?function(t,e){var n=s(t),o=arguments.length,f=1,l=a.f,p=c.f;while(o>f){var d,v=u(arguments[f++]),h=l?i(v).concat(l(v)):i(v),y=h.length,m=0;while(y>m)d=h[m++],r&&!p.call(v,d)||(n[d]=v[d])}return n}:f},6547:function(t,e,n){var r=n("a691"),o=n("1d80"),i=function(t){return function(e,n){var i,a,c=String(o(e)),s=r(n),u=c.length;return s<0||s>=u?t?"":void 0:(i=c.charCodeAt(s),i<55296||i>56319||s+1===u||(a=c.charCodeAt(s+1))<56320||a>57343?t?c.charAt(s):i:t?c.slice(s,s+2):a-56320+(i-55296<<10)+65536)}};t.exports={codeAt:i(!1),charAt:i(!0)}},"65f0":function(t,e,n){var r=n("861d"),o=n("e8b5"),i=n("b622"),a=i("species");t.exports=function(t,e){var n;return o(t)&&(n=t.constructor,"function"!=typeof n||n!==Array&&!o(n.prototype)?r(n)&&(n=n[a],null===n&&(n=void 0)):n=void 0),new(void 0===n?Array:n)(0===e?0:e)}},"69f3":function(t,e,n){var r,o,i,a=n("7f9a"),c=n("da84"),s=n("861d"),u=n("9112"),f=n("5135"),l=n("f772"),p=n("d012"),d=c.WeakMap,v=function(t){return i(t)?o(t):r(t,{})},h=function(t){return function(e){var n;if(!s(e)||(n=o(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return n}};if(a){var y=new d,m=y.get,g=y.has,b=y.set;r=function(t,e){return b.call(y,t,e),e},o=function(t){return m.call(y,t)||{}},i=function(t){return g.call(y,t)}}else{var _=l("state");p[_]=!0,r=function(t,e){return u(t,_,e),e},o=function(t){return f(t,_)?t[_]:{}},i=function(t){return f(t,_)}}t.exports={set:r,get:o,has:i,enforce:v,getterFor:h}},"6eeb":function(t,e,n){var r=n("da84"),o=n("9112"),i=n("5135"),a=n("ce4e"),c=n("8925"),s=n("69f3"),u=s.get,f=s.enforce,l=String(String).split("String");(t.exports=function(t,e,n,c){var s=!!c&&!!c.unsafe,u=!!c&&!!c.enumerable,p=!!c&&!!c.noTargetGet;"function"==typeof n&&("string"!=typeof e||i(n,"name")||o(n,"name",e),f(n).source=l.join("string"==typeof e?e:"")),t!==r?(s?!p&&t[e]&&(u=!0):delete t[e],u?t[e]=n:o(t,e,n)):u?t[e]=n:a(e,n)})(Function.prototype,"toString",(function(){return"function"==typeof this&&u(this).source||c(this)}))},7418:function(t,e){e.f=Object.getOwnPropertySymbols},"746f":function(t,e,n){var r=n("428f"),o=n("5135"),i=n("e538"),a=n("9bf2").f;t.exports=function(t){var e=r.Symbol||(r.Symbol={});o(e,t)||a(e,t,{value:i.f(t)})}},7839:function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(t,e,n){var r=n("1d80");t.exports=function(t){return Object(r(t))}},"7c73":function(t,e,n){var r,o=n("825a"),i=n("37e8"),a=n("7839"),c=n("d012"),s=n("1be4"),u=n("cc12"),f=n("f772"),l=">",p="<",d="prototype",v="script",h=f("IE_PROTO"),y=function(){},m=function(t){return p+v+l+t+p+"/"+v+l},g=function(t){t.write(m("")),t.close();var e=t.parentWindow.Object;return t=null,e},b=function(){var t,e=u("iframe"),n="java"+v+":";return e.style.display="none",s.appendChild(e),e.src=String(n),t=e.contentWindow.document,t.open(),t.write(m("document.F=Object")),t.close(),t.F},_=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(e){}_=r?g(r):b();var t=a.length;while(t--)delete _[d][a[t]];return _()};c[h]=!0,t.exports=Object.create||function(t,e){var n;return null!==t?(y[d]=o(t),n=new y,y[d]=null,n[h]=t):n=_(),void 0===e?n:i(n,e)}},"7dd0":function(t,e,n){"use strict";var r=n("23e7"),o=n("9ed3"),i=n("e163"),a=n("d2bb"),c=n("d44e"),s=n("9112"),u=n("6eeb"),f=n("b622"),l=n("c430"),p=n("3f8c"),d=n("ae93"),v=d.IteratorPrototype,h=d.BUGGY_SAFARI_ITERATORS,y=f("iterator"),m="keys",g="values",b="entries",_=function(){return this};t.exports=function(t,e,n,f,d,w,x){o(n,e,f);var O,S,C,A=function(t){if(t===d&&P)return P;if(!h&&t in k)return k[t];switch(t){case m:return function(){return new n(this,t)};case g:return function(){return new n(this,t)};case b:return function(){return new n(this,t)}}return function(){return new n(this)}},j=e+" Iterator",$=!1,k=t.prototype,E=k[y]||k["@@iterator"]||d&&k[d],P=!h&&E||A(d),T="Array"==e&&k.entries||E;if(T&&(O=i(T.call(new t)),v!==Object.prototype&&O.next&&(l||i(O)===v||(a?a(O,v):"function"!=typeof O[y]&&s(O,y,_)),c(O,j,!0,!0),l&&(p[j]=_))),d==g&&E&&E.name!==g&&($=!0,P=function(){return E.call(this)}),l&&!x||k[y]===P||s(k,y,P),p[e]=P,d)if(S={values:A(g),keys:w?P:A(m),entries:A(b)},x)for(C in S)(h||$||!(C in k))&&u(k,C,S[C]);else r({target:e,proto:!0,forced:h||$},S);return S}},"7f9a":function(t,e,n){var r=n("da84"),o=n("8925"),i=r.WeakMap;t.exports="function"===typeof i&&/native code/.test(o(i))},"825a":function(t,e,n){var r=n("861d");t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},"83ab":function(t,e,n){var r=n("d039");t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},"861d":function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},8925:function(t,e,n){var r=n("c6cd"),o=Function.toString;"function"!=typeof r.inspectSource&&(r.inspectSource=function(t){return o.call(t)}),t.exports=r.inspectSource},"90e3":function(t,e){var n=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++n+r).toString(36)}},9112:function(t,e,n){var r=n("83ab"),o=n("9bf2"),i=n("5c6c");t.exports=r?function(t,e,n){return o.f(t,e,i(1,n))}:function(t,e,n){return t[e]=n,t}},"94ca":function(t,e,n){var r=n("d039"),o=/#|\.prototype\./,i=function(t,e){var n=c[a(t)];return n==u||n!=s&&("function"==typeof e?r(e):!!e)},a=i.normalize=function(t){return String(t).replace(o,".").toLowerCase()},c=i.data={},s=i.NATIVE="N",u=i.POLYFILL="P";t.exports=i},"9ab4":function(t,e,n){"use strict";n.d(e,"a",(function(){return r}));function r(t,e,n,r){var o,i=arguments.length,a=i<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"===typeof Reflect&&"function"===typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var c=t.length-1;c>=0;c--)(o=t[c])&&(a=(i<3?o(a):i>3?o(e,n,a):o(e,n))||a);return i>3&&a&&Object.defineProperty(e,n,a),a}},"9bdd":function(t,e,n){var r=n("825a");t.exports=function(t,e,n,o){try{return o?e(r(n)[0],n[1]):e(n)}catch(a){var i=t["return"];throw void 0!==i&&r(i.call(t)),a}}},"9bf2":function(t,e,n){var r=n("83ab"),o=n("0cfb"),i=n("825a"),a=n("c04e"),c=Object.defineProperty;e.f=r?c:function(t,e,n){if(i(t),e=a(e,!0),i(n),o)try{return c(t,e,n)}catch(r){}if("get"in n||"set"in n)throw TypeError("Accessors not supported");return"value"in n&&(t[e]=n.value),t}},"9ed3":function(t,e,n){"use strict";var r=n("ae93").IteratorPrototype,o=n("7c73"),i=n("5c6c"),a=n("d44e"),c=n("3f8c"),s=function(){return this};t.exports=function(t,e,n){var u=e+" Iterator";return t.prototype=o(r,{next:i(1,n)}),a(t,u,!1,!0),c[u]=s,t}},a4d3:function(t,e,n){"use strict";var r=n("23e7"),o=n("da84"),i=n("d066"),a=n("c430"),c=n("83ab"),s=n("4930"),u=n("fdbf"),f=n("d039"),l=n("5135"),p=n("e8b5"),d=n("861d"),v=n("825a"),h=n("7b0b"),y=n("fc6a"),m=n("c04e"),g=n("5c6c"),b=n("7c73"),_=n("df75"),w=n("241c"),x=n("057f"),O=n("7418"),S=n("06cf"),C=n("9bf2"),A=n("d1e7"),j=n("9112"),$=n("6eeb"),k=n("5692"),E=n("f772"),P=n("d012"),T=n("90e3"),I=n("b622"),M=n("e538"),L=n("746f"),D=n("d44e"),N=n("69f3"),R=n("b727").forEach,F=E("hidden"),V="Symbol",U="prototype",H=I("toPrimitive"),z=N.set,B=N.getterFor(V),W=Object[U],G=o.Symbol,K=i("JSON","stringify"),q=S.f,X=C.f,J=x.f,Y=A.f,Z=k("symbols"),Q=k("op-symbols"),tt=k("string-to-symbol-registry"),et=k("symbol-to-string-registry"),nt=k("wks"),rt=o.QObject,ot=!rt||!rt[U]||!rt[U].findChild,it=c&&f((function(){return 7!=b(X({},"a",{get:function(){return X(this,"a",{value:7}).a}})).a}))?function(t,e,n){var r=q(W,e);r&&delete W[e],X(t,e,n),r&&t!==W&&X(W,e,r)}:X,at=function(t,e){var n=Z[t]=b(G[U]);return z(n,{type:V,tag:t,description:e}),c||(n.description=e),n},ct=u?function(t){return"symbol"==typeof t}:function(t){return Object(t)instanceof G},st=function(t,e,n){t===W&&st(Q,e,n),v(t);var r=m(e,!0);return v(n),l(Z,r)?(n.enumerable?(l(t,F)&&t[F][r]&&(t[F][r]=!1),n=b(n,{enumerable:g(0,!1)})):(l(t,F)||X(t,F,g(1,{})),t[F][r]=!0),it(t,r,n)):X(t,r,n)},ut=function(t,e){v(t);var n=y(e),r=_(n).concat(vt(n));return R(r,(function(e){c&&!lt.call(n,e)||st(t,e,n[e])})),t},ft=function(t,e){return void 0===e?b(t):ut(b(t),e)},lt=function(t){var e=m(t,!0),n=Y.call(this,e);return!(this===W&&l(Z,e)&&!l(Q,e))&&(!(n||!l(this,e)||!l(Z,e)||l(this,F)&&this[F][e])||n)},pt=function(t,e){var n=y(t),r=m(e,!0);if(n!==W||!l(Z,r)||l(Q,r)){var o=q(n,r);return!o||!l(Z,r)||l(n,F)&&n[F][r]||(o.enumerable=!0),o}},dt=function(t){var e=J(y(t)),n=[];return R(e,(function(t){l(Z,t)||l(P,t)||n.push(t)})),n},vt=function(t){var e=t===W,n=J(e?Q:y(t)),r=[];return R(n,(function(t){!l(Z,t)||e&&!l(W,t)||r.push(Z[t])})),r};if(s||(G=function(){if(this instanceof G)throw TypeError("Symbol is not a constructor");var t=arguments.length&&void 0!==arguments[0]?String(arguments[0]):void 0,e=T(t),n=function(t){this===W&&n.call(Q,t),l(this,F)&&l(this[F],e)&&(this[F][e]=!1),it(this,e,g(1,t))};return c&&ot&&it(W,e,{configurable:!0,set:n}),at(e,t)},$(G[U],"toString",(function(){return B(this).tag})),$(G,"withoutSetter",(function(t){return at(T(t),t)})),A.f=lt,C.f=st,S.f=pt,w.f=x.f=dt,O.f=vt,M.f=function(t){return at(I(t),t)},c&&(X(G[U],"description",{configurable:!0,get:function(){return B(this).description}}),a||$(W,"propertyIsEnumerable",lt,{unsafe:!0}))),r({global:!0,wrap:!0,forced:!s,sham:!s},{Symbol:G}),R(_(nt),(function(t){L(t)})),r({target:V,stat:!0,forced:!s},{for:function(t){var e=String(t);if(l(tt,e))return tt[e];var n=G(e);return tt[e]=n,et[n]=e,n},keyFor:function(t){if(!ct(t))throw TypeError(t+" is not a symbol");if(l(et,t))return et[t]},useSetter:function(){ot=!0},useSimple:function(){ot=!1}}),r({target:"Object",stat:!0,forced:!s,sham:!c},{create:ft,defineProperty:st,defineProperties:ut,getOwnPropertyDescriptor:pt}),r({target:"Object",stat:!0,forced:!s},{getOwnPropertyNames:dt,getOwnPropertySymbols:vt}),r({target:"Object",stat:!0,forced:f((function(){O.f(1)}))},{getOwnPropertySymbols:function(t){return O.f(h(t))}}),K){var ht=!s||f((function(){var t=G();return"[null]"!=K([t])||"{}"!=K({a:t})||"{}"!=K(Object(t))}));r({target:"JSON",stat:!0,forced:ht},{stringify:function(t,e,n){var r,o=[t],i=1;while(arguments.length>i)o.push(arguments[i++]);if(r=e,(d(e)||void 0!==t)&&!ct(t))return p(e)||(e=function(t,e){if("function"==typeof r&&(e=r.call(this,t,e)),!ct(e))return e}),o[1]=e,K.apply(null,o)}})}G[U][H]||j(G[U],H,G[U].valueOf),D(G,V),P[F]=!0},a640:function(t,e,n){"use strict";var r=n("d039");t.exports=function(t,e){var n=[][t];return!!n&&r((function(){n.call(null,e||function(){throw 1},1)}))}},a691:function(t,e){var n=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:n)(t)}},a79d:function(t,e,n){"use strict";var r=n("23e7"),o=n("c430"),i=n("fea9"),a=n("d039"),c=n("d066"),s=n("4840"),u=n("cdf9"),f=n("6eeb"),l=!!i&&a((function(){i.prototype["finally"].call({then:function(){}},(function(){}))}));r({target:"Promise",proto:!0,real:!0,forced:l},{finally:function(t){var e=s(this,c("Promise")),n="function"==typeof t;return this.then(n?function(n){return u(e,t()).then((function(){return n}))}:t,n?function(n){return u(e,t()).then((function(){throw n}))}:t)}}),o||"function"!=typeof i||i.prototype["finally"]||f(i.prototype,"finally",c("Promise").prototype["finally"])},ad6d:function(t,e,n){"use strict";var r=n("825a");t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},ae40:function(t,e,n){var r=n("83ab"),o=n("d039"),i=n("5135"),a=Object.defineProperty,c={},s=function(t){throw t};t.exports=function(t,e){if(i(c,t))return c[t];e||(e={});var n=[][t],u=!!i(e,"ACCESSORS")&&e.ACCESSORS,f=i(e,0)?e[0]:s,l=i(e,1)?e[1]:void 0;return c[t]=!!n&&!o((function(){if(u&&!r)return!0;var t={length:-1};u?a(t,1,{enumerable:!0,get:s}):t[1]=1,n.call(t,f,l)}))}},ae93:function(t,e,n){"use strict";var r,o,i,a=n("e163"),c=n("9112"),s=n("5135"),u=n("b622"),f=n("c430"),l=u("iterator"),p=!1,d=function(){return this};[].keys&&(i=[].keys(),"next"in i?(o=a(a(i)),o!==Object.prototype&&(r=o)):p=!0),void 0==r&&(r={}),f||s(r,l)||c(r,l,d),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:p}},b041:function(t,e,n){"use strict";var r=n("00ee"),o=n("f5df");t.exports=r?{}.toString:function(){return"[object "+o(this)+"]"}},b575:function(t,e,n){var r,o,i,a,c,s,u,f,l=n("da84"),p=n("06cf").f,d=n("c6b6"),v=n("2cf4").set,h=n("1cdc"),y=l.MutationObserver||l.WebKitMutationObserver,m=l.process,g=l.Promise,b="process"==d(m),_=p(l,"queueMicrotask"),w=_&&_.value;w||(r=function(){var t,e;b&&(t=m.domain)&&t.exit();while(o){e=o.fn,o=o.next;try{e()}catch(n){throw o?a():i=void 0,n}}i=void 0,t&&t.enter()},b?a=function(){m.nextTick(r)}:y&&!h?(c=!0,s=document.createTextNode(""),new y(r).observe(s,{characterData:!0}),a=function(){s.data=c=!c}):g&&g.resolve?(u=g.resolve(void 0),f=u.then,a=function(){f.call(u,r)}):a=function(){v.call(l,r)}),t.exports=w||function(t){var e={fn:t,next:void 0};i&&(i.next=e),o||(o=e,a()),i=e}},b622:function(t,e,n){var r=n("da84"),o=n("5692"),i=n("5135"),a=n("90e3"),c=n("4930"),s=n("fdbf"),u=o("wks"),f=r.Symbol,l=s?f:f&&f.withoutSetter||a;t.exports=function(t){return i(u,t)||(c&&i(f,t)?u[t]=f[t]:u[t]=l("Symbol."+t)),u[t]}},b727:function(t,e,n){var r=n("0366"),o=n("44ad"),i=n("7b0b"),a=n("50c4"),c=n("65f0"),s=[].push,u=function(t){var e=1==t,n=2==t,u=3==t,f=4==t,l=6==t,p=5==t||l;return function(d,v,h,y){for(var m,g,b=i(d),_=o(b),w=r(v,h,3),x=a(_.length),O=0,S=y||c,C=e?S(d,x):n?S(d,0):void 0;x>O;O++)if((p||O in _)&&(m=_[O],g=w(m,O,b),t))if(e)C[O]=g;else if(g)switch(t){case 3:return!0;case 5:return m;case 6:return O;case 2:s.call(C,m)}else if(f)return!1;return l?-1:u||f?f:C}};t.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6)}},bee2:function(t,e,n){"use strict";function r(t,e){for(var n=0;ns)r(c,n=e[s++])&&(~i(u,n)||u.push(n));return u}},cc12:function(t,e,n){var r=n("da84"),o=n("861d"),i=r.document,a=o(i)&&o(i.createElement);t.exports=function(t){return a?i.createElement(t):{}}},cca6:function(t,e,n){var r=n("23e7"),o=n("60da");r({target:"Object",stat:!0,forced:Object.assign!==o},{assign:o})},cdf9:function(t,e,n){var r=n("825a"),o=n("861d"),i=n("f069");t.exports=function(t,e){if(r(t),o(e)&&e.constructor===t)return e;var n=i.f(t),a=n.resolve;return a(e),n.promise}},ce4e:function(t,e,n){var r=n("da84"),o=n("9112");t.exports=function(t,e){try{o(r,t,e)}catch(n){r[t]=e}return e}},d012:function(t,e){t.exports={}},d039:function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},d066:function(t,e,n){var r=n("428f"),o=n("da84"),i=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,e){return arguments.length<2?i(r[t])||i(o[t]):r[t]&&r[t][e]||o[t]&&o[t][e]}},d1e7:function(t,e,n){"use strict";var r={}.propertyIsEnumerable,o=Object.getOwnPropertyDescriptor,i=o&&!r.call({1:2},1);e.f=i?function(t){var e=o(this,t);return!!e&&e.enumerable}:r},d28b:function(t,e,n){var r=n("746f");r("iterator")},d2bb:function(t,e,n){var r=n("825a"),o=n("3bbe");t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,n={};try{t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,t.call(n,[]),e=n instanceof Array}catch(i){}return function(n,i){return r(n),o(i),e?t.call(n,i):n.__proto__=i,n}}():void 0)},d3b7:function(t,e,n){var r=n("00ee"),o=n("6eeb"),i=n("b041");r||o(Object.prototype,"toString",i,{unsafe:!0})},d44e:function(t,e,n){var r=n("9bf2").f,o=n("5135"),i=n("b622"),a=i("toStringTag");t.exports=function(t,e,n){t&&!o(t=n?t:t.prototype,a)&&r(t,a,{configurable:!0,value:e})}},d4ec:function(t,e,n){"use strict";function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}n.d(e,"a",(function(){return r}))},da84:function(t,e,n){(function(e){var n=function(t){return t&&t.Math==Math&&t};t.exports=n("object"==typeof globalThis&&globalThis)||n("object"==typeof window&&window)||n("object"==typeof self&&self)||n("object"==typeof e&&e)||Function("return this")()}).call(this,n("c8ba"))},ddb0:function(t,e,n){var r=n("da84"),o=n("fdbc"),i=n("e260"),a=n("9112"),c=n("b622"),s=c("iterator"),u=c("toStringTag"),f=i.values;for(var l in o){var p=r[l],d=p&&p.prototype;if(d){if(d[s]!==f)try{a(d,s,f)}catch(h){d[s]=f}if(d[u]||a(d,u,l),o[l])for(var v in i)if(d[v]!==i[v])try{a(d,v,i[v])}catch(h){d[v]=i[v]}}}},df75:function(t,e,n){var r=n("ca84"),o=n("7839");t.exports=Object.keys||function(t){return r(t,o)}},e01a:function(t,e,n){"use strict";var r=n("23e7"),o=n("83ab"),i=n("da84"),a=n("5135"),c=n("861d"),s=n("9bf2").f,u=n("e893"),f=i.Symbol;if(o&&"function"==typeof f&&(!("description"in f.prototype)||void 0!==f().description)){var l={},p=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof p?new f(t):void 0===t?f():f(t);return""===t&&(l[e]=!0),e};u(p,f);var d=p.prototype=f.prototype;d.constructor=p;var v=d.toString,h="Symbol(test)"==String(f("test")),y=/^Symbol\((.*)\)[^)]+$/;s(d,"description",{configurable:!0,get:function(){var t=c(this)?this.valueOf():this,e=v.call(t);if(a(l,t))return"";var n=h?e.slice(7,-1):e.replace(y,"$1");return""===n?void 0:n}}),r({global:!0,forced:!0},{Symbol:p})}},e163:function(t,e,n){var r=n("5135"),o=n("7b0b"),i=n("f772"),a=n("e177"),c=i("IE_PROTO"),s=Object.prototype;t.exports=a?Object.getPrototypeOf:function(t){return t=o(t),r(t,c)?t[c]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?s:null}},e177:function(t,e,n){var r=n("d039");t.exports=!r((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},e260:function(t,e,n){"use strict";var r=n("fc6a"),o=n("44d2"),i=n("3f8c"),a=n("69f3"),c=n("7dd0"),s="Array Iterator",u=a.set,f=a.getterFor(s);t.exports=c(Array,"Array",(function(t,e){u(this,{type:s,target:r(t),index:0,kind:e})}),(function(){var t=f(this),e=t.target,n=t.kind,r=t.index++;return!e||r>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==n?{value:r,done:!1}:"values"==n?{value:e[r],done:!1}:{value:[r,e[r]],done:!1}}),"values"),i.Arguments=i.Array,o("keys"),o("values"),o("entries")},e2cc:function(t,e,n){var r=n("6eeb");t.exports=function(t,e,n){for(var o in e)r(t,o,e[o],n);return t}},e538:function(t,e,n){var r=n("b622");e.f=r},e667:function(t,e){t.exports=function(t){try{return{error:!1,value:t()}}catch(e){return{error:!0,value:e}}}},e6cf:function(t,e,n){"use strict";var r,o,i,a,c=n("23e7"),s=n("c430"),u=n("da84"),f=n("d066"),l=n("fea9"),p=n("6eeb"),d=n("e2cc"),v=n("d44e"),h=n("2626"),y=n("861d"),m=n("1c0b"),g=n("19aa"),b=n("c6b6"),_=n("8925"),w=n("2266"),x=n("1c7e"),O=n("4840"),S=n("2cf4").set,C=n("b575"),A=n("cdf9"),j=n("44de"),$=n("f069"),k=n("e667"),E=n("69f3"),P=n("94ca"),T=n("b622"),I=n("2d00"),M=T("species"),L="Promise",D=E.get,N=E.set,R=E.getterFor(L),F=l,V=u.TypeError,U=u.document,H=u.process,z=f("fetch"),B=$.f,W=B,G="process"==b(H),K=!!(U&&U.createEvent&&u.dispatchEvent),q="unhandledrejection",X="rejectionhandled",J=0,Y=1,Z=2,Q=1,tt=2,et=P(L,(function(){var t=_(F)!==String(F);if(!t){if(66===I)return!0;if(!G&&"function"!=typeof PromiseRejectionEvent)return!0}if(s&&!F.prototype["finally"])return!0;if(I>=51&&/native code/.test(F))return!1;var e=F.resolve(1),n=function(t){t((function(){}),(function(){}))},r=e.constructor={};return r[M]=n,!(e.then((function(){}))instanceof n)})),nt=et||!x((function(t){F.all(t)["catch"]((function(){}))})),rt=function(t){var e;return!(!y(t)||"function"!=typeof(e=t.then))&&e},ot=function(t,e,n){if(!e.notified){e.notified=!0;var r=e.reactions;C((function(){var o=e.value,i=e.state==Y,a=0;while(r.length>a){var c,s,u,f=r[a++],l=i?f.ok:f.fail,p=f.resolve,d=f.reject,v=f.domain;try{l?(i||(e.rejection===tt&&st(t,e),e.rejection=Q),!0===l?c=o:(v&&v.enter(),c=l(o),v&&(v.exit(),u=!0)),c===f.promise?d(V("Promise-chain cycle")):(s=rt(c))?s.call(c,p,d):p(c)):d(o)}catch(h){v&&!u&&v.exit(),d(h)}}e.reactions=[],e.notified=!1,n&&!e.rejection&&at(t,e)}))}},it=function(t,e,n){var r,o;K?(r=U.createEvent("Event"),r.promise=e,r.reason=n,r.initEvent(t,!1,!0),u.dispatchEvent(r)):r={promise:e,reason:n},(o=u["on"+t])?o(r):t===q&&j("Unhandled promise rejection",n)},at=function(t,e){S.call(u,(function(){var n,r=e.value,o=ct(e);if(o&&(n=k((function(){G?H.emit("unhandledRejection",r,t):it(q,t,r)})),e.rejection=G||ct(e)?tt:Q,n.error))throw n.value}))},ct=function(t){return t.rejection!==Q&&!t.parent},st=function(t,e){S.call(u,(function(){G?H.emit("rejectionHandled",t):it(X,t,e.value)}))},ut=function(t,e,n,r){return function(o){t(e,n,o,r)}},ft=function(t,e,n,r){e.done||(e.done=!0,r&&(e=r),e.value=n,e.state=Z,ot(t,e,!0))},lt=function(t,e,n,r){if(!e.done){e.done=!0,r&&(e=r);try{if(t===n)throw V("Promise can't be resolved itself");var o=rt(n);o?C((function(){var r={done:!1};try{o.call(n,ut(lt,t,r,e),ut(ft,t,r,e))}catch(i){ft(t,r,i,e)}})):(e.value=n,e.state=Y,ot(t,e,!1))}catch(i){ft(t,{done:!1},i,e)}}};et&&(F=function(t){g(this,F,L),m(t),r.call(this);var e=D(this);try{t(ut(lt,this,e),ut(ft,this,e))}catch(n){ft(this,e,n)}},r=function(t){N(this,{type:L,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:J,value:void 0})},r.prototype=d(F.prototype,{then:function(t,e){var n=R(this),r=B(O(this,F));return r.ok="function"!=typeof t||t,r.fail="function"==typeof e&&e,r.domain=G?H.domain:void 0,n.parent=!0,n.reactions.push(r),n.state!=J&&ot(this,n,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),o=function(){var t=new r,e=D(t);this.promise=t,this.resolve=ut(lt,t,e),this.reject=ut(ft,t,e)},$.f=B=function(t){return t===F||t===i?new o(t):W(t)},s||"function"!=typeof l||(a=l.prototype.then,p(l.prototype,"then",(function(t,e){var n=this;return new F((function(t,e){a.call(n,t,e)})).then(t,e)}),{unsafe:!0}),"function"==typeof z&&c({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return A(F,z.apply(u,arguments))}}))),c({global:!0,wrap:!0,forced:et},{Promise:F}),v(F,L,!1,!0),h(L),i=f(L),c({target:L,stat:!0,forced:et},{reject:function(t){var e=B(this);return e.reject.call(void 0,t),e.promise}}),c({target:L,stat:!0,forced:s||et},{resolve:function(t){return A(s&&this===i?F:this,t)}}),c({target:L,stat:!0,forced:nt},{all:function(t){var e=this,n=B(e),r=n.resolve,o=n.reject,i=k((function(){var n=m(e.resolve),i=[],a=0,c=1;w(t,(function(t){var s=a++,u=!1;i.push(void 0),c++,n.call(e,t).then((function(t){u||(u=!0,i[s]=t,--c||r(i))}),o)})),--c||r(i)}));return i.error&&o(i.value),n.promise},race:function(t){var e=this,n=B(e),r=n.reject,o=k((function(){var o=m(e.resolve);w(t,(function(t){o.call(e,t).then(n.resolve,r)}))}));return o.error&&r(o.value),n.promise}})},e893:function(t,e,n){var r=n("5135"),o=n("56ef"),i=n("06cf"),a=n("9bf2");t.exports=function(t,e){for(var n=o(e),c=a.f,s=i.f,u=0;u 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | <%= htmlWebpackPlugin.options.title %> 10 | 11 | 12 | 13 | 14 | 15 | 19 |
20 | 21 | 22 | 23 | -------------------------------------------------------------------------------- /readme/animated.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sarimabbas/vue-teatree/64a7a41e92cf9ae21af9084ee22f0ad438c9ce54/readme/animated.gif -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 66 | 67 | 107 | 108 | 143 | -------------------------------------------------------------------------------- /src/assets/chevron-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/assets/chevron-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/build-entry.ts: -------------------------------------------------------------------------------- 1 | import Teatree from "./components/Teatree.vue"; 2 | import NodeName from "./components/shelf/NodeName.vue"; 3 | import NodeToggle from "./components/shelf/NodeToggle.vue"; 4 | import NodeType from "./types/NodeType"; 5 | 6 | export { Teatree, NodeName, NodeToggle, NodeType }; 7 | -------------------------------------------------------------------------------- /src/components/Node.vue: -------------------------------------------------------------------------------- 1 | 21 | 22 | 57 | 58 | 89 | -------------------------------------------------------------------------------- /src/components/Teatree.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | 35 | 36 | 43 | -------------------------------------------------------------------------------- /src/components/shelf/ChevronDown.vue: -------------------------------------------------------------------------------- 1 | 15 | 16 | 21 | 22 | -------------------------------------------------------------------------------- /src/components/shelf/ChevronRight.vue: -------------------------------------------------------------------------------- 1 | 15 | 16 | 21 | 22 | -------------------------------------------------------------------------------- /src/components/shelf/NodeName.vue: -------------------------------------------------------------------------------- 1 | 40 | 41 | 53 | 54 | 73 | -------------------------------------------------------------------------------- /src/components/shelf/NodeToggle.vue: -------------------------------------------------------------------------------- 1 | 27 | 28 | 38 | 39 | 47 | -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App.vue' 3 | 4 | Vue.config.productionTip = false 5 | 6 | new Vue({ 7 | render: h => h(App), 8 | }).$mount('#app') 9 | -------------------------------------------------------------------------------- /src/shims-tsx.d.ts: -------------------------------------------------------------------------------- 1 | import Vue, { VNode } from 'vue' 2 | 3 | declare global { 4 | namespace JSX { 5 | // tslint:disable no-empty-interface 6 | interface Element extends VNode {} 7 | // tslint:disable no-empty-interface 8 | interface ElementClass extends Vue {} 9 | interface IntrinsicElements { 10 | [elem: string]: any 11 | } 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/shims-vue.d.ts: -------------------------------------------------------------------------------- 1 | declare module '*.vue' { 2 | import Vue from 'vue' 3 | export default Vue 4 | } 5 | -------------------------------------------------------------------------------- /src/types/NodeType.ts: -------------------------------------------------------------------------------- 1 | interface NodeType { 2 | // show: toggling this will show/hide the node and its children 3 | show: boolean; 4 | // showChildren: toggling this will toggle its children 5 | showChildren: boolean; 6 | // selected: toggling this will apply the "selected" CSS style 7 | selected: boolean; 8 | // children: the children must also conform to the node specification 9 | children: Array; 10 | // name: the name of the node 11 | name: string; 12 | // icon: base64 encoded icon (optional) 13 | icon?: string; 14 | // data: payload by the user of the library (optional) 15 | data?: object; 16 | } 17 | 18 | export default NodeType; 19 | -------------------------------------------------------------------------------- /src/types/NodeType_test.ts: -------------------------------------------------------------------------------- 1 | import NodeType from "./NodeType"; 2 | 3 | const nodeOne: NodeType = { 4 | show: true, 5 | showChildren: false, 6 | selected: false, 7 | children: [], 8 | name: "nodeOne", 9 | data: { 10 | path: "", 11 | fileSize: "", 12 | }, 13 | }; 14 | 15 | const nodeTwo: NodeType = { 16 | show: true, 17 | showChildren: false, 18 | selected: false, 19 | children: [], 20 | name: "nodeTwo", 21 | icon: "", 22 | }; 23 | -------------------------------------------------------------------------------- /tests/unit/example.spec.ts: -------------------------------------------------------------------------------- 1 | import { shallowMount } from '@vue/test-utils' 2 | import HelloWorld from '@/components/HelloWorld.vue' 3 | 4 | describe('HelloWorld.vue', () => { 5 | it('renders props.msg when passed', () => { 6 | const msg = 'new message' 7 | const wrapper = shallowMount(HelloWorld, { 8 | propsData: { msg } 9 | }) 10 | expect(wrapper.text()).toMatch(msg) 11 | }) 12 | }) 13 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "esnext", 4 | "module": "esnext", 5 | "strict": true, 6 | "jsx": "preserve", 7 | "importHelpers": true, 8 | "moduleResolution": "node", 9 | "experimentalDecorators": true, 10 | "esModuleInterop": true, 11 | "allowSyntheticDefaultImports": true, 12 | "sourceMap": true, 13 | "baseUrl": ".", 14 | "types": [ 15 | "webpack-env", 16 | "jest" 17 | ], 18 | "paths": { 19 | "@/*": [ 20 | "src/*" 21 | ] 22 | }, 23 | "lib": [ 24 | "esnext", 25 | "dom", 26 | "dom.iterable", 27 | "scripthost" 28 | ] 29 | }, 30 | "include": [ 31 | "src/**/*.ts", 32 | "src/**/*.tsx", 33 | "src/**/*.vue", 34 | "tests/**/*.ts", 35 | "tests/**/*.tsx" 36 | ], 37 | "exclude": [ 38 | "node_modules" 39 | ] 40 | } 41 | -------------------------------------------------------------------------------- /vue.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | publicPath: process.env.NODE_ENV === "production" ? "/vue-teatree/" : "/", 3 | }; 4 | --------------------------------------------------------------------------------