import { IconName } from "@raiadrogasil/pulso-icons";
interface TextFieldComumProps {
/**
* Conteúdo de texto do label do componente.
*/
label: string;
/**
* Atributo padrão do elemento \ do HTML.
*/
id: string;
/**
* Atributo padrão do elemento \ do HTML.
*/
name: string;
/**
* Atributo padrão do elemento \ do HTML.
*/
value?: string;
/**
* Habilita e configura um ícone que é carregado como leading icon do input.
*/
leadingIcon?: string;
/**
* Inclui um texto helper ao componente e configura um ícone que é carregado como leading icon do helper text.
*/
helperText?: string | {
text: string;
iconName?: IconName;
};
/**
* Atributo padrão do elemento \ do HTML.
*/
disabled?: boolean;
/**
* Habilita o estilo de erro do componente.
*/
error?: boolean;
/**
* Quando showHidePasswordButton for true, adiciona uma função de callback ao clique do botão de mostrar/esconder senha do componente.
*/
onShowHidePassword?: Function;
/**
* Adiciona uma função de callback ao clique do botão de reset do componente.
*/
onReset?: Function;
/**
* Habilita o estilo inverse do componente.
*
* Propriedade em deprecação. Caso você utilize, remova essa propriedade de sua implementação, para que seu código não seja prejudicado, quando a propriedade for removida.
*/
inverse?: boolean;
/**
* Configura o token da cor de fundo, sobre a qual o componente será colocado.
*/
backgroundColorName: string;
/**
* Adiciona uma função de callback à mudança do componente.
*/
onChange?: Function;
/**
* Atributo padrão do elemento \ do HTML.
*/
onBlur?: Function;
/**
* Atributo padrão do elemento \ do HTML.
*/
accesskey?: string;
/**
* Atributo padrão do elemento \ do HTML.
*/
autocomplete?: "on" | "off";
/**
* Atributo padrão do elemento \ do HTML.
*/
autofocus?: boolean;
/**
* Atributo padrão do elemento \ do HTML.
*/
autosave?: string;
/**
* Atributo padrão do elemento \ do HTML.
*/
form?: string;
/**
* Atributo padrão do elemento \ do HTML.
*/
formaction?: string;
/**
* Atributo padrão do elemento \ do HTML.
*/
inputmode?: "email" | "search" | "tel" | "text" | "url" | "none" | "numeric" | "decimal" | undefined;
/**
* Atributo padrão do elemento \ do HTML.
*/
type?: "color" | "date" | "datetime-local" | "email" | "file" | "image" | "month" | "number" | "password" | "radio" | "range" | "reset" | "search" | "submit" | "tel" | "text" | "time" | "url" | "week";
/**
* Atributo padrão do elemento \ do HTML.
*/
list?: string;
/**
* Atributo padrão do elemento \ do HTML.
*/
max?: string;
/**
* Atributo padrão do elemento \ do HTML.
*/
maxlength?: number;
/**
* Atributo padrão do elemento \ do HTML.
*/
min?: string;
/**
* Atributo padrão do elemento \ do HTML.
*/
minlength?: number;
/**
* Atributo padrão do elemento \ do HTML.
*/
multiple?: boolean;
/**
* Atributo padrão do elemento \ do HTML.
*/
pattern?: string;
/**
* Atributo padrão do elemento \ do HTML.
*/
readonly?: boolean;
/**
* Atributo padrão do elemento \ do HTML.
*/
required?: boolean;
/**
* Quando type estiver configurado como "password" adiciona um botão que força o type para "text" em um primeiro clique/toque e volta o type para "password" em um segundo clique/toque.
*/
showHidePasswordButton?: boolean;
/**
* Atributo padrão do elemento \ do HTML.
*/
size?: number;
/**
* Atributo padrão do elemento \ do HTML.
*/
spellcheck?: boolean;
/**
* Atributo padrão do elemento \ do HTML.
*/
src?: string;
/**
* Atributo padrão do elemento \ do HTML.
*/
step?: string;
/**
* Atributo padrão do elemento \ do HTML.
*/
tabindex?: number;
/**
* Atributo padrão do elemento \ do HTML.
*/
width?: string;
/**
* Essa Prop inclui um atributo data-qa com o valor configurado no input.
*/
dataQA?: string | null;
/**
* Essa Prop inclui um atributo data-qa com o valor configurado no botão de reset.
*/
dataQAReset?: string | null;
/**
* Essa Prop inclui um atributo data-qa com o valor configurado no botão de mostrar/esconder senha.
*/
dataQAShowHidePassword?: string | null;
/**
* Essa Prop inclui um atributo data-collect com o valor configurado no input.
*/
dataCollect?: string | null;
/**
*Essa Prop inclui um atributo data-collect com o valor configurado no botão de reset.
*/
dataCollectReset?: string | null;
/**
* Essa Prop inclui um atributo data-collect com o valor configurado no botão de mostrar/esconder senha.
*/
dataCollectShowHidePassword?: string | null;
/**
* Essa Prop inclui um atributo data-collect-info com o valor configurado no input.
*/
dataCollectInfo?: string | null;
/**
* Essa Prop inclui um atributo data-collect-info com o valor configurado no botão de reset.
*/
dataCollectInfoReset?: string | null;
/**
* Essa Prop inclui um atributo data-collect-info com o valor configurado no botão de mostrar/esconder senha.
*/
dataCollectInfoShowHidePassword?: string | null;
/**
* Essa Prop inclui um atributo data-testid com o valor configurado no input.
*/
dataTestId?: string | null;
/**
* Essa Prop inclui um atributo data-testid com o valor configurado no botão de reset.
*/
dataTestIdReset?: string | null;
/**
* Essa Prop inclui um atributo data-testid com o valor configurado no botão de mostrar/esconder senha.
*/
dataTestIdShowHidePassword?: string | null;
/**
* Quando o type igual a "password" exibe informação dentro do campo, sobre a força da senha.
*/
passwordStrength?: "low" | "medium" | "high";
/**
* Essa prop permite que o componente tenha um tamanho mínimo.
*/
minWidth?: string;
/**
* Atributo para definir o tamanho do componente como 100%.
*/
fullWidth?: boolean;
/**
* Adiciona função de callback ao pressionar uma tecla.
*/
onKeyDown?: Function;
}
interface TextFieldWithFixedLabel {
/**
* Essa Prop permite mensagem de placeholder para o input, atualmente só deve ser usado com o theme `TR`.
*/
placeholder?: string;
/**
* Essa Prop permite que o label fique fixo acima do input, atualmente só deve ser usado com o theme `TR`.
*/
fixedLabel?: true;
}
interface TextFieldWithoutFixedLabel {
/**
* Essa Prop permite mensagem de placeholder para o input, atualmente só deve ser usado com o theme `TR`.
*/
placeholder?: never;
/**
* Essa Prop permite que o label fique fixo acima do input, atualmente só deve ser usado com o theme `TR`.
*/
fixedLabel?: false;
}
export type TextFieldProps = TextFieldComumProps & (TextFieldWithFixedLabel | TextFieldWithoutFixedLabel);
export {};