From 6e8d730db0debe6c94cebd0e548327b2dd594b65 Mon Sep 17 00:00:00 2001 From: Tom Smith Date: Mon, 28 Nov 2022 23:29:44 +0000 Subject: [PATCH 1/7] vue 3 migration --- apps/docs/README.md | 2 +- apps/docs/package.json | 4 +- apps/docs/src/App.vue | 25 +- apps/docs/src/components/Demo.vue | 21 +- apps/docs/src/components/TheNavBar.vue | 128 ++--- apps/docs/src/pages/Icons/Icons.vue | 314 +++++------ .../pages/Icons/examples/bootstrapExample.vue | 6 +- .../src/pages/Icons/examples/forgeExample.vue | 6 +- .../multiselect-preview/examples/Example.vue | 12 +- .../multiselect-preview/examples/Example2.vue | 25 +- .../multiselect-preview/examples/Example3.vue | 25 +- .../multiselect-preview/examples/Example4.vue | 12 +- .../multiselect-preview/examples/Example5.vue | 10 +- .../pages/getting-started/Installation.vue | 6 +- apps/docs/src/pages/getting-started/README.md | 2 +- apps/docs/types/routes.d.ts | 8 +- package-lock.json | 488 +++++++++++++++--- packages/ui/README.md | 4 +- packages/ui/mixins.d.ts | 14 +- packages/ui/package.json | 6 +- .../forms/date-picker/DatePicker.vue | 36 +- .../forms/file-upload/components/FileInfo.vue | 105 ++-- .../components/forms/form-field/FormField.vue | 32 +- .../ui/src/components/forms/form/Form.vue | 18 +- .../forms/inline-editor/InlineEditor.vue | 18 +- .../MultiSelectPreview.vue | 36 +- .../forms/multiselect/MultiSelect.vue | 97 ++-- .../ui/src/components/general/chart/Chart.vue | 14 +- .../src/components/general/loader/Loader.vue | 10 +- .../general/stat-widget/StatWidget.vue | 16 +- .../src/components/layout/stepper/Stepper.vue | 32 +- .../tables/filter-header/FilterHeader.vue | 42 +- .../tables/pagination/PaginationFooter.vue | 14 +- .../tables/pagination/PaginationHeader.vue | 14 +- .../ui/src/components/tables/table/Table.vue | 58 +-- .../tables/table/components/TableExporter.vue | 30 +- packages/ui/src/directives/index.test.ts | 51 +- packages/ui/src/helpers/validation.ts | 19 - packages/ui/tsconfig.json | 4 +- packages/ui/vite.config.ts | 16 +- 40 files changed, 1043 insertions(+), 737 deletions(-) diff --git a/apps/docs/README.md b/apps/docs/README.md index efd21b3c..8b471cbc 100644 --- a/apps/docs/README.md +++ b/apps/docs/README.md @@ -127,7 +127,7 @@ An example might look like this: import Vue from 'vue'; import { ForgeInlineEditor } from '@3squared/forge-ui'; -export default Vue.extend({ +export default defineComponent({ components: { ForgeInlineEditor }, data() { return { diff --git a/apps/docs/package.json b/apps/docs/package.json index d69dce23..a6c9531a 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -13,8 +13,8 @@ "lint": "eslint src/**/*.{ts,vue} --fix" }, "dependencies": { - "@3squared/forge-playground": "1.1.3", - "@3squared/forge-ui": "*", + "@3squared/forge-playground": "^2.0.0-beta.0", + "@3squared/forge-ui": "1.3.0-beta.0", "bootstrap-vue": "2.22.0", "prismjs": "1.28.0", "register-service-worker": "1.7.2", diff --git a/apps/docs/src/App.vue b/apps/docs/src/App.vue index 2ff68670..19d7909c 100644 --- a/apps/docs/src/App.vue +++ b/apps/docs/src/App.vue @@ -3,19 +3,19 @@
- +
\ No newline at end of file + diff --git a/apps/docs/src/components/Demo.vue b/apps/docs/src/components/Demo.vue index 9ddff563..7f750ed2 100644 --- a/apps/docs/src/components/Demo.vue +++ b/apps/docs/src/components/Demo.vue @@ -4,9 +4,7 @@
- - View Code - + View Code Copy @@ -19,12 +17,12 @@ \ No newline at end of file +.icon-size { + font-size: 16px; + padding: 5px; +} + +.isHovered { + background: #eee; + cursor: pointer; +} + +.iconHoverSize { + transform: scale(175%, 175%); +} + diff --git a/apps/docs/src/pages/Icons/examples/bootstrapExample.vue b/apps/docs/src/pages/Icons/examples/bootstrapExample.vue index 09e56055..70d9da32 100644 --- a/apps/docs/src/pages/Icons/examples/bootstrapExample.vue +++ b/apps/docs/src/pages/Icons/examples/bootstrapExample.vue @@ -5,7 +5,7 @@ \ No newline at end of file + diff --git a/apps/docs/src/pages/Icons/examples/forgeExample.vue b/apps/docs/src/pages/Icons/examples/forgeExample.vue index 27e879f9..3da4fbfb 100644 --- a/apps/docs/src/pages/Icons/examples/forgeExample.vue +++ b/apps/docs/src/pages/Icons/examples/forgeExample.vue @@ -5,7 +5,7 @@ \ No newline at end of file + diff --git a/apps/docs/src/pages/forms/multiselect-preview/examples/Example.vue b/apps/docs/src/pages/forms/multiselect-preview/examples/Example.vue index c169c3b3..f3681935 100644 --- a/apps/docs/src/pages/forms/multiselect-preview/examples/Example.vue +++ b/apps/docs/src/pages/forms/multiselect-preview/examples/Example.vue @@ -5,17 +5,17 @@ \ No newline at end of file +}); + diff --git a/apps/docs/src/pages/forms/multiselect-preview/examples/Example2.vue b/apps/docs/src/pages/forms/multiselect-preview/examples/Example2.vue index ed7b046f..8635f8f3 100644 --- a/apps/docs/src/pages/forms/multiselect-preview/examples/Example2.vue +++ b/apps/docs/src/pages/forms/multiselect-preview/examples/Example2.vue @@ -1,26 +1,21 @@ \ No newline at end of file +}); + diff --git a/apps/docs/src/pages/forms/multiselect-preview/examples/Example3.vue b/apps/docs/src/pages/forms/multiselect-preview/examples/Example3.vue index 52173a70..03a3c551 100644 --- a/apps/docs/src/pages/forms/multiselect-preview/examples/Example3.vue +++ b/apps/docs/src/pages/forms/multiselect-preview/examples/Example3.vue @@ -1,26 +1,21 @@ \ No newline at end of file +}); + diff --git a/apps/docs/src/pages/forms/multiselect-preview/examples/Example4.vue b/apps/docs/src/pages/forms/multiselect-preview/examples/Example4.vue index a031c956..9234a550 100644 --- a/apps/docs/src/pages/forms/multiselect-preview/examples/Example4.vue +++ b/apps/docs/src/pages/forms/multiselect-preview/examples/Example4.vue @@ -5,17 +5,17 @@ \ No newline at end of file +}); + diff --git a/apps/docs/src/pages/forms/multiselect-preview/examples/Example5.vue b/apps/docs/src/pages/forms/multiselect-preview/examples/Example5.vue index c30de17d..046ec92d 100644 --- a/apps/docs/src/pages/forms/multiselect-preview/examples/Example5.vue +++ b/apps/docs/src/pages/forms/multiselect-preview/examples/Example5.vue @@ -9,11 +9,11 @@ \ No newline at end of file +}); + diff --git a/apps/docs/src/pages/getting-started/Installation.vue b/apps/docs/src/pages/getting-started/Installation.vue index 839e65fe..b640d160 100644 --- a/apps/docs/src/pages/getting-started/Installation.vue +++ b/apps/docs/src/pages/getting-started/Installation.vue @@ -3,11 +3,11 @@ diff --git a/apps/docs/src/pages/getting-started/README.md b/apps/docs/src/pages/getting-started/README.md index 2b082ea0..29a4d4cf 100644 --- a/apps/docs/src/pages/getting-started/README.md +++ b/apps/docs/src/pages/getting-started/README.md @@ -30,7 +30,7 @@ import Vue from 'vue'; import { Forge } from '@3squared/forge-ui'; import { BButton } from 'bootstrap-vue'; -export default Vue.extend({ +export default defineComponent({ components: { ForgePageHeader, BButton } }); diff --git a/apps/docs/types/routes.d.ts b/apps/docs/types/routes.d.ts index d5799137..93fc4069 100644 --- a/apps/docs/types/routes.d.ts +++ b/apps/docs/types/routes.d.ts @@ -1,7 +1,7 @@ -declare module 'pages-generated' { +declare module "pages-generated" { import { RouteConfig } from "vue-router"; - const routes: RouteConfig[] - export default routes + const routes: RouteConfig[]; + export default routes; } - +declare module "@3squared/forge-playground"; diff --git a/package-lock.json b/package-lock.json index 028e0e5e..f38951ee 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,8 +20,8 @@ "name": "forge-ui-styleguide", "version": "1.0.0", "dependencies": { - "@3squared/forge-playground": "1.1.3", - "@3squared/forge-ui": "*", + "@3squared/forge-playground": "^2.0.0-beta.0", + "@3squared/forge-ui": "1.3.0-beta.0", "bootstrap-vue": "2.22.0", "prismjs": "1.28.0", "register-service-worker": "1.7.2", @@ -48,37 +48,128 @@ } }, "node_modules/@3squared/forge-playground": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@3squared/forge-playground/-/forge-playground-1.1.3.tgz", - "integrity": "sha512-CgGKctyfUlWnHuHvv9cwmuefiFiLgS9fXSr4LduBwPDA0DRm8GDLY6xyX7mzJLJT5ckVT/+vZGt7WCff8PhjbQ==", + "version": "2.0.0-beta.0", + "resolved": "https://registry.npmjs.org/@3squared/forge-playground/-/forge-playground-2.0.0-beta.0.tgz", + "integrity": "sha512-gVfTxrjWXhg1srMOVz/Yr0KjtA8DE1r1HEKjgWE5Kp3BGD1uKWtjFh/sXODPfrm4MUtTxGpOBy8AFXrbAnhgDg==", "dependencies": { - "@3squared/forge-ui": "^0.0.3", - "bootstrap-vue": "2.22.0", + "@vue/compat": "^3.2.45", + "bootstrap-vue": "2.23.1", "markdown-it-prism": "2.2.4", "prismjs": "1.28.0", - "vue": "^2.7.10" + "vue": "^3.2.45" } }, - "node_modules/@3squared/forge-playground/node_modules/@3squared/forge-ui": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@3squared/forge-ui/-/forge-ui-0.0.3.tgz", - "integrity": "sha512-8Tz/fn9cCrsD/1X2wO5y/ja0TYEIgMAsGFyQR1ixFPSnLpOOTiVLnbvGk0TrUkv61OZcM8nJTsKRbi96+r+WDg==", + "node_modules/@3squared/forge-playground/node_modules/@vue/compat": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/compat/-/compat-3.2.45.tgz", + "integrity": "sha512-TOGT42fEE1hA4Oz2PyCmURJkrXHbe6G+gI8gVOqsEy624oeexDHFrVsFTfzveaPxxqJHyE2+qjKaA1F4KX84aA==", "dependencies": { - "@azure/abort-controller": "^1.0.4", - "@azure/storage-blob": "^12.8.0", - "bootstrap": "4.6.1", - "bootstrap-vue": "^2.21.2", - "chart.js": "3.7.1", - "dayjs": "^1.10.4", - "flatpickr": "^4.6.9", - "lodash": "4.17.21", - "ts-simple-nameof": "^1.3.0", - "vee-validate": "3.4.14", - "vue-multiselect": "2.1.6", - "vuedraggable": "2.24.3" + "@babel/parser": "^7.16.4", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" }, - "engines": { - "node": ">=12" + "peerDependencies": { + "vue": "3.2.45" + } + }, + "node_modules/@3squared/forge-playground/node_modules/@vue/compiler-core": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.45.tgz", + "integrity": "sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "node_modules/@3squared/forge-playground/node_modules/@vue/compiler-dom": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.45.tgz", + "integrity": "sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==", + "dependencies": { + "@vue/compiler-core": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "node_modules/@3squared/forge-playground/node_modules/@vue/compiler-sfc": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.45.tgz", + "integrity": "sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.45", + "@vue/compiler-dom": "3.2.45", + "@vue/compiler-ssr": "3.2.45", + "@vue/reactivity-transform": "3.2.45", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "node_modules/@3squared/forge-playground/node_modules/@vue/compiler-ssr": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.45.tgz", + "integrity": "sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==", + "dependencies": { + "@vue/compiler-dom": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "node_modules/@3squared/forge-playground/node_modules/@vue/reactivity-transform": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.45.tgz", + "integrity": "sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==", + "dependencies": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.45", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "node_modules/@3squared/forge-playground/node_modules/@vue/server-renderer": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.45.tgz", + "integrity": "sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g==", + "dependencies": { + "@vue/compiler-ssr": "3.2.45", + "@vue/shared": "3.2.45" + }, + "peerDependencies": { + "vue": "3.2.45" + } + }, + "node_modules/@3squared/forge-playground/node_modules/@vue/shared": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.45.tgz", + "integrity": "sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==" + }, + "node_modules/@3squared/forge-playground/node_modules/bootstrap-vue": { + "version": "2.23.1", + "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.23.1.tgz", + "integrity": "sha512-SEWkG4LzmMuWjQdSYmAQk1G/oOKm37dtNfjB5kxq0YafnL2W6qUAmeDTcIZVbPiQd2OQlIkWOMPBRGySk/zGsg==", + "hasInstallScript": true, + "dependencies": { + "@nuxt/opencollective": "^0.3.2", + "bootstrap": "^4.6.1", + "popper.js": "^1.16.1", + "portal-vue": "^2.1.7", + "vue-functional-data-merge": "^3.1.0" + } + }, + "node_modules/@3squared/forge-playground/node_modules/vue": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.45.tgz", + "integrity": "sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA==", + "dependencies": { + "@vue/compiler-dom": "3.2.45", + "@vue/compiler-sfc": "3.2.45", + "@vue/runtime-dom": "3.2.45", + "@vue/server-renderer": "3.2.45", + "@vue/shared": "3.2.45" } }, "node_modules/@3squared/forge-ui": { @@ -3815,7 +3906,6 @@ "version": "3.2.45", "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.45.tgz", "integrity": "sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==", - "dev": true, "dependencies": { "@vue/shared": "3.2.45" } @@ -3836,8 +3926,41 @@ "node_modules/@vue/reactivity/node_modules/@vue/shared": { "version": "3.2.45", "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.45.tgz", - "integrity": "sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==", - "dev": true + "integrity": "sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==" + }, + "node_modules/@vue/runtime-core": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.45.tgz", + "integrity": "sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==", + "dependencies": { + "@vue/reactivity": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "node_modules/@vue/runtime-core/node_modules/@vue/shared": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.45.tgz", + "integrity": "sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==" + }, + "node_modules/@vue/runtime-dom": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.45.tgz", + "integrity": "sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA==", + "dependencies": { + "@vue/runtime-core": "3.2.45", + "@vue/shared": "3.2.45", + "csstype": "^2.6.8" + } + }, + "node_modules/@vue/runtime-dom/node_modules/@vue/shared": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.45.tgz", + "integrity": "sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==" + }, + "node_modules/@vue/runtime-dom/node_modules/csstype": { + "version": "2.6.21", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" }, "node_modules/@vue/shared": { "version": "3.2.33", @@ -5419,7 +5542,8 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", - "dev": true + "dev": true, + "peer": true }, "node_modules/debug": { "version": "4.3.4", @@ -6449,8 +6573,7 @@ "node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, "node_modules/esutils": { "version": "2.0.3", @@ -16574,7 +16697,6 @@ "version": "0.25.9", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dev": true, "dependencies": { "sourcemap-codec": "^1.4.8" } @@ -18385,8 +18507,7 @@ "node_modules/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 + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" }, "node_modules/spawn-wrap": { "version": "2.0.0", @@ -20010,6 +20131,7 @@ "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz", "integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==", "dev": true, + "peer": true, "dependencies": { "de-indent": "^1.0.2", "he": "^1.2.0" @@ -20803,9 +20925,10 @@ "devDependencies": { "@cypress/code-coverage": "^3.10.0", "@types/lodash": "^4.14.182", - "@vitejs/plugin-vue2": "^1.1.2", + "@vitejs/plugin-vue": "^3.2.0", "@vitest/ui": "^0.19.1", "@vue/babel-preset-jsx": "^1.2.4", + "@vue/compat": "^3.2.45", "@vue/test-utils": "1.3.3", "@zerollup/ts-transform-paths": "^1.7.18", "agadoo": "^2.0.0", @@ -20819,11 +20942,10 @@ "vite-plugin-dts": "^1.7.1", "vite-plugin-istanbul": "^2.9.0", "vitest": "^0.19.1", - "vue": "^2.7.10", + "vue": "^3.2.45", "vue-docgen-api": "4.44.23", "vue-docgen-cli": "4.44.29", "vue-docgen-web-types": "^0.1.7", - "vue-template-compiler": "^2.7.14", "vue-tsc": "^0.38.8" }, "engines": { @@ -20846,6 +20968,19 @@ "node": ">=12" } }, + "packages/ui/node_modules/@vitejs/plugin-vue": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-3.2.0.tgz", + "integrity": "sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==", + "dev": true, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^3.0.0", + "vue": "^3.2.25" + } + }, "packages/ui/node_modules/@volar/code-gen": { "version": "0.38.9", "resolved": "https://registry.npmjs.org/@volar/code-gen/-/code-gen-0.38.9.tgz", @@ -20874,6 +21009,20 @@ "@vue/reactivity": "^3.2.37" } }, + "packages/ui/node_modules/@vue/compat": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/compat/-/compat-3.2.45.tgz", + "integrity": "sha512-TOGT42fEE1hA4Oz2PyCmURJkrXHbe6G+gI8gVOqsEy624oeexDHFrVsFTfzveaPxxqJHyE2+qjKaA1F4KX84aA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.16.4", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + }, + "peerDependencies": { + "vue": "3.2.45" + } + }, "packages/ui/node_modules/@vue/compiler-core": { "version": "3.2.45", "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.45.tgz", @@ -20937,6 +21086,19 @@ "magic-string": "^0.25.7" } }, + "packages/ui/node_modules/@vue/server-renderer": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.45.tgz", + "integrity": "sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g==", + "dev": true, + "dependencies": { + "@vue/compiler-ssr": "3.2.45", + "@vue/shared": "3.2.45" + }, + "peerDependencies": { + "vue": "3.2.45" + } + }, "packages/ui/node_modules/@vue/shared": { "version": "3.2.45", "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.45.tgz", @@ -21362,6 +21524,19 @@ } } }, + "packages/ui/node_modules/vue": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.45.tgz", + "integrity": "sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA==", + "dev": true, + "dependencies": { + "@vue/compiler-dom": "3.2.45", + "@vue/compiler-sfc": "3.2.45", + "@vue/runtime-dom": "3.2.45", + "@vue/server-renderer": "3.2.45", + "@vue/shared": "3.2.45" + } + }, "packages/ui/node_modules/vue-tsc": { "version": "0.38.9", "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-0.38.9.tgz", @@ -21380,34 +21555,121 @@ }, "dependencies": { "@3squared/forge-playground": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@3squared/forge-playground/-/forge-playground-1.1.3.tgz", - "integrity": "sha512-CgGKctyfUlWnHuHvv9cwmuefiFiLgS9fXSr4LduBwPDA0DRm8GDLY6xyX7mzJLJT5ckVT/+vZGt7WCff8PhjbQ==", + "version": "2.0.0-beta.0", + "resolved": "https://registry.npmjs.org/@3squared/forge-playground/-/forge-playground-2.0.0-beta.0.tgz", + "integrity": "sha512-gVfTxrjWXhg1srMOVz/Yr0KjtA8DE1r1HEKjgWE5Kp3BGD1uKWtjFh/sXODPfrm4MUtTxGpOBy8AFXrbAnhgDg==", "requires": { - "@3squared/forge-ui": "^0.0.3", - "bootstrap-vue": "2.22.0", + "@vue/compat": "^3.2.45", + "bootstrap-vue": "2.23.1", "markdown-it-prism": "2.2.4", "prismjs": "1.28.0", - "vue": "^2.7.10" + "vue": "^3.2.45" }, "dependencies": { - "@3squared/forge-ui": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@3squared/forge-ui/-/forge-ui-0.0.3.tgz", - "integrity": "sha512-8Tz/fn9cCrsD/1X2wO5y/ja0TYEIgMAsGFyQR1ixFPSnLpOOTiVLnbvGk0TrUkv61OZcM8nJTsKRbi96+r+WDg==", - "requires": { - "@azure/abort-controller": "^1.0.4", - "@azure/storage-blob": "^12.8.0", - "bootstrap": "4.6.1", - "bootstrap-vue": "^2.21.2", - "chart.js": "3.7.1", - "dayjs": "^1.10.4", - "flatpickr": "^4.6.9", - "lodash": "4.17.21", - "ts-simple-nameof": "^1.3.0", - "vee-validate": "3.4.14", - "vue-multiselect": "2.1.6", - "vuedraggable": "2.24.3" + "@vue/compat": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/compat/-/compat-3.2.45.tgz", + "integrity": "sha512-TOGT42fEE1hA4Oz2PyCmURJkrXHbe6G+gI8gVOqsEy624oeexDHFrVsFTfzveaPxxqJHyE2+qjKaA1F4KX84aA==", + "requires": { + "@babel/parser": "^7.16.4", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-core": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.45.tgz", + "integrity": "sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-dom": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.45.tgz", + "integrity": "sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==", + "requires": { + "@vue/compiler-core": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "@vue/compiler-sfc": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.2.45.tgz", + "integrity": "sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.45", + "@vue/compiler-dom": "3.2.45", + "@vue/compiler-ssr": "3.2.45", + "@vue/reactivity-transform": "3.2.45", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7", + "postcss": "^8.1.10", + "source-map": "^0.6.1" + } + }, + "@vue/compiler-ssr": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.2.45.tgz", + "integrity": "sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==", + "requires": { + "@vue/compiler-dom": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "@vue/reactivity-transform": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.2.45.tgz", + "integrity": "sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==", + "requires": { + "@babel/parser": "^7.16.4", + "@vue/compiler-core": "3.2.45", + "@vue/shared": "3.2.45", + "estree-walker": "^2.0.2", + "magic-string": "^0.25.7" + } + }, + "@vue/server-renderer": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.45.tgz", + "integrity": "sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g==", + "requires": { + "@vue/compiler-ssr": "3.2.45", + "@vue/shared": "3.2.45" + } + }, + "@vue/shared": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.45.tgz", + "integrity": "sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==" + }, + "bootstrap-vue": { + "version": "2.23.1", + "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.23.1.tgz", + "integrity": "sha512-SEWkG4LzmMuWjQdSYmAQk1G/oOKm37dtNfjB5kxq0YafnL2W6qUAmeDTcIZVbPiQd2OQlIkWOMPBRGySk/zGsg==", + "requires": { + "@nuxt/opencollective": "^0.3.2", + "bootstrap": "^4.6.1", + "popper.js": "^1.16.1", + "portal-vue": "^2.1.7", + "vue-functional-data-merge": "^3.1.0" + } + }, + "vue": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.45.tgz", + "integrity": "sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA==", + "requires": { + "@vue/compiler-dom": "3.2.45", + "@vue/compiler-sfc": "3.2.45", + "@vue/runtime-dom": "3.2.45", + "@vue/server-renderer": "3.2.45", + "@vue/shared": "3.2.45" } } } @@ -21419,9 +21681,10 @@ "@azure/storage-blob": "^12.8.0", "@cypress/code-coverage": "^3.10.0", "@types/lodash": "^4.14.182", - "@vitejs/plugin-vue2": "^1.1.2", + "@vitejs/plugin-vue": "^3.2.0", "@vitest/ui": "^0.19.1", "@vue/babel-preset-jsx": "^1.2.4", + "@vue/compat": "^3.2.45", "@vue/test-utils": "1.3.3", "@zerollup/ts-transform-paths": "^1.7.18", "agadoo": "^2.0.0", @@ -21443,12 +21706,11 @@ "vite-plugin-dts": "^1.7.1", "vite-plugin-istanbul": "^2.9.0", "vitest": "^0.19.1", - "vue": "^2.7.10", + "vue": "^3.2.45", "vue-docgen-api": "4.44.23", "vue-docgen-cli": "4.44.29", "vue-docgen-web-types": "^0.1.7", "vue-multiselect": "2.1.6", - "vue-template-compiler": "^2.7.14", "vue-tsc": "^0.38.8", "vuedraggable": "2.24.3" }, @@ -21460,6 +21722,13 @@ "dev": true, "optional": true }, + "@vitejs/plugin-vue": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-3.2.0.tgz", + "integrity": "sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==", + "dev": true, + "requires": {} + }, "@volar/code-gen": { "version": "0.38.9", "resolved": "https://registry.npmjs.org/@volar/code-gen/-/code-gen-0.38.9.tgz", @@ -21488,6 +21757,17 @@ "@vue/reactivity": "^3.2.37" } }, + "@vue/compat": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/compat/-/compat-3.2.45.tgz", + "integrity": "sha512-TOGT42fEE1hA4Oz2PyCmURJkrXHbe6G+gI8gVOqsEy624oeexDHFrVsFTfzveaPxxqJHyE2+qjKaA1F4KX84aA==", + "dev": true, + "requires": { + "@babel/parser": "^7.16.4", + "estree-walker": "^2.0.2", + "source-map": "^0.6.1" + } + }, "@vue/compiler-core": { "version": "3.2.45", "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.45.tgz", @@ -21551,6 +21831,16 @@ "magic-string": "^0.25.7" } }, + "@vue/server-renderer": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.2.45.tgz", + "integrity": "sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g==", + "dev": true, + "requires": { + "@vue/compiler-ssr": "3.2.45", + "@vue/shared": "3.2.45" + } + }, "@vue/shared": { "version": "3.2.45", "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.45.tgz", @@ -21752,6 +22042,19 @@ "rollup": "^2.79.1" } }, + "vue": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.2.45.tgz", + "integrity": "sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA==", + "dev": true, + "requires": { + "@vue/compiler-dom": "3.2.45", + "@vue/compiler-sfc": "3.2.45", + "@vue/runtime-dom": "3.2.45", + "@vue/server-renderer": "3.2.45", + "@vue/shared": "3.2.45" + } + }, "vue-tsc": { "version": "0.38.9", "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-0.38.9.tgz", @@ -24616,7 +24919,6 @@ "version": "3.2.45", "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.2.45.tgz", "integrity": "sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==", - "dev": true, "requires": { "@vue/shared": "3.2.45" }, @@ -24624,8 +24926,7 @@ "@vue/shared": { "version": "3.2.45", "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.45.tgz", - "integrity": "sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==", - "dev": true + "integrity": "sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==" } } }, @@ -24642,6 +24943,44 @@ "magic-string": "^0.25.7" } }, + "@vue/runtime-core": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.2.45.tgz", + "integrity": "sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==", + "requires": { + "@vue/reactivity": "3.2.45", + "@vue/shared": "3.2.45" + }, + "dependencies": { + "@vue/shared": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.45.tgz", + "integrity": "sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==" + } + } + }, + "@vue/runtime-dom": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.2.45.tgz", + "integrity": "sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA==", + "requires": { + "@vue/runtime-core": "3.2.45", + "@vue/shared": "3.2.45", + "csstype": "^2.6.8" + }, + "dependencies": { + "@vue/shared": { + "version": "3.2.45", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.45.tgz", + "integrity": "sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==" + }, + "csstype": { + "version": "2.6.21", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz", + "integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==" + } + } + }, "@vue/shared": { "version": "3.2.33", "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.2.33.tgz", @@ -25862,7 +26201,8 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", - "dev": true + "dev": true, + "peer": true }, "debug": { "version": "4.3.4", @@ -26537,8 +26877,7 @@ "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 + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, "esutils": { "version": "2.0.3", @@ -33053,8 +33392,8 @@ "forge-ui-styleguide": { "version": "file:apps/docs", "requires": { - "@3squared/forge-playground": "1.1.3", - "@3squared/forge-ui": "*", + "@3squared/forge-playground": "^2.0.0-beta.0", + "@3squared/forge-ui": "1.3.0-beta.0", "@types/prismjs": "1.26.0", "@vitejs/plugin-vue2": "^1.1.2", "@vue/compiler-sfc": "3.2.33", @@ -34434,7 +34773,6 @@ "version": "0.25.9", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dev": true, "requires": { "sourcemap-codec": "^1.4.8" } @@ -35804,8 +36142,7 @@ "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 + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" }, "spawn-wrap": { "version": "2.0.0", @@ -36988,6 +37325,7 @@ "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz", "integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==", "dev": true, + "peer": true, "requires": { "de-indent": "^1.0.2", "he": "^1.2.0" diff --git a/packages/ui/README.md b/packages/ui/README.md index f6c779a7..02030243 100644 --- a/packages/ui/README.md +++ b/packages/ui/README.md @@ -32,7 +32,7 @@ location-picker/ diff --git a/packages/ui/src/components/general/stat-widget/StatWidget.vue b/packages/ui/src/components/general/stat-widget/StatWidget.vue index fc50b16e..91f0740c 100644 --- a/packages/ui/src/components/general/stat-widget/StatWidget.vue +++ b/packages/ui/src/components/general/stat-widget/StatWidget.vue @@ -8,29 +8,29 @@