@ngx-uk-frontend/core
Version:
Core utilities and shared functionality for ngx-uk-frontend libraries
30 lines • 1.94 kB
JavaScript
import { Directive, inject, input } from '@angular/core';
import { CommonFormInputDirective, injectNgControl, } from '@ngx-uk-frontend/core/form-utils';
import * as i0 from "@angular/core";
/**
* Core select directive that provides common functionality
* for select components across different design systems.
*
* This directive handles:
* - Form control integration
* - Basic select configuration
* - Accessibility attributes
* - Common select functionality
*/
export class SelectDirective {
// Form control integration
ngControl = injectNgControl();
commonFormInput = inject(CommonFormInputDirective);
// Basic select configuration
options = input.required(...(ngDevMode ? [{ debugName: "options" }] : []));
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SelectDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.0.6", type: SelectDirective, isStandalone: true, selector: "[libSelect]", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SelectDirective, decorators: [{
type: Directive,
args: [{
selector: '[libSelect]',
}]
}], propDecorators: { options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }] } });
//# sourceMappingURL=select.directive.js.map