UNPKG

@ariakit/react-core

Version:

Ariakit React core

51 lines (49 loc) 1.28 kB
"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 };