@memberjunction/ng-timeline 2.122.2 → 2.123.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -59,6 +59,10 @@ export declare class TimelineComponent<T = any> implements OnInit, OnDestroy, Af
59
59
  get groups(): TimelineGroup<T>[];
60
60
  set groups(value: TimelineGroup<T>[]);
61
61
  private _groups;
62
+ /**
63
+ * Check if timeline groups have meaningfully changed
64
+ */
65
+ private didGroupsChange;
62
66
  /**
63
67
  * Controls whether data loading is allowed.
64
68
  * Set to false to defer loading until ready.
@@ -73,26 +77,34 @@ export declare class TimelineComponent<T = any> implements OnInit, OnDestroy, Af
73
77
  * - `horizontal`: Events displayed left-to-right
74
78
  * @default 'vertical'
75
79
  */
76
- orientation: TimelineOrientation;
80
+ get orientation(): TimelineOrientation;
81
+ set orientation(value: TimelineOrientation);
82
+ private _orientation;
77
83
  /**
78
84
  * Layout mode for vertical timeline.
79
85
  * - `single`: All cards on one side
80
86
  * - `alternating`: Cards alternate sides
81
87
  * @default 'single'
82
88
  */
83
- layout: TimelineLayout;
89
+ get layout(): TimelineLayout;
90
+ set layout(value: TimelineLayout);
91
+ private _layout;
84
92
  /**
85
93
  * Sort order for events.
86
94
  * - `desc`: Newest first
87
95
  * - `asc`: Oldest first
88
96
  * @default 'desc'
89
97
  */
90
- sortOrder: TimelineSortOrder;
98
+ get sortOrder(): TimelineSortOrder;
99
+ set sortOrder(value: TimelineSortOrder);
100
+ private _sortOrder;
91
101
  /**
92
102
  * How to group events into time segments.
93
103
  * @default 'month'
94
104
  */
95
- segmentGrouping: TimeSegmentGrouping;
105
+ get segmentGrouping(): TimeSegmentGrouping;
106
+ set segmentGrouping(value: TimeSegmentGrouping);
107
+ private _segmentGrouping;
96
108
  /**
97
109
  * Default card configuration applied to all groups.
98
110
  * Individual groups can override these settings.
@@ -137,6 +149,13 @@ export declare class TimelineComponent<T = any> implements OnInit, OnDestroy, Af
137
149
  * @default true
138
150
  */
139
151
  enableKeyboardNavigation: boolean;
152
+ /**
153
+ * ID of the currently selected event.
154
+ * When set, the corresponding event will be highlighted with the focused style.
155
+ */
156
+ get selectedEventId(): string | null;
157
+ set selectedEventId(value: string | null);
158
+ private _selectedEventId;
140
159
  /** Emitted before an event card is clicked. Set `cancel = true` to prevent. */
141
160
  beforeEventClick: EventEmitter<BeforeEventClickArgs<T>>;
142
161
  /** Emitted before an event card expands. Set `cancel = true` to prevent. */
@@ -221,7 +240,7 @@ export declare class TimelineComponent<T = any> implements OnInit, OnDestroy, Af
221
240
  * Refreshes all data from the configured groups.
222
241
  * Clears existing data and reloads from sources.
223
242
  */
224
- refresh(): Promise<void>;
243
+ refresh(force?: boolean): Promise<void>;
225
244
  /**
226
245
  * Loads more events (for virtual scrolling).
227
246
  */
@@ -334,6 +353,13 @@ export declare class TimelineComponent<T = any> implements OnInit, OnDestroy, Af
334
353
  * Gets the global index of an event in the allEvents array.
335
354
  */
336
355
  getGlobalIndex(event: MJTimelineEvent<T>): number;
356
+ /**
357
+ * Checks if an event is currently selected/focused.
358
+ * An event is selected if either:
359
+ * - Its ID matches the selectedEventId input
360
+ * - Its global index matches the focusedEventIndex (keyboard navigation)
361
+ */
362
+ isEventSelected(event: MJTimelineEvent<T>, globalIndex: number): boolean;
337
363
  /**
338
364
  * Loads data from all groups.
339
365
  */
@@ -409,9 +435,10 @@ export declare class TimelineComponent<T = any> implements OnInit, OnDestroy, Af
409
435
  private mapEventConfigToCardConfig;
410
436
  /**
411
437
  * Simple date formatter (replaces Angular DatePipe for standalone use).
438
+ * Uses placeholder tokens to avoid replacement conflicts.
412
439
  */
413
440
  private formatDateInternal;
414
441
  static ɵfac: i0.ɵɵFactoryDeclaration<TimelineComponent<any>, never>;
