From 0be16df62eb191d98a1a1c2ad66596d09b5fec55 Mon Sep 17 00:00:00 2001
From: saschrad <saschrad@stud.ntnu.no>
Date: Thu, 28 Apr 2022 13:56:49 +0200
Subject: [PATCH] Added tailwind ui helper

---
 package-lock.json | 351 +++++++++++++++++++++++++++-------------------
 package.json      |   1 +
 2 files changed, 206 insertions(+), 146 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index c5996c4..c091f74 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -19,6 +19,7 @@
         "roboto-fontface": "*",
         "sockjs-client": "^1.6.0",
         "stompjs": "^2.3.3",
+        "tw-elements": "^1.0.0-alpha12",
         "vue": "^3.2.13",
         "vue-router": "^4.0.3",
         "vuelidate": "^0.7.7",
@@ -2372,7 +2373,6 @@
     },
     "node_modules/@nodelib/fs.scandir": {
       "version": "2.1.5",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@nodelib/fs.stat": "2.0.5",
@@ -2384,7 +2384,6 @@
     },
     "node_modules/@nodelib/fs.stat": {
       "version": "2.0.5",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">= 8"
@@ -2392,7 +2391,6 @@
     },
     "node_modules/@nodelib/fs.walk": {
       "version": "1.2.8",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@nodelib/fs.scandir": "2.1.5",
@@ -2407,6 +2405,15 @@
       "dev": true,
       "license": "MIT"
     },
