UNPKG

koval-ui

Version:

React components collection with minimalistic design. Supports theming, layout, and input validation.

3 lines (2 loc) 1.21 kB
"use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),o=require("react"),a=require("css-vars-hook"),R=require("classnames"),D=require("../../internal/Portal/Portal.cjs"),g=require("../../internal/hooks/useInternalRef.cjs"),S=require("../../internal/hooks/useDismiss.cjs"),j=require("../../internal/Transitions/SlideLeft.cjs"),x=require("../../internal/Transitions/SlideRight.cjs"),r=require("./Drawer.module.css.cjs"),N=require("./useDrawerState.cjs"),u=o.forwardRef(({children:c,className:l,placement:s="left",id:n,...d},f)=>{const t=g.useInternalRef(f),{isOpen:i,closeDrawer:h}=N.useDrawerState(n),{getTheme:m}=a.useRootTheme(),{LocalRoot:q}=a.useLocalTheme(),w=o.useMemo(()=>({left:j.SlideLeft,right:x.SlideRight})[s],[s]);return S.useDismiss(h,t,i),e.jsx(D.Portal,{children:e.jsx(w,{show:i,nodeRef:t,children:e.jsx(q,{theme:m(),className:r.default.provider,children:e.jsx("div",{className:r.default.backdrop,children:e.jsx("div",{...d,className:R(r.default.drawer,{[r.default.left]:s==="left",[r.default.right]:s==="right"},l),ref:t,children:c})})})})})});u.displayName="Drawer";exports.Drawer=u; //# sourceMappingURL=Drawer.cjs.map