UNPKG

@ngx-uk-frontend/core

Version:

Core utilities and shared functionality for ngx-uk-frontend libraries

20 lines 1.84 kB
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