+    "node_modules/@popperjs/core": {
+      "version": "2.11.5",
+      "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz",
+      "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==",
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/popperjs"
+      }
+    },
     "node_modules/@sideway/address": {
       "version": "4.1.4",
       "dev": true,
@@ -3856,7 +3863,6 @@
     },
     "node_modules/acorn-node": {
       "version": "1.8.2",
-      "dev": true,
       "license": "Apache-2.0",
       "dependencies": {
         "acorn": "^7.0.0",
@@ -3866,7 +3872,6 @@
     },
     "node_modules/acorn-node/node_modules/acorn": {
       "version": "7.4.1",
-      "dev": true,
       "license": "MIT",
       "bin": {
         "acorn": "bin/acorn"
@@ -3877,7 +3882,6 @@
     },
     "node_modules/acorn-node/node_modules/acorn-walk": {
       "version": "7.2.0",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=0.4.0"
@@ -4028,7 +4032,6 @@
     },
     "node_modules/anymatch": {
       "version": "3.1.2",
-      "dev": true,
       "license": "ISC",
       "dependencies": {
         "normalize-path": "^3.0.0",
@@ -4059,7 +4062,6 @@
     },
     "node_modules/arg": {
       "version": "5.0.1",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/argparse": {
@@ -4427,7 +4429,6 @@
     },
     "node_modules/binary-extensions": {
       "version": "2.2.0",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -4516,7 +4517,6 @@
     },
     "node_modules/braces": {
       "version": "3.0.2",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "fill-range": "^7.0.1"
@@ -4657,7 +4657,6 @@
     },
     "node_modules/camelcase-css": {
       "version": "2.0.1",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">= 6"
@@ -4726,9 +4725,42 @@
         "node": ">=6"
       }
     },
+    "node_modules/chart.js": {
+      "version": "2.9.4",
+      "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.9.4.tgz",
+      "integrity": "sha512-B07aAzxcrikjAPyV+01j7BmOpxtQETxTSlQ26BEYJ+3iUkbNKaOJ/nDbT6JjyqYxseM0ON12COHYdU2cTIjC7A==",
+      "dependencies": {
+        "chartjs-color": "^2.1.0",
+        "moment": "^2.10.2"
+      }
+    },
+    "node_modules/chartjs-color": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.4.1.tgz",
+      "integrity": "sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==",
+      "dependencies": {
+        "chartjs-color-string": "^0.6.0",
+        "color-convert": "^1.9.3"
+      }
+    },
+    "node_modules/chartjs-color-string": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz",
+      "integrity": "sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==",
+      "dependencies": {
+        "color-name": "^1.0.0"
+      }
+    },
+    "node_modules/chartjs-plugin-datalabels": {
+      "version": "0.7.0",
+      "resolved": "https://registry.npmjs.org/chartjs-plugin-datalabels/-/chartjs-plugin-datalabels-0.7.0.tgz",
+      "integrity": "sha512-PKVUX14nYhH0wcdCpgOoC39Gbzvn6cZ7O9n+bwc02yKD9FTnJ7/TSrBcfebmolFZp1Rcicr9xbT0a5HUbigS7g==",
+      "peerDependencies": {
+        "chart.js": ">= 2.7.0 < 3"
+      }
+    },
     "node_modules/chokidar": {
       "version": "3.5.3",
-      "dev": true,
       "funding": [
         {
           "type": "individual",
@@ -4754,7 +4786,6 @@
     },
     "node_modules/chokidar/node_modules/glob-parent": {
       "version": "5.1.2",
-      "dev": true,
       "license": "ISC",
       "dependencies": {
         "is-glob": "^4.0.1"
@@ -4974,7 +5005,6 @@
     },
     "node_modules/color-convert": {
       "version": "1.9.3",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-name": "1.1.3"
@@ -4982,7 +5012,6 @@
     },
     "node_modules/color-name": {
       "version": "1.1.3",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/colord": {
@@ -5489,7 +5518,6 @@
     },
     "node_modules/cssesc": {
       "version": "3.0.0",
-      "dev": true,
       "license": "MIT",
       "bin": {
         "cssesc": "bin/cssesc"
@@ -5606,6 +5634,11 @@
       "version": "2.6.20",
       "license": "MIT"
     },
+    "node_modules/custom-event-polyfill": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/custom-event-polyfill/-/custom-event-polyfill-1.0.7.tgz",
+      "integrity": "sha512-TDDkd5DkaZxZFM8p+1I3yAlvM3rSr1wbrOliG4yJiwinMZN8z/iGL7BTlDkrJcYTmgUSb4ywVCc3ZaUtOtC76w=="
+    },
     "node_modules/d": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
@@ -5828,7 +5861,6 @@
     },
     "node_modules/defined": {
       "version": "1.0.0",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/delayed-stream": {
@@ -5852,6 +5884,14 @@
       "dev": true,
       "license": "MIT"
     },
+    "node_modules/detect-autofill": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/detect-autofill/-/detect-autofill-1.1.4.tgz",
+      "integrity": "sha512-utCBQwCR/beSnADQmBC7C4tTueBBkYCl6WSpfGUkYKO/+MzPxqYGj6G4MvHzcKmH1gCTK+VunX2vaagvkRXPvA==",
+      "dependencies": {
+        "custom-event-polyfill": "^1.0.7"
+      }
+    },
     "node_modules/detect-newline": {
       "version": "3.1.0",
       "dev": true,
@@ -5867,7 +5907,6 @@
     },
     "node_modules/detective": {
       "version": "5.2.0",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "acorn-node": "^1.6.1",
@@ -5883,7 +5922,6 @@
     },
     "node_modules/didyoumean": {
       "version": "1.2.2",
-      "dev": true,
       "license": "Apache-2.0"
     },
     "node_modules/diff-sequences": {
@@ -5907,7 +5945,6 @@
     },
     "node_modules/dlv": {
       "version": "1.1.3",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/dns-equal": {
@@ -7038,7 +7075,6 @@
     },
     "node_modules/fast-glob": {
       "version": "3.2.11",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@nodelib/fs.stat": "^2.0.2",
@@ -7053,7 +7089,6 @@
     },
     "node_modules/fast-glob/node_modules/glob-parent": {
       "version": "5.1.2",
-      "dev": true,
       "license": "ISC",
       "dependencies": {
         "is-glob": "^4.0.1"
@@ -7074,7 +7109,6 @@
     },
     "node_modules/fastq": {
       "version": "1.13.0",
-      "dev": true,
       "license": "ISC",
       "dependencies": {
         "reusify": "^1.0.4"
@@ -7122,7 +7156,6 @@
     },
     "node_modules/fill-range": {
       "version": "7.0.1",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "to-regex-range": "^5.0.1"
@@ -7291,7 +7324,6 @@
     },
     "node_modules/function-bind": {
       "version": "1.1.1",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/functional-red-black-tree": {
@@ -7368,7 +7400,6 @@
     },
     "node_modules/glob-parent": {
       "version": "6.0.2",
-      "dev": true,
       "license": "ISC",
       "dependencies": {
         "is-glob": "^4.0.3"
@@ -7435,7 +7466,6 @@
     },
     "node_modules/has": {
       "version": "1.0.3",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "function-bind": "^1.1.1"
@@ -7849,7 +7879,6 @@
     },
     "node_modules/is-binary-path": {
       "version": "2.1.0",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "binary-extensions": "^2.0.0"
@@ -7881,7 +7910,6 @@
     },
     "node_modules/is-core-module": {
       "version": "2.9.0",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "has": "^1.0.3"
@@ -7914,7 +7942,6 @@
     },
     "node_modules/is-extglob": {
       "version": "2.1.1",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=0.10.0"
@@ -7946,7 +7973,6 @@
     },
     "node_modules/is-glob": {
       "version": "4.0.3",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "is-extglob": "^2.1.1"
@@ -7965,7 +7991,6 @@
     },
     "node_modules/is-number": {
       "version": "7.0.0",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=0.12.0"
@@ -10313,7 +10338,6 @@
     },
     "node_modules/lilconfig": {
       "version": "2.0.5",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=10"
@@ -10705,7 +10729,6 @@
     },
     "node_modules/merge2": {
       "version": "1.4.1",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">= 8"
@@ -10721,7 +10744,6 @@
     },
     "node_modules/micromatch": {
       "version": "4.0.5",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "braces": "^3.0.2",
@@ -10854,7 +10876,6 @@
     },
     "node_modules/minimist": {
       "version": "1.2.6",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/minipass": {
@@ -10884,6 +10905,14 @@
       "dev": true,
       "license": "MIT"
     },
+    "node_modules/moment": {
+      "version": "2.29.3",
+      "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz",
+      "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==",
+      "engines": {
+        "node": "*"
+      }
+    },
     "node_modules/mrmime": {
       "version": "1.0.0",
       "dev": true,
@@ -11073,7 +11102,6 @@
     },
     "node_modules/normalize-path": {
       "version": "3.0.0",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=0.10.0"
@@ -11135,7 +11163,6 @@
     },
     "node_modules/object-hash": {
       "version": "3.0.0",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">= 6"
@@ -11497,7 +11524,6 @@
     },
     "node_modules/path-parse": {
       "version": "1.0.7",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/path-to-regexp": {
@@ -11513,13 +11539,17 @@
         "node": ">=8"
       }
     },
+    "node_modules/perfect-scrollbar": {
+      "version": "1.5.5",
+      "resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.5.tgz",
+      "integrity": "sha512-dzalfutyP3e/FOpdlhVryN4AJ5XDVauVWxybSkLZmakFE2sS3y3pc4JnSprw8tGmHvkaG5Edr5T7LBTZ+WWU2g=="
+    },
     "node_modules/picocolors": {
       "version": "1.0.0",
       "license": "ISC"
     },
     "node_modules/picomatch": {
       "version": "2.3.1",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8.6"
@@ -11547,6 +11577,16 @@
         "node": ">=8"
       }
     },
+    "node_modules/popper.js": {
+      "version": "1.16.1",
+      "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz",
+      "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==",
+      "deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1",
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/popperjs"
+      }
+    },
     "node_modules/portfinder": {
       "version": "1.0.28",
       "dev": true,
@@ -11679,7 +11719,6 @@
     },
     "node_modules/postcss-js": {
       "version": "4.0.0",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "camelcase-css": "^2.0.1"
@@ -11697,7 +11736,6 @@
     },
     "node_modules/postcss-load-config": {
       "version": "3.1.4",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "lilconfig": "^2.0.5",
@@ -11907,7 +11945,6 @@
     },
     "node_modules/postcss-nested": {
       "version": "5.0.6",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "postcss-selector-parser": "^6.0.6"
@@ -12094,7 +12131,6 @@
     },
     "node_modules/postcss-selector-parser": {
       "version": "6.0.10",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "cssesc": "^3.0.0",
@@ -12135,7 +12171,6 @@
     },
     "node_modules/postcss-value-parser": {
       "version": "4.2.0",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/prelude-ls": {
@@ -12327,7 +12362,6 @@
     },
     "node_modules/queue-microtask": {
       "version": "1.2.3",
-      "dev": true,
       "funding": [
         {
           "type": "github",
@@ -12346,7 +12380,6 @@
     },
     "node_modules/quick-lru": {
       "version": "5.1.1",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=10"
@@ -12459,7 +12492,6 @@
     },
     "node_modules/readdirp": {
       "version": "3.6.0",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "picomatch": "^2.2.1"
@@ -12589,7 +12621,6 @@
     },
     "node_modules/resolve": {
       "version": "1.22.0",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "is-core-module": "^2.8.1",
@@ -12657,7 +12688,6 @@
     },
     "node_modules/reusify": {
       "version": "1.0.4",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "iojs": ">=1.0.0",
@@ -12684,7 +12714,6 @@
     },
     "node_modules/run-parallel": {
       "version": "1.2.0",
-      "dev": true,
       "funding": [
         {
           "type": "github",
@@ -13387,7 +13416,6 @@
     },
     "node_modules/supports-preserve-symlinks-flag": {
       "version": "1.0.0",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">= 0.4"
@@ -13470,7 +13498,6 @@
     },
     "node_modules/tailwindcss": {
       "version": "3.0.24",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "arg": "^5.0.1",
@@ -13508,7 +13535,6 @@
     },
     "node_modules/tailwindcss/node_modules/color-name": {
       "version": "1.1.4",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/tapable": {
@@ -13736,7 +13762,6 @@
     },
     "node_modules/to-regex-range": {
       "version": "5.0.1",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "is-number": "^7.0.0"
@@ -13825,6 +13850,21 @@
       "dev": true,
       "license": "0BSD"
     },
+    "node_modules/tw-elements": {
+      "version": "1.0.0-alpha12",
+      "resolved": "https://registry.npmjs.org/tw-elements/-/tw-elements-1.0.0-alpha12.tgz",
+      "integrity": "sha512-AQHwXIC4kw4T0NPKAi0vD1bkHSiA4RhdXqqnXDWEHKsrN02njc/ITB3YZ92s2f2jt+wBPI2UOpeUsWL5xiMVeQ==",
+      "dependencies": {
+        "@popperjs/core": "^2.6.0",
+        "chart.js": "^2.9.4",
+        "chartjs-plugin-datalabels": "^0.7.0",
+        "deepmerge": "^4.2.2",
+        "detect-autofill": "^1.1.3",
+        "perfect-scrollbar": "^1.5.0",
+        "popper.js": "^1.16.1",
+        "tailwindcss": "^3.0.7"
+      }
+    },
     "node_modules/type": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
@@ -13970,7 +14010,6 @@
     },
     "node_modules/util-deprecate": {
       "version": "1.0.2",
-      "dev": true,
       "license": "MIT"
     },
     "node_modules/utila": {
@@ -14933,7 +14972,6 @@
     },
     "node_modules/xtend": {
       "version": "4.0.2",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=0.4"
@@ -14963,7 +15001,6 @@
     },
     "node_modules/yaml": {
       "version": "1.10.2",
-      "dev": true,
       "license": "ISC",
       "engines": {
         "node": ">= 6"
@@ -16515,19 +16552,16 @@
     },
     "@nodelib/fs.scandir": {
       "version": "2.1.5",
-      "dev": true,
       "requires": {
         "@nodelib/fs.stat": "2.0.5",
         "run-parallel": "^1.1.9"
       }
     },
     "@nodelib/fs.stat": {
-      "version": "2.0.5",
-      "dev": true
+      "version": "2.0.5"
     },
     "@nodelib/fs.walk": {
       "version": "1.2.8",
-      "dev": true,
       "requires": {
         "@nodelib/fs.scandir": "2.1.5",
         "fastq": "^1.6.0"
@@ -16537,6 +16571,11 @@
       "version": "1.0.0-next.21",
       "dev": true
     },
+    "@popperjs/core": {
+      "version": "2.11.5",
+      "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz",
+      "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw=="
+    },
     "@sideway/address": {
       "version": "4.1.4",
       "dev": true,
@@ -17579,7 +17618,6 @@
     },
     "acorn-node": {
       "version": "1.8.2",
-      "dev": true,
       "requires": {
         "acorn": "^7.0.0",
         "acorn-walk": "^7.0.0",
@@ -17587,12 +17625,10 @@
       },
       "dependencies": {
         "acorn": {
-          "version": "7.4.1",
-          "dev": true
+          "version": "7.4.1"
         },
         "acorn-walk": {
-          "version": "7.2.0",
-          "dev": true
+          "version": "7.2.0"
         }
       }
     },
@@ -17681,7 +17717,6 @@
     },
     "anymatch": {
       "version": "3.1.2",
-      "dev": true,
       "requires": {
         "normalize-path": "^3.0.0",
         "picomatch": "^2.0.4"
@@ -17692,8 +17727,7 @@
       "dev": true
     },
     "arg": {
-      "version": "5.0.1",
-      "dev": true
+      "version": "5.0.1"
     },
     "argparse": {
       "version": "1.0.10",
@@ -17920,8 +17954,7 @@
       "dev": true
     },
     "binary-extensions": {
-      "version": "2.2.0",
-      "dev": true
+      "version": "2.2.0"
     },
     "bl": {
       "version": "4.1.0",
@@ -17993,7 +18026,6 @@
     },
     "braces": {
       "version": "3.0.2",
-      "dev": true,
       "requires": {
         "fill-range": "^7.0.1"
       }
@@ -18070,8 +18102,7 @@
       "dev": true
     },
     "camelcase-css": {
-      "version": "2.0.1",
-      "dev": true
+      "version": "2.0.1"
     },
     "caniuse-api": {
       "version": "3.0.0",
@@ -18108,9 +18139,40 @@
       "version": "0.2.0",
       "dev": true
     },
+    "chart.js": {
+      "version": "2.9.4",
+      "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.9.4.tgz",
+      "integrity": "sha512-B07aAzxcrikjAPyV+01j7BmOpxtQETxTSlQ26BEYJ+3iUkbNKaOJ/nDbT6JjyqYxseM0ON12COHYdU2cTIjC7A==",
+      "requires": {
+        "chartjs-color": "^2.1.0",
+        "moment": "^2.10.2"
+      }
+    },
+    "chartjs-color": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.4.1.tgz",
+      "integrity": "sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==",
+      "requires": {
+        "chartjs-color-string": "^0.6.0",
+        "color-convert": "^1.9.3"
+      }
+    },
+    "chartjs-color-string": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz",
+      "integrity": "sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==",
+      "requires": {
+        "color-name": "^1.0.0"
+      }
+    },
+    "chartjs-plugin-datalabels": {
+      "version": "0.7.0",
+      "resolved": "https://registry.npmjs.org/chartjs-plugin-datalabels/-/chartjs-plugin-datalabels-0.7.0.tgz",
+      "integrity": "sha512-PKVUX14nYhH0wcdCpgOoC39Gbzvn6cZ7O9n+bwc02yKD9FTnJ7/TSrBcfebmolFZp1Rcicr9xbT0a5HUbigS7g==",
+      "requires": {}
+    },
     "chokidar": {
       "version": "3.5.3",
-      "dev": true,
       "requires": {
         "anymatch": "~3.1.2",
         "braces": "~3.0.2",
@@ -18124,7 +18186,6 @@
       "dependencies": {
         "glob-parent": {
           "version": "5.1.2",
-          "dev": true,
           "requires": {
             "is-glob": "^4.0.1"
           }
@@ -18265,14 +18326,12 @@
     },
     "color-convert": {
       "version": "1.9.3",
-      "dev": true,
       "requires": {
         "color-name": "1.1.3"
       }
     },
     "color-name": {
-      "version": "1.1.3",
-      "dev": true
+      "version": "1.1.3"
     },
     "colord": {
       "version": "2.9.2",
@@ -18589,8 +18648,7 @@
       "dev": true
     },
     "cssesc": {
-      "version": "3.0.0",
-      "dev": true
+      "version": "3.0.0"
     },
     "cssnano": {
       "version": "5.1.7",
@@ -18667,6 +18725,11 @@
     "csstype": {
       "version": "2.6.20"
     },
+    "custom-event-polyfill": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/custom-event-polyfill/-/custom-event-polyfill-1.0.7.tgz",
+      "integrity": "sha512-TDDkd5DkaZxZFM8p+1I3yAlvM3rSr1wbrOliG4yJiwinMZN8z/iGL7BTlDkrJcYTmgUSb4ywVCc3ZaUtOtC76w=="
+    },
     "d": {
       "version": "1.0.1",
       "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz",
@@ -18802,8 +18865,7 @@
       }
     },
     "defined": {
-      "version": "1.0.0",
-      "dev": true
+      "version": "1.0.0"
     },
     "delayed-stream": {
       "version": "1.0.0",
@@ -18817,6 +18879,14 @@
       "version": "1.0.4",
       "dev": true
     },
+    "detect-autofill": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/detect-autofill/-/detect-autofill-1.1.4.tgz",
+      "integrity": "sha512-utCBQwCR/beSnADQmBC7C4tTueBBkYCl6WSpfGUkYKO/+MzPxqYGj6G4MvHzcKmH1gCTK+VunX2vaagvkRXPvA==",
+      "requires": {
+        "custom-event-polyfill": "^1.0.7"
+      }
+    },
     "detect-newline": {
       "version": "3.1.0",
       "dev": true
@@ -18827,7 +18897,6 @@
     },
     "detective": {
       "version": "5.2.0",
-      "dev": true,
       "requires": {
         "acorn-node": "^1.6.1",
         "defined": "^1.0.0",
@@ -18835,8 +18904,7 @@
       }
     },
     "didyoumean": {
-      "version": "1.2.2",
-      "dev": true
+      "version": "1.2.2"
     },
     "diff-sequences": {
       "version": "27.5.1",
@@ -18850,8 +18918,7 @@
       }
     },
     "dlv": {
-      "version": "1.1.3",
-      "dev": true
+      "version": "1.1.3"
     },
     "dns-equal": {
       "version": "1.0.0",
@@ -19581,7 +19648,6 @@
     },
     "fast-glob": {
       "version": "3.2.11",
-      "dev": true,
       "requires": {
         "@nodelib/fs.stat": "^2.0.2",
         "@nodelib/fs.walk": "^1.2.3",
@@ -19592,7 +19658,6 @@
       "dependencies": {
         "glob-parent": {
           "version": "5.1.2",
-          "dev": true,
           "requires": {
             "is-glob": "^4.0.1"
           }
@@ -19609,7 +19674,6 @@
     },
     "fastq": {
       "version": "1.13.0",
-      "dev": true,
       "requires": {
         "reusify": "^1.0.4"
       }
@@ -19643,7 +19707,6 @@
     },
     "fill-range": {
       "version": "7.0.1",
-      "dev": true,
       "requires": {
         "to-regex-range": "^5.0.1"
       }
@@ -19746,8 +19809,7 @@
       "dev": true
     },
     "function-bind": {
-      "version": "1.1.1",
-      "dev": true
+      "version": "1.1.1"
     },
     "functional-red-black-tree": {
       "version": "1.0.1",
@@ -19795,7 +19857,6 @@
     },
     "glob-parent": {
       "version": "6.0.2",
-      "dev": true,
       "requires": {
         "is-glob": "^4.0.3"
       }
@@ -19837,7 +19898,6 @@
     },
     "has": {
       "version": "1.0.3",
-      "dev": true,
       "requires": {
         "function-bind": "^1.1.1"
       }
@@ -20088,7 +20148,6 @@
     },
     "is-binary-path": {
       "version": "2.1.0",
-      "dev": true,
       "requires": {
         "binary-extensions": "^2.0.0"
       }
@@ -20112,7 +20171,6 @@
     },
     "is-core-module": {
       "version": "2.9.0",
-      "dev": true,
       "requires": {
         "has": "^1.0.3"
       }
@@ -20126,8 +20184,7 @@
       "dev": true
     },
     "is-extglob": {
-      "version": "2.1.1",
-      "dev": true
+      "version": "2.1.1"
     },
     "is-file-esm": {
       "version": "1.0.0",
@@ -20146,7 +20203,6 @@
     },
     "is-glob": {
       "version": "4.0.3",
-      "dev": true,
       "requires": {
         "is-extglob": "^2.1.1"
       }
@@ -20156,8 +20212,7 @@
       "dev": true
     },
     "is-number": {
-      "version": "7.0.0",
-      "dev": true
+      "version": "7.0.0"
     },
     "is-plain-obj": {
       "version": "3.0.0",
@@ -21652,8 +21707,7 @@
       }
     },
     "lilconfig": {
-      "version": "2.0.5",
-      "dev": true
+      "version": "2.0.5"
     },
     "lines-and-columns": {
       "version": "1.2.4",
@@ -21914,8 +21968,7 @@
       "dev": true
     },
     "merge2": {
-      "version": "1.4.1",
-      "dev": true
+      "version": "1.4.1"
     },
     "methods": {
       "version": "1.1.2",
@@ -21923,7 +21976,6 @@
     },
     "micromatch": {
       "version": "4.0.5",
-      "dev": true,
       "requires": {
         "braces": "^3.0.2",
         "picomatch": "^2.3.1"
@@ -22000,8 +22052,7 @@
       }
     },
     "minimist": {
-      "version": "1.2.6",
-      "dev": true
+      "version": "1.2.6"
     },
     "minipass": {
       "version": "3.1.6",
@@ -22021,6 +22072,11 @@
       "version": "2.2.2",
       "dev": true
     },
+    "moment": {
+      "version": "2.29.3",
+      "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz",
+      "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw=="
+    },
     "mrmime": {
       "version": "1.0.0",
       "dev": true
@@ -22150,8 +22206,7 @@
       }
     },
     "normalize-path": {
-      "version": "3.0.0",
-      "dev": true
+      "version": "3.0.0"
     },
     "normalize-range": {
       "version": "0.1.2",
@@ -22184,8 +22239,7 @@
       "dev": true
     },
     "object-hash": {
-      "version": "3.0.0",
-      "dev": true
+      "version": "3.0.0"
     },
     "object-keys": {
       "version": "1.1.1",
@@ -22414,8 +22468,7 @@
       "dev": true
     },
     "path-parse": {
-      "version": "1.0.7",
-      "dev": true
+      "version": "1.0.7"
     },
     "path-to-regexp": {
       "version": "0.1.7",
@@ -22425,12 +22478,16 @@
       "version": "4.0.0",
       "dev": true
     },
+    "perfect-scrollbar": {
+      "version": "1.5.5",
+      "resolved": "https://registry.npmjs.org/perfect-scrollbar/-/perfect-scrollbar-1.5.5.tgz",
+      "integrity": "sha512-dzalfutyP3e/FOpdlhVryN4AJ5XDVauVWxybSkLZmakFE2sS3y3pc4JnSprw8tGmHvkaG5Edr5T7LBTZ+WWU2g=="
+    },
     "picocolors": {
       "version": "1.0.0"
     },
     "picomatch": {
-      "version": "2.3.1",
-      "dev": true
+      "version": "2.3.1"
     },
     "pirates": {
       "version": "4.0.5",
@@ -22443,6 +22500,11 @@
         "find-up": "^4.0.0"
       }
     },
+    "popper.js": {
+      "version": "1.16.1",
+      "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz",
+      "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ=="
+    },
     "portfinder": {
       "version": "1.0.28",
       "dev": true,
@@ -22516,14 +22578,12 @@
     },
     "postcss-js": {
       "version": "4.0.0",
-      "dev": true,
       "requires": {
         "camelcase-css": "^2.0.1"
       }
     },
     "postcss-load-config": {
       "version": "3.1.4",
-      "dev": true,
       "requires": {
         "lilconfig": "^2.0.5",
         "yaml": "^1.10.2"
@@ -22627,7 +22687,6 @@
     },
     "postcss-nested": {
       "version": "5.0.6",
-      "dev": true,
       "requires": {
         "postcss-selector-parser": "^6.0.6"
       }
@@ -22720,7 +22779,6 @@
     },
     "postcss-selector-parser": {
       "version": "6.0.10",
-      "dev": true,
       "requires": {
         "cssesc": "^3.0.0",
         "util-deprecate": "^1.0.2"
@@ -22742,8 +22800,7 @@
       }
     },
     "postcss-value-parser": {
-      "version": "4.2.0",
-      "dev": true
+      "version": "4.2.0"
     },
     "prelude-ls": {
       "version": "1.1.2",
@@ -22865,12 +22922,10 @@
       "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ=="
     },
     "queue-microtask": {
-      "version": "1.2.3",
-      "dev": true
+      "version": "1.2.3"
     },
     "quick-lru": {
-      "version": "5.1.1",
-      "dev": true
+      "version": "5.1.1"
     },
     "randombytes": {
       "version": "2.1.0",
@@ -22945,7 +23000,6 @@
     },
     "readdirp": {
       "version": "3.6.0",
-      "dev": true,
       "requires": {
         "picomatch": "^2.2.1"
       }
@@ -23033,7 +23087,6 @@
     },
     "resolve": {
       "version": "1.22.0",
-      "dev": true,
       "requires": {
         "is-core-module": "^2.8.1",
         "path-parse": "^1.0.7",
@@ -23072,8 +23125,7 @@
       "dev": true
     },
     "reusify": {
-      "version": "1.0.4",
-      "dev": true
+      "version": "1.0.4"
     },
     "rimraf": {
       "version": "3.0.2",
@@ -23087,7 +23139,6 @@
     },
     "run-parallel": {
       "version": "1.2.0",
-      "dev": true,
       "requires": {
         "queue-microtask": "^1.2.2"
       }
@@ -23573,8 +23624,7 @@
       }
     },
     "supports-preserve-symlinks-flag": {
-      "version": "1.0.0",
-      "dev": true
+      "version": "1.0.0"
     },
     "svg-tags": {
       "version": "1.0.0",
@@ -23632,7 +23682,6 @@
     },
     "tailwindcss": {
       "version": "3.0.24",
-      "dev": true,
       "requires": {
         "arg": "^5.0.1",
         "chokidar": "^3.5.3",
@@ -23658,8 +23707,7 @@
       },
       "dependencies": {
         "color-name": {
-          "version": "1.1.4",
-          "dev": true
+          "version": "1.1.4"
         }
       }
     },
@@ -23797,7 +23845,6 @@
     },
     "to-regex-range": {
       "version": "5.0.1",
-      "dev": true,
       "requires": {
         "is-number": "^7.0.0"
       }
@@ -23856,6 +23903,21 @@
       "version": "2.3.1",
       "dev": true
     },
+    "tw-elements": {
+      "version": "1.0.0-alpha12",
+      "resolved": "https://registry.npmjs.org/tw-elements/-/tw-elements-1.0.0-alpha12.tgz",
+      "integrity": "sha512-AQHwXIC4kw4T0NPKAi0vD1bkHSiA4RhdXqqnXDWEHKsrN02njc/ITB3YZ92s2f2jt+wBPI2UOpeUsWL5xiMVeQ==",
+      "requires": {
+        "@popperjs/core": "^2.6.0",
+        "chart.js": "^2.9.4",
+        "chartjs-plugin-datalabels": "^0.7.0",
+        "deepmerge": "^4.2.2",
+        "detect-autofill": "^1.1.3",
+        "perfect-scrollbar": "^1.5.0",
+        "popper.js": "^1.16.1",
+        "tailwindcss": "^3.0.7"
+      }
+    },
     "type": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz",
@@ -23950,8 +24012,7 @@
       }
     },
     "util-deprecate": {
-      "version": "1.0.2",
-      "dev": true
+      "version": "1.0.2"
     },
     "utila": {
       "version": "0.4.0",
@@ -24584,8 +24645,7 @@
       "dev": true
     },
     "xtend": {
-      "version": "4.0.2",
-      "dev": true
+      "version": "4.0.2"
     },
     "y18n": {
       "version": "5.0.8",
@@ -24602,8 +24662,7 @@
       "dev": true
     },
     "yaml": {
-      "version": "1.10.2",
-      "dev": true
+      "version": "1.10.2"
     },
     "yargs": {
       "version": "16.2.0",
diff --git a/package.json b/package.json
index 4a088f0..42be29c 100644
--- a/package.json
+++ b/package.json
@@ -20,6 +20,7 @@
     "roboto-fontface": "*",
     "sockjs-client": "^1.6.0",
     "stompjs": "^2.3.3",
+    "tw-elements": "^1.0.0-alpha12",
     "vue": "^3.2.13",
     "vue-router": "^4.0.3",
     "vuelidate": "^0.7.7",
-- 
GitLab