@sapphire-ion/framework 1.2.45 → 1.2.46

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,24 +18,24 @@ export class InputTextareaComponent extends CustomInput {
18
18
  resize() {
19
19
  if (this.configuration().autoGrow) {
20
20
  setTimeout(() => {
21
- if (this.input?.nativeElement) {
22
- const textarea = this.input.nativeElement;
23
- const isFocused = document.activeElement === textarea;
24
- // PASSO 1: Salva a posição do cursor ANTES de qualquer manipulação
25
- const selectionStart = textarea.selectionStart;
26
- const selectionEnd = textarea.selectionEnd;
27
- // Lógica de resize que você já tem
28
- textarea.style.height = 'auto';
29
- textarea.style.height = `${textarea.scrollHeight}px`;
30
- // Se estava focado, devolvemos o foco e a posição do cursor
31
- if (isFocused) {
32
- // Devolve o foco para evitar o pulo da tela
33
- textarea.focus({ preventScroll: true });
34
- // PASSO 2: Restaura a posição do cursor DEPOIS de focar
35
- textarea.setSelectionRange(selectionStart, selectionEnd);
36
- }
21
+ const textarea = this.input?.nativeElement;
22
+ if (!textarea)
23
+ return;
24
+ const isFocused = document.activeElement === textarea;
25
+ const selectionStart = textarea.selectionStart;
26
+ const selectionEnd = textarea.selectionEnd;
27
+ // 🔹 Salva posição de rolagem
28
+ const scrollTop = textarea.scrollTop;
29
+ // Redefine altura
30
+ textarea.style.height = 'auto';
31
+ textarea.style.height = `${textarea.scrollHeight}px`;
32
+ // 🔹 Restaura posição de rolagem
33
+ textarea.scrollTop = scrollTop;
34
+ if (isFocused) {
35
+ textarea.focus({ preventScroll: true });
36
+ textarea.setSelectionRange(selectionStart, selectionEnd);
37
37
  }
38
- }, 0);
38
+ });
39
39
  }
40
40
  }
