govbr-ds-angular
Version:
Implementação em Angular do Design System GovBR.
206 lines (205 loc) • 6.91 kB
TypeScript
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;
}