import React from "react"; import { PlusTab as PlusTabElement } from "../dist/components/tab/index.js"; export type { PlusTabElement }; export interface PlusTabProps extends Pick< React.AllHTMLAttributes, | "children" | "dir" | "hidden" | "id" | "lang" | "slot" | "style" | "title" | "translate" | "onClick" | "onFocus" | "onBlur" > { /** Indicates if the tab is currently selected */ active?: boolean; /** Disables the tab interaction */ disabled?: boolean; /** Enables the dismiss button to remove the tab */ dismissible?: boolean; /** Truncates the text if it's too long */ truncate?: boolean; /** Use animated indicator instead of border for active tab This is controlled by the parent tab-group */ animated?: boolean; /** Sets the value of the tab, used for identification and selection */ value?: PlusTabElement["value"]; /** Sets the size of the tab - sm: Small size - md: Medium size - lg: Large size */ size?: PlusTabElement["size"]; /** Sets the orientation of the tabs - horizontal: Tabs arranged horizontally - vertical: Tabs arranged vertically */ orientation?: PlusTabElement["orientation"]; /** Icon name to display before the tab content */ prefixIcon?: PlusTabElement["prefixIcon"]; /** Icon name to display after the tab content */ suffixIcon?: PlusTabElement["suffixIcon"]; /** A space-separated list of the classes of the element. Classes allows CSS and JavaScript to select and access specific elements via the class selectors or functions like the method `Document.getElementsByClassName()`. */ className?: string; /** Contains a space-separated list of the part names of the element that should be exposed on the host element. */ exportparts?: string; /** Used for labels to link them with their inputs (using input id). */ htmlFor?: string; /** Used to help React identify which items have changed, are added, or are removed within a list. */ key?: number | string; /** Contains a space-separated list of the part names of the element. Part names allows CSS to select and style specific elements in a shadow tree via the ::part pseudo-element. */ part?: string; /** A mutable ref object whose `.current` property is initialized to the passed argument (`initialValue`). The returned object will persist for the full lifetime of the component. */ ref?: any; /** Allows developers to make HTML elements focusable, allow or prevent them from being sequentially focusable (usually with the `Tab` key, hence the name) and determine their relative ordering for sequential focus navigation. */ tabIndex?: number; } /** * Tab component that represents a single tab in a tab group. * --- * * * ### **Slots:** * - _default_ - The default slot for tab content * - **prefix** - Content to be placed before the tab content * - **suffix** - Content to be placed after the tab content * * ### **CSS Properties:** * - **--text-color** - Controls the text color of the tab _(default: undefined)_ * - **--active-color** - Controls the color of the active indicator _(default: undefined)_ * - **--bg-default** - Controls the default background color _(default: undefined)_ * - **--bg-hovered** - Controls the background color when hovered _(default: undefined)_ * * ### **CSS Parts:** * - **tab** - The component's base wrapper */ export const PlusTab: React.ForwardRefExoticComponent;