@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
40 lines (39 loc) • 1.38 kB
JavaScript
;
"use client";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = require("react");
var _SectionContainerContext = _interopRequireDefault(require("./SectionContainerContext.js"));
var _jsxRuntime = require("react/jsx-runtime");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
function SectionContainerProvider(props) {
const [, forceUpdate] = (0, _react.useReducer)(() => ({}), {});
const {
validateInitially,
containerMode,
disableEditing = false,
children
} = props;
const containerModeRef = (0, _react.useRef)(disableEditing === true ? 'view' : containerMode === 'auto' ? 'view' : containerMode);
const switchContainerMode = (0, _react.useCallback)(mode => {
if (disableEditing) {
return;
}
containerModeRef.current = mode;
forceUpdate();
}, [disableEditing]);
return (0, _jsxRuntime.jsx)(_SectionContainerContext.default, {
value: {
validateInitially,
containerMode: disableEditing === true ? 'view' : containerModeRef.current,
initialContainerMode: disableEditing === true ? 'view' : containerMode,
switchContainerMode,
disableEditing
},
children: children
});
}
var _default = exports.default = SectionContainerProvider;
//# sourceMappingURL=SectionContainerProvider.js.map