UNPKG

govbr-ds-angular

Version:

Implementação em Angular do Design System GovBR.

206 lines (205 loc) 6.91 kB
import { AfterViewInit, EventEmitter } from '@angular/core'; import { AbstractControl, ControlValueAccessor } from '@angular/forms'; import { SizeOptions } from '../../types/size.type'; import * as i0 from "@angular/core"; /** * Componente InputComponent é responsável por exibir um campo de entrada com várias opções de configuração. * Implementa a interface ControlValueAccessor para integração com formulários Angular. * @example * <app-input [label]="'Nome'" [id]="'input1'" [(ngModel)]="name"></app-input> * * @public * {@link https://www.gov.br/ds/components/input?tab=desenvolvedor|Documentação oficial} */ export declare class InputComponent implements ControlValueAccessor, AfterViewInit { /** * Rótulo do campo de entrada. * @type {string} * @required */ label: string; /** * ID do campo de entrada. * @type {string} * @required */ id: string; /** * Nome do campo de entrada. * @type {string} */ name: string; /** * Tamanho do campo de entrada. * @type {SizeOptions} * @default 'medium' */ size: SizeOptions; /** * Tipo do campo de entrada. * @type {'text' | 'password' | 'email' | 'number'} * @default 'text' */ type: 'text' | 'password' | 'email' | 'number'; /** * Estado do campo de entrada. * @type {'success' | 'danger' | 'info' | 'warning' | ''} * @default '' */ state: 'success' | 'danger' | 'info' | 'warning' | ''; /** * Placeholder do campo de entrada. * @type {string} */ placeholder: string; /** * Dica de uso para o campo de entrada. * @type {string} */ hint: string; /** * Autocomplete do campo de entrada. * @type {string} * @default 'off' */ autocomplete: string; /** * Feedback do campo de entrada. * @type {string} */ feedback: string; /** * Indica se o campo de entrada possui botão. * @type {boolean} * @default false */ hasButton: boolean; /** * Indica se o campo de entrada deve ser destacado. * @type {boolean} * @default false */ highlight: boolean; /** * Indica se o campo de entrada é somente leitura. * @type {boolean} * @default false */ readonly: boolean; /** * Indica se o campo de entrada está desabilitado. * @type {boolean} * @default false */ disabled: boolean; /** * Indica se o campo de entrada possui ícone. * @type {boolean} * @default false */ hasIcon: boolean; /** * Ícone do campo de entrada. * @type {string} * @default 'fas fa-search' */ icon: string; /** * Comprimento máximo do campo de entrada. * @type {number} */ maxLength: number; /** * Valor mínimo do campo de entrada. * @type {number | string} */ min: number | string; /** * Valor máximo do campo de entrada. * @type {number | string} */ max: number | string; /** * Padrão do campo de entrada. * @type {string} */ pattern: string; /** * Passo do campo de entrada. * @type {number} */ step: number; /** * Obtém se o campo de entrada é obrigatório. * @type {boolean} */ get required(): boolean; /** * Define se o campo de entrada é obrigatório. * @type {boolean} */ set required(value: boolean); protected _required: boolean | undefined; /** * Evento emitido quando o valor do campo de entrada muda. * @type {EventEmitter<string>} */ change: EventEmitter<string>; /** * Evento emitido quando o botão do campo de entrada é clicado. * @type {EventEmitter<void>} */ clickButton: EventEmitter<void>; /** * Controle do formulário associado ao campo de entrada. * @type {AbstractControl} */ control?: AbstractControl; protected _value: string; /** * Obtém o valor do campo de entrada. * @type {string} */ get value(): string; /** * Define o valor do campo de entrada. * @type {string} */ set value(val: string); protected _touched: () => void; protected _change: (value: string) => void; instance: unknown; private brInput; constructor(); /** * Método do ciclo de vida do Angular chamado após a visualização ser inicializada. * Inicializa a instância do componente BRInput. * @internal */ ngAfterViewInit(): void; writeValue(value: string): void; setDisabledState(disabled: boolean): void; registerOnChange(fn: (value: string) => void): void; registerOnTouched(fn: () => void): void; onBlur(): void; /** * Manipulador de evento para mudança no valor do campo de entrada. * @param event - O evento de mudança. * @internal */ onChangeInput(event: Event): void; /** * Manipulador de evento para clique no botão do campo de entrada. * @param event - O evento de clique. * @internal */ onClickButton(event: MouseEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration<InputComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<InputComponent, "app-input", never, { "label": { "alias": "label"; "required": true; }; "id": { "alias": "id"; "required": true; }; "name": { "alias": "name"; "required": false; }; "size": { "alias": "size"; "required": false; }; "type": { "alias": "type"; "required": false; }; "state": { "alias": "state"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "feedback": { "alias": "feedback"; "required": false; }; "hasButton": { "alias": "hasButton"; "required": false; }; "highlight": { "alias": "highlight"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "hasIcon": { "alias": "hasIcon"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "maxLength": { "alias": "maxLength"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "pattern": { "alias": "pattern"; "required": false; }; "step": { "alias": "step"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, { "change": "change"; "clickButton": "clickButton"; }, never, ["*"], true, never>; static ngAcceptInputType_hasButton: unknown; static ngAcceptInputType_highlight: unknown; static ngAcceptInputType_readonly: unknown; static ngAcceptInputType_disabled: unknown; static ngAcceptInputType_hasIcon: unknown; static ngAcceptInputType_required: unknown; }