@softpak/components 18.6.13 → 18.6.15
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 +3 -3
- 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 +3 -3
- package/fesm2022/softpak-components-spx-app-expiry.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-app-update.mjs +4 -4
- package/fesm2022/softpak-components-spx-app-update.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-button.mjs +3 -3
- 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 +12 -12
- package/fesm2022/softpak-components-spx-card.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-change-details.mjs +3 -3
- package/fesm2022/softpak-components-spx-change-details.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-channel-selection.mjs +6 -6
- package/fesm2022/softpak-components-spx-channel-selection.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-check-digit.mjs +3 -3
- package/fesm2022/softpak-components-spx-check-digit.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-form-section.mjs +3 -3
- package/fesm2022/softpak-components-spx-form-section.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-form-view.mjs +7 -7
- 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 +53 -49
- package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-navigation.mjs +9 -9
- package/fesm2022/softpak-components-spx-navigation.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-number-check.mjs +3 -3
- package/fesm2022/softpak-components-spx-number-check.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-pagination.mjs +3 -3
- package/fesm2022/softpak-components-spx-pagination.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-patch.mjs +3 -3
- 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 +3 -3
- package/fesm2022/softpak-components-spx-spinner.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-stock-info.mjs +3 -3
- 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 +4 -4
- package/fesm2022/softpak-components-spx-toaster.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-update.mjs +7 -7
- package/fesm2022/softpak-components-spx-update.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-validation.mjs +3 -3
- package/fesm2022/softpak-components-spx-validation.mjs.map +1 -1
- package/package.json +32 -86
- package/spx-alert/spx-alert.component.d.ts +4 -4
- package/spx-helpers/input-alert.interface.d.ts +5 -0
- package/spx-helpers/public-api.d.ts +1 -0
- package/spx-inputs/spx-input-box.component.d.ts +7 -6
- package/spx-inputs/spx-input-time-modal.component.d.ts +1 -1
- package/spx-inputs/spx-input.component.d.ts +3 -3
- package/tailwind.css +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 -203
- 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 -107
- 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 -320
- 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 -117
- package/esm2022/spx-card/spx-card-line.component.mjs +0 -124
- package/esm2022/spx-card/spx-card.component.mjs +0 -96
- 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 -197
- 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 -132
- 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 -91
- 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 -42
- 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 -117
- 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 -297
- 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 -10
- 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 -93
- package/esm2022/spx-inputs/spx-input-box.component.mjs +0 -299
- package/esm2022/spx-inputs/spx-input-date/spx-input-date.component.mjs +0 -194
- package/esm2022/spx-inputs/spx-input-float.component.mjs +0 -157
- 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 -160
- package/esm2022/spx-inputs/spx-input-time-modal.component.mjs +0 -129
- package/esm2022/spx-inputs/spx-input-time.component.mjs +0 -163
- package/esm2022/spx-inputs/spx-input-type.enum.mjs +0 -17
- package/esm2022/spx-inputs/spx-input.component.mjs +0 -465
- 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 -71
- 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 -47
- 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 -265
- 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 -54
- 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 -160
- 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 -324
- 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 -61
- 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 -168
- 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 -86
- 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 -65
- package/esm2022/spx-validation/year-and-month.validator.mjs +0 -42
|
@@ -1,197 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
3
|
-
import { spxValidatorRequired, SpxValidateControlComponent } from '@softpak/components/spx-validation';
|
|
4
|
-
import { SpxInputComponent, SpxInputTypeEnum } from '@softpak/components/spx-inputs';
|
|
5
|
-
import { SpxFormButtonTypeEnum, SpxFormViewComponent } from '@softpak/components/spx-form-view';
|
|
6
|
-
import { SpxButtonComponent } from '@softpak/components/spx-button';
|
|
7
|
-
import { SpxSeverityEnum, valuePairToValue } from '@softpak/components/spx-helpers';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/forms";
|
|
10
|
-
export const sectionChangeDetails = 'changeDetails';
|
|
11
|
-
export const ctrlContainerNumber = 'containerNumber';
|
|
12
|
-
export const ctrlContainerSeqNr = 'containerSeqNr';
|
|
13
|
-
export const ctrlContainerType = 'containerType';
|
|
14
|
-
export const ctrlCustomer = 'customer';
|
|
15
|
-
export const ctrlTonsTested = 'tonsTested';
|
|
16
|
-
export const ctrlLicensePlate = 'licensePlate';
|
|
17
|
-
export const ctrlCategory = 'category';
|
|
18
|
-
export const ctrlUseCategories = 'useCategories';
|
|
19
|
-
export class SpxChangeDetailsComponent {
|
|
20
|
-
get ctrlCategory() { return this.formGroup.get(ctrlCategory); }
|
|
21
|
-
get ctrlCustomer() { return this.formGroup.get(ctrlCustomer); }
|
|
22
|
-
get ctrlContainerType() { return this.formGroup.get(ctrlContainerType); }
|
|
23
|
-
get ctrlLicensePlate() { return this.formGroup.get(ctrlLicensePlate); }
|
|
24
|
-
get ctrlTonsTested() { return this.formGroup?.get(ctrlTonsTested); }
|
|
25
|
-
get ctrlUseCategories() { return this.formGroup?.get(ctrlUseCategories); }
|
|
26
|
-
constructor(formBuilder) {
|
|
27
|
-
this.formBuilder = formBuilder;
|
|
28
|
-
this.suggestions = {};
|
|
29
|
-
this.spxBlurCategory = new EventEmitter();
|
|
30
|
-
this.spxBlurContainerType = new EventEmitter();
|
|
31
|
-
this.spxSearchCategory = new EventEmitter();
|
|
32
|
-
this.spxSearchContainerType = new EventEmitter();
|
|
33
|
-
this.spxSearchTonsTested = new EventEmitter();
|
|
34
|
-
this.submit = new EventEmitter();
|
|
35
|
-
this.form = {
|
|
36
|
-
buttons: [
|
|
37
|
-
{
|
|
38
|
-
severity: SpxSeverityEnum.success,
|
|
39
|
-
type: SpxFormButtonTypeEnum.submit,
|
|
40
|
-
label: () => this.textSave,
|
|
41
|
-
}
|
|
42
|
-
],
|
|
43
|
-
sections: [
|
|
44
|
-
{
|
|
45
|
-
key: sectionChangeDetails,
|
|
46
|
-
showTitle: () => false,
|
|
47
|
-
fields: [
|
|
48
|
-
{
|
|
49
|
-
key: ctrlContainerSeqNr,
|
|
50
|
-
type: () => SpxInputTypeEnum.hidden,
|
|
51
|
-
validators: () => [spxValidatorRequired()],
|
|
52
|
-
},
|
|
53
|
-
{
|
|
54
|
-
key: ctrlContainerNumber,
|
|
55
|
-
type: () => SpxInputTypeEnum.text,
|
|
56
|
-
label: () => this.textContainerNumber,
|
|
57
|
-
readonly: () => true,
|
|
58
|
-
validators: () => [spxValidatorRequired()],
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
key: ctrlCustomer,
|
|
62
|
-
type: () => SpxInputTypeEnum.text,
|
|
63
|
-
capitalize: () => true,
|
|
64
|
-
readonly: () => true,
|
|
65
|
-
label: () => this.textCustomer,
|
|
66
|
-
validators: () => [spxValidatorRequired()],
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
key: ctrlContainerType,
|
|
70
|
-
type: () => SpxInputTypeEnum.autocomplete,
|
|
71
|
-
label: () => this.textContainerType,
|
|
72
|
-
capitalize: () => true,
|
|
73
|
-
validators: () => [spxValidatorRequired()],
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
key: ctrlTonsTested,
|
|
77
|
-
type: () => SpxInputTypeEnum.radio,
|
|
78
|
-
label: () => this.textTonsTested,
|
|
79
|
-
show: () => this.suggestions?.[ctrlTonsTested] && this.suggestions?.[ctrlTonsTested].length && this.suggestions?.[ctrlTonsTested].length > 0,
|
|
80
|
-
validators: () => this.suggestions?.[ctrlTonsTested] && this.suggestions?.[ctrlTonsTested].length && this.suggestions?.[ctrlTonsTested].length > 0 ? [spxValidatorRequired()] : [],
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
key: ctrlLicensePlate,
|
|
84
|
-
type: () => SpxInputTypeEnum.text,
|
|
85
|
-
label: () => this.textLicensePlate,
|
|
86
|
-
capitalize: () => true,
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
key: ctrlUseCategories,
|
|
90
|
-
type: () => SpxInputTypeEnum.hidden,
|
|
91
|
-
capitalize: () => true,
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
key: ctrlCategory,
|
|
95
|
-
type: () => SpxInputTypeEnum.autocomplete,
|
|
96
|
-
label: () => this.textCategory,
|
|
97
|
-
capitalize: () => true,
|
|
98
|
-
show: () => valuePairToValue(this.ctrlUseCategories?.value),
|
|
99
|
-
validators: () => valuePairToValue(this.ctrlUseCategories?.value) ? [spxValidatorRequired()] : [],
|
|
100
|
-
}
|
|
101
|
-
]
|
|
102
|
-
}
|
|
103
|
-
]
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
createForm() {
|
|
107
|
-
return SpxFormViewComponent.createForm(this.formBuilder, this.form.sections);
|
|
108
|
-
}
|
|
109
|
-
ngOnInit() {
|
|
110
|
-
this.listenToContainerType();
|
|
111
|
-
}
|
|
112
|
-
ngOnDestroy() {
|
|
113
|
-
if (this.subContainerType) {
|
|
114
|
-
this.subContainerType.unsubscribe();
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
getRawValidators(formControl) {
|
|
118
|
-
return formControl._rawValidators;
|
|
119
|
-
}
|
|
120
|
-
onBlur(data) {
|
|
121
|
-
if (data.field.key === ctrlCategory) {
|
|
122
|
-
this.spxBlurCategory.emit(data.valuePair);
|
|
123
|
-
}
|
|
124
|
-
if (data.field.key === ctrlContainerType) {
|
|
125
|
-
this.spxBlurContainerType.emit(data.valuePair);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
onSearch(data) {
|
|
129
|
-
if (data.field.key === ctrlCategory) {
|
|
130
|
-
this.spxSearchCategory.emit(data.valuePair);
|
|
131
|
-
}
|
|
132
|
-
if (data.field.key === ctrlContainerType) {
|
|
133
|
-
this.spxSearchContainerType.emit(data.valuePair);
|
|
134
|
-
}
|
|
135
|
-
if (data.field.key === ctrlTonsTested) {
|
|
136
|
-
this.spxSearchTonsTested.emit(data.valuePair);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
onSubmit() {
|
|
140
|
-
this.submit.emit({
|
|
141
|
-
category: valuePairToValue(this.ctrlUseCategories.value) ? this.ctrlCategory.value : null,
|
|
142
|
-
containerType: this.ctrlContainerType.value,
|
|
143
|
-
licensePlate: this.ctrlLicensePlate.value,
|
|
144
|
-
tonsTested: this.ctrlTonsTested.value,
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
listenToContainerType() {
|
|
148
|
-
this.subContainerType = this.ctrlContainerType.valueChanges.subscribe(valuePair => {
|
|
149
|
-
this.ctrlTonsTested.setValue({ value: null });
|
|
150
|
-
this.spxSearchTonsTested.emit(valuePair);
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxChangeDetailsComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
154
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SpxChangeDetailsComponent, isStandalone: true, selector: "spx-change-details", inputs: { formGroup: "formGroup", suggestions: "suggestions", textCategory: "textCategory", textContainerNumber: "textContainerNumber", textContainerType: "textContainerType", textCustomer: "textCustomer", textLicensePlate: "textLicensePlate", textSave: "textSave", textTonsTested: "textTonsTested" }, outputs: { spxBlurCategory: "spxBlurCategory", spxBlurContainerType: "spxBlurContainerType", spxSearchCategory: "spxSearchCategory", spxSearchContainerType: "spxSearchContainerType", spxSearchTonsTested: "spxSearchTonsTested", submit: "submit" }, ngImport: i0, template: "<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\r\n <spx-form-view\r\n [spxFormGroup]=\"formGroup\"\r\n [spxForm]=\"form\"\r\n [spxSuggestions]=\"suggestions\"\r\n (spxBlur)=\"onBlur($event)\"\r\n (spxSearch)=\"onSearch($event)\">\r\n </spx-form-view>\r\n</form>", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: SpxFormViewComponent, selector: "spx-form-view", inputs: ["spxFormGroup", "spxForm", "spxSuggestions"], outputs: ["spxBlur", "spxClick", "spxSearch"] }] }); }
|
|
155
|
-
}
|
|
156
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxChangeDetailsComponent, decorators: [{
|
|
157
|
-
type: Component,
|
|
158
|
-
args: [{ selector: 'spx-change-details', standalone: true, imports: [
|
|
159
|
-
FormsModule,
|
|
160
|
-
ReactiveFormsModule,
|
|
161
|
-
SpxButtonComponent,
|
|
162
|
-
SpxFormViewComponent,
|
|
163
|
-
SpxInputComponent,
|
|
164
|
-
SpxValidateControlComponent
|
|
165
|
-
], template: "<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\r\n <spx-form-view\r\n [spxFormGroup]=\"formGroup\"\r\n [spxForm]=\"form\"\r\n [spxSuggestions]=\"suggestions\"\r\n (spxBlur)=\"onBlur($event)\"\r\n (spxSearch)=\"onSearch($event)\">\r\n </spx-form-view>\r\n</form>" }]
|
|
166
|
-
}], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { formGroup: [{
|
|
167
|
-
type: Input
|
|
168
|
-
}], suggestions: [{
|
|
169
|
-
type: Input
|
|
170
|
-
}], textCategory: [{
|
|
171
|
-
type: Input
|
|
172
|
-
}], textContainerNumber: [{
|
|
173
|
-
type: Input
|
|
174
|
-
}], textContainerType: [{
|
|
175
|
-
type: Input
|
|
176
|
-
}], textCustomer: [{
|
|
177
|
-
type: Input
|
|
178
|
-
}], textLicensePlate: [{
|
|
179
|
-
type: Input
|
|
180
|
-
}], textSave: [{
|
|
181
|
-
type: Input
|
|
182
|
-
}], textTonsTested: [{
|
|
183
|
-
type: Input
|
|
184
|
-
}], spxBlurCategory: [{
|
|
185
|
-
type: Output
|
|
186
|
-
}], spxBlurContainerType: [{
|
|
187
|
-
type: Output
|
|
188
|
-
}], spxSearchCategory: [{
|
|
189
|
-
type: Output
|
|
190
|
-
}], spxSearchContainerType: [{
|
|
191
|
-
type: Output
|
|
192
|
-
}], spxSearchTonsTested: [{
|
|
193
|
-
type: Output
|
|
194
|
-
}], submit: [{
|
|
195
|
-
type: Output
|
|
196
|
-
}] } });
|
|
197
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWNoYW5nZS1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hhbmdlLWRldGFpbHMvc3B4LWNoYW5nZS1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hhbmdlLWRldGFpbHMvc3B4LWNoYW5nZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUF1QyxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUV2RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQWdCLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkcsT0FBTyxFQUFFLHFCQUFxQixFQUEyQixvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pILE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7O0FBR3BGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLGVBQWUsQ0FBQztBQUNwRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxpQkFBaUIsQ0FBQztBQUNyRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxnQkFBZ0IsQ0FBQztBQUNuRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxlQUFlLENBQUM7QUFDakQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQztBQUN2QyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDO0FBQzNDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLGNBQWMsQ0FBQztBQUMvQyxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDO0FBQ3ZDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLGVBQWUsQ0FBQztBQWVqRCxNQUFNLE9BQU8seUJBQXlCO0lBd0ZwQyxJQUFJLFlBQVksS0FBa0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQWdCLENBQUMsQ0FBQyxDQUFDO0lBQzNGLElBQUksWUFBWSxLQUFrQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBZ0IsQ0FBQyxDQUFDLENBQUM7SUFDM0YsSUFBSSxpQkFBaUIsS0FBa0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsQ0FBZ0IsQ0FBQyxDQUFDLENBQUM7SUFDckcsSUFBSSxnQkFBZ0IsS0FBa0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBZ0IsQ0FBQyxDQUFDLENBQUM7SUFDbkcsSUFBSSxjQUFjLEtBQWtCLE9BQU8sSUFBSSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsY0FBYyxDQUFnQixDQUFDLENBQUMsQ0FBQztJQUNoRyxJQUFJLGlCQUFpQixLQUFrQixPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLGlCQUFpQixDQUFnQixDQUFDLENBQUMsQ0FBQztJQUl0RyxZQUFxQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQS9GcEMsZ0JBQVcsR0FBUSxFQUFFLENBQUM7UUFRckIsb0JBQWUsR0FBdUMsSUFBSSxZQUFZLEVBQXdCLENBQUM7UUFDL0YseUJBQW9CLEdBQXVDLElBQUksWUFBWSxFQUF3QixDQUFDO1FBQ3BHLHNCQUFpQixHQUF1QyxJQUFJLFlBQVksRUFBd0IsQ0FBQztRQUNqRywyQkFBc0IsR0FBdUMsSUFBSSxZQUFZLEVBQXdCLENBQUM7UUFDdEcsd0JBQW1CLEdBQXVDLElBQUksWUFBWSxFQUF3QixDQUFDO1FBQ25HLFdBQU0sR0FBeUMsSUFBSSxZQUFZLEVBQTBCLENBQUM7UUFFcEcsU0FBSSxHQUFhO1lBQ2YsT0FBTyxFQUFFO2dCQUNQO29CQUNFLFFBQVEsRUFBRSxlQUFlLENBQUMsT0FBTztvQkFDakMsSUFBSSxFQUFFLHFCQUFxQixDQUFDLE1BQU07b0JBQ2xDLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUTtpQkFDM0I7YUFDRjtZQUNELFFBQVEsRUFBRTtnQkFDUjtvQkFDRSxHQUFHLEVBQUUsb0JBQW9CO29CQUN6QixTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSztvQkFDdEIsTUFBTSxFQUFFO3dCQUNOOzRCQUNFLEdBQUcsRUFBRSxrQkFBa0I7NEJBQ3ZCLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNOzRCQUNuQyxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO3lCQUMzQzt3QkFDRDs0QkFDRSxHQUFHLEVBQUUsbUJBQW1COzRCQUN4QixJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSTs0QkFDakMsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUI7NEJBQ3JDLFFBQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJOzRCQUNwQixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO3lCQUMzQzt3QkFDRDs0QkFDRSxHQUFHLEVBQUUsWUFBWTs0QkFDakIsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLElBQUk7NEJBQ2pDLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJOzRCQUN0QixRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSTs0QkFDcEIsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZOzRCQUM5QixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO3lCQUMzQzt3QkFDRDs0QkFDRSxHQUFHLEVBQUUsaUJBQWlCOzRCQUN0QixJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsWUFBWTs0QkFDekMsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUI7NEJBQ25DLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJOzRCQUN0QixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO3lCQUMzQzt3QkFDRDs0QkFDRSxHQUFHLEVBQUUsY0FBYzs0QkFDbkIsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEtBQUs7NEJBQ2xDLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYzs0QkFDaEMsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQzs0QkFDNUksVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxjQUFjLENBQUMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTt5QkFDbkw7d0JBQ0Q7NEJBQ0UsR0FBRyxFQUFFLGdCQUFnQjs0QkFDckIsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLElBQUk7NEJBQ2pDLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCOzRCQUNsQyxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSTt5QkFDdkI7d0JBQ0Q7NEJBQ0UsR0FBRyxFQUFFLGlCQUFpQjs0QkFDdEIsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLE1BQU07NEJBQ25DLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJO3lCQUN2Qjt3QkFDRDs0QkFDRSxHQUFHLEVBQUUsWUFBWTs0QkFDakIsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFlBQVk7NEJBQ3pDLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWTs0QkFDOUIsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUk7NEJBQ3RCLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDOzRCQUMzRCxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTt5QkFDbEc7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNGLENBQUM7SUFZRixDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sb0JBQW9CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxXQUF3QjtRQUN2QyxPQUFRLFdBQW1CLENBQUMsY0FBYyxDQUFDO0lBQzdDLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBNEQ7UUFDakUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsS0FBSyxZQUFZLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssaUJBQWlCLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNqRCxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUE0RDtRQUNuRSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLFlBQVksRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxLQUFLLGlCQUFpQixFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkQsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssY0FBYyxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEQsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUM7WUFDZixRQUFRLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSTtZQUN6RixhQUFhLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUs7WUFDM0MsWUFBWSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLO1lBQ3pDLFVBQVUsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUs7U0FDdEMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDaEYsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztZQUM5QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0F6SlUseUJBQXlCO21HQUF6Qix5QkFBeUIsbW5CQ2xDdEMsbVZBUU8sMkNEa0JILFdBQVcsbVNBQ1gsbUJBQW1CLGdMQUVuQixvQkFBb0I7OzRGQUtYLHlCQUF5QjtrQkFickMsU0FBUzsrQkFDRSxvQkFBb0IsY0FFbEIsSUFBSSxXQUNQO3dCQUNQLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLG9CQUFvQjt3QkFDcEIsaUJBQWlCO3dCQUNqQiwyQkFBMkI7cUJBQzlCO2dGQUdVLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNJLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csb0JBQW9CO3NCQUE3QixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBQ0csbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHNweFZhbGlkYXRvclJlcXVpcmVkLCBTcHhWYWxpZGF0ZUNvbnRyb2xDb21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC12YWxpZGF0aW9uJztcclxuXHJcbmltcG9ydCB7IFNweElucHV0Q29tcG9uZW50LCBTcHhJbnB1dFR5cGVFbnVtLCBTcHhWYWx1ZVBhaXIgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1pbnB1dHMnO1xyXG5pbXBvcnQgeyBTcHhGb3JtQnV0dG9uVHlwZUVudW0sIFNweEZvcm1GaWVsZEksIFNweEZvcm1JLCBTcHhGb3JtVmlld0NvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWZvcm0tdmlldyc7XHJcbmltcG9ydCB7IFNweEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWJ1dHRvbic7XHJcbmltcG9ydCB7IFNweFNldmVyaXR5RW51bSwgdmFsdWVQYWlyVG9WYWx1ZSB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWhlbHBlcnMnO1xyXG5pbXBvcnQgeyBTcHhDaGFuZ2VEZXRhaWxzVmFsdWVJIH0gZnJvbSAnLi9zcHgtY2hhbmdlLWRldGFpbHMtdmFsdWUuaW50ZXJmYWNlJztcclxuXHJcbmV4cG9ydCBjb25zdCBzZWN0aW9uQ2hhbmdlRGV0YWlscyA9ICdjaGFuZ2VEZXRhaWxzJztcclxuZXhwb3J0IGNvbnN0IGN0cmxDb250YWluZXJOdW1iZXIgPSAnY29udGFpbmVyTnVtYmVyJztcclxuZXhwb3J0IGNvbnN0IGN0cmxDb250YWluZXJTZXFOciA9ICdjb250YWluZXJTZXFOcic7XHJcbmV4cG9ydCBjb25zdCBjdHJsQ29udGFpbmVyVHlwZSA9ICdjb250YWluZXJUeXBlJztcclxuZXhwb3J0IGNvbnN0IGN0cmxDdXN0b21lciA9ICdjdXN0b21lcic7XHJcbmV4cG9ydCBjb25zdCBjdHJsVG9uc1Rlc3RlZCA9ICd0b25zVGVzdGVkJztcclxuZXhwb3J0IGNvbnN0IGN0cmxMaWNlbnNlUGxhdGUgPSAnbGljZW5zZVBsYXRlJztcclxuZXhwb3J0IGNvbnN0IGN0cmxDYXRlZ29yeSA9ICdjYXRlZ29yeSc7XHJcbmV4cG9ydCBjb25zdCBjdHJsVXNlQ2F0ZWdvcmllcyA9ICd1c2VDYXRlZ29yaWVzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3B4LWNoYW5nZS1kZXRhaWxzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc3B4LWNoYW5nZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIFNweEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFNweEZvcm1WaWV3Q29tcG9uZW50LFxyXG4gICAgU3B4SW5wdXRDb21wb25lbnQsXHJcbiAgICBTcHhWYWxpZGF0ZUNvbnRyb2xDb21wb25lbnRcclxuXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3B4Q2hhbmdlRGV0YWlsc0NvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xyXG4gIEBJbnB1dCgpIHN1Z2dlc3Rpb25zOiBhbnkgPSB7fTtcclxuICBASW5wdXQoKSB0ZXh0Q2F0ZWdvcnkhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdGV4dENvbnRhaW5lck51bWJlciE6IHN0cmluZztcclxuICBASW5wdXQoKSB0ZXh0Q29udGFpbmVyVHlwZSE6IHN0cmluZztcclxuICBASW5wdXQoKSB0ZXh0Q3VzdG9tZXIhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdGV4dExpY2Vuc2VQbGF0ZSE6IHN0cmluZztcclxuICBASW5wdXQoKSB0ZXh0U2F2ZSE6IHN0cmluZztcclxuICBASW5wdXQoKSB0ZXh0VG9uc1Rlc3RlZCE6IHN0cmluZztcclxuICBAT3V0cHV0KCkgc3B4Qmx1ckNhdGVnb3J5OiBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4oKTtcclxuICBAT3V0cHV0KCkgc3B4Qmx1ckNvbnRhaW5lclR5cGU6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PigpO1xyXG4gIEBPdXRwdXQoKSBzcHhTZWFyY2hDYXRlZ29yeTogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+KCk7XHJcbiAgQE91dHB1dCgpIHNweFNlYXJjaENvbnRhaW5lclR5cGU6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PigpO1xyXG4gIEBPdXRwdXQoKSBzcHhTZWFyY2hUb25zVGVzdGVkOiBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4oKTtcclxuICBAT3V0cHV0KCkgc3VibWl0OiBFdmVudEVtaXR0ZXI8U3B4Q2hhbmdlRGV0YWlsc1ZhbHVlST4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweENoYW5nZURldGFpbHNWYWx1ZUk+KCk7XHJcblxyXG4gIGZvcm06IFNweEZvcm1JID0ge1xyXG4gICAgYnV0dG9uczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgc2V2ZXJpdHk6IFNweFNldmVyaXR5RW51bS5zdWNjZXNzLFxyXG4gICAgICAgIHR5cGU6IFNweEZvcm1CdXR0b25UeXBlRW51bS5zdWJtaXQsXHJcbiAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudGV4dFNhdmUsXHJcbiAgICAgIH1cclxuICAgIF0sXHJcbiAgICBzZWN0aW9uczogW1xyXG4gICAgICB7XHJcbiAgICAgICAga2V5OiBzZWN0aW9uQ2hhbmdlRGV0YWlscyxcclxuICAgICAgICBzaG93VGl0bGU6ICgpID0+IGZhbHNlLFxyXG4gICAgICAgIGZpZWxkczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBrZXk6IGN0cmxDb250YWluZXJTZXFOcixcclxuICAgICAgICAgICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bS5oaWRkZW4sXHJcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IFtzcHhWYWxpZGF0b3JSZXF1aXJlZCgpXSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGtleTogY3RybENvbnRhaW5lck51bWJlcixcclxuICAgICAgICAgICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bS50ZXh0LFxyXG4gICAgICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50ZXh0Q29udGFpbmVyTnVtYmVyLFxyXG4gICAgICAgICAgICByZWFkb25seTogKCkgPT4gdHJ1ZSxcclxuICAgICAgICAgICAgdmFsaWRhdG9yczogKCkgPT4gW3NweFZhbGlkYXRvclJlcXVpcmVkKCldLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAga2V5OiBjdHJsQ3VzdG9tZXIsXHJcbiAgICAgICAgICAgIHR5cGU6ICgpID0+IFNweElucHV0VHlwZUVudW0udGV4dCxcclxuICAgICAgICAgICAgY2FwaXRhbGl6ZTogKCkgPT4gdHJ1ZSxcclxuICAgICAgICAgICAgcmVhZG9ubHk6ICgpID0+IHRydWUsXHJcbiAgICAgICAgICAgIGxhYmVsOiAoKSA9PiB0aGlzLnRleHRDdXN0b21lcixcclxuICAgICAgICAgICAgdmFsaWRhdG9yczogKCkgPT4gW3NweFZhbGlkYXRvclJlcXVpcmVkKCldLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAga2V5OiBjdHJsQ29udGFpbmVyVHlwZSxcclxuICAgICAgICAgICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bS5hdXRvY29tcGxldGUsXHJcbiAgICAgICAgICAgIGxhYmVsOiAoKSA9PiB0aGlzLnRleHRDb250YWluZXJUeXBlLFxyXG4gICAgICAgICAgICBjYXBpdGFsaXplOiAoKSA9PiB0cnVlLFxyXG4gICAgICAgICAgICB2YWxpZGF0b3JzOiAoKSA9PiBbc3B4VmFsaWRhdG9yUmVxdWlyZWQoKV0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBrZXk6IGN0cmxUb25zVGVzdGVkLFxyXG4gICAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLnJhZGlvLFxyXG4gICAgICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50ZXh0VG9uc1Rlc3RlZCxcclxuICAgICAgICAgICAgc2hvdzogKCkgPT4gdGhpcy5zdWdnZXN0aW9ucz8uW2N0cmxUb25zVGVzdGVkXSAmJiB0aGlzLnN1Z2dlc3Rpb25zPy5bY3RybFRvbnNUZXN0ZWRdLmxlbmd0aCAmJiB0aGlzLnN1Z2dlc3Rpb25zPy5bY3RybFRvbnNUZXN0ZWRdLmxlbmd0aCA+IDAsXHJcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IHRoaXMuc3VnZ2VzdGlvbnM/LltjdHJsVG9uc1Rlc3RlZF0gJiYgdGhpcy5zdWdnZXN0aW9ucz8uW2N0cmxUb25zVGVzdGVkXS5sZW5ndGggJiYgdGhpcy5zdWdnZXN0aW9ucz8uW2N0cmxUb25zVGVzdGVkXS5sZW5ndGggPiAwID8gW3NweFZhbGlkYXRvclJlcXVpcmVkKCldIDogW10sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBrZXk6IGN0cmxMaWNlbnNlUGxhdGUsXHJcbiAgICAgICAgICAgIHR5cGU6ICgpID0+IFNweElucHV0VHlwZUVudW0udGV4dCxcclxuICAgICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudGV4dExpY2Vuc2VQbGF0ZSxcclxuICAgICAgICAgICAgY2FwaXRhbGl6ZTogKCkgPT4gdHJ1ZSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGtleTogY3RybFVzZUNhdGVnb3JpZXMsXHJcbiAgICAgICAgICAgIHR5cGU6ICgpID0+IFNweElucHV0VHlwZUVudW0uaGlkZGVuLFxyXG4gICAgICAgICAgICBjYXBpdGFsaXplOiAoKSA9PiB0cnVlLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAga2V5OiBjdHJsQ2F0ZWdvcnksXHJcbiAgICAgICAgICAgIHR5cGU6ICgpID0+IFNweElucHV0VHlwZUVudW0uYXV0b2NvbXBsZXRlLFxyXG4gICAgICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50ZXh0Q2F0ZWdvcnksXHJcbiAgICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXHJcbiAgICAgICAgICAgIHNob3c6ICgpID0+IHZhbHVlUGFpclRvVmFsdWUodGhpcy5jdHJsVXNlQ2F0ZWdvcmllcz8udmFsdWUpLFxyXG4gICAgICAgICAgICB2YWxpZGF0b3JzOiAoKSA9PiB2YWx1ZVBhaXJUb1ZhbHVlKHRoaXMuY3RybFVzZUNhdGVnb3JpZXM/LnZhbHVlKSA/IFtzcHhWYWxpZGF0b3JSZXF1aXJlZCgpXSA6IFtdLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgICAgfVxyXG4gICAgXVxyXG4gIH07XHJcblxyXG4gIGdldCBjdHJsQ2F0ZWdvcnkoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KGN0cmxDYXRlZ29yeSkgYXMgRm9ybUNvbnRyb2w7IH1cclxuICBnZXQgY3RybEN1c3RvbWVyKCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChjdHJsQ3VzdG9tZXIpIGFzIEZvcm1Db250cm9sOyB9XHJcbiAgZ2V0IGN0cmxDb250YWluZXJUeXBlKCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChjdHJsQ29udGFpbmVyVHlwZSkgYXMgRm9ybUNvbnRyb2w7IH1cclxuICBnZXQgY3RybExpY2Vuc2VQbGF0ZSgpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY3RybExpY2Vuc2VQbGF0ZSkgYXMgRm9ybUNvbnRyb2w7IH1cclxuICBnZXQgY3RybFRvbnNUZXN0ZWQoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtR3JvdXA/LmdldChjdHJsVG9uc1Rlc3RlZCkgYXMgRm9ybUNvbnRyb2w7IH1cclxuICBnZXQgY3RybFVzZUNhdGVnb3JpZXMoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtR3JvdXA/LmdldChjdHJsVXNlQ2F0ZWdvcmllcykgYXMgRm9ybUNvbnRyb2w7IH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJDb250YWluZXJUeXBlPzogU3Vic2NyaXB0aW9uO1xyXG5cclxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIpIHtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUZvcm0oKTogRm9ybUdyb3VwIHtcclxuICAgIHJldHVybiBTcHhGb3JtVmlld0NvbXBvbmVudC5jcmVhdGVGb3JtKHRoaXMuZm9ybUJ1aWxkZXIsIHRoaXMuZm9ybS5zZWN0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubGlzdGVuVG9Db250YWluZXJUeXBlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnN1YkNvbnRhaW5lclR5cGUpIHtcclxuICAgICAgdGhpcy5zdWJDb250YWluZXJUeXBlLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRSYXdWYWxpZGF0b3JzKGZvcm1Db250cm9sOiBGb3JtQ29udHJvbCkge1xyXG4gICAgcmV0dXJuIChmb3JtQ29udHJvbCBhcyBhbnkpLl9yYXdWYWxpZGF0b3JzO1xyXG4gIH1cclxuXHJcbiAgb25CbHVyKGRhdGE6IHsgZmllbGQ6IFNweEZvcm1GaWVsZEksIHZhbHVlUGFpcjogU3B4VmFsdWVQYWlyPGFueT4gfSkge1xyXG4gICAgaWYgKGRhdGEuZmllbGQua2V5ID09PSBjdHJsQ2F0ZWdvcnkpIHtcclxuICAgICAgdGhpcy5zcHhCbHVyQ2F0ZWdvcnkuZW1pdChkYXRhLnZhbHVlUGFpcik7XHJcbiAgICB9XHJcbiAgICBpZiAoZGF0YS5maWVsZC5rZXkgPT09IGN0cmxDb250YWluZXJUeXBlKSB7XHJcbiAgICAgIHRoaXMuc3B4Qmx1ckNvbnRhaW5lclR5cGUuZW1pdChkYXRhLnZhbHVlUGFpcik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblNlYXJjaChkYXRhOiB7IGZpZWxkOiBTcHhGb3JtRmllbGRJLCB2YWx1ZVBhaXI6IFNweFZhbHVlUGFpcjxhbnk+IH0pIHtcclxuICAgIGlmIChkYXRhLmZpZWxkLmtleSA9PT0gY3RybENhdGVnb3J5KSB7XHJcbiAgICAgIHRoaXMuc3B4U2VhcmNoQ2F0ZWdvcnkuZW1pdChkYXRhLnZhbHVlUGFpcik7XHJcbiAgICB9XHJcbiAgICBpZiAoZGF0YS5maWVsZC5rZXkgPT09IGN0cmxDb250YWluZXJUeXBlKSB7XHJcbiAgICAgIHRoaXMuc3B4U2VhcmNoQ29udGFpbmVyVHlwZS5lbWl0KGRhdGEudmFsdWVQYWlyKTtcclxuICAgIH1cclxuICAgIGlmIChkYXRhLmZpZWxkLmtleSA9PT0gY3RybFRvbnNUZXN0ZWQpIHtcclxuICAgICAgdGhpcy5zcHhTZWFyY2hUb25zVGVzdGVkLmVtaXQoZGF0YS52YWx1ZVBhaXIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1Ym1pdC5lbWl0KHtcclxuICAgICAgY2F0ZWdvcnk6IHZhbHVlUGFpclRvVmFsdWUodGhpcy5jdHJsVXNlQ2F0ZWdvcmllcy52YWx1ZSkgPyB0aGlzLmN0cmxDYXRlZ29yeS52YWx1ZSA6IG51bGwsXHJcbiAgICAgIGNvbnRhaW5lclR5cGU6IHRoaXMuY3RybENvbnRhaW5lclR5cGUudmFsdWUsXHJcbiAgICAgIGxpY2Vuc2VQbGF0ZTogdGhpcy5jdHJsTGljZW5zZVBsYXRlLnZhbHVlLFxyXG4gICAgICB0b25zVGVzdGVkOiB0aGlzLmN0cmxUb25zVGVzdGVkLnZhbHVlLFxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgbGlzdGVuVG9Db250YWluZXJUeXBlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJDb250YWluZXJUeXBlID0gdGhpcy5jdHJsQ29udGFpbmVyVHlwZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlUGFpciA9PiB7XHJcbiAgICAgIHRoaXMuY3RybFRvbnNUZXN0ZWQuc2V0VmFsdWUoeyB2YWx1ZTogbnVsbCB9KTtcclxuICAgICAgdGhpcy5zcHhTZWFyY2hUb25zVGVzdGVkLmVtaXQodmFsdWVQYWlyKTtcclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIGNsYXNzPVwibWF4LXctbGcgbXgtYXV0byBmbGV4IGZsZXgtY29sIGdhcC0zXCIgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIj5cclxuICA8c3B4LWZvcm0tdmlld1xyXG4gICAgW3NweEZvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxyXG4gICAgW3NweEZvcm1dPVwiZm9ybVwiXHJcbiAgICBbc3B4U3VnZ2VzdGlvbnNdPVwic3VnZ2VzdGlvbnNcIlxyXG4gICAgKHNweEJsdXIpPVwib25CbHVyKCRldmVudClcIlxyXG4gICAgKHNweFNlYXJjaCk9XCJvblNlYXJjaCgkZXZlbnQpXCI+XHJcbiAgPC9zcHgtZm9ybS12aWV3PlxyXG48L2Zvcm0+Il19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './src/spx-channel-indicator.component';
|
|
2
|
-
export * from './src/spx-welcome.component';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hhbm5lbC1zZWxlY3Rpb24vcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsNkJBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NyYy9zcHgtY2hhbm5lbC1pbmRpY2F0b3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zcmMvc3B4LXdlbGNvbWUuY29tcG9uZW50JztcclxuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mdHBhay1jb21wb25lbnRzLXNweC1jaGFubmVsLXNlbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hhbm5lbC1zZWxlY3Rpb24vc29mdHBhay1jb21wb25lbnRzLXNweC1jaGFubmVsLXNlbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
import { SpxButtonComponent } from '@softpak/components/spx-button';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class SpxChannelIndicatorComponent {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.spxChange = new EventEmitter();
|
|
7
|
-
}
|
|
8
|
-
onChange() {
|
|
9
|
-
this.spxChange.emit();
|
|
10
|
-
}
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxChannelIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
12
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SpxChannelIndicatorComponent, isStandalone: true, selector: "spx-channel-indicator", inputs: { channel: "channel", channelType: "channelType", txtChange: "txtChange" }, outputs: { spxChange: "spxChange" }, ngImport: i0, template: `<div class="bg-white p-3 rounded flex gap-3 items-center text-black">
|
|
13
|
-
<div class="grow">
|
|
14
|
-
<div class="text-lg font-bold">{{ channel?.brand }}</div>
|
|
15
|
-
<div class="text-base text-gray-600">{{ channelType }}</div>
|
|
16
|
-
</div>
|
|
17
|
-
<spx-button (click)="onChange()" [spxType]="'button'">{{ txtChange }}</spx-button>
|
|
18
|
-
</div>`, isInline: true, dependencies: [{ kind: "component", type: SpxButtonComponent, selector: "spx-button", inputs: ["spxDisabled", "spxClass", "spxClassObject", "spxForm", "spxFullHeight", "spxFullWidth", "spxSeverity", "spxSize", "spxTabIndex", "spxType"], outputs: ["spxClick"] }] }); }
|
|
19
|
-
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxChannelIndicatorComponent, decorators: [{
|
|
21
|
-
type: Component,
|
|
22
|
-
args: [{
|
|
23
|
-
selector: 'spx-channel-indicator',
|
|
24
|
-
template: `<div class="bg-white p-3 rounded flex gap-3 items-center text-black">
|
|
25
|
-
<div class="grow">
|
|
26
|
-
<div class="text-lg font-bold">{{ channel?.brand }}</div>
|
|
27
|
-
<div class="text-base text-gray-600">{{ channelType }}</div>
|
|
28
|
-
</div>
|
|
29
|
-
<spx-button (click)="onChange()" [spxType]="'button'">{{ txtChange }}</spx-button>
|
|
30
|
-
</div>`,
|
|
31
|
-
standalone: true,
|
|
32
|
-
imports: [
|
|
33
|
-
SpxButtonComponent,
|
|
34
|
-
],
|
|
35
|
-
}]
|
|
36
|
-
}], ctorParameters: () => [], propDecorators: { channel: [{
|
|
37
|
-
type: Input
|
|
38
|
-
}], channelType: [{
|
|
39
|
-
type: Input
|
|
40
|
-
}], txtChange: [{
|
|
41
|
-
type: Input
|
|
42
|
-
}], spxChange: [{
|
|
43
|
-
type: Output
|
|
44
|
-
}] } });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWNoYW5uZWwtaW5kaWNhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hhbm5lbC1zZWxlY3Rpb24vc3JjL3NweC1jaGFubmVsLWluZGljYXRvci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUFnQnBFLE1BQU0sT0FBTyw0QkFBNEI7SUFNdkM7UUFGVSxjQUFTLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFHL0QsQ0FBQztJQUVMLFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7K0dBWFUsNEJBQTRCO21HQUE1Qiw0QkFBNEIsME1BWjdCOzs7Ozs7U0FNSCw0REFHTCxrQkFBa0I7OzRGQUdULDRCQUE0QjtrQkFkeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUU7Ozs7OztTQU1IO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCO3FCQUNuQjtpQkFDRjt3REFFVSxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTcHhBcHBDaGFubmVsSSwgU3B4QXBwQ2hhbm5lbFR5cGVFbnVtIH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtYXBwLWNvbmZpZ3VyYXRpb24nO1xyXG5pbXBvcnQgeyBTcHhCdXR0b25Db21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1idXR0b24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzcHgtY2hhbm5lbC1pbmRpY2F0b3InLFxyXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cImJnLXdoaXRlIHAtMyByb3VuZGVkIGZsZXggZ2FwLTMgaXRlbXMtY2VudGVyIHRleHQtYmxhY2tcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJncm93XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWxnIGZvbnQtYm9sZFwiPnt7IGNoYW5uZWw/LmJyYW5kIH19PC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWJhc2UgdGV4dC1ncmF5LTYwMFwiPnt7IGNoYW5uZWxUeXBlIH19PC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxzcHgtYnV0dG9uIChjbGljayk9XCJvbkNoYW5nZSgpXCIgW3NweFR5cGVdPVwiJ2J1dHRvbidcIj57eyB0eHRDaGFuZ2UgfX08L3NweC1idXR0b24+XHJcbiAgPC9kaXY+YCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIFNweEJ1dHRvbkNvbXBvbmVudCxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3B4Q2hhbm5lbEluZGljYXRvckNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgY2hhbm5lbD86IFNweEFwcENoYW5uZWxJO1xyXG4gIEBJbnB1dCgpIGNoYW5uZWxUeXBlPzogU3B4QXBwQ2hhbm5lbFR5cGVFbnVtO1xyXG4gIEBJbnB1dCgpIHR4dENoYW5nZSE6IHN0cmluZztcclxuICBAT3V0cHV0KCkgc3B4Q2hhbmdlOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICkgeyB9XHJcblxyXG4gIG9uQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5zcHhDaGFuZ2UuZW1pdCgpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
2
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
3
|
-
import { SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';
|
|
4
|
-
import { SpxButtonComponent } from '@softpak/components/spx-button';
|
|
5
|
-
import { SpxFormSectionComponent } from '@softpak/components/spx-form-section';
|
|
6
|
-
import { SpxFormButtonTypeEnum, SpxFormViewComponent } from '@softpak/components/spx-form-view';
|
|
7
|
-
import { SpxSeverityEnum, valuePairToValue } from '@softpak/components/spx-helpers';
|
|
8
|
-
import { SpxInputComponent, SpxInputTypeEnum } from '@softpak/components/spx-inputs';
|
|
9
|
-
import { spxValidatorRequired } from '@softpak/components/spx-validation';
|
|
10
|
-
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "@angular/forms";
|
|
12
|
-
export const sectionWelcome = 'welcome';
|
|
13
|
-
export const ctrlChannel = 'channel';
|
|
14
|
-
export const ctrlChannelType = 'channelType';
|
|
15
|
-
export class SpxWelcomeComponent {
|
|
16
|
-
get ctrlChannel() { return this.formGroup.get(ctrlChannel); }
|
|
17
|
-
get ctrlChannelType() { return this.formGroup.get(ctrlChannelType); }
|
|
18
|
-
get filteredCompanies() { return (this.channels ?? [])?.filter(channel => channel.channelTypes.includes(SpxAppChannelTypeEnum.production)).map(c => ({ description: c.brand, value: c.brand })); }
|
|
19
|
-
constructor(formBuilder) {
|
|
20
|
-
this.formBuilder = formBuilder;
|
|
21
|
-
this.channels = [];
|
|
22
|
-
this.channelTypes = [];
|
|
23
|
-
this.spxSelect = new EventEmitter();
|
|
24
|
-
this.suggestions = {
|
|
25
|
-
[ctrlChannelType]: [],
|
|
26
|
-
[ctrlChannel]: [],
|
|
27
|
-
};
|
|
28
|
-
this.subscriptions = {};
|
|
29
|
-
this.form = {
|
|
30
|
-
buttons: [
|
|
31
|
-
{
|
|
32
|
-
severity: SpxSeverityEnum.success,
|
|
33
|
-
type: SpxFormButtonTypeEnum.submit,
|
|
34
|
-
label: () => this.textSelect,
|
|
35
|
-
}
|
|
36
|
-
],
|
|
37
|
-
sections: [
|
|
38
|
-
{
|
|
39
|
-
key: sectionWelcome,
|
|
40
|
-
showTitle: () => false,
|
|
41
|
-
fields: [
|
|
42
|
-
{
|
|
43
|
-
key: ctrlChannel,
|
|
44
|
-
type: () => SpxInputTypeEnum.radio,
|
|
45
|
-
label: () => this.textCompany,
|
|
46
|
-
validators: () => [spxValidatorRequired()],
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
key: ctrlChannelType,
|
|
50
|
-
type: () => SpxInputTypeEnum.radio,
|
|
51
|
-
label: () => this.textChannel,
|
|
52
|
-
capitalize: () => true,
|
|
53
|
-
show: () => valuePairToValue(this.ctrlChannel.value),
|
|
54
|
-
validators: () => [spxValidatorRequired()],
|
|
55
|
-
},
|
|
56
|
-
]
|
|
57
|
-
}
|
|
58
|
-
]
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
ngOnChanges(changes) {
|
|
62
|
-
this.suggestions[ctrlChannel] = (this.channels ?? [])?.filter(channel => channel.channelTypes.includes(SpxAppChannelTypeEnum.production)).map(c => ({ description: c.brand, value: c.brand }));
|
|
63
|
-
}
|
|
64
|
-
ngOnDestroy() {
|
|
65
|
-
}
|
|
66
|
-
ngOnInit() {
|
|
67
|
-
this.subscriptions.channel = this.ctrlChannel.valueChanges.subscribe(valuePair => {
|
|
68
|
-
const channel = this.channels?.find(c => c.brand === valuePairToValue(valuePair));
|
|
69
|
-
this.suggestions[ctrlChannelType] = !channel ? [] : channel?.channelTypes?.map(ct => ({
|
|
70
|
-
description: ct,
|
|
71
|
-
value: ct
|
|
72
|
-
}));
|
|
73
|
-
this.ctrlChannelType.setValue({
|
|
74
|
-
value: SpxAppChannelTypeEnum.production,
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
onSubmit() {
|
|
79
|
-
this.spxSelect.emit({
|
|
80
|
-
channel: this.channels?.find(c => c.brand === valuePairToValue(this.ctrlChannel.value)),
|
|
81
|
-
channelType: valuePairToValue(this.ctrlChannelType.value),
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
createForm() {
|
|
85
|
-
return SpxFormViewComponent.createForm(this.formBuilder, this.form.sections);
|
|
86
|
-
}
|
|
87
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxWelcomeComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
88
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SpxWelcomeComponent, isStandalone: true, selector: "spx-welcome", inputs: { channels: "channels", channelTypes: "channelTypes", formGroup: "formGroup", textChannel: "textChannel", textCompany: "textCompany", textSelect: "textSelect" }, outputs: { spxSelect: "spxSelect" }, usesOnChanges: true, ngImport: i0, template: `<form [formGroup]="formGroup" class="max-w-lg mx-auto flex flex-col gap-3" (ngSubmit)="onSubmit()">
|
|
89
|
-
<spx-form-view
|
|
90
|
-
[spxForm]="form"
|
|
91
|
-
[spxFormGroup]="formGroup"
|
|
92
|
-
[spxSuggestions]="suggestions">
|
|
93
|
-
</spx-form-view>
|
|
94
|
-
</form>`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: SpxFormViewComponent, selector: "spx-form-view", inputs: ["spxFormGroup", "spxForm", "spxSuggestions"], outputs: ["spxBlur", "spxClick", "spxSearch"] }] }); }
|
|
95
|
-
}
|
|
96
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxWelcomeComponent, decorators: [{
|
|
97
|
-
type: Component,
|
|
98
|
-
args: [{
|
|
99
|
-
selector: 'spx-welcome',
|
|
100
|
-
template: `<form [formGroup]="formGroup" class="max-w-lg mx-auto flex flex-col gap-3" (ngSubmit)="onSubmit()">
|
|
101
|
-
<spx-form-view
|
|
102
|
-
[spxForm]="form"
|
|
103
|
-
[spxFormGroup]="formGroup"
|
|
104
|
-
[spxSuggestions]="suggestions">
|
|
105
|
-
</spx-form-view>
|
|
106
|
-
</form>`,
|
|
107
|
-
standalone: true,
|
|
108
|
-
imports: [
|
|
109
|
-
FormsModule,
|
|
110
|
-
ReactiveFormsModule,
|
|
111
|
-
SpxButtonComponent,
|
|
112
|
-
SpxFormSectionComponent,
|
|
113
|
-
SpxFormViewComponent,
|
|
114
|
-
SpxInputComponent
|
|
115
|
-
]
|
|
116
|
-
}]
|
|
117
|
-
}], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { channels: [{
|
|
118
|
-
type: Input
|
|
119
|
-
}], channelTypes: [{
|
|
120
|
-
type: Input
|
|
121
|
-
}], formGroup: [{
|
|
122
|
-
type: Input
|
|
123
|
-
}], textChannel: [{
|
|
124
|
-
type: Input
|
|
125
|
-
}], textCompany: [{
|
|
126
|
-
type: Input
|
|
127
|
-
}], textSelect: [{
|
|
128
|
-
type: Input
|
|
129
|
-
}], spxSelect: [{
|
|
130
|
-
type: Output
|
|
131
|
-
}] } });
|
|
132
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LXdlbGNvbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1jaGFubmVsLXNlbGVjdGlvbi9zcmMvc3B4LXdlbGNvbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQStDLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBdUMsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkcsT0FBTyxFQUFrQixxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBWSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFHLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQWdCLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQUcxRSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsU0FBUyxDQUFDO0FBQ3hDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUM7QUFDckMsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLGFBQWEsQ0FBQztBQXlCN0MsTUFBTSxPQUFPLG1CQUFtQjtJQWdCOUIsSUFBSSxXQUFXLEtBQWtCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFnQixDQUFDLENB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TUYsMkRBR04sV0FBVyxtU0FDWCxtQkFBbUIsZ0xBR25CLG9CQUFvQjs7NEZBSVgsbUJBQW1CO2tCQW5CL0IsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsYUFBYTtvQkFDdkIsUUFBUSxFQUFFOzs7Ozs7VUFNRjtvQkFDUixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQixpQkFBaUI7cUJBQ3BCO2lCQUNBO2dGQUVVLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBKc29uUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3B4QXBwQ2hhbm5lbEksIFNweEFwcENoYW5uZWxUeXBlRW51bSB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWFwcC1jb25maWd1cmF0aW9uJztcclxuaW1wb3J0IHsgU3B4QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtYnV0dG9uJztcclxuaW1wb3J0IHsgU3B4Rm9ybVNlY3Rpb25Db21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1mb3JtLXNlY3Rpb24nO1xyXG5pbXBvcnQgeyBTcHhGb3JtQnV0dG9uVHlwZUVudW0sIFNweEZvcm1JLCBTcHhGb3JtVmlld0NvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWZvcm0tdmlldyc7XHJcbmltcG9ydCB7IFNweFNldmVyaXR5RW51bSwgdmFsdWVQYWlyVG9WYWx1ZSB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWhlbHBlcnMnO1xyXG5pbXBvcnQgeyBTcHhJbnB1dENvbXBvbmVudCwgU3B4SW5wdXRUeXBlRW51bSwgU3B4VmFsdWVQYWlyIH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzJztcclxuaW1wb3J0IHsgc3B4VmFsaWRhdG9yUmVxdWlyZWQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC12YWxpZGF0aW9uJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5leHBvcnQgY29uc3Qgc2VjdGlvbldlbGNvbWUgPSAnd2VsY29tZSc7XHJcbmV4cG9ydCBjb25zdCBjdHJsQ2hhbm5lbCA9ICdjaGFubmVsJztcclxuZXhwb3J0IGNvbnN0IGN0cmxDaGFubmVsVHlwZSA9ICdjaGFubmVsVHlwZSc7XHJcbmV4cG9ydCBpbnRlcmZhY2UgU3B4V2VsY29tZVZhbHVlSSB7XHJcbiAgW2N0cmxDaGFubmVsXT86IFNweEFwcENoYW5uZWxJO1xyXG4gIFtjdHJsQ2hhbm5lbFR5cGVdOiBTcHhBcHBDaGFubmVsVHlwZUVudW07XHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3B4LXdlbGNvbWUnLFxyXG4gIHRlbXBsYXRlOiBgPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiBjbGFzcz1cIm1heC13LWxnIG14LWF1dG8gZmxleCBmbGV4LWNvbCBnYXAtM1wiIChuZ1N1Ym1pdCk9XCJvblN1Ym1pdCgpXCI+XHJcbiAgICA8c3B4LWZvcm0tdmlld1xyXG4gICAgICBbc3B4Rm9ybV09XCJmb3JtXCJcclxuICAgICAgW3NweEZvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxyXG4gICAgICBbc3B4U3VnZ2VzdGlvbnNdPVwic3VnZ2VzdGlvbnNcIj5cclxuICAgIDwvc3B4LWZvcm0tdmlldz5cclxuICA8L2Zvcm0+YCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIFNweEJ1dHRvbkNvbXBvbmVudCxcclxuICAgIFNweEZvcm1TZWN0aW9uQ29tcG9uZW50LFxyXG4gICAgU3B4Rm9ybVZpZXdDb21wb25lbnQsXHJcbiAgICBTcHhJbnB1dENvbXBvbmVudFxyXG5dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcHhXZWxjb21lQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgY2hhbm5lbHM/OiBTcHhBcHBDaGFubmVsSVtdID0gW107XHJcbiAgQElucHV0KCkgY2hhbm5lbFR5cGVzPzogU3B4QXBwQ2hhbm5lbFR5cGVFbnVtW10gPSBbXTtcclxuICBASW5wdXQoKSBmb3JtR3JvdXAhOiBGb3JtR3JvdXA7XHJcbiAgQElucHV0KCkgdGV4dENoYW5uZWwhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdGV4dENvbXBhbnkhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdGV4dFNlbGVjdCE6IHN0cmluZztcclxuICBAT3V0cHV0KCkgc3B4U2VsZWN0OiBFdmVudEVtaXR0ZXI8U3B4V2VsY29tZVZhbHVlST4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFdlbGNvbWVWYWx1ZUk+KCk7XHJcbiAgc3VnZ2VzdGlvbnM6IHtcclxuICAgIFtjdHJsQ2hhbm5lbFR5cGVdPzogU3B4VmFsdWVQYWlyPHN0cmluZz5bXTtcclxuICAgIFtjdHJsQ2hhbm5lbF0/OiBTcHhWYWx1ZVBhaXI8c3RyaW5nPltdO1xyXG4gIH0gPSB7XHJcbiAgICAgIFtjdHJsQ2hhbm5lbFR5cGVdOiBbXSxcclxuICAgICAgW2N0cmxDaGFubmVsXTogW10sXHJcbiAgICB9O1xyXG5cclxuICBnZXQgY3RybENoYW5uZWwoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KGN0cmxDaGFubmVsKSBhcyBGb3JtQ29udHJvbDsgfVxyXG4gIGdldCBjdHJsQ2hhbm5lbFR5cGUoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KGN0cmxDaGFubmVsVHlwZSkgYXMgRm9ybUNvbnRyb2w7IH1cclxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IHtcclxuICAgIGNoYW5uZWw/OiBTdWJzY3JpcHRpb25cclxuICB9ID0ge307XHJcblxyXG4gIGZvcm06IFNweEZvcm1JID0ge1xyXG4gICAgYnV0dG9uczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgc2V2ZXJpdHk6IFNweFNldmVyaXR5RW51bS5zdWNjZXNzLFxyXG4gICAgICAgIHR5cGU6IFNweEZvcm1CdXR0b25UeXBlRW51bS5zdWJtaXQsXHJcbiAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudGV4dFNlbGVjdCxcclxuICAgICAgfVxyXG4gICAgXSxcclxuICAgIHNlY3Rpb25zOiBbXHJcbiAgICAgIHtcclxuICAgICAgICBrZXk6IHNlY3Rpb25XZWxjb21lLFxyXG4gICAgICAgIHNob3dUaXRsZTogKCkgPT4gZmFsc2UsXHJcbiAgICAgICAgZmllbGRzOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIGtleTogY3RybENoYW5uZWwsXHJcbiAgICAgICAgICAgIHR5cGU6ICgpID0+IFNweElucHV0VHlwZUVudW0ucmFkaW8sXHJcbiAgICAgICAgICAgIGxhYmVsOiAoKSA9PiB0aGlzLnRleHRDb21wYW55LFxyXG4gICAgICAgICAgICB2YWxpZGF0b3JzOiAoKSA9PiBbc3B4VmFsaWRhdG9yUmVxdWlyZWQoKV0sXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBrZXk6IGN0cmxDaGFubmVsVHlwZSxcclxuICAgICAgICAgICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bS5yYWRpbyxcclxuICAgICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudGV4dENoYW5uZWwsXHJcbiAgICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXHJcbiAgICAgICAgICAgIHNob3c6ICgpID0+IHZhbHVlUGFpclRvVmFsdWUodGhpcy5jdHJsQ2hhbm5lbC52YWx1ZSksXHJcbiAgICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IFtzcHhWYWxpZGF0b3JSZXF1aXJlZCgpXSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXVxyXG4gICAgICB9XHJcbiAgICBdXHJcbiAgfTtcclxuXHJcbiAgZ2V0IGZpbHRlcmVkQ29tcGFuaWVzKCk6IFNweFZhbHVlUGFpcjxzdHJpbmc+W10geyByZXR1cm4gKHRoaXMuY2hhbm5lbHMgPz8gW10pPy5maWx0ZXIoY2hhbm5lbCA9PiBjaGFubmVsLmNoYW5uZWxUeXBlcy5pbmNsdWRlcyhTcHhBcHBDaGFubmVsVHlwZUVudW0ucHJvZHVjdGlvbikpLm1hcChjID0+ICh7IGRlc2NyaXB0aW9uOiBjLmJyYW5kLCB2YWx1ZTogYy5icmFuZCB9KSk7IH1cclxuXHJcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1Z2dlc3Rpb25zW2N0cmxDaGFubmVsXSA9ICh0aGlzLmNoYW5uZWxzID8/IFtdKT8uZmlsdGVyKGNoYW5uZWwgPT4gY2hhbm5lbC5jaGFubmVsVHlwZXMuaW5jbHVkZXMoU3B4QXBwQ2hhbm5lbFR5cGVFbnVtLnByb2R1Y3Rpb24pKS5tYXAoYyA9PiAoeyBkZXNjcmlwdGlvbjogYy5icmFuZCwgdmFsdWU6IGMuYnJhbmQgfSkpO1xyXG4gIFxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuY2hhbm5lbCA9IHRoaXMuY3RybENoYW5uZWwudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZVBhaXIgPT4ge1xyXG4gICAgICBjb25zdCBjaGFubmVsID0gdGhpcy5jaGFubmVscz8uZmluZChjID0+IGMuYnJhbmQgPT09IHZhbHVlUGFpclRvVmFsdWUodmFsdWVQYWlyKSk7XHJcbiAgICAgIHRoaXMuc3VnZ2VzdGlvbnNbY3RybENoYW5uZWxUeXBlXSA9ICFjaGFubmVsID8gW10gOiBjaGFubmVsPy5jaGFubmVsVHlwZXM/Lm1hcChjdCA9PiAoe1xyXG4gICAgICAgIGRlc2NyaXB0aW9uOiBjdCxcclxuICAgICAgICB2YWx1ZTogY3RcclxuICAgICAgfSkpO1xyXG4gICAgICB0aGlzLmN0cmxDaGFubmVsVHlwZS5zZXRWYWx1ZSh7XHJcbiAgICAgICAgdmFsdWU6IFNweEFwcENoYW5uZWxUeXBlRW51bS5wcm9kdWN0aW9uLFxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25TdWJtaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNweFNlbGVjdC5lbWl0KHtcclxuICAgICAgY2hhbm5lbDogdGhpcy5jaGFubmVscz8uZmluZChjID0+IGMuYnJhbmQgPT09IHZhbHVlUGFpclRvVmFsdWUodGhpcy5jdHJsQ2hhbm5lbC52YWx1ZSkpLFxyXG4gICAgICBjaGFubmVsVHlwZTogdmFsdWVQYWlyVG9WYWx1ZSh0aGlzLmN0cmxDaGFubmVsVHlwZS52YWx1ZSksXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNyZWF0ZUZvcm0oKTogRm9ybUdyb3VwIHtcclxuICAgIHJldHVybiBTcHhGb3JtVmlld0NvbXBvbmVudC5jcmVhdGVGb3JtKHRoaXMuZm9ybUJ1aWxkZXIsIHRoaXMuZm9ybS5zZWN0aW9ucyk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './spx-check-digit.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hlY2stZGlnaXQvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcHgtY2hlY2stZGlnaXQuY29tcG9uZW50JztcclxuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mdHBhay1jb21wb25lbnRzLXNweC1jaGVjay1kaWdpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hlY2stZGlnaXQvc29mdHBhay1jb21wb25lbnRzLXNweC1jaGVjay1kaWdpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { Component, Input, ViewChild } from '@angular/core';
|
|
2
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
3
|
-
import { combineLatest, map, startWith } from 'rxjs';
|
|
4
|
-
import { spxValidatorRequired, spxValidatorMaxLength, spxValidatorMinLength, spxValidatorPattern, SpxValidateControlComponent } from '@softpak/components/spx-validation';
|
|
5
|
-
import { calcCheckDigit, valuePairToValue } from '@softpak/components/spx-helpers';
|
|
6
|
-
import { SpxInputComponent, SpxInputTypeEnum } from '@softpak/components/spx-inputs';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/forms";
|
|
9
|
-
const ctrlCheckDigit = 'checkDigit';
|
|
10
|
-
const ctrlContainerNumber = 'containerNumber';
|
|
11
|
-
const ctrlPrefix = 'prefix';
|
|
12
|
-
export class SpxCheckDigitComponent {
|
|
13
|
-
get ctrlCheckDigit() { return this.formGroup.get(ctrlCheckDigit); }
|
|
14
|
-
get ctrlContainerNumber() { return this.formGroup.get(ctrlContainerNumber); }
|
|
15
|
-
get ctrlContainerPrefix() { return this.formGroup.get(ctrlPrefix); }
|
|
16
|
-
constructor(formBuilder) {
|
|
17
|
-
this.formBuilder = formBuilder;
|
|
18
|
-
this.inputTypeOverlayNumber = SpxInputTypeEnum.overlayNumber;
|
|
19
|
-
this.inputTypeText = SpxInputTypeEnum.text;
|
|
20
|
-
this.formGroup = this.formBuilder.group({
|
|
21
|
-
[ctrlCheckDigit]: [null, []],
|
|
22
|
-
[ctrlContainerNumber]: [null, [
|
|
23
|
-
spxValidatorRequired(),
|
|
24
|
-
spxValidatorMaxLength(6),
|
|
25
|
-
spxValidatorMinLength(6),
|
|
26
|
-
spxValidatorPattern(/[0-9]{6}/),
|
|
27
|
-
]],
|
|
28
|
-
[ctrlPrefix]: [null, [
|
|
29
|
-
spxValidatorRequired(),
|
|
30
|
-
spxValidatorMaxLength(4),
|
|
31
|
-
spxValidatorMinLength(4),
|
|
32
|
-
spxValidatorPattern(/[a-zA-Z]{4}/),
|
|
33
|
-
]],
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
ngOnInit() {
|
|
37
|
-
this.inputChanges = combineLatest([
|
|
38
|
-
this.ctrlContainerNumber.valueChanges.pipe(startWith(this.ctrlContainerNumber.value)),
|
|
39
|
-
this.ctrlContainerPrefix.valueChanges.pipe(startWith(this.ctrlContainerPrefix.value)),
|
|
40
|
-
])
|
|
41
|
-
.pipe(map(([containerNumber$, prefix$]) => ({
|
|
42
|
-
containerNumber: containerNumber$,
|
|
43
|
-
prefix: prefix$
|
|
44
|
-
})))
|
|
45
|
-
.subscribe((v) => {
|
|
46
|
-
if (this.ctrlContainerNumber.invalid || this.ctrlContainerPrefix.invalid) {
|
|
47
|
-
this.ctrlCheckDigit.setValue(null, { emitEvent: false });
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
const prefix = valuePairToValue(this.ctrlContainerPrefix.value);
|
|
51
|
-
const containerNumber = valuePairToValue(this.ctrlContainerNumber.value);
|
|
52
|
-
const checkDigit = calcCheckDigit(`${prefix}${containerNumber}`);
|
|
53
|
-
this.ctrlCheckDigit.setValue({ value: checkDigit }, { emitEvent: false });
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
ngAfterViewInit() {
|
|
58
|
-
setTimeout(() => {
|
|
59
|
-
this.ctrlContainerNumberRef?.setFocusIn();
|
|
60
|
-
}, 250);
|
|
61
|
-
}
|
|
62
|
-
ngOnDestroy() {
|
|
63
|
-
if (this.inputChanges) {
|
|
64
|
-
this.inputChanges.unsubscribe();
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
getRawValidators(formControl) {
|
|
68
|
-
return formControl._rawValidators;
|
|
69
|
-
}
|
|
70
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxCheckDigitComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
71
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SpxCheckDigitComponent, isStandalone: true, selector: "spx-check-digit", inputs: { txtCheckDigit: "txtCheckDigit", txtContainer: "txtContainer", txtPrefix: "txtPrefix" }, viewQueries: [{ propertyName: "ctrlContainerNumberRef", first: true, predicate: ["ctrlContainerNumberRef"], descendants: true }], ngImport: i0, template: "<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\">\r\n <spx-input\r\n #ctrlContainerNumberRef\r\n [formControl]=\"ctrlContainerNumber\"\r\n [spxAutofocus]=\"true\"\r\n [spxCapitalize]=\"true\"\r\n [spxLabel]=\"txtContainer\"\r\n [spxPattern]=\"'[0-9]*'\"\r\n [spxRequired]=\"true\"\r\n [spxShowValidationMessages]=\"ctrlContainerNumber && ctrlContainerNumber.errors && ctrlContainerNumber.touched\"\r\n [spxType]=\"inputTypeOverlayNumber\"\r\n [spxValidators]=\"getRawValidators(ctrlContainerNumber)\">\r\n <spx-validate-control [control]=\"ctrlContainerNumber\" [label]=\"txtContainer\"></spx-validate-control>\r\n </spx-input>\r\n <spx-input\r\n [formControl]=\"ctrlContainerPrefix\"\r\n [spxCapitalize]=\"true\"\r\n [spxLabel]=\"txtPrefix\"\r\n [spxRequired]=\"true\"\r\n [spxShowValidationMessages]=\"ctrlContainerPrefix && ctrlContainerPrefix.errors && ctrlContainerPrefix.touched\"\r\n [spxType]=\"inputTypeText\"\r\n [spxValidators]=\"getRawValidators(ctrlContainerPrefix)\">\r\n <spx-validate-control [control]=\"ctrlContainerPrefix\" [label]=\"txtPrefix\"></spx-validate-control>\r\n </spx-input>\r\n @if (ctrlCheckDigit.value) {\r\n <spx-input\r\n [formControl]=\"ctrlCheckDigit\"\r\n [spxLabel]=\"txtCheckDigit\"\r\n [spxReadonly]=\"true\"\r\n [spxType]=\"inputTypeText\">\r\n </spx-input>\r\n }\r\n</form>", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: SpxValidateControlComponent, selector: "spx-validate-control", inputs: ["control", "label", "submitTried"] }, { kind: "component", type: SpxInputComponent, selector: "spx-input", inputs: ["spxLabel", "spxMax", "spxMin", "spxName", "spxReadonly", "spxAutocomplete", "spxAutofocus", "spxInputMode", "spxPattern", "spxRequired", "spxSelectMonth", "spxSelectDay", "spxShowEdit", "spxShowHelp", "spxShowLabel", "spxCompact", "spxShowClear", "spxShowSearch", "spxAlertMessageSeverity", "spxShowValidationMessages", "spxStep", "spxSuggestions", "spxType", "spxValidators", "value", "spxCapitalize", "spxFocused"], outputs: ["spxBlur", "spxClear", "spxChange", "spxFocus", "spxEdit", "spxHelp", "spxSearch"] }] }); }
|
|
72
|
-
}
|
|
73
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxCheckDigitComponent, decorators: [{
|
|
74
|
-
type: Component,
|
|
75
|
-
args: [{ selector: 'spx-check-digit', standalone: true, imports: [
|
|
76
|
-
FormsModule,
|
|
77
|
-
ReactiveFormsModule,
|
|
78
|
-
SpxValidateControlComponent,
|
|
79
|
-
SpxInputComponent
|
|
80
|
-
], template: "<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\">\r\n <spx-input\r\n #ctrlContainerNumberRef\r\n [formControl]=\"ctrlContainerNumber\"\r\n [spxAutofocus]=\"true\"\r\n [spxCapitalize]=\"true\"\r\n [spxLabel]=\"txtContainer\"\r\n [spxPattern]=\"'[0-9]*'\"\r\n [spxRequired]=\"true\"\r\n [spxShowValidationMessages]=\"ctrlContainerNumber && ctrlContainerNumber.errors && ctrlContainerNumber.touched\"\r\n [spxType]=\"inputTypeOverlayNumber\"\r\n [spxValidators]=\"getRawValidators(ctrlContainerNumber)\">\r\n <spx-validate-control [control]=\"ctrlContainerNumber\" [label]=\"txtContainer\"></spx-validate-control>\r\n </spx-input>\r\n <spx-input\r\n [formControl]=\"ctrlContainerPrefix\"\r\n [spxCapitalize]=\"true\"\r\n [spxLabel]=\"txtPrefix\"\r\n [spxRequired]=\"true\"\r\n [spxShowValidationMessages]=\"ctrlContainerPrefix && ctrlContainerPrefix.errors && ctrlContainerPrefix.touched\"\r\n [spxType]=\"inputTypeText\"\r\n [spxValidators]=\"getRawValidators(ctrlContainerPrefix)\">\r\n <spx-validate-control [control]=\"ctrlContainerPrefix\" [label]=\"txtPrefix\"></spx-validate-control>\r\n </spx-input>\r\n @if (ctrlCheckDigit.value) {\r\n <spx-input\r\n [formControl]=\"ctrlCheckDigit\"\r\n [spxLabel]=\"txtCheckDigit\"\r\n [spxReadonly]=\"true\"\r\n [spxType]=\"inputTypeText\">\r\n </spx-input>\r\n }\r\n</form>" }]
|
|
81
|
-
}], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { txtCheckDigit: [{
|
|
82
|
-
type: Input
|
|
83
|
-
}], txtContainer: [{
|
|
84
|
-
type: Input
|
|
85
|
-
}], txtPrefix: [{
|
|
86
|
-
type: Input
|
|
87
|
-
}], ctrlContainerNumberRef: [{
|
|
88
|
-
type: ViewChild,
|
|
89
|
-
args: ['ctrlContainerNumberRef']
|
|
90
|
-
}] } });
|
|
91
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWNoZWNrLWRpZ2l0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hlY2stZGlnaXQvc3B4LWNoZWNrLWRpZ2l0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hlY2stZGlnaXQvc3B4LWNoZWNrLWRpZ2l0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQXVDLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3ZHLE9BQU8sRUFBZ0IsYUFBYSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLG1CQUFtQixFQUFFLDJCQUEyQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDMUssT0FBTyxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRW5GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7QUFFckYsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDO0FBQ3BDLE1BQU0sbUJBQW1CLEdBQUcsaUJBQWlCLENBQUM7QUFDOUMsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDO0FBYTVCLE1BQU0sT0FBTyxzQkFBc0I7SUFTakMsSUFBSSxjQUFjLEtBQWtCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFnQixDQUFDLENBQUMsQ0FBQztJQUMvRixJQUFJLG1CQUFtQixLQUFrQixPQUFP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QUFXO1FBQ1QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUVELGdCQUFnQixDQUFDLFdBQXdCO1FBQ3ZDLE9BQVEsV0FBbUIsQ0FBQyxjQUFjLENBQUM7SUFDN0MsQ0FBQzsrR0F0RVUsc0JBQXNCO21HQUF0QixzQkFBc0IsK1NDdkJuQyw2NUNBZ0NPLDJDRGZILFdBQVcsMllBQ1gsbUJBQW1CLG1XQUNuQiwyQkFBMkIsOEdBQzNCLGlCQUFpQjs7NEZBR1Isc0JBQXNCO2tCQVhsQyxTQUFTOytCQUNFLGlCQUFpQixjQUVmLElBQUksV0FDUDt3QkFDUCxXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsMkJBQTJCO3dCQUMzQixpQkFBaUI7cUJBQ3BCO2dGQUdVLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUMrQixzQkFBc0I7c0JBQTFELFNBQVM7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBjb21iaW5lTGF0ZXN0LCBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBzcHhWYWxpZGF0b3JSZXF1aXJlZCwgc3B4VmFsaWRhdG9yTWF4TGVuZ3RoLCBzcHhWYWxpZGF0b3JNaW5MZW5ndGgsIHNweFZhbGlkYXRvclBhdHRlcm4sIFNweFZhbGlkYXRlQ29udHJvbENvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LXZhbGlkYXRpb24nO1xyXG5pbXBvcnQgeyBjYWxjQ2hlY2tEaWdpdCwgdmFsdWVQYWlyVG9WYWx1ZSB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWhlbHBlcnMnO1xyXG5cclxuaW1wb3J0IHsgU3B4SW5wdXRDb21wb25lbnQsIFNweElucHV0VHlwZUVudW0gfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1pbnB1dHMnO1xyXG5cclxuY29uc3QgY3RybENoZWNrRGlnaXQgPSAnY2hlY2tEaWdpdCc7XHJcbmNvbnN0IGN0cmxDb250YWluZXJOdW1iZXIgPSAnY29udGFpbmVyTnVtYmVyJztcclxuY29uc3QgY3RybFByZWZpeCA9ICdwcmVmaXgnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzcHgtY2hlY2stZGlnaXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zcHgtY2hlY2stZGlnaXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgU3B4VmFsaWRhdGVDb250cm9sQ29tcG9uZW50LFxyXG4gICAgU3B4SW5wdXRDb21wb25lbnRcclxuXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3B4Q2hlY2tEaWdpdENvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgdHh0Q2hlY2tEaWdpdCE6IHN0cmluZztcclxuICBASW5wdXQoKSB0eHRDb250YWluZXIhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgdHh0UHJlZml4ITogc3RyaW5nO1xyXG4gIEBWaWV3Q2hpbGQoJ2N0cmxDb250YWluZXJOdW1iZXJSZWYnKSBjdHJsQ29udGFpbmVyTnVtYmVyUmVmPzogU3B4SW5wdXRDb21wb25lbnQ7XHJcbiAgaW5wdXRUeXBlT3ZlcmxheU51bWJlciA9IFNweElucHV0VHlwZUVudW0ub3ZlcmxheU51bWJlcjtcclxuICBpbnB1dFR5cGVUZXh0ID0gU3B4SW5wdXRUeXBlRW51bS50ZXh0O1xyXG4gIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xyXG5cclxuICBnZXQgY3RybENoZWNrRGlnaXQoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KGN0cmxDaGVja0RpZ2l0KSBhcyBGb3JtQ29udHJvbDsgfVxyXG4gIGdldCBjdHJsQ29udGFpbmVyTnVtYmVyKCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChjdHJsQ29udGFpbmVyTnVtYmVyKSBhcyBGb3JtQ29udHJvbDsgfVxyXG4gIGdldCBjdHJsQ29udGFpbmVyUHJlZml4KCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChjdHJsUHJlZml4KSBhcyBGb3JtQ29udHJvbDsgfVxyXG5cclxuICBwcml2YXRlIGlucHV0Q2hhbmdlcz86IFN1YnNjcmlwdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcclxuICApIHtcclxuICAgIHRoaXMuZm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgIFtjdHJsQ2hlY2tEaWdpdF06IFtudWxsLCBbXV0sXHJcbiAgICAgIFtjdHJsQ29udGFpbmVyTnVtYmVyXTogW251bGwsIFtcclxuICAgICAgICBzcHhWYWxpZGF0b3JSZXF1aXJlZCgpLFxyXG4gICAgICAgIHNweFZhbGlkYXRvck1heExlbmd0aCg2KSxcclxuICAgICAgICBzcHhWYWxpZGF0b3JNaW5MZW5ndGgoNiksXHJcbiAgICAgICAgc3B4VmFsaWRhdG9yUGF0dGVybigvWzAtOV17Nn0vKSxcclxuICAgICAgXV0sXHJcbiAgICAgIFtjdHJsUHJlZml4XTogW251bGwsIFtcclxuICAgICAgICBzcHhWYWxpZGF0b3JSZXF1aXJlZCgpLFxyXG4gICAgICAgIHNweFZhbGlkYXRvck1heExlbmd0aCg0KSxcclxuICAgICAgICBzcHhWYWxpZGF0b3JNaW5MZW5ndGgoNCksXHJcbiAgICAgICAgc3B4VmFsaWRhdG9yUGF0dGVybigvW2EtekEtWl17NH0vKSxcclxuICAgICAgXV0sXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlucHV0Q2hhbmdlcyA9IGNvbWJpbmVMYXRlc3QoW1xyXG4gICAgICB0aGlzLmN0cmxDb250YWluZXJOdW1iZXIudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuY3RybENvbnRhaW5lck51bWJlci52YWx1ZSkpLFxyXG4gICAgICB0aGlzLmN0cmxDb250YWluZXJQcmVmaXgudmFsdWVDaGFuZ2VzLnBpcGUoc3RhcnRXaXRoKHRoaXMuY3RybENvbnRhaW5lclByZWZpeC52YWx1ZSkpLFxyXG4gICAgXSlcclxuICAgIC5waXBlKG1hcCgoW2NvbnRhaW5lck51bWJlciQsIHByZWZpeCRdKSA9PiAoe1xyXG4gICAgICBjb250YWluZXJOdW1iZXI6IGNvbnRhaW5lck51bWJlciQsXHJcbiAgICAgIHByZWZpeDogcHJlZml4JFxyXG4gICAgfSkpKVxyXG4gICAgLnN1YnNjcmliZSgodikgPT4ge1xyXG4gICAgICBpZiAodGhpcy5jdHJsQ29udGFpbmVyTnVtYmVyLmludmFsaWQgfHwgdGhpcy5jdHJsQ29udGFpbmVyUHJlZml4LmludmFsaWQpIHtcclxuICAgICAgICB0aGlzLmN0cmxDaGVja0RpZ2l0LnNldFZhbHVlKG51bGwsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBwcmVmaXggPSB2YWx1ZVBhaXJUb1ZhbHVlKHRoaXMuY3RybENvbnRhaW5lclByZWZpeC52YWx1ZSk7XHJcbiAgICAgICAgY29uc3QgY29udGFpbmVyTnVtYmVyID0gdmFsdWVQYWlyVG9WYWx1ZSh0aGlzLmN0cmxDb250YWluZXJOdW1iZXIudmFsdWUpO1xyXG4gICAgICAgIGNvbnN0IGNoZWNrRGlnaXQgPSBjYWxjQ2hlY2tEaWdpdChgJHtwcmVmaXh9JHtjb250YWluZXJOdW1iZXJ9YCk7XHJcbiAgICAgICAgdGhpcy5jdHJsQ2hlY2tEaWdpdC5zZXRWYWx1ZSh7IHZhbHVlOiBjaGVja0RpZ2l0IH0sIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5jdHJsQ29udGFpbmVyTnVtYmVyUmVmPy5zZXRGb2N1c0luKCk7IFxyXG4gICAgfSwgMjUwKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaW5wdXRDaGFuZ2VzKSB7XHJcbiAgICAgIHRoaXMuaW5wdXRDaGFuZ2VzLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRSYXdWYWxpZGF0b3JzKGZvcm1Db250cm9sOiBGb3JtQ29udHJvbCkge1xyXG4gICAgcmV0dXJuIChmb3JtQ29udHJvbCBhcyBhbnkpLl9yYXdWYWxpZGF0b3JzO1xyXG4gIH1cclxufVxyXG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIGNsYXNzPVwibWF4LXctbGcgbXgtYXV0byBmbGV4IGZsZXgtY29sIGdhcC0zXCI+XHJcbiAgPHNweC1pbnB1dFxyXG4gICAgI2N0cmxDb250YWluZXJOdW1iZXJSZWZcclxuICAgIFtmb3JtQ29udHJvbF09XCJjdHJsQ29udGFpbmVyTnVtYmVyXCJcclxuICAgIFtzcHhBdXRvZm9jdXNdPVwidHJ1ZVwiXHJcbiAgICBbc3B4Q2FwaXRhbGl6ZV09XCJ0cnVlXCJcclxuICAgIFtzcHhMYWJlbF09XCJ0eHRDb250YWluZXJcIlxyXG4gICAgW3NweFBhdHRlcm5dPVwiJ1swLTldKidcIlxyXG4gICAgW3NweFJlcXVpcmVkXT1cInRydWVcIlxyXG4gICAgW3NweFNob3dWYWxpZGF0aW9uTWVzc2FnZXNdPVwiY3RybENvbnRhaW5lck51bWJlciAmJiBjdHJsQ29udGFpbmVyTnVtYmVyLmVycm9ycyAmJiBjdHJsQ29udGFpbmVyTnVtYmVyLnRvdWNoZWRcIlxyXG4gICAgW3NweFR5cGVdPVwiaW5wdXRUeXBlT3ZlcmxheU51bWJlclwiXHJcbiAgICBbc3B4VmFsaWRhdG9yc109XCJnZXRSYXdWYWxpZGF0b3JzKGN0cmxDb250YWluZXJOdW1iZXIpXCI+XHJcbiAgICA8c3B4LXZhbGlkYXRlLWNvbnRyb2wgW2NvbnRyb2xdPVwiY3RybENvbnRhaW5lck51bWJlclwiIFtsYWJlbF09XCJ0eHRDb250YWluZXJcIj48L3NweC12YWxpZGF0ZS1jb250cm9sPlxyXG4gIDwvc3B4LWlucHV0PlxyXG4gIDxzcHgtaW5wdXRcclxuICAgIFtmb3JtQ29udHJvbF09XCJjdHJsQ29udGFpbmVyUHJlZml4XCJcclxuICAgIFtzcHhDYXBpdGFsaXplXT1cInRydWVcIlxyXG4gICAgW3NweExhYmVsXT1cInR4dFByZWZpeFwiXHJcbiAgICBbc3B4UmVxdWlyZWRdPVwidHJ1ZVwiXHJcbiAgICBbc3B4U2hvd1ZhbGlkYXRpb25NZXNzYWdlc109XCJjdHJsQ29udGFpbmVyUHJlZml4ICYmIGN0cmxDb250YWluZXJQcmVmaXguZXJyb3JzICYmIGN0cmxDb250YWluZXJQcmVmaXgudG91Y2hlZFwiXHJcbiAgICBbc3B4VHlwZV09XCJpbnB1dFR5cGVUZXh0XCJcclxuICAgIFtzcHhWYWxpZGF0b3JzXT1cImdldFJhd1ZhbGlkYXRvcnMoY3RybENvbnRhaW5lclByZWZpeClcIj5cclxuICAgIDxzcHgtdmFsaWRhdGUtY29udHJvbCBbY29udHJvbF09XCJjdHJsQ29udGFpbmVyUHJlZml4XCIgW2xhYmVsXT1cInR4dFByZWZpeFwiPjwvc3B4LXZhbGlkYXRlLWNvbnRyb2w+XHJcbiAgPC9zcHgtaW5wdXQ+XHJcbiAgQGlmIChjdHJsQ2hlY2tEaWdpdC52YWx1ZSkge1xyXG4gICAgPHNweC1pbnB1dFxyXG4gICAgICBbZm9ybUNvbnRyb2xdPVwiY3RybENoZWNrRGlnaXRcIlxyXG4gICAgICBbc3B4TGFiZWxdPVwidHh0Q2hlY2tEaWdpdFwiXHJcbiAgICAgIFtzcHhSZWFkb25seV09XCJ0cnVlXCJcclxuICAgICAgW3NweFR5cGVdPVwiaW5wdXRUeXBlVGV4dFwiPlxyXG4gICAgPC9zcHgtaW5wdXQ+XHJcbiAgfVxyXG48L2Zvcm0+Il19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './spx-form-section.component';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtZm9ybS1zZWN0aW9uL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw4QkFBOEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3B4LWZvcm0tc2VjdGlvbi5jb21wb25lbnQnO1xyXG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29mdHBhay1jb21wb25lbnRzLXNweC1mb3JtLXNlY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWZvcm0tc2VjdGlvbi9zb2Z0cGFrLWNvbXBvbmVudHMtc3B4LWZvcm0tc2VjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|