# ember/template-builtin-component-arguments
💼 This rule is enabled in the 📋 `template-lint-migration` [config](https://github.com/ember-cli/eslint-plugin-ember#-configurations).
✅ The `extends: 'recommended'` property in a configuration file enables this rule.
The builtin `Input` component has several arguments that match attributes
of the lower-case `input` HTML element. These arguments should be set via e.g.
`@type`, instead of `type`, but it is easy to forget and can cause subtle
issues.
This rule warns about `Input` component invocations that use the following attributes instead of arguments:
- `checked`
- `type`
- `value`
The builtin `Textarea` component has several arguments that match properties
of the lower-case `textarea` HTML element. These arguments should be set via e.g.
`@value`, instead of `value`, but it is easy to forget and can cause subtle
issues.
This rule warns about `Textarea` component invocations that use the following attributes instead of arguments:
- `value`
Please note that this rule currently only warns about these three attributes on
the `Input`, and one property on the `Textarea` components, but might be extended in the future to also warn about
other attributes or builtin components.
## Examples
This rule **forbids** the following:
```hbs
```
```hbs
```
```hbs
```
This rule **allows** the following:
```hbs
```
```hbs
```
```hbs
```
```hbs
```
## Migration
- Add the `@` character in front of the relevant attributes to convert them
into component argument
## Related Rules
- [template-no-unknown-arguments-for-builtin-components](template-no-unknown-arguments-for-builtin-components.md)
## References
- [`Input` component API documentation](https://api.emberjs.com/ember/release/classes/Ember.Templates.components/methods/Input?anchor=Input)
- [`Textarea` component API documentation](https://api.emberjs.com/ember/release/classes/Ember.Templates.components/methods/Textarea?anchor=Textarea)