import { createContext, useContext } from "solid-js";

/**
 * Context handed to descendants of `<ScrollArea.Viewport>`. Currently only
 * `<ScrollArea.Content>` uses this — it calls `computeThumbPosition()` when
 * its ResizeObserver fires.
 */

/**
 * `createContext<T | null>(null)` + `== null` sentinel —
 * Solid 2's `useContext` throws `ContextNotFoundError` when the default is
 * `undefined`, which would shadow the intended Base UI error message below.
 */
export const ScrollAreaViewportContext = createContext(null);
export function useScrollAreaViewportContext() {
  const context = useContext(ScrollAreaViewportContext);
  if (context == null) {
    throw new Error("Base UI: ScrollAreaViewportContext missing. ScrollAreaViewport parts must be placed within <ScrollArea.Viewport>.");
  }
  return context;
}
//# sourceMappingURL=scroll-area-viewport-context.jsx.map
