@wordpress/components
Version:
UI components for WordPress.
37 lines (32 loc) • 824 B
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import { createElement } from "@wordpress/element";
/**
* External dependencies
*/
import { Radio as ReakitRadio } from 'reakit/Radio';
/**
* WordPress dependencies
*/
import { useContext, forwardRef } from '@wordpress/element';
/**
* Internal dependencies
*/
import Button from '../button';
import RadioContext from '../radio-context';
function Radio({
children,
value,
...props
}, ref) {
const radioContext = useContext(RadioContext);
const checked = radioContext.state === value;
return createElement(ReakitRadio, _extends({
ref: ref,
as: Button,
isPrimary: checked,
isSecondary: !checked,
value: value
}, radioContext, props), children || value);
}
export default forwardRef(Radio);
//# sourceMappingURL=index.js.map