diff --git a/CHANGELOG.md b/CHANGELOG.md index 44032d4f..364f91d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,8 +3,16 @@ -

Version 2.2.4 - ??/??/2024

+

Version 2.3.0 - ??/??/2024

@@ -27,7 +35,7 @@
  • The toolbar button is now always visible.
  • Folders select dropdown text color fixed.
  • Weekdays chart fixed [#374].
  • -
  • Improved the positioning of the labels on the Inbox Zero Folders graphs [#370, #373].
  • +
  • Improved the positioning of the labels on the Inbox Zero Folders charts [#370, #373].
  • In the advanced filters panel is now possible to check the "include subolders" checkbox clicking on its label [#371].
  • Inbox percentage loading indicator timing fixed [#376].
  • Fixed a label error in the weekdays chart, which misordered the days relative to the number of emails.
  • @@ -39,7 +47,7 @@
  • Added the total number of mails in aggregate stats in Today Tab, Yesterday Tab, 7 Days Tab and Custom View Tabs. This total also considers business days only if the corresponding option is active [#323].
  • -
  • Added an option to display today's time graph lines only up to the current hour [#302].
  • -
  • In today's time graph, a vertical line has been added to indicate the current hour [#79].
  • +
  • Added an option to display Today Tab's Time Chart lines only up to the current hour [#302].
  • +
  • In Today Tab's Time Chart, a vertical line has been added to indicate the current hour [#79].
  • Some options have been moved from the options page "Advanced" tab to the "General" tab.
  • Displaying the last execution time for each tab [#314].
  • Changed the color of the 'Today' bar in the 7-Days Tab Chart [#326].
  • @@ -90,7 +98,7 @@
  • Added dark mode [#197].
  • It's now possibile to define a locale for the datepicker different from the default one [#238].
  • Added an option to choose to remember last opened tab [#232].
  • -
  • The Time Graph is now a line graph [#198].
  • +
  • The Time Chart is now a line chart [#198].
  • Added info for the last days in the Yesterday Tab [#276].
  • The elaboration time is now shown [#218].
  • The results are displayed as they become available [#219].
  • diff --git a/README.md b/README.md index 7fa0a6b1..c04156a1 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ More info on [#194](https://github.com/micz/ThunderStats/issues/194) and [#195]( ## Features - Sent and received mails -- Day time graph +- Day time chart - Top senders and recipients list - Inbox Zero status - Multiple days and Custom range date statistics with: @@ -101,3 +101,5 @@ Loading SVGs thanks to https://loading.io Business Days and Export Data icons thanks to https://www.iconarchive.com/artist/custom-icon-design.html +[Fluent Design System](https://www.iconfinder.com/fluent-designsystem) for the sorting icons + diff --git a/jsconfig.json b/jsconfig.json index 6bb87691..7ee92a05 100644 --- a/jsconfig.json +++ b/jsconfig.json @@ -2,8 +2,9 @@ "compilerOptions": { "paths": { "@/*": ["./src/*"], - "@statslib/*": ["./statslib/*"] + "@statslib/*": ["./statslib/*"], + "@public/*": ["./public/*"] } }, - "exclude": ["node_modules", "dist"] + "exclude": ["node_modules", "dist", ".github"], } diff --git a/package-lock.json b/package-lock.json index a745cb03..fd3ac164 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "thunderstats", - "version": "2.2.4", + "version": "2.3.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "thunderstats", - "version": "2.2.4", + "version": "2.3.0", "dependencies": { "@imengyu/vue3-context-menu": "^1.4.1", "@vueform/multiselect": "^2.6.10", @@ -22,10 +22,32 @@ "vite": "^5.4.6" } }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/parser": { - "version": "7.24.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz", - "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==", + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz", + "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.26.0" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -33,6 +55,19 @@ "node": ">=6.0.0" } }, + "node_modules/@babel/types": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", + "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@esbuild/aix-ppc64": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", @@ -41,6 +76,7 @@ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "aix" @@ -57,6 +93,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -73,6 +110,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -89,6 +127,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" @@ -105,6 +144,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -121,6 +161,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -137,6 +178,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -153,6 +195,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" @@ -169,6 +212,7 @@ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -185,6 +229,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -201,6 +246,7 @@ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -217,6 +263,7 @@ "loong64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -233,6 +280,7 @@ "mips64el" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -249,6 +297,7 @@ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -265,6 +314,7 @@ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -281,6 +331,7 @@ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -297,6 +348,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" @@ -313,6 +365,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "netbsd" @@ -329,6 +382,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openbsd" @@ -345,6 +399,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "sunos" @@ -361,6 +416,7 @@ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -377,6 +433,7 @@ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -393,6 +450,7 @@ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" @@ -402,238 +460,286 @@ } }, "node_modules/@imengyu/vue3-context-menu": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@imengyu/vue3-context-menu/-/vue3-context-menu-1.4.1.tgz", - "integrity": "sha512-34WInBVx0Mr0zSsRCQWG7ezHk0JzOuZqE4T8ywI82mbk/jfWBRtTkKHYSZbtmw2oYEfDFwCWdM/gur7QFAXYMA==" + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@imengyu/vue3-context-menu/-/vue3-context-menu-1.4.3.tgz", + "integrity": "sha512-W2rT+xllLSg+u/Z36jE+mrjzO8gCIw0YDDyBxywuASmwrBotU4deftW8Zz9GK/QEHBRNyV5nBINZJo2J257Wlg==", + "license": "MIT" }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" }, "node_modules/@kurkle/color": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz", - "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==" + "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==", + "license": "MIT" }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.22.4.tgz", - "integrity": "sha512-Fxamp4aEZnfPOcGA8KSNEohV8hX7zVHOemC8jVBoBUHu5zpJK/Eu3uJwt6BMgy9fkvzxDaurgj96F/NiLukF2w==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.26.0.tgz", + "integrity": "sha512-gJNwtPDGEaOEgejbaseY6xMFu+CPltsc8/T+diUTTbOQLqD+bnrJq9ulH6WD69TqwqWmrfRAtUv30cCFZlbGTQ==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.22.4.tgz", - "integrity": "sha512-VXoK5UMrgECLYaMuGuVTOx5kcuap1Jm8g/M83RnCHBKOqvPPmROFJGQaZhGccnsFtfXQ3XYa4/jMCJvZnbJBdA==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.26.0.tgz", + "integrity": "sha512-YJa5Gy8mEZgz5JquFruhJODMq3lTHWLm1fOy+HIANquLzfIOzE9RA5ie3JjCdVb9r46qfAQY/l947V0zfGJ0OQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.22.4.tgz", - "integrity": "sha512-xMM9ORBqu81jyMKCDP+SZDhnX2QEVQzTcC6G18KlTQEzWK8r/oNZtKuZaCcHhnsa6fEeOBionoyl5JsAbE/36Q==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.26.0.tgz", + "integrity": "sha512-ErTASs8YKbqTBoPLp/kA1B1Um5YSom8QAc4rKhg7b9tyyVqDBlQxy7Bf2wW7yIlPGPg2UODDQcbkTlruPzDosw==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.22.4.tgz", - "integrity": "sha512-aJJyYKQwbHuhTUrjWjxEvGnNNBCnmpHDvrb8JFDbeSH3m2XdHcxDd3jthAzvmoI8w/kSjd2y0udT+4okADsZIw==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.26.0.tgz", + "integrity": "sha512-wbgkYDHcdWW+NqP2mnf2NOuEbOLzDblalrOWcPyY6+BRbVhliavon15UploG7PpBRQ2bZJnbmh8o3yLoBvDIHA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ] }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.26.0.tgz", + "integrity": "sha512-Y9vpjfp9CDkAG4q/uwuhZk96LP11fBz/bYdyg9oaHYhtGZp7NrbkQrj/66DYMMP2Yo/QPAsVHkV891KyO52fhg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.26.0.tgz", + "integrity": "sha512-A/jvfCZ55EYPsqeaAt/yDAG4q5tt1ZboWMHEvKAH9Zl92DWvMIbnZe/f/eOXze65aJaaKbL+YeM0Hz4kLQvdwg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.22.4.tgz", - "integrity": "sha512-j63YtCIRAzbO+gC2L9dWXRh5BFetsv0j0va0Wi9epXDgU/XUi5dJKo4USTttVyK7fGw2nPWK0PbAvyliz50SCQ==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.26.0.tgz", + "integrity": "sha512-paHF1bMXKDuizaMODm2bBTjRiHxESWiIyIdMugKeLnjuS1TCS54MF5+Y5Dx8Ui/1RBPVRE09i5OUlaLnv8OGnA==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.22.4.tgz", - "integrity": "sha512-dJnWUgwWBX1YBRsuKKMOlXCzh2Wu1mlHzv20TpqEsfdZLb3WoJW2kIEsGwLkroYf24IrPAvOT/ZQ2OYMV6vlrg==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.26.0.tgz", + "integrity": "sha512-cwxiHZU1GAs+TMxvgPfUDtVZjdBdTsQwVnNlzRXC5QzIJ6nhfB4I1ahKoe9yPmoaA/Vhf7m9dB1chGPpDRdGXg==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.22.4.tgz", - "integrity": "sha512-AdPRoNi3NKVLolCN/Sp4F4N1d98c4SBnHMKoLuiG6RXgoZ4sllseuGioszumnPGmPM2O7qaAX/IJdeDU8f26Aw==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.26.0.tgz", + "integrity": "sha512-4daeEUQutGRCW/9zEo8JtdAgtJ1q2g5oHaoQaZbMSKaIWKDQwQ3Yx0/3jJNmpzrsScIPtx/V+1AfibLisb3AMQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.22.4.tgz", - "integrity": "sha512-Gl0AxBtDg8uoAn5CCqQDMqAx22Wx22pjDOjBdmG0VIWX3qUBHzYmOKh8KXHL4UpogfJ14G4wk16EQogF+v8hmA==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.26.0.tgz", + "integrity": "sha512-eGkX7zzkNxvvS05ROzJ/cO/AKqNvR/7t1jA3VZDi2vRniLKwAWxUr85fH3NsvtxU5vnUUKFHKh8flIBdlo2b3Q==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.22.4.tgz", - "integrity": "sha512-3aVCK9xfWW1oGQpTsYJJPF6bfpWfhbRnhdlyhak2ZiyFLDaayz0EP5j9V1RVLAAxlmWKTDfS9wyRyY3hvhPoOg==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.26.0.tgz", + "integrity": "sha512-Odp/lgHbW/mAqw/pU21goo5ruWsytP7/HCC/liOt0zcGG0llYWKrd10k9Fj0pdj3prQ63N5yQLCLiE7HTX+MYw==", "cpu": [ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.22.4.tgz", - "integrity": "sha512-ePYIir6VYnhgv2C5Xe9u+ico4t8sZWXschR6fMgoPUK31yQu7hTEJb7bCqivHECwIClJfKgE7zYsh1qTP3WHUA==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.26.0.tgz", + "integrity": "sha512-MBR2ZhCTzUgVD0OJdTzNeF4+zsVogIR1U/FsyuFerwcqjZGvg2nYe24SAHp8O5sN8ZkRVbHwlYeHqcSQ8tcYew==", "cpu": [ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.22.4.tgz", - "integrity": "sha512-GqFJ9wLlbB9daxhVlrTe61vJtEY99/xB3C8e4ULVsVfflcpmR6c8UZXjtkMA6FhNONhj2eA5Tk9uAVw5orEs4Q==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.26.0.tgz", + "integrity": "sha512-YYcg8MkbN17fMbRMZuxwmxWqsmQufh3ZJFxFGoHjrE7bv0X+T6l3glcdzd7IKLiwhT+PZOJCblpnNlz1/C3kGQ==", "cpu": [ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.22.4.tgz", - "integrity": "sha512-87v0ol2sH9GE3cLQLNEy0K/R0pz1nvg76o8M5nhMR0+Q+BBGLnb35P0fVz4CQxHYXaAOhE8HhlkaZfsdUOlHwg==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.26.0.tgz", + "integrity": "sha512-ZuwpfjCwjPkAOxpjAEjabg6LRSfL7cAJb6gSQGZYjGhadlzKKywDkCUnJ+KEfrNY1jH5EEoSIKLCb572jSiglA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.22.4.tgz", - "integrity": "sha512-UV6FZMUgePDZrFjrNGIWzDo/vABebuXBhJEqrHxrGiU6HikPy0Z3LfdtciIttEUQfuDdCn8fqh7wiFJjCNwO+g==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.26.0.tgz", + "integrity": "sha512-+HJD2lFS86qkeF8kNu0kALtifMpPCZU80HvwztIKnYwym3KnA1os6nsX4BGSTLtS2QVAGG1P3guRgsYyMA0Yhg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.22.4.tgz", - "integrity": "sha512-BjI+NVVEGAXjGWYHz/vv0pBqfGoUH0IGZ0cICTn7kB9PyjrATSkX+8WkguNjWoj2qSr1im/+tTGRaY+4/PdcQw==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.26.0.tgz", + "integrity": "sha512-WUQzVFWPSw2uJzX4j6YEbMAiLbs0BUysgysh8s817doAYhR5ybqTI1wtKARQKo6cGop3pHnrUJPFCsXdoFaimQ==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.22.4.tgz", - "integrity": "sha512-SiWG/1TuUdPvYmzmYnmd3IEifzR61Tragkbx9D3+R8mzQqDBz8v+BvZNDlkiTtI9T15KYZhP0ehn3Dld4n9J5g==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.26.0.tgz", + "integrity": "sha512-D4CxkazFKBfN1akAIY6ieyOqzoOoBV1OICxgUblWxff/pSjCA2khXlASUx7mK6W1oP4McqhgcCsu6QaLj3WMWg==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.22.4.tgz", - "integrity": "sha512-j8pPKp53/lq9lMXN57S8cFz0MynJk8OWNuUnXct/9KCpKU7DgU3bYMJhwWmcqC0UU29p8Lr0/7KEVcaM6bf47Q==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.26.0.tgz", + "integrity": "sha512-2x8MO1rm4PGEP0xWbubJW5RtbNLk3puzAMaLQd3B3JHVw4KcHlmXcO+Wewx9zCoo7EUFiMlu/aZbCJ7VjMzAag==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ] }, "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true, + "license": "MIT" }, "node_modules/@vitejs/plugin-vue": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.1.4.tgz", - "integrity": "sha512-N2XSI2n3sQqp5w7Y/AN/L2XDjBIRGqXko+eDp42sydYSBeJuSm5a1sLf8zakmo8u7tA8NmBgoDLA1HeOESjp9A==", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.0.tgz", + "integrity": "sha512-7n7KdUEtx/7Yl7I/WVAMZ1bEb0eVvXF3ummWTeLcs/9gvo9pJhuLdouSXGjdZ/MKD1acf1I272+X0RMua4/R3g==", "dev": true, "license": "MIT", "engines": { @@ -645,94 +751,104 @@ } }, "node_modules/@vue/compiler-core": { - "version": "3.4.21", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.21.tgz", - "integrity": "sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==", + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.12.tgz", + "integrity": "sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==", + "license": "MIT", "dependencies": { - "@babel/parser": "^7.23.9", - "@vue/shared": "3.4.21", + "@babel/parser": "^7.25.3", + "@vue/shared": "3.5.12", "entities": "^4.5.0", "estree-walker": "^2.0.2", - "source-map-js": "^1.0.2" + "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-dom": { - "version": "3.4.21", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.21.tgz", - "integrity": "sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==", + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.12.tgz", + "integrity": "sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==", + "license": "MIT", "dependencies": { - "@vue/compiler-core": "3.4.21", - "@vue/shared": "3.4.21" + "@vue/compiler-core": "3.5.12", + "@vue/shared": "3.5.12" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.4.21", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.21.tgz", - "integrity": "sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==", + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.12.tgz", + "integrity": "sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==", + "license": "MIT", "dependencies": { - "@babel/parser": "^7.23.9", - "@vue/compiler-core": "3.4.21", - "@vue/compiler-dom": "3.4.21", - "@vue/compiler-ssr": "3.4.21", - "@vue/shared": "3.4.21", + "@babel/parser": "^7.25.3", + "@vue/compiler-core": "3.5.12", + "@vue/compiler-dom": "3.5.12", + "@vue/compiler-ssr": "3.5.12", + "@vue/shared": "3.5.12", "estree-walker": "^2.0.2", - "magic-string": "^0.30.7", - "postcss": "^8.4.35", - "source-map-js": "^1.0.2" + "magic-string": "^0.30.11", + "postcss": "^8.4.47", + "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-ssr": { - "version": "3.4.21", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.21.tgz", - "integrity": "sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==", + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.12.tgz", + "integrity": "sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==", + "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.4.21", - "@vue/shared": "3.4.21" + "@vue/compiler-dom": "3.5.12", + "@vue/shared": "3.5.12" } }, "node_modules/@vue/reactivity": { - "version": "3.4.21", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.21.tgz", - "integrity": "sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==", + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.12.tgz", + "integrity": "sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==", + "license": "MIT", "dependencies": { - "@vue/shared": "3.4.21" + "@vue/shared": "3.5.12" } }, "node_modules/@vue/runtime-core": { - "version": "3.4.21", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.21.tgz", - "integrity": "sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==", + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.12.tgz", + "integrity": "sha512-hrMUYV6tpocr3TL3Ad8DqxOdpDe4zuQY4HPY3X/VRh+L2myQO8MFXPAMarIOSGNu0bFAjh1yBkMPXZBqCk62Uw==", + "license": "MIT", "dependencies": { - "@vue/reactivity": "3.4.21", - "@vue/shared": "3.4.21" + "@vue/reactivity": "3.5.12", + "@vue/shared": "3.5.12" } }, "node_modules/@vue/runtime-dom": { - "version": "3.4.21", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.21.tgz", - "integrity": "sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==", + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.12.tgz", + "integrity": "sha512-q8VFxR9A2MRfBr6/55Q3umyoN7ya836FzRXajPB6/Vvuv0zOPL+qltd9rIMzG/DbRLAIlREmnLsplEF/kotXKA==", + "license": "MIT", "dependencies": { - "@vue/runtime-core": "3.4.21", - "@vue/shared": "3.4.21", + "@vue/reactivity": "3.5.12", + "@vue/runtime-core": "3.5.12", + "@vue/shared": "3.5.12", "csstype": "^3.1.3" } }, "node_modules/@vue/server-renderer": { - "version": "3.4.21", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.21.tgz", - "integrity": "sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==", + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.12.tgz", + "integrity": "sha512-I3QoeDDeEPZm8yR28JtY+rk880Oqmj43hreIBVTicisFTx/Dl7JpG72g/X7YF8hnQD3IFhkky5i2bPonwrTVPg==", + "license": "MIT", "dependencies": { - "@vue/compiler-ssr": "3.4.21", - "@vue/shared": "3.4.21" + "@vue/compiler-ssr": "3.5.12", + "@vue/shared": "3.5.12" }, "peerDependencies": { - "vue": "3.4.21" + "vue": "3.5.12" } }, "node_modules/@vue/shared": { - "version": "3.4.21", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.21.tgz", - "integrity": "sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==" + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.12.tgz", + "integrity": "sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==", + "license": "MIT" }, "node_modules/@vueform/multiselect": { "version": "2.6.10", @@ -741,23 +857,22 @@ "license": "MIT" }, "node_modules/@vuepic/vue-datepicker": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/@vuepic/vue-datepicker/-/vue-datepicker-8.7.0.tgz", - "integrity": "sha512-EqL51GdaRg6AExVuPCOmnO81n9+oLqgTi+LlST44TwU0UcX0UfefHx1HXwV948fAqBgj0ESgTyDvjXx7EFFL2A==", + "version": "8.8.1", + "resolved": "https://registry.npmjs.org/@vuepic/vue-datepicker/-/vue-datepicker-8.8.1.tgz", + "integrity": "sha512-8ehfUz1m69Vuc16Pm4ukgb3Mg1VT14x4EsG1ag4O/qbSNRWztTo+pUV4JnFt0FGLl5gGb6NXlxIvR7EjLgD7Gg==", + "license": "MIT", "dependencies": { "date-fns": "^3.6.0" }, - "engines": { - "node": ">=18.12.0" - }, "peerDependencies": { "vue": ">=3.2.0" } }, "node_modules/chart.js": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.2.tgz", - "integrity": "sha512-6GD7iKwFpP5kbSD4MeRRRlTnQvxfQREy36uEtm1hzHzcOqwWx0YEHuspuoNlslu+nciLIB7fjjsHkUv/FzFcOg==", + "version": "4.4.6", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.6.tgz", + "integrity": "sha512-8Y406zevUPbbIBA/HRk33khEmQPk5+cxeflWE/2rx1NJsjVWMPw/9mSP9rxHP5eqi6LNoPBVMfZHxbwLSgldYA==", + "license": "MIT", "dependencies": { "@kurkle/color": "^0.3.0" }, @@ -769,6 +884,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/chartjs-plugin-datalabels/-/chartjs-plugin-datalabels-2.2.0.tgz", "integrity": "sha512-14ZU30lH7n89oq+A4bWaJPnAG8a7ZTk7dKf48YAzMvJjQtjrgg5Dpk9f+LbjCF6bpx3RAGTeL13IXpKQYyRvlw==", + "license": "MIT", "peerDependencies": { "chart.js": ">=3.0.0" } @@ -776,12 +892,14 @@ "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "license": "MIT" }, "node_modules/date-fns": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.6.0.tgz", "integrity": "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==", + "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/kossnocorp" @@ -791,6 +909,7 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", "engines": { "node": ">=0.12" }, @@ -804,6 +923,7 @@ "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", "dev": true, "hasInstallScript": true, + "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -839,7 +959,8 @@ "node_modules/estree-walker": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" }, "node_modules/fsevents": { "version": "2.3.3", @@ -847,6 +968,7 @@ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -856,14 +978,12 @@ } }, "node_modules/magic-string": { - "version": "0.30.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.9.tgz", - "integrity": "sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==", + "version": "0.30.12", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.12.tgz", + "integrity": "sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==", + "license": "MIT", "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, "node_modules/nanoid": { @@ -876,6 +996,7 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -884,14 +1005,15 @@ } }, "node_modules/picocolors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", - "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" }, "node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", "funding": [ { "type": "opencollective", @@ -906,9 +1028,10 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.1.0", + "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, "engines": { @@ -916,12 +1039,13 @@ } }, "node_modules/rollup": { - "version": "4.22.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.22.4.tgz", - "integrity": "sha512-vD8HJ5raRcWOyymsR6Z3o6+RzfEPCnVLMFJ6vRslO1jt4LO6dUo5Qnpg7y4RkZFM2DMe3WUirkI5c16onjrc6A==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.26.0.tgz", + "integrity": "sha512-ilcl12hnWonG8f+NxU6BlgysVA0gvY2l8N0R84S1HcINbW20bvwuCngJkkInV6LXhwRpucsW5k1ovDwEdBVrNg==", "dev": true, + "license": "MIT", "dependencies": { - "@types/estree": "1.0.5" + "@types/estree": "1.0.6" }, "bin": { "rollup": "dist/bin/rollup" @@ -931,22 +1055,24 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.22.4", - "@rollup/rollup-android-arm64": "4.22.4", - "@rollup/rollup-darwin-arm64": "4.22.4", - "@rollup/rollup-darwin-x64": "4.22.4", - "@rollup/rollup-linux-arm-gnueabihf": "4.22.4", - "@rollup/rollup-linux-arm-musleabihf": "4.22.4", - "@rollup/rollup-linux-arm64-gnu": "4.22.4", - "@rollup/rollup-linux-arm64-musl": "4.22.4", - "@rollup/rollup-linux-powerpc64le-gnu": "4.22.4", - "@rollup/rollup-linux-riscv64-gnu": "4.22.4", - "@rollup/rollup-linux-s390x-gnu": "4.22.4", - "@rollup/rollup-linux-x64-gnu": "4.22.4", - "@rollup/rollup-linux-x64-musl": "4.22.4", - "@rollup/rollup-win32-arm64-msvc": "4.22.4", - "@rollup/rollup-win32-ia32-msvc": "4.22.4", - "@rollup/rollup-win32-x64-msvc": "4.22.4", + "@rollup/rollup-android-arm-eabi": "4.26.0", + "@rollup/rollup-android-arm64": "4.26.0", + "@rollup/rollup-darwin-arm64": "4.26.0", + "@rollup/rollup-darwin-x64": "4.26.0", + "@rollup/rollup-freebsd-arm64": "4.26.0", + "@rollup/rollup-freebsd-x64": "4.26.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.26.0", + "@rollup/rollup-linux-arm-musleabihf": "4.26.0", + "@rollup/rollup-linux-arm64-gnu": "4.26.0", + "@rollup/rollup-linux-arm64-musl": "4.26.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.26.0", + "@rollup/rollup-linux-riscv64-gnu": "4.26.0", + "@rollup/rollup-linux-s390x-gnu": "4.26.0", + "@rollup/rollup-linux-x64-gnu": "4.26.0", + "@rollup/rollup-linux-x64-musl": "4.26.0", + "@rollup/rollup-win32-arm64-msvc": "4.26.0", + "@rollup/rollup-win32-ia32-msvc": "4.26.0", + "@rollup/rollup-win32-x64-msvc": "4.26.0", "fsevents": "~2.3.2" } }, @@ -954,15 +1080,17 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/vite": { - "version": "5.4.6", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.6.tgz", - "integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==", + "version": "5.4.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.11.tgz", + "integrity": "sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==", "dev": true, + "license": "MIT", "dependencies": { "esbuild": "^0.21.3", "postcss": "^8.4.43", @@ -1018,15 +1146,16 @@ } }, "node_modules/vue": { - "version": "3.4.21", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.21.tgz", - "integrity": "sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==", + "version": "3.5.12", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.12.tgz", + "integrity": "sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==", + "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.4.21", - "@vue/compiler-sfc": "3.4.21", - "@vue/runtime-dom": "3.4.21", - "@vue/server-renderer": "3.4.21", - "@vue/shared": "3.4.21" + "@vue/compiler-dom": "3.5.12", + "@vue/compiler-sfc": "3.5.12", + "@vue/runtime-dom": "3.5.12", + "@vue/server-renderer": "3.5.12", + "@vue/shared": "3.5.12" }, "peerDependencies": { "typescript": "*" @@ -1038,9 +1167,10 @@ } }, "node_modules/vue-chartjs": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/vue-chartjs/-/vue-chartjs-5.3.1.tgz", - "integrity": "sha512-rZjqcHBxKiHrBl0CIvcOlVEBwRhpWAVf6rDU3vUfa7HuSRmGtCslc0Oc8m16oAVuk0erzc1FCtH1VCriHsrz+A==", + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/vue-chartjs/-/vue-chartjs-5.3.2.tgz", + "integrity": "sha512-NrkbRRoYshbXbWqJkTN6InoDVwVb90C0R7eAVgMWcB9dPikbruaOoTFjFYHE/+tNPdIe6qdLCDjfjPHQ0fw4jw==", + "license": "MIT", "peerDependencies": { "chart.js": "^4.1.1", "vue": "^3.0.0-0 || ^2.7.0" @@ -1050,6 +1180,7 @@ "version": "1.3.7", "resolved": "https://registry.npmjs.org/vue3-tabs-component/-/vue3-tabs-component-1.3.7.tgz", "integrity": "sha512-nitYlPlTrKCW8msQS1HdtajYNRAfZsSP+2wQQymJDGDCK3um62mXP4oKUgAF5pRe6md86LMRQud7Ic3zmu7Zpg==", + "license": "MIT", "peerDependencies": { "vue": "^3.0.0" } diff --git a/package.json b/package.json index 3f24c9d8..b36987f9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "thunderstats", - "version": "2.2.4", + "version": "2.3.0", "private": true, "type": "module", "scripts": { diff --git a/public/_locales/de/messages.json b/public/_locales/de/messages.json index 5175a5ec..32f42aad 100644 --- a/public/_locales/de/messages.json +++ b/public/_locales/de/messages.json @@ -736,5 +736,81 @@ "LastBusinessDayIs": { "message": "Der letzte Werktag ist", "description": "" + }, + "ReadStatus": { + "message": "Lesestatus", + "description": "" + }, + "FilterFoldersOnlyRead": { + "message": "Gelesen", + "description": "" + }, + "FilterFoldersOnlyUnread": { + "message": "Ungelesen", + "description": "" + }, + "FlagStatus": { + "message": "Sternstatus", + "description": "" + }, + "FilterFoldersOnlyFlagged": { + "message": "Markiert", + "description": "" + }, + "FilterFoldersOnlyUnflagged": { + "message": "Nicht markiert", + "description": "" + }, + "FilterFoldersAll": { + "message": "Alle", + "description": "" + }, + "FilterSubject": { + "message": "Betreff mit einem Schlüsselwort filtern", + "description": "" + }, + "WarnSearchCaseSensitive": { + "message": "Beachten Sie, dass die Suche groß- und kleinschreibungssensitiv ist. Die Suche nach „test“ ist anders als die Suche nach „Test“", + "description": "" + }, + "Domains": { + "message": "Domänen", + "description": "" + }, + "Tags": { + "message": "Tags", + "description": "" + }, + "InboxMailsDateSpreadingExtended": { + "message": "Posteingang - Datumsdetailansicht", + "description": "" + }, + "OrderBy": { + "message": "Sortieren nach", + "description": "" + }, + "Close": { + "message": "Schließen", + "description": "" + }, + "ViewDetails": { + "message": "Details anzeigen", + "description": "" + }, + "Folders": { + "message": "Ordner", + "description": "" + }, + "ShowTags": { + "message": "Tags anzeigen", + "description": "" + }, + "ShowFolders": { + "message": "Ordner anzeigen", + "description": "" + }, + "prefs_customqry_loaddata_when_opening_addon": { + "message": "Daten laden, auch wenn die benutzerdefinierte Ansicht der erste geöffnete Tab in ThunderStats ist", + "description": "" } } \ No newline at end of file diff --git a/public/_locales/en/messages.json b/public/_locales/en/messages.json index 348259bc..36901b63 100644 --- a/public/_locales/en/messages.json +++ b/public/_locales/en/messages.json @@ -736,5 +736,81 @@ "LastBusinessDayIs": { "message": "The last business day is", "description": "" + }, + "ReadStatus": { + "message": "Read Status", + "description": "" + }, + "FilterFoldersOnlyRead": { + "message": "Read", + "description": "" + }, + "FilterFoldersOnlyUnread": { + "message": "Unread", + "description": "" + }, + "FlagStatus": { + "message": "Star Status", + "description": "" + }, + "FilterFoldersOnlyFlagged": { + "message": "Starred", + "description": "" + }, + "FilterFoldersOnlyUnflagged": { + "message": "Unstarred", + "description": "" + }, + "FilterFoldersAll": { + "message": "All", + "description": "" + }, + "FilterSubject": { + "message": "Filter the subject with a keyword", + "description": "" + }, + "WarnSearchCaseSensitive": { + "message": "Be aware that the search is case sensitive. Searching for \"test\" is different from searching for \"Test\".", + "description": "" + }, + "Domains": { + "message": "Domains", + "description": "" + }, + "Tags": { + "message": "Tags", + "description": "" + }, + "InboxMailsDateSpreadingExtended": { + "message": "Inbox mails - Date details view", + "description": "" + }, + "OrderBy": { + "message": "Order by", + "description": "" + }, + "Close": { + "message": "Close", + "description": "" + }, + "ViewDetails": { + "message": "View Details", + "description": "" + }, + "Folders": { + "message": "Folders", + "description": "" + }, + "ShowTags": { + "message": "Show Tags", + "description": "" + }, + "ShowFolders": { + "message": "Show Folders", + "description": "" + }, + "prefs_customqry_loaddata_when_opening_addon": { + "message": "Load data even when Custom View is the first tab opened in ThunderStats", + "description": "" } } diff --git a/public/_locales/fr/messages.json b/public/_locales/fr/messages.json index bbadb18c..a3c42080 100644 --- a/public/_locales/fr/messages.json +++ b/public/_locales/fr/messages.json @@ -736,5 +736,81 @@ "LastBusinessDayIs": { "message": "Le dernier jour ouvrable est", "description": "" + }, + "ReadStatus": { + "message": "Statut de lecture", + "description": "" + }, + "FilterFoldersOnlyRead": { + "message": "Lu", + "description": "" + }, + "FilterFoldersOnlyUnread": { + "message": "Non lu", + "description": "" + }, + "FlagStatus": { + "message": "Statut d'étoile", + "description": "" + }, + "FilterFoldersOnlyFlagged": { + "message": "Marqué", + "description": "" + }, + "FilterFoldersOnlyUnflagged": { + "message": "Non marqué", + "description": "" + }, + "FilterFoldersAll": { + "message": "Tout", + "description": "" + }, + "FilterSubject": { + "message": "Filtrer le sujet avec un mot-clé", + "description": "" + }, + "WarnSearchCaseSensitive": { + "message": "Notez que la recherche est sensible à la casse. Rechercher \"test\" est différent de rechercher \"Test\".", + "description": "" + }, + "Domains": { + "message": "Domaines", + "description": "" + }, + "Tags": { + "message": "Étiquettes", + "description": "" + }, + "InboxMailsDateSpreadingExtended": { + "message": "Courriels reçus - Vue des détails de la date", + "description": "" + }, + "OrderBy": { + "message": "Trier par", + "description": "" + }, + "Close": { + "message": "Fermer", + "description": "" + }, + "ViewDetails": { + "message": "Voir les détails", + "description": "" + }, + "Folders": { + "message": "Dossiers", + "description": "" + }, + "ShowTags": { + "message": "Afficher les étiquettes", + "description": "" + }, + "ShowFolders": { + "message": "Afficher les dossiers", + "description": "" + }, + "prefs_customqry_loaddata_when_opening_addon": { + "message": "Charger les données même si la vue personnalisée est l'onglet ouvert en premier dans ThunderStats", + "description": "" } } \ No newline at end of file diff --git a/public/_locales/it/messages.json b/public/_locales/it/messages.json index d595cb56..26be6cf1 100644 --- a/public/_locales/it/messages.json +++ b/public/_locales/it/messages.json @@ -736,5 +736,81 @@ "LastBusinessDayIs": { "message": "L'ultimo giorno lavorativo è", "description": "" + }, + "ReadStatus": { + "message": "Stato di lettura", + "description": "" + }, + "FilterFoldersOnlyRead": { + "message": "Letto", + "description": "" + }, + "FilterFoldersOnlyUnread": { + "message": "Non letto", + "description": "" + }, + "FlagStatus": { + "message": "Stato del contrassegno", + "description": "" + }, + "FilterFoldersOnlyFlagged": { + "message": "Contrassegnato", + "description": "" + }, + "FilterFoldersOnlyUnflagged": { + "message": "Non contrassegnato", + "description": "" + }, + "FilterFoldersAll": { + "message": "Tutti", + "description": "" + }, + "FilterSubject": { + "message": "Filtra l'oggetto con una parola chiave", + "description": "" + }, + "WarnSearchCaseSensitive": { + "message": "Tieni presente che la ricerca distingue tra maiuscole e minuscole. Cercare \"test\" è diverso da cercare \"Test\".", + "description": "" + }, + "Domains": { + "message": "Domini", + "description": "" + }, + "Tags": { + "message": "Tag", + "description": "" + }, + "InboxMailsDateSpreadingExtended": { + "message": "Email in arrivo - Vista dettagli date", + "description": "" + }, + "OrderBy": { + "message": "Ordina per", + "description": "" + }, + "Close": { + "message": "Chiudi", + "description": "" + }, + "ViewDetails": { + "message": "Visualizza dettagli", + "description": "" + }, + "Folders": { + "message": "Cartelle", + "description": "" + }, + "ShowTags": { + "message": "Mostra Tag", + "description": "" + }, + "ShowFolders": { + "message": "Mostra Cartelle", + "description": "" + }, + "prefs_customqry_loaddata_when_opening_addon": { + "message": "Carica i dati anche quando la Vista Personalizzata è la prima scheda aperta in ThunderStats", + "description": "" } } \ No newline at end of file diff --git a/public/images/mzts-arrow-sort-active-down.png b/public/images/mzts-arrow-sort-active-down.png new file mode 100644 index 00000000..2736114f Binary files /dev/null and b/public/images/mzts-arrow-sort-active-down.png differ diff --git a/public/images/mzts-arrow-sort-active-up.png b/public/images/mzts-arrow-sort-active-up.png new file mode 100644 index 00000000..4ff00d3c Binary files /dev/null and b/public/images/mzts-arrow-sort-active-up.png differ diff --git a/public/manifest.json b/public/manifest.json index a5751514..af412d17 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -2,7 +2,7 @@ "manifest_version": 2, "name": "ThunderStats", "description": "Do you remember the old good Eudora statistics? Do you miss them? Using this addon you can finally keep an eye on how you use your beloved Thunderbird!", - "version": "2.2.4", + "version": "2.3.0", "author": "Mic (m@micz.it)", "homepage_url": "http://micz.it/thunderbird-addon-thunderstats-your-thunderbird-statistics/", "default_locale": "en", @@ -22,7 +22,8 @@ "messagesRead", "accountsRead", "storage", - "tabs" + "tabs", + "messagesTagsList" ], "background": { "page": "background.html" diff --git a/src/assets/main.css b/src/assets/main.css index 48330403..d3885419 100644 --- a/src/assets/main.css +++ b/src/assets/main.css @@ -47,16 +47,25 @@ table.mzts-tinvolved tr.mzts-trow td{padding:2px 4px 2px 2px;color:black;white-s table.mzts-tinvolved tr.mzts-trow td.mzts-row-num{text-align:center;word-break:normal;} .chart_time_container{width:100%;float:left;display:flex; flex-wrap:nowrap;} -.chart_time{ overflow:auto;float:left;height:230px;width:89%;} -.chart_time_86{ overflow:auto;float:left;height:230px;width:86%;} -.chart_time_full{ overflow:auto;float:left;height:275px;width:89%;} -.legend-time{float:right;font-size:12px;padding-top:8px;} -.legend-time ul{list-style-type:none;margin:0;padding:0;} -.legend-time ul li.day_today_title{font-weight:bold;} -.legend-time ul li{white-space: nowrap;} +.chart_time{overflow:auto;float:left;height:230px;width:89%;} +.chart_time_86{overflow:auto;float:left;height:230px;width:86%;} +.chart_time_full{overflow:auto;float:left;height:275px;width:89%;} +.chart_time_full_domains{overflow-y:auto;float:left;height:275px;width:89%;} +.chart_time_full_domains_container, .chart_time_full_inbox0ext_container{position: relative;} +.chart_time_full_inbox0ext{overflow-y:auto;float:left;height:275px;width:100%;} +.chart_inbox0_extended_orderby{text-align:right;} +.chart_inbox0_extended_close_btn{width:fit-content;text-align:right;float:right;margin-top:11px;} +.chart_inbox0_extended_table{width:100%;} +.chart_inbox0_extended_title{text-align:left;} .chart_inbox0_info{width:100%;float:left;} .chart_inbox0{width:80%;height:310px;float:left;overflow:auto;} .chart_inbox0_datemsg{float:right;max-width:20%;min-width:90px;height:220px;} +.chart_inbox0_orderbtn{cursor:pointer;text-decoration:underline;color:#3593dd;} +.chart_inbox0_extended_sorticon{position: relative;top:4px;filter: invert(1)}; +.legend-time{float:right;font-size:12px;padding-top:8px;} +.legend-time ul{list-style-type:none;margin:0;padding:0;} +.legend-time ul li{white-space: nowrap;} +.legend-time ul li.day_today_title{font-weight:bold;} .inbox0_inboxmsg_unread{color:grey;} .chart_many_days{overflow:auto;float:left;height:370px;width:100%;} .chart_customqry{overflow-x:scroll;float:left;height:370px;width:100%;} @@ -322,9 +331,93 @@ td.align_end { } #filterFolder_container{ + width: 100%; +} + +table#customqry_adv_filters_table{ + width: 100%; +} + +table#customqry_adv_filters_table td{ width: 50%; + padding-right: 5px; + vertical-align: top; +} + +#filterSubject{ + min-height: calc(var(--ms-border-width, 1px)*2 + var(--ms-font-size, 1rem)*var(--ms-line-height, 1.375) + var(--ms-py, .5rem)*2); + width: 100%; + background: var(--ms-bg); + color: var(--ms-caret-color); + border: var(--ms-border-width,1px) solid var(--ms-border-color); + padding: 0.5rem; } +#filterReadUnread, #filterFlaggedUnflagged{ + min-height: calc(var(--ms-border-width, 1px)*2 + var(--ms-font-size, 1rem)*var(--ms-line-height, 1.375) + var(--ms-py, .5rem)*2); + background: var(--ms-bg); + color: var(--ms-caret-color); + border: var(--ms-border-width,1px) solid var(--ms-border-color); + padding: 0.5rem; + width: 10em; +} + +.td-30{ + text-align: left; + width: 30% !important; +} + +.btn { + padding: 5px 7px; + background-color: #0078d7; + border: none; + color: white; + cursor: pointer; + border-radius: 4px; +} + +.btn_group{ + width:fit-content; + display: inline-block; + position: relative; + top: 2px; +} + +.btn_small { + padding-top: 1px; + padding-right: 7px; + padding-bottom: 2px; + padding-left: 7px; + background-color: #0078d7; + border: none; + color: white; + cursor: pointer; + font-size: 0.80em; +} + +.btn_small_start{ + border-top-left-radius: 12px; + border-bottom-left-radius: 12px; +} + +.btn_small_end{ + border-top-right-radius: 12px; + border-bottom-right-radius: 12px; +} + +.btn_small_single{ + border-radius: 12px; +} + +.btn_disabled { + background-color: #7a7a7a; + color: white; + cursor: unset; +} + +.spacer { + flex-grow: 1; +} /* Dark mode styles */ @media (prefers-color-scheme: dark) { @@ -392,4 +485,21 @@ td.align_end { border: #333; } + .btn { + background-color: #1e88e5; + color: #ffffff; + } + + .btn_small { + background-color: #1e88e5; + color: #ffffff; + } + + .btn_disabled { + background-color: #8b8b8b; + color: white; + } + + .chart_inbox0_extended_sorticon{filter: invert(0)}; + } diff --git a/src/assets/squared.css b/src/assets/squared.css index 620b4aa6..fa4ac9c7 100644 --- a/src/assets/squared.css +++ b/src/assets/squared.css @@ -16,13 +16,15 @@ .square_item:nth-child(1), .square_item:nth-child(4), -.square_item:nth-child(5) { +.square_item:nth-child(5), +.square_item:nth-child(8) { background-color: #F1F9FD; } .square_item:nth-child(2), .square_item:nth-child(3), -.square_item:nth-child(6) { +.square_item:nth-child(6), +.square_item:nth-child(7) { background-color: white; } @@ -81,13 +83,15 @@ h2.lowercase{ .square_item:nth-child(1), .square_item:nth-child(4), - .square_item:nth-child(5) { + .square_item:nth-child(5), + .square_item:nth-child(8) { background-color: #333; } .square_item:nth-child(2), .square_item:nth-child(3), - .square_item:nth-child(6) { + .square_item:nth-child(6), + .square_item:nth-child(7) { background-color: #444; } diff --git a/src/components/graphs/GraphCustomQry.vue b/src/components/charts/ChartCustomQry.vue similarity index 96% rename from src/components/graphs/GraphCustomQry.vue rename to src/components/charts/ChartCustomQry.vue index 837dd124..5d246df3 100644 --- a/src/components/graphs/GraphCustomQry.vue +++ b/src/components/charts/ChartCustomQry.vue @@ -57,6 +57,10 @@ let props = defineProps({ type: String, default: '1500px' }, + data_type: { + type: String, + default: 'YYYYMMDD' + }, is_loading: { type: Boolean, default: true @@ -87,13 +91,13 @@ var chartOptions = ref({ min: 0, ticks: { callback: function(value, index, ticks) { - return tsCoreUtils.getCustomQryLabel(this.getLabelForValue(value)); + return tsCoreUtils.getCustomQryLabel(this.getLabelForValue(value), props.data_type); }, align: 'center', color: function(context) { const labelIndex = context['tick']['value']; const label = context.chart.data.labels[labelIndex]; - return tsCoreUtils.getDaysLabelColor(label); + return tsCoreUtils.getDaysLabelColor(label, props.data_type == 'YYYYMMDD', props.data_type == 'YYYYMMDD'); }, // maxRotation: 0, //minRotation: 90 diff --git a/src/components/charts/ChartDomains.vue b/src/components/charts/ChartDomains.vue new file mode 100644 index 00000000..6cd18d7c --- /dev/null +++ b/src/components/charts/ChartDomains.vue @@ -0,0 +1,202 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/components/charts/ChartFolders.vue b/src/components/charts/ChartFolders.vue new file mode 100644 index 00000000..04e3d637 --- /dev/null +++ b/src/components/charts/ChartFolders.vue @@ -0,0 +1,206 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/components/graphs/GraphInboxZeroDates.vue b/src/components/charts/ChartInboxZeroDates.vue similarity index 99% rename from src/components/graphs/GraphInboxZeroDates.vue rename to src/components/charts/ChartInboxZeroDates.vue index fec800b2..405bc3f8 100644 --- a/src/components/graphs/GraphInboxZeroDates.vue +++ b/src/components/charts/ChartInboxZeroDates.vue @@ -19,7 +19,7 @@ -->