(function(window) { "use strict"; window.ls.container.get("view").add({ selector: "data-forms-text-resize", controller: function(element, window) { function resize() { var scrollLeft = window.pageXOffset || ( window.document.documentElement || window.document.body.parentNode || window.document.body ).scrollLeft; var scrollTop = window.pageYOffset || ( window.document.documentElement || window.document.body.parentNode || window.document.body ).scrollTop; var offset = element.offsetHeight - element.clientHeight; element.style.height = "auto"; element.style.height = element.scrollHeight + offset + "px"; window.scrollTo(scrollLeft, scrollTop); } element.addEventListener("keyup", resize); element.addEventListener("change", resize); element.addEventListener("cut", resize); element.addEventListener("paste", resize); element.addEventListener("drop", resize); window.addEventListener("resize", resize); resize(); } }); })(window);