From 6e6acd2cf20ebb7c8f9cfaeaccd7964277975e25 Mon Sep 17 00:00:00 2001 From: Navid Shad Date: Tue, 9 Sep 2025 22:17:56 +0400 Subject: [PATCH 1/3] refactor: #86eunvbgj Update Input, Button, and Select components to improve disabled state handling - Enhanced Input, Button, and Select components to manage disabled states based on InputGroup context, allowing for more flexible and consistent behavior. - Updated the logic for determining the disabled state to prioritize child component settings over InputGroup settings. - Adjusted related tests to reflect changes in how disabled states are applied and verified across components. --- src/elements/Button.vue | 10 +++- src/form/Input.vue | 15 +++-- src/form/InputGroup.vue | 4 +- src/form/Select.vue | 12 +++- .../InputGroup.accessibility.test.ts | 8 +-- src/form/__tests__/InputGroup.test.ts | 60 +++++++++++++++++-- 6 files changed, 88 insertions(+), 21 deletions(-) diff --git a/src/elements/Button.vue b/src/elements/Button.vue index 69a13d1..23fb176 100644 --- a/src/elements/Button.vue +++ b/src/elements/Button.vue @@ -24,7 +24,9 @@ computedFocusColor, computedHoverNeutralizeClasses, // Handle disabled styling when in InputGroup - (isInInputGroup && context && context.disabled) || + (isInInputGroup && + context && + (disabled !== undefined ? disabled : context.disabled)) || disabled || cardDisabled ? 'bg-gray-100 text-gray-400 cursor-not-allowed border-gray-200 dark:bg-gray-800 dark:border-gray-700' @@ -51,7 +53,11 @@ props.chip ? 'is-chip' : undefined, ], ]" - :disabled="disabled || cardDisabled || isLoading ? true : undefined" + :disabled=" + isInInputGroup && context + ? (disabled !== undefined ? disabled : context.disabled) || isLoading + : disabled || cardDisabled || isLoading + " @focus="handleFocusEvent" @blur="handleBlurEvent" > diff --git a/src/form/Input.vue b/src/form/Input.vue index 524cc82..9550058 100644 --- a/src/form/Input.vue +++ b/src/form/Input.vue @@ -1,5 +1,5 @@