import { DataBindingProvider, EntitySubTree } from "@contember/binding";
import { memo } from "react";
import { useOnPersistSuccess } from "../useOnPersistSuccess.js";
import { getPageName } from "./getPageName.js";
import { jsx } from "react/jsx-runtime";
import { FeedbackRenderer } from "../../bindingFacade/renderers/FeedbackRenderer.js";
import { LayoutRenderer } from "../../bindingFacade/renderers/LayoutRenderer.js";
import { PersistButton } from "../../bindingFacade/buttons/PersistButton.js";
const CreatePage = memo(({
  pageName,
  children,
  rendererProps,
  redirectOnSuccess,
  onPersistSuccess,
  ...entityProps
}) => {
  return /* @__PURE__ */ jsx(DataBindingProvider, {
    stateComponent: FeedbackRenderer,
    children: /* @__PURE__ */ jsx(EntitySubTree, {
      ...entityProps,
      onPersistSuccess: useOnPersistSuccess({
        redirectOnSuccess,
        onPersistSuccess
      }),
      isCreating: true,
      children: /* @__PURE__ */ jsx(LayoutRenderer, {
        ...rendererProps,
        actions: rendererProps?.actions ?? /* @__PURE__ */ jsx(PersistButton, {}),
        children
      })
    })
  });
});
CreatePage.displayName = "CreatePage";
CreatePage.getPageName = getPageName;
export {
  CreatePage
};
//# sourceMappingURL=CreatePage.js.map
