diff --git a/package.json b/package.json index ce543185..c3a3828c 100644 --- a/package.json +++ b/package.json @@ -50,6 +50,7 @@ "terser-webpack-plugin": "^5.3.9", "vue": "^3.3.4", "vue-loader": "^17.2.2", + "vee-validate": "^4.5.8", "vue-material-design-icons": "^5.2.0", "vue3-icon": "^2.1.0", "webpack": "^5.88.2", diff --git a/src/vue/.storybook/main.js b/src/vue/.storybook/main.js index 94a55abb..4ea4cf54 100644 --- a/src/vue/.storybook/main.js +++ b/src/vue/.storybook/main.js @@ -1,7 +1,8 @@ /** @type { import('@storybook/vue3-webpack5').StorybookConfig } */ const webpack = require("webpack"); const path = require("path"); -const config = { + +module.exports = { stories: ["../**/*.stories.@(js|jsx|mjs|ts|tsx)"], addons: [ "storybook-addon-sass-postcss", @@ -18,13 +19,14 @@ const config = { }, staticDirs: [path.resolve(__dirname, "../assets")], webpackFinal: async (config) => { + // Define global constants that can be accessed in your stories config.plugins.push( new webpack.DefinePlugin({ SERVER: JSON.stringify("http://localhost:6006/"), }) ); + return config; }, }; -export default config; diff --git a/src/vue/.storybook/preview-head.html b/src/vue/.storybook/preview-head.html index 34e35130..f9ffcc5d 100644 --- a/src/vue/.storybook/preview-head.html +++ b/src/vue/.storybook/preview-head.html @@ -1,11 +1,12 @@ - - - - - - + + + + - - - + + + + + + diff --git a/src/vue/assets/fonts.css b/src/vue/assets/fonts.css new file mode 100644 index 00000000..2a95ad18 --- /dev/null +++ b/src/vue/assets/fonts.css @@ -0,0 +1,72 @@ +/* Montserrat Font Family */ +@font-face { + font-family: 'Montserrat'; + font-style: normal; + font-stretch: normal; + font-family: 'Montserrat'; + src: url('/fonts/MontserratRegular.woff2') format('woff2'), + url('/fonts/MontserratRegular.woff') format('woff'); + font-weight: 400; +} + +@font-face { + font-family: 'Montserrat'; + src: url('/fonts/MontserratRegular.woff2') format('woff2'), + url('/fonts/MontserratRegular.woff') format('woff'); + font-weight: 400; +} + +@font-face { + font-family: 'Montserrat'; + src: url('/fonts/MontserratMedium.woff2') format('woff2'), + url('/fonts/MontserratMedium.woff') format('woff'); + font-weight: 500; +} + +@font-face { + font-family: 'Montserrat'; + src: url('/fonts/MontserratSemiBold.woff2') format('woff2'), + url('/fonts/MontserratSemiBold.woff') format('woff'); + font-weight: 600; +} + +@font-face { + font-family: 'Montserrat'; + src: url('/fonts/MontserratBold.woff2') format('woff2'), + url('/fonts/MontserratBold.woff') format('woff'); + font-weight: 700; +} + +/* Roboto Font Family */ +@font-face { + font-family: 'Roboto'; + font-style: normal; +} + +@font-face { + font-family: 'Roboto'; + src: url('/fonts/RobotoRegular.woff2') format('woff2'), + url('/fonts/RobotoRegular.woff') format('woff'); + font-weight: normal; +} + +@font-face { + font-family: 'Roboto'; + src: url('/fonts/RobotoMedium.woff2') format('woff2'), + url('/fonts/RobotoMedium.woff') format('woff'); + font-weight: 500; +} + +@font-face { + font-family: 'RobotoBold'; + src: url('/fonts/RobotoBold.woff2') format('woff2'), + url('/fonts/RobotoBold.woff') format('woff'); + font-weight: 700; +} + +/* Body */ +body { + font-family: 'Roboto', sans-serif; +} + + diff --git a/src/vue/components/Button.vue b/src/vue/components/Button.vue index 3dada6cf..ed7dd0a5 100644 --- a/src/vue/components/Button.vue +++ b/src/vue/components/Button.vue @@ -2,7 +2,7 @@