adam-ui-beta
Version:
adam ui(beta release)
70 lines (58 loc) • 2.76 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Switch = void 0;
var _react = _interopRequireDefault(require("react"));
var _lodash = require("lodash");
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _themes = require("./tools/themes");
var _templateObject;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
var StyledSwitch = _styledComponents.default.label(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: relative;\n display:block ;\n width: ", ";\n padding:2px ;\n box-sizing:border-box ;\n border-radius:50px ;\n background-color: ", ";\n transition:.3s ;\n cursor: pointer;\n .trigger-btn {\n width: ", ";\n height: ", ";\n box-sizing:border-box ;\n border-radius:50% ;\n background-color: ", ";\n transition:.3s;\n transform:", ";\n pointer-events:none;\n }\n .checkbox-input {\n display:none ;\n }\n"])), function (_ref) {
var props = _ref.props;
return "calc(".concat(props.size, " * 1.2)");
}, function (_ref2) {
var props = _ref2.props;
return props.status ? props.themeColor.main : props.themeColor.switchBG;
}, function (_ref3) {
var props = _ref3.props;
return "calc(".concat(props.size, " / 2)");
}, function (_ref4) {
var props = _ref4.props;
return "calc(".concat(props.size, " / 2)");
}, function (_ref5) {
var props = _ref5.props;
return props.themeColor.bottom;
}, function (_ref6) {
var props = _ref6.props;
return props.status ? "translateX(calc(120% + 1px))" : "translateX(0px)";
});
var Switch = function Switch(_ref7) {
var _ref7$theme = _ref7.theme,
theme = _ref7$theme === void 0 ? 'light' : _ref7$theme,
_ref7$size = _ref7.size,
size = _ref7$size === void 0 ? '50px' : _ref7$size,
_ref7$status = _ref7.status,
status = _ref7$status === void 0 ? false : _ref7$status,
_ref7$onChange = _ref7.onChange,
_onChange = _ref7$onChange === void 0 ? _lodash.noop : _ref7$onChange;
return /*#__PURE__*/_react.default.createElement(StyledSwitch, {
props: {
themeColor: _themes.themes[theme] || _themes.themes,
size: size,
status: status
}
}, /*#__PURE__*/_react.default.createElement("div", {
className: "trigger-btn"
}), /*#__PURE__*/_react.default.createElement("input", {
className: "checkbox-input",
type: "checkbox",
checked: status,
onChange: function onChange() {
return _onChange();
}
}));
};
exports.Switch = Switch;