From e833941c7f6ebd0d1354b82a5d86c0be6591e3ab Mon Sep 17 00:00:00 2001
From: novacbn <31122674+novacbn@users.noreply.github.com>
Date: Thu, 13 May 2021 11:58:29 -0400
Subject: [PATCH] - Initial commit
---
.gitignore | 5 +
.prettierrc | 11 +
.vscode/extensions.json | 3 +
.vscode/settings.json | 31 +
README.md | 160 +++
docs/package-lock.json | 1225 +++++++++++++++++
docs/package.json | 30 +
docs/src/app.html | 18 +
docs/src/components/CSSVariableInput.svelte | 16 +
docs/src/routes/__layout.svelte | 54 +
docs/src/routes/demo.svelte | 121 ++
docs/src/routes/index.svelte | 6 +
.../jung-ho-park-sYiKL1JEOEk-unsplash.jpg | Bin 0 -> 298107 bytes
docs/static/favicon.ico | Bin 0 -> 1150 bytes
docs/static/robots.txt | 3 +
docs/svelte.config.js | 28 +
package-lock.json | 54 +
package.json | 28 +
src/actions/drag.js | 123 ++
src/components/ImageCrop.svelte | 289 ++++
src/index.js | 3 +
src/util/bitmap.js | 36 +
src/util/image.js | 17 +
src/util/math.js | 88 ++
24 files changed, 2349 insertions(+)
create mode 100644 .gitignore
create mode 100644 .prettierrc
create mode 100644 .vscode/extensions.json
create mode 100644 .vscode/settings.json
create mode 100644 README.md
create mode 100644 docs/package-lock.json
create mode 100644 docs/package.json
create mode 100644 docs/src/app.html
create mode 100644 docs/src/components/CSSVariableInput.svelte
create mode 100644 docs/src/routes/__layout.svelte
create mode 100644 docs/src/routes/demo.svelte
create mode 100644 docs/src/routes/index.svelte
create mode 100644 docs/static/assets/images/jung-ho-park-sYiKL1JEOEk-unsplash.jpg
create mode 100644 docs/static/favicon.ico
create mode 100644 docs/static/robots.txt
create mode 100644 docs/svelte.config.js
create mode 100644 package-lock.json
create mode 100644 package.json
create mode 100644 src/actions/drag.js
create mode 100644 src/components/ImageCrop.svelte
create mode 100644 src/index.js
create mode 100644 src/util/bitmap.js
create mode 100644 src/util/image.js
create mode 100644 src/util/math.js
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..47be1c7
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+/node_modules
+
+/docs/.svelte-kit
+/docs/build
+/docs/node_modules
\ No newline at end of file
diff --git a/.prettierrc b/.prettierrc
new file mode 100644
index 0000000..9b13f9b
--- /dev/null
+++ b/.prettierrc
@@ -0,0 +1,11 @@
+{
+ "arrowParens": "always",
+ "bracketSpacing": false,
+ "endOfLine": "lf",
+ "printWidth": 100,
+ "proseWrap": "preserve",
+ "semi": true,
+ "singleQuote": false,
+ "tabWidth": 4,
+ "useTabs": false
+}
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
new file mode 100644
index 0000000..f9118ac
--- /dev/null
+++ b/.vscode/extensions.json
@@ -0,0 +1,3 @@
+{
+ "recommendations": ["esbenp.prettier-vscode", "svelte.svelte-vscode"]
+}
\ No newline at end of file
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 0000000..c6c1ce7
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,31 @@
+{
+ "editor.formatOnSave": false,
+
+ "[css]": {
+ "editor.formatOnSave": true
+ },
+
+ "[html]": {
+ "editor.formatOnSave": true
+ },
+
+ "[javascript]": {
+ "editor.formatOnSave": true
+ },
+
+ "[json]": {
+ "editor.formatOnSave": true
+ },
+
+ "[json with comments]": {
+ "editor.formatOnSave": true
+ },
+
+ "[markdown]": {
+ "editor.formatOnSave": true
+ },
+
+ "[svelte]": {
+ "editor.formatOnSave": true
+ }
+}
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..159d30d
--- /dev/null
+++ b/README.md
@@ -0,0 +1,160 @@
+# `svelte-image-crop`
+
+## Description
+
+Simple click'n'drag Image Cropping using Web APIs
+
+## Demo
+
+See a demo at [novacbn.github.io/svelte-image-crop/demo](https://novacbn.github.io/svelte-image-crop/demo)
+
+## Usage
+
+```html
+
+
+
+
+
+
+
+
+
+
+
+
+```
+
+## Controls
+
+- `mouse drag` / `touch drag` — Creates a crop selection
+- `mouse click` / `touch tap` — Resets crop selection
+
+## Developer
+
+### Installation
+
+Open your terminal and install via `npm`:
+
+```bash
+npm install github:novacbn/svelte-image-crop#0.0.1
+```
+
+Install current in-development code:
+
+```bash
+npm install github:novacbn/svelte-image-crop
+```
+
+### Properties
+
+| Signature | Default | Description |
+| ------------- | ------- | ------------------------------------------------ |
+| `src: string` | `""` | Sets the image to be loaded into the crop editor |
+
+### Methods
+
+| Signature | Description |
+| --------------------------- | ------------------------------------------------------------------------------------------ |
+| `get_cropped_image(): Blob` | Returns a copy of the currently loaded image as a `Blob`, but cropped to current selection |
+| `is_cropping(): boolean` | Returns if there is an active crop selection |
+| `reset(): void` | Removes the the currently active crop selection |
+
+### Events
+
+| Signature | Description |
+| ----------------------------------------- | --------------------------------------------------------- |
+| `state: CustomEvent<{state: CROP_STATE}>` | Dispatches whenever the current crop editor state changes |
+
+### CSS Variables
+
+| Name | Default | Description |
+| ----------------------------------------- | -------------------------------- | ----------------------------------------------------------------------------------- |
+| `--image-crop-cursor-dragging` | `crosshair` | Represents the cursor used when the end-user is currently performing selection drag |
+| `--image-crop-cursor-hover` | `se-resize` | Represents the cursor used when the end-user is hovering with no drag |
+| `--image-crop-background-filter-cropping` | `blur(1px) brightness(65%)` | Represents the filter used on the background image when there is a crop selection |
+| `--image-crop-selection-border` | `6px dashed whitesmoke` | Represents the border used on the visualization of the current crop selection |
+| `--image-crop-selection-color` | `whitesmoke` | Represents the color used on the visualization of the current crop selection |
+| `--image-crop-selection-filter` | `drop-shadow(0px 0px 6px black)` | Represents the filter used on the visualization of the current crop selection |
+| `--image-crop-selection-font-family` | `inherit` | Represents the font family used on the visualization of the current crop selection |
+| `--image-crop-selection-font-size` | `1rem` | Represents the font size used on the visualization of the current crop selection |
+| `--image-crop-selection-font-weight` | `900` | Represents the font weight used on the visualization of the current crop selection |
+
+### API
+
+- Constants
+
+ - `CROP_STATES`
+
+- Components
+
+ - `ImageCrop`
diff --git a/docs/package-lock.json b/docs/package-lock.json
new file mode 100644
index 0000000..10fba5a
--- /dev/null
+++ b/docs/package-lock.json
@@ -0,0 +1,1225 @@
+{
+ "name": "@novacbn/svelte-image-crop-docs",
+ "version": "0.1.0",
+ "lockfileVersion": 2,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "@novacbn/svelte-image-crop-docs",
+ "version": "0.1.0",
+ "dependencies": {
+ "@novacbn/svelte-image-crop": "file:..",
+ "chota": "^0.8.0",
+ "prismjs": "^1.23.0"
+ },
+ "devDependencies": {
+ "@sveltejs/adapter-static": "^1.0.0-next.9",
+ "@sveltejs/kit": "^1.0.0-next.107",
+ "markdown-it": "^12.0.6",
+ "markdown-it-prism": "^2.1.6",
+ "svelte": "^3.38.2",
+ "vite": "^2.3.2",
+ "vite-plugin-markdown": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 12.17.0"
+ }
+ },
+ "..": {
+ "name": "@novacbn/svelte-image-crop",
+ "version": "0.0.1",
+ "devDependencies": {
+ "prettier": "^2.3.0",
+ "svelte": "^3.38.2"
+ },
+ "engines": {
+ "node": ">= 12.17.0"
+ }
+ },
+ "node_modules/@novacbn/svelte-image-crop": {
+ "resolved": "..",
+ "link": true
+ },
+ "node_modules/@rollup/pluginutils": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.0.tgz",
+ "integrity": "sha512-TrBhfJkFxA+ER+ew2U2/fHbebhLT/l/2pRk0hfj9KusXUuRXd2v0R58AfaZK9VXDQ4TogOSEmICVrQAA3zFnHQ==",
+ "dev": true,
+ "dependencies": {
+ "estree-walker": "^2.0.1",
+ "picomatch": "^2.2.2"
+ },
+ "engines": {
+ "node": ">= 8.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0"
+ }
+ },
+ "node_modules/@sveltejs/adapter-static": {
+ "version": "1.0.0-next.9",
+ "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-1.0.0-next.9.tgz",
+ "integrity": "sha512-yqZ+4dzi+2+2jDPHCrI7WrLdXyQ/0U56a7aFdepmodpvpxhazF203D1ez+AtTo27FjMmHjfI+q0O2FivUOosxg==",
+ "dev": true
+ },
+ "node_modules/@sveltejs/kit": {
+ "version": "1.0.0-next.107",
+ "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.0.0-next.107.tgz",
+ "integrity": "sha512-HxomGMWbuWTU8lahk98hqIL/xjW6HzNTAvTZVMnnmlMHN1N8x7+abkz4Y09Zhu8lZkZpFuqBj2UlsgPW4uJXtw==",
+ "dev": true,
+ "dependencies": {
+ "@sveltejs/vite-plugin-svelte": "^1.0.0-next.10",
+ "cheap-watch": "^1.0.3",
+ "sade": "^1.7.4",
+ "vite": "^2.3.1"
+ },
+ "bin": {
+ "svelte-kit": "svelte-kit.js"
+ },
+ "engines": {
+ "node": ">= 12.17.0"
+ },
+ "peerDependencies": {
+ "svelte": "^3.38.2"
+ }
+ },
+ "node_modules/@sveltejs/vite-plugin-svelte": {
+ "version": "1.0.0-next.10",
+ "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-1.0.0-next.10.tgz",
+ "integrity": "sha512-ImvxbhPePm2hWNTKBSA3LHAYGwiEjHjvvgfPLXm4R87sfZ+BMXql9jBmDpzUC/URBLT4BB3Jxos/i523qkJBHg==",
+ "dev": true,
+ "dependencies": {
+ "@rollup/pluginutils": "^4.1.0",
+ "chalk": "^4.1.1",
+ "debug": "^4.3.2",
+ "hash-sum": "^2.0.0",
+ "require-relative": "^0.8.7",
+ "slash": "^4.0.0",
+ "source-map": "^0.7.3",
+ "svelte-hmr": "^0.14.2"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "peerDependencies": {
+ "svelte": "^3.37.0",
+ "vite": "^2.2.3"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/chalk": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
+ "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/cheap-watch": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/cheap-watch/-/cheap-watch-1.0.3.tgz",
+ "integrity": "sha512-xC5CruMhLzjPwJ5ecUxGu1uGmwJQykUhqd2QrCrYbwvsFYdRyviu6jG9+pccwDXJR/OpmOTOJ9yLFunVgQu9wg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/chota": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/chota/-/chota-0.8.0.tgz",
+ "integrity": "sha512-6Y6MrULPNVup+9i+bFF5mXvifw4/N0AqcTO6VkhRcmRqY0XD2/EKq2kD8y7dX/PJnDq9ruHl2NURlPtGkMSNsg=="
+ },
+ "node_modules/clipboard": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.8.tgz",
+ "integrity": "sha512-Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ==",
+ "optional": true,
+ "dependencies": {
+ "good-listener": "^1.2.2",
+ "select": "^1.1.2",
+ "tiny-emitter": "^2.0.0"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/colorette": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
+ "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==",
+ "dev": true
+ },
+ "node_modules/debug": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
+ "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/delegate": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz",
+ "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==",
+ "optional": true
+ },
+ "node_modules/dom-serializer": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.1.tgz",
+ "integrity": "sha512-Pv2ZluG5ife96udGgEDovOOOA5UELkltfJpnIExPrAk1LTvecolUGn6lIaoLh86d83GiB86CjzciMd9BuRB71Q==",
+ "dev": true,
+ "dependencies": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.0.0",
+ "entities": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
+ }
+ },
+ "node_modules/domelementtype": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
+ "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ]
+ },
+ "node_modules/domhandler": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz",
+ "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==",
+ "dev": true,
+ "dependencies": {
+ "domelementtype": "^2.2.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
+ }
+ },
+ "node_modules/domutils": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.6.0.tgz",
+ "integrity": "sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA==",
+ "dev": true,
+ "dependencies": {
+ "dom-serializer": "^1.0.1",
+ "domelementtype": "^2.2.0",
+ "domhandler": "^4.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domutils?sponsor=1"
+ }
+ },
+ "node_modules/entities": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/esbuild": {
+ "version": "0.11.20",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.11.20.tgz",
+ "integrity": "sha512-QOZrVpN/Yz74xfat0H6euSgn3RnwLevY1mJTEXneukz1ln9qB+ieaerRMzSeETpz/UJWsBMzRVR/andBht5WKw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "bin": {
+ "esbuild": "bin/esbuild"
+ }
+ },
+ "node_modules/esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true,
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/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
+ },
+ "node_modules/front-matter": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-4.0.2.tgz",
+ "integrity": "sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==",
+ "dev": true,
+ "dependencies": {
+ "js-yaml": "^3.13.1"
+ }
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "dev": true,
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+ "dev": true
+ },
+ "node_modules/good-listener": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz",
+ "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=",
+ "optional": true,
+ "dependencies": {
+ "delegate": "^3.1.2"
+ }
+ },
+ "node_modules/has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dev": true,
+ "dependencies": {
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/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,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/hash-sum": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz",
+ "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==",
+ "dev": true
+ },
+ "node_modules/htmlparser2": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
+ "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
+ "dev": true,
+ "funding": [
+ "https://github.com/fb55/htmlparser2?sponsor=1",
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ],
+ "dependencies": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.0.0",
+ "domutils": "^2.5.2",
+ "entities": "^2.0.0"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz",
+ "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==",
+ "dev": true,
+ "dependencies": {
+ "has": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/linkify-it": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.2.tgz",
+ "integrity": "sha512-gDBO4aHNZS6coiZCKVhSNh43F9ioIL4JwRjLZPkoLIY4yZFwg264Y5lu2x6rb1Js42Gh6Yqm2f6L2AJcnkzinQ==",
+ "dev": true,
+ "dependencies": {
+ "uc.micro": "^1.0.1"
+ }
+ },
+ "node_modules/markdown-it": {
+ "version": "12.0.6",
+ "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.0.6.tgz",
+ "integrity": "sha512-qv3sVLl4lMT96LLtR7xeRJX11OUFjsaD5oVat2/SNBIb21bJXwal2+SklcRbTwGwqWpWH/HRtYavOoJE+seL8w==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1",
+ "entities": "~2.1.0",
+ "linkify-it": "^3.0.1",
+ "mdurl": "^1.0.1",
+ "uc.micro": "^1.0.5"
+ },
+ "bin": {
+ "markdown-it": "bin/markdown-it.js"
+ }
+ },
+ "node_modules/markdown-it-prism": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/markdown-it-prism/-/markdown-it-prism-2.1.6.tgz",
+ "integrity": "sha512-fuo5lq36A6kzb882vCsvdyh4HUzpwdfNkAl92cr+MjUO0Q9foz/7MZ/RpKRBlZSwt86LmPlW7ubaEwf4C+0b3g==",
+ "dev": true,
+ "dependencies": {
+ "prismjs": "1.23.0"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/markdown-it/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "node_modules/markdown-it/node_modules/entities": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz",
+ "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/mdurl": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
+ "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=",
+ "dev": true
+ },
+ "node_modules/mri": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.6.tgz",
+ "integrity": "sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "node_modules/nanoid": {
+ "version": "3.1.23",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz",
+ "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==",
+ "dev": true,
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
+ "dev": true
+ },
+ "node_modules/picomatch": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz",
+ "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.2.15",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.15.tgz",
+ "integrity": "sha512-2zO3b26eJD/8rb106Qu2o7Qgg52ND5HPjcyQiK2B98O388h43A448LCslC0dI2P97wCAQRJsFvwTRcXxTKds+Q==",
+ "dev": true,
+ "dependencies": {
+ "colorette": "^1.2.2",
+ "nanoid": "^3.1.23",
+ "source-map": "^0.6.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ }
+ },
+ "node_modules/postcss/node_modules/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,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/prismjs": {
+ "version": "1.23.0",
+ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.23.0.tgz",
+ "integrity": "sha512-c29LVsqOaLbBHuIbsTxaKENh1N2EQBOHaWv7gkHN4dgRbxSREqDnDbtFJYdpPauS4YCplMSNCABQ6Eeor69bAA==",
+ "optionalDependencies": {
+ "clipboard": "^2.0.0"
+ }
+ },
+ "node_modules/require-relative": {
+ "version": "0.8.7",
+ "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz",
+ "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=",
+ "dev": true
+ },
+ "node_modules/resolve": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
+ "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
+ "dev": true,
+ "dependencies": {
+ "is-core-module": "^2.2.0",
+ "path-parse": "^1.0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/rollup": {
+ "version": "2.47.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.47.0.tgz",
+ "integrity": "sha512-rqBjgq9hQfW0vRmz+0S062ORRNJXvwRpzxhFXORvar/maZqY6za3rgQ/p1Glg+j1hnc1GtYyQCPiAei95uTElg==",
+ "dev": true,
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.1"
+ }
+ },
+ "node_modules/sade": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/sade/-/sade-1.7.4.tgz",
+ "integrity": "sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==",
+ "dev": true,
+ "dependencies": {
+ "mri": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/select": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz",
+ "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=",
+ "optional": true
+ },
+ "node_modules/slash": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
+ "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "dev": true
+ },
+ "node_modules/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,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/svelte": {
+ "version": "3.38.2",
+ "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.38.2.tgz",
+ "integrity": "sha512-q5Dq0/QHh4BLJyEVWGe7Cej5NWs040LWjMbicBGZ+3qpFWJ1YObRmUDZKbbovddLC9WW7THTj3kYbTOFmU9fbg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/svelte-hmr": {
+ "version": "0.14.3",
+ "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.14.3.tgz",
+ "integrity": "sha512-N56xX405zLMw2tpGHKRx5h+kmdeZwxI21pvyC6OyBHJDCF6DlwWBm9TifdQmSD4dloWSmpDPzHWYa3CSjfopUg==",
+ "dev": true,
+ "peerDependencies": {
+ "svelte": ">=3.19.0"
+ }
+ },
+ "node_modules/tiny-emitter": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
+ "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==",
+ "optional": true
+ },
+ "node_modules/uc.micro": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
+ "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==",
+ "dev": true
+ },
+ "node_modules/vite": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-2.3.2.tgz",
+ "integrity": "sha512-QhLdOompDrfkyryCNTts9HE+eJhvhN9ibKNJ5Q8DpQai+6nOsuIlaveZNg67e1O/2QaWqXeBo82eHnAs1De2bQ==",
+ "dev": true,
+ "dependencies": {
+ "esbuild": "^0.11.20",
+ "postcss": "^8.2.10",
+ "resolve": "^1.19.0",
+ "rollup": "^2.38.5"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.1"
+ }
+ },
+ "node_modules/vite-plugin-markdown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/vite-plugin-markdown/-/vite-plugin-markdown-2.0.2.tgz",
+ "integrity": "sha512-vNEd/BGpWg4A4h7Pa9bnp80yfi4CARtlPpw7Lx5aDliDoaJUsb7dv/uElc1PqL3H1vcSNbYmbS7N9AiuGoI5Eg==",
+ "dev": true,
+ "dependencies": {
+ "front-matter": "^4.0.0",
+ "htmlparser2": "^6.0.0",
+ "markdown-it": "^12.0.0"
+ },
+ "peerDependencies": {
+ "vite": "^2.0.0"
+ }
+ }
+ },
+ "dependencies": {
+ "@novacbn/svelte-image-crop": {
+ "version": "file:..",
+ "requires": {
+ "prettier": "^2.3.0",
+ "svelte": "^3.38.2"
+ }
+ },
+ "@rollup/pluginutils": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.0.tgz",
+ "integrity": "sha512-TrBhfJkFxA+ER+ew2U2/fHbebhLT/l/2pRk0hfj9KusXUuRXd2v0R58AfaZK9VXDQ4TogOSEmICVrQAA3zFnHQ==",
+ "dev": true,
+ "requires": {
+ "estree-walker": "^2.0.1",
+ "picomatch": "^2.2.2"
+ }
+ },
+ "@sveltejs/adapter-static": {
+ "version": "1.0.0-next.9",
+ "resolved": "https://registry.npmjs.org/@sveltejs/adapter-static/-/adapter-static-1.0.0-next.9.tgz",
+ "integrity": "sha512-yqZ+4dzi+2+2jDPHCrI7WrLdXyQ/0U56a7aFdepmodpvpxhazF203D1ez+AtTo27FjMmHjfI+q0O2FivUOosxg==",
+ "dev": true
+ },
+ "@sveltejs/kit": {
+ "version": "1.0.0-next.107",
+ "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.0.0-next.107.tgz",
+ "integrity": "sha512-HxomGMWbuWTU8lahk98hqIL/xjW6HzNTAvTZVMnnmlMHN1N8x7+abkz4Y09Zhu8lZkZpFuqBj2UlsgPW4uJXtw==",
+ "dev": true,
+ "requires": {
+ "@sveltejs/vite-plugin-svelte": "^1.0.0-next.10",
+ "cheap-watch": "^1.0.3",
+ "sade": "^1.7.4",
+ "vite": "^2.3.1"
+ }
+ },
+ "@sveltejs/vite-plugin-svelte": {
+ "version": "1.0.0-next.10",
+ "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-1.0.0-next.10.tgz",
+ "integrity": "sha512-ImvxbhPePm2hWNTKBSA3LHAYGwiEjHjvvgfPLXm4R87sfZ+BMXql9jBmDpzUC/URBLT4BB3Jxos/i523qkJBHg==",
+ "dev": true,
+ "requires": {
+ "@rollup/pluginutils": "^4.1.0",
+ "chalk": "^4.1.1",
+ "debug": "^4.3.2",
+ "hash-sum": "^2.0.0",
+ "require-relative": "^0.8.7",
+ "slash": "^4.0.0",
+ "source-map": "^0.7.3",
+ "svelte-hmr": "^0.14.2"
+ }
+ },
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "chalk": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.1.tgz",
+ "integrity": "sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "cheap-watch": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/cheap-watch/-/cheap-watch-1.0.3.tgz",
+ "integrity": "sha512-xC5CruMhLzjPwJ5ecUxGu1uGmwJQykUhqd2QrCrYbwvsFYdRyviu6jG9+pccwDXJR/OpmOTOJ9yLFunVgQu9wg==",
+ "dev": true
+ },
+ "chota": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/chota/-/chota-0.8.0.tgz",
+ "integrity": "sha512-6Y6MrULPNVup+9i+bFF5mXvifw4/N0AqcTO6VkhRcmRqY0XD2/EKq2kD8y7dX/PJnDq9ruHl2NURlPtGkMSNsg=="
+ },
+ "clipboard": {
+ "version": "2.0.8",
+ "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.8.tgz",
+ "integrity": "sha512-Y6WO0unAIQp5bLmk1zdThRhgJt/x3ks6f30s3oE3H1mgIEU33XyQjEf8gsf6DxC7NPX8Y1SsNWjUjL/ywLnnbQ==",
+ "optional": true,
+ "requires": {
+ "good-listener": "^1.2.2",
+ "select": "^1.1.2",
+ "tiny-emitter": "^2.0.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "colorette": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.2.tgz",
+ "integrity": "sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w==",
+ "dev": true
+ },
+ "debug": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
+ "integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "delegate": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz",
+ "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==",
+ "optional": true
+ },
+ "dom-serializer": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.1.tgz",
+ "integrity": "sha512-Pv2ZluG5ife96udGgEDovOOOA5UELkltfJpnIExPrAk1LTvecolUGn6lIaoLh86d83GiB86CjzciMd9BuRB71Q==",
+ "dev": true,
+ "requires": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.0.0",
+ "entities": "^2.0.0"
+ }
+ },
+ "domelementtype": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
+ "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
+ "dev": true
+ },
+ "domhandler": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.0.tgz",
+ "integrity": "sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA==",
+ "dev": true,
+ "requires": {
+ "domelementtype": "^2.2.0"
+ }
+ },
+ "domutils": {
+ "version": "2.6.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.6.0.tgz",
+ "integrity": "sha512-y0BezHuy4MDYxh6OvolXYsH+1EMGmFbwv5FKW7ovwMG6zTPWqNPq3WF9ayZssFq+UlKdffGLbOEaghNdaOm1WA==",
+ "dev": true,
+ "requires": {
+ "dom-serializer": "^1.0.1",
+ "domelementtype": "^2.2.0",
+ "domhandler": "^4.2.0"
+ }
+ },
+ "entities": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+ "dev": true
+ },
+ "esbuild": {
+ "version": "0.11.20",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.11.20.tgz",
+ "integrity": "sha512-QOZrVpN/Yz74xfat0H6euSgn3RnwLevY1mJTEXneukz1ln9qB+ieaerRMzSeETpz/UJWsBMzRVR/andBht5WKw==",
+ "dev": true
+ },
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "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
+ },
+ "front-matter": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/front-matter/-/front-matter-4.0.2.tgz",
+ "integrity": "sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==",
+ "dev": true,
+ "requires": {
+ "js-yaml": "^3.13.1"
+ }
+ },
+ "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
+ },
+ "good-listener": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz",
+ "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=",
+ "optional": true,
+ "requires": {
+ "delegate": "^3.1.2"
+ }
+ },
+ "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": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "hash-sum": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz",
+ "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==",
+ "dev": true
+ },
+ "htmlparser2": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
+ "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
+ "dev": true,
+ "requires": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.0.0",
+ "domutils": "^2.5.2",
+ "entities": "^2.0.0"
+ }
+ },
+ "is-core-module": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.4.0.tgz",
+ "integrity": "sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A==",
+ "dev": true,
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+ "dev": true,
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ }
+ },
+ "linkify-it": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.2.tgz",
+ "integrity": "sha512-gDBO4aHNZS6coiZCKVhSNh43F9ioIL4JwRjLZPkoLIY4yZFwg264Y5lu2x6rb1Js42Gh6Yqm2f6L2AJcnkzinQ==",
+ "dev": true,
+ "requires": {
+ "uc.micro": "^1.0.1"
+ }
+ },
+ "markdown-it": {
+ "version": "12.0.6",
+ "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.0.6.tgz",
+ "integrity": "sha512-qv3sVLl4lMT96LLtR7xeRJX11OUFjsaD5oVat2/SNBIb21bJXwal2+SklcRbTwGwqWpWH/HRtYavOoJE+seL8w==",
+ "dev": true,
+ "requires": {
+ "argparse": "^2.0.1",
+ "entities": "~2.1.0",
+ "linkify-it": "^3.0.1",
+ "mdurl": "^1.0.1",
+ "uc.micro": "^1.0.5"
+ },
+ "dependencies": {
+ "argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "entities": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz",
+ "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==",
+ "dev": true
+ }
+ }
+ },
+ "markdown-it-prism": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/markdown-it-prism/-/markdown-it-prism-2.1.6.tgz",
+ "integrity": "sha512-fuo5lq36A6kzb882vCsvdyh4HUzpwdfNkAl92cr+MjUO0Q9foz/7MZ/RpKRBlZSwt86LmPlW7ubaEwf4C+0b3g==",
+ "dev": true,
+ "requires": {
+ "prismjs": "1.23.0"
+ }
+ },
+ "mdurl": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
+ "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=",
+ "dev": true
+ },
+ "mri": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/mri/-/mri-1.1.6.tgz",
+ "integrity": "sha512-oi1b3MfbyGa7FJMP9GmLTttni5JoICpYBRlq+x5V16fZbLsnL9N3wFqqIm/nIG43FjUFkFh9Epzp/kzUGUnJxQ==",
+ "dev": true
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "nanoid": {
+ "version": "3.1.23",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.23.tgz",
+ "integrity": "sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw==",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+ "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
+ "dev": true
+ },
+ "picomatch": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.3.tgz",
+ "integrity": "sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==",
+ "dev": true
+ },
+ "postcss": {
+ "version": "8.2.15",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.2.15.tgz",
+ "integrity": "sha512-2zO3b26eJD/8rb106Qu2o7Qgg52ND5HPjcyQiK2B98O388h43A448LCslC0dI2P97wCAQRJsFvwTRcXxTKds+Q==",
+ "dev": true,
+ "requires": {
+ "colorette": "^1.2.2",
+ "nanoid": "^3.1.23",
+ "source-map": "^0.6.1"
+ },
+ "dependencies": {
+ "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
+ }
+ }
+ },
+ "prismjs": {
+ "version": "1.23.0",
+ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.23.0.tgz",
+ "integrity": "sha512-c29LVsqOaLbBHuIbsTxaKENh1N2EQBOHaWv7gkHN4dgRbxSREqDnDbtFJYdpPauS4YCplMSNCABQ6Eeor69bAA==",
+ "requires": {
+ "clipboard": "^2.0.0"
+ }
+ },
+ "require-relative": {
+ "version": "0.8.7",
+ "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz",
+ "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=",
+ "dev": true
+ },
+ "resolve": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz",
+ "integrity": "sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==",
+ "dev": true,
+ "requires": {
+ "is-core-module": "^2.2.0",
+ "path-parse": "^1.0.6"
+ }
+ },
+ "rollup": {
+ "version": "2.47.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.47.0.tgz",
+ "integrity": "sha512-rqBjgq9hQfW0vRmz+0S062ORRNJXvwRpzxhFXORvar/maZqY6za3rgQ/p1Glg+j1hnc1GtYyQCPiAei95uTElg==",
+ "dev": true,
+ "requires": {
+ "fsevents": "~2.3.1"
+ }
+ },
+ "sade": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/sade/-/sade-1.7.4.tgz",
+ "integrity": "sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==",
+ "dev": true,
+ "requires": {
+ "mri": "^1.1.0"
+ }
+ },
+ "select": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz",
+ "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=",
+ "optional": true
+ },
+ "slash": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
+ "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
+ "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+ "dev": true
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+ "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"
+ }
+ },
+ "svelte": {
+ "version": "3.38.2",
+ "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.38.2.tgz",
+ "integrity": "sha512-q5Dq0/QHh4BLJyEVWGe7Cej5NWs040LWjMbicBGZ+3qpFWJ1YObRmUDZKbbovddLC9WW7THTj3kYbTOFmU9fbg==",
+ "dev": true
+ },
+ "svelte-hmr": {
+ "version": "0.14.3",
+ "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.14.3.tgz",
+ "integrity": "sha512-N56xX405zLMw2tpGHKRx5h+kmdeZwxI21pvyC6OyBHJDCF6DlwWBm9TifdQmSD4dloWSmpDPzHWYa3CSjfopUg==",
+ "dev": true,
+ "requires": {}
+ },
+ "tiny-emitter": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
+ "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==",
+ "optional": true
+ },
+ "uc.micro": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
+ "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==",
+ "dev": true
+ },
+ "vite": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-2.3.2.tgz",
+ "integrity": "sha512-QhLdOompDrfkyryCNTts9HE+eJhvhN9ibKNJ5Q8DpQai+6nOsuIlaveZNg67e1O/2QaWqXeBo82eHnAs1De2bQ==",
+ "dev": true,
+ "requires": {
+ "esbuild": "^0.11.20",
+ "fsevents": "~2.3.1",
+ "postcss": "^8.2.10",
+ "resolve": "^1.19.0",
+ "rollup": "^2.38.5"
+ }
+ },
+ "vite-plugin-markdown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/vite-plugin-markdown/-/vite-plugin-markdown-2.0.2.tgz",
+ "integrity": "sha512-vNEd/BGpWg4A4h7Pa9bnp80yfi4CARtlPpw7Lx5aDliDoaJUsb7dv/uElc1PqL3H1vcSNbYmbS7N9AiuGoI5Eg==",
+ "dev": true,
+ "requires": {
+ "front-matter": "^4.0.0",
+ "htmlparser2": "^6.0.0",
+ "markdown-it": "^12.0.0"
+ }
+ }
+ }
+}
diff --git a/docs/package.json b/docs/package.json
new file mode 100644
index 0000000..d3113dd
--- /dev/null
+++ b/docs/package.json
@@ -0,0 +1,30 @@
+{
+ "name": "@novacbn/svelte-image-crop-docs",
+ "version": "0.1.0",
+ "type": "module",
+ "engines": {
+ "node": ">= 12.17.0"
+ },
+ "repository": {
+ "url": "https://github.com/novacbn/svelte-image-crop/tree/main/docs"
+ },
+ "scripts": {
+ "build:application": "svelte-kit build",
+ "dev:application": "svelte-kit dev --host 0.0.0.0",
+ "preview:application": "svelte-kit preview --host 0.0.0.0"
+ },
+ "devDependencies": {
+ "@sveltejs/adapter-static": "^1.0.0-next.9",
+ "@sveltejs/kit": "^1.0.0-next.107",
+ "markdown-it": "^12.0.6",
+ "markdown-it-prism": "^2.1.6",
+ "svelte": "^3.38.2",
+ "vite": "^2.3.2",
+ "vite-plugin-markdown": "^2.0.2"
+ },
+ "dependencies": {
+ "@novacbn/svelte-image-crop": "file:..",
+ "chota": "^0.8.0",
+ "prismjs": "^1.23.0"
+ }
+}
diff --git a/docs/src/app.html b/docs/src/app.html
new file mode 100644
index 0000000..b139814
--- /dev/null
+++ b/docs/src/app.html
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+ %svelte.head%
+
+ @novacbn/svelte-image-crop
+
+
+
+ %svelte.body%
+
+
diff --git a/docs/src/components/CSSVariableInput.svelte b/docs/src/components/CSSVariableInput.svelte
new file mode 100644
index 0000000..4f7fbd9
--- /dev/null
+++ b/docs/src/components/CSSVariableInput.svelte
@@ -0,0 +1,16 @@
+
+
+
diff --git a/docs/src/routes/__layout.svelte b/docs/src/routes/__layout.svelte
new file mode 100644
index 0000000..3fa3811
--- /dev/null
+++ b/docs/src/routes/__layout.svelte
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/docs/src/routes/demo.svelte b/docs/src/routes/demo.svelte
new file mode 100644
index 0000000..913d09d
--- /dev/null
+++ b/docs/src/routes/demo.svelte
@@ -0,0 +1,121 @@
+
+
+
+
+{#if browser}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+{:else}
+
+
Your client currently does not support Javascript, or is otherwise disabled.
+
+{/if}
diff --git a/docs/src/routes/index.svelte b/docs/src/routes/index.svelte
new file mode 100644
index 0000000..c06b21c
--- /dev/null
+++ b/docs/src/routes/index.svelte
@@ -0,0 +1,6 @@
+
+
+{@html html}
diff --git a/docs/static/assets/images/jung-ho-park-sYiKL1JEOEk-unsplash.jpg b/docs/static/assets/images/jung-ho-park-sYiKL1JEOEk-unsplash.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..66a7b026cd308c9e0ced24bef4c875762dbccb9d
GIT binary patch
literal 298107
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