@storesjs/stores 0.11.0 → 0.12.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.
Files changed (157) hide show
  1. package/dist/index.d.ts +1583 -4
  2. package/dist/native/index.js +7 -1
  3. package/dist/native/index.mjs +7 -1
  4. package/dist/plugins/chrome/index.d.ts +186 -4
  5. package/dist/vanilla/index.js +1 -1
  6. package/dist/vanilla/index.mjs +1 -1
  7. package/dist/vanilla/index.vanilla.d.ts +1469 -1
  8. package/dist/web/chrome.js +1 -1
  9. package/dist/web/chrome.mjs +1 -1
  10. package/dist/web/index.js +1 -1
  11. package/dist/web/index.mjs +1 -1
  12. package/dist/web/internal/runtime.js +2 -1
  13. package/dist/web/internal/runtime.mjs +2 -1
  14. package/dist/web/queryParam-Ckp7Zi5t.mjs +1 -0
  15. package/dist/web/queryParam-Ctnhipnd.js +1 -0
  16. package/dist/web/serialization-BgaGfw_1.mjs +1 -0
  17. package/dist/web/serialization-Dau9pNHc.js +1 -0
  18. package/dist/web/utils-Ba1RIeAA.mjs +1 -0
  19. package/dist/web/utils-CwejruRb.js +1 -0
  20. package/package.json +7 -7
  21. package/dist/createBaseStore.d.ts +0 -36
  22. package/dist/createDerivedStore.d.ts +0 -63
  23. package/dist/createQueryStore.d.ts +0 -111
  24. package/dist/createVirtualStore.d.ts +0 -40
  25. package/dist/env.native.d.ts +0 -7
  26. package/dist/env.web.d.ts +0 -7
  27. package/dist/hooks/useLazyRef.d.ts +0 -13
  28. package/dist/hooks/useListen.d.ts +0 -98
  29. package/dist/hooks/useStableValue.d.ts +0 -16
  30. package/dist/hooks/useSyncExternalStoreWithSelector.d.ts +0 -5
  31. package/dist/index.shared.d.ts +0 -14
  32. package/dist/index.vanilla.d.ts +0 -2
  33. package/dist/internal/baseStore.d.ts +0 -2
  34. package/dist/internal/config.d.ts +0 -64
  35. package/dist/internal/createStoreActions.d.ts +0 -24
  36. package/dist/internal/derivedStore/deriveProxy.d.ts +0 -15
  37. package/dist/internal/derivedStore/pathFinder.d.ts +0 -26
  38. package/dist/internal/derivedStore.d.ts +0 -2
  39. package/dist/internal/errors.d.ts +0 -10
  40. package/dist/internal/logger.d.ts +0 -10
  41. package/dist/internal/middleware/createHydrationGate.d.ts +0 -20
  42. package/dist/internal/queryStore/queryParams.d.ts +0 -18
  43. package/dist/internal/queryStore/queryStoreDefaults.d.ts +0 -8
  44. package/dist/internal/queryStore.d.ts +0 -2
  45. package/dist/internal/runtime.d.ts +0 -12
  46. package/dist/internal/storage/storageCreators.d.ts +0 -12
  47. package/dist/internal/storeUtils.d.ts +0 -46
  48. package/dist/internal/sync/browserSyncEngine.d.ts +0 -3
  49. package/dist/internal/sync/noopSyncEngine.d.ts +0 -3
  50. package/dist/internal/sync/syncEnhancer.d.ts +0 -26
  51. package/dist/internal/sync/syncUtils.d.ts +0 -6
  52. package/dist/internal/types/internalSubscribeTypes.d.ts +0 -16
  53. package/dist/internal/utils/persistUtils.d.ts +0 -9
  54. package/dist/internal/virtualStore.d.ts +0 -2
  55. package/dist/plugins/chrome/chromeExtensionSyncEngine.d.ts +0 -30
  56. package/dist/plugins/chrome/chromeStorageAdapter.d.ts +0 -31
  57. package/dist/plugins/chrome/createSyncedChromeStorage.d.ts +0 -14
  58. package/dist/queryStore/classes/SubscriptionManager.d.ts +0 -39
  59. package/dist/queryStore/queryKey.d.ts +0 -10
  60. package/dist/queryStore/queryParam.d.ts +0 -37
  61. package/dist/queryStore/types.d.ts +0 -361
  62. package/dist/storage/storageTypes.d.ts +0 -13
  63. package/dist/store/attachStoreHook.react.d.ts +0 -5
  64. package/dist/store/attachStoreHook.vanilla.d.ts +0 -6
  65. package/dist/store/batchStoreNotifications.native.d.ts +0 -3
  66. package/dist/store/batchStoreNotifications.web.d.ts +0 -2
  67. package/dist/store/cascadeScheduler.d.ts +0 -38
  68. package/dist/store/createStore.d.ts +0 -6
  69. package/dist/store/persist.d.ts +0 -14
  70. package/dist/store/stateUpdate.d.ts +0 -10
  71. package/dist/store/types.d.ts +0 -108
  72. package/dist/storesStorage.native.d.ts +0 -3
  73. package/dist/storesStorage.web.d.ts +0 -3
  74. package/dist/sync/types.d.ts +0 -115
  75. package/dist/types/functions.d.ts +0 -24
  76. package/dist/types/objects.d.ts +0 -11
  77. package/dist/types/setState.d.ts +0 -22
  78. package/dist/types/subscribe.d.ts +0 -27
  79. package/dist/types/useStoreCallSignatures.d.ts +0 -2
  80. package/dist/types/useStoreCallSignatures.react.d.ts +0 -6
  81. package/dist/types/useStoreCallSignatures.vanilla.d.ts +0 -2
  82. package/dist/types/utils.d.ts +0 -13
  83. package/dist/types.d.ts +0 -288
  84. package/dist/utils/core.d.ts +0 -26
  85. package/dist/utils/createAsyncMicrotaskScheduler.d.ts +0 -35
  86. package/dist/utils/createMicrotaskScheduler.d.ts +0 -29
  87. package/dist/utils/debounce.d.ts +0 -22
  88. package/dist/utils/equality.d.ts +0 -38
  89. package/dist/utils/hydrationCoordinator.d.ts +0 -13
  90. package/dist/utils/promiseUtils.d.ts +0 -2
  91. package/dist/utils/serialization.d.ts +0 -14
  92. package/dist/utils/stringUtils.d.ts +0 -7
  93. package/dist/utils/time.d.ts +0 -37
  94. package/dist/vanilla/createBaseStore.d.ts +0 -35
  95. package/dist/vanilla/createDerivedStore.d.ts +0 -62
  96. package/dist/vanilla/createQueryStore.d.ts +0 -110
  97. package/dist/vanilla/createVirtualStore.d.ts +0 -39
  98. package/dist/vanilla/env.web.d.ts +0 -6
  99. package/dist/vanilla/index.d.ts +0 -1
  100. package/dist/vanilla/index.shared.d.ts +0 -13
  101. package/dist/vanilla/internal/baseStore.d.ts +0 -1
  102. package/dist/vanilla/internal/config.d.ts +0 -63
  103. package/dist/vanilla/internal/createStoreActions.d.ts +0 -23
  104. package/dist/vanilla/internal/derivedStore/deriveProxy.d.ts +0 -14
  105. package/dist/vanilla/internal/derivedStore/pathFinder.d.ts +0 -25
  106. package/dist/vanilla/internal/derivedStore.d.ts +0 -1
  107. package/dist/vanilla/internal/errors.d.ts +0 -9
  108. package/dist/vanilla/internal/logger.d.ts +0 -9
  109. package/dist/vanilla/internal/middleware/createHydrationGate.d.ts +0 -19
  110. package/dist/vanilla/internal/queryStore/queryParams.d.ts +0 -17
  111. package/dist/vanilla/internal/queryStore/queryStoreDefaults.d.ts +0 -7
  112. package/dist/vanilla/internal/queryStore.d.ts +0 -1
  113. package/dist/vanilla/internal/runtime.d.ts +0 -11
  114. package/dist/vanilla/internal/storage/storageCreators.d.ts +0 -11
  115. package/dist/vanilla/internal/storeUtils.d.ts +0 -45
  116. package/dist/vanilla/internal/sync/browserSyncEngine.d.ts +0 -2
  117. package/dist/vanilla/internal/sync/noopSyncEngine.d.ts +0 -2
  118. package/dist/vanilla/internal/sync/syncEnhancer.d.ts +0 -25
  119. package/dist/vanilla/internal/types/internalSubscribeTypes.d.ts +0 -15
  120. package/dist/vanilla/internal/utils/persistUtils.d.ts +0 -8
  121. package/dist/vanilla/internal/virtualStore.d.ts +0 -1
  122. package/dist/vanilla/queryStore/classes/SubscriptionManager.d.ts +0 -38
  123. package/dist/vanilla/queryStore/queryKey.d.ts +0 -9
  124. package/dist/vanilla/queryStore/queryParam.d.ts +0 -36
  125. package/dist/vanilla/queryStore/types.d.ts +0 -360
  126. package/dist/vanilla/storage/storageTypes.d.ts +0 -12
  127. package/dist/vanilla/store/attachStoreHook.d.ts +0 -5
  128. package/dist/vanilla/store/attachStoreHook.vanilla.d.ts +0 -5
  129. package/dist/vanilla/store/batchStoreNotifications.web.d.ts +0 -1
  130. package/dist/vanilla/store/cascadeScheduler.d.ts +0 -37
  131. package/dist/vanilla/store/createStore.d.ts +0 -5
  132. package/dist/vanilla/store/persist.d.ts +0 -13
  133. package/dist/vanilla/store/stateUpdate.d.ts +0 -9
  134. package/dist/vanilla/store/types.d.ts +0 -107
  135. package/dist/vanilla/storesStorage.web.d.ts +0 -2
  136. package/dist/vanilla/sync/types.d.ts +0 -114
  137. package/dist/vanilla/types/functions.d.ts +0 -23
  138. package/dist/vanilla/types/objects.d.ts +0 -10
  139. package/dist/vanilla/types/setState.d.ts +0 -21
  140. package/dist/vanilla/types/subscribe.d.ts +0 -26
  141. package/dist/vanilla/types/useStoreCallSignatures.d.ts +0 -1
  142. package/dist/vanilla/types/useStoreCallSignatures.vanilla.d.ts +0 -1
  143. package/dist/vanilla/types/utils.d.ts +0 -12
  144. package/dist/vanilla/types.d.ts +0 -287
  145. package/dist/vanilla/utils/core.d.ts +0 -25
  146. package/dist/vanilla/utils/createAsyncMicrotaskScheduler.d.ts +0 -34
  147. package/dist/vanilla/utils/createMicrotaskScheduler.d.ts +0 -28
  148. package/dist/vanilla/utils/debounce.d.ts +0 -21
  149. package/dist/vanilla/utils/equality.d.ts +0 -37
  150. package/dist/vanilla/utils/hydrationCoordinator.d.ts +0 -12
  151. package/dist/vanilla/utils/promiseUtils.d.ts +0 -1
  152. package/dist/vanilla/utils/serialization.d.ts +0 -13
  153. package/dist/vanilla/utils/stringUtils.d.ts +0 -6
  154. package/dist/vanilla/utils/time.d.ts +0 -36
  155. package/dist/web/chunk-FENSEQ3V.mjs +0 -1
  156. package/dist/web/chunk-FPYZVFBM.mjs +0 -1
  157. package/dist/web/chunk-PLDNKWGX.mjs +0 -1
