@engie-group/fluid-design-system-vue
Version:
Fluid Design System Vue
113 lines (77 loc) • 4.14 kB
Markdown
# Engie's Vue components of the Fluid design system
[Fluid](https://www.engie.design/fluid-design-system/) is the Engie's design system, a collection of reusable components and styles used to build Engie's digital products.
Here is the package to benefit from Fluid's components and styles in your Vue project.
- [Versioning](#versioning)
- [Getting started](#getting-started)
- [Documentation and usage](#documentation-and-usage)
- [Troubleshooting and feature requests](#troubleshooting-and-feature-requests)
## Versioning
⚠️ This package doesn't follow semantic versioning, breaking changes may be introduced in minor versions.
We recommend **fixing the version with the exact package version** to avoid breaking changes affecting your live website.
Moreover, we recommend checking the [CHANGELOG](https://github.tools.digital.engie.com/GBSEngieDigitalDesignSystem/fluid-design-system/blob/main/packages/fluid-vue/CHANGELOG.md) before updating the package after a release.
## Getting started
This package can be installed directly with [NPM](https://www.npmjs.com/package/@engie-group/fluid-design-system-vue):
```shell
# Using npm
npm install --save-exact @engie-group/fluid-design-system-vue @engie-group/fluid-design-tokens
# Using pnpm
pnpm add --save-exact @engie-group/fluid-design-system-vue @engie-group/fluid-design-tokens
# Using yarn
yarn add --save-exact @engie-group/fluid-design-system-vue @engie-group/fluid-design-tokens
```
> ℹ️ If you use deprecated components or need the reboot.css, you will need to install and use some styles from the `@engie-group/fluid-4-deprecated` package.
>
> Please refer to the `@engie-group/fluid-4-deprecated` `README.md` for more information.
>
> ```shell
> # Using npm
> npm install @engie-group/fluid-4-deprecated
>
> # Using pnpm
> pnpm add @engie-group/fluid-4-deprecated
>
> # Using yarn
> yarn add @engie-group/fluid-4-deprecated
> ```
### Fonts and Icons
In order for the components to work properly, you need to include the Material Icons and Lato font in your project.
You should include them in your HTML `<head>`:
```html
<!-- Material icons, Lato font and Roboto Mono font -->
<link href="https://fonts.googleapis.com/css?family=Material+Icons|Lato:300,400,700,900|Roboto+Mono:300,400,700,900&display=swap" rel="stylesheet" />
```
#### CSS
Component styling is based on CSS classes and some CSS variables (called design tokens).
In order for each component to be rendered as expected, you need to include a CSS file as global stylesheet in your project.
You must include it in your HTML `<head>`:
```html
<!-- Fluid design tokens as CSS variables -->
<link href="<your-relative-path-to-node_modules>/@engie-group/fluid-design-tokens/lib/css/tokens.css" rel="stylesheet" />
```
or import it in your main JavaScript file:
```javascript
import "@engie-group/fluid-design-tokens/css";
```
or in your CSS entry file :
```css
@import "@engie-group/fluid-design-tokens/css";
```
> ℹ️ We recommend including it before your own stylesheets to avoid any conflicts.
## Documentation and usage
For a better comprehension of the components and their usage, we recommend checking our [Storybook](https://fluid.design.digital.engie.com/fluid-design-system/vue/index.html) documentation.
For Fluid overall documentation, you can check our [Fluid documentation](https://www.engie.design/fluid-design-system/).
If you have correctly followed the installation steps, you should be able to use Fluid components in your project.
All components are exported in `@engie-group/fluid-design-system-vue`:
```html
<script setup>
import { Button } from "@engie-group/fluid-design-system-vue";
function sayHello() {
console.log("Hello world!");
}
</script>
<template>
<button emphasis="subtle" @click="sayHello">Do an action</button>
</template>
```
## Troubleshooting and feature requests
If you encounter any issues, or you want any component or feature to be implemented, please create an issue or a feature request on our [GitHub repository](https://github.tools.digital.engie.com/GBSEngieDigitalDesignSystem/fluid-design-system/issues).