UNPKG

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
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;