From 85f095c014ce38fe89dd0a84aa3a3fe47713a006 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Thu, 12 Feb 2026 19:08:00 +0000 Subject: [PATCH 1/2] fix(TextInput): fix special characters being erased on blur - Removed .trim modifier from v-model in BaseInput.vue to prevent interference with IME and special character composition. - Fixed incorrect template ref assignment in TextInput.vue. - Updated defineExpose in TextInput.vue and TextArea.vue to correctly proxy reactive properties using computed. - Bumped version to 3.154.7. Co-authored-by: lucasn4s <17988272+lucasn4s@users.noreply.github.com> --- package-lock.json | 4 ++-- package.json | 2 +- src/components/BaseInput.vue | 4 ++-- src/components/TextArea.vue | 6 +++--- src/components/TextInput.vue | 17 +++++++++-------- 5 files changed, 17 insertions(+), 16 deletions(-) diff --git a/package-lock.json b/package-lock.json index a136d384..9174bb30 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@sysvale/cuida", - "version": "3.154.6", + "version": "3.154.7", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@sysvale/cuida", - "version": "3.154.6", + "version": "3.154.7", "dependencies": { "@popperjs/core": "^2.11.6", "@sysvale/cuida-icons": "^1.18.0", diff --git a/package.json b/package.json index abcc627d..06bef20b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@sysvale/cuida", - "version": "3.154.6", + "version": "3.154.7", "description": "A design system built by Sysvale, using storybook and Vue components", "repository": { "type": "git", diff --git a/src/components/BaseInput.vue b/src/components/BaseInput.vue index ae676a85..ba3fde90 100644 --- a/src/components/BaseInput.vue +++ b/src/components/BaseInput.vue @@ -59,7 +59,7 @@ v-if="type === 'textarea'" :id="componentId" ref="htmlInput" - v-model.trim="internalValue" + v-model="internalValue" :required="required" :placeholder="placeholder" :disabled="disabled" @@ -103,7 +103,7 @@ :id="componentId" ref="htmlInput" v-bind="props" - v-model.trim="internalValue" + v-model="internalValue" :required="required" :readonly="readonly" :placeholder="placeholder" diff --git a/src/components/TextArea.vue b/src/components/TextArea.vue index a45c4039..ff30d973 100644 --- a/src/components/TextArea.vue +++ b/src/components/TextArea.vue @@ -18,7 +18,7 @@ From 17ac9e160a068e4bbf6efb6e77a994386a3f9a88 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Thu, 12 Feb 2026 20:27:11 +0000 Subject: [PATCH 2/2] fix: prevent text loss on special characters in TextInput and TextArea - Removed .trim modifier from v-model in BaseInput.vue and BaseMobileInput.vue to prevent interference with IME composition. - Added manual synchronization of internalValue with native DOM value on blur in BaseInput and BaseMobileInput to ensure final characters are captured correctly. - Fixed reactivity in TextInput and TextArea by using computed properties for exposed refs and fixing incorrect template ref assignments. - Bumped version to 3.154.7. Co-authored-by: lucasn4s <17988272+lucasn4s@users.noreply.github.com> --- src/components/BaseInput.vue | 5 +++++ src/components/BaseMobileInput.vue | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/components/BaseInput.vue b/src/components/BaseInput.vue index ba3fde90..05c47268 100644 --- a/src/components/BaseInput.vue +++ b/src/components/BaseInput.vue @@ -526,6 +526,11 @@ function handleFocus(event) { function handleBlur(event) { isFocused.value = false; + + if (htmlInputRef.value && htmlInputRef.value.value !== undefined) { + internalValue.value = htmlInputRef.value.value; + } + /** * Evento emitido quando o componente deixa de ser focado. * @event blur diff --git a/src/components/BaseMobileInput.vue b/src/components/BaseMobileInput.vue index c8810a14..43b79f34 100644 --- a/src/components/BaseMobileInput.vue +++ b/src/components/BaseMobileInput.vue @@ -575,6 +575,11 @@ function handleFocus(event) { function handleBlur(event) { isFocused.value = false; + + if (componentRef.value && componentRef.value.value !== undefined) { + internalValue.value = componentRef.value.value; + } + /** * Evento emitido quando o componente deixa de ser focado. * @event blur