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

/**
 * Context published by `<Tabs.List>`. Child tabs consume this for composite-
 * focus coordination + the `activateOnFocus` hook on focus transitions.
 */

const NOOP = () => {};
export const NOOP_TABS_LIST_CONTEXT = {
  activateOnFocus: () => false,
  highlightedTabIndex: () => -1,
  registerTabResizeObserverElement: () => () => {},
  onTabActivation: NOOP,
  setHighlightedTabIndex: NOOP,
  tabsListElement: () => null,
  present: false
};
export const TabsListContext = createContext(NOOP_TABS_LIST_CONTEXT);

/**
 * Read the `<Tabs.List>` context. Throws when no list ancestor is present —
 * every tab / indicator requires a list.
 */
export function useTabsListContext() {
  const context = useContext(TabsListContext);
  if (!context.present) {
    throw new Error("Base UI: TabsListContext is missing. Tabs parts must be placed within <Tabs.List>.");
  }
  return context;
}
//# sourceMappingURL=tabs-list-context.jsx.map
