/**
* Tabs - ported from Veryfront Studio `components/Tabs/Tabs.tsx`, with the
* `motion/react` spring-slide forked out: the active pill is a static
* background (no dependency, no layout animation), only the `transition-colors`
* CSS that Studio already ships. Semantic classes remapped to veryfront's
* `[var(--token)]` vocabulary.
*
* The selection MECHANICS (`role="tablist"` / `role="tab"`, `aria-selected`,
* select-on-click) come from the active adapter's `tabs` slot
* (`useAdapter().tabs`) - with no provider that is the zero-dependency builtin,
* so behaviour and markup are unchanged. This skin owns only the API shape, the
* `size` variant, and the visual look (including the active pill), which it
* drives from the controlled `value` prop.
*
* Flat, prefixed exports (`Tabs` + `TabsItem`) to match the other `ui/`
* primitives (`SelectItem`, `DialogTrigger`, …). Note: `cn` is clsx-only (no
* tailwind-merge), so overriding a base utility via `className` needs the `!`
* suffix (e.g. `px-8!`).
*
* Two sizes:
* - `default` - filled track (`--input-bg`), 34/38px, accent pill.
* - `sm` - flat, outlined, 32px, for panel headers.
*
* @example
* ```tsx
* import { Tabs, TabsItem } from "veryfront/ui";
*
* function Example() {
* const [tab, setTab] = React.useState("overview");
* return (
*
* Overview
* Activity
*
* );
* }
* ```
*
* @module react/components/ui/tabs
*/
import * as React from "react";
type TabsSize = "default" | "sm";
/** Props accepted by `` (the tablist container). */
export interface TabsProps extends Omit, "onChange"> {
value: string;
onValueChange: (value: string) => void;
size?: TabsSize;
children: React.ReactNode;
}
/** Tablist container - delegates selection to the adapter, owns the size + look. */
export declare const Tabs: any;
/** Props accepted by ``. */
export interface TabsItemProps extends Omit, "value"> {
value: string;
href?: string;
children: React.ReactNode;
}
/**
* Individual tab - renders as a button, or an anchor when `href` is set. The
* adapter's `tabs.Tab` supplies the `role="tab"` / `aria-selected` / `data-state`
* mechanics and composes selection onto the caller's `onClick` (caller's runs
* first, then the tab activates); this skin renders the visual pill and forwards
* native props/ref.
*/
export declare const TabsItem: any;
export {};
//# sourceMappingURL=tabs.d.ts.map