UNPKG

@stanfordspezi/spezi-web-design-system

Version:

Stanford Biodesign Digital Health Spezi Web Design System

2 lines (1 loc) 4.86 kB
"use strict";const i=require("react/jsx-runtime"),F=require("./index-DwV9MiDB.js"),L=require("react"),w=require("./index-DMAkK3b-.js"),y=require("./index-CajSSBH7.js"),S=require("./index-DO-atGp-.js");require("react-dom");const h=require("./index-brQs6tgK.js"),B=require("./index-BhY3ui5c.js"),T=require("./index-Cje7xxa1.js"),z=require("./index-BaZ5IcWd.js"),K=require("./index-DYxWvftI.js"),U=require("./index-B4SDXrpf.js");function V(o){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const e in o)if(e!=="default"){const n=Object.getOwnPropertyDescriptor(o,e);Object.defineProperty(r,e,n.get?n:{enumerable:!0,get:()=>o[e]})}}return r.default=o,Object.freeze(r)}const c=V(L);var H=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],C=H.reduce((o,r)=>{const e=y.createSlot(`Primitive.${r}`),n=c.forwardRef((t,a)=>{const{asChild:s,...u}=t,l=s?e:r;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),i.jsx(l,{...u,ref:a})});return n.displayName=`Primitive.${r}`,{...o,[r]:n}},{}),P="Radio",[W,_]=S.createContextScope(P),[X,Y]=W(P),E=c.forwardRef((o,r)=>{const{__scopeRadio:e,name:n,checked:t=!1,required:a,disabled:s,value:u="on",onCheck:l,form:R,...v}=o,[f,m]=c.useState(null),d=y.useComposedRefs(r,b=>m(b)),p=c.useRef(!1),x=f?R||!!f.closest("form"):!0;return i.jsxs(X,{scope:e,checked:t,disabled:s,children:[i.jsx(C.button,{type:"button",role:"radio","aria-checked":t,"data-state":I(t),"data-disabled":s?"":void 0,disabled:s,value:u,...v,ref:d,onClick:w.composeEventHandlers(o.onClick,b=>{t||l?.(),x&&(p.current=b.isPropagationStopped(),p.current||b.stopPropagation())})}),x&&i.jsx(k,{control:f,bubbles:!p.current,name:n,value:u,checked:t,required:a,disabled:s,form:R,style:{transform:"translateX(-100%)"}})]})});E.displayName=P;var N="RadioIndicator",j=c.forwardRef((o,r)=>{const{__scopeRadio:e,forceMount:n,...t}=o,a=Y(N,e);return i.jsx(U.Presence,{present:n||a.checked,children:i.jsx(C.span,{"data-state":I(a.checked),"data-disabled":a.disabled?"":void 0,...t,ref:r})})});j.displayName=N;var J="RadioBubbleInput",k=c.forwardRef(({__scopeRadio:o,control:r,checked:e,bubbles:n=!0,...t},a)=>{const s=c.useRef(null),u=y.useComposedRefs(s,a),l=K.usePrevious(e),R=z.useSize(r);return c.useEffect(()=>{const v=s.current;if(!v)return;const f=window.HTMLInputElement.prototype,d=Object.getOwnPropertyDescriptor(f,"checked").set;if(l!==e&&d){const p=new Event("click",{bubbles:n});d.call(v,e),v.dispatchEvent(p)}},[l,e,n]),i.jsx(C.input,{type:"radio","aria-hidden":!0,defaultChecked:e,...t,tabIndex:-1,ref:u,style:{...t.style,...R,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})});k.displayName=J;function I(o){return o?"checked":"unchecked"}var Q=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],g="RadioGroup",[Z]=S.createContextScope(g,[h.createRovingFocusGroupScope,_]),q=h.createRovingFocusGroupScope(),G=_(),[ee,oe]=Z(g),A=c.forwardRef((o,r)=>{const{__scopeRadioGroup:e,name:n,defaultValue:t,value:a,required:s=!1,disabled:u=!1,orientation:l,dir:R,loop:v=!0,onValueChange:f,...m}=o,d=q(e),p=T.useDirection(R),[x,b]=B.useControllableState({prop:a,defaultProp:t??null,onChange:f,caller:g});return i.jsx(ee,{scope:e,name:n,required:s,disabled:u,value:x,onValueChange:b,children:i.jsx(h.Root,{asChild:!0,...d,orientation:l,dir:p,loop:v,children:i.jsx(C.div,{role:"radiogroup","aria-required":s,"aria-orientation":l,"data-disabled":u?"":void 0,dir:p,...m,ref:r})})})});A.displayName=g;var D="RadioGroupItem",O=c.forwardRef((o,r)=>{const{__scopeRadioGroup:e,disabled:n,...t}=o,a=oe(D,e),s=a.disabled||n,u=q(e),l=G(e),R=c.useRef(null),v=y.useComposedRefs(r,R),f=a.value===t.value,m=c.useRef(!1);return c.useEffect(()=>{const d=x=>{Q.includes(x.key)&&(m.current=!0)},p=()=>m.current=!1;return document.addEventListener("keydown",d),document.addEventListener("keyup",p),()=>{document.removeEventListener("keydown",d),document.removeEventListener("keyup",p)}},[]),i.jsx(h.Item,{asChild:!0,...u,focusable:!s,active:f,children:i.jsx(E,{disabled:s,required:a.required,checked:f,...l,...t,name:a.name,ref:v,onCheck:()=>a.onValueChange(t.value),onKeyDown:w.composeEventHandlers(d=>{d.key==="Enter"&&d.preventDefault()}),onFocus:w.composeEventHandlers(t.onFocus,()=>{m.current&&R.current?.click()})})})});O.displayName=D;var re="RadioGroupIndicator",$=c.forwardRef((o,r)=>{const{__scopeRadioGroup:e,...n}=o,t=G(e);return i.jsx(j,{...t,...n,ref:r})});$.displayName=re;var M=A,te=O,ne=$;const ae=M,se=({className:o,...r})=>i.jsx(te,{"data-slot":"radio",className:F.cn("focus-ring flex-center border-input size-4 shrink-0 rounded-full border disabled:cursor-not-allowed disabled:opacity-50",o),...r,children:i.jsx(ne,{"data-slot":"radio-indicator",className:"flex-center bg-primary size-2 rounded-full"})});exports.Radio=se;exports.RadioRoot=ae;exports.Root2=M;