@vtmn/css-navbar
Version:
Decathlon Design System - Vitamin specific CSS styles for navbar component
172 lines (112 loc) • 5.81 kB
Markdown
# `/css-navbar`
> Decathlon Design System - Vitamin specific CSS styles for navbar component
<a href="https://www.decathlon.design/726f8c765/p/9596dd-navbar-beta/b/08a8f6"><img src="https://img.shields.io/badge/decathlon.design-docs-007dbc" alt="documentation" /></a>
<a href="https://decathlon.github.io/vitamin-web/@vtmn/showcase-css/?path=/docs/components-navigation-navbar--overview"><img src="https://img.shields.io/badge/storybook-css-d891bc?style=flat&logo=storybook" alt="storybook" /></a>
<a href="https://www.npmjs.com/package/@vtmn/css-navbar"><img src="https://img.shields.io/npm/v/@vtmn/css-navbar?style=flat&logo=npm" alt="npm version" /></a>
<a href="https://sonarcloud.io/project/overview?id=decathlon_vitamin-web_css_components_navbar"><img src="https://sonarcloud.io/api/project_badges/measure?project=decathlon_vitamin-web_css_components_navbar&metric=alert_status" alt="Quality Gate Status" /></a>
## Install package
After installing [npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) or [yarn](https://yarnpkg.com/en/docs/install), you can install `@vtmn/css-navbar` with this command:
```sh
# with npm
npm i -S /css-navbar
# with yarn
yarn add /css-navbar
```
Or you can also install it with a CDN like `unpkg.com`:
```html
<link rel="stylesheet" href="https://unpkg.com/@vtmn/css-navbar" />
```
## Install fonts
[Roboto](https://fonts.google.com/specimen/Roboto) & [Roboto Condensed](https://fonts.google.com/specimen/Roboto+Condensed) fonts as described in [Typography](https://www.decathlon.design/726f8c765/v/0/p/860e14-typography) section will not be automatically loaded. Fortunately, there is a few easy ways to get started.
You can install them with [FontSource](https://github.com/fontsource/fontsource):
```sh
# with npm
npm i -S /roboto @fontsource/roboto-condensed
# with yarn
yarn add /roboto @fontsource/roboto-condensed
```
Then, within your app entry file or site component, import it in:
```javascript
import '/roboto'; // Defaults to weight 400
import '/roboto/400.css'; // Specify weight
import '/roboto/400-italic.css'; // Specify weight and style
```
In order to enhance performance of your app, please read about [font subsetting](https://web.dev/font-best-practices/#subset-fonts). [FontSource explains it here](https://fontsource.org/docs/getting-started/subsets).
Otherwise, you can also load them through CDN:
```html
<link
rel="stylesheet"
href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&family=Roboto+Condensed:ital,wght@0,400;0,700;1,700&display=swap"
/>
```
Finally, you can also import them via CSS import:
```css
url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&family=Roboto+Condensed:ital,wght@0,400;0,700;1,700&display=swap');
```
## Install icons (optional)
If you need to display icons in text input, you will need to install `/icons` package.
```sh
# with npm
npm i -S /icons
# with yarn
yarn add /icons
```
Then follow instructions in [README of /icons](https://www.npmjs.com/package/@vtmn/icons) :
```javascript
import '/icons/dist/vitamix/font/vitamix.css';
```
Or you can also import it with a CDN like `unpkg.com` with [this file](https://unpkg.com/@vtmn/icons/dist/vitamix/font/vitamix.css).
# Usage
Once you have installed this package, you just have to import CSS styles!
### Without theming
If you don't need different themes, you can choose the specific CSS package without CSS variables.
With a bundler that supports CSS imports in JS files:
```javascript
import '/css-navbar/dist/index.css';
```
Otherwise include it in your HTML file:
```html
<link rel="stylesheet" href="./node_modules/@vtmn/css-navbar/dist/index.css" />
```
### With theming
If you need different themes, you can choose the specific CSS package with CSS variables. For this, be sure to install & import `/css-design-tokens` before:
```sh
# with npm
npm i -S /css-design-tokens
# with yarn
yarn add /css-design-tokens
```
Or you can also install it with a CDN like `unpkg.com`:
```html
<link rel="stylesheet" href="https://unpkg.com/@vtmn/css-design-tokens" />
```
With a bundler that supports CSS imports in JS files:
```javascript
import '/css-design-tokens/dist/index.css';
import '/css-navbar/dist/index-with-vars.css';
```
Otherwise include it in your HTML file:
```html
<link
rel="stylesheet"
href="./node_modules/@vtmn/css-design-tokens/dist/index.css"
/>
<link
rel="stylesheet"
href="./node_modules/@vtmn/css-navbar/dist/index-with-vars.css"
/>
```
## Development
To know all the use cases and their associated code, [check out the showcase here](https://decathlon.github.io/vitamin-web/@vtmn/showcase-css/index.html?path=/docs/components-navbar--overview).
## Documentation
For more information about how this component is designed and how to use it in your application, [check out the decathlon.design docs](https://www.decathlon.design/726f8c765/p/46ee45-navbar-beta/b/136a45)
## Base 10 support
If your project uses the mathematical trick of basing the value of `1rem` equals `10px`, there is also an `index-base10` output within the `dist` folder of this package.
## Changelog
If you want to know the different changes between versions of this package, [look at the changelog here](https://github.com/Decathlon/vitamin-web/blob/main/packages/sources/css/src/components/navbar/CHANGELOG.md).
## I have an issue, what should I do?
Please file the issue [here](https://github.com/Decathlon/vitamin-web/issues/new).
## Contributing
See [the contributing docs](https://github.com/Decathlon/vitamin-web/blob/main/CONTRIBUTING.md).
## License
Apache-2.0 © [Decathlon](https://github.com/Decathlon)