Skip to content

feat(VProgressLinear): add split variant to align with MD3#22662

Merged
J-Sek merged 13 commits into
devfrom
haviles04/progress-bar-split
Mar 12, 2026
Merged

feat(VProgressLinear): add split variant to align with MD3#22662
J-Sek merged 13 commits into
devfrom
haviles04/progress-bar-split

Conversation

@Haviles04

@Haviles04 Haviles04 commented Feb 28, 2026

Copy link
Copy Markdown
Contributor

Description

Adds a "split" option to chunks which matches md3 design

Markup:

<template>
  <v-app theme="dark">
    <v-container class="pa-md-12" max-width="1600" fluid>
      <v-card class="py-5 px-6 mb-6" rounded="lg">
        <div class="d-flex flex-column ga-3">
          <div class="d-flex align-start">
            <v-scroll-y-transition mode="out-in">
              <div :key="progressValue" class="text-h2">
                {{ progressValue }}<span class="text-h4">%</span>
              </div>
            </v-scroll-y-transition>
            <v-btn-toggle
              v-model="group"
              class="ml-auto border"
              density="compact"
              max-width="200"
              variant="solo-filled"
              flat
              hide-details
              mandatory
              single-line
            >
              <v-btn text="Transactions" />
              <v-btn text="Fees" />
            </v-btn-toggle>
          </div>
          <div class="mb-1">
            <v-progress-linear
              :buffer-value="bufferValue"
              :model-value="progressValue"
              buffer-opacity=".5"
              chunk-gap="6"
              color="blue"
              height="18"
              variant="split"
              rounded
            />
          </div>
          <div class="mb-1">
            <v-progress-linear
              :model-value="progressValue"
              chunk-count="split"
              chunk-gap="6"
              color="blue"
              height="18"
              indeterminate
              rounded
              rounded-bar
            />
          </div>
        </div>
      </v-card>
    </v-container>
  </v-app>
</template>

<script setup>
  import { shallowRef, toRef } from 'vue'

  const group = shallowRef(0)
  const progressValue = toRef(() => [78, 35][group.value])
  const bufferValue = toRef(() => [90, 55][group.value])
</script>

@Haviles04 Haviles04 changed the title feat: add "split" option to chunks feat: VProgressLinear add "split" option to chunks Feb 28, 2026
@Haviles04 Haviles04 self-assigned this Feb 28, 2026
@J-Sek J-Sek added this to the v4.1.0 milestone Feb 28, 2026
@J-Sek J-Sek changed the base branch from master to dev February 28, 2026 20:12
@J-Sek

J-Sek commented Feb 28, 2026

Copy link
Copy Markdown
Contributor
  • alternative API to chunk-count="split"
    • variant="split" (with "default" preserving MD2 style)

@J-Sek

J-Sek commented Mar 3, 2026

Copy link
Copy Markdown
Contributor
  • list new prop in new-in.json
  • describe the prop in VProgressLinear.json
  • a 1 or 2 tests for visual regression (in stories object)

Comment thread packages/vuetify/src/components/VProgressLinear/chunks.ts Outdated
@J-Sek J-Sek changed the title feat: VProgressLinear add "split" option to chunks feat: VProgressLinear add split variant to align with MD3 Mar 8, 2026
@J-Sek J-Sek requested a review from a team March 8, 2026 23:32
Comment thread packages/docs/src/examples/v-progress-linear/prop-variant.vue Outdated
@J-Sek J-Sek changed the title feat: VProgressLinear add split variant to align with MD3 feat(VProgressLinear): add split variant to align with MD3 Mar 12, 2026
@J-Sek J-Sek merged commit 105a8b8 into dev Mar 12, 2026
16 checks passed
@J-Sek J-Sek deleted the haviles04/progress-bar-split branch March 12, 2026 22:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants