@but212/atom-effect-jquery 0.28.0 → 0.29.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/README.md CHANGED
@@ -20,7 +20,7 @@ npm install @but212/atom-effect-jquery jquery
20
20
  <!-- jquery -->
21
21
  <script src="https://code.jquery.com/jquery-4.0.0.min.js"></script>
22
22
  <!-- atom-effect-jquery -->
23
- <script src="https://cdn.jsdelivr.net/npm/@but212/atom-effect-jquery@0.28.0"></script>
23
+ <script src="https://cdn.jsdelivr.net/npm/@but212/atom-effect-jquery@0.29.0"></script>
24
24
  ```
25
25
 
26
26
  ### Usage
@@ -1,3 +1,3 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`jquery`)):typeof define==`function`&&define.amd?define([`exports`,`jquery`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.AtomEffectJQuery={},e.jQuery))})(this,function(e,t){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var n=Object.create,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,c=(e,t,n,o)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=a(t),l=0,u=c.length,d;l<u;l++)d=c[l],!s.call(e,d)&&d!==n&&r(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(o=i(t,d))||o.enumerable});return e};t=((e,t,i)=>(i=e==null?{}:n(o(e)),c(t||!e||!e.__esModule?r(i,`default`,{value:e,enumerable:!0}):i,e)))(t);var l={IDLE:`idle`,PENDING:`pending`,RESOLVED:`resolved`,REJECTED:`rejected`},u={DISPOSED:1,EXECUTING:8},d={DISPOSED:1,IS_COMPUTED:2,DIRTY:8,IDLE:16,PENDING:32,RESOLVED:64,REJECTED:128,RECOMPUTING:256,HAS_ERROR:512,FORCE_COMPUTE:1024},f={DISPOSED:1,SYNC:8,NOTIFICATION_SCHEDULED:16},p={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},m={WARN_INFINITE_LOOP:!0,EFFECT_FREQUENCY_WINDOW:1e3},h={MAX_ASYNC_RETRIES:3,MAX_PROMISE_ID:2**53-1-1},g={UNINITIALIZED:-1,MIN:1},_=1073741823,v={VERSION_BITS:16};typeof process<`u`&&process.env;var y=Object.freeze([]),b=class{constructor(e,t,n=void 0){this.node=e,this.version=t,this.unsub=n}},x=class{constructor(e,t){this.fn=e,this.sub=t}notify(e,t){let n=this.fn;if(n!==void 0){n(e,t);return}let r=this.sub;r!==void 0&&r.execute()}},S=class extends Error{constructor(e,t=null,n=!0){super(e),this.cause=t,this.recoverable=n,this.name=`AtomError`}},C=class extends S{constructor(e,t=null){super(e,t,!0),this.name=`ComputedError`}},w=class extends S{constructor(e,t=null){super(e,t,!1),this.name=`EffectError`}},T=class extends S{constructor(e,t=null){super(e,t,!1),this.name=`SchedulerError`}},E={COMPUTED_MUST_BE_FUNCTION:`Computed target must be a function`,COMPUTED_ASYNC_PENDING_NO_DEFAULT:`Async computation pending with no default value`,COMPUTED_COMPUTATION_FAILED:`Computation execution failed`,COMPUTED_ASYNC_COMPUTATION_FAILED:`Async computation execution failed`,COMPUTED_CIRCULAR_DEPENDENCY:`Circular dependency detected`,COMPUTED_DISPOSED:`Attempted to access disposed computed`,ATOM_SUBSCRIBER_MUST_BE_FUNCTION:`Subscriber must be a function or Subscriber object`,ATOM_INDIVIDUAL_SUBSCRIBER_FAILED:`Subscriber execution failed`,EFFECT_MUST_BE_FUNCTION:`Effect target must be a function`,EFFECT_EXECUTION_FAILED:`Effect execution failed`,EFFECT_CLEANUP_FAILED:`Effect cleanup failed`,EFFECT_DISPOSED:`Attempted to run disposed effect`,SCHEDULER_FLUSH_OVERFLOW:(e,t)=>`Maximum flush iterations (${e}) exceeded. ${t} jobs dropped. Possible infinite loop.`,CALLBACK_ERROR_IN_ERROR_HANDLER:`Exception encountered in onError handler`,EFFECT_FREQUENCY_LIMIT_EXCEEDED:`Effect executed too frequently within 1 second. Suspected infinite loop.`,SCHEDULER_CALLBACK_MUST_BE_FUNCTION:`Scheduler callback must be a function`,SCHEDULER_END_BATCH_WITHOUT_START:`endBatch() called without matching startBatch(). Ignoring.`,BATCH_CALLBACK_MUST_BE_FUNCTION:`Batch callback must be a function`},ee=class{constructor(){this._s0=null,this._s1=null,this._s2=null,this._s3=null,this._count=0,this._overflow=null,this._freeIndices=null}get size(){return this._count}getAt(e){if(e<4)switch(e){case 0:return this._s0;case 1:return this._s1;case 2:return this._s2;case 3:return this._s3}let t=this._overflow;if(t!==null){let n=t[e-4];return n===void 0?null:n}return null}setAt(e,t){switch(e){case 0:this._s0=t;break;case 1:this._s1=t;break;case 2:this._s2=t;break;case 3:this._s3=t;break;default:this._overflow??=[],this._overflow[e-4]=t}e>=this._count&&(this._count=e+1)}truncateFrom(e){let t=this._count;if(e>=t)return;if(e<=3){if(e<=0){let e=this._s0;e!=null&&(this._onItemRemoved(e),this._s0=null)}if(e<=1){let e=this._s1;e!=null&&(this._onItemRemoved(e),this._s1=null)}if(e<=2){let e=this._s2;e!=null&&(this._onItemRemoved(e),this._s2=null)}if(e<=3){let e=this._s3;e!=null&&(this._onItemRemoved(e),this._s3=null)}}let n=this._overflow;if(n!==null&&t>4){let t=e>4?e-4:0,r=n.length;for(let e=t;e<r;e++){let t=n[e];t!=null&&(this._onItemRemoved(t),n[e]=null)}e<=4?(n.length=0,this._overflow=null):n.length=e-4}this._freeIndices!==null&&(this._freeIndices=null),this._count=e}_onItemRemoved(e){}add(e){if(this._s0===null){this._s0=e,this._count++;return}if(this._s1===null){this._s1=e,this._count++;return}if(this._s2===null){this._s2=e,this._count++;return}if(this._s3===null){this._s3=e,this._count++;return}this._addToOverflow(e)}_addToOverflow(e){let t=this._overflow;if(t===null)this._overflow=[e];else{let n=this._freeIndices;n!==null&&n.length>0?t[n.pop()]=e:t.push(e)}this._count++}remove(e){if(this._s0===e)return this._s0=null,this._count--,!0;if(this._s1===e)return this._s1=null,this._count--,!0;if(this._s2===e)return this._s2=null,this._count--,!0;if(this._s3===e)return this._s3=null,this._count--,!0;let t=this._overflow;if(t==null)return!1;for(let n=0,r=t.length;n<r;n++)if(t[n]===e){t[n]=null,this._count--;let e=this._freeIndices;return e===null&&(e=this._freeIndices=[]),e.push(n),!0}return!1}has(e){if(this._count===0)return!1;if(this._s0===e||this._s1===e||this._s2===e||this._s3===e)return!0;let t=this._overflow;if(t!=null){for(let n=0,r=t.length;n<r;n++)if(t[n]===e)return!0}return!1}forEach(e){let t=this._count;if(t===0)return;let n=0,r=this._s0;if(r!=null&&(e(r),++n===t))return;let i=this._s1;if(i!=null&&(e(i),++n===t))return;let a=this._s2;if(a!=null&&(e(a),++n===t))return;let o=this._s3;if(o!=null&&(e(o),++n===t))return;let s=this._overflow;if(s!=null)for(let r=0,i=s.length;r<i;r++){let i=s[r];if(i!=null&&(e(i),++n===t))return}}forEachIndexed(e){let t=this._count;if(t===0)return 0;let n=0,r=this._s0;if(r!=null&&(e(r),++n===t))return n;let i=this._s1;if(i!=null&&(e(i),++n===t))return n;let a=this._s2;if(a!=null&&(e(a),++n===t))return n;let o=this._s3;if(o!=null&&(e(o),++n===t))return n;let s=this._overflow;if(s!=null)for(let r=0,i=s.length;r<i;r++){let i=s[r];if(i!=null&&(e(i),++n===t))return n}return n}compact(){let e=this._overflow;if(e===null)return;let t=e.length;if(t===0)return;let n=0;for(;n<t;)if(e[n]===null){for(;t>n&&e[t-1]===null;)e.pop(),t--;t>n&&(e[n]=e.pop(),t--,n++)}else n++;this._freeIndices=null,t===0&&(this._overflow=null)}clear(){this._s0=null,this._s1=null,this._s2=null,this._s3=null,this._count=0,this._overflow!==null&&(this._overflow.length=0,this._overflow=null),this._freeIndices=null}dispose(){this.clear()}},te=Symbol(`AtomEffect.DebugName`),ne=Symbol(`AtomEffect.Type`),re=Symbol(`AtomEffect.NoDefaultValue`),ie=new class{constructor(){this.enabled=!1,this.warnInfiniteLoop=m.WARN_INFINITE_LOOP}warn(e,t){}attachDebugInfo(e,t,n){}getDebugName(e){if(e!=null)return e[te]}getDebugType(e){if(e!=null)return e[ne]}},ae=1,oe=()=>ae++|0;function D(e,t,n){return e instanceof S?e:e instanceof Error?new t(`${e.name||e.constructor.name||`Error`} (${n}): ${e.message}`,e):new t(`Unexpected error (${n}): ${String(e)}`)}var se=class{constructor(){this.flags=0,this.version=0,this._lastSeenEpoch=g.UNINITIALIZED,this._notifying=0,this._hotIndex=-1,this._slots=null,this._deps=null,this.id=oe()&_}get isDisposed(){return(this.flags&d.DISPOSED)!==0}get isComputed(){return(this.flags&d.IS_COMPUTED)!==0}get hasError(){return!1}subscribe(e){let t=typeof e==`function`;if(!t&&(!e||typeof e.execute!=`function`))throw D(TypeError(`Invalid subscriber`),S,E.ATOM_SUBSCRIBER_MUST_BE_FUNCTION);let n=this._slots;n||(n=new ee,this._slots=n);let r=!1;if(n._s0!=null&&(t?n._s0.fn===e:n._s0.sub===e))r=!0;else if(n._s1!=null&&(t?n._s1.fn===e:n._s1.sub===e))r=!0;else if(n._s2!=null&&(t?n._s2.fn===e:n._s2.sub===e))r=!0;else if(n._s3!=null&&(t?n._s3.fn===e:n._s3.sub===e))r=!0;else{let i=n._overflow;if(i!=null)for(let n=0,a=i.length;n<a;n++){let a=i[n];if(a!=null&&(t?a.fn===e:a.sub===e)){r=!0;break}}}if(r)return()=>{};let i=new x(t?e:void 0,t?void 0:e);return n.add(i),()=>this._unsubscribe(i)}_unsubscribe(e){let t=this._slots;t&&(t.remove(e),this._notifying===0&&t.compact())}subscriberCount(){let e=this._slots;return e===null?0:e.size}_notifySubscribers(e,t){let n=this._slots;if(!(n===null||n.size===0)){this._notifying++;try{let r=n._s0;if(r!=null)try{r.notify(e,t)}catch(e){this._logNotifyError(e)}if(r=n._s1,r!=null)try{r.notify(e,t)}catch(e){this._logNotifyError(e)}if(r=n._s2,r!=null)try{r.notify(e,t)}catch(e){this._logNotifyError(e)}if(r=n._s3,r!=null)try{r.notify(e,t)}catch(e){this._logNotifyError(e)}let i=n._overflow;if(i!=null)for(let n=0,r=i.length;n<r;n++){let r=i[n];if(r!=null)try{r.notify(e,t)}catch(e){this._logNotifyError(e)}}}finally{--this._notifying===0&&n.compact()}}}_logNotifyError(e){console.error(D(e,S,E.ATOM_INDIVIDUAL_SUBSCRIBER_FAILED))}_isDirty(){let e=this._deps;if(e===null||e.size===0)return!1;let t=this._hotIndex;if(t!==-1){let n=e.getAt(t);if(n!=null&&n.node.version!==n.version)return!0}return!e.hasComputeds&&!e.isDirtyFast()?!1:this._deepDirtyCheck()}},ce=0;function le(){let e=ce+1&_;return ce=e===0?1:e,ce}function ue(e){let t=e+1&_;return t===0?1:t}var de=0,fe=!1,pe=0;function me(){return pe}function he(){return fe?!1:(fe=!0,pe=le(),de=0,!0)}function ge(){fe=!1}function _e(){if(!fe)return 0;let e=++de;if(e<=p.MAX_EXECUTIONS_PER_FLUSH)return e;throw Error(`[atom-effect] Infinite loop detected: flush execution count exceeded ${p.MAX_EXECUTIONS_PER_FLUSH}`)}var ve=new class{constructor(){this._queueBuffer=[[],[]],this._bufferIndex=0,this._size=0,this._epoch=0,this._isProcessing=!1,this._isFlushingSync=!1,this._batchDepth=0,this._batchQueue=[],this._batchQueueSize=0,this._maxFlushIterations=p.MAX_FLUSH_ITERATIONS,this.onOverflow=null,this._boundRunLoop=this._runLoop.bind(this)}get queueSize(){return this._size}get isBatching(){return this._batchDepth>0}schedule(e){let t=this._epoch;if(e._nextEpoch===t)return;if(e._nextEpoch=t,this._batchDepth>0||this._isFlushingSync){this._batchQueue[this._batchQueueSize++]=e;return}let n=this._bufferIndex,r=this._queueBuffer[n];r[this._size++]=e,this._isProcessing||this._flush()}_flush(){this._isProcessing||this._size===0||(this._isProcessing=!0,queueMicrotask(this._boundRunLoop))}_runLoop(){try{if(this._size===0)return;let e=he();this._drainQueue(),e&&ge()}finally{this._isProcessing=!1,this._size>0&&this._batchDepth===0&&this._flush()}}_flushSync(){this._isFlushingSync=!0;let e=he();try{this._mergeBatchQueue(),this._drainQueue()}finally{this._isFlushingSync=!1,e&&ge()}}_mergeBatchQueue(){let e=this._batchQueueSize;if(e===0)return;let t=++this._epoch,n=this._batchQueue,r=this._bufferIndex,i=this._queueBuffer[r],a=this._size;for(let r=0;r<e;r++){let e=n[r];e._nextEpoch!==t&&(e._nextEpoch=t,i[a++]=e)}this._size=a,this._batchQueueSize=0,n.length=0}_drainQueue(){let e=0;for(;this._size>0;){if(++e>this._maxFlushIterations){this._handleFlushOverflow();return}this._processQueue(),this._mergeBatchQueue()}}_processQueue(){let e=this._bufferIndex,t=this._queueBuffer[e],n=this._size;this._bufferIndex=e^1,this._size=0,this._epoch=this._epoch+1|0;for(let e=0;e<n;e++){let n=t[e];try{typeof n==`function`?n():n.execute()}catch(e){console.error(new T(`Error occurred during scheduler execution`,e))}}t.length=0}_handleFlushOverflow(){let e=this._size+this._batchQueueSize,t=this._maxFlushIterations;console.error(new T(E.SCHEDULER_FLUSH_OVERFLOW(t,e))),this._size=0;let n=this._bufferIndex;this._queueBuffer[n].length=0,this._batchQueueSize=0;let r=this.onOverflow;if(r)try{r(e)}catch{}}startBatch(){this._batchDepth++}endBatch(){this._batchDepth!==0&&--this._batchDepth===0&&this._flushSync()}setMaxFlushIterations(e){if(e<p.MIN_FLUSH_ITERATIONS)throw new T(`Max flush iterations must be at least ${p.MIN_FLUSH_ITERATIONS}`);this._maxFlushIterations=e}},ye=Symbol.for(`atom-effect/atom`),be=Symbol.for(`atom-effect/computed`),xe=Symbol.for(`atom-effect/effect`),Se=Symbol.for(`atom-effect/writable`),O=new class{constructor(){this.current=null}run(e,t){if(this.current===e)return t();let n=this.current;this.current=e;try{return t()}finally{this.current=n}}};function k(e){let t=O,n=t.current;if(n===null)return e();t.current=null;try{return e()}finally{t.current=n}}var Ce=class extends se{constructor(e,t){super(),this[ye]=!0,this[Se]=!0,this._value=e,t&&(this.flags|=f.SYNC),ie.attachDebugInfo(this,`atom`,this.id)}get isNotificationScheduled(){return(this.flags&f.NOTIFICATION_SCHEDULED)!==0}get isSync(){return(this.flags&f.SYNC)!==0}get value(){return O.current?.addDependency(this),this._value}set value(e){let t=this._value;if(Object.is(t,e))return;this._value=e,this.version=ue(this.version);let n=this.flags;if((n&f.NOTIFICATION_SCHEDULED)!==0)return;let r=this._slots;r==null||r.size===0||(this._pendingOldValue=t,this.flags=n|f.NOTIFICATION_SCHEDULED,(n&f.SYNC)!==0&&!ve.isBatching?this._flushNotifications():ve.schedule(this))}execute(){this._flushNotifications()}_flushNotifications(){let e=this.flags;if((e&(f.NOTIFICATION_SCHEDULED|f.DISPOSED))!==f.NOTIFICATION_SCHEDULED)return;let t=this._pendingOldValue;this._pendingOldValue=void 0,this.flags=e&~f.NOTIFICATION_SCHEDULED,this._notifySubscribers(this._value,t)}peek(){return this._value}dispose(){let e=this.flags;(e&f.DISPOSED)===0&&(this._slots?.clear(),this.flags=e|f.DISPOSED,this._value=void 0,this._pendingOldValue=void 0)}_deepDirtyCheck(){return!1}[Symbol.dispose](){this.dispose()}};function A(e,t={}){return new Ce(e,t.sync??!1)}var we=class extends ee{constructor(...e){super(...e),this._map=null,this._SCAN_THRESHOLD=32,this.hasComputeds=!1,this._depsHash=0}prepareTracking(){this.hasComputeds=!1}_onItemRemoved(e){let t=e.unsub;t&&t()}claimExisting(e,t){let n=this._count;if(t>=n)return!1;let r=n-t;if(this._map!==null||r>this._SCAN_THRESHOLD)return this._claimViaMap(e,t);if(t<4)switch(t){case 0:{let t=this._s0;if(t&&t.node===e&&t.unsub)return t.version=e.version,!0}case 1:if(n>1){let n=this._s1;if(n&&n.node===e&&n.unsub)return n.version=e.version,t!==1&&(this._s1=this._s0,this._s0=n),!0}case 2:if(n>2){let n=this._s2;if(n&&n.node===e&&n.unsub){if(n.version=e.version,t!==2){let e=t===0?this._s0:this._s1;t===0?this._s0=n:this._s1=n,this._s2=e}return!0}}case 3:if(n>3){let n=this._s3;if(n&&n.node===e&&n.unsub){if(n.version=e.version,t!==3){let e;t===0?(e=this._s0,this._s0=n):t===1?(e=this._s1,this._s1=n):(e=this._s2,this._s2=n),this._s3=e}return!0}}}let i=this._overflow;if(i){let n=e.version,r=t>4?t:4,a=i.length;for(let o=r-4;o<a;o++){let r=i[o];if(r&&r.node===e&&r.unsub)return r.version=n,this._swapGeneral(o+4,t,r),!0}}return!1}_claimViaMap(e,t){let n=this._map;if(n===null){n=this._map=new Map;let e=this._count;if(t<4){let e=this._s0;t<=0&&e?.unsub&&n.set(e.node,0);let r=this._s1;t<=1&&r?.unsub&&n.set(r.node,1);let i=this._s2;t<=2&&i?.unsub&&n.set(i.node,2);let a=this._s3;t<=3&&a?.unsub&&n.set(a.node,3)}let r=this._overflow;if(r&&e>4){let e=t>4?t:4,i=r.length;for(let t=e-4;t<i;t++){let e=r[t];e?.unsub&&n.set(e.node,t+4)}}}let r=n.get(e);if(r===void 0||r<t)return!1;let i=this.getAt(r);if(i==null||!i.unsub)return!1;if(i.version=e.version,r!==t){let a;a=t===0?this._s0:t===1?this._s1:t===2?this._s2:t===3?this._s3:this._overflow[t-4]??null,this.setAt(t,i),this.setAt(r,a),a?.unsub&&n.set(a.node,r),n.set(e,t)}return!0}_swapGeneral(e,t,n){if(e===t)return;let r;if(r=t===0?this._s0:t===1?this._s1:t===2?this._s2:t===3?this._s3:this._overflow[t-4]??null,this.setAt(t,n),e===0)this._s0=r;else if(e===1)this._s1=r;else if(e===2)this._s2=r;else if(e===3)this._s3=r;else{let t=this._overflow;t[e-4]=r}}insertNew(e,t){let n=this._count;if(e<n){let t;t=e===0?this._s0:e===1?this._s1:e===2?this._s2:e===3?this._s3:this._overflow[e-4]??null,t!=null&&(this._addToOverflow(t),this._map!==null&&t.unsub&&this._map.set(t.node,this._count-1))}if(e===0)this._s0=t;else if(e===1)this._s1=t;else if(e===2)this._s2=t;else if(e===3)this._s3=t;else{let n=this._overflow;n||(n=[],this._overflow=n),n[e-4]=t}e>=n&&(this._count=e+1)}truncateFrom(e){e>=this._count||(super.truncateFrom(e),this._map!==null&&(this._map.clear(),this._map=null))}seal(){this._depsHash=this._calculateHash(!1)}isDirtyFast(){return this._calculateHash(!0)!==this._depsHash}_calculateHash(e){let t=this._count;if(t===0)return 0;let n=v.VERSION_BITS,r=0,i=this._s0;if(i!=null){let a=i.node,o=e?a.version:i.version;r=r+(o<<n)+a.id|0;let s=this._s1;if(t>1&&s!=null){let i=s.node,a=e?i.version:s.version;r=r+(a<<n)+i.id|0;let o=this._s2;if(t>2&&o!=null){let i=o.node,a=e?i.version:o.version;r=r+(a<<n)+i.id|0;let s=this._s3;if(t>3&&s!=null){let t=s.node,i=e?t.version:s.version;r=r+(i<<n)+t.id|0}}}}if(t>4){let t=this._overflow;for(let i=0,a=t.length;i<a;i++){let a=t[i],o=a.node,s=e?o.version:a.version;r=r+(s<<n)+o.id|0}}return r}disposeAll(){this._count>0&&this.truncateFrom(0),this.hasComputeds=!1}remove(e){throw Error(`remove() is strictly prohibited in DepSlotBuffer to preserve sequential cache paths.`)}compact(){}};function Te(e){return typeof e==`object`&&!!e&&ye in e}function Ee(e){return typeof e==`object`&&!!e&&be in e}function De(e){return typeof e==`object`&&!!e&&typeof e.then==`function`}var{IDLE:j,DIRTY:M,PENDING:N,RESOLVED:P,REJECTED:F,HAS_ERROR:I,RECOMPUTING:L,DISPOSED:Oe,IS_COMPUTED:R,FORCE_COMPUTE:ke}=d,Ae=class extends se{constructor(e,t={}){if(typeof e!=`function`)throw new C(E.COMPUTED_MUST_BE_FUNCTION);if(super(),this[ye]=!0,this[be]=!0,this._error=null,this._promiseId=0,this._deps=new we,this._asyncRetryCount=0,this._lastDriftEpoch=g.UNINITIALIZED,this._trackEpoch=g.UNINITIALIZED,this._trackCount=0,this._value=void 0,this.flags=R|M|j,this._equal=t.equal??Object.is,this._fn=e,this._defaultValue=`defaultValue`in t?t.defaultValue:re,this._onError=t.onError??null,this._maxAsyncRetries=(t.maxAsyncRetries??h.MAX_ASYNC_RETRIES)&_,ie.attachDebugInfo(this,`computed`,this.id),t.lazy===!1)try{this._recompute()}catch{}}get isDirty(){return(this.flags&M)!==0}get isRejected(){return(this.flags&F)!==0}get isRecomputing(){return(this.flags&L)!==0}get _hasErrorInternal(){return(this.flags&I)!==0}_track(){O.current?.addDependency(this)}get value(){O.current?.addDependency(this);let e=this.flags;if((e&(P|M|j))===P)return this._value;if((e&Oe)!==0)throw new C(E.COMPUTED_DISPOSED);if((e&L)!==0){let e=this._defaultValue;if(e!==re)return e;throw new C(E.COMPUTED_CIRCULAR_DEPENDENCY)}if((e&(M|j))!==0){let t=this._deps;if((e&j)===0&&(e&ke)===0&&t.size>0&&!this._isDirty()?e=this.flags&=~M:(this._recompute(),e=this.flags),(e&P)!==0)return this._value}let t=this._defaultValue,n=t!==re;if((e&N)!==0){if(n)return t;throw new C(E.COMPUTED_ASYNC_PENDING_NO_DEFAULT)}if((e&F)!==0){if(n)return t;throw this._error}return this._value}peek(){return this._value}get state(){O.current?.addDependency(this);let e=this.flags;return(e&P)===0?(e&N)===0?(e&F)===0?l.IDLE:l.REJECTED:l.PENDING:l.RESOLVED}get hasError(){if(O.current?.addDependency(this),(this.flags&(F|I))!==0)return!0;let e=this._deps;if(!e.hasComputeds)return!1;let t=e.size;for(let n=0;n<t;n++)if(e.getAt(n)?.node.hasError)return!0;return!1}get isValid(){return!this.hasError}get errors(){O.current?.addDependency(this);let e=this._error,t=this._deps;if(!t.hasComputeds)return e==null?y:Object.freeze([e]);let n=[];e!=null&&n.push(e);let r=t.size;for(let e=0;e<r;e++){let r=t.getAt(e);if(r==null)continue;let i=r.node;(i.flags&R)!==0&&i.hasError&&this._collectErrorsFromDep(i,n)}return n.length===0?y:Object.freeze(n)}_collectErrorsFromDep(e,t){let n=e.errors,r=n.length;for(let e=0;e<r;e++){let r=n[e];r!=null&&!t.includes(r)&&t.push(r)}}get lastError(){return O.current?.addDependency(this),this._error}get isPending(){return O.current?.addDependency(this),(this.flags&N)!==0}get isResolved(){return O.current?.addDependency(this),(this.flags&P)!==0}invalidate(){this.flags|=ke,this._markDirty()}dispose(){(this.flags&Oe)===0&&(this._deps.disposeAll(),this._slots!=null&&this._slots.clear(),this.flags=Oe|M|j,this._error=null,this._value=void 0,this._hotIndex=-1)}[Symbol.dispose](){this.dispose()}addDependency(e){let t=this._trackEpoch;if(e._lastSeenEpoch===t)return;e._lastSeenEpoch=t;let n=this._trackCount++,r=this._deps,i=r.getAt(n);if(i!=null&&i.node===e)i.version=e.version;else if(!r.claimExisting(e,n)){let t=new b(e,e.version,e.subscribe(this));r.insertNew(n,t)}(e.flags&R)!==0&&(r.hasComputeds=!0)}_recompute(){if(this.isRecomputing)return;this.flags=(this.flags|L)&~ke,this._trackEpoch=le(),this._trackCount=0,this._deps.prepareTracking(),this._hotIndex=-1;let e=!1;try{let t=O.run(this,this._fn);this._deps.truncateFrom(this._trackCount),this._deps.seal(),e=!0,De(t)?this._handleAsyncComputation(t):this._finalizeResolution(t)}catch(t){if(!e)try{this._deps.truncateFrom(this._trackCount)}catch{}this._handleError(t,E.COMPUTED_COMPUTATION_FAILED,!0)}finally{this._trackEpoch=g.UNINITIALIZED,this._trackCount=0,this.flags&=~L}}_handleAsyncComputation(e){this.flags=(this.flags|N)&~(j|M|P|F),this._notifySubscribers(void 0,void 0),this._asyncRetryCount=0,this._promiseId=(this._promiseId+1)%h.MAX_PROMISE_ID;let t=this._promiseId;e.then(e=>{if(t===this._promiseId){if(this._isDirty()){let e=me();return this._lastDriftEpoch!==e&&(this._lastDriftEpoch=e,this._asyncRetryCount=0),this._asyncRetryCount++<this._maxAsyncRetries?this._markDirty():this._handleError(new C(`Async drift threshold exceeded after ${this._maxAsyncRetries} retries.`),E.COMPUTED_ASYNC_COMPUTATION_FAILED)}this._finalizeResolution(e),this._notifySubscribers(e,void 0)}},e=>t===this._promiseId&&this._handleError(e,E.COMPUTED_ASYNC_COMPUTATION_FAILED))}_handleError(e,t,n=!1){let r=D(e,C,t);if(!n&&!this.isRejected&&(this.version=ue(this.version)),this._error=r,this.flags=this.flags&~(j|M|N|P)|F|I,this._onError)try{this._onError(r)}catch(e){console.error(E.CALLBACK_ERROR_IN_ERROR_HANDLER,e)}if(n)throw r;this._notifySubscribers(void 0,void 0)}_finalizeResolution(e){let t=this.flags;((t&P)===0||!this._equal(this._value,e))&&(this.version=ue(this.version)),this._value=e,this._error=null,this.flags=(t|P)&~(j|M|N|F|I)}execute(){this._markDirty()}_markDirty(){let e=this.flags;(e&(L|M))===0&&(this.flags=e|M,this._notifySubscribers(void 0,void 0))}_isDirty(){let e=this._deps;return e.hasComputeds?this._deepDirtyCheck():e.isDirtyFast()}_deepDirtyCheck(){let e=this._deps,t=O.current;O.current=null;try{let t=e.size;for(let n=0;n<t;n++){let t=e.getAt(n);if(t==null)continue;let r=t.node;if((r.flags&R)!==0)try{r.value}catch{}if(r.version!==t.version)return this._hotIndex=n,!0}return this._hotIndex=-1,!1}finally{O.current=t}}};function je(e,t={}){return new Ae(e,t)}var Me=class extends se{constructor(e,t={}){super(),this[xe]=!0,this._cleanup=null,this._deps=new we,this._currentEpoch=g.UNINITIALIZED,this._lastFlushEpoch=g.UNINITIALIZED,this._fn=e,this._onError=t.onError??null,this._sync=t.sync??!1,this._maxExecutions=t.maxExecutionsPerSecond??p.MAX_EXECUTIONS_PER_SECOND,this._maxExecutionsPerFlush=t.maxExecutionsPerFlush??p.MAX_EXECUTIONS_PER_EFFECT,this._executionsInEpoch=0,this._executionCount=0,this._windowStart=0,this._windowCount=0,this._execId=0,this._trackCount=0,this._sync?this._notifyCallback=()=>this.execute():this._notifyCallback=()=>ve.schedule(this),ie.attachDebugInfo(this,`effect`,this.id)}run(){if(this.isDisposed)throw new w(E.EFFECT_DISPOSED);this.execute(!0)}dispose(){this.isDisposed||(this.flags|=u.DISPOSED,this._execCleanup(),this._deps?.disposeAll())}[Symbol.dispose](){this.dispose()}addDependency(e){if((this.flags&u.EXECUTING)===0)return;let t=this._currentEpoch;if(e._lastSeenEpoch===t)return;e._lastSeenEpoch=t;let n=this._trackCount++,r=this._deps,i;switch(n){case 0:i=r._s0;break;case 1:i=r._s1;break;case 2:i=r._s2;break;case 3:i=r._s3;break;default:i=r.getAt(n)}i!=null&&i.node===e?i.version=e.version:r.claimExisting(e,n)||this._insertNewDependency(e,n),e.isComputed&&(r.hasComputeds=!0)}_insertNewDependency(e,t){let n;try{let t=e.subscribe(this._notifyCallback);n=new b(e,e.version,t)}catch(t){let r=D(t,w,E.EFFECT_EXECUTION_FAILED);if(console.error(r),this._onError)try{this._onError(r)}catch{}n=new b(e,e.version,void 0)}this._deps.insertNew(t,n)}execute(e=!1){let t=this.flags;if((t&(u.DISPOSED|u.EXECUTING))!==0)return;let n=this._deps;if(!e&&n.size>0&&!this._isDirty())return;this._checkInfiniteLoops(),this.flags=t|u.EXECUTING,this._execCleanup(),this._currentEpoch=le(),this._trackCount=0,n.prepareTracking(),this._hotIndex=-1;let r=!1;try{let e=O.run(this,this._fn);n.truncateFrom(this._trackCount),n.seal(),r=!0,De(e)?this._handleAsyncResult(e):this._cleanup=typeof e==`function`?e:null}catch(e){if(!r)try{n.truncateFrom(this._trackCount)}catch{}this._handleExecutionError(e),this._cleanup=null}finally{this.flags&=~u.EXECUTING}}_isDirty(){let e=this._deps;return e.hasComputeds?this._deepDirtyCheck():e.isDirtyFast()}_handleAsyncResult(e){let t=++this._execId;e.then(e=>{if(t!==this._execId||this.isDisposed){if(typeof e==`function`)try{e()}catch(e){this._handleExecutionError(e,E.EFFECT_CLEANUP_FAILED)}return}typeof e==`function`&&(this._cleanup=e)},e=>t===this._execId&&this._handleExecutionError(e))}_deepDirtyCheck(){let e=O.current;O.current=null;let t=this._deps;try{let e=t.size;for(let n=0;n<e;n++){let e=t.getAt(n);if(e==null)continue;let r=e.node;if(r.isComputed&&this._tryPullComputed(r),r.version!==e.version)return this._hotIndex=n,!0}return!1}finally{O.current=e}}_tryPullComputed(e){try{e.value}catch{}}_execCleanup(){let e=this._cleanup;if(e!=null){this._cleanup=null;try{e()}catch(e){this._handleExecutionError(e,E.EFFECT_CLEANUP_FAILED)}}}_checkInfiniteLoops(){let e=me();this._lastFlushEpoch!==e&&(this._lastFlushEpoch=e,this._executionsInEpoch=0),++this._executionsInEpoch>this._maxExecutionsPerFlush&&this._throwInfiniteLoopError(`per-effect`),_e()>p.MAX_EXECUTIONS_PER_FLUSH&&this._throwInfiniteLoopError(`global`),this._executionCount++}_checkFrequencyLimit(){if(!Number.isFinite(this._maxExecutions))return;let e=Date.now();if(e-this._windowStart>=m.EFFECT_FREQUENCY_WINDOW){this._windowStart=e,this._windowCount=1;return}if(++this._windowCount>this._maxExecutions){let e=new w(E.EFFECT_FREQUENCY_LIMIT_EXCEEDED);throw this.dispose(),this._handleExecutionError(e),e}}get executionCount(){return this._executionCount}get isExecuting(){return(this.flags&u.EXECUTING)!==0}_throwInfiniteLoopError(e){let t=new w(`Infinite loop detected (${e}): effect executed ${this._executionsInEpoch} times in current flush. Total executions in flush: ${de}`);throw this.dispose(),console.error(t),t}_handleExecutionError(e,t=E.EFFECT_EXECUTION_FAILED){let n=D(e,w,t);if(console.error(n),this._onError)try{this._onError(n)}catch(e){console.error(D(e,w,E.CALLBACK_ERROR_IN_ERROR_HANDLER))}}};function z(e,t={}){if(typeof e!=`function`)throw new w(E.EFFECT_MUST_BE_FUNCTION);let n=new Me(e,t);return n.execute(),n}var Ne=Symbol.for(`atom-effect/atom`),Pe=Symbol.for(`atom-effect/writable`);function Fe(e,t,n,r){if(n===t.length)return r;let i=t[n],a=typeof e==`object`&&e?e:{},o=a[i],s=Fe(o,t,n+1,r);if(Object.is(o,s))return e;if(Array.isArray(a)){let e=a.slice(),t=Number.parseInt(i,10);return Number.isNaN(t)?e[i]=s:e[t]=s,e}return{...a,[i]:s}}function B(e,t){let n=e,r=t.length;for(let e=0;e<r;e++){if(n==null)return;n=n[t[e]]}return n}function Ie(e,t){let n=t.includes(`.`)?t.split(`.`):[t],r=new Set,i=()=>{r.forEach(e=>e()),r.clear()};return{get value(){return B(e.value,n)},set value(t){let r=e.peek(),i=Fe(r,n,0,t);i!==r&&(e.value=i)},peek:()=>B(e.peek(),n),subscribe(t){let i=e.subscribe((e,r)=>{let i=B(e,n),a=B(r,n);Object.is(i,a)||t(i,a)});return r.add(i),()=>{i(),r.delete(i)}},subscriberCount:()=>r.size,dispose:i,[Symbol.dispose]:i,[Ne]:!0,[Pe]:!0}}var Le=(e,t)=>Ie(e,t),Re=e=>t=>Ie(e,t);function ze(e){if(typeof e!=`function`)throw TypeError(E.BATCH_CALLBACK_MUST_BE_FUNCTION);let t=ve;t.startBatch();try{return e()}finally{t.endBatch()}}var Be=e=>Te(e),Ve=e=>typeof e==`object`&&!!e&&typeof e.then==`function`;function He(e){let t=e.localName,n=e.id;if(n)return`${t}#${n}`;let r=e.className;if(typeof r==`string`){let e=r.trim();if(e)return`${t}.${e.replace(/\s+/g,`.`)}`}return t}var V=Object.prototype.hasOwnProperty;function Ue(e,t){if(e===t)return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;let n=e,r=t,i=0;for(let e in n)if(V.call(n,e)){if(!V.call(r,e)||n[e]!==r[e])return!1;i++}let a=0;for(let e in r)V.call(r,e)&&a++;return i===a}var H={ROUTE:`[atom-route]`,BINDING:`[atom-binding]`,LIST:`[atom-list]`,MOUNT:`[atom-mount]`},We=Object.freeze({mode:`hash`,basePath:``,autoBindLinks:!1,activeClass:`active`}),Ge={EVENT:`input`,DEBOUNCE:0},Ke={HIGHLIGHT_DURATION_MS:500},qe=new Set([`input`,`select`,`textarea`]),Je=new Set([`innerHTML`,`outerHTML`,`srcdoc`,`__proto__`,`constructor`,`prototype`]),U={ROUTE:{NOT_FOUND:e=>`Route "${e}" not found and no notFound route configured`,TEMPLATE_NOT_FOUND:e=>`Template "${e}" not found`,TARGET_NOT_FOUND:e=>`Target element "${e}" not found`,MALFORMED_URI:e=>`Malformed URI component: ${e}`},SECURITY:{UNSAFE_CONTENT:()=>`Unsafe content neutralized during sanitization.`,BLOCKED_CSS_VALUE:e=>`Blocked dangerous value in CSS style property "${e}".`,BLOCKED_EVENT_HANDLER:e=>`Blocked setting dangerous event handler attribute/property "${e}".`,BLOCKED_PROTOCOL:e=>`Blocked dangerous protocol in "${e}".`,BLOCKED_PROP:e=>`Blocked setting dangerous property "${e}". Use html binding for sanitized HTML.`},BINDING:{INVALID_INPUT_ELEMENT:e=>`Val binding used on non-input element <${e}>.`,MISSING_SOURCE:e=>`[${e}] source is required when prop/name is a string.`,MISSING_CONDITION:e=>`[${e}] condition is required when className is a string.`,UPDATER_ERROR:(e,t)=>`Updater threw in binding "${e}"${t?` (static)`:``}`,CLEANUP_ERROR:e=>`Binding cleanup error${e?`: ${e}`:``}`,PARSE_ERROR:e=>`parse() threw during DOM→Atom sync${e?`: ${e}`:``}`},LIST:{DUPLICATE_KEY:(e,t,n)=>`Duplicate key "${e}" at index ${t} in atomList <${n}>.`},MOUNT:{ERROR:e=>`Mount error${e?` in component <${e}>`:``}`,CLEANUP_ERROR:e=>`Cleanup error${e?` in component <${e}>`:``}`},CORE:{EFFECT_DISPOSE_ERROR:e=>`Effect dispose error${e?`: ${e}`:``}`}},Ye=typeof window<`u`,Xe=`${Ke.HIGHLIGHT_DURATION_MS/1e3}s`;function Ze(){let e=globalThis;if(Ye&&e.window?.__ATOM_DEBUG__===!0)return!0;try{if(e.process?.env?.VITE_ATOM_DEBUG===`true`)return!0}catch{}return!1}var W=new class{constructor(){this._enabled=!1,this._lastState=!1,this.log=()=>{},this.atomChanged=()=>{},this.domUpdated=()=>{},this.cleanup=()=>{},this._enabled=Ze(),this._lastState=this._enabled,this._applyMethods(this._enabled)}get enabled(){return this._enabled}set enabled(e){this._enabled!==e&&(this._enabled=e,this._applyMethods(e))}warn(e,t,...n){console.warn(`${e} ${t}`,...n)}error(e,t,n){console.error(`${e} ${t}`,n)}_applyMethods(e){e?(this.log=(e,...t)=>console.log(e,...t),this.atomChanged=(e,t,n,r)=>console.log(`${e} Atom "${t??`anonymous`}" changed:`,n,`→`,r),this.domUpdated=(e,t,n,r)=>{let i=t instanceof Element?t:t[0];i?.isConnected&&(console.log(`${e} DOM updated: ${He(i)}.${n} =`,r),this._highlightElement(i))},this.cleanup=(e,t)=>console.log(`${e} Cleanup: ${t}`)):(this.log=()=>{},this.atomChanged=()=>{},this.domUpdated=()=>{},this.cleanup=()=>{})}_highlightElement(e){if(!e.isConnected)return;tt();let t=rt.get(e),n=nt.get(e);t!==void 0&&cancelAnimationFrame(t),n!==void 0&&(clearTimeout(n),nt.delete(e)),rt.set(e,requestAnimationFrame(()=>{rt.delete(e),e.isConnected&&(e.classList.add(Qe),nt.set(e,setTimeout(()=>{e.isConnected&&e.classList.remove(Qe),nt.delete(e)},Ke.HIGHLIGHT_DURATION_MS)))}))}},Qe=`atom-debug-highlight`,$e=`data-atom-debug`,et=!1;function tt(){if(et||!Ye)return;if(document.querySelector(`style[${$e}]`)){et=!0;return}let e=Object.assign(document.createElement(`style`),{textContent:`.${Qe}{outline:2px solid rgba(255,68,68,0.8);outline-offset:1px;transition:outline ${Xe} ease-out}`});e.setAttribute($e,``),document.head.appendChild(e),et=!0}var nt=new WeakMap,rt=new WeakMap;function it(e,t){return A(e,t)}Object.defineProperty(it,`debug`,{enumerable:!0,configurable:!0,get:()=>W.enabled,set:e=>{W.enabled=e}});var at=()=>Promise.resolve();t.default.extend({atom:it,computed:je,effect:z,batch:ze,untracked:k,isAtom:Te,isComputed:Ee,isReactive:Be,nextTick:at,atomLens:Ie,composeLens:Le,lensFor:Re});var ot=class{constructor(e=50,t=256){this.limit=e,this.capacity=t,this.pool=[]}acquire(){return this.pool.pop()??[]}release(e){e.length>this.capacity||this.pool.length>=this.limit||Object.isFrozen(e)||(e.length=0,this.pool.push(e))}reset(){this.pool.length=0}},st=class{constructor(e,t,n=64){this.factory=e,this.reset=t,this.limit=n,this.pool=[]}acquire(){return this.pool.pop()??this.factory()}release(e){this.pool.length<this.limit&&(this.reset(e),this.pool.push(e))}drain(){this.pool.length>0&&(this.pool.length=0)}get size(){return this.pool.length}},ct=new ot,lt=new ot,ut=new st(()=>({effects:void 0,cleanups:void 0,componentCleanup:void 0}),e=>{e.effects=void 0,e.cleanups=void 0,e.componentCleanup=void 0},128),dt=!1;function ft(){dt||(dt=!0,typeof document<`u`&&document.body&&mt(document.body))}var G=`_aes-bound`,K=new class{constructor(){this.records=new WeakMap,this.preservedNodes=new WeakSet,this.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)}getOrCreateRecord(e){ft();let t=this.records.get(e);return t||(t=ut.acquire(),this.records.set(e,t),e.classList.add(G)),t}trackEffect(e,t){let n=this.getOrCreateRecord(e);n.effects||=ct.acquire(),n.effects.push(t)}trackCleanup(e,t){let n=this.getOrCreateRecord(e);n.cleanups||=lt.acquire(),n.cleanups.push(t)}setComponentCleanup(e,t){this.getOrCreateRecord(e).componentCleanup=t}hasBind(e){return this.records.has(e)}cleanup(e){let t=e.nodeType===1,n=this.records.get(e);if(this.preservedNodes.delete(e),this.ignoredNodes.delete(e),!n){t&&e.classList.remove(G);return}this.records.delete(e),t&&e.classList.remove(G);let r=t?He(e):e.nodeName||`Node`;if(W.cleanup(H.BINDING,r),n.componentCleanup)try{n.componentCleanup()}catch(e){W.error(H.MOUNT,U.MOUNT.CLEANUP_ERROR(r),e)}if(n.effects){for(let e of n.effects)try{e.dispose()}catch(e){W.error(H.BINDING,U.CORE.EFFECT_DISPOSE_ERROR(r),e)}ct.release(n.effects),n.effects=void 0}if(n.cleanups){for(let e of n.cleanups)try{e()}catch(e){W.error(H.BINDING,U.BINDING.CLEANUP_ERROR(r),e)}lt.release(n.cleanups),n.cleanups=void 0}ut.release(n)}cleanupDescendants(e){let t=e.getElementsByClassName?e.getElementsByClassName(G):e.querySelectorAll(`.${G}`),n=t.length;if(n===0)return;let r=Array(n);for(let e=0;e<n;e++)r[e]=t[e];for(let e=n-1;e>=0;e--){let t=r[e];this.records.has(t)?this.cleanup(t):t.classList.remove(G)}}cleanupTree(e){(e.nodeType===1||e.nodeType===11)&&this.cleanupDescendants(e),this.cleanup(e)}},pt=new Map;function mt(e){if(pt.has(e))return;let t=new MutationObserver(e=>{let t=K;for(let n=0,r=e.length;n<r;n++){let r=e[n].removedNodes;for(let e=0,n=r.length;e<n;e++){let n=r[e];if(n.nodeType!==1||n.isConnected)continue;let i=n;t.isKept(i)||t.isIgnored(i)||t.cleanupTree(i)}}});t.observe(e,{childList:!0,subtree:!0}),pt.set(e,t)}function ht(){pt.forEach(e=>e.disconnect()),pt.clear()}var gt=Symbol(`atom-effect-internal`),_t=new WeakMap,q=null,vt=e=>{if(e[gt])return e;let t=_t.get(e);return t||(t=function(...t){return ze(()=>e.apply(this,t))},t[gt]=!0,_t.set(e,t)),t};function yt(e){let t={};for(let n in e)e[n]&&(t[n]=vt(e[n]));return t}function bt(e){let t={};for(let n in e){let r=e[n];t[n]=r?_t.get(r)??r:void 0}return t}function xt(){if(q!==null)return;q={on:t.default.fn.on,off:t.default.fn.off,remove:t.default.fn.remove,empty:t.default.fn.empty,detach:t.default.fn.detach};let e=q;t.default.fn.remove=function(t){let n=t?this.filter(t):this,r=n.length;for(let e=0;e<r;e++){let t=n[e];t&&(K.markIgnored(t),K.cleanupTree(t))}return e.remove.call(this,t)??this},t.default.fn.empty=function(){let t=this.length;for(let e=0;e<t;e++){let t=this[e];t?.hasChildNodes()&&K.cleanupDescendants(t)}return e.empty.call(this)??this},t.default.fn.detach=function(t){let n=t?this.filter(t):this,r=n.length;for(let e=0;e<r;e++){let t=n[e];t&&K.keep(t)}return e.detach.call(this,t)??this},t.default.fn.on=function(...t){let n=t[0];if(n&&typeof n==`object`)t[0]=yt(n);else{let e=t.length-1;e>=0&&typeof t[e]==`function`&&(t[e]=vt(t[e]))}return e.on.apply(this,t)??this},t.default.fn.off=function(...t){let n=t[0];if(n&&typeof n==`object`)t[0]=bt(n);else{let e=t.length-1;if(e>=0&&typeof t[e]==`function`){let n=t[e];t[e]=_t.get(n)??n}}return e.off.apply(this,t)??this}}function St(){q!==null&&(t.default.fn.on=q.on,t.default.fn.off=q.off,t.default.fn.remove=q.remove,t.default.fn.empty=q.empty,t.default.fn.detach=q.detach,q=null)}var J=function(e){return e[e.None=0]=`None`,e[e.Focused=1]=`Focused`,e[e.Composing=2]=`Composing`,e[e.SyncingToAtom=4]=`SyncingToAtom`,e[e.SyncingToDom=8]=`SyncingToDom`,e[e.Busy=14]=`Busy`,e}({}),Ct=0;function wt(e){e[gt]=!0}var Tt=class{constructor(e,t,n){this.flags=0,this.timeoutId=void 0,this.handleCompositionStart=()=>{this.flags|=J.Composing},this.handleCompositionEnd=()=>{this.flags&=~J.Composing,this.handleInput()},this.handleFocus=()=>{this.flags|=J.Focused},this.handleBlur=()=>{this.flags&=~J.Focused;let e=!!(this.flags&J.Composing);this.flags&=~J.Composing,this.flushPendingDebounce(),e&&this.timeoutId===void 0&&this.syncAtomFromDom(),this.normalizeDomValue()},this.syncDomFromAtom=()=>{let e=this.atom.value;k(()=>{let t=this.format(e),n=this.getRawDom();if(this.isMultipleSelect){if(this.equal(n,e))return}else if(n===t)return;if(this.flags&J.Focused)try{if(this.equal(this.readDom(),e))return}catch{}this.flags|=J.SyncingToDom;try{this.writeDom(e,t),W.domUpdated(H.BINDING,this.$el,`val`,t)}finally{this.flags&=~J.SyncingToDom}})},this.cleanup=()=>{this.$el.off(this.ns),clearTimeout(this.timeoutId),this.timeoutId=void 0},this.$el=e,this.el=e[0],this.atom=t;let r=this.el.tagName,i=r===`SELECT`&&this.el.multiple;this.isMultipleSelect=i,this.isTextControl=r===`INPUT`||r===`TEXTAREA`,this.ns=`.atomBind-${++Ct}`;let a=n.debounce??0;this.parse=n.parse??(e=>e),i?(this.format=n.format??(e=>(Array.isArray(e)?e:e?[String(e)]:[]).join(`,`)),this.getRawDom=()=>this.$el.val()||[],this.readDom=()=>this.getRawDom(),this.writeDom=e=>{this.$el.val(e)}):(this.format=n.format??(e=>String(e??``)),this.getRawDom=()=>this.el.value,this.readDom=()=>this.parse(this.el.value),this.isTextControl?this.writeDom=(e,t)=>{if(this.flags&J.Focused)try{let e=this.el,n=e.selectionStart,r=e.selectionEnd;e.value=t;let i=t.length;n!==null&&r!==null&&e.setSelectionRange(n<i?n:i,r<i?r:i)}catch{this.el.value=t}else this.el.value=t}:this.writeDom=(e,t)=>{this.el.value=t});let o=n.equal??Object.is;i?this.equal=(e,t)=>{if(o(e,t))return!0;if(Array.isArray(e)&&Array.isArray(t)){let n=e.length;if(n!==t.length)return!1;for(let r=0;r<n;r++)if(!Object.is(e[r],t[r]))return!1;return!0}return!1}:this.equal=o,a>0?this.handleInput=()=>{this.flags&J.Composing||(clearTimeout(this.timeoutId),this.timeoutId=setTimeout(()=>this.syncAtomFromDom(),a))}:this.handleInput=()=>{this.flags&J.Composing||this.syncAtomFromDom()},[this.handleFocus,this.handleBlur,this.handleCompositionStart,this.handleCompositionEnd,this.handleInput].forEach(wt),this.bindEvents(n.event??Ge.EVENT)}flushPendingDebounce(){this.timeoutId!==void 0&&(clearTimeout(this.timeoutId),this.timeoutId=void 0,this.syncAtomFromDom())}normalizeDomValue(){let e=this.atom.peek(),t=this.format(e),n=this.getRawDom();this.isMultipleSelect?this.equal(n,e)||this.writeDom(e,t):n!==t&&this.writeDom(e,t)}syncAtomFromDom(){if(!(this.flags&J.Busy)){this.flags|=J.SyncingToAtom;try{let e=this.readDom();this.equal(this.atom.peek(),e)||(this.atom.value=e)}catch(e){W.warn(H.BINDING,U.BINDING.PARSE_ERROR(e instanceof Error?e.message:String(e)),e)}finally{this.flags&=~J.SyncingToAtom}}}bindEvents(e){let t=this.ns,n=e.trim().split(/\s+/).map(e=>`${e}${t}`).join(` `);this.$el.on(`focus${t}`,this.handleFocus).on(`blur${t}`,this.handleBlur).on(`compositionstart${t}`,this.handleCompositionStart).on(`compositionend${t}`,this.handleCompositionEnd).on(n,this.handleInput)}};function Et(e,t,n){let r=new Tt(e,t,n);return{fx:z(r.syncDomFromAtom),cleanup:()=>{r&&=(r.cleanup(),null)}}}function Dt(e,t,n,r){let i=null,a=t=>{if(!Ve(t)){i=null;try{n(t),W.domUpdated(H.BINDING,e,r,t)}catch(e){W.error(H.BINDING,U.BINDING.UPDATER_ERROR(r,!0),e)}return}i=t,t.then(a=>{i===t&&k(()=>{try{n(a),W.domUpdated(H.BINDING,e,`${r} (async)`,a)}catch(e){W.error(H.BINDING,U.BINDING.UPDATER_ERROR(r),e)}})}).catch(e=>{i===t&&W.error(H.BINDING,U.BINDING.UPDATER_ERROR(r),e)})},o=Be(t);o||typeof t==`function`?K.trackEffect(e,z(()=>{let e=o?t.value:t();k(()=>a(e))},{name:r})):k(()=>a(t))}function Ot(e,t,n,r){let i=Object.keys(t),a=[],o=[],s=[],c={};for(let e=0,n=i.length;e<n;e++){let n=i[e],r=t[n],l=Be(r);l||typeof r==`function`?(a.push(n),o.push(r),s.push(l)):c[n]=r}let l=0,u=t=>{let a=[],o={},s=i.length;for(let e=0;e<s;e++){let n=i[e],r=t[n];Ve(r)?a.push(r.then(e=>({key:n,val:e}))):o[n]=r}let c=a.length;if(c>0){let t=++l;Promise.all(a).then(i=>{if(t===l){for(let e=0;e<c;e++){let t=i[e];o[t.key]=t.val}k(()=>{try{n(o),W.domUpdated(H.BINDING,e,`${r} (async)`,o)}catch(e){W.error(H.BINDING,U.BINDING.UPDATER_ERROR(r),e)}})}})}else{l++;try{n(o),W.domUpdated(H.BINDING,e,r,o)}catch(e){W.error(H.BINDING,U.BINDING.UPDATER_ERROR(r,!0),e)}}};a.length>0?K.trackEffect(e,z(()=>{let e={...c};for(let t=0,n=a.length;t<n;t++){let n=o[t];e[a[t]]=s[t]?n.value:n()}k(()=>u(e))},{name:r})):k(()=>u(c))}var kt=new Set([`href`,`src`,`action`,`formaction`,`xlink:href`,`data`,`poster`,`background`,`cite`,`longdesc`,`profile`,`usemap`,`classid`,`codebase`]),At=/^\s*(?:javascript|vbscript)\s*:/i,jt=/(?:expression\s*\(|behavior\s*:|-moz-binding\s*:|(?:\\[0-9a-f]{1,6}\s*|[\s\x00-\x20/'"])*(?:j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t|v\s*b\s*s\s*c\s*r\s*i\s*p\s*t|d\s*a\s*t\s*a)\s*:(?!image\/))/i,Mt=/url\s*\(\s*(?:["']?\s*)?(?:javascript|vbscript)\s*:/i,Nt=/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,Pt=/&#x([0-9a-f]+);?|&#([0-9]+);?/gi,Ft={colon:`:`,Tab:` `,NewLine:`
2
- `},It=/&(colon|Tab|NewLine);/g,Lt=/<\?[\s\S]*?\?>/g,Rt=/(<(script|iframe|object|embed|base|meta|applet|noscript|form|style|link)\b[^>]*>([\s\S]*?)<\/\2>|<(script|iframe|object|embed|base|meta|applet|noscript|form|style|link)\b[^>]*\/?>)/gi,zt=/(j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t|v\s*b\s*s\s*c\s*r\s*i\s*p\s*t)\s*:/gi,Bt=/data\s*:\s*(?:text\/(?:html|javascript|vbscript|xml)|application\/(?:javascript|xhtml\+xml|xml|x-shockwave-flash)|image\/svg\+xml)/gi,Vt=/\bon\w+\s*=/gim,Ht=new RegExp(jt.source,`gim`);function Ut(e){let t=e.length;for(let n=0;n<t;n++){let t=e.charCodeAt(n);if(t===60||t===38||t<=31&&t!==9&&t!==10&&t!==13)return!0}if(e.indexOf(`:`)!==-1)return!0;let n=e.toLowerCase(),r=n.indexOf(`on`);if(r!==-1&&r<t-2){let e=n.charCodeAt(r+2);if(e>=97&&e<=122)return!0}return!1}function Y(e){if(!e)return``;let t=String(e);if(!Ut(t))return t;let n=t.replace(Nt,``).replace(Pt,(e,t,n)=>String.fromCodePoint(t?parseInt(t,16):parseInt(n,10))).replace(It,(e,t)=>Ft[t]??``);if(n.indexOf(`<`)!==-1){n=n.replace(Lt,``);let e;do e=n,n=n.replace(Rt,``);while(n!==e)}return n.replace(zt,`data-unsafe-protocol:`).replace(Bt,`data-unsafe-protocol:`).replace(Vt,`data-unsafe-attr=`).replace(Ht,`data-unsafe-css:`)}var Wt=e=>e.length<15?!1:e.toLowerCase().includes(`url(`)&&Mt.test(e),Gt=new Map;function Kt(e){let t=Gt.get(e);return t===void 0?(t=e.includes(`-`)?e.replace(/-./g,e=>e[1].toUpperCase()):e,Gt.set(e,t),t):t}var qt=new WeakMap;function Jt(e){let t=qt.get(e);return t||(t=je(()=>{let t=e.value;return Ve(t)?t.then(e=>Y(e)):Y(t)}),qt.set(e,t)),t}function Yt(e){return{el:e,trackCleanup:t=>K.trackCleanup(e,t)}}function Xt({el:e},t,n){Dt(e,t,t=>{let r=n?n(t):String(t??``);e.textContent!==r&&(e.textContent=r)},`text`)}function Zt({el:e},t){let n=Te(t)?Jt(t):t;Dt(e,n,r=>{let i=n===t?Y(r):r;e.innerHTML!==i&&(K.cleanupDescendants(e),e.innerHTML=i)},`html`)}function Qt({el:e},t){let n={};for(let e in t)if(V.call(t,e)){let t=e.trim();n[e]=t.indexOf(` `)===-1?[t]:t.split(/\s+/).filter(Boolean)}Ot(e,t,t=>{for(let r in t){let i=n[r];t[r]?e.classList.add(...i):e.classList.remove(...i)}},`class`)}function $t({el:e},t){let n=e.style,r={},i={};for(let e in t)if(V.call(t,e)){let n=t[e],[a,o]=Array.isArray(n)?n:[n,``];r[e]=a,i[e]={camel:Kt(e),unit:o}}Ot(e,r,e=>{for(let t in e){let r=i[t],a=e[t],o=r.unit?`${a}${r.unit}`:String(a),s=r.camel;!Wt(o)&&n[s]!==o&&(n[s]=o)}},`css`)}function en({el:e},t){let n={},r={},i={};for(let a in t){if(!V.call(t,a))continue;let o=a.toLowerCase();if(o.startsWith(`on`)){console.warn(`${H.BINDING} ${U.SECURITY.BLOCKED_EVENT_HANDLER(a)}`);continue}n[a]=t[a],r[a]={isAria:o.startsWith(`aria-`),isUrl:kt.has(o)},i[a]=e.getAttribute(a)}Ot(e,n,t=>{for(let n in t){let a=r[n],o=t[n];if(o==null||o===!1&&!a.isAria){i[n]!==null&&e.removeAttribute(n),i[n]=null;continue}let s=o===!0?a.isAria?`true`:n:String(o);if(a.isUrl&&At.test(s)){console.warn(`${H.BINDING} ${U.SECURITY.BLOCKED_PROTOCOL(n)}`);continue}i[n]!==s&&(e.setAttribute(n,s),i[n]=s)}},`attr`)}function tn(e,t){let n=e.el,r={},i={};for(let e in t){if(!V.call(t,e))continue;let n=e.toLowerCase();if(n.startsWith(`on`)||Je.has(e)){console.warn(`${H.BINDING} ${n.startsWith(`on`)?U.SECURITY.BLOCKED_EVENT_HANDLER(e):U.SECURITY.BLOCKED_PROP(e)}`);continue}r[e]=t[e],i[e]={isUrl:kt.has(n)}}Ot(e.el,r,e=>{for(let t in e){let r=e[t];if(i[t].isUrl&&typeof r==`string`&&At.test(r)){console.warn(`${H.BINDING} ${U.SECURITY.BLOCKED_PROTOCOL(t)}`);continue}n[t]!==r&&(n[t]=r)}},`prop`)}function nn({el:e},t,n){let r=e.style.display===`none`?``:e.style.display;Dt(e,t,t=>{let i=n===!!t?`none`:r;e.style.display!==i&&(e.style.display=i)},n?`hide`:`show`)}function X(e,n,r={}){let i=e.el.tagName.toLowerCase();if(!qe.has(i)){console.warn(`${H.BINDING} ${U.BINDING.INVALID_INPUT_ELEMENT(i)}`);return}let{fx:a,cleanup:o}=Et((0,t.default)(e.el),n,r);K.trackEffect(e.el,a),e.trackCleanup(o)}function rn(e,n){let r=e.el,i=(0,t.default)(r),a=()=>{n.peek()!==r.checked&&(n.value=r.checked,r.type===`radio`&&r.checked&&r.name&&(r.form?(0,t.default)(r.form):(0,t.default)(document)).find(`input[type="radio"][name="${r.name.replace(/"/g,`\\"`)}"]`).not(r).trigger(`change.atomRadioSync`))};a[gt]=!0,i.on(`change change.atomRadioSync`,a),e.trackCleanup(()=>i.off(`change change.atomRadioSync`,a)),K.trackEffect(r,z(()=>{let e=!!n.value;k(()=>{r.checked!==e&&(r.checked=e,W.domUpdated(H.BINDING,r,`checked`,e))})}))}function an(e,n){let r=(0,t.default)(e.el);r.on(n),e.trackCleanup(()=>r.off(n))}function on({el:e,trackCleanup:n},r,i){let a=(0,t.default)(e);a.on(r,i),n(()=>a.off(r,i))}function sn(e){K.cleanupTree(e)}function cn(e,t,n={}){let r=new Map,i=[],a=z(()=>{let e=t.value,n=i.length;n!==0&&k(()=>{for(let t=0;t<n;t++){let n=i[t],r=B(e,n.parts);Object.is(n.atom.peek(),r)||(n.atom.value=r)}})});K.trackEffect(e,a);let o=n=>{let a=r.get(n);if(!a){let o=n.includes(`.`)?n.split(`.`):[n];a=A(B(t.peek(),o)),i.push({atom:a,parts:o}),K.trackEffect(e,z(()=>{let e=a.value,n=t.peek(),r=Fe(n,o,0,e);r!==n&&(t.value=r)})),r.set(n,a)}return a},s=e=>{if(!(e instanceof HTMLInputElement||e instanceof HTMLTextAreaElement||e instanceof HTMLSelectElement))return;let t=e.name;if(!t||K.hasBind(e))return;let r=o(t),i=Yt(e);e instanceof HTMLInputElement&&(e.type===`checkbox`||e.type===`radio`)?rn(i,r):X(i,r,n)};for(let t=0,n=e.elements.length;t<n;t++)s(e.elements[t]);let c=new MutationObserver(e=>{for(let t=0,n=e.length;t<n;t++){let n=e[t];if(n.type===`childList`)for(let e=0,t=n.addedNodes.length;e<t;e++){let t=n.addedNodes[e];if(t.nodeType===1){let e=t;s(e);let n=e.matches?.(`input, select, textarea`)?[e]:e.querySelectorAll(`input, select, textarea`);for(let e=0,t=n.length;e<t;e++)s(n[e])}}else n.type===`attributes`&&n.attributeName===`name`&&s(n.target)}});c.observe(e,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`name`]}),K.trackCleanup(e,()=>c.disconnect())}function Z(e,t){let n=e.length;for(let r=0;r<n;r++){let n=e[r];if(n?.nodeType===1){let e=n;t(Yt(e),e)}else n&&W.log(H.BINDING,`Skipping non-Element node (nodeType=${n.nodeType})`)}return e}t.default.fn.atomText=function(e,t){return Z(this,n=>Xt(n,e,t))},t.default.fn.atomHtml=function(e){return Z(this,t=>Zt(t,e))},t.default.fn.atomClass=function(e,t){if(typeof e==`string`){if(t===void 0)return console.warn(`${H.BINDING} ${U.BINDING.MISSING_CONDITION(`atomClass`)}`),this;let n={[e]:t};return Z(this,e=>Qt(e,n))}return Z(this,t=>Qt(t,e))},t.default.fn.atomCss=function(e,t,n){if(typeof e==`string`){if(t===void 0)return console.warn(`${H.BINDING} ${U.BINDING.MISSING_SOURCE(`atomCss`)}`),this;let r={[e]:n?[t,n]:t};return Z(this,e=>$t(e,r))}return Z(this,t=>$t(t,e))},t.default.fn.atomAttr=function(e,t){if(typeof e==`string`){if(t===void 0)return console.warn(`${H.BINDING} ${U.BINDING.MISSING_SOURCE(`atomAttr`)}`),this;let n={[e]:t};return Z(this,e=>en(e,n))}return Z(this,t=>en(t,e))},t.default.fn.atomProp=function(e,t){if(typeof e==`string`){if(t===void 0)return console.warn(`${H.BINDING} ${U.BINDING.MISSING_SOURCE(`atomProp`)}`),this;let n={[e]:t};return Z(this,e=>tn(e,n))}return Z(this,t=>tn(t,e))},t.default.fn.atomShow=function(e){return Z(this,t=>nn(t,e,!1))},t.default.fn.atomHide=function(e){return Z(this,t=>nn(t,e,!0))},t.default.fn.atomVal=function(e,t={}){return Z(this,n=>X(n,e,t))},t.default.fn.atomChecked=function(e){return Z(this,t=>rn(t,e))},t.default.fn.atomForm=function(e,t={}){return Z(this,(n,r)=>{r instanceof HTMLFormElement&&cn(r,e,t)})},t.default.fn.atomOn=function(e,t){return Z(this,n=>on(n,e,t))};var ln=[(e,t)=>Xt(e,t.text),(e,t)=>Zt(e,t.html),(e,t)=>Qt(e,t.class),(e,t)=>$t(e,t.css),(e,t)=>en(e,t.attr),(e,t)=>tn(e,t.prop),(e,t)=>nn(e,t.show,!1),(e,t)=>nn(e,t.hide,!0),(e,t)=>{let n=t.val;Array.isArray(n)?X(e,n[0],n[1]):X(e,n)},(e,t)=>rn(e,t.checked),(e,t)=>{e.el instanceof HTMLFormElement&&cn(e.el,t.form)},(e,t)=>an(e,t.on)];t.default.fn.atomBind=function(e){let t=0;return e.text!==void 0&&(t|=1),e.html!==void 0&&(t|=2),e.class!==void 0&&(t|=4),e.css!==void 0&&(t|=8),e.attr!==void 0&&(t|=16),e.prop!==void 0&&(t|=32),e.show!==void 0&&(t|=64),e.hide!==void 0&&(t|=128),e.val!==void 0&&(t|=256),e.checked!==void 0&&(t|=512),e.form!==void 0&&(t|=1024),e.on!==void 0&&(t|=2048),t===0?this:Z(this,n=>{let r=t;for(;r>0;){let t=r&-r;ln[31-Math.clz32(t)](n,e),r^=t}})},t.default.fn.atomUnbind=function(){let e=this.length;for(let t=0;t<e;t++){let e=this[t];e?.nodeType===1&&sn(e)}return this};var un=new WeakMap,dn=0,fn=new st(()=>new Map,e=>e.clear()),pn=new st(()=>new Set,e=>e.clear()),Q=new ot(100,1024);function mn(e,t,n){if(e instanceof Element){n.insertBefore(e,t);return}let r=e.length;for(let i=0;i<r;i++){let r=e[i];r&&n.insertBefore(r,t)}}function $(e){return e instanceof Element?(0,t.default)(e):e}var hn=class{constructor(e,t,n){this.$container=e,this.containerSelector=t,this.onRemove=n,this.oldKeys=[],this.oldItems=[],this.oldNodes=[],this.removingKeys=new Set,this.$emptyEl=null,this.keyToIndex=new Map,this.statesBuffer=new Uint8Array(256),this.indicesBuffer=new Int32Array(256)}scheduleRemoval(e,t){let n=()=>{this.fx?.isDisposed||(t[0]?.isConnected&&t.remove(),this.removingKeys.delete(e),W.log(H.LIST,`${this.containerSelector} removed item:`,e))},r=this.onRemove?.(t);r instanceof Promise?r.then(n,n):n()}removeItem(e,t){for(let e=0;e<t.length;e++)t[e]instanceof Element&&t[e].removeAttribute(`data-atom-key`);this.removingKeys.add(e),this.scheduleRemoval(e,t)}dispose(){this.removingKeys.clear(),this.oldKeys.length=0,this.oldItems.length=0,this.oldNodes.length=0,this.keyToIndex.clear(),this.$emptyEl?.remove(),this.$container.off(`.atomList`),this.statesBuffer=new Uint8Array,this.indicesBuffer=new Int32Array}ensureBuffers(e){this.statesBuffer.length<e&&(this.statesBuffer=new Uint8Array(Math.max(e,this.statesBuffer.length*2))),this.indicesBuffer.length<e&&(this.indicesBuffer=new Int32Array(Math.max(e,this.indicesBuffer.length*2)))}};function gn(e,n,r,i){if(e.$emptyEl&&n>0&&(e.$emptyEl.remove(),e.$emptyEl=null),n!==0)return;let{oldKeys:a,oldNodes:o,onRemove:s}=e;if(s)for(let t=0,n=a.length;t<n;t++){let n=a[t];o[t]&&e.removeItem(n,$(o[t]))}else{for(let t=0,n=a.length;t<n;t++)e.removingKeys.delete(a[t]);r.empty()}i&&!e.$emptyEl&&(e.$emptyEl=typeof i==`string`?(0,t.default)(Y(i)):(0,t.default)(i),e.$emptyEl.appendTo(r)),Q.release(e.oldKeys),Q.release(e.oldItems),Q.release(e.oldNodes),e.oldKeys=[],e.oldItems=[],e.oldNodes=[]}function _n(e,t,n,r,i,a){let{oldKeys:o,oldItems:s,oldNodes:c,removingKeys:l,keyToIndex:u}=e,d=o.length,f=0,p=d-1,m=n-1,h=a||Ue;for(;f<=p&&f<=m;){let e=t[f],n=r(e,f);if(o[f]!==n||!h(s[f],e))break;u.set(n,f++)}for(;p>=f&&m>=f;){let e=t[m],n=r(e,m);if(o[p]!==n||!h(s[p],e))break;u.set(n,m--),p--}let g=fn.acquire();for(let e=f;e<=p;e++)g.set(o[e],e);let _=pn.acquire();e.ensureBuffers(n);let v=Q.acquire();v.length=n;let y=Q.acquire();y.length=n;let b=Q.acquire();b.length=n;let x=e.statesBuffer,S=e.indicesBuffer,C=Q.acquire(),w=Q.acquire(),T=Q.acquire();for(let e=0;e<f;e++)v[e]=o[e],y[e]=t[e],b[e]=c[e],x[e]=3,S[e]=e;for(let e=d-1,r=n-1;r>m;r--,e--)v[r]=o[e],y[r]=t[r],b[r]=c[e],x[r]=3,S[r]=e;for(let n=f;n<=m;n++){let o=t[n],d=r(o,n);if(v[n]=d,y[n]=o,u.set(d,n),_.has(d)){W.warn(H.LIST,U.LIST.DUPLICATE_KEY(d,n,e.containerSelector)),S[n]=-1;continue}_.add(d);let f=g.get(d);if(f===void 0){C.push(d),w.push(o),T.push(n),S[n]=-1,x[n]=1;continue}let p=s[f];b[n]=c[f],!i&&p!==o&&!(a?a(p,o):Ue(p,o))?(C.push(d),w.push(o),T.push(n),x[n]=2):x[n]=0,S[n]=l.has(d)?-1:f}return fn.release(g),{newKeys:v,newKeySet:_,newItems:y,newNodes:b,newStates:x,newIndices:S,trKeys:C,trItems:w,trIdxs:T,startIndex:f,oldEndIndex:p,newEndIndex:m}}function vn(e,n,r){let{trKeys:i,trItems:a,trIdxs:o,newNodes:s,newStates:c}=e,l=i.length,u=Array(l),d=[],f=0;for(let e=0;e<l;e++){let t=n.render(a[e],o[e]);u[e]=t,typeof t==`string`&&(d.push(t),f++)}let p=null;if(d.length>0)if(d.length===1)p=[Y(d[0])];else{let e=`<template data-atom-sep="${(dn++).toString(36)}"></template>`;p=Y(d.join(e)).split(e)}if(r&&p&&f===l&&!n.bind&&!n.onAdd&&!n.onRemove&&!n.events)return p;let m=0;for(let e=0;e<l;e++){let n=u[e],r=typeof n==`string`?(0,t.default)(p[m++]):(0,t.default)(n),a=o[e],l=String(i[e]);for(let e=0,t=r.length;e<t;e++){let t=r[e];t instanceof Element&&t.setAttribute(`data-atom-key`,l)}if(c[a]===2&&s[a]){let e=s[a];if(e instanceof Element)K.cleanupTree(e);else for(let t=0,n=e.length;t<n;t++){let n=e[t];n instanceof Element&&K.cleanupTree(n)}$(e).replaceWith(r)}s[a]=r.length===1?r[0]:r}return null}function yn(e,t){let{startIndex:n,oldEndIndex:r,newKeySet:i}=t;for(let t=n;t<=r;t++){let n=e.oldKeys[t];!i.has(n)&&e.oldNodes[t]&&e.removeItem(n,$(e.oldNodes[t]))}}function bn(e,n,r,i,a){let{newKeys:o,newItems:s,newNodes:c,newStates:l,newIndices:u}=n,d=o.length;if(a!==null){r.innerHTML=a.join(``);let n=r.firstElementChild;for(let r=0;r<d&&n;r++)n.setAttribute(`data-atom-key`,String(o[r])),c[r]=n,l[r]=0,e.removingKeys.delete(o[r]),W.domUpdated(H.LIST,(0,t.default)(n),`list.add`,s[r]),n=n.nextElementSibling;return}if(e.oldKeys.length===0){let e=document.createDocumentFragment();for(let t=0;t<d;t++){let n=c[t];if(n instanceof Element)e.appendChild(n);else for(let t=0;t<n.length;t++)e.appendChild(n[t])}r.appendChild(e)}else{let e=null,t=2147483647;for(let n=d-1;n>=0;n--){let i=u[n];i!==-1&&i<t?t=i:mn(c[n],e,r);let a=c[n];e=a instanceof Element?a:a[0]??null}}for(let t=0;t<d;t++){let n=l[t];if(n!==3){let r=$(c[t]),a=s[t];n===0?i.update?.(r,a,t):i.bind?.(r,a,t),n===1&&(i.onAdd?.(r),e.removingKeys.delete(o[t]),W.domUpdated(H.LIST,r,`list.add`,a))}}}t.default.fn.atomList=function(e,n){let r=typeof n.key==`function`?n.key:e=>e[n.key],i={bind:n.bind,update:n.update,onAdd:n.onAdd,onRemove:n.onRemove,events:n.events};for(let a=0,o=this.length;a<o;a++){let o=this[a],s=(0,t.default)(o);s.off(`.atomList`);let c=un.get(o);c&&(c.fx.dispose(),c.ctx.dispose());let l=new hn(s,He(o),n.onRemove),u=z(()=>{let t=e.value,a=t.length;k(()=>{if(gn(l,a,s,n.empty),a===0)return;W.log(H.LIST,`${l.containerSelector} updating with ${a} items`);let e=_n(l,t,a,r,n.update,n.isEqual),c=vn(e,n,l.oldKeys.length===0);if(yn(l,e),bn(l,e,o,i,c),n.events)for(let t=e.startIndex;t<=e.oldEndIndex;t++)e.newKeySet.has(l.oldKeys[t])||l.keyToIndex.delete(l.oldKeys[t]);Q.release(l.oldKeys),Q.release(l.oldItems),Q.release(l.oldNodes),l.oldKeys=e.newKeys,l.oldItems=e.newItems,l.oldNodes=e.newNodes,pn.release(e.newKeySet),Q.release(e.trKeys),Q.release(e.trItems),Q.release(e.trIdxs)})});if(l.fx=u,n.events)for(let e in n.events){if(!V.call(n.events,e))continue;let t=e.indexOf(` `),r=t===-1?e:e.slice(0,t),i=t===-1?`> *`:e.slice(t+1).trim(),a=n.events[e];s.on(`${r}.atomList`,i,function(e){let t=e.target.closest?.(`[data-atom-key]`),n=t?.getAttribute(`data-atom-key`);if(n==null)return;let r=n;if(!l.keyToIndex.has(n)){let e=Number(n);!Number.isNaN(e)&&l.keyToIndex.has(e)&&(r=e)}let i=l.keyToIndex.get(r);i!==void 0&&a.call(t,l.oldItems[i],i,e)})}K.trackEffect(o,u),un.set(o,{fx:u,ctx:l}),K.trackCleanup(o,()=>{l.dispose(),un.delete(o)})}return this};var xn=Object.freeze({});t.default.fn.atomMount=function(e,n){let r=n??xn,i=e.name||`Component`;for(let n=0,a=this.length;n<a;n++){let a=this[n];if(a){K.cleanupTree(a);try{let n=k(()=>e((0,t.default)(a),r));typeof n==`function`&&K.setComponentCleanup(a,n)}catch(e){W.error(H.MOUNT,U.MOUNT.ERROR(i),e)}}}return this},t.default.fn.atomUnmount=function(){for(let e=0,t=this.length;e<t;e++){let t=this[e];t&&sn(t)}return this};function Sn(e,t){try{history.pushState(e,``,t)}catch(e){W.warn(H.ROUTE,`PushState failed (likely file:// protocol or security restriction). UI will update, but URL will not.`,e)}}var Cn=class{constructor(e){this.isDestroyed=!1,this.previousRoute=``,this.cleanups=[],this.templateCache=new Map,this.routeCleanups=[],this.lastRawQuery=``,this.cachedParams={},this.config={mode:We.mode,basePath:We.basePath,autoBindLinks:We.autoBindLinks,activeClass:We.activeClass,...e},this.isHistoryMode=this.config.mode===`history`,this.basePath=this.config.basePath.replace(/\/$/,``),this.activeClass=this.config.activeClass,this.$target=(0,t.default)(this.config.target),this.previousUrl=this.isHistoryMode?location.pathname+location.search:location.hash,this.currentRouteAtom=A(this.getRouteName()),this.currentRoute=this.currentRouteAtom,this.queryParamsAtom=A(this.getQueryParams()),this.queryParams=je(()=>this.queryParamsAtom.value),this.init()}init(){let e=this.isHistoryMode?`popstate`:`hashchange`,t=this.handleUrlChange.bind(this);window.addEventListener(e,t),this.cleanups.push(()=>window.removeEventListener(e,t));let n=z(()=>{let e=this.currentRouteAtom.value;k(()=>{for(let e of this.routeCleanups)try{e()}catch{}this.routeCleanups.length=0}),this.renderRoute(e)});this.cleanups.push(()=>n.dispose()),this.setupAutoBindLinks(),this.$target[0]&&K.trackCleanup(this.$target[0],()=>this.destroy())}getRouteName(){let{default:e}=this.config;if(this.isHistoryMode){let t=this.basePath,n=location.pathname;return t&&n.startsWith(t)&&(n=n.substring(t.length)),n.replace(/^\//,``)||e}return location.hash.split(`?`)[0].substring(1)||e}getQueryParams(){let e=location.hash,t=e.indexOf(`?`),n=this.isHistoryMode?location.search.substring(1):t===-1?``:e.substring(t+1);if(n===this.lastRawQuery)return this.cachedParams;this.lastRawQuery=n;let r={},i=0;n&&new URLSearchParams(n).forEach((e,t)=>{r[t]=e,i++});let a=0;for(let e in this.cachedParams)a++;let o=i!==a;if(!o){for(let e in r)if(r[e]!==this.cachedParams[e]){o=!0;break}}return o&&(n.indexOf(`%`),this.cachedParams=r),this.cachedParams}setUrl(e){let t=this.isHistoryMode?`${this.basePath}/${e}`:`#${e}`;this.isHistoryMode?Sn(null,t):location.hash=t,this.previousUrl=this.isHistoryMode?t:location.hash}restoreUrl(){this.isHistoryMode?Sn(null,this.previousUrl):location.hash=this.previousUrl}renderRoute(e){if(this.isDestroyed||!this.$target[0])return;let{routes:t,notFound:n,beforeTransition:r,afterTransition:i}=this.config,a=t[e]??(n?t[n]:void 0);if(!a){W.warn(H.ROUTE,U.ROUTE.NOT_FOUND(e));return}let o=this.getQueryParams(),s=this.previousRoute;r&&k(()=>r(s,e)),this.$target.empty();let c=o;if(a.onEnter){let e=k(()=>a.onEnter(o,this));e&&(c={...o,...e})}let l=e=>this.routeCleanups.push(e);if(a.render)a.render(this.$target[0],e,c,l,this);else if(a.template){let e=this.templateCache.get(a.template);if(!e){let t=document.querySelector(a.template);if(t instanceof HTMLTemplateElement)e=t,this.templateCache.set(a.template,e);else{W.warn(H.ROUTE,U.ROUTE.TEMPLATE_NOT_FOUND(a.template));return}}this.$target.append(e.content.cloneNode(!0)),a.onMount&&a.onMount(this.$target.children(),l,this)}i&&k(()=>i(s,e)),this.previousRoute=e}handleUrlChange(){if(this.isDestroyed)return;let e=this.isHistoryMode?location.pathname+location.search:location.hash;if(e===this.previousUrl)return;let t=this.getRouteName(),n=this.currentRouteAtom.peek();if(n!==t){if(k(()=>this.config.routes[n]?.onLeave?.(this))===!1){this.restoreUrl();return}this.currentRouteAtom.value=t}this.queryParamsAtom.value=this.getQueryParams(),this.previousUrl=e}setupAutoBindLinks(){if(!this.config.autoBindLinks)return;let e=e=>{e.preventDefault();let t=e.currentTarget.dataset.route;t!=null&&this.navigate(t)};(0,t.default)(document).on(`click`,`[data-route]`,e),this.cleanups.push(()=>(0,t.default)(document).off(`click`,`[data-route]`,e));let n=[],r=z(()=>{let e=this.currentRouteAtom.value,t=this.activeClass;k(()=>{let r=n.length;for(let e=0;e<r;e++){let r=n[e];r.classList.remove(t),r.removeAttribute(`aria-current`)}try{let r=`[data-route="${e.replace(/"/g,`\\"`)}"]`,i=Array.from(document.querySelectorAll(r)),a=i.length;for(let e=0;e<a;e++){let n=i[e];n.classList.add(t),n.setAttribute(`aria-current`,`page`)}n=i}catch{n=[]}})});this.cleanups.push(()=>r.dispose())}navigate(e){if(this.isDestroyed)return;let t=this.currentRouteAtom.peek();if(this.config.routes[t]?.onLeave?.(this)===!1)return;let n=e||this.config.default;n&&(this.setUrl(n),this.queryParamsAtom.value={},this.currentRouteAtom.value=n)}destroy(){if(!this.isDestroyed){this.isDestroyed=!0;for(let e of this.cleanups)try{e()}catch{}this.templateCache.clear()}}};function wn(e){return new Cn(e)}t.default.extend({route:wn});var Tn=class{constructor(e,n){this.abortController=null,this.execute=async()=>{this.abortController?.abort(),this.abortController=new AbortController;let{signal:e}=this.abortController,n=this.ajaxOptionsFn?.()??{},r={...this.staticOptions,...n,headers:{...this.staticOptions.headers,...n.headers},url:this.isStaticUrl?this.staticUrl:this.getUrl(),success:void 0,error:void 0,complete:void 0},i=t.default.ajax(r);e.onabort=()=>i.abort(),e.aborted&&i.abort();try{let e=await i;return this.transformFn?this.transformFn(e):e}catch(t){if(e.aborted){let e=Error(`AbortError`);throw e.name=`AbortError`,e}return this.handleError(t)}finally{e.onabort=null,this.abortController?.signal===e&&(this.abortController=null)}};let r=typeof e==`string`;this.isStaticUrl=r,r?(this.staticUrl=e,this.getUrl=()=>this.staticUrl):this.getUrl=e,this.ajaxOptionsFn=typeof n.ajaxOptions==`function`?n.ajaxOptions:void 0;let i=typeof n.ajaxOptions==`object`?n.ajaxOptions:{};this.staticOptions={...i,method:n.method,headers:{...i?.headers,...n.headers}},this.transformFn=n.transform,this.onErrorFn=n.onError}abort(){this.abortController?.abort()}handleError(e){let t;if(e&&e.readyState!==void 0){let n=e;t=Error(`Network Error: ${n.statusText||`Unknown`} (${n.status})`),t.jqXHR=n}else t=e instanceof Error?e:Error(String(e??`Unknown error`));if(this.onErrorFn)try{this.onErrorFn(t)}catch{}throw t}};t.default.extend({atomFetch(e,t){let n=new Tn(e,t),r=je(n.execute,{defaultValue:t.defaultValue,lazy:t.eager===!1});return Object.assign(r,{abort:()=>n.abort()})}}),(0,t.default)(()=>{xt(),mt(document.body)}),e.default=t.default,e.disableAutoCleanup=ht,e.disablejQueryOverrides=St,e.enableAutoCleanup=mt,e.enablejQueryOverrides=xt,e.isReactive=Be,e.nextTick=at,e.registry=K});
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require(`jquery`)):typeof define==`function`&&define.amd?define([`exports`,`jquery`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e.AtomEffectJQuery={},e.jQuery))})(this,function(e,t){Object.defineProperties(e,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});var n=Object.create,r=Object.defineProperty,i=Object.getOwnPropertyDescriptor,a=Object.getOwnPropertyNames,o=Object.getPrototypeOf,s=Object.prototype.hasOwnProperty,c=(e,t,n,o)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=a(t),l=0,u=c.length,d;l<u;l++)d=c[l],!s.call(e,d)&&d!==n&&r(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(o=i(t,d))||o.enumerable});return e};t=((e,t,i)=>(i=e==null?{}:n(o(e)),c(t||!e||!e.__esModule?r(i,`default`,{value:e,enumerable:!0}):i,e)))(t);var l={IDLE:`idle`,PENDING:`pending`,RESOLVED:`resolved`,REJECTED:`rejected`},u={DISPOSED:1,EXECUTING:8},d={DISPOSED:1,IS_COMPUTED:2,DIRTY:8,IDLE:16,PENDING:32,RESOLVED:64,REJECTED:128,RECOMPUTING:256,HAS_ERROR:512,FORCE_COMPUTE:1024},f={DISPOSED:1,SYNC:8,NOTIFICATION_SCHEDULED:16},p={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},m={WARN_INFINITE_LOOP:!0,EFFECT_FREQUENCY_WINDOW:1e3},ee={MAX_PROMISE_ID:2**53-1-1},h={UNINITIALIZED:-1,MIN:1},g=1073741823;typeof process<`u`&&process.env;var _=Object.freeze([]),v=class extends Error{constructor(e,t=null,n=!0){super(e),this.cause=t,this.recoverable=n,this.name=`AtomError`}},y=class extends v{constructor(e,t=null){super(e,t,!0),this.name=`ComputedError`}},b=class extends v{constructor(e,t=null){super(e,t,!1),this.name=`EffectError`}},x=class extends v{constructor(e,t=null){super(e,t,!1),this.name=`SchedulerError`}},S={COMPUTED_MUST_BE_FUNCTION:`Computed target must be a function`,COMPUTED_ASYNC_PENDING_NO_DEFAULT:`Async computation pending with no default value`,COMPUTED_COMPUTATION_FAILED:`Computation execution failed`,COMPUTED_ASYNC_COMPUTATION_FAILED:`Async computation execution failed`,COMPUTED_CIRCULAR_DEPENDENCY:`Circular dependency detected`,COMPUTED_DISPOSED:`Attempted to access disposed computed`,ATOM_SUBSCRIBER_MUST_BE_FUNCTION:`Subscriber must be a function or Subscriber object`,ATOM_INDIVIDUAL_SUBSCRIBER_FAILED:`Subscriber execution failed`,EFFECT_MUST_BE_FUNCTION:`Effect target must be a function`,EFFECT_EXECUTION_FAILED:`Effect execution failed`,EFFECT_CLEANUP_FAILED:`Effect cleanup failed`,EFFECT_DISPOSED:`Attempted to run disposed effect`,SCHEDULER_FLUSH_OVERFLOW:(e,t)=>`Maximum flush iterations (${e}) exceeded. ${t} jobs dropped. Possible infinite loop.`,CALLBACK_ERROR_IN_ERROR_HANDLER:`Exception encountered in onError handler`,EFFECT_FREQUENCY_LIMIT_EXCEEDED:`Effect executed too frequently within 1 second. Suspected infinite loop.`,SCHEDULER_CALLBACK_MUST_BE_FUNCTION:`Scheduler callback must be a function`,SCHEDULER_END_BATCH_WITHOUT_START:`endBatch() called without matching startBatch(). Ignoring.`,BATCH_CALLBACK_MUST_BE_FUNCTION:`Batch callback must be a function`};function C(e,t,n){return e instanceof v?e:e instanceof Error?new t(`${e.name||e.constructor.name||`Error`} (${n}): ${e.message}`,e):new t(`Unexpected error (${n}): ${String(e)}`)}var w=Symbol(`AtomEffect.DebugName`),te=Symbol(`AtomEffect.Type`),ne=Symbol(`AtomEffect.NoDefaultValue`),re=new class{constructor(){this.enabled=!1,this.warnInfiniteLoop=m.WARN_INFINITE_LOOP}warn(e,t){}attachDebugInfo(e,t,n){}getDebugName(e){if(e!=null)return e[w]}getDebugType(e){if(e!=null)return e[te]}},ie=1,ae=()=>ie++|0,oe=class{constructor(){this._s0=null,this._s1=null,this._s2=null,this._s3=null,this._count=0,this._overflow=null,this._freeIndices=null}get size(){return this._count}getAt(e){if(e<4)switch(e){case 0:return this._s0;case 1:return this._s1;case 2:return this._s2;case 3:return this._s3}let t=this._overflow;if(t!==null){let n=t[e-4];return n===void 0?null:n}return null}setAt(e,t){switch(e){case 0:this._s0=t;break;case 1:this._s1=t;break;case 2:this._s2=t;break;case 3:this._s3=t;break;default:this._overflow??=[],this._overflow[e-4]=t}e>=this._count&&(this._count=e+1)}truncateFrom(e){let t=this._count;if(e>=t)return;if(e<=3){if(e<=0){let e=this._s0;e!=null&&(this._onItemRemoved(e),this._s0=null)}if(e<=1){let e=this._s1;e!=null&&(this._onItemRemoved(e),this._s1=null)}if(e<=2){let e=this._s2;e!=null&&(this._onItemRemoved(e),this._s2=null)}if(e<=3){let e=this._s3;e!=null&&(this._onItemRemoved(e),this._s3=null)}}let n=this._overflow;if(n!==null&&t>4){let t=e>4?e-4:0,r=n.length;for(let e=t;e<r;e++){let t=n[e];t!=null&&(this._onItemRemoved(t),n[e]=null)}e<=4?(n.length=0,this._overflow=null):n.length=e-4}this._freeIndices!==null&&(this._freeIndices=null),this._count=e}_onItemRemoved(e){}add(e){if(this._s0===null){this._s0=e,this._count++;return}if(this._s1===null){this._s1=e,this._count++;return}if(this._s2===null){this._s2=e,this._count++;return}if(this._s3===null){this._s3=e,this._count++;return}this._addToOverflow(e)}_addToOverflow(e){let t=this._overflow;if(t===null)this._overflow=[e];else{let n=this._freeIndices;n!==null&&n.length>0?t[n.pop()]=e:t.push(e)}this._count++}remove(e){if(this._s0===e)return this._s0=null,this._count--,!0;if(this._s1===e)return this._s1=null,this._count--,!0;if(this._s2===e)return this._s2=null,this._count--,!0;if(this._s3===e)return this._s3=null,this._count--,!0;let t=this._overflow;if(t==null)return!1;for(let n=0,r=t.length;n<r;n++)if(t[n]===e){t[n]=null,this._count--;let e=this._freeIndices;return e===null&&(e=this._freeIndices=[]),e.push(n),!0}return!1}has(e){if(this._count===0)return!1;if(this._s0===e||this._s1===e||this._s2===e||this._s3===e)return!0;let t=this._overflow;if(t!=null){for(let n=0,r=t.length;n<r;n++)if(t[n]===e)return!0}return!1}forEach(e){let t=this._count;if(t===0)return;let n=0,r=this._s0;if(r!=null&&(e(r),++n===t))return;let i=this._s1;if(i!=null&&(e(i),++n===t))return;let a=this._s2;if(a!=null&&(e(a),++n===t))return;let o=this._s3;if(o!=null&&(e(o),++n===t))return;let s=this._overflow;if(s!=null)for(let r=0,i=s.length;r<i;r++){let i=s[r];if(i!=null&&(e(i),++n===t))return}}forEachIndexed(e){let t=this._count;if(t===0)return 0;let n=0,r=this._s0;if(r!=null&&(e(r),++n===t))return n;let i=this._s1;if(i!=null&&(e(i),++n===t))return n;let a=this._s2;if(a!=null&&(e(a),++n===t))return n;let o=this._s3;if(o!=null&&(e(o),++n===t))return n;let s=this._overflow;if(s!=null)for(let r=0,i=s.length;r<i;r++){let i=s[r];if(i!=null&&(e(i),++n===t))return n}return n}compact(){let e=this._overflow;if(e===null)return;let t=e.length;if(t===0)return;let n=0;for(;n<t;)if(e[n]===null){for(;t>n&&e[t-1]===null;)e.pop(),t--;t>n&&(e[n]=e.pop(),t--,n++)}else n++;this._freeIndices=null,t===0&&(this._overflow=null)}clear(){this._s0=null,this._s1=null,this._s2=null,this._s3=null,this._count=0,this._overflow!==null&&(this._overflow.length=0,this._overflow=null),this._freeIndices=null}dispose(){this.clear()}},se=class extends oe{constructor(...e){super(...e),this._map=null,this._SCAN_THRESHOLD=32,this.hasComputeds=!1}prepareTracking(){this.hasComputeds=!1}_onItemRemoved(e){let t=e.unsub;t&&t()}claimExisting(e,t){let n=this._count;if(t>=n)return!1;let r=n-t;if(this._map!==null||r>this._SCAN_THRESHOLD)return this._claimViaMap(e,t);if(t<4)switch(t){case 0:{let t=this._s0;if(t&&t.node===e&&t.unsub)return t.version=e.version,!0}case 1:if(n>1){let n=this._s1;if(n&&n.node===e&&n.unsub)return n.version=e.version,t!==1&&(this._s1=this._s0,this._s0=n),!0}case 2:if(n>2){let n=this._s2;if(n&&n.node===e&&n.unsub){if(n.version=e.version,t!==2){let e=t===0?this._s0:this._s1;t===0?this._s0=n:this._s1=n,this._s2=e}return!0}}case 3:if(n>3){let n=this._s3;if(n&&n.node===e&&n.unsub){if(n.version=e.version,t!==3){let e;t===0?(e=this._s0,this._s0=n):t===1?(e=this._s1,this._s1=n):(e=this._s2,this._s2=n),this._s3=e}return!0}}}let i=this._overflow;if(i){let n=e.version,r=t>4?t:4,a=i.length;for(let o=r-4;o<a;o++){let r=i[o];if(r&&r.node===e&&r.unsub)return r.version=n,this._swapGeneral(o+4,t,r),!0}}return!1}_claimViaMap(e,t){let n=this._map;if(n===null){n=this._map=new Map;let e=this._count;if(t<4){let e=this._s0;t<=0&&e?.unsub&&n.set(e.node,0);let r=this._s1;t<=1&&r?.unsub&&n.set(r.node,1);let i=this._s2;t<=2&&i?.unsub&&n.set(i.node,2);let a=this._s3;t<=3&&a?.unsub&&n.set(a.node,3)}let r=this._overflow;if(r&&e>4){let e=t>4?t:4,i=r.length;for(let t=e-4;t<i;t++){let e=r[t];e?.unsub&&n.set(e.node,t+4)}}}let r=n.get(e);if(r===void 0||r<t)return!1;let i=this.getAt(r);if(i==null||!i.unsub)return!1;if(i.version=e.version,r!==t){let a;a=t===0?this._s0:t===1?this._s1:t===2?this._s2:t===3?this._s3:this._overflow[t-4]??null,this.setAt(t,i),this.setAt(r,a),a?.unsub&&n.set(a.node,r),n.set(e,t)}return!0}_swapGeneral(e,t,n){if(e===t)return;let r;if(r=t===0?this._s0:t===1?this._s1:t===2?this._s2:t===3?this._s3:this._overflow[t-4]??null,this.setAt(t,n),e===0)this._s0=r;else if(e===1)this._s1=r;else if(e===2)this._s2=r;else if(e===3)this._s3=r;else{let t=this._overflow;t[e-4]=r}}insertNew(e,t){let n=this._count;if(e<n){let t;t=e===0?this._s0:e===1?this._s1:e===2?this._s2:e===3?this._s3:this._overflow[e-4]??null,t!=null&&(this._addToOverflow(t),this._map!==null&&t.unsub&&this._map.set(t.node,this._count-1))}if(e===0)this._s0=t;else if(e===1)this._s1=t;else if(e===2)this._s2=t;else if(e===3)this._s3=t;else{let n=this._overflow;n||(n=[],this._overflow=n),n[e-4]=t}e>=n&&(this._count=e+1)}truncateFrom(e){e>=this._count||(super.truncateFrom(e),this._map!==null&&(this._map.clear(),this._map=null))}disposeAll(){this._count>0&&this.truncateFrom(0),this.hasComputeds=!1}remove(e){throw Error(`remove() is strictly prohibited in DepSlotBuffer to preserve sequential cache paths.`)}compact(){}},ce=class{constructor(e,t,n=void 0){this.node=e,this.version=t,this.unsub=n}},le=class{constructor(e,t){this.fn=e,this.sub=t}notify(e,t){let n=this.fn;if(n!==void 0){n(e,t);return}let r=this.sub;r!==void 0&&r.execute()}},T=new class{constructor(){this.current=null}run(e,t){if(this.current===e)return t();let n=this.current;this.current=e;try{return t()}finally{this.current=n}}};function E(e){let t=T,n=t.current;if(n===null)return e();t.current=null;try{return e()}finally{t.current=n}}var ue=class{constructor(){this.flags=0,this.version=0,this._lastSeenEpoch=h.UNINITIALIZED,this._notifying=0,this._hotIndex=-1,this._slots=null,this._deps=null,this.id=ae()&g}get isDisposed(){return(this.flags&d.DISPOSED)!==0}get isComputed(){return(this.flags&d.IS_COMPUTED)!==0}get hasError(){return!1}subscribe(e){let t=typeof e==`function`;if(!t&&(!e||typeof e.execute!=`function`))throw C(TypeError(`Invalid subscriber`),v,S.ATOM_SUBSCRIBER_MUST_BE_FUNCTION);let n=this._slots;n||(n=new oe,this._slots=n);let r=!1;if(n._s0!=null&&(t?n._s0.fn===e:n._s0.sub===e))r=!0;else if(n._s1!=null&&(t?n._s1.fn===e:n._s1.sub===e))r=!0;else if(n._s2!=null&&(t?n._s2.fn===e:n._s2.sub===e))r=!0;else if(n._s3!=null&&(t?n._s3.fn===e:n._s3.sub===e))r=!0;else{let i=n._overflow;if(i!=null)for(let n=0,a=i.length;n<a;n++){let a=i[n];if(a!=null&&(t?a.fn===e:a.sub===e)){r=!0;break}}}if(r)return()=>{};let i=new le(t?e:void 0,t?void 0:e);return n.add(i),()=>this._unsubscribe(i)}_unsubscribe(e){let t=this._slots;t&&(t.remove(e),this._notifying===0&&t.compact())}subscriberCount(){let e=this._slots;return e===null?0:e.size}_notifySubscribers(e,t){let n=this._slots;if(!(n===null||n.size===0)){this._notifying++;try{let r=n._s0;if(r!=null)try{r.notify(e,t)}catch(e){this._logNotifyError(e)}if(r=n._s1,r!=null)try{r.notify(e,t)}catch(e){this._logNotifyError(e)}if(r=n._s2,r!=null)try{r.notify(e,t)}catch(e){this._logNotifyError(e)}if(r=n._s3,r!=null)try{r.notify(e,t)}catch(e){this._logNotifyError(e)}let i=n._overflow;if(i!=null)for(let n=0,r=i.length;n<r;n++){let r=i[n];if(r!=null)try{r.notify(e,t)}catch(e){this._logNotifyError(e)}}}finally{--this._notifying===0&&n.compact()}}}_logNotifyError(e){console.error(C(e,v,S.ATOM_INDIVIDUAL_SUBSCRIBER_FAILED))}_isDirty(){let e=this._deps;if(e===null||e.size===0)return!1;let t=this._hotIndex;if(t!==-1){let n=e.getAt(t);if(n!=null&&n.node.version!==n.version)return!0}return this._deepDirtyCheck()}},de=Symbol.for(`atom-effect/atom`),fe=Symbol.for(`atom-effect/computed`),pe=Symbol.for(`atom-effect/effect`),me=Symbol.for(`atom-effect/writable`),he=0;function ge(){let e=he+1&g;return he=e===0?1:e,he}function _e(e){let t=e+1&g;return t===0?1:t}var ve=0,ye=!1,be=0;function xe(){return be}function Se(){return ye?!1:(ye=!0,be=ge(),ve=0,!0)}function Ce(){ye=!1}function we(){if(!ye)return 0;let e=++ve;if(e<=p.MAX_EXECUTIONS_PER_FLUSH)return e;throw Error(`[atom-effect] Infinite loop detected: flush execution count exceeded ${p.MAX_EXECUTIONS_PER_FLUSH}`)}var Te=new class{constructor(){this._queueBuffer=[[],[]],this._bufferIndex=0,this._size=0,this._epoch=0,this._isProcessing=!1,this._isFlushingSync=!1,this._batchDepth=0,this._batchQueue=[],this._batchQueueSize=0,this._maxFlushIterations=p.MAX_FLUSH_ITERATIONS,this.onOverflow=null,this._boundRunLoop=this._runLoop.bind(this)}get queueSize(){return this._size}get isBatching(){return this._batchDepth>0}schedule(e){let t=this._epoch;if(e._nextEpoch===t)return;if(e._nextEpoch=t,this._batchDepth>0||this._isFlushingSync){this._batchQueue[this._batchQueueSize++]=e;return}let n=this._bufferIndex,r=this._queueBuffer[n];r[this._size++]=e,this._isProcessing||this._flush()}_flush(){this._isProcessing||this._size===0||(this._isProcessing=!0,queueMicrotask(this._boundRunLoop))}_runLoop(){try{if(this._size===0)return;let e=Se();this._drainQueue(),e&&Ce()}finally{this._isProcessing=!1,this._size>0&&this._batchDepth===0&&this._flush()}}_flushSync(){this._isFlushingSync=!0;let e=Se();try{this._mergeBatchQueue(),this._drainQueue()}finally{this._isFlushingSync=!1,e&&Ce()}}_mergeBatchQueue(){let e=this._batchQueueSize;if(e===0)return;let t=++this._epoch,n=this._batchQueue,r=this._bufferIndex,i=this._queueBuffer[r],a=this._size;for(let r=0;r<e;r++){let e=n[r];e._nextEpoch!==t&&(e._nextEpoch=t,i[a++]=e)}this._size=a,this._batchQueueSize=0,n.length=0}_drainQueue(){let e=0;for(;this._size>0;){if(++e>this._maxFlushIterations){this._handleFlushOverflow();return}this._processQueue(),this._mergeBatchQueue()}}_processQueue(){let e=this._bufferIndex,t=this._queueBuffer[e],n=this._size;this._bufferIndex=e^1,this._size=0,this._epoch=this._epoch+1|0;for(let e=0;e<n;e++){let n=t[e];try{typeof n==`function`?n():n.execute()}catch(e){console.error(new x(`Error occurred during scheduler execution`,e))}}t.length=0}_handleFlushOverflow(){let e=this._size+this._batchQueueSize,t=this._maxFlushIterations;console.error(new x(S.SCHEDULER_FLUSH_OVERFLOW(t,e))),this._size=0;let n=this._bufferIndex;this._queueBuffer[n].length=0,this._batchQueueSize=0;let r=this.onOverflow;if(r)try{r(e)}catch{}}startBatch(){this._batchDepth++}endBatch(){this._batchDepth!==0&&--this._batchDepth===0&&this._flushSync()}setMaxFlushIterations(e){if(e<p.MIN_FLUSH_ITERATIONS)throw new x(`Max flush iterations must be at least ${p.MIN_FLUSH_ITERATIONS}`);this._maxFlushIterations=e}};function Ee(e){if(typeof e!=`function`)throw TypeError(S.BATCH_CALLBACK_MUST_BE_FUNCTION);let t=Te;t.startBatch();try{return e()}finally{t.endBatch()}}var De=class extends ue{constructor(e,t){super(),this[de]=!0,this[me]=!0,this._value=e,t&&(this.flags|=f.SYNC),re.attachDebugInfo(this,`atom`,this.id)}get isNotificationScheduled(){return(this.flags&f.NOTIFICATION_SCHEDULED)!==0}get isSync(){return(this.flags&f.SYNC)!==0}get value(){return T.current?.addDependency(this),this._value}set value(e){let t=this._value;if(Object.is(t,e))return;this._value=e,this.version=_e(this.version);let n=this.flags;if((n&f.NOTIFICATION_SCHEDULED)!==0)return;let r=this._slots;r==null||r.size===0||(this._pendingOldValue=t,this.flags=n|f.NOTIFICATION_SCHEDULED,(n&f.SYNC)!==0&&!Te.isBatching?this._flushNotifications():Te.schedule(this))}execute(){this._flushNotifications()}_flushNotifications(){let e=this.flags;if((e&(f.NOTIFICATION_SCHEDULED|f.DISPOSED))!==f.NOTIFICATION_SCHEDULED)return;let t=this._pendingOldValue;this._pendingOldValue=void 0,this.flags=e&~f.NOTIFICATION_SCHEDULED,this._notifySubscribers(this._value,t)}peek(){return this._value}dispose(){let e=this.flags;(e&f.DISPOSED)===0&&(this._slots?.clear(),this.flags=e|f.DISPOSED,this._value=void 0,this._pendingOldValue=void 0)}_deepDirtyCheck(){return!1}[Symbol.dispose](){this.dispose()}};function Oe(e,t={}){return new De(e,t.sync??!1)}function ke(e){return typeof e==`object`&&!!e&&de in e}function Ae(e){return typeof e==`object`&&!!e&&fe in e}function je(e){return typeof e==`object`&&!!e&&typeof e.then==`function`}var{IDLE:D,DIRTY:O,PENDING:k,RESOLVED:A,REJECTED:j,HAS_ERROR:M,RECOMPUTING:N,DISPOSED:Me,IS_COMPUTED:P,FORCE_COMPUTE:Ne}=d,Pe=class extends ue{constructor(e,t={}){if(typeof e!=`function`)throw new y(S.COMPUTED_MUST_BE_FUNCTION);if(super(),this[de]=!0,this[fe]=!0,this._error=null,this._promiseId=0,this._deps=new se,this._trackEpoch=h.UNINITIALIZED,this._trackCount=0,this._value=void 0,this.flags=P|O|D,this._equal=t.equal??Object.is,this._fn=e,this._defaultValue=`defaultValue`in t?t.defaultValue:ne,this._onError=t.onError??null,re.attachDebugInfo(this,`computed`,this.id),t.lazy===!1)try{this._recompute()}catch{}}get isDirty(){return(this.flags&O)!==0}get isRejected(){return(this.flags&j)!==0}get isRecomputing(){return(this.flags&N)!==0}get _hasErrorInternal(){return(this.flags&M)!==0}_track(){T.current?.addDependency(this)}get value(){T.current?.addDependency(this);let e=this.flags;if((e&(A|O|D))===A)return this._value;if((e&Me)!==0)throw new y(S.COMPUTED_DISPOSED);if((e&N)!==0){let e=this._defaultValue;if(e!==ne)return e;throw new y(S.COMPUTED_CIRCULAR_DEPENDENCY)}if((e&(O|D))!==0){let t=this._deps;if((e&D)===0&&(e&Ne)===0&&t.size>0&&!this._isDirty()?e=this.flags&=~O:(this._recompute(),e=this.flags),(e&A)!==0)return this._value}let t=this._defaultValue,n=t!==ne;if((e&k)!==0){if(n)return t;throw new y(S.COMPUTED_ASYNC_PENDING_NO_DEFAULT)}if((e&j)!==0){if(n)return t;throw this._error}return this._value}peek(){return this._value}get state(){T.current?.addDependency(this);let e=this.flags;return(e&A)===0?(e&k)===0?(e&j)===0?l.IDLE:l.REJECTED:l.PENDING:l.RESOLVED}get hasError(){if(T.current?.addDependency(this),(this.flags&(j|M))!==0)return!0;let e=this._deps;if(!e.hasComputeds)return!1;let t=e.size;for(let n=0;n<t;n++)if(e.getAt(n)?.node.hasError)return!0;return!1}get isValid(){return!this.hasError}get errors(){T.current?.addDependency(this);let e=this._error,t=this._deps;if(!t.hasComputeds)return e==null?_:Object.freeze([e]);let n=[];e!=null&&n.push(e);let r=t.size;for(let e=0;e<r;e++){let r=t.getAt(e);if(r==null)continue;let i=r.node;(i.flags&P)!==0&&i.hasError&&this._collectErrorsFromDep(i,n)}return n.length===0?_:Object.freeze(n)}_collectErrorsFromDep(e,t){let n=e.errors,r=n.length;for(let e=0;e<r;e++){let r=n[e];r!=null&&!t.includes(r)&&t.push(r)}}get lastError(){return T.current?.addDependency(this),this._error}get isPending(){return T.current?.addDependency(this),(this.flags&k)!==0}get isResolved(){return T.current?.addDependency(this),(this.flags&A)!==0}invalidate(){this.flags|=Ne,this._markDirty()}dispose(){(this.flags&Me)===0&&(this._deps.disposeAll(),this._slots!=null&&this._slots.clear(),this.flags=Me|O|D,this._error=null,this._value=void 0,this._hotIndex=-1)}[Symbol.dispose](){this.dispose()}addDependency(e){let t=this._trackEpoch;if(e._lastSeenEpoch===t)return;e._lastSeenEpoch=t;let n=this._trackCount++,r=this._deps,i=r.getAt(n);if(i!=null&&i.node===e)i.version=e.version;else if(!r.claimExisting(e,n)){let t=new ce(e,e.version,e.subscribe(this));r.insertNew(n,t)}(e.flags&P)!==0&&(r.hasComputeds=!0)}_recompute(){if(this.isRecomputing)return;this.flags=(this.flags|N)&~Ne,this._trackEpoch=ge(),this._trackCount=0,this._deps.prepareTracking(),this._hotIndex=-1;let e=!1;try{let t=T.run(this,this._fn);this._deps.truncateFrom(this._trackCount),e=!0,je(t)?this._handleAsyncComputation(t):this._finalizeResolution(t)}catch(t){if(!e)try{this._deps.truncateFrom(this._trackCount)}catch{}this._handleError(t,S.COMPUTED_COMPUTATION_FAILED,!0)}finally{this._trackEpoch=h.UNINITIALIZED,this._trackCount=0,this.flags&=~N}}_handleAsyncComputation(e){this.flags=(this.flags|k)&~(D|O|A|j),this._notifySubscribers(void 0,void 0),this._promiseId=(this._promiseId+1)%ee.MAX_PROMISE_ID;let t=this._promiseId;e.then(e=>{if(t===this._promiseId){if(this._isDirty())return this._markDirty();this._finalizeResolution(e),this._notifySubscribers(e,void 0)}},e=>t===this._promiseId&&this._handleError(e,S.COMPUTED_ASYNC_COMPUTATION_FAILED))}_handleError(e,t,n=!1){let r=C(e,y,t);if(!n&&!this.isRejected&&(this.version=_e(this.version)),this._error=r,this.flags=this.flags&~(D|O|k|A)|j|M,this._onError)try{this._onError(r)}catch(e){console.error(S.CALLBACK_ERROR_IN_ERROR_HANDLER,e)}if(n)throw r;this._notifySubscribers(void 0,void 0)}_finalizeResolution(e){let t=this.flags;((t&A)===0||!this._equal(this._value,e))&&(this.version=_e(this.version)),this._value=e,this._error=null,this.flags=(t|A)&~(D|O|k|j|M)}execute(){this._markDirty()}_markDirty(){let e=this.flags;(e&(N|O))===0&&(this.flags=e|O,this._notifySubscribers(void 0,void 0))}_deepDirtyCheck(){let e=this._deps,t=T.current;T.current=null;try{let t=e.size;for(let n=0;n<t;n++){let t=e.getAt(n);if(t==null)continue;let r=t.node;if((r.flags&P)!==0)try{r.value}catch{}if(r.version!==t.version)return this._hotIndex=n,!0}return this._hotIndex=-1,!1}finally{T.current=t}}};function F(e,t={}){return new Pe(e,t)}var Fe=class extends ue{constructor(e,t={}){super(),this[pe]=!0,this._cleanup=null,this._deps=new se,this._currentEpoch=h.UNINITIALIZED,this._lastFlushEpoch=h.UNINITIALIZED,this._fn=e,this._onError=t.onError??null,this._sync=t.sync??!1,this._maxExecutions=t.maxExecutionsPerSecond??p.MAX_EXECUTIONS_PER_SECOND,this._maxExecutionsPerFlush=t.maxExecutionsPerFlush??p.MAX_EXECUTIONS_PER_EFFECT,this._executionsInEpoch=0,this._executionCount=0,this._windowStart=0,this._windowCount=0,this._execId=0,this._trackCount=0,this._sync?this._notifyCallback=()=>this.execute():this._notifyCallback=()=>Te.schedule(this),re.attachDebugInfo(this,`effect`,this.id)}run(){if(this.isDisposed)throw new b(S.EFFECT_DISPOSED);this.execute(!0)}dispose(){this.isDisposed||(this.flags|=u.DISPOSED,this._execCleanup(),this._deps?.disposeAll())}[Symbol.dispose](){this.dispose()}addDependency(e){if((this.flags&u.EXECUTING)===0)return;let t=this._currentEpoch;if(e._lastSeenEpoch===t)return;e._lastSeenEpoch=t;let n=this._trackCount++,r=this._deps,i;switch(n){case 0:i=r._s0;break;case 1:i=r._s1;break;case 2:i=r._s2;break;case 3:i=r._s3;break;default:i=r.getAt(n)}i!=null&&i.node===e?i.version=e.version:r.claimExisting(e,n)||this._insertNewDependency(e,n),e.isComputed&&(r.hasComputeds=!0)}_insertNewDependency(e,t){let n;try{let t=e.subscribe(this._notifyCallback);n=new ce(e,e.version,t)}catch(t){let r=C(t,b,S.EFFECT_EXECUTION_FAILED);if(console.error(r),this._onError)try{this._onError(r)}catch{}n=new ce(e,e.version,void 0)}this._deps.insertNew(t,n)}execute(e=!1){let t=this.flags;if((t&(u.DISPOSED|u.EXECUTING))!==0)return;let n=this._deps;if(!e&&n.size>0&&!this._isDirty())return;this._checkInfiniteLoops(),this.flags=t|u.EXECUTING,this._execCleanup(),this._currentEpoch=ge(),this._trackCount=0,n.prepareTracking(),this._hotIndex=-1;let r=!1;try{let e=T.run(this,this._fn);n.truncateFrom(this._trackCount),r=!0,je(e)?this._handleAsyncResult(e):this._cleanup=typeof e==`function`?e:null}catch(e){if(!r)try{n.truncateFrom(this._trackCount)}catch{}this._handleExecutionError(e),this._cleanup=null}finally{this.flags&=~u.EXECUTING}}_handleAsyncResult(e){let t=++this._execId;e.then(e=>{if(t!==this._execId||this.isDisposed){if(typeof e==`function`)try{e()}catch(e){this._handleExecutionError(e,S.EFFECT_CLEANUP_FAILED)}return}typeof e==`function`&&(this._cleanup=e)},e=>t===this._execId&&this._handleExecutionError(e))}_deepDirtyCheck(){let e=T.current;T.current=null;let t=this._deps;try{let e=t.size;for(let n=0;n<e;n++){let e=t.getAt(n);if(e==null)continue;let r=e.node;if(r.isComputed&&this._tryPullComputed(r),r.version!==e.version)return this._hotIndex=n,!0}return!1}finally{T.current=e}}_tryPullComputed(e){try{e.value}catch{}}_execCleanup(){let e=this._cleanup;if(e!=null){this._cleanup=null;try{e()}catch(e){this._handleExecutionError(e,S.EFFECT_CLEANUP_FAILED)}}}_checkInfiniteLoops(){let e=xe();this._lastFlushEpoch!==e&&(this._lastFlushEpoch=e,this._executionsInEpoch=0),++this._executionsInEpoch>this._maxExecutionsPerFlush&&this._throwInfiniteLoopError(`per-effect`),we()>p.MAX_EXECUTIONS_PER_FLUSH&&this._throwInfiniteLoopError(`global`),this._executionCount++}_checkFrequencyLimit(){if(!Number.isFinite(this._maxExecutions))return;let e=Date.now();if(e-this._windowStart>=m.EFFECT_FREQUENCY_WINDOW){this._windowStart=e,this._windowCount=1;return}if(++this._windowCount>this._maxExecutions){let e=new b(S.EFFECT_FREQUENCY_LIMIT_EXCEEDED);throw this.dispose(),this._handleExecutionError(e),e}}get executionCount(){return this._executionCount}get isExecuting(){return(this.flags&u.EXECUTING)!==0}_throwInfiniteLoopError(e){let t=new b(`Infinite loop detected (${e}): effect executed ${this._executionsInEpoch} times in current flush. Total executions in flush: ${ve}`);throw this.dispose(),console.error(t),t}_handleExecutionError(e,t=S.EFFECT_EXECUTION_FAILED){let n=C(e,b,t);if(console.error(n),this._onError)try{this._onError(n)}catch(e){console.error(C(e,b,S.CALLBACK_ERROR_IN_ERROR_HANDLER))}}};function I(e,t={}){if(typeof e!=`function`)throw new b(S.EFFECT_MUST_BE_FUNCTION);let n=new Fe(e,t);return n.execute(),n}var Ie=Symbol.for(`atom-effect/atom`),Le=Symbol.for(`atom-effect/writable`);function Re(e,t,n,r){if(n===t.length)return r;let i=t[n],a=typeof e==`object`&&e?e:{},o=a[i],s=Re(o,t,n+1,r);if(Object.is(o,s))return e;if(Array.isArray(a)){let e=a.slice(),t=Number.parseInt(i,10);return Number.isNaN(t)?e[i]=s:e[t]=s,e}return{...a,[i]:s}}function L(e,t){let n=e,r=t.length;for(let e=0;e<r;e++){if(n==null)return;n=n[t[e]]}return n}function ze(e,t){let n=t.includes(`.`)?t.split(`.`):[t],r=new Set,i=()=>{r.forEach(e=>e()),r.clear()};return{get value(){return L(e.value,n)},set value(t){let r=e.peek(),i=Re(r,n,0,t);i!==r&&(e.value=i)},peek:()=>L(e.peek(),n),subscribe(t){let i=e.subscribe((e,r)=>{let i=L(e,n),a=L(r,n);Object.is(i,a)||t(i,a)});return r.add(i),()=>{i(),r.delete(i)}},subscriberCount:()=>r.size,dispose:i,[Symbol.dispose]:i,[Ie]:!0,[Le]:!0}}var Be=(e,t)=>ze(e,t),Ve=e=>t=>ze(e,t),R=e=>ke(e),He=e=>typeof e==`object`&&!!e&&typeof e.then==`function`;function Ue(e){let t=e.localName,n=e.id;if(n)return`${t}#${n}`;let r=e.className;if(typeof r==`string`){let e=r.trim();if(e)return`${t}.${e.replace(/\s+/g,`.`)}`}return t}var z=Object.prototype.hasOwnProperty;function We(e,t){if(e===t)return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;let n=e,r=t,i=0;for(let e in n)if(z.call(n,e)){if(!z.call(r,e)||n[e]!==r[e])return!1;i++}let a=0;for(let e in r)z.call(r,e)&&a++;return i===a}var B={ROUTE:`[atom-route]`,BINDING:`[atom-binding]`,LIST:`[atom-list]`,MOUNT:`[atom-mount]`},V=Object.freeze({mode:`hash`,basePath:``,autoBindLinks:!1,activeClass:`active`}),Ge={EVENT:`input`,DEBOUNCE:0},Ke={HIGHLIGHT_DURATION_MS:500},qe=new Set([`input`,`select`,`textarea`]),Je=new Set([`innerHTML`,`outerHTML`,`srcdoc`,`__proto__`,`constructor`,`prototype`]),H={ROUTE:{NOT_FOUND:e=>`Route "${e}" not found and no notFound route configured`,TEMPLATE_NOT_FOUND:e=>`Template "${e}" not found`,TARGET_NOT_FOUND:e=>`Target element "${e}" not found`,MALFORMED_URI:e=>`Malformed URI component: ${e}`},SECURITY:{UNSAFE_CONTENT:()=>`Unsafe content neutralized during sanitization.`,BLOCKED_CSS_VALUE:e=>`Blocked dangerous value in CSS style property "${e}".`,BLOCKED_EVENT_HANDLER:e=>`Blocked setting dangerous event handler attribute/property "${e}".`,BLOCKED_PROTOCOL:e=>`Blocked dangerous protocol in "${e}".`,BLOCKED_PROP:e=>`Blocked setting dangerous property "${e}". Use html binding for sanitized HTML.`},BINDING:{INVALID_INPUT_ELEMENT:e=>`Val binding used on non-input element <${e}>.`,MISSING_SOURCE:e=>`[${e}] source is required when prop/name is a string.`,MISSING_CONDITION:e=>`[${e}] condition is required when className is a string.`,UPDATER_ERROR:(e,t)=>`Updater threw in binding "${e}"${t?` (static)`:``}`,CLEANUP_ERROR:e=>`Binding cleanup error${e?`: ${e}`:``}`,PARSE_ERROR:e=>`parse() threw during DOM→Atom sync${e?`: ${e}`:``}`},LIST:{DUPLICATE_KEY:(e,t,n)=>`Duplicate key "${e}" at index ${t} in atomList <${n}>.`},MOUNT:{ERROR:e=>`Mount error${e?` in component <${e}>`:``}`,CLEANUP_ERROR:e=>`Cleanup error${e?` in component <${e}>`:``}`},CORE:{EFFECT_DISPOSE_ERROR:e=>`Effect dispose error${e?`: ${e}`:``}`}},Ye=typeof window<`u`,Xe=`${Ke.HIGHLIGHT_DURATION_MS/1e3}s`;function Ze(){let e=globalThis;if(Ye&&e.window?.__ATOM_DEBUG__===!0)return!0;try{if(e.process?.env?.VITE_ATOM_DEBUG===`true`)return!0}catch{}return!1}var U=new class{constructor(){this._enabled=!1,this._lastState=!1,this.log=()=>{},this.atomChanged=()=>{},this.domUpdated=()=>{},this.cleanup=()=>{},this._enabled=Ze(),this._lastState=this._enabled,this._applyMethods(this._enabled)}get enabled(){return this._enabled}set enabled(e){this._enabled!==e&&(this._enabled=e,this._applyMethods(e))}warn(e,t,...n){console.warn(`${e} ${t}`,...n)}error(e,t,n){console.error(`${e} ${t}`,n)}_applyMethods(e){e?(this.log=(e,...t)=>console.log(e,...t),this.atomChanged=(e,t,n,r)=>console.log(`${e} Atom "${t??`anonymous`}" changed:`,n,`→`,r),this.domUpdated=(e,t,n,r)=>{let i=t instanceof Element?t:t[0];i?.isConnected&&(console.log(`${e} DOM updated: ${Ue(i)}.${n} =`,r),this._highlightElement(i))},this.cleanup=(e,t)=>console.log(`${e} Cleanup: ${t}`)):(this.log=()=>{},this.atomChanged=()=>{},this.domUpdated=()=>{},this.cleanup=()=>{})}_highlightElement(e){if(!e.isConnected)return;tt();let t=nt.get(e),n=W.get(e);t!==void 0&&cancelAnimationFrame(t),n!==void 0&&(clearTimeout(n),W.delete(e)),nt.set(e,requestAnimationFrame(()=>{nt.delete(e),e.isConnected&&(e.classList.add(Qe),W.set(e,setTimeout(()=>{e.isConnected&&e.classList.remove(Qe),W.delete(e)},Ke.HIGHLIGHT_DURATION_MS)))}))}},Qe=`atom-debug-highlight`,$e=`data-atom-debug`,et=!1;function tt(){if(et||!Ye)return;if(document.querySelector(`style[${$e}]`)){et=!0;return}let e=Object.assign(document.createElement(`style`),{textContent:`.${Qe}{outline:2px solid rgba(255,68,68,0.8);outline-offset:1px;transition:outline ${Xe} ease-out}`});e.setAttribute($e,``),document.head.appendChild(e),et=!0}var W=new WeakMap,nt=new WeakMap;function rt(e,t){return Oe(e,t)}Object.defineProperty(rt,`debug`,{enumerable:!0,configurable:!0,get:()=>U.enabled,set:e=>{U.enabled=e}});var it=()=>Promise.resolve();t.default.extend({atom:rt,computed:F,effect:I,batch:Ee,untracked:E,isAtom:ke,isComputed:Ae,isReactive:R,nextTick:it,atomLens:ze,composeLens:Be,lensFor:Ve});var at=class{constructor(e=50,t=256){this.limit=e,this.capacity=t,this.pool=[]}acquire(){return this.pool.pop()??[]}release(e){e.length>this.capacity||this.pool.length>=this.limit||Object.isFrozen(e)||(e.length=0,this.pool.push(e))}reset(){this.pool.length=0}},ot=class{constructor(e,t,n=64){this.factory=e,this.reset=t,this.limit=n,this.pool=[]}acquire(){return this.pool.pop()??this.factory()}release(e){this.pool.length<this.limit&&(this.reset(e),this.pool.push(e))}drain(){this.pool.length>0&&(this.pool.length=0)}get size(){return this.pool.length}},st=new at,ct=new at,lt=new ot(()=>({effects:void 0,cleanups:void 0,componentCleanup:void 0}),e=>{e.effects=void 0,e.cleanups=void 0,e.componentCleanup=void 0},128),ut=!1;function dt(){ut||(ut=!0,typeof document<`u`&&document.body&&ft(document.body))}var G=`_aes-bound`,K=new class{constructor(){this.records=new WeakMap,this.preservedNodes=new WeakSet,this.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)}getOrCreateRecord(e){dt();let t=this.records.get(e);return t||(t=lt.acquire(),this.records.set(e,t),e.classList.add(G)),t}trackEffect(e,t){let n=this.getOrCreateRecord(e);n.effects||=st.acquire(),n.effects.push(t)}trackCleanup(e,t){let n=this.getOrCreateRecord(e);n.cleanups||=ct.acquire(),n.cleanups.push(t)}setComponentCleanup(e,t){this.getOrCreateRecord(e).componentCleanup=t}hasBind(e){return this.records.has(e)}cleanup(e){let t=e.nodeType===1,n=this.records.get(e);if(this.preservedNodes.delete(e),this.ignoredNodes.delete(e),!n){t&&e.classList.remove(G);return}this.records.delete(e),t&&e.classList.remove(G);let r=t?Ue(e):e.nodeName||`Node`;if(U.cleanup(B.BINDING,r),n.componentCleanup)try{n.componentCleanup()}catch(e){U.error(B.MOUNT,H.MOUNT.CLEANUP_ERROR(r),e)}if(n.effects){for(let e of n.effects)try{e.dispose()}catch(e){U.error(B.BINDING,H.CORE.EFFECT_DISPOSE_ERROR(r),e)}st.release(n.effects),n.effects=void 0}if(n.cleanups){for(let e of n.cleanups)try{e()}catch(e){U.error(B.BINDING,H.BINDING.CLEANUP_ERROR(r),e)}ct.release(n.cleanups),n.cleanups=void 0}lt.release(n)}cleanupDescendants(e){let t=e.getElementsByClassName?e.getElementsByClassName(G):e.querySelectorAll(`.${G}`),n=t.length;if(n===0)return;let r=Array(n);for(let e=0;e<n;e++)r[e]=t[e];for(let e=n-1;e>=0;e--){let t=r[e];this.records.has(t)?this.cleanup(t):t.classList.remove(G)}}cleanupTree(e){(e.nodeType===1||e.nodeType===11)&&this.cleanupDescendants(e),this.cleanup(e)}},q=new Map;function ft(e){if(q.has(e))return;let t=new MutationObserver(e=>{let t=K;for(let n=0,r=e.length;n<r;n++){let r=e[n].removedNodes;for(let e=0,n=r.length;e<n;e++){let n=r[e];if(n.nodeType!==1||n.isConnected)continue;let i=n;t.isKept(i)||t.isIgnored(i)||t.cleanupTree(i)}}});t.observe(e,{childList:!0,subtree:!0}),q.set(e,t)}function pt(){q.forEach(e=>e.disconnect()),q.clear()}var J=Symbol(`atom-effect-internal`),mt=new WeakMap,Y=null,ht=e=>{if(e[J])return e;let t=mt.get(e);return t||(t=function(...t){return Ee(()=>e.apply(this,t))},t[J]=!0,mt.set(e,t)),t};function gt(e){let t={};for(let n in e)e[n]&&(t[n]=ht(e[n]));return t}function _t(e){let t={};for(let n in e){let r=e[n];t[n]=r?mt.get(r)??r:void 0}return t}function vt(){if(Y!==null)return;Y={on:t.default.fn.on,off:t.default.fn.off,remove:t.default.fn.remove,empty:t.default.fn.empty,detach:t.default.fn.detach};let e=Y;t.default.fn.remove=function(t){let n=t?this.filter(t):this,r=n.length;for(let e=0;e<r;e++){let t=n[e];t&&(K.markIgnored(t),K.cleanupTree(t))}return e.remove.call(this,t)??this},t.default.fn.empty=function(){let t=this.length;for(let e=0;e<t;e++){let t=this[e];t?.hasChildNodes()&&K.cleanupDescendants(t)}return e.empty.call(this)??this},t.default.fn.detach=function(t){let n=t?this.filter(t):this,r=n.length;for(let e=0;e<r;e++){let t=n[e];t&&K.keep(t)}return e.detach.call(this,t)??this},t.default.fn.on=function(...t){let n=t[0];if(n&&typeof n==`object`)t[0]=gt(n);else{let e=t.length-1;e>=0&&typeof t[e]==`function`&&(t[e]=ht(t[e]))}return e.on.apply(this,t)??this},t.default.fn.off=function(...t){let n=t[0];if(n&&typeof n==`object`)t[0]=_t(n);else{let e=t.length-1;if(e>=0&&typeof t[e]==`function`){let n=t[e];t[e]=mt.get(n)??n}}return e.off.apply(this,t)??this}}function yt(){Y!==null&&(t.default.fn.on=Y.on,t.default.fn.off=Y.off,t.default.fn.remove=Y.remove,t.default.fn.empty=Y.empty,t.default.fn.detach=Y.detach,Y=null)}var X=function(e){return e[e.None=0]=`None`,e[e.Focused=1]=`Focused`,e[e.Composing=2]=`Composing`,e[e.SyncingToAtom=4]=`SyncingToAtom`,e[e.SyncingToDom=8]=`SyncingToDom`,e[e.Busy=14]=`Busy`,e}({}),bt=0;function xt(e){e[J]=!0}var St=class{constructor(e,t,n){this.flags=0,this.timeoutId=void 0,this.handleCompositionStart=()=>{this.flags|=X.Composing},this.handleCompositionEnd=()=>{this.flags&=~X.Composing,this.handleInput()},this.handleFocus=()=>{this.flags|=X.Focused},this.handleBlur=()=>{this.flags&=~X.Focused;let e=!!(this.flags&X.Composing);this.flags&=~X.Composing,this.flushPendingDebounce(),e&&this.timeoutId===void 0&&this.syncAtomFromDom(),this.normalizeDomValue()},this.syncDomFromAtom=()=>{let e=this.atom.value;E(()=>{let t=this.format(e),n=this.getRawDom();if(this.isMultipleSelect){if(this.equal(n,e))return}else if(n===t)return;if(this.flags&X.Focused)try{if(this.equal(this.readDom(),e))return}catch{}this.flags|=X.SyncingToDom;try{this.writeDom(e,t),U.domUpdated(B.BINDING,this.$el,`val`,t)}finally{this.flags&=~X.SyncingToDom}})},this.cleanup=()=>{this.$el.off(this.ns),clearTimeout(this.timeoutId),this.timeoutId=void 0},this.$el=e,this.el=e[0],this.atom=t;let r=this.el.tagName,i=r===`SELECT`&&this.el.multiple;this.isMultipleSelect=i,this.isTextControl=r===`INPUT`||r===`TEXTAREA`,this.ns=`.atomBind-${++bt}`;let a=n.debounce??0;this.parse=n.parse??(e=>e),i?(this.format=n.format??(e=>(Array.isArray(e)?e:e?[String(e)]:[]).join(`,`)),this.getRawDom=()=>this.$el.val()||[],this.readDom=()=>this.getRawDom(),this.writeDom=e=>{this.$el.val(e)}):(this.format=n.format??(e=>String(e??``)),this.getRawDom=()=>this.el.value,this.readDom=()=>this.parse(this.el.value),this.isTextControl?this.writeDom=(e,t)=>{if(this.flags&X.Focused)try{let e=this.el,n=e.selectionStart,r=e.selectionEnd;e.value=t;let i=t.length;n!==null&&r!==null&&e.setSelectionRange(n<i?n:i,r<i?r:i)}catch{this.el.value=t}else this.el.value=t}:this.writeDom=(e,t)=>{this.el.value=t});let o=n.equal??Object.is;i?this.equal=(e,t)=>{if(o(e,t))return!0;if(Array.isArray(e)&&Array.isArray(t)){let n=e.length;if(n!==t.length)return!1;for(let r=0;r<n;r++)if(!Object.is(e[r],t[r]))return!1;return!0}return!1}:this.equal=o,a>0?this.handleInput=()=>{this.flags&X.Composing||(clearTimeout(this.timeoutId),this.timeoutId=setTimeout(()=>this.syncAtomFromDom(),a))}:this.handleInput=()=>{this.flags&X.Composing||this.syncAtomFromDom()},[this.handleFocus,this.handleBlur,this.handleCompositionStart,this.handleCompositionEnd,this.handleInput].forEach(xt),this.bindEvents(n.event??Ge.EVENT)}flushPendingDebounce(){this.timeoutId!==void 0&&(clearTimeout(this.timeoutId),this.timeoutId=void 0,this.syncAtomFromDom())}normalizeDomValue(){let e=this.atom.peek(),t=this.format(e),n=this.getRawDom();this.isMultipleSelect?this.equal(n,e)||this.writeDom(e,t):n!==t&&this.writeDom(e,t)}syncAtomFromDom(){if(!(this.flags&X.Busy)){this.flags|=X.SyncingToAtom;try{let e=this.readDom();this.equal(this.atom.peek(),e)||(this.atom.value=e)}catch(e){U.warn(B.BINDING,H.BINDING.PARSE_ERROR(e instanceof Error?e.message:String(e)),e)}finally{this.flags&=~X.SyncingToAtom}}}bindEvents(e){let t=this.ns,n=e.trim().split(/\s+/).map(e=>`${e}${t}`).join(` `);this.$el.on(`focus${t}`,this.handleFocus).on(`blur${t}`,this.handleBlur).on(`compositionstart${t}`,this.handleCompositionStart).on(`compositionend${t}`,this.handleCompositionEnd).on(n,this.handleInput)}};function Ct(e,t,n){let r=new St(e,t,n);return{fx:I(r.syncDomFromAtom),cleanup:()=>{r&&=(r.cleanup(),null)}}}function wt(e,t,n,r){let i=null,a=t=>{if(!He(t)){i=null;try{n(t),U.domUpdated(B.BINDING,e,r,t)}catch(e){U.error(B.BINDING,H.BINDING.UPDATER_ERROR(r,!0),e)}return}i=t,t.then(a=>{i===t&&E(()=>{try{n(a),U.domUpdated(B.BINDING,e,`${r} (async)`,a)}catch(e){U.error(B.BINDING,H.BINDING.UPDATER_ERROR(r),e)}})}).catch(e=>{i===t&&U.error(B.BINDING,H.BINDING.UPDATER_ERROR(r),e)})},o=R(t);o||typeof t==`function`?K.trackEffect(e,I(()=>{let e=o?t.value:t();E(()=>a(e))},{name:r})):E(()=>a(t))}function Tt(e,t,n,r){let i=Object.keys(t),a=[],o=[],s=[],c={};for(let e=0,n=i.length;e<n;e++){let n=i[e],r=t[n],l=R(r);l||typeof r==`function`?(a.push(n),o.push(r),s.push(l)):c[n]=r}let l=0,u=t=>{let a=[],o={},s=i.length;for(let e=0;e<s;e++){let n=i[e],r=t[n];He(r)?a.push(r.then(e=>({key:n,val:e}))):o[n]=r}let c=a.length;if(c>0){let t=++l;Promise.all(a).then(i=>{if(t===l){for(let e=0;e<c;e++){let t=i[e];o[t.key]=t.val}E(()=>{try{n(o),U.domUpdated(B.BINDING,e,`${r} (async)`,o)}catch(e){U.error(B.BINDING,H.BINDING.UPDATER_ERROR(r),e)}})}})}else{l++;try{n(o),U.domUpdated(B.BINDING,e,r,o)}catch(e){U.error(B.BINDING,H.BINDING.UPDATER_ERROR(r,!0),e)}}};a.length>0?K.trackEffect(e,I(()=>{let e={...c};for(let t=0,n=a.length;t<n;t++){let n=o[t];e[a[t]]=s[t]?n.value:n()}E(()=>u(e))},{name:r})):E(()=>u(c))}var Et=new Set([`href`,`src`,`action`,`formaction`,`xlink:href`,`data`,`poster`,`background`,`cite`,`longdesc`,`profile`,`usemap`,`classid`,`codebase`]),Dt=/^\s*(?:javascript|vbscript)\s*:/i,Ot=/(?:expression\s*\(|behavior\s*:|-moz-binding\s*:|(?:\\[0-9a-f]{1,6}\s*|[\s\x00-\x20/'"])*(?:j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t|v\s*b\s*s\s*c\s*r\s*i\s*p\s*t|d\s*a\s*t\s*a)\s*:(?!image\/))/i,kt=/url\s*\(\s*(?:["']?\s*)?(?:javascript|vbscript)\s*:/i,At=/[\x00-\x08\x0b\x0c\x0e-\x1f\x7f]/g,jt=/&#x([0-9a-f]+);?|&#([0-9]+);?/gi,Mt={colon:`:`,Tab:` `,NewLine:`
2
+ `},Nt=/&(colon|Tab|NewLine);/g,Pt=/<\?[\s\S]*?\?>/g,Ft=/(<(script|iframe|object|embed|base|meta|applet|noscript|form|style|link)\b[^>]*>([\s\S]*?)<\/\2>|<(script|iframe|object|embed|base|meta|applet|noscript|form|style|link)\b[^>]*\/?>)/gi,It=/(j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t|v\s*b\s*s\s*c\s*r\s*i\s*p\s*t)\s*:/gi,Lt=/data\s*:\s*(?:text\/(?:html|javascript|vbscript|xml)|application\/(?:javascript|xhtml\+xml|xml|x-shockwave-flash)|image\/svg\+xml)/gi,Rt=/\bon\w+\s*=/gim,zt=new RegExp(Ot.source,`gim`);function Bt(e){let t=e.length;for(let n=0;n<t;n++){let t=e.charCodeAt(n);if(t===60||t===38||t<=31&&t!==9&&t!==10&&t!==13)return!0}if(e.indexOf(`:`)!==-1)return!0;let n=e.toLowerCase(),r=n.indexOf(`on`);if(r!==-1&&r<t-2){let e=n.charCodeAt(r+2);if(e>=97&&e<=122)return!0}return!1}function Z(e){if(!e)return``;let t=String(e);if(!Bt(t))return t;let n=t.replace(At,``).replace(jt,(e,t,n)=>String.fromCodePoint(t?parseInt(t,16):parseInt(n,10))).replace(Nt,(e,t)=>Mt[t]??``);if(n.indexOf(`<`)!==-1){n=n.replace(Pt,``);let e;do e=n,n=n.replace(Ft,``);while(n!==e)}return n.replace(It,`data-unsafe-protocol:`).replace(Lt,`data-unsafe-protocol:`).replace(Rt,`data-unsafe-attr=`).replace(zt,`data-unsafe-css:`)}var Vt=e=>e.length<15?!1:e.toLowerCase().includes(`url(`)&&kt.test(e),Ht=new Map;function Ut(e){let t=Ht.get(e);return t===void 0?(t=e.includes(`-`)?e.replace(/-./g,e=>e[1].toUpperCase()):e,Ht.set(e,t),t):t}var Wt=new WeakMap;function Gt(e){let t=Wt.get(e);return t||(t=F(()=>{let t=e.value;return He(t)?t.then(e=>Z(e)):Z(t)}),Wt.set(e,t)),t}function Kt(e){return{el:e,trackCleanup:t=>K.trackCleanup(e,t)}}function qt({el:e},t,n){wt(e,t,t=>{let r=n?n(t):String(t??``);e.textContent!==r&&(e.textContent=r)},`text`)}function Jt({el:e},t){let n=ke(t)?Gt(t):t;wt(e,n,r=>{let i=n===t?Z(r):r;e.innerHTML!==i&&(K.cleanupDescendants(e),e.innerHTML=i)},`html`)}function Yt({el:e},t){let n={};for(let e in t)if(z.call(t,e)){let t=e.trim();n[e]=t.indexOf(` `)===-1?[t]:t.split(/\s+/).filter(Boolean)}Tt(e,t,t=>{for(let r in t){let i=n[r];t[r]?e.classList.add(...i):e.classList.remove(...i)}},`class`)}function Xt({el:e},t){let n=e.style,r={},i={};for(let e in t)if(z.call(t,e)){let n=t[e],[a,o]=Array.isArray(n)?n:[n,``];r[e]=a,i[e]={camel:Ut(e),unit:o}}Tt(e,r,e=>{for(let t in e){let r=i[t],a=e[t],o=r.unit?`${a}${r.unit}`:String(a),s=r.camel;!Vt(o)&&n[s]!==o&&(n[s]=o)}},`css`)}function Zt({el:e},t){let n={},r={},i={};for(let a in t){if(!z.call(t,a))continue;let o=a.toLowerCase();if(o.startsWith(`on`)){console.warn(`${B.BINDING} ${H.SECURITY.BLOCKED_EVENT_HANDLER(a)}`);continue}n[a]=t[a],r[a]={isAria:o.startsWith(`aria-`),isUrl:Et.has(o)},i[a]=e.getAttribute(a)}Tt(e,n,t=>{for(let n in t){let a=r[n],o=t[n];if(o==null||o===!1&&!a.isAria){i[n]!==null&&e.removeAttribute(n),i[n]=null;continue}let s=o===!0?a.isAria?`true`:n:String(o);if(a.isUrl&&Dt.test(s)){console.warn(`${B.BINDING} ${H.SECURITY.BLOCKED_PROTOCOL(n)}`);continue}i[n]!==s&&(e.setAttribute(n,s),i[n]=s)}},`attr`)}function Qt(e,t){let n=e.el,r={},i={};for(let e in t){if(!z.call(t,e))continue;let n=e.toLowerCase();if(n.startsWith(`on`)||Je.has(e)){console.warn(`${B.BINDING} ${n.startsWith(`on`)?H.SECURITY.BLOCKED_EVENT_HANDLER(e):H.SECURITY.BLOCKED_PROP(e)}`);continue}r[e]=t[e],i[e]={isUrl:Et.has(n)}}Tt(e.el,r,e=>{for(let t in e){let r=e[t];if(i[t].isUrl&&typeof r==`string`&&Dt.test(r)){console.warn(`${B.BINDING} ${H.SECURITY.BLOCKED_PROTOCOL(t)}`);continue}n[t]!==r&&(n[t]=r)}},`prop`)}function $t({el:e},t,n){let r=e.style.display===`none`?``:e.style.display;wt(e,t,t=>{let i=n===!!t?`none`:r;e.style.display!==i&&(e.style.display=i)},n?`hide`:`show`)}function en(e,n,r={}){let i=e.el.tagName.toLowerCase();if(!qe.has(i)){console.warn(`${B.BINDING} ${H.BINDING.INVALID_INPUT_ELEMENT(i)}`);return}let{fx:a,cleanup:o}=Ct((0,t.default)(e.el),n,r);K.trackEffect(e.el,a),e.trackCleanup(o)}function tn(e,n){let r=e.el,i=(0,t.default)(r),a=()=>{n.peek()!==r.checked&&(n.value=r.checked,r.type===`radio`&&r.checked&&r.name&&(r.form?(0,t.default)(r.form):(0,t.default)(document)).find(`input[type="radio"][name="${r.name.replace(/"/g,`\\"`)}"]`).not(r).trigger(`change.atomRadioSync`))};a[J]=!0,i.on(`change change.atomRadioSync`,a),e.trackCleanup(()=>i.off(`change change.atomRadioSync`,a)),K.trackEffect(r,I(()=>{let e=!!n.value;E(()=>{r.checked!==e&&(r.checked=e,U.domUpdated(B.BINDING,r,`checked`,e))})}))}function nn(e,n){let r=(0,t.default)(e.el);r.on(n),e.trackCleanup(()=>r.off(n))}function rn({el:e,trackCleanup:n},r,i){let a=(0,t.default)(e);a.on(r,i),n(()=>a.off(r,i))}function an(e){K.cleanupTree(e)}var on=`input, select, textarea`,sn=class{constructor(e,t,n={}){this.form=e,this.atom=t,this.options=n,this.fieldMap=new Map,this.fields=[],this.elementNames=new WeakMap,this.isSyncingFromLeaf=!1,this.init()}init(){let e=I(()=>{let e=this.atom.value;this.isSyncingFromLeaf||!this.fields.length||Ee(()=>{E(()=>{for(let t=0;t<this.fields.length;t++){let n=this.fields[t],r=L(e,n.parts);Object.is(n.atom.peek(),r)||(n.atom.value=r)}})})});K.trackEffect(this.form,e),this.bindElement(this.form),this.setupObserver()}bindElement(e){let t=e.matches?.(on)?[e]:e.querySelectorAll?.(on)||[];for(let e=0,n=t.length;e<n;e++)this.bindControl(t[e])}bindControl(e){if(!(e instanceof HTMLInputElement||e instanceof HTMLSelectElement||e instanceof HTMLTextAreaElement))return;let t=e,n=t.name;if(!n)return;let r=this.elementNames.get(t);if(r!==void 0&&r!==n&&K.cleanup(t),this.elementNames.has(t)&&r===n)return;let i=this.acquireField(n);this.elementNames.set(t,n);let a=Kt(t);a.trackCleanup(()=>this.releaseField(t,n)),t instanceof HTMLInputElement&&(t.type===`radio`||t.type===`checkbox`)?this.bindToggle(a,i.atom,t.value,t.type===`checkbox`):en(a,i.atom,this.options)}bindToggle(e,n,r,i){let a=e.el,o=()=>{let e=n.peek();if(i&&Array.isArray(e)){let t=new Set(e.map(String));a.checked?t.add(r):t.delete(r),n.value=Array.from(t)}else n.value=i?a.checked:r};o[J]=!0,(0,t.default)(a).on(`change`,o),e.trackCleanup(()=>(0,t.default)(a).off(`change`,o)),K.trackEffect(a,I(()=>{let e=n.value,t=i?Array.isArray(e)?e.some(e=>String(e)===r):!!e:String(e)===r;a.checked!==t&&(a.checked=t)}))}acquireField(e){let t=this.fieldMap.get(e);if(t)return t.refCount++,t;let n=e.replace(/\[(\w+)\]/g,`.$1`).split(`.`).filter(Boolean),r=Oe(L(this.atom.peek(),n));return t={atom:r,parts:n,name:e,refCount:1,effect:null},t.effect=I(()=>{let t=r.value;this.options.transform&&(t=this.options.transform(e,t));let i=this.atom.peek(),a=Re(i,n,0,t);if(a!==i){this.isSyncingFromLeaf=!0;try{this.atom.value=a,this.options.onChange&&E(()=>this.options.onChange(e,t))}finally{this.isSyncingFromLeaf=!1}}}),this.fieldMap.set(e,t),this.fields.push(t),t}releaseField(e,t){let n=this.fieldMap.get(t);if(n&&--n.refCount<=0){let e=this.fields.indexOf(n);e!==-1&&this.fields.splice(e,1),n.effect?.dispose(),this.fieldMap.delete(t)}K.cleanup(e)}setupObserver(){let e=new MutationObserver(e=>{for(let t=0,n=e.length;t<n;t++){let n=e[t];if(n.type===`childList`)for(let e=0;e<n.addedNodes.length;e++){let t=n.addedNodes[e];t.nodeType===1&&this.bindElement(t)}else n.attributeName===`name`&&this.bindElement(n.target)}});e.observe(this.form,{childList:!0,subtree:!0,attributes:!0,attributeFilter:[`name`]}),K.trackCleanup(this.form,()=>e.disconnect())}};function cn(e,t,n={}){new sn(e,t,n)}function Q(e,t){let n=e.length;for(let r=0;r<n;r++){let n=e[r];if(n?.nodeType===1){let e=n;t(Kt(e),e)}else n&&U.log(B.BINDING,`Skipping non-Element node (nodeType=${n.nodeType})`)}return e}t.default.fn.atomText=function(e,t){return Q(this,n=>qt(n,e,t))},t.default.fn.atomHtml=function(e){return Q(this,t=>Jt(t,e))},t.default.fn.atomClass=function(e,t){if(typeof e==`string`){if(t===void 0)return console.warn(`${B.BINDING} ${H.BINDING.MISSING_CONDITION(`atomClass`)}`),this;let n={[e]:t};return Q(this,e=>Yt(e,n))}return Q(this,t=>Yt(t,e))},t.default.fn.atomCss=function(e,t,n){if(typeof e==`string`){if(t===void 0)return console.warn(`${B.BINDING} ${H.BINDING.MISSING_SOURCE(`atomCss`)}`),this;let r={[e]:n?[t,n]:t};return Q(this,e=>Xt(e,r))}return Q(this,t=>Xt(t,e))},t.default.fn.atomAttr=function(e,t){if(typeof e==`string`){if(t===void 0)return console.warn(`${B.BINDING} ${H.BINDING.MISSING_SOURCE(`atomAttr`)}`),this;let n={[e]:t};return Q(this,e=>Zt(e,n))}return Q(this,t=>Zt(t,e))},t.default.fn.atomProp=function(e,t){if(typeof e==`string`){if(t===void 0)return console.warn(`${B.BINDING} ${H.BINDING.MISSING_SOURCE(`atomProp`)}`),this;let n={[e]:t};return Q(this,e=>Qt(e,n))}return Q(this,t=>Qt(t,e))},t.default.fn.atomShow=function(e){return Q(this,t=>$t(t,e,!1))},t.default.fn.atomHide=function(e){return Q(this,t=>$t(t,e,!0))},t.default.fn.atomVal=function(e,t={}){return Q(this,n=>en(n,e,t))},t.default.fn.atomChecked=function(e){return Q(this,t=>tn(t,e))},t.default.fn.atomForm=function(e,t={}){return Q(this,(n,r)=>{r instanceof HTMLFormElement&&cn(r,e,t)})},t.default.fn.atomOn=function(e,t){return Q(this,n=>rn(n,e,t))};var ln=[(e,t)=>qt(e,t.text),(e,t)=>Jt(e,t.html),(e,t)=>Yt(e,t.class),(e,t)=>Xt(e,t.css),(e,t)=>Zt(e,t.attr),(e,t)=>Qt(e,t.prop),(e,t)=>$t(e,t.show,!1),(e,t)=>$t(e,t.hide,!0),(e,t)=>{let n=t.val;Array.isArray(n)?en(e,n[0],n[1]):en(e,n)},(e,t)=>tn(e,t.checked),(e,t)=>{if(e.el instanceof HTMLFormElement){let n=t.form;Array.isArray(n)?cn(e.el,n[0],n[1]):cn(e.el,n)}},(e,t)=>nn(e,t.on)];t.default.fn.atomBind=function(e){let t=0;return e.text!==void 0&&(t|=1),e.html!==void 0&&(t|=2),e.class!==void 0&&(t|=4),e.css!==void 0&&(t|=8),e.attr!==void 0&&(t|=16),e.prop!==void 0&&(t|=32),e.show!==void 0&&(t|=64),e.hide!==void 0&&(t|=128),e.val!==void 0&&(t|=256),e.checked!==void 0&&(t|=512),e.form!==void 0&&(t|=1024),e.on!==void 0&&(t|=2048),t===0?this:Q(this,n=>{let r=t;for(;r>0;){let t=r&-r;ln[31-Math.clz32(t)](n,e),r^=t}})},t.default.fn.atomUnbind=function(){let e=this.length;for(let t=0;t<e;t++){let e=this[t];e?.nodeType===1&&an(e)}return this};var un=new WeakMap,dn=0,fn=new ot(()=>new Map,e=>e.clear()),pn=new ot(()=>new Set,e=>e.clear()),$=new at(100,1024);function mn(e,t,n){if(e instanceof Element){n.insertBefore(e,t);return}let r=e.length;for(let i=0;i<r;i++){let r=e[i];r&&n.insertBefore(r,t)}}function hn(e){return e instanceof Element?(0,t.default)(e):e}var gn=class{constructor(e,t,n){this.$container=e,this.containerSelector=t,this.onRemove=n,this.oldKeys=[],this.oldItems=[],this.oldNodes=[],this.removingKeys=new Set,this.$emptyEl=null,this.keyToIndex=new Map,this.statesBuffer=new Uint8Array(256),this.indicesBuffer=new Int32Array(256)}scheduleRemoval(e,t){let n=()=>{this.fx?.isDisposed||(t[0]?.isConnected&&t.remove(),this.removingKeys.delete(e),U.log(B.LIST,`${this.containerSelector} removed item:`,e))},r=this.onRemove?.(t);r instanceof Promise?r.then(n,n):n()}removeItem(e,t){for(let e=0;e<t.length;e++)t[e]instanceof Element&&t[e].removeAttribute(`data-atom-key`);this.removingKeys.add(e),this.scheduleRemoval(e,t)}dispose(){this.removingKeys.clear(),this.oldKeys.length=0,this.oldItems.length=0,this.oldNodes.length=0,this.keyToIndex.clear(),this.$emptyEl?.remove(),this.$container.off(`.atomList`),this.statesBuffer=new Uint8Array,this.indicesBuffer=new Int32Array}ensureBuffers(e){this.statesBuffer.length<e&&(this.statesBuffer=new Uint8Array(Math.max(e,this.statesBuffer.length*2))),this.indicesBuffer.length<e&&(this.indicesBuffer=new Int32Array(Math.max(e,this.indicesBuffer.length*2)))}};function _n(e,n,r,i){if(e.$emptyEl&&n>0&&(e.$emptyEl.remove(),e.$emptyEl=null),n!==0)return;let{oldKeys:a,oldNodes:o,onRemove:s}=e;if(s)for(let t=0,n=a.length;t<n;t++){let n=a[t];o[t]&&e.removeItem(n,hn(o[t]))}else{for(let t=0,n=a.length;t<n;t++)e.removingKeys.delete(a[t]);r.empty()}i&&!e.$emptyEl&&(e.$emptyEl=typeof i==`string`?(0,t.default)(Z(i)):(0,t.default)(i),e.$emptyEl.appendTo(r)),$.release(e.oldKeys),$.release(e.oldItems),$.release(e.oldNodes),e.oldKeys=[],e.oldItems=[],e.oldNodes=[]}function vn(e,t,n,r,i,a){let{oldKeys:o,oldItems:s,oldNodes:c,removingKeys:l,keyToIndex:u}=e,d=o.length,f=0,p=d-1,m=n-1,ee=a||We;for(;f<=p&&f<=m;){let e=t[f],n=r(e,f);if(o[f]!==n||!ee(s[f],e))break;u.set(n,f++)}for(;p>=f&&m>=f;){let e=t[m],n=r(e,m);if(o[p]!==n||!ee(s[p],e))break;u.set(n,m--),p--}let h=fn.acquire();for(let e=f;e<=p;e++)h.set(o[e],e);let g=pn.acquire();e.ensureBuffers(n);let _=$.acquire();_.length=n;let v=$.acquire();v.length=n;let y=$.acquire();y.length=n;let b=e.statesBuffer,x=e.indicesBuffer,S=$.acquire(),C=$.acquire(),w=$.acquire();for(let e=0;e<f;e++)_[e]=o[e],v[e]=t[e],y[e]=c[e],b[e]=3,x[e]=e;for(let e=d-1,r=n-1;r>m;r--,e--)_[r]=o[e],v[r]=t[r],y[r]=c[e],b[r]=3,x[r]=e;for(let n=f;n<=m;n++){let o=t[n],d=r(o,n);if(_[n]=d,v[n]=o,u.set(d,n),g.has(d)){U.warn(B.LIST,H.LIST.DUPLICATE_KEY(d,n,e.containerSelector)),x[n]=-1;continue}g.add(d);let f=h.get(d);if(f===void 0){S.push(d),C.push(o),w.push(n),x[n]=-1,b[n]=1;continue}let p=s[f];y[n]=c[f],!i&&p!==o&&!(a?a(p,o):We(p,o))?(S.push(d),C.push(o),w.push(n),b[n]=2):b[n]=0,x[n]=l.has(d)?-1:f}return fn.release(h),{newKeys:_,newKeySet:g,newItems:v,newNodes:y,newStates:b,newIndices:x,trKeys:S,trItems:C,trIdxs:w,startIndex:f,oldEndIndex:p,newEndIndex:m}}function yn(e,n,r){let{trKeys:i,trItems:a,trIdxs:o,newNodes:s,newStates:c}=e,l=i.length,u=Array(l),d=[],f=0;for(let e=0;e<l;e++){let t=n.render(a[e],o[e]);u[e]=t,typeof t==`string`&&(d.push(t),f++)}let p=null;if(d.length>0)if(d.length===1)p=[Z(d[0])];else{let e=`<template data-atom-sep="${(dn++).toString(36)}"></template>`;p=Z(d.join(e)).split(e)}if(r&&p&&f===l&&!n.bind&&!n.onAdd&&!n.onRemove&&!n.events)return p;let m=0;for(let e=0;e<l;e++){let n=u[e],r=typeof n==`string`?(0,t.default)(p[m++]):(0,t.default)(n),a=o[e],l=String(i[e]);for(let e=0,t=r.length;e<t;e++){let t=r[e];t instanceof Element&&t.setAttribute(`data-atom-key`,l)}if(c[a]===2&&s[a]){let e=s[a];if(e instanceof Element)K.cleanupTree(e);else for(let t=0,n=e.length;t<n;t++){let n=e[t];n instanceof Element&&K.cleanupTree(n)}hn(e).replaceWith(r)}s[a]=r.length===1?r[0]:r}return null}function bn(e,t){let{startIndex:n,oldEndIndex:r,newKeySet:i}=t;for(let t=n;t<=r;t++){let n=e.oldKeys[t];!i.has(n)&&e.oldNodes[t]&&e.removeItem(n,hn(e.oldNodes[t]))}}function xn(e,n,r,i,a){let{newKeys:o,newItems:s,newNodes:c,newStates:l,newIndices:u}=n,d=o.length;if(a!==null){r.innerHTML=a.join(``);let n=r.firstElementChild;for(let r=0;r<d&&n;r++)n.setAttribute(`data-atom-key`,String(o[r])),c[r]=n,l[r]=0,e.removingKeys.delete(o[r]),U.domUpdated(B.LIST,(0,t.default)(n),`list.add`,s[r]),n=n.nextElementSibling;return}if(e.oldKeys.length===0){let e=document.createDocumentFragment();for(let t=0;t<d;t++){let n=c[t];if(n instanceof Element)e.appendChild(n);else for(let t=0;t<n.length;t++)e.appendChild(n[t])}r.appendChild(e)}else{let e=null,t=2147483647;for(let n=d-1;n>=0;n--){let i=u[n];i!==-1&&i<t?t=i:mn(c[n],e,r);let a=c[n];e=a instanceof Element?a:a[0]??null}}for(let t=0;t<d;t++){let n=l[t];if(n!==3){let r=hn(c[t]),a=s[t];n===0?i.update?.(r,a,t):i.bind?.(r,a,t),n===1&&(i.onAdd?.(r),e.removingKeys.delete(o[t]),U.domUpdated(B.LIST,r,`list.add`,a))}}}t.default.fn.atomList=function(e,n){let r=typeof n.key==`function`?n.key:e=>e[n.key],i={bind:n.bind,update:n.update,onAdd:n.onAdd,onRemove:n.onRemove,events:n.events};for(let a=0,o=this.length;a<o;a++){let o=this[a],s=(0,t.default)(o);s.off(`.atomList`);let c=un.get(o);c&&(c.fx.dispose(),c.ctx.dispose());let l=new gn(s,Ue(o),n.onRemove),u=I(()=>{let t=e.value,a=t.length;E(()=>{if(_n(l,a,s,n.empty),a===0)return;U.log(B.LIST,`${l.containerSelector} updating with ${a} items`);let e=vn(l,t,a,r,n.update,n.isEqual),c=yn(e,n,l.oldKeys.length===0);if(bn(l,e),xn(l,e,o,i,c),n.events)for(let t=e.startIndex;t<=e.oldEndIndex;t++)e.newKeySet.has(l.oldKeys[t])||l.keyToIndex.delete(l.oldKeys[t]);$.release(l.oldKeys),$.release(l.oldItems),$.release(l.oldNodes),l.oldKeys=e.newKeys,l.oldItems=e.newItems,l.oldNodes=e.newNodes,pn.release(e.newKeySet),$.release(e.trKeys),$.release(e.trItems),$.release(e.trIdxs)})});if(l.fx=u,n.events)for(let e in n.events){if(!z.call(n.events,e))continue;let t=e.indexOf(` `),r=t===-1?e:e.slice(0,t),i=t===-1?`> *`:e.slice(t+1).trim(),a=n.events[e];s.on(`${r}.atomList`,i,function(e){let t=e.target.closest?.(`[data-atom-key]`),n=t?.getAttribute(`data-atom-key`);if(n==null)return;let r=n;if(!l.keyToIndex.has(n)){let e=Number(n);!Number.isNaN(e)&&l.keyToIndex.has(e)&&(r=e)}let i=l.keyToIndex.get(r);i!==void 0&&a.call(t,l.oldItems[i],i,e)})}K.trackEffect(o,u),un.set(o,{fx:u,ctx:l}),K.trackCleanup(o,()=>{l.dispose(),un.delete(o)})}return this};var Sn=Object.freeze({});t.default.fn.atomMount=function(e,n){let r=n??Sn,i=e.name||`Component`;for(let n=0,a=this.length;n<a;n++){let a=this[n];if(a){K.cleanupTree(a);try{let n=E(()=>e((0,t.default)(a),r));typeof n==`function`&&K.setComponentCleanup(a,n)}catch(e){U.error(B.MOUNT,H.MOUNT.ERROR(i),e)}}}return this},t.default.fn.atomUnmount=function(){for(let e=0,t=this.length;e<t;e++){let t=this[e];t&&an(t)}return this};function Cn(e,t){try{history.pushState(e,``,t)}catch(e){U.warn(B.ROUTE,`PushState failed (likely file:// protocol or security restriction). UI will update, but URL will not.`,e)}}var wn=class{constructor(e){this.isDestroyed=!1,this.previousRoute=``,this.cleanups=[],this.templateCache=new Map,this.routeCleanups=[],this.lastRawQuery=``,this.cachedParams={},this.config={mode:V.mode,basePath:V.basePath,autoBindLinks:V.autoBindLinks,activeClass:V.activeClass,...e},this.isHistoryMode=this.config.mode===`history`,this.basePath=this.config.basePath.replace(/\/$/,``),this.activeClass=this.config.activeClass,this.$target=(0,t.default)(this.config.target),this.previousUrl=this.isHistoryMode?location.pathname+location.search:location.hash,this.currentRouteAtom=Oe(this.getRouteName()),this.currentRoute=this.currentRouteAtom,this.queryParamsAtom=Oe(this.getQueryParams()),this.queryParams=F(()=>this.queryParamsAtom.value),this.init()}init(){let e=this.isHistoryMode?`popstate`:`hashchange`,t=this.handleUrlChange.bind(this);window.addEventListener(e,t),this.cleanups.push(()=>window.removeEventListener(e,t));let n=I(()=>{let e=this.currentRouteAtom.value;E(()=>{for(let e of this.routeCleanups)try{e()}catch{}this.routeCleanups.length=0}),this.renderRoute(e)});this.cleanups.push(()=>n.dispose()),this.setupAutoBindLinks(),this.$target[0]&&K.trackCleanup(this.$target[0],()=>this.destroy())}getRouteName(){let{default:e}=this.config;if(this.isHistoryMode){let t=this.basePath,n=location.pathname;return t&&n.startsWith(t)&&(n=n.substring(t.length)),n.replace(/^\//,``)||e}return location.hash.split(`?`)[0].substring(1)||e}getQueryParams(){let e=location.hash,t=e.indexOf(`?`),n=this.isHistoryMode?location.search.substring(1):t===-1?``:e.substring(t+1);if(n===this.lastRawQuery)return this.cachedParams;this.lastRawQuery=n;let r={},i=0;n&&new URLSearchParams(n).forEach((e,t)=>{r[t]=e,i++});let a=0;for(let e in this.cachedParams)a++;let o=i!==a;if(!o){for(let e in r)if(r[e]!==this.cachedParams[e]){o=!0;break}}return o&&(n.indexOf(`%`),this.cachedParams=r),this.cachedParams}setUrl(e){let t=this.isHistoryMode?`${this.basePath}/${e}`:`#${e}`;this.isHistoryMode?Cn(null,t):location.hash=t,this.previousUrl=this.isHistoryMode?t:location.hash}restoreUrl(){this.isHistoryMode?Cn(null,this.previousUrl):location.hash=this.previousUrl}renderRoute(e){if(this.isDestroyed||!this.$target[0])return;let{routes:t,notFound:n,beforeTransition:r,afterTransition:i}=this.config,a=t[e]??(n?t[n]:void 0);if(!a){U.warn(B.ROUTE,H.ROUTE.NOT_FOUND(e));return}let o=this.getQueryParams(),s=this.previousRoute;r&&E(()=>r(s,e)),this.$target.empty();let c=o;if(a.onEnter){let e=E(()=>a.onEnter(o,this));e&&(c={...o,...e})}let l=e=>this.routeCleanups.push(e);if(a.render)a.render(this.$target[0],e,c,l,this);else if(a.template){let e=this.templateCache.get(a.template);if(!e){let t=document.querySelector(a.template);if(t instanceof HTMLTemplateElement)e=t,this.templateCache.set(a.template,e);else{U.warn(B.ROUTE,H.ROUTE.TEMPLATE_NOT_FOUND(a.template));return}}this.$target.append(e.content.cloneNode(!0)),a.onMount&&a.onMount(this.$target.children(),l,this)}i&&E(()=>i(s,e)),this.previousRoute=e}handleUrlChange(){if(this.isDestroyed)return;let e=this.isHistoryMode?location.pathname+location.search:location.hash;if(e===this.previousUrl)return;let t=this.getRouteName(),n=this.currentRouteAtom.peek();if(n!==t){if(E(()=>this.config.routes[n]?.onLeave?.(this))===!1){this.restoreUrl();return}this.currentRouteAtom.value=t}this.queryParamsAtom.value=this.getQueryParams(),this.previousUrl=e}setupAutoBindLinks(){if(!this.config.autoBindLinks)return;let e=e=>{e.preventDefault();let t=e.currentTarget.dataset.route;t!=null&&this.navigate(t)};(0,t.default)(document).on(`click`,`[data-route]`,e),this.cleanups.push(()=>(0,t.default)(document).off(`click`,`[data-route]`,e));let n=[],r=I(()=>{let e=this.currentRouteAtom.value,t=this.activeClass;E(()=>{let r=n.length;for(let e=0;e<r;e++){let r=n[e];r.classList.remove(t),r.removeAttribute(`aria-current`)}try{let r=`[data-route="${e.replace(/"/g,`\\"`)}"]`,i=Array.from(document.querySelectorAll(r)),a=i.length;for(let e=0;e<a;e++){let n=i[e];n.classList.add(t),n.setAttribute(`aria-current`,`page`)}n=i}catch{n=[]}})});this.cleanups.push(()=>r.dispose())}navigate(e){if(this.isDestroyed)return;let t=this.currentRouteAtom.peek();if(this.config.routes[t]?.onLeave?.(this)===!1)return;let n=e||this.config.default;n&&(this.setUrl(n),this.queryParamsAtom.value={},this.currentRouteAtom.value=n)}destroy(){if(!this.isDestroyed){this.isDestroyed=!0;for(let e of this.cleanups)try{e()}catch{}this.templateCache.clear()}}};function Tn(e){return new wn(e)}t.default.extend({route:Tn});var En=class{constructor(e,n){this.abortController=null,this.execute=async()=>{this.abortController?.abort(),this.abortController=new AbortController;let{signal:e}=this.abortController,n=this.ajaxOptionsFn?.()??{},r={...this.staticOptions,...n,headers:{...this.staticOptions.headers,...n.headers},url:this.isStaticUrl?this.staticUrl:this.getUrl(),success:void 0,error:void 0,complete:void 0},i=t.default.ajax(r);e.onabort=()=>i.abort(),e.aborted&&i.abort();try{let e=await i;return this.transformFn?this.transformFn(e):e}catch(t){if(e.aborted){let e=Error(`AbortError`);throw e.name=`AbortError`,e}return this.handleError(t)}finally{e.onabort=null,this.abortController?.signal===e&&(this.abortController=null)}};let r=typeof e==`string`;this.isStaticUrl=r,r?(this.staticUrl=e,this.getUrl=()=>this.staticUrl):this.getUrl=e,this.ajaxOptionsFn=typeof n.ajaxOptions==`function`?n.ajaxOptions:void 0;let i=typeof n.ajaxOptions==`object`?n.ajaxOptions:{};this.staticOptions={...i,method:n.method,headers:{...i?.headers,...n.headers}},this.transformFn=n.transform,this.onErrorFn=n.onError}abort(){this.abortController?.abort()}handleError(e){let t;if(e&&e.readyState!==void 0){let n=e;t=Error(`Network Error: ${n.statusText||`Unknown`} (${n.status})`),t.jqXHR=n}else t=e instanceof Error?e:Error(String(e??`Unknown error`));if(this.onErrorFn)try{this.onErrorFn(t)}catch{}throw t}};t.default.extend({atomFetch(e,t){let n=new En(e,t),r=F(n.execute,{defaultValue:t.defaultValue,lazy:t.eager===!1});return Object.assign(r,{abort:()=>n.abort()})}}),(0,t.default)(()=>{vt(),ft(document.body)}),e.default=t.default,e.disableAutoCleanup=pt,e.disablejQueryOverrides=yt,e.enableAutoCleanup=ft,e.enablejQueryOverrides=vt,e.isReactive=R,e.nextTick=it,e.registry=K});
3
3
  //# sourceMappingURL=atom-effect-jquery.min.js.map