Skip to content

Commit

Permalink
fix: Added safe sizes for progress bar component
Browse files Browse the repository at this point in the history
  • Loading branch information
andreyjamer committed Sep 30, 2024
1 parent 846f6f6 commit 707bc93
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
size="lg"
/>

<div class="mb-4" />

<fwb-progress
:progress="0"
label-position="inside"
Expand Down
13 changes: 9 additions & 4 deletions src/components/FwbProgress/FwbProgress.vue
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
>
<div
:class="innerClasses"
:style="{ width: progress + '%' }"
class="rounded-full font-medium text-blue-100 text-center p-0.5 min-w-max"
:style="{ width: safeProgress + '%' }"
class="rounded-full font-medium text-blue-100 text-center p-0.5 min-w-max box-border"
>
<template v-if="labelProgress && labelPosition === 'inside'">
{{ progress }}%
Expand All @@ -31,8 +31,8 @@
</template>

<script lang="ts" setup>
import { toRefs } from 'vue'
import { useProgressClasses } from './composables/useProgressClasses'
import { computed, toRefs } from 'vue'
import { progressSafeSizes, useProgressClasses } from './composables/useProgressClasses'
import type { ProgressLabelPosition, ProgressSize, ProgressVariant } from './types'
interface IProgressProps {
Expand All @@ -53,6 +53,11 @@ const props = withDefaults(defineProps<IProgressProps>(), {
size: 'md',
})
const safeProgress = computed(() => {
const size = progressSafeSizes[props.size]
return props.progress <= size ? size : props.progress
})
const {
innerClasses,
outerClasses,
Expand Down
7 changes: 7 additions & 0 deletions src/components/FwbProgress/composables/useProgressClasses.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,13 @@ const progressSizeClasses: Record<ProgressSize, string> = {
xl: 'h-6 text-base leading-tight',
}

export const progressSafeSizes: Record<ProgressSize, number> = {
sm: 1,
md: 2,
lg: 3,
xl: 4,
}

export type UseProgressClassesProps = {
color: Ref<ProgressVariant>
size: Ref<ProgressSize>
Expand Down

0 comments on commit 707bc93

Please sign in to comment.