UNPKG

dgz-ui

Version:

Custom ui library using React.js, Shadcn/ui, TailwindCSS, Typescript

2 lines (1 loc) 2.66 kB
"use strict";const T=require("react"),y=require("./index-t1JFNXJ1.cjs"),A=require("./index-DcWZbXs6.cjs");function R(n){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const t in n)if(t!=="default"){const r=Object.getOwnPropertyDescriptor(n,t);Object.defineProperty(e,t,r.get?r:{enumerable:!0,get:()=>n[t]})}}return e.default=n,Object.freeze(e)}const s=R(T);function w(n,e,{checkForDefaultPrevented:t=!0}={}){return function(o){if(n==null||n(o),t===!1||!o.defaultPrevented)return e==null?void 0:e(o)}}function S(n,e){return s.useReducer((t,r)=>e[t][r]??t,n)}var O=n=>{const{present:e,children:t}=n,r=h(e),o=typeof t=="function"?t({present:r.isPresent}):s.Children.only(t),a=y.useComposedRefs(r.ref,I(o));return typeof t=="function"||r.isPresent?s.cloneElement(o,{ref:a}):null};O.displayName="Presence";function h(n){const[e,t]=s.useState(),r=s.useRef(null),o=s.useRef(n),a=s.useRef("none"),p=n?"mounted":"unmounted",[N,c]=S(p,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return s.useEffect(()=>{const i=l(r.current);a.current=N==="mounted"?i:"none"},[N]),A.useLayoutEffect2(()=>{const i=r.current,f=o.current;if(f!==n){const d=a.current,u=l(i);n?c("MOUNT"):u==="none"||(i==null?void 0:i.display)==="none"?c("UNMOUNT"):c(f&&d!==u?"ANIMATION_OUT":"UNMOUNT"),o.current=n}},[n,c]),A.useLayoutEffect2(()=>{if(e){let i;const f=e.ownerDocument.defaultView??window,m=u=>{const g=l(r.current).includes(u.animationName);if(u.target===e&&g&&(c("ANIMATION_END"),!o.current)){const P=e.style.animationFillMode;e.style.animationFillMode="forwards",i=f.setTimeout(()=>{e.style.animationFillMode==="forwards"&&(e.style.animationFillMode=P)})}},d=u=>{u.target===e&&(a.current=l(r.current))};return e.addEventListener("animationstart",d),e.addEventListener("animationcancel",m),e.addEventListener("animationend",m),()=>{f.clearTimeout(i),e.removeEventListener("animationstart",d),e.removeEventListener("animationcancel",m),e.removeEventListener("animationend",m)}}else c("ANIMATION_END")},[e,c]),{isPresent:["mounted","unmountSuspended"].includes(N),ref:s.useCallback(i=>{r.current=i?getComputedStyle(i):null,t(i)},[])}}function l(n){return(n==null?void 0:n.animationName)||"none"}function I(n){var r,o;let e=(r=Object.getOwnPropertyDescriptor(n.props,"ref"))==null?void 0:r.get,t=e&&"isReactWarning"in e&&e.isReactWarning;return t?n.ref:(e=(o=Object.getOwnPropertyDescriptor(n,"ref"))==null?void 0:o.get,t=e&&"isReactWarning"in e&&e.isReactWarning,t?n.props.ref:n.props.ref||n.ref)}exports.Presence=O;exports.composeEventHandlers=w;