Automatically resize the inputs.
npm install autoresizeautoresize
==========
> Automatically resize the inputs.
You can try TextArea or Input examples in your browser.
__Note:__ _Autoresize of the element is not yet implemented._
#### Node
```
npm i autoresize
Then in your project require it:
`js`
const autoresize = require('autoresize');`
Or use ES import:js`
import autoresize from 'autoresize';
#### Browser
__Note:__ _You will have access to the global autoresize function, that will be added to the window object._
`html`
Minified version:
`html`
ES5 version:
`html`
Minified ES5 version:
`html`
`js
const element = document.querySelector('#textarea');
const options = { maximumRows: 5, assumeRendered: true };
// Enable autoresize by adding specific listeners
const disable = autoresize(element, options);
// Remove all listeners and disable autoresize
disable();
`
##### element
An HTML element of types: HTMLTextAreaElement or HTMLInputElement.
##### options
An options object, that is different for each element type.
__TextArea__
`js`
{
minimumRows: 1,
maximumRows: Infinity,
rowHeight: null,
assumeRendered: false
}rowHeight
Passing the value may be a bit more performant solution, but it will mean that the lineSize is guarantee to be unchanged in future with JS or CSS (including some @media queries). Otherwise, rowHeight will be calculated on the initial step and recalculated on window 'resize' event.
Passing the assumeRendered with true value will skip the check for the presence of the element in the DOM. Otherwise, the render() function will wait, until the element is rendered and then will apply the event listeners.
__Input__
`js``
{
maxWidth: null,
assumeRendered: false
}