├── .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 | [![npm](https://img.shields.io/npm/dt/lottie-web-vue.svg?style=flat-square)](https://www.npmjs.com/package/lottie-web-vue) 6 | ![npm](https://img.shields.io/npm/dw/lottie-web-vue) 7 | ![GitHub contributors](https://img.shields.io/github/contributors/garbit/lottie-web-vue?color=%23007ec6) 8 | [![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](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 | 98 | ``` 99 | 100 | Full available props and events: 101 | ```html 102 | 141 | 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 | 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 | 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 | 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 | 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 | 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 | --------------------------------------------------------------------------------