{"version":3,"file":"ng-horizontal-timeline-slider.mjs","sources":["../../../projects/ng-timeline/src/lib/ng-timeline.service.ts","../../../projects/ng-timeline/src/lib/ng-timeline.component.ts","../../../projects/ng-timeline/src/lib/ng-timeline.component.html","../../../projects/ng-timeline/src/lib/ng-timeline.module.ts","../../../projects/ng-timeline/src/public-api.ts","../../../projects/ng-timeline/src/ng-horizontal-timeline-slider.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class NgTimelineService {\n\n  constructor() { }\n}\n","import {Component, Input, OnInit} from '@angular/core';\n\ntype Direction = 'next' | 'prev';\n\n@Component({\n  selector: 'ng-horizontal-timeline-slider',\n  templateUrl: './ng-timeline.component.html',\n  styleUrls: ['./ng-timeline.component.scss']\n})\nexport class NgTimelineComponent implements OnInit {\n  @Input() status: string[] | undefined;\n  @Input() height: number = 500;\n  @Input() size: 'sm' | 'md' | 'lg' = 'lg';\n  @Input() topBottomPosition: number = -150;\n  @Input() leftPosition: number = -40;\n  @Input() widthOfPosition: number = 50;\n  translate: number = 30;\n  prevInactive: boolean = true;\n  nextInactive: boolean | undefined;\n  totalWidth: number = 0;\n  constructor() { }\n\n  ngOnInit(): void {}\n\n  getLeftValue(index: number) {\n    if(index === 0) this.totalWidth = -(this.leftPosition);\n    else this.totalWidth = index * 180 - this.leftPosition;\n    return `${this.totalWidth}px`;\n  }\n\n  setTimelineStyle() {\n    let width: number= 400;\n    if(this.size === 'sm') {\n      width = 480;\n    }else if(this.size === 'md') {\n      width = 820\n    }else {\n      width = 1200\n    }\n    return `height: ${this.height}px; max-width: ${width}px`\n  }\n\n  setPosition(i: number) {\n    console.log(i)\n    if(i % 2 === 0) return `top: ${this.topBottomPosition}px; left: ${this.leftPosition}px; width: ${this.widthOfPosition}px`;\n    return `bottom: ${this.topBottomPosition}px; left: ${this.leftPosition}px; width: ${this.widthOfPosition}px`\n  }\n\n  move(direction: Direction) {\n    const containerWidth = document.getElementById('timeline')?.offsetWidth || 0;\n    let tran = this.translate;\n    if(direction) {\n      tran= (direction === 'next') ? tran - containerWidth : tran + containerWidth;\n    }\n    if(tran> 30 ) tran= 0;\n    this.nextInactive = -tran> this.totalWidth;\n    this.prevInactive = tran=== 0;\n    const line: any = document.getElementById(\"line\");\n    if((direction === 'next' && !this.nextInactive) || (direction === 'prev' && !this.prevInactive)) {\n      this.translate = tran;\n      line.style.transform = `translateX(${this.translate}px)`;\n    }\n  }\n}\n","<div class=\"timeline-main\" [style]=\"setTimelineStyle()\">\n  <div class=\"timeline\" id=\"timeline\">\n    <div class=\"line\" id=\"line\">\n      <ol class=\"list\" *ngFor=\"let l of status; let i = index\">\n        <li class=\"list-item\">\n          <div class=\"list-item-status\" [style.left]=\"getLeftValue(i)\">\n            <div [ngClass]=\"i%2 === 0 ? 'list-item-status-up' : 'list-item-status-down'\" [id]=\"i\" [style]=\"setPosition(i)\">\n              <span>{{l}}</span>\n            </div>\n            <div [ngClass]=\"i%2 === 0 ? 'list-item-status-line-up' : 'list-item-status-line-down'\"></div>\n          </div>\n        </li>\n      </ol>\n    </div>\n\n  </div>\n  <ul class=\"navigation\">\n    <li (click)=\"move('prev')\">\n      <span [ngClass]=\"prevInactive ? 'navigation-inactive' : 'navigation-active'\" class=\"timeline-navigation-prev-main timeline-navigation-prev\">\n      </span>\n    </li>\n    <li (click)=\"move('next')\">\n      <span [ngClass]=\"nextInactive ? 'navigation-inactive': 'navigation-active'\" class=\"timeline-navigation-next-main timeline-navigation-next\">\n      </span>\n    </li>\n  </ul>\n</div>\n","import { NgModule } from '@angular/core';\nimport { NgTimelineComponent } from './ng-timeline.component';\nimport {NgClass, NgForOf} from \"@angular/common\";\n\n\n\n@NgModule({\n  declarations: [\n    NgTimelineComponent\n  ],\n  imports: [\n    NgClass,\n    NgForOf\n  ],\n  exports: [\n    NgTimelineComponent\n  ]\n})\nexport class NgTimelineModule { }\n","/*\n * Public API Surface of ng-timeline\n */\n\nexport * from './lib/ng-timeline.service';\nexport * from './lib/ng-timeline.component';\nexport * from './lib/ng-timeline.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}