@agorapulse/ui-components 13.2.8 → 13.2.11
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/agorapulse-ui-components-13.2.11.tgz +0 -0
- package/esm2020/index.mjs +1 -11
- package/esm2020/src/lib/agorapulse-ui-components.module.mjs +2 -47
- package/esm2020/src/lib/avatar/avatar.component.mjs +7 -3
- package/esm2020/src/lib/labels/label-list.component.mjs +1 -2
- package/esm2020/src/lib/popmenu/index.mjs +5 -0
- package/fesm2015/agorapulse-ui-components.mjs +181 -635
- package/fesm2015/agorapulse-ui-components.mjs.map +1 -1
- package/fesm2020/agorapulse-ui-components.mjs +181 -632
- package/fesm2020/agorapulse-ui-components.mjs.map +1 -1
- package/index.d.ts +0 -11
- package/package.json +1 -1
- package/src/lib/agorapulse-ui-components.module.d.ts +51 -60
- package/src/lib/avatar/avatar.component.d.ts +2 -2
- package/src/lib/popmenu/index.d.ts +4 -0
- package/agorapulse-ui-components-13.2.8.tgz +0 -0
- package/esm2020/src/lib/feature-onboarding/feature-onboarding.component.mjs +0 -35
- package/esm2020/src/lib/image-carousel/image-carousel.component.mjs +0 -161
- package/esm2020/src/lib/overlay/overlay-dialog-service.component.mjs +0 -61
- package/esm2020/src/lib/overlay/overlay-dialog.component.mjs +0 -33
- package/esm2020/src/lib/overlay-in-div/overlay-in-div.component.mjs +0 -27
- package/esm2020/src/lib/places/place-list.component.mjs +0 -11
- package/esm2020/src/lib/places/place.component.mjs +0 -14
- package/esm2020/src/lib/splashscreen/splashscreen.component.mjs +0 -43
- package/esm2020/src/lib/star-rating/star-rating.component.mjs +0 -43
- package/esm2020/src/lib/try-popup/try-popup-texts.model.mjs +0 -2
- package/esm2020/src/lib/try-popup/try-popup.component.mjs +0 -37
- package/src/lib/feature-onboarding/feature-onboarding.component.d.ts +0 -18
- package/src/lib/image-carousel/image-carousel.component.d.ts +0 -49
- package/src/lib/overlay/overlay-dialog-service.component.d.ts +0 -23
- package/src/lib/overlay/overlay-dialog.component.d.ts +0 -20
- package/src/lib/overlay-in-div/overlay-in-div.component.d.ts +0 -11
- package/src/lib/places/place-list.component.d.ts +0 -5
- package/src/lib/places/place.component.d.ts +0 -6
- package/src/lib/splashscreen/splashscreen.component.d.ts +0 -18
- package/src/lib/star-rating/star-rating.component.d.ts +0 -13
- package/src/lib/try-popup/try-popup-texts.model.d.ts +0 -4
- package/src/lib/try-popup/try-popup.component.d.ts +0 -15
package/index.d.ts
CHANGED
|
@@ -15,31 +15,20 @@ export { StepperComponent } from './src/lib/stepper/stepper.component';
|
|
|
15
15
|
export { ConfirmModalComponent } from './src/lib/confirm-modal/confirm-modal.component';
|
|
16
16
|
export { DatepickerComponent, DatepickerMode, I18nDatePicker, Period } from './src/lib/datepicker/datepicker.component';
|
|
17
17
|
export { DotsStepperComponent } from './src/lib/dots-stepper/dots-stepper.component';
|
|
18
|
-
export { ImageCarouselComponent, InstagramCarouselItemType } from './src/lib/image-carousel/image-carousel.component';
|
|
19
|
-
export { FeatureOnboardingComponent } from './src/lib/feature-onboarding/feature-onboarding.component';
|
|
20
18
|
export { LabelComponent } from './src/lib/labels/label.component';
|
|
21
19
|
export { LabelListComponent } from './src/lib/labels/label-list.component';
|
|
22
20
|
export { LabelsSelectorComponent } from './src/lib/labels-selector/labels-selector.component';
|
|
23
21
|
export { MediaDisplayOverlayDialogComponent } from './src/lib/media-display-overlay/media-display-overlay-dialog.component';
|
|
24
22
|
export { ModalComponent, ModalConfig } from './src/lib/modal/modal.component';
|
|
25
|
-
export { OverlayDialogComponent } from './src/lib/overlay/overlay-dialog.component';
|
|
26
|
-
export { OverlayInDivComponent } from './src/lib/overlay-in-div/overlay-in-div.component';
|
|
27
|
-
export { OverlayDialogService } from './src/lib/overlay/overlay-dialog-service.component';
|
|
28
23
|
export { PaginatorComponent } from './src/lib/paginator/paginator.component';
|
|
29
24
|
export { PasswordInputComponent } from './src/lib/password-input/password-input.component';
|
|
30
|
-
export { PlaceComponent } from './src/lib/places/place.component';
|
|
31
|
-
export { PlaceListComponent } from './src/lib/places/place-list.component';
|
|
32
25
|
export { PopmenuComponent } from './src/lib/popmenu/popmenu.component';
|
|
33
|
-
export { SplashscreenComponent } from './src/lib/splashscreen/splashscreen.component';
|
|
34
26
|
export { SnackBarComponent } from './src/lib/snackbar/snackbar.component';
|
|
35
|
-
export { TryPopupComponent } from './src/lib/try-popup/try-popup.component';
|
|
36
27
|
export { NotificationComponent } from './src/lib/notification/notification.component';
|
|
37
28
|
export { PaginatorButtonComponent } from './src/lib/paginator/paginator-button/paginator-button.component';
|
|
38
29
|
export { SlideToggleComponent } from './src/lib/slide-toggle/slide-toggle.component';
|
|
39
30
|
export { SnackbarsThreadComponent } from './src/lib/snackbars-thread/component/snackbars-thread.component';
|
|
40
|
-
export { StarRatingComponent } from './src/lib/star-rating/star-rating.component';
|
|
41
31
|
export { SnackbarsThreadService } from './src/lib/snackbars-thread/service/snackbars-thread.service';
|
|
42
32
|
export { Step } from './src/lib/stepper/step.model';
|
|
43
33
|
export { ConfirmModalTexts } from './src/lib/confirm-modal/confirm-modal-texts.model';
|
|
44
|
-
export { TryPopupTexts } from './src/lib/try-popup/try-popup-texts.model';
|
|
45
34
|
export { generateCodeStatus, SnackbarsThreadBase, SnackbarTypeValues, externalSnackbarTypeAllowed } from './src/lib/snackbars-thread/model/snackbars-thread.model';
|
package/package.json
CHANGED
|
@@ -7,67 +7,58 @@ import * as i5 from "./confirm-modal/confirm-modal.component";
|
|
|
7
7
|
import * as i6 from "./datepicker/datepicker.component";
|
|
8
8
|
import * as i7 from "./dots-stepper/dots-stepper.component";
|
|
9
9
|
import * as i8 from "./directives/ellipsis.directive";
|
|
10
|
-
import * as i9 from "./
|
|
11
|
-
import * as i10 from "./
|
|
12
|
-
import * as i11 from "./
|
|
13
|
-
import * as i12 from "./
|
|
14
|
-
import * as i13 from "./
|
|
15
|
-
import * as i14 from "./
|
|
16
|
-
import * as i15 from "./
|
|
17
|
-
import * as i16 from "./
|
|
18
|
-
import * as i17 from "./
|
|
19
|
-
import * as i18 from "./
|
|
20
|
-
import * as i19 from "./
|
|
21
|
-
import * as i20 from "./
|
|
22
|
-
import * as i21 from "./
|
|
23
|
-
import * as i22 from "./
|
|
24
|
-
import * as i23 from "./
|
|
25
|
-
import * as i24 from "./
|
|
26
|
-
import * as i25 from "./
|
|
27
|
-
import * as i26 from "./
|
|
28
|
-
import * as i27 from "./
|
|
29
|
-
import * as i28 from "
|
|
30
|
-
import * as i29 from "
|
|
31
|
-
import * as i30 from "
|
|
32
|
-
import * as i31 from "
|
|
33
|
-
import * as i32 from "
|
|
34
|
-
import * as i33 from "./
|
|
35
|
-
import * as i34 from "
|
|
36
|
-
import * as i35 from "
|
|
37
|
-
import * as i36 from "
|
|
38
|
-
import * as i37 from "@
|
|
39
|
-
import * as i38 from "@angular/
|
|
40
|
-
import * as i39 from "
|
|
41
|
-
import * as i40 from "@angular/
|
|
42
|
-
import * as i41 from "@
|
|
43
|
-
import * as i42 from "
|
|
44
|
-
import * as i43 from "@angular/
|
|
45
|
-
import * as i44 from "@angular/material/
|
|
46
|
-
import * as i45 from "@angular/material/
|
|
47
|
-
import * as i46 from "@angular/material/
|
|
48
|
-
import * as i47 from "@angular/material/
|
|
49
|
-
import * as i48 from "@angular/material/
|
|
50
|
-
import * as i49 from "@angular/material/
|
|
51
|
-
import * as i50 from "@angular/material/
|
|
52
|
-
import * as i51 from "@angular/material/
|
|
53
|
-
import * as i52 from "@angular/material/
|
|
54
|
-
import * as i53 from "@angular/material/
|
|
55
|
-
import * as i54 from "@angular/material/
|
|
56
|
-
import * as i55 from "@angular/material/
|
|
57
|
-
import * as i56 from "@angular/material/
|
|
58
|
-
import * as i57 from "@angular/material/
|
|
59
|
-
import * as i58 from "@angular/material/
|
|
60
|
-
import * as i59 from "@angular/material/card";
|
|
61
|
-
import * as i60 from "@angular/material/divider";
|
|
62
|
-
import * as i61 from "@angular/material/grid-list";
|
|
63
|
-
import * as i62 from "@angular/material/list";
|
|
64
|
-
import * as i63 from "@angular/material/tabs";
|
|
65
|
-
import * as i64 from "@angular/material/stepper";
|
|
66
|
-
import * as i65 from "@angular/material/dialog";
|
|
67
|
-
import * as i66 from "@angular/material/snack-bar";
|
|
68
|
-
import * as i67 from "@angular/material/table";
|
|
10
|
+
import * as i9 from "./labels/label-list.component";
|
|
11
|
+
import * as i10 from "./labels-selector/labels-selector.component";
|
|
12
|
+
import * as i11 from "./media-display-overlay/media-display-overlay-dialog.component";
|
|
13
|
+
import * as i12 from "./modal/modal.component";
|
|
14
|
+
import * as i13 from "./password-input/password-input.component";
|
|
15
|
+
import * as i14 from "./snackbar/snackbar.component";
|
|
16
|
+
import * as i15 from "./labels/label.component";
|
|
17
|
+
import * as i16 from "./notification/notification.component";
|
|
18
|
+
import * as i17 from "./paginator/paginator.component";
|
|
19
|
+
import * as i18 from "./paginator/paginator-button/paginator-button.component";
|
|
20
|
+
import * as i19 from "./slide-toggle/slide-toggle.component";
|
|
21
|
+
import * as i20 from "./snackbars-thread/component/snackbars-thread.component";
|
|
22
|
+
import * as i21 from "./tooltip-neo/tooltip-neo.component";
|
|
23
|
+
import * as i22 from "./directives/default-image.directive";
|
|
24
|
+
import * as i23 from "./directives/frozen-gif.directive";
|
|
25
|
+
import * as i24 from "./directives/equal-validator.directive";
|
|
26
|
+
import * as i25 from "./directives/multi-style-text.directive";
|
|
27
|
+
import * as i26 from "./directives/truncate-tooltip.directive";
|
|
28
|
+
import * as i27 from "./tooltip-neo/tooltip-neo.directive";
|
|
29
|
+
import * as i28 from "@agorapulse/ui-symbol";
|
|
30
|
+
import * as i29 from "@angular/common";
|
|
31
|
+
import * as i30 from "ngx-daterangepicker-material";
|
|
32
|
+
import * as i31 from "@angular/forms";
|
|
33
|
+
import * as i32 from "@ng-select/ng-select";
|
|
34
|
+
import * as i33 from "./popmenu/popmenu.module";
|
|
35
|
+
import * as i34 from "@angular/cdk/overlay";
|
|
36
|
+
import * as i35 from "@angular/material/badge";
|
|
37
|
+
import * as i36 from "@angular/material/button";
|
|
38
|
+
import * as i37 from "@angular/material/button-toggle";
|
|
39
|
+
import * as i38 from "@angular/material/chips";
|
|
40
|
+
import * as i39 from "@angular/material/expansion";
|
|
41
|
+
import * as i40 from "@angular/material/checkbox";
|
|
42
|
+
import * as i41 from "@angular/material/icon";
|
|
43
|
+
import * as i42 from "@angular/material/progress-bar";
|
|
44
|
+
import * as i43 from "@angular/material/progress-spinner";
|
|
45
|
+
import * as i44 from "@angular/material/radio";
|
|
46
|
+
import * as i45 from "@angular/material/slider";
|
|
47
|
+
import * as i46 from "@angular/material/slide-toggle";
|
|
48
|
+
import * as i47 from "@angular/material/menu";
|
|
49
|
+
import * as i48 from "@angular/material/sidenav";
|
|
50
|
+
import * as i49 from "@angular/material/toolbar";
|
|
51
|
+
import * as i50 from "@angular/material/card";
|
|
52
|
+
import * as i51 from "@angular/material/divider";
|
|
53
|
+
import * as i52 from "@angular/material/grid-list";
|
|
54
|
+
import * as i53 from "@angular/material/list";
|
|
55
|
+
import * as i54 from "@angular/material/tabs";
|
|
56
|
+
import * as i55 from "@angular/material/stepper";
|
|
57
|
+
import * as i56 from "@angular/material/dialog";
|
|
58
|
+
import * as i57 from "@angular/material/snack-bar";
|
|
59
|
+
import * as i58 from "@angular/material/table";
|
|
69
60
|
export declare class AgorapulseUiComponentsModule {
|
|
70
61
|
static ɵfac: i0.ɵɵFactoryDeclaration<AgorapulseUiComponentsModule, never>;
|
|
71
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AgorapulseUiComponentsModule, [typeof i1.AddCommentComponent, typeof i2.AvatarComponent, typeof i3.AutosizeTextareaDirective, typeof i4.StepperComponent, typeof i5.ConfirmModalComponent, typeof i6.DatepickerComponent, typeof i7.DotsStepperComponent, typeof i8.EllipsisDirective, typeof i9.
|
|
62
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AgorapulseUiComponentsModule, [typeof i1.AddCommentComponent, typeof i2.AvatarComponent, typeof i3.AutosizeTextareaDirective, typeof i4.StepperComponent, typeof i5.ConfirmModalComponent, typeof i6.DatepickerComponent, typeof i7.DotsStepperComponent, typeof i8.EllipsisDirective, typeof i9.LabelListComponent, typeof i10.LabelsSelectorComponent, typeof i11.MediaDisplayOverlayDialogComponent, typeof i12.ModalComponent, typeof i13.PasswordInputComponent, typeof i14.SnackBarComponent, typeof i15.LabelComponent, typeof i16.NotificationComponent, typeof i17.PaginatorComponent, typeof i18.PaginatorButtonComponent, typeof i19.SlideToggleComponent, typeof i20.SnackbarsThreadComponent, typeof i21.TooltipNeoComponent, typeof i3.AutosizeTextareaDirective, typeof i22.DefaultImageDirective, typeof i23.FrozenGifDirective, typeof i19.SlideToggleComponent, typeof i24.EqualValidatorDirective, typeof i25.MultiStyleTextDirective, typeof i26.TruncateTooltipDirective, typeof i27.TooltipNeoDirective], [typeof i28.AgorapulseUiSymbolModule, typeof i29.CommonModule, typeof i30.NgxDaterangepickerMd, typeof i31.FormsModule, typeof i31.ReactiveFormsModule, typeof i32.NgSelectModule, typeof i33.PopmenuModule, typeof i34.OverlayModule, typeof i35.MatBadgeModule, typeof i36.MatButtonModule, typeof i37.MatButtonToggleModule, typeof i38.MatChipsModule, typeof i39.MatExpansionModule, typeof i40.MatCheckboxModule, typeof i41.MatIconModule, typeof i42.MatProgressBarModule, typeof i43.MatProgressSpinnerModule, typeof i44.MatRadioModule, typeof i45.MatSliderModule, typeof i46.MatSlideToggleModule, typeof i47.MatMenuModule, typeof i48.MatSidenavModule, typeof i49.MatToolbarModule, typeof i50.MatCardModule, typeof i51.MatDividerModule, typeof i52.MatGridListModule, typeof i53.MatListModule, typeof i54.MatTabsModule, typeof i55.MatStepperModule, typeof i56.MatDialogModule, typeof i57.MatSnackBarModule, typeof i58.MatTableModule], [typeof i31.FormsModule, typeof i31.ReactiveFormsModule, typeof i1.AddCommentComponent, typeof i2.AvatarComponent, typeof i4.StepperComponent, typeof i5.ConfirmModalComponent, typeof i6.DatepickerComponent, typeof i7.DotsStepperComponent, typeof i8.EllipsisDirective, typeof i15.LabelComponent, typeof i9.LabelListComponent, typeof i11.MediaDisplayOverlayDialogComponent, typeof i12.ModalComponent, typeof i13.PasswordInputComponent, typeof i14.SnackBarComponent, typeof i10.LabelsSelectorComponent, typeof i16.NotificationComponent, typeof i17.PaginatorComponent, typeof i18.PaginatorButtonComponent, typeof i19.SlideToggleComponent, typeof i20.SnackbarsThreadComponent, typeof i3.AutosizeTextareaDirective, typeof i22.DefaultImageDirective, typeof i23.FrozenGifDirective, typeof i24.EqualValidatorDirective, typeof i25.MultiStyleTextDirective, typeof i26.TruncateTooltipDirective, typeof i27.TooltipNeoDirective, typeof i32.NgSelectModule, typeof i33.PopmenuModule, typeof i35.MatBadgeModule, typeof i36.MatButtonModule, typeof i37.MatButtonToggleModule, typeof i40.MatCheckboxModule, typeof i38.MatChipsModule, typeof i39.MatExpansionModule, typeof i41.MatIconModule, typeof i42.MatProgressBarModule, typeof i43.MatProgressSpinnerModule, typeof i44.MatRadioModule, typeof i45.MatSliderModule, typeof i46.MatSlideToggleModule, typeof i47.MatMenuModule, typeof i48.MatSidenavModule, typeof i49.MatToolbarModule, typeof i50.MatCardModule, typeof i51.MatDividerModule, typeof i52.MatGridListModule, typeof i53.MatListModule, typeof i54.MatTabsModule, typeof i55.MatStepperModule, typeof i56.MatDialogModule, typeof i57.MatSnackBarModule, typeof i58.MatTableModule]>;
|
|
72
63
|
static ɵinj: i0.ɵɵInjectorDeclaration<AgorapulseUiComponentsModule>;
|
|
73
64
|
}
|
|
@@ -9,8 +9,8 @@ export declare class AvatarComponent implements OnInit, OnChanges {
|
|
|
9
9
|
imageUrl: string;
|
|
10
10
|
loading: 'auto' | 'lazy' | 'eager';
|
|
11
11
|
outerBorderHidden: boolean;
|
|
12
|
-
size: 'large' | 'normal' | 'medium' | 'medium-sm' | 'small' | 'mini' | 'mini-sm' | 'micro' | 'facebook' | 'twitter' | 'linkedin' | 'instagram' | 'youtube' | 'google';
|
|
13
|
-
social: 'facebook' | 'instagram' | 'linkedin' | 'twitter' | 'youtube' | 'google';
|
|
12
|
+
size: 'large' | 'large-sm' | 'normal' | 'medium' | 'medium-sm' | 'small' | 'mini' | 'mini-sm' | 'micro' | 'facebook' | 'twitter' | 'linkedin' | 'instagram' | 'youtube' | 'google';
|
|
13
|
+
social: 'facebook' | 'instagram' | 'linkedin' | 'tiktok' | 'twitter' | 'youtube' | 'google';
|
|
14
14
|
username: string;
|
|
15
15
|
rounded: boolean;
|
|
16
16
|
online: boolean;
|
|
Binary file
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/material/dialog";
|
|
4
|
-
import * as i2 from "../dots-stepper/dots-stepper.component";
|
|
5
|
-
import * as i3 from "@agorapulse/ui-symbol";
|
|
6
|
-
import * as i4 from "@angular/material/button";
|
|
7
|
-
import * as i5 from "../modal/modal.component";
|
|
8
|
-
import * as i6 from "@angular/common";
|
|
9
|
-
export class FeatureOnboardingComponent {
|
|
10
|
-
constructor(dialogRef) {
|
|
11
|
-
this.dialogRef = dialogRef;
|
|
12
|
-
// translations
|
|
13
|
-
this.backButtonLabel = '';
|
|
14
|
-
this.finishButtonLabel = '';
|
|
15
|
-
this.nextButtonLabel = '';
|
|
16
|
-
this.arrowsDisplayed = false; // To display arrows to switch element on carousel
|
|
17
|
-
this.slideDisplayedIndex = 0; // The current element displayed
|
|
18
|
-
}
|
|
19
|
-
onClickNext() {
|
|
20
|
-
this.slideDisplayedIndex !== this.templates.length - 1 ? this.slideDisplayedIndex = this.slideDisplayedIndex + 1 : this.onCloseCarousel();
|
|
21
|
-
}
|
|
22
|
-
onClickPrevious() {
|
|
23
|
-
this.slideDisplayedIndex = this.slideDisplayedIndex - 1;
|
|
24
|
-
}
|
|
25
|
-
onCloseCarousel() {
|
|
26
|
-
this.dialogRef.close(true);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
/** @nocollapse */ /** @nocollapse */ FeatureOnboardingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FeatureOnboardingComponent, deps: [{ token: i1.MatDialogRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
-
/** @nocollapse */ /** @nocollapse */ FeatureOnboardingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: FeatureOnboardingComponent, selector: "ap-feature-onboarding", ngImport: i0, template: "<ng-template #mainTemplate>\n <div class=\"carousel-main-container\">\n <div class=\"carousel-content\">\n <div *ngFor=\"let template of templates; let i = index\"\n class=\"carousel-slide-element\"\n [class.carousel-slide-element-not-displayed]=\"i !== slideDisplayedIndex\"\n [class.carousel-slide-element-active]=\"i === slideDisplayedIndex\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n <div class=\"carousel-dots-container\">\n <ap-dots-stepper\n fxLayout=\"row\"\n fxLayoutAlign=\"center\"\n size=\"small\"\n *ngIf=\"templates.length > 1\"\n [items]=\"templates\"\n [index]=\"slideDisplayedIndex\"\n (dotClick)=\"slideDisplayedIndex = $event\"></ap-dots-stepper>\n </div>\n </div>\n\n <div *ngIf=\"arrowsDisplayed\">\n <ap-symbol *ngIf=\"slideDisplayedIndex !== 0\"\n class=\"nav-button prev\"\n [symbolId]=\"'arrow-button-left'\"\n (click)=\"onClickPrevious()\">\n </ap-symbol>\n\n <ap-symbol class=\"nav-button next\"\n [symbolId]=\"'arrow-button-right'\"\n (click)=\"onClickNext(); $event.stopPropagation();\">\n </ap-symbol>\n </div>\n </div>\n\n <div class=\"carousel-footer\">\n <div class=\"button-container\">\n <button *ngIf=\"slideDisplayedIndex !== 0\"\n mat-flat-button\n class=\"carousel-previous-button\"\n (click)=\"onClickPrevious()\">\n {{backButtonLabel}}\n </button>\n <button mat-flat-button\n [color]=\"'primary'\"\n (click)=\"onClickNext()\">\n <div *ngIf=\"slideDisplayedIndex !== templates.length - 1\">{{nextButtonLabel}}</div>\n <div *ngIf=\"slideDisplayedIndex === templates.length - 1\">{{finishButtonLabel}}</div>\n </button>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ap-modal class=\"design-system\"\n [closable]=\"false\"\n [mainTemplate]=\"mainTemplate\"\n></ap-modal>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #A566A5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #C7AB82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #F2713C}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #FFD006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94C5AA}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2A9D8F}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78ACD8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525A9E}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6A2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729E}ap-modal ::ng-deep .modal-wrapper{padding:0!important}ap-modal ::ng-deep .modal-wrapper .content{padding:0!important}.carousel-main-container{display:flex;flex-direction:column;overflow:hidden}.carousel-main-container .carousel-content{width:100%;height:100%;position:relative;margin:auto;justify-content:center;align-items:center}.carousel-main-container .carousel-content .carousel-slide-element,.carousel-main-container .carousel-content .carousel-slide-element.carousel-slide-element-not-displayed{display:none}.carousel-main-container .carousel-content .carousel-slide-element.carousel-slide-element-active{display:flex;flex-direction:column;justify-content:center;align-items:center}.carousel-main-container .carousel-content .nav-button{width:30px;height:30px;position:absolute;top:0;bottom:0;cursor:pointer;margin:auto;opacity:.4;filter:drop-shadow(0 0 1px rgba(0,0,0,.25))}.carousel-main-container .carousel-content .nav-button.tiny{width:20px;height:20px}.carousel-main-container .carousel-content .nav-button path{fill:#fffc}.carousel-main-container .carousel-content .nav-button.prev{left:12px}.carousel-main-container .carousel-content .nav-button.next{right:12px}.carousel-main-container .carousel-content .nav-button.disabled{display:none}.carousel-main-container .carousel-content .carousel-dots-container{height:28px;margin-bottom:16px}.carousel-main-container .carousel-footer{align-items:center;justify-content:flex-end;display:flex;padding:0 16px;height:68px;border-top:1px solid #eaecef}.carousel-main-container .carousel-footer .button-container{margin-right:24px}.carousel-main-container .carousel-footer .button-container .carousel-previous-button{margin-right:8px}\n"], components: [{ type: i2.DotsStepperComponent, selector: "ap-dots-stepper", inputs: ["disabled", "forwardAllowed", "index", "items", "size"], outputs: ["dotClick"] }, { type: i3.SymbolComponent, selector: "ap-symbol", inputs: ["color", "id", "symbolId", "size", "state"] }, { type: i4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i5.ModalComponent, selector: "ap-modal", inputs: ["closable", "headerBottomBorderEnabled", "footerTemplate", "footerVisible", "headerTemplate", "headerVisible", "mainTemplate", "config", "containerStyle", "headerStyle", "contentStyle", "footerStyle", "defaultLayout"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: FeatureOnboardingComponent, decorators: [{
|
|
32
|
-
type: Component,
|
|
33
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-feature-onboarding', template: "<ng-template #mainTemplate>\n <div class=\"carousel-main-container\">\n <div class=\"carousel-content\">\n <div *ngFor=\"let template of templates; let i = index\"\n class=\"carousel-slide-element\"\n [class.carousel-slide-element-not-displayed]=\"i !== slideDisplayedIndex\"\n [class.carousel-slide-element-active]=\"i === slideDisplayedIndex\">\n <ng-container *ngTemplateOutlet=\"template\"></ng-container>\n <div class=\"carousel-dots-container\">\n <ap-dots-stepper\n fxLayout=\"row\"\n fxLayoutAlign=\"center\"\n size=\"small\"\n *ngIf=\"templates.length > 1\"\n [items]=\"templates\"\n [index]=\"slideDisplayedIndex\"\n (dotClick)=\"slideDisplayedIndex = $event\"></ap-dots-stepper>\n </div>\n </div>\n\n <div *ngIf=\"arrowsDisplayed\">\n <ap-symbol *ngIf=\"slideDisplayedIndex !== 0\"\n class=\"nav-button prev\"\n [symbolId]=\"'arrow-button-left'\"\n (click)=\"onClickPrevious()\">\n </ap-symbol>\n\n <ap-symbol class=\"nav-button next\"\n [symbolId]=\"'arrow-button-right'\"\n (click)=\"onClickNext(); $event.stopPropagation();\">\n </ap-symbol>\n </div>\n </div>\n\n <div class=\"carousel-footer\">\n <div class=\"button-container\">\n <button *ngIf=\"slideDisplayedIndex !== 0\"\n mat-flat-button\n class=\"carousel-previous-button\"\n (click)=\"onClickPrevious()\">\n {{backButtonLabel}}\n </button>\n <button mat-flat-button\n [color]=\"'primary'\"\n (click)=\"onClickNext()\">\n <div *ngIf=\"slideDisplayedIndex !== templates.length - 1\">{{nextButtonLabel}}</div>\n <div *ngIf=\"slideDisplayedIndex === templates.length - 1\">{{finishButtonLabel}}</div>\n </button>\n </div>\n </div>\n </div>\n</ng-template>\n\n<ap-modal class=\"design-system\"\n [closable]=\"false\"\n [mainTemplate]=\"mainTemplate\"\n></ap-modal>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #A566A5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #C7AB82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #F2713C}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #FFD006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94C5AA}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2A9D8F}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78ACD8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525A9E}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6A2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729E}ap-modal ::ng-deep .modal-wrapper{padding:0!important}ap-modal ::ng-deep .modal-wrapper .content{padding:0!important}.carousel-main-container{display:flex;flex-direction:column;overflow:hidden}.carousel-main-container .carousel-content{width:100%;height:100%;position:relative;margin:auto;justify-content:center;align-items:center}.carousel-main-container .carousel-content .carousel-slide-element,.carousel-main-container .carousel-content .carousel-slide-element.carousel-slide-element-not-displayed{display:none}.carousel-main-container .carousel-content .carousel-slide-element.carousel-slide-element-active{display:flex;flex-direction:column;justify-content:center;align-items:center}.carousel-main-container .carousel-content .nav-button{width:30px;height:30px;position:absolute;top:0;bottom:0;cursor:pointer;margin:auto;opacity:.4;filter:drop-shadow(0 0 1px rgba(0,0,0,.25))}.carousel-main-container .carousel-content .nav-button.tiny{width:20px;height:20px}.carousel-main-container .carousel-content .nav-button path{fill:#fffc}.carousel-main-container .carousel-content .nav-button.prev{left:12px}.carousel-main-container .carousel-content .nav-button.next{right:12px}.carousel-main-container .carousel-content .nav-button.disabled{display:none}.carousel-main-container .carousel-content .carousel-dots-container{height:28px;margin-bottom:16px}.carousel-main-container .carousel-footer{align-items:center;justify-content:flex-end;display:flex;padding:0 16px;height:68px;border-top:1px solid #eaecef}.carousel-main-container .carousel-footer .button-container{margin-right:24px}.carousel-main-container .carousel-footer .button-container .carousel-previous-button{margin-right:8px}\n"] }]
|
|
34
|
-
}], ctorParameters: function () { return [{ type: i1.MatDialogRef }]; } });
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVhdHVyZS1vbmJvYXJkaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdWktY29tcG9uZW50cy9zcmMvbGliL2ZlYXR1cmUtb25ib2FyZGluZy9mZWF0dXJlLW9uYm9hcmRpbmcuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvZmVhdHVyZS1vbmJvYXJkaW5nL2ZlYXR1cmUtb25ib2FyZGluZy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQzs7Ozs7Ozs7QUFVdkIsTUFBTSxPQUFPLDBCQUEwQjtJQVduQyxZQUFtQixTQUEyQztRQUEzQyxjQUFTLEdBQVQsU0FBUyxDQUFrQztRQVQ5RCxlQUFlO1FBQ2Ysb0JBQWUsR0FBVyxFQUFFLENBQUM7UUFDN0Isc0JBQWlCLEdBQVcsRUFBRSxDQUFDO1FBQy9CLG9CQUFlLEdBQVcsRUFBRSxDQUFDO1FBRTdCLG9CQUFlLEdBQVksS0FBSyxDQUFDLENBQUMsa0RBQWtEO1FBRXBGLHdCQUFtQixHQUFXLENBQUMsQ0FBQyxDQUFDLGdDQUFnQztJQUdqRSxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDOUksQ0FBQztJQUVELGVBQWU7UUFDWCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixHQUFHLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsZUFBZTtRQUNYLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7OzZKQXhCUSwwQkFBMEI7aUpBQTFCLDBCQUEwQiw2RENidkMscS9FQXlEQTsyRkQ1Q2EsMEJBQTBCO2tCQU50QyxTQUFTO3NDQUNXLHVCQUF1QixDQUFDLE1BQU0sWUFDckMsdUJBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdERpYWxvZ1JlZn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xuaW1wb3J0IHtDb21wb25lbnRUeXBlfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL292ZXJsYXlcIjtcblxuQENvbXBvbmVudCh7XG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc2VsZWN0b3I6ICdhcC1mZWF0dXJlLW9uYm9hcmRpbmcnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mZWF0dXJlLW9uYm9hcmRpbmcuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2ZlYXR1cmUtb25ib2FyZGluZy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZlYXR1cmVPbmJvYXJkaW5nQ29tcG9uZW50IHtcblxuICAgIC8vIHRyYW5zbGF0aW9uc1xuICAgIGJhY2tCdXR0b25MYWJlbDogc3RyaW5nID0gJyc7XG4gICAgZmluaXNoQnV0dG9uTGFiZWw6IHN0cmluZyA9ICcnO1xuICAgIG5leHRCdXR0b25MYWJlbDogc3RyaW5nID0gJyc7XG5cbiAgICBhcnJvd3NEaXNwbGF5ZWQ6IGJvb2xlYW4gPSBmYWxzZTsgLy8gVG8gZGlzcGxheSBhcnJvd3MgdG8gc3dpdGNoIGVsZW1lbnQgb24gY2Fyb3VzZWxcbiAgICB0ZW1wbGF0ZXM6IGFueVtdOyAvLyBPbmUgdGVtcGxhdGUgcmVwcmVzZW50IG9uZSBlbGVtZW50IG9mIHRoZSBjYXJvdXNlbFxuICAgIHNsaWRlRGlzcGxheWVkSW5kZXg6IG51bWJlciA9IDA7IC8vIFRoZSBjdXJyZW50IGVsZW1lbnQgZGlzcGxheWVkXG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8Q29tcG9uZW50VHlwZTxhbnk+Pikge1xuICAgIH1cblxuICAgIG9uQ2xpY2tOZXh0KCkge1xuICAgICAgICB0aGlzLnNsaWRlRGlzcGxheWVkSW5kZXggIT09IHRoaXMudGVtcGxhdGVzLmxlbmd0aCAtIDEgPyB0aGlzLnNsaWRlRGlzcGxheWVkSW5kZXggPSB0aGlzLnNsaWRlRGlzcGxheWVkSW5kZXggKyAxIDogdGhpcy5vbkNsb3NlQ2Fyb3VzZWwoKTtcbiAgICB9XG5cbiAgICBvbkNsaWNrUHJldmlvdXMoKSB7XG4gICAgICAgIHRoaXMuc2xpZGVEaXNwbGF5ZWRJbmRleCA9IHRoaXMuc2xpZGVEaXNwbGF5ZWRJbmRleCAtIDE7XG4gICAgfVxuXG4gICAgb25DbG9zZUNhcm91c2VsKCkge1xuICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh0cnVlKTtcbiAgICB9XG5cbn1cbiIsIjxuZy10ZW1wbGF0ZSAjbWFpblRlbXBsYXRlPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC1tYWluLWNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtY29udGVudFwiPlxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgdGVtcGxhdGUgb2YgdGVtcGxhdGVzOyBsZXQgaSA9IGluZGV4XCJcbiAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJvdXNlbC1zbGlkZS1lbGVtZW50XCJcbiAgICAgICAgICAgICAgICAgW2NsYXNzLmNhcm91c2VsLXNsaWRlLWVsZW1lbnQtbm90LWRpc3BsYXllZF09XCJpICE9PSBzbGlkZURpc3BsYXllZEluZGV4XCJcbiAgICAgICAgICAgICAgICAgW2NsYXNzLmNhcm91c2VsLXNsaWRlLWVsZW1lbnQtYWN0aXZlXT1cImkgPT09IHNsaWRlRGlzcGxheWVkSW5kZXhcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtZG90cy1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPGFwLWRvdHMtc3RlcHBlclxuICAgICAgICAgICAgICAgICAgICAgICAgZnhMYXlvdXQ9XCJyb3dcIlxuICAgICAgICAgICAgICAgICAgICAgICAgZnhMYXlvdXRBbGlnbj1cImNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0ZW1wbGF0ZXMubGVuZ3RoID4gMVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbaXRlbXNdPVwidGVtcGxhdGVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtpbmRleF09XCJzbGlkZURpc3BsYXllZEluZGV4XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChkb3RDbGljayk9XCJzbGlkZURpc3BsYXllZEluZGV4ID0gJGV2ZW50XCI+PC9hcC1kb3RzLXN0ZXBwZXI+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cImFycm93c0Rpc3BsYXllZFwiPlxuICAgICAgICAgICAgICAgIDxhcC1zeW1ib2wgKm5nSWY9XCJzbGlkZURpc3BsYXllZEluZGV4ICE9PSAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWJ1dHRvbiBwcmV2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzeW1ib2xJZF09XCInYXJyb3ctYnV0dG9uLWxlZnQnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrUHJldmlvdXMoKVwiPlxuICAgICAgICAgICAgICAgIDwvYXAtc3ltYm9sPlxuXG4gICAgICAgICAgICAgICAgPGFwLXN5bWJvbCBjbGFzcz1cIm5hdi1idXR0b24gbmV4dFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBbc3ltYm9sSWRdPVwiJ2Fycm93LWJ1dHRvbi1yaWdodCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tOZXh0KCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIj5cbiAgICAgICAgICAgICAgICA8L2FwLXN5bWJvbD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2Fyb3VzZWwtZm9vdGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYnV0dG9uLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCJzbGlkZURpc3BsYXllZEluZGV4ICE9PSAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hdC1mbGF0LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJvdXNlbC1wcmV2aW91cy1idXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9uQ2xpY2tQcmV2aW91cygpXCI+XG4gICAgICAgICAgICAgICAgICAgIHt7YmFja0J1dHRvbkxhYmVsfX1cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cIidwcmltYXJ5J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib25DbGlja05leHQoKVwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2xpZGVEaXNwbGF5ZWRJbmRleCAhPT0gdGVtcGxhdGVzLmxlbmd0aCAtIDFcIj57e25leHRCdXR0b25MYWJlbH19PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzbGlkZURpc3BsYXllZEluZGV4ID09PSB0ZW1wbGF0ZXMubGVuZ3RoIC0gMVwiPnt7ZmluaXNoQnV0dG9uTGFiZWx9fTwvZGl2PlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPGFwLW1vZGFsIGNsYXNzPVwiZGVzaWduLXN5c3RlbVwiXG4gICAgICAgICAgW2Nsb3NhYmxlXT1cImZhbHNlXCJcbiAgICAgICAgICBbbWFpblRlbXBsYXRlXT1cIm1haW5UZW1wbGF0ZVwiXG4+PC9hcC1tb2RhbD5cbiJdfQ==
|
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
-
import { animate, style } from '@angular/animations';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/animations";
|
|
5
|
-
import * as i2 from "@angular/material/icon";
|
|
6
|
-
import * as i3 from "../dots-stepper/dots-stepper.component";
|
|
7
|
-
import * as i4 from "@angular/common";
|
|
8
|
-
import * as i5 from "../directives/frozen-gif.directive";
|
|
9
|
-
import * as i6 from "../directives/default-image.directive";
|
|
10
|
-
export var InstagramCarouselItemType;
|
|
11
|
-
(function (InstagramCarouselItemType) {
|
|
12
|
-
InstagramCarouselItemType["IMAGE"] = "photo";
|
|
13
|
-
InstagramCarouselItemType["VIDEO"] = "video";
|
|
14
|
-
})(InstagramCarouselItemType || (InstagramCarouselItemType = {}));
|
|
15
|
-
export class ImageCarouselComponent {
|
|
16
|
-
constructor(animationBuilder) {
|
|
17
|
-
this.animationBuilder = animationBuilder;
|
|
18
|
-
this.InstagramCarouselItemType = InstagramCarouselItemType;
|
|
19
|
-
this.items = [];
|
|
20
|
-
this.dotsInside = false;
|
|
21
|
-
this.soundEnabled = false;
|
|
22
|
-
this.supportGif = true;
|
|
23
|
-
this.tinyMode = false;
|
|
24
|
-
this.currentImageChanged = new EventEmitter();
|
|
25
|
-
this._selectedIndex = 0;
|
|
26
|
-
this.carouselOffset = 0;
|
|
27
|
-
this.videoPlayers = [];
|
|
28
|
-
}
|
|
29
|
-
get selectedIndex() {
|
|
30
|
-
return this._selectedIndex;
|
|
31
|
-
}
|
|
32
|
-
set selectedIndex(value) {
|
|
33
|
-
this.videoPause(this.selectedIndex);
|
|
34
|
-
if (value < 0) {
|
|
35
|
-
value = 0;
|
|
36
|
-
}
|
|
37
|
-
if (value > this.items.length - 1) {
|
|
38
|
-
value = this.items.length - 1;
|
|
39
|
-
}
|
|
40
|
-
this._selectedIndex = value;
|
|
41
|
-
this.move();
|
|
42
|
-
if (this.tinyMode && this.mouseOver) {
|
|
43
|
-
this.videoPlay(this.selectedIndex);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
ngOnChanges(changes) {
|
|
47
|
-
if (changes.items && changes.items.previousValue?.length > changes.items.currentValue.length) {
|
|
48
|
-
const itemsLength = changes.items.currentValue.length - 1;
|
|
49
|
-
if (this._selectedIndex > itemsLength) {
|
|
50
|
-
this._selectedIndex = itemsLength;
|
|
51
|
-
this.move();
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
isPrevButtonEnabled() {
|
|
56
|
-
return this.selectedIndex > 0;
|
|
57
|
-
}
|
|
58
|
-
isNextButtonEnabled() {
|
|
59
|
-
if (this.items && this.items[this.selectedIndex]) {
|
|
60
|
-
return this.selectedIndex < this.items.length - 1;
|
|
61
|
-
}
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
|
-
isVideo() {
|
|
65
|
-
if (this.items && this.items[this.selectedIndex]) {
|
|
66
|
-
return this.items[this.selectedIndex].type === InstagramCarouselItemType.VIDEO;
|
|
67
|
-
}
|
|
68
|
-
return false;
|
|
69
|
-
}
|
|
70
|
-
dotsDisplayed() {
|
|
71
|
-
if (this.items && this.items[this.selectedIndex]) {
|
|
72
|
-
return this.items.length > 1;
|
|
73
|
-
}
|
|
74
|
-
return false;
|
|
75
|
-
}
|
|
76
|
-
prev() {
|
|
77
|
-
this.selectedIndex -= 1;
|
|
78
|
-
this.currentImageChanged.emit(this.items[this.selectedIndex]);
|
|
79
|
-
}
|
|
80
|
-
next() {
|
|
81
|
-
this.selectedIndex += 1;
|
|
82
|
-
this.currentImageChanged.emit(this.items[this.selectedIndex]);
|
|
83
|
-
}
|
|
84
|
-
play(event, index) {
|
|
85
|
-
if (!this.tinyMode) {
|
|
86
|
-
const videoPlayer = this.videoPlayers[index];
|
|
87
|
-
if (videoPlayer) {
|
|
88
|
-
videoPlayer.paused ? this.videoPlay(index) : this.videoPause(index);
|
|
89
|
-
}
|
|
90
|
-
event.stopPropagation();
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
move(instantaneous = false) {
|
|
94
|
-
this.carouselOffset = -this.carousel.nativeElement.offsetWidth * this.selectedIndex;
|
|
95
|
-
this.animationBuilder.build(animate(instantaneous ? '1ms' : '250ms ease-in', style({ transform: `translateX(${this.carouselOffset}px)` }))).create(this.carousel.nativeElement).play();
|
|
96
|
-
}
|
|
97
|
-
onMouseEntersVideo(event, index) {
|
|
98
|
-
this.mouseOver = true;
|
|
99
|
-
if (this.tinyMode) {
|
|
100
|
-
this.videoPlay(index);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
onMouseLeavesVideo(event, index) {
|
|
104
|
-
this.mouseOver = false;
|
|
105
|
-
if (this.tinyMode) {
|
|
106
|
-
this.videoPause(index);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
onResize(event) {
|
|
110
|
-
this.move(true);
|
|
111
|
-
}
|
|
112
|
-
registerVideoPlayer(event, index) {
|
|
113
|
-
this.videoPlayers[index] = event.target;
|
|
114
|
-
event.target.muted = !this.soundEnabled;
|
|
115
|
-
}
|
|
116
|
-
videoPause(index) {
|
|
117
|
-
const videoPlayer = this.videoPlayers[index];
|
|
118
|
-
if (videoPlayer) {
|
|
119
|
-
videoPlayer.pause();
|
|
120
|
-
this.isPlaying = false;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
videoPlay(index) {
|
|
124
|
-
const videoPlayer = this.videoPlayers[index];
|
|
125
|
-
if (videoPlayer) {
|
|
126
|
-
videoPlayer.play();
|
|
127
|
-
this.isPlaying = true;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
switchSound() {
|
|
131
|
-
this.soundEnabled = !this.soundEnabled;
|
|
132
|
-
for (const player of this.videoPlayers) {
|
|
133
|
-
player.muted = !this.soundEnabled;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
/** @nocollapse */ /** @nocollapse */ ImageCarouselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ImageCarouselComponent, deps: [{ token: i1.AnimationBuilder }], target: i0.ɵɵFactoryTarget.Component });
|
|
138
|
-
/** @nocollapse */ /** @nocollapse */ ImageCarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.3", type: ImageCarouselComponent, selector: "ap-image-carousel", inputs: { items: "items", dotsInside: "dotsInside", soundEnabled: "soundEnabled", supportGif: "supportGif", tinyMode: "tinyMode" }, outputs: { currentImageChanged: "currentImageChanged" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "carousel", first: true, predicate: ["carousel"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<section *ngIf=\"items && items.length > 0 && items[0].url\">\n <div class=\"carousel-wrapper\"\n (mouseenter)=\"onMouseEntersVideo($event, selectedIndex)\"\n (mouseleave)=\"onMouseLeavesVideo($event, selectedIndex)\">\n <ul class=\"carousel-inner\" #carousel>\n <li *ngFor=\"let item of items; let i = index\" class=\"carousel-item\">\n <ng-template [ngIf]=\"item.type === InstagramCarouselItemType.IMAGE && item.url\">\n <img apFrozenGif\n [apFrozen]=\"!supportGif\"\n [default]=\"'assets/img/default.png'\"\n [src]=\"item.url\">\n </ng-template>\n <ng-template [ngIf]=\"item.type === InstagramCarouselItemType.VIDEO && item.url\">\n <video [id]=\"'video-' + i\"\n [attr.poster]=\"item.thumbnailUrl\"\n [loop]=\"tinyMode\"\n [src]=\"item.url\"\n (click)=\"play($event, i)\"\n (ended)=\"isPlaying = false\"\n (loadstart)=\"registerVideoPlayer($event, i)\">\n </video>\n <svg class=\"play-button\"\n xmlns=\"http://www.w3.org/2000/svg\"\n (click)=\"play($event, i)\">\n <path *ngIf=\"!isPlaying\" d=\"M11,10 L18,13.74 18,22.28 11,26 M18,13.74 L26,18 26,18 18,22.28\"/>\n </svg>\n <mat-icon class=\"sound-button\"\n *ngIf=\"!tinyMode\"\n (click)=\"switchSound(); $event.stopPropagation();\">\n {{soundEnabled ? 'volume_up' : 'volume_off'}}\n </mat-icon>\n </ng-template>\n </li>\n </ul>\n\n <svg class=\"nav-button prev\"\n [ngClass]=\"{'disabled': !isPrevButtonEnabled(), 'tiny': tinyMode}\"\n (click)=\"prev(); $event.stopPropagation();\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 455 455\">\n <path d=\"M227.5,0C101.855,0,0,101.855,0,227.5S101.855,455,227.5,455S455,353.145,455,227.5S353.145,0,227.5,0z M199.476,355.589\n l-21.248-21.178L284.791,227.5L178.228,120.589l21.248-21.178L327.148,227.5L199.476,355.589z\"/>\n </svg>\n\n <svg class=\"nav-button next\"\n [ngClass]=\"{'disabled': !isNextButtonEnabled(), 'tiny': tinyMode}\"\n (click)=\"next(); $event.stopPropagation();\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 455 455\">\n <path d=\"M227.5,0C101.855,0,0,101.855,0,227.5S101.855,455,227.5,455S455,353.145,455,227.5S353.145,0,227.5,0z M199.476,355.589\n\t l-21.248-21.178L284.791,227.5L178.228,120.589l21.248-21.178L327.148,227.5L199.476,355.589z\"/>\n </svg>\n </div>\n <div [ngClass]=\"{'inside': dotsInside}\">\n <ap-dots-stepper\n fxLayout=\"row\"\n fxLayoutAlign=\"center\"\n size=\"small\"\n *ngIf=\"dotsDisplayed()\"\n [items]=\"items\"\n [index]=\"selectedIndex\"\n (dotClick)=\"selectedIndex = $event\"></ap-dots-stepper>\n </div>\n</section>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #A566A5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #C7AB82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #F2713C}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #FFD006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94C5AA}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2A9D8F}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78ACD8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525A9E}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6A2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729E}section{position:relative}section .carousel-wrapper{overflow:hidden;width:100%;padding-top:100%;position:relative}section .carousel-wrapper .carousel-inner{position:absolute;top:0;margin:0;padding:0;width:100%;height:100%;display:flex;list-style:none}section .carousel-wrapper .carousel-inner .carousel-item{position:relative;width:100%;flex-shrink:0;text-align:center}section .carousel-wrapper .carousel-inner .carousel-item img,section .carousel-wrapper .carousel-inner .carousel-item video{height:100%;width:100%;object-fit:cover;object-position:center}section .carousel-wrapper .carousel-inner .carousel-item .play-button{z-index:1000;position:absolute;top:0;right:0;bottom:0;left:0;width:32px;height:32px;transform:scale(2);margin:auto;filter:drop-shadow(0 0 1px rgba(0,0,0,.25))}section .carousel-wrapper .carousel-inner .carousel-item .play-button path{fill:#fffc}section .carousel-wrapper .carousel-inner .carousel-item .sound-button{z-index:1000;position:absolute;right:8px;bottom:8px;color:#fff}section .carousel-wrapper .nav-button{width:30px;height:30px;position:absolute;top:0;bottom:0;cursor:pointer;margin:auto;opacity:.4;filter:drop-shadow(0 0 1px rgba(0,0,0,.25))}section .carousel-wrapper .nav-button.tiny{width:20px;height:20px}section .carousel-wrapper .nav-button path{fill:#fffc}section .carousel-wrapper .nav-button.prev{left:12px;transform:rotate(180deg)}section .carousel-wrapper .nav-button.next{right:12px}section .carousel-wrapper .nav-button.disabled{display:none}section ::ng-deep div.inside ap-dots-stepper div.dots{bottom:0;width:100%}\n"], components: [{ type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.DotsStepperComponent, selector: "ap-dots-stepper", inputs: ["disabled", "forwardAllowed", "index", "items", "size"], outputs: ["dotClick"] }], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.FrozenGifDirective, selector: "img[apFrozenGif]", inputs: ["src", "apFrozen", "apGifEvents"] }, { type: i6.DefaultImageDirective, selector: "img[default]", inputs: ["src", "default"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
139
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.3", ngImport: i0, type: ImageCarouselComponent, decorators: [{
|
|
140
|
-
type: Component,
|
|
141
|
-
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, selector: 'ap-image-carousel', template: "<section *ngIf=\"items && items.length > 0 && items[0].url\">\n <div class=\"carousel-wrapper\"\n (mouseenter)=\"onMouseEntersVideo($event, selectedIndex)\"\n (mouseleave)=\"onMouseLeavesVideo($event, selectedIndex)\">\n <ul class=\"carousel-inner\" #carousel>\n <li *ngFor=\"let item of items; let i = index\" class=\"carousel-item\">\n <ng-template [ngIf]=\"item.type === InstagramCarouselItemType.IMAGE && item.url\">\n <img apFrozenGif\n [apFrozen]=\"!supportGif\"\n [default]=\"'assets/img/default.png'\"\n [src]=\"item.url\">\n </ng-template>\n <ng-template [ngIf]=\"item.type === InstagramCarouselItemType.VIDEO && item.url\">\n <video [id]=\"'video-' + i\"\n [attr.poster]=\"item.thumbnailUrl\"\n [loop]=\"tinyMode\"\n [src]=\"item.url\"\n (click)=\"play($event, i)\"\n (ended)=\"isPlaying = false\"\n (loadstart)=\"registerVideoPlayer($event, i)\">\n </video>\n <svg class=\"play-button\"\n xmlns=\"http://www.w3.org/2000/svg\"\n (click)=\"play($event, i)\">\n <path *ngIf=\"!isPlaying\" d=\"M11,10 L18,13.74 18,22.28 11,26 M18,13.74 L26,18 26,18 18,22.28\"/>\n </svg>\n <mat-icon class=\"sound-button\"\n *ngIf=\"!tinyMode\"\n (click)=\"switchSound(); $event.stopPropagation();\">\n {{soundEnabled ? 'volume_up' : 'volume_off'}}\n </mat-icon>\n </ng-template>\n </li>\n </ul>\n\n <svg class=\"nav-button prev\"\n [ngClass]=\"{'disabled': !isPrevButtonEnabled(), 'tiny': tinyMode}\"\n (click)=\"prev(); $event.stopPropagation();\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 455 455\">\n <path d=\"M227.5,0C101.855,0,0,101.855,0,227.5S101.855,455,227.5,455S455,353.145,455,227.5S353.145,0,227.5,0z M199.476,355.589\n l-21.248-21.178L284.791,227.5L178.228,120.589l21.248-21.178L327.148,227.5L199.476,355.589z\"/>\n </svg>\n\n <svg class=\"nav-button next\"\n [ngClass]=\"{'disabled': !isNextButtonEnabled(), 'tiny': tinyMode}\"\n (click)=\"next(); $event.stopPropagation();\"\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 455 455\">\n <path d=\"M227.5,0C101.855,0,0,101.855,0,227.5S101.855,455,227.5,455S455,353.145,455,227.5S353.145,0,227.5,0z M199.476,355.589\n\t l-21.248-21.178L284.791,227.5L178.228,120.589l21.248-21.178L327.148,227.5L199.476,355.589z\"/>\n </svg>\n </div>\n <div [ngClass]=\"{'inside': dotsInside}\">\n <ap-dots-stepper\n fxLayout=\"row\"\n fxLayoutAlign=\"center\"\n size=\"small\"\n *ngIf=\"dotsDisplayed()\"\n [items]=\"items\"\n [index]=\"selectedIndex\"\n (dotClick)=\"selectedIndex = $event\"></ap-dots-stepper>\n </div>\n</section>\n", styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid #ff0000}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #ffffff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:transparent}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:transparent}[border=transparent]{border:1px solid transparent}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #A566A5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #C7AB82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #F2713C}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #FFD006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94C5AA}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2A9D8F}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78ACD8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525A9E}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6A2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729E}section{position:relative}section .carousel-wrapper{overflow:hidden;width:100%;padding-top:100%;position:relative}section .carousel-wrapper .carousel-inner{position:absolute;top:0;margin:0;padding:0;width:100%;height:100%;display:flex;list-style:none}section .carousel-wrapper .carousel-inner .carousel-item{position:relative;width:100%;flex-shrink:0;text-align:center}section .carousel-wrapper .carousel-inner .carousel-item img,section .carousel-wrapper .carousel-inner .carousel-item video{height:100%;width:100%;object-fit:cover;object-position:center}section .carousel-wrapper .carousel-inner .carousel-item .play-button{z-index:1000;position:absolute;top:0;right:0;bottom:0;left:0;width:32px;height:32px;transform:scale(2);margin:auto;filter:drop-shadow(0 0 1px rgba(0,0,0,.25))}section .carousel-wrapper .carousel-inner .carousel-item .play-button path{fill:#fffc}section .carousel-wrapper .carousel-inner .carousel-item .sound-button{z-index:1000;position:absolute;right:8px;bottom:8px;color:#fff}section .carousel-wrapper .nav-button{width:30px;height:30px;position:absolute;top:0;bottom:0;cursor:pointer;margin:auto;opacity:.4;filter:drop-shadow(0 0 1px rgba(0,0,0,.25))}section .carousel-wrapper .nav-button.tiny{width:20px;height:20px}section .carousel-wrapper .nav-button path{fill:#fffc}section .carousel-wrapper .nav-button.prev{left:12px;transform:rotate(180deg)}section .carousel-wrapper .nav-button.next{right:12px}section .carousel-wrapper .nav-button.disabled{display:none}section ::ng-deep div.inside ap-dots-stepper div.dots{bottom:0;width:100%}\n"] }]
|
|
142
|
-
}], ctorParameters: function () { return [{ type: i1.AnimationBuilder }]; }, propDecorators: { carousel: [{
|
|
143
|
-
type: ViewChild,
|
|
144
|
-
args: ['carousel']
|
|
145
|
-
}], items: [{
|
|
146
|
-
type: Input
|
|
147
|
-
}], dotsInside: [{
|
|
148
|
-
type: Input
|
|
149
|
-
}], soundEnabled: [{
|
|
150
|
-
type: Input
|
|
151
|
-
}], supportGif: [{
|
|
152
|
-
type: Input
|
|
153
|
-
}], tinyMode: [{
|
|
154
|
-
type: Input
|
|
155
|
-
}], currentImageChanged: [{
|
|
156
|
-
type: Output
|
|
157
|
-
}], onResize: [{
|
|
158
|
-
type: HostListener,
|
|
159
|
-
args: ['window:resize', ['$event']]
|
|
160
|
-
}] } });
|
|
161
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvaW1hZ2UtY2Fyb3VzZWwvaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvaW1hZ2UtY2Fyb3VzZWwvaW1hZ2UtY2Fyb3VzZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsT0FBTyxFQUFvQixLQUFLLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7Ozs7QUFFckUsTUFBTSxDQUFOLElBQVkseUJBR1g7QUFIRCxXQUFZLHlCQUF5QjtJQUNqQyw0Q0FBZSxDQUFBO0lBQ2YsNENBQWUsQ0FBQTtBQUNuQixDQUFDLEVBSFcseUJBQXlCLEtBQXpCLHlCQUF5QixRQUdwQztBQWNELE1BQU0sT0FBTyxzQkFBc0I7SUFvQi9CLFlBQW9CLGdCQUFrQztRQUFsQyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBbEIvQyw4QkFBeUIsR0FBRyx5QkFBeUIsQ0FBQztRQUlwRCxVQUFLLEdBQTRCLEVBQUUsQ0FBQztRQUNwQyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVoQix3QkFBbUIsR0FBd0MsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFFdkcsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFDcEIsbUJBQWMsR0FBRyxDQUFDLENBQUM7UUFH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bkNhLHNCQUFzQjtrQkFObEMsU0FBUztzQ0FDVyx1QkFBdUIsQ0FBQyxNQUFNLFlBQ3JDLG1CQUFtQjt1R0FRRSxRQUFRO3NCQUF0QyxTQUFTO3VCQUFDLFVBQVU7Z0JBRVosS0FBSztzQkFBYixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksbUJBQW1CO3NCQUE1QixNQUFNO2dCQTJHUCxRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LCBPbkNoYW5nZXMsXG4gICAgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7YW5pbWF0ZSwgQW5pbWF0aW9uQnVpbGRlciwgc3R5bGV9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5leHBvcnQgZW51bSBJbnN0YWdyYW1DYXJvdXNlbEl0ZW1UeXBlIHtcbiAgICBJTUFHRSA9ICdwaG90bycsXG4gICAgVklERU8gPSAndmlkZW8nXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5zdGFncmFtQ2Fyb3VzZWxJdGVtIHtcbiAgICB0eXBlOiBJbnN0YWdyYW1DYXJvdXNlbEl0ZW1UeXBlO1xuICAgIHVybDogc3RyaW5nO1xuICAgIHRodW1ibmFpbFVybD86IHN0cmluZztcbn1cblxuQENvbXBvbmVudCh7XG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgc2VsZWN0b3I6ICdhcC1pbWFnZS1jYXJvdXNlbCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLWNhcm91c2VsLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbWFnZS1jYXJvdXNlbC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEltYWdlQ2Fyb3VzZWxDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gICAgcHVibGljIEluc3RhZ3JhbUNhcm91c2VsSXRlbVR5cGUgPSBJbnN0YWdyYW1DYXJvdXNlbEl0ZW1UeXBlO1xuXG4gICAgQFZpZXdDaGlsZCgnY2Fyb3VzZWwnKSBwcml2YXRlIGNhcm91c2VsOiBFbGVtZW50UmVmO1xuXG4gICAgQElucHV0KCkgaXRlbXM6IEluc3RhZ3JhbUNhcm91c2VsSXRlbVtdID0gW107XG4gICAgQElucHV0KCkgZG90c0luc2lkZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHNvdW5kRW5hYmxlZCA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHN1cHBvcnRHaWYgPSB0cnVlO1xuICAgIEBJbnB1dCgpIHRpbnlNb2RlID0gZmFsc2U7XG5cbiAgICBAT3V0cHV0KCkgY3VycmVudEltYWdlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPEluc3RhZ3JhbUNhcm91c2VsSXRlbT4gPSBuZXcgRXZlbnRFbWl0dGVyPEluc3RhZ3JhbUNhcm91c2VsSXRlbT4oKTtcblxuICAgIHByaXZhdGUgX3NlbGVjdGVkSW5kZXggPSAwO1xuICAgIHB1YmxpYyBjYXJvdXNlbE9mZnNldCA9IDA7XG4gICAgcHVibGljIGlzUGxheWluZzogYm9vbGVhbjtcbiAgICBwcml2YXRlIG1vdXNlT3ZlcjogYm9vbGVhbjtcbiAgICBwdWJsaWMgdmlkZW9QbGF5ZXJzOiBIVE1MVmlkZW9FbGVtZW50W10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYW5pbWF0aW9uQnVpbGRlcjogQW5pbWF0aW9uQnVpbGRlcikge1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc2VsZWN0ZWRJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRJbmRleDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHNlbGVjdGVkSW5kZXgodmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLnZpZGVvUGF1c2UodGhpcy5zZWxlY3RlZEluZGV4KTtcbiAgICAgICAgaWYgKHZhbHVlIDwgMCkge1xuICAgICAgICAgICAgdmFsdWUgPSAwO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZSA+IHRoaXMuaXRlbXMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgdmFsdWUgPSB0aGlzLml0ZW1zLmxlbmd0aCAtIDE7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRJbmRleCA9IHZhbHVlO1xuICAgICAgICB0aGlzLm1vdmUoKTtcbiAgICAgICAgaWYgKHRoaXMudGlueU1vZGUgJiYgdGhpcy5tb3VzZU92ZXIpIHtcbiAgICAgICAgICAgIHRoaXMudmlkZW9QbGF5KHRoaXMuc2VsZWN0ZWRJbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgICAgIGlmIChjaGFuZ2VzLml0ZW1zICYmIGNoYW5nZXMuaXRlbXMucHJldmlvdXNWYWx1ZT8ubGVuZ3RoID4gY2hhbmdlcy5pdGVtcy5jdXJyZW50VmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBpdGVtc0xlbmd0aDogbnVtYmVyID0gY2hhbmdlcy5pdGVtcy5jdXJyZW50VmFsdWUubGVuZ3RoIC0gMTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9zZWxlY3RlZEluZGV4ID4gaXRlbXNMZW5ndGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9zZWxlY3RlZEluZGV4ID0gaXRlbXNMZW5ndGg7XG4gICAgICAgICAgICAgICAgdGhpcy5tb3ZlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpc1ByZXZCdXR0b25FbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEluZGV4ID4gMDtcbiAgICB9XG5cbiAgICBpc05leHRCdXR0b25FbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zW3RoaXMuc2VsZWN0ZWRJbmRleF0pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSW5kZXggPCB0aGlzLml0ZW1zLmxlbmd0aCAtIDE7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIGlzVmlkZW8oKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLml0ZW1zICYmIHRoaXMuaXRlbXNbdGhpcy5zZWxlY3RlZEluZGV4XSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaXRlbXNbdGhpcy5zZWxlY3RlZEluZGV4XS50eXBlID09PSBJbnN0YWdyYW1DYXJvdXNlbEl0ZW1UeXBlLlZJREVPO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBkb3RzRGlzcGxheWVkKCk6IGJvb2xlYW4ge1xuICAgICAgICBpZiAodGhpcy5pdGVtcyAmJiB0aGlzLml0ZW1zW3RoaXMuc2VsZWN0ZWRJbmRleF0pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLml0ZW1zLmxlbmd0aCA+IDE7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHByZXYoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCAtPSAxO1xuICAgICAgICB0aGlzLmN1cnJlbnRJbWFnZUNoYW5nZWQuZW1pdCh0aGlzLml0ZW1zW3RoaXMuc2VsZWN0ZWRJbmRleF0pO1xuICAgIH1cblxuICAgIG5leHQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJbmRleCArPSAxO1xuICAgICAgICB0aGlzLmN1cnJlbnRJbWFnZUNoYW5nZWQuZW1pdCh0aGlzLml0ZW1zW3RoaXMuc2VsZWN0ZWRJbmRleF0pO1xuICAgIH1cblxuICAgIHBsYXkoZXZlbnQsIGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnRpbnlNb2RlKSB7XG4gICAgICAgICAgICBjb25zdCB2aWRlb1BsYXllcjogSFRNTFZpZGVvRWxlbWVudCA9IHRoaXMudmlkZW9QbGF5ZXJzW2luZGV4XTtcbiAgICAgICAgICAgIGlmICh2aWRlb1BsYXllcikge1xuICAgICAgICAgICAgICAgIHZpZGVvUGxheWVyLnBhdXNlZCA/IHRoaXMudmlkZW9QbGF5KGluZGV4KSA6IHRoaXMudmlkZW9QYXVzZShpbmRleCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG1vdmUoaW5zdGFudGFuZW91czogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2Fyb3VzZWxPZmZzZXQgPSAtdGhpcy5jYXJvdXNlbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICogdGhpcy5zZWxlY3RlZEluZGV4O1xuICAgICAgICB0aGlzLmFuaW1hdGlvbkJ1aWxkZXIuYnVpbGQoXG4gICAgICAgICAgICBhbmltYXRlKGluc3RhbnRhbmVvdXMgPyAnMW1zJyA6ICcyNTBtcyBlYXNlLWluJywgc3R5bGUoe3RyYW5zZm9ybTogYHRyYW5zbGF0ZVgoJHt0aGlzLmNhcm91c2VsT2Zmc2V0fXB4KWB9KSlcbiAgICAgICAgKS5jcmVhdGUodGhpcy5jYXJvdXNlbC5uYXRpdmVFbGVtZW50KS5wbGF5KCk7XG4gICAgfVxuXG4gICAgb25Nb3VzZUVudGVyc1ZpZGVvKGV2ZW50LCBpbmRleCkge1xuICAgICAgICB0aGlzLm1vdXNlT3ZlciA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLnRpbnlNb2RlKSB7XG4gICAgICAgICAgICB0aGlzLnZpZGVvUGxheShpbmRleCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbk1vdXNlTGVhdmVzVmlkZW8oZXZlbnQsIGluZGV4KSB7XG4gICAgICAgIHRoaXMubW91c2VPdmVyID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLnRpbnlNb2RlKSB7XG4gICAgICAgICAgICB0aGlzLnZpZGVvUGF1c2UoaW5kZXgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXG4gICAgb25SZXNpemUoZXZlbnQpIHtcbiAgICAgICAgdGhpcy5tb3ZlKHRydWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWdpc3RlclZpZGVvUGxheWVyKGV2ZW50LCBpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMudmlkZW9QbGF5ZXJzW2luZGV4XSA9IGV2ZW50LnRhcmdldDtcbiAgICAgICAgZXZlbnQudGFyZ2V0Lm11dGVkID0gIXRoaXMuc291bmRFbmFibGVkO1xuICAgIH1cblxuICAgIHByaXZhdGUgdmlkZW9QYXVzZShpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGNvbnN0IHZpZGVvUGxheWVyOiBIVE1MVmlkZW9FbGVtZW50ID0gdGhpcy52aWRlb1BsYXllcnNbaW5kZXhdO1xuICAgICAgICBpZiAodmlkZW9QbGF5ZXIpIHtcbiAgICAgICAgICAgIHZpZGVvUGxheWVyLnBhdXNlKCk7XG4gICAgICAgICAgICB0aGlzLmlzUGxheWluZyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB2aWRlb1BsYXkoaW5kZXg6IG51bWJlcikge1xuICAgICAgICBjb25zdCB2aWRlb1BsYXllcjogSFRNTFZpZGVvRWxlbWVudCA9IHRoaXMudmlkZW9QbGF5ZXJzW2luZGV4XTtcbiAgICAgICAgaWYgKHZpZGVvUGxheWVyKSB7XG4gICAgICAgICAgICB2aWRlb1BsYXllci5wbGF5KCk7XG4gICAgICAgICAgICB0aGlzLmlzUGxheWluZyA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc3dpdGNoU291bmQoKSB7XG4gICAgICAgIHRoaXMuc291bmRFbmFibGVkID0gIXRoaXMuc291bmRFbmFibGVkO1xuICAgICAgICBmb3IgKGNvbnN0IHBsYXllciBvZiB0aGlzLnZpZGVvUGxheWVycykge1xuICAgICAgICAgICAgcGxheWVyLm11dGVkID0gIXRoaXMuc291bmRFbmFibGVkO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPHNlY3Rpb24gKm5nSWY9XCJpdGVtcyAmJiBpdGVtcy5sZW5ndGggPiAwICYmIGl0ZW1zWzBdLnVybFwiPlxuICAgIDxkaXYgY2xhc3M9XCJjYXJvdXNlbC13cmFwcGVyXCJcbiAgICAgICAgIChtb3VzZWVudGVyKT1cIm9uTW91c2VFbnRlcnNWaWRlbygkZXZlbnQsIHNlbGVjdGVkSW5kZXgpXCJcbiAgICAgICAgIChtb3VzZWxlYXZlKT1cIm9uTW91c2VMZWF2ZXNWaWRlbygkZXZlbnQsIHNlbGVjdGVkSW5kZXgpXCI+XG4gICAgICAgIDx1bCBjbGFzcz1cImNhcm91c2VsLWlubmVyXCIgI2Nhcm91c2VsPlxuICAgICAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgaSA9IGluZGV4XCIgY2xhc3M9XCJjYXJvdXNlbC1pdGVtXCI+XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ0lmXT1cIml0ZW0udHlwZSA9PT0gSW5zdGFncmFtQ2Fyb3VzZWxJdGVtVHlwZS5JTUFHRSAmJiBpdGVtLnVybFwiPlxuICAgICAgICAgICAgICAgICAgICA8aW1nIGFwRnJvemVuR2lmXG4gICAgICAgICAgICAgICAgICAgICAgICAgW2FwRnJvemVuXT1cIiFzdXBwb3J0R2lmXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICBbZGVmYXVsdF09XCInYXNzZXRzL2ltZy9kZWZhdWx0LnBuZydcIlxuICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaXRlbS51cmxcIj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBbbmdJZl09XCJpdGVtLnR5cGUgPT09IEluc3RhZ3JhbUNhcm91c2VsSXRlbVR5cGUuVklERU8gJiYgaXRlbS51cmxcIj5cbiAgICAgICAgICAgICAgICAgICAgPHZpZGVvIFtpZF09XCIndmlkZW8tJyArIGlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIucG9zdGVyXT1cIml0ZW0udGh1bWJuYWlsVXJsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsb29wXT1cInRpbnlNb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzcmNdPVwiaXRlbS51cmxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInBsYXkoJGV2ZW50LCBpKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAoZW5kZWQpPVwiaXNQbGF5aW5nID0gZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxvYWRzdGFydCk9XCJyZWdpc3RlclZpZGVvUGxheWVyKCRldmVudCwgaSlcIj5cbiAgICAgICAgICAgICAgICAgICAgPC92aWRlbz5cbiAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cInBsYXktYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicGxheSgkZXZlbnQsIGkpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCAqbmdJZj1cIiFpc1BsYXlpbmdcIiBkPVwiTTExLDEwIEwxOCwxMy43NCAxOCwyMi4yOCAxMSwyNiBNMTgsMTMuNzQgTDI2LDE4IDI2LDE4IDE4LDIyLjI4XCIvPlxuICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwic291bmQtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIXRpbnlNb2RlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzd2l0Y2hTb3VuZCgpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7e3NvdW5kRW5hYmxlZCA/ICd2b2x1bWVfdXAnIDogJ3ZvbHVtZV9vZmYnfX1cbiAgICAgICAgICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cblxuICAgICAgICA8c3ZnIGNsYXNzPVwibmF2LWJ1dHRvbiBwcmV2XCJcbiAgICAgICAgICAgICBbbmdDbGFzc109XCJ7J2Rpc2FibGVkJzogIWlzUHJldkJ1dHRvbkVuYWJsZWQoKSwgJ3RpbnknOiB0aW55TW9kZX1cIlxuICAgICAgICAgICAgIChjbGljayk9XCJwcmV2KCk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIlxuICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgNDU1IDQ1NVwiPlxuICAgICAgICAgICAgPHBhdGggZD1cIk0yMjcuNSwwQzEwMS44NTUsMCwwLDEwMS44NTUsMCwyMjcuNVMxMDEuODU1LDQ1NSwyMjcuNSw0NTVTNDU1LDM1My4xNDUsNDU1LDIyNy41UzM1My4xNDUsMCwyMjcuNSwweiBNMTk5LjQ3NiwzNTUuNTg5XG4gICAgICAgICAgICAgICAgICBsLTIxLjI0OC0yMS4xNzhMMjg0Ljc5MSwyMjcuNUwxNzguMjI4LDEyMC41ODlsMjEuMjQ4LTIxLjE3OEwzMjcuMTQ4LDIyNy41TDE5OS40NzYsMzU1LjU4OXpcIi8+XG4gICAgICAgIDwvc3ZnPlxuXG4gICAgICAgIDxzdmcgY2xhc3M9XCJuYXYtYnV0dG9uIG5leHRcIlxuICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOiAhaXNOZXh0QnV0dG9uRW5hYmxlZCgpLCAndGlueSc6IHRpbnlNb2RlfVwiXG4gICAgICAgICAgICAgKGNsaWNrKT1cIm5leHQoKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1wiXG4gICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgdmlld0JveD1cIjAgMCA0NTUgNDU1XCI+XG4gICAgICAgICAgICA8cGF0aCBkPVwiTTIyNy41LDBDMTAxLjg1NSwwLDAsMTAxLjg1NSwwLDIyNy41UzEwMS44NTUsNDU1LDIyNy41LDQ1NVM0NTUsMzUzLjE0NSw0NTUsMjI3LjVTMzUzLjE0NSwwLDIyNy41LDB6IE0xOTkuNDc2LDM1NS41ODlcblx0ICAgICAgICAgICAgICBsLTIxLjI0OC0yMS4xNzhMMjg0Ljc5MSwyMjcuNUwxNzguMjI4LDEyMC41ODlsMjEuMjQ4LTIxLjE3OEwzMjcuMTQ4LDIyNy41TDE5OS40NzYsMzU1LjU4OXpcIi8+XG4gICAgICAgIDwvc3ZnPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgW25nQ2xhc3NdPVwieydpbnNpZGUnOiBkb3RzSW5zaWRlfVwiPlxuICAgICAgICA8YXAtZG90cy1zdGVwcGVyXG4gICAgICAgICAgICBmeExheW91dD1cInJvd1wiXG4gICAgICAgICAgICBmeExheW91dEFsaWduPVwiY2VudGVyXCJcbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAqbmdJZj1cImRvdHNEaXNwbGF5ZWQoKVwiXG4gICAgICAgICAgICBbaXRlbXNdPVwiaXRlbXNcIlxuICAgICAgICAgICAgW2luZGV4XT1cInNlbGVjdGVkSW5kZXhcIlxuICAgICAgICAgICAgKGRvdENsaWNrKT1cInNlbGVjdGVkSW5kZXggPSAkZXZlbnRcIj48L2FwLWRvdHMtc3RlcHBlcj5cbiAgICA8L2Rpdj5cbjwvc2VjdGlvbj5cbiJdfQ==
|