diff --git a/.prettierignore b/.prettierignore index 59120c21..cb366684 100644 --- a/.prettierignore +++ b/.prettierignore @@ -3,7 +3,8 @@ .idea .vscode dist -public +public/assets/fonts +public/assets/images storybook-static build @@ -17,4 +18,4 @@ package-lock.json # Readme LICENSE CODE_OF_CONDUCT.md -README.md \ No newline at end of file +README.md diff --git a/.storybook/preview.ts b/.storybook/preview.ts index 5eb39960..09659afe 100644 --- a/.storybook/preview.ts +++ b/.storybook/preview.ts @@ -1,4 +1,5 @@ import "../public/assets/css/custom-style.css"; +import "../public/assets/css/central_css.scss"; /** @type { import('@storybook/vue3').Preview } */ const preview = { diff --git a/package-lock.json b/package-lock.json index c6cc6f5d..bff73407 100644 --- a/package-lock.json +++ b/package-lock.json @@ -40,6 +40,7 @@ "jsdom": "25.0.1", "prettier": "3.5.3", "rimraf": "6.0.1", + "sass": "^1.86.0", "semantic-release": "24.2.3", "semantic-release-gitmoji": "1.6.8", "storybook": "8.6.7", @@ -1107,7 +1108,6 @@ }, "node_modules/@microsoft/api-extractor/node_modules/typescript": { "version": "5.7.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", "dev": true, "license": "Apache-2.0", @@ -1741,6 +1741,302 @@ "dev": true, "license": "MIT" }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, "node_modules/@pkgjs/parseargs": { "version": "0.11.0", "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", @@ -2087,7 +2383,6 @@ }, "node_modules/@rushstack/eslint-patch": { "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.11.0.tgz", "integrity": "sha512-zxnHvoMQVqewTJr/W4pKjF0bMGiKJv1WX7bSrkl46Hg0QjESbzBROWK0Wg4RphzSOS5Jiy7eFimmM3UgMrMZbQ==", "dev": true, "license": "MIT" @@ -2797,7 +3092,6 @@ }, "node_modules/@storybook/addon-a11y": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-8.6.7.tgz", "integrity": "sha512-/pGRa27AVpoFG0J2+PTKSQCk6ytbRkcR+5fi75iLlqgp7YZN9rVJ8SYyEXALf/B8Gw9hSk2uxCyT3dA7ZTy52Q==", "dev": true, "license": "MIT", @@ -2817,7 +3111,6 @@ }, "node_modules/@storybook/addon-actions": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.6.7.tgz", "integrity": "sha512-XgZCwIcZGThEyD7e2q7rN/jzg7ZHUxn/ln403eex04jWAGBBbtC2IVuowwCWV8HwDihnhpCZEP6HlgjakOYZbQ==", "dev": true, "license": "MIT", @@ -2838,7 +3131,6 @@ }, "node_modules/@storybook/addon-backgrounds": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.6.7.tgz", "integrity": "sha512-aDFzi83gDhYn0+FGjRYbY5TfBtoG/UgVr9Abi7s5ceabZRhPrYikMyFX0o8V3Z8COl6wUmWmF1luYE4MfXgN2g==", "dev": true, "license": "MIT", @@ -2857,7 +3149,6 @@ }, "node_modules/@storybook/addon-controls": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.6.7.tgz", "integrity": "sha512-6ReB1Sc1qlqvAM7NUmtw2K1cKCgGBs8zYRgL44Q2ti+r55a2ownhm6WUm/kZs2ixSkV9ehm1osiqbGBfAn0Isw==", "dev": true, "license": "MIT", @@ -2876,7 +3167,6 @@ }, "node_modules/@storybook/addon-docs": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.6.7.tgz", "integrity": "sha512-kgNPEVuLGNJE8EdVQi5Tg2DYgR66/gut07jvhqnJfNqUkj6UpBHad0JR1uwrd7xS3kJs29Fs7UyU87RJnSlwcg==", "dev": true, "license": "MIT", @@ -2899,7 +3189,6 @@ }, "node_modules/@storybook/addon-essentials": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.6.7.tgz", "integrity": "sha512-PFT62xuknk4wD1hTZEnYbGP1mJFPlhk7zVVlMjoldMUhmbHsFRhdWCpo93Vu9E3BWVxFxL3Jj+UwSwH4uVmekQ==", "dev": true, "license": "MIT", @@ -2925,7 +3214,6 @@ }, "node_modules/@storybook/addon-highlight": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.6.7.tgz", "integrity": "sha512-4KE1RF4XfqII7XrJPgf/1W0t0EWRKmik5Rrpb6WofXfgZ2QYzLFnyESjf67/g2TMgDnle2drfa/pt5tGV4+I2Q==", "dev": true, "license": "MIT", @@ -2942,7 +3230,6 @@ }, "node_modules/@storybook/addon-interactions": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-8.6.7.tgz", "integrity": "sha512-FbEWWxCl/5DJDyEGTJqtTJ5XbxM2rOUGCPy+3CkPSpI9yvz3zprRTJRHPFrh7hUqQ4Qkqfjm7JCO29+0CmeE0g==", "dev": true, "license": "MIT", @@ -2963,7 +3250,6 @@ }, "node_modules/@storybook/addon-links": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-8.6.7.tgz", "integrity": "sha512-fIiXlaOa9Bv2tbBshQbh/BjzGOilXVx+6nrX9VkLOg7UvzAvivtSraRmPWjgdtsChAHC8Xac42KUCNGQ/rkf5w==", "dev": true, "license": "MIT", @@ -2987,7 +3273,6 @@ }, "node_modules/@storybook/addon-measure": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.6.7.tgz", "integrity": "sha512-4dkkCltjKRcJH+ZMv5nbNT0LBQfcXIydVfN9mAvhDsiPFD5eZcHbN4XVfUslECWgrkaa/a6FE1W9PNEUBjCJaA==", "dev": true, "license": "MIT", @@ -3005,7 +3290,6 @@ }, "node_modules/@storybook/addon-outline": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.6.7.tgz", "integrity": "sha512-atCpCi2CqAWQwL1nu1l5VpIA4fRMnbD4RZMsEiib1suUfNyJv0RdsSgZhp/f+e9sUS0TtMdwhzWT36eEA7VxhQ==", "dev": true, "license": "MIT", @@ -3023,7 +3307,6 @@ }, "node_modules/@storybook/addon-toolbars": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.6.7.tgz", "integrity": "sha512-gR+mRs+Cc5GINZdKgE7afJLFCSMHkz40+zzdrPu6yY2P4B3UOvuQpt+zC/Er5YQ31EEjIvM6/XMQTM0i2db8AA==", "dev": true, "license": "MIT", @@ -3037,7 +3320,6 @@ }, "node_modules/@storybook/addon-viewport": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.6.7.tgz", "integrity": "sha512-kTrt6ByCbBIbqoRqQO9watDl5nSIKCC+R0/EmpEl6ZtzBV3l8trZHdvCHhIqOyv7nfaa7pIeTTG1GD6Gdrxk3w==", "dev": true, "license": "MIT", @@ -3054,7 +3336,6 @@ }, "node_modules/@storybook/blocks": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.6.7.tgz", "integrity": "sha512-IFhIKO7R1UPpnoG/5tZH0FgC79oYgXNf+7aGUwq29M/CQWy6p/Pvp0y4P962btY1UZRol+SsU//33nH8o6yNRw==", "dev": true, "license": "MIT", @@ -3082,7 +3363,6 @@ }, "node_modules/@storybook/builder-vite": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-8.6.7.tgz", "integrity": "sha512-hgYnVu2cy8clrmDwidu4XjvFMTEi9WiblLH5cPI3LWQjVajIQmDpcWVp6kbD063sIOphh9zYP7cVKGO7ktMB/g==", "dev": true, "license": "MIT", @@ -3102,7 +3382,6 @@ }, "node_modules/@storybook/components": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.6.7.tgz", "integrity": "sha512-8pnjH1w7PZ/Iiuve1/BJY7EO/kmu0qdE34X1ZM8DyHzuy33EL/PfUuhxNkrL4ayMXrEDp/EJMHx2bqO1RdRV6A==", "dev": true, "license": "MIT", @@ -3116,7 +3395,6 @@ }, "node_modules/@storybook/core": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.6.7.tgz", "integrity": "sha512-FcvLFA+Qn3+D6LgQkk0MOXA5FBz8DGc0UZmZuVbIwIUV4MV4ywCMwtKdG0cyhtzQg0YNyfiIYWJr7lZ4jLLhYg==", "dev": true, "license": "MIT", @@ -3148,7 +3426,6 @@ }, "node_modules/@storybook/csf-plugin": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.6.7.tgz", "integrity": "sha512-HK7yQD4kFu04JOKnUwoFeR58r5WY6ucF0D8zfW4Gx+r8hBJ5K4t3z6k2dlIlRQF1X5+2vNkQOwD8liHjckuZ8Q==", "dev": true, "license": "MIT", @@ -3184,7 +3461,6 @@ }, "node_modules/@storybook/instrumenter": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.6.7.tgz", "integrity": "sha512-FeQiV0g5crCWs0P1wKY4xZzb4PxAYNcrm2+9LLGVqwnC7qzrSCPf0p10MlveVfwsen1m6Wbqfe+wl21c31Hfmg==", "dev": true, "license": "MIT", @@ -3202,7 +3478,6 @@ }, "node_modules/@storybook/manager-api": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.6.7.tgz", "integrity": "sha512-BA8RxaLP07WGF660LWo7qB3Jomr/+MPuCZmuKPqXxPhfIovqYjr0hnugxJBjEah0ic31aNX4NucNfDRuV7F5sA==", "dev": true, "license": "MIT", @@ -3216,7 +3491,6 @@ }, "node_modules/@storybook/preview-api": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.6.7.tgz", "integrity": "sha512-Rz83Nx43v3Dn9/SjhIsorkcx1gPmlclueuzf6YywJTqE1E/L4dgoe2mOA9MfF0jr0bh3TwEA2J3ii0Jstg1Orw==", "dev": true, "license": "MIT", @@ -3230,7 +3504,6 @@ }, "node_modules/@storybook/react-dom-shim": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.6.7.tgz", "integrity": "sha512-+JH7gbRI6NRbt9o0l1rY4wFdeVt8wGRddm0b55OBlwBGlFo2nvGVOH73J4AGphXVhfY7z33I3TXIjXQ561UdEQ==", "dev": true, "license": "MIT", @@ -3246,7 +3519,6 @@ }, "node_modules/@storybook/test": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/test/-/test-8.6.7.tgz", "integrity": "sha512-uF1JbBtdT7tuiXfEtHsUShBHIhm2vc0C39nKVJaTWyK9CybajXaj2Ny3IRa3oY9NKnklwGgN+kZ/Z9YiIOc4MQ==", "dev": true, "license": "MIT", @@ -3269,7 +3541,6 @@ }, "node_modules/@storybook/theming": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.6.7.tgz", "integrity": "sha512-F/i4XS5bew9dvtNiHvDJF0mko1IUbPM9PUjTYPaw6cK8ytS0kdec703MsJ/GUA7seeEWBeGdZjV3ua0pys650A==", "dev": true, "license": "MIT", @@ -3283,7 +3554,6 @@ }, "node_modules/@storybook/vue3": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/vue3/-/vue3-8.6.7.tgz", "integrity": "sha512-w32n6x4bOtvNGT2hz+MepJ6pwOJr0ARw2vagMEhYGnwinwCIM7yNaaQv2a3uy87BQnH5miyFKFXEL0Axrj9wOg==", "dev": true, "license": "MIT", @@ -3312,7 +3582,6 @@ }, "node_modules/@storybook/vue3-vite": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/@storybook/vue3-vite/-/vue3-vite-8.6.7.tgz", "integrity": "sha512-CHaWS218UXP2dB23LsCOPCPvImb2KkD5Qiz9fvT7U5RukWbHomQNKo9EQs3ujIjwVjomotBXMm1TfMUIE2Q3lg==", "dev": true, "license": "MIT", @@ -3339,7 +3608,6 @@ }, "node_modules/@storybook/vue3/node_modules/vue-component-type-helpers": { "version": "2.2.8", - "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-2.2.8.tgz", "integrity": "sha512-4bjIsC284coDO9om4HPA62M7wfsTvcmZyzdfR0aUlFXqq4tXxM1APyXpNVxPC8QazKw9OhmZNHBVDA6ODaZsrA==", "dev": true, "license": "MIT" @@ -3737,7 +4005,6 @@ }, "node_modules/@vitejs/plugin-vue": { "version": "5.2.3", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.3.tgz", "integrity": "sha512-IYSLEQj4LgZZuoVpdSUCw3dIynTWQgPlaRP6iAvMle4My0HdYwr5g5wQAfwOeHQBmYwEkqF70nRpSilr6PoUDg==", "dev": true, "license": "MIT", @@ -4738,13 +5005,27 @@ }, "node_modules/choices.js": { "version": "11.0.6", - "resolved": "https://registry.npmjs.org/choices.js/-/choices.js-11.0.6.tgz", "integrity": "sha512-BQrdTQtO2CL5sUnJL2b5qelgYd6GjwkZDdl93IDPy+idNAe0knJHX+WBWnFXH8cTVOJ6JWI4bxpBM29vz44pUQ==", "license": "MIT", "dependencies": { "fuse.js": "^7.0.0" } }, + "node_modules/chokidar": { + "version": "4.0.3", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/chownr": { "version": "2.0.0", "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", @@ -5085,7 +5366,6 @@ }, "node_modules/confbox": { "version": "0.2.1", - "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.1.tgz", "integrity": "sha512-hkT3yDPFbs95mNCy1+7qNKC6Pro+/ibzYxtM2iqEigpf0sVw+bg4Zh9/snjsBcf990vfIsg5+1U7VyiyBb3etg==", "dev": true, "license": "MIT" @@ -5409,6 +5689,19 @@ "node": ">=6" } }, + "node_modules/detect-libc": { + "version": "1.0.3", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, "node_modules/diff": { "version": "5.2.0", "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", @@ -5964,7 +6257,6 @@ }, "node_modules/eslint-plugin-vue": { "version": "9.33.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.33.0.tgz", "integrity": "sha512-174lJKuNsuDIlLpjeXc5E2Tss8P44uIimAfGD0b90k0NoirJqpG7stLuU9Vp/9ioTOrQdWVREc4mRd1BD+CvGw==", "dev": true, "license": "MIT", @@ -5987,7 +6279,6 @@ }, "node_modules/eslint-plugin-vue/node_modules/globals": { "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "license": "MIT", @@ -6003,7 +6294,6 @@ }, "node_modules/eslint-plugin-vue/node_modules/type-fest": { "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, "license": "(MIT OR CC0-1.0)", @@ -6214,7 +6504,6 @@ }, "node_modules/exsolve": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.4.tgz", "integrity": "sha512-xsZH6PXaER4XoV+NiT7JHp1bJodJVT+cxeSH1G0f0tlT0lJqYuHUP3bUx2HtfTDvOagMINYp8rsqusxud3RXhw==", "dev": true, "license": "MIT" @@ -7047,6 +7336,12 @@ "node": "^18.17.0 || >=20.5.0" } }, + "node_modules/immutable": { + "version": "5.1.1", + "integrity": "sha512-3jatXi9ObIsPGr3N5hGw/vWWcTkq6hUYhpQz4k0wLC+owqWi/LiugIw9x0EdNZ2yGedKN/HzePiBvaJRXa0Ujg==", + "dev": true, + "license": "MIT" + }, "node_modules/import-fresh": { "version": "3.3.1", "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", @@ -8050,7 +8345,6 @@ }, "node_modules/local-pkg": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.1.tgz", "integrity": "sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==", "dev": true, "license": "MIT", @@ -8546,7 +8840,6 @@ }, "node_modules/mlly": { "version": "1.7.4", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.7.4.tgz", "integrity": "sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==", "dev": true, "license": "MIT", @@ -8559,14 +8852,12 @@ }, "node_modules/mlly/node_modules/confbox": { "version": "0.1.8", - "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz", "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==", "dev": true, "license": "MIT" }, "node_modules/mlly/node_modules/pkg-types": { "version": "1.3.1", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz", "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==", "dev": true, "license": "MIT", @@ -8652,6 +8943,13 @@ "dev": true, "license": "MIT" }, + "node_modules/node-addon-api": { + "version": "7.1.1", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT", + "optional": true + }, "node_modules/node-emoji": { "version": "2.2.0", "integrity": "sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==", @@ -9604,7 +9902,6 @@ }, "node_modules/pathe": { "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", "dev": true, "license": "MIT" @@ -9716,7 +10013,6 @@ }, "node_modules/pkg-types": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.1.0.tgz", "integrity": "sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==", "dev": true, "license": "MIT", @@ -9798,7 +10094,6 @@ }, "node_modules/prettier": { "version": "3.5.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz", "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", "dev": true, "license": "MIT", @@ -10105,7 +10400,6 @@ }, "node_modules/quansync": { "version": "0.2.8", - "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.8.tgz", "integrity": "sha512-4+saucphJMazjt7iOM27mbFCk+D9dd/zmgMDCzRZ8MEoBfYp7lAvoN38et/phRQF6wOPMy/OROBGgoWeSKyluA==", "dev": true, "funding": [ @@ -10361,6 +10655,19 @@ "dev": true, "license": "MIT" }, + "node_modules/readdirp": { + "version": "4.1.2", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, "node_modules/recast": { "version": "0.23.9", "integrity": "sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==", @@ -10667,6 +10974,26 @@ "dev": true, "license": "MIT" }, + "node_modules/sass": { + "version": "1.86.0", + "integrity": "sha512-zV8vGUld/+mP4KbMLJMX7TyGCuUp7hnkOScgCMsWuHtns8CWBoz+vmEhoGMXsaJrbUP8gj+F1dLvVe79sK8UdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, "node_modules/saxes": { "version": "6.0.0", "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", @@ -11339,7 +11666,6 @@ }, "node_modules/storybook": { "version": "8.6.7", - "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.6.7.tgz", "integrity": "sha512-9gktoFMQDSCINNGQH869d/sar9rVtAhr0HchcvDA6bssAqgQJvTphY4qC9lH54SxfTJm/7Sy+BKEngMK+dziJg==", "dev": true, "license": "MIT", @@ -11988,7 +12314,6 @@ }, "node_modules/typescript": { "version": "5.8.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", "devOptional": true, "license": "Apache-2.0", @@ -12002,7 +12327,6 @@ }, "node_modules/ufo": { "version": "1.5.4", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.4.tgz", "integrity": "sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==", "dev": true, "license": "MIT" @@ -12281,7 +12605,6 @@ }, "node_modules/vite-plugin-dts": { "version": "4.5.3", - "resolved": "https://registry.npmjs.org/vite-plugin-dts/-/vite-plugin-dts-4.5.3.tgz", "integrity": "sha512-P64VnD00dR+e8S26ESoFELqc17+w7pKkwlBpgXteOljFyT0zDwD8hH4zXp49M/kciy//7ZbVXIwQCekBJjfWzA==", "dev": true, "license": "MIT", @@ -12969,7 +13292,6 @@ }, "node_modules/vue-tsc": { "version": "2.2.8", - "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.2.8.tgz", "integrity": "sha512-jBYKBNFADTN+L+MdesNX/TB3XuDSyaWynKMDgR+yCSln0GQ9Tfb7JS2lr46s2LiFUT1WsmfWsSvIElyxzOPqcQ==", "dev": true, "license": "MIT", @@ -12986,7 +13308,6 @@ }, "node_modules/vue-tsc/node_modules/@vue/language-core": { "version": "2.2.8", - "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.2.8.tgz", "integrity": "sha512-rrzB0wPGBvcwaSNRriVWdNAbHQWSf0NlGqgKHK5mEkXpefjUlVRP62u03KvwZpvKVjRnBIQ/Lwre+Mx9N6juUQ==", "dev": true, "license": "MIT", @@ -13011,7 +13332,6 @@ }, "node_modules/vue-tsc/node_modules/alien-signals": { "version": "1.0.4", - "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-1.0.4.tgz", "integrity": "sha512-DJqqQD3XcsaQcQ1s+iE2jDUZmmQpXwHiR6fCAim/w87luaW+vmLY8fMlrdkmRwzaFXhkxf3rqPCR59tKVv1MDw==", "dev": true, "license": "MIT" diff --git a/package.json b/package.json index e1acbb4e..a65f8529 100644 --- a/package.json +++ b/package.json @@ -67,6 +67,7 @@ "jsdom": "25.0.1", "prettier": "3.5.3", "rimraf": "6.0.1", + "sass": "^1.86.0", "semantic-release": "24.2.3", "semantic-release-gitmoji": "1.6.8", "storybook": "8.6.7", diff --git a/public/assets/css/central_css.scss b/public/assets/css/central_css.scss new file mode 100644 index 00000000..1e61544e --- /dev/null +++ b/public/assets/css/central_css.scss @@ -0,0 +1,189 @@ +@use "sass:string"; +/* + * General css classes leaned on styling classes from vuetify + */ + +// Variablen für Steps und Basis-Werte +$steps: 16; +$unit: 4px; + +/** + * Generate margin, padding and gap classes + */ +$directions: ("all", "top", "right", "bottom", "left", "x", "y"); + +@mixin generate-spacing-classes($property, $steps, $unit, $directions) { + @each $direction in $directions { + @for $i from 0 through $steps { + @if $direction == "all" { + // Für alle Seiten + .#{string.slice($property, 1, 1)}#{string.slice($direction, 1, 1)}-#{$i} { + #{$property}: $i * $unit; + } + } @else if $direction == "x" { + // Für horizontale Achse (left + right) + .#{string.slice($property, 1, 1)}x-#{$i} { + #{$property}-left: $i * $unit; + #{$property}-right: $i * $unit; + } + } @else if $direction == "y" { + // Für vertikale Achse (top + bottom) + .#{string.slice($property, 1, 1)}y-#{$i} { + #{$property}-top: $i * $unit; + #{$property}-bottom: $i * $unit; + } + } @else { + // Für einzelne Richtungen (top, right, bottom, left) + .#{string.slice($property, 1, 1)}#{string.slice($direction, 1, 1)}-#{$i} { + #{$property}-#{$direction}: $i * $unit; + } + } + } + } +} + +@include generate-spacing-classes("padding", $steps, $unit, $directions); +@include generate-spacing-classes("margin", $steps, $unit, $directions); +@include generate-spacing-classes("gap", $steps, $unit, $directions); + +/** + * Elevation classes + */ +@for $i from 0 through $steps { + .elevation-#{$i} { + elevation: $i px; + } +} + +/** + * Generate flex, justify and align classes + */ +@function get-before-dash($string) { + $index: string.index($string, "-"); // Position des ersten '-' + @if $index { + @return string.slice($string, 1, $index - 1); // Schneide bis vor das '-' + } + @return $string; // Gibt den gesamten String zurück, wenn kein '-' vorhanden ist +} + +@mixin generate-flex-classes($property, $list) { + @each $key, $value in $list { + .#{get-before-dash($property)}-#{$key} { + #{$property}: #{$value}; + } + } +} + +@include generate-flex-classes( + "flex-direction", + ( + "row": row, + "row-reverse": row-reverse, + "column": column, + "column-reverse": column-reverse, + ) +); + +@include generate-flex-classes( + "justify-content", + ( + "start": flex-start, + "end": flex-end, + "center": center, + "space-between": space-between, + "space-around": space-around, + "space-evenly": space-evenly, + ) +); + +@include generate-flex-classes( + "align-items", + ( + "start": flex-start, + "end": flex-end, + "center": center, + "baseline": baseline, + "stretch": stretch, + ) +); + +/** + * Generate opacity classes + */ +@for $i from 0 through 10 { + .opacity-#{$i * 10} { + opacity: $i * 10%; + } +} + +/** + * Generate cursor classes + */ + +@each $cursor + in ( + "auto", + "default", + "grab", + "grabbing", + "help", + "move", + "none", + "not-allowed", + "pointer", + "progress-text", + "wait" + ) +{ + .cursor-#{$cursor} { + cursor: $cursor; + } +} + +/** + * Generate overflow classes + */ +@each $overflow + in ( + "auto", + "hidden", + "visible", + "x-auto", + "x-hidden", + "x-visible", + "y-auto", + "y-hidden", + "y-visible" + ) +{ + .overflow-#{$overflow} { + overflow: $overflow; + } +} + +/** + * Generate position classes + */ +@each $position in ("top", "bottom", "right", "left") { + .#{$position}-0 { + #{$position}: 0; + } +} + +@each $position in ("static", "relative", "absolute", "fixed", "sticky") { + .position-#{$position} { + position: #{$position}; + } +} + +/** + * Generate sizing classes + */ +@each $size in ("auto", "0", "25", "33", "50", "66", "75", "100") { + .w-#{$size} { + width: $size; + } + .h-#{$size} { + height: $size; + } +} diff --git a/public/assets/css/custom-style.css b/public/assets/css/custom-style.css index 20b67046..b53acaeb 100644 --- a/public/assets/css/custom-style.css +++ b/public/assets/css/custom-style.css @@ -2,64 +2,68 @@ * We need this css to ensure the correct patternlab * behaviour inside of a webcomponent. */ -:host, :root { - --color-brand-main-blue: #005A9F; - --color-neutrals-blue: #BDD4EA; - --color-neutrals-blue-xlight: #F2F6FA; - --color-neutrals-grey: #3A5368; - color: var(--color-neutrals-grey); - font-family: Open Sans, Arial, sans-serif; - font-size: 1rem; - font-weight: 400; - line-height: 1.5; - word-break: break-word; - background-color: #fff; - -webkit-text-size-adjust: 100%; - -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +:host, +:root { + --color-brand-main-blue: #005a9f; + --color-neutrals-blue: #bdd4ea; + --color-neutrals-blue-xlight: #f2f6fa; + --color-neutrals-grey: #3a5368; + color: var(--color-neutrals-grey); + font-family: + Open Sans, + Arial, + sans-serif; + font-size: 1rem; + font-weight: 400; + line-height: 1.5; + word-break: break-word; + background-color: #fff; + -webkit-text-size-adjust: 100%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); } h1 { - font-family: "Roboto Condensed",Arial,sans-serif; - font-size: 1.875rem; - font-weight: 700; - line-height: 1.25; + font-family: "Roboto Condensed", Arial, sans-serif; + font-size: 1.875rem; + font-weight: 700; + line-height: 1.25; } h2 { - font-family: "Roboto Condensed",Arial,sans-serif; - font-size: 1.5rem; - font-weight: 700; - line-height: 1.25; + font-family: "Roboto Condensed", Arial, sans-serif; + font-size: 1.5rem; + font-weight: 700; + line-height: 1.25; } h3 { - font-family: "Roboto Condensed",Arial,sans-serif; - font-size: 1.25rem; - font-weight: 700; - line-height: 1.25; + font-family: "Roboto Condensed", Arial, sans-serif; + font-size: 1.25rem; + font-weight: 700; + line-height: 1.25; } h4 { - font-family: "Roboto Condensed",Arial,sans-serif; - font-size: 1.125rem; - font-weight: 700; - line-height: 1.25; + font-family: "Roboto Condensed", Arial, sans-serif; + font-size: 1.125rem; + font-weight: 700; + line-height: 1.25; } h5 { - font-family: "Roboto Condensed",Arial,sans-serif; - font-size: 1rem; - font-weight: 700; - line-height: 1.5; + font-family: "Roboto Condensed", Arial, sans-serif; + font-size: 1rem; + font-weight: 700; + line-height: 1.5; } -@media all and (min-width:1200px) { - h1 { - font-size: 2.375rem; - } - h2 { - font-size: 1.75rem; - } - h3 { - font-size: 1.5rem; - } - h4 { - font-size: 1.25rem; - } +@media all and (min-width: 1200px) { + h1 { + font-size: 2.375rem; + } + h2 { + font-size: 1.75rem; + } + h3 { + font-size: 1.5rem; + } + h4 { + font-size: 1.25rem; + } }