UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

40 lines (39 loc) 1.61 kB
"use client"; import React, { useCallback, useContext } from 'react'; import SectionContainerContext from '../containers/SectionContainerContext'; import ToolbarContext from '../Toolbar/ToolbarContext'; import { useTranslation } from '../../../hooks'; import { Button } from '../../../../../components'; import { close } from '../../../../../icons'; import useContainerDataStore from './useContainerDataStore'; import FieldBoundaryContext from '../../../DataContext/FieldBoundary/FieldBoundaryContext'; export default function CancelButton() { const { onCancel, setShowError } = useContext(ToolbarContext) || {}; const { restoreOriginalData } = useContainerDataStore(); const { switchContainerMode } = useContext(SectionContainerContext) || {}; const { setShowBoundaryErrors } = useContext(FieldBoundaryContext) || {}; const translation = useTranslation().SectionEditContainer; const cancelHandler = useCallback(() => { setShowError(false); setShowBoundaryErrors === null || setShowBoundaryErrors === void 0 ? void 0 : setShowBoundaryErrors(false); restoreOriginalData(); switchContainerMode === null || switchContainerMode === void 0 ? void 0 : switchContainerMode('view'); onCancel === null || onCancel === void 0 ? void 0 : onCancel(); }, [onCancel, restoreOriginalData, setShowBoundaryErrors, setShowError, switchContainerMode]); return React.createElement(Button, { variant: "tertiary", icon: close, icon_position: "left", on_click: cancelHandler }, translation.cancelButton); } //# sourceMappingURL=CancelButton.js.map