> For the complete documentation index, see [llms.txt](https://brady-xyz.gitbook.io/maclib-ui-library/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://brady-xyz.gitbook.io/maclib-ui-library/getting-started/loading-maclib/creating-a-window/creating-a-tab-group/adding-tabs/adding-sections/input.md).

# Input

<figure><img src="/files/ncYgufzVclfvvZRxArn7" alt=""><figcaption></figcaption></figure>

```lua
Section:Input({
  Name <string>
  Placeholder <string>
  AcceptedCharacters <function or string: "All", "Numeric", "Alphabetic", "AlphaNumeric">
  Callback <function(): string> -- Called upon focus lost
  onChanged <function(): string> -- Called upon text changed
}, <string or nil> Flag)
```

Functions

```lua
:UpdateName(<string>)
:SetVisiblity(<boolean>)
:GetInput(: string)
:UpdatePlaceholder(<string>)
:UpdateText(<string>)

.Text : string
.IgnoreConfig <boolean>
.Settings : table -- Not everything may be updated, but Callback should be correct.
```

Example

```lua
sections.MainSection1:Input({
	Name = "Target",
	Placeholder = "Username",
	AcceptedCharacters = "All",
	Callback = function(input)
		print("Target set: ".. input)
	end,
}, "TargetInput")
```

Example using custom AcceptedCharacters filter

```lua
sections.MainSection1:Input({
	Name = "Target",
	Placeholder = "Username",
	AcceptedCharacters = function(input)
		return input:gsub("[^a-zA-Z0-9]", "") -- AlphaNumeric sub
	end,
	Callback = function(input)
		print("Target set: ".. input)
	end,
}, "TargetInput")
```
