import { createContext, useContext } from "react"; import type { Knobs } from "./knobs"; import type { Preset } from "./preset.types"; import type { ThemeName } from "@tamagui/web"; export interface PresetContextValue { preset: Preset; overrides?: Partial; } export const PresetContext = createContext(null); /** * Read the nearest Preset context. Returns null if no ancestor exists. */ export function usePresetContext(): PresetContextValue | null { return useContext(PresetContext); } /** * Read the tints array from the nearest Preset context. * Returns an empty array if no ancestor exists. */ export function usePresetTints(): ThemeName[] { const ctx = useContext(PresetContext); return ctx?.preset.tints ?? []; }