@ariakit/react-core
Version:
Ariakit React core
48 lines (46 loc) • 1.22 kB
JavaScript
"use client";
import {
useFormContext
} from "../__chunks/ICLJE26C.js";
import {
useButton
} from "../__chunks/J4DPQC5Y.js";
import "../__chunks/WJ7PHYH7.js";
import "../__chunks/US3TW2XI.js";
import "../__chunks/SWN3JYXT.js";
import "../__chunks/45YOMIF3.js";
import {
createElement,
createHook,
forwardRef
} from "../__chunks/ILRXHV7V.js";
import "../__chunks/K2XTQB3X.js";
import "../__chunks/YXGXYGQX.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: store.useState("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
};