<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright 2026 The Chromium Authors
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="@dimen/vertical_tab_item_height"
    android:paddingTop="@dimen/vertical_tab_item_padding_vertical"
    android:paddingBottom="@dimen/vertical_tab_item_padding_vertical"
    android:paddingStart="0dp"
    android:paddingEnd="@dimen/vertical_tab_item_padding_horizontal"
    android:layout_marginBottom="@dimen/vertical_tab_item_margin_bottom"
    android:background="@drawable/vertical_tab_item_background"
    android:foreground="@drawable/vertical_tab_focus_ring"
    android:clickable="true"
    android:focusable="true">

    <!-- AI Indicator -->
    <View
        android:id="@+id/ai_indicator"
        android:layout_width="@dimen/vertical_tab_item_ai_indicator_width"
        android:layout_height="0dp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginTop="@dimen/vertical_tab_item_corner_radius"
        android:layout_marginBottom="@dimen/vertical_tab_item_corner_radius"
        android:background="@drawable/vertical_tab_ai_indicator_background"
        android:importantForAccessibility="no"
        android:visibility="gone" />

    <!-- Tab Favicon & Loading Indicator Container -->
    <FrameLayout
        android:id="@+id/favicon_container"
        android:layout_width="@dimen/vertical_tab_item_icon_size"
        android:layout_height="@dimen/vertical_tab_item_icon_size"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginStart="@dimen/vertical_tab_item_padding_horizontal">

        <!-- Tab Favicon (Website Icon) -->
        <ImageView
            android:id="@+id/tab_favicon"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="fitCenter"
            android:importantForAccessibility="no" />

        <!-- Loading Indicator -->
        <com.google.android.material.progressindicator.CircularProgressIndicator
            android:id="@+id/tab_loading_spinner"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:indeterminate="true"
            android:visibility="gone"
            app:indicatorSize="@dimen/vertical_tab_item_icon_size"
            app:trackThickness="@dimen/vertical_tab_item_loading_spinner_thickness" />
    </FrameLayout>

    <!-- Tab Title (Page Title text) -->
    <TextView
        android:id="@+id/tab_title"
        android:layout_width="wrap_content"
        app:layout_constrainedWidth="true"
        android:layout_height="wrap_content"
        app:layout_constraintStart_toEndOf="@id/favicon_container"
        app:layout_constraintEnd_toStartOf="@id/actuation_spark"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginStart="@dimen/vertical_tab_item_favicon_margin_end"
        android:layout_marginEnd="@dimen/vertical_tab_item_title_margin_end"
        app:layout_constraintHorizontal_bias="0.0"
        android:singleLine="true"
        android:ellipsize="end"
        android:textAppearance="@style/TextAppearance.TextMedium.Primary" />

    <!-- Actuation Indicator (Cursor Spark) -->
    <ImageView
        android:id="@+id/actuation_spark"
        android:layout_width="@dimen/vertical_tab_item_actuation_icon_size"
        android:layout_height="@dimen/vertical_tab_item_actuation_icon_size"
        android:scaleType="fitCenter"
        android:padding="@dimen/vertical_tab_item_actuation_icon_padding"
        app:layout_constraintEnd_toStartOf="@id/media_indicator_icon"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginEnd="@dimen/vertical_tab_item_media_indicator_margin_end"
        android:src="@drawable/ic_arrow_selector_spark_24dp"
        app:tint="@macro/default_icon_color_accent1"
        android:visibility="gone"
        android:importantForAccessibility="no" />

    <!-- Actuation Spinner (Ring Overlay) -->
    <ImageView
        android:id="@+id/actuation_spinner"
        android:layout_width="@dimen/vertical_tab_item_actuation_icon_size"
        android:layout_height="@dimen/vertical_tab_item_actuation_icon_size"
        app:layout_constraintStart_toStartOf="@id/actuation_spark"
        app:layout_constraintEnd_toEndOf="@id/actuation_spark"
        app:layout_constraintTop_toTopOf="@id/actuation_spark"
        app:layout_constraintBottom_toBottomOf="@id/actuation_spark"
        android:src="@drawable/tab_indicator_spinner"
        app:tint="@macro/default_icon_color_accent1"
        android:visibility="gone"
        android:importantForAccessibility="no" />

    <!-- Media Indicator (e.g., speaker icon when playing audio) -->
    <ImageView
        android:id="@+id/media_indicator_icon"
        android:layout_width="@dimen/vertical_tab_item_icon_size"
        android:layout_height="@dimen/vertical_tab_item_icon_size"
        app:layout_constraintEnd_toStartOf="@id/action_button"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginEnd="@dimen/vertical_tab_item_media_indicator_margin_end"
        android:visibility="gone"
        android:importantForAccessibility="no" />

    <!-- Tab Close Button -->
    <ImageView
        android:id="@+id/action_button"
        android:layout_width="@dimen/vertical_tab_item_icon_size"
        android:layout_height="@dimen/vertical_tab_item_icon_size"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        android:src="@drawable/material_ic_close_24dp"
        android:tint="@macro/default_icon_color"
        android:background="?attr/selectableItemBackgroundBorderless"
        android:contentDescription="@string/close_tab"
        android:visibility="gone" />

</androidx.constraintlayout.widget.ConstraintLayout>
