import React from "react";
export interface InputMultiSelectProps {
/**
* 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;
/**
* Inclui um texto helper ao componente e configura um ícone que é carregado como leading icon do helper text.
*/
helperText?: string;
/**
* Atributo padrão do elemento \ do HTML.
*/
disabled?: boolean;
/**
* Habilita o estilo de erro do componente.
*/
error?: boolean;
/**
* Adiciona uma função de callback à mudança do componente.
*/
onChange?: (event: React.ChangeEvent | IValuesProps[]) => void;
/**
* Adiciona uma função de callback ao desfocar do componente.
*/
onBlur?: (event: React.FocusEvent) => void;
/**
* Atributo padrão do elemento \ do HTML.
*/
autofocus?: boolean;
/**
* Atributo padrão do elemento \ do HTML.
*/
required?: boolean;
/**
* Essa Prop inclui um atributo data-qa com o valor configurado no input.
*/
dataQA?: 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-info com o valor configurado no input.
*/
dataCollectInfo?: string | null;
/**
* Essa Prop inclui um atributo data-testid com o valor configurado no input.
*/
dataTestId?: string | null;
/**
* Propriedade obrigatória com o tipo boolean. Indica se o elemento deve ocupar a largura total.
*/
fullWidth: boolean;
/**
* Propriedade obrigatória tipo de array de objetos. Usado para fornecer a lista de opções ou escolhas.
*/
options: {
label: string;
value: string;
}[];
/**
* Propriedade opcional tipo number. Usado para determinar tamanho do input do componente.
*/
width?: number;
/**
* Propriedade opcional tipo bollean. Usado como condicional do ícone da frase de ajuda.
*/
iconHelperText?: boolean;
}
export interface IValuesProps {
/**
* Conteúdo de valor do componente.
*/
value: string;
/**
* Conteúdo de texto do label do componente.
*/
label: string;
}
export interface fullWidthProps {
fullWidth: boolean;
width?: number | undefined;
}
export interface IconProps {
disabled?: boolean;
}
export interface LabelTextProps {
fieldHasValue?: boolean;
isOpen: boolean;
}
export interface MultiSelectProps {
fullWidth: boolean;
error?: boolean;
disabled?: boolean;
values: IValuesProps[];
}
export interface LabelProps {
error?: boolean;
disabled?: boolean;
fieldHasValue?: boolean;
}
export interface IconStyledRemoveProps {
error?: boolean;
disabled?: boolean;
}
export interface IconClosedOpenProps {
error?: boolean;
fieldHasValue?: boolean;
}