UNPKG

@anoki/fse-ui

Version:

FSE UI components library

3 lines (2 loc) 3.16 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("react"),D=require("./index.cjs471.js"),$=require("./index.cjs472.js"),S=require("./index.cjs470.js"),M=require("./index.cjs473.js"),N=require("./index.cjs494.js"),H=require("./index.cjs495.js"),T=require("./index.cjs489.js"),q=require("./index.cjs474.js"),f=require("./index.cjs244.js");function z(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const c=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,c.get?c:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const s=z(_);var y="Checkbox",[A,B]=$.createContextScope(y),[K,L]=A(y),j=s.forwardRef((e,r)=>{const{__scopeCheckbox:t,name:c,checked:p,defaultChecked:n,required:x,disabled:u,value:h="on",onCheckedChange:m,form:d,...C}=e,[i,k]=s.useState(null),v=D.useComposedRefs(r,o=>k(o)),R=s.useRef(!1),g=i?d||!!i.closest("form"):!0,[l=!1,E]=M.useControllableState({prop:p,defaultProp:n,onChange:m}),w=s.useRef(l);return s.useEffect(()=>{const o=i==null?void 0:i.form;if(o){const b=()=>E(w.current);return o.addEventListener("reset",b),()=>o.removeEventListener("reset",b)}},[i,E]),f.jsxRuntimeExports.jsxs(K,{scope:t,state:l,disabled:u,children:[f.jsxRuntimeExports.jsx(q.Primitive.button,{type:"button",role:"checkbox","aria-checked":a(l)?"mixed":l,"aria-required":x,"data-state":O(l),"data-disabled":u?"":void 0,disabled:u,value:h,...C,ref:v,onKeyDown:S.composeEventHandlers(e.onKeyDown,o=>{o.key==="Enter"&&o.preventDefault()}),onClick:S.composeEventHandlers(e.onClick,o=>{E(b=>a(b)?!0:!b),g&&(R.current=o.isPropagationStopped(),R.current||o.stopPropagation())})}),g&&f.jsxRuntimeExports.jsx(X,{control:i,bubbles:!R.current,name:c,value:h,checked:l,required:x,disabled:u,form:d,style:{transform:"translateX(-100%)"},defaultChecked:a(n)?!1:n})]})});j.displayName=y;var I="CheckboxIndicator",P=s.forwardRef((e,r)=>{const{__scopeCheckbox:t,forceMount:c,...p}=e,n=L(I,t);return f.jsxRuntimeExports.jsx(T.Presence,{present:c||a(n.state)||n.state===!0,children:f.jsxRuntimeExports.jsx(q.Primitive.span,{"data-state":O(n.state),"data-disabled":n.disabled?"":void 0,...p,ref:r,style:{pointerEvents:"none",...e.style}})})});P.displayName=I;var X=e=>{const{control:r,checked:t,bubbles:c=!0,defaultChecked:p,...n}=e,x=s.useRef(null),u=N.usePrevious(t),h=H.useSize(r);s.useEffect(()=>{const d=x.current,C=window.HTMLInputElement.prototype,k=Object.getOwnPropertyDescriptor(C,"checked").set;if(u!==t&&k){const v=new Event("click",{bubbles:c});d.indeterminate=a(t),k.call(d,a(t)?!1:t),d.dispatchEvent(v)}},[u,t,c]);const m=s.useRef(a(t)?!1:t);return f.jsxRuntimeExports.jsx("input",{type:"checkbox","aria-hidden":!0,defaultChecked:p??m.current,...n,tabIndex:-1,ref:x,style:{...e.style,...h,position:"absolute",pointerEvents:"none",opacity:0,margin:0}})};function a(e){return e==="indeterminate"}function O(e){return a(e)?"indeterminate":e?"checked":"unchecked"}var F=j,G=P;exports.Checkbox=j;exports.CheckboxIndicator=P;exports.Indicator=G;exports.Root=F;exports.createCheckboxScope=B; //# sourceMappingURL=index.cjs306.js.map