npm package: @rebilly/recomponents-next
Description: <p align="center">   <a href="https://rebilly.github.io/revel">     <img alt="Revel" width="300" src="https://user-images.githubusercontent.com/1580169/211651583-03750a4c-71d9-4b2f-9af8-16d48b790e06.png">   </a> </p>
Author: Rebilly
Latest version: 3.0.0

<p align="center">
  <a href="https://rebilly.github.io/revel">
    <img alt="Revel" width="300" src="https://user-images.githubusercontent.com/1580169/211651583-03750a4c-71d9-4b2f-9af8-16d48b790e06.png">
  </a>
</p>

# Revel
### Design and develop clean, elegant, and performant Rebilly experiences.
---
<p>
  <a href="https://rebilly.github.io/revel">
  View Documentation
  </a>
</p>

<p>
  <a href="https://www.npmjs.com/package/@rebilly/recomponents-next">
    <img alt="npm latest version" src="https://img.shields.io/npm/v/@rebilly/recomponents-next/latest.svg">
  </a>
  <a href="https://github.com/semantic-release/semantic-release">
    <img alt="semantic-release: conventional commits" src="https://img.shields.io/badge/semantic--release-conventional%20commits-e10079?logo=semantic-release">
  </a>
  <a href="https://github.com/Rebilly/revel/actions/workflows/release.yml">
    <img alt="Release status" src="https://github.com/Rebilly/revel/actions/workflows/release.yml/badge.svg">
  </a>
</p>

## About this repo
Revel is the design system used by designers and developers at Rebilly to build clean, elegant, and performant experiences for its merchants.

## Commands
### Install dependecies and start development
```
yarn && yarn docs:dev
```

### Commands
Command | Description
-|-
`dev` | Run the dev server for the component documentation. See `docs:dev`.
`docs:dev` | Run the dev server for the component documentation.
`docs:build` | Build component documentation as a static HTML site.
`build` | Build the library.
`build:watch` | Build the library and rebuild on file changes.
`playground:dev` | Run the playground dev server (see [Playground](#playground)).
`lint` | Run eslint.
`lint:fix` | Run eslint and automatically fix issues.
`test:unit` | Run the unit tests.
`test:unit:watch` | Run the unit tests on changed files, in watch mode.

### Playground
Sometimes it is easier to test a complex configuration directly in a vue application, rather than through our vuepress documentation.

For this, we provide a playground server which can be run with:
```
yarn playground:dev
```

Note: You must copy the playground component file 
`/src/playground/Playground-copyme.vue` to `Playground.vue`.

## Contribution guide

This package is following the [Semantic Versioning](http://semver.org/) specification with [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) and automated released with [Semantic Release](https://semantic-release.gitbook.io/semantic-release/).

Pull-requests are squashed into `main`, and by default the title of the PR becomes the commit message. For this reason, PR titles in this repository are linted against [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/).

To create a feature, or fix an issue, create a PR into `main` with your fix, and ensure that the PR title follows Conventional Commits. Once approved, squash merging the PR into `main` will trigger Semantic Release, which will determine if a release is required based on the commit and if so automatically package and release the new version.

The following table shows examples of PR titles / `main` commit messages and the release they would trigger:
| Commit/PR Title | Version |
| - | -: |
| perf(datepicker): ... | Patch release |
| fix(datepicker): use margin of parent component in picker allocation | Patch release |
| feat(datepicker): add option to specify picker vertical alignment | Feature release |
| feat(datepicker)!: add option to specify picker vertical alignment | Breaking Release |
| feat(datepicker): BREAKING CHANGE migrate from vuejs-datepicker to vue-date-picker | Breaking release |

Note: Only commit types `fix`, `feat`, `perf` or breaking changes will trigger a release. Types such as `docs`, `chore`, `refactor` will not trigger a release.