import { require_with_selector } from "./chunk-DI3PBQUW.js"; import { __toESM, require_react } from "./chunk-DDNM7ENY.js"; // node_modules/zustand/esm/vanilla.mjs var createStoreImpl = (createState) => { let state; const listeners = /* @__PURE__ */ new Set(); const setState = (partial, replace) => { const nextState = typeof partial === "function" ? partial(state) : partial; if (!Object.is(nextState, state)) { const previousState = state; state = (replace != null ? replace : typeof nextState !== "object" || nextState === null) ? nextState : Object.assign({}, state, nextState); listeners.forEach((listener) => listener(state, previousState)); } }; const getState = () => state; const getInitialState = () => initialState; const subscribe = (listener) => { listeners.add(listener); return () => listeners.delete(listener); }; const destroy = () => { if ((import.meta.env ? import.meta.env.MODE : void 0) !== "production") { console.warn( "[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected." ); } listeners.clear(); }; const api = { setState, getState, getInitialState, subscribe, destroy }; const initialState = state = createState(setState, getState, api); return api; }; var createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl; // node_modules/zustand/esm/index.mjs var import_react = __toESM(require_react(), 1); var import_with_selector = __toESM(require_with_selector(), 1); var { useDebugValue } = import_react.default; var { useSyncExternalStoreWithSelector } = import_with_selector.default; var didWarnAboutEqualityFn = false; var identity = (arg) => arg; function useStore(api, selector = identity, equalityFn) { if ((import.meta.env ? import.meta.env.MODE : void 0) !== "production" && equalityFn && !didWarnAboutEqualityFn) { console.warn( "[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937" ); didWarnAboutEqualityFn = true; } const slice = useSyncExternalStoreWithSelector( api.subscribe, api.getState, api.getServerState || api.getInitialState, selector, equalityFn ); useDebugValue(slice); return slice; } var createImpl = (createState) => { if ((import.meta.env ? import.meta.env.MODE : void 0) !== "production" && typeof createState !== "function") { console.warn( "[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`." ); } const api = typeof createState === "function" ? createStore(createState) : createState; const useBoundStore = (selector, equalityFn) => useStore(api, selector, equalityFn); Object.assign(useBoundStore, api); return useBoundStore; }; var create = (createState) => createState ? createImpl(createState) : createImpl; var react = (createState) => { if ((import.meta.env ? import.meta.env.MODE : void 0) !== "production") { console.warn( "[DEPRECATED] Default export is deprecated. Instead use `import { create } from 'zustand'`." ); } return create(createState); }; export { create, createStore, react as default, useStore }; //# sourceMappingURL=zustand.js.map