├── .gitignore
├── .vscode
└── extensions.json
├── README.md
├── deploy.sh
├── index.html
├── package-lock.json
├── package.json
├── public
└── favicon.ico
├── src
├── App.vue
├── assets
│ ├── fonts
│ │ └── RobotoMono-Bold.ttf
│ ├── img-2019-02-12-085645.png
│ ├── machenzie.jpg
│ ├── preview.png
│ └── rip.jpg
├── components
│ ├── branch.vue
│ └── treeview.vue
├── main.js
├── router.js
├── tree.json
├── views
│ ├── Default.vue
│ ├── Machenzie.vue
│ ├── Rip.vue
│ └── Templink.vue
└── vue-treeview.js
├── vite.config.js
└── vite.config.lib.js
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["Vue.volar"]
3 | }
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # TreeView for Vue.js
2 |
3 | [](https://github.com/ll931217/vue-treeview/stargazers)
4 | [](https://github.com/ll931217/vue-treeview/issues)
5 | [](https://github.com/ll931217/vue-treeview/network)
6 | [](https://nodei.co/npm/@ll931217/vue-treeview/)
7 | [](https://nodei.co/npm/@ll931217/vue-treeview/)
8 | [](https://nodei.co/npm/@ll931217/vue-treeview/)
9 |
10 | > Upgraded to Vue 3
11 |
12 | 
13 |
14 |
15 |
16 | ## :sparkles: Incoming Features
17 |
18 | - Add customizable colours for each node, maybe even styles.
19 | - Use `slot` to customize look of node, like icons with images etc. (Will have to look into `slot` a bit more)
20 |
21 | *Any future suggestions are welcome*
22 |
23 | ## :mortar_board: Usage
24 |
25 | Install the package into your project:
26 |
27 | npm install --save @ll931217/vue-treeview
28 |
29 | or
30 |
31 | yarn add @ll931217/vue-treeview
32 |
33 | Add this to your `main.js` file:
34 |
35 | ```javascript
36 | import Vue from 'vue'
37 | import TreeView from '@ll931217/vue-treeview'
38 |
39 | Vue.use(TreeView)
40 | ```
41 |
42 | Then add this to where you want to use the treeview:
43 |
44 | ```html
45 |
46 | ```
47 |
48 | ## :evergreen_tree: Tree
49 | The treeview takes in the prop `tree`, which is in the following structure:
50 |
51 | ```json
52 | [
53 | {
54 | "text": "Dogs",
55 | "nodes": [{
56 | "text": "Germany",
57 | "nodes": [{
58 | "text": "American Eskimo Dog",
59 | "nodes": [{
60 | "text": "Fluffy",
61 | "link": {
62 | "type": "link", // Type `link` will create an `Anchor` tag
63 | "value": "https://upload.wikimedia.org/wikipedia/commons/thumb/f/fe/American_Eskimo_Dog_1.jpg/1920px-American_Eskimo_Dog_1.jpg" // URL of the link
64 | }
65 | }]
66 | }, {
67 | "text": "Bavarian Mountain Hound"
68 | }, {
69 | "text": "Boxer",
70 | "nodes": [{
71 | "text": "Rip (Router-link)",
72 | "link": {
73 | "type": "router-link", // Type `router-link` will create a router-link, duh.
74 | "key": "path", // key to use when giving it the value, router-link(:to="{ path: '/d-ger-boxer-rip' }")
75 | "value": "/d-ger-boxer-rip"
76 | }
77 | }, {
78 | "text": "Mackenzie (Router-link)",
79 | "link": {
80 | "type": "router-link",
81 | "key": "name",
82 | "value": "d-ger-boxer-machenzie"
83 | }
84 | }]
85 | }, {
86 | "text": "Bullenbeisser"
87 | }, {
88 | "text": "Deutsche Bracke",
89 | "nodes": [{
90 | "text": "Mini",
91 | "link": {
92 | "type": "link",
93 | "value": "https://animalsbreeds.com/wp-content/uploads/2015/07/Deutsche-Bracke.jpg"
94 | }
95 | }]
96 | }]
97 | }, {
98 | "text": "France",
99 | "nodes": [{
100 | "text": "Ariegeois"
101 | }, {
102 | "text": "Artois Hound"
103 | }]
104 | }]
105 | }, {
106 | "text": "Cats",
107 | "nodes": [
108 | {
109 | "text": "Russia",
110 | "nodes": [{
111 | "text": "Donskoy"
112 | }, {
113 | "text": "Kurilian Bobtail"
114 | }]
115 | }, {
116 | "text": "Thailand",
117 | "nodes": [{
118 | "text": "Khao Manee"
119 | }, {
120 | "text": "Suphalak",
121 | "nodes": [{
122 | "text": "Moon",
123 | "link": {
124 | "type": "link",
125 | "value": "https://www.pets4homes.co.uk/images/articles/4198/what-is-a-suphalak-cat-5947aefcd4845.jpg"
126 | }
127 | }]
128 | }]
129 | }
130 | ]
131 | },
132 | { // >= v0.3.0
133 | "text": "Standing Up",
134 | "link": {
135 | "type": "router-link",
136 | "key": "path",
137 | "value": "templink"
138 | },
139 | "icon": "cube",
140 | "nodes": [
141 | {
142 | "text": "mixamo.com",
143 | "link": {
144 | "type": "router-link",
145 | "key": "path",
146 | "value": "templink"
147 | },
148 | "icon": "running"
149 | }
150 | ]
151 | }
152 | ]
153 |
154 | ```
155 |
156 | ## Custom Icons
157 |
158 | ### Default Icons
159 | If you want to use custom icons, you can select them from [FontAwesome 5](https://fontawesome.com/icons?d=gallery), add them like this:
160 |
161 | First download their packages (Solid icons are already available):
162 |
163 | | Prop | Type | Required |
164 | | --------- | -------------------- | -------- |
165 | | tree | `Array` | True |
166 | | icons | `String` \| `Object` | False |
167 |
168 | ```vue
169 |
170 |
171 |
172 |
173 |
174 |
175 |
194 | ```
195 |
196 | ### Icon for a node
197 |
198 | In your node, add an `icon` object, you can customise the icon for that specific node such as:
199 | ```json
200 | {
201 | "text": "Barbet",
202 | "icon": "surprise"
203 | }
204 | ```
205 |
206 | ### Toggle whether to show parent node icons
207 |
208 | Usage:
209 | ```html
210 |
211 | ```
212 | The above example will show all icons of parent nodes that has children nodes and hide all empty parent nodes.
213 |
214 | **NOTE**: the prop `show-parent-icon` can be written as above or `showParentIcon`, its all up to you.
215 |
216 | Default:
217 | ```javascript
218 | showParentIcon: {
219 | type: Object,
220 | default: () => ({
221 | parentShow: false,
222 | emptyParentShow: false
223 | })
224 | }
225 | ```
226 |
227 | **NOTE**: Parent nodes with `link` property will still show their icon. See the [`JSON` tree](#tree) above, the last object tree, the parent node has `link` property.
228 |
229 | ## Draggable
230 |
231 | ```html
232 |
233 | ```
234 |
235 | ## :100: Tips
236 |
237 | Adding `.sync` to `:tree` would allow two-way binding for the tree data, if data changed in the child component it will be updated for the entire tree, this feature is good for if you want to save the tree if it changed:
238 |
239 | ```html
240 |
241 | ```
242 |
243 | Double-click the parent node will allow you to add new node to the tree, only if `editable` prop is passed with the `boolean` value of `true`:
244 |
245 | ```html
246 |
247 | ```
248 |
249 | This `prop` can be used for checking user accounts:
250 |
251 | ```html
252 |
253 | ```
254 |
--------------------------------------------------------------------------------
/deploy.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env sh
2 |
3 | set -e
4 |
5 | # build
6 | npm run build
7 |
8 | # navigate into the build output directory
9 | cd dist
10 |
11 | git init
12 | git add -A
13 | git commit -m 'deploy'
14 |
15 | git push -f git@github.com:ll931217/vue-treeview.git master:gh-pages
16 |
17 | cd -
18 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | Vue TreeView Component
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ll931217/vue-treeview",
3 | "version": "0.3.2",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "@ll931217/vue-treeview",
9 | "version": "0.3.2",
10 | "license": "MIT",
11 | "dependencies": {
12 | "@fortawesome/fontawesome-svg-core": "^6.1.1",
13 | "@fortawesome/free-brands-svg-icons": "^6.1.1",
14 | "@fortawesome/free-regular-svg-icons": "^6.1.1",
15 | "@fortawesome/free-solid-svg-icons": "^6.1.1",
16 | "@fortawesome/vue-fontawesome": "^3.0.1",
17 | "vue": "^3.2.25",
18 | "vue-router": "^4.0.16",
19 | "vuedraggable": "^4.1.0"
20 | },
21 | "devDependencies": {
22 | "@vitejs/plugin-vue": "^2.3.3",
23 | "pug": "^3.0.2",
24 | "sass": "^1.53.0",
25 | "vite": "^2.9.9"
26 | }
27 | },
28 | "node_modules/@babel/helper-validator-identifier": {
29 | "version": "7.16.7",
30 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
31 | "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==",
32 | "dev": true,
33 | "engines": {
34 | "node": ">=6.9.0"
35 | }
36 | },
37 | "node_modules/@babel/parser": {
38 | "version": "7.18.5",
39 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.5.tgz",
40 | "integrity": "sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw==",
41 | "bin": {
42 | "parser": "bin/babel-parser.js"
43 | },
44 | "engines": {
45 | "node": ">=6.0.0"
46 | }
47 | },
48 | "node_modules/@babel/types": {
49 | "version": "7.18.4",
50 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.4.tgz",
51 | "integrity": "sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==",
52 | "dev": true,
53 | "dependencies": {
54 | "@babel/helper-validator-identifier": "^7.16.7",
55 | "to-fast-properties": "^2.0.0"
56 | },
57 | "engines": {
58 | "node": ">=6.9.0"
59 | }
60 | },
61 | "node_modules/@fortawesome/fontawesome-common-types": {
62 | "version": "6.1.1",
63 | "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.1.1.tgz",
64 | "integrity": "sha512-wVn5WJPirFTnzN6tR95abCx+ocH+3IFLXAgyavnf9hUmN0CfWoDjPT/BAWsUVwSlYYVBeCLJxaqi7ZGe4uSjBA==",
65 | "hasInstallScript": true,
66 | "engines": {
67 | "node": ">=6"
68 | }
69 | },
70 | "node_modules/@fortawesome/fontawesome-svg-core": {
71 | "version": "6.1.1",
72 | "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.1.1.tgz",
73 | "integrity": "sha512-NCg0w2YIp81f4V6cMGD9iomfsIj7GWrqmsa0ZsPh59G7PKiGN1KymZNxmF00ssuAlo/VZmpK6xazsGOwzKYUMg==",
74 | "hasInstallScript": true,
75 | "dependencies": {
76 | "@fortawesome/fontawesome-common-types": "6.1.1"
77 | },
78 | "engines": {
79 | "node": ">=6"
80 | }
81 | },
82 | "node_modules/@fortawesome/free-brands-svg-icons": {
83 | "version": "6.1.1",
84 | "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.1.1.tgz",
85 | "integrity": "sha512-mFbI/czjBZ+paUtw5NPr2IXjun5KAC8eFqh1hnxowjA4mMZxWz4GCIksq6j9ZSa6Uxj9JhjjDVEd77p2LN2Blg==",
86 | "hasInstallScript": true,
87 | "dependencies": {
88 | "@fortawesome/fontawesome-common-types": "6.1.1"
89 | },
90 | "engines": {
91 | "node": ">=6"
92 | }
93 | },
94 | "node_modules/@fortawesome/free-regular-svg-icons": {
95 | "version": "6.1.1",
96 | "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.1.1.tgz",
97 | "integrity": "sha512-xXiW7hcpgwmWtndKPOzG+43fPH7ZjxOaoeyooptSztGmJxCAflHZxXNK0GcT0uEsR4jTGQAfGklDZE5NHoBhKg==",
98 | "hasInstallScript": true,
99 | "dependencies": {
100 | "@fortawesome/fontawesome-common-types": "6.1.1"
101 | },
102 | "engines": {
103 | "node": ">=6"
104 | }
105 | },
106 | "node_modules/@fortawesome/free-solid-svg-icons": {
107 | "version": "6.1.1",
108 | "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.1.1.tgz",
109 | "integrity": "sha512-0/5exxavOhI/D4Ovm2r3vxNojGZioPwmFrKg0ZUH69Q68uFhFPs6+dhAToh6VEQBntxPRYPuT5Cg1tpNa9JUPg==",
110 | "hasInstallScript": true,
111 | "dependencies": {
112 | "@fortawesome/fontawesome-common-types": "6.1.1"
113 | },
114 | "engines": {
115 | "node": ">=6"
116 | }
117 | },
118 | "node_modules/@fortawesome/vue-fontawesome": {
119 | "version": "3.0.1",
120 | "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-3.0.1.tgz",
121 | "integrity": "sha512-CdXZJoCS+aEPec26ZP7hWWU3SaJlQPZSCGdgpQ2qGl2HUmtUUNrI3zC4XWdn1JUmh3t5OuDeRG1qB4eGRNSD4A==",
122 | "peerDependencies": {
123 | "@fortawesome/fontawesome-svg-core": "~1 || ~6",
124 | "vue": ">= 3.0.0 < 4"
125 | }
126 | },
127 | "node_modules/@vitejs/plugin-vue": {
128 | "version": "2.3.3",
129 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-2.3.3.tgz",
130 | "integrity": "sha512-SmQLDyhz+6lGJhPELsBdzXGc+AcaT8stgkbiTFGpXPe8Tl1tJaBw1A6pxDqDuRsVkD8uscrkx3hA7QDOoKYtyw==",
131 | "dev": true,
132 | "engines": {
133 | "node": ">=12.0.0"
134 | },
135 | "peerDependencies": {
136 | "vite": "^2.5.10",
137 | "vue": "^3.2.25"
138 | }
139 | },
140 | "node_modules/@vue/compiler-core": {
141 | "version": "3.2.37",
142 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.37.tgz",
143 | "integrity": "sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==",
144 | "dependencies": {
145 | "@babel/parser": "^7.16.4",
146 | "@vue/shared": "3.2.37",
147 | "estree-walker": "^2.0.2",
148 | "source-map": "^0.6.1"
149 | }
150 | },
151 | "node_modules/@vue/compiler-dom": {
152 | "version": "3.2.37",
153 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz",
154 | "integrity": "sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==",
155 | "dependencies": {
156 | "@vue/compiler-core": "3.2.37",
157 | "@vue/shared": "3.2.37"
158 | }
159 | },
160 | "node_modules/@vue/compiler-sfc": {
161 | "version": "3.2.37",
162 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz",
163 | "integrity": "sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==",
164 | "dependencies": {
165 | "@babel/parser": "^7.16.4",
166 | "@vue/compiler-core": "3.2.37",
167 | "@vue/compiler-dom": "3.2.37",
168 | "@vue/compiler-ssr": "3.2.37",
169 | "@vue/reactivity-transform": "3.2.37",
170 | "@vue/shared": "3.2.37",
171 | "estree-walker": "^2.0.2",
172 | "magic-string": "^0.25.7",
173 | "postcss": "^8.1.10",
174 | "source-map": "^0.6.1"
175 | }
176 | },
177 | "node_modules/@vue/compiler-ssr": {
178 | "version": "3.2.37",
179 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz",
180 | "integrity": "sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==",
181 | "dependencies": {
182 | "@vue/compiler-dom": "3.2.37",
183 | "@vue/shared": "3.2.37"
184 | }
185 | },
186 | "node_modules/@vue/devtools-api": {
187 | "version": "6.1.4",
188 | "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.1.4.tgz",
189 | "integrity": "sha512-IiA0SvDrJEgXvVxjNkHPFfDx6SXw0b/TUkqMcDZWNg9fnCAHbTpoo59YfJ9QLFkwa3raau5vSlRVzMSLDnfdtQ=="
190 | },
191 | "node_modules/@vue/reactivity": {
192 | "version": "3.2.37",
193 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.37.tgz",
194 | "integrity": "sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==",
195 | "dependencies": {
196 | "@vue/shared": "3.2.37"
197 | }
198 | },
199 | "node_modules/@vue/reactivity-transform": {
200 | "version": "3.2.37",
201 | "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz",
202 | "integrity": "sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==",
203 | "dependencies": {
204 | "@babel/parser": "^7.16.4",
205 | "@vue/compiler-core": "3.2.37",
206 | "@vue/shared": "3.2.37",
207 | "estree-walker": "^2.0.2",
208 | "magic-string": "^0.25.7"
209 | }
210 | },
211 | "node_modules/@vue/runtime-core": {
212 | "version": "3.2.37",
213 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.37.tgz",
214 | "integrity": "sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==",
215 | "dependencies": {
216 | "@vue/reactivity": "3.2.37",
217 | "@vue/shared": "3.2.37"
218 | }
219 | },
220 | "node_modules/@vue/runtime-dom": {
221 | "version": "3.2.37",
222 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.37.tgz",
223 | "integrity": "sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==",
224 | "dependencies": {
225 | "@vue/runtime-core": "3.2.37",
226 | "@vue/shared": "3.2.37",
227 | "csstype": "^2.6.8"
228 | }
229 | },
230 | "node_modules/@vue/server-renderer": {
231 | "version": "3.2.37",
232 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.37.tgz",
233 | "integrity": "sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==",
234 | "dependencies": {
235 | "@vue/compiler-ssr": "3.2.37",
236 | "@vue/shared": "3.2.37"
237 | },
238 | "peerDependencies": {
239 | "vue": "3.2.37"
240 | }
241 | },
242 | "node_modules/@vue/shared": {
243 | "version": "3.2.37",
244 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.37.tgz",
245 | "integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw=="
246 | },
247 | "node_modules/acorn": {
248 | "version": "7.4.1",
249 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
250 | "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
251 | "dev": true,
252 | "bin": {
253 | "acorn": "bin/acorn"
254 | },
255 | "engines": {
256 | "node": ">=0.4.0"
257 | }
258 | },
259 | "node_modules/anymatch": {
260 | "version": "3.1.2",
261 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
262 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
263 | "dev": true,
264 | "dependencies": {
265 | "normalize-path": "^3.0.0",
266 | "picomatch": "^2.0.4"
267 | },
268 | "engines": {
269 | "node": ">= 8"
270 | }
271 | },
272 | "node_modules/asap": {
273 | "version": "2.0.6",
274 | "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
275 | "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
276 | "dev": true
277 | },
278 | "node_modules/assert-never": {
279 | "version": "1.2.1",
280 | "resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.2.1.tgz",
281 | "integrity": "sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==",
282 | "dev": true
283 | },
284 | "node_modules/babel-walk": {
285 | "version": "3.0.0-canary-5",
286 | "resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz",
287 | "integrity": "sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==",
288 | "dev": true,
289 | "dependencies": {
290 | "@babel/types": "^7.9.6"
291 | },
292 | "engines": {
293 | "node": ">= 10.0.0"
294 | }
295 | },
296 | "node_modules/binary-extensions": {
297 | "version": "2.2.0",
298 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
299 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
300 | "dev": true,
301 | "engines": {
302 | "node": ">=8"
303 | }
304 | },
305 | "node_modules/braces": {
306 | "version": "3.0.2",
307 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
308 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
309 | "dev": true,
310 | "dependencies": {
311 | "fill-range": "^7.0.1"
312 | },
313 | "engines": {
314 | "node": ">=8"
315 | }
316 | },
317 | "node_modules/call-bind": {
318 | "version": "1.0.2",
319 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
320 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
321 | "dev": true,
322 | "dependencies": {
323 | "function-bind": "^1.1.1",
324 | "get-intrinsic": "^1.0.2"
325 | },
326 | "funding": {
327 | "url": "https://github.com/sponsors/ljharb"
328 | }
329 | },
330 | "node_modules/character-parser": {
331 | "version": "2.2.0",
332 | "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz",
333 | "integrity": "sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==",
334 | "dev": true,
335 | "dependencies": {
336 | "is-regex": "^1.0.3"
337 | }
338 | },
339 | "node_modules/chokidar": {
340 | "version": "3.5.3",
341 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
342 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
343 | "dev": true,
344 | "funding": [
345 | {
346 | "type": "individual",
347 | "url": "https://paulmillr.com/funding/"
348 | }
349 | ],
350 | "dependencies": {
351 | "anymatch": "~3.1.2",
352 | "braces": "~3.0.2",
353 | "glob-parent": "~5.1.2",
354 | "is-binary-path": "~2.1.0",
355 | "is-glob": "~4.0.1",
356 | "normalize-path": "~3.0.0",
357 | "readdirp": "~3.6.0"
358 | },
359 | "engines": {
360 | "node": ">= 8.10.0"
361 | },
362 | "optionalDependencies": {
363 | "fsevents": "~2.3.2"
364 | }
365 | },
366 | "node_modules/constantinople": {
367 | "version": "4.0.1",
368 | "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz",
369 | "integrity": "sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==",
370 | "dev": true,
371 | "dependencies": {
372 | "@babel/parser": "^7.6.0",
373 | "@babel/types": "^7.6.1"
374 | }
375 | },
376 | "node_modules/csstype": {
377 | "version": "2.6.20",
378 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz",
379 | "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA=="
380 | },
381 | "node_modules/doctypes": {
382 | "version": "1.1.0",
383 | "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz",
384 | "integrity": "sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==",
385 | "dev": true
386 | },
387 | "node_modules/esbuild": {
388 | "version": "0.14.47",
389 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.47.tgz",
390 | "integrity": "sha512-wI4ZiIfFxpkuxB8ju4MHrGwGLyp1+awEHAHVpx6w7a+1pmYIq8T9FGEVVwFo0iFierDoMj++Xq69GXWYn2EiwA==",
391 | "dev": true,
392 | "hasInstallScript": true,
393 | "bin": {
394 | "esbuild": "bin/esbuild"
395 | },
396 | "engines": {
397 | "node": ">=12"
398 | },
399 | "optionalDependencies": {
400 | "esbuild-android-64": "0.14.47",
401 | "esbuild-android-arm64": "0.14.47",
402 | "esbuild-darwin-64": "0.14.47",
403 | "esbuild-darwin-arm64": "0.14.47",
404 | "esbuild-freebsd-64": "0.14.47",
405 | "esbuild-freebsd-arm64": "0.14.47",
406 | "esbuild-linux-32": "0.14.47",
407 | "esbuild-linux-64": "0.14.47",
408 | "esbuild-linux-arm": "0.14.47",
409 | "esbuild-linux-arm64": "0.14.47",
410 | "esbuild-linux-mips64le": "0.14.47",
411 | "esbuild-linux-ppc64le": "0.14.47",
412 | "esbuild-linux-riscv64": "0.14.47",
413 | "esbuild-linux-s390x": "0.14.47",
414 | "esbuild-netbsd-64": "0.14.47",
415 | "esbuild-openbsd-64": "0.14.47",
416 | "esbuild-sunos-64": "0.14.47",
417 | "esbuild-windows-32": "0.14.47",
418 | "esbuild-windows-64": "0.14.47",
419 | "esbuild-windows-arm64": "0.14.47"
420 | }
421 | },
422 | "node_modules/esbuild-android-64": {
423 | "version": "0.14.47",
424 | "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.47.tgz",
425 | "integrity": "sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==",
426 | "cpu": [
427 | "x64"
428 | ],
429 | "dev": true,
430 | "optional": true,
431 | "os": [
432 | "android"
433 | ],
434 | "engines": {
435 | "node": ">=12"
436 | }
437 | },
438 | "node_modules/esbuild-android-arm64": {
439 | "version": "0.14.47",
440 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.47.tgz",
441 | "integrity": "sha512-OkwOjj7ts4lBp/TL6hdd8HftIzOy/pdtbrNA4+0oVWgGG64HrdVzAF5gxtJufAPOsEjkyh1oIYvKAUinKKQRSQ==",
442 | "cpu": [
443 | "arm64"
444 | ],
445 | "dev": true,
446 | "optional": true,
447 | "os": [
448 | "android"
449 | ],
450 | "engines": {
451 | "node": ">=12"
452 | }
453 | },
454 | "node_modules/esbuild-darwin-64": {
455 | "version": "0.14.47",
456 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.47.tgz",
457 | "integrity": "sha512-R6oaW0y5/u6Eccti/TS6c/2c1xYTb1izwK3gajJwi4vIfNs1s8B1dQzI1UiC9T61YovOQVuePDcfqHLT3mUZJA==",
458 | "cpu": [
459 | "x64"
460 | ],
461 | "dev": true,
462 | "optional": true,
463 | "os": [
464 | "darwin"
465 | ],
466 | "engines": {
467 | "node": ">=12"
468 | }
469 | },
470 | "node_modules/esbuild-darwin-arm64": {
471 | "version": "0.14.47",
472 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.47.tgz",
473 | "integrity": "sha512-seCmearlQyvdvM/noz1L9+qblC5vcBrhUaOoLEDDoLInF/VQ9IkobGiLlyTPYP5dW1YD4LXhtBgOyevoIHGGnw==",
474 | "cpu": [
475 | "arm64"
476 | ],
477 | "dev": true,
478 | "optional": true,
479 | "os": [
480 | "darwin"
481 | ],
482 | "engines": {
483 | "node": ">=12"
484 | }
485 | },
486 | "node_modules/esbuild-freebsd-64": {
487 | "version": "0.14.47",
488 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.47.tgz",
489 | "integrity": "sha512-ZH8K2Q8/Ux5kXXvQMDsJcxvkIwut69KVrYQhza/ptkW50DC089bCVrJZZ3sKzIoOx+YPTrmsZvqeZERjyYrlvQ==",
490 | "cpu": [
491 | "x64"
492 | ],
493 | "dev": true,
494 | "optional": true,
495 | "os": [
496 | "freebsd"
497 | ],
498 | "engines": {
499 | "node": ">=12"
500 | }
501 | },
502 | "node_modules/esbuild-freebsd-arm64": {
503 | "version": "0.14.47",
504 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.47.tgz",
505 | "integrity": "sha512-ZJMQAJQsIOhn3XTm7MPQfCzEu5b9STNC+s90zMWe2afy9EwnHV7Ov7ohEMv2lyWlc2pjqLW8QJnz2r0KZmeAEQ==",
506 | "cpu": [
507 | "arm64"
508 | ],
509 | "dev": true,
510 | "optional": true,
511 | "os": [
512 | "freebsd"
513 | ],
514 | "engines": {
515 | "node": ">=12"
516 | }
517 | },
518 | "node_modules/esbuild-linux-32": {
519 | "version": "0.14.47",
520 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.47.tgz",
521 | "integrity": "sha512-FxZOCKoEDPRYvq300lsWCTv1kcHgiiZfNrPtEhFAiqD7QZaXrad8LxyJ8fXGcWzIFzRiYZVtB3ttvITBvAFhKw==",
522 | "cpu": [
523 | "ia32"
524 | ],
525 | "dev": true,
526 | "optional": true,
527 | "os": [
528 | "linux"
529 | ],
530 | "engines": {
531 | "node": ">=12"
532 | }
533 | },
534 | "node_modules/esbuild-linux-64": {
535 | "version": "0.14.47",
536 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.47.tgz",
537 | "integrity": "sha512-nFNOk9vWVfvWYF9YNYksZptgQAdstnDCMtR6m42l5Wfugbzu11VpMCY9XrD4yFxvPo9zmzcoUL/88y0lfJZJJw==",
538 | "cpu": [
539 | "x64"
540 | ],
541 | "dev": true,
542 | "optional": true,
543 | "os": [
544 | "linux"
545 | ],
546 | "engines": {
547 | "node": ">=12"
548 | }
549 | },
550 | "node_modules/esbuild-linux-arm": {
551 | "version": "0.14.47",
552 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.47.tgz",
553 | "integrity": "sha512-ZGE1Bqg/gPRXrBpgpvH81tQHpiaGxa8c9Rx/XOylkIl2ypLuOcawXEAo8ls+5DFCcRGt/o3sV+PzpAFZobOsmA==",
554 | "cpu": [
555 | "arm"
556 | ],
557 | "dev": true,
558 | "optional": true,
559 | "os": [
560 | "linux"
561 | ],
562 | "engines": {
563 | "node": ">=12"
564 | }
565 | },
566 | "node_modules/esbuild-linux-arm64": {
567 | "version": "0.14.47",
568 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.47.tgz",
569 | "integrity": "sha512-ywfme6HVrhWcevzmsufjd4iT3PxTfCX9HOdxA7Hd+/ZM23Y9nXeb+vG6AyA6jgq/JovkcqRHcL9XwRNpWG6XRw==",
570 | "cpu": [
571 | "arm64"
572 | ],
573 | "dev": true,
574 | "optional": true,
575 | "os": [
576 | "linux"
577 | ],
578 | "engines": {
579 | "node": ">=12"
580 | }
581 | },
582 | "node_modules/esbuild-linux-mips64le": {
583 | "version": "0.14.47",
584 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.47.tgz",
585 | "integrity": "sha512-mg3D8YndZ1LvUiEdDYR3OsmeyAew4MA/dvaEJxvyygahWmpv1SlEEnhEZlhPokjsUMfRagzsEF/d/2XF+kTQGg==",
586 | "cpu": [
587 | "mips64el"
588 | ],
589 | "dev": true,
590 | "optional": true,
591 | "os": [
592 | "linux"
593 | ],
594 | "engines": {
595 | "node": ">=12"
596 | }
597 | },
598 | "node_modules/esbuild-linux-ppc64le": {
599 | "version": "0.14.47",
600 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.47.tgz",
601 | "integrity": "sha512-WER+f3+szmnZiWoK6AsrTKGoJoErG2LlauSmk73LEZFQ/iWC+KhhDsOkn1xBUpzXWsxN9THmQFltLoaFEH8F8w==",
602 | "cpu": [
603 | "ppc64"
604 | ],
605 | "dev": true,
606 | "optional": true,
607 | "os": [
608 | "linux"
609 | ],
610 | "engines": {
611 | "node": ">=12"
612 | }
613 | },
614 | "node_modules/esbuild-linux-riscv64": {
615 | "version": "0.14.47",
616 | "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.47.tgz",
617 | "integrity": "sha512-1fI6bP3A3rvI9BsaaXbMoaOjLE3lVkJtLxsgLHqlBhLlBVY7UqffWBvkrX/9zfPhhVMd9ZRFiaqXnB1T7BsL2g==",
618 | "cpu": [
619 | "riscv64"
620 | ],
621 | "dev": true,
622 | "optional": true,
623 | "os": [
624 | "linux"
625 | ],
626 | "engines": {
627 | "node": ">=12"
628 | }
629 | },
630 | "node_modules/esbuild-linux-s390x": {
631 | "version": "0.14.47",
632 | "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.47.tgz",
633 | "integrity": "sha512-eZrWzy0xFAhki1CWRGnhsHVz7IlSKX6yT2tj2Eg8lhAwlRE5E96Hsb0M1mPSE1dHGpt1QVwwVivXIAacF/G6mw==",
634 | "cpu": [
635 | "s390x"
636 | ],
637 | "dev": true,
638 | "optional": true,
639 | "os": [
640 | "linux"
641 | ],
642 | "engines": {
643 | "node": ">=12"
644 | }
645 | },
646 | "node_modules/esbuild-netbsd-64": {
647 | "version": "0.14.47",
648 | "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.47.tgz",
649 | "integrity": "sha512-Qjdjr+KQQVH5Q2Q1r6HBYswFTToPpss3gqCiSw2Fpq/ua8+eXSQyAMG+UvULPqXceOwpnPo4smyZyHdlkcPppQ==",
650 | "cpu": [
651 | "x64"
652 | ],
653 | "dev": true,
654 | "optional": true,
655 | "os": [
656 | "netbsd"
657 | ],
658 | "engines": {
659 | "node": ">=12"
660 | }
661 | },
662 | "node_modules/esbuild-openbsd-64": {
663 | "version": "0.14.47",
664 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.47.tgz",
665 | "integrity": "sha512-QpgN8ofL7B9z8g5zZqJE+eFvD1LehRlxr25PBkjyyasakm4599iroUpaj96rdqRlO2ShuyqwJdr+oNqWwTUmQw==",
666 | "cpu": [
667 | "x64"
668 | ],
669 | "dev": true,
670 | "optional": true,
671 | "os": [
672 | "openbsd"
673 | ],
674 | "engines": {
675 | "node": ">=12"
676 | }
677 | },
678 | "node_modules/esbuild-sunos-64": {
679 | "version": "0.14.47",
680 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.47.tgz",
681 | "integrity": "sha512-uOeSgLUwukLioAJOiGYm3kNl+1wJjgJA8R671GYgcPgCx7QR73zfvYqXFFcIO93/nBdIbt5hd8RItqbbf3HtAQ==",
682 | "cpu": [
683 | "x64"
684 | ],
685 | "dev": true,
686 | "optional": true,
687 | "os": [
688 | "sunos"
689 | ],
690 | "engines": {
691 | "node": ">=12"
692 | }
693 | },
694 | "node_modules/esbuild-windows-32": {
695 | "version": "0.14.47",
696 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.47.tgz",
697 | "integrity": "sha512-H0fWsLTp2WBfKLBgwYT4OTfFly4Im/8B5f3ojDv1Kx//kiubVY0IQunP2Koc/fr/0wI7hj3IiBDbSrmKlrNgLQ==",
698 | "cpu": [
699 | "ia32"
700 | ],
701 | "dev": true,
702 | "optional": true,
703 | "os": [
704 | "win32"
705 | ],
706 | "engines": {
707 | "node": ">=12"
708 | }
709 | },
710 | "node_modules/esbuild-windows-64": {
711 | "version": "0.14.47",
712 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.47.tgz",
713 | "integrity": "sha512-/Pk5jIEH34T68r8PweKRi77W49KwanZ8X6lr3vDAtOlH5EumPE4pBHqkCUdELanvsT14yMXLQ/C/8XPi1pAtkQ==",
714 | "cpu": [
715 | "x64"
716 | ],
717 | "dev": true,
718 | "optional": true,
719 | "os": [
720 | "win32"
721 | ],
722 | "engines": {
723 | "node": ">=12"
724 | }
725 | },
726 | "node_modules/esbuild-windows-arm64": {
727 | "version": "0.14.47",
728 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.47.tgz",
729 | "integrity": "sha512-HFSW2lnp62fl86/qPQlqw6asIwCnEsEoNIL1h2uVMgakddf+vUuMcCbtUY1i8sst7KkgHrVKCJQB33YhhOweCQ==",
730 | "cpu": [
731 | "arm64"
732 | ],
733 | "dev": true,
734 | "optional": true,
735 | "os": [
736 | "win32"
737 | ],
738 | "engines": {
739 | "node": ">=12"
740 | }
741 | },
742 | "node_modules/estree-walker": {
743 | "version": "2.0.2",
744 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
745 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
746 | },
747 | "node_modules/fill-range": {
748 | "version": "7.0.1",
749 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
750 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
751 | "dev": true,
752 | "dependencies": {
753 | "to-regex-range": "^5.0.1"
754 | },
755 | "engines": {
756 | "node": ">=8"
757 | }
758 | },
759 | "node_modules/fsevents": {
760 | "version": "2.3.2",
761 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
762 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
763 | "dev": true,
764 | "hasInstallScript": true,
765 | "optional": true,
766 | "os": [
767 | "darwin"
768 | ],
769 | "engines": {
770 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
771 | }
772 | },
773 | "node_modules/function-bind": {
774 | "version": "1.1.1",
775 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
776 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
777 | "dev": true
778 | },
779 | "node_modules/get-intrinsic": {
780 | "version": "1.1.2",
781 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz",
782 | "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==",
783 | "dev": true,
784 | "dependencies": {
785 | "function-bind": "^1.1.1",
786 | "has": "^1.0.3",
787 | "has-symbols": "^1.0.3"
788 | },
789 | "funding": {
790 | "url": "https://github.com/sponsors/ljharb"
791 | }
792 | },
793 | "node_modules/glob-parent": {
794 | "version": "5.1.2",
795 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
796 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
797 | "dev": true,
798 | "dependencies": {
799 | "is-glob": "^4.0.1"
800 | },
801 | "engines": {
802 | "node": ">= 6"
803 | }
804 | },
805 | "node_modules/has": {
806 | "version": "1.0.3",
807 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
808 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
809 | "dev": true,
810 | "dependencies": {
811 | "function-bind": "^1.1.1"
812 | },
813 | "engines": {
814 | "node": ">= 0.4.0"
815 | }
816 | },
817 | "node_modules/has-symbols": {
818 | "version": "1.0.3",
819 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
820 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
821 | "dev": true,
822 | "engines": {
823 | "node": ">= 0.4"
824 | },
825 | "funding": {
826 | "url": "https://github.com/sponsors/ljharb"
827 | }
828 | },
829 | "node_modules/has-tostringtag": {
830 | "version": "1.0.0",
831 | "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
832 | "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
833 | "dev": true,
834 | "dependencies": {
835 | "has-symbols": "^1.0.2"
836 | },
837 | "engines": {
838 | "node": ">= 0.4"
839 | },
840 | "funding": {
841 | "url": "https://github.com/sponsors/ljharb"
842 | }
843 | },
844 | "node_modules/immutable": {
845 | "version": "4.1.0",
846 | "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz",
847 | "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==",
848 | "dev": true
849 | },
850 | "node_modules/is-binary-path": {
851 | "version": "2.1.0",
852 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
853 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
854 | "dev": true,
855 | "dependencies": {
856 | "binary-extensions": "^2.0.0"
857 | },
858 | "engines": {
859 | "node": ">=8"
860 | }
861 | },
862 | "node_modules/is-core-module": {
863 | "version": "2.9.0",
864 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
865 | "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
866 | "dev": true,
867 | "dependencies": {
868 | "has": "^1.0.3"
869 | },
870 | "funding": {
871 | "url": "https://github.com/sponsors/ljharb"
872 | }
873 | },
874 | "node_modules/is-expression": {
875 | "version": "4.0.0",
876 | "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz",
877 | "integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==",
878 | "dev": true,
879 | "dependencies": {
880 | "acorn": "^7.1.1",
881 | "object-assign": "^4.1.1"
882 | }
883 | },
884 | "node_modules/is-extglob": {
885 | "version": "2.1.1",
886 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
887 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
888 | "dev": true,
889 | "engines": {
890 | "node": ">=0.10.0"
891 | }
892 | },
893 | "node_modules/is-glob": {
894 | "version": "4.0.3",
895 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
896 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
897 | "dev": true,
898 | "dependencies": {
899 | "is-extglob": "^2.1.1"
900 | },
901 | "engines": {
902 | "node": ">=0.10.0"
903 | }
904 | },
905 | "node_modules/is-number": {
906 | "version": "7.0.0",
907 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
908 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
909 | "dev": true,
910 | "engines": {
911 | "node": ">=0.12.0"
912 | }
913 | },
914 | "node_modules/is-promise": {
915 | "version": "2.2.2",
916 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
917 | "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==",
918 | "dev": true
919 | },
920 | "node_modules/is-regex": {
921 | "version": "1.1.4",
922 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
923 | "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
924 | "dev": true,
925 | "dependencies": {
926 | "call-bind": "^1.0.2",
927 | "has-tostringtag": "^1.0.0"
928 | },
929 | "engines": {
930 | "node": ">= 0.4"
931 | },
932 | "funding": {
933 | "url": "https://github.com/sponsors/ljharb"
934 | }
935 | },
936 | "node_modules/js-stringify": {
937 | "version": "1.0.2",
938 | "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz",
939 | "integrity": "sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==",
940 | "dev": true
941 | },
942 | "node_modules/jstransformer": {
943 | "version": "1.0.0",
944 | "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz",
945 | "integrity": "sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==",
946 | "dev": true,
947 | "dependencies": {
948 | "is-promise": "^2.0.0",
949 | "promise": "^7.0.1"
950 | }
951 | },
952 | "node_modules/magic-string": {
953 | "version": "0.25.9",
954 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
955 | "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
956 | "dependencies": {
957 | "sourcemap-codec": "^1.4.8"
958 | }
959 | },
960 | "node_modules/nanoid": {
961 | "version": "3.3.4",
962 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
963 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
964 | "bin": {
965 | "nanoid": "bin/nanoid.cjs"
966 | },
967 | "engines": {
968 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
969 | }
970 | },
971 | "node_modules/normalize-path": {
972 | "version": "3.0.0",
973 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
974 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
975 | "dev": true,
976 | "engines": {
977 | "node": ">=0.10.0"
978 | }
979 | },
980 | "node_modules/object-assign": {
981 | "version": "4.1.1",
982 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
983 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
984 | "dev": true,
985 | "engines": {
986 | "node": ">=0.10.0"
987 | }
988 | },
989 | "node_modules/path-parse": {
990 | "version": "1.0.7",
991 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
992 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
993 | "dev": true
994 | },
995 | "node_modules/picocolors": {
996 | "version": "1.0.0",
997 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
998 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
999 | },
1000 | "node_modules/picomatch": {
1001 | "version": "2.3.1",
1002 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
1003 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
1004 | "dev": true,
1005 | "engines": {
1006 | "node": ">=8.6"
1007 | },
1008 | "funding": {
1009 | "url": "https://github.com/sponsors/jonschlinkert"
1010 | }
1011 | },
1012 | "node_modules/postcss": {
1013 | "version": "8.4.14",
1014 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
1015 | "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
1016 | "funding": [
1017 | {
1018 | "type": "opencollective",
1019 | "url": "https://opencollective.com/postcss/"
1020 | },
1021 | {
1022 | "type": "tidelift",
1023 | "url": "https://tidelift.com/funding/github/npm/postcss"
1024 | }
1025 | ],
1026 | "dependencies": {
1027 | "nanoid": "^3.3.4",
1028 | "picocolors": "^1.0.0",
1029 | "source-map-js": "^1.0.2"
1030 | },
1031 | "engines": {
1032 | "node": "^10 || ^12 || >=14"
1033 | }
1034 | },
1035 | "node_modules/promise": {
1036 | "version": "7.3.1",
1037 | "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
1038 | "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
1039 | "dev": true,
1040 | "dependencies": {
1041 | "asap": "~2.0.3"
1042 | }
1043 | },
1044 | "node_modules/pug": {
1045 | "version": "3.0.2",
1046 | "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.2.tgz",
1047 | "integrity": "sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==",
1048 | "dev": true,
1049 | "dependencies": {
1050 | "pug-code-gen": "^3.0.2",
1051 | "pug-filters": "^4.0.0",
1052 | "pug-lexer": "^5.0.1",
1053 | "pug-linker": "^4.0.0",
1054 | "pug-load": "^3.0.0",
1055 | "pug-parser": "^6.0.0",
1056 | "pug-runtime": "^3.0.1",
1057 | "pug-strip-comments": "^2.0.0"
1058 | }
1059 | },
1060 | "node_modules/pug-attrs": {
1061 | "version": "3.0.0",
1062 | "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-3.0.0.tgz",
1063 | "integrity": "sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==",
1064 | "dev": true,
1065 | "dependencies": {
1066 | "constantinople": "^4.0.1",
1067 | "js-stringify": "^1.0.2",
1068 | "pug-runtime": "^3.0.0"
1069 | }
1070 | },
1071 | "node_modules/pug-code-gen": {
1072 | "version": "3.0.2",
1073 | "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.2.tgz",
1074 | "integrity": "sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==",
1075 | "dev": true,
1076 | "dependencies": {
1077 | "constantinople": "^4.0.1",
1078 | "doctypes": "^1.1.0",
1079 | "js-stringify": "^1.0.2",
1080 | "pug-attrs": "^3.0.0",
1081 | "pug-error": "^2.0.0",
1082 | "pug-runtime": "^3.0.0",
1083 | "void-elements": "^3.1.0",
1084 | "with": "^7.0.0"
1085 | }
1086 | },
1087 | "node_modules/pug-error": {
1088 | "version": "2.0.0",
1089 | "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.0.0.tgz",
1090 | "integrity": "sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==",
1091 | "dev": true
1092 | },
1093 | "node_modules/pug-filters": {
1094 | "version": "4.0.0",
1095 | "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-4.0.0.tgz",
1096 | "integrity": "sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==",
1097 | "dev": true,
1098 | "dependencies": {
1099 | "constantinople": "^4.0.1",
1100 | "jstransformer": "1.0.0",
1101 | "pug-error": "^2.0.0",
1102 | "pug-walk": "^2.0.0",
1103 | "resolve": "^1.15.1"
1104 | }
1105 | },
1106 | "node_modules/pug-lexer": {
1107 | "version": "5.0.1",
1108 | "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz",
1109 | "integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==",
1110 | "dev": true,
1111 | "dependencies": {
1112 | "character-parser": "^2.2.0",
1113 | "is-expression": "^4.0.0",
1114 | "pug-error": "^2.0.0"
1115 | }
1116 | },
1117 | "node_modules/pug-linker": {
1118 | "version": "4.0.0",
1119 | "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-4.0.0.tgz",
1120 | "integrity": "sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==",
1121 | "dev": true,
1122 | "dependencies": {
1123 | "pug-error": "^2.0.0",
1124 | "pug-walk": "^2.0.0"
1125 | }
1126 | },
1127 | "node_modules/pug-load": {
1128 | "version": "3.0.0",
1129 | "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-3.0.0.tgz",
1130 | "integrity": "sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==",
1131 | "dev": true,
1132 | "dependencies": {
1133 | "object-assign": "^4.1.1",
1134 | "pug-walk": "^2.0.0"
1135 | }
1136 | },
1137 | "node_modules/pug-parser": {
1138 | "version": "6.0.0",
1139 | "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-6.0.0.tgz",
1140 | "integrity": "sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==",
1141 | "dev": true,
1142 | "dependencies": {
1143 | "pug-error": "^2.0.0",
1144 | "token-stream": "1.0.0"
1145 | }
1146 | },
1147 | "node_modules/pug-runtime": {
1148 | "version": "3.0.1",
1149 | "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.1.tgz",
1150 | "integrity": "sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==",
1151 | "dev": true
1152 | },
1153 | "node_modules/pug-strip-comments": {
1154 | "version": "2.0.0",
1155 | "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz",
1156 | "integrity": "sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==",
1157 | "dev": true,
1158 | "dependencies": {
1159 | "pug-error": "^2.0.0"
1160 | }
1161 | },
1162 | "node_modules/pug-walk": {
1163 | "version": "2.0.0",
1164 | "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-2.0.0.tgz",
1165 | "integrity": "sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==",
1166 | "dev": true
1167 | },
1168 | "node_modules/readdirp": {
1169 | "version": "3.6.0",
1170 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
1171 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
1172 | "dev": true,
1173 | "dependencies": {
1174 | "picomatch": "^2.2.1"
1175 | },
1176 | "engines": {
1177 | "node": ">=8.10.0"
1178 | }
1179 | },
1180 | "node_modules/resolve": {
1181 | "version": "1.22.1",
1182 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
1183 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
1184 | "dev": true,
1185 | "dependencies": {
1186 | "is-core-module": "^2.9.0",
1187 | "path-parse": "^1.0.7",
1188 | "supports-preserve-symlinks-flag": "^1.0.0"
1189 | },
1190 | "bin": {
1191 | "resolve": "bin/resolve"
1192 | },
1193 | "funding": {
1194 | "url": "https://github.com/sponsors/ljharb"
1195 | }
1196 | },
1197 | "node_modules/rollup": {
1198 | "version": "2.75.7",
1199 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.75.7.tgz",
1200 | "integrity": "sha512-VSE1iy0eaAYNCxEXaleThdFXqZJ42qDBatAwrfnPlENEZ8erQ+0LYX4JXOLPceWfZpV1VtZwZ3dFCuOZiSyFtQ==",
1201 | "dev": true,
1202 | "bin": {
1203 | "rollup": "dist/bin/rollup"
1204 | },
1205 | "engines": {
1206 | "node": ">=10.0.0"
1207 | },
1208 | "optionalDependencies": {
1209 | "fsevents": "~2.3.2"
1210 | }
1211 | },
1212 | "node_modules/sass": {
1213 | "version": "1.53.0",
1214 | "resolved": "https://registry.npmjs.org/sass/-/sass-1.53.0.tgz",
1215 | "integrity": "sha512-zb/oMirbKhUgRQ0/GFz8TSAwRq2IlR29vOUJZOx0l8sV+CkHUfHa4u5nqrG+1VceZp7Jfj59SVW9ogdhTvJDcQ==",
1216 | "dev": true,
1217 | "dependencies": {
1218 | "chokidar": ">=3.0.0 <4.0.0",
1219 | "immutable": "^4.0.0",
1220 | "source-map-js": ">=0.6.2 <2.0.0"
1221 | },
1222 | "bin": {
1223 | "sass": "sass.js"
1224 | },
1225 | "engines": {
1226 | "node": ">=12.0.0"
1227 | }
1228 | },
1229 | "node_modules/sortablejs": {
1230 | "version": "1.14.0",
1231 | "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz",
1232 | "integrity": "sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w=="
1233 | },
1234 | "node_modules/source-map": {
1235 | "version": "0.6.1",
1236 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1237 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
1238 | "engines": {
1239 | "node": ">=0.10.0"
1240 | }
1241 | },
1242 | "node_modules/source-map-js": {
1243 | "version": "1.0.2",
1244 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
1245 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
1246 | "engines": {
1247 | "node": ">=0.10.0"
1248 | }
1249 | },
1250 | "node_modules/sourcemap-codec": {
1251 | "version": "1.4.8",
1252 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
1253 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
1254 | },
1255 | "node_modules/supports-preserve-symlinks-flag": {
1256 | "version": "1.0.0",
1257 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
1258 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
1259 | "dev": true,
1260 | "engines": {
1261 | "node": ">= 0.4"
1262 | },
1263 | "funding": {
1264 | "url": "https://github.com/sponsors/ljharb"
1265 | }
1266 | },
1267 | "node_modules/to-fast-properties": {
1268 | "version": "2.0.0",
1269 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
1270 | "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
1271 | "dev": true,
1272 | "engines": {
1273 | "node": ">=4"
1274 | }
1275 | },
1276 | "node_modules/to-regex-range": {
1277 | "version": "5.0.1",
1278 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
1279 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
1280 | "dev": true,
1281 | "dependencies": {
1282 | "is-number": "^7.0.0"
1283 | },
1284 | "engines": {
1285 | "node": ">=8.0"
1286 | }
1287 | },
1288 | "node_modules/token-stream": {
1289 | "version": "1.0.0",
1290 | "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-1.0.0.tgz",
1291 | "integrity": "sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==",
1292 | "dev": true
1293 | },
1294 | "node_modules/vite": {
1295 | "version": "2.9.13",
1296 | "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.13.tgz",
1297 | "integrity": "sha512-AsOBAaT0AD7Mhe8DuK+/kE4aWYFMx/i0ZNi98hJclxb4e0OhQcZYUrvLjIaQ8e59Ui7txcvKMiJC1yftqpQoDw==",
1298 | "dev": true,
1299 | "dependencies": {
1300 | "esbuild": "^0.14.27",
1301 | "postcss": "^8.4.13",
1302 | "resolve": "^1.22.0",
1303 | "rollup": "^2.59.0"
1304 | },
1305 | "bin": {
1306 | "vite": "bin/vite.js"
1307 | },
1308 | "engines": {
1309 | "node": ">=12.2.0"
1310 | },
1311 | "optionalDependencies": {
1312 | "fsevents": "~2.3.2"
1313 | },
1314 | "peerDependencies": {
1315 | "less": "*",
1316 | "sass": "*",
1317 | "stylus": "*"
1318 | },
1319 | "peerDependenciesMeta": {
1320 | "less": {
1321 | "optional": true
1322 | },
1323 | "sass": {
1324 | "optional": true
1325 | },
1326 | "stylus": {
1327 | "optional": true
1328 | }
1329 | }
1330 | },
1331 | "node_modules/void-elements": {
1332 | "version": "3.1.0",
1333 | "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz",
1334 | "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==",
1335 | "dev": true,
1336 | "engines": {
1337 | "node": ">=0.10.0"
1338 | }
1339 | },
1340 | "node_modules/vue": {
1341 | "version": "3.2.37",
1342 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.37.tgz",
1343 | "integrity": "sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==",
1344 | "dependencies": {
1345 | "@vue/compiler-dom": "3.2.37",
1346 | "@vue/compiler-sfc": "3.2.37",
1347 | "@vue/runtime-dom": "3.2.37",
1348 | "@vue/server-renderer": "3.2.37",
1349 | "@vue/shared": "3.2.37"
1350 | }
1351 | },
1352 | "node_modules/vue-router": {
1353 | "version": "4.0.16",
1354 | "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.16.tgz",
1355 | "integrity": "sha512-JcO7cb8QJLBWE+DfxGUL3xUDOae/8nhM1KVdnudadTAORbuxIC/xAydC5Zr/VLHUDQi1ppuTF5/rjBGzgzrJNA==",
1356 | "dependencies": {
1357 | "@vue/devtools-api": "^6.0.0"
1358 | },
1359 | "funding": {
1360 | "url": "https://github.com/sponsors/posva"
1361 | },
1362 | "peerDependencies": {
1363 | "vue": "^3.2.0"
1364 | }
1365 | },
1366 | "node_modules/vuedraggable": {
1367 | "version": "4.1.0",
1368 | "resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-4.1.0.tgz",
1369 | "integrity": "sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==",
1370 | "dependencies": {
1371 | "sortablejs": "1.14.0"
1372 | },
1373 | "peerDependencies": {
1374 | "vue": "^3.0.1"
1375 | }
1376 | },
1377 | "node_modules/with": {
1378 | "version": "7.0.2",
1379 | "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz",
1380 | "integrity": "sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==",
1381 | "dev": true,
1382 | "dependencies": {
1383 | "@babel/parser": "^7.9.6",
1384 | "@babel/types": "^7.9.6",
1385 | "assert-never": "^1.2.1",
1386 | "babel-walk": "3.0.0-canary-5"
1387 | },
1388 | "engines": {
1389 | "node": ">= 10.0.0"
1390 | }
1391 | }
1392 | },
1393 | "dependencies": {
1394 | "@babel/helper-validator-identifier": {
1395 | "version": "7.16.7",
1396 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
1397 | "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==",
1398 | "dev": true
1399 | },
1400 | "@babel/parser": {
1401 | "version": "7.18.5",
1402 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.5.tgz",
1403 | "integrity": "sha512-YZWVaglMiplo7v8f1oMQ5ZPQr0vn7HPeZXxXWsxXJRjGVrzUFn9OxFQl1sb5wzfootjA/yChhW84BV+383FSOw=="
1404 | },
1405 | "@babel/types": {
1406 | "version": "7.18.4",
1407 | "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.4.tgz",
1408 | "integrity": "sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==",
1409 | "dev": true,
1410 | "requires": {
1411 | "@babel/helper-validator-identifier": "^7.16.7",
1412 | "to-fast-properties": "^2.0.0"
1413 | }
1414 | },
1415 | "@fortawesome/fontawesome-common-types": {
1416 | "version": "6.1.1",
1417 | "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.1.1.tgz",
1418 | "integrity": "sha512-wVn5WJPirFTnzN6tR95abCx+ocH+3IFLXAgyavnf9hUmN0CfWoDjPT/BAWsUVwSlYYVBeCLJxaqi7ZGe4uSjBA=="
1419 | },
1420 | "@fortawesome/fontawesome-svg-core": {
1421 | "version": "6.1.1",
1422 | "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.1.1.tgz",
1423 | "integrity": "sha512-NCg0w2YIp81f4V6cMGD9iomfsIj7GWrqmsa0ZsPh59G7PKiGN1KymZNxmF00ssuAlo/VZmpK6xazsGOwzKYUMg==",
1424 | "requires": {
1425 | "@fortawesome/fontawesome-common-types": "6.1.1"
1426 | }
1427 | },
1428 | "@fortawesome/free-brands-svg-icons": {
1429 | "version": "6.1.1",
1430 | "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.1.1.tgz",
1431 | "integrity": "sha512-mFbI/czjBZ+paUtw5NPr2IXjun5KAC8eFqh1hnxowjA4mMZxWz4GCIksq6j9ZSa6Uxj9JhjjDVEd77p2LN2Blg==",
1432 | "requires": {
1433 | "@fortawesome/fontawesome-common-types": "6.1.1"
1434 | }
1435 | },
1436 | "@fortawesome/free-regular-svg-icons": {
1437 | "version": "6.1.1",
1438 | "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.1.1.tgz",
1439 | "integrity": "sha512-xXiW7hcpgwmWtndKPOzG+43fPH7ZjxOaoeyooptSztGmJxCAflHZxXNK0GcT0uEsR4jTGQAfGklDZE5NHoBhKg==",
1440 | "requires": {
1441 | "@fortawesome/fontawesome-common-types": "6.1.1"
1442 | }
1443 | },
1444 | "@fortawesome/free-solid-svg-icons": {
1445 | "version": "6.1.1",
1446 | "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.1.1.tgz",
1447 | "integrity": "sha512-0/5exxavOhI/D4Ovm2r3vxNojGZioPwmFrKg0ZUH69Q68uFhFPs6+dhAToh6VEQBntxPRYPuT5Cg1tpNa9JUPg==",
1448 | "requires": {
1449 | "@fortawesome/fontawesome-common-types": "6.1.1"
1450 | }
1451 | },
1452 | "@fortawesome/vue-fontawesome": {
1453 | "version": "3.0.1",
1454 | "resolved": "https://registry.npmjs.org/@fortawesome/vue-fontawesome/-/vue-fontawesome-3.0.1.tgz",
1455 | "integrity": "sha512-CdXZJoCS+aEPec26ZP7hWWU3SaJlQPZSCGdgpQ2qGl2HUmtUUNrI3zC4XWdn1JUmh3t5OuDeRG1qB4eGRNSD4A==",
1456 | "requires": {}
1457 | },
1458 | "@vitejs/plugin-vue": {
1459 | "version": "2.3.3",
1460 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-2.3.3.tgz",
1461 | "integrity": "sha512-SmQLDyhz+6lGJhPELsBdzXGc+AcaT8stgkbiTFGpXPe8Tl1tJaBw1A6pxDqDuRsVkD8uscrkx3hA7QDOoKYtyw==",
1462 | "dev": true,
1463 | "requires": {}
1464 | },
1465 | "@vue/compiler-core": {
1466 | "version": "3.2.37",
1467 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.37.tgz",
1468 | "integrity": "sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==",
1469 | "requires": {
1470 | "@babel/parser": "^7.16.4",
1471 | "@vue/shared": "3.2.37",
1472 | "estree-walker": "^2.0.2",
1473 | "source-map": "^0.6.1"
1474 | }
1475 | },
1476 | "@vue/compiler-dom": {
1477 | "version": "3.2.37",
1478 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.37.tgz",
1479 | "integrity": "sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==",
1480 | "requires": {
1481 | "@vue/compiler-core": "3.2.37",
1482 | "@vue/shared": "3.2.37"
1483 | }
1484 | },
1485 | "@vue/compiler-sfc": {
1486 | "version": "3.2.37",
1487 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.37.tgz",
1488 | "integrity": "sha512-+7i/2+9LYlpqDv+KTtWhOZH+pa8/HnX/905MdVmAcI/mPQOBwkHHIzrsEsucyOIZQYMkXUiTkmZq5am/NyXKkg==",
1489 | "requires": {
1490 | "@babel/parser": "^7.16.4",
1491 | "@vue/compiler-core": "3.2.37",
1492 | "@vue/compiler-dom": "3.2.37",
1493 | "@vue/compiler-ssr": "3.2.37",
1494 | "@vue/reactivity-transform": "3.2.37",
1495 | "@vue/shared": "3.2.37",
1496 | "estree-walker": "^2.0.2",
1497 | "magic-string": "^0.25.7",
1498 | "postcss": "^8.1.10",
1499 | "source-map": "^0.6.1"
1500 | }
1501 | },
1502 | "@vue/compiler-ssr": {
1503 | "version": "3.2.37",
1504 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.37.tgz",
1505 | "integrity": "sha512-7mQJD7HdXxQjktmsWp/J67lThEIcxLemz1Vb5I6rYJHR5vI+lON3nPGOH3ubmbvYGt8xEUaAr1j7/tIFWiEOqw==",
1506 | "requires": {
1507 | "@vue/compiler-dom": "3.2.37",
1508 | "@vue/shared": "3.2.37"
1509 | }
1510 | },
1511 | "@vue/devtools-api": {
1512 | "version": "6.1.4",
1513 | "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.1.4.tgz",
1514 | "integrity": "sha512-IiA0SvDrJEgXvVxjNkHPFfDx6SXw0b/TUkqMcDZWNg9fnCAHbTpoo59YfJ9QLFkwa3raau5vSlRVzMSLDnfdtQ=="
1515 | },
1516 | "@vue/reactivity": {
1517 | "version": "3.2.37",
1518 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.37.tgz",
1519 | "integrity": "sha512-/7WRafBOshOc6m3F7plwzPeCu/RCVv9uMpOwa/5PiY1Zz+WLVRWiy0MYKwmg19KBdGtFWsmZ4cD+LOdVPcs52A==",
1520 | "requires": {
1521 | "@vue/shared": "3.2.37"
1522 | }
1523 | },
1524 | "@vue/reactivity-transform": {
1525 | "version": "3.2.37",
1526 | "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.37.tgz",
1527 | "integrity": "sha512-IWopkKEb+8qpu/1eMKVeXrK0NLw9HicGviJzhJDEyfxTR9e1WtpnnbYkJWurX6WwoFP0sz10xQg8yL8lgskAZg==",
1528 | "requires": {
1529 | "@babel/parser": "^7.16.4",
1530 | "@vue/compiler-core": "3.2.37",
1531 | "@vue/shared": "3.2.37",
1532 | "estree-walker": "^2.0.2",
1533 | "magic-string": "^0.25.7"
1534 | }
1535 | },
1536 | "@vue/runtime-core": {
1537 | "version": "3.2.37",
1538 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.37.tgz",
1539 | "integrity": "sha512-JPcd9kFyEdXLl/i0ClS7lwgcs0QpUAWj+SKX2ZC3ANKi1U4DOtiEr6cRqFXsPwY5u1L9fAjkinIdB8Rz3FoYNQ==",
1540 | "requires": {
1541 | "@vue/reactivity": "3.2.37",
1542 | "@vue/shared": "3.2.37"
1543 | }
1544 | },
1545 | "@vue/runtime-dom": {
1546 | "version": "3.2.37",
1547 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.37.tgz",
1548 | "integrity": "sha512-HimKdh9BepShW6YozwRKAYjYQWg9mQn63RGEiSswMbW+ssIht1MILYlVGkAGGQbkhSh31PCdoUcfiu4apXJoPw==",
1549 | "requires": {
1550 | "@vue/runtime-core": "3.2.37",
1551 | "@vue/shared": "3.2.37",
1552 | "csstype": "^2.6.8"
1553 | }
1554 | },
1555 | "@vue/server-renderer": {
1556 | "version": "3.2.37",
1557 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.37.tgz",
1558 | "integrity": "sha512-kLITEJvaYgZQ2h47hIzPh2K3jG8c1zCVbp/o/bzQOyvzaKiCquKS7AaioPI28GNxIsE/zSx+EwWYsNxDCX95MA==",
1559 | "requires": {
1560 | "@vue/compiler-ssr": "3.2.37",
1561 | "@vue/shared": "3.2.37"
1562 | }
1563 | },
1564 | "@vue/shared": {
1565 | "version": "3.2.37",
1566 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.37.tgz",
1567 | "integrity": "sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw=="
1568 | },
1569 | "acorn": {
1570 | "version": "7.4.1",
1571 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
1572 | "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
1573 | "dev": true
1574 | },
1575 | "anymatch": {
1576 | "version": "3.1.2",
1577 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
1578 | "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
1579 | "dev": true,
1580 | "requires": {
1581 | "normalize-path": "^3.0.0",
1582 | "picomatch": "^2.0.4"
1583 | }
1584 | },
1585 | "asap": {
1586 | "version": "2.0.6",
1587 | "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
1588 | "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==",
1589 | "dev": true
1590 | },
1591 | "assert-never": {
1592 | "version": "1.2.1",
1593 | "resolved": "https://registry.npmjs.org/assert-never/-/assert-never-1.2.1.tgz",
1594 | "integrity": "sha512-TaTivMB6pYI1kXwrFlEhLeGfOqoDNdTxjCdwRfFFkEA30Eu+k48W34nlok2EYWJfFFzqaEmichdNM7th6M5HNw==",
1595 | "dev": true
1596 | },
1597 | "babel-walk": {
1598 | "version": "3.0.0-canary-5",
1599 | "resolved": "https://registry.npmjs.org/babel-walk/-/babel-walk-3.0.0-canary-5.tgz",
1600 | "integrity": "sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==",
1601 | "dev": true,
1602 | "requires": {
1603 | "@babel/types": "^7.9.6"
1604 | }
1605 | },
1606 | "binary-extensions": {
1607 | "version": "2.2.0",
1608 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
1609 | "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
1610 | "dev": true
1611 | },
1612 | "braces": {
1613 | "version": "3.0.2",
1614 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
1615 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
1616 | "dev": true,
1617 | "requires": {
1618 | "fill-range": "^7.0.1"
1619 | }
1620 | },
1621 | "call-bind": {
1622 | "version": "1.0.2",
1623 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
1624 | "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
1625 | "dev": true,
1626 | "requires": {
1627 | "function-bind": "^1.1.1",
1628 | "get-intrinsic": "^1.0.2"
1629 | }
1630 | },
1631 | "character-parser": {
1632 | "version": "2.2.0",
1633 | "resolved": "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz",
1634 | "integrity": "sha512-+UqJQjFEFaTAs3bNsF2j2kEN1baG/zghZbdqoYEDxGZtJo9LBzl1A+m0D4n3qKx8N2FNv8/Xp6yV9mQmBuptaw==",
1635 | "dev": true,
1636 | "requires": {
1637 | "is-regex": "^1.0.3"
1638 | }
1639 | },
1640 | "chokidar": {
1641 | "version": "3.5.3",
1642 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
1643 | "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
1644 | "dev": true,
1645 | "requires": {
1646 | "anymatch": "~3.1.2",
1647 | "braces": "~3.0.2",
1648 | "fsevents": "~2.3.2",
1649 | "glob-parent": "~5.1.2",
1650 | "is-binary-path": "~2.1.0",
1651 | "is-glob": "~4.0.1",
1652 | "normalize-path": "~3.0.0",
1653 | "readdirp": "~3.6.0"
1654 | }
1655 | },
1656 | "constantinople": {
1657 | "version": "4.0.1",
1658 | "resolved": "https://registry.npmjs.org/constantinople/-/constantinople-4.0.1.tgz",
1659 | "integrity": "sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==",
1660 | "dev": true,
1661 | "requires": {
1662 | "@babel/parser": "^7.6.0",
1663 | "@babel/types": "^7.6.1"
1664 | }
1665 | },
1666 | "csstype": {
1667 | "version": "2.6.20",
1668 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.20.tgz",
1669 | "integrity": "sha512-/WwNkdXfckNgw6S5R125rrW8ez139lBHWouiBvX8dfMFtcn6V81REDqnH7+CRpRipfYlyU1CmOnOxrmGcFOjeA=="
1670 | },
1671 | "doctypes": {
1672 | "version": "1.1.0",
1673 | "resolved": "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz",
1674 | "integrity": "sha512-LLBi6pEqS6Do3EKQ3J0NqHWV5hhb78Pi8vvESYwyOy2c31ZEZVdtitdzsQsKb7878PEERhzUk0ftqGhG6Mz+pQ==",
1675 | "dev": true
1676 | },
1677 | "esbuild": {
1678 | "version": "0.14.47",
1679 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.14.47.tgz",
1680 | "integrity": "sha512-wI4ZiIfFxpkuxB8ju4MHrGwGLyp1+awEHAHVpx6w7a+1pmYIq8T9FGEVVwFo0iFierDoMj++Xq69GXWYn2EiwA==",
1681 | "dev": true,
1682 | "requires": {
1683 | "esbuild-android-64": "0.14.47",
1684 | "esbuild-android-arm64": "0.14.47",
1685 | "esbuild-darwin-64": "0.14.47",
1686 | "esbuild-darwin-arm64": "0.14.47",
1687 | "esbuild-freebsd-64": "0.14.47",
1688 | "esbuild-freebsd-arm64": "0.14.47",
1689 | "esbuild-linux-32": "0.14.47",
1690 | "esbuild-linux-64": "0.14.47",
1691 | "esbuild-linux-arm": "0.14.47",
1692 | "esbuild-linux-arm64": "0.14.47",
1693 | "esbuild-linux-mips64le": "0.14.47",
1694 | "esbuild-linux-ppc64le": "0.14.47",
1695 | "esbuild-linux-riscv64": "0.14.47",
1696 | "esbuild-linux-s390x": "0.14.47",
1697 | "esbuild-netbsd-64": "0.14.47",
1698 | "esbuild-openbsd-64": "0.14.47",
1699 | "esbuild-sunos-64": "0.14.47",
1700 | "esbuild-windows-32": "0.14.47",
1701 | "esbuild-windows-64": "0.14.47",
1702 | "esbuild-windows-arm64": "0.14.47"
1703 | }
1704 | },
1705 | "esbuild-android-64": {
1706 | "version": "0.14.47",
1707 | "resolved": "https://registry.npmjs.org/esbuild-android-64/-/esbuild-android-64-0.14.47.tgz",
1708 | "integrity": "sha512-R13Bd9+tqLVFndncMHssZrPWe6/0Kpv2/dt4aA69soX4PRxlzsVpCvoJeFE8sOEoeVEiBkI0myjlkDodXlHa0g==",
1709 | "dev": true,
1710 | "optional": true
1711 | },
1712 | "esbuild-android-arm64": {
1713 | "version": "0.14.47",
1714 | "resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.14.47.tgz",
1715 | "integrity": "sha512-OkwOjj7ts4lBp/TL6hdd8HftIzOy/pdtbrNA4+0oVWgGG64HrdVzAF5gxtJufAPOsEjkyh1oIYvKAUinKKQRSQ==",
1716 | "dev": true,
1717 | "optional": true
1718 | },
1719 | "esbuild-darwin-64": {
1720 | "version": "0.14.47",
1721 | "resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.14.47.tgz",
1722 | "integrity": "sha512-R6oaW0y5/u6Eccti/TS6c/2c1xYTb1izwK3gajJwi4vIfNs1s8B1dQzI1UiC9T61YovOQVuePDcfqHLT3mUZJA==",
1723 | "dev": true,
1724 | "optional": true
1725 | },
1726 | "esbuild-darwin-arm64": {
1727 | "version": "0.14.47",
1728 | "resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.47.tgz",
1729 | "integrity": "sha512-seCmearlQyvdvM/noz1L9+qblC5vcBrhUaOoLEDDoLInF/VQ9IkobGiLlyTPYP5dW1YD4LXhtBgOyevoIHGGnw==",
1730 | "dev": true,
1731 | "optional": true
1732 | },
1733 | "esbuild-freebsd-64": {
1734 | "version": "0.14.47",
1735 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.47.tgz",
1736 | "integrity": "sha512-ZH8K2Q8/Ux5kXXvQMDsJcxvkIwut69KVrYQhza/ptkW50DC089bCVrJZZ3sKzIoOx+YPTrmsZvqeZERjyYrlvQ==",
1737 | "dev": true,
1738 | "optional": true
1739 | },
1740 | "esbuild-freebsd-arm64": {
1741 | "version": "0.14.47",
1742 | "resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.47.tgz",
1743 | "integrity": "sha512-ZJMQAJQsIOhn3XTm7MPQfCzEu5b9STNC+s90zMWe2afy9EwnHV7Ov7ohEMv2lyWlc2pjqLW8QJnz2r0KZmeAEQ==",
1744 | "dev": true,
1745 | "optional": true
1746 | },
1747 | "esbuild-linux-32": {
1748 | "version": "0.14.47",
1749 | "resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.14.47.tgz",
1750 | "integrity": "sha512-FxZOCKoEDPRYvq300lsWCTv1kcHgiiZfNrPtEhFAiqD7QZaXrad8LxyJ8fXGcWzIFzRiYZVtB3ttvITBvAFhKw==",
1751 | "dev": true,
1752 | "optional": true
1753 | },
1754 | "esbuild-linux-64": {
1755 | "version": "0.14.47",
1756 | "resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.14.47.tgz",
1757 | "integrity": "sha512-nFNOk9vWVfvWYF9YNYksZptgQAdstnDCMtR6m42l5Wfugbzu11VpMCY9XrD4yFxvPo9zmzcoUL/88y0lfJZJJw==",
1758 | "dev": true,
1759 | "optional": true
1760 | },
1761 | "esbuild-linux-arm": {
1762 | "version": "0.14.47",
1763 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.14.47.tgz",
1764 | "integrity": "sha512-ZGE1Bqg/gPRXrBpgpvH81tQHpiaGxa8c9Rx/XOylkIl2ypLuOcawXEAo8ls+5DFCcRGt/o3sV+PzpAFZobOsmA==",
1765 | "dev": true,
1766 | "optional": true
1767 | },
1768 | "esbuild-linux-arm64": {
1769 | "version": "0.14.47",
1770 | "resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.47.tgz",
1771 | "integrity": "sha512-ywfme6HVrhWcevzmsufjd4iT3PxTfCX9HOdxA7Hd+/ZM23Y9nXeb+vG6AyA6jgq/JovkcqRHcL9XwRNpWG6XRw==",
1772 | "dev": true,
1773 | "optional": true
1774 | },
1775 | "esbuild-linux-mips64le": {
1776 | "version": "0.14.47",
1777 | "resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.47.tgz",
1778 | "integrity": "sha512-mg3D8YndZ1LvUiEdDYR3OsmeyAew4MA/dvaEJxvyygahWmpv1SlEEnhEZlhPokjsUMfRagzsEF/d/2XF+kTQGg==",
1779 | "dev": true,
1780 | "optional": true
1781 | },
1782 | "esbuild-linux-ppc64le": {
1783 | "version": "0.14.47",
1784 | "resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.47.tgz",
1785 | "integrity": "sha512-WER+f3+szmnZiWoK6AsrTKGoJoErG2LlauSmk73LEZFQ/iWC+KhhDsOkn1xBUpzXWsxN9THmQFltLoaFEH8F8w==",
1786 | "dev": true,
1787 | "optional": true
1788 | },
1789 | "esbuild-linux-riscv64": {
1790 | "version": "0.14.47",
1791 | "resolved": "https://registry.npmjs.org/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.47.tgz",
1792 | "integrity": "sha512-1fI6bP3A3rvI9BsaaXbMoaOjLE3lVkJtLxsgLHqlBhLlBVY7UqffWBvkrX/9zfPhhVMd9ZRFiaqXnB1T7BsL2g==",
1793 | "dev": true,
1794 | "optional": true
1795 | },
1796 | "esbuild-linux-s390x": {
1797 | "version": "0.14.47",
1798 | "resolved": "https://registry.npmjs.org/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.47.tgz",
1799 | "integrity": "sha512-eZrWzy0xFAhki1CWRGnhsHVz7IlSKX6yT2tj2Eg8lhAwlRE5E96Hsb0M1mPSE1dHGpt1QVwwVivXIAacF/G6mw==",
1800 | "dev": true,
1801 | "optional": true
1802 | },
1803 | "esbuild-netbsd-64": {
1804 | "version": "0.14.47",
1805 | "resolved": "https://registry.npmjs.org/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.47.tgz",
1806 | "integrity": "sha512-Qjdjr+KQQVH5Q2Q1r6HBYswFTToPpss3gqCiSw2Fpq/ua8+eXSQyAMG+UvULPqXceOwpnPo4smyZyHdlkcPppQ==",
1807 | "dev": true,
1808 | "optional": true
1809 | },
1810 | "esbuild-openbsd-64": {
1811 | "version": "0.14.47",
1812 | "resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.47.tgz",
1813 | "integrity": "sha512-QpgN8ofL7B9z8g5zZqJE+eFvD1LehRlxr25PBkjyyasakm4599iroUpaj96rdqRlO2ShuyqwJdr+oNqWwTUmQw==",
1814 | "dev": true,
1815 | "optional": true
1816 | },
1817 | "esbuild-sunos-64": {
1818 | "version": "0.14.47",
1819 | "resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.14.47.tgz",
1820 | "integrity": "sha512-uOeSgLUwukLioAJOiGYm3kNl+1wJjgJA8R671GYgcPgCx7QR73zfvYqXFFcIO93/nBdIbt5hd8RItqbbf3HtAQ==",
1821 | "dev": true,
1822 | "optional": true
1823 | },
1824 | "esbuild-windows-32": {
1825 | "version": "0.14.47",
1826 | "resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.14.47.tgz",
1827 | "integrity": "sha512-H0fWsLTp2WBfKLBgwYT4OTfFly4Im/8B5f3ojDv1Kx//kiubVY0IQunP2Koc/fr/0wI7hj3IiBDbSrmKlrNgLQ==",
1828 | "dev": true,
1829 | "optional": true
1830 | },
1831 | "esbuild-windows-64": {
1832 | "version": "0.14.47",
1833 | "resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.14.47.tgz",
1834 | "integrity": "sha512-/Pk5jIEH34T68r8PweKRi77W49KwanZ8X6lr3vDAtOlH5EumPE4pBHqkCUdELanvsT14yMXLQ/C/8XPi1pAtkQ==",
1835 | "dev": true,
1836 | "optional": true
1837 | },
1838 | "esbuild-windows-arm64": {
1839 | "version": "0.14.47",
1840 | "resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.47.tgz",
1841 | "integrity": "sha512-HFSW2lnp62fl86/qPQlqw6asIwCnEsEoNIL1h2uVMgakddf+vUuMcCbtUY1i8sst7KkgHrVKCJQB33YhhOweCQ==",
1842 | "dev": true,
1843 | "optional": true
1844 | },
1845 | "estree-walker": {
1846 | "version": "2.0.2",
1847 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
1848 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
1849 | },
1850 | "fill-range": {
1851 | "version": "7.0.1",
1852 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
1853 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
1854 | "dev": true,
1855 | "requires": {
1856 | "to-regex-range": "^5.0.1"
1857 | }
1858 | },
1859 | "fsevents": {
1860 | "version": "2.3.2",
1861 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
1862 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
1863 | "dev": true,
1864 | "optional": true
1865 | },
1866 | "function-bind": {
1867 | "version": "1.1.1",
1868 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1869 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
1870 | "dev": true
1871 | },
1872 | "get-intrinsic": {
1873 | "version": "1.1.2",
1874 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz",
1875 | "integrity": "sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==",
1876 | "dev": true,
1877 | "requires": {
1878 | "function-bind": "^1.1.1",
1879 | "has": "^1.0.3",
1880 | "has-symbols": "^1.0.3"
1881 | }
1882 | },
1883 | "glob-parent": {
1884 | "version": "5.1.2",
1885 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
1886 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
1887 | "dev": true,
1888 | "requires": {
1889 | "is-glob": "^4.0.1"
1890 | }
1891 | },
1892 | "has": {
1893 | "version": "1.0.3",
1894 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1895 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1896 | "dev": true,
1897 | "requires": {
1898 | "function-bind": "^1.1.1"
1899 | }
1900 | },
1901 | "has-symbols": {
1902 | "version": "1.0.3",
1903 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
1904 | "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
1905 | "dev": true
1906 | },
1907 | "has-tostringtag": {
1908 | "version": "1.0.0",
1909 | "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
1910 | "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
1911 | "dev": true,
1912 | "requires": {
1913 | "has-symbols": "^1.0.2"
1914 | }
1915 | },
1916 | "immutable": {
1917 | "version": "4.1.0",
1918 | "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz",
1919 | "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==",
1920 | "dev": true
1921 | },
1922 | "is-binary-path": {
1923 | "version": "2.1.0",
1924 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
1925 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
1926 | "dev": true,
1927 | "requires": {
1928 | "binary-extensions": "^2.0.0"
1929 | }
1930 | },
1931 | "is-core-module": {
1932 | "version": "2.9.0",
1933 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz",
1934 | "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==",
1935 | "dev": true,
1936 | "requires": {
1937 | "has": "^1.0.3"
1938 | }
1939 | },
1940 | "is-expression": {
1941 | "version": "4.0.0",
1942 | "resolved": "https://registry.npmjs.org/is-expression/-/is-expression-4.0.0.tgz",
1943 | "integrity": "sha512-zMIXX63sxzG3XrkHkrAPvm/OVZVSCPNkwMHU8oTX7/U3AL78I0QXCEICXUM13BIa8TYGZ68PiTKfQz3yaTNr4A==",
1944 | "dev": true,
1945 | "requires": {
1946 | "acorn": "^7.1.1",
1947 | "object-assign": "^4.1.1"
1948 | }
1949 | },
1950 | "is-extglob": {
1951 | "version": "2.1.1",
1952 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
1953 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
1954 | "dev": true
1955 | },
1956 | "is-glob": {
1957 | "version": "4.0.3",
1958 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
1959 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
1960 | "dev": true,
1961 | "requires": {
1962 | "is-extglob": "^2.1.1"
1963 | }
1964 | },
1965 | "is-number": {
1966 | "version": "7.0.0",
1967 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
1968 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
1969 | "dev": true
1970 | },
1971 | "is-promise": {
1972 | "version": "2.2.2",
1973 | "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz",
1974 | "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==",
1975 | "dev": true
1976 | },
1977 | "is-regex": {
1978 | "version": "1.1.4",
1979 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
1980 | "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==",
1981 | "dev": true,
1982 | "requires": {
1983 | "call-bind": "^1.0.2",
1984 | "has-tostringtag": "^1.0.0"
1985 | }
1986 | },
1987 | "js-stringify": {
1988 | "version": "1.0.2",
1989 | "resolved": "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz",
1990 | "integrity": "sha512-rtS5ATOo2Q5k1G+DADISilDA6lv79zIiwFd6CcjuIxGKLFm5C+RLImRscVap9k55i+MOZwgliw+NejvkLuGD5g==",
1991 | "dev": true
1992 | },
1993 | "jstransformer": {
1994 | "version": "1.0.0",
1995 | "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz",
1996 | "integrity": "sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==",
1997 | "dev": true,
1998 | "requires": {
1999 | "is-promise": "^2.0.0",
2000 | "promise": "^7.0.1"
2001 | }
2002 | },
2003 | "magic-string": {
2004 | "version": "0.25.9",
2005 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz",
2006 | "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==",
2007 | "requires": {
2008 | "sourcemap-codec": "^1.4.8"
2009 | }
2010 | },
2011 | "nanoid": {
2012 | "version": "3.3.4",
2013 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
2014 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw=="
2015 | },
2016 | "normalize-path": {
2017 | "version": "3.0.0",
2018 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
2019 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
2020 | "dev": true
2021 | },
2022 | "object-assign": {
2023 | "version": "4.1.1",
2024 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
2025 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
2026 | "dev": true
2027 | },
2028 | "path-parse": {
2029 | "version": "1.0.7",
2030 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
2031 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
2032 | "dev": true
2033 | },
2034 | "picocolors": {
2035 | "version": "1.0.0",
2036 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
2037 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
2038 | },
2039 | "picomatch": {
2040 | "version": "2.3.1",
2041 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
2042 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
2043 | "dev": true
2044 | },
2045 | "postcss": {
2046 | "version": "8.4.14",
2047 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz",
2048 | "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==",
2049 | "requires": {
2050 | "nanoid": "^3.3.4",
2051 | "picocolors": "^1.0.0",
2052 | "source-map-js": "^1.0.2"
2053 | }
2054 | },
2055 | "promise": {
2056 | "version": "7.3.1",
2057 | "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz",
2058 | "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==",
2059 | "dev": true,
2060 | "requires": {
2061 | "asap": "~2.0.3"
2062 | }
2063 | },
2064 | "pug": {
2065 | "version": "3.0.2",
2066 | "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.2.tgz",
2067 | "integrity": "sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==",
2068 | "dev": true,
2069 | "requires": {
2070 | "pug-code-gen": "^3.0.2",
2071 | "pug-filters": "^4.0.0",
2072 | "pug-lexer": "^5.0.1",
2073 | "pug-linker": "^4.0.0",
2074 | "pug-load": "^3.0.0",
2075 | "pug-parser": "^6.0.0",
2076 | "pug-runtime": "^3.0.1",
2077 | "pug-strip-comments": "^2.0.0"
2078 | }
2079 | },
2080 | "pug-attrs": {
2081 | "version": "3.0.0",
2082 | "resolved": "https://registry.npmjs.org/pug-attrs/-/pug-attrs-3.0.0.tgz",
2083 | "integrity": "sha512-azINV9dUtzPMFQktvTXciNAfAuVh/L/JCl0vtPCwvOA21uZrC08K/UnmrL+SXGEVc1FwzjW62+xw5S/uaLj6cA==",
2084 | "dev": true,
2085 | "requires": {
2086 | "constantinople": "^4.0.1",
2087 | "js-stringify": "^1.0.2",
2088 | "pug-runtime": "^3.0.0"
2089 | }
2090 | },
2091 | "pug-code-gen": {
2092 | "version": "3.0.2",
2093 | "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.2.tgz",
2094 | "integrity": "sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==",
2095 | "dev": true,
2096 | "requires": {
2097 | "constantinople": "^4.0.1",
2098 | "doctypes": "^1.1.0",
2099 | "js-stringify": "^1.0.2",
2100 | "pug-attrs": "^3.0.0",
2101 | "pug-error": "^2.0.0",
2102 | "pug-runtime": "^3.0.0",
2103 | "void-elements": "^3.1.0",
2104 | "with": "^7.0.0"
2105 | }
2106 | },
2107 | "pug-error": {
2108 | "version": "2.0.0",
2109 | "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.0.0.tgz",
2110 | "integrity": "sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==",
2111 | "dev": true
2112 | },
2113 | "pug-filters": {
2114 | "version": "4.0.0",
2115 | "resolved": "https://registry.npmjs.org/pug-filters/-/pug-filters-4.0.0.tgz",
2116 | "integrity": "sha512-yeNFtq5Yxmfz0f9z2rMXGw/8/4i1cCFecw/Q7+D0V2DdtII5UvqE12VaZ2AY7ri6o5RNXiweGH79OCq+2RQU4A==",
2117 | "dev": true,
2118 | "requires": {
2119 | "constantinople": "^4.0.1",
2120 | "jstransformer": "1.0.0",
2121 | "pug-error": "^2.0.0",
2122 | "pug-walk": "^2.0.0",
2123 | "resolve": "^1.15.1"
2124 | }
2125 | },
2126 | "pug-lexer": {
2127 | "version": "5.0.1",
2128 | "resolved": "https://registry.npmjs.org/pug-lexer/-/pug-lexer-5.0.1.tgz",
2129 | "integrity": "sha512-0I6C62+keXlZPZkOJeVam9aBLVP2EnbeDw3An+k0/QlqdwH6rv8284nko14Na7c0TtqtogfWXcRoFE4O4Ff20w==",
2130 | "dev": true,
2131 | "requires": {
2132 | "character-parser": "^2.2.0",
2133 | "is-expression": "^4.0.0",
2134 | "pug-error": "^2.0.0"
2135 | }
2136 | },
2137 | "pug-linker": {
2138 | "version": "4.0.0",
2139 | "resolved": "https://registry.npmjs.org/pug-linker/-/pug-linker-4.0.0.tgz",
2140 | "integrity": "sha512-gjD1yzp0yxbQqnzBAdlhbgoJL5qIFJw78juN1NpTLt/mfPJ5VgC4BvkoD3G23qKzJtIIXBbcCt6FioLSFLOHdw==",
2141 | "dev": true,
2142 | "requires": {
2143 | "pug-error": "^2.0.0",
2144 | "pug-walk": "^2.0.0"
2145 | }
2146 | },
2147 | "pug-load": {
2148 | "version": "3.0.0",
2149 | "resolved": "https://registry.npmjs.org/pug-load/-/pug-load-3.0.0.tgz",
2150 | "integrity": "sha512-OCjTEnhLWZBvS4zni/WUMjH2YSUosnsmjGBB1An7CsKQarYSWQ0GCVyd4eQPMFJqZ8w9xgs01QdiZXKVjk92EQ==",
2151 | "dev": true,
2152 | "requires": {
2153 | "object-assign": "^4.1.1",
2154 | "pug-walk": "^2.0.0"
2155 | }
2156 | },
2157 | "pug-parser": {
2158 | "version": "6.0.0",
2159 | "resolved": "https://registry.npmjs.org/pug-parser/-/pug-parser-6.0.0.tgz",
2160 | "integrity": "sha512-ukiYM/9cH6Cml+AOl5kETtM9NR3WulyVP2y4HOU45DyMim1IeP/OOiyEWRr6qk5I5klpsBnbuHpwKmTx6WURnw==",
2161 | "dev": true,
2162 | "requires": {
2163 | "pug-error": "^2.0.0",
2164 | "token-stream": "1.0.0"
2165 | }
2166 | },
2167 | "pug-runtime": {
2168 | "version": "3.0.1",
2169 | "resolved": "https://registry.npmjs.org/pug-runtime/-/pug-runtime-3.0.1.tgz",
2170 | "integrity": "sha512-L50zbvrQ35TkpHwv0G6aLSuueDRwc/97XdY8kL3tOT0FmhgG7UypU3VztfV/LATAvmUfYi4wNxSajhSAeNN+Kg==",
2171 | "dev": true
2172 | },
2173 | "pug-strip-comments": {
2174 | "version": "2.0.0",
2175 | "resolved": "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-2.0.0.tgz",
2176 | "integrity": "sha512-zo8DsDpH7eTkPHCXFeAk1xZXJbyoTfdPlNR0bK7rpOMuhBYb0f5qUVCO1xlsitYd3w5FQTK7zpNVKb3rZoUrrQ==",
2177 | "dev": true,
2178 | "requires": {
2179 | "pug-error": "^2.0.0"
2180 | }
2181 | },
2182 | "pug-walk": {
2183 | "version": "2.0.0",
2184 | "resolved": "https://registry.npmjs.org/pug-walk/-/pug-walk-2.0.0.tgz",
2185 | "integrity": "sha512-yYELe9Q5q9IQhuvqsZNwA5hfPkMJ8u92bQLIMcsMxf/VADjNtEYptU+inlufAFYcWdHlwNfZOEnOOQrZrcyJCQ==",
2186 | "dev": true
2187 | },
2188 | "readdirp": {
2189 | "version": "3.6.0",
2190 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
2191 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
2192 | "dev": true,
2193 | "requires": {
2194 | "picomatch": "^2.2.1"
2195 | }
2196 | },
2197 | "resolve": {
2198 | "version": "1.22.1",
2199 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
2200 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
2201 | "dev": true,
2202 | "requires": {
2203 | "is-core-module": "^2.9.0",
2204 | "path-parse": "^1.0.7",
2205 | "supports-preserve-symlinks-flag": "^1.0.0"
2206 | }
2207 | },
2208 | "rollup": {
2209 | "version": "2.75.7",
2210 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.75.7.tgz",
2211 | "integrity": "sha512-VSE1iy0eaAYNCxEXaleThdFXqZJ42qDBatAwrfnPlENEZ8erQ+0LYX4JXOLPceWfZpV1VtZwZ3dFCuOZiSyFtQ==",
2212 | "dev": true,
2213 | "requires": {
2214 | "fsevents": "~2.3.2"
2215 | }
2216 | },
2217 | "sass": {
2218 | "version": "1.53.0",
2219 | "resolved": "https://registry.npmjs.org/sass/-/sass-1.53.0.tgz",
2220 | "integrity": "sha512-zb/oMirbKhUgRQ0/GFz8TSAwRq2IlR29vOUJZOx0l8sV+CkHUfHa4u5nqrG+1VceZp7Jfj59SVW9ogdhTvJDcQ==",
2221 | "dev": true,
2222 | "requires": {
2223 | "chokidar": ">=3.0.0 <4.0.0",
2224 | "immutable": "^4.0.0",
2225 | "source-map-js": ">=0.6.2 <2.0.0"
2226 | }
2227 | },
2228 | "sortablejs": {
2229 | "version": "1.14.0",
2230 | "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz",
2231 | "integrity": "sha512-pBXvQCs5/33fdN1/39pPL0NZF20LeRbLQ5jtnheIPN9JQAaufGjKdWduZn4U7wCtVuzKhmRkI0DFYHYRbB2H1w=="
2232 | },
2233 | "source-map": {
2234 | "version": "0.6.1",
2235 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
2236 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
2237 | },
2238 | "source-map-js": {
2239 | "version": "1.0.2",
2240 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
2241 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
2242 | },
2243 | "sourcemap-codec": {
2244 | "version": "1.4.8",
2245 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
2246 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
2247 | },
2248 | "supports-preserve-symlinks-flag": {
2249 | "version": "1.0.0",
2250 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
2251 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
2252 | "dev": true
2253 | },
2254 | "to-fast-properties": {
2255 | "version": "2.0.0",
2256 | "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
2257 | "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
2258 | "dev": true
2259 | },
2260 | "to-regex-range": {
2261 | "version": "5.0.1",
2262 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
2263 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
2264 | "dev": true,
2265 | "requires": {
2266 | "is-number": "^7.0.0"
2267 | }
2268 | },
2269 | "token-stream": {
2270 | "version": "1.0.0",
2271 | "resolved": "https://registry.npmjs.org/token-stream/-/token-stream-1.0.0.tgz",
2272 | "integrity": "sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==",
2273 | "dev": true
2274 | },
2275 | "vite": {
2276 | "version": "2.9.13",
2277 | "resolved": "https://registry.npmjs.org/vite/-/vite-2.9.13.tgz",
2278 | "integrity": "sha512-AsOBAaT0AD7Mhe8DuK+/kE4aWYFMx/i0ZNi98hJclxb4e0OhQcZYUrvLjIaQ8e59Ui7txcvKMiJC1yftqpQoDw==",
2279 | "dev": true,
2280 | "requires": {
2281 | "esbuild": "^0.14.27",
2282 | "fsevents": "~2.3.2",
2283 | "postcss": "^8.4.13",
2284 | "resolve": "^1.22.0",
2285 | "rollup": "^2.59.0"
2286 | }
2287 | },
2288 | "void-elements": {
2289 | "version": "3.1.0",
2290 | "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz",
2291 | "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==",
2292 | "dev": true
2293 | },
2294 | "vue": {
2295 | "version": "3.2.37",
2296 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.37.tgz",
2297 | "integrity": "sha512-bOKEZxrm8Eh+fveCqS1/NkG/n6aMidsI6hahas7pa0w/l7jkbssJVsRhVDs07IdDq7h9KHswZOgItnwJAgtVtQ==",
2298 | "requires": {
2299 | "@vue/compiler-dom": "3.2.37",
2300 | "@vue/compiler-sfc": "3.2.37",
2301 | "@vue/runtime-dom": "3.2.37",
2302 | "@vue/server-renderer": "3.2.37",
2303 | "@vue/shared": "3.2.37"
2304 | }
2305 | },
2306 | "vue-router": {
2307 | "version": "4.0.16",
2308 | "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.0.16.tgz",
2309 | "integrity": "sha512-JcO7cb8QJLBWE+DfxGUL3xUDOae/8nhM1KVdnudadTAORbuxIC/xAydC5Zr/VLHUDQi1ppuTF5/rjBGzgzrJNA==",
2310 | "requires": {
2311 | "@vue/devtools-api": "^6.0.0"
2312 | }
2313 | },
2314 | "vuedraggable": {
2315 | "version": "4.1.0",
2316 | "resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-4.1.0.tgz",
2317 | "integrity": "sha512-FU5HCWBmsf20GpP3eudURW3WdWTKIbEIQxh9/8GE806hydR9qZqRRxRE3RjqX7PkuLuMQG/A7n3cfj9rCEchww==",
2318 | "requires": {
2319 | "sortablejs": "1.14.0"
2320 | }
2321 | },
2322 | "with": {
2323 | "version": "7.0.2",
2324 | "resolved": "https://registry.npmjs.org/with/-/with-7.0.2.tgz",
2325 | "integrity": "sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==",
2326 | "dev": true,
2327 | "requires": {
2328 | "@babel/parser": "^7.9.6",
2329 | "@babel/types": "^7.9.6",
2330 | "assert-never": "^1.2.1",
2331 | "babel-walk": "3.0.0-canary-5"
2332 | }
2333 | }
2334 | }
2335 | }
2336 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@ll931217/vue-treeview",
3 | "version": "0.4.0",
4 | "description": "A TreeView component for Vue.js.",
5 | "files": ["dist"],
6 | "main": "./dist/vue-treeview.umd.js",
7 | "module": "./dist/vue-treeview.es.js",
8 | "exports": {
9 | ".": {
10 | "import": "./dist/vue-treeview.es.js",
11 | "require": "./dist/vue-treeview.umd.js"
12 | }
13 | },
14 | "repository": {
15 | "type": "git",
16 | "url": "https://github.com/ll931217/vue-treeview"
17 | },
18 | "keywords": [
19 | "treeview",
20 | "vuejs",
21 | "vue-router",
22 | "vue"
23 | ],
24 | "author": "Liang-Shih Lin (liangshihlin@gmail.com)",
25 | "homepage": "https://ll931217.github.io/vue-treeview",
26 | "issues": "https://github.com/ll931217/vue-treeview/issues",
27 | "license": "MIT",
28 | "scripts": {
29 | "dev": "vite --host",
30 | "build": "vite build",
31 | "build-lib": "vite build -c ./vite.config.lib.js",
32 | "preview": "vite preview --host"
33 | },
34 | "dependencies": {
35 | "@fortawesome/fontawesome-svg-core": "^6.1.1",
36 | "@fortawesome/free-brands-svg-icons": "^6.1.1",
37 | "@fortawesome/free-regular-svg-icons": "^6.1.1",
38 | "@fortawesome/free-solid-svg-icons": "^6.1.1",
39 | "@fortawesome/vue-fontawesome": "^3.0.1",
40 | "pug": "^3.0.2",
41 | "sass": "^1.53.0",
42 | "vue": "^3.2.25",
43 | "vue-router": "^4.0.16",
44 | "vuedraggable": "^4.1.0"
45 | },
46 | "devDependencies": {
47 | "@vitejs/plugin-vue": "^2.3.3",
48 | "vite": "^2.9.9"
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ll931217/vue-treeview/9cc24083b178ca70d731aa792ab8961d5918f00d/public/favicon.ico
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 | .header
19 | h1 Tree View
20 | p A simple treeview component for Vuejs Apps
21 |
22 | .body
23 | div
24 | .expand-menu
25 | a(@click="expand") Expand All
26 | a(@click="collapse") Collapse All
27 | tree-view(
28 | :tree.sync="tree",
29 | :editable="true",
30 | :expanded="expanded",
31 | :show-parent-icon="{ parentShow: true, emptyParentShow: false }"
32 | )
33 | router-view
34 |
35 | .footer
36 | h5 MIT Licensed | Liang-Shih Lin
37 | a(href="https://github.com/ll931217/vue-treeview", target="_blank").source Source
38 |
39 |
40 |
96 |
--------------------------------------------------------------------------------
/src/assets/fonts/RobotoMono-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ll931217/vue-treeview/9cc24083b178ca70d731aa792ab8961d5918f00d/src/assets/fonts/RobotoMono-Bold.ttf
--------------------------------------------------------------------------------
/src/assets/img-2019-02-12-085645.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ll931217/vue-treeview/9cc24083b178ca70d731aa792ab8961d5918f00d/src/assets/img-2019-02-12-085645.png
--------------------------------------------------------------------------------
/src/assets/machenzie.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ll931217/vue-treeview/9cc24083b178ca70d731aa792ab8961d5918f00d/src/assets/machenzie.jpg
--------------------------------------------------------------------------------
/src/assets/preview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ll931217/vue-treeview/9cc24083b178ca70d731aa792ab8961d5918f00d/src/assets/preview.png
--------------------------------------------------------------------------------
/src/assets/rip.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ll931217/vue-treeview/9cc24083b178ca70d731aa792ab8961d5918f00d/src/assets/rip.jpg
--------------------------------------------------------------------------------
/src/components/branch.vue:
--------------------------------------------------------------------------------
1 |
2 | ul
3 | li
4 | transition(name="modal")
5 | .modal-mask(v-show="creating", @click.self="cancel")
6 | .modal-container
7 | .modal-content
8 | h1 Create New Node
9 | form(@keyup.enter="save")
10 | input(type="text", v-model="newNode.text", placeholder="Text: Google")
11 | input(type="text", v-model="newNode.link.type", placeholder="Type: link")
12 | template(v-show="newNode.link.type === 'router-link'")
13 | input(type="text", v-model="newNode.link.key", placeholder="Key: path or name")
14 | input(type="text", v-model="newNode.link.value", placeholder="Value: https://www.google.com")
15 | .btn-group
16 | button(type="button", @click="cancel").cancel Cancel
17 | button(type="button", @click="save").save Save
18 | transition(name="modal")
19 | .modal-mask(v-show="editing", @click.self="cancel")
20 | .modal-container
21 | .modal-content
22 | h1 Edit Node
23 | form(@keyup.enter="save")
24 | input(type="text", v-model="text", placeholder="Text: Google")
25 | input(type="text", v-model="link.type", placeholder="Type: link")
26 | template(v-show="link.type === 'router-link'")
27 | input(type="text", v-model="link.key", placeholder="Key: path or name")
28 | input(type="text", v-model="link.value", placeholder="Value: https://www.google.com")
29 | .btn-group
30 | button(type="button", @click="cancel").cancel Cancel
31 | button(type="button", @click="edit").save Edit
32 | .branch(:class="{ link: (nodes.length > 0) }")
33 | template(v-if="nodes.length > 0")
34 | template(v-if="open")
35 | fa(:icon="opened", @click="createNewNode").minus-square
36 | template(v-else)
37 | fa(:icon="closed", @click="createNewNode").plus-square
38 |
39 | template(v-if="link && link.value")
40 | router-link(:to="{ [link.key]: link.value, query: link.query || {}, params: link.params || {} }", v-if="link.type === 'router-link'").value
41 | fa(:icon="defaultIcon")
42 | | {{ text }}
43 |
44 | a(:href="link.value", target="_blank", v-else-if="link.type === 'link'").value
45 | fa(:icon="defaultIcon")
46 | | {{ text }}
47 |
48 | span(@click="editing = true", v-show="editable").edit Edit
49 | template(v-else)
50 | span(v-if="nodes.length > 0")
51 | fa(:icon="defaultIcon", v-show="showParentIcon.parentShow")
52 | | {{ text }}
53 |
54 | span(@click="createNewNode", v-else)
55 | fa(:icon="defaultIcon", v-show="showParentIcon.emptyParentShow")
56 | | {{ text }}
57 |
58 | vue-draggable(:list="nodes", :group="{ name: 'g1' }", v-if="draggable", item-key="text")
59 | template(#item="{node, i}")
60 | branch(
61 | v-if="nodes",
62 | :nodes.sync="node.nodes",
63 | :text="node.text",
64 | :type="node.type",
65 | :link="node.link",
66 | :class="{ open: open, first: i === 0 && !checkLast(i), last: checkLast(i) }",
67 | :closed="closed",
68 | :opened="opened",
69 | :defaultIcon="t.icon || defaultIcon",
70 | :editable="editable",
71 | :expanded.sync="expanded",
72 | :draggable.sync="draggable",
73 | :show-parent-icon="showParentIcon"
74 | :key="i"
75 | ).node
76 | template(v-else)
77 | branch(
78 | v-for="(t, i) in nodes",
79 | :nodes.sync="t.nodes",
80 | :text="t.text",
81 | :type="t.type",
82 | :link="t.link",
83 | :class="{ open: open, first: i === 0 && !checkLast(i), last: checkLast(i) }",
84 | v-if="nodes",
85 | :closed="closed",
86 | :opened="opened",
87 | :defaultIcon="t.icon || defaultIcon",
88 | :editable="editable",
89 | :expanded.sync="expanded",
90 | :draggable.sync="draggable",
91 | :show-parent-icon="showParentIcon"
92 | :key="i"
93 | ).node
94 |
95 |
96 |
225 |
--------------------------------------------------------------------------------
/src/components/treeview.vue:
--------------------------------------------------------------------------------
1 |
2 | #ll931217-vue-treeview
3 | p Editable: {{ editable }}
4 | p Expanded: {{ expanded }}
5 | treeview(
6 | v-for="(t, i) in tree",
7 | :text.sync="t.text",
8 | :nodes.sync="t.nodes",
9 | :type.sync="t.type",
10 | :link.sync="t.link",
11 | :closed="icons.closed",
12 | :opened="icons.opened",
13 | :defaultIcon="t.icon || icons.default",
14 | :editable="editable",
15 | :expanded="expanded",
16 | :draggable="draggable",
17 | :show-parent-icon="showParentIcon"
18 | :key="i"
19 | ).ll931217-vue-treeview
20 | p(v-if="editable") Double click to create new node
21 |
22 |
23 |
62 |
63 |
250 |
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue'
2 | import App from './App.vue'
3 | import router from './router'
4 | import VueTreeview from './vue-treeview'
5 |
6 | const app = createApp(App)
7 |
8 | app.use(VueTreeview)
9 | app.use(router)
10 |
11 | app.mount('#app')
12 |
--------------------------------------------------------------------------------
/src/router.js:
--------------------------------------------------------------------------------
1 | import { createWebHistory, createRouter } from 'vue-router'
2 |
3 | import Default from './views/Default.vue'
4 | import Rip from './views/Rip.vue'
5 | import Machenzie from './views/Machenzie.vue'
6 |
7 | const routes = [
8 | {
9 | path: '',
10 | name: 'home',
11 | component: Default
12 | },
13 | {
14 | path: '/d-ger-boxer-rip',
15 | name: 'd-ger-boxer-rip',
16 | component: Rip
17 | },
18 | {
19 | path: '/d-ger-boxer-machenzie',
20 | name: 'd-ger-boxer-machenzie',
21 | component: Machenzie
22 | },
23 | {
24 | path: '/templink',
25 | name: 'templink',
26 | component: () => import('./views/Templink.vue')
27 | }
28 | ]
29 |
30 | export default new createRouter({
31 | routes,
32 | history: createWebHistory(),
33 | })
34 |
--------------------------------------------------------------------------------
/src/tree.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "text": "Dogs",
4 | "nodes": [{
5 | "text": "Germany",
6 | "nodes": [{
7 | "text": "American Eskimo Dog",
8 | "nodes": [{
9 | "text": "Fluffy",
10 | "link": {
11 | "type": "link",
12 | "value": "https://upload.wikimedia.org/wikipedia/commons/thumb/f/fe/American_Eskimo_Dog_1.jpg/1920px-American_Eskimo_Dog_1.jpg"
13 | }
14 | }]
15 | }, {
16 | "text": "Bavarian Mountain Hound"
17 | }, {
18 | "text": "Boxer",
19 | "nodes": [{
20 | "text": "Rip (Router-link)",
21 | "link": {
22 | "type": "router-link",
23 | "key": "path",
24 | "value": "/d-ger-boxer-rip"
25 | }
26 | }, {
27 | "text": "Mackenzie (Router-link)",
28 | "link": {
29 | "type": "router-link",
30 | "key": "name",
31 | "value": "d-ger-boxer-machenzie"
32 | }
33 | }]
34 | }, {
35 | "text": "Bullenbeisser"
36 | }, {
37 | "text": "Deutsche Bracke",
38 | "nodes": [{
39 | "text": "Mini",
40 | "link": {
41 | "type": "link",
42 | "value": "https://animalsbreeds.com/wp-content/uploads/2015/07/Deutsche-Bracke.jpg"
43 | }
44 | }]
45 | }]
46 | }, {
47 | "text": "France",
48 | "nodes": [{
49 | "text": "Ariegeois"
50 | }, {
51 | "text": "Artois Hound"
52 | }]
53 | }]
54 | }, {
55 | "text": "Cats",
56 | "nodes": [
57 | {
58 | "text": "Russia",
59 | "nodes": [{
60 | "text": "Donskoy"
61 | }, {
62 | "text": "Kurilian Bobtail"
63 | }]
64 | }, {
65 | "text": "Thailand",
66 | "nodes": [{
67 | "text": "Khao Manee"
68 | }, {
69 | "text": "Suphalak",
70 | "nodes": [{
71 | "text": "Moon",
72 | "link": {
73 | "type": "link",
74 | "value": "https://www.pets4homes.co.uk/images/articles/4198/what-is-a-suphalak-cat-5947aefcd4845.jpg"
75 | }
76 | }]
77 | }]
78 | }
79 | ]
80 | },
81 | {
82 | "text": "Standing Up (Router-link)",
83 | "link": {
84 | "type": "router-link",
85 | "key": "path",
86 | "value": "templink"
87 | },
88 | "icon": "cube",
89 | "nodes": [
90 | {
91 | "text": "mixamo.com (Router-link)",
92 | "link": {
93 | "type": "router-link",
94 | "key": "path",
95 | "value": "templink"
96 | },
97 | "icon": "running"
98 | }
99 | ]
100 | }
101 | ]
102 |
--------------------------------------------------------------------------------
/src/views/Default.vue:
--------------------------------------------------------------------------------
1 |
2 | img(src="https://via.placeholder.com/300x400?text=Placeholder")
3 |
4 |
--------------------------------------------------------------------------------
/src/views/Machenzie.vue:
--------------------------------------------------------------------------------
1 |
2 | img(src="../assets/machenzie.jpg")
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/views/Rip.vue:
--------------------------------------------------------------------------------
1 |
2 | img(src="../assets/rip.jpg")
3 |
4 |
5 |
--------------------------------------------------------------------------------
/src/views/Templink.vue:
--------------------------------------------------------------------------------
1 |
2 | h3 Nothing here to see. I swear
3 |
4 |
5 |
10 |
--------------------------------------------------------------------------------
/src/vue-treeview.js:
--------------------------------------------------------------------------------
1 | import { library } from '@fortawesome/fontawesome-svg-core'
2 | import { fab } from '@fortawesome/free-brands-svg-icons'
3 | import { fas } from '@fortawesome/free-solid-svg-icons'
4 | import { far } from '@fortawesome/free-regular-svg-icons'
5 | import { FontAwesomeIcon } from '@fortawesome/vue-fontawesome'
6 | import TreeView from './components/treeview.vue'
7 |
8 | library.add(fab)
9 | library.add(fas)
10 | library.add(far)
11 |
12 | export default {
13 | install: (app, options) => {
14 | app.component('tree-view', TreeView)
15 | app.component('fa', FontAwesomeIcon)
16 | }
17 | }
--------------------------------------------------------------------------------
/vite.config.js:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import vue from '@vitejs/plugin-vue'
3 |
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 | base: '/vue-treeview/',
7 | plugins: [vue()],
8 | })
9 |
--------------------------------------------------------------------------------
/vite.config.lib.js:
--------------------------------------------------------------------------------
1 | import path from 'path'
2 |
3 | import { defineConfig } from 'vite'
4 | import vue from '@vitejs/plugin-vue'
5 |
6 | // https://vitejs.dev/config/
7 | export default defineConfig({
8 | build: {
9 | lib: {
10 | entry: path.resolve(__dirname, 'src/vue-treeview.js'),
11 | name: '@ll931217/vue-treeview',
12 | filename: (format) => `vue-treeview.${format}.js`
13 | },
14 | rollupOptions: {
15 | external: [
16 | 'vue',
17 | 'vue-router',
18 | 'pug',
19 | 'sass',
20 | ],
21 | output: {
22 | globals: {
23 | vue: 'vue',
24 | },
25 | },
26 | },
27 | },
28 | plugins: [vue()],
29 | })
30 |
--------------------------------------------------------------------------------