@taiga-ui/core
Version:
Core library for creating Angular components and applications using Taiga UI
73 lines • 10.2 kB
JavaScript
import { Directive, inject, InjectionToken, Input, Optional, Self, SkipSelf, } from '@angular/core';
import { tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous';
import { tuiOverrideOptions } from '@taiga-ui/core/utils';
import * as i0 from "@angular/core";
/** Default values for dropdown options */
export const TUI_DROPDOWN_DEFAULT_OPTIONS = {
align: 'left',
direction: null,
limitWidth: 'auto',
maxHeight: 400,
minHeight: 80,
offset: 4,
appearance: '',
};
/**
* Default parameters for dropdown directive
*/
export const TUI_DROPDOWN_OPTIONS = new InjectionToken(ngDevMode ? 'TUI_DROPDOWN_OPTIONS' : '', {
factory: () => TUI_DROPDOWN_DEFAULT_OPTIONS,
});
export const tuiDropdownOptionsProvider = (override) => ({
provide: TUI_DROPDOWN_OPTIONS,
deps: [
[new Optional(), new Self(), TuiDropdownOptionsDirective],
[new Optional(), new SkipSelf(), TUI_DROPDOWN_OPTIONS],
],
useFactory: tuiOverrideOptions(override, TUI_DROPDOWN_DEFAULT_OPTIONS),
});
class TuiDropdownOptionsDirective {
constructor() {
this.options = inject(TUI_DROPDOWN_OPTIONS, { skipSelf: true });
this.align = this.options.align;
this.appearance = this.options.appearance;
this.direction = this.options.direction;
this.limitWidth = this.options.limitWidth;
this.minHeight = this.options.minHeight;
this.maxHeight = this.options.maxHeight;
this.offset = this.options.offset;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDropdownOptionsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiDropdownOptionsDirective, isStandalone: true, selector: "[tuiDropdownAlign], [tuiDropdownAppearance], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]", inputs: { align: ["tuiDropdownAlign", "align"], appearance: ["tuiDropdownAppearance", "appearance"], direction: ["tuiDropdownDirection", "direction"], limitWidth: ["tuiDropdownLimitWidth", "limitWidth"], minHeight: ["tuiDropdownMinHeight", "minHeight"], maxHeight: ["tuiDropdownMaxHeight", "maxHeight"], offset: ["tuiDropdownOffset", "offset"] }, providers: [tuiProvide(TUI_DROPDOWN_OPTIONS, TuiDropdownOptionsDirective)], ngImport: i0 }); }
}
export { TuiDropdownOptionsDirective };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDropdownOptionsDirective, decorators: [{
type: Directive,
args: [{
standalone: true,
selector: '[tuiDropdownAlign], [tuiDropdownAppearance], [tuiDropdownDirection], [tuiDropdownLimitWidth], [tuiDropdownMinHeight], [tuiDropdownMaxHeight], [tuiDropdownOffset]',
providers: [tuiProvide(TUI_DROPDOWN_OPTIONS, TuiDropdownOptionsDirective)],
}]
}], propDecorators: { align: [{
type: Input,
args: ['tuiDropdownAlign']
}], appearance: [{
type: Input,
args: ['tuiDropdownAppearance']
}], direction: [{
type: Input,
args: ['tuiDropdownDirection']
}], limitWidth: [{
type: Input,
args: ['tuiDropdownLimitWidth']
}], minHeight: [{
type: Input,
args: ['tuiDropdownMinHeight']
}], maxHeight: [{
type: Input,
args: ['tuiDropdownMaxHeight']
}], offset: [{
type: Input,
args: ['tuiDropdownOffset']
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tb3B0aW9ucy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2RpcmVjdGl2ZXMvZHJvcGRvd24vZHJvcGRvd24tb3B0aW9ucy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFFVCxNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFDTCxRQUFRLEVBQ1IsSUFBSSxFQUNKLFFBQVEsR0FDWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFN0QsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7O0FBZXhELDBDQUEwQztBQUMxQyxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBdUI7SUFDNUQsS0FBSyxFQUFFLE1BQU07SUFDYixTQUFTLEVBQUUsSUFBSTtJQUNmLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFNBQVMsRUFBRSxHQUFHO0lBQ2QsU0FBUyxFQUFFLEVBQUU7SUFDYixNQUFNLEVBQUUsQ0FBQztJQUNULFVBQVUsRUFBRSxFQUFFO0NBQ2pCLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLElBQUksY0FBYyxDQUNsRCxTQUFTLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQ3ZDO0lBQ0ksT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLDRCQUE0QjtDQUM5QyxDQUNKLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FFaEIsQ0FBQyxRQUFxQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELE9BQU8sRUFBRSxvQkFBb0I7SUFDN0IsSUFBSSxFQUFFO1FBQ0YsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLElBQUksSUFBSSxFQUFFLEVBQUUsMkJBQTJCLENBQUM7UUFDekQsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLElBQUksUUFBUSxFQUFFLEVBQUUsb0JBQW9CLENBQUM7S0FDekQ7SUFDRCxVQUFVLEVBQUUsa0JBQWtCLENBQUMsUUFBUSxFQUFFLDRCQUE0QixDQUFDO0NBQ3pFLENBQUMsQ0FBQztBQUVILE1BTWEsMkJBQTJCO0lBTnhDO1FBT3FCLFlBQU8sR0FBRyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQUduRSxVQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7UUFHM0IsZUFBVSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBR3JDLGNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUduQyxlQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFHckMsY0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBR25DLGNBQVMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUduQyxXQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7S0FDdkM7K0dBdkJZLDJCQUEyQjttR0FBM0IsMkJBQTJCLDJpQkFGekIsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLEVBQUUsMkJBQTJCLENBQUMsQ0FBQzs7U0FFakUsMkJBQTJCOzRGQUEzQiwyQkFBMkI7a0JBTnZDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFDSixtS0FBbUs7b0JBQ3ZLLFNBQVMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsOEJBQThCLENBQUM7aUJBQzdFOzhCQUtVLEtBQUs7c0JBRFgsS0FBSzt1QkFBQyxrQkFBa0I7Z0JBSWxCLFVBQVU7c0JBRGhCLEtBQUs7dUJBQUMsdUJBQXVCO2dCQUl2QixTQUFTO3NCQURmLEtBQUs7dUJBQUMsc0JBQXNCO2dCQUl0QixVQUFVO3NCQURoQixLQUFLO3VCQUFDLHVCQUF1QjtnQkFJdkIsU0FBUztzQkFEZixLQUFLO3VCQUFDLHNCQUFzQjtnQkFJdEIsU0FBUztzQkFEZixLQUFLO3VCQUFDLHNCQUFzQjtnQkFJdEIsTUFBTTtzQkFEWixLQUFLO3VCQUFDLG1CQUFtQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgRGlyZWN0aXZlLFxuICAgIHR5cGUgRmFjdG9yeVByb3ZpZGVyLFxuICAgIGluamVjdCxcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBTZWxmLFxuICAgIFNraXBTZWxmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpUHJvdmlkZX0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7dHlwZSBUdWlWZXJ0aWNhbERpcmVjdGlvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHt0dWlPdmVycmlkZU9wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzJztcblxuZXhwb3J0IHR5cGUgVHVpRHJvcGRvd25BbGlnbiA9ICdjZW50ZXInIHwgJ2xlZnQnIHwgJ3JpZ2h0JztcbmV4cG9ydCB0eXBlIFR1aURyb3Bkb3duV2lkdGggPSAnYXV0bycgfCAnZml4ZWQnIHwgJ21pbic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpRHJvcGRvd25PcHRpb25zIHtcbiAgICByZWFkb25seSBhbGlnbjogVHVpRHJvcGRvd25BbGlnbjtcbiAgICByZWFkb25seSBhcHBlYXJhbmNlOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgZGlyZWN0aW9uOiBUdWlWZXJ0aWNhbERpcmVjdGlvbiB8IG51bGw7XG4gICAgcmVhZG9ubHkgbGltaXRXaWR0aDogVHVpRHJvcGRvd25XaWR0aDtcbiAgICByZWFkb25seSBtYXhIZWlnaHQ6IG51bWJlcjtcbiAgICByZWFkb25seSBtaW5IZWlnaHQ6IG51bWJlcjtcbiAgICByZWFkb25seSBvZmZzZXQ6IG51bWJlcjtcbn1cblxuLyoqIERlZmF1bHQgdmFsdWVzIGZvciBkcm9wZG93biBvcHRpb25zICovXG5leHBvcnQgY29uc3QgVFVJX0RST1BET1dOX0RFRkFVTFRfT1BUSU9OUzogVHVpRHJvcGRvd25PcHRpb25zID0ge1xuICAgIGFsaWduOiAnbGVmdCcsXG4gICAgZGlyZWN0aW9uOiBudWxsLFxuICAgIGxpbWl0V2lkdGg6ICdhdXRvJyxcbiAgICBtYXhIZWlnaHQ6IDQwMCxcbiAgICBtaW5IZWlnaHQ6IDgwLFxuICAgIG9mZnNldDogNCxcbiAgICBhcHBlYXJhbmNlOiAnJyxcbn07XG5cbi8qKlxuICogRGVmYXVsdCBwYXJhbWV0ZXJzIGZvciBkcm9wZG93biBkaXJlY3RpdmVcbiAqL1xuZXhwb3J0IGNvbnN0IFRVSV9EUk9QRE9XTl9PUFRJT05TID0gbmV3IEluamVjdGlvblRva2VuKFxuICAgIG5nRGV2TW9kZSA/ICdUVUlfRFJPUERPV05fT1BUSU9OUycgOiAnJyxcbiAgICB7XG4gICAgICAgIGZhY3Rvcnk6ICgpID0+IFRVSV9EUk9QRE9XTl9ERUZBVUxUX09QVElPTlMsXG4gICAgfSxcbik7XG5cbmV4cG9ydCBjb25zdCB0dWlEcm9wZG93bk9wdGlvbnNQcm92aWRlcjogKFxuICAgIG9wdGlvbnM6IFBhcnRpYWw8VHVpRHJvcGRvd25PcHRpb25zPixcbikgPT4gRmFjdG9yeVByb3ZpZGVyID0gKG92ZXJyaWRlOiBQYXJ0aWFsPFR1aURyb3Bkb3duT3B0aW9ucz4pID0+ICh7XG4gICAgcHJvdmlkZTogVFVJX0RST1BET1dOX09QVElPTlMsXG4gICAgZGVwczogW1xuICAgICAgICBbbmV3IE9wdGlvbmFsKCksIG5ldyBTZWxmKCksIFR1aURyb3Bkb3duT3B0aW9uc0RpcmVjdGl2ZV0sXG4gICAgICAgIFtuZXcgT3B0aW9uYWwoKSwgbmV3IFNraXBTZWxmKCksIFRVSV9EUk9QRE9XTl9PUFRJT05TXSxcbiAgICBdLFxuICAgIHVzZUZhY3Rvcnk6IHR1aU92ZXJyaWRlT3B0aW9ucyhvdmVycmlkZSwgVFVJX0RST1BET1dOX0RFRkFVTFRfT1BUSU9OUyksXG59KTtcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjpcbiAgICAgICAgJ1t0dWlEcm9wZG93bkFsaWduXSwgW3R1aURyb3Bkb3duQXBwZWFyYW5jZV0sIFt0dWlEcm9wZG93bkRpcmVjdGlvbl0sIFt0dWlEcm9wZG93bkxpbWl0V2lkdGhdLCBbdHVpRHJvcGRvd25NaW5IZWlnaHRdLCBbdHVpRHJvcGRvd25NYXhIZWlnaHRdLCBbdHVpRHJvcGRvd25PZmZzZXRdJyxcbiAgICBwcm92aWRlcnM6IFt0dWlQcm92aWRlKFRVSV9EUk9QRE9XTl9PUFRJT05TLCBUdWlEcm9wZG93bk9wdGlvbnNEaXJlY3RpdmUpXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRHJvcGRvd25PcHRpb25zRGlyZWN0aXZlIGltcGxlbWVudHMgVHVpRHJvcGRvd25PcHRpb25zIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9wdGlvbnMgPSBpbmplY3QoVFVJX0RST1BET1dOX09QVElPTlMsIHtza2lwU2VsZjogdHJ1ZX0pO1xuXG4gICAgQElucHV0KCd0dWlEcm9wZG93bkFsaWduJylcbiAgICBwdWJsaWMgYWxpZ24gPSB0aGlzLm9wdGlvbnMuYWxpZ247XG5cbiAgICBASW5wdXQoJ3R1aURyb3Bkb3duQXBwZWFyYW5jZScpXG4gICAgcHVibGljIGFwcGVhcmFuY2UgPSB0aGlzLm9wdGlvbnMuYXBwZWFyYW5jZTtcblxuICAgIEBJbnB1dCgndHVpRHJvcGRvd25EaXJlY3Rpb24nKVxuICAgIHB1YmxpYyBkaXJlY3Rpb24gPSB0aGlzLm9wdGlvbnMuZGlyZWN0aW9uO1xuXG4gICAgQElucHV0KCd0dWlEcm9wZG93bkxpbWl0V2lkdGgnKVxuICAgIHB1YmxpYyBsaW1pdFdpZHRoID0gdGhpcy5vcHRpb25zLmxpbWl0V2lkdGg7XG5cbiAgICBASW5wdXQoJ3R1aURyb3Bkb3duTWluSGVpZ2h0JylcbiAgICBwdWJsaWMgbWluSGVpZ2h0ID0gdGhpcy5vcHRpb25zLm1pbkhlaWdodDtcblxuICAgIEBJbnB1dCgndHVpRHJvcGRvd25NYXhIZWlnaHQnKVxuICAgIHB1YmxpYyBtYXhIZWlnaHQgPSB0aGlzLm9wdGlvbnMubWF4SGVpZ2h0O1xuXG4gICAgQElucHV0KCd0dWlEcm9wZG93bk9mZnNldCcpXG4gICAgcHVibGljIG9mZnNldCA9IHRoaXMub3B0aW9ucy5vZmZzZXQ7XG59XG4iXX0=