41
41
  onInput() {
@@ -71,4 +71,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
71
71
  type: HostListener,
72
72
  args: ['input']
73
73
  }] } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2lucHV0cy9pbnB1dC10ZXh0YXJlYS9pbnB1dC10ZXh0YXJlYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LXRleHRhcmVhL2lucHV0LXRleHRhcmVhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFlLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFXOUMsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFdBQW1CO0lBTXBELFFBQVEsQ0FBQyxLQUF3QjtRQUN4QyxJQUFHLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFBQyxDQUFDO0lBQzlILENBQUM7SUFFRDtRQUFnQixLQUFLLEVBQUUsQ0FBQztRQVJ4QixrQkFBYSxHQUE0QyxLQUFLLENBQTZCLElBQUksMEJBQTBCLEVBQUUsQ0FBQyxDQUFDO0lBUXBHLENBQUM7SUFFbEIsTUFBTTtRQUNkLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxDQUFDO29CQUM5QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQztvQkFDMUMsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLGFBQWEsS0FBSyxRQUFRLENBQUM7b0JBRXRELHFFQUFxRTtvQkFDckUsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLGNBQWMsQ0FBQztvQkFDL0MsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDLFlBQVksQ0FBQztvQkFFM0MsbUNBQW1DO29CQUNuQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7b0JBQy9CLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLFlBQVksSUFBSSxDQUFDO29CQUVyRCw0REFBNEQ7b0JBQzVELElBQUksU0FBUyxFQUFFLENBQUM7d0JBQ2QsNENBQTRDO3dCQUM1QyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7d0JBRXhDLDBEQUEwRDt3QkFDMUQsUUFBUSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsRUFBRSxZQUFZLENBQUMsQ0FBQztvQkFDM0QsQ0FBQztnQkFDSCxDQUFDO1lBQ0gsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ1IsQ0FBQztJQUNILENBQUM7SUFHQyxPQUFPO1FBQ0wsa0NBQWtDO1FBQ2xDLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQixDQUFDO0lBQ0gsQ0FBQztJQUVRLFVBQVUsQ0FBQyxHQUFXO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDaEIsQ0FBQzsrR0FwRFUsc0JBQXNCO21HQUF0QixzQkFBc0Isb1BBTHRCO1lBQ1QsR0FBRyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsc0JBQXNCLENBQUM7WUFDNUQsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsc0JBQXNCLENBQUMsRUFBRTtTQUNoRix1UENaSCx3eEJBMEJNOzs0RkRaTyxzQkFBc0I7a0JBVGxDLFNBQVM7K0JBQ0UsZ0JBQWdCLGFBR2Y7d0JBQ1QsR0FBRyxvQkFBb0IsQ0FBQyxZQUFZLHdCQUF3Qjt3QkFDNUQsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDLEVBQUU7cUJBQ2hGO3dEQU1zQixLQUFLO3NCQUEzQixTQUFTO3VCQUFDLFVBQVU7Z0JBQ1EsY0FBYztzQkFBMUMsU0FBUzt1QkFBQyxnQkFBZ0I7Z0JBb0MzQixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSG9zdExpc3RlbmVyLCBpbnB1dCwgSW5wdXRTaWduYWwsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJbnB1dFRleHRBcmVhQ29uZmlndXJhdGlvbiB9IGZyb20gJy4vaW5wdXQtdGV4dGFyZWEuY29uZmlndXJhdGlvbic7XHJcbmltcG9ydCB7IElucHV0UHJvdmlkZXJGYWN0b3J5IH0gZnJvbSAnLi4vaW5wdXQtcHJvdmlkZXItZmFjdG9yeSc7XHJcbmltcG9ydCB7IEN1c3RvbUlucHV0IH0gZnJvbSAnLi4vY3VzdG9tLWlucHV0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaW5wdXQtdGV4dGFyZWEnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC10ZXh0YXJlYS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQtdGV4dGFyZWEuY29tcG9uZW50LnNjc3MnLCAnLi4vaW5wdXRzLnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIC4uLklucHV0UHJvdmlkZXJGYWN0b3J5LkdldFByb3ZpZGVycyhJbnB1dFRleHRhcmVhQ29tcG9uZW50KSxcclxuICAgIHsgcHJvdmlkZTogQ3VzdG9tSW5wdXQsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0VGV4dGFyZWFDb21wb25lbnQpIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0VGV4dGFyZWFDb21wb25lbnQgZXh0ZW5kcyBDdXN0b21JbnB1dDxzdHJpbmc+IHtcclxuXHJcbiAgY29uZmlndXJhdGlvbjogSW5wdXRTaWduYWw8SW5wdXRUZXh0QXJlYUNvbmZpZ3VyYXRpb24+ID0gaW5wdXQ8SW5wdXRUZXh0QXJlYUNvbmZpZ3VyYXRpb24+KG5ldyBJbnB1dFRleHRBcmVhQ29uZmlndXJhdGlvbigpKTtcclxuXHJcbiAgQFZpZXdDaGlsZCgndGV4dGFyZWEnKSBpbnB1dDogRWxlbWVudFJlZjxIVE1MVGV4dEFyZWFFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdpbnB1dENvbnRhaW5lcicpIGlucHV0Q29udGFpbmVyOiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcclxuICBvdmVycmlkZSBzZXRGb2N1cyhldmVudDogTW91c2VFdmVudCB8IG51bGwpOiB2b2lkIHtcclxuICAgIGlmKHRoaXMuaW5wdXQgJiYgKGV2ZW50ID09IG51bGwgfHwgZXZlbnQudGFyZ2V0ID09IHRoaXMuaW5wdXRDb250YWluZXIubmF0aXZlRWxlbWVudCkpIHsgdGhpcy5pbnB1dC5uYXRpdmVFbGVtZW50LmZvY3VzKCk7IH0gICAgICBcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyBzdXBlcigpOyB9XHJcblxyXG4gIHByaXZhdGUgcmVzaXplKCk6IHZvaWQge1xyXG4gIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24oKS5hdXRvR3Jvdykge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGlmICh0aGlzLmlucHV0Py5uYXRpdmVFbGVtZW50KSB7XHJcbiAgICAgICAgY29uc3QgdGV4dGFyZWEgPSB0aGlzLmlucHV0Lm5hdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgY29uc3QgaXNGb2N1c2VkID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGV4dGFyZWE7XHJcblxyXG4gICAgICAgIC8vIOKchSBQQVNTTyAxOiBTYWx2YSBhIHBvc2nDp8OjbyBkbyBjdXJzb3IgQU5URVMgZGUgcXVhbHF1ZXIgbWFuaXB1bGHDp8Ojb1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGlvblN0YXJ0ID0gdGV4dGFyZWEuc2VsZWN0aW9uU3RhcnQ7XHJcbiAgICAgICAgY29uc3Qgc2VsZWN0aW9uRW5kID0gdGV4dGFyZWEuc2VsZWN0aW9uRW5kO1xyXG5cclxuICAgICAgICAvLyBMw7NnaWNhIGRlIHJlc2l6ZSBxdWUgdm9jw6ogasOhIHRlbVxyXG4gICAgICAgIHRleHRhcmVhLnN0eWxlLmhlaWdodCA9ICdhdXRvJztcclxuICAgICAgICB0ZXh0YXJlYS5zdHlsZS5oZWlnaHQgPSBgJHt0ZXh0YXJlYS5zY3JvbGxIZWlnaHR9cHhgO1xyXG5cclxuICAgICAgICAvLyBTZSBlc3RhdmEgZm9jYWRvLCBkZXZvbHZlbW9zIG8gZm9jbyBlIGEgcG9zacOnw6NvIGRvIGN1cnNvclxyXG4gICAgICAgIGlmIChpc0ZvY3VzZWQpIHtcclxuICAgICAgICAgIC8vIERldm9sdmUgbyBmb2NvIHBhcmEgZXZpdGFyIG8gcHVsbyBkYSB0ZWxhXHJcbiAgICAgICAgICB0ZXh0YXJlYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XHJcblxyXG4gICAgICAgICAgLy8g4pyFIFBBU1NPIDI6IFJlc3RhdXJhIGEgcG9zacOnw6NvIGRvIGN1cnNvciBERVBPSVMgZGUgZm9jYXJcclxuICAgICAgICAgIHRleHRhcmVhLnNldFNlbGVjdGlvblJhbmdlKHNlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25FbmQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG59XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2lucHV0JylcclxuICBvbklucHV0KCk6IHZvaWQge1xyXG4gICAgLy8gU8OzIGV4ZWN1dGEgc2UgYXV0b0dyb3cgZm9yIHRydWVcclxuICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24oKS5hdXRvR3Jvdykge1xyXG4gICAgICB0aGlzLnJlc2l6ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZShvYmo6IHN0cmluZyk6IHZvaWQgfCBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMudmFsdWUuc2V0KG9iaik7XHJcbiAgICB0aGlzLnJ1blZhbGlkYXRpb24oKTtcclxuICAgIHRoaXMucmVzaXplKCk7XHJcbiAgfVxyXG4gIFxyXG59IiwiPGRpdiBcclxuICAjaW5wdXRDb250YWluZXJcclxuICBjbGFzcz1cImlucHV0LWNvbnRhaW5lclwiIFxyXG4gIChjbGljayk9XCJzZXRGb2N1cygkZXZlbnQpXCJcclxuICBbY2xhc3MucmVxdWlyZWRdPVwicmVxdWlyZWQoKVwiIFxyXG4gIFtjbGFzcy5zdWJtaXR0ZWRdPVwic3VibWl0dGVkKClcIiBcclxuICBbY2xhc3MuaW52YWxpZF09XCJpbnZhbGlkXCIgXHJcbiAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkKCkgfHwgbG9hZGluZygpXCJcclxuICBbY2xhc3MubG9hZGluZ109XCJsb2FkaW5nKClcIlxyXG4+XHJcbiAgPGRpdiBjbGFzcz1cImlucHV0LWxhYmVsXCI+IFxyXG4gICAgPHNwYW4gY2xhc3M9XCJ0cnVuY2F0ZVwiPlxyXG4gICAgICB7e2xhYmVsKCl9fSBcclxuICAgIDwvc3Bhbj5cclxuICA8L2Rpdj5cclxuICA8dGV4dGFyZWEgI3RleHRhcmVhXHJcbiAgICBbbmdNb2RlbF09XCJ2YWx1ZSgpXCIgXHJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJTZXRWYWx1ZSgkZXZlbnQpXCJcclxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpIHx8IGxvYWRpbmcoKVwiXHJcbiAgICBbbWF4bGVuZ3RoXT1cImNvbmZpZ3VyYXRpb24oKS5tYXhsZW5ndGhcIlxyXG4gICAgKGJsdXIpPVwiYmx1ci5lbWl0KCRldmVudClcIlxyXG4gID5cclxuICA8L3RleHRhcmVhPlxyXG4gIDxkaXYgY2xhc3M9XCJsb2FkaW5nLWNvbnRhaW5lclwiIFtjbGFzcy5sb2FkaW5nXT1cImxvYWRpbmcoKVwiPlxyXG4gICAgPGlvbi1zcGlubmVyPjwvaW9uLXNwaW5uZXI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dGFyZWEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9jb21wb25lbnRzL2lucHV0cy9pbnB1dC10ZXh0YXJlYS9pbnB1dC10ZXh0YXJlYS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXRzL2lucHV0LXRleHRhcmVhL2lucHV0LXRleHRhcmVhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFlLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFXOUMsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFdBQW1CO0lBTXBELFFBQVEsQ0FBQyxLQUF3QjtRQUN4QyxJQUFHLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDO1lBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFBQyxDQUFDO0lBQzlILENBQUM7SUFFRDtRQUFnQixLQUFLLEVBQUUsQ0FBQztRQVJ4QixrQkFBYSxHQUE0QyxLQUFLLENBQTZCLElBQUksMEJBQTBCLEVBQUUsQ0FBQyxDQUFDO0lBUXBHLENBQUM7SUFFbkIsTUFBTTtRQUNiLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xDLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUM7Z0JBQzNDLElBQUksQ0FBQyxRQUFRO29CQUFFLE9BQU87Z0JBRXRCLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxhQUFhLEtBQUssUUFBUSxDQUFDO2dCQUN0RCxNQUFNLGNBQWMsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDO2dCQUMvQyxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO2dCQUUzQyw4QkFBOEI7Z0JBQzlCLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUM7Z0JBRXJDLGtCQUFrQjtnQkFDbEIsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO2dCQUMvQixRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxZQUFZLElBQUksQ0FBQztnQkFFckQsaUNBQWlDO2dCQUNqQyxRQUFRLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztnQkFFL0IsSUFBSSxTQUFTLEVBQUUsQ0FBQztvQkFDZCxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7b0JBQ3hDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsWUFBWSxDQUFDLENBQUM7Z0JBQzNELENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBSUMsT0FBTztRQUNMLGtDQUFrQztRQUNsQyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQztJQUNILENBQUM7SUFFUSxVQUFVLENBQUMsR0FBVztRQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNwQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2hCLENBQUM7K0dBckRVLHNCQUFzQjttR0FBdEIsc0JBQXNCLG9QQUx0QjtZQUNULEdBQUcsb0JBQW9CLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDO1lBQzVELEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFzQixDQUFDLEVBQUU7U0FDaEYsdVBDWkgsd3hCQTBCTTs7NEZEWk8sc0JBQXNCO2tCQVRsQyxTQUFTOytCQUNFLGdCQUFnQixhQUdmO3dCQUNULEdBQUcsb0JBQW9CLENBQUMsWUFBWSx3QkFBd0I7d0JBQzVELEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSx1QkFBdUIsQ0FBQyxFQUFFO3FCQUNoRjt3REFNc0IsS0FBSztzQkFBM0IsU0FBUzt1QkFBQyxVQUFVO2dCQUNRLGNBQWM7c0JBQTFDLFNBQVM7dUJBQUMsZ0JBQWdCO2dCQXFDM0IsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIEhvc3RMaXN0ZW5lciwgaW5wdXQsIElucHV0U2lnbmFsLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXRUZXh0QXJlYUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuL2lucHV0LXRleHRhcmVhLmNvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBJbnB1dFByb3ZpZGVyRmFjdG9yeSB9IGZyb20gJy4uL2lucHV0LXByb3ZpZGVyLWZhY3RvcnknO1xyXG5pbXBvcnQgeyBDdXN0b21JbnB1dCB9IGZyb20gJy4uL2N1c3RvbS1pbnB1dCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2lucHV0LXRleHRhcmVhJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaW5wdXQtdGV4dGFyZWEuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2lucHV0LXRleHRhcmVhLmNvbXBvbmVudC5zY3NzJywgJy4uL2lucHV0cy5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICAuLi5JbnB1dFByb3ZpZGVyRmFjdG9yeS5HZXRQcm92aWRlcnMoSW5wdXRUZXh0YXJlYUNvbXBvbmVudCksXHJcbiAgICB7IHByb3ZpZGU6IEN1c3RvbUlucHV0LCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dFRleHRhcmVhQ29tcG9uZW50KSB9LFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dFRleHRhcmVhQ29tcG9uZW50IGV4dGVuZHMgQ3VzdG9tSW5wdXQ8c3RyaW5nPiB7XHJcblxyXG4gIGNvbmZpZ3VyYXRpb246IElucHV0U2lnbmFsPElucHV0VGV4dEFyZWFDb25maWd1cmF0aW9uPiA9IGlucHV0PElucHV0VGV4dEFyZWFDb25maWd1cmF0aW9uPihuZXcgSW5wdXRUZXh0QXJlYUNvbmZpZ3VyYXRpb24oKSk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3RleHRhcmVhJykgaW5wdXQ6IEVsZW1lbnRSZWY8SFRNTFRleHRBcmVhRWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRDb250YWluZXInKSBpbnB1dENvbnRhaW5lcjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XHJcbiAgb3ZlcnJpZGUgc2V0Rm9jdXMoZXZlbnQ6IE1vdXNlRXZlbnQgfCBudWxsKTogdm9pZCB7XHJcbiAgICBpZih0aGlzLmlucHV0ICYmIChldmVudCA9PSBudWxsIHx8IGV2ZW50LnRhcmdldCA9PSB0aGlzLmlucHV0Q29udGFpbmVyLm5hdGl2ZUVsZW1lbnQpKSB7IHRoaXMuaW5wdXQubmF0aXZlRWxlbWVudC5mb2N1cygpOyB9ICAgICAgXHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgc3VwZXIoKTsgfVxyXG5cclxuIHByaXZhdGUgcmVzaXplKCk6IHZvaWQge1xyXG4gIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24oKS5hdXRvR3Jvdykge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHRleHRhcmVhID0gdGhpcy5pbnB1dD8ubmF0aXZlRWxlbWVudDtcclxuICAgICAgaWYgKCF0ZXh0YXJlYSkgcmV0dXJuO1xyXG5cclxuICAgICAgY29uc3QgaXNGb2N1c2VkID0gZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gdGV4dGFyZWE7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGlvblN0YXJ0ID0gdGV4dGFyZWEuc2VsZWN0aW9uU3RhcnQ7XHJcbiAgICAgIGNvbnN0IHNlbGVjdGlvbkVuZCA9IHRleHRhcmVhLnNlbGVjdGlvbkVuZDtcclxuXHJcbiAgICAgIC8vIPCflLkgU2FsdmEgcG9zacOnw6NvIGRlIHJvbGFnZW1cclxuICAgICAgY29uc3Qgc2Nyb2xsVG9wID0gdGV4dGFyZWEuc2Nyb2xsVG9wO1xyXG5cclxuICAgICAgLy8gUmVkZWZpbmUgYWx0dXJhXHJcbiAgICAgIHRleHRhcmVhLnN0eWxlLmhlaWdodCA9ICdhdXRvJztcclxuICAgICAgdGV4dGFyZWEuc3R5bGUuaGVpZ2h0ID0gYCR7dGV4dGFyZWEuc2Nyb2xsSGVpZ2h0fXB4YDtcclxuXHJcbiAgICAgIC8vIPCflLkgUmVzdGF1cmEgcG9zacOnw6NvIGRlIHJvbGFnZW1cclxuICAgICAgdGV4dGFyZWEuc2Nyb2xsVG9wID0gc2Nyb2xsVG9wO1xyXG5cclxuICAgICAgaWYgKGlzRm9jdXNlZCkge1xyXG4gICAgICAgIHRleHRhcmVhLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcclxuICAgICAgICB0ZXh0YXJlYS5zZXRTZWxlY3Rpb25SYW5nZShzZWxlY3Rpb25TdGFydCwgc2VsZWN0aW9uRW5kKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuICBASG9zdExpc3RlbmVyKCdpbnB1dCcpXHJcbiAgb25JbnB1dCgpOiB2b2lkIHtcclxuICAgIC8vIFPDsyBleGVjdXRhIHNlIGF1dG9Hcm93IGZvciB0cnVlXHJcbiAgICBpZiAodGhpcy5jb25maWd1cmF0aW9uKCkuYXV0b0dyb3cpIHtcclxuICAgICAgdGhpcy5yZXNpemUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIHdyaXRlVmFsdWUob2JqOiBzdHJpbmcpOiB2b2lkIHwgUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLnZhbHVlLnNldChvYmopO1xyXG4gICAgdGhpcy5ydW5WYWxpZGF0aW9uKCk7XHJcbiAgICB0aGlzLnJlc2l6ZSgpO1xyXG4gIH1cclxuICBcclxufSIsIjxkaXYgXHJcbiAgI2lucHV0Q29udGFpbmVyXHJcbiAgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIiBcclxuICAoY2xpY2spPVwic2V0Rm9jdXMoJGV2ZW50KVwiXHJcbiAgW2NsYXNzLnJlcXVpcmVkXT1cInJlcXVpcmVkKClcIiBcclxuICBbY2xhc3Muc3VibWl0dGVkXT1cInN1Ym1pdHRlZCgpXCIgXHJcbiAgW2NsYXNzLmludmFsaWRdPVwiaW52YWxpZFwiIFxyXG4gIFtjbGFzcy5kaXNhYmxlZF09XCJkaXNhYmxlZCgpIHx8IGxvYWRpbmcoKVwiXHJcbiAgW2NsYXNzLmxvYWRpbmddPVwibG9hZGluZygpXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJpbnB1dC1sYWJlbFwiPiBcclxuICAgIDxzcGFuIGNsYXNzPVwidHJ1bmNhdGVcIj5cclxuICAgICAge3tsYWJlbCgpfX0gXHJcbiAgICA8L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgPHRleHRhcmVhICN0ZXh0YXJlYVxyXG4gICAgW25nTW9kZWxdPVwidmFsdWUoKVwiIFxyXG4gICAgKG5nTW9kZWxDaGFuZ2UpPVwiU2V0VmFsdWUoJGV2ZW50KVwiXHJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKSB8fCBsb2FkaW5nKClcIlxyXG4gICAgW21heGxlbmd0aF09XCJjb25maWd1cmF0aW9uKCkubWF4bGVuZ3RoXCJcclxuICAgIChibHVyKT1cImJsdXIuZW1pdCgkZXZlbnQpXCJcclxuICA+XHJcbiAgPC90ZXh0YXJlYT5cclxuICA8ZGl2IGNsYXNzPVwibG9hZGluZy1jb250YWluZXJcIiBbY2xhc3MubG9hZGluZ109XCJsb2FkaW5nKClcIj5cclxuICAgIDxpb24tc3Bpbm5lcj48L2lvbi1zcGlubmVyPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -10532,24 +10532,24 @@ class InputTextareaComponent extends CustomInput {
10532
10532
  resize() {
10533
10533
  if (this.configuration().autoGrow) {
10534
10534
  setTimeout(() => {
10535
- if (this.input?.nativeElement) {
10536
- const textarea = this.input.nativeElement;
10537
- const isFocused = document.activeElement === textarea;
10538
- // PASSO 1: Salva a posição do cursor ANTES de qualquer manipulação
10539
- const selectionStart = textarea.selectionStart;
10540
- const selectionEnd = textarea.selectionEnd;
10541
- // Lógica de resize que você já tem
10542
- textarea.style.height = 'auto';
10543
- textarea.style.height = `${textarea.scrollHeight}px`;
10544
- // Se estava focado, devolvemos o foco e a posição do cursor
10545
- if (isFocused) {
10546
- // Devolve o foco para evitar o pulo da tela
10547
- textarea.focus({ preventScroll: true });
10548
- // PASSO 2: Restaura a posição do cursor DEPOIS de focar
10549
- textarea.setSelectionRange(selectionStart, selectionEnd);
10550
- }
10535
+ const textarea = this.input?.nativeElement;
10536
+ if (!textarea)
10537
+ return;
10538
+ const isFocused = document.activeElement === textarea;
10539
+ const selectionStart = textarea.selectionStart;
10540
+ const selectionEnd = textarea.selectionEnd;
10541
+ // 🔹 Salva posição de rolagem
10542
+ const scrollTop = textarea.scrollTop;
10543
+ // Redefine altura
10544
+ textarea.style.height = 'auto';
10545
+ textarea.style.height = `${textarea.scrollHeight}px`;
10546
+ // 🔹 Restaura posição de rolagem
10547
+ textarea.scrollTop = scrollTop;
10548
+ if (isFocused) {
10549
+ textarea.focus({ preventScroll: true });
10550
+ textarea.setSelectionRange(selectionStart, selectionEnd);
10551
10551
  }
10552
- }, 0);
10552
+ });
10553
10553
  }
10554
10554
  }
10555
10555
  onInput() {