415
- static ɵcmp: i0.ɵɵComponentDeclaration<TimelineComponent<any>, "mj-timeline", never, { "groups": { "alias": "groups"; "required": false; }; "allowLoad": { "alias": "allowLoad"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "sortOrder": { "alias": "sortOrder"; "required": false; }; "segmentGrouping": { "alias": "segmentGrouping"; "required": false; }; "defaultCardConfig": { "alias": "defaultCardConfig"; "required": false; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; }; "segmentsCollapsible": { "alias": "segmentsCollapsible"; "required": false; }; "segmentsDefaultExpanded": { "alias": "segmentsDefaultExpanded"; "required": false; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; }; "emptyIcon": { "alias": "emptyIcon"; "required": false; }; "loadingMessage": { "alias": "loadingMessage"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "enableKeyboardNavigation": { "alias": "enableKeyboardNavigation"; "required": false; }; }, { "beforeEventClick": "beforeEventClick"; "beforeEventExpand": "beforeEventExpand"; "beforeEventCollapse": "beforeEventCollapse"; "beforeEventHover": "beforeEventHover"; "beforeActionClick": "beforeActionClick"; "beforeSegmentExpand": "beforeSegmentExpand"; "beforeSegmentCollapse": "beforeSegmentCollapse"; "beforeLoad": "beforeLoad"; "afterEventClick": "afterEventClick"; "afterEventExpand": "afterEventExpand"; "afterEventCollapse": "afterEventCollapse"; "afterEventHover": "afterEventHover"; "afterActionClick": "afterActionClick"; "afterSegmentExpand": "afterSegmentExpand"; "afterSegmentCollapse": "afterSegmentCollapse"; "afterLoad": "afterLoad"; }, ["cardTemplate", "headerTemplate", "bodyTemplate", "actionsTemplate", "segmentHeaderTemplate", "emptyTemplate", "loadingTemplate"], never, false, never>;
442
+ static ɵcmp: i0.ɵɵComponentDeclaration<TimelineComponent<any>, "mj-timeline", never, { "groups": { "alias": "groups"; "required": false; }; "allowLoad": { "alias": "allowLoad"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "layout": { "alias": "layout"; "required": false; }; "sortOrder": { "alias": "sortOrder"; "required": false; }; "segmentGrouping": { "alias": "segmentGrouping"; "required": false; }; "defaultCardConfig": { "alias": "defaultCardConfig"; "required": false; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; }; "segmentsCollapsible": { "alias": "segmentsCollapsible"; "required": false; }; "segmentsDefaultExpanded": { "alias": "segmentsDefaultExpanded"; "required": false; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; }; "emptyIcon": { "alias": "emptyIcon"; "required": false; }; "loadingMessage": { "alias": "loadingMessage"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "enableKeyboardNavigation": { "alias": "enableKeyboardNavigation"; "required": false; }; "selectedEventId": { "alias": "selectedEventId"; "required": false; }; }, { "beforeEventClick": "beforeEventClick"; "beforeEventExpand": "beforeEventExpand"; "beforeEventCollapse": "beforeEventCollapse"; "beforeEventHover": "beforeEventHover"; "beforeActionClick": "beforeActionClick"; "beforeSegmentExpand": "beforeSegmentExpand"; "beforeSegmentCollapse": "beforeSegmentCollapse"; "beforeLoad": "beforeLoad"; "afterEventClick": "afterEventClick"; "afterEventExpand": "afterEventExpand"; "afterEventCollapse": "afterEventCollapse"; "afterEventHover": "afterEventHover"; "afterActionClick": "afterActionClick"; "afterSegmentExpand": "afterSegmentExpand"; "afterSegmentCollapse": "afterSegmentCollapse"; "afterLoad": "afterLoad"; }, ["cardTemplate", "headerTemplate", "bodyTemplate", "actionsTemplate", "segmentHeaderTemplate", "emptyTemplate", "loadingTemplate"], never, false, never>;
416
443
  }
417
444
  //# sourceMappingURL=timeline.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"timeline.component.d.ts","sourceRoot":"","sources":["../../../src/lib/component/timeline.component.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAIL,YAAY,EACZ,MAAM,EACN,SAAS,EACT,aAAa,EACb,UAAU,EAGV,WAAW,EACX,iBAAiB,EAEjB,MAAM,EACP,MAAM,eAAe,CAAC;AAKvB,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAElB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,cAAc,EACd,oBAAoB,EAIrB,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,aAAa,EAAiB,MAAM,mBAAmB,CAAC;AAEjE,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EACvB,sBAAsB,EACtB,yBAAyB,EACzB,wBAAwB,EACxB,cAAc,EACd,aAAa,EACd,MAAM,WAAW,CAAC;;AA+BnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAMa,iBAAiB,CAAC,CAAC,GAAG,GAAG,CAAE,YAAW,MAAM,EAAE,SAAS,EAAE,aAAa;IA8Q/E,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,MAAM;IA3QhB;;;OAGG;IACH,IACI,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAE/B;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,EAKnC;IACD,OAAO,CAAC,OAAO,CAA0B;IAEzC;;;;OAIG;IACH,IACI,SAAS,IAAI,OAAO,CAEvB;IACD,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,EAM3B;IACD,OAAO,CAAC,UAAU,CAAQ;IAM1B;;;;;OAKG;IACM,WAAW,EAAE,mBAAmB,CAAc;IAEvD;;;;;OAKG;IACM,MAAM,EAAE,cAAc,CAAY;IAE3C;;;;;OAKG;IACM,SAAS,EAAE,iBAAiB,CAAU;IAE/C;;;OAGG;IACM,eAAe,EAAE,mBAAmB,CAAW;IAMxD;;;OAGG;IACM,iBAAiB,EAAE,kBAAkB,CAA8B;IAM5E;;OAEG;IACM,aAAa,EAAE,mBAAmB,CAAwC;IAMnF;;;OAGG;IACM,mBAAmB,UAAQ;IAEpC;;;OAGG;IACM,uBAAuB,UAAQ;IAMxC;;;OAGG;IACM,YAAY,SAA0B;IAE/C;;;OAGG;IACM,SAAS,SAAkC;IAEpD;;;OAGG;IACM,cAAc,SAAyB;IAMhD;;;OAGG;IACM,SAAS,SAAc;IAEhC;;;OAGG;IACM,wBAAwB,UAAQ;IAMzC,+EAA+E;IACrE,gBAAgB,wCAA+C;IAEzE,4EAA4E;IAClE,iBAAiB,yCAAgD;IAE3E,8EAA8E;IACpE,mBAAmB,2CAAkD;IAE/E,0EAA0E;IAChE,gBAAgB,wCAA+C;IAEzE,kFAAkF;IACxE,iBAAiB,yCAAgD;IAE3E,6EAA6E;IACnE,mBAAmB,wCAA+C;IAE5E,+EAA+E;IACrE,qBAAqB,0CAAiD;IAEhF,0EAA0E;IAChE,UAAU,+BAAsC;IAM1D,8CAA8C;IACpC,eAAe,uCAA8C;IAEvE,2CAA2C;IACjC,gBAAgB,wCAA+C;IAEzE,6CAA6C;IACnC,kBAAkB,0CAAiD;IAE7E,yCAAyC;IAC/B,eAAe,uCAA8C;IAEvE,iDAAiD;IACvC,gBAAgB,wCAA+C;IAEzE,4CAA4C;IAClC,kBAAkB,uCAA8C;IAE1E,8CAA8C;IACpC,oBAAoB,yCAAgD;IAE9E,4CAA4C;IAClC,SAAS,8BAAqC;IAMxD,iEAAiE;IACnC,YAAY,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;QAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC,CAAC;IAEjH,0DAA0D;IAC1B,cAAc,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC,CAAC;IAE5F,wDAAwD;IAC1B,YAAY,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,CAAA;KAAE,CAAC,CAAC;IAExF,oEAAoE;IACnC,eAAe,CAAC,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,EAAE,cAAc,EAAE,CAAA;KAAE,CAAC,CAAC;IAEzH,+DAA+D;IACxB,qBAAqB,CAAC,EAAE,WAAW,CAAC;QAAE,OAAO,EAAE,eAAe,CAAA;KAAE,CAAC,CAAC;IAEzG,uCAAuC;IACR,aAAa,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAEjE,yCAAyC;IACR,eAAe,CAAC,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;IAMvC,eAAe,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAMxE,yCAAyC;IACzC,QAAQ,EAAE,eAAe,EAAE,CAAM;IAEjC,wDAAwD;IACxD,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,CAAM;IAErC,4BAA4B;IAC5B,WAAW,EAAE,kBAAkB,CAAuC;IAEtE,wCAAwC;IACxC,aAAa,UAAS;IAEtB,sCAAsC;IACtC,SAAS,UAAS;IAElB,kEAAkE;IAClE,iBAAiB,SAAM;IAMvB,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,qBAAqB,CAAC,CAAuB;gBAO3C,GAAG,EAAE,iBAAiB,EACtB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM;IAOxB,QAAQ,IAAI,IAAI;IAYhB,eAAe,IAAI,IAAI;IASvB,WAAW,IAAI,IAAI;IAanB;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IA4D9B;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAoD/B;;OAEG;IACH,eAAe,IAAI,IAAI;IASvB;;OAEG;IACH,iBAAiB,IAAI,IAAI;IASzB;;OAEG;IACH,iBAAiB,IAAI,IAAI;IASzB;;OAEG;IACH,mBAAmB,IAAI,IAAI;IAS3B;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQlC;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQpC;;OAEG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,cAAyB,GAAG,IAAI;IAOzE;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,GAAE,cAAyB,GAAG,IAAI;IAgBnE;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,SAAS;IAIzD;;OAEG;IACH,YAAY,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE;IAQpC;;OAEG;IACH,YAAY,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,IAAI;IAkC7E;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,IAAI;IAK/E;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,IAAI;IA0BlF;;OAEG;IACH,iBAAiB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,IAAI;IA0BlF;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,IAAI;IAgCtG;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAY9C;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAI5B;;OAEG;IACH,SAAS,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;IA6CrC;;OAEG;IACH,sBAAsB,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,kBAAkB;IASrE;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,MAAM;IAa3C;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,MAAM;IAa1C;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,cAAc,EAAE;IASvD;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM;IAK/C;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,oBAAoB,GAAG,MAAM;IAkB7E;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,MAAM;IAIjE;;OAEG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,MAAM;IAIrE;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,MAAM;IAQjD;;OAEG;YACW,aAAa;IAc3B;;OAEG;YACW,SAAS;IAgBvB;;OAEG;YACW,cAAc;IAuB5B;;OAEG;YACW,aAAa;IAK3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAiB3B;;OAEG;IACH,OAAO,CAAC,UAAU;IAWlB;;OAEG;IACH,OAAO,CAAC,aAAa;IAmCrB;;OAEG;IACH,OAAO,CAAC,cAAc;IA2DtB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6B3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA6B7B;;OAEG;IACH,OAAO,CAAC,aAAa;IA6BrB;;OAEG;IACH,OAAO,CAAC,eAAe;IA6BvB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAQ1B,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,oBAAoB;IAY5B,OAAO,CAAC,yBAAyB;IA0BjC,OAAO,CAAC,aAAa;IAkBrB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAQlC;;OAEG;IACH,OAAO,CAAC,kBAAkB;yCAj0Cf,iBAAiB;2CAAjB,iBAAiB;CAy1C7B"}
1
+ {"version":3,"file":"timeline.component.d.ts","sourceRoot":"","sources":["../../../src/lib/component/timeline.component.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@
11
11
  *
12
12
  * @module @memberjunction/ng-timeline
13
13
  */
14
- import { Component, Input, Output, EventEmitter, ViewChild, ContentChild, ChangeDetectionStrategy } from '@angular/core';
14
+ import { Component, Input, Output, EventEmitter, ViewChild, ContentChild, ChangeDetectionStrategy, ViewEncapsulation } from '@angular/core';
15
15
  import { Subject } from 'rxjs';
16
16
  import { takeUntil, debounceTime } from 'rxjs/operators';
17
17
  import { DEFAULT_CARD_CONFIG, DEFAULT_VIRTUAL_SCROLL_CONFIG, DEFAULT_VIRTUAL_SCROLL_STATE } from '../types';
@@ -379,7 +379,7 @@ function TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_0_ng_co
379
379
  i0.ɵɵelement(0, "i", 72);
380
380
  } if (rf & 2) {
381
381
  const field_r24 = i0.ɵɵnextContext().$implicit;
382
- i0.ɵɵclassMap(field_r24.icon);
382
+ i0.ɵɵproperty("ngClass", field_r24.icon);
383
383
  } }
384
384
  function TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_0_ng_container_1_span_3_Template(rf, ctx) { if (rf & 1) {
385
385
  i0.ɵɵelementStart(0, "span", 73);
@@ -393,7 +393,7 @@ function TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_0_ng_co
393
393
  function TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_0_ng_container_1_Template(rf, ctx) { if (rf & 1) {
394
394
  i0.ɵɵelementContainerStart(0);
395
395
  i0.ɵɵelementStart(1, "div", 68);
396
- i0.ɵɵtemplate(2, TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_0_ng_container_1_i_2_Template, 1, 2, "i", 69)(3, TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_0_ng_container_1_span_3_Template, 2, 1, "span", 70);
396
+ i0.ɵɵtemplate(2, TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_0_ng_container_1_i_2_Template, 1, 1, "i", 69)(3, TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_0_ng_container_1_span_3_Template, 2, 1, "span", 70);
397
397
  i0.ɵɵelementStart(4, "span", 71);
398
398
  i0.ɵɵtext(5);
399
399
  i0.ɵɵelementEnd()();
@@ -403,7 +403,7 @@ function TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_0_ng_co
403
403
  const event_r17 = i0.ɵɵnextContext(4).event;
404
404
  const ctx_r1 = i0.ɵɵnextContext();
405
405
  i0.ɵɵadvance();
406
- i0.ɵɵclassMap(field_r24.cssClass);
406
+ i0.ɵɵproperty("ngClass", field_r24.cssClass);
407
407
  i0.ɵɵadvance();
408
408
  i0.ɵɵproperty("ngIf", field_r24.icon);
409
409
  i0.ɵɵadvance();
@@ -413,7 +413,7 @@ function TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_0_ng_co
413
413
  } }
414
414
  function TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_0_Template(rf, ctx) { if (rf & 1) {
415
415
  i0.ɵɵelementStart(0, "div", 66);
416
- i0.ɵɵtemplate(1, TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_0_ng_container_1_Template, 6, 5, "ng-container", 67);
416
+ i0.ɵɵtemplate(1, TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_0_ng_container_1_Template, 6, 4, "ng-container", 67);
417
417
  i0.ɵɵelementEnd();
418
418
  } if (rf & 2) {
419
419
  const event_r17 = i0.ɵɵnextContext(3).event;
@@ -454,7 +454,7 @@ function TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_2_ng_co
454
454
  i0.ɵɵelement(0, "i", 72);
455
455
  } if (rf & 2) {
456
456
  const field_r26 = i0.ɵɵnextContext().$implicit;
457
- i0.ɵɵclassMap(field_r26.icon);
457
+ i0.ɵɵproperty("ngClass", field_r26.icon);
458
458
  } }
459
459
  function TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_2_ng_container_1_span_3_Template(rf, ctx) { if (rf & 1) {
460
460
  i0.ɵɵelementStart(0, "span", 73);
@@ -468,7 +468,7 @@ function TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_2_ng_co
468
468
  function TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_2_ng_container_1_Template(rf, ctx) { if (rf & 1) {
469
469
  i0.ɵɵelementContainerStart(0);
470
470
  i0.ɵɵelementStart(1, "div", 68);
471
- i0.ɵɵtemplate(2, TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_2_ng_container_1_i_2_Template, 1, 2, "i", 69)(3, TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_2_ng_container_1_span_3_Template, 2, 1, "span", 70);
471
+ i0.ɵɵtemplate(2, TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_2_ng_container_1_i_2_Template, 1, 1, "i", 69)(3, TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_2_ng_container_1_span_3_Template, 2, 1, "span", 70);
472
472
  i0.ɵɵelementStart(4, "span", 71);
473
473
  i0.ɵɵtext(5);
474
474
  i0.ɵɵelementEnd()();
@@ -478,7 +478,7 @@ function TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_2_ng_co
478
478
  const event_r17 = i0.ɵɵnextContext(4).event;
479
479
  const ctx_r1 = i0.ɵɵnextContext();
480
480
  i0.ɵɵadvance();
481
- i0.ɵɵclassMap(field_r26.cssClass);
481
+ i0.ɵɵproperty("ngClass", field_r26.cssClass);
482
482
  i0.ɵɵadvance();
483
483
  i0.ɵɵproperty("ngIf", field_r26.icon);
484
484
  i0.ɵɵadvance();
@@ -488,7 +488,7 @@ function TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_2_ng_co
488
488
  } }
489
489
  function TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_2_Template(rf, ctx) { if (rf & 1) {
490
490
  i0.ɵɵelementStart(0, "div", 76);
491
- i0.ɵɵtemplate(1, TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_2_ng_container_1_Template, 6, 5, "ng-container", 67);
491
+ i0.ɵɵtemplate(1, TimelineComponent_ng_template_7_ng_template_7_ng_template_9_div_2_ng_container_1_Template, 6, 4, "ng-container", 67);
492
492
  i0.ɵɵelementEnd();
493
493
  } if (rf & 2) {
494
494
  const event_r17 = i0.ɵɵnextContext(3).event;
@@ -523,31 +523,30 @@ function TimelineComponent_ng_template_7_ng_template_7_div_11_ng_container_1_Tem
523
523
  i0.ɵɵproperty("ngTemplateOutlet", ctx_r1.actionsTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(2, _c12, event_r17, ctx_r1.getActions(event_r17)));
524
524
  } }
525
525
  function TimelineComponent_ng_template_7_ng_template_7_div_11_ng_template_2_button_0_i_1_Template(rf, ctx) { if (rf & 1) {
526
- i0.ɵɵelement(0, "i");
526
+ i0.ɵɵelement(0, "i", 81);
527
527
  } if (rf & 2) {
528
528
  const action_r28 = i0.ɵɵnextContext().$implicit;
529
- i0.ɵɵclassMap(action_r28.icon);
529
+ i0.ɵɵproperty("ngClass", action_r28.icon);
530
530
  } }
531
531
  function TimelineComponent_ng_template_7_ng_template_7_div_11_ng_template_2_button_0_Template(rf, ctx) { if (rf & 1) {
532
532
  const _r27 = i0.ɵɵgetCurrentView();
533
533
  i0.ɵɵelementStart(0, "button", 79);
534
534
  i0.ɵɵlistener("click", function TimelineComponent_ng_template_7_ng_template_7_div_11_ng_template_2_button_0_Template_button_click_0_listener($event) { const action_r28 = i0.ɵɵrestoreView(_r27).$implicit; const ctx_r22 = i0.ɵɵnextContext(4); const event_r17 = ctx_r22.event; const globalIndex_r19 = ctx_r22.globalIndex; const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onActionClick(event_r17, action_r28, globalIndex_r19, $event)); });
535
- i0.ɵɵtemplate(1, TimelineComponent_ng_template_7_ng_template_7_div_11_ng_template_2_button_0_i_1_Template, 1, 2, "i", 80);
535
+ i0.ɵɵtemplate(1, TimelineComponent_ng_template_7_ng_template_7_div_11_ng_template_2_button_0_i_1_Template, 1, 1, "i", 80);
536
536
  i0.ɵɵelementStart(2, "span");
537
537
  i0.ɵɵtext(3);
538
538
  i0.ɵɵelementEnd()();
539
539
  } if (rf & 2) {
540
540
  const action_r28 = ctx.$implicit;
541
- i0.ɵɵclassMap(action_r28.cssClass);
542
541
  i0.ɵɵclassProp("mj-timeline__action--primary", action_r28.variant === "primary")("mj-timeline__action--secondary", action_r28.variant === "secondary" || !action_r28.variant)("mj-timeline__action--danger", action_r28.variant === "danger")("mj-timeline__action--link", action_r28.variant === "link");
543
- i0.ɵɵproperty("disabled", action_r28.disabled)("title", action_r28.tooltip || "");
542
+ i0.ɵɵproperty("ngClass", action_r28.cssClass)("disabled", action_r28.disabled)("title", action_r28.tooltip || "");
544
543
  i0.ɵɵadvance();
545
544
  i0.ɵɵproperty("ngIf", action_r28.icon);
546
545
  i0.ɵɵadvance(2);
547
546
  i0.ɵɵtextInterpolate(action_r28.label);
548
547
  } }
549
548
  function TimelineComponent_ng_template_7_ng_template_7_div_11_ng_template_2_Template(rf, ctx) { if (rf & 1) {
550
- i0.ɵɵtemplate(0, TimelineComponent_ng_template_7_ng_template_7_div_11_ng_template_2_button_0_Template, 4, 14, "button", 78);
549
+ i0.ɵɵtemplate(0, TimelineComponent_ng_template_7_ng_template_7_div_11_ng_template_2_button_0_Template, 4, 13, "button", 78);
551
550
  } if (rf & 2) {
552
551
  const event_r17 = i0.ɵɵnextContext(3).event;
553
552
  const ctx_r1 = i0.ɵɵnextContext();
@@ -611,7 +610,7 @@ function TimelineComponent_ng_template_7_Template(rf, ctx) { if (rf & 1) {
611
610
  const globalIndex_r19 = ctx.globalIndex;
612
611
  const defaultCard_r33 = i0.ɵɵreference(8);
613
612
  const ctx_r1 = i0.ɵɵnextContext();
614
- i0.ɵɵclassProp("mj-timeline__event--odd", isOdd_r32 && ctx_r1.layout === "alternating")("mj-timeline__event--even", !isOdd_r32 && ctx_r1.layout === "alternating")("mj-timeline__event--expanded", event_r17.isExpanded)("mj-timeline__event--focused", ctx_r1.focusedEventIndex === globalIndex_r19);
613
+ i0.ɵɵclassProp("mj-timeline__event--odd", isOdd_r32 && ctx_r1.layout === "alternating")("mj-timeline__event--even", !isOdd_r32 && ctx_r1.layout === "alternating")("mj-timeline__event--expanded", event_r17.isExpanded)("mj-timeline__event--focused", ctx_r1.isEventSelected(event_r17, globalIndex_r19));
615
614
  i0.ɵɵattribute("data-event-id", event_r17.id)("aria-expanded", event_r17.isExpanded);
616
615
  i0.ɵɵadvance();
617
616
  i0.ɵɵstyleProp("background-color", ctx_r1.getColor(event_r17));
@@ -622,8 +621,8 @@ function TimelineComponent_ng_template_7_Template(rf, ctx) { if (rf & 1) {
622
621
  i0.ɵɵadvance();
623
622
  i0.ɵɵproperty("ngIf", ctx_r1.layout === "alternating");
624
623
  i0.ɵɵadvance();
625
- i0.ɵɵclassMap(ctx_r1.getEffectiveCardConfig(event_r17).cssClass);
626
624
  i0.ɵɵstyleProp("max-width", ctx_r1.getEffectiveCardConfig(event_r17).maxWidth)("min-width", ctx_r1.getEffectiveCardConfig(event_r17).minWidth)("border-left-color", ctx_r1.getColor(event_r17));
625
+ i0.ɵɵproperty("ngClass", ctx_r1.getEffectiveCardConfig(event_r17).cssClass);
627
626
  i0.ɵɵadvance();
628
627
  i0.ɵɵproperty("ngIf", ctx_r1.cardTemplate)("ngIfElse", defaultCard_r33);
629
628
  } }
@@ -699,12 +698,40 @@ export class TimelineComponent {
699
698
  return this._groups;
700
699
  }
701
700
  set groups(value) {
701
+ const prevGroups = this._groups;
702
702
  this._groups = value || [];
703
- if (this._initialized && this.allowLoad) {
704
- this.refresh();
703
+ const hasGroups = this._groups.length > 0;
704
+ // Check if groups actually changed (different date field, label, or data)
705
+ const groupsChanged = this.didGroupsChange(prevGroups, this._groups);
706
+ if (this.allowLoad && hasGroups) {
707
+ if (!this._hasLoaded) {
708
+ // First load
709
+ this.refresh();
710
+ }
711
+ else if (groupsChanged) {
712
+ // Groups changed after initial load - force refresh
713
+ this.refresh(true);
714
+ }
705
715
  }
706
716
  }
707
717
  _groups = [];
718
+ /**
719
+ * Check if timeline groups have meaningfully changed
720
+ */
721
+ didGroupsChange(prev, next) {
722
+ if (prev.length !== next.length)
723
+ return true;
724
+ for (let i = 0; i < prev.length; i++) {
725
+ const p = prev[i];
726
+ const n = next[i];
727
+ if (p.DateFieldName !== n.DateFieldName ||
728
+ p.GroupLabel !== n.GroupLabel ||
729
+ p.EntityObjects !== n.EntityObjects) {
730
+ return true;
731
+ }
732
+ }
733
+ return false;
734
+ }
708
735
  /**
709
736
  * Controls whether data loading is allowed.
710
737
  * Set to false to defer loading until ready.
@@ -716,13 +743,14 @@ export class TimelineComponent {
716
743
  set allowLoad(value) {
717
744
  const wasDisabled = !this._allowLoad;
718
745
  this._allowLoad = value;
719
- if (value && wasDisabled && this._initialized && !this._hasLoaded) {
720
- this.refresh();
746
+ // When allowLoad becomes true and we have groups, trigger refresh
747
+ if (value && wasDisabled && this._groups.length > 0) {
748
+ this.refresh(this._hasLoaded);
721
749
  }
722
750
  }
723
751
  _allowLoad = true;
724
752
  // ============================================================================
725
- // INPUTS - LAYOUT
753
+ // INPUTS - LAYOUT (using setters for reactive updates)
726
754
  // ============================================================================
727
755
  /**
728
756
  * Timeline orientation.
@@ -730,26 +758,70 @@ export class TimelineComponent {
730
758
  * - `horizontal`: Events displayed left-to-right
731
759
  * @default 'vertical'
732
760
  */
733
- orientation = 'vertical';
761
+ get orientation() {
762
+ return this._orientation;
763
+ }
764
+ set orientation(value) {
765
+ if (this._orientation !== value) {
766
+ this._orientation = value;
767
+ this.cdr.markForCheck();
768
+ }
769
+ }
770
+ _orientation = 'vertical';
734
771
  /**
735
772
  * Layout mode for vertical timeline.
736
773
  * - `single`: All cards on one side
737
774
  * - `alternating`: Cards alternate sides
738
775
  * @default 'single'
739
776
  */
740
- layout = 'single';
777
+ get layout() {
778
+ return this._layout;
779
+ }
780
+ set layout(value) {
781
+ if (this._layout !== value) {
782
+ this._layout = value;
783
+ this.cdr.markForCheck();
784
+ }
785
+ }
786
+ _layout = 'single';
741
787
  /**
742
788
  * Sort order for events.
743
789
  * - `desc`: Newest first
744
790
  * - `asc`: Oldest first
745
791
  * @default 'desc'
746
792
  */
747
- sortOrder = 'desc';
793
+ get sortOrder() {
794
+ return this._sortOrder;
795
+ }
796
+ set sortOrder(value) {
797
+ if (this._sortOrder !== value) {
798
+ this._sortOrder = value;
799
+ // Re-process events when sort order changes - force refresh since data already loaded
800
+ if (this._initialized) {
801
+ this.refresh(true);
802
+ }
803
+ this.cdr.markForCheck();
804
+ }
805
+ }
806
+ _sortOrder = 'desc';
748
807
  /**
749
808
  * How to group events into time segments.
750
809
  * @default 'month'
751
810
  */
752
- segmentGrouping = 'month';
811
+ get segmentGrouping() {
812
+ return this._segmentGrouping;
813
+ }
814
+ set segmentGrouping(value) {
815
+ if (this._segmentGrouping !== value) {
816
+ this._segmentGrouping = value;
817
+ // Re-segment events when grouping changes - force refresh since data already loaded
818
+ if (this._initialized) {
819
+ this.refresh(true);
820
+ }
821
+ this.cdr.markForCheck();
822
+ }
823
+ }
824
+ _segmentGrouping = 'month';
753
825
  // ============================================================================
754
826
  // INPUTS - CARD DEFAULTS
755
827
  // ============================================================================
@@ -809,6 +881,21 @@ export class TimelineComponent {
809
881
  * @default true
810
882
  */
811
883
  enableKeyboardNavigation = true;
884
+ /**
885
+ * ID of the currently selected event.
886
+ * When set, the corresponding event will be highlighted with the focused style.
887
+ */
888
+ get selectedEventId() {
889
+ return this._selectedEventId;
890
+ }
891
+ set selectedEventId(value) {
892
+ const changed = this._selectedEventId !== value;
893
+ this._selectedEventId = value;
894
+ if (changed) {
895
+ this.cdr.markForCheck();
896
+ }
897
+ }
898
+ _selectedEventId = null;
812
899
  // ============================================================================
813
900
  // OUTPUTS - BEFORE EVENTS (with cancel support)
814
901
  // ============================================================================
@@ -930,7 +1017,11 @@ export class TimelineComponent {
930
1017
  * Refreshes all data from the configured groups.
931
1018
  * Clears existing data and reloads from sources.
932
1019
  */
933
- async refresh() {
1020
+ async refresh(force = false) {
1021
+ // Prevent concurrent refresh calls - if already refreshing, exit immediately
1022
+ if (this.isLoading || (this._hasLoaded && !force)) {
1023
+ return;
1024
+ }
934
1025
  const startTime = Date.now();
935
1026
  // Emit before event
936
1027
  const beforeArgs = {
@@ -1399,6 +1490,20 @@ export class TimelineComponent {
1399
1490
  getGlobalIndex(event) {
1400
1491
  return this.allEvents.indexOf(event);
1401
1492
  }
1493
+ /**
1494
+ * Checks if an event is currently selected/focused.
1495
+ * An event is selected if either:
1496
+ * - Its ID matches the selectedEventId input
1497
+ * - Its global index matches the focusedEventIndex (keyboard navigation)
1498
+ */
1499
+ isEventSelected(event, globalIndex) {
1500
+ // Check selectedEventId from parent first (takes priority)
1501
+ if (this.selectedEventId && event.id === this.selectedEventId) {
1502
+ return true;
1503
+ }
1504
+ // Fall back to keyboard navigation focus
1505
+ return this.focusedEventIndex === globalIndex;
1506
+ }
1402
1507
  // ============================================================================
1403
1508
  // PRIVATE METHODS - DATA LOADING
1404
1509
  // ============================================================================
@@ -1810,6 +1915,7 @@ export class TimelineComponent {
1810
1915
  }
1811
1916
  /**
1812
1917
  * Simple date formatter (replaces Angular DatePipe for standalone use).
1918
+ * Uses placeholder tokens to avoid replacement conflicts.
1813
1919
  */
1814
1920
  formatDateInternal(date, format) {
1815
1921
  const months = ['January', 'February', 'March', 'April', 'May', 'June',
@@ -1821,17 +1927,34 @@ export class TimelineComponent {
1821
1927
  const day = date.getDate();
1822
1928
  const hours = date.getHours();
1823
1929
  const minutes = date.getMinutes();
1824
- return format
1825
- .replace('yyyy', String(year))
1826
- .replace('MMMM', months[month])
1827
- .replace('MMM', monthsShort[month])
1828
- .replace('MM', String(month + 1).padStart(2, '0'))
1829
- .replace('dd', String(day).padStart(2, '0'))
1830
- .replace('d', String(day))
1831
- .replace('HH', String(hours).padStart(2, '0'))
1832
- .replace('h', String(hours % 12 || 12))
1833
- .replace('mm', String(minutes).padStart(2, '0'))
1834
- .replace('a', hours >= 12 ? 'PM' : 'AM');
1930
+ // Use placeholder tokens to avoid conflicts (e.g., 'May' containing 'M')
1931
+ // Replace longer patterns first with placeholders, then substitute values
1932
+ let result = format;
1933
+ // Replace patterns with unique placeholders first
1934
+ result = result.replace(/yyyy/g, '{{YEAR}}');
1935
+ result = result.replace(/MMMM/g, '{{MONTH_FULL}}');
1936
+ result = result.replace(/MMM/g, '{{MONTH_SHORT}}');
1937
+ result = result.replace(/MM/g, '{{MONTH_PAD}}');
1938
+ result = result.replace(/dd/g, '{{DAY_PAD}}');
1939
+ result = result.replace(/d/g, '{{DAY}}');
1940
+ result = result.replace(/HH/g, '{{HOUR_24}}');
1941
+ result = result.replace(/hh/g, '{{HOUR_12_PAD}}');
1942
+ result = result.replace(/h/g, '{{HOUR_12}}');
1943
+ result = result.replace(/mm/g, '{{MIN}}');
1944
+ result = result.replace(/a/g, '{{AMPM}}');
1945
+ // Now substitute the actual values
1946
+ result = result.replace(/\{\{YEAR\}\}/g, String(year));
1947
+ result = result.replace(/\{\{MONTH_FULL\}\}/g, months[month]);
1948
+ result = result.replace(/\{\{MONTH_SHORT\}\}/g, monthsShort[month]);
1949
+ result = result.replace(/\{\{MONTH_PAD\}\}/g, String(month + 1).padStart(2, '0'));
1950
+ result = result.replace(/\{\{DAY_PAD\}\}/g, String(day).padStart(2, '0'));
1951
+ result = result.replace(/\{\{DAY\}\}/g, String(day));
1952
+ result = result.replace(/\{\{HOUR_24\}\}/g, String(hours).padStart(2, '0'));
1953
+ result = result.replace(/\{\{HOUR_12_PAD\}\}/g, String(hours % 12 || 12).padStart(2, '0'));
1954
+ result = result.replace(/\{\{HOUR_12\}\}/g, String(hours % 12 || 12));
1955
+ result = result.replace(/\{\{MIN\}\}/g, String(minutes).padStart(2, '0'));
1956
+ result = result.replace(/\{\{AMPM\}\}/g, hours >= 12 ? 'PM' : 'AM');
1957
+ return result;
1835
1958
  }
1836
1959
  static ɵfac = function TimelineComponent_Factory(t) { return new (t || TimelineComponent)(i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
1837
1960
  static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TimelineComponent, selectors: [["mj-timeline"]], contentQueries: function TimelineComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
@@ -1856,13 +1979,13 @@ export class TimelineComponent {
1856
1979
  } if (rf & 2) {
1857
1980
  let _t;
1858
1981
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.scrollContainer = _t.first);
1859
- } }, inputs: { groups: "groups", allowLoad: "allowLoad", orientation: "orientation", layout: "layout", sortOrder: "sortOrder", segmentGrouping: "segmentGrouping", defaultCardConfig: "defaultCardConfig", virtualScroll: "virtualScroll", segmentsCollapsible: "segmentsCollapsible", segmentsDefaultExpanded: "segmentsDefaultExpanded", emptyMessage: "emptyMessage", emptyIcon: "emptyIcon", loadingMessage: "loadingMessage", ariaLabel: "ariaLabel", enableKeyboardNavigation: "enableKeyboardNavigation" }, outputs: { beforeEventClick: "beforeEventClick", beforeEventExpand: "beforeEventExpand", beforeEventCollapse: "beforeEventCollapse", beforeEventHover: "beforeEventHover", beforeActionClick: "beforeActionClick", beforeSegmentExpand: "beforeSegmentExpand", beforeSegmentCollapse: "beforeSegmentCollapse", beforeLoad: "beforeLoad", afterEventClick: "afterEventClick", afterEventExpand: "afterEventExpand", afterEventCollapse: "afterEventCollapse", afterEventHover: "afterEventHover", afterActionClick: "afterActionClick", afterSegmentExpand: "afterSegmentExpand", afterSegmentCollapse: "afterSegmentCollapse", afterLoad: "afterLoad" }, decls: 9, vars: 14, consts: [["scrollContainer", ""], ["eventCard", ""], ["defaultLoading", ""], ["defaultEmpty", ""], ["defaultSegmentHeader", ""], ["defaultCard", ""], ["defaultHeader", ""], ["defaultBody", ""], ["plainDescription", ""], ["defaultActions", ""], ["role", "list", "tabindex", "0", 1, "mj-timeline", 3, "keydown", "scroll"], [4, "ngIf"], ["class", "mj-timeline-scroll-sentinel", 4, "ngIf"], ["class", "mj-timeline__loading-more", 4, "ngIf"], [4, "ngIf", "ngIfElse"], [4, "ngTemplateOutlet"], [1, "mj-timeline__loading"], [1, "mj-timeline__loading-spinner"], [1, "mj-timeline__loading-text"], [1, "mj-timeline__empty"], [1, "mj-timeline__empty-icon"], [1, "mj-timeline__empty-text"], ["class", "mj-timeline__segment", 3, "mj-timeline__segment--collapsed", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "mj-timeline__segment"], ["role", "button", 1, "mj-timeline__segment-header", 3, "click"], [1, "mj-timeline__segment-content", 3, "id"], [1, "mj-timeline__axis"], [4, "ngFor", "ngForOf", "ngForTrackBy"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["class", "mj-timeline__segment-toggle", 4, "ngIf"], [1, "mj-timeline__segment-label"], [1, "mj-timeline__segment-count"], [1, "mj-timeline__segment-line"], [1, "mj-timeline__segment-toggle"], [1, "mj-timeline-scroll-sentinel"], [1, "mj-timeline__loading-more"], [1, "mj-timeline__loading-spinner", "mj-timeline__loading-spinner--small"], ["role", "listitem", 1, "mj-timeline__event"], [1, "mj-timeline__marker"], [1, "mj-timeline__marker-icon"], [1, "mj-timeline__connector"], ["class", "mj-timeline__date-label", 4, "ngIf"], [1, "mj-timeline__card", 3, "click", "mouseenter", "mouseleave"], [1, "mj-timeline__date-label"], [1, "mj-timeline__card-header"], ["class", "mj-timeline__card-image mj-timeline__card-image--left", 3, "mj-timeline__card-image--small", "mj-timeline__card-image--medium", "mj-timeline__card-image--large", 4, "ngIf"], [1, "mj-timeline__card-header-content"], ["class", "mj-timeline__card-image mj-timeline__card-image--top", 4, "ngIf"], [1, "mj-timeline__card-body"], ["class", "mj-timeline__card-actions", 3, "mj-timeline__card-actions--hover-only", 4, "ngIf"], [1, "mj-timeline__card-image", "mj-timeline__card-image--left"], [3, "src", "alt"], ["class", "mj-timeline__card-icon", 3, "color", 4, "ngIf"], [1, "mj-timeline__card-titles"], [1, "mj-timeline__card-title"], ["class", "mj-timeline__card-subtitle", 4, "ngIf"], ["class", "mj-timeline__card-date", 4, "ngIf"], ["class", "mj-timeline__card-toggle", "type", "button", 3, "click", 4, "ngIf"], [1, "mj-timeline__card-icon"], [1, "mj-timeline__card-subtitle"], [1, "mj-timeline__card-date"], ["type", "button", 1, "mj-timeline__card-toggle", 3, "click"], [1, "mj-timeline__card-image", "mj-timeline__card-image--top"], ["class", "mj-timeline__card-fields mj-timeline__card-fields--summary", 4, "ngIf"], ["class", "mj-timeline__card-description", 3, "mj-timeline__card-description--clamped", "-webkit-line-clamp", 4, "ngIf"], ["class", "mj-timeline__card-fields mj-timeline__card-fields--expanded", 4, "ngIf"], [1, "mj-timeline__card-fields", "mj-timeline__card-fields--summary"], [4, "ngFor", "ngForOf"], [1, "mj-timeline__card-field"], ["class", "mj-timeline__card-field-icon", 3, "class", 4, "ngIf"], ["class", "mj-timeline__card-field-label", 4, "ngIf"], [1, "mj-timeline__card-field-value"], [1, "mj-timeline__card-field-icon"], [1, "mj-timeline__card-field-label"], [1, "mj-timeline__card-description"], [3, "innerHTML"], [1, "mj-timeline__card-fields", "mj-timeline__card-fields--expanded"], [1, "mj-timeline__card-actions"], ["class", "mj-timeline__action", "type", "button", 3, "mj-timeline__action--primary", "mj-timeline__action--secondary", "mj-timeline__action--danger", "mj-timeline__action--link", "class", "disabled", "title", "click", 4, "ngFor", "ngForOf"], ["type", "button", 1, "mj-timeline__action", 3, "click", "disabled", "title"], [3, "class", 4, "ngIf"]], template: function TimelineComponent_Template(rf, ctx) { if (rf & 1) {
1982
+ } }, inputs: { groups: "groups", allowLoad: "allowLoad", orientation: "orientation", layout: "layout", sortOrder: "sortOrder", segmentGrouping: "segmentGrouping", defaultCardConfig: "defaultCardConfig", virtualScroll: "virtualScroll", segmentsCollapsible: "segmentsCollapsible", segmentsDefaultExpanded: "segmentsDefaultExpanded", emptyMessage: "emptyMessage", emptyIcon: "emptyIcon", loadingMessage: "loadingMessage", ariaLabel: "ariaLabel", enableKeyboardNavigation: "enableKeyboardNavigation", selectedEventId: "selectedEventId" }, outputs: { beforeEventClick: "beforeEventClick", beforeEventExpand: "beforeEventExpand", beforeEventCollapse: "beforeEventCollapse", beforeEventHover: "beforeEventHover", beforeActionClick: "beforeActionClick", beforeSegmentExpand: "beforeSegmentExpand", beforeSegmentCollapse: "beforeSegmentCollapse", beforeLoad: "beforeLoad", afterEventClick: "afterEventClick", afterEventExpand: "afterEventExpand", afterEventCollapse: "afterEventCollapse", afterEventHover: "afterEventHover", afterActionClick: "afterActionClick", afterSegmentExpand: "afterSegmentExpand", afterSegmentCollapse: "afterSegmentCollapse", afterLoad: "afterLoad" }, decls: 9, vars: 14, consts: [["scrollContainer", ""], ["eventCard", ""], ["defaultLoading", ""], ["defaultEmpty", ""], ["defaultSegmentHeader", ""], ["defaultCard", ""], ["defaultHeader", ""], ["defaultBody", ""], ["plainDescription", ""], ["defaultActions", ""], ["role", "list", "tabindex", "0", 1, "mj-timeline", 3, "keydown", "scroll"], [4, "ngIf"], ["class", "mj-timeline-scroll-sentinel", 4, "ngIf"], ["class", "mj-timeline__loading-more", 4, "ngIf"], [4, "ngIf", "ngIfElse"], [4, "ngTemplateOutlet"], [1, "mj-timeline__loading"], [1, "mj-timeline__loading-spinner"], [1, "mj-timeline__loading-text"], [1, "mj-timeline__empty"], [1, "mj-timeline__empty-icon"], [1, "mj-timeline__empty-text"], ["class", "mj-timeline__segment", 3, "mj-timeline__segment--collapsed", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "mj-timeline__segment"], ["role", "button", 1, "mj-timeline__segment-header", 3, "click"], [1, "mj-timeline__segment-content", 3, "id"], [1, "mj-timeline__axis"], [4, "ngFor", "ngForOf", "ngForTrackBy"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], ["class", "mj-timeline__segment-toggle", 4, "ngIf"], [1, "mj-timeline__segment-label"], [1, "mj-timeline__segment-count"], [1, "mj-timeline__segment-line"], [1, "mj-timeline__segment-toggle"], [1, "mj-timeline-scroll-sentinel"], [1, "mj-timeline__loading-more"], [1, "mj-timeline__loading-spinner", "mj-timeline__loading-spinner--small"], ["role", "listitem", 1, "mj-timeline__event"], [1, "mj-timeline__marker"], [1, "mj-timeline__marker-icon"], [1, "mj-timeline__connector"], ["class", "mj-timeline__date-label", 4, "ngIf"], [1, "mj-timeline__card", 3, "click", "mouseenter", "mouseleave", "ngClass"], [1, "mj-timeline__date-label"], [1, "mj-timeline__card-header"], ["class", "mj-timeline__card-image mj-timeline__card-image--left", 3, "mj-timeline__card-image--small", "mj-timeline__card-image--medium", "mj-timeline__card-image--large", 4, "ngIf"], [1, "mj-timeline__card-header-content"], ["class", "mj-timeline__card-image mj-timeline__card-image--top", 4, "ngIf"], [1, "mj-timeline__card-body"], ["class", "mj-timeline__card-actions", 3, "mj-timeline__card-actions--hover-only", 4, "ngIf"], [1, "mj-timeline__card-image", "mj-timeline__card-image--left"], [3, "src", "alt"], ["class", "mj-timeline__card-icon", 3, "color", 4, "ngIf"], [1, "mj-timeline__card-titles"], [1, "mj-timeline__card-title"], ["class", "mj-timeline__card-subtitle", 4, "ngIf"], ["class", "mj-timeline__card-date", 4, "ngIf"], ["class", "mj-timeline__card-toggle", "type", "button", 3, "click", 4, "ngIf"], [1, "mj-timeline__card-icon"], [1, "mj-timeline__card-subtitle"], [1, "mj-timeline__card-date"], ["type", "button", 1, "mj-timeline__card-toggle", 3, "click"], [1, "mj-timeline__card-image", "mj-timeline__card-image--top"], ["class", "mj-timeline__card-fields mj-timeline__card-fields--summary", 4, "ngIf"], ["class", "mj-timeline__card-description", 3, "mj-timeline__card-description--clamped", "-webkit-line-clamp", 4, "ngIf"], ["class", "mj-timeline__card-fields mj-timeline__card-fields--expanded", 4, "ngIf"], [1, "mj-timeline__card-fields", "mj-timeline__card-fields--summary"], [4, "ngFor", "ngForOf"], [1, "mj-timeline__card-field", 3, "ngClass"], ["class", "mj-timeline__card-field-icon", 3, "ngClass", 4, "ngIf"], ["class", "mj-timeline__card-field-label", 4, "ngIf"], [1, "mj-timeline__card-field-value"], [1, "mj-timeline__card-field-icon", 3, "ngClass"], [1, "mj-timeline__card-field-label"], [1, "mj-timeline__card-description"], [3, "innerHTML"], [1, "mj-timeline__card-fields", "mj-timeline__card-fields--expanded"], [1, "mj-timeline__card-actions"], ["class", "mj-timeline__action", "type", "button", 3, "mj-timeline__action--primary", "mj-timeline__action--secondary", "mj-timeline__action--danger", "mj-timeline__action--link", "ngClass", "disabled", "title", "click", 4, "ngFor", "ngForOf"], ["type", "button", 1, "mj-timeline__action", 3, "click", "ngClass", "disabled", "title"], [3, "ngClass", 4, "ngIf"], [3, "ngClass"]], template: function TimelineComponent_Template(rf, ctx) { if (rf & 1) {
1860
1983
  const _r1 = i0.ɵɵgetCurrentView();
1861
1984
  i0.ɵɵelementStart(0, "div", 10, 0);
1862
1985
  i0.ɵɵlistener("keydown", function TimelineComponent_Template_div_keydown_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onKeyDown($event)); })("scroll", function TimelineComponent_Template_div_scroll_0_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onScroll($event)); });
1863
1986
  i0.ɵɵtemplate(2, TimelineComponent_ng_container_2_Template, 4, 2, "ng-container", 11)(3, TimelineComponent_ng_container_3_Template, 4, 2, "ng-container", 11)(4, TimelineComponent_ng_container_4_Template, 3, 2, "ng-container", 11)(5, TimelineComponent_div_5_Template, 1, 0, "div", 12)(6, TimelineComponent_div_6_Template, 4, 1, "div", 13);
1864
1987
  i0.ɵɵelementEnd();
1865
- i0.ɵɵtemplate(7, TimelineComponent_ng_template_7_Template, 9, 27, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
1988
+ i0.ɵɵtemplate(7, TimelineComponent_ng_template_7_Template, 9, 26, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor);
1866
1989
  } if (rf & 2) {
1867
1990
  i0.ɵɵclassProp("mj-timeline--vertical", ctx.orientation === "vertical")("mj-timeline--horizontal", ctx.orientation === "horizontal")("mj-timeline--single", ctx.layout === "single")("mj-timeline--alternating", ctx.layout === "alternating");
1868
1991
  i0.ɵɵattribute("aria-label", ctx.ariaLabel);
@@ -1876,11 +1999,11 @@ export class TimelineComponent {
1876
1999
  i0.ɵɵproperty("ngIf", ctx.virtualScroll.enabled && ctx.scrollState.hasMore);
1877
2000
  i0.ɵɵadvance();
1878
2001
  i0.ɵɵproperty("ngIf", ctx.scrollState.isLoading && ctx.virtualScroll.showLoadingIndicator);
1879
- } }, dependencies: [i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet], styles: ["\n\n\n\n\n\n\n\n\n// ============================================================================\n// CSS VARIABLES (Theming)\n// ============================================================================\n\n[_nghost-%COMP%] {\n // Colors\n --mj-timeline-bg: transparent;\n --mj-timeline-line-color: #e0e0e0;\n --mj-timeline-marker-bg: #1976d2;\n --mj-timeline-marker-border: #ffffff;\n --mj-timeline-card-bg: #ffffff;\n --mj-timeline-card-border: #e0e0e0;\n --mj-timeline-card-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n --mj-timeline-card-shadow-hover: 0 4px 16px rgba(0, 0, 0, 0.15);\n --mj-timeline-card-radius: 8px;\n --mj-timeline-text-primary: #212121;\n --mj-timeline-text-secondary: #757575;\n --mj-timeline-text-muted: #9e9e9e;\n --mj-timeline-accent: #1976d2;\n --mj-timeline-segment-bg: #f5f5f5;\n --mj-timeline-focus-ring: 0 0 0 3px rgba(25, 118, 210, 0.3);\n\n // Sizing\n --mj-timeline-line-width: 2px;\n --mj-timeline-marker-size: 14px;\n --mj-timeline-marker-icon-size: 8px;\n --mj-timeline-card-padding: 16px;\n --mj-timeline-card-max-width: 400px;\n --mj-timeline-card-min-width: 250px;\n --mj-timeline-gap: 16px;\n --mj-timeline-segment-gap: 24px;\n --mj-timeline-axis-offset: 60px;\n\n // Animation\n --mj-timeline-transition: 0.25s ease;\n\n display: block;\n width: 100%;\n}\n\n// Dark mode support\n.dark-theme[_nghost-%COMP%], .dark-theme [_nghost-%COMP%], \n[data-theme=\"dark\"][_nghost-%COMP%], [data-theme=\"dark\"] [_nghost-%COMP%] {\n --mj-timeline-line-color: #424242;\n --mj-timeline-card-bg: #1e1e1e;\n --mj-timeline-card-border: #424242;\n --mj-timeline-card-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);\n --mj-timeline-text-primary: #ffffff;\n --mj-timeline-text-secondary: #b0b0b0;\n --mj-timeline-text-muted: #757575;\n --mj-timeline-segment-bg: #2d2d2d;\n}\n\n//[_ngcontent-%COMP%] ============================================================================\n//[_ngcontent-%COMP%] MAIN[_ngcontent-%COMP%] CONTAINER\n//[_ngcontent-%COMP%] ============================================================================\n\n.mj-timeline[_ngcontent-%COMP%] {\n position: relative;\n width: 100%;\n padding: var(--mj-timeline-gap);\n background: var(--mj-timeline-bg);\n outline: none;\n\n &:focus-visible {\n box-shadow: var(--mj-timeline-focus-ring);\n border-radius: 4px;\n }\n}\n\n//[_ngcontent-%COMP%] ============================================================================\n//[_ngcontent-%COMP%] LOADING[_ngcontent-%COMP%] STATE\n//[_ngcontent-%COMP%] ============================================================================\n\n.mj-timeline__loading[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 48px 24px;\n gap: 16px;\n}\n\n.mj-timeline__loading-spinner[_ngcontent-%COMP%] {\n width: 40px;\n height: 40px;\n border: 3px solid var(--mj-timeline-line-color);\n border-top-color: var(--mj-timeline-accent);\n border-radius: 50%;\n animation: _ngcontent-%COMP%_mj-timeline-spin 0.8s linear infinite;\n\n &--small {\n width: 20px;\n height: 20px;\n border-width: 2px;\n }\n}\n\n.mj-timeline__loading-text[_ngcontent-%COMP%] {\n color: var(--mj-timeline-text-secondary);\n font-size: 14px;\n}\n\n.mj-timeline__loading-more[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px;\n gap: 8px;\n color: var(--mj-timeline-text-secondary);\n font-size: 13px;\n}\n\n@keyframes _ngcontent-%COMP%_mj-timeline-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n//[_ngcontent-%COMP%] ============================================================================\n//[_ngcontent-%COMP%] EMPTY[_ngcontent-%COMP%] STATE\n//[_ngcontent-%COMP%] ============================================================================\n\n.mj-timeline__empty[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 64px 24px;\n gap: 16px;\n text-align: center;\n}\n\n.mj-timeline__empty-icon[_ngcontent-%COMP%] {\n font-size: 48px;\n color: var(--mj-timeline-text-muted);\n}\n\n.mj-timeline__empty-text[_ngcontent-%COMP%] {\n color: var(--mj-timeline-text-secondary);\n font-size: 16px;\n}\n\n//[_ngcontent-%COMP%] ============================================================================\n//[_ngcontent-%COMP%] TIME[_ngcontent-%COMP%] SEGMENTS\n//[_ngcontent-%COMP%] ============================================================================\n\n.mj-timeline__segment[_ngcontent-%COMP%] {\n margin-bottom: var(--mj-timeline-segment-gap);\n\n &:last-child {\n margin-bottom: 0;\n }\n}\n\n.mj-timeline__segment-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 16px;\n margin-bottom: var(--mj-timeline-gap);\n background: var(--mj-timeline-segment-bg);\n border-radius: 6px;\n font-weight: 600;\n color: var(--mj-timeline-text-primary);\n user-select: none;\n\n &--clickable {\n cursor: pointer;\n transition: background-color var(--mj-timeline-transition);\n\n &:hover {\n background: darken(#f5f5f5, 5%);\n }\n\n .dark-theme-shadowcsshost-no-combinator &:hover, .dark-theme -shadowcsshost-no-combinator &:hover,\n [data-theme=\"dark\"]-shadowcsshost-no-combinator &:hover , [data-theme=\"dark\"] -shadowcsshost-no-combinator &:hover {\n background: lighten(#2d2d2d, 5%);\n }\n }\n}\n\n.mj-timeline__segment-toggle[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n color: var(--mj-timeline-text-secondary);\n font-size: 12px;\n transition: transform var(--mj-timeline-transition);\n}\n\n.mj-timeline__segment-label[_ngcontent-%COMP%] {\n font-size: 15px;\n}\n\n.mj-timeline__segment-count[_ngcontent-%COMP%] {\n color: var(--mj-timeline-text-secondary);\n font-size: 13px;\n font-weight: 400;\n}\n\n.mj-timeline__segment-line[_ngcontent-%COMP%] {\n flex: 1;\n height: 1px;\n background: var(--mj-timeline-line-color);\n margin-left: 8px;\n}\n\n.mj-timeline__segment-content[_ngcontent-%COMP%] {\n overflow: hidden;\n transition: max-height var(--mj-timeline-transition), opacity var(--mj-timeline-transition);\n\n &--hidden {\n max-height: 0;\n opacity: 0;\n pointer-events: none;\n }\n}\n\n//[_ngcontent-%COMP%] ============================================================================\n//[_ngcontent-%COMP%] TIMELINE[_ngcontent-%COMP%] AXIS\n//[_ngcontent-%COMP%] ============================================================================\n\n.mj-timeline__axis[_ngcontent-%COMP%] {\n position: relative;\n padding-left: var(--mj-timeline-axis-offset);\n\n // Vertical line\n &::before {\n content: '';\n position: absolute;\n left: calc(var(--mj-timeline-marker-size) / 2);\n top: 0;\n bottom: 0;\n width: var(--mj-timeline-line-width);\n background: var(--mj-timeline-line-color);\n }\n}\n\n//[_ngcontent-%COMP%] ============================================================================\n//[_ngcontent-%COMP%] TIMELINE[_ngcontent-%COMP%] EVENT\n//[_ngcontent-%COMP%] ============================================================================\n\n.mj-timeline__event[_ngcontent-%COMP%] {\n position: relative;\n display: flex;\n align-items: flex-start;\n margin-bottom: var(--mj-timeline-gap);\n\n &:last-child {\n margin-bottom: 0;\n }\n}\n\n//[_ngcontent-%COMP%] ============================================================================\n//[_ngcontent-%COMP%] MARKER\n//[_ngcontent-%COMP%] ============================================================================\n\n.mj-timeline__marker[_ngcontent-%COMP%] {\n position: absolute;\n left: 0;\n top: 16px;\n width: var(--mj-timeline-marker-size);\n height: var(--mj-timeline-marker-size);\n border-radius: 50%;\n background: var(--mj-timeline-marker-bg);\n border: 2px solid var(--mj-timeline-marker-border);\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1;\n}\n\n.mj-timeline__marker-icon[_ngcontent-%COMP%] {\n font-size: var(--mj-timeline-marker-icon-size);\n color: var(--mj-timeline-marker-border);\n display: none; // Hidden by default, shown in larger markers\n}\n\n.mj-timeline__connector[_ngcontent-%COMP%] {\n display: none; // Hidden by default, used in horizontal mode\n}\n\n//[_ngcontent-%COMP%] ============================================================================\n//[_ngcontent-%COMP%] DATE[_ngcontent-%COMP%] LABEL[_ngcontent-%COMP%] (Alternating[_ngcontent-%COMP%] Layout)\n//[_ngcontent-%COMP%] ============================================================================\n\n.mj-timeline__date-label[_ngcontent-%COMP%] {\n display: none; // Hidden by default\n}\n\n//[_ngcontent-%COMP%] ============================================================================\n//[_ngcontent-%COMP%] EVENT[_ngcontent-%COMP%] CARD\n//[_ngcontent-%COMP%] ============================================================================\n\n.mj-timeline__card[_ngcontent-%COMP%] {\n flex: 1;\n background: var(--mj-timeline-card-bg);\n border: 1px solid var(--mj-timeline-card-border);\n border-left-width: 4px;\n border-radius: var(--mj-timeline-card-radius);\n box-shadow: var(--mj-timeline-card-shadow);\n overflow: hidden;\n transition: box-shadow var(--mj-timeline-transition), transform var(--mj-timeline-transition);\n cursor: pointer;\n max-width: var(--mj-timeline-card-max-width);\n min-width: var(--mj-timeline-card-min-width);\n\n &:hover {\n box-shadow: var(--mj-timeline-card-shadow-hover);\n transform: translateY(-1px);\n }\n\n .mj-timeline__event--focused & {\n box-shadow: var(--mj-timeline-focus-ring), var(--mj-timeline-card-shadow);\n }\n}\n\n//[_ngcontent-%COMP%] ============================================================================\n//[_ngcontent-%COMP%] CARD[_ngcontent-%COMP%] HEADER\n//[_ngcontent-%COMP%] ============================================================================\n\n.mj-timeline__card-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n padding: var(--mj-timeline-card-padding);\n gap: 12px;\n}\n\n.mj-timeline__card-header-content[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n align-items: flex-start;\n gap: 10px;\n min-width: 0; // Enable text truncation\n}\n\n.mj-timeline__card-icon[_ngcontent-%COMP%] {\n flex-shrink: 0;\n font-size: 18px;\n line-height: 1;\n margin-top: 2px;\n}\n\n.mj-timeline__card-titles[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.mj-timeline__card-title[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-timeline-text-primary);\n line-height: 1.4;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.mj-timeline__card-subtitle[_ngcontent-%COMP%] {\n display: block;\n font-size: 13px;\n color: var(--mj-timeline-text-secondary);\n margin-top: 2px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.mj-timeline__card-date[_ngcontent-%COMP%] {\n display: block;\n font-size: 12px;\n color: var(--mj-timeline-text-muted);\n margin-top: 4px;\n}\n\n.mj-timeline__card-toggle[_ngcontent-%COMP%] {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n color: var(--mj-timeline-text-secondary);\n border-radius: 4px;\n cursor: pointer;\n transition: background-color var(--mj-timeline-transition), color var(--mj-timeline-transition);\n\n &:hover {\n background: var(--mj-timeline-segment-bg);\n color: var(--mj-timeline-text-primary);\n }\n\n &:focus-visible {\n box-shadow: var(--mj-timeline-focus-ring);\n outline: none;\n }\n}\n\n//[_ngcontent-%COMP%] ============================================================================\n//[_ngcontent-%COMP%] CARD[_ngcontent-%COMP%] IMAGE\n//[_ngcontent-%COMP%] ============================================================================\n\n.mj-timeline__card-image[_ngcontent-%COMP%] {\n overflow: hidden;\n border-radius: 4px;\n flex-shrink: 0;\n\n img {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n &--left {\n &.mj-timeline__card-image--small {\n width: 48px;\n height: 48px;\n }\n\n &.mj-timeline__card-image--medium {\n width: 80px;\n height: 80px;\n }\n\n &.mj-timeline__card-image--large {\n width: 120px;\n height: 120px;\n }\n }\n\n &--top {\n width: 100%;\n max-height: 200px;\n margin: 0 var(--mj-timeline-card-padding);\n margin-top: 0;\n border-radius: 4px;\n\n img {\n width: calc(100% - 2 * var(--mj-timeline-card-padding));\n height: auto;\n }\n }\n}\n\n//[_ngcontent-%COMP%] ============================================================================\n//[_ngcontent-%COMP%] CARD[_ngcontent-%COMP%] BODY\n//[_ngcontent-%COMP%] ============================================================================\n\n.mj-timeline__card-body[_ngcontent-%COMP%] {\n padding: 0 var(--mj-timeline-card-padding);\n padding-bottom: var(--mj-timeline-card-padding);\n\n &--collapsed {\n display: none;\n }\n}\n\n.mj-timeline__card-description[_ngcontent-%COMP%] {\n font-size: 14px;\n line-height: 1.6;\n color: var(--mj-timeline-text-secondary);\n margin-bottom: 12px;\n\n &--clamped {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n &:last-child {\n margin-bottom: 0;\n }\n}\n\n//[_ngcontent-%COMP%] ============================================================================\n//[_ngcontent-%COMP%] CARD[_ngcontent-%COMP%] FIELDS\n//[_ngcontent-%COMP%] ============================================================================\n\n.mj-timeline__card-fields[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 8px 16px;\n\n &--summary {\n padding-top: 8px;\n border-top: 1px solid var(--mj-timeline-line-color);\n margin-top: 8px;\n }\n\n &--expanded {\n margin-top: 12px;\n padding-top: 12px;\n border-top: 1px solid var(--mj-timeline-line-color);\n }\n}\n\n.mj-timeline__card-field[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n}\n\n.mj-timeline__card-field-icon[_ngcontent-%COMP%] {\n color: var(--mj-timeline-text-muted);\n font-size: 12px;\n}\n\n.mj-timeline__card-field-label[_ngcontent-%COMP%] {\n color: var(--mj-timeline-text-muted);\n}\n\n.mj-timeline__card-field-value[_ngcontent-%COMP%] {\n color: var(--mj-timeline-text-secondary);\n font-weight: 500;\n}\n\n//[_ngcontent-%COMP%] ============================================================================\n//[_ngcontent-%COMP%] CARD[_ngcontent-%COMP%] ACTIONS\n//[_ngcontent-%COMP%] ============================================================================\n\n.mj-timeline__card-actions[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n padding: var(--mj-timeline-card-padding);\n padding-top: 0;\n justify-content: flex-end;\n\n &--hover-only {\n opacity: 0;\n transition: opacity var(--mj-timeline-transition);\n\n .mj-timeline__card:hover &,\n .mj-timeline__card:focus-within & {\n opacity: 1;\n }\n }\n}\n\n.mj-timeline__action[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n font-size: 13px;\n font-weight: 500;\n border: 1px solid;\n border-radius: 4px;\n cursor: pointer;\n transition: all var(--mj-timeline-transition);\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n &:focus-visible {\n box-shadow: var(--mj-timeline-focus-ring);\n outline: none;\n }\n\n i {\n font-size: 12px;\n }\n\n // Variants\n &--primary {\n background: var(--mj-timeline-accent);\n border-color: var(--mj-timeline-accent);\n color: #ffffff;\n\n &:hover:not(:disabled) {\n background: darken(#1976d2, 8%);\n border-color: darken(#1976d2, 8%);\n }\n }\n\n &--secondary {\n background: transparent;\n border-color: var(--mj-timeline-card-border);\n color: var(--mj-timeline-text-primary);\n\n &:hover:not(:disabled) {\n background: var(--mj-timeline-segment-bg);\n }\n }\n\n &--danger {\n background: #f44336;\n border-color: #f44336;\n color: #ffffff;\n\n &:hover:not(:disabled) {\n background: darken(#f44336, 8%);\n border-color: darken(#f44336, 8%);\n }\n }\n\n &--link {\n background: transparent;\n border-color: transparent;\n color: var(--mj-timeline-accent);\n padding: 6px 8px;\n\n &:hover:not(:disabled) {\n background: rgba(25, 118, 210, 0.08);\n }\n }\n}\n\n//[_ngcontent-%COMP%] ============================================================================\n//[_ngcontent-%COMP%] VIRTUAL[_ngcontent-%COMP%] SCROLL[_ngcontent-%COMP%] SENTINEL\n//[_ngcontent-%COMP%] ============================================================================\n\n.mj-timeline-scroll-sentinel[_ngcontent-%COMP%] {\n height: 1px;\n width: 100%;\n visibility: hidden;\n}\n\n//[_ngcontent-%COMP%] ============================================================================\n//[_ngcontent-%COMP%] ALTERNATING[_ngcontent-%COMP%] LAYOUT\n//[_ngcontent-%COMP%] ============================================================================\n\n.mj-timeline--alternating[_ngcontent-%COMP%] {\n .mj-timeline__axis {\n padding-left: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n\n &::before {\n left: 50%;\n transform: translateX(-50%);\n }\n }\n\n .mj-timeline__event {\n width: 100%;\n justify-content: flex-start;\n padding-right: calc(50% + var(--mj-timeline-gap));\n\n &--odd {\n justify-content: flex-end;\n padding-right: 0;\n padding-left: calc(50% + var(--mj-timeline-gap));\n flex-direction: row-reverse;\n }\n }\n\n .mj-timeline__marker {\n left: 50%;\n transform: translateX(-50%);\n }\n\n .mj-timeline__date-label {\n display: block;\n position: absolute;\n top: 12px;\n font-size: 12px;\n font-weight: 500;\n color: var(--mj-timeline-accent);\n white-space: nowrap;\n\n .mj-timeline__event:not(.mj-timeline__event--odd) & {\n right: calc(50% + var(--mj-timeline-gap) + var(--mj-timeline-marker-size));\n text-align: right;\n }\n\n .mj-timeline__event--odd & {\n left: calc(50% + var(--mj-timeline-gap) + var(--mj-timeline-marker-size));\n text-align: left;\n }\n }\n\n .mj-timeline__card {\n max-width: calc(50% - var(--mj-timeline-gap) - var(--mj-timeline-marker-size));\n }\n}\n\n//[_ngcontent-%COMP%] ============================================================================\n//[_ngcontent-%COMP%] HORIZONTAL[_ngcontent-%COMP%] LAYOUT\n//[_ngcontent-%COMP%] ============================================================================\n\n.mj-timeline--horizontal[_ngcontent-%COMP%] {\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n\n .mj-timeline__axis {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding-left: 0;\n padding-top: var(--mj-timeline-gap);\n min-width: max-content;\n\n &::before {\n left: 0;\n right: 0;\n top: calc(var(--mj-timeline-marker-size) / 2 + var(--mj-timeline-gap));\n bottom: auto;\n width: auto;\n height: var(--mj-timeline-line-width);\n }\n }\n\n .mj-timeline__segment-content {\n .mj-timeline__axis {\n flex-direction: row;\n }\n }\n\n .mj-timeline__event {\n flex-direction: column;\n align-items: center;\n margin-bottom: 0;\n margin-right: var(--mj-timeline-gap);\n min-width: 280px;\n max-width: 320px;\n\n &:last-child {\n margin-right: 0;\n }\n }\n\n .mj-timeline__marker {\n position: relative;\n left: auto;\n top: auto;\n margin-bottom: var(--mj-timeline-gap);\n }\n\n .mj-timeline__card {\n max-width: none;\n width: 100%;\n }\n\n .mj-timeline__date-label {\n display: block;\n margin-bottom: 8px;\n font-size: 12px;\n font-weight: 500;\n color: var(--mj-timeline-accent);\n }\n}\n\n//[_ngcontent-%COMP%] ============================================================================\n//[_ngcontent-%COMP%] RESPONSIVE[_ngcontent-%COMP%] STYLES\n//[_ngcontent-%COMP%] ============================================================================\n\n//[_ngcontent-%COMP%] Tablet\n@media[_ngcontent-%COMP%] (max-width[_ngcontent-%COMP%]: 1024px)[_ngcontent-%COMP%] {\n -shadowcsshost-no-combinator {\n --mj-timeline-card-max-width: 350px;\n --mj-timeline-axis-offset: 50px;\n }\n\n // Force single layout on tablet\n .mj-timeline--alternating {\n .mj-timeline__axis {\n align-items: flex-start;\n padding-left: var(--mj-timeline-axis-offset);\n\n &::before {\n left: calc(var(--mj-timeline-marker-size) / 2);\n transform: none;\n }\n }\n\n .mj-timeline__event {\n padding-right: 0;\n padding-left: 0;\n justify-content: flex-start;\n flex-direction: row;\n\n &--odd {\n padding-left: 0;\n justify-content: flex-start;\n flex-direction: row;\n }\n }\n\n .mj-timeline__marker {\n left: 0;\n transform: none;\n }\n\n .mj-timeline__date-label {\n display: none;\n }\n\n .mj-timeline__card {\n max-width: var(--mj-timeline-card-max-width);\n }\n }\n}\n\n//[_ngcontent-%COMP%] Mobile\n@media[_ngcontent-%COMP%] (max-width[_ngcontent-%COMP%]: 767px)[_ngcontent-%COMP%] {\n -shadowcsshost-no-combinator {\n --mj-timeline-card-max-width: 100%;\n --mj-timeline-card-min-width: 0;\n --mj-timeline-axis-offset: 40px;\n --mj-timeline-marker-size: 12px;\n --mj-timeline-card-padding: 12px;\n --mj-timeline-gap: 12px;\n }\n\n .mj-timeline {\n padding: var(--mj-timeline-gap);\n }\n\n .mj-timeline__segment-header {\n padding: 10px 12px;\n font-size: 14px;\n }\n\n .mj-timeline__segment-line {\n display: none;\n }\n\n .mj-timeline__card {\n max-width: none;\n min-width: 0;\n }\n\n .mj-timeline__card-title {\n font-size: 14px;\n white-space: normal;\n }\n\n .mj-timeline__card-actions {\n flex-direction: column;\n\n .mj-timeline__action {\n width: 100%;\n justify-content: center;\n }\n }\n\n // Horizontal mode on mobile\n .mj-timeline--horizontal {\n .mj-timeline__event {\n min-width: 240px;\n max-width: 280px;\n }\n }\n}\n\n//[_ngcontent-%COMP%] Touch[_ngcontent-%COMP%] device[_ngcontent-%COMP%] optimizations\n@media[_ngcontent-%COMP%] (hover[_ngcontent-%COMP%]: none)[_ngcontent-%COMP%] and[_ngcontent-%COMP%] (pointer[_ngcontent-%COMP%]: coarse)[_ngcontent-%COMP%] {\n .mj-timeline__card-actions--hover-only {\n opacity: 1;\n }\n\n .mj-timeline__action {\n min-height: 44px;\n min-width: 44px;\n }\n}"], changeDetection: 0 });
2002
+ } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet], styles: ["/**\n * MJ Timeline Component Styles\n * Kendo-inspired design with vertical alternating and horizontal layouts\n */\n\n/* ============================================================================\n CSS VARIABLES (Theming)\n ============================================================================ */\n\nmj-timeline {\n /* Colors */\n --mj-timeline-bg: transparent;\n --mj-timeline-line-color: #d0d7de;\n --mj-timeline-marker-bg: #ffffff;\n --mj-timeline-marker-border: #4678a8;\n --mj-timeline-marker-fill: #4678a8;\n --mj-timeline-card-bg: #ffffff;\n --mj-timeline-card-border: #d0d7de;\n --mj-timeline-card-shadow: 0 1px 3px rgba(31, 35, 40, 0.08);\n --mj-timeline-card-shadow-hover: 0 4px 12px rgba(31, 35, 40, 0.12);\n --mj-timeline-card-radius: 6px;\n --mj-timeline-text-primary: #1f2328;\n --mj-timeline-text-secondary: #656d76;\n --mj-timeline-text-muted: #8c959f;\n --mj-timeline-accent: #4678a8;\n --mj-timeline-accent-light: rgba(70, 120, 168, 0.08);\n --mj-timeline-segment-bg: #4678a8;\n --mj-timeline-segment-text: #ffffff;\n --mj-timeline-focus-ring: 0 0 0 2px rgba(70, 120, 168, 0.3);\n\n /* Sizing */\n --mj-timeline-line-width: 2px;\n --mj-timeline-marker-size: 14px;\n --mj-timeline-card-padding: 16px;\n --mj-timeline-card-max-width: 400px;\n --mj-timeline-card-min-width: 200px;\n --mj-timeline-gap: 24px;\n --mj-timeline-segment-gap: 16px;\n --mj-timeline-axis-offset: 50%;\n\n /* Animation */\n --mj-timeline-transition: 0.15s ease;\n\n display: block;\n width: 100%;\n height: 100%;\n}\n\n/* Dark mode */\n.dark-theme mj-timeline,\n[data-theme=\"dark\"] mj-timeline {\n --mj-timeline-line-color: #3d444d;\n --mj-timeline-card-bg: #161b22;\n --mj-timeline-card-border: #3d444d;\n --mj-timeline-card-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);\n --mj-timeline-text-primary: #e6edf3;\n --mj-timeline-text-secondary: #8b949e;\n --mj-timeline-text-muted: #6e7681;\n --mj-timeline-accent: #58a6ff;\n --mj-timeline-accent-light: rgba(88, 166, 255, 0.1);\n --mj-timeline-marker-border: #58a6ff;\n --mj-timeline-marker-fill: #58a6ff;\n --mj-timeline-segment-bg: #58a6ff;\n}\n\n/* ============================================================================\n MAIN CONTAINER\n ============================================================================ */\n\n.mj-timeline {\n position: relative;\n width: 100%;\n height: 100%;\n padding: 0;\n background: var(--mj-timeline-bg);\n outline: none;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n/* Subtle scrollbar */\n.mj-timeline::-webkit-scrollbar {\n width: 6px;\n}\n\n.mj-timeline::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.mj-timeline::-webkit-scrollbar-thumb {\n background: rgba(0, 0, 0, 0.15);\n border-radius: 3px;\n}\n\n.mj-timeline::-webkit-scrollbar-thumb:hover {\n background: rgba(0, 0, 0, 0.25);\n}\n\n.mj-timeline:focus-visible {\n box-shadow: inset var(--mj-timeline-focus-ring);\n}\n\n/* ============================================================================\n LOADING & EMPTY STATES\n ============================================================================ */\n\n.mj-timeline__loading {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 48px 24px;\n gap: 12px;\n}\n\n.mj-timeline__loading-spinner {\n width: 24px;\n height: 24px;\n border: 2px solid var(--mj-timeline-line-color);\n border-top-color: var(--mj-timeline-accent);\n border-radius: 50%;\n animation: mj-timeline-spin 0.6s linear infinite;\n}\n\n.mj-timeline__loading-spinner--small {\n width: 14px;\n height: 14px;\n}\n\n.mj-timeline__loading-text {\n color: var(--mj-timeline-text-muted);\n font-size: 13px;\n}\n\n.mj-timeline__loading-more {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px;\n gap: 8px;\n color: var(--mj-timeline-text-muted);\n font-size: 12px;\n}\n\n@keyframes mj-timeline-spin {\n to { transform: rotate(360deg); }\n}\n\n.mj-timeline__empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 64px 24px;\n gap: 8px;\n text-align: center;\n}\n\n.mj-timeline__empty-icon {\n font-size: 32px;\n color: var(--mj-timeline-text-muted);\n opacity: 0.4;\n}\n\n.mj-timeline__empty-text {\n color: var(--mj-timeline-text-secondary);\n font-size: 13px;\n}\n\n/* ============================================================================\n TIME SEGMENTS - Year/Month badges on the axis\n ============================================================================ */\n\n.mj-timeline__segment {\n margin-bottom: var(--mj-timeline-segment-gap);\n position: relative;\n}\n\n.mj-timeline__segment:last-child {\n margin-bottom: 0;\n}\n\n.mj-timeline__segment-header {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 6px 16px;\n margin-bottom: var(--mj-timeline-gap);\n background: var(--mj-timeline-segment-bg);\n border-radius: 4px;\n font-weight: 600;\n font-size: 13px;\n color: var(--mj-timeline-segment-text);\n user-select: none;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n position: relative;\n z-index: 10;\n}\n\n.mj-timeline__segment-header--clickable {\n cursor: pointer;\n transition: all var(--mj-timeline-transition);\n}\n\n.mj-timeline__segment-header--clickable:hover {\n filter: brightness(1.1);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);\n}\n\n.mj-timeline__segment-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n color: inherit;\n font-size: 10px;\n opacity: 0.9;\n transition: transform var(--mj-timeline-transition);\n}\n\n.mj-timeline__segment--collapsed .mj-timeline__segment-toggle {\n transform: rotate(-90deg);\n}\n\n.mj-timeline__segment-label {\n font-size: inherit;\n font-weight: inherit;\n color: inherit;\n}\n\n.mj-timeline__segment-count {\n display: none;\n}\n\n.mj-timeline__segment-line {\n display: none;\n}\n\n.mj-timeline__segment-content {\n overflow: visible;\n transition: max-height 0.25s ease, opacity 0.2s ease;\n padding-top: 8px;\n}\n\n.mj-timeline__segment-content--hidden {\n max-height: 0;\n opacity: 0;\n pointer-events: none;\n}\n\n/* ============================================================================\n TIMELINE AXIS - Vertical line in center\n ============================================================================ */\n\n.mj-timeline__axis {\n position: relative;\n padding-left: 0;\n}\n\n/* Vertical center line */\n.mj-timeline__axis::before {\n content: '';\n position: absolute;\n left: 50%;\n top: 0;\n bottom: 0;\n width: var(--mj-timeline-line-width);\n background: var(--mj-timeline-line-color);\n transform: translateX(-50%);\n}\n\n/* ============================================================================\n TIMELINE EVENT - Alternating left/right by default\n ============================================================================ */\n\n.mj-timeline__event {\n position: relative;\n display: flex;\n align-items: flex-start;\n margin-bottom: var(--mj-timeline-gap);\n width: 100%;\n}\n\n/* Even events (0, 2, 4...) - card on LEFT, date on RIGHT */\n.mj-timeline__event {\n padding-right: calc(50% + 32px);\n justify-content: flex-end;\n}\n\n/* Odd events (1, 3, 5...) - card on RIGHT, date on LEFT */\n.mj-timeline__event--odd {\n padding-right: 0;\n padding-left: calc(50% + 32px);\n justify-content: flex-start;\n flex-direction: row;\n}\n\n.mj-timeline__event:last-child {\n margin-bottom: 0;\n}\n\n/* ============================================================================\n MARKER - Circular dot on the axis\n ============================================================================ */\n\n.mj-timeline__marker {\n position: absolute;\n left: 50%;\n top: 12px;\n transform: translateX(-50%);\n width: var(--mj-timeline-marker-size);\n height: var(--mj-timeline-marker-size);\n background: var(--mj-timeline-marker-fill);\n border: 2px solid var(--mj-timeline-marker-bg);\n border-radius: 50%;\n box-shadow: 0 0 0 2px var(--mj-timeline-marker-fill);\n z-index: 5;\n transition: transform var(--mj-timeline-transition);\n}\n\n.mj-timeline__marker-icon {\n display: none;\n}\n\n.mj-timeline__event:hover .mj-timeline__marker {\n transform: translateX(-50%) scale(1.2);\n}\n\n.mj-timeline__connector {\n display: none;\n}\n\n/* ============================================================================\n DATE LABEL - Positioned opposite the card\n ============================================================================ */\n\n.mj-timeline__date-label {\n position: absolute;\n top: 10px;\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-timeline-text-secondary);\n white-space: nowrap;\n}\n\n/* Even events - date on RIGHT side of axis */\n.mj-timeline__event:not(.mj-timeline__event--odd) .mj-timeline__date-label {\n left: calc(50% + 24px);\n text-align: left;\n}\n\n/* Odd events - date on LEFT side of axis */\n.mj-timeline__event--odd .mj-timeline__date-label {\n right: calc(50% + 24px);\n text-align: right;\n}\n\n/* ============================================================================\n EVENT CARD - Clean design matching Kendo\n ============================================================================ */\n\n.mj-timeline__card {\n background: var(--mj-timeline-card-bg);\n border: 1px solid var(--mj-timeline-card-border);\n border-radius: var(--mj-timeline-card-radius);\n box-shadow: var(--mj-timeline-card-shadow);\n overflow: hidden;\n transition: all var(--mj-timeline-transition);\n cursor: pointer;\n max-width: var(--mj-timeline-card-max-width);\n min-width: var(--mj-timeline-card-min-width);\n width: 100%;\n}\n\n/* Card arrow/pointer toward the axis */\n.mj-timeline__card::before {\n content: '';\n position: absolute;\n top: 14px;\n width: 10px;\n height: 10px;\n background: var(--mj-timeline-card-bg);\n border: 1px solid var(--mj-timeline-card-border);\n transform: rotate(45deg);\n}\n\n/* Even events - arrow points RIGHT toward axis */\n.mj-timeline__event:not(.mj-timeline__event--odd) .mj-timeline__card::before {\n right: -6px;\n border-left: none;\n border-bottom: none;\n}\n\n/* Odd events - arrow points LEFT toward axis */\n.mj-timeline__event--odd .mj-timeline__card::before {\n left: -6px;\n border-right: none;\n border-top: none;\n}\n\n/* Hover state */\n.mj-timeline__card:hover {\n box-shadow: var(--mj-timeline-card-shadow-hover);\n border-color: var(--mj-timeline-accent);\n}\n\n/* Selected/Focused state - prominent highlight with animation */\n.mj-timeline__event--focused .mj-timeline__card {\n background: var(--mj-timeline-accent-light);\n border-color: var(--mj-timeline-accent);\n box-shadow:\n 0 0 0 3px var(--mj-timeline-accent),\n 0 8px 24px rgba(70, 120, 168, 0.25);\n transform: scale(1.02);\n}\n\n/* Selected marker - larger and more prominent */\n.mj-timeline__event--focused .mj-timeline__marker {\n transform: translateX(-50%) scale(1.4);\n box-shadow:\n 0 0 0 3px var(--mj-timeline-marker-fill),\n 0 0 12px rgba(70, 120, 168, 0.5);\n}\n\n/* Pulse animation for selected marker */\n.mj-timeline__event--focused .mj-timeline__marker::after {\n content: '';\n position: absolute;\n top: -4px;\n left: -4px;\n right: -4px;\n bottom: -4px;\n border-radius: 50%;\n border: 2px solid var(--mj-timeline-accent);\n animation: mj-timeline-pulse 1.5s ease-out infinite;\n}\n\n@keyframes mj-timeline-pulse {\n 0% {\n transform: scale(1);\n opacity: 0.8;\n }\n 100% {\n transform: scale(1.8);\n opacity: 0;\n }\n}\n\n/* Selected date label - bolder */\n.mj-timeline__event--focused .mj-timeline__date-label {\n color: var(--mj-timeline-accent);\n font-weight: 600;\n}\n\n/* Card arrow gets accent color when selected */\n.mj-timeline__event--focused .mj-timeline__card::before {\n border-color: var(--mj-timeline-accent);\n background: var(--mj-timeline-accent-light);\n}\n\n/* ============================================================================\n CARD HEADER\n ============================================================================ */\n\n.mj-timeline__card-header {\n display: flex;\n align-items: flex-start;\n padding: var(--mj-timeline-card-padding);\n gap: 10px;\n}\n\n.mj-timeline__card-header-content {\n flex: 1;\n display: flex;\n align-items: flex-start;\n gap: 10px;\n min-width: 0;\n}\n\n.mj-timeline__card-icon {\n display: none;\n}\n\n.mj-timeline__card-titles {\n flex: 1;\n min-width: 0;\n}\n\n.mj-timeline__card-title {\n margin: 0;\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-timeline-text-primary);\n line-height: 1.35;\n}\n\n.mj-timeline__card-subtitle {\n display: block;\n font-size: 13px;\n color: var(--mj-timeline-text-secondary);\n margin-top: 4px;\n}\n\n.mj-timeline__card-date {\n display: block;\n font-size: 12px;\n color: var(--mj-timeline-text-muted);\n margin-top: 6px;\n}\n\n.mj-timeline__card-date::before {\n display: none;\n}\n\n.mj-timeline__card-toggle {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n color: var(--mj-timeline-text-muted);\n border-radius: 4px;\n cursor: pointer;\n transition: all var(--mj-timeline-transition);\n font-size: 14px;\n}\n\n.mj-timeline__card-toggle:hover {\n background: var(--mj-timeline-accent-light);\n color: var(--mj-timeline-accent);\n}\n\n/* ============================================================================\n CARD IMAGE\n ============================================================================ */\n\n.mj-timeline__card-image {\n overflow: hidden;\n border-radius: 4px;\n flex-shrink: 0;\n}\n\n.mj-timeline__card-image img {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.mj-timeline__card-image--left.mj-timeline__card-image--small {\n width: 48px;\n height: 48px;\n}\n\n.mj-timeline__card-image--left.mj-timeline__card-image--medium {\n width: 72px;\n height: 72px;\n}\n\n.mj-timeline__card-image--left.mj-timeline__card-image--large {\n width: 96px;\n height: 96px;\n}\n\n.mj-timeline__card-image--top {\n width: calc(100% - 32px);\n max-height: 180px;\n margin: 0 16px 12px;\n}\n\n/* ============================================================================\n CARD BODY\n ============================================================================ */\n\n.mj-timeline__card-body {\n padding: 0 var(--mj-timeline-card-padding) var(--mj-timeline-card-padding);\n}\n\n.mj-timeline__card-body--collapsed {\n display: none;\n}\n\n.mj-timeline__card-description {\n font-size: 13px;\n line-height: 1.6;\n color: var(--mj-timeline-text-secondary);\n margin-bottom: 12px;\n}\n\n.mj-timeline__card-description--clamped {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.mj-timeline__card-description:last-child {\n margin-bottom: 0;\n}\n\n/* ============================================================================\n CARD FIELDS\n ============================================================================ */\n\n.mj-timeline__card-fields {\n display: flex;\n flex-wrap: wrap;\n gap: 4px 12px;\n}\n\n.mj-timeline__card-fields--summary {\n padding-top: 12px;\n border-top: 1px solid var(--mj-timeline-line-color);\n margin-top: 12px;\n}\n\n.mj-timeline__card-fields--expanded {\n margin-top: 12px;\n padding-top: 12px;\n border-top: 1px solid var(--mj-timeline-line-color);\n}\n\n.mj-timeline__card-field {\n display: flex;\n align-items: center;\n gap: 5px;\n font-size: 12px;\n}\n\n.mj-timeline__card-field-icon {\n color: var(--mj-timeline-text-muted);\n font-size: 10px;\n}\n\n.mj-timeline__card-field-label {\n color: var(--mj-timeline-text-muted);\n}\n\n.mj-timeline__card-field-value {\n color: var(--mj-timeline-text-secondary);\n font-weight: 500;\n}\n\n/* ============================================================================\n CARD ACTIONS\n ============================================================================ */\n\n.mj-timeline__card-actions {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n padding: 0 var(--mj-timeline-card-padding) var(--mj-timeline-card-padding);\n justify-content: flex-end;\n}\n\n.mj-timeline__card-actions--hover-only {\n opacity: 0;\n transition: opacity var(--mj-timeline-transition);\n}\n\n.mj-timeline__card:hover .mj-timeline__card-actions--hover-only,\n.mj-timeline__card:focus-within .mj-timeline__card-actions--hover-only {\n opacity: 1;\n}\n\n.mj-timeline__action {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 6px 12px;\n font-size: 12px;\n font-weight: 500;\n border: 1px solid;\n border-radius: 4px;\n cursor: pointer;\n transition: all var(--mj-timeline-transition);\n}\n\n.mj-timeline__action:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.mj-timeline__action i {\n font-size: 10px;\n}\n\n.mj-timeline__action--primary {\n background: var(--mj-timeline-accent);\n border-color: var(--mj-timeline-accent);\n color: #ffffff;\n}\n\n.mj-timeline__action--primary:hover:not(:disabled) {\n filter: brightness(1.1);\n}\n\n.mj-timeline__action--secondary {\n background: transparent;\n border-color: var(--mj-timeline-card-border);\n color: var(--mj-timeline-text-primary);\n}\n\n.mj-timeline__action--secondary:hover:not(:disabled) {\n background: var(--mj-timeline-accent-light);\n border-color: var(--mj-timeline-accent);\n color: var(--mj-timeline-accent);\n}\n\n.mj-timeline__action--danger {\n background: #cf222e;\n border-color: #cf222e;\n color: #ffffff;\n}\n\n.mj-timeline__action--link {\n background: transparent;\n border-color: transparent;\n color: var(--mj-timeline-accent);\n}\n\n.mj-timeline__action--link:hover:not(:disabled) {\n text-decoration: underline;\n}\n\n/* ============================================================================\n VIRTUAL SCROLL\n ============================================================================ */\n\n.mj-timeline-scroll-sentinel {\n height: 1px;\n width: 100%;\n visibility: hidden;\n}\n\n/* ============================================================================\n SINGLE LAYOUT - Cards only on right side\n ============================================================================ */\n\n.mj-timeline--single .mj-timeline__axis::before {\n left: 24px;\n transform: none;\n}\n\n.mj-timeline--single .mj-timeline__segment-header {\n margin-left: 12px;\n}\n\n.mj-timeline--single .mj-timeline__event {\n padding-right: 0;\n padding-left: 56px;\n justify-content: flex-start;\n}\n\n.mj-timeline--single .mj-timeline__event--odd {\n padding-left: 56px;\n flex-direction: row;\n}\n\n.mj-timeline--single .mj-timeline__marker {\n left: 24px;\n transform: translateX(-50%);\n}\n\n.mj-timeline--single .mj-timeline__date-label {\n display: none;\n}\n\n.mj-timeline--single .mj-timeline__card::before {\n left: -6px;\n right: auto;\n border-right: none;\n border-top: none;\n border-left: 1px solid var(--mj-timeline-card-border);\n border-bottom: 1px solid var(--mj-timeline-card-border);\n}\n\n.mj-timeline--single .mj-timeline__card {\n max-width: none;\n}\n\n/* ============================================================================\n ALTERNATING LAYOUT - Explicit class (same as default vertical)\n ============================================================================ */\n\n.mj-timeline--alternating .mj-timeline__segment-header {\n left: 50%;\n transform: translateX(-50%);\n}\n\n/* ============================================================================\n HORIZONTAL LAYOUT\n ============================================================================ */\n\n.mj-timeline--horizontal {\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: flex-start;\n overflow-x: auto;\n overflow-y: hidden;\n padding: 80px 40px 24px;\n min-width: 100%;\n}\n\n.mj-timeline--horizontal .mj-timeline__segment {\n flex: 0 0 auto;\n display: flex;\n flex-direction: column;\n margin-bottom: 0;\n margin-right: 40px;\n position: relative;\n}\n\n.mj-timeline--horizontal .mj-timeline__segment:last-child {\n margin-right: 0;\n}\n\n.mj-timeline--horizontal .mj-timeline__segment-header {\n position: absolute;\n top: -56px;\n left: 0;\n margin-bottom: 0;\n white-space: nowrap;\n}\n\n.mj-timeline--horizontal .mj-timeline__segment-content {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n}\n\n.mj-timeline--horizontal .mj-timeline__axis {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding-left: 0;\n min-width: max-content;\n gap: 0;\n}\n\n/* Horizontal axis line */\n.mj-timeline--horizontal .mj-timeline__axis::before {\n left: 0;\n right: 0;\n top: 0;\n bottom: auto;\n width: 100%;\n height: var(--mj-timeline-line-width);\n transform: none;\n}\n\n.mj-timeline--horizontal .mj-timeline__event {\n flex-direction: column;\n align-items: center;\n margin-bottom: 0;\n margin-right: 48px;\n padding: 0;\n padding-top: 32px;\n min-width: 180px;\n max-width: 280px;\n width: auto;\n}\n\n.mj-timeline--horizontal .mj-timeline__event--odd {\n padding-left: 0;\n flex-direction: column;\n}\n\n.mj-timeline--horizontal .mj-timeline__event:last-child {\n margin-right: 0;\n}\n\n.mj-timeline--horizontal .mj-timeline__marker {\n position: absolute;\n left: 50%;\n /* Position so marker is centered on the axis line (top: 0 of axis) */\n /* Event has padding-top: 32px, marker is 14px, so top: -(32 + 7) = -39px for center */\n top: calc(-32px - var(--mj-timeline-marker-size) / 2);\n transform: translateX(-50%);\n margin: 0;\n}\n\n.mj-timeline--horizontal .mj-timeline__event:hover .mj-timeline__marker {\n transform: translateX(-50%) scale(1.2);\n}\n\n.mj-timeline--horizontal .mj-timeline__date-label {\n position: absolute;\n top: -40px;\n left: 50%;\n right: auto;\n transform: translateX(-50%);\n text-align: center;\n font-size: 12px;\n}\n\n.mj-timeline--horizontal .mj-timeline__card {\n max-width: none;\n width: 100%;\n min-width: 0;\n}\n\n.mj-timeline--horizontal .mj-timeline__card::before {\n display: none;\n}\n\n/* Horizontal focused marker override */\n.mj-timeline--horizontal .mj-timeline__event--focused .mj-timeline__marker {\n transform: translateX(-50%) scale(1.4);\n}\n\n/* Horizontal collapsed segment - rotate 90\u00B0 CCW and compress */\n.mj-timeline--horizontal .mj-timeline__segment--collapsed {\n flex: 0 0 auto;\n width: 32px;\n min-width: 32px;\n margin-right: 4px;\n}\n\n.mj-timeline--horizontal .mj-timeline__segment--collapsed .mj-timeline__segment-header {\n writing-mode: vertical-rl;\n text-orientation: mixed;\n transform: rotate(180deg);\n white-space: nowrap;\n padding: 8px 4px;\n margin: 0;\n top: 0;\n position: relative;\n}\n\n.mj-timeline--horizontal .mj-timeline__segment--collapsed .mj-timeline__segment-content {\n display: none;\n}\n\n/* ============================================================================\n RESPONSIVE\n ============================================================================ */\n\n@media (max-width: 900px) {\n /* Force single layout on smaller screens */\n .mj-timeline--alternating .mj-timeline__axis::before {\n left: 24px;\n transform: none;\n }\n\n .mj-timeline--alternating .mj-timeline__segment-header {\n left: auto;\n transform: none;\n margin-left: 12px;\n }\n\n .mj-timeline--alternating .mj-timeline__event {\n padding-right: 0;\n padding-left: 56px;\n justify-content: flex-start;\n }\n\n .mj-timeline--alternating .mj-timeline__event--odd {\n padding-left: 56px;\n padding-right: 0;\n flex-direction: row;\n }\n\n .mj-timeline--alternating .mj-timeline__marker {\n left: 24px;\n transform: translateX(-50%);\n }\n\n .mj-timeline--alternating .mj-timeline__event:hover .mj-timeline__marker {\n transform: translateX(-50%) scale(1.2);\n }\n\n .mj-timeline--alternating .mj-timeline__date-label {\n display: none;\n }\n\n .mj-timeline--alternating .mj-timeline__card::before {\n left: -6px;\n right: auto;\n border-right: none;\n border-top: none;\n border-left: 1px solid var(--mj-timeline-card-border);\n border-bottom: 1px solid var(--mj-timeline-card-border);\n }\n\n .mj-timeline--alternating .mj-timeline__card {\n max-width: none;\n }\n}\n\n@media (max-width: 600px) {\n mj-timeline {\n --mj-timeline-card-padding: 12px;\n --mj-timeline-gap: 16px;\n --mj-timeline-marker-size: 12px;\n }\n\n .mj-timeline {\n padding: 16px 12px;\n }\n\n .mj-timeline__card-title {\n font-size: 14px;\n }\n\n .mj-timeline--horizontal .mj-timeline__event {\n min-width: 160px;\n max-width: 220px;\n margin-right: 32px;\n }\n}\n\n/* Touch devices */\n@media (hover: none) and (pointer: coarse) {\n .mj-timeline__card-actions--hover-only {\n opacity: 1;\n }\n\n .mj-timeline__action {\n min-height: 40px;\n }\n}\n\n/* Reduced motion */\n@media (prefers-reduced-motion: reduce) {\n .mj-timeline__card,\n .mj-timeline__marker,\n .mj-timeline__segment-toggle {\n transition: none;\n }\n}\n"], encapsulation: 2, changeDetection: 0 });
1880
2003
  }
1881
2004
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TimelineComponent, [{
1882
2005
  type: Component,
1883
- args: [{ selector: 'mj-timeline', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n MJ Timeline Component Template\n\n Structure:\n - Loading state\n - Empty state\n - Timeline container (vertical/horizontal)\n - Time segments (collapsible)\n - Segment header\n - Event cards within segment\n - Or flat list of events (when segmentGrouping='none')\n - Virtual scroll sentinel\n-->\n\n<div\n class=\"mj-timeline\"\n [class.mj-timeline--vertical]=\"orientation === 'vertical'\"\n [class.mj-timeline--horizontal]=\"orientation === 'horizontal'\"\n [class.mj-timeline--single]=\"layout === 'single'\"\n [class.mj-timeline--alternating]=\"layout === 'alternating'\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"list\"\n tabindex=\"0\"\n (keydown)=\"onKeyDown($event)\"\n #scrollContainer\n (scroll)=\"onScroll($event)\">\n\n <!-- Loading State -->\n <ng-container *ngIf=\"isLoading && !isInitialized\">\n <ng-container *ngIf=\"loadingTemplate; else defaultLoading\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\"></ng-container>\n </ng-container>\n <ng-template #defaultLoading>\n <div class=\"mj-timeline__loading\">\n <div class=\"mj-timeline__loading-spinner\"></div>\n <span class=\"mj-timeline__loading-text\">{{ loadingMessage }}</span>\n </div>\n </ng-template>\n </ng-container>\n\n <!-- Empty State -->\n <ng-container *ngIf=\"isInitialized && allEvents.length === 0 && !isLoading\">\n <ng-container *ngIf=\"emptyTemplate; else defaultEmpty\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </ng-container>\n <ng-template #defaultEmpty>\n <div class=\"mj-timeline__empty\">\n <i [class]=\"emptyIcon\" class=\"mj-timeline__empty-icon\"></i>\n <span class=\"mj-timeline__empty-text\">{{ emptyMessage }}</span>\n </div>\n </ng-template>\n </ng-container>\n\n <!-- Timeline Content -->\n <ng-container *ngIf=\"isInitialized && allEvents.length > 0\">\n\n <!-- Segmented View -->\n <ng-container *ngIf=\"segmentGrouping !== 'none'\">\n <div\n *ngFor=\"let segment of segments; trackBy: trackBySegmentLabel; let segmentIndex = index\"\n class=\"mj-timeline__segment\"\n [class.mj-timeline__segment--collapsed]=\"!segment.isExpanded\"\n [attr.data-segment-label]=\"segment.label\">\n\n <!-- Segment Header -->\n <div\n class=\"mj-timeline__segment-header\"\n [class.mj-timeline__segment-header--clickable]=\"segmentsCollapsible\"\n (click)=\"onSegmentClick(segment)\"\n role=\"button\"\n [attr.aria-expanded]=\"segment.isExpanded\"\n [attr.aria-controls]=\"'segment-content-' + segmentIndex\">\n\n <ng-container *ngIf=\"segmentHeaderTemplate; else defaultSegmentHeader\">\n <ng-container *ngTemplateOutlet=\"segmentHeaderTemplate; context: { segment: segment }\"></ng-container>\n </ng-container>\n\n <ng-template #defaultSegmentHeader>\n <span class=\"mj-timeline__segment-toggle\" *ngIf=\"segmentsCollapsible\">\n <i [class]=\"segment.isExpanded ? 'fa-solid fa-chevron-down' : 'fa-solid fa-chevron-right'\"></i>\n </span>\n <span class=\"mj-timeline__segment-label\">{{ segment.label }}</span>\n <span class=\"mj-timeline__segment-count\">({{ segment.eventCount }} {{ segment.eventCount === 1 ? 'event' : 'events' }})</span>\n <span class=\"mj-timeline__segment-line\"></span>\n </ng-template>\n </div>\n\n <!-- Segment Content -->\n <div\n class=\"mj-timeline__segment-content\"\n [id]=\"'segment-content-' + segmentIndex\"\n [class.mj-timeline__segment-content--hidden]=\"!segment.isExpanded\">\n\n <div class=\"mj-timeline__axis\">\n <!-- Events in Segment -->\n <ng-container *ngFor=\"let event of segment.events; trackBy: trackByEventId; let eventIndex = index; let isOdd = odd\">\n <ng-container *ngTemplateOutlet=\"eventCard; context: {\n event: event,\n index: eventIndex,\n isOdd: isOdd,\n globalIndex: getGlobalIndex(event)\n }\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n </ng-container>\n\n <!-- Flat View (no segments) -->\n <ng-container *ngIf=\"segmentGrouping === 'none'\">\n <div class=\"mj-timeline__axis\">\n <ng-container *ngFor=\"let event of allEvents; trackBy: trackByEventId; let eventIndex = index; let isOdd = odd\">\n <ng-container *ngTemplateOutlet=\"eventCard; context: {\n event: event,\n index: eventIndex,\n isOdd: isOdd,\n globalIndex: eventIndex\n }\"></ng-container>\n </ng-container>\n </div>\n </ng-container>\n\n </ng-container>\n\n <!-- Virtual Scroll Sentinel -->\n <div\n class=\"mj-timeline-scroll-sentinel\"\n *ngIf=\"virtualScroll.enabled && scrollState.hasMore\">\n </div>\n\n <!-- Loading More Indicator -->\n <div\n class=\"mj-timeline__loading-more\"\n *ngIf=\"scrollState.isLoading && virtualScroll.showLoadingIndicator\">\n <div class=\"mj-timeline__loading-spinner mj-timeline__loading-spinner--small\"></div>\n <span>{{ virtualScroll.loadingMessage }}</span>\n </div>\n\n</div>\n\n<!-- Event Card Template -->\n<ng-template #eventCard let-event=\"event\" let-index=\"index\" let-isOdd=\"isOdd\" let-globalIndex=\"globalIndex\">\n <div\n class=\"mj-timeline__event\"\n [class.mj-timeline__event--odd]=\"isOdd && layout === 'alternating'\"\n [class.mj-timeline__event--even]=\"!isOdd && layout === 'alternating'\"\n [class.mj-timeline__event--expanded]=\"event.isExpanded\"\n [class.mj-timeline__event--focused]=\"focusedEventIndex === globalIndex\"\n [attr.data-event-id]=\"event.id\"\n role=\"listitem\"\n [attr.aria-expanded]=\"event.isExpanded\">\n\n <!-- Timeline Marker -->\n <div class=\"mj-timeline__marker\" [style.background-color]=\"getColor(event)\">\n <i [class]=\"getIcon(event)\" class=\"mj-timeline__marker-icon\"></i>\n </div>\n\n <!-- Connector Line -->\n <div class=\"mj-timeline__connector\" [style.background-color]=\"getColor(event)\"></div>\n\n <!-- Date Label (for alternating layout) -->\n <div class=\"mj-timeline__date-label\" *ngIf=\"layout === 'alternating'\">\n {{ formatDate(event.date) }}\n </div>\n\n <!-- Event Card -->\n <div\n class=\"mj-timeline__card\"\n [class]=\"getEffectiveCardConfig(event).cssClass\"\n [style.max-width]=\"getEffectiveCardConfig(event).maxWidth\"\n [style.min-width]=\"getEffectiveCardConfig(event).minWidth\"\n [style.border-left-color]=\"getColor(event)\"\n (click)=\"onEventClick(event, globalIndex, $event)\"\n (mouseenter)=\"onEventMouseEnter(event, globalIndex, $event)\"\n (mouseleave)=\"onEventMouseLeave(event, globalIndex, $event)\">\n\n <!-- Custom Card Template -->\n <ng-container *ngIf=\"cardTemplate; else defaultCard\">\n <ng-container *ngTemplateOutlet=\"cardTemplate; context: {\n event: event,\n group: groups[event.groupIndex]\n }\"></ng-container>\n </ng-container>\n\n <!-- Default Card Template -->\n <ng-template #defaultCard>\n <!-- Card Header -->\n <div class=\"mj-timeline__card-header\">\n <!-- Image (left position) -->\n <div\n class=\"mj-timeline__card-image mj-timeline__card-image--left\"\n *ngIf=\"event.imageUrl && getEffectiveCardConfig(event).imagePosition === 'left'\"\n [class.mj-timeline__card-image--small]=\"getEffectiveCardConfig(event).imageSize === 'small'\"\n [class.mj-timeline__card-image--medium]=\"getEffectiveCardConfig(event).imageSize === 'medium'\"\n [class.mj-timeline__card-image--large]=\"getEffectiveCardConfig(event).imageSize === 'large'\">\n <img [src]=\"event.imageUrl\" [alt]=\"event.title\" />\n </div>\n\n <div class=\"mj-timeline__card-header-content\">\n <!-- Custom Header Template -->\n <ng-container *ngIf=\"headerTemplate; else defaultHeader\">\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { event: event }\"></ng-container>\n </ng-container>\n\n <ng-template #defaultHeader>\n <!-- Icon -->\n <span\n class=\"mj-timeline__card-icon\"\n *ngIf=\"getEffectiveCardConfig(event).showIcon\"\n [style.color]=\"getColor(event)\">\n <i [class]=\"getIcon(event)\"></i>\n </span>\n\n <!-- Title & Subtitle -->\n <div class=\"mj-timeline__card-titles\">\n <h4 class=\"mj-timeline__card-title\">{{ event.title }}</h4>\n <span\n class=\"mj-timeline__card-subtitle\"\n *ngIf=\"event.subtitle && getEffectiveCardConfig(event).showSubtitle\">\n {{ event.subtitle }}\n </span>\n <span\n class=\"mj-timeline__card-date\"\n *ngIf=\"getEffectiveCardConfig(event).showDate && layout !== 'alternating'\">\n {{ formatDate(event.date, getEffectiveCardConfig(event).dateFormat) }}\n </span>\n </div>\n\n <!-- Expand/Collapse Toggle -->\n <button\n class=\"mj-timeline__card-toggle\"\n *ngIf=\"getEffectiveCardConfig(event).collapsible\"\n (click)=\"onToggleExpand(event, globalIndex, $event)\"\n [attr.aria-label]=\"event.isExpanded ? 'Collapse' : 'Expand'\"\n type=\"button\">\n <i [class]=\"event.isExpanded ? 'fa-solid fa-chevron-up' : 'fa-solid fa-chevron-down'\"></i>\n </button>\n </ng-template>\n </div>\n </div>\n\n <!-- Image (top position) -->\n <div\n class=\"mj-timeline__card-image mj-timeline__card-image--top\"\n *ngIf=\"event.imageUrl && getEffectiveCardConfig(event).imagePosition === 'top'\">\n <img [src]=\"event.imageUrl\" [alt]=\"event.title\" />\n </div>\n\n <!-- Card Body -->\n <div\n class=\"mj-timeline__card-body\"\n [class.mj-timeline__card-body--collapsed]=\"!event.isExpanded && getEffectiveCardConfig(event).collapsible\">\n\n <!-- Custom Body Template -->\n <ng-container *ngIf=\"bodyTemplate; else defaultBody\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: { event: event }\"></ng-container>\n </ng-container>\n\n <ng-template #defaultBody>\n <!-- Summary Fields (always visible) -->\n <div\n class=\"mj-timeline__card-fields mj-timeline__card-fields--summary\"\n *ngIf=\"getEffectiveCardConfig(event).summaryFields?.length\">\n <ng-container *ngFor=\"let field of getEffectiveCardConfig(event).summaryFields\">\n <div class=\"mj-timeline__card-field\" [class]=\"field.cssClass\">\n <i *ngIf=\"field.icon\" [class]=\"field.icon\" class=\"mj-timeline__card-field-icon\"></i>\n <span *ngIf=\"!field.hideLabel && field.label\" class=\"mj-timeline__card-field-label\">{{ field.label }}:</span>\n <span class=\"mj-timeline__card-field-value\">{{ getFieldValue(event, field) }}</span>\n </div>\n </ng-container>\n </div>\n\n <!-- Description (expanded view) -->\n <div\n class=\"mj-timeline__card-description\"\n *ngIf=\"event.description && event.isExpanded\"\n [class.mj-timeline__card-description--clamped]=\"(getEffectiveCardConfig(event).descriptionMaxLines ?? 0) > 0\"\n [style.-webkit-line-clamp]=\"getEffectiveCardConfig(event).descriptionMaxLines || null\">\n <ng-container *ngIf=\"getEffectiveCardConfig(event).allowHtmlDescription; else plainDescription\">\n <div [innerHTML]=\"event.description\"></div>\n </ng-container>\n <ng-template #plainDescription>\n {{ event.description }}\n </ng-template>\n </div>\n\n <!-- Expanded Fields -->\n <div\n class=\"mj-timeline__card-fields mj-timeline__card-fields--expanded\"\n *ngIf=\"event.isExpanded && getEffectiveCardConfig(event).expandedFields?.length\">\n <ng-container *ngFor=\"let field of getEffectiveCardConfig(event).expandedFields\">\n <div class=\"mj-timeline__card-field\" [class]=\"field.cssClass\">\n <i *ngIf=\"field.icon\" [class]=\"field.icon\" class=\"mj-timeline__card-field-icon\"></i>\n <span *ngIf=\"!field.hideLabel\" class=\"mj-timeline__card-field-label\">{{ field.label || field.fieldName }}:</span>\n <span class=\"mj-timeline__card-field-value\">{{ getFieldValue(event, field) }}</span>\n </div>\n </ng-container>\n </div>\n </ng-template>\n </div>\n\n <!-- Card Actions -->\n <div\n class=\"mj-timeline__card-actions\"\n [class.mj-timeline__card-actions--hover-only]=\"getEffectiveCardConfig(event).actionsOnHover\"\n *ngIf=\"getActions(event).length > 0\">\n\n <!-- Custom Actions Template -->\n <ng-container *ngIf=\"actionsTemplate; else defaultActions\">\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: {\n event: event,\n actions: getActions(event)\n }\"></ng-container>\n </ng-container>\n\n <ng-template #defaultActions>\n <button\n *ngFor=\"let action of getActions(event)\"\n class=\"mj-timeline__action\"\n [class.mj-timeline__action--primary]=\"action.variant === 'primary'\"\n [class.mj-timeline__action--secondary]=\"action.variant === 'secondary' || !action.variant\"\n [class.mj-timeline__action--danger]=\"action.variant === 'danger'\"\n [class.mj-timeline__action--link]=\"action.variant === 'link'\"\n [class]=\"action.cssClass\"\n [disabled]=\"action.disabled\"\n [title]=\"action.tooltip || ''\"\n (click)=\"onActionClick(event, action, globalIndex, $event)\"\n type=\"button\">\n <i *ngIf=\"action.icon\" [class]=\"action.icon\"></i>\n <span>{{ action.label }}</span>\n </button>\n </ng-template>\n </div>\n </ng-template>\n </div>\n </div>\n</ng-template>\n", styles: ["/**\n * MJ Timeline Component Styles\n *\n * A responsive, themeable timeline component using CSS variables.\n * Supports vertical/horizontal orientations, single/alternating layouts,\n * and fully responsive mobile design.\n */\n\n// ============================================================================\n// CSS VARIABLES (Theming)\n// ============================================================================\n\n:host {\n // Colors\n --mj-timeline-bg: transparent;\n --mj-timeline-line-color: #e0e0e0;\n --mj-timeline-marker-bg: #1976d2;\n --mj-timeline-marker-border: #ffffff;\n --mj-timeline-card-bg: #ffffff;\n --mj-timeline-card-border: #e0e0e0;\n --mj-timeline-card-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n --mj-timeline-card-shadow-hover: 0 4px 16px rgba(0, 0, 0, 0.15);\n --mj-timeline-card-radius: 8px;\n --mj-timeline-text-primary: #212121;\n --mj-timeline-text-secondary: #757575;\n --mj-timeline-text-muted: #9e9e9e;\n --mj-timeline-accent: #1976d2;\n --mj-timeline-segment-bg: #f5f5f5;\n --mj-timeline-focus-ring: 0 0 0 3px rgba(25, 118, 210, 0.3);\n\n // Sizing\n --mj-timeline-line-width: 2px;\n --mj-timeline-marker-size: 14px;\n --mj-timeline-marker-icon-size: 8px;\n --mj-timeline-card-padding: 16px;\n --mj-timeline-card-max-width: 400px;\n --mj-timeline-card-min-width: 250px;\n --mj-timeline-gap: 16px;\n --mj-timeline-segment-gap: 24px;\n --mj-timeline-axis-offset: 60px;\n\n // Animation\n --mj-timeline-transition: 0.25s ease;\n\n display: block;\n width: 100%;\n}\n\n// Dark mode support\n:host-context(.dark-theme),\n:host-context([data-theme=\"dark\"]) {\n --mj-timeline-line-color: #424242;\n --mj-timeline-card-bg: #1e1e1e;\n --mj-timeline-card-border: #424242;\n --mj-timeline-card-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);\n --mj-timeline-text-primary: #ffffff;\n --mj-timeline-text-secondary: #b0b0b0;\n --mj-timeline-text-muted: #757575;\n --mj-timeline-segment-bg: #2d2d2d;\n}\n\n// ============================================================================\n// MAIN CONTAINER\n// ============================================================================\n\n.mj-timeline {\n position: relative;\n width: 100%;\n padding: var(--mj-timeline-gap);\n background: var(--mj-timeline-bg);\n outline: none;\n\n &:focus-visible {\n box-shadow: var(--mj-timeline-focus-ring);\n border-radius: 4px;\n }\n}\n\n// ============================================================================\n// LOADING STATE\n// ============================================================================\n\n.mj-timeline__loading {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 48px 24px;\n gap: 16px;\n}\n\n.mj-timeline__loading-spinner {\n width: 40px;\n height: 40px;\n border: 3px solid var(--mj-timeline-line-color);\n border-top-color: var(--mj-timeline-accent);\n border-radius: 50%;\n animation: mj-timeline-spin 0.8s linear infinite;\n\n &--small {\n width: 20px;\n height: 20px;\n border-width: 2px;\n }\n}\n\n.mj-timeline__loading-text {\n color: var(--mj-timeline-text-secondary);\n font-size: 14px;\n}\n\n.mj-timeline__loading-more {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px;\n gap: 8px;\n color: var(--mj-timeline-text-secondary);\n font-size: 13px;\n}\n\n@keyframes mj-timeline-spin {\n to {\n transform: rotate(360deg);\n }\n}\n\n// ============================================================================\n// EMPTY STATE\n// ============================================================================\n\n.mj-timeline__empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 64px 24px;\n gap: 16px;\n text-align: center;\n}\n\n.mj-timeline__empty-icon {\n font-size: 48px;\n color: var(--mj-timeline-text-muted);\n}\n\n.mj-timeline__empty-text {\n color: var(--mj-timeline-text-secondary);\n font-size: 16px;\n}\n\n// ============================================================================\n// TIME SEGMENTS\n// ============================================================================\n\n.mj-timeline__segment {\n margin-bottom: var(--mj-timeline-segment-gap);\n\n &:last-child {\n margin-bottom: 0;\n }\n}\n\n.mj-timeline__segment-header {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 16px;\n margin-bottom: var(--mj-timeline-gap);\n background: var(--mj-timeline-segment-bg);\n border-radius: 6px;\n font-weight: 600;\n color: var(--mj-timeline-text-primary);\n user-select: none;\n\n &--clickable {\n cursor: pointer;\n transition: background-color var(--mj-timeline-transition);\n\n &:hover {\n background: darken(#f5f5f5, 5%);\n }\n\n :host-context(.dark-theme) &:hover,\n :host-context([data-theme=\"dark\"]) &:hover {\n background: lighten(#2d2d2d, 5%);\n }\n }\n}\n\n.mj-timeline__segment-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n color: var(--mj-timeline-text-secondary);\n font-size: 12px;\n transition: transform var(--mj-timeline-transition);\n}\n\n.mj-timeline__segment-label {\n font-size: 15px;\n}\n\n.mj-timeline__segment-count {\n color: var(--mj-timeline-text-secondary);\n font-size: 13px;\n font-weight: 400;\n}\n\n.mj-timeline__segment-line {\n flex: 1;\n height: 1px;\n background: var(--mj-timeline-line-color);\n margin-left: 8px;\n}\n\n.mj-timeline__segment-content {\n overflow: hidden;\n transition: max-height var(--mj-timeline-transition), opacity var(--mj-timeline-transition);\n\n &--hidden {\n max-height: 0;\n opacity: 0;\n pointer-events: none;\n }\n}\n\n// ============================================================================\n// TIMELINE AXIS\n// ============================================================================\n\n.mj-timeline__axis {\n position: relative;\n padding-left: var(--mj-timeline-axis-offset);\n\n // Vertical line\n &::before {\n content: '';\n position: absolute;\n left: calc(var(--mj-timeline-marker-size) / 2);\n top: 0;\n bottom: 0;\n width: var(--mj-timeline-line-width);\n background: var(--mj-timeline-line-color);\n }\n}\n\n// ============================================================================\n// TIMELINE EVENT\n// ============================================================================\n\n.mj-timeline__event {\n position: relative;\n display: flex;\n align-items: flex-start;\n margin-bottom: var(--mj-timeline-gap);\n\n &:last-child {\n margin-bottom: 0;\n }\n}\n\n// ============================================================================\n// MARKER\n// ============================================================================\n\n.mj-timeline__marker {\n position: absolute;\n left: 0;\n top: 16px;\n width: var(--mj-timeline-marker-size);\n height: var(--mj-timeline-marker-size);\n border-radius: 50%;\n background: var(--mj-timeline-marker-bg);\n border: 2px solid var(--mj-timeline-marker-border);\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1;\n}\n\n.mj-timeline__marker-icon {\n font-size: var(--mj-timeline-marker-icon-size);\n color: var(--mj-timeline-marker-border);\n display: none; // Hidden by default, shown in larger markers\n}\n\n.mj-timeline__connector {\n display: none; // Hidden by default, used in horizontal mode\n}\n\n// ============================================================================\n// DATE LABEL (Alternating Layout)\n// ============================================================================\n\n.mj-timeline__date-label {\n display: none; // Hidden by default\n}\n\n// ============================================================================\n// EVENT CARD\n// ============================================================================\n\n.mj-timeline__card {\n flex: 1;\n background: var(--mj-timeline-card-bg);\n border: 1px solid var(--mj-timeline-card-border);\n border-left-width: 4px;\n border-radius: var(--mj-timeline-card-radius);\n box-shadow: var(--mj-timeline-card-shadow);\n overflow: hidden;\n transition: box-shadow var(--mj-timeline-transition), transform var(--mj-timeline-transition);\n cursor: pointer;\n max-width: var(--mj-timeline-card-max-width);\n min-width: var(--mj-timeline-card-min-width);\n\n &:hover {\n box-shadow: var(--mj-timeline-card-shadow-hover);\n transform: translateY(-1px);\n }\n\n .mj-timeline__event--focused & {\n box-shadow: var(--mj-timeline-focus-ring), var(--mj-timeline-card-shadow);\n }\n}\n\n// ============================================================================\n// CARD HEADER\n// ============================================================================\n\n.mj-timeline__card-header {\n display: flex;\n align-items: flex-start;\n padding: var(--mj-timeline-card-padding);\n gap: 12px;\n}\n\n.mj-timeline__card-header-content {\n flex: 1;\n display: flex;\n align-items: flex-start;\n gap: 10px;\n min-width: 0; // Enable text truncation\n}\n\n.mj-timeline__card-icon {\n flex-shrink: 0;\n font-size: 18px;\n line-height: 1;\n margin-top: 2px;\n}\n\n.mj-timeline__card-titles {\n flex: 1;\n min-width: 0;\n}\n\n.mj-timeline__card-title {\n margin: 0;\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-timeline-text-primary);\n line-height: 1.4;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.mj-timeline__card-subtitle {\n display: block;\n font-size: 13px;\n color: var(--mj-timeline-text-secondary);\n margin-top: 2px;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.mj-timeline__card-date {\n display: block;\n font-size: 12px;\n color: var(--mj-timeline-text-muted);\n margin-top: 4px;\n}\n\n.mj-timeline__card-toggle {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n color: var(--mj-timeline-text-secondary);\n border-radius: 4px;\n cursor: pointer;\n transition: background-color var(--mj-timeline-transition), color var(--mj-timeline-transition);\n\n &:hover {\n background: var(--mj-timeline-segment-bg);\n color: var(--mj-timeline-text-primary);\n }\n\n &:focus-visible {\n box-shadow: var(--mj-timeline-focus-ring);\n outline: none;\n }\n}\n\n// ============================================================================\n// CARD IMAGE\n// ============================================================================\n\n.mj-timeline__card-image {\n overflow: hidden;\n border-radius: 4px;\n flex-shrink: 0;\n\n img {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n }\n\n &--left {\n &.mj-timeline__card-image--small {\n width: 48px;\n height: 48px;\n }\n\n &.mj-timeline__card-image--medium {\n width: 80px;\n height: 80px;\n }\n\n &.mj-timeline__card-image--large {\n width: 120px;\n height: 120px;\n }\n }\n\n &--top {\n width: 100%;\n max-height: 200px;\n margin: 0 var(--mj-timeline-card-padding);\n margin-top: 0;\n border-radius: 4px;\n\n img {\n width: calc(100% - 2 * var(--mj-timeline-card-padding));\n height: auto;\n }\n }\n}\n\n// ============================================================================\n// CARD BODY\n// ============================================================================\n\n.mj-timeline__card-body {\n padding: 0 var(--mj-timeline-card-padding);\n padding-bottom: var(--mj-timeline-card-padding);\n\n &--collapsed {\n display: none;\n }\n}\n\n.mj-timeline__card-description {\n font-size: 14px;\n line-height: 1.6;\n color: var(--mj-timeline-text-secondary);\n margin-bottom: 12px;\n\n &--clamped {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n &:last-child {\n margin-bottom: 0;\n }\n}\n\n// ============================================================================\n// CARD FIELDS\n// ============================================================================\n\n.mj-timeline__card-fields {\n display: flex;\n flex-wrap: wrap;\n gap: 8px 16px;\n\n &--summary {\n padding-top: 8px;\n border-top: 1px solid var(--mj-timeline-line-color);\n margin-top: 8px;\n }\n\n &--expanded {\n margin-top: 12px;\n padding-top: 12px;\n border-top: 1px solid var(--mj-timeline-line-color);\n }\n}\n\n.mj-timeline__card-field {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n}\n\n.mj-timeline__card-field-icon {\n color: var(--mj-timeline-text-muted);\n font-size: 12px;\n}\n\n.mj-timeline__card-field-label {\n color: var(--mj-timeline-text-muted);\n}\n\n.mj-timeline__card-field-value {\n color: var(--mj-timeline-text-secondary);\n font-weight: 500;\n}\n\n// ============================================================================\n// CARD ACTIONS\n// ============================================================================\n\n.mj-timeline__card-actions {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n padding: var(--mj-timeline-card-padding);\n padding-top: 0;\n justify-content: flex-end;\n\n &--hover-only {\n opacity: 0;\n transition: opacity var(--mj-timeline-transition);\n\n .mj-timeline__card:hover &,\n .mj-timeline__card:focus-within & {\n opacity: 1;\n }\n }\n}\n\n.mj-timeline__action {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n font-size: 13px;\n font-weight: 500;\n border: 1px solid;\n border-radius: 4px;\n cursor: pointer;\n transition: all var(--mj-timeline-transition);\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n &:focus-visible {\n box-shadow: var(--mj-timeline-focus-ring);\n outline: none;\n }\n\n i {\n font-size: 12px;\n }\n\n // Variants\n &--primary {\n background: var(--mj-timeline-accent);\n border-color: var(--mj-timeline-accent);\n color: #ffffff;\n\n &:hover:not(:disabled) {\n background: darken(#1976d2, 8%);\n border-color: darken(#1976d2, 8%);\n }\n }\n\n &--secondary {\n background: transparent;\n border-color: var(--mj-timeline-card-border);\n color: var(--mj-timeline-text-primary);\n\n &:hover:not(:disabled) {\n background: var(--mj-timeline-segment-bg);\n }\n }\n\n &--danger {\n background: #f44336;\n border-color: #f44336;\n color: #ffffff;\n\n &:hover:not(:disabled) {\n background: darken(#f44336, 8%);\n border-color: darken(#f44336, 8%);\n }\n }\n\n &--link {\n background: transparent;\n border-color: transparent;\n color: var(--mj-timeline-accent);\n padding: 6px 8px;\n\n &:hover:not(:disabled) {\n background: rgba(25, 118, 210, 0.08);\n }\n }\n}\n\n// ============================================================================\n// VIRTUAL SCROLL SENTINEL\n// ============================================================================\n\n.mj-timeline-scroll-sentinel {\n height: 1px;\n width: 100%;\n visibility: hidden;\n}\n\n// ============================================================================\n// ALTERNATING LAYOUT\n// ============================================================================\n\n.mj-timeline--alternating {\n .mj-timeline__axis {\n padding-left: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n\n &::before {\n left: 50%;\n transform: translateX(-50%);\n }\n }\n\n .mj-timeline__event {\n width: 100%;\n justify-content: flex-start;\n padding-right: calc(50% + var(--mj-timeline-gap));\n\n &--odd {\n justify-content: flex-end;\n padding-right: 0;\n padding-left: calc(50% + var(--mj-timeline-gap));\n flex-direction: row-reverse;\n }\n }\n\n .mj-timeline__marker {\n left: 50%;\n transform: translateX(-50%);\n }\n\n .mj-timeline__date-label {\n display: block;\n position: absolute;\n top: 12px;\n font-size: 12px;\n font-weight: 500;\n color: var(--mj-timeline-accent);\n white-space: nowrap;\n\n .mj-timeline__event:not(.mj-timeline__event--odd) & {\n right: calc(50% + var(--mj-timeline-gap) + var(--mj-timeline-marker-size));\n text-align: right;\n }\n\n .mj-timeline__event--odd & {\n left: calc(50% + var(--mj-timeline-gap) + var(--mj-timeline-marker-size));\n text-align: left;\n }\n }\n\n .mj-timeline__card {\n max-width: calc(50% - var(--mj-timeline-gap) - var(--mj-timeline-marker-size));\n }\n}\n\n// ============================================================================\n// HORIZONTAL LAYOUT\n// ============================================================================\n\n.mj-timeline--horizontal {\n overflow-x: auto;\n overflow-y: hidden;\n -webkit-overflow-scrolling: touch;\n\n .mj-timeline__axis {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding-left: 0;\n padding-top: var(--mj-timeline-gap);\n min-width: max-content;\n\n &::before {\n left: 0;\n right: 0;\n top: calc(var(--mj-timeline-marker-size) / 2 + var(--mj-timeline-gap));\n bottom: auto;\n width: auto;\n height: var(--mj-timeline-line-width);\n }\n }\n\n .mj-timeline__segment-content {\n .mj-timeline__axis {\n flex-direction: row;\n }\n }\n\n .mj-timeline__event {\n flex-direction: column;\n align-items: center;\n margin-bottom: 0;\n margin-right: var(--mj-timeline-gap);\n min-width: 280px;\n max-width: 320px;\n\n &:last-child {\n margin-right: 0;\n }\n }\n\n .mj-timeline__marker {\n position: relative;\n left: auto;\n top: auto;\n margin-bottom: var(--mj-timeline-gap);\n }\n\n .mj-timeline__card {\n max-width: none;\n width: 100%;\n }\n\n .mj-timeline__date-label {\n display: block;\n margin-bottom: 8px;\n font-size: 12px;\n font-weight: 500;\n color: var(--mj-timeline-accent);\n }\n}\n\n// ============================================================================\n// RESPONSIVE STYLES\n// ============================================================================\n\n// Tablet\n@media (max-width: 1024px) {\n :host {\n --mj-timeline-card-max-width: 350px;\n --mj-timeline-axis-offset: 50px;\n }\n\n // Force single layout on tablet\n .mj-timeline--alternating {\n .mj-timeline__axis {\n align-items: flex-start;\n padding-left: var(--mj-timeline-axis-offset);\n\n &::before {\n left: calc(var(--mj-timeline-marker-size) / 2);\n transform: none;\n }\n }\n\n .mj-timeline__event {\n padding-right: 0;\n padding-left: 0;\n justify-content: flex-start;\n flex-direction: row;\n\n &--odd {\n padding-left: 0;\n justify-content: flex-start;\n flex-direction: row;\n }\n }\n\n .mj-timeline__marker {\n left: 0;\n transform: none;\n }\n\n .mj-timeline__date-label {\n display: none;\n }\n\n .mj-timeline__card {\n max-width: var(--mj-timeline-card-max-width);\n }\n }\n}\n\n// Mobile\n@media (max-width: 767px) {\n :host {\n --mj-timeline-card-max-width: 100%;\n --mj-timeline-card-min-width: 0;\n --mj-timeline-axis-offset: 40px;\n --mj-timeline-marker-size: 12px;\n --mj-timeline-card-padding: 12px;\n --mj-timeline-gap: 12px;\n }\n\n .mj-timeline {\n padding: var(--mj-timeline-gap);\n }\n\n .mj-timeline__segment-header {\n padding: 10px 12px;\n font-size: 14px;\n }\n\n .mj-timeline__segment-line {\n display: none;\n }\n\n .mj-timeline__card {\n max-width: none;\n min-width: 0;\n }\n\n .mj-timeline__card-title {\n font-size: 14px;\n white-space: normal;\n }\n\n .mj-timeline__card-actions {\n flex-direction: column;\n\n .mj-timeline__action {\n width: 100%;\n justify-content: center;\n }\n }\n\n // Horizontal mode on mobile\n .mj-timeline--horizontal {\n .mj-timeline__event {\n min-width: 240px;\n max-width: 280px;\n }\n }\n}\n\n// Touch device optimizations\n@media (hover: none) and (pointer: coarse) {\n .mj-timeline__card-actions--hover-only {\n opacity: 1;\n }\n\n .mj-timeline__action {\n min-height: 44px;\n min-width: 44px;\n }\n}\n"] }]
2006
+ args: [{ selector: 'mj-timeline', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<!--\n MJ Timeline Component Template\n\n Structure:\n - Loading state\n - Empty state\n - Timeline container (vertical/horizontal)\n - Time segments (collapsible)\n - Segment header\n - Event cards within segment\n - Or flat list of events (when segmentGrouping='none')\n - Virtual scroll sentinel\n-->\n\n<div\n class=\"mj-timeline\"\n [class.mj-timeline--vertical]=\"orientation === 'vertical'\"\n [class.mj-timeline--horizontal]=\"orientation === 'horizontal'\"\n [class.mj-timeline--single]=\"layout === 'single'\"\n [class.mj-timeline--alternating]=\"layout === 'alternating'\"\n [attr.aria-label]=\"ariaLabel\"\n role=\"list\"\n tabindex=\"0\"\n (keydown)=\"onKeyDown($event)\"\n #scrollContainer\n (scroll)=\"onScroll($event)\">\n\n <!-- Loading State -->\n <ng-container *ngIf=\"isLoading && !isInitialized\">\n <ng-container *ngIf=\"loadingTemplate; else defaultLoading\">\n <ng-container *ngTemplateOutlet=\"loadingTemplate\"></ng-container>\n </ng-container>\n <ng-template #defaultLoading>\n <div class=\"mj-timeline__loading\">\n <div class=\"mj-timeline__loading-spinner\"></div>\n <span class=\"mj-timeline__loading-text\">{{ loadingMessage }}</span>\n </div>\n </ng-template>\n </ng-container>\n\n <!-- Empty State -->\n <ng-container *ngIf=\"isInitialized && allEvents.length === 0 && !isLoading\">\n <ng-container *ngIf=\"emptyTemplate; else defaultEmpty\">\n <ng-container *ngTemplateOutlet=\"emptyTemplate\"></ng-container>\n </ng-container>\n <ng-template #defaultEmpty>\n <div class=\"mj-timeline__empty\">\n <i [class]=\"emptyIcon\" class=\"mj-timeline__empty-icon\"></i>\n <span class=\"mj-timeline__empty-text\">{{ emptyMessage }}</span>\n </div>\n </ng-template>\n </ng-container>\n\n <!-- Timeline Content -->\n <ng-container *ngIf=\"isInitialized && allEvents.length > 0\">\n\n <!-- Segmented View -->\n <ng-container *ngIf=\"segmentGrouping !== 'none'\">\n <div\n *ngFor=\"let segment of segments; trackBy: trackBySegmentLabel; let segmentIndex = index\"\n class=\"mj-timeline__segment\"\n [class.mj-timeline__segment--collapsed]=\"!segment.isExpanded\"\n [attr.data-segment-label]=\"segment.label\">\n\n <!-- Segment Header -->\n <div\n class=\"mj-timeline__segment-header\"\n [class.mj-timeline__segment-header--clickable]=\"segmentsCollapsible\"\n (click)=\"onSegmentClick(segment)\"\n role=\"button\"\n [attr.aria-expanded]=\"segment.isExpanded\"\n [attr.aria-controls]=\"'segment-content-' + segmentIndex\">\n\n <ng-container *ngIf=\"segmentHeaderTemplate; else defaultSegmentHeader\">\n <ng-container *ngTemplateOutlet=\"segmentHeaderTemplate; context: { segment: segment }\"></ng-container>\n </ng-container>\n\n <ng-template #defaultSegmentHeader>\n <span class=\"mj-timeline__segment-toggle\" *ngIf=\"segmentsCollapsible\">\n <i [class]=\"segment.isExpanded ? 'fa-solid fa-chevron-down' : 'fa-solid fa-chevron-right'\"></i>\n </span>\n <span class=\"mj-timeline__segment-label\">{{ segment.label }}</span>\n <span class=\"mj-timeline__segment-count\">({{ segment.eventCount }} {{ segment.eventCount === 1 ? 'event' : 'events' }})</span>\n <span class=\"mj-timeline__segment-line\"></span>\n </ng-template>\n </div>\n\n <!-- Segment Content -->\n <div\n class=\"mj-timeline__segment-content\"\n [id]=\"'segment-content-' + segmentIndex\"\n [class.mj-timeline__segment-content--hidden]=\"!segment.isExpanded\">\n\n <div class=\"mj-timeline__axis\">\n <!-- Events in Segment -->\n <ng-container *ngFor=\"let event of segment.events; trackBy: trackByEventId; let eventIndex = index; let isOdd = odd\">\n <ng-container *ngTemplateOutlet=\"eventCard; context: {\n event: event,\n index: eventIndex,\n isOdd: isOdd,\n globalIndex: getGlobalIndex(event)\n }\"></ng-container>\n </ng-container>\n </div>\n </div>\n </div>\n </ng-container>\n\n <!-- Flat View (no segments) -->\n <ng-container *ngIf=\"segmentGrouping === 'none'\">\n <div class=\"mj-timeline__axis\">\n <ng-container *ngFor=\"let event of allEvents; trackBy: trackByEventId; let eventIndex = index; let isOdd = odd\">\n <ng-container *ngTemplateOutlet=\"eventCard; context: {\n event: event,\n index: eventIndex,\n isOdd: isOdd,\n globalIndex: eventIndex\n }\"></ng-container>\n </ng-container>\n </div>\n </ng-container>\n\n </ng-container>\n\n <!-- Virtual Scroll Sentinel -->\n <div\n class=\"mj-timeline-scroll-sentinel\"\n *ngIf=\"virtualScroll.enabled && scrollState.hasMore\">\n </div>\n\n <!-- Loading More Indicator -->\n <div\n class=\"mj-timeline__loading-more\"\n *ngIf=\"scrollState.isLoading && virtualScroll.showLoadingIndicator\">\n <div class=\"mj-timeline__loading-spinner mj-timeline__loading-spinner--small\"></div>\n <span>{{ virtualScroll.loadingMessage }}</span>\n </div>\n\n</div>\n\n<!-- Event Card Template -->\n<ng-template #eventCard let-event=\"event\" let-index=\"index\" let-isOdd=\"isOdd\" let-globalIndex=\"globalIndex\">\n <div\n class=\"mj-timeline__event\"\n [class.mj-timeline__event--odd]=\"isOdd && layout === 'alternating'\"\n [class.mj-timeline__event--even]=\"!isOdd && layout === 'alternating'\"\n [class.mj-timeline__event--expanded]=\"event.isExpanded\"\n [class.mj-timeline__event--focused]=\"isEventSelected(event, globalIndex)\"\n [attr.data-event-id]=\"event.id\"\n role=\"listitem\"\n [attr.aria-expanded]=\"event.isExpanded\">\n\n <!-- Timeline Marker -->\n <div class=\"mj-timeline__marker\" [style.background-color]=\"getColor(event)\">\n <i [class]=\"getIcon(event)\" class=\"mj-timeline__marker-icon\"></i>\n </div>\n\n <!-- Connector Line -->\n <div class=\"mj-timeline__connector\" [style.background-color]=\"getColor(event)\"></div>\n\n <!-- Date Label (for alternating layout) -->\n <div class=\"mj-timeline__date-label\" *ngIf=\"layout === 'alternating'\">\n {{ formatDate(event.date) }}\n </div>\n\n <!-- Event Card -->\n <div\n class=\"mj-timeline__card\"\n [ngClass]=\"getEffectiveCardConfig(event).cssClass\"\n [style.max-width]=\"getEffectiveCardConfig(event).maxWidth\"\n [style.min-width]=\"getEffectiveCardConfig(event).minWidth\"\n [style.border-left-color]=\"getColor(event)\"\n (click)=\"onEventClick(event, globalIndex, $event)\"\n (mouseenter)=\"onEventMouseEnter(event, globalIndex, $event)\"\n (mouseleave)=\"onEventMouseLeave(event, globalIndex, $event)\">\n\n <!-- Custom Card Template -->\n <ng-container *ngIf=\"cardTemplate; else defaultCard\">\n <ng-container *ngTemplateOutlet=\"cardTemplate; context: {\n event: event,\n group: groups[event.groupIndex]\n }\"></ng-container>\n </ng-container>\n\n <!-- Default Card Template -->\n <ng-template #defaultCard>\n <!-- Card Header -->\n <div class=\"mj-timeline__card-header\">\n <!-- Image (left position) -->\n <div\n class=\"mj-timeline__card-image mj-timeline__card-image--left\"\n *ngIf=\"event.imageUrl && getEffectiveCardConfig(event).imagePosition === 'left'\"\n [class.mj-timeline__card-image--small]=\"getEffectiveCardConfig(event).imageSize === 'small'\"\n [class.mj-timeline__card-image--medium]=\"getEffectiveCardConfig(event).imageSize === 'medium'\"\n [class.mj-timeline__card-image--large]=\"getEffectiveCardConfig(event).imageSize === 'large'\">\n <img [src]=\"event.imageUrl\" [alt]=\"event.title\" />\n </div>\n\n <div class=\"mj-timeline__card-header-content\">\n <!-- Custom Header Template -->\n <ng-container *ngIf=\"headerTemplate; else defaultHeader\">\n <ng-container *ngTemplateOutlet=\"headerTemplate; context: { event: event }\"></ng-container>\n </ng-container>\n\n <ng-template #defaultHeader>\n <!-- Icon -->\n <span\n class=\"mj-timeline__card-icon\"\n *ngIf=\"getEffectiveCardConfig(event).showIcon\"\n [style.color]=\"getColor(event)\">\n <i [class]=\"getIcon(event)\"></i>\n </span>\n\n <!-- Title & Subtitle -->\n <div class=\"mj-timeline__card-titles\">\n <h4 class=\"mj-timeline__card-title\">{{ event.title }}</h4>\n <span\n class=\"mj-timeline__card-subtitle\"\n *ngIf=\"event.subtitle && getEffectiveCardConfig(event).showSubtitle\">\n {{ event.subtitle }}\n </span>\n <span\n class=\"mj-timeline__card-date\"\n *ngIf=\"getEffectiveCardConfig(event).showDate && layout !== 'alternating'\">\n {{ formatDate(event.date, getEffectiveCardConfig(event).dateFormat) }}\n </span>\n </div>\n\n <!-- Expand/Collapse Toggle -->\n <button\n class=\"mj-timeline__card-toggle\"\n *ngIf=\"getEffectiveCardConfig(event).collapsible\"\n (click)=\"onToggleExpand(event, globalIndex, $event)\"\n [attr.aria-label]=\"event.isExpanded ? 'Collapse' : 'Expand'\"\n type=\"button\">\n <i [class]=\"event.isExpanded ? 'fa-solid fa-chevron-up' : 'fa-solid fa-chevron-down'\"></i>\n </button>\n </ng-template>\n </div>\n </div>\n\n <!-- Image (top position) -->\n <div\n class=\"mj-timeline__card-image mj-timeline__card-image--top\"\n *ngIf=\"event.imageUrl && getEffectiveCardConfig(event).imagePosition === 'top'\">\n <img [src]=\"event.imageUrl\" [alt]=\"event.title\" />\n </div>\n\n <!-- Card Body -->\n <div\n class=\"mj-timeline__card-body\"\n [class.mj-timeline__card-body--collapsed]=\"!event.isExpanded && getEffectiveCardConfig(event).collapsible\">\n\n <!-- Custom Body Template -->\n <ng-container *ngIf=\"bodyTemplate; else defaultBody\">\n <ng-container *ngTemplateOutlet=\"bodyTemplate; context: { event: event }\"></ng-container>\n </ng-container>\n\n <ng-template #defaultBody>\n <!-- Summary Fields (always visible) -->\n <div\n class=\"mj-timeline__card-fields mj-timeline__card-fields--summary\"\n *ngIf=\"getEffectiveCardConfig(event).summaryFields?.length\">\n <ng-container *ngFor=\"let field of getEffectiveCardConfig(event).summaryFields\">\n <div class=\"mj-timeline__card-field\" [ngClass]=\"field.cssClass\">\n <i *ngIf=\"field.icon\" [ngClass]=\"field.icon\" class=\"mj-timeline__card-field-icon\"></i>\n <span *ngIf=\"!field.hideLabel && field.label\" class=\"mj-timeline__card-field-label\">{{ field.label }}:</span>\n <span class=\"mj-timeline__card-field-value\">{{ getFieldValue(event, field) }}</span>\n </div>\n </ng-container>\n </div>\n\n <!-- Description (expanded view) -->\n <div\n class=\"mj-timeline__card-description\"\n *ngIf=\"event.description && event.isExpanded\"\n [class.mj-timeline__card-description--clamped]=\"(getEffectiveCardConfig(event).descriptionMaxLines ?? 0) > 0\"\n [style.-webkit-line-clamp]=\"getEffectiveCardConfig(event).descriptionMaxLines || null\">\n <ng-container *ngIf=\"getEffectiveCardConfig(event).allowHtmlDescription; else plainDescription\">\n <div [innerHTML]=\"event.description\"></div>\n </ng-container>\n <ng-template #plainDescription>\n {{ event.description }}\n </ng-template>\n </div>\n\n <!-- Expanded Fields -->\n <div\n class=\"mj-timeline__card-fields mj-timeline__card-fields--expanded\"\n *ngIf=\"event.isExpanded && getEffectiveCardConfig(event).expandedFields?.length\">\n <ng-container *ngFor=\"let field of getEffectiveCardConfig(event).expandedFields\">\n <div class=\"mj-timeline__card-field\" [ngClass]=\"field.cssClass\">\n <i *ngIf=\"field.icon\" [ngClass]=\"field.icon\" class=\"mj-timeline__card-field-icon\"></i>\n <span *ngIf=\"!field.hideLabel\" class=\"mj-timeline__card-field-label\">{{ field.label || field.fieldName }}:</span>\n <span class=\"mj-timeline__card-field-value\">{{ getFieldValue(event, field) }}</span>\n </div>\n </ng-container>\n </div>\n </ng-template>\n </div>\n\n <!-- Card Actions -->\n <div\n class=\"mj-timeline__card-actions\"\n [class.mj-timeline__card-actions--hover-only]=\"getEffectiveCardConfig(event).actionsOnHover\"\n *ngIf=\"getActions(event).length > 0\">\n\n <!-- Custom Actions Template -->\n <ng-container *ngIf=\"actionsTemplate; else defaultActions\">\n <ng-container *ngTemplateOutlet=\"actionsTemplate; context: {\n event: event,\n actions: getActions(event)\n }\"></ng-container>\n </ng-container>\n\n <ng-template #defaultActions>\n <button\n *ngFor=\"let action of getActions(event)\"\n class=\"mj-timeline__action\"\n [class.mj-timeline__action--primary]=\"action.variant === 'primary'\"\n [class.mj-timeline__action--secondary]=\"action.variant === 'secondary' || !action.variant\"\n [class.mj-timeline__action--danger]=\"action.variant === 'danger'\"\n [class.mj-timeline__action--link]=\"action.variant === 'link'\"\n [ngClass]=\"action.cssClass\"\n [disabled]=\"action.disabled\"\n [title]=\"action.tooltip || ''\"\n (click)=\"onActionClick(event, action, globalIndex, $event)\"\n type=\"button\">\n <i *ngIf=\"action.icon\" [ngClass]=\"action.icon\"></i>\n <span>{{ action.label }}</span>\n </button>\n </ng-template>\n </div>\n </ng-template>\n </div>\n </div>\n</ng-template>\n", styles: ["/**\n * MJ Timeline Component Styles\n * Kendo-inspired design with vertical alternating and horizontal layouts\n */\n\n/* ============================================================================\n CSS VARIABLES (Theming)\n ============================================================================ */\n\nmj-timeline {\n /* Colors */\n --mj-timeline-bg: transparent;\n --mj-timeline-line-color: #d0d7de;\n --mj-timeline-marker-bg: #ffffff;\n --mj-timeline-marker-border: #4678a8;\n --mj-timeline-marker-fill: #4678a8;\n --mj-timeline-card-bg: #ffffff;\n --mj-timeline-card-border: #d0d7de;\n --mj-timeline-card-shadow: 0 1px 3px rgba(31, 35, 40, 0.08);\n --mj-timeline-card-shadow-hover: 0 4px 12px rgba(31, 35, 40, 0.12);\n --mj-timeline-card-radius: 6px;\n --mj-timeline-text-primary: #1f2328;\n --mj-timeline-text-secondary: #656d76;\n --mj-timeline-text-muted: #8c959f;\n --mj-timeline-accent: #4678a8;\n --mj-timeline-accent-light: rgba(70, 120, 168, 0.08);\n --mj-timeline-segment-bg: #4678a8;\n --mj-timeline-segment-text: #ffffff;\n --mj-timeline-focus-ring: 0 0 0 2px rgba(70, 120, 168, 0.3);\n\n /* Sizing */\n --mj-timeline-line-width: 2px;\n --mj-timeline-marker-size: 14px;\n --mj-timeline-card-padding: 16px;\n --mj-timeline-card-max-width: 400px;\n --mj-timeline-card-min-width: 200px;\n --mj-timeline-gap: 24px;\n --mj-timeline-segment-gap: 16px;\n --mj-timeline-axis-offset: 50%;\n\n /* Animation */\n --mj-timeline-transition: 0.15s ease;\n\n display: block;\n width: 100%;\n height: 100%;\n}\n\n/* Dark mode */\n.dark-theme mj-timeline,\n[data-theme=\"dark\"] mj-timeline {\n --mj-timeline-line-color: #3d444d;\n --mj-timeline-card-bg: #161b22;\n --mj-timeline-card-border: #3d444d;\n --mj-timeline-card-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);\n --mj-timeline-text-primary: #e6edf3;\n --mj-timeline-text-secondary: #8b949e;\n --mj-timeline-text-muted: #6e7681;\n --mj-timeline-accent: #58a6ff;\n --mj-timeline-accent-light: rgba(88, 166, 255, 0.1);\n --mj-timeline-marker-border: #58a6ff;\n --mj-timeline-marker-fill: #58a6ff;\n --mj-timeline-segment-bg: #58a6ff;\n}\n\n/* ============================================================================\n MAIN CONTAINER\n ============================================================================ */\n\n.mj-timeline {\n position: relative;\n width: 100%;\n height: 100%;\n padding: 0;\n background: var(--mj-timeline-bg);\n outline: none;\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n/* Subtle scrollbar */\n.mj-timeline::-webkit-scrollbar {\n width: 6px;\n}\n\n.mj-timeline::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.mj-timeline::-webkit-scrollbar-thumb {\n background: rgba(0, 0, 0, 0.15);\n border-radius: 3px;\n}\n\n.mj-timeline::-webkit-scrollbar-thumb:hover {\n background: rgba(0, 0, 0, 0.25);\n}\n\n.mj-timeline:focus-visible {\n box-shadow: inset var(--mj-timeline-focus-ring);\n}\n\n/* ============================================================================\n LOADING & EMPTY STATES\n ============================================================================ */\n\n.mj-timeline__loading {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 48px 24px;\n gap: 12px;\n}\n\n.mj-timeline__loading-spinner {\n width: 24px;\n height: 24px;\n border: 2px solid var(--mj-timeline-line-color);\n border-top-color: var(--mj-timeline-accent);\n border-radius: 50%;\n animation: mj-timeline-spin 0.6s linear infinite;\n}\n\n.mj-timeline__loading-spinner--small {\n width: 14px;\n height: 14px;\n}\n\n.mj-timeline__loading-text {\n color: var(--mj-timeline-text-muted);\n font-size: 13px;\n}\n\n.mj-timeline__loading-more {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 16px;\n gap: 8px;\n color: var(--mj-timeline-text-muted);\n font-size: 12px;\n}\n\n@keyframes mj-timeline-spin {\n to { transform: rotate(360deg); }\n}\n\n.mj-timeline__empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 64px 24px;\n gap: 8px;\n text-align: center;\n}\n\n.mj-timeline__empty-icon {\n font-size: 32px;\n color: var(--mj-timeline-text-muted);\n opacity: 0.4;\n}\n\n.mj-timeline__empty-text {\n color: var(--mj-timeline-text-secondary);\n font-size: 13px;\n}\n\n/* ============================================================================\n TIME SEGMENTS - Year/Month badges on the axis\n ============================================================================ */\n\n.mj-timeline__segment {\n margin-bottom: var(--mj-timeline-segment-gap);\n position: relative;\n}\n\n.mj-timeline__segment:last-child {\n margin-bottom: 0;\n}\n\n.mj-timeline__segment-header {\n display: inline-flex;\n align-items: center;\n gap: 8px;\n padding: 6px 16px;\n margin-bottom: var(--mj-timeline-gap);\n background: var(--mj-timeline-segment-bg);\n border-radius: 4px;\n font-weight: 600;\n font-size: 13px;\n color: var(--mj-timeline-segment-text);\n user-select: none;\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n position: relative;\n z-index: 10;\n}\n\n.mj-timeline__segment-header--clickable {\n cursor: pointer;\n transition: all var(--mj-timeline-transition);\n}\n\n.mj-timeline__segment-header--clickable:hover {\n filter: brightness(1.1);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);\n}\n\n.mj-timeline__segment-toggle {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n color: inherit;\n font-size: 10px;\n opacity: 0.9;\n transition: transform var(--mj-timeline-transition);\n}\n\n.mj-timeline__segment--collapsed .mj-timeline__segment-toggle {\n transform: rotate(-90deg);\n}\n\n.mj-timeline__segment-label {\n font-size: inherit;\n font-weight: inherit;\n color: inherit;\n}\n\n.mj-timeline__segment-count {\n display: none;\n}\n\n.mj-timeline__segment-line {\n display: none;\n}\n\n.mj-timeline__segment-content {\n overflow: visible;\n transition: max-height 0.25s ease, opacity 0.2s ease;\n padding-top: 8px;\n}\n\n.mj-timeline__segment-content--hidden {\n max-height: 0;\n opacity: 0;\n pointer-events: none;\n}\n\n/* ============================================================================\n TIMELINE AXIS - Vertical line in center\n ============================================================================ */\n\n.mj-timeline__axis {\n position: relative;\n padding-left: 0;\n}\n\n/* Vertical center line */\n.mj-timeline__axis::before {\n content: '';\n position: absolute;\n left: 50%;\n top: 0;\n bottom: 0;\n width: var(--mj-timeline-line-width);\n background: var(--mj-timeline-line-color);\n transform: translateX(-50%);\n}\n\n/* ============================================================================\n TIMELINE EVENT - Alternating left/right by default\n ============================================================================ */\n\n.mj-timeline__event {\n position: relative;\n display: flex;\n align-items: flex-start;\n margin-bottom: var(--mj-timeline-gap);\n width: 100%;\n}\n\n/* Even events (0, 2, 4...) - card on LEFT, date on RIGHT */\n.mj-timeline__event {\n padding-right: calc(50% + 32px);\n justify-content: flex-end;\n}\n\n/* Odd events (1, 3, 5...) - card on RIGHT, date on LEFT */\n.mj-timeline__event--odd {\n padding-right: 0;\n padding-left: calc(50% + 32px);\n justify-content: flex-start;\n flex-direction: row;\n}\n\n.mj-timeline__event:last-child {\n margin-bottom: 0;\n}\n\n/* ============================================================================\n MARKER - Circular dot on the axis\n ============================================================================ */\n\n.mj-timeline__marker {\n position: absolute;\n left: 50%;\n top: 12px;\n transform: translateX(-50%);\n width: var(--mj-timeline-marker-size);\n height: var(--mj-timeline-marker-size);\n background: var(--mj-timeline-marker-fill);\n border: 2px solid var(--mj-timeline-marker-bg);\n border-radius: 50%;\n box-shadow: 0 0 0 2px var(--mj-timeline-marker-fill);\n z-index: 5;\n transition: transform var(--mj-timeline-transition);\n}\n\n.mj-timeline__marker-icon {\n display: none;\n}\n\n.mj-timeline__event:hover .mj-timeline__marker {\n transform: translateX(-50%) scale(1.2);\n}\n\n.mj-timeline__connector {\n display: none;\n}\n\n/* ============================================================================\n DATE LABEL - Positioned opposite the card\n ============================================================================ */\n\n.mj-timeline__date-label {\n position: absolute;\n top: 10px;\n font-size: 13px;\n font-weight: 500;\n color: var(--mj-timeline-text-secondary);\n white-space: nowrap;\n}\n\n/* Even events - date on RIGHT side of axis */\n.mj-timeline__event:not(.mj-timeline__event--odd) .mj-timeline__date-label {\n left: calc(50% + 24px);\n text-align: left;\n}\n\n/* Odd events - date on LEFT side of axis */\n.mj-timeline__event--odd .mj-timeline__date-label {\n right: calc(50% + 24px);\n text-align: right;\n}\n\n/* ============================================================================\n EVENT CARD - Clean design matching Kendo\n ============================================================================ */\n\n.mj-timeline__card {\n background: var(--mj-timeline-card-bg);\n border: 1px solid var(--mj-timeline-card-border);\n border-radius: var(--mj-timeline-card-radius);\n box-shadow: var(--mj-timeline-card-shadow);\n overflow: hidden;\n transition: all var(--mj-timeline-transition);\n cursor: pointer;\n max-width: var(--mj-timeline-card-max-width);\n min-width: var(--mj-timeline-card-min-width);\n width: 100%;\n}\n\n/* Card arrow/pointer toward the axis */\n.mj-timeline__card::before {\n content: '';\n position: absolute;\n top: 14px;\n width: 10px;\n height: 10px;\n background: var(--mj-timeline-card-bg);\n border: 1px solid var(--mj-timeline-card-border);\n transform: rotate(45deg);\n}\n\n/* Even events - arrow points RIGHT toward axis */\n.mj-timeline__event:not(.mj-timeline__event--odd) .mj-timeline__card::before {\n right: -6px;\n border-left: none;\n border-bottom: none;\n}\n\n/* Odd events - arrow points LEFT toward axis */\n.mj-timeline__event--odd .mj-timeline__card::before {\n left: -6px;\n border-right: none;\n border-top: none;\n}\n\n/* Hover state */\n.mj-timeline__card:hover {\n box-shadow: var(--mj-timeline-card-shadow-hover);\n border-color: var(--mj-timeline-accent);\n}\n\n/* Selected/Focused state - prominent highlight with animation */\n.mj-timeline__event--focused .mj-timeline__card {\n background: var(--mj-timeline-accent-light);\n border-color: var(--mj-timeline-accent);\n box-shadow:\n 0 0 0 3px var(--mj-timeline-accent),\n 0 8px 24px rgba(70, 120, 168, 0.25);\n transform: scale(1.02);\n}\n\n/* Selected marker - larger and more prominent */\n.mj-timeline__event--focused .mj-timeline__marker {\n transform: translateX(-50%) scale(1.4);\n box-shadow:\n 0 0 0 3px var(--mj-timeline-marker-fill),\n 0 0 12px rgba(70, 120, 168, 0.5);\n}\n\n/* Pulse animation for selected marker */\n.mj-timeline__event--focused .mj-timeline__marker::after {\n content: '';\n position: absolute;\n top: -4px;\n left: -4px;\n right: -4px;\n bottom: -4px;\n border-radius: 50%;\n border: 2px solid var(--mj-timeline-accent);\n animation: mj-timeline-pulse 1.5s ease-out infinite;\n}\n\n@keyframes mj-timeline-pulse {\n 0% {\n transform: scale(1);\n opacity: 0.8;\n }\n 100% {\n transform: scale(1.8);\n opacity: 0;\n }\n}\n\n/* Selected date label - bolder */\n.mj-timeline__event--focused .mj-timeline__date-label {\n color: var(--mj-timeline-accent);\n font-weight: 600;\n}\n\n/* Card arrow gets accent color when selected */\n.mj-timeline__event--focused .mj-timeline__card::before {\n border-color: var(--mj-timeline-accent);\n background: var(--mj-timeline-accent-light);\n}\n\n/* ============================================================================\n CARD HEADER\n ============================================================================ */\n\n.mj-timeline__card-header {\n display: flex;\n align-items: flex-start;\n padding: var(--mj-timeline-card-padding);\n gap: 10px;\n}\n\n.mj-timeline__card-header-content {\n flex: 1;\n display: flex;\n align-items: flex-start;\n gap: 10px;\n min-width: 0;\n}\n\n.mj-timeline__card-icon {\n display: none;\n}\n\n.mj-timeline__card-titles {\n flex: 1;\n min-width: 0;\n}\n\n.mj-timeline__card-title {\n margin: 0;\n font-size: 15px;\n font-weight: 600;\n color: var(--mj-timeline-text-primary);\n line-height: 1.35;\n}\n\n.mj-timeline__card-subtitle {\n display: block;\n font-size: 13px;\n color: var(--mj-timeline-text-secondary);\n margin-top: 4px;\n}\n\n.mj-timeline__card-date {\n display: block;\n font-size: 12px;\n color: var(--mj-timeline-text-muted);\n margin-top: 6px;\n}\n\n.mj-timeline__card-date::before {\n display: none;\n}\n\n.mj-timeline__card-toggle {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n border: none;\n background: transparent;\n color: var(--mj-timeline-text-muted);\n border-radius: 4px;\n cursor: pointer;\n transition: all var(--mj-timeline-transition);\n font-size: 14px;\n}\n\n.mj-timeline__card-toggle:hover {\n background: var(--mj-timeline-accent-light);\n color: var(--mj-timeline-accent);\n}\n\n/* ============================================================================\n CARD IMAGE\n ============================================================================ */\n\n.mj-timeline__card-image {\n overflow: hidden;\n border-radius: 4px;\n flex-shrink: 0;\n}\n\n.mj-timeline__card-image img {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.mj-timeline__card-image--left.mj-timeline__card-image--small {\n width: 48px;\n height: 48px;\n}\n\n.mj-timeline__card-image--left.mj-timeline__card-image--medium {\n width: 72px;\n height: 72px;\n}\n\n.mj-timeline__card-image--left.mj-timeline__card-image--large {\n width: 96px;\n height: 96px;\n}\n\n.mj-timeline__card-image--top {\n width: calc(100% - 32px);\n max-height: 180px;\n margin: 0 16px 12px;\n}\n\n/* ============================================================================\n CARD BODY\n ============================================================================ */\n\n.mj-timeline__card-body {\n padding: 0 var(--mj-timeline-card-padding) var(--mj-timeline-card-padding);\n}\n\n.mj-timeline__card-body--collapsed {\n display: none;\n}\n\n.mj-timeline__card-description {\n font-size: 13px;\n line-height: 1.6;\n color: var(--mj-timeline-text-secondary);\n margin-bottom: 12px;\n}\n\n.mj-timeline__card-description--clamped {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.mj-timeline__card-description:last-child {\n margin-bottom: 0;\n}\n\n/* ============================================================================\n CARD FIELDS\n ============================================================================ */\n\n.mj-timeline__card-fields {\n display: flex;\n flex-wrap: wrap;\n gap: 4px 12px;\n}\n\n.mj-timeline__card-fields--summary {\n padding-top: 12px;\n border-top: 1px solid var(--mj-timeline-line-color);\n margin-top: 12px;\n}\n\n.mj-timeline__card-fields--expanded {\n margin-top: 12px;\n padding-top: 12px;\n border-top: 1px solid var(--mj-timeline-line-color);\n}\n\n.mj-timeline__card-field {\n display: flex;\n align-items: center;\n gap: 5px;\n font-size: 12px;\n}\n\n.mj-timeline__card-field-icon {\n color: var(--mj-timeline-text-muted);\n font-size: 10px;\n}\n\n.mj-timeline__card-field-label {\n color: var(--mj-timeline-text-muted);\n}\n\n.mj-timeline__card-field-value {\n color: var(--mj-timeline-text-secondary);\n font-weight: 500;\n}\n\n/* ============================================================================\n CARD ACTIONS\n ============================================================================ */\n\n.mj-timeline__card-actions {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n padding: 0 var(--mj-timeline-card-padding) var(--mj-timeline-card-padding);\n justify-content: flex-end;\n}\n\n.mj-timeline__card-actions--hover-only {\n opacity: 0;\n transition: opacity var(--mj-timeline-transition);\n}\n\n.mj-timeline__card:hover .mj-timeline__card-actions--hover-only,\n.mj-timeline__card:focus-within .mj-timeline__card-actions--hover-only {\n opacity: 1;\n}\n\n.mj-timeline__action {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 6px 12px;\n font-size: 12px;\n font-weight: 500;\n border: 1px solid;\n border-radius: 4px;\n cursor: pointer;\n transition: all var(--mj-timeline-transition);\n}\n\n.mj-timeline__action:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n.mj-timeline__action i {\n font-size: 10px;\n}\n\n.mj-timeline__action--primary {\n background: var(--mj-timeline-accent);\n border-color: var(--mj-timeline-accent);\n color: #ffffff;\n}\n\n.mj-timeline__action--primary:hover:not(:disabled) {\n filter: brightness(1.1);\n}\n\n.mj-timeline__action--secondary {\n background: transparent;\n border-color: var(--mj-timeline-card-border);\n color: var(--mj-timeline-text-primary);\n}\n\n.mj-timeline__action--secondary:hover:not(:disabled) {\n background: var(--mj-timeline-accent-light);\n border-color: var(--mj-timeline-accent);\n color: var(--mj-timeline-accent);\n}\n\n.mj-timeline__action--danger {\n background: #cf222e;\n border-color: #cf222e;\n color: #ffffff;\n}\n\n.mj-timeline__action--link {\n background: transparent;\n border-color: transparent;\n color: var(--mj-timeline-accent);\n}\n\n.mj-timeline__action--link:hover:not(:disabled) {\n text-decoration: underline;\n}\n\n/* ============================================================================\n VIRTUAL SCROLL\n ============================================================================ */\n\n.mj-timeline-scroll-sentinel {\n height: 1px;\n width: 100%;\n visibility: hidden;\n}\n\n/* ============================================================================\n SINGLE LAYOUT - Cards only on right side\n ============================================================================ */\n\n.mj-timeline--single .mj-timeline__axis::before {\n left: 24px;\n transform: none;\n}\n\n.mj-timeline--single .mj-timeline__segment-header {\n margin-left: 12px;\n}\n\n.mj-timeline--single .mj-timeline__event {\n padding-right: 0;\n padding-left: 56px;\n justify-content: flex-start;\n}\n\n.mj-timeline--single .mj-timeline__event--odd {\n padding-left: 56px;\n flex-direction: row;\n}\n\n.mj-timeline--single .mj-timeline__marker {\n left: 24px;\n transform: translateX(-50%);\n}\n\n.mj-timeline--single .mj-timeline__date-label {\n display: none;\n}\n\n.mj-timeline--single .mj-timeline__card::before {\n left: -6px;\n right: auto;\n border-right: none;\n border-top: none;\n border-left: 1px solid var(--mj-timeline-card-border);\n border-bottom: 1px solid var(--mj-timeline-card-border);\n}\n\n.mj-timeline--single .mj-timeline__card {\n max-width: none;\n}\n\n/* ============================================================================\n ALTERNATING LAYOUT - Explicit class (same as default vertical)\n ============================================================================ */\n\n.mj-timeline--alternating .mj-timeline__segment-header {\n left: 50%;\n transform: translateX(-50%);\n}\n\n/* ============================================================================\n HORIZONTAL LAYOUT\n ============================================================================ */\n\n.mj-timeline--horizontal {\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n align-items: flex-start;\n overflow-x: auto;\n overflow-y: hidden;\n padding: 80px 40px 24px;\n min-width: 100%;\n}\n\n.mj-timeline--horizontal .mj-timeline__segment {\n flex: 0 0 auto;\n display: flex;\n flex-direction: column;\n margin-bottom: 0;\n margin-right: 40px;\n position: relative;\n}\n\n.mj-timeline--horizontal .mj-timeline__segment:last-child {\n margin-right: 0;\n}\n\n.mj-timeline--horizontal .mj-timeline__segment-header {\n position: absolute;\n top: -56px;\n left: 0;\n margin-bottom: 0;\n white-space: nowrap;\n}\n\n.mj-timeline--horizontal .mj-timeline__segment-content {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n}\n\n.mj-timeline--horizontal .mj-timeline__axis {\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding-left: 0;\n min-width: max-content;\n gap: 0;\n}\n\n/* Horizontal axis line */\n.mj-timeline--horizontal .mj-timeline__axis::before {\n left: 0;\n right: 0;\n top: 0;\n bottom: auto;\n width: 100%;\n height: var(--mj-timeline-line-width);\n transform: none;\n}\n\n.mj-timeline--horizontal .mj-timeline__event {\n flex-direction: column;\n align-items: center;\n margin-bottom: 0;\n margin-right: 48px;\n padding: 0;\n padding-top: 32px;\n min-width: 180px;\n max-width: 280px;\n width: auto;\n}\n\n.mj-timeline--horizontal .mj-timeline__event--odd {\n padding-left: 0;\n flex-direction: column;\n}\n\n.mj-timeline--horizontal .mj-timeline__event:last-child {\n margin-right: 0;\n}\n\n.mj-timeline--horizontal .mj-timeline__marker {\n position: absolute;\n left: 50%;\n /* Position so marker is centered on the axis line (top: 0 of axis) */\n /* Event has padding-top: 32px, marker is 14px, so top: -(32 + 7) = -39px for center */\n top: calc(-32px - var(--mj-timeline-marker-size) / 2);\n transform: translateX(-50%);\n margin: 0;\n}\n\n.mj-timeline--horizontal .mj-timeline__event:hover .mj-timeline__marker {\n transform: translateX(-50%) scale(1.2);\n}\n\n.mj-timeline--horizontal .mj-timeline__date-label {\n position: absolute;\n top: -40px;\n left: 50%;\n right: auto;\n transform: translateX(-50%);\n text-align: center;\n font-size: 12px;\n}\n\n.mj-timeline--horizontal .mj-timeline__card {\n max-width: none;\n width: 100%;\n min-width: 0;\n}\n\n.mj-timeline--horizontal .mj-timeline__card::before {\n display: none;\n}\n\n/* Horizontal focused marker override */\n.mj-timeline--horizontal .mj-timeline__event--focused .mj-timeline__marker {\n transform: translateX(-50%) scale(1.4);\n}\n\n/* Horizontal collapsed segment - rotate 90\u00B0 CCW and compress */\n.mj-timeline--horizontal .mj-timeline__segment--collapsed {\n flex: 0 0 auto;\n width: 32px;\n min-width: 32px;\n margin-right: 4px;\n}\n\n.mj-timeline--horizontal .mj-timeline__segment--collapsed .mj-timeline__segment-header {\n writing-mode: vertical-rl;\n text-orientation: mixed;\n transform: rotate(180deg);\n white-space: nowrap;\n padding: 8px 4px;\n margin: 0;\n top: 0;\n position: relative;\n}\n\n.mj-timeline--horizontal .mj-timeline__segment--collapsed .mj-timeline__segment-content {\n display: none;\n}\n\n/* ============================================================================\n RESPONSIVE\n ============================================================================ */\n\n@media (max-width: 900px) {\n /* Force single layout on smaller screens */\n .mj-timeline--alternating .mj-timeline__axis::before {\n left: 24px;\n transform: none;\n }\n\n .mj-timeline--alternating .mj-timeline__segment-header {\n left: auto;\n transform: none;\n margin-left: 12px;\n }\n\n .mj-timeline--alternating .mj-timeline__event {\n padding-right: 0;\n padding-left: 56px;\n justify-content: flex-start;\n }\n\n .mj-timeline--alternating .mj-timeline__event--odd {\n padding-left: 56px;\n padding-right: 0;\n flex-direction: row;\n }\n\n .mj-timeline--alternating .mj-timeline__marker {\n left: 24px;\n transform: translateX(-50%);\n }\n\n .mj-timeline--alternating .mj-timeline__event:hover .mj-timeline__marker {\n transform: translateX(-50%) scale(1.2);\n }\n\n .mj-timeline--alternating .mj-timeline__date-label {\n display: none;\n }\n\n .mj-timeline--alternating .mj-timeline__card::before {\n left: -6px;\n right: auto;\n border-right: none;\n border-top: none;\n border-left: 1px solid var(--mj-timeline-card-border);\n border-bottom: 1px solid var(--mj-timeline-card-border);\n }\n\n .mj-timeline--alternating .mj-timeline__card {\n max-width: none;\n }\n}\n\n@media (max-width: 600px) {\n mj-timeline {\n --mj-timeline-card-padding: 12px;\n --mj-timeline-gap: 16px;\n --mj-timeline-marker-size: 12px;\n }\n\n .mj-timeline {\n padding: 16px 12px;\n }\n\n .mj-timeline__card-title {\n font-size: 14px;\n }\n\n .mj-timeline--horizontal .mj-timeline__event {\n min-width: 160px;\n max-width: 220px;\n margin-right: 32px;\n }\n}\n\n/* Touch devices */\n@media (hover: none) and (pointer: coarse) {\n .mj-timeline__card-actions--hover-only {\n opacity: 1;\n }\n\n .mj-timeline__action {\n min-height: 40px;\n }\n}\n\n/* Reduced motion */\n@media (prefers-reduced-motion: reduce) {\n .mj-timeline__card,\n .mj-timeline__marker,\n .mj-timeline__segment-toggle {\n transition: none;\n }\n}\n"] }]
1884
2007
  }], () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i0.NgZone }], { groups: [{
1885
2008
  type: Input
1886
2009
  }], allowLoad: [{
@@ -1911,6 +2034,8 @@ export class TimelineComponent {
1911
2034
  type: Input
1912
2035
  }], enableKeyboardNavigation: [{
1913
2036
  type: Input
2037
+ }], selectedEventId: [{
2038
+ type: Input
1914
2039
  }], beforeEventClick: [{
1915
2040
  type: Output
1916
2041
  }], beforeEventExpand: [{
@@ -1968,5 +2093,5 @@ export class TimelineComponent {
1968
2093
  type: ViewChild,
1969
2094
  args: ['scrollContainer']
1970
2095
  }] }); })();
1971
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TimelineComponent, { className: "TimelineComponent", filePath: "src/lib/component/timeline.component.ts", lineNumber: 141 }); })();
2096
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TimelineComponent, { className: "TimelineComponent", filePath: "src/lib/component/timeline.component.ts", lineNumber: 143 }); })();
1972
2097
  //# sourceMappingURL=timeline.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"timeline.component.js","sourceRoot":"","sources":["../../../src/lib/component/timeline.component.ts","../../../src/lib/component/timeline.component.html"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timeline.component.js","sourceRoot":"","sources":["../../../src/lib/component/timeline.component.ts","../../../src/lib/component/timeline.component.html"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ng-timeline",
3
- "version": "2.122.2",
3
+ "version": "2.123.0",
4
4
  "description": "MemberJunction: Responsive timeline component for Angular. Works with MemberJunction entities or plain JavaScript objects. No external dependencies.",
5
5
  "main": "./dist/public-api.js",
6
6
  "typings": "./dist/public-api.d.ts",
@@ -35,7 +35,7 @@
35
35
  }
36
36
  },
37
37
  "dependencies": {
38
- "@memberjunction/core": "2.122.2",
38
+ "@memberjunction/core": "2.123.0",
39
39
  "rxjs": "~7.8.0",
40
40
  "tslib": "^2.3.0"
41
41
  },