UNPKG

@slidy/media

Version:

Simple, observable & cookie-persisted media-query store

22 lines (21 loc) 759 B
declare module "types" { type Queries<T extends string> = Record<T, string | boolean | undefined>; type Getter<T extends string> = (matches: Queries<T>) => void; interface Options<T extends string> { queries: Queries<T>; getter: Getter<T>; cookie: boolean; } export type { Options, Queries, Getter }; } declare module "media" { import type { Options, Queries } from "types"; export function media<T extends string>({ queries, getter, cookie }: Partial<Options<T>>): { matches: Queries<T>; subscribe: (fn: (matches: Queries<T>) => void) => () => boolean; }; } declare module "@slidy/media" { export { media } from "media"; export type { Options, Queries, Getter } from "types"; }