From cd24c776d772c7ad797891afd779b3b072293ec2 Mon Sep 17 00:00:00 2001 From: zrlibs <jesting_rr@163.com> Date: 星期五, 21 三月 2025 17:35:07 +0800 Subject: [PATCH] fixed --- src/views/examples/report.vue | 292 ++--- src/components/examples/data-table.vue | 414 ++++++++ public/skin/light.css | 18 vite.config.js | 2 package.json | 3 src/views/examples/master-slave.vue | 199 ++- src/views/examples/data-table/index.vue | 266 ++--- src/less/examples.less | 75 - src/components/examples/form-dialog.vue | 101 ++ package-lock.json | 1484 ------------------------------ 10 files changed, 870 insertions(+), 1,984 deletions(-) diff --git a/package-lock.json b/package-lock.json index d34f8d2..e3d740a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -18,242 +18,7 @@ "devDependencies": { "@vitejs/plugin-vue": "^5.2.1", "less": "^4.2.2", - "vite": "^6.1.0", - "vite-plugin-vue-devtools": "^7.7.2" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@antfu/utils": { - "version": "0.7.10", - "resolved": "https://registry.npmmirror.com/@antfu/utils/-/utils-0.7.10.tgz", - "integrity": "sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", - "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.26.8", - "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.26.8.tgz", - "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.26.9", - "resolved": "https://registry.npmmirror.com/@babel/core/-/core-7.26.9.tgz", - "integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.9", - "@babel/helper-compilation-targets": "^7.26.5", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.9", - "@babel/parser": "^7.26.9", - "@babel/template": "^7.26.9", - "@babel/traverse": "^7.26.9", - "@babel/types": "^7.26.9", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.26.9", - "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.26.9.tgz", - "integrity": "sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.26.9", - "@babel/types": "^7.26.9", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.25.9", - "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", - "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.26.5", - "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", - "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.26.5", - "@babel/helper-validator-option": "^7.25.9", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.26.9", - "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.26.9.tgz", - "integrity": "sha512-ubbUqCofvxPRurw5L8WTsCLSkQiVpov4Qx0WMA+jUN+nXBK8ADPlJO1grkFw5CWKC5+sZSOfuGMdX1aI1iT9Sg==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-member-expression-to-functions": "^7.25.9", - "@babel/helper-optimise-call-expression": "^7.25.9", - "@babel/helper-replace-supers": "^7.26.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", - "@babel/traverse": "^7.26.9", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.25.9", - "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.9.tgz", - "integrity": "sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.25.9", - "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", - "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.26.0", - "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", - "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.25.9", - "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.9.tgz", - "integrity": "sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.26.5", - "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", - "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.26.5", - "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.26.5.tgz", - "integrity": "sha512-bJ6iIVdYX1YooY2X7w1q6VITt+LnUILtNk7zT78ykuwStx8BauCzxvFqFaHjOpW1bVnSUM1PN1f0p5P21wHxvg==", - "dev": true, - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.25.9", - "@babel/helper-optimise-call-expression": "^7.25.9", - "@babel/traverse": "^7.26.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.25.9", - "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.9.tgz", - "integrity": "sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" + "vite": "^6.1.0" } }, "node_modules/@babel/helper-string-parser": { @@ -272,28 +37,6 @@ "node": ">=6.9.0" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.25.9", - "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", - "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.26.9", - "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.26.9.tgz", - "integrity": "sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==", - "dev": true, - "dependencies": { - "@babel/template": "^7.26.9", - "@babel/types": "^7.26.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, "node_modules/@babel/parser": { "version": "7.26.9", "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.26.9.tgz", @@ -306,146 +49,6 @@ }, "engines": { "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-proposal-decorators": { - "version": "7.25.9", - "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.25.9.tgz", - "integrity": "sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/plugin-syntax-decorators": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-decorators": { - "version": "7.25.9", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.25.9.tgz", - "integrity": "sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.26.0", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", - "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.25.9", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", - "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.25.9", - "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", - "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.26.8", - "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.26.8.tgz", - "integrity": "sha512-bME5J9AC8ChwA7aEPJ6zym3w7aObZULHhbNLU0bKUhKsAkylkzUdq+0kdymh9rzi8nlNFl2bmldFBCKNJBUpuw==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.25.9", - "@babel/helper-create-class-features-plugin": "^7.25.9", - "@babel/helper-plugin-utils": "^7.26.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.25.9", - "@babel/plugin-syntax-typescript": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.26.9", - "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.26.9.tgz", - "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.26.2", - "@babel/parser": "^7.26.9", - "@babel/types": "^7.26.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.26.9", - "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.26.9.tgz", - "integrity": "sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.9", - "@babel/parser": "^7.26.9", - "@babel/template": "^7.26.9", - "@babel/types": "^7.26.9", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" } }, "node_modules/@babel/types": { @@ -938,80 +541,10 @@ "url": "https://github.com/sponsors/kazupon" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.5.0", "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@polka/url": { - "version": "1.0.0-next.28", - "resolved": "https://registry.npmmirror.com/@polka/url/-/url-1.0.0-next.28.tgz", - "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==", - "dev": true - }, - "node_modules/@rollup/pluginutils": { - "version": "5.1.4", - "resolved": "https://registry.npmmirror.com/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", - "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==", - "dev": true, - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.34.8", @@ -1260,24 +793,6 @@ "win32" ] }, - "node_modules/@sec-ant/readable-stream": { - "version": "0.4.1", - "resolved": "https://registry.npmmirror.com/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", - "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", - "dev": true - }, - "node_modules/@sindresorhus/merge-streams": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", - "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@types/estree": { "version": "1.0.6", "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.6.tgz", @@ -1306,54 +821,6 @@ "peerDependencies": { "vite": "^5.0.0 || ^6.0.0", "vue": "^3.2.25" - } - }, - "node_modules/@vue/babel-helper-vue-transform-on": { - "version": "1.2.5", - "resolved": "https://registry.npmmirror.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.5.tgz", - "integrity": "sha512-lOz4t39ZdmU4DJAa2hwPYmKc8EsuGa2U0L9KaZaOJUt0UwQNjNA3AZTq6uEivhOKhhG1Wvy96SvYBoFmCg3uuw==", - "dev": true - }, - "node_modules/@vue/babel-plugin-jsx": { - "version": "1.2.5", - "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.2.5.tgz", - "integrity": "sha512-zTrNmOd4939H9KsRIGmmzn3q2zvv1mjxkYZHgqHZgDrXz5B1Q3WyGEjO2f+JrmKghvl1JIRcvo63LgM1kH5zFg==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/plugin-syntax-jsx": "^7.24.7", - "@babel/template": "^7.25.0", - "@babel/traverse": "^7.25.6", - "@babel/types": "^7.25.6", - "@vue/babel-helper-vue-transform-on": "1.2.5", - "@vue/babel-plugin-resolve-type": "1.2.5", - "html-tags": "^3.3.1", - "svg-tags": "^1.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - } - } - }, - "node_modules/@vue/babel-plugin-resolve-type": { - "version": "1.2.5", - "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.2.5.tgz", - "integrity": "sha512-U/ibkQrf5sx0XXRnUZD1mo5F7PkpKyTbfXM3a3rC4YnUz6crHEz9Jg09jzzL6QYlXNto/9CePdOg/c87O4Nlfg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.24.7", - "@babel/helper-module-imports": "^7.24.7", - "@babel/helper-plugin-utils": "^7.24.8", - "@babel/parser": "^7.25.6", - "@vue/compiler-sfc": "^3.5.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" } }, "node_modules/@vue/compiler-core": { @@ -1406,65 +873,6 @@ "version": "6.6.4", "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz", "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==" - }, - "node_modules/@vue/devtools-core": { - "version": "7.7.2", - "resolved": "https://registry.npmmirror.com/@vue/devtools-core/-/devtools-core-7.7.2.tgz", - "integrity": "sha512-lexREWj1lKi91Tblr38ntSsy6CvI8ba7u+jmwh2yruib/ltLUcsIzEjCnrkh1yYGGIKXbAuYV2tOG10fGDB9OQ==", - "dev": true, - "dependencies": { - "@vue/devtools-kit": "^7.7.2", - "@vue/devtools-shared": "^7.7.2", - "mitt": "^3.0.1", - "nanoid": "^5.0.9", - "pathe": "^2.0.2", - "vite-hot-client": "^0.2.4" - }, - "peerDependencies": { - "vue": "^3.0.0" - } - }, - "node_modules/@vue/devtools-core/node_modules/nanoid": { - "version": "5.1.2", - "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-5.1.2.tgz", - "integrity": "sha512-b+CiXQCNMUGe0Ri64S9SXFcP9hogjAJ2Rd6GdVxhPLRm7mhGaM7VgOvCAJ1ZshfHbqVDI3uqTI5C8/GaKuLI7g==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.js" - }, - "engines": { - "node": "^18 || >=20" - } - }, - "node_modules/@vue/devtools-kit": { - "version": "7.7.2", - "resolved": "https://registry.npmmirror.com/@vue/devtools-kit/-/devtools-kit-7.7.2.tgz", - "integrity": "sha512-CY0I1JH3Z8PECbn6k3TqM1Bk9ASWxeMtTCvZr7vb+CHi+X/QwQm5F1/fPagraamKMAHVfuuCbdcnNg1A4CYVWQ==", - "dev": true, - "dependencies": { - "@vue/devtools-shared": "^7.7.2", - "birpc": "^0.2.19", - "hookable": "^5.5.3", - "mitt": "^3.0.1", - "perfect-debounce": "^1.0.0", - "speakingurl": "^14.0.1", - "superjson": "^2.2.1" - } - }, - "node_modules/@vue/devtools-shared": { - "version": "7.7.2", - "resolved": "https://registry.npmmirror.com/@vue/devtools-shared/-/devtools-shared-7.7.2.tgz", - "integrity": "sha512-uBFxnp8gwW2vD6FrJB8JZLUzVb6PNRG0B0jBnHsOH8uKyva2qINY8PTF5Te4QlTbMDqU5K6qtJDr6cNsKWhbOA==", - "dev": true, - "dependencies": { - "rfdc": "^1.4.1" - } }, "node_modules/@vue/reactivity": { "version": "3.5.13", @@ -1634,15 +1042,6 @@ "node": "*" } }, - "node_modules/birpc": { - "version": "0.2.19", - "resolved": "https://registry.npmmirror.com/birpc/-/birpc-0.2.19.tgz", - "integrity": "sha512-5WeXXAvTmitV1RqJFppT5QtUiz2p1mRSYU000Jkft5ZUCLJIk4uQriYNO50HknxKwM6jd8utNc66K1qGIwwWBQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, "node_modules/bl": { "version": "4.1.0", "resolved": "https://registry.npmmirror.com/bl/-/bl-4.1.0.tgz", @@ -1665,38 +1064,6 @@ "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" - } - }, - "node_modules/browserslist": { - "version": "4.24.4", - "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.24.4.tgz", - "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001688", - "electron-to-chromium": "^1.5.73", - "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.1" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, "node_modules/buffer": { @@ -1746,41 +1113,6 @@ "node": ">=0.2.0" } }, - "node_modules/bundle-name": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/bundle-name/-/bundle-name-4.1.0.tgz", - "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", - "dev": true, - "dependencies": { - "run-applescript": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001701", - "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001701.tgz", - "integrity": "sha512-faRs/AW3jA9nTwmJBSO1PQ6L/EOgsB5HMQQq4iCu5zhPgVVgO/pZRHlmatwijZKetFw8/Pr4q6dEN8sJuq8qTw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, "node_modules/chainsaw": { "version": "0.1.0", "resolved": "https://registry.npmmirror.com/chainsaw/-/chainsaw-0.1.0.tgz", @@ -1810,27 +1142,6 @@ "version": "0.0.1", "resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/copy-anything": { - "version": "3.0.5", - "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-3.0.5.tgz", - "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", - "dev": true, - "dependencies": { - "is-what": "^4.1.8" - }, - "engines": { - "node": ">=12.13" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } }, "node_modules/core-util-is": { "version": "1.0.3", @@ -1865,20 +1176,6 @@ "node": ">= 10" } }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", @@ -1889,69 +1186,12 @@ "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.13.tgz", "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==" }, - "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmmirror.com/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dev": true, - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, "node_modules/deepmerge": { "version": "2.2.1", "resolved": "https://registry.npmmirror.com/deepmerge/-/deepmerge-2.2.1.tgz", "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==", "engines": { "node": ">=0.10.0" - } - }, - "node_modules/default-browser": { - "version": "5.2.1", - "resolved": "https://registry.npmmirror.com/default-browser/-/default-browser-5.2.1.tgz", - "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", - "dev": true, - "dependencies": { - "bundle-name": "^4.1.0", - "default-browser-id": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser-id": { - "version": "5.0.0", - "resolved": "https://registry.npmmirror.com/default-browser-id/-/default-browser-id-5.0.0.tgz", - "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/duplexer2": { @@ -1988,12 +1228,6 @@ "dependencies": { "safe-buffer": "~5.1.0" } - }, - "node_modules/electron-to-chromium": { - "version": "1.5.109", - "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.109.tgz", - "integrity": "sha512-AidaH9JETVRr9DIPGfp1kAarm/W6hRJTPuCnkF+2MqhF4KaAgRIcBc8nvjk+YMXZhwfISof/7WG29eS4iGxQLQ==", - "dev": true }, "node_modules/element-resize-detector": { "version": "1.2.4", @@ -2033,15 +1267,6 @@ }, "bin": { "errno": "cli.js" - } - }, - "node_modules/error-stack-parser-es": { - "version": "0.1.5", - "resolved": "https://registry.npmmirror.com/error-stack-parser-es/-/error-stack-parser-es-0.1.5.tgz", - "integrity": "sha512-xHku1X40RO+fO8yJ8Wh2f2rZWVjqyhb1zgq1yZ8aZRQkv6OOKhKWRUaht3eSCUbAOBaKIgM+ykwFLE+QUxgGeg==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/antfu" } }, "node_modules/esbuild": { @@ -2084,15 +1309,6 @@ "@esbuild/win32-x64": "0.25.0" } }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", @@ -2117,32 +1333,6 @@ "node": ">=8.3.0" } }, - "node_modules/execa": { - "version": "9.5.2", - "resolved": "https://registry.npmmirror.com/execa/-/execa-9.5.2.tgz", - "integrity": "sha512-EHlpxMCpHWSAh1dgS6bVeoLAXGnJNdR93aabr4QCGbzOM73o5XmRfM/e5FUqsw3aagP8S8XEWUWFAxnRBnAF0Q==", - "dev": true, - "dependencies": { - "@sindresorhus/merge-streams": "^4.0.0", - "cross-spawn": "^7.0.3", - "figures": "^6.1.0", - "get-stream": "^9.0.0", - "human-signals": "^8.0.0", - "is-plain-obj": "^4.1.0", - "is-stream": "^4.0.1", - "npm-run-path": "^6.0.0", - "pretty-ms": "^9.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^4.0.0", - "yoctocolors": "^2.0.0" - }, - "engines": { - "node": "^18.19.0 || >=20.5.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, "node_modules/fast-csv": { "version": "4.3.6", "resolved": "https://registry.npmmirror.com/fast-csv/-/fast-csv-4.3.6.tgz", @@ -2155,39 +1345,10 @@ "node": ">=10.0.0" } }, - "node_modules/figures": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/figures/-/figures-6.1.0.tgz", - "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", - "dev": true, - "dependencies": { - "is-unicode-supported": "^2.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/fs-constants/-/fs-constants-1.0.0.tgz", "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "node_modules/fs-extra": { - "version": "11.3.0", - "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.3.0.tgz", - "integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=14.14" - } }, "node_modules/fs.realpath": { "version": "1.0.0", @@ -2223,31 +1384,6 @@ "node": ">=0.6" } }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-stream": { - "version": "9.0.1", - "resolved": "https://registry.npmmirror.com/get-stream/-/get-stream-9.0.1.tgz", - "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", - "dev": true, - "dependencies": { - "@sec-ant/readable-stream": "^0.4.1", - "is-stream": "^4.0.1" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/glob": { "version": "7.2.3", "resolved": "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz", @@ -2268,46 +1404,10 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - }, - "node_modules/hookable": { - "version": "5.5.3", - "resolved": "https://registry.npmmirror.com/hookable/-/hookable-5.5.3.tgz", - "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", - "dev": true - }, - "node_modules/html-tags": { - "version": "3.3.1", - "resolved": "https://registry.npmmirror.com/html-tags/-/html-tags-3.3.1.tgz", - "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/human-signals": { - "version": "8.0.0", - "resolved": "https://registry.npmmirror.com/human-signals/-/human-signals-8.0.0.tgz", - "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", - "dev": true, - "engines": { - "node": ">=18.18.0" - } }, "node_modules/iconv-lite": { "version": "0.6.3", @@ -2374,112 +1474,10 @@ "resolved": "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, - "node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", - "dev": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", - "dev": true, - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-plain-obj": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz", - "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-stream": { - "version": "4.0.1", - "resolved": "https://registry.npmmirror.com/is-stream/-/is-stream-4.0.1.tgz", - "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-unicode-supported": { - "version": "2.1.0", - "resolved": "https://registry.npmmirror.com/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", - "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-what": { - "version": "4.1.16", - "resolved": "https://registry.npmmirror.com/is-what/-/is-what-4.1.16.tgz", - "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", - "dev": true, - "engines": { - "node": ">=12.13" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, - "node_modules/is-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", - "dev": true, - "dependencies": { - "is-inside-container": "^1.0.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz", "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true }, "node_modules/js-base64": { "version": "3.7.7", @@ -2490,48 +1488,6 @@ "version": "1.2.3", "resolved": "https://registry.npmmirror.com/js-calendar/-/js-calendar-1.2.3.tgz", "integrity": "sha512-dAA1/Zbp4+c5E+ARCVTIuKepXsNLzSYfzvOimiYD4S5eeP9QuplSHLcdhfqFSwyM1o1u6ku6RRRCyaZ0YAjiBw==" - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } }, "node_modules/jszip": { "version": "3.10.1", @@ -2570,12 +1526,6 @@ "dependencies": { "safe-buffer": "~5.1.0" } - }, - "node_modules/kolorist": { - "version": "1.8.0", - "resolved": "https://registry.npmmirror.com/kolorist/-/kolorist-1.8.0.tgz", - "integrity": "sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==", - "dev": true }, "node_modules/lazystream": { "version": "1.0.1", @@ -2748,15 +1698,6 @@ "resolved": "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz", "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, "node_modules/magic-string": { "version": "0.30.17", "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.17.tgz", @@ -2821,12 +1762,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mitt": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/mitt/-/mitt-3.0.1.tgz", - "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", - "dev": true - }, "node_modules/mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz", @@ -2837,21 +1772,6 @@ "bin": { "mkdirp": "bin/cmd.js" } - }, - "node_modules/mrmime": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/mrmime/-/mrmime-2.0.1.tgz", - "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true }, "node_modules/nanoid": { "version": "3.3.8", @@ -2887,46 +1807,12 @@ "node": ">= 4.4.x" } }, - "node_modules/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", - "dev": true - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "engines": { "node": ">=0.10.0" - } - }, - "node_modules/npm-run-path": { - "version": "6.0.0", - "resolved": "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-6.0.0.tgz", - "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", - "dev": true, - "dependencies": { - "path-key": "^4.0.0", - "unicorn-magic": "^0.3.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/numeral": { @@ -2945,40 +1831,10 @@ "wrappy": "1" } }, - "node_modules/open": { - "version": "10.1.0", - "resolved": "https://registry.npmmirror.com/open/-/open-10.1.0.tgz", - "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", - "dev": true, - "dependencies": { - "default-browser": "^5.2.1", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^3.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmmirror.com/pako/-/pako-1.0.11.tgz", "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" - }, - "node_modules/parse-ms": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/parse-ms/-/parse-ms-4.0.0.tgz", - "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } }, "node_modules/parse-node-version": { "version": "1.0.1", @@ -2997,43 +1853,10 @@ "node": ">=0.10.0" } }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmmirror.com/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "dev": true - }, - "node_modules/perfect-debounce": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz", - "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", - "dev": true - }, "node_modules/picocolors": { "version": "1.1.1", "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" - }, - "node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } }, "node_modules/pify": { "version": "4.0.1", @@ -3080,21 +1903,6 @@ }, "engines": { "node": "^10 || ^12 || >=14" - } - }, - "node_modules/pretty-ms": { - "version": "9.2.0", - "resolved": "https://registry.npmmirror.com/pretty-ms/-/pretty-ms-9.2.0.tgz", - "integrity": "sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==", - "dev": true, - "dependencies": { - "parse-ms": "^4.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/process-nextick-args": { @@ -3149,12 +1957,6 @@ "node": ">=10" } }, - "node_modules/rfdc": { - "version": "1.4.1", - "resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", - "dev": true - }, "node_modules/rimraf": { "version": "2.7.1", "resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-2.7.1.tgz", @@ -3203,18 +2005,6 @@ "@rollup/rollup-win32-ia32-msvc": "4.34.8", "@rollup/rollup-win32-x64-msvc": "4.34.8", "fsevents": "~2.3.2" - } - }, - "node_modules/run-applescript": { - "version": "7.0.0", - "resolved": "https://registry.npmmirror.com/run-applescript/-/run-applescript-7.0.0.tgz", - "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/safe-buffer": { @@ -3266,66 +2056,10 @@ "resolved": "https://registry.npmmirror.com/select/-/select-1.1.2.tgz", "integrity": "sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==" }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, "node_modules/setimmediate": { "version": "1.0.5", "resolved": "https://registry.npmmirror.com/setimmediate/-/setimmediate-1.0.5.tgz", "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/sirv": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/sirv/-/sirv-3.0.1.tgz", - "integrity": "sha512-FoqMu0NCGBLCcAkS1qA+XJIQTR6/JHfQXl+uGteNCQ76T91DMUjPa9xfmeqMY3z80nLSg9yQmNjK0Px6RWsH/A==", - "dev": true, - "dependencies": { - "@polka/url": "^1.0.0-next.24", - "mrmime": "^2.0.0", - "totalist": "^3.0.0" - }, - "engines": { - "node": ">=18" - } }, "node_modules/source-map": { "version": "0.6.1", @@ -3345,15 +2079,6 @@ "node": ">=0.10.0" } }, - "node_modules/speakingurl": { - "version": "14.0.1", - "resolved": "https://registry.npmmirror.com/speakingurl/-/speakingurl-14.0.1.tgz", - "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz", @@ -3361,36 +2086,6 @@ "dependencies": { "safe-buffer": "~5.2.0" } - }, - "node_modules/strip-final-newline": { - "version": "4.0.0", - "resolved": "https://registry.npmmirror.com/strip-final-newline/-/strip-final-newline-4.0.0.tgz", - "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/superjson": { - "version": "2.2.2", - "resolved": "https://registry.npmmirror.com/superjson/-/superjson-2.2.2.tgz", - "integrity": "sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==", - "dev": true, - "dependencies": { - "copy-anything": "^3.0.2" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/svg-tags": { - "version": "1.0.0", - "resolved": "https://registry.npmmirror.com/svg-tags/-/svg-tags-1.0.0.tgz", - "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", - "dev": true }, "node_modules/tar-stream": { "version": "2.2.0", @@ -3420,15 +2115,6 @@ "node": ">=14.14" } }, - "node_modules/totalist": { - "version": "3.0.1", - "resolved": "https://registry.npmmirror.com/totalist/-/totalist-3.0.1.tgz", - "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/traverse": { "version": "0.3.9", "resolved": "https://registry.npmmirror.com/traverse/-/traverse-0.3.9.tgz", @@ -3450,27 +2136,6 @@ "dev": true, "optional": true, "peer": true - }, - "node_modules/unicorn-magic": { - "version": "0.3.0", - "resolved": "https://registry.npmmirror.com/unicorn-magic/-/unicorn-magic-0.3.0.tgz", - "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } }, "node_modules/unzipper": { "version": "0.10.14", @@ -3514,36 +2179,6 @@ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dependencies": { "safe-buffer": "~5.1.0" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.1.3", - "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", - "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" } }, "node_modules/util-deprecate": { @@ -3659,90 +2294,6 @@ } } }, - "node_modules/vite-hot-client": { - "version": "0.2.4", - "resolved": "https://registry.npmmirror.com/vite-hot-client/-/vite-hot-client-0.2.4.tgz", - "integrity": "sha512-a1nzURqO7DDmnXqabFOliz908FRmIppkBKsJthS8rbe8hBEXwEwe4C3Pp33Z1JoFCYfVL4kTOMLKk0ZZxREIeA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "vite": "^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0" - } - }, - "node_modules/vite-plugin-inspect": { - "version": "0.8.9", - "resolved": "https://registry.npmmirror.com/vite-plugin-inspect/-/vite-plugin-inspect-0.8.9.tgz", - "integrity": "sha512-22/8qn+LYonzibb1VeFZmISdVao5kC22jmEKm24vfFE8siEn47EpVcCLYMv6iKOYMJfjSvSJfueOwcFCkUnV3A==", - "dev": true, - "dependencies": { - "@antfu/utils": "^0.7.10", - "@rollup/pluginutils": "^5.1.3", - "debug": "^4.3.7", - "error-stack-parser-es": "^0.1.5", - "fs-extra": "^11.2.0", - "open": "^10.1.0", - "perfect-debounce": "^1.0.0", - "picocolors": "^1.1.1", - "sirv": "^3.0.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.1" - }, - "peerDependenciesMeta": { - "@nuxt/kit": { - "optional": true - } - } - }, - "node_modules/vite-plugin-vue-devtools": { - "version": "7.7.2", - "resolved": "https://registry.npmmirror.com/vite-plugin-vue-devtools/-/vite-plugin-vue-devtools-7.7.2.tgz", - "integrity": "sha512-5V0UijQWiSBj32blkyPEqIbzc6HO9c1bwnBhx+ay2dzU0FakH+qMdNUT8nF9BvDE+i6I1U8CqCuJiO20vKEdQw==", - "dev": true, - "dependencies": { - "@vue/devtools-core": "^7.7.2", - "@vue/devtools-kit": "^7.7.2", - "@vue/devtools-shared": "^7.7.2", - "execa": "^9.5.1", - "sirv": "^3.0.0", - "vite-plugin-inspect": "0.8.9", - "vite-plugin-vue-inspector": "^5.3.1" - }, - "engines": { - "node": ">=v14.21.3" - }, - "peerDependencies": { - "vite": "^3.1.0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0" - } - }, - "node_modules/vite-plugin-vue-inspector": { - "version": "5.3.1", - "resolved": "https://registry.npmmirror.com/vite-plugin-vue-inspector/-/vite-plugin-vue-inspector-5.3.1.tgz", - "integrity": "sha512-cBk172kZKTdvGpJuzCCLg8lJ909wopwsu3Ve9FsL1XsnLBiRT9U3MePcqrgGHgCX2ZgkqZmAGR8taxw+TV6s7A==", - "dev": true, - "dependencies": { - "@babel/core": "^7.23.0", - "@babel/plugin-proposal-decorators": "^7.23.0", - "@babel/plugin-syntax-import-attributes": "^7.22.5", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-transform-typescript": "^7.22.15", - "@vue/babel-plugin-jsx": "^1.1.5", - "@vue/compiler-dom": "^3.3.4", - "kolorist": "^1.8.0", - "magic-string": "^0.30.4" - }, - "peerDependencies": { - "vite": "^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.0-0" - } - }, "node_modules/vue": { "version": "3.5.13", "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.13.tgz", @@ -3796,21 +2347,6 @@ "vue": "^3.2.0" } }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz", @@ -3820,24 +2356,6 @@ "version": "2.2.0", "resolved": "https://registry.npmmirror.com/xmlchars/-/xmlchars-2.2.0.tgz", "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/yoctocolors": { - "version": "2.1.1", - "resolved": "https://registry.npmmirror.com/yoctocolors/-/yoctocolors-2.1.1.tgz", - "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } }, "node_modules/zip-stream": { "version": "4.1.1", diff --git a/package.json b/package.json index 69961e1..5a96fa2 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,6 @@ "devDependencies": { "@vitejs/plugin-vue": "^5.2.1", "less": "^4.2.2", - "vite": "^6.1.0", - "vite-plugin-vue-devtools": "^7.7.2" + "vite": "^6.1.0" } } diff --git a/public/skin/light.css b/public/skin/light.css index 1aa2ed4..8a07ba2 100644 --- a/public/skin/light.css +++ b/public/skin/light.css @@ -3,10 +3,11 @@ --second-background-color: #40c3ff; --third-background-color: #cceeff; - --table-header-background-color: #e4e4e4; - --table-header-border-color: #cdcdcd; + --table-border-color: #eee; + --table-header-background-color: #f9f9f9; + --table-header-border-color: #eee; - --table-header-th-border-color: #dcdee2; + --table-header-th-border-color: #eee; } .layout-header, @@ -44,9 +45,16 @@ .ivu-table th { background-color: var(--table-header-background-color); - border-right: 1px solid var(--table-header-border-color); + border-top: 1px solid var(--table-header-border-color); } .ivu-table th { - border-bottom-color: var(--table-header-th-border-color) + border-bottom-color: var(--table-header-th-border-color) !important; +} + +.data-table{ + border:1px solid var(--table-border-color); +} +.data-table .buttons{ + background-color: var(--table-header-background-color); } \ No newline at end of file diff --git a/src/components/examples/data-table.vue b/src/components/examples/data-table.vue index d2db141..e9e2ca6 100644 --- a/src/components/examples/data-table.vue +++ b/src/components/examples/data-table.vue @@ -1,19 +1,196 @@ <template> - <div class="data-table"> + <div class="data-table" ref="refDataTable"> + <div v-if="showForm" class="forms" :class="{ collapse: !formExpand }"> + <Form :model="form" v-bind="formObject.options" ref="refForm"> + <Row> + <Col + v-for="(col, index) in formList" + :key="`${index}`" + :span="col.span" + > + <FormItem :label="`${col.label}`"> + <Input + v-if="col.type == 'input'" + v-model="form[col.field]" + size="small" + > + <template v-if="col.suffix" #suffix> + <Icon :type="col.suffix" @click="col.onSuffixClick" /> + </template> + </Input> + <DatePicker + v-else-if="col.type == 'daterange'" + type="daterange" + v-model="form[col.field]" + separator=" 鑷�" + size="small" + style="width: 100%" + @on-change="col.onChange" + ></DatePicker> + <DatePicker + v-else-if="col.type == 'date'" + type="date" + v-model="form[field]" + size="small" + @on-change="col.onChange" + /> + <Select + v-else-if="col.type == 'select'" + v-model="form[col.field]" + size="small" + > + <Option + v-for="(opt, i) in col.options" + :key="i" + :value="col.value" + >{{ col.label }}</Option + > + </Select> + <Checkbox + v-else-if="col.type == 'checkbox'" + v-model="form[col.field]" + size="small" + >{{ form.label }}</Checkbox + > + </FormItem> + </Col> + </Row> + </Form> + <div class="btns"> + <Button type="primary" size="small" + ><Icon type="md-settings" @click="onShowFormDialog" + /></Button> + <Button + v-if="formExpand" + v-show="showFormExpand" + type="primary" + size="small" + @click="formExpand = !formExpand" + ><Icon type="ios-arrow-up" + /></Button> + <Button + v-else + v-show="showFormExpand" + type="primary" + size="small" + @click="formExpand = !formExpand" + ><Icon type="ios-arrow-down" + /></Button> + </div> + </div> + <div class="buttons" v-if="showTopButtons"> + <Space> + <Button + v-for="(btn, i) in buttons" + :key="i" + type="primary" + size="small" + @click="btn.onClick" + >{{ btn.showName }}</Button + > + </Space> + <Space class="ivu-fr"> + <Poptip title="鍒嗛〉鍣ㄤ綅缃� placement="left-start"> + <Tooltip content="璁剧疆鍒嗛〉鍣ㄤ綅缃� transfer> + <Button size="small"><Icon type="md-apps" /></Button> + </Tooltip> + <template #content> + <RadioGroup + v-model="paganationPlacement" + @on-change="onPaganationPlacementChange" + > + <Radio label="top"> + <Icon type="md-at"></Icon> + <span>涓�/span> + </Radio> + <Radio label="bottom"> + <Icon type="md-basketball"></Icon> + <span>涓�/span> + </Radio> + </RadioGroup> + </template> + </Poptip> + <Poptip popper-class="col-list" placement="left-start"> + <Tooltip content="璋冩暣鍒� transfer> + <Button size="small"><Icon type="md-settings" /></Button> + </Tooltip> + <template #title> + <Checkbox + :indeterminate="columnListIndeterminate" + :model-value="columnCheckAll" + @click.prevent="onColumnCheckAll" + >鍏ㄩ�</Checkbox + > + </template> + <template #content> + <CheckboxGroup + v-model="columnShowList" + @on-change="onShowColumnChange" + > + <Checkbox v-for="(col, i) in columns" :key="i" :label="col.key">{{ + toColumnLabel(col) + }}</Checkbox> + </CheckboxGroup> + </template> + </Poptip> + <Poptip title="璁剧疆瀛椾綋澶у皬" placement="left-start"> + <Tooltip content="璋冩暣瀛椾綋" transfer> + <Button size="small"><Icon type="md-apps" /></Button> + </Tooltip> + <template #content> + <RadioGroup v-model="fontSize"> + <Radio label="small"> + <Icon type="md-at"></Icon> + <span>灏�/span> + </Radio> + <Radio label="default"> + <Icon type="md-basketball"></Icon> + <span>涓�/span> + </Radio> + <Radio label="large"> + <Icon type="ios-briefcase"></Icon> + <span>澶�/span> + </Radio> + </RadioGroup> + </template> + </Poptip> + <Tooltip content="鎵撳嵃" transfer> + <Button size="small"><Icon type="ios-print" /></Button> + </Tooltip> + </Space> + <Page + v-if="paged && paganationPlacement == 'top'" + class="absolute" + :model-value="page" + :total="total" + :page-size="limit" + :page-size-opts="limits" + show-sizer + show-total + show-elevator + transfer + simple + @on-change="onPageChange" + @on-page-size-change="onPageSizeChange" + @on-prev="onPrev" + @on-next="onNext" + /> + </div> <Table - class="ivu-table-mini" - :row-class-name="() => ['no-wrap', 'col-gap-none']" - :columns="columns" + class="col-gap-none" + :row-class-name="() => ['no-wrap']" + :columns="tableColumns" :data="data" - :height="paged ? tableHeight - 70 : tableHeight" - border + :height="tableHeight" :highlight-row="highlightRow" + :size="fontSize" + @on-row-click="onRowClick" @on-current-change="onCurrentChange" @on-selection-change="onSelectionChange" ref="refTable" ></Table> <Page - v-if="paged" + v-if="paged && paganationPlacement == 'bottom'" class="text-center" :model-value="page" :total="total" @@ -30,50 +207,173 @@ ref="refPage" /> <Spin fix :show="loading" /> + <FormDialog + v-model="formDialogVisible" + :list="formObject.items" + @ok="onFormDialogOK" + ></FormDialog> </div> </template> <script> import { ref } from "vue"; +import FormDialog from "./form-dialog.vue"; export default { name: "DataTable", + components: { + FormDialog, + }, props: { - tableHeight: Number | String, + // 瀹瑰櫒楂樺害 + height: Number | String, + // 甯歌椤堕儴鎸夐挳 + buttons: { + type: Array, + default: () => [], + }, + // 鏄惁鍒嗛〉 paged: { type: Boolean, default: () => true, }, + // 鍒楀畾涔� columns: { type: Array, default: () => [], }, + // 鏁版嵁婧� data: { type: Array, default: () => [], }, + // 鏁版嵁鎬绘暟 total: { type: Number, default: () => 0, }, + // 褰撳墠椤� page: { type: Number, default: () => 1, }, + // 姣忛〉鍑犳潯鏁版嵁 limit: { type: Number, default: () => 10, }, + // limit鍒楄〃 limits: { type: Array, default: () => [10, 20, 30, 40], }, + // 璁板綍鍔犺浇鐘舵� loading: Boolean, + // 鍗曢�妯″紡 highlightRow: Boolean, + showForm: { + type: Boolean, + default: () => true, + }, + showTopButtons: { + type: Boolean, + default: () => true, + }, + size: { + type: String, + default: () => "default", + }, + pagePlacement: { + type: String, + default: () => "bottom", // top/bottom + }, + formObject: { + type: Object, + default: () => ({}), + }, }, data() { - return {}; + return { + // 閰嶇疆鍝簺鍒楁樉绀�+ columnListIndeterminate: false, + columnCheckAll: true, + columnShowList: [], + // 閰嶇疆瀛椾綋 + fontSize: this.size, + // 鏌ヨ琛ㄥ崟 + // 鏌ヨ琛ㄥ崟鐨勫畾涔�+ form: {}, + formExpand: false, + showFormExpand: true, + formDialogVisible: false, + formShowList: [], + paganationPlacement: this.pagePlacement, + }; + }, + computed: { + // 鏁版嵁鍒楄〃楂樺害 + tableHeight() { + let formHeight = this.showForm + ? this.refDataTable?.querySelector(".forms")?.clientHeight + 9 + : 0; + let buttonHeight = this.showTopButtons + ? this.refDataTable?.querySelector(".buttons")?.clientHeight + : 0; + let pageHeight = + this.paged && this.paganationPlacement == "bottom" ? 70 - 18 : 0; + return this.height - formHeight - buttonHeight - pageHeight; + }, + // 瀹為檯瑕佹樉绀虹殑鍒�+ tableColumns() { + return this.columns.filter((col) => + this.columnShowList.includes(col.key) + ); + }, + // 瀹為檯瑕佹樉绀虹殑琛ㄥ崟椤�+ formList() { + return ( + this.formObject.items?.filter((l) => + this.formShowList.includes(l.field) + ) || [] + ); + }, }, methods: { + toColumnLabel(col) { + if (col.key == "index") return "搴忓彿"; + else if (col.key == "row_button") return "鎿嶄綔鎸夐挳"; + else return col.title; + }, + onPaganationPlacementChange() { + this.$nextTick(() => this.resize()); + }, + // 閰嶇疆鍒�鍏ㄩ� + onColumnCheckAll() { + if (this.columnListIndeterminate) { + this.columnCheckAll = false; + } else { + this.columnCheckAll = !this.columnCheckAll; + } + this.columnListIndeterminate = false; + + if (this.columnCheckAll) { + this.columnShowList = this.columns.map((c) => c.key); + } else { + this.columnShowList = []; + } + }, + // 閰嶇疆鍒�鍗曢� + onShowColumnChange(data) { + if (data.length == this.columns.length) { + this.columnListIndeterminate = false; + this.columnCheckAll = true; + } else if (data.length > 0) { + this.columnListIndeterminate = true; + this.columnCheckAll = false; + } else { + this.columnListIndeterminate = false; + this.columnCheckAll = false; + } + }, onPageChange(page) { this.$emit("on-change", page); }, @@ -100,17 +400,8 @@ onCurrentChange(currentRow) { this.$emit("on-current-change", currentRow); }, - onRowClick(row, index, emit = true) { - this.clickedRowIndex = index; - this.onCurrentChange(row); - if (emit) this.$emit("on-row-click", row, index); - }, - onCellClick(row, column, data, event) { - event.stopPropagation(); - let index = row._index; - if (index === undefined) index = this.rows.find((r) => r.id == row.id); - if (column.key == "row_button") this.onRowClick(row, index, false); - else this.onRowClick(row, index, true); + onRowClick(row, index) { + this.$emit("on-row-click", row, index); }, onSelect(selection, row) { this.$emit("on-select", selection, row); @@ -127,21 +418,100 @@ onColumnWidthResize(newWidth, oldWidth, column, event) { this.$emit("on-column-width-resize", newWidth, oldWidth, column, event); }, + onShowFormDialog() { + this.formDialogVisible = true; + }, + resize() { + this.$nextTick(() => { + let height = this.refForm?.$el?.clientHeight; + if (height < 50) { + this.formExpand = false; + this.showFormExpand = false; + } else { + this.formExpand = true; + this.showFormExpand = true; + } + }); + }, + onFormDialogOK(showList) { + this.formShowList = showList; + }, }, setup() { + const refDataTable = ref(null); + const refForm = ref(null); const refTable = ref(null); const refPage = ref(null); - return { refTable, refPage }; + return { refDataTable, refForm, refTable, refPage }; + }, + watch: { + columns(columns) { + this.columnShowList = columns.map((c) => c.key); + }, + ["formObject.items"](list) { + this.formShowList = list.map((l) => l.field); + }, + formShowList() { + this.resize(); + }, }, }; </script> -<style lang="less" scoped> +<style lang="less"> .data-table { height: 100%; position: relative; + .forms { + margin-bottom: 9px; + padding: 0 10px; + position: relative; + &.collapse { + height: 30px; + padding-right: 100px; + overflow: hidden; + } + .btns { + position: absolute; + right: 10px; + bottom: 0; + display: flex; + flex-direction: row; + gap: 10px; + z-index: 1; + } + .ivu-form .ivu-form-item-label, + .ivu-checkbox-wrapper { + font-size: 12px; + } + .ivu-input-wrapper { + .ivu-icon { + cursor: pointer; + } + } + } + .buttons { + padding: 0 9px; + line-height: 33px; + position: relative; + } .text-center { text-align: center; } } +.col-list { + .ivu-checkbox-group { + display: flex; + flex-direction: column; + } +} +.ivu-page { + padding: 9px; +} +.absolute { + position: absolute; + top: 0; + right: 180px; + padding: 0px; +} </style> \ No newline at end of file diff --git a/src/components/examples/form-dialog.vue b/src/components/examples/form-dialog.vue new file mode 100644 index 0000000..4e6684d --- /dev/null +++ b/src/components/examples/form-dialog.vue @@ -0,0 +1,101 @@ +<template> + <div class="form-dialog"> + <Modal + :model-value="modelValue" + title="淇敼鏌ヨ琛ㄥ崟" + class-name="form-dialog" + @update:model-value="(v) => this.$emit('update:modelValue', v)" + > + <Checkbox + :indeterminate="indeterminate" + :model-value="checkAll" + @click.prevent="onCheckAll" + >鍏ㄩ�</Checkbox + > + <Divider size="small" /> + <CheckboxGroup v-model="showList" @on-change="onShowChange"> + <Checkbox v-for="(item, i) in list" :key="i" :label="item.field">{{ + item.label?.replace("锛�, "") + }}</Checkbox> + </CheckboxGroup> + <template #footer> + <Space> + <Button type="text" @click="onCancel">鍙栨秷</Button> + <Button type="primary" @click="onOk">纭畾</Button> + </Space> + </template> + </Modal> + </div> +</template> + +<script> +export default { + name: "FormDialog", + props: { + modelValue: Boolean, + list: Array, + }, + data() { + return { + indeterminate: false, + checkAll: true, + showList: [], + }; + }, + methods: { + onOk() { + this.$emit("ok", this.showList); + this.$emit("update:modelValue", false); + }, + onCancel() { + this.$emit("update:modelValue", false); + }, + onCheckAll() { + if (this.indeterminate) { + this.checkAll = false; + } else { + this.checkAll = !this.checkAll; + } + this.indeterminate = false; + + if (this.checkAll) { + this.showList = this.list.map((l) => l.field); + } else { + this.showList = []; + } + }, + onShowChange(data) { + if (data.length == this.list.length) { + this.indeterminate = false; + this.checkAll = true; + } else if (data.length > 0) { + this.indeterminate = true; + this.checkAll = false; + } else { + this.indeterminate = false; + this.checkAll = false; + } + }, + }, + watch: { + list(list) { + this.showList = list.map((l) => l.field); + }, + }, +}; +</script> + +<style lang="less"> +.form-dialog { + .ivu-modal { + top: 40px; + } + .ivu-divider-horizontal { + margin: 9px 0; + } + .ivu-checkbox-group { + display: flex; + flex-direction: column; + } +} +</style> \ No newline at end of file diff --git a/src/less/examples.less b/src/less/examples.less index d4188d2..1a256d1 100644 --- a/src/less/examples.less +++ b/src/less/examples.less @@ -1,81 +1,10 @@ -.ivu-table th { - border-bottom-color: #cdcdcd !important; -} - .no-wrap td .ivu-table-cell { white-space: nowrap; } -.ivu-table-mini { - font-size: 12px; - - td { - height: 28px; - - &.ivu-table-expanded-cell { - padding: 10px 40px; - } - - .ivu-table-cell-with-expand { - height: 28px; - line-height: 28px; - } - } - - thead .ivu-table-cell { - padding-left: 6px; - padding-right: 4px; - } - - margin-bottom:12px; -} - -.col-gap-none .ivu-table-cell { +.col-gap-none .ivu-table .ivu-table-cell { padding-left: 0; padding-right: 0; - width: 100%; - height: 100%; - - >div, - >a, - >span { - width: 100%; - height: 100%; - padding-left: 6px; - padding-right: 6px; - padding-top: 4px; - padding-bottom: 4px; - } - - >a, - >span { - display: block; - } - - &.ivu-table-cell-with-selection { - padding-top: 3px; - } -} - -.ivu-table { - .ivu-table-tbody { - background-color: #fff; - } -} - -.ivu-table-header thead tr th, -.ivu-table-fixed-header thead tr th { - // padding: 0 !important; - text-align: center !important; - font-size: 12px; -} - -.ivu-table { - .column-hidden { - div { - white-space: nowrap; - } - } } .ivu-form { @@ -127,6 +56,6 @@ } } -.ivu-spin-fix{ +.ivu-spin-fix { background-color: rgba(255, 255, 255, .3); } \ No newline at end of file diff --git a/src/views/examples/data-table/index.vue b/src/views/examples/data-table/index.vue index 7bb8601..2d184ad 100644 --- a/src/views/examples/data-table/index.vue +++ b/src/views/examples/data-table/index.vue @@ -1,70 +1,9 @@ <template> <div class="example-data-table" ref="refView"> - <div class="search-form"> - <Form :model="form" :label-width="110"> - <Row> - <Col span="6"> - <FormItem label="浠撳簱缂栫爜锛�> - <Input v-model="form.code" size="small"></Input> - </FormItem> - </Col> - <Col span="6"> - <FormItem label="浠撳簱鍚嶇О锛�> - <Input v-model="form.name" size="small"></Input> - </FormItem> - </Col> - <Col span="6"> - <FormItem label="浠撳簱璐熻矗浜猴細"> - <Input v-model="form.leader" size="small"></Input> - </FormItem> - </Col> - <Col span="6"> - <FormItem label="浠撳簱鐢佃瘽锛�> - <Input v-model="form.tel" size="small"></Input> - </FormItem> - </Col> - </Row> - <Row> - <Col span="6"> - <FormItem label="涓婄骇浠撳簱缂栫爜锛�> - <Input v-model="form.topCode" size="small"></Input> - </FormItem> - </Col> - <Col span="6"> - <FormItem label="鍦板潃锛�> - <Input v-model="form.address" size="small"></Input> - </FormItem> - </Col> - <Col span="4"> - <FormItem :label-width="34"> - <Checkbox v-model="form.isThisLevel" size="small" - >鏄惁鏈骇</Checkbox - > - </FormItem> - </Col> - <Col span="4"> - <FormItem :label-width="34"> - <Checkbox v-model="form.isEscrow" size="small">鏄惁浠g</Checkbox> - </FormItem> - </Col> - <Col span="4"> - <FormItem :label-width="34"> - <Checkbox v-model="form.isEnable" size="small">鏄惁鍚敤</Checkbox> - </FormItem> - </Col> - </Row> - </Form> - </div> - <div class="buttons"> - <Space> - <Button type="success" size="small" @click="onAddClick">鏂板</Button> - <Button type="warning" size="small" @click="onEditClick">淇敼</Button> - <Button type="error" size="small" @click="onDelClick">鍒犻櫎</Button> - <Button type="primary" size="small" @click="onViewClick">鏌ョ湅</Button> - </Space> - </div> <DataTable - :tableHeight="tableHeight" + :height="height" + :formObject="formObject" + :buttons="buttons" :columns="columns" :data="data" :page="page" @@ -98,9 +37,31 @@ }, data() { return { + formObject: { + options: {}, + items: [], + }, + buttons: [ + { + showName: "鏂板", + onClick: () => this.onAddClick(), + }, + { + showName: "淇敼", + onClick: () => this.onEditClick(), + }, + { + showName: "鍒犻櫎", + onClick: () => this.onDelClick(), + }, + { + showName: "鏌ョ湅", + onClick: () => this.onViewClick(), + }, + ], columns: [], data: [], - tableHeight: 0, + height: 0, // 鍒嗛〉淇℃伅 page: 1, limit: 30, @@ -129,12 +90,60 @@ }; }, methods: { + async loadForm() { + this.formObject.options = { + labelWidth: 110, + }; + this.formObject.items = [ + { + label: "浠撳簱缂栫爜锛�, + field: "SupplierCode", + value: "", + type: "input", + span: 6, + }, + { + label: "浠撳簱鍚嶇О锛�, + field: "SupplierName", + value: "", + type: "input", + span: 6, + }, + { + label: "浠撳簱鐢佃瘽锛�, + field: "ASNCode", + value: "", + type: "input", + span: 12, + }, + { + label: "鍦板潃锛�, + field: "Invertory", + value: "", + type: "checkbox", + span: 6, + }, + { + label: "鏄惁鏈骇", + field: "PurchaseOrderNo", + value: "", + type: "checkbox", + span: 6, + }, + { + label: "鏄惁浠g", + field: "OrderDate", + value: "", + type: "checkbox", + span: 12, + }, + ]; + }, async loadColumns() { this.columns = [ { type: "selection", width: 40, - fixed: "left", align: "center", }, { @@ -144,81 +153,13 @@ return h("div", (this.page - 1) * this.limit + index + 1); }, width: 40, - fixed: "left", align: "center", }, - { - key: "row_button", - title: " ", - render: (h, { row, index }) => { - return h( - resolveComponent("Space"), - {}, - { - default: () => [ - h("a", [ - h( - resolveComponent("Tooltip"), - { - content: "淇敼", - style: { - marginRight: "3px", - }, - }, - { - default: () => - h(resolveComponent("icon"), { - type: "md-build", - size: 14, - color: "#f90", - onClick: () => this.onEditRowClick(index), - }), - } - ), - h( - resolveComponent("Tooltip"), - { - content: "鍒犻櫎", - transfer: true, - style: { - verticalAlign: "-1px", - }, - }, - { - default: () => - h( - resolveComponent("Poptip"), - { - title: "鏄惁纭畾鍒犻櫎姝ら」锛�, - transfer: true, - confirm: true, - onOnOk: () => this.onDelClickItem(index), - onOnCancel: () => {}, - }, - { - default: () => - h(resolveComponent("icon"), { - type: "ios-trash-outline", - size: 18, - color: "#ed4014", - }), - } - ), - } - ), - ]), - ], - } - ); - }, - width: 50, - fixed: "left", - }, + { key: "code", title: "浠撳簱缂栫爜", width: 150, - fixed: "left", sortable: true, resizable: true, }, @@ -308,6 +249,49 @@ align: "center", sortable: true, }, + { + key: "row_button", + title: " ", + render: (h, { row, index }) => { + return h( + resolveComponent("Space"), + {}, + { + default: () => [ + h("a", [ + h( + "span", + { + style: { + marginRight: "12px", + }, + onClick: () => this.onEditRowClick(index), + }, + "淇敼" + ), + , + h( + resolveComponent("Poptip"), + { + title: "鏄惁纭畾鍒犻櫎姝ら」锛�, + transfer: true, + confirm: true, + onOnOk: () => this.onDelClickItem(index), + onOnCancel: () => {}, + }, + { + default: () => h("span", "鍒犻櫎"), + } + ), + ]), + ], + } + ); + }, + width: 100, + align: "center", + fixed: "right", + }, ]; }, // 鍔犺浇鏁版嵁琛�@@ -351,13 +335,7 @@ }); }, resize() { - let height = - this.refView.clientHeight - - this.$el.querySelector(".search-form").clientHeight - - this.$el.querySelector(".buttons").clientHeight - - 9 - - 9; - this.tableHeight = height; + this.height = this.refView.clientHeight - 20; }, onAddClick() { this.infoDialog.model = "add"; @@ -440,6 +418,7 @@ }, }, async mounted() { + await this.loadForm(); await this.loadColumns(); this.$nextTick(() => { this.resize(); @@ -456,8 +435,7 @@ <style lang="less"> .example-data-table { height: 100%; - .search-form, - .buttons { + .search-form { margin-bottom: 9px; } .table { diff --git a/src/views/examples/master-slave.vue b/src/views/examples/master-slave.vue index 1724a5e..eb8dfd1 100644 --- a/src/views/examples/master-slave.vue +++ b/src/views/examples/master-slave.vue @@ -8,72 +8,10 @@ > <template #top> <div class="top-view" ref="refTopView"> - <div class="search-form"> - <Form :model="topForm" :label-width="110"> - <Row> - <Col span="6"> - <FormItem label="浠撳簱缂栫爜锛�> - <Input v-model="topForm.code" size="small"></Input> - </FormItem> - </Col> - <Col span="6"> - <FormItem label="浠撳簱鍚嶇О锛�> - <Input v-model="topForm.name" size="small"></Input> - </FormItem> - </Col> - <Col span="6"> - <FormItem label="浠撳簱璐熻矗浜猴細"> - <Input v-model="topForm.leader" size="small"></Input> - </FormItem> - </Col> - <Col span="6"> - <FormItem label="浠撳簱鐢佃瘽锛�> - <Input v-model="topForm.tel" size="small"></Input> - </FormItem> - </Col> - </Row> - <Row> - <Col span="6"> - <FormItem label="涓婄骇浠撳簱缂栫爜锛�> - <Input v-model="topForm.topCode" size="small"></Input> - </FormItem> - </Col> - <Col span="6"> - <FormItem label="鍦板潃锛�> - <Input v-model="topForm.address" size="small"></Input> - </FormItem> - </Col> - <Col span="4"> - <FormItem :label-width="34"> - <Checkbox v-model="topForm.isThisLevel" size="small" - >鏄惁鏈骇</Checkbox - > - </FormItem> - </Col> - <Col span="4"> - <FormItem :label-width="34"> - <Checkbox v-model="topForm.isEscorw" size="small" - >鏄惁浠g</Checkbox - > - </FormItem> - </Col> - <Col span="4"> - <FormItem :label-width="34"> - <Checkbox v-model="topForm.isEnable" size="small" - >鏄惁鍚敤</Checkbox - > - </FormItem> - </Col> - </Row> - </Form> - </div> - <div class="buttons"> - <Button type="warning" size="small" @click="onClearClick" - >娓呯┖鏌ヨ</Button - > - </div> <DataTable - :tableHeight="tableTopHeight" + :buttons="topButtons" + :formObject="topFormObject" + :height="topHeight" :columns="topColumns" :data="topData" :page="topPage" @@ -81,6 +19,7 @@ :limits="topLimits" :total="topTotal" :loading="topLoading" + pagePlacement="top" highlight-row @on-current-change="onCurrentChange" @on-change="onPageChange" @@ -94,14 +33,31 @@ <template #bottom> <div class="bottom-view" ref="refBottomView"> <DataTable - :tableHeight="tableBottomHeight" + :showForm="false" + :showTopButtons="false" + :height="bottomHeight" :columns="bottomColumns" :data="bottomData" :paged="false" + size="small" + @on-row-click="onBottomRowClick" ></DataTable> </div> </template> </Split> + <Drawer + title="婕旂ず" + closable + v-model="thirdDataDialog.visible" + :width="thirdDataDialog.width" + :mask-closable="false" + :mask="false" + draggable + > + <p>Some contents...</p> + <p>Some contents...</p> + <p>Some contents...</p> + </Drawer> <Spin fix :show="loading" /> </div> </template> @@ -118,11 +74,21 @@ return { // 鍒嗛殧姣斾緥 split: 0.8, + topFormObject: { + options: {}, + items: [], + }, // 涓昏〃鍙傛暟瀹氫箟 + topButtons: [ + { + showName: "娓呯┖鏌ヨ", + onClick: () => this.onClearClick(), + }, + ], topColumns: [], topData: [], - tableTopHeight: 0, - tableBottomHeight: 0, + topHeight: 0, + bottomHeight: 0, topForm: { code: "", name: "", @@ -143,11 +109,89 @@ // 浠庤〃鍙傛暟瀹氫箟 bottomColumns: [], bottomData: [], + // 涓夌骇鏁版嵁婕旂ず + thirdDataDialog: { + visible: false, + width: 500, + }, loading: false, }; }, methods: { + async loadTopForm() { + this.topFormObject.options = { + labelWidth: 110, + }; + this.topFormObject.items = [ + { + label: "浠撳簱缂栫爜锛�, + field: "SupplierCode", + value: "", + type: "input", + span: 6, + }, + { + label: "浠撳簱鍚嶇О锛�, + field: "SupplierName", + value: "", + type: "input", + span: 6, + }, + { + label: "浠撳簱璐熻矗浜猴細", + field: "ASNCode", + value: "", + type: "input", + span: 6, + }, + { + label: "浠撳簱鐢佃瘽锛�, + field: "Invertory", + value: "", + type: "input", + span: 6, + }, + { + label: "涓婄骇浠撳簱缂栫爜锛�, + field: "PurchaseOrderNo", + value: "", + type: "input", + span: 6, + }, + { + label: "鍦板潃锛�, + field: "OrderDate", + value: "", + type: "input", + span: 18, + }, + { + label: "鏄惁鏈骇", + field: "isThisLevel", + value: false, + type: "checkbox", + span: 6, + onChange: () => {}, + }, + { + label: "鏄惁浠g", + field: "isEscorw", + value: false, + type: "checkbox", + span: 6, + onChange: () => {}, + }, + { + label: "鏄惁鍚敤", + field: "isEnable", + value: false, + type: "checkbox", + span: 6, + onChange: () => {}, + }, + ]; + }, async loadTopColumns() { this.topColumns = [ { @@ -405,14 +449,9 @@ }, resize() { this.$nextTick(() => { - let topHeight = - this.refTopView.clientHeight - - this.$el.querySelector(".search-form").clientHeight - - this.$el.querySelector(".buttons").clientHeight - - 9; - this.tableTopHeight = topHeight; + this.topHeight = this.refTopView.clientHeight - 10; let bottomHeight = this.refBottomView.clientHeight - 9; - this.tableBottomHeight = bottomHeight; + this.bottomHeight = bottomHeight; }); }, // 涓昏〃鍒囨崲閫夋嫨琛屾椂瑙﹀彂 @@ -441,6 +480,12 @@ onClearClick() { this.reset(); }, + onBottomRowClick(row, index) { + this.showThirdData(row); + }, + showThirdData() { + this.thirdDataDialog.visible = true; + }, reset() { this.topForm.code = ""; this.topForm.name = ""; @@ -454,6 +499,7 @@ }, }, async mounted() { + await this.loadTopForm(); await this.loadTopColumns(); await this.loadBottomColumns(); this.$nextTick(async () => { @@ -475,8 +521,7 @@ height: 100%; .top-view { height: 100%; - .search-form, - .buttons { + .search-form { margin-bottom: 9px; } } diff --git a/src/views/examples/report.vue b/src/views/examples/report.vue index 5f41da9..1103947 100644 --- a/src/views/examples/report.vue +++ b/src/views/examples/report.vue @@ -1,141 +1,21 @@ <template> <div class="example-report-view" ref="refView"> - <div class="search-form"> - <Form :model="form" :label-width="110"> - <Row> - <Col span="6"> - <FormItem label="渚涘簲鍟嗙紪鐮侊細"> - <Input v-model="form.SupplierCode" size="small"> - <template #suffix> - <Icon type="ios-more" /> - </template> - </Input> - </FormItem> - </Col> - <Col span="6"> - <FormItem label="渚涘簲鍟嗗悕绉帮細"> - <Input v-model="form.SupplierName" size="small"></Input> - </FormItem> - </Col> - <Col span="6"> - <FormItem label="ASN鍗曞彿锛�> - <Input v-model="form.ASNCode" size="small"> - <template #suffix> <Icon type="ios-more" /> </template - ></Input> - </FormItem> - </Col> - <Col span="6"> - <FormItem label="瀛樿揣锛�> - <Input v-model="form.Invertory" size="small"> - <template #suffix> <Icon type="ios-more" /> </template - ></Input> - </FormItem> - </Col> - </Row> - <Row> - <Col span="6"> - <FormItem label="浠h喘璁㈠崟鍙凤細"> - <Input v-model="form.PurchaseOrderNo" size="small"> - <template #suffix> <Icon type="ios-more" /> </template - ></Input> - </FormItem> - </Col> - <Col span="12"> - <FormItem label="璁㈠崟浜ゆ湡锛�> - <DatePicker - type="daterange" - v-model="form.OrderDate" - separator=" 鑷�" - size="small" - style="width: 100%" - ></DatePicker> - </FormItem> - </Col> - <Col span="6"> - <FormItem label="鐘舵�锛�> - <Select v-model="form.State" size="small"> - <Option :value="0">涓�/Option> - <Option :value="1">浜�/Option> - <Option :value="2">涓�/Option> - </Select> - </FormItem> - </Col> - </Row> - <Row> - <Col span="6"> - <FormItem label="閲囪喘鍛橈細"> - <Input v-model="form.Purchase" size="small"></Input> - </FormItem> - </Col> - <Col span="6"> - <FormItem label="閲囪喘绫诲瀷锛�> - <Select v-model="form.PurchaseType" size="small"> - <Option :value="0">涓�/Option> - <Option :value="1">浜�/Option> - <Option :value="2">涓�/Option> - </Select> - </FormItem> - </Col> - <Col span="6"> - <FormItem label="鍗曟嵁绫诲瀷锛�> - <Select v-model="form.DocumentType" size="small"> - <Option :value="0">涓�/Option> - <Option :value="1">浜�/Option> - <Option :value="2">涓�/Option> - </Select> - </FormItem> - </Col> - <Col span="6"> - <FormItem label="鍏抽棴鐘舵�锛�> - <Select v-model="form.CloseState" size="small"> - <Option :value="0">涓�/Option> - <Option :value="1">浜�/Option> - <Option :value="2">涓�/Option> - </Select> - </FormItem> - </Col> - </Row> - <Row> - <Col span="6"> - <FormItem label="鏄惁鍒拌揣瀹屾垚锛�> - <Select v-model="form.IsArrived" size="small"> - <Option :value="0">涓�/Option> - <Option :value="1">浜�/Option> - <Option :value="2">涓�/Option> - </Select> - </FormItem> - </Col> - <Col span="6"> - <FormItem label="ASN鍒涘缓鏃ユ湡锛�> - <DatePicker type="date" v-model="form.CreateTime" size="small" /> - </FormItem> - </Col> - </Row> - </Form> - </div> - <div class="buttons"> - <Space> - <Button type="primary" size="small" @click="onSearchClick">鏌ヨ</Button> - <Button type="primary" size="small" @click="onClearClick">娓呯┖</Button> - <Button type="success" size="small" @click="onExportClick">瀵煎嚭</Button> - </Space> - </div> - <div class="table"> - <DataTable - :tableHeight="tableHeight" - :columns="columns" - :data="data" - :page="page" - :limit="limit" - :limits="limits" - :total="total" - :loading="loading" - @on-change="onPageChange" - @on-page-size-change="onPageSizeChange" - @on-prev="onPrev" - @on-next="onNext" - ></DataTable> - </div> + <DataTable + :height="height" + :formObject="formObject" + :buttons="buttons" + :columns="columns" + :data="data" + :page="page" + :limit="limit" + :limits="limits" + :total="total" + :loading="loading" + @on-change="onPageChange" + @on-page-size-change="onPageSizeChange" + @on-prev="onPrev" + @on-next="onNext" + ></DataTable> </div> </template> @@ -150,25 +30,27 @@ }, data() { return { + formObject: { + options: {}, + items: [], + }, + buttons: [ + { + showName: "鏌ヨ", + onClick: () => this.onSearchClick(), + }, + { + showName: "娓呯┖", + onClick: () => this.onClearClick(), + }, + { + showName: "瀵煎嚭", + onClick: () => this.onExportClick(), + }, + ], columns: [], data: [], - tableHeight: 0, - // 鏌ヨ琛ㄥ崟鐨勫畾涔�- form: { - SupplierCode: "", - ASNName: "", - ASNCode: "", - Invertory: "", - PurchaseOrderNo: "", - OrderDate: [], - State: "", - Purchase: "", - PurchaseType: "", - DocumentType: "", - CloseState: "", - IsArrived: "", - ASNCreateDate: "", - }, + height: 0, // 鍒嗛〉鍙傛暟 page: 1, limit: 30, @@ -178,6 +60,85 @@ }; }, methods: { + async loadForm() { + this.formObject.options = { + labelWidth: 110, + }; + this.formObject.items = [ + { + label: "渚涘簲鍟嗙紪鐮侊細", + field: "SupplierCode", + value: "", + type: "input", + suffix: "ios-more", + span: 6, + onSuffixClick: () => {}, + }, + { + label: "渚涘簲鍟嗗悕绉帮細", + field: "SupplierName", + value: "", + type: "input", + suffix: "ios-more", + span: 6, + onSuffixClick: () => {}, + }, + { + label: "ASN鍗曞彿锛�, + field: "ASNCode", + value: "", + type: "input", + suffix: "ios-more", + span: 6, + onSuffixClick: () => {}, + }, + { + label: "瀛樿揣锛�, + field: "Invertory", + value: "", + type: "input", + suffix: "ios-more", + span: 6, + onSuffixClick: () => {}, + }, + { + label: "浠h喘璁㈠崟鍙凤細", + field: "PurchaseOrderNo", + value: "", + type: "input", + suffix: "ios-more", + span: 6, + onSuffixClick: () => {}, + }, + { + label: "璁㈠崟浜ゆ湡锛�, + field: "OrderDate", + value: "", + type: "daterange", + span: 12, + onChange: () => {}, + }, + { + label: "鐘舵�锛�, + field: "State", + value: "", + type: "input", + span: 6, + options: [ + { labe: "涓�, value: 1 }, + { labe: "浜�, value: 2 }, + { labe: "涓�, value: 3 }, + ], + }, + { + label: "閲囪喘鍛橈細", + field: "Purchase", + value: "", + type: "input", + span: 6, + }, + ]; + }, async loadColumns() { this.columns = [ { @@ -320,13 +281,7 @@ }); }, resize() { - let height = - this.refView.clientHeight - - this.$el.querySelector(".search-form").clientHeight - - this.$el.querySelector(".buttons").clientHeight - - 9 - - 9; - this.tableHeight = height; + this.height = this.refView.clientHeight - 20; }, onSearchClick() { alert(JSON.stringify(this.form, "", " ")); @@ -368,6 +323,7 @@ }, }, async mounted() { + await this.loadForm(); await this.loadColumns(); this.loadData(); this.$nextTick(() => { @@ -384,21 +340,5 @@ <style lang="less"> .example-report-view { height: 100%; - .search-form, - .buttons { - margin-bottom: 9px; - } - .table { - height: calc(100% - 170px); - } - .ivu-form .ivu-form-item-label, - .ivu-checkbox-wrapper { - font-size: 12px; - } - .ivu-input-wrapper { - .ivu-icon { - cursor: pointer; - } - } } </style> \ No newline at end of file diff --git a/vite.config.js b/vite.config.js index 9e3d9be..cfd50df 100644 --- a/vite.config.js +++ b/vite.config.js @@ -2,13 +2,11 @@ import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' -import vueDevTools from 'vite-plugin-vue-devtools' // https://vite.dev/config/ export default defineConfig({ plugins: [ vue(), - vueDevTools(), ], resolve: { alias: { -- Gitblit v1.9.1