@stanfordspezi/spezi-web-design-system
Version:
Stanford Biodesign Digital Health Spezi Web Design System
2 lines (1 loc) • 5.77 kB
JavaScript
"use strict";const r=require("react/jsx-runtime"),v=require("./Collapsible-CcbM_-G8.js"),S=require("./index-DwV9MiDB.js"),W=require("./chevron-down-B138CK2f.js"),l=require("react"),X=require("./index-DO-atGp-.js"),Z=require("./index-DzTG1n6i.js"),q=require("./index-CajSSBH7.js"),ee=require("./index-DMAkK3b-.js"),T=require("./index-BhY3ui5c.js");require("react-dom");const oe=require("./index-C7R_tQdV.js"),te=require("./index-Cje7xxa1.js");function re(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const c=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,c.get?c:{enumerable:!0,get:()=>e[o]})}}return t.default=e,Object.freeze(t)}const ne=re(l);var ce=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],M=ce.reduce((e,t)=>{const o=q.createSlot(`Primitive.${t}`),c=ne.forwardRef((i,n)=>{const{asChild:s,...a}=i,d=s?o:t;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),r.jsx(d,{...a,ref:n})});return c.displayName=`Primitive.${t}`,{...e,[t]:c}},{}),u="Accordion",ie=["Home","End","ArrowDown","ArrowUp","ArrowLeft","ArrowRight"],[O,ae,se]=Z.createCollection(u),[A]=X.createContextScope(u,[se,v.createCollapsibleScope]),D=v.createCollapsibleScope(),$=l.forwardRef((e,t)=>{const{type:o,...c}=e,i=c,n=c;return r.jsx(O.Provider,{scope:e.__scopeAccordion,children:o==="multiple"?r.jsx(pe,{...n,ref:t}):r.jsx(ue,{...i,ref:t})})});$.displayName=u;var[V,le]=A(u),[H,de]=A(u,{collapsible:!1}),ue=l.forwardRef((e,t)=>{const{value:o,defaultValue:c,onValueChange:i=()=>{},collapsible:n=!1,...s}=e,[a,d]=T.useControllableState({prop:o,defaultProp:c??"",onChange:i,caller:u});return r.jsx(V,{scope:e.__scopeAccordion,value:l.useMemo(()=>a?[a]:[],[a]),onItemOpen:d,onItemClose:l.useCallback(()=>n&&d(""),[n,d]),children:r.jsx(H,{scope:e.__scopeAccordion,collapsible:n,children:r.jsx(z,{...s,ref:t})})})}),pe=l.forwardRef((e,t)=>{const{value:o,defaultValue:c,onValueChange:i=()=>{},...n}=e,[s,a]=T.useControllableState({prop:o,defaultProp:c??[],onChange:i,caller:u}),d=l.useCallback(x=>a((f=[])=>[...f,x]),[a]),m=l.useCallback(x=>a((f=[])=>f.filter(I=>I!==x)),[a]);return r.jsx(V,{scope:e.__scopeAccordion,value:s,onItemOpen:d,onItemClose:m,children:r.jsx(H,{scope:e.__scopeAccordion,collapsible:!0,children:r.jsx(z,{...n,ref:t})})})}),[fe,h]=A(u),z=l.forwardRef((e,t)=>{const{__scopeAccordion:o,disabled:c,dir:i,orientation:n="vertical",...s}=e,a=l.useRef(null),d=q.useComposedRefs(a,t),m=ae(o),f=te.useDirection(i)==="ltr",I=ee.composeEventHandlers(e.onKeyDown,C=>{if(!ie.includes(C.key))return;const J=C.target,j=m().filter(P=>!P.ref.current?.disabled),b=j.findIndex(P=>P.ref.current===J),k=j.length;if(b===-1)return;C.preventDefault();let p=b;const w=0,_=k-1,R=()=>{p=b+1,p>_&&(p=w)},N=()=>{p=b-1,p<w&&(p=_)};switch(C.key){case"Home":p=w;break;case"End":p=_;break;case"ArrowRight":n==="horizontal"&&(f?R():N());break;case"ArrowDown":n==="vertical"&&R();break;case"ArrowLeft":n==="horizontal"&&(f?N():R());break;case"ArrowUp":n==="vertical"&&N();break}const Q=p%k;j[Q].ref.current?.focus()});return r.jsx(fe,{scope:o,disabled:c,direction:i,orientation:n,children:r.jsx(O.Slot,{scope:o,children:r.jsx(M.div,{...s,"data-orientation":n,ref:d,onKeyDown:c?void 0:I})})})}),g="AccordionItem",[me,E]=A(g),K=l.forwardRef((e,t)=>{const{__scopeAccordion:o,value:c,...i}=e,n=h(g,o),s=le(g,o),a=D(o),d=oe.useId(),m=c&&s.value.includes(c)||!1,x=n.disabled||e.disabled;return r.jsx(me,{scope:o,open:m,disabled:x,triggerId:d,children:r.jsx(v.Root,{"data-orientation":n.orientation,"data-state":F(m),...a,...i,ref:t,disabled:x,open:m,onOpenChange:f=>{f?s.onItemOpen(c):s.onItemClose(c)}})})});K.displayName=g;var L="AccordionHeader",G=l.forwardRef((e,t)=>{const{__scopeAccordion:o,...c}=e,i=h(u,o),n=E(L,o);return r.jsx(M.h3,{"data-orientation":i.orientation,"data-state":F(n.open),"data-disabled":n.disabled?"":void 0,...c,ref:t})});G.displayName=L;var y="AccordionTrigger",U=l.forwardRef((e,t)=>{const{__scopeAccordion:o,...c}=e,i=h(u,o),n=E(y,o),s=de(y,o),a=D(o);return r.jsx(O.ItemSlot,{scope:o,children:r.jsx(v.Trigger,{"aria-disabled":n.open&&!s.collapsible||void 0,"data-orientation":i.orientation,id:n.triggerId,...a,...c,ref:t})})});U.displayName=y;var Y="AccordionContent",B=l.forwardRef((e,t)=>{const{__scopeAccordion:o,...c}=e,i=h(u,o),n=E(Y,o),s=D(o);return r.jsx(v.Content,{role:"region","aria-labelledby":n.triggerId,"data-orientation":i.orientation,...s,...c,ref:t,style:{"--radix-accordion-content-height":"var(--radix-collapsible-content-height)","--radix-accordion-content-width":"var(--radix-collapsible-content-width)",...e.style}})});B.displayName=Y;function F(e){return e?"open":"closed"}var xe=$,ve=K,Ce=G,be=U,ge=B;const Ae=e=>r.jsx(xe,{"data-slot":"accordion",...e}),he=({className:e,...t})=>r.jsx(ve,{"data-slot":"accordion-item",className:S.cn("border-b last:border-b-0",e),...t}),Ie=({className:e,children:t,...o})=>r.jsx(Ce,{className:"flex",children:r.jsxs(be,{"data-slot":"accordion-trigger",className:S.cn("interactive-opacity flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",e),...o,children:[t,r.jsx(W.default,{className:"text-muted-foreground size-4 shrink-0 translate-y-0.5 transition"})]})}),je=({className:e,children:t,...o})=>r.jsx(ge,{"data-slot":"accordion-content",className:"text-sm",asChild:!0,forceMount:!0,...o,children:r.jsx(v.CollapsibleContentRoot,{children:r.jsx(v.CollapsibleContentInner,{children:r.jsx("div",{className:S.cn("pt-0 pb-4",e),children:t})})})});exports.AccordionContent=je;exports.AccordionItem=he;exports.AccordionRoot=Ae;exports.AccordionTrigger=Ie;