├── .github
└── workflows
│ └── deploy.yml
├── .gitignore
├── .npmrc
├── LICENSE
├── README.md
├── package.json
├── pnpm-lock.yaml
├── postcss.config.cjs
├── src
├── app.d.ts
├── app.html
├── app.postcss
├── lib
│ ├── index.ts
│ ├── perfect-freehand.js
│ └── svg-path.ts
└── routes
│ ├── +layout.svelte
│ ├── +layout.ts
│ └── +page.svelte
├── static
└── favicon.png
├── svelte.config.js
├── tailwind.config.cjs
├── tsconfig.json
├── tsup.config.ts
└── vite.config.ts
/.github/workflows/deploy.yml:
--------------------------------------------------------------------------------
1 | name: Deploy to GitHub Pages
2 |
3 | on:
4 | # Trigger the workflow every time you push to the `main` branch
5 | # Using a different branch name? Replace `main` with your branch’s name
6 | push:
7 | branches: [master]
8 |
9 | # Allows you to run this workflow manually from the Actions tab on GitHub.
10 | workflow_dispatch:
11 |
12 | # Allow this job to clone the repo and create a page deployment
13 | permissions:
14 | contents: read
15 | pages: write
16 | id-token: write
17 |
18 | # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
19 | # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
20 | concurrency:
21 | group: "pages"
22 | cancel-in-progress: false
23 |
24 | jobs:
25 | build:
26 | runs-on: ubuntu-latest
27 | steps:
28 | - name: Checkout
29 | uses: actions/checkout@v4
30 |
31 | - name: Install pnpm
32 | uses: pnpm/action-setup@v4
33 | with:
34 | version: 9
35 | run_install: false
36 |
37 | - name: Install Node.js
38 | uses: actions/setup-node@v4
39 | with:
40 | node-version: 22
41 | cache: 'pnpm'
42 |
43 | - name: Install dependencies
44 | run: pnpm install --frozen-lockfile
45 |
46 | - name: Setup Pages
47 | uses: actions/configure-pages@v5
48 | with:
49 | static_site_generator: sveltekit
50 |
51 | - name: Build
52 | run: pnpm run build
53 |
54 | - name: Upload Artifacts
55 | uses: actions/upload-pages-artifact@v3
56 | with:
57 | # this should match the `pages` option in your adapter-static options
58 | path: 'build/'
59 |
60 | deploy:
61 | needs: build
62 | runs-on: ubuntu-latest
63 |
64 | environment:
65 | name: github-pages
66 | url: ${{ steps.deployment.outputs.page_url }}
67 |
68 | steps:
69 | - name: Deploy
70 | id: deployment
71 | uses: actions/deploy-pages@v4
72 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 | /build
5 | /.svelte-kit
6 | /package
7 | .env
8 | .env.*
9 | !.env.example
10 | vite.config.js.timestamp-*
11 | vite.config.ts.timestamp-*
12 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | engine-strict=true
2 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 Simon Green
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 | # svelte-signature-pad
2 |
3 | Svelte Action to capture smoothed signatures as SVG paths using the excellent [perfect-freehand](https://github.com/steveruizok/perfect-freehand) library.
4 |
5 | ## Instructions
6 |
7 | Install using you package manager of choice:
8 |
9 | pnpm i svelte-signature-pad
10 |
11 | Import action into page and pass and object with `ondraw` and `oncomplete` method properties.
12 |
13 | Each will receive a path which can be rendered as SVG in your component. `ondraw` fires _while the user is drawing_ and would be the current stroke. `oncomplete` fires when they have finished the line (which could transition to a different color).
14 |
15 | ## Example
16 |
17 | ```svelte
18 |
37 |
38 |
39 |
40 |
false}
46 | >
47 | {#each layers as layer}
48 |
49 |
50 |
51 | {/each}
52 |
53 | {#if preview}
54 |
55 |
56 |
57 | {/if}
58 |
59 |
Clear
60 |
61 |
62 | Please sign on the dotted line to indicate that you agree to all the legal terms we all know you didn't read. Thank you!
63 |
64 |
65 | {#each layers as layer}
66 |
67 |
68 |
69 | {/each}
70 |
71 | ```
72 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "svelte-signature-pad",
3 | "version": "0.0.2",
4 | "type": "module",
5 | "keywords": [
6 | "svelte",
7 | "action",
8 | "signature",
9 | "svg"
10 | ],
11 | "files": [
12 | "dist"
13 | ],
14 | "exports": {
15 | ".": {
16 | "types": "./dist/index.d.ts",
17 | "import": "./dist/index.js",
18 | "svelte": "./dist/index.js"
19 | }
20 | },
21 | "module": "dist/index.js",
22 | "types": "dist/index.d.ts",
23 | "homepage": "https://captaincodeman.github.io/svelte-signature-pad/",
24 | "repository": {
25 | "type": "git",
26 | "url": "https://github.com/captaincodeman/svelte-signature-pad.git"
27 | },
28 | "author": {
29 | "name": "Simon Green",
30 | "email": "simon@captaincodeman.com",
31 | "url": "https://www.captaincodeman.com/"
32 | },
33 | "license": "MIT",
34 | "scripts": {
35 | "dev": "vite dev",
36 | "build": "vite build",
37 | "preview": "vite preview",
38 | "package": "svelte-kit sync && tsup && publint",
39 | "prepublishOnly": "npm run package",
40 | "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
41 | "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch"
42 | },
43 | "peerDependencies": {
44 | "svelte": "^3.54.0 || ^4.0.0"
45 | },
46 | "devDependencies": {
47 | "@sveltejs/adapter-static": "^2.0.2",
48 | "@sveltejs/kit": "^1.20.4",
49 | "autoprefixer": "^10.4.14",
50 | "postcss": "^8.4.24",
51 | "postcss-load-config": "^4.0.1",
52 | "publint": "^0.1.12",
53 | "svelte": "^4.0.0",
54 | "svelte-check": "^3.4.4",
55 | "tailwindcss": "^3.3.2",
56 | "tslib": "^2.5.3",
57 | "tsup": "^7.0.0",
58 | "typescript": "^5.1.3",
59 | "vite": "^4.3.9"
60 | },
61 | "dependencies": {
62 | "perfect-freehand": "^1.2.0"
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '6.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | dependencies:
8 | perfect-freehand:
9 | specifier: ^1.2.0
10 | version: 1.2.0
11 |
12 | devDependencies:
13 | '@sveltejs/adapter-static':
14 | specifier: ^2.0.2
15 | version: 2.0.2(@sveltejs/kit@1.20.4)
16 | '@sveltejs/kit':
17 | specifier: ^1.20.4
18 | version: 1.20.4(svelte@4.0.0)(vite@4.3.9)
19 | autoprefixer:
20 | specifier: ^10.4.14
21 | version: 10.4.14(postcss@8.4.24)
22 | postcss:
23 | specifier: ^8.4.24
24 | version: 8.4.24
25 | postcss-load-config:
26 | specifier: ^4.0.1
27 | version: 4.0.1(postcss@8.4.24)
28 | publint:
29 | specifier: ^0.1.12
30 | version: 0.1.12
31 | svelte:
32 | specifier: ^4.0.0
33 | version: 4.0.0
34 | svelte-check:
35 | specifier: ^3.4.4
36 | version: 3.4.4(postcss-load-config@4.0.1)(postcss@8.4.24)(svelte@4.0.0)
37 | tailwindcss:
38 | specifier: ^3.3.2
39 | version: 3.3.2
40 | tslib:
41 | specifier: ^2.5.3
42 | version: 2.5.3
43 | tsup:
44 | specifier: ^7.0.0
45 | version: 7.0.0(postcss@8.4.24)(typescript@5.1.3)
46 | typescript:
47 | specifier: ^5.1.3
48 | version: 5.1.3
49 | vite:
50 | specifier: ^4.3.9
51 | version: 4.3.9
52 |
53 | packages:
54 |
55 | /@alloc/quick-lru@5.2.0:
56 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
57 | engines: {node: '>=10'}
58 | dev: true
59 |
60 | /@ampproject/remapping@2.2.1:
61 | resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==}
62 | engines: {node: '>=6.0.0'}
63 | dependencies:
64 | '@jridgewell/gen-mapping': 0.3.3
65 | '@jridgewell/trace-mapping': 0.3.18
66 | dev: true
67 |
68 | /@esbuild/android-arm64@0.17.19:
69 | resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==}
70 | engines: {node: '>=12'}
71 | cpu: [arm64]
72 | os: [android]
73 | requiresBuild: true
74 | dev: true
75 | optional: true
76 |
77 | /@esbuild/android-arm64@0.18.6:
78 | resolution: {integrity: sha512-pL0Ci8P9q1sWbtPx8CXbc8JvPvvYdJJQ+LO09PLFsbz3aYNdFBGWJjiHU+CaObO4Ames+GOFpXRAJZS2L3ZK/A==}
79 | engines: {node: '>=12'}
80 | cpu: [arm64]
81 | os: [android]
82 | requiresBuild: true
83 | dev: true
84 | optional: true
85 |
86 | /@esbuild/android-arm@0.17.19:
87 | resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==}
88 | engines: {node: '>=12'}
89 | cpu: [arm]
90 | os: [android]
91 | requiresBuild: true
92 | dev: true
93 | optional: true
94 |
95 | /@esbuild/android-arm@0.18.6:
96 | resolution: {integrity: sha512-J3lwhDSXBBppSzm/LC1uZ8yKSIpExc+5T8MxrYD9KNVZG81FOAu2VF2gXi/6A/LwDDQQ+b6DpQbYlo3VwxFepQ==}
97 | engines: {node: '>=12'}
98 | cpu: [arm]
99 | os: [android]
100 | requiresBuild: true
101 | dev: true
102 | optional: true
103 |
104 | /@esbuild/android-x64@0.17.19:
105 | resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==}
106 | engines: {node: '>=12'}
107 | cpu: [x64]
108 | os: [android]
109 | requiresBuild: true
110 | dev: true
111 | optional: true
112 |
113 | /@esbuild/android-x64@0.18.6:
114 | resolution: {integrity: sha512-hE2vZxOlJ05aY28lUpB0y0RokngtZtcUB+TVl9vnLEnY0z/8BicSvrkThg5/iI1rbf8TwXrbr2heEjl9fLf+EA==}
115 | engines: {node: '>=12'}
116 | cpu: [x64]
117 | os: [android]
118 | requiresBuild: true
119 | dev: true
120 | optional: true
121 |
122 | /@esbuild/darwin-arm64@0.17.19:
123 | resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==}
124 | engines: {node: '>=12'}
125 | cpu: [arm64]
126 | os: [darwin]
127 | requiresBuild: true
128 | dev: true
129 | optional: true
130 |
131 | /@esbuild/darwin-arm64@0.18.6:
132 | resolution: {integrity: sha512-/tuyl4R+QhhoROQtuQj9E/yfJtZNdv2HKaHwYhhHGQDN1Teziem2Kh7BWQMumfiY7Lu9g5rO7scWdGE4OsQ6MQ==}
133 | engines: {node: '>=12'}
134 | cpu: [arm64]
135 | os: [darwin]
136 | requiresBuild: true
137 | dev: true
138 | optional: true
139 |
140 | /@esbuild/darwin-x64@0.17.19:
141 | resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==}
142 | engines: {node: '>=12'}
143 | cpu: [x64]
144 | os: [darwin]
145 | requiresBuild: true
146 | dev: true
147 | optional: true
148 |
149 | /@esbuild/darwin-x64@0.18.6:
150 | resolution: {integrity: sha512-L7IQga2pDT+14Ti8HZwsVfbCjuKP4U213T3tuPggOzyK/p4KaUJxQFXJgfUFHKzU0zOXx8QcYRYZf0hSQtppkw==}
151 | engines: {node: '>=12'}
152 | cpu: [x64]
153 | os: [darwin]
154 | requiresBuild: true
155 | dev: true
156 | optional: true
157 |
158 | /@esbuild/freebsd-arm64@0.17.19:
159 | resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==}
160 | engines: {node: '>=12'}
161 | cpu: [arm64]
162 | os: [freebsd]
163 | requiresBuild: true
164 | dev: true
165 | optional: true
166 |
167 | /@esbuild/freebsd-arm64@0.18.6:
168 | resolution: {integrity: sha512-bq10jFv42V20Kk77NvmO+WEZaLHBKuXcvEowixnBOMkaBgS7kQaqTc77ZJDbsUpXU3KKNLQFZctfaeINmeTsZA==}
169 | engines: {node: '>=12'}
170 | cpu: [arm64]
171 | os: [freebsd]
172 | requiresBuild: true
173 | dev: true
174 | optional: true
175 |
176 | /@esbuild/freebsd-x64@0.17.19:
177 | resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==}
178 | engines: {node: '>=12'}
179 | cpu: [x64]
180 | os: [freebsd]
181 | requiresBuild: true
182 | dev: true
183 | optional: true
184 |
185 | /@esbuild/freebsd-x64@0.18.6:
186 | resolution: {integrity: sha512-HbDLlkDZqUMBQaiday0pJzB6/8Xx/10dI3xRebJBReOEeDSeS+7GzTtW9h8ZnfB7/wBCqvtAjGtWQLTNPbR2+g==}
187 | engines: {node: '>=12'}
188 | cpu: [x64]
189 | os: [freebsd]
190 | requiresBuild: true
191 | dev: true
192 | optional: true
193 |
194 | /@esbuild/linux-arm64@0.17.19:
195 | resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==}
196 | engines: {node: '>=12'}
197 | cpu: [arm64]
198 | os: [linux]
199 | requiresBuild: true
200 | dev: true
201 | optional: true
202 |
203 | /@esbuild/linux-arm64@0.18.6:
204 | resolution: {integrity: sha512-NMY9yg/88MskEZH2s4i6biz/3av+M8xY5ua4HE7CCz5DBz542cr7REe317+v7oKjnYBCijHpkzo5vU85bkXQmQ==}
205 | engines: {node: '>=12'}
206 | cpu: [arm64]
207 | os: [linux]
208 | requiresBuild: true
209 | dev: true
210 | optional: true
211 |
212 | /@esbuild/linux-arm@0.17.19:
213 | resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==}
214 | engines: {node: '>=12'}
215 | cpu: [arm]
216 | os: [linux]
217 | requiresBuild: true
218 | dev: true
219 | optional: true
220 |
221 | /@esbuild/linux-arm@0.18.6:
222 | resolution: {integrity: sha512-C+5kb6rgsGMmvIdUI7v1PPgC98A6BMv233e97aXZ5AE03iMdlILFD/20HlHrOi0x2CzbspXn9HOnlE4/Ijn5Kw==}
223 | engines: {node: '>=12'}
224 | cpu: [arm]
225 | os: [linux]
226 | requiresBuild: true
227 | dev: true
228 | optional: true
229 |
230 | /@esbuild/linux-ia32@0.17.19:
231 | resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==}
232 | engines: {node: '>=12'}
233 | cpu: [ia32]
234 | os: [linux]
235 | requiresBuild: true
236 | dev: true
237 | optional: true
238 |
239 | /@esbuild/linux-ia32@0.18.6:
240 | resolution: {integrity: sha512-AXazA0ljvQEp7cA9jscABNXsjodKbEcqPcAE3rDzKN82Vb3lYOq6INd+HOCA7hk8IegEyHW4T72Z7QGIhyCQEA==}
241 | engines: {node: '>=12'}
242 | cpu: [ia32]
243 | os: [linux]
244 | requiresBuild: true
245 | dev: true
246 | optional: true
247 |
248 | /@esbuild/linux-loong64@0.17.19:
249 | resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==}
250 | engines: {node: '>=12'}
251 | cpu: [loong64]
252 | os: [linux]
253 | requiresBuild: true
254 | dev: true
255 | optional: true
256 |
257 | /@esbuild/linux-loong64@0.18.6:
258 | resolution: {integrity: sha512-JjBf7TwY7ldcPgHYt9UcrjZB03+WZqg/jSwMAfzOzM5ZG+tu5umUqzy5ugH/crGI4eoDIhSOTDp1NL3Uo/05Fw==}
259 | engines: {node: '>=12'}
260 | cpu: [loong64]
261 | os: [linux]
262 | requiresBuild: true
263 | dev: true
264 | optional: true
265 |
266 | /@esbuild/linux-mips64el@0.17.19:
267 | resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==}
268 | engines: {node: '>=12'}
269 | cpu: [mips64el]
270 | os: [linux]
271 | requiresBuild: true
272 | dev: true
273 | optional: true
274 |
275 | /@esbuild/linux-mips64el@0.18.6:
276 | resolution: {integrity: sha512-kATNsslryVxcH1sO3KP2nnyUWtZZVkgyhAUnyTVVa0OQQ9pmDRjTpHaE+2EQHoCM5wt/uav2edrAUqbwn3tkKQ==}
277 | engines: {node: '>=12'}
278 | cpu: [mips64el]
279 | os: [linux]
280 | requiresBuild: true
281 | dev: true
282 | optional: true
283 |
284 | /@esbuild/linux-ppc64@0.17.19:
285 | resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==}
286 | engines: {node: '>=12'}
287 | cpu: [ppc64]
288 | os: [linux]
289 | requiresBuild: true
290 | dev: true
291 | optional: true
292 |
293 | /@esbuild/linux-ppc64@0.18.6:
294 | resolution: {integrity: sha512-B+wTKz+8pi7mcWXFQV0LA79dJ+qhiut5uK9q0omoKnq8yRIwQJwfg3/vclXoqqcX89Ri5Y5538V0Se2v5qlcLA==}
295 | engines: {node: '>=12'}
296 | cpu: [ppc64]
297 | os: [linux]
298 | requiresBuild: true
299 | dev: true
300 | optional: true
301 |
302 | /@esbuild/linux-riscv64@0.17.19:
303 | resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==}
304 | engines: {node: '>=12'}
305 | cpu: [riscv64]
306 | os: [linux]
307 | requiresBuild: true
308 | dev: true
309 | optional: true
310 |
311 | /@esbuild/linux-riscv64@0.18.6:
312 | resolution: {integrity: sha512-h44RBLVXFUSjvhOfseE+5UxQ/r9LVeqK2S8JziJKOm9W7SePYRPDyn7MhzhNCCFPkcjIy+soCxfhlJXHXXCR0A==}
313 | engines: {node: '>=12'}
314 | cpu: [riscv64]
315 | os: [linux]
316 | requiresBuild: true
317 | dev: true
318 | optional: true
319 |
320 | /@esbuild/linux-s390x@0.17.19:
321 | resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==}
322 | engines: {node: '>=12'}
323 | cpu: [s390x]
324 | os: [linux]
325 | requiresBuild: true
326 | dev: true
327 | optional: true
328 |
329 | /@esbuild/linux-s390x@0.18.6:
330 | resolution: {integrity: sha512-FlYpyr2Xc2AUePoAbc84NRV+mj7xpsISeQ36HGf9etrY5rTBEA+IU9HzWVmw5mDFtC62EQxzkLRj8h5Hq85yOQ==}
331 | engines: {node: '>=12'}
332 | cpu: [s390x]
333 | os: [linux]
334 | requiresBuild: true
335 | dev: true
336 | optional: true
337 |
338 | /@esbuild/linux-x64@0.17.19:
339 | resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==}
340 | engines: {node: '>=12'}
341 | cpu: [x64]
342 | os: [linux]
343 | requiresBuild: true
344 | dev: true
345 | optional: true
346 |
347 | /@esbuild/linux-x64@0.18.6:
348 | resolution: {integrity: sha512-Mc4EUSYwzLci77u0Kao6ajB2WbTe5fNc7+lHwS3a+vJISC/oprwURezUYu1SdWAYoczbsyOvKAJwuNftoAdjjg==}
349 | engines: {node: '>=12'}
350 | cpu: [x64]
351 | os: [linux]
352 | requiresBuild: true
353 | dev: true
354 | optional: true
355 |
356 | /@esbuild/netbsd-x64@0.17.19:
357 | resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==}
358 | engines: {node: '>=12'}
359 | cpu: [x64]
360 | os: [netbsd]
361 | requiresBuild: true
362 | dev: true
363 | optional: true
364 |
365 | /@esbuild/netbsd-x64@0.18.6:
366 | resolution: {integrity: sha512-3hgZlp7NqIM5lNG3fpdhBI5rUnPmdahraSmwAi+YX/bp7iZ7mpTv2NkypGs/XngdMtpzljICxnUG3uPfqLFd3w==}
367 | engines: {node: '>=12'}
368 | cpu: [x64]
369 | os: [netbsd]
370 | requiresBuild: true
371 | dev: true
372 | optional: true
373 |
374 | /@esbuild/openbsd-x64@0.17.19:
375 | resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==}
376 | engines: {node: '>=12'}
377 | cpu: [x64]
378 | os: [openbsd]
379 | requiresBuild: true
380 | dev: true
381 | optional: true
382 |
383 | /@esbuild/openbsd-x64@0.18.6:
384 | resolution: {integrity: sha512-aEWTdZQHtSRROlDYn7ygB8yAqtnall/UnmoVIJVqccKitkAWVVSYocQUWrBOxLEFk8XdlRouVrLZe6WXszyviA==}
385 | engines: {node: '>=12'}
386 | cpu: [x64]
387 | os: [openbsd]
388 | requiresBuild: true
389 | dev: true
390 | optional: true
391 |
392 | /@esbuild/sunos-x64@0.17.19:
393 | resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==}
394 | engines: {node: '>=12'}
395 | cpu: [x64]
396 | os: [sunos]
397 | requiresBuild: true
398 | dev: true
399 | optional: true
400 |
401 | /@esbuild/sunos-x64@0.18.6:
402 | resolution: {integrity: sha512-uxk/5yAGpjKZUHOECtI9W+9IcLjKj+2m0qf+RG7f7eRBHr8wP6wsr3XbNbgtOD1qSpPapd6R2ZfSeXTkCcAo5g==}
403 | engines: {node: '>=12'}
404 | cpu: [x64]
405 | os: [sunos]
406 | requiresBuild: true
407 | dev: true
408 | optional: true
409 |
410 | /@esbuild/win32-arm64@0.17.19:
411 | resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==}
412 | engines: {node: '>=12'}
413 | cpu: [arm64]
414 | os: [win32]
415 | requiresBuild: true
416 | dev: true
417 | optional: true
418 |
419 | /@esbuild/win32-arm64@0.18.6:
420 | resolution: {integrity: sha512-oXlXGS9zvNCGoAT/tLHAsFKrIKye1JaIIP0anCdpaI+Dc10ftaNZcqfLzEwyhdzFAYInXYH4V7kEdH4hPyo9GA==}
421 | engines: {node: '>=12'}
422 | cpu: [arm64]
423 | os: [win32]
424 | requiresBuild: true
425 | dev: true
426 | optional: true
427 |
428 | /@esbuild/win32-ia32@0.17.19:
429 | resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==}
430 | engines: {node: '>=12'}
431 | cpu: [ia32]
432 | os: [win32]
433 | requiresBuild: true
434 | dev: true
435 | optional: true
436 |
437 | /@esbuild/win32-ia32@0.18.6:
438 | resolution: {integrity: sha512-qh7IcAHUvvmMBmoIG+V+BbE9ZWSR0ohF51e5g8JZvU08kZF58uDFL5tHs0eoYz31H6Finv17te3W3QB042GqVA==}
439 | engines: {node: '>=12'}
440 | cpu: [ia32]
441 | os: [win32]
442 | requiresBuild: true
443 | dev: true
444 | optional: true
445 |
446 | /@esbuild/win32-x64@0.17.19:
447 | resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==}
448 | engines: {node: '>=12'}
449 | cpu: [x64]
450 | os: [win32]
451 | requiresBuild: true
452 | dev: true
453 | optional: true
454 |
455 | /@esbuild/win32-x64@0.18.6:
456 | resolution: {integrity: sha512-9UDwkz7Wlm4N9jnv+4NL7F8vxLhSZfEkRArz2gD33HesAFfMLGIGNVXRoIHtWNw8feKsnGly9Hq1EUuRkWl0zA==}
457 | engines: {node: '>=12'}
458 | cpu: [x64]
459 | os: [win32]
460 | requiresBuild: true
461 | dev: true
462 | optional: true
463 |
464 | /@jridgewell/gen-mapping@0.3.3:
465 | resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
466 | engines: {node: '>=6.0.0'}
467 | dependencies:
468 | '@jridgewell/set-array': 1.1.2
469 | '@jridgewell/sourcemap-codec': 1.4.15
470 | '@jridgewell/trace-mapping': 0.3.18
471 | dev: true
472 |
473 | /@jridgewell/resolve-uri@3.1.0:
474 | resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
475 | engines: {node: '>=6.0.0'}
476 | dev: true
477 |
478 | /@jridgewell/set-array@1.1.2:
479 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
480 | engines: {node: '>=6.0.0'}
481 | dev: true
482 |
483 | /@jridgewell/sourcemap-codec@1.4.14:
484 | resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
485 | dev: true
486 |
487 | /@jridgewell/sourcemap-codec@1.4.15:
488 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
489 | dev: true
490 |
491 | /@jridgewell/trace-mapping@0.3.18:
492 | resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==}
493 | dependencies:
494 | '@jridgewell/resolve-uri': 3.1.0
495 | '@jridgewell/sourcemap-codec': 1.4.14
496 | dev: true
497 |
498 | /@nodelib/fs.scandir@2.1.5:
499 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
500 | engines: {node: '>= 8'}
501 | dependencies:
502 | '@nodelib/fs.stat': 2.0.5
503 | run-parallel: 1.2.0
504 | dev: true
505 |
506 | /@nodelib/fs.stat@2.0.5:
507 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
508 | engines: {node: '>= 8'}
509 | dev: true
510 |
511 | /@nodelib/fs.walk@1.2.8:
512 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
513 | engines: {node: '>= 8'}
514 | dependencies:
515 | '@nodelib/fs.scandir': 2.1.5
516 | fastq: 1.15.0
517 | dev: true
518 |
519 | /@polka/url@1.0.0-next.21:
520 | resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==}
521 | dev: true
522 |
523 | /@sveltejs/adapter-static@2.0.2(@sveltejs/kit@1.20.4):
524 | resolution: {integrity: sha512-9wYtf6s6ew7DHUHMrt55YpD1FgV7oWql2IGsW5BXquLxqcY9vjrqCFo0TzzDpo+ZPZkW/v77k0eOP6tsAb8HmQ==}
525 | peerDependencies:
526 | '@sveltejs/kit': ^1.5.0
527 | dependencies:
528 | '@sveltejs/kit': 1.20.4(svelte@4.0.0)(vite@4.3.9)
529 | dev: true
530 |
531 | /@sveltejs/kit@1.20.4(svelte@4.0.0)(vite@4.3.9):
532 | resolution: {integrity: sha512-MmAzIuMrP7A+8fqDVbxm6ekGHRHL/+Fk8sQPAzPG4G2TxUDtHdn/WcIxeEqHzARMf0OtGSC+VPyOSFuw2Cy2Mg==}
533 | engines: {node: ^16.14 || >=18}
534 | hasBin: true
535 | requiresBuild: true
536 | peerDependencies:
537 | svelte: ^3.54.0 || ^4.0.0-next.0
538 | vite: ^4.0.0
539 | dependencies:
540 | '@sveltejs/vite-plugin-svelte': 2.4.1(svelte@4.0.0)(vite@4.3.9)
541 | '@types/cookie': 0.5.1
542 | cookie: 0.5.0
543 | devalue: 4.3.2
544 | esm-env: 1.0.0
545 | kleur: 4.1.5
546 | magic-string: 0.30.0
547 | mime: 3.0.0
548 | sade: 1.8.1
549 | set-cookie-parser: 2.6.0
550 | sirv: 2.0.3
551 | svelte: 4.0.0
552 | undici: 5.22.1
553 | vite: 4.3.9
554 | transitivePeerDependencies:
555 | - supports-color
556 | dev: true
557 |
558 | /@sveltejs/vite-plugin-svelte-inspector@1.0.2(@sveltejs/vite-plugin-svelte@2.4.1)(svelte@4.0.0)(vite@4.3.9):
559 | resolution: {integrity: sha512-Cy1dUMcYCnDVV/hPLXa43YZJ2jGKVW5rA0xuNL9dlmYhT0yoS1g7+FOFSRlgk0BXKk/Oc7grs+8BVA5Iz2fr8A==}
560 | engines: {node: ^14.18.0 || >= 16}
561 | peerDependencies:
562 | '@sveltejs/vite-plugin-svelte': ^2.2.0
563 | svelte: ^3.54.0 || ^4.0.0-next.0
564 | vite: ^4.0.0
565 | dependencies:
566 | '@sveltejs/vite-plugin-svelte': 2.4.1(svelte@4.0.0)(vite@4.3.9)
567 | debug: 4.3.4
568 | svelte: 4.0.0
569 | vite: 4.3.9
570 | transitivePeerDependencies:
571 | - supports-color
572 | dev: true
573 |
574 | /@sveltejs/vite-plugin-svelte@2.4.1(svelte@4.0.0)(vite@4.3.9):
575 | resolution: {integrity: sha512-bNNKvoRY89ptY7udeBSCmTdCVwkjmMcZ0j/z9J5MuedT8jPjq0zrknAo/jF1sToAza4NVaAgR9AkZoD9oJJmnA==}
576 | engines: {node: ^14.18.0 || >= 16}
577 | peerDependencies:
578 | svelte: ^3.54.0 || ^4.0.0-next.0
579 | vite: ^4.0.0
580 | dependencies:
581 | '@sveltejs/vite-plugin-svelte-inspector': 1.0.2(@sveltejs/vite-plugin-svelte@2.4.1)(svelte@4.0.0)(vite@4.3.9)
582 | debug: 4.3.4
583 | deepmerge: 4.3.1
584 | kleur: 4.1.5
585 | magic-string: 0.30.0
586 | svelte: 4.0.0
587 | svelte-hmr: 0.15.2(svelte@4.0.0)
588 | vite: 4.3.9
589 | vitefu: 0.2.4(vite@4.3.9)
590 | transitivePeerDependencies:
591 | - supports-color
592 | dev: true
593 |
594 | /@types/cookie@0.5.1:
595 | resolution: {integrity: sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==}
596 | dev: true
597 |
598 | /@types/estree@1.0.1:
599 | resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==}
600 | dev: true
601 |
602 | /@types/pug@2.0.6:
603 | resolution: {integrity: sha512-SnHmG9wN1UVmagJOnyo/qkk0Z7gejYxOYYmaAwr5u2yFYfsupN3sg10kyzN8Hep/2zbHxCnsumxOoRIRMBwKCg==}
604 | dev: true
605 |
606 | /acorn@8.9.0:
607 | resolution: {integrity: sha512-jaVNAFBHNLXspO543WnNNPZFRtavh3skAkITqD0/2aeMkKZTN+254PyhwxFYrk3vQ1xfY+2wbesJMs/JC8/PwQ==}
608 | engines: {node: '>=0.4.0'}
609 | hasBin: true
610 | dev: true
611 |
612 | /any-promise@1.3.0:
613 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
614 | dev: true
615 |
616 | /anymatch@3.1.3:
617 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
618 | engines: {node: '>= 8'}
619 | dependencies:
620 | normalize-path: 3.0.0
621 | picomatch: 2.3.1
622 | dev: true
623 |
624 | /arg@5.0.2:
625 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
626 | dev: true
627 |
628 | /aria-query@5.2.1:
629 | resolution: {integrity: sha512-7uFg4b+lETFgdaJyETnILsXgnnzVnkHcgRbwbPwevm5x/LmUlt3MjczMRe1zg824iBgXZNRPTBftNYyRSKLp2g==}
630 | dependencies:
631 | dequal: 2.0.3
632 | dev: true
633 |
634 | /array-union@2.1.0:
635 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
636 | engines: {node: '>=8'}
637 | dev: true
638 |
639 | /autoprefixer@10.4.14(postcss@8.4.24):
640 | resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==}
641 | engines: {node: ^10 || ^12 || >=14}
642 | hasBin: true
643 | peerDependencies:
644 | postcss: ^8.1.0
645 | dependencies:
646 | browserslist: 4.21.9
647 | caniuse-lite: 1.0.30001506
648 | fraction.js: 4.2.0
649 | normalize-range: 0.1.2
650 | picocolors: 1.0.0
651 | postcss: 8.4.24
652 | postcss-value-parser: 4.2.0
653 | dev: true
654 |
655 | /axobject-query@3.2.1:
656 | resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==}
657 | dependencies:
658 | dequal: 2.0.3
659 | dev: true
660 |
661 | /balanced-match@1.0.2:
662 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
663 | dev: true
664 |
665 | /binary-extensions@2.2.0:
666 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
667 | engines: {node: '>=8'}
668 | dev: true
669 |
670 | /brace-expansion@1.1.11:
671 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
672 | dependencies:
673 | balanced-match: 1.0.2
674 | concat-map: 0.0.1
675 | dev: true
676 |
677 | /brace-expansion@2.0.1:
678 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
679 | dependencies:
680 | balanced-match: 1.0.2
681 | dev: true
682 |
683 | /braces@3.0.2:
684 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
685 | engines: {node: '>=8'}
686 | dependencies:
687 | fill-range: 7.0.1
688 | dev: true
689 |
690 | /browserslist@4.21.9:
691 | resolution: {integrity: sha512-M0MFoZzbUrRU4KNfCrDLnvyE7gub+peetoTid3TBIqtunaDJyXlwhakT+/VkvSXcfIzFfK/nkCs4nmyTmxdNSg==}
692 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
693 | hasBin: true
694 | dependencies:
695 | caniuse-lite: 1.0.30001506
696 | electron-to-chromium: 1.4.437
697 | node-releases: 2.0.12
698 | update-browserslist-db: 1.0.11(browserslist@4.21.9)
699 | dev: true
700 |
701 | /buffer-crc32@0.2.13:
702 | resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
703 | dev: true
704 |
705 | /bundle-require@4.0.1(esbuild@0.18.6):
706 | resolution: {integrity: sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==}
707 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
708 | peerDependencies:
709 | esbuild: '>=0.17'
710 | dependencies:
711 | esbuild: 0.18.6
712 | load-tsconfig: 0.2.5
713 | dev: true
714 |
715 | /busboy@1.6.0:
716 | resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==}
717 | engines: {node: '>=10.16.0'}
718 | dependencies:
719 | streamsearch: 1.1.0
720 | dev: true
721 |
722 | /cac@6.7.14:
723 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
724 | engines: {node: '>=8'}
725 | dev: true
726 |
727 | /callsites@3.1.0:
728 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
729 | engines: {node: '>=6'}
730 | dev: true
731 |
732 | /camelcase-css@2.0.1:
733 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
734 | engines: {node: '>= 6'}
735 | dev: true
736 |
737 | /caniuse-lite@1.0.30001506:
738 | resolution: {integrity: sha512-6XNEcpygZMCKaufIcgpQNZNf00GEqc7VQON+9Rd0K1bMYo8xhMZRAo5zpbnbMNizi4YNgIDAFrdykWsvY3H4Hw==}
739 | dev: true
740 |
741 | /chokidar@3.5.3:
742 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
743 | engines: {node: '>= 8.10.0'}
744 | dependencies:
745 | anymatch: 3.1.3
746 | braces: 3.0.2
747 | glob-parent: 5.1.2
748 | is-binary-path: 2.1.0
749 | is-glob: 4.0.3
750 | normalize-path: 3.0.0
751 | readdirp: 3.6.0
752 | optionalDependencies:
753 | fsevents: 2.3.2
754 | dev: true
755 |
756 | /code-red@1.0.3:
757 | resolution: {integrity: sha512-kVwJELqiILQyG5aeuyKFbdsI1fmQy1Cmf7dQ8eGmVuJoaRVdwey7WaMknr2ZFeVSYSKT0rExsa8EGw0aoI/1QQ==}
758 | dependencies:
759 | '@jridgewell/sourcemap-codec': 1.4.15
760 | '@types/estree': 1.0.1
761 | acorn: 8.9.0
762 | estree-walker: 3.0.3
763 | periscopic: 3.1.0
764 | dev: true
765 |
766 | /commander@4.1.1:
767 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
768 | engines: {node: '>= 6'}
769 | dev: true
770 |
771 | /concat-map@0.0.1:
772 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
773 | dev: true
774 |
775 | /cookie@0.5.0:
776 | resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
777 | engines: {node: '>= 0.6'}
778 | dev: true
779 |
780 | /cross-spawn@7.0.3:
781 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
782 | engines: {node: '>= 8'}
783 | dependencies:
784 | path-key: 3.1.1
785 | shebang-command: 2.0.0
786 | which: 2.0.2
787 | dev: true
788 |
789 | /css-tree@2.3.1:
790 | resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==}
791 | engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0}
792 | dependencies:
793 | mdn-data: 2.0.30
794 | source-map-js: 1.0.2
795 | dev: true
796 |
797 | /cssesc@3.0.0:
798 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
799 | engines: {node: '>=4'}
800 | hasBin: true
801 | dev: true
802 |
803 | /debug@4.3.4:
804 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
805 | engines: {node: '>=6.0'}
806 | peerDependencies:
807 | supports-color: '*'
808 | peerDependenciesMeta:
809 | supports-color:
810 | optional: true
811 | dependencies:
812 | ms: 2.1.2
813 | dev: true
814 |
815 | /deepmerge@4.3.1:
816 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
817 | engines: {node: '>=0.10.0'}
818 | dev: true
819 |
820 | /dequal@2.0.3:
821 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
822 | engines: {node: '>=6'}
823 | dev: true
824 |
825 | /detect-indent@6.1.0:
826 | resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
827 | engines: {node: '>=8'}
828 | dev: true
829 |
830 | /devalue@4.3.2:
831 | resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==}
832 | dev: true
833 |
834 | /didyoumean@1.2.2:
835 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
836 | dev: true
837 |
838 | /dir-glob@3.0.1:
839 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
840 | engines: {node: '>=8'}
841 | dependencies:
842 | path-type: 4.0.0
843 | dev: true
844 |
845 | /dlv@1.1.3:
846 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
847 | dev: true
848 |
849 | /electron-to-chromium@1.4.437:
850 | resolution: {integrity: sha512-ZFekRuBOHUXp21wrR5lshT6pZa/KmjkhKBAtmZz4NN5sCWlHOk3kdhiwFINrDBsRLX6FjyBAb1TRN+KBeNlyzQ==}
851 | dev: true
852 |
853 | /es6-promise@3.3.1:
854 | resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==}
855 | dev: true
856 |
857 | /esbuild@0.17.19:
858 | resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==}
859 | engines: {node: '>=12'}
860 | hasBin: true
861 | requiresBuild: true
862 | optionalDependencies:
863 | '@esbuild/android-arm': 0.17.19
864 | '@esbuild/android-arm64': 0.17.19
865 | '@esbuild/android-x64': 0.17.19
866 | '@esbuild/darwin-arm64': 0.17.19
867 | '@esbuild/darwin-x64': 0.17.19
868 | '@esbuild/freebsd-arm64': 0.17.19
869 | '@esbuild/freebsd-x64': 0.17.19
870 | '@esbuild/linux-arm': 0.17.19
871 | '@esbuild/linux-arm64': 0.17.19
872 | '@esbuild/linux-ia32': 0.17.19
873 | '@esbuild/linux-loong64': 0.17.19
874 | '@esbuild/linux-mips64el': 0.17.19
875 | '@esbuild/linux-ppc64': 0.17.19
876 | '@esbuild/linux-riscv64': 0.17.19
877 | '@esbuild/linux-s390x': 0.17.19
878 | '@esbuild/linux-x64': 0.17.19
879 | '@esbuild/netbsd-x64': 0.17.19
880 | '@esbuild/openbsd-x64': 0.17.19
881 | '@esbuild/sunos-x64': 0.17.19
882 | '@esbuild/win32-arm64': 0.17.19
883 | '@esbuild/win32-ia32': 0.17.19
884 | '@esbuild/win32-x64': 0.17.19
885 | dev: true
886 |
887 | /esbuild@0.18.6:
888 | resolution: {integrity: sha512-5QgxWaAhU/tPBpvkxUmnFv2YINHuZzjbk0LeUUnC2i3aJHjfi5yR49lgKgF7cb98bclOp/kans8M5TGbGFfJlQ==}
889 | engines: {node: '>=12'}
890 | hasBin: true
891 | requiresBuild: true
892 | optionalDependencies:
893 | '@esbuild/android-arm': 0.18.6
894 | '@esbuild/android-arm64': 0.18.6
895 | '@esbuild/android-x64': 0.18.6
896 | '@esbuild/darwin-arm64': 0.18.6
897 | '@esbuild/darwin-x64': 0.18.6
898 | '@esbuild/freebsd-arm64': 0.18.6
899 | '@esbuild/freebsd-x64': 0.18.6
900 | '@esbuild/linux-arm': 0.18.6
901 | '@esbuild/linux-arm64': 0.18.6
902 | '@esbuild/linux-ia32': 0.18.6
903 | '@esbuild/linux-loong64': 0.18.6
904 | '@esbuild/linux-mips64el': 0.18.6
905 | '@esbuild/linux-ppc64': 0.18.6
906 | '@esbuild/linux-riscv64': 0.18.6
907 | '@esbuild/linux-s390x': 0.18.6
908 | '@esbuild/linux-x64': 0.18.6
909 | '@esbuild/netbsd-x64': 0.18.6
910 | '@esbuild/openbsd-x64': 0.18.6
911 | '@esbuild/sunos-x64': 0.18.6
912 | '@esbuild/win32-arm64': 0.18.6
913 | '@esbuild/win32-ia32': 0.18.6
914 | '@esbuild/win32-x64': 0.18.6
915 | dev: true
916 |
917 | /escalade@3.1.1:
918 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
919 | engines: {node: '>=6'}
920 | dev: true
921 |
922 | /esm-env@1.0.0:
923 | resolution: {integrity: sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==}
924 | dev: true
925 |
926 | /estree-walker@3.0.3:
927 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
928 | dependencies:
929 | '@types/estree': 1.0.1
930 | dev: true
931 |
932 | /execa@5.1.1:
933 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
934 | engines: {node: '>=10'}
935 | dependencies:
936 | cross-spawn: 7.0.3
937 | get-stream: 6.0.1
938 | human-signals: 2.1.0
939 | is-stream: 2.0.1
940 | merge-stream: 2.0.0
941 | npm-run-path: 4.0.1
942 | onetime: 5.1.2
943 | signal-exit: 3.0.7
944 | strip-final-newline: 2.0.0
945 | dev: true
946 |
947 | /fast-glob@3.2.12:
948 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==}
949 | engines: {node: '>=8.6.0'}
950 | dependencies:
951 | '@nodelib/fs.stat': 2.0.5
952 | '@nodelib/fs.walk': 1.2.8
953 | glob-parent: 5.1.2
954 | merge2: 1.4.1
955 | micromatch: 4.0.5
956 | dev: true
957 |
958 | /fastq@1.15.0:
959 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
960 | dependencies:
961 | reusify: 1.0.4
962 | dev: true
963 |
964 | /fill-range@7.0.1:
965 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
966 | engines: {node: '>=8'}
967 | dependencies:
968 | to-regex-range: 5.0.1
969 | dev: true
970 |
971 | /fraction.js@4.2.0:
972 | resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==}
973 | dev: true
974 |
975 | /fs.realpath@1.0.0:
976 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
977 | dev: true
978 |
979 | /fsevents@2.3.2:
980 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
981 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
982 | os: [darwin]
983 | requiresBuild: true
984 | dev: true
985 | optional: true
986 |
987 | /function-bind@1.1.1:
988 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
989 | dev: true
990 |
991 | /get-stream@6.0.1:
992 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
993 | engines: {node: '>=10'}
994 | dev: true
995 |
996 | /glob-parent@5.1.2:
997 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
998 | engines: {node: '>= 6'}
999 | dependencies:
1000 | is-glob: 4.0.3
1001 | dev: true
1002 |
1003 | /glob-parent@6.0.2:
1004 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1005 | engines: {node: '>=10.13.0'}
1006 | dependencies:
1007 | is-glob: 4.0.3
1008 | dev: true
1009 |
1010 | /glob@7.1.6:
1011 | resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
1012 | dependencies:
1013 | fs.realpath: 1.0.0
1014 | inflight: 1.0.6
1015 | inherits: 2.0.4
1016 | minimatch: 3.1.2
1017 | once: 1.4.0
1018 | path-is-absolute: 1.0.1
1019 | dev: true
1020 |
1021 | /glob@7.2.3:
1022 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
1023 | dependencies:
1024 | fs.realpath: 1.0.0
1025 | inflight: 1.0.6
1026 | inherits: 2.0.4
1027 | minimatch: 3.1.2
1028 | once: 1.4.0
1029 | path-is-absolute: 1.0.1
1030 | dev: true
1031 |
1032 | /glob@8.1.0:
1033 | resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==}
1034 | engines: {node: '>=12'}
1035 | dependencies:
1036 | fs.realpath: 1.0.0
1037 | inflight: 1.0.6
1038 | inherits: 2.0.4
1039 | minimatch: 5.1.6
1040 | once: 1.4.0
1041 | dev: true
1042 |
1043 | /globby@11.1.0:
1044 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
1045 | engines: {node: '>=10'}
1046 | dependencies:
1047 | array-union: 2.1.0
1048 | dir-glob: 3.0.1
1049 | fast-glob: 3.2.12
1050 | ignore: 5.2.4
1051 | merge2: 1.4.1
1052 | slash: 3.0.0
1053 | dev: true
1054 |
1055 | /graceful-fs@4.2.11:
1056 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
1057 | dev: true
1058 |
1059 | /has@1.0.3:
1060 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
1061 | engines: {node: '>= 0.4.0'}
1062 | dependencies:
1063 | function-bind: 1.1.1
1064 | dev: true
1065 |
1066 | /human-signals@2.1.0:
1067 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
1068 | engines: {node: '>=10.17.0'}
1069 | dev: true
1070 |
1071 | /ignore-walk@5.0.1:
1072 | resolution: {integrity: sha512-yemi4pMf51WKT7khInJqAvsIGzoqYXblnsz0ql8tM+yi1EKYTY1evX4NAbJrLL/Aanr2HyZeluqU+Oi7MGHokw==}
1073 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
1074 | dependencies:
1075 | minimatch: 5.1.6
1076 | dev: true
1077 |
1078 | /ignore@5.2.4:
1079 | resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==}
1080 | engines: {node: '>= 4'}
1081 | dev: true
1082 |
1083 | /import-fresh@3.3.0:
1084 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
1085 | engines: {node: '>=6'}
1086 | dependencies:
1087 | parent-module: 1.0.1
1088 | resolve-from: 4.0.0
1089 | dev: true
1090 |
1091 | /inflight@1.0.6:
1092 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
1093 | dependencies:
1094 | once: 1.4.0
1095 | wrappy: 1.0.2
1096 | dev: true
1097 |
1098 | /inherits@2.0.4:
1099 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1100 | dev: true
1101 |
1102 | /is-binary-path@2.1.0:
1103 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
1104 | engines: {node: '>=8'}
1105 | dependencies:
1106 | binary-extensions: 2.2.0
1107 | dev: true
1108 |
1109 | /is-core-module@2.12.1:
1110 | resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==}
1111 | dependencies:
1112 | has: 1.0.3
1113 | dev: true
1114 |
1115 | /is-extglob@2.1.1:
1116 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1117 | engines: {node: '>=0.10.0'}
1118 | dev: true
1119 |
1120 | /is-glob@4.0.3:
1121 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1122 | engines: {node: '>=0.10.0'}
1123 | dependencies:
1124 | is-extglob: 2.1.1
1125 | dev: true
1126 |
1127 | /is-number@7.0.0:
1128 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1129 | engines: {node: '>=0.12.0'}
1130 | dev: true
1131 |
1132 | /is-reference@3.0.1:
1133 | resolution: {integrity: sha512-baJJdQLiYaJdvFbJqXrcGv3WU3QCzBlUcI5QhbesIm6/xPsvmO+2CDoi/GMOFBQEQm+PXkwOPrp9KK5ozZsp2w==}
1134 | dependencies:
1135 | '@types/estree': 1.0.1
1136 | dev: true
1137 |
1138 | /is-stream@2.0.1:
1139 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
1140 | engines: {node: '>=8'}
1141 | dev: true
1142 |
1143 | /isexe@2.0.0:
1144 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1145 | dev: true
1146 |
1147 | /jiti@1.18.2:
1148 | resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==}
1149 | hasBin: true
1150 | dev: true
1151 |
1152 | /joycon@3.1.1:
1153 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
1154 | engines: {node: '>=10'}
1155 | dev: true
1156 |
1157 | /kleur@4.1.5:
1158 | resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
1159 | engines: {node: '>=6'}
1160 | dev: true
1161 |
1162 | /lilconfig@2.1.0:
1163 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
1164 | engines: {node: '>=10'}
1165 | dev: true
1166 |
1167 | /lines-and-columns@1.2.4:
1168 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
1169 | dev: true
1170 |
1171 | /load-tsconfig@0.2.5:
1172 | resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==}
1173 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
1174 | dev: true
1175 |
1176 | /locate-character@3.0.0:
1177 | resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==}
1178 | dev: true
1179 |
1180 | /lodash.sortby@4.7.0:
1181 | resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
1182 | dev: true
1183 |
1184 | /magic-string@0.27.0:
1185 | resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==}
1186 | engines: {node: '>=12'}
1187 | dependencies:
1188 | '@jridgewell/sourcemap-codec': 1.4.15
1189 | dev: true
1190 |
1191 | /magic-string@0.30.0:
1192 | resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==}
1193 | engines: {node: '>=12'}
1194 | dependencies:
1195 | '@jridgewell/sourcemap-codec': 1.4.15
1196 | dev: true
1197 |
1198 | /mdn-data@2.0.30:
1199 | resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==}
1200 | dev: true
1201 |
1202 | /merge-stream@2.0.0:
1203 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
1204 | dev: true
1205 |
1206 | /merge2@1.4.1:
1207 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1208 | engines: {node: '>= 8'}
1209 | dev: true
1210 |
1211 | /micromatch@4.0.5:
1212 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
1213 | engines: {node: '>=8.6'}
1214 | dependencies:
1215 | braces: 3.0.2
1216 | picomatch: 2.3.1
1217 | dev: true
1218 |
1219 | /mime@3.0.0:
1220 | resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==}
1221 | engines: {node: '>=10.0.0'}
1222 | hasBin: true
1223 | dev: true
1224 |
1225 | /mimic-fn@2.1.0:
1226 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
1227 | engines: {node: '>=6'}
1228 | dev: true
1229 |
1230 | /min-indent@1.0.1:
1231 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
1232 | engines: {node: '>=4'}
1233 | dev: true
1234 |
1235 | /minimatch@3.1.2:
1236 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1237 | dependencies:
1238 | brace-expansion: 1.1.11
1239 | dev: true
1240 |
1241 | /minimatch@5.1.6:
1242 | resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
1243 | engines: {node: '>=10'}
1244 | dependencies:
1245 | brace-expansion: 2.0.1
1246 | dev: true
1247 |
1248 | /minimist@1.2.8:
1249 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
1250 | dev: true
1251 |
1252 | /mkdirp@0.5.6:
1253 | resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
1254 | hasBin: true
1255 | dependencies:
1256 | minimist: 1.2.8
1257 | dev: true
1258 |
1259 | /mri@1.2.0:
1260 | resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
1261 | engines: {node: '>=4'}
1262 | dev: true
1263 |
1264 | /mrmime@1.0.1:
1265 | resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==}
1266 | engines: {node: '>=10'}
1267 | dev: true
1268 |
1269 | /ms@2.1.2:
1270 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1271 | dev: true
1272 |
1273 | /mz@2.7.0:
1274 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
1275 | dependencies:
1276 | any-promise: 1.3.0
1277 | object-assign: 4.1.1
1278 | thenify-all: 1.6.0
1279 | dev: true
1280 |
1281 | /nanoid@3.3.6:
1282 | resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
1283 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1284 | hasBin: true
1285 | dev: true
1286 |
1287 | /node-releases@2.0.12:
1288 | resolution: {integrity: sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==}
1289 | dev: true
1290 |
1291 | /normalize-path@3.0.0:
1292 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
1293 | engines: {node: '>=0.10.0'}
1294 | dev: true
1295 |
1296 | /normalize-range@0.1.2:
1297 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
1298 | engines: {node: '>=0.10.0'}
1299 | dev: true
1300 |
1301 | /npm-bundled@2.0.1:
1302 | resolution: {integrity: sha512-gZLxXdjEzE/+mOstGDqR6b0EkhJ+kM6fxM6vUuckuctuVPh80Q6pw/rSZj9s4Gex9GxWtIicO1pc8DB9KZWudw==}
1303 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
1304 | dependencies:
1305 | npm-normalize-package-bin: 2.0.0
1306 | dev: true
1307 |
1308 | /npm-normalize-package-bin@2.0.0:
1309 | resolution: {integrity: sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==}
1310 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
1311 | dev: true
1312 |
1313 | /npm-packlist@5.1.3:
1314 | resolution: {integrity: sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==}
1315 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
1316 | hasBin: true
1317 | dependencies:
1318 | glob: 8.1.0
1319 | ignore-walk: 5.0.1
1320 | npm-bundled: 2.0.1
1321 | npm-normalize-package-bin: 2.0.0
1322 | dev: true
1323 |
1324 | /npm-run-path@4.0.1:
1325 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
1326 | engines: {node: '>=8'}
1327 | dependencies:
1328 | path-key: 3.1.1
1329 | dev: true
1330 |
1331 | /object-assign@4.1.1:
1332 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
1333 | engines: {node: '>=0.10.0'}
1334 | dev: true
1335 |
1336 | /object-hash@3.0.0:
1337 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
1338 | engines: {node: '>= 6'}
1339 | dev: true
1340 |
1341 | /once@1.4.0:
1342 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
1343 | dependencies:
1344 | wrappy: 1.0.2
1345 | dev: true
1346 |
1347 | /onetime@5.1.2:
1348 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
1349 | engines: {node: '>=6'}
1350 | dependencies:
1351 | mimic-fn: 2.1.0
1352 | dev: true
1353 |
1354 | /parent-module@1.0.1:
1355 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1356 | engines: {node: '>=6'}
1357 | dependencies:
1358 | callsites: 3.1.0
1359 | dev: true
1360 |
1361 | /path-is-absolute@1.0.1:
1362 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
1363 | engines: {node: '>=0.10.0'}
1364 | dev: true
1365 |
1366 | /path-key@3.1.1:
1367 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1368 | engines: {node: '>=8'}
1369 | dev: true
1370 |
1371 | /path-parse@1.0.7:
1372 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1373 | dev: true
1374 |
1375 | /path-type@4.0.0:
1376 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
1377 | engines: {node: '>=8'}
1378 | dev: true
1379 |
1380 | /perfect-freehand@1.2.0:
1381 | resolution: {integrity: sha512-h/0ikF1M3phW7CwpZ5MMvKnfpHficWoOEyr//KVNTxV4F6deRK1eYMtHyBKEAKFK0aXIEUK9oBvlF6PNXMDsAw==}
1382 | dev: false
1383 |
1384 | /periscopic@3.1.0:
1385 | resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==}
1386 | dependencies:
1387 | '@types/estree': 1.0.1
1388 | estree-walker: 3.0.3
1389 | is-reference: 3.0.1
1390 | dev: true
1391 |
1392 | /picocolors@1.0.0:
1393 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
1394 | dev: true
1395 |
1396 | /picomatch@2.3.1:
1397 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1398 | engines: {node: '>=8.6'}
1399 | dev: true
1400 |
1401 | /pify@2.3.0:
1402 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
1403 | engines: {node: '>=0.10.0'}
1404 | dev: true
1405 |
1406 | /pirates@4.0.6:
1407 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
1408 | engines: {node: '>= 6'}
1409 | dev: true
1410 |
1411 | /postcss-import@15.1.0(postcss@8.4.24):
1412 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
1413 | engines: {node: '>=14.0.0'}
1414 | peerDependencies:
1415 | postcss: ^8.0.0
1416 | dependencies:
1417 | postcss: 8.4.24
1418 | postcss-value-parser: 4.2.0
1419 | read-cache: 1.0.0
1420 | resolve: 1.22.2
1421 | dev: true
1422 |
1423 | /postcss-js@4.0.1(postcss@8.4.24):
1424 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
1425 | engines: {node: ^12 || ^14 || >= 16}
1426 | peerDependencies:
1427 | postcss: ^8.4.21
1428 | dependencies:
1429 | camelcase-css: 2.0.1
1430 | postcss: 8.4.24
1431 | dev: true
1432 |
1433 | /postcss-load-config@4.0.1(postcss@8.4.24):
1434 | resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==}
1435 | engines: {node: '>= 14'}
1436 | peerDependencies:
1437 | postcss: '>=8.0.9'
1438 | ts-node: '>=9.0.0'
1439 | peerDependenciesMeta:
1440 | postcss:
1441 | optional: true
1442 | ts-node:
1443 | optional: true
1444 | dependencies:
1445 | lilconfig: 2.1.0
1446 | postcss: 8.4.24
1447 | yaml: 2.3.1
1448 | dev: true
1449 |
1450 | /postcss-nested@6.0.1(postcss@8.4.24):
1451 | resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
1452 | engines: {node: '>=12.0'}
1453 | peerDependencies:
1454 | postcss: ^8.2.14
1455 | dependencies:
1456 | postcss: 8.4.24
1457 | postcss-selector-parser: 6.0.13
1458 | dev: true
1459 |
1460 | /postcss-selector-parser@6.0.13:
1461 | resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
1462 | engines: {node: '>=4'}
1463 | dependencies:
1464 | cssesc: 3.0.0
1465 | util-deprecate: 1.0.2
1466 | dev: true
1467 |
1468 | /postcss-value-parser@4.2.0:
1469 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
1470 | dev: true
1471 |
1472 | /postcss@8.4.24:
1473 | resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==}
1474 | engines: {node: ^10 || ^12 || >=14}
1475 | dependencies:
1476 | nanoid: 3.3.6
1477 | picocolors: 1.0.0
1478 | source-map-js: 1.0.2
1479 | dev: true
1480 |
1481 | /publint@0.1.12:
1482 | resolution: {integrity: sha512-8LxkO430t/SOhUl0qXQWdXq34m6oyLcPhE4Kc8eXhOEnB82vCHcShPQ2kH53n/ksC7jWdRWDP7MPGxKJbntQfg==}
1483 | engines: {node: '>=16'}
1484 | hasBin: true
1485 | dependencies:
1486 | npm-packlist: 5.1.3
1487 | picocolors: 1.0.0
1488 | sade: 1.8.1
1489 | dev: true
1490 |
1491 | /punycode@2.3.0:
1492 | resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==}
1493 | engines: {node: '>=6'}
1494 | dev: true
1495 |
1496 | /queue-microtask@1.2.3:
1497 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1498 | dev: true
1499 |
1500 | /read-cache@1.0.0:
1501 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
1502 | dependencies:
1503 | pify: 2.3.0
1504 | dev: true
1505 |
1506 | /readdirp@3.6.0:
1507 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
1508 | engines: {node: '>=8.10.0'}
1509 | dependencies:
1510 | picomatch: 2.3.1
1511 | dev: true
1512 |
1513 | /resolve-from@4.0.0:
1514 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
1515 | engines: {node: '>=4'}
1516 | dev: true
1517 |
1518 | /resolve-from@5.0.0:
1519 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
1520 | engines: {node: '>=8'}
1521 | dev: true
1522 |
1523 | /resolve@1.22.2:
1524 | resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==}
1525 | hasBin: true
1526 | dependencies:
1527 | is-core-module: 2.12.1
1528 | path-parse: 1.0.7
1529 | supports-preserve-symlinks-flag: 1.0.0
1530 | dev: true
1531 |
1532 | /reusify@1.0.4:
1533 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1534 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1535 | dev: true
1536 |
1537 | /rimraf@2.7.1:
1538 | resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==}
1539 | hasBin: true
1540 | dependencies:
1541 | glob: 7.2.3
1542 | dev: true
1543 |
1544 | /rollup@3.25.1:
1545 | resolution: {integrity: sha512-tywOR+rwIt5m2ZAWSe5AIJcTat8vGlnPFAv15ycCrw33t6iFsXZ6mzHVFh2psSjxQPmI+xgzMZZizUAukBI4aQ==}
1546 | engines: {node: '>=14.18.0', npm: '>=8.0.0'}
1547 | hasBin: true
1548 | optionalDependencies:
1549 | fsevents: 2.3.2
1550 | dev: true
1551 |
1552 | /run-parallel@1.2.0:
1553 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1554 | dependencies:
1555 | queue-microtask: 1.2.3
1556 | dev: true
1557 |
1558 | /sade@1.8.1:
1559 | resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
1560 | engines: {node: '>=6'}
1561 | dependencies:
1562 | mri: 1.2.0
1563 | dev: true
1564 |
1565 | /sander@0.5.1:
1566 | resolution: {integrity: sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==}
1567 | dependencies:
1568 | es6-promise: 3.3.1
1569 | graceful-fs: 4.2.11
1570 | mkdirp: 0.5.6
1571 | rimraf: 2.7.1
1572 | dev: true
1573 |
1574 | /set-cookie-parser@2.6.0:
1575 | resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==}
1576 | dev: true
1577 |
1578 | /shebang-command@2.0.0:
1579 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
1580 | engines: {node: '>=8'}
1581 | dependencies:
1582 | shebang-regex: 3.0.0
1583 | dev: true
1584 |
1585 | /shebang-regex@3.0.0:
1586 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1587 | engines: {node: '>=8'}
1588 | dev: true
1589 |
1590 | /signal-exit@3.0.7:
1591 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
1592 | dev: true
1593 |
1594 | /sirv@2.0.3:
1595 | resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==}
1596 | engines: {node: '>= 10'}
1597 | dependencies:
1598 | '@polka/url': 1.0.0-next.21
1599 | mrmime: 1.0.1
1600 | totalist: 3.0.1
1601 | dev: true
1602 |
1603 | /slash@3.0.0:
1604 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
1605 | engines: {node: '>=8'}
1606 | dev: true
1607 |
1608 | /sorcery@0.11.0:
1609 | resolution: {integrity: sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==}
1610 | hasBin: true
1611 | dependencies:
1612 | '@jridgewell/sourcemap-codec': 1.4.15
1613 | buffer-crc32: 0.2.13
1614 | minimist: 1.2.8
1615 | sander: 0.5.1
1616 | dev: true
1617 |
1618 | /source-map-js@1.0.2:
1619 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
1620 | engines: {node: '>=0.10.0'}
1621 | dev: true
1622 |
1623 | /source-map@0.8.0-beta.0:
1624 | resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
1625 | engines: {node: '>= 8'}
1626 | dependencies:
1627 | whatwg-url: 7.1.0
1628 | dev: true
1629 |
1630 | /streamsearch@1.1.0:
1631 | resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==}
1632 | engines: {node: '>=10.0.0'}
1633 | dev: true
1634 |
1635 | /strip-final-newline@2.0.0:
1636 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
1637 | engines: {node: '>=6'}
1638 | dev: true
1639 |
1640 | /strip-indent@3.0.0:
1641 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
1642 | engines: {node: '>=8'}
1643 | dependencies:
1644 | min-indent: 1.0.1
1645 | dev: true
1646 |
1647 | /sucrase@3.32.0:
1648 | resolution: {integrity: sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==}
1649 | engines: {node: '>=8'}
1650 | hasBin: true
1651 | dependencies:
1652 | '@jridgewell/gen-mapping': 0.3.3
1653 | commander: 4.1.1
1654 | glob: 7.1.6
1655 | lines-and-columns: 1.2.4
1656 | mz: 2.7.0
1657 | pirates: 4.0.6
1658 | ts-interface-checker: 0.1.13
1659 | dev: true
1660 |
1661 | /supports-preserve-symlinks-flag@1.0.0:
1662 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1663 | engines: {node: '>= 0.4'}
1664 | dev: true
1665 |
1666 | /svelte-check@3.4.4(postcss-load-config@4.0.1)(postcss@8.4.24)(svelte@4.0.0):
1667 | resolution: {integrity: sha512-Uys9+R65cj8TmP8f5UpS7B2xKpNLYNxEWJsA5ZoKcWq/uwvABFF7xS6iPQGLoa7hxz0DS6xU60YFpmq06E4JxA==}
1668 | hasBin: true
1669 | peerDependencies:
1670 | svelte: ^3.55.0 || ^4.0.0-next.0 || ^4.0.0
1671 | dependencies:
1672 | '@jridgewell/trace-mapping': 0.3.18
1673 | chokidar: 3.5.3
1674 | fast-glob: 3.2.12
1675 | import-fresh: 3.3.0
1676 | picocolors: 1.0.0
1677 | sade: 1.8.1
1678 | svelte: 4.0.0
1679 | svelte-preprocess: 5.0.4(postcss-load-config@4.0.1)(postcss@8.4.24)(svelte@4.0.0)(typescript@5.1.3)
1680 | typescript: 5.1.3
1681 | transitivePeerDependencies:
1682 | - '@babel/core'
1683 | - coffeescript
1684 | - less
1685 | - postcss
1686 | - postcss-load-config
1687 | - pug
1688 | - sass
1689 | - stylus
1690 | - sugarss
1691 | dev: true
1692 |
1693 | /svelte-hmr@0.15.2(svelte@4.0.0):
1694 | resolution: {integrity: sha512-q/bAruCvFLwvNbeE1x3n37TYFb3mTBJ6TrCq6p2CoFbSTNhDE9oAtEfpy+wmc9So8AG0Tja+X0/mJzX9tSfvIg==}
1695 | engines: {node: ^12.20 || ^14.13.1 || >= 16}
1696 | peerDependencies:
1697 | svelte: ^3.19.0 || ^4.0.0-next.0
1698 | dependencies:
1699 | svelte: 4.0.0
1700 | dev: true
1701 |
1702 | /svelte-preprocess@5.0.4(postcss-load-config@4.0.1)(postcss@8.4.24)(svelte@4.0.0)(typescript@5.1.3):
1703 | resolution: {integrity: sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==}
1704 | engines: {node: '>= 14.10.0'}
1705 | requiresBuild: true
1706 | peerDependencies:
1707 | '@babel/core': ^7.10.2
1708 | coffeescript: ^2.5.1
1709 | less: ^3.11.3 || ^4.0.0
1710 | postcss: ^7 || ^8
1711 | postcss-load-config: ^2.1.0 || ^3.0.0 || ^4.0.0
1712 | pug: ^3.0.0
1713 | sass: ^1.26.8
1714 | stylus: ^0.55.0
1715 | sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0
1716 | svelte: ^3.23.0 || ^4.0.0-next.0 || ^4.0.0
1717 | typescript: '>=3.9.5 || ^4.0.0 || ^5.0.0'
1718 | peerDependenciesMeta:
1719 | '@babel/core':
1720 | optional: true
1721 | coffeescript:
1722 | optional: true
1723 | less:
1724 | optional: true
1725 | postcss:
1726 | optional: true
1727 | postcss-load-config:
1728 | optional: true
1729 | pug:
1730 | optional: true
1731 | sass:
1732 | optional: true
1733 | stylus:
1734 | optional: true
1735 | sugarss:
1736 | optional: true
1737 | typescript:
1738 | optional: true
1739 | dependencies:
1740 | '@types/pug': 2.0.6
1741 | detect-indent: 6.1.0
1742 | magic-string: 0.27.0
1743 | postcss: 8.4.24
1744 | postcss-load-config: 4.0.1(postcss@8.4.24)
1745 | sorcery: 0.11.0
1746 | strip-indent: 3.0.0
1747 | svelte: 4.0.0
1748 | typescript: 5.1.3
1749 | dev: true
1750 |
1751 | /svelte@4.0.0:
1752 | resolution: {integrity: sha512-+yCYu3AEUu9n91dnQNGIbnVp8EmNQtuF/YImW4+FTXRHard7NMo+yTsWzggPAbj3fUEJ1FBJLkql/jkp6YB5pg==}
1753 | engines: {node: '>=16'}
1754 | dependencies:
1755 | '@ampproject/remapping': 2.2.1
1756 | '@jridgewell/sourcemap-codec': 1.4.15
1757 | '@jridgewell/trace-mapping': 0.3.18
1758 | acorn: 8.9.0
1759 | aria-query: 5.2.1
1760 | axobject-query: 3.2.1
1761 | code-red: 1.0.3
1762 | css-tree: 2.3.1
1763 | estree-walker: 3.0.3
1764 | is-reference: 3.0.1
1765 | locate-character: 3.0.0
1766 | magic-string: 0.30.0
1767 | periscopic: 3.1.0
1768 | dev: true
1769 |
1770 | /tailwindcss@3.3.2:
1771 | resolution: {integrity: sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w==}
1772 | engines: {node: '>=14.0.0'}
1773 | hasBin: true
1774 | dependencies:
1775 | '@alloc/quick-lru': 5.2.0
1776 | arg: 5.0.2
1777 | chokidar: 3.5.3
1778 | didyoumean: 1.2.2
1779 | dlv: 1.1.3
1780 | fast-glob: 3.2.12
1781 | glob-parent: 6.0.2
1782 | is-glob: 4.0.3
1783 | jiti: 1.18.2
1784 | lilconfig: 2.1.0
1785 | micromatch: 4.0.5
1786 | normalize-path: 3.0.0
1787 | object-hash: 3.0.0
1788 | picocolors: 1.0.0
1789 | postcss: 8.4.24
1790 | postcss-import: 15.1.0(postcss@8.4.24)
1791 | postcss-js: 4.0.1(postcss@8.4.24)
1792 | postcss-load-config: 4.0.1(postcss@8.4.24)
1793 | postcss-nested: 6.0.1(postcss@8.4.24)
1794 | postcss-selector-parser: 6.0.13
1795 | postcss-value-parser: 4.2.0
1796 | resolve: 1.22.2
1797 | sucrase: 3.32.0
1798 | transitivePeerDependencies:
1799 | - ts-node
1800 | dev: true
1801 |
1802 | /thenify-all@1.6.0:
1803 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
1804 | engines: {node: '>=0.8'}
1805 | dependencies:
1806 | thenify: 3.3.1
1807 | dev: true
1808 |
1809 | /thenify@3.3.1:
1810 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
1811 | dependencies:
1812 | any-promise: 1.3.0
1813 | dev: true
1814 |
1815 | /to-regex-range@5.0.1:
1816 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1817 | engines: {node: '>=8.0'}
1818 | dependencies:
1819 | is-number: 7.0.0
1820 | dev: true
1821 |
1822 | /totalist@3.0.1:
1823 | resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
1824 | engines: {node: '>=6'}
1825 | dev: true
1826 |
1827 | /tr46@1.0.1:
1828 | resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
1829 | dependencies:
1830 | punycode: 2.3.0
1831 | dev: true
1832 |
1833 | /tree-kill@1.2.2:
1834 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
1835 | hasBin: true
1836 | dev: true
1837 |
1838 | /ts-interface-checker@0.1.13:
1839 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
1840 | dev: true
1841 |
1842 | /tslib@2.5.3:
1843 | resolution: {integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==}
1844 | dev: true
1845 |
1846 | /tsup@7.0.0(postcss@8.4.24)(typescript@5.1.3):
1847 | resolution: {integrity: sha512-yYARDRkPq07mO3YUXTvF12ISwWQG57Odve8aFEgLdHyeGungxuKxb19yf9G0W8y59SZFkLnRj1gkoVk1gd5fbQ==}
1848 | engines: {node: '>=16.14'}
1849 | hasBin: true
1850 | peerDependencies:
1851 | '@swc/core': ^1
1852 | postcss: ^8.4.12
1853 | typescript: '>=4.1.0'
1854 | peerDependenciesMeta:
1855 | '@swc/core':
1856 | optional: true
1857 | postcss:
1858 | optional: true
1859 | typescript:
1860 | optional: true
1861 | dependencies:
1862 | bundle-require: 4.0.1(esbuild@0.18.6)
1863 | cac: 6.7.14
1864 | chokidar: 3.5.3
1865 | debug: 4.3.4
1866 | esbuild: 0.18.6
1867 | execa: 5.1.1
1868 | globby: 11.1.0
1869 | joycon: 3.1.1
1870 | postcss: 8.4.24
1871 | postcss-load-config: 4.0.1(postcss@8.4.24)
1872 | resolve-from: 5.0.0
1873 | rollup: 3.25.1
1874 | source-map: 0.8.0-beta.0
1875 | sucrase: 3.32.0
1876 | tree-kill: 1.2.2
1877 | typescript: 5.1.3
1878 | transitivePeerDependencies:
1879 | - supports-color
1880 | - ts-node
1881 | dev: true
1882 |
1883 | /typescript@5.1.3:
1884 | resolution: {integrity: sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==}
1885 | engines: {node: '>=14.17'}
1886 | hasBin: true
1887 | dev: true
1888 |
1889 | /undici@5.22.1:
1890 | resolution: {integrity: sha512-Ji2IJhFXZY0x/0tVBXeQwgPlLWw13GVzpsWPQ3rV50IFMMof2I55PZZxtm4P6iNq+L5znYN9nSTAq0ZyE6lSJw==}
1891 | engines: {node: '>=14.0'}
1892 | dependencies:
1893 | busboy: 1.6.0
1894 | dev: true
1895 |
1896 | /update-browserslist-db@1.0.11(browserslist@4.21.9):
1897 | resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==}
1898 | hasBin: true
1899 | peerDependencies:
1900 | browserslist: '>= 4.21.0'
1901 | dependencies:
1902 | browserslist: 4.21.9
1903 | escalade: 3.1.1
1904 | picocolors: 1.0.0
1905 | dev: true
1906 |
1907 | /util-deprecate@1.0.2:
1908 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
1909 | dev: true
1910 |
1911 | /vite@4.3.9:
1912 | resolution: {integrity: sha512-qsTNZjO9NoJNW7KnOrgYwczm0WctJ8m/yqYAMAK9Lxt4SoySUfS5S8ia9K7JHpa3KEeMfyF8LoJ3c5NeBJy6pg==}
1913 | engines: {node: ^14.18.0 || >=16.0.0}
1914 | hasBin: true
1915 | peerDependencies:
1916 | '@types/node': '>= 14'
1917 | less: '*'
1918 | sass: '*'
1919 | stylus: '*'
1920 | sugarss: '*'
1921 | terser: ^5.4.0
1922 | peerDependenciesMeta:
1923 | '@types/node':
1924 | optional: true
1925 | less:
1926 | optional: true
1927 | sass:
1928 | optional: true
1929 | stylus:
1930 | optional: true
1931 | sugarss:
1932 | optional: true
1933 | terser:
1934 | optional: true
1935 | dependencies:
1936 | esbuild: 0.17.19
1937 | postcss: 8.4.24
1938 | rollup: 3.25.1
1939 | optionalDependencies:
1940 | fsevents: 2.3.2
1941 | dev: true
1942 |
1943 | /vitefu@0.2.4(vite@4.3.9):
1944 | resolution: {integrity: sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==}
1945 | peerDependencies:
1946 | vite: ^3.0.0 || ^4.0.0
1947 | peerDependenciesMeta:
1948 | vite:
1949 | optional: true
1950 | dependencies:
1951 | vite: 4.3.9
1952 | dev: true
1953 |
1954 | /webidl-conversions@4.0.2:
1955 | resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
1956 | dev: true
1957 |
1958 | /whatwg-url@7.1.0:
1959 | resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
1960 | dependencies:
1961 | lodash.sortby: 4.7.0
1962 | tr46: 1.0.1
1963 | webidl-conversions: 4.0.2
1964 | dev: true
1965 |
1966 | /which@2.0.2:
1967 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
1968 | engines: {node: '>= 8'}
1969 | hasBin: true
1970 | dependencies:
1971 | isexe: 2.0.0
1972 | dev: true
1973 |
1974 | /wrappy@1.0.2:
1975 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
1976 | dev: true
1977 |
1978 | /yaml@2.3.1:
1979 | resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==}
1980 | engines: {node: '>= 14'}
1981 | dev: true
1982 |
--------------------------------------------------------------------------------
/postcss.config.cjs:
--------------------------------------------------------------------------------
1 | const tailwindcss = require("tailwindcss");
2 | const autoprefixer = require("autoprefixer");
3 |
4 | const config = {
5 | plugins: [
6 | //Some plugins, like tailwindcss/nesting, need to run before Tailwind,
7 | tailwindcss(),
8 | //But others, like autoprefixer, need to run after,
9 | autoprefixer,
10 | ],
11 | };
12 |
13 | module.exports = config;
14 |
--------------------------------------------------------------------------------
/src/app.d.ts:
--------------------------------------------------------------------------------
1 | // See https://kit.svelte.dev/docs/types#app
2 | // for information about these interfaces
3 | declare global {
4 | namespace App {
5 | // interface Error {}
6 | // interface Locals {}
7 | // interface PageData {}
8 | // interface Platform {}
9 | }
10 | }
11 |
12 | export {};
13 |
--------------------------------------------------------------------------------
/src/app.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | %sveltekit.head%
8 |
9 |
10 | %sveltekit.body%
11 |
12 |
13 |
--------------------------------------------------------------------------------
/src/app.postcss:
--------------------------------------------------------------------------------
1 | /* Write your global styles here, in PostCSS syntax */
2 | @tailwind base;
3 | @tailwind components;
4 | @tailwind utilities;
5 |
--------------------------------------------------------------------------------
/src/lib/index.ts:
--------------------------------------------------------------------------------
1 | import { getStroke } from './perfect-freehand'
2 | import { cubicInOut } from 'svelte/easing'
3 | import { getSvgPathFromStroke } from './svg-path'
4 |
5 | const linear = (t: number) => t
6 |
7 | // TODO: pass in / allow overriding
8 | const strokeOptions = {
9 | size: 8,
10 | thinning: 0.7,
11 | smoothing: 0.4,
12 | streamline: 0.6,
13 | easing: linear,
14 | start: {
15 | taper: 30,
16 | easing: cubicInOut,
17 | cap: true,
18 | },
19 | end: {
20 | taper: 10,
21 | easing: cubicInOut,
22 | cap: true,
23 | },
24 | }
25 |
26 | interface Options {
27 | ondraw: (path: string) => void
28 | oncomplete: (path: string) => void
29 | }
30 |
31 | export function signature(node: HTMLElement, options: Options) {
32 | const points: number[][] = []
33 |
34 | function render(complete: boolean) {
35 | const stroke = getStroke(points, strokeOptions)
36 | const path = getSvgPathFromStroke(stroke)
37 | if (complete) {
38 | options.oncomplete(path)
39 | } else {
40 | options.ondraw(path)
41 | }
42 | }
43 |
44 | let down = false
45 |
46 | function pointerDown(e: PointerEvent) {
47 | node.setPointerCapture(e.pointerId)
48 | points.push([e.offsetX, e.offsetY, e.pressure])
49 | render(false)
50 | down = true
51 | }
52 |
53 | function pointerMove(e: PointerEvent) {
54 | if (down && e.isPrimary) {
55 | points.push([e.offsetX, e.offsetY, e.pressure])
56 | render(false)
57 | }
58 | }
59 |
60 | function pointerUp(e: PointerEvent) {
61 | node.releasePointerCapture(e.pointerId)
62 |
63 | render(true)
64 |
65 | down = false
66 | points.length = 0
67 | }
68 |
69 | node.addEventListener('pointerdown', pointerDown, { passive: true })
70 | node.addEventListener('pointermove', pointerMove, { passive: true })
71 | node.addEventListener('pointerup', pointerUp, { passive: true })
72 | node.addEventListener('pointercancel', pointerUp, { passive: true })
73 |
74 | return {
75 | destroy() {
76 | node.removeEventListener('pointerdown', pointerDown)
77 | node.removeEventListener('pointermove', pointerMove)
78 | node.removeEventListener('pointerup', pointerUp)
79 | node.removeEventListener('pointercancel', pointerUp)
80 | },
81 | }
82 | }
83 |
--------------------------------------------------------------------------------
/src/lib/perfect-freehand.js:
--------------------------------------------------------------------------------
1 | function $(e,t,u,x=h=>h){return e*x(.5-t*(.5-u))}function se(e){return[-e[0],-e[1]]}function l(e,t){return[e[0]+t[0],e[1]+t[1]]}function a(e,t){return[e[0]-t[0],e[1]-t[1]]}function b(e,t){return[e[0]*t,e[1]*t]}function he(e,t){return[e[0]/t,e[1]/t]}function R(e){return[e[1],-e[0]]}function B(e,t){return e[0]*t[0]+e[1]*t[1]}function ue(e,t){return e[0]===t[0]&&e[1]===t[1]}function ge(e){return Math.hypot(e[0],e[1])}function de(e){return e[0]*e[0]+e[1]*e[1]}function A(e,t){return de(a(e,t))}function G(e){return he(e,ge(e))}function ie(e,t){return Math.hypot(e[1]-t[1],e[0]-t[0])}function L(e,t,u){let x=Math.sin(u),h=Math.cos(u),y=e[0]-t[0],n=e[1]-t[1],f=y*h-n*x,d=y*x+n*h;return[f+t[0],d+t[1]]}function K(e,t,u){return l(e,b(a(t,e),u))}function ee(e,t,u){return l(e,b(t,u))}var{min:C,PI:xe}=Math,pe=.275,V=xe+1e-4;function ce(e,t={}){let{size:u=16,smoothing:x=.5,thinning:h=.5,simulatePressure:y=!0,easing:n=r=>r,start:f={},end:d={},last:D=!1}=t,{cap:S=!0,easing:j=r=>r*(2-r)}=f,{cap:q=!0,easing:c=r=>--r*r*r+1}=d;if(e.length===0||u<=0)return[];let p=e[e.length-1].runningLength,g=f.taper===!1?0:f.taper===!0?Math.max(u,p):f.taper,T=d.taper===!1?0:d.taper===!0?Math.max(u,p):d.taper,te=Math.pow(u*x,2),_=[],M=[],H=e.slice(0,10).reduce((r,i)=>{let o=i.pressure;if(y){let s=C(1,i.distance/u),W=C(1,1-s);o=C(1,r+(W-r)*(s*pe))}return(r+o)/2},e[0].pressure),m=$(u,h,e[e.length-1].pressure,n),U,X=e[0].vector,z=e[0].point,F=z,O=z,E=F,J=!1;for(let r=0;rte)&&(_.push(O),z=O),E=l(o,oe),(r<=1||A(F,E)>te)&&(M.push(E),F=E),H=i,X=s}let P=e[0].point.slice(0,2),k=e.length>1?e[e.length-1].point.slice(0,2):l(e[0].point,[1,1]),Q=[],N=[];if(e.length===1){if(!(g||T)||D){let r=ee(P,G(R(a(P,k))),-(U||m)),i=[];for(let o=1/13,s=o;s<=1;s+=o)i.push(L(r,P,V*2*s));return i}}else{if(!(g||T&&e.length===1))if(S)for(let i=1/13,o=i;o<=1;o+=i){let s=L(M[0],P,V*o);Q.push(s)}else{let i=a(_[0],M[0]),o=b(i,.5),s=b(i,.51);Q.push(a(P,o),a(P,s),l(P,s),l(P,o))}let r=R(se(e[e.length-1].vector));if(T||g&&e.length===1)N.push(k);else if(q){let i=ee(k,r,m);for(let o=1/29,s=o;s<1;s+=o)N.push(L(i,k,V*3*s))}else N.push(l(k,b(r,m)),l(k,b(r,m*.99)),a(k,b(r,m*.99)),a(k,b(r,m)))}return _.concat(N,M.reverse(),Q)}function me(e,t={}){var q;let{streamline:u=.5,size:x=16,last:h=!1}=t;if(e.length===0)return[];let y=.15+(1-u)*.85,n=Array.isArray(e[0])?e:e.map(({x:c,y:p,pressure:g=.5})=>[c,p,g]);if(n.length===2){let c=n[1];n=n.slice(0,-1);for(let p=1;p<5;p++)n.push(K(n[0],c,p/4))}n.length===1&&(n=[...n,[...l(n[0],[1,1]),...n[0].slice(2)]]);let f=[{point:[n[0][0],n[0][1]],pressure:n[0][2]>=0?n[0][2]:.25,vector:[1,1],distance:0,runningLength:0}],d=!1,D=0,S=f[0],j=n.length-1;for(let c=1;c=0?n[c][2]:.5,vector:G(a(S.point,p)),distance:g,runningLength:D},f.push(S)}return f[0].vector=((q=f[1])==null?void 0:q.vector)||[0,0],f}function ae(e,t={}){return ce(me(e,t),t)}var _e=ae;export{_e as default,ae as getStroke,ce as getStrokeOutlinePoints,me as getStrokePoints};
2 |
--------------------------------------------------------------------------------
/src/lib/svg-path.ts:
--------------------------------------------------------------------------------
1 |
2 | const average = (a: number, b: number) => (a + b) / 2
3 |
4 | export function getSvgPathFromStroke(points: number[][], closed = true): string {
5 | const len = points.length
6 |
7 | if (len < 4) {
8 | return ''
9 | }
10 |
11 | let a = points[0]
12 | let b = points[1]
13 | const c = points[2]
14 |
15 | let result = `M${a[0].toFixed(2)},${a[1].toFixed(2)} Q${b[0].toFixed(2)},${b[1].toFixed(2)} ${average(b[0], c[0]).toFixed(2)},${average(
16 | b[1],
17 | c[1]
18 | ).toFixed(2)} T`
19 |
20 | for (let i = 2, max = len - 1; i < max; i++) {
21 | a = points[i]
22 | b = points[i + 1]
23 | result += `${average(a[0], b[0]).toFixed(2)},${average(a[1], b[1]).toFixed(2)} `
24 | }
25 |
26 | if (closed) {
27 | result += 'Z'
28 | }
29 |
30 | return result
31 | }
--------------------------------------------------------------------------------
/src/routes/+layout.svelte:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 | Svelte Signature Pad
7 |
8 | Svelte Action to capture smoothed signatures as SVG paths using the excellent perfect-freehand
12 | library.
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/src/routes/+layout.ts:
--------------------------------------------------------------------------------
1 | export const prerender = true
--------------------------------------------------------------------------------
/src/routes/+page.svelte:
--------------------------------------------------------------------------------
1 |
20 |
21 |
22 |
23 |
false}
29 | >
30 | {#each layers as layer}
31 |
32 |
33 |
34 | {/each}
35 |
36 | {#if preview}
37 |
38 |
39 |
40 | {/if}
41 |
42 |
Clear
43 |
44 |
45 | Please sign on the dotted line to indicate that you agree to all the legal terms we all know you didn't read. Thank you!
46 |
47 |
48 | {#each layers as layer}
49 |
50 |
51 |
52 | {/each}
53 |
54 |
--------------------------------------------------------------------------------
/static/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CaptainCodeman/svelte-signature-pad/e7b05324ba77ae417be7930caf1a45d07b8da652/static/favicon.png
--------------------------------------------------------------------------------
/svelte.config.js:
--------------------------------------------------------------------------------
1 | import adapter from '@sveltejs/adapter-static'
2 | import { vitePreprocess } from '@sveltejs/kit/vite'
3 |
4 | /** @type {import('@sveltejs/kit').Config} */
5 | const config = {
6 | // Consult https://kit.svelte.dev/docs/integrations#preprocessors
7 | // for more information about preprocessors
8 | preprocess: [vitePreprocess()],
9 |
10 | kit: {
11 | adapter: adapter(),
12 | },
13 | }
14 |
15 | export default config
16 |
--------------------------------------------------------------------------------
/tailwind.config.cjs:
--------------------------------------------------------------------------------
1 | const config = {
2 | content: ["./src/**/*.{html,js,svelte,ts}"],
3 |
4 | theme: {
5 | extend: {},
6 | },
7 |
8 | plugins: [],
9 | };
10 |
11 | module.exports = config;
12 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "./.svelte-kit/tsconfig.json",
3 | "compilerOptions": {
4 | "allowJs": true,
5 | "checkJs": true,
6 | "esModuleInterop": true,
7 | "forceConsistentCasingInFileNames": true,
8 | "resolveJsonModule": true,
9 | "skipLibCheck": true,
10 | "sourceMap": true,
11 | "strict": true
12 | }
13 | // Path aliases are handled by https://kit.svelte.dev/docs/configuration#alias
14 | //
15 | // If you want to overwrite includes/excludes, make sure to copy over the relevant includes/excludes
16 | // from the referenced tsconfig.json - TypeScript does not merge them in
17 | }
18 |
--------------------------------------------------------------------------------
/tsup.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'tsup'
2 |
3 | export default defineConfig({
4 | entry: ['src/lib/index.ts'],
5 | external: ['svelte/easing'],
6 | format: ['esm'],
7 | splitting: false,
8 | sourcemap: false,
9 | minify: true,
10 | clean: true,
11 | dts: true,
12 | esbuildOptions(options, context) {
13 | // waiting for https://github.com/egoist/tsup/pull/781 ?
14 | // options.sourcemap = 'external'
15 | },
16 | })
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import { sveltekit } from '@sveltejs/kit/vite'
2 | import { defineConfig } from 'vite'
3 |
4 | export default defineConfig({
5 | plugins: [sveltekit()],
6 | });
7 |
--------------------------------------------------------------------------------