wix-style-react
Version:
wix-style-react
123 lines (85 loc) • 4.01 kB
Markdown
<p align="center">
<a href="www.wix-style-react.com">
<img
src="https://github.com/wix-private/wix-design-systems-legacy/blob/master/packages/wix-style-react/.storybook/docs/logo.svg?token=GHSAT0AAAAAABSXBUNAMD44KHZDQUWHXI4UYYLMFLQ" alt="Wix Style React" width="400">
</a>
</br>
<span>
A collection of React components that conform to Wix Style.
</span>
</p>
<div align="center">

[](https://www.npmjs.com/package/wix-style-react)
</div>
<div align="center">
<a href="https://www.wix-style-react.com">https://wix-style-react.com</a>
</div>
Support Channel: [#wix-style-react](https://wix.slack.com/archives/C39FTGUBZ)
## 📦 Install
```bash
npm install wix-style-react
```
```bash
yarn add wix-style-react
```
## 🔨 Setup
wix-style-react is built with [Stylable](https://stylable.io/), therefore we recommend you build your project using a **Stylable compatible** template in order to save some configurations.
Take a look at our usage guide [Create Stylable
App](https://github.com/wix-private/wix-design-systems-legacy/blob/master/packages/wix-style-react/docs/usage/usage-with-create-stylable-app.md) to create a new Stylable project from a boilerplate.
#### Requirements
wix-style-react requires react version `16.14.0` and up.<br/>
For typescript users version `^3.9.7` is required.
#### Browsers support
- Google Chrome (version 92 and above)
- Safari for Mac (version 14 and above)
- Microsoft Edge (version 100 and above)
- Firefox (version 91 and above)
#### Setting up your app
All wix-style-rect applications start with a WixStyleReactProvider. The Provider injects MadeFor font and enables font smoothing.
```jsx
import {WixStyleReactProvider, Button} from 'wix-style-react';
const App = () => (
<WixStyleReactProvider>
<Button>Hello World!</Button>
</WixStyleReactProvider>
);
```
## 💫 Testkits
All our components are provided with testkits that help our users test them.
A component testkit provides an interface to the component, enabling automated tests to access component functions without needing to know precise details of the technology being used.
```jsx
// Here is an example
// 1. import
import { InputTestkit } from 'wix-style-react/dist/testkit';
// 2. initialize
const inputDriver = InputTestkit({
wrapper: document.body,
dataHook: 'name-input',
});
// 3. interact
it('test', async () => {
await inputDriver.enterText('hello world');
expect(await inputDriver.getText()).toBe('hello world');
});
```
All methods are documented in our storybook components stories and some can be viewed through typescript interface.
Our testkits currently support four major testing frameworks:
`react-jsdom`, `protractor`, `puppeteer` and `selenium`. Read our
[testing
guidelines](https://github.com/wix-private/wix-design-systems-legacy/blob/master/packages/wix-style-react/docs/usage/testing.md)
## ⌨️ Typescript
The library is javascript based but types are supported with `d.ts` files.
You should get the types automatically when installing `wix-style-react`.
For any issues, check out our types
[FAQ](https://github.com/wix-private/wix-design-systems-legacy/blob/master/packages/wix-style-react/docs/FAQ/TYPES.MD)
## 🤝 Contributing [](http://makeapullrequest.com)
We welcome contributions to Wix-Style-React!
Read our [contributing
guide](https://github.com/wix-private/wix-design-systems-legacy/blob/master/packages/wix-style-react/CONTRIBUTING.md) and help us build or improve our components.
## 🙋 Support
Check out our [support
guide](https://github.com/wix-private/wix-design-systems-legacy/blob/master/packages/wix-style-react/SUPPORT.md)
## 📝 License
This project is offered under [MIT
License](https://github.com/wix-private/wix-design-systems-legacy/blob/master/packages/wix-style-react/LICENSE).