import { CSSResultGroup, html, TemplateResult } from 'lit';
import { customElement, property, query } from 'lit/decorators.js';
import PopupBase from './popup-base';
import { promptStyle } from './styles';
@customElement('doodle-prompt')
export class DoodlePrompt extends PopupBase {
@query('.popup-input-text')
public _inputText!: HTMLInputElement;
@property({ type: String })
public value = '';
public constructor(message = '', position = 'center') {
super(message, position);
}
public static get styles(): CSSResultGroup {
return promptStyle;
}
private getPromptClasses(): string {
const classes: Array = [];
classes.push(`popup`);
classes.push(`popup-${this.position}`);
return classes.join(' ');
}
protected render(): TemplateResult {
return html`
`;
}
public firstUpdated(): void {
super.connectedCallback();
this._inputText.focus();
}
private onClickOk(): void {
this.close(this.value);
}
private onClickCancel(): void {
this.close(null);
}
private onInputValue(event: InputEvent): void {
const inputElement = event.target;
this.value = inputElement.value;
}
}