@visa/nova-angular
Version:
Visa Product Design System Nova Angular library
87 lines (86 loc) • 3.7 kB
TypeScript
/**
* Copyright (c) 2025 Visa, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
**/
import { BooleanInput } from '@angular/cdk/coercion';
import { AfterContentInit, EventEmitter } from '@angular/core';
import { AppReadyService } from '../_utilities/services/app-stable-check.service';
import { ButtonStackedDirective } from '../button-stacked/button-stacked.directive';
import { ButtonDirective } from '../button/button.directive';
import { FloatingUITriggerDirective } from '../floating-ui-trigger/floating-ui-trigger.directive';
import * as i0 from "@angular/core";
export declare class TabItemDirective implements AfterContentInit {
private appReady;
button: ButtonDirective;
stackedButton: ButtonStackedDirective;
trigger: FloatingUITriggerDirective;
_roleSetByUser: boolean;
_roleSetByTab: boolean;
_sizeSetByTab: boolean;
_nestedTab: boolean;
/**
* Provides custom class(es) for custom styling.
* @default .v-tab
*/
get class(): string;
set class(value: string);
_class: string;
get hostClass(): string;
/**
* Sets role of tab item. <br />
* If no custom role is set, role may be set by a parent component (nav, tabs, etc.).
* @builtin true
*/
get role(): string | null;
set role(value: string | null);
_role: string | null;
get hostRole(): string | null;
/**
* Marks tab as active when true. <br />
* Not to be used with navigational tabs. To set a navigational tab as active, view [Angular's tutorial on identifying the active route](https://angular.dev/guide/routing/router-tutorial#identify-the-active-route).
* @default false
*/
get active(): boolean;
set active(value: BooleanInput);
_active: boolean;
/**
* Marks the tab as a disclosure item when true. <br />
* This item cannot be active and should expand and collapse when pressed.
* @default false
*/
get disclosureTab(): boolean;
set disclosureTab(value: BooleanInput);
_disclosureTab: boolean;
/**
* Marks the tab as a section title when true. <br />
* This item titles a subset of tabs and is not interactive.
* @default false
*/
get sectionTitle(): boolean;
set sectionTitle(value: BooleanInput);
_sectionTitle: boolean;
/**
* Emits true when this tab is set to active.
*/
tabActive: EventEmitter<boolean>;
/**
* Emits true when this tab's child button is clicked.
*/
clicked: EventEmitter<boolean>;
constructor(appReady: AppReadyService);
ngAfterContentInit(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<TabItemDirective, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<TabItemDirective, "[v-tab-item]", never, { "class": { "alias": "class"; "required": false; }; "role": { "alias": "role"; "required": false; }; "active": { "alias": "active"; "required": false; }; "disclosureTab": { "alias": "disclosureTab"; "required": false; }; "sectionTitle": { "alias": "sectionTitle"; "required": false; }; }, { "tabActive": "tabActive"; "clicked": "clicked"; }, ["button", "stackedButton", "trigger"], never, true, never>;
}