Files
react/components/utils/use-zeit-ui-context.ts
unix 3a8dd34010 chore: upgrade deps
style(prettier): format code style
2020-05-06 14:51:15 +08:00

26 lines
732 B
TypeScript

import React from 'react'
import { ToastWithID } from '../toast/toast-container'
export type UpdateToastsFunction<T> = (fn: (toasts: Array<T>) => Array<T>) => any
export interface ZeitUiContextParams {
toasts: Array<ToastWithID>
toastHovering: boolean
updateToasts: UpdateToastsFunction<ToastWithID>
updateToastHoverStatus: Function
}
const defaultParams: ZeitUiContextParams = {
toasts: [],
toastHovering: false,
updateToasts: t => t,
updateToastHoverStatus: () => {},
}
export const ZEITUIContent: React.Context<ZeitUiContextParams> = React.createContext<
ZeitUiContextParams
>(defaultParams)
export const useZEITUIContext = (): ZeitUiContextParams =>
React.useContext<ZeitUiContextParams>(ZEITUIContent)