1import{s as e}from"./rolldown-runtime-CA0zl_Oh.js";import{t}from"./react-B8XWeURU.js";import{G as n}from"./context-BFmUzbfO.js";var r=e(t(),1);function i(){let e=(0,r.useRef)(new Map),t=e.current,n=(0,r.useCallback)((t,n,r,i)=>{e.current.set(r,{type:n,el:t,options:i}),t.addEventListener(n,r,i)},[]),i=(0,r.useCallback)((t,n,r,i)=>{t.removeEventListener(n,r,i),e.current.delete(r)},[]);return(0,r.useEffect)(()=>()=>{t.forEach((e,t)=>{i(e.el,e.type,t,e.options)})},[i,t]),{add:n,remove:i}}function a(e,t){if(e!=null){if(typeof e==`function`){e(t);return}try{e.current=t}catch{throw Error(`Cannot assign value '${t}' to ref '${e}'`)}}}function o(...e){return t=>{e.forEach(e=>{a(e,t)})}}function s(e){let{tagName:t,isContentEditable:n}=e.target;return t!==`INPUT`&&t!==`TEXTAREA`&&n!==!0}function c(e={}){let{ref:t,isDisabled:a,isFocusable:c,clickOnEnter:l=!0,clickOnSpace:u=!0,onMouseDown:d,onMouseUp:f,onClick:p,onKeyDown:m,onKeyUp:h,tabIndex:g,onMouseOver:_,onMouseLeave:v,...y}=e,[b,x]=(0,r.useState)(!0),[S,C]=(0,r.useState)(!1),w=i(),T=e=>{e&&e.tagName!==`BUTTON`&&x(!1)},E=b?g:g||0,D=a&&!c,O=(0,r.useCallback)(e=>{if(a){e.stopPropagation(),e.preventDefault();return}e.currentTarget.focus(),p?.(e)},[a,p]),k=(0,r.useCallback)(e=>{S&&s(e)&&(e.preventDefault(),e.stopPropagation(),C(!1),w.remove(document,`keyup`,k,!1))},[S,w]),A=(0,r.useCallback)(e=>{if(m?.(e),a||e.defaultPrevented||e.metaKey||!s(e.nativeEvent)||b)return;let t=l&&e.key===`Enter`;u&&e.key===` `&&(e.preventDefault(),C(!0)),t&&(e.preventDefault(),e.currentTarget.click()),w.add(document,`keyup`,k,!1)},[a,b,m,l,u,w,k]),j=(0,r.useCallback)(e=>{h?.(e),!(a||e.defaultPrevented||e.metaKey)&&(!s(e.nativeEvent)||b||u&&e.key===` `&&(e.preventDefault(),C(!1),e.currentTarget.click()))},[u,b,a,h]),M=(0,r.useCallback)(e=>{e.button===0&&(C(!1),w.remove(document,`mouseup`,M,!1))},[w]),N=(0,r.useCallback)(e=>{if(e.button===0){if(a){e.stopPropagation(),e.preventDefault();return}b||C(!0),e.currentTarget.focus({preventScroll:!0}),w.add(document,`mouseup`,M,!1),d?.(e)}},[a,b,d,w,M]),P=(0,r.useCallback)(e=>{e.button===0&&(b||C(!1),f?.(e))},[f,b]),F=(0,r.useCallback)(e=>{if(a){e.preventDefault();return}_?.(e)},[a,_]),I=(0,r.useCallback)(e=>{S&&(e.preventDefault(),C(!1)),v?.(e)},[S,v]),L=o(t,T);
1return b?{...y,ref:L,type:`button`,"aria-disabled":D?void 0:a,disabled:D,onClick:O,onMouseDown:d,onMouseUp:f,onKeyUp:h,onKeyDown:m,onMouseOver:_,onMouseLeave:v}:{...y,ref:L,role:`button`,"data-active":n(S),"aria-disabled":a?`true`:void 0,tabIndex:D?void 0:E,onClick:O,onMouseDown:N,onMouseUp:P,onKeyUp:j,onKeyDown:A,onMouseOver:F,onMouseLeave:I}}export{c as t};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.