├── .gitignore
├── .vscode
└── extensions.json
├── README.md
├── index.html
├── package.json
├── pnpm-lock.yaml
├── public
└── vite.svg
├── src
├── App.vue
├── assets
│ └── vue.svg
├── components
│ └── Vue3LoadingShimmer.vue
├── lib
│ └── main.ts
├── main.ts
├── style.css
└── vite-env.d.ts
├── tsconfig.json
├── tsconfig.node.json
└── vite.config.ts
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/.vscode/extensions.json:
--------------------------------------------------------------------------------
1 | {
2 | "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"]
3 | }
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # vue3-loading-shimmer
2 |
3 | ---
4 |
5 | A customizable Vue 3 component for creating loading shimmer effects.
6 |
7 | ## Documentation
8 |
9 | ---
10 |
11 | 
12 |
13 | ### Features
14 |
15 | - Customizable background color
16 | - Customizable shimmer color
17 | - Customizable time duration
18 | - Customizable direction
19 |
20 |
23 |
24 | ### Installation and usage
25 |
26 | ---
27 |
28 | ```
29 | npm install vue3-loading-shimmer --save
30 | ```
31 |
32 | You can use register it globally like this:
33 |
34 | ```javascript
35 | import { createApp } from "vue";
36 | import App from "./App.vue";
37 | import vue3LoadingShimmer from "vue3-loading-shimmer";
38 |
39 | const app = createApp(App);
40 |
41 | app.component("vue3-loading-shimmer", vue3LoadingShimmer);
42 | ```
43 |
44 | then use it this in your component:
45 | ``
46 |
47 | Alternatively, you can use it directly:
48 |
49 | ```vue
50 |
51 |
52 |
58 |
59 |
60 |
61 |
62 |
63 |
71 | ```
72 |
73 | ### Browser with CDN
74 |
75 | ```html
76 |
77 |
78 | ```
79 |
80 | ```javascript
81 | const { createApp } = Vue;
82 | const App = {
83 | //Component code...
84 | };
85 | const app = createApp(App);
86 | app.component("Shimmer", Vue3LoadingShimmer);
87 | app.mount("#app");
88 | ```
89 |
90 | ## Available Props
91 |
92 | | Prop | Description | Type | Default | Required |
93 | | ------------ | -------------------------------------------------------------------------------- | ------------------------------------------------------------------- | --------------- | -------- |
94 | | bgColor | Background color of the wrapper | String | "#d3d3d3" | false |
95 | | shimmerColor | Color of the shimmer effect (**MUST BE IN HEX-FORMAT**) e.g: "#RRGGBB" or "#RGB" | String | "#ffffff" | false |
96 | | duration | Duration of the shimmer animation in milliseconds | Number | 1400 | false |
97 | | direction | Direction of the shimmer effect | "left-to-right" , "right-to-left", "top-to-bottom", "bottom-to-top" | "left-to-right" | false |
98 |
99 | Customize the component by leveraging these props to meet your specific needs.
100 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Vite + Vue + TS
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue3-loading-shimmer",
3 | "version": "1.0.0",
4 | "license": "MIT",
5 | "type": "module",
6 | "main": "./dist/vue3-loading-shimmer.umd.cjs",
7 | "module": "dist/vue3-loading-shimmer.js",
8 | "unpkg": "dist/vue3-loading-shimmer.iife.js",
9 | "types": "./dist/vue3-loading-shimmer.d.ts",
10 | "exports": {
11 | ".": {
12 | "import": "./dist/vue3-loading-shimmer.js",
13 | "require": "./dist/vue3-loading-shimmer.umd.cjs"
14 | }
15 | },
16 | "files": [
17 | "dist"
18 | ],
19 | "description": "A customizable Vue 3 component for creating loading shimmer effects",
20 | "keywords": [
21 | "vue-loading",
22 | "vue3-shimmer",
23 | "vue-shimmer",
24 | "loading effect",
25 | "vue3-loading"
26 | ],
27 | "repository": {
28 | "type": "git",
29 | "url": "https://github.com/abiodunolunu/vue3-loading-shimmer"
30 | },
31 | "homepage": "https://vue3-loading-shimmer.netlify.app",
32 | "author": {
33 | "name": "Abiodun Olunu",
34 | "url": "https://github.com/abiodunolunu",
35 | "email": "abiodunolunu@gmail.com"
36 | },
37 | "bugs": {
38 | "email": "abiodunolunu@gmail.com"
39 | },
40 | "scripts": {
41 | "dev": "vite",
42 | "build": "vue-tsc && vite build",
43 | "preview": "vite preview"
44 | },
45 | "dependencies": {
46 | "vue": "^3.3.11"
47 | },
48 | "devDependencies": {
49 | "@vitejs/plugin-vue": "^4.5.2",
50 | "sass": "^1.69.5",
51 | "typescript": "^5.2.2",
52 | "vite": "^5.0.8",
53 | "vite-plugin-css-injected-by-js": "^3.3.0",
54 | "vite-plugin-dts": "^3.6.4",
55 | "vue-tsc": "^1.8.25"
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '6.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | dependencies:
8 | vue:
9 | specifier: ^3.3.11
10 | version: 3.3.12(typescript@5.3.3)
11 |
12 | devDependencies:
13 | '@vitejs/plugin-vue':
14 | specifier: ^4.5.2
15 | version: 4.5.2(vite@5.0.10)(vue@3.3.12)
16 | sass:
17 | specifier: ^1.69.5
18 | version: 1.69.5
19 | typescript:
20 | specifier: ^5.2.2
21 | version: 5.3.3
22 | vite:
23 | specifier: ^5.0.8
24 | version: 5.0.10(sass@1.69.5)
25 | vite-plugin-css-injected-by-js:
26 | specifier: ^3.3.0
27 | version: 3.3.0(vite@5.0.10)
28 | vite-plugin-dts:
29 | specifier: ^3.6.4
30 | version: 3.6.4(typescript@5.3.3)(vite@5.0.10)
31 | vue-tsc:
32 | specifier: ^1.8.25
33 | version: 1.8.25(typescript@5.3.3)
34 |
35 | packages:
36 |
37 | /@babel/helper-string-parser@7.23.4:
38 | resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==}
39 | engines: {node: '>=6.9.0'}
40 |
41 | /@babel/helper-validator-identifier@7.22.20:
42 | resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
43 | engines: {node: '>=6.9.0'}
44 |
45 | /@babel/parser@7.23.6:
46 | resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==}
47 | engines: {node: '>=6.0.0'}
48 | hasBin: true
49 | dependencies:
50 | '@babel/types': 7.23.6
51 |
52 | /@babel/types@7.23.6:
53 | resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==}
54 | engines: {node: '>=6.9.0'}
55 | dependencies:
56 | '@babel/helper-string-parser': 7.23.4
57 | '@babel/helper-validator-identifier': 7.22.20
58 | to-fast-properties: 2.0.0
59 |
60 | /@esbuild/android-arm64@0.19.9:
61 | resolution: {integrity: sha512-q4cR+6ZD0938R19MyEW3jEsMzbb/1rulLXiNAJQADD/XYp7pT+rOS5JGxvpRW8dFDEfjW4wLgC/3FXIw4zYglQ==}
62 | engines: {node: '>=12'}
63 | cpu: [arm64]
64 | os: [android]
65 | requiresBuild: true
66 | dev: true
67 | optional: true
68 |
69 | /@esbuild/android-arm@0.19.9:
70 | resolution: {integrity: sha512-jkYjjq7SdsWuNI6b5quymW0oC83NN5FdRPuCbs9HZ02mfVdAP8B8eeqLSYU3gb6OJEaY5CQabtTFbqBf26H3GA==}
71 | engines: {node: '>=12'}
72 | cpu: [arm]
73 | os: [android]
74 | requiresBuild: true
75 | dev: true
76 | optional: true
77 |
78 | /@esbuild/android-x64@0.19.9:
79 | resolution: {integrity: sha512-KOqoPntWAH6ZxDwx1D6mRntIgZh9KodzgNOy5Ebt9ghzffOk9X2c1sPwtM9P+0eXbefnDhqYfkh5PLP5ULtWFA==}
80 | engines: {node: '>=12'}
81 | cpu: [x64]
82 | os: [android]
83 | requiresBuild: true
84 | dev: true
85 | optional: true
86 |
87 | /@esbuild/darwin-arm64@0.19.9:
88 | resolution: {integrity: sha512-KBJ9S0AFyLVx2E5D8W0vExqRW01WqRtczUZ8NRu+Pi+87opZn5tL4Y0xT0mA4FtHctd0ZgwNoN639fUUGlNIWw==}
89 | engines: {node: '>=12'}
90 | cpu: [arm64]
91 | os: [darwin]
92 | requiresBuild: true
93 | dev: true
94 | optional: true
95 |
96 | /@esbuild/darwin-x64@0.19.9:
97 | resolution: {integrity: sha512-vE0VotmNTQaTdX0Q9dOHmMTao6ObjyPm58CHZr1UK7qpNleQyxlFlNCaHsHx6Uqv86VgPmR4o2wdNq3dP1qyDQ==}
98 | engines: {node: '>=12'}
99 | cpu: [x64]
100 | os: [darwin]
101 | requiresBuild: true
102 | dev: true
103 | optional: true
104 |
105 | /@esbuild/freebsd-arm64@0.19.9:
106 | resolution: {integrity: sha512-uFQyd/o1IjiEk3rUHSwUKkqZwqdvuD8GevWF065eqgYfexcVkxh+IJgwTaGZVu59XczZGcN/YMh9uF1fWD8j1g==}
107 | engines: {node: '>=12'}
108 | cpu: [arm64]
109 | os: [freebsd]
110 | requiresBuild: true
111 | dev: true
112 | optional: true
113 |
114 | /@esbuild/freebsd-x64@0.19.9:
115 | resolution: {integrity: sha512-WMLgWAtkdTbTu1AWacY7uoj/YtHthgqrqhf1OaEWnZb7PQgpt8eaA/F3LkV0E6K/Lc0cUr/uaVP/49iE4M4asA==}
116 | engines: {node: '>=12'}
117 | cpu: [x64]
118 | os: [freebsd]
119 | requiresBuild: true
120 | dev: true
121 | optional: true
122 |
123 | /@esbuild/linux-arm64@0.19.9:
124 | resolution: {integrity: sha512-PiPblfe1BjK7WDAKR1Cr9O7VVPqVNpwFcPWgfn4xu0eMemzRp442hXyzF/fSwgrufI66FpHOEJk0yYdPInsmyQ==}
125 | engines: {node: '>=12'}
126 | cpu: [arm64]
127 | os: [linux]
128 | requiresBuild: true
129 | dev: true
130 | optional: true
131 |
132 | /@esbuild/linux-arm@0.19.9:
133 | resolution: {integrity: sha512-C/ChPohUYoyUaqn1h17m/6yt6OB14hbXvT8EgM1ZWaiiTYz7nWZR0SYmMnB5BzQA4GXl3BgBO1l8MYqL/He3qw==}
134 | engines: {node: '>=12'}
135 | cpu: [arm]
136 | os: [linux]
137 | requiresBuild: true
138 | dev: true
139 | optional: true
140 |
141 | /@esbuild/linux-ia32@0.19.9:
142 | resolution: {integrity: sha512-f37i/0zE0MjDxijkPSQw1CO/7C27Eojqb+r3BbHVxMLkj8GCa78TrBZzvPyA/FNLUMzP3eyHCVkAopkKVja+6Q==}
143 | engines: {node: '>=12'}
144 | cpu: [ia32]
145 | os: [linux]
146 | requiresBuild: true
147 | dev: true
148 | optional: true
149 |
150 | /@esbuild/linux-loong64@0.19.9:
151 | resolution: {integrity: sha512-t6mN147pUIf3t6wUt3FeumoOTPfmv9Cc6DQlsVBpB7eCpLOqQDyWBP1ymXn1lDw4fNUSb/gBcKAmvTP49oIkaA==}
152 | engines: {node: '>=12'}
153 | cpu: [loong64]
154 | os: [linux]
155 | requiresBuild: true
156 | dev: true
157 | optional: true
158 |
159 | /@esbuild/linux-mips64el@0.19.9:
160 | resolution: {integrity: sha512-jg9fujJTNTQBuDXdmAg1eeJUL4Jds7BklOTkkH80ZgQIoCTdQrDaHYgbFZyeTq8zbY+axgptncko3v9p5hLZtw==}
161 | engines: {node: '>=12'}
162 | cpu: [mips64el]
163 | os: [linux]
164 | requiresBuild: true
165 | dev: true
166 | optional: true
167 |
168 | /@esbuild/linux-ppc64@0.19.9:
169 | resolution: {integrity: sha512-tkV0xUX0pUUgY4ha7z5BbDS85uI7ABw3V1d0RNTii7E9lbmV8Z37Pup2tsLV46SQWzjOeyDi1Q7Wx2+QM8WaCQ==}
170 | engines: {node: '>=12'}
171 | cpu: [ppc64]
172 | os: [linux]
173 | requiresBuild: true
174 | dev: true
175 | optional: true
176 |
177 | /@esbuild/linux-riscv64@0.19.9:
178 | resolution: {integrity: sha512-DfLp8dj91cufgPZDXr9p3FoR++m3ZJ6uIXsXrIvJdOjXVREtXuQCjfMfvmc3LScAVmLjcfloyVtpn43D56JFHg==}
179 | engines: {node: '>=12'}
180 | cpu: [riscv64]
181 | os: [linux]
182 | requiresBuild: true
183 | dev: true
184 | optional: true
185 |
186 | /@esbuild/linux-s390x@0.19.9:
187 | resolution: {integrity: sha512-zHbglfEdC88KMgCWpOl/zc6dDYJvWGLiUtmPRsr1OgCViu3z5GncvNVdf+6/56O2Ca8jUU+t1BW261V6kp8qdw==}
188 | engines: {node: '>=12'}
189 | cpu: [s390x]
190 | os: [linux]
191 | requiresBuild: true
192 | dev: true
193 | optional: true
194 |
195 | /@esbuild/linux-x64@0.19.9:
196 | resolution: {integrity: sha512-JUjpystGFFmNrEHQnIVG8hKwvA2DN5o7RqiO1CVX8EN/F/gkCjkUMgVn6hzScpwnJtl2mPR6I9XV1oW8k9O+0A==}
197 | engines: {node: '>=12'}
198 | cpu: [x64]
199 | os: [linux]
200 | requiresBuild: true
201 | dev: true
202 | optional: true
203 |
204 | /@esbuild/netbsd-x64@0.19.9:
205 | resolution: {integrity: sha512-GThgZPAwOBOsheA2RUlW5UeroRfESwMq/guy8uEe3wJlAOjpOXuSevLRd70NZ37ZrpO6RHGHgEHvPg1h3S1Jug==}
206 | engines: {node: '>=12'}
207 | cpu: [x64]
208 | os: [netbsd]
209 | requiresBuild: true
210 | dev: true
211 | optional: true
212 |
213 | /@esbuild/openbsd-x64@0.19.9:
214 | resolution: {integrity: sha512-Ki6PlzppaFVbLnD8PtlVQfsYw4S9n3eQl87cqgeIw+O3sRr9IghpfSKY62mggdt1yCSZ8QWvTZ9jo9fjDSg9uw==}
215 | engines: {node: '>=12'}
216 | cpu: [x64]
217 | os: [openbsd]
218 | requiresBuild: true
219 | dev: true
220 | optional: true
221 |
222 | /@esbuild/sunos-x64@0.19.9:
223 | resolution: {integrity: sha512-MLHj7k9hWh4y1ddkBpvRj2b9NCBhfgBt3VpWbHQnXRedVun/hC7sIyTGDGTfsGuXo4ebik2+3ShjcPbhtFwWDw==}
224 | engines: {node: '>=12'}
225 | cpu: [x64]
226 | os: [sunos]
227 | requiresBuild: true
228 | dev: true
229 | optional: true
230 |
231 | /@esbuild/win32-arm64@0.19.9:
232 | resolution: {integrity: sha512-GQoa6OrQ8G08guMFgeXPH7yE/8Dt0IfOGWJSfSH4uafwdC7rWwrfE6P9N8AtPGIjUzdo2+7bN8Xo3qC578olhg==}
233 | engines: {node: '>=12'}
234 | cpu: [arm64]
235 | os: [win32]
236 | requiresBuild: true
237 | dev: true
238 | optional: true
239 |
240 | /@esbuild/win32-ia32@0.19.9:
241 | resolution: {integrity: sha512-UOozV7Ntykvr5tSOlGCrqU3NBr3d8JqPes0QWN2WOXfvkWVGRajC+Ym0/Wj88fUgecUCLDdJPDF0Nna2UK3Qtg==}
242 | engines: {node: '>=12'}
243 | cpu: [ia32]
244 | os: [win32]
245 | requiresBuild: true
246 | dev: true
247 | optional: true
248 |
249 | /@esbuild/win32-x64@0.19.9:
250 | resolution: {integrity: sha512-oxoQgglOP7RH6iasDrhY+R/3cHrfwIDvRlT4CGChflq6twk8iENeVvMJjmvBb94Ik1Z+93iGO27err7w6l54GQ==}
251 | engines: {node: '>=12'}
252 | cpu: [x64]
253 | os: [win32]
254 | requiresBuild: true
255 | dev: true
256 | optional: true
257 |
258 | /@jridgewell/sourcemap-codec@1.4.15:
259 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
260 |
261 | /@microsoft/api-extractor-model@7.28.3:
262 | resolution: {integrity: sha512-wT/kB2oDbdZXITyDh2SQLzaWwTOFbV326fP0pUwNW00WeliARs0qjmXBWmGWardEzp2U3/axkO3Lboqun6vrig==}
263 | dependencies:
264 | '@microsoft/tsdoc': 0.14.2
265 | '@microsoft/tsdoc-config': 0.16.2
266 | '@rushstack/node-core-library': 3.62.0
267 | transitivePeerDependencies:
268 | - '@types/node'
269 | dev: true
270 |
271 | /@microsoft/api-extractor@7.38.5:
272 | resolution: {integrity: sha512-c/w2zfqBcBJxaCzpJNvFoouWewcYrUOfeu5ZkWCCIXTF9a/gXM85RGevEzlMAIEGM/kssAAZSXRJIZ3Q5vLFow==}
273 | hasBin: true
274 | dependencies:
275 | '@microsoft/api-extractor-model': 7.28.3
276 | '@microsoft/tsdoc': 0.14.2
277 | '@microsoft/tsdoc-config': 0.16.2
278 | '@rushstack/node-core-library': 3.62.0
279 | '@rushstack/rig-package': 0.5.1
280 | '@rushstack/ts-command-line': 4.17.1
281 | colors: 1.2.5
282 | lodash: 4.17.21
283 | resolve: 1.22.8
284 | semver: 7.5.4
285 | source-map: 0.6.1
286 | typescript: 5.0.4
287 | transitivePeerDependencies:
288 | - '@types/node'
289 | dev: true
290 |
291 | /@microsoft/tsdoc-config@0.16.2:
292 | resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==}
293 | dependencies:
294 | '@microsoft/tsdoc': 0.14.2
295 | ajv: 6.12.6
296 | jju: 1.4.0
297 | resolve: 1.19.0
298 | dev: true
299 |
300 | /@microsoft/tsdoc@0.14.2:
301 | resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==}
302 | dev: true
303 |
304 | /@rollup/pluginutils@5.1.0:
305 | resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==}
306 | engines: {node: '>=14.0.0'}
307 | peerDependencies:
308 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0
309 | peerDependenciesMeta:
310 | rollup:
311 | optional: true
312 | dependencies:
313 | '@types/estree': 1.0.5
314 | estree-walker: 2.0.2
315 | picomatch: 2.3.1
316 | dev: true
317 |
318 | /@rollup/rollup-android-arm-eabi@4.9.1:
319 | resolution: {integrity: sha512-6vMdBZqtq1dVQ4CWdhFwhKZL6E4L1dV6jUjuBvsavvNJSppzi6dLBbuV+3+IyUREaj9ZFvQefnQm28v4OCXlig==}
320 | cpu: [arm]
321 | os: [android]
322 | requiresBuild: true
323 | dev: true
324 | optional: true
325 |
326 | /@rollup/rollup-android-arm64@4.9.1:
327 | resolution: {integrity: sha512-Jto9Fl3YQ9OLsTDWtLFPtaIMSL2kwGyGoVCmPC8Gxvym9TCZm4Sie+cVeblPO66YZsYH8MhBKDMGZ2NDxuk/XQ==}
328 | cpu: [arm64]
329 | os: [android]
330 | requiresBuild: true
331 | dev: true
332 | optional: true
333 |
334 | /@rollup/rollup-darwin-arm64@4.9.1:
335 | resolution: {integrity: sha512-LtYcLNM+bhsaKAIGwVkh5IOWhaZhjTfNOkGzGqdHvhiCUVuJDalvDxEdSnhFzAn+g23wgsycmZk1vbnaibZwwA==}
336 | cpu: [arm64]
337 | os: [darwin]
338 | requiresBuild: true
339 | dev: true
340 | optional: true
341 |
342 | /@rollup/rollup-darwin-x64@4.9.1:
343 | resolution: {integrity: sha512-KyP/byeXu9V+etKO6Lw3E4tW4QdcnzDG/ake031mg42lob5tN+5qfr+lkcT/SGZaH2PdW4Z1NX9GHEkZ8xV7og==}
344 | cpu: [x64]
345 | os: [darwin]
346 | requiresBuild: true
347 | dev: true
348 | optional: true
349 |
350 | /@rollup/rollup-linux-arm-gnueabihf@4.9.1:
351 | resolution: {integrity: sha512-Yqz/Doumf3QTKplwGNrCHe/B2p9xqDghBZSlAY0/hU6ikuDVQuOUIpDP/YcmoT+447tsZTmirmjgG3znvSCR0Q==}
352 | cpu: [arm]
353 | os: [linux]
354 | requiresBuild: true
355 | dev: true
356 | optional: true
357 |
358 | /@rollup/rollup-linux-arm64-gnu@4.9.1:
359 | resolution: {integrity: sha512-u3XkZVvxcvlAOlQJ3UsD1rFvLWqu4Ef/Ggl40WAVCuogf4S1nJPHh5RTgqYFpCOvuGJ7H5yGHabjFKEZGExk5Q==}
360 | cpu: [arm64]
361 | os: [linux]
362 | requiresBuild: true
363 | dev: true
364 | optional: true
365 |
366 | /@rollup/rollup-linux-arm64-musl@4.9.1:
367 | resolution: {integrity: sha512-0XSYN/rfWShW+i+qjZ0phc6vZ7UWI8XWNz4E/l+6edFt+FxoEghrJHjX1EY/kcUGCnZzYYRCl31SNdfOi450Aw==}
368 | cpu: [arm64]
369 | os: [linux]
370 | requiresBuild: true
371 | dev: true
372 | optional: true
373 |
374 | /@rollup/rollup-linux-riscv64-gnu@4.9.1:
375 | resolution: {integrity: sha512-LmYIO65oZVfFt9t6cpYkbC4d5lKHLYv5B4CSHRpnANq0VZUQXGcCPXHzbCXCz4RQnx7jvlYB1ISVNCE/omz5cw==}
376 | cpu: [riscv64]
377 | os: [linux]
378 | requiresBuild: true
379 | dev: true
380 | optional: true
381 |
382 | /@rollup/rollup-linux-x64-gnu@4.9.1:
383 | resolution: {integrity: sha512-kr8rEPQ6ns/Lmr/hiw8sEVj9aa07gh1/tQF2Y5HrNCCEPiCBGnBUt9tVusrcBBiJfIt1yNaXN6r1CCmpbFEDpg==}
384 | cpu: [x64]
385 | os: [linux]
386 | requiresBuild: true
387 | dev: true
388 | optional: true
389 |
390 | /@rollup/rollup-linux-x64-musl@4.9.1:
391 | resolution: {integrity: sha512-t4QSR7gN+OEZLG0MiCgPqMWZGwmeHhsM4AkegJ0Kiy6TnJ9vZ8dEIwHw1LcZKhbHxTY32hp9eVCMdR3/I8MGRw==}
392 | cpu: [x64]
393 | os: [linux]
394 | requiresBuild: true
395 | dev: true
396 | optional: true
397 |
398 | /@rollup/rollup-win32-arm64-msvc@4.9.1:
399 | resolution: {integrity: sha512-7XI4ZCBN34cb+BH557FJPmh0kmNz2c25SCQeT9OiFWEgf8+dL6ZwJ8f9RnUIit+j01u07Yvrsuu1rZGxJCc51g==}
400 | cpu: [arm64]
401 | os: [win32]
402 | requiresBuild: true
403 | dev: true
404 | optional: true
405 |
406 | /@rollup/rollup-win32-ia32-msvc@4.9.1:
407 | resolution: {integrity: sha512-yE5c2j1lSWOH5jp+Q0qNL3Mdhr8WuqCNVjc6BxbVfS5cAS6zRmdiw7ktb8GNpDCEUJphILY6KACoFoRtKoqNQg==}
408 | cpu: [ia32]
409 | os: [win32]
410 | requiresBuild: true
411 | dev: true
412 | optional: true
413 |
414 | /@rollup/rollup-win32-x64-msvc@4.9.1:
415 | resolution: {integrity: sha512-PyJsSsafjmIhVgaI1Zdj7m8BB8mMckFah/xbpplObyHfiXzKcI5UOUXRyOdHW7nz4DpMCuzLnF7v5IWHenCwYA==}
416 | cpu: [x64]
417 | os: [win32]
418 | requiresBuild: true
419 | dev: true
420 | optional: true
421 |
422 | /@rushstack/node-core-library@3.62.0:
423 | resolution: {integrity: sha512-88aJn2h8UpSvdwuDXBv1/v1heM6GnBf3RjEy6ZPP7UnzHNCqOHA2Ut+ScYUbXcqIdfew9JlTAe3g+cnX9xQ/Aw==}
424 | peerDependencies:
425 | '@types/node': '*'
426 | peerDependenciesMeta:
427 | '@types/node':
428 | optional: true
429 | dependencies:
430 | colors: 1.2.5
431 | fs-extra: 7.0.1
432 | import-lazy: 4.0.0
433 | jju: 1.4.0
434 | resolve: 1.22.8
435 | semver: 7.5.4
436 | z-schema: 5.0.5
437 | dev: true
438 |
439 | /@rushstack/rig-package@0.5.1:
440 | resolution: {integrity: sha512-pXRYSe29TjRw7rqxD4WS3HN/sRSbfr+tJs4a9uuaSIBAITbUggygdhuG0VrO0EO+QqH91GhYMN4S6KRtOEmGVA==}
441 | dependencies:
442 | resolve: 1.22.8
443 | strip-json-comments: 3.1.1
444 | dev: true
445 |
446 | /@rushstack/ts-command-line@4.17.1:
447 | resolution: {integrity: sha512-2jweO1O57BYP5qdBGl6apJLB+aRIn5ccIRTPDyULh0KMwVzFqWtw6IZWt1qtUoZD/pD2RNkIOosH6Cq45rIYeg==}
448 | dependencies:
449 | '@types/argparse': 1.0.38
450 | argparse: 1.0.10
451 | colors: 1.2.5
452 | string-argv: 0.3.2
453 | dev: true
454 |
455 | /@types/argparse@1.0.38:
456 | resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==}
457 | dev: true
458 |
459 | /@types/estree@1.0.5:
460 | resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
461 | dev: true
462 |
463 | /@vitejs/plugin-vue@4.5.2(vite@5.0.10)(vue@3.3.12):
464 | resolution: {integrity: sha512-UGR3DlzLi/SaVBPX0cnSyE37vqxU3O6chn8l0HJNzQzDia6/Au2A4xKv+iIJW8w2daf80G7TYHhi1pAUjdZ0bQ==}
465 | engines: {node: ^14.18.0 || >=16.0.0}
466 | peerDependencies:
467 | vite: ^4.0.0 || ^5.0.0
468 | vue: ^3.2.25
469 | dependencies:
470 | vite: 5.0.10(sass@1.69.5)
471 | vue: 3.3.12(typescript@5.3.3)
472 | dev: true
473 |
474 | /@volar/language-core@1.11.1:
475 | resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==}
476 | dependencies:
477 | '@volar/source-map': 1.11.1
478 | dev: true
479 |
480 | /@volar/source-map@1.11.1:
481 | resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==}
482 | dependencies:
483 | muggle-string: 0.3.1
484 | dev: true
485 |
486 | /@volar/typescript@1.11.1:
487 | resolution: {integrity: sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==}
488 | dependencies:
489 | '@volar/language-core': 1.11.1
490 | path-browserify: 1.0.1
491 | dev: true
492 |
493 | /@vue/compiler-core@3.3.12:
494 | resolution: {integrity: sha512-qAtjyG3GBLG0chzp5xGCyRLLe6wFCHmjI82aGzwuGKyznNP+GJJMxjc0wOYWDB2YKfho7niJFdoFpo0CZZQg9w==}
495 | dependencies:
496 | '@babel/parser': 7.23.6
497 | '@vue/shared': 3.3.12
498 | estree-walker: 2.0.2
499 | source-map-js: 1.0.2
500 |
501 | /@vue/compiler-dom@3.3.12:
502 | resolution: {integrity: sha512-RdJU9oEYaoPKUdGXCy0l+i4clesdDeLmbvRlszoc9iagsnBnMmQtYfCPVQ5BHB6o7K4SCucDdJM2Dh3oXB0D6g==}
503 | dependencies:
504 | '@vue/compiler-core': 3.3.12
505 | '@vue/shared': 3.3.12
506 |
507 | /@vue/compiler-sfc@3.3.12:
508 | resolution: {integrity: sha512-yy5b9e7b79dsGbMmglCe/YnhCQgBkHO7Uf6JfjWPSf2/5XH+MKn18LhzhHyxbHdJgnA4lZCqtXzLaJz8Pd8lMw==}
509 | dependencies:
510 | '@babel/parser': 7.23.6
511 | '@vue/compiler-core': 3.3.12
512 | '@vue/compiler-dom': 3.3.12
513 | '@vue/compiler-ssr': 3.3.12
514 | '@vue/reactivity-transform': 3.3.12
515 | '@vue/shared': 3.3.12
516 | estree-walker: 2.0.2
517 | magic-string: 0.30.5
518 | postcss: 8.4.32
519 | source-map-js: 1.0.2
520 |
521 | /@vue/compiler-ssr@3.3.12:
522 | resolution: {integrity: sha512-adCiMJPznfWcQyk/9HSuXGja859IaMV+b8UNSVzDatqv7h0PvT9BEeS22+gjkWofDiSg5d78/ZLls3sLA+cn3A==}
523 | dependencies:
524 | '@vue/compiler-dom': 3.3.12
525 | '@vue/shared': 3.3.12
526 |
527 | /@vue/language-core@1.8.25(typescript@5.3.3):
528 | resolution: {integrity: sha512-NJk/5DnAZlpvXX8BdWmHI45bWGLViUaS3R/RMrmFSvFMSbJKuEODpM4kR0F0Ofv5SFzCWuNiMhxameWpVdQsnA==}
529 | peerDependencies:
530 | typescript: '*'
531 | peerDependenciesMeta:
532 | typescript:
533 | optional: true
534 | dependencies:
535 | '@volar/language-core': 1.11.1
536 | '@volar/source-map': 1.11.1
537 | '@vue/compiler-dom': 3.3.12
538 | '@vue/shared': 3.3.12
539 | computeds: 0.0.1
540 | minimatch: 9.0.3
541 | muggle-string: 0.3.1
542 | path-browserify: 1.0.1
543 | typescript: 5.3.3
544 | vue-template-compiler: 2.7.15
545 | dev: true
546 |
547 | /@vue/reactivity-transform@3.3.12:
548 | resolution: {integrity: sha512-g5TijmML7FyKkLt6QnpqNmA4KD7K/T5SbXa88Bhq+hydNQEkzA8veVXWAQuNqg9rjaFYD0rPf0a9NofKA0ENgg==}
549 | dependencies:
550 | '@babel/parser': 7.23.6
551 | '@vue/compiler-core': 3.3.12
552 | '@vue/shared': 3.3.12
553 | estree-walker: 2.0.2
554 | magic-string: 0.30.5
555 |
556 | /@vue/reactivity@3.3.12:
557 | resolution: {integrity: sha512-vOJORzO8DlIx88cgTnMLIf2GlLYpoXAKsuoQsK6SGdaqODjxO129pVPTd2s/N/Mb6KKZEFIHIEwWGmtN4YPs+g==}
558 | dependencies:
559 | '@vue/shared': 3.3.12
560 |
561 | /@vue/runtime-core@3.3.12:
562 | resolution: {integrity: sha512-5iL4w7MZrSGKEZU2wFAYhDZdZmgn+s//73EfgDXW1M+ZUOl36md7tlWp1QFK/ladiq4FvQ82shVjo0KiPDPr0A==}
563 | dependencies:
564 | '@vue/reactivity': 3.3.12
565 | '@vue/shared': 3.3.12
566 |
567 | /@vue/runtime-dom@3.3.12:
568 | resolution: {integrity: sha512-8mMzqiIdl+IYa/OXwKwk6/4ebLq7cYV1pUcwCSwBK2KerUa6cwGosen5xrCL9f8o2DJ9TfPFwbPEvH7OXzUpoA==}
569 | dependencies:
570 | '@vue/runtime-core': 3.3.12
571 | '@vue/shared': 3.3.12
572 | csstype: 3.1.3
573 |
574 | /@vue/server-renderer@3.3.12(vue@3.3.12):
575 | resolution: {integrity: sha512-OZ0IEK5TU5GXb5J8/wSplyxvGGdIcwEmS8EIO302Vz8K6fGSgSJTU54X0Sb6PaefzZdiN3vHsLXO8XIeF8crQQ==}
576 | peerDependencies:
577 | vue: 3.3.12
578 | dependencies:
579 | '@vue/compiler-ssr': 3.3.12
580 | '@vue/shared': 3.3.12
581 | vue: 3.3.12(typescript@5.3.3)
582 |
583 | /@vue/shared@3.3.12:
584 | resolution: {integrity: sha512-6p0Yin0pclvnER7BLNOQuod9Z+cxSYh8pSh7CzHnWNjAIP6zrTlCdHRvSCb1aYEx6i3Q3kvfuWU7nG16CgG1ag==}
585 |
586 | /ajv@6.12.6:
587 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
588 | dependencies:
589 | fast-deep-equal: 3.1.3
590 | fast-json-stable-stringify: 2.1.0
591 | json-schema-traverse: 0.4.1
592 | uri-js: 4.4.1
593 | dev: true
594 |
595 | /anymatch@3.1.3:
596 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
597 | engines: {node: '>= 8'}
598 | dependencies:
599 | normalize-path: 3.0.0
600 | picomatch: 2.3.1
601 | dev: true
602 |
603 | /argparse@1.0.10:
604 | resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
605 | dependencies:
606 | sprintf-js: 1.0.3
607 | dev: true
608 |
609 | /balanced-match@1.0.2:
610 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
611 | dev: true
612 |
613 | /binary-extensions@2.2.0:
614 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
615 | engines: {node: '>=8'}
616 | dev: true
617 |
618 | /brace-expansion@2.0.1:
619 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
620 | dependencies:
621 | balanced-match: 1.0.2
622 | dev: true
623 |
624 | /braces@3.0.2:
625 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
626 | engines: {node: '>=8'}
627 | dependencies:
628 | fill-range: 7.0.1
629 | dev: true
630 |
631 | /chokidar@3.5.3:
632 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
633 | engines: {node: '>= 8.10.0'}
634 | dependencies:
635 | anymatch: 3.1.3
636 | braces: 3.0.2
637 | glob-parent: 5.1.2
638 | is-binary-path: 2.1.0
639 | is-glob: 4.0.3
640 | normalize-path: 3.0.0
641 | readdirp: 3.6.0
642 | optionalDependencies:
643 | fsevents: 2.3.3
644 | dev: true
645 |
646 | /colors@1.2.5:
647 | resolution: {integrity: sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==}
648 | engines: {node: '>=0.1.90'}
649 | dev: true
650 |
651 | /commander@9.5.0:
652 | resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
653 | engines: {node: ^12.20.0 || >=14}
654 | requiresBuild: true
655 | dev: true
656 | optional: true
657 |
658 | /computeds@0.0.1:
659 | resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==}
660 | dev: true
661 |
662 | /csstype@3.1.3:
663 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
664 |
665 | /de-indent@1.0.2:
666 | resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==}
667 | dev: true
668 |
669 | /debug@4.3.4:
670 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
671 | engines: {node: '>=6.0'}
672 | peerDependencies:
673 | supports-color: '*'
674 | peerDependenciesMeta:
675 | supports-color:
676 | optional: true
677 | dependencies:
678 | ms: 2.1.2
679 | dev: true
680 |
681 | /esbuild@0.19.9:
682 | resolution: {integrity: sha512-U9CHtKSy+EpPsEBa+/A2gMs/h3ylBC0H0KSqIg7tpztHerLi6nrrcoUJAkNCEPumx8yJ+Byic4BVwHgRbN0TBg==}
683 | engines: {node: '>=12'}
684 | hasBin: true
685 | requiresBuild: true
686 | optionalDependencies:
687 | '@esbuild/android-arm': 0.19.9
688 | '@esbuild/android-arm64': 0.19.9
689 | '@esbuild/android-x64': 0.19.9
690 | '@esbuild/darwin-arm64': 0.19.9
691 | '@esbuild/darwin-x64': 0.19.9
692 | '@esbuild/freebsd-arm64': 0.19.9
693 | '@esbuild/freebsd-x64': 0.19.9
694 | '@esbuild/linux-arm': 0.19.9
695 | '@esbuild/linux-arm64': 0.19.9
696 | '@esbuild/linux-ia32': 0.19.9
697 | '@esbuild/linux-loong64': 0.19.9
698 | '@esbuild/linux-mips64el': 0.19.9
699 | '@esbuild/linux-ppc64': 0.19.9
700 | '@esbuild/linux-riscv64': 0.19.9
701 | '@esbuild/linux-s390x': 0.19.9
702 | '@esbuild/linux-x64': 0.19.9
703 | '@esbuild/netbsd-x64': 0.19.9
704 | '@esbuild/openbsd-x64': 0.19.9
705 | '@esbuild/sunos-x64': 0.19.9
706 | '@esbuild/win32-arm64': 0.19.9
707 | '@esbuild/win32-ia32': 0.19.9
708 | '@esbuild/win32-x64': 0.19.9
709 | dev: true
710 |
711 | /estree-walker@2.0.2:
712 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
713 |
714 | /fast-deep-equal@3.1.3:
715 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
716 | dev: true
717 |
718 | /fast-json-stable-stringify@2.1.0:
719 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
720 | dev: true
721 |
722 | /fill-range@7.0.1:
723 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
724 | engines: {node: '>=8'}
725 | dependencies:
726 | to-regex-range: 5.0.1
727 | dev: true
728 |
729 | /fs-extra@7.0.1:
730 | resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==}
731 | engines: {node: '>=6 <7 || >=8'}
732 | dependencies:
733 | graceful-fs: 4.2.11
734 | jsonfile: 4.0.0
735 | universalify: 0.1.2
736 | dev: true
737 |
738 | /fsevents@2.3.3:
739 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
740 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
741 | os: [darwin]
742 | requiresBuild: true
743 | dev: true
744 | optional: true
745 |
746 | /function-bind@1.1.2:
747 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
748 | dev: true
749 |
750 | /glob-parent@5.1.2:
751 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
752 | engines: {node: '>= 6'}
753 | dependencies:
754 | is-glob: 4.0.3
755 | dev: true
756 |
757 | /graceful-fs@4.2.11:
758 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
759 | dev: true
760 |
761 | /hasown@2.0.0:
762 | resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==}
763 | engines: {node: '>= 0.4'}
764 | dependencies:
765 | function-bind: 1.1.2
766 | dev: true
767 |
768 | /he@1.2.0:
769 | resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
770 | hasBin: true
771 | dev: true
772 |
773 | /immutable@4.3.4:
774 | resolution: {integrity: sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==}
775 | dev: true
776 |
777 | /import-lazy@4.0.0:
778 | resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==}
779 | engines: {node: '>=8'}
780 | dev: true
781 |
782 | /is-binary-path@2.1.0:
783 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
784 | engines: {node: '>=8'}
785 | dependencies:
786 | binary-extensions: 2.2.0
787 | dev: true
788 |
789 | /is-core-module@2.13.1:
790 | resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
791 | dependencies:
792 | hasown: 2.0.0
793 | dev: true
794 |
795 | /is-extglob@2.1.1:
796 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
797 | engines: {node: '>=0.10.0'}
798 | dev: true
799 |
800 | /is-glob@4.0.3:
801 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
802 | engines: {node: '>=0.10.0'}
803 | dependencies:
804 | is-extglob: 2.1.1
805 | dev: true
806 |
807 | /is-number@7.0.0:
808 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
809 | engines: {node: '>=0.12.0'}
810 | dev: true
811 |
812 | /jju@1.4.0:
813 | resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==}
814 | dev: true
815 |
816 | /json-schema-traverse@0.4.1:
817 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
818 | dev: true
819 |
820 | /jsonfile@4.0.0:
821 | resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
822 | optionalDependencies:
823 | graceful-fs: 4.2.11
824 | dev: true
825 |
826 | /kolorist@1.8.0:
827 | resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==}
828 | dev: true
829 |
830 | /lodash.get@4.4.2:
831 | resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==}
832 | dev: true
833 |
834 | /lodash.isequal@4.5.0:
835 | resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==}
836 | dev: true
837 |
838 | /lodash@4.17.21:
839 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
840 | dev: true
841 |
842 | /lru-cache@6.0.0:
843 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
844 | engines: {node: '>=10'}
845 | dependencies:
846 | yallist: 4.0.0
847 | dev: true
848 |
849 | /magic-string@0.30.5:
850 | resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==}
851 | engines: {node: '>=12'}
852 | dependencies:
853 | '@jridgewell/sourcemap-codec': 1.4.15
854 |
855 | /minimatch@9.0.3:
856 | resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
857 | engines: {node: '>=16 || 14 >=14.17'}
858 | dependencies:
859 | brace-expansion: 2.0.1
860 | dev: true
861 |
862 | /ms@2.1.2:
863 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
864 | dev: true
865 |
866 | /muggle-string@0.3.1:
867 | resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==}
868 | dev: true
869 |
870 | /nanoid@3.3.7:
871 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
872 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
873 | hasBin: true
874 |
875 | /normalize-path@3.0.0:
876 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
877 | engines: {node: '>=0.10.0'}
878 | dev: true
879 |
880 | /path-browserify@1.0.1:
881 | resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
882 | dev: true
883 |
884 | /path-parse@1.0.7:
885 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
886 | dev: true
887 |
888 | /picocolors@1.0.0:
889 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
890 |
891 | /picomatch@2.3.1:
892 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
893 | engines: {node: '>=8.6'}
894 | dev: true
895 |
896 | /postcss@8.4.32:
897 | resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==}
898 | engines: {node: ^10 || ^12 || >=14}
899 | dependencies:
900 | nanoid: 3.3.7
901 | picocolors: 1.0.0
902 | source-map-js: 1.0.2
903 |
904 | /punycode@2.3.1:
905 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
906 | engines: {node: '>=6'}
907 | dev: true
908 |
909 | /readdirp@3.6.0:
910 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
911 | engines: {node: '>=8.10.0'}
912 | dependencies:
913 | picomatch: 2.3.1
914 | dev: true
915 |
916 | /resolve@1.19.0:
917 | resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==}
918 | dependencies:
919 | is-core-module: 2.13.1
920 | path-parse: 1.0.7
921 | dev: true
922 |
923 | /resolve@1.22.8:
924 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
925 | hasBin: true
926 | dependencies:
927 | is-core-module: 2.13.1
928 | path-parse: 1.0.7
929 | supports-preserve-symlinks-flag: 1.0.0
930 | dev: true
931 |
932 | /rollup@4.9.1:
933 | resolution: {integrity: sha512-pgPO9DWzLoW/vIhlSoDByCzcpX92bKEorbgXuZrqxByte3JFk2xSW2JEeAcyLc9Ru9pqcNNW+Ob7ntsk2oT/Xw==}
934 | engines: {node: '>=18.0.0', npm: '>=8.0.0'}
935 | hasBin: true
936 | optionalDependencies:
937 | '@rollup/rollup-android-arm-eabi': 4.9.1
938 | '@rollup/rollup-android-arm64': 4.9.1
939 | '@rollup/rollup-darwin-arm64': 4.9.1
940 | '@rollup/rollup-darwin-x64': 4.9.1
941 | '@rollup/rollup-linux-arm-gnueabihf': 4.9.1
942 | '@rollup/rollup-linux-arm64-gnu': 4.9.1
943 | '@rollup/rollup-linux-arm64-musl': 4.9.1
944 | '@rollup/rollup-linux-riscv64-gnu': 4.9.1
945 | '@rollup/rollup-linux-x64-gnu': 4.9.1
946 | '@rollup/rollup-linux-x64-musl': 4.9.1
947 | '@rollup/rollup-win32-arm64-msvc': 4.9.1
948 | '@rollup/rollup-win32-ia32-msvc': 4.9.1
949 | '@rollup/rollup-win32-x64-msvc': 4.9.1
950 | fsevents: 2.3.3
951 | dev: true
952 |
953 | /sass@1.69.5:
954 | resolution: {integrity: sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==}
955 | engines: {node: '>=14.0.0'}
956 | hasBin: true
957 | dependencies:
958 | chokidar: 3.5.3
959 | immutable: 4.3.4
960 | source-map-js: 1.0.2
961 | dev: true
962 |
963 | /semver@7.5.4:
964 | resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
965 | engines: {node: '>=10'}
966 | hasBin: true
967 | dependencies:
968 | lru-cache: 6.0.0
969 | dev: true
970 |
971 | /source-map-js@1.0.2:
972 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
973 | engines: {node: '>=0.10.0'}
974 |
975 | /source-map@0.6.1:
976 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
977 | engines: {node: '>=0.10.0'}
978 | dev: true
979 |
980 | /sprintf-js@1.0.3:
981 | resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
982 | dev: true
983 |
984 | /string-argv@0.3.2:
985 | resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==}
986 | engines: {node: '>=0.6.19'}
987 | dev: true
988 |
989 | /strip-json-comments@3.1.1:
990 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
991 | engines: {node: '>=8'}
992 | dev: true
993 |
994 | /supports-preserve-symlinks-flag@1.0.0:
995 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
996 | engines: {node: '>= 0.4'}
997 | dev: true
998 |
999 | /to-fast-properties@2.0.0:
1000 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
1001 | engines: {node: '>=4'}
1002 |
1003 | /to-regex-range@5.0.1:
1004 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1005 | engines: {node: '>=8.0'}
1006 | dependencies:
1007 | is-number: 7.0.0
1008 | dev: true
1009 |
1010 | /typescript@5.0.4:
1011 | resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==}
1012 | engines: {node: '>=12.20'}
1013 | hasBin: true
1014 | dev: true
1015 |
1016 | /typescript@5.3.3:
1017 | resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==}
1018 | engines: {node: '>=14.17'}
1019 | hasBin: true
1020 |
1021 | /universalify@0.1.2:
1022 | resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
1023 | engines: {node: '>= 4.0.0'}
1024 | dev: true
1025 |
1026 | /uri-js@4.4.1:
1027 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
1028 | dependencies:
1029 | punycode: 2.3.1
1030 | dev: true
1031 |
1032 | /validator@13.11.0:
1033 | resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==}
1034 | engines: {node: '>= 0.10'}
1035 | dev: true
1036 |
1037 | /vite-plugin-css-injected-by-js@3.3.0(vite@5.0.10):
1038 | resolution: {integrity: sha512-xG+jyHNCmUqi/TXp6q88wTJGeAOrNLSyUUTp4qEQ9QZLGcHWQQsCsSSKa59rPMQr8sOzfzmWDd8enGqfH/dBew==}
1039 | peerDependencies:
1040 | vite: '>2.0.0-0'
1041 | dependencies:
1042 | vite: 5.0.10(sass@1.69.5)
1043 | dev: true
1044 |
1045 | /vite-plugin-dts@3.6.4(typescript@5.3.3)(vite@5.0.10):
1046 | resolution: {integrity: sha512-yOVhUI/kQhtS6lCXRYYLv2UUf9bftcwQK9ROxCX2ul17poLQs02ctWX7+vXB8GPRzH8VCK3jebEFtPqqijXx6w==}
1047 | engines: {node: ^14.18.0 || >=16.0.0}
1048 | peerDependencies:
1049 | typescript: '*'
1050 | vite: '*'
1051 | peerDependenciesMeta:
1052 | vite:
1053 | optional: true
1054 | dependencies:
1055 | '@microsoft/api-extractor': 7.38.5
1056 | '@rollup/pluginutils': 5.1.0
1057 | '@vue/language-core': 1.8.25(typescript@5.3.3)
1058 | debug: 4.3.4
1059 | kolorist: 1.8.0
1060 | typescript: 5.3.3
1061 | vite: 5.0.10(sass@1.69.5)
1062 | vue-tsc: 1.8.25(typescript@5.3.3)
1063 | transitivePeerDependencies:
1064 | - '@types/node'
1065 | - rollup
1066 | - supports-color
1067 | dev: true
1068 |
1069 | /vite@5.0.10(sass@1.69.5):
1070 | resolution: {integrity: sha512-2P8J7WWgmc355HUMlFrwofacvr98DAjoE52BfdbwQtyLH06XKwaL/FMnmKM2crF0iX4MpmMKoDlNCB1ok7zHCw==}
1071 | engines: {node: ^18.0.0 || >=20.0.0}
1072 | hasBin: true
1073 | peerDependencies:
1074 | '@types/node': ^18.0.0 || >=20.0.0
1075 | less: '*'
1076 | lightningcss: ^1.21.0
1077 | sass: '*'
1078 | stylus: '*'
1079 | sugarss: '*'
1080 | terser: ^5.4.0
1081 | peerDependenciesMeta:
1082 | '@types/node':
1083 | optional: true
1084 | less:
1085 | optional: true
1086 | lightningcss:
1087 | optional: true
1088 | sass:
1089 | optional: true
1090 | stylus:
1091 | optional: true
1092 | sugarss:
1093 | optional: true
1094 | terser:
1095 | optional: true
1096 | dependencies:
1097 | esbuild: 0.19.9
1098 | postcss: 8.4.32
1099 | rollup: 4.9.1
1100 | sass: 1.69.5
1101 | optionalDependencies:
1102 | fsevents: 2.3.3
1103 | dev: true
1104 |
1105 | /vue-template-compiler@2.7.15:
1106 | resolution: {integrity: sha512-yQxjxMptBL7UAog00O8sANud99C6wJF+7kgbcwqkvA38vCGF7HWE66w0ZFnS/kX5gSoJr/PQ4/oS3Ne2pW37Og==}
1107 | dependencies:
1108 | de-indent: 1.0.2
1109 | he: 1.2.0
1110 | dev: true
1111 |
1112 | /vue-tsc@1.8.25(typescript@5.3.3):
1113 | resolution: {integrity: sha512-lHsRhDc/Y7LINvYhZ3pv4elflFADoEOo67vfClAfF2heVHpHmVquLSjojgCSIwzA4F0Pc4vowT/psXCYcfk+iQ==}
1114 | hasBin: true
1115 | peerDependencies:
1116 | typescript: '*'
1117 | dependencies:
1118 | '@volar/typescript': 1.11.1
1119 | '@vue/language-core': 1.8.25(typescript@5.3.3)
1120 | semver: 7.5.4
1121 | typescript: 5.3.3
1122 | dev: true
1123 |
1124 | /vue@3.3.12(typescript@5.3.3):
1125 | resolution: {integrity: sha512-jYNv2QmET2OTHsFzfWHMnqgCfqL4zfo97QwofdET+GBRCHhSCHuMTTvNIgeSn0/xF3JRT5OGah6MDwUFN7MPlg==}
1126 | peerDependencies:
1127 | typescript: '*'
1128 | peerDependenciesMeta:
1129 | typescript:
1130 | optional: true
1131 | dependencies:
1132 | '@vue/compiler-dom': 3.3.12
1133 | '@vue/compiler-sfc': 3.3.12
1134 | '@vue/runtime-dom': 3.3.12
1135 | '@vue/server-renderer': 3.3.12(vue@3.3.12)
1136 | '@vue/shared': 3.3.12
1137 | typescript: 5.3.3
1138 |
1139 | /yallist@4.0.0:
1140 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
1141 | dev: true
1142 |
1143 | /z-schema@5.0.5:
1144 | resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==}
1145 | engines: {node: '>=8.0.0'}
1146 | hasBin: true
1147 | dependencies:
1148 | lodash.get: 4.4.2
1149 | lodash.isequal: 4.5.0
1150 | validator: 13.11.0
1151 | optionalDependencies:
1152 | commander: 9.5.0
1153 | dev: true
1154 |
--------------------------------------------------------------------------------
/public/vite.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/App.vue:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |
34 |
35 |
36 |
37 |
98 |
--------------------------------------------------------------------------------
/src/assets/vue.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/src/components/Vue3LoadingShimmer.vue:
--------------------------------------------------------------------------------
1 |
56 |
57 |
58 |
67 |
68 |
69 |
147 |
--------------------------------------------------------------------------------
/src/lib/main.ts:
--------------------------------------------------------------------------------
1 | import Vue3LoadingShimmer from "../components/Vue3LoadingShimmer.vue";
2 |
3 | export default Vue3LoadingShimmer;
4 |
--------------------------------------------------------------------------------
/src/main.ts:
--------------------------------------------------------------------------------
1 | import { createApp } from "vue";
2 | import App from "./App.vue";
3 | import "./style.css";
4 |
5 | const app = createApp(App);
6 |
7 | app.mount("#app");
8 |
--------------------------------------------------------------------------------
/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: rgba(0, 0, 0, 0.87);
7 | background-color: #eeeeee;
8 |
9 | font-synthesis: none;
10 | text-rendering: optimizeLegibility;
11 | -webkit-font-smoothing: antialiased;
12 | -moz-osx-font-smoothing: grayscale;
13 | }
14 |
15 | * {
16 | padding: 0;
17 | margin: 0;
18 | box-sizing: border-box;
19 | }
20 |
21 | button {
22 | border-radius: 8px;
23 | border: 1px solid transparent;
24 | padding: 0.6em 1.2em;
25 | font-size: 1em;
26 | font-weight: 500;
27 | font-family: inherit;
28 | background-color: #1a1a1a;
29 | cursor: pointer;
30 | transition: border-color 0.25s;
31 | color: white;
32 | }
33 | button:hover {
34 | border-color: #646cff;
35 | }
36 | button:focus,
37 | button:focus-visible {
38 | outline: 4px auto -webkit-focus-ring-color;
39 | }
40 |
--------------------------------------------------------------------------------
/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 | "noEmit": true,
18 | "jsx": "preserve",
19 | /* Linting */
20 | "strict": true,
21 | "noUnusedLocals": true,
22 | "noUnusedParameters": true,
23 | "noFallthroughCasesInSwitch": true
24 | },
25 | "include": [
26 | "src/**/*.ts",
27 | "src/**/*.tsx",
28 | "src/**/*.vue"
29 | ],
30 | "references": [
31 | {
32 | "path": "./tsconfig.node.json"
33 | }
34 | ]
35 | }
--------------------------------------------------------------------------------
/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "skipLibCheck": true,
5 | "module": "ESNext",
6 | "moduleResolution": "bundler",
7 | "allowSyntheticDefaultImports": true
8 | },
9 | "include": ["vite.config.ts"]
10 | }
11 |
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import vue from "@vitejs/plugin-vue";
2 | import { resolve } from "path";
3 | import { defineConfig } from "vite";
4 | import cssInjectedByJsPlugin from "vite-plugin-css-injected-by-js";
5 | import dts from "vite-plugin-dts";
6 |
7 | // https://vitejs.dev/config/
8 | export default defineConfig({
9 | plugins: [
10 | vue(),
11 | dts({
12 | insertTypesEntry: true,
13 | rollupTypes: true,
14 | }),
15 | cssInjectedByJsPlugin(),
16 | ],
17 |
18 | build: {
19 | lib: {
20 | entry: resolve(__dirname, "src/lib/main.ts"),
21 | name: "Vue3LoadingShimmer",
22 | fileName: "vue3-loading-shimmer",
23 | formats: ["es", "umd", "iife", "cjs"],
24 | },
25 | rollupOptions: {
26 | external: ["vue"],
27 | output: {
28 | globals: {
29 | vue: "Vue",
30 | },
31 | },
32 | },
33 | },
34 | });
35 |
--------------------------------------------------------------------------------