UNPKG

@stanfordspezi/spezi-web-design-system

Version:

Stanford Biodesign Digital Health Spezi Web Design System

2 lines (1 loc) 4.63 kB
"use strict";const a=require("react/jsx-runtime"),A=require("./index-DwV9MiDB.js"),F=require("react"),P=require("./index-CajSSBH7.js"),H=require("./index-DO-atGp-.js"),I=require("./index-DMAkK3b-.js"),L=require("./index-BhY3ui5c.js"),G=require("./index-DYxWvftI.js"),K=require("./index-BaZ5IcWd.js"),U=require("./index-B4SDXrpf.js");require("react-dom");function X(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const o in e)if(o!=="default"){const n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(r,o,n.get?n:{enumerable:!0,get:()=>e[o]})}}return r.default=e,Object.freeze(r)}const u=X(F);var J=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],E=J.reduce((e,r)=>{const o=P.createSlot(`Primitive.${r}`),n=u.forwardRef((c,t)=>{const{asChild:l,...f}=c,i=l?o:r;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),a.jsx(i,{...f,ref:t})});return n.displayName=`Primitive.${r}`,{...e,[r]:n}},{}),y="Checkbox",[Q]=H.createContextScope(y),[V,j]=Q(y);function W(e){const{__scopeCheckbox:r,checked:o,children:n,defaultChecked:c,disabled:t,form:l,name:f,onCheckedChange:i,required:m,value:x="on",internal_do_not_use_render:p}=e,[b,v]=L.useControllableState({prop:o,defaultProp:c??!1,onChange:i,caller:y}),[k,C]=u.useState(null),[g,s]=u.useState(null),d=u.useRef(!1),R=k?!!l||!!k.closest("form"):!0,_={checked:b,disabled:t,setChecked:v,control:k,setControl:C,name:f,form:l,value:x,hasConsumerStoppedPropagationRef:d,required:m,defaultChecked:h(c)?!1:c,isFormControl:R,bubbleInput:g,setBubbleInput:s};return a.jsx(V,{scope:r,..._,children:Y(p)?p(_):n})}var N="CheckboxTrigger",q=u.forwardRef(({__scopeCheckbox:e,onKeyDown:r,onClick:o,...n},c)=>{const{control:t,value:l,disabled:f,checked:i,required:m,setControl:x,setChecked:p,hasConsumerStoppedPropagationRef:b,isFormControl:v,bubbleInput:k}=j(N,e),C=P.useComposedRefs(c,x),g=u.useRef(i);return u.useEffect(()=>{const s=t?.form;if(s){const d=()=>p(g.current);return s.addEventListener("reset",d),()=>s.removeEventListener("reset",d)}},[t,p]),a.jsx(E.button,{type:"button",role:"checkbox","aria-checked":h(i)?"mixed":i,"aria-required":m,"data-state":M(i),"data-disabled":f?"":void 0,disabled:f,value:l,...n,ref:C,onKeyDown:I.composeEventHandlers(r,s=>{s.key==="Enter"&&s.preventDefault()}),onClick:I.composeEventHandlers(o,s=>{p(d=>h(d)?!0:!d),k&&v&&(b.current=s.isPropagationStopped(),b.current||s.stopPropagation())})})});q.displayName=N;var w=u.forwardRef((e,r)=>{const{__scopeCheckbox:o,name:n,checked:c,defaultChecked:t,required:l,disabled:f,value:i,onCheckedChange:m,form:x,...p}=e;return a.jsx(W,{__scopeCheckbox:o,checked:c,defaultChecked:t,disabled:f,required:l,onCheckedChange:m,name:n,form:x,value:i,internal_do_not_use_render:({isFormControl:b})=>a.jsxs(a.Fragment,{children:[a.jsx(q,{...p,ref:r,__scopeCheckbox:o}),b&&a.jsx(D,{__scopeCheckbox:o})]})})});w.displayName=y;var O="CheckboxIndicator",$=u.forwardRef((e,r)=>{const{__scopeCheckbox:o,forceMount:n,...c}=e,t=j(O,o);return a.jsx(U.Presence,{present:n||h(t.checked)||t.checked===!0,children:a.jsx(E.span,{"data-state":M(t.checked),"data-disabled":t.disabled?"":void 0,...c,ref:r,style:{pointerEvents:"none",...e.style}})})});$.displayName=O;var B="CheckboxBubbleInput",D=u.forwardRef(({__scopeCheckbox:e,...r},o)=>{const{control:n,hasConsumerStoppedPropagationRef:c,checked:t,defaultChecked:l,required:f,disabled:i,name:m,value:x,form:p,bubbleInput:b,setBubbleInput:v}=j(B,e),k=P.useComposedRefs(o,v),C=G.usePrevious(t),g=K.useSize(n);u.useEffect(()=>{const d=b;if(!d)return;const R=window.HTMLInputElement.prototype,S=Object.getOwnPropertyDescriptor(R,"checked").set,T=!c.current;if(C!==t&&S){const z=new Event("click",{bubbles:T});d.indeterminate=h(t),S.call(d,h(t)?!1:t),d.dispatchEvent(z)}},[b,C,t,c]);const s=u.useRef(h(t)?!1:t);return a.jsx(E.input,{type:"checkbox","aria-hidden":!0,defaultChecked:l??s.current,required:f,disabled:i,name:m,value:x,form:p,...r,tabIndex:-1,ref:k,style:{...r.style,...g,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});D.displayName=B;function Y(e){return typeof e=="function"}function h(e){return e==="indeterminate"}function M(e){return h(e)?"indeterminate":e?"checked":"unchecked"}const Z=({className:e,...r})=>a.jsx(w,{"data-slot":"checkbox",className:A.cn("focus-ring flex-center border-input peer size-4 shrink-0 rounded-sm border disabled:cursor-not-allowed disabled:opacity-50",e),...r,children:a.jsx($,{"data-slot":"checkbox-indicator",className:"flex-center bg-primary size-2.5 rounded-xs"})});exports.Checkbox=Z;