react-component-override
Version:
Library for overriding react components at runtime.
18 lines (17 loc) • 830 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useOverrides = exports.OverridesProvider = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
const react_1 = require("react");
const OverridesContext = (0, react_1.createContext)(null);
const OverridesProvider = ({ overrides, children }) => {
const overridesMap = (0, react_1.useMemo)(() => overrides.reduce((map, override) => {
return Object.assign(Object.assign({}, map), override);
}, {}), [overrides]);
return ((0, jsx_runtime_1.jsx)(OverridesContext.Provider, Object.assign({ value: { overrides: overridesMap } }, { children: children })));
};
exports.OverridesProvider = OverridesProvider;
function useOverrides() {
return (0, react_1.useContext)(OverridesContext);
}
exports.useOverrides = useOverrides;