/** * Copyright Aquera Inc 2025 * * This source code is licensed under the BSD-3-Clause license found in the * LICENSE file in the root directory of this source tree. */ export interface StepperConfig { icon: string; size: 'sm' | 'lg'; contentBelow: boolean; manual: boolean; isVertical: boolean; } /** * Updates stepper items in manual mode * @param items - Array of stepper item elements * @param config - Stepper configuration * @param haveFlex - Whether items should have flex layout */ export function updateItemsInManualMode( items: any[], config: StepperConfig, haveFlex: boolean ): void { items.forEach((el: any, index: number) => { el.isComplete = el.completed; el.isCurrent = el.current; el.isFirst = false; el.isLast = false; if (index === 0) el.isFirst = true; if (index === items.length - 1) el.isLast = true; el.currentStepValue = 0; el.calculatedCompletedStepValue = 0; el.completedStepValue = 0; el.icon = config.icon; el.size = config.size; el.value = index + 1; el.contentBelow = config.contentBelow; el.isManualMode = config.manual; if (index === 0 || index === items.length - 1) { el.haveFlex = haveFlex; } }); }