diff --git a/.npmignore b/.npmignore
index 88e3445..26f2751 100644
--- a/.npmignore
+++ b/.npmignore
@@ -2,6 +2,7 @@
.gitignore
lib/App.d.ts
lib/App.jsx
+lib/examples
lib/main.d.ts
lib/main.js
node_modules
diff --git a/package-lock.json b/package-lock.json
index 180e1c8..5503b77 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1177,6 +1177,275 @@
"eslint-plugin-vue": "^4.7.1",
"globby": "^9.2.0",
"webpack": ">=4 < 4.29"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "5.5.2",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
+ "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "co": "^4.6.0",
+ "fast-deep-equal": "^1.0.0",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.3.0"
+ }
+ },
+ "ajv-keywords": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz",
+ "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=",
+ "dev": true,
+ "optional": true
+ },
+ "ansi-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
+ "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
+ "dev": true,
+ "optional": true
+ },
+ "chardet": {
+ "version": "0.4.2",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
+ "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=",
+ "dev": true,
+ "optional": true
+ },
+ "cross-spawn": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
+ "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "lru-cache": "^4.0.1",
+ "shebang-command": "^1.2.0",
+ "which": "^1.2.9"
+ }
+ },
+ "debug": {
+ "version": "3.2.6",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+ "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "doctrine": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ },
+ "eslint": {
+ "version": "4.19.1",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz",
+ "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ajv": "^5.3.0",
+ "babel-code-frame": "^6.22.0",
+ "chalk": "^2.1.0",
+ "concat-stream": "^1.6.0",
+ "cross-spawn": "^5.1.0",
+ "debug": "^3.1.0",
+ "doctrine": "^2.1.0",
+ "eslint-scope": "^3.7.1",
+ "eslint-visitor-keys": "^1.0.0",
+ "espree": "^3.5.4",
+ "esquery": "^1.0.0",
+ "esutils": "^2.0.2",
+ "file-entry-cache": "^2.0.0",
+ "functional-red-black-tree": "^1.0.1",
+ "glob": "^7.1.2",
+ "globals": "^11.0.1",
+ "ignore": "^3.3.3",
+ "imurmurhash": "^0.1.4",
+ "inquirer": "^3.0.6",
+ "is-resolvable": "^1.0.0",
+ "js-yaml": "^3.9.1",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.3.0",
+ "lodash": "^4.17.4",
+ "minimatch": "^3.0.2",
+ "mkdirp": "^0.5.1",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.8.2",
+ "path-is-inside": "^1.0.2",
+ "pluralize": "^7.0.0",
+ "progress": "^2.0.0",
+ "regexpp": "^1.0.1",
+ "require-uncached": "^1.0.3",
+ "semver": "^5.3.0",
+ "strip-ansi": "^4.0.0",
+ "strip-json-comments": "~2.0.1",
+ "table": "4.0.2",
+ "text-table": "~0.2.0"
+ }
+ },
+ "eslint-scope": {
+ "version": "3.7.3",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz",
+ "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "esrecurse": "^4.1.0",
+ "estraverse": "^4.1.1"
+ }
+ },
+ "external-editor": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz",
+ "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "chardet": "^0.4.0",
+ "iconv-lite": "^0.4.17",
+ "tmp": "^0.0.33"
+ }
+ },
+ "fast-deep-equal": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
+ "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
+ "dev": true,
+ "optional": true
+ },
+ "file-entry-cache": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
+ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "flat-cache": "^1.2.1",
+ "object-assign": "^4.0.1"
+ }
+ },
+ "flat-cache": {
+ "version": "1.3.4",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz",
+ "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "circular-json": "^0.3.1",
+ "graceful-fs": "^4.1.2",
+ "rimraf": "~2.6.2",
+ "write": "^0.2.1"
+ }
+ },
+ "inquirer": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz",
+ "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ansi-escapes": "^3.0.0",
+ "chalk": "^2.0.0",
+ "cli-cursor": "^2.1.0",
+ "cli-width": "^2.0.0",
+ "external-editor": "^2.0.4",
+ "figures": "^2.0.0",
+ "lodash": "^4.3.0",
+ "mute-stream": "0.0.7",
+ "run-async": "^2.2.0",
+ "rx-lite": "^4.0.8",
+ "rx-lite-aggregates": "^4.0.8",
+ "string-width": "^2.1.0",
+ "strip-ansi": "^4.0.0",
+ "through": "^2.3.6"
+ }
+ },
+ "json-schema-traverse": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
+ "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
+ "dev": true,
+ "optional": true
+ },
+ "lru-cache": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
+ "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "pseudomap": "^1.0.2",
+ "yallist": "^2.1.2"
+ }
+ },
+ "regexpp": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz",
+ "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==",
+ "dev": true,
+ "optional": true
+ },
+ "slice-ansi": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
+ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "is-fullwidth-code-point": "^2.0.0"
+ }
+ },
+ "strip-ansi": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
+ "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ansi-regex": "^3.0.0"
+ }
+ },
+ "table": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz",
+ "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "ajv": "^5.2.3",
+ "ajv-keywords": "^2.1.0",
+ "chalk": "^2.1.0",
+ "lodash": "^4.17.4",
+ "slice-ansi": "1.0.0",
+ "string-width": "^2.1.1"
+ }
+ },
+ "write": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
+ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
+ "dev": true,
+ "optional": true,
+ "requires": {
+ "mkdirp": "^0.5.1"
+ }
+ },
+ "yallist": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+ "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+ "dev": true,
+ "optional": true
+ }
}
},
"@vue/cli-plugin-pwa": {
@@ -1682,8 +1951,7 @@
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz",
"integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==",
- "dev": true,
- "optional": true
+ "dev": true
},
"ansi-html": {
"version": "0.0.7",
@@ -1876,6 +2144,12 @@
"integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
"dev": true
},
+ "astral-regex": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
+ "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
+ "dev": true
+ },
"async": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
@@ -2558,14 +2832,22 @@
"optional": true,
"requires": {
"callsites": "^0.2.0"
+ },
+ "dependencies": {
+ "callsites": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz",
+ "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=",
+ "dev": true,
+ "optional": true
+ }
}
},
"callsites": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz",
- "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=",
- "dev": true,
- "optional": true
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true
},
"camel-case": {
"version": "3.0.0",
@@ -2625,11 +2907,10 @@
}
},
"chardet": {
- "version": "0.4.2",
- "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz",
- "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=",
- "dev": true,
- "optional": true
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz",
+ "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==",
+ "dev": true
},
"check-types": {
"version": "7.4.0",
@@ -2767,8 +3048,7 @@
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz",
"integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=",
- "dev": true,
- "optional": true
+ "dev": true
},
"clipboardy": {
"version": "2.0.0",
@@ -3629,8 +3909,7 @@
"version": "0.1.3",
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
"integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
- "dev": true,
- "optional": true
+ "dev": true
},
"deepmerge": {
"version": "1.5.2",
@@ -3831,11 +4110,10 @@
}
},
"doctrine": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
- "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
"dev": true,
- "optional": true,
"requires": {
"esutils": "^2.0.2"
}
@@ -4087,128 +4365,92 @@
"dev": true
},
"eslint": {
- "version": "4.19.1",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz",
- "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==",
+ "version": "5.16.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz",
+ "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==",
"dev": true,
- "optional": true,
"requires": {
- "ajv": "^5.3.0",
- "babel-code-frame": "^6.22.0",
+ "@babel/code-frame": "^7.0.0",
+ "ajv": "^6.9.1",
"chalk": "^2.1.0",
- "concat-stream": "^1.6.0",
- "cross-spawn": "^5.1.0",
- "debug": "^3.1.0",
- "doctrine": "^2.1.0",
- "eslint-scope": "^3.7.1",
+ "cross-spawn": "^6.0.5",
+ "debug": "^4.0.1",
+ "doctrine": "^3.0.0",
+ "eslint-scope": "^4.0.3",
+ "eslint-utils": "^1.3.1",
"eslint-visitor-keys": "^1.0.0",
- "espree": "^3.5.4",
- "esquery": "^1.0.0",
+ "espree": "^5.0.1",
+ "esquery": "^1.0.1",
"esutils": "^2.0.2",
- "file-entry-cache": "^2.0.0",
+ "file-entry-cache": "^5.0.1",
"functional-red-black-tree": "^1.0.1",
"glob": "^7.1.2",
- "globals": "^11.0.1",
- "ignore": "^3.3.3",
+ "globals": "^11.7.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.0.0",
"imurmurhash": "^0.1.4",
- "inquirer": "^3.0.6",
- "is-resolvable": "^1.0.0",
- "js-yaml": "^3.9.1",
+ "inquirer": "^6.2.2",
+ "js-yaml": "^3.13.0",
"json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.3.0",
- "lodash": "^4.17.4",
- "minimatch": "^3.0.2",
+ "lodash": "^4.17.11",
+ "minimatch": "^3.0.4",
"mkdirp": "^0.5.1",
"natural-compare": "^1.4.0",
"optionator": "^0.8.2",
"path-is-inside": "^1.0.2",
- "pluralize": "^7.0.0",
"progress": "^2.0.0",
- "regexpp": "^1.0.1",
- "require-uncached": "^1.0.3",
- "semver": "^5.3.0",
+ "regexpp": "^2.0.1",
+ "semver": "^5.5.1",
"strip-ansi": "^4.0.0",
- "strip-json-comments": "~2.0.1",
- "table": "4.0.2",
- "text-table": "~0.2.0"
+ "strip-json-comments": "^2.0.1",
+ "table": "^5.2.3",
+ "text-table": "^0.2.0"
},
"dependencies": {
- "ajv": {
- "version": "5.5.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
- "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
- "dev": true,
- "optional": true,
- "requires": {
- "co": "^4.6.0",
- "fast-deep-equal": "^1.0.0",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.3.0"
- }
+ "acorn": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.1.1.tgz",
+ "integrity": "sha512-jPTiwtOxaHNaAPg/dmrJ/beuzLRnXtB0kQPQ8JpotKJgTB6rX6c8mlf315941pyjBSaPg8NHXS9fhP4u17DpGA==",
+ "dev": true
+ },
+ "acorn-jsx": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz",
+ "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==",
+ "dev": true
},
"ansi-regex": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
"integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true,
- "optional": true
- },
- "cross-spawn": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz",
- "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=",
- "dev": true,
- "optional": true,
- "requires": {
- "lru-cache": "^4.0.1",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
- "debug": {
- "version": "3.2.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
- "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
- "dev": true,
- "optional": true,
- "requires": {
- "ms": "^2.1.1"
- }
+ "dev": true
},
- "eslint-scope": {
- "version": "3.7.3",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz",
- "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==",
+ "espree": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz",
+ "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==",
"dev": true,
- "optional": true,
"requires": {
- "esrecurse": "^4.1.0",
- "estraverse": "^4.1.1"
+ "acorn": "^6.0.7",
+ "acorn-jsx": "^5.0.0",
+ "eslint-visitor-keys": "^1.0.0"
}
},
- "fast-deep-equal": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
- "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
- "dev": true,
- "optional": true
- },
- "json-schema-traverse": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
- "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
- "dev": true,
- "optional": true
+ "ignore": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "dev": true
},
- "lru-cache": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
- "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+ "import-fresh": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.0.0.tgz",
+ "integrity": "sha512-pOnA9tfM3Uwics+SaBLCNyZZZbK+4PTu0OPZtLlMIrv17EdBoC15S9Kn8ckJ9TZTyKb3ywNE5y1yeDxxGA7nTQ==",
"dev": true,
- "optional": true,
"requires": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
}
},
"strip-ansi": {
@@ -4216,17 +4458,9 @@
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
"integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
"dev": true,
- "optional": true,
"requires": {
"ansi-regex": "^3.0.0"
}
- },
- "yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
- "dev": true,
- "optional": true
}
}
},
@@ -4315,7 +4549,6 @@
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.0.1.tgz",
"integrity": "sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==",
"dev": true,
- "optional": true,
"requires": {
"estraverse": "^4.0.0"
}
@@ -4538,14 +4771,13 @@
}
},
"external-editor": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz",
- "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==",
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.0.3.tgz",
+ "integrity": "sha512-bn71H9+qWoOQKyZDo25mOMVpSmXROAsTJVVVYzrrtol3d4y+AsKjf4Iwl2Q+IuT0kFSQ1qo166UuIwqYq7mGnA==",
"dev": true,
- "optional": true,
"requires": {
- "chardet": "^0.4.0",
- "iconv-lite": "^0.4.17",
+ "chardet": "^0.7.0",
+ "iconv-lite": "^0.4.24",
"tmp": "^0.0.33"
}
},
@@ -4656,8 +4888,7 @@
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
- "dev": true,
- "optional": true
+ "dev": true
},
"fastparse": {
"version": "1.1.2",
@@ -4685,20 +4916,17 @@
"resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
"integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=",
"dev": true,
- "optional": true,
"requires": {
"escape-string-regexp": "^1.0.5"
}
},
"file-entry-cache": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz",
- "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=",
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz",
+ "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==",
"dev": true,
- "optional": true,
"requires": {
- "flat-cache": "^1.2.1",
- "object-assign": "^4.0.1"
+ "flat-cache": "^2.0.1"
}
},
"file-loader": {
@@ -4824,18 +5052,22 @@
}
},
"flat-cache": {
- "version": "1.3.4",
- "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz",
- "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==",
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz",
+ "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==",
"dev": true,
- "optional": true,
"requires": {
- "circular-json": "^0.3.1",
- "graceful-fs": "^4.1.2",
- "rimraf": "~2.6.2",
- "write": "^0.2.1"
+ "flatted": "^2.0.0",
+ "rimraf": "2.6.3",
+ "write": "1.0.3"
}
},
+ "flatted": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.0.tgz",
+ "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==",
+ "dev": true
+ },
"flush-write-stream": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz",
@@ -6174,45 +6406,24 @@
"dev": true
},
"inquirer": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz",
- "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==",
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.3.1.tgz",
+ "integrity": "sha512-MmL624rfkFt4TG9y/Jvmt8vdmOo836U7Y0Hxr2aFk3RelZEGX4Igk0KabWrcaaZaTv9uzglOqWh1Vly+FAWAXA==",
"dev": true,
- "optional": true,
"requires": {
- "ansi-escapes": "^3.0.0",
- "chalk": "^2.0.0",
+ "ansi-escapes": "^3.2.0",
+ "chalk": "^2.4.2",
"cli-cursor": "^2.1.0",
"cli-width": "^2.0.0",
- "external-editor": "^2.0.4",
+ "external-editor": "^3.0.3",
"figures": "^2.0.0",
- "lodash": "^4.3.0",
+ "lodash": "^4.17.11",
"mute-stream": "0.0.7",
"run-async": "^2.2.0",
- "rx-lite": "^4.0.8",
- "rx-lite-aggregates": "^4.0.8",
+ "rxjs": "^6.4.0",
"string-width": "^2.1.0",
- "strip-ansi": "^4.0.0",
+ "strip-ansi": "^5.1.0",
"through": "^2.3.6"
- },
- "dependencies": {
- "ansi-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz",
- "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=",
- "dev": true,
- "optional": true
- },
- "strip-ansi": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
- "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=",
- "dev": true,
- "optional": true,
- "requires": {
- "ansi-regex": "^3.0.0"
- }
- }
}
},
"internal-ip": {
@@ -6481,8 +6692,7 @@
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz",
"integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=",
- "dev": true,
- "optional": true
+ "dev": true
},
"is-regex": {
"version": "1.0.4",
@@ -6677,8 +6887,7 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
"integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
- "dev": true,
- "optional": true
+ "dev": true
},
"json-stringify-safe": {
"version": "5.0.1",
@@ -6773,7 +6982,6 @@
"resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
"integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
"dev": true,
- "optional": true,
"requires": {
"prelude-ls": "~1.1.2",
"type-check": "~0.3.2"
@@ -7324,8 +7532,7 @@
"version": "0.0.7",
"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
"integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
- "dev": true,
- "optional": true
+ "dev": true
},
"mz": {
"version": "2.7.0",
@@ -7368,8 +7575,7 @@
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
"integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
- "dev": true,
- "optional": true
+ "dev": true
},
"negotiator": {
"version": "0.6.2",
@@ -7698,7 +7904,6 @@
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
"integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
"dev": true,
- "optional": true,
"requires": {
"deep-is": "~0.1.3",
"fast-levenshtein": "~2.0.4",
@@ -7752,8 +7957,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
"integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
- "dev": true,
- "optional": true
+ "dev": true
},
"p-defer": {
"version": "1.0.0",
@@ -7838,6 +8042,15 @@
"no-case": "^2.2.0"
}
},
+ "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"
+ }
+ },
"parse-asn1": {
"version": "5.1.4",
"resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.4.tgz",
@@ -8630,8 +8843,7 @@
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
"integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
- "dev": true,
- "optional": true
+ "dev": true
},
"prepend-http": {
"version": "2.0.0",
@@ -8692,8 +8904,7 @@
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
- "dev": true,
- "optional": true
+ "dev": true
},
"promise-inflight": {
"version": "1.0.1",
@@ -8945,11 +9156,10 @@
"dev": true
},
"regexpp": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz",
- "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==",
- "dev": true,
- "optional": true
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz",
+ "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==",
+ "dev": true
},
"regexpu-core": {
"version": "4.5.4",
@@ -9139,6 +9349,15 @@
"requires": {
"caller-path": "^0.1.0",
"resolve-from": "^1.0.0"
+ },
+ "dependencies": {
+ "resolve-from": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
+ "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=",
+ "dev": true,
+ "optional": true
+ }
}
},
"requireindex": {
@@ -9186,11 +9405,10 @@
}
},
"resolve-from": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz",
- "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=",
- "dev": true,
- "optional": true
+ "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
},
"resolve-url": {
"version": "0.2.1",
@@ -9256,7 +9474,6 @@
"resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz",
"integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=",
"dev": true,
- "optional": true,
"requires": {
"is-promise": "^2.1.0"
}
@@ -9287,6 +9504,15 @@
"rx-lite": "*"
}
},
+ "rxjs": {
+ "version": "6.5.2",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.2.tgz",
+ "integrity": "sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@@ -9573,12 +9799,13 @@
"dev": true
},
"slice-ansi": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
- "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz",
+ "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==",
"dev": true,
- "optional": true,
"requires": {
+ "ansi-styles": "^3.2.0",
+ "astral-regex": "^1.0.0",
"is-fullwidth-code-point": "^2.0.0"
}
},
@@ -10113,8 +10340,7 @@
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
"integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=",
- "dev": true,
- "optional": true
+ "dev": true
},
"stylehacks": {
"version": "4.0.3",
@@ -10234,53 +10460,27 @@
}
},
"table": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz",
- "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==",
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/table/-/table-5.4.0.tgz",
+ "integrity": "sha512-nHFDrxmbrkU7JAFKqKbDJXfzrX2UBsWmrieXFTGxiI5e4ncg3VqsZeI4EzNmX0ncp4XNGVeoxIWJXfCIXwrsvw==",
"dev": true,
- "optional": true,
"requires": {
- "ajv": "^5.2.3",
- "ajv-keywords": "^2.1.0",
- "chalk": "^2.1.0",
- "lodash": "^4.17.4",
- "slice-ansi": "1.0.0",
- "string-width": "^2.1.1"
+ "ajv": "^6.9.1",
+ "lodash": "^4.17.11",
+ "slice-ansi": "^2.1.0",
+ "string-width": "^3.0.0"
},
"dependencies": {
- "ajv": {
- "version": "5.5.2",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
- "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
+ "string-width": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz",
+ "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==",
"dev": true,
- "optional": true,
"requires": {
- "co": "^4.6.0",
- "fast-deep-equal": "^1.0.0",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.3.0"
+ "emoji-regex": "^7.0.1",
+ "is-fullwidth-code-point": "^2.0.0",
+ "strip-ansi": "^5.1.0"
}
- },
- "ajv-keywords": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz",
- "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=",
- "dev": true,
- "optional": true
- },
- "fast-deep-equal": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
- "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
- "dev": true,
- "optional": true
- },
- "json-schema-traverse": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
- "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
- "dev": true,
- "optional": true
}
}
},
@@ -10350,8 +10550,7 @@
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
"integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
- "dev": true,
- "optional": true
+ "dev": true
},
"thenify": {
"version": "3.3.0",
@@ -10386,8 +10585,7 @@
"version": "2.3.8",
"resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
"integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=",
- "dev": true,
- "optional": true
+ "dev": true
},
"through2": {
"version": "2.0.5",
@@ -10425,7 +10623,6 @@
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
"integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
"dev": true,
- "optional": true,
"requires": {
"os-tmpdir": "~1.0.2"
}
@@ -10610,7 +10807,6 @@
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
"integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
"dev": true,
- "optional": true,
"requires": {
"prelude-ls": "~1.1.2"
}
@@ -11523,8 +11719,7 @@
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
"integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
- "dev": true,
- "optional": true
+ "dev": true
},
"workbox-background-sync": {
"version": "3.6.3",
@@ -11721,11 +11916,10 @@
"dev": true
},
"write": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz",
- "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz",
+ "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==",
"dev": true,
- "optional": true,
"requires": {
"mkdirp": "^0.5.1"
}
diff --git a/package.json b/package.json
index 1c1fcd5..3fe4515 100644
--- a/package.json
+++ b/package.json
@@ -32,6 +32,7 @@
"@vue/cli-service": "^3.8.0",
"@vue/eslint-config-prettier": "^4.0.1",
"@vue/eslint-config-typescript": "^4.0.0",
+ "eslint": "^5.16.0",
"rimraf": "^2.6.3",
"stylus": "^0.54.5",
"stylus-loader": "^3.0.2",
diff --git a/src/App.tsx b/src/App.tsx
index 0f550ee..21455f0 100644
--- a/src/App.tsx
+++ b/src/App.tsx
@@ -1,53 +1,16 @@
import { component } from 'vue-tsx-support';
-
-import VAlert from './VAlert';
-import VApp from './VApp';
-import VAvatar from './VAvatar';
-import VBadge from './VBadge';
-import VBreadcrumbs from './VBreadcrumbs';
-import VBtn from './VBtn';
-import VBtnToggle from './VBtnToggle';
-import VContainer from './VContainer';
-import VContent from './VContent';
-import VFlex from './VFlex';
-import VIcon from './VIcon';
-import VLayout from './VLayout';
-
-const Title = component({
- render() {
- return (
-
{this.$slots.default}
- );
- },
-});
-
-const SubTitle = component({
- render() {
- return {this.$slots.default}
;
- },
-});
+import AlertExample1 from './examples/alerts/AlertExample1';
+import AvatarExample1 from './examples/avatars/AvatarExample1';
+import BadgeExample1 from './examples/badges/BadgeExample1';
+import BreadcrumbExample1 from './examples/breadcrumbs/BreadcrumbExample1';
+import ButtonExample1 from './examples/buttons/ButtonExample1';
+import ButtonToggleExample1 from './examples/buttons/ButtonToggleExample1';
+import CardExample1 from './examples/cards/CardExample1';
+import Title from './examples/Title';
+import { VApp, VContainer, VContent, VFlex, VLayout } from './index';
const App = component({
name: 'App',
- data: () => ({
- breadcrumbs: [
- {
- text: 'Dashboard',
- disabled: false,
- href: 'breadcrumbs_dashboard',
- },
- {
- text: 'Link 1',
- disabled: false,
- href: 'breadcrumbs_link_1',
- },
- {
- text: 'Link 2',
- disabled: true,
- href: 'breadcrumbs_link_2',
- },
- ],
- }),
render() {
return (
@@ -58,74 +21,13 @@ const App = component({
- Alert
-
- Awesome!
-
- Oh !@#$!
-
- Avatar
-
-
-
-
-
-
-
- Badge
-
- 6
- shopping_cart
-
-
- 99
- mail
-
-
- Breadcrumbs
-
- [
- {props.item.text},
- ],
- }}
- />
- {/** @deprecated 'default slot' is deprecated, use ':items and scoped slot "item"' instead */}
- {/*
- WTF
- WTF 2
- WTF 3
- */}
-
- Button
- Click Me!
- Click Me!
- Click Me!
- Click Me!
-
- Button Tobble
-
-
- format_align_left
-
-
- format_align_center
-
-
- format_align_right
-
-
-
- Card
+
+
+
+
+
+
+
diff --git a/src/VApp.tsx b/src/VApp.tsx
deleted file mode 100644
index d855636..0000000
--- a/src/VApp.tsx
+++ /dev/null
@@ -1,4 +0,0 @@
-import * as tsx from 'vue-tsx-support';
-import { VApp } from 'vuetify/lib';
-
-export default tsx.ofType().convert(VApp as any);
diff --git a/src/VAvatar.tsx b/src/VAvatar.tsx
deleted file mode 100644
index 4e15454..0000000
--- a/src/VAvatar.tsx
+++ /dev/null
@@ -1,11 +0,0 @@
-import * as tsx from 'vue-tsx-support';
-import { VAvatar } from 'vuetify/lib';
-
-import { Colorable } from './types';
-
-export default tsx.ofType().convert(VAvatar as any);
-
-type Props = Colorable & {
- size?: number | string;
- tile?: boolean;
-};
diff --git a/src/VContent.tsx b/src/VContent.tsx
deleted file mode 100644
index ebd5d67..0000000
--- a/src/VContent.tsx
+++ /dev/null
@@ -1,4 +0,0 @@
-import * as tsx from 'vue-tsx-support';
-import { VContent } from 'vuetify/lib';
-
-export default tsx.ofType().convert(VContent as any);
diff --git a/src/VListTileAction.tsx b/src/VListTileAction.tsx
deleted file mode 100644
index 4f2eafd..0000000
--- a/src/VListTileAction.tsx
+++ /dev/null
@@ -1,4 +0,0 @@
-import * as tsx from 'vue-tsx-support';
-import { VListTileAction } from 'vuetify/lib';
-
-export default tsx.ofType().convert(VListTileAction as any);
diff --git a/src/VTimeline.tsx b/src/VTimeline.tsx
deleted file mode 100644
index 0c3c346..0000000
--- a/src/VTimeline.tsx
+++ /dev/null
@@ -1,13 +0,0 @@
-import * as tsx from 'vue-tsx-support';
-import { VTimeline } from 'vuetify/lib';
-
-import { Denseable, Themable } from './types';
-
-export default tsx.ofType().convert(VTimeline as any);
-
-type Props = Denseable &
- Themable & {
- alignTop?: boolean;
- };
-
-type Events = {};
diff --git a/src/VAlert.tsx b/src/components/VAlert.tsx
similarity index 65%
rename from src/VAlert.tsx
rename to src/components/VAlert.tsx
index efa07d6..acb2f17 100644
--- a/src/VAlert.tsx
+++ b/src/components/VAlert.tsx
@@ -1,9 +1,8 @@
-import * as tsx from 'vue-tsx-support';
+import { Colorable, Transitionable } from '@/shared/types';
+import { ofType } from 'vue-tsx-support';
import { VAlert } from 'vuetify/lib';
-import { Colorable, Transitionable } from './types';
-
-export default tsx.ofType().convert(VAlert as any);
+export default ofType().convert(VAlert as any);
type Props = Colorable &
Transitionable & {
diff --git a/src/components/VApp.tsx b/src/components/VApp.tsx
new file mode 100644
index 0000000..eaa7c67
--- /dev/null
+++ b/src/components/VApp.tsx
@@ -0,0 +1,4 @@
+import { ofType } from 'vue-tsx-support';
+import { VApp } from 'vuetify/lib';
+
+export default ofType().convert(VApp as any);
diff --git a/src/components/VAvatar.tsx b/src/components/VAvatar.tsx
new file mode 100644
index 0000000..334efd1
--- /dev/null
+++ b/src/components/VAvatar.tsx
@@ -0,0 +1,10 @@
+import { Colorable } from '@/shared/types';
+import { ofType } from 'vue-tsx-support';
+import { VAvatar } from 'vuetify/lib';
+
+export default ofType().convert(VAvatar as any);
+
+type Props = Colorable & {
+ size?: number | string;
+ tile?: boolean;
+};
diff --git a/src/VBadge.tsx b/src/components/VBadge.tsx
similarity index 55%
rename from src/VBadge.tsx
rename to src/components/VBadge.tsx
index bc847bb..7a71142 100644
--- a/src/VBadge.tsx
+++ b/src/components/VBadge.tsx
@@ -1,9 +1,8 @@
-import * as tsx from 'vue-tsx-support';
+import { Colorable, Positionable, Transitionable } from '@/shared/types';
+import { ofType } from 'vue-tsx-support';
import { VBadge } from 'vuetify/lib';
-import { Colorable, Positionable, Transitionable } from './types';
-
-export default tsx.ofType().convert(VBadge as any);
+export default ofType().convert(VBadge as any);
type Props = Colorable &
Positionable &
diff --git a/src/VBtn.tsx b/src/components/VBtn.tsx
similarity index 94%
rename from src/VBtn.tsx
rename to src/components/VBtn.tsx
index d785695..35a8931 100644
--- a/src/VBtn.tsx
+++ b/src/components/VBtn.tsx
@@ -1,9 +1,8 @@
+import { Colorable, Themable } from '@/shared/types';
import { ofType } from 'vue-tsx-support';
import { RouterLinkProps } from 'vue-tsx-support/options/enable-vue-router';
import { VBtn } from 'vuetify/lib';
-import { Colorable, Themable } from './types';
-
export default ofType().convert(VBtn as any);
type Props = Colorable &
diff --git a/src/VBtnToggle.tsx b/src/components/VBtnToggle.tsx
similarity index 87%
rename from src/VBtnToggle.tsx
rename to src/components/VBtnToggle.tsx
index ce87910..d0b6045 100644
--- a/src/VBtnToggle.tsx
+++ b/src/components/VBtnToggle.tsx
@@ -1,8 +1,7 @@
+import { Themable } from '@/shared/types';
import { ofType } from 'vue-tsx-support';
import { VBtnToggle } from 'vuetify/lib';
-import { Themable } from './types';
-
export default ofType().convert(VBtnToggle as any);
type Props = Themable & {
diff --git a/src/VChip.tsx b/src/components/VChip.tsx
similarity index 94%
rename from src/VChip.tsx
rename to src/components/VChip.tsx
index 5890f9b..6d77ce1 100644
--- a/src/VChip.tsx
+++ b/src/components/VChip.tsx
@@ -1,13 +1,12 @@
-import { ofType } from 'vue-tsx-support';
-import { VChip } from 'vuetify/lib';
-
import {
Colorable,
CommonEvents,
Disableable,
Sizeable,
Themable,
-} from './types';
+} from '@/shared/types';
+import { ofType } from 'vue-tsx-support';
+import { VChip } from 'vuetify/lib';
export default ofType().convert(VChip as any);
diff --git a/src/VContainer.tsx b/src/components/VContainer.tsx
similarity index 51%
rename from src/VContainer.tsx
rename to src/components/VContainer.tsx
index 27a2a9f..57305f8 100644
--- a/src/VContainer.tsx
+++ b/src/components/VContainer.tsx
@@ -1,7 +1,7 @@
-import * as tsx from 'vue-tsx-support';
+import { ofType } from 'vue-tsx-support';
import { VContainer } from 'vuetify/lib';
-export default tsx.ofType().convert(VContainer as any);
+export default ofType().convert(VContainer as any);
type Props = {
'fill-height'?: boolean;
diff --git a/src/components/VContent.tsx b/src/components/VContent.tsx
new file mode 100644
index 0000000..abfbe3f
--- /dev/null
+++ b/src/components/VContent.tsx
@@ -0,0 +1,4 @@
+import { ofType } from 'vue-tsx-support';
+import { VContent } from 'vuetify/lib';
+
+export default ofType().convert(VContent as any);
diff --git a/src/VDataTable.tsx b/src/components/VDataTable.tsx
similarity index 90%
rename from src/VDataTable.tsx
rename to src/components/VDataTable.tsx
index 2b5c393..c5c35f6 100644
--- a/src/VDataTable.tsx
+++ b/src/components/VDataTable.tsx
@@ -1,11 +1,8 @@
-import * as tsx from 'vue-tsx-support';
+import { Themable } from '@/shared/types';
+import { ofType } from 'vue-tsx-support';
import { VDataTable } from 'vuetify/lib';
-import { Themable } from './types';
-
-export default tsx
- .ofType()
- .convert(VDataTable as any);
+export default ofType().convert(VDataTable as any);
type Props = Themable & {
customFilter?: (items: object[], search: string, filter: any) => any[];
diff --git a/src/VDialog.tsx b/src/components/VDialog.tsx
similarity index 85%
rename from src/VDialog.tsx
rename to src/components/VDialog.tsx
index 7ab7cbc..4ceb7db 100644
--- a/src/VDialog.tsx
+++ b/src/components/VDialog.tsx
@@ -1,8 +1,12 @@
+import {
+ Detachable,
+ Disableable,
+ Themable,
+ Transitionable,
+} from '@/shared/types';
import { ofType } from 'vue-tsx-support';
import { VDialog } from 'vuetify/lib';
-import { Detachable, Disableable, Transitionable, Themable } from './types';
-
export default ofType().convert(VDialog as any);
type Props = Detachable &
diff --git a/src/VDivider.tsx b/src/components/VDivider.tsx
similarity index 83%
rename from src/VDivider.tsx
rename to src/components/VDivider.tsx
index 9832418..bc0dfe2 100644
--- a/src/VDivider.tsx
+++ b/src/components/VDivider.tsx
@@ -1,8 +1,7 @@
+import { Themable } from '@/shared/types';
import { ofType } from 'vue-tsx-support';
import { VDivider } from 'vuetify/lib';
-import { Themable } from './types';
-
export default ofType().convert(VDivider as any);
type Props = Themable & {
diff --git a/src/VFlex.tsx b/src/components/VFlex.tsx
similarity index 90%
rename from src/VFlex.tsx
rename to src/components/VFlex.tsx
index d1890cf..b7fc899 100644
--- a/src/VFlex.tsx
+++ b/src/components/VFlex.tsx
@@ -1,7 +1,7 @@
-import * as tsx from 'vue-tsx-support';
+import { ofType } from 'vue-tsx-support';
import { VFlex } from 'vuetify/lib';
-export default tsx.ofType().convert(VFlex as any);
+export default ofType().convert(VFlex as any);
interface Props {
xs1?: boolean;
diff --git a/src/VIcon.tsx b/src/components/VIcon.tsx
similarity index 92%
rename from src/VIcon.tsx
rename to src/components/VIcon.tsx
index 96579ff..6c9096f 100644
--- a/src/VIcon.tsx
+++ b/src/components/VIcon.tsx
@@ -1,13 +1,12 @@
-import { ofType } from 'vue-tsx-support';
-import { VIcon } from 'vuetify/lib';
-
import {
Colorable,
Disableable,
Positionable,
Sizeable,
Themable,
-} from './types';
+} from '@/shared/types';
+import { ofType } from 'vue-tsx-support';
+import { VIcon } from 'vuetify/lib';
export default ofType().convert(VIcon as any);
diff --git a/src/VImg.tsx b/src/components/VImg.tsx
similarity index 83%
rename from src/VImg.tsx
rename to src/components/VImg.tsx
index 9f54936..7b002b9 100644
--- a/src/VImg.tsx
+++ b/src/components/VImg.tsx
@@ -1,8 +1,7 @@
+import { Measurable } from '@/shared/types';
import { ofType } from 'vue-tsx-support';
import { VImg } from 'vuetify/lib';
-import { Measurable } from './types';
-
export default ofType().convert(VImg as any);
type Props = Measurable & {
diff --git a/src/VLayout.tsx b/src/components/VLayout.tsx
similarity index 53%
rename from src/VLayout.tsx
rename to src/components/VLayout.tsx
index c4e569b..03f9070 100644
--- a/src/VLayout.tsx
+++ b/src/components/VLayout.tsx
@@ -1,7 +1,7 @@
-import * as tsx from 'vue-tsx-support';
+import { ofType } from 'vue-tsx-support';
import { VLayout } from 'vuetify/lib';
-export default tsx.ofType().convert(VLayout as any);
+export default ofType().convert(VLayout as any);
type Props = {
column?: boolean;
diff --git a/src/VMenu.tsx b/src/components/VMenu.tsx
similarity index 97%
rename from src/VMenu.tsx
rename to src/components/VMenu.tsx
index 9e4963c..e50d544 100644
--- a/src/VMenu.tsx
+++ b/src/components/VMenu.tsx
@@ -1,13 +1,12 @@
-import { ofType } from 'vue-tsx-support';
-import { VMenu } from 'vuetify/lib';
-
import {
Detachable,
Disableable,
Positionable,
Themable,
Transitionable,
-} from './types';
+} from '@/shared/types';
+import { ofType } from 'vue-tsx-support';
+import { VMenu } from 'vuetify/lib';
export default ofType().convert(VMenu as any);
diff --git a/src/VNavigationDrawer.tsx b/src/components/VNavigationDrawer.tsx
similarity index 94%
rename from src/VNavigationDrawer.tsx
rename to src/components/VNavigationDrawer.tsx
index d581734..37fa951 100644
--- a/src/VNavigationDrawer.tsx
+++ b/src/components/VNavigationDrawer.tsx
@@ -1,8 +1,7 @@
+import { Themable } from '@/shared/types';
import { ofType } from 'vue-tsx-support';
import { VNavigationDrawer } from 'vuetify/lib';
-import { Themable } from './types';
-
export default ofType().convert(VNavigationDrawer as any);
type Props = Themable & {
diff --git a/src/VResponsive.tsx b/src/components/VResponsive.tsx
similarity index 79%
rename from src/VResponsive.tsx
rename to src/components/VResponsive.tsx
index f23cc95..051be9f 100644
--- a/src/VResponsive.tsx
+++ b/src/components/VResponsive.tsx
@@ -1,8 +1,7 @@
+import { Measurable } from '@/shared/types';
import { ofType } from 'vue-tsx-support';
import { VResponsive } from 'vuetify/lib';
-import { Measurable } from './types';
-
export default ofType().convert(VResponsive as any);
type Props = Measurable;
diff --git a/src/VSpacer.tsx b/src/components/VSpacer.tsx
similarity index 100%
rename from src/VSpacer.tsx
rename to src/components/VSpacer.tsx
diff --git a/src/VSpeedDial.tsx b/src/components/VSpeedDial.tsx
similarity index 83%
rename from src/VSpeedDial.tsx
rename to src/components/VSpeedDial.tsx
index 34a0fc7..84b2d41 100644
--- a/src/VSpeedDial.tsx
+++ b/src/components/VSpeedDial.tsx
@@ -1,8 +1,7 @@
+import { Positionable, Routable, Transitionable } from '@/shared/types';
import { ofType } from 'vue-tsx-support';
import { VSpeedDial } from 'vuetify/lib';
-import { Positionable, Routable, Transitionable } from './types';
-
export default ofType().convert(VSpeedDial as any);
type Props = Positionable &
diff --git a/src/VSubheader.tsx b/src/components/VSubheader.tsx
similarity index 100%
rename from src/VSubheader.tsx
rename to src/components/VSubheader.tsx
diff --git a/src/VTooltip.tsx b/src/components/VTooltip.tsx
similarity index 78%
rename from src/VTooltip.tsx
rename to src/components/VTooltip.tsx
index e5c87ff..c4abf39 100644
--- a/src/VTooltip.tsx
+++ b/src/components/VTooltip.tsx
@@ -1,8 +1,7 @@
+import { Positionable } from '@/shared/types';
import { ofType } from 'vue-tsx-support';
import { VTooltip } from 'vuetify/lib';
-import { Positionable } from './types';
-
export default ofType().convert(VTooltip as any);
type Props = Positionable & {};
diff --git a/src/VBreadcrumbs.tsx b/src/components/breadcrumbs/VBreadcrumbs.tsx
similarity index 91%
rename from src/VBreadcrumbs.tsx
rename to src/components/breadcrumbs/VBreadcrumbs.tsx
index f172eec..7c7f794 100644
--- a/src/VBreadcrumbs.tsx
+++ b/src/components/breadcrumbs/VBreadcrumbs.tsx
@@ -1,8 +1,7 @@
+import { Themable } from '@/shared/types';
import { ofType } from 'vue-tsx-support';
import { VBreadcrumbs } from 'vuetify/lib';
-import { Themable } from './types';
-
export default ofType().convert(VBreadcrumbs as any);
type Props = Themable & {
diff --git a/src/VBreadcrumbsItem.tsx b/src/components/breadcrumbs/VBreadcrumbsItem.tsx
similarity index 80%
rename from src/VBreadcrumbsItem.tsx
rename to src/components/breadcrumbs/VBreadcrumbsItem.tsx
index def01ba..db6c8b1 100644
--- a/src/VBreadcrumbsItem.tsx
+++ b/src/components/breadcrumbs/VBreadcrumbsItem.tsx
@@ -1,8 +1,7 @@
+import { Disableable, Routable } from '@/shared/types';
import { ofType } from 'vue-tsx-support';
import { VBreadcrumbsItem } from 'vuetify/lib';
-import { Disableable, Routable } from './types';
-
export default ofType().convert(VBreadcrumbsItem as any);
type Props = Disableable & Routable & {};
diff --git a/src/VCard.tsx b/src/components/cards/VCard.tsx
similarity index 93%
rename from src/VCard.tsx
rename to src/components/cards/VCard.tsx
index 2196e70..672e994 100644
--- a/src/VCard.tsx
+++ b/src/components/cards/VCard.tsx
@@ -1,13 +1,12 @@
-import { ofType } from 'vue-tsx-support';
-import { VCard } from 'vuetify/lib';
-
import {
Colorable,
Disableable,
Measurable,
Rippleable,
Routable,
-} from './types';
+} from '@/shared/types';
+import { ofType } from 'vue-tsx-support';
+import { VCard } from 'vuetify/lib';
export default ofType().convert(VCard as any);
diff --git a/src/VCardActions.tsx b/src/components/cards/VCardActions.tsx
similarity index 100%
rename from src/VCardActions.tsx
rename to src/components/cards/VCardActions.tsx
diff --git a/src/VCardMedia.tsx b/src/components/cards/VCardMedia.tsx
similarity index 76%
rename from src/VCardMedia.tsx
rename to src/components/cards/VCardMedia.tsx
index e7962b9..5b7253a 100644
--- a/src/VCardMedia.tsx
+++ b/src/components/cards/VCardMedia.tsx
@@ -1,8 +1,7 @@
+import { Imageable, Measurable } from '@/shared/types';
import { ofType } from 'vue-tsx-support';
import { VCardMedia } from 'vuetify/lib';
-import { Imageable, Measurable } from './types';
-
export default ofType().convert(VCardMedia as any);
type Props = Imageable & Measurable & {};
diff --git a/src/VCardText.tsx b/src/components/cards/VCardText.tsx
similarity index 100%
rename from src/VCardText.tsx
rename to src/components/cards/VCardText.tsx
diff --git a/src/VCardTitle.tsx b/src/components/cards/VCardTitle.tsx
similarity index 100%
rename from src/VCardTitle.tsx
rename to src/components/cards/VCardTitle.tsx
diff --git a/src/VCarousel.tsx b/src/components/carousels/VCarousel.tsx
similarity index 90%
rename from src/VCarousel.tsx
rename to src/components/carousels/VCarousel.tsx
index ee44f0e..dfcd164 100644
--- a/src/VCarousel.tsx
+++ b/src/components/carousels/VCarousel.tsx
@@ -1,8 +1,7 @@
+import { Themable } from '@/shared/types';
import { ofType } from 'vue-tsx-support';
import { VCarousel } from 'vuetify/lib';
-import { Themable } from './types';
-
export default ofType().convert(VCarousel as any);
type Props = Themable & {
diff --git a/src/VCarouselItem.tsx b/src/components/carousels/VCarouselItem.tsx
similarity index 83%
rename from src/VCarouselItem.tsx
rename to src/components/carousels/VCarouselItem.tsx
index 0f79965..edd75af 100644
--- a/src/VCarouselItem.tsx
+++ b/src/components/carousels/VCarouselItem.tsx
@@ -1,8 +1,7 @@
+import { Transitionable } from '@/shared/types';
import { ofType } from 'vue-tsx-support';
import { VCarouselItem } from 'vuetify/lib';
-import { Transitionable } from './types';
-
export default ofType().convert(VCarouselItem as any);
type Props = Transitionable & {
diff --git a/src/components/index.tsx b/src/components/index.tsx
new file mode 100644
index 0000000..9a3a90d
--- /dev/null
+++ b/src/components/index.tsx
@@ -0,0 +1,60 @@
+export { default as VBreadcrumbs } from './breadcrumbs/VBreadcrumbs';
+export { default as VBreadcrumbsItem } from './breadcrumbs/VBreadcrumbsItem';
+export { default as VCard } from './cards/VCard';
+export { default as VCardActions } from './cards/VCardActions';
+export { default as VCardMedia } from './cards/VCardMedia';
+export { default as VCardText } from './cards/VCardText';
+export { default as VCardTitle } from './cards/VCardTitle';
+export { default as VCarousel } from './carousels/VCarousel';
+export { default as VCarouselItem } from './carousels/VCarouselItem';
+export { default as VCheckbox } from './inputs/VCheckbox';
+export { default as VCombobox } from './inputs/VCombobox';
+export { default as VRadio } from './inputs/VRadio';
+export { default as VRadioGroup } from './inputs/VRadioGroup';
+export { default as VSelect } from './inputs/VSelect';
+export { default as VTextarea } from './inputs/VTextarea';
+export { default as VTextField } from './inputs/VTextField';
+export { default as VList } from './lists/VList';
+export { default as VListGroup } from './lists/VListGroup';
+export { default as VListTile } from './lists/VListTile';
+export { default as VListTileAction } from './lists/VListTileAction';
+export { default as VListTileAvatar } from './lists/VListTileAvatar';
+export { default as VListTileContent } from './lists/VListTileContent';
+export { default as VListTileSubTitle } from './lists/VListTileSubTitle';
+export { default as VListTileTitle } from './lists/VListTileTitle';
+export { default as VProgressCircular } from './progress/VProgressCircular';
+export { default as VProgressLinear } from './progress/VProgressLinear';
+export { default as VTab } from './tabs/VTab';
+export { default as VTabItem } from './tabs/VTabItem';
+export { default as VTabs } from './tabs/VTabs';
+export { default as VTabsItems } from './tabs/VTabsItems';
+export { default as VTabsSlider } from './tabs/VTabsSlider';
+export { default as VTimeline } from './timelines/VTimeline';
+export { default as VTimelineItem } from './timelines/VTimelineItem';
+export { default as VToolbar } from './toolbars/VToolbar';
+export { default as VToolbarItems } from './toolbars/VToolbarItems';
+export { default as VToolbarSideIcon } from './toolbars/VToolbarSideIcon';
+export { default as VToolbarTitle } from './toolbars/VToolbarTitle';
+export { default as VAlert } from './VAlert';
+export { default as VApp } from './VApp';
+export { default as VAvatar } from './VAvatar';
+export { default as VBadge } from './VBadge';
+export { default as VBtn } from './VBtn';
+export { default as VBtnToggle } from './VBtnToggle';
+export { default as VChip } from './VChip';
+export { default as VContainer } from './VContainer';
+export { default as VContent } from './VContent';
+export { default as VDataTable } from './VDataTable';
+export { default as VDialog } from './VDialog';
+export { default as VDivider } from './VDivider';
+export { default as VFlex } from './VFlex';
+export { default as VIcon } from './VIcon';
+export { default as VImg } from './VImg';
+export { default as VLayout } from './VLayout';
+export { default as VMenu } from './VMenu';
+export { default as VNavigationDrawer } from './VNavigationDrawer';
+export { default as VResponsive } from './VResponsive';
+export { default as VSpacer } from './VSpacer';
+export { default as VSpeedDial } from './VSpeedDial';
+export { default as VSubheader } from './VSubheader';
+export { default as VTooltip } from './VTooltip';
diff --git a/src/VCheckbox.tsx b/src/components/inputs/VCheckbox.tsx
similarity index 95%
rename from src/VCheckbox.tsx
rename to src/components/inputs/VCheckbox.tsx
index 000c0c3..8db6eea 100644
--- a/src/VCheckbox.tsx
+++ b/src/components/inputs/VCheckbox.tsx
@@ -1,6 +1,3 @@
-import { ofType } from 'vue-tsx-support';
-import { VCheckbox } from 'vuetify/lib';
-
import {
Disableable,
Inputable,
@@ -8,7 +5,9 @@ import {
Selectable,
Themable,
Validatable,
-} from './types';
+} from '@/shared/types';
+import { ofType } from 'vue-tsx-support';
+import { VCheckbox } from 'vuetify/lib';
export default ofType().convert(VCheckbox as any);
diff --git a/src/VCombobox.tsx b/src/components/inputs/VCombobox.tsx
similarity index 98%
rename from src/VCombobox.tsx
rename to src/components/inputs/VCombobox.tsx
index 1633ac4..ed96b67 100644
--- a/src/VCombobox.tsx
+++ b/src/components/inputs/VCombobox.tsx
@@ -1,6 +1,3 @@
-import { ofType } from 'vue-tsx-support';
-import { VCombobox } from 'vuetify/lib';
-
import {
Colorable,
CommonEvents,
@@ -11,7 +8,9 @@ import {
Selectable,
Themable,
Validatable,
-} from './types';
+} from '@/shared/types';
+import { ofType } from 'vue-tsx-support';
+import { VCombobox } from 'vuetify/lib';
export default ofType().convert(VCombobox as any);
diff --git a/src/VRadio.tsx b/src/components/inputs/VRadio.tsx
similarity index 100%
rename from src/VRadio.tsx
rename to src/components/inputs/VRadio.tsx
diff --git a/src/VRadioGroup.tsx b/src/components/inputs/VRadioGroup.tsx
similarity index 100%
rename from src/VRadioGroup.tsx
rename to src/components/inputs/VRadioGroup.tsx
diff --git a/src/VSelect.tsx b/src/components/inputs/VSelect.tsx
similarity index 100%
rename from src/VSelect.tsx
rename to src/components/inputs/VSelect.tsx
diff --git a/src/VTextField.tsx b/src/components/inputs/VTextField.tsx
similarity index 97%
rename from src/VTextField.tsx
rename to src/components/inputs/VTextField.tsx
index cc6eacf..f634b5f 100644
--- a/src/VTextField.tsx
+++ b/src/components/inputs/VTextField.tsx
@@ -1,6 +1,3 @@
-import { ofType } from 'vue-tsx-support';
-import { VTextField } from 'vuetify/lib';
-
import {
Colorable,
CommonEvents,
@@ -10,7 +7,9 @@ import {
Measurable,
Themable,
Validatable,
-} from './types';
+} from '@/shared/types';
+import { ofType } from 'vue-tsx-support';
+import { VTextField } from 'vuetify/lib';
export default ofType().convert(VTextField as any);
diff --git a/src/VTextarea.tsx b/src/components/inputs/VTextarea.tsx
similarity index 98%
rename from src/VTextarea.tsx
rename to src/components/inputs/VTextarea.tsx
index e31aa63..b445bc1 100644
--- a/src/VTextarea.tsx
+++ b/src/components/inputs/VTextarea.tsx
@@ -1,6 +1,3 @@
-import { ofType } from 'vue-tsx-support';
-import { VTextarea } from 'vuetify/lib';
-
import {
Colorable,
CommonEvents,
@@ -9,7 +6,9 @@ import {
Measurable,
Themable,
Validatable,
-} from './types';
+} from '@/shared/types';
+import { ofType } from 'vue-tsx-support';
+import { VTextarea } from 'vuetify/lib';
export default ofType().convert(VTextarea as any);
diff --git a/src/VList.tsx b/src/components/lists/VList.tsx
similarity index 54%
rename from src/VList.tsx
rename to src/components/lists/VList.tsx
index ff07605..98525d6 100644
--- a/src/VList.tsx
+++ b/src/components/lists/VList.tsx
@@ -1,9 +1,8 @@
-import * as tsx from 'vue-tsx-support';
+import { Colorable, Denseable, Themable } from '@/shared/types';
+import { ofType } from 'vue-tsx-support';
import { VList } from 'vuetify/lib';
-import { Colorable, Denseable, Themable } from './types';
-
-export default tsx.ofType().convert(VList as any);
+export default ofType().convert(VList as any);
type Props = Colorable &
Denseable &
diff --git a/src/VListGroup.tsx b/src/components/lists/VListGroup.tsx
similarity index 70%
rename from src/VListGroup.tsx
rename to src/components/lists/VListGroup.tsx
index 32eacc9..d305931 100644
--- a/src/VListGroup.tsx
+++ b/src/components/lists/VListGroup.tsx
@@ -1,7 +1,7 @@
-import * as tsx from 'vue-tsx-support';
+import { ofType } from 'vue-tsx-support';
import { VListGroup } from 'vuetify/lib';
-export default tsx.ofType().convert(VListGroup as any);
+export default ofType().convert(VListGroup as any);
type Props = {
activeClass?: string;
diff --git a/src/VListTile.tsx b/src/components/lists/VListTile.tsx
similarity index 53%
rename from src/VListTile.tsx
rename to src/components/lists/VListTile.tsx
index cd205e0..d480359 100644
--- a/src/VListTile.tsx
+++ b/src/components/lists/VListTile.tsx
@@ -1,9 +1,8 @@
-import * as tsx from 'vue-tsx-support';
+import { Colorable, Disableable, Routable, Themable } from '@/shared/types';
+import { ofType } from 'vue-tsx-support';
import { VListTile } from 'vuetify/lib';
-import { Colorable, Disableable, Routable, Themable } from './types';
-
-export default tsx.ofType().convert(VListTile as any);
+export default ofType().convert(VListTile as any);
type Props = Colorable &
Disableable &
diff --git a/src/components/lists/VListTileAction.tsx b/src/components/lists/VListTileAction.tsx
new file mode 100644
index 0000000..6f3c75a
--- /dev/null
+++ b/src/components/lists/VListTileAction.tsx
@@ -0,0 +1,4 @@
+import { ofType } from 'vue-tsx-support';
+import { VListTileAction } from 'vuetify/lib';
+
+export default ofType().convert(VListTileAction as any);
diff --git a/src/VListTileAvatar.tsx b/src/components/lists/VListTileAvatar.tsx
similarity index 100%
rename from src/VListTileAvatar.tsx
rename to src/components/lists/VListTileAvatar.tsx
diff --git a/src/VListTileContent.tsx b/src/components/lists/VListTileContent.tsx
similarity index 100%
rename from src/VListTileContent.tsx
rename to src/components/lists/VListTileContent.tsx
diff --git a/src/VListTileSubTitle.tsx b/src/components/lists/VListTileSubTitle.tsx
similarity index 100%
rename from src/VListTileSubTitle.tsx
rename to src/components/lists/VListTileSubTitle.tsx
diff --git a/src/VListTileTitle.tsx b/src/components/lists/VListTileTitle.tsx
similarity index 100%
rename from src/VListTileTitle.tsx
rename to src/components/lists/VListTileTitle.tsx
diff --git a/src/VProgressCircular.tsx b/src/components/progress/VProgressCircular.tsx
similarity index 85%
rename from src/VProgressCircular.tsx
rename to src/components/progress/VProgressCircular.tsx
index 1b07c2e..8e739d5 100644
--- a/src/VProgressCircular.tsx
+++ b/src/components/progress/VProgressCircular.tsx
@@ -1,8 +1,7 @@
+import { Colorable, Themable } from '@/shared/types';
import { ofType } from 'vue-tsx-support';
import { VProgressCircular } from 'vuetify/lib';
-import { Colorable, Themable } from './types';
-
export default ofType().convert(VProgressCircular as any);
type Props = Colorable &
diff --git a/src/VProgressLinear.tsx b/src/components/progress/VProgressLinear.tsx
similarity index 88%
rename from src/VProgressLinear.tsx
rename to src/components/progress/VProgressLinear.tsx
index 3d52fe6..8c9167e 100644
--- a/src/VProgressLinear.tsx
+++ b/src/components/progress/VProgressLinear.tsx
@@ -1,8 +1,7 @@
+import { Colorable, Themable } from '@/shared/types';
import { ofType } from 'vue-tsx-support';
import { VProgressLinear } from 'vuetify/lib';
-import { Colorable, Themable } from './types';
-
export default ofType().convert(VProgressLinear as any);
type Props = Colorable &
diff --git a/src/VTab.tsx b/src/components/tabs/VTab.tsx
similarity index 87%
rename from src/VTab.tsx
rename to src/components/tabs/VTab.tsx
index a395f2b..e6b059b 100644
--- a/src/VTab.tsx
+++ b/src/components/tabs/VTab.tsx
@@ -1,9 +1,8 @@
+import { Colorable } from '@/shared/types';
import { ofType } from 'vue-tsx-support';
import { RouterLinkProps } from 'vue-tsx-support/options/enable-vue-router';
import { VTab } from 'vuetify/lib';
-import { Colorable } from './types';
-
export default ofType().convert(VTab as any);
type Props = Colorable & Partial & { activeClass?: string };
diff --git a/src/VTabItem.tsx b/src/components/tabs/VTabItem.tsx
similarity index 100%
rename from src/VTabItem.tsx
rename to src/components/tabs/VTabItem.tsx
diff --git a/src/VTabs.tsx b/src/components/tabs/VTabs.tsx
similarity index 89%
rename from src/VTabs.tsx
rename to src/components/tabs/VTabs.tsx
index 2e69802..33d6ba0 100644
--- a/src/VTabs.tsx
+++ b/src/components/tabs/VTabs.tsx
@@ -1,8 +1,7 @@
+import { Colorable, Routable, Themable } from '@/shared/types';
import { ofType } from 'vue-tsx-support';
import { VTabs } from 'vuetify/lib';
-import { Colorable, Themable, Routable } from './types';
-
export default ofType().convert(VTabs as any);
type Props = Colorable &
diff --git a/src/VTabsItems.tsx b/src/components/tabs/VTabsItems.tsx
similarity index 100%
rename from src/VTabsItems.tsx
rename to src/components/tabs/VTabsItems.tsx
diff --git a/src/VTabsSlider.tsx b/src/components/tabs/VTabsSlider.tsx
similarity index 81%
rename from src/VTabsSlider.tsx
rename to src/components/tabs/VTabsSlider.tsx
index 5d91182..611c82f 100644
--- a/src/VTabsSlider.tsx
+++ b/src/components/tabs/VTabsSlider.tsx
@@ -1,8 +1,7 @@
+import { Colorable } from '@/shared/types';
import { ofType } from 'vue-tsx-support';
import { VTabsSlider } from 'vuetify/lib';
-import { Colorable } from './types';
-
export default ofType().convert(VTabsSlider as any);
type Props = Colorable;
diff --git a/src/components/timelines/VTimeline.tsx b/src/components/timelines/VTimeline.tsx
new file mode 100644
index 0000000..57f93a5
--- /dev/null
+++ b/src/components/timelines/VTimeline.tsx
@@ -0,0 +1,12 @@
+import { Denseable, Themable } from '@/shared/types';
+import { ofType } from 'vue-tsx-support';
+import { VTimeline } from 'vuetify/lib';
+
+export default ofType().convert(VTimeline as any);
+
+type Props = Denseable &
+ Themable & {
+ alignTop?: boolean;
+ };
+
+type Events = {};
diff --git a/src/VTimelineItem.tsx b/src/components/timelines/VTimelineItem.tsx
similarity index 63%
rename from src/VTimelineItem.tsx
rename to src/components/timelines/VTimelineItem.tsx
index 775f0c4..e89239b 100644
--- a/src/VTimelineItem.tsx
+++ b/src/components/timelines/VTimelineItem.tsx
@@ -1,9 +1,8 @@
-import * as tsx from 'vue-tsx-support';
+import { Colorable, Themable } from '@/shared/types';
+import { ofType } from 'vue-tsx-support';
import { VTimelineItem } from 'vuetify/lib';
-import { Colorable, Themable } from './types';
-
-export default tsx.ofType().convert(VTimelineItem as any);
+export default ofType().convert(VTimelineItem as any);
type Props = Colorable &
Themable & {
diff --git a/src/VToolbar.tsx b/src/components/toolbars/VToolbar.tsx
similarity index 77%
rename from src/VToolbar.tsx
rename to src/components/toolbars/VToolbar.tsx
index 73bf723..9530935 100644
--- a/src/VToolbar.tsx
+++ b/src/components/toolbars/VToolbar.tsx
@@ -1,9 +1,8 @@
-import * as tsx from 'vue-tsx-support';
+import { Colorable, Denseable, Themable } from '@/shared/types';
+import { ofType } from 'vue-tsx-support';
import { VToolbar } from 'vuetify/lib';
-import { Colorable, Denseable, Themable } from './types';
-
-export default tsx.ofType().convert(VToolbar as any);
+export default ofType().convert(VToolbar as any);
type Props = Colorable &
Denseable &
diff --git a/src/VToolbarItems.tsx b/src/components/toolbars/VToolbarItems.tsx
similarity index 100%
rename from src/VToolbarItems.tsx
rename to src/components/toolbars/VToolbarItems.tsx
diff --git a/src/VToolbarSideIcon.tsx b/src/components/toolbars/VToolbarSideIcon.tsx
similarity index 100%
rename from src/VToolbarSideIcon.tsx
rename to src/components/toolbars/VToolbarSideIcon.tsx
diff --git a/src/VToolbarTitle.tsx b/src/components/toolbars/VToolbarTitle.tsx
similarity index 100%
rename from src/VToolbarTitle.tsx
rename to src/components/toolbars/VToolbarTitle.tsx
diff --git a/src/examples/SubTitle.tsx b/src/examples/SubTitle.tsx
new file mode 100644
index 0000000..35de4df
--- /dev/null
+++ b/src/examples/SubTitle.tsx
@@ -0,0 +1,9 @@
+import { component } from 'vue-tsx-support';
+
+const SubTitle = component({
+ render() {
+ return {this.$slots.default}
;
+ },
+});
+
+export default SubTitle;
diff --git a/src/examples/Title.tsx b/src/examples/Title.tsx
new file mode 100644
index 0000000..7440554
--- /dev/null
+++ b/src/examples/Title.tsx
@@ -0,0 +1,11 @@
+import { component } from 'vue-tsx-support';
+
+const Title = component({
+ render() {
+ return (
+ {this.$slots.default}
+ );
+ },
+});
+
+export default Title;
diff --git a/src/examples/alerts/AlertExample1.tsx b/src/examples/alerts/AlertExample1.tsx
new file mode 100644
index 0000000..5202915
--- /dev/null
+++ b/src/examples/alerts/AlertExample1.tsx
@@ -0,0 +1,19 @@
+import VAlert from '@/components/VAlert';
+import { component } from 'vue-tsx-support';
+import SubTitle from '../SubTitle';
+
+const AlertExample1 = component({
+ render() {
+ return (
+
+ Alert
+
+ Awesome!
+
+ Oh !@#$!
+
+ );
+ },
+});
+
+export default AlertExample1;
diff --git a/src/examples/avatars/AvatarExample1.tsx b/src/examples/avatars/AvatarExample1.tsx
new file mode 100644
index 0000000..06570cd
--- /dev/null
+++ b/src/examples/avatars/AvatarExample1.tsx
@@ -0,0 +1,21 @@
+import VAvatar from '@/components/VAvatar';
+import { component } from 'vue-tsx-support';
+import SubTitle from '../SubTitle';
+
+const AvatarExample1 = component({
+ render() {
+ return (
+
+
Avatar
+
+
+
+
+
+
+
+ );
+ },
+});
+
+export default AvatarExample1;
diff --git a/src/examples/badges/BadgeExample1.tsx b/src/examples/badges/BadgeExample1.tsx
new file mode 100644
index 0000000..8fa3446
--- /dev/null
+++ b/src/examples/badges/BadgeExample1.tsx
@@ -0,0 +1,24 @@
+import VBadge from '@/components/VBadge';
+import VIcon from '@/components/VIcon';
+import { component } from 'vue-tsx-support';
+import SubTitle from '../SubTitle';
+
+const BadgeExample1 = component({
+ render() {
+ return (
+
+ Badge
+
+ 6
+ shopping_cart
+
+
+ 99
+ mail
+
+
+ );
+ },
+});
+
+export default BadgeExample1;
diff --git a/src/examples/breadcrumbs/BreadcrumbExample1.tsx b/src/examples/breadcrumbs/BreadcrumbExample1.tsx
new file mode 100644
index 0000000..d86ce01
--- /dev/null
+++ b/src/examples/breadcrumbs/BreadcrumbExample1.tsx
@@ -0,0 +1,50 @@
+import VBreadcrumbs from '@/components/breadcrumbs/VBreadcrumbs';
+import { component } from 'vue-tsx-support';
+import SubTitle from '../SubTitle';
+
+const BreadcrumbExample1 = component({
+ data: () => ({
+ breadcrumbs: [
+ {
+ text: 'Dashboard',
+ disabled: false,
+ href: 'breadcrumbs_dashboard',
+ },
+ {
+ text: 'Link 1',
+ disabled: false,
+ href: 'breadcrumbs_link_1',
+ },
+ {
+ text: 'Link 2',
+ disabled: true,
+ href: 'breadcrumbs_link_2',
+ },
+ ],
+ }),
+ render() {
+ return (
+
+
Breadcrumbs
+
+
[
+ {props.item.text},
+ ],
+ }}
+ />
+ {/** @deprecated 'default slot' is deprecated, use ':items and scoped slot "item"' instead */}
+ {/*
+ WTF
+ WTF 2
+ WTF 3
+ */}
+
+ );
+ },
+});
+
+export default BreadcrumbExample1;
diff --git a/src/examples/buttons/ButtonExample1.tsx b/src/examples/buttons/ButtonExample1.tsx
new file mode 100644
index 0000000..9c286cb
--- /dev/null
+++ b/src/examples/buttons/ButtonExample1.tsx
@@ -0,0 +1,19 @@
+import VBtn from '@/components/VBtn';
+import { component } from 'vue-tsx-support';
+import SubTitle from '../SubTitle';
+
+const ButtonExample1 = component({
+ render() {
+ return (
+
+ Button
+ Click Me!
+ Click Me!
+ Click Me!
+ Click Me!
+
+ );
+ },
+});
+
+export default ButtonExample1;
diff --git a/src/examples/buttons/ButtonToggleExample1.tsx b/src/examples/buttons/ButtonToggleExample1.tsx
new file mode 100644
index 0000000..9aa7b3d
--- /dev/null
+++ b/src/examples/buttons/ButtonToggleExample1.tsx
@@ -0,0 +1,28 @@
+import VBtn from '@/components/VBtn';
+import VBtnToggle from '@/components/VBtnToggle';
+import VIcon from '@/components/VIcon';
+import { component } from 'vue-tsx-support';
+import SubTitle from '../SubTitle';
+
+const ButtonToggleExample1 = component({
+ render() {
+ return (
+
+ Button Toggle
+
+
+ format_align_left
+
+
+ format_align_center
+
+
+ format_align_right
+
+
+
+ );
+ },
+});
+
+export default ButtonToggleExample1;
diff --git a/src/examples/cards/CardExample1.tsx b/src/examples/cards/CardExample1.tsx
new file mode 100644
index 0000000..f87e94d
--- /dev/null
+++ b/src/examples/cards/CardExample1.tsx
@@ -0,0 +1,41 @@
+import { VBtn, VCard, VCardActions, VCardTitle, VImg } from '@/components';
+import { component } from 'vue-tsx-support';
+import SubTitle from '../SubTitle';
+
+const CardExample1 = component({
+ data: () => ({
+ cardText:
+ 'Lorem ipsum dolor sit amet, brute iriure accusata ne mea. Eos suavitate referrentur ad, te duo agam libris qualisque, utroque quaestio accommodare no qui. Et percipit laboramus usu, no invidunt verterem nominati mel. Dolorem ancillae an mei, ut putant invenire splendide mel, ea nec propriae adipisci. Ignota salutandi accusamus in sed, et per malis fuisset, qui id ludus appareat.',
+ }),
+ render() {
+ return (
+
+
Card
+
+
+
+
+
+
Kangaroo Valley Safari
+
{this.cardText}
+
+
+
+
+
+ Share
+
+
+ Explore
+
+
+
+
+ );
+ },
+});
+
+export default CardExample1;
diff --git a/src/index.ts b/src/index.ts
index 91f52eb..07635cb 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -1,60 +1 @@
-export { default as VAlert } from './VAlert';
-export { default as VApp } from './VApp';
-export { default as VAvatar } from './VAvatar';
-export { default as VBadge } from './VBadge';
-export { default as VBreadcrumbs } from './VBreadcrumbs';
-export { default as VBreadcrumbsItem } from './VBreadcrumbsItem';
-export { default as VBtn } from './VBtn';
-export { default as VBtnToggle } from './VBtnToggle';
-export { default as VCard } from './VCard';
-export { default as VCardActions } from './VCardActions';
-export { default as VCardMedia } from './VCardMedia';
-export { default as VCardText } from './VCardText';
-export { default as VCardTitle } from './VCardTitle';
-export { default as VCarousel } from './VCarousel';
-export { default as VCarouselItem } from './VCarouselItem';
-export { default as VCheckbox } from './VCheckbox';
-export { default as VChip } from './VChip';
-export { default as VCombobox } from './VCombobox';
-export { default as VContainer } from './VContainer';
-export { default as VContent } from './VContent';
-export { default as VDataTable } from './VDataTable';
-export { default as VDialog } from './VDialog';
-export { default as VDivider } from './VDivider';
-export { default as VFlex } from './VFlex';
-export { default as VIcon } from './VIcon';
-export { default as VImg } from './VImg';
-export { default as VLayout } from './VLayout';
-export { default as VList } from './VList';
-export { default as VListGroup } from './VListGroup';
-export { default as VListTile } from './VListTile';
-export { default as VListTileAction } from './VListTileAction';
-export { default as VListTileAvatar } from './VListTileAvatar';
-export { default as VListTileContent } from './VListTileContent';
-export { default as VListTileSubTitle } from './VListTileSubTitle';
-export { default as VListTileTitle } from './VListTileTitle';
-export { default as VMenu } from './VMenu';
-export { default as VNavigationDrawer } from './VNavigationDrawer';
-export { default as VProgressCircular } from './VProgressCircular';
-export { default as VProgressLinear } from './VProgressLinear';
-export { default as VRadio } from './VRadio';
-export { default as VRadioGroup } from './VRadioGroup';
-export { default as VResponsive } from './VResponsive';
-export { default as VSelect } from './VSelect';
-export { default as VSpacer } from './VSpacer';
-export { default as VSpeedDial } from './VSpeedDial';
-export { default as VSubheader } from './VSubheader';
-export { default as VTab } from './VTab';
-export { default as VTabItem } from './VTabItem';
-export { default as VTabs } from './VTabs';
-export { default as VTabsItems } from './VTabsItems';
-export { default as VTabsSlider } from './VTabsSlider';
-export { default as VTextarea } from './VTextarea';
-export { default as VTextField } from './VTextField';
-export { default as VTimeline } from './VTimeline';
-export { default as VTimelineItem } from './VTimelineItem';
-export { default as VToolbar } from './VToolbar';
-export { default as VToolbarItems } from './VToolbarItems';
-export { default as VToolbarSideIcon } from './VToolbarSideIcon';
-export { default as VToolbarTitle } from './VToolbarTitle';
-export { default as VTooltip } from './VTooltip';
+export * from './components';
diff --git a/src/types.ts b/src/shared/types.ts
similarity index 100%
rename from src/types.ts
rename to src/shared/types.ts