@ariakit/react-core
Version:
Ariakit React core
74 lines (72 loc) • 1.79 kB
JavaScript
"use client";
import {
useFormControl
} from "../__chunks/BRATOYGQ.js";
import {
useFormContext
} from "../__chunks/ICLJE26C.js";
import "../__chunks/DTXGDDAC.js";
import {
useCheckboxStore
} from "../__chunks/KJ2ELZJV.js";
import {
useCheckbox
} from "../__chunks/7LQR24VD.js";
import "../__chunks/WJ7PHYH7.js";
import "../__chunks/US3TW2XI.js";
import "../__chunks/SWN3JYXT.js";
import "../__chunks/EYKMH5G5.js";
import "../__chunks/XEN5OWJF.js";
import "../__chunks/Q3KUZPD7.js";
import "../__chunks/45YOMIF3.js";
import {
createElement,
createHook,
forwardRef,
memo
} from "../__chunks/ILRXHV7V.js";
import "../__chunks/K2XTQB3X.js";
import "../__chunks/YXGXYGQX.js";
// src/form/form-checkbox.tsx
import { invariant } from "@ariakit/core/utils/misc";
var TagName = "input";
var useFormCheckbox = createHook(
function useFormCheckbox2({
store,
name: nameProp,
value,
checked,
defaultChecked,
...props
}) {
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({ store: checkboxStore, value, checked, ...props });
props = useFormControl({
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
};