Inputs can have different types, and be disabled

Inputs can have character counters

The label can have different floating states

Inputs can validate automatically or on demand, and can have custom error messages

Inputs can have prefixes and suffixes

Inputs can have custom logic

You can use paper-input-container directly if you want more control over the input (for example, if you want to use this in a native form, etc.)

Inputs can be completely restyled