@storesjs/stores 0.10.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 (154) 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 -117
  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/cascadeScheduler.d.ts +0 -31
  37. package/dist/internal/derivedStore/deriveProxy.d.ts +0 -15
  38. package/dist/internal/derivedStore/pathFinder.d.ts +0 -26
  39. package/dist/internal/derivedStore.d.ts +0 -2
  40. package/dist/internal/errors.d.ts +0 -10
  41. package/dist/internal/logger.d.ts +0 -10
  42. package/dist/internal/middleware/createHydrationGate.d.ts +0 -20
  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 -13
  46. package/dist/internal/signal.d.ts +0 -12
  47. package/dist/internal/storage/storageCreators.d.ts +0 -12
  48. package/dist/internal/storeUtils.d.ts +0 -46
  49. package/dist/internal/sync/browserSyncEngine.d.ts +0 -3
  50. package/dist/internal/sync/noopSyncEngine.d.ts +0 -3
  51. package/dist/internal/sync/syncEnhancer.d.ts +0 -26
  52. package/dist/internal/sync/syncUtils.d.ts +0 -6
  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 -67
  59. package/dist/queryStore/queryKey.d.ts +0 -3
  60. package/dist/queryStore/signalTypes.d.ts +0 -14
  61. package/dist/queryStore/types.d.ts +0 -403
  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/createStore.d.ts +0 -6
  68. package/dist/store/persist.d.ts +0 -14
  69. package/dist/store/stateUpdate.d.ts +0 -10
  70. package/dist/store/types.d.ts +0 -108
  71. package/dist/storesStorage.native.d.ts +0 -3
  72. package/dist/storesStorage.web.d.ts +0 -3
  73. package/dist/sync/types.d.ts +0 -115
  74. package/dist/types/functions.d.ts +0 -24
  75. package/dist/types/objects.d.ts +0 -11
  76. package/dist/types/setState.d.ts +0 -22
  77. package/dist/types/subscribe.d.ts +0 -28
  78. package/dist/types/useStoreCallSignatures.d.ts +0 -2
  79. package/dist/types/useStoreCallSignatures.react.d.ts +0 -6
  80. package/dist/types/useStoreCallSignatures.vanilla.d.ts +0 -2
  81. package/dist/types/utils.d.ts +0 -13
  82. package/dist/types.d.ts +0 -286
  83. package/dist/utils/core.d.ts +0 -26
  84. package/dist/utils/createAsyncMicrotaskScheduler.d.ts +0 -35
  85. package/dist/utils/createMicrotaskScheduler.d.ts +0 -28
  86. package/dist/utils/debounce.d.ts +0 -22
  87. package/dist/utils/equality.d.ts +0 -38
  88. package/dist/utils/hydrationCoordinator.d.ts +0 -13
  89. package/dist/utils/promiseUtils.d.ts +0 -2
  90. package/dist/utils/serialization.d.ts +0 -14
  91. package/dist/utils/stringUtils.d.ts +0 -7
  92. package/dist/utils/time.d.ts +0 -37
  93. package/dist/vanilla/createBaseStore.d.ts +0 -35
  94. package/dist/vanilla/createDerivedStore.d.ts +0 -62
  95. package/dist/vanilla/createQueryStore.d.ts +0 -116
  96. package/dist/vanilla/createVirtualStore.d.ts +0 -39
  97. package/dist/vanilla/env.web.d.ts +0 -6
  98. package/dist/vanilla/index.d.ts +0 -1
  99. package/dist/vanilla/index.shared.d.ts +0 -13
  100. package/dist/vanilla/internal/baseStore.d.ts +0 -1
  101. package/dist/vanilla/internal/config.d.ts +0 -63
  102. package/dist/vanilla/internal/createStoreActions.d.ts +0 -23
  103. package/dist/vanilla/internal/derivedStore/cascadeScheduler.d.ts +0 -30
  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/queryStoreDefaults.d.ts +0 -7
  111. package/dist/vanilla/internal/queryStore.d.ts +0 -1
  112. package/dist/vanilla/internal/runtime.d.ts +0 -12
  113. package/dist/vanilla/internal/signal.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/utils/persistUtils.d.ts +0 -8
  120. package/dist/vanilla/internal/virtualStore.d.ts +0 -1
  121. package/dist/vanilla/queryStore/classes/SubscriptionManager.d.ts +0 -66
  122. package/dist/vanilla/queryStore/queryKey.d.ts +0 -2
  123. package/dist/vanilla/queryStore/signalTypes.d.ts +0 -13
  124. package/dist/vanilla/queryStore/types.d.ts +0 -402
  125. package/dist/vanilla/storage/storageTypes.d.ts +0 -12
  126. package/dist/vanilla/store/attachStoreHook.d.ts +0 -5
  127. package/dist/vanilla/store/attachStoreHook.vanilla.d.ts +0 -5
  128. package/dist/vanilla/store/batchStoreNotifications.web.d.ts +0 -1
  129. package/dist/vanilla/store/createStore.d.ts +0 -5
  130. package/dist/vanilla/store/persist.d.ts +0 -13
  131. package/dist/vanilla/store/stateUpdate.d.ts +0 -9
  132. package/dist/vanilla/store/types.d.ts +0 -107
  133. package/dist/vanilla/storesStorage.web.d.ts +0 -2
  134. package/dist/vanilla/sync/types.d.ts +0 -114
  135. package/dist/vanilla/types/functions.d.ts +0 -23
  136. package/dist/vanilla/types/objects.d.ts +0 -10
  137. package/dist/vanilla/types/setState.d.ts +0 -21
  138. package/dist/vanilla/types/subscribe.d.ts +0 -27
  139. package/dist/vanilla/types/useStoreCallSignatures.d.ts +0 -1
  140. package/dist/vanilla/types/useStoreCallSignatures.vanilla.d.ts +0 -1
  141. package/dist/vanilla/types/utils.d.ts +0 -12
  142. package/dist/vanilla/types.d.ts +0 -285
  143. package/dist/vanilla/utils/core.d.ts +0 -25
  144. package/dist/vanilla/utils/createAsyncMicrotaskScheduler.d.ts +0 -34
  145. package/dist/vanilla/utils/createMicrotaskScheduler.d.ts +0 -27
  146. package/dist/vanilla/utils/debounce.d.ts +0 -21
  147. package/dist/vanilla/utils/equality.d.ts +0 -37
  148. package/dist/vanilla/utils/hydrationCoordinator.d.ts +0 -12
  149. package/dist/vanilla/utils/promiseUtils.d.ts +0 -1
  150. package/dist/vanilla/utils/serialization.d.ts +0 -13
  151. package/dist/vanilla/utils/stringUtils.d.ts +0 -6
  152. package/dist/vanilla/utils/time.d.ts +0 -36
  153. package/dist/web/chunk-QJLWBD7M.mjs +0 -1
  154. package/dist/web/chunk-V4LHP7LR.mjs +0 -1