@@ -1 +1,2 @@
1
- import{getQueryKey as e,isQueryParamConfig as t}from"../chunk-PLDNKWGX.mjs";import{isPromiseLike as n,reviver as r,replacer as o}from"../chunk-FENSEQ3V.mjs";export{replacer,reviver}from"../chunk-FENSEQ3V.mjs";import{IS_DEV as i,IS_TEST as s,IS_BROWSER as c,isRecordLike as a,nullObject as u,IS_IOS as l,buildNullObject as f,hasOwn as d,noop as y,isPlainObject as h,identity as p}from"../chunk-FPYZVFBM.mjs";export{identity,nullObject}from"../chunk-FPYZVFBM.mjs";function g(){return"undefined"!=typeof window?window.localStorage:null}var b={debug:(e,t)=>{i&&console.debug(e,t)},error:(e,t)=>{i&&!s&&console.error(e,t)},info:(e,t)=>{i&&console.info(e,t)},warn:(e,t)=>{i&&console.warn(e,t)}};function m(e){b=e}var S=class extends Error{constructor(e,t){super(e),this.name="StoresError",void 0!==t&&Object.defineProperty(this,"cause",{configurable:!0,value:t,writable:!0})}};function v(e){return e instanceof Error?e:new Error(String(e))}var w,O="stores/core/sync-channel",j=`${O}:storage:`,F=class{constructor(e){this.broadcast=e.broadcast,this.origin=e.origin,this.storeKey=e.storeKey,this.teardown=e.teardown}destroy(){this.teardown()}publish(e){const t=u();for(const n of Object.entries(e.values))t[n[0]]=n[1];const n={origin:this.origin,replace:e.replace,sessionId:e.sessionId,storeKey:this.storeKey,timestamp:e.timestamp,values:t};this.broadcast(n)}},k=class{constructor(){this.listeners=new Map,this.origin="undefined"!=typeof crypto&&"randomUUID"in crypto?crypto.randomUUID():`${Math.random().toString(36).slice(2)}:${Date.now().toString(36)}`,this.onChannelMessage=e=>{e.data&&this.dispatch(e.data)},this.onStorageEvent=e=>{if(e.key&&e.newValue&&e.key.startsWith(j))try{const t=JSON.parse(e.newValue);this.dispatch(t)}catch(e){b.error(new S("[sync] Failed to parse storage event payload",e))}},this.channel="undefined"==typeof BroadcastChannel?null:new BroadcastChannel(O),this.storage=I(),this.channel&&this.channel.addEventListener("message",this.onChannelMessage),c&&window.addEventListener("storage",this.onStorageEvent)}get sessionId(){return this.origin}register(e){const t=t=>{if(t.origin===this.origin||t.storeKey!==e.key)return;const n=u();for(const r of e.fields)d(t.values,r)&&(n[r]=t.values[r]);Object.keys(n).length&&e.apply({replace:t.replace,sessionId:t.sessionId,timestamp:t.timestamp,values:n})};let n=this.listeners.get(e.key);return n||(n=new Set,this.listeners.set(e.key,n)),n.add(t),new F({broadcast:e=>this.broadcast(e),origin:this.origin,storeKey:e.key,teardown:()=>this.removeListener(e.key,t)})}broadcast(e){try{this.channel&&this.channel.postMessage(e),this.writeToStorage(e)}catch(e){b.error(new S("[sync] Failed to broadcast update",e))}}dispatch(e){if(!e.storeKey)return;const t=this.listeners.get(e.storeKey);if(t&&t.size)for(const n of t)n(e)}removeListener(e,t){const n=this.listeners.get(e);n&&(n.delete(t),n.size||this.listeners.delete(e))}writeToStorage(e){if(this.storage||(this.storage=I()),!this.storage)return;const t=`${j}${e.storeKey}`;try{this.storage.setItem(t,JSON.stringify(e))}catch(e){b.error(new S("[sync] Failed to write broadcast payload to storage",e))}}};function I(){try{return"undefined"!=typeof window?window.localStorage:null}catch{return null}}var C,q,T,z=class{destroy(){}publish(){}},A=class{constructor(){this.sessionId="noop"}register(e){return new z}},K="stores:",P=!1;function E(e){i&&function(){if(P)throw new Error("[stores]: configureStores() called after first store creation. Call it earlier before creating any stores.")}(),e.logger&&m(e.logger),q??(q=function(e){return e?.queryStoreDefaults?{queryStoreDefaults:e.queryStoreDefaults}:void 0}(e)),T??(T=x(e))}function D(){if(q)return q}function M(){return T??(T=x(void 0))}function $(){P=!0}function x(e){return{storage:e?.storage??(t=e?.storageKeyPrefix??K,{clearAll(){try{const e=g();if(!e)return;const n=[];for(let r=0;r<e.length;r++){const o=e.key(r);o?.startsWith(t)&&n.push(o)}for(const t of n)e.removeItem(t)}catch(e){console.error("Error clearing localStorage:",e)}},contains(e){const n=g();return null!==n?.getItem(`${t}${e}`)},delete(e){try{const n=g();n?.removeItem(`${t}${e}`)}catch(e){console.error("Error deleting from localStorage:",e)}},getAllKeys(){try{const e=g();return e?Array.from(e.keys()):[]}catch(e){return console.error("Error getting keys from localStorage:",e),[]}},get(e){try{const n=g();return n?n.getItem(`${t}${e}`)??void 0:void 0}catch(e){return void console.error("Error reading from localStorage:",e)}},set(e,n){try{const r=g();r?.setItem(`${t}${e}`,n)}catch(e){console.error("Error writing to localStorage:",e)}}}),syncEngine:e?.syncEngine??(c?(w||(w=new k),w):(C||(C=new A),C))};var t}var R,L={Error:"error",Idle:"idle",Loading:"loading",Success:"success"},N={ms:e=>e,seconds:e=>1e3*e,minutes:e=>6e4*e,hours:e=>36e5*e,days:e=>864e5*e,weeks:e=>6048e5*e,infinity:1/0,zero:0};function H(e,t){const n=t?.baseDelay??N.seconds(5),r=t?.maxDelay??N.minutes(5);return Math.min(n*Math.pow(2,e),r)}function W(e,t){return!0===t[1]?e(t[0],!0):e(t[0])}function U(e,t,n){if(!0===n)return V(t)?t(e):t;const r=V(t)?t(e):t;return Object.is(r,e)?e:a(e)&&a(r)?{...e,...r}:r}function V(e){return"function"==typeof e}var B=Object.freeze({QueryStore:Symbol("queryStore"),VirtualStore:Symbol("virtualStore")});function J(e,t){return Object.assign(e,{[t]:!0})}function Q(e,t){X(e)?e.getState().reset(t?.clearQueryCache):Z(e)&&e.destroy()}function _(e,t){for(const n of Array.isArray(e)?e:Object.values(e))n&&!t?.skipDestroy?.(n)&&Q(n,t)}function Y(e){const t="function"==typeof(n=e)?n.name:"";var n;return te(e)?e.persist.getOptions().name??t:t}function Z(e){return"destroy"in e}function G(e){return"getSnapshot"in e}function X(e){return B.QueryStore in e}function ee(e){return"flushUpdates"in e}function te(e){return!(!("persist"in e)||!e.persist)&&"string"==typeof e.persist.getOptions().name}function ne(e){return B.VirtualStore in e}function re(e,t){const n=function(e){const t=e.getState(),n=u(),r=n;if(i&&("object"!=typeof t||null===t))throw new Error("[createStoreActions]: State is not an object");if(ne(e))for(const n in t)ie(t,n)&&(r[n]=oe(e,n));else for(const e in t)ie(t,e)&&(r[e]=t[e]);return n}(e);return t?Object.assign(n,t):n}function oe(e,t){return function(...n){const r=e.getState()[t];if("function"==typeof r)return r(...n);throw new Error(`[createVirtualStoreAction]: Method ${String(t)} is not a function`)}}function ie(e,t){return"function"==typeof e[t]}function se(e,t){if("object"!=typeof e||null==e||"object"!=typeof t||null==t)return e===t;if(Object.is(e,t))return!0;const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!(r in t)||!se(e[r],t[r]))return!1;return!0}function ce(e,t){if("object"!=typeof e||null==e||"object"!=typeof t||null==t)return e===t;if(Object.is(e,t))return!0;const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(const r of n)if(!Object.is(e[r],t[r]))return!1;return!0}function ae(e,t){const n=Object.prototype.hasOwnProperty;function r(e,t){for(const n of e.keys())if(ae(n,t))return n}let o,i,s;if(e===t)return!0;if(e&&t&&(o=e.constructor)===t.constructor){if(o===Date)return e.getTime()===t.getTime();if(o===RegExp)return e.toString()===t.toString();if(o===Array){if((i=e.length)===t.length)for(;i--&&ae(e[i],t[i]););return-1===i}if(o===Set){if(e.size!==t.size)return!1;for(let n of e){if(s=n,s&&"object"==typeof s&&(s=r(t,s),!s))return!1;if(!t.has(s))return!1}return!0}if(o===Map){if(e.size!==t.size)return!1;for(let n of e){if(s=n[0],s&&"object"==typeof s&&(s=r(t,s),!s))return!1;if(!ae(n[1],t.get(s)))return!1}return!0}if(o===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(o===DataView){if((i=e.byteLength)===t.byteLength)for(;i--&&e.getInt8(i)===t.getInt8(i););return-1===i}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){const n=e,r=t;if((i=n.byteLength)===r.byteLength)for(;i--&&n[i]===r[i];);return-1===i}if(!o||"object"==typeof e){i=0;for(const r in e){if(n.call(e,r)&&++i&&!n.call(t,r))return!1;if(!(r in t)||!ae(e[r],t[r]))return!1}return Object.keys(t).length===i}}return e!=e&&t!=t}function ue(e){return e()}var le=!1,fe=!1,de=!1,ye=new Set,he=new Map,pe=new Map,ge=null,be=1/0;function me(){return le}function Se(){return ge}function ve(){le||(le=!0,de||(de=!0,queueMicrotask(()=>{de=!1,we()})))}function we(){if(le)if(fe)je();else{fe=!0;try{ue(je)}finally{Ie()}}}function Oe(e){le&&ye.add(e)}function je(){for(;he.size>0||ye.size>0;)Fe(),ke()}function Fe(){for(;he.size>0;){const e=be,t=pe.get(e);if(t){pe.delete(e);for(const e of t)he.delete(e);ge=e;for(const e of t)e();ge=null,be=1/0;for(const e of pe.keys())e<be&&(be=e)}else{be=1/0;for(const e of pe.keys())e<be&&(be=e)}}}function ke(){for(const e of ye)ye.delete(e),e()}function Ie(){le=!1,fe=!1,ge=null,ye.clear(),he.clear(),pe.clear(),be=1/0}function Ce(e){let t;const n=new Set;let r;function o(...e){const o=U(t,...e);if(Object.is(o,t))return;const i=t;if(t=o,r)for(const e of r)e(t,i);n.size&&we();for(const e of n)e(t,i)}function i(){return t}const s={getInitialState:function(){return c},getState:i,setState:o,subscribe:function(...e){return 1===e.length?a(e[0]):function(e,n,o){const i=o?.equalityFn??Object.is,s=o?.isCascadeParticipant??!1;let c=e(t);function u(t){const r=e(t);if(i(c,r))return;const o=c;c=r,s&&ve(),n(r,o)}return o?.fireImmediately&&n(c,c),s?function(e){return(r??(r=new Set)).add(e),()=>{r?.delete(e),0===r?.size&&(r=void 0)}}(u):a(u)}(e[0],e[1],e[2])}},c=t=e(o,i,s);return s;function a(e){return n.add(e),()=>{n.delete(e)}}}function qe(e){return{...e,merge:e.merge??Te,skipHydration:e.skipHydration??!1}}function Te(e,t){return void 0===e?t:{...t,...e}}function ze(){let e,t,n=!1;return{complete:function(){!n&&e&&(n=!0,e(),e=void 0,t=void 0)},isHydrated:function(){return n},fail:function(r){!n&&t&&(n=!0,t(r),t=void 0,e=void 0)},promise:new Promise((n,r)=>{e=n,t=r})}}var Ae=Math.max,Ke=Math.min;function Pe(e,t=0,n={}){let r,o,i,s,c,a,u=0,l=!1,f=!1,d=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){const n=r,i=o;return r=o=void 0,u=t,s=n?e.apply(i,n):e.apply(i),s}function h(e){const n=e-(a??0);return void 0===a||n>=t||n<0||f&&void 0!==i&&e-u>=i}function p(){const e=Ee();if(h(e))return g(e);c=setTimeout(p,function(e){const n=t-(e-(a??0));return f&&void 0!==i?Ke(n,i-(e-u)):n}(e))}function g(e){return c=void 0,d&&r?y(e):(r=o=void 0,s)}function b(...e){const n=Ee(),i=h(n);if(r=e,o=this,a=n,i){if(void 0===c)return function(e){return u=e,c=setTimeout(p,t),l?y(e):s}(a);if(f)return clearTimeout(c),c=setTimeout(p,t),y(a)}return void 0===c&&(c=setTimeout(p,t)),s}return t=De(t)||0,function(e){const t=typeof e;return null!==e&&("object"===t||"function"===t)}(n)&&(l=!!n.leading,f="maxWait"in n,i=f?Ae(De(n.maxWait)||0,t):void 0,d="trailing"in n?!!n.trailing:d),b.cancel=function(){void 0!==c&&clearTimeout(c),u=0,r=a=o=c=void 0},b.flush=function(){return void 0===c?s:g(Ee())},b}function Ee(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}function De(e){if("number"==typeof e)return e;if("symbol"==typeof e||void 0===e)return NaN;if("object"==typeof e&&null!==e){const t="function"==typeof e.valueOf?e.valueOf():e;e="object"==typeof t?t+"":t}return"string"!=typeof e?0===e?e:+e:(e=e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),/^0b[01]+$/i.test(e)?parseInt(e.slice(2),2):/^0o[0-7]+$/i.test(e)?parseInt(e.slice(2),8):/^[-+]0x[0-9a-f]+$/i.test(e)?NaN:+e)}function Me(e){if(!h(e))return e;const t=u(),n=Object.keys(e);for(let r=0;r<n.length;r++){const o=n[r],i=e[o];"function"!=typeof i&&(t[o]=i)}return t}var $e=s?0:c?N.ms(200):N.seconds(l?3:5);function xe(e,t,n,r){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),i="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),s=t.partialize??Me,c=t.deserializer??e.deserializer??Le(o),a=t.serializer??e.serializer??Ne(o);function u(t,n,o){try{if(Ve(r))return;const c={state:s(n),version:o},u=We(r,i,c),l=a(c);try{e.set(t,l),Ue(r,u)}catch(e){b.error(new S("[createBaseStore]: Failed to persist store data",e))}}catch(e){b.error(new S("[createBaseStore]: Failed to persist store data",e))}}const l=void 0!==n?Pe(u,n,{leading:!1,maxWait:n,trailing:!0}):u;return{getItem:t=>{const n=e.get(t);return void 0===n?null:c(n)},setItem:(e,t,n)=>{r?.getIsApplyingRemote()||l(e,t,n)},removeItem:t=>{try{e.delete(t)}catch(e){b.error(new S("[createBaseStore]: Failed to delete persisted store data",e))}}}}function Re(e,t,n,r){const o=!(t.deserializer||t.serializer||e.deserializer||e.serializer),i="object"==typeof t.sync&&!0===(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata),s=t.partialize??Me,c=t.deserializer??e.deserializer??Le(o),a=t.serializer??e.serializer??Ne(o);async function u(t,n,o){try{if(Ve(r))return;const c={state:s(n),version:o},u=We(r,i,c),l=a(c);try{await e.set(t,l),Ue(r,u)}catch(e){b.error(new S("[createBaseStore]: Failed to persist store data",e))}}catch(e){b.error(new S("[createBaseStore]: Failed to serialize persisted store data",e))}}const l=void 0!==n?Pe(u,n,{leading:!1,maxWait:n,trailing:!0}):function(e){let t,n=null;return function(...r){return t=r,n||(n=new Promise(r=>{queueMicrotask(async()=>{try{await e(...t)}finally{n=null,r()}})})),n}}(u);return{getItem:async t=>{const n=await e.get(t);return void 0===n?null:c(n)},setItem:async(e,t,n)=>{if(!r?.getIsApplyingRemote())return await l(e,t,n)},removeItem:async t=>{try{await e.delete(t)}catch(e){b.error(new S("[createBaseStore]: Failed to delete persisted store data",e))}}}}function Le(e){return t=>{if("string"!=typeof t)throw new S("[createBaseStore]: Received non-string serialized state without a custom deserializer. Provide a deserializer on the store or storage adapter.");return function(e,t){try{return JSON.parse(e,t?r:void 0)}catch(e){throw b.error(new S("[createBaseStore]: Failed to deserialize persisted store data",e)),e}}(t,e)}}function Ne(e){return t=>function(e,t){try{return JSON.stringify(e,t?o:void 0)}catch(e){throw b.error(new S("[createBaseStore]: Failed to serialize store data",e)),e}}(t,e)}var He=Object.freeze({shouldClear:!1});function We(e,t,n){if(!t||!e)return He;const r=e.getFieldTimestampSnapshot();return function(e,t){const n=e.getSessionId(),r=e.getTimestamp();void 0!==n&&void 0!==r&&(t.syncMetadata={origin:n,timestamp:r})}(e,n),n.syncMetadata?r&&Object.keys(r).length>0?(n.syncMetadata.fields=r,{fieldSnapshot:r,shouldClear:!0}):(delete n.syncMetadata.fields,{fieldSnapshot:r,shouldClear:!1}):{fieldSnapshot:r,shouldClear:!1}}function Ue(e,t){e&&t.shouldClear&&t.fieldSnapshot&&Object.keys(t.fieldSnapshot).length&&e.clearFieldTimestamps(t.fieldSnapshot)}function Ve(e){return!!e&&!!e.getIsApplyingRemote()}var[Be,Je]=[0,1];function Qe(e,t,n){if(!e)return!0;const r=e[Be],o=e[Je];return!(t<r)&&(t>r||n>o)}function _e(e,t){return Object.prototype.hasOwnProperty.call(t,e)}function Ye(e,t){if(!i)return!0;if(null===e||null===t)return e===t;const n=typeof e;return n===typeof t&&("object"!==n||Object.prototype.toString.call(e)===Object.prototype.toString.call(t))}function Ze(e){if(null===e)return"null";const t=typeof e;return"object"===t?Object.prototype.toString.call(e):t}function Ge(e,t){if($(),!t)return Ce(e);const r=t.storageKey,o="string"==typeof r,i=o?t.storage??M().storage:void 0,s=function(e,t){if(!e)return null;const n="object"==typeof e,r=n?e.key??t:!0===e?t:e;if(!r)throw new S("[createBaseStore]: sync requires a key to be specified either directly or via storageKey");return n?{...e,key:r}:{key:r}}(t.sync,r),c=s?function(e,t,r){const o=t.engine??M().syncEngine,i=function(e){let t,n,r,o=!1;return{isAsync:e,clearFieldTimestamps:function(e){if(e&&r){for(const t of Object.entries(e)){const e=t[0],n=t[1];r[e]===n&&delete r[e]}Object.keys(r).length||(r=void 0)}},getFieldTimestampSnapshot:function(){if(r)return{...r}},getIsApplyingRemote:()=>o,getSessionId:()=>t,getTimestamp:()=>n,mergeFieldTimestamps:function(e){if(r)for(const t of Object.entries(e)){const e=t[0],n=t[1],o=r[e];(void 0===o||n>o)&&(r[e]=n)}else r={...e}},onHydrationComplete:void 0,onHydrationFlushEnd:void 0,setIsApplyingRemote:e=>o=e,setSessionId:e=>t=e,setTimestamp:e=>n=e,setWithoutPersist:void 0}}(r);return{stateCreator:(s,c,a)=>{const l=new Map,f=[],d=[];let y=null,h=!1,p=!1,g=0,m=null,v=[],w=Promise.resolve(),O=!r;function j(e,t){if(i?.setSessionId&&i?.setTimestamp&&o.sessionId&&(i.setSessionId(o.sessionId),i.setTimestamp(e),i.mergeFieldTimestamps&&t.length>0)){const n=u();for(const r of t)n[String(r)]=e;i.mergeFieldTimestamps(n)}}function F(e,t){if(h||!m)return t?s(e,t):s(e);const r=function(){const e=Date.now(),t=e>g?e:g+1;return g=t,t}();let i=[],c=u();const a=n=>{const o=U(n,e,t);for(const e of v)Object.is(o[e],n[e])||(i.push(e),c[e]=o[e]);return i.length&&j(r,i),o},f=t?s(a,!0):s(a);function b(){i.length&&function(e){const t=o.sessionId;for(const n of e.keys)l.set(n,[e.timestamp,t]);y&&p?y.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values}):d.push(e)}({keys:i,replace:t??!1,values:c,timestamp:r})}return n(f)?f.finally(b):(b(),f)}const k=a.setState;a.setState=F;const I=e(F,c,a);if(v=t.fields??function(e){const t=[];for(const n of Object.entries(e)){if("function"==typeof n[1])continue;const e=n[0];t.push(e)}return t}(I),!v.length)return I;async function C(e){g=Math.max(g,e.timestamp);const n=u(),r=c(),o=e.timestamp;let s;if(e.replace)for(const t of v)_e(t,e.values)||Qe(l.get(t),o,e.sessionId)&&(s??(s=[])).push(t);for(const i of v){if(!_e(i,e.values))continue;if(!m?.has(i))continue;if(!Qe(l.get(i),o,e.sessionId))continue;const s=t.merge?.[i];if(s){const t=e.values[i],c=r[i];if(void 0!==t){const a=s(t,c,r,e.values),u=void 0!==c?c:t;if(!Ye(a,u))return void b.error(new S(`[sync] Merge function for field "${String(i)}" returned ${Ze(a)} but expected ${Ze(u)}`));n[i]=a,l.set(i,[o,e.sessionId])}}else n[i]=e.values[i],l.set(i,[o,e.sessionId])}if(Object.keys(n).length>0||s?.length){h=!0,i&&i.setIsApplyingRemote(!0);try{if(e.replace){const e={...r};let t=!1;if(s?.length){t=!0;for(const t of s)delete e[t],l.delete(t)}for(const r in n){if(!Object.prototype.hasOwnProperty.call(n,r))continue;const o=n[r];void 0!==o&&(Object.is(e[r],o)||(t=!0),e[r]=o)}if(!t)return;await(i.setWithoutPersist??k)(e,!0)}else await(i.setWithoutPersist??k)(n)}finally{h=!1,i&&i.setIsApplyingRemote(!1)}}}function q(e){r?w=w.then(()=>C(e)):C(e)}if(m=new Set(v),y=o.register({apply:e=>{O?q(e):f.push(e)},fields:v,getState:c,key:t.key}),y?.onFirstSubscribe||y?.onLastUnsubscribe){let e=0;const t=a.subscribe;a.subscribe=(...n)=>{e||y.onFirstSubscribe?.(),e+=1;const r=1===n.length?t(n[0]):t(n[0],n[1],n[2]);return()=>{r(),e-=1,e||queueMicrotask(()=>{e||y.onLastUnsubscribe?.()})}}}function T(){p=!0,function(){if(y&&d.length){for(const e of d){const t=o.sessionId;for(const n of e.keys)l.set(n,[e.timestamp,t]);j(e.timestamp,e.keys),y.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values})}d.length=0}}()}function z(){O=!0,function(){if(!f.length)return;const e=f.slice();f.length=0;for(const t of e)q(t)}()}return r?(i.onHydrationComplete=T,i.onHydrationFlushEnd=z):y.onHydrated?(y.onHydrated(T),z()):(T(),z()),I},syncContext:i}}(e,s,i?.async??!1):void 0,a=c?.stateCreator??e;if(!o)return Ce(a);const l=function(e,t,n){const r=t??e.storage??M().storage,o=(e.sync?void 0:e.persistThrottleMs??$e)||void 0,i=e.version??0;return r.async?{async:!0,persistStorage:Re(r,e,o,n),version:i}:{async:!1,persistStorage:xe(r,e,o,n),version:i}}(t,i,c?.syncContext),f=l.async?function(e){let t,n,r,o=!1;return{hydrationPromise:()=>o?t?.promise??n??(n=Promise.resolve()):(t||(t=ze()),t.promise),stateCreator:(n,i,s)=>{let c;return r=()=>{if(c?.length){for(const e of c)W(s.setState,e);c=void 0}},e(function(...e){return o?W(n,e):(t||(t=ze()),c||(c=[]),c.push(e),t.promise)},i,s)},wrapOnRehydrateStorage:(e,n)=>i=>{const s=e?.(i);return(e,i)=>{o=!0,n?.onHydrationComplete?.(),r&&r(),n?.onHydrationFlushEnd?.(),i?t?.fail(v(i)):t?.complete(),s?.(e,i)}}}}(a):void 0,d=f?f.wrapOnRehydrateStorage(t.onRehydrateStorage,c?.syncContext):t.onRehydrateStorage,y=Ce(function(e,t){return(r,o,i)=>{let s,c,a,u=qe(t),l=!1,f=0;function d(){return u.storage.setItem(u.name,o(),u.version)}const y=i.setState;i.setState=function(...e){return W(y,e),d()};const h=e(function(...e){return W(r,e),d()},o,i);function p(){const e=function(){const e=++f;return l=!1,c?.forEach(e=>e(o()??h)),e}(),t=u.onRehydrateStorage?.(o()??h);try{const r=u.storage.getItem(u.name);return n(r)?r.then(n=>g(e,n,t)).catch(n=>S(e,t,n)):g(e,r,t)}catch(n){S(e,t,n)}}return i.getInitialState=()=>h,Object.assign(i,{persist:{clearStorage:()=>{u.storage.removeItem(u.name)},getOptions:()=>u,hasHydrated:()=>l,onFinishHydration:e=>(a??(a=new Set),a.add(e),()=>{a?.delete(e),0===a?.size&&(a=void 0)}),onHydrate:e=>(c??(c=new Set),c.add(e),()=>{c?.delete(e),0===c?.size&&(c=void 0)}),rehydrate:p,setOptions:e=>{u=qe({...u,...e,storage:e.storage??u.storage})}}}),u.skipHydration||p(),s??h;function g(e,t,r){const o=function(e,t){if(!t)return{migrated:!1,state:void 0};if("number"!=typeof t.version||t.version===e.version)return{migrated:!1,state:t.state};if(!e.migrate)return console.error("State loaded from storage couldn't be migrated since no migrate function was provided"),{migrated:!1,state:void 0};const r=e.migrate(t.state,t.version);return n(r)?r.then(e=>({migrated:!0,state:e})):{migrated:!0,state:r}}(u,t);return n(o)?o.then(t=>b(e,t,r)).catch(t=>S(e,r,t)):b(e,o,r)}function b(e,t,i){const c=function(e,t){if(e!==f)return;const n=u.merge(t.state,o()??h);return s=n,r(n,!0),t.migrated?d():void 0}(e,t);if(n(c))return c.then(()=>m(e,i));m(e,i)}function m(e,t){if(e!==f)return;t?.(s,void 0);const n=o();s=n,l=!0,a?.forEach(e=>e(n))}function S(e,t,n){e===f&&t?.(void 0,n)}}}(f?(e,t,n)=>(c&&(c.syncContext.setWithoutPersist=n.setState),f.stateCreator(e,t,n)):a,{merge:t.merge,migrate:t.migrate,name:r,onRehydrateStorage:d,storage:l.persistStorage,version:l.version}));return f?Object.assign(y,{persist:Object.assign(y.persist,{hydrationPromise:f.hydrationPromise})}):y}function Xe(e,t,n="s"){return 1===t?e:`${e}${n}`}var et=Symbol("stores.deriveProxy.unwrap");function tt(e,t,n){const r=t.get(e);if(void 0!==r)return r;const o=function(e,t,n,r=[]){return e&&"object"==typeof e?nt(e,r,t,n,new WeakSet,new WeakMap):(n(t,r,!0),e)}(G(e)?e.getSnapshot():e.getState(),e,n);return t.set(e,o),o}function nt(e,t,n,r,o,i){return new Proxy(e,{get(s,c,a){if(c===et)return r(n,t,!0),s;if(o.has(s))return Reflect.get(s,c,a);if("__proto__"===c||"symbol"==typeof c)return c===Symbol.iterator&&(r(n,t,!0),o.add(s)),Reflect.get(s,c,a);const u=Reflect.get(s,c,s),l=String(c),f=t.concat(l);if("function"==typeof u)return Object.prototype.hasOwnProperty.call(s,c)?function(...e){return r(n,f,!0,{args:e.length?e:void 0}),Reflect.apply(u,s,e)}:(r(n,t,!0),u.bind(e));const d=!!u&&"object"==typeof u;return r(n,f,!d),d?(i.has(u)||i.set(u,nt(u,f,n,r,o,i)),i.get(u)):u},getOwnPropertyDescriptor:(e,i)=>(r(n,t,!0),o.add(e),Reflect.getOwnPropertyDescriptor(e,i)),has:(e,o)=>(r(n,t,!0),Reflect.has(e,o)),ownKeys:e=>(r(n,t,!0),o.add(e),Reflect.ownKeys(e))})}function rt(e,t){if(!e||"object"!=typeof e)return e;const n=function(e){const t=Reflect.get(e,et);return t&&"object"==typeof t?t:void 0}(e);return n||(Array.isArray(e)?function(e,t){const n=it(e,t);if(n)for(let t=0;t<e.length;t++)ot(e,String(t),n)}(e,t):h(e)&&function(e,t){const n=it(e,t);if(n)for(const t of Reflect.ownKeys(e))ot(e,t,n)}(e,t),e)}function ot(e,t,n){const r=Reflect.getOwnPropertyDescriptor(e,t);if(!r||!("value"in r))return;const o=rt(r.value,n);o!==r.value&&(r.value=o,Reflect.defineProperty(e,t,r))}function it(e,t){const n=t??new WeakSet;return n.has(e)?null:(n.add(e),n)}var st=Object.freeze([]);function ct(){const e=new Map;return{buildProxySubscriptions(t,n,r,o){const i=new Set;for(const t of e)lt(t[1],t[0],[],0,i,r);!1!==o?.(i)&&function(e,t,n){for(const n of e){const e=n.invocation?ht(n.path,n.invocation):yt(n.path);t(n.store,e,n.path)}n&&function(e){const t=e.size;console.log(`[📡 ${t} ${Xe("Proxy Subscription",t)} 📡]:`,JSON.stringify(Array.from(e).map(e=>{const t="name"in(n=e.store)&&"string"==typeof n.name?n.name:"store";var n;const r=e.path.join(".");if(!e.invocation)return r?`$(${t}).${r}`:`$(${t})`;const o=e.invocation.args?.length??0;return`$(${t}).${r}${o?`(${o}_${Xe("arg",o)})`:"()"}`}),null,2))}(e)}(i,t,n)},reset(){e.clear()},trackPath(t,n,r,o){let i=e.get(t);i||(i=at(),e.set(t,i)),ut(i,n,0,r,o)}}}function at(){return u()}function ut(e,t,n,r,o){if(n===t.length)return r&&(e.isLeaf=!0),void(o&&function(e,t){const n=e.invocation;if(!n)return void(e.invocation=t);if(ft(n,t))return;const r=e.extraInvocations;if(r){for(let e=0;e<r.length;e++)if(ft(r[e],t))return;r.push(t)}else e.extraInvocations=[t]}(e,o));e.children||(e.children=at());const i=t[n];let s=e.children?.[i];s||(s=at(),e.children[i]=s),ut(s,t,n+1,r,o)}function lt(e,t,n,r,o,i=2){const s=e.children;if(!s)return void dt(e,t,n,o);const c=Object.keys(s),a=c.length;if(0!==a)if(e.isLeaf||r>=i&&a>1){dt(e,t,n,o);for(const e of c){const c=s[e];c.invocation&&lt(c,t,[...n,e],r+1,o,i)}}else if(r<i&&a>1&&!e.isLeaf)for(const e of c)lt(s[e],t,[...n,e],r+1,o,i);else{if(1===a){const e=c[0];return void lt(s[e],t,[...n,e],r+1,o,i)}dt(e,t,n,o)}else dt(e,t,n,o)}function ft(e,t){const n=e.args,r=t.args,o=n?.length??0;if(o!==(r?.length??0))return!1;if(!n||!r)return!0;for(let e=0;e<o;e++)if(!Object.is(n[e],r[e]))return!1;return!0}function dt(e,t,n,r){const o=e.isLeaf??!1,i=e.invocation;if(!i)return void r.add({store:t,path:n,isLeaf:o});r.add({store:t,path:n,invocation:i,isLeaf:o});const s=e.extraInvocations;if(s)for(let e=0;e<s.length;e++)r.add({store:t,path:n,invocation:s[e],isLeaf:o})}function yt(e){return t=>pt(t,e)}function ht(e,t){const n=e.slice(0,-1),r=e[e.length-1];return e=>{const o=pt(e,n),i=o&&"object"==typeof o?Reflect.get(o,r):void 0;return"function"==typeof i?Reflect.apply(i,o,t.args??st):void 0}}function pt(e,t){let n=e;for(const e of t){if(!n||"object"!=typeof n)return n;n=Reflect.get(n,e)}return n}var gt=Symbol(),bt=Object.freeze({equalityFn:Object.is,isCascadeParticipant:!0});function mt(e,t=Object.is){const{debounceOptions:n,debugMode:r,equalityFn:o,keepAlive:s,lockDependencies:c}="function"==typeof(u=t)?{debounceOptions:void 0,debugMode:!1,equalityFn:u,keepAlive:!1,lockDependencies:!1}:{debounceOptions:u.debounce,debugMode:(i&&u.debugMode)??!1,equalityFn:u.equalityFn??Object.is,keepAlive:u.keepAlive??!1,lockDependencies:u.lockDependencies??!1},a=new Set;var u;s&&a.add(St);const l=new Set;let f,d,y=gt,h=!1,g=!1,b=!0,m=!0,S=0,v=!1,w=null,O=gt;function j(e,t,n){if(!m||!a.size)return(t??p)(e.getState());if(!t)return f||(f=new WeakMap),d||(d=ct()),tt(e,f,d.trackPath);const r=n?{equalityFn:n,isCascadeParticipant:!0}:bt;return l.add(e.subscribe(t,E,r)),t(G(e)?e.getSnapshot():e.getState())}function F(e){for(const t of l)t(e);l.clear()}let k=!0;function I(){if(!b&&vt(y))return y;b=!1,m&&F(!0);const t=y,n=vt(t);g=!0;try{y=function(t){k=!0;const n=y,i=e(t),s=d?rt(i):i;return vt(n)&&o(n,s)?(r&&console.log("[🥷 Derive Complete 🥷]: No change detected"),k=!1,n):s}(j)}finally{g=!1}const i=r&&(!n||"verbose"===r&&m);if(i){n?"verbose"===r&&console.log("[🌀 Rebuilding Subscriptions 🌀]: Created…"):console.log("[🌀 Initial Derive Complete 🌀]: Created…");const e=l.size;console.log(`[🎯 ${e} ${Xe("Selector Subscription",e)} 🎯]`)}return d&&m&&(d.buildProxySubscriptions((e,t)=>{l.add(e.subscribe(t,E,bt))},i),f=void 0,d.reset(),c&&(d=void 0)),k&&n&&function(e,t){const n=function(){const e=a.has(St)?a.size-1:a.size;return S>0&&S<e}(),o=(!S||n)&&(n||null!==Se()||me());n&&ve(),r&&console.log(`[📻 Derive Complete 📻]: Notifying ${a.size} ${Xe("watcher",a.size)}`);for(const t of a){if("function"==typeof t||!t.isCascadeParticipant)continue;const n=t.selector(e);if(!t.equalityFn(t.currentSlice,n)){const e=t.currentSlice;t.currentSlice=n,t.listener(n,e)}}if(o)return vt(O)||(O=t),void(v||(v=!0,Oe(q)));C(e,t)}(y,t),c&&(m=!1),y}function C(e,t){for(const n of a)if("function"==typeof n)n(e,t);else if(!n.isCascadeParticipant){const t=n.selector(e);if(!n.equalityFn(n.currentSlice,t)){const e=n.currentSlice;n.currentSlice=t,n.listener(t,e)}}}function q(){a.size&&b&&!S&&I();const e=O;v=!1,O=gt,a.size&&vt(y)&&vt(e)&&C(y,e)}const T=n?Pe(A,"number"==typeof n?n:n.delay,"number"==typeof n?{leading:!1,maxWait:n,trailing:!0}:n):void 0,z=T??(()=>{h||(h=!0,queueMicrotask(A))});function A(){h=!1,a.size?b&&I():$()}function K(e){e||T&&b?queueMicrotask(()=>{a.size||$()}):$()}function P(){A(),w=null}function E(){if(!g&&!b){if(b=!0,!T){if(S){ve();const e=Se(),t=null===e?0:e+1;if(null!==w&&t<=w)return;return w=t,void function(e,t){if(!le)return;const n=t<0?0:0|t,r=he.get(e);if(void 0===r){he.set(e,n);let t=pe.get(n);return t||(t=new Set,pe.set(n,t)),t.add(e),void(n<be&&(be=n))}if(n>r){const t=pe.get(r);if(t&&(t.delete(e),0===t.size&&(pe.delete(r),r===be))){be=1/0;for(const e of pe.keys())e<be&&(be=e)}he.set(e,n);let o=pe.get(n);o||(o=new Set,pe.set(n,o)),o.add(e),n<be&&(be=n)}}(P,t)}if(me())return void(v||(v=!0,Oe(q)))}w=null,z()}}function D(e){a.add(St);try{return e()}finally{a.delete(St)}}function M(){return me()&&function(){if(le)if(fe)null===ge&&Fe();else{fe=!0;try{Fe()}catch(e){throw Ie(),e}finally{fe=!1,ge=null}}}(),b||!vt(y)?a.size>0?I():e(j):y}function $(e=!0){s&&e||(T?.cancel(),F(),a.clear(),S=0,d=void 0,f=void 0,m=!0,h=!1,g=!1,b=!0,y=gt,v=!1,O=gt,w=null)}return{destroy:()=>$(!1),flushUpdates:function(){a.size&&(T?T.flush():b&&I())},getSnapshot:function(){return vt(y)?(h&&A(),y):a.size?I():D(I)},getState:M,subscribe:function(...e){if(1===e.length){const t=e[0];return a.add(t),vt(y)||M(),()=>{a.delete(t),a.size||K(!1)}}const[t,n,r]=e,o=r?.equalityFn??Object.is,i=r?.isCascadeParticipant??!1,s=function(e){return e(a.size?M():D(M))}(t),c={currentSlice:s,equalityFn:o,isCascadeParticipant:i,listener:n,selector:t};return a.add(c),i&&(S+=1),r?.fireImmediately&&n(s,s),()=>{a.delete(c),i&&(S-=1),a.size||K(i)}},getInitialState:()=>{throw new Error("[createDerivedStore]: getInitialState() is not available on derived stores.")},setState:()=>{throw new Error("[createDerivedStore]: setState() is not available on derived stores.")}}}function St(){}function vt(e){return e!==gt}var wt=class{constructor(e){this.count=0,this.lastSubscriptionTime=null,this.fetchThrottleMs=null,this.onSubscribe=null,this.onLastUnsubscribe=null,e&&(this.fetchThrottleMs=N.seconds(5))}init({onSubscribe:e,onLastUnsubscribe:t}){this.onSubscribe=e,this.onLastUnsubscribe=t}hasSubscribers(){return this.count>0}subscribe(){const e=0===this.count,t=null!==this.fetchThrottleMs,n=t&&null!==this.lastSubscriptionTime&&!e&&Date.now()-this.lastSubscriptionTime<=this.fetchThrottleMs;return this.count+=1,this.onSubscribe?.(e,n),t&&(this.lastSubscriptionTime=Date.now()),e=>{const t=1===this.count;this.count=Math.max(this.count-1,0),t&&(this.onLastUnsubscribe?.(e),this.lastSubscriptionTime=null)}}},Ot=Object.freeze({equalityFn:Object.is,isCascadeParticipant:!0});function jt(t,n,r){const o=u();let i=null,s=!1;if(t)for(const e in t){if(!d(t,e))continue;const r=Ft(o,t[e],e,n);r&&((i??(i=u()))[e]=r,void 0!==r.key&&(s=!0))}return{buildKey:(t=o)=>e(s?function(e,t){const n=u();for(const r in t){if(!d(t,r))continue;const o=e?.[r];if(!1===o?.key)continue;const i=t[r];n[r]=o?.key?o.key(i):i}return n}(i,t):t),complete:e=>e?function(e,t){for(const n of t)if(!(n in e))return!1;return!0}(e,r)?e:{...o,...e}:Ct(o),get:()=>Ct(o),subscribe:e=>function(e,t,n){if(!e)return y;let r;for(const o in e){const i=e[o]?.tracked;i&&(r??(r=[])).push(i.subscribe(e=>{const r=t[o];ae(r,e)||(t[o]=e,n(o,r,e))}))}return r?e=>{for(const t of r)t(e)}:y}(i,o,e)}}function Ft(e,n,r,o){return t(n)?It(e,n.value,r,o,n.key):It(e,n,r,o)}function kt(e,t){const n=[];let r,o;function i(e,t=p){return t(qt(e))}const s=e(function(e,t,i){return t?(n.push(n=>e.subscribe(t,n,function(e){return e?{equalityFn:e,isCascadeParticipant:!0}:Ot}(i))),t(qt(e))):(r??(r=ct()),o??(o=new WeakMap),tt(e,o,r.trackPath))},t),c=r?rt(s):s;return r&&(r.buildProxySubscriptions((e,t)=>{n.push(n=>e.subscribe(t,n,Ot))},!1),r.reset()),o=void 0,{initialValue:c,subscribe(r){const o=()=>r(e(i,t)),s=n.map(e=>e(o));return e=>{for(const t of s)t(e)}}}}function It(e,t,n,r,o){if(function(e){return"function"==typeof e}(t)){const i=kt(t,r);return e[n]=i.initialValue,void 0===o?{tracked:i}:{key:o,tracked:i}}return e[n]=t,void 0===o?null:{key:o}}function Ct(e){const t=u();for(const n in e)d(e,n)&&(t[n]=e[n]);return t}function qt(e){return G(e)?e.getSnapshot():e.getState()}var Tt={error:!0,lastFetchedAt:!0,queryCache:!0,queryKey:!0,status:!0,enabled:!1,fetch:!1,getCacheEntry:!1,getData:!1,getStatus:!1,isDataExpired:!1,isStale:!1,reset:!1},zt=Object.freeze({force:!0}),At=Object.freeze({once:!0}),Kt=new Set,Pt=!1;function Et(e){Kt.add(e),Pt||(Pt=!0,queueMicrotask(()=>{Pt=!1,ue(Dt)}))}function Dt(){for(const e of Kt)Kt.delete(e),e()}function Mt(e,t,n){$();const r="function"==typeof t?t:Rt,o="object"==typeof t?t:n,c=function(e){return"string"==typeof e?.storageKey}(o)?o:void 0,a=R??(R=function(){const e={abortInterruptedFetches:!0,cacheTime:N.days(7),debugMode:!1,disableAutoRefetching:!1,keepPreviousData:!1,maxRetries:5,minStaleTime:!1,paramChangeThrottle:!1,retryDelay:H,staleTime:N.minutes(2),suppressStaleTimeWarning:!1},t=D()?.queryStoreDefaults;return t?{...e,...t}:e}()),u=a.minStaleTime,{fetcher:l,onError:d,onFetched:y,setData:h,transform:p,abortInterruptedFetches:g=a.abortInterruptedFetches,cacheTime:m=a.cacheTime,debugMode:w=a.debugMode,disableAutoRefetching:O=a.disableAutoRefetching,disableCache:j=!1,enabled:F=!0,keepPreviousData:k=a.keepPreviousData,maxRetries:I=a.maxRetries,paramChangeThrottle:C=a.paramChangeThrottle,params:q,retryDelay:T=a.retryDelay,staleTime:z=a.staleTime,suppressStaleTimeWarning:A=a.suppressStaleTimeWarning}=e;let K="function"==typeof z?a.staleTime:z;i&&!1!==u&&!O&&!A&&K<u&&console.warn(`[createQueryStore${c?.storageKey?`: ${c.storageKey}`:""}] ❌ Stale times under ${u/1e3} seconds are not recommended. Provided staleTime: ${K/1e3} seconds`);const P=new Error("[createQueryStore: AbortError] Fetch interrupted"),E="function"==typeof m,M=i&&w,x=e.params?Object.keys(e.params):[];let W,U=!1,V=[],Q=null,_=null,Y=null,Z=null,G=null,X=null,ee=null;const te={enabled:"function"!=typeof F&&F,error:null,lastFetchedAt:null,queryCache:{},queryKey:"",status:L.Idle},ne=new wt(O);function re(){Y&&(Z=null,Y.abort(),Y=null)}function oe(){G&&(clearTimeout(G),G=null)}function ie(e,t,n){const o=n.setState;function i(e){const t="function"==typeof e;if(t||void 0!==e.enabled){let n;const r=o(r=>{const o=t?e(r):e,i=void 0!==o.enabled?o.enabled:r.enabled;return i!==r.enabled&&(n=()=>function(e,t){e!==t&&ee!==t&&(ee=t,t&&ne.hasSubscribers()?queueMicrotask(()=>a.fetch(void 0,void 0,!0)):(G||g)&&(g&&re(),oe()))}(r.enabled,i)),o});return n?.(),r}return o(e)}function s(e){if(O||K<=0||K===1/0)return;if(!ne.hasSubscribers())return;oe();const n=t();if(!n.enabled)return;const r=W.buildKey(e),o=(j?X===r&&n.lastFetchedAt:n.queryCache[r]?.lastFetchedAt)||null,i=o?K-(Date.now()-o):K;G=setTimeout(()=>{t().enabled&&a.fetch(e,zt,!0)},i)}n.setState=i,ne.init({onSubscribe:(n,r)=>{const o=t();if(o.enabled)if(n){const t=W.get(),n=W.buildKey(t);o.queryKey!==n&&e({queryKey:n}),o.isStale()?a.fetch(t,void 0,!0):s(t)}else O&&!r&&a.fetch(void 0,void 0,!0)},onLastUnsubscribe:e=>{oe(),g&&!e&&re()}});const a={...r(i,t,n),...te,async fetch(n,r,o=!1){const u=!!r?.skipStoreUpdates,f=t();if(!u){if(!f.enabled&&!r?.force)return null;if(o&&!ne.hasSubscribers())return null}const w=f.error,O=f.queryKey,F=f.status===L.Loading,C=W.complete(n),q=W.buildKey(C);if(F&&Z?.promise&&Z.key===q)return M&&console.log("[🔄 Using Active Fetch 🔄] for params:",JSON.stringify(C)),Z.promise;const z=r?.staleTime??K,A="boolean"==typeof r?.updateQueryKey?r.updateQueryKey:!!o&&k,D=(o||O===q||A)&&!u,$=null!==Z;if(g&&D&&re(),!r?.force){const t=f.lastFetchedAt,n=f.queryCache[q],r=n?.lastFetchedAt,o=n?.errorInfo,i=o&&o.retryCount>=I,c=(j?X===q&&t:r)||null;if(c&&!(Date.now()-c>=z)&&(!o||i||u))return D&&!G&&0!==K&&K!==1/0&&s(C),A&&e(e=>e.queryKey!==q?{queryKey:q}:e),M&&console.log("[💾 Returning Cached Data 💾] for params:",JSON.stringify(C)),n?.data??null}const R=D?{key:q}:null,N=r?.cacheTime??(E?m(C):m);async function H(){const f=c?.storageKey||q;try{M&&(!o&&n&&x.some(e=>!(e in n))?console.log("[🔄 Fetching with Partial Params 🔄]\n","- Provided params:",`${JSON.stringify(n)}\n`,"- Filled in params:",`${JSON.stringify(Object.fromEntries(Object.keys(C).filter(e=>!(e in n)).map(e=>[e,C[e]])))}`):console.log("[🔄 Fetching 🔄] for params:",JSON.stringify(C)));const t=await(g&&D?async function(e){const t=new AbortController;Y=t;try{return await new Promise((n,r)=>{t.signal.addEventListener("abort",()=>r(P),At),Promise.resolve(l(e,t)).then(n,r)})}finally{Y===t&&(Y=null)}}(C):l(C,null)),c=Date.now();let d;M&&console.log("[✅ Fetch Successful ✅] for params:",JSON.stringify(C));try{d=function(e,t,n){return n?n(e,t):e}(t,C,p)}catch(e){throw Lt(f,"transform",e)}if(u)return M&&console.log("[🥷 Successful Parallel Fetch 🥷] for params:",JSON.stringify(C)),"withCache"===r.skipStoreUpdates&&e(e=>{if(!h)return j?e:{queryCache:{...e.queryCache,[q]:{cacheTime:N,data:d,errorInfo:null,lastFetchedAt:c}}};let t=e;const n=t.queryCache[q];try{h({data:d,params:C,queryKey:q,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}})}catch(e){throw Lt(f,"setData",e)}return!j&&Object.is(n,t.queryCache[q])&&(t={...t,queryCache:{...t.queryCache,[q]:{cacheTime:N,data:null,errorInfo:null,lastFetchedAt:c}}}),t}),d;if((h?i:e)(e=>{let t={...e,error:null,lastFetchedAt:c,queryKey:A?q:e.queryKey,status:L.Success};if(h||j){if(h){M&&console.log("[💾 Setting Data 💾] for params:",JSON.stringify(C));const e=t.queryCache[q];try{h({data:d,params:C,queryKey:q,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}})}catch(e){throw Lt(f,"setData",e)}!j&&Object.is(e,t.queryCache[q])&&(t.queryCache={...t.queryCache,[q]:{cacheTime:N,data:null,errorInfo:null,lastFetchedAt:c}})}}else M&&console.log("[💾 Setting Cache 💾] for params:",JSON.stringify(C),"| Has previous data?:",!!t.queryCache[q]?.data),t.queryCache={...t.queryCache,[q]:{cacheTime:N,data:d,errorInfo:null,lastFetchedAt:c}};return j||m===1/0?t:xt(k,q,t)}),D&&(X=q,s(C)),y)try{y({data:d,fetch:a.fetch,params:C,set:i})}catch(e){b.error(Lt(f,"onFetched callback",e))}return d??null}catch(n){if(n===P)return M&&console.log("[❌ Fetch Aborted ❌] for params:",JSON.stringify(C)),null;const i=!o&&!0===r?.throwOnError,s=v(n);if(s instanceof S&&b.error(s),!D){if(i)throw s;return null}const c=j?void 0:t().queryCache[q],u=c?.errorInfo?.retryCount??0,l=u+1;try{d?.(s,u)}catch(e){b.error(Lt(f,"onError callback",e))}if(u<I){if(t().enabled&&ne.hasSubscribers()){const e="function"==typeof T?T(l,s):T;e!==1/0&&(oe(),G=setTimeout(()=>{t().enabled&&a.fetch(C,zt,!0)},e))}e(e=>({error:s,queryCache:{...e.queryCache,[q]:{cacheTime:c?.cacheTime??N,data:c?.data??null,lastFetchedAt:c?.lastFetchedAt??null,errorInfo:{error:s,lastFailedAt:Date.now(),retryCount:l}}},queryKey:A?q:e.queryKey,status:L.Error}))}else e(e=>({error:s,queryCache:{...e.queryCache,[q]:{cacheTime:c?.cacheTime??N,data:c?.data??null,lastFetchedAt:c?.lastFetchedAt??null,errorInfo:{error:s,lastFailedAt:Date.now(),retryCount:I}}},queryKey:A?q:e.queryKey,status:L.Error}));if(i)throw s;return null}finally{Z===R&&(Z=null)}}return R&&(oe(),A&&!$&&null===f.lastFetchedAt&&O!==q?e({error:null,queryKey:q,status:L.Loading}):!w&&F||e({error:null,status:L.Loading}),Z=R),R?(R.promise=H(),R.promise):H()},getCacheEntry(e){if(j)return null;const n=t(),r=e?"string"==typeof e?e:W.buildKey(W.complete(e)):n.queryKey;return n.queryCache[r]??null},getData(e){if(j)return null;const n=t().getCacheEntry(e);return n&&null!==n.data?k?n.data:n.lastFetchedAt&&Date.now()-n.lastFetchedAt>=n.cacheTime?null:n.data:null},getStatus:function(e){const n=t(),r=n.status;switch(e){case"isIdle":return r===L.Idle;case"isLoading":return r===L.Loading;case"isError":case"isInitialLoad":case"isSuccess":case void 0:{const t=n.queryKey,o=n.queryCache[t],i=j?r===L.Error:"number"==typeof o?.errorInfo?.lastFailedAt;if("isError"===e)return i;const s=null!==((j?X===t&&n.lastFetchedAt:o?.lastFetchedAt)||null),c=!s&&!i&&n.enabled;if("isInitialLoad"===e)return c;const a=s&&!i;return"isSuccess"===e?a:{isError:i,isIdle:r===L.Idle,isLoading:r===L.Loading,isInitialLoad:c,isSuccess:a}}}},isDataExpired(e){const n=t(),r=n.queryCache[n.queryKey],o=n.queryKey,i=n.lastFetchedAt,s=(j?X===o&&i:r?.lastFetchedAt)||null;if(!s)return!0;const c=e??r?.cacheTime;return void 0===c||Date.now()-s>=c},isStale(e){const n=t(),r=n.queryKey,o=(j?X===r&&n.lastFetchedAt:n.queryCache[r]?.lastFetchedAt)||null;if(!o)return!0;const i=e??K;return Date.now()-o>=i},reset(t=!1){for(const e of V)e();V=[],W=jt(void 0,se,x),Q=null,_=null,re(),oe(),Z=null,X=null,t&&e(te)}},u=n.subscribe;return n.subscribe=(...e)=>{const t=U?void 0:ne.subscribe(),n=1===e.length?u(e[0]):u(e[0],e[1],e[2]);return e=>{t?.(e),n()}},a}const se=c?.storageKey?Ge(ie,f(c,{partialize:$t(k,c.partialize)})):o&&!("storageKey"in o)?Ge(ie,o):Ge(ie),ce=se.getState(),ae=ce.error,ue=ce.enabled,le=ce.queryKey,fe=ce.fetch;le&&!ae&&(X=le),U=!0,W=jt(q,se,x),"function"==typeof F&&(Q=kt(F,se)),"function"==typeof e.staleTime&&(_=kt(e.staleTime,se),K=_.initialValue);const de=function(e,t=queueMicrotask){let n,r=!1;function o(){r=!1,e(...n)}return function(...e){n=e,r||(r=!0,t(o))}}(e=>{fe(e,void 0,!0)},Et);function ye(){if(k)de(void 0);else{const e=W.get();se.setState({queryKey:W.buildKey(e)}),de(e)}}const he=s||!C?void 0:Pe(ye,"number"==typeof C?C:C.delay,"number"==typeof C?{leading:!1,maxWait:C,trailing:!0}:C);if(V.push(W.subscribe((e,t,n)=>{M&&console.log("[🌀 Param Change 🌀] -",e,"- [Old]:",`${t?.toString()},`,"[New]:",n?.toString()),function(){if(oe(),he){const e=se.getState();return void(k&&Z?.key===e.queryKey&&null===e.lastFetchedAt?ye():he())}ye()}()})),_){let e=_.initialValue;M&&console.log("[🌀 StaleTime Subscription 🌀] Initial value:",e),V.push(_.subscribe(t=>{t!==e&&(M&&console.log("[🌀 StaleTime Change 🌀] - [Old]:",`${e},`,"[New]:",t),e=t,K=t,oe(),fe(void 0,void 0,!0))}))}let pe;if(Q){let e=Q.initialValue;ue!==e&&((pe??(pe={})).enabled=e),M&&console.log("[🌀 Enabled Subscription 🌀] Initial value:",e),V.push(Q.subscribe(t=>{t!==e&&(M&&console.log("[🌀 Enabled Change 🌀] - [Old]:",`${e},`,"[New]:",t),e=t,se.setState({enabled:t}))}))}else ue!==te.enabled&&((pe??(pe={})).enabled=te.enabled);const ge=W.buildKey();return ge!==le&&((pe??(pe={})).queryKey=ge),pe&&se.setState(pe),U=!1,J(se,B.QueryStore)}function $t(e,t){return n=>{const r={...n},o=u();for(const e in r)d(r,e)&&e in Tt&&(Tt[e]&&(o[e]=r[e]),delete r[e]);return{...t?t(r):Me(r),...xt(e,null,o)}}}function xt(e,t,n){if(!n.queryCache)return n;const r=Date.now(),o=t??(e&&n.queryKey||null),i=u();let s=!1;for(const e in n.queryCache){if(!d(n.queryCache,e))continue;const c=n.queryCache[e];c&&(r-(c.lastFetchedAt??c.errorInfo.lastFailedAt)<c.cacheTime||e===o)?!t&&c.errorInfo&&c.errorInfo.retryCount>0?(i[e]={...c,errorInfo:{...c.errorInfo,retryCount:0}},s=!0):i[e]=c:s=!0}return s?{...n,queryCache:i}:n}function Rt(){return Object.create(null)}function Lt(e,t,n){return new S(`[createQueryStore: ${e}]: ${t} failed`,n)}function Nt(e,t,n){const r="function"==typeof t,o=r?t:void 0,i=r?n:t,s=new Set;let c;function a(e,t,n,r){u(e,t,n,r)&&ve()}function u(e,t,n,r){e.unsubscribe();const o=e.args;if(1===o.length){const i=o[0],s=t.subscribe(i);e.unsubscribe=s;const c=!Object.is(r,n);return c&&i(r,n),c}const i=o[0],s=o[1];let c=o[2];c?.fireImmediately&&(c={...c,fireImmediately:!1});const a=i(n),u=i(r),l=t.subscribe(i,s,c);return e.unsubscribe=l,!(c?.equalityFn??Object.is)(a,u)&&(s(u,a),!0)}function l(e,t){!function(e,t){const n=e.getState(),r=t.getState();if(c)for(const e of c)a(e,t,n,r);s.size&&we();for(const e of s)u(e,t,n,r)}(t,e),Q(t)}const f=mt(e,{debugMode:i?.debugMode??!1,lockDependencies:i?.lockDependencies??!0});let d;function h(){return d??(d=f.subscribe(l)),f.getState()}const p=Object.assign({[B.VirtualStore]:!0,destroy:()=>{d?.(),d=void 0,f.destroy()},getInitialState:()=>h().getInitialState(),getState:()=>h().getState(),persist:(g=h,{clearStorage:()=>g().persist?.clearStorage(),getOptions:()=>g().persist?.getOptions()??{},hasHydrated:()=>g().persist?.hasHydrated()??!0,hydrationPromise:()=>g().persist?.hydrationPromise?.()??Promise.resolve(),onFinishHydration:e=>g().persist?.onFinishHydration(e)??y,onHydrate:e=>g().persist?.onHydrate(e)??y,rehydrate:()=>g().persist?.rehydrate(),setOptions:e=>g().persist?.setOptions(e)}),setState:Ht(h),subscribe:function(...e){const t=h(),n={args:e,unsubscribe:1===e.length?t.subscribe(e[0]):t.subscribe(e[0],e[1],e[2])},r=e[2]?.isCascadeParticipant??!1;return r?(c??(c=new Set)).add(n):s.add(n),()=>{n.unsubscribe(),r?c?.delete(n)&&0===c.size&&(c=void 0):s.delete(n)}}},o?.(h));var g;return p}function Ht(e){return function(...t){return!0===t[1]?e().setState(t[0],!0):e().setState(t[0])}}export{K as DEFAULT_STORAGE_KEY_PREFIX,L as QueryStatuses,B as StoreTags,S as StoresError,U as applyStateUpdate,J as assignStoreTag,Ge as baseStore,E as configureStores,re as createStoreActions,se as deepEqual,H as defaultRetryDelay,mt as derivedStore,Q as destroyStore,_ as destroyStores,v as ensureError,D as getOptions,M as getStorageConfig,Y as getStoreName,Z as hasDestroy,G as hasGetSnapshot,ee as isDerivedStore,te as isPersistedStore,X as isQueryStore,ne as isVirtualStore,b as logger,$ as markStoreCreated,Mt as queryStore,m as setLogger,ce as shallowEqual,N as time,Nt as virtualStore};
1
+ import{a as e,c as t,d as n,f as r,i,l as a,n as o,o as s,r as c,s as l,t as u,u as d}from"../utils-Ba1RIeAA.mjs";import{r as f,t as p}from"../queryParam-Ckp7Zi5t.mjs";import{n as m,r as h,t as g}from"../serialization-BgaGfw_1.mjs";function _(e){return{clearAll(){try{let t=v();if(!t)return;let n=[];for(let r=0;r<t.length;r++){let i=t.key(r);i?.startsWith(e)&&n.push(i)}for(let e of n)t.removeItem(e)}catch(e){console.error(`Error clearing localStorage:`,e)}},contains(t){return v()?.getItem(`${e}${t}`)!==null},delete(t){try{v()?.removeItem(`${e}${t}`)}catch(e){console.error(`Error deleting from localStorage:`,e)}},getAllKeys(){try{let e=v();return e?Array.from(e.keys()):[]}catch(e){return console.error(`Error getting keys from localStorage:`,e),[]}},get(t){try{let n=v();return n?n.getItem(`${e}${t}`)??void 0:void 0}catch(e){console.error(`Error reading from localStorage:`,e);return}},set(t,n){try{v()?.setItem(`${e}${t}`,n)}catch(e){console.error(`Error writing to localStorage:`,e)}}}}function v(){return typeof window<`u`?window.localStorage:null}let y={debug:(e,t)=>{n&&console.debug(e,t)},error:(e,t)=>{n&&!r&&console.error(e,t)},info:(e,t)=>{n&&console.info(e,t)},warn:(e,t)=>{n&&console.warn(e,t)}};function b(e){y=e}var x=class extends Error{constructor(e,t){super(e),this.name=`StoresError`,t!==void 0&&Object.defineProperty(this,"cause",{configurable:!0,value:t,writable:!0})}};function S(e){return e instanceof Error?e:Error(String(e))}const C=`stores/core/sync-channel`,w=`${`${C}:storage`}:`;var T=class{constructor(e){this.broadcast=e.broadcast,this.origin=e.origin,this.storeKey=e.storeKey,this.teardown=e.teardown}destroy(){this.teardown()}publish(e){let t=a();for(let n of Object.entries(e.values))t[n[0]]=n[1];let n={origin:this.origin,replace:e.replace,sessionId:e.sessionId,storeKey:this.storeKey,timestamp:e.timestamp,values:t};this.broadcast(n)}},E=class{constructor(){this.listeners=new Map,this.origin=k(),this.onChannelMessage=e=>{e.data&&this.dispatch(e.data)},this.onStorageEvent=e=>{if(!(!e.key||!e.newValue)&&e.key.startsWith(w))try{let t=JSON.parse(e.newValue);this.dispatch(t)}catch(e){y.error(new x(`[sync] Failed to parse storage event payload`,e))}},this.channel=typeof BroadcastChannel>`u`?null:new BroadcastChannel(C),this.storage=A(),this.channel&&this.channel.addEventListener(`message`,this.onChannelMessage),d&&window.addEventListener(`storage`,this.onStorageEvent)}get sessionId(){return this.origin}register(e){let t=t=>{if(t.origin===this.origin||t.storeKey!==e.key)return;let n=a();for(let r of e.fields)u(t.values,r)&&(n[r]=t.values[r]);Object.keys(n).length&&e.apply({replace:t.replace,sessionId:t.sessionId,timestamp:t.timestamp,values:n})},n=this.listeners.get(e.key);return n||(n=new Set,this.listeners.set(e.key,n)),n.add(t),new T({broadcast:e=>this.broadcast(e),origin:this.origin,storeKey:e.key,teardown:()=>this.removeListener(e.key,t)})}broadcast(e){try{this.channel&&this.channel.postMessage(e),this.writeToStorage(e)}catch(e){y.error(new x(`[sync] Failed to broadcast update`,e))}}dispatch(e){if(!e.storeKey)return;let t=this.listeners.get(e.storeKey);if(!(!t||!t.size))for(let n of t)n(e)}removeListener(e,t){let n=this.listeners.get(e);n&&(n.delete(t),n.size||this.listeners.delete(e))}writeToStorage(e){if(this.storage||(this.storage=A()),!this.storage)return;let t=`${w}${e.storeKey}`;try{this.storage.setItem(t,JSON.stringify(e))}catch(e){y.error(new x(`[sync] Failed to write broadcast payload to storage`,e))}}};let D;function O(){return D||(D=new E),D}function k(){return typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`${Math.random().toString(36).slice(2)}:${Date.now().toString(36)}`}function A(){try{return typeof window<`u`?window.localStorage:null}catch{return null}}var j=class{destroy(){}publish(){}},M=class{constructor(){this.sessionId=`noop`}register(e){return new j}};let N;function ee(){return N||(N=new M),N}const P=`stores:`;let F,I,L=!1;function R(e){n&&te(),e.logger&&b(e.logger),F??(F=H(e)),I??(I=U(e))}function z(){if(F)return F}function B(){return I??(I=U(void 0))}function V(){L=!0}function H(e){if(e?.queryStoreDefaults)return{queryStoreDefaults:e.queryStoreDefaults}}function U(e){return{storage:e?.storage??_(e?.storageKeyPrefix??`stores:`),syncEngine:e?.syncEngine??(d?O():ee())}}function te(){if(L)throw Error(`[stores]: configureStores() called after first store creation. Call it earlier before creating any stores.`)}const W={Error:`error`,Idle:`idle`,Loading:`loading`,Success:`success`},G={ms:e=>{"worklet";return e},seconds:e=>{"worklet";return e*1e3},minutes:e=>{"worklet";return e*6e4},hours:e=>{"worklet";return e*36e5},days:e=>{"worklet";return e*864e5},weeks:e=>{"worklet";return e*6048e5},infinity:1/0,zero:0};let ne;function re(){return ne??(ne=ie())}function ie(){let e=z()?.queryStoreDefaults;return{abortInterruptedFetches:e?.abortInterruptedFetches??!0,cacheTime:e?.cacheTime??G.days(7),debugMode:e?.debugMode??!1,disableAutoRefetching:e?.disableAutoRefetching??!1,keepPreviousData:e?.keepPreviousData??!1,minStaleTime:e?.minStaleTime??!1,onError:e?.onError,paramChangeThrottle:e?.paramChangeThrottle??!1,retry:e?.retry??5,retryDelay:e?.retryDelay,staleTime:e?.staleTime??G.minutes(2),suppressStaleTimeWarning:e?.suppressStaleTimeWarning??!1}}function ae(e,t){let n=t?.baseDelay??G.seconds(5),r=t?.maxDelay??G.minutes(5);return Math.min(n*2**e,r)}function K(e,t){return t[1]===!0?e(t[0],!0):e(t[0])}function oe(e,t,n){if(n===!0)return q(t)?t(e):t;let r=q(t)?t(e):t;return Object.is(r,e)?e:!i(e)||!i(r)?r:{...e,...r}}function q(e){return typeof e==`function`}const se=Object.freeze({QueryStore:Symbol(`queryStore`),VirtualStore:Symbol(`virtualStore`)});function ce(e,t){return Object.assign(e,{[t]:!0})}function le(e,t){me(e)?e.getState().reset(t?.clearQueryCache):fe(e)&&e.destroy()}function ue(e,t){for(let n of Array.isArray(e)?e:Object.values(e))!n||t?.skipDestroy?.(n)||le(n,t)}function J(e){let t=de(e);return ge(e)?e.persist.getOptions().name??t:t}function de(e){return typeof e==`function`?e.name:``}function fe(e){return`destroy`in e}function pe(e){return`getSnapshot`in e}function me(e){return se.QueryStore in e}function he(e){return`flushUpdates`in e}function ge(e){return!(`persist`in e)||!e.persist?!1:typeof e.persist.getOptions().name==`string`}function _e(e){return se.VirtualStore in e}function ve(e,t){let n=ye(e);return t?Object.assign(n,t):n}function ye(e){let t=e.getState(),r=a(),i=r;if(n&&!(typeof t==`object`&&t))throw Error(`[createStoreActions]: State is not an object`);if(_e(e))for(let n in t)be(t,n)&&(i[n]=Y(e,n));else for(let e in t)be(t,e)&&(i[e]=t[e]);return r}function Y(e,t){return function(...n){let r=e.getState()[t];if(typeof r==`function`)return r(...n);throw Error(`[createVirtualStoreAction]: Method ${String(t)} is not a function`)}}function be(e,t){return typeof e[t]==`function`}function xe(e,t){"worklet";if(typeof e!=`object`||!e||e===void 0||typeof t!=`object`||!t||t===void 0)return e===t;if(Object.is(e,t))return!0;let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!(r in t)||!xe(e[r],t[r]))return!1;return!0}function Se(e,t){"worklet";if(typeof e!=`object`||!e||e===void 0||typeof t!=`object`||!t||t===void 0)return e===t;if(Object.is(e,t))return!0;let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(!Object.is(e[r],t[r]))return!1;return!0}function Ce(e,t){let n=Object.prototype.hasOwnProperty;function r(e,t){for(let n of e.keys())if(Ce(n,t))return n}let i,a,o;if(e===t)return!0;if(e&&t&&(i=e.constructor)===t.constructor){if(i===Date)return e.getTime()===t.getTime();if(i===RegExp)return e.toString()===t.toString();if(i===Array){if((a=e.length)===t.length)for(;a--&&Ce(e[a],t[a]););return a===-1}if(i===Set){if(e.size!==t.size)return!1;for(let n of e)if(o=n,o&&typeof o==`object`&&(o=r(t,o),!o)||!t.has(o))return!1;return!0}if(i===Map){if(e.size!==t.size)return!1;for(let n of e)if(o=n[0],o&&typeof o==`object`&&(o=r(t,o),!o)||!Ce(n[1],t.get(o)))return!1;return!0}if(i===ArrayBuffer)e=new Uint8Array(e),t=new Uint8Array(t);else if(i===DataView){if((a=e.byteLength)===t.byteLength)for(;a--&&e.getInt8(a)===t.getInt8(a););return a===-1}if(ArrayBuffer.isView(e)&&ArrayBuffer.isView(t)){let n=e,r=t;if((a=n.byteLength)===r.byteLength)for(;a--&&n[a]===r[a];);return a===-1}if(!i||typeof e==`object`){a=0;for(let r in e)if(n.call(e,r)&&++a&&!n.call(t,r)||!(r in t)||!Ce(e[r],t[r]))return!1;return Object.keys(t).length===a}}return e!==e&&t!==t}function we(e,t,n){if(t===0)return n;if(t===1){if(e===n)return null;let t=new Set;return t.add(e),t.add(n),t}return e.add(n),e.size===t?null:e}function Te(e,t,n){if(t===0)return null;if(t===1)return e===n?void 0:null;if(!e.delete(n))return null;if(t!==2)return e;for(let t of e)return t}function Ee(e,t,n,r,i){if(t!==0){if(t===1){n(e,r,i);return}for(let t of e)n(t,r,i)}}function De(e,t){t>1&&e.clear()}function Oe(e){return e()}let X=!1,ke=!1,Ae=!1,Z,je,Me=0;const Ne=new Map;let Pe=0,Fe=null,Q=1/0;function Ie(){return X}function Le(){return Fe}function Re(){X||(X=!0,!Ae&&(Ae=!0,queueMicrotask(()=>{Ae=!1,ze()})))}function ze(){if(X){if(ke){Ue();return}ke=!0;try{Oe(Ue)}finally{qe()}}}function Be(){if(X){if(ke){Fe===null&&We();return}ke=!0;try{We()}catch(e){throw qe(),e}finally{ke=!1,Fe=null}}}function Ve(e){if(X){if(je){je.push(e);return}if(!Z){Z=e;return}je=[Z,e],Z=void 0}}function He(e,t){if(!X)return;let n=t<0?0:t|0,r=Ne.get(n);r||(r=[],Ne.set(n,r)),r.push(e),Pe+=1,n<Q&&(Q=n)}function Ue(){for(;Pe>0||Je();)We(),Ke()}function We(){for(;Pe>0;){let e=Q,t=Ne.get(e);if(!t){Q=1/0;for(let e of Ne.keys())e<Q&&(Q=e);continue}Ne.delete(e),Pe-=t.length,Ge(),Fe=e;for(let e=0;e<t.length;e++)t[e]();Fe=null}}function Ge(){Q=1/0;for(let e of Ne.keys())e<Q&&(Q=e)}function Ke(){for(;;){let e=Z;if(e){Z=void 0,e();continue}let t=je;if(!t)return;for(;Me<t.length;)t[Me++]();je=void 0,Me=0;return}}function qe(){X=!1,ke=!1,Fe=null,Z=void 0,je=void 0,Me=0,Ne.clear(),Pe=0,Q=1/0}function Je(){return!!Z||!!je}const Ye=Symbol(`stores.subscribeCascadeState`);function Xe(e){return Ye in e}function Ze(e,t){Xe(e)&&(e[Ye]=t(e[Ye]))}const Qe=Symbol(),$e=Symbol();function et(e){let n,r,i,a=0;function o(e,o,s){let c=oe(n,e,o);if(Object.is(c,n))return s===Qe?$e:void 0;let l=n;if(n=c,Ee(i,a,t,n,l),r){ze();for(let e of r)e(n,l)}}function s(){return n}function c(){return d}function l(e,t,n){return t?g(e,t,n):f(e)}let u={[Ye]:m,getInitialState:c,getState:s,setState:o,subscribe:l},d=n=tt(e)?e(o,s,u):e;return u;function f(e){return(r??(r=new Set)).add(e),()=>{r?.delete(e),r?.size===0&&(r=void 0)}}function p(e){let t=we(i,a,e);return t!==null&&(i=t,a+=1),()=>h(e)}function m(e){function t(t,n){Re(),e(t,n)}return p(t)}function h(e){let t=Te(i,a,e);t!==null&&(i=t,--a)}function g(e,t,r){let i=r?.equalityFn??Object.is,a=r?.isCascadeParticipant??!1,o=e(n);function s(n){let r=e(n);if(i(o,r))return;let s=o;o=r,a&&Re(),t(r,s)}return r?.fireImmediately&&t(o,o),a?p(s):f(s)}}function tt(e){return typeof e==`function`}const nt=Object.freeze({migrated:!1,state:void 0});function rt(e,t,n){return(r,i,a)=>{let o=at(t),s,c=!1,l=0,u,d,f;function p(e){return o.storage.setItem(o.name,e,o.version)}function m(e,t){return(t===!0?r(e,t,Qe):r(e,!1,Qe))===$e?n?s??(s=Promise.resolve()):void 0:p(i())}a.setState=m;let g=e(m,i,a);a.getInitialState=()=>g;function _(){let e=S(),t=o.onRehydrateStorage?.(i()??g);try{let n=o.storage.getItem(o.name);return h(n)?n.then(n=>v(e,n,t)).catch(n=>w(e,t,n)):v(e,n,t)}catch(n){w(e,t,n)}}return Object.assign(a,{persist:x()}),o.skipHydration||_(),u??g;function v(e,t,n){let r=it(o,t);return h(r)?r.then(t=>y(e,t,n)).catch(t=>w(e,n,t)):y(e,r,n)}function y(e,t,n){let r=b(e,t);if(h(r))return r.then(()=>C(e,n));C(e,n)}function b(e,t){if(e!==l)return;let n=o.merge(t.state,i()??g);if(u=n,r(n,!0),t.migrated)return p(i())}function x(){return{clearStorage:()=>{o.storage.removeItem(o.name)},getOptions:()=>o,hasHydrated:()=>c,onFinishHydration:e=>(f??(f=new Set),f.add(e),()=>{f?.delete(e),f?.size===0&&(f=void 0)}),onHydrate:e=>(d??(d=new Set),d.add(e),()=>{d?.delete(e),d?.size===0&&(d=void 0)}),rehydrate:_,setOptions:e=>{o=at({...o,...e,storage:e.storage??o.storage})}}}function S(){let e=++l;return c=!1,d?.forEach(e=>e(i()??g)),e}function C(e,t){if(e!==l)return;t?.(u,void 0);let n=i();u=n,c=!0,f?.forEach(e=>e(n))}function w(e,t,n){e===l&&t?.(void 0,n)}}}function it(e,t){if(!t)return nt;if(typeof t.version!=`number`||t.version===e.version)return{migrated:!1,state:t.state};if(!e.migrate)return console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`),nt;let n=e.migrate(t.state,t.version);return h(n)?n.then(e=>({migrated:!0,state:e})):{migrated:!0,state:n}}function at(e){return{...e,merge:e.merge??ot,skipHydration:e.skipHydration??!1}}function ot(e,t){return e===void 0?t:{...t,...e}}function st(){let e=!1,t,n,r=new Promise((e,r)=>{t=e,n=r});function i(){e||!t||(e=!0,t(),t=void 0,n=void 0)}function a(r){e||!n||(e=!0,n(r),n=void 0,t=void 0)}function o(){return e}return{complete:i,isHydrated:o,fail:a,promise:r}}function ct(e){let t,n=!1,r,i;return{hydrationPromise:()=>n?t?.promise??r??(r=Promise.resolve()):(t||(t=st()),t.promise),stateCreator:(r,a,o)=>{let s;function c(...e){return n?K(r,e):(t||(t=st()),s||(s=[]),s.push(e),t.promise)}return i=()=>{if(s?.length){for(let e of s)K(o.setState,e);s=void 0}},e(c,a,o)},wrapOnRehydrateStorage:(e,r)=>a=>{let o=e?.(a);return(e,a)=>{n=!0,r?.onHydrationComplete?.(),i&&i(),r?.onHydrationFlushEnd?.(),a?t?.fail(S(a)):t?.complete(),o?.(e,a)}}}}function lt(e){let t,n=null;function r(...r){return t=r,n||(n=new Promise(r=>{queueMicrotask(async()=>{try{await e(...t)}finally{n=null,r()}})})),n}return r}const ut=Math.max,dt=Math.min;function ft(e,t=0,n={}){let r,i,a,o,s,c,l=0,u=!1,d=!1,f=!0;if(typeof e!=`function`)throw TypeError(`Expected a function`);t=mt(t)||0,ht(n)&&(u=!!n.leading,d=`maxWait`in n,a=d?ut(mt(n.maxWait)||0,t):void 0,f=`trailing`in n?!!n.trailing:f);function p(t){let n=r,a=i;return r=i=void 0,l=t,o=n?e.apply(a,n):e.apply(a),o}function m(e){return l=e,s=setTimeout(_,t),u?p(e):o}function h(e){let n=e-(c??0),r=e-l,i=t-n;return d&&a!==void 0?dt(i,a-r):i}function g(e){let n=e-(c??0),r=e-l;return c===void 0||n>=t||n<0||d&&a!==void 0&&r>=a}function _(){let e=pt();if(g(e))return v(e);s=setTimeout(_,h(e))}function v(e){return s=void 0,f&&r?p(e):(r=i=void 0,o)}function y(){s!==void 0&&clearTimeout(s),l=0,r=c=i=s=void 0}function b(){return s===void 0?o:v(pt())}function x(...e){let n=pt(),a=g(n);if(r=e,i=this,c=n,a){if(s===void 0)return m(c);if(d)return clearTimeout(s),s=setTimeout(_,t),p(c)}return s===void 0&&(s=setTimeout(_,t)),o}return x.cancel=y,x.flush=b,x}function pt(){return typeof performance<`u`&&typeof performance.now==`function`?performance.now():Date.now()}function mt(e){if(typeof e==`number`)return e;if(typeof e==`symbol`||e===void 0)return NaN;if(typeof e==`object`&&e){let t=typeof e.valueOf==`function`?e.valueOf():e;e=typeof t==`object`?t+``:t}return typeof e==`string`?(e=e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,``),/^0b[01]+$/i.test(e)?parseInt(e.slice(2),2):/^0o[0-7]+$/i.test(e)?parseInt(e.slice(2),8):/^[-+]0x[0-9a-f]+$/i.test(e)?NaN:+e):e===0?e:+e}function ht(e){let t=typeof e;return e!==null&&(t===`object`||t===`function`)}function gt(e){if(!c(e))return e;let t=a(),n=Object.keys(e);for(let r=0;r<n.length;r++){let i=n[r],a=e[i];typeof a!=`function`&&(t[i]=a)}return t}function _t(e,t){try{return JSON.stringify(e,t?g:void 0)}catch(e){throw y.error(new x(`[createBaseStore]: Failed to serialize store data`,e)),e}}function vt(e,t){try{return JSON.parse(e,t?m:void 0)}catch(e){throw y.error(new x(`[createBaseStore]: Failed to deserialize persisted store data`,e)),e}}const yt=r?0:d?G.ms(200):G.seconds(5);function bt(e,t,n){let r=t??e.storage??B().storage,i=(e.sync?void 0:e.persistThrottleMs??yt)||void 0,a=e.version??0;return r.async?{async:!0,persistStorage:St(r,e,i,n),version:a}:{async:!1,persistStorage:xt(r,e,i,n),version:a}}function xt(e,t,n,r){let i=!t.deserializer&&!t.serializer&&!e.deserializer&&!e.serializer,a=typeof t.sync==`object`&&(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata)===!0,o=t.partialize??gt,s=t.deserializer??e.deserializer??Ct(i),c=t.serializer??e.serializer??wt(i);function l(t,n,i){try{if(kt(r))return;let s={state:o(n),version:i},l=Et(r,a,s),u=c(s);try{e.set(t,u),Dt(r,l)}catch(e){y.error(new x(`[createBaseStore]: Failed to persist store data`,e))}}catch(e){y.error(new x(`[createBaseStore]: Failed to persist store data`,e))}}let u=n===void 0?l:ft(l,n,{leading:!1,maxWait:n,trailing:!0});return{getItem:t=>{let n=e.get(t);return n===void 0?null:s(n)},setItem:(e,t,n)=>{r?.getIsApplyingRemote()||u(e,t,n)},removeItem:t=>{try{e.delete(t)}catch(e){y.error(new x(`[createBaseStore]: Failed to delete persisted store data`,e))}}}}function St(e,t,n,r){let i=!t.deserializer&&!t.serializer&&!e.deserializer&&!e.serializer,a=typeof t.sync==`object`&&(t.sync.injectStorageMetadata??t.sync.engine?.injectStorageMetadata)===!0,o=t.partialize??gt,s=t.deserializer??e.deserializer??Ct(i),c=t.serializer??e.serializer??wt(i);async function l(t,n,i){try{if(kt(r))return;let s={state:o(n),version:i},l=Et(r,a,s),u=c(s);try{await e.set(t,u),Dt(r,l)}catch(e){y.error(new x(`[createBaseStore]: Failed to persist store data`,e))}}catch(e){y.error(new x(`[createBaseStore]: Failed to serialize persisted store data`,e))}}let u=n===void 0?lt(l):ft(l,n,{leading:!1,maxWait:n,trailing:!0});return{getItem:async t=>{let n=await e.get(t);return n===void 0?null:s(n)},setItem:async(e,t,n)=>{if(!r?.getIsApplyingRemote())return await u(e,t,n)},removeItem:async t=>{try{await e.delete(t)}catch(e){y.error(new x(`[createBaseStore]: Failed to delete persisted store data`,e))}}}}function Ct(e){return t=>{if(typeof t!=`string`)throw new x(`[createBaseStore]: Received non-string serialized state without a custom deserializer. Provide a deserializer on the store or storage adapter.`);return vt(t,e)}}function wt(e){return t=>_t(t,e)}const Tt=Object.freeze({shouldClear:!1});function Et(e,t,n){if(!t||!e)return Tt;let r=e.getFieldTimestampSnapshot();return Ot(e,n),n.syncMetadata?r&&Object.keys(r).length>0?(n.syncMetadata.fields=r,{fieldSnapshot:r,shouldClear:!0}):(delete n.syncMetadata.fields,{fieldSnapshot:r,shouldClear:!1}):{fieldSnapshot:r,shouldClear:!1}}function Dt(e,t){!e||!t.shouldClear||!t.fieldSnapshot||!Object.keys(t.fieldSnapshot).length||e.clearFieldTimestamps(t.fieldSnapshot)}function Ot(e,t){let n=e.getSessionId(),r=e.getTimestamp();n!==void 0&&r!==void 0&&(t.syncMetadata={origin:n,timestamp:r})}function kt(e){return e?!!e.getIsApplyingRemote():!1}function At(e,t,n){let r=t.engine??B().syncEngine;return(i,o,s)=>{let c=new Map,l=[],d=[],f=null,p=!1,m=!1,g=0,_=null,v=[],b=Promise.resolve(),S=!n?.isAsync;function C(){let e=Date.now(),t=e>g?e:g+1;return g=t,t}function w(e,t){if(!(!n||!r.sessionId)&&(n.setSessionId(r.sessionId),n.setTimestamp(e),t.length>0)){let r=a();for(let n of t)r[String(n)]=e;n.mergeFieldTimestamps(r)}}function T(e,t,n,i=!1){let a=r.sessionId;for(let t of e)c.set(t,[n,a]);!f||!m?d.push({keys:e,replace:i,timestamp:n,values:t}):f.publish?.({replace:i,sessionId:a,timestamp:n,values:t})}function E(){if(!(!f||!d.length)){for(let e of d){let t=r.sessionId;for(let n of e.keys)c.set(n,[e.timestamp,t]);w(e.timestamp,e.keys),f.publish?.({replace:e.replace,sessionId:t,timestamp:e.timestamp,values:e.values})}d.length=0}}function D(e,t){if(p||!_)return t?i(e,t):i(e);let n=C(),r,o,s=t?i(c,!0):i(c);if(!r||!o)return s;function c(i){let s=oe(i,e,t);for(let e of v)Object.is(s[e],i[e])||((r??(r=[])).push(e),(o??(o=a()))[e]=s[e]);return r&&w(n,r),s}return h(s)?s.finally(T.bind(void 0,r,o,n,t)):(T(r,o,n,t),s)}let O=s.setState;s.setState=D;let k=e(D,o,s);if(v=t.fields??Nt(k),!v.length)return k;_=new Set(v);async function A(e){g=Math.max(g,e.timestamp);let r=a(),i=o(),s=e.timestamp,l;if(e.replace)for(let t of v)u(e.values,t)||Mt(c.get(t),s,e.sessionId)&&(l??(l=[])).push(t);for(let n of v){if(!It(e.values,n)||!_?.has(n)||!Mt(c.get(n),s,e.sessionId))continue;let a=t.merge?.[n];if(a){let t=e.values[n],o=i[n];if(t!==void 0){let l=a(t,o,i,e.values),u=o===void 0?t:o;if(!Ft(l,u)){y.error(new x(`[sync] Merge function for field "${String(n)}" returned ${Pt(l)} but expected ${Pt(u)}`));return}r[n]=l,c.set(n,[s,e.sessionId])}}else r[n]=e.values[n],c.set(n,[s,e.sessionId])}if(!(!(Object.keys(r).length>0)&&!l?.length)){p=!0,n?.setIsApplyingRemote(!0);try{if(e.replace){let e={...i},t=!1;if(l?.length){t=!0;for(let t of l)delete e[t],c.delete(t)}for(let n in r){if(!u(r,n))continue;let i=r[n];if(i===void 0)continue;Object.is(e[n],i)||(t=!0);let a=e;a[n]=i}if(!t)return;await(n?.setWithoutPersist??O)(e,!0)}else await(n?.setWithoutPersist??O)(r)}finally{p=!1,n?.setIsApplyingRemote(!1)}}}function j(e){n?.isAsync?b=b.then(()=>A(e)):A(e)}function M(){if(!l.length)return;let e=l.slice();l.length=0;for(let t of e)j(t)}if(f=r.register({apply:e=>{if(!S){l.push(e);return}j(e)},fields:v,getState:o,key:t.key}),f?.onFirstSubscribe||f?.onLastUnsubscribe){let e=f,t=0,n=s.subscribe;function r(n){return t++===0&&e.onFirstSubscribe?.(),r=>{n(r),--t,t||queueMicrotask(()=>{t||e.onLastUnsubscribe?.()})}}s.subscribe=(...e)=>r(e.length===1?n(e[0]):n(e[0],e[1],e[2])),Ze(s,e=>t=>r(e(t)))}function N(){m=!0,E()}function ee(){S=!0,M()}return n?.isAsync?(n.onHydrationComplete=N,n.onHydrationFlushEnd=ee):f.onHydrated?(f.onHydrated(N),ee()):(N(),ee()),k}}function jt(e){let t,n,r,i=!1;function a(e){if(!(!e||!r)){for(let t of Object.entries(e)){let e=t[0],n=t[1];r[e]===n&&delete r[e]}Object.keys(r).length||(r=void 0)}}function o(){if(r)return{...r}}function s(e){if(!r){r={...e};return}for(let t of Object.entries(e)){let e=t[0],n=t[1],i=r[e];(i===void 0||n>i)&&(r[e]=n)}}return{isAsync:e,clearFieldTimestamps:a,getFieldTimestampSnapshot:o,getIsApplyingRemote:()=>i,getSessionId:()=>t,getTimestamp:()=>n,mergeFieldTimestamps:s,onHydrationComplete:void 0,onHydrationFlushEnd:void 0,setIsApplyingRemote:e=>i=e,setSessionId:e=>t=e,setTimestamp:e=>n=e,setWithoutPersist:void 0}}function Mt(e,t,n){if(!e)return!0;let r=e[0],i=e[1];return t<r?!1:t>r?!0:n>i}function Nt(e){let t=[];for(let n of Object.keys(e))Lt(e,n)&&t.push(n);return t}function Pt(e){if(e===null)return`null`;let t=typeof e;return t===`object`?Object.prototype.toString.call(e):t}function Ft(e,t){if(!n)return!0;if(e===null||t===null)return e===t;let r=typeof e;return r===typeof t?r===`object`?Object.prototype.toString.call(e)===Object.prototype.toString.call(t):!0:!1}function It(e,t){return u(e,t)}function Lt(e,t){return typeof e[t]!=`function`}function Rt(e,t){if(V(),!t)return et(e);let n=t.storageKey,r=typeof n==`string`,i=r?t.storage??B().storage:void 0,a=zt(t.sync,n),o=!i||!a?void 0:jt(i.async??!1),s=a?At(e,a,o):e;if(!r)return et(s);let c=bt(t,i,o),l=c.async?ct(s):void 0,u=l?l.wrapOnRehydrateStorage(t.onRehydrateStorage,o):t.onRehydrateStorage,d=et(rt(l?(e,t,n)=>(o&&(o.setWithoutPersist=n.setState),l.stateCreator(e,t,n)):s,{merge:t.merge,migrate:t.migrate,name:n,onRehydrateStorage:u,storage:c.persistStorage,version:c.version},c.async));return l?Object.assign(d,{persist:Object.assign(d.persist,{hydrationPromise:l.hydrationPromise})}):d}function zt(e,t){if(!e)return null;let n=typeof e==`object`,r=n?e.key??t:e===!0?t:e;if(!r)throw new x(`[createBaseStore]: sync requires a key to be specified either directly or via storageKey`);return n?{...e,key:r}:{key:r}}function Bt(e,t,n=`s`){return t===1?e:`${e}${n}`}const Vt=Object.freeze({equalityFn:Object.is,isCascadeParticipant:!0});var Ht=class{constructor(e){this.invalidate=e,this.stateDependencyRevisionStamp=0,this.stateDependencyRevision=0}beginRebuild(e){this.clearSelectors(e),this.stateDependencyRevision+=1}addSelector(e){let t=this.selectorUnsubscribes;if(!t){this.selectorUnsubscribes=e;return}if(typeof t==`function`){this.selectorUnsubscribes=[t,e];return}t.push(e)}retainState(e){let t=this.stateDependencies;if(t){let n=t.get(e);if(n){n.revision=this.stateDependencyRevision;return}t.set(e,this.createStateDependency(e));return}let n=this.stateDependencyStore;if(!n){this.stateDependencyStore=e,this.stateDependencyRevisionStamp=this.stateDependencyRevision,this.stateDependencyUnsubscribe=this.subscribeState(e);return}if(n===e){this.stateDependencyRevisionStamp=this.stateDependencyRevision;return}let r=this.stateDependencyUnsubscribe;this.stateDependencyStore=void 0,this.stateDependencyUnsubscribe=void 0,this.stateDependencies=new Map,r&&this.stateDependencies.set(n,{revision:this.stateDependencyRevisionStamp,unsubscribe:r}),this.stateDependencies.set(e,this.createStateDependency(e))}finishRebuild(e){this.stateDependencyStore&&this.stateDependencyRevisionStamp!==this.stateDependencyRevision&&(this.stateDependencyUnsubscribe?.(e),this.stateDependencyStore=void 0,this.stateDependencyUnsubscribe=void 0);let t=this.stateDependencies;if(t){for(let n of t){let r=n[1];r.revision!==this.stateDependencyRevision&&(r.unsubscribe(e),t.delete(n[0]))}if(!t.size){this.stateDependencies=void 0;return}if(t.size===1){for(let e of t){this.stateDependencyStore=e[0],this.stateDependencyRevisionStamp=e[1].revision,this.stateDependencyUnsubscribe=e[1].unsubscribe;break}this.stateDependencies=void 0}}}clear(e){this.clearSelectors(e),this.stateDependencyUnsubscribe?.(e),this.stateDependencyStore=void 0,this.stateDependencyUnsubscribe=void 0;let t=this.stateDependencies;if(t){for(let n of t)n[1].unsubscribe(e);this.stateDependencies=void 0}}get size(){let e=this.selectorUnsubscribes;return(typeof e==`function`?1:e?.length??0)+ +!!this.stateDependencyStore+(this.stateDependencies?.size??0)}clearSelectors(e){let t=this.selectorUnsubscribes;if(this.selectorUnsubscribes=void 0,t){if(typeof t==`function`){t(e);return}for(let n=0;n<t.length;n++)t[n](e)}}createStateDependency(e){return{revision:this.stateDependencyRevision,unsubscribe:this.subscribeState(e)}}subscribeState(e){return Xe(e)?e[Ye](this.invalidate):e.subscribe(s,this.invalidate,Vt)}},Ut=class{constructor(){this.watcherCount=0,this.ordinaryWatcherCount=0,this.cascadeParticipantCount=0,this.cascadeStateListenerCount=0}addWatcher(e){let t=we(this.watchers,this.watcherCount,e);return t===null?!1:(this.watchers=t,this.watcherCount+=1,qt(e)?this.cascadeParticipantCount+=1:this.ordinaryWatcherCount+=1,!0)}deleteWatcher(e){let t=Te(this.watchers,this.watcherCount,e);return t===null?!1:(this.watchers=t,--this.watcherCount,qt(e)?--this.cascadeParticipantCount:--this.ordinaryWatcherCount,!0)}addCascadeStateListener(e){let t=we(this.cascadeStateListeners,this.cascadeStateListenerCount,e);return t===null?!1:(this.cascadeStateListeners=t,this.cascadeParticipantCount+=1,this.cascadeStateListenerCount+=1,!0)}deleteCascadeStateListener(e){let t=Te(this.cascadeStateListeners,this.cascadeStateListenerCount,e);return t===null?!1:(this.cascadeStateListeners=t,--this.cascadeParticipantCount,--this.cascadeStateListenerCount,!0)}notifyCascade(e,n){Ee(this.cascadeStateListeners,this.cascadeStateListenerCount,t,e,n),this.cascadeParticipantCount!==this.cascadeStateListenerCount&&Ee(this.watchers,this.watcherCount,Wt,e,n)}notifyOrdinary(e,t){Ee(this.watchers,this.watcherCount,Gt,e,t)}clear(){this.watchers=De(this.watchers,this.watcherCount),this.cascadeStateListeners=De(this.cascadeStateListeners,this.cascadeStateListenerCount),this.watcherCount=0,this.ordinaryWatcherCount=0,this.cascadeParticipantCount=0,this.cascadeStateListenerCount=0}};function Wt(e,t,n){typeof e==`function`||!e.isCascadeParticipant||Kt(e,t)}function Gt(e,t,n){if(typeof e==`function`){e(t,n);return}e.isCascadeParticipant||Kt(e,t)}function Kt(e,t){let n=e.selector(t);if(e.equalityFn(e.currentSlice,n))return;let r=e.currentSlice;e.currentSlice=n,e.listener(n,r)}function qt(e){return typeof e!=`function`&&e.isCascadeParticipant}const Jt=Symbol(`stores.deriveProxy.unwrap`);function Yt(e,t,n,r){let i=n.get(e);if(an(i))return i;let a=Xt(t,e,r);return n.set(e,a),a}function Xt(e,t,n,r=[]){return!e||typeof e!=`object`?(n(t,r,!0),e):Zt(e,r,t,n,new WeakSet,new WeakMap)}function Zt(e,t,n,r,i,a){let s=Array.isArray(e);return new Proxy(e,{get(c,l,d){if(l===Jt)return r(n,t,!0),c;if(i.has(c))return Reflect.get(c,l,d);if(l===`__proto__`||typeof l==`symbol`)return l===Symbol.iterator&&(r(n,t,!0),i.add(c)),Reflect.get(c,l,d);if(s&&o(l))return r(n,t,!0),i.add(c),Reflect.get(c,l,d);let f=Reflect.get(c,l,c),p=String(l),m=t.concat(p);if(typeof f==`function`)return u(c,l)?function(...e){return r(n,m,!0,{args:e.length?e:void 0}),Reflect.apply(f,c,e)}:(r(n,t,!0),f.bind(e));let h=!!f&&typeof f==`object`;return r(n,m,!h),h?(a.has(f)||a.set(f,Zt(f,m,n,r,i,a)),a.get(f)):f},getOwnPropertyDescriptor(e,a){return r(n,t,!0),i.add(e),Reflect.getOwnPropertyDescriptor(e,a)},has(e,i){return r(n,t,!0),Reflect.has(e,i)},ownKeys(e){return r(n,t,!0),i.add(e),Reflect.ownKeys(e)}})}function Qt(e,t){return!e||typeof e!=`object`?e:nn(e)||(Array.isArray(e)?$t(e,t):c(e)&&en(e,t),e)}function $t(e,t){let n=rn(e,t);if(n)for(let t=0;t<e.length;t++)tn(e,String(t),n)}function en(e,t){let n=rn(e,t);if(n)for(let t of Reflect.ownKeys(e))tn(e,t,n)}function tn(e,t,n){let r=Reflect.getOwnPropertyDescriptor(e,t);if(!r||!(`value`in r))return;let i=Qt(r.value,n);i!==r.value&&(r.value=i,Reflect.defineProperty(e,t,r))}function nn(e){let t=Reflect.get(e,Jt);return t&&typeof t==`object`?t:void 0}function rn(e,t){let n=t??new WeakSet;return n.has(e)?null:(n.add(e),n)}function an(e){return e!==void 0}const on=Object.freeze([]);function sn(){let e,t,n;return{buildProxySubscriptions(r,i,a){let o=[],s=t,c=e;if(s&&c)un(s,c,[],0,o,a);else if(n)for(let e of n)un(e[1],e[0],[],0,o,a);mn(o,r,i)},reset(){e=void 0,t=void 0,n=void 0},trackPath(r,i,a,o){let s=t;if(s){let i=e;if(i!==r)if(!i)e=r;else{let a=n??(n=new Map);a.set(i,s),s=cn(),a.set(r,s),e=void 0,t=void 0}}else{let i=n;i?(s=i.get(r),s||(s=cn(),i.set(r,s))):(s=cn(),e=r,t=s)}ln(s,i,a,o)}}}function cn(){return a()}function ln(e,t,n,r){let i=e;for(let e=0;e<t.length;e++){let n=t[e],r=i.children,a;if(r)a=r[n],a||(a=r[n]=cn());else if(a=i.child,!a)a=cn(),i.child=a,i.childKey=n;else if(i.childKey!==n){let e=i.childKey;if(e===void 0)i.childKey=n;else{let t=cn();t[e]=a,a=t[n]=cn(),i.child=void 0,i.childKey=void 0,i.children=t}}i=a}n&&(i.isLeaf=!0),r&&dn(i,r)}function un(e,t,n,r,i,a=2){let o=e.child;if(o){let s=e.childKey;if(e.isLeaf){if(pn(e,t,n,i),!o.invocation||s===void 0)return}else if(s===void 0){pn(e,t,n,i);return}n.push(s),un(o,t,n,r+1,i,a),n.pop();return}let s=e.children;if(!s){pn(e,t,n,i);return}if(e.isLeaf||r>=a){pn(e,t,n,i);for(let e in s){let o=s[e];o.invocation&&(n.push(e),un(o,t,n,r+1,i,a),n.pop())}return}for(let e in s)n.push(e),un(s[e],t,n,r+1,i,a),n.pop()}function dn(e,t){let n=e.invocation;if(!n){e.invocation=t;return}if(fn(n,t))return;let r=e.extraInvocations;if(!r){e.extraInvocations=[t];return}for(let e=0;e<r.length;e++)if(fn(r[e],t))return;r.push(t)}function fn(e,t){let n=e.args,r=t.args,i=n?.length??0;if(i!==(r?.length??0))return!1;if(!n||!r)return!0;for(let e=0;e<i;e++)if(!Object.is(n[e],r[e]))return!1;return!0}function pn(e,t,n,r){let i=n.slice(),a=e.invocation;if(!a){r.push({store:t,path:i});return}r.push({store:t,path:i,invocation:a});let o=e.extraInvocations;if(o)for(let e=0;e<o.length;e++)r.push({store:t,path:i,invocation:o[e]})}function mn(e,t,n){for(let n of e){let e=n.invocation?gn(n.path,n.invocation):hn(n.path);t(n.store,e,n.path)}n&&vn(e)}function hn(e){return e.length?t=>_n(t,e):s}function gn(e,t){let n=e.slice(0,-1),r=e[e.length-1];return e=>{let i=_n(e,n),a=i&&typeof i==`object`?Reflect.get(i,r):void 0;return typeof a==`function`?Reflect.apply(a,i,t.args??on):void 0}}function _n(e,t){let n=e;for(let e=0;e<t.length;e++){if(!n||typeof n!=`object`)return n;n=Reflect.get(n,t[e])}return n}function vn(e){let t=e.length;console.log(`[📡 ${t} ${Bt(`Proxy Subscription`,t)} 📡]:`,JSON.stringify(e.map(e=>{let t=yn(e.store),n=e.path.join(`.`);if(!e.invocation)return n?`$(${t}).${n}`:`$(${t})`;let r=e.invocation.args?.length??0;return`$(${t}).${n}${r?`(${r}_${Bt(`arg`,r)})`:`()`}`}),null,2))}function yn(e){return`name`in e&&typeof e.name==`string`?e.name:`store`}const bn=Symbol(),xn=Symbol(),Sn=Symbol(`stores.derivedStore.readDependencyState`);function Cn(e,t=Object.is){let r,i=!1,a,o=!1,c=!1;typeof t==`function`?a=t:(r=t.debounce,i=n?t.debugMode??!1:!1,a=t.equalityFn??Object.is,o=t.keepAlive??!1,c=t.lockDependencies??!1);let l=new Ut,u=new Ht(A),d=+!!o,f,p,m=bn,h=!1,g=!1,_=!0,v=!0,y=null,b=xn;function x(e,t,n){if(!v)return(t??s)(En(e));if(!d)return(t??s)(e.getState());if(!t){let t=En(e);return!t||typeof t!=`object`?(u.retainState(e),t):(f||(f=new WeakMap),p||(p=sn()),Yt(e,t,f,p.trackPath))}let r=n?{equalityFn:n,isCascadeParticipant:!0}:Vt;return u.addSelector(e.subscribe(t,A,r)),t(En(e))}function S(){if(!_&&$(m))return m;_=!1,v&&u.beginRebuild(!0);let t=!0,n=m,r=$(n);g=!0;try{let o=e(x),s=p?Qt(o):o;r&&a(n,s)?(i&&console.log(`[🥷 Derive Complete 🥷]: No change detected`),t=!1,m=n):m=s}finally{g=!1,v&&u.finishRebuild(!0)}let o=i&&(!r||i===`verbose`&&v);if(o){r?i===`verbose`&&console.log(`[🌀 Rebuilding Subscriptions 🌀]: Created…`):console.log(`[🌀 Initial Derive Complete 🌀]: Created…`);let e=u.size;console.log(`[🎯 ${e} ${Bt(`Selector Subscription`,e)} 🎯]`)}return p&&v&&(p.buildProxySubscriptions((e,t)=>{u.addSelector(e.subscribe(t,A,Vt))},o),f=void 0,c?p=void 0:p.reset()),t&&r&&C(m,n),c&&(v=!1),m}function C(e,t){let n=l.cascadeParticipantCount,r=n>0&&l.ordinaryWatcherCount>0,a=l.ordinaryWatcherCount>0&&(r||Le()!==null||Ie());if(r&&Re(),i){let e=l.ordinaryWatcherCount+n;console.log(`[📻 Derive Complete 📻]: Notifying ${e} ${Bt(`watcher`,e)}`)}if(n&&l.notifyCascade(e,t),l.ordinaryWatcherCount){if(a){b===xn?(b=t,Ve(w)):$(b)||(b=t);return}l.notifyOrdinary(e,t)}}function w(){d&&_&&!l.cascadeParticipantCount&&S();let e=b;b=xn,l.ordinaryWatcherCount&&$(m)&&e!==xn&&$(e)&&l.notifyOrdinary(m,e)}let T=r?ft(D,typeof r==`number`?r:r.delay,typeof r==`number`?{leading:!1,maxWait:r,trailing:!0}:r):void 0,E=T??(()=>{h||(h=!0,queueMicrotask(D))});function D(){if(h=!1,!d){o||I();return}_&&S()}function O(e){if(e!==void 0&&(e||T&&_)){queueMicrotask(O);return}!d&&!o&&I()}function k(){let e=y;e===Le()&&(D(),y===e&&(y=null))}function A(){if(!g){if(!T){if(l.cascadeParticipantCount){_=!0,Re();let e=Le(),t=e===null?0:e+1;if(y!==null&&t<=y)return;y=t,He(k,t);return}if(_)return;if(_=!0,Ie()){b===xn&&(b=bn,Ve(w));return}}_||(_=!0,y=null,E())}}function j(e){d+=1;try{return e()}finally{--d}}function M(){return _||!$(m)?d?S():j(S):(h&&d&&D(),m)}function N(){return Ie()&&Le()===null&&Be(),_||!$(m)?d?S():e(x):m}function ee(...e){if(e.length===1){let t=e[0];return l.addWatcher(t)&&(d+=1),$(m)||N(),()=>{l.deleteWatcher(t)&&(--d,d||O(!1))}}let[t,n,r]=e,i=r?.equalityFn??Object.is,a=r?.isCascadeParticipant??!1,o=t(d?N():j(N)),s={currentSlice:o,equalityFn:i,isCascadeParticipant:a,listener:n,selector:t};return l.addWatcher(s),d+=1,r?.fireImmediately&&n(o,o),()=>{l.deleteWatcher(s)&&(--d,d||O(a))}}function P(e){return d?N():j(N),l.addCascadeStateListener(e)&&(d+=1),()=>{l.deleteCascadeStateListener(e)&&(--d,d||O(!0))}}function F(){d&&(T?T.flush():_&&S())}function I(){T?.cancel(),u.clear(),l.clear(),d=0,p=void 0,f=void 0,v=!0,h=!1,g=!1,_=!0,m=bn,b=xn,y=null}function L(){return _||h||!$(m)?d?S():j(S):m}return{[Sn]:L,[Ye]:P,destroy:I,flushUpdates:F,getSnapshot:M,getState:N,subscribe:ee,getInitialState:wn,setState:Tn}}function wn(){throw Error(`[createDerivedStore]: getInitialState() is not available on derived stores.`)}function Tn(){throw Error(`[createDerivedStore]: setState() is not available on derived stores.`)}function En(e){let t=e[Sn];return t?t():e.getState()}function $(e){return e!==bn}var Dn=class{constructor(e){this.count=0,this.lastSubscriptionTime=null,this.fetchThrottleMs=null,this.onSubscribe=null,this.onLastUnsubscribe=null,e&&(this.fetchThrottleMs=G.seconds(5))}init({onSubscribe:e,onLastUnsubscribe:t}){this.onSubscribe=e,this.onLastUnsubscribe=t}hasSubscribers(){return this.count>0}subscribe(){let e=this.count===0,t=this.fetchThrottleMs!==null,n=t&&this.lastSubscriptionTime!==null&&!e&&Date.now()-this.lastSubscriptionTime<=this.fetchThrottleMs;return this.count+=1,this.onSubscribe?.(e,n),t&&(this.lastSubscriptionTime=Date.now()),e=>{let t=this.count===1;this.count=Math.max(this.count-1,0),t&&(this.onLastUnsubscribe?.(e),this.lastSubscriptionTime=null)}}};function On(e,t=queueMicrotask){let n=!1,r;function i(){n=!1,e(...r)}function a(...e){r=e,!n&&(n=!0,t(i))}return a}const kn=Object.freeze({equalityFn:Object.is,isCascadeParticipant:!0});function An(e,t,n){let r=a(),i=null,o=!1;if(e)for(let n in e){if(!u(e,n))continue;let s=jn(r,e[n],n,t);s&&((i??(i=a()))[n]=s,s.key!==void 0&&(o=!0))}return{buildKey(e=r){return f(o?In(i,e):e)},complete(e){return e?zn(e,n)?e:{...r,...e}:Pn(r)},get(){return Pn(r)},subscribe(e){return Fn(i,r,e)}}}function jn(e,t,n,r){return p(t)?Nn(e,t.value,n,r,t.key):Nn(e,t,n,r)}function Mn(e,t){let n=[],r,i;function a(e,t,a){return t?(n.push(n=>e.subscribe(t,n,Ln(a))),t(Rn(e))):(r??(r=sn()),i??(i=new WeakMap),Yt(e,Rn(e),i,r.trackPath))}function o(e,t=s){return t(Rn(e))}let c=e(a,t),l=r?Qt(c):c;return r&&(r.buildProxySubscriptions((e,t)=>{n.push(n=>e.subscribe(t,n,kn))},!1),r=void 0),i=void 0,{initialValue:l,subscribe(r){let i=()=>r(e(o,t)),a=n.map(e=>e(i));return e=>{for(let t of a)t(e)}}}}function Nn(e,t,n,r,i){if(Bn(t)){let a=Mn(t,r);return e[n]=a.initialValue,i===void 0?{tracked:a}:{key:i,tracked:a}}return e[n]=t,i===void 0?null:{key:i}}function Pn(e){let t=a();for(let n in e)u(e,n)&&(t[n]=e[n]);return t}function Fn(e,t,n){if(!e)return l;let r;for(let i in e){let a=e[i]?.tracked;a&&(r??(r=[])).push(a.subscribe(e=>{let r=t[i];Ce(r,e)||(t[i]=e,n(i,r,e))}))}return r?e=>{for(let t of r)t(e)}:l}function In(e,t){let n=a();for(let r in t){if(!u(t,r))continue;let i=e?.[r];if(i?.key===!1)continue;let a=t[r];n[r]=i?.key?i.key(a):a}return n}function Ln(e){return e?{equalityFn:e,isCascadeParticipant:!0}:kn}function Rn(e){return pe(e)?e.getSnapshot():e.getState()}function zn(e,t){for(let n of t)if(!(n in e))return!1;return!0}function Bn(e){return typeof e==`function`}const Vn={error:!0,lastFetchedAt:!0,queryCache:!0,queryKey:!0,status:!0,enabled:!1,fetch:!1,getCacheEntry:!1,getData:!1,getStatus:!1,isDataExpired:!1,isStale:!1,reset:!1},Hn=Object.freeze({force:!0}),Un=Object.freeze({once:!0}),Wn=new Set;let Gn=!1;function Kn(e){Wn.add(e),!Gn&&(Gn=!0,queueMicrotask(()=>{Gn=!1,Oe(qn)}))}function qn(){for(let e of Wn)Wn.delete(e),e()}function Jn(t,i,a){V();let o=typeof i==`function`?i:Qn,s=typeof i==`object`?i:a,c=Yn(s)?s:void 0,l=re(),u=l.minStaleTime,{fetcher:d,onError:f=l.onError,onFetched:p,setData:m,transform:h,abortInterruptedFetches:g=l.abortInterruptedFetches,cacheTime:_=l.cacheTime,debugMode:v=l.debugMode,disableAutoRefetching:b=l.disableAutoRefetching,disableCache:C=!1,enabled:w=!0,keepPreviousData:T=l.keepPreviousData,paramChangeThrottle:E=l.paramChangeThrottle,params:D,retry:O=l.retry,retryDelay:k=l.retryDelay,staleTime:A=l.staleTime,suppressStaleTimeWarning:j=l.suppressStaleTimeWarning}=t,M=typeof A==`function`?l.staleTime:A;n&&u!==!1&&!b&&!j&&M<u&&console.warn(`[createQueryStore${c?.storageKey?`: ${c.storageKey}`:``}] ❌ Stale times under ${u/1e3} seconds are not recommended. Provided staleTime: ${M/1e3} seconds`);let N=Error(`[createQueryStore: AbortError] Fetch interrupted`),ee=typeof _==`function`,P=n&&v,F=t.params?Object.keys(t.params):[],I=!1,L,R=[],z=null,B=null,H=null,U=null,te=null,G=null,ne=null,ie={enabled:typeof w==`function`?!1:w,error:null,lastFetchedAt:null,queryCache:{},queryKey:``,status:W.Idle},K=new Dn(b);function oe(){H&&(U=null,H.abort(),H=null)}function q(){te&&(clearTimeout(te),te=null)}async function le(e){let t=new AbortController;H=t;try{return await new Promise((n,r)=>{t.signal.addEventListener(`abort`,()=>r(N),Un),Promise.resolve(d(e,t)).then(n,r)})}finally{H===t&&(H=null)}}function ue(e,t,n){let r=n.setState;function i(e,t){e!==t&&ne!==t&&(ne=t,t&&K.hasSubscribers()?queueMicrotask(()=>u.fetch(void 0,void 0,!0)):(te||g)&&(g&&oe(),q()))}function a(e){let t=typeof e==`function`;if(t||e.enabled!==void 0){let n,a=r(r=>{let a=t?e(r):e,o=a.enabled===void 0?r.enabled:a.enabled;return o!==r.enabled&&(n=()=>i(r.enabled,o)),a});return n?.(),a}else return r(e)}n.setState=a,K.init({onSubscribe:(n,r)=>{let i=t();if(i.enabled)if(n){let t=L.get(),n=L.buildKey(t);i.queryKey!==n&&e({queryKey:n}),i.isStale()?u.fetch(t,void 0,!0):s(t)}else b&&!r&&u.fetch(void 0,void 0,!0)},onLastUnsubscribe:e=>{q(),g&&!e&&oe()}});function s(e){if(b||M<=0||M===1/0||!K.hasSubscribers())return;q();let n=t();if(!n.enabled)return;let r=L.buildKey(e),i=(C?G===r&&n.lastFetchedAt:n.queryCache[r]?.lastFetchedAt)||null,a=i?M-(Date.now()-i):M;te=setTimeout(()=>{t().enabled&&u.fetch(e,Hn,!0)},a)}function l(e){let n=t(),r=n.status;switch(e){case`isIdle`:return r===W.Idle;case`isLoading`:return r===W.Loading;case`isError`:case`isInitialLoad`:case`isSuccess`:case void 0:{let t=n.queryKey,i=C?void 0:n.queryCache[t],a=C?r===W.Error:typeof i?.errorInfo?.lastFailedAt==`number`;if(e===`isError`)return a;let o=((C?G===t&&n.lastFetchedAt:i?.lastFetchedAt)||null)!==null,s=!o&&!a&&n.enabled;if(e===`isInitialLoad`)return s;let c=o&&!a;return e===`isSuccess`?c:{isError:a,isIdle:r===W.Idle,isLoading:r===W.Loading,isInitialLoad:s,isSuccess:c}}}}let u={...o(a,t,n),...ie,async fetch(n,r,i=!1,o=0){let l=!!r?.skipStoreUpdates,v=t();if(!l&&(!v.enabled&&!r?.force||i&&!K.hasSubscribers()))return null;let b=v.error,w=v.queryKey,E=v.status===W.Loading,D=L.complete(n),A=L.buildKey(D);if(E&&U?.promise&&U.key===A)return P&&console.log(`[🔄 Using Active Fetch 🔄] for params:`,JSON.stringify(D)),U.promise;let j=r?.staleTime??M,I=typeof r?.updateQueryKey==`boolean`?r.updateQueryKey:i?T:!1,R=(i||w===A||I)&&!l,z=U!==null;if(g&&R&&oe(),!r?.force){let t=v.lastFetchedAt,n=C?void 0:v.queryCache[A],r=n?.lastFetchedAt,i=n?.errorInfo,a=(C?G===A&&t:r)||null;if(!(!a||Date.now()-a>=j)&&(!i||!i.retryAllowed||l))return R&&!te&&M!==0&&M!==1/0&&s(D),I&&e(e=>e.queryKey===A?e:{queryKey:A}),P&&console.log(`[💾 Returning Cached Data 💾] for params:`,JSON.stringify(D)),n?.data??null}let B=R?{key:A}:null,V=r?.cacheTime??(ee?_(D):_);B&&(q(),I&&!z&&v.lastFetchedAt===null&&w!==A?e({error:null,queryKey:A,status:W.Loading}):(b||!E)&&e({error:null,status:W.Loading}),U=B);async function H(){let v=c?.storageKey||A;try{P&&(!i&&n&&F.some(e=>!(e in n))?console.log(`[🔄 Fetching with Partial Params 🔄]
2
+ `,`- Provided params:`,`${JSON.stringify(n)}\n`,`- Filled in params:`,`${JSON.stringify(Object.fromEntries(Object.keys(D).filter(e=>!(e in n)).map(e=>[e,D[e]])))}`):console.log(`[🔄 Fetching 🔄] for params:`,JSON.stringify(D)));let t=await(g&&R?le(D):d(D,null)),o=Date.now();P&&console.log(`[✅ Fetch Successful ✅] for params:`,JSON.stringify(D));let c;try{c=er(t,D,h)}catch(e){throw $n(v,`transform`,e)}if(l)return P&&console.log(`[🥷 Successful Parallel Fetch 🥷] for params:`,JSON.stringify(D)),r.skipStoreUpdates===`withCache`&&e(e=>{if(!m)return C?e:{queryCache:{...e.queryCache,[A]:{cacheTime:V,data:c,errorInfo:null,lastFetchedAt:o}}};let t=e,n=C?void 0:t.queryCache[A];try{m({data:c,params:D,queryKey:A,set:e=>{t=typeof e==`function`?{...t,...e(t)}:{...t,...e}}})}catch(e){throw $n(v,`setData`,e)}return!C&&Object.is(n,t.queryCache[A])&&(t={...t,queryCache:{...t.queryCache,[A]:{cacheTime:V,data:null,errorInfo:null,lastFetchedAt:o}}}),t}),c;if((m?a:e)(e=>{let t={...e,error:null,lastFetchedAt:o,queryKey:I?A:e.queryKey,status:W.Success};if(!m&&!C)P&&console.log(`[💾 Setting Cache 💾] for params:`,JSON.stringify(D),`| Has previous data?:`,!!t.queryCache[A]?.data),t.queryCache={...t.queryCache,[A]:{cacheTime:V,data:c,errorInfo:null,lastFetchedAt:o}};else if(m){P&&console.log(`[💾 Setting Data 💾] for params:`,JSON.stringify(D));let e=C?void 0:t.queryCache[A];try{m({data:c,params:D,queryKey:A,set:e=>{t=typeof e==`function`?{...t,...e(t)}:{...t,...e}}})}catch(e){throw $n(v,`setData`,e)}!C&&Object.is(e,t.queryCache[A])&&(t.queryCache={...t.queryCache,[A]:{cacheTime:V,data:null,errorInfo:null,lastFetchedAt:o}})}return C||_===1/0?t:Zn(T,A,t)}),R&&(G=A,s(D)),p)try{p({data:c,fetch:u.fetch,params:D,set:a})}catch(e){y.error($n(v,`onFetched callback`,e))}return c??null}catch(n){if(n===N)return P&&console.log(`[❌ Fetch Aborted ❌] for params:`,JSON.stringify(D)),null;let a=!i&&r?.throwOnError===!0,s=S(n);if(s instanceof x&&y.error(s),!R){if(a)throw s;return null}let c=C?void 0:t().queryCache[A],l,d;if(typeof O==`function`){l={error:s,params:D,queryKey:A,retryCount:o};try{d=O(l)}catch(e){y.error($n(v,`retry callback`,e)),d=!1}}else d=O!==!1&&o<O;let p;if(d&&t().enabled&&K.hasSubscribers())if(k===void 0)p=ae(o);else if(typeof k==`number`)p=k;else{l??(l={error:s,params:D,queryKey:A,retryCount:o});try{p=k(l)}catch(e){y.error($n(v,`retryDelay callback`,e)),d=!1}}let m=p!==void 0;if(p!==void 0&&(q(),te=setTimeout(()=>{t().enabled&&u.fetch(D,Hn,!0,o+1)},p)),e(C?e=>({error:s,queryKey:I?A:e.queryKey,status:W.Error}):e=>({error:s,queryCache:{...e.queryCache,[A]:{cacheTime:c?.cacheTime??V,data:c?.data??null,lastFetchedAt:c?.lastFetchedAt??null,errorInfo:{error:s,lastFailedAt:Date.now(),retryAllowed:d,retryCount:o}}},queryKey:I?A:e.queryKey,status:W.Error})),f)try{f({error:s,params:D,queryKey:A,retryCount:o,willRetry:m})}catch(e){y.error($n(v,`onError callback`,e))}if(a)throw s;return null}finally{U===B&&(U=null)}}return B?(B.promise=H(),B.promise):H()},getCacheEntry(e){if(C)return null;let n=t(),r=e?typeof e==`string`?e:L.buildKey(L.complete(e)):n.queryKey;return n.queryCache[r]??null},getData(e){if(C)return null;let n=t().getCacheEntry(e);return!n||n.data===null?null:T?n.data:n.lastFetchedAt&&Date.now()-n.lastFetchedAt>=n.cacheTime?null:n.data},getStatus:l,isDataExpired(e){let n=t(),r=n.queryKey,i=C?void 0:n.queryCache[r],a=n.lastFetchedAt,o=(C?G===r&&a:i?.lastFetchedAt)||null;if(!o)return!0;let s=e??i?.cacheTime;return s===void 0||Date.now()-o>=s},isStale(e){let n=t(),r=n.queryKey,i=(C?G===r&&n.lastFetchedAt:n.queryCache[r]?.lastFetchedAt)||null;if(!i)return!0;let a=e??M;return Date.now()-i>=a},reset(t=!1){for(let e of R)e();R=[],L=An(void 0,J,F),z=null,B=null,oe(),q(),ve?.cancel(),U=null,G=null,t&&e(ie)}},v=n.subscribe;return n.subscribe=(...e)=>{let t=I?void 0:K.subscribe(),n=e.length===1?v(e[0]):v(e[0],e[1],e[2]);return e=>{t?.(e),n(e)}},Ze(n,e=>t=>{let n=I?void 0:K.subscribe(),r=e(t);return e=>{n?.(e),r(e)}}),u}let J=c?.storageKey?Rt(ue,e(c,{partialize:Xn(T,c.partialize)})):s&&!(`storageKey`in s)?Rt(ue,s):Rt(ue),de=J.getState(),fe=de.error,pe=de.enabled,me=de.queryKey,he=de.fetch;me&&!fe&&(G=me),I=!0,L=An(D,J,F),typeof w==`function`&&(z=Mn(w,J)),typeof t.staleTime==`function`&&(B=Mn(t.staleTime,J),M=B.initialValue);let ge=On(e=>{he(e,void 0,!0)},Kn);function _e(){if(T)ge(void 0);else{let e=L.get();J.setState({queryKey:L.buildKey(e)}),ge(e)}}let ve=r||!E?void 0:ft(_e,typeof E==`number`?E:E.delay,typeof E==`number`?{leading:!1,maxWait:E,trailing:!0}:E);function ye(){if(q(),ve){let e=J.getState();T&&U?.key===e.queryKey&&e.lastFetchedAt===null?_e():ve();return}_e()}if(R.push(L.subscribe((e,t,n)=>{P&&console.log(`[🌀 Param Change 🌀] -`,e,`- [Old]:`,`${t?.toString()},`,`[New]:`,n?.toString()),ye()})),B){let e=B.initialValue;P&&console.log(`[🌀 StaleTime Subscription 🌀] Initial value:`,e),R.push(B.subscribe(t=>{t!==e&&(P&&console.log(`[🌀 StaleTime Change 🌀] - [Old]:`,`${e},`,`[New]:`,t),e=t,M=t,q(),he(void 0,void 0,!0))}))}let Y;if(z){let e=z.initialValue;pe!==e&&((Y??(Y={})).enabled=e),P&&console.log(`[🌀 Enabled Subscription 🌀] Initial value:`,e),R.push(z.subscribe(t=>{t!==e&&(P&&console.log(`[🌀 Enabled Change 🌀] - [Old]:`,`${e},`,`[New]:`,t),e=t,J.setState({enabled:t}))}))}else pe!==ie.enabled&&((Y??(Y={})).enabled=ie.enabled);let be=L.buildKey();return be!==me&&((Y??(Y={})).queryKey=be),Y&&J.setState(Y),I=!1,ce(J,se.QueryStore)}function Yn(e){return typeof e?.storageKey==`string`}function Xn(e,t){return n=>{let r={...n},i=a();for(let e in r)u(r,e)&&e in Vn&&(Vn[e]&&(i[e]=r[e]),delete r[e]);return{...t?t(r):gt(r),...Zn(e,null,i)}}}function Zn(e,t,n){if(!n.queryCache)return n;let r=Date.now(),i=t??(e&&n.queryKey||null),o=a(),s=!1;for(let e in n.queryCache){if(!u(n.queryCache,e))continue;let t=n.queryCache[e];t&&(r-(t.lastFetchedAt??t.errorInfo.lastFailedAt)<t.cacheTime||e===i)?o[e]=t:s=!0}return s?{...n,queryCache:o}:n}function Qn(){return Object.create(null)}function $n(e,t,n){return new x(`[createQueryStore: ${e}]: ${t} failed`,n)}function er(e,t,n){return n?n(e,t):e}const tr=Object.freeze({equalityFn:Object.is,isCascadeParticipant:!0});function nr(e,t,n){let r=typeof t==`function`,i=r?t:void 0,a=r?n:t,o=new Set,s,c;function l(e,t){let n=e.getState(),r=t.getState();if(c)for(let e of c)u(e,t,n,r);if(s)for(let e of s)d(e,t,n,r);o.size&&ze();for(let e of o)f(e,t,n,r)}function u(e,t,n,r){e.unsubscribe(),e.unsubscribe=rr(t,e.listener),!Object.is(r,n)&&(Re(),e.listener(r,n))}function d(e,t,n,r){f(e,t,n,r)&&Re()}function f(e,t,n,r){e.unsubscribe();let i=e.args;if(i.length===1){let a=i[0];e.unsubscribe=t.subscribe(a);let o=!Object.is(r,n);return o&&a(r,n),o}let a=i[0],o=i[1],s=i[2];s?.fireImmediately&&(s={...s,fireImmediately:!1});let c=a(n),l=a(r);return e.unsubscribe=t.subscribe(a,o,s),(s?.equalityFn??Object.is)(c,l)?!1:(o(l,c),!0)}function p(e,t){l(t,e),le(t)}let m=Cn(e,{debugMode:a?.debugMode??!1,lockDependencies:a?.lockDependencies??!0}),h;function g(){return h??(h=m.subscribe(p)),m.getState()}function _(...e){let t=g(),n={args:e,unsubscribe:e.length===1?t.subscribe(e[0]):t.subscribe(e[0],e[1],e[2])},r=e[2]?.isCascadeParticipant??!1;return r?(s??(s=new Set)).add(n):o.add(n),()=>{n.unsubscribe(),r?s?.delete(n)&&s.size===0&&(s=void 0):o.delete(n)}}function v(e){let t={listener:e,unsubscribe:rr(g(),e)};return(c??(c=new Set)).add(t),e=>{t.unsubscribe(e),c?.delete(t)&&c.size===0&&(c=void 0)}}return Object.assign({[Ye]:v,[se.VirtualStore]:!0,destroy:()=>{h?.(),h=void 0,m.destroy()},getInitialState:()=>g().getInitialState(),getState:()=>g().getState(),persist:ir(g),setState:ar(g),subscribe:_},i?.(g))}function rr(e,t){return Xe(e)?e[Ye](t):e.subscribe(s,t,tr)}function ir(e){return{clearStorage:()=>e().persist?.clearStorage(),getOptions:()=>e().persist?.getOptions()??{},hasHydrated:()=>e().persist?.hasHydrated()??!0,hydrationPromise:()=>e().persist?.hydrationPromise?.()??Promise.resolve(),onFinishHydration:t=>e().persist?.onFinishHydration(t)??l,onHydrate:t=>e().persist?.onHydrate(t)??l,rehydrate:()=>e().persist?.rehydrate(),setOptions:t=>e().persist?.setOptions(t)}}function ar(e){return function(...t){return t[1]===!0?e().setState(t[0],!0):e().setState(t[0])}}export{P as DEFAULT_STORAGE_KEY_PREFIX,W as QueryStatuses,se as StoreTags,x as StoresError,oe as applyStateUpdate,ce as assignStoreTag,Rt as baseStore,R as configureStores,ve as createStoreActions,xe as deepEqual,ae as defaultRetryDelay,Cn as derivedStore,le as destroyStore,ue as destroyStores,S as ensureError,z as getOptions,B as getStorageConfig,J as getStoreName,fe as hasDestroy,pe as hasGetSnapshot,s as identity,he as isDerivedStore,ge as isPersistedStore,me as isQueryStore,_e as isVirtualStore,y as logger,V as markStoreCreated,a as nullObject,Jn as queryStore,g as replacer,m as reviver,b as setLogger,Se as shallowEqual,G as time,nr as virtualStore};
@@ -0,0 +1 @@
1
+ import{l as e,r as t}from"./utils-Ba1RIeAA.mjs";function n(e){return JSON.stringify(i(e))}function r(e){return JSON.parse(e)}function i(n){return typeof n!=`object`||!n?n:Object.keys(n).sort().reduce((e,r)=>{let a=n[r];return e[r]=t(a)?i(a):a,e},e())}const a=Symbol(`stores.queryParamConfig`);function o(e,t){return{[a]:!0,key:t.key,value:e}}function s(e){return!!e&&typeof e==`object`&&a in e}export{r as i,o as n,n as r,s as t};
@@ -0,0 +1 @@
1
+ const e=require("./utils-CwejruRb.js");function t(e){return JSON.stringify(r(e))}function n(e){return JSON.parse(e)}function r(t){return typeof t!=`object`||!t?t:Object.keys(t).sort().reduce((n,i)=>{let a=t[i];return n[i]=e.r(a)?r(a):a,n},e.l())}const i=Symbol(`stores.queryParamConfig`);function a(e,t){return{[i]:!0,key:t.key,value:e}}function o(e){return!!e&&typeof e==`object`&&i in e}Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return o}});
@@ -0,0 +1 @@
1
+ function e(e){return!!e&&typeof e==`object`&&`then`in e&&typeof e.then==`function`}function t(e){return typeof e==`object`&&!!e&&`__type`in e&&e.__type===`Map`}function n(e){return typeof e==`object`&&!!e&&`__type`in e&&e.__type===`Set`}function r(e,t){return t instanceof Map?{__type:`Map`,entries:Array.from(t.entries())}:t instanceof Set?{__type:`Set`,values:Array.from(t)}:t}function i(e,r){return t(r)?new Map(r.entries):n(r)?new Set(r.values):r}export{i as n,e as r,r as t};
@@ -0,0 +1 @@
1
+ function e(e){return!!e&&typeof e==`object`&&`then`in e&&typeof e.then==`function`}function t(e){return typeof e==`object`&&!!e&&`__type`in e&&e.__type===`Map`}function n(e){return typeof e==`object`&&!!e&&`__type`in e&&e.__type===`Set`}function r(e,t){return t instanceof Map?{__type:`Map`,entries:Array.from(t.entries())}:t instanceof Set?{__type:`Set`,values:Array.from(t)}:t}function i(e,r){return t(r)?new Map(r.entries):n(r)?new Set(r.values):r}Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return r}});
@@ -0,0 +1 @@
1
+ const e=typeof window<`u`&&typeof document<`u`,t=process.env.NODE_ENV===`development`,n=process.env.NODE_ENV===`test`,r=Object.freeze(Object.create(null));function i(e){return e}function a(){return Object.create(r)}function o(e,t){return t===void 0?Object.assign(a(),e):Object.assign(a(),e,t)}function s(){}function c(e,t,n){e(t,n)}const l=Object.prototype.hasOwnProperty;function u(e,t){return l.call(e,t)}function d(e){let t=e.charCodeAt(0);if(t<48||t>57)return!1;let n=Number(e);return Number.isInteger(n)&&n<4294967295&&String(n)===e}function f(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function p(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}export{o as a,c,t as d,n as f,p as i,a as l,d as n,i as o,f as r,s,u as t,e as u};
@@ -0,0 +1 @@
1
+ const e=typeof window<`u`&&typeof document<`u`,t=process.env.NODE_ENV===`development`,n=process.env.NODE_ENV===`test`,r=Object.freeze(Object.create(null));function i(e){return e}function a(){return Object.create(r)}function o(e,t){return t===void 0?Object.assign(a(),e):Object.assign(a(),e,t)}function s(){}function c(e,t,n){e(t,n)}const l=Object.prototype.hasOwnProperty;function u(e,t){return l.call(e,t)}function d(e){let t=e.charCodeAt(0);if(t<48||t>57)return!1;let n=Number(e);return Number.isInteger(n)&&n<4294967295&&String(n)===e}function f(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function p(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return n}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return e}});
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storesjs/stores",
3
- "version": "0.11.0",
3
+ "version": "0.12.0",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "repository": {
@@ -71,8 +71,7 @@
71
71
  "happy-dom": "^20.9.0",
72
72
  "madge": "^8.0.0",
73
73
  "react-dom": "^19.1.1",
74
- "terser": "^5.44.0",
75
- "tsup": "^8.5.0",
74
+ "tsdown": "^0.22.3",
76
75
  "tsx": "^4.20.6",
77
76
  "vitest": "^2.0.0"
78
77
  },
@@ -80,9 +79,9 @@
80
79
  "analyze": "pnpm run prebuild:web && tsx --tsconfig scripts/tsconfig.json scripts/analyze-bundle.ts && pnpm run postbuild:web",
81
80
  "build": "tsx --tsconfig scripts/tsconfig.json scripts/build.ts",
82
81
  "build:dev": "pnpm run build:types && NODE_ENV=development pnpm run build:web && NODE_ENV=development pnpm run build:native",
83
- "build:native": "pnpm run -s prebuild:native && BUILD_TARGET=native tsup --config tsup.config.ts --out-dir dist/native && pnpm run -s postbuild:native",
84
- "build:types": "tsc -b tsconfig.build.json --emitDeclarationOnly --force",
85
- "build:web": "pnpm run -s prebuild:web && tsup --config tsup.config.ts --out-dir dist/web && pnpm run -s postbuild:web",
82
+ "build:native": "pnpm run -s prebuild:native && tsx --tsconfig scripts/tsconfig.json scripts/build.ts --output=native && pnpm run -s postbuild:native",
83
+ "build:types": "tsx --tsconfig scripts/tsconfig.json scripts/build.ts --types-only",
84
+ "build:web": "pnpm run -s prebuild:web && tsx --tsconfig scripts/tsconfig.json scripts/build.ts --output=web && pnpm run -s postbuild:web",
86
85
  "generate:exports": "tsx --tsconfig scripts/tsconfig.json scripts/generate-exports.ts",
87
86
  "lint": "pnpm -w run lint",
88
87
  "lint:circular": "madge --circular --extensions ts,tsx src",
@@ -96,6 +95,7 @@
96
95
  "test": "vitest run",
97
96
  "test:chrome": "vitest run src/plugins/chrome",
98
97
  "test:plugins": "vitest run src/plugins",
99
- "test:treeshake": "tsx --tsconfig scripts/tsconfig.json scripts/treeshake.ts"
98
+ "test:treeshake": "tsx --tsconfig scripts/tsconfig.json scripts/treeshake.ts",
99
+ "typecheck": "tsc --noEmit -p tsconfig.json"
100
100
  }
101
101
  }
@@ -1,36 +0,0 @@
1
- import type { BaseStoreOptions, OptionallyPersistedStore, Store, StateCreator } from './types';
2
- /**
3
- * Creates a base store without persistence.
4
- * @param createState - The state creator function for the base store.
5
- * @returns A store with the specified state.
6
- */
7
- export declare function createBaseStore<S>(createState: StateCreator<S>): Store<S>;
8
- /**
9
- * Creates a base store with persistence.
10
- * @param createState - The state creator function for the base store.
11
- * @param options - The configuration options for persistence and sync.
12
- * @returns A store with the specified state and persistence.
13
- */
14
- export declare function createBaseStore<S, PersistedState extends Partial<S> = Partial<S>, PersistReturn extends void = void>(createState: StateCreator<S>, options: BaseStoreOptions<S, PersistedState, PersistReturn>): Store<S, PersistedState, PersistReturn>;
15
- /**
16
- * Creates a base store with async persistence.
17
- * @param createState - The state creator function for the base store.
18
- * @param options - The configuration options for persistence and sync.
19
- * @returns A store with the specified state and persistence.
20
- */
21
- export declare function createBaseStore<S, PersistedState extends Partial<S> = Partial<S>, PersistReturn extends Promise<void> = Promise<void>>(createState: StateCreator<S>, options: BaseStoreOptions<S, PersistedState, PersistReturn>): Store<S, PersistedState, PersistReturn>;
22
- /**
23
- * Creates a base store with optional persistence.
24
- * @param createState - The state creator function for the base store.
25
- * @param options - The configuration options for persistence and sync.
26
- * @returns A store with the specified state and optional persistence.
27
- */
28
- export declare function createBaseStore<S, PersistedState extends Partial<S> = Partial<S>, PersistReturn extends void = void>(createState: StateCreator<S>, options?: BaseStoreOptions<S, PersistedState, PersistReturn>): OptionallyPersistedStore<S, PersistedState, PersistReturn>;
29
- /**
30
- * Creates a base store with optional async persistence.
31
- * @param createState - The state creator function for the base store.
32
- * @param options - The configuration options for persistence and sync.
33
- * @returns A store with the specified state and optional persistence.
34
- */
35
- export declare function createBaseStore<S, PersistedState extends Partial<S> = Partial<S>, PersistReturn extends Promise<void> = Promise<void>>(createState: StateCreator<S>, options?: BaseStoreOptions<S, PersistedState, PersistReturn>): OptionallyPersistedStore<S, PersistedState, PersistReturn>;
36
- //# sourceMappingURL=createBaseStore.d.ts.map
@@ -1,63 +0,0 @@
1
- import type { DeriveGetter, DeriveOptions, DerivedStore } from './types';
2
- /**
3
- * ### `createDerivedStore`
4
- *
5
- * Creates a **read-only** store derived from one or more source stores.
6
- *
7
- * ---
8
- * The `deriveFunction` is called whenever its dependencies change, producing a new derived state.
9
- * Dependencies are automatically tracked through a special `$` helper, which supports:
10
- *
11
- * 1) **Selector-based** usage:
12
- * ```ts
13
- * $ => {
14
- * const user = $(useUserStore, s => s.user, shallowEqual);
15
- * const theme = $(useSettingsStore, s => s.appearance.theme);
16
- * return { user, theme, isAdmin: user?.roles.includes('admin') };
17
- * }
18
- * ```
19
- *
20
- * 2) **Proxy-based** usage (auto-built selectors for nested properties):
21
- * ```ts
22
- * $ => {
23
- * const { user } = $(useUserStore); // Subscribe to `user`
24
- * const theme = $(useSettingsStore).appearance.theme; // Subscribe to `theme`
25
- * return { isAdmin: user?.roles.includes('admin'), theme, user };
26
- * }
27
- * ```
28
- *
29
- * ---
30
- * Derived stores automatically unsubscribe from all dependencies when no consumers remain, and
31
- * resubscribe when new consumers appear. The returned store exposes:
32
- *
33
- * - A **store object** with `getState()`, `subscribe()`, and `destroy()`
34
- * - In the React build, a **React hook** (`const state = derivedStore(selector, equalityFn?)`)
35
- *
36
- * ---
37
- * You can optionally pass a second parameter (either an equality function or a config object)
38
- * to enable debouncing, customize the equality function, or set `lockDependencies: true`.
39
- *
40
- * (When dependencies are locked, subscriptions created via `$` are established once and are
41
- * not rebuilt on subsequent re-derives, which can be a performance win for certain workloads.)
42
- *
43
- * ---
44
- * @example
45
- * ```ts
46
- * // Create a derived store
47
- * const searchResultsStore = createDerivedStore($ => {
48
- * const query = $(searchStore).query.trim().toLowerCase();
49
- * const items = $(itemsStore).items;
50
- * return findResults(query, items);
51
- * }, shallowEqual);
52
- *
53
- * const results = searchResultsStore.getState();
54
- * ```
55
- *
56
- * ---
57
- * @param deriveFunction - Function that reads from other stores via `$` to produce derived state.
58
- * @param optionsOrEqualityFn - Either an equality function or a config object (see `DeriveOptions`).
59
- *
60
- * @returns A read-only derived store. In the React build, it is also callable as a hook.
61
- */
62
- export declare function createDerivedStore<Derived>(deriveFunction: ($: DeriveGetter) => Derived, optionsOrEqualityFn?: DeriveOptions<Derived>): DerivedStore<Derived>;
63
- //# sourceMappingURL=createDerivedStore.d.ts.map
@@ -1,111 +0,0 @@
1
- import { defaultRetryDelay } from './internal/runtime';
2
- import type { QueryStoreConfig, QueryStoreState } from './queryStore/types';
3
- import type { BaseStoreOptions, OptionallyPersistedStore, PersistedStore, StateCreator, Store } from './types';
4
- export { defaultRetryDelay };
5
- export { getQueryKey, parseQueryKey } from './queryStore/queryKey';
6
- export { queryParam } from './queryStore/queryParam';
7
- export type { QueryParam, QueryParamConfig, QueryParamKey, ReactiveParam } from './queryStore/queryParam';
8
- /**
9
- * Creates a persisted, query-enabled store with data fetching capabilities (sync storage).
10
- *
11
- * @template TQueryFnData - The raw data type returned by the fetcher
12
- * @template TParams - Parameters passed to the fetcher function
13
- * @template TData - The transformed data type, if applicable (defaults to `TQueryFnData`)
14
- * @template PersistedState - The persisted state type, if a stricter type than `Partial<CustomState>` is desired
15
- */
16
- export declare function createQueryStore<TQueryFnData, TParams extends Record<string, unknown> = Record<string, never>, TData = TQueryFnData, PersistedState extends Partial<QueryStoreState<TData, TParams>> = Partial<QueryStoreState<TData, TParams>>, PersistReturn extends void = void>(config: QueryStoreConfig<TQueryFnData, TParams, TData>, options: BaseStoreOptions<QueryStoreState<TData, TParams>, PersistedState, PersistReturn>): PersistedStore<QueryStoreState<TData, TParams>, PersistedState, PersistReturn>;
17
- /**
18
- * Creates a persisted, query-enabled store with data fetching capabilities (async storage).
19
- *
20
- * @template TQueryFnData - The raw data type returned by the fetcher
21
- * @template TParams - Parameters passed to the fetcher function
22
- * @template TData - The transformed data type, if applicable (defaults to `TQueryFnData`)
23
- * @template PersistedState - The persisted state type, if a stricter type than `Partial<CustomState>` is desired
24
- */
25
- export declare function createQueryStore<TQueryFnData, TParams extends Record<string, unknown> = Record<string, never>, TData = TQueryFnData, PersistedState extends Partial<QueryStoreState<TData, TParams>> = Partial<QueryStoreState<TData, TParams>>, PersistReturn extends Promise<void> = Promise<void>>(config: QueryStoreConfig<TQueryFnData, TParams, TData>, options: BaseStoreOptions<QueryStoreState<TData, TParams>, PersistedState, PersistReturn>): PersistedStore<QueryStoreState<TData, TParams>, PersistedState, PersistReturn>;
26
- /**
27
- * Creates a persisted, query-enabled store with data fetching capabilities (sync storage).
28
- *
29
- * @template TQueryFnData - The raw data type returned by the fetcher
30
- * @template TParams - Parameters passed to the fetcher function
31
- * @template CustomState - User-defined custom store state
32
- * @template TData - The transformed data type, if applicable (defaults to `TQueryFnData`)
33
- * @template PersistedState - The persisted state type, if a stricter type than `Partial<CustomState>` is desired
34
- */
35
- export declare function createQueryStore<TQueryFnData, TParams extends Record<string, unknown> = Record<string, never>, CustomState = unknown, TData = TQueryFnData, PersistedState extends Partial<QueryStoreState<TData, TParams, CustomState>> = Partial<QueryStoreState<TData, TParams, CustomState>>, PersistReturn extends void = void>(config: QueryStoreConfig<TQueryFnData, TParams, TData, CustomState>, stateCreator: StateCreator<QueryStoreState<TData, TParams, CustomState>, CustomState>, options: BaseStoreOptions<QueryStoreState<TData, TParams, CustomState>, PersistedState, PersistReturn>): PersistedStore<QueryStoreState<TData, TParams, CustomState>, PersistedState, PersistReturn>;
36
- /**
37
- * Creates a persisted, query-enabled store with data fetching capabilities (async storage).
38
- *
39
- * @template TQueryFnData - The raw data type returned by the fetcher
40
- * @template TParams - Parameters passed to the fetcher function
41
- * @template CustomState - User-defined custom store state
42
- * @template TData - The transformed data type, if applicable (defaults to `TQueryFnData`)
43
- * @template PersistedState - The persisted state type, if a stricter type than `Partial<CustomState>` is desired
44
- */
45
- export declare function createQueryStore<TQueryFnData, TParams extends Record<string, unknown> = Record<string, never>, CustomState = unknown, TData = TQueryFnData, PersistedState extends Partial<QueryStoreState<TData, TParams, CustomState>> = Partial<QueryStoreState<TData, TParams, CustomState>>, PersistReturn extends Promise<void> = Promise<void>>(config: QueryStoreConfig<TQueryFnData, TParams, TData, CustomState>, stateCreator: StateCreator<QueryStoreState<TData, TParams, CustomState>, CustomState>, options: BaseStoreOptions<QueryStoreState<TData, TParams, CustomState>, PersistedState, PersistReturn>): PersistedStore<QueryStoreState<TData, TParams, CustomState>, PersistedState, PersistReturn>;
46
- /**
47
- * Creates a query-enabled store with data fetching capabilities.
48
- *
49
- * @template TQueryFnData - The raw data type returned by the fetcher
50
- * @template TParams - Parameters passed to the fetcher function
51
- * @template CustomState - User-defined custom store state
52
- * @template TData - The transformed data type, if applicable (defaults to `TQueryFnData`)
53
- */
54
- export declare function createQueryStore<TQueryFnData, TParams extends Record<string, unknown> = Record<string, never>, CustomState = unknown, TData = TQueryFnData>(config: QueryStoreConfig<TQueryFnData, TParams, TData, CustomState>, stateCreator: StateCreator<QueryStoreState<TData, TParams, CustomState>, CustomState>, options?: BaseStoreOptions<QueryStoreState<TData, TParams, CustomState>>): Store<QueryStoreState<TData, TParams, CustomState>>;
55
- /**
56
- * Creates a query-enabled store with data fetching capabilities.
57
- *
58
- * @template TQueryFnData - The raw data type returned by the fetcher
59
- * @template TParams - Parameters passed to the fetcher function
60
- * @template TData - The transformed data type, if applicable (defaults to `TQueryFnData`)
61
- */
62
- export declare function createQueryStore<TQueryFnData, TParams extends Record<string, unknown> = Record<string, never>, TData = TQueryFnData>(config: QueryStoreConfig<TQueryFnData, TParams, TData>, options?: BaseStoreOptions<QueryStoreState<TData, TParams>>): Store<QueryStoreState<TData, TParams>>;
63
- /**
64
- * Creates a conditionally persisted, query-enabled store with data-fetching capabilities
65
- * and custom state (sync storage).
66
- *
67
- * `options.persist` may be `undefined` – the returned store exposes `persist?`.
68
- *
69
- * @template TQueryFnData - The raw data type returned by the fetcher
70
- * @template TParams - Parameters passed to the fetcher function
71
- * @template CustomState - User-defined custom store state
72
- * @template TData - The transformed data type, if applicable (defaults to `TQueryFnData`)
73
- * @template PersistedState - The persisted state type, if a stricter type than `Partial<CustomState>` is desired
74
- */
75
- export declare function createQueryStore<TQueryFnData, TParams extends Record<string, unknown> = Record<string, never>, CustomState = unknown, TData = TQueryFnData, PersistedState extends Partial<QueryStoreState<TData, TParams, CustomState>> = Partial<QueryStoreState<TData, TParams, CustomState>>, PersistReturn extends void = void>(config: QueryStoreConfig<TQueryFnData, TParams, TData, CustomState>, stateCreator: StateCreator<QueryStoreState<TData, TParams, CustomState>, CustomState>, options?: BaseStoreOptions<QueryStoreState<TData, TParams, CustomState>, PersistedState, PersistReturn>): OptionallyPersistedStore<QueryStoreState<TData, TParams, CustomState>, PersistedState, PersistReturn>;
76
- /**
77
- * Creates a conditionally persisted, query-enabled store with data-fetching capabilities
78
- * and custom state (async storage).
79
- *
80
- * `options.persist` may be `undefined` – the returned store exposes `persist?`.
81
- *
82
- * @template TQueryFnData - The raw data type returned by the fetcher
83
- * @template TParams - Parameters passed to the fetcher function
84
- * @template CustomState - User-defined custom store state
85
- * @template TData - The transformed data type, if applicable (defaults to `TQueryFnData`)
86
- * @template PersistedState - The persisted state type, if a stricter type than `Partial<CustomState>` is desired
87
- */
88
- export declare function createQueryStore<TQueryFnData, TParams extends Record<string, unknown> = Record<string, never>, CustomState = unknown, TData = TQueryFnData, PersistedState extends Partial<QueryStoreState<TData, TParams, CustomState>> = Partial<QueryStoreState<TData, TParams, CustomState>>, PersistReturn extends Promise<void> = Promise<void>>(config: QueryStoreConfig<TQueryFnData, TParams, TData, CustomState>, stateCreator: StateCreator<QueryStoreState<TData, TParams, CustomState>, CustomState>, options?: BaseStoreOptions<QueryStoreState<TData, TParams, CustomState>, PersistedState, PersistReturn>): OptionallyPersistedStore<QueryStoreState<TData, TParams, CustomState>, PersistedState, PersistReturn>;
89
- /**
90
- * Creates a conditionally persisted, query-enabled store with data fetching capabilities (sync storage).
91
- *
92
- * `options.persist` may be `undefined` – the returned store exposes `persist?`.
93
- *
94
- * @template TQueryFnData - The raw data type returned by the fetcher
95
- * @template TParams - Parameters passed to the fetcher function
96
- * @template TData - The transformed data type, if applicable (defaults to `TQueryFnData`)
97
- * @template PersistedState - The persisted state type, if a stricter type than `Partial<CustomState>` is desired
98
- */
99
- export declare function createQueryStore<TQueryFnData, TParams extends Record<string, unknown> = Record<string, never>, TData = TQueryFnData, PersistedState extends Partial<QueryStoreState<TData, TParams>> = Partial<QueryStoreState<TData, TParams>>, PersistReturn extends void = void>(config: QueryStoreConfig<TQueryFnData, TParams, TData>, options: BaseStoreOptions<QueryStoreState<TData, TParams>, PersistedState, PersistReturn> | undefined): OptionallyPersistedStore<QueryStoreState<TData, TParams>, PersistedState, PersistReturn>;
100
- /**
101
- * Creates a conditionally persisted, query-enabled store with data fetching capabilities (async storage).
102
- *
103
- * `options.persist` may be `undefined` – the returned store exposes `persist?`.
104
- *
105
- * @template TQueryFnData - The raw data type returned by the fetcher
106
- * @template TParams - Parameters passed to the fetcher function
107
- * @template TData - The transformed data type, if applicable (defaults to `TQueryFnData`)
108
- * @template PersistedState - The persisted state type, if a stricter type than `Partial<CustomState>` is desired
109
- */
110
- export declare function createQueryStore<TQueryFnData, TParams extends Record<string, unknown> = Record<string, never>, TData = TQueryFnData, PersistedState extends Partial<QueryStoreState<TData, TParams>> = Partial<QueryStoreState<TData, TParams>>, PersistReturn extends Promise<void> = Promise<void>>(config: QueryStoreConfig<TQueryFnData, TParams, TData>, options: BaseStoreOptions<QueryStoreState<TData, TParams>, PersistedState, PersistReturn> | undefined): OptionallyPersistedStore<QueryStoreState<TData, TParams>, PersistedState, PersistReturn>;
111
- //# sourceMappingURL=createQueryStore.d.ts.map
@@ -1,40 +0,0 @@
1
- import type { BaseStore, DeriveGetter, InferPersistedState, InferSetStateReturn, InferStoreState, OptionallyPersistedStore } from './types';
2
- type MethodOverrides<Store extends BaseStore<unknown>> = Partial<Pick<Store, 'getState' | 'setState'>>;
3
- type VirtualStore<Store extends BaseStore<unknown>> = OptionallyPersistedStore<InferStoreState<Store>, InferPersistedState<Store>, InferSetStateReturn<Store>>;
4
- type VirtualStoreOptions = {
5
- debugMode?: boolean;
6
- /**
7
- * Whether to lock dependencies (see: {@link DeriveOptions}) for the virtual store.
8
- * @default true
9
- */
10
- lockDependencies?: boolean;
11
- };
12
- /**
13
- * ### `createVirtualStore`
14
- *
15
- * Returns a stable store interface backed by different store instances over time.
16
- * When dependencies change, the derive function runs and creates a new store, then
17
- * all subscriptions rebind automatically. Only depend on state that should trigger
18
- * new store creation.
19
- *
20
- * ---
21
- * 💡 **Note:** `lockDependencies` (see: {@link DeriveOptions}) is enabled by default.
22
- * Ensure that any `$` dependencies in your `createStore` function are called
23
- * consistently. If they are not, set `lockDependencies` to `false`.
24
- *
25
- * ---
26
- * @param createStore - Derive function that returns a store instance
27
- * @param overrides - Optional method overrides (e.g., `getState(id?: string)`)
28
- *
29
- * @example
30
- * ```ts
31
- * const useUserAssetsStore = createVirtualStore($ => {
32
- * const address = $(useWalletsStore).accountAddress;
33
- * return createUserAssetsStore(address);
34
- * });
35
- * ```
36
- */
37
- export declare function createVirtualStore<Store extends BaseStore<InferStoreState<Store>>>(createStore: ($: DeriveGetter) => Store, options?: VirtualStoreOptions): VirtualStore<Store>;
38
- export declare function createVirtualStore<Store extends BaseStore<InferStoreState<Store>>, Overrides extends MethodOverrides<Store>>(createStore: ($: DeriveGetter) => Store, overrides: (getStore: () => Store) => Overrides, options?: VirtualStoreOptions): VirtualStore<Store> & Overrides;
39
- export {};
40
- //# sourceMappingURL=createVirtualStore.d.ts.map
@@ -1,7 +0,0 @@
1
- export declare const IS_REACT_NATIVE = true;
2
- export declare const IS_BROWSER = false;
3
- export declare const IS_IOS: boolean;
4
- export declare const IS_ANDROID: boolean;
5
- export declare const IS_DEV: boolean;
6
- export declare const IS_TEST: boolean;
7
- //# sourceMappingURL=env.native.d.ts.map
package/dist/env.web.d.ts DELETED
@@ -1,7 +0,0 @@
1
- export declare const IS_REACT_NATIVE = false;
2
- export declare const IS_BROWSER: boolean;
3
- export declare const IS_IOS = false;
4
- export declare const IS_ANDROID = false;
5
- export declare const IS_DEV: boolean;
6
- export declare const IS_TEST: boolean;
7
- //# sourceMappingURL=env.web.d.ts.map
@@ -1,13 +0,0 @@
1
- import { RefObject } from 'react';
2
- /**
3
- * ### `useLazyRef`
4
- *
5
- * A version of `useRef` that allows for lazy initialization.
6
- *
7
- * ---
8
- * @param initializer A function that returns the initial value for the ref.
9
- *
10
- * @returns A stable, pre-initialized `RefObject<T>`.
11
- */
12
- export declare function useLazyRef<T>(initializer: () => T): RefObject<T>;
13
- //# sourceMappingURL=useLazyRef.d.ts.map