@factor_ec/ui 4.0.8 → 4.0.10
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/esm2022/lib/io/icon/icon.component.mjs +1 -1
- package/esm2022/lib/io/image/image.component.mjs +1 -1
- package/esm2022/lib/io/rating/rating.component.mjs +16 -3
- package/esm2022/lib/{io/message-content → message-content}/message-content.component.mjs +1 -1
- package/esm2022/lib/message-dialog/message-dialog.component.mjs +33 -0
- package/esm2022/lib/message.service.mjs +9 -7
- package/esm2022/lib/models/message-options.mjs +1 -1
- package/esm2022/lib/nav/timeline/timeline.component.mjs +102 -0
- package/esm2022/lib/observe-intersecting.directive.mjs +12 -11
- package/esm2022/lib/progress.service.mjs +48 -0
- package/esm2022/public-api.mjs +3 -2
- package/fesm2022/factor_ec-ui.mjs +80 -21
- package/fesm2022/factor_ec-ui.mjs.map +1 -1
- package/lib/io/rating/rating.component.d.ts +2 -1
- package/lib/{io/message-dialog → message-dialog}/message-dialog.component.d.ts +0 -1
- package/lib/models/message-options.d.ts +4 -5
- package/lib/observe-intersecting.directive.d.ts +4 -4
- package/lib/progress.service.d.ts +15 -0
- package/package.json +1 -1
- package/public-api.d.ts +2 -1
- package/scss/components/image.scss +62 -0
- package/scss/components/index.scss +10 -0
- package/scss/components/list.scss +0 -2
- package/scss/components/progress.scss +119 -0
- package/esm2022/lib/io/message-dialog/message-dialog.component.mjs +0 -35
- package/esm2022/lib/io/timeline/timeline.component.mjs +0 -102
- package/esm2022/lib/models/action.mjs +0 -2
- package/esm2022/lib/models/icon.mjs +0 -2
- package/lib/models/action.d.ts +0 -14
- package/lib/models/icon.d.ts +0 -6
- package/scss/components.scss +0 -8
- /package/lib/{io/message-content → message-content}/message-content.component.d.ts +0 -0
- /package/lib/{io → nav}/timeline/timeline.component.d.ts +0 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
.ft-image {
|
|
2
|
+
display: inline-block;
|
|
3
|
+
overflow: hidden;
|
|
4
|
+
display: flex;
|
|
5
|
+
align-items: center;
|
|
6
|
+
justify-content: center;
|
|
7
|
+
|
|
8
|
+
&.ft-image--loading {
|
|
9
|
+
background-color: rgba(0, 0, 0, .03);
|
|
10
|
+
position: relative;
|
|
11
|
+
overflow: hidden;
|
|
12
|
+
|
|
13
|
+
&::after {
|
|
14
|
+
content: '';
|
|
15
|
+
display: block;
|
|
16
|
+
background-color: rgba(0, 0, 0, .02);
|
|
17
|
+
position: absolute;
|
|
18
|
+
top: 0;
|
|
19
|
+
bottom: 0;
|
|
20
|
+
width: 100%;
|
|
21
|
+
height: 100%;
|
|
22
|
+
transform: translateX(0);
|
|
23
|
+
animation: 1.5s ft-image-loading ease-in-out infinite;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
&.ft-image--error {
|
|
28
|
+
background-color: rgba(255, 0, 0, .03);
|
|
29
|
+
|
|
30
|
+
ft-icon {
|
|
31
|
+
color: var(--ft-danger-color);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
img {
|
|
37
|
+
position: relative;
|
|
38
|
+
z-index: 1;
|
|
39
|
+
max-width: 100%;
|
|
40
|
+
max-height: 100%;
|
|
41
|
+
animation: ft-image-show .3s;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@keyframes ft-image-show {
|
|
45
|
+
from {
|
|
46
|
+
opacity: 0;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
to {
|
|
50
|
+
opacity: 1;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@keyframes ft-image-loading {
|
|
55
|
+
0% {
|
|
56
|
+
transform: translateX(-100%);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
100% {
|
|
60
|
+
transform: translateX(100%);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
.ft-progress {
|
|
2
|
+
line-height: 0;
|
|
3
|
+
display: inline-block;
|
|
4
|
+
|
|
5
|
+
&--1 {
|
|
6
|
+
font-size: 1rem;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
&--2 {
|
|
10
|
+
font-size: 1.5rem;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
&--3 {
|
|
14
|
+
font-size: 2rem;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&--4 {
|
|
18
|
+
font-size: 3rem;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
&--5 {
|
|
22
|
+
font-size: 4.5rem;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
&--6 {
|
|
26
|
+
font-size: 8rem;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
&--7 {
|
|
30
|
+
font-size: 16rem;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
&--8 {
|
|
34
|
+
font-size: 32rem;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
&--overlay {
|
|
38
|
+
position: fixed;
|
|
39
|
+
display: flex;
|
|
40
|
+
align-items: center;
|
|
41
|
+
justify-content: center;
|
|
42
|
+
pointer-events: none;
|
|
43
|
+
z-index: $zindex-modal;
|
|
44
|
+
top: 0;
|
|
45
|
+
left: 0;
|
|
46
|
+
right: 0;
|
|
47
|
+
bottom: 0;
|
|
48
|
+
font-size: 42px;
|
|
49
|
+
|
|
50
|
+
svg {
|
|
51
|
+
background: rgba(255, 255, 255, 0.6);
|
|
52
|
+
backdrop-filter: saturate(50%) blur(3px);
|
|
53
|
+
box-shadow: 0 3px 3px -2px rgba(0, 0, 0, 0.2), 0 3px 4px 0 rgba(0, 0, 0, 0.14), 0 1px 8px 0 rgba(0, 0, 0, 0.12);
|
|
54
|
+
border-radius: 100vh;
|
|
55
|
+
padding: 0.3125rem;
|
|
56
|
+
animation: ft-progress-reveal 0.2s;
|
|
57
|
+
animation-fill-mode: forwards;
|
|
58
|
+
|
|
59
|
+
.ft-track {
|
|
60
|
+
display: none;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
svg {
|
|
67
|
+
width: 1em;
|
|
68
|
+
height: 1em;
|
|
69
|
+
vertical-align: middle;
|
|
70
|
+
|
|
71
|
+
.ft-track {
|
|
72
|
+
fill: none;
|
|
73
|
+
stroke-width: 10;
|
|
74
|
+
stroke: var(--ft-progress-track-color);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.ft-bar {
|
|
78
|
+
fill: none;
|
|
79
|
+
stroke-opacity: 0.9;
|
|
80
|
+
stroke-width: 6;
|
|
81
|
+
stroke: var(--ft-progress-bar-color);
|
|
82
|
+
|
|
83
|
+
&--indeterminate {
|
|
84
|
+
animation: ft-progress-rotation 2s infinite linear;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
&--determinate {
|
|
88
|
+
stroke-dasharray: calc(2 * 3.1415926536 * 40);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
@keyframes ft-progress-reveal {
|
|
94
|
+
0% {
|
|
95
|
+
transform: translateY(-100%);
|
|
96
|
+
opacity: 0;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
100% {
|
|
100
|
+
transform: translateY(0);
|
|
101
|
+
opacity: 1;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
@keyframes ft-progress-rotation {
|
|
106
|
+
0% {
|
|
107
|
+
stroke-dashoffset: 0;
|
|
108
|
+
stroke-dasharray: 150.6 100.4;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
50% {
|
|
112
|
+
stroke-dasharray: 1 250;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
100% {
|
|
116
|
+
stroke-dashoffset: 502;
|
|
117
|
+
stroke-dasharray: 150.6 100.4;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Inject, Output } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { MAT_DIALOG_DATA } from '@angular/material/dialog';
|
|
4
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
-
import { IconComponent } from '../icon/icon.component';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/common";
|
|
8
|
-
import * as i2 from "@angular/material/button";
|
|
9
|
-
export class MessageDialogComponent {
|
|
10
|
-
constructor(data) {
|
|
11
|
-
this.data = data;
|
|
12
|
-
this.beforeSelect = new EventEmitter();
|
|
13
|
-
}
|
|
14
|
-
ngOnInit() {
|
|
15
|
-
}
|
|
16
|
-
select(value) {
|
|
17
|
-
this.beforeSelect.emit(value);
|
|
18
|
-
}
|
|
19
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: MessageDialogComponent, deps: [{ token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
20
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: MessageDialogComponent, isStandalone: true, selector: "ft-message-dialog", outputs: { beforeSelect: "beforeSelect" }, ngImport: i0, template: "<h1 mat-dialog-title class=\"ft-message__title\" *ngIf=\"data.options?.title\">\n <ft-icon *ngIf=\"data.options?.titleIcon\" [name]=\"data.options?.titleIcon?.name\"\n [collection]=\"data.options?.titleIcon?.collection\" [ngClass]=\"data.options?.titleIcon?.class\"></ft-icon>\n <div>{{ data.options?.title }}</div>\n</h1>\n<div mat-dialog-content class=\"ft-message__content\" [ngClass]=\"data.options?.class\">\n <ft-icon *ngIf=\"data.options?.icon\" [name]=\"data.options?.icon?.name\" [collection]=\"data.options?.icon?.collection\"\n [ngClass]=\"data.options?.icon?.class\"></ft-icon>\n <ng-container [ngSwitch]=\"data.message?.type\">\n <div *ngSwitchCase=\"'html'\" [innerHTML]=\"data.message?.content\"></div>\n <ng-container *ngSwitchDefault>{{ data.message?.content }}</ng-container>\n </ng-container>\n</div>\n<div mat-dialog-actions class=\"ft-message__actions\" *ngIf=\"data.options.actionsVisible\">\n <ng-container *ngIf=\"data.options?.actions?.length > 0; else acceptTemplate\">\n <ng-container *ngFor=\"let action of data.options?.actions; let i = index\">\n <ng-container [ngSwitch]=\"action.type\">\n <button type=\"button\" *ngSwitchCase=\"'raised'\" mat-raised-button [color]=\"action.metadata?.color\"\n (click)=\"select(action.value)\" autofocus>{{ action.label }}</button>\n <button type=\"button\" *ngSwitchCase=\"'flat'\" mat-flat-button [color]=\"action.metadata?.color\"\n (click)=\"select(action.value)\" autofocus>{{ action.label }}</button>\n <button type=\"button\" *ngSwitchCase=\"'stroked'\" mat-stroked-button [color]=\"action.metadata?.color\"\n (click)=\"select(action.value)\" autofocus>{{ action.label }}</button>\n <button type=\"button\" *ngSwitchDefault mat-button [color]=\"action.metadata?.color\"\n (click)=\"select(action.value)\">{{ action.label }}</button>\n </ng-container>\n </ng-container>\n </ng-container>\n</div>\n<ng-template #acceptTemplate>\n <button type=\"button\" mat-stroked-button color=\"primary\" autofocus (click)=\"select('-1')\" i18n>Accept</button>\n</ng-template>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: IconComponent, selector: "ft-icon", inputs: ["collection", "mode", "name", "path", "src", "class"] }] }); }
|
|
21
|
-
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: MessageDialogComponent, decorators: [{
|
|
23
|
-
type: Component,
|
|
24
|
-
args: [{ selector: 'ft-message-dialog', standalone: true, imports: [
|
|
25
|
-
CommonModule,
|
|
26
|
-
MatButtonModule,
|
|
27
|
-
IconComponent
|
|
28
|
-
], template: "<h1 mat-dialog-title class=\"ft-message__title\" *ngIf=\"data.options?.title\">\n <ft-icon *ngIf=\"data.options?.titleIcon\" [name]=\"data.options?.titleIcon?.name\"\n [collection]=\"data.options?.titleIcon?.collection\" [ngClass]=\"data.options?.titleIcon?.class\"></ft-icon>\n <div>{{ data.options?.title }}</div>\n</h1>\n<div mat-dialog-content class=\"ft-message__content\" [ngClass]=\"data.options?.class\">\n <ft-icon *ngIf=\"data.options?.icon\" [name]=\"data.options?.icon?.name\" [collection]=\"data.options?.icon?.collection\"\n [ngClass]=\"data.options?.icon?.class\"></ft-icon>\n <ng-container [ngSwitch]=\"data.message?.type\">\n <div *ngSwitchCase=\"'html'\" [innerHTML]=\"data.message?.content\"></div>\n <ng-container *ngSwitchDefault>{{ data.message?.content }}</ng-container>\n </ng-container>\n</div>\n<div mat-dialog-actions class=\"ft-message__actions\" *ngIf=\"data.options.actionsVisible\">\n <ng-container *ngIf=\"data.options?.actions?.length > 0; else acceptTemplate\">\n <ng-container *ngFor=\"let action of data.options?.actions; let i = index\">\n <ng-container [ngSwitch]=\"action.type\">\n <button type=\"button\" *ngSwitchCase=\"'raised'\" mat-raised-button [color]=\"action.metadata?.color\"\n (click)=\"select(action.value)\" autofocus>{{ action.label }}</button>\n <button type=\"button\" *ngSwitchCase=\"'flat'\" mat-flat-button [color]=\"action.metadata?.color\"\n (click)=\"select(action.value)\" autofocus>{{ action.label }}</button>\n <button type=\"button\" *ngSwitchCase=\"'stroked'\" mat-stroked-button [color]=\"action.metadata?.color\"\n (click)=\"select(action.value)\" autofocus>{{ action.label }}</button>\n <button type=\"button\" *ngSwitchDefault mat-button [color]=\"action.metadata?.color\"\n (click)=\"select(action.value)\">{{ action.label }}</button>\n </ng-container>\n </ng-container>\n </ng-container>\n</div>\n<ng-template #acceptTemplate>\n <button type=\"button\" mat-stroked-button color=\"primary\" autofocus (click)=\"select('-1')\" i18n>Accept</button>\n</ng-template>" }]
|
|
29
|
-
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
30
|
-
type: Inject,
|
|
31
|
-
args: [MAT_DIALOG_DATA]
|
|
32
|
-
}] }]; }, propDecorators: { beforeSelect: [{
|
|
33
|
-
type: Output
|
|
34
|
-
}] } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZS1kaWFsb2cuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pby9tZXNzYWdlLWRpYWxvZy9tZXNzYWdlLWRpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2lvL21lc3NhZ2UtZGlhbG9nL21lc3NhZ2UtZGlhbG9nLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7O0FBWXZELE1BQU0sT0FBTyxzQkFBc0I7SUFHakMsWUFDa0MsSUFBUztRQUFULFNBQUksR0FBSixJQUFJLENBQUs7UUFIakMsaUJBQVksR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztJQUkzRCxDQUFDO0lBRUwsUUFBUTtJQUNSLENBQUM7SUFDRCxNQUFNLENBQUMsS0FBYTtRQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxDQUFDOzhHQVhVLHNCQUFzQixrQkFJdkIsZUFBZTtrR0FKZCxzQkFBc0Isd0hDakJuQyxtdEVBK0JjLDJDRHBCVixZQUFZLHltQkFDWixlQUFlLDRRQUNmLGFBQWE7OzJGQUlKLHNCQUFzQjtrQkFWbEMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixhQUFhO3FCQUNkOzswQkFPRSxNQUFNOzJCQUFDLGVBQWU7NENBSGYsWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE1BVF9ESUFMT0dfREFUQSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi9pY29uLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z0LW1lc3NhZ2UtZGlhbG9nJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgSWNvbkNvbXBvbmVudFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vbWVzc2FnZS1kaWFsb2cuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VEaWFsb2dDb21wb25lbnQge1xuICBAT3V0cHV0KCkgYmVmb3JlU2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueVxuICApIHsgfVxuXG4gIG5nT25Jbml0KCkge1xuICB9XG4gIHNlbGVjdCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5iZWZvcmVTZWxlY3QuZW1pdCh2YWx1ZSk7XG4gIH1cbn1cbiIsIjxoMSBtYXQtZGlhbG9nLXRpdGxlIGNsYXNzPVwiZnQtbWVzc2FnZV9fdGl0bGVcIiAqbmdJZj1cImRhdGEub3B0aW9ucz8udGl0bGVcIj5cbiAgICA8ZnQtaWNvbiAqbmdJZj1cImRhdGEub3B0aW9ucz8udGl0bGVJY29uXCIgW25hbWVdPVwiZGF0YS5vcHRpb25zPy50aXRsZUljb24/Lm5hbWVcIlxuICAgICAgICBbY29sbGVjdGlvbl09XCJkYXRhLm9wdGlvbnM/LnRpdGxlSWNvbj8uY29sbGVjdGlvblwiIFtuZ0NsYXNzXT1cImRhdGEub3B0aW9ucz8udGl0bGVJY29uPy5jbGFzc1wiPjwvZnQtaWNvbj5cbiAgICA8ZGl2Pnt7IGRhdGEub3B0aW9ucz8udGl0bGUgfX08L2Rpdj5cbjwvaDE+XG48ZGl2IG1hdC1kaWFsb2ctY29udGVudCBjbGFzcz1cImZ0LW1lc3NhZ2VfX2NvbnRlbnRcIiBbbmdDbGFzc109XCJkYXRhLm9wdGlvbnM/LmNsYXNzXCI+XG4gICAgPGZ0LWljb24gKm5nSWY9XCJkYXRhLm9wdGlvbnM/Lmljb25cIiBbbmFtZV09XCJkYXRhLm9wdGlvbnM/Lmljb24/Lm5hbWVcIiBbY29sbGVjdGlvbl09XCJkYXRhLm9wdGlvbnM/Lmljb24/LmNvbGxlY3Rpb25cIlxuICAgICAgICBbbmdDbGFzc109XCJkYXRhLm9wdGlvbnM/Lmljb24/LmNsYXNzXCI+PC9mdC1pY29uPlxuICAgIDxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImRhdGEubWVzc2FnZT8udHlwZVwiPlxuICAgICAgICA8ZGl2ICpuZ1N3aXRjaENhc2U9XCInaHRtbCdcIiBbaW5uZXJIVE1MXT1cImRhdGEubWVzc2FnZT8uY29udGVudFwiPjwvZGl2PlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaERlZmF1bHQ+e3sgZGF0YS5tZXNzYWdlPy5jb250ZW50IH19PC9uZy1jb250YWluZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L2Rpdj5cbjxkaXYgbWF0LWRpYWxvZy1hY3Rpb25zIGNsYXNzPVwiZnQtbWVzc2FnZV9fYWN0aW9uc1wiICpuZ0lmPVwiZGF0YS5vcHRpb25zLmFjdGlvbnNWaXNpYmxlXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGEub3B0aW9ucz8uYWN0aW9ucz8ubGVuZ3RoID4gMDsgZWxzZSBhY2NlcHRUZW1wbGF0ZVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBhY3Rpb24gb2YgZGF0YS5vcHRpb25zPy5hY3Rpb25zOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJhY3Rpb24udHlwZVwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICpuZ1N3aXRjaENhc2U9XCIncmFpc2VkJ1wiIG1hdC1yYWlzZWQtYnV0dG9uIFtjb2xvcl09XCJhY3Rpb24ubWV0YWRhdGE/LmNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInNlbGVjdChhY3Rpb24udmFsdWUpXCIgYXV0b2ZvY3VzPnt7IGFjdGlvbi5sYWJlbCB9fTwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiICpuZ1N3aXRjaENhc2U9XCInZmxhdCdcIiBtYXQtZmxhdC1idXR0b24gW2NvbG9yXT1cImFjdGlvbi5tZXRhZGF0YT8uY29sb3JcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0KGFjdGlvbi52YWx1ZSlcIiBhdXRvZm9jdXM+e3sgYWN0aW9uLmxhYmVsIH19PC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKm5nU3dpdGNoQ2FzZT1cIidzdHJva2VkJ1wiIG1hdC1zdHJva2VkLWJ1dHRvbiBbY29sb3JdPVwiYWN0aW9uLm1ldGFkYXRhPy5jb2xvclwiXG4gICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZWxlY3QoYWN0aW9uLnZhbHVlKVwiIGF1dG9mb2N1cz57eyBhY3Rpb24ubGFiZWwgfX08L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAqbmdTd2l0Y2hEZWZhdWx0IG1hdC1idXR0b24gW2NvbG9yXT1cImFjdGlvbi5tZXRhZGF0YT8uY29sb3JcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2VsZWN0KGFjdGlvbi52YWx1ZSlcIj57eyBhY3Rpb24ubGFiZWwgfX08L2J1dHRvbj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNhY2NlcHRUZW1wbGF0ZT5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBtYXQtc3Ryb2tlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgYXV0b2ZvY3VzIChjbGljayk9XCJzZWxlY3QoJy0xJylcIiBpMThuPkFjY2VwdDwvYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { Component, HostBinding, Input } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
export class TimelineComponent {
|
|
6
|
-
get hostClasses() {
|
|
7
|
-
return [
|
|
8
|
-
'ft-timeline',
|
|
9
|
-
this.class
|
|
10
|
-
].join(' ');
|
|
11
|
-
}
|
|
12
|
-
;
|
|
13
|
-
constructor() {
|
|
14
|
-
this.startDate = new Date();
|
|
15
|
-
this.data = [];
|
|
16
|
-
this.dataParsed = {
|
|
17
|
-
months: [],
|
|
18
|
-
days: [],
|
|
19
|
-
weekends: []
|
|
20
|
-
};
|
|
21
|
-
this.class = '';
|
|
22
|
-
}
|
|
23
|
-
ngOnInit() {
|
|
24
|
-
this.addMonth(this.calcStartDate());
|
|
25
|
-
}
|
|
26
|
-
addMonth(date) {
|
|
27
|
-
const month = this.getMonth(date.getMonth(), date.getFullYear());
|
|
28
|
-
const currentDays = this.dataParsed.days.length;
|
|
29
|
-
this.dataParsed.months = [...this.dataParsed.months, { date: month.days[0], daysInMonth: month.days.length }];
|
|
30
|
-
this.dataParsed.days = [...this.dataParsed.days, ...month.days];
|
|
31
|
-
this.dataParsed.weekends = [...this.dataParsed.weekends, ...month.weekends];
|
|
32
|
-
if (!this.currentDate && month.currentDate) {
|
|
33
|
-
this.currentDate = currentDays + month.currentDate;
|
|
34
|
-
}
|
|
35
|
-
this.dataParsed.days.some((day, index) => {
|
|
36
|
-
if ([0, 6].includes(day.getDay())) {
|
|
37
|
-
this.dataParsed.weekendStart = index;
|
|
38
|
-
return true;
|
|
39
|
-
}
|
|
40
|
-
return false;
|
|
41
|
-
});
|
|
42
|
-
this.parseTasks();
|
|
43
|
-
}
|
|
44
|
-
calcStartDate() {
|
|
45
|
-
return new Date();
|
|
46
|
-
}
|
|
47
|
-
getMonth(month, year) {
|
|
48
|
-
const days = [];
|
|
49
|
-
const weekends = [];
|
|
50
|
-
let currentDate = null;
|
|
51
|
-
let today = new Date();
|
|
52
|
-
const date = new Date(year, month + 1, 0);
|
|
53
|
-
for (let i = 1; i <= date.getDate(); i++) {
|
|
54
|
-
const idate = new Date(year, month, i);
|
|
55
|
-
if ([0, 6].includes(idate.getDay())) {
|
|
56
|
-
if (idate.getDay() === 6) {
|
|
57
|
-
weekends.push([idate]);
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
weekends[weekends.length - 1].push(idate);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
if (idate.getTime() === new Date(today.getFullYear(), today.getMonth(), today.getDate()).getTime()) {
|
|
64
|
-
currentDate = i - 1;
|
|
65
|
-
}
|
|
66
|
-
days.push(idate);
|
|
67
|
-
}
|
|
68
|
-
const data = { days, weekends };
|
|
69
|
-
if (currentDate) {
|
|
70
|
-
data.currentDate = currentDate;
|
|
71
|
-
}
|
|
72
|
-
return data;
|
|
73
|
-
}
|
|
74
|
-
parseTasks() {
|
|
75
|
-
let tasks = this.data.filter(task => task.endAt) /*.sort((a, b) => a.)*/;
|
|
76
|
-
this.dataParsed.tasks = tasks.map((task) => {
|
|
77
|
-
return {
|
|
78
|
-
label: task.label,
|
|
79
|
-
start: 10,
|
|
80
|
-
type: task.type,
|
|
81
|
-
size: 1
|
|
82
|
-
};
|
|
83
|
-
});
|
|
84
|
-
}
|
|
85
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: TimelineComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
86
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.2", type: TimelineComponent, isStandalone: true, selector: "ft-timeline", inputs: { data: "data", class: "class" }, host: { properties: { "style.--current-date": "this.currentDate", "class": "this.hostClasses" } }, ngImport: i0, template: "<div class=\"ft-weekends\" [style.--start]=\"dataParsed.weekendStart\">\n <div class=\"ft-weekends__item\" [style.--weekend-size]=\"weekend.length\" *ngFor=\"let weekend of dataParsed.weekends\">\n </div>\n</div>\n<div class=\"ft-current-date\" *ngIf=\"currentDate\"></div>\n<div class=\"ft-header\">\n <div class=\"ft-header__months\">\n <div [style.--days-in-month]=\"month.daysInMonth\" *ngFor=\"let month of dataParsed.months; let i = index\">{{\n month.date\n | date: 'MMMM, yyyy' }}</div>\n </div>\n <div class=\"ft-header__days\">\n <div *ngFor=\"let day of dataParsed.days; let i = index\">\n <div [ngClass]=\"{active: currentDate && currentDate === i}\">{{ day | date:'d' }}</div>\n </div>\n </div>\n</div>\n<div class=\"ft-tasks\">\n <button type=\"button\" class=\"ft-tasks__item\" [class.tasks__item--milestone]=\"task.type === 'milestone'\"\n [style.--start]=\"task.start\" [style.--days]=\"task.type === 'milestone' ? 1 : task.size\"\n style=\" --color-rgb: 130, 121, 210;\" *ngFor=\"let task of dataParsed.tasks;\">{{ task.label }}</button>\n</div>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: "pipe", type: i1.DatePipe, name: "date" }] }); }
|
|
87
|
-
}
|
|
88
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.2", ngImport: i0, type: TimelineComponent, decorators: [{
|
|
89
|
-
type: Component,
|
|
90
|
-
args: [{ selector: 'ft-timeline', standalone: true, imports: [CommonModule], template: "<div class=\"ft-weekends\" [style.--start]=\"dataParsed.weekendStart\">\n <div class=\"ft-weekends__item\" [style.--weekend-size]=\"weekend.length\" *ngFor=\"let weekend of dataParsed.weekends\">\n </div>\n</div>\n<div class=\"ft-current-date\" *ngIf=\"currentDate\"></div>\n<div class=\"ft-header\">\n <div class=\"ft-header__months\">\n <div [style.--days-in-month]=\"month.daysInMonth\" *ngFor=\"let month of dataParsed.months; let i = index\">{{\n month.date\n | date: 'MMMM, yyyy' }}</div>\n </div>\n <div class=\"ft-header__days\">\n <div *ngFor=\"let day of dataParsed.days; let i = index\">\n <div [ngClass]=\"{active: currentDate && currentDate === i}\">{{ day | date:'d' }}</div>\n </div>\n </div>\n</div>\n<div class=\"ft-tasks\">\n <button type=\"button\" class=\"ft-tasks__item\" [class.tasks__item--milestone]=\"task.type === 'milestone'\"\n [style.--start]=\"task.start\" [style.--days]=\"task.type === 'milestone' ? 1 : task.size\"\n style=\" --color-rgb: 130, 121, 210;\" *ngFor=\"let task of dataParsed.tasks;\">{{ task.label }}</button>\n</div>" }]
|
|
91
|
-
}], ctorParameters: function () { return []; }, propDecorators: { data: [{
|
|
92
|
-
type: Input
|
|
93
|
-
}], currentDate: [{
|
|
94
|
-
type: HostBinding,
|
|
95
|
-
args: ['style.--current-date']
|
|
96
|
-
}], class: [{
|
|
97
|
-
type: Input
|
|
98
|
-
}], hostClasses: [{
|
|
99
|
-
type: HostBinding,
|
|
100
|
-
args: ['class']
|
|
101
|
-
}] } });
|
|
102
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZWxpbmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9pby90aW1lbGluZS90aW1lbGluZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2lvL3RpbWVsaW5lL3RpbWVsaW5lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVMvQyxNQUFNLE9BQU8saUJBQWlCO0lBWTVCLElBQTBCLFdBQVc7UUFDbkMsT0FBTztZQUNMLGFBQWE7WUFDYixJQUFJLENBQUMsS0FBSztTQUNYLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2QsQ0FBQztJQUFBLENBQUM7SUFFRjtRQWxCQSxjQUFTLEdBQWtCLElBQUksSUFBSSxFQUFFLENBQUM7UUFDN0IsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUczQixlQUFVLEdBQVE7WUFDaEIsTUFBTSxFQUFFLEVBQUU7WUFDVixJQUFJLEVBQUUsRUFBRTtZQUNSLFFBQVEsRUFBRSxFQUFFO1NBQ2IsQ0FBQztRQUVPLFVBQUssR0FBVyxFQUFFLENBQUM7SUFRWixDQUFDO0lBRWpCLFFBQVE7UUFDTixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFDRCxRQUFRLENBQUMsSUFBVTtRQUNqQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUNqRSxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDaEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUM5RyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyxXQUFXLEVBQUU7WUFDMUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQztTQUNwRDtRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQVMsRUFBRSxLQUFhLEVBQUUsRUFBRTtZQUNyRCxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRTtnQkFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO2dCQUNyQyxPQUFPLElBQUksQ0FBQzthQUNiO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBQ0QsYUFBYTtRQUNYLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBQ0QsUUFBUSxDQUFDLEtBQWEsRUFBRSxJQUFZO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNoQixNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDcEIsSUFBSSxXQUFXLEdBQWtCLElBQUksQ0FBQztRQUN0QyxJQUFJLEtBQUssR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDeEMsTUFBTSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztZQUN2QyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRTtnQkFDbkMsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFO29CQUN4QixRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztpQkFDeEI7cUJBQU07b0JBQ0wsUUFBUSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUMzQzthQUNGO1lBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUUsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDbEcsV0FBVyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7YUFDckI7WUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2xCO1FBQ0QsTUFBTSxJQUFJLEdBQVEsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFDckMsSUFBSSxXQUFXLEVBQUU7WUFDZixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztTQUNoQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELFVBQVU7UUFDUixJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQSx1QkFBdUIsQ0FBQztRQUN4RSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDekMsT0FBTztnQkFDTCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7Z0JBQ2pCLEtBQUssRUFBRSxFQUFFO2dCQUNULElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixJQUFJLEVBQUUsQ0FBQzthQUNSLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBakZVLGlCQUFpQjtrR0FBakIsaUJBQWlCLG9OQ1Y5Qixrb0NBcUJNLDJDRGRNLFlBQVk7OzJGQUdYLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxhQUFhLGNBQ1gsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDOzBFQUtkLElBQUk7c0JBQVosS0FBSztnQkFFTixXQUFXO3NCQURWLFdBQVc7dUJBQUMsc0JBQXNCO2dCQVExQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ29CLFdBQVc7c0JBQXBDLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgVGFzayB9IGZyb20gJy4uLy4uL21vZGVscy90YXNrJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnQtdGltZWxpbmUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3RpbWVsaW5lLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBUaW1lbGluZUNvbXBvbmVudCB7XG4gIHN0YXJ0RGF0ZTogRGF0ZSB8IHN0cmluZyA9IG5ldyBEYXRlKCk7XG4gIEBJbnB1dCgpIGRhdGE6IFRhc2tbXSA9IFtdO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tY3VycmVudC1kYXRlJylcbiAgY3VycmVudERhdGUhOiBudW1iZXI7XG4gIGRhdGFQYXJzZWQ6IGFueSA9IHtcbiAgICBtb250aHM6IFtdLFxuICAgIGRheXM6IFtdLFxuICAgIHdlZWtlbmRzOiBbXVxuICB9O1xuXG4gIEBJbnB1dCgpIGNsYXNzOiBzdHJpbmcgPSAnJztcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGdldCBob3N0Q2xhc3NlcygpOiBzdHJpbmcge1xuICAgIHJldHVybiBbXG4gICAgICAnZnQtdGltZWxpbmUnLFxuICAgICAgdGhpcy5jbGFzc1xuICAgIF0uam9pbignICcpO1xuICB9O1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5hZGRNb250aCh0aGlzLmNhbGNTdGFydERhdGUoKSk7XG4gIH1cbiAgYWRkTW9udGgoZGF0ZTogRGF0ZSk6IHZvaWQge1xuICAgIGNvbnN0IG1vbnRoID0gdGhpcy5nZXRNb250aChkYXRlLmdldE1vbnRoKCksIGRhdGUuZ2V0RnVsbFllYXIoKSk7XG4gICAgY29uc3QgY3VycmVudERheXMgPSB0aGlzLmRhdGFQYXJzZWQuZGF5cy5sZW5ndGg7XG4gICAgdGhpcy5kYXRhUGFyc2VkLm1vbnRocyA9IFsuLi50aGlzLmRhdGFQYXJzZWQubW9udGhzLCB7IGRhdGU6IG1vbnRoLmRheXNbMF0sIGRheXNJbk1vbnRoOiBtb250aC5kYXlzLmxlbmd0aCB9XTtcbiAgICB0aGlzLmRhdGFQYXJzZWQuZGF5cyA9IFsuLi50aGlzLmRhdGFQYXJzZWQuZGF5cywgLi4ubW9udGguZGF5c107XG4gICAgdGhpcy5kYXRhUGFyc2VkLndlZWtlbmRzID0gWy4uLnRoaXMuZGF0YVBhcnNlZC53ZWVrZW5kcywgLi4ubW9udGgud2Vla2VuZHNdO1xuICAgIGlmICghdGhpcy5jdXJyZW50RGF0ZSAmJiBtb250aC5jdXJyZW50RGF0ZSkge1xuICAgICAgdGhpcy5jdXJyZW50RGF0ZSA9IGN1cnJlbnREYXlzICsgbW9udGguY3VycmVudERhdGU7XG4gICAgfVxuICAgIHRoaXMuZGF0YVBhcnNlZC5kYXlzLnNvbWUoKGRheTogRGF0ZSwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgaWYgKFswLCA2XS5pbmNsdWRlcyhkYXkuZ2V0RGF5KCkpKSB7XG4gICAgICAgIHRoaXMuZGF0YVBhcnNlZC53ZWVrZW5kU3RhcnQgPSBpbmRleDtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gICAgdGhpcy5wYXJzZVRhc2tzKCk7XG4gIH1cbiAgY2FsY1N0YXJ0RGF0ZSgpOiBEYXRlIHtcbiAgICByZXR1cm4gbmV3IERhdGUoKTtcbiAgfVxuICBnZXRNb250aChtb250aDogbnVtYmVyLCB5ZWFyOiBudW1iZXIpOiBhbnkge1xuICAgIGNvbnN0IGRheXMgPSBbXTtcbiAgICBjb25zdCB3ZWVrZW5kcyA9IFtdO1xuICAgIGxldCBjdXJyZW50RGF0ZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IHRvZGF5ID0gbmV3IERhdGUoKTtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGggKyAxLCAwKTtcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8PSBkYXRlLmdldERhdGUoKTsgaSsrKSB7XG4gICAgICBjb25zdCBpZGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCBpKTtcbiAgICAgIGlmIChbMCwgNl0uaW5jbHVkZXMoaWRhdGUuZ2V0RGF5KCkpKSB7XG4gICAgICAgIGlmIChpZGF0ZS5nZXREYXkoKSA9PT0gNikge1xuICAgICAgICAgIHdlZWtlbmRzLnB1c2goW2lkYXRlXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgd2Vla2VuZHNbd2Vla2VuZHMubGVuZ3RoIC0gMV0ucHVzaChpZGF0ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChpZGF0ZS5nZXRUaW1lKCkgPT09IG5ldyBEYXRlKHRvZGF5LmdldEZ1bGxZZWFyKCksIHRvZGF5LmdldE1vbnRoKCksIHRvZGF5LmdldERhdGUoKSkuZ2V0VGltZSgpKSB7XG4gICAgICAgIGN1cnJlbnREYXRlID0gaSAtIDE7XG4gICAgICB9XG4gICAgICBkYXlzLnB1c2goaWRhdGUpO1xuICAgIH1cbiAgICBjb25zdCBkYXRhOiBhbnkgPSB7IGRheXMsIHdlZWtlbmRzIH07XG4gICAgaWYgKGN1cnJlbnREYXRlKSB7XG4gICAgICBkYXRhLmN1cnJlbnREYXRlID0gY3VycmVudERhdGU7XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xuICB9XG4gIHBhcnNlVGFza3MoKTogdm9pZCB7XG4gICAgbGV0IHRhc2tzID0gdGhpcy5kYXRhLmZpbHRlcih0YXNrID0+IHRhc2suZW5kQXQpLyouc29ydCgoYSwgYikgPT4gYS4pKi87XG4gICAgdGhpcy5kYXRhUGFyc2VkLnRhc2tzID0gdGFza3MubWFwKCh0YXNrKSA9PiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBsYWJlbDogdGFzay5sYWJlbCxcbiAgICAgICAgc3RhcnQ6IDEwLFxuICAgICAgICB0eXBlOiB0YXNrLnR5cGUsXG4gICAgICAgIHNpemU6IDFcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmdC13ZWVrZW5kc1wiIFtzdHlsZS4tLXN0YXJ0XT1cImRhdGFQYXJzZWQud2Vla2VuZFN0YXJ0XCI+XG4gICAgPGRpdiBjbGFzcz1cImZ0LXdlZWtlbmRzX19pdGVtXCIgW3N0eWxlLi0td2Vla2VuZC1zaXplXT1cIndlZWtlbmQubGVuZ3RoXCIgKm5nRm9yPVwibGV0IHdlZWtlbmQgb2YgZGF0YVBhcnNlZC53ZWVrZW5kc1wiPlxuICAgIDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiZnQtY3VycmVudC1kYXRlXCIgKm5nSWY9XCJjdXJyZW50RGF0ZVwiPjwvZGl2PlxuPGRpdiBjbGFzcz1cImZ0LWhlYWRlclwiPlxuICAgIDxkaXYgY2xhc3M9XCJmdC1oZWFkZXJfX21vbnRoc1wiPlxuICAgICAgICA8ZGl2IFtzdHlsZS4tLWRheXMtaW4tbW9udGhdPVwibW9udGguZGF5c0luTW9udGhcIiAqbmdGb3I9XCJsZXQgbW9udGggb2YgZGF0YVBhcnNlZC5tb250aHM7IGxldCBpID0gaW5kZXhcIj57e1xuICAgICAgICAgICAgbW9udGguZGF0ZVxuICAgICAgICAgICAgfCBkYXRlOiAnTU1NTSwgeXl5eScgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZnQtaGVhZGVyX19kYXlzXCI+XG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGRheSBvZiBkYXRhUGFyc2VkLmRheXM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwie2FjdGl2ZTogY3VycmVudERhdGUgJiYgY3VycmVudERhdGUgPT09IGl9XCI+e3sgZGF5IHwgZGF0ZTonZCcgfX08L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJmdC10YXNrc1wiPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiZnQtdGFza3NfX2l0ZW1cIiBbY2xhc3MudGFza3NfX2l0ZW0tLW1pbGVzdG9uZV09XCJ0YXNrLnR5cGUgPT09ICdtaWxlc3RvbmUnXCJcbiAgICAgICAgW3N0eWxlLi0tc3RhcnRdPVwidGFzay5zdGFydFwiIFtzdHlsZS4tLWRheXNdPVwidGFzay50eXBlID09PSAnbWlsZXN0b25lJyA/IDEgOiB0YXNrLnNpemVcIlxuICAgICAgICBzdHlsZT1cIiAtLWNvbG9yLXJnYjogMTMwLCAxMjEsIDIxMDtcIiAqbmdGb3I9XCJsZXQgdGFzayBvZiBkYXRhUGFyc2VkLnRhc2tzO1wiPnt7IHRhc2subGFiZWwgfX08L2J1dHRvbj5cbjwvZGl2PiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9tb2RlbHMvYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEFjdGlvbiB7XG4gICAgY2hpbGRyZW4/OiBBY3Rpb25bXTtcbiAgICBjbGFzcz86IHN0cmluZztcbiAgICBjbGljaz86IChldmVudD86IEV2ZW50KSA9PiB2b2lkO1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICBpY29uQ29sbGVjdGlvbj86IHN0cmluZztcbiAgICBpY29uTmFtZT86IHN0cmluZztcbiAgICBpZD86IHN0cmluZztcbiAgICBsYWJlbD86IHN0cmluZztcbiAgICB1cmw/OiBzdHJpbmc7XG4gICAgdHlwZT86IHN0cmluZztcbiAgICBtZXRhZGF0YT86IGFueTtcbiAgICB2YWx1ZT86IGFueTtcbn0iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvbW9kZWxzL2ljb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSWNvbiB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIGNvbGxlY3Rpb24/OiBzdHJpbmc7XG4gICAgY2xhc3M/OiBzdHJpbmc7XG4gICAgc2l6ZT86IG51bWJlcjtcbn0iXX0=
|
package/lib/models/action.d.ts
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export interface Action {
|
|
2
|
-
children?: Action[];
|
|
3
|
-
class?: string;
|
|
4
|
-
click?: (event?: Event) => void;
|
|
5
|
-
disabled?: boolean;
|
|
6
|
-
iconCollection?: string;
|
|
7
|
-
iconName?: string;
|
|
8
|
-
id?: string;
|
|
9
|
-
label?: string;
|
|
10
|
-
url?: string;
|
|
11
|
-
type?: string;
|
|
12
|
-
metadata?: any;
|
|
13
|
-
value?: any;
|
|
14
|
-
}
|
package/lib/models/icon.d.ts
DELETED
package/scss/components.scss
DELETED
|
File without changes
|
|
File without changes
|