@hashicorp/design-system-components
Version:
Helios Design System Components
39 lines (38 loc) • 1.43 kB
TypeScript
/**
* Copyright IBM Corp. 2021, 2025
* SPDX-License-Identifier: MPL-2.0
*/
import Component from '@glimmer/component';
import type { IconName } from '@hashicorp/flight-icons/svg';
import type { HdsTabsTabIds, HdsTabsPanelIds } from './types.ts';
export interface HdsTabsTabSignature {
Args: {
tabIds?: HdsTabsTabIds;
panelIds?: HdsTabsPanelIds;
selectedTabIndex?: number;
icon?: IconName;
count?: string;
isSelected?: boolean;
didInsertNode?: (element: HTMLButtonElement, isSelected?: boolean) => void;
didUpdateNode?: (nodeIndex: number, isSelected?: boolean) => void;
willDestroyNode?: (element: HTMLButtonElement) => void;
onClick?: (event: MouseEvent, tabIndex: number) => void;
onKeyUp?: (nodeIndex: number, event: KeyboardEvent) => void;
};
Blocks: {
default: [];
};
Element: HTMLLIElement;
}
export default class HdsTabsTab extends Component<HdsTabsTabSignature> {
private _tabId;
get nodeIndex(): number | undefined;
get isSelected(): boolean;
get coupledPanelId(): string | undefined;
didInsertNode: (element: HTMLButtonElement, positional: [boolean?]) => void;
didUpdateNode: () => void;
willDestroyNode: (element: HTMLButtonElement) => void;
onClick: (event: MouseEvent) => false | undefined;
onKeyUp: (event: KeyboardEvent) => void;
get classNames(): string;
}