UNPKG

@stanfordspezi/spezi-web-design-system

Version:

Stanford Biodesign Digital Health Spezi Web Design System

2 lines (1 loc) 7.1 kB
"use strict";const a=require("react/jsx-runtime"),x=require("./index-DwV9MiDB.js"),z=require("./x-C9x1HOMQ.js"),G=require("react"),g=require("./index-DMAkK3b-.js"),O=require("./index-CajSSBH7.js"),K=require("./index-DO-atGp-.js"),_=require("./index-Do9UgWQm.js"),R=require("./index-BjyM_flz.js"),X=require("./index-C7R_tQdV.js"),v=require("./index-BeS1NXiP.js"),b=require("./index-B4SDXrpf.js");require("react-dom");const U=require("./index-BhY3ui5c.js");function V(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const s=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(o,r,s.get?s:{enumerable:!0,get:()=>e[r]})}}return o.default=e,Object.freeze(o)}const i=V(G);var W=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],N=W.reduce((e,o)=>{const r=O.createSlot(`Primitive.${o}`),s=i.forwardRef((t,n)=>{const{asChild:c,...p}=t,u=c?r:o;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),a.jsx(u,{...p,ref:n})});return s.displayName=`Primitive.${o}`,{...e,[o]:s}},{}),A="Popover",[E]=K.createContextScope(A,[v.createPopperScope]),h=v.createPopperScope(),[Z,l]=E(A),y=e=>{const{__scopePopover:o,children:r,open:s,defaultOpen:t,onOpenChange:n,modal:c=!1}=e,p=h(o),u=i.useRef(null),[P,m]=i.useState(!1),[C,d]=U.useControllableState({prop:s,defaultProp:t??!1,onChange:n,caller:A});return a.jsx(v.Root2,{...p,children:a.jsx(Z,{scope:o,contentId:X.useId(),triggerRef:u,open:C,onOpenChange:d,onOpenToggle:i.useCallback(()=>d(j=>!j),[d]),hasCustomAnchor:P,onCustomAnchorAdd:i.useCallback(()=>m(!0),[]),onCustomAnchorRemove:i.useCallback(()=>m(!1),[]),modal:c,children:r})})};y.displayName=A;var S="PopoverAnchor",B=i.forwardRef((e,o)=>{const{__scopePopover:r,...s}=e,t=l(S,r),n=h(r),{onCustomAnchorAdd:c,onCustomAnchorRemove:p}=t;return i.useEffect(()=>(c(),()=>p()),[c,p]),a.jsx(v.Anchor,{...n,...s,ref:o})});B.displayName=S;var D="PopoverTrigger",F=i.forwardRef((e,o)=>{const{__scopePopover:r,...s}=e,t=l(D,r),n=h(r),c=O.useComposedRefs(o,t.triggerRef),p=a.jsx(N.button,{type:"button","aria-haspopup":"dialog","aria-expanded":t.open,"aria-controls":t.contentId,"data-state":H(t.open),...s,ref:c,onClick:g.composeEventHandlers(e.onClick,t.onOpenToggle)});return t.hasCustomAnchor?p:a.jsx(v.Anchor,{asChild:!0,...n,children:p})});F.displayName=D;var w="PopoverPortal",[J,Q]=E(w,{forceMount:void 0}),T=e=>{const{__scopePopover:o,forceMount:r,children:s,container:t}=e,n=l(w,o);return a.jsx(J,{scope:o,forceMount:r,children:a.jsx(b.Presence,{present:r||n.open,children:a.jsx(_.Portal,{asChild:!0,container:t,children:s})})})};T.displayName=w;var f="PopoverContent",M=i.forwardRef((e,o)=>{const r=Q(f,e.__scopePopover),{forceMount:s=r.forceMount,...t}=e,n=l(f,e.__scopePopover);return a.jsx(b.Presence,{present:s||n.open,children:n.modal?a.jsx(ee,{...t,ref:o}):a.jsx(oe,{...t,ref:o})})});M.displayName=f;var Y=O.createSlot("PopoverContent.RemoveScroll"),ee=i.forwardRef((e,o)=>{const r=l(f,e.__scopePopover),s=i.useRef(null),t=O.useComposedRefs(o,s),n=i.useRef(!1);return i.useEffect(()=>{const c=s.current;if(c)return R.hideOthers(c)},[]),a.jsx(R.ReactRemoveScroll,{as:Y,allowPinchZoom:!0,children:a.jsx(q,{...e,ref:t,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:g.composeEventHandlers(e.onCloseAutoFocus,c=>{c.preventDefault(),n.current||r.triggerRef.current?.focus()}),onPointerDownOutside:g.composeEventHandlers(e.onPointerDownOutside,c=>{const p=c.detail.originalEvent,u=p.button===0&&p.ctrlKey===!0,P=p.button===2||u;n.current=P},{checkForDefaultPrevented:!1}),onFocusOutside:g.composeEventHandlers(e.onFocusOutside,c=>c.preventDefault(),{checkForDefaultPrevented:!1})})})}),oe=i.forwardRef((e,o)=>{const r=l(f,e.__scopePopover),s=i.useRef(!1),t=i.useRef(!1);return a.jsx(q,{...e,ref:o,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:n=>{e.onCloseAutoFocus?.(n),n.defaultPrevented||(s.current||r.triggerRef.current?.focus(),n.preventDefault()),s.current=!1,t.current=!1},onInteractOutside:n=>{e.onInteractOutside?.(n),n.defaultPrevented||(s.current=!0,n.detail.originalEvent.type==="pointerdown"&&(t.current=!0));const c=n.target;r.triggerRef.current?.contains(c)&&n.preventDefault(),n.detail.originalEvent.type==="focusin"&&t.current&&n.preventDefault()}})}),q=i.forwardRef((e,o)=>{const{__scopePopover:r,trapFocus:s,onOpenAutoFocus:t,onCloseAutoFocus:n,disableOutsidePointerEvents:c,onEscapeKeyDown:p,onPointerDownOutside:u,onFocusOutside:P,onInteractOutside:m,...C}=e,d=l(f,r),j=h(r);return R.useFocusGuards(),a.jsx(R.FocusScope,{asChild:!0,loop:!0,trapped:s,onMountAutoFocus:t,onUnmountAutoFocus:n,children:a.jsx(_.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:c,onInteractOutside:m,onEscapeKeyDown:p,onPointerDownOutside:u,onFocusOutside:P,onDismiss:()=>d.onOpenChange(!1),children:a.jsx(v.Content,{"data-state":H(d.open),role:"dialog",id:d.contentId,...j,...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",$=i.forwardRef((e,o)=>{const{__scopePopover:r,...s}=e,t=l(k,r);return a.jsx(N.button,{type:"button",...s,ref:o,onClick:g.composeEventHandlers(e.onClick,()=>t.onOpenChange(!1))})});$.displayName=k;var re="PopoverArrow",I=i.forwardRef((e,o)=>{const{__scopePopover:r,...s}=e,t=h(r);return a.jsx(v.Arrow,{...t,...s,ref:o})});I.displayName=re;function H(e){return e?"open":"closed"}var te=y,ne=F,se=T,ae=M,ce=$,ie=I;const pe=te,le=ne,L=ie,ue=({className:e,...o})=>a.jsx("div",{"data-slot":"popover-header",className:x.cn("flex flex-col space-y-1.5 text-center sm:text-left",e),...o}),de=({className:e,...o})=>a.jsx("h6",{"data-slot":"popover-title",className:x.cn("text-lg font-semibold",e),...o}),ve=({className:e,...o})=>a.jsx("p",{"data-slot":"popover-description",className:x.cn("text-muted-foreground text-sm",e),...o}),fe=({className:e,...o})=>a.jsxs(ce,{"data-slot":"popover-close",className:x.cn("focus-ring text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition hover:opacity-100 disabled:pointer-events-none",e),...o,children:[a.jsx(z.default,{className:"size-4"}),a.jsx("span",{className:"sr-only",children:"Close"})]}),Pe=({className:e,children:o,align:r="center",sideOffset:s=4,arrow:t,...n})=>a.jsx(se,{children:a.jsxs(ae,{"data-slot":"popover-content",align:r,sideOffset:s,className:x.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,t&&a.jsx(L,{className:"fill-popover",width:12,height:8})]})});exports.PopoverArrow=L;exports.PopoverCloseX=fe;exports.PopoverContent=Pe;exports.PopoverDescription=ve;exports.PopoverHeader=ue;exports.PopoverRoot=pe;exports.PopoverTitle=de;exports.PopoverTrigger=le;