import { createElement } from "react"; /** * External dependencies */ // eslint-disable-next-line no-restricted-imports import * as Ariakit from '@ariakit/react'; /** * WordPress dependencies */ import { useMemo, forwardRef } from '@wordpress/element'; /** * Internal dependencies */ import ButtonGroup from '../button-group'; import { RadioGroupContext } from './context'; function UnforwardedRadioGroup({ label, checked, defaultChecked, disabled, onChange, children, ...props }, ref) { const radioStore = Ariakit.useRadioStore({ value: checked, defaultValue: defaultChecked, setValue: newValue => { onChange?.(newValue !== null && newValue !== void 0 ? newValue : undefined); } }); const contextValue = useMemo(() => ({ store: radioStore, disabled }), [radioStore, disabled]); return createElement(RadioGroupContext.Provider, { value: contextValue }, createElement(Ariakit.RadioGroup, { store: radioStore, render: createElement(ButtonGroup, null, children), "aria-label": label, ref: ref, ...props })); } /** * @deprecated Use `RadioControl` or `ToggleGroupControl` instead. */ export const RadioGroup = forwardRef(UnforwardedRadioGroup); export default RadioGroup; //# sourceMappingURL=index.js.map