import { DataBindingProvider, EntitySubTree } from "@contember/binding";
import { memo } from "react";
import { useOnPersistSuccess } from "../useOnPersistSuccess.js";
import { NotFoundWrapper } from "./NotFoundWrapper.js";
import { getPageName } from "./getPageName.js";
import { jsxDEV } from "react/jsx-dev-runtime";
import { FeedbackRenderer } from "../../bindingFacade/renderers/FeedbackRenderer.js";
import { LayoutRenderer } from "../../bindingFacade/renderers/LayoutRenderer.js";
import { PersistButton } from "../../bindingFacade/buttons/PersistButton.js";
var _jsxFileName = "/__w/interface/interface/packages/admin/src/components/pageRouting/pageComponents/EditPage.tsx";
const EditPage = memo(({
  pageName,
  children,
  rendererProps,
  redirectOnSuccess,
  onPersistSuccess,
  refreshDataBindingOnPersist,
  skipBindingStateUpdateAfterPersist,
  ...entityProps
}) => /* @__PURE__ */ jsxDEV(DataBindingProvider, {
  stateComponent: FeedbackRenderer,
  refreshOnPersist: refreshDataBindingOnPersist ?? true,
  skipStateUpdateAfterPersist: skipBindingStateUpdateAfterPersist,
  children: /* @__PURE__ */ jsxDEV(EntitySubTree, {
    ...entityProps,
    onPersistSuccess: useOnPersistSuccess({
      redirectOnSuccess,
      onPersistSuccess
    }),
    children: /* @__PURE__ */ jsxDEV(NotFoundWrapper, {
      title: rendererProps?.title,
      children: /* @__PURE__ */ jsxDEV(LayoutRenderer, {
        ...rendererProps,
        actions: rendererProps?.actions ?? /* @__PURE__ */ jsxDEV(PersistButton, {}, void 0, false, {
          fileName: _jsxFileName,
          lineNumber: 36,
          columnNumber: 76
        }, void 0),
        children
      }, void 0, false, {
        fileName: _jsxFileName,
        lineNumber: 36,
        columnNumber: 6
      }, void 0)
    }, void 0, false, {
      fileName: _jsxFileName,
      lineNumber: 35,
      columnNumber: 5
    }, void 0)
  }, void 0, false, {
    fileName: _jsxFileName,
    lineNumber: 34,
    columnNumber: 4
  }, void 0)
}, void 0, false, {
  fileName: _jsxFileName,
  lineNumber: 29,
  columnNumber: 3
}, void 0));
EditPage.displayName = "EditPage";
EditPage.getPageName = getPageName;
export {
  EditPage
};
//# sourceMappingURL=EditPage.js.map
