import { AfterViewInit, ElementRef, OnDestroy, OnInit, OnChanges, SimpleChanges } from '@angular/core'; import { AbstractControl } from '@angular/forms'; import { PoInputBaseComponent } from '../po-input/po-input-base.component'; /** * * @docsExtends PoInputBaseComponent * * @description * * - O `po-decimal` é um *input* específico para receber apenas números decimais, por isso recebe as seguintes características: * + Aceita apenas números; * + Utiliza ',' como separador de decimal; * + Utiliza '.' para separação de milhar; * + É possível configurar a quantidade de casas decimais e a quantidade de digitos do campo. * * > **Importante:** * Atualmente o JavaScript limita-se a um conjunto de dados de `32 bits`, e para que os valores comportem-se devidamente, * o `po-decimal` contém um tratamento que limita em 16 o número total de casas antes e após a vírgula. * Veja abaixo as demais regras nas documentações de `p-decimals-length` e `p-thousand-maxlength`. * * @example * * * * * * * * * * * * * * * * * * * * */ export declare class PoDecimalComponent extends PoInputBaseComponent implements AfterViewInit, OnInit, OnDestroy, OnChanges { private readonly el; private readonly poLanguageService; inputEl: ElementRef; id: string; private _decimalsLength?; private _thousandMaxlength?; private _locale?; private _min?; private _max?; private decimalSeparator; private fireChange; private readonly isKeyboardAndroid; private readonly minusSign; private oldDotsLength; private thousandSeparator; private valueBeforeChange; private subscriptionValidator; private regex; get autocomplete(): "off" | "on"; /** * @optional * * @description * * Quantidade máxima de casas decimais. * * > **Importante:** * - O valor máximo permitido é 15; * - A soma total de `p-decimals-length` com `p-thousand-maxlength` limita-se à 16; * - Esta propriedade sobrepõe apenas o valor **padrão** de `p-thousand-maxlength`; * - Caso `p-thousand-maxlength` tenha um valor definido, esta propriedade poderá receber apenas o valor restante do limite total (16). * * @default `2` */ set decimalsLength(value: number); get decimalsLength(): number; /** * @optional * * @description * * Quantidade máxima de dígitos antes do separador decimal. * * > **Importante:** * - O valor máximo permitido é 13; * - A soma total de `p-decimals-length` com `p-thousand-maxlength` limita-se à 16; * - Esta propriedade sobrepõe o valor definido em `p-decimals-length`. * * @default `13` */ set thousandMaxlength(value: number); get thousandMaxlength(): number; /** * @optional * * @description * * Informa o locale(país) para a formatação do valor. * Por padrão o valor será configurado segundo a o módulo [`I18n`](documentation/po-i18n) * * > Para ver quais linguagens suportadas acesse [`I18n`](documentation/po-i18n) * */ set locale(locale: string); /** * @optional * * @description * * Valor mínimo. */ set min(value: number); get min(): number; /** * @optional * * @description * * Valor máximo. */ set max(value: number); get max(): number; constructor(); ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; setNumbersSeparators(): void; ngAfterViewInit(): void; ngOnDestroy(): void; clear(value: any): void; extraValidation(abstractControl: AbstractControl): { [key: string]: any; }; focus(): void; getScreenValue(): any; hasInvalidClass(): boolean; hasLetters(value?: string): RegExpMatchArray; hasNotSpace(value?: string): RegExpMatchArray; isValidNumber(event: any): boolean; onBlur(event: any): void; onFocus(event: FocusEvent): void; onInput(event: any): void; onInputKeyboardAndroid(event: any): any; onKeyDown(event: KeyboardEvent): void; onKeyPress(event: KeyboardEvent): void; writeValueModel(value: any): void; getErrorPatternMessage(): string; private addZeroBefore; setHelper(label?: string, additionalHelpTooltip?: string): { hideAdditionalHelp: boolean; helperSettings?: any; }; private containsComma; private containsMoreThanOneDecimalSeparator; private controlChangeEmitter; private formatMask; private formatToModelValue; private formatToViewValue; private formatValueWithoutThousandSeparator; private getValueAfterSeparator; private getValueBeforeSeparator; private hasLessDot; private hasMoreDot; private hasMinusSignInvalidPosition; private isInvalidKey; private isGreaterThanTotalLengthLimit; private isKeyDecimalSeparator; private isPositionAfterDecimalSeparator; private isSelectionStartDifferentSelectionEnd; private isValidKey; private isValueBetweenAllowed; private verifyDecimalLengthIsZeroAndKeyPressedIsComma; private verifyAutoFocus; private setInitialSelectionRange; private replaceAt; private replaceCommaToDot; private setCursorInput; private setPositionValue; private setViewValue; private validateCursorPositionBeforeSeparator; private verifyErrorAsync; private verifyThousandLength; private verifyInsertComma; private verifyInsertMinusSign; private verifyValueAfterComma; }