@stanfordspezi/spezi-web-design-system
Version:
Stanford Biodesign Digital Health Spezi Web Design System
2 lines (1 loc) • 6.74 kB
JavaScript
;const s=require("react/jsx-runtime"),R=require("./index-DwV9MiDB.js"),L=require("./x-Wmdptsoi.js"),z=require("react"),f=require("./index-CLdeiAAB.js"),O=require("./index-UhBwhhTY.js"),G=require("./index-vkqCyWtx.js"),x=require("./index-oKsk7EpR.js"),X=require("./index-Bqh8zfKH.js"),P=require("./index-Cz0nKoO6.js"),b=require("./index-DM1mqyG5.js"),w=require("./index-14SsMENa.js");function K(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const c=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,c.get?c:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const p=K(z);var j="Popover",[N,ve]=f.createContextScope(j,[P.createPopperScope]),h=P.createPopperScope(),[U,d]=N(j),E=e=>{const{__scopePopover:o,children:t,open:c,defaultOpen:r,onOpenChange:n,modal:a=!1}=e,i=h(o),l=p.useRef(null),[u,m]=p.useState(!1),[C=!1,v]=f.useControllableState({prop:c,defaultProp:r,onChange:n});return s.jsx(P.Root2,{...i,children:s.jsx(U,{scope:o,contentId:X.useId(),triggerRef:l,open:C,onOpenChange:v,onOpenToggle:p.useCallback(()=>v(A=>!A),[v]),hasCustomAnchor:u,onCustomAnchorAdd:p.useCallback(()=>m(!0),[]),onCustomAnchorRemove:p.useCallback(()=>m(!1),[]),modal:a,children:t})})};E.displayName=j;var y="PopoverAnchor",V=p.forwardRef((e,o)=>{const{__scopePopover:t,...c}=e,r=d(y,t),n=h(t),{onCustomAnchorAdd:a,onCustomAnchorRemove:i}=r;return p.useEffect(()=>(a(),()=>i()),[a,i]),s.jsx(P.Anchor,{...n,...c,ref:o})});V.displayName=y;var S="PopoverTrigger",D=p.forwardRef((e,o)=>{const{__scopePopover:t,...c}=e,r=d(S,t),n=h(t),a=O.useComposedRefs(o,r.triggerRef),i=s.jsx(w.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":r.open,"aria-controls":r.contentId,"data-state":$(r.open),...c,ref:a,onClick:f.composeEventHandlers(e.onClick,r.onOpenToggle)});return r.hasCustomAnchor?i:s.jsx(P.Anchor,{asChild:!0,...n,children:i})});D.displayName=S;var _="PopoverPortal",[W,Z]=N(_,{forceMount:void 0}),F=e=>{const{__scopePopover:o,forceMount:t,children:c,container:r}=e,n=d(_,o);return s.jsx(W,{scope:o,forceMount:t,children:s.jsx(b.Presence,{present:t||n.open,children:s.jsx(x.Portal,{asChild:!0,container:r,children:c})})})};F.displayName=_;var g="PopoverContent",T=p.forwardRef((e,o)=>{const t=Z(g,e.__scopePopover),{forceMount:c=t.forceMount,...r}=e,n=d(g,e.__scopePopover);return s.jsx(b.Presence,{present:c||n.open,children:n.modal?s.jsx(J,{...r,ref:o}):s.jsx(Q,{...r,ref:o})})});T.displayName=g;var B=O.createSlot("PopoverContent.RemoveScroll"),J=p.forwardRef((e,o)=>{const t=d(g,e.__scopePopover),c=p.useRef(null),r=O.useComposedRefs(o,c),n=p.useRef(!1);return p.useEffect(()=>{const a=c.current;if(a)return x.hideOthers(a)},[]),s.jsx(x.ReactRemoveScroll,{as:B,allowPinchZoom:!0,children:s.jsx(M,{...e,ref:r,trapFocus:t.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:f.composeEventHandlers(e.onCloseAutoFocus,a=>{var i;a.preventDefault(),n.current||(i=t.triggerRef.current)==null||i.focus()}),onPointerDownOutside:f.composeEventHandlers(e.onPointerDownOutside,a=>{const i=a.detail.originalEvent,l=i.button===0&&i.ctrlKey===!0,u=i.button===2||l;n.current=u},{checkForDefaultPrevented:!1}),onFocusOutside:f.composeEventHandlers(e.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1})})})}),Q=p.forwardRef((e,o)=>{const t=d(g,e.__scopePopover),c=p.useRef(!1),r=p.useRef(!1);return s.jsx(M,{...e,ref:o,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:n=>{var a,i;(a=e.onCloseAutoFocus)==null||a.call(e,n),n.defaultPrevented||(c.current||(i=t.triggerRef.current)==null||i.focus(),n.preventDefault()),c.current=!1,r.current=!1},onInteractOutside:n=>{var l,u;(l=e.onInteractOutside)==null||l.call(e,n),n.defaultPrevented||(c.current=!0,n.detail.originalEvent.type==="pointerdown"&&(r.current=!0));const a=n.target;((u=t.triggerRef.current)==null?void 0:u.contains(a))&&n.preventDefault(),n.detail.originalEvent.type==="focusin"&&r.current&&n.preventDefault()}})}),M=p.forwardRef((e,o)=>{const{__scopePopover:t,trapFocus:c,onOpenAutoFocus:r,onCloseAutoFocus:n,disableOutsidePointerEvents:a,onEscapeKeyDown:i,onPointerDownOutside:l,onFocusOutside:u,onInteractOutside:m,...C}=e,v=d(g,t),A=h(t);return x.useFocusGuards(),s.jsx(x.FocusScope,{asChild:!0,loop:!0,trapped:c,onMountAutoFocus:r,onUnmountAutoFocus:n,children:s.jsx(G.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:a,onInteractOutside:m,onEscapeKeyDown:i,onPointerDownOutside:l,onFocusOutside:u,onDismiss:()=>v.onOpenChange(!1),children:s.jsx(P.Content,{"data-state":$(v.open),role:"dialog",id:v.contentId,...A,...C,ref:o,style:{...C.style,"--radix-popover-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-popover-content-available-width":"var(--radix-popper-available-width)","--radix-popover-content-available-height":"var(--radix-popper-available-height)","--radix-popover-trigger-width":"var(--radix-popper-anchor-width)","--radix-popover-trigger-height":"var(--radix-popper-anchor-height)"}})})})}),k="PopoverClose",q=p.forwardRef((e,o)=>{const{__scopePopover:t,...c}=e,r=d(k,t);return s.jsx(w.Primitive.button,{type:"button",...c,ref:o,onClick:f.composeEventHandlers(e.onClick,()=>r.onOpenChange(!1))})});q.displayName=k;var Y="PopoverArrow",I=p.forwardRef((e,o)=>{const{__scopePopover:t,...c}=e,r=h(t);return s.jsx(P.Arrow,{...r,...c,ref:o})});I.displayName=Y;function $(e){return e?"open":"closed"}var ee=E,oe=D,te=F,re=T,ne=q,se=I;const ce=ee,ae=oe,H=se,ie=({className:e,...o})=>s.jsx("div",{className:R.cn("flex flex-col space-y-1.5 text-center sm:text-left",e),...o}),pe=({className:e,...o})=>s.jsx("h6",{className:R.cn("text-lg font-semibold",e),...o}),le=({className:e,...o})=>s.jsx("p",{className:R.cn("text-muted-foreground text-sm",e),...o}),ue=()=>s.jsxs(ne,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[s.jsx(L.X,{className:"size-4"}),s.jsx("span",{className:"sr-only",children:"Close"})]}),de=({className:e,children:o,align:t="center",sideOffset:c=4,arrow:r,...n})=>s.jsx(te,{children:s.jsxs(re,{align:t,sideOffset:c,className:R.cn("animate-entrance-fade-slide bg-popover text-popover-foreground z-50 w-72 rounded-md border p-4 shadow-sm outline-hidden",e),...n,children:[o,r&&s.jsx(H,{className:"fill-popover",width:12,height:8})]})});exports.PopoverArrow=H;exports.PopoverCloseX=ue;exports.PopoverContent=de;exports.PopoverDescription=le;exports.PopoverHeader=ie;exports.PopoverRoot=ce;exports.PopoverTitle=pe;exports.PopoverTrigger=ae;