fix(ui): handle on-screen keyboard visibility to adjust layout and prevent inputs from being obscured

This commit is contained in:
2025-12-17 10:07:18 +00:00
parent 1401cd2c92
commit 286f6fd120
5 changed files with 101 additions and 1 deletions

View File

@@ -168,6 +168,8 @@ export class SioMessageInput extends DeesElement {
.value=${this.messageText}
@input=${this.handleInput}
@keydown=${this.handleKeyDown}
@focus=${this.handleFocus}
@blur=${this.handleBlur}
?disabled=${this.disabled}
rows="1"
></textarea>
@@ -216,6 +218,22 @@ export class SioMessageInput extends DeesElement {
}
}
private handleFocus() {
setTimeout(() => {
this.dispatchEvent(new CustomEvent('input-focus', {
bubbles: true,
composed: true
}));
}, 50);
}
private handleBlur() {
this.dispatchEvent(new CustomEvent('input-blur', {
bubbles: true,
composed: true
}));
}
private sendMessage() {
if (!this.messageText.trim() && this.pendingAttachments.length === 0) {
return;