UNPKG

@shakthillc/components

Version:

React generic components for shakthi products

51 lines (46 loc) 1.35 kB
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 };