{"version":3,"file":"seniorsistemas-angular-components-timeline.mjs","sources":["../../projects/angular-components/timeline/src/lib/timeline/components/timeline-icon-item/timeline-icon-item.component.ts","../../projects/angular-components/timeline/src/lib/timeline/components/timeline-icon-item/timeline-icon-item.component.html","../../projects/angular-components/timeline/src/lib/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.ts","../../projects/angular-components/timeline/src/lib/timeline/components/vertical-timeline/components/vertical-items/vertical-items.component.html","../../projects/angular-components/timeline/src/lib/timeline/components/vertical-timeline/components/collapse-option/collapse-option.component.ts","../../projects/angular-components/timeline/src/lib/timeline/components/vertical-timeline/components/collapse-option/collapse-option.component.html","../../projects/angular-components/timeline/src/lib/timeline/components/vertical-timeline/components/range-line/range-line.component.ts","../../projects/angular-components/timeline/src/lib/timeline/components/vertical-timeline/components/range-line/range-line.component.html","../../projects/angular-components/timeline/src/lib/timeline/components/vertical-timeline/components/collapsed-items/collapsed-items.component.ts","../../projects/angular-components/timeline/src/lib/timeline/components/vertical-timeline/components/collapsed-items/collapsed-items.component.html","../../projects/angular-components/timeline/src/lib/timeline/components/vertical-timeline/vertical-timeline.component.ts","../../projects/angular-components/timeline/src/lib/timeline/components/vertical-timeline/vertical-timeline.component.html","../../projects/angular-components/timeline/src/lib/timeline/components/horizontal-timeline/horizontal-timeline.component.ts","../../projects/angular-components/timeline/src/lib/timeline/components/horizontal-timeline/horizontal-timeline.component.html","../../projects/angular-components/timeline/src/lib/timeline/timeline.component.ts","../../projects/angular-components/timeline/src/lib/timeline/timeline.component.html","../../projects/angular-components/timeline/src/lib/timeline/timeline.module.ts","../../projects/angular-components/timeline/src/lib/timeline/models/timeline-item-severity.ts","../../projects/angular-components/timeline/src/lib/timeline/models/timeline-item-size.ts","../../projects/angular-components/timeline/src/lib/timeline/models/timeline-item.ts","../../projects/angular-components/timeline/src/seniorsistemas-angular-components-timeline.ts"],"sourcesContent":["import { Component, Input } from '@angular/core';\r\n\r\nimport { TimelineItem } from '../../models/timeline-item';\r\nimport { NgClass, NgStyle } from '@angular/common';\r\nimport { TooltipDirective } from '@seniorsistemas/angular-components/tooltip';\r\n\r\n@Component({\r\n    selector: 's-timeline-icon-item',\r\n    templateUrl: './timeline-icon-item.component.html',\r\n    styleUrls: ['./timeline-icon-item.component.scss'],\r\n    standalone: true,\r\n    imports: [NgClass, TooltipDirective, NgStyle],\r\n})\r\nexport class TimelineIconItemComponent {\r\n    @Input({ required: true })\r\n    public item!: TimelineItem;\r\n\r\n    @Input()\r\n    public isActive?: boolean;\r\n\r\n    @Input()\r\n    public highlightActive?: boolean;\r\n\r\n    @Input()\r\n    public isComplete?: boolean;\r\n}\r\n","@if (item) {\n    <div\n        class=\"timeline__icon-item\"\n        [ngClass]=\"{\n            'timeline__icon-item--small': item.testSize('small'),\n            'timeline__icon-item--normal': item.testSize('normal'),\n            'timeline__icon-item--warning': item.testSeverity('warning'),\n            'timeline__icon-item--error': item.testSeverity('error'),\n            'timeline__icon-item--completed': isComplete,\n            'timeline__icon-item--active': isActive,\n            'timeline__icon-item--active--highlight':\n                isActive && highlightActive,\n        }\"\n    >\n        <div\n            class=\"timeline__icon-item__icon\"\n            [sTooltip]=\"item.tooltip\"\n            [ngStyle]=\"{ backgroundColor: item.color }\"\n        >\n            @if (item.icon) {\n                <span [ngClass]=\"item.icon\"></span>\n            } @else {\n            <span class=\"timeline__icon-item__icon__label\" [class.large_label]=\"(item.label?.length ?? 0) > 2\">\n               {{ item.label }}\n            </span>\n            }\n        </div>\n    </div>\n}\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { TimelineItem } from '../../../../models/timeline-item';\r\nimport { NgClass, NgStyle } from '@angular/common';\r\nimport { TimelineIconItemComponent } from '../../../timeline-icon-item/timeline-icon-item.component';\r\n\r\n@Component({\r\n    selector: 's-vertical-items',\r\n    templateUrl: './vertical-items.component.html',\r\n    styleUrls: ['./vertical-items.component.scss'],\r\n    standalone: true,\r\n    imports: [NgClass, TimelineIconItemComponent, NgStyle],\r\n})\r\nexport class VerticalItemsComponent {\r\n    @Input({ required: true })\r\n    public items!: TimelineItem[];\r\n\r\n    @Input()\r\n    public isLast?: boolean;\r\n\r\n    @Input()\r\n    public isActive?: boolean;\r\n\r\n    @Input()\r\n    public highlightActive?: boolean;\r\n\r\n    @Input()\r\n    public isCompleted?: boolean;\r\n}\r\n","<div class=\"vertical-items\">\n    @for (item of items; track item.id; let index = $index) {\n        <div\n            class=\"vertical-items__item\"\n            [ngClass]=\"{\n                'vertical-items__item--small': item.testSize('small'),\n                'vertical-items__item--normal': item.testSize('normal'),\n                'vertical-items__item--completed': isCompleted,\n                'vertical-items__item--active': isActive,\n            }\"\n        >\n            <div class=\"vertical-items__item__icon-wrapper\">\n                <s-timeline-icon-item\n                    [item]=\"item\"\n                    [isComplete]=\"isCompleted\"\n                    [isActive]=\"isActive\"\n                    [highlightActive]=\"highlightActive\"\n                >\n                </s-timeline-icon-item>\n                <div\n                    class=\"vertical-items__item__icon-wrapper__line\"\n                    [ngStyle]=\"{ visibility: isLast ? 'hidden' : 'visible' }\"\n                ></div>\n            </div>\n            <div class=\"vertical-items__item__info\">\n                <div class=\"vertical-timeline__item__info__title\">\n                    {{ item.title }}\n                </div>\n                <div class=\"vertical-items__item__info__description\">\n                    {{ item.description }}\n                </div>\n            </div>\n        </div>\n    }\n</div>\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgClass } from '@angular/common';\r\n\r\n@Component({\r\n    selector: 's-collapse-option',\r\n    templateUrl: './collapse-option.component.html',\r\n    styleUrls: ['./collapse-option.component.scss'],\r\n    standalone: true,\r\n    imports: [NgClass],\r\n})\r\nexport class CollapseOptionComponent {\r\n    @Input()\r\n    public isCollapsed = false;\r\n\r\n    @Output()\r\n    public toggleCollapsed = new EventEmitter<boolean>();\r\n\r\n    public onClick(): void {\r\n        this.toggleCollapsed.emit(!this.isCollapsed);\r\n    }\r\n}\r\n","<div\n    class=\"collapse-option\"\n    (click)=\"onClick()\"\n>\n    <div class=\"collapse-option__icon\">\n        <span\n            class=\"fas\"\n            [ngClass]=\"{\n                'fa-minus': !isCollapsed,\n                'fa-plus': isCollapsed,\n            }\"\n        >\n        </span>\n    </div>\n</div>\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n    selector: 's-range-line',\r\n    templateUrl: './range-line.component.html',\r\n    styleUrls: ['./range-line.component.scss'],\r\n    standalone: true,\r\n})\r\nexport class RangeLineComponent {}\r\n","<div class=\"range-line\">\n    <div class=\"range-line__horizontal\"></div>\n    <div class=\"range-line__vertical\"></div>\n    <div class=\"range-line__horizontal\"></div>\n</div>\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\nimport { TimelineItem } from '../../../../models/timeline-item';\r\nimport { NgClass } from '@angular/common';\r\nimport { CollapseOptionComponent } from '../collapse-option/collapse-option.component';\r\n\r\n@Component({\r\n    selector: 's-collapsed-items',\r\n    templateUrl: './collapsed-items.component.html',\r\n    styleUrls: ['./collapsed-items.component.scss'],\r\n    standalone: true,\r\n    imports: [NgClass, CollapseOptionComponent],\r\n})\r\nexport class CollapsedItemsComponent {\r\n    @Input({ required: true })\r\n    public items!: TimelineItem[];\r\n\r\n    @Input()\r\n    public isCollapsed = false;\r\n\r\n    @Input()\r\n    public isCompleted?: boolean;\r\n\r\n    @Input()\r\n    public counterLabel?: string;\r\n\r\n    @Output()\r\n    public isCollapsedChange = new EventEmitter<boolean>();\r\n\r\n    public onChange(event: boolean): void {\r\n        this.isCollapsed = !this.isCollapsed;\r\n        this.isCollapsedChange.emit(this.isCollapsed);\r\n    }\r\n}\r\n","<div class=\"collapsed-items\">\n    <div\n        class=\"collapsed-items__item\"\n        [ngClass]=\"{ 'collapsed-items__item--completed': isCompleted }\"\n    >\n        <div class=\"collapsed-items__item__icon-wrapper\">\n            <s-collapse-option\n                [isCollapsed]=\"isCollapsed\"\n                (toggleCollapsed)=\"onChange($event)\"\n            >\n            </s-collapse-option>\n            <div class=\"collapsed-items__item__icon-wrapper__line\"></div>\n        </div>\n        <div\n            class=\"collapsed-items__item__info\"\n            (click)=\"onChange(!isCollapsed)\"\n        >\n            <div class=\"collapsed-items__item__info__description\">\n                {{ items.length }} {{ counterLabel }}\n            </div>\n        </div>\n    </div>\n</div>\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { TimelineItem } from '../../models/timeline-item';\r\nimport { VerticalItemsComponent } from './components/vertical-items/vertical-items.component';\r\nimport { CollapseOptionComponent } from './components/collapse-option/collapse-option.component';\r\nimport { RangeLineComponent } from './components/range-line/range-line.component';\r\nimport { CollapsedItemsComponent } from './components/collapsed-items/collapsed-items.component';\r\n\r\n@Component({\r\n    selector: 's-vertical-timeline',\r\n    templateUrl: './vertical-timeline.component.html',\r\n    styleUrls: ['./vertical-timeline.component.scss'],\r\n    standalone: true,\r\n    imports: [VerticalItemsComponent, CollapseOptionComponent, RangeLineComponent, CollapsedItemsComponent],\r\n})\r\nexport class VerticalTimelineComponent {\r\n    public static nextId = 0;\r\n    private _activeIndex = 0;\r\n    public isG1Collapsed = true;\r\n    public isG2Collapsed = true;\r\n\r\n    public firstItem: TimelineItem[] = [];\r\n    public g1Items: TimelineItem[] = [];\r\n    public activeItem: TimelineItem[] = [];\r\n    public g2Items: TimelineItem[] = [];\r\n    public lastItem: TimelineItem[] = [];\r\n\r\n    @Input({ required: true })\r\n    public set activeIndex(index: number) {\r\n        this._activeIndex = index;\r\n        this.groupItems();\r\n    }\r\n\r\n    public get activeIndex() {\r\n        return this._activeIndex;\r\n    }\r\n\r\n    @Input()\r\n    public highlightActiveItem?: boolean;\r\n\r\n    @Input({ required: true })\r\n    public items!: TimelineItem[];\r\n\r\n    @Input()\r\n    public counterLabel?: string;\r\n\r\n    @Input()\r\n    public collapsable?: boolean;\r\n\r\n    public onChangeG1(event: boolean) {\r\n        this.isG1Collapsed = event;\r\n    }\r\n\r\n    public onChangeG2(event: boolean) {\r\n        this.isG2Collapsed = event;\r\n    }\r\n\r\n    public groupItems() {\r\n        this.firstItem = this.activeIndex <= 0 ? [] : [this.items[0]];\r\n        this.g1Items = this.items.slice(1, this.activeIndex < 0 ? 0 : this.activeIndex);\r\n        this.activeItem = this.activeIndex >= 0 ? [this.items[this.activeIndex]] : [];\r\n        this.g2Items = this.items.slice(this.activeIndex + 1, this.items.length - 1);\r\n        this.lastItem = this.activeIndex === this.items.length - 1 ? [] : [this.items[this.items.length - 1]];\r\n    }\r\n}\r\n","<div class=\"vertical-timeline\">\n    @if (firstItem.length) {\n        <div class=\"vertical-timeline__block\">\n            <div class=\"vertical-timeline__block__prefix\"></div>\n            <s-vertical-items\n                [items]=\"firstItem\"\n                [isLast]=\"false\"\n                [isActive]=\"false\"\n                [isCompleted]=\"true\"\n            >\n            </s-vertical-items>\n        </div>\n    }\n\n    @if (g1Items.length) {\n        <div class=\"vertical-timeline__block\">\n            <div class=\"vertical-timeline__block__prefix\">\n                @if (g1Items.length > 1 && !isG1Collapsed) {\n                    @if (collapsable) {\n                        <s-collapse-option\n                            [isCollapsed]=\"isG1Collapsed\"\n                            (toggleCollapsed)=\"onChangeG1($event)\"\n                        >\n                        </s-collapse-option>\n                    }\n                    <s-range-line\n                        class=\"vertical-timeline__block__prefix__line\"\n                    ></s-range-line>\n                }\n            </div>\n\n            @if (isG1Collapsed && g1Items.length > 1 && collapsable) {\n                <s-collapsed-items\n                    [items]=\"g1Items\"\n                    [(isCollapsed)]=\"isG1Collapsed\"\n                    [isCompleted]=\"true\"\n                    [counterLabel]=\"counterLabel\"\n                >\n                </s-collapsed-items>\n            } @else {\n                <s-vertical-items\n                    [items]=\"g1Items\"\n                    [isLast]=\"false\"\n                    [isActive]=\"false\"\n                    [isCompleted]=\"true\"\n                >\n                </s-vertical-items>\n            }\n        </div>\n    }\n\n    @if (activeItem.length) {\n        <div class=\"vertical-timeline__block\">\n            <div class=\"vertical-timeline__block__prefix\"></div>\n            <s-vertical-items\n                [items]=\"activeItem\"\n                [isLast]=\"!lastItem.length\"\n                [isActive]=\"true\"\n                [highlightActive]=\"highlightActiveItem\"\n                [isCompleted]=\"false\"\n            >\n            </s-vertical-items>\n        </div>\n    }\n\n    @if (g2Items.length) {\n        <div class=\"vertical-timeline__block\">\n            <div class=\"vertical-timeline__block__prefix\">\n                @if (g2Items.length > 1 && !isG2Collapsed) {\n                    @if (collapsable) {\n                        <s-collapse-option\n                            [isCollapsed]=\"isG2Collapsed\"\n                            (toggleCollapsed)=\"onChangeG2($event)\"\n                        >\n                        </s-collapse-option>\n                    }\n                    <s-range-line\n                        class=\"vertical-timeline__block__prefix__line\"\n                    ></s-range-line>\n                }\n            </div>\n\n            @if (isG2Collapsed && g2Items.length > 1 && collapsable) {\n                <s-collapsed-items\n                    [items]=\"g2Items\"\n                    [(isCollapsed)]=\"isG2Collapsed\"\n                    [isCompleted]=\"false\"\n                    [counterLabel]=\"counterLabel\"\n                >\n                </s-collapsed-items>\n            } @else {\n                <s-vertical-items\n                    [items]=\"g2Items\"\n                    [isLast]=\"false\"\n                    [isActive]=\"false\"\n                    [isCompleted]=\"false\"\n                >\n                </s-vertical-items>\n            }\n        </div>\n    }\n\n    @if (lastItem.length) {\n        <div class=\"vertical-timeline__block\">\n            <div class=\"vertical-timeline__block__prefix\"></div>\n            <s-vertical-items\n                [items]=\"lastItem\"\n                [isLast]=\"true\"\n                [isActive]=\"false\"\n                [isCompleted]=\"false\"\n            >\n            </s-vertical-items>\n        </div>\n    }\n</div>\n","import { Component, Input } from '@angular/core';\r\n\r\nimport { TimelineItem } from '../../models/timeline-item';\r\nimport { NgClass, NgStyle } from '@angular/common';\r\nimport { TimelineIconItemComponent } from '../timeline-icon-item/timeline-icon-item.component';\r\nimport { TooltipDirective } from '@seniorsistemas/angular-components/tooltip';\r\n\r\n@Component({\r\n    selector: 's-horizontal-timeline',\r\n    templateUrl: './horizontal-timeline.component.html',\r\n    styleUrls: ['./horizontal-timeline.component.scss'],\r\n    standalone: true,\r\n    imports: [NgClass, NgStyle, TimelineIconItemComponent, TooltipDirective],\r\n})\r\nexport class HorizontalTimelineComponent {\r\n    @Input({ required: true })\r\n    public items!: TimelineItem[];\r\n\r\n    @Input()\r\n    public activeIndex = 0;\r\n\r\n    @Input()\r\n    public highlightActiveItem?: boolean;\r\n}\r\n","<div class=\"horizontal-timeline\">\n    @for (\n        item of items;\n        track item.id;\n        let i = $index;\n        let isFirst = $first;\n        let isLast = $last\n    ) {\n        <div\n            class=\"horizontal-timeline__item\"\n            [ngClass]=\"{\n                'horizontal-timeline__item--small': item.testSize('small'),\n                'horizontal-timeline__item--normal': item.testSize('normal'),\n                'horizontal-timeline__item--warning':\n                    item.testSeverity('warning'),\n                'horizontal-timeline__item--error': item.testSeverity('error'),\n                'horizontal-timeline__item--completed': i < activeIndex,\n                'horizontal-timeline__item--active': i === activeIndex,\n            }\"\n        >\n            <div class=\"horizontal-timeline__item__icon-wrapper\">\n                <div\n                    class=\"horizontal-timeline__item__icon-wrapper__line horizontal-timeline__item__icon-wrapper__line--before\"\n                    [ngStyle]=\"{ visibility: isFirst ? 'hidden' : 'visible' }\"\n                ></div>\n                <s-timeline-icon-item\n                    [item]=\"item\"\n                    [isActive]=\"i === activeIndex\"\n                    [isComplete]=\"i < activeIndex\"\n                    [highlightActive]=\"highlightActiveItem\"\n                >\n                </s-timeline-icon-item>\n                <div\n                    class=\"horizontal-timeline__item__icon-wrapper__line horizontal-timeline__item__icon-wrapper__line--after\"\n                    [ngStyle]=\"{ visibility: isLast ? 'hidden' : 'visible' }\"\n                ></div>\n            </div>\n            <div class=\"horizontal-timeline__item__info\">\n                <div\n                    class=\"horizontal-timeline__item__info__title\"\n                    [sTooltip]=\"item.title\"\n                    [showDelay]=\"1000\"\n                >\n                    {{ item.title }}\n                </div>\n                <div\n                    class=\"horizontal-timeline__item__info__description\"\n                    [sTooltip]=\"item.description\"\n                    [showDelay]=\"1000\"\n                >\n                    {{ item.description }}\n                </div>\n            </div>\n        </div>\n    }\n</div>\n","import { Component, HostListener, Input, OnInit } from '@angular/core';\r\n\r\nimport { TimelineItem } from './models/timeline-item';\r\n\r\nimport { VerticalTimelineComponent } from './components/vertical-timeline/vertical-timeline.component';\r\nimport { HorizontalTimelineComponent } from './components/horizontal-timeline/horizontal-timeline.component';\r\n\r\nconst HORIZONTAL = 'horizontal';\r\nconst VERTICAL = 'vertical';\r\nconst MIN_ITEM_SIZE = 200;\r\n\r\n/**\r\n * @description Componente de linha do tempo que renderiza itens de forma horizontal\r\n * ou vertical (ou autodetectável por largura de tela). Suporta navegação entre\r\n * etapas, destaque do item ativo e modo colapsável para muitos itens.\r\n *\r\n * @example\r\n * ```html\r\n * <s-timeline\r\n *   [items]=\"etapas\"\r\n *   [activeIndex]=\"etapaAtiva\"\r\n *   direction=\"horizontal\" />\r\n * ```\r\n *\r\n * @category Structure\r\n */\r\n@Component({\r\n    selector: 's-timeline',\r\n    templateUrl: './timeline.component.html',\r\n    standalone: true,\r\n    imports: [VerticalTimelineComponent, HorizontalTimelineComponent],\r\n})\r\nexport class TimelineComponent implements OnInit {\r\n    private _innerWidth = 0;\r\n    private _items: TimelineItem[] = [];\r\n\r\n    public get items(): TimelineItem[] {\r\n        return this._items;\r\n    }\r\n\r\n    /**\r\n     * @description Lista de itens da linha do tempo. Campo obrigatório.\r\n     * IDs duplicados são rejeitados com exceção.\r\n     */\r\n    @Input({ required: true })\r\n    public set items(items: TimelineItem[]) {\r\n        this._items = items;\r\n        this.checkDuplicateIds();\r\n    }\r\n\r\n    /** @description Índice ativo (0-based) que define o item em destaque. Campo obrigatório. */\r\n    @Input({ required: true })\r\n    public activeIndex!: number;\r\n\r\n    /** @description Aplica destaque visual ao item ativo. @default true */\r\n    @Input()\r\n    public highlightActiveItem = true;\r\n\r\n    /** @description Direção de renderização: `'horizontal'` ou `'vertical'`. @default 'horizontal' */\r\n    @Input()\r\n    public direction: typeof HORIZONTAL | typeof VERTICAL = HORIZONTAL;\r\n\r\n    /** @description Habilita o modo colapsável quando há muitos itens. @default true */\r\n    @Input()\r\n    public collapsable = true;\r\n\r\n    /** @description Rótulo exibido no contador de itens colapsados. @default 'items' */\r\n    @Input()\r\n    public counterLabel = 'items';\r\n\r\n    public ngOnInit(): void {\r\n        this._innerWidth = window.innerWidth;\r\n    }\r\n\r\n    @HostListener('window:resize', ['$event'])\r\n    public onResize(_: any): void {\r\n        this._innerWidth = window.innerWidth;\r\n    }\r\n\r\n    public changeToVertical(): boolean {\r\n        return this.direction === VERTICAL || this._innerWidth / this.items.length < MIN_ITEM_SIZE;\r\n    }\r\n\r\n    public checkDuplicateIds(): void {\r\n        const ids = this.items.map((item) => {\r\n            return item.id;\r\n        });\r\n\r\n        if (new Set(ids).size !== ids.length) {\r\n            throw new Error('A duplicate id was found in the items list');\r\n        }\r\n    }\r\n}\r\n","<div>\r\n    @if (changeToVertical()) {\r\n        @if (items.length) {\r\n            <s-vertical-timeline\r\n                [items]=\"items\"\r\n                [activeIndex]=\"activeIndex\"\r\n                [highlightActiveItem]=\"highlightActiveItem\"\r\n                [counterLabel]=\"counterLabel\"\r\n                [collapsable]=\"collapsable\"\r\n                [highlightActiveItem]=\"highlightActiveItem\"\r\n            >\r\n            </s-vertical-timeline>\r\n        }\r\n    } @else {\r\n        @if (items.length) {\r\n            <s-horizontal-timeline\r\n                [items]=\"items\"\r\n                [activeIndex]=\"activeIndex\"\r\n                [highlightActiveItem]=\"highlightActiveItem\"\r\n            >\r\n            </s-horizontal-timeline>\r\n        }\r\n    }\r\n</div>\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { TimelineComponent } from './timeline.component';\r\n\r\n@NgModule({\r\n    imports: [TimelineComponent],\r\n    exports: [TimelineComponent],\r\n})\r\nexport class TimelineModule {}\r\n","export enum TimelineItemSeverity {\n    Normal = 'normal',\n    Warning = 'warning',\n    Error = 'error',\n}\n","export enum TimelineItemSize {\n    Normal = 'normal',\n    Small = 'small',\n}\n","import { TimelineItemSeverity } from './timeline-item-severity';\nimport { TimelineItemSize } from './timeline-item-size';\n\nconst LABEL_MAX_LENGTH = 3;\n\nexport class TimelineItem {\n    public id: string;\n    public title: string;\n    public description: string;\n    public icon?: string;\n    public label?: string;\n    public tooltip?: string;\n    public size: TimelineItemSize;\n    public severity: TimelineItemSeverity;\n    public color?: string;\n\n    constructor(params: {\n        id: string;\n        title: string;\n        description: string;\n        icon?: string;\n        label?: string;\n        size?: TimelineItemSize;\n        severity?: TimelineItemSeverity;\n        tooltip?: string;\n        color?: string;\n    }) {\n        this.id = params.id;\n        this.title = params.title;\n        this.description = params.description;\n        this.icon = params.icon;\n        this.label = params.label;\n        this.tooltip = params.tooltip;\n        this.size = params.size || TimelineItemSize.Normal;\n        this.severity = params.severity || TimelineItemSeverity.Normal;\n        this.color = params.color;\n\n        this.checkItemIconContent();\n    }\n\n    public checkItemIconContent() {\n        if (!this.icon && !this.label) {\n            throw new Error(\n                'No icon or label string was passed for the item. Enter an icon or label text',\n            );\n        }\n\n        if (this.icon && this.label) {\n            throw new Error(\n                'An icon and label string were passed to the item. Enter an icon or label text',\n            );\n        }\n\n        if (this.label && this.label.length > LABEL_MAX_LENGTH) {\n            throw new Error(\n                'Label text is expected to be a maximum of three characters long',\n            );\n        }\n    }\n\n    public testSize(value: string) {\n        return this.size.valueOf() === value;\n    }\n\n    public testSeverity(value: string) {\n        return this.severity?.valueOf() === value;\n    }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}