import { type Accessor, createContext, useContext } from "solid-js"; export interface MeterDataSet {} export interface MeterContextValue { dataset: Accessor; value: Accessor; valuePercent: Accessor; valueLabel: Accessor; meterFillWidth: Accessor; labelId: Accessor; generateId: (part: string) => string; registerLabelId: (id: string) => () => void; } export const MeterContext = createContext(); export function useMeterContext() { const context = useContext(MeterContext); if (context === undefined) { throw new Error( "[kobalte]: `useMeterContext` must be used within a `Meter.Root` component", ); } return context; }