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; }