@ariakit/react-core
Version:
Ariakit React core
83 lines (81 loc) • 2.02 kB
JavaScript
"use client";
import {
useFormControl
} from "../__chunks/HMMAPSBX.js";
import {
useFormContext
} from "../__chunks/GSXI3IAI.js";
import "../__chunks/Y62RTBST.js";
import {
useCheckboxStore
} from "../__chunks/KPSSTU6K.js";
import {
useCheckbox
} from "../__chunks/KPUWHTQJ.js";
import "../__chunks/2W3RN7C5.js";
import "../__chunks/OE2EFRVA.js";
import "../__chunks/SWN3JYXT.js";
import "../__chunks/EYKMH5G5.js";
import "../__chunks/WWPIG7YG.js";
import "../__chunks/RTNCFSKZ.js";
import "../__chunks/5CPL3B7G.js";
import {
createElement,
createHook,
forwardRef,
memo
} from "../__chunks/VOQWLFSQ.js";
import "../__chunks/5GGHRIN3.js";
import "../__chunks/SK3NAZA3.js";
import {
__objRest,
__spreadValues
} from "../__chunks/3YLGPPWQ.js";
// src/form/form-checkbox.tsx
import { invariant } from "@ariakit/core/utils/misc";
var TagName = "input";
var useFormCheckbox = createHook(
function useFormCheckbox2(_a) {
var _b = _a, {
store,
name: nameProp,
value,
checked,
defaultChecked
} = _b, props = __objRest(_b, [
"store",
"name",
"value",
"checked",
"defaultChecked"
]);
const context = useFormContext();
store = store || context;
invariant(
store,
process.env.NODE_ENV !== "production" && "FormCheckbox must be wrapped in a Form component."
);
const name = `${nameProp}`;
const checkboxStore = useCheckboxStore({
value: store.useValue(name),
setValue: (value2) => store == null ? void 0 : store.setValue(name, value2)
});
props = useCheckbox(__spreadValues({ store: checkboxStore, value, checked }, props));
props = useFormControl(__spreadValues({
store,
name,
"aria-labelledby": void 0
}, props));
return props;
}
);
var FormCheckbox = memo(
forwardRef(function FormCheckbox2(props) {
const htmlProps = useFormCheckbox(props);
return createElement(TagName, htmlProps);
})
);
export {
FormCheckbox,
useFormCheckbox
};