Raxol.UI.Components.Input.MultiLineInput (Raxol v0.3.0)
View SourceA multi-line input component for text editing, supporting line wrapping, scrolling, selection, and accessibility.
BREAKING: All styling is now theme-driven. The style
field and @default_style
are removed. Use the theme system for all appearance customization.
Harmonized with modern Raxol component standards (style/theme merging, lifecycle hooks, accessibility props).
Summary
Functions
Initializes the MultiLineInput state, harmonizing style/theme/extra props and splitting lines for editing.
Types
@type t() :: %Raxol.UI.Components.Input.MultiLineInput{ aria_label: String.t() | nil, cursor_pos: {integer(), integer()}, focused: boolean(), height: integer(), history: any(), id: String.t() | nil, lines: [String.t()], on_change: (String.t() -> any()) | nil, placeholder: String.t(), scroll_offset: {integer(), integer()}, selection_end: {integer(), integer()} | nil, selection_start: {integer(), integer()} | nil, shift_held: boolean(), theme: map(), tooltip: String.t() | nil, value: String.t(), width: integer(), wrap: :none | :char | :word }