├── .eslintrc.cjs
├── .gitignore
├── .vscode
└── extensions.json
├── LICENSE
├── README.md
├── env.d.ts
├── index.html
├── lottie-file.png
├── lottie-web-vue-animation.gif
├── package-lock.json
├── package.json
├── public
└── vite.svg
├── src
├── App.vue
├── LottieAnimation.ts
├── assets
│ ├── vue.svg
│ └── watermelon.json
├── components
│ ├── index.ts
│ └── lottie-web-vue.vue
├── index.ts
├── main.ts
├── style.css
└── vite-env.d.ts
├── tsconfig.json
├── tsconfig.node.json
├── tsconfig.vite-config.json
└── vite.config.ts
/.eslintrc.cjs:
--------------------------------------------------------------------------------
1 | /* eslint-env node */
2 | require("@rushstack/eslint-patch/modern-module-resolution");
3 |
4 | module.exports = {
5 | "root": true,
6 | "extends": [
7 | "plugin:vue/vue3-essential",
8 | "eslint:recommended",
9 | "@vue/eslint-config-typescript/recommended",
10 | "@vue/eslint-config-prettier"
11 | ],
12 | "env": {
13 | "vue/setup-compiler-macros": true
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/.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 | .DS_Store
12 | dist
13 | dist-ssr
14 | coverage
15 | *.local
16 |
17 | /cypress/videos/
18 | /cypress/screenshots/
19 |
20 | # Editor directories and files
21 | .vscode/*
22 | !.vscode/extensions.json
23 | .idea
24 | *.suo
25 | *.ntvs*
26 | *.njsproj
27 | *.sln
28 | *.sw?
29 |
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": [
3 | "Vue.volar",
4 | "Vue.vscode-typescript-vue-plugin"
5 | ]
6 | }
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2020 Andy Garbett
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
Lottie-Web-Vue
3 |
4 |
5 | [](https://www.npmjs.com/package/lottie-web-vue)
6 | 
7 | 
8 | [](LICENSE.md)
9 |
10 | > Lottie-web-vue is an Airbnb Lottie-web component for Vue.js projects
11 |
12 |
13 | ***
14 | Airbnb's [Lottie-web](https://github.com/airbnb/lottie-web) is a library for rendering animations exported from Adobe After Effects using the BodyMovin plugin. This package allows you to easily import animation files (available in .json format) into your Vue.js project.
15 |
16 | # Vue 3 + Typescript Support
17 | With latest ```lottie-web-vue 2.x.x``` release the library now supports Vue 3 + Typescript typing! If you are using Vue 2.x **ensure to use version 1.2.1** (see below)
18 |
19 | ```js
20 | npm install lottie-web-vue
21 | ```
22 |
23 | # Vue 2
24 | Please install ```v1.2.1``` of the plugin. This plugin will focus on maintaining Vue 3 now that it has been officially released.
25 |
26 | ```js
27 | npm install lottie-web-vue@1.2.1
28 | ```
29 |
30 |
31 |
32 | # Animations
33 | You can browse and download animations from [LottieFiles](https://lottiefiles.com/). First, find an animation you like > signup > click `export JSON` and save to your project. In vue you can save these under `assets` and then use `require('@/assets/animation.json')` to load them into the `LottieAnimator` as part of the `lottie-web-vue` component.
34 |
35 | Example: [https://lottiefiles.com/38726-stagger-rainbow](https://lottiefiles.com/38726-stagger-rainbow)
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 | # Installation
45 | Add lottie-web-vue to your Vue 3.x project package using:
46 | ```bash
47 | npm install --save lottie-web-vue
48 | ```
49 | or
50 | ```
51 | yarn add lottie-web-vue
52 | ```
53 |
54 | To use Vue 2.x use:
55 | ```js
56 | npm install lottie-web-vue@1.2.1
57 | ```
58 |
59 | ## Vue 2.x
60 | Please install ```v1.2.1``` of the plugin (this will no longer be maintained)
61 | ```js
62 | import Vue from 'vue'
63 | import LottieAnimation from 'lottie-web-vue'
64 |
65 | Vue.use(LottieAnimation); // add lottie-animation to your global scope
66 |
67 | new Vue({
68 | render: h => h(App)
69 | }).$mount('#app')
70 | ```
71 |
72 |
73 | # Usage
74 | Basic:
75 | ```html
76 |
90 |
91 |
97 |
98 | ```
99 |
100 | Full available props and events:
101 | ```html
102 |
141 |
142 |
153 |
154 | ```
155 |
156 | ## Props
157 | The component has a number of props you can use to control the animation playback.
158 |
159 | **You must pass animationData** to load the animation prior to the component being played.
160 |
161 | ### animationData
162 | Type: `Object`
163 | Required: `true`
164 |
165 | Include animation data from an import or require statement that imports the `.json` file from your assets folder. e.g. `require('@/assets/animation.json')` (save you animation as a.json file and put under src/assets in your project)
166 |
167 | ### loop
168 | Type: `[Boolean, Number]`
169 | Required: `false`
170 | Default: `false`
171 |
172 | `True`: Animation continously loops
173 | `False`: Animation plays only once
174 | `[number e.g. 3]`: Animation plays N number of times before stopping (pass an integer)
175 |
176 | ### autoPlay
177 | Type: `Boolean`
178 | Required: `false`
179 | Default: `true`
180 |
181 | `True`: Animation will play as soon as it has finished loading
182 | `False`: Animation will play only when you call `this.$refs.lottieAnimation.play()` (see below for playback controls)
183 |
184 | ### speed
185 | Type: `Number`
186 | Required: `false`
187 | Default: `1`
188 |
189 | The speed that the animation will play back.
190 |
191 |
192 | ## Events
193 | You can listen for events emitted by the component by using the `@` syntax, passing in the parent method you wish to trigger. For more documentation about the Lottie-web events see [here](https://github.com/airbnb/lottie-web#events).
194 |
195 | ### @loopComplete
196 | Fired once a complete loop of the animation has occurred
197 |
198 | ### @complete
199 | Fired once the animation has completed (only fired when loop = false)
200 |
201 | ### @enterFrame
202 | As each frame is played this event is fired. Warning - this fires very frequently.
203 |
204 | ### @segmentStart
205 | Event is fired when the animation enters each animation segment.
206 |
207 | ### @stopped
208 | Playing the animation using ```goToAndStop()``` function will raise an event once the animation has stopped at the designated frame.
209 |
210 |
211 | ## Methods
212 | You can call animation playback methods directly on the component if you wish to trigger playback on an event (i.e. when a user clicks the button, play the animation). You need to use the `this.$refs` syntax and give your LottieAnimation a `ref` id to use in the `this.$refs.[your-name-here]`.
213 |
214 | ```html
215 |
219 |
220 |
224 |
225 | ```
226 | Once your component (in the parent view) has a `ref` id you can then use this in a method of your choosing:
227 |
228 | ```html
229 | ... // in your parent .vue file
230 |
235 | ```
236 | ### Play
237 | Using `this.$refs.anim.play()` will play the animation.
238 |
239 | ### Pause
240 | Using `this.$refs.anim.pause()` will pause the animation.
241 |
242 | ### Stop
243 | Using `this.$refs.anim.stop()` will stop the animation.
244 |
245 | ### setSpeed [number: speed]
246 | Using ```this.$refs.anim.setSpeed(2)``` you can set the playback speed to ```2```. Default speed is set to 1.
247 | - number: Set the speed playback rate
248 |
249 | ### goToAndStop [Position: frame number or seconds, isFrame: boolean]
250 | Using ```this.$refs.anim.goToAndStop(10, true``` you can set the specific frame you wish the animation to stop at. Pass in the frame number or seconds to play and if the first value is a frame or a time as true/false. This function will raise an emit (add @stopped="Yourfunction()" to your lottie-animation listen for it).
251 | - position: numeric value (specific frame number or second to stop)
252 | - isFrame: defines if first argument is a time based value or a frame based (default false).
253 |
254 | ### goToAndPlay [Position: frame number or seconds, isFrame: boolean]
255 | Using ```this.$refs.anim.goToAndPlay(50, true)``` allows you to specify the start time of the animation in either frame number (passing isFrame true/false if value is a frame or in seconds).
256 | - position: numeric value (specific frame number or second to stop)
257 | - isFrame: defines if first argument is a time based value or a frame based (default false).
258 | ### setDirection [Direction: -1: reverse, 1: forwards]
259 | Using ```this.$refs.anim.setDirection(-1)``` you can reverse your animation. You can pass in either ```AnimationDirection.``` to reverse the animation or ```1``` to play forwards. Default playback is ```1```.
260 | - Direction:
261 | - -1 (reverse playback)
262 | - 1 (play forwards)
263 |
264 | ### getDuration [inFrames: true/false]
265 | Using ```this.$refs.anim.getDuration(true)``` you can retrieve the current duration of the animation in frames or seconds (false). If you pass true, function returns duration in frames, if false, duration is passed back in seconds. Default is false (returned in seconds).
266 | - inFrames: boolean to request current duration in either frames (inFrames: true) or in seconds (inFrames: false)
267 | ### destroy
268 | Using ```this.$refs.anim.destroy()``` you can destroy the animation from the DOM.
269 |
270 |
271 |
272 | ## Options API Example
273 | See here for an example:
274 | ```html
275 |
276 |
277 |
286 |
287 |
288 |
289 |
312 | ```
313 | ## Vue 3 Composition API with Setup + Typescript
314 | To use this in a Vue 3 project that uses the ```setup``` Composition API use the following:
315 |
316 | ### Script setup
317 | ```html
318 |
333 |
334 |
345 |
346 | ```
347 |
--------------------------------------------------------------------------------
/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Lottie-Web-Vue
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/lottie-file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garbit/lottie-web-vue/28ac2e0665135248152995e002412bfbf553c3a7/lottie-file.png
--------------------------------------------------------------------------------
/lottie-web-vue-animation.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/garbit/lottie-web-vue/28ac2e0665135248152995e002412bfbf553c3a7/lottie-web-vue-animation.gif
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "lottie-web-vue",
3 | "version": "2.0.7",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "lottie-web-vue",
9 | "version": "2.0.7",
10 | "license": "MIT",
11 | "dependencies": {
12 | "lottie-web": "^5.12.2",
13 | "path": "^0.12.7",
14 | "vue": "^3.2.47"
15 | },
16 | "devDependencies": {
17 | "@types/node": "^20.3.1",
18 | "@vitejs/plugin-vue": "^4.1.0",
19 | "typescript": "^5.0.2",
20 | "vite": "^4.3.9",
21 | "vue-tsc": "^1.4.2"
22 | }
23 | },
24 | "node_modules/@babel/parser": {
25 | "version": "7.22.5",
26 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz",
27 | "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==",
28 | "bin": {
29 | "parser": "bin/babel-parser.js"
30 | },
31 | "engines": {
32 | "node": ">=6.0.0"
33 | }
34 | },
35 | "node_modules/@esbuild/android-arm": {
36 | "version": "0.17.19",
37 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz",
38 | "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==",
39 | "cpu": [
40 | "arm"
41 | ],
42 | "dev": true,
43 | "optional": true,
44 | "os": [
45 | "android"
46 | ],
47 | "engines": {
48 | "node": ">=12"
49 | }
50 | },
51 | "node_modules/@esbuild/android-arm64": {
52 | "version": "0.17.19",
53 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz",
54 | "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==",
55 | "cpu": [
56 | "arm64"
57 | ],
58 | "dev": true,
59 | "optional": true,
60 | "os": [
61 | "android"
62 | ],
63 | "engines": {
64 | "node": ">=12"
65 | }
66 | },
67 | "node_modules/@esbuild/android-x64": {
68 | "version": "0.17.19",
69 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz",
70 | "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==",
71 | "cpu": [
72 | "x64"
73 | ],
74 | "dev": true,
75 | "optional": true,
76 | "os": [
77 | "android"
78 | ],
79 | "engines": {
80 | "node": ">=12"
81 | }
82 | },
83 | "node_modules/@esbuild/darwin-arm64": {
84 | "version": "0.17.19",
85 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz",
86 | "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==",
87 | "cpu": [
88 | "arm64"
89 | ],
90 | "dev": true,
91 | "optional": true,
92 | "os": [
93 | "darwin"
94 | ],
95 | "engines": {
96 | "node": ">=12"
97 | }
98 | },
99 | "node_modules/@esbuild/darwin-x64": {
100 | "version": "0.17.19",
101 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz",
102 | "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==",
103 | "cpu": [
104 | "x64"
105 | ],
106 | "dev": true,
107 | "optional": true,
108 | "os": [
109 | "darwin"
110 | ],
111 | "engines": {
112 | "node": ">=12"
113 | }
114 | },
115 | "node_modules/@esbuild/freebsd-arm64": {
116 | "version": "0.17.19",
117 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz",
118 | "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==",
119 | "cpu": [
120 | "arm64"
121 | ],
122 | "dev": true,
123 | "optional": true,
124 | "os": [
125 | "freebsd"
126 | ],
127 | "engines": {
128 | "node": ">=12"
129 | }
130 | },
131 | "node_modules/@esbuild/freebsd-x64": {
132 | "version": "0.17.19",
133 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz",
134 | "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==",
135 | "cpu": [
136 | "x64"
137 | ],
138 | "dev": true,
139 | "optional": true,
140 | "os": [
141 | "freebsd"
142 | ],
143 | "engines": {
144 | "node": ">=12"
145 | }
146 | },
147 | "node_modules/@esbuild/linux-arm": {
148 | "version": "0.17.19",
149 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz",
150 | "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==",
151 | "cpu": [
152 | "arm"
153 | ],
154 | "dev": true,
155 | "optional": true,
156 | "os": [
157 | "linux"
158 | ],
159 | "engines": {
160 | "node": ">=12"
161 | }
162 | },
163 | "node_modules/@esbuild/linux-arm64": {
164 | "version": "0.17.19",
165 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz",
166 | "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==",
167 | "cpu": [
168 | "arm64"
169 | ],
170 | "dev": true,
171 | "optional": true,
172 | "os": [
173 | "linux"
174 | ],
175 | "engines": {
176 | "node": ">=12"
177 | }
178 | },
179 | "node_modules/@esbuild/linux-ia32": {
180 | "version": "0.17.19",
181 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz",
182 | "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==",
183 | "cpu": [
184 | "ia32"
185 | ],
186 | "dev": true,
187 | "optional": true,
188 | "os": [
189 | "linux"
190 | ],
191 | "engines": {
192 | "node": ">=12"
193 | }
194 | },
195 | "node_modules/@esbuild/linux-loong64": {
196 | "version": "0.17.19",
197 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz",
198 | "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==",
199 | "cpu": [
200 | "loong64"
201 | ],
202 | "dev": true,
203 | "optional": true,
204 | "os": [
205 | "linux"
206 | ],
207 | "engines": {
208 | "node": ">=12"
209 | }
210 | },
211 | "node_modules/@esbuild/linux-mips64el": {
212 | "version": "0.17.19",
213 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz",
214 | "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==",
215 | "cpu": [
216 | "mips64el"
217 | ],
218 | "dev": true,
219 | "optional": true,
220 | "os": [
221 | "linux"
222 | ],
223 | "engines": {
224 | "node": ">=12"
225 | }
226 | },
227 | "node_modules/@esbuild/linux-ppc64": {
228 | "version": "0.17.19",
229 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz",
230 | "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==",
231 | "cpu": [
232 | "ppc64"
233 | ],
234 | "dev": true,
235 | "optional": true,
236 | "os": [
237 | "linux"
238 | ],
239 | "engines": {
240 | "node": ">=12"
241 | }
242 | },
243 | "node_modules/@esbuild/linux-riscv64": {
244 | "version": "0.17.19",
245 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz",
246 | "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==",
247 | "cpu": [
248 | "riscv64"
249 | ],
250 | "dev": true,
251 | "optional": true,
252 | "os": [
253 | "linux"
254 | ],
255 | "engines": {
256 | "node": ">=12"
257 | }
258 | },
259 | "node_modules/@esbuild/linux-s390x": {
260 | "version": "0.17.19",
261 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz",
262 | "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==",
263 | "cpu": [
264 | "s390x"
265 | ],
266 | "dev": true,
267 | "optional": true,
268 | "os": [
269 | "linux"
270 | ],
271 | "engines": {
272 | "node": ">=12"
273 | }
274 | },
275 | "node_modules/@esbuild/linux-x64": {
276 | "version": "0.17.19",
277 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz",
278 | "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==",
279 | "cpu": [
280 | "x64"
281 | ],
282 | "dev": true,
283 | "optional": true,
284 | "os": [
285 | "linux"
286 | ],
287 | "engines": {
288 | "node": ">=12"
289 | }
290 | },
291 | "node_modules/@esbuild/netbsd-x64": {
292 | "version": "0.17.19",
293 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz",
294 | "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==",
295 | "cpu": [
296 | "x64"
297 | ],
298 | "dev": true,
299 | "optional": true,
300 | "os": [
301 | "netbsd"
302 | ],
303 | "engines": {
304 | "node": ">=12"
305 | }
306 | },
307 | "node_modules/@esbuild/openbsd-x64": {
308 | "version": "0.17.19",
309 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz",
310 | "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==",
311 | "cpu": [
312 | "x64"
313 | ],
314 | "dev": true,
315 | "optional": true,
316 | "os": [
317 | "openbsd"
318 | ],
319 | "engines": {
320 | "node": ">=12"
321 | }
322 | },
323 | "node_modules/@esbuild/sunos-x64": {
324 | "version": "0.17.19",
325 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz",
326 | "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==",
327 | "cpu": [
328 | "x64"
329 | ],
330 | "dev": true,
331 | "optional": true,
332 | "os": [
333 | "sunos"
334 | ],
335 | "engines": {
336 | "node": ">=12"
337 | }
338 | },
339 | "node_modules/@esbuild/win32-arm64": {
340 | "version": "0.17.19",
341 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz",
342 | "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==",
343 | "cpu": [
344 | "arm64"
345 | ],
346 | "dev": true,
347 | "optional": true,
348 | "os": [
349 | "win32"
350 | ],
351 | "engines": {
352 | "node": ">=12"
353 | }
354 | },
355 | "node_modules/@esbuild/win32-ia32": {
356 | "version": "0.17.19",
357 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz",
358 | "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==",
359 | "cpu": [
360 | "ia32"
361 | ],
362 | "dev": true,
363 | "optional": true,
364 | "os": [
365 | "win32"
366 | ],
367 | "engines": {
368 | "node": ">=12"
369 | }
370 | },
371 | "node_modules/@esbuild/win32-x64": {
372 | "version": "0.17.19",
373 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz",
374 | "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==",
375 | "cpu": [
376 | "x64"
377 | ],
378 | "dev": true,
379 | "optional": true,
380 | "os": [
381 | "win32"
382 | ],
383 | "engines": {
384 | "node": ">=12"
385 | }
386 | },
387 | "node_modules/@jridgewell/sourcemap-codec": {
388 | "version": "1.4.15",
389 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
390 | "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
391 | },
392 | "node_modules/@types/node": {
393 | "version": "20.3.1",
394 | "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.1.tgz",
395 | "integrity": "sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg==",
396 | "dev": true
397 | },
398 | "node_modules/@vitejs/plugin-vue": {
399 | "version": "4.2.3",
400 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz",
401 | "integrity": "sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==",
402 | "dev": true,
403 | "engines": {
404 | "node": "^14.18.0 || >=16.0.0"
405 | },
406 | "peerDependencies": {
407 | "vite": "^4.0.0",
408 | "vue": "^3.2.25"
409 | }
410 | },
411 | "node_modules/@volar/language-core": {
412 | "version": "1.7.6",
413 | "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.7.6.tgz",
414 | "integrity": "sha512-r+82YGjae8ALzaX+TaESpeBOrp/H5MQnPYZLq4WKd8rsPrCAPbMwelwHLHhFpyjy66BK/cKreJAcvOc6YEwyFA==",
415 | "dev": true,
416 | "dependencies": {
417 | "@volar/source-map": "1.7.6"
418 | }
419 | },
420 | "node_modules/@volar/source-map": {
421 | "version": "1.7.6",
422 | "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.7.6.tgz",
423 | "integrity": "sha512-6oGrgz+hg5GCzP8D2+ay7vOdIOA9/aXwpa22Wx5b6d4ZGwwosBqv7kVs8AyMh5zOSQpKhrImE1pfagpu+V+rBQ==",
424 | "dev": true,
425 | "dependencies": {
426 | "muggle-string": "^0.3.1"
427 | }
428 | },
429 | "node_modules/@volar/typescript": {
430 | "version": "1.7.6",
431 | "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.7.6.tgz",
432 | "integrity": "sha512-JkBRQe2GYSEgamW84tDk4XQ/7abQJw09czLQCgL1jfjndhaV4DuAet2I3pvQv41OjodVc59W0+E3hylrlNsgWA==",
433 | "dev": true,
434 | "dependencies": {
435 | "@volar/language-core": "1.7.6"
436 | }
437 | },
438 | "node_modules/@vue/compiler-core": {
439 | "version": "3.3.4",
440 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz",
441 | "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==",
442 | "dependencies": {
443 | "@babel/parser": "^7.21.3",
444 | "@vue/shared": "3.3.4",
445 | "estree-walker": "^2.0.2",
446 | "source-map-js": "^1.0.2"
447 | }
448 | },
449 | "node_modules/@vue/compiler-dom": {
450 | "version": "3.3.4",
451 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz",
452 | "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==",
453 | "dependencies": {
454 | "@vue/compiler-core": "3.3.4",
455 | "@vue/shared": "3.3.4"
456 | }
457 | },
458 | "node_modules/@vue/compiler-sfc": {
459 | "version": "3.3.4",
460 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz",
461 | "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==",
462 | "dependencies": {
463 | "@babel/parser": "^7.20.15",
464 | "@vue/compiler-core": "3.3.4",
465 | "@vue/compiler-dom": "3.3.4",
466 | "@vue/compiler-ssr": "3.3.4",
467 | "@vue/reactivity-transform": "3.3.4",
468 | "@vue/shared": "3.3.4",
469 | "estree-walker": "^2.0.2",
470 | "magic-string": "^0.30.0",
471 | "postcss": "^8.1.10",
472 | "source-map-js": "^1.0.2"
473 | }
474 | },
475 | "node_modules/@vue/compiler-ssr": {
476 | "version": "3.3.4",
477 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz",
478 | "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==",
479 | "dependencies": {
480 | "@vue/compiler-dom": "3.3.4",
481 | "@vue/shared": "3.3.4"
482 | }
483 | },
484 | "node_modules/@vue/language-core": {
485 | "version": "1.8.0",
486 | "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.0.tgz",
487 | "integrity": "sha512-rOAtqIRyyZ6OQreAkFDbbDt7L5BwvzrdbWaBAoEZjr4ImPBV9cRDBHxlMBU0SBOAZxIUQdjOvQ0uAl9uZDer0w==",
488 | "dev": true,
489 | "dependencies": {
490 | "@volar/language-core": "1.7.6",
491 | "@volar/source-map": "1.7.6",
492 | "@vue/compiler-dom": "^3.3.0",
493 | "@vue/reactivity": "^3.3.0",
494 | "@vue/shared": "^3.3.0",
495 | "minimatch": "^9.0.0",
496 | "muggle-string": "^0.3.1",
497 | "vue-template-compiler": "^2.7.14"
498 | },
499 | "peerDependencies": {
500 | "typescript": "*"
501 | },
502 | "peerDependenciesMeta": {
503 | "typescript": {
504 | "optional": true
505 | }
506 | }
507 | },
508 | "node_modules/@vue/reactivity": {
509 | "version": "3.3.4",
510 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz",
511 | "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==",
512 | "dependencies": {
513 | "@vue/shared": "3.3.4"
514 | }
515 | },
516 | "node_modules/@vue/reactivity-transform": {
517 | "version": "3.3.4",
518 | "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz",
519 | "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==",
520 | "dependencies": {
521 | "@babel/parser": "^7.20.15",
522 | "@vue/compiler-core": "3.3.4",
523 | "@vue/shared": "3.3.4",
524 | "estree-walker": "^2.0.2",
525 | "magic-string": "^0.30.0"
526 | }
527 | },
528 | "node_modules/@vue/runtime-core": {
529 | "version": "3.3.4",
530 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz",
531 | "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==",
532 | "dependencies": {
533 | "@vue/reactivity": "3.3.4",
534 | "@vue/shared": "3.3.4"
535 | }
536 | },
537 | "node_modules/@vue/runtime-dom": {
538 | "version": "3.3.4",
539 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz",
540 | "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==",
541 | "dependencies": {
542 | "@vue/runtime-core": "3.3.4",
543 | "@vue/shared": "3.3.4",
544 | "csstype": "^3.1.1"
545 | }
546 | },
547 | "node_modules/@vue/server-renderer": {
548 | "version": "3.3.4",
549 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz",
550 | "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==",
551 | "dependencies": {
552 | "@vue/compiler-ssr": "3.3.4",
553 | "@vue/shared": "3.3.4"
554 | },
555 | "peerDependencies": {
556 | "vue": "3.3.4"
557 | }
558 | },
559 | "node_modules/@vue/shared": {
560 | "version": "3.3.4",
561 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz",
562 | "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ=="
563 | },
564 | "node_modules/@vue/typescript": {
565 | "version": "1.8.0",
566 | "resolved": "https://registry.npmjs.org/@vue/typescript/-/typescript-1.8.0.tgz",
567 | "integrity": "sha512-swi0NM+dpZCldXkMGS8wCxvoiRgA0PJw0UQeSTA7PqB2/5LsOQ8pmxyqLPE6YsbEdn0XqI9a7QgKOmmElkaMOA==",
568 | "dev": true,
569 | "dependencies": {
570 | "@volar/typescript": "1.7.6",
571 | "@vue/language-core": "1.8.0"
572 | }
573 | },
574 | "node_modules/balanced-match": {
575 | "version": "1.0.2",
576 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
577 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
578 | "dev": true
579 | },
580 | "node_modules/brace-expansion": {
581 | "version": "2.0.1",
582 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
583 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
584 | "dev": true,
585 | "dependencies": {
586 | "balanced-match": "^1.0.0"
587 | }
588 | },
589 | "node_modules/csstype": {
590 | "version": "3.1.2",
591 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
592 | "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
593 | },
594 | "node_modules/de-indent": {
595 | "version": "1.0.2",
596 | "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz",
597 | "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==",
598 | "dev": true
599 | },
600 | "node_modules/esbuild": {
601 | "version": "0.17.19",
602 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz",
603 | "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==",
604 | "dev": true,
605 | "hasInstallScript": true,
606 | "bin": {
607 | "esbuild": "bin/esbuild"
608 | },
609 | "engines": {
610 | "node": ">=12"
611 | },
612 | "optionalDependencies": {
613 | "@esbuild/android-arm": "0.17.19",
614 | "@esbuild/android-arm64": "0.17.19",
615 | "@esbuild/android-x64": "0.17.19",
616 | "@esbuild/darwin-arm64": "0.17.19",
617 | "@esbuild/darwin-x64": "0.17.19",
618 | "@esbuild/freebsd-arm64": "0.17.19",
619 | "@esbuild/freebsd-x64": "0.17.19",
620 | "@esbuild/linux-arm": "0.17.19",
621 | "@esbuild/linux-arm64": "0.17.19",
622 | "@esbuild/linux-ia32": "0.17.19",
623 | "@esbuild/linux-loong64": "0.17.19",
624 | "@esbuild/linux-mips64el": "0.17.19",
625 | "@esbuild/linux-ppc64": "0.17.19",
626 | "@esbuild/linux-riscv64": "0.17.19",
627 | "@esbuild/linux-s390x": "0.17.19",
628 | "@esbuild/linux-x64": "0.17.19",
629 | "@esbuild/netbsd-x64": "0.17.19",
630 | "@esbuild/openbsd-x64": "0.17.19",
631 | "@esbuild/sunos-x64": "0.17.19",
632 | "@esbuild/win32-arm64": "0.17.19",
633 | "@esbuild/win32-ia32": "0.17.19",
634 | "@esbuild/win32-x64": "0.17.19"
635 | }
636 | },
637 | "node_modules/estree-walker": {
638 | "version": "2.0.2",
639 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
640 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
641 | },
642 | "node_modules/fsevents": {
643 | "version": "2.3.2",
644 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
645 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
646 | "dev": true,
647 | "hasInstallScript": true,
648 | "optional": true,
649 | "os": [
650 | "darwin"
651 | ],
652 | "engines": {
653 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
654 | }
655 | },
656 | "node_modules/he": {
657 | "version": "1.2.0",
658 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
659 | "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
660 | "dev": true,
661 | "bin": {
662 | "he": "bin/he"
663 | }
664 | },
665 | "node_modules/inherits": {
666 | "version": "2.0.3",
667 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
668 | "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw=="
669 | },
670 | "node_modules/lottie-web": {
671 | "version": "5.12.2",
672 | "resolved": "https://registry.npmjs.org/lottie-web/-/lottie-web-5.12.2.tgz",
673 | "integrity": "sha512-uvhvYPC8kGPjXT3MyKMrL3JitEAmDMp30lVkuq/590Mw9ok6pWcFCwXJveo0t5uqYw1UREQHofD+jVpdjBv8wg=="
674 | },
675 | "node_modules/lru-cache": {
676 | "version": "6.0.0",
677 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
678 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
679 | "dev": true,
680 | "dependencies": {
681 | "yallist": "^4.0.0"
682 | },
683 | "engines": {
684 | "node": ">=10"
685 | }
686 | },
687 | "node_modules/magic-string": {
688 | "version": "0.30.0",
689 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz",
690 | "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==",
691 | "dependencies": {
692 | "@jridgewell/sourcemap-codec": "^1.4.13"
693 | },
694 | "engines": {
695 | "node": ">=12"
696 | }
697 | },
698 | "node_modules/minimatch": {
699 | "version": "9.0.1",
700 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz",
701 | "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==",
702 | "dev": true,
703 | "dependencies": {
704 | "brace-expansion": "^2.0.1"
705 | },
706 | "engines": {
707 | "node": ">=16 || 14 >=14.17"
708 | },
709 | "funding": {
710 | "url": "https://github.com/sponsors/isaacs"
711 | }
712 | },
713 | "node_modules/muggle-string": {
714 | "version": "0.3.1",
715 | "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz",
716 | "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==",
717 | "dev": true
718 | },
719 | "node_modules/nanoid": {
720 | "version": "3.3.6",
721 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
722 | "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
723 | "funding": [
724 | {
725 | "type": "github",
726 | "url": "https://github.com/sponsors/ai"
727 | }
728 | ],
729 | "bin": {
730 | "nanoid": "bin/nanoid.cjs"
731 | },
732 | "engines": {
733 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
734 | }
735 | },
736 | "node_modules/path": {
737 | "version": "0.12.7",
738 | "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz",
739 | "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==",
740 | "dependencies": {
741 | "process": "^0.11.1",
742 | "util": "^0.10.3"
743 | }
744 | },
745 | "node_modules/picocolors": {
746 | "version": "1.0.0",
747 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
748 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
749 | },
750 | "node_modules/postcss": {
751 | "version": "8.4.24",
752 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz",
753 | "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==",
754 | "funding": [
755 | {
756 | "type": "opencollective",
757 | "url": "https://opencollective.com/postcss/"
758 | },
759 | {
760 | "type": "tidelift",
761 | "url": "https://tidelift.com/funding/github/npm/postcss"
762 | },
763 | {
764 | "type": "github",
765 | "url": "https://github.com/sponsors/ai"
766 | }
767 | ],
768 | "dependencies": {
769 | "nanoid": "^3.3.6",
770 | "picocolors": "^1.0.0",
771 | "source-map-js": "^1.0.2"
772 | },
773 | "engines": {
774 | "node": "^10 || ^12 || >=14"
775 | }
776 | },
777 | "node_modules/process": {
778 | "version": "0.11.10",
779 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
780 | "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
781 | "engines": {
782 | "node": ">= 0.6.0"
783 | }
784 | },
785 | "node_modules/rollup": {
786 | "version": "3.25.1",
787 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.25.1.tgz",
788 | "integrity": "sha512-tywOR+rwIt5m2ZAWSe5AIJcTat8vGlnPFAv15ycCrw33t6iFsXZ6mzHVFh2psSjxQPmI+xgzMZZizUAukBI4aQ==",
789 | "dev": true,
790 | "bin": {
791 | "rollup": "dist/bin/rollup"
792 | },
793 | "engines": {
794 | "node": ">=14.18.0",
795 | "npm": ">=8.0.0"
796 | },
797 | "optionalDependencies": {
798 | "fsevents": "~2.3.2"
799 | }
800 | },
801 | "node_modules/semver": {
802 | "version": "7.5.2",
803 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz",
804 | "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==",
805 | "dev": true,
806 | "dependencies": {
807 | "lru-cache": "^6.0.0"
808 | },
809 | "bin": {
810 | "semver": "bin/semver.js"
811 | },
812 | "engines": {
813 | "node": ">=10"
814 | }
815 | },
816 | "node_modules/source-map-js": {
817 | "version": "1.0.2",
818 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
819 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
820 | "engines": {
821 | "node": ">=0.10.0"
822 | }
823 | },
824 | "node_modules/typescript": {
825 | "version": "5.1.3",
826 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz",
827 | "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==",
828 | "dev": true,
829 | "bin": {
830 | "tsc": "bin/tsc",
831 | "tsserver": "bin/tsserver"
832 | },
833 | "engines": {
834 | "node": ">=14.17"
835 | }
836 | },
837 | "node_modules/util": {
838 | "version": "0.10.4",
839 | "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
840 | "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
841 | "dependencies": {
842 | "inherits": "2.0.3"
843 | }
844 | },
845 | "node_modules/vite": {
846 | "version": "4.3.9",
847 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz",
848 | "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==",
849 | "dev": true,
850 | "dependencies": {
851 | "esbuild": "^0.17.5",
852 | "postcss": "^8.4.23",
853 | "rollup": "^3.21.0"
854 | },
855 | "bin": {
856 | "vite": "bin/vite.js"
857 | },
858 | "engines": {
859 | "node": "^14.18.0 || >=16.0.0"
860 | },
861 | "optionalDependencies": {
862 | "fsevents": "~2.3.2"
863 | },
864 | "peerDependencies": {
865 | "@types/node": ">= 14",
866 | "less": "*",
867 | "sass": "*",
868 | "stylus": "*",
869 | "sugarss": "*",
870 | "terser": "^5.4.0"
871 | },
872 | "peerDependenciesMeta": {
873 | "@types/node": {
874 | "optional": true
875 | },
876 | "less": {
877 | "optional": true
878 | },
879 | "sass": {
880 | "optional": true
881 | },
882 | "stylus": {
883 | "optional": true
884 | },
885 | "sugarss": {
886 | "optional": true
887 | },
888 | "terser": {
889 | "optional": true
890 | }
891 | }
892 | },
893 | "node_modules/vscode-uri": {
894 | "version": "3.0.7",
895 | "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.7.tgz",
896 | "integrity": "sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==",
897 | "dev": true
898 | },
899 | "node_modules/vue": {
900 | "version": "3.3.4",
901 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz",
902 | "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==",
903 | "dependencies": {
904 | "@vue/compiler-dom": "3.3.4",
905 | "@vue/compiler-sfc": "3.3.4",
906 | "@vue/runtime-dom": "3.3.4",
907 | "@vue/server-renderer": "3.3.4",
908 | "@vue/shared": "3.3.4"
909 | }
910 | },
911 | "node_modules/vue-template-compiler": {
912 | "version": "2.7.14",
913 | "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz",
914 | "integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==",
915 | "dev": true,
916 | "dependencies": {
917 | "de-indent": "^1.0.2",
918 | "he": "^1.2.0"
919 | }
920 | },
921 | "node_modules/vue-tsc": {
922 | "version": "1.8.0",
923 | "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.0.tgz",
924 | "integrity": "sha512-zRjRghohec71o+o3dzzqwFLtbKmJ1K1xRnq9ToHRdnHbBSZA2eUaTT1o+y4xOkBLZtW4cv7FkZE0FGCZfMrcBw==",
925 | "dev": true,
926 | "dependencies": {
927 | "@vue/language-core": "1.8.0",
928 | "@vue/typescript": "1.8.0",
929 | "semver": "^7.3.8",
930 | "vscode-uri": "^3.0.7"
931 | },
932 | "bin": {
933 | "vue-tsc": "bin/vue-tsc.js"
934 | },
935 | "peerDependencies": {
936 | "typescript": "*"
937 | }
938 | },
939 | "node_modules/yallist": {
940 | "version": "4.0.0",
941 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
942 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
943 | "dev": true
944 | }
945 | },
946 | "dependencies": {
947 | "@babel/parser": {
948 | "version": "7.22.5",
949 | "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz",
950 | "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q=="
951 | },
952 | "@esbuild/android-arm": {
953 | "version": "0.17.19",
954 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.19.tgz",
955 | "integrity": "sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==",
956 | "dev": true,
957 | "optional": true
958 | },
959 | "@esbuild/android-arm64": {
960 | "version": "0.17.19",
961 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.19.tgz",
962 | "integrity": "sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==",
963 | "dev": true,
964 | "optional": true
965 | },
966 | "@esbuild/android-x64": {
967 | "version": "0.17.19",
968 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.19.tgz",
969 | "integrity": "sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==",
970 | "dev": true,
971 | "optional": true
972 | },
973 | "@esbuild/darwin-arm64": {
974 | "version": "0.17.19",
975 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.19.tgz",
976 | "integrity": "sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==",
977 | "dev": true,
978 | "optional": true
979 | },
980 | "@esbuild/darwin-x64": {
981 | "version": "0.17.19",
982 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.19.tgz",
983 | "integrity": "sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==",
984 | "dev": true,
985 | "optional": true
986 | },
987 | "@esbuild/freebsd-arm64": {
988 | "version": "0.17.19",
989 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.19.tgz",
990 | "integrity": "sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==",
991 | "dev": true,
992 | "optional": true
993 | },
994 | "@esbuild/freebsd-x64": {
995 | "version": "0.17.19",
996 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.19.tgz",
997 | "integrity": "sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==",
998 | "dev": true,
999 | "optional": true
1000 | },
1001 | "@esbuild/linux-arm": {
1002 | "version": "0.17.19",
1003 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.19.tgz",
1004 | "integrity": "sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==",
1005 | "dev": true,
1006 | "optional": true
1007 | },
1008 | "@esbuild/linux-arm64": {
1009 | "version": "0.17.19",
1010 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.19.tgz",
1011 | "integrity": "sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==",
1012 | "dev": true,
1013 | "optional": true
1014 | },
1015 | "@esbuild/linux-ia32": {
1016 | "version": "0.17.19",
1017 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.19.tgz",
1018 | "integrity": "sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==",
1019 | "dev": true,
1020 | "optional": true
1021 | },
1022 | "@esbuild/linux-loong64": {
1023 | "version": "0.17.19",
1024 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.19.tgz",
1025 | "integrity": "sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==",
1026 | "dev": true,
1027 | "optional": true
1028 | },
1029 | "@esbuild/linux-mips64el": {
1030 | "version": "0.17.19",
1031 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.19.tgz",
1032 | "integrity": "sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==",
1033 | "dev": true,
1034 | "optional": true
1035 | },
1036 | "@esbuild/linux-ppc64": {
1037 | "version": "0.17.19",
1038 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.19.tgz",
1039 | "integrity": "sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==",
1040 | "dev": true,
1041 | "optional": true
1042 | },
1043 | "@esbuild/linux-riscv64": {
1044 | "version": "0.17.19",
1045 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.19.tgz",
1046 | "integrity": "sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==",
1047 | "dev": true,
1048 | "optional": true
1049 | },
1050 | "@esbuild/linux-s390x": {
1051 | "version": "0.17.19",
1052 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.19.tgz",
1053 | "integrity": "sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==",
1054 | "dev": true,
1055 | "optional": true
1056 | },
1057 | "@esbuild/linux-x64": {
1058 | "version": "0.17.19",
1059 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.19.tgz",
1060 | "integrity": "sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==",
1061 | "dev": true,
1062 | "optional": true
1063 | },
1064 | "@esbuild/netbsd-x64": {
1065 | "version": "0.17.19",
1066 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.19.tgz",
1067 | "integrity": "sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==",
1068 | "dev": true,
1069 | "optional": true
1070 | },
1071 | "@esbuild/openbsd-x64": {
1072 | "version": "0.17.19",
1073 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.19.tgz",
1074 | "integrity": "sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==",
1075 | "dev": true,
1076 | "optional": true
1077 | },
1078 | "@esbuild/sunos-x64": {
1079 | "version": "0.17.19",
1080 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.19.tgz",
1081 | "integrity": "sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==",
1082 | "dev": true,
1083 | "optional": true
1084 | },
1085 | "@esbuild/win32-arm64": {
1086 | "version": "0.17.19",
1087 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.19.tgz",
1088 | "integrity": "sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==",
1089 | "dev": true,
1090 | "optional": true
1091 | },
1092 | "@esbuild/win32-ia32": {
1093 | "version": "0.17.19",
1094 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.19.tgz",
1095 | "integrity": "sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==",
1096 | "dev": true,
1097 | "optional": true
1098 | },
1099 | "@esbuild/win32-x64": {
1100 | "version": "0.17.19",
1101 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.19.tgz",
1102 | "integrity": "sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==",
1103 | "dev": true,
1104 | "optional": true
1105 | },
1106 | "@jridgewell/sourcemap-codec": {
1107 | "version": "1.4.15",
1108 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
1109 | "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
1110 | },
1111 | "@types/node": {
1112 | "version": "20.3.1",
1113 | "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.1.tgz",
1114 | "integrity": "sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg==",
1115 | "dev": true
1116 | },
1117 | "@vitejs/plugin-vue": {
1118 | "version": "4.2.3",
1119 | "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.2.3.tgz",
1120 | "integrity": "sha512-R6JDUfiZbJA9cMiguQ7jxALsgiprjBeHL5ikpXfJCH62pPHtI+JdJ5xWj6Ev73yXSlYl86+blXn1kZHQ7uElxw==",
1121 | "dev": true,
1122 | "requires": {}
1123 | },
1124 | "@volar/language-core": {
1125 | "version": "1.7.6",
1126 | "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.7.6.tgz",
1127 | "integrity": "sha512-r+82YGjae8ALzaX+TaESpeBOrp/H5MQnPYZLq4WKd8rsPrCAPbMwelwHLHhFpyjy66BK/cKreJAcvOc6YEwyFA==",
1128 | "dev": true,
1129 | "requires": {
1130 | "@volar/source-map": "1.7.6"
1131 | }
1132 | },
1133 | "@volar/source-map": {
1134 | "version": "1.7.6",
1135 | "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.7.6.tgz",
1136 | "integrity": "sha512-6oGrgz+hg5GCzP8D2+ay7vOdIOA9/aXwpa22Wx5b6d4ZGwwosBqv7kVs8AyMh5zOSQpKhrImE1pfagpu+V+rBQ==",
1137 | "dev": true,
1138 | "requires": {
1139 | "muggle-string": "^0.3.1"
1140 | }
1141 | },
1142 | "@volar/typescript": {
1143 | "version": "1.7.6",
1144 | "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.7.6.tgz",
1145 | "integrity": "sha512-JkBRQe2GYSEgamW84tDk4XQ/7abQJw09czLQCgL1jfjndhaV4DuAet2I3pvQv41OjodVc59W0+E3hylrlNsgWA==",
1146 | "dev": true,
1147 | "requires": {
1148 | "@volar/language-core": "1.7.6"
1149 | }
1150 | },
1151 | "@vue/compiler-core": {
1152 | "version": "3.3.4",
1153 | "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.4.tgz",
1154 | "integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==",
1155 | "requires": {
1156 | "@babel/parser": "^7.21.3",
1157 | "@vue/shared": "3.3.4",
1158 | "estree-walker": "^2.0.2",
1159 | "source-map-js": "^1.0.2"
1160 | }
1161 | },
1162 | "@vue/compiler-dom": {
1163 | "version": "3.3.4",
1164 | "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz",
1165 | "integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==",
1166 | "requires": {
1167 | "@vue/compiler-core": "3.3.4",
1168 | "@vue/shared": "3.3.4"
1169 | }
1170 | },
1171 | "@vue/compiler-sfc": {
1172 | "version": "3.3.4",
1173 | "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz",
1174 | "integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==",
1175 | "requires": {
1176 | "@babel/parser": "^7.20.15",
1177 | "@vue/compiler-core": "3.3.4",
1178 | "@vue/compiler-dom": "3.3.4",
1179 | "@vue/compiler-ssr": "3.3.4",
1180 | "@vue/reactivity-transform": "3.3.4",
1181 | "@vue/shared": "3.3.4",
1182 | "estree-walker": "^2.0.2",
1183 | "magic-string": "^0.30.0",
1184 | "postcss": "^8.1.10",
1185 | "source-map-js": "^1.0.2"
1186 | }
1187 | },
1188 | "@vue/compiler-ssr": {
1189 | "version": "3.3.4",
1190 | "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz",
1191 | "integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==",
1192 | "requires": {
1193 | "@vue/compiler-dom": "3.3.4",
1194 | "@vue/shared": "3.3.4"
1195 | }
1196 | },
1197 | "@vue/language-core": {
1198 | "version": "1.8.0",
1199 | "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.0.tgz",
1200 | "integrity": "sha512-rOAtqIRyyZ6OQreAkFDbbDt7L5BwvzrdbWaBAoEZjr4ImPBV9cRDBHxlMBU0SBOAZxIUQdjOvQ0uAl9uZDer0w==",
1201 | "dev": true,
1202 | "requires": {
1203 | "@volar/language-core": "1.7.6",
1204 | "@volar/source-map": "1.7.6",
1205 | "@vue/compiler-dom": "^3.3.0",
1206 | "@vue/reactivity": "^3.3.0",
1207 | "@vue/shared": "^3.3.0",
1208 | "minimatch": "^9.0.0",
1209 | "muggle-string": "^0.3.1",
1210 | "vue-template-compiler": "^2.7.14"
1211 | }
1212 | },
1213 | "@vue/reactivity": {
1214 | "version": "3.3.4",
1215 | "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.4.tgz",
1216 | "integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==",
1217 | "requires": {
1218 | "@vue/shared": "3.3.4"
1219 | }
1220 | },
1221 | "@vue/reactivity-transform": {
1222 | "version": "3.3.4",
1223 | "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz",
1224 | "integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==",
1225 | "requires": {
1226 | "@babel/parser": "^7.20.15",
1227 | "@vue/compiler-core": "3.3.4",
1228 | "@vue/shared": "3.3.4",
1229 | "estree-walker": "^2.0.2",
1230 | "magic-string": "^0.30.0"
1231 | }
1232 | },
1233 | "@vue/runtime-core": {
1234 | "version": "3.3.4",
1235 | "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.4.tgz",
1236 | "integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==",
1237 | "requires": {
1238 | "@vue/reactivity": "3.3.4",
1239 | "@vue/shared": "3.3.4"
1240 | }
1241 | },
1242 | "@vue/runtime-dom": {
1243 | "version": "3.3.4",
1244 | "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz",
1245 | "integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==",
1246 | "requires": {
1247 | "@vue/runtime-core": "3.3.4",
1248 | "@vue/shared": "3.3.4",
1249 | "csstype": "^3.1.1"
1250 | }
1251 | },
1252 | "@vue/server-renderer": {
1253 | "version": "3.3.4",
1254 | "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.4.tgz",
1255 | "integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==",
1256 | "requires": {
1257 | "@vue/compiler-ssr": "3.3.4",
1258 | "@vue/shared": "3.3.4"
1259 | }
1260 | },
1261 | "@vue/shared": {
1262 | "version": "3.3.4",
1263 | "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.4.tgz",
1264 | "integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ=="
1265 | },
1266 | "@vue/typescript": {
1267 | "version": "1.8.0",
1268 | "resolved": "https://registry.npmjs.org/@vue/typescript/-/typescript-1.8.0.tgz",
1269 | "integrity": "sha512-swi0NM+dpZCldXkMGS8wCxvoiRgA0PJw0UQeSTA7PqB2/5LsOQ8pmxyqLPE6YsbEdn0XqI9a7QgKOmmElkaMOA==",
1270 | "dev": true,
1271 | "requires": {
1272 | "@volar/typescript": "1.7.6",
1273 | "@vue/language-core": "1.8.0"
1274 | }
1275 | },
1276 | "balanced-match": {
1277 | "version": "1.0.2",
1278 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
1279 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
1280 | "dev": true
1281 | },
1282 | "brace-expansion": {
1283 | "version": "2.0.1",
1284 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
1285 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
1286 | "dev": true,
1287 | "requires": {
1288 | "balanced-match": "^1.0.0"
1289 | }
1290 | },
1291 | "csstype": {
1292 | "version": "3.1.2",
1293 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
1294 | "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
1295 | },
1296 | "de-indent": {
1297 | "version": "1.0.2",
1298 | "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz",
1299 | "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==",
1300 | "dev": true
1301 | },
1302 | "esbuild": {
1303 | "version": "0.17.19",
1304 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.19.tgz",
1305 | "integrity": "sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==",
1306 | "dev": true,
1307 | "requires": {
1308 | "@esbuild/android-arm": "0.17.19",
1309 | "@esbuild/android-arm64": "0.17.19",
1310 | "@esbuild/android-x64": "0.17.19",
1311 | "@esbuild/darwin-arm64": "0.17.19",
1312 | "@esbuild/darwin-x64": "0.17.19",
1313 | "@esbuild/freebsd-arm64": "0.17.19",
1314 | "@esbuild/freebsd-x64": "0.17.19",
1315 | "@esbuild/linux-arm": "0.17.19",
1316 | "@esbuild/linux-arm64": "0.17.19",
1317 | "@esbuild/linux-ia32": "0.17.19",
1318 | "@esbuild/linux-loong64": "0.17.19",
1319 | "@esbuild/linux-mips64el": "0.17.19",
1320 | "@esbuild/linux-ppc64": "0.17.19",
1321 | "@esbuild/linux-riscv64": "0.17.19",
1322 | "@esbuild/linux-s390x": "0.17.19",
1323 | "@esbuild/linux-x64": "0.17.19",
1324 | "@esbuild/netbsd-x64": "0.17.19",
1325 | "@esbuild/openbsd-x64": "0.17.19",
1326 | "@esbuild/sunos-x64": "0.17.19",
1327 | "@esbuild/win32-arm64": "0.17.19",
1328 | "@esbuild/win32-ia32": "0.17.19",
1329 | "@esbuild/win32-x64": "0.17.19"
1330 | }
1331 | },
1332 | "estree-walker": {
1333 | "version": "2.0.2",
1334 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
1335 | "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w=="
1336 | },
1337 | "fsevents": {
1338 | "version": "2.3.2",
1339 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
1340 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
1341 | "dev": true,
1342 | "optional": true
1343 | },
1344 | "he": {
1345 | "version": "1.2.0",
1346 | "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
1347 | "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
1348 | "dev": true
1349 | },
1350 | "inherits": {
1351 | "version": "2.0.3",
1352 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
1353 | "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw=="
1354 | },
1355 | "lottie-web": {
1356 | "version": "5.12.2",
1357 | "resolved": "https://registry.npmjs.org/lottie-web/-/lottie-web-5.12.2.tgz",
1358 | "integrity": "sha512-uvhvYPC8kGPjXT3MyKMrL3JitEAmDMp30lVkuq/590Mw9ok6pWcFCwXJveo0t5uqYw1UREQHofD+jVpdjBv8wg=="
1359 | },
1360 | "lru-cache": {
1361 | "version": "6.0.0",
1362 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
1363 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
1364 | "dev": true,
1365 | "requires": {
1366 | "yallist": "^4.0.0"
1367 | }
1368 | },
1369 | "magic-string": {
1370 | "version": "0.30.0",
1371 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz",
1372 | "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==",
1373 | "requires": {
1374 | "@jridgewell/sourcemap-codec": "^1.4.13"
1375 | }
1376 | },
1377 | "minimatch": {
1378 | "version": "9.0.1",
1379 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz",
1380 | "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==",
1381 | "dev": true,
1382 | "requires": {
1383 | "brace-expansion": "^2.0.1"
1384 | }
1385 | },
1386 | "muggle-string": {
1387 | "version": "0.3.1",
1388 | "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz",
1389 | "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==",
1390 | "dev": true
1391 | },
1392 | "nanoid": {
1393 | "version": "3.3.6",
1394 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
1395 | "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="
1396 | },
1397 | "path": {
1398 | "version": "0.12.7",
1399 | "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz",
1400 | "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==",
1401 | "requires": {
1402 | "process": "^0.11.1",
1403 | "util": "^0.10.3"
1404 | }
1405 | },
1406 | "picocolors": {
1407 | "version": "1.0.0",
1408 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
1409 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
1410 | },
1411 | "postcss": {
1412 | "version": "8.4.24",
1413 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz",
1414 | "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==",
1415 | "requires": {
1416 | "nanoid": "^3.3.6",
1417 | "picocolors": "^1.0.0",
1418 | "source-map-js": "^1.0.2"
1419 | }
1420 | },
1421 | "process": {
1422 | "version": "0.11.10",
1423 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
1424 | "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A=="
1425 | },
1426 | "rollup": {
1427 | "version": "3.25.1",
1428 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.25.1.tgz",
1429 | "integrity": "sha512-tywOR+rwIt5m2ZAWSe5AIJcTat8vGlnPFAv15ycCrw33t6iFsXZ6mzHVFh2psSjxQPmI+xgzMZZizUAukBI4aQ==",
1430 | "dev": true,
1431 | "requires": {
1432 | "fsevents": "~2.3.2"
1433 | }
1434 | },
1435 | "semver": {
1436 | "version": "7.5.2",
1437 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz",
1438 | "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==",
1439 | "dev": true,
1440 | "requires": {
1441 | "lru-cache": "^6.0.0"
1442 | }
1443 | },
1444 | "source-map-js": {
1445 | "version": "1.0.2",
1446 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
1447 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
1448 | },
1449 | "typescript": {
1450 | "version": "5.1.3",
1451 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz",
1452 | "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==",
1453 | "dev": true
1454 | },
1455 | "util": {
1456 | "version": "0.10.4",
1457 | "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
1458 | "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
1459 | "requires": {
1460 | "inherits": "2.0.3"
1461 | }
1462 | },
1463 | "vite": {
1464 | "version": "4.3.9",
1465 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.9.tgz",
1466 | "integrity": "sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==",
1467 | "dev": true,
1468 | "requires": {
1469 | "esbuild": "^0.17.5",
1470 | "fsevents": "~2.3.2",
1471 | "postcss": "^8.4.23",
1472 | "rollup": "^3.21.0"
1473 | }
1474 | },
1475 | "vscode-uri": {
1476 | "version": "3.0.7",
1477 | "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.7.tgz",
1478 | "integrity": "sha512-eOpPHogvorZRobNqJGhapa0JdwaxpjVvyBp0QIUMRMSf8ZAlqOdEquKuRmw9Qwu0qXtJIWqFtMkmvJjUZmMjVA==",
1479 | "dev": true
1480 | },
1481 | "vue": {
1482 | "version": "3.3.4",
1483 | "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.4.tgz",
1484 | "integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==",
1485 | "requires": {
1486 | "@vue/compiler-dom": "3.3.4",
1487 | "@vue/compiler-sfc": "3.3.4",
1488 | "@vue/runtime-dom": "3.3.4",
1489 | "@vue/server-renderer": "3.3.4",
1490 | "@vue/shared": "3.3.4"
1491 | }
1492 | },
1493 | "vue-template-compiler": {
1494 | "version": "2.7.14",
1495 | "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz",
1496 | "integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==",
1497 | "dev": true,
1498 | "requires": {
1499 | "de-indent": "^1.0.2",
1500 | "he": "^1.2.0"
1501 | }
1502 | },
1503 | "vue-tsc": {
1504 | "version": "1.8.0",
1505 | "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.0.tgz",
1506 | "integrity": "sha512-zRjRghohec71o+o3dzzqwFLtbKmJ1K1xRnq9ToHRdnHbBSZA2eUaTT1o+y4xOkBLZtW4cv7FkZE0FGCZfMrcBw==",
1507 | "dev": true,
1508 | "requires": {
1509 | "@vue/language-core": "1.8.0",
1510 | "@vue/typescript": "1.8.0",
1511 | "semver": "^7.3.8",
1512 | "vscode-uri": "^3.0.7"
1513 | }
1514 | },
1515 | "yallist": {
1516 | "version": "4.0.0",
1517 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
1518 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
1519 | "dev": true
1520 | }
1521 | }
1522 | }
1523 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "lottie-web-vue",
3 | "version": "2.0.7",
4 | "description": "Airbnb Lottie-web component for Vue.js projects",
5 | "type": "module",
6 | "files": [
7 | "dist"
8 | ],
9 | "repository": {
10 | "type": "git",
11 | "url": "git+https://github.com/garbit/lottie-web-vue.git"
12 | },
13 | "keywords": [
14 | "vuejs",
15 | "lottie",
16 | "lottie-web-vue",
17 | "lottie-web-vuejs",
18 | "lottie-web-animation",
19 | "vue-lottie",
20 | "lottie-vue",
21 | "lottie-web",
22 | "web-lottie",
23 | "lottie-player",
24 | "player-lottie",
25 | "vue-lottie-player",
26 | "lottie-player-vue",
27 | "player-lottie-vue",
28 | "vue-component",
29 | "vue-animation",
30 | "lottiefiles"
31 | ],
32 | "author": "Andy Garbett",
33 | "license": "MIT",
34 | "bugs": {
35 | "url": "https://github.com/garbit/lottie-web-vue/issues"
36 | },
37 | "homepage": "https://github.com/garbit/lottie-web-vue#readme",
38 | "main": "./dist/lottie-web-vue.umd.cjs",
39 | "module": "./dist/lottie-web-vue.js",
40 | "exports": {
41 | ".": {
42 | "types": "./dist/index.d.ts",
43 | "import": "./dist/lottie-web-vue.js",
44 | "require": "./dist/lottie-web-vue.umd.cjs"
45 | }
46 | },
47 | "types": "./dist/index.d.ts",
48 | "scripts": {
49 | "dev": "vite",
50 | "build": "vite build && vue-tsc --emitDeclarationOnly",
51 | "types": "vue-tsc ",
52 | "preview": "vite preview"
53 | },
54 | "dependencies": {
55 | "lottie-web": "^5.12.2",
56 | "path": "^0.12.7",
57 | "vue": "^3.2.47"
58 | },
59 | "devDependencies": {
60 | "@types/node": "^20.3.1",
61 | "@vitejs/plugin-vue": "^4.1.0",
62 | "typescript": "^5.0.2",
63 | "vite": "^4.3.9",
64 | "vue-tsc": "^1.4.2"
65 | }
66 | }
--------------------------------------------------------------------------------
/public/vite.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/src/LottieAnimation.ts:
--------------------------------------------------------------------------------
1 | import type { App } from "vue";
2 | import { LottieAnimation } from "./components";
3 |
4 | export default {
5 | install: (app: App) => {
6 | app.component("LottieAnimation", LottieAnimation);
7 | },
8 | };
9 |
10 | export { LottieAnimation };
11 |
--------------------------------------------------------------------------------
/src/assets/vue.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/assets/watermelon.json:
--------------------------------------------------------------------------------
1 | {"assets":[],"layers":[{"ddd":0,"ind":0,"ty":1,"nm":"N","ks":{"o":{"k":0},"r":{"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":-10.801,"s":[-111.167],"e":[-111.167]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":4,"s":[-111.167],"e":[-19.9]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":43.5,"s":[-19.9],"e":[0]},{"t":49.19921875}]},"p":{"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":-10.801,"s":[-96.734,47.401,0],"e":[-31.369,31.877,0],"to":[45.0456504821777,-41.7948608398438,0],"ti":[-17.7793006896973,-2.18895292282104,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":4,"s":[-31.369,31.877,0],"e":[9.942,60.534,0],"to":[17.7793006896973,2.18895292282104,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":43.5,"s":[9.942,60.534,0],"e":[9.942,60.534,0],"to":[0,0,0],"ti":[0,0,0]},{"t":49.19921875}]},"a":{"k":[60,60,0]},"s":{"k":[36.267,36.267,100]}},"ao":0,"sw":120,"sh":120,"sc":"#ffffff","ip":0,"op":564,"st":-18,"bm":0,"sr":1},{"ddd":0,"ind":1,"ty":4,"nm":"W1","parent":10,"ks":{"o":{"k":[{"t":0,"s":[0],"h":1},{"t":312,"s":[100],"h":1},{"t":352,"s":[0],"h":1}]},"r":{"k":0},"p":{"k":[70.893,91.979,0]},"a":{"k":[0,0,0]},"s":{"k":[73.529,73.529,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[22.833,-107],[43.833,-107]],"c":false}},"nm":"Path 2"},{"ty":"st","fillEnabled":true,"c":{"k":[0.34,0.35,0.36,1]},"o":{"k":100},"w":{"k":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1"},{"ty":"tr","p":{"k":[0,0],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1"}],"ip":312,"op":354,"st":-18,"bm":0,"sr":1},{"ddd":0,"ind":2,"ty":4,"nm":"W2","parent":5,"ks":{"o":{"k":[{"t":0,"s":[0],"h":1},{"t":312,"s":[100],"h":1},{"t":352,"s":[0],"h":1}]},"r":{"k":0},"p":{"k":[70.893,35.572,0]},"a":{"k":[70.893,35.572,0]},"s":{"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[0,2.439],[0,0],[-2.439,0],[0,0],[0,-2.44],[0,0],[2.439,0],[0,0]],"o":[[0,0],[0,-2.44],[0,0],[2.439,0],[0,0],[0,2.439],[0,0],[-2.439,0]],"v":[[-4.462,0.044],[-4.462,-0.045],[-0.045,-4.462],[0.045,-4.462],[4.462,-0.045],[4.462,0.044],[0.045,4.462],[-0.045,4.462]],"c":true}},"nm":"Path 1"},{"ty":"fl","fillEnabled":true,"c":{"k":[0.34,0.35,0.36,1]},"o":{"k":100},"nm":"Fill 1"},{"ty":"tr","p":{"k":[41.978,13.371],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 9"},{"ty":"gr","it":[{"ty":"fl","fillEnabled":true,"c":{"k":[0.34,0.35,0.36,1]},"o":{"k":100},"nm":"Fill 1"},{"ty":"tr","p":{"k":[91.684,13.371],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 11"}],"ip":312,"op":354,"st":-18,"bm":0,"sr":1},{"ddd":0,"ind":3,"ty":4,"nm":"W3","parent":10,"ks":{"o":{"k":[{"t":0,"s":[0],"h":1},{"t":312,"s":[100],"h":1},{"t":352,"s":[0],"h":1}]},"r":{"k":0},"p":{"k":[70.893,35.572,0]},"a":{"k":[70.893,35.572,0]},"s":{"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[-2.439,0],[0,0],[0,2.439],[0,0],[2.439,0],[0,0],[0,-2.44],[0,0]],"o":[[0,0],[2.439,0],[0,0],[0,-2.44],[0,0],[-2.439,0],[0,0],[0,2.439]],"v":[[-4.107,4.461],[4.107,4.461],[8.524,0.044],[8.524,-0.044],[4.107,-4.461],[-4.107,-4.461],[-8.524,-0.044],[-8.524,0.044]],"c":true}},"nm":"Path 1"},{"ty":"fl","fillEnabled":true,"c":{"k":[1,0.96,0.91,1]},"o":{"k":100},"nm":"Fill 1"},{"ty":"tr","p":{"k":[46.04,13.371],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 10"},{"ty":"gr","it":[{"ty":"fl","fillEnabled":true,"c":{"k":[1,0.96,0.91,1]},"o":{"k":100},"nm":"Fill 1"},{"ty":"tr","p":{"k":[95.746,13.371],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 12"}],"ip":312,"op":354,"st":-18,"bm":0,"sr":1},{"ddd":0,"ind":4,"ty":4,"nm":"B","parent":10,"ks":{"o":{"k":[{"t":0,"s":[100],"h":1},{"t":80.4,"s":[0],"h":1},{"t":128.4,"s":[100],"h":1},{"t":140,"s":[0],"h":1},{"t":152,"s":[100],"h":1},{"t":163.199,"s":[0],"h":1},{"t":236,"s":[100],"h":1},{"t":247.199,"s":[0],"h":1},{"t":423.602,"s":[100],"h":1},{"t":434.801,"s":[0],"h":1},{"t":462.801,"s":[100],"h":1},{"t":474,"s":[0],"h":1}]},"r":{"k":0},"p":{"k":[70.893,91.979,0]},"a":{"k":[0,0,0]},"s":{"k":[73.529,73.529,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[-44,-107],[-23,-107]],"c":false}},"nm":"Path 1"},{"ind":1,"ty":"sh","ks":{"k":{"i":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[22.833,-107],[43.833,-107]],"c":false}},"nm":"Path 2"},{"ty":"st","fillEnabled":true,"c":{"k":[0.34,0.35,0.36,1]},"o":{"k":100},"w":{"k":5},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1"},{"ty":"tr","p":{"k":[0,0],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1"}],"ip":0,"op":564,"st":-18,"bm":0,"sr":1},{"ddd":0,"ind":5,"ty":4,"nm":"E2","parent":10,"ks":{"o":{"k":[{"t":0,"s":[0],"h":1},{"t":80.4,"s":[100],"h":1},{"t":128.4,"s":[0],"h":1},{"t":140,"s":[100],"h":1},{"t":152,"s":[0],"h":1},{"t":163.199,"s":[100],"h":1},{"t":236,"s":[0],"h":1},{"t":247.199,"s":[100],"h":1},{"t":312,"s":[0],"h":1},{"t":352,"s":[100],"h":1},{"t":423.602,"s":[0],"h":1},{"t":434.801,"s":[100],"h":1},{"t":462.801,"s":[0],"h":1},{"t":474,"s":[100],"h":1}]},"r":{"k":0},"p":{"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":84,"s":[75.228,35.572,0],"e":[75.228,35.572,0],"to":[0,0,0],"ti":[0,0,0]},{"t":104,"s":[75.228,35.572,0],"h":1},{"t":156,"s":[74.598,35.572,0],"h":1},{"t":190,"s":[75.333,35.572,0],"h":1},{"t":228,"s":[75.228,35.572,0],"h":1},{"t":312,"s":[75.333,35.572,0],"h":1}]},"a":{"k":[70.893,35.572,0]},"s":{"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[0,2.439],[0,0],[-2.439,0],[0,0],[0,-2.44],[0,0],[2.439,0],[0,0]],"o":[[0,0],[0,-2.44],[0,0],[2.439,0],[0,0],[0,2.439],[0,0],[-2.439,0]],"v":[[-4.462,0.044],[-4.462,-0.045],[-0.045,-4.462],[0.045,-4.462],[4.462,-0.045],[4.462,0.044],[0.045,4.462],[-0.045,4.462]],"c":true}},"nm":"Path 1"},{"ty":"fl","fillEnabled":true,"c":{"k":[0.34,0.35,0.36,1]},"o":{"k":100},"nm":"Fill 1"},{"ty":"tr","p":{"k":[41.978,13.371],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 9"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[0,2.439],[0,0],[-2.439,0],[0,0],[0,-2.44],[0,0],[2.439,0],[0,0]],"o":[[0,0],[0,-2.44],[0,0],[2.439,0],[0,0],[0,2.439],[0,0],[-2.439,0]],"v":[[-4.462,0.044],[-4.462,-0.045],[-0.045,-4.462],[0.045,-4.462],[4.462,-0.045],[4.462,0.044],[0.045,4.462],[-0.045,4.462]],"c":true}},"nm":"Path 1"},{"ty":"fl","fillEnabled":true,"c":{"k":[0.34,0.35,0.36,1]},"o":{"k":100},"nm":"Fill 1"},{"ty":"tr","p":{"k":[91.684,13.371],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 11"}],"ip":80,"op":564,"st":-18,"bm":0,"sr":1},{"ddd":0,"ind":6,"ty":4,"nm":"E1","parent":10,"ks":{"o":{"k":[{"t":0,"s":[0],"h":1},{"t":80.4,"s":[100],"h":1},{"t":128.4,"s":[0],"h":1},{"t":140,"s":[100],"h":1},{"t":152,"s":[0],"h":1},{"t":163.199,"s":[100],"h":1},{"t":236,"s":[0],"h":1},{"t":247.199,"s":[100],"h":1},{"t":312,"s":[0],"h":1},{"t":352,"s":[100],"h":1},{"t":423.602,"s":[0],"h":1},{"t":434.801,"s":[100],"h":1},{"t":462.801,"s":[0],"h":1},{"t":474,"s":[100],"h":1}]},"r":{"k":0},"p":{"k":[70.893,35.572,0]},"a":{"k":[70.893,35.572,0]},"s":{"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[-2.439,0],[0,0],[0,2.439],[0,0],[2.439,0],[0,0],[0,-2.44],[0,0]],"o":[[0,0],[2.439,0],[0,0],[0,-2.44],[0,0],[-2.439,0],[0,0],[0,2.439]],"v":[[-4.107,4.461],[4.107,4.461],[8.524,0.044],[8.524,-0.044],[4.107,-4.461],[-4.107,-4.461],[-8.524,-0.044],[-8.524,0.044]],"c":true}},"nm":"Path 1"},{"ty":"fl","fillEnabled":true,"c":{"k":[1,0.96,0.91,1]},"o":{"k":100},"nm":"Fill 1"},{"ty":"tr","p":{"k":[46.04,13.371],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 10"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[-2.439,0],[0,0],[0,2.439],[0,0],[2.439,0],[0,0],[0,-2.44],[0,0]],"o":[[0,0],[2.439,0],[0,0],[0,-2.44],[0,0],[-2.439,0],[0,0],[0,2.439]],"v":[[-4.107,4.461],[4.107,4.461],[8.524,0.044],[8.524,-0.044],[4.107,-4.461],[-4.107,-4.461],[-8.524,-0.044],[-8.524,0.044]],"c":true}},"nm":"Path 1"},{"ty":"fl","fillEnabled":true,"c":{"k":[1,0.96,0.91,1]},"o":{"k":100},"nm":"Fill 1"},{"ty":"tr","p":{"k":[95.746,13.371],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 12"}],"ip":80,"op":564,"st":-18,"bm":0,"sr":1},{"ddd":0,"ind":7,"ty":4,"nm":"S","parent":10,"ks":{"o":{"k":100},"r":{"k":0},"p":{"k":[70.893,35.572,0]},"a":{"k":[70.893,35.572,0]},"s":{"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[0.867,0.132],[1.362,-0.67],[0,0],[-0.516,-1.05],[-1.369,0.661],[0,0],[-0.733,1.322]],"o":[[-1.494,-0.227],[0,0],[-1.357,0.68],[0.516,1.049],[0,0],[1.363,-0.67],[0.425,-0.767]],"v":[[2.323,-2.694],[-2.067,-2.018],[-2.119,-1.993],[-3.149,1.155],[-0.026,2.259],[0.024,2.236],[3.24,-0.828]],"c":true}},"nm":"Path 1"},{"ty":"fl","fillEnabled":true,"c":{"k":[0.34,0.35,0.36,1]},"o":{"k":100},"nm":"Fill 1"},{"ty":"tr","p":{"k":[26.093,21.583],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 1"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[0.865,-0.144],[1.087,-1.06],[0,0],[-0.817,-0.837],[-1.096,1.053],[0,0],[-0.286,1.484]],"o":[[-1.491,0.249],[0,0],[-1.079,1.068],[0.816,0.837],[0,0],[1.087,-1.06],[0.166,-0.861]],"v":[[1.733,-3.174],[-2.23,-1.167],[-2.271,-1.128],[-2.272,2.184],[1.04,2.264],[1.08,2.225],[3.184,-1.686]],"c":true}},"nm":"Path 1"},{"ty":"fl","fillEnabled":true,"c":{"k":[0.34,0.35,0.36,1]},"o":{"k":100},"nm":"Fill 1"},{"ty":"tr","p":{"k":[39.598,38.412],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 2"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[0.65,-0.589],[0.342,-1.48],[0,0],[-1.139,-0.263],[-0.353,1.479],[0,0],[0.562,1.403]],"o":[[-1.12,1.015],[0,0],[-0.33,1.481],[1.139,0.262],[0,0],[0.342,-1.479],[-0.326,-0.814]],"v":[[-0.059,-3.173],[-2.309,0.657],[-2.322,0.713],[-0.532,3.5],[2.298,1.776],[2.31,1.722],[1.966,-2.706]],"c":true}},"nm":"Path 1"},{"ty":"fl","fillEnabled":true,"c":{"k":[0.34,0.35,0.36,1]},"o":{"k":100},"nm":"Fill 1"},{"ty":"tr","p":{"k":[59.443,47.861],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 3"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[1.357,0.68],[0,0],[1.494,-0.228],[-0.425,-0.766],[-1.363,-0.67],[0,0],[-0.516,1.05]],"o":[[0,0],[-1.363,-0.669],[-0.867,0.131],[0.733,1.322],[0,0],[1.369,0.66],[0.516,-1.049]],"v":[[2.119,-1.993],[2.067,-2.018],[-2.323,-2.693],[-3.24,-0.829],[-0.024,2.236],[0.026,2.26],[3.149,1.154]],"c":true}},"nm":"Path 1"},{"ty":"fl","fillEnabled":true,"c":{"k":[0.34,0.35,0.36,1]},"o":{"k":100},"nm":"Fill 1"},{"ty":"tr","p":{"k":[115.693,21.583],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 4"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[0,0],[1.491,0.249],[-0.165,-0.861],[-1.087,-1.06],[0,0],[-0.816,0.837],[1.079,1.067]],"o":[[-1.087,-1.06],[-0.865,-0.144],[0.286,1.484],[0,0],[1.096,1.053],[0.817,-0.837],[0,0]],"v":[[2.23,-1.168],[-1.734,-3.174],[-3.184,-1.686],[-1.081,2.227],[-1.041,2.265],[2.271,2.185],[2.27,-1.127]],"c":true}},"nm":"Path 1"},{"ty":"fl","fillEnabled":true,"c":{"k":[0.34,0.35,0.36,1]},"o":{"k":100},"nm":"Fill 1"},{"ty":"tr","p":{"k":[102.188,38.411],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 5"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[0,0],[1.12,1.015],[0.326,-0.813],[-0.341,-1.48],[0,0],[-1.139,0.263],[0.33,1.481]],"o":[[-0.341,-1.479],[-0.649,-0.588],[-0.562,1.403],[0,0],[0.353,1.478],[1.14,-0.263],[0,0]],"v":[[2.309,0.656],[0.059,-3.174],[-1.967,-2.707],[-2.311,1.722],[-2.299,1.776],[0.532,3.499],[2.321,0.713]],"c":true}},"nm":"Path 1"},{"ty":"fl","fillEnabled":true,"c":{"k":[0.34,0.35,0.36,1]},"o":{"k":100},"nm":"Fill 1"},{"ty":"tr","p":{"k":[82.343,47.862],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 6"}],"ip":0,"op":564,"st":-18,"bm":0,"sr":1},{"ddd":0,"ind":8,"ty":4,"nm":"MthCl","parent":10,"ks":{"o":{"k":100},"r":{"k":0},"p":{"k":[70.893,91.987,0]},"a":{"k":[0,0,0]},"s":{"k":[73.529,73.557,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[0,0],[-7.875,0],[-2.958,1.25]],"o":[[2.875,1.25],[7.875,0],[0,0]],"v":[[-16.625,-88.125],[0.125,-84.375],[16.625,-88.125]],"c":false}},"nm":"Path 1"},{"ty":"st","fillEnabled":true,"c":{"k":[0.34,0.35,0.36,1]},"o":{"k":100},"w":{"k":4},"lc":2,"lj":1,"ml":4,"nm":"Stroke 1"},{"ty":"tr","p":{"k":[0,0],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Shape 1"}],"ip":0,"op":120,"st":-136,"bm":0,"sr":1},{"ddd":0,"ind":9,"ty":4,"nm":"Mth","parent":10,"ks":{"o":{"k":100},"r":{"k":0},"p":{"k":[70.893,35.572,0]},"a":{"k":[70.893,35.572,0]},"s":{"k":[100,100,100]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":118,"s":[{"i":[[3.739,0],[2.667,0.395],[-0.491,-0.159],[-0.019,-0.006],[-0.522,-0.156],[-0.081,-0.024],[-0.228,-0.066],[-0.141,-0.04],[-0.13,-0.036],[-0.171,-0.047],[-0.109,-0.029],[-0.256,-0.067],[-0.098,-0.025],[-0.268,-0.005],[-0.041,-0.001],[-0.317,-0.003],[-0.082,-0.001],[-0.332,0],[-0.259,0.002],[-0.088,0.001],[-0.168,0.002],[-0.103,0.001],[-0.148,0.003],[-0.105,0.025],[-0.133,0.032],[-0.108,0.026],[-0.125,0.031],[-0.108,0.027],[-0.117,0.03],[-0.109,0.028],[-0.105,0.027],[-0.114,0.03],[-0.054,0.015],[-0.283,0.079],[-0.054,0.015],[-0.131,0.038],[-0.062,0.018],[-0.124,0.037],[-0.06,0.018],[-0.12,0.037],[-0.053,0.016],[-0.117,0.037],[-0.046,0.015],[-0.117,0.038],[-0.032,0.011],[-0.118,0.04]],"o":[[-3.74,0],[0.418,0.15],[0.019,0.006],[0.465,0.151],[0.079,0.024],[0.218,0.065],[0.137,0.039],[0.127,0.036],[0.166,0.046],[0.107,0.029],[0.249,0.067],[0.097,0.025],[0.255,0.066],[0.041,0.001],[0.31,0.005],[0.082,0.001],[0.326,0.003],[0.263,0],[0.088,-0.001],[0.17,-0.001],[0.104,-0.001],[0.15,-0.002],[0.109,-0.002],[0.135,-0.032],[0.109,-0.026],[0.127,-0.031],[0.11,-0.027],[0.118,-0.03],[0.111,-0.029],[0.107,-0.028],[0.116,-0.031],[0.055,-0.015],[0.297,-0.08],[0.055,-0.015],[0.134,-0.038],[0.063,-0.018],[0.127,-0.037],[0.061,-0.018],[0.124,-0.037],[0.054,-0.016],[0.122,-0.038],[0.047,-0.015],[0.121,-0.039],[0.033,-0.011],[0.125,-0.041],[-2.673,0.353]],"v":[[-0.002,-1.882],[-9.593,-3.102],[-8.227,-2.636],[-8.171,-2.618],[-6.689,-2.158],[-6.45,-2.087],[-5.78,-1.891],[-5.366,-1.773],[-4.98,-1.665],[-4.475,-1.526],[-4.151,-1.438],[-3.392,-1.236],[-3.099,-1.16],[-2.301,-1.093],[-2.178,-1.091],[-1.236,-1.079],[-0.989,-1.077],[-0.003,-1.073],[0.78,-1.075],[1.043,-1.077],[1.551,-1.082],[1.86,-1.086],[2.308,-1.094],[2.771,-1.086],[3.173,-1.183],[3.498,-1.262],[3.877,-1.356],[4.204,-1.438],[4.556,-1.527],[4.889,-1.613],[5.205,-1.695],[5.552,-1.787],[5.714,-1.831],[6.583,-2.069],[6.749,-2.115],[7.145,-2.228],[7.333,-2.282],[7.709,-2.392],[7.891,-2.446],[8.257,-2.557],[8.418,-2.607],[8.777,-2.719],[8.915,-2.763],[9.272,-2.878],[9.37,-2.911],[9.737,-3.034]],"c":true}],"e":[{"i":[[3.739,0],[2.687,-2.206],[-0.514,-0.438],[-0.02,-0.016],[-0.544,-0.336],[-0.084,-0.048],[-0.237,-0.12],[-0.146,-0.067],[-0.135,-0.057],[-0.177,-0.066],[-0.113,-0.038],[-0.265,-0.072],[-0.101,-0.025],[-0.268,-0.048],[-0.041,-0.007],[-0.317,-0.03],[-0.082,-0.006],[-0.332,0],[-0.259,0.016],[-0.088,0.007],[-0.168,0.02],[-0.103,0.015],[-0.148,0.027],[-0.108,0.022],[-0.137,0.033],[-0.111,0.03],[-0.129,0.039],[-0.111,0.037],[-0.121,0.044],[-0.113,0.046],[-0.108,0.047],[-0.118,0.055],[-0.056,0.027],[-0.293,0.172],[-0.056,0.035],[-0.136,0.09],[-0.064,0.045],[-0.129,0.096],[-0.062,0.048],[-0.125,0.105],[-0.055,0.048],[-0.122,0.115],[-0.048,0.046],[-0.122,0.126],[-0.034,0.036],[-0.124,0.145]],"o":[[-3.74,0],[0.441,0.511],[0.02,0.016],[0.487,0.41],[0.082,0.051],[0.227,0.134],[0.142,0.073],[0.132,0.062],[0.172,0.073],[0.111,0.041],[0.258,0.088],[0.1,0.027],[0.263,0.064],[0.041,0.008],[0.31,0.052],[0.082,0.007],[0.326,0.025],[0.263,0],[0.088,-0.005],[0.17,-0.013],[0.104,-0.012],[0.15,-0.022],[0.109,-0.02],[0.139,-0.029],[0.112,-0.027],[0.131,-0.035],[0.113,-0.034],[0.122,-0.041],[0.115,-0.043],[0.11,-0.044],[0.12,-0.052],[0.057,-0.027],[0.307,-0.15],[0.057,-0.034],[0.139,-0.085],[0.065,-0.043],[0.132,-0.091],[0.063,-0.047],[0.129,-0.1],[0.056,-0.047],[0.127,-0.109],[0.049,-0.045],[0.126,-0.121],[0.035,-0.037],[0.131,-0.139],[-2.687,-2.204]],"v":[[0.002,-4.034],[-9.858,-0.499],[-8.423,0.927],[-8.363,0.976],[-6.815,2.095],[-6.567,2.243],[-5.87,2.624],[-5.44,2.836],[-5.039,3.012],[-4.516,3.219],[-4.18,3.342],[-3.395,3.58],[-3.093,3.657],[-2.298,3.827],[-2.174,3.852],[-1.232,3.972],[-0.986,3.992],[0.001,4.034],[0.784,4.009],[1.047,3.987],[1.555,3.939],[1.864,3.896],[2.312,3.825],[2.637,3.761],[3.051,3.668],[3.385,3.583],[3.775,3.47],[4.113,3.364],[4.476,3.235],[4.82,3.105],[5.146,2.966],[5.505,2.809],[5.672,2.725],[6.572,2.242],[6.743,2.142],[7.155,1.877],[7.349,1.748],[7.741,1.466],[7.93,1.325],[8.31,1.018],[8.478,0.875],[8.853,0.54],[8.997,0.403],[9.37,0.034],[9.474,-0.077],[9.858,-0.501]],"c":true}]},{"t":134}]},"nm":"Path 1"},{"ty":"fl","fillEnabled":true,"c":{"k":[1,0.67,0.57,1]},"o":{"k":100},"nm":"Fill 1"},{"ty":"tr","p":{"k":[70.892,31.078],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 7"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":118,"s":[{"i":[[1.658,-0.941],[3.513,1.319],[-0.426,-0.278],[-1.88,-0.611],[0.419,0.15],[-3.74,0],[-2.673,0.353],[0.125,-0.041],[-0.359,0.134],[0.008,-0.002],[-0.011,0.003],[-0.351,0.222]],"o":[[-8.469,3.434],[-1.789,-0.668],[0.626,0.41],[-0.491,-0.159],[2.668,0.395],[3.738,0],[-0.119,0.041],[0.435,-0.144],[-0.008,0.002],[0.011,-0.003],[0.77,-0.288],[0.429,-0.271]],"v":[[9.611,0.159],[-9.453,0.093],[-12.119,-0.173],[-8.227,1.401],[-9.594,0.936],[-0.002,2.156],[9.737,1.004],[9.37,1.127],[10.566,0.708],[10.542,0.714],[10.575,0.706],[12.281,-0.066]],"c":true}],"e":[{"i":[[1.802,0],[0,0],[-0.478,-1.738],[-1.97,-1.674],[0.442,0.512],[-3.74,0],[-2.687,-2.205],[0.131,-0.139],[-0.379,0.549],[0.008,-0.003],[-0.011,0.004],[-0.39,1.418]],"o":[[0,0],[-1.802,0],[0.703,2.561],[-0.514,-0.438],[2.688,-2.205],[3.738,0],[-0.125,0.144],[0.456,-0.484],[-0.008,0.003],[0.011,-0.005],[0.814,-1.182],[0.477,-1.738]],"v":[[9.915,-4.964],[-9.913,-4.964],[-12.57,-1.512],[-8.422,4.964],[-9.859,3.538],[0.002,0.005],[9.858,3.536],[9.474,3.96],[10.732,2.411],[10.707,2.42],[10.741,2.408],[12.572,-1.512]],"c":true}]},{"t":134}]},"nm":"Path 1"},{"ty":"fl","fillEnabled":true,"c":{"k":[0.34,0.35,0.36,1]},"o":{"k":100},"nm":"Fill 1"},{"ty":"tr","p":{"k":[70.893,27.04],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 8"}],"ip":120,"op":564,"st":-136,"bm":0,"sr":1},{"ddd":0,"ind":10,"ty":4,"nm":"Bdy","parent":11,"ks":{"o":{"k":100},"r":{"k":[{"i":{"x":[0.22],"y":[1]},"o":{"x":[0.167],"y":[0]},"n":["0p22_1_0p167_0"],"t":288,"s":[0],"e":[-2.4]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0_1_0p333_0"],"t":306,"s":[-2.4],"e":[7.9]},{"i":{"x":[0.667],"y":[0.667]},"o":{"x":[0.333],"y":[0.333]},"n":["0p667_0p667_0p333_0p333"],"t":328,"s":[7.9],"e":[7.9]},{"i":{"x":[0.494],"y":[1]},"o":{"x":[0.604],"y":[0]},"n":["0p494_1_0p604_0"],"t":342,"s":[7.9],"e":[-2.6]},{"i":{"x":[0.379],"y":[1]},"o":{"x":[0.571],"y":[0]},"n":["0p379_1_0p571_0"],"t":362,"s":[-2.6],"e":[0]},{"t":384}]},"p":{"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":49.199,"s":[130.6,60,0],"e":[115.364,60,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":52.156,"s":[115.364,60,0],"e":[97.194,60,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":56.582,"s":[97.194,60,0],"e":[87.163,60,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":59.539,"s":[87.163,60,0],"e":[60,60,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":68.4,"s":[60,60,0],"e":[51.3,60,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.486,"y":0},"n":"0p667_1_0p486_0","t":82.801,"s":[51.3,60,0],"e":[66.902,60,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":118.801,"s":[66.902,60,0],"e":[60,60,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.333,"y":0.333},"n":"0p833_0p833_0p333_0p333","t":152.4,"s":[60,60,0],"e":[60,60,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"n":"0_0_0p167_0p167","t":193.199,"s":[60,60,0],"e":[60,60,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.59,"y":0.59},"n":"0p833_0p833_0p59_0p59","t":200.4,"s":[60,60,0],"e":[60,60,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":202.801,"s":[60,60,0],"e":[60,37.941,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":1,"y":0},"n":"0p833_0p833_1_0","t":212.4,"s":[60,37.941,0],"e":[60,60,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":0},"o":{"x":0.167,"y":0.167},"n":"0_0_0p167_0p167","t":224.4,"s":[60,60,0],"e":[60,60,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":0},"o":{"x":1,"y":1},"n":"0_0_1_1","t":229.199,"s":[60,60,0],"e":[60,60,0],"to":[0,0,0],"ti":[0,0,0]},{"t":238.80078125}]},"a":{"k":[70.893,70.893,0]},"s":{"k":[{"i":{"x":[0,0,0],"y":[0,1,0]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0_0_0p167_0p167","0_1_0p167_0p167","0_0_0p167_0p167"],"t":193.199,"s":[100,100,100],"e":[100,90,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[0.59,0.59,0.59],"y":[0.59,0,0.59]},"n":["0p833_0p833_0p59_0p59","0p833_0p833_0p59_0","0p833_0p833_0p59_0p59"],"t":200.4,"s":[100,90,100],"e":[100,107.3,100]},{"i":{"x":[0,0,0],"y":[0,1,0]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0_0_0p167_0p167","0_1_0p167_0p167","0_0_0p167_0p167"],"t":202.801,"s":[100,107.3,100],"e":[100,100,100]},{"i":{"x":[0.833,0.833,0.833],"y":[0.833,0.833,0.833]},"o":{"x":[1,1,1],"y":[1,0,1]},"n":["0p833_0p833_1_1","0p833_0p833_1_0","0p833_0p833_1_1"],"t":212.4,"s":[100,100,100],"e":[100,103,100]},{"i":{"x":[0,0,0],"y":[0,1,0]},"o":{"x":[0.167,0.167,0.167],"y":[0.167,0.167,0.167]},"n":["0_0_0p167_0p167","0_1_0p167_0p167","0_0_0p167_0p167"],"t":224.4,"s":[100,103,100],"e":[100,85.4,100]},{"i":{"x":[0,0,0],"y":[0,1,0]},"o":{"x":[1,1,1],"y":[1,0,1]},"n":["0_0_1_1","0_1_1_0","0_0_1_1"],"t":229.199,"s":[100,85.4,100],"e":[100,100,100]},{"t":238.80078125}]}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[0,0],[34.278,0],[0,34.278]],"o":[[0,34.278],[-34.277,0],[0,0]],"v":[[62.065,-31.033],[0,31.033],[-62.065,-31.033]],"c":true}},"nm":"Path 1"},{"ty":"fl","fillEnabled":true,"c":{"k":[1,0.35,0.37,1]},"o":{"k":100},"nm":"Fill 1"},{"ty":"tr","p":{"k":[70.893,31.283],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 13"},{"ty":"gr","it":[{"ind":0,"ty":"sh","ks":{"k":{"i":[[0,0],[-13.343,-13.342],[-18.869,0],[-13.343,13.343],[0,18.87]],"o":[[0,18.87],[13.343,13.343],[18.869,0],[13.343,-13.342],[0,0]],"v":[[-70.643,-35.322],[-49.952,14.631],[0,35.322],[49.952,14.631],[70.643,-35.322]],"c":true}},"nm":"Path 1"},{"ty":"fl","fillEnabled":true,"c":{"k":[0.55,0.88,0.44,1]},"o":{"k":100},"nm":"Fill 1"},{"ty":"tr","p":{"k":[70.893,35.572],"ix":2},"a":{"k":[0,0],"ix":1},"s":{"k":[100,100],"ix":3},"r":{"k":0,"ix":6},"o":{"k":100,"ix":7},"sk":{"k":0,"ix":4},"sa":{"k":0,"ix":5},"nm":"Transform"}],"nm":"Group 14"}],"ip":0,"op":564,"st":-18,"bm":0,"sr":1},{"ddd":0,"ind":11,"ty":3,"nm":"NULL CONTROL","parent":0,"ks":{"o":{"k":0},"r":{"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"n":["0p833_0p833_0p167_0p167"],"t":49.199,"s":[-90],"e":[0]},{"i":{"x":[0],"y":[1]},"o":{"x":[0.167],"y":[0.167]},"n":["0_1_0p167_0p167"],"t":68.4,"s":[0],"e":[12]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.486],"y":[0]},"n":["0p667_1_0p486_0"],"t":82.801,"s":[12],"e":[-10.982]},{"i":{"x":[0.667],"y":[1]},"o":{"x":[0.333],"y":[0]},"n":["0p667_1_0p333_0"],"t":118.801,"s":[-10.982],"e":[0]},{"t":152.400390625}]},"p":{"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"n":"0p833_0p833_0p167_0p167","t":49.199,"s":[130.455,59.867,0],"e":[170.455,59.867,0],"to":[4.71404361724854,0,0],"ti":[0,0,0]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"n":"0_1_0p167_0p167","t":68.4,"s":[170.455,59.867,0],"e":[178.433,59.867,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.486,"y":0},"n":"0p667_1_0p486_0","t":82.801,"s":[178.433,59.867,0],"e":[166.471,59.867,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"n":"0p667_1_0p333_0","t":118.801,"s":[166.471,59.867,0],"e":[170.455,59.867,0],"to":[0,0,0],"ti":[0,0,0]},{"t":152.400390625}]},"a":{"k":[60,60,0]},"s":{"k":[100,100,100]}},"ao":0,"ip":0,"op":564,"st":-18,"bm":0,"sr":1}],"v":"4.4.26","ddd":0,"ip":0,"op":563,"fr":60,"w":100,"h":100}
2 |
--------------------------------------------------------------------------------
/src/components/index.ts:
--------------------------------------------------------------------------------
1 | export { default as LottieAnimation } from "./lottie-web-vue.vue";
2 |
--------------------------------------------------------------------------------
/src/components/lottie-web-vue.vue:
--------------------------------------------------------------------------------
1 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | import LottieAnimation from "./components/lottie-web-vue.vue"
2 |
3 | export { LottieAnimation }
--------------------------------------------------------------------------------
/src/main.ts:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue'
2 | import './style.css'
3 | import App from './App.vue'
4 |
5 | createApp(App).mount('#app')
6 |
--------------------------------------------------------------------------------
/src/style.css:
--------------------------------------------------------------------------------
1 | :root {
2 | font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
3 | line-height: 1.5;
4 | font-weight: 400;
5 |
6 | color-scheme: light dark;
7 | color: rgba(255, 255, 255, 0.87);
8 | background-color: #242424;
9 |
10 | font-synthesis: none;
11 | text-rendering: optimizeLegibility;
12 | -webkit-font-smoothing: antialiased;
13 | -moz-osx-font-smoothing: grayscale;
14 | -webkit-text-size-adjust: 100%;
15 | }
16 |
17 | a {
18 | font-weight: 500;
19 | color: #646cff;
20 | text-decoration: inherit;
21 | }
22 | a:hover {
23 | color: #535bf2;
24 | }
25 |
26 | body {
27 | margin: 0;
28 | display: flex;
29 | place-items: center;
30 | min-width: 320px;
31 | min-height: 100vh;
32 | }
33 |
34 | h1 {
35 | font-size: 3.2em;
36 | line-height: 1.1;
37 | }
38 |
39 | button {
40 | border-radius: 8px;
41 | border: 1px solid transparent;
42 | padding: 0.6em 1.2em;
43 | font-size: 1em;
44 | font-weight: 500;
45 | font-family: inherit;
46 | background-color: #1a1a1a;
47 | cursor: pointer;
48 | transition: border-color 0.25s;
49 | }
50 | button:hover {
51 | border-color: #646cff;
52 | }
53 | button:focus,
54 | button:focus-visible {
55 | outline: 4px auto -webkit-focus-ring-color;
56 | }
57 |
58 | .card {
59 | padding: 2em;
60 | }
61 |
62 | #app {
63 | max-width: 1280px;
64 | margin: 0 auto;
65 | padding: 2rem;
66 | text-align: center;
67 | }
68 |
69 | @media (prefers-color-scheme: light) {
70 | :root {
71 | color: #213547;
72 | background-color: #ffffff;
73 | }
74 | a:hover {
75 | color: #747bff;
76 | }
77 | button {
78 | background-color: #f9f9f9;
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2020",
4 | "useDefineForClassFields": true,
5 | "module": "ESNext",
6 | "lib": [
7 | "ES2020",
8 | "DOM",
9 | "DOM.Iterable"
10 | ],
11 | "skipLibCheck": true,
12 | /* Bundler mode */
13 | "moduleResolution": "bundler",
14 | "allowImportingTsExtensions": true,
15 | "resolveJsonModule": true,
16 | "isolatedModules": true,
17 | "jsx": "preserve",
18 | /* Linting */
19 | "strict": true,
20 | "noUnusedLocals": true,
21 | "noUnusedParameters": true,
22 | "noFallthroughCasesInSwitch": true,
23 | "outDir": "dist",
24 | "declaration": true,
25 | },
26 | "include": [
27 | "src/**/*.ts",
28 | "src/**/*.d.ts",
29 | "src/**/*.tsx",
30 | "src/**/*.vue"
31 | ],
32 | "exclude": [
33 | "src/App.vue",
34 | "src/main.ts"
35 | ],
36 | "references": [
37 | {
38 | "path": "./tsconfig.node.json"
39 | }
40 | ]
41 | }
--------------------------------------------------------------------------------
/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "skipLibCheck": true,
5 | "module": "ESNext",
6 | "moduleResolution": "bundler",
7 | "allowSyntheticDefaultImports": true
8 | },
9 | "include": [
10 | "vite.config.ts"
11 | ]
12 | }
--------------------------------------------------------------------------------
/tsconfig.vite-config.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@vue/tsconfig/tsconfig.node.json",
3 | "include": ["vite.config.*"],
4 | "compilerOptions": {
5 | "composite": true,
6 | "types": ["node", "vitest"]
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vite'
2 | import { resolve } from "path"
3 | import vue from '@vitejs/plugin-vue'
4 |
5 | // https://vitejs.dev/config/
6 | export default defineConfig({
7 | plugins: [vue()],
8 | build: {
9 | lib: {
10 | // src/indext.ts is where we have exported the component(s)
11 | entry: resolve(__dirname, "src/index.ts"),
12 | name: "LottieAnimation",
13 | // the name of the output files when the build is run
14 | fileName: "lottie-web-vue",
15 | },
16 | rollupOptions: {
17 | // make sure to externalize deps that shouldn't be bundled
18 | // into your library
19 | external: ["vue"],
20 | output: {
21 | // Provide global variables to use in the UMD build
22 | // for externalized deps
23 | globals: {
24 | vue: "Vue",
25 | },
26 | },
27 | }
28 | }
29 | })
30 |
--------------------------------------------------------------------------------