diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..61339fe --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +/node_modules/ +/public/build/ + +.DS_Store +notes.txt \ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..91094b4 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022-2023 Walter Staeblein + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md index deff85e..ade059b 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,60 @@ -# kineticsroll -Svelte action that transform a container into a momentum scroller +# Svelte Kinetic Scroll + + +Simple Svelte action to transform a container into a momentum scroller, much like cellphones touch screens work. Drop the action and start dragging around with your mouse. + +There are a couple of settings that can optionally be passed into the action as an object with any of the following properties: + +indicator - ID of an element that should be within the container and be absolute positioned. This element will serve as an indicator of the scroll and is to be styled by you. Default: empty (no indicator will appear) +useWheel - True if you wish to have some basic scroll wheel support. Default: true. + + +```html + + +
+
+
+ +
+
+ + +``` +This action expects that a container has a fixed height and a direct child that is longer than this height. If you intend to use an indicator, the container should be absolute or relative positioned. If it isn't the action will change its position to relative. + +## Instalation and Usage + +**Only tested on Svelte 3** + +This is so simple that it doesn't need a NPM package. Just copy the file ``/src/kineticscroll.js`` to your project's appropriate folder and import it where needed. All other files are just there for the sake of the example. + + +## Example + +Download this code, extract it and run: + +``` +npm i +npm run dev +``` \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..5ff4868 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,836 @@ +{ + "name": "svelte-app", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz", + "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "@polka/url": { + "version": "1.0.0-next.21", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", + "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==" + }, + "@rollup/plugin-commonjs": { + "version": "17.1.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-17.1.0.tgz", + "integrity": "sha512-PoMdXCw0ZyvjpCMT5aV4nkL0QywxP29sODQsSGeDpr/oI49Qq9tRtAsb/LbYbDzFlOydVEqHmmZWFtXJEAX9ew==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "commondir": "^1.0.1", + "estree-walker": "^2.0.1", + "glob": "^7.1.6", + "is-reference": "^1.2.1", + "magic-string": "^0.25.7", + "resolve": "^1.17.0" + } + }, + "@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "dependencies": { + "estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + } + } + }, + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, + "@types/node": { + "version": "18.11.18", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.18.tgz", + "integrity": "sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==", + "dev": true + }, + "@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "acorn": { + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz", + "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "console-clear": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/console-clear/-/console-clear-1.1.1.tgz", + "integrity": "sha512-pMD+MVR538ipqkG5JXeOEbKWS5um1H4LUUccUQG68qpeqBYbzYy79Gh55jkd2TtPdRfUaLWdv6LPP//5Zt0aPQ==" + }, + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-reference": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", + "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", + "dev": true, + "requires": { + "@types/estree": "*" + } + }, + "jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "dependencies": { + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==" + }, + "livereload": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/livereload/-/livereload-0.9.3.tgz", + "integrity": "sha512-q7Z71n3i4X0R9xthAryBdNGVGAO2R5X+/xXpmKeuPMrteg+W2U8VusTKV3YiJbXZwKsOlFlHe+go6uSNjfxrZw==", + "dev": true, + "requires": { + "chokidar": "^3.5.0", + "livereload-js": "^3.3.1", + "opts": ">= 1.2.0", + "ws": "^7.4.3" + } + }, + "livereload-js": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-3.4.1.tgz", + "integrity": "sha512-5MP0uUeVCec89ZbNOT/i97Mc+q3SxXmiUGhRFOTmhrGPn//uWVQdCvcLJDy64MSBR5MidFdOR7B9viumoavy6g==", + "dev": true + }, + "local-access": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/local-access/-/local-access-1.1.0.tgz", + "integrity": "sha512-XfegD5pyTAfb+GY6chk283Ox5z8WexG56OvM06RWLpAc/UHozO8X6xAxEkIitZOtsSMM1Yr3DkHgW5W+onLhCw==" + }, + "magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "requires": { + "sourcemap-codec": "^1.4.8" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==" + }, + "mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==" + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "opts": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/opts/-/opts-2.0.2.tgz", + "integrity": "sha512-k41FwbcLnlgnFh69f4qdUfvDQ+5vaSDnVPFI/y5XuhKRq97EnVVneO9F1ESVCdiVu4fCS2L8usX3mU331hB7pg==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "require-relative": { + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", + "integrity": "sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg==", + "dev": true + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dev": true, + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "rollup-plugin-css-only": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-css-only/-/rollup-plugin-css-only-3.1.0.tgz", + "integrity": "sha512-TYMOE5uoD76vpj+RTkQLzC9cQtbnJNktHPB507FzRWBVaofg7KhIqq1kGbcVOadARSozWF883Ho9KpSPKH8gqA==", + "dev": true, + "requires": { + "@rollup/pluginutils": "4" + }, + "dependencies": { + "@rollup/pluginutils": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", + "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "dev": true, + "requires": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + } + } + } + }, + "rollup-plugin-livereload": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/rollup-plugin-livereload/-/rollup-plugin-livereload-2.0.5.tgz", + "integrity": "sha512-vqQZ/UQowTW7VoiKEM5ouNW90wE5/GZLfdWuR0ELxyKOJUIaj+uismPZZaICU4DnWPVjnpCDDxEqwU7pcKY/PA==", + "dev": true, + "requires": { + "livereload": "^0.9.1" + } + }, + "rollup-plugin-svelte": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-svelte/-/rollup-plugin-svelte-7.1.0.tgz", + "integrity": "sha512-vopCUq3G+25sKjwF5VilIbiY6KCuMNHP1PFvx2Vr3REBNMDllKHFZN2B9jwwC+MqNc3UPKkjXnceLPEjTjXGXg==", + "dev": true, + "requires": { + "require-relative": "^0.8.7", + "rollup-pluginutils": "^2.8.2" + } + }, + "rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + } + }, + "rollup-pluginutils": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", + "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", + "dev": true, + "requires": { + "estree-walker": "^0.6.1" + }, + "dependencies": { + "estree-walker": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", + "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", + "dev": true + } + } + }, + "sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "requires": { + "mri": "^1.1.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "semiver": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semiver/-/semiver-1.1.0.tgz", + "integrity": "sha512-QNI2ChmuioGC1/xjyYwyZYADILWyW6AmS1UH6gDj/SFUUUS4MBAWs/7mxnkRPc/F4iHezDP+O8t0dO8WHiEOdg==" + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "sirv": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.2.tgz", + "integrity": "sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==", + "requires": { + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^3.0.0" + } + }, + "sirv-cli": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/sirv-cli/-/sirv-cli-2.0.2.tgz", + "integrity": "sha512-OtSJDwxsF1NWHc7ps3Sa0s+dPtP15iQNJzfKVz+MxkEo3z72mCD+yu30ct79rPr0CaV1HXSOBp+MIY5uIhHZ1A==", + "requires": { + "console-clear": "^1.1.0", + "get-port": "^3.2.0", + "kleur": "^4.1.4", + "local-access": "^1.0.1", + "sade": "^1.6.0", + "semiver": "^1.0.0", + "sirv": "^2.0.0", + "tinydate": "^1.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "svelte": { + "version": "3.55.0", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.55.0.tgz", + "integrity": "sha512-uGu2FVMlOuey4JoKHKrpZFkoYyj0VLjJdz47zX5+gVK5odxHM40RVhar9/iK2YFRVxvfg9FkhfVlR0sjeIrOiA==", + "dev": true + }, + "terser": { + "version": "5.16.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.1.tgz", + "integrity": "sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==", + "dev": true, + "requires": { + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + } + }, + "tinydate": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/tinydate/-/tinydate-1.3.0.tgz", + "integrity": "sha512-7cR8rLy2QhYHpsBDBVYnnWXm8uRTr38RoZakFSW7Bs7PzfMPNZthuMLkwqZv7MTu8lhQ91cOFYS5a7iFj2oR3w==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "totalist": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.0.tgz", + "integrity": "sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..fe7a6ef --- /dev/null +++ b/package.json @@ -0,0 +1,25 @@ +{ + "name": "kinetic-scroll", + "version": "0.1.0", + "private": true, + "author": "Walter Staeblein", + "license": "MIT", + "scripts": { + "build": "rollup -c", + "dev": "rollup -c -w", + "start": "sirv public --no-clear" + }, + "devDependencies": { + "@rollup/plugin-commonjs": "^17.0.0", + "@rollup/plugin-node-resolve": "^11.0.0", + "rollup": "^2.3.4", + "rollup-plugin-css-only": "^3.1.0", + "rollup-plugin-livereload": "^2.0.0", + "rollup-plugin-svelte": "^7.0.0", + "rollup-plugin-terser": "^7.0.0", + "svelte": "^3.0.0" + }, + "dependencies": { + "sirv-cli": "^2.0.0" + } +} diff --git a/public/favicon.png b/public/favicon.png new file mode 100644 index 0000000..7e6f5eb Binary files /dev/null and b/public/favicon.png differ diff --git a/public/flags/ab.png b/public/flags/ab.png new file mode 100644 index 0000000..ad50c66 Binary files /dev/null and b/public/flags/ab.png differ diff --git a/public/flags/ad.png b/public/flags/ad.png new file mode 100644 index 0000000..960d0eb Binary files /dev/null and b/public/flags/ad.png differ diff --git a/public/flags/ae.png b/public/flags/ae.png new file mode 100644 index 0000000..921736c Binary files /dev/null and b/public/flags/ae.png differ diff --git a/public/flags/af.png b/public/flags/af.png new file mode 100644 index 0000000..2c87682 Binary files /dev/null and b/public/flags/af.png differ diff --git a/public/flags/ag.png b/public/flags/ag.png new file mode 100644 index 0000000..deb254a Binary files /dev/null and b/public/flags/ag.png differ diff --git a/public/flags/ai.png b/public/flags/ai.png new file mode 100644 index 0000000..dfe8b3d Binary files /dev/null and b/public/flags/ai.png differ diff --git a/public/flags/al.png b/public/flags/al.png new file mode 100644 index 0000000..c368703 Binary files /dev/null and b/public/flags/al.png differ diff --git a/public/flags/am.png b/public/flags/am.png new file mode 100644 index 0000000..35fc735 Binary files /dev/null and b/public/flags/am.png differ diff --git a/public/flags/an.png b/public/flags/an.png new file mode 100644 index 0000000..5858175 Binary files /dev/null and b/public/flags/an.png differ diff --git a/public/flags/ao.png b/public/flags/ao.png new file mode 100644 index 0000000..8011d6a Binary files /dev/null and b/public/flags/ao.png differ diff --git a/public/flags/aq.png b/public/flags/aq.png new file mode 100644 index 0000000..3f6b7bf Binary files /dev/null and b/public/flags/aq.png differ diff --git a/public/flags/ar.png b/public/flags/ar.png new file mode 100644 index 0000000..3899594 Binary files /dev/null and b/public/flags/ar.png differ diff --git a/public/flags/as.png b/public/flags/as.png new file mode 100644 index 0000000..5e3d825 Binary files /dev/null and b/public/flags/as.png differ diff --git a/public/flags/at.png b/public/flags/at.png new file mode 100644 index 0000000..ee34d1b Binary files /dev/null and b/public/flags/at.png differ diff --git a/public/flags/au (1).png b/public/flags/au (1).png new file mode 100644 index 0000000..1626f04 Binary files /dev/null and b/public/flags/au (1).png differ diff --git a/public/flags/au.png b/public/flags/au.png new file mode 100644 index 0000000..749b321 Binary files /dev/null and b/public/flags/au.png differ diff --git a/public/flags/aw.png b/public/flags/aw.png new file mode 100644 index 0000000..032920c Binary files /dev/null and b/public/flags/aw.png differ diff --git a/public/flags/ax.png b/public/flags/ax.png new file mode 100644 index 0000000..4d4519d Binary files /dev/null and b/public/flags/ax.png differ diff --git a/public/flags/az.png b/public/flags/az.png new file mode 100644 index 0000000..fc91adb Binary files /dev/null and b/public/flags/az.png differ diff --git a/public/flags/ba.png b/public/flags/ba.png new file mode 100644 index 0000000..5c5673f Binary files /dev/null and b/public/flags/ba.png differ diff --git a/public/flags/bb.png b/public/flags/bb.png new file mode 100644 index 0000000..59b5edd Binary files /dev/null and b/public/flags/bb.png differ diff --git a/public/flags/bd.png b/public/flags/bd.png new file mode 100644 index 0000000..0986ea9 Binary files /dev/null and b/public/flags/bd.png differ diff --git a/public/flags/be.png b/public/flags/be.png new file mode 100644 index 0000000..a026b74 Binary files /dev/null and b/public/flags/be.png differ diff --git a/public/flags/bf.png b/public/flags/bf.png new file mode 100644 index 0000000..465282a Binary files /dev/null and b/public/flags/bf.png differ diff --git a/public/flags/bg.png b/public/flags/bg.png new file mode 100644 index 0000000..34833b8 Binary files /dev/null and b/public/flags/bg.png differ diff --git a/public/flags/bh.png b/public/flags/bh.png new file mode 100644 index 0000000..959012f Binary files /dev/null and b/public/flags/bh.png differ diff --git a/public/flags/bi.png b/public/flags/bi.png new file mode 100644 index 0000000..902e230 Binary files /dev/null and b/public/flags/bi.png differ diff --git a/public/flags/bj.png b/public/flags/bj.png new file mode 100644 index 0000000..df1d53b Binary files /dev/null and b/public/flags/bj.png differ diff --git a/public/flags/bl.png b/public/flags/bl.png new file mode 100644 index 0000000..aa06161 Binary files /dev/null and b/public/flags/bl.png differ diff --git a/public/flags/bm.png b/public/flags/bm.png new file mode 100644 index 0000000..071ff23 Binary files /dev/null and b/public/flags/bm.png differ diff --git a/public/flags/bn.png b/public/flags/bn.png new file mode 100644 index 0000000..5494d3d Binary files /dev/null and b/public/flags/bn.png differ diff --git a/public/flags/bo.png b/public/flags/bo.png new file mode 100644 index 0000000..4001085 Binary files /dev/null and b/public/flags/bo.png differ diff --git a/public/flags/bq.png b/public/flags/bq.png new file mode 100644 index 0000000..1a518b0 Binary files /dev/null and b/public/flags/bq.png differ diff --git a/public/flags/br.png b/public/flags/br.png new file mode 100644 index 0000000..ee0ee5e Binary files /dev/null and b/public/flags/br.png differ diff --git a/public/flags/bs.png b/public/flags/bs.png new file mode 100644 index 0000000..67d96e5 Binary files /dev/null and b/public/flags/bs.png differ diff --git a/public/flags/bt.png b/public/flags/bt.png new file mode 100644 index 0000000..2abf5b8 Binary files /dev/null and b/public/flags/bt.png differ diff --git a/public/flags/bv.png b/public/flags/bv.png new file mode 100644 index 0000000..081266e Binary files /dev/null and b/public/flags/bv.png differ diff --git a/public/flags/bw.png b/public/flags/bw.png new file mode 100644 index 0000000..1638420 Binary files /dev/null and b/public/flags/bw.png differ diff --git a/public/flags/by.png b/public/flags/by.png new file mode 100644 index 0000000..e208928 Binary files /dev/null and b/public/flags/by.png differ diff --git a/public/flags/bz.png b/public/flags/bz.png new file mode 100644 index 0000000..48086ce Binary files /dev/null and b/public/flags/bz.png differ diff --git a/public/flags/ca.png b/public/flags/ca.png new file mode 100644 index 0000000..5f713e8 Binary files /dev/null and b/public/flags/ca.png differ diff --git a/public/flags/cc.png b/public/flags/cc.png new file mode 100644 index 0000000..cae5e61 Binary files /dev/null and b/public/flags/cc.png differ diff --git a/public/flags/cd.png b/public/flags/cd.png new file mode 100644 index 0000000..269cf59 Binary files /dev/null and b/public/flags/cd.png differ diff --git a/public/flags/cf.png b/public/flags/cf.png new file mode 100644 index 0000000..2f42d1d Binary files /dev/null and b/public/flags/cf.png differ diff --git a/public/flags/cg.png b/public/flags/cg.png new file mode 100644 index 0000000..90a5b94 Binary files /dev/null and b/public/flags/cg.png differ diff --git a/public/flags/ch.png b/public/flags/ch.png new file mode 100644 index 0000000..59e7d4e Binary files /dev/null and b/public/flags/ch.png differ diff --git a/public/flags/ci.png b/public/flags/ci.png new file mode 100644 index 0000000..ed875c0 Binary files /dev/null and b/public/flags/ci.png differ diff --git a/public/flags/ck.png b/public/flags/ck.png new file mode 100644 index 0000000..914d619 Binary files /dev/null and b/public/flags/ck.png differ diff --git a/public/flags/cl.png b/public/flags/cl.png new file mode 100644 index 0000000..b44d229 Binary files /dev/null and b/public/flags/cl.png differ diff --git a/public/flags/cm.png b/public/flags/cm.png new file mode 100644 index 0000000..39f4dc3 Binary files /dev/null and b/public/flags/cm.png differ diff --git a/public/flags/cn.png b/public/flags/cn.png new file mode 100644 index 0000000..102c8ec Binary files /dev/null and b/public/flags/cn.png differ diff --git a/public/flags/co.png b/public/flags/co.png new file mode 100644 index 0000000..a6d1b7f Binary files /dev/null and b/public/flags/co.png differ diff --git a/public/flags/cr.png b/public/flags/cr.png new file mode 100644 index 0000000..9cb509b Binary files /dev/null and b/public/flags/cr.png differ diff --git a/public/flags/cu.png b/public/flags/cu.png new file mode 100644 index 0000000..d23350c Binary files /dev/null and b/public/flags/cu.png differ diff --git a/public/flags/cv.png b/public/flags/cv.png new file mode 100644 index 0000000..9248bbc Binary files /dev/null and b/public/flags/cv.png differ diff --git a/public/flags/cw.png b/public/flags/cw.png new file mode 100644 index 0000000..4b3e155 Binary files /dev/null and b/public/flags/cw.png differ diff --git a/public/flags/cx.png b/public/flags/cx.png new file mode 100644 index 0000000..fc49fb2 Binary files /dev/null and b/public/flags/cx.png differ diff --git a/public/flags/cy.png b/public/flags/cy.png new file mode 100644 index 0000000..93afcb6 Binary files /dev/null and b/public/flags/cy.png differ diff --git a/public/flags/cz.png b/public/flags/cz.png new file mode 100644 index 0000000..02286c1 Binary files /dev/null and b/public/flags/cz.png differ diff --git a/public/flags/de.png b/public/flags/de.png new file mode 100644 index 0000000..13dba57 Binary files /dev/null and b/public/flags/de.png differ diff --git a/public/flags/dj.png b/public/flags/dj.png new file mode 100644 index 0000000..2d88907 Binary files /dev/null and b/public/flags/dj.png differ diff --git a/public/flags/dk.png b/public/flags/dk.png new file mode 100644 index 0000000..d186586 Binary files /dev/null and b/public/flags/dk.png differ diff --git a/public/flags/dm.png b/public/flags/dm.png new file mode 100644 index 0000000..7dc946d Binary files /dev/null and b/public/flags/dm.png differ diff --git a/public/flags/do.png b/public/flags/do.png new file mode 100644 index 0000000..42be1c6 Binary files /dev/null and b/public/flags/do.png differ diff --git a/public/flags/dz.png b/public/flags/dz.png new file mode 100644 index 0000000..3453c37 Binary files /dev/null and b/public/flags/dz.png differ diff --git a/public/flags/ec.png b/public/flags/ec.png new file mode 100644 index 0000000..b984dc0 Binary files /dev/null and b/public/flags/ec.png differ diff --git a/public/flags/ee.png b/public/flags/ee.png new file mode 100644 index 0000000..34a3523 Binary files /dev/null and b/public/flags/ee.png differ diff --git a/public/flags/eg.png b/public/flags/eg.png new file mode 100644 index 0000000..3bcfd23 Binary files /dev/null and b/public/flags/eg.png differ diff --git a/public/flags/eh.png b/public/flags/eh.png new file mode 100644 index 0000000..efe3cbe Binary files /dev/null and b/public/flags/eh.png differ diff --git a/public/flags/er.png b/public/flags/er.png new file mode 100644 index 0000000..eab4420 Binary files /dev/null and b/public/flags/er.png differ diff --git a/public/flags/es.png b/public/flags/es.png new file mode 100644 index 0000000..4313103 Binary files /dev/null and b/public/flags/es.png differ diff --git a/public/flags/et.png b/public/flags/et.png new file mode 100644 index 0000000..064c77e Binary files /dev/null and b/public/flags/et.png differ diff --git a/public/flags/fi.png b/public/flags/fi.png new file mode 100644 index 0000000..4e42d49 Binary files /dev/null and b/public/flags/fi.png differ diff --git a/public/flags/fj.png b/public/flags/fj.png new file mode 100644 index 0000000..c534d49 Binary files /dev/null and b/public/flags/fj.png differ diff --git a/public/flags/fk.png b/public/flags/fk.png new file mode 100644 index 0000000..c569d95 Binary files /dev/null and b/public/flags/fk.png differ diff --git a/public/flags/fm.png b/public/flags/fm.png new file mode 100644 index 0000000..b067da7 Binary files /dev/null and b/public/flags/fm.png differ diff --git a/public/flags/fo.png b/public/flags/fo.png new file mode 100644 index 0000000..0d03f47 Binary files /dev/null and b/public/flags/fo.png differ diff --git a/public/flags/fr.png b/public/flags/fr.png new file mode 100644 index 0000000..a470754 Binary files /dev/null and b/public/flags/fr.png differ diff --git a/public/flags/ga.png b/public/flags/ga.png new file mode 100644 index 0000000..303e703 Binary files /dev/null and b/public/flags/ga.png differ diff --git a/public/flags/gb-eng.png b/public/flags/gb-eng.png new file mode 100644 index 0000000..f32320b Binary files /dev/null and b/public/flags/gb-eng.png differ diff --git a/public/flags/gb-nir.png b/public/flags/gb-nir.png new file mode 100644 index 0000000..122f060 Binary files /dev/null and b/public/flags/gb-nir.png differ diff --git a/public/flags/gb-sct.png b/public/flags/gb-sct.png new file mode 100644 index 0000000..60a00c1 Binary files /dev/null and b/public/flags/gb-sct.png differ diff --git a/public/flags/gb-wls.png b/public/flags/gb-wls.png new file mode 100644 index 0000000..b302e14 Binary files /dev/null and b/public/flags/gb-wls.png differ diff --git a/public/flags/gb.png b/public/flags/gb.png new file mode 100644 index 0000000..3dd2b6a Binary files /dev/null and b/public/flags/gb.png differ diff --git a/public/flags/gd.png b/public/flags/gd.png new file mode 100644 index 0000000..892642b Binary files /dev/null and b/public/flags/gd.png differ diff --git a/public/flags/ge.png b/public/flags/ge.png new file mode 100644 index 0000000..8ac4571 Binary files /dev/null and b/public/flags/ge.png differ diff --git a/public/flags/gf.png b/public/flags/gf.png new file mode 100644 index 0000000..82a7447 Binary files /dev/null and b/public/flags/gf.png differ diff --git a/public/flags/gg.png b/public/flags/gg.png new file mode 100644 index 0000000..2fed393 Binary files /dev/null and b/public/flags/gg.png differ diff --git a/public/flags/gh.png b/public/flags/gh.png new file mode 100644 index 0000000..04919b2 Binary files /dev/null and b/public/flags/gh.png differ diff --git a/public/flags/gi.png b/public/flags/gi.png new file mode 100644 index 0000000..8bdd778 Binary files /dev/null and b/public/flags/gi.png differ diff --git a/public/flags/gl.png b/public/flags/gl.png new file mode 100644 index 0000000..7a1af47 Binary files /dev/null and b/public/flags/gl.png differ diff --git a/public/flags/gm.png b/public/flags/gm.png new file mode 100644 index 0000000..1167101 Binary files /dev/null and b/public/flags/gm.png differ diff --git a/public/flags/gn.png b/public/flags/gn.png new file mode 100644 index 0000000..ac01f0b Binary files /dev/null and b/public/flags/gn.png differ diff --git a/public/flags/gp.png b/public/flags/gp.png new file mode 100644 index 0000000..4d6ccaa Binary files /dev/null and b/public/flags/gp.png differ diff --git a/public/flags/gq.png b/public/flags/gq.png new file mode 100644 index 0000000..5ec8a07 Binary files /dev/null and b/public/flags/gq.png differ diff --git a/public/flags/gr.png b/public/flags/gr.png new file mode 100644 index 0000000..3d44aa1 Binary files /dev/null and b/public/flags/gr.png differ diff --git a/public/flags/gs.png b/public/flags/gs.png new file mode 100644 index 0000000..2f3f676 Binary files /dev/null and b/public/flags/gs.png differ diff --git a/public/flags/gt.png b/public/flags/gt.png new file mode 100644 index 0000000..0e8d8e4 Binary files /dev/null and b/public/flags/gt.png differ diff --git a/public/flags/gu.png b/public/flags/gu.png new file mode 100644 index 0000000..ed698d6 Binary files /dev/null and b/public/flags/gu.png differ diff --git a/public/flags/gw.png b/public/flags/gw.png new file mode 100644 index 0000000..dc6b71a Binary files /dev/null and b/public/flags/gw.png differ diff --git a/public/flags/gy.png b/public/flags/gy.png new file mode 100644 index 0000000..8237da7 Binary files /dev/null and b/public/flags/gy.png differ diff --git a/public/flags/hk.png b/public/flags/hk.png new file mode 100644 index 0000000..ee59081 Binary files /dev/null and b/public/flags/hk.png differ diff --git a/public/flags/hm.png b/public/flags/hm.png new file mode 100644 index 0000000..ef35d07 Binary files /dev/null and b/public/flags/hm.png differ diff --git a/public/flags/hn.png b/public/flags/hn.png new file mode 100644 index 0000000..344f268 Binary files /dev/null and b/public/flags/hn.png differ diff --git a/public/flags/hr.png b/public/flags/hr.png new file mode 100644 index 0000000..c806718 Binary files /dev/null and b/public/flags/hr.png differ diff --git a/public/flags/ht.png b/public/flags/ht.png new file mode 100644 index 0000000..d5d4b73 Binary files /dev/null and b/public/flags/ht.png differ diff --git a/public/flags/hu.png b/public/flags/hu.png new file mode 100644 index 0000000..eed85cd Binary files /dev/null and b/public/flags/hu.png differ diff --git a/public/flags/id.png b/public/flags/id.png new file mode 100644 index 0000000..852e2d9 Binary files /dev/null and b/public/flags/id.png differ diff --git a/public/flags/ie.png b/public/flags/ie.png new file mode 100644 index 0000000..e5b982a Binary files /dev/null and b/public/flags/ie.png differ diff --git a/public/flags/il.png b/public/flags/il.png new file mode 100644 index 0000000..63f5233 Binary files /dev/null and b/public/flags/il.png differ diff --git a/public/flags/im.png b/public/flags/im.png new file mode 100644 index 0000000..c829d8e Binary files /dev/null and b/public/flags/im.png differ diff --git a/public/flags/in.png b/public/flags/in.png new file mode 100644 index 0000000..b456ac9 Binary files /dev/null and b/public/flags/in.png differ diff --git a/public/flags/io.png b/public/flags/io.png new file mode 100644 index 0000000..c44493c Binary files /dev/null and b/public/flags/io.png differ diff --git a/public/flags/iq.png b/public/flags/iq.png new file mode 100644 index 0000000..3a0b1bc Binary files /dev/null and b/public/flags/iq.png differ diff --git a/public/flags/ir.png b/public/flags/ir.png new file mode 100644 index 0000000..c40f8a1 Binary files /dev/null and b/public/flags/ir.png differ diff --git a/public/flags/is.png b/public/flags/is.png new file mode 100644 index 0000000..da08376 Binary files /dev/null and b/public/flags/is.png differ diff --git a/public/flags/it.png b/public/flags/it.png new file mode 100644 index 0000000..5c4dd72 Binary files /dev/null and b/public/flags/it.png differ diff --git a/public/flags/je.png b/public/flags/je.png new file mode 100644 index 0000000..8b87991 Binary files /dev/null and b/public/flags/je.png differ diff --git a/public/flags/jm.png b/public/flags/jm.png new file mode 100644 index 0000000..1cbb1eb Binary files /dev/null and b/public/flags/jm.png differ diff --git a/public/flags/jo.png b/public/flags/jo.png new file mode 100644 index 0000000..613d5ff Binary files /dev/null and b/public/flags/jo.png differ diff --git a/public/flags/jp.png b/public/flags/jp.png new file mode 100644 index 0000000..c381014 Binary files /dev/null and b/public/flags/jp.png differ diff --git a/public/flags/ke.png b/public/flags/ke.png new file mode 100644 index 0000000..72d2598 Binary files /dev/null and b/public/flags/ke.png differ diff --git a/public/flags/kg.png b/public/flags/kg.png new file mode 100644 index 0000000..7c739e4 Binary files /dev/null and b/public/flags/kg.png differ diff --git a/public/flags/kh.png b/public/flags/kh.png new file mode 100644 index 0000000..2088d15 Binary files /dev/null and b/public/flags/kh.png differ diff --git a/public/flags/ki.png b/public/flags/ki.png new file mode 100644 index 0000000..72ccda8 Binary files /dev/null and b/public/flags/ki.png differ diff --git a/public/flags/km.png b/public/flags/km.png new file mode 100644 index 0000000..fe0b557 Binary files /dev/null and b/public/flags/km.png differ diff --git a/public/flags/kn.png b/public/flags/kn.png new file mode 100644 index 0000000..481ff30 Binary files /dev/null and b/public/flags/kn.png differ diff --git a/public/flags/kp.png b/public/flags/kp.png new file mode 100644 index 0000000..c1f4758 Binary files /dev/null and b/public/flags/kp.png differ diff --git a/public/flags/kr.png b/public/flags/kr.png new file mode 100644 index 0000000..3f74636 Binary files /dev/null and b/public/flags/kr.png differ diff --git a/public/flags/kw.png b/public/flags/kw.png new file mode 100644 index 0000000..feac87a Binary files /dev/null and b/public/flags/kw.png differ diff --git a/public/flags/ky.png b/public/flags/ky.png new file mode 100644 index 0000000..42447cd Binary files /dev/null and b/public/flags/ky.png differ diff --git a/public/flags/kz.png b/public/flags/kz.png new file mode 100644 index 0000000..2e81c4b Binary files /dev/null and b/public/flags/kz.png differ diff --git a/public/flags/la.png b/public/flags/la.png new file mode 100644 index 0000000..46903b0 Binary files /dev/null and b/public/flags/la.png differ diff --git a/public/flags/lb.png b/public/flags/lb.png new file mode 100644 index 0000000..ec5698e Binary files /dev/null and b/public/flags/lb.png differ diff --git a/public/flags/lc.png b/public/flags/lc.png new file mode 100644 index 0000000..11688c2 Binary files /dev/null and b/public/flags/lc.png differ diff --git a/public/flags/li.png b/public/flags/li.png new file mode 100644 index 0000000..6db3c5d Binary files /dev/null and b/public/flags/li.png differ diff --git a/public/flags/lk.png b/public/flags/lk.png new file mode 100644 index 0000000..3393e06 Binary files /dev/null and b/public/flags/lk.png differ diff --git a/public/flags/lr.png b/public/flags/lr.png new file mode 100644 index 0000000..d699e7c Binary files /dev/null and b/public/flags/lr.png differ diff --git a/public/flags/ls.png b/public/flags/ls.png new file mode 100644 index 0000000..d25f8ab Binary files /dev/null and b/public/flags/ls.png differ diff --git a/public/flags/lt.png b/public/flags/lt.png new file mode 100644 index 0000000..4ca590d Binary files /dev/null and b/public/flags/lt.png differ diff --git a/public/flags/lu.png b/public/flags/lu.png new file mode 100644 index 0000000..9f37dd3 Binary files /dev/null and b/public/flags/lu.png differ diff --git a/public/flags/lv.png b/public/flags/lv.png new file mode 100644 index 0000000..18d9036 Binary files /dev/null and b/public/flags/lv.png differ diff --git a/public/flags/ly.png b/public/flags/ly.png new file mode 100644 index 0000000..755600d Binary files /dev/null and b/public/flags/ly.png differ diff --git a/public/flags/ma.png b/public/flags/ma.png new file mode 100644 index 0000000..392243e Binary files /dev/null and b/public/flags/ma.png differ diff --git a/public/flags/mc.png b/public/flags/mc.png new file mode 100644 index 0000000..c926eba Binary files /dev/null and b/public/flags/mc.png differ diff --git a/public/flags/md.png b/public/flags/md.png new file mode 100644 index 0000000..97d1512 Binary files /dev/null and b/public/flags/md.png differ diff --git a/public/flags/me.png b/public/flags/me.png new file mode 100644 index 0000000..69362d5 Binary files /dev/null and b/public/flags/me.png differ diff --git a/public/flags/mf.png b/public/flags/mf.png new file mode 100644 index 0000000..a470754 Binary files /dev/null and b/public/flags/mf.png differ diff --git a/public/flags/mg.png b/public/flags/mg.png new file mode 100644 index 0000000..4d64d64 Binary files /dev/null and b/public/flags/mg.png differ diff --git a/public/flags/mh.png b/public/flags/mh.png new file mode 100644 index 0000000..2a58964 Binary files /dev/null and b/public/flags/mh.png differ diff --git a/public/flags/mk.png b/public/flags/mk.png new file mode 100644 index 0000000..cc8528a Binary files /dev/null and b/public/flags/mk.png differ diff --git a/public/flags/ml.png b/public/flags/ml.png new file mode 100644 index 0000000..d1cf2de Binary files /dev/null and b/public/flags/ml.png differ diff --git a/public/flags/mm.png b/public/flags/mm.png new file mode 100644 index 0000000..9d8759f Binary files /dev/null and b/public/flags/mm.png differ diff --git a/public/flags/mn.png b/public/flags/mn.png new file mode 100644 index 0000000..195fbd8 Binary files /dev/null and b/public/flags/mn.png differ diff --git a/public/flags/mo.png b/public/flags/mo.png new file mode 100644 index 0000000..3b22ee2 Binary files /dev/null and b/public/flags/mo.png differ diff --git a/public/flags/mp.png b/public/flags/mp.png new file mode 100644 index 0000000..4f62356 Binary files /dev/null and b/public/flags/mp.png differ diff --git a/public/flags/mq.png b/public/flags/mq.png new file mode 100644 index 0000000..c1b5b33 Binary files /dev/null and b/public/flags/mq.png differ diff --git a/public/flags/mr.png b/public/flags/mr.png new file mode 100644 index 0000000..891f98b Binary files /dev/null and b/public/flags/mr.png differ diff --git a/public/flags/ms.png b/public/flags/ms.png new file mode 100644 index 0000000..3a764ea Binary files /dev/null and b/public/flags/ms.png differ diff --git a/public/flags/mt.png b/public/flags/mt.png new file mode 100644 index 0000000..ff0c9b7 Binary files /dev/null and b/public/flags/mt.png differ diff --git a/public/flags/mu.png b/public/flags/mu.png new file mode 100644 index 0000000..c5d947f Binary files /dev/null and b/public/flags/mu.png differ diff --git a/public/flags/mv.png b/public/flags/mv.png new file mode 100644 index 0000000..cdc76ca Binary files /dev/null and b/public/flags/mv.png differ diff --git a/public/flags/mw.png b/public/flags/mw.png new file mode 100644 index 0000000..b5dd5cb Binary files /dev/null and b/public/flags/mw.png differ diff --git a/public/flags/mx.png b/public/flags/mx.png new file mode 100644 index 0000000..e0779cd Binary files /dev/null and b/public/flags/mx.png differ diff --git a/public/flags/my.png b/public/flags/my.png new file mode 100644 index 0000000..97d7117 Binary files /dev/null and b/public/flags/my.png differ diff --git a/public/flags/mz.png b/public/flags/mz.png new file mode 100644 index 0000000..6f18039 Binary files /dev/null and b/public/flags/mz.png differ diff --git a/public/flags/na.png b/public/flags/na.png new file mode 100644 index 0000000..f38577d Binary files /dev/null and b/public/flags/na.png differ diff --git a/public/flags/nc.png b/public/flags/nc.png new file mode 100644 index 0000000..9006568 Binary files /dev/null and b/public/flags/nc.png differ diff --git a/public/flags/ne.png b/public/flags/ne.png new file mode 100644 index 0000000..86cc3c4 Binary files /dev/null and b/public/flags/ne.png differ diff --git a/public/flags/nf.png b/public/flags/nf.png new file mode 100644 index 0000000..6cce3cf Binary files /dev/null and b/public/flags/nf.png differ diff --git a/public/flags/ng.png b/public/flags/ng.png new file mode 100644 index 0000000..64d52b8 Binary files /dev/null and b/public/flags/ng.png differ diff --git a/public/flags/ni.png b/public/flags/ni.png new file mode 100644 index 0000000..db44044 Binary files /dev/null and b/public/flags/ni.png differ diff --git a/public/flags/nl.png b/public/flags/nl.png new file mode 100644 index 0000000..695449d Binary files /dev/null and b/public/flags/nl.png differ diff --git a/public/flags/no.png b/public/flags/no.png new file mode 100644 index 0000000..081266e Binary files /dev/null and b/public/flags/no.png differ diff --git a/public/flags/np.png b/public/flags/np.png new file mode 100644 index 0000000..d92653e Binary files /dev/null and b/public/flags/np.png differ diff --git a/public/flags/nr.png b/public/flags/nr.png new file mode 100644 index 0000000..1014498 Binary files /dev/null and b/public/flags/nr.png differ diff --git a/public/flags/nu.png b/public/flags/nu.png new file mode 100644 index 0000000..068da18 Binary files /dev/null and b/public/flags/nu.png differ diff --git a/public/flags/nz.png b/public/flags/nz.png new file mode 100644 index 0000000..f33f386 Binary files /dev/null and b/public/flags/nz.png differ diff --git a/public/flags/om.png b/public/flags/om.png new file mode 100644 index 0000000..4956521 Binary files /dev/null and b/public/flags/om.png differ diff --git a/public/flags/pa.png b/public/flags/pa.png new file mode 100644 index 0000000..37e9e99 Binary files /dev/null and b/public/flags/pa.png differ diff --git a/public/flags/pe.png b/public/flags/pe.png new file mode 100644 index 0000000..10c0b31 Binary files /dev/null and b/public/flags/pe.png differ diff --git a/public/flags/pf.png b/public/flags/pf.png new file mode 100644 index 0000000..b32b204 Binary files /dev/null and b/public/flags/pf.png differ diff --git a/public/flags/pg.png b/public/flags/pg.png new file mode 100644 index 0000000..0cc4b63 Binary files /dev/null and b/public/flags/pg.png differ diff --git a/public/flags/ph.png b/public/flags/ph.png new file mode 100644 index 0000000..9991874 Binary files /dev/null and b/public/flags/ph.png differ diff --git a/public/flags/pk.png b/public/flags/pk.png new file mode 100644 index 0000000..921cd2e Binary files /dev/null and b/public/flags/pk.png differ diff --git a/public/flags/pl.png b/public/flags/pl.png new file mode 100644 index 0000000..fe4fdda Binary files /dev/null and b/public/flags/pl.png differ diff --git a/public/flags/pm.png b/public/flags/pm.png new file mode 100644 index 0000000..5ff9a7b Binary files /dev/null and b/public/flags/pm.png differ diff --git a/public/flags/pn.png b/public/flags/pn.png new file mode 100644 index 0000000..be1ac18 Binary files /dev/null and b/public/flags/pn.png differ diff --git a/public/flags/pr.png b/public/flags/pr.png new file mode 100644 index 0000000..3734716 Binary files /dev/null and b/public/flags/pr.png differ diff --git a/public/flags/ps.png b/public/flags/ps.png new file mode 100644 index 0000000..d53b99c Binary files /dev/null and b/public/flags/ps.png differ diff --git a/public/flags/pt.png b/public/flags/pt.png new file mode 100644 index 0000000..3bdedc1 Binary files /dev/null and b/public/flags/pt.png differ diff --git a/public/flags/pw.png b/public/flags/pw.png new file mode 100644 index 0000000..eb65abb Binary files /dev/null and b/public/flags/pw.png differ diff --git a/public/flags/py.png b/public/flags/py.png new file mode 100644 index 0000000..041c616 Binary files /dev/null and b/public/flags/py.png differ diff --git a/public/flags/qa.png b/public/flags/qa.png new file mode 100644 index 0000000..15394c7 Binary files /dev/null and b/public/flags/qa.png differ diff --git a/public/flags/re.png b/public/flags/re.png new file mode 100644 index 0000000..4b01aa7 Binary files /dev/null and b/public/flags/re.png differ diff --git a/public/flags/ro.png b/public/flags/ro.png new file mode 100644 index 0000000..67777d9 Binary files /dev/null and b/public/flags/ro.png differ diff --git a/public/flags/rs.png b/public/flags/rs.png new file mode 100644 index 0000000..81b9695 Binary files /dev/null and b/public/flags/rs.png differ diff --git a/public/flags/ru.png b/public/flags/ru.png new file mode 100644 index 0000000..d595a0f Binary files /dev/null and b/public/flags/ru.png differ diff --git a/public/flags/rw.png b/public/flags/rw.png new file mode 100644 index 0000000..e02287f Binary files /dev/null and b/public/flags/rw.png differ diff --git a/public/flags/s1.png b/public/flags/s1.png new file mode 100644 index 0000000..ef0bb76 Binary files /dev/null and b/public/flags/s1.png differ diff --git a/public/flags/sa.png b/public/flags/sa.png new file mode 100644 index 0000000..3a3d41d Binary files /dev/null and b/public/flags/sa.png differ diff --git a/public/flags/sb.png b/public/flags/sb.png new file mode 100644 index 0000000..e3d0f3a Binary files /dev/null and b/public/flags/sb.png differ diff --git a/public/flags/sc.png b/public/flags/sc.png new file mode 100644 index 0000000..d957e39 Binary files /dev/null and b/public/flags/sc.png differ diff --git a/public/flags/sd.png b/public/flags/sd.png new file mode 100644 index 0000000..69a773f Binary files /dev/null and b/public/flags/sd.png differ diff --git a/public/flags/se.png b/public/flags/se.png new file mode 100644 index 0000000..e4fc5cb Binary files /dev/null and b/public/flags/se.png differ diff --git a/public/flags/sg.png b/public/flags/sg.png new file mode 100644 index 0000000..4a18090 Binary files /dev/null and b/public/flags/sg.png differ diff --git a/public/flags/sh.png b/public/flags/sh.png new file mode 100644 index 0000000..c74e8d6 Binary files /dev/null and b/public/flags/sh.png differ diff --git a/public/flags/si.png b/public/flags/si.png new file mode 100644 index 0000000..13916e7 Binary files /dev/null and b/public/flags/si.png differ diff --git a/public/flags/sj.png b/public/flags/sj.png new file mode 100644 index 0000000..081266e Binary files /dev/null and b/public/flags/sj.png differ diff --git a/public/flags/sk.png b/public/flags/sk.png new file mode 100644 index 0000000..78a63d8 Binary files /dev/null and b/public/flags/sk.png differ diff --git a/public/flags/sl.png b/public/flags/sl.png new file mode 100644 index 0000000..37d3245 Binary files /dev/null and b/public/flags/sl.png differ diff --git a/public/flags/sm.png b/public/flags/sm.png new file mode 100644 index 0000000..3f52ce1 Binary files /dev/null and b/public/flags/sm.png differ diff --git a/public/flags/sn.png b/public/flags/sn.png new file mode 100644 index 0000000..e5f3d71 Binary files /dev/null and b/public/flags/sn.png differ diff --git a/public/flags/so.png b/public/flags/so.png new file mode 100644 index 0000000..7c28b2f Binary files /dev/null and b/public/flags/so.png differ diff --git a/public/flags/sr.png b/public/flags/sr.png new file mode 100644 index 0000000..b8245ab Binary files /dev/null and b/public/flags/sr.png differ diff --git a/public/flags/ss.png b/public/flags/ss.png new file mode 100644 index 0000000..ff61afc Binary files /dev/null and b/public/flags/ss.png differ diff --git a/public/flags/st.png b/public/flags/st.png new file mode 100644 index 0000000..1736109 Binary files /dev/null and b/public/flags/st.png differ diff --git a/public/flags/sv.png b/public/flags/sv.png new file mode 100644 index 0000000..0c8d9cb Binary files /dev/null and b/public/flags/sv.png differ diff --git a/public/flags/sx.png b/public/flags/sx.png new file mode 100644 index 0000000..88f8a43 Binary files /dev/null and b/public/flags/sx.png differ diff --git a/public/flags/sy.png b/public/flags/sy.png new file mode 100644 index 0000000..d6a5aa1 Binary files /dev/null and b/public/flags/sy.png differ diff --git a/public/flags/sz.png b/public/flags/sz.png new file mode 100644 index 0000000..37b492f Binary files /dev/null and b/public/flags/sz.png differ diff --git a/public/flags/tc.png b/public/flags/tc.png new file mode 100644 index 0000000..119c5b4 Binary files /dev/null and b/public/flags/tc.png differ diff --git a/public/flags/td.png b/public/flags/td.png new file mode 100644 index 0000000..ba65cc0 Binary files /dev/null and b/public/flags/td.png differ diff --git a/public/flags/tf.png b/public/flags/tf.png new file mode 100644 index 0000000..e8b8c28 Binary files /dev/null and b/public/flags/tf.png differ diff --git a/public/flags/tg.png b/public/flags/tg.png new file mode 100644 index 0000000..3459de7 Binary files /dev/null and b/public/flags/tg.png differ diff --git a/public/flags/th.png b/public/flags/th.png new file mode 100644 index 0000000..3f52d90 Binary files /dev/null and b/public/flags/th.png differ diff --git a/public/flags/tj.png b/public/flags/tj.png new file mode 100644 index 0000000..5591b73 Binary files /dev/null and b/public/flags/tj.png differ diff --git a/public/flags/tk.png b/public/flags/tk.png new file mode 100644 index 0000000..534eaba Binary files /dev/null and b/public/flags/tk.png differ diff --git a/public/flags/tl.png b/public/flags/tl.png new file mode 100644 index 0000000..b3fad8c Binary files /dev/null and b/public/flags/tl.png differ diff --git a/public/flags/tm.png b/public/flags/tm.png new file mode 100644 index 0000000..6a30fa3 Binary files /dev/null and b/public/flags/tm.png differ diff --git a/public/flags/tn.png b/public/flags/tn.png new file mode 100644 index 0000000..dea0bde Binary files /dev/null and b/public/flags/tn.png differ diff --git a/public/flags/to.png b/public/flags/to.png new file mode 100644 index 0000000..612f42e Binary files /dev/null and b/public/flags/to.png differ diff --git a/public/flags/tr.png b/public/flags/tr.png new file mode 100644 index 0000000..b7b48b5 Binary files /dev/null and b/public/flags/tr.png differ diff --git a/public/flags/tt.png b/public/flags/tt.png new file mode 100644 index 0000000..fc73373 Binary files /dev/null and b/public/flags/tt.png differ diff --git a/public/flags/tv.png b/public/flags/tv.png new file mode 100644 index 0000000..3e1573e Binary files /dev/null and b/public/flags/tv.png differ diff --git a/public/flags/tw.png b/public/flags/tw.png new file mode 100644 index 0000000..f9f75ca Binary files /dev/null and b/public/flags/tw.png differ diff --git a/public/flags/tz.png b/public/flags/tz.png new file mode 100644 index 0000000..76f462f Binary files /dev/null and b/public/flags/tz.png differ diff --git a/public/flags/ua.png b/public/flags/ua.png new file mode 100644 index 0000000..28ec798 Binary files /dev/null and b/public/flags/ua.png differ diff --git a/public/flags/ug.png b/public/flags/ug.png new file mode 100644 index 0000000..f0cc413 Binary files /dev/null and b/public/flags/ug.png differ diff --git a/public/flags/um.png b/public/flags/um.png new file mode 100644 index 0000000..3b8d943 Binary files /dev/null and b/public/flags/um.png differ diff --git a/public/flags/us.png b/public/flags/us.png new file mode 100644 index 0000000..3b8d943 Binary files /dev/null and b/public/flags/us.png differ diff --git a/public/flags/uy.png b/public/flags/uy.png new file mode 100644 index 0000000..0ca2e81 Binary files /dev/null and b/public/flags/uy.png differ diff --git a/public/flags/uz.png b/public/flags/uz.png new file mode 100644 index 0000000..2328d3c Binary files /dev/null and b/public/flags/uz.png differ diff --git a/public/flags/va.png b/public/flags/va.png new file mode 100644 index 0000000..61e8bdb Binary files /dev/null and b/public/flags/va.png differ diff --git a/public/flags/vc.png b/public/flags/vc.png new file mode 100644 index 0000000..a0d84a7 Binary files /dev/null and b/public/flags/vc.png differ diff --git a/public/flags/ve.png b/public/flags/ve.png new file mode 100644 index 0000000..a011634 Binary files /dev/null and b/public/flags/ve.png differ diff --git a/public/flags/vg.png b/public/flags/vg.png new file mode 100644 index 0000000..1a4f31d Binary files /dev/null and b/public/flags/vg.png differ diff --git a/public/flags/vi.png b/public/flags/vi.png new file mode 100644 index 0000000..bdb3c15 Binary files /dev/null and b/public/flags/vi.png differ diff --git a/public/flags/vn.png b/public/flags/vn.png new file mode 100644 index 0000000..b65871c Binary files /dev/null and b/public/flags/vn.png differ diff --git a/public/flags/vu.png b/public/flags/vu.png new file mode 100644 index 0000000..b361acb Binary files /dev/null and b/public/flags/vu.png differ diff --git a/public/flags/wf.png b/public/flags/wf.png new file mode 100644 index 0000000..2208b9c Binary files /dev/null and b/public/flags/wf.png differ diff --git a/public/flags/ws.png b/public/flags/ws.png new file mode 100644 index 0000000..ba822d9 Binary files /dev/null and b/public/flags/ws.png differ diff --git a/public/flags/xk.png b/public/flags/xk.png new file mode 100644 index 0000000..33b0df5 Binary files /dev/null and b/public/flags/xk.png differ diff --git a/public/flags/ye.png b/public/flags/ye.png new file mode 100644 index 0000000..912b709 Binary files /dev/null and b/public/flags/ye.png differ diff --git a/public/flags/yt.png b/public/flags/yt.png new file mode 100644 index 0000000..0f79c66 Binary files /dev/null and b/public/flags/yt.png differ diff --git a/public/flags/za.png b/public/flags/za.png new file mode 100644 index 0000000..a194da4 Binary files /dev/null and b/public/flags/za.png differ diff --git a/public/flags/zm.png b/public/flags/zm.png new file mode 100644 index 0000000..3acdab1 Binary files /dev/null and b/public/flags/zm.png differ diff --git a/public/flags/zw.png b/public/flags/zw.png new file mode 100644 index 0000000..70ed864 Binary files /dev/null and b/public/flags/zw.png differ diff --git a/public/global.css b/public/global.css new file mode 100644 index 0000000..0672473 --- /dev/null +++ b/public/global.css @@ -0,0 +1,21 @@ + +body { + color: #333; + margin: 0; + padding: 0; + box-sizing: border-box; + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; +} + +a { + color: rgb(0,100,200); + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + +a:visited { + color: rgb(0,80,160); +} diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..5da7ed3 --- /dev/null +++ b/public/index.html @@ -0,0 +1,18 @@ + + + + + + + Svelte app + + + + + + + + + + + diff --git a/public/sample.png b/public/sample.png new file mode 100644 index 0000000..2c77b56 Binary files /dev/null and b/public/sample.png differ diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 0000000..e8965ec --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,76 @@ +import svelte from 'rollup-plugin-svelte'; +import commonjs from '@rollup/plugin-commonjs'; +import resolve from '@rollup/plugin-node-resolve'; +import livereload from 'rollup-plugin-livereload'; +import { terser } from 'rollup-plugin-terser'; +import css from 'rollup-plugin-css-only'; + +const production = !process.env.ROLLUP_WATCH; + +function serve() { + let server; + + function toExit() { + if (server) server.kill(0); + } + + return { + writeBundle() { + if (server) return; + server = require('child_process').spawn('npm', ['run', 'start', '--', '--dev'], { + stdio: ['ignore', 'inherit', 'inherit'], + shell: true + }); + + process.on('SIGTERM', toExit); + process.on('exit', toExit); + } + }; +} + +export default { + input: 'src/main.js', + output: { + sourcemap: true, + format: 'iife', + name: 'app', + file: 'public/build/bundle.js' + }, + plugins: [ + svelte({ + compilerOptions: { + // enable run-time checks when not in production + dev: !production + } + }), + // we'll extract any component CSS out into + // a separate file - better for performance + css({ output: 'bundle.css' }), + + // If you have external dependencies installed from + // npm, you'll most likely need these plugins. In + // some cases you'll need additional configuration - + // consult the documentation for details: + // https://github.com/rollup/plugins/tree/master/packages/commonjs + resolve({ + browser: true, + dedupe: ['svelte'] + }), + commonjs(), + + // In dev mode, call `npm run start` once + // the bundle has been generated + !production && serve(), + + // Watch the `public` directory and refresh the + // browser on changes when not in production + !production && livereload('public'), + + // If we're building for production (npm run build + // instead of npm run dev), minify + production && terser() + ], + watch: { + clearScreen: false + } +}; diff --git a/scripts/setupTypeScript.js b/scripts/setupTypeScript.js new file mode 100644 index 0000000..133658a --- /dev/null +++ b/scripts/setupTypeScript.js @@ -0,0 +1,121 @@ +// @ts-check + +/** This script modifies the project to support TS code in .svelte files like: + + + + As well as validating the code for CI. + */ + +/** To work on this script: + rm -rf test-template template && git clone sveltejs/template test-template && node scripts/setupTypeScript.js test-template +*/ + +const fs = require("fs") +const path = require("path") +const { argv } = require("process") + +const projectRoot = argv[2] || path.join(__dirname, "..") + +// Add deps to pkg.json +const packageJSON = JSON.parse(fs.readFileSync(path.join(projectRoot, "package.json"), "utf8")) +packageJSON.devDependencies = Object.assign(packageJSON.devDependencies, { + "svelte-check": "^2.0.0", + "svelte-preprocess": "^4.0.0", + "@rollup/plugin-typescript": "^8.0.0", + "typescript": "^4.0.0", + "tslib": "^2.0.0", + "@tsconfig/svelte": "^2.0.0" +}) + +// Add script for checking +packageJSON.scripts = Object.assign(packageJSON.scripts, { + "check": "svelte-check --tsconfig ./tsconfig.json" +}) + +// Write the package JSON +fs.writeFileSync(path.join(projectRoot, "package.json"), JSON.stringify(packageJSON, null, " ")) + +// mv src/main.js to main.ts - note, we need to edit rollup.config.js for this too +const beforeMainJSPath = path.join(projectRoot, "src", "main.js") +const afterMainTSPath = path.join(projectRoot, "src", "main.ts") +fs.renameSync(beforeMainJSPath, afterMainTSPath) + +// Switch the app.svelte file to use TS +const appSveltePath = path.join(projectRoot, "src", "App.svelte") +let appFile = fs.readFileSync(appSveltePath, "utf8") +appFile = appFile.replace(" + +
+

Kinetic Scroll

+

Example

+

Drag vertically through the list of countries and territories
below to check the action behaviour

+
+
+ +
+ +
+ + \ No newline at end of file diff --git a/src/countries.js b/src/countries.js new file mode 100644 index 0000000..3328bc7 --- /dev/null +++ b/src/countries.js @@ -0,0 +1,251 @@ + +const countries = [ + {name: 'Abkhazia', code: 'AB'}, + {name: 'Afghanistan', code: 'AF'}, + {name: 'Ă…land Islands', code: 'AX'}, + {name: 'Albania', code: 'AL'}, + {name: 'Algeria', code: 'DZ'}, + {name: 'American Samoa', code: 'AS'}, + {name: 'Andorra', code: 'AD'}, + {name: 'Angola', code: 'AO'}, + {name: 'Anguilla', code: 'AI'}, + {name: 'Antarctica', code: 'AQ'}, + {name: 'Antigua and Barbuda', code: 'AG'}, + {name: 'Argentina', code: 'AR'}, + {name: 'Armenia', code: 'AM'}, + {name: 'Aruba', code: 'AW'}, + {name: 'Australia', code: 'AU'}, + {name: 'Austria', code: 'AT'}, + {name: 'Azerbaijan', code: 'AZ'}, + {name: 'Bahamas', code: 'BS'}, + {name: 'Bahrain', code: 'BH'}, + {name: 'Bangladesh', code: 'BD'}, + {name: 'Barbados', code: 'BB'}, + {name: 'Belarus', code: 'BY'}, + {name: 'Belgium', code: 'BE'}, + {name: 'Belize', code: 'BZ'}, + {name: 'Benin', code: 'BJ'}, + {name: 'Bermuda', code: 'BM'}, + {name: 'Bhutan', code: 'BT'}, + {name: 'Bolivia', code: 'BO'}, + {name: 'Bosnia and Herzegovina', code: 'BA'}, + {name: 'Botswana', code: 'BW'}, + {name: 'Bouvet Island', code: 'BV'}, + {name: 'Brazil', code: 'BR'}, + {name: 'British Indian Ocean Territory', code: 'IO'}, + {name: 'Brunei Darussalam', code: 'BN'}, + {name: 'Bulgaria', code: 'BG'}, + {name: 'Burkina Faso', code: 'BF'}, + {name: 'Burundi', code: 'BI'}, + {name: 'Cambodia', code: 'KH'}, + {name: 'Cameroon', code: 'CM'}, + {name: 'Canada', code: 'CA'}, + {name: 'Cape Verde', code: 'CV'}, + {name: 'Cayman Islands', code: 'KY'}, + {name: 'Central African Republic', code: 'CF'}, + {name: 'Chad', code: 'TD'}, + {name: 'Chile', code: 'CL'}, + {name: 'China', code: 'CN'}, + {name: 'Christmas Island', code: 'CX'}, + {name: 'Cocos (Keeling) Islands', code: 'CC'}, + {name: 'Colombia', code: 'CO'}, + {name: 'Comoros', code: 'KM'}, + {name: 'Congo', code: 'CG'}, + {name: 'Congo, The Democratic Republic of the', code: 'CD'}, + {name: 'Cook Islands', code: 'CK'}, + {name: 'Costa Rica', code: 'CR'}, + {name: 'Cote D\'Ivoire', code: 'CI'}, + {name: 'Croatia', code: 'HR'}, + {name: 'Cuba', code: 'CU'}, + {name: 'Cyprus', code: 'CY'}, + {name: 'Czech Republic', code: 'CZ'}, + {name: 'Denmark', code: 'DK'}, + {name: 'Djibouti', code: 'DJ'}, + {name: 'Dominica', code: 'DM'}, + {name: 'Dominican Republic', code: 'DO'}, + {name: 'Ecuador', code: 'EC'}, + {name: 'Egypt', code: 'EG'}, + {name: 'El Salvador', code: 'SV'}, + {name: 'Equatorial Guinea', code: 'GQ'}, + {name: 'Eritrea', code: 'ER'}, + {name: 'Estonia', code: 'EE'}, + {name: 'Ethiopia', code: 'ET'}, + {name: 'Falkland Islands (Malvinas)', code: 'FK'}, + {name: 'Faroe Islands', code: 'FO'}, + {name: 'Fiji', code: 'FJ'}, + {name: 'Finland', code: 'FI'}, + {name: 'France', code: 'FR'}, + {name: 'French Guiana', code: 'GF'}, + {name: 'French Polynesia', code: 'PF'}, + {name: 'French Southern Territories', code: 'TF'}, + {name: 'Gabon', code: 'GA'}, + {name: 'Gambia', code: 'GM'}, + {name: 'Georgia', code: 'GE'}, + {name: 'Germany', code: 'DE'}, + {name: 'Ghana', code: 'GH'}, + {name: 'Gibraltar', code: 'GI'}, + {name: 'Greece', code: 'GR'}, + {name: 'Greenland', code: 'GL'}, + {name: 'Grenada', code: 'GD'}, + {name: 'Guadeloupe', code: 'GP'}, + {name: 'Guam', code: 'GU'}, + {name: 'Guatemala', code: 'GT'}, + {name: 'Guernsey', code: 'GG'}, + {name: 'Guinea', code: 'GN'}, + {name: 'Guinea-Bissau', code: 'GW'}, + {name: 'Guyana', code: 'GY'}, + {name: 'Haiti', code: 'HT'}, + {name: 'Heard Island and Mcdonald Islands', code: 'HM'}, + {name: 'Holy See (Vatican City State)', code: 'VA'}, + {name: 'Honduras', code: 'HN'}, + {name: 'Hong Kong', code: 'HK'}, + {name: 'Hungary', code: 'HU'}, + {name: 'Iceland', code: 'IS'}, + {name: 'India', code: 'IN'}, + {name: 'Indonesia', code: 'ID'}, + {name: 'Iran, Islamic Republic Of', code: 'IR'}, + {name: 'Iraq', code: 'IQ'}, + {name: 'Ireland', code: 'IE'}, + {name: 'Isle of Man', code: 'IM'}, + {name: 'Israel', code: 'IL'}, + {name: 'Italy', code: 'IT'}, + {name: 'Jamaica', code: 'JM'}, + {name: 'Japan', code: 'JP'}, + {name: 'Jersey', code: 'JE'}, + {name: 'Jordan', code: 'JO'}, + {name: 'Kazakhstan', code: 'KZ'}, + {name: 'Kenya', code: 'KE'}, + {name: 'Kiribati', code: 'KI'}, + {name: 'Korea, Democratic People\'S Republic of', code: 'KP'}, + {name: 'Korea, Republic of', code: 'KR'}, + {name: 'Kuwait', code: 'KW'}, + {name: 'Kyrgyzstan', code: 'KG'}, + {name: 'Lao People\'S Democratic Republic', code: 'LA'}, + {name: 'Latvia', code: 'LV'}, + {name: 'Lebanon', code: 'LB'}, + {name: 'Lesotho', code: 'LS'}, + {name: 'Liberia', code: 'LR'}, + {name: 'Libyan Arab Jamahiriya', code: 'LY'}, + {name: 'Liechtenstein', code: 'LI'}, + {name: 'Lithuania', code: 'LT'}, + {name: 'Luxembourg', code: 'LU'}, + {name: 'Macao', code: 'MO'}, + {name: 'Macedonia', code: 'MK'}, + {name: 'Madagascar', code: 'MG'}, + {name: 'Malawi', code: 'MW'}, + {name: 'Malaysia', code: 'MY'}, + {name: 'Maldives', code: 'MV'}, + {name: 'Mali', code: 'ML'}, + {name: 'Malta', code: 'MT'}, + {name: 'Marshall Islands', code: 'MH'}, + {name: 'Martinique', code: 'MQ'}, + {name: 'Mauritania', code: 'MR'}, + {name: 'Mauritius', code: 'MU'}, + {name: 'Mayotte', code: 'YT'}, + {name: 'Mexico', code: 'MX'}, + {name: 'Micronesia, Federated States of', code: 'FM'}, + {name: 'Moldova, Republic of', code: 'MD'}, + {name: 'Monaco', code: 'MC'}, + {name: 'Mongolia', code: 'MN'}, + {name: 'Montenegro', code: 'ME'}, + {name: 'Montserrat', code: 'MS'}, + {name: 'Morocco', code: 'MA'}, + {name: 'Mozambique', code: 'MZ'}, + {name: 'Myanmar', code: 'MM'}, + {name: 'Namibia', code: 'NA'}, + {name: 'Nauru', code: 'NR'}, + {name: 'Nepal', code: 'NP'}, + {name: 'Netherlands', code: 'NL'}, + {name: 'Netherlands Antilles', code: 'AN'}, + {name: 'New Caledonia', code: 'NC'}, + {name: 'New Zealand', code: 'NZ'}, + {name: 'Nicaragua', code: 'NI'}, + {name: 'Niger', code: 'NE'}, + {name: 'Nigeria', code: 'NG'}, + {name: 'Niue', code: 'NU'}, + {name: 'Norfolk Island', code: 'NF'}, + {name: 'Northern Mariana Islands', code: 'MP'}, + {name: 'Norway', code: 'NO'}, + {name: 'Oman', code: 'OM'}, + {name: 'Pakistan', code: 'PK'}, + {name: 'Palau', code: 'PW'}, + {name: 'Palestinian Territory, Occupied', code: 'PS'}, + {name: 'Panama', code: 'PA'}, + {name: 'Papua New Guinea', code: 'PG'}, + {name: 'Paraguay', code: 'PY'}, + {name: 'Peru', code: 'PE'}, + {name: 'Philippines', code: 'PH'}, + {name: 'Pitcairn', code: 'PN'}, + {name: 'Poland', code: 'PL'}, + {name: 'Portugal', code: 'PT'}, + {name: 'Puerto Rico', code: 'PR'}, + {name: 'Qatar', code: 'QA'}, + {name: 'Reunion', code: 'RE'}, + {name: 'Romania', code: 'RO'}, + {name: 'Russian Federation', code: 'RU'}, + {name: 'RWANDA', code: 'RW'}, + {name: 'Saint Helena', code: 'SH'}, + {name: 'Saint Kitts and Nevis', code: 'KN'}, + {name: 'Saint Lucia', code: 'LC'}, + {name: 'Saint Pierre and Miquelon', code: 'PM'}, + {name: 'Saint Vincent and the Grenadines', code: 'VC'}, + {name: 'Samoa', code: 'WS'}, + {name: 'San Marino', code: 'SM'}, + {name: 'Sao Tome and Principe', code: 'ST'}, + {name: 'Saudi Arabia', code: 'SA'}, + {name: 'Senegal', code: 'SN'}, + {name: 'Serbia', code: 'RS'}, + {name: 'Seychelles', code: 'SC'}, + {name: 'Sierra Leone', code: 'SL'}, + {name: 'Singapore', code: 'SG'}, + {name: 'Slovakia', code: 'SK'}, + {name: 'Slovenia', code: 'SI'}, + {name: 'Solomon Islands', code: 'SB'}, + {name: 'Somalia', code: 'SO'}, + {name: 'Somaliland', code: 'S1'}, + {name: 'South Africa', code: 'ZA'}, + {name: 'South Georgia and the South Sandwich Islands', code: 'GS'}, + {name: 'Spain', code: 'ES'}, + {name: 'Sri Lanka', code: 'LK'}, + {name: 'Sudan', code: 'SD'}, + {name: 'Suriname', code: 'SR'}, + {name: 'Svalbard and Jan Mayen', code: 'SJ'}, + {name: 'Swaziland', code: 'SZ'}, + {name: 'Sweden', code: 'SE'}, + {name: 'Switzerland', code: 'CH'}, + {name: 'Syrian Arab Republic', code: 'SY'}, + {name: 'Taiwan, Province of China', code: 'TW'}, + {name: 'Tajikistan', code: 'TJ'}, + {name: 'Tanzania, United Republic of', code: 'TZ'}, + {name: 'Thailand', code: 'TH'}, + {name: 'Timor-Leste', code: 'TL'}, + {name: 'Togo', code: 'TG'}, + {name: 'Tokelau', code: 'TK'}, + {name: 'Tonga', code: 'TO'}, + {name: 'Trinidad and Tobago', code: 'TT'}, + {name: 'Tunisia', code: 'TN'}, + {name: 'Turkey', code: 'TR'}, + {name: 'Turkmenistan', code: 'TM'}, + {name: 'Turks and Caicos Islands', code: 'TC'}, + {name: 'Tuvalu', code: 'TV'}, + {name: 'Uganda', code: 'UG'}, + {name: 'Ukraine', code: 'UA'}, + {name: 'United Arab Emirates', code: 'AE'}, + {name: 'United Kingdom', code: 'GB'}, + {name: 'United States', code: 'US'}, + {name: 'United States Minor Outlying Islands', code: 'UM'}, + {name: 'Uruguay', code: 'UY'}, + {name: 'Uzbekistan', code: 'UZ'}, + {name: 'Vanuatu', code: 'VU'}, + {name: 'Venezuela', code: 'VE'}, + {name: 'Viet Nam', code: 'VN'}, + {name: 'Virgin Islands, British', code: 'VG'}, + {name: 'Virgin Islands, U.S.', code: 'VI'}, + {name: 'Wallis and Futuna', code: 'WF'}, + {name: 'Western Sahara', code: 'EH'}, + {name: 'Yemen', code: 'YE'}, + {name: 'Zambia', code: 'ZM'}, + {name: 'Zimbabwe', code: 'ZW'} +] + +export default countries; \ No newline at end of file diff --git a/src/kineticscroll.js b/src/kineticscroll.js new file mode 100644 index 0000000..69c95ef --- /dev/null +++ b/src/kineticscroll.js @@ -0,0 +1,163 @@ + +/* configs: { + indicator --> ID to a absolute positioned element inside the container. Container should be relative or absolute positioned. If not, this action will set it's position to relative + useWheel --> If true basic mouse wheel support will be supported +} */ +export function kineticscroll(node, cfgs) { + 'use strict'; + + let reference, velocity, frame, timestamp, ticker, amplitude, target, relative; + let parent = node.parentElement; + let innerheight = parseInt(getComputedStyle(parent).height, 10); + let max = parseInt(getComputedStyle(node).height, 10) - innerheight; + let offset = 0; + let min = 0; + let pressed = false; + let defaultConfigs = { indicator: '', useWheel: true }; + let configs = {...defaultConfigs, ...cfgs}; + let indicator = configs.indicator ? document.getElementById(configs.indicator) : null; + let timeConstant = 325; + + if (indicator) { + let pos = getComputedStyle(parent).position; + let hgt = getElementFullHeight(indicator); + if ('relative absolute fixed'.indexOf(pos) == -1) { + parent.style.position = 'relative'; + } + relative = (innerheight - hgt) / max; + } + + + if (typeof window.ontouchstart !== 'undefined') { + node.addEventListener('touchstart', tap); + node.addEventListener('touchmove', drag); + node.addEventListener('touchend', release); + } + node.addEventListener('mousedown', tap); + node.addEventListener('mousemove', drag); + node.addEventListener('mouseup', release); + if (configs.useWheel) { node.addEventListener('wheel', wheel); } + + function getElementFullHeight(ele) { + let compStyle = window.getComputedStyle(ele); + return ele.offsetHeight + parseInt(compStyle.getPropertyValue('margin-top')) + parseInt(compStyle.getPropertyValue('margin-bottom')); + } + + function ypos(e) { + // touch event + if (e.targetTouches && (e.targetTouches.length >= 1)) { + return e.targetTouches[0].clientY; + } + + // mouse event + return e.clientY; + } + + function scroll(y) { + offset = (y > max) ? max : (y < min) ? min : y; + node.style.transform = 'translateY(' + (-offset) + 'px)'; + if (indicator) { indicator.style.transform = 'translateY(' + (offset * relative) + 'px)'; } + } + + function track() { + var now, elapsed, delta, v; + + now = Date.now(); + elapsed = now - timestamp; + timestamp = now; + delta = offset - frame; + frame = offset; + + v = 1000 * delta / (1 + elapsed); + velocity = 0.8 * v + 0.2 * velocity; + } + + function autoScroll() { + var elapsed, delta; + + if (amplitude) { + elapsed = Date.now() - timestamp; + delta = -amplitude * Math.exp(-elapsed / timeConstant); + if (delta > 0.5 || delta < -0.5) { + scroll(target + delta); + requestAnimationFrame(autoScroll); + } else { + scroll(target); + } + } + } + + function wheel(e) { + var y, delta; + + y = ypos(e); + delta = event.deltaY; + if (delta > 2 || delta < -2) { + reference = y; + scroll(offset + delta); + } + e.preventDefault(); + e.stopPropagation(); + return false; + } + + function tap(e) { + pressed = true; + reference = ypos(e); + + velocity = amplitude = 0; + frame = offset; + timestamp = Date.now(); + clearInterval(ticker); + ticker = setInterval(track, 100); + + e.preventDefault(); + e.stopPropagation(); + return false; + } + + function drag(e) { + var y, delta; + + if (pressed) { + y = ypos(e); + delta = reference - y; + if (delta > 2 || delta < -2) { + reference = y; + scroll(offset + delta); + } + } + e.preventDefault(); + e.stopPropagation(); + return false; + } + + function release(e) { + pressed = false; + clearInterval(ticker); + + if (velocity > 10 || velocity < -10) { + amplitude = 0.8 * velocity; + target = Math.round(offset + amplitude); + timestamp = Date.now(); + requestAnimationFrame(autoScroll); + } + e.preventDefault(); + e.stopPropagation(); + return false; + } + + return { + destroy() { + if (typeof window.ontouchstart !== 'undefined') { + node.removeEventListener('touchstart', tap); + node.removeEventListener('touchmove', drag); + node.removeEventListener('touchend', release); + } + node.removeEventListener('mousedown', tap); + node.removeEventListener('mousemove', drag); + node.removeEventListener('mouseup', release); + if (configs.useWheel) { node.removeEventListener('wheel', wheel); } + } + } +}; \ No newline at end of file diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..d6cacbb --- /dev/null +++ b/src/main.js @@ -0,0 +1,10 @@ +import App from './App.svelte'; + +const app = new App({ + target: document.body, + props: { + name: 'world' + } +}); + +export default app; \ No newline at end of file