@shakthillc/components
Version:
React generic components for shakthi products
51 lines (46 loc) • 1.35 kB
JavaScript
import _slicedToArray from "babel-runtime/helpers/slicedToArray";
import React, { useState, useEffect } from "react";
import style from "./ToggleSwitch.module.css";
import { PropTypes } from "prop-types";
var ToggleSwitch = function ToggleSwitch(_ref) {
var text = _ref.text,
onChange = _ref.onChange,
_ref$defaultSwitch = _ref.defaultSwitch,
defaultSwitch = _ref$defaultSwitch === undefined ? false : _ref$defaultSwitch;
var _useState = useState(defaultSwitch),
_useState2 = _slicedToArray(_useState, 2),
toggle = _useState2[0],
setToggle = _useState2[1];
useEffect(function () {
setToggle(defaultSwitch);
}, [defaultSwitch]);
function handleChange(e) {
setToggle(!toggle);
onChange && onChange(!toggle);
}
return React.createElement(
"label",
{ className: style.switch },
React.createElement("input", {
onChange: handleChange,
type: "checkbox",
checked: toggle
}),
React.createElement("span", { className: style.slider + " " + style.round }),
React.createElement(
"p",
{ className: style.textStyle },
text
)
);
};
export default ToggleSwitch;
ToggleSwitch.defaultProps = {
onChange: function onChange() {
console.log();
}
};
ToggleSwitch.propTypes = {
text: PropTypes.string,
onChange: PropTypes.func
};