🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
DemoInstallSign in
Socket

@s-ui/react-molecule-radio-button-group

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@s-ui/react-molecule-radio-button-group - npm Package Compare versions

Comparing version

to
1.10.0

69

lib/index.js

@@ -1,55 +0,48 @@

import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
var _excluded = ["id", "value", "onChange", "children", "name"];
import { Children, cloneElement, useEffect, useState } from 'react';
var _excluded = ["id", "value", "onChange", "children", "name"],
_excluded2 = ["checked", "onChange"];
import PropTypes from 'prop-types';
import useControlledState from '@s-ui/react-hooks/lib/useControlledState';
import Injector, { combineProps } from '@s-ui/react-primitive-injector';
import { BASE_CLASS } from './settings.js';
import { jsx as _jsx } from "react/jsx-runtime";
var MoleculeRadioButtonGroup = function MoleculeRadioButtonGroup(_ref) {
var id = _ref.id,
initValue = _ref.value,
onChangeFromProps = _ref.onChange,
children = _ref.children,
name = _ref.name,
props = _objectWithoutPropertiesLoose(_ref, _excluded);
var _useState = useState(initValue),
value = _useState[0],
setValue = _useState[1];
useEffect(function () {
setValue(initValue);
}, [initValue]);
value = _ref.value,
onChange = _ref.onChange,
children = _ref.children,
name = _ref.name,
props = _objectWithoutPropertiesLoose(_ref, _excluded);
var _useControlledState = useControlledState(value),
innerValue = _useControlledState[0],
setInnerValue = _useControlledState[1];
var handleChangeGroup = function handleChangeGroup(e, _ref2) {
var name = _ref2.name,
innerValue = _ref2.value;
setValue(innerValue);
typeof onChangeFromProps === 'function' && onChangeFromProps(e, {
value = _ref2.value;
setInnerValue(value, true);
typeof onChange === 'function' && onChange(e, {
name: name,
value: innerValue
value: value
});
};
var extendedChildren = Children.toArray(children).filter(Boolean).map(function (child, index) {
var childValue = child.props.value;
var checked = value === childValue;
var onChange = handleChangeGroup;
return /*#__PURE__*/cloneElement(child, _extends({}, props, {
checked: checked,
onChange: onChange,
name: name
}));
});
return /*#__PURE__*/_jsx("div", {
className: BASE_CLASS,
children: extendedChildren
id: id,
children: /*#__PURE__*/_jsx(Injector, {
combine: function combine(injectedProps, _ref3) {
var checked = _ref3.checked,
onChange = _ref3.onChange,
ownProps = _objectWithoutPropertiesLoose(_ref3, _excluded2);
return combineProps({
checked: ownProps.value === innerValue,
onChange: handleChangeGroup,
name: name,
props: props
}, ownProps);
},
children: children
})
});
};
MoleculeRadioButtonGroup.displayName = 'MoleculeRadioButtonGroup';
MoleculeRadioButtonGroup.defaultProps = {
checked: false
};
export default MoleculeRadioButtonGroup;
{
"name": "@s-ui/react-molecule-radio-button-group",
"version": "1.9.0",
"version": "1.10.0",
"description": "",

@@ -12,3 +12,4 @@ "main": "lib/index.js",

"dependencies": {
"@s-ui/component-dependencies": "1"
"@s-ui/component-dependencies": "1",
"@s-ui/react-primitive-injector": "1"
},

@@ -15,0 +16,0 @@ "keywords": [],