@ariakit/react-core
Version:
Ariakit React core
51 lines (49 loc) • 1.28 kB
JavaScript
"use client";
import {
useFormContext
} from "../__chunks/AOHIIJHJ.js";
import {
useButton
} from "../__chunks/XTCKRCGH.js";
import "../__chunks/EZ4UPVW6.js";
import "../__chunks/3F6D4KUU.js";
import "../__chunks/SWN3JYXT.js";
import {
useStoreState
} from "../__chunks/SOQQIDO4.js";
import "../__chunks/CTVD4XJH.js";
import {
createElement,
createHook,
forwardRef
} from "../__chunks/L4OUMOCQ.js";
import "../__chunks/W2TDKEPX.js";
import "../__chunks/AZVQSWGA.js";
// src/form/form-submit.tsx
import { invariant } from "@ariakit/core/utils/misc";
var TagName = "button";
var useFormSubmit = createHook(
function useFormSubmit2({ store, accessibleWhenDisabled = true, ...props }) {
const context = useFormContext();
store = store || context;
invariant(
store,
process.env.NODE_ENV !== "production" && "FormSubmit must be wrapped in a Form component."
);
props = {
type: "submit",
disabled: useStoreState(store, "submitting"),
...props
};
props = useButton({ ...props, accessibleWhenDisabled });
return props;
}
);
var FormSubmit = forwardRef(function FormSubmit2(props) {
const htmlProps = useFormSubmit(props);
return createElement(TagName, htmlProps);
});
export {
FormSubmit,
useFormSubmit
};