UNPKG

@shakthillc/components

Version:

React generic components for shakthi products

64 lines (59 loc) 1.67 kB
import _slicedToArray from "babel-runtime/helpers/slicedToArray"; import React, { useState, useEffect } from "react"; import PropTypes from "prop-types"; import style from "./CheckBox.module.css"; var CheckBox = function CheckBox(_ref) { var _ref$checked = _ref.checked, checked = _ref$checked === undefined ? false : _ref$checked, onChange = _ref.onChange, _ref$text = _ref.text, text = _ref$text === undefined ? "" : _ref$text; var _useState = useState(checked), _useState2 = _slicedToArray(_useState, 2), flag = _useState2[0], setFlag = _useState2[1]; var textCheck = text === undefined || text === null || text === "" ? "0px" : "24px"; useEffect(function () { setFlag(checked); }, [checked]); var handleChange = function handleChange() { setFlag(!flag); onChange && onChange(!flag); }; return React.createElement( "div", { className: style["check-box"] }, React.createElement( "label", { className: style["check-box__each"] }, React.createElement("input", { type: "checkbox", name: "checkbox", onClick: handleChange, checked: flag }), React.createElement("span", { className: style["check-box__checkmark"] }) ), React.createElement( "span", { style: { marginLeft: textCheck } }, " ", text ) ); }; export default CheckBox; CheckBox.defaultProps = { onChange: function onChange(data) { console.log(data); } }; CheckBox.propTypes = { disabled: PropTypes.bool, options: PropTypes.arrayOf({ value: PropTypes.string, label: PropTypes.number }) };