-
-```
-
-## Nest Splits
-Just nest Split componets to create whatever layout you like.
-Here is an example of a common layout for a main, detail, and output view.
-
-```svelte
-
- This is the left pane.
-
-
- This is the right-top pane.
- This is the right-bottom pane.
-
-
-
-```
-## Constrain minimum pane sizes
-Prevent either pane from becoming too small using the `minPrimarySize` and `minSecondarySize` properties.
-
-```svelte
-
- This pane won't get smaller than 250 pixels.
- This pane won't get any smaller than 15% of the overall size of the split control./
-
-```
-
-## Customize the splitter size
-Set the size of the default splitter's hit area with the `splitterSize` property.
-The hit area is where the user can click to start dragging the splitter.
-
-```svelte
-
- Primary pane
- Secondary pane
-
-```
-## Customize the splitter colors
-Change the colors of the default splitter by adding the `DefaultSplitter` to the splitter slot.
-Pass color properties to the default splitter.
-
-```svelte
-
- Primary pane
-
-
-
- Secondary pane
-
-```
-## Custom render the splitter
-Substitute a custom splitter by replacing the default splitter.
-
-```svelte
-
- Primary pane
-
-
-
- Secondary pane
-
-```
-
-When building a customer splitter, leverage the context information from the parent `Split` component.
-
-```ts
-let splitterContext = getContext
(splitterContextKey);
-
-$: dragging = $splitterContext.dragging;
-$: horizontal = $splitterContext.horizontal;
-};
-```
-
-## Events
-Subscribe to the changed event to get updates.
-
-```ts
-const onChanged = (event) => {
- const {details: {percent, primarySize, splitterSize, secondarySize, dragging}} = event;
- console.log(`percent: ${percent}`);
- console.log(`primarySize: ${primarySize}`);
- console.log(`splitterSize: ${splitterSize}`);
- console.log(`secondarySize: ${secondarySize}`);
- console.log(`dragging: ${dragging}`);
-};
-```ts
-
-```svelte
-
- ...
-
-```
-## Imperative Methods
-Get or set the percentage by calling `getPercent` and `setPercent` on the `Split` handle.
-
-```ts
-let splitControl;
-
-const flipSplitPercent = () => {
- const percent = splitControl.getPercent();
- splitControl.setPercent(100 - percent);
-}
-```
-
-```svelte
-
- ...
-
-```
-
-# Known limitations
-
-- No typescript definitions for Split or DefaultSplitter
-
-# Change History
-
-## 1.0.0 - First project publication
-- Based on the 2.1.0 version of @geoffcox/react-splitter
-- Updated to idomatic Svelte
-
-## 1.0.1 - Updated live demo link
diff --git a/package/package-lock.json b/package/package-lock.json
deleted file mode 100644
index 7b7656f..0000000
--- a/package/package-lock.json
+++ /dev/null
@@ -1,837 +0,0 @@
-{
- "name": "@geoffcox/svelte-splitter",
- "version": "1.0.0",
- "lockfileVersion": 1,
- "requires": true,
- "dependencies": {
- "@babel/code-frame": {
- "version": "7.12.13",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.13.tgz",
- "integrity": "sha512-HV1Cm0Q3ZrpCR93tkWOYiuYIgLxZXZFVG2VgK+MBWjUqZTundupbfx2aXarXuw5Ko5aMcjtJgbSs4vUGBS5v6g==",
- "dev": true,
- "requires": {
- "@babel/highlight": "^7.12.13"
- }
- },
- "@babel/helper-validator-identifier": {
- "version": "7.12.11",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz",
- "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==",
- "dev": true
- },
- "@babel/highlight": {
- "version": "7.13.10",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.13.10.tgz",
- "integrity": "sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg==",
- "dev": true,
- "requires": {
- "@babel/helper-validator-identifier": "^7.12.11",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.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/plugin-typescript": {
- "version": "8.2.1",
- "resolved": "https://registry.npmjs.org/@rollup/plugin-typescript/-/plugin-typescript-8.2.1.tgz",
- "integrity": "sha512-Qd2E1pleDR4bwyFxqbjt4eJf+wB0UKVMLc7/BAFDGVdAXQMCsD4DUv5/7/ww47BZCYxWtJqe1Lo0KVNswBJlRw==",
- "dev": true,
- "requires": {
- "@rollup/pluginutils": "^3.1.0",
- "resolve": "^1.17.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"
- }
- },
- "@tsconfig/svelte": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/@tsconfig/svelte/-/svelte-1.0.10.tgz",
- "integrity": "sha512-EBrpH2iXXfaf/9z81koiDYkp2mlwW2XzFcAqn6qh7VKyP8zBvHHAQzNhY+W9vH5arAjmGAm5g8ElWq6YmXm3ig==",
- "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": "14.14.37",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.37.tgz",
- "integrity": "sha512-XYmBiy+ohOR4Lh5jE379fV2IU+6Jn4g5qASinhitfyO71b/sCo6MKsMLF5tc7Zf2CE8hViVQyYSobJNke8OvUw==",
- "dev": true
- },
- "@types/pug": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.4.tgz",
- "integrity": "sha1-h3L80EGOPNLMFxVV1zAHQVBR9LI=",
- "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": "*"
- }
- },
- "@types/sass": {
- "version": "1.16.0",
- "resolved": "https://registry.npmjs.org/@types/sass/-/sass-1.16.0.tgz",
- "integrity": "sha512-2XZovu4NwcqmtZtsBR5XYLw18T8cBCnU2USFHTnYLLHz9fkhnoEMoDsqShJIOFsFhn5aJHjweiUUdTrDGujegA==",
- "dev": true,
- "requires": {
- "@types/node": "*"
- }
- },
- "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.2",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
- "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
- "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.1",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
- "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
- "dev": true
- },
- "builtin-modules": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz",
- "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==",
- "dev": true
- },
- "callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "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.1",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz",
- "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==",
- "dev": true,
- "requires": {
- "anymatch": "~3.1.1",
- "braces": "~3.0.2",
- "fsevents": "~2.3.1",
- "glob-parent": "~5.1.0",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.5.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": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
- "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
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
- "dev": true
- },
- "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
- },
- "detect-indent": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz",
- "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==",
- "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": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
- "dev": true
- },
- "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
- },
- "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": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
- "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
- },
- "glob": {
- "version": "7.1.6",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
- "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
- "dev": true,
- "requires": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.0.4",
- "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": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
- "dev": true
- },
- "import-fresh": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "dev": true,
- "requires": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- }
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
- "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.2.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz",
- "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==",
- "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": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
- "dev": true
- },
- "is-glob": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz",
- "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==",
- "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": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=",
- "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
- },
- "magic-string": {
- "version": "0.25.7",
- "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
- "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==",
- "dev": true,
- "requires": {
- "sourcemap-codec": "^1.4.4"
- }
- },
- "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
- },
- "min-indent": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz",
- "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
- "dev": true
- },
- "minimatch": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
- "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
- "dev": true,
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "1.2.5",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
- "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
- "dev": true
- },
- "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": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
- "dev": true,
- "requires": {
- "wrappy": "1"
- }
- },
- "parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
- "requires": {
- "callsites": "^3.0.0"
- }
- },
- "path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
- "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
- },
- "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.5.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz",
- "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==",
- "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": "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"
- }
- },
- "resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
- "dev": true
- },
- "rollup": {
- "version": "2.45.2",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.45.2.tgz",
- "integrity": "sha512-kRRU7wXzFHUzBIv0GfoFFIN3m9oteY4uAsKllIpQDId5cfnkWF2J130l+27dzDju0E6MScKiV0ZM5Bw8m4blYQ==",
- "dev": true,
- "requires": {
- "fsevents": "~2.3.1"
- }
- },
- "rollup-plugin-commonjs": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/rollup-plugin-commonjs/-/rollup-plugin-commonjs-10.1.0.tgz",
- "integrity": "sha512-jlXbjZSQg8EIeAAvepNwhJj++qJWNJw1Cl0YnOqKtP5Djx+fFGkp3WRh+W0ASCaFG5w1jhmzDxgu3SJuVxPF4Q==",
- "dev": true,
- "requires": {
- "estree-walker": "^0.6.1",
- "is-reference": "^1.1.2",
- "magic-string": "^0.25.2",
- "resolve": "^1.11.0",
- "rollup-pluginutils": "^2.8.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
- }
- }
- },
- "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.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"
- }
- },
- "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
- }
- }
- },
- "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
- }
- }
- },
- "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
- },
- "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"
- }
- },
- "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
- },
- "source-map-support": {
- "version": "0.5.19",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz",
- "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==",
- "dev": true,
- "requires": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- },
- "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
- }
- }
- },
- "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
- },
- "strip-indent": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz",
- "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
- "dev": true,
- "requires": {
- "min-indent": "^1.0.0"
- }
- },
- "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"
- }
- },
- "svelte": {
- "version": "3.37.0",
- "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.37.0.tgz",
- "integrity": "sha512-TRF30F4W4+d+Jr2KzUUL1j8Mrpns/WM/WacxYlo5MMb2E5Qy2Pk1Guj6GylxsW9OnKQl1tnF8q3hG/hQ3h6VUA==",
- "dev": true
- },
- "svelte-check": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/svelte-check/-/svelte-check-1.4.0.tgz",
- "integrity": "sha512-fcACzU7EJEQBxbbUub8o/3tm5gp0txdGXin9fzHHvtHfgyS9RHSfA5poTWlteeVigu2MSqrTpvMPGT/DazyK0g==",
- "dev": true,
- "requires": {
- "chalk": "^4.0.0",
- "chokidar": "^3.4.1",
- "glob": "^7.1.6",
- "import-fresh": "^3.2.1",
- "minimist": "^1.2.5",
- "source-map": "^0.7.3",
- "svelte-preprocess": "^4.0.0",
- "typescript": "*"
- },
- "dependencies": {
- "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"
- }
- },
- "chalk": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
- "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
- "dev": true,
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.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
- },
- "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"
- }
- }
- }
- },
- "svelte-preprocess": {
- "version": "4.7.0",
- "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-4.7.0.tgz",
- "integrity": "sha512-iNrY4YGqi0LD2e6oT9YbdSzOKntxk8gmzfqso1z/lUJOZh4o6fyIqkirmiZ8/dDJFqtIE1spVgDFWgkfhLEYlw==",
- "dev": true,
- "requires": {
- "@types/pug": "^2.0.4",
- "@types/sass": "^1.16.0",
- "detect-indent": "^6.0.0",
- "strip-indent": "^3.0.0"
- }
- },
- "terser": {
- "version": "5.6.1",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.6.1.tgz",
- "integrity": "sha512-yv9YLFQQ+3ZqgWCUk+pvNJwgUTdlIxUk1WTN+RnaFJe2L7ipG2csPT0ra2XRm7Cs8cxN7QXmK1rFzEwYEQkzXw==",
- "dev": true,
- "requires": {
- "commander": "^2.20.0",
- "source-map": "~0.7.2",
- "source-map-support": "~0.5.19"
- }
- },
- "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"
- }
- },
- "tslib": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.2.0.tgz",
- "integrity": "sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w==",
- "dev": true
- },
- "typescript": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz",
- "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==",
- "dev": true
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
- "dev": true
- }
- }
-}
diff --git a/package/package.json b/package/package.json
deleted file mode 100644
index 44a19f1..0000000
--- a/package/package.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "name": "@geoffcox/svelte-splitter",
- "version": "1.0.1",
- "description": "A splitter for Svelte that leverages CSS grid templates for simple and consistent resizing.",
- "author": "Geoff Cox",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/GeoffCox/svelte-splitter/issues"
- },
- "homepage": "https://github.com/GeoffCox/svelte-splitter/blob/main/package/README.md",
- "keywords": [
- "split",
- "splitter",
- "resize",
- "resizer",
- "pane",
- "svelte",
- "typescript"
- ],
- "module": "dist/index.mjs",
- "main": "dist/index.js",
- "svelte": "src/index.ts",
- "types": "src/index.d.ts",
- "files": [
- "src",
- "dist"
- ],
- "scripts": {
- "emitTypes": "tsc --emitDeclarationOnly",
- "build": "rollup -c",
- "dev": "rollup -c -w",
- "prepublishOnly": "npm run build",
- "validate": "svelte-check"
- },
- "devDependencies": {
- "@rollup/plugin-node-resolve": "^11.0.0",
- "@rollup/plugin-typescript": "^8.0.0",
- "@tsconfig/svelte": "^1.0.0",
- "rollup": "^2.3.4",
- "rollup-plugin-commonjs": "^10.1.0",
- "rollup-plugin-css-only": "^3.1.0",
- "rollup-plugin-svelte": "^7.0.0",
- "rollup-plugin-terser": "^7.0.0",
- "svelte": "^3.0.0",
- "svelte-check": "^1.0.0",
- "svelte-preprocess": "^4.0.0",
- "tslib": "^2.0.0",
- "typescript": "^4.0.0"
- },
- "dependencies": {}
-}
diff --git a/package/rollup.config.js b/package/rollup.config.js
deleted file mode 100644
index a2d0d20..0000000
--- a/package/rollup.config.js
+++ /dev/null
@@ -1,42 +0,0 @@
-import svelte from 'rollup-plugin-svelte';
-import resolve from '@rollup/plugin-node-resolve';
-import sveltePreprocess from 'svelte-preprocess';
-import commonjs from 'rollup-plugin-commonjs';
-import typescript from '@rollup/plugin-typescript';
-import pkg from './package.json';
-import css from 'rollup-plugin-css-only';
-
-const production = !process.env.ROLLUP_WATCH;
-
-const name = pkg.name
- .replace(/^(@\S+\/)?(svelte-)?(\S+)/, '$3')
- .replace(/^\w/, (m) => m.toUpperCase())
- .replace(/-\w/g, (m) => m[1].toUpperCase());
-
-export default {
- input: 'src/index.ts',
- output: [
- { file: pkg.module, format: 'es', name, sourcemap: !production },
- { file: pkg.main, format: 'umd', name, sourcemap: !production },
- ],
- plugins: [
- svelte({
- preprocess: sveltePreprocess({
- sourceMap: !production,
- }),
- 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' }),
- resolve({
- browser: true,
- dedupe: ['svelte'],
- }),
- commonjs(),
- typescript({ sourceMap: !production, inlineSources: !production }),
- ],
-};
diff --git a/package/src/DefaultSplitter.svelte b/package/src/DefaultSplitter.svelte
deleted file mode 100644
index ac0f2f5..0000000
--- a/package/src/DefaultSplitter.svelte
+++ /dev/null
@@ -1,88 +0,0 @@
-
-
-
-
-
-
diff --git a/package/src/Split.svelte b/package/src/Split.svelte
deleted file mode 100644
index 5acc3f3..0000000
--- a/package/src/Split.svelte
+++ /dev/null
@@ -1,288 +0,0 @@
-
-
-
-
-
-
diff --git a/package/src/index.d.ts b/package/src/index.d.ts
deleted file mode 100644
index f38a172..0000000
--- a/package/src/index.d.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-import { SplitterContextInfo, SplitterContextStore } from './types';
-export { SplitterContextInfo, SplitterContextStore };
diff --git a/package/tsconfig.json b/package/tsconfig.json
deleted file mode 100644
index b06598c..0000000
--- a/package/tsconfig.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "extends": "@tsconfig/svelte/tsconfig.json",
- "compilerOptions": {
- "declaration": true,
- "declarationDir": "src",
- "forceConsistentCasingInFileNames": true,
- "noFallthroughCasesInSwitch": true,
- "noImplicitReturns": true,
- "noUnusedLocals": true,
- "noImplicitAny": true,
- "noImplicitThis": true,
- "noUnusedParameters": true,
- "strictNullChecks": true,
- "sourceMap": true,
- "strict": true,
- },
- "include": ["src/**/*"],
- "exclude": ["node_modules/*"]
-}
diff --git a/src/app.d.ts b/src/app.d.ts
new file mode 100644
index 0000000..743f07b
--- /dev/null
+++ b/src/app.d.ts
@@ -0,0 +1,13 @@
+// See https://kit.svelte.dev/docs/types#app
+// for information about these interfaces
+declare global {
+ namespace App {
+ // interface Error {}
+ // interface Locals {}
+ // interface PageData {}
+ // interface PageState {}
+ // interface Platform {}
+ }
+}
+
+export {};
diff --git a/src/app.html b/src/app.html
new file mode 100644
index 0000000..f22aeaa
--- /dev/null
+++ b/src/app.html
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ %sveltekit.head%
+
+
+ %sveltekit.body%
+
+
diff --git a/src/lib/DefaultSplitter.svelte b/src/lib/DefaultSplitter.svelte
new file mode 100644
index 0000000..5aaa727
--- /dev/null
+++ b/src/lib/DefaultSplitter.svelte
@@ -0,0 +1,88 @@
+
+
+
+
+
+
diff --git a/src/lib/Split.svelte b/src/lib/Split.svelte
new file mode 100644
index 0000000..ba59f43
--- /dev/null
+++ b/src/lib/Split.svelte
@@ -0,0 +1,298 @@
+
+
+
+
+
+
diff --git a/package/src/constants.ts b/src/lib/constants.ts
similarity index 100%
rename from package/src/constants.ts
rename to src/lib/constants.ts
diff --git a/package/src/index.ts b/src/lib/index.ts
similarity index 79%
rename from package/src/index.ts
rename to src/lib/index.ts
index c865319..bfcfcbf 100644
--- a/package/src/index.ts
+++ b/src/lib/index.ts
@@ -1,3 +1,3 @@
export { default as DefaultSplitter } from './DefaultSplitter.svelte';
export { default as Split } from './Split.svelte';
-export * from './constants';
+export * from './constants.js';
diff --git a/package/src/types.ts b/src/lib/types.ts
similarity index 59%
rename from package/src/types.ts
rename to src/lib/types.ts
index f53454a..f732112 100644
--- a/package/src/types.ts
+++ b/src/lib/types.ts
@@ -4,14 +4,14 @@ import type { Writable } from 'svelte/store';
* Information for splitter components to use to render based on the Split state.
*/
export type SplitterContextInfo = {
- /**
- * If the user is dragging the splitter, true; false otherwise.
- */
- dragging: boolean;
- /**
- * If the splitter is horizontal, true; false otherwise;
- */
- horizontal: boolean;
+ /**
+ * If the user is dragging the splitter, true; false otherwise.
+ */
+ dragging: boolean;
+ /**
+ * If the splitter is horizontal, true; false otherwise;
+ */
+ horizontal: boolean;
};
/**
diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte
new file mode 100644
index 0000000..3ce6f1c
--- /dev/null
+++ b/src/routes/+layout.svelte
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
new file mode 100644
index 0000000..c7dc8e6
--- /dev/null
+++ b/src/routes/+page.svelte
@@ -0,0 +1,77 @@
+
+
+
+
+
+
diff --git a/src/routes/DynamicPane.svelte b/src/routes/DynamicPane.svelte
new file mode 100644
index 0000000..120d2ef
--- /dev/null
+++ b/src/routes/DynamicPane.svelte
@@ -0,0 +1,214 @@
+
+
+
+
+ {#if isSplit}
+
+
+
+
+
+ {#if splitOptions?.splitterType === 'solid'}
+
+ {:else if splitOptions?.splitterType === 'striped'}
+
+ {:else}
+
+ {/if}
+
+
+
+
+
+ {:else}
+
+
+ Split
+ {#if hasParent}
+
+ X
+
+ {/if}
+
+
+ {/if}
+
+
+
diff --git a/src/routes/HorizontalStripes.svelte b/src/routes/HorizontalStripes.svelte
new file mode 100644
index 0000000..67c401b
--- /dev/null
+++ b/src/routes/HorizontalStripes.svelte
@@ -0,0 +1,71 @@
+
+
+
+
+
diff --git a/src/routes/OptionsEditor.svelte b/src/routes/OptionsEditor.svelte
new file mode 100644
index 0000000..cce5d0e
--- /dev/null
+++ b/src/routes/OptionsEditor.svelte
@@ -0,0 +1,139 @@
+
+
+
+
+
Split Direction
+
+
Initial primary size
+
+
Minimum primary size
+
+
Minimum secondary size
+
+
Splitter size
+
+
Splitter type
+
+
Reset on double click
+
+
+
+
+
diff --git a/src/routes/SolidSplitter.svelte b/src/routes/SolidSplitter.svelte
new file mode 100644
index 0000000..d452959
--- /dev/null
+++ b/src/routes/SolidSplitter.svelte
@@ -0,0 +1,60 @@
+
+
+
+
+
diff --git a/src/routes/SplitIcon.svelte b/src/routes/SplitIcon.svelte
new file mode 100644
index 0000000..6bd7dc0
--- /dev/null
+++ b/src/routes/SplitIcon.svelte
@@ -0,0 +1,52 @@
+
+
+
+
+
diff --git a/src/routes/StripedSplitter.svelte b/src/routes/StripedSplitter.svelte
new file mode 100644
index 0000000..5d76bd6
--- /dev/null
+++ b/src/routes/StripedSplitter.svelte
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+
diff --git a/src/routes/Stripes.svelte b/src/routes/Stripes.svelte
new file mode 100644
index 0000000..7e5f886
--- /dev/null
+++ b/src/routes/Stripes.svelte
@@ -0,0 +1,12 @@
+
+
+
diff --git a/src/routes/VerticalStripes.svelte b/src/routes/VerticalStripes.svelte
new file mode 100644
index 0000000..59876ea
--- /dev/null
+++ b/src/routes/VerticalStripes.svelte
@@ -0,0 +1,71 @@
+
+
+
+
+
diff --git a/demo/src/splitInfoStore.ts b/src/routes/splitInfoStore.ts
similarity index 68%
rename from demo/src/splitInfoStore.ts
rename to src/routes/splitInfoStore.ts
index eea70c0..20af3a3 100644
--- a/demo/src/splitInfoStore.ts
+++ b/src/routes/splitInfoStore.ts
@@ -2,11 +2,11 @@ import { writable } from 'svelte/store';
import type { SplitInfo } from './types';
/**
- * Provides a lookup of dynamic pane IDs to split information.
+ * Provides a lookup of dynamic pane IDs to split information.
*/
export const splitInfoById = writable>({});
/**
* Centralizing updating percents in splitInfo's across all dynamic panes.
*/
-export const updatePercentFrozen = writable(false);
\ No newline at end of file
+export const updatePercentFrozen = writable(false);
diff --git a/src/routes/splitOptionsStore.ts b/src/routes/splitOptionsStore.ts
new file mode 100644
index 0000000..0613e98
--- /dev/null
+++ b/src/routes/splitOptionsStore.ts
@@ -0,0 +1,41 @@
+import { derived, writable } from 'svelte/store';
+import type { SplitOptions } from './types';
+
+export const horizontal = writable(false);
+export const initialPrimarySize = writable('50%');
+export const minPrimarySize = writable('0');
+export const minSecondarySize = writable('0');
+export const resetOnDoubleClick = writable(true);
+export const splitterSize = writable('7px');
+export const splitterType = writable('default');
+
+export const splitOptions = derived(
+ [
+ horizontal,
+ initialPrimarySize,
+ minPrimarySize,
+ minSecondarySize,
+ resetOnDoubleClick,
+ splitterSize,
+ splitterType
+ ],
+ ([
+ $horizontal,
+ $initialPrimarySize,
+ $minPrimarySize,
+ $minSecondarySize,
+ $resetOnDoubleClick,
+ $splitterSize,
+ $splitterType
+ ]) => {
+ return {
+ horizontal: $horizontal,
+ initialPrimarySize: $initialPrimarySize,
+ minPrimarySize: $minPrimarySize,
+ minSecondarySize: $minSecondarySize,
+ resetOnDoubleClick: $resetOnDoubleClick,
+ splitterSize: $splitterSize,
+ splitterType: $splitterType
+ } as SplitOptions;
+ }
+);
diff --git a/src/routes/tweenedColor.ts b/src/routes/tweenedColor.ts
new file mode 100644
index 0000000..2d44ad3
--- /dev/null
+++ b/src/routes/tweenedColor.ts
@@ -0,0 +1,50 @@
+import { type Tweened, tweened } from 'svelte/motion';
+
+// adapted from https://livebook.manning.com/book/svelte-and-sapper-in-action/chapter-10/v-5/57
+
+// This extracts two hex characters from an "rrggbb" color string
+// and returns the value as a number between 0 and 255.
+const getColor = (hex: string, index: number) => parseInt(hex.substring(index, index + 2), 16);
+
+// This gets an array of red, green, and blue values in
+// the range 0 to 255 from an "rrggbb" hex color string.
+const getRGBs = (hex: string) => {
+ const start = hex[0] === '#' ? 1 : 0;
+ return [getColor(hex, start), getColor(hex, start + 2), getColor(hex, start + 4)];
+};
+
+// This computes a value that is t% of the way from
+// start to start + delta where t is a number between 0 and 1.
+const scaledValue = (start, delta, t) => start + delta * t;
+
+// This converts a decimal number to a two-character hex number.
+const decimalToHex = (decimal: number): string => Math.round(decimal).toString(16).padStart(2, '0');
+
+// This is an interpolate function used by the tweened function.
+const rgbInterpolate = (fromColor, toColor) => {
+ const poundPrefix = toColor[0] === '#';
+ const [fromRed, fromGreen, fromBlue] = getRGBs(fromColor);
+ const [toRed, toGreen, toBlue] = getRGBs(toColor);
+ const deltaRed = toRed - fromRed;
+ const deltaGreen = toGreen - fromGreen;
+ const deltaBlue = toBlue - fromBlue;
+
+ return (t) => {
+ const red = scaledValue(fromRed, deltaRed, t);
+ const green = scaledValue(fromGreen, deltaGreen, t);
+ const blue = scaledValue(fromBlue, deltaBlue, t);
+ return `${poundPrefix ? '#' : ''}${decimalToHex(red)}${decimalToHex(green)}${decimalToHex(blue)}`;
+ };
+};
+
+/**
+ * Given a start color, provides tweened transition to another color when set.
+ * @param color A hex color string i.e. #0f2c4A or 0f2c4a
+ * @returns A hex color string matching the format of the set color.
+ */
+export const tweenedColor = (color: string): Tweened => {
+ return tweened(color, {
+ duration: 300,
+ interpolate: rgbInterpolate
+ });
+};
diff --git a/src/routes/types.ts b/src/routes/types.ts
new file mode 100644
index 0000000..cd7903b
--- /dev/null
+++ b/src/routes/types.ts
@@ -0,0 +1,27 @@
+/**
+ * The type of splitter to allow for visual customization.
+ */
+export type SplitterType = 'default' | 'solid' | 'striped';
+
+/**
+ * The options to create a split.
+ */
+export type SplitOptions = {
+ horizontal: boolean;
+ initialPrimarySize: string;
+ minPrimarySize: string;
+ minSecondarySize: string;
+ splitterSize: string;
+ resetOnDoubleClick: boolean;
+ splitterType: SplitterType;
+};
+
+/**
+ * The split info for a dynamic pane.
+ */
+export type SplitInfo = {
+ options?: SplitOptions;
+ primaryId?: string;
+ secondaryId?: string;
+ percent?: number;
+};
diff --git a/static/favicon.png b/static/favicon.png
new file mode 100644
index 0000000..825b9e6
Binary files /dev/null and b/static/favicon.png differ
diff --git a/svelte.config.js b/svelte.config.js
new file mode 100644
index 0000000..4a82086
--- /dev/null
+++ b/svelte.config.js
@@ -0,0 +1,18 @@
+import adapter from '@sveltejs/adapter-auto';
+import { vitePreprocess } from '@sveltejs/vite-plugin-svelte';
+
+/** @type {import('@sveltejs/kit').Config} */
+const config = {
+ // Consult https://kit.svelte.dev/docs/integrations#preprocessors
+ // for more information about preprocessors
+ preprocess: vitePreprocess(),
+
+ kit: {
+ // adapter-auto only supports some environments, see https://kit.svelte.dev/docs/adapter-auto for a list.
+ // If your environment is not supported, or you settled on a specific environment, switch out the adapter.
+ // See https://kit.svelte.dev/docs/adapters for more information about adapters.
+ adapter: adapter()
+ }
+};
+
+export default config;
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..6f788f1
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,15 @@
+{
+ "extends": "./.svelte-kit/tsconfig.json",
+ "compilerOptions": {
+ "allowJs": true,
+ "checkJs": true,
+ "esModuleInterop": true,
+ "forceConsistentCasingInFileNames": true,
+ "resolveJsonModule": true,
+ "skipLibCheck": true,
+ "sourceMap": true,
+ "strict": true,
+ "module": "NodeNext",
+ "moduleResolution": "NodeNext"
+ }
+}
diff --git a/vite.config.ts b/vite.config.ts
new file mode 100644
index 0000000..bbf8c7d
--- /dev/null
+++ b/vite.config.ts
@@ -0,0 +1,6 @@
+import { sveltekit } from '@sveltejs/kit/vite';
+import { defineConfig } from 'vite';
+
+export default defineConfig({
+ plugins: [sveltekit()]
+});