├── .gitignore
├── README.md
├── package-lock.json
├── package.json
├── public
├── favicon.png
├── global.css
└── index.html
├── rollup.config.js
├── scripts
└── setupTypeScript.js
├── src
├── App.svelte
├── Drawer.svelte
├── index.js
└── main.js
└── types
├── Drawer.svelte.d.ts
└── index.d.ts
/.gitignore:
--------------------------------------------------------------------------------
1 | /node_modules/
2 | /public/build/
3 |
4 | .DS_Store
5 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Svelte Drawer
3 |
4 | [Check out the demo](https://svelte.dev/repl/32443b9fad6447fe899a60596537db31?version=3.24.1)
5 |
6 | A Svelte component for a drawer that slides in from the side of the screen.
7 |
8 | Features:
9 | * CSS transitions
10 | * SSR Safe
11 | * Top, right, bottom, or left placement
12 | * Lock body scrolling when open
13 |
14 | ## Usage
15 |
16 | ```bash
17 | npm install svelte-drawer-component
18 | ```
19 |
20 | ```html
21 |
25 |
26 | open = true}>Open
27 |
28 |
29 | open = false}>Close
30 |
31 | ```
32 |
33 | The open state for the drawer is handled entirely by the user.
34 | This design gives the most control and flexibility over drawer functionality and styling.
35 | This means that if you want the drawer to close when the user clicks away, you need to listen for that event.
36 |
37 | ```html
38 | open = false}>
39 |
40 | ```
41 |
42 | For custom size and transition duration, use the props.
43 | Otherwise, if you want to style the drawer, then you can reach into the classes.
44 |
45 | ```html
46 |
47 |
48 |
49 |
50 |
60 | ```
61 |
62 | ## Parameters
63 |
64 | | Parameter | Default | Description |
65 | |-----------|---------|-------------------------------------------------|
66 | | open | false | Two-way binding for open state of the component |
67 | | placement | left | Side of screen to slide out from |
68 | | size | null | Panel size (e.g. '100px', '10em', '70%', null) |
69 | | duration | 0.2 | Transition duration in seconds |
70 |
71 | By default, the `size` of the panel is set to null and stretches to the size of its parent container.
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "svelte-drawer-component",
3 | "version": "1.2.1",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "svelte-drawer-component",
9 | "version": "1.2.1",
10 | "devDependencies": {
11 | "@rollup/plugin-commonjs": "^14.0.0",
12 | "@rollup/plugin-node-resolve": "^8.0.0",
13 | "rollup": "^2.3.4",
14 | "rollup-plugin-livereload": "^2.0.0",
15 | "rollup-plugin-svelte": "^6.0.0",
16 | "rollup-plugin-terser": "^7.0.0",
17 | "sirv-cli": "^2.0.2",
18 | "svelte": "^3.0.0"
19 | }
20 | },
21 | "node_modules/@babel/code-frame": {
22 | "version": "7.10.4",
23 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
24 | "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
25 | "dev": true,
26 | "dependencies": {
27 | "@babel/highlight": "^7.10.4"
28 | }
29 | },
30 | "node_modules/@babel/helper-validator-identifier": {
31 | "version": "7.10.4",
32 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
33 | "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
34 | "dev": true
35 | },
36 | "node_modules/@babel/highlight": {
37 | "version": "7.10.4",
38 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
39 | "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
40 | "dev": true,
41 | "dependencies": {
42 | "@babel/helper-validator-identifier": "^7.10.4",
43 | "chalk": "^2.0.0",
44 | "js-tokens": "^4.0.0"
45 | }
46 | },
47 | "node_modules/@polka/url": {
48 | "version": "1.0.0-next.21",
49 | "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz",
50 | "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==",
51 | "dev": true
52 | },
53 | "node_modules/@rollup/plugin-commonjs": {
54 | "version": "14.0.0",
55 | "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-14.0.0.tgz",
56 | "integrity": "sha512-+PSmD9ePwTAeU106i9FRdc+Zb3XUWyW26mo5Atr2mk82hor8+nPwkztEjFo8/B1fJKfaQDg9aM2bzQkjhi7zOw==",
57 | "dev": true,
58 | "dependencies": {
59 | "@rollup/pluginutils": "^3.0.8",
60 | "commondir": "^1.0.1",
61 | "estree-walker": "^1.0.1",
62 | "glob": "^7.1.2",
63 | "is-reference": "^1.1.2",
64 | "magic-string": "^0.25.2",
65 | "resolve": "^1.11.0"
66 | },
67 | "engines": {
68 | "node": ">= 8.0.0"
69 | },
70 | "peerDependencies": {
71 | "rollup": "^2.3.4"
72 | }
73 | },
74 | "node_modules/@rollup/plugin-node-resolve": {
75 | "version": "8.4.0",
76 | "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-8.4.0.tgz",
77 | "integrity": "sha512-LFqKdRLn0ShtQyf6SBYO69bGE1upV6wUhBX0vFOUnLAyzx5cwp8svA0eHUnu8+YU57XOkrMtfG63QOpQx25pHQ==",
78 | "dev": true,
79 | "dependencies": {
80 | "@rollup/pluginutils": "^3.1.0",
81 | "@types/resolve": "1.17.1",
82 | "builtin-modules": "^3.1.0",
83 | "deep-freeze": "^0.0.1",
84 | "deepmerge": "^4.2.2",
85 | "is-module": "^1.0.0",
86 | "resolve": "^1.17.0"
87 | },
88 | "engines": {
89 | "node": ">= 8.0.0"
90 | },
91 | "peerDependencies": {
92 | "rollup": "^1.20.0||^2.0.0"
93 | }
94 | },
95 | "node_modules/@rollup/pluginutils": {
96 | "version": "3.1.0",
97 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
98 | "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
99 | "dev": true,
100 | "dependencies": {
101 | "@types/estree": "0.0.39",
102 | "estree-walker": "^1.0.1",
103 | "picomatch": "^2.2.2"
104 | },
105 | "engines": {
106 | "node": ">= 8.0.0"
107 | },
108 | "peerDependencies": {
109 | "rollup": "^1.20.0||^2.0.0"
110 | }
111 | },
112 | "node_modules/@types/estree": {
113 | "version": "0.0.39",
114 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
115 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
116 | "dev": true
117 | },
118 | "node_modules/@types/node": {
119 | "version": "14.14.9",
120 | "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.9.tgz",
121 | "integrity": "sha512-JsoLXFppG62tWTklIoO4knA+oDTYsmqWxHRvd4lpmfQRNhX6osheUOWETP2jMoV/2bEHuMra8Pp3Dmo/stBFcw==",
122 | "dev": true
123 | },
124 | "node_modules/@types/resolve": {
125 | "version": "1.17.1",
126 | "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz",
127 | "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==",
128 | "dev": true,
129 | "dependencies": {
130 | "@types/node": "*"
131 | }
132 | },
133 | "node_modules/ansi-styles": {
134 | "version": "3.2.1",
135 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
136 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
137 | "dev": true,
138 | "dependencies": {
139 | "color-convert": "^1.9.0"
140 | },
141 | "engines": {
142 | "node": ">=4"
143 | }
144 | },
145 | "node_modules/anymatch": {
146 | "version": "3.1.1",
147 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
148 | "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
149 | "dev": true,
150 | "dependencies": {
151 | "normalize-path": "^3.0.0",
152 | "picomatch": "^2.0.4"
153 | },
154 | "engines": {
155 | "node": ">= 8"
156 | }
157 | },
158 | "node_modules/async-limiter": {
159 | "version": "1.0.1",
160 | "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
161 | "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
162 | "dev": true
163 | },
164 | "node_modules/balanced-match": {
165 | "version": "1.0.0",
166 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
167 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
168 | "dev": true
169 | },
170 | "node_modules/binary-extensions": {
171 | "version": "2.1.0",
172 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz",
173 | "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==",
174 | "dev": true,
175 | "engines": {
176 | "node": ">=8"
177 | }
178 | },
179 | "node_modules/brace-expansion": {
180 | "version": "1.1.11",
181 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
182 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
183 | "dev": true,
184 | "dependencies": {
185 | "balanced-match": "^1.0.0",
186 | "concat-map": "0.0.1"
187 | }
188 | },
189 | "node_modules/braces": {
190 | "version": "3.0.2",
191 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
192 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
193 | "dev": true,
194 | "dependencies": {
195 | "fill-range": "^7.0.1"
196 | },
197 | "engines": {
198 | "node": ">=8"
199 | }
200 | },
201 | "node_modules/buffer-from": {
202 | "version": "1.1.1",
203 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
204 | "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
205 | "dev": true
206 | },
207 | "node_modules/builtin-modules": {
208 | "version": "3.1.0",
209 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz",
210 | "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==",
211 | "dev": true,
212 | "engines": {
213 | "node": ">=6"
214 | }
215 | },
216 | "node_modules/chalk": {
217 | "version": "2.4.2",
218 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
219 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
220 | "dev": true,
221 | "dependencies": {
222 | "ansi-styles": "^3.2.1",
223 | "escape-string-regexp": "^1.0.5",
224 | "supports-color": "^5.3.0"
225 | },
226 | "engines": {
227 | "node": ">=4"
228 | }
229 | },
230 | "node_modules/chokidar": {
231 | "version": "3.4.3",
232 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz",
233 | "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==",
234 | "dev": true,
235 | "dependencies": {
236 | "anymatch": "~3.1.1",
237 | "braces": "~3.0.2",
238 | "glob-parent": "~5.1.0",
239 | "is-binary-path": "~2.1.0",
240 | "is-glob": "~4.0.1",
241 | "normalize-path": "~3.0.0",
242 | "readdirp": "~3.5.0"
243 | },
244 | "engines": {
245 | "node": ">= 8.10.0"
246 | },
247 | "optionalDependencies": {
248 | "fsevents": "~2.1.2"
249 | }
250 | },
251 | "node_modules/color-convert": {
252 | "version": "1.9.3",
253 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
254 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
255 | "dev": true,
256 | "dependencies": {
257 | "color-name": "1.1.3"
258 | }
259 | },
260 | "node_modules/color-name": {
261 | "version": "1.1.3",
262 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
263 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
264 | "dev": true
265 | },
266 | "node_modules/commander": {
267 | "version": "2.20.3",
268 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
269 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
270 | "dev": true
271 | },
272 | "node_modules/commondir": {
273 | "version": "1.0.1",
274 | "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
275 | "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
276 | "dev": true
277 | },
278 | "node_modules/concat-map": {
279 | "version": "0.0.1",
280 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
281 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
282 | "dev": true
283 | },
284 | "node_modules/console-clear": {
285 | "version": "1.1.1",
286 | "resolved": "https://registry.npmjs.org/console-clear/-/console-clear-1.1.1.tgz",
287 | "integrity": "sha512-pMD+MVR538ipqkG5JXeOEbKWS5um1H4LUUccUQG68qpeqBYbzYy79Gh55jkd2TtPdRfUaLWdv6LPP//5Zt0aPQ==",
288 | "dev": true,
289 | "engines": {
290 | "node": ">=4"
291 | }
292 | },
293 | "node_modules/deep-freeze": {
294 | "version": "0.0.1",
295 | "resolved": "https://registry.npmjs.org/deep-freeze/-/deep-freeze-0.0.1.tgz",
296 | "integrity": "sha1-OgsABd4YZygZ39OM0x+RF5yJPoQ=",
297 | "dev": true
298 | },
299 | "node_modules/deepmerge": {
300 | "version": "4.2.2",
301 | "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
302 | "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
303 | "dev": true,
304 | "engines": {
305 | "node": ">=0.10.0"
306 | }
307 | },
308 | "node_modules/escape-string-regexp": {
309 | "version": "1.0.5",
310 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
311 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
312 | "dev": true,
313 | "engines": {
314 | "node": ">=0.8.0"
315 | }
316 | },
317 | "node_modules/estree-walker": {
318 | "version": "1.0.1",
319 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
320 | "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
321 | "dev": true
322 | },
323 | "node_modules/fill-range": {
324 | "version": "7.0.1",
325 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
326 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
327 | "dev": true,
328 | "dependencies": {
329 | "to-regex-range": "^5.0.1"
330 | },
331 | "engines": {
332 | "node": ">=8"
333 | }
334 | },
335 | "node_modules/fs.realpath": {
336 | "version": "1.0.0",
337 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
338 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
339 | "dev": true
340 | },
341 | "node_modules/fsevents": {
342 | "version": "2.1.3",
343 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
344 | "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
345 | "deprecated": "\"Please update to latest v2.3 or v2.2\"",
346 | "dev": true,
347 | "hasInstallScript": true,
348 | "optional": true,
349 | "os": [
350 | "darwin"
351 | ],
352 | "engines": {
353 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
354 | }
355 | },
356 | "node_modules/function-bind": {
357 | "version": "1.1.1",
358 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
359 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
360 | "dev": true
361 | },
362 | "node_modules/get-port": {
363 | "version": "3.2.0",
364 | "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz",
365 | "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=",
366 | "dev": true,
367 | "engines": {
368 | "node": ">=4"
369 | }
370 | },
371 | "node_modules/glob": {
372 | "version": "7.1.6",
373 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
374 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
375 | "dev": true,
376 | "dependencies": {
377 | "fs.realpath": "^1.0.0",
378 | "inflight": "^1.0.4",
379 | "inherits": "2",
380 | "minimatch": "^3.0.4",
381 | "once": "^1.3.0",
382 | "path-is-absolute": "^1.0.0"
383 | },
384 | "engines": {
385 | "node": "*"
386 | },
387 | "funding": {
388 | "url": "https://github.com/sponsors/isaacs"
389 | }
390 | },
391 | "node_modules/glob-parent": {
392 | "version": "5.1.1",
393 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
394 | "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
395 | "dev": true,
396 | "dependencies": {
397 | "is-glob": "^4.0.1"
398 | },
399 | "engines": {
400 | "node": ">= 6"
401 | }
402 | },
403 | "node_modules/has": {
404 | "version": "1.0.3",
405 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
406 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
407 | "dev": true,
408 | "dependencies": {
409 | "function-bind": "^1.1.1"
410 | },
411 | "engines": {
412 | "node": ">= 0.4.0"
413 | }
414 | },
415 | "node_modules/has-flag": {
416 | "version": "3.0.0",
417 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
418 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
419 | "dev": true,
420 | "engines": {
421 | "node": ">=4"
422 | }
423 | },
424 | "node_modules/inflight": {
425 | "version": "1.0.6",
426 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
427 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
428 | "dev": true,
429 | "dependencies": {
430 | "once": "^1.3.0",
431 | "wrappy": "1"
432 | }
433 | },
434 | "node_modules/inherits": {
435 | "version": "2.0.4",
436 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
437 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
438 | "dev": true
439 | },
440 | "node_modules/is-binary-path": {
441 | "version": "2.1.0",
442 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
443 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
444 | "dev": true,
445 | "dependencies": {
446 | "binary-extensions": "^2.0.0"
447 | },
448 | "engines": {
449 | "node": ">=8"
450 | }
451 | },
452 | "node_modules/is-core-module": {
453 | "version": "2.1.0",
454 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz",
455 | "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==",
456 | "dev": true,
457 | "dependencies": {
458 | "has": "^1.0.3"
459 | },
460 | "funding": {
461 | "url": "https://github.com/sponsors/ljharb"
462 | }
463 | },
464 | "node_modules/is-extglob": {
465 | "version": "2.1.1",
466 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
467 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
468 | "dev": true,
469 | "engines": {
470 | "node": ">=0.10.0"
471 | }
472 | },
473 | "node_modules/is-glob": {
474 | "version": "4.0.1",
475 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
476 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
477 | "dev": true,
478 | "dependencies": {
479 | "is-extglob": "^2.1.1"
480 | },
481 | "engines": {
482 | "node": ">=0.10.0"
483 | }
484 | },
485 | "node_modules/is-module": {
486 | "version": "1.0.0",
487 | "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
488 | "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=",
489 | "dev": true
490 | },
491 | "node_modules/is-number": {
492 | "version": "7.0.0",
493 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
494 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
495 | "dev": true,
496 | "engines": {
497 | "node": ">=0.12.0"
498 | }
499 | },
500 | "node_modules/is-reference": {
501 | "version": "1.2.1",
502 | "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz",
503 | "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==",
504 | "dev": true,
505 | "dependencies": {
506 | "@types/estree": "*"
507 | }
508 | },
509 | "node_modules/jest-worker": {
510 | "version": "26.6.2",
511 | "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz",
512 | "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==",
513 | "dev": true,
514 | "dependencies": {
515 | "@types/node": "*",
516 | "merge-stream": "^2.0.0",
517 | "supports-color": "^7.0.0"
518 | },
519 | "engines": {
520 | "node": ">= 10.13.0"
521 | }
522 | },
523 | "node_modules/jest-worker/node_modules/has-flag": {
524 | "version": "4.0.0",
525 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
526 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
527 | "dev": true,
528 | "engines": {
529 | "node": ">=8"
530 | }
531 | },
532 | "node_modules/jest-worker/node_modules/supports-color": {
533 | "version": "7.2.0",
534 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
535 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
536 | "dev": true,
537 | "dependencies": {
538 | "has-flag": "^4.0.0"
539 | },
540 | "engines": {
541 | "node": ">=8"
542 | }
543 | },
544 | "node_modules/js-tokens": {
545 | "version": "4.0.0",
546 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
547 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
548 | "dev": true
549 | },
550 | "node_modules/kleur": {
551 | "version": "4.1.4",
552 | "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz",
553 | "integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==",
554 | "dev": true,
555 | "engines": {
556 | "node": ">=6"
557 | }
558 | },
559 | "node_modules/livereload": {
560 | "version": "0.9.1",
561 | "resolved": "https://registry.npmjs.org/livereload/-/livereload-0.9.1.tgz",
562 | "integrity": "sha512-9g7sua11kkyZNo2hLRCG3LuZZwqexoyEyecSlV8cAsfAVVCZqLzVir6XDqmH0r+Vzgnd5LrdHDMyjtFnJQLAYw==",
563 | "dev": true,
564 | "dependencies": {
565 | "chokidar": "^3.3.0",
566 | "livereload-js": "^3.1.0",
567 | "opts": ">= 1.2.0",
568 | "ws": "^6.2.1"
569 | },
570 | "bin": {
571 | "livereload": "bin/livereload.js"
572 | },
573 | "engines": {
574 | "node": ">=8.0.0"
575 | }
576 | },
577 | "node_modules/livereload-js": {
578 | "version": "3.3.1",
579 | "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-3.3.1.tgz",
580 | "integrity": "sha512-CBu1gTEfzVhlOK1WASKAAJ9Qx1fHECTq0SUB67sfxwQssopTyvzqTlgl+c0h9pZ6V+Fzd2rc510ppuNusg9teQ==",
581 | "dev": true
582 | },
583 | "node_modules/local-access": {
584 | "version": "1.1.0",
585 | "resolved": "https://registry.npmjs.org/local-access/-/local-access-1.1.0.tgz",
586 | "integrity": "sha512-XfegD5pyTAfb+GY6chk283Ox5z8WexG56OvM06RWLpAc/UHozO8X6xAxEkIitZOtsSMM1Yr3DkHgW5W+onLhCw==",
587 | "dev": true,
588 | "engines": {
589 | "node": ">=6"
590 | }
591 | },
592 | "node_modules/magic-string": {
593 | "version": "0.25.7",
594 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
595 | "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
596 | "dev": true,
597 | "dependencies": {
598 | "sourcemap-codec": "^1.4.4"
599 | }
600 | },
601 | "node_modules/merge-stream": {
602 | "version": "2.0.0",
603 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
604 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
605 | "dev": true
606 | },
607 | "node_modules/minimatch": {
608 | "version": "3.0.4",
609 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
610 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
611 | "dev": true,
612 | "dependencies": {
613 | "brace-expansion": "^1.1.7"
614 | },
615 | "engines": {
616 | "node": "*"
617 | }
618 | },
619 | "node_modules/mri": {
620 | "version": "1.1.6",
621 | "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.6.tgz",
622 | "integrity": "sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==",
623 | "dev": true,
624 | "engines": {
625 | "node": ">=4"
626 | }
627 | },
628 | "node_modules/mrmime": {
629 | "version": "1.0.0",
630 | "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.0.tgz",
631 | "integrity": "sha512-a70zx7zFfVO7XpnQ2IX1Myh9yY4UYvfld/dikWRnsXxbyvMcfz+u6UfgNAtH+k2QqtJuzVpv6eLTx1G2+WKZbQ==",
632 | "dev": true,
633 | "engines": {
634 | "node": ">=10"
635 | }
636 | },
637 | "node_modules/normalize-path": {
638 | "version": "3.0.0",
639 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
640 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
641 | "dev": true,
642 | "engines": {
643 | "node": ">=0.10.0"
644 | }
645 | },
646 | "node_modules/once": {
647 | "version": "1.4.0",
648 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
649 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
650 | "dev": true,
651 | "dependencies": {
652 | "wrappy": "1"
653 | }
654 | },
655 | "node_modules/opts": {
656 | "version": "2.0.2",
657 | "resolved": "https://registry.npmjs.org/opts/-/opts-2.0.2.tgz",
658 | "integrity": "sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg==",
659 | "dev": true
660 | },
661 | "node_modules/path-is-absolute": {
662 | "version": "1.0.1",
663 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
664 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
665 | "dev": true,
666 | "engines": {
667 | "node": ">=0.10.0"
668 | }
669 | },
670 | "node_modules/path-parse": {
671 | "version": "1.0.6",
672 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
673 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
674 | "dev": true
675 | },
676 | "node_modules/picomatch": {
677 | "version": "2.2.2",
678 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
679 | "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
680 | "dev": true,
681 | "engines": {
682 | "node": ">=8.6"
683 | },
684 | "funding": {
685 | "url": "https://github.com/sponsors/jonschlinkert"
686 | }
687 | },
688 | "node_modules/randombytes": {
689 | "version": "2.1.0",
690 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
691 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
692 | "dev": true,
693 | "dependencies": {
694 | "safe-buffer": "^5.1.0"
695 | }
696 | },
697 | "node_modules/readdirp": {
698 | "version": "3.5.0",
699 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
700 | "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
701 | "dev": true,
702 | "dependencies": {
703 | "picomatch": "^2.2.1"
704 | },
705 | "engines": {
706 | "node": ">=8.10.0"
707 | }
708 | },
709 | "node_modules/require-relative": {
710 | "version": "0.8.7",
711 | "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz",
712 | "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=",
713 | "dev": true
714 | },
715 | "node_modules/resolve": {
716 | "version": "1.19.0",
717 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz",
718 | "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==",
719 | "dev": true,
720 | "dependencies": {
721 | "is-core-module": "^2.1.0",
722 | "path-parse": "^1.0.6"
723 | },
724 | "funding": {
725 | "url": "https://github.com/sponsors/ljharb"
726 | }
727 | },
728 | "node_modules/rollup": {
729 | "version": "2.33.3",
730 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.33.3.tgz",
731 | "integrity": "sha512-RpayhPTe4Gu/uFGCmk7Gp5Z9Qic2VsqZ040G+KZZvsZYdcuWaJg678JeDJJvJeEQXminu24a2au+y92CUWVd+w==",
732 | "dev": true,
733 | "bin": {
734 | "rollup": "dist/bin/rollup"
735 | },
736 | "engines": {
737 | "node": ">=10.0.0"
738 | },
739 | "optionalDependencies": {
740 | "fsevents": "~2.1.2"
741 | }
742 | },
743 | "node_modules/rollup-plugin-livereload": {
744 | "version": "2.0.0",
745 | "resolved": "https://registry.npmjs.org/rollup-plugin-livereload/-/rollup-plugin-livereload-2.0.0.tgz",
746 | "integrity": "sha512-oC/8NqumGYuphkqrfszOHUUIwzKsaHBICw6QRwT5uD07gvePTS+HW+GFwu6f9K8W02CUuTvtIM9AWJrbj4wE1A==",
747 | "dev": true,
748 | "dependencies": {
749 | "livereload": "^0.9.1"
750 | },
751 | "engines": {
752 | "node": ">=8.3"
753 | }
754 | },
755 | "node_modules/rollup-plugin-svelte": {
756 | "version": "6.1.1",
757 | "resolved": "https://registry.npmjs.org/rollup-plugin-svelte/-/rollup-plugin-svelte-6.1.1.tgz",
758 | "integrity": "sha512-ijnm0pH1ScrY4uxwaNXBpNVejVzpL2769hIEbAlnqNUWZrffLspu5/k9/l/Wsj3NrEHLQ6wCKGagVJonyfN7ow==",
759 | "dev": true,
760 | "dependencies": {
761 | "require-relative": "^0.8.7",
762 | "rollup-pluginutils": "^2.8.2",
763 | "sourcemap-codec": "^1.4.8"
764 | },
765 | "peerDependencies": {
766 | "rollup": ">=1.19.2",
767 | "svelte": "*"
768 | }
769 | },
770 | "node_modules/rollup-plugin-terser": {
771 | "version": "7.0.2",
772 | "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz",
773 | "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==",
774 | "dev": true,
775 | "dependencies": {
776 | "@babel/code-frame": "^7.10.4",
777 | "jest-worker": "^26.2.1",
778 | "serialize-javascript": "^4.0.0",
779 | "terser": "^5.0.0"
780 | },
781 | "peerDependencies": {
782 | "rollup": "^2.0.0"
783 | }
784 | },
785 | "node_modules/rollup-pluginutils": {
786 | "version": "2.8.2",
787 | "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz",
788 | "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==",
789 | "dev": true,
790 | "dependencies": {
791 | "estree-walker": "^0.6.1"
792 | }
793 | },
794 | "node_modules/rollup-pluginutils/node_modules/estree-walker": {
795 | "version": "0.6.1",
796 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
797 | "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==",
798 | "dev": true
799 | },
800 | "node_modules/sade": {
801 | "version": "1.7.4",
802 | "resolved": "https://registry.npmjs.org/sade/-/sade-1.7.4.tgz",
803 | "integrity": "sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==",
804 | "dev": true,
805 | "dependencies": {
806 | "mri": "^1.1.0"
807 | },
808 | "engines": {
809 | "node": ">= 6"
810 | }
811 | },
812 | "node_modules/safe-buffer": {
813 | "version": "5.2.1",
814 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
815 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
816 | "dev": true,
817 | "funding": [
818 | {
819 | "type": "github",
820 | "url": "https://github.com/sponsors/feross"
821 | },
822 | {
823 | "type": "patreon",
824 | "url": "https://www.patreon.com/feross"
825 | },
826 | {
827 | "type": "consulting",
828 | "url": "https://feross.org/support"
829 | }
830 | ]
831 | },
832 | "node_modules/semiver": {
833 | "version": "1.1.0",
834 | "resolved": "https://registry.npmjs.org/semiver/-/semiver-1.1.0.tgz",
835 | "integrity": "sha512-QNI2ChmuioGC1/xjyYwyZYADILWyW6AmS1UH6gDj/SFUUUS4MBAWs/7mxnkRPc/F4iHezDP+O8t0dO8WHiEOdg==",
836 | "dev": true,
837 | "engines": {
838 | "node": ">=6"
839 | }
840 | },
841 | "node_modules/serialize-javascript": {
842 | "version": "4.0.0",
843 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
844 | "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
845 | "dev": true,
846 | "dependencies": {
847 | "randombytes": "^2.1.0"
848 | }
849 | },
850 | "node_modules/sirv": {
851 | "version": "2.0.2",
852 | "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.2.tgz",
853 | "integrity": "sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==",
854 | "dev": true,
855 | "dependencies": {
856 | "@polka/url": "^1.0.0-next.20",
857 | "mrmime": "^1.0.0",
858 | "totalist": "^3.0.0"
859 | },
860 | "engines": {
861 | "node": ">= 10"
862 | }
863 | },
864 | "node_modules/sirv-cli": {
865 | "version": "2.0.2",
866 | "resolved": "https://registry.npmjs.org/sirv-cli/-/sirv-cli-2.0.2.tgz",
867 | "integrity": "sha512-OtSJDwxsF1NWHc7ps3Sa0s+dPtP15iQNJzfKVz+MxkEo3z72mCD+yu30ct79rPr0CaV1HXSOBp+MIY5uIhHZ1A==",
868 | "dev": true,
869 | "dependencies": {
870 | "console-clear": "^1.1.0",
871 | "get-port": "^3.2.0",
872 | "kleur": "^4.1.4",
873 | "local-access": "^1.0.1",
874 | "sade": "^1.6.0",
875 | "semiver": "^1.0.0",
876 | "sirv": "^2.0.0",
877 | "tinydate": "^1.0.0"
878 | },
879 | "bin": {
880 | "sirv": "bin.js"
881 | },
882 | "engines": {
883 | "node": ">= 10"
884 | }
885 | },
886 | "node_modules/source-map": {
887 | "version": "0.7.3",
888 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
889 | "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
890 | "dev": true,
891 | "engines": {
892 | "node": ">= 8"
893 | }
894 | },
895 | "node_modules/source-map-support": {
896 | "version": "0.5.19",
897 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
898 | "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
899 | "dev": true,
900 | "dependencies": {
901 | "buffer-from": "^1.0.0",
902 | "source-map": "^0.6.0"
903 | }
904 | },
905 | "node_modules/source-map-support/node_modules/source-map": {
906 | "version": "0.6.1",
907 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
908 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
909 | "dev": true,
910 | "engines": {
911 | "node": ">=0.10.0"
912 | }
913 | },
914 | "node_modules/sourcemap-codec": {
915 | "version": "1.4.8",
916 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
917 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
918 | "dev": true
919 | },
920 | "node_modules/supports-color": {
921 | "version": "5.5.0",
922 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
923 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
924 | "dev": true,
925 | "dependencies": {
926 | "has-flag": "^3.0.0"
927 | },
928 | "engines": {
929 | "node": ">=4"
930 | }
931 | },
932 | "node_modules/svelte": {
933 | "version": "3.29.7",
934 | "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.29.7.tgz",
935 | "integrity": "sha512-rx0g311kBODvEWUU01DFBUl3MJuJven04bvTVFUG/w0On/wuj0PajQY/QlXcJndFxG+W1s8iXKaB418tdHWc3A==",
936 | "dev": true,
937 | "engines": {
938 | "node": ">= 8"
939 | }
940 | },
941 | "node_modules/terser": {
942 | "version": "5.5.0",
943 | "resolved": "https://registry.npmjs.org/terser/-/terser-5.5.0.tgz",
944 | "integrity": "sha512-eopt1Gf7/AQyPhpygdKePTzaet31TvQxXvrf7xYUvD/d8qkCJm4SKPDzu+GHK5ZaYTn8rvttfqaZc3swK21e5g==",
945 | "dev": true,
946 | "dependencies": {
947 | "commander": "^2.20.0",
948 | "source-map": "~0.7.2",
949 | "source-map-support": "~0.5.19"
950 | },
951 | "bin": {
952 | "terser": "bin/terser"
953 | },
954 | "engines": {
955 | "node": ">=10"
956 | }
957 | },
958 | "node_modules/tinydate": {
959 | "version": "1.3.0",
960 | "resolved": "https://registry.npmjs.org/tinydate/-/tinydate-1.3.0.tgz",
961 | "integrity": "sha512-7cR8rLy2QhYHpsBDBVYnnWXm8uRTr38RoZakFSW7Bs7PzfMPNZthuMLkwqZv7MTu8lhQ91cOFYS5a7iFj2oR3w==",
962 | "dev": true,
963 | "engines": {
964 | "node": ">=4"
965 | }
966 | },
967 | "node_modules/to-regex-range": {
968 | "version": "5.0.1",
969 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
970 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
971 | "dev": true,
972 | "dependencies": {
973 | "is-number": "^7.0.0"
974 | },
975 | "engines": {
976 | "node": ">=8.0"
977 | }
978 | },
979 | "node_modules/totalist": {
980 | "version": "3.0.0",
981 | "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.0.tgz",
982 | "integrity": "sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==",
983 | "dev": true,
984 | "engines": {
985 | "node": ">=6"
986 | }
987 | },
988 | "node_modules/wrappy": {
989 | "version": "1.0.2",
990 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
991 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
992 | "dev": true
993 | },
994 | "node_modules/ws": {
995 | "version": "6.2.1",
996 | "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
997 | "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
998 | "dev": true,
999 | "dependencies": {
1000 | "async-limiter": "~1.0.0"
1001 | }
1002 | }
1003 | },
1004 | "dependencies": {
1005 | "@babel/code-frame": {
1006 | "version": "7.10.4",
1007 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
1008 | "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
1009 | "dev": true,
1010 | "requires": {
1011 | "@babel/highlight": "^7.10.4"
1012 | }
1013 | },
1014 | "@babel/helper-validator-identifier": {
1015 | "version": "7.10.4",
1016 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
1017 | "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
1018 | "dev": true
1019 | },
1020 | "@babel/highlight": {
1021 | "version": "7.10.4",
1022 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
1023 | "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
1024 | "dev": true,
1025 | "requires": {
1026 | "@babel/helper-validator-identifier": "^7.10.4",
1027 | "chalk": "^2.0.0",
1028 | "js-tokens": "^4.0.0"
1029 | }
1030 | },
1031 | "@polka/url": {
1032 | "version": "1.0.0-next.21",
1033 | "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz",
1034 | "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==",
1035 | "dev": true
1036 | },
1037 | "@rollup/plugin-commonjs": {
1038 | "version": "14.0.0",
1039 | "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-14.0.0.tgz",
1040 | "integrity": "sha512-+PSmD9ePwTAeU106i9FRdc+Zb3XUWyW26mo5Atr2mk82hor8+nPwkztEjFo8/B1fJKfaQDg9aM2bzQkjhi7zOw==",
1041 | "dev": true,
1042 | "requires": {
1043 | "@rollup/pluginutils": "^3.0.8",
1044 | "commondir": "^1.0.1",
1045 | "estree-walker": "^1.0.1",
1046 | "glob": "^7.1.2",
1047 | "is-reference": "^1.1.2",
1048 | "magic-string": "^0.25.2",
1049 | "resolve": "^1.11.0"
1050 | }
1051 | },
1052 | "@rollup/plugin-node-resolve": {
1053 | "version": "8.4.0",
1054 | "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-8.4.0.tgz",
1055 | "integrity": "sha512-LFqKdRLn0ShtQyf6SBYO69bGE1upV6wUhBX0vFOUnLAyzx5cwp8svA0eHUnu8+YU57XOkrMtfG63QOpQx25pHQ==",
1056 | "dev": true,
1057 | "requires": {
1058 | "@rollup/pluginutils": "^3.1.0",
1059 | "@types/resolve": "1.17.1",
1060 | "builtin-modules": "^3.1.0",
1061 | "deep-freeze": "^0.0.1",
1062 | "deepmerge": "^4.2.2",
1063 | "is-module": "^1.0.0",
1064 | "resolve": "^1.17.0"
1065 | }
1066 | },
1067 | "@rollup/pluginutils": {
1068 | "version": "3.1.0",
1069 | "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
1070 | "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
1071 | "dev": true,
1072 | "requires": {
1073 | "@types/estree": "0.0.39",
1074 | "estree-walker": "^1.0.1",
1075 | "picomatch": "^2.2.2"
1076 | }
1077 | },
1078 | "@types/estree": {
1079 | "version": "0.0.39",
1080 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
1081 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
1082 | "dev": true
1083 | },
1084 | "@types/node": {
1085 | "version": "14.14.9",
1086 | "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.9.tgz",
1087 | "integrity": "sha512-JsoLXFppG62tWTklIoO4knA+oDTYsmqWxHRvd4lpmfQRNhX6osheUOWETP2jMoV/2bEHuMra8Pp3Dmo/stBFcw==",
1088 | "dev": true
1089 | },
1090 | "@types/resolve": {
1091 | "version": "1.17.1",
1092 | "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz",
1093 | "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==",
1094 | "dev": true,
1095 | "requires": {
1096 | "@types/node": "*"
1097 | }
1098 | },
1099 | "ansi-styles": {
1100 | "version": "3.2.1",
1101 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
1102 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
1103 | "dev": true,
1104 | "requires": {
1105 | "color-convert": "^1.9.0"
1106 | }
1107 | },
1108 | "anymatch": {
1109 | "version": "3.1.1",
1110 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz",
1111 | "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==",
1112 | "dev": true,
1113 | "requires": {
1114 | "normalize-path": "^3.0.0",
1115 | "picomatch": "^2.0.4"
1116 | }
1117 | },
1118 | "async-limiter": {
1119 | "version": "1.0.1",
1120 | "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz",
1121 | "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
1122 | "dev": true
1123 | },
1124 | "balanced-match": {
1125 | "version": "1.0.0",
1126 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
1127 | "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
1128 | "dev": true
1129 | },
1130 | "binary-extensions": {
1131 | "version": "2.1.0",
1132 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz",
1133 | "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==",
1134 | "dev": true
1135 | },
1136 | "brace-expansion": {
1137 | "version": "1.1.11",
1138 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
1139 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
1140 | "dev": true,
1141 | "requires": {
1142 | "balanced-match": "^1.0.0",
1143 | "concat-map": "0.0.1"
1144 | }
1145 | },
1146 | "braces": {
1147 | "version": "3.0.2",
1148 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
1149 | "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
1150 | "dev": true,
1151 | "requires": {
1152 | "fill-range": "^7.0.1"
1153 | }
1154 | },
1155 | "buffer-from": {
1156 | "version": "1.1.1",
1157 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
1158 | "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
1159 | "dev": true
1160 | },
1161 | "builtin-modules": {
1162 | "version": "3.1.0",
1163 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz",
1164 | "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==",
1165 | "dev": true
1166 | },
1167 | "chalk": {
1168 | "version": "2.4.2",
1169 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
1170 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
1171 | "dev": true,
1172 | "requires": {
1173 | "ansi-styles": "^3.2.1",
1174 | "escape-string-regexp": "^1.0.5",
1175 | "supports-color": "^5.3.0"
1176 | }
1177 | },
1178 | "chokidar": {
1179 | "version": "3.4.3",
1180 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz",
1181 | "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==",
1182 | "dev": true,
1183 | "requires": {
1184 | "anymatch": "~3.1.1",
1185 | "braces": "~3.0.2",
1186 | "fsevents": "~2.1.2",
1187 | "glob-parent": "~5.1.0",
1188 | "is-binary-path": "~2.1.0",
1189 | "is-glob": "~4.0.1",
1190 | "normalize-path": "~3.0.0",
1191 | "readdirp": "~3.5.0"
1192 | }
1193 | },
1194 | "color-convert": {
1195 | "version": "1.9.3",
1196 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
1197 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
1198 | "dev": true,
1199 | "requires": {
1200 | "color-name": "1.1.3"
1201 | }
1202 | },
1203 | "color-name": {
1204 | "version": "1.1.3",
1205 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
1206 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
1207 | "dev": true
1208 | },
1209 | "commander": {
1210 | "version": "2.20.3",
1211 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
1212 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
1213 | "dev": true
1214 | },
1215 | "commondir": {
1216 | "version": "1.0.1",
1217 | "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
1218 | "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=",
1219 | "dev": true
1220 | },
1221 | "concat-map": {
1222 | "version": "0.0.1",
1223 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
1224 | "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
1225 | "dev": true
1226 | },
1227 | "console-clear": {
1228 | "version": "1.1.1",
1229 | "resolved": "https://registry.npmjs.org/console-clear/-/console-clear-1.1.1.tgz",
1230 | "integrity": "sha512-pMD+MVR538ipqkG5JXeOEbKWS5um1H4LUUccUQG68qpeqBYbzYy79Gh55jkd2TtPdRfUaLWdv6LPP//5Zt0aPQ==",
1231 | "dev": true
1232 | },
1233 | "deep-freeze": {
1234 | "version": "0.0.1",
1235 | "resolved": "https://registry.npmjs.org/deep-freeze/-/deep-freeze-0.0.1.tgz",
1236 | "integrity": "sha1-OgsABd4YZygZ39OM0x+RF5yJPoQ=",
1237 | "dev": true
1238 | },
1239 | "deepmerge": {
1240 | "version": "4.2.2",
1241 | "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
1242 | "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
1243 | "dev": true
1244 | },
1245 | "escape-string-regexp": {
1246 | "version": "1.0.5",
1247 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
1248 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
1249 | "dev": true
1250 | },
1251 | "estree-walker": {
1252 | "version": "1.0.1",
1253 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz",
1254 | "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==",
1255 | "dev": true
1256 | },
1257 | "fill-range": {
1258 | "version": "7.0.1",
1259 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
1260 | "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
1261 | "dev": true,
1262 | "requires": {
1263 | "to-regex-range": "^5.0.1"
1264 | }
1265 | },
1266 | "fs.realpath": {
1267 | "version": "1.0.0",
1268 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1269 | "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
1270 | "dev": true
1271 | },
1272 | "fsevents": {
1273 | "version": "2.1.3",
1274 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz",
1275 | "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==",
1276 | "dev": true,
1277 | "optional": true
1278 | },
1279 | "function-bind": {
1280 | "version": "1.1.1",
1281 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1282 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
1283 | "dev": true
1284 | },
1285 | "get-port": {
1286 | "version": "3.2.0",
1287 | "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz",
1288 | "integrity": "sha1-3Xzn3hh8Bsi/NTeWrHHgmfCYDrw=",
1289 | "dev": true
1290 | },
1291 | "glob": {
1292 | "version": "7.1.6",
1293 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
1294 | "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
1295 | "dev": true,
1296 | "requires": {
1297 | "fs.realpath": "^1.0.0",
1298 | "inflight": "^1.0.4",
1299 | "inherits": "2",
1300 | "minimatch": "^3.0.4",
1301 | "once": "^1.3.0",
1302 | "path-is-absolute": "^1.0.0"
1303 | }
1304 | },
1305 | "glob-parent": {
1306 | "version": "5.1.1",
1307 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz",
1308 | "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==",
1309 | "dev": true,
1310 | "requires": {
1311 | "is-glob": "^4.0.1"
1312 | }
1313 | },
1314 | "has": {
1315 | "version": "1.0.3",
1316 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1317 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1318 | "dev": true,
1319 | "requires": {
1320 | "function-bind": "^1.1.1"
1321 | }
1322 | },
1323 | "has-flag": {
1324 | "version": "3.0.0",
1325 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
1326 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
1327 | "dev": true
1328 | },
1329 | "inflight": {
1330 | "version": "1.0.6",
1331 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1332 | "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
1333 | "dev": true,
1334 | "requires": {
1335 | "once": "^1.3.0",
1336 | "wrappy": "1"
1337 | }
1338 | },
1339 | "inherits": {
1340 | "version": "2.0.4",
1341 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1342 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
1343 | "dev": true
1344 | },
1345 | "is-binary-path": {
1346 | "version": "2.1.0",
1347 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
1348 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
1349 | "dev": true,
1350 | "requires": {
1351 | "binary-extensions": "^2.0.0"
1352 | }
1353 | },
1354 | "is-core-module": {
1355 | "version": "2.1.0",
1356 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz",
1357 | "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==",
1358 | "dev": true,
1359 | "requires": {
1360 | "has": "^1.0.3"
1361 | }
1362 | },
1363 | "is-extglob": {
1364 | "version": "2.1.1",
1365 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
1366 | "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
1367 | "dev": true
1368 | },
1369 | "is-glob": {
1370 | "version": "4.0.1",
1371 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
1372 | "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
1373 | "dev": true,
1374 | "requires": {
1375 | "is-extglob": "^2.1.1"
1376 | }
1377 | },
1378 | "is-module": {
1379 | "version": "1.0.0",
1380 | "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
1381 | "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=",
1382 | "dev": true
1383 | },
1384 | "is-number": {
1385 | "version": "7.0.0",
1386 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
1387 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
1388 | "dev": true
1389 | },
1390 | "is-reference": {
1391 | "version": "1.2.1",
1392 | "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz",
1393 | "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==",
1394 | "dev": true,
1395 | "requires": {
1396 | "@types/estree": "*"
1397 | }
1398 | },
1399 | "jest-worker": {
1400 | "version": "26.6.2",
1401 | "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz",
1402 | "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==",
1403 | "dev": true,
1404 | "requires": {
1405 | "@types/node": "*",
1406 | "merge-stream": "^2.0.0",
1407 | "supports-color": "^7.0.0"
1408 | },
1409 | "dependencies": {
1410 | "has-flag": {
1411 | "version": "4.0.0",
1412 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1413 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1414 | "dev": true
1415 | },
1416 | "supports-color": {
1417 | "version": "7.2.0",
1418 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
1419 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
1420 | "dev": true,
1421 | "requires": {
1422 | "has-flag": "^4.0.0"
1423 | }
1424 | }
1425 | }
1426 | },
1427 | "js-tokens": {
1428 | "version": "4.0.0",
1429 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
1430 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
1431 | "dev": true
1432 | },
1433 | "kleur": {
1434 | "version": "4.1.4",
1435 | "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz",
1436 | "integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==",
1437 | "dev": true
1438 | },
1439 | "livereload": {
1440 | "version": "0.9.1",
1441 | "resolved": "https://registry.npmjs.org/livereload/-/livereload-0.9.1.tgz",
1442 | "integrity": "sha512-9g7sua11kkyZNo2hLRCG3LuZZwqexoyEyecSlV8cAsfAVVCZqLzVir6XDqmH0r+Vzgnd5LrdHDMyjtFnJQLAYw==",
1443 | "dev": true,
1444 | "requires": {
1445 | "chokidar": "^3.3.0",
1446 | "livereload-js": "^3.1.0",
1447 | "opts": ">= 1.2.0",
1448 | "ws": "^6.2.1"
1449 | }
1450 | },
1451 | "livereload-js": {
1452 | "version": "3.3.1",
1453 | "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-3.3.1.tgz",
1454 | "integrity": "sha512-CBu1gTEfzVhlOK1WASKAAJ9Qx1fHECTq0SUB67sfxwQssopTyvzqTlgl+c0h9pZ6V+Fzd2rc510ppuNusg9teQ==",
1455 | "dev": true
1456 | },
1457 | "local-access": {
1458 | "version": "1.1.0",
1459 | "resolved": "https://registry.npmjs.org/local-access/-/local-access-1.1.0.tgz",
1460 | "integrity": "sha512-XfegD5pyTAfb+GY6chk283Ox5z8WexG56OvM06RWLpAc/UHozO8X6xAxEkIitZOtsSMM1Yr3DkHgW5W+onLhCw==",
1461 | "dev": true
1462 | },
1463 | "magic-string": {
1464 | "version": "0.25.7",
1465 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
1466 | "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
1467 | "dev": true,
1468 | "requires": {
1469 | "sourcemap-codec": "^1.4.4"
1470 | }
1471 | },
1472 | "merge-stream": {
1473 | "version": "2.0.0",
1474 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
1475 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
1476 | "dev": true
1477 | },
1478 | "minimatch": {
1479 | "version": "3.0.4",
1480 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
1481 | "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
1482 | "dev": true,
1483 | "requires": {
1484 | "brace-expansion": "^1.1.7"
1485 | }
1486 | },
1487 | "mri": {
1488 | "version": "1.1.6",
1489 | "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.6.tgz",
1490 | "integrity": "sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==",
1491 | "dev": true
1492 | },
1493 | "mrmime": {
1494 | "version": "1.0.0",
1495 | "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.0.tgz",
1496 | "integrity": "sha512-a70zx7zFfVO7XpnQ2IX1Myh9yY4UYvfld/dikWRnsXxbyvMcfz+u6UfgNAtH+k2QqtJuzVpv6eLTx1G2+WKZbQ==",
1497 | "dev": true
1498 | },
1499 | "normalize-path": {
1500 | "version": "3.0.0",
1501 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
1502 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
1503 | "dev": true
1504 | },
1505 | "once": {
1506 | "version": "1.4.0",
1507 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1508 | "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
1509 | "dev": true,
1510 | "requires": {
1511 | "wrappy": "1"
1512 | }
1513 | },
1514 | "opts": {
1515 | "version": "2.0.2",
1516 | "resolved": "https://registry.npmjs.org/opts/-/opts-2.0.2.tgz",
1517 | "integrity": "sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg==",
1518 | "dev": true
1519 | },
1520 | "path-is-absolute": {
1521 | "version": "1.0.1",
1522 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1523 | "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
1524 | "dev": true
1525 | },
1526 | "path-parse": {
1527 | "version": "1.0.6",
1528 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
1529 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
1530 | "dev": true
1531 | },
1532 | "picomatch": {
1533 | "version": "2.2.2",
1534 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz",
1535 | "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==",
1536 | "dev": true
1537 | },
1538 | "randombytes": {
1539 | "version": "2.1.0",
1540 | "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
1541 | "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
1542 | "dev": true,
1543 | "requires": {
1544 | "safe-buffer": "^5.1.0"
1545 | }
1546 | },
1547 | "readdirp": {
1548 | "version": "3.5.0",
1549 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
1550 | "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
1551 | "dev": true,
1552 | "requires": {
1553 | "picomatch": "^2.2.1"
1554 | }
1555 | },
1556 | "require-relative": {
1557 | "version": "0.8.7",
1558 | "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz",
1559 | "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=",
1560 | "dev": true
1561 | },
1562 | "resolve": {
1563 | "version": "1.19.0",
1564 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz",
1565 | "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==",
1566 | "dev": true,
1567 | "requires": {
1568 | "is-core-module": "^2.1.0",
1569 | "path-parse": "^1.0.6"
1570 | }
1571 | },
1572 | "rollup": {
1573 | "version": "2.33.3",
1574 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.33.3.tgz",
1575 | "integrity": "sha512-RpayhPTe4Gu/uFGCmk7Gp5Z9Qic2VsqZ040G+KZZvsZYdcuWaJg678JeDJJvJeEQXminu24a2au+y92CUWVd+w==",
1576 | "dev": true,
1577 | "requires": {
1578 | "fsevents": "~2.1.2"
1579 | }
1580 | },
1581 | "rollup-plugin-livereload": {
1582 | "version": "2.0.0",
1583 | "resolved": "https://registry.npmjs.org/rollup-plugin-livereload/-/rollup-plugin-livereload-2.0.0.tgz",
1584 | "integrity": "sha512-oC/8NqumGYuphkqrfszOHUUIwzKsaHBICw6QRwT5uD07gvePTS+HW+GFwu6f9K8W02CUuTvtIM9AWJrbj4wE1A==",
1585 | "dev": true,
1586 | "requires": {
1587 | "livereload": "^0.9.1"
1588 | }
1589 | },
1590 | "rollup-plugin-svelte": {
1591 | "version": "6.1.1",
1592 | "resolved": "https://registry.npmjs.org/rollup-plugin-svelte/-/rollup-plugin-svelte-6.1.1.tgz",
1593 | "integrity": "sha512-ijnm0pH1ScrY4uxwaNXBpNVejVzpL2769hIEbAlnqNUWZrffLspu5/k9/l/Wsj3NrEHLQ6wCKGagVJonyfN7ow==",
1594 | "dev": true,
1595 | "requires": {
1596 | "require-relative": "^0.8.7",
1597 | "rollup-pluginutils": "^2.8.2",
1598 | "sourcemap-codec": "^1.4.8"
1599 | }
1600 | },
1601 | "rollup-plugin-terser": {
1602 | "version": "7.0.2",
1603 | "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz",
1604 | "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==",
1605 | "dev": true,
1606 | "requires": {
1607 | "@babel/code-frame": "^7.10.4",
1608 | "jest-worker": "^26.2.1",
1609 | "serialize-javascript": "^4.0.0",
1610 | "terser": "^5.0.0"
1611 | }
1612 | },
1613 | "rollup-pluginutils": {
1614 | "version": "2.8.2",
1615 | "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz",
1616 | "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==",
1617 | "dev": true,
1618 | "requires": {
1619 | "estree-walker": "^0.6.1"
1620 | },
1621 | "dependencies": {
1622 | "estree-walker": {
1623 | "version": "0.6.1",
1624 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz",
1625 | "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==",
1626 | "dev": true
1627 | }
1628 | }
1629 | },
1630 | "sade": {
1631 | "version": "1.7.4",
1632 | "resolved": "https://registry.npmjs.org/sade/-/sade-1.7.4.tgz",
1633 | "integrity": "sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==",
1634 | "dev": true,
1635 | "requires": {
1636 | "mri": "^1.1.0"
1637 | }
1638 | },
1639 | "safe-buffer": {
1640 | "version": "5.2.1",
1641 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
1642 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
1643 | "dev": true
1644 | },
1645 | "semiver": {
1646 | "version": "1.1.0",
1647 | "resolved": "https://registry.npmjs.org/semiver/-/semiver-1.1.0.tgz",
1648 | "integrity": "sha512-QNI2ChmuioGC1/xjyYwyZYADILWyW6AmS1UH6gDj/SFUUUS4MBAWs/7mxnkRPc/F4iHezDP+O8t0dO8WHiEOdg==",
1649 | "dev": true
1650 | },
1651 | "serialize-javascript": {
1652 | "version": "4.0.0",
1653 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
1654 | "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
1655 | "dev": true,
1656 | "requires": {
1657 | "randombytes": "^2.1.0"
1658 | }
1659 | },
1660 | "sirv": {
1661 | "version": "2.0.2",
1662 | "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.2.tgz",
1663 | "integrity": "sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==",
1664 | "dev": true,
1665 | "requires": {
1666 | "@polka/url": "^1.0.0-next.20",
1667 | "mrmime": "^1.0.0",
1668 | "totalist": "^3.0.0"
1669 | }
1670 | },
1671 | "sirv-cli": {
1672 | "version": "2.0.2",
1673 | "resolved": "https://registry.npmjs.org/sirv-cli/-/sirv-cli-2.0.2.tgz",
1674 | "integrity": "sha512-OtSJDwxsF1NWHc7ps3Sa0s+dPtP15iQNJzfKVz+MxkEo3z72mCD+yu30ct79rPr0CaV1HXSOBp+MIY5uIhHZ1A==",
1675 | "dev": true,
1676 | "requires": {
1677 | "console-clear": "^1.1.0",
1678 | "get-port": "^3.2.0",
1679 | "kleur": "^4.1.4",
1680 | "local-access": "^1.0.1",
1681 | "sade": "^1.6.0",
1682 | "semiver": "^1.0.0",
1683 | "sirv": "^2.0.0",
1684 | "tinydate": "^1.0.0"
1685 | }
1686 | },
1687 | "source-map": {
1688 | "version": "0.7.3",
1689 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
1690 | "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
1691 | "dev": true
1692 | },
1693 | "source-map-support": {
1694 | "version": "0.5.19",
1695 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
1696 | "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
1697 | "dev": true,
1698 | "requires": {
1699 | "buffer-from": "^1.0.0",
1700 | "source-map": "^0.6.0"
1701 | },
1702 | "dependencies": {
1703 | "source-map": {
1704 | "version": "0.6.1",
1705 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
1706 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
1707 | "dev": true
1708 | }
1709 | }
1710 | },
1711 | "sourcemap-codec": {
1712 | "version": "1.4.8",
1713 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
1714 | "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
1715 | "dev": true
1716 | },
1717 | "supports-color": {
1718 | "version": "5.5.0",
1719 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
1720 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
1721 | "dev": true,
1722 | "requires": {
1723 | "has-flag": "^3.0.0"
1724 | }
1725 | },
1726 | "svelte": {
1727 | "version": "3.29.7",
1728 | "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.29.7.tgz",
1729 | "integrity": "sha512-rx0g311kBODvEWUU01DFBUl3MJuJven04bvTVFUG/w0On/wuj0PajQY/QlXcJndFxG+W1s8iXKaB418tdHWc3A==",
1730 | "dev": true
1731 | },
1732 | "terser": {
1733 | "version": "5.5.0",
1734 | "resolved": "https://registry.npmjs.org/terser/-/terser-5.5.0.tgz",
1735 | "integrity": "sha512-eopt1Gf7/AQyPhpygdKePTzaet31TvQxXvrf7xYUvD/d8qkCJm4SKPDzu+GHK5ZaYTn8rvttfqaZc3swK21e5g==",
1736 | "dev": true,
1737 | "requires": {
1738 | "commander": "^2.20.0",
1739 | "source-map": "~0.7.2",
1740 | "source-map-support": "~0.5.19"
1741 | }
1742 | },
1743 | "tinydate": {
1744 | "version": "1.3.0",
1745 | "resolved": "https://registry.npmjs.org/tinydate/-/tinydate-1.3.0.tgz",
1746 | "integrity": "sha512-7cR8rLy2QhYHpsBDBVYnnWXm8uRTr38RoZakFSW7Bs7PzfMPNZthuMLkwqZv7MTu8lhQ91cOFYS5a7iFj2oR3w==",
1747 | "dev": true
1748 | },
1749 | "to-regex-range": {
1750 | "version": "5.0.1",
1751 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
1752 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
1753 | "dev": true,
1754 | "requires": {
1755 | "is-number": "^7.0.0"
1756 | }
1757 | },
1758 | "totalist": {
1759 | "version": "3.0.0",
1760 | "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.0.tgz",
1761 | "integrity": "sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==",
1762 | "dev": true
1763 | },
1764 | "wrappy": {
1765 | "version": "1.0.2",
1766 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1767 | "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
1768 | "dev": true
1769 | },
1770 | "ws": {
1771 | "version": "6.2.1",
1772 | "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
1773 | "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
1774 | "dev": true,
1775 | "requires": {
1776 | "async-limiter": "~1.0.0"
1777 | }
1778 | }
1779 | }
1780 | }
1781 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "svelte-drawer-component",
3 | "version": "1.2.2",
4 | "svelte": "src/index.js",
5 | "scripts": {
6 | "build": "rollup -c",
7 | "dev": "rollup -c -w",
8 | "start": "sirv public",
9 | "prepublishOnly": "npm run build"
10 | },
11 | "types": "./types/index.d.ts",
12 | "devDependencies": {
13 | "@rollup/plugin-commonjs": "^14.0.0",
14 | "@rollup/plugin-node-resolve": "^8.0.0",
15 | "rollup": "^2.3.4",
16 | "rollup-plugin-livereload": "^2.0.0",
17 | "rollup-plugin-svelte": "^6.0.0",
18 | "rollup-plugin-terser": "^7.0.0",
19 | "sirv-cli": "^2.0.2",
20 | "svelte": "^3.0.0"
21 | },
22 | "repository": {
23 | "type": "git",
24 | "url": "https://github.com/rsdavis/svelte-drawer"
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/public/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rsdavis/svelte-drawer/4f4ebb38c08d51b3a39088be30cb14c3e6c55f0b/public/favicon.png
--------------------------------------------------------------------------------
/public/global.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/rsdavis/svelte-drawer/4f4ebb38c08d51b3a39088be30cb14c3e6c55f0b/public/global.css
--------------------------------------------------------------------------------
/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Svelte app
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/rollup.config.js:
--------------------------------------------------------------------------------
1 | import svelte from 'rollup-plugin-svelte';
2 | import resolve from '@rollup/plugin-node-resolve';
3 | import commonjs from '@rollup/plugin-commonjs';
4 | import livereload from 'rollup-plugin-livereload';
5 | import { terser } from 'rollup-plugin-terser';
6 |
7 | const production = !process.env.ROLLUP_WATCH;
8 |
9 | function serve() {
10 | let server;
11 |
12 | function toExit() {
13 | if (server) server.kill(0);
14 | }
15 |
16 | return {
17 | writeBundle() {
18 | if (server) return;
19 | server = require('child_process').spawn('npm', ['run', 'start', '--', '--dev'], {
20 | stdio: ['ignore', 'inherit', 'inherit'],
21 | shell: true
22 | });
23 |
24 | process.on('SIGTERM', toExit);
25 | process.on('exit', toExit);
26 | }
27 | };
28 | }
29 |
30 | export default {
31 | input: 'src/main.js',
32 | output: {
33 | sourcemap: true,
34 | format: 'iife',
35 | name: 'app',
36 | file: 'public/build/bundle.js'
37 | },
38 | plugins: [
39 | svelte({
40 | // enable run-time checks when not in production
41 | dev: !production,
42 | // we'll extract any component CSS out into
43 | // a separate file - better for performance
44 | css: css => {
45 | css.write('bundle.css');
46 | }
47 | }),
48 |
49 | // If you have external dependencies installed from
50 | // npm, you'll most likely need these plugins. In
51 | // some cases you'll need additional configuration -
52 | // consult the documentation for details:
53 | // https://github.com/rollup/plugins/tree/master/packages/commonjs
54 | resolve({
55 | browser: true,
56 | dedupe: ['svelte']
57 | }),
58 | commonjs(),
59 |
60 | // In dev mode, call `npm run start` once
61 | // the bundle has been generated
62 | !production && serve(),
63 |
64 | // Watch the `public` directory and refresh the
65 | // browser on changes when not in production
66 | !production && livereload('public'),
67 |
68 | // If we're building for production (npm run build
69 | // instead of npm run dev), minify
70 | production && terser()
71 | ],
72 | watch: {
73 | clearScreen: false
74 | }
75 | };
76 |
--------------------------------------------------------------------------------
/scripts/setupTypeScript.js:
--------------------------------------------------------------------------------
1 | // @ts-check
2 |
3 | /** This script modifies the project to support TS code in .svelte files like:
4 |
5 |
8 |
9 | As well as validating the code for CI.
10 | */
11 |
12 | /** To work on this script:
13 | rm -rf test-template template && git clone sveltejs/template test-template && node scripts/setupTypeScript.js test-template
14 | */
15 |
16 | const fs = require("fs")
17 | const path = require("path")
18 | const { argv } = require("process")
19 |
20 | const projectRoot = argv[2] || path.join(__dirname, "..")
21 |
22 | // Add deps to pkg.json
23 | const packageJSON = JSON.parse(fs.readFileSync(path.join(projectRoot, "package.json"), "utf8"))
24 | packageJSON.devDependencies = Object.assign(packageJSON.devDependencies, {
25 | "svelte-check": "^1.0.0",
26 | "svelte-preprocess": "^4.0.0",
27 | "@rollup/plugin-typescript": "^6.0.0",
28 | "typescript": "^3.9.3",
29 | "tslib": "^2.0.0",
30 | "@tsconfig/svelte": "^1.0.0"
31 | })
32 |
33 | // Add script for checking
34 | packageJSON.scripts = Object.assign(packageJSON.scripts, {
35 | "validate": "svelte-check"
36 | })
37 |
38 | // Write the package JSON
39 | fs.writeFileSync(path.join(projectRoot, "package.json"), JSON.stringify(packageJSON, null, " "))
40 |
41 | // mv src/main.js to main.ts - note, we need to edit rollup.config.js for this too
42 | const beforeMainJSPath = path.join(projectRoot, "src", "main.js")
43 | const afterMainTSPath = path.join(projectRoot, "src", "main.ts")
44 | fs.renameSync(beforeMainJSPath, afterMainTSPath)
45 |
46 | // Switch the app.svelte file to use TS
47 | const appSveltePath = path.join(projectRoot, "src", "App.svelte")
48 | let appFile = fs.readFileSync(appSveltePath, "utf8")
49 | appFile = appFile.replace("
8 |
9 |
10 |
11 |
12 | open = true}>Open
13 |
14 | open = false} size='600px'>
15 | open = false}>Close
16 | hello
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/src/Drawer.svelte:
--------------------------------------------------------------------------------
1 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
124 |
--------------------------------------------------------------------------------
/src/index.js:
--------------------------------------------------------------------------------
1 | export { default as default } from './Drawer.svelte';
--------------------------------------------------------------------------------
/src/main.js:
--------------------------------------------------------------------------------
1 | import App from './App.svelte';
2 |
3 | const app = new App({
4 | target: document.body
5 | });
6 |
7 | export default app;
--------------------------------------------------------------------------------
/types/Drawer.svelte.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | import { SvelteComponentTyped } from "svelte";
3 |
4 | interface DrawerProps {
5 | /**
6 | * Controls the open state of the drawer.
7 | * @default false
8 | */
9 | open?: boolean;
10 |
11 | /**
12 | * Side of the screen to slide out from.
13 | * @default 'left'
14 | */
15 | placement?: 'left' | 'right' | 'top' | 'bottom';
16 |
17 | /**
18 | * Panel size (e.g.: `100px`, `10em`, `70%`, `null`).
19 | * A size of `null` stretches the drawer to the size of its parent container.
20 | * @default null
21 | */
22 | size?: string | null;
23 |
24 | /**
25 | * Transition duration (in seconds).
26 | * @default 0.2
27 | */
28 | duration?: number;
29 | }
30 |
31 | export default class extends SvelteComponentTyped<
32 | DrawerProps,
33 | { clickAway: CustomEvent },
34 | { default: {} }
35 | > {}
36 |
--------------------------------------------------------------------------------
/types/index.d.ts:
--------------------------------------------------------------------------------
1 | export { default } from "./Drawer.svelte";
2 |
--------------------------------------------------------------------------------