import { TooltipComponentProps } from "../Tooltip/Tooltip.types.js"; //#region src/ProgressBar/ProgressBar.types.d.ts /** * Props for individual progress indicators within a ProgressBar. * Each indicator represents a segment of the overall progress with its own value and styling. * Extends TooltipComponentProps to support tooltip functionality on individual indicators. */ type ProgressIndicatorProps = { /** * Additional CSS classes to apply to this specific progress indicator. * Use this to customize the appearance of individual indicators within the progress bar. */ extraClasses?: string; /** * Test ID attribute for this progress indicator used in automated testing. * Helps identify and interact with specific indicators in test suites. */ testId?: string; /** * Current value of this progress indicator. * Should be between 0 and the progress bar's max value. The indicator's width * will be calculated as a percentage based on this value relative to the max. */ value: number; /** * Custom color for this progress indicator. * Can be any valid CSS color value (hex, rgb, color names, etc.). * If not provided, uses the default theme color for progress indicators. */ color?: string; /** * Text label to display on or next to this progress indicator. * Useful for showing the indicator's name, category, or current value. * Can be positioned and styled using labelClasses. */ label?: string; /** * Additional CSS classes to apply specifically to the indicator's label. * Use this to customize the label's typography, positioning, or styling * independently from the indicator itself. */ labelClasses?: string; } & TooltipComponentProps; /** * Props for the ProgressBar component that displays one or more progress indicators. * Supports multiple indicators for showing different categories or segments of progress. */ type ProgressBarProps = { /** * Array of progress indicators to display within the progress bar. * Each indicator can have its own value, color, label, and styling. * Indicators are rendered in the order they appear in the array. */ values: ProgressIndicatorProps[]; /** * Maximum value for the progress bar scale. * All indicator values are calculated as percentages relative to this maximum. * Determines the full width (100%) of the progress bar. * @default 100 */ max?: number; /** * Additional CSS classes to apply to the progress bar container. * Use this to customize the overall appearance, spacing, or layout of the entire progress bar. */ containerExtraClasses?: string; /** * Test ID attribute for the progress bar container used in automated testing. * Applied to the main container element for test targeting and interaction. */ testId?: string; /** * Text label to display when all progress indicators have a value of zero. * Useful for providing context or instructions when no progress has been made. * Only shown when the total progress is zero. */ zeroValueLabel?: string; }; //#endregion export { ProgressBarProps, ProgressIndicatorProps };