This is an automated email from the ASF dual-hosted git repository.

vatsrahul1001 pushed a commit to branch v3-3-test
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/v3-3-test by this push:
     new 8fe8a23256d Fix clipping of Last run state badge (#72459) (#72841)
8fe8a23256d is described below

commit 8fe8a23256d96396bd87e7b25b8e63a2bee526b2
Author: Rahul Vats <[email protected]>
AuthorDate: Thu Sep 10 08:09:48 2026 +0530

    Fix clipping of Last run state badge (#72459) (#72841)
    
    Chakra's default select value clamping hides the lower edge of rich labels 
such as state badges.
    
    (cherry picked from commit 4ddb6b4621052c26b5d7b79b6556f2815f8be619)
    
    Co-authored-by: jasperjonkhans <[email protected]>
---
 .../ui/src/components/FilterBar/filters/SelectFilter.tsx      | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git 
a/airflow-core/src/airflow/ui/src/components/FilterBar/filters/SelectFilter.tsx 
b/airflow-core/src/airflow/ui/src/components/FilterBar/filters/SelectFilter.tsx
index 9308e6b0589..dc5aa4a917f 100644
--- 
a/airflow-core/src/airflow/ui/src/components/FilterBar/filters/SelectFilter.tsx
+++ 
b/airflow-core/src/airflow/ui/src/components/FilterBar/filters/SelectFilter.tsx
@@ -17,6 +17,7 @@
  * under the License.
  */
 import { createListCollection, Box, Text } from "@chakra-ui/react";
+import type { ReactNode } from "react";
 
 import { Select } from "src/components/ui";
 
@@ -24,7 +25,7 @@ import { FilterPill } from "../FilterPill";
 import type { FilterPluginProps, FilterConfig } from "../types";
 
 type SelectOption = {
-  label: string;
+  label: ReactNode;
   value: string;
 };
 
@@ -52,6 +53,8 @@ export const SelectFilter = ({ filter, onChange, onRemove }: 
FilterPluginProps)
   const displayValue = config.options.find(
     (option) => option.value === (typeof filter.value === "string" ? 
filter.value : ""),
   )?.label;
+  // Chakra line-clamps value text by default, which clips padded elements 
such as state badges.
+  const hasRichDisplayValue = displayValue !== undefined && typeof 
displayValue !== "string";
 
   return (
     <FilterPill
@@ -95,7 +98,11 @@ export const SelectFilter = ({ filter, onChange, onRemove }: 
FilterPluginProps)
             value={hasValue && typeof filter.value === "string" ? 
[filter.value] : []}
           >
             <Select.Trigger dataTestId="select-filter-trigger" triggerProps={{ 
border: "none" }}>
-              <Select.ValueText placeholder={filter.config.placeholder} />
+              <Select.ValueText
+                lineClamp={hasRichDisplayValue ? "none" : undefined}
+                overflow={hasRichDisplayValue ? "visible" : undefined}
+                placeholder={filter.config.placeholder}
+              />
             </Select.Trigger>
             <Select.Content>
               {config.options.map((option) => (

Reply via email to