@momentum-ui/react-collaboration
Version:
Cisco Momentum UI Framework for React Collaboration Applications
38 lines • 2 kB
JavaScript
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 React, { useContext, useRef } from 'react';
import classnames from 'classnames';
import { useRadio } from '@react-aria/radio';
import { VisuallyHidden } from '@react-aria/visually-hidden';
import { useFocusRing } from '@react-aria/focus';
import { mergeProps } from '@react-aria/utils';
import { STYLE, DEFAULTS } from './RadioSimple.constants';
import './RadioSimple.style.scss';
import { RadioSimpleGroupContext } from '../RadioSimpleGroup';
/**
* The RadioSimple component.
* @deprecated Use the equivalent from momentum.design (NPM: `@momentum-design/components/dist/react`)
*/
var RadioSimple = function (props) {
var children = props.children, className = props.className, id = props.id, _a = props.isDisabled, isDisabled = _a === void 0 ? DEFAULTS.DISABLED : _a, style = props.style, value = props.value;
var state = useContext(RadioSimpleGroupContext);
var ref = useRef(null);
var isSelected = (state === null || state === void 0 ? void 0 : state.selectedValue) === value;
var _b = useFocusRing(), focusProps = _b.focusProps, isFocusVisible = _b.isFocusVisible;
var inputProps = useRadio(props, state, ref).inputProps;
return (React.createElement("label", { className: classnames(STYLE.wrapper, className), "data-focused": isFocusVisible, "data-selected": isSelected, "data-disabled": isDisabled, style: style, id: id },
React.createElement(VisuallyHidden, null,
React.createElement("input", __assign({}, mergeProps(inputProps, focusProps), { ref: ref }))),
children));
};
export default RadioSimple;
//# sourceMappingURL=RadioSimple.js.map