Skip to content

Migrate: Textarea Component #116

@dokterbob

Description

@dokterbob

Objective

Replace Flowbite Textarea with ShadCDN Textarea in the chat input component.

Component Location

  • ChatInput.svelte - Main chat input field

Current Implementation

  • Multi-line input with rows={2}
  • Clearable functionality
  • No border styling with focus ring removed
  • Disabled during streaming
  • Enter key handling (Shift+Enter for newline)

Migration Notes

<!-- Flowbite -->
<Textarea 
  rows={2} 
  clearable 
  class="focus:ring-0 focus:outline-none"
  disabled={streaming}
/>

<!-- ShadCDN -->
<Textarea 
  rows={2}
  class="resize-none focus-visible:ring-0"
  disabled={streaming}
/>

Tasks

  • Install ShadCDN Textarea: pnpm dlx shadcn-svelte@latest add textarea
  • Update ChatInput.svelte
  • Implement clearable functionality if needed
  • Test auto-resize behavior
  • Verify Enter/Shift+Enter key handling
  • Test disabled state during streaming

Special Considerations

  • May need custom clear button implementation
  • Preserve auto-expansion behavior if present
  • Maintain focus management

Acceptance Criteria

  • Input field looks and behaves identically
  • Key bindings work correctly
  • Clear functionality available
  • Disabled state properly styled

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions