@lobehub/ui
Version:
Lobe UI is an open-source UI component library for building AIGC web apps
36 lines (35 loc) • 1.14 kB
JavaScript
"use client";
import { FormContext } from "../Form/context.mjs";
import FormSubmitFooter from "../Form/components/FormSubmitFooter.mjs";
import { useFormKitContext } from "./context.mjs";
import { getInternals } from "./instance.mjs";
import { useStoreSelector } from "./useStoreSelector.mjs";
import { memo, useMemo } from "react";
import { jsx } from "react/jsx-runtime";
//#region src/base-ui/FormKit/SubmitFooter.tsx
const SubmitFooter = memo((props) => {
const { form, layout, variant } = useFormKitContext();
const { engine } = getInternals(form);
const status = useStoreSelector(engine, (e) => e.getStatus());
const legacyContext = useMemo(() => ({
hasUnsavedChanges: status.dirty,
layout,
requestReset: () => form.reset(),
submitLoading: status.submitting,
variant
}), [
form,
layout,
status.dirty,
status.submitting,
variant
]);
return /* @__PURE__ */ jsx(FormContext, {
value: legacyContext,
children: /* @__PURE__ */ jsx(FormSubmitFooter, { ...props })
});
});
SubmitFooter.displayName = "FormSubmitFooter";
//#endregion
export { SubmitFooter as default };
//# sourceMappingURL=SubmitFooter.mjs.map