{"version":3,"file":"edsis-component-timeline.mjs","sources":["../../../library/component/timeline/timeline.component.ts","../../../library/component/timeline/edsis-component-timeline.ts"],"sourcesContent":["import { Component, booleanAttribute, computed, inject, input } from '@angular/core';\nimport { cn } from '@edsis/component/class';\n\nexport type TimelineAlign = 'start' | 'baseline' | 'center' | 'end';\nexport type TimelineSize = 'default' | 'lg';\nexport type TimelineStatus = 'complete' | 'current' | 'incomplete';\nexport type TimelineIndicatorVariant = 'default' | 'bare';\nexport type TimelineIndicatorColor =\n  | 'red'\n  | 'orange'\n  | 'amber'\n  | 'yellow'\n  | 'lime'\n  | 'green'\n  | 'emerald'\n  | 'teal'\n  | 'cyan'\n  | 'sky'\n  | 'blue'\n  | 'indigo'\n  | 'violet'\n  | 'purple'\n  | 'fuchsia'\n  | 'pink'\n  | 'rose';\n\nconst TIMELINE_BASE = [\n  'w-full min-w-0 text-sm text-foreground',\n  '[--timeline-content-gap:0.75rem] [--timeline-indicator-size:1.5rem] [--timeline-item-gap:1.5rem]',\n].join(' ');\n\nconst timelineSizeClasses: Record<TimelineSize, string> = {\n  default: '[--timeline-indicator-size:1.5rem]',\n  lg: '[--timeline-indicator-size:2.5rem] [--timeline-content-gap:1rem]',\n};\n\nconst timelineAlignClasses: Record<TimelineAlign, string> = {\n  start: 'items-start',\n  baseline: 'items-baseline',\n  center: 'items-center',\n  end: 'items-end',\n};\n\nconst timelineItemStatusClasses: Record<TimelineStatus, string> = {\n  complete: 'before:bg-primary after:bg-primary',\n  current: 'before:bg-border after:bg-border',\n  incomplete: 'before:bg-border/70 after:bg-border/70',\n};\n\nconst timelineIndicatorStatusClasses: Record<TimelineStatus, string> = {\n  complete: 'border-primary bg-primary text-primary-foreground',\n  current:\n    'border-ring bg-background text-foreground ring-2 ring-ring ring-offset-2 ring-offset-background',\n  incomplete: 'border-border bg-background text-muted-foreground',\n};\n\nconst timelineIndicatorColorClasses: Record<TimelineIndicatorColor, string> = {\n  red: 'border-[hsl(var(--timeline-indicator-red))] bg-[hsl(var(--timeline-indicator-red))] text-[hsl(var(--timeline-indicator-red-foreground))]',\n  orange:\n    'border-[hsl(var(--timeline-indicator-orange))] bg-[hsl(var(--timeline-indicator-orange))] text-[hsl(var(--timeline-indicator-orange-foreground))]',\n  amber:\n    'border-[hsl(var(--timeline-indicator-amber))] bg-[hsl(var(--timeline-indicator-amber))] text-[hsl(var(--timeline-indicator-amber-foreground))]',\n  yellow:\n    'border-[hsl(var(--timeline-indicator-yellow))] bg-[hsl(var(--timeline-indicator-yellow))] text-[hsl(var(--timeline-indicator-yellow-foreground))]',\n  lime: 'border-[hsl(var(--timeline-indicator-lime))] bg-[hsl(var(--timeline-indicator-lime))] text-[hsl(var(--timeline-indicator-lime-foreground))]',\n  green:\n    'border-[hsl(var(--timeline-indicator-green))] bg-[hsl(var(--timeline-indicator-green))] text-[hsl(var(--timeline-indicator-green-foreground))]',\n  emerald:\n    'border-[hsl(var(--timeline-indicator-emerald))] bg-[hsl(var(--timeline-indicator-emerald))] text-[hsl(var(--timeline-indicator-emerald-foreground))]',\n  teal: 'border-[hsl(var(--timeline-indicator-teal))] bg-[hsl(var(--timeline-indicator-teal))] text-[hsl(var(--timeline-indicator-teal-foreground))]',\n  cyan: 'border-[hsl(var(--timeline-indicator-cyan))] bg-[hsl(var(--timeline-indicator-cyan))] text-[hsl(var(--timeline-indicator-cyan-foreground))]',\n  sky: 'border-[hsl(var(--timeline-indicator-sky))] bg-[hsl(var(--timeline-indicator-sky))] text-[hsl(var(--timeline-indicator-sky-foreground))]',\n  blue: 'border-[hsl(var(--timeline-indicator-blue))] bg-[hsl(var(--timeline-indicator-blue))] text-[hsl(var(--timeline-indicator-blue-foreground))]',\n  indigo:\n    'border-[hsl(var(--timeline-indicator-indigo))] bg-[hsl(var(--timeline-indicator-indigo))] text-[hsl(var(--timeline-indicator-indigo-foreground))]',\n  violet:\n    'border-[hsl(var(--timeline-indicator-violet))] bg-[hsl(var(--timeline-indicator-violet))] text-[hsl(var(--timeline-indicator-violet-foreground))]',\n  purple:\n    'border-[hsl(var(--timeline-indicator-purple))] bg-[hsl(var(--timeline-indicator-purple))] text-[hsl(var(--timeline-indicator-purple-foreground))]',\n  fuchsia:\n    'border-[hsl(var(--timeline-indicator-fuchsia))] bg-[hsl(var(--timeline-indicator-fuchsia))] text-[hsl(var(--timeline-indicator-fuchsia-foreground))]',\n  pink: 'border-[hsl(var(--timeline-indicator-pink))] bg-[hsl(var(--timeline-indicator-pink))] text-[hsl(var(--timeline-indicator-pink-foreground))]',\n  rose: 'border-[hsl(var(--timeline-indicator-rose))] bg-[hsl(var(--timeline-indicator-rose))] text-[hsl(var(--timeline-indicator-rose-foreground))]',\n};\n\n@Component({\n  selector: 'Timeline',\n  host: {\n    '[class]': 'classes()',\n    '[attr.data-slot]': '\"timeline\"',\n    '[attr.data-orientation]': 'horizontal() ? \"horizontal\" : \"vertical\"',\n    '[attr.data-align]': 'align()',\n    '[attr.data-size]': 'size()',\n  },\n  template: `<ng-content />`,\n})\nexport class TimelineComponent {\n  readonly horizontal = input(false, { transform: booleanAttribute });\n  readonly align = input<TimelineAlign>('center');\n  readonly size = input<TimelineSize>('default');\n  readonly class = input<string>('');\n\n  protected readonly classes = computed(() =>\n    cn(\n      TIMELINE_BASE,\n      timelineSizeClasses[this.size()],\n      this.horizontal()\n        ? 'flex min-w-0 items-start gap-[var(--timeline-item-gap)] overflow-x-auto pb-1'\n        : 'grid',\n      this.class(),\n    ),\n  );\n}\n\n@Component({\n  selector: 'TimelineItem',\n  host: {\n    '[class]': 'classes()',\n    '[attr.data-slot]': '\"timeline-item\"',\n    '[attr.data-orientation]': 'orientation()',\n    '[attr.data-align]': 'resolvedAlign()',\n    '[attr.data-size]': 'resolvedSize()',\n    '[attr.data-status]': 'status() ?? null',\n  },\n  template: `<ng-content />`,\n})\nexport class TimelineItemComponent {\n  private readonly timeline = inject(TimelineComponent, { optional: true });\n\n  readonly status = input<TimelineStatus | null>(null);\n  readonly align = input<TimelineAlign | null>(null);\n  readonly size = input<TimelineSize | null>(null);\n  readonly class = input<string>('');\n\n  readonly orientation = computed(() => (this.timeline?.horizontal() ? 'horizontal' : 'vertical'));\n  readonly resolvedAlign = computed(() => this.align() ?? this.timeline?.align() ?? 'center');\n  readonly resolvedSize = computed(() => this.size() ?? this.timeline?.size() ?? 'default');\n\n  protected readonly classes = computed(() => {\n    const status = this.status();\n    const orientation = this.orientation();\n\n    return cn(\n      'relative min-w-0',\n      timelineSizeClasses[this.resolvedSize()],\n      orientation === 'horizontal'\n        ? [\n            \"before:content-['']\",\n            'grid min-w-32 flex-1 justify-items-center gap-y-2 text-center',\n            'before:absolute before:left-0 before:right-0 before:top-[calc(var(--timeline-indicator-size)/2)] before:h-px before:bg-border',\n            'first:before:left-1/2 last:before:right-1/2',\n          ].join(' ')\n        : [\n            \"after:content-['']\",\n            'grid grid-cols-[var(--timeline-indicator-size)_minmax(0,1fr)] gap-x-[var(--timeline-content-gap)] pb-[var(--timeline-item-gap)] last:pb-0',\n            'after:absolute after:bottom-0 after:left-[calc(var(--timeline-indicator-size)/2)] after:top-[calc(var(--timeline-indicator-size)+0.25rem)] after:w-px after:-translate-x-1/2 after:bg-border last:after:hidden',\n            timelineAlignClasses[this.resolvedAlign()],\n          ].join(' '),\n      status ? timelineItemStatusClasses[status] : 'before:bg-border after:bg-border',\n      this.class(),\n    );\n  });\n}\n\n@Component({\n  selector: 'TimelineIndicator',\n  host: {\n    '[class]': 'classes()',\n    '[attr.data-slot]': '\"timeline-indicator\"',\n    '[attr.data-variant]': 'variant()',\n    '[attr.data-status]': 'resolvedStatus()',\n    '[attr.data-color]': 'color() ?? null',\n  },\n  template: `<ng-content />`,\n})\nexport class TimelineIndicatorComponent {\n  private readonly item = inject(TimelineItemComponent, { optional: true });\n\n  readonly variant = input<TimelineIndicatorVariant>('default');\n  readonly status = input<TimelineStatus | null>(null);\n  readonly color = input<TimelineIndicatorColor | null>(null);\n  readonly class = input<string>('');\n\n  protected readonly resolvedStatus = computed(\n    () => this.status() ?? this.item?.status() ?? 'incomplete',\n  );\n  protected readonly classes = computed(() => {\n    const color = this.color();\n\n    return cn(\n      'relative z-10 col-start-1 row-start-1 inline-flex shrink-0 items-center justify-center justify-self-center',\n      this.item?.orientation() === 'horizontal' ? 'row-start-1' : '',\n      this.variant() === 'bare'\n        ? 'bg-background text-muted-foreground'\n        : [\n            'size-[var(--timeline-indicator-size)] rounded-full border text-xs font-medium shadow-sm',\n            color\n              ? timelineIndicatorColorClasses[color]\n              : timelineIndicatorStatusClasses[this.resolvedStatus()],\n          ].join(' '),\n      this.class(),\n    );\n  });\n}\n\n@Component({\n  selector: 'TimelineContent',\n  host: {\n    '[class]': 'classes()',\n    '[attr.data-slot]': '\"timeline-content\"',\n  },\n  template: `<ng-content />`,\n})\nexport class TimelineContentComponent {\n  private readonly item = inject(TimelineItemComponent, { optional: true });\n\n  readonly class = input<string>('');\n\n  protected readonly classes = computed(() =>\n    cn(\n      'min-w-0 text-sm leading-6 text-foreground',\n      this.item?.orientation() === 'horizontal'\n        ? 'row-start-2 max-w-40 text-center'\n        : 'col-start-2 row-start-1',\n      this.class(),\n    ),\n  );\n}\n\n@Component({\n  selector: 'TimelineBlock',\n  host: {\n    '[class]': 'classes()',\n    '[attr.data-slot]': '\"timeline-block\"',\n  },\n  template: `<ng-content />`,\n})\nexport class TimelineBlockComponent {\n  private readonly item = inject(TimelineItemComponent, { optional: true });\n\n  readonly class = input<string>('');\n\n  protected readonly classes = computed(() =>\n    cn(\n      'min-w-0',\n      this.item?.orientation() === 'horizontal' ? 'row-start-2 w-full' : 'col-span-full',\n      this.class(),\n    ),\n  );\n}\n\n@Component({\n  selector: 'TimelineSubgrid',\n  host: {\n    '[class]': 'classes()',\n    '[attr.data-slot]': '\"timeline-subgrid\"',\n  },\n  template: `<ng-content />`,\n})\nexport class TimelineSubgridComponent {\n  readonly class = input<string>('');\n\n  protected readonly classes = computed(() =>\n    cn(\n      'grid min-w-0 grid-cols-[var(--timeline-indicator-size)_minmax(0,1fr)] gap-x-[var(--timeline-content-gap)]',\n      this.class(),\n    ),\n  );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}