@ariakit/react-core
Version:
Ariakit React core
53 lines (51 loc) • 1.42 kB
JavaScript
"use client";
import {
useFormContext
} from "../__chunks/GSXI3IAI.js";
import {
useButton
} from "../__chunks/XCKGTAUF.js";
import "../__chunks/2W3RN7C5.js";
import "../__chunks/OE2EFRVA.js";
import "../__chunks/SWN3JYXT.js";
import "../__chunks/5CPL3B7G.js";
import {
createElement,
createHook,
forwardRef
} from "../__chunks/VOQWLFSQ.js";
import "../__chunks/5GGHRIN3.js";
import "../__chunks/SK3NAZA3.js";
import {
__objRest,
__spreadProps,
__spreadValues
} from "../__chunks/3YLGPPWQ.js";
// src/form/form-submit.tsx
import { invariant } from "@ariakit/core/utils/misc";
var TagName = "button";
var useFormSubmit = createHook(
function useFormSubmit2(_a) {
var _b = _a, { store, accessibleWhenDisabled = true } = _b, props = __objRest(_b, ["store", "accessibleWhenDisabled"]);
const context = useFormContext();
store = store || context;
invariant(
store,
process.env.NODE_ENV !== "production" && "FormSubmit must be wrapped in a Form component."
);
props = __spreadValues({
type: "submit",
disabled: store.useState("submitting")
}, props);
props = useButton(__spreadProps(__spreadValues({}, props), { accessibleWhenDisabled }));
return props;
}
);
var FormSubmit = forwardRef(function FormSubmit2(props) {
const htmlProps = useFormSubmit(props);
return createElement(TagName, htmlProps);
});
export {
FormSubmit,
useFormSubmit
};