@stanfordspezi/spezi-web-design-system
Version:
Stanford Biodesign Digital Health Spezi Web Design System
2 lines (1 loc) • 6.64 kB
JavaScript
;const s=require("react/jsx-runtime"),h=require("./index-DwV9MiDB.js"),L=require("./x-DFpTDUiL.js"),z=require("react"),f=require("./index-Df0u7aLq.js"),j=require("./index-k79m3Yno.js"),G=require("./index-DdQ5CLAY.js"),x=require("./index-CrfcgX4I.js"),X=require("./index-Bbq55jou.js"),P=require("./index-CmELkmmy.js"),b=require("./index-CldYjOhY.js"),w=require("./index-4XkuMsix.js");function K(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const c=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(o,r,c.get?c:{enumerable:!0,get:()=>e[r]})}}return o.default=e,Object.freeze(o)}const l=K(z);var A="Popover",[N,ve]=f.createContextScope(A,[P.createPopperScope]),m=P.createPopperScope(),[U,d]=N(A),E=e=>{const{__scopePopover:o,children:r,open:c,defaultOpen:t,onOpenChange:n,modal:a=!1}=e,i=m(o),p=l.useRef(null),[u,C]=l.useState(!1),[R,v]=f.useControllableState({prop:c,defaultProp:t??!1,onChange:n,caller:A});return s.jsx(P.Root2,{...i,children:s.jsx(U,{scope:o,contentId:X.useId(),triggerRef:p,open:R,onOpenChange:v,onOpenToggle:l.useCallback(()=>v(O=>!O),[v]),hasCustomAnchor:u,onCustomAnchorAdd:l.useCallback(()=>C(!0),[]),onCustomAnchorRemove:l.useCallback(()=>C(!1),[]),modal:a,children:r})})};E.displayName=A;var y="PopoverAnchor",V=l.forwardRef((e,o)=>{const{__scopePopover:r,...c}=e,t=d(y,r),n=m(r),{onCustomAnchorAdd:a,onCustomAnchorRemove:i}=t;return l.useEffect(()=>(a(),()=>i()),[a,i]),s.jsx(P.Anchor,{...n,...c,ref:o})});V.displayName=y;var S="PopoverTrigger",D=l.forwardRef((e,o)=>{const{__scopePopover:r,...c}=e,t=d(S,r),n=m(r),a=j.useComposedRefs(o,t.triggerRef),i=s.jsx(w.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":t.open,"aria-controls":t.contentId,"data-state":$(t.open),...c,ref:a,onClick:f.composeEventHandlers(e.onClick,t.onOpenToggle)});return t.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:r,children:c,container:t}=e,n=d(_,o);return s.jsx(W,{scope:o,forceMount:r,children:s.jsx(b.Presence,{present:r||n.open,children:s.jsx(x.Portal,{asChild:!0,container:t,children:c})})})};F.displayName=_;var g="PopoverContent",T=l.forwardRef((e,o)=>{const r=Z(g,e.__scopePopover),{forceMount:c=r.forceMount,...t}=e,n=d(g,e.__scopePopover);return s.jsx(b.Presence,{present:c||n.open,children:n.modal?s.jsx(J,{...t,ref:o}):s.jsx(Q,{...t,ref:o})})});T.displayName=g;var B=j.createSlot("PopoverContent.RemoveScroll"),J=l.forwardRef((e,o)=>{const r=d(g,e.__scopePopover),c=l.useRef(null),t=j.useComposedRefs(o,c),n=l.useRef(!1);return l.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:t,trapFocus:r.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:f.composeEventHandlers(e.onCloseAutoFocus,a=>{var i;a.preventDefault(),n.current||(i=r.triggerRef.current)==null||i.focus()}),onPointerDownOutside:f.composeEventHandlers(e.onPointerDownOutside,a=>{const i=a.detail.originalEvent,p=i.button===0&&i.ctrlKey===!0,u=i.button===2||p;n.current=u},{checkForDefaultPrevented:!1}),onFocusOutside:f.composeEventHandlers(e.onFocusOutside,a=>a.preventDefault(),{checkForDefaultPrevented:!1})})})}),Q=l.forwardRef((e,o)=>{const r=d(g,e.__scopePopover),c=l.useRef(!1),t=l.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=r.triggerRef.current)==null||i.focus(),n.preventDefault()),c.current=!1,t.current=!1},onInteractOutside:n=>{var p,u;(p=e.onInteractOutside)==null||p.call(e,n),n.defaultPrevented||(c.current=!0,n.detail.originalEvent.type==="pointerdown"&&(t.current=!0));const a=n.target;((u=r.triggerRef.current)==null?void 0:u.contains(a))&&n.preventDefault(),n.detail.originalEvent.type==="focusin"&&t.current&&n.preventDefault()}})}),M=l.forwardRef((e,o)=>{const{__scopePopover:r,trapFocus:c,onOpenAutoFocus:t,onCloseAutoFocus:n,disableOutsidePointerEvents:a,onEscapeKeyDown:i,onPointerDownOutside:p,onFocusOutside:u,onInteractOutside:C,...R}=e,v=d(g,r),O=m(r);return x.useFocusGuards(),s.jsx(x.FocusScope,{asChild:!0,loop:!0,trapped:c,onMountAutoFocus:t,onUnmountAutoFocus:n,children:s.jsx(G.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:a,onInteractOutside:C,onEscapeKeyDown:i,onPointerDownOutside:p,onFocusOutside:u,onDismiss:()=>v.onOpenChange(!1),children:s.jsx(P.Content,{"data-state":$(v.open),role:"dialog",id:v.contentId,...O,...R,ref:o,style:{...R.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=l.forwardRef((e,o)=>{const{__scopePopover:r,...c}=e,t=d(k,r);return s.jsx(w.Primitive.button,{type:"button",...c,ref:o,onClick:f.composeEventHandlers(e.onClick,()=>t.onOpenChange(!1))})});q.displayName=k;var Y="PopoverArrow",I=l.forwardRef((e,o)=>{const{__scopePopover:r,...c}=e,t=m(r);return s.jsx(P.Arrow,{...t,...c,ref:o})});I.displayName=Y;function $(e){return e?"open":"closed"}var ee=E,oe=D,re=F,te=T,ne=q,se=I;const ce=ee,ae=oe,H=se,ie=({className:e,...o})=>s.jsx("div",{className:h.cn("flex flex-col space-y-1.5 text-center sm:text-left",e),...o}),le=({className:e,...o})=>s.jsx("h6",{className:h.cn("text-lg font-semibold",e),...o}),pe=({className:e,...o})=>s.jsx("p",{className:h.cn("text-muted-foreground text-sm",e),...o}),ue=({className:e,...o})=>s.jsxs(ne,{className:h.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:[s.jsx(L.X,{className:"size-4"}),s.jsx("span",{className:"sr-only",children:"Close"})]}),de=({className:e,children:o,align:r="center",sideOffset:c=4,arrow:t,...n})=>s.jsx(re,{children:s.jsxs(te,{align:r,sideOffset:c,className:h.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&&s.jsx(H,{className:"fill-popover",width:12,height:8})]})});exports.PopoverArrow=H;exports.PopoverCloseX=ue;exports.PopoverContent=de;exports.PopoverDescription=pe;exports.PopoverHeader=ie;exports.PopoverRoot=ce;exports.PopoverTitle=le;exports.PopoverTrigger=ae;