UNPKG

@ariakit/react-core

Version:

Ariakit React core

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