UNPKG

@anoki/fse-ui

Version:

FSE UI components library

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