import React from "react"; import pluralize from "pluralize"; import { humanizeString } from "../../definitions/helpers/humanizeString"; import type { IRefineContext, IRefineContextOptions, IRefineContextProvider, } from "./types"; const defaultTitle: IRefineContextOptions["title"] = { icon: ( ), text: "Refine Project", }; export const defaultRefineOptions: IRefineContextOptions = { mutationMode: "pessimistic", syncWithLocation: false, undoableTimeout: 5000, warnWhenUnsavedChanges: false, liveMode: "off", redirect: { afterCreate: "list", afterClone: "list", afterEdit: "list", }, overtime: { enabled: true, interval: 1000, }, textTransformers: { humanize: humanizeString, plural: pluralize.plural, singular: pluralize.singular, }, disableServerSideValidation: false, disableRouteChangeHandler: false, title: defaultTitle, }; export const RefineContext = React.createContext({ mutationMode: "pessimistic", warnWhenUnsavedChanges: false, syncWithLocation: false, undoableTimeout: 5000, liveMode: "off", onLiveEvent: undefined, options: defaultRefineOptions, }); export const RefineContextProvider: React.FC = ({ mutationMode, warnWhenUnsavedChanges, syncWithLocation, undoableTimeout, children, liveMode = "off", onLiveEvent, options, }) => { return ( {children} ); };