@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
34 lines (33 loc) • 1.12 kB
JavaScript
"use client";
import React, { useCallback, useReducer, useRef } from 'react';
import SectionContainerContext from "./SectionContainerContext.js";
import { jsx as _jsx } from "react/jsx-runtime";
function SectionContainerProvider(props) {
const [, forceUpdate] = useReducer(() => ({}), {});
const {
validateInitially,
containerMode,
disableEditing = false,
children
} = props;
const containerModeRef = useRef(disableEditing === true ? 'view' : containerMode === 'auto' ? 'view' : containerMode);
const switchContainerMode = useCallback(mode => {
if (disableEditing) {
return;
}
containerModeRef.current = mode;
forceUpdate();
}, [disableEditing]);
return _jsx(SectionContainerContext, {
value: {
validateInitially,
containerMode: disableEditing === true ? 'view' : containerModeRef.current,
initialContainerMode: disableEditing === true ? 'view' : containerMode,
switchContainerMode,
disableEditing
},
children: children
});
}
export default SectionContainerProvider;
//# sourceMappingURL=SectionContainerProvider.js.map