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