UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

46 lines (45 loc) 1.75 kB
"use client"; import React, { useCallback, useContext } from 'react'; import SectionContainerContext from "../containers/SectionContainerContext.js"; import ToolbarContext from "../Toolbar/ToolbarContext.js"; import { useTranslation } from "../../../hooks/index.js"; import { Button } from "../../../../../components/index.js"; import { check } from "../../../../../icons/index.js"; import FieldBoundaryContext from "../../../DataContext/FieldBoundary/FieldBoundaryContext.js"; import { jsx as _jsx } from "react/jsx-runtime"; export default function DoneEditButton() { const { onDone, setShowError } = useContext(ToolbarContext) || {}; const { switchContainerMode } = useContext(SectionContainerContext) || {}; const { hasError, hasVisibleError, setShowBoundaryErrors } = useContext(FieldBoundaryContext) || {}; const translation = useTranslation().SectionEditContainer; const doneHandler = 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 _jsx(Button, { variant: "tertiary", icon: check, iconPosition: "left", onClick: doneHandler, children: translation.doneButton }); } //# sourceMappingURL=DoneButton.js.map