Update proportion bar component

This commit is contained in:
adilallo
2026-02-06 14:33:25 -07:00
parent 162fdf94db
commit 85ff3b8f01
15 changed files with 125 additions and 161 deletions
@@ -1,23 +0,0 @@
"use client";
import { memo } from "react";
import { ProgressView } from "./Progress.view";
import type { ProgressProps } from "./Progress.types";
const ProgressContainer = memo<ProgressProps>(
({ progress = "3-2", className = "" }) => {
const barClasses = `h-[8px] relative w-full`;
return (
<ProgressView
progress={progress}
className={className}
barClasses={barClasses}
/>
);
},
);
ProgressContainer.displayName = "Progress";
export default ProgressContainer;
@@ -1 +0,0 @@
export { default } from "./Progress.container";
@@ -0,0 +1,23 @@
"use client";
import { memo } from "react";
import { ProportionBarView } from "./ProportionBar.view";
import type { ProportionBarProps } from "./ProportionBar.types";
const ProportionBarContainer = memo<ProportionBarProps>(
({ progress = "3-2", className = "" }) => {
const barClasses = `h-[8px] relative w-full`;
return (
<ProportionBarView
progress={progress}
className={className}
barClasses={barClasses}
/>
);
},
);
ProportionBarContainer.displayName = "ProportionBar";
export default ProportionBarContainer;
@@ -1,4 +1,4 @@
export type ProgressBarState =
export type ProportionBarState =
| "1-0"
| "1-1"
| "1-2"
@@ -12,13 +12,13 @@ export type ProgressBarState =
| "3-1"
| "3-2";
export interface ProgressProps {
progress?: ProgressBarState;
export interface ProportionBarProps {
progress?: ProportionBarState;
className?: string;
}
export interface ProgressViewProps {
progress: ProgressBarState;
export interface ProportionBarViewProps {
progress: ProportionBarState;
className: string;
barClasses: string;
}
@@ -1,11 +1,11 @@
import type { ProgressViewProps } from "./Progress.types";
import type { ProportionBarViewProps } from "./ProportionBar.types";
export function ProgressView({
export function ProportionBarView({
progress,
className,
barClasses,
}: ProgressViewProps) {
// Progress bar type
}: ProportionBarViewProps) {
// Proportion bar type
const [fullSegments, partialSegment] = progress.split("-").map(Number);
// Calculate total progress:
// - For 1-X: first section is (X+1)/6 filled
@@ -0,0 +1 @@
export { default } from "./ProportionBar.container";
@@ -2,7 +2,7 @@
import { useTranslation } from "../../../contexts/MessagesContext";
import Button from "../../buttons/Button";
import Stepper from "../../progress/Progress/Stepper";
import Stepper from "../../progress/Stepper";
import type { ModalFooterProps } from "./ModalFooter.types";
export function ModalFooterView({