@universal-material/web
Version:
Material web components
54 lines • 1.56 kB
JavaScript
import { __decorate } from "tslib";
import { html } from 'lit';
import { customElement, property, query } from 'lit/decorators.js';
import { html as staticHtml } from 'lit/static-html.js';
import { UmTextFieldBase } from '../shared/text-field-base/text-field-base.js';
import { styles } from './button-field.styles';
let UmButtonField = class UmButtonField extends UmTextFieldBase {
constructor() {
super(...arguments);
this._value = '';
}
static { this.styles = [UmTextFieldBase.styles, styles]; }
get value() {
return this._value;
}
set value(value) {
this._value = value;
this.empty = !value;
this.elementInternals.setFormValue(value);
}
renderControl() {
return staticHtml `
<button
class="button"
aria-expanded="false"
aria-owns="select"
?disabled=${this.disabled}></button>
<div class="input">
<slot>${this.value}</slot>
</div>
<u-ripple ?disabled=${this.disabled}></u-ripple>`;
}
renderAfterContent() {
return html `
<u-menu>
<slot></slot>
</u-menu>
`;
}
};
__decorate([
property()
], UmButtonField.prototype, "value", null);
__decorate([
query('.button', true)
], UmButtonField.prototype, "_button", void 0);
__decorate([
query('.input', true)
], UmButtonField.prototype, "_input", void 0);
UmButtonField = __decorate([
customElement('u-button-field')
], UmButtonField);
export { UmButtonField };
//# sourceMappingURL=button-field.js.map