UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

52 lines (51 loc) 2.11 kB
"use strict"; "use client"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = DoneEditButton; var _react = require("react"); var _SectionContainerContext = _interopRequireDefault(require("../containers/SectionContainerContext.js")); var _ToolbarContext = _interopRequireDefault(require("../Toolbar/ToolbarContext.js")); var _index = require("../../../hooks/index.js"); var _index2 = require("../../../../../components/index.js"); var _index3 = require("../../../../../icons/index.js"); var _FieldBoundaryContext = _interopRequireDefault(require("../../../DataContext/FieldBoundary/FieldBoundaryContext.js")); var _jsxRuntime = require("react/jsx-runtime"); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function DoneEditButton() { const { onDone, setShowError } = (0, _react.useContext)(_ToolbarContext.default) || {}; const { switchContainerMode } = (0, _react.useContext)(_SectionContainerContext.default) || {}; const { hasError, hasVisibleError, setShowBoundaryErrors } = (0, _react.useContext)(_FieldBoundaryContext.default) || {}; const translation = (0, _index.useTranslation)().SectionEditContainer; const doneHandler = (0, _react.useCallback)(() => { if (hasError) { setShowBoundaryErrors === null || setShowBoundaryErrors === void 0 || setShowBoundaryErrors(true); if (hasVisibleError) { setShowError(true); } } else { setShowError(false); setShowBoundaryErrors === null || setShowBoundaryErrors === void 0 || setShowBoundaryErrors(false); switchContainerMode === null || switchContainerMode === void 0 || switchContainerMode('view'); onDone === null || onDone === void 0 || onDone(); } }, [hasError, hasVisibleError, onDone, setShowBoundaryErrors, setShowError, switchContainerMode]); return (0, _jsxRuntime.jsx)(_index2.Button, { variant: "tertiary", icon: _index3.check, iconPosition: "left", onClick: doneHandler, children: translation.doneButton }); } //# sourceMappingURL=DoneButton.js.map