UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

34 lines (33 loc) 1.12 kB
"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