@@ -1 +1,2 @@
1
- import{isPlainObject as e,isRecordLike as t,hasOwn as n,isPromiseLike as r,reviver as o,replacer as i}from"../chunk-QJLWBD7M.mjs";export{replacer,reviver}from"../chunk-QJLWBD7M.mjs";import{IS_DEV as s,IS_TEST as a,IS_BROWSER as c,nullObject as u,IS_IOS as l,buildNullObject as f,noop as d,identity as y}from"../chunk-V4LHP7LR.mjs";export{identity,nullObject}from"../chunk-V4LHP7LR.mjs";function h(){return"undefined"!=typeof window?window.localStorage:null}var g={debug:(e,t)=>{s&&console.debug(e,t)},error:(e,t)=>{s&&!a&&console.error(e,t)},info:(e,t)=>{s&&console.info(e,t)},warn:(e,t)=>{s&&console.warn(e,t)}};function p(e){g=e}var m=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 b(e){return e instanceof Error?e:new Error(String(e))}var S,v="stores/core/sync-channel",w=`${v}:storage:`,O=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)}},j=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(w))try{const t=JSON.parse(e.newValue);this.dispatch(t)}catch(e){g.error(new m("[sync] Failed to parse storage event payload",e))}},this.channel="undefined"==typeof BroadcastChannel?null:new BroadcastChannel(v),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 r=u();for(const o of e.fields)n(t.values,o)&&(r[o]=t.values[o]);Object.keys(r).length&&e.apply({replace:t.replace,sessionId:t.sessionId,timestamp:t.timestamp,values:r})};let r=this.listeners.get(e.key);return r||(r=new Set,this.listeners.set(e.key,r)),r.add(t),new O({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){g.error(new m("[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=`${w}${e.storeKey}`;try{this.storage.setItem(t,JSON.stringify(e))}catch(e){g.error(new m("[sync] Failed to write broadcast payload to storage",e))}}};function I(){try{return"undefined"!=typeof window?window.localStorage:null}catch{return null}}var k,F,C,q=class{destroy(){}publish(){}},T=class{constructor(){this.sessionId="noop"}register(e){return new q}},A="stores:",z=!1;function D(e){s&&function(){if(z)throw new Error("[stores]: configureStores() called after first store creation. Call it earlier before creating any stores.")}(),e.logger&&p(e.logger),F??(F=function(e){return e?.queryStoreDefaults?{queryStoreDefaults:e.queryStoreDefaults}:void 0}(e)),C??(C=K(e))}function E(){if(F)return F}function M(){return C??(C=K(void 0))}function $(){z=!0}function K(e){return{storage:e?.storage??(t=e?.storageKeyPrefix??A,{clearAll(){try{const e=h();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=h();return null!==n?.getItem(`${t}${e}`)},delete(e){try{const n=h();n?.removeItem(`${t}${e}`)}catch(e){console.error("Error deleting from localStorage:",e)}},getAllKeys(){try{const e=h();return e?Array.from(e.keys()):[]}catch(e){return console.error("Error getting keys from localStorage:",e),[]}},get(e){try{const n=h();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=h();r?.setItem(`${t}${e}`,n)}catch(e){console.error("Error writing to localStorage:",e)}}}),syncEngine:e?.syncEngine??(c?(S||(S=new j),S):(k||(k=new T),k))};var t}var P,R={Error:"error",Idle:"idle",Loading:"loading",Success:"success"},x={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 L(e,t){const n=t?.baseDelay??x.seconds(5),r=t?.maxDelay??x.minutes(5);return Math.min(n*Math.pow(2,e),r)}function N(e){return JSON.stringify(H(e))}function W(e){return JSON.parse(e)}function H(t){return"object"!=typeof t||null===t?t:Object.keys(t).sort().reduce((n,r)=>{const o=t[r];return n[r]=e(o)?H(o):o,n},u())}function U(e,t){return!0===t[1]?e(t[0],!0):e(t[0])}function J(e,n,r){if(!0===r)return V(n)?n(e):n;const o=V(n)?n(e):n;return Object.is(o,e)?e:t(e)&&t(o)?{...e,...o}:o}function V(e){return"function"==typeof e}var B=Object.freeze({QueryStore:Symbol("queryStore"),VirtualStore:Symbol("virtualStore")});function Q(e,t){return Object.assign(e,{[t]:!0})}function _(e,t){ee(e)?e.getState().reset(t?.clearQueryCache):Y(e)&&e.destroy()}function G(e,t){for(const n of Array.isArray(e)?e:Object.values(e))n&&!t?.skipDestroy?.(n)&&_(n,t)}function X(e){const t="function"==typeof(n=e)?n.name:"";var n;return ne(e)?e.persist.getOptions().name??t:t}function Y(e){return"destroy"in e}function Z(e){return"getSnapshot"in e}function ee(e){return B.QueryStore in e}function te(e){return"flushUpdates"in e}function ne(e){return!(!("persist"in e)||!e.persist)&&"string"==typeof e.persist.getOptions().name}function re(e){return B.VirtualStore in e}function oe(e,t){const n=function(e){const t=e.getState(),n=u(),r=n;if(s&&("object"!=typeof t||null===t))throw new Error("[createStoreActions]: State is not an object");if(re(e))for(const n in t)se(t,n)&&(r[n]=ie(e,n));else for(const e in t)se(t,e)&&(r[e]=t[e]);return n}(e);return t?Object.assign(n,t):n}function ie(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 se(e,t){return"function"==typeof e[t]}function ae(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)||!ae(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 ue(e,t){const n=Object.prototype.hasOwnProperty;function r(e,t){for(const n of e.keys())if(ue(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--&&ue(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(!ue(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)||!ue(e[r],t[r]))return!1}return Object.keys(t).length===i}}return e!=e&&t!=t}function le(e){let t;const n=new Set;function r(...e){const r=J(t,...e);if(Object.is(r,t))return;const o=t;t=r,n.forEach(e=>e(t,o))}function o(){return t}const i={getInitialState:function(){return s},getState:o,setState:r,subscribe:function(...e){return 1===e.length?a(e[0]):function(e,n,r){const o=r?.equalityFn??Object.is;let i=e(t);return r?.fireImmediately&&n(i,i),a(function(t){const r=e(t);if(o(i,r))return;const s=i;i=r,n(r,s)})}(e[0],e[1],e[2])}},s=t=e(r,o,i);return i;function a(e){return n.add(e),()=>{n.delete(e)}}}function fe(e){return{...e,merge:e.merge??de,skipHydration:e.skipHydration??!1}}function de(e,t){return void 0===e?t:{...t,...e}}function ye(){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 he=Math.max,ge=Math.min;function pe(e,t=0,n={}){let r,o,i,s,a,c,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-(c??0);return void 0===c||n>=t||n<0||f&&void 0!==i&&e-u>=i}function g(){const e=me();if(h(e))return p(e);a=setTimeout(g,function(e){const n=t-(e-(c??0));return f&&void 0!==i?ge(n,i-(e-u)):n}(e))}function p(e){return a=void 0,d&&r?y(e):(r=o=void 0,s)}function m(...e){const n=me(),i=h(n);if(r=e,o=this,c=n,i){if(void 0===a)return function(e){return u=e,a=setTimeout(g,t),l?y(e):s}(c);if(f)return clearTimeout(a),a=setTimeout(g,t),y(c)}return void 0===a&&(a=setTimeout(g,t)),s}return t=be(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?he(be(n.maxWait)||0,t):void 0,d="trailing"in n?!!n.trailing:d),m.cancel=function(){void 0!==a&&clearTimeout(a),u=0,r=c=o=a=void 0},m.flush=function(){return void 0===a?s:p(me())},m}function me(){return"undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():Date.now()}function be(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 Se(t){if(!e(t))return t;const n=u(),r=Object.keys(t);for(let e=0;e<r.length;e++){const o=r[e],i=t[o];"function"!=typeof i&&(n[o]=i)}return n}var ve=a?0:c?x.ms(200):x.seconds(l?3:5);function we(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??Se,a=t.deserializer??e.deserializer??je(o),c=t.serializer??e.serializer??Ie(o);function u(t,n,o){try{if(qe(r))return;const a={state:s(n),version:o},u=Fe(r,i,a),l=c(a);try{e.set(t,l),Ce(r,u)}catch(e){g.error(new m("[createBaseStore]: Failed to persist store data",e))}}catch(e){g.error(new m("[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:a(n)},setItem:(e,t,n)=>{r?.getIsApplyingRemote()||l(e,t,n)},removeItem:t=>{try{e.delete(t)}catch(e){g.error(new m("[createBaseStore]: Failed to delete persisted store data",e))}}}}function Oe(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??Se,a=t.deserializer??e.deserializer??je(o),c=t.serializer??e.serializer??Ie(o);async function u(t,n,o){try{if(qe(r))return;const a={state:s(n),version:o},u=Fe(r,i,a),l=c(a);try{await e.set(t,l),Ce(r,u)}catch(e){g.error(new m("[createBaseStore]: Failed to persist store data",e))}}catch(e){g.error(new m("[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:a(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){g.error(new m("[createBaseStore]: Failed to delete persisted store data",e))}}}}function je(e){return t=>{if("string"!=typeof t)throw new m("[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?o:void 0)}catch(e){throw g.error(new m("[createBaseStore]: Failed to deserialize persisted store data",e)),e}}(t,e)}}function Ie(e){return t=>function(e,t){try{return JSON.stringify(e,t?i:void 0)}catch(e){throw g.error(new m("[createBaseStore]: Failed to serialize store data",e)),e}}(t,e)}var ke=Object.freeze({shouldClear:!1});function Fe(e,t,n){if(!t||!e)return ke;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 Ce(e,t){e&&t.shouldClear&&t.fieldSnapshot&&Object.keys(t.fieldSnapshot).length&&e.clearFieldTimestamps(t.fieldSnapshot)}function qe(e){return!!e&&!!e.getIsApplyingRemote()}var[Te,Ae]=[0,1];function ze(e,t,n){if(!e)return!0;const r=e[Te],o=e[Ae];return!(t<r)&&(t>r||n>o)}function De(e,t){return Object.prototype.hasOwnProperty.call(t,e)}function Ee(e,t){if(!s)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 Me(e){if(null===e)return"null";const t=typeof e;return"object"===t?Object.prototype.toString.call(e):t}function $e(e,t){if($(),!t)return le(e);const n=t.storageKey,o="string"==typeof n,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 m("[createBaseStore]: sync requires a key to be specified either directly or via storageKey");return n?{...e,key:r}:{key:r}}(t.sync,n),a=s?function(e,t,n){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}}(n);return{stateCreator:(s,a,c)=>{const l=new Map,f=[],d=[];let y=null,h=!1,p=!1,b=0,S=null,v=[],w=Promise.resolve(),O=!n;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 I(e,t){if(h||!S)return t?s(e,t):s(e);const n=function(){const e=Date.now(),t=e>b?e:b+1;return b=t,t}();let i=[],a=u();const c=r=>{const o=J(r,e,t);for(const e of v)Object.is(o[e],r[e])||(i.push(e),a[e]=o[e]);return i.length&&j(n,i),o},f=t?s(c,!0):s(c);function g(){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:a,timestamp:n})}return r(f)?f.finally(g):(g(),f)}const k=c.setState;c.setState=I;const F=e(I,a,c);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}(F),!v.length)return F;async function C(e){b=Math.max(b,e.timestamp);const n=u(),r=a(),o=e.timestamp;let s;if(e.replace)for(const t of v)De(t,e.values)||ze(l.get(t),o,e.sessionId)&&(s??(s=[])).push(t);for(const i of v){if(!De(i,e.values))continue;if(!S?.has(i))continue;if(!ze(l.get(i),o,e.sessionId))continue;const s=t.merge?.[i];if(s){const t=e.values[i],a=r[i];if(void 0!==t){const c=s(t,a,r,e.values),u=void 0!==a?a:t;if(!Ee(c,u))return void g.error(new m(`[sync] Merge function for field "${String(i)}" returned ${Me(c)} but expected ${Me(u)}`));n[i]=c,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){n?w=w.then(()=>C(e)):C(e)}if(S=new Set(v),y=o.register({apply:e=>{O?q(e):f.push(e)},fields:v,getState:a,key:t.key}),y?.onFirstSubscribe||y?.onLastUnsubscribe){let e=0;const t=c.subscribe;c.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 A(){O=!0,function(){if(!f.length)return;const e=f.slice();f.length=0;for(const t of e)q(t)}()}return n?(i.onHydrationComplete=T,i.onHydrationFlushEnd=A):y.onHydrated?(y.onHydrated(T),A()):(T(),A()),F},syncContext:i}}(e,s,i?.async??!1):void 0,c=a?.stateCreator??e;if(!o)return le(c);const l=function(e,t,n){const r=t??e.storage??M().storage,o=(e.sync?void 0:e.persistThrottleMs??ve)||void 0,i=e.version??0;return r.async?{async:!0,persistStorage:Oe(r,e,o,n),version:i}:{async:!1,persistStorage:we(r,e,o,n),version:i}}(t,i,a?.syncContext),f=l.async?function(e){let t,n,r,o=!1;return{hydrationPromise:()=>o?t?.promise??n??(n=Promise.resolve()):(t||(t=ye()),t.promise),stateCreator:(n,i,s)=>{let a;return r=()=>{if(a?.length){for(const e of a)U(s.setState,e);a=void 0}},e(function(...e){return o?U(n,e):(t||(t=ye()),a||(a=[]),a.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(b(i)):t?.complete(),s?.(e,i)}}}}(c):void 0,d=f?f.wrapOnRehydrateStorage(t.onRehydrateStorage,a?.syncContext):t.onRehydrateStorage,y=le(function(e,t){return(n,o,i)=>{let s,a,c,u=fe(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 U(y,e),d()};const h=e(function(...e){return U(n,e),d()},o,i);function g(){const e=function(){const e=++f;return l=!1,a?.forEach(e=>e(o()??h)),e}(),t=u.onRehydrateStorage?.(o()??h);try{const n=u.storage.getItem(u.name);return r(n)?n.then(n=>p(e,n,t)).catch(n=>S(e,t,n)):p(e,n,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=>(c??(c=new Set),c.add(e),()=>{c?.delete(e),0===c?.size&&(c=void 0)}),onHydrate:e=>(a??(a=new Set),a.add(e),()=>{a?.delete(e),0===a?.size&&(a=void 0)}),rehydrate:g,setOptions:e=>{u=fe({...u,...e,storage:e.storage??u.storage})}}}),u.skipHydration||g(),s??h;function p(e,t,n){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 n=e.migrate(t.state,t.version);return r(n)?n.then(e=>({migrated:!0,state:e})):{migrated:!0,state:n}}(u,t);return r(o)?o.then(t=>m(e,t,n)).catch(t=>S(e,n,t)):m(e,o,n)}function m(e,t,i){const a=function(e,t){if(e!==f)return;const r=u.merge(t.state,o()??h);return s=r,n(r,!0),t.migrated?d():void 0}(e,t);if(r(a))return a.then(()=>b(e,i));b(e,i)}function b(e,t){if(e!==f)return;t?.(s,void 0);const n=o();s=n,l=!0,c?.forEach(e=>e(n))}function S(e,t,n){e===f&&t?.(void 0,n)}}}(f?(e,t,n)=>(a&&(a.syncContext.setWithoutPersist=n.setState),f.stateCreator(e,t,n)):c,{merge:t.merge,migrate:t.migrate,name:n,onRehydrateStorage:d,storage:l.persistStorage,version:l.version}));return f?Object.assign(y,{persist:Object.assign(y.persist,{hydrationPromise:f.hydrationPromise})}):y}function Ke(e,t,n="s"){return 1===t?e:`${e}${n}`}var Pe=!1,Re=!1,xe=new Map,Le=new Map,Ne=new Map,We=null,He=1/0;function Ue(){return Pe}function Je(){return We}function Ve(){Pe||(Pe=!0,Re||(Re=!0,queueMicrotask(()=>{Re=!1,(()=>{for(;Le.size>0;){const e=He,t=Ne.get(e);if(t){Ne.delete(e);for(const e of t)Le.delete(e);We=e;for(const e of t)e();if(We=null,Ne.size>0){He=1/0;for(const e of Ne.keys())e<He&&(He=e)}else He=1/0}else{He=1/0;for(const e of Ne.keys())e<He&&(He=e)}}for(;xe.size>0;){const e=Array.from(xe.values());xe.clear();for(const t of e)t()}})(),Pe=!1,We=null,Le.clear(),Ne.clear(),He=1/0})))}function Be(e,t){Pe&&xe.set(e,t)}var Qe=Symbol("stores.deriveProxy.unwrap");function _e(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?Ge(e,r,t,n,new WeakSet,new WeakMap):(n(t,r,!0),e)}(Z(e)?e.getSnapshot():e.getState(),e,n);return t.set(e,o),o}function Ge(e,t,n,r,o,i){return new Proxy(e,{get(s,a,c){if(a===Qe)return r(n,t,!0),s;if(o.has(s))return Reflect.get(s,a,c);if("__proto__"===a||"symbol"==typeof a)return a===Symbol.iterator&&(r(n,t,!0),o.add(s)),Reflect.get(s,a,c);const u=Reflect.get(s,a,s),l=String(a),f=t.concat(l);if("function"==typeof u)return Object.prototype.hasOwnProperty.call(s,a)?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,Ge(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 Xe(t,n){if(!t||"object"!=typeof t)return t;const r=function(e){const t=Reflect.get(e,Qe);return t&&"object"==typeof t?t:void 0}(t);return r||(Array.isArray(t)?function(e,t){const n=Ze(e,t);if(n)for(let t=0;t<e.length;t++)Ye(e,String(t),n)}(t,n):e(t)&&function(e,t){const n=Ze(e,t);if(n)for(const t of Reflect.ownKeys(e))Ye(e,t,n)}(t,n),t)}function Ye(e,t,n){const r=Reflect.getOwnPropertyDescriptor(e,t);if(!r||!("value"in r))return;const o=Xe(r.value,n);o!==r.value&&(r.value=o,Reflect.defineProperty(e,t,r))}function Ze(e,t){const n=t??new WeakSet;return n.has(e)?null:(n.add(e),n)}var et=Object.freeze([]);function tt(){const e=new Map;return{buildProxySubscriptions(t,n,r,o){const i=new Set;for(const t of e)ot(t[1],t[0],[],0,i,r);!1!==o?.(i)&&function(e,t,n){for(const n of e){const e=n.invocation?ct(n.path,n.invocation):at(n.path);t(n.store,e,n.path)}n&&function(e){const t=e.size;console.log(`[📡 ${t} ${Ke("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}_${Ke("arg",o)})`:"()"}`}),null,2))}(e)}(i,t,n)},reset(){e.clear()},trackPath(t,n,r,o){let i=e.get(t);i||(i=nt(),e.set(t,i)),rt(i,n,0,r,o)}}}function nt(){return u()}function rt(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(it(n,t))return;const r=e.extraInvocations;if(r){for(let e=0;e<r.length;e++)if(it(r[e],t))return;r.push(t)}else e.extraInvocations=[t]}(e,o));e.children||(e.children=nt());const i=t[n];let s=e.children?.[i];s||(s=nt(),e.children[i]=s),rt(s,t,n+1,r,o)}function ot(e,t,n,r,o,i=2){const s=e.children;if(!s)return void st(e,t,n,o);const a=Object.keys(s),c=a.length;if(0!==c)if(e.isLeaf||r>=i&&c>1){st(e,t,n,o);for(const e of a){const a=s[e];a.invocation&&ot(a,t,[...n,e],r+1,o,i)}}else if(r<i&&c>1&&!e.isLeaf)for(const e of a)ot(s[e],t,[...n,e],r+1,o,i);else{if(1===c){const e=a[0];return void ot(s[e],t,[...n,e],r+1,o,i)}st(e,t,n,o)}else st(e,t,n,o)}function it(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 st(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 at(e){return t=>ut(t,e)}function ct(e,t){const n=e.slice(0,-1),r=e[e.length-1];return e=>{const o=ut(e,n),i=o&&"object"==typeof o?Reflect.get(o,r):void 0;return"function"==typeof i?Reflect.apply(i,o,t.args??et):void 0}}function ut(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 lt=Symbol(),ft=Object.freeze({equalityFn:Object.is,isDerivedStore:!0});function dt(e,t=Object.is){const{debounceOptions:n,debugMode:r,equalityFn:o,keepAlive:i,lockDependencies:a}="function"==typeof(l=t)?{debounceOptions:void 0,debugMode:!1,equalityFn:l,keepAlive:!1,lockDependencies:!1}:{debounceOptions:l.debounce,debugMode:(s&&l.debugMode)??!1,equalityFn:l.equalityFn??Object.is,keepAlive:l.keepAlive??!1,lockDependencies:l.lockDependencies??!1},c=String(yt+=1),u=new Set;var l;i&&u.add(ht);const f=new Set;let d,h,g=lt,p=!1,m=!0,b=!0,S=0,v=!1,w=null,O=lt;function j(e,t,n){return b&&u.size?t?(f.add(e.subscribe(t,M,n?{equalityFn:n,isDerivedStore:!0}:ft)),t(Z(e)?e.getSnapshot():e.getState())):(d||(d=new WeakMap),h||(h=tt()),_e(e,d,h.trackPath)):(t??y)(Z(e)?e.getSnapshot():e.getState())}function I(e){for(const t of f)t(e);f.clear()}let k=!0;function F(){if(!m&&gt(g))return g;m=!1,b&&I(!0);const t=g,n=gt(t);g=function(t){k=!0;const n=g,i=e(t),s=h?Xe(i):i;return gt(n)&&o(n,s)?(r&&console.log("[🥷 Derive Complete 🥷]: No change detected"),k=!1,n):s}(j);const i=r&&(!n||"verbose"===r&&b);if(i){n?"verbose"===r&&console.log("[🌀 Rebuilding Subscriptions 🌀]: Created…"):console.log("[🌀 Initial Derive Complete 🌀]: Created…");const e=f.size;console.log(`[🎯 ${e} ${Ke("Selector Subscription",e)} 🎯]`)}return h&&b&&(h.buildProxySubscriptions((e,t)=>{f.add(e.subscribe(t,M,ft))},i),d=void 0,h.reset(),a&&(h=void 0)),k&&n&&function(e,t){const n=function(){const e=u.has(ht)?u.size-1:u.size;return S>0&&S<e}(),o=!S||n,i=n||null!==Je()||Ue()&&o;n&&Ve(),r&&console.log(`[📻 Derive Complete 📻]: Notifying ${u.size} ${Ke("watcher",u.size)}`);for(const t of u){if("function"==typeof t||!t.isDerivedWatcher)continue;const n=t.selector(e);if(!t.equalityFn(t.currentSlice,n)){const e=t.currentSlice;t.currentSlice=n,t.listener(n,e)}}i?v||(v=!0,gt(O)||(O=t),Be(c,q)):C(e,t)}(g,t),a&&(b=!1),g}function C(e,t){for(const n of u)if("function"==typeof n)n(e,t);else if(!n.isDerivedWatcher){const t=n.selector(e);if(!n.equalityFn(n.currentSlice,t)){const e=n.currentSlice;n.currentSlice=t,n.listener(t,e)}}}function q(){if(!u.size)return;if(m&&!S&&F(),!gt(g))return;const e=gt(O)?O:g;C(g,e),v=!1,O=lt}const T=n?pe(z,"number"==typeof n?n:n.delay,"number"==typeof n?{leading:!1,maxWait:n,trailing:!0}:n):void 0,A=T??(()=>{p||(p=!0,queueMicrotask(z))});function z(){p=!1,u.size?m&&F():K()}function D(e){e||T&&m?queueMicrotask(()=>{u.size||K()}):K()}function E(){z(),w=null}function M(){if(!m){if(m=!0,!T){if(S){Ve();const e=Je(),t=null===e?0:e+1;if(null!==w&&t<=w)return;return w=t,void function(e,t){if(!Pe)return;const n=t<0?0:0|t,r=Le.get(e);if(void 0===r){Le.set(e,n);let t=Ne.get(n);return t||(t=new Set,Ne.set(n,t)),t.add(e),void(n<He&&(He=n))}if(n>r){const t=Ne.get(r);if(t&&(t.delete(e),0===t.size&&(Ne.delete(r),r===He))){He=1/0;for(const e of Ne.keys())e<He&&(He=e)}Le.set(e,n);let o=Ne.get(n);o||(o=new Set,Ne.set(n,o)),o.add(e),n<He&&(He=n)}}(E,t)}if(Ue())return void(v||(v=!0,gt(g)&&(O=g),Be(c,q)))}w=null,A()}}function $(){return m||!gt(g)?u.size>0?F():e(j):g}function K(e=!0){i&&e||(T?.cancel(),I(),u.clear(),S=0,h=void 0,d=void 0,b=!0,p=!1,m=!0,g=lt,v=!1,O=lt,w=null)}return{destroy:()=>K(!1),flushUpdates:function(){u.size&&(T?T.flush():m&&F())},getSnapshot:function(){if(!gt(g)){u.add(ht);const e=F();return u.delete(ht),e}return p&&z(),g},getState:$,subscribe:function(...e){if(1===e.length){const t=e[0];return u.add(t),1!==u.size||gt(g)||$(),()=>{u.delete(t),u.size||D(!1)}}const[t,n,r]=e,o=r?.equalityFn??Object.is,i=r?.isDerivedStore??!1,s={currentSlice:void 0,equalityFn:o,isDerivedWatcher:i,listener:n,selector:t};return u.add(s),s.currentSlice=t($()),i&&(S+=1),r?.fireImmediately&&n(s.currentSlice,s.currentSlice),()=>{u.delete(s),i&&(S-=1),u.size||D(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.")}}}var yt=0;function ht(){}function gt(e){return e!==lt}var pt=class{constructor({disableAutoRefetching:e,initialEnabled:t}){this.count=0,this.enabled=!1,this.lastSubscriptionTime=null,this.fetchThrottleMs=null,this.onSubscribe=null,this.onLastUnsubscribe=null,this.enabled=t,e&&(this.fetchThrottleMs=x.seconds(5))}init({onSubscribe:e,onLastUnsubscribe:t}){this.onSubscribe=e,this.onLastUnsubscribe=t}get(){return{enabled:this.enabled,lastSubscriptionTime:this.lastSubscriptionTime,subscriptionCount:this.count}}setEnabled(e){this.enabled=e}subscribe(){const e=0===this.count,t=null!==this.fetchThrottleMs&&null!==this.lastSubscriptionTime&&!e&&Date.now()-this.lastSubscriptionTime<=this.fetchThrottleMs;return this.onSubscribe?.(this.enabled,e,t),this.count+=1,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)}}},mt=new WeakMap,bt=new WeakMap;function St(e,t=vt,n=ue){return function(e,t,n){let r=bt.get(e);r||(r=new Map,bt.set(e,r));let o=r.get(t);o||(o=new Map,r.set(t,o));const i=o.get(n);if(i)return i;const[s,a,c]=Ot(e,t,n),l=new Map,f=e=>{const t={get(t,n){if("value"===n){let t=a();const n=e.split(".");for(const e of n)e&&(t=t[e]);return t}const r="string"==typeof n?n:n.toString(),o=e?`${e}.${r}`:r,i=l.get(o);if(i)return i;const c=f(o);return mt.set(c,s),l.set(o,c),c},set(t,n,r){const o=e.split(".");return""===o[0]&&o.shift(),c(o,r),!0}};return new Proxy(u(),t)},d=f("");return s(()=>{}),mt.set(d,s),o.set(n,d),d}(e,t,n)}var vt=e=>e,wt=(e,t,n)=>{if(!t.length)return n;const[r,...o]=t,i=e[r],s=wt(i,o,n);if(ue(i,s))return e;const a=Array.isArray(e)?e.slice():{...e};return a[r]=s,a},Ot=(e,t,n)=>{const r=new Set,o=Z(e);let i,s=t(o?e.getSnapshot():e.getState());return[a=>(r.size||(i=e.subscribe(t,e=>{s=e,r.forEach(e=>e())},{equalityFn:n,isDerivedStore:o})),r.add(a),()=>{r.delete(a),!r.size&&i&&(i(),i=void 0)}),()=>(r.size||(s=t(e.getState())),s),(n,r)=>{if(t!==vt)throw new Error("Cannot set a value with a selector");e.setState(e=>wt(e,n,r),!0)}]};function jt(e){return mt.get(e)}var It={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},kt=Object.freeze({force:!0}),Ft=Object.freeze({once:!0}),Ct=Object.freeze({updateQueryKey:!0});function qt(e,t,r){$();const o="function"==typeof t?t:Kt,i="object"==typeof t?t:r,c=function(e){return"string"==typeof e?.storageKey}(i)?i:void 0,l=P??(P=function(){const e={abortInterruptedFetches:!0,cacheTime:x.days(7),debugMode:!1,disableAutoRefetching:!1,keepPreviousData:!1,maxRetries:5,minStaleTime:!1,paramChangeThrottle:!1,retryDelay:L,staleTime:x.minutes(2),suppressStaleTimeWarning:!1},t=E()?.queryStoreDefaults;return t?{...e,...t}:e}()),d=l.minStaleTime,{fetcher:y,onError:h,onFetched:p,setData:S,transform:v,abortInterruptedFetches:w=l.abortInterruptedFetches,cacheTime:O=l.cacheTime,debugMode:j=l.debugMode,disableAutoRefetching:I=l.disableAutoRefetching,disableCache:k=!1,enabled:F=!0,keepPreviousData:C=l.keepPreviousData,maxRetries:q=l.maxRetries,paramChangeThrottle:T=l.paramChangeThrottle,params:A,retryDelay:z=l.retryDelay,staleTime:D=l.staleTime,suppressStaleTimeWarning:M=l.suppressStaleTimeWarning}=e;let K="function"==typeof D?l.staleTime:D;s&&!1!==d&&!I&&!M&&K<d&&console.warn(`[createQueryStore${c?.storageKey?`: ${c.storageKey}`:""}] ❌ Stale times under ${d/1e3} seconds are not recommended. Provided staleTime: ${K/1e3} seconds`);const W=new Error("[createQueryStore: AbortError] Fetch interrupted"),H="function"==typeof O,U=s&&j,J=e.params?Object.keys(e.params):[];let V=null,_=null,G=null,X=[],Y=!1,Z=!1,ee=null,te=null,ne=null,re=null,oe=null;const ie={enabled:"function"!=typeof F&&F,error:null,lastFetchedAt:null,queryCache:{},queryKey:"",status:R.Idle},se=new pt({disableAutoRefetching:I,initialEnabled:ie.enabled});function ae(){ee&&(te=null,ee.abort(),ee=null)}function ce(t,n,r){const i=r.setState;function s(e){const t="function"==typeof e;if(t||void 0!==e.enabled){let n;const r=i(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&&oe!==t&&(oe=t,se.setEnabled(t),t?queueMicrotask(()=>u.fetch(void 0,Ct)):(ne||w)&&(w&&ae(),ne&&(clearTimeout(ne),ne=null)))}(r.enabled,i)),o});return n?.(),r}return i(e)}function a(e,t){if(I||t?.skipStoreUpdates)return;if(K<=0||K===1/0)return;ne&&(clearTimeout(ne),ne=null);const r=N(e),o=n(),i=(k?re===r&&o.lastFetchedAt:o.queryCache[r]?.lastFetchedAt)||null,s=i?K-(Date.now()-i):K;ne=setTimeout(()=>{const t=se.get();t.enabled&&t.subscriptionCount>0&&u.fetch(e,kt,!0)},s)}r.setState=s,se.init({onSubscribe:(r,o,i)=>{if(_||V||!A&&"function"!=typeof e.enabled&&"function"!=typeof e.staleTime){if(r)if(o){const e=At(V,_),r=N(e),o=n();o.queryKey!==r&&t({queryKey:r}),o.isStale()?u.fetch(e,void 0,!0):a(e,void 0)}else I&&!i&&u.fetch(void 0,void 0,!0)}else Y=!0},onLastUnsubscribe:e=>{ne&&(clearTimeout(ne),ne=null),w&&!e&&ae()}});const u={...o(s,n,r),...ie,async fetch(e,r,o=!1){const i=se.get();if(!r?.force&&!r?.skipStoreUpdates&&!i.enabled)return null;const l=n(),f=l.error,d=l.queryKey,j=l.status===R.Loading,I=Tt(V,_,J,e),F=N(I);if(j&&te?.promise&&te.key===F)return U&&console.log("[🔄 Using Active Fetch 🔄] for params:",JSON.stringify(I)),te.promise;const T=r?.staleTime??K,A=!!r?.skipStoreUpdates,D="boolean"==typeof r?.updateQueryKey?r.updateQueryKey:!!o&&C,E=(o||d===F||D)&&!A;if(w&&E&&ae(),!r?.force){const e=l.lastFetchedAt,n=l.queryCache[F],o=n?.lastFetchedAt,s=n?.errorInfo,c=s&&s.retryCount>=q,u=(k?re===F&&e:o)||null;if(u&&!(Date.now()-u>=T)&&(!s||c||A))return E&&!ne&&i.subscriptionCount>0&&0!==K&&K!==1/0&&a(I,r),D&&t(e=>e.queryKey!==F?{queryKey:F}:e),U&&console.log("[💾 Returning Cached Data 💾] for params:",JSON.stringify(I)),n?.data??null}E&&(ne&&(clearTimeout(ne),ne=null),!f&&j||t({error:null,status:R.Loading}),te={key:F});const M=r?.cacheTime??(H?O(I):O);async function $(){const i=c?.storageKey||F;try{U&&(o||!e||zt(e,J)?console.log("[🔄 Fetching 🔄] for params:",JSON.stringify(I)):console.log("[🔄 Fetching with Partial Params 🔄]\n","- Provided params:",`${JSON.stringify(e)}\n`,"- Filled in params:",`${JSON.stringify(Object.fromEntries(Object.keys(I).filter(t=>!(t in e)).map(e=>[e,I[e]])))}`));const n=await(w&&E?async function(e){const t=new AbortController;ee=t;try{return await new Promise((n,r)=>{t.signal.addEventListener("abort",()=>r(W),Ft),Promise.resolve(y(e,t)).then(n,r)})}finally{ee===t&&(ee=null)}}(I):y(I,null)),c=Date.now();let l;U&&console.log("[✅ Fetch Successful ✅] for params:",JSON.stringify(I));try{l=function(e,t,n){return n?n(e,t):e}(n,I,v)}catch(e){throw Pt(i,"transform",e)}if(A)return U&&console.log("[🥷 Successful Parallel Fetch 🥷] for params:",JSON.stringify(I)),"withCache"===r.skipStoreUpdates&&t(e=>{if(!S)return k?e:{queryCache:{...e.queryCache,[F]:{cacheTime:M,data:l,errorInfo:null,lastFetchedAt:c}}};let t=e;const n=t.queryCache[F];try{S({data:l,params:I,queryKey:F,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}})}catch(e){throw Pt(i,"setData",e)}return!k&&Object.is(n,t.queryCache[F])&&(t={...t,queryCache:{...t.queryCache,[F]:{cacheTime:M,data:null,errorInfo:null,lastFetchedAt:c}}}),t}),l;if((S?s:t)(e=>{let t={...e,error:null,lastFetchedAt:c,queryKey:D?F:e.queryKey,status:R.Success};if(S||k){if(S){U&&console.log("[💾 Setting Data 💾] for params:",JSON.stringify(I));const e=t.queryCache[F];try{S({data:l,params:I,queryKey:F,set:e=>{t="function"==typeof e?{...t,...e(t)}:{...t,...e}}})}catch(e){throw Pt(i,"setData",e)}!k&&Object.is(e,t.queryCache[F])&&(t.queryCache={...t.queryCache,[F]:{cacheTime:M,data:null,errorInfo:null,lastFetchedAt:c}})}}else U&&console.log("[💾 Setting Cache 💾] for params:",JSON.stringify(I),"| Has previous data?:",!!t.queryCache[F]?.data),t.queryCache={...t.queryCache,[F]:{cacheTime:M,data:l,errorInfo:null,lastFetchedAt:c}};return k||O===1/0?t:$t(C,F,t)}),E&&(re=F,a(I,r)),p)try{p({data:l,fetch:u.fetch,params:I,set:s})}catch(e){g.error(Pt(i,"onFetched callback",e))}return l??null}catch(s){if(s===W)return U&&console.log("[❌ Fetch Aborted ❌] for params:",JSON.stringify(I)),null;const a=!o&&!0===r?.throwOnError,c=b(s);if(c instanceof m&&g.error(c),!E){if(a)throw c;return null}const l=k?void 0:n().queryCache[F],f=l?.errorInfo?.retryCount??0,d=f+1;try{h?.(c,f)}catch(e){g.error(Pt(i,"onError callback",e))}if(f<q){if(se.get().subscriptionCount>0){const t="function"==typeof z?z(d,c):z;t!==1/0&&(ne&&clearTimeout(ne),ne=setTimeout(()=>{const t=se.get();t.enabled&&t.subscriptionCount>0&&u.fetch(e,kt,!0)},t))}t(e=>({error:c,queryCache:{...e.queryCache,[F]:{cacheTime:l?.cacheTime??M,data:l?.data??null,lastFetchedAt:l?.lastFetchedAt??null,errorInfo:{error:c,lastFailedAt:Date.now(),retryCount:d}}},queryKey:D?F:e.queryKey,status:R.Error}))}else t(e=>({error:c,queryCache:{...e.queryCache,[F]:{cacheTime:l?.cacheTime??M,data:l?.data??null,lastFetchedAt:l?.lastFetchedAt??null,errorInfo:{error:c,lastFailedAt:Date.now(),retryCount:q}}},queryKey:D?F:e.queryKey,status:R.Error}));if(a)throw c;return null}finally{E&&(te=null)}}return E?(te={key:F,promise:$()}).promise:$()},getCacheEntry(e){if(k)return null;const t=n(),r=e?"string"==typeof e?e:N(Tt(V,_,J,e)):t.queryKey;return t.queryCache[r]??null},getData(e){if(k)return null;const t=n().getCacheEntry(e);return t&&null!==t.data?C?t.data:t.lastFetchedAt&&Date.now()-t.lastFetchedAt>=t.cacheTime?null:t.data:null},getStatus:function(e){const t=n(),r=t.status;switch(e){case"isIdle":return r===R.Idle;case"isLoading":return r===R.Loading;case"isError":case"isInitialLoad":case"isSuccess":case void 0:{const n=t.queryKey,o=t.queryCache[n],i=k?r===R.Error:"number"==typeof o?.errorInfo?.lastFailedAt;if("isError"===e)return i;const s=null!==((k?re===n&&t.lastFetchedAt:o?.lastFetchedAt)||null),a=!s&&!i&&t.enabled;if("isInitialLoad"===e)return a;const c=s&&!i;return"isSuccess"===e?c:{isError:i,isIdle:r===R.Idle,isLoading:r===R.Loading,isInitialLoad:a,isSuccess:c}}}},isDataExpired(e){const t=n(),r=t.queryCache[t.queryKey],o=t.queryKey,i=t.lastFetchedAt,s=(k?re===o&&i:r?.lastFetchedAt)||null;if(!s)return!0;const a=e??r?.cacheTime;return void 0===a||Date.now()-s>=a},isStale(e){const t=n(),r=t.queryKey,o=(k?re===r&&t.lastFetchedAt:t.queryCache[r]?.lastFetchedAt)||null;if(!o)return!0;const i=e??K;return Date.now()-o>=i},reset(e=!1){for(const e of X)e();X=[],V=null,_=null,G=null,ae(),ne&&(clearTimeout(ne),ne=null),te=null,re=null,e&&t(ie)}},l=r.subscribe;return r.subscribe=(...e)=>{const t=Z?()=>{}:se.subscribe(),n=1===e.length?l(e[0]):l(e[0],e[1],e[2]);return e=>{t(e),n()}},u}const le=c?.storageKey?$e(ce,f(c,{partialize:Mt(C,c.partialize)})):i&&!("storageKey"in i)?$e(ce,i):$e(ce),fe=le.getState(),de=fe.error,ye=fe.enabled,he=fe.queryKey,ge=fe.fetch;let me;if(he&&!de&&(re=he),Z=!0,A||"function"==typeof e.enabled){const{directValues:e,enabledAttachVal:t,enabledDirectValue:r,attachVals:o}=function(e,t,r){const o=u(),i=u(),s=u();for(const e in t){if(!n(t,e))continue;const a=t[e];if(Dt(a)){const t=a(St,r);o[e]=t,s[e]=t.value}else Et(a)&&(i[e]=a,s[e]=a)}let a,c=null,l=null;if(Dt(e)){const t=e(St,r);a=t.value,c=t}else a=e,l=e;return{attachVals:o,directValues:i,enabledAttachVal:c,enabledDirectValue:l,resolvedEnabled:a,resolvedParams:s}}(F,A,le);V={enabled:t,params:o},_={enabled:r,params:e}}"function"==typeof e.staleTime&&(G=e.staleTime(St,le),K=G.value);const be=Object.freeze({updateQueryKey:C}),Se=function(){let e,t=!1;return function(...n){e=n,t||(t=!0,queueMicrotask(()=>{t=!1,(e=>{ge(e??At(V,_),be)})(...e)}))}}();function ve(){let e;if(!C){e=At(V,_);const t=N(e);le.setState({queryKey:t})}Se(e)}const we=a||!T?ve:pe(ve,"number"==typeof T?T:T.delay,"number"==typeof T?{leading:!1,maxWait:T,trailing:!0}:T);for(const e in V?.params){const t=V.params[e];if(!t)continue;const n=jt(t);if(U&&console.log("[🌀 Param Subscription 🌀] Subscribed to param:",e),n){let r=t.value;const o=n(()=>{const n=t.value;ue(r,n)||(U&&console.log("[🌀 Param Change 🌀] -",e,"- [Old]:",`${r?.toString()},`,"[New]:",n?.toString()),r=n,we())});X.push(o)}}if(G){const e=jt(G);if(e){const t=G;let n=t.value;U&&console.log("[🌀 StaleTime Subscription 🌀] Initial value:",n);const r=e(()=>{const e=t.value;e!==n&&(U&&console.log("[🌀 StaleTime Change 🌀] - [Old]:",`${n},`,"[New]:",e),n=e,K=e,ge())});X.push(r)}}if(V?.enabled){const e=V.enabled,t=jt(e);if(t){let n=e.value;ye!==n&&((me??(me={})).enabled=n),n&&se.setEnabled(n),U&&console.log("[🌀 Enabled Subscription 🌀] Initial value:",n);const r=t(()=>{const t=e.value;t!==n&&(U&&console.log("[🌀 Enabled Change 🌀] - [Old]:",`${n},`,"[New]:",t),n=t,le.setState({enabled:t}))});X.push(r)}}else ye!==ie.enabled&&((me??(me={})).enabled=ie.enabled);const Oe=N(At(V,_));return Oe!==he&&((me??(me={})).queryKey=Oe),me&&le.setState(me),Z=!1,Y&&queueMicrotask(we),Q(le,B.QueryStore)}function Tt(e,t,n,r){return r?zt(r,n)?r:{...At(e,t),...r}:At(e,t)}function At(e,t){const n=Object.assign(u(),t?.params);for(const t in e?.params){const r=e.params[t];r&&(n[t]=r.value)}return n}function zt(e,t){if(!e)return!1;for(const n of t)if(!(n in e))return!1;return!0}function Dt(e){return"function"==typeof e}function Et(e){return!Dt(e)}function Mt(e,t){return r=>{const o={...r},i=u();for(const e in o)n(o,e)&&e in It&&(It[e]&&(i[e]=o[e]),delete o[e]);return{...t?t(o):Se(o),...$t(e,null,i)}}}function $t(e,t,r){if(!r.queryCache)return r;const o=Date.now(),i=t??(e&&r.queryKey||null),s=u();let a=!1;for(const e in r.queryCache){if(!n(r.queryCache,e))continue;const c=r.queryCache[e];c&&(o-(c.lastFetchedAt??c.errorInfo.lastFailedAt)<c.cacheTime||e===i)?!t&&c.errorInfo&&c.errorInfo.retryCount>0?(s[e]={...c,errorInfo:{...c.errorInfo,retryCount:0}},a=!0):s[e]=c:a=!0}return a?{...r,queryCache:s}:r}function Kt(){return Object.create(null)}function Pt(e,t,n){return new m(`[createQueryStore: ${e}]: ${t} failed`,n)}function Rt(e,t,n){const r="function"==typeof t,o=r?t:void 0,i=r?n:t,s=new Set,a=dt(e,{debugMode:i?.debugMode??!1,equalityFn:function(e,t){const n=Object.is(e,t);return n||(function(e,t){for(const n of s){n.unsubscribe();const r=n.args;if(1===r.length){const o=r[0],i=e.getState(),s=t.getState(),a=t.subscribe(o);n.unsubscribe=a,Object.is(s,i)||o(s,i);continue}const o=r[0],i=r[1];let s=r[2];s?.fireImmediately&&(s={...s,fireImmediately:!1});const a=o(e.getState()),c=o(t.getState()),u=t.subscribe(o,i,s);n.unsubscribe=u,(s?.equalityFn??Object.is)(a,c)||i(c,a)}}(e,t),_(e)),n},keepAlive:!0,lockDependencies:i?.lockDependencies??!0}),c=Object.assign({[B.VirtualStore]:!0,destroy:a.destroy,getInitialState:()=>a.getState().getInitialState(),getState:()=>a.getState().getState(),persist:(u=a.getState,{clearStorage:()=>u().persist?.clearStorage(),getOptions:()=>u().persist?.getOptions()??{},hasHydrated:()=>u().persist?.hasHydrated()??!0,hydrationPromise:()=>u().persist?.hydrationPromise?.()??Promise.resolve(),onFinishHydration:e=>u().persist?.onFinishHydration(e)??d,onHydrate:e=>u().persist?.onHydrate(e)??d,rehydrate:()=>u().persist?.rehydrate(),setOptions:e=>u().persist?.setOptions(e)}),setState:xt(a.getState),subscribe:function(...e){const t={args:e,unsubscribe:1===e.length?a.getState().subscribe(e[0]):a.getState().subscribe(e[0],e[1],e[2])};return s.add(t),()=>{t.unsubscribe(),s.delete(t)}}},o?.(a.getState));var u;return c}function xt(e){return function(...t){return!0===t[1]?e().setState(t[0],!0):e().setState(t[0])}}export{A as DEFAULT_STORAGE_KEY_PREFIX,R as QueryStatuses,B as StoreTags,m as StoresError,J as applyStateUpdate,Q as assignStoreTag,$e as baseStore,D as configureStores,oe as createStoreActions,ae as deepEqual,L as defaultRetryDelay,dt as derivedStore,_ as destroyStore,G as destroyStores,b as ensureError,E as getOptions,N as getQueryKey,M as getStorageConfig,X as getStoreName,Y as hasDestroy,Z as hasGetSnapshot,te as isDerivedStore,ne as isPersistedStore,ee as isQueryStore,re as isVirtualStore,g as logger,$ as markStoreCreated,W as parseQueryKey,qt as queryStore,p as setLogger,ce as shallowEqual,x as time,Rt 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.10.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, false>;
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, false>;
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,117 +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
- /**
6
- * Creates a persisted, query-enabled store with data fetching capabilities (sync storage).
7
- *
8
- * @template TQueryFnData - The raw data type returned by the fetcher
9
- * @template TParams - Parameters passed to the fetcher function
10
- * @template TData - The transformed data type, if applicable (defaults to `TQueryFnData`)
11
- * @template PersistedState - The persisted state type, if a stricter type than `Partial<CustomState>` is desired
12
- */
13
- 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, false>;
14
- /**
15
- * Creates a persisted, query-enabled store with data fetching capabilities (async storage).
16
- *
17
- * @template TQueryFnData - The raw data type returned by the fetcher
18
- * @template TParams - Parameters passed to the fetcher function
19
- * @template TData - The transformed data type, if applicable (defaults to `TQueryFnData`)
20
- * @template PersistedState - The persisted state type, if a stricter type than `Partial<CustomState>` is desired
21
- */
22
- 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, false>;
23
- /**
24
- * Creates a persisted, query-enabled store with data fetching capabilities (sync storage).
25
- *
26
- * @template TQueryFnData - The raw data type returned by the fetcher
27
- * @template TParams - Parameters passed to the fetcher function
28
- * @template CustomState - User-defined custom store state
29
- * @template TData - The transformed data type, if applicable (defaults to `TQueryFnData`)
30
- * @template PersistedState - The persisted state type, if a stricter type than `Partial<CustomState>` is desired
31
- */
32
- 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, false>;
33
- /**
34
- * Creates a persisted, query-enabled store with data fetching capabilities (async storage).
35
- *
36
- * @template TQueryFnData - The raw data type returned by the fetcher
37
- * @template TParams - Parameters passed to the fetcher function
38
- * @template CustomState - User-defined custom store state
39
- * @template TData - The transformed data type, if applicable (defaults to `TQueryFnData`)
40
- * @template PersistedState - The persisted state type, if a stricter type than `Partial<CustomState>` is desired
41
- */
42
- 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, false>;
43
- /**
44
- * Creates a query-enabled store with data fetching capabilities.
45
- *
46
- * @template TQueryFnData - The raw data type returned by the fetcher
47
- * @template TParams - Parameters passed to the fetcher function
48
- * @template CustomState - User-defined custom store state
49
- * @template TData - The transformed data type, if applicable (defaults to `TQueryFnData`)
50
- */
51
- 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>>;
52
- /**
53
- * Creates a query-enabled store with data fetching capabilities.
54
- *
55
- * @template TQueryFnData - The raw data type returned by the fetcher
56
- * @template TParams - Parameters passed to the fetcher function
57
- * @template TData - The transformed data type, if applicable (defaults to `TQueryFnData`)
58
- */
59
- 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>>;
60
- /**
61
- * Creates a conditionally persisted, query-enabled store with data-fetching capabilities
62
- * and custom state (sync storage).
63
- *
64
- * `options.persist` may be `undefined` – the returned store exposes `persist?`.
65
- *
66
- * @template TQueryFnData - The raw data type returned by the fetcher
67
- * @template TParams - Parameters passed to the fetcher function
68
- * @template CustomState - User-defined custom store state
69
- * @template TData - The transformed data type, if applicable (defaults to `TQueryFnData`)
70
- * @template PersistedState - The persisted state type, if a stricter type than `Partial<CustomState>` is desired
71
- */
72
- 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>;
73
- /**
74
- * Creates a conditionally persisted, query-enabled store with data-fetching capabilities
75
- * and custom state (async storage).
76
- *
77
- * `options.persist` may be `undefined` – the returned store exposes `persist?`.
78
- *
79
- * @template TQueryFnData - The raw data type returned by the fetcher
80
- * @template TParams - Parameters passed to the fetcher function
81
- * @template CustomState - User-defined custom store state
82
- * @template TData - The transformed data type, if applicable (defaults to `TQueryFnData`)
83
- * @template PersistedState - The persisted state type, if a stricter type than `Partial<CustomState>` is desired
84
- */
85
- 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>;
86
- /**
87
- * Creates a conditionally persisted, query-enabled store with data fetching capabilities (sync storage).
88
- *
89
- * `options.persist` may be `undefined` – the returned store exposes `persist?`.
90
- *
91
- * @template TQueryFnData - The raw data type returned by the fetcher
92
- * @template TParams - Parameters passed to the fetcher function
93
- * @template TData - The transformed data type, if applicable (defaults to `TQueryFnData`)
94
- * @template PersistedState - The persisted state type, if a stricter type than `Partial<CustomState>` is desired
95
- */
96
- 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>;
97
- /**
98
- * Creates a conditionally persisted, query-enabled store with data fetching capabilities (async storage).
99
- *
100
- * `options.persist` may be `undefined` – the returned store exposes `persist?`.
101
- *
102
- * @template TQueryFnData - The raw data type returned by the fetcher
103
- * @template TParams - Parameters passed to the fetcher function
104
- * @template TData - The transformed data type, if applicable (defaults to `TQueryFnData`)
105
- * @template PersistedState - The persisted state type, if a stricter type than `Partial<CustomState>` is desired
106
- */
107
- 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>;
108
- /**
109
- * Generates a deterministic query store `queryKey` from the given parameters,
110
- * consistent with internally generated keys.
111
- */
112
- export declare function getQueryKey<TParams extends Record<string, unknown>>(params: TParams): string;
113
- /**
114
- * Parses a query store `queryKey` into the corresponding parameters.
115
- */
116
- export declare function parseQueryKey<TParams extends Record<string, unknown>>(queryKey: string): TParams;
117
- //# 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