woi-react-components
Version:
This project requires NodeJS (version 18 or later) and NPM. [Node](http://nodejs.org/) and [NPM](https://npmjs.org/) are really easy to install. To make sure you have them available on your machine, try running the following command. ```sh $ npm -v &
33 lines (32 loc) • 3.13 kB
JavaScript
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
return cooked;
};
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
import { jsx as _jsx } from "react/jsx-runtime";
import { useEffect, useState } from 'react';
import styled from "styled-components";
var WOIRadioButton = function (props) {
var size = props.size, activeBorderColor = props.activeBorderColor, inActiveBorderColor = props.inActiveBorderColor, borderWidth = props.borderWidth, activeColor = props.activeColor, inActiveColor = props.inActiveColor, isSelected = props.isSelected, clickFunction = props.clickFunction;
var _a = useState(false), toggled = _a[0], setToggled = _a[1];
useEffect(function () {
setToggled(isSelected);
}, [isSelected]);
// add animation to the slider
var OuterWidget = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n width: ", "px;\n height: ", "px;\n background-color: #FFFFFF;\n border-radius: 100%;\n padding: 3px;\n border-color: ", ";\n border-style: solid;\n border-width: ", "px;\n cursor: pointer;\n "], ["\n width: ", "px;\n height: ", "px;\n background-color: #FFFFFF;\n border-radius: 100%;\n padding: 3px;\n border-color: ", ";\n border-style: solid;\n border-width: ", "px;\n cursor: pointer;\n "])), size, size, toggled ? activeBorderColor ? activeBorderColor : 'transparent' : inActiveBorderColor ? inActiveBorderColor : 'transparent', borderWidth);
var handleToggle = function () { clickFunction ? clickFunction() : setToggled(!toggled); };
var InnerWidget = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n width: ", "px;\n height: ", "px;\n background-color: ", ";\n border-radius: 100%;\n border-color: ", ";\n border-style: solid;\n border-width: ", "px;\n position: absolute;\n "], ["\n width: ", "px;\n height: ", "px;\n background-color: ", ";\n border-radius: 100%;\n border-color: ", ";\n border-style: solid;\n border-width: ", "px;\n position: absolute;\n "])), size - 4, size - 4, toggled ? activeColor : inActiveColor, toggled ? activeBorderColor ? activeBorderColor : 'transparent' : inActiveBorderColor ? inActiveBorderColor : 'transparent', borderWidth);
return (_jsx(OuterWidget, __assign({ onClick: handleToggle }, { children: _jsx(InnerWidget, {}) })));
};
export default WOIRadioButton;
var templateObject_1, templateObject_2;