(function(define){define(function(require,exports,module){ /*jshint esnext:true*/ 'use strict'; /** * Dependencies */ var component = require('gaia-component'); /** * Exports */ module.exports = component.register('gaia-text-input-multiline', { created: function() { this.setupShadowRoot(); this.els = { inner: this.shadowRoot.querySelector('.inner'), field: this.shadowRoot.querySelector('textarea') }; this.type = this.getAttribute('type'); this.disabled = this.hasAttribute('disabled'); this.placeholder = this.getAttribute('placeholder'); this.required = this.getAttribute('required'); this.value = this.getAttribute('value'); }, clear: function(e) { this.value = ''; }, attrs: { placeholder: { get: function() { return this.els.field.placeholder; }, set: function(value) { this.els.field.placeholder = value || ''; } }, value: { get: function() { return this.els.field.value; }, set: function(value) { this.els.field.value = value; } }, required: { get: function() { return this.els.field.required; }, set: function(value) { this.els.field.required = value; } }, disabled: { get: function() { return this.els.field.disabled; }, set: function(value) { value = !!(value === '' || value); this.els.field.disabled = value; } } }, template: `