UNPKG

@universal-material/web

Version:
66 lines 2.25 kB
import { __decorate } from "tslib"; import { html, nothing } from 'lit'; import { customElement, property, query } from 'lit/decorators.js'; import { live } from 'lit/directives/live.js'; import { UmNativeTextFieldWrapper } from '../shared/char-count-text-field/native-text-field-wrapper.js'; import { UmTextFieldBase } from '../shared/text-field-base/text-field-base.js'; import { styles } from './text-field.styles.js'; let UmTextField = class UmTextField extends UmNativeTextFieldWrapper { constructor() { super(...arguments); this.type = 'text'; this.readOnly = false; } static { this.styles = [UmTextFieldBase.styles, styles]; } renderControl() { return html ` <slot class="prefix" name="prefix"> <span>${this.prefixText}</span> </slot> <div class="input"> <input type=${this.type} part="input" id=${this.id || nothing} aria-labelledby="label" aria-describedBy="supporting-text" ?readonly=${this.readOnly} ?disabled=${this.disabled} spellcheck=${this.spellcheck} autocomplete=${this.autocomplete} autocapitalize=${this.autocapitalize} role=${this.role} maxlength=${this.maxlength ?? nothing} .placeholder=${this.placeholder} .value=${live(this._value)} @input=${this._handleInput} /> </div> <slot class="suffix" name="suffix"> <span>${this.suffixText}</span> </slot> `; } }; __decorate([ property() ], UmTextField.prototype, "type", void 0); __decorate([ property({ attribute: 'prefix-text' }) ], UmTextField.prototype, "prefixText", void 0); __decorate([ property({ attribute: 'suffix-text' }) ], UmTextField.prototype, "suffixText", void 0); __decorate([ property({ type: Boolean, reflect: true }) ], UmTextField.prototype, "readOnly", void 0); __decorate([ property({ reflect: true }) ], UmTextField.prototype, "autocapitalize", void 0); __decorate([ query('input') ], UmTextField.prototype, "input", void 0); UmTextField = __decorate([ customElement('u-text-field') ], UmTextField); export { UmTextField }; //# sourceMappingURL=text-field.js.map