UNPKG

@ariakit/react-core

Version:

Ariakit React core

57 lines (55 loc) 1.48 kB
"use client"; import { RadioScopedContextProvider, useRadioProviderContext } from "../__chunks/NJV4AM4M.js"; import { useComposite } from "../__chunks/E7PWFDGB.js"; import "../__chunks/5VQZOHHZ.js"; import "../__chunks/72IB6YNO.js"; import "../__chunks/US3TW2XI.js"; import "../__chunks/SWN3JYXT.js"; import "../__chunks/45YOMIF3.js"; import { createElement, createHook, forwardRef } from "../__chunks/ILRXHV7V.js"; import { useWrapElement } from "../__chunks/K2XTQB3X.js"; import "../__chunks/YXGXYGQX.js"; // src/radio/radio-group.tsx import { invariant } from "@ariakit/core/utils/misc"; import { jsx } from "react/jsx-runtime"; var TagName = "div"; var useRadioGroup = createHook( function useRadioGroup2({ store, ...props }) { const context = useRadioProviderContext(); store = store || context; invariant( store, process.env.NODE_ENV !== "production" && "RadioGroup must receive a `store` prop or be wrapped in a RadioProvider component." ); props = useWrapElement( props, (element) => /* @__PURE__ */ jsx(RadioScopedContextProvider, { value: store, children: element }), [store] ); props = { role: "radiogroup", ...props }; props = useComposite({ store, ...props }); return props; } ); var RadioGroup = forwardRef(function RadioGroup2(props) { const htmlProps = useRadioGroup(props); return createElement(TagName, htmlProps); }); export { RadioGroup, useRadioGroup };