@shakthillc/components
Version:
React generic components for shakthi products
64 lines (59 loc) • 1.67 kB
JavaScript
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
})
};