UNPKG

react-radio-checkbox-z

Version:

React UI Check/Radio [RadioGroup, Checkbox(s)] (CUSTOMIZE ALL)

202 lines (149 loc) 5.47 kB
<div align="center"> <h1>react-radio-checkbox-z</h1> <strong> <a href="https://github.com/delpikye-v/react-radio-checkbox">react-radio-checkbox-z</a> </strong> <br /> <br /> <a href="https://codesandbox.io/s/react-radio-checkbox-z-51sg3">LIVE EXAMPLE</a> </div> --- <span>You can customize <b>icon</b>, <b>theme</b> or <b>color</b> for <b>Checkbox/Radio</b></span> <b><small>React / <a href="https://www.npmjs.com/package/vue-radio-checkbox-z">Vue</a> / <a href="https://www.npmjs.com/package/svelte-radio-checkbox-z">Svelte</a></small></b> ### Usage Install the package ```js npm install --save react-radio-checkbox-z ``` Import the module in the place you want to use: ```js import RadioCheckBox from "react-radio-checkbox-z"; ``` #### Snippet ```js const [value, setValue] = useState('label1') // radio // const [value, setValue] = useState(['label1']) // radio || checkbox const [options, setOptions] = useState([ { label: 'label1', value:'label1' }, 'label2', 'label3', // ...more, // { label, value, disabled, className: 'itemClass', labelClassName: 'labelClass' }, ]) // don't check duplicate value in options, so please pass unique value <RadioCheckBox options={options} value={value} // array or string onChange={setValue} // event theme="tick" // see props // more => // groupName="item-group-template" // default random unique // height="30" // min-height option // boxSize="16" // box-size 16 x 16 // className={className} // disabled={true} // disabled all // checkBox={true} // input="checkbox" // displayBox={true} // display like checkbox // vertical={true} // display vertical // selectColor="any" // color when selected // unSelectColor="any" // color when no selected // hoverColor=any // color when hover (default like selectColor) // tickColor="any" // only theme (type `tick/x`) // tabFocusColor // keypress tab (shawdow box: #000) // checkedIcon // custom icon // (Box size is affected by: `box-sizing: border-box`) /> ``` ### Props The following props are accepted: #### value (`Array` || `String`) Selected value. #### onChange (`Function`) Update value #### groupName (`String`) <p>groupName of radio/checkbox. Default (random) unique of RadioCheckBox</p> <small>if you want to use multiple RadioCheckBox(same name), you can set the group name</small> ```js <RadioCheckBox groupName="groupabc" theme="in" ... /> <RadioCheckBox groupName="groupabc" theme="fill" ... /> ``` #### options (`Array`) list data like. `[Object, String, ...]` ```js [ { label: 'Display', value: 'value', disabled: false, // disabled option className: 'itemClass', labelClassName: 'labelClass' jsx // in case you want to change the label to a complex element, checkedIcon // it is url or exact icon (SEE LIVE EXAMPLE) }, ..., 'value' // => make option { label: value, value: value } // ex: [ { value: '1', disabled: true, jsx: <span>xyzmrer....</span> }... ] ] ``` #### disabled (`boolean`) Disabled all options. Default `false` #### checkBox (`boolean`) Type is checkbox. Default `false` (radio) #### displayBox (`boolean`) Show check mark icon like a checkbox. Default `false` (radio) #### vertical (`boolean`) Display vertical `true`. Defaut `false` #### theme (`String`) ```js // default (nothing) of html in: [ 'fill', 'in', 'out', 'tick', 'tick-fill', 'tick-fill-in', 'x', 'x-fill', 'x-fill-in' ] ``` #### selectColor (`String`) color when checked. Default <span style="color: #4169E1">[#4169E1]</span> #### unSelectColor (`String`) color when unchecked. Default <span style="color: #cbd1d8;">[#cbd1d8]</span> #### hoverColor (`String`) color when hover. Default using (selectColor) #### tickColor (`String`) Use when `theme` type = `tick..` || `x..` `Color of tick when check.` #### tabFocusColor (`String`) box shadow color when focus by tab. (`#000`) #### height (`number` or `number_px`) min-height of line-options. (default: `24px`) #### boxSize (`number` or `number_px`) size of check. (default: `16px`) #### className The className added to group. #### checkedIcon customize checked icon (see live example) <br /> ###### customize icon check (another solution) `You should refrain from using this method.` <small> With theme: `x...` || `tick...` <br />You can override css to see custom tick. </small> ```css /* set your className(.itemClass) for selector unique */ .itemClass.ldk-rc-radio-checkbox .rc-option-checked .rc-option-icon { background: url('./cal-blue.png') no-repeat center; } .itemClass.ldk-rc-radio-checkbox .rc-option-checked .rc-option-icon::before { content: '' !important; } ``` #### style The style added to group. ### Example <a href="https://codesandbox.io/s/react-radio-checkbox-z-51sg3">LIVE EXAMPLE</a> A working example can be found in the `example` directory. ```js npm install ``` ```js npm run dev npm run start ``` ### License MIT