@compositive/foundation
Version:
Compositive framework foundation package.
34 lines • 1.46 kB
TypeScript
import type { ReactElement, ReactNode } from "react";
import type { DesignSystemThemes, Theme, UnknownTheme } from "../theming";
import type { ColorPicker } from "./ColorPicker";
import type { ColorScale } from "./ColorScale";
import { Shade } from "./Shade";
export declare namespace ColorContext {
type ColorPick<T extends UnknownTheme = DesignSystemThemes> = Theme.Reference<T, "colorPicks"> | ColorPicker | Shade;
type Output = {
foreground: Shade;
background: Shade;
palette: ColorScale;
};
type Input<T extends UnknownTheme = DesignSystemThemes> = {
foreground: ColorPick<T>;
background: ColorPick<T>;
palette: Theme.Reference<T, "palette">;
};
}
export declare namespace ColorProvider {
type Props<T extends UnknownTheme = DesignSystemThemes> = Partial<ColorContext.Input<T>> & {
children: ReactNode;
};
}
export declare const ColorProvider: <T extends UnknownTheme = UnknownTheme>(props: ColorProvider.Props<T>) => ReactElement;
export declare namespace ColorConsumer {
type Props = {
children: (values: ColorContext.Output) => ReactElement;
};
}
export declare const ColorConsumer: ({ children, }: ColorConsumer.Props) => ReactElement;
export declare const useCurrentForeground: () => Shade;
export declare const useCurrentBackground: () => Shade;
export declare const useCurrentPalette: () => ColorScale;
//# sourceMappingURL=ColorContext.d.ts.map