@softpak/components 0.3.2 → 19.0.0-beta.1
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/fesm2022/softpak-components-spx-alert.mjs +4 -5
- package/fesm2022/softpak-components-spx-alert.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-app-configuration.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-app-expiry.mjs +4 -5
- package/fesm2022/softpak-components-spx-app-expiry.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-app-update.mjs +10 -9
- package/fesm2022/softpak-components-spx-app-update.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-button.mjs +4 -5
- package/fesm2022/softpak-components-spx-button.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-capitalize.mjs +3 -3
- package/fesm2022/softpak-components-spx-capitalize.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-card.mjs +15 -18
- package/fesm2022/softpak-components-spx-card.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-change-details.mjs +4 -4
- package/fesm2022/softpak-components-spx-change-details.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-channel-selection.mjs +7 -9
- package/fesm2022/softpak-components-spx-channel-selection.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-check-digit.mjs +4 -4
- package/fesm2022/softpak-components-spx-check-digit.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-form-section.mjs +4 -4
- package/fesm2022/softpak-components-spx-form-section.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-form-view.mjs +8 -9
- package/fesm2022/softpak-components-spx-form-view.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-helpers.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-inputs.mjs +50 -52
- package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-navigation.mjs +11 -12
- package/fesm2022/softpak-components-spx-navigation.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-number-check.mjs +4 -5
- package/fesm2022/softpak-components-spx-number-check.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-pagination.mjs +4 -4
- package/fesm2022/softpak-components-spx-pagination.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-patch.mjs +4 -5
- package/fesm2022/softpak-components-spx-patch.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-progress-bar.mjs +3 -3
- package/fesm2022/softpak-components-spx-progress-bar.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-spinner.mjs +4 -4
- package/fesm2022/softpak-components-spx-spinner.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-stock-info.mjs +4 -4
- package/fesm2022/softpak-components-spx-stock-info.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-storage.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-suggestion.mjs +3 -3
- package/fesm2022/softpak-components-spx-suggestion.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-toaster.mjs +5 -6
- package/fesm2022/softpak-components-spx-toaster.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-update.mjs +7 -9
- package/fesm2022/softpak-components-spx-update.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-validation.mjs +4 -4
- package/fesm2022/softpak-components-spx-validation.mjs.map +1 -1
- package/package.json +15 -68
- package/spx-inputs/spx-input-time-modal.component.d.ts +1 -1
- package/spx-inputs/spx-input-time.component.d.ts +1 -1
- package/esm2022/placeholder.mjs +0 -2
- package/esm2022/public_api.mjs +0 -2
- package/esm2022/softpak-components.mjs +0 -5
- package/esm2022/spx-alert/public-api.mjs +0 -3
- package/esm2022/spx-alert/softpak-components-spx-alert.mjs +0 -5
- package/esm2022/spx-alert/spx-alert.component.mjs +0 -193
- package/esm2022/spx-alert/spx-alert.interface.mjs +0 -3
- package/esm2022/spx-app-configuration/public-api.mjs +0 -8
- package/esm2022/spx-app-configuration/softpak-components-spx-app-configuration.mjs +0 -5
- package/esm2022/spx-app-configuration/spx-app-alert.interface.mjs +0 -2
- package/esm2022/spx-app-configuration/spx-app-bundle-set.interface.mjs +0 -2
- package/esm2022/spx-app-configuration/spx-app-channel-type.enum.mjs +0 -8
- package/esm2022/spx-app-configuration/spx-app-channel.interface.mjs +0 -2
- package/esm2022/spx-app-configuration/spx-app-config.interface.mjs +0 -2
- package/esm2022/spx-app-configuration/spx-app-id.enum.mjs +0 -8
- package/esm2022/spx-app-configuration/spx-app-lang.enum.mjs +0 -6
- package/esm2022/spx-app-configuration/spx-app-release-note.interface.mjs +0 -2
- package/esm2022/spx-app-expiry/public-api.mjs +0 -6
- package/esm2022/spx-app-expiry/softpak-components-spx-app-expiry.mjs +0 -5
- package/esm2022/spx-app-expiry/spx-app-expiry.component.mjs +0 -90
- package/esm2022/spx-app-expiry/spx-app-expiry.interface.mjs +0 -2
- package/esm2022/spx-app-expiry/spx-check-expiry-final-warning.interface.mjs +0 -5
- package/esm2022/spx-app-expiry/spx-check-expiry-happened.interface.mjs +0 -5
- package/esm2022/spx-app-expiry/spx-check-expiry-warning.interface.mjs +0 -5
- package/esm2022/spx-app-update/public-api.mjs +0 -2
- package/esm2022/spx-app-update/softpak-components-spx-app-update.mjs +0 -5
- package/esm2022/spx-app-update/spx-app-update.component.mjs +0 -316
- package/esm2022/spx-button/public-api.mjs +0 -2
- package/esm2022/spx-button/softpak-components-spx-button.mjs +0 -5
- package/esm2022/spx-button/spx-button.component.mjs +0 -142
- package/esm2022/spx-capitalize/public-api.mjs +0 -2
- package/esm2022/spx-capitalize/softpak-components-spx-capitalize.mjs +0 -5
- package/esm2022/spx-capitalize/spx-capitalize.pipe.mjs +0 -20
- package/esm2022/spx-card/public-api.mjs +0 -5
- package/esm2022/spx-card/softpak-components-spx-card.mjs +0 -5
- package/esm2022/spx-card/spx-card-grid.component.mjs +0 -46
- package/esm2022/spx-card/spx-card-item.component.mjs +0 -111
- package/esm2022/spx-card/spx-card-line.component.mjs +0 -101
- package/esm2022/spx-card/spx-card.component.mjs +0 -93
- package/esm2022/spx-change-details/public-api.mjs +0 -2
- package/esm2022/spx-change-details/softpak-components-spx-change-details.mjs +0 -5
- package/esm2022/spx-change-details/spx-change-details-value.interface.mjs +0 -2
- package/esm2022/spx-change-details/spx-change-details.component.mjs +0 -199
- package/esm2022/spx-channel-selection/public-api.mjs +0 -3
- package/esm2022/spx-channel-selection/softpak-components-spx-channel-selection.mjs +0 -5
- package/esm2022/spx-channel-selection/src/spx-channel-indicator.component.mjs +0 -45
- package/esm2022/spx-channel-selection/src/spx-welcome.component.mjs +0 -135
- package/esm2022/spx-check-digit/public-api.mjs +0 -2
- package/esm2022/spx-check-digit/softpak-components-spx-check-digit.mjs +0 -5
- package/esm2022/spx-check-digit/spx-check-digit.component.mjs +0 -94
- package/esm2022/spx-form-section/public-api.mjs +0 -2
- package/esm2022/spx-form-section/softpak-components-spx-form-section.mjs +0 -5
- package/esm2022/spx-form-section/spx-form-section.component.mjs +0 -37
- package/esm2022/spx-form-view/public-api.mjs +0 -7
- package/esm2022/spx-form-view/softpak-components-spx-form-view.mjs +0 -5
- package/esm2022/spx-form-view/spx-autocomplete-search.component.mjs +0 -119
- package/esm2022/spx-form-view/spx-form-button-type.enum.mjs +0 -6
- package/esm2022/spx-form-view/spx-form-button.interface.mjs +0 -2
- package/esm2022/spx-form-view/spx-form-field.interface.mjs +0 -2
- package/esm2022/spx-form-view/spx-form-section.interface.mjs +0 -2
- package/esm2022/spx-form-view/spx-form-view.component.mjs +0 -289
- package/esm2022/spx-form-view/spx-form.interface.mjs +0 -2
- package/esm2022/spx-helpers/calc-check-digit.function.mjs +0 -21
- package/esm2022/spx-helpers/public-api.mjs +0 -4
- package/esm2022/spx-helpers/softpak-components-spx-helpers.mjs +0 -5
- package/esm2022/spx-helpers/spx-severity.enum.mjs +0 -9
- package/esm2022/spx-helpers/value-pair-to-value.function.mjs +0 -7
- package/esm2022/spx-inputs/public-api.mjs +0 -6
- package/esm2022/spx-inputs/softpak-components-spx-inputs.mjs +0 -5
- package/esm2022/spx-inputs/spx-dropdown.component.mjs +0 -94
- package/esm2022/spx-inputs/spx-input-box.component.mjs +0 -255
- package/esm2022/spx-inputs/spx-input-date.component.mjs +0 -294
- package/esm2022/spx-inputs/spx-input-float.component.mjs +0 -159
- package/esm2022/spx-inputs/spx-input-number.component.mjs +0 -87
- package/esm2022/spx-inputs/spx-input-radio.component.mjs +0 -129
- package/esm2022/spx-inputs/spx-input-text.component.mjs +0 -155
- package/esm2022/spx-inputs/spx-input-time-modal.component.mjs +0 -116
- package/esm2022/spx-inputs/spx-input-time.component.mjs +0 -166
- package/esm2022/spx-inputs/spx-input-type.enum.mjs +0 -17
- package/esm2022/spx-inputs/spx-input.component.mjs +0 -445
- package/esm2022/spx-inputs/spx-value-interface.mjs +0 -2
- package/esm2022/spx-navigation/public-api.mjs +0 -5
- package/esm2022/spx-navigation/softpak-components-spx-navigation.mjs +0 -5
- package/esm2022/spx-navigation/spx-home-tile.component.mjs +0 -68
- package/esm2022/spx-navigation/spx-home-tiles.component.mjs +0 -24
- package/esm2022/spx-navigation/spx-navigation-item.interface.mjs +0 -2
- package/esm2022/spx-navigation/spx-navigation.component.mjs +0 -51
- package/esm2022/spx-number-check/public-api.mjs +0 -2
- package/esm2022/spx-number-check/softpak-components-spx-number-check.mjs +0 -5
- package/esm2022/spx-number-check/spx-number-check.component.mjs +0 -259
- package/esm2022/spx-pagination/public-api.mjs +0 -2
- package/esm2022/spx-pagination/softpak-components-spx-pagination.mjs +0 -5
- package/esm2022/spx-pagination/spx-pagination.component.mjs +0 -44
- package/esm2022/spx-patch/patch-check.function.mjs +0 -9
- package/esm2022/spx-patch/public-api.mjs +0 -4
- package/esm2022/spx-patch/release-check.function.mjs +0 -14
- package/esm2022/spx-patch/softpak-components-spx-patch.mjs +0 -5
- package/esm2022/spx-patch/spx-patch.component.mjs +0 -48
- package/esm2022/spx-progress-bar/public-api.mjs +0 -2
- package/esm2022/spx-progress-bar/softpak-components-spx-progress-bar.mjs +0 -5
- package/esm2022/spx-progress-bar/spx-progress-bar.component.mjs +0 -29
- package/esm2022/spx-spinner/public-api.mjs +0 -2
- package/esm2022/spx-spinner/softpak-components-spx-spinner.mjs +0 -5
- package/esm2022/spx-spinner/spx-spinner.component.mjs +0 -159
- package/esm2022/spx-stock-info/public-api.mjs +0 -3
- package/esm2022/spx-stock-info/softpak-components-spx-stock-info.mjs +0 -5
- package/esm2022/spx-stock-info/spx-stock-info-value.interface.mjs +0 -2
- package/esm2022/spx-stock-info/spx-stock-info.component.mjs +0 -327
- package/esm2022/spx-storage/public-api.mjs +0 -3
- package/esm2022/spx-storage/softpak-components-spx-storage.mjs +0 -5
- package/esm2022/spx-storage/src/spx-storage-key.enum.mjs +0 -13
- package/esm2022/spx-storage/src/spx-storage.class.mjs +0 -45
- package/esm2022/spx-suggestion/public-api.mjs +0 -2
- package/esm2022/spx-suggestion/softpak-components-spx-suggestion.mjs +0 -5
- package/esm2022/spx-suggestion/spx-suggestion.component.mjs +0 -69
- package/esm2022/spx-toaster/public-api.mjs +0 -4
- package/esm2022/spx-toaster/softpak-components-spx-toaster.mjs +0 -5
- package/esm2022/spx-toaster/src/spx-toaster-autoclose-speed.mjs +0 -23
- package/esm2022/spx-toaster/src/spx-toaster-message.interface.mjs +0 -3
- package/esm2022/spx-toaster/src/spx-toaster.component.mjs +0 -173
- package/esm2022/spx-update/public-api.mjs +0 -3
- package/esm2022/spx-update/softpak-components-spx-update.mjs +0 -5
- package/esm2022/spx-update/src/spx-update-info.component.mjs +0 -88
- package/esm2022/spx-update/src/spx-update-progress.component.mjs +0 -46
- package/esm2022/spx-validation/max.validator.mjs +0 -17
- package/esm2022/spx-validation/maxlength.validator.mjs +0 -20
- package/esm2022/spx-validation/min.validator.mjs +0 -17
- package/esm2022/spx-validation/minlength.validator.mjs +0 -20
- package/esm2022/spx-validation/pattern.validator.mjs +0 -12
- package/esm2022/spx-validation/public-api.mjs +0 -9
- package/esm2022/spx-validation/required.validator.mjs +0 -12
- package/esm2022/spx-validation/softpak-components-spx-validation.mjs +0 -5
- package/esm2022/spx-validation/spx-validate-control.component.mjs +0 -68
- package/esm2022/spx-validation/year-and-month.validator.mjs +0 -42
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { NgIf } from '@angular/common';
|
|
2
|
-
import { Component, Input } from '@angular/core';
|
|
3
|
-
import { spxCheckExpiryWarning } from './spx-check-expiry-warning.interface';
|
|
4
|
-
import { spxCheckExpiryFinalWarning } from './spx-check-expiry-final-warning.interface';
|
|
5
|
-
import { spxCheckExpiryHappened } from './spx-check-expiry-happened.interface';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class SpxAppExpiryComponent {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.warning = false;
|
|
10
|
-
this.finalWarning = false;
|
|
11
|
-
this.expired = false;
|
|
12
|
-
}
|
|
13
|
-
ngOnChanges() {
|
|
14
|
-
if (this.spxExpiry && this.spxVersion) {
|
|
15
|
-
this.expired = spxCheckExpiryHappened(this.spxVersion, this.spxExpiry);
|
|
16
|
-
this.finalWarning = spxCheckExpiryFinalWarning(this.spxVersion, this.spxExpiry) && !this.expired;
|
|
17
|
-
this.warning = spxCheckExpiryWarning(this.spxVersion, this.spxExpiry) && !this.finalWarning && !this.expired;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxAppExpiryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
21
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SpxAppExpiryComponent, isStandalone: true, selector: "spx-app-expiry", inputs: { txtContactHelpdeskOrSoftpak: "txtContactHelpdeskOrSoftpak", txtExpired: "txtExpired", txtLastReminder: "txtLastReminder", txtPleaseOpenTheAppStore: "txtPleaseOpenTheAppStore", txtPleaseUpdate: "txtPleaseUpdate", txtThisVersionWillExpireSoon: "txtThisVersionWillExpireSoon", txtUpdateAvailable: "txtUpdateAvailable", txtUpdateTheAppToTheLatestVersion: "txtUpdateTheAppToTheLatestVersion", spxExpiry: "spxExpiry", spxVersion: "spxVersion" }, usesOnChanges: true, ngImport: i0, template: `
|
|
22
|
-
<div class="m-3" *ngIf="warning || finalWarning || expired">
|
|
23
|
-
<div
|
|
24
|
-
class="p-3 font-bold text-white rounded-t text-xl"
|
|
25
|
-
[class.bg-lime-600]="warning"
|
|
26
|
-
[class.bg-red-600]="expired"
|
|
27
|
-
[class.bg-amber-600]="finalWarning">
|
|
28
|
-
<ng-container *ngIf="warning">{{ txtUpdateAvailable }}</ng-container>
|
|
29
|
-
<ng-container *ngIf="finalWarning">{{ txtLastReminder }}</ng-container>
|
|
30
|
-
<ng-container *ngIf="expired">{{ txtExpired }}</ng-container>
|
|
31
|
-
</div>
|
|
32
|
-
<div
|
|
33
|
-
class="bg-amber-50 p-3 text-black rounded-b mb-3">
|
|
34
|
-
<div>{{ txtPleaseOpenTheAppStore }}.</div>
|
|
35
|
-
<div>{{ txtUpdateTheAppToTheLatestVersion }}.</div>
|
|
36
|
-
<div>{{ txtContactHelpdeskOrSoftpak }}.</div>
|
|
37
|
-
<div *ngIf="finalWarning">{{ txtThisVersionWillExpireSoon }}.</div>
|
|
38
|
-
</div>
|
|
39
|
-
</div>`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
|
40
|
-
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxAppExpiryComponent, decorators: [{
|
|
42
|
-
type: Component,
|
|
43
|
-
args: [{
|
|
44
|
-
selector: 'spx-app-expiry',
|
|
45
|
-
standalone: true,
|
|
46
|
-
imports: [
|
|
47
|
-
NgIf,
|
|
48
|
-
],
|
|
49
|
-
template: `
|
|
50
|
-
<div class="m-3" *ngIf="warning || finalWarning || expired">
|
|
51
|
-
<div
|
|
52
|
-
class="p-3 font-bold text-white rounded-t text-xl"
|
|
53
|
-
[class.bg-lime-600]="warning"
|
|
54
|
-
[class.bg-red-600]="expired"
|
|
55
|
-
[class.bg-amber-600]="finalWarning">
|
|
56
|
-
<ng-container *ngIf="warning">{{ txtUpdateAvailable }}</ng-container>
|
|
57
|
-
<ng-container *ngIf="finalWarning">{{ txtLastReminder }}</ng-container>
|
|
58
|
-
<ng-container *ngIf="expired">{{ txtExpired }}</ng-container>
|
|
59
|
-
</div>
|
|
60
|
-
<div
|
|
61
|
-
class="bg-amber-50 p-3 text-black rounded-b mb-3">
|
|
62
|
-
<div>{{ txtPleaseOpenTheAppStore }}.</div>
|
|
63
|
-
<div>{{ txtUpdateTheAppToTheLatestVersion }}.</div>
|
|
64
|
-
<div>{{ txtContactHelpdeskOrSoftpak }}.</div>
|
|
65
|
-
<div *ngIf="finalWarning">{{ txtThisVersionWillExpireSoon }}.</div>
|
|
66
|
-
</div>
|
|
67
|
-
</div>`,
|
|
68
|
-
}]
|
|
69
|
-
}], propDecorators: { txtContactHelpdeskOrSoftpak: [{
|
|
70
|
-
type: Input
|
|
71
|
-
}], txtExpired: [{
|
|
72
|
-
type: Input
|
|
73
|
-
}], txtLastReminder: [{
|
|
74
|
-
type: Input
|
|
75
|
-
}], txtPleaseOpenTheAppStore: [{
|
|
76
|
-
type: Input
|
|
77
|
-
}], txtPleaseUpdate: [{
|
|
78
|
-
type: Input
|
|
79
|
-
}], txtThisVersionWillExpireSoon: [{
|
|
80
|
-
type: Input
|
|
81
|
-
}], txtUpdateAvailable: [{
|
|
82
|
-
type: Input
|
|
83
|
-
}], txtUpdateTheAppToTheLatestVersion: [{
|
|
84
|
-
type: Input
|
|
85
|
-
}], spxExpiry: [{
|
|
86
|
-
type: Input
|
|
87
|
-
}], spxVersion: [{
|
|
88
|
-
type: Input
|
|
89
|
-
}] } });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWFwcC1leHBpcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1hcHAtZXhwaXJ5L3NweC1hcHAtZXhwaXJ5LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFFNUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDN0UsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDeEYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7O0FBNEIvRSxNQUFNLE9BQU8scUJBQXFCO0lBMUJsQztRQXFDRSxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2hCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLFlBQU8sR0FBRyxLQUFLLENBQUM7S0FRakI7SUFQQyxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsT0FBTyxHQUFHLHNCQUFzQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxZQUFZLEdBQUcsMEJBQTBCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQ2pHLElBQUksQ0FBQyxPQUFPLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUMvRyxDQUFDO0lBQ0gsQ0FBQzs4R0FwQlUscUJBQXFCO2tHQUFyQixxQkFBcUIsaWlCQXBCdEI7Ozs7Ozs7Ozs7Ozs7Ozs7OztTQWtCSCw0REFwQkwsSUFBSTs7MkZBc0JLLHFCQUFxQjtrQkExQmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxJQUFJO3FCQUNMO29CQUNELFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7O1NBa0JIO2lCQUNSOzhCQUVVLDJCQUEyQjtzQkFBbkMsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csNEJBQTRCO3NCQUFwQyxLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxpQ0FBaUM7c0JBQXpDLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNweEFwcEV4cGlyeUkgfSBmcm9tICcuL3NweC1hcHAtZXhwaXJ5LmludGVyZmFjZSc7XG5pbXBvcnQgeyBzcHhDaGVja0V4cGlyeVdhcm5pbmcgfSBmcm9tICcuL3NweC1jaGVjay1leHBpcnktd2FybmluZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgc3B4Q2hlY2tFeHBpcnlGaW5hbFdhcm5pbmcgfSBmcm9tICcuL3NweC1jaGVjay1leHBpcnktZmluYWwtd2FybmluZy5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgc3B4Q2hlY2tFeHBpcnlIYXBwZW5lZCB9IGZyb20gJy4vc3B4LWNoZWNrLWV4cGlyeS1oYXBwZW5lZC5pbnRlcmZhY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHgtYXBwLWV4cGlyeScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICBdLFxuICB0ZW1wbGF0ZTogYFxuICA8ZGl2IGNsYXNzPVwibS0zXCIgKm5nSWY9XCJ3YXJuaW5nIHx8IGZpbmFsV2FybmluZyB8fCBleHBpcmVkXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJwLTMgZm9udC1ib2xkIHRleHQtd2hpdGUgcm91bmRlZC10IHRleHQteGxcIlxuICAgICAgW2NsYXNzLmJnLWxpbWUtNjAwXT1cIndhcm5pbmdcIlxuICAgICAgW2NsYXNzLmJnLXJlZC02MDBdPVwiZXhwaXJlZFwiXG4gICAgICBbY2xhc3MuYmctYW1iZXItNjAwXT1cImZpbmFsV2FybmluZ1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIndhcm5pbmdcIj57eyB0eHRVcGRhdGVBdmFpbGFibGUgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmaW5hbFdhcm5pbmdcIj57eyB0eHRMYXN0UmVtaW5kZXIgfX08L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJleHBpcmVkXCI+e3sgdHh0RXhwaXJlZCB9fTwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiYmctYW1iZXItNTAgcC0zIHRleHQtYmxhY2sgcm91bmRlZC1iIG1iLTNcIj5cbiAgICAgIDxkaXY+e3sgdHh0UGxlYXNlT3BlblRoZUFwcFN0b3JlIH19LjwvZGl2PlxuICAgICAgPGRpdj57eyB0eHRVcGRhdGVUaGVBcHBUb1RoZUxhdGVzdFZlcnNpb24gfX0uPC9kaXY+XG4gICAgICA8ZGl2Pnt7IHR4dENvbnRhY3RIZWxwZGVza09yU29mdHBhayB9fS48L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJmaW5hbFdhcm5pbmdcIj57eyB0eHRUaGlzVmVyc2lvbldpbGxFeHBpcmVTb29uIH19LjwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5gLFxufSlcbmV4cG9ydCBjbGFzcyBTcHhBcHBFeHBpcnlDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICBASW5wdXQoKSB0eHRDb250YWN0SGVscGRlc2tPclNvZnRwYWshOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHR4dEV4cGlyZWQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHR4dExhc3RSZW1pbmRlciE6IHN0cmluZztcbiAgQElucHV0KCkgdHh0UGxlYXNlT3BlblRoZUFwcFN0b3JlITogc3RyaW5nO1xuICBASW5wdXQoKSB0eHRQbGVhc2VVcGRhdGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHR4dFRoaXNWZXJzaW9uV2lsbEV4cGlyZVNvb24hOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHR4dFVwZGF0ZUF2YWlsYWJsZSE6IHN0cmluZztcbiAgQElucHV0KCkgdHh0VXBkYXRlVGhlQXBwVG9UaGVMYXRlc3RWZXJzaW9uITogc3RyaW5nO1xuICBASW5wdXQoKSBzcHhFeHBpcnkhOiBTcHhBcHBFeHBpcnlJO1xuICBASW5wdXQoKSBzcHhWZXJzaW9uITogc3RyaW5nO1xuICB3YXJuaW5nID0gZmFsc2U7XG4gIGZpbmFsV2FybmluZyA9IGZhbHNlO1xuICBleHBpcmVkID0gZmFsc2U7XG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNweEV4cGlyeSAmJiB0aGlzLnNweFZlcnNpb24pIHtcbiAgICAgIHRoaXMuZXhwaXJlZCA9IHNweENoZWNrRXhwaXJ5SGFwcGVuZWQodGhpcy5zcHhWZXJzaW9uLCB0aGlzLnNweEV4cGlyeSk7XG4gICAgICB0aGlzLmZpbmFsV2FybmluZyA9IHNweENoZWNrRXhwaXJ5RmluYWxXYXJuaW5nKHRoaXMuc3B4VmVyc2lvbiwgdGhpcy5zcHhFeHBpcnkpICYmICF0aGlzLmV4cGlyZWQ7XG4gICAgICB0aGlzLndhcm5pbmcgPSBzcHhDaGVja0V4cGlyeVdhcm5pbmcodGhpcy5zcHhWZXJzaW9uLCB0aGlzLnNweEV4cGlyeSkgJiYgIXRoaXMuZmluYWxXYXJuaW5nICYmICF0aGlzLmV4cGlyZWQ7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWFwcC1leHBpcnkuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1hcHAtZXhwaXJ5L3NweC1hcHAtZXhwaXJ5LmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tIFwibHV4b25cIjtcblxuZXhwb3J0IGludGVyZmFjZSBTcHhBcHBFeHBpcnlJIHtcbiAgcmVxdWlyZWRWZXJzaW9uOiBzdHJpbmc7XG4gIHdhcm5pbmc6IERhdGVUaW1lO1xuICBmaW5hbFdhcm5pbmc6IERhdGVUaW1lO1xuICBleHBpcnk6IERhdGVUaW1lO1xufSJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { DateTime } from "luxon";
|
|
2
|
-
export const spxCheckExpiryFinalWarning = (appStoreVersion, spxAppExpiry) => {
|
|
3
|
-
return spxAppExpiry !== undefined && appStoreVersion.substring(0, 3) !== spxAppExpiry.requiredVersion.substring(0, 3) && DateTime.now() > spxAppExpiry.finalWarning;
|
|
4
|
-
};
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWNoZWNrLWV4cGlyeS1maW5hbC13YXJuaW5nLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtYXBwLWV4cGlyeS9zcHgtY2hlY2stZXhwaXJ5LWZpbmFsLXdhcm5pbmcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFHakMsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsQ0FBQyxlQUF1QixFQUFFLFlBQTRCLEVBQUUsRUFBRTtJQUNsRyxPQUFPLFlBQVksS0FBSyxTQUFTLElBQUksZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssWUFBWSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFLLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxZQUFZLENBQUMsWUFBWSxDQUFDO0FBQ3JLLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSBcImx1eG9uXCI7XG5pbXBvcnQgeyBTcHhBcHBFeHBpcnlJIH0gZnJvbSBcIi4vc3B4LWFwcC1leHBpcnkuaW50ZXJmYWNlXCI7XG5cbmV4cG9ydCBjb25zdCBzcHhDaGVja0V4cGlyeUZpbmFsV2FybmluZyA9IChhcHBTdG9yZVZlcnNpb246IHN0cmluZywgc3B4QXBwRXhwaXJ5PzogU3B4QXBwRXhwaXJ5SSkgPT4ge1xuICByZXR1cm4gc3B4QXBwRXhwaXJ5ICE9PSB1bmRlZmluZWQgJiYgYXBwU3RvcmVWZXJzaW9uLnN1YnN0cmluZygwLDMpICE9PSBzcHhBcHBFeHBpcnkucmVxdWlyZWRWZXJzaW9uLnN1YnN0cmluZygwLDMpICYmICBEYXRlVGltZS5ub3coKSA+IHNweEFwcEV4cGlyeS5maW5hbFdhcm5pbmc7XG59Il19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { DateTime } from "luxon";
|
|
2
|
-
export const spxCheckExpiryHappened = (appStoreVersion, spxAppExpiry) => {
|
|
3
|
-
return spxAppExpiry !== undefined && appStoreVersion.substring(0, 3) !== spxAppExpiry.requiredVersion.substring(0, 3) && DateTime.now() > spxAppExpiry.expiry;
|
|
4
|
-
};
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWNoZWNrLWV4cGlyeS1oYXBwZW5lZC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWFwcC1leHBpcnkvc3B4LWNoZWNrLWV4cGlyeS1oYXBwZW5lZC5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUdqQyxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLGVBQXVCLEVBQUUsWUFBMkIsRUFBVyxFQUFFO0lBQ3RHLE9BQU8sWUFBWSxLQUFLLFNBQVMsSUFBSSxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBQyxDQUFDLENBQUMsS0FBSyxZQUFZLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDLEdBQUcsRUFBRSxHQUFHLFlBQVksQ0FBQyxNQUFNLENBQUM7QUFDOUosQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tIFwibHV4b25cIjtcbmltcG9ydCB7IFNweEFwcEV4cGlyeUkgfSBmcm9tIFwiLi9zcHgtYXBwLWV4cGlyeS5pbnRlcmZhY2VcIjtcblxuZXhwb3J0IGNvbnN0IHNweENoZWNrRXhwaXJ5SGFwcGVuZWQgPSAoYXBwU3RvcmVWZXJzaW9uOiBzdHJpbmcsIHNweEFwcEV4cGlyeTogU3B4QXBwRXhwaXJ5SSk6IGJvb2xlYW4gPT4ge1xuICByZXR1cm4gc3B4QXBwRXhwaXJ5ICE9PSB1bmRlZmluZWQgJiYgYXBwU3RvcmVWZXJzaW9uLnN1YnN0cmluZygwLDMpICE9PSBzcHhBcHBFeHBpcnkucmVxdWlyZWRWZXJzaW9uLnN1YnN0cmluZygwLDMpICYmIERhdGVUaW1lLm5vdygpID4gc3B4QXBwRXhwaXJ5LmV4cGlyeTtcbn0iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { DateTime } from "luxon";
|
|
2
|
-
export const spxCheckExpiryWarning = (appStoreVersion, spxAppExpiry) => {
|
|
3
|
-
return spxAppExpiry !== undefined && appStoreVersion.substring(0, 3) !== spxAppExpiry.requiredVersion.substring(0, 3) && DateTime.now() > spxAppExpiry.warning;
|
|
4
|
-
};
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWNoZWNrLWV4cGlyeS13YXJuaW5nLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtYXBwLWV4cGlyeS9zcHgtY2hlY2stZXhwaXJ5LXdhcm5pbmcuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFHakMsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxlQUF1QixFQUFFLFlBQTRCLEVBQVcsRUFBRTtJQUN0RyxPQUFPLFlBQVksS0FBSyxTQUFTLElBQUksZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUMsQ0FBQyxDQUFDLEtBQUssWUFBWSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxHQUFHLEVBQUUsR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDO0FBQy9KLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSBcImx1eG9uXCI7XG5pbXBvcnQgeyBTcHhBcHBFeHBpcnlJIH0gZnJvbSBcIi4vc3B4LWFwcC1leHBpcnkuaW50ZXJmYWNlXCI7XG5cbmV4cG9ydCBjb25zdCBzcHhDaGVja0V4cGlyeVdhcm5pbmcgPSAoYXBwU3RvcmVWZXJzaW9uOiBzdHJpbmcsIHNweEFwcEV4cGlyeT86IFNweEFwcEV4cGlyeUkpOiBib29sZWFuID0+IHtcbiAgcmV0dXJuIHNweEFwcEV4cGlyeSAhPT0gdW5kZWZpbmVkICYmIGFwcFN0b3JlVmVyc2lvbi5zdWJzdHJpbmcoMCwzKSAhPT0gc3B4QXBwRXhwaXJ5LnJlcXVpcmVkVmVyc2lvbi5zdWJzdHJpbmcoMCwzKSAmJiBEYXRlVGltZS5ub3coKSA+IHNweEFwcEV4cGlyeS53YXJuaW5nO1xufSJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './spx-app-update.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtYXBwLXVwZGF0ZS9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NweC1hcHAtdXBkYXRlLmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mdHBhay1jb21wb25lbnRzLXNweC1hcHAtdXBkYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1hcHAtdXBkYXRlL3NvZnRwYWstY29tcG9uZW50cy1zcHgtYXBwLXVwZGF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -1,316 +0,0 @@
|
|
|
1
|
-
import { NgClass, NgIf } from '@angular/common';
|
|
2
|
-
import { Component, Input } from '@angular/core';
|
|
3
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
-
import { TranslateModule } from '@ngx-translate/core';
|
|
5
|
-
import { SpxCapitalizePipe } from '@softpak/components/spx-capitalize';
|
|
6
|
-
import { SpxInputComponent } from '@softpak/components/spx-inputs';
|
|
7
|
-
import { SpxProgressBarComponent } from '@softpak/components/spx-progress-bar';
|
|
8
|
-
import { SpxStorage, SpxStorageKeyEnum } from '@softpak/components/spx-storage';
|
|
9
|
-
import { Device } from '@capacitor/device';
|
|
10
|
-
import { getCurrentScope } from '@sentry/angular';
|
|
11
|
-
import { IonicModule } from '@ionic/angular';
|
|
12
|
-
import * as i0 from "@angular/core";
|
|
13
|
-
import * as i1 from "cordova-plugin-ionic/dist/ngx";
|
|
14
|
-
import * as i2 from "@angular/router";
|
|
15
|
-
import * as i3 from "@ngx-translate/core";
|
|
16
|
-
import * as i4 from "@angular/forms";
|
|
17
|
-
import * as i5 from "@ionic/angular";
|
|
18
|
-
const ctrlNextVersionNumber = 'ctrlNextVersionNumber';
|
|
19
|
-
const ctrlVersionNumber = 'ctrlVersionNumber';
|
|
20
|
-
const ctrlConfiguredChannel = 'ctrlConfiguredChannel';
|
|
21
|
-
const ctrlAppStoreVersion = 'ctrlAppStoreVersion';
|
|
22
|
-
export class SpxAppUpdateComponent {
|
|
23
|
-
constructor(deploy, router, changeDetector, applicationRef, translateService, formBuilder) {
|
|
24
|
-
this.deploy = deploy;
|
|
25
|
-
this.router = router;
|
|
26
|
-
this.changeDetector = changeDetector;
|
|
27
|
-
this.applicationRef = applicationRef;
|
|
28
|
-
this.translateService = translateService;
|
|
29
|
-
this.formBuilder = formBuilder;
|
|
30
|
-
this.delayedPercentage = 0;
|
|
31
|
-
this.percentage = 0;
|
|
32
|
-
this.syncTruckInterval = null;
|
|
33
|
-
this.updateStatus = this.textCheckingForUpdates;
|
|
34
|
-
this.form = this.formBuilder.group({
|
|
35
|
-
[ctrlNextVersionNumber]: [null, []],
|
|
36
|
-
[ctrlVersionNumber]: [null, []],
|
|
37
|
-
[ctrlConfiguredChannel]: [null, []],
|
|
38
|
-
[ctrlAppStoreVersion]: [null, []],
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
get ctrlVersionNumber() { return this.form.get(ctrlVersionNumber); }
|
|
42
|
-
get ctrlNextVersionNumber() { return this.form.get(ctrlNextVersionNumber); }
|
|
43
|
-
get ctrlConfiguredChannel() { return this.form.get(ctrlConfiguredChannel); }
|
|
44
|
-
get ctrlAppStoreVersion() { return this.form.get(ctrlAppStoreVersion); }
|
|
45
|
-
init() {
|
|
46
|
-
this.delayedPercentage = 0;
|
|
47
|
-
this.percentage = 0;
|
|
48
|
-
this.performAutomaticUpdate().then(() => { });
|
|
49
|
-
this.startLoaderSync();
|
|
50
|
-
this.changeStatus({
|
|
51
|
-
percentage: 0,
|
|
52
|
-
text: this.translateService.instant(this.textCheckingForUpdates),
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
destroy() {
|
|
56
|
-
this.stopLoaderSync();
|
|
57
|
-
}
|
|
58
|
-
async performAutomaticUpdate() {
|
|
59
|
-
const deviceInfo = await Device.getInfo();
|
|
60
|
-
if (deviceInfo?.platform === 'web') {
|
|
61
|
-
// Local? Skip the update page.
|
|
62
|
-
this.closeUpdateScreen();
|
|
63
|
-
}
|
|
64
|
-
try {
|
|
65
|
-
this.updateInfo();
|
|
66
|
-
// Start upgrade
|
|
67
|
-
const currentVersion = await this.deploy.getCurrentVersion();
|
|
68
|
-
if (currentVersion?.binaryVersionName) {
|
|
69
|
-
const binaryGroup = currentVersion.binaryVersionName.substring(0, 3); // e.g. "1.4"
|
|
70
|
-
const channelGroup = currentVersion.channel.split('-')[1].substring(0, 3); // e.g. "1.4"
|
|
71
|
-
const channelType = currentVersion.channel.split('-')[0];
|
|
72
|
-
if (binaryGroup != channelGroup) {
|
|
73
|
-
await this.deploy.configure({
|
|
74
|
-
appId: this.spxAppId,
|
|
75
|
-
channel: `${channelType}-${binaryGroup}.x`
|
|
76
|
-
}).then(() => {
|
|
77
|
-
this.sync().then(() => { });
|
|
78
|
-
});
|
|
79
|
-
}
|
|
80
|
-
else {
|
|
81
|
-
this.sync().then(() => { });
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
this.sync().then(() => { });
|
|
86
|
-
}
|
|
87
|
-
// End upgrade
|
|
88
|
-
}
|
|
89
|
-
catch (error) {
|
|
90
|
-
this.changeStatus({
|
|
91
|
-
closeScreen: true,
|
|
92
|
-
error,
|
|
93
|
-
percentage: 100,
|
|
94
|
-
text: this.translateService.instant(this.textUnexpectedError)
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
async sync() {
|
|
99
|
-
try {
|
|
100
|
-
this.updateInfo();
|
|
101
|
-
const updateAvailableInfo = await this.deploy.checkForUpdate();
|
|
102
|
-
if (!updateAvailableInfo.available) {
|
|
103
|
-
// No update available
|
|
104
|
-
this.changeStatus({
|
|
105
|
-
closeScreen: true,
|
|
106
|
-
percentage: 0,
|
|
107
|
-
text: this.translateService.instant(this.textNoUpdatesAvailable),
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
// Download update
|
|
112
|
-
await this.deploy.sync({ updateMethod: 'auto' }, (percentage) => {
|
|
113
|
-
this.changeStatus({
|
|
114
|
-
percentage: percentage ?? 0,
|
|
115
|
-
text: this.translateService.instant(this.textDownloadingUpdate, { percentage, version: updateAvailableInfo.build }),
|
|
116
|
-
});
|
|
117
|
-
}).catch((error) => {
|
|
118
|
-
this.changeStatus({
|
|
119
|
-
closeScreen: true,
|
|
120
|
-
error,
|
|
121
|
-
percentage: 100,
|
|
122
|
-
text: this.translateService.instant(this.textErrorWhileUpdatingApp),
|
|
123
|
-
});
|
|
124
|
-
});
|
|
125
|
-
this.changeStatus({
|
|
126
|
-
closeScreen: true,
|
|
127
|
-
percentage: 100,
|
|
128
|
-
text: this.translateService.instant(this.textFinishedUpdating, { version: updateAvailableInfo.build })
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
catch (error) {
|
|
133
|
-
// Catch unexpected plug-in errors
|
|
134
|
-
this.changeStatus({
|
|
135
|
-
closeScreen: true,
|
|
136
|
-
error,
|
|
137
|
-
percentage: 100,
|
|
138
|
-
text: this.translateService.instant(this.textUnexpectedError)
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
async updateInfo() {
|
|
143
|
-
const currentVersion = await this.deploy.getCurrentVersion();
|
|
144
|
-
const configuration = await this.deploy.getConfiguration();
|
|
145
|
-
const updateAvailableInfo = await this.deploy.checkForUpdate();
|
|
146
|
-
if (currentVersion) {
|
|
147
|
-
this.ctrlVersionNumber.setValue({
|
|
148
|
-
value: configuration?.currentBuildId,
|
|
149
|
-
});
|
|
150
|
-
this.ctrlNextVersionNumber.setValue({
|
|
151
|
-
value: updateAvailableInfo?.build
|
|
152
|
-
});
|
|
153
|
-
this.ctrlConfiguredChannel.setValue({
|
|
154
|
-
value: configuration ? configuration.channel : null
|
|
155
|
-
});
|
|
156
|
-
this.ctrlAppStoreVersion.setValue({
|
|
157
|
-
value: configuration ? configuration.binaryVersionName : null
|
|
158
|
-
});
|
|
159
|
-
{
|
|
160
|
-
const scope = getCurrentScope();
|
|
161
|
-
scope.setTag('version_binary_code', currentVersion?.binaryVersionCode);
|
|
162
|
-
scope.setTag('version_binary_name', currentVersion?.binaryVersionName);
|
|
163
|
-
scope.setTag('version_build_id', currentVersion?.buildId);
|
|
164
|
-
scope.setTag('channel_type', currentVersion?.channel);
|
|
165
|
-
scope.setTag('version_snapshot_id', currentVersion?.versionId);
|
|
166
|
-
}
|
|
167
|
-
;
|
|
168
|
-
this.changeDetector.markForCheck();
|
|
169
|
-
this.applicationRef.tick();
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
changeStatus(status) {
|
|
173
|
-
this.updateStatus = status.text;
|
|
174
|
-
this.percentage = status.percentage;
|
|
175
|
-
if (status.closeScreen) {
|
|
176
|
-
this.closeUpdateScreen();
|
|
177
|
-
}
|
|
178
|
-
if (status.error) {
|
|
179
|
-
// this.appStore.dispatch(
|
|
180
|
-
// sharedToasterActions.CREATE_ERROR({
|
|
181
|
-
// messageText: status.error,
|
|
182
|
-
// })
|
|
183
|
-
// );
|
|
184
|
-
}
|
|
185
|
-
this.changeDetector.markForCheck();
|
|
186
|
-
this.applicationRef.tick();
|
|
187
|
-
}
|
|
188
|
-
closeUpdateScreen() {
|
|
189
|
-
// Allowing some time to make a screenshot of version info
|
|
190
|
-
SpxStorage.clearSetting(SpxStorageKeyEnum.updateInProgress);
|
|
191
|
-
setTimeout(() => {
|
|
192
|
-
if (SpxStorage.getSetting(SpxStorageKeyEnum.afterSignIn) &&
|
|
193
|
-
this.spxIsSignedIn) {
|
|
194
|
-
this.router.navigate([SpxStorage.getSetting(SpxStorageKeyEnum.afterSignIn)]);
|
|
195
|
-
SpxStorage.clearSetting(SpxStorageKeyEnum.afterSignIn);
|
|
196
|
-
}
|
|
197
|
-
else {
|
|
198
|
-
this.router.navigate([this.spxHomeUrl]);
|
|
199
|
-
}
|
|
200
|
-
}, 0);
|
|
201
|
-
}
|
|
202
|
-
startLoaderSync() {
|
|
203
|
-
SpxStorage.setSetting(SpxStorageKeyEnum.updateInProgress, '1');
|
|
204
|
-
if (this.syncTruckInterval === null) {
|
|
205
|
-
this.syncTruckInterval = setInterval(() => {
|
|
206
|
-
this.delayedPercentage = this.percentage;
|
|
207
|
-
}, 200);
|
|
208
|
-
}
|
|
209
|
-
}
|
|
210
|
-
stopLoaderSync() {
|
|
211
|
-
if (this.syncTruckInterval !== null) {
|
|
212
|
-
clearInterval(this.syncTruckInterval);
|
|
213
|
-
this.syncTruckInterval = null;
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxAppUpdateComponent, deps: [{ token: i1.Deploy }, { token: i2.Router }, { token: i0.ChangeDetectorRef }, { token: i0.ApplicationRef }, { token: i3.TranslateService }, { token: i4.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
217
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SpxAppUpdateComponent, isStandalone: true, selector: "spx-app-update", inputs: { spxHomeUrl: "spxHomeUrl", spxIsSignedIn: "spxIsSignedIn", textCheckingForUpdates: "textCheckingForUpdates", textDownloadingUpdate: "textDownloadingUpdate", textErrorWhileUpdatingApp: "textErrorWhileUpdatingApp", textFinishedUpdating: "textFinishedUpdating", textNoUpdatesAvailable: "textNoUpdatesAvailable", textUnexpectedError: "textUnexpectedError", txtAppStoreVersion: "txtAppStoreVersion", txtChannel: "txtChannel", txtNextVersion: "txtNextVersion", txtUpdate: "txtUpdate", txtVersion: "txtVersion", spxAppId: "spxAppId" }, ngImport: i0, template: `<ion-header>
|
|
218
|
-
<ion-toolbar>
|
|
219
|
-
<ion-title>
|
|
220
|
-
{{ txtUpdate | translate | capitalize }}
|
|
221
|
-
</ion-title>
|
|
222
|
-
</ion-toolbar>
|
|
223
|
-
</ion-header>
|
|
224
|
-
|
|
225
|
-
<ion-content class="ion-content--upd" [fullscreen]="true">
|
|
226
|
-
<div class="ion-padding">
|
|
227
|
-
<spx-progress-bar [spxPercentage]="delayedPercentage" [spxTitle]="updateStatus | capitalize">
|
|
228
|
-
</spx-progress-bar>
|
|
229
|
-
<form [formGroup]="form" class="mt-3">
|
|
230
|
-
<div *ngIf="ctrlAppStoreVersion.value && ctrlAppStoreVersion.value.value" class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-3">
|
|
231
|
-
<spx-input [formControl]="ctrlAppStoreVersion" [spxLabel]="txtAppStoreVersion | translate | capitalize"
|
|
232
|
-
[spxReadonly]="true"></spx-input>
|
|
233
|
-
<spx-input [formControl]="ctrlConfiguredChannel" [spxLabel]="txtChannel | translate | capitalize"
|
|
234
|
-
[spxReadonly]="true"></spx-input>
|
|
235
|
-
<spx-input [formControl]="ctrlVersionNumber" [spxLabel]="txtVersion | translate | capitalize"
|
|
236
|
-
[spxReadonly]="true"></spx-input>
|
|
237
|
-
<spx-input *ngIf="ctrlNextVersionNumber.value && ctrlNextVersionNumber.value.value" [formControl]="ctrlNextVersionNumber" [spxLabel]="txtNextVersion | translate | capitalize"
|
|
238
|
-
[spxReadonly]="true"></spx-input>
|
|
239
|
-
</div>
|
|
240
|
-
</form>
|
|
241
|
-
</div>
|
|
242
|
-
</ion-content>`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: IonicModule }, { kind: "component", type: i5.IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: i5.IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: i5.IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: i5.IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "pipe", type: SpxCapitalizePipe, name: "capitalize" }, { kind: "component", type: SpxInputComponent, selector: "spx-input", inputs: ["spxLabel", "spxMax", "spxMin", "spxName", "spxReadonly", "spxAutofocus", "spxInputMode", "spxPattern", "spxRequired", "spxSelectMonth", "spxSelectDay", "spxShowEdit", "spxShowHelp", "spxShowLabel", "spxCompact", "spxShowClear", "spxShowSearch", "spxShowValidationMessages", "spxStep", "spxSuggestions", "spxType", "spxValidators", "value", "spxCapitalize", "spxFocused"], outputs: ["spxBlur", "spxClear", "spxChange", "spxFocus", "spxEdit", "spxHelp", "spxSearch"] }, { kind: "component", type: SpxProgressBarComponent, selector: "spx-progress-bar", inputs: ["spxPercentage", "spxTitle"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }] }); }
|
|
243
|
-
}
|
|
244
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxAppUpdateComponent, decorators: [{
|
|
245
|
-
type: Component,
|
|
246
|
-
args: [{
|
|
247
|
-
selector: 'spx-app-update',
|
|
248
|
-
standalone: true,
|
|
249
|
-
imports: [
|
|
250
|
-
FormsModule,
|
|
251
|
-
IonicModule,
|
|
252
|
-
NgClass,
|
|
253
|
-
NgIf,
|
|
254
|
-
ReactiveFormsModule,
|
|
255
|
-
SpxCapitalizePipe,
|
|
256
|
-
SpxInputComponent,
|
|
257
|
-
SpxProgressBarComponent,
|
|
258
|
-
TranslateModule,
|
|
259
|
-
],
|
|
260
|
-
template: `<ion-header>
|
|
261
|
-
<ion-toolbar>
|
|
262
|
-
<ion-title>
|
|
263
|
-
{{ txtUpdate | translate | capitalize }}
|
|
264
|
-
</ion-title>
|
|
265
|
-
</ion-toolbar>
|
|
266
|
-
</ion-header>
|
|
267
|
-
|
|
268
|
-
<ion-content class="ion-content--upd" [fullscreen]="true">
|
|
269
|
-
<div class="ion-padding">
|
|
270
|
-
<spx-progress-bar [spxPercentage]="delayedPercentage" [spxTitle]="updateStatus | capitalize">
|
|
271
|
-
</spx-progress-bar>
|
|
272
|
-
<form [formGroup]="form" class="mt-3">
|
|
273
|
-
<div *ngIf="ctrlAppStoreVersion.value && ctrlAppStoreVersion.value.value" class="grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-3">
|
|
274
|
-
<spx-input [formControl]="ctrlAppStoreVersion" [spxLabel]="txtAppStoreVersion | translate | capitalize"
|
|
275
|
-
[spxReadonly]="true"></spx-input>
|
|
276
|
-
<spx-input [formControl]="ctrlConfiguredChannel" [spxLabel]="txtChannel | translate | capitalize"
|
|
277
|
-
[spxReadonly]="true"></spx-input>
|
|
278
|
-
<spx-input [formControl]="ctrlVersionNumber" [spxLabel]="txtVersion | translate | capitalize"
|
|
279
|
-
[spxReadonly]="true"></spx-input>
|
|
280
|
-
<spx-input *ngIf="ctrlNextVersionNumber.value && ctrlNextVersionNumber.value.value" [formControl]="ctrlNextVersionNumber" [spxLabel]="txtNextVersion | translate | capitalize"
|
|
281
|
-
[spxReadonly]="true"></spx-input>
|
|
282
|
-
</div>
|
|
283
|
-
</form>
|
|
284
|
-
</div>
|
|
285
|
-
</ion-content>`,
|
|
286
|
-
}]
|
|
287
|
-
}], ctorParameters: () => [{ type: i1.Deploy }, { type: i2.Router }, { type: i0.ChangeDetectorRef }, { type: i0.ApplicationRef }, { type: i3.TranslateService }, { type: i4.FormBuilder }], propDecorators: { spxHomeUrl: [{
|
|
288
|
-
type: Input
|
|
289
|
-
}], spxIsSignedIn: [{
|
|
290
|
-
type: Input
|
|
291
|
-
}], textCheckingForUpdates: [{
|
|
292
|
-
type: Input
|
|
293
|
-
}], textDownloadingUpdate: [{
|
|
294
|
-
type: Input
|
|
295
|
-
}], textErrorWhileUpdatingApp: [{
|
|
296
|
-
type: Input
|
|
297
|
-
}], textFinishedUpdating: [{
|
|
298
|
-
type: Input
|
|
299
|
-
}], textNoUpdatesAvailable: [{
|
|
300
|
-
type: Input
|
|
301
|
-
}], textUnexpectedError: [{
|
|
302
|
-
type: Input
|
|
303
|
-
}], txtAppStoreVersion: [{
|
|
304
|
-
type: Input
|
|
305
|
-
}], txtChannel: [{
|
|
306
|
-
type: Input
|
|
307
|
-
}], txtNextVersion: [{
|
|
308
|
-
type: Input
|
|
309
|
-
}], txtUpdate: [{
|
|
310
|
-
type: Input
|
|
311
|
-
}], txtVersion: [{
|
|
312
|
-
type: Input
|
|
313
|
-
}], spxAppId: [{
|
|
314
|
-
type: Input
|
|
315
|
-
}] } });
|
|
316
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWFwcC11cGRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1hcHAtdXBkYXRlL3NweC1hcHAtdXBkYXRlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2hELE9BQU8sRUFBcUMsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDdkcsT0FBTyxFQUF1QyxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RyxPQUFPLEVBQUUsZUFBZSxFQUFvQixNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxVQUFVLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7OztBQUU3QyxNQUFNLHFCQUFxQixHQUFHLHVCQUF1QixDQUFDO0FBQ3RELE1BQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQUM7QUFDOUMsTUFBTSxxQkFBcUIsR0FBRyx1QkFBdUIsQ0FBQztBQUN0RCxNQUFNLG1CQUFtQixHQUFHLHFCQUFxQixDQUFDO0FBMkNsRCxNQUFNLE9BQU8scUJBQXFCO0lBdUJoQyxZQUNtQixNQUFj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QUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0NsYXNzLCBOZ0lmIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uUmVmLCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBUcmFuc2xhdGVNb2R1bGUsIFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFNweENhcGl0YWxpemVQaXBlIH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtY2FwaXRhbGl6ZSc7XG5pbXBvcnQgeyBTcHhJbnB1dENvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWlucHV0cyc7XG5pbXBvcnQgeyBTcHhQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LXByb2dyZXNzLWJhcic7XG5pbXBvcnQgeyBTcHhTdG9yYWdlLCBTcHhTdG9yYWdlS2V5RW51bSB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LXN0b3JhZ2UnO1xuaW1wb3J0IHsgRGV2aWNlIH0gZnJvbSAnQGNhcGFjaXRvci9kZXZpY2UnO1xuaW1wb3J0IHsgRGVwbG95IH0gZnJvbSAnY29yZG92YS1wbHVnaW4taW9uaWMvZGlzdC9uZ3gnO1xuaW1wb3J0IHsgZ2V0Q3VycmVudFNjb3BlIH0gZnJvbSAnQHNlbnRyeS9hbmd1bGFyJztcbmltcG9ydCB7IElvbmljTW9kdWxlIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuXG5jb25zdCBjdHJsTmV4dFZlcnNpb25OdW1iZXIgPSAnY3RybE5leHRWZXJzaW9uTnVtYmVyJztcbmNvbnN0IGN0cmxWZXJzaW9uTnVtYmVyID0gJ2N0cmxWZXJzaW9uTnVtYmVyJztcbmNvbnN0IGN0cmxDb25maWd1cmVkQ2hhbm5lbCA9ICdjdHJsQ29uZmlndXJlZENoYW5uZWwnO1xuY29uc3QgY3RybEFwcFN0b3JlVmVyc2lvbiA9ICdjdHJsQXBwU3RvcmVWZXJzaW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B4LWFwcC11cGRhdGUnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgSW9uaWNNb2R1bGUsXG4gICAgTmdDbGFzcyxcbiAgICBOZ0lmLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgU3B4Q2FwaXRhbGl6ZVBpcGUsXG4gICAgU3B4SW5wdXRDb21wb25lbnQsXG4gICAgU3B4UHJvZ3Jlc3NCYXJDb21wb25lbnQsXG4gICAgVHJhbnNsYXRlTW9kdWxlLFxuICBdLFxuICB0ZW1wbGF0ZTogYDxpb24taGVhZGVyPlxuICA8aW9uLXRvb2xiYXI+XG4gICAgPGlvbi10aXRsZT5cbiAgICAgIHt7IHR4dFVwZGF0ZSB8IHRyYW5zbGF0ZSB8IGNhcGl0YWxpemUgfX1cbiAgICA8L2lvbi10aXRsZT5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWhlYWRlcj5cblxuPGlvbi1jb250ZW50IGNsYXNzPVwiaW9uLWNvbnRlbnQtLXVwZFwiIFtmdWxsc2NyZWVuXT1cInRydWVcIj5cbiAgPGRpdiBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XG4gICAgPHNweC1wcm9ncmVzcy1iYXIgW3NweFBlcmNlbnRhZ2VdPVwiZGVsYXllZFBlcmNlbnRhZ2VcIiBbc3B4VGl0bGVdPVwidXBkYXRlU3RhdHVzIHwgY2FwaXRhbGl6ZVwiPlxuICAgIDwvc3B4LXByb2dyZXNzLWJhcj5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cIm10LTNcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCJjdHJsQXBwU3RvcmVWZXJzaW9uLnZhbHVlICYmIGN0cmxBcHBTdG9yZVZlcnNpb24udmFsdWUudmFsdWVcIiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEgbWQ6Z3JpZC1jb2xzLTIgeGw6Z3JpZC1jb2xzLTMgZ2FwLTNcIj5cbiAgICAgICAgPHNweC1pbnB1dCBbZm9ybUNvbnRyb2xdPVwiY3RybEFwcFN0b3JlVmVyc2lvblwiIFtzcHhMYWJlbF09XCJ0eHRBcHBTdG9yZVZlcnNpb24gfCB0cmFuc2xhdGUgfCBjYXBpdGFsaXplXCJcbiAgICAgICAgICBbc3B4UmVhZG9ubHldPVwidHJ1ZVwiPjwvc3B4LWlucHV0PlxuICAgICAgICA8c3B4LWlucHV0IFtmb3JtQ29udHJvbF09XCJjdHJsQ29uZmlndXJlZENoYW5uZWxcIiBbc3B4TGFiZWxdPVwidHh0Q2hhbm5lbCB8IHRyYW5zbGF0ZSB8IGNhcGl0YWxpemVcIlxuICAgICAgICAgIFtzcHhSZWFkb25seV09XCJ0cnVlXCI+PC9zcHgtaW5wdXQ+XG4gICAgICAgIDxzcHgtaW5wdXQgW2Zvcm1Db250cm9sXT1cImN0cmxWZXJzaW9uTnVtYmVyXCIgW3NweExhYmVsXT1cInR4dFZlcnNpb24gfCB0cmFuc2xhdGUgfCBjYXBpdGFsaXplXCJcbiAgICAgICAgICBbc3B4UmVhZG9ubHldPVwidHJ1ZVwiPjwvc3B4LWlucHV0PlxuICAgICAgICA8c3B4LWlucHV0ICpuZ0lmPVwiY3RybE5leHRWZXJzaW9uTnVtYmVyLnZhbHVlICYmIGN0cmxOZXh0VmVyc2lvbk51bWJlci52YWx1ZS52YWx1ZVwiIFtmb3JtQ29udHJvbF09XCJjdHJsTmV4dFZlcnNpb25OdW1iZXJcIiBbc3B4TGFiZWxdPVwidHh0TmV4dFZlcnNpb24gfCB0cmFuc2xhdGUgfCBjYXBpdGFsaXplXCJcbiAgICAgICAgICBbc3B4UmVhZG9ubHldPVwidHJ1ZVwiPjwvc3B4LWlucHV0PlxuICAgICAgPC9kaXY+XG4gICAgPC9mb3JtPlxuICA8L2Rpdj5cbjwvaW9uLWNvbnRlbnQ+YCxcbn0pXG5leHBvcnQgY2xhc3MgU3B4QXBwVXBkYXRlQ29tcG9uZW50IHtcbiAgQElucHV0KCkgc3B4SG9tZVVybCE6IHN0cmluZztcbiAgQElucHV0KCkgc3B4SXNTaWduZWRJbiE6IGJvb2xlYW47XG4gIEBJbnB1dCgpIHRleHRDaGVja2luZ0ZvclVwZGF0ZXMhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRleHREb3dubG9hZGluZ1VwZGF0ZSE6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dEVycm9yV2hpbGVVcGRhdGluZ0FwcCE6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dEZpbmlzaGVkVXBkYXRpbmchOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRleHROb1VwZGF0ZXNBdmFpbGFibGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRleHRVbmV4cGVjdGVkRXJyb3IhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHR4dEFwcFN0b3JlVmVyc2lvbiE6IHN0cmluZztcbiAgQElucHV0KCkgdHh0Q2hhbm5lbCE6IHN0cmluZztcbiAgQElucHV0KCkgdHh0TmV4dFZlcnNpb24hOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHR4dFVwZGF0ZSE6IHN0cmluZztcbiAgQElucHV0KCkgdHh0VmVyc2lvbiE6IHN0cmluZztcbiAgQElucHV0KCkgc3B4QXBwSWQhOiBzdHJpbmc7XG5cbiAgZm9ybTogRm9ybUdyb3VwO1xuXG4gIGRlbGF5ZWRQZXJjZW50YWdlOiBudW1iZXIgPSAwO1xuICBwZXJjZW50YWdlOiBudW1iZXIgPSAwO1xuICBzeW5jVHJ1Y2tJbnRlcnZhbDogYW55IHwgbnVsbCA9IG51bGw7XG4gIHVwZGF0ZVN0YXR1czogc3RyaW5nID0gdGhpcy50ZXh0Q2hlY2tpbmdGb3JVcGRhdGVzO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgZGVwbG95OiBEZXBsb3ksXG4gICAgcHJpdmF0ZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFwcGxpY2F0aW9uUmVmOiBBcHBsaWNhdGlvblJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIsXG4gICkge1xuICAgIHRoaXMuZm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgW2N0cmxOZXh0VmVyc2lvbk51bWJlcl06IFtudWxsLCBbXV0sXG4gICAgICBbY3RybFZlcnNpb25OdW1iZXJdOiBbbnVsbCwgW11dLFxuICAgICAgW2N0cmxDb25maWd1cmVkQ2hhbm5lbF06IFtudWxsLCBbXV0sXG4gICAgICBbY3RybEFwcFN0b3JlVmVyc2lvbl06IFtudWxsLCBbXV0sXG4gICAgfSk7XG4gIH1cblxuICBnZXQgY3RybFZlcnNpb25OdW1iZXIoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtLmdldChjdHJsVmVyc2lvbk51bWJlcikgYXMgRm9ybUNvbnRyb2w7IH1cbiAgZ2V0IGN0cmxOZXh0VmVyc2lvbk51bWJlcigpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm0uZ2V0KGN0cmxOZXh0VmVyc2lvbk51bWJlcikgYXMgRm9ybUNvbnRyb2w7IH1cbiAgZ2V0IGN0cmxDb25maWd1cmVkQ2hhbm5lbCgpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm0uZ2V0KGN0cmxDb25maWd1cmVkQ2hhbm5lbCkgYXMgRm9ybUNvbnRyb2w7IH1cbiAgZ2V0IGN0cmxBcHBTdG9yZVZlcnNpb24oKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtLmdldChjdHJsQXBwU3RvcmVWZXJzaW9uKSBhcyBGb3JtQ29udHJvbDsgfVxuXG4gIGluaXQoKSB7XG4gICAgdGhpcy5kZWxheWVkUGVyY2VudGFnZSA9IDA7XG4gICAgdGhpcy5wZXJjZW50YWdlID0gMDtcbiAgICB0aGlzLnBlcmZvcm1BdXRvbWF0aWNVcGRhdGUoKS50aGVuKCgpID0+IHsgfSk7XG4gICAgdGhpcy5zdGFydExvYWRlclN5bmMoKTtcbiAgICB0aGlzLmNoYW5nZVN0YXR1cyh7XG4gICAgICBwZXJjZW50YWdlOiAwLFxuICAgICAgdGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodGhpcy50ZXh0Q2hlY2tpbmdGb3JVcGRhdGVzKSxcbiAgICB9KTtcbiAgfVxuXG4gIGRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdG9wTG9hZGVyU3luYygpO1xuICB9XG5cbiAgYXN5bmMgcGVyZm9ybUF1dG9tYXRpY1VwZGF0ZSgpIHtcbiAgICBjb25zdCBkZXZpY2VJbmZvID0gYXdhaXQgRGV2aWNlLmdldEluZm8oKTtcblxuICAgIGlmIChkZXZpY2VJbmZvPy5wbGF0Zm9ybSA9PT0gJ3dlYicpIHtcbiAgICAgIC8vIExvY2FsPyBTa2lwIHRoZSB1cGRhdGUgcGFnZS5cbiAgICAgIHRoaXMuY2xvc2VVcGRhdGVTY3JlZW4oKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMudXBkYXRlSW5mbygpO1xuXG4gICAgICAvLyBTdGFydCB1cGdyYWRlXG4gICAgICBjb25zdCBjdXJyZW50VmVyc2lvbiA9IGF3YWl0IHRoaXMuZGVwbG95LmdldEN1cnJlbnRWZXJzaW9uKCk7XG4gICAgICBpZiAoY3VycmVudFZlcnNpb24/LmJpbmFyeVZlcnNpb25OYW1lKSB7XG4gICAgICAgIGNvbnN0IGJpbmFyeUdyb3VwID0gY3VycmVudFZlcnNpb24uYmluYXJ5VmVyc2lvbk5hbWUuc3Vic3RyaW5nKDAsIDMpOyAvLyBlLmcuIFwiMS40XCJcbiAgICAgICAgY29uc3QgY2hhbm5lbEdyb3VwID0gY3VycmVudFZlcnNpb24uY2hhbm5lbC5zcGxpdCgnLScpWzFdLnN1YnN0cmluZygwLCAzKTsgLy8gZS5nLiBcIjEuNFwiXG4gICAgICAgIGNvbnN0IGNoYW5uZWxUeXBlID0gY3VycmVudFZlcnNpb24uY2hhbm5lbC5zcGxpdCgnLScpWzBdO1xuXG4gICAgICAgIGlmIChiaW5hcnlHcm91cCAhPSBjaGFubmVsR3JvdXApIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLmRlcGxveS5jb25maWd1cmUoe1xuICAgICAgICAgICAgYXBwSWQ6IHRoaXMuc3B4QXBwSWQsXG4gICAgICAgICAgICBjaGFubmVsOiBgJHtjaGFubmVsVHlwZX0tJHtiaW5hcnlHcm91cH0ueGBcbiAgICAgICAgICB9KS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3luYygpLnRoZW4oKCkgPT4geyB9KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnN5bmMoKS50aGVuKCgpID0+IHsgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc3luYygpLnRoZW4oKCkgPT4geyB9KTtcbiAgICAgIH1cbiAgICAgIC8vIEVuZCB1cGdyYWRlXG4gICAgfSBjYXRjaCAoZXJyb3I6IGFueSkge1xuICAgICAgdGhpcy5jaGFuZ2VTdGF0dXMoe1xuICAgICAgICBjbG9zZVNjcmVlbjogdHJ1ZSxcbiAgICAgICAgZXJyb3IsXG4gICAgICAgIHBlcmNlbnRhZ2U6IDEwMCxcbiAgICAgICAgdGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodGhpcy50ZXh0VW5leHBlY3RlZEVycm9yKVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBzeW5jKCkge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLnVwZGF0ZUluZm8oKTtcblxuICAgICAgY29uc3QgdXBkYXRlQXZhaWxhYmxlSW5mbyA9IGF3YWl0IHRoaXMuZGVwbG95LmNoZWNrRm9yVXBkYXRlKCk7XG4gICAgICBpZiAoIXVwZGF0ZUF2YWlsYWJsZUluZm8uYXZhaWxhYmxlKSB7XG4gICAgICAgIC8vIE5vIHVwZGF0ZSBhdmFpbGFibGVcbiAgICAgICAgdGhpcy5jaGFuZ2VTdGF0dXMoe1xuICAgICAgICAgIGNsb3NlU2NyZWVuOiB0cnVlLFxuICAgICAgICAgIHBlcmNlbnRhZ2U6IDAsXG4gICAgICAgICAgdGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodGhpcy50ZXh0Tm9VcGRhdGVzQXZhaWxhYmxlKSxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBEb3dubG9hZCB1cGRhdGVcbiAgICAgICAgYXdhaXQgdGhpcy5kZXBsb3kuc3luYyh7IHVwZGF0ZU1ldGhvZDogJ2F1dG8nIH0sIChwZXJjZW50YWdlKSA9PiB7XG4gICAgICAgICAgdGhpcy5jaGFuZ2VTdGF0dXMoe1xuICAgICAgICAgICAgcGVyY2VudGFnZTogcGVyY2VudGFnZSA/PyAwLFxuICAgICAgICAgICAgdGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodGhpcy50ZXh0RG93bmxvYWRpbmdVcGRhdGUsIHsgcGVyY2VudGFnZSwgdmVyc2lvbjogdXBkYXRlQXZhaWxhYmxlSW5mby5idWlsZCB9KSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgdGhpcy5jaGFuZ2VTdGF0dXMoe1xuICAgICAgICAgICAgY2xvc2VTY3JlZW46IHRydWUsXG4gICAgICAgICAgICBlcnJvcixcbiAgICAgICAgICAgIHBlcmNlbnRhZ2U6IDEwMCxcbiAgICAgICAgICAgIHRleHQ6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHRoaXMudGV4dEVycm9yV2hpbGVVcGRhdGluZ0FwcCksXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuY2hhbmdlU3RhdHVzKHtcbiAgICAgICAgICBjbG9zZVNjcmVlbjogdHJ1ZSxcbiAgICAgICAgICBwZXJjZW50YWdlOiAxMDAsXG4gICAgICAgICAgdGV4dDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodGhpcy50ZXh0RmluaXNoZWRVcGRhdGluZywgeyB2ZXJzaW9uOiB1cGRhdGVBdmFpbGFibGVJbmZvLmJ1aWxkIH0pXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yOiBhbnkpIHtcbiAgICAgIC8vIENhdGNoIHVuZXhwZWN0ZWQgcGx1Zy1pbiBlcnJvcnNcbiAgICAgIHRoaXMuY2hhbmdlU3RhdHVzKHtcbiAgICAgICAgY2xvc2VTY3JlZW46IHRydWUsXG4gICAgICAgIGVycm9yLFxuICAgICAgICBwZXJjZW50YWdlOiAxMDAsXG4gICAgICAgIHRleHQ6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KHRoaXMudGV4dFVuZXhwZWN0ZWRFcnJvcilcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgdXBkYXRlSW5mbygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjdXJyZW50VmVyc2lvbiA9IGF3YWl0IHRoaXMuZGVwbG95LmdldEN1cnJlbnRWZXJzaW9uKCk7XG4gICAgY29uc3QgY29uZmlndXJhdGlvbiA9IGF3YWl0IHRoaXMuZGVwbG95LmdldENvbmZpZ3VyYXRpb24oKTtcbiAgICBjb25zdCB1cGRhdGVBdmFpbGFibGVJbmZvID0gYXdhaXQgdGhpcy5kZXBsb3kuY2hlY2tGb3JVcGRhdGUoKTtcblxuICAgIGlmIChjdXJyZW50VmVyc2lvbikge1xuICAgICAgdGhpcy5jdHJsVmVyc2lvbk51bWJlci5zZXRWYWx1ZSh7XG4gICAgICAgIHZhbHVlOiBjb25maWd1cmF0aW9uPy5jdXJyZW50QnVpbGRJZCxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5jdHJsTmV4dFZlcnNpb25OdW1iZXIuc2V0VmFsdWUoe1xuICAgICAgICB2YWx1ZTogdXBkYXRlQXZhaWxhYmxlSW5mbz8uYnVpbGRcbiAgICAgIH0pO1xuICAgICAgdGhpcy5jdHJsQ29uZmlndXJlZENoYW5uZWwuc2V0VmFsdWUoe1xuICAgICAgICB2YWx1ZTogY29uZmlndXJhdGlvbiA/IGNvbmZpZ3VyYXRpb24uY2hhbm5lbCA6IG51bGxcbiAgICAgIH0pO1xuICAgICAgdGhpcy5jdHJsQXBwU3RvcmVWZXJzaW9uLnNldFZhbHVlKHtcbiAgICAgICAgdmFsdWU6IGNvbmZpZ3VyYXRpb24gPyBjb25maWd1cmF0aW9uLmJpbmFyeVZlcnNpb25OYW1lIDogbnVsbFxuICAgICAgfSk7XG5cbiAgICAgIHtcbiAgICAgICAgY29uc3Qgc2NvcGUgPSBnZXRDdXJyZW50U2NvcGUoKTtcbiAgICAgICAgc2NvcGUuc2V0VGFnKCd2ZXJzaW9uX2JpbmFyeV9jb2RlJywgY3VycmVudFZlcnNpb24/LmJpbmFyeVZlcnNpb25Db2RlKTtcbiAgICAgICAgc2NvcGUuc2V0VGFnKCd2ZXJzaW9uX2JpbmFyeV9uYW1lJywgY3VycmVudFZlcnNpb24/LmJpbmFyeVZlcnNpb25OYW1lKTtcbiAgICAgICAgc2NvcGUuc2V0VGFnKCd2ZXJzaW9uX2J1aWxkX2lkJywgY3VycmVudFZlcnNpb24/LmJ1aWxkSWQpO1xuICAgICAgICBzY29wZS5zZXRUYWcoJ2NoYW5uZWxfdHlwZScsIGN1cnJlbnRWZXJzaW9uPy5jaGFubmVsKTtcbiAgICAgICAgc2NvcGUuc2V0VGFnKCd2ZXJzaW9uX3NuYXBzaG90X2lkJywgY3VycmVudFZlcnNpb24/LnZlcnNpb25JZCk7XG4gICAgICB9O1xuXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICAgICAgdGhpcy5hcHBsaWNhdGlvblJlZi50aWNrKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBjaGFuZ2VTdGF0dXMoc3RhdHVzOiB7XG4gICAgZXJyb3I/OiBzdHJpbmc7XG4gICAgdGV4dDogc3RyaW5nO1xuICAgIGNsb3NlU2NyZWVuPzogYm9vbGVhbjtcbiAgICBwZXJjZW50YWdlOiBudW1iZXI7XG4gIH0pIHtcbiAgICB0aGlzLnVwZGF0ZVN0YXR1cyA9IHN0YXR1cy50ZXh0O1xuICAgIHRoaXMucGVyY2VudGFnZSA9IHN0YXR1cy5wZXJjZW50YWdlO1xuICAgIGlmIChzdGF0dXMuY2xvc2VTY3JlZW4pIHtcbiAgICAgIHRoaXMuY2xvc2VVcGRhdGVTY3JlZW4oKTtcbiAgICB9XG4gICAgaWYgKHN0YXR1cy5lcnJvcikge1xuICAgICAgLy8gdGhpcy5hcHBTdG9yZS5kaXNwYXRjaChcbiAgICAgIC8vICAgc2hhcmVkVG9hc3RlckFjdGlvbnMuQ1JFQVRFX0VSUk9SKHtcbiAgICAgIC8vICAgICBtZXNzYWdlVGV4dDogc3RhdHVzLmVycm9yLFxuICAgICAgLy8gICB9KVxuICAgICAgLy8gKTtcbiAgICB9XG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICB0aGlzLmFwcGxpY2F0aW9uUmVmLnRpY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgY2xvc2VVcGRhdGVTY3JlZW4oKSB7XG4gICAgLy8gQWxsb3dpbmcgc29tZSB0aW1lIHRvIG1ha2UgYSBzY3JlZW5zaG90IG9mIHZlcnNpb24gaW5mb1xuICAgIFNweFN0b3JhZ2UuY2xlYXJTZXR0aW5nPGFueT4oU3B4U3RvcmFnZUtleUVudW0udXBkYXRlSW5Qcm9ncmVzcyk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIFNweFN0b3JhZ2UuZ2V0U2V0dGluZzxhbnk+KFNweFN0b3JhZ2VLZXlFbnVtLmFmdGVyU2lnbkluKSAmJlxuICAgICAgICB0aGlzLnNweElzU2lnbmVkSW5cbiAgICAgICkge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbU3B4U3RvcmFnZS5nZXRTZXR0aW5nPGFueT4oU3B4U3RvcmFnZUtleUVudW0uYWZ0ZXJTaWduSW4pXSk7XG4gICAgICAgIFNweFN0b3JhZ2UuY2xlYXJTZXR0aW5nPGFueT4oU3B4U3RvcmFnZUtleUVudW0uYWZ0ZXJTaWduSW4pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5zcHhIb21lVXJsXSk7XG4gICAgICB9XG4gICAgfSwgMCk7XG4gIH1cblxuICBwcml2YXRlIHN0YXJ0TG9hZGVyU3luYygpIHtcbiAgICBTcHhTdG9yYWdlLnNldFNldHRpbmc8YW55PihTcHhTdG9yYWdlS2V5RW51bS51cGRhdGVJblByb2dyZXNzLCAnMScpO1xuICAgIGlmICh0aGlzLnN5bmNUcnVja0ludGVydmFsID09PSBudWxsKSB7XG4gICAgICB0aGlzLnN5bmNUcnVja0ludGVydmFsID0gc2V0SW50ZXJ2YWwoKCkgPT4ge1xuICAgICAgICB0aGlzLmRlbGF5ZWRQZXJjZW50YWdlID0gdGhpcy5wZXJjZW50YWdlO1xuICAgICAgfSwgMjAwKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHN0b3BMb2FkZXJTeW5jKCkge1xuICAgIGlmICh0aGlzLnN5bmNUcnVja0ludGVydmFsICE9PSBudWxsKSB7XG4gICAgICBjbGVhckludGVydmFsKHRoaXMuc3luY1RydWNrSW50ZXJ2YWwpO1xuICAgICAgdGhpcy5zeW5jVHJ1Y2tJbnRlcnZhbCA9IG51bGw7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './spx-button.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtYnV0dG9uL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3B4LWJ1dHRvbi5jb21wb25lbnQnO1xuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mdHBhay1jb21wb25lbnRzLXNweC1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWJ1dHRvbi9zb2Z0cGFrLWNvbXBvbmVudHMtc3B4LWJ1dHRvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|