{"version":3,"file":"shival99-z-ui-components-z-steps.mjs","sources":["../../../../libs/core-ui/components/z-steps/z-steps.variants.ts","../../../../libs/core-ui/components/z-steps/z-steps.component.ts","../../../../libs/core-ui/components/z-steps/z-steps.component.html","../../../../libs/core-ui/components/z-steps/shival99-z-ui-components-z-steps.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nexport const zStepsContainerVariants = cva(['relative list-none m-0 p-0'], {\n  variants: {\n    orientation: {\n      vertical: 'text-foreground',\n      horizontal: 'flex items-center w-full',\n    },\n  },\n  defaultVariants: {\n    orientation: 'vertical',\n  },\n});\n\nexport const zStepsItemVariants = cva(['relative flex items-start'], {\n  variants: {\n    orientation: {\n      vertical: 'last:mb-0',\n      horizontal: 'flex-1 last:flex-none',\n    },\n    size: {\n      sm: 'mb-6 ps-10 min-h-6',\n      default: 'mb-8 ps-12 min-h-8',\n      lg: 'mb-10 ps-14 min-h-10',\n    },\n  },\n  compoundVariants: [{ orientation: 'horizontal', class: 'mb-0 ps-0 min-h-0' }],\n  defaultVariants: {\n    orientation: 'vertical',\n    size: 'default',\n  },\n});\n\nexport const zStepsIconVariants = cva(\n  [\n    'absolute start-0 z-10 flex items-center justify-center rounded-full border shadow-sm ring-[3px] ring-background transform-gpu transition-transform duration-200 ease-out hover:scale-105',\n  ],\n  {\n    variants: {\n      size: {\n        sm: 'w-8 h-8 text-xs',\n        default: 'w-9 h-9 text-sm',\n        lg: 'w-11 h-11 text-base',\n      },\n      status: {\n        pending: 'bg-background border-input text-muted-foreground ring-muted/70',\n        current: 'bg-primary border-primary text-primary-foreground ring-primary/20',\n        completed: 'bg-primary border-primary text-primary-foreground ring-primary/20',\n        error: 'bg-destructive border-destructive text-destructive-foreground ring-destructive/20',\n      },\n    },\n    defaultVariants: {\n      size: 'default',\n      status: 'pending',\n    },\n  }\n);\n\nexport const zStepsLineVariants = cva(['absolute border-s-2 border-input/80'], {\n  variants: {\n    size: {\n      sm: 'start-4 top-4 bottom-0',\n      default: 'start-[18px] top-[1.125rem] bottom-0',\n      lg: 'start-[22px] top-[1.375rem] bottom-0',\n    },\n  },\n  defaultVariants: {\n    size: 'default',\n  },\n});\n\nexport const zStepsConnectorVariants = cva(['transition-colors duration-200'], {\n  variants: {\n    orientation: {\n      vertical: 'hidden',\n      horizontal: 'flex-1 h-1 mx-4 rounded-full',\n    },\n    status: {\n      pending: 'bg-input',\n      current: 'bg-input',\n      completed: 'bg-primary',\n      error: 'bg-destructive/30',\n    },\n  },\n  defaultVariants: {\n    orientation: 'vertical',\n    status: 'pending',\n  },\n});\n\nexport const zStepsArrowItemVariants = cva(\n  ['z-steps-arrow-item relative flex flex-1 flex-col justify-center transition-all duration-200'],\n  {\n    variants: {\n      size: {\n        sm: 'min-w-[7.5rem] py-2 px-4',\n        default: 'min-w-[9.375rem] py-3 px-5',\n        lg: 'min-w-[11.25rem] py-4 px-6',\n      },\n      status: {\n        pending: 'bg-muted text-muted-foreground',\n        current: 'bg-primary text-primary-foreground z-steps-arrow-active',\n        completed: 'bg-primary text-primary-foreground z-steps-arrow-active',\n        error: 'bg-destructive text-destructive-foreground',\n      },\n    },\n    defaultVariants: {\n      size: 'default',\n      status: 'pending',\n    },\n  }\n);\n\nexport const zStepsDotVariants = cva(['rounded-full transition-all duration-200'], {\n  variants: {\n    size: {\n      sm: 'w-2 h-2',\n      default: 'w-2.5 h-2.5',\n      lg: 'w-3 h-3',\n    },\n    status: {\n      pending: 'bg-muted-foreground/30',\n      current: 'bg-primary ring-2 ring-primary/20',\n      completed: 'bg-primary ring-2 ring-primary/20',\n      error: 'bg-destructive ring-2 ring-destructive/20',\n    },\n  },\n  defaultVariants: {\n    size: 'default',\n    status: 'pending',\n  },\n});\n\nexport const zStepsDotLineVariants = cva(['transition-colors duration-200'], {\n  variants: {\n    orientation: {\n      vertical: 'w-[0.125rem] flex-1 min-h-14 rounded-full',\n      horizontal: 'h-[0.125rem] flex-1 rounded-full',\n    },\n    status: {\n      pending: 'bg-muted-foreground/20',\n      current: 'bg-muted-foreground/20',\n      completed: 'bg-primary',\n      error: 'bg-destructive/30',\n    },\n  },\n  defaultVariants: {\n    orientation: 'horizontal',\n    status: 'pending',\n  },\n});\n\nexport type ZStepsContainerVariants = VariantProps<typeof zStepsContainerVariants>;\nexport type ZStepsItemVariants = VariantProps<typeof zStepsItemVariants>;\nexport type ZStepsIconVariants = VariantProps<typeof zStepsIconVariants>;\nexport type ZStepsLineVariants = VariantProps<typeof zStepsLineVariants>;\nexport type ZStepsConnectorVariants = VariantProps<typeof zStepsConnectorVariants>;\nexport type ZStepsArrowItemVariants = VariantProps<typeof zStepsArrowItemVariants>;\nexport type ZStepsDotVariants = VariantProps<typeof zStepsDotVariants>;\nexport type ZStepsDotLineVariants = VariantProps<typeof zStepsDotLineVariants>;\n","import {\n  AfterViewInit,\n  ChangeDetectionStrategy,\n  Component,\n  computed,\n  DestroyRef,\n  ElementRef,\n  inject,\n  input,\n  output,\n  signal,\n  ViewEncapsulation,\n} from '@angular/core';\nimport { ZIconComponent, ZIconVariants } from '@shival99/z-ui/components/z-icon';\nimport { ZTooltipDirective } from '@shival99/z-ui/components/z-tooltip';\nimport { zMergeClasses, zTransform } from '@shival99/z-ui/utils';\nimport type { ClassValue } from 'clsx';\nimport type {\n  ZStepItem,\n  ZStepsControl,\n  ZStepsOrientation,\n  ZStepsSize,\n  ZStepsStatus,\n  ZStepsType,\n} from './z-steps.types';\nimport {\n  zStepsArrowItemVariants,\n  zStepsConnectorVariants,\n  zStepsContainerVariants,\n  zStepsDotLineVariants,\n  zStepsDotVariants,\n  zStepsIconVariants,\n  zStepsItemVariants,\n  zStepsLineVariants,\n} from './z-steps.variants';\n\nconst RESPONSIVE_BREAKPOINT = 640;\n\n@Component({\n  selector: 'z-steps',\n  imports: [ZIconComponent, ZTooltipDirective],\n  templateUrl: './z-steps.component.html',\n  styleUrl: './z-steps.component.scss',\n  changeDetection: ChangeDetectionStrategy.OnPush,\n  encapsulation: ViewEncapsulation.None,\n  host: {\n    class: 'block',\n  },\n})\nexport class ZStepsComponent implements AfterViewInit {\n  private readonly _elementRef = inject(ElementRef);\n  private readonly _destroyRef = inject(DestroyRef);\n\n  public readonly zOnStepClick = output<number>();\n  public readonly zControl = output<ZStepsControl>();\n\n  public readonly class = input<ClassValue>('');\n  public readonly zSteps = input.required<ZStepItem[]>();\n  public readonly zCurrent = input<number>(0);\n  public readonly zOrientation = input<ZStepsOrientation>('vertical');\n  public readonly zType = input<ZStepsType>('default');\n  public readonly zSize = input<ZStepsSize>('default');\n  public readonly zClickable = input(false, { transform: zTransform });\n  public readonly zShowNumber = input(true, { transform: zTransform });\n  public readonly zResponsive = input(true, { transform: zTransform });\n  public readonly zDisabled = input(false, { transform: zTransform });\n\n  private readonly _internalCurrent = signal<number | null>(null);\n  private readonly _stepOverrides = signal<Map<number, Partial<ZStepItem>>>(new Map());\n  private _resizeObserver: ResizeObserver | null = null;\n\n  protected readonly isResponsiveVertical = signal(false);\n\n  protected readonly currentStep = computed(() => this._internalCurrent() ?? this.zCurrent());\n\n  protected readonly mergedSteps = computed(() => {\n    const steps = this.zSteps();\n    const overrides = this._stepOverrides();\n    return steps.map((step, index) => {\n      const override = overrides.get(index);\n      return override ? { ...step, ...override } : step;\n    });\n  });\n\n  protected readonly effectiveOrientation = computed<ZStepsOrientation>(() => {\n    if (this.zResponsive() && this.isResponsiveVertical()) {\n      return 'vertical';\n    }\n    return this.zOrientation();\n  });\n\n  protected readonly containerClasses = computed(() =>\n    zMergeClasses(\n      zStepsContainerVariants({\n        orientation: this.effectiveOrientation(),\n      }),\n      this.class()\n    )\n  );\n\n  protected readonly getItemClasses = computed(() =>\n    zStepsItemVariants({\n      orientation: this.effectiveOrientation(),\n      size: this.zSize(),\n    })\n  );\n\n  protected readonly iconClassesMap = computed(() => {\n    const size = this.zSize();\n    const steps = this.mergedSteps();\n    const current = this.currentStep();\n    const classMap = new Map<number, string>();\n\n    steps.forEach((step, index) => {\n      const status = this._getStepStatus(step, index, current);\n      const baseClasses = zStepsIconVariants({ size, status });\n      classMap.set(index, zMergeClasses(baseClasses, step.iconClass));\n    });\n\n    return classMap;\n  });\n\n  protected readonly lineClasses = computed(() => zStepsLineVariants({ size: this.zSize() }));\n\n  protected readonly getConnectorClassesByIndex = computed(() => {\n    const orientation = this.effectiveOrientation();\n    const steps = this.mergedSteps();\n    const current = this.currentStep();\n\n    return steps.map((step, index) => {\n      const status = this._getConnectorStatus(step, index, current);\n      return zStepsConnectorVariants({ orientation, status });\n    });\n  });\n\n  protected readonly stepStatuses = computed(() => {\n    const steps = this.mergedSteps();\n    const current = this.currentStep();\n    return steps.map((step, index) => this._getStepStatus(step, index, current));\n  });\n\n  protected readonly getArrowClassesByIndex = computed(() => {\n    const size = this.zSize();\n    const steps = this.mergedSteps();\n    const current = this.currentStep();\n    const total = steps.length;\n\n    return steps.map((step, index) => {\n      const status = this._getStepStatus(step, index, current);\n      const baseClasses = zStepsArrowItemVariants({ size, status });\n\n      let positionClass = 'z-steps-arrow-middle';\n      if (index === 0) {\n        positionClass = 'z-steps-arrow-first';\n      }\n      if (index === total - 1) {\n        positionClass = 'z-steps-arrow-last';\n      }\n\n      return zMergeClasses(baseClasses, positionClass);\n    });\n  });\n\n  protected readonly getDotClassesByIndex = computed(() => {\n    const size = this.zSize();\n    const steps = this.mergedSteps();\n    const current = this.currentStep();\n\n    return steps.map((step, index) => {\n      const status = this._getStepStatus(step, index, current);\n      return zStepsDotVariants({ size, status });\n    });\n  });\n\n  protected readonly getDotLineClassesByIndex = computed(() => {\n    const orientation = this.effectiveOrientation();\n    const steps = this.mergedSteps();\n    const current = this.currentStep();\n\n    return steps.map((step, index) => {\n      const status = this._getConnectorStatus(step, index, current);\n      return zStepsDotLineVariants({ orientation, status });\n    });\n  });\n\n  protected readonly defaultIconSize = computed<NonNullable<ZIconVariants['zSize']>>(() => {\n    const size = this.zSize();\n    if (size === 'sm') {\n      return '16';\n    }\n    if (size === 'lg') {\n      return '24';\n    }\n    return '20';\n  });\n\n  protected readonly getIconSizeByIndex = computed(() => {\n    const defaultSize = this.defaultIconSize();\n    const steps = this.mergedSteps();\n    return steps.map(step => step.iconSize ?? defaultSize);\n  });\n\n  protected readonly iconWidth = computed(() => {\n    const size = this.zSize();\n    if (size === 'sm') {\n      return 32;\n    }\n    if (size === 'lg') {\n      return 44;\n    }\n    return 36;\n  });\n\n  ngAfterViewInit(): void {\n    if (this.zResponsive() && this.zOrientation() === 'horizontal') {\n      this._setupResizeObserver();\n    }\n\n    this._destroyRef.onDestroy(() => {\n      this._resizeObserver?.disconnect();\n    });\n\n    this.zControl.emit({\n      setActive: (index: number) => {\n        if (this.zDisabled()) {\n          return;\n        }\n        if (index >= 0 && index < this.zSteps().length) {\n          this._internalCurrent.set(index);\n        }\n      },\n      next: () => {\n        if (this.zDisabled()) {\n          return;\n        }\n        const current = this.currentStep();\n        const total = this.zSteps().length;\n        if (current < total - 1) {\n          this._internalCurrent.set(current + 1);\n        }\n      },\n      prev: () => {\n        if (this.zDisabled()) {\n          return;\n        }\n        const current = this.currentStep();\n        if (current > 0) {\n          this._internalCurrent.set(current - 1);\n        }\n      },\n      reset: () => {\n        if (this.zDisabled()) {\n          return;\n        }\n        this._internalCurrent.set(0);\n        this._stepOverrides.set(new Map());\n      },\n      setDisabled: (index: number, disabled: boolean) => {\n        if (this.zDisabled()) {\n          return;\n        }\n        this._updateStepOverride(index, { disabled });\n      },\n      setStatus: (index: number, status: ZStepsStatus) => {\n        if (this.zDisabled()) {\n          return;\n        }\n        this._updateStepOverride(index, { status });\n      },\n      getCurrent: () => this.currentStep(),\n      getTotal: () => this.zSteps().length,\n    });\n  }\n\n  private _updateStepOverride(index: number, override: Partial<ZStepItem>): void {\n    const overrides = new Map(this._stepOverrides());\n    const existing = overrides.get(index) || {};\n    overrides.set(index, { ...existing, ...override });\n    this._stepOverrides.set(overrides);\n  }\n\n  private _setupResizeObserver(): void {\n    const container = this._elementRef.nativeElement;\n    this._resizeObserver = new ResizeObserver(entries => {\n      const width = entries[0]?.contentRect.width || 0;\n      this.isResponsiveVertical.set(width < RESPONSIVE_BREAKPOINT);\n    });\n\n    this._resizeObserver.observe(container);\n  }\n\n  private _getStepStatus(step: ZStepItem, index: number, current: number): ZStepsStatus {\n    if (step.status) {\n      return step.status;\n    }\n\n    if (index < current) {\n      return 'completed';\n    }\n\n    if (index === current) {\n      return 'current';\n    }\n\n    return 'pending';\n  }\n\n  private _getConnectorStatus(step: ZStepItem, index: number, current: number): ZStepsStatus {\n    if (step.status === 'error') {\n      return 'error';\n    }\n\n    if (index < current) {\n      return 'completed';\n    }\n\n    return 'pending';\n  }\n\n  protected onStepClick(index: number): void {\n    if (this.zDisabled()) {\n      return;\n    }\n\n    const step = this.zSteps()[index];\n    if (step.disabled) {\n      return;\n    }\n\n    if (!this.zClickable()) {\n      return;\n    }\n\n    this.zOnStepClick.emit(index);\n  }\n}\n","<ol\n  [class]=\"containerClasses()\"\n  [class.rounded-md]=\"effectiveOrientation() === 'horizontal' && (zType() === 'inline' || zType() === 'dot')\"\n  [class.border]=\"effectiveOrientation() === 'horizontal' && (zType() === 'inline' || zType() === 'dot')\"\n  [class.border-border/70]=\"effectiveOrientation() === 'horizontal' && (zType() === 'inline' || zType() === 'dot')\"\n  [class.bg-muted/20]=\"effectiveOrientation() === 'horizontal' && (zType() === 'inline' || zType() === 'dot')\"\n  [class.p-2]=\"effectiveOrientation() === 'horizontal' && (zType() === 'inline' || zType() === 'dot')\">\n  @for (step of mergedSteps(); track $index; let i = $index; let last = $last) {\n    @if (effectiveOrientation() === 'vertical') {\n      @if (zType() === 'dot') {\n        <!-- Vertical Dot Layout -->\n        <li\n          class=\"flex items-start gap-3\"\n          [class.cursor-pointer]=\"zClickable() && !step.disabled\"\n          [class.cursor-not-allowed]=\"step.disabled\"\n          [class.opacity-50]=\"step.disabled\"\n          (click)=\"onStepClick(i)\">\n          <!-- Dot + Line Column -->\n          <div class=\"flex w-10 shrink-0 flex-col items-center\">\n            <!-- Dot -->\n            <span [class]=\"getDotClassesByIndex()[i]\" class=\"shrink-0\"></span>\n            <!-- Vertical Line -->\n            @if (!last) {\n              <div\n                class=\"my-1 h-10 w-[0.125rem] rounded-full\"\n                [class.bg-primary]=\"stepStatuses()[i] === 'completed'\"\n                [class.bg-destructive/40]=\"stepStatuses()[i] === 'error'\"\n                [class.bg-muted-foreground/30]=\"\n                  stepStatuses()[i] !== 'completed' && stepStatuses()[i] !== 'error'\n                \"></div>\n            }\n          </div>\n\n          <!-- Content (optional) -->\n          @if (step.title) {\n            <span\n              class=\"pt-0.5 text-sm\"\n              [class.text-foreground]=\"stepStatuses()[i] === 'current'\"\n              [class.font-medium]=\"stepStatuses()[i] === 'current'\"\n              [class.text-muted-foreground]=\"stepStatuses()[i] !== 'current'\">\n              {{ step.title }}\n            </span>\n          }\n        </li>\n      } @else {\n        <!-- Vertical Layout -->\n        <li\n          class=\"flex items-start gap-3\"\n          [class.cursor-pointer]=\"zClickable() && !step.disabled\"\n          [class.cursor-not-allowed]=\"step.disabled\"\n          [class.opacity-50]=\"step.disabled\"\n          (click)=\"onStepClick(i)\">\n          <div class=\"flex w-10 shrink-0 flex-col items-center\">\n            <!-- Step Icon -->\n            <span [class]=\"iconClassesMap().get(i)\" class=\"relative! start-auto!\">\n              @switch (stepStatuses()[i]) {\n                @case ('completed') {\n                  @if (step.icon) {\n                    <z-icon [zType]=\"step.icon\" [zSize]=\"getIconSizeByIndex()[i]\" />\n                  } @else {\n                    <z-icon zType=\"lucideCheck\" [zSize]=\"getIconSizeByIndex()[i]\" />\n                  }\n                }\n                @case ('error') {\n                  <z-icon zType=\"lucideX\" [zSize]=\"getIconSizeByIndex()[i]\" />\n                }\n                @default {\n                  @if (step.icon) {\n                    <z-icon [zType]=\"step.icon\" [zSize]=\"getIconSizeByIndex()[i]\" />\n                  } @else if (zShowNumber()) {\n                    <span class=\"font-medium\">{{ i + 1 }}</span>\n                  }\n                }\n              }\n            </span>\n\n            <!-- Vertical Line -->\n            @if (!last) {\n              <div\n                class=\"my-1 h-10 w-[0.125rem] rounded-full\"\n                [class.bg-primary]=\"stepStatuses()[i] === 'completed'\"\n                [class.bg-destructive/40]=\"stepStatuses()[i] === 'error'\"\n                [class.bg-muted-foreground/30]=\"\n                  stepStatuses()[i] !== 'completed' && stepStatuses()[i] !== 'error'\n                \"></div>\n            }\n          </div>\n\n          <!-- Content -->\n          @if (step.title || step.description) {\n            <div class=\"min-w-0 flex-1 pt-1 pb-3\">\n              @if (step.title) {\n                <h3 class=\"leading-tight font-medium\">{{ step.title }}</h3>\n              }\n              @if (step.description) {\n                <p class=\"text-muted-foreground mt-1 text-sm\">{{ step.description }}</p>\n              }\n            </div>\n          }\n        </li>\n      }\n    } @else {\n      <!-- Horizontal Layout -->\n      <li\n        [class]=\"zType() === 'arrow' ? 'flex-1' : 'flex-1 last:flex-none'\"\n        [class.cursor-pointer]=\"zClickable() && !step.disabled\"\n        [class.cursor-not-allowed]=\"step.disabled\"\n        [class.opacity-50]=\"step.disabled\"\n        (click)=\"onStepClick(i)\">\n        @if (zType() === 'arrow') {\n          <!-- Arrow Style -->\n          <div [class]=\"getArrowClassesByIndex()[i]\">\n            <div class=\"flex items-center gap-3.5\">\n              @if (step.icon) {\n                <z-icon [zType]=\"step.icon\" [zSize]=\"getIconSizeByIndex()[i]\" class=\"shrink-0\" />\n              }\n              <div class=\"flex min-w-0 flex-col\">\n                @if (step.title) {\n                  <h3\n                    z-tooltip\n                    [zContent]=\"step.title\"\n                    [zAutoDetect]=\"true\"\n                    zPosition=\"top\"\n                    class=\"truncate text-sm leading-tight font-semibold whitespace-nowrap\">\n                    {{ step.title }}\n                  </h3>\n                }\n                @if (step.description) {\n                  <p\n                    z-tooltip\n                    [zContent]=\"step.description\"\n                    [zAutoDetect]=\"true\"\n                    zPosition=\"bottom\"\n                    class=\"mt-1 truncate text-xs whitespace-nowrap opacity-80\">\n                    {{ step.description }}\n                  </p>\n                }\n              </div>\n            </div>\n          </div>\n        } @else if (zType() === 'dot') {\n          <!-- Dot Style: Simple dots with optional labels -->\n          <div class=\"flex items-center\">\n            <!-- Dot -->\n            <span [class]=\"getDotClassesByIndex()[i]\"></span>\n\n            <!-- Content (optional) -->\n            @if (step.title) {\n              <span\n                z-tooltip\n                [zContent]=\"step.title\"\n                [zAutoDetect]=\"true\"\n                zPosition=\"top\"\n                class=\"ms-2 max-w-24 truncate text-sm whitespace-nowrap\"\n                [class.text-foreground]=\"stepStatuses()[i] === 'current'\"\n                [class.font-medium]=\"stepStatuses()[i] === 'current'\"\n                [class.text-muted-foreground]=\"stepStatuses()[i] !== 'current'\">\n                {{ step.title }}\n              </span>\n            }\n\n            <!-- Horizontal Line -->\n            @if (!last) {\n              <div\n                class=\"mx-3 h-[0.1875rem] min-w-8 flex-1 rounded-full\"\n                [class.bg-primary]=\"stepStatuses()[i] === 'completed'\"\n                [class.bg-destructive/40]=\"stepStatuses()[i] === 'error'\"\n                [class.bg-muted-foreground/25]=\"\n                  stepStatuses()[i] !== 'completed' && stepStatuses()[i] !== 'error'\n                \"></div>\n            }\n          </div>\n        } @else if (zType() === 'inline') {\n          <!-- Inline: Icon + Content + Line in one row -->\n          <div class=\"flex items-center\">\n            <div class=\"flex min-w-0 flex-1 items-center gap-2.5 px-2.5 py-2\">\n              <!-- Step Icon -->\n              <span [class]=\"iconClassesMap().get(i)\" class=\"relative! start-auto! shrink-0\">\n                @switch (stepStatuses()[i]) {\n                  @case ('completed') {\n                    @if (step.icon) {\n                      <z-icon [zType]=\"step.icon\" [zSize]=\"getIconSizeByIndex()[i]\" />\n                    } @else {\n                      <z-icon zType=\"lucideCheck\" [zSize]=\"getIconSizeByIndex()[i]\" />\n                    }\n                  }\n                  @case ('error') {\n                    <z-icon zType=\"lucideX\" [zSize]=\"getIconSizeByIndex()[i]\" />\n                  }\n                  @default {\n                    @if (step.icon) {\n                      <z-icon [zType]=\"step.icon\" [zSize]=\"getIconSizeByIndex()[i]\" />\n                    } @else if (zShowNumber()) {\n                      <span class=\"font-medium\">{{ i + 1 }}</span>\n                    }\n                  }\n                }\n              </span>\n\n              <!-- Content Inline -->\n              @if (step.title || step.description) {\n                <div class=\"min-w-0 flex-1\">\n                  @if (step.title) {\n                    <h3\n                      z-tooltip\n                      [zContent]=\"step.title\"\n                      [zAutoDetect]=\"true\"\n                      zPosition=\"top\"\n                      class=\"truncate text-sm leading-tight font-medium whitespace-nowrap\">\n                      {{ step.title }}\n                    </h3>\n                  }\n                  @if (step.description) {\n                    <p\n                      z-tooltip\n                      [zContent]=\"step.description\"\n                      [zAutoDetect]=\"true\"\n                      zPosition=\"bottom\"\n                      class=\"text-muted-foreground mt-1 truncate text-xs whitespace-nowrap\">\n                      {{ step.description }}\n                    </p>\n                  }\n                </div>\n              }\n            </div>\n\n            <!-- Horizontal Line -->\n            @if (!last) {\n              <div\n                class=\"mx-3 h-[0.1875rem] min-w-8 flex-1 rounded-full\"\n                [class.bg-primary]=\"stepStatuses()[i] === 'completed'\"\n                [class.bg-destructive/40]=\"stepStatuses()[i] === 'error'\"\n                [class.bg-muted-foreground/25]=\"\n                  stepStatuses()[i] !== 'completed' && stepStatuses()[i] !== 'error'\n                \"></div>\n            }\n          </div>\n        } @else {\n          <!-- Default: Icon + Line row, Content below -->\n          <div class=\"flex items-center\">\n            <!-- Step Icon -->\n            <span [class]=\"iconClassesMap().get(i)\" class=\"relative! start-auto! shrink-0\">\n              @switch (stepStatuses()[i]) {\n                @case ('completed') {\n                  @if (step.icon) {\n                    <z-icon [zType]=\"step.icon\" [zSize]=\"getIconSizeByIndex()[i]\" />\n                  } @else {\n                    <z-icon zType=\"lucideCheck\" [zSize]=\"getIconSizeByIndex()[i]\" />\n                  }\n                }\n                @case ('error') {\n                  <z-icon zType=\"lucideX\" [zSize]=\"getIconSizeByIndex()[i]\" />\n                }\n                @default {\n                  @if (step.icon) {\n                    <z-icon [zType]=\"step.icon\" [zSize]=\"getIconSizeByIndex()[i]\" />\n                  } @else if (zShowNumber()) {\n                    <span class=\"font-medium\">{{ i + 1 }}</span>\n                  }\n                }\n              }\n            </span>\n\n            <!-- Horizontal Line -->\n            @if (!last) {\n              <div [class]=\"getConnectorClassesByIndex()[i]\"></div>\n            }\n          </div>\n\n          <!-- Content Below -->\n          @if (step.title || step.description) {\n            <div\n              class=\"z-steps-content mt-3 flex flex-col text-center\"\n              [style.width.px]=\"150\"\n              [style.margin-left.px]=\"(iconWidth() - 150) / 2\">\n              @if (step.title) {\n                <h3\n                  z-tooltip\n                  [zContent]=\"step.title\"\n                  [zAutoDetect]=\"true\"\n                  zPosition=\"top\"\n                  class=\"truncate text-sm leading-tight font-medium whitespace-nowrap\">\n                  {{ step.title }}\n                </h3>\n              }\n              @if (step.description) {\n                <p\n                  z-tooltip\n                  [zContent]=\"step.description\"\n                  [zAutoDetect]=\"true\"\n                  zPosition=\"bottom\"\n                  class=\"text-muted-foreground mt-1 truncate text-xs whitespace-nowrap\">\n                  {{ step.description }}\n                </p>\n              }\n            </div>\n          }\n        }\n      </li>\n    }\n  }\n</ol>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}