import { type Accessor, createContext, useContext } from "solid-js"; import type { ToastConfig, ToastSwipeDirection } from "./types"; export interface ToastRegionContextValue { isPaused: Accessor; toasts: Accessor; hotkey: Accessor; duration: Accessor; swipeDirection: Accessor; swipeThreshold: Accessor; pauseOnInteraction: Accessor; pauseOnPageIdle: Accessor; pauseAllTimer: () => void; resumeAllTimer: () => void; generateId: (part: string) => string; } export const ToastRegionContext = createContext(); export function useToastRegionContext() { const context = useContext(ToastRegionContext); if (context === undefined) { throw new Error( "[kobalte]: `useToastRegionContext` must be used within a `Toast.Region` component", ); } return context; }