@zergo0/react-filerobot-image-editor
Version:
React component version of filerobot image editor (FIE).
1 lines • 1.35 kB
JavaScript
import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import React,{useState,useCallback}from"react";import{Warning}from"@scaleflex/icons";import{useStore}from"../../hooks";import{RESET}from"../../actions";import Modal from"../common/Modal";import{CLOSING_REASONS}from"../../utils/constants";import{jsx as _jsx,Fragment as _Fragment,jsxs as _jsxs}from"react/jsx-runtime";var ConfirmationModal=function(a){var b=a.children,c=a.isReset,d=useStore(),e=d.t,f=d.theme,g=d.config,h=d.dispatch,i=d.isResetted,j=d.haveNotSavedChanges,k=d.config.onClose,l=useState(!1),m=_slicedToArray(l,2),n=m[0],o=m[1];if("function"!=typeof k&&!c)return _jsx("span",{});var p=function(){o(!1)},q=useCallback(function(){h({type:RESET,payload:{config:g}}),p()},[g]),r=function(){c||(k(CLOSING_REASONS.CLOSE_BUTTON,j),q())};return _jsxs(_Fragment,{children:[React.cloneElement(b,{onClick:!(void 0!==i)||i?r:function openModal(){o(!0)}}),n&&_jsx(Modal,{title:c?e("warning"):e("discardChanges"),hint:c?e("changesLoseWarningHint"):e("discardChangesWarningHint"),isOpened:n,onCancel:p,onDone:c?q:r,Icon:function WarningIcon(){return _jsx(Warning,{color:f.palette.warning,size:25})},doneLabel:e("confirm"),doneButtonColor:"warning-primary",cancelLabel:e("cancel"),width:"400px",isWarning:!0})]})};ConfirmationModal.defaultProps={isReset:!1};export default ConfirmationModal;