// 🎯 TEXTAREA INPUT - Exportações
export { TextareaInputComponent } from './textarea-input.component';
export { TextareaInputExampleComponent } from './textarea-input.example';

// 📝 Interface para configuração do campo
export interface TextareaFieldConfig {
  key: string;
  label: string;
  placeholder?: string;
  disabled?: boolean;
  readOnly?: boolean;
  required?: boolean;
  maxLength?: number;
  minLength?: number;
  rows?: number;
  autoResize?: boolean;
  showCharCounter?: boolean;
  resizable?: boolean;
}

// 🎯 Constantes úteis
export const TEXTAREA_DEFAULTS = {
  ROWS: 4,
  MAX_LENGTH: 1000,
  AUTO_RESIZE: true,
  SHOW_CHAR_COUNTER: true,
  RESIZABLE: true,
  MIN_HEIGHT: 96, // 4 linhas * 24px
  MAX_HEIGHT: 200
} as const;

// 📝 Tipos de configuração comuns
export const TEXTAREA_PRESETS = {
  NOTES: {
    rows: 4,
    maxLength: 500,
    autoResize: true,
    showCharCounter: true,
    resizable: true
  },
  OBSERVATIONS: {
    rows: 6,
    maxLength: 1000,
    autoResize: true,
    showCharCounter: true,
    resizable: true
  },
  COMMENTS: {
    rows: 2,
    maxLength: 200,
    autoResize: true,
    showCharCounter: true,
    resizable: false
  },
  DESCRIPTION: {
    rows: 8,
    maxLength: 2000,
    autoResize: false,
    showCharCounter: true,
    resizable: true
  },
  COMPACT: {
    rows: 3,
    maxLength: 300,
    autoResize: true,
    showCharCounter: false,
    resizable: false
  }
} as const; 