@but212/atom-effect-jquery 0.15.3 → 0.15.4

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.
@@ -1,2 +1,2 @@
1
- (function(m,h){typeof exports=="object"&&typeof module<"u"?h(exports,require("jquery")):typeof define=="function"&&define.amd?define(["exports","jquery"],h):(m=typeof globalThis<"u"?globalThis:m||self,h(m.AtomEffectJQuery={},m.jQuery))})(this,(function(m,h){"use strict";const Ze={ONE_SECOND_MS:1e3},ue={IDLE:"idle",PENDING:"pending",RESOLVED:"resolved",REJECTED:"rejected"},x={DISPOSED:1,HAS_FN_SUBS:2,HAS_OBJ_SUBS:4},v={...x,EXECUTING:8},l={...x,DIRTY:8,IDLE:16,PENDING:32,RESOLVED:64,REJECTED:128,RECOMPUTING:256,HAS_ERROR:512},L={...x,SYNC:8,NOTIFICATION_SCHEDULED:16},j={MAX_EXECUTIONS_PER_SECOND:1e3,MAX_EXECUTIONS_PER_EFFECT:100,MAX_EXECUTIONS_PER_FLUSH:1e4,MAX_FLUSH_ITERATIONS:1e3,MIN_FLUSH_ITERATIONS:10,BATCH_QUEUE_SHRINK_THRESHOLD:1e3},xe={MAX_DEPENDENCIES:1e3,WARN_INFINITE_LOOP:!0},V=1073741823,T=typeof process<"u"&&process.env&&process.env.NODE_ENV!=="production",$e=Object.freeze([]);class F extends Error{constructor(e,s=null,n=!0){super(e),this.name="AtomError",this.cause=s,this.recoverable=n,this.timestamp=new Date}}class k extends F{constructor(e,s=null){super(e,s,!0),this.name="ComputedError"}}class Y extends F{constructor(e,s=null){super(e,s,!1),this.name="EffectError"}}class he extends F{constructor(e,s=null){super(e,s,!1),this.name="SchedulerError"}}const g={COMPUTED_MUST_BE_FUNCTION:"Computed function must be a function",COMPUTED_SUBSCRIBER_MUST_BE_FUNCTION:"Subscriber listener must be a function or Subscriber object",COMPUTED_ASYNC_PENDING_NO_DEFAULT:"Async computation is pending. No default value provided",COMPUTED_COMPUTATION_FAILED:"Computed computation failed",COMPUTED_ASYNC_COMPUTATION_FAILED:"Async computed computation failed",COMPUTED_CIRCULAR_DEPENDENCY:"Circular dependency detected during computation",COMPUTED_DEPENDENCY_SUBSCRIPTION_FAILED:"Failed to subscribe to dependency",COMPUTED_DISPOSED:"Cannot access a disposed computed",ATOM_SUBSCRIBER_MUST_BE_FUNCTION:"Subscription listener must be a function or Subscriber object",ATOM_SUBSCRIBER_EXECUTION_FAILED:"Error occurred while executing atom subscribers",ATOM_INDIVIDUAL_SUBSCRIBER_FAILED:"Error during individual atom subscriber execution",EFFECT_MUST_BE_FUNCTION:"Effect function must be a function",EFFECT_EXECUTION_FAILED:"Effect execution failed",EFFECT_CLEANUP_FAILED:"Effect cleanup function execution failed",EFFECT_DISPOSED:"Cannot run a disposed effect",LARGE_DEPENDENCY_GRAPH:t=>`Large dependency graph detected: ${t} dependencies`,UNSUBSCRIBE_NON_EXISTENT:"Attempted to unsubscribe a non-existent listener",CALLBACK_ERROR_IN_ERROR_HANDLER:"Error occurred during onError callback execution"},me=Symbol("debugName"),et=Symbol("id"),Se=Symbol("type"),ve=Symbol("noDefaultValue");function tt(t){return"dependencies"in t&&Array.isArray(t.dependencies)}let Ue=0;function we(t,e,s){if(t._visitedEpoch!==s){if(t._visitedEpoch=s,t===e)throw new k("Indirect circular dependency detected");if(tt(t)){const n=t.dependencies;for(let i=0;i<n.length;i++){const o=n[i];o&&we(o,e,s)}}}}const P={enabled:typeof process<"u"&&process.env?.NODE_ENV==="development",maxDependencies:xe.MAX_DEPENDENCIES,warnInfiniteLoop:xe.WARN_INFINITE_LOOP,warn(t,e){this.enabled&&t&&console.warn(`[Atom Effect] ${e}`)},checkCircular(t,e){if(t===e)throw new k("Direct circular dependency detected");this.enabled&&(Ue++,we(t,e,Ue))},attachDebugInfo(t,e,s){if(!this.enabled)return;const n=t;n[me]=`${e}_${s}`,n[et]=s,n[Se]=e},getDebugName(t){if(t!=null&&me in t)return t[me]},getDebugType(t){if(t!=null&&Se in t)return t[Se]}};let st=1;const nt=()=>st++;class Le{constructor(){this.flags=0,this.version=0,this._lastSeenEpoch=-1,this._modifiedAtEpoch=-1,this._visitedEpoch=-1,this.id=nt()&V,this._tempUnsub=void 0}getShift(e){return this.version-e&V}}class Pe extends Le{subscribe(e){if(typeof e=="function")return this._addSubscriber(this._fnSubs,e,x.HAS_FN_SUBS);if(e!==null&&typeof e=="object"&&"execute"in e)return this._addSubscriber(this._objSubs,e,x.HAS_OBJ_SUBS);throw new F(g.ATOM_SUBSCRIBER_MUST_BE_FUNCTION)}subscriberCount(){return this._fnSubs.length+this._objSubs.length}_addSubscriber(e,s,n){if(e.indexOf(s)!==-1)return T&&console.warn("Attempted to subscribe the same listener twice. Ignoring duplicate subscription."),()=>{};e.push(s),this.flags|=n;let i=!1;return()=>{if(i)return;i=!0;const o=e.indexOf(s);if(o!==-1){const r=e.pop();o<e.length&&(e[o]=r),this.flags&=~(e.length===0?n:0)}}}_notifySubscribers(e,s){const n=this.flags,i=x.HAS_FN_SUBS|x.HAS_OBJ_SUBS;if(n&i){if(n&x.HAS_FN_SUBS){const o=this._fnSubs;for(let r=0,c=o.length;r<c;r++){const u=o[r];if(u)try{u(e,s)}catch(a){console.error(new F(g.ATOM_INDIVIDUAL_SUBSCRIBER_FAILED,a))}}}if(n&x.HAS_OBJ_SUBS){const o=this._objSubs;for(let r=0,c=o.length;r<c;r++){const u=o[r];if(u)try{u.execute()}catch(a){console.error(new F(g.ATOM_INDIVIDUAL_SUBSCRIBER_FAILED,a))}}}}}}class it{constructor(){this.acquired=0,this.released=0,this.rejected=new ot}}class ot{constructor(){this.frozen=0,this.tooLarge=0,this.poolFull=0}}class ye{constructor(){this.pool=[],this.maxPoolSize=50,this.maxReusableCapacity=256,this.stats=T?new it:null}acquire(){const e=this.stats;return T&&e&&e.acquired++,this.pool.pop()??[]}release(e,s){if(s&&e===s||Object.isFrozen(e)){const c=this.stats;T&&c&&e!==s&&c.rejected.frozen++;return}const n=e.length,i=this.pool,o=i.length;if(n>this.maxReusableCapacity||o>=this.maxPoolSize){const c=this.stats;T&&c&&(n>this.maxReusableCapacity?c.rejected.tooLarge++:c.rejected.poolFull++);return}e.length=0,i.push(e);const r=this.stats;T&&r&&r.released++}getStats(){const e=this.stats;if(!T||!e)return null;const{acquired:s,released:n,rejected:i}=e,o=i.frozen+i.tooLarge+i.poolFull;return{acquired:s,released:n,rejected:{frozen:i.frozen,tooLarge:i.tooLarge,poolFull:i.poolFull},leaked:s-n-o,poolSize:this.pool.length}}reset(){this.pool.length=0;const e=this.stats;T&&e&&(e.acquired=0,e.released=0,e.rejected.frozen=0,e.rejected.tooLarge=0,e.rejected.poolFull=0)}}const N=Object.freeze([]),H=Object.freeze([]),A=Object.freeze([]),z=new ye,J=new ye,M=new ye;function q(t,e,s,n){if(e!=null){if((typeof e=="object"||typeof e=="function")&&typeof e.addDependency=="function"){e.addDependency(t);return}if(typeof e=="function"){const i=e;s.indexOf(i)===-1&&(s.push(i),t.flags|=x.HAS_FN_SUBS);return}typeof e=="object"&&typeof e.execute=="function"&&n.indexOf(e)===-1&&(n.push(e),t.flags|=x.HAS_OBJ_SUBS)}}function Fe(t,e,s,n){const i=t.length,o=e.length,r=e!==N&&o>0;if(r)for(let u=0;u<o;u++){const a=e[u];a&&(a._tempUnsub=s[u])}const c=J.acquire();c.length=i;for(let u=0;u<i;u++){const a=t[u];if(!a)continue;const d=a._tempUnsub;d?(c[u]=d,a._tempUnsub=void 0):(P.checkCircular(a,n),c[u]=a.subscribe(n))}if(r)for(let u=0;u<o;u++){const a=e[u];if(a){const d=a._tempUnsub;d&&(d(),a._tempUnsub=void 0)}}return s!==H&&J.release(s),c}let ae=0;function ke(){return ae=ae+1&V||1,ae}function rt(){return ae}let Ie=0,De=0,le=!1;function Me(){return le?(T&&console.warn("Warning: startFlush() called during flush - ignored to prevent infinite loop detection bypass"),!1):(le=!0,Ie=Ie+1&V||1,De=0,!0)}function Be(){le=!1}function ct(){return le?++De:0}class ut{constructor(){this._queueBuffer=[[],[]],this._bufferIndex=0,this._size=0,this._epoch=0,this.isProcessing=!1,this._isBatching=!1,this.batchDepth=0,this.batchQueue=[],this.batchQueueSize=0,this.isFlushingSync=!1,this.maxFlushIterations=j.MAX_FLUSH_ITERATIONS}get phase(){return this.isProcessing||this.isFlushingSync?2:this._isBatching?1:0}get queueSize(){return this._size}get isBatching(){return this._isBatching}schedule(e){if(T&&typeof e!="function")throw new he("Scheduler callback must be a function");const s=this._epoch;if(e._nextEpoch!==s){if(e._nextEpoch=s,this._isBatching||this.isFlushingSync){this.batchQueue[this.batchQueueSize++]=e;return}this._queueBuffer[this._bufferIndex][this._size++]=e,this.isProcessing||this.flush()}}flush(){this.isProcessing||this._size===0||(this.isProcessing=!0,queueMicrotask(()=>{try{if(this._size===0)return;const e=Me();this._drainQueue(),e&&Be()}finally{this.isProcessing=!1,this._size>0&&!this._isBatching&&this.flush()}}))}flushSync(){this.isFlushingSync=!0;const e=Me();try{this._mergeBatchQueue(),this._drainQueue()}finally{this.isFlushingSync=!1,e&&Be()}}_mergeBatchQueue(){const e=this.batchQueueSize;if(e===0)return;const s=++this._epoch,n=this.batchQueue,i=this._queueBuffer[this._bufferIndex];let o=this._size;for(let r=0;r<e;r++){const c=n[r];c._nextEpoch!==s&&(c._nextEpoch=s,i[o++]=c)}this._size=o,this.batchQueueSize=0,n.length>j.BATCH_QUEUE_SHRINK_THRESHOLD&&(n.length=0)}_drainQueue(){let e=0;const s=this.maxFlushIterations;for(;this._size>0;){if(++e>s){this._handleFlushOverflow();return}this._processQueue(),this._mergeBatchQueue()}}_processQueue(){const e=this._bufferIndex,s=this._queueBuffer[e],n=this._size,i=e^1;this._bufferIndex=i,this._size=0,this._epoch++,this._processJobs(s,n)}_handleFlushOverflow(){console.error(new he(`Maximum flush iterations (${this.maxFlushIterations}) exceeded. Possible infinite loop.`)),this._size=0,this._queueBuffer[this._bufferIndex].length=0,this.batchQueueSize=0}_processJobs(e,s){for(let n=0;n<s;n++)try{e[n]()}catch(i){console.error(new he("Error occurred during scheduler execution",i))}e.length=0}startBatch(){this.batchDepth++,this._isBatching=!0}endBatch(){if(this.batchDepth===0){T&&console.warn("endBatch() called without matching startBatch(). Ignoring.");return}this.batchDepth--,this.batchDepth===0&&(this.flushSync(),this._isBatching=!1)}setMaxFlushIterations(e){if(e<j.MIN_FLUSH_ITERATIONS)throw new he(`Max flush iterations must be at least ${j.MIN_FLUSH_ITERATIONS}`);this.maxFlushIterations=e}}const se=new ut;class ht{constructor(){this.current=null}run(e,s){const n=this.current;this.current=e;try{return s()}finally{this.current=n}}getCurrent(){return this.current}}const O=new ht;function Ce(t){if(typeof t!="function")throw new F("Untracked callback must be a function");const e=O.current;O.current=null;try{return t()}finally{O.current=e}}class at extends Pe{constructor(e,s){super(),this._value=e,this._pendingOldValue=void 0,this._notifyTask=void 0,this._fnSubs=[],this._objSubs=[],s&&(this.flags|=L.SYNC),P.attachDebugInfo(this,"atom",this.id)}get value(){const e=O.current;return e&&q(this,e,this._fnSubs,this._objSubs),this._value}set value(e){const s=this._value;if(Object.is(s,e))return;this._value=e,this.version=this.version+1&V;const n=this.flags,i=L.HAS_FN_SUBS|L.HAS_OBJ_SUBS;n&i&&this._scheduleNotification(s)}_scheduleNotification(e){let s=this.flags;if(s&L.NOTIFICATION_SCHEDULED||(this._pendingOldValue=e,this.flags=s|=L.NOTIFICATION_SCHEDULED),s&L.SYNC&&!se.isBatching){this._flushNotifications();return}let n=this._notifyTask;n||(n=this._notifyTask=()=>this._flushNotifications()),se.schedule(n)}_flushNotifications(){const e=this.flags;if(!(e&L.NOTIFICATION_SCHEDULED)||e&L.DISPOSED)return;const s=this._pendingOldValue,n=this._value;this._pendingOldValue=void 0,this.flags&=-17,this._notifySubscribers(n,s)}peek(){return this._value}dispose(){this.flags&L.DISPOSED||(this._fnSubs=[],this._objSubs=[],this.flags|=L.DISPOSED,this._value=void 0,this._pendingOldValue=void 0,this._notifyTask=void 0)}}function je(t,e={}){return new at(t,e.sync??!1)}function ne(t,e,s){if(t instanceof TypeError)return new e(`Type error (${s}): ${t.message}`,t);if(t instanceof ReferenceError)return new e(`Reference error (${s}): ${t.message}`,t);if(t instanceof F)return t;const n=t instanceof Error?t.message:String(t),i=t instanceof Error?t:null;return new e(`Unexpected error (${s}): ${n}`,i)}function Te(t){return t!==null&&typeof t=="object"&&"value"in t&&"subscribe"in t&&typeof t.subscribe=="function"}function Ve(t){if(P.enabled&&t!=null&&typeof t=="object"){const e=P.getDebugType(t);if(e)return e==="computed"}return Te(t)&&"invalidate"in t&&typeof t.invalidate=="function"}function He(t){return t!=null&&typeof t.then=="function"}const ze=l.RESOLVED|l.PENDING|l.REJECTED,fe=Array(ze+1).fill(ue.IDLE);fe[l.RESOLVED]=ue.RESOLVED,fe[l.PENDING]=ue.PENDING,fe[l.REJECTED]=ue.REJECTED;class lt{constructor(e){this._owner=e,this._epoch=-1,this._nextDeps=N,this._nextVersions=A,this._depCount=0}execute(){this._owner._markDirty()}addDependency(e){if(e._lastSeenEpoch===this._epoch)return;e._lastSeenEpoch=this._epoch;const s=this._depCount,n=this._nextDeps,i=this._nextVersions;s<n.length?(n[s]=e,i[s]=e.version):(n.push(e),i.push(e.version)),this._depCount=s+1}reset(){this._epoch=-1,this._nextDeps=N,this._nextVersions=A,this._depCount=0}}class qe extends Pe{constructor(e,s={}){if(typeof e!="function")throw new k(g.COMPUTED_MUST_BE_FUNCTION);if(super(),this.MAX_ASYNC_RETRIES=3,this._value=void 0,this.flags=l.DIRTY|l.IDLE,this._error=null,this._promiseId=0,this._equal=s.equal??Object.is,this._fn=e,this._defaultValue="defaultValue"in s?s.defaultValue:ve,this._hasDefaultValue=this._defaultValue!==ve,this._onError=s.onError??null,this.MAX_PROMISE_ID=Number.MAX_SAFE_INTEGER-1,this._fnSubs=[],this._objSubs=[],this._dependencies=N,this._dependencyVersions=A,this._unsubscribes=H,this._cachedErrors=null,this._errorCacheEpoch=-1,this._asyncStartAggregateVersion=0,this._asyncRetryCount=0,this._trackable=new lt(this),P.attachDebugInfo(this,"computed",this.id),P.enabled){const n=this;n.subscriberCount=this.subscriberCount.bind(this),n.isDirty=()=>(this.flags&l.DIRTY)!==0,n.dependencies=this._dependencies,n.stateFlags=""}if(s.lazy===!1)try{this._recompute()}catch{}}get value(){const e=O.current;e&&q(this,e,this._fnSubs,this._objSubs);const s=this.flags;if(s&l.DISPOSED)throw new k(g.COMPUTED_DISPOSED);if(s&l.RECOMPUTING){if(this._hasDefaultValue)return this._defaultValue;throw new k(g.COMPUTED_CIRCULAR_DEPENDENCY)}s&(l.DIRTY|l.IDLE)&&this._recompute();const n=this.flags;return n&l.PENDING?this._handlePending():n&l.REJECTED?this._handleRejected():this._value}peek(){return this._value}get state(){const e=O.current;return e&&q(this,e,this._fnSubs,this._objSubs),fe[this.flags&ze]}get hasError(){const e=O.current;if(e&&q(this,e,this._fnSubs,this._objSubs),this.flags&(l.REJECTED|l.HAS_ERROR))return!0;const s=this._dependencies;for(let n=0,i=s.length;n<i;n++){const o=s[n];if(o&&o.flags&l.HAS_ERROR)return!0}return!1}get isValid(){return!this.hasError}get errors(){const e=O.current;if(e&&q(this,e,this._fnSubs,this._objSubs),!this.hasError)return $e;const s=rt();if(this._errorCacheEpoch===s&&this._cachedErrors!==null)return this._cachedErrors;const n=new Set;this._error&&n.add(this._error);const i=this._dependencies;for(let r=0,c=i.length;r<c;r++){const u=i[r];if(u&&"errors"in u){const a=u.errors;for(let d=0,G=a.length;d<G;d++){const C=a[d];C&&n.add(C)}}}const o=Object.freeze([...n]);return this._cachedErrors=o,this._errorCacheEpoch=s,o}get lastError(){const e=O.current;return e&&q(this,e,this._fnSubs,this._objSubs),this._error}get isPending(){const e=O.current;return e&&q(this,e,this._fnSubs,this._objSubs),(this.flags&l.PENDING)!==0}get isResolved(){const e=O.current;return e&&q(this,e,this._fnSubs,this._objSubs),(this.flags&l.RESOLVED)!==0}invalidate(){this._markDirty();const e=this._dependencyVersions;e!==A&&(M.release(e),this._dependencyVersions=A),this._errorCacheEpoch=-1,this._cachedErrors=null}dispose(){const e=this._unsubscribes;if(e!==H){for(let i=0,o=e.length;i<o;i++){const r=e[i];r&&r()}J.release(e),this._unsubscribes=H}const s=this._dependencies;s!==N&&(z.release(s),this._dependencies=N);const n=this._dependencyVersions;n!==A&&(M.release(n),this._dependencyVersions=A),this._fnSubs=[],this._objSubs=[],this.flags=l.DISPOSED|l.DIRTY|l.IDLE,this._error=null,this._value=void 0,this._promiseId=(this._promiseId+1)%this.MAX_PROMISE_ID,this._cachedErrors=null,this._errorCacheEpoch=-1}_clearDirty(){this.flags&=-9}_setPending(){this.flags=(this.flags|l.PENDING)&-209}_isResolved(){return(this.flags&l.RESOLVED)!==0}_setResolved(){this.flags=(this.flags|l.RESOLVED)&-689}_isRejected(){return(this.flags&l.REJECTED)!==0}_setRejected(){this.flags=this.flags&-113|(l.REJECTED|l.HAS_ERROR)}_setRecomputing(e){const s=l.RECOMPUTING;this.flags=this.flags&~s|(e?-1:0)&s}_recompute(){if(this.flags&l.RECOMPUTING)return;this._setRecomputing(!0);const e=this._trackable,s=this._dependencies,n=this._dependencyVersions;e._epoch=ke(),e._nextDeps=z.acquire(),e._nextVersions=M.acquire(),e._depCount=0;let i=!1;try{const o=O.run(e,this._fn),r=e._nextDeps,c=e._nextVersions,u=e._depCount;r.length=u,c.length=u,this._unsubscribes=Fe(r,s,this._unsubscribes,this),this._dependencies=r,this._dependencyVersions=c,i=!0,He(o)?this._handleAsyncComputation(o):this._finalizeResolution(o)}catch(o){let r=o;if(!i)try{const c=e._nextDeps,u=e._nextVersions,a=e._depCount;c.length=a,u.length=a,this._unsubscribes=Fe(c,s,this._unsubscribes,this),this._dependencies=c,this._dependencyVersions=u,i=!0}catch(c){r=c}this._handleComputationError(r)}finally{i?(s!==N&&z.release(s),n!==A&&M.release(n)):(z.release(e._nextDeps),M.release(e._nextVersions)),e.reset(),this._setRecomputing(!1)}}_handleAsyncComputation(e){this._setPending(),this._clearDirty(),this._notifySubscribers(void 0,void 0),this._asyncStartAggregateVersion=this._captureVersionSnapshot(),this._asyncRetryCount=0,this._promiseId=(this._promiseId+1)%this.MAX_PROMISE_ID;const s=this._promiseId;e.then(n=>{if(s===this._promiseId){if(this._captureVersionSnapshot()!==this._asyncStartAggregateVersion){if(this._asyncRetryCount<this.MAX_ASYNC_RETRIES){this._asyncRetryCount++,this._markDirty();return}const i=new k(`Async drift exceeded threshold after ${this.MAX_ASYNC_RETRIES} retries.`);this._handleAsyncRejection(i);return}this._finalizeResolution(n),this._notifySubscribers(n,void 0)}}).catch(n=>{s===this._promiseId&&this._handleAsyncRejection(n)})}_captureVersionSnapshot(){let e=0;const s=this._dependencies;for(let n=0,i=s.length;n<i;n++){const o=s[n];if(o){const r=o.version;e=((e<<5)-e|0)+r&V}}return e}_handleAsyncRejection(e){const s=ne(e,k,g.COMPUTED_ASYNC_COMPUTATION_FAILED);this.flags&l.REJECTED||(this.version=this.version+1&V),this._error=s,this._setRejected(),this._clearDirty();const n=this._onError;if(n)try{n(s)}catch(i){console.error(g.CALLBACK_ERROR_IN_ERROR_HANDLER,i)}this._notifySubscribers(void 0,void 0)}_finalizeResolution(e){(!(this.flags&l.RESOLVED)||!this._equal(this._value,e))&&(this.version=this.version+1&V),this._value=e,this._clearDirty(),this._setResolved(),this._error=null,this._setRecomputing(!1),this._cachedErrors=null,this._errorCacheEpoch=-1}_handleComputationError(e){const s=ne(e,k,g.COMPUTED_COMPUTATION_FAILED);this._error=s,this._setRejected(),this._clearDirty(),this._setRecomputing(!1);const n=this._onError;if(n)try{n(s)}catch(i){console.error(g.CALLBACK_ERROR_IN_ERROR_HANDLER,i)}throw s}_handlePending(){if(this._hasDefaultValue)return this._defaultValue;throw new k(g.COMPUTED_ASYNC_PENDING_NO_DEFAULT)}_handleRejected(){const e=this._error;if(e?.recoverable&&this._hasDefaultValue)return this._defaultValue;throw e}execute(){this._markDirty()}_markDirty(){const e=this.flags;e&(l.RECOMPUTING|l.DIRTY)||(this.flags=e|l.DIRTY,this._notifySubscribers(void 0,void 0))}}Object.freeze(qe.prototype);function Xe(t,e={}){return new qe(t,e)}class ft extends Le{constructor(e,s={}){super(),this._cleanup=null,this._dependencies=N,this._dependencyVersions=A,this._unsubscribes=H,this._nextDeps=null,this._nextVersions=null,this._nextUnsubs=null,this._executeTask=void 0,this._onError=s.onError??null,this._currentEpoch=-1,this._lastFlushEpoch=-1,this._executionsInEpoch=0,this._fn=e,this._sync=s.sync??!1,this._maxExecutions=s.maxExecutionsPerSecond??j.MAX_EXECUTIONS_PER_SECOND,this._maxExecutionsPerFlush=s.maxExecutionsPerFlush??j.MAX_EXECUTIONS_PER_EFFECT,this._trackModifications=s.trackModifications??!1,this._executionCount=0,this._historyPtr=0;const n=Number.isFinite(this._maxExecutions),i=n?Math.min(this._maxExecutions+1,j.MAX_EXECUTIONS_PER_SECOND+1):0;this._historyCapacity=i,this._history=T&&n&&i>0?new Array(i).fill(0):null,this._execId=0,P.attachDebugInfo(this,"effect",this.id)}run(){if(this.flags&v.DISPOSED)throw new Y(g.EFFECT_DISPOSED);this.execute(!0)}dispose(){const e=this.flags;if(e&v.DISPOSED)return;this.flags=e|v.DISPOSED,this._safeCleanup();const s=this._unsubscribes;if(s!==H){for(let o=0,r=s.length;o<r;o++){const c=s[o];c&&c()}J.release(s),this._unsubscribes=H}const n=this._dependencies;n!==N&&(z.release(n),this._dependencies=N);const i=this._dependencyVersions;i!==A&&(M.release(i),this._dependencyVersions=A),this._executeTask=void 0}addDependency(e){if(!(this.flags&v.EXECUTING))return;const s=this._currentEpoch;if(e._lastSeenEpoch===s)return;e._lastSeenEpoch=s;const n=this._nextDeps,i=this._nextVersions,o=this._nextUnsubs;if(!n||!i||!o)return;n.push(e),i.push(e.version);const r=e._tempUnsub;r?(o.push(r),e._tempUnsub=void 0):this._subscribeTo(e)}execute(e=!1){if(this.flags&(v.DISPOSED|v.EXECUTING)||!e&&!this._shouldExecute())return;this._checkInfiniteLoop(),this._setExecuting(!0),this._safeCleanup();const s=this._prepareEffectExecutionContext();let n=!1;try{const i=O.run(this,this._fn),o=s.nextDeps.length;s.nextDeps.length=o,s.nextVersions.length=o,this._dependencies=s.nextDeps,this._dependencyVersions=s.nextVersions,this._unsubscribes=s.nextUnsubs,n=!0,this._checkLoopWarnings();const r=++this._execId;He(i)?i.then(c=>{const u=r!==this._execId,a=this.flags&v.DISPOSED;if(u||a){if(typeof c=="function")try{c()}catch(d){this._handleExecutionError(d,g.EFFECT_CLEANUP_FAILED)}return}typeof c=="function"&&(this._cleanup=c)}).catch(c=>{r===this._execId&&this._handleExecutionError(c)}):this._cleanup=typeof i=="function"?i:null}catch(i){n=!0,this._handleExecutionError(i),this._cleanup=null}finally{this._cleanupEffect(s,n),this._setExecuting(!1)}}_prepareEffectExecutionContext(){const e=this._dependencies,s=this._dependencyVersions,n=this._unsubscribes,i=z.acquire(),o=M.acquire(),r=J.acquire(),c=ke();if(e!==N)for(let u=0,a=e.length;u<a;u++){const d=e[u];d&&(d._tempUnsub=n[u])}return this._nextDeps=i,this._nextVersions=o,this._nextUnsubs=r,this._currentEpoch=c,{prevDeps:e,prevVersions:s,prevUnsubs:n,nextDeps:i,nextVersions:o,nextUnsubs:r}}_cleanupEffect(e,s){this._nextDeps=null,this._nextVersions=null,this._nextUnsubs=null;const n=e.prevDeps;if(s){if(n!==N){for(let i=0,o=n.length;i<o;i++){const r=n[i],c=r?r._tempUnsub:void 0;c&&(c(),r&&(r._tempUnsub=void 0))}z.release(n)}e.prevUnsubs!==H&&J.release(e.prevUnsubs),e.prevVersions!==A&&M.release(e.prevVersions)}else{z.release(e.nextDeps),M.release(e.nextVersions);const i=e.nextUnsubs;for(let o=0,r=i.length;o<r;o++)i[o]?.();if(J.release(i),n!==N)for(let o=0,r=n.length;o<r;o++){const c=n[o];c&&(c._tempUnsub=void 0)}}}_subscribeTo(e){try{const s=e.subscribe(()=>{if(this._trackModifications&&this.flags&v.EXECUTING&&(e._modifiedAtEpoch=this._currentEpoch),this._sync){this.execute();return}let i=this._executeTask;i||(i=this._executeTask=()=>this.execute()),se.schedule(i)}),n=this._nextUnsubs;n&&n.push(s)}catch(s){console.error(ne(s,Y,g.EFFECT_EXECUTION_FAILED));const n=this._nextUnsubs;n&&n.push(()=>{})}}get isDisposed(){return(this.flags&v.DISPOSED)!==0}get executionCount(){return this._executionCount}get isExecuting(){return(this.flags&v.EXECUTING)!==0}_setExecuting(e){const s=v.EXECUTING;this.flags=this.flags&~s|(e?-1:0)&s}_safeCleanup(){const e=this._cleanup;if(e){try{e()}catch(s){this._handleExecutionError(s,g.EFFECT_CLEANUP_FAILED)}this._cleanup=null}}_checkInfiniteLoop(){const e=Ie;this._lastFlushEpoch!==e&&(this._lastFlushEpoch=e,this._executionsInEpoch=0),++this._executionsInEpoch>this._maxExecutionsPerFlush&&this._throwInfiniteLoopError("per-effect"),ct()>j.MAX_EXECUTIONS_PER_FLUSH&&this._throwInfiniteLoopError("global"),this._executionCount++;const s=this._history;if(s){const n=Date.now(),i=this._historyPtr,o=this._historyCapacity;s[i]=n;const r=(i+1)%o;this._historyPtr=r;const c=s[r]??0;if(c>0&&n-c<Ze.ONE_SECOND_MS){const u=new Y(`Effect executed ${o} times within 1 second. Infinite loop suspected`);if(this.dispose(),console.error(u),this._onError&&this._onError(u),T)throw u;return}}}_throwInfiniteLoopError(e){const s=new Y(`Infinite loop detected (${e}): effect executed ${this._executionsInEpoch} times in current flush. Total executions in flush: ${De}`);throw this.dispose(),console.error(s),s}_shouldExecute(){const e=this._dependencies;if(e.length===0)return!0;const s=this._dependencyVersions;for(let n=0,i=e.length;n<i;n++){const o=e[n];if(o){if(o.version!==s[n])return!0;if("value"in o)try{Ce(()=>o.value)}catch{return!0}}}return!1}_handleExecutionError(e,s=g.EFFECT_EXECUTION_FAILED){const n=ne(e,Y,s);console.error(n);const i=this._onError;if(i)try{i(n)}catch(o){console.error(ne(o,Y,g.CALLBACK_ERROR_IN_ERROR_HANDLER))}}_checkLoopWarnings(){if(this._trackModifications&&P.enabled){const e=this._dependencies,s=this._currentEpoch;for(let n=0,i=e.length;n<i;n++){const o=e[n];o&&o._modifiedAtEpoch===s&&P.warn(!0,`Effect is reading a dependency (${P.getDebugName(o)||"unknown"}) that it just modified. Infinite loop may occur`)}}}}function X(t,e={}){if(typeof t!="function")throw new Y(g.EFFECT_MUST_BE_FUNCTION);const s=new ft(t,e);return s.execute(),s}function de(t){if(typeof t!="function")throw new F("Batch callback must be a function");se.startBatch();try{return t()}finally{se.endBatch()}}function dt(t){return t!==null&&typeof t=="object"&&"value"in t&&"subscribe"in t}function _e(t){if(!t)return"unknown";const e="jquery"in t?t[0]:t;if(!e)return"unknown";if(e.id)return`#${e.id}`;if(e.className){const s=String(e.className).split(/\s+/).filter(Boolean).join(".");return s?`${e.tagName.toLowerCase()}.${s}`:e.tagName.toLowerCase()}return e.tagName.toLowerCase()}function _t(t){const e=t.length;if(e===0)return new Int32Array(0);const s=new Int32Array(e),n=new Int32Array(e);let i=0;for(let r=0;r<e;r++){const c=t[r];if(c===-1)continue;if(i===0||t[n[i-1]]<c){s[r]=i>0?n[i-1]:-1,n[i++]=r;continue}let u=0,a=i-1;for(;u<a;){const d=u+a>>>1;t[n[d]]<c?u=d+1:a=d}c<t[n[u]]&&(u>0&&(s[r]=n[u-1]),n[u]=r)}const o=new Int32Array(i);for(let r=i-1,c=n[i-1];r>=0;r--)o[r]=c,c=s[c];return o}function pt(){if(typeof window<"u"){const t=window.__ATOM_DEBUG__;if(typeof t=="boolean")return t}try{if(typeof process<"u"&&process.env&&process.env.NODE_ENV==="development")return!0}catch{}return!1}let K=pt();const S={get enabled(){return K},set enabled(t){K=t},log(t,...e){K&&console.log(`[atom-effect-jquery] ${t}:`,...e)},atomChanged(t,e,s){K&&console.log(`[atom-effect-jquery] Atom "${t||"anonymous"}" changed:`,e,"→",s)},domUpdated(t,e,s){if(!K)return;const n=_e(t);console.log(`[atom-effect-jquery] DOM updated: ${n}.${e} =`,s),Et(t)},cleanup(t){K&&console.log(`[atom-effect-jquery] Cleanup: ${t}`)},warn(...t){K&&console.warn("[atom-effect-jquery]",...t)}};function Et(t){const e=t[0];if(!e||!document.contains(e))return;const s="atom_debug_timer",n="atom_debug_cleanup_timer",i="atom_debug_org_style";clearTimeout(t.data(s)),clearTimeout(t.data(n)),t.data(i)||t.data(i,{outline:t.css("outline"),outlineOffset:t.css("outline-offset"),transition:t.css("transition")}),t.css({outline:"2px solid rgba(255, 68, 68, 0.8)","outline-offset":"1px",transition:"none"});const o=setTimeout(()=>{const r=t.data(i);t.css("transition","outline 0.5s ease-out"),requestAnimationFrame(()=>{t.css({outline:r?.outline||"","outline-offset":r?.outlineOffset||""});const c=setTimeout(()=>{t.css("transition",r?.transition||""),t.removeData(s),t.removeData(n),t.removeData(i)},500);t.data(n,c)})},100);t.data(s,o)}const gt=new WeakMap;function Ge(t,e={}){const s=je(t,e);return e.name&&gt.set(s,{name:e.name}),s}Object.defineProperty(Ge,"debug",{get(){return S.enabled},set(t){S.enabled=t}});function bt(){return new Promise(t=>setTimeout(t,0))}h.extend({atom:Ge,computed:Xe,effect:X,batch:de,untracked:Ce,isAtom:Te,isComputed:Ve,isReactive:t=>Te(t)||Ve(t),nextTick:bt});const ie="_aes-bound";class mt{effects=new WeakMap;cleanups=new WeakMap;boundElements=new WeakSet;preservedNodes=new WeakSet;ignoredNodes=new WeakSet;keep(e){this.preservedNodes.add(e)}isKept(e){return this.preservedNodes.has(e)}markIgnored(e){this.ignoredNodes.add(e)}isIgnored(e){return this.ignoredNodes.has(e)}trackEffect(e,s){let n=this.effects.get(e);n||(n=[],this.effects.set(e,n),this.boundElements.has(e)||(this.boundElements.add(e),e.classList.add(ie))),n.push(s)}trackCleanup(e,s){let n=this.cleanups.get(e);n||(n=[],this.cleanups.set(e,n),this.boundElements.has(e)||(this.boundElements.add(e),e.classList.add(ie))),n.push(s)}hasBind(e){return this.boundElements.has(e)}cleanup(e){if(!this.boundElements.delete(e))return;this.preservedNodes.delete(e),this.ignoredNodes.delete(e),e.classList.remove(ie),S.cleanup(_e(e));const s=this.effects.get(e);if(s){this.effects.delete(e);for(let i=0,o=s.length;i<o;i++){const r=s[i];if(r)try{r.dispose()}catch(c){S.warn("Effect dispose error:",c)}}}const n=this.cleanups.get(e);if(n){this.cleanups.delete(e);for(let i=0,o=n.length;i<o;i++){const r=n[i];if(r)try{r()}catch(c){S.warn("Cleanup error:",c)}}}}cleanupDescendants(e){const s=e.querySelectorAll(`.${ie}`);for(let n=0,i=s.length;n<i;n++){const o=s[n];o&&(this.boundElements.has(o)?this.cleanup(o):o.classList.remove(ie))}}cleanupTree(e){this.cleanupDescendants(e),this.cleanup(e)}}const _=new mt;let oe=null;function Qe(t=document.body){oe||(oe=new MutationObserver(e=>{for(let s=0,n=e.length;s<n;s++){const i=e[s];if(!i)continue;const o=i.removedNodes;for(let r=0,c=o.length;r<c;r++){const u=o[r];u&&(_.isKept(u)||_.isIgnored(u)||u.isConnected||u.nodeType===1&&_.cleanupTree(u))}}}),oe.observe(t,{childList:!0,subtree:!0}))}function St(){oe?.disconnect(),oe=null}function y(t,e,s,n){const i=h(t);if(dt(e)){const o=X(()=>{const r=e.value;s(r),S.domUpdated(i,n,r)});_.trackEffect(t,o)}else s(e),S.domUpdated(i,n,e)}var E=(t=>(t[t.None=0]="None",t[t.Focused=1]="Focused",t[t.Composing=2]="Composing",t[t.SyncingToAtom=4]="SyncingToAtom",t[t.SyncingToDom=8]="SyncingToDom",t[t.Busy=14]="Busy",t))(E||{});function Ne(){return{timeoutId:null,flags:0}}function Ye(t,e,s={}){const{debounce:n,event:i="input",parse:o=I=>I,format:r=I=>String(I??""),equal:c=Object.is}=s,u=Ne(),a=()=>{u.flags|=E.Composing},d=()=>{u.flags&=~E.Composing,C()};t.on("compositionstart",a),t.on("compositionend",d);const G=()=>{u.flags|=E.Focused},C=()=>{if(!(u.flags&E.Busy)){u.flags|=E.SyncingToAtom;try{e.value=o(t.val())}finally{u.flags&=~E.SyncingToAtom}}},W=()=>{u.timeoutId&&(clearTimeout(u.timeoutId),u.timeoutId=null,C()),u.flags&=~E.Focused;const I=r(e.value);t.val()!==I&&t.val(I)};t.on("focus",G),t.on("blur",W);const U=()=>{u.flags&E.Busy||(n?(u.timeoutId&&clearTimeout(u.timeoutId),u.timeoutId=window.setTimeout(C,n)):C())};return t.on(i,U),t.on("change",U),{effect:()=>{const I=r(e.value),R=t.val();if(R!==I){if(u.flags&E.Focused&&c(o(R),e.value))return;u.flags|=E.SyncingToDom;try{if(u.flags&E.Focused){const Q=t[0],ce=Q.selectionStart,Ee=Q.selectionEnd;t.val(I);const $=I.length;Q.setSelectionRange(Math.min(ce??$,$),Math.min(Ee??$,$))}else t.val(I);S.domUpdated(t,"val",I)}finally{u.flags&=~E.SyncingToDom}}},cleanup:()=>{t.off(i,U),t.off("change",U),t.off("compositionstart",a),t.off("compositionend",d),t.off("focus",G),t.off("blur",W),u.timeoutId&&clearTimeout(u.timeoutId)}}}h.fn.atomText=function(t,e){return this.each(function(){y(this,t,s=>{const n=e?e(s):String(s??"");h(this).text(n)},"text")})},h.fn.atomHtml=function(t){return this.each(function(){y(this,t,e=>h(this).html(String(e??"")),"html")})},h.fn.atomClass=function(t,e){return this.each(function(){y(this,e,s=>h(this).toggleClass(t,!!s),`class.${t}`)})},h.fn.atomCss=function(t,e,s){return this.each(function(){y(this,e,n=>{const i=s?`${n}${s}`:n;h(this).css(t,i)},`css.${t}`)})},h.fn.atomAttr=function(t,e){return this.each(function(){y(this,e,s=>{const n=h(this);s==null||s===!1?n.removeAttr(t):s===!0?n.attr(t,t):n.attr(t,String(s))},`attr.${t}`)})},h.fn.atomProp=function(t,e){return this.each(function(){y(this,e,s=>h(this).prop(t,s),`prop.${t}`)})},h.fn.atomShow=function(t){return this.each(function(){y(this,t,e=>h(this).toggle(!!e),"show")})},h.fn.atomHide=function(t){return this.each(function(){y(this,t,e=>h(this).toggle(!e),"hide")})},h.fn.atomVal=function(t,e={}){return this.each(function(){const s=h(this),{effect:n,cleanup:i}=Ye(s,t,e),o=X(n);_.trackEffect(this,o),_.trackCleanup(this,i)})},h.fn.atomChecked=function(t){return this.each(function(){const e=h(this),s=Ne(),n=()=>{s.flags&E.Busy||(t.value=!!e.prop("checked"))};e.on("change",n),_.trackCleanup(this,()=>e.off("change",n));const i=X(()=>{s.flags|=E.SyncingToDom;const o=!!t.value;e.prop("checked",o),S.domUpdated(e,"checked",o),s.flags&=~E.SyncingToDom});_.trackEffect(this,i)})},h.fn.atomOn=function(t,e){return this.each(function(){const s=h(this);s.on(t,e),_.trackCleanup(this,()=>s.off(t,e))})},h.fn.atomUnbind=function(){return this.each(function(){_.cleanupTree(this)})};function yt(t,e){y(t.el,e,s=>{t.el.textContent=String(s??"")},"text")}function It(t,e){y(t.el,e,s=>{t.el.innerHTML=String(s??"")},"html")}function Dt(t,e){for(const s in e)y(t.el,e[s],n=>{t.el.classList.toggle(s,!!n)},`class.${s}`)}function Ct(t,e){const s=t.el.style;for(const n in e){const i=e[n];if(i===void 0)continue;const o=n.includes("-")?n.replace(/-./g,r=>r.charAt(1).toUpperCase()):n;if(Array.isArray(i)){const[r,c]=i;y(t.el,r,u=>{s[o]=`${u}${c}`},`css.${n}`)}else y(t.el,i,r=>{s[o]=r},`css.${n}`)}}function Tt(t,e){const s=t.el;for(const n in e){const i=e[n];y(s,i,o=>{if(o==null||o===!1){s.removeAttribute(n);return}s.setAttribute(n,o===!0?n:String(o))},`attr.${n}`)}}function Nt(t,e){const s=t.el;for(const n in e)y(s,e[n],i=>{s[n]=i},`prop.${n}`)}function Ot(t,e){y(t.el,e,s=>{t.$el.toggle(!!s)},"show")}function At(t,e){y(t.el,e,s=>{t.$el.toggle(!s)},"hide")}function Rt(t,e){const s=Array.isArray(e)?e[0]:e,n=Array.isArray(e)?e[1]:{},{effect:i,cleanup:o}=Ye(t.$el,s,n),r=X(i);_.trackEffect(t.el,r),t.trackCleanup(o)}function xt(t,e){const s=Ne(),n=()=>{s.flags&E.Busy||(e.value=t.$el.prop("checked"))};t.$el.on("change",n),t.trackCleanup(()=>t.$el.off("change",n));const i=X(()=>{s.flags|=E.SyncingToDom;const o=!!e.value;t.$el.prop("checked",o),S.domUpdated(t.$el,"checked",o),s.flags&=~E.SyncingToDom});_.trackEffect(t.el,i)}function vt(t,e){const s=t.el;for(const n in e){const i=e[n];if(typeof i!="function")continue;const o=i,r=c=>{const u=h.Event(c.type,{originalEvent:c});de(()=>o.call(s,u))};s.addEventListener(n,r),t.trackCleanup(()=>s.removeEventListener(n,r))}}h.fn.atomBind=function(t){return this.each(function(){const s={$el:h(this),el:this,trackCleanup:n=>_.trackCleanup(this,n)};t.text!==void 0&&yt(s,t.text),t.html!==void 0&&It(s,t.html),t.class&&Dt(s,t.class),t.css&&Ct(s,t.css),t.attr&&Tt(s,t.attr),t.prop&&Nt(s,t.prop),t.show!==void 0&&Ot(s,t.show),t.hide!==void 0&&At(s,t.hide),t.val!==void 0&&Rt(s,t.val),t.checked!==void 0&&xt(s,t.checked),t.on&&vt(s,t.on)})},h.fn.atomList=function(t,e){const{key:s,render:n,bind:i,update:o,onAdd:r,onRemove:c,empty:u}=e,a=typeof s=="function"?s:d=>d[s];return this.each(function(){const d=h(this),G=_e(this),C=new Map,W=new Set;let U=[],Z=null;const Ke=X(()=>{const I=t.value,R=I.length;if(R===0?u&&!Z&&(Z=h(u).appendTo(d)):Z&&(Z.remove(),Z=null),R===0&&C.size===0){U=[];return}S.log("list",`${G} updating with ${R} items`);const Q=new Array(R),ce=new Set;for(let f=0;f<R;f++){const D=I[f],p=a(D,f);S.enabled&&ce.has(p)&&console.warn(`[atomList] Duplicate key "${p}" at index ${f}. Items with duplicate keys may cause unexpected behavior.`),Q[f]=p,ce.add(p)}for(const[f,D]of C){if(ce.has(f)||W.has(f))continue;const p=()=>{D.$el.remove();const b=D.$el[0];b&&_.cleanup(b),W.delete(f),S.log("list",`${G} removed item:`,f)};if(C.delete(f),W.add(f),c){const b=c(D.$el);b instanceof Promise?b.then(p):p()}else p()}if(R===0){U=[];return}const Ee=new Map;for(let f=0;f<U.length;f++){const D=U[f];D!==void 0&&Ee.set(D,f)}const $=new Int32Array(R);for(let f=0;f<R;f++){const D=Q[f];$[f]=D!==void 0?Ee.get(D)??-1:-1}const We=_t($);let Ae=We.length-1,w=null;for(let f=R-1;f>=0;f--){const D=Q[f],p=I[f],b=C.get(D);if(b){const ee=b.item;b.item=p;const B=b.$el[0];if(!B)continue;if(o)o(b.$el,p,f);else if(ee!==p){let Re=!0;if(typeof ee=="object"&&ee!==null&&typeof p=="object"&&p!==null){const ge=Object.keys(ee),te=Object.keys(p);if(ge.length===te.length){Re=!1;for(const be of ge)if(ee[be]!==p[be]){Re=!0;break}}}if(Re){const ge=n(p,f),te=h(ge),be=w===B;b.$el.replaceWith(te),b.$el=te,i&&i(te,p,f),be&&(w=te[0]||null)}}Ae>=0&&We[Ae]===f?Ae--:w?w.isConnected&&w!==b.$el[0]?b.$el.insertBefore(w):w.isConnected||b.$el.appendTo(d):b.$el.appendTo(d),w=b.$el[0]||null}else{const ee=n(p,f),B=h(ee);C.set(D,{$el:B,item:p}),w?.isConnected?B.insertBefore(w):B.appendTo(d),i&&i(B,p,f),r&&r(B),S.log("list",`${G} added item:`,D),w=B[0]||null}}U=Q});_.trackEffect(this,Ke),_.trackCleanup(this,()=>{C.clear(),W.clear(),U=[],Z?.remove()})})};const pe=new WeakMap;h.fn.atomMount=function(t,e={}){return this.each(function(){const s=h(this),n=_e(this),i=pe.get(this);i&&(S.log("mount",`${n} unmounting existing component`),i()),S.log("mount",`${n} mounting component`);let o;try{o=t(s,e)}catch(u){console.error("[atom-effect-jquery] Mount error:",u);return}let r=!1;const c=()=>{if(!r){if(r=!0,S.log("mount",`${n} full cleanup`),typeof o=="function")try{o()}catch(u){console.error("[atom-effect-jquery] Cleanup error:",u)}_.cleanupTree(this),pe.delete(this)}};pe.set(this,c),_.trackCleanup(this,c)})},h.fn.atomUnmount=function(){return this.each(function(){pe.get(this)?.()})};const re=new WeakMap;let Je=!1;function Oe(){if(Je)return;Je=!0;const t=h.fn.on,e=h.fn.off,s=h.fn.remove,n=h.fn.empty,i=h.fn.detach;h.fn.remove=function(o){return(o?this.filter(o):this).each(function(){_.cleanupTree(this),_.markIgnored(this)}),s.call(this,o)},h.fn.empty=function(){return this.each(function(){_.cleanupDescendants(this)}),n.call(this)},h.fn.detach=function(o){return(o?this.filter(o):this).each(function(){_.keep(this)}),i.call(this,o)},h.fn.on=function(...o){let r=-1;for(let c=o.length-1;c>=0;c--)if(typeof o[c]=="function"){r=c;break}if(r!==-1){const c=o[r];let u;re.has(c)?u=re.get(c):(u=function(a,...d){return de(()=>c.call(this,a,...d))},re.set(c,u)),o[r]=u}return t.apply(this,o)},h.fn.off=function(...o){let r=-1;for(let c=o.length-1;c>=0;c--)if(typeof o[c]=="function"){r=c;break}if(r!==-1){const c=o[r];re.has(c)&&(o[r]=re.get(c))}return e.apply(this,o)}}const Ut=Oe;Oe(),h(()=>{Qe(document.body)}),m.default=h,m.atom=je,m.batch=de,m.computed=Xe,m.disableAutoCleanup=St,m.effect=X,m.enableAutoCleanup=Qe,m.enablejQueryBatching=Ut,m.enablejQueryOverrides=Oe,m.registry=_,m.untracked=Ce,Object.defineProperties(m,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
1
+ (function(m,h){typeof exports=="object"&&typeof module<"u"?h(exports,require("jquery")):typeof define=="function"&&define.amd?define(["exports","jquery"],h):(m=typeof globalThis<"u"?globalThis:m||self,h(m.AtomEffectJQuery={},m.jQuery))})(this,(function(m,h){"use strict";const Ze={ONE_SECOND_MS:1e3},ue={IDLE:"idle",PENDING:"pending",RESOLVED:"resolved",REJECTED:"rejected"},x={DISPOSED:1,HAS_FN_SUBS:2,HAS_OBJ_SUBS:4},v={...x,EXECUTING:8},l={...x,DIRTY:8,IDLE:16,PENDING:32,RESOLVED:64,REJECTED:128,RECOMPUTING:256,HAS_ERROR:512},L={...x,SYNC:8,NOTIFICATION_SCHEDULED:16},j={MAX_EXECUTIONS_PER_SECOND:1e3,MAX_EXECUTIONS_PER_EFFECT:100,MAX_EXECUTIONS_PER_FLUSH:1e4,MAX_FLUSH_ITERATIONS:1e3,MIN_FLUSH_ITERATIONS:10,BATCH_QUEUE_SHRINK_THRESHOLD:1e3},xe={MAX_DEPENDENCIES:1e3,WARN_INFINITE_LOOP:!0},V=1073741823,T=typeof process<"u"&&process.env&&process.env.NODE_ENV!=="production",$e=Object.freeze([]);class F extends Error{constructor(e,s=null,n=!0){super(e),this.name="AtomError",this.cause=s,this.recoverable=n,this.timestamp=new Date}}class k extends F{constructor(e,s=null){super(e,s,!0),this.name="ComputedError"}}class Y extends F{constructor(e,s=null){super(e,s,!1),this.name="EffectError"}}class he extends F{constructor(e,s=null){super(e,s,!1),this.name="SchedulerError"}}const g={COMPUTED_MUST_BE_FUNCTION:"Computed function must be a function",COMPUTED_SUBSCRIBER_MUST_BE_FUNCTION:"Subscriber listener must be a function or Subscriber object",COMPUTED_ASYNC_PENDING_NO_DEFAULT:"Async computation is pending. No default value provided",COMPUTED_COMPUTATION_FAILED:"Computed computation failed",COMPUTED_ASYNC_COMPUTATION_FAILED:"Async computed computation failed",COMPUTED_CIRCULAR_DEPENDENCY:"Circular dependency detected during computation",COMPUTED_DEPENDENCY_SUBSCRIPTION_FAILED:"Failed to subscribe to dependency",COMPUTED_DISPOSED:"Cannot access a disposed computed",ATOM_SUBSCRIBER_MUST_BE_FUNCTION:"Subscription listener must be a function or Subscriber object",ATOM_SUBSCRIBER_EXECUTION_FAILED:"Error occurred while executing atom subscribers",ATOM_INDIVIDUAL_SUBSCRIBER_FAILED:"Error during individual atom subscriber execution",EFFECT_MUST_BE_FUNCTION:"Effect function must be a function",EFFECT_EXECUTION_FAILED:"Effect execution failed",EFFECT_CLEANUP_FAILED:"Effect cleanup function execution failed",EFFECT_DISPOSED:"Cannot run a disposed effect",LARGE_DEPENDENCY_GRAPH:t=>`Large dependency graph detected: ${t} dependencies`,UNSUBSCRIBE_NON_EXISTENT:"Attempted to unsubscribe a non-existent listener",CALLBACK_ERROR_IN_ERROR_HANDLER:"Error occurred during onError callback execution"},me=Symbol("debugName"),et=Symbol("id"),Se=Symbol("type"),ve=Symbol("noDefaultValue");function tt(t){return"dependencies"in t&&Array.isArray(t.dependencies)}let Ue=0;function we(t,e,s){if(t._visitedEpoch!==s){if(t._visitedEpoch=s,t===e)throw new k("Indirect circular dependency detected");if(tt(t)){const n=t.dependencies;for(let i=0;i<n.length;i++){const o=n[i];o&&we(o,e,s)}}}}const P={enabled:typeof process<"u"&&process.env?.NODE_ENV==="development",maxDependencies:xe.MAX_DEPENDENCIES,warnInfiniteLoop:xe.WARN_INFINITE_LOOP,warn(t,e){this.enabled&&t&&console.warn(`[Atom Effect] ${e}`)},checkCircular(t,e){if(t===e)throw new k("Direct circular dependency detected");this.enabled&&(Ue++,we(t,e,Ue))},attachDebugInfo(t,e,s){if(!this.enabled)return;const n=t;n[me]=`${e}_${s}`,n[et]=s,n[Se]=e},getDebugName(t){if(t!=null&&me in t)return t[me]},getDebugType(t){if(t!=null&&Se in t)return t[Se]}};let st=1;const nt=()=>st++;class Le{constructor(){this.flags=0,this.version=0,this._lastSeenEpoch=-1,this._modifiedAtEpoch=-1,this._visitedEpoch=-1,this.id=nt()&V,this._tempUnsub=void 0}getShift(e){return this.version-e&V}}class Pe extends Le{subscribe(e){if(typeof e=="function")return this._addSubscriber(this._fnSubs,e,x.HAS_FN_SUBS);if(e!==null&&typeof e=="object"&&"execute"in e)return this._addSubscriber(this._objSubs,e,x.HAS_OBJ_SUBS);throw new F(g.ATOM_SUBSCRIBER_MUST_BE_FUNCTION)}subscriberCount(){return this._fnSubs.length+this._objSubs.length}_addSubscriber(e,s,n){if(e.indexOf(s)!==-1)return T&&console.warn("Attempted to subscribe the same listener twice. Ignoring duplicate subscription."),()=>{};e.push(s),this.flags|=n;let i=!1;return()=>{if(i)return;i=!0;const o=e.indexOf(s);if(o!==-1){const r=e.pop();o<e.length&&(e[o]=r),this.flags&=~(e.length===0?n:0)}}}_notifySubscribers(e,s){const n=this.flags,i=x.HAS_FN_SUBS|x.HAS_OBJ_SUBS;if(n&i){if(n&x.HAS_FN_SUBS){const o=this._fnSubs;for(let r=0,c=o.length;r<c;r++){const u=o[r];if(u)try{u(e,s)}catch(a){console.error(new F(g.ATOM_INDIVIDUAL_SUBSCRIBER_FAILED,a))}}}if(n&x.HAS_OBJ_SUBS){const o=this._objSubs;for(let r=0,c=o.length;r<c;r++){const u=o[r];if(u)try{u.execute()}catch(a){console.error(new F(g.ATOM_INDIVIDUAL_SUBSCRIBER_FAILED,a))}}}}}}class it{constructor(){this.acquired=0,this.released=0,this.rejected=new ot}}class ot{constructor(){this.frozen=0,this.tooLarge=0,this.poolFull=0}}class ye{constructor(){this.pool=[],this.maxPoolSize=50,this.maxReusableCapacity=256,this.stats=T?new it:null}acquire(){const e=this.stats;return T&&e&&e.acquired++,this.pool.pop()??[]}release(e,s){if(s&&e===s||Object.isFrozen(e)){const c=this.stats;T&&c&&e!==s&&c.rejected.frozen++;return}const n=e.length,i=this.pool,o=i.length;if(n>this.maxReusableCapacity||o>=this.maxPoolSize){const c=this.stats;T&&c&&(n>this.maxReusableCapacity?c.rejected.tooLarge++:c.rejected.poolFull++);return}e.length=0,i.push(e);const r=this.stats;T&&r&&r.released++}getStats(){const e=this.stats;if(!T||!e)return null;const{acquired:s,released:n,rejected:i}=e,o=i.frozen+i.tooLarge+i.poolFull;return{acquired:s,released:n,rejected:{frozen:i.frozen,tooLarge:i.tooLarge,poolFull:i.poolFull},leaked:s-n-o,poolSize:this.pool.length}}reset(){this.pool.length=0;const e=this.stats;T&&e&&(e.acquired=0,e.released=0,e.rejected.frozen=0,e.rejected.tooLarge=0,e.rejected.poolFull=0)}}const N=Object.freeze([]),H=Object.freeze([]),A=Object.freeze([]),z=new ye,J=new ye,M=new ye;function q(t,e,s,n){if(e!=null){if((typeof e=="object"||typeof e=="function")&&typeof e.addDependency=="function"){e.addDependency(t);return}if(typeof e=="function"){const i=e;s.indexOf(i)===-1&&(s.push(i),t.flags|=x.HAS_FN_SUBS);return}typeof e=="object"&&typeof e.execute=="function"&&n.indexOf(e)===-1&&(n.push(e),t.flags|=x.HAS_OBJ_SUBS)}}function Fe(t,e,s,n){const i=t.length,o=e.length,r=e!==N&&o>0;if(r)for(let u=0;u<o;u++){const a=e[u];a&&(a._tempUnsub=s[u])}const c=J.acquire();c.length=i;for(let u=0;u<i;u++){const a=t[u];if(!a)continue;const d=a._tempUnsub;d?(c[u]=d,a._tempUnsub=void 0):(P.checkCircular(a,n),c[u]=a.subscribe(n))}if(r)for(let u=0;u<o;u++){const a=e[u];if(a){const d=a._tempUnsub;d&&(d(),a._tempUnsub=void 0)}}return s!==H&&J.release(s),c}let ae=0;function ke(){return ae=ae+1&V||1,ae}function rt(){return ae}let Ie=0,De=0,le=!1;function Me(){return le?(T&&console.warn("Warning: startFlush() called during flush - ignored to prevent infinite loop detection bypass"),!1):(le=!0,Ie=Ie+1&V||1,De=0,!0)}function Be(){le=!1}function ct(){return le?++De:0}class ut{constructor(){this._queueBuffer=[[],[]],this._bufferIndex=0,this._size=0,this._epoch=0,this.isProcessing=!1,this._isBatching=!1,this.batchDepth=0,this.batchQueue=[],this.batchQueueSize=0,this.isFlushingSync=!1,this.maxFlushIterations=j.MAX_FLUSH_ITERATIONS}get phase(){return this.isProcessing||this.isFlushingSync?2:this._isBatching?1:0}get queueSize(){return this._size}get isBatching(){return this._isBatching}schedule(e){if(T&&typeof e!="function")throw new he("Scheduler callback must be a function");const s=this._epoch;if(e._nextEpoch!==s){if(e._nextEpoch=s,this._isBatching||this.isFlushingSync){this.batchQueue[this.batchQueueSize++]=e;return}this._queueBuffer[this._bufferIndex][this._size++]=e,this.isProcessing||this.flush()}}flush(){this.isProcessing||this._size===0||(this.isProcessing=!0,queueMicrotask(()=>{try{if(this._size===0)return;const e=Me();this._drainQueue(),e&&Be()}finally{this.isProcessing=!1,this._size>0&&!this._isBatching&&this.flush()}}))}flushSync(){this.isFlushingSync=!0;const e=Me();try{this._mergeBatchQueue(),this._drainQueue()}finally{this.isFlushingSync=!1,e&&Be()}}_mergeBatchQueue(){const e=this.batchQueueSize;if(e===0)return;const s=++this._epoch,n=this.batchQueue,i=this._queueBuffer[this._bufferIndex];let o=this._size;for(let r=0;r<e;r++){const c=n[r];c._nextEpoch!==s&&(c._nextEpoch=s,i[o++]=c)}this._size=o,this.batchQueueSize=0,n.length>j.BATCH_QUEUE_SHRINK_THRESHOLD&&(n.length=0)}_drainQueue(){let e=0;const s=this.maxFlushIterations;for(;this._size>0;){if(++e>s){this._handleFlushOverflow();return}this._processQueue(),this._mergeBatchQueue()}}_processQueue(){const e=this._bufferIndex,s=this._queueBuffer[e],n=this._size,i=e^1;this._bufferIndex=i,this._size=0,this._epoch++,this._processJobs(s,n)}_handleFlushOverflow(){console.error(new he(`Maximum flush iterations (${this.maxFlushIterations}) exceeded. Possible infinite loop.`)),this._size=0,this._queueBuffer[this._bufferIndex].length=0,this.batchQueueSize=0}_processJobs(e,s){for(let n=0;n<s;n++)try{e[n]()}catch(i){console.error(new he("Error occurred during scheduler execution",i))}e.length=0}startBatch(){this.batchDepth++,this._isBatching=!0}endBatch(){if(this.batchDepth===0){T&&console.warn("endBatch() called without matching startBatch(). Ignoring.");return}this.batchDepth--,this.batchDepth===0&&(this.flushSync(),this._isBatching=!1)}setMaxFlushIterations(e){if(e<j.MIN_FLUSH_ITERATIONS)throw new he(`Max flush iterations must be at least ${j.MIN_FLUSH_ITERATIONS}`);this.maxFlushIterations=e}}const se=new ut;class ht{constructor(){this.current=null}run(e,s){const n=this.current;this.current=e;try{return s()}finally{this.current=n}}getCurrent(){return this.current}}const O=new ht;function Ce(t){if(typeof t!="function")throw new F("Untracked callback must be a function");const e=O.current;O.current=null;try{return t()}finally{O.current=e}}class at extends Pe{constructor(e,s){super(),this._value=e,this._pendingOldValue=void 0,this._notifyTask=void 0,this._fnSubs=[],this._objSubs=[],s&&(this.flags|=L.SYNC),P.attachDebugInfo(this,"atom",this.id)}get value(){const e=O.current;return e&&q(this,e,this._fnSubs,this._objSubs),this._value}set value(e){const s=this._value;if(Object.is(s,e))return;this._value=e,this.version=this.version+1&V;const n=this.flags,i=L.HAS_FN_SUBS|L.HAS_OBJ_SUBS;n&i&&this._scheduleNotification(s)}_scheduleNotification(e){let s=this.flags;if(s&L.NOTIFICATION_SCHEDULED||(this._pendingOldValue=e,this.flags=s|=L.NOTIFICATION_SCHEDULED),s&L.SYNC&&!se.isBatching){this._flushNotifications();return}let n=this._notifyTask;n||(n=this._notifyTask=()=>this._flushNotifications()),se.schedule(n)}_flushNotifications(){const e=this.flags;if(!(e&L.NOTIFICATION_SCHEDULED)||e&L.DISPOSED)return;const s=this._pendingOldValue,n=this._value;this._pendingOldValue=void 0,this.flags&=-17,this._notifySubscribers(n,s)}peek(){return this._value}dispose(){this.flags&L.DISPOSED||(this._fnSubs=[],this._objSubs=[],this.flags|=L.DISPOSED,this._value=void 0,this._pendingOldValue=void 0,this._notifyTask=void 0)}}function je(t,e={}){return new at(t,e.sync??!1)}function ne(t,e,s){if(t instanceof TypeError)return new e(`Type error (${s}): ${t.message}`,t);if(t instanceof ReferenceError)return new e(`Reference error (${s}): ${t.message}`,t);if(t instanceof F)return t;const n=t instanceof Error?t.message:String(t),i=t instanceof Error?t:null;return new e(`Unexpected error (${s}): ${n}`,i)}function Te(t){return t!==null&&typeof t=="object"&&"value"in t&&"subscribe"in t&&typeof t.subscribe=="function"}function Ve(t){if(P.enabled&&t!=null&&typeof t=="object"){const e=P.getDebugType(t);if(e)return e==="computed"}return Te(t)&&"invalidate"in t&&typeof t.invalidate=="function"}function He(t){return t!=null&&typeof t.then=="function"}const ze=l.RESOLVED|l.PENDING|l.REJECTED,fe=Array(ze+1).fill(ue.IDLE);fe[l.RESOLVED]=ue.RESOLVED,fe[l.PENDING]=ue.PENDING,fe[l.REJECTED]=ue.REJECTED;class lt{constructor(e){this._owner=e,this._epoch=-1,this._nextDeps=N,this._nextVersions=A,this._depCount=0}execute(){this._owner._markDirty()}addDependency(e){if(e._lastSeenEpoch===this._epoch)return;e._lastSeenEpoch=this._epoch;const s=this._depCount,n=this._nextDeps,i=this._nextVersions;s<n.length?(n[s]=e,i[s]=e.version):(n.push(e),i.push(e.version)),this._depCount=s+1}reset(){this._epoch=-1,this._nextDeps=N,this._nextVersions=A,this._depCount=0}}class qe extends Pe{constructor(e,s={}){if(typeof e!="function")throw new k(g.COMPUTED_MUST_BE_FUNCTION);if(super(),this.MAX_ASYNC_RETRIES=3,this._value=void 0,this.flags=l.DIRTY|l.IDLE,this._error=null,this._promiseId=0,this._equal=s.equal??Object.is,this._fn=e,this._defaultValue="defaultValue"in s?s.defaultValue:ve,this._hasDefaultValue=this._defaultValue!==ve,this._onError=s.onError??null,this.MAX_PROMISE_ID=Number.MAX_SAFE_INTEGER-1,this._fnSubs=[],this._objSubs=[],this._dependencies=N,this._dependencyVersions=A,this._unsubscribes=H,this._cachedErrors=null,this._errorCacheEpoch=-1,this._asyncStartAggregateVersion=0,this._asyncRetryCount=0,this._trackable=new lt(this),P.attachDebugInfo(this,"computed",this.id),P.enabled){const n=this;n.subscriberCount=this.subscriberCount.bind(this),n.isDirty=()=>(this.flags&l.DIRTY)!==0,n.dependencies=this._dependencies,n.stateFlags=""}if(s.lazy===!1)try{this._recompute()}catch{}}get value(){const e=O.current;e&&q(this,e,this._fnSubs,this._objSubs);const s=this.flags;if(s&l.DISPOSED)throw new k(g.COMPUTED_DISPOSED);if(s&l.RECOMPUTING){if(this._hasDefaultValue)return this._defaultValue;throw new k(g.COMPUTED_CIRCULAR_DEPENDENCY)}s&(l.DIRTY|l.IDLE)&&this._recompute();const n=this.flags;return n&l.PENDING?this._handlePending():n&l.REJECTED?this._handleRejected():this._value}peek(){return this._value}get state(){const e=O.current;return e&&q(this,e,this._fnSubs,this._objSubs),fe[this.flags&ze]}get hasError(){const e=O.current;if(e&&q(this,e,this._fnSubs,this._objSubs),this.flags&(l.REJECTED|l.HAS_ERROR))return!0;const s=this._dependencies;for(let n=0,i=s.length;n<i;n++){const o=s[n];if(o&&o.flags&l.HAS_ERROR)return!0}return!1}get isValid(){return!this.hasError}get errors(){const e=O.current;if(e&&q(this,e,this._fnSubs,this._objSubs),!this.hasError)return $e;const s=rt();if(this._errorCacheEpoch===s&&this._cachedErrors!==null)return this._cachedErrors;const n=new Set;this._error&&n.add(this._error);const i=this._dependencies;for(let r=0,c=i.length;r<c;r++){const u=i[r];if(u&&"errors"in u){const a=u.errors;for(let d=0,G=a.length;d<G;d++){const C=a[d];C&&n.add(C)}}}const o=Object.freeze([...n]);return this._cachedErrors=o,this._errorCacheEpoch=s,o}get lastError(){const e=O.current;return e&&q(this,e,this._fnSubs,this._objSubs),this._error}get isPending(){const e=O.current;return e&&q(this,e,this._fnSubs,this._objSubs),(this.flags&l.PENDING)!==0}get isResolved(){const e=O.current;return e&&q(this,e,this._fnSubs,this._objSubs),(this.flags&l.RESOLVED)!==0}invalidate(){this._markDirty();const e=this._dependencyVersions;e!==A&&(M.release(e),this._dependencyVersions=A),this._errorCacheEpoch=-1,this._cachedErrors=null}dispose(){const e=this._unsubscribes;if(e!==H){for(let i=0,o=e.length;i<o;i++){const r=e[i];r&&r()}J.release(e),this._unsubscribes=H}const s=this._dependencies;s!==N&&(z.release(s),this._dependencies=N);const n=this._dependencyVersions;n!==A&&(M.release(n),this._dependencyVersions=A),this._fnSubs=[],this._objSubs=[],this.flags=l.DISPOSED|l.DIRTY|l.IDLE,this._error=null,this._value=void 0,this._promiseId=(this._promiseId+1)%this.MAX_PROMISE_ID,this._cachedErrors=null,this._errorCacheEpoch=-1}_clearDirty(){this.flags&=-9}_setPending(){this.flags=(this.flags|l.PENDING)&-209}_isResolved(){return(this.flags&l.RESOLVED)!==0}_setResolved(){this.flags=(this.flags|l.RESOLVED)&-689}_isRejected(){return(this.flags&l.REJECTED)!==0}_setRejected(){this.flags=this.flags&-113|(l.REJECTED|l.HAS_ERROR)}_setRecomputing(e){const s=l.RECOMPUTING;this.flags=this.flags&~s|(e?-1:0)&s}_recompute(){if(this.flags&l.RECOMPUTING)return;this._setRecomputing(!0);const e=this._trackable,s=this._dependencies,n=this._dependencyVersions;e._epoch=ke(),e._nextDeps=z.acquire(),e._nextVersions=M.acquire(),e._depCount=0;let i=!1;try{const o=O.run(e,this._fn),r=e._nextDeps,c=e._nextVersions,u=e._depCount;r.length=u,c.length=u,this._unsubscribes=Fe(r,s,this._unsubscribes,this),this._dependencies=r,this._dependencyVersions=c,i=!0,He(o)?this._handleAsyncComputation(o):this._finalizeResolution(o)}catch(o){let r=o;if(!i)try{const c=e._nextDeps,u=e._nextVersions,a=e._depCount;c.length=a,u.length=a,this._unsubscribes=Fe(c,s,this._unsubscribes,this),this._dependencies=c,this._dependencyVersions=u,i=!0}catch(c){r=c}this._handleComputationError(r)}finally{i?(s!==N&&z.release(s),n!==A&&M.release(n)):(z.release(e._nextDeps),M.release(e._nextVersions)),e.reset(),this._setRecomputing(!1)}}_handleAsyncComputation(e){this._setPending(),this._clearDirty(),this._notifySubscribers(void 0,void 0),this._asyncStartAggregateVersion=this._captureVersionSnapshot(),this._asyncRetryCount=0,this._promiseId=(this._promiseId+1)%this.MAX_PROMISE_ID;const s=this._promiseId;e.then(n=>{if(s===this._promiseId){if(this._captureVersionSnapshot()!==this._asyncStartAggregateVersion){if(this._asyncRetryCount<this.MAX_ASYNC_RETRIES){this._asyncRetryCount++,this._markDirty();return}const i=new k(`Async drift exceeded threshold after ${this.MAX_ASYNC_RETRIES} retries.`);this._handleAsyncRejection(i);return}this._finalizeResolution(n),this._notifySubscribers(n,void 0)}}).catch(n=>{s===this._promiseId&&this._handleAsyncRejection(n)})}_captureVersionSnapshot(){let e=0;const s=this._dependencies;for(let n=0,i=s.length;n<i;n++){const o=s[n];if(o){const r=o.version;e=((e<<5)-e|0)+r&V}}return e}_handleAsyncRejection(e){const s=ne(e,k,g.COMPUTED_ASYNC_COMPUTATION_FAILED);this.flags&l.REJECTED||(this.version=this.version+1&V),this._error=s,this._setRejected(),this._clearDirty();const n=this._onError;if(n)try{n(s)}catch(i){console.error(g.CALLBACK_ERROR_IN_ERROR_HANDLER,i)}this._notifySubscribers(void 0,void 0)}_finalizeResolution(e){(!(this.flags&l.RESOLVED)||!this._equal(this._value,e))&&(this.version=this.version+1&V),this._value=e,this._clearDirty(),this._setResolved(),this._error=null,this._setRecomputing(!1),this._cachedErrors=null,this._errorCacheEpoch=-1}_handleComputationError(e){const s=ne(e,k,g.COMPUTED_COMPUTATION_FAILED);this._error=s,this._setRejected(),this._clearDirty(),this._setRecomputing(!1);const n=this._onError;if(n)try{n(s)}catch(i){console.error(g.CALLBACK_ERROR_IN_ERROR_HANDLER,i)}throw s}_handlePending(){if(this._hasDefaultValue)return this._defaultValue;throw new k(g.COMPUTED_ASYNC_PENDING_NO_DEFAULT)}_handleRejected(){const e=this._error;if(e?.recoverable&&this._hasDefaultValue)return this._defaultValue;throw e}execute(){this._markDirty()}_markDirty(){const e=this.flags;e&(l.RECOMPUTING|l.DIRTY)||(this.flags=e|l.DIRTY,this._notifySubscribers(void 0,void 0))}}Object.freeze(qe.prototype);function Xe(t,e={}){return new qe(t,e)}class ft extends Le{constructor(e,s={}){super(),this._cleanup=null,this._dependencies=N,this._dependencyVersions=A,this._unsubscribes=H,this._nextDeps=null,this._nextVersions=null,this._nextUnsubs=null,this._executeTask=void 0,this._onError=s.onError??null,this._currentEpoch=-1,this._lastFlushEpoch=-1,this._executionsInEpoch=0,this._fn=e,this._sync=s.sync??!1,this._maxExecutions=s.maxExecutionsPerSecond??j.MAX_EXECUTIONS_PER_SECOND,this._maxExecutionsPerFlush=s.maxExecutionsPerFlush??j.MAX_EXECUTIONS_PER_EFFECT,this._trackModifications=s.trackModifications??!1,this._executionCount=0,this._historyPtr=0;const n=Number.isFinite(this._maxExecutions),i=n?Math.min(this._maxExecutions+1,j.MAX_EXECUTIONS_PER_SECOND+1):0;this._historyCapacity=i,this._history=T&&n&&i>0?new Array(i).fill(0):null,this._execId=0,P.attachDebugInfo(this,"effect",this.id)}run(){if(this.flags&v.DISPOSED)throw new Y(g.EFFECT_DISPOSED);this.execute(!0)}dispose(){const e=this.flags;if(e&v.DISPOSED)return;this.flags=e|v.DISPOSED,this._safeCleanup();const s=this._unsubscribes;if(s!==H){for(let o=0,r=s.length;o<r;o++){const c=s[o];c&&c()}J.release(s),this._unsubscribes=H}const n=this._dependencies;n!==N&&(z.release(n),this._dependencies=N);const i=this._dependencyVersions;i!==A&&(M.release(i),this._dependencyVersions=A),this._executeTask=void 0}addDependency(e){if(!(this.flags&v.EXECUTING))return;const s=this._currentEpoch;if(e._lastSeenEpoch===s)return;e._lastSeenEpoch=s;const n=this._nextDeps,i=this._nextVersions,o=this._nextUnsubs;if(!n||!i||!o)return;n.push(e),i.push(e.version);const r=e._tempUnsub;r?(o.push(r),e._tempUnsub=void 0):this._subscribeTo(e)}execute(e=!1){if(this.flags&(v.DISPOSED|v.EXECUTING)||!e&&!this._shouldExecute())return;this._checkInfiniteLoop(),this._setExecuting(!0),this._safeCleanup();const s=this._prepareEffectExecutionContext();let n=!1;try{const i=O.run(this,this._fn),o=s.nextDeps.length;s.nextDeps.length=o,s.nextVersions.length=o,this._dependencies=s.nextDeps,this._dependencyVersions=s.nextVersions,this._unsubscribes=s.nextUnsubs,n=!0,this._checkLoopWarnings();const r=++this._execId;He(i)?i.then(c=>{const u=r!==this._execId,a=this.flags&v.DISPOSED;if(u||a){if(typeof c=="function")try{c()}catch(d){this._handleExecutionError(d,g.EFFECT_CLEANUP_FAILED)}return}typeof c=="function"&&(this._cleanup=c)}).catch(c=>{r===this._execId&&this._handleExecutionError(c)}):this._cleanup=typeof i=="function"?i:null}catch(i){n=!0,this._handleExecutionError(i),this._cleanup=null}finally{this._cleanupEffect(s,n),this._setExecuting(!1)}}_prepareEffectExecutionContext(){const e=this._dependencies,s=this._dependencyVersions,n=this._unsubscribes,i=z.acquire(),o=M.acquire(),r=J.acquire(),c=ke();if(e!==N)for(let u=0,a=e.length;u<a;u++){const d=e[u];d&&(d._tempUnsub=n[u])}return this._nextDeps=i,this._nextVersions=o,this._nextUnsubs=r,this._currentEpoch=c,{prevDeps:e,prevVersions:s,prevUnsubs:n,nextDeps:i,nextVersions:o,nextUnsubs:r}}_cleanupEffect(e,s){this._nextDeps=null,this._nextVersions=null,this._nextUnsubs=null;const n=e.prevDeps;if(s){if(n!==N){for(let i=0,o=n.length;i<o;i++){const r=n[i],c=r?r._tempUnsub:void 0;c&&(c(),r&&(r._tempUnsub=void 0))}z.release(n)}e.prevUnsubs!==H&&J.release(e.prevUnsubs),e.prevVersions!==A&&M.release(e.prevVersions)}else{z.release(e.nextDeps),M.release(e.nextVersions);const i=e.nextUnsubs;for(let o=0,r=i.length;o<r;o++)i[o]?.();if(J.release(i),n!==N)for(let o=0,r=n.length;o<r;o++){const c=n[o];c&&(c._tempUnsub=void 0)}}}_subscribeTo(e){try{const s=e.subscribe(()=>{if(this._trackModifications&&this.flags&v.EXECUTING&&(e._modifiedAtEpoch=this._currentEpoch),this._sync){this.execute();return}let i=this._executeTask;i||(i=this._executeTask=()=>this.execute()),se.schedule(i)}),n=this._nextUnsubs;n&&n.push(s)}catch(s){console.error(ne(s,Y,g.EFFECT_EXECUTION_FAILED));const n=this._nextUnsubs;n&&n.push(()=>{})}}get isDisposed(){return(this.flags&v.DISPOSED)!==0}get executionCount(){return this._executionCount}get isExecuting(){return(this.flags&v.EXECUTING)!==0}_setExecuting(e){const s=v.EXECUTING;this.flags=this.flags&~s|(e?-1:0)&s}_safeCleanup(){const e=this._cleanup;if(e){try{e()}catch(s){this._handleExecutionError(s,g.EFFECT_CLEANUP_FAILED)}this._cleanup=null}}_checkInfiniteLoop(){const e=Ie;this._lastFlushEpoch!==e&&(this._lastFlushEpoch=e,this._executionsInEpoch=0),++this._executionsInEpoch>this._maxExecutionsPerFlush&&this._throwInfiniteLoopError("per-effect"),ct()>j.MAX_EXECUTIONS_PER_FLUSH&&this._throwInfiniteLoopError("global"),this._executionCount++;const s=this._history;if(s){const n=Date.now(),i=this._historyPtr,o=this._historyCapacity;s[i]=n;const r=(i+1)%o;this._historyPtr=r;const c=s[r]??0;if(c>0&&n-c<Ze.ONE_SECOND_MS){const u=new Y(`Effect executed ${o} times within 1 second. Infinite loop suspected`);if(this.dispose(),console.error(u),this._onError&&this._onError(u),T)throw u;return}}}_throwInfiniteLoopError(e){const s=new Y(`Infinite loop detected (${e}): effect executed ${this._executionsInEpoch} times in current flush. Total executions in flush: ${De}`);throw this.dispose(),console.error(s),s}_shouldExecute(){const e=this._dependencies;if(e.length===0)return!0;const s=this._dependencyVersions;for(let n=0,i=e.length;n<i;n++){const o=e[n];if(o){if(o.version!==s[n])return!0;if("value"in o)try{if(Ce(()=>o.value),o.version!==s[n])return!0}catch{return!0}}}return!1}_handleExecutionError(e,s=g.EFFECT_EXECUTION_FAILED){const n=ne(e,Y,s);console.error(n);const i=this._onError;if(i)try{i(n)}catch(o){console.error(ne(o,Y,g.CALLBACK_ERROR_IN_ERROR_HANDLER))}}_checkLoopWarnings(){if(this._trackModifications&&P.enabled){const e=this._dependencies,s=this._currentEpoch;for(let n=0,i=e.length;n<i;n++){const o=e[n];o&&o._modifiedAtEpoch===s&&P.warn(!0,`Effect is reading a dependency (${P.getDebugName(o)||"unknown"}) that it just modified. Infinite loop may occur`)}}}}function X(t,e={}){if(typeof t!="function")throw new Y(g.EFFECT_MUST_BE_FUNCTION);const s=new ft(t,e);return s.execute(),s}function de(t){if(typeof t!="function")throw new F("Batch callback must be a function");se.startBatch();try{return t()}finally{se.endBatch()}}function dt(t){return t!==null&&typeof t=="object"&&"value"in t&&"subscribe"in t}function _e(t){if(!t)return"unknown";const e="jquery"in t?t[0]:t;if(!e)return"unknown";if(e.id)return`#${e.id}`;if(e.className){const s=String(e.className).split(/\s+/).filter(Boolean).join(".");return s?`${e.tagName.toLowerCase()}.${s}`:e.tagName.toLowerCase()}return e.tagName.toLowerCase()}function _t(t){const e=t.length;if(e===0)return new Int32Array(0);const s=new Int32Array(e),n=new Int32Array(e);let i=0;for(let r=0;r<e;r++){const c=t[r];if(c===-1)continue;if(i===0||t[n[i-1]]<c){s[r]=i>0?n[i-1]:-1,n[i++]=r;continue}let u=0,a=i-1;for(;u<a;){const d=u+a>>>1;t[n[d]]<c?u=d+1:a=d}c<t[n[u]]&&(u>0&&(s[r]=n[u-1]),n[u]=r)}const o=new Int32Array(i);for(let r=i-1,c=n[i-1];r>=0;r--)o[r]=c,c=s[c];return o}function pt(){if(typeof window<"u"){const t=window.__ATOM_DEBUG__;if(typeof t=="boolean")return t}try{if(typeof process<"u"&&process.env&&process.env.NODE_ENV==="development")return!0}catch{}return!1}let K=pt();const S={get enabled(){return K},set enabled(t){K=t},log(t,...e){K&&console.log(`[atom-effect-jquery] ${t}:`,...e)},atomChanged(t,e,s){K&&console.log(`[atom-effect-jquery] Atom "${t||"anonymous"}" changed:`,e,"→",s)},domUpdated(t,e,s){if(!K)return;const n=_e(t);console.log(`[atom-effect-jquery] DOM updated: ${n}.${e} =`,s),Et(t)},cleanup(t){K&&console.log(`[atom-effect-jquery] Cleanup: ${t}`)},warn(...t){K&&console.warn("[atom-effect-jquery]",...t)}};function Et(t){const e=t[0];if(!e||!document.contains(e))return;const s="atom_debug_timer",n="atom_debug_cleanup_timer",i="atom_debug_org_style";clearTimeout(t.data(s)),clearTimeout(t.data(n)),t.data(i)||t.data(i,{outline:t.css("outline"),outlineOffset:t.css("outline-offset"),transition:t.css("transition")}),t.css({outline:"2px solid rgba(255, 68, 68, 0.8)","outline-offset":"1px",transition:"none"});const o=setTimeout(()=>{const r=t.data(i);t.css("transition","outline 0.5s ease-out"),requestAnimationFrame(()=>{t.css({outline:r?.outline||"","outline-offset":r?.outlineOffset||""});const c=setTimeout(()=>{t.css("transition",r?.transition||""),t.removeData(s),t.removeData(n),t.removeData(i)},500);t.data(n,c)})},100);t.data(s,o)}const gt=new WeakMap;function Ge(t,e={}){const s=je(t,e);return e.name&&gt.set(s,{name:e.name}),s}Object.defineProperty(Ge,"debug",{get(){return S.enabled},set(t){S.enabled=t}});function bt(){return new Promise(t=>setTimeout(t,0))}h.extend({atom:Ge,computed:Xe,effect:X,batch:de,untracked:Ce,isAtom:Te,isComputed:Ve,isReactive:t=>Te(t)||Ve(t),nextTick:bt});const ie="_aes-bound";class mt{effects=new WeakMap;cleanups=new WeakMap;boundElements=new WeakSet;preservedNodes=new WeakSet;ignoredNodes=new WeakSet;keep(e){this.preservedNodes.add(e)}isKept(e){return this.preservedNodes.has(e)}markIgnored(e){this.ignoredNodes.add(e)}isIgnored(e){return this.ignoredNodes.has(e)}trackEffect(e,s){let n=this.effects.get(e);n||(n=[],this.effects.set(e,n),this.boundElements.has(e)||(this.boundElements.add(e),e.classList.add(ie))),n.push(s)}trackCleanup(e,s){let n=this.cleanups.get(e);n||(n=[],this.cleanups.set(e,n),this.boundElements.has(e)||(this.boundElements.add(e),e.classList.add(ie))),n.push(s)}hasBind(e){return this.boundElements.has(e)}cleanup(e){if(!this.boundElements.delete(e))return;this.preservedNodes.delete(e),this.ignoredNodes.delete(e),e.classList.remove(ie),S.cleanup(_e(e));const s=this.effects.get(e);if(s){this.effects.delete(e);for(let i=0,o=s.length;i<o;i++){const r=s[i];if(r)try{r.dispose()}catch(c){S.warn("Effect dispose error:",c)}}}const n=this.cleanups.get(e);if(n){this.cleanups.delete(e);for(let i=0,o=n.length;i<o;i++){const r=n[i];if(r)try{r()}catch(c){S.warn("Cleanup error:",c)}}}}cleanupDescendants(e){const s=e.querySelectorAll(`.${ie}`);for(let n=0,i=s.length;n<i;n++){const o=s[n];o&&(this.boundElements.has(o)?this.cleanup(o):o.classList.remove(ie))}}cleanupTree(e){this.cleanupDescendants(e),this.cleanup(e)}}const _=new mt;let oe=null;function Qe(t=document.body){oe||(oe=new MutationObserver(e=>{for(let s=0,n=e.length;s<n;s++){const i=e[s];if(!i)continue;const o=i.removedNodes;for(let r=0,c=o.length;r<c;r++){const u=o[r];u&&(_.isKept(u)||_.isIgnored(u)||u.isConnected||u.nodeType===1&&_.cleanupTree(u))}}}),oe.observe(t,{childList:!0,subtree:!0}))}function St(){oe?.disconnect(),oe=null}function y(t,e,s,n){const i=h(t);if(dt(e)){const o=X(()=>{const r=e.value;s(r),S.domUpdated(i,n,r)});_.trackEffect(t,o)}else s(e),S.domUpdated(i,n,e)}var E=(t=>(t[t.None=0]="None",t[t.Focused=1]="Focused",t[t.Composing=2]="Composing",t[t.SyncingToAtom=4]="SyncingToAtom",t[t.SyncingToDom=8]="SyncingToDom",t[t.Busy=14]="Busy",t))(E||{});function Ne(){return{timeoutId:null,flags:0}}function Ye(t,e,s={}){const{debounce:n,event:i="input",parse:o=I=>I,format:r=I=>String(I??""),equal:c=Object.is}=s,u=Ne(),a=()=>{u.flags|=E.Composing},d=()=>{u.flags&=~E.Composing,C()};t.on("compositionstart",a),t.on("compositionend",d);const G=()=>{u.flags|=E.Focused},C=()=>{if(!(u.flags&E.Busy)){u.flags|=E.SyncingToAtom;try{e.value=o(t.val())}finally{u.flags&=~E.SyncingToAtom}}},W=()=>{u.timeoutId&&(clearTimeout(u.timeoutId),u.timeoutId=null,C()),u.flags&=~E.Focused;const I=r(e.value);t.val()!==I&&t.val(I)};t.on("focus",G),t.on("blur",W);const U=()=>{u.flags&E.Busy||(n?(u.timeoutId&&clearTimeout(u.timeoutId),u.timeoutId=window.setTimeout(C,n)):C())};return t.on(i,U),t.on("change",U),{effect:()=>{const I=r(e.value),R=t.val();if(R!==I){if(u.flags&E.Focused&&c(o(R),e.value))return;u.flags|=E.SyncingToDom;try{if(u.flags&E.Focused){const Q=t[0],ce=Q.selectionStart,Ee=Q.selectionEnd;t.val(I);const $=I.length;Q.setSelectionRange(Math.min(ce??$,$),Math.min(Ee??$,$))}else t.val(I);S.domUpdated(t,"val",I)}finally{u.flags&=~E.SyncingToDom}}},cleanup:()=>{t.off(i,U),t.off("change",U),t.off("compositionstart",a),t.off("compositionend",d),t.off("focus",G),t.off("blur",W),u.timeoutId&&clearTimeout(u.timeoutId)}}}h.fn.atomText=function(t,e){return this.each(function(){y(this,t,s=>{const n=e?e(s):String(s??"");h(this).text(n)},"text")})},h.fn.atomHtml=function(t){return this.each(function(){y(this,t,e=>h(this).html(String(e??"")),"html")})},h.fn.atomClass=function(t,e){return this.each(function(){y(this,e,s=>h(this).toggleClass(t,!!s),`class.${t}`)})},h.fn.atomCss=function(t,e,s){return this.each(function(){y(this,e,n=>{const i=s?`${n}${s}`:n;h(this).css(t,i)},`css.${t}`)})},h.fn.atomAttr=function(t,e){return this.each(function(){y(this,e,s=>{const n=h(this);s==null||s===!1?n.removeAttr(t):s===!0?n.attr(t,t):n.attr(t,String(s))},`attr.${t}`)})},h.fn.atomProp=function(t,e){return this.each(function(){y(this,e,s=>h(this).prop(t,s),`prop.${t}`)})},h.fn.atomShow=function(t){return this.each(function(){y(this,t,e=>h(this).toggle(!!e),"show")})},h.fn.atomHide=function(t){return this.each(function(){y(this,t,e=>h(this).toggle(!e),"hide")})},h.fn.atomVal=function(t,e={}){return this.each(function(){const s=h(this),{effect:n,cleanup:i}=Ye(s,t,e),o=X(n);_.trackEffect(this,o),_.trackCleanup(this,i)})},h.fn.atomChecked=function(t){return this.each(function(){const e=h(this),s=Ne(),n=()=>{s.flags&E.Busy||(t.value=!!e.prop("checked"))};e.on("change",n),_.trackCleanup(this,()=>e.off("change",n));const i=X(()=>{s.flags|=E.SyncingToDom;const o=!!t.value;e.prop("checked",o),S.domUpdated(e,"checked",o),s.flags&=~E.SyncingToDom});_.trackEffect(this,i)})},h.fn.atomOn=function(t,e){return this.each(function(){const s=h(this);s.on(t,e),_.trackCleanup(this,()=>s.off(t,e))})},h.fn.atomUnbind=function(){return this.each(function(){_.cleanupTree(this)})};function yt(t,e){y(t.el,e,s=>{t.el.textContent=String(s??"")},"text")}function It(t,e){y(t.el,e,s=>{t.el.innerHTML=String(s??"")},"html")}function Dt(t,e){for(const s in e)y(t.el,e[s],n=>{t.el.classList.toggle(s,!!n)},`class.${s}`)}function Ct(t,e){const s=t.el.style;for(const n in e){const i=e[n];if(i===void 0)continue;const o=n.includes("-")?n.replace(/-./g,r=>r.charAt(1).toUpperCase()):n;if(Array.isArray(i)){const[r,c]=i;y(t.el,r,u=>{s[o]=`${u}${c}`},`css.${n}`)}else y(t.el,i,r=>{s[o]=r},`css.${n}`)}}function Tt(t,e){const s=t.el;for(const n in e){const i=e[n];y(s,i,o=>{if(o==null||o===!1){s.removeAttribute(n);return}s.setAttribute(n,o===!0?n:String(o))},`attr.${n}`)}}function Nt(t,e){const s=t.el;for(const n in e)y(s,e[n],i=>{s[n]=i},`prop.${n}`)}function Ot(t,e){y(t.el,e,s=>{t.$el.toggle(!!s)},"show")}function At(t,e){y(t.el,e,s=>{t.$el.toggle(!s)},"hide")}function Rt(t,e){const s=Array.isArray(e)?e[0]:e,n=Array.isArray(e)?e[1]:{},{effect:i,cleanup:o}=Ye(t.$el,s,n),r=X(i);_.trackEffect(t.el,r),t.trackCleanup(o)}function xt(t,e){const s=Ne(),n=()=>{s.flags&E.Busy||(e.value=t.$el.prop("checked"))};t.$el.on("change",n),t.trackCleanup(()=>t.$el.off("change",n));const i=X(()=>{s.flags|=E.SyncingToDom;const o=!!e.value;t.$el.prop("checked",o),S.domUpdated(t.$el,"checked",o),s.flags&=~E.SyncingToDom});_.trackEffect(t.el,i)}function vt(t,e){const s=t.el;for(const n in e){const i=e[n];if(typeof i!="function")continue;const o=i,r=c=>{const u=h.Event(c.type,{originalEvent:c});de(()=>o.call(s,u))};s.addEventListener(n,r),t.trackCleanup(()=>s.removeEventListener(n,r))}}h.fn.atomBind=function(t){return this.each(function(){const s={$el:h(this),el:this,trackCleanup:n=>_.trackCleanup(this,n)};t.text!==void 0&&yt(s,t.text),t.html!==void 0&&It(s,t.html),t.class&&Dt(s,t.class),t.css&&Ct(s,t.css),t.attr&&Tt(s,t.attr),t.prop&&Nt(s,t.prop),t.show!==void 0&&Ot(s,t.show),t.hide!==void 0&&At(s,t.hide),t.val!==void 0&&Rt(s,t.val),t.checked!==void 0&&xt(s,t.checked),t.on&&vt(s,t.on)})},h.fn.atomList=function(t,e){const{key:s,render:n,bind:i,update:o,onAdd:r,onRemove:c,empty:u}=e,a=typeof s=="function"?s:d=>d[s];return this.each(function(){const d=h(this),G=_e(this),C=new Map,W=new Set;let U=[],Z=null;const Ke=X(()=>{const I=t.value,R=I.length;if(R===0?u&&!Z&&(Z=h(u).appendTo(d)):Z&&(Z.remove(),Z=null),R===0&&C.size===0){U=[];return}S.log("list",`${G} updating with ${R} items`);const Q=new Array(R),ce=new Set;for(let f=0;f<R;f++){const D=I[f],p=a(D,f);S.enabled&&ce.has(p)&&console.warn(`[atomList] Duplicate key "${p}" at index ${f}. Items with duplicate keys may cause unexpected behavior.`),Q[f]=p,ce.add(p)}for(const[f,D]of C){if(ce.has(f)||W.has(f))continue;const p=()=>{D.$el.remove();const b=D.$el[0];b&&_.cleanup(b),W.delete(f),S.log("list",`${G} removed item:`,f)};if(C.delete(f),W.add(f),c){const b=c(D.$el);b instanceof Promise?b.then(p):p()}else p()}if(R===0){U=[];return}const Ee=new Map;for(let f=0;f<U.length;f++){const D=U[f];D!==void 0&&Ee.set(D,f)}const $=new Int32Array(R);for(let f=0;f<R;f++){const D=Q[f];$[f]=D!==void 0?Ee.get(D)??-1:-1}const We=_t($);let Ae=We.length-1,w=null;for(let f=R-1;f>=0;f--){const D=Q[f],p=I[f],b=C.get(D);if(b){const ee=b.item;b.item=p;const B=b.$el[0];if(!B)continue;if(o)o(b.$el,p,f);else if(ee!==p){let Re=!0;if(typeof ee=="object"&&ee!==null&&typeof p=="object"&&p!==null){const ge=Object.keys(ee),te=Object.keys(p);if(ge.length===te.length){Re=!1;for(const be of ge)if(ee[be]!==p[be]){Re=!0;break}}}if(Re){const ge=n(p,f),te=h(ge),be=w===B;b.$el.replaceWith(te),b.$el=te,i&&i(te,p,f),be&&(w=te[0]||null)}}Ae>=0&&We[Ae]===f?Ae--:w?w.isConnected&&w!==b.$el[0]?b.$el.insertBefore(w):w.isConnected||b.$el.appendTo(d):b.$el.appendTo(d),w=b.$el[0]||null}else{const ee=n(p,f),B=h(ee);C.set(D,{$el:B,item:p}),w?.isConnected?B.insertBefore(w):B.appendTo(d),i&&i(B,p,f),r&&r(B),S.log("list",`${G} added item:`,D),w=B[0]||null}}U=Q});_.trackEffect(this,Ke),_.trackCleanup(this,()=>{C.clear(),W.clear(),U=[],Z?.remove()})})};const pe=new WeakMap;h.fn.atomMount=function(t,e={}){return this.each(function(){const s=h(this),n=_e(this),i=pe.get(this);i&&(S.log("mount",`${n} unmounting existing component`),i()),S.log("mount",`${n} mounting component`);let o;try{o=t(s,e)}catch(u){console.error("[atom-effect-jquery] Mount error:",u);return}let r=!1;const c=()=>{if(!r){if(r=!0,S.log("mount",`${n} full cleanup`),typeof o=="function")try{o()}catch(u){console.error("[atom-effect-jquery] Cleanup error:",u)}_.cleanupTree(this),pe.delete(this)}};pe.set(this,c),_.trackCleanup(this,c)})},h.fn.atomUnmount=function(){return this.each(function(){pe.get(this)?.()})};const re=new WeakMap;let Je=!1;function Oe(){if(Je)return;Je=!0;const t=h.fn.on,e=h.fn.off,s=h.fn.remove,n=h.fn.empty,i=h.fn.detach;h.fn.remove=function(o){return(o?this.filter(o):this).each(function(){_.cleanupTree(this),_.markIgnored(this)}),s.call(this,o)},h.fn.empty=function(){return this.each(function(){_.cleanupDescendants(this)}),n.call(this)},h.fn.detach=function(o){return(o?this.filter(o):this).each(function(){_.keep(this)}),i.call(this,o)},h.fn.on=function(...o){let r=-1;for(let c=o.length-1;c>=0;c--)if(typeof o[c]=="function"){r=c;break}if(r!==-1){const c=o[r];let u;re.has(c)?u=re.get(c):(u=function(a,...d){return de(()=>c.call(this,a,...d))},re.set(c,u)),o[r]=u}return t.apply(this,o)},h.fn.off=function(...o){let r=-1;for(let c=o.length-1;c>=0;c--)if(typeof o[c]=="function"){r=c;break}if(r!==-1){const c=o[r];re.has(c)&&(o[r]=re.get(c))}return e.apply(this,o)}}const Ut=Oe;Oe(),h(()=>{Qe(document.body)}),m.default=h,m.atom=je,m.batch=de,m.computed=Xe,m.disableAutoCleanup=St,m.effect=X,m.enableAutoCleanup=Qe,m.enablejQueryBatching=Ut,m.enablejQueryOverrides=Oe,m.registry=_,m.untracked=Ce,Object.defineProperties(m,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
2
2
  //# sourceMappingURL=atom-effect-jquery.min.js.map