@ariakit/react-core
Version:
Ariakit React core
58 lines (56 loc) • 1.52 kB
JavaScript
"use client";
import {
RadioScopedContextProvider,
useRadioProviderContext
} from "../__chunks/IIPXEB7M.js";
import {
useComposite
} from "../__chunks/NLF4OZJK.js";
import "../__chunks/7NJRHOSP.js";
import "../__chunks/NO3UEYQ2.js";
import "../__chunks/3F6D4KUU.js";
import "../__chunks/SWN3JYXT.js";
import "../__chunks/SOQQIDO4.js";
import "../__chunks/CTVD4XJH.js";
import {
createElement,
createHook,
forwardRef
} from "../__chunks/L4OUMOCQ.js";
import {
useWrapElement
} from "../__chunks/W2TDKEPX.js";
import "../__chunks/AZVQSWGA.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
};