@cosva-lab/form-builder
Version:
React form builder.
29 lines (27 loc) • 1.4 kB
JavaScript
import CircularIndeterminate from "../../Loading/index.mjs";
import React from "react";
import Grow from "@mui/material/Grow";
//#region src/contexts/GlobalTranslate/index.tsx
const Animation = ({ children }) => /* @__PURE__ */ React.createElement(Grow, {
in: true,
style: { transformOrigin: "0 0 0" },
timeout: 1e3
}, children);
const GlobalTranslateContext = React.createContext(({ message }) => message);
const useGlobalTranslate = () => React.useContext(GlobalTranslateContext);
const GlobalTranslateProvider = ({ children, translator }) => /* @__PURE__ */ React.createElement(GlobalTranslateContext.Provider, { value: translator }, children);
const FieldTranslateConsumer = GlobalTranslateContext.Consumer;
const Comp = (props) => {
const translate = useGlobalTranslate();
return /* @__PURE__ */ React.createElement("span", null, translate(props));
};
const GlobalTranslate = (props) => {
const { styles, ...rest } = props;
return /* @__PURE__ */ React.createElement(React.Suspense, { fallback: /* @__PURE__ */ React.createElement(Animation, null, /* @__PURE__ */ React.createElement("div", { style: {
...styles,
display: "flex",
justifyContent: "center"
} }, /* @__PURE__ */ React.createElement(CircularIndeterminate, { size: 20 }))) }, /* @__PURE__ */ React.createElement(Comp, rest));
};
//#endregion
export { GlobalTranslate, GlobalTranslateProvider, useGlobalTranslate };