@ruc-lib/timeline 2.0.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.
- package/README.md +91 -0
- package/esm2020/index.mjs +3 -0
- package/esm2020/lib/ruclib-timeline/ruclib-timeline.component.mjs +206 -0
- package/esm2020/lib/ruclib-timeline.module.mjs +21 -0
- package/esm2020/model/ruclib-timeline.model.mjs +2 -0
- package/esm2020/ruc-lib-timeline.mjs +5 -0
- package/fesm2015/ruc-lib-timeline.mjs +246 -0
- package/fesm2015/ruc-lib-timeline.mjs.map +1 -0
- package/fesm2020/ruc-lib-timeline.mjs +231 -0
- package/fesm2020/ruc-lib-timeline.mjs.map +1 -0
- package/index.d.ts +2 -0
- package/lib/ruclib-timeline/ruclib-timeline.component.d.ts +111 -0
- package/lib/ruclib-timeline.module.d.ts +11 -0
- package/model/ruclib-timeline.model.d.ts +39 -0
- package/package.json +36 -0
package/README.md
ADDED
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# ruclib-timeline
|
|
2
|
+
|
|
3
|
+
A timeline visualizes a series of chained events. It's a way to display information, like data tables, in a format that's easy to scan, allowing users to identify patterns and insights.
|
|
4
|
+
|
|
5
|
+
# Features
|
|
6
|
+
- Configurable layout (vertical or horizontal).
|
|
7
|
+
- Customizable details and subdetails.
|
|
8
|
+
- Option for simple text or Material card display.
|
|
9
|
+
- Adjustable positioning (left, right, top, bottom, opposite).
|
|
10
|
+
- Support for Material icons, tooltips, and configurable font styles for titles and subtitles.
|
|
11
|
+
- Order configuration and text ellipsis for long content.
|
|
12
|
+
- Support for Material Card
|
|
13
|
+
|
|
14
|
+
# Installation guide
|
|
15
|
+
|
|
16
|
+
# Install complete library
|
|
17
|
+
|
|
18
|
+
`npm install @uxpractice/ruc-lib`
|
|
19
|
+
|
|
20
|
+
# Install individual component
|
|
21
|
+
|
|
22
|
+
If users only need the timeline component, they can install it separately
|
|
23
|
+
`npm install @ruc-lib/timeline`
|
|
24
|
+
|
|
25
|
+
# Usage
|
|
26
|
+
|
|
27
|
+
# import required modules
|
|
28
|
+
|
|
29
|
+
for library
|
|
30
|
+
`import { RuclibTimelineModule } from '@uxpractice/ruc-lib/timeline'`
|
|
31
|
+
|
|
32
|
+
for seperate package
|
|
33
|
+
`import { RuclibTimelineModule } from '@ruc-lib/timeline'`
|
|
34
|
+
|
|
35
|
+
# use component selector
|
|
36
|
+
|
|
37
|
+
```
|
|
38
|
+
<uxp-ruclib-timeline [rucInputData]="inputObjectDataTimeline" [customTheme]="customTheme"></uxp-ruclib-timeline>
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
# Input and Output
|
|
42
|
+
|
|
43
|
+
# Inputs
|
|
44
|
+
rucInputData -> It is the configuration input to configure the timeline
|
|
45
|
+
|
|
46
|
+
customTheme -> It is the name of the theme.
|
|
47
|
+
|
|
48
|
+
# Output
|
|
49
|
+
|
|
50
|
+
User can see the UI with timeline data
|
|
51
|
+
|
|
52
|
+
# rucInputData (sample object)
|
|
53
|
+
|
|
54
|
+
# Detail definition of the each property can be found in type definition file.
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
rucInputData = {
|
|
58
|
+
layout: 'horizontal',
|
|
59
|
+
position: 'alternate',
|
|
60
|
+
imageAltText: 'alternative text for image',
|
|
61
|
+
titleFontColor: '#d77777',
|
|
62
|
+
subTitleFontColor: 'aqua',
|
|
63
|
+
titleFontSize: '20px',
|
|
64
|
+
subTitleFontSize: '15px',
|
|
65
|
+
titleBackgroundColor: 'yellow',
|
|
66
|
+
subTitleBackgroundColor: '#d77777',
|
|
67
|
+
highlightColor: 'lightgreen',
|
|
68
|
+
maxTitleLength: 5,
|
|
69
|
+
maxSubTitleLength: 20,
|
|
70
|
+
isInfo: false,
|
|
71
|
+
isTemplate: false,
|
|
72
|
+
data: [
|
|
73
|
+
{
|
|
74
|
+
id: 1,
|
|
75
|
+
title: 'Ordered',
|
|
76
|
+
subtitle: 'sub-title',
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
id: 2,
|
|
80
|
+
title: 'Processing',
|
|
81
|
+
subtitle: 'sub-title',
|
|
82
|
+
},
|
|
83
|
+
]
|
|
84
|
+
};
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
# Contribution
|
|
88
|
+
Contributions are welcome! Feel free to open issues or pull requests for any enhancements or fixes.
|
|
89
|
+
|
|
90
|
+
# Acknowledgements
|
|
91
|
+
Thank you for choosing the Timeline Component Library. If you have any feedback or suggestions, please let us know!
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './lib/ruclib-timeline.module';
|
|
2
|
+
export * from './lib/ruclib-timeline/ruclib-timeline.component';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGlEQUFpRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvcnVjbGliLXRpbWVsaW5lLm1vZHVsZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3J1Y2xpYi10aW1lbGluZS9ydWNsaWItdGltZWxpbmUuY29tcG9uZW50JztcclxuIl19
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
import * as i2 from "@angular/material/icon";
|
|
5
|
+
import * as i3 from "@angular/material/tooltip";
|
|
6
|
+
import * as i4 from "@angular/material/card";
|
|
7
|
+
export class RuclibTimelineComponent {
|
|
8
|
+
constructor() { }
|
|
9
|
+
/**
|
|
10
|
+
* To get position of the timeline
|
|
11
|
+
* @param position
|
|
12
|
+
* @param index
|
|
13
|
+
* @returns default: left
|
|
14
|
+
*/
|
|
15
|
+
getItemPosition(position, index) {
|
|
16
|
+
switch (position) {
|
|
17
|
+
case 'alternate': {
|
|
18
|
+
const layout = this.getLayout();
|
|
19
|
+
if (index % 2 == 0) {
|
|
20
|
+
return layout === 'horizontal' ? 'top' : 'left';
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
return layout === 'horizontal' ? 'bottom' : 'right';
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
case 'top':
|
|
27
|
+
return 'top';
|
|
28
|
+
case 'bottom':
|
|
29
|
+
return 'bottom';
|
|
30
|
+
case 'right':
|
|
31
|
+
return 'right';
|
|
32
|
+
case 'left':
|
|
33
|
+
default:
|
|
34
|
+
return 'left';
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* To get layout of the timeline
|
|
39
|
+
* @param layout
|
|
40
|
+
* @returns default: vertical
|
|
41
|
+
*/
|
|
42
|
+
getItemLayout(layout = '') {
|
|
43
|
+
switch (layout) {
|
|
44
|
+
case 'horizontal':
|
|
45
|
+
return 'horizontal';
|
|
46
|
+
case 'vertical':
|
|
47
|
+
default:
|
|
48
|
+
return 'vertical';
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* To get data from the input
|
|
53
|
+
*/
|
|
54
|
+
getData() {
|
|
55
|
+
if (this.rucInputData?.data) {
|
|
56
|
+
this.data = this.rucInputData.data?.sort((a, b) => a?.id - b?.id) || [];
|
|
57
|
+
}
|
|
58
|
+
return typeof this.data !== 'undefined' ? this.data : [];
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* To get position of the timeline
|
|
62
|
+
* @returns default: left
|
|
63
|
+
*/
|
|
64
|
+
getPosition(index = -1) {
|
|
65
|
+
if (index === -1) {
|
|
66
|
+
return this.rucInputData?.position;
|
|
67
|
+
}
|
|
68
|
+
return this.getItemPosition(this.rucInputData?.position || 'left', index); // Provide a default if position is undefined
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* To get layout of the timeline
|
|
72
|
+
* @returns default: vertical
|
|
73
|
+
*/
|
|
74
|
+
getLayout() {
|
|
75
|
+
return this.getItemLayout(this.rucInputData?.layout); // Provide a default if layout is undefined
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* To get highlight color of the timeline
|
|
79
|
+
* @returns default: undefined
|
|
80
|
+
*/
|
|
81
|
+
getHighlightColor() {
|
|
82
|
+
return this.rucInputData?.highlightColor;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* To get title font color of the timeline
|
|
86
|
+
* @returns default: undefined
|
|
87
|
+
*/
|
|
88
|
+
getTitleColor() {
|
|
89
|
+
return this.rucInputData?.titleFontColor;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* To get sub title font color of the timeline
|
|
93
|
+
* @returns default: undefined
|
|
94
|
+
*/
|
|
95
|
+
getSubTitleColor() {
|
|
96
|
+
return this.rucInputData?.subTitleFontColor;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* To get title font size of the timeline
|
|
100
|
+
* @returns default: undefined
|
|
101
|
+
*/
|
|
102
|
+
getTitleFontSize() {
|
|
103
|
+
return this.rucInputData?.titleFontSize;
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* To get subtitle font size of the timeline
|
|
107
|
+
* @returns default: undefined
|
|
108
|
+
*/
|
|
109
|
+
getSubTitleFontSize() {
|
|
110
|
+
return this.rucInputData?.subTitleFontSize;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* To get title background color of the timeline
|
|
114
|
+
* @returns default: undefined
|
|
115
|
+
*/
|
|
116
|
+
getTitleBackgroundColor() {
|
|
117
|
+
return this.rucInputData?.titleBackgroundColor;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* To get subtitle background color of the timeline
|
|
121
|
+
* @returns default: undefined
|
|
122
|
+
*/
|
|
123
|
+
getSubTitleBackgroundColor() {
|
|
124
|
+
return this.rucInputData?.subTitleBackgroundColor;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* To get max title length of the timeline
|
|
128
|
+
* @returns default: undefined
|
|
129
|
+
*/
|
|
130
|
+
getMaxTitleLength() {
|
|
131
|
+
return this.rucInputData?.maxTitleLength;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* To get max sub title length of the timeline
|
|
135
|
+
* @returns default: undefined
|
|
136
|
+
*/
|
|
137
|
+
getMaxSubtitleLength() {
|
|
138
|
+
return this.rucInputData?.maxSubTitleLength;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* To check if the isInfo variable is defined and value is true|false in timeline
|
|
142
|
+
* @returns default: undefined
|
|
143
|
+
*/
|
|
144
|
+
isInfo() {
|
|
145
|
+
return this.rucInputData?.isInfo;
|
|
146
|
+
}
|
|
147
|
+
/**
|
|
148
|
+
* To get title in timeline
|
|
149
|
+
* @param title
|
|
150
|
+
* @param key
|
|
151
|
+
* @returns default: title
|
|
152
|
+
*/
|
|
153
|
+
getTitle(title = '', key = '') {
|
|
154
|
+
switch (key) {
|
|
155
|
+
case 'title': {
|
|
156
|
+
const checkLength = this.getMaxTitleLength();
|
|
157
|
+
return this.isLengthDefined(title, checkLength);
|
|
158
|
+
}
|
|
159
|
+
case 'subtitle': {
|
|
160
|
+
const checkLength = this.getMaxSubtitleLength();
|
|
161
|
+
return this.isLengthDefined(title, checkLength);
|
|
162
|
+
}
|
|
163
|
+
default: {
|
|
164
|
+
return title;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* To check if the length is defined
|
|
170
|
+
* @param title
|
|
171
|
+
* @param checkLength
|
|
172
|
+
* @returns default: title
|
|
173
|
+
*/
|
|
174
|
+
isLengthDefined(title = '', checkLength) {
|
|
175
|
+
if (typeof checkLength !== 'undefined' && checkLength > 0 && title !== '') {
|
|
176
|
+
const str = title.substring(0, checkLength);
|
|
177
|
+
return title.length === checkLength ? str : str + '...';
|
|
178
|
+
}
|
|
179
|
+
return title;
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* To check if the template variable is defined and value is true|false in timeline
|
|
183
|
+
* @returns default: false
|
|
184
|
+
*/
|
|
185
|
+
isCard() {
|
|
186
|
+
return typeof this.rucInputData?.isTemplate !== 'undefined' ? this.rucInputData?.isTemplate : false;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* To get the color of icon
|
|
190
|
+
* @returns default: false
|
|
191
|
+
*/
|
|
192
|
+
getIconColor() {
|
|
193
|
+
return this.rucInputData?.iconColor || 'primary';
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
RuclibTimelineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RuclibTimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
197
|
+
RuclibTimelineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: RuclibTimelineComponent, selector: "uxp-ruclib-timeline", inputs: { customTheme: "customTheme", rucInputData: "rucInputData" }, ngImport: i0, template: "<div class={{customTheme}}>\r\n <ul class=\"w-full timeline timeline-{{getPosition()}} timeline-{{getLayout()}}\"\r\n [ngClass]=\"{'timeline-card': !!isCard()}\">\r\n <li class=\"timeline-event\" *ngFor=\"let item of getData(); let i = index\">\r\n <ng-container *ngIf=\"getPosition() === 'opposite' then oppositeTemplate else simpleOppositeTemplate\"></ng-container>\r\n <ng-template #oppositeTemplate>\r\n <div class=\"timeline-event-opposite divya\">\r\n <ng-template *ngIf=\"true then titleTemplate\"></ng-template>\r\n </div>\r\n </ng-template>\r\n <ng-template #simpleOppositeTemplate>\r\n <div class=\"timeline-event-opposite rajput\"></div>\r\n </ng-template>\r\n \r\n <div class=\"timeline-event-separator\">\r\n <div class=\"timeline-event-marker\" [ngClass]=\"{'timeline-event-marker-active': !item.icon}\">\r\n <mat-icon\r\n color=\"{{getIconColor()}}\"\r\n class=\"timeline-icon-circle\"\r\n *ngIf=\"item.icon\"\r\n role=\"img\"\r\n [attr.aria-label]=\"item.iconAriaLabel || item.icon\"\r\n >{{item.icon}}</mat-icon>\r\n </div>\r\n <div class=\"timeline-event-connector\" *ngIf=\"i !== (getData()?.length - 1)\"></div>\r\n </div>\r\n <div class=\"timeline-event-content\" [style.background-color]=\"getHighlightColor()\">\r\n <ng-container *ngIf=\"isCard(); then cardTemplate\"></ng-container>\r\n\r\n <ng-container *ngIf=\"getPosition() === 'opposite' then subtitleTemplate\"></ng-container>\r\n\r\n <ng-container *ngIf=\"(!isCard() && getPosition() !== 'opposite') then dataTemplate\"></ng-container>\r\n \r\n <ng-template #cardTemplate>\r\n <!-- Fot Template -->\r\n <mat-card class=\"m-mat-card\" appearance=\"outlined\">\r\n <mat-card-header>\r\n <mat-card-title-group>\r\n <mat-card-title>{{item.title}}</mat-card-title>\r\n <mat-card-subtitle>{{item.subtitle}}</mat-card-subtitle>\r\n <img\r\n mat-card-lg-image\r\n src=\"{{item.imageUrl}}\"\r\n [alt]=\"item.imageAltText || item.title || 'Timeline event image'\"\r\n >\r\n </mat-card-title-group>\r\n </mat-card-header>\r\n <mat-card-content>\r\n {{item.content}}\r\n </mat-card-content>\r\n </mat-card>\r\n </ng-template>\r\n\r\n <ng-template #dataTemplate>\r\n <ng-template *ngIf=\"true then titleTemplate\"></ng-template>\r\n \r\n <ng-template *ngIf=\"true then subtitleTemplate\"></ng-template>\r\n </ng-template>\r\n\r\n <ng-template #titleTemplate>\r\n <!-- Fot Title -->\r\n <div \r\n class=\"timeline-event-title\"\r\n [ngClass]=\"{'timeline-icon-question-mark-active': !!item.iconTitle}\" \r\n [style.background-color]=\"getTitleBackgroundColor()\"\r\n *ngIf=\"!!item.title\"\r\n >\r\n <span \r\n [ngClass]=\"{'description-ellipsis-active': !!getMaxTitleLength()}\"\r\n [style.color]=\"getTitleColor()\"\r\n [style.font-size]=\"getTitleFontSize()\"\r\n [matTooltipDisabled]=\"!(item?.title && item?.title?.length > getMaxTitleLength())\"\r\n [matTooltip]=\"item.title\"\r\n matTooltipPosition=\"above\">\r\n {{getTitle(item.title, 'title')}}\r\n </span>\r\n <span *ngIf=\"!!item.iconTitle\" class=\"timeline-icon-question-mark\" aria-hidden=\"true\">\r\n <mat-icon\r\n color=\"{{getIconColor()}}\"\r\n class=\"timeline-icon-circle timeline-icon\"\r\n >{{item.iconTitle}}</mat-icon>\r\n </span>\r\n <span *ngIf=\"isInfo()\" class=\"timeline-icon-question-mark\">\r\n <mat-icon\r\n color=\"{{getIconColor()}}\"\r\n class=\"timeline-icon-question-mark-icon\"\r\n [matTooltip]=\"item?.titleInfo\"\r\n matTooltipPosition=\"above\" \r\n role=\"button\" \r\n aria-label=\"More information about title\"\r\n >{{item.titleInfoIcon}}</mat-icon> \r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #subtitleTemplate>\r\n <!-- Fot Sub Title -->\r\n <div\r\n class=\"timeline-event-sub-title\"\r\n [ngClass]=\"{'timeline-icon-question-mark-active': !!item.iconSubTitle}\"\r\n [style.background-color]=\"getSubTitleBackgroundColor()\"\r\n *ngIf=\"!!item.subtitle\"\r\n >\r\n <span \r\n [ngClass]=\"{'description-ellipsis-active': !!getMaxSubtitleLength()}\"\r\n [style.color]=\"getSubTitleColor()\"\r\n [style.font-size]=\"getSubTitleFontSize()\"\r\n [matTooltipDisabled]=\"!(item.subtitle && item.subtitle.length > getMaxSubtitleLength())\"\r\n [matTooltip]=\"item.subtitle\"\r\n matTooltipPosition=\"above\"\r\n >\r\n {{getTitle(item.subtitle, 'subtitle')}}\r\n </span>\r\n <span *ngIf=\"!!item.iconSubTitle\" class=\"timeline-icon-question-mark\" aria-hidden=\"true\">\r\n <mat-icon\r\n color=\"{{getIconColor()}}\"\r\n class=\"timeline-icon-circle timeline-icon\"\r\n >{{item.iconSubTitle}}</mat-icon>\r\n </span>\r\n <span *ngIf=\"isInfo()\" class=\"timeline-icon-question-mark\">\r\n <mat-icon\r\n color=\"{{getIconColor()}}\"\r\n class=\"timeline-icon-question-mark-icon\"\r\n [matTooltip]=\"item?.subTitleInfo\"\r\n matTooltipPosition=\"above\" \r\n role=\"button\"\r\n aria-label=\"More information about subtitle\"\r\n >{{item.subTitleInfoIcon}}</mat-icon>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </li>\r\n </ul>\r\n</div>\r\n", styles: ["*,:before,:after{box-sizing:border-box}.timeline{display:flex;flex-grow:1;flex-direction:column;direction:ltr}.timeline.w-full{max-width:800px;margin:auto}.timeline.timeline-vertical .timeline-event{display:flex;position:relative}.timeline.timeline-vertical .timeline-event:last-child{min-height:0;margin-bottom:0}.timeline.timeline-vertical .timeline-event-connector{width:2px;min-height:30px}.timeline.timeline-vertical .timeline-event-opposite,.timeline.timeline-vertical .timeline-event-content{padding:0 .5rem}.timeline.timeline-vertical.timeline-left .timeline-event-opposite{text-align:right}.timeline.timeline-vertical.timeline-left .timeline-event-content{text-align:left}.timeline.timeline-vertical.timeline-left .timeline-icon-question-mark{padding:0 .375rem}.timeline.timeline-vertical.timeline-left .timeline-icon-question-mark-active{padding:.375rem 0;justify-content:start!important}.timeline.timeline-vertical.timeline-right .timeline-event{flex-direction:row-reverse}.timeline.timeline-vertical.timeline-right .timeline-event-opposite,.timeline.timeline-vertical.timeline-right.timeline-card .timeline-event-content{text-align:left}.timeline.timeline-vertical.timeline-right .timeline-event-content{text-align:right}.timeline.timeline-vertical.timeline-right .timeline-icon-question-mark{padding-right:1.5rem}.timeline.timeline-vertical.timeline-alternate .timeline-event:nth-child(odd) .timeline-event-opposite{text-align:right}.timeline.timeline-vertical.timeline-alternate .timeline-event:nth-child(odd) .timeline-event-content{text-align:left}.timeline.timeline-vertical.timeline-alternate .timeline-event:nth-child(odd) .timeline-icon-question-mark-active{justify-content:start!important}.timeline.timeline-vertical.timeline-alternate .timeline-event:nth-child(even){flex-direction:row-reverse}.timeline.timeline-vertical.timeline-alternate .timeline-event:nth-child(even) .timeline-event-opposite{text-align:left}.timeline.timeline-vertical.timeline-alternate .timeline-event:nth-child(even) .timeline-event-content{text-align:right}.timeline.timeline-vertical.timeline-alternate .timeline-event .timeline-icon-question-mark{padding-right:1.5rem}.timeline.timeline-vertical.timeline-alternate.timeline-card .timeline-event .timeline-event-content{text-align:left}.timeline.timeline-vertical.timeline-opposite .timeline-event-opposite{display:flex;justify-content:flex-end;align-items:normal}.timeline.timeline-horizontal{flex-direction:row}.timeline.timeline-horizontal .timeline-event{display:flex;position:relative;flex-direction:column;flex:1}.timeline.timeline-horizontal .timeline-event-connector{width:100%;height:2px}.timeline.timeline-horizontal.timeline-top .timeline-icon-question-mark{padding-right:1.5rem}.timeline.timeline-horizontal.timeline-bottom .timeline-event{flex-direction:column-reverse}.timeline.timeline-horizontal.timeline-bottom .timeline-icon-question-mark{padding-right:1.5rem}.timeline.timeline-horizontal.timeline-alternate{min-height:29vh}.timeline.timeline-horizontal.timeline-alternate.timeline-card{white-space:nowrap;min-height:45vh;flex:1}.timeline.timeline-horizontal.timeline-alternate .timeline-event{min-height:calc(100% - 80px)}.timeline.timeline-horizontal.timeline-alternate .timeline-event:nth-child(even){flex-direction:column-reverse}.timeline.timeline-horizontal.timeline-alternate .timeline-event-opposite{flex:1}.timeline.timeline-horizontal.timeline-alternate .timeline-icon-question-mark{padding-right:1.5rem}.timeline.timeline-horizontal .timeline-event-content{margin-bottom:auto;padding-left:1px;margin-right:8px;padding:1rem 0}.timeline.timeline-horizontal .timeline-event-content .timeline-icon-question-mark-active{padding:.375rem 0;justify-content:start}.timeline.timeline-horizontal .timeline-event-opposite{flex:0;padding:1rem 0}.timeline.timeline-horizontal .timeline-event-separator{flex-direction:row}.timeline .timeline-event-separator{flex:0;display:flex;align-items:center;flex-direction:column}.timeline .timeline-event-separator .timeline-event-marker{display:inline-flex;align-items:center;justify-content:center;position:relative;align-self:baseline;border-width:2px;border-style:solid;border-color:#e2e8f0;border-radius:50%;width:25px;height:25px}.timeline .timeline-event-separator .timeline-event-marker:after{content:\" \";position:absolute;width:100%;height:100%;border-radius:50%}.timeline .timeline-event-separator .timeline-event-marker.timeline-event-marker-active:before{content:\" \";border-radius:50%;width:.375rem;height:.375rem;background:#ccc}.timeline .timeline-event-separator .timeline-event-connector{flex-grow:1;background:#e2e8f0}.timeline .timeline-event-opposite{line-height:1;flex:1}.timeline .timeline-event-content{flex:1;margin-bottom:10px;line-height:1}.timeline .timeline-event-content .m-mat-card{max-width:400px;margin-bottom:8px}.timeline .timeline-event-content .timeline-event-title{padding:.375rem 0}.timeline .timeline-event-content .timeline-event-sub-title{padding:.125rem .15rem}.timeline .timeline-event-content .timeline-icon-question-mark-active{padding:.375rem 0;display:flex;align-items:normal;justify-content:end}.timeline .timeline-icon-circle{position:absolute;border-radius:50%;font-size:var(--timeline-icon-glyph-size)!important;display:flex;align-items:center;justify-content:center;z-index:1;box-sizing:border-box}.timeline .timeline-icon{align-items:normal}.timeline .timeline-icon-question-mark-icon{position:absolute;font-size:var(--timeline-icon-glyph-size)!important;align-items:normal;justify-content:center}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i4.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i4.MatCardLgImage, selector: "[mat-card-lg-image], [matCardImageLarge]" }, { kind: "directive", type: i4.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: i4.MatCardTitleGroup, selector: "mat-card-title-group" }] });
|
|
198
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RuclibTimelineComponent, decorators: [{
|
|
199
|
+
type: Component,
|
|
200
|
+
args: [{ selector: 'uxp-ruclib-timeline', template: "<div class={{customTheme}}>\r\n <ul class=\"w-full timeline timeline-{{getPosition()}} timeline-{{getLayout()}}\"\r\n [ngClass]=\"{'timeline-card': !!isCard()}\">\r\n <li class=\"timeline-event\" *ngFor=\"let item of getData(); let i = index\">\r\n <ng-container *ngIf=\"getPosition() === 'opposite' then oppositeTemplate else simpleOppositeTemplate\"></ng-container>\r\n <ng-template #oppositeTemplate>\r\n <div class=\"timeline-event-opposite divya\">\r\n <ng-template *ngIf=\"true then titleTemplate\"></ng-template>\r\n </div>\r\n </ng-template>\r\n <ng-template #simpleOppositeTemplate>\r\n <div class=\"timeline-event-opposite rajput\"></div>\r\n </ng-template>\r\n \r\n <div class=\"timeline-event-separator\">\r\n <div class=\"timeline-event-marker\" [ngClass]=\"{'timeline-event-marker-active': !item.icon}\">\r\n <mat-icon\r\n color=\"{{getIconColor()}}\"\r\n class=\"timeline-icon-circle\"\r\n *ngIf=\"item.icon\"\r\n role=\"img\"\r\n [attr.aria-label]=\"item.iconAriaLabel || item.icon\"\r\n >{{item.icon}}</mat-icon>\r\n </div>\r\n <div class=\"timeline-event-connector\" *ngIf=\"i !== (getData()?.length - 1)\"></div>\r\n </div>\r\n <div class=\"timeline-event-content\" [style.background-color]=\"getHighlightColor()\">\r\n <ng-container *ngIf=\"isCard(); then cardTemplate\"></ng-container>\r\n\r\n <ng-container *ngIf=\"getPosition() === 'opposite' then subtitleTemplate\"></ng-container>\r\n\r\n <ng-container *ngIf=\"(!isCard() && getPosition() !== 'opposite') then dataTemplate\"></ng-container>\r\n \r\n <ng-template #cardTemplate>\r\n <!-- Fot Template -->\r\n <mat-card class=\"m-mat-card\" appearance=\"outlined\">\r\n <mat-card-header>\r\n <mat-card-title-group>\r\n <mat-card-title>{{item.title}}</mat-card-title>\r\n <mat-card-subtitle>{{item.subtitle}}</mat-card-subtitle>\r\n <img\r\n mat-card-lg-image\r\n src=\"{{item.imageUrl}}\"\r\n [alt]=\"item.imageAltText || item.title || 'Timeline event image'\"\r\n >\r\n </mat-card-title-group>\r\n </mat-card-header>\r\n <mat-card-content>\r\n {{item.content}}\r\n </mat-card-content>\r\n </mat-card>\r\n </ng-template>\r\n\r\n <ng-template #dataTemplate>\r\n <ng-template *ngIf=\"true then titleTemplate\"></ng-template>\r\n \r\n <ng-template *ngIf=\"true then subtitleTemplate\"></ng-template>\r\n </ng-template>\r\n\r\n <ng-template #titleTemplate>\r\n <!-- Fot Title -->\r\n <div \r\n class=\"timeline-event-title\"\r\n [ngClass]=\"{'timeline-icon-question-mark-active': !!item.iconTitle}\" \r\n [style.background-color]=\"getTitleBackgroundColor()\"\r\n *ngIf=\"!!item.title\"\r\n >\r\n <span \r\n [ngClass]=\"{'description-ellipsis-active': !!getMaxTitleLength()}\"\r\n [style.color]=\"getTitleColor()\"\r\n [style.font-size]=\"getTitleFontSize()\"\r\n [matTooltipDisabled]=\"!(item?.title && item?.title?.length > getMaxTitleLength())\"\r\n [matTooltip]=\"item.title\"\r\n matTooltipPosition=\"above\">\r\n {{getTitle(item.title, 'title')}}\r\n </span>\r\n <span *ngIf=\"!!item.iconTitle\" class=\"timeline-icon-question-mark\" aria-hidden=\"true\">\r\n <mat-icon\r\n color=\"{{getIconColor()}}\"\r\n class=\"timeline-icon-circle timeline-icon\"\r\n >{{item.iconTitle}}</mat-icon>\r\n </span>\r\n <span *ngIf=\"isInfo()\" class=\"timeline-icon-question-mark\">\r\n <mat-icon\r\n color=\"{{getIconColor()}}\"\r\n class=\"timeline-icon-question-mark-icon\"\r\n [matTooltip]=\"item?.titleInfo\"\r\n matTooltipPosition=\"above\" \r\n role=\"button\" \r\n aria-label=\"More information about title\"\r\n >{{item.titleInfoIcon}}</mat-icon> \r\n </span>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #subtitleTemplate>\r\n <!-- Fot Sub Title -->\r\n <div\r\n class=\"timeline-event-sub-title\"\r\n [ngClass]=\"{'timeline-icon-question-mark-active': !!item.iconSubTitle}\"\r\n [style.background-color]=\"getSubTitleBackgroundColor()\"\r\n *ngIf=\"!!item.subtitle\"\r\n >\r\n <span \r\n [ngClass]=\"{'description-ellipsis-active': !!getMaxSubtitleLength()}\"\r\n [style.color]=\"getSubTitleColor()\"\r\n [style.font-size]=\"getSubTitleFontSize()\"\r\n [matTooltipDisabled]=\"!(item.subtitle && item.subtitle.length > getMaxSubtitleLength())\"\r\n [matTooltip]=\"item.subtitle\"\r\n matTooltipPosition=\"above\"\r\n >\r\n {{getTitle(item.subtitle, 'subtitle')}}\r\n </span>\r\n <span *ngIf=\"!!item.iconSubTitle\" class=\"timeline-icon-question-mark\" aria-hidden=\"true\">\r\n <mat-icon\r\n color=\"{{getIconColor()}}\"\r\n class=\"timeline-icon-circle timeline-icon\"\r\n >{{item.iconSubTitle}}</mat-icon>\r\n </span>\r\n <span *ngIf=\"isInfo()\" class=\"timeline-icon-question-mark\">\r\n <mat-icon\r\n color=\"{{getIconColor()}}\"\r\n class=\"timeline-icon-question-mark-icon\"\r\n [matTooltip]=\"item?.subTitleInfo\"\r\n matTooltipPosition=\"above\" \r\n role=\"button\"\r\n aria-label=\"More information about subtitle\"\r\n >{{item.subTitleInfoIcon}}</mat-icon>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </li>\r\n </ul>\r\n</div>\r\n", styles: ["*,:before,:after{box-sizing:border-box}.timeline{display:flex;flex-grow:1;flex-direction:column;direction:ltr}.timeline.w-full{max-width:800px;margin:auto}.timeline.timeline-vertical .timeline-event{display:flex;position:relative}.timeline.timeline-vertical .timeline-event:last-child{min-height:0;margin-bottom:0}.timeline.timeline-vertical .timeline-event-connector{width:2px;min-height:30px}.timeline.timeline-vertical .timeline-event-opposite,.timeline.timeline-vertical .timeline-event-content{padding:0 .5rem}.timeline.timeline-vertical.timeline-left .timeline-event-opposite{text-align:right}.timeline.timeline-vertical.timeline-left .timeline-event-content{text-align:left}.timeline.timeline-vertical.timeline-left .timeline-icon-question-mark{padding:0 .375rem}.timeline.timeline-vertical.timeline-left .timeline-icon-question-mark-active{padding:.375rem 0;justify-content:start!important}.timeline.timeline-vertical.timeline-right .timeline-event{flex-direction:row-reverse}.timeline.timeline-vertical.timeline-right .timeline-event-opposite,.timeline.timeline-vertical.timeline-right.timeline-card .timeline-event-content{text-align:left}.timeline.timeline-vertical.timeline-right .timeline-event-content{text-align:right}.timeline.timeline-vertical.timeline-right .timeline-icon-question-mark{padding-right:1.5rem}.timeline.timeline-vertical.timeline-alternate .timeline-event:nth-child(odd) .timeline-event-opposite{text-align:right}.timeline.timeline-vertical.timeline-alternate .timeline-event:nth-child(odd) .timeline-event-content{text-align:left}.timeline.timeline-vertical.timeline-alternate .timeline-event:nth-child(odd) .timeline-icon-question-mark-active{justify-content:start!important}.timeline.timeline-vertical.timeline-alternate .timeline-event:nth-child(even){flex-direction:row-reverse}.timeline.timeline-vertical.timeline-alternate .timeline-event:nth-child(even) .timeline-event-opposite{text-align:left}.timeline.timeline-vertical.timeline-alternate .timeline-event:nth-child(even) .timeline-event-content{text-align:right}.timeline.timeline-vertical.timeline-alternate .timeline-event .timeline-icon-question-mark{padding-right:1.5rem}.timeline.timeline-vertical.timeline-alternate.timeline-card .timeline-event .timeline-event-content{text-align:left}.timeline.timeline-vertical.timeline-opposite .timeline-event-opposite{display:flex;justify-content:flex-end;align-items:normal}.timeline.timeline-horizontal{flex-direction:row}.timeline.timeline-horizontal .timeline-event{display:flex;position:relative;flex-direction:column;flex:1}.timeline.timeline-horizontal .timeline-event-connector{width:100%;height:2px}.timeline.timeline-horizontal.timeline-top .timeline-icon-question-mark{padding-right:1.5rem}.timeline.timeline-horizontal.timeline-bottom .timeline-event{flex-direction:column-reverse}.timeline.timeline-horizontal.timeline-bottom .timeline-icon-question-mark{padding-right:1.5rem}.timeline.timeline-horizontal.timeline-alternate{min-height:29vh}.timeline.timeline-horizontal.timeline-alternate.timeline-card{white-space:nowrap;min-height:45vh;flex:1}.timeline.timeline-horizontal.timeline-alternate .timeline-event{min-height:calc(100% - 80px)}.timeline.timeline-horizontal.timeline-alternate .timeline-event:nth-child(even){flex-direction:column-reverse}.timeline.timeline-horizontal.timeline-alternate .timeline-event-opposite{flex:1}.timeline.timeline-horizontal.timeline-alternate .timeline-icon-question-mark{padding-right:1.5rem}.timeline.timeline-horizontal .timeline-event-content{margin-bottom:auto;padding-left:1px;margin-right:8px;padding:1rem 0}.timeline.timeline-horizontal .timeline-event-content .timeline-icon-question-mark-active{padding:.375rem 0;justify-content:start}.timeline.timeline-horizontal .timeline-event-opposite{flex:0;padding:1rem 0}.timeline.timeline-horizontal .timeline-event-separator{flex-direction:row}.timeline .timeline-event-separator{flex:0;display:flex;align-items:center;flex-direction:column}.timeline .timeline-event-separator .timeline-event-marker{display:inline-flex;align-items:center;justify-content:center;position:relative;align-self:baseline;border-width:2px;border-style:solid;border-color:#e2e8f0;border-radius:50%;width:25px;height:25px}.timeline .timeline-event-separator .timeline-event-marker:after{content:\" \";position:absolute;width:100%;height:100%;border-radius:50%}.timeline .timeline-event-separator .timeline-event-marker.timeline-event-marker-active:before{content:\" \";border-radius:50%;width:.375rem;height:.375rem;background:#ccc}.timeline .timeline-event-separator .timeline-event-connector{flex-grow:1;background:#e2e8f0}.timeline .timeline-event-opposite{line-height:1;flex:1}.timeline .timeline-event-content{flex:1;margin-bottom:10px;line-height:1}.timeline .timeline-event-content .m-mat-card{max-width:400px;margin-bottom:8px}.timeline .timeline-event-content .timeline-event-title{padding:.375rem 0}.timeline .timeline-event-content .timeline-event-sub-title{padding:.125rem .15rem}.timeline .timeline-event-content .timeline-icon-question-mark-active{padding:.375rem 0;display:flex;align-items:normal;justify-content:end}.timeline .timeline-icon-circle{position:absolute;border-radius:50%;font-size:var(--timeline-icon-glyph-size)!important;display:flex;align-items:center;justify-content:center;z-index:1;box-sizing:border-box}.timeline .timeline-icon{align-items:normal}.timeline .timeline-icon-question-mark-icon{position:absolute;font-size:var(--timeline-icon-glyph-size)!important;align-items:normal;justify-content:center}\n"] }]
|
|
201
|
+
}], ctorParameters: function () { return []; }, propDecorators: { customTheme: [{
|
|
202
|
+
type: Input
|
|
203
|
+
}], rucInputData: [{
|
|
204
|
+
type: Input
|
|
205
|
+
}] } });
|
|
206
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVjbGliLXRpbWVsaW5lLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvcnVjbGliLXRpbWVsaW5lL3J1Y2xpYi10aW1lbGluZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9zcmMvbGliL3J1Y2xpYi10aW1lbGluZS9ydWNsaWItdGltZWxpbmUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVFqRCxNQUFNLE9BQU8sdUJBQXVCO0lBS2xDLGdCQUFlLENBQUM7SUFFaEI7Ozs7O09BS0c7SUFDSyxlQUFlLENBQUMsUUFBZ0IsRUFBRSxLQUFhO1FBQ3JELFFBQVEsUUFBUSxFQUFFO1lBQ2hCLEtBQUssV0FBVyxDQUFDLENBQUM7Z0JBQ2QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNoQyxJQUFHLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO29CQUNqQixPQUFPLE1BQU0sS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUEsTUFBTSxDQUFDO2lCQUNoRDtxQkFBTTtvQkFDTCxPQUFPLE1BQU0sS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUEsT0FBTyxDQUFDO2lCQUNwRDthQUNGO1lBQ0gsS0FBSyxLQUFLO2dCQUNSLE9BQU8sS0FBSyxDQUFDO1lBQ2YsS0FBSyxRQUFRO2dCQUNYLE9BQU8sUUFBUSxDQUFDO1lBQ2xCLEtBQUssT0FBTztnQkFDVixPQUFPLE9BQU8sQ0FBQztZQUNqQixLQUFLLE1BQU0sQ0FBQztZQUNaO2dCQUNFLE9BQU8sTUFBTSxDQUFBO1NBQ2hCO0lBQ0gsQ0FBQztJQUdEOzs7O09BSUc7SUFDSyxhQUFhLENBQUMsU0FBaUIsRUFBRTtRQUN2QyxR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ci9jb3JlJztcclxuaW1wb3J0IHsgUnVjVGltZWxpbmVJbnB1dCwgUnVjVGltZWxpbmVJdGVtRGF0YSB9IGZyb20gJy4uLy4uL21vZGVsL3J1Y2xpYi10aW1lbGluZS5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3V4cC1ydWNsaWItdGltZWxpbmUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9ydWNsaWItdGltZWxpbmUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3J1Y2xpYi10aW1lbGluZS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUnVjbGliVGltZWxpbmVDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGN1c3RvbVRoZW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHJ1Y0lucHV0RGF0YT86IFJ1Y1RpbWVsaW5lSW5wdXQ7XHJcbiAgZGF0YTogUnVjVGltZWxpbmVJdGVtRGF0YVtdIHwgdW5kZWZpbmVkO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvIGdldCBwb3NpdGlvbiBvZiB0aGUgdGltZWxpbmVcclxuICAgKiBAcGFyYW0gcG9zaXRpb24gXHJcbiAgICogQHBhcmFtIGluZGV4IFxyXG4gICAqIEByZXR1cm5zIGRlZmF1bHQ6IGxlZnRcclxuICAgKi9cclxuICBwcml2YXRlIGdldEl0ZW1Qb3NpdGlvbihwb3NpdGlvbjogc3RyaW5nLCBpbmRleDogbnVtYmVyKTogc3RyaW5nIHtcclxuICAgIHN3aXRjaCAocG9zaXRpb24pIHtcclxuICAgICAgY2FzZSAnYWx0ZXJuYXRlJzoge1xyXG4gICAgICAgICAgY29uc3QgbGF5b3V0ID0gdGhpcy5nZXRMYXlvdXQoKTtcclxuICAgICAgICAgIGlmKGluZGV4ICUgMiA9PSAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBsYXlvdXQgPT09ICdob3Jpem9udGFsJyA/ICd0b3AnIDonbGVmdCc7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gbGF5b3V0ID09PSAnaG9yaXpvbnRhbCcgPyAnYm90dG9tJyA6J3JpZ2h0JztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIGNhc2UgJ3RvcCc6XHJcbiAgICAgICAgcmV0dXJuICd0b3AnO1xyXG4gICAgICBjYXNlICdib3R0b20nOlxyXG4gICAgICAgIHJldHVybiAnYm90dG9tJztcclxuICAgICAgY2FzZSAncmlnaHQnOlxyXG4gICAgICAgIHJldHVybiAncmlnaHQnO1xyXG4gICAgICBjYXNlICdsZWZ0JzpcclxuICAgICAgZGVmYXVsdDogXHJcbiAgICAgICAgcmV0dXJuICdsZWZ0J1xyXG4gICAgfVxyXG4gIH1cclxuICAgXHJcblxyXG4gIC8qKlxyXG4gICAqIFRvIGdldCBsYXlvdXQgb2YgdGhlIHRpbWVsaW5lXHJcbiAgICogQHBhcmFtIGxheW91dCBcclxuICAgKiBAcmV0dXJucyBkZWZhdWx0OiB2ZXJ0aWNhbFxyXG4gICAqL1xyXG4gIHByaXZhdGUgZ2V0SXRlbUxheW91dChsYXlvdXQ6IHN0cmluZyA9ICcnKTogc3RyaW5nIHtcclxuICAgIHN3aXRjaCAobGF5b3V0KSB7XHJcbiAgICAgIGNhc2UgJ2hvcml6b250YWwnOlxyXG4gICAgICAgIHJldHVybiAnaG9yaXpvbnRhbCc7XHJcbiAgICAgIGNhc2UgJ3ZlcnRpY2FsJzpcclxuICAgICAgZGVmYXVsdDogXHJcbiAgICAgICAgcmV0dXJuICd2ZXJ0aWNhbCc7XHJcbiAgICB9XHJcbiAgfSAgXHJcbiAgIFxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIFRvIGdldCBkYXRhIGZyb20gdGhlIGlucHV0XHJcbiAgICovXHJcbiAgZ2V0RGF0YSgpOiBSdWNUaW1lbGluZUl0ZW1EYXRhW10gfCBhbnkge1xyXG4gICAgaWYgKHRoaXMucnVjSW5wdXREYXRhPy5kYXRhKSB7XHJcbiAgICAgIHRoaXMuZGF0YSA9IHRoaXMucnVjSW5wdXREYXRhLmRhdGE/LnNvcnQoKGE6IFJ1Y1RpbWVsaW5lSXRlbURhdGEsIGI6IFJ1Y1RpbWVsaW5lSXRlbURhdGEpID0+IGE/LmlkIC0gYj8uaWQpIHx8IFtdO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHR5cGVvZiB0aGlzLmRhdGEgIT09ICd1bmRlZmluZWQnID8gdGhpcy5kYXRhIDogW107XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUbyBnZXQgcG9zaXRpb24gb2YgdGhlIHRpbWVsaW5lXHJcbiAgICogQHJldHVybnMgZGVmYXVsdDogbGVmdFxyXG4gICAqL1xyXG4gIGdldFBvc2l0aW9uKGluZGV4OiBudW1iZXIgPSAtMSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZihpbmRleCA9PT0gLTEpIHtcclxuICAgICAgcmV0dXJuIHRoaXMucnVjSW5wdXREYXRhPy5wb3NpdGlvbjtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmdldEl0ZW1Qb3NpdGlvbih0aGlzLnJ1Y0lucHV0RGF0YT8ucG9zaXRpb24gfHwgJ2xlZnQnLCBpbmRleCk7IC8vIFByb3ZpZGUgYSBkZWZhdWx0IGlmIHBvc2l0aW9uIGlzIHVuZGVmaW5lZFxyXG4gIH0gIFxyXG4gICBcclxuXHJcbiAgIC8qKlxyXG4gICAqIFRvIGdldCBsYXlvdXQgb2YgdGhlIHRpbWVsaW5lXHJcbiAgICogQHJldHVybnMgZGVmYXVsdDogdmVydGljYWxcclxuICAgKi9cclxuICBnZXRMYXlvdXQoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmdldEl0ZW1MYXlvdXQodGhpcy5ydWNJbnB1dERhdGE/LmxheW91dCkgLy8gUHJvdmlkZSBhIGRlZmF1bHQgaWYgbGF5b3V0IGlzIHVuZGVmaW5lZFxyXG4gIH0gIFxyXG4gIFxyXG4gIC8qKlxyXG4gICAqIFRvIGdldCBoaWdobGlnaHQgY29sb3Igb2YgdGhlIHRpbWVsaW5lXHJcbiAgICogQHJldHVybnMgZGVmYXVsdDogdW5kZWZpbmVkXHJcbiAgICovXHJcbiAgZ2V0SGlnaGxpZ2h0Q29sb3IoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLnJ1Y0lucHV0RGF0YT8uaGlnaGxpZ2h0Q29sb3I7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUbyBnZXQgdGl0bGUgZm9udCBjb2xvciBvZiB0aGUgdGltZWxpbmVcclxuICAgKiBAcmV0dXJucyBkZWZhdWx0OiB1bmRlZmluZWRcclxuICAgKi9cclxuICBnZXRUaXRsZUNvbG9yKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5ydWNJbnB1dERhdGE/LnRpdGxlRm9udENvbG9yO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVG8gZ2V0IHN1YiB0aXRsZSBmb250IGNvbG9yIG9mIHRoZSB0aW1lbGluZVxyXG4gICAqIEByZXR1cm5zIGRlZmF1bHQ6IHVuZGVmaW5lZFxyXG4gICAqL1xyXG4gIGdldFN1YlRpdGxlQ29sb3IoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLnJ1Y0lucHV0RGF0YT8uc3ViVGl0bGVGb250Q29sb3I7XHJcbiAgfSAgXHJcbiAgXHJcbiAgLyoqXHJcbiAgICogVG8gZ2V0IHRpdGxlIGZvbnQgc2l6ZSBvZiB0aGUgdGltZWxpbmVcclxuICAgKiBAcmV0dXJucyBkZWZhdWx0OiB1bmRlZmluZWRcclxuICAgKi9cclxuICBnZXRUaXRsZUZvbnRTaXplKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5ydWNJbnB1dERhdGE/LnRpdGxlRm9udFNpemU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUbyBnZXQgc3VidGl0bGUgZm9udCBzaXplIG9mIHRoZSB0aW1lbGluZVxyXG4gICAqIEByZXR1cm5zIGRlZmF1bHQ6IHVuZGVmaW5lZFxyXG4gICAqL1xyXG4gIGdldFN1YlRpdGxlRm9udFNpemUoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLnJ1Y0lucHV0RGF0YT8uc3ViVGl0bGVGb250U2l6ZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvIGdldCB0aXRsZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSB0aW1lbGluZVxyXG4gICAqIEByZXR1cm5zIGRlZmF1bHQ6IHVuZGVmaW5lZFxyXG4gICAqL1xyXG4gIGdldFRpdGxlQmFja2dyb3VuZENvbG9yKCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdGhpcy5ydWNJbnB1dERhdGE/LnRpdGxlQmFja2dyb3VuZENvbG9yO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVG8gZ2V0IHN1YnRpdGxlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHRpbWVsaW5lXHJcbiAgICogQHJldHVybnMgZGVmYXVsdDogdW5kZWZpbmVkXHJcbiAgICovXHJcbiAgZ2V0U3ViVGl0bGVCYWNrZ3JvdW5kQ29sb3IoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLnJ1Y0lucHV0RGF0YT8uc3ViVGl0bGVCYWNrZ3JvdW5kQ29sb3I7XHJcbiAgfVxyXG4gICBcclxuICAvKipcclxuICAgKiBUbyBnZXQgbWF4IHRpdGxlIGxlbmd0aCBvZiB0aGUgdGltZWxpbmVcclxuICAgKiBAcmV0dXJucyBkZWZhdWx0OiB1bmRlZmluZWRcclxuICAgKi9cclxuICBnZXRNYXhUaXRsZUxlbmd0aCgpOiBudW1iZXIgfCBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMucnVjSW5wdXREYXRhPy5tYXhUaXRsZUxlbmd0aDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvIGdldCBtYXggc3ViIHRpdGxlIGxlbmd0aCBvZiB0aGUgdGltZWxpbmVcclxuICAgKiBAcmV0dXJucyBkZWZhdWx0OiB1bmRlZmluZWRcclxuICAgKi9cclxuICBnZXRNYXhTdWJ0aXRsZUxlbmd0aCgpOiBudW1iZXIgfCBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMucnVjSW5wdXREYXRhPy5tYXhTdWJUaXRsZUxlbmd0aDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvIGNoZWNrIGlmIHRoZSBpc0luZm8gdmFyaWFibGUgaXMgZGVmaW5lZCBhbmQgdmFsdWUgaXMgdHJ1ZXxmYWxzZSBpbiB0aW1lbGluZVxyXG4gICAqIEByZXR1cm5zIGRlZmF1bHQ6IHVuZGVmaW5lZFxyXG4gICAqL1xyXG4gIGlzSW5mbygpIHtcclxuICAgIHJldHVybiB0aGlzLnJ1Y0lucHV0RGF0YT8uaXNJbmZvO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVG8gZ2V0IHRpdGxlIGluIHRpbWVsaW5lXHJcbiAgICogQHBhcmFtIHRpdGxlIFxyXG4gICAqIEBwYXJhbSBrZXkgXHJcbiAgICogQHJldHVybnMgZGVmYXVsdDogdGl0bGVcclxuICAgKi9cclxuICBnZXRUaXRsZSh0aXRsZTogc3RyaW5nID0gJycsIGtleTogJ3RpdGxlJyB8ICdzdWJ0aXRsZScgfCAnJyA9ICcnKTogc3RyaW5nIHtcclxuICAgIHN3aXRjaChrZXkpIHtcclxuICAgICAgY2FzZSAndGl0bGUnOiB7XHJcbiAgICAgICAgY29uc3QgY2hlY2tMZW5ndGggPSB0aGlzLmdldE1heFRpdGxlTGVuZ3RoKCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNMZW5ndGhEZWZpbmVkKHRpdGxlLCBjaGVja0xlbmd0aCk7XHJcbiAgICAgIH1cclxuICAgICAgY2FzZSAnc3VidGl0bGUnOiB7XHJcbiAgICAgICAgY29uc3QgY2hlY2tMZW5ndGggPSB0aGlzLmdldE1heFN1YnRpdGxlTGVuZ3RoKCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNMZW5ndGhEZWZpbmVkKHRpdGxlLCBjaGVja0xlbmd0aCk7XHJcbiAgICAgIH1cclxuICAgICAgZGVmYXVsdDoge1xyXG4gICAgICAgIHJldHVybiB0aXRsZTtcclxuICAgICAgfVxyXG4gICAgfSAgICBcclxuICB9ICBcclxuICBcclxuICAvKipcclxuICAgKiBUbyBjaGVjayBpZiB0aGUgbGVuZ3RoIGlzIGRlZmluZWRcclxuICAgKiBAcGFyYW0gdGl0bGUgXHJcbiAgICogQHBhcmFtIGNoZWNrTGVuZ3RoIFxyXG4gICAqIEByZXR1cm5zIGRlZmF1bHQ6IHRpdGxlXHJcbiAgICovXHJcbiAgaXNMZW5ndGhEZWZpbmVkKHRpdGxlOiBzdHJpbmcgPSAnJywgY2hlY2tMZW5ndGg6IG51bWJlciB8IHVuZGVmaW5lZCk6IHN0cmluZyB7ICAgIFxyXG4gICAgaWYodHlwZW9mIGNoZWNrTGVuZ3RoICE9PSAndW5kZWZpbmVkJyAmJiBjaGVja0xlbmd0aCA+IDAgJiYgdGl0bGUgIT09ICcnKSB7XHJcbiAgICAgIGNvbnN0IHN0ciA9IHRpdGxlLnN1YnN0cmluZygwLCBjaGVja0xlbmd0aCk7XHJcbiAgICAgIHJldHVybiB0aXRsZS5sZW5ndGggPT09IGNoZWNrTGVuZ3RoID8gc3RyIDogc3RyKycuLi4nO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRpdGxlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVG8gY2hlY2sgaWYgdGhlIHRlbXBsYXRlIHZhcmlhYmxlIGlzIGRlZmluZWQgYW5kIHZhbHVlIGlzIHRydWV8ZmFsc2UgaW4gdGltZWxpbmVcclxuICAgKiBAcmV0dXJucyBkZWZhdWx0OiBmYWxzZVxyXG4gICAqL1xyXG4gIGlzQ2FyZCgpIHtcclxuICAgIHJldHVybiB0eXBlb2YgdGhpcy5ydWNJbnB1dERhdGE/LmlzVGVtcGxhdGUgIT09ICd1bmRlZmluZWQnID8gdGhpcy5ydWNJbnB1dERhdGE/LmlzVGVtcGxhdGUgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRvIGdldCB0aGUgY29sb3Igb2YgaWNvblxyXG4gICAqIEByZXR1cm5zIGRlZmF1bHQ6IGZhbHNlXHJcbiAgICovXHJcbiAgZ2V0SWNvbkNvbG9yKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5ydWNJbnB1dERhdGE/Lmljb25Db2xvciB8fCAncHJpbWFyeSc7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9e3tjdXN0b21UaGVtZX19PlxyXG4gIDx1bCBjbGFzcz1cInctZnVsbCB0aW1lbGluZSB0aW1lbGluZS17e2dldFBvc2l0aW9uKCl9fSB0aW1lbGluZS17e2dldExheW91dCgpfX1cIlxyXG4gICAgW25nQ2xhc3NdPVwieyd0aW1lbGluZS1jYXJkJzogISFpc0NhcmQoKX1cIj5cclxuICAgIDxsaSBjbGFzcz1cInRpbWVsaW5lLWV2ZW50XCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZ2V0RGF0YSgpOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJnZXRQb3NpdGlvbigpID09PSAnb3Bwb3NpdGUnIHRoZW4gb3Bwb3NpdGVUZW1wbGF0ZSBlbHNlIHNpbXBsZU9wcG9zaXRlVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLXRlbXBsYXRlICNvcHBvc2l0ZVRlbXBsYXRlPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lbGluZS1ldmVudC1vcHBvc2l0ZSBkaXZ5YVwiPlxyXG4gICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ0lmPVwidHJ1ZSB0aGVuIHRpdGxlVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI3NpbXBsZU9wcG9zaXRlVGVtcGxhdGU+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRpbWVsaW5lLWV2ZW50LW9wcG9zaXRlIHJhanB1dFwiPjwvZGl2PlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICBcclxuICAgICAgPGRpdiBjbGFzcz1cInRpbWVsaW5lLWV2ZW50LXNlcGFyYXRvclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lbGluZS1ldmVudC1tYXJrZXJcIiBbbmdDbGFzc109XCJ7J3RpbWVsaW5lLWV2ZW50LW1hcmtlci1hY3RpdmUnOiAhaXRlbS5pY29ufVwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uXHJcbiAgICAgICAgICAgIGNvbG9yPVwie3tnZXRJY29uQ29sb3IoKX19XCJcclxuICAgICAgICAgICAgY2xhc3M9XCJ0aW1lbGluZS1pY29uLWNpcmNsZVwiXHJcbiAgICAgICAgICAgICpuZ0lmPVwiaXRlbS5pY29uXCJcclxuICAgICAgICAgICAgcm9sZT1cImltZ1wiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaXRlbS5pY29uQXJpYUxhYmVsIHx8IGl0ZW0uaWNvblwiXHJcbiAgICAgICAgICA+e3tpdGVtLmljb259fTwvbWF0LWljb24+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRpbWVsaW5lLWV2ZW50LWNvbm5lY3RvclwiICpuZ0lmPVwiaSAhPT0gKGdldERhdGEoKT8ubGVuZ3RoIC0gMSlcIj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lbGluZS1ldmVudC1jb250ZW50XCIgW3N0eWxlLmJhY2tncm91bmQtY29sb3JdPVwiZ2V0SGlnaGxpZ2h0Q29sb3IoKVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0NhcmQoKTsgdGhlbiBjYXJkVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImdldFBvc2l0aW9uKCkgPT09ICdvcHBvc2l0ZScgdGhlbiBzdWJ0aXRsZVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIoIWlzQ2FyZCgpICYmIGdldFBvc2l0aW9uKCkgIT09ICdvcHBvc2l0ZScpIHRoZW4gZGF0YVRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgXHJcbiAgICAgICAgPG5nLXRlbXBsYXRlICNjYXJkVGVtcGxhdGU+XHJcbiAgICAgICAgICA8IS0tIEZvdCBUZW1wbGF0ZSAtLT5cclxuICAgICAgICAgIDxtYXQtY2FyZCBjbGFzcz1cIm0tbWF0LWNhcmRcIiBhcHBlYXJhbmNlPVwib3V0bGluZWRcIj5cclxuICAgICAgICAgICAgPG1hdC1jYXJkLWhlYWRlcj5cclxuICAgICAgICAgICAgICA8bWF0LWNhcmQtdGl0bGUtZ3JvdXA+XHJcbiAgICAgICAgICAgICAgICA8bWF0LWNhcmQtdGl0bGU+e3tpdGVtLnRpdGxlfX08L21hdC1jYXJkLXRpdGxlPlxyXG4gICAgICAgICAgICAgICAgPG1hdC1jYXJkLXN1YnRpdGxlPnt7aXRlbS5zdWJ0aXRsZX19PC9tYXQtY2FyZC1zdWJ0aXRsZT5cclxuICAgICAgICAgICAgICAgIDxpbWdcclxuICAgICAgICAgICAgICAgICAgbWF0LWNhcmQtbGctaW1hZ2VcclxuICAgICAgICAgICAgICAgICAgc3JjPVwie3tpdGVtLmltYWdlVXJsfX1cIlxyXG4gICAgICAgICAgICAgICAgICBbYWx0XT1cIml0ZW0uaW1hZ2VBbHRUZXh0IHx8IGl0ZW0udGl0bGUgfHwgJ1RpbWVsaW5lIGV2ZW50IGltYWdlJ1wiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPC9tYXQtY2FyZC10aXRsZS1ncm91cD5cclxuICAgICAgICAgICAgPC9tYXQtY2FyZC1oZWFkZXI+XHJcbiAgICAgICAgICAgIDxtYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgICAgICAgIHt7aXRlbS5jb250ZW50fX1cclxuICAgICAgICAgICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgICAgICAgPC9tYXQtY2FyZD5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2RhdGFUZW1wbGF0ZT5cclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cInRydWUgdGhlbiB0aXRsZVRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cclxuICBcclxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdJZj1cInRydWUgdGhlbiBzdWJ0aXRsZVRlbXBsYXRlXCI+PC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI3RpdGxlVGVtcGxhdGU+XHJcbiAgICAgICAgICA8IS0tIEZvdCBUaXRsZSAtLT5cclxuICAgICAgICAgIDxkaXYgXHJcbiAgICAgICAgICAgIGNsYXNzPVwidGltZWxpbmUtZXZlbnQtdGl0bGVcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J3RpbWVsaW5lLWljb24tcXVlc3Rpb24tbWFyay1hY3RpdmUnOiAhIWl0ZW0uaWNvblRpdGxlfVwiICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImdldFRpdGxlQmFja2dyb3VuZENvbG9yKClcIlxyXG4gICAgICAgICAgICAqbmdJZj1cIiEhaXRlbS50aXRsZVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxzcGFuIFxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZGVzY3JpcHRpb24tZWxsaXBzaXMtYWN0aXZlJzogISFnZXRNYXhUaXRsZUxlbmd0aCgpfVwiXHJcbiAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImdldFRpdGxlQ29sb3IoKVwiXHJcbiAgICAgICAgICAgICAgW3N0eWxlLmZvbnQtc2l6ZV09XCJnZXRUaXRsZUZvbnRTaXplKClcIlxyXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwRGlzYWJsZWRdPVwiIShpdGVtPy50aXRsZSAmJiBpdGVtPy50aXRsZT8ubGVuZ3RoID4gZ2V0TWF4VGl0bGVMZW5ndGgoKSlcIlxyXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIml0ZW0udGl0bGVcIlxyXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCI+XHJcbiAgICAgICAgICAgICAge3tnZXRUaXRsZShpdGVtLnRpdGxlLCAndGl0bGUnKX19XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhIWl0ZW0uaWNvblRpdGxlXCIgY2xhc3M9XCJ0aW1lbGluZS1pY29uLXF1ZXN0aW9uLW1hcmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cclxuICAgICAgICAgICAgICA8bWF0LWljb25cclxuICAgICAgICAgICAgICAgIGNvbG9yPVwie3tnZXRJY29uQ29sb3IoKX19XCJcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGltZWxpbmUtaWNvbi1jaXJjbGUgdGltZWxpbmUtaWNvblwiXHJcbiAgICAgICAgICAgICAgPnt7aXRlbS5pY29uVGl0bGV9fTwvbWF0LWljb24+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpc0luZm8oKVwiIGNsYXNzPVwidGltZWxpbmUtaWNvbi1xdWVzdGlvbi1tYXJrXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1pY29uXHJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInt7Z2V0SWNvbkNvbG9yKCl9fVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRpbWVsaW5lLWljb24tcXVlc3Rpb24tbWFyay1pY29uXCJcclxuICAgICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIml0ZW0/LnRpdGxlSW5mb1wiXHJcbiAgICAgICAgICAgICAgICBtYXRUb29sdGlwUG9zaXRpb249XCJhYm92ZVwiIFxyXG4gICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiIFxyXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIk1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGl0bGVcIlxyXG4gICAgICAgICAgICAgID57e2l0ZW0udGl0bGVJbmZvSWNvbn19PC9tYXQtaWNvbj4gXHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjc3VidGl0bGVUZW1wbGF0ZT5cclxuICAgICAgICAgIDwhLS0gRm90IFN1YiBUaXRsZSAtLT5cclxuICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgY2xhc3M9XCJ0aW1lbGluZS1ldmVudC1zdWItdGl0bGVcIlxyXG4gICAgICAgICAgICBbbmdDbGFzc109XCJ7J3RpbWVsaW5lLWljb24tcXVlc3Rpb24tbWFyay1hY3RpdmUnOiAhIWl0ZW0uaWNvblN1YlRpdGxlfVwiXHJcbiAgICAgICAgICAgIFtzdHlsZS5iYWNrZ3JvdW5kLWNvbG9yXT1cImdldFN1YlRpdGxlQmFja2dyb3VuZENvbG9yKClcIlxyXG4gICAgICAgICAgICAqbmdJZj1cIiEhaXRlbS5zdWJ0aXRsZVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDxzcGFuIFxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZGVzY3JpcHRpb24tZWxsaXBzaXMtYWN0aXZlJzogISFnZXRNYXhTdWJ0aXRsZUxlbmd0aCgpfVwiXHJcbiAgICAgICAgICAgICAgW3N0eWxlLmNvbG9yXT1cImdldFN1YlRpdGxlQ29sb3IoKVwiXHJcbiAgICAgICAgICAgICAgW3N0eWxlLmZvbnQtc2l6ZV09XCJnZXRTdWJUaXRsZUZvbnRTaXplKClcIlxyXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwRGlzYWJsZWRdPVwiIShpdGVtLnN1YnRpdGxlICYmIGl0ZW0uc3VidGl0bGUubGVuZ3RoID4gZ2V0TWF4U3VidGl0bGVMZW5ndGgoKSlcIlxyXG4gICAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIml0ZW0uc3VidGl0bGVcIlxyXG4gICAgICAgICAgICAgIG1hdFRvb2x0aXBQb3NpdGlvbj1cImFib3ZlXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIHt7Z2V0VGl0bGUoaXRlbS5zdWJ0aXRsZSwgJ3N1YnRpdGxlJyl9fVxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiISFpdGVtLmljb25TdWJUaXRsZVwiIGNsYXNzPVwidGltZWxpbmUtaWNvbi1xdWVzdGlvbi1tYXJrXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XHJcbiAgICAgICAgICAgICAgPG1hdC1pY29uXHJcbiAgICAgICAgICAgICAgICBjb2xvcj1cInt7Z2V0SWNvbkNvbG9yKCl9fVwiXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRpbWVsaW5lLWljb24tY2lyY2xlIHRpbWVsaW5lLWljb25cIlxyXG4gICAgICAgICAgICAgID57e2l0ZW0uaWNvblN1YlRpdGxlfX08L21hdC1pY29uPlxyXG4gICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaXNJbmZvKClcIiBjbGFzcz1cInRpbWVsaW5lLWljb24tcXVlc3Rpb24tbWFya1wiPlxyXG4gICAgICAgICAgICAgIDxtYXQtaWNvblxyXG4gICAgICAgICAgICAgICAgY29sb3I9XCJ7e2dldEljb25Db2xvcigpfX1cIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0aW1lbGluZS1pY29uLXF1ZXN0aW9uLW1hcmstaWNvblwiXHJcbiAgICAgICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJpdGVtPy5zdWJUaXRsZUluZm9cIlxyXG4gICAgICAgICAgICAgICAgbWF0VG9vbHRpcFBvc2l0aW9uPVwiYWJvdmVcIiBcclxuICAgICAgICAgICAgICAgIHJvbGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIk1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc3VidGl0bGVcIlxyXG4gICAgICAgICAgICAgID57e2l0ZW0uc3ViVGl0bGVJbmZvSWNvbn19PC9tYXQtaWNvbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2xpPlxyXG4gIDwvdWw+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { RuclibTimelineComponent } from './ruclib-timeline/ruclib-timeline.component';
|
|
4
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
6
|
+
import { MatCardModule } from '@angular/material/card';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export class RuclibTimelineModule {
|
|
9
|
+
}
|
|
10
|
+
RuclibTimelineModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RuclibTimelineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
11
|
+
RuclibTimelineModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: RuclibTimelineModule, declarations: [RuclibTimelineComponent], imports: [CommonModule, MatIconModule, MatTooltipModule, MatCardModule], exports: [RuclibTimelineComponent] });
|
|
12
|
+
RuclibTimelineModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RuclibTimelineModule, imports: [CommonModule, MatIconModule, MatTooltipModule, MatCardModule] });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RuclibTimelineModule, decorators: [{
|
|
14
|
+
type: NgModule,
|
|
15
|
+
args: [{
|
|
16
|
+
imports: [CommonModule, MatIconModule, MatTooltipModule, MatCardModule],
|
|
17
|
+
declarations: [RuclibTimelineComponent],
|
|
18
|
+
exports: [RuclibTimelineComponent],
|
|
19
|
+
}]
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVjbGliLXRpbWVsaW5lLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvcnVjbGliLXRpbWVsaW5lLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN0RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDOztBQU9yRCxNQUFNLE9BQU8sb0JBQW9COztrSEFBcEIsb0JBQW9CO21IQUFwQixvQkFBb0IsaUJBSGhCLHVCQUF1QixhQUQ1QixZQUFZLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLGFBQWEsYUFFNUQsdUJBQXVCO21IQUV0QixvQkFBb0IsWUFKckIsWUFBWSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhOzRGQUkzRCxvQkFBb0I7a0JBTGhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLENBQUM7b0JBQ3ZFLFlBQVksRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUN2QyxPQUFPLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztpQkFDbkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBSdWNsaWJUaW1lbGluZUNvbXBvbmVudCB9IGZyb20gJy4vcnVjbGliLXRpbWVsaW5lL3J1Y2xpYi10aW1lbGluZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcclxuaW1wb3J0IHtNYXRDYXJkTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0SWNvbk1vZHVsZSwgTWF0VG9vbHRpcE1vZHVsZSwgTWF0Q2FyZE1vZHVsZV0sXHJcbiAgZGVjbGFyYXRpb25zOiBbUnVjbGliVGltZWxpbmVDb21wb25lbnRdLFxyXG4gIGV4cG9ydHM6IFtSdWNsaWJUaW1lbGluZUNvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSdWNsaWJUaW1lbGluZU1vZHVsZSB7fVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVjbGliLXRpbWVsaW5lLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21vZGVsL3J1Y2xpYi10aW1lbGluZS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqSW50ZXJmYWNlIGZvciBkZWZpbmluZyB0aGUgVGltZWxpbmUgRGF0YVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBSdWNUaW1lbGluZUl0ZW1EYXRhIHtcclxuICAgIGlkOiBudW1iZXI7XHJcbiAgICB0aXRsZTogc3RyaW5nO1xyXG4gICAgc3VidGl0bGU/OiBzdHJpbmc7XHJcbiAgICBjb250ZW50Pzogc3RyaW5nOyBcclxuICAgIGljb24/OiBzdHJpbmc7IFxyXG4gICAgaWNvbkFyaWFMYWJlbD86IHN0cmluZzsgXHJcbiAgICBpbWFnZVVybD86IHN0cmluZzsgXHJcbiAgICBpbWFnZUFsdFRleHQ/OiBzdHJpbmc7IFxyXG4gICAgdGl0bGVJbmZvPzogc3RyaW5nOyBcclxuICAgIHN1YlRpdGxlSW5mbz86IHN0cmluZzsgXHJcbiAgICBpY29uVGl0bGU/OiBzdHJpbmc7IFxyXG4gICAgaWNvblN1YlRpdGxlPzogc3RyaW5nO1xyXG4gICAgdGl0bGVJbmZvSWNvbj86IHN0cmluZztcclxuICAgIHN1YlRpdGxlSW5mb0ljb24/OiBzdHJpbmc7IFxyXG59XHJcblxyXG4vKipcclxuICpJbnRlcmZhY2UgZm9yIGRlZmluaW5nIHRoZSBUaW1lbGluZSBQcm9wZXJ0eVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBSdWNUaW1lbGluZUlucHV0IHtcclxuICAgIGxheW91dD86ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCcgfCB1bmRlZmluZWQ7XHJcbiAgICBwb3NpdGlvbj86ICdsZWZ0JyB8ICdyaWdodCcgfCAndG9wJyB8ICdib3R0b20nIHwgJ2FsdGVybmF0ZScgfCAnb3Bwb3NpdGUnO1xyXG4gICAgdGl0bGVGb250Q29sb3I/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgICBzdWJUaXRsZUZvbnRDb2xvcj86IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICAgIHRpdGxlRm9udFNpemU/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgICBzdWJUaXRsZUZvbnRTaXplPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gICAgdGl0bGVCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XHJcbiAgICBzdWJUaXRsZUJhY2tncm91bmRDb2xvcj86IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICAgIGhpZ2hsaWdodENvbG9yPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG4gICAgaWNvbkNvbG9yPzogJ3ByaW1hcnknIHwgJ2FjY2VudCcgfCAnd2Fybic7XHJcbiAgICBtYXhUaXRsZUxlbmd0aD86IG51bWJlcjtcclxuICAgIG1heFN1YlRpdGxlTGVuZ3RoPzogbnVtYmVyO1xyXG4gICAgaXNJbmZvPzogYm9vbGVhbiB8IHVuZGVmaW5lZDtcclxuICAgIGlzVGVtcGxhdGU/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xyXG4gICAgZGF0YT86IFJ1Y1RpbWVsaW5lSXRlbURhdGFbXTtcclxufVxyXG4gICJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVjLWxpYi10aW1lbGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ydWMtbGliLXRpbWVsaW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|