-
4 | {#each exampleNames as name}
5 |
- {name} 6 | {/each} 7 |
13 | 14 | New Syntax To Write SVG 15 | 16 |
17 | 32 |{svgCode}53 | {/if} 54 |
├── .github
├── FUNDING.yml
└── workflows
│ └── pages.yml
├── .gitignore
├── .npmrc
├── LICENSE
├── README.md
├── package-lock.json
├── package.json
├── screenshot.png
├── src
├── app.html
├── components
│ └── editor
│ │ ├── index.svelte
│ │ └── theme.js
├── examples.js
├── routes
│ ├── +layout.js
│ └── +page.svelte
└── service-worker.js
├── static
└── favicon.png
├── svelte.config.js
└── vite.config.js
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | open_collective: css-doodle
2 |
--------------------------------------------------------------------------------
/.github/workflows/pages.yml:
--------------------------------------------------------------------------------
1 | # Simple workflow for deploying static content to GitHub Pages
2 | name: Deploy GitHub Pages
3 |
4 | on:
5 | # Runs on pushes targeting the default branch
6 | push:
7 | branches: ["main"]
8 |
9 | # Allows you to run this workflow manually from the Actions tab
10 | workflow_dispatch:
11 |
12 | # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
13 | permissions:
14 | contents: read
15 | pages: write
16 | id-token: write
17 |
18 | jobs:
19 | # Single deploy job since we're just deploying
20 | deploy:
21 | environment:
22 | name: github-pages
23 | url: ${{ steps.deployment.outputs.page_url }}
24 |
25 | runs-on: ubuntu-latest
26 |
27 | strategy:
28 | matrix:
29 | os: [ubuntu-latest]
30 | node-version: [23.x]
31 |
32 | steps:
33 | - name: Checkout
34 | uses: actions/checkout@v4
35 | - name: Setup Pages
36 | uses: actions/configure-pages@v4
37 | - name: Use Node.js ${{ matrix.node-version }}
38 | uses: actions/setup-node@v2
39 | with:
40 | node-version: ${{ matrix.node-version }}
41 | - run: yarn install
42 | - run: yarn build
43 | - name: Upload artifact
44 | uses: actions/upload-pages-artifact@v3
45 | with:
46 | # Upload entire repository
47 | path: './build'
48 | - name: Deploy to GitHub Pages
49 | id: deployment
50 | uses: actions/deploy-pages@v4
51 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /.svelte-kit
4 | /package
5 | /build
6 | .env
7 | .env.*
8 | !.env.example
9 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | engine-strict=true
2 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Yuan Chuan
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 | # SVG Playground
2 |
3 | https://css-doodle.com/svg
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "svg",
3 | "version": "0.0.1",
4 | "lockfileVersion": 3,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "svg",
9 | "version": "0.0.1",
10 | "dependencies": {
11 | "@codemirror/lang-css": "^6.0.0",
12 | "codemirror": "^6.0.1",
13 | "css-doodle": "0.40.2"
14 | },
15 | "devDependencies": {
16 | "@sveltejs/adapter-static": "2.0.1",
17 | "@sveltejs/kit": "^1.22.4",
18 | "svelte": "3.57.0",
19 | "vite": "^4.4.8"
20 | },
21 | "engines": {
22 | "node": ">= 18.0.0"
23 | }
24 | },
25 | "node_modules/@codemirror/autocomplete": {
26 | "version": "6.17.0",
27 | "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.17.0.tgz",
28 | "integrity": "sha512-fdfj6e6ZxZf8yrkMHUSJJir7OJkHkZKaOZGzLWIYp2PZ3jd+d+UjG8zVPqJF6d3bKxkhvXTPan/UZ1t7Bqm0gA==",
29 | "dependencies": {
30 | "@codemirror/language": "^6.0.0",
31 | "@codemirror/state": "^6.0.0",
32 | "@codemirror/view": "^6.17.0",
33 | "@lezer/common": "^1.0.0"
34 | },
35 | "peerDependencies": {
36 | "@codemirror/language": "^6.0.0",
37 | "@codemirror/state": "^6.0.0",
38 | "@codemirror/view": "^6.0.0",
39 | "@lezer/common": "^1.0.0"
40 | }
41 | },
42 | "node_modules/@codemirror/commands": {
43 | "version": "6.6.0",
44 | "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.6.0.tgz",
45 | "integrity": "sha512-qnY+b7j1UNcTS31Eenuc/5YJB6gQOzkUoNmJQc0rznwqSRpeaWWpjkWy2C/MPTcePpsKJEM26hXrOXl1+nceXg==",
46 | "dependencies": {
47 | "@codemirror/language": "^6.0.0",
48 | "@codemirror/state": "^6.4.0",
49 | "@codemirror/view": "^6.27.0",
50 | "@lezer/common": "^1.1.0"
51 | }
52 | },
53 | "node_modules/@codemirror/lang-css": {
54 | "version": "6.2.1",
55 | "resolved": "https://registry.npmjs.org/@codemirror/lang-css/-/lang-css-6.2.1.tgz",
56 | "integrity": "sha512-/UNWDNV5Viwi/1lpr/dIXJNWiwDxpw13I4pTUAsNxZdg6E0mI2kTQb0P2iHczg1Tu+H4EBgJR+hYhKiHKko7qg==",
57 | "dependencies": {
58 | "@codemirror/autocomplete": "^6.0.0",
59 | "@codemirror/language": "^6.0.0",
60 | "@codemirror/state": "^6.0.0",
61 | "@lezer/common": "^1.0.2",
62 | "@lezer/css": "^1.0.0"
63 | }
64 | },
65 | "node_modules/@codemirror/language": {
66 | "version": "6.10.2",
67 | "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.10.2.tgz",
68 | "integrity": "sha512-kgbTYTo0Au6dCSc/TFy7fK3fpJmgHDv1sG1KNQKJXVi+xBTEeBPY/M30YXiU6mMXeH+YIDLsbrT4ZwNRdtF+SA==",
69 | "dependencies": {
70 | "@codemirror/state": "^6.0.0",
71 | "@codemirror/view": "^6.23.0",
72 | "@lezer/common": "^1.1.0",
73 | "@lezer/highlight": "^1.0.0",
74 | "@lezer/lr": "^1.0.0",
75 | "style-mod": "^4.0.0"
76 | }
77 | },
78 | "node_modules/@codemirror/lint": {
79 | "version": "6.8.1",
80 | "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.8.1.tgz",
81 | "integrity": "sha512-IZ0Y7S4/bpaunwggW2jYqwLuHj0QtESf5xcROewY6+lDNwZ/NzvR4t+vpYgg9m7V8UXLPYqG+lu3DF470E5Oxg==",
82 | "dependencies": {
83 | "@codemirror/state": "^6.0.0",
84 | "@codemirror/view": "^6.0.0",
85 | "crelt": "^1.0.5"
86 | }
87 | },
88 | "node_modules/@codemirror/search": {
89 | "version": "6.5.6",
90 | "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.5.6.tgz",
91 | "integrity": "sha512-rpMgcsh7o0GuCDUXKPvww+muLA1pDJaFrpq/CCHtpQJYz8xopu4D1hPcKRoDD0YlF8gZaqTNIRa4VRBWyhyy7Q==",
92 | "dependencies": {
93 | "@codemirror/state": "^6.0.0",
94 | "@codemirror/view": "^6.0.0",
95 | "crelt": "^1.0.5"
96 | }
97 | },
98 | "node_modules/@codemirror/state": {
99 | "version": "6.4.1",
100 | "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.4.1.tgz",
101 | "integrity": "sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A=="
102 | },
103 | "node_modules/@codemirror/view": {
104 | "version": "6.29.0",
105 | "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.29.0.tgz",
106 | "integrity": "sha512-ED4ims4fkf7eOA+HYLVP8VVg3NMllt1FPm9PEJBfYFnidKlRITBaua38u68L1F60eNtw2YNcDN5jsIzhKZwWQA==",
107 | "dependencies": {
108 | "@codemirror/state": "^6.4.0",
109 | "style-mod": "^4.1.0",
110 | "w3c-keyname": "^2.2.4"
111 | }
112 | },
113 | "node_modules/@esbuild/android-arm": {
114 | "version": "0.18.20",
115 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz",
116 | "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==",
117 | "cpu": [
118 | "arm"
119 | ],
120 | "dev": true,
121 | "optional": true,
122 | "os": [
123 | "android"
124 | ],
125 | "engines": {
126 | "node": ">=12"
127 | }
128 | },
129 | "node_modules/@esbuild/android-arm64": {
130 | "version": "0.18.20",
131 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz",
132 | "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==",
133 | "cpu": [
134 | "arm64"
135 | ],
136 | "dev": true,
137 | "optional": true,
138 | "os": [
139 | "android"
140 | ],
141 | "engines": {
142 | "node": ">=12"
143 | }
144 | },
145 | "node_modules/@esbuild/android-x64": {
146 | "version": "0.18.20",
147 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz",
148 | "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==",
149 | "cpu": [
150 | "x64"
151 | ],
152 | "dev": true,
153 | "optional": true,
154 | "os": [
155 | "android"
156 | ],
157 | "engines": {
158 | "node": ">=12"
159 | }
160 | },
161 | "node_modules/@esbuild/darwin-arm64": {
162 | "version": "0.18.20",
163 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz",
164 | "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==",
165 | "cpu": [
166 | "arm64"
167 | ],
168 | "dev": true,
169 | "optional": true,
170 | "os": [
171 | "darwin"
172 | ],
173 | "engines": {
174 | "node": ">=12"
175 | }
176 | },
177 | "node_modules/@esbuild/darwin-x64": {
178 | "version": "0.18.20",
179 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz",
180 | "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==",
181 | "cpu": [
182 | "x64"
183 | ],
184 | "dev": true,
185 | "optional": true,
186 | "os": [
187 | "darwin"
188 | ],
189 | "engines": {
190 | "node": ">=12"
191 | }
192 | },
193 | "node_modules/@esbuild/freebsd-arm64": {
194 | "version": "0.18.20",
195 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz",
196 | "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==",
197 | "cpu": [
198 | "arm64"
199 | ],
200 | "dev": true,
201 | "optional": true,
202 | "os": [
203 | "freebsd"
204 | ],
205 | "engines": {
206 | "node": ">=12"
207 | }
208 | },
209 | "node_modules/@esbuild/freebsd-x64": {
210 | "version": "0.18.20",
211 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz",
212 | "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==",
213 | "cpu": [
214 | "x64"
215 | ],
216 | "dev": true,
217 | "optional": true,
218 | "os": [
219 | "freebsd"
220 | ],
221 | "engines": {
222 | "node": ">=12"
223 | }
224 | },
225 | "node_modules/@esbuild/linux-arm": {
226 | "version": "0.18.20",
227 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz",
228 | "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==",
229 | "cpu": [
230 | "arm"
231 | ],
232 | "dev": true,
233 | "optional": true,
234 | "os": [
235 | "linux"
236 | ],
237 | "engines": {
238 | "node": ">=12"
239 | }
240 | },
241 | "node_modules/@esbuild/linux-arm64": {
242 | "version": "0.18.20",
243 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz",
244 | "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==",
245 | "cpu": [
246 | "arm64"
247 | ],
248 | "dev": true,
249 | "optional": true,
250 | "os": [
251 | "linux"
252 | ],
253 | "engines": {
254 | "node": ">=12"
255 | }
256 | },
257 | "node_modules/@esbuild/linux-ia32": {
258 | "version": "0.18.20",
259 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz",
260 | "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==",
261 | "cpu": [
262 | "ia32"
263 | ],
264 | "dev": true,
265 | "optional": true,
266 | "os": [
267 | "linux"
268 | ],
269 | "engines": {
270 | "node": ">=12"
271 | }
272 | },
273 | "node_modules/@esbuild/linux-loong64": {
274 | "version": "0.18.20",
275 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz",
276 | "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==",
277 | "cpu": [
278 | "loong64"
279 | ],
280 | "dev": true,
281 | "optional": true,
282 | "os": [
283 | "linux"
284 | ],
285 | "engines": {
286 | "node": ">=12"
287 | }
288 | },
289 | "node_modules/@esbuild/linux-mips64el": {
290 | "version": "0.18.20",
291 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz",
292 | "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==",
293 | "cpu": [
294 | "mips64el"
295 | ],
296 | "dev": true,
297 | "optional": true,
298 | "os": [
299 | "linux"
300 | ],
301 | "engines": {
302 | "node": ">=12"
303 | }
304 | },
305 | "node_modules/@esbuild/linux-ppc64": {
306 | "version": "0.18.20",
307 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz",
308 | "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==",
309 | "cpu": [
310 | "ppc64"
311 | ],
312 | "dev": true,
313 | "optional": true,
314 | "os": [
315 | "linux"
316 | ],
317 | "engines": {
318 | "node": ">=12"
319 | }
320 | },
321 | "node_modules/@esbuild/linux-riscv64": {
322 | "version": "0.18.20",
323 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz",
324 | "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==",
325 | "cpu": [
326 | "riscv64"
327 | ],
328 | "dev": true,
329 | "optional": true,
330 | "os": [
331 | "linux"
332 | ],
333 | "engines": {
334 | "node": ">=12"
335 | }
336 | },
337 | "node_modules/@esbuild/linux-s390x": {
338 | "version": "0.18.20",
339 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz",
340 | "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==",
341 | "cpu": [
342 | "s390x"
343 | ],
344 | "dev": true,
345 | "optional": true,
346 | "os": [
347 | "linux"
348 | ],
349 | "engines": {
350 | "node": ">=12"
351 | }
352 | },
353 | "node_modules/@esbuild/linux-x64": {
354 | "version": "0.18.20",
355 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz",
356 | "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==",
357 | "cpu": [
358 | "x64"
359 | ],
360 | "dev": true,
361 | "optional": true,
362 | "os": [
363 | "linux"
364 | ],
365 | "engines": {
366 | "node": ">=12"
367 | }
368 | },
369 | "node_modules/@esbuild/netbsd-x64": {
370 | "version": "0.18.20",
371 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz",
372 | "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==",
373 | "cpu": [
374 | "x64"
375 | ],
376 | "dev": true,
377 | "optional": true,
378 | "os": [
379 | "netbsd"
380 | ],
381 | "engines": {
382 | "node": ">=12"
383 | }
384 | },
385 | "node_modules/@esbuild/openbsd-x64": {
386 | "version": "0.18.20",
387 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz",
388 | "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==",
389 | "cpu": [
390 | "x64"
391 | ],
392 | "dev": true,
393 | "optional": true,
394 | "os": [
395 | "openbsd"
396 | ],
397 | "engines": {
398 | "node": ">=12"
399 | }
400 | },
401 | "node_modules/@esbuild/sunos-x64": {
402 | "version": "0.18.20",
403 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz",
404 | "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==",
405 | "cpu": [
406 | "x64"
407 | ],
408 | "dev": true,
409 | "optional": true,
410 | "os": [
411 | "sunos"
412 | ],
413 | "engines": {
414 | "node": ">=12"
415 | }
416 | },
417 | "node_modules/@esbuild/win32-arm64": {
418 | "version": "0.18.20",
419 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz",
420 | "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==",
421 | "cpu": [
422 | "arm64"
423 | ],
424 | "dev": true,
425 | "optional": true,
426 | "os": [
427 | "win32"
428 | ],
429 | "engines": {
430 | "node": ">=12"
431 | }
432 | },
433 | "node_modules/@esbuild/win32-ia32": {
434 | "version": "0.18.20",
435 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz",
436 | "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==",
437 | "cpu": [
438 | "ia32"
439 | ],
440 | "dev": true,
441 | "optional": true,
442 | "os": [
443 | "win32"
444 | ],
445 | "engines": {
446 | "node": ">=12"
447 | }
448 | },
449 | "node_modules/@esbuild/win32-x64": {
450 | "version": "0.18.20",
451 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz",
452 | "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==",
453 | "cpu": [
454 | "x64"
455 | ],
456 | "dev": true,
457 | "optional": true,
458 | "os": [
459 | "win32"
460 | ],
461 | "engines": {
462 | "node": ">=12"
463 | }
464 | },
465 | "node_modules/@fastify/busboy": {
466 | "version": "2.1.1",
467 | "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz",
468 | "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==",
469 | "dev": true,
470 | "engines": {
471 | "node": ">=14"
472 | }
473 | },
474 | "node_modules/@jridgewell/sourcemap-codec": {
475 | "version": "1.5.0",
476 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
477 | "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
478 | "dev": true
479 | },
480 | "node_modules/@lezer/common": {
481 | "version": "1.2.1",
482 | "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.1.tgz",
483 | "integrity": "sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ=="
484 | },
485 | "node_modules/@lezer/css": {
486 | "version": "1.1.8",
487 | "resolved": "https://registry.npmjs.org/@lezer/css/-/css-1.1.8.tgz",
488 | "integrity": "sha512-7JhxupKuMBaWQKjQoLtzhGj83DdnZY9MckEOG5+/iLKNK2ZJqKc6hf6uc0HjwCX7Qlok44jBNqZhHKDhEhZYLA==",
489 | "dependencies": {
490 | "@lezer/common": "^1.2.0",
491 | "@lezer/highlight": "^1.0.0",
492 | "@lezer/lr": "^1.0.0"
493 | }
494 | },
495 | "node_modules/@lezer/highlight": {
496 | "version": "1.2.0",
497 | "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.2.0.tgz",
498 | "integrity": "sha512-WrS5Mw51sGrpqjlh3d4/fOwpEV2Hd3YOkp9DBt4k8XZQcoTHZFB7sx030A6OcahF4J1nDQAa3jXlTVVYH50IFA==",
499 | "dependencies": {
500 | "@lezer/common": "^1.0.0"
501 | }
502 | },
503 | "node_modules/@lezer/lr": {
504 | "version": "1.4.2",
505 | "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.2.tgz",
506 | "integrity": "sha512-pu0K1jCIdnQ12aWNaAVU5bzi7Bd1w54J3ECgANPmYLtQKP0HBj2cE/5coBD66MT10xbtIuUr7tg0Shbsvk0mDA==",
507 | "dependencies": {
508 | "@lezer/common": "^1.0.0"
509 | }
510 | },
511 | "node_modules/@polka/url": {
512 | "version": "1.0.0-next.25",
513 | "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.25.tgz",
514 | "integrity": "sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==",
515 | "dev": true
516 | },
517 | "node_modules/@sveltejs/adapter-static": {
518 | "version": "2.0.1",
519 | "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-2.0.1.tgz",
520 | "integrity": "sha512-o5/q3YwD/ErxYCFlK1v3ydvldyNKk1lh3oeyxn4mhz+Pkbx/uuxhzmbOpytTlp5aVqNHDVsb04xadUzOFCDDzw==",
521 | "dev": true,
522 | "peerDependencies": {
523 | "@sveltejs/kit": "^1.5.0"
524 | }
525 | },
526 | "node_modules/@sveltejs/kit": {
527 | "version": "1.30.4",
528 | "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.30.4.tgz",
529 | "integrity": "sha512-JSQIQT6XvdchCRQEm7BABxPC56WP5RYVONAi+09S8tmzeP43fBsRlr95bFmsTQM2RHBldfgQk+jgdnsKI75daA==",
530 | "dev": true,
531 | "hasInstallScript": true,
532 | "dependencies": {
533 | "@sveltejs/vite-plugin-svelte": "^2.5.0",
534 | "@types/cookie": "^0.5.1",
535 | "cookie": "^0.5.0",
536 | "devalue": "^4.3.1",
537 | "esm-env": "^1.0.0",
538 | "kleur": "^4.1.5",
539 | "magic-string": "^0.30.0",
540 | "mrmime": "^1.0.1",
541 | "sade": "^1.8.1",
542 | "set-cookie-parser": "^2.6.0",
543 | "sirv": "^2.0.2",
544 | "tiny-glob": "^0.2.9",
545 | "undici": "^5.28.3"
546 | },
547 | "bin": {
548 | "svelte-kit": "svelte-kit.js"
549 | },
550 | "engines": {
551 | "node": "^16.14 || >=18"
552 | },
553 | "peerDependencies": {
554 | "svelte": "^3.54.0 || ^4.0.0-next.0 || ^5.0.0-next.0",
555 | "vite": "^4.0.0"
556 | }
557 | },
558 | "node_modules/@sveltejs/vite-plugin-svelte": {
559 | "version": "2.5.3",
560 | "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-2.5.3.tgz",
561 | "integrity": "sha512-erhNtXxE5/6xGZz/M9eXsmI7Pxa6MS7jyTy06zN3Ck++ldrppOnOlJwHHTsMC7DHDQdgUp4NAc4cDNQ9eGdB/w==",
562 | "dev": true,
563 | "dependencies": {
564 | "@sveltejs/vite-plugin-svelte-inspector": "^1.0.4",
565 | "debug": "^4.3.4",
566 | "deepmerge": "^4.3.1",
567 | "kleur": "^4.1.5",
568 | "magic-string": "^0.30.3",
569 | "svelte-hmr": "^0.15.3",
570 | "vitefu": "^0.2.4"
571 | },
572 | "engines": {
573 | "node": "^14.18.0 || >= 16"
574 | },
575 | "peerDependencies": {
576 | "svelte": "^3.54.0 || ^4.0.0 || ^5.0.0-next.0",
577 | "vite": "^4.0.0"
578 | }
579 | },
580 | "node_modules/@sveltejs/vite-plugin-svelte-inspector": {
581 | "version": "1.0.4",
582 | "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte-inspector/-/vite-plugin-svelte-inspector-1.0.4.tgz",
583 | "integrity": "sha512-zjiuZ3yydBtwpF3bj0kQNV0YXe+iKE545QGZVTaylW3eAzFr+pJ/cwK8lZEaRp4JtaJXhD5DyWAV4AxLh6DgaQ==",
584 | "dev": true,
585 | "dependencies": {
586 | "debug": "^4.3.4"
587 | },
588 | "engines": {
589 | "node": "^14.18.0 || >= 16"
590 | },
591 | "peerDependencies": {
592 | "@sveltejs/vite-plugin-svelte": "^2.2.0",
593 | "svelte": "^3.54.0 || ^4.0.0",
594 | "vite": "^4.0.0"
595 | }
596 | },
597 | "node_modules/@types/cookie": {
598 | "version": "0.5.4",
599 | "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.5.4.tgz",
600 | "integrity": "sha512-7z/eR6O859gyWIAjuvBWFzNURmf2oPBmJlfVWkwehU5nzIyjwBsTh7WMmEEV4JFnHuQ3ex4oyTvfKzcyJVDBNA==",
601 | "dev": true
602 | },
603 | "node_modules/codemirror": {
604 | "version": "6.0.1",
605 | "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-6.0.1.tgz",
606 | "integrity": "sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==",
607 | "dependencies": {
608 | "@codemirror/autocomplete": "^6.0.0",
609 | "@codemirror/commands": "^6.0.0",
610 | "@codemirror/language": "^6.0.0",
611 | "@codemirror/lint": "^6.0.0",
612 | "@codemirror/search": "^6.0.0",
613 | "@codemirror/state": "^6.0.0",
614 | "@codemirror/view": "^6.0.0"
615 | }
616 | },
617 | "node_modules/cookie": {
618 | "version": "0.5.0",
619 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
620 | "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
621 | "dev": true,
622 | "engines": {
623 | "node": ">= 0.6"
624 | }
625 | },
626 | "node_modules/crelt": {
627 | "version": "1.0.6",
628 | "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz",
629 | "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g=="
630 | },
631 | "node_modules/css-doodle": {
632 | "version": "0.40.2",
633 | "resolved": "https://registry.npmjs.org/css-doodle/-/css-doodle-0.40.2.tgz",
634 | "integrity": "sha512-DRM8EvOLRLYYxvDBdM855XHwEEvI9nxc2zKs5gQWiscSstoTYWd1sHIm5X3VJXjYBFAq3lytl60UDHlgWexMbQ==",
635 | "license": "MIT",
636 | "funding": {
637 | "type": "opencollective",
638 | "url": "https://opencollective.com/css-doodle"
639 | }
640 | },
641 | "node_modules/debug": {
642 | "version": "4.3.6",
643 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
644 | "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
645 | "dev": true,
646 | "dependencies": {
647 | "ms": "2.1.2"
648 | },
649 | "engines": {
650 | "node": ">=6.0"
651 | },
652 | "peerDependenciesMeta": {
653 | "supports-color": {
654 | "optional": true
655 | }
656 | }
657 | },
658 | "node_modules/deepmerge": {
659 | "version": "4.3.1",
660 | "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
661 | "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
662 | "dev": true,
663 | "engines": {
664 | "node": ">=0.10.0"
665 | }
666 | },
667 | "node_modules/devalue": {
668 | "version": "4.3.3",
669 | "resolved": "https://registry.npmjs.org/devalue/-/devalue-4.3.3.tgz",
670 | "integrity": "sha512-UH8EL6H2ifcY8TbD2QsxwCC/pr5xSwPvv85LrLXVihmHVC3T3YqTCIwnR5ak0yO1KYqlxrPVOA/JVZJYPy2ATg==",
671 | "dev": true
672 | },
673 | "node_modules/esbuild": {
674 | "version": "0.18.20",
675 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz",
676 | "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==",
677 | "dev": true,
678 | "hasInstallScript": true,
679 | "bin": {
680 | "esbuild": "bin/esbuild"
681 | },
682 | "engines": {
683 | "node": ">=12"
684 | },
685 | "optionalDependencies": {
686 | "@esbuild/android-arm": "0.18.20",
687 | "@esbuild/android-arm64": "0.18.20",
688 | "@esbuild/android-x64": "0.18.20",
689 | "@esbuild/darwin-arm64": "0.18.20",
690 | "@esbuild/darwin-x64": "0.18.20",
691 | "@esbuild/freebsd-arm64": "0.18.20",
692 | "@esbuild/freebsd-x64": "0.18.20",
693 | "@esbuild/linux-arm": "0.18.20",
694 | "@esbuild/linux-arm64": "0.18.20",
695 | "@esbuild/linux-ia32": "0.18.20",
696 | "@esbuild/linux-loong64": "0.18.20",
697 | "@esbuild/linux-mips64el": "0.18.20",
698 | "@esbuild/linux-ppc64": "0.18.20",
699 | "@esbuild/linux-riscv64": "0.18.20",
700 | "@esbuild/linux-s390x": "0.18.20",
701 | "@esbuild/linux-x64": "0.18.20",
702 | "@esbuild/netbsd-x64": "0.18.20",
703 | "@esbuild/openbsd-x64": "0.18.20",
704 | "@esbuild/sunos-x64": "0.18.20",
705 | "@esbuild/win32-arm64": "0.18.20",
706 | "@esbuild/win32-ia32": "0.18.20",
707 | "@esbuild/win32-x64": "0.18.20"
708 | }
709 | },
710 | "node_modules/esm-env": {
711 | "version": "1.0.0",
712 | "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.0.0.tgz",
713 | "integrity": "sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==",
714 | "dev": true
715 | },
716 | "node_modules/fsevents": {
717 | "version": "2.3.3",
718 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
719 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
720 | "dev": true,
721 | "hasInstallScript": true,
722 | "optional": true,
723 | "os": [
724 | "darwin"
725 | ],
726 | "engines": {
727 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
728 | }
729 | },
730 | "node_modules/globalyzer": {
731 | "version": "0.1.0",
732 | "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz",
733 | "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==",
734 | "dev": true
735 | },
736 | "node_modules/globrex": {
737 | "version": "0.1.2",
738 | "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
739 | "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
740 | "dev": true
741 | },
742 | "node_modules/kleur": {
743 | "version": "4.1.5",
744 | "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
745 | "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
746 | "dev": true,
747 | "engines": {
748 | "node": ">=6"
749 | }
750 | },
751 | "node_modules/magic-string": {
752 | "version": "0.30.10",
753 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz",
754 | "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==",
755 | "dev": true,
756 | "dependencies": {
757 | "@jridgewell/sourcemap-codec": "^1.4.15"
758 | }
759 | },
760 | "node_modules/mri": {
761 | "version": "1.2.0",
762 | "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
763 | "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
764 | "dev": true,
765 | "engines": {
766 | "node": ">=4"
767 | }
768 | },
769 | "node_modules/mrmime": {
770 | "version": "1.0.1",
771 | "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz",
772 | "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==",
773 | "dev": true,
774 | "engines": {
775 | "node": ">=10"
776 | }
777 | },
778 | "node_modules/ms": {
779 | "version": "2.1.2",
780 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
781 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
782 | "dev": true
783 | },
784 | "node_modules/nanoid": {
785 | "version": "3.3.7",
786 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
787 | "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
788 | "dev": true,
789 | "funding": [
790 | {
791 | "type": "github",
792 | "url": "https://github.com/sponsors/ai"
793 | }
794 | ],
795 | "bin": {
796 | "nanoid": "bin/nanoid.cjs"
797 | },
798 | "engines": {
799 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
800 | }
801 | },
802 | "node_modules/picocolors": {
803 | "version": "1.0.1",
804 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
805 | "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==",
806 | "dev": true
807 | },
808 | "node_modules/postcss": {
809 | "version": "8.4.40",
810 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz",
811 | "integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==",
812 | "dev": true,
813 | "funding": [
814 | {
815 | "type": "opencollective",
816 | "url": "https://opencollective.com/postcss/"
817 | },
818 | {
819 | "type": "tidelift",
820 | "url": "https://tidelift.com/funding/github/npm/postcss"
821 | },
822 | {
823 | "type": "github",
824 | "url": "https://github.com/sponsors/ai"
825 | }
826 | ],
827 | "dependencies": {
828 | "nanoid": "^3.3.7",
829 | "picocolors": "^1.0.1",
830 | "source-map-js": "^1.2.0"
831 | },
832 | "engines": {
833 | "node": "^10 || ^12 || >=14"
834 | }
835 | },
836 | "node_modules/rollup": {
837 | "version": "3.29.4",
838 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz",
839 | "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==",
840 | "dev": true,
841 | "bin": {
842 | "rollup": "dist/bin/rollup"
843 | },
844 | "engines": {
845 | "node": ">=14.18.0",
846 | "npm": ">=8.0.0"
847 | },
848 | "optionalDependencies": {
849 | "fsevents": "~2.3.2"
850 | }
851 | },
852 | "node_modules/sade": {
853 | "version": "1.8.1",
854 | "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
855 | "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
856 | "dev": true,
857 | "dependencies": {
858 | "mri": "^1.1.0"
859 | },
860 | "engines": {
861 | "node": ">=6"
862 | }
863 | },
864 | "node_modules/set-cookie-parser": {
865 | "version": "2.6.0",
866 | "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz",
867 | "integrity": "sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==",
868 | "dev": true
869 | },
870 | "node_modules/sirv": {
871 | "version": "2.0.4",
872 | "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz",
873 | "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==",
874 | "dev": true,
875 | "dependencies": {
876 | "@polka/url": "^1.0.0-next.24",
877 | "mrmime": "^2.0.0",
878 | "totalist": "^3.0.0"
879 | },
880 | "engines": {
881 | "node": ">= 10"
882 | }
883 | },
884 | "node_modules/sirv/node_modules/mrmime": {
885 | "version": "2.0.0",
886 | "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz",
887 | "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==",
888 | "dev": true,
889 | "engines": {
890 | "node": ">=10"
891 | }
892 | },
893 | "node_modules/source-map-js": {
894 | "version": "1.2.0",
895 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
896 | "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
897 | "dev": true,
898 | "engines": {
899 | "node": ">=0.10.0"
900 | }
901 | },
902 | "node_modules/style-mod": {
903 | "version": "4.1.2",
904 | "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.2.tgz",
905 | "integrity": "sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw=="
906 | },
907 | "node_modules/svelte": {
908 | "version": "3.57.0",
909 | "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.57.0.tgz",
910 | "integrity": "sha512-WMXEvF+RtAaclw0t3bPDTUe19pplMlfyKDsixbHQYgCWi9+O9VN0kXU1OppzrB9gPAvz4NALuoca2LfW2bOjTQ==",
911 | "dev": true,
912 | "engines": {
913 | "node": ">= 8"
914 | }
915 | },
916 | "node_modules/svelte-hmr": {
917 | "version": "0.15.3",
918 | "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.15.3.tgz",
919 | "integrity": "sha512-41snaPswvSf8TJUhlkoJBekRrABDXDMdpNpT2tfHIv4JuhgvHqLMhEPGtaQn0BmbNSTkuz2Ed20DF2eHw0SmBQ==",
920 | "dev": true,
921 | "engines": {
922 | "node": "^12.20 || ^14.13.1 || >= 16"
923 | },
924 | "peerDependencies": {
925 | "svelte": "^3.19.0 || ^4.0.0"
926 | }
927 | },
928 | "node_modules/tiny-glob": {
929 | "version": "0.2.9",
930 | "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz",
931 | "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==",
932 | "dev": true,
933 | "dependencies": {
934 | "globalyzer": "0.1.0",
935 | "globrex": "^0.1.2"
936 | }
937 | },
938 | "node_modules/totalist": {
939 | "version": "3.0.1",
940 | "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
941 | "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==",
942 | "dev": true,
943 | "engines": {
944 | "node": ">=6"
945 | }
946 | },
947 | "node_modules/undici": {
948 | "version": "5.28.4",
949 | "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.4.tgz",
950 | "integrity": "sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==",
951 | "dev": true,
952 | "dependencies": {
953 | "@fastify/busboy": "^2.0.0"
954 | },
955 | "engines": {
956 | "node": ">=14.0"
957 | }
958 | },
959 | "node_modules/vite": {
960 | "version": "4.5.3",
961 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.3.tgz",
962 | "integrity": "sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==",
963 | "dev": true,
964 | "dependencies": {
965 | "esbuild": "^0.18.10",
966 | "postcss": "^8.4.27",
967 | "rollup": "^3.27.1"
968 | },
969 | "bin": {
970 | "vite": "bin/vite.js"
971 | },
972 | "engines": {
973 | "node": "^14.18.0 || >=16.0.0"
974 | },
975 | "funding": {
976 | "url": "https://github.com/vitejs/vite?sponsor=1"
977 | },
978 | "optionalDependencies": {
979 | "fsevents": "~2.3.2"
980 | },
981 | "peerDependencies": {
982 | "@types/node": ">= 14",
983 | "less": "*",
984 | "lightningcss": "^1.21.0",
985 | "sass": "*",
986 | "stylus": "*",
987 | "sugarss": "*",
988 | "terser": "^5.4.0"
989 | },
990 | "peerDependenciesMeta": {
991 | "@types/node": {
992 | "optional": true
993 | },
994 | "less": {
995 | "optional": true
996 | },
997 | "lightningcss": {
998 | "optional": true
999 | },
1000 | "sass": {
1001 | "optional": true
1002 | },
1003 | "stylus": {
1004 | "optional": true
1005 | },
1006 | "sugarss": {
1007 | "optional": true
1008 | },
1009 | "terser": {
1010 | "optional": true
1011 | }
1012 | }
1013 | },
1014 | "node_modules/vitefu": {
1015 | "version": "0.2.5",
1016 | "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.5.tgz",
1017 | "integrity": "sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==",
1018 | "dev": true,
1019 | "peerDependencies": {
1020 | "vite": "^3.0.0 || ^4.0.0 || ^5.0.0"
1021 | },
1022 | "peerDependenciesMeta": {
1023 | "vite": {
1024 | "optional": true
1025 | }
1026 | }
1027 | },
1028 | "node_modules/w3c-keyname": {
1029 | "version": "2.2.8",
1030 | "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz",
1031 | "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ=="
1032 | }
1033 | }
1034 | }
1035 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "svg",
3 | "version": "0.0.1",
4 | "private": true,
5 | "scripts": {
6 | "dev": "vite dev",
7 | "build": "vite build",
8 | "preview": "vite preview"
9 | },
10 | "devDependencies": {
11 | "@sveltejs/adapter-static": "2.0.1",
12 | "@sveltejs/kit": "^1.22.4",
13 | "svelte": "3.57.0",
14 | "vite": "^4.4.8"
15 | },
16 | "type": "module",
17 | "dependencies": {
18 | "@codemirror/lang-css": "^6.0.0",
19 | "codemirror": "^6.0.1",
20 | "css-doodle": "0.40.2"
21 | },
22 | "engines": {
23 | "node": ">= 18.0.0"
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/css-doodle/svg/e5ac1c3851a0933bb9ce7f295cc145c6e948db54/screenshot.png
--------------------------------------------------------------------------------
/src/app.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
{svgCode}53 | {/if} 54 |