UNPKG

use-confirm

Version:

asynchronous confirm function for React

3 lines (2 loc) 1.53 kB
var P=Object.create;var p=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var N=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var h=(t,o)=>{for(var e in o)p(t,e,{get:o[e],enumerable:!0})},l=(t,o,e,n)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of S(o))!b.call(t,r)&&r!==e&&p(t,r,{get:()=>o[r],enumerable:!(n=g(o,r))||n.enumerable});return t};var u=(t,o,e)=>(e=t!=null?P(N(t)):{},l(o||!t||!t.__esModule?p(e,"default",{value:t,enumerable:!0}):e,t)),A=t=>l(p({},"__esModule",{value:!0}),t);var D={};h(D,{createConfirm:()=>R});module.exports=A(D);var O=u(require("react"),1);var i=u(require("react"),1);function x(t,o){return({children:e})=>i.default.createElement(M,{ConfirmContext:t,options:o},e)}function M({ConfirmContext:t,options:o,children:e}){let[n,r]=(0,i.useState)(null),[s,C]=(0,i.useState)(o),[a,m]=(0,i.useState)(null);return i.default.createElement(t.Provider,{value:{message:n,setMessage:r,options:s,setOptions:C,resolve:a,setResolve:m}},e)}var c=require("react");function T(t){return()=>k(t)}function k(t){let{message:o,setMessage:e,options:n,setOptions:r,resolve:s,setResolve:C}=(0,c.useContext)(t),a=(0,c.useMemo)(()=>o!==null,[o]);return{message:o,isAsking:a,options:n,ask:async(d,f)=>new Promise(v=>{e(d),C(()=>y=>v(y)),f&&r({...n,...f})}),confirm:()=>{s?.(!0),e(null)},deny:()=>{s?.(!1),e(null)}}}function R(t){let o=O.default.createContext(null),e=T(o),n=x(o,t);return{useConfirm:e,ConfirmContextProvider:n}} //# sourceMappingURL=index.cjs.map