@necto-react/hooks 2.7.0 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +19 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.cts +994 -0
- package/dist/index.d.ts +954 -50
- package/dist/index.global.js +37 -0
- package/dist/index.js +1 -10
- package/package.json +21 -19
- package/dist/index.es.js +0 -10
- package/dist/index.es.js.map +0 -1
- package/dist/index.js.map +0 -1
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";(()=>{var Cr=Object.create;var Zt=Object.defineProperty;var Sr=Object.getOwnPropertyDescriptor;var Or=Object.getOwnPropertyNames;var Lr=Object.getPrototypeOf,Ar=Object.prototype.hasOwnProperty;var ke=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports);var Mr=(e,n,r,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let u of Or(n))!Ar.call(e,u)&&u!==r&&Zt(e,u,{get:()=>n[u],enumerable:!(o=Sr(n,u))||o.enumerable});return e};var U=(e,n,r)=>(r=e!=null?Cr(Lr(e)):{},Mr(n||!e||!e.__esModule?Zt(r,"default",{value:e,enumerable:!0}):r,e));var fn=ke(h=>{"use strict";var st=Symbol.for("react.transitional.element"),xr=Symbol.for("react.portal"),Ur=Symbol.for("react.fragment"),Ir=Symbol.for("react.strict_mode"),Dr=Symbol.for("react.profiler"),Fr=Symbol.for("react.consumer"),Nr=Symbol.for("react.context"),kr=Symbol.for("react.forward_ref"),Hr=Symbol.for("react.suspense"),jr=Symbol.for("react.memo"),on=Symbol.for("react.lazy"),Jt=Symbol.iterator;function Br(e){return e===null||typeof e!="object"?null:(e=Jt&&e[Jt]||e["@@iterator"],typeof e=="function"?e:null)}var sn={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},un=Object.assign,an={};function me(e,n,r){this.props=e,this.context=n,this.refs=an,this.updater=r||sn}me.prototype.isReactComponent={};me.prototype.setState=function(e,n){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,n,"setState")};me.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function cn(){}cn.prototype=me.prototype;function ut(e,n,r){this.props=e,this.context=n,this.refs=an,this.updater=r||sn}var it=ut.prototype=new cn;it.constructor=ut;un(it,me.prototype);it.isPureReactComponent=!0;var en=Array.isArray,M={H:null,A:null,T:null,S:null,V:null},ln=Object.prototype.hasOwnProperty;function at(e,n,r,o,u,i){return r=i.ref,{$$typeof:st,type:e,key:n,ref:r!==void 0?r:null,props:i}}function Wr(e,n){return at(e.type,n,void 0,void 0,void 0,e.props)}function ct(e){return typeof e=="object"&&e!==null&&e.$$typeof===st}function Vr(e){var n={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(r){return n[r]})}var tn=/\/+/g;function ot(e,n){return typeof e=="object"&&e!==null&&e.key!=null?Vr(""+e.key):n.toString(36)}function nn(){}function Kr(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(nn,nn):(e.status="pending",e.then(function(n){e.status==="pending"&&(e.status="fulfilled",e.value=n)},function(n){e.status==="pending"&&(e.status="rejected",e.reason=n)})),e.status){case"fulfilled":return e.value;case"rejected":throw e.reason}}throw e}function de(e,n,r,o,u){var i=typeof e;(i==="undefined"||i==="boolean")&&(e=null);var c=!1;if(e===null)c=!0;else switch(i){case"bigint":case"string":case"number":c=!0;break;case"object":switch(e.$$typeof){case st:case xr:c=!0;break;case on:return c=e._init,de(c(e._payload),n,r,o,u)}}if(c)return u=u(e),c=o===""?"."+ot(e,0):o,en(u)?(r="",c!=null&&(r=c.replace(tn,"$&/")+"/"),de(u,n,r,"",function(m){return m})):u!=null&&(ct(u)&&(u=Wr(u,r+(u.key==null||e&&e.key===u.key?"":(""+u.key).replace(tn,"$&/")+"/")+c)),n.push(u)),1;c=0;var f=o===""?".":o+":";if(en(e))for(var a=0;a<e.length;a++)o=e[a],i=f+ot(o,a),c+=de(o,n,r,i,u);else if(a=Br(e),typeof a=="function")for(e=a.call(e),a=0;!(o=e.next()).done;)o=o.value,i=f+ot(o,a++),c+=de(o,n,r,i,u);else if(i==="object"){if(typeof e.then=="function")return de(Kr(e),n,r,o,u);throw n=String(e),Error("Objects are not valid as a React child (found: "+(n==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":n)+"). If you meant to render a collection of children, use an array instead.")}return c}function He(e,n,r){if(e==null)return e;var o=[],u=0;return de(e,o,"","",function(i){return n.call(r,i,u++)}),o}function Gr(e){if(e._status===-1){var n=e._result;n=n(),n.then(function(r){(e._status===0||e._status===-1)&&(e._status=1,e._result=r)},function(r){(e._status===0||e._status===-1)&&(e._status=2,e._result=r)}),e._status===-1&&(e._status=0,e._result=n)}if(e._status===1)return e._result.default;throw e._result}var rn=typeof reportError=="function"?reportError:function(e){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var n=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof e=="object"&&e!==null&&typeof e.message=="string"?String(e.message):String(e),error:e});if(!window.dispatchEvent(n))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",e);return}console.error(e)};function Yr(){}h.Children={map:He,forEach:function(e,n,r){He(e,function(){n.apply(this,arguments)},r)},count:function(e){var n=0;return He(e,function(){n++}),n},toArray:function(e){return He(e,function(n){return n})||[]},only:function(e){if(!ct(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};h.Component=me;h.Fragment=Ur;h.Profiler=Dr;h.PureComponent=ut;h.StrictMode=Ir;h.Suspense=Hr;h.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=M;h.__COMPILER_RUNTIME={__proto__:null,c:function(e){return M.H.useMemoCache(e)}};h.cache=function(e){return function(){return e.apply(null,arguments)}};h.cloneElement=function(e,n,r){if(e==null)throw Error("The argument must be a React element, but you passed "+e+".");var o=un({},e.props),u=e.key,i=void 0;if(n!=null)for(c in n.ref!==void 0&&(i=void 0),n.key!==void 0&&(u=""+n.key),n)!ln.call(n,c)||c==="key"||c==="__self"||c==="__source"||c==="ref"&&n.ref===void 0||(o[c]=n[c]);var c=arguments.length-2;if(c===1)o.children=r;else if(1<c){for(var f=Array(c),a=0;a<c;a++)f[a]=arguments[a+2];o.children=f}return at(e.type,u,void 0,void 0,i,o)};h.createContext=function(e){return e={$$typeof:Nr,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:Fr,_context:e},e};h.createElement=function(e,n,r){var o,u={},i=null;if(n!=null)for(o in n.key!==void 0&&(i=""+n.key),n)ln.call(n,o)&&o!=="key"&&o!=="__self"&&o!=="__source"&&(u[o]=n[o]);var c=arguments.length-2;if(c===1)u.children=r;else if(1<c){for(var f=Array(c),a=0;a<c;a++)f[a]=arguments[a+2];u.children=f}if(e&&e.defaultProps)for(o in c=e.defaultProps,c)u[o]===void 0&&(u[o]=c[o]);return at(e,i,void 0,void 0,null,u)};h.createRef=function(){return{current:null}};h.forwardRef=function(e){return{$$typeof:kr,render:e}};h.isValidElement=ct;h.lazy=function(e){return{$$typeof:on,_payload:{_status:-1,_result:e},_init:Gr}};h.memo=function(e,n){return{$$typeof:jr,type:e,compare:n===void 0?null:n}};h.startTransition=function(e){var n=M.T,r={};M.T=r;try{var o=e(),u=M.S;u!==null&&u(r,o),typeof o=="object"&&o!==null&&typeof o.then=="function"&&o.then(Yr,rn)}catch(i){rn(i)}finally{M.T=n}};h.unstable_useCacheRefresh=function(){return M.H.useCacheRefresh()};h.use=function(e){return M.H.use(e)};h.useActionState=function(e,n,r){return M.H.useActionState(e,n,r)};h.useCallback=function(e,n){return M.H.useCallback(e,n)};h.useContext=function(e){return M.H.useContext(e)};h.useDebugValue=function(){};h.useDeferredValue=function(e,n){return M.H.useDeferredValue(e,n)};h.useEffect=function(e,n,r){var o=M.H;if(typeof r=="function")throw Error("useEffect CRUD overload is not enabled in this build of React.");return o.useEffect(e,n)};h.useId=function(){return M.H.useId()};h.useImperativeHandle=function(e,n,r){return M.H.useImperativeHandle(e,n,r)};h.useInsertionEffect=function(e,n){return M.H.useInsertionEffect(e,n)};h.useLayoutEffect=function(e,n){return M.H.useLayoutEffect(e,n)};h.useMemo=function(e,n){return M.H.useMemo(e,n)};h.useOptimistic=function(e,n){return M.H.useOptimistic(e,n)};h.useReducer=function(e,n,r){return M.H.useReducer(e,n,r)};h.useRef=function(e){return M.H.useRef(e)};h.useState=function(e){return M.H.useState(e)};h.useSyncExternalStore=function(e,n,r){return M.H.useSyncExternalStore(e,n,r)};h.useTransition=function(){return M.H.useTransition()};h.version="19.1.0"});var pn=ke((b,je)=>{"use strict";process.env.NODE_ENV!=="production"&&function(){function e(t,s){Object.defineProperty(o.prototype,t,{get:function(){console.warn("%s(...) is deprecated in plain JavaScript React classes. %s",s[0],s[1])}})}function n(t){return t===null||typeof t!="object"?null:(t=kt&&t[kt]||t["@@iterator"],typeof t=="function"?t:null)}function r(t,s){t=(t=t.constructor)&&(t.displayName||t.name)||"ReactClass";var l=t+"."+s;Ht[l]||(console.error("Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.",s,t),Ht[l]=!0)}function o(t,s,l){this.props=t,this.context=s,this.refs=nt,this.updater=l||jt}function u(){}function i(t,s,l){this.props=t,this.context=s,this.refs=nt,this.updater=l||jt}function c(t){return""+t}function f(t){try{c(t);var s=!1}catch{s=!0}if(s){s=console;var l=s.error,d=typeof Symbol=="function"&&Symbol.toStringTag&&t[Symbol.toStringTag]||t.constructor.name||"Object";return l.call(s,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",d),c(t)}}function a(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===Tr?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case Je:return"Fragment";case It:return"Profiler";case Ut:return"StrictMode";case Nt:return"Suspense";case br:return"SuspenseList";case hr:return"Activity"}if(typeof t=="object")switch(typeof t.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),t.$$typeof){case xt:return"Portal";case Dt:return(t.displayName||"Context")+".Provider";case et:return(t._context.displayName||"Context")+".Consumer";case Ft:var s=t.render;return t=t.displayName,t||(t=s.displayName||s.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case tt:return s=t.displayName||null,s!==null?s:a(t.type)||"Memo";case xe:s=t._payload,t=t._init;try{return a(t(s))}catch{}}return null}function m(t){if(t===Je)return"<>";if(typeof t=="object"&&t!==null&&t.$$typeof===xe)return"<...>";try{var s=a(t);return s?"<"+s+">":"<...>"}catch{return"<...>"}}function P(){var t=_.A;return t===null?null:t.getOwner()}function g(){return Error("react-stack-top-frame")}function I(t){if(Ie.call(t,"key")){var s=Object.getOwnPropertyDescriptor(t,"key").get;if(s&&s.isReactWarning)return!1}return t.key!==void 0}function S(t,s){function l(){Kt||(Kt=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",s))}l.isReactWarning=!0,Object.defineProperty(t,"key",{get:l,configurable:!0})}function A(){var t=a(this.type);return Yt[t]||(Yt[t]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),t=this.props.ref,t!==void 0?t:null}function v(t,s,l,d,y,w,T,C){return l=w.ref,t={$$typeof:z,type:t,key:s,props:w,_owner:y},(l!==void 0?l:null)!==null?Object.defineProperty(t,"ref",{enumerable:!1,get:A}):Object.defineProperty(t,"ref",{enumerable:!1,value:null}),t._store={},Object.defineProperty(t._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(t,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(t,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:T}),Object.defineProperty(t,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:C}),Object.freeze&&(Object.freeze(t.props),Object.freeze(t)),t}function E(t,s){return s=v(t.type,s,void 0,void 0,t._owner,t.props,t._debugStack,t._debugTask),t._store&&(s._store.validated=t._store.validated),s}function D(t){return typeof t=="object"&&t!==null&&t.$$typeof===z}function V(t){var s={"=":"=0",":":"=2"};return"$"+t.replace(/[=:]/g,function(l){return s[l]})}function B(t,s){return typeof t=="object"&&t!==null&&t.key!=null?(f(t.key),V(""+t.key)):s.toString(36)}function $(){}function le(t){switch(t.status){case"fulfilled":return t.value;case"rejected":throw t.reason;default:switch(typeof t.status=="string"?t.then($,$):(t.status="pending",t.then(function(s){t.status==="pending"&&(t.status="fulfilled",t.value=s)},function(s){t.status==="pending"&&(t.status="rejected",t.reason=s)})),t.status){case"fulfilled":return t.value;case"rejected":throw t.reason}}throw t}function H(t,s,l,d,y){var w=typeof t;(w==="undefined"||w==="boolean")&&(t=null);var T=!1;if(t===null)T=!0;else switch(w){case"bigint":case"string":case"number":T=!0;break;case"object":switch(t.$$typeof){case z:case xt:T=!0;break;case xe:return T=t._init,H(T(t._payload),s,l,d,y)}}if(T){T=t,y=y(T);var C=d===""?"."+B(T,0):d;return Wt(y)?(l="",C!=null&&(l=C.replace(qt,"$&/")+"/"),H(y,s,l,"",function(X){return X})):y!=null&&(D(y)&&(y.key!=null&&(T&&T.key===y.key||f(y.key)),l=E(y,l+(y.key==null||T&&T.key===y.key?"":(""+y.key).replace(qt,"$&/")+"/")+C),d!==""&&T!=null&&D(T)&&T.key==null&&T._store&&!T._store.validated&&(l._store.validated=2),y=l),s.push(y)),1}if(T=0,C=d===""?".":d+":",Wt(t))for(var R=0;R<t.length;R++)d=t[R],w=C+B(d,R),T+=H(d,s,l,w,y);else if(R=n(t),typeof R=="function")for(R===t.entries&&($t||console.warn("Using Maps as children is not supported. Use an array of keyed ReactElements instead."),$t=!0),t=R.call(t),R=0;!(d=t.next()).done;)d=d.value,w=C+B(d,R++),T+=H(d,s,l,w,y);else if(w==="object"){if(typeof t.then=="function")return H(le(t),s,l,d,y);throw s=String(t),Error("Objects are not valid as a React child (found: "+(s==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":s)+"). If you meant to render a collection of children, use an array instead.")}return T}function q(t,s,l){if(t==null)return t;var d=[],y=0;return H(t,d,"","",function(w){return s.call(l,w,y++)}),d}function Ae(t){if(t._status===-1){var s=t._result;s=s(),s.then(function(l){(t._status===0||t._status===-1)&&(t._status=1,t._result=l)},function(l){(t._status===0||t._status===-1)&&(t._status=2,t._result=l)}),t._status===-1&&(t._status=0,t._result=s)}if(t._status===1)return s=t._result,s===void 0&&console.error(`lazy: Expected the result of a dynamic import() call. Instead received: %s
|
|
2
|
+
|
|
3
|
+
Your code should look like:
|
|
4
|
+
const MyComponent = lazy(() => import('./MyComponent'))
|
|
5
|
+
|
|
6
|
+
Did you accidentally put curly braces around the import?`,s),"default"in s||console.error(`lazy: Expected the result of a dynamic import() call. Instead received: %s
|
|
7
|
+
|
|
8
|
+
Your code should look like:
|
|
9
|
+
const MyComponent = lazy(() => import('./MyComponent'))`,s),s.default;throw t._result}function x(){var t=_.H;return t===null&&console.error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
|
|
10
|
+
1. You might have mismatching versions of React and the renderer (such as React DOM)
|
|
11
|
+
2. You might be breaking the Rules of Hooks
|
|
12
|
+
3. You might have more than one copy of React in the same app
|
|
13
|
+
See https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.`),t}function Me(){}function ie(t){if(De===null)try{var s=("require"+Math.random()).slice(0,7);De=(je&&je[s]).call(je,"timers").setImmediate}catch{De=function(d){Qt===!1&&(Qt=!0,typeof MessageChannel>"u"&&console.error("This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning."));var y=new MessageChannel;y.port1.onmessage=d,y.port2.postMessage(void 0)}}return De(t)}function Q(t){return 1<t.length&&typeof AggregateError=="function"?new AggregateError(t):t[0]}function fe(t,s){s!==Fe-1&&console.error("You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. "),Fe=s}function p(t,s,l){var d=_.actQueue;if(d!==null)if(d.length!==0)try{F(d),ie(function(){return p(t,s,l)});return}catch(y){_.thrownErrors.push(y)}else _.actQueue=null;0<_.thrownErrors.length?(d=Q(_.thrownErrors),_.thrownErrors.length=0,l(d)):s(t)}function F(t){if(!rt){rt=!0;var s=0;try{for(;s<t.length;s++){var l=t[s];do{_.didUsePromise=!1;var d=l(!1);if(d!==null){if(_.didUsePromise){t[s]=l,t.splice(0,s);return}l=d}else break}while(!0)}t.length=0}catch(y){t.splice(0,s+1),_.thrownErrors.push(y)}finally{rt=!1}}}typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());var z=Symbol.for("react.transitional.element"),xt=Symbol.for("react.portal"),Je=Symbol.for("react.fragment"),Ut=Symbol.for("react.strict_mode"),It=Symbol.for("react.profiler");Symbol.for("react.provider");var et=Symbol.for("react.consumer"),Dt=Symbol.for("react.context"),Ft=Symbol.for("react.forward_ref"),Nt=Symbol.for("react.suspense"),br=Symbol.for("react.suspense_list"),tt=Symbol.for("react.memo"),xe=Symbol.for("react.lazy"),hr=Symbol.for("react.activity"),kt=Symbol.iterator,Ht={},jt={isMounted:function(){return!1},enqueueForceUpdate:function(t){r(t,"forceUpdate")},enqueueReplaceState:function(t){r(t,"replaceState")},enqueueSetState:function(t){r(t,"setState")}},Bt=Object.assign,nt={};Object.freeze(nt),o.prototype.isReactComponent={},o.prototype.setState=function(t,s){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,s,"setState")},o.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};var K={isMounted:["isMounted","Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks."],replaceState:["replaceState","Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236)."]},Ue;for(Ue in K)K.hasOwnProperty(Ue)&&e(Ue,K[Ue]);u.prototype=o.prototype,K=i.prototype=new u,K.constructor=i,Bt(K,o.prototype),K.isPureReactComponent=!0;var Wt=Array.isArray,Tr=Symbol.for("react.client.reference"),_={H:null,A:null,T:null,S:null,V:null,actQueue:null,isBatchingLegacy:!1,didScheduleLegacyUpdate:!1,didUsePromise:!1,thrownErrors:[],getCurrentStack:null,recentlyCreatedOwnerStacks:0},Ie=Object.prototype.hasOwnProperty,Vt=console.createTask?console.createTask:function(){return null};K={"react-stack-bottom-frame":function(t){return t()}};var Kt,Gt,Yt={},Rr=K["react-stack-bottom-frame"].bind(K,g)(),_r=Vt(m(g)),$t=!1,qt=/\/+/g,zt=typeof reportError=="function"?reportError:function(t){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var s=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof t=="object"&&t!==null&&typeof t.message=="string"?String(t.message):String(t),error:t});if(!window.dispatchEvent(s))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",t);return}console.error(t)},Qt=!1,De=null,Fe=0,Ne=!1,rt=!1,Xt=typeof queueMicrotask=="function"?function(t){queueMicrotask(function(){return queueMicrotask(t)})}:ie;K=Object.freeze({__proto__:null,c:function(t){return x().useMemoCache(t)}}),b.Children={map:q,forEach:function(t,s,l){q(t,function(){s.apply(this,arguments)},l)},count:function(t){var s=0;return q(t,function(){s++}),s},toArray:function(t){return q(t,function(s){return s})||[]},only:function(t){if(!D(t))throw Error("React.Children.only expected to receive a single React element child.");return t}},b.Component=o,b.Fragment=Je,b.Profiler=It,b.PureComponent=i,b.StrictMode=Ut,b.Suspense=Nt,b.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=_,b.__COMPILER_RUNTIME=K,b.act=function(t){var s=_.actQueue,l=Fe;Fe++;var d=_.actQueue=s!==null?s:[],y=!1;try{var w=t()}catch(R){_.thrownErrors.push(R)}if(0<_.thrownErrors.length)throw fe(s,l),t=Q(_.thrownErrors),_.thrownErrors.length=0,t;if(w!==null&&typeof w=="object"&&typeof w.then=="function"){var T=w;return Xt(function(){y||Ne||(Ne=!0,console.error("You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);"))}),{then:function(R,X){y=!0,T.then(function(pe){if(fe(s,l),l===0){try{F(d),ie(function(){return p(pe,R,X)})}catch(Pr){_.thrownErrors.push(Pr)}if(0<_.thrownErrors.length){var wr=Q(_.thrownErrors);_.thrownErrors.length=0,X(wr)}}else R(pe)},function(pe){fe(s,l),0<_.thrownErrors.length&&(pe=Q(_.thrownErrors),_.thrownErrors.length=0),X(pe)})}}}var C=w;if(fe(s,l),l===0&&(F(d),d.length!==0&&Xt(function(){y||Ne||(Ne=!0,console.error("A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\n\nawait act(() => ...)"))}),_.actQueue=null),0<_.thrownErrors.length)throw t=Q(_.thrownErrors),_.thrownErrors.length=0,t;return{then:function(R,X){y=!0,l===0?(_.actQueue=d,ie(function(){return p(C,R,X)})):R(C)}}},b.cache=function(t){return function(){return t.apply(null,arguments)}},b.captureOwnerStack=function(){var t=_.getCurrentStack;return t===null?null:t()},b.cloneElement=function(t,s,l){if(t==null)throw Error("The argument must be a React element, but you passed "+t+".");var d=Bt({},t.props),y=t.key,w=t._owner;if(s!=null){var T;e:{if(Ie.call(s,"ref")&&(T=Object.getOwnPropertyDescriptor(s,"ref").get)&&T.isReactWarning){T=!1;break e}T=s.ref!==void 0}T&&(w=P()),I(s)&&(f(s.key),y=""+s.key);for(C in s)!Ie.call(s,C)||C==="key"||C==="__self"||C==="__source"||C==="ref"&&s.ref===void 0||(d[C]=s[C])}var C=arguments.length-2;if(C===1)d.children=l;else if(1<C){T=Array(C);for(var R=0;R<C;R++)T[R]=arguments[R+2];d.children=T}for(d=v(t.type,y,void 0,void 0,w,d,t._debugStack,t._debugTask),y=2;y<arguments.length;y++)w=arguments[y],D(w)&&w._store&&(w._store.validated=1);return d},b.createContext=function(t){return t={$$typeof:Dt,_currentValue:t,_currentValue2:t,_threadCount:0,Provider:null,Consumer:null},t.Provider=t,t.Consumer={$$typeof:et,_context:t},t._currentRenderer=null,t._currentRenderer2=null,t},b.createElement=function(t,s,l){for(var d=2;d<arguments.length;d++){var y=arguments[d];D(y)&&y._store&&(y._store.validated=1)}if(d={},y=null,s!=null)for(R in Gt||!("__self"in s)||"key"in s||(Gt=!0,console.warn("Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform")),I(s)&&(f(s.key),y=""+s.key),s)Ie.call(s,R)&&R!=="key"&&R!=="__self"&&R!=="__source"&&(d[R]=s[R]);var w=arguments.length-2;if(w===1)d.children=l;else if(1<w){for(var T=Array(w),C=0;C<w;C++)T[C]=arguments[C+2];Object.freeze&&Object.freeze(T),d.children=T}if(t&&t.defaultProps)for(R in w=t.defaultProps,w)d[R]===void 0&&(d[R]=w[R]);y&&S(d,typeof t=="function"?t.displayName||t.name||"Unknown":t);var R=1e4>_.recentlyCreatedOwnerStacks++;return v(t,y,void 0,void 0,P(),d,R?Error("react-stack-top-frame"):Rr,R?Vt(m(t)):_r)},b.createRef=function(){var t={current:null};return Object.seal(t),t},b.forwardRef=function(t){t!=null&&t.$$typeof===tt?console.error("forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...))."):typeof t!="function"?console.error("forwardRef requires a render function but was given %s.",t===null?"null":typeof t):t.length!==0&&t.length!==2&&console.error("forwardRef render functions accept exactly two parameters: props and ref. %s",t.length===1?"Did you forget to use the ref parameter?":"Any additional parameter will be undefined."),t!=null&&t.defaultProps!=null&&console.error("forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?");var s={$$typeof:Ft,render:t},l;return Object.defineProperty(s,"displayName",{enumerable:!1,configurable:!0,get:function(){return l},set:function(d){l=d,t.name||t.displayName||(Object.defineProperty(t,"name",{value:d}),t.displayName=d)}}),s},b.isValidElement=D,b.lazy=function(t){return{$$typeof:xe,_payload:{_status:-1,_result:t},_init:Ae}},b.memo=function(t,s){t==null&&console.error("memo: The first argument must be a component. Instead received: %s",t===null?"null":typeof t),s={$$typeof:tt,type:t,compare:s===void 0?null:s};var l;return Object.defineProperty(s,"displayName",{enumerable:!1,configurable:!0,get:function(){return l},set:function(d){l=d,t.name||t.displayName||(Object.defineProperty(t,"name",{value:d}),t.displayName=d)}}),s},b.startTransition=function(t){var s=_.T,l={};_.T=l,l._updatedFibers=new Set;try{var d=t(),y=_.S;y!==null&&y(l,d),typeof d=="object"&&d!==null&&typeof d.then=="function"&&d.then(Me,zt)}catch(w){zt(w)}finally{s===null&&l._updatedFibers&&(t=l._updatedFibers.size,l._updatedFibers.clear(),10<t&&console.warn("Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.")),_.T=s}},b.unstable_useCacheRefresh=function(){return x().useCacheRefresh()},b.use=function(t){return x().use(t)},b.useActionState=function(t,s,l){return x().useActionState(t,s,l)},b.useCallback=function(t,s){return x().useCallback(t,s)},b.useContext=function(t){var s=x();return t.$$typeof===et&&console.error("Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?"),s.useContext(t)},b.useDebugValue=function(t,s){return x().useDebugValue(t,s)},b.useDeferredValue=function(t,s){return x().useDeferredValue(t,s)},b.useEffect=function(t,s,l){t==null&&console.warn("React Hook useEffect requires an effect callback. Did you forget to pass a callback to the hook?");var d=x();if(typeof l=="function")throw Error("useEffect CRUD overload is not enabled in this build of React.");return d.useEffect(t,s)},b.useId=function(){return x().useId()},b.useImperativeHandle=function(t,s,l){return x().useImperativeHandle(t,s,l)},b.useInsertionEffect=function(t,s){return t==null&&console.warn("React Hook useInsertionEffect requires an effect callback. Did you forget to pass a callback to the hook?"),x().useInsertionEffect(t,s)},b.useLayoutEffect=function(t,s){return t==null&&console.warn("React Hook useLayoutEffect requires an effect callback. Did you forget to pass a callback to the hook?"),x().useLayoutEffect(t,s)},b.useMemo=function(t,s){return x().useMemo(t,s)},b.useOptimistic=function(t,s){return x().useOptimistic(t,s)},b.useReducer=function(t,s,l){return x().useReducer(t,s,l)},b.useRef=function(t){return x().useRef(t)},b.useState=function(t){return x().useState(t)},b.useSyncExternalStore=function(t,s,l){return x().useSyncExternalStore(t,s,l)},b.useTransition=function(){return x().useTransition()},b.version="19.1.0",typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop=="function"&&__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error())}()});var O=ke((ns,lt)=>{"use strict";process.env.NODE_ENV==="production"?lt.exports=fn():lt.exports=pn()});var dt=ke((cs,En)=>{"use strict";var pt=Object.defineProperty,qr=Object.getOwnPropertyDescriptor,zr=Object.getOwnPropertyNames,Qr=Object.prototype.hasOwnProperty,Xr=(e,n)=>{for(var r in n)pt(e,r,{get:n[r],enumerable:!0})},Zr=(e,n,r,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let u of zr(n))!Qr.call(e,u)&&u!==r&&pt(e,u,{get:()=>n[u],enumerable:!(o=qr(n,u))||o.enumerable});return e},Jr=e=>Zr(pt({},"__esModule",{value:!0}),e),dn={};Xr(dn,{DisabledContext:()=>mn,DisabledProvider:()=>no,FocusableContext:()=>oo});En.exports=Jr(dn);var eo=O(),mn=(0,eo.createContext)(new Object),to=O();function no({value:e,children:n}){return(0,to.createElement)(mn.Provider,{value:e||new Object},n)}var ro=O(),oo=(0,ro.createContext)(null)});var Be=U(O(),1);function be(...e){if(e.length===0)return{};if(e.length===1)return typeof e[0]=="object"&&e[0]!==null?e[0]:{};let n={},r={};for(let o of e)if(!(typeof o!="object"||o===null)){for(let u in o)if(Object.hasOwn(o,u)){if(u==="children")continue;let i=o[u];u.startsWith("on")&&typeof i=="function"?(r[u]??=[],r[u].push(i)):n[u]=i}}for(let o in r)Object.hasOwn(r,o)&&r[o].length>0&&(n[o]=(...u)=>{for(let i of r[o])i?.(...u)});for(let o=e.length-1;o>=0;o--){let u=e[o];if(typeof u=="object"&&u!==null&&"children"in u){n.children=u.children;break}}return n}function $r({props:e,ref:n,context:r}){let o=ft({context:r,slot:e.slot})||{},{ref:u=null,...i}=o,c=(0,Be.useRef)(null),f=(0,Be.useCallback)(m=>{c.current=m,typeof n=="function"?n(m):n&&(n.current=m),typeof u=="function"?u(m):u&&typeof u=="object"&&(u.current=m)},[n,u]),a=be(i,e);return"style"in i&&i.style&&"style"in e&&e.style&&(typeof i.style=="function"||typeof e.style=="function"?a.style=m=>{let P=typeof i.style=="function"?i.style(m):i.style,g={...m.defaultStyle,...P},I=typeof e.style=="function"?e.style({...m,defaultStyle:g}):e.style;return{...g,...I}}:a.style={...i.style,...e.style}),[a,f]}var yn=U(O(),1),vn=U(dt(),1);function mt(e={}){let{type:n="general",defaultFallback:r=!1}=e;return((0,yn.useContext)(vn.DisabledContext)||{})[n]??r}var gn=U(O(),1);function so(e={}){let{type:n="general",extraProps:r={}}=e,o=mt({type:n,defaultFallback:!1});return(0,gn.useMemo)(()=>{let u={...r};return o&&(u={...u,...typeof r.onClick=="function"||typeof r.onChange=="function"?{disabled:o}:{},"aria-disabled":o}),u},[o,r])}var Y=U(O(),1);function uo(e={}){let{partialVisibility:n=!1,threshold:r=0,rootMargin:o="0px",root:u=null,active:i=!0,once:c=!1,onChange:f}=e,[a,m]=(0,Y.useState)(null),[P,g]=(0,Y.useState)(!1),[I,S]=(0,Y.useState)(null),A=(0,Y.useRef)(!1),v=(0,Y.useRef)(null),E=We(V=>{let B=V[0],$=B.isIntersecting,le={isIntersecting:B.isIntersecting,intersectionRatio:B.intersectionRatio,intersectionRect:B.intersectionRect,boundingClientRect:B.boundingClientRect,rootBounds:B.rootBounds,time:B.time};S(le),g(H=>c&&A.current?!0:$&&c?(A.current=!0,H!==!0&&f&&f(!0),!0):H!==$?(f&&f($),$):H)}),D=(0,Y.useCallback)(V=>{m(V)},[]);return(0,Y.useEffect)(()=>{if(!i||!a)return;let V;return n===!0?V=[0,.1,.25,.5,.75,1]:typeof n=="string"?V=.01:V=r,v.current=new IntersectionObserver(E,{root:u,rootMargin:o,threshold:V}),v.current.observe(a),()=>{v.current&&v.current.disconnect()}},[i,a,u,o,r,n]),[D,P,I]}var qe=U(O(),1);var io=Object.defineProperty,Ve=(e,n)=>{for(var r in n)io(e,r,{get:n[r],enumerable:!0})},Et={};Ve(Et,{HTML_TAGS:()=>hn,PRIMITIVE_TAGS:()=>bn,default:()=>ao});var bn=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],hn=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","link","main","map","mark","math","menu","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","script","search","section","select","slot","small","source","span","strong","style","sub","summary","sup","svg","table","tbody","td","template","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr"],ao={PRIMITIVE_TAGS:bn,HTML_TAGS:hn},co={};Ve(co,{NUMERIC_DIGITS:()=>Tn,default:()=>lo});var Tn=["1","2","3","4","5","6","7","8","9","0"],lo={NUMERIC_DIGITS:Tn},fo={};Ve(fo,{AMPERSAND:()=>Mn,ASTERISK:()=>Un,BACKSLASH:()=>Kn,BOM:()=>Rn,CARRIAGE_RETURN:()=>Pn,COLON:()=>kn,COMMA:()=>Dn,COMMERCIAL_AT:()=>Wn,DOT:()=>Nn,DOUBLE_QUOTE:()=>On,EXCLAMATION:()=>Sn,GRAVE_ACCENT:()=>Yn,GREATER_THAN:()=>jn,LEFT_CURLY_BRACKET:()=>$n,LEFT_SQUARE_BRACKET:()=>Vn,LINE_FEED:()=>wn,MINUS:()=>Fn,PERCENT:()=>An,PLUS:()=>In,QUESTION:()=>Bn,RIGHT_CURLY_BRACKET:()=>zn,RIGHT_SQUARE_BRACKET:()=>Gn,SHARP:()=>Ln,SINGLE_QUOTE:()=>xn,SMALLER_THAN:()=>Hn,SPACE:()=>Cn,TAB:()=>_n,VERTICAL_LINE:()=>qn,default:()=>po});var Rn=65279,_n=9,wn=10,Pn=13,Cn=32,Sn=33,On=34,Ln=35,An=37,Mn=38,xn=39,Un=42,In=43,Dn=44,Fn=45,Nn=46,kn=58,Hn=60,jn=62,Bn=63,Wn=64,Vn=91,Kn=92,Gn=93,Yn=96,$n=123,qn=124,zn=125,po={BOM:Rn,TAB:_n,LINE_FEED:wn,CARRIAGE_RETURN:Pn,SPACE:Cn,EXCLAMATION:Sn,DOUBLE_QUOTE:On,SHARP:Ln,PERCENT:An,AMPERSAND:Mn,SINGLE_QUOTE:xn,ASTERISK:Un,PLUS:In,COMMA:Dn,MINUS:Fn,DOT:Nn,COLON:kn,SMALLER_THAN:Hn,GREATER_THAN:jn,QUESTION:Bn,COMMERCIAL_AT:Wn,LEFT_SQUARE_BRACKET:Vn,BACKSLASH:Kn,RIGHT_SQUARE_BRACKET:Gn,GRAVE_ACCENT:Yn,LEFT_CURLY_BRACKET:$n,VERTICAL_LINE:qn,RIGHT_CURLY_BRACKET:zn},mo={};Ve(mo,{CAPITALIZED:()=>Qn,LOWERCASE:()=>Xn,VOWELS:()=>Zn,default:()=>Eo});var Qn=["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"],Xn=["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"],Zn=["A","E","I","O","U","a","e","i","o","u"],Eo={CAPITALIZED:Qn,LOWERCASE:Xn,VOWELS:Zn};function yo(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.platform):!1}var vo=()=>yo(/^Mac/i);function Jn(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.platform):!1}var go=()=>Jn(/^iPhone/i),bo=()=>Jn(/^iPad/i)||vo()&&navigator.maxTouchPoints>1,yt=()=>go()||bo();function ho(e){return To(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in e}function To(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&typeof e.nodeType=="number"}function Ge(e,n,r=!0){if(!e||!n)return!1;if(!r)return e.contains(n);let o=n;for(;o;){if(o===e)return!0;o=o instanceof Element&&o.tagName==="SLOT"&&o.assignedSlot?o.assignedSlot.parentNode:ho(o)?o.host:o.parentNode}return!1}var J=(e=document,n=!0)=>{if(!n)return e.activeElement;let r=e.activeElement;for(;r&&"shadowRoot"in r&&r.shadowRoot?.activeElement;)r=r.shadowRoot.activeElement;return r};function Ye(e,n=!0){return n&&e.target.shadowRoot&&e.composedPath?e.composedPath()[0]:e.target}var N=e=>e?.ownerDocument??document,ee=e=>e&&"window"in e&&e.window===e?e:N(e).defaultView||window,Ke=null;function Ro(){if(Ke==null){Ke=!1;try{document.createElement("div").focus({get preventScroll(){return Ke=!0,!0}})}catch{}}return Ke}function bt(e){if(Ro())e.focus({preventScroll:!0});else{let n=_o(e);e.focus();for(let{element:r,scrollTop:o,scrollLeft:u}of n)r.scrollTop=o,r.scrollLeft=u}}function _o(e){let n=e.parentNode,r=Array.from({length:0}),o=document.scrollingElement||document.documentElement;for(;n instanceof HTMLElement&&n!==o;)(n.offsetHeight<n.scrollHeight||n.offsetWidth<n.scrollWidth)&&r.push({element:n,scrollTop:n.scrollTop,scrollLeft:n.scrollLeft}),n=n.parentNode;return o instanceof HTMLElement&&r.push({element:o,scrollTop:o.scrollTop,scrollLeft:o.scrollLeft}),r}var Z=new Map,vt=new Set;function wo(e){if(!("propertyName"in e)||!e.target)return;let n=Z.get(e.target);n||(n=new Set,Z.set(e.target,n),e.target.addEventListener("transitioncancel",ht,{once:!0})),n.add(e.propertyName)}function ht(e){if(!("propertyName"in e)||!e.target)return;let n=Z.get(e.target);if(n&&(n.delete(e.propertyName),n.size===0&&(e.target.removeEventListener("transitioncancel",ht),Z.delete(e.target)),Z.size===0)){for(let r of vt)r();vt.clear()}}if(typeof window<"u"&&typeof document<"u"){let e=()=>{let n=document.body;n&&(n.addEventListener("transitionrun",wo),n.addEventListener("transitionend",ht))};document.readyState!=="loading"?e():document.addEventListener("DOMContentLoaded",e,{once:!0})}function Tt(e){requestAnimationFrame(()=>{for(let[n]of Z)"isConnected"in n&&!n.isConnected&&Z.delete(n);Z.size===0?e():vt.add(e)})}var ws=Et.HTML_TAGS.reduce((e,n)=>{var r;return e[r=n,r.charAt(0).toUpperCase()+r.slice(1)]=n,e},{}),Ee="default",gt="",he=new WeakMap;function $e(e){if(yt()){if(Ee==="default"){let n=N(e);n?.documentElement?.style.webkitUserSelect!==void 0&&(gt=n.documentElement.style.webkitUserSelect,n.documentElement.style.webkitUserSelect="none",Ee="disabled")}}else if(e instanceof HTMLElement||e instanceof SVGElement){let n=e.style,r="userSelect"in n?"userSelect":"webkitUserSelect";he.has(e)||(he.set(e,n[r]??""),n[r]="none")}}function te(e){if(yt()){if(Ee!=="disabled")return;Ee="restoring",setTimeout(()=>{Tt(()=>{if(Ee==="restoring"){let n=N(e);n?.documentElement?.style.webkitUserSelect==="none"&&(n.documentElement.style.webkitUserSelect=gt||""),gt="",Ee="default"}})},300)}else if((e instanceof HTMLElement||e instanceof SVGElement)&&he.has(e)){let n=he.get(e)??"",r=e.style,o="userSelect"in r?"userSelect":"webkitUserSelect";r[o]==="none"&&(r[o]=n),e.getAttribute("style")?.trim()===""&&e.removeAttribute("style"),he.delete(e)}}function Te(e={}){let{isDisabled:n,onFocus:r,onBlur:o,onFocusChange:u}=e,i=(0,qe.useCallback)((m,P)=>{m?(r?.(P),u?.(!0)):(o?.(P),u?.(!1))},[r,o,u]),c=(0,qe.useCallback)(m=>{m.target===m.currentTarget&&i(!1,m)},[i]),f=Re({onBlur:c}),a=(0,qe.useCallback)(m=>{let P=N(m.target),g=P?J(P):J();m.target===m.currentTarget&&g===Ye(m.nativeEvent)&&(i(!0,m),f(m))},[i,f]);return{focusProps:{...n?{}:{onFocus:a,onBlur:c}}}}var ye=U(O(),1),er=U(dt(),1);function Po(e,n){let{autoFocus:r,isDisabled:o,excludeFromTabOrder:u}=e,{focusProps:i}=Te(e),{keyboardProps:c}=Rt(e),f=(0,ye.useContext)(er.FocusableContext)||{},a=(0,ye.useRef)(r);_t({context:f,ref:n});let{ref:m,...P}=f,g=N(n.current),I=J(g);(0,ye.useEffect)(()=>{if(a.current&&n.current)if(_e()==="virtual"){let A=I;Tt(()=>{J(g)===A&&n.current?.isConnected&&bt(n.current)})}else bt(n.current);a.current=!1},[n]);let S=u?-1:0;return o&&(S=void 0),{focusableProps:be({...be(i??{},c),tabIndex:S},o?{}:P)}}var ne=U(O(),1);var Co=null;function So(e={}){let{within:n=!1,isTextInput:r=!1,autoFocus:o=!1}=e,u=(0,ne.useRef)({isFocused:o,isFocusVisible:o||Co!=="pointer"}),[i,c]=(0,ne.useState)(o),[f,a]=(0,ne.useState)(()=>u.current.isFocused&&u.current.isFocusVisible),m=(0,ne.useCallback)(()=>{a(u.current.isFocused&&u.current.isFocusVisible)},[]),P=(0,ne.useCallback)(S=>{u.current.isFocused=S,c(S),m()},[m]);we({fn:S=>{u.current.isFocusVisible=S,m()},deps:[],opts:{isTextInput:r}});let{focusProps:g={}}=Te({isDisabled:n,onFocusChange:P})||{},{focusWithinProps:I={}}=wt({isDisabled:!n,onFocusWithinChange:P})||{};return{isFocused:i,isFocusVisible:f,focusProps:n?I:g}}var tr=U(O(),1);function Oo(e={}){let{isTextInput:n,autoFocus:r}=e,[o,u]=(0,tr.useState)(r||_e()!=="pointer");return we({fn:i=>u(i),deps:[n],opts:{isTextInput:n}}),{isFocusVisible:o}}var ve=new Map,ze=new Set,nr=!1,Pt=null,rr=!1,k={get hasEventBeforeFocus(){return nr},set hasEventBeforeFocus(e){nr=e},get hasBlurredWindowRecently(){return rr},set hasBlurredWindowRecently(e){rr=e},get currentModality(){return Pt},set currentModality(e){Pt=e}};function _e(){return Pt}var Ko={},Qe=Object.create(null),Pe=e=>globalThis.process?.env||Ko.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?Qe:globalThis),re=new Proxy(Qe,{get(e,n){return Pe()[n]??Qe[n]},has(e,n){let r=Pe();return n in r||n in Qe},set(e,n,r){let o=Pe(!0);return o[n]=r,!0},deleteProperty(e,n){if(!n)return!1;let r=Pe(!0);return delete r[n],!0},ownKeys(){let e=Pe(!0);return Object.keys(e)}}),sr=typeof process<"u"&&process.env&&process.env.NODE_ENV||"",Lo=[["APPVEYOR"],["AWS_AMPLIFY","AWS_APP_ID",{ci:!0}],["AZURE_PIPELINES","SYSTEM_TEAMFOUNDATIONCOLLECTIONURI"],["AZURE_STATIC","INPUT_AZURE_STATIC_WEB_APPS_API_TOKEN"],["APPCIRCLE","AC_APPCIRCLE"],["BAMBOO","bamboo_planKey"],["BITBUCKET","BITBUCKET_COMMIT"],["BITRISE","BITRISE_IO"],["BUDDY","BUDDY_WORKSPACE_ID"],["BUILDKITE"],["CIRCLE","CIRCLECI"],["CIRRUS","CIRRUS_CI"],["CLOUDFLARE_PAGES","CF_PAGES",{ci:!0}],["CLOUDFLARE_WORKERS","WORKERS_CI",{ci:!0}],["CODEBUILD","CODEBUILD_BUILD_ARN"],["CODEFRESH","CF_BUILD_ID"],["DRONE"],["DRONE","DRONE_BUILD_EVENT"],["DSARI"],["GITHUB_ACTIONS"],["GITLAB","GITLAB_CI"],["GITLAB","CI_MERGE_REQUEST_ID"],["GOCD","GO_PIPELINE_LABEL"],["LAYERCI"],["HUDSON","HUDSON_URL"],["JENKINS","JENKINS_URL"],["MAGNUM"],["NETLIFY"],["NETLIFY","NETLIFY_LOCAL",{ci:!1}],["NEVERCODE"],["RENDER"],["SAIL","SAILCI"],["SEMAPHORE"],["SCREWDRIVER"],["SHIPPABLE"],["SOLANO","TDDIUM"],["STRIDER"],["TEAMCITY","TEAMCITY_VERSION"],["TRAVIS"],["VERCEL","NOW_BUILDER"],["VERCEL","VERCEL",{ci:!1}],["VERCEL","VERCEL_ENV",{ci:!1}],["APPCENTER","APPCENTER_BUILD_ID"],["CODESANDBOX","CODESANDBOX_SSE",{ci:!1}],["CODESANDBOX","CODESANDBOX_HOST",{ci:!1}],["STACKBLITZ"],["STORMKIT"],["CLEAVR"],["ZEABUR"],["CODESPHERE","CODESPHERE_APP_ID",{ci:!0}],["RAILWAY","RAILWAY_PROJECT_ID"],["RAILWAY","RAILWAY_SERVICE_ID"],["DENO-DEPLOY","DENO_DEPLOYMENT_ID"],["FIREBASE_APP_HOSTING","FIREBASE_APP_HOSTING",{ci:!0}]];function Ao(){if(globalThis.process?.env)for(let e of Lo){let n=e[1]||e[0];if(globalThis.process?.env[n])return{name:e[0].toLowerCase(),...e[2]}}return globalThis.process?.env?.SHELL==="/bin/jsh"&&globalThis.process?.versions?.webcontainer?{name:"stackblitz",ci:!1}:{name:"",ci:!1}}var ur=Ao(),zs=ur.name;function ae(e){return e?e!=="false":!1}var Ct=globalThis.process?.platform||"",ir=ae(re.CI)||ur.ci!==!1,ar=ae(globalThis.process?.stdout&&globalThis.process?.stdout.isTTY);var Qs=ae(re.DEBUG),ce=sr==="test"||ae(re.TEST),cr=sr==="production";var Xs=ae(re.MINIMAL)||ir||ce||!ar,Mo=/^win/i.test(Ct),Zs=/^linux/i.test(Ct),lr=/^darwin/i.test(Ct),Js=!ae(re.NO_COLOR)&&(ae(re.FORCE_COLOR)||(ar||Mo)&&re.TERM!=="dumb"||ir),xo=(globalThis.process?.versions?.node||"").replace(/^v/,"")||null,eu=Number(xo?.split(".")[0])||null,Uo=globalThis.process||Object.create(null),or={versions:{}},tu=new Proxy(Uo,{get(e,n){if(n==="env")return re;if(n in e)return e[n];if(n in or)return or[n]}}),Io=globalThis.process?.release?.name==="node",Do=!!globalThis.Bun||!!globalThis.process?.versions?.bun,Fo=!!globalThis.Deno,No=!!globalThis.fastly,ko=!!globalThis.Netlify,Ho=!!globalThis.EdgeRuntime,jo=globalThis.navigator?.userAgent==="Cloudflare-Workers",Bo=[[ko,"netlify"],[Ho,"edge-light"],[jo,"workerd"],[No,"fastly"],[Fo,"deno"],[Do,"bun"],[Io,"node"]];function Wo(){let e=Bo.find(n=>n[0]);if(e)return{name:e[1]}}var Vo=Wo(),nu=Vo?.name||"";var pr=U(O(),1);function St(e){if(!e)return;let n=!0;return r=>{let o={...r,preventDefault(){r.preventDefault()},isDefaultPrevented(){return r.isDefaultPrevented()},stopPropagation(){n&&cr?console.error("stopPropagation is now the default behavior for events in Necto. You can use continuePropagation() to revert this behavior."):n=!0},continuePropagation(){n=!1},isPropagationStopped(){return n}};e(o),n&&r.stopPropagation()}}function Xe(e){let n=e;return Object.assign(n,{nativeEvent:e,isDefaultPrevented:()=>n.defaultPrevented,isPropagationStopped:()=>n.cancelBubble,persist:()=>{}}),n}var Go=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),Yo={Tab:!0,Escape:!0};function fr(e,n,r){if(!r||!("target"in r)||!r.target)return!1;let o=N(r.target),u=ee(r.target),i=typeof window<"u"?u.HTMLInputElement:HTMLInputElement,c=typeof window<"u"?u.HTMLTextAreaElement:HTMLTextAreaElement,f=typeof window<"u"?u.HTMLElement:HTMLElement,a=typeof window<"u"?u.KeyboardEvent:KeyboardEvent,m=o.activeElement;return e=e||m instanceof i&&!Go.has(m.type)||m instanceof c||m instanceof f&&m.isContentEditable,!(e&&n==="keyboard"&&r instanceof a&&!Yo[r.key])}function Lt(e,n){ze.forEach(r=>r(e,n))}function $o(e){return!(e.metaKey||lr&&e.altKey||e.ctrlKey||["Control","Shift","Meta"].includes(e.key))}function dr(e){$o(e)&&(k.hasEventBeforeFocus=!0,k.currentModality="keyboard",Lt("keyboard",e))}function Ot(e){["mousedown","pointerdown"].includes(e.type)&&(k.hasEventBeforeFocus=!0,k.currentModality="pointer",Lt("pointer",e))}function mr(e){[window,document].includes(e.target)||!e.isTrusted||!k.hasEventBeforeFocus&&!k.hasBlurredWindowRecently||(!k.hasEventBeforeFocus&&!k.hasBlurredWindowRecently&&(k.currentModality="virtual",Lt("virtual",e)),k.hasEventBeforeFocus=!1,k.hasBlurredWindowRecently=!1)}function Er(){k.hasEventBeforeFocus=!1,k.hasBlurredWindowRecently=!0}function qo(e){let n=ee(e),r=N(e);if(typeof window>"u"||typeof document>"u"||ve.has(n))return;let o=n.HTMLElement.prototype.focus;n.HTMLElement.prototype.focus=function(...u){k.hasEventBeforeFocus=!0,o.apply(this,u)},r.addEventListener("keydown",dr,!0),r.addEventListener("click",Ot,!0),n.addEventListener("focus",mr,!0),n.addEventListener("blur",Er,!1),typeof PointerEvent<"u"&&r.addEventListener("pointerdown",Ot,!0),ve.set(n,{focus:o})}function zo(e){let n=ee(e),r=N(e);if(!ve.has(n))return;let{focus:o}=ve.get(n);n.HTMLElement.prototype.focus=o,r.removeEventListener("keydown",dr,!0),r.removeEventListener("click",Ot,!0),n.removeEventListener("focus",mr,!0),n.removeEventListener("blur",Er,!1),ve.delete(n)}function we(e){let{fn:n,deps:r,opts:o}=e;typeof window>"u"||typeof document>"u"||(qo(),(0,pr.useEffect)(()=>{let u=(i,c)=>{fr(!!o?.isTextInput,i,c)&&n(k.currentModality!=="pointer")};return ze.add(u),()=>{ze.delete(u),zo()}},r))}var Ce=U(O(),1);function wt(e){let{isDisabled:n,onFocusWithin:r,onBlurWithin:o,onFocusWithinChange:u}=e,i=(0,Ce.useRef)({isFocusWithin:!1}),{addGlobalListener:c,removeAllGlobalListeners:f}=Se(),a=(0,Ce.useCallback)(g=>{g.currentTarget.contains(g.target)&&i.current.isFocusWithin&&!g.currentTarget.contains(g.relatedTarget)&&(i.current.isFocusWithin=!1,f(),o&&o(g),u&&u(!1))},[o,u,f]),m=Re({onBlur:a}),P=(0,Ce.useCallback)(g=>{if(!g.currentTarget.contains(g.target))return;let I=N(g.target),S=J(I);if(!i.current.isFocusWithin&&S===Ye(g.nativeEvent)){r&&r(g),u&&u(!0),i.current.isFocusWithin=!0,m(g);let A=g.currentTarget;c(I,"focus",v=>{if(i.current.isFocusWithin&&!Ge(A,v.target)&&I.defaultView&&typeof I.defaultView.FocusEvent=="function"){let E=new I.defaultView.FocusEvent("blur",{relatedTarget:v.target});Object.defineProperty(E,"target",{value:A}),Object.defineProperty(E,"currentTarget",{value:A});let D=Xe(E);a(D)}},{capture:!0})}},[r,u,m,c,a]);return n?{focusWithinProps:{onFocus:void 0,onBlur:void 0}}:{focusWithinProps:{onFocus:P,onBlur:a}}}var oe=U(O(),1);function Se(){let e=(0,oe.useRef)(new Map),n=(0,oe.useCallback)((u,i,c,f)=>{let a=typeof f=="object"&&f?.once?(...m)=>{e.current.delete(c),c(...m)}:c;e.current.set(c,{type:i,eventTarget:u,options:f}),u.addEventListener(i,a,f)},[]),r=(0,oe.useCallback)((u,i,c,f)=>{let a=e.current.get(c),m=a?.options?.once?a.fn:c;u.removeEventListener(i,m,f),e.current.delete(c)},[]),o=(0,oe.useCallback)(()=>{e.current.forEach((u,i)=>{u.eventTarget.removeEventListener(u.type,i,u.options)}),e.current.clear()},[]);return(0,oe.useEffect)(()=>()=>o(),[o]),{addGlobalListener:n,removeGlobalListener:r,removeAllGlobalListeners:o}}var W=U(O(),1);function Qo(e={}){let{onHoverStart:n,onHoverChange:r,onHoverEnd:o,isDisabled:u}=e,[i,c]=(0,W.useState)(!1),f=(0,W.useRef)({hoverCount:0,ignoreEmulated:!1}),a=(0,W.useRef)({isHovered:!1,ignoreEmulatedMouseEvents:!1,pointerType:"",target:null}).current,{addGlobalListener:m,removeAllGlobalListeners:P}=Se(),g=(0,W.useCallback)(()=>{f.current.ignoreEmulated=!0,setTimeout(()=>{f.current.ignoreEmulated=!1},50)},[]);(0,W.useEffect)(()=>{let v=D=>{D.pointerType==="touch"&&g()};if(typeof document>"u")return;let E=f.current;return E.hoverCount++,typeof PointerEvent<"u"?document.addEventListener("pointerup",v):ce&&document.addEventListener("touchend",g),()=>{E.hoverCount--,E.hoverCount===0&&(typeof PointerEvent<"u"?document.removeEventListener("pointerup",v):ce&&document.removeEventListener("touchend",g))}},[g]);let I=(0,W.useCallback)((v,E)=>{u||E==="touch"||a.isHovered||!(v.currentTarget&&v.currentTarget.contains(v.target))||(a.isHovered=!0,a.pointerType=E,a.target=v.currentTarget,m(N(v.target instanceof Element?v.target:null),"pointerover",D=>{a.isHovered&&a.target&&!Ge(a.target,D.target)&&S(D,D.pointerType)},{capture:!0}),n?.({type:"hoverstart",target:v.currentTarget,pointerType:E}),r?.(!0),c(!0))},[u,n,r,m,a]),S=(0,W.useCallback)((v,E)=>{E==="touch"||!a.isHovered||!a.target||(a.isHovered=!1,a.pointerType="",a.target=null,P(),o?.({type:"hoverend",target:v.currentTarget,pointerType:E}),r?.(!1),c(!1))},[o,r,P,a.target,a]),A=(0,W.useMemo)(()=>{let v={};return typeof PointerEvent<"u"?(v.onPointerEnter=E=>{f.current.ignoreEmulated&&E.pointerType==="mouse"||I(E,E.pointerType)},v.onPointerLeave=E=>{!u&&E.currentTarget instanceof Element&&E.currentTarget.contains(E.target)&&S(E,E.pointerType)}):ce&&(v.onTouchStart=()=>{a.ignoreEmulatedMouseEvents=!0},v.onMouseEnter=E=>{!a.ignoreEmulatedMouseEvents&&!f.current.ignoreEmulated&&I(E.nativeEvent,"mouse"),a.ignoreEmulatedMouseEvents=!1},v.onMouseLeave=E=>{!u&&E.currentTarget.contains(E.target)&&S(E.nativeEvent,"mouse")}),v},[u,I,S,a]);return(0,W.useEffect)(()=>{u&&a.isHovered&&S({currentTarget:a.target},a.pointerType)},[u,S,a.isHovered,a.pointerType,a.target]),{hoverProps:A,isHovered:i}}var At={prefix:String(Math.round(Math.random()*1e10)),current:0},Oe=new Map,Le=typeof FinalizationRegistry<"u"?new FinalizationRegistry(e=>{Oe.delete(e)}):null;var G=U(O(),1);function Xo(e={}){let{prefix:n="necto",defaultId:r}=e,[o,u]=(0,G.useState)(()=>r),i=(0,G.useRef)(null),c=(0,G.useRef)({}),f=(()=>{if(r)return r;let a=typeof G.default.useId=="function"?(0,G.useId)():String(++At.current);return`${ce?n:`${n}${At.prefix}`}-${a}`})();return(0,G.useEffect)(()=>{if(typeof window<"u"&&window.document?.createElement){let a=Oe.get(f)||[],m={current:i.current};a.some(P=>P===m)||Oe.set(f,[...a,m])}return Le&&Le.register(c.current,f),()=>{Le&&Le.unregister(c.current),Oe.delete(f)}},[f]),(0,G.useEffect)(()=>{let a=i.current;a&&(u(a),i.current=null)},[]),f}function Rt(e){return{keyboardProps:e.isDisabled?{}:{onKeyDown:e.onKeyDown?St(n=>e.onKeyDown?.(n.nativeEvent)):void 0,onKeyUp:e.onKeyUp?St(n=>e.onKeyUp?.(n.nativeEvent)):void 0}}}var se=U(O(),1);function Mt(e={}){let{type:n="function"}=e,r=(0,se.useRef)(!1),[o,u]=(0,se.useState)(!1),i=(0,se.useCallback)(()=>r.current,[]);return(0,se.useEffect)(()=>(r.current=!0,u(!0),()=>{r.current=!1,u(!1)}),[]),n==="ref"?r:n==="boolean"?o:i}var L=U(O(),1);function j(e,n,r){return{type:e,pointerType:n,target:r.currentTarget??r.target,shiftKey:r.shiftKey,ctrlKey:r.ctrlKey,metaKey:r.metaKey,altKey:r.altKey}}function Zo(e={}){let{isDisabled:n,preventFocusOnPress:r,allowTextSelectionOnPress:o,ref:u,onPress:i,onPressStart:c,onPressEnd:f,onPressChange:a,onPressUp:m,onClick:P}=e,[g,I]=(0,L.useState)(!1),S=(0,L.useRef)(!1),A=(0,L.useRef)(null),v=(0,L.useRef)(!1),E=(0,L.useCallback)(p=>{g!==p&&(I(p),a?.(p))},[g,a]),D=(0,L.useCallback)(p=>{if(!v.current)return;let F=A.current&&A.current instanceof Node&&p.target instanceof Node&&A.current.contains(p.target);if(v.current=!1,E(!1),!o&&A.current instanceof HTMLElement&&te(A.current),p.target){let z={...j("pressend","mouse",p),target:p.target};f?.(z),m?.(z),F&&i?.(z)}},[f,m,i,E,o]),V=(0,L.useCallback)(p=>{if(n||p.button!==0||S.current)return;r&&p.preventDefault(),o||$e(p.currentTarget),v.current=!0,A.current=p.currentTarget,E(!0);let F=j("pressstart","mouse",p);c?.(F),window.addEventListener("mouseup",D,{once:!0})},[n,r,o,c,E,D]),B=(0,L.useCallback)(p=>{if(n||p.button!==0||!v.current)return;v.current=!1,E(!1),!o&&p.currentTarget instanceof HTMLElement&&te(p.currentTarget);let F=j("pressend","mouse",p);f?.(F),m?.(F),p.currentTarget instanceof Node&&p.currentTarget.contains(p.target)&&i?.(j("press","mouse",p))},[n,i,f,m,E,o]),$=(0,L.useCallback)(p=>{g&&(E(!1),f?.(j("pressend","mouse",p)),!o&&p.currentTarget instanceof HTMLElement&&te(p.currentTarget))},[g,E,f,o]),le=(0,L.useCallback)(p=>{v.current&&!g&&(E(!0),c?.(j("pressstart","mouse",p)))},[g,c,E]),H=(0,L.useCallback)(p=>{if(!v.current)return;v.current=!1,E(!1),!o&&A.current instanceof HTMLElement&&te(A.current);let F={...j("pressend","touch",p),target:p.target};f?.(F),m?.(F)},[f,m,E,o]),q=(0,L.useCallback)(p=>{if(!v.current)return;v.current=!1,E(!1),!o&&A.current instanceof HTMLElement&&te(A.current);let F={...j("pressend","touch",p),target:p.target};f?.(F)},[f,E,o]),Ae=(0,L.useCallback)(p=>{n||(o||$e(p.currentTarget),S.current=!0,setTimeout(()=>{S.current=!1},100),v.current=!0,A.current=p.currentTarget,E(!0),c?.(j("pressstart","touch",p)),window.addEventListener("touchend",H,{once:!0}),window.addEventListener("touchcancel",q,{once:!0}))},[n,c,E,o,H,q]),x=(0,L.useCallback)(p=>{if(n||!v.current)return;v.current=!1,E(!1),!o&&p.currentTarget instanceof HTMLElement&&te(p.currentTarget);let F=j("pressend","touch",p);f?.(F),m?.(F),p.currentTarget instanceof Node&&p.currentTarget.contains(p.target)&&i?.(j("press","touch",p))},[n,i,f,m,E,o]),Me=(0,L.useCallback)(p=>{if(n)return;(p.key==="Enter"||p.key===" ")&&!g&&(p.key===" "&&p.preventDefault(),o||$e(),E(!0),v.current=!0,c?.(j("pressstart","keyboard",p)))},[n,g,c,E,o]),ie=(0,L.useCallback)(p=>{if(n)return;if((p.key==="Enter"||p.key===" ")&&g){E(!1),v.current=!1,o||te();let z=j("pressend","keyboard",p);f?.(z),m?.(j("pressup","keyboard",p)),i?.(j("press","keyboard",p))}},[n,g,i,f,m,E,o]),Q=(0,L.useCallback)(p=>{if(n){p.preventDefault();return}S.current||P?.(p)},[n,P]);(0,L.useEffect)(()=>()=>{window.removeEventListener("mouseup",D),window.removeEventListener("touchend",H),window.removeEventListener("touchcancel",q)},[D,H,q]);let fe=(0,L.useMemo)(()=>({onMouseDown:V,onMouseUp:B,onMouseLeave:$,onMouseEnter:le,onTouchStart:Ae,onTouchEnd:x,onKeyDown:Me,onKeyUp:ie,onClick:Q}),[V,B,$,le,Ae,x,Me,ie,Q]);return(0,L.useEffect)(()=>{let p=u?.current;p&&p instanceof ee(p).Element&&ee(p).getComputedStyle(p).touchAction==="auto"&&(p.style.touchAction="pan-x pan-y pinch-zoom")},[u]),{pressProps:fe,isPressed:g}}var yr=U(O(),1);function Jo(e){let{className:n,style:r,children:o,defaultClassName:u="necto",defaultChildren:i,defaultStyle:c,values:f}=e;return(0,yr.useMemo)(()=>{let a=typeof n=="function"?n({...f,defaultClassName:u}):`${u} ${n}`,m=typeof r=="function"?r({...f,defaultStyle:c||{}}):{...c,...r},P=typeof o=="function"?o({...f,defaultChildren:i}):o??i;return{className:a,style:m,children:P}},[n,r,o,u,i,c,f])}var vr=U(O(),1);function ft(e){let{context:n,slot:r}=e,o=(0,vr.useContext)(n);if(r===null)return null;if(o&&typeof o=="object"&&"slots"in o&&o.slots){let u=r||Symbol("default");if(!o.slots[u]){let i=new Intl.ListFormat().format(Object.keys(o.slots).map(f=>`"${f}"`)),c=r?`Invalid slot name: "${r}". This slot is not recognized. Please refer to the component's documentation for valid slot names.`:"A slot prop is required. You must provide a valid slot name to render content in this area.";throw new Error(`${c} Valid slot names are ${i}.`)}return o.slots[u]}return o}var gr=U(O(),1);function _t(e={}){let{ref:n,context:r}=e;(typeof document<"u"?gr.useLayoutEffect:()=>{})(()=>{if(r&&r.ref&&n)return r.ref.current=n.current,()=>{r.ref&&(r.ref.current=null)}})}var ge=U(O(),1);function Re(e){let{onBlur:n}=e,r=(0,ge.useRef)({isFocused:!1,observer:null});(0,ge.useLayoutEffect)(()=>{let u=r.current;return()=>{u.observer&&(u.observer.disconnect(),u.observer=null)}},[]);let o=We(u=>{n?.(u)});return(0,ge.useCallback)(u=>{if(u.target instanceof HTMLButtonElement||u.target instanceof HTMLInputElement||u.target instanceof HTMLTextAreaElement||u.target instanceof HTMLSelectElement){r.current.isFocused=!0;let i=u.target,c=f=>{if(r.current.isFocused=!1,i.disabled){let a=Xe(f);o(a)}r.current.observer&&(r.current.observer.disconnect(),r.current.observer=null)};i.addEventListener("focusout",c,{once:!0}),r.current.observer=new MutationObserver(()=>{if(r.current.isFocused&&i.disabled){r.current.observer?.disconnect();let f=i===document.activeElement?null:document.activeElement;i.dispatchEvent(new FocusEvent("blur",{relatedTarget:f})),i.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:f}))}}),r.current.observer.observe(i,{attributes:!0,attributeFilter:["disabled"]})}},[o])}var ue=U(O(),1);function We(e){let n=(0,ue.useRef)(e);return(typeof window<"u"?ue.useLayoutEffect:ue.useEffect)(()=>{n.current=e},[e]),(0,ue.useCallback)((...r)=>n.current(...r),[])}var Ze=U(O(),1);function fi(e){let n=Mt(),[r,o]=(0,Ze.useState)(!1);return(0,Ze.useEffect)(()=>{n()&&o(!!e())},[e,n]),r}})();
|
|
14
|
+
/*! Bundled license information:
|
|
15
|
+
|
|
16
|
+
react/cjs/react.production.js:
|
|
17
|
+
(**
|
|
18
|
+
* @license React
|
|
19
|
+
* react.production.js
|
|
20
|
+
*
|
|
21
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
22
|
+
*
|
|
23
|
+
* This source code is licensed under the MIT license found in the
|
|
24
|
+
* LICENSE file in the root directory of this source tree.
|
|
25
|
+
*)
|
|
26
|
+
|
|
27
|
+
react/cjs/react.development.js:
|
|
28
|
+
(**
|
|
29
|
+
* @license React
|
|
30
|
+
* react.development.js
|
|
31
|
+
*
|
|
32
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
33
|
+
*
|
|
34
|
+
* This source code is licensed under the MIT license found in the
|
|
35
|
+
* LICENSE file in the root directory of this source tree.
|
|
36
|
+
*)
|
|
37
|
+
*/
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Corinvo, LLC. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
"use strict";var e=require("react");let t=e.createContext({});function n(n="general",r=!1){return(e.useContext(t)||{})[n]??r}function r(t){let n=e.useRef(t);return("undefined"!=typeof document?e.useLayoutEffect:()=>{})((()=>{n.current=t}),[t]),e.useCallback(((...e)=>n.current(...e)),[])}function o(e){return e.nativeEvent=e,e.isDefaultPrevented=()=>e.defaultPrevented,e.isPropagationStopped=()=>e.cancelBubble,e.persist=()=>{},e}function u(t){let n=e.useRef({isFocused:!1,observer:null});e.useLayoutEffect((()=>{let e=n.current;return()=>{e.observer&&(e.observer.disconnect(),e.observer=null)}}),[]);let u=r((e=>{t?.(e)}));return e.useCallback((e=>{if(e.target instanceof HTMLButtonElement||e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement||e.target instanceof HTMLSelectElement){n.current.isFocused=!0;let t=e.target;t.addEventListener("focusout",(e=>{n.current.isFocused=!1,t.disabled&&u(o(e)),n.current.observer&&(n.current.observer.disconnect(),n.current.observer=null)}),{once:!0}),n.current.observer=new MutationObserver((()=>{if(n.current.isFocused&&t.disabled){n.current.observer?.disconnect();let e=t===document.activeElement?null:document.activeElement;t.dispatchEvent(new FocusEvent("blur",{relatedTarget:e})),t.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:e}))}})),n.current.observer.observe(t,{attributes:!0,attributeFilter:["disabled"]})}}),[u])}function i(e){return function(e){return null!==e&&"object"==typeof e&&"nodeType"in e&&"number"==typeof e.nodeType}(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in e}function s(e,t,n=!0){if(!e||!t)return!1;if(!n)return e.contains(t);let r=t;for(;r;){if(r===e)return!0;r=r instanceof Element&&"SLOT"===r.tagName&&r.assignedSlot?r.assignedSlot.parentNode:i(r)?r.host:r.parentNode}return!1}var a=(e=document,t=!0)=>{if(!t)return e.activeElement;let n=e.activeElement;for(;n&&"shadowRoot"in n&&n.shadowRoot?.activeElement;)n=n.shadowRoot.activeElement;return n};function c(e,t=!0){return t&&e.target.shadowRoot&&e.composedPath?e.composedPath()[0]:e.target}var l=e=>e?.ownerDocument??document,d=e=>e&&"window"in e&&e.window===e?e:l(e).defaultView||window;function f(t){let{isDisabled:n,onFocus:r,onBlur:o,onFocusChange:i}=t,s=e.useCallback(((e,t)=>{e?(r?.(t),i?.(!0)):(o?.(t),i?.(!1))}),[r,o,i]),d=e.useCallback((e=>{e.target===e.currentTarget&&s(!1,e)}),[s]),f=u(d),p=e.useCallback((e=>{let t=l(e.target),n=t?a(t):a();e.target===e.currentTarget&&n===c(e.nativeEvent)&&(s(!0,e),f(e))}),[s,f]);return{focusProps:{...n?{}:{onFocus:p,onBlur:d}}}}function p(){let t=e.useRef(new Map),n=e.useCallback(((e,n,r,o)=>{let u="object"==typeof o&&o?.once?(...e)=>{t.current.delete(r),r(...e)}:r;t.current.set(r,{type:n,eventTarget:e,options:o}),e.addEventListener(n,u,o)}),[]),r=e.useCallback(((e,n,r,o)=>{let u=t.current.get(r),i=u?.options?.once?u.fn:r;e.removeEventListener(n,i,o),t.current.delete(r)}),[]),o=e.useCallback((()=>{t.current.forEach((({type:e,eventTarget:t,options:n},r)=>{t.removeEventListener(e,r,n)})),t.current.clear()}),[]);return e.useEffect((()=>()=>o()),[o]),{addGlobalListener:n,removeGlobalListener:r,removeAllGlobalListeners:o}}function v(t){let{isDisabled:n,onFocusWithin:r,onBlurWithin:i,onFocusWithinChange:d}=t,f=e.useRef({isFocusWithin:!1}),{addGlobalListener:v,removeAllGlobalListeners:E}=p(),g=e.useCallback((e=>{e.currentTarget.contains(e.target)&&f.current.isFocusWithin&&!e.currentTarget.contains(e.relatedTarget)&&(f.current.isFocusWithin=!1,E(),i&&i(e),d&&d(!1))}),[i,d,f,E]),b=u(g),m=e.useCallback((e=>{if(!e.currentTarget.contains(e.target))return;let t=l(e.target),n=a(t);if(!f.current.isFocusWithin&&n==c(e.nativeEvent)){r&&r(e),d&&d(!0),f.current.isFocusWithin=!0,b(e);let n=e.currentTarget;v(t,"focus",(e=>{if(f.current.isFocusWithin&&!s(n,e.target)){let r=new t.defaultView.FocusEvent("blur",{relatedTarget:e.target});Object.defineProperty(r,"target",{value:n}),Object.defineProperty(r,"currentTarget",{value:n}),g(o(r))}}),{capture:!0})}}),[r,d,b,v,g]);return n?{focusWithinProps:{onFocus:void 0,onBlur:void 0}}:{focusWithinProps:{onFocus:m,onBlur:g}}}var E=function(){return function(e){return typeof window<"u"&&null!=window.navigator&&e.test(window.navigator.userAgentData?.platform||window.navigator.platform)}(/^Mac/i)},g=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),b={Tab:!0,Escape:!0};let m=new Map,y=!1,T=!1,h=null,w=new Set;function L(e,t){w.forEach((n=>n(e,t)))}function F(e){e.metaKey||!E()&&e.altKey||e.ctrlKey||["Control","Shift","Meta"].includes(e.key)||(y=!0,h="keyboard",L("keyboard",e))}function M(e){["mousedown","pointerdown"].includes(e.type)&&(y=!0,h="pointer",L("pointer",e))}function C(e){![window,document].includes(e.target)&&e.isTrusted&&(y||T)&&(y||T||(h="virtual",L("virtual",e)),y=!1,T=!1)}function H(){y=!1,T=!0}function x(e){let t=d(e),n=l(e);if("undefined"==typeof window||"undefined"==typeof document||m.has(t))return;let r=t.HTMLElement.prototype.focus;t.HTMLElement.prototype.focus=function(...e){y=!0,r.apply(this,e)},n.addEventListener("keydown",F,!0),n.addEventListener("click",M,!0),t.addEventListener("focus",C,!0),t.addEventListener("blur",H,!1),"undefined"!=typeof PointerEvent&&n.addEventListener("pointerdown",M,!0),m.set(t,{focus:r})}function P(t,n,r){x(),e.useEffect((()=>{let e=(e,n)=>{(function(e,t,n){if(!n||!("target"in n)||!n.target)return!1;let r=l(n.target),o=d(n.target),u=typeof window<"u"?o.HTMLInputElement:HTMLInputElement,i=typeof window<"u"?o.HTMLTextAreaElement:HTMLTextAreaElement,s=typeof window<"u"?o.HTMLElement:HTMLElement,a=typeof window<"u"?o.KeyboardEvent:KeyboardEvent,c=r.activeElement;return!((e=e||c instanceof u&&!g.has(c.type)||c instanceof i||c instanceof s&&c.isContentEditable)&&"keyboard"===t&&n instanceof a&&!b[n.key])})(!!r?.isTextInput,e,n)&&t("pointer"!==h)};return w.add(e),()=>{w.delete(e)}}),n)}let k=!1,D=0;function S(){k=!0,setTimeout((()=>{k=!1}),50)}function W(e){"touch"===e.pointerType&&S()}function N(){if("undefined"!=typeof document)return"undefined"!=typeof PointerEvent?document.addEventListener("pointerup",W):"test"===process.env.NODE_ENV&&document.addEventListener("touchend",S),D++,()=>{--D>0||("undefined"!=typeof PointerEvent?document.removeEventListener("pointerup",W):"test"===process.env.NODE_ENV&&document.removeEventListener("touchend",S))}}exports.DisabledProvider=function({value:n,children:r}){return e.createElement(t.Provider,{value:n||{}},r)},exports.addWindowFocusTracking=function(e){let t=l(e);return"loading"!==t.readyState?x(e):t.addEventListener("DOMContentLoaded",(()=>x(e))),()=>function(e){let t=d(e),n=l(e);if(!m.has(t))return;let{focus:r}=m.get(t);t.HTMLElement.prototype.focus=r,n.removeEventListener("keydown",F,!0),n.removeEventListener("click",M,!0),t.removeEventListener("focus",C,!0),t.removeEventListener("blur",H,!1),m.delete(t)}(e)},exports.createSyntheticEvent=o,exports.getInteractionModality=function(){return h},exports.useDisabled=n,exports.useDisabledFlags=function(){return e.useContext(t)||{}},exports.useDisabledProps=function(t="general",r={}){let o=n(t);return e.useMemo((()=>{let e={...r};return o&&(e={...e,..."function"==typeof r.onClick||"function"==typeof r.onChange?{disabled:o}:{},"aria-disabled":o}),e}),[o,r])},exports.useEffectEvent=r,exports.useFocus=f,exports.useFocusRing=function({within:t=!1,isTextInput:n=!1,autoFocus:r=!1}={}){let o=e.useRef({isFocused:!1,isFocusVisible:r||!0}),[u,i]=e.useState(!1),[s,a]=e.useState((()=>o.current.isFocused&&o.current.isFocusVisible)),c=e.useCallback((()=>{a(o.current.isFocused&&o.current.isFocusVisible)}),[]),l=e.useCallback((e=>{o.current.isFocused=e,i(e),c()}),[c]);P((e=>{o.current.isFocusVisible=e,c()}),[],{isTextInput:n});let{focusProps:d}=f({isDisabled:t,onFocusChange:l}),{focusWithinProps:p}=v({isDisabled:!t,onFocusWithinChange:l});return{isFocused:u,isFocusVisible:s,focusProps:t?p:d}},exports.useFocusVisibleListener=P,exports.useFocusWithin=v,exports.useGlobalListeners=p,exports.useHover=function(t){let{onHoverStart:n,onHoverChange:r,onHoverEnd:o,isDisabled:u}=t,[i,a]=e.useState(!1),c=e.useRef({isHovered:!1,ignoreEmulatedMouseEvents:!1,pointerType:"",target:null}).current;e.useEffect(N,[]);let{addGlobalListener:d,removeAllGlobalListeners:f}=p(),{hoverProps:v,triggerHoverEnd:E}=e.useMemo((()=>{let e=(e,o)=>{if(c.pointerType=o,u||"touch"===o||c.isHovered||!e.currentTarget.contains(e.target))return;c.isHovered=!0;let i=e.currentTarget;c.target=i,d(l(e.target),"pointerover",(e=>{c.isHovered&&c.target&&!s(c.target,e.target)&&t(e,e.pointerType)}),{capture:!0}),n&&n({type:"hoverstart",target:i,pointerType:o}),r&&r(!0),a(!0)},t=(e,t)=>{let n=c.target;c.pointerType="",c.target=null,"touch"!==t&&c.isHovered&&n&&(c.isHovered=!1,f(),o&&o({type:"hoverend",target:n,pointerType:t}),r&&r(!1),a(!1))},i={};return"undefined"!=typeof PointerEvent?(i.onPointerEnter=t=>{k&&"mouse"===t.pointerType||e(t,t.pointerType)},i.onPointerLeave=e=>{!u&&e.currentTarget.contains(e.target)&&t(e,e.pointerType)}):"test"===process.env.NODE_ENV&&(i.onTouchStart=()=>{c.ignoreEmulatedMouseEvents=!0},i.onMouseEnter=t=>{c.ignoreEmulatedMouseEvents||k||e(t,"mouse"),c.ignoreEmulatedMouseEvents=!1},i.onMouseLeave=e=>{!u&&e.currentTarget.contains(e.target)&&t(e,"mouse")}),{hoverProps:i,triggerHoverEnd:t}}),[n,r,o,u,c,d,f]);return e.useEffect((()=>{u&&E({currentTarget:c.target},c.pointerType)}),[u]),{hoverProps:v,isHovered:i}},exports.useSyntheticBlurEvent=u;
|
|
10
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
import{useRef as De,useCallback as He}from"react";import{mergeProps as Oe}from"@necto/mergers";function Ve({props:t,ref:e,context:n}){let o=j({context:n,slot:t.slot})||{},{ref:r=null,...u}=o,f=De(null),c=He(a=>{f.current=a,typeof e=="function"?e(a):e&&(e.current=a),typeof r=="function"?r(a):r&&typeof r=="object"&&(r.current=a)},[e,r]),i=Oe(u,t);return"style"in u&&u.style&&"style"in t&&t.style&&(typeof u.style=="function"||typeof t.style=="function"?i.style=a=>{let m=typeof u.style=="function"?u.style(a):u.style,d={...a.defaultStyle,...m},v=typeof t.style=="function"?t.style({...a,defaultStyle:d}):t.style;return{...d,...v}}:i.style={...u.style,...t.style}),[i,c]}import{useContext as ke}from"react";import{DisabledContext as Be}from"@necto-react/contexts";function A(t={}){let{type:e="general",defaultFallback:n=!1}=t;return(ke(Be)||{})[e]??n}import{useMemo as Ie}from"react";function Ke(t={}){let{type:e="general",extraProps:n={}}=t,o=A({type:e,defaultFallback:!1});return Ie(()=>{let r={...n};return o&&(r={...r,...typeof n.onClick=="function"||typeof n.onChange=="function"?{disabled:o}:{},"aria-disabled":o}),r},[o,n])}import{useRef as ae,useState as G,useCallback as We,useEffect as je}from"react";function Ae(t={}){let{partialVisibility:e=!1,threshold:n=0,rootMargin:o="0px",root:r=null,active:u=!0,once:f=!1,onChange:c}=t,[i,a]=G(null),[m,d]=G(!1),[v,y]=G(null),E=ae(!1),p=ae(null),l=K(T=>{let h=T[0],M=h.isIntersecting,B={isIntersecting:h.isIntersecting,intersectionRatio:h.intersectionRatio,intersectionRect:h.intersectionRect,boundingClientRect:h.boundingClientRect,rootBounds:h.rootBounds,time:h.time};y(B),d(R=>f&&E.current?!0:M&&f?(E.current=!0,R!==!0&&c&&c(!0),!0):R!==M?(c&&c(M),M):R)}),F=We(T=>{a(T)},[]);return je(()=>{if(!u||!i)return;let T;return e===!0?T=[0,.1,.25,.5,.75,1]:typeof e=="string"?T=.01:T=n,p.current=new IntersectionObserver(l,{root:r,rootMargin:o,threshold:T}),p.current.observe(i),()=>{p.current&&p.current.disconnect()}},[u,i,r,o,n,e]),[F,m,v]}import{useCallback as N}from"react";import{getOwnerDocument as Ge,getEventTarget as Ne,getActiveElement as le}from"@necto/dom";function S(t={}){let{isDisabled:e,onFocus:n,onBlur:o,onFocusChange:r}=t,u=N((a,m)=>{a?(n?.(m),r?.(!0)):(o?.(m),r?.(!1))},[n,o,r]),f=N(a=>{a.target===a.currentTarget&&u(!1,a)},[u]),c=C({onBlur:f}),i=N(a=>{let m=Ge(a.target),d=m?le(m):le();a.target===a.currentTarget&&d===Ne(a.nativeEvent)&&(u(!0,a),c(a))},[u,c]);return{focusProps:{...e?{}:{onFocus:i,onBlur:f}}}}import{getOwnerDocument as $e,getActiveElement as fe,runAfterTransition as ze,focusWithoutScrolling as pe}from"@necto/dom";import{mergeProps as de}from"@necto/mergers";import{useEffect as _e,useRef as qe,useContext as Ye}from"react";import{FocusableContext as Je}from"@necto-react/contexts";function Qe(t,e){let{autoFocus:n,isDisabled:o,excludeFromTabOrder:r}=t,{focusProps:u}=S(t),{keyboardProps:f}=$(t),c=Ye(Je)||{},i=qe(n);z({context:c,ref:e});let{ref:a,...m}=c,d=$e(e.current),v=fe(d);_e(()=>{if(i.current&&e.current)if(D()==="virtual"){let E=v;ze(()=>{fe(d)===E&&e.current?.isConnected&&pe(e.current)})}else pe(e.current);i.current=!1},[e]);let y=r?-1:0;return o&&(y=void 0),{focusableProps:de({...de(u??{},f),tabIndex:y},o?{}:m)}}import{useRef as Xe,useState as me,useCallback as ye}from"react";var Ze=null;function et(t={}){let{within:e=!1,isTextInput:n=!1,autoFocus:o=!1}=t,r=Xe({isFocused:o,isFocusVisible:o||Ze!=="pointer"}),[u,f]=me(o),[c,i]=me(()=>r.current.isFocused&&r.current.isFocusVisible),a=ye(()=>{i(r.current.isFocused&&r.current.isFocusVisible)},[]),m=ye(y=>{r.current.isFocused=y,f(y),a()},[a]);H({fn:y=>{r.current.isFocusVisible=y,a()},deps:[],opts:{isTextInput:n}});let{focusProps:d={}}=S({isDisabled:e,onFocusChange:m})||{},{focusWithinProps:v={}}=_({isDisabled:!e,onFocusWithinChange:m})||{};return{isFocused:u,isFocusVisible:c,focusProps:e?v:d}}import{useState as tt}from"react";function nt(t={}){let{isTextInput:e,autoFocus:n}=t,[o,r]=tt(n||D()!=="pointer");return H({fn:u=>r(u),deps:[e],opts:{isTextInput:e}}),{isFocusVisible:o}}var L=new Map,W=new Set,Ee=!1,q=null,ve=!1,g={get hasEventBeforeFocus(){return Ee},set hasEventBeforeFocus(t){Ee=t},get hasBlurredWindowRecently(){return ve},set hasBlurredWindowRecently(t){ve=t},get currentModality(){return q},set currentModality(t){q=t}};function D(){return q}import{isMacOS as rt}from"std-env";import{useEffect as ot}from"react";import{isKeyboardFocusEvent as st}from"@necto-react/helpers";import{getOwnerDocument as be,getOwnerWindow as ge}from"@necto/dom";function J(t,e){W.forEach(n=>n(t,e))}function ut(t){return!(t.metaKey||rt&&t.altKey||t.ctrlKey||["Control","Shift","Meta"].includes(t.key))}function xe(t){ut(t)&&(g.hasEventBeforeFocus=!0,g.currentModality="keyboard",J("keyboard",t))}function Y(t){["mousedown","pointerdown"].includes(t.type)&&(g.hasEventBeforeFocus=!0,g.currentModality="pointer",J("pointer",t))}function Fe(t){[window,document].includes(t.target)||!t.isTrusted||!g.hasEventBeforeFocus&&!g.hasBlurredWindowRecently||(!g.hasEventBeforeFocus&&!g.hasBlurredWindowRecently&&(g.currentModality="virtual",J("virtual",t)),g.hasEventBeforeFocus=!1,g.hasBlurredWindowRecently=!1)}function Pe(){g.hasEventBeforeFocus=!1,g.hasBlurredWindowRecently=!0}function it(t){let e=ge(t),n=be(t);if(typeof window>"u"||typeof document>"u"||L.has(e))return;let o=e.HTMLElement.prototype.focus;e.HTMLElement.prototype.focus=function(...r){g.hasEventBeforeFocus=!0,o.apply(this,r)},n.addEventListener("keydown",xe,!0),n.addEventListener("click",Y,!0),e.addEventListener("focus",Fe,!0),e.addEventListener("blur",Pe,!1),typeof PointerEvent<"u"&&n.addEventListener("pointerdown",Y,!0),L.set(e,{focus:o})}function ct(t){let e=ge(t),n=be(t);if(!L.has(e))return;let{focus:o}=L.get(e);e.HTMLElement.prototype.focus=o,n.removeEventListener("keydown",xe,!0),n.removeEventListener("click",Y,!0),e.removeEventListener("focus",Fe,!0),e.removeEventListener("blur",Pe,!1),L.delete(e)}function H(t){let{fn:e,deps:n,opts:o}=t;typeof window>"u"||typeof document>"u"||(it(),ot(()=>{let r=(u,f)=>{st(!!o?.isTextInput,u,f)&&e(g.currentModality!=="pointer")};return W.add(r),()=>{W.delete(r),ct()}},n))}import{useCallback as Te,useRef as at}from"react";import{createSyntheticEvent as lt}from"@necto-react/helpers";import{getOwnerDocument as ft,getActiveElement as pt,getEventTarget as dt,nodeContains as mt}from"@necto/dom";function _(t){let{isDisabled:e,onFocusWithin:n,onBlurWithin:o,onFocusWithinChange:r}=t,u=at({isFocusWithin:!1}),{addGlobalListener:f,removeAllGlobalListeners:c}=O(),i=Te(d=>{d.currentTarget.contains(d.target)&&u.current.isFocusWithin&&!d.currentTarget.contains(d.relatedTarget)&&(u.current.isFocusWithin=!1,c(),o&&o(d),r&&r(!1))},[o,r,c]),a=C({onBlur:i}),m=Te(d=>{if(!d.currentTarget.contains(d.target))return;let v=ft(d.target),y=pt(v);if(!u.current.isFocusWithin&&y===dt(d.nativeEvent)){n&&n(d),r&&r(!0),u.current.isFocusWithin=!0,a(d);let E=d.currentTarget;f(v,"focus",p=>{if(u.current.isFocusWithin&&!mt(E,p.target)&&v.defaultView&&typeof v.defaultView.FocusEvent=="function"){let l=new v.defaultView.FocusEvent("blur",{relatedTarget:p.target});Object.defineProperty(l,"target",{value:E}),Object.defineProperty(l,"currentTarget",{value:E});let F=lt(l);i(F)}},{capture:!0})}},[n,r,a,f,i]);return e?{focusWithinProps:{onFocus:void 0,onBlur:void 0}}:{focusWithinProps:{onFocus:m,onBlur:i}}}import{useRef as yt,useCallback as Q,useEffect as Et}from"react";function O(){let t=yt(new Map),e=Q((r,u,f,c)=>{let i=typeof c=="object"&&c?.once?(...a)=>{t.current.delete(f),f(...a)}:f;t.current.set(f,{type:u,eventTarget:r,options:c}),r.addEventListener(u,i,c)},[]),n=Q((r,u,f,c)=>{let i=t.current.get(f),a=i?.options?.once?i.fn:f;r.removeEventListener(u,a,c),t.current.delete(f)},[]),o=Q(()=>{t.current.forEach((r,u)=>{r.eventTarget.removeEventListener(r.type,u,r.options)}),t.current.clear()},[]);return Et(()=>()=>o(),[o]),{addGlobalListener:e,removeGlobalListener:n,removeAllGlobalListeners:o}}import{isTest as X}from"std-env";import{getOwnerDocument as vt,nodeContains as bt}from"@necto/dom";import{useRef as he,useState as gt,useCallback as Z,useEffect as Re,useMemo as xt}from"react";function Ft(t={}){let{onHoverStart:e,onHoverChange:n,onHoverEnd:o,isDisabled:r}=t,[u,f]=gt(!1),c=he({hoverCount:0,ignoreEmulated:!1}),i=he({isHovered:!1,ignoreEmulatedMouseEvents:!1,pointerType:"",target:null}).current,{addGlobalListener:a,removeAllGlobalListeners:m}=O(),d=Z(()=>{c.current.ignoreEmulated=!0,setTimeout(()=>{c.current.ignoreEmulated=!1},50)},[]);Re(()=>{let p=F=>{F.pointerType==="touch"&&d()};if(typeof document>"u")return;let l=c.current;return l.hoverCount++,typeof PointerEvent<"u"?document.addEventListener("pointerup",p):X&&document.addEventListener("touchend",d),()=>{l.hoverCount--,l.hoverCount===0&&(typeof PointerEvent<"u"?document.removeEventListener("pointerup",p):X&&document.removeEventListener("touchend",d))}},[d]);let v=Z((p,l)=>{r||l==="touch"||i.isHovered||!(p.currentTarget&&p.currentTarget.contains(p.target))||(i.isHovered=!0,i.pointerType=l,i.target=p.currentTarget,a(vt(p.target instanceof Element?p.target:null),"pointerover",F=>{i.isHovered&&i.target&&!bt(i.target,F.target)&&y(F,F.pointerType)},{capture:!0}),e?.({type:"hoverstart",target:p.currentTarget,pointerType:l}),n?.(!0),f(!0))},[r,e,n,a,i]),y=Z((p,l)=>{l==="touch"||!i.isHovered||!i.target||(i.isHovered=!1,i.pointerType="",i.target=null,m(),o?.({type:"hoverend",target:p.currentTarget,pointerType:l}),n?.(!1),f(!1))},[o,n,m,i.target,i]),E=xt(()=>{let p={};return typeof PointerEvent<"u"?(p.onPointerEnter=l=>{c.current.ignoreEmulated&&l.pointerType==="mouse"||v(l,l.pointerType)},p.onPointerLeave=l=>{!r&&l.currentTarget instanceof Element&&l.currentTarget.contains(l.target)&&y(l,l.pointerType)}):X&&(p.onTouchStart=()=>{i.ignoreEmulatedMouseEvents=!0},p.onMouseEnter=l=>{!i.ignoreEmulatedMouseEvents&&!c.current.ignoreEmulated&&v(l.nativeEvent,"mouse"),i.ignoreEmulatedMouseEvents=!1},p.onMouseLeave=l=>{!r&&l.currentTarget.contains(l.target)&&y(l.nativeEvent,"mouse")}),p},[r,v,y,i]);return Re(()=>{r&&i.isHovered&&y({currentTarget:i.target},i.pointerType)},[r,y,i.isHovered,i.pointerType,i.target]),{hoverProps:E,isHovered:u}}import{isTest as Pt}from"std-env";var ee={prefix:String(Math.round(Math.random()*1e10)),current:0},V=new Map,k=typeof FinalizationRegistry<"u"?new FinalizationRegistry(t=>{V.delete(t)}):null;import Tt,{useRef as Me,useState as ht,useEffect as Ue,useId as Rt}from"react";function Mt(t={}){let{prefix:e="necto",defaultId:n}=t,[o,r]=ht(()=>n),u=Me(null),f=Me({}),c=(()=>{if(n)return n;let i=typeof Tt.useId=="function"?Rt():String(++ee.current);return`${Pt?e:`${e}${ee.prefix}`}-${i}`})();return Ue(()=>{if(typeof window<"u"&&window.document?.createElement){let i=V.get(c)||[],a={current:u.current};i.some(m=>m===a)||V.set(c,[...i,a])}return k&&k.register(f.current,c),()=>{k&&k.unregister(f.current),V.delete(c)}},[c]),Ue(()=>{let i=u.current;i&&(r(i),u.current=null)},[]),c}import{createEventHandler as Le}from"@necto-react/helpers";function $(t){return{keyboardProps:t.isDisabled?{}:{onKeyDown:t.onKeyDown?Le(e=>t.onKeyDown?.(e.nativeEvent)):void 0,onKeyUp:t.onKeyUp?Le(e=>t.onKeyUp?.(e.nativeEvent)):void 0}}}import{useRef as Ut,useState as Lt,useCallback as wt,useEffect as St}from"react";function te(t={}){let{type:e="function"}=t,n=Ut(!1),[o,r]=Lt(!1),u=wt(()=>n.current,[]);return St(()=>(n.current=!0,r(!0),()=>{n.current=!1,r(!1)}),[]),e==="ref"?n:e==="boolean"?o:u}import{getOwnerWindow as we,disableTextSelection as ne,restoreTextSelection as U}from"@necto/dom";import{useState as Ct,useRef as re,useCallback as P,useEffect as Se,useMemo as Dt}from"react";function x(t,e,n){return{type:t,pointerType:e,target:n.currentTarget??n.target,shiftKey:n.shiftKey,ctrlKey:n.ctrlKey,metaKey:n.metaKey,altKey:n.altKey}}function Ht(t={}){let{isDisabled:e,preventFocusOnPress:n,allowTextSelectionOnPress:o,ref:r,onPress:u,onPressStart:f,onPressEnd:c,onPressChange:i,onPressUp:a,onClick:m}=t,[d,v]=Ct(!1),y=re(!1),E=re(null),p=re(!1),l=P(s=>{d!==s&&(v(s),i?.(s))},[d,i]),F=P(s=>{if(!p.current)return;let b=E.current&&E.current instanceof Node&&s.target instanceof Node&&E.current.contains(s.target);if(p.current=!1,l(!1),!o&&E.current instanceof HTMLElement&&U(E.current),s.target){let w={...x("pressend","mouse",s),target:s.target};c?.(w),a?.(w),b&&u?.(w)}},[c,a,u,l,o]),T=P(s=>{if(e||s.button!==0||y.current)return;n&&s.preventDefault(),o||ne(s.currentTarget),p.current=!0,E.current=s.currentTarget,l(!0);let b=x("pressstart","mouse",s);f?.(b),window.addEventListener("mouseup",F,{once:!0})},[e,n,o,f,l,F]),h=P(s=>{if(e||s.button!==0||!p.current)return;p.current=!1,l(!1),!o&&s.currentTarget instanceof HTMLElement&&U(s.currentTarget);let b=x("pressend","mouse",s);c?.(b),a?.(b),s.currentTarget instanceof Node&&s.currentTarget.contains(s.target)&&u?.(x("press","mouse",s))},[e,u,c,a,l,o]),M=P(s=>{d&&(l(!1),c?.(x("pressend","mouse",s)),!o&&s.currentTarget instanceof HTMLElement&&U(s.currentTarget))},[d,l,c,o]),B=P(s=>{p.current&&!d&&(l(!0),f?.(x("pressstart","mouse",s)))},[d,f,l]),R=P(s=>{if(!p.current)return;p.current=!1,l(!1),!o&&E.current instanceof HTMLElement&&U(E.current);let b={...x("pressend","touch",s),target:s.target};c?.(b),a?.(b)},[c,a,l,o]),I=P(s=>{if(!p.current)return;p.current=!1,l(!1),!o&&E.current instanceof HTMLElement&&U(E.current);let b={...x("pressend","touch",s),target:s.target};c?.(b)},[c,l,o]),oe=P(s=>{e||(o||ne(s.currentTarget),y.current=!0,setTimeout(()=>{y.current=!1},100),p.current=!0,E.current=s.currentTarget,l(!0),f?.(x("pressstart","touch",s)),window.addEventListener("touchend",R,{once:!0}),window.addEventListener("touchcancel",I,{once:!0}))},[e,f,l,o,R,I]),se=P(s=>{if(e||!p.current)return;p.current=!1,l(!1),!o&&s.currentTarget instanceof HTMLElement&&U(s.currentTarget);let b=x("pressend","touch",s);c?.(b),a?.(b),s.currentTarget instanceof Node&&s.currentTarget.contains(s.target)&&u?.(x("press","touch",s))},[e,u,c,a,l,o]),ue=P(s=>{if(e)return;(s.key==="Enter"||s.key===" ")&&!d&&(s.key===" "&&s.preventDefault(),o||ne(),l(!0),p.current=!0,f?.(x("pressstart","keyboard",s)))},[e,d,f,l,o]),ie=P(s=>{if(e)return;if((s.key==="Enter"||s.key===" ")&&d){l(!1),p.current=!1,o||U();let w=x("pressend","keyboard",s);c?.(w),a?.(x("pressup","keyboard",s)),u?.(x("press","keyboard",s))}},[e,d,u,c,a,l,o]),ce=P(s=>{if(e){s.preventDefault();return}y.current||m?.(s)},[e,m]);Se(()=>()=>{window.removeEventListener("mouseup",F),window.removeEventListener("touchend",R),window.removeEventListener("touchcancel",I)},[F,R,I]);let Ce=Dt(()=>({onMouseDown:T,onMouseUp:h,onMouseLeave:M,onMouseEnter:B,onTouchStart:oe,onTouchEnd:se,onKeyDown:ue,onKeyUp:ie,onClick:ce}),[T,h,M,B,oe,se,ue,ie,ce]);return Se(()=>{let s=r?.current;s&&s instanceof we(s).Element&&we(s).getComputedStyle(s).touchAction==="auto"&&(s.style.touchAction="pan-x pan-y pinch-zoom")},[r]),{pressProps:Ce,isPressed:d}}import{useMemo as Ot}from"react";function Vt(t){let{className:e,style:n,children:o,defaultClassName:r="necto",defaultChildren:u,defaultStyle:f,values:c}=t;return Ot(()=>{let i=typeof e=="function"?e({...c,defaultClassName:r}):`${r} ${e}`,a=typeof n=="function"?n({...c,defaultStyle:f||{}}):{...f,...n},m=typeof o=="function"?o({...c,defaultChildren:u}):o??u;return{className:i,style:a,children:m}},[e,n,o,r,u,f,c])}import{useContext as kt}from"react";function j(t){let{context:e,slot:n}=t,o=kt(e);if(n===null)return null;if(o&&typeof o=="object"&&"slots"in o&&o.slots){let r=n||Symbol("default");if(!o.slots[r]){let u=new Intl.ListFormat().format(Object.keys(o.slots).map(c=>`"${c}"`)),f=n?`Invalid slot name: "${n}". This slot is not recognized. Please refer to the component's documentation for valid slot names.`:"A slot prop is required. You must provide a valid slot name to render content in this area.";throw new Error(`${f} Valid slot names are ${u}.`)}return o.slots[r]}return o}import{useLayoutEffect as Bt}from"react";function z(t={}){let{ref:e,context:n}=t;(typeof document<"u"?Bt:()=>{})(()=>{if(n&&n.ref&&e)return n.ref.current=e.current,()=>{n.ref&&(n.ref.current=null)}})}import{createSyntheticEvent as It}from"@necto-react/helpers";import{useRef as Kt,useCallback as Wt,useLayoutEffect as jt}from"react";function C(t){let{onBlur:e}=t,n=Kt({isFocused:!1,observer:null});jt(()=>{let r=n.current;return()=>{r.observer&&(r.observer.disconnect(),r.observer=null)}},[]);let o=K(r=>{e?.(r)});return Wt(r=>{if(r.target instanceof HTMLButtonElement||r.target instanceof HTMLInputElement||r.target instanceof HTMLTextAreaElement||r.target instanceof HTMLSelectElement){n.current.isFocused=!0;let u=r.target,f=c=>{if(n.current.isFocused=!1,u.disabled){let i=It(c);o(i)}n.current.observer&&(n.current.observer.disconnect(),n.current.observer=null)};u.addEventListener("focusout",f,{once:!0}),n.current.observer=new MutationObserver(()=>{if(n.current.isFocused&&u.disabled){n.current.observer?.disconnect();let c=u===document.activeElement?null:document.activeElement;u.dispatchEvent(new FocusEvent("blur",{relatedTarget:c})),u.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:c}))}}),n.current.observer.observe(u,{attributes:!0,attributeFilter:["disabled"]})}},[o])}import{useCallback as At,useRef as Gt,useLayoutEffect as Nt,useEffect as $t}from"react";function K(t){let e=Gt(t);return(typeof window<"u"?Nt:$t)(()=>{e.current=t},[t]),At((...n)=>e.current(...n),[])}import{useEffect as zt,useState as _t}from"react";function oo(t){let e=te(),[n,o]=_t(!1);return zt(()=>{e()&&o(!!t())},[t,e]),n}export{D as getInteractionModality,Ve as useContextProps,A as useDisabled,Ke as useDisabledProps,K as useEffectEvent,Ae as useElementVisibility,S as useFocus,et as useFocusRing,nt as useFocusVisible,H as useFocusVisibleListener,_ as useFocusWithin,Qe as useFocusable,O as useGlobalListeners,Ft as useHover,Mt as useId,$ as useKeyboard,te as useMounted,Ht as usePress,Vt as useRenderer,j as useSlottedContext,oo as useSupported,z as useSyncContextRef,C as useSyntheticBlurEvent};
|
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@necto-react/hooks",
|
|
3
|
-
"version": "2.
|
|
4
|
-
"
|
|
3
|
+
"version": "2.11.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Necto's standard library for providing utility hooks for React applications.",
|
|
5
6
|
"files": [
|
|
6
7
|
"dist",
|
|
7
8
|
"README.md"
|
|
@@ -12,32 +13,33 @@
|
|
|
12
13
|
"author": "Corinvo OSS Team",
|
|
13
14
|
"license": "MIT",
|
|
14
15
|
"devDependencies": {
|
|
15
|
-
"@
|
|
16
|
-
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
17
|
-
"@rollup/plugin-swc": "^0.4.0",
|
|
18
|
-
"@rollup/plugin-terser": "^0.4.4",
|
|
19
|
-
"@swc/core": "^1.11.21",
|
|
16
|
+
"@testing-library/react": "^16.3.0",
|
|
20
17
|
"@types/node": "^22.14.1",
|
|
21
18
|
"@types/react": "^19.1.2",
|
|
22
19
|
"@types/react-dom": "^19.1.2",
|
|
20
|
+
"jsdom": "^26.1.0",
|
|
23
21
|
"npm-run-all": "^4.1.5",
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"rollup-plugin-dts": "^6.2.1",
|
|
27
|
-
"rollup-plugin-peer-deps-external": "^2.2.4"
|
|
22
|
+
"tsup": "^8.4.0",
|
|
23
|
+
"shared": "1.3.0"
|
|
28
24
|
},
|
|
29
25
|
"peerDependencies": {
|
|
30
|
-
"react": "^19.1.0"
|
|
31
|
-
"react-dom": "^19.1.0"
|
|
26
|
+
"react": "^19.1.0"
|
|
32
27
|
},
|
|
33
28
|
"dependencies": {
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"@necto
|
|
37
|
-
"@necto-react/helpers": "2.
|
|
29
|
+
"react-aria": "^3.39.0",
|
|
30
|
+
"std-env": "^3.9.0",
|
|
31
|
+
"@necto/types": "1.3.0",
|
|
32
|
+
"@necto-react/helpers": "2.4.0",
|
|
33
|
+
"@necto-react/contexts": "1.3.0",
|
|
34
|
+
"@necto-react/types": "2.3.0",
|
|
35
|
+
"@necto/dom": "1.4.0",
|
|
36
|
+
"@necto/id": "1.6.0",
|
|
37
|
+
"@necto/mergers": "1.4.0",
|
|
38
|
+
"@necto/platform": "1.4.0"
|
|
38
39
|
},
|
|
39
40
|
"scripts": {
|
|
40
|
-
"
|
|
41
|
-
"build
|
|
41
|
+
"test": "vitest",
|
|
42
|
+
"build": "tsup ./src/index.ts --minify --format esm,cjs,iife --dts",
|
|
43
|
+
"dev": "tsup ./src/index.ts --watch --minify --format esm,cjs,iife --dts"
|
|
42
44
|
}
|
|
43
45
|
}
|
package/dist/index.es.js
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright (c) Corinvo, LLC. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*
|
|
7
|
-
*/
|
|
8
|
-
|
|
9
|
-
import{createContext as e,useContext as t,useMemo as n,createElement as r,useRef as o,useCallback as i,useLayoutEffect as u,useEffect as s,useState as c}from"react";let a=e({});function d(){return t(a)||{}}function l(e="general",n=!1){return(t(a)||{})[e]??n}function f(e="general",t={}){let r=l(e);return n((()=>{let e={...t};return r&&(e={...e,..."function"==typeof t.onClick||"function"==typeof t.onChange?{disabled:r}:{},"aria-disabled":r}),e}),[r,t])}function v({value:e,children:t}){return r(a.Provider,{value:e||{}},t)}function p(e){let t=o(e);return("undefined"!=typeof document?u:()=>{})((()=>{t.current=e}),[e]),i(((...e)=>t.current(...e)),[])}function g(e){return e.nativeEvent=e,e.isDefaultPrevented=()=>e.defaultPrevented,e.isPropagationStopped=()=>e.cancelBubble,e.persist=()=>{},e}function E(e){let t=o({isFocused:!1,observer:null});u((()=>{let e=t.current;return()=>{e.observer&&(e.observer.disconnect(),e.observer=null)}}),[]);let n=p((t=>{e?.(t)}));return i((e=>{if(e.target instanceof HTMLButtonElement||e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement||e.target instanceof HTMLSelectElement){t.current.isFocused=!0;let r=e.target;r.addEventListener("focusout",(e=>{t.current.isFocused=!1,r.disabled&&n(g(e)),t.current.observer&&(t.current.observer.disconnect(),t.current.observer=null)}),{once:!0}),t.current.observer=new MutationObserver((()=>{if(t.current.isFocused&&r.disabled){t.current.observer?.disconnect();let e=r===document.activeElement?null:document.activeElement;r.dispatchEvent(new FocusEvent("blur",{relatedTarget:e})),r.dispatchEvent(new FocusEvent("focusout",{bubbles:!0,relatedTarget:e}))}})),t.current.observer.observe(r,{attributes:!0,attributeFilter:["disabled"]})}}),[n])}function m(e){return function(e){return null!==e&&"object"==typeof e&&"nodeType"in e&&"number"==typeof e.nodeType}(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in e}function b(e,t,n=!0){if(!e||!t)return!1;if(!n)return e.contains(t);let r=t;for(;r;){if(r===e)return!0;r=r instanceof Element&&"SLOT"===r.tagName&&r.assignedSlot?r.assignedSlot.parentNode:m(r)?r.host:r.parentNode}return!1}var T=(e=document,t=!0)=>{if(!t)return e.activeElement;let n=e.activeElement;for(;n&&"shadowRoot"in n&&n.shadowRoot?.activeElement;)n=n.shadowRoot.activeElement;return n};function y(e,t=!0){return t&&e.target.shadowRoot&&e.composedPath?e.composedPath()[0]:e.target}var h=e=>e?.ownerDocument??document,w=e=>e&&"window"in e&&e.window===e?e:h(e).defaultView||window;function L(e){let{isDisabled:t,onFocus:n,onBlur:r,onFocusChange:o}=e,u=i(((e,t)=>{e?(n?.(t),o?.(!0)):(r?.(t),o?.(!1))}),[n,r,o]),s=i((e=>{e.target===e.currentTarget&&u(!1,e)}),[u]),c=E(s),a=i((e=>{let t=h(e.target),n=t?T(t):T();e.target===e.currentTarget&&n===y(e.nativeEvent)&&(u(!0,e),c(e))}),[u,c]);return{focusProps:{...t?{}:{onFocus:a,onBlur:s}}}}function F(){let e=o(new Map),t=i(((t,n,r,o)=>{let i="object"==typeof o&&o?.once?(...t)=>{e.current.delete(r),r(...t)}:r;e.current.set(r,{type:n,eventTarget:t,options:o}),t.addEventListener(n,i,o)}),[]),n=i(((t,n,r,o)=>{let i=e.current.get(r),u=i?.options?.once?i.fn:r;t.removeEventListener(n,u,o),e.current.delete(r)}),[]),r=i((()=>{e.current.forEach((({type:e,eventTarget:t,options:n},r)=>{t.removeEventListener(e,r,n)})),e.current.clear()}),[]);return s((()=>()=>r()),[r]),{addGlobalListener:t,removeGlobalListener:n,removeAllGlobalListeners:r}}function M(e){let{isDisabled:t,onFocusWithin:n,onBlurWithin:r,onFocusWithinChange:u}=e,s=o({isFocusWithin:!1}),{addGlobalListener:c,removeAllGlobalListeners:a}=F(),d=i((e=>{e.currentTarget.contains(e.target)&&s.current.isFocusWithin&&!e.currentTarget.contains(e.relatedTarget)&&(s.current.isFocusWithin=!1,a(),r&&r(e),u&&u(!1))}),[r,u,s,a]),l=E(d),f=i((e=>{if(!e.currentTarget.contains(e.target))return;let t=h(e.target),r=T(t);if(!s.current.isFocusWithin&&r==y(e.nativeEvent)){n&&n(e),u&&u(!0),s.current.isFocusWithin=!0,l(e);let r=e.currentTarget;c(t,"focus",(e=>{if(s.current.isFocusWithin&&!b(r,e.target)){let n=new t.defaultView.FocusEvent("blur",{relatedTarget:e.target});Object.defineProperty(n,"target",{value:r}),Object.defineProperty(n,"currentTarget",{value:r}),d(g(n))}}),{capture:!0})}}),[n,u,l,c,d]);return t?{focusWithinProps:{onFocus:void 0,onBlur:void 0}}:{focusWithinProps:{onFocus:f,onBlur:d}}}var H=function(){return function(e){return typeof window<"u"&&null!=window.navigator&&e.test(window.navigator.userAgentData?.platform||window.navigator.platform)}(/^Mac/i)},P=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),D={Tab:!0,Escape:!0};let N=new Map,W=!1,k=!1,C=null,S=new Set;function O(e,t){S.forEach((n=>n(e,t)))}function V(e){e.metaKey||!H()&&e.altKey||e.ctrlKey||["Control","Shift","Meta"].includes(e.key)||(W=!0,C="keyboard",O("keyboard",e))}function x(e){["mousedown","pointerdown"].includes(e.type)&&(W=!0,C="pointer",O("pointer",e))}function A(e){![window,document].includes(e.target)&&e.isTrusted&&(W||k)&&(W||k||(C="virtual",O("virtual",e)),W=!1,k=!1)}function G(){W=!1,k=!0}function B(e){let t=w(e),n=h(e);if("undefined"==typeof window||"undefined"==typeof document||N.has(t))return;let r=t.HTMLElement.prototype.focus;t.HTMLElement.prototype.focus=function(...e){W=!0,r.apply(this,e)},n.addEventListener("keydown",V,!0),n.addEventListener("click",x,!0),t.addEventListener("focus",A,!0),t.addEventListener("blur",G,!1),"undefined"!=typeof PointerEvent&&n.addEventListener("pointerdown",x,!0),N.set(t,{focus:r})}function I(e){let t=h(e);return"loading"!==t.readyState?B(e):t.addEventListener("DOMContentLoaded",(()=>B(e))),()=>function(e){let t=w(e),n=h(e);if(!N.has(t))return;let{focus:r}=N.get(t);t.HTMLElement.prototype.focus=r,n.removeEventListener("keydown",V,!0),n.removeEventListener("click",x,!0),t.removeEventListener("focus",A,!0),t.removeEventListener("blur",G,!1),N.delete(t)}(e)}function K(){return C}function R(e,t,n){B(),s((()=>{let t=(t,r)=>{(function(e,t,n){if(!n||!("target"in n)||!n.target)return!1;let r=h(n.target),o=w(n.target),i=typeof window<"u"?o.HTMLInputElement:HTMLInputElement,u=typeof window<"u"?o.HTMLTextAreaElement:HTMLTextAreaElement,s=typeof window<"u"?o.HTMLElement:HTMLElement,c=typeof window<"u"?o.KeyboardEvent:KeyboardEvent,a=r.activeElement;return!((e=e||a instanceof i&&!P.has(a.type)||a instanceof u||a instanceof s&&a.isContentEditable)&&"keyboard"===t&&n instanceof c&&!D[n.key])})(!!n?.isTextInput,t,r)&&e("pointer"!==C)};return S.add(t),()=>{S.delete(t)}}),t)}function _({within:e=!1,isTextInput:t=!1,autoFocus:n=!1}={}){let r=o({isFocused:!1,isFocusVisible:n||!0}),[u,s]=c(!1),[a,d]=c((()=>r.current.isFocused&&r.current.isFocusVisible)),l=i((()=>{d(r.current.isFocused&&r.current.isFocusVisible)}),[]),f=i((e=>{r.current.isFocused=e,s(e),l()}),[l]);R((e=>{r.current.isFocusVisible=e,l()}),[],{isTextInput:t});let{focusProps:v}=L({isDisabled:e,onFocusChange:f}),{focusWithinProps:p}=M({isDisabled:!e,onFocusWithinChange:f});return{isFocused:u,isFocusVisible:a,focusProps:e?p:v}}let j=!1,U=0;function q(){j=!0,setTimeout((()=>{j=!1}),50)}function z(e){"touch"===e.pointerType&&q()}function J(){if("undefined"!=typeof document)return"undefined"!=typeof PointerEvent?document.addEventListener("pointerup",z):"test"===process.env.NODE_ENV&&document.addEventListener("touchend",q),U++,()=>{--U>0||("undefined"!=typeof PointerEvent?document.removeEventListener("pointerup",z):"test"===process.env.NODE_ENV&&document.removeEventListener("touchend",q))}}function Q(e){let{onHoverStart:t,onHoverChange:r,onHoverEnd:i,isDisabled:u}=e,[a,d]=c(!1),l=o({isHovered:!1,ignoreEmulatedMouseEvents:!1,pointerType:"",target:null}).current;s(J,[]);let{addGlobalListener:f,removeAllGlobalListeners:v}=F(),{hoverProps:p,triggerHoverEnd:g}=n((()=>{let e=(e,o)=>{if(l.pointerType=o,u||"touch"===o||l.isHovered||!e.currentTarget.contains(e.target))return;l.isHovered=!0;let i=e.currentTarget;l.target=i,f(h(e.target),"pointerover",(e=>{l.isHovered&&l.target&&!b(l.target,e.target)&&n(e,e.pointerType)}),{capture:!0}),t&&t({type:"hoverstart",target:i,pointerType:o}),r&&r(!0),d(!0)},n=(e,t)=>{let n=l.target;l.pointerType="",l.target=null,"touch"!==t&&l.isHovered&&n&&(l.isHovered=!1,v(),i&&i({type:"hoverend",target:n,pointerType:t}),r&&r(!1),d(!1))},o={};return"undefined"!=typeof PointerEvent?(o.onPointerEnter=t=>{j&&"mouse"===t.pointerType||e(t,t.pointerType)},o.onPointerLeave=e=>{!u&&e.currentTarget.contains(e.target)&&n(e,e.pointerType)}):"test"===process.env.NODE_ENV&&(o.onTouchStart=()=>{l.ignoreEmulatedMouseEvents=!0},o.onMouseEnter=t=>{l.ignoreEmulatedMouseEvents||j||e(t,"mouse"),l.ignoreEmulatedMouseEvents=!1},o.onMouseLeave=e=>{!u&&e.currentTarget.contains(e.target)&&n(e,"mouse")}),{hoverProps:o,triggerHoverEnd:n}}),[t,r,i,u,l,f,v]);return s((()=>{u&&g({currentTarget:l.target},l.pointerType)}),[u]),{hoverProps:p,isHovered:a}}export{v as DisabledProvider,I as addWindowFocusTracking,g as createSyntheticEvent,K as getInteractionModality,l as useDisabled,d as useDisabledFlags,f as useDisabledProps,p as useEffectEvent,L as useFocus,_ as useFocusRing,R as useFocusVisibleListener,M as useFocusWithin,F as useGlobalListeners,Q as useHover,E as useSyntheticBlurEvent};
|
|
10
|
-
//# sourceMappingURL=index.es.js.map
|
package/dist/index.es.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/useDisabled.ts","../src/useEffectEvent.ts","../src/useSyntheticBlurEvent.ts","../../necto-dom/dist/index.mjs","../src/useFocus.ts","../src/useGlobalListeners.ts","../src/useFocusWithin.ts","../../necto-platform/dist/index.mjs","../../necto-react-helpers/dist/index.js","../src/useFocusVisibleListener.ts","../src/useFocusRing.ts","../src/useHover.ts"],"sourcesContent":["/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nimport { createContext, createElement, useContext, useMemo } from \"react\";\n\nimport type { HTMLAttributes, PropsWithChildren } from \"react\";\n\ntype DisabledFlags = {\n general?: boolean;\n form?: boolean;\n interactions?: boolean;\n [key: string]: boolean | undefined;\n};\n\nlet DisabledContext = createContext<DisabledFlags>({});\n\nexport function useDisabledFlags(): DisabledFlags {\n return useContext(DisabledContext) || {};\n};\n\nexport function useDisabled(\n type: keyof DisabledFlags = 'general',\n defaultFallback: boolean = false\n): boolean {\n const flags = useContext(DisabledContext) || {};\n return flags[type] ?? defaultFallback;\n}\n\nexport function useDisabledProps(type: keyof DisabledFlags = 'general', extraProps: HTMLAttributes<HTMLElement> = {}): HTMLAttributes<HTMLElement> {\n const isDisabled = useDisabled(type);\n\n return useMemo(() => {\n let props: HTMLAttributes<HTMLElement> = {\n ...extraProps\n };\n\n if (isDisabled) {\n props = {\n ...props,\n ...(typeof extraProps.onClick === 'function' || typeof extraProps.onChange === 'function' ? { disabled: isDisabled } : {}),\n 'aria-disabled': isDisabled\n };\n }\n\n return props;\n }, [isDisabled, extraProps]);\n};\n\nexport function DisabledProvider({\n value,\n children,\n}: PropsWithChildren<{ value?: DisabledFlags }>) {\n return createElement(\n DisabledContext.Provider,\n { value: value || {} },\n children\n );\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nimport { useCallback, useRef, useLayoutEffect} from \"react\";\n\nexport function useEffectEvent<T extends (...args: any[]) => any>(fn: T): T {\n const fnRef = useRef(fn);\n\n // Inline SSR-safe useLayoutEffect\n (typeof document !== \"undefined\" ? useLayoutEffect : () => {})(\n () => {\n fnRef.current = fn;\n },\n [fn]\n );\n\n return useCallback(((...args: Parameters<T>): ReturnType<T> => {\n return fnRef.current(...args);\n }) as T, []);\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useEffectEvent } from \"./useEffectEvent\";\nimport { useRef, useCallback, useLayoutEffect } from 'react';\nimport type { FocusEvent as ReactFocusEvent, SyntheticEvent } from 'react';\n\n/**\n * Creates a synthetic React event from a native DOM event.\n * This is used to maintain compatibility with React's event system.\n * \n * @param nativeEvent - The original native DOM event.\n * @returns The synthetic React event.\n */\nexport function createSyntheticEvent<E extends SyntheticEvent>(nativeEvent: Event): E {\n const event = nativeEvent as unknown as E;\n event.nativeEvent = nativeEvent;\n event.isDefaultPrevented = () => event.defaultPrevented;\n event.isPropagationStopped = () => (event as any).cancelBubble; // Deprecated but widely supported.\n event.persist = () => {}; // No-op for compatibility with React's synthetic event system.\n return event;\n}\n\n/**\n * Custom React hook to handle synthetic blur events, particularly for disabled elements.\n * \n * @param onBlur - Callback to handle the blur event.\n * @returns A callback to attach to the element's blur event.\n */\nexport function useSyntheticBlurEvent<Target extends Element = Element>(\n onBlur: (event: ReactFocusEvent<Target>) => void\n): (event: ReactFocusEvent<Target>) => void {\n const stateRef = useRef<{\n isFocused: boolean;\n observer: MutationObserver | null;\n }>({\n isFocused: false,\n observer: null,\n });\n\n // Cleanup effect to disconnect the MutationObserver when the component unmounts.\n useLayoutEffect(() => {\n const state = stateRef.current;\n return () => {\n if (state.observer) {\n state.observer.disconnect();\n state.observer = null;\n }\n };\n }, []);\n\n // Handler to dispatch the blur event using the provided callback.\n const dispatchBlur = useEffectEvent((e: ReactFocusEvent<Target>) => {\n onBlur?.(e);\n });\n\n // Callback to handle the blur event logic.\n return useCallback((e: ReactFocusEvent<Target>) => {\n if (\n e.target instanceof HTMLButtonElement ||\n e.target instanceof HTMLInputElement ||\n e.target instanceof HTMLTextAreaElement ||\n e.target instanceof HTMLSelectElement\n ) {\n stateRef.current.isFocused = true;\n\n const target = e.target;\n const onBlurHandler: EventListenerOrEventListenerObject = (event) => {\n stateRef.current.isFocused = false;\n\n if (target.disabled) {\n // Dispatch a synthetic React event for backward compatibility.\n const syntheticEvent = createSyntheticEvent<ReactFocusEvent<Target>>(event);\n dispatchBlur(syntheticEvent);\n }\n\n // Cleanup the MutationObserver once the target is blurred.\n if (stateRef.current.observer) {\n stateRef.current.observer.disconnect();\n stateRef.current.observer = null;\n }\n };\n\n // Add a one-time blur event listener.\n target.addEventListener('focusout', onBlurHandler, { once: true });\n\n // Set up a MutationObserver to monitor changes to the 'disabled' attribute.\n stateRef.current.observer = new MutationObserver(() => {\n if (stateRef.current.isFocused && target.disabled) {\n stateRef.current.observer?.disconnect();\n const relatedTargetEl = target === document.activeElement ? null : document.activeElement;\n target.dispatchEvent(new FocusEvent('blur', { relatedTarget: relatedTargetEl }));\n target.dispatchEvent(new FocusEvent('focusout', { bubbles: true, relatedTarget: relatedTargetEl }));\n }\n });\n\n // Observe changes to the 'disabled' attribute of the target element.\n stateRef.current.observer.observe(target, { attributes: true, attributeFilter: ['disabled'] });\n }\n }, [dispatchBlur]);\n}\n","function e(e){return t(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&\"host\"in e}function t(e){return null!==e&&\"object\"==typeof e&&\"nodeType\"in e&&\"number\"==typeof e.nodeType}function n(t,n,o=!0){if(!t||!n)return!1;if(!o)return t.contains(n);let r=n;for(;r;){if(r===t)return!0;r=r instanceof Element&&\"SLOT\"===r.tagName&&r.assignedSlot?r.assignedSlot.parentNode:e(r)?r.host:r.parentNode}return!1}var o=(e=document,t=!0)=>{if(!t)return e.activeElement;let n=e.activeElement;for(;n&&\"shadowRoot\"in n&&n.shadowRoot?.activeElement;)n=n.shadowRoot.activeElement;return n};function r(e,t=!0){return t&&e.target.shadowRoot&&e.composedPath?e.composedPath()[0]:e.target}var i=e=>e?.ownerDocument??document,a=e=>{if(e&&\"window\"in e&&e.window===e)return e;return i(e).defaultView||window};export{o as getActiveElement,r as getEventTarget,i as getOwnerDocument,a as getOwnerWindow,t as isNode,n as nodeContains};","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useCallback } from 'react';\nimport { useSyntheticBlurEvent } from \"./useSyntheticBlurEvent\";\nimport { getOwnerDocument, getEventTarget, getActiveElement } from \"@necto/dom\";\n\nimport type { FocusEvent as ReactFocusEvent } from 'react';\nimport type { DOMAttributes, FocusableElement, FocusEvent } from '@necto-react/types';\n\nexport interface FocusProps<Target = FocusableElement> extends FocusEvent<Target> {\n isDisabled?: boolean;\n}\n\nexport interface FocusResult<Target = FocusableElement> {\n focusProps: DOMAttributes<Target>\n}\n\nexport function useFocus<Target extends FocusableElement = FocusableElement>(props: FocusProps<Target>): FocusResult<Target> {\n const { isDisabled, onFocus: onFocusProp, onBlur: onBlurProp, onFocusChange } = props;\n\n // Unified handler for focus change\n const handleFocusChange = useCallback(\n (isFocused: boolean, e: ReactFocusEvent<Target>) => {\n if (isFocused) {\n onFocusProp?.(e);\n onFocusChange?.(true);\n } else {\n onBlurProp?.(e);\n onFocusChange?.(false);\n }\n },\n [onFocusProp, onBlurProp, onFocusChange]\n );\n\n // Blur handler\n const onBlur = useCallback(\n (e: ReactFocusEvent<Target>) => {\n if (e.target === e.currentTarget) {\n handleFocusChange(false, e);\n }\n },\n [handleFocusChange]\n );\n\n // Synthetic focus handler\n const onSyntheticFocus = useSyntheticBlurEvent<Target>(onBlur);\n\n // Focus handler\n const onFocus = useCallback(\n (e: ReactFocusEvent<Target>) => {\n const ownerDocument = getOwnerDocument(e.target);\n const activeElement = ownerDocument ? getActiveElement(ownerDocument) : getActiveElement();\n if (e.target === e.currentTarget && activeElement === getEventTarget(e.nativeEvent)) {\n handleFocusChange(true, e);\n onSyntheticFocus(e);\n }\n },\n [handleFocusChange, onSyntheticFocus]\n );\n\n // Return focus props\n return {\n focusProps: {\n ...(isDisabled ? {} : { onFocus, onBlur }),\n } as DOMAttributes<Target>,\n };\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useCallback, useEffect, useRef } from \"react\";\n\ninterface GlobalListeners {\n addGlobalListener<K extends keyof WindowEventMap | keyof DocumentEventMap>(\n el: Window | EventTarget,\n type: K,\n listener: (this: Document, ev: K extends keyof WindowEventMap ? WindowEventMap[K] : K extends keyof DocumentEventMap ? DocumentEventMap[K] : never) => any,\n options?: boolean | AddEventListenerOptions\n ): void;\n addGlobalListener(\n el: EventTarget,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | AddEventListenerOptions\n ): void;\n removeGlobalListener<K extends keyof WindowEventMap & keyof DocumentEventMap>(\n el: Window | EventTarget,\n type: K,\n listener: (this: Document, ev: K extends keyof WindowEventMap ? WindowEventMap[K] : DocumentEventMap[K]) => any,\n options?: boolean | EventListenerOptions\n ): void;\n removeGlobalListener(\n el: EventTarget,\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions\n ): void;\n removeAllGlobalListeners(): void;\n}\n\n/**\n * A hook that provides utilities for managing global event listeners.\n * It allows adding, removing, and cleaning up event listeners on global targets like `window` or `document`.\n */\nfunction useGlobalListeners(): GlobalListeners {\n const globalListeners = useRef<Map<EventListenerOrEventListenerObject, { type: string; eventTarget: EventTarget; options?: boolean | AddEventListenerOptions }>>(new Map());\n\n const addGlobalListener = useCallback(\n (eventTarget: EventTarget, type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => {\n const wrappedListener = typeof options === 'object' && options?.once\n ? (...args: any[]) => {\n globalListeners.current.delete(listener);\n (listener as EventListener)(...args as [any]);\n }\n : listener;\n\n globalListeners.current.set(listener, { type, eventTarget, options });\n eventTarget.addEventListener(type, wrappedListener, options);\n },\n []\n );\n\n const removeGlobalListener = useCallback(\n (eventTarget: EventTarget, type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions) => {\n const storedListener = globalListeners.current.get(listener);\n const fn = storedListener?.options?.once ? storedListener.fn : listener;\n\n eventTarget.removeEventListener(type, fn as EventListener, options);\n globalListeners.current.delete(listener);\n },\n []\n );\n\n const removeAllGlobalListeners = useCallback(() => {\n globalListeners.current.forEach(({ type, eventTarget, options }: { type: string; eventTarget: EventTarget; options?: boolean | AddEventListenerOptions }, listener: EventListener) => {\n eventTarget.removeEventListener(type, listener as EventListener, options);\n });\n globalListeners.current.clear();\n }, []);\n\n useEffect(() => {\n return () => removeAllGlobalListeners();\n }, [removeAllGlobalListeners]);\n\n return { addGlobalListener, removeGlobalListener, removeAllGlobalListeners };\n}\n\nexport { useGlobalListeners };","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useCallback, useRef } from \"react\";\nimport { useGlobalListeners } from \"./useGlobalListeners\";\nimport { useSyntheticBlurEvent, createSyntheticEvent } from \"./useSyntheticBlurEvent\";\nimport { getActiveElement, getEventTarget, getOwnerDocument, nodeContains } from \"@necto/dom\";\n\nimport type { DOMAttributes } from \"@necto-react/types\";\nimport type { FocusEvent as ReactFocusEvent } from \"react\";\n\nexport interface FocusWithinProps {\n isDisabled?: boolean,\n onFocusWithin?: (e: ReactFocusEvent) => void,\n onBlurWithin?: (e: ReactFocusEvent) => void,\n onFocusWithinChange?: (isFocusWithin: boolean) => void\n}\n\nexport interface FocusWithinResult {\n focusWithinProps: DOMAttributes\n}\n\nexport function useFocusWithin(props: FocusWithinProps): FocusWithinResult {\n let { isDisabled, onFocusWithin, onBlurWithin, onFocusWithinChange } = props;\n let state = useRef({ isFocusWithin: false });\n let { addGlobalListener, removeAllGlobalListeners } = useGlobalListeners();\n\n let onBlur = useCallback((event: ReactFocusEvent) => {\n if (!event.currentTarget.contains(event.target)) return;\n\n if (state.current.isFocusWithin && !(event.currentTarget as Element).contains(event.relatedTarget as Element)) {\n state.current.isFocusWithin = false;\n removeAllGlobalListeners();\n\n if (onBlurWithin) onBlurWithin(event);\n if (onFocusWithinChange) onFocusWithinChange(false);\n }\n }, [onBlurWithin, onFocusWithinChange, state, removeAllGlobalListeners]);\n\n let onSyntheticFocus = useSyntheticBlurEvent(onBlur);\n let onFocus = useCallback((event: ReactFocusEvent) => {\n if (!event.currentTarget.contains(event.target)) return;\n\n const ownerDocument = getOwnerDocument(event.target);\n const activeElement = getActiveElement(ownerDocument);\n\n if (!state.current.isFocusWithin && activeElement == getEventTarget(event.nativeEvent)) {\n if (onFocusWithin) onFocusWithin(event);\n if (onFocusWithinChange) onFocusWithinChange(true);\n\n state.current.isFocusWithin = true;\n onSyntheticFocus(event);\n\n let currentTarget = event.currentTarget;\n addGlobalListener(ownerDocument, 'focus', e => {\n if (state.current.isFocusWithin && !nodeContains(currentTarget, e.target as Element)) {\n let nativeEvent = new ownerDocument.defaultView!.FocusEvent('blur', {relatedTarget: e.target});\n Object.defineProperty(nativeEvent, 'target', {value: currentTarget});\n Object.defineProperty(nativeEvent, 'currentTarget', {value: currentTarget});\n let event = createSyntheticEvent<ReactFocusEvent>(nativeEvent);\n onBlur(event);\n }\n }, {capture: true});\n }\n }, [onFocusWithin, onFocusWithinChange, onSyntheticFocus, addGlobalListener, onBlur]);\n\n if (isDisabled) {\n return {\n focusWithinProps: {\n onFocus: undefined,\n onBlur: undefined\n } as DOMAttributes\n };\n }\n\n return {\n focusWithinProps: {\n onFocus,\n onBlur\n } as unknown as DOMAttributes\n }\n}","function r(n){return typeof window<\"u\"&&window.navigator!=null?n.test(window.navigator.userAgentData?.platform||window.navigator.platform):!1}var e=function(){return r(/^Mac/i)};function o(n){return typeof window>\"u\"||window.navigator==null?!1:window.navigator.userAgentData?.brands.some(t=>n.test(t.brand))||n.test(window.navigator.userAgent)}var a=function(){return o(/Android/i)};export{a as isAndroid,e as isMac};\n//# sourceMappingURL=index.mjs.map","import{isAndroid as E}from\"@necto/platform\";function y(e){return e.mozInputSource===0&&e.isTrusted?!0:E()&&e.pointerType?e.type===\"click\"&&e.buttons===1:e.detail===0&&!e.pointerType}import{getOwnerDocument as d,getOwnerWindow as c}from\"@necto/dom\";var p=new Set([\"checkbox\",\"radio\",\"range\",\"color\",\"file\",\"image\",\"button\",\"submit\",\"reset\"]),f={Tab:!0,Escape:!0};function M(e,r,t){if(!t||!(\"target\"in t)||!t.target)return!1;let a=d(t.target),o=c(t.target),i=typeof window<\"u\"?o.HTMLInputElement:HTMLInputElement,s=typeof window<\"u\"?o.HTMLTextAreaElement:HTMLTextAreaElement,l=typeof window<\"u\"?o.HTMLElement:HTMLElement,u=typeof window<\"u\"?o.KeyboardEvent:KeyboardEvent,n=a.activeElement;return e=e||n instanceof i&&!p.has(n.type)||n instanceof s||n instanceof l&&n.isContentEditable,!(e&&r===\"keyboard\"&&t instanceof u&&!f[t.key])}export{M as isKeyboardFocusEvent,y as isVirtualClick};\n","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useEffect } from \"react\";\nimport { isMac } from \"@necto/platform\";\nimport { isKeyboardFocusEvent } from \"@necto-react/helpers\";\nimport { getOwnerWindow, getOwnerDocument } from \"@necto/dom\";\n\ntype Modality = \"keyboard\" | \"pointer\" | \"virtual\";\ntype HandlerEvent = PointerEvent | MouseEvent | KeyboardEvent | FocusEvent | null;\ntype Handler = (modality: Modality, e: HandlerEvent) => void;\nexport type FocusVisibleHandler = (isFocusVisible: boolean) => void;\n\nconst hasSetupGlobalListeners = new Map<Window, { focus: () => void }>();\nlet hasEventBeforeFocus = false;\nlet hasBlurredWindowRecently = false;\nlet currentModality: Modality | null = null;\nconst changeHandlers = new Set<Handler>();\n\nfunction triggerChangeHandlers(modality: Modality, e: HandlerEvent) {\n changeHandlers.forEach((handler) => handler(modality, e));\n}\n\nfunction isValidKey(e: KeyboardEvent) {\n return !(\n e.metaKey ||\n (!isMac() && e.altKey) ||\n e.ctrlKey ||\n [\"Control\", \"Shift\", \"Meta\"].includes(e.key)\n );\n}\n\nfunction handleKeyboardEvent(e: KeyboardEvent) {\n if (isValidKey(e)) {\n hasEventBeforeFocus = true;\n currentModality = \"keyboard\";\n triggerChangeHandlers(\"keyboard\", e);\n }\n}\n\nfunction handlePointerEvent(e: PointerEvent | MouseEvent) {\n if ([\"mousedown\", \"pointerdown\"].includes(e.type)) {\n hasEventBeforeFocus = true;\n currentModality = \"pointer\";\n triggerChangeHandlers(\"pointer\", e);\n }\n}\n\nfunction handleFocusEvent(e: FocusEvent) {\n if (\n [window, document].includes(e.target as any) ||\n !e.isTrusted ||\n (!hasEventBeforeFocus && !hasBlurredWindowRecently)\n ) {\n return;\n }\n\n if (!hasEventBeforeFocus && !hasBlurredWindowRecently) {\n currentModality = \"virtual\";\n triggerChangeHandlers(\"virtual\", e);\n }\n\n hasEventBeforeFocus = false;\n hasBlurredWindowRecently = false;\n}\n\nfunction handleWindowBlur() {\n hasEventBeforeFocus = false;\n hasBlurredWindowRecently = true;\n}\n\nfunction setupGlobalFocusEvents(element?: HTMLElement | null) {\n const windowObject = getOwnerWindow(element);\n const documentObject = getOwnerDocument(element);\n\n if (\n typeof window === \"undefined\" ||\n typeof document === \"undefined\" ||\n hasSetupGlobalListeners.has(windowObject)\n ) {\n return;\n }\n\n const originalFocus = windowObject.HTMLElement.prototype.focus;\n windowObject.HTMLElement.prototype.focus = function (...args) {\n hasEventBeforeFocus = true;\n originalFocus.apply(this, args);\n };\n\n documentObject.addEventListener(\"keydown\", handleKeyboardEvent, true);\n documentObject.addEventListener(\"click\", handlePointerEvent, true);\n windowObject.addEventListener(\"focus\", handleFocusEvent, true);\n windowObject.addEventListener(\"blur\", handleWindowBlur, false);\n\n if (typeof PointerEvent !== \"undefined\") {\n documentObject.addEventListener(\"pointerdown\", handlePointerEvent, true);\n }\n\n hasSetupGlobalListeners.set(windowObject, { focus: originalFocus });\n}\n\nfunction tearDownGlobalFocusEvents(element?: HTMLElement | null) {\n const windowObject = getOwnerWindow(element);\n const documentObject = getOwnerDocument(element);\n\n if (!hasSetupGlobalListeners.has(windowObject)) return;\n\n const { focus } = hasSetupGlobalListeners.get(windowObject)!;\n windowObject.HTMLElement.prototype.focus = focus;\n\n documentObject.removeEventListener(\"keydown\", handleKeyboardEvent, true);\n documentObject.removeEventListener(\"click\", handlePointerEvent, true);\n windowObject.removeEventListener(\"focus\", handleFocusEvent, true);\n windowObject.removeEventListener(\"blur\", handleWindowBlur, false);\n\n hasSetupGlobalListeners.delete(windowObject);\n}\n\nexport function addWindowFocusTracking(element?: HTMLElement | null): () => void {\n const documentObject = getOwnerDocument(element);\n\n if (documentObject.readyState !== \"loading\") {\n setupGlobalFocusEvents(element);\n } else {\n documentObject.addEventListener(\"DOMContentLoaded\", () =>\n setupGlobalFocusEvents(element)\n );\n }\n\n return () => tearDownGlobalFocusEvents(element);\n}\n\nexport function getInteractionModality(): Modality | null {\n return currentModality;\n}\n\nexport function useFocusVisibleListener(\n fn: FocusVisibleHandler,\n deps: ReadonlyArray<any>,\n opts?: { isTextInput?: boolean }\n): void {\n setupGlobalFocusEvents();\n\n useEffect(() => {\n const handler: Handler = (modality, e) => {\n if (!isKeyboardFocusEvent(!!opts?.isTextInput, modality, e)) return;\n fn(currentModality !== \"pointer\");\n };\n\n changeHandlers.add(handler);\n return () => {\n changeHandlers.delete(handler);\n };\n }, deps);\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useFocus } from './useFocus';\nimport { useFocusWithin } from './useFocusWithin';\nimport { useCallback, useRef, useState } from 'react';\nimport { useFocusVisibleListener } from \"./useFocusVisibleListener\";\n\nimport type { DOMAttributes } from '@necto-react/types';\n\nexport type Modality = 'keyboard' | 'pointer' | 'virtual';\nlet currentModality: null | Modality = null;\n\nexport interface FocusRingProps {\n within?: boolean;\n isTextInput?: boolean;\n autoFocus?: boolean;\n}\n\nexport interface FocusRingResult {\n isFocused: boolean;\n isFocusVisible: boolean;\n focusProps: DOMAttributes;\n}\n\nexport function useFocusRing({\n within = false,\n isTextInput = false,\n autoFocus = false,\n}: FocusRingProps = {}): FocusRingResult {\n const state = useRef({\n isFocused: false,\n isFocusVisible: autoFocus || currentModality !== 'pointer',\n });\n\n const [isFocused, setFocused] = useState(false);\n const [isFocusVisible, setFocusVisible] = useState(() => state.current.isFocused && state.current.isFocusVisible);\n\n const updateFocusVisibleState = useCallback(() => {\n setFocusVisible(state.current.isFocused && state.current.isFocusVisible);\n }, []);\n\n const handleFocusChange = useCallback(\n (focused: boolean) => {\n state.current.isFocused = focused;\n setFocused(focused);\n updateFocusVisibleState();\n },\n [updateFocusVisibleState]\n );\n\n useFocusVisibleListener(\n (focusVisible) => {\n state.current.isFocusVisible = focusVisible;\n updateFocusVisibleState();\n },\n [],\n { isTextInput }\n );\n\n const { focusProps } = useFocus({\n isDisabled: within,\n onFocusChange: handleFocusChange,\n });\n\n const { focusWithinProps } = useFocusWithin({\n isDisabled: !within,\n onFocusWithinChange: handleFocusChange,\n });\n\n return {\n isFocused,\n isFocusVisible,\n focusProps: within ? focusWithinProps : focusProps,\n };\n}","/**\n * Copyright (c) Corinvo, LLC. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Portions of this code are based on the React Aria Spectrum library by Adobe,\n * licensed under the Apache License, Version 2.0.\n * See: https://github.com/adobe/react-spectrum\n *\n * Modifications have been made to adapt the code for use in this project.\n */\n\n'use strict';\n\nimport { useGlobalListeners } from './useGlobalListeners';\nimport { getOwnerDocument, nodeContains } from \"@necto/dom\";\nimport { useState, useMemo, useRef, useEffect, useCallback } from 'react';\n\nimport type { DOMAttributes, HoverEvent } from '@necto-react/types';\n\nexport interface HoverProps extends HoverEvent {\n /** Whether the hover events should be disabled. */\n isDisabled?: boolean\n}\n\nexport interface HoverResult {\n /** Props to spread on the target element. */\n hoverProps: DOMAttributes,\n isHovered: boolean\n}\n\n// iOS fires onPointerEnter twice: once with pointerType=\"touch\" and again with pointerType=\"mouse\".\n// We want to ignore these emulated events so they do not trigger hover behavior.\n// See https://bugs.webkit.org/show_bug.cgi?id=214609.\nlet globalIgnoreEmulatedMouseEvents = false;\nlet hoverCount = 0;\n\nfunction setGlobalIgnoreEmulatedMouseEvents() {\n globalIgnoreEmulatedMouseEvents = true;\n\n // Clear globalIgnoreEmulatedMouseEvents after a short timeout. iOS fires onPointerEnter\n // with pointerType=\"mouse\" immediately after onPointerUp and before onFocus. On other\n // devices that don't have this quirk, we don't want to ignore a mouse hover sometime in\n // the distant future because a user previously touched the element.\n setTimeout(() => {\n globalIgnoreEmulatedMouseEvents = false;\n }, 50);\n}\n\nfunction handleGlobalPointerEvent(e) {\n if (e.pointerType === 'touch') {\n setGlobalIgnoreEmulatedMouseEvents();\n }\n}\n\nfunction setupGlobalTouchEvents() {\n if (typeof document === 'undefined') {\n return;\n }\n\n if (typeof PointerEvent !== 'undefined') {\n document.addEventListener('pointerup', handleGlobalPointerEvent);\n } else if (process.env.NODE_ENV === 'test') {\n document.addEventListener('touchend', setGlobalIgnoreEmulatedMouseEvents);\n }\n\n hoverCount++;\n return () => {\n hoverCount--;\n if (hoverCount > 0) {\n return;\n }\n\n if (typeof PointerEvent !== 'undefined') {\n document.removeEventListener('pointerup', handleGlobalPointerEvent);\n } else if (process.env.NODE_ENV === 'test') {\n document.removeEventListener('touchend', setGlobalIgnoreEmulatedMouseEvents);\n }\n };\n}\n\n/**\n * Handles pointer hover interactions for an element. Normalizes behavior\n * across browsers and platforms, and ignores emulated mouse events on touch devices.\n */\nexport function useHover(props: HoverProps): HoverResult {\n let {\n onHoverStart,\n onHoverChange,\n onHoverEnd,\n isDisabled\n } = props;\n\n let [isHovered, setHovered] = useState(false);\n let state = useRef({\n isHovered: false,\n ignoreEmulatedMouseEvents: false,\n pointerType: '',\n target: null\n }).current;\n\n useEffect(setupGlobalTouchEvents, []);\n let {addGlobalListener, removeAllGlobalListeners} = useGlobalListeners();\n\n let {hoverProps, triggerHoverEnd} = useMemo(() => {\n let triggerHoverStart = (event, pointerType) => {\n state.pointerType = pointerType;\n if (isDisabled || pointerType === 'touch' || state.isHovered || !event.currentTarget.contains(event.target)) {\n return;\n }\n\n state.isHovered = true;\n let target = event.currentTarget;\n state.target = target;\n\n // When an element that is hovered over is removed, no pointerleave event is fired by the browser,\n // even though the originally hovered target may have shrunk in size so it is no longer hovered.\n // However, a pointerover event will be fired on the new target the mouse is over.\n // In Chrome this happens immediately. In Safari and Firefox, it happens upon moving the mouse one pixel.\n addGlobalListener(getOwnerDocument(event.target), 'pointerover', e => {\n if (state.isHovered && state.target && !nodeContains(state.target, e.target as Element)) {\n triggerHoverEnd(e, e.pointerType);\n }\n }, {capture: true});\n\n if (onHoverStart) {\n onHoverStart({\n type: 'hoverstart',\n target,\n pointerType\n });\n }\n\n if (onHoverChange) {\n onHoverChange(true);\n }\n\n setHovered(true);\n };\n\n let triggerHoverEnd = (event, pointerType) => {\n let target = state.target;\n state.pointerType = '';\n state.target = null;\n\n if (pointerType === 'touch' || !state.isHovered || !target) {\n return;\n }\n\n state.isHovered = false;\n removeAllGlobalListeners();\n\n if (onHoverEnd) {\n onHoverEnd({\n type: 'hoverend',\n target,\n pointerType\n });\n }\n\n if (onHoverChange) {\n onHoverChange(false);\n }\n\n setHovered(false);\n };\n\n let hoverProps: DOMAttributes = {};\n\n if (typeof PointerEvent !== 'undefined') {\n hoverProps.onPointerEnter = (e) => {\n if (globalIgnoreEmulatedMouseEvents && e.pointerType === 'mouse') {\n return;\n }\n\n triggerHoverStart(e, e.pointerType);\n };\n\n hoverProps.onPointerLeave = (e) => {\n if (!isDisabled && e.currentTarget.contains(e.target as Element)) {\n triggerHoverEnd(e, e.pointerType);\n }\n };\n } else if (process.env.NODE_ENV === 'test') {\n hoverProps.onTouchStart = () => {\n state.ignoreEmulatedMouseEvents = true;\n };\n\n hoverProps.onMouseEnter = (e) => {\n if (!state.ignoreEmulatedMouseEvents && !globalIgnoreEmulatedMouseEvents) {\n triggerHoverStart(e, 'mouse');\n }\n\n state.ignoreEmulatedMouseEvents = false;\n };\n\n hoverProps.onMouseLeave = (e) => {\n if (!isDisabled && e.currentTarget.contains(e.target as Element)) {\n triggerHoverEnd(e, 'mouse');\n }\n };\n }\n return {hoverProps, triggerHoverEnd};\n }, [onHoverStart, onHoverChange, onHoverEnd, isDisabled, state, addGlobalListener, removeAllGlobalListeners]);\n\n useEffect(() => {\n // Call the triggerHoverEnd as soon as isDisabled changes to true\n // Safe to call triggerHoverEnd, it will early return if we aren't currently hovering\n if (isDisabled) {\n triggerHoverEnd({currentTarget: state.target}, state.pointerType);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isDisabled]);\n\n return {\n hoverProps,\n isHovered\n };\n}"],"names":["DisabledContext","createContext","useDisabledFlags","useContext","useDisabled","type","defaultFallback","useDisabledProps","extraProps","isDisabled","useMemo","props","onClick","onChange","disabled","DisabledProvider","value","children","createElement","Provider","useEffectEvent","fn","fnRef","useRef","document","useLayoutEffect","current","useCallback","args","createSyntheticEvent","nativeEvent","event","isDefaultPrevented","defaultPrevented","isPropagationStopped","cancelBubble","persist","useSyntheticBlurEvent","onBlur","stateRef","isFocused","observer","state","disconnect","dispatchBlur","e","target","HTMLButtonElement","HTMLInputElement","HTMLTextAreaElement","HTMLSelectElement","addEventListener","once","MutationObserver","relatedTargetEl","activeElement","dispatchEvent","FocusEvent","relatedTarget","bubbles","observe","attributes","attributeFilter","nodeType","t","Node","DOCUMENT_FRAGMENT_NODE","n","o","contains","r","Element","tagName","assignedSlot","parentNode","host","shadowRoot","composedPath","i","ownerDocument","a","window","defaultView","useFocus","onFocus","onFocusProp","onBlurProp","onFocusChange","handleFocusChange","currentTarget","onSyntheticFocus","getOwnerDocument","getActiveElement","getEventTarget","focusProps","useGlobalListeners","globalListeners","Map","addGlobalListener","eventTarget","listener","options","wrappedListener","delete","set","removeGlobalListener","storedListener","get","removeEventListener","removeAllGlobalListeners","forEach","clear","useEffect","useFocusWithin","onFocusWithin","onBlurWithin","onFocusWithinChange","isFocusWithin","nodeContains","Object","defineProperty","capture","focusWithinProps","undefined","isMac","re","navigator","test","userAgentData","platform","testPlatform","p","Set","f","Tab","Escape","hasSetupGlobalListeners","hasEventBeforeFocus","hasBlurredWindowRecently","currentModality","changeHandlers","triggerChangeHandlers","modality","handler","handleKeyboardEvent","metaKey","altKey","ctrlKey","includes","key","handlePointerEvent","handleFocusEvent","isTrusted","handleWindowBlur","setupGlobalFocusEvents","element","windowObject","getOwnerWindow","documentObject","has","originalFocus","HTMLElement","prototype","focus","apply","this","PointerEvent","addWindowFocusTracking","readyState","tearDownGlobalFocusEvents","getInteractionModality","useFocusVisibleListener","deps","opts","d","c","s","l","u","KeyboardEvent","isContentEditable","isKeyboardFocusEvent","isTextInput","add","useFocusRing","within","autoFocus","isFocusVisible","setFocused","useState","setFocusVisible","updateFocusVisibleState","focused","focusVisible","globalIgnoreEmulatedMouseEvents","hoverCount","setGlobalIgnoreEmulatedMouseEvents","setTimeout","handleGlobalPointerEvent","pointerType","setupGlobalTouchEvents","process","env","NODE_ENV","useHover","onHoverStart","onHoverChange","onHoverEnd","isHovered","setHovered","ignoreEmulatedMouseEvents","hoverProps","triggerHoverEnd","triggerHoverStart","onPointerEnter","onPointerLeave","onTouchStart","onMouseEnter","onMouseLeave"],"mappings":"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"}
|