input-autowidth

1.0.3 • Public • Published

input-autowidth

npm version gzip size

Dependency-free JavaScript class to set an input's width based on its content

npm install input-autowidth
import InputAutoWidth from 'input-autowidth';
 
new InputAutoWidth(document.getElementById('username'), {
    cache: false, // boolean
    minWidth: null, // number
    maxWidth: null // number
});

The returned class instance has the following properties and methods:

{
    /**
     * @description input element the autowidth was bound to
     */
    inputElement;
 
    /**
     * @description current options
     */
    optionsObject | undefined;
 
    /**
     * @description current input width
     */
    currentWidthNumber;
 
    /**
     * @description object of currently cached strings and their corresponding widths
     */
    cacheObject;
 
    /**
     * @description event handler bound to the blur, input, keyup, and keydown events on the input
     * stored to enable removing the event listeners
     */
    eventHandlerFunction;
 
    /**
     * @description measure string method
     * @param {String} str 
     * @returns {Number} 
     */
    measureStringFunction;
 
    /**
     * @description trigger a check on the original element
     */
    triggerFunction;
 
    /**
     * @description destroy the instance and unbind events - input width will remain set however
     */
    destroyFunction;
}

Package Sidebar

Install

npm i input-autowidth

Weekly Downloads

368

Version

1.0.3

License

MIT

Unpacked Size

7.6 kB

Total Files

4

Last publish

Collaborators

  • mynamesleon