koval-ui
Version:
React components collection with minimalistic design. Supports theming, layout, and input validation.
3 lines (2 loc) • 744 B
JavaScript
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react"),C=require("../../internal/utils/last.cjs"),r=require("./DialogContext.cjs"),c=require("./DialogReducer.cjs"),a=e=>{const{state:o}=r.useDialogContext();return e(o)},O=e=>{const{dispatch:o}=r.useDialogContext(),l=n.useCallback(s=>{o({type:c.Actions.DIALOG_OPEN,id:e,params:s})},[e,o]),u=n.useCallback(()=>{o({type:c.Actions.DIALOG_CLOSE,id:e})},[e,o]),i=a(s=>{const t=C.last(s.open);return t==null?void 0:t.id}),g=e===i,D=a(s=>{const t=s.open.find(({id:p})=>e===p);return t==null?void 0:t.params});return{openDialog:l,closeDialog:u,isOpen:g,dialogParams:D}};exports.useDialogState=O;
//# sourceMappingURL=useDialogState.cjs.map