@cosva-lab/form-builder
Version:
React form builder.
34 lines (32 loc) • 1.78 kB
JavaScript
const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
const require_index = require('../../Loading/index.cjs');
let react = require("react");
react = require_runtime.__toESM(react);
let _mui_material_Grow = require("@mui/material/Grow");
_mui_material_Grow = require_runtime.__toESM(_mui_material_Grow);
//#region src/contexts/GlobalTranslate/index.tsx
const Animation = ({ children }) => /* @__PURE__ */ react.default.createElement(_mui_material_Grow.default, {
in: true,
style: { transformOrigin: "0 0 0" },
timeout: 1e3
}, children);
const GlobalTranslateContext = react.default.createContext(({ message }) => message);
const useGlobalTranslate = () => react.default.useContext(GlobalTranslateContext);
const GlobalTranslateProvider = ({ children, translator }) => /* @__PURE__ */ react.default.createElement(GlobalTranslateContext.Provider, { value: translator }, children);
const FieldTranslateConsumer = GlobalTranslateContext.Consumer;
const Comp = (props) => {
const translate = useGlobalTranslate();
return /* @__PURE__ */ react.default.createElement("span", null, translate(props));
};
const GlobalTranslate = (props) => {
const { styles, ...rest } = props;
return /* @__PURE__ */ react.default.createElement(react.default.Suspense, { fallback: /* @__PURE__ */ react.default.createElement(Animation, null, /* @__PURE__ */ react.default.createElement("div", { style: {
...styles,
display: "flex",
justifyContent: "center"
} }, /* @__PURE__ */ react.default.createElement(require_index.default, { size: 20 }))) }, /* @__PURE__ */ react.default.createElement(Comp, rest));
};
//#endregion
exports.GlobalTranslate = GlobalTranslate;
exports.GlobalTranslateProvider = GlobalTranslateProvider;
exports.useGlobalTranslate = useGlobalTranslate;