import { LitElement } from 'lit'; import type { Constructor } from '../../common/mixins/constructor.js'; import type { TabHeadersPosition } from '../dockmanager/backfill-types-dockmanager.js'; import type { IgcDockManagerResourceStrings } from '../dockmanager/dockmanager.interfaces.js'; import { type IgcDragEventArguments, type IgcDragMoveEventArguments, type IgcDragStartEventArguments } from '../drag-drop/drag.service.js'; import type { IconName } from '../icon/icons.js'; export interface TabPointerDownEventArgs { showHeaderIconOnHover: 'none' | 'closeOnly' | 'moreOptionsOnly' | 'all'; isIconClicked: boolean; } export interface IgcTabHeaderEventMap { igcDragStarted: CustomEvent; igcDragMoved: CustomEvent; igcDragEnded: CustomEvent; igcIconClicked: CustomEvent; igcIconKeyDown: CustomEvent; igcTabPointerDown: CustomEvent; igcElementConnected: CustomEvent; igcElementDisconnected: CustomEvent; } declare const IgcTabHeaderComponent_base: Constructor> & Constructor; /** * @hidden * The tab header component displays a title and buttons for showing the hidden headers or closing. * * @element igc-tab-header * * @fires igcDragStarted - Fired when drag operation has started. * @fires igcDragMoved - Fired when a header is dragged. * @fires igcDragEnded - Fired when drag operation has ended. * @fires igcIconClicked - Fired when the action button is clicked. * @fires igcIconKeyDown - Fired on key down of the action button. * @fires igcTabPointerDown - Fired when pointer is down on the header. * @fires igcElementConnected - Fired when the header is connected. * @fires igcElementDisconnected - Fired when the header is disconnected. * * * @slot - Renders the title. * * @csspart tab-header - Wrapper of the panel. * @csspart top - Added when the header is displayed at the top. * @csspart active - Indicates whether the header is active. * @csspart selected - Indicates whether the header is selected. * @csspart disabled - Indicates a disabled stated. * @csspart hover-preview-close - Indicates that close button is displayed on hover. * @csspart hover-preview-options - Indicates that more options button is displayed on hover. * @csspart bottom - Added when the header is displayed at the bottom. * */ export default class IgcTabHeaderComponent extends IgcTabHeaderComponent_base { static readonly tagName = "igc-tab-header"; static styles: import("lit").CSSResult[]; private _selected; private _isActive; private _disabled; private _position; static register(): void; private closeButton; private _dragService; /** * Determines whether the header is selected. * * @default false */ set selected(value: boolean); get selected(): boolean; /** * Determines whether the header is hovered. * * @default false */ hovered: boolean; /** * Sets the header position. * * @default top */ set position(value: TabHeadersPosition); get position(): TabHeadersPosition; /** * Determines which icon to display in the tab header. * Supported values are `close` and `more`. * If not set, no icon is rendered. */ iconName: IconName | ''; /** Sets the header text. */ header: string; /** * Determines whether the header is active. * * @default false */ set isActive(value: boolean); get isActive(): boolean; /** The resource strings of the header. */ resourceStrings?: IgcDockManagerResourceStrings; /** * Determines whether the header is changing position with another header. * * @default false */ forcedDrag: boolean; /** * Disables interaction with the header. * * @default false */ set disabled(value: boolean); get disabled(): boolean; /** * Determines which buttons are displayed on hover. * * * @default none */ showHeaderIconOnHover: 'none' | 'closeOnly' | 'moreOptionsOnly' | 'all'; /** @internal */ connectedCallback(): void; private _updateParts; /** @internal */ disconnectedCallback(): void; protected _headerChanged(): void; protected _forcedDragChanged(): void; private _forceDragging; protected _activeChanged(): void; private _handlePointerDown; private _handlePointerEnter; private _handlePointerLeave; private _handleIconClick; private _handleKeyDown; private _renderCloseButton; private _renderMoreOptionsButton; protected render(): import("lit-html").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'igc-tab-header': IgcTabHeaderComponent; } } export {};