@necto-react/hooks 2.6.0 → 2.10.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 +1000 -0
- package/dist/index.d.ts +957 -51
- 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 $n=Object.create;var Qt=Object.defineProperty;var Gn=Object.getOwnPropertyDescriptor;var qn=Object.getOwnPropertyNames;var zn=Object.getPrototypeOf,Qn=Object.prototype.hasOwnProperty;var Ne=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports);var Xn=(e,n,r,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let u of qn(n))!Qn.call(e,u)&&u!==r&&Qt(e,u,{get:()=>n[u],enumerable:!(o=Gn(n,u))||o.enumerable});return e};var U=(e,n,r)=>(r=e!=null?$n(zn(e)):{},Xn(n||!e||!e.__esModule?Qt(r,"default",{value:e,enumerable:!0}):r,e));var cn=Ne(h=>{"use strict";var ot=Symbol.for("react.transitional.element"),Zn=Symbol.for("react.portal"),Jn=Symbol.for("react.fragment"),er=Symbol.for("react.strict_mode"),tr=Symbol.for("react.profiler"),nr=Symbol.for("react.consumer"),rr=Symbol.for("react.context"),or=Symbol.for("react.forward_ref"),sr=Symbol.for("react.suspense"),ur=Symbol.for("react.memo"),nn=Symbol.for("react.lazy"),Xt=Symbol.iterator;function ir(e){return e===null||typeof e!="object"?null:(e=Xt&&e[Xt]||e["@@iterator"],typeof e=="function"?e:null)}var rn={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},on=Object.assign,sn={};function me(e,n,r){this.props=e,this.context=n,this.refs=sn,this.updater=r||rn}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 un(){}un.prototype=me.prototype;function st(e,n,r){this.props=e,this.context=n,this.refs=sn,this.updater=r||rn}var ut=st.prototype=new un;ut.constructor=st;on(ut,me.prototype);ut.isPureReactComponent=!0;var Zt=Array.isArray,M={H:null,A:null,T:null,S:null,V:null},an=Object.prototype.hasOwnProperty;function it(e,n,r,o,u,i){return r=i.ref,{$$typeof:ot,type:e,key:n,ref:r!==void 0?r:null,props:i}}function ar(e,n){return it(e.type,n,void 0,void 0,void 0,e.props)}function at(e){return typeof e=="object"&&e!==null&&e.$$typeof===ot}function cr(e){var n={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(r){return n[r]})}var Jt=/\/+/g;function rt(e,n){return typeof e=="object"&&e!==null&&e.key!=null?cr(""+e.key):n.toString(36)}function en(){}function lr(e){switch(e.status){case"fulfilled":return e.value;case"rejected":throw e.reason;default:switch(typeof e.status=="string"?e.then(en,en):(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 ot:case Zn:c=!0;break;case nn:return c=e._init,de(c(e._payload),n,r,o,u)}}if(c)return u=u(e),c=o===""?"."+rt(e,0):o,Zt(u)?(r="",c!=null&&(r=c.replace(Jt,"$&/")+"/"),de(u,n,r,"",function(m){return m})):u!=null&&(at(u)&&(u=ar(u,r+(u.key==null||e&&e.key===u.key?"":(""+u.key).replace(Jt,"$&/")+"/")+c)),n.push(u)),1;c=0;var f=o===""?".":o+":";if(Zt(e))for(var a=0;a<e.length;a++)o=e[a],i=f+rt(o,a),c+=de(o,n,r,i,u);else if(a=ir(e),typeof a=="function")for(e=a.call(e),a=0;!(o=e.next()).done;)o=o.value,i=f+rt(o,a++),c+=de(o,n,r,i,u);else if(i==="object"){if(typeof e.then=="function")return de(lr(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 fr(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 tn=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 pr(){}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(!at(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};h.Component=me;h.Fragment=Jn;h.Profiler=tr;h.PureComponent=st;h.StrictMode=er;h.Suspense=sr;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=on({},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)!an.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 it(e.type,u,void 0,void 0,i,o)};h.createContext=function(e){return e={$$typeof:rr,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:nr,_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)an.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 it(e,i,void 0,void 0,null,u)};h.createRef=function(){return{current:null}};h.forwardRef=function(e){return{$$typeof:or,render:e}};h.isValidElement=at;h.lazy=function(e){return{$$typeof:nn,_payload:{_status:-1,_result:e},_init:fr}};h.memo=function(e,n){return{$$typeof:ur,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(pr,tn)}catch(i){tn(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 ln=Ne((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=It&&t[It]||t["@@iterator"],typeof t=="function"?t:null)}function r(t,s){t=(t=t.constructor)&&(t.displayName||t.name)||"ReactClass";var l=t+"."+s;kt[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),kt[l]=!0)}function o(t,s,l){this.props=t,this.context=s,this.refs=tt,this.updater=l||Nt}function u(){}function i(t,s,l){this.props=t,this.context=s,this.refs=tt,this.updater=l||Nt}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===Bn?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case Ze:return"Fragment";case At:return"Profiler";case Mt:return"StrictMode";case Ft:return"Suspense";case Hn:return"SuspenseList";case jn: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 Ut:return(t.displayName||"Context")+".Provider";case Je:return(t._context.displayName||"Context")+".Consumer";case Dt:var s=t.render;return t=t.displayName,t||(t=s.displayName||s.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case et:return s=t.displayName||null,s!==null?s:a(t.type)||"Memo";case Ae:s=t._payload,t=t._init;try{return a(t(s))}catch{}}return null}function m(t){if(t===Ze)return"<>";if(typeof t=="object"&&t!==null&&t.$$typeof===Ae)return"<...>";try{var s=a(t);return s?"<"+s+">":"<...>"}catch{return"<...>"}}function _(){var t=w.A;return t===null?null:t.getOwner()}function g(){return Error("react-stack-top-frame")}function D(t){if(De.call(t,"key")){var s=Object.getOwnPropertyDescriptor(t,"key").get;if(s&&s.isReactWarning)return!1}return t.key!==void 0}function C(t,s){function l(){Wt||(Wt=!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 x(){var t=a(this.type);return Kt[t]||(Kt[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,P,T,S){return l=P.ref,t={$$typeof:z,type:t,key:s,props:P,_owner:y},(l!==void 0?l:null)!==null?Object.defineProperty(t,"ref",{enumerable:!1,get:x}):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:S}),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 F(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 G(){}function le(t){switch(t.status){case"fulfilled":return t.value;case"rejected":throw t.reason;default:switch(typeof t.status=="string"?t.then(G,G):(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 P=typeof t;(P==="undefined"||P==="boolean")&&(t=null);var T=!1;if(t===null)T=!0;else switch(P){case"bigint":case"string":case"number":T=!0;break;case"object":switch(t.$$typeof){case z:case xt:T=!0;break;case Ae:return T=t._init,H(T(t._payload),s,l,d,y)}}if(T){T=t,y=y(T);var S=d===""?"."+B(T,0):d;return jt(y)?(l="",S!=null&&(l=S.replace($t,"$&/")+"/"),H(y,s,l,"",function(X){return X})):y!=null&&(F(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($t,"$&/")+"/")+S),d!==""&&T!=null&&F(T)&&T.key==null&&T._store&&!T._store.validated&&(l._store.validated=2),y=l),s.push(y)),1}if(T=0,S=d===""?".":d+":",jt(t))for(var R=0;R<t.length;R++)d=t[R],P=S+B(d,R),T+=H(d,s,l,P,y);else if(R=n(t),typeof R=="function")for(R===t.entries&&(Yt||console.warn("Using Maps as children is not supported. Use an array of keyed ReactElements instead."),Yt=!0),t=R.call(t),R=0;!(d=t.next()).done;)d=d.value,P=S+B(d,R++),T+=H(d,s,l,P,y);else if(P==="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(P){return s.call(l,P,y++)}),d}function xe(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 A(){var t=w.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(Fe===null)try{var s=("require"+Math.random()).slice(0,7);Fe=(je&&je[s]).call(je,"timers").setImmediate}catch{Fe=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 Fe(t)}function Q(t){return 1<t.length&&typeof AggregateError=="function"?new AggregateError(t):t[0]}function fe(t,s){s!==Ie-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. "),Ie=s}function p(t,s,l){var d=w.actQueue;if(d!==null)if(d.length!==0)try{I(d),ie(function(){return p(t,s,l)});return}catch(y){w.thrownErrors.push(y)}else w.actQueue=null;0<w.thrownErrors.length?(d=Q(w.thrownErrors),w.thrownErrors.length=0,l(d)):s(t)}function I(t){if(!nt){nt=!0;var s=0;try{for(;s<t.length;s++){var l=t[s];do{w.didUsePromise=!1;var d=l(!1);if(d!==null){if(w.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),w.thrownErrors.push(y)}finally{nt=!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"),Ze=Symbol.for("react.fragment"),Mt=Symbol.for("react.strict_mode"),At=Symbol.for("react.profiler");Symbol.for("react.provider");var Je=Symbol.for("react.consumer"),Ut=Symbol.for("react.context"),Dt=Symbol.for("react.forward_ref"),Ft=Symbol.for("react.suspense"),Hn=Symbol.for("react.suspense_list"),et=Symbol.for("react.memo"),Ae=Symbol.for("react.lazy"),jn=Symbol.for("react.activity"),It=Symbol.iterator,kt={},Nt={isMounted:function(){return!1},enqueueForceUpdate:function(t){r(t,"forceUpdate")},enqueueReplaceState:function(t){r(t,"replaceState")},enqueueSetState:function(t){r(t,"setState")}},Ht=Object.assign,tt={};Object.freeze(tt),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,Ht(K,o.prototype),K.isPureReactComponent=!0;var jt=Array.isArray,Bn=Symbol.for("react.client.reference"),w={H:null,A:null,T:null,S:null,V:null,actQueue:null,isBatchingLegacy:!1,didScheduleLegacyUpdate:!1,didUsePromise:!1,thrownErrors:[],getCurrentStack:null,recentlyCreatedOwnerStacks:0},De=Object.prototype.hasOwnProperty,Bt=console.createTask?console.createTask:function(){return null};K={"react-stack-bottom-frame":function(t){return t()}};var Wt,Vt,Kt={},Wn=K["react-stack-bottom-frame"].bind(K,g)(),Vn=Bt(m(g)),Yt=!1,$t=/\/+/g,Gt=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,Fe=null,Ie=0,ke=!1,nt=!1,zt=typeof queueMicrotask=="function"?function(t){queueMicrotask(function(){return queueMicrotask(t)})}:ie;K=Object.freeze({__proto__:null,c:function(t){return A().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(!F(t))throw Error("React.Children.only expected to receive a single React element child.");return t}},b.Component=o,b.Fragment=Ze,b.Profiler=At,b.PureComponent=i,b.StrictMode=Mt,b.Suspense=Ft,b.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=w,b.__COMPILER_RUNTIME=K,b.act=function(t){var s=w.actQueue,l=Ie;Ie++;var d=w.actQueue=s!==null?s:[],y=!1;try{var P=t()}catch(R){w.thrownErrors.push(R)}if(0<w.thrownErrors.length)throw fe(s,l),t=Q(w.thrownErrors),w.thrownErrors.length=0,t;if(P!==null&&typeof P=="object"&&typeof P.then=="function"){var T=P;return zt(function(){y||ke||(ke=!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{I(d),ie(function(){return p(pe,R,X)})}catch(Yn){w.thrownErrors.push(Yn)}if(0<w.thrownErrors.length){var Kn=Q(w.thrownErrors);w.thrownErrors.length=0,X(Kn)}}else R(pe)},function(pe){fe(s,l),0<w.thrownErrors.length&&(pe=Q(w.thrownErrors),w.thrownErrors.length=0),X(pe)})}}}var S=P;if(fe(s,l),l===0&&(I(d),d.length!==0&&zt(function(){y||ke||(ke=!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(() => ...)"))}),w.actQueue=null),0<w.thrownErrors.length)throw t=Q(w.thrownErrors),w.thrownErrors.length=0,t;return{then:function(R,X){y=!0,l===0?(w.actQueue=d,ie(function(){return p(S,R,X)})):R(S)}}},b.cache=function(t){return function(){return t.apply(null,arguments)}},b.captureOwnerStack=function(){var t=w.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=Ht({},t.props),y=t.key,P=t._owner;if(s!=null){var T;e:{if(De.call(s,"ref")&&(T=Object.getOwnPropertyDescriptor(s,"ref").get)&&T.isReactWarning){T=!1;break e}T=s.ref!==void 0}T&&(P=_()),D(s)&&(f(s.key),y=""+s.key);for(S in s)!De.call(s,S)||S==="key"||S==="__self"||S==="__source"||S==="ref"&&s.ref===void 0||(d[S]=s[S])}var S=arguments.length-2;if(S===1)d.children=l;else if(1<S){T=Array(S);for(var R=0;R<S;R++)T[R]=arguments[R+2];d.children=T}for(d=v(t.type,y,void 0,void 0,P,d,t._debugStack,t._debugTask),y=2;y<arguments.length;y++)P=arguments[y],F(P)&&P._store&&(P._store.validated=1);return d},b.createContext=function(t){return t={$$typeof:Ut,_currentValue:t,_currentValue2:t,_threadCount:0,Provider:null,Consumer:null},t.Provider=t,t.Consumer={$$typeof:Je,_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];F(y)&&y._store&&(y._store.validated=1)}if(d={},y=null,s!=null)for(R in Vt||!("__self"in s)||"key"in s||(Vt=!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")),D(s)&&(f(s.key),y=""+s.key),s)De.call(s,R)&&R!=="key"&&R!=="__self"&&R!=="__source"&&(d[R]=s[R]);var P=arguments.length-2;if(P===1)d.children=l;else if(1<P){for(var T=Array(P),S=0;S<P;S++)T[S]=arguments[S+2];Object.freeze&&Object.freeze(T),d.children=T}if(t&&t.defaultProps)for(R in P=t.defaultProps,P)d[R]===void 0&&(d[R]=P[R]);y&&C(d,typeof t=="function"?t.displayName||t.name||"Unknown":t);var R=1e4>w.recentlyCreatedOwnerStacks++;return v(t,y,void 0,void 0,_(),d,R?Error("react-stack-top-frame"):Wn,R?Bt(m(t)):Vn)},b.createRef=function(){var t={current:null};return Object.seal(t),t},b.forwardRef=function(t){t!=null&&t.$$typeof===et?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:Dt,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=F,b.lazy=function(t){return{$$typeof:Ae,_payload:{_status:-1,_result:t},_init:xe}},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:et,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=w.T,l={};w.T=l,l._updatedFibers=new Set;try{var d=t(),y=w.S;y!==null&&y(l,d),typeof d=="object"&&d!==null&&typeof d.then=="function"&&d.then(Me,Gt)}catch(P){Gt(P)}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.")),w.T=s}},b.unstable_useCacheRefresh=function(){return A().useCacheRefresh()},b.use=function(t){return A().use(t)},b.useActionState=function(t,s,l){return A().useActionState(t,s,l)},b.useCallback=function(t,s){return A().useCallback(t,s)},b.useContext=function(t){var s=A();return t.$$typeof===Je&&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 A().useDebugValue(t,s)},b.useDeferredValue=function(t,s){return A().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=A();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 A().useId()},b.useImperativeHandle=function(t,s,l){return A().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?"),A().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?"),A().useLayoutEffect(t,s)},b.useMemo=function(t,s){return A().useMemo(t,s)},b.useOptimistic=function(t,s){return A().useOptimistic(t,s)},b.useReducer=function(t,s,l){return A().useReducer(t,s,l)},b.useRef=function(t){return A().useRef(t)},b.useState=function(t){return A().useState(t)},b.useSyncExternalStore=function(t,s,l){return A().useSyncExternalStore(t,s,l)},b.useTransition=function(){return A().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=Ne((Eo,ct)=>{"use strict";process.env.NODE_ENV==="production"?ct.exports=cn():ct.exports=ln()});var pt=Ne((Ro,dn)=>{"use strict";var ft=Object.defineProperty,mr=Object.getOwnPropertyDescriptor,Er=Object.getOwnPropertyNames,yr=Object.prototype.hasOwnProperty,vr=(e,n)=>{for(var r in n)ft(e,r,{get:n[r],enumerable:!0})},gr=(e,n,r,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let u of Er(n))!yr.call(e,u)&&u!==r&&ft(e,u,{get:()=>n[u],enumerable:!(o=mr(n,u))||o.enumerable});return e},br=e=>gr(ft({},"__esModule",{value:!0}),e),fn={};vr(fn,{DisabledContext:()=>pn,DisabledProvider:()=>Rr,FocusableContext:()=>Pr});dn.exports=br(fn);var hr=O(),pn=(0,hr.createContext)(new Object),Tr=O();function Rr({value:e,children:n}){return(0,Tr.createElement)(pn.Provider,{value:e||new Object},n)}var wr=O(),Pr=(0,wr.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 dr({props:e,ref:n,context:r}){let o=lt({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 _=typeof i.style=="function"?i.style(m):i.style,g={...m.defaultStyle,..._},D=typeof e.style=="function"?e.style({...m,defaultStyle:g}):e.style;return{...g,...D}}:a.style={...i.style,...e.style}),[a,f]}var mn=U(O(),1),En=U(pt(),1);function dt(e={}){let{type:n="general",defaultFallback:r=!1}=e;return((0,mn.useContext)(En.DisabledContext)||{})[n]??r}var yn=U(O(),1);function _r(e={}){let{type:n="general",extraProps:r={}}=e,o=dt({type:n,defaultFallback:!1});return(0,yn.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 $=U(O(),1);function Sr(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,$.useState)(null),[_,g]=(0,$.useState)(!1),[D,C]=(0,$.useState)(null),x=(0,$.useRef)(!1),v=(0,$.useRef)(null),E=We(V=>{let B=V[0],G=B.isIntersecting,le={isIntersecting:B.isIntersecting,intersectionRatio:B.intersectionRatio,intersectionRect:B.intersectionRect,boundingClientRect:B.boundingClientRect,rootBounds:B.rootBounds,time:B.time};C(le),g(H=>c&&x.current?!0:G&&c?(x.current=!0,H!==!0&&f&&f(!0),!0):H!==G?(f&&f(G),G):H)}),F=(0,$.useCallback)(V=>{m(V)},[]);return(0,$.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]),[F,_,D]}var Ge=U(O(),1);var vn=["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","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rb","rp","rt","rtc","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"];var gn=vn;function Or(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.platform):!1}var Lr=()=>Or(/^Mac/i);function bn(e){return typeof window<"u"&&window.navigator!=null?e.test(window.navigator.platform):!1}var xr=()=>bn(/^iPhone/i),Mr=()=>bn(/^iPad/i)||Lr()&&navigator.maxTouchPoints>1,mt=()=>xr()||Mr();function Ar(e){return Ur(e)&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&"host"in e}function Ur(e){return e!==null&&typeof e=="object"&&"nodeType"in e&&typeof e.nodeType=="number"}function Ke(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:Ar(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 k=e=>e?.ownerDocument??document,ee=e=>e&&"window"in e&&e.window===e?e:k(e).defaultView||window,Ve=null;function Dr(){if(Ve==null){Ve=!1;try{document.createElement("div").focus({get preventScroll(){return Ve=!0,!0}})}catch{}}return Ve}function vt(e){if(Dr())e.focus({preventScroll:!0});else{let n=Fr(e);e.focus();for(let{element:r,scrollTop:o,scrollLeft:u}of n)r.scrollTop=o,r.scrollLeft=u}}function Fr(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,Et=new Set;function Ir(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",gt,{once:!0})),n.add(e.propertyName)}function gt(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",gt),Z.delete(e.target)),Z.size===0)){for(let r of Et)r();Et.clear()}}if(typeof window<"u"&&typeof document<"u"){let e=()=>{let n=document.body;n&&(n.addEventListener("transitionrun",Ir),n.addEventListener("transitionend",gt))};document.readyState!=="loading"?e():document.addEventListener("DOMContentLoaded",e,{once:!0})}function bt(e){requestAnimationFrame(()=>{for(let[n]of Z)"isConnected"in n&&!n.isConnected&&Z.delete(n);Z.size===0?e():Et.add(e)})}var Ho=gn.reduce((e,n)=>{var r;return e[r=n,r.charAt(0).toUpperCase()+r.slice(1)]=n,e},{}),Ee="default",yt="",he=new WeakMap;function $e(e){if(mt()){if(Ee==="default"){let n=k(e);n?.documentElement?.style.webkitUserSelect!==void 0&&(yt=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(mt()){if(Ee!=="disabled")return;Ee="restoring",setTimeout(()=>{bt(()=>{if(Ee==="restoring"){let n=k(e);n?.documentElement?.style.webkitUserSelect==="none"&&(n.documentElement.style.webkitUserSelect=yt||""),yt="",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,Ge.useCallback)((m,_)=>{m?(r?.(_),u?.(!0)):(o?.(_),u?.(!1))},[r,o,u]),c=(0,Ge.useCallback)(m=>{m.target===m.currentTarget&&i(!1,m)},[i]),f=Re({onBlur:c}),a=(0,Ge.useCallback)(m=>{let _=k(m.target),g=_?J(_):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),hn=U(pt(),1);function kr(e,n){let{autoFocus:r,isDisabled:o,excludeFromTabOrder:u}=e,{focusProps:i}=Te(e),{keyboardProps:c}=ht(e),f=(0,ye.useContext)(hn.FocusableContext)||{},a=(0,ye.useRef)(r);Tt({context:f,ref:n});let{ref:m,..._}=f,g=k(n.current),D=J(g);(0,ye.useEffect)(()=>{if(a.current&&n.current)if(we()==="virtual"){let x=D;bt(()=>{J(g)===x&&n.current?.isConnected&&vt(n.current)})}else vt(n.current);a.current=!1},[n]);let C=u?-1:0;return o&&(C=void 0),{focusableProps:be({...be(i??{},c),tabIndex:C},o?{}:_)}}var ne=U(O(),1);var Nr=null;function Hr(e={}){let{within:n=!1,isTextInput:r=!1,autoFocus:o=!1}=e,u=(0,ne.useRef)({isFocused:o,isFocusVisible:o||Nr!=="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)},[]),_=(0,ne.useCallback)(C=>{u.current.isFocused=C,c(C),m()},[m]);Pe({fn:C=>{u.current.isFocusVisible=C,m()},deps:[],opts:{isTextInput:r}});let{focusProps:g={}}=Te({isDisabled:n,onFocusChange:_})||{},{focusWithinProps:D={}}=Rt({isDisabled:!n,onFocusWithinChange:_})||{};return{isFocused:i,isFocusVisible:f,focusProps:n?D:g}}var Tn=U(O(),1);function jr(e={}){let{isTextInput:n,autoFocus:r}=e,[o,u]=(0,Tn.useState)(r||we()!=="pointer");return Pe({fn:i=>u(i),deps:[n],opts:{isTextInput:n}}),{isFocusVisible:o}}var ve=new Map,qe=new Set,Rn=!1,wt=null,wn=!1,N={get hasEventBeforeFocus(){return Rn},set hasEventBeforeFocus(e){Rn=e},get hasBlurredWindowRecently(){return wn},set hasBlurredWindowRecently(e){wn=e},get currentModality(){return wt},set currentModality(e){wt=e}};function we(){return wt}var no={},ze=Object.create(null),_e=e=>globalThis.process?.env||no.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?ze:globalThis),re=new Proxy(ze,{get(e,n){return _e()[n]??ze[n]},has(e,n){let r=_e();return n in r||n in ze},set(e,n,r){let o=_e(!0);return o[n]=r,!0},deleteProperty(e,n){if(!n)return!1;let r=_e(!0);return delete r[n],!0},ownKeys(){let e=_e(!0);return Object.keys(e)}}),_n=typeof process<"u"&&process.env&&process.env.NODE_ENV||"",Br=[["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 Wr(){if(globalThis.process?.env)for(let e of Br){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 Sn=Wr(),ls=Sn.name;function ae(e){return e?e!=="false":!1}var Pt=globalThis.process?.platform||"",Cn=ae(re.CI)||Sn.ci!==!1,On=ae(globalThis.process?.stdout&&globalThis.process?.stdout.isTTY);var fs=ae(re.DEBUG),ce=_n==="test"||ae(re.TEST),Ln=_n==="production";var ps=ae(re.MINIMAL)||Cn||ce||!On,Vr=/^win/i.test(Pt),ds=/^linux/i.test(Pt),xn=/^darwin/i.test(Pt),ms=!ae(re.NO_COLOR)&&(ae(re.FORCE_COLOR)||(On||Vr)&&re.TERM!=="dumb"||Cn),Kr=(globalThis.process?.versions?.node||"").replace(/^v/,"")||null,Es=Number(Kr?.split(".")[0])||null,Yr=globalThis.process||Object.create(null),Pn={versions:{}},ys=new Proxy(Yr,{get(e,n){if(n==="env")return re;if(n in e)return e[n];if(n in Pn)return Pn[n]}}),$r=globalThis.process?.release?.name==="node",Gr=!!globalThis.Bun||!!globalThis.process?.versions?.bun,qr=!!globalThis.Deno,zr=!!globalThis.fastly,Qr=!!globalThis.Netlify,Xr=!!globalThis.EdgeRuntime,Zr=globalThis.navigator?.userAgent==="Cloudflare-Workers",Jr=[[Qr,"netlify"],[Xr,"edge-light"],[Zr,"workerd"],[zr,"fastly"],[qr,"deno"],[Gr,"bun"],[$r,"node"]];function eo(){let e=Jr.find(n=>n[0]);if(e)return{name:e[1]}}var to=eo(),vs=to?.name||"";var An=U(O(),1);function _t(e){if(!e)return;let n=!0;return r=>{let o={...r,preventDefault(){r.preventDefault()},isDefaultPrevented(){return r.isDefaultPrevented()},stopPropagation(){n&&Ln?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 Qe(e){let n=e;return Object.assign(n,{nativeEvent:e,isDefaultPrevented:()=>n.defaultPrevented,isPropagationStopped:()=>n.cancelBubble,persist:()=>{}}),n}var ro=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),oo={Tab:!0,Escape:!0};function Mn(e,n,r){if(!r||!("target"in r)||!r.target)return!1;let o=k(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&&!ro.has(m.type)||m instanceof c||m instanceof f&&m.isContentEditable,!(e&&n==="keyboard"&&r instanceof a&&!oo[r.key])}function Ct(e,n){qe.forEach(r=>r(e,n))}function so(e){return!(e.metaKey||xn&&e.altKey||e.ctrlKey||["Control","Shift","Meta"].includes(e.key))}function Un(e){so(e)&&(N.hasEventBeforeFocus=!0,N.currentModality="keyboard",Ct("keyboard",e))}function St(e){["mousedown","pointerdown"].includes(e.type)&&(N.hasEventBeforeFocus=!0,N.currentModality="pointer",Ct("pointer",e))}function Dn(e){[window,document].includes(e.target)||!e.isTrusted||!N.hasEventBeforeFocus&&!N.hasBlurredWindowRecently||(!N.hasEventBeforeFocus&&!N.hasBlurredWindowRecently&&(N.currentModality="virtual",Ct("virtual",e)),N.hasEventBeforeFocus=!1,N.hasBlurredWindowRecently=!1)}function Fn(){N.hasEventBeforeFocus=!1,N.hasBlurredWindowRecently=!0}function uo(e){let n=ee(e),r=k(e);if(typeof window>"u"||typeof document>"u"||ve.has(n))return;let o=n.HTMLElement.prototype.focus;n.HTMLElement.prototype.focus=function(...u){N.hasEventBeforeFocus=!0,o.apply(this,u)},r.addEventListener("keydown",Un,!0),r.addEventListener("click",St,!0),n.addEventListener("focus",Dn,!0),n.addEventListener("blur",Fn,!1),typeof PointerEvent<"u"&&r.addEventListener("pointerdown",St,!0),ve.set(n,{focus:o})}function io(e){let n=ee(e),r=k(e);if(!ve.has(n))return;let{focus:o}=ve.get(n);n.HTMLElement.prototype.focus=o,r.removeEventListener("keydown",Un,!0),r.removeEventListener("click",St,!0),n.removeEventListener("focus",Dn,!0),n.removeEventListener("blur",Fn,!1),ve.delete(n)}function Pe(e){let{fn:n,deps:r,opts:o}=e;typeof window>"u"||typeof document>"u"||(uo(),(0,An.useEffect)(()=>{let u=(i,c)=>{Mn(!!o?.isTextInput,i,c)&&n(N.currentModality!=="pointer")};return qe.add(u),()=>{qe.delete(u),io()}},r))}var Se=U(O(),1);function Rt(e){let{isDisabled:n,onFocusWithin:r,onBlurWithin:o,onFocusWithinChange:u}=e,i=(0,Se.useRef)({isFocusWithin:!1}),{addGlobalListener:c,removeAllGlobalListeners:f}=Ce(),a=(0,Se.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}),_=(0,Se.useCallback)(g=>{if(!g.currentTarget.contains(g.target))return;let D=k(g.target),C=J(D);if(!i.current.isFocusWithin&&C===Ye(g.nativeEvent)){r&&r(g),u&&u(!0),i.current.isFocusWithin=!0,m(g);let x=g.currentTarget;c(D,"focus",v=>{if(i.current.isFocusWithin&&!Ke(x,v.target)&&D.defaultView&&typeof D.defaultView.FocusEvent=="function"){let E=new D.defaultView.FocusEvent("blur",{relatedTarget:v.target});Object.defineProperty(E,"target",{value:x}),Object.defineProperty(E,"currentTarget",{value:x});let F=Qe(E);a(F)}},{capture:!0})}},[r,u,m,c,a]);return n?{focusWithinProps:{onFocus:void 0,onBlur:void 0}}:{focusWithinProps:{onFocus:_,onBlur:a}}}var oe=U(O(),1);function Ce(){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 ao(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:_}=Ce(),g=(0,W.useCallback)(()=>{f.current.ignoreEmulated=!0,setTimeout(()=>{f.current.ignoreEmulated=!1},50)},[]);(0,W.useEffect)(()=>{let v=F=>{F.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 D=(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(k(v.target instanceof Element?v.target:null),"pointerover",F=>{a.isHovered&&a.target&&!Ke(a.target,F.target)&&C(F,F.pointerType)},{capture:!0}),n?.({type:"hoverstart",target:v.currentTarget,pointerType:E}),r?.(!0),c(!0))},[u,n,r,m,a]),C=(0,W.useCallback)((v,E)=>{E==="touch"||!a.isHovered||!a.target||(a.isHovered=!1,a.pointerType="",a.target=null,_(),o?.({type:"hoverend",target:v.currentTarget,pointerType:E}),r?.(!1),c(!1))},[o,r,_,a.target,a]),x=(0,W.useMemo)(()=>{let v={};return typeof PointerEvent<"u"?(v.onPointerEnter=E=>{f.current.ignoreEmulated&&E.pointerType==="mouse"||D(E,E.pointerType)},v.onPointerLeave=E=>{!u&&E.currentTarget instanceof Element&&E.currentTarget.contains(E.target)&&C(E,E.pointerType)}):ce&&(v.onTouchStart=()=>{a.ignoreEmulatedMouseEvents=!0},v.onMouseEnter=E=>{!a.ignoreEmulatedMouseEvents&&!f.current.ignoreEmulated&&D(E.nativeEvent,"mouse"),a.ignoreEmulatedMouseEvents=!1},v.onMouseLeave=E=>{!u&&E.currentTarget.contains(E.target)&&C(E.nativeEvent,"mouse")}),v},[u,D,C,a]);return(0,W.useEffect)(()=>{u&&a.isHovered&&C({currentTarget:a.target},a.pointerType)},[u,C,a.isHovered,a.pointerType,a.target]),{hoverProps:x,isHovered:i}}var Ot={prefix:String(Math.round(Math.random()*1e10)),current:0},Oe=new Map,Le=typeof FinalizationRegistry<"u"?new FinalizationRegistry(e=>{Oe.delete(e)}):null;var Y=U(O(),1);function co(e={}){let{prefix:n="necto",defaultId:r}=e,[o,u]=(0,Y.useState)(()=>r),i=(0,Y.useRef)(null),c=(0,Y.useRef)({}),f=(()=>{if(r)return r;let a=typeof Y.default.useId=="function"?(0,Y.useId)():String(++Ot.current);return`${ce?n:`${n}${Ot.prefix}`}-${a}`})();return(0,Y.useEffect)(()=>{if(typeof window<"u"&&window.document?.createElement){let a=Oe.get(f)||[],m={current:i.current};a.some(_=>_===m)||Oe.set(f,[...a,m])}return Le&&Le.register(c.current,f),()=>{Le&&Le.unregister(c.current),Oe.delete(f)}},[f]),(0,Y.useEffect)(()=>{let a=i.current;a&&(u(a),i.current=null)},[]),f}function ht(e){return{keyboardProps:e.isDisabled?{}:{onKeyDown:e.onKeyDown?_t(n=>e.onKeyDown?.(n.nativeEvent)):void 0,onKeyUp:e.onKeyUp?_t(n=>e.onKeyUp?.(n.nativeEvent)):void 0}}}var se=U(O(),1);function Lt(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 lo(e={}){let{isDisabled:n,preventFocusOnPress:r,allowTextSelectionOnPress:o,ref:u,onPress:i,onPressStart:c,onPressEnd:f,onPressChange:a,onPressUp:m,onClick:_}=e,[g,D]=(0,L.useState)(!1),C=(0,L.useRef)(!1),x=(0,L.useRef)(null),v=(0,L.useRef)(!1),E=(0,L.useCallback)(p=>{g!==p&&(D(p),a?.(p))},[g,a]),F=(0,L.useCallback)(p=>{if(!v.current)return;let I=x.current&&x.current instanceof Node&&p.target instanceof Node&&x.current.contains(p.target);if(v.current=!1,E(!1),!o&&x.current instanceof HTMLElement&&te(x.current),p.target){let z={...j("pressend","mouse",p),target:p.target};f?.(z),m?.(z),I&&i?.(z)}},[f,m,i,E,o]),V=(0,L.useCallback)(p=>{if(n||p.button!==0||C.current)return;r&&p.preventDefault(),o||$e(p.currentTarget),v.current=!0,x.current=p.currentTarget,E(!0);let I=j("pressstart","mouse",p);c?.(I),window.addEventListener("mouseup",F,{once:!0})},[n,r,o,c,E,F]),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 I=j("pressend","mouse",p);f?.(I),m?.(I),p.currentTarget instanceof Node&&p.currentTarget.contains(p.target)&&i?.(j("press","mouse",p))},[n,i,f,m,E,o]),G=(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&&x.current instanceof HTMLElement&&te(x.current);let I={...j("pressend","touch",p),target:p.target};f?.(I),m?.(I)},[f,m,E,o]),q=(0,L.useCallback)(p=>{if(!v.current)return;v.current=!1,E(!1),!o&&x.current instanceof HTMLElement&&te(x.current);let I={...j("pressend","touch",p),target:p.target};f?.(I)},[f,E,o]),xe=(0,L.useCallback)(p=>{n||(o||$e(p.currentTarget),C.current=!0,setTimeout(()=>{C.current=!1},100),v.current=!0,x.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]),A=(0,L.useCallback)(p=>{if(n||!v.current)return;v.current=!1,E(!1),!o&&p.currentTarget instanceof HTMLElement&&te(p.currentTarget);let I=j("pressend","touch",p);f?.(I),m?.(I),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}C.current||_?.(p)},[n,_]);(0,L.useEffect)(()=>()=>{window.removeEventListener("mouseup",F),window.removeEventListener("touchend",H),window.removeEventListener("touchcancel",q)},[F,H,q]);let fe=(0,L.useMemo)(()=>({onMouseDown:V,onMouseUp:B,onMouseLeave:G,onMouseEnter:le,onTouchStart:xe,onTouchEnd:A,onKeyDown:Me,onKeyUp:ie,onClick:Q}),[V,B,G,le,xe,A,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 In=U(O(),1);function fo(e){let{className:n,style:r,children:o,defaultClassName:u="necto",defaultChildren:i,defaultStyle:c,values:f}=e;return(0,In.useMemo)(()=>{let a=typeof n=="function"?n({...f,defaultClassName:u}):`${u} ${n}`,m=typeof r=="function"?r({...f,defaultStyle:c||{}}):{...c,...r},_=typeof o=="function"?o({...f,defaultChildren:i}):o??i;return{className:a,style:m,children:_}},[n,r,o,u,i,c,f])}var kn=U(O(),1);function lt(e){let{context:n,slot:r}=e,o=(0,kn.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 Nn=U(O(),1);function Tt(e={}){let{ref:n,context:r}=e;(typeof document<"u"?Nn.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=Qe(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 Xe=U(O(),1);function Su(e){let n=Lt(),[r,o]=(0,Xe.useState)(!1);return(0,Xe.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 s(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 i(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:s(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:s}=t,i=e.useCallback(((e,t)=>{e?(r?.(t),s?.(!0)):(o?.(t),s?.(!1))}),[r,o,s]),d=e.useCallback((e=>{e.target===e.currentTarget&&i(!1,e)}),[i]),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)&&(i(!0,e),f(e))}),[i,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),s=u?.options?.once?u.fn:r;e.removeEventListener(n,s,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:s,onFocusWithinChange:d}=t,f=e.useRef({isFocusWithin:!1}),{addGlobalListener:v,removeAllGlobalListeners:g}=p(),b=e.useCallback((e=>{e.currentTarget.contains(e.target)&&f.current.isFocusWithin&&!e.currentTarget.contains(e.relatedTarget)&&(f.current.isFocusWithin=!1,g(),s&&s(e),d&&d(!1))}),[s,d,f,g]),E=u(b),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,E(e);let n=e.currentTarget;v(t,"focus",(e=>{if(f.current.isFocusWithin&&!i(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}),b(o(r))}}),{capture:!0})}}),[r,d,E,v,b]);return n?{focusWithinProps:{onFocus:void 0,onBlur:void 0}}:{focusWithinProps:{onFocus:m,onBlur:b}}}var g=function(){return function(e){return typeof window<"u"&&null!=window.navigator&&e.test(window.navigator.userAgentData?.platform||window.navigator.platform)}(/^Mac/i)},b=new Set(["checkbox","radio","range","color","file","image","button","submit","reset"]),E={Tab:!0,Escape:!0};let m=new Map,T=!1,y=!1,h=null,w=new Set;function L(e,t){w.forEach((n=>n(e,t)))}function F(e){e.metaKey||!g()&&e.altKey||e.ctrlKey||["Control","Shift","Meta"].includes(e.key)||(T=!0,h="keyboard",L("keyboard",e))}function M(e){["mousedown","pointerdown"].includes(e.type)&&(T=!0,h="pointer",L("pointer",e))}function C(e){![window,document].includes(e.target)&&e.isTrusted&&(T||y)&&(T||y||(h="virtual",L("virtual",e)),T=!1,y=!1)}function k(){T=!1,y=!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){T=!0,r.apply(this,e)},n.addEventListener("keydown",F,!0),n.addEventListener("click",M,!0),t.addEventListener("focus",C,!0),t.addEventListener("blur",k,!1),"undefined"!=typeof PointerEvent&&n.addEventListener("pointerdown",M,!0),m.set(t,{focus:r})}function H(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,s=typeof window<"u"?o.HTMLTextAreaElement:HTMLTextAreaElement,i=typeof window<"u"?o.HTMLElement:HTMLElement,a=typeof window<"u"?o.KeyboardEvent:KeyboardEvent,c=r.activeElement;return!((e=e||c instanceof u&&!b.has(c.type)||c instanceof s||c instanceof i&&c.isContentEditable)&&"keyboard"===t&&n instanceof a&&!E[n.key])})(!!r?.isTextInput,e,n)&&t("pointer"!==h)};return w.add(e),()=>{w.delete(e)}}),n)}let P=!1;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",k,!1),m.delete(t)}(e)},exports.createSyntheticEvent=o,exports.getInteractionModality=function(){return h},exports.setGlobalIgnoreEmulatedMouseEvents=function(){P=!0,setTimeout((()=>{P=!1}),50)},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,s]=e.useState(!1),[i,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,s(e),c()}),[c]);H((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:i,focusProps:t?p:d}},exports.useFocusVisibleListener=H,exports.useFocusWithin=v,exports.useGlobalListeners=p,exports.useHover=function(t){let{onHoverStart:n,onHoverChange:r,onHoverEnd:o,isDisabled:u}=t,[s,a]=e.useState(!1),c=e.useRef({isHovered:!1,ignoreEmulatedMouseEvents:!1,pointerType:"",target:null}),{addGlobalListener:d,removeAllGlobalListeners:f}=p(),v=e.useCallback(((e,t)=>{let o=c.current;o.pointerType=t,!u&&"touch"!==t&&!o.isHovered&&e.currentTarget.contains(e.target)&&(o.isHovered=!0,o.target=e.currentTarget,d(l(e.target),"pointerover",(e=>{o.isHovered&&o.target&&!i(o.target,e.target)&&g(e,e.pointerType)}),{capture:!0}),n?.({type:"hoverstart",target:e.currentTarget,pointerType:t}),r?.(!0),a(!0))}),[u,n,r,d]),g=e.useCallback(((e,t)=>{let n=c.current;"touch"!==t&&n.isHovered&&n.target&&(n.isHovered=!1,n.pointerType="",n.target=null,f(),o?.({type:"hoverend",target:e.currentTarget,pointerType:t}),r?.(!1),a(!1))}),[o,r,f]),b=e.useMemo((()=>{let e={onMouseLeave:()=>{},onMouseEnter:()=>{},onTouchStart:()=>{},onPointerLeave:()=>{},onPointerEnter:()=>{}};return"undefined"!=typeof PointerEvent?(e.onPointerEnter=e=>{P&&"mouse"===e.pointerType||v(e,e.pointerType)},e.onPointerLeave=e=>{!u&&e.currentTarget.contains(e.target)&&g(e,e.pointerType)}):(e.onTouchStart=()=>{c.current.ignoreEmulatedMouseEvents=!0},e.onMouseEnter=e=>{c.current.ignoreEmulatedMouseEvents||P||v(e,"mouse"),c.current.ignoreEmulatedMouseEvents=!1},e.onMouseLeave=e=>{!u&&e.currentTarget.contains(e.target)&&g(e,"mouse")}),e}),[u,v,g]);return e.useEffect((()=>{u&&c.current.isHovered&&g({currentTarget:c.current.target},c.current.pointerType)}),[u,g]),{hoverProps:b,isHovered:s}},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.10.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 a}from"react";let c=e({});function l(){return t(c)||{}}function d(e="general",n=!1){return(t(c)||{})[e]??n}function f(e="general",t={}){let r=d(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(c.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 b(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 T(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:b(r)?r.host:r.parentNode}return!1}var m=(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 w=e=>e?.ownerDocument??document,h=e=>e&&"window"in e&&e.window===e?e:w(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]),a=E(s),c=i((e=>{let t=w(e.target),n=t?m(t):m();e.target===e.currentTarget&&n===y(e.nativeEvent)&&(u(!0,e),a(e))}),[u,a]);return{focusProps:{...t?{}:{onFocus:c,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:a,removeAllGlobalListeners:c}=F(),l=i((e=>{e.currentTarget.contains(e.target)&&s.current.isFocusWithin&&!e.currentTarget.contains(e.relatedTarget)&&(s.current.isFocusWithin=!1,c(),r&&r(e),u&&u(!1))}),[r,u,s,c]),d=E(l),f=i((e=>{if(!e.currentTarget.contains(e.target))return;let t=w(e.target),r=m(t);if(!s.current.isFocusWithin&&r==y(e.nativeEvent)){n&&n(e),u&&u(!0),s.current.isFocusWithin=!0,d(e);let r=e.currentTarget;a(t,"focus",(e=>{if(s.current.isFocusWithin&&!T(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}),l(g(n))}}),{capture:!0})}}),[n,u,d,a,l]);return t?{focusWithinProps:{onFocus:void 0,onBlur:void 0}}:{focusWithinProps:{onFocus:f,onBlur:l}}}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"]),W={Tab:!0,Escape:!0};let S=new Map,k=!1,C=!1,D=null,x=new Set;function A(e,t){x.forEach((n=>n(e,t)))}function G(e){e.metaKey||!H()&&e.altKey||e.ctrlKey||["Control","Shift","Meta"].includes(e.key)||(k=!0,D="keyboard",A("keyboard",e))}function B(e){["mousedown","pointerdown"].includes(e.type)&&(k=!0,D="pointer",A("pointer",e))}function N(e){![window,document].includes(e.target)&&e.isTrusted&&(k||C)&&(k||C||(D="virtual",A("virtual",e)),k=!1,C=!1)}function O(){k=!1,C=!0}function V(e){let t=h(e),n=w(e);if("undefined"==typeof window||"undefined"==typeof document||S.has(t))return;let r=t.HTMLElement.prototype.focus;t.HTMLElement.prototype.focus=function(...e){k=!0,r.apply(this,e)},n.addEventListener("keydown",G,!0),n.addEventListener("click",B,!0),t.addEventListener("focus",N,!0),t.addEventListener("blur",O,!1),"undefined"!=typeof PointerEvent&&n.addEventListener("pointerdown",B,!0),S.set(t,{focus:r})}function I(e){let t=w(e);return"loading"!==t.readyState?V(e):t.addEventListener("DOMContentLoaded",(()=>V(e))),()=>function(e){let t=h(e),n=w(e);if(!S.has(t))return;let{focus:r}=S.get(t);t.HTMLElement.prototype.focus=r,n.removeEventListener("keydown",G,!0),n.removeEventListener("click",B,!0),t.removeEventListener("focus",N,!0),t.removeEventListener("blur",O,!1),S.delete(t)}(e)}function K(){return D}function R(e,t,n){V(),s((()=>{let t=(t,r)=>{(function(e,t,n){if(!n||!("target"in n)||!n.target)return!1;let r=w(n.target),o=h(n.target),i=typeof window<"u"?o.HTMLInputElement:HTMLInputElement,u=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 i&&!P.has(c.type)||c instanceof u||c instanceof s&&c.isContentEditable)&&"keyboard"===t&&n instanceof a&&!W[n.key])})(!!n?.isTextInput,t,r)&&e("pointer"!==D)};return x.add(t),()=>{x.delete(t)}}),t)}function j({within:e=!1,isTextInput:t=!1,autoFocus:n=!1}={}){let r=o({isFocused:!1,isFocusVisible:n||!0}),[u,s]=a(!1),[c,l]=a((()=>r.current.isFocused&&r.current.isFocusVisible)),d=i((()=>{l(r.current.isFocused&&r.current.isFocusVisible)}),[]),f=i((e=>{r.current.isFocused=e,s(e),d()}),[d]);R((e=>{r.current.isFocusVisible=e,d()}),[],{isTextInput:t});let{focusProps:v}=L({isDisabled:e,onFocusChange:f}),{focusWithinProps:p}=M({isDisabled:!e,onFocusWithinChange:f});return{isFocused:u,isFocusVisible:c,focusProps:e?p:v}}let _=!1;function U(){_=!0,setTimeout((()=>{_=!1}),50)}function q(e){let{onHoverStart:t,onHoverChange:r,onHoverEnd:u,isDisabled:c}=e,[l,d]=a(!1),f=o({isHovered:!1,ignoreEmulatedMouseEvents:!1,pointerType:"",target:null}),{addGlobalListener:v,removeAllGlobalListeners:p}=F(),g=i(((e,n)=>{let o=f.current;o.pointerType=n,!c&&"touch"!==n&&!o.isHovered&&e.currentTarget.contains(e.target)&&(o.isHovered=!0,o.target=e.currentTarget,v(w(e.target),"pointerover",(e=>{o.isHovered&&o.target&&!T(o.target,e.target)&&E(e,e.pointerType)}),{capture:!0}),t?.({type:"hoverstart",target:e.currentTarget,pointerType:n}),r?.(!0),d(!0))}),[c,t,r,v]),E=i(((e,t)=>{let n=f.current;"touch"!==t&&n.isHovered&&n.target&&(n.isHovered=!1,n.pointerType="",n.target=null,p(),u?.({type:"hoverend",target:e.currentTarget,pointerType:t}),r?.(!1),d(!1))}),[u,r,p]),b=n((()=>{let e={onMouseLeave:()=>{},onMouseEnter:()=>{},onTouchStart:()=>{},onPointerLeave:()=>{},onPointerEnter:()=>{}};return"undefined"!=typeof PointerEvent?(e.onPointerEnter=e=>{_&&"mouse"===e.pointerType||g(e,e.pointerType)},e.onPointerLeave=e=>{!c&&e.currentTarget.contains(e.target)&&E(e,e.pointerType)}):(e.onTouchStart=()=>{f.current.ignoreEmulatedMouseEvents=!0},e.onMouseEnter=e=>{f.current.ignoreEmulatedMouseEvents||_||g(e,"mouse"),f.current.ignoreEmulatedMouseEvents=!1},e.onMouseLeave=e=>{!c&&e.currentTarget.contains(e.target)&&E(e,"mouse")}),e}),[c,g,E]);return s((()=>{c&&f.current.isHovered&&E({currentTarget:f.current.target},f.current.pointerType)}),[c,E]),{hoverProps:b,isHovered:l}}export{v as DisabledProvider,I as addWindowFocusTracking,g as createSyntheticEvent,K as getInteractionModality,U as setGlobalIgnoreEmulatedMouseEvents,d as useDisabled,l as useDisabledFlags,f as useDisabledProps,p as useEffectEvent,L as useFocus,j 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 isDisabled?: boolean;\n onHoverStart?: (event: HoverEvent) => void;\n onHoverEnd?: (event: HoverEvent) => void;\n onHoverChange?: (isHovered: boolean) => void;\n}\n\nexport interface HoverResult {\n hoverProps: DOMAttributes;\n isHovered: boolean;\n}\n\n// See https://github.com/adobe/react-spectrum/blob/main/packages/%40react-aria/interactions/src/useHover.ts#L33C1-L38C1\n// as well as https://bugs.webkit.org/show_bug.cgi?id=214609.\nlet globalIgnoreEmulatedMouseEvents = false;\nlet hoverCount = 0;\n\nexport function setGlobalIgnoreEmulatedMouseEvents() {\n globalIgnoreEmulatedMouseEvents = true;\n\n setTimeout(() => {\n globalIgnoreEmulatedMouseEvents = false;\n }, 50);\n}\n\nexport function useHover(props: HoverProps): HoverResult {\n const { onHoverStart, onHoverChange, onHoverEnd, isDisabled } = props;\n\n const [isHovered, setHovered] = useState(false);\n const state = useRef<{\n isHovered: boolean;\n ignoreEmulatedMouseEvents: boolean;\n pointerType: string;\n target: EventTarget | null;\n }>({\n isHovered: false,\n ignoreEmulatedMouseEvents: false,\n pointerType: '',\n target: null,\n });\n\n const { addGlobalListener, removeAllGlobalListeners } = useGlobalListeners();\n\n const triggerHoverStart = useCallback(\n (event: any, pointerType: string) => {\n const currentState = state.current;\n currentState.pointerType = pointerType;\n\n if (\n isDisabled ||\n pointerType === 'touch' ||\n currentState.isHovered ||\n !event.currentTarget.contains(event.target)\n ) {\n return;\n }\n\n currentState.isHovered = true;\n currentState.target = event.currentTarget;\n\n addGlobalListener(\n getOwnerDocument(event.target),\n 'pointerover',\n (e: any) => {\n if (\n currentState.isHovered &&\n currentState.target &&\n !nodeContains(currentState.target, e.target as Element)\n ) {\n triggerHoverEnd(e, e.pointerType);\n }\n },\n { capture: true }\n );\n\n onHoverStart?.({\n type: 'hoverstart',\n target: event.currentTarget,\n pointerType,\n });\n\n onHoverChange?.(true);\n setHovered(true);\n },\n [isDisabled, onHoverStart, onHoverChange, addGlobalListener]\n );\n\n const triggerHoverEnd = useCallback(\n (event: any, pointerType: string) => {\n const currentState = state.current;\n\n if (pointerType === 'touch' || !currentState.isHovered || !currentState.target) {\n return;\n }\n\n currentState.isHovered = false;\n currentState.pointerType = '';\n currentState.target = null;\n\n removeAllGlobalListeners();\n\n onHoverEnd?.({\n type: 'hoverend',\n target: event.currentTarget,\n pointerType,\n });\n\n onHoverChange?.(false);\n setHovered(false);\n },\n [onHoverEnd, onHoverChange, removeAllGlobalListeners]\n );\n\n const hoverProps = useMemo(() => {\n const props: DOMAttributes = {\n onMouseLeave: () => {},\n onMouseEnter: () => {},\n onTouchStart: () => {},\n onPointerLeave: () => {},\n onPointerEnter: () => {},\n };\n\n if (typeof PointerEvent !== 'undefined') {\n props.onPointerEnter = (e: any) => {\n if (globalIgnoreEmulatedMouseEvents && e.pointerType === 'mouse') return;\n triggerHoverStart(e, e.pointerType);\n };\n props.onPointerLeave = (e: any) => {\n if (!isDisabled && e.currentTarget.contains(e.target as Element)) {\n triggerHoverEnd(e, e.pointerType);\n }\n };\n } else {\n props.onTouchStart = () => {\n state.current.ignoreEmulatedMouseEvents = true;\n };\n props.onMouseEnter = (e: any) => {\n if (\n !state.current.ignoreEmulatedMouseEvents &&\n !globalIgnoreEmulatedMouseEvents\n ) {\n triggerHoverStart(e, 'mouse');\n }\n state.current.ignoreEmulatedMouseEvents = false;\n };\n props.onMouseLeave = (e: any) => {\n if (!isDisabled && e.currentTarget.contains(e.target as Element)) {\n triggerHoverEnd(e, 'mouse');\n }\n };\n }\n\n return props;\n }, [isDisabled, triggerHoverStart, triggerHoverEnd]);\n\n useEffect(() => {\n if (isDisabled && state.current.isHovered) {\n triggerHoverEnd({ currentTarget: state.current.target }, state.current.pointerType);\n }\n }, [isDisabled, triggerHoverEnd]);\n\n return { hoverProps, isHovered };\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","setGlobalIgnoreEmulatedMouseEvents","setTimeout","useHover","onHoverStart","onHoverChange","onHoverEnd","isHovered","setHovered","ignoreEmulatedMouseEvents","pointerType","triggerHoverStart","currentState","triggerHoverEnd","hoverProps","onMouseLeave","onMouseEnter","onTouchStart","onPointerLeave","onPointerEnter"],"mappings":"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"}
|