govbr-ds-angular
Version:
Implementação em Angular do Design System GovBR.
153 lines (152 loc) • 4.95 kB
TypeScript
import { AfterViewInit, OnInit } from '@angular/core';
import { AbstractControl, ControlValueAccessor } from '@angular/forms';
import * as i0 from "@angular/core";
export declare const TYPE_DATE_PICKER: {
date: string;
time: string;
date_time: string;
};
export type TypesDatePicker = keyof typeof TYPE_DATE_PICKER;
/**
* Componente DateTimePickerComponent é responsável por exibir um seletor de data e hora.
* Implementa a interface ControlValueAccessor para integração com formulários Angular.
* @example
* <app-date-time-picker [label]="'Data e Hora'" [id]="'datetimepicker1'" [(ngModel)]="selectedDate"></app-date-time-picker>
*
* @public
* {@link https://www.gov.br/ds/components/datetimepicker?tab=desenvolvedor|Documentação oficial}
*/
export declare class DateTimePickerComponent implements OnInit, AfterViewInit, ControlValueAccessor {
/**
* Rótulo do componente DateTimePicker.
* @type {string}
* @required
*/
label: string;
/**
* ID do componente DateTimePicker.
* @type {string}
* @required
*/
id: string;
/**
* Indica se o componente deve permitir seleção de intervalo.
* @type {boolean}
* @default false
*/
range: boolean;
/**
* Indica se o componente está desabilitado.
* @type {boolean}
* @default false
*/
disabled: boolean;
/**
* Data mínima permitida para seleção.
* @type {Date | string}
*/
minDate: Date | string;
/**
* Data máxima permitida para seleção.
* @type {Date | string}
*/
maxDate: Date | string;
/**
* Placeholder do campo de entrada.
* @type {string}
*/
placeholder: string;
/**
* Dica de uso para o campo de entrada.
* @type {string}
*/
hint: string;
/**
* Obtém o tipo de seletor de data/hora.
* @type {string}
*/
get type(): string;
/**
* Define o tipo de seletor de data/hora.
* @type {TypesDatePicker}
*/
set type(value: TypesDatePicker);
/**
* Tipo de seletor de data/hora.
* @type {TypesDatePicker}
* @default 'date'
* @private
*/
private _type;
/**
* 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);
/**
* Valor do campo de entrada.
* @type {string}
* @protected
*/
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);
/** Controle abstrato do Angular Forms. */
control?: AbstractControl;
protected _required: boolean | undefined;
protected _touched: () => void;
protected _change: (value: string) => void;
protected readonly TypeDatePicker: {
date: string;
time: string;
date_time: string;
};
instance: unknown;
private brDatePicker;
constructor();
/**
* Método do ciclo de vida do Angular chamado após a visualização ser inicializada.
* Inicializa a instância do componente BRDateTimePicker.
* @internal
*/
ngAfterViewInit(): void;
/**
* Normaliza a data para o formato 'DD/MM/YYYY'.
* @param date - A data a ser normalizada.
* @returns A data normalizada no formato 'DD/MM/YYYY'.
* @internal
*/
normalizeDate(date: string | Date): string;
/**
* @internal
*/
ngOnInit(): void;
/**
* Configura o placeholder do campo de entrada com base no tipo e se é um intervalo.
* @internal
*/
mountPlaceholder(): void;
writeValue(value: string): void;
setDisabledState(disabled: boolean): void;
registerOnChange(fn: (value: string) => void): void;
registerOnTouched(fn: () => void): void;
onBlur(): void;
static ɵfac: i0.ɵɵFactoryDeclaration<DateTimePickerComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<DateTimePickerComponent, "app-date-time-picker", never, { "label": { "alias": "label"; "required": true; }; "id": { "alias": "id"; "required": true; }; "range": { "alias": "range"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "type": { "alias": "type"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, {}, never, ["*"], true, never>;
static ngAcceptInputType_range: unknown;
static ngAcceptInputType_disabled: unknown;
static ngAcceptInputType_required: unknown;
}