UNPKG

react-toggle-management

Version:

A lightweight React library for managing toggleable global state—designed to be simpler than Zustand and more focused than Redux.

31 lines (26 loc) 1.02 kB
import * as react_jsx_runtime from 'react/jsx-runtime'; import React from 'react'; interface ToggleStateContextProviderProps { children: React.ReactNode; initialState?: Set<string>; } declare function ToggleGlobalProvider({ children, initialState }: ToggleStateContextProviderProps): react_jsx_runtime.JSX.Element; type ToggleState = Set<string>; type Listener = () => void; type ToggleStore = { getState: () => ToggleState; subscribe: (listener: Listener) => () => void; setToggle: (key: string, value: boolean) => void; toggle: (key: string) => void; reset: () => void; }; declare const createToggleStore: (initialState?: ToggleState) => ToggleStore; declare function useToggle(defaultKey: string): { isOpen: boolean; open: (key?: string) => void; close: (key?: string) => void; toggle: (key?: string) => void; reset: (key?: string) => void; readIsOpen: (key?: string) => boolean; }; export { ToggleGlobalProvider, type ToggleStore, createToggleStore, useToggle };