UNPKG

mt-flowbite-react

Version:

Official React components built for Flowbite and Tailwind CSS

63 lines (62 loc) 2.22 kB
"use strict"; 'use client'; Object.defineProperty(exports, "__esModule", { value: true }); exports.useResActionStore = exports.ResActionProvider = exports.createResActionStore = exports.createDashSlice = void 0; const jsx_runtime_1 = require("react/jsx-runtime"); const react_1 = require("react"); const zustand_1 = require("zustand"); const middleware_1 = require("zustand/middleware"); const createDashSlice = (set, get, initState) => { const DEFAULT_PROPS = { resAction: undefined, }; return { ...DEFAULT_PROPS, // isLoadingDashConfig: false, // isOpenNavSheet: false, // async loadDashConfig() { // set({ ...get(), isLoadingDashConfig: true }) // const dashConfig = await loadDashConfig() // set({ ...get(), isLoadingDashConfig: false, dashConfig }) // }, // setOpenNavSheet: (isOpenNavSheet) => (set((s) => ({ // isOpenNavSheet // }))) }; }; exports.createDashSlice = createDashSlice; const createResActionStore = (initProps) => { return (0, zustand_1.create)()((0, middleware_1.persist)((...a) => ({ ...(0, exports.createDashSlice)(...a), // ...createFishSlice(...a), }), { name: 'dash2', version: 1, skipHydration: true, onRehydrateStorage(state) { // console.log("onRehydrateStorage[dash]", state) }, })); }; exports.createResActionStore = createResActionStore; const Context = (0, react_1.createContext)(null); function ResActionProvider({ children, ...props }) { const storeRef = (0, react_1.useRef)(); if (!storeRef.current) { storeRef.current = (0, exports.createResActionStore)(props); } return (0, jsx_runtime_1.jsx)(Context.Provider, { value: storeRef.current, children: children }); } exports.ResActionProvider = ResActionProvider; function useResActionStore(selector, equals) { const store = (0, react_1.useContext)(Context); if (!store) throw new Error('Missing ResActionProvider'); if (selector) { return (0, zustand_1.useStore)(store, selector, equals); } else { return store; } } exports.useResActionStore = useResActionStore;