@ngx-uk-frontend/core
Version:
Core utilities and shared functionality for ngx-uk-frontend libraries
20 lines • 1.84 kB
JavaScript
import { Directive, input, viewChild } from '@angular/core';
import * as i0 from "@angular/core";
/**
* Base directive for individual tab items across different design systems.
* Provides common functionality for managing tab properties and content.
*/
export class TabDirective {
/** The unique identifier for the tab. This input is required. */
id = input.required(...(ngDevMode ? [{ debugName: "id" }] : []));
/** The text displayed in the tab. This input is required. */
title = input.required(...(ngDevMode ? [{ debugName: "title" }] : []));
/** Reference to the template containing the tab's content. */
tabContent = viewChild.required('tabContent');
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: TabDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.0.6", type: TabDirective, isStandalone: true, inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: true, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "tabContent", first: true, predicate: ["tabContent"], descendants: true, isSignal: true }], ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: TabDirective, decorators: [{
type: Directive
}], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: true }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: true }] }], tabContent: [{ type: i0.ViewChild, args: ['tabContent', { isSignal: true }] }] } });
//# sourceMappingURL=tab.directive.js.map