openiis-ui
Version:
Una librería moderna de componentes UI para Angular con temas personalizables
64 lines (63 loc) • 2.5 kB
TypeScript
import { EventEmitter, OnInit, OnChanges, ChangeDetectorRef, ElementRef } from '@angular/core';
import * as i0 from "@angular/core";
/**
* Interface para las opciones del dropdown
*/
export interface DropdownOption {
value: string;
label: string;
}
/**
* Tamaños disponibles para el dropdown
*/
export type DropdownSize = 'sm' | 'md' | 'lg';
export declare class OpeniisDropdownComponent implements OnInit, OnChanges {
private cdr;
/** Referencia al select element */
dropdownSelect?: ElementRef<HTMLSelectElement>;
/** Tamaño del dropdown */
size: DropdownSize;
/** Opciones del dropdown */
options: DropdownOption[];
/** Valor actualmente seleccionado */
selectedValue: string;
/** Texto del tooltip */
tooltip?: string;
/** Posición del tooltip */
tooltipPosition: 'top' | 'bottom' | 'left' | 'right';
/** Permite búsqueda por descripción también */
variant: 'default' | 'danger';
/** Estado deshabilitado */
disabled: boolean;
/** Emite cuando cambia la selección */
selectionChanged: EventEmitter<string>;
/** Estado del tooltip */
showTooltip: boolean;
/** Estado del dropdown */
isOpen: boolean;
constructor(cdr: ChangeDetectorRef);
ngOnInit(): void;
ngOnChanges(): void;
/**
* Maneja el cambio de selección
*/
onSelectionChange(event: Event): void;
/**
* Actualiza manualmente el valor del select
*/
private updateSelectValue;
/**
* Obtiene la clase CSS según el tamaño configurado
*/
getSizeClass(): string;
/** Muestra el tooltip */
onMouseEnter(): void;
/** Oculta el tooltip */
onMouseLeave(): void;
/** Maneja el foco del select */
onFocus(): void;
/** Maneja la pérdida de foco del select */
onBlur(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<OpeniisDropdownComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<OpeniisDropdownComponent, "openiis-dropdown", never, { "size": { "alias": "size"; "required": false; }; "options": { "alias": "options"; "required": false; }; "selectedValue": { "alias": "selectedValue"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "selectionChanged": "selectionChanged"; }, never, never, true, never>;
}