# @auraxy/react-radio-checkbox
[![NPM Version](http://img.shields.io/npm/v/@auraxy/react-radio-checkbox.svg?style=flat-square)](https://www.npmjs.com/package/@auraxy/react-radio-checkbox)
[![Download Month](http://img.shields.io/npm/dm/@auraxy/react-radio-checkbox.svg?style=flat-square)](https://www.npmjs.com/package/@auraxy/react-radio-checkbox)
![gzip with dependencies: kb](https://img.shields.io/badge/gzip--with--dependencies-kb-brightgreen.svg "gzip with dependencies: kb")
![typescript](https://img.shields.io/badge/typescript-supported-blue.svg "typescript")
![pkg.module](https://img.shields.io/badge/pkg.module-supported-blue.svg "pkg.module")

> `pkg.module supported`, 天然支持 tree-shaking, 使用 es module 引用即可

[English Document](./README.md)

react radio checkbox component

## Installation
```bash
npm i -S @auraxy/react-radio-checkbox
```

## Global name - The variable the module exported in `umd` bundle
`ReactRadioCheckbox`

## Interface
去 [index.d.ts](./index.d.ts) 查看可用方法和参数

## Usage
```typescript jsx
import React, { useState } from 'react'
import { Radio, Checkbox } from '@auraxy/react-radio-checkbox'

const items = [
  { label: 'male', value: 1 },
  { label: (item, isChecked) => isChecked ? <span style={{color: 'red'}}>female</span> : 'female', value: 2 },
]

const App = () => {
  const [gender, setGender] = useState()
  const [multiGender, setMultiGender] = useState([])
  
  return (
    <>
      <Radio value={gender} items={items} onChange={(val, item) => setGender(val)} />
      <Checkbox value={multiGender} items={items} onChange={(val, currItem) => setMultiGender(val)} />
      gender: {gender}
      multi gender: {multiGender.join(',')}
    </>
  )
}
```

在 HTML 文件中直接引用，你可以在 [CDN: unpkg](https://unpkg.com/@auraxy/react-radio-checkbox/lib/umd/) 看到你能用到的所有 js 脚本
```html
<-- 然后使用你需要的 -->
<script src="https://unpkg.com/@auraxy/react-radio-checkbox/lib/umd/<--module-->.js"></script>
```

## style
你可能需要主动引入样式文件来应用组件的样式：
```js
// scss
import '@auraxy/react-radio-checkbox/lib/css/index.scss'

// css
import '@auraxy/react-radio-checkbox/lib/css/index.css'
```
Or
```scss
// scss
@import 'node_modules/@auraxy/react-radio-checkbox/lib/css/index.scss'

// css
@import 'node_modules/@auraxy/react-radio-checkbox/lib/css/index.css'
```

你也可以通过引入自定义的组件样式文件来自定义样式，文件可以通过复制并修改 `node_modules/@auraxy/react-radio-checkbox/lib/css/index.scss` 得到

## QA

1. Error `Error: spawn node-sass ENOENT`

> 你可能需要全局安装 node-sass，`npm i -g node-sass`
