UNPKG

@vela-ui/react

Version:

Vela UI React components

3 lines (2 loc) 1.19 kB
"use client" "use strict";"use client";var f=Object.defineProperty;var O=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var R=Object.prototype.hasOwnProperty;var b=(e,n)=>{for(var t in n)f(e,t,{get:n[t],enumerable:!0})},g=(e,n,t,s)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of C(n))!R.call(e,o)&&o!==t&&f(e,o,{get:()=>n[o],enumerable:!(s=O(n,o))||s.enumerable});return e};var m=e=>g(f({},"__esModule",{value:!0}),e);var k={};b(k,{useDisclosure:()=>D});module.exports=m(k);var u=require("react");var r=require("react");function p(e,n=[]){let t=(0,r.useRef)(()=>{throw new Error("Cannot call an event handler while rendering.")});return(0,r.useInsertionEffect)(()=>{t.current=e}),(0,r.useCallback)((...s)=>{var o;return(o=t.current)==null?void 0:o.call(t,...s)},n)}function D(e={}){let n=p(e.onOpen),t=p(e.onClose),[s,o]=(0,u.useState)(e.defaultOpen||!1),i=e.isOpen!==void 0?e.isOpen:s,c=e.isOpen!==void 0,l=(0,u.useCallback)(()=>{c||o(!1),t==null||t()},[c,t]),a=(0,u.useCallback)(()=>{c||o(!0),n==null||n()},[c,n]),d=(0,u.useCallback)(()=>{i?l():a()},[i,a,l]);return{isOpen:i,onOpen:a,onClose:l,onOpenChange:d,setOpen:o}}0&&(module.exports={useDisclosure});