UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

32 lines (31 loc) 1.08 kB
"use client"; import React, { useCallback, useReducer, useRef } from 'react'; import SectionContainerContext from "./SectionContainerContext.js"; 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 React.createElement(SectionContainerContext.Provider, { value: { validateInitially, containerMode: disableEditing === true ? 'view' : containerModeRef.current, initialContainerMode: disableEditing === true ? 'view' : containerMode, switchContainerMode, disableEditing } }, children); } export default SectionContainerProvider; //# sourceMappingURL=SectionContainerProvider.js.map