<p align="center">
  <img alt="ADEO Design system - Core library" src="./.storybook/assets/adeo-design-system-web-component-banner.svg" />
</p>

<h1 align="center">
  ADEO Design system - Web Components (Svelte)
</h1>

<p align="center">
  A library of <a href="https://svelte.dev/">Svelte</a> and <a href="https://developer.mozilla.org/fr/docs/Web/API/Web_components">Web Component</a> implementing ADEO Design system guidelines.
</p>

<p align="center">
  <a href="https://www.npmjs.com/package/@mozaic-ds/web-components">
    <img src="https://img.shields.io/npm/v/@mozaic-ds/web-components?label=NPM&logo=npm&color=yellow" alt="npm version">
  </a>
  <a href="https://github.com/adeo/mozaic-web-components/blob/master/CONTRIBUTING.md">
    <img src="https://img.shields.io/badge/PRs-welcome-blue.svg?logo=github" alt="PRs welcome" />
  </a>
  <a href="https://app.slack.com/client/T4R6RCZFA/C021A2J25C4">
    <img src="https://img.shields.io/badge/Slack-mozaic_web_components-611f69.svg?logo=slack" alt="Slack mozaic-web-components" />
  </a>
  <a href="https://keys.adeo.com/keys/ls/space/2583429798460717/adeo-adeo-design-system">
    <img src="https://img.shields.io/badge/KEYS-Adeo_Design_System-4526ce.svg" alt="KEYS ADEO Design system" />
  </a>
</p>

## 🎨 Getting started

**ADEO Design system** is a global and collaborative design system that facilitates the designer and developer experience, enabling them to create universal interfaces perfectly aligned with the business strategy of [Adeo](https://www.adeo.com/).

## 📦 Install

To install mozaic `web-components` in your project, you will need to run the following command using `npm`:

```shell
npm i @mozaic-ds/web-components
```

If you prefer `Yarn`, use the following command instead:

```shell
yarn add @mozaic-ds/web-components
```

## 📝 Usage

Our library is available in a Svelte and in a Web Component version.

1 - Svelte

To import and use a component, you can proceed as follows:

```tsx
<script lang="ts">
  import { Button } from '@mozaic-ds/web-components/svelte';
</script>

<Button appearance="accent">My first svelte Button</Button>
```

2 - Web Components

To import and use a component, you can proceed as follows:

```ts
import '@mozaic-ds/web-components/components/button/Button.js';
```

```html
<m-button appearance="accent">This is an accent button</m-button>
```

## 📰 Changelog

Releases are managed with **GitHub Releases**, including the changelog for each one.<br/>
Access to the [Changelog](CHANGELOG.md) to find out about the detailed changes to each release.

## 📣 Stay in touch

- Join the [#mozaic-web-components](https://app.slack.com/client/T4R6RCZFA/C021A2J25C4) channel on **Slack**
- Join the [#mozaic-support](https://app.slack.com/client/T4R6RCZFA/CKQJZL7C4/) channel on **Slack**
- Follow our [KEYS page](https://keys.adeo.com/keys/ls/space/2583429798460717/adeo-adeo-design-system)

## 🐞 Bugs and feature requests

Have a bug or a feature request?<br/>
Please [open an issue](https://github.com/adeo/mozaic-web-components/issues/new/choose) and use the template associated with your request.

However, if you are able to contribute and fix bugs, build new features, or help to improve the project documentation, feel free to do it! _(more information below)_

## ✍️ Contributing

Setup the project to start contributing.

```bash
// Clone mozaic-web-components repo
$ git clone git@github.com:adeo/mozaic-web-components.git

// Go to the cloned directory
$ cd mozaic-web-components

// Checkout the branch you are working on
$ git checkout <branch name>

// Install dependencies
$ npm install
```

We're always looking for contributors to help us fix bugs, build features, or help us improve the documentation. If you're intersted check out our [Code of Conduct](CODE_OF_CONDUCT.md) and [Contribution Guide](CONTRIBUTING.md).

## 🧑‍💻 Contributors

**Owners**

**[ADEO Design system Team](https://github.com/orgs/adeo/teams/adeo-design-system)**

**Maintainer**

- **[David Martin](https://github.com/dmartinds)**

## 📄 Licensing

This project is licensed under the Apache V2 License. See [LICENSE](LICENSE) for more information.
