@softpak/components 0.1.3-beta.28 → 0.1.3-beta.29

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.
@@ -5,7 +5,7 @@ import { CommonModule } from '@angular/common';
5
5
  import { SpxInputComponent, SpxInputTypeEnum } from '@softpak/components/spx-inputs';
6
6
  import { SpxFormViewComponent } from '@softpak/components/spx-form-view';
7
7
  import { SpxButtonComponent } from '@softpak/components/spx-button';
8
- import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
8
+ import { SpxSeverityEnum, valuePairToValue } from '@softpak/components/spx-helpers';
9
9
  import * as i0 from "@angular/core";
10
10
  import * as i1 from "@angular/forms";
11
11
  export const sectionChangeDetails = 'changeDetails';
@@ -17,15 +17,16 @@ export const ctrlCustomer = 'customer';
17
17
  export const ctrlTonsTested = 'tonsTested';
18
18
  export const ctrlLicensePlate = 'licensePlate';
19
19
  export const ctrlCategory = 'category';
20
+ export const ctrlUseCategories = 'useCategories';
20
21
  export class SpxChangeDetailsComponent {
21
22
  get ctrlCategory() { return this.formGroup.get(ctrlCategory); }
22
23
  get ctrlCustomer() { return this.formGroup.get(ctrlCustomer); }
23
24
  get ctrlContainerType() { return this.formGroup.get(ctrlContainerType); }
24
25
  get ctrlLicensePlate() { return this.formGroup.get(ctrlLicensePlate); }
25
26
  get ctrlTonsTested() { return this.formGroup.get(ctrlTonsTested); }
27
+ get ctrlUseCategories() { return this.formGroup.get(ctrlUseCategories); }
26
28
  constructor(formBuilder) {
27
29
  this.formBuilder = formBuilder;
28
- this.showCategory = false;
29
30
  this.suggestions = {};
30
31
  this.spxBlurCategory = new EventEmitter();
31
32
  this.spxBlurContainerType = new EventEmitter();
@@ -90,13 +91,18 @@ export class SpxChangeDetailsComponent {
90
91
  label: () => this.txtLicensePlate,
91
92
  capitalize: () => true,
92
93
  },
94
+ {
95
+ key: ctrlUseCategories,
96
+ type: () => SpxInputTypeEnum.hidden,
97
+ capitalize: () => true,
98
+ },
93
99
  {
94
100
  key: ctrlCategory,
95
101
  type: () => SpxInputTypeEnum.autocomplete,
96
102
  label: () => this.txtCategory,
97
103
  capitalize: () => true,
98
- show: () => this.showCategory,
99
- validators: () => this.showCategory ? [spxValidatorRequired()] : [],
104
+ show: () => valuePairToValue(this.ctrlUseCategories.value),
105
+ validators: () => valuePairToValue(this.ctrlUseCategories.value) ? [spxValidatorRequired()] : [],
100
106
  }
101
107
  ]
102
108
  }
@@ -137,7 +143,7 @@ export class SpxChangeDetailsComponent {
137
143
  }
138
144
  onSubmit() {
139
145
  this.submit.emit({
140
- category: this.ctrlCategory.value,
146
+ category: valuePairToValue(this.ctrlUseCategories.value) ? this.ctrlCategory.value : null,
141
147
  containerType: this.ctrlContainerType.value,
142
148
  licensePlate: this.ctrlLicensePlate.value,
143
149
  tonsTested: this.ctrlTonsTested.value,
@@ -150,7 +156,7 @@ export class SpxChangeDetailsComponent {
150
156
  });
151
157
  }
152
158
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxChangeDetailsComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
153
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SpxChangeDetailsComponent, isStandalone: true, selector: "spx-change-details", inputs: { formGroup: "formGroup", showCategory: "showCategory", suggestions: "suggestions", txtCategory: "txtCategory", txtContainerNumber: "txtContainerNumber", txtContainerPrefix: "txtContainerPrefix", txtContainerType: "txtContainerType", txtCustomer: "txtCustomer", txtLicensePlate: "txtLicensePlate", txtTonsTested: "txtTonsTested" }, 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()\">\n <spx-form-view\n [spxFormGroup]=\"formGroup\"\n [spxSections]=\"sections\"\n [spxSuggestions]=\"suggestions\"\n (spxBlur)=\"onBlur($event)\"\n (spxSearch)=\"onSearch($event)\">\n </spx-form-view>\n <spx-button\n [spxFullWidth]=\"true\"\n [spxSeverity]=\"severitySuccess\">\n Save\n </spx-button>\n</form>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: SpxButtonComponent, selector: "spx-button", inputs: ["spxDisabled", "spxClass", "spxClassObject", "spxForm", "spxFullHeight", "spxFullWidth", "spxSeverity", "spxSize", "spxTabIndex", "spxType"], outputs: ["spxClick"] }, { kind: "component", type: SpxFormViewComponent, selector: "spx-form-view", inputs: ["spxFormGroup", "spxSections", "spxSuggestions"], outputs: ["spxBlur", "spxClick", "spxSearch"] }] }); }
159
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SpxChangeDetailsComponent, isStandalone: true, selector: "spx-change-details", inputs: { formGroup: "formGroup", suggestions: "suggestions", txtCategory: "txtCategory", txtContainerNumber: "txtContainerNumber", txtContainerPrefix: "txtContainerPrefix", txtContainerType: "txtContainerType", txtCustomer: "txtCustomer", txtLicensePlate: "txtLicensePlate", txtTonsTested: "txtTonsTested" }, 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()\">\n <spx-form-view\n [spxFormGroup]=\"formGroup\"\n [spxSections]=\"sections\"\n [spxSuggestions]=\"suggestions\"\n (spxBlur)=\"onBlur($event)\"\n (spxSearch)=\"onSearch($event)\">\n </spx-form-view>\n <spx-button\n [spxFullWidth]=\"true\"\n [spxSeverity]=\"severitySuccess\">\n Save\n </spx-button>\n</form>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: SpxButtonComponent, selector: "spx-button", inputs: ["spxDisabled", "spxClass", "spxClassObject", "spxForm", "spxFullHeight", "spxFullWidth", "spxSeverity", "spxSize", "spxTabIndex", "spxType"], outputs: ["spxClick"] }, { kind: "component", type: SpxFormViewComponent, selector: "spx-form-view", inputs: ["spxFormGroup", "spxSections", "spxSuggestions"], outputs: ["spxBlur", "spxClick", "spxSearch"] }] }); }
154
160
  }
155
161
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxChangeDetailsComponent, decorators: [{
156
162
  type: Component,
@@ -165,8 +171,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
165
171
  ], template: "<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\n <spx-form-view\n [spxFormGroup]=\"formGroup\"\n [spxSections]=\"sections\"\n [spxSuggestions]=\"suggestions\"\n (spxBlur)=\"onBlur($event)\"\n (spxSearch)=\"onSearch($event)\">\n </spx-form-view>\n <spx-button\n [spxFullWidth]=\"true\"\n [spxSeverity]=\"severitySuccess\">\n Save\n </spx-button>\n</form>" }]
166
172
  }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { formGroup: [{
167
173
  type: Input
168
- }], showCategory: [{
169
- type: Input
170
174
  }], suggestions: [{
171
175
  type: Input
172
176
  }], txtCategory: [{
@@ -196,4 +200,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
196
200
  }], submit: [{
197
201
  type: Output
198
202
  }] } });
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWNoYW5nZS1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hhbmdlLWRldGFpbHMvc3B4LWNoYW5nZS1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hhbmdlLWRldGFpbHMvc3B4LWNoYW5nZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUF1QyxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFnQixNQUFNLGdDQUFnQyxDQUFDO0FBQ25HLE9BQU8sRUFBa0Msb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQUdsRSxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxlQUFlLENBQUM7QUFDcEQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsaUJBQWlCLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsaUJBQWlCLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsZ0JBQWdCLENBQUM7QUFD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QWU7c0JBQXZCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csc0JBQXNCO3NCQUEvQixNQUFNO2dCQUNHLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzcHhWYWxpZGF0b3JSZXF1aXJlZCwgU3B4VmFsaWRhdGVDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU3B4SW5wdXRDb21wb25lbnQsIFNweElucHV0VHlwZUVudW0sIFNweFZhbHVlUGFpciB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWlucHV0cyc7XG5pbXBvcnQgeyBTcHhGb3JtRmllbGRJLCBTcHhGb3JtU2VjdGlvbkksIFNweEZvcm1WaWV3Q29tcG9uZW50IH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtZm9ybS12aWV3JztcbmltcG9ydCB7IFNweEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWJ1dHRvbic7XG5pbXBvcnQgeyBTcHhTZXZlcml0eUVudW0gfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1oZWxwZXJzJztcbmltcG9ydCB7IFNweENoYW5nZURldGFpbHNWYWx1ZUkgfSBmcm9tICcuL3NweC1jaGFuZ2UtZGV0YWlscy12YWx1ZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3Qgc2VjdGlvbkNoYW5nZURldGFpbHMgPSAnY2hhbmdlRGV0YWlscyc7XG5leHBvcnQgY29uc3QgY3RybENvbnRhaW5lck51bWJlciA9ICdjb250YWluZXJOdW1iZXInO1xuZXhwb3J0IGNvbnN0IGN0cmxDb250YWluZXJQcmVmaXggPSAnY29udGFpbmVyUHJlZml4JztcbmV4cG9ydCBjb25zdCBjdHJsQ29udGFpbmVyU2VxTnIgPSAnY29udGFpbmVyU2VxTnInO1xuZXhwb3J0IGNvbnN0IGN0cmxDb250YWluZXJUeXBlID0gJ2NvbnRhaW5lclR5cGUnO1xuZXhwb3J0IGNvbnN0IGN0cmxDdXN0b21lciA9ICdjdXN0b21lcic7XG5leHBvcnQgY29uc3QgY3RybFRvbnNUZXN0ZWQgPSAndG9uc1Rlc3RlZCc7XG5leHBvcnQgY29uc3QgY3RybExpY2Vuc2VQbGF0ZSA9ICdsaWNlbnNlUGxhdGUnO1xuZXhwb3J0IGNvbnN0IGN0cmxDYXRlZ29yeSA9ICdjYXRlZ29yeSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NweC1jaGFuZ2UtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcHgtY2hhbmdlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgU3B4QnV0dG9uQ29tcG9uZW50LFxuICAgIFNweEZvcm1WaWV3Q29tcG9uZW50LFxuICAgIFNweElucHV0Q29tcG9uZW50LFxuICAgIFNweFZhbGlkYXRlQ29udHJvbENvbXBvbmVudCxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTcHhDaGFuZ2VEZXRhaWxzQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBzaG93Q2F0ZWdvcnkgPSBmYWxzZTtcbiAgQElucHV0KCkgc3VnZ2VzdGlvbnM6IGFueSA9IHt9O1xuICBASW5wdXQoKSB0eHRDYXRlZ29yeSE6IHN0cmluZztcbiAgQElucHV0KCkgdHh0Q29udGFpbmVyTnVtYmVyITogc3RyaW5nO1xuICBASW5wdXQoKSB0eHRDb250YWluZXJQcmVmaXghOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHR4dENvbnRhaW5lclR5cGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHR4dEN1c3RvbWVyITogc3RyaW5nO1xuICBASW5wdXQoKSB0eHRMaWNlbnNlUGxhdGUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHR4dFRvbnNUZXN0ZWQhOiBzdHJpbmc7XG4gIEBPdXRwdXQoKSBzcHhCbHVyQ2F0ZWdvcnk6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PigpO1xuICBAT3V0cHV0KCkgc3B4Qmx1ckNvbnRhaW5lclR5cGU6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PigpO1xuICBAT3V0cHV0KCkgc3B4U2VhcmNoQ2F0ZWdvcnk6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PigpO1xuICBAT3V0cHV0KCkgc3B4U2VhcmNoQ29udGFpbmVyVHlwZTogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+KCk7XG4gIEBPdXRwdXQoKSBzcHhTZWFyY2hUb25zVGVzdGVkOiBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4oKTtcbiAgQE91dHB1dCgpIHN1Ym1pdDogRXZlbnRFbWl0dGVyPFNweENoYW5nZURldGFpbHNWYWx1ZUk+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcHhDaGFuZ2VEZXRhaWxzVmFsdWVJPigpO1xuXG4gIGlucHV0VHlwZUF1dG9jb21wbGV0ZSA9IFNweElucHV0VHlwZUVudW0uYXV0b2NvbXBsZXRlO1xuICBpbnB1dFR5cGVSYWRpbyA9IFNweElucHV0VHlwZUVudW0ucmFkaW87XG4gIGlucHV0VHlwZVRleHQgPSBTcHhJbnB1dFR5cGVFbnVtLnRleHQ7XG4gIHNldmVyaXR5U3VjY2VzcyA9IFNweFNldmVyaXR5RW51bS5zdWNjZXNzO1xuICBcbiAgc2VjdGlvbnM6IFNweEZvcm1TZWN0aW9uSVtdID0gW1xuICAgIHtcbiAgICAgIGtleTogc2VjdGlvbkNoYW5nZURldGFpbHMsXG4gICAgICBzaG93VGl0bGU6ICgpID0+IGZhbHNlLFxuICAgICAgZmllbGRzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6IGN0cmxDb250YWluZXJOdW1iZXIsXG4gICAgICAgICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bS50ZXh0LFxuICAgICAgICAgIGxhYmVsOiAoKSA9PiB0aGlzLnR4dENvbnRhaW5lck51bWJlcixcbiAgICAgICAgICByZWFkb25seTogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICB2YWxpZGF0b3JzOiAoKSA9PiBbc3B4VmFsaWRhdG9yUmVxdWlyZWQoKV0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6IGN0cmxDb250YWluZXJQcmVmaXgsXG4gICAgICAgICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bS50ZXh0LFxuICAgICAgICAgIGxhYmVsOiAoKSA9PiB0aGlzLnR4dENvbnRhaW5lclByZWZpeCxcbiAgICAgICAgICBjYXBpdGFsaXplOiAoKSA9PiB0cnVlLFxuICAgICAgICAgIHJlYWRvbmx5OiAoKSA9PiB0cnVlLFxuICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IFtzcHhWYWxpZGF0b3JSZXF1aXJlZCgpXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGtleTogY3RybENvbnRhaW5lclNlcU5yLFxuICAgICAgICAgIHR5cGU6ICgpID0+IFNweElucHV0VHlwZUVudW0uaGlkZGVuLFxuICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IFtzcHhWYWxpZGF0b3JSZXF1aXJlZCgpXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGtleTogY3RybEN1c3RvbWVyLFxuICAgICAgICAgIHR5cGU6ICgpID0+IFNweElucHV0VHlwZUVudW0udGV4dCxcbiAgICAgICAgICBjYXBpdGFsaXplOiAoKSA9PiB0cnVlLFxuICAgICAgICAgIHJlYWRvbmx5OiAoKSA9PiB0cnVlLFxuICAgICAgICAgIGxhYmVsOiAoKSA9PiB0aGlzLnR4dEN1c3RvbWVyLFxuICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IFtzcHhWYWxpZGF0b3JSZXF1aXJlZCgpXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGtleTogY3RybENvbnRhaW5lclR5cGUsXG4gICAgICAgICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bS5hdXRvY29tcGxldGUsXG4gICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudHh0Q29udGFpbmVyVHlwZSxcbiAgICAgICAgICBjYXBpdGFsaXplOiAoKSA9PiB0cnVlLFxuICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IFtzcHhWYWxpZGF0b3JSZXF1aXJlZCgpXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGtleTogY3RybFRvbnNUZXN0ZWQsXG4gICAgICAgICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bS5yYWRpbyxcbiAgICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50eHRUb25zVGVzdGVkLFxuICAgICAgICAgIHNob3c6ICgpID0+IHRoaXMuc3VnZ2VzdGlvbnM/LltjdHJsVG9uc1Rlc3RlZF0gJiYgdGhpcy5zdWdnZXN0aW9ucz8uW2N0cmxUb25zVGVzdGVkXS5sZW5ndGggJiYgdGhpcy5zdWdnZXN0aW9ucz8uW2N0cmxUb25zVGVzdGVkXS5sZW5ndGggPiAwLFxuICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IHRoaXMuc3VnZ2VzdGlvbnM/LltjdHJsVG9uc1Rlc3RlZF0gJiYgdGhpcy5zdWdnZXN0aW9ucz8uW2N0cmxUb25zVGVzdGVkXS5sZW5ndGggJiYgdGhpcy5zdWdnZXN0aW9ucz8uW2N0cmxUb25zVGVzdGVkXS5sZW5ndGggPiAwID8gW3NweFZhbGlkYXRvclJlcXVpcmVkKCldIDogW10sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6IGN0cmxMaWNlbnNlUGxhdGUsXG4gICAgICAgICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bS50ZXh0LFxuICAgICAgICAgIGxhYmVsOiAoKSA9PiB0aGlzLnR4dExpY2Vuc2VQbGF0ZSxcbiAgICAgICAgICBjYXBpdGFsaXplOiAoKSA9PiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAga2V5OiBjdHJsQ2F0ZWdvcnksXG4gICAgICAgICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bS5hdXRvY29tcGxldGUsXG4gICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudHh0Q2F0ZWdvcnksXG4gICAgICAgICAgY2FwaXRhbGl6ZTogKCkgPT4gdHJ1ZSxcbiAgICAgICAgICBzaG93OiAoKSA9PiB0aGlzLnNob3dDYXRlZ29yeSxcbiAgICAgICAgICB2YWxpZGF0b3JzOiAoKSA9PiB0aGlzLnNob3dDYXRlZ29yeSA/IFtzcHhWYWxpZGF0b3JSZXF1aXJlZCgpXSA6IFtdLFxuICAgICAgICB9XG4gICAgICBdXG4gICAgfVxuICBdO1xuXG4gIGdldCBjdHJsQ2F0ZWdvcnkoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KGN0cmxDYXRlZ29yeSkgYXMgRm9ybUNvbnRyb2w7IH1cbiAgZ2V0IGN0cmxDdXN0b21lcigpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY3RybEN1c3RvbWVyKSBhcyBGb3JtQ29udHJvbDsgfVxuICBnZXQgY3RybENvbnRhaW5lclR5cGUoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KGN0cmxDb250YWluZXJUeXBlKSBhcyBGb3JtQ29udHJvbDsgfVxuICBnZXQgY3RybExpY2Vuc2VQbGF0ZSgpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY3RybExpY2Vuc2VQbGF0ZSkgYXMgRm9ybUNvbnRyb2w7IH1cbiAgZ2V0IGN0cmxUb25zVGVzdGVkKCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChjdHJsVG9uc1Rlc3RlZCkgYXMgRm9ybUNvbnRyb2w7IH1cblxuICBwcml2YXRlIHN1YkNvbnRhaW5lclR5cGU/OiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyKSB7XG4gIH1cblxuICBjcmVhdGVGb3JtKCk6IEZvcm1Hcm91cCB7XG4gICAgcmV0dXJuIFNweEZvcm1WaWV3Q29tcG9uZW50LmNyZWF0ZUZvcm0odGhpcy5mb3JtQnVpbGRlciwgdGhpcy5zZWN0aW9ucyk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRvQ29udGFpbmVyVHlwZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3ViQ29udGFpbmVyVHlwZSkge1xuICAgICAgdGhpcy5zdWJDb250YWluZXJUeXBlLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0UmF3VmFsaWRhdG9ycyhmb3JtQ29udHJvbDogRm9ybUNvbnRyb2wpIHtcbiAgICByZXR1cm4gKGZvcm1Db250cm9sIGFzIGFueSkuX3Jhd1ZhbGlkYXRvcnM7XG4gIH1cblxuICBvbkJsdXIoZGF0YTogeyBmaWVsZDogU3B4Rm9ybUZpZWxkSSwgdmFsdWVQYWlyOiBTcHhWYWx1ZVBhaXI8YW55PiB9KSB7XG4gICAgaWYgKGRhdGEuZmllbGQua2V5ID09PSBjdHJsQ2F0ZWdvcnkpIHtcbiAgICAgIHRoaXMuc3B4Qmx1ckNhdGVnb3J5LmVtaXQoZGF0YS52YWx1ZVBhaXIpO1xuICAgIH1cbiAgICBpZiAoZGF0YS5maWVsZC5rZXkgPT09IGN0cmxDb250YWluZXJUeXBlKSB7XG4gICAgICB0aGlzLnNweEJsdXJDb250YWluZXJUeXBlLmVtaXQoZGF0YS52YWx1ZVBhaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgb25TZWFyY2goZGF0YTogeyBmaWVsZDogU3B4Rm9ybUZpZWxkSSwgdmFsdWVQYWlyOiBTcHhWYWx1ZVBhaXI8YW55PiB9KSB7XG4gICAgaWYgKGRhdGEuZmllbGQua2V5ID09PSBjdHJsQ2F0ZWdvcnkpIHtcbiAgICAgIHRoaXMuc3B4U2VhcmNoQ2F0ZWdvcnkuZW1pdChkYXRhLnZhbHVlUGFpcik7XG4gICAgfVxuICAgIGlmIChkYXRhLmZpZWxkLmtleSA9PT0gY3RybENvbnRhaW5lclR5cGUpIHtcbiAgICAgIHRoaXMuc3B4U2VhcmNoQ29udGFpbmVyVHlwZS5lbWl0KGRhdGEudmFsdWVQYWlyKTtcbiAgICB9XG4gICAgaWYgKGRhdGEuZmllbGQua2V5ID09PSBjdHJsVG9uc1Rlc3RlZCkge1xuICAgICAgdGhpcy5zcHhTZWFyY2hUb25zVGVzdGVkLmVtaXQoZGF0YS52YWx1ZVBhaXIpO1xuICAgIH1cbiAgfVxuXG4gIG9uU3VibWl0KCk6IHZvaWQge1xuICAgIHRoaXMuc3VibWl0LmVtaXQoe1xuICAgICAgY2F0ZWdvcnk6IHRoaXMuY3RybENhdGVnb3J5LnZhbHVlLFxuICAgICAgY29udGFpbmVyVHlwZTogdGhpcy5jdHJsQ29udGFpbmVyVHlwZS52YWx1ZSxcbiAgICAgIGxpY2Vuc2VQbGF0ZTogdGhpcy5jdHJsTGljZW5zZVBsYXRlLnZhbHVlLFxuICAgICAgdG9uc1Rlc3RlZDogdGhpcy5jdHJsVG9uc1Rlc3RlZC52YWx1ZSxcbiAgICB9KVxuICB9XG5cbiAgcHJpdmF0ZSBsaXN0ZW5Ub0NvbnRhaW5lclR5cGUoKTogdm9pZCB7XG4gICAgdGhpcy5zdWJDb250YWluZXJUeXBlID0gdGhpcy5jdHJsQ29udGFpbmVyVHlwZS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlUGFpciA9PiB7XG4gICAgICB0aGlzLmN0cmxUb25zVGVzdGVkLnNldFZhbHVlKHsgdmFsdWU6IG51bGwgfSk7XG4gICAgICB0aGlzLnNweFNlYXJjaFRvbnNUZXN0ZWQuZW1pdCh2YWx1ZVBhaXIpO1xuICAgIH0pO1xuICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIGNsYXNzPVwibWF4LXctbGcgbXgtYXV0byBmbGV4IGZsZXgtY29sIGdhcC0zXCIgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIj5cbiAgPHNweC1mb3JtLXZpZXdcbiAgICBbc3B4Rm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gICAgW3NweFNlY3Rpb25zXT1cInNlY3Rpb25zXCJcbiAgICBbc3B4U3VnZ2VzdGlvbnNdPVwic3VnZ2VzdGlvbnNcIlxuICAgIChzcHhCbHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbiAgICAoc3B4U2VhcmNoKT1cIm9uU2VhcmNoKCRldmVudClcIj5cbiAgPC9zcHgtZm9ybS12aWV3PlxuICA8c3B4LWJ1dHRvblxuICAgIFtzcHhGdWxsV2lkdGhdPVwidHJ1ZVwiXG4gICAgW3NweFNldmVyaXR5XT1cInNldmVyaXR5U3VjY2Vzc1wiPlxuICAgIFNhdmVcbiAgPC9zcHgtYnV0dG9uPlxuPC9mb3JtPiJdfQ==
203
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWNoYW5nZS1kZXRhaWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hhbmdlLWRldGFpbHMvc3B4LWNoYW5nZS1kZXRhaWxzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtY2hhbmdlLWRldGFpbHMvc3B4LWNoYW5nZS1kZXRhaWxzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUF1QyxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGlCQUFpQixFQUFFLGdCQUFnQixFQUFnQixNQUFNLGdDQUFnQyxDQUFDO0FBQ25HLE9BQU8sRUFBa0Msb0JBQW9CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN6RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZUFBZSxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7OztBQUdwRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxlQUFlLENBQUM7QUFDcEQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsaUJBQWlCLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsaUJBQWlCLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsZ0JB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QixrQkFBa0IscU9BQ2xCLG9CQUFvQjs7MkZBS1gseUJBQXlCO2tCQWRyQyxTQUFTOytCQUNFLG9CQUFvQixjQUVsQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLGlCQUFpQjt3QkFDakIsMkJBQTJCO3FCQUM1QjtnRkFHUSxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDSSxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csc0JBQXNCO3NCQUEvQixNQUFNO2dCQUNHLG1CQUFtQjtzQkFBNUIsTUFBTTtnQkFDRyxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBzcHhWYWxpZGF0b3JSZXF1aXJlZCwgU3B4VmFsaWRhdGVDb250cm9sQ29tcG9uZW50IH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU3B4SW5wdXRDb21wb25lbnQsIFNweElucHV0VHlwZUVudW0sIFNweFZhbHVlUGFpciB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWlucHV0cyc7XG5pbXBvcnQgeyBTcHhGb3JtRmllbGRJLCBTcHhGb3JtU2VjdGlvbkksIFNweEZvcm1WaWV3Q29tcG9uZW50IH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtZm9ybS12aWV3JztcbmltcG9ydCB7IFNweEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWJ1dHRvbic7XG5pbXBvcnQgeyBTcHhTZXZlcml0eUVudW0sIHZhbHVlUGFpclRvVmFsdWUgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1oZWxwZXJzJztcbmltcG9ydCB7IFNweENoYW5nZURldGFpbHNWYWx1ZUkgfSBmcm9tICcuL3NweC1jaGFuZ2UtZGV0YWlscy12YWx1ZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQgY29uc3Qgc2VjdGlvbkNoYW5nZURldGFpbHMgPSAnY2hhbmdlRGV0YWlscyc7XG5leHBvcnQgY29uc3QgY3RybENvbnRhaW5lck51bWJlciA9ICdjb250YWluZXJOdW1iZXInO1xuZXhwb3J0IGNvbnN0IGN0cmxDb250YWluZXJQcmVmaXggPSAnY29udGFpbmVyUHJlZml4JztcbmV4cG9ydCBjb25zdCBjdHJsQ29udGFpbmVyU2VxTnIgPSAnY29udGFpbmVyU2VxTnInO1xuZXhwb3J0IGNvbnN0IGN0cmxDb250YWluZXJUeXBlID0gJ2NvbnRhaW5lclR5cGUnO1xuZXhwb3J0IGNvbnN0IGN0cmxDdXN0b21lciA9ICdjdXN0b21lcic7XG5leHBvcnQgY29uc3QgY3RybFRvbnNUZXN0ZWQgPSAndG9uc1Rlc3RlZCc7XG5leHBvcnQgY29uc3QgY3RybExpY2Vuc2VQbGF0ZSA9ICdsaWNlbnNlUGxhdGUnO1xuZXhwb3J0IGNvbnN0IGN0cmxDYXRlZ29yeSA9ICdjYXRlZ29yeSc7XG5leHBvcnQgY29uc3QgY3RybFVzZUNhdGVnb3JpZXMgPSAndXNlQ2F0ZWdvcmllcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NweC1jaGFuZ2UtZGV0YWlscycsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcHgtY2hhbmdlLWRldGFpbHMuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgU3B4QnV0dG9uQ29tcG9uZW50LFxuICAgIFNweEZvcm1WaWV3Q29tcG9uZW50LFxuICAgIFNweElucHV0Q29tcG9uZW50LFxuICAgIFNweFZhbGlkYXRlQ29udHJvbENvbXBvbmVudCxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTcHhDaGFuZ2VEZXRhaWxzQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZm9ybUdyb3VwITogRm9ybUdyb3VwO1xuICBASW5wdXQoKSBzdWdnZXN0aW9uczogYW55ID0ge307XG4gIEBJbnB1dCgpIHR4dENhdGVnb3J5ITogc3RyaW5nO1xuICBASW5wdXQoKSB0eHRDb250YWluZXJOdW1iZXIhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHR4dENvbnRhaW5lclByZWZpeCE6IHN0cmluZztcbiAgQElucHV0KCkgdHh0Q29udGFpbmVyVHlwZSE6IHN0cmluZztcbiAgQElucHV0KCkgdHh0Q3VzdG9tZXIhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHR4dExpY2Vuc2VQbGF0ZSE6IHN0cmluZztcbiAgQElucHV0KCkgdHh0VG9uc1Rlc3RlZCE6IHN0cmluZztcbiAgQE91dHB1dCgpIHNweEJsdXJDYXRlZ29yeTogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+KCk7XG4gIEBPdXRwdXQoKSBzcHhCbHVyQ29udGFpbmVyVHlwZTogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+KCk7XG4gIEBPdXRwdXQoKSBzcHhTZWFyY2hDYXRlZ29yeTogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+KCk7XG4gIEBPdXRwdXQoKSBzcHhTZWFyY2hDb250YWluZXJUeXBlOiBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPHN0cmluZz4+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4oKTtcbiAgQE91dHB1dCgpIHNweFNlYXJjaFRvbnNUZXN0ZWQ6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8c3RyaW5nPj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxzdHJpbmc+PigpO1xuICBAT3V0cHV0KCkgc3VibWl0OiBFdmVudEVtaXR0ZXI8U3B4Q2hhbmdlRGV0YWlsc1ZhbHVlST4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweENoYW5nZURldGFpbHNWYWx1ZUk+KCk7XG5cbiAgaW5wdXRUeXBlQXV0b2NvbXBsZXRlID0gU3B4SW5wdXRUeXBlRW51bS5hdXRvY29tcGxldGU7XG4gIGlucHV0VHlwZVJhZGlvID0gU3B4SW5wdXRUeXBlRW51bS5yYWRpbztcbiAgaW5wdXRUeXBlVGV4dCA9IFNweElucHV0VHlwZUVudW0udGV4dDtcbiAgc2V2ZXJpdHlTdWNjZXNzID0gU3B4U2V2ZXJpdHlFbnVtLnN1Y2Nlc3M7XG4gIFxuICBzZWN0aW9uczogU3B4Rm9ybVNlY3Rpb25JW10gPSBbXG4gICAge1xuICAgICAga2V5OiBzZWN0aW9uQ2hhbmdlRGV0YWlscyxcbiAgICAgIHNob3dUaXRsZTogKCkgPT4gZmFsc2UsXG4gICAgICBmaWVsZHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGtleTogY3RybENvbnRhaW5lck51bWJlcixcbiAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLnRleHQsXG4gICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudHh0Q29udGFpbmVyTnVtYmVyLFxuICAgICAgICAgIHJlYWRvbmx5OiAoKSA9PiB0cnVlLFxuICAgICAgICAgIHZhbGlkYXRvcnM6ICgpID0+IFtzcHhWYWxpZGF0b3JSZXF1aXJlZCgpXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGtleTogY3RybENvbnRhaW5lclByZWZpeCxcbiAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLnRleHQsXG4gICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudHh0Q29udGFpbmVyUHJlZml4LFxuICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXG4gICAgICAgICAgcmVhZG9ubHk6ICgpID0+IHRydWUsXG4gICAgICAgICAgdmFsaWRhdG9yczogKCkgPT4gW3NweFZhbGlkYXRvclJlcXVpcmVkKCldLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAga2V5OiBjdHJsQ29udGFpbmVyU2VxTnIsXG4gICAgICAgICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bS5oaWRkZW4sXG4gICAgICAgICAgdmFsaWRhdG9yczogKCkgPT4gW3NweFZhbGlkYXRvclJlcXVpcmVkKCldLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAga2V5OiBjdHJsQ3VzdG9tZXIsXG4gICAgICAgICAgdHlwZTogKCkgPT4gU3B4SW5wdXRUeXBlRW51bS50ZXh0LFxuICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXG4gICAgICAgICAgcmVhZG9ubHk6ICgpID0+IHRydWUsXG4gICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudHh0Q3VzdG9tZXIsXG4gICAgICAgICAgdmFsaWRhdG9yczogKCkgPT4gW3NweFZhbGlkYXRvclJlcXVpcmVkKCldLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAga2V5OiBjdHJsQ29udGFpbmVyVHlwZSxcbiAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLmF1dG9jb21wbGV0ZSxcbiAgICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50eHRDb250YWluZXJUeXBlLFxuICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXG4gICAgICAgICAgdmFsaWRhdG9yczogKCkgPT4gW3NweFZhbGlkYXRvclJlcXVpcmVkKCldLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAga2V5OiBjdHJsVG9uc1Rlc3RlZCxcbiAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLnJhZGlvLFxuICAgICAgICAgIGxhYmVsOiAoKSA9PiB0aGlzLnR4dFRvbnNUZXN0ZWQsXG4gICAgICAgICAgc2hvdzogKCkgPT4gdGhpcy5zdWdnZXN0aW9ucz8uW2N0cmxUb25zVGVzdGVkXSAmJiB0aGlzLnN1Z2dlc3Rpb25zPy5bY3RybFRvbnNUZXN0ZWRdLmxlbmd0aCAmJiB0aGlzLnN1Z2dlc3Rpb25zPy5bY3RybFRvbnNUZXN0ZWRdLmxlbmd0aCA+IDAsXG4gICAgICAgICAgdmFsaWRhdG9yczogKCkgPT4gdGhpcy5zdWdnZXN0aW9ucz8uW2N0cmxUb25zVGVzdGVkXSAmJiB0aGlzLnN1Z2dlc3Rpb25zPy5bY3RybFRvbnNUZXN0ZWRdLmxlbmd0aCAmJiB0aGlzLnN1Z2dlc3Rpb25zPy5bY3RybFRvbnNUZXN0ZWRdLmxlbmd0aCA+IDAgPyBbc3B4VmFsaWRhdG9yUmVxdWlyZWQoKV0gOiBbXSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGtleTogY3RybExpY2Vuc2VQbGF0ZSxcbiAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLnRleHQsXG4gICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudHh0TGljZW5zZVBsYXRlLFxuICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6IGN0cmxVc2VDYXRlZ29yaWVzLFxuICAgICAgICAgIHR5cGU6ICgpID0+IFNweElucHV0VHlwZUVudW0uaGlkZGVuLFxuICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBrZXk6IGN0cmxDYXRlZ29yeSxcbiAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLmF1dG9jb21wbGV0ZSxcbiAgICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50eHRDYXRlZ29yeSxcbiAgICAgICAgICBjYXBpdGFsaXplOiAoKSA9PiB0cnVlLFxuICAgICAgICAgIHNob3c6ICgpID0+IHZhbHVlUGFpclRvVmFsdWUodGhpcy5jdHJsVXNlQ2F0ZWdvcmllcy52YWx1ZSksXG4gICAgICAgICAgdmFsaWRhdG9yczogKCkgPT4gdmFsdWVQYWlyVG9WYWx1ZSh0aGlzLmN0cmxVc2VDYXRlZ29yaWVzLnZhbHVlKSA/IFtzcHhWYWxpZGF0b3JSZXF1aXJlZCgpXSA6IFtdLFxuICAgICAgICB9XG4gICAgICBdXG4gICAgfVxuICBdO1xuXG4gIGdldCBjdHJsQ2F0ZWdvcnkoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KGN0cmxDYXRlZ29yeSkgYXMgRm9ybUNvbnRyb2w7IH1cbiAgZ2V0IGN0cmxDdXN0b21lcigpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY3RybEN1c3RvbWVyKSBhcyBGb3JtQ29udHJvbDsgfVxuICBnZXQgY3RybENvbnRhaW5lclR5cGUoKTogRm9ybUNvbnRyb2wgeyByZXR1cm4gdGhpcy5mb3JtR3JvdXAuZ2V0KGN0cmxDb250YWluZXJUeXBlKSBhcyBGb3JtQ29udHJvbDsgfVxuICBnZXQgY3RybExpY2Vuc2VQbGF0ZSgpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY3RybExpY2Vuc2VQbGF0ZSkgYXMgRm9ybUNvbnRyb2w7IH1cbiAgZ2V0IGN0cmxUb25zVGVzdGVkKCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChjdHJsVG9uc1Rlc3RlZCkgYXMgRm9ybUNvbnRyb2w7IH1cbiAgZ2V0IGN0cmxVc2VDYXRlZ29yaWVzKCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChjdHJsVXNlQ2F0ZWdvcmllcykgYXMgRm9ybUNvbnRyb2w7IH1cblxuICBwcml2YXRlIHN1YkNvbnRhaW5lclR5cGU/OiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyKSB7XG4gIH1cblxuICBjcmVhdGVGb3JtKCk6IEZvcm1Hcm91cCB7XG4gICAgcmV0dXJuIFNweEZvcm1WaWV3Q29tcG9uZW50LmNyZWF0ZUZvcm0odGhpcy5mb3JtQnVpbGRlciwgdGhpcy5zZWN0aW9ucyk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmxpc3RlblRvQ29udGFpbmVyVHlwZSgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3ViQ29udGFpbmVyVHlwZSkge1xuICAgICAgdGhpcy5zdWJDb250YWluZXJUeXBlLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgZ2V0UmF3VmFsaWRhdG9ycyhmb3JtQ29udHJvbDogRm9ybUNvbnRyb2wpIHtcbiAgICByZXR1cm4gKGZvcm1Db250cm9sIGFzIGFueSkuX3Jhd1ZhbGlkYXRvcnM7XG4gIH1cblxuICBvbkJsdXIoZGF0YTogeyBmaWVsZDogU3B4Rm9ybUZpZWxkSSwgdmFsdWVQYWlyOiBTcHhWYWx1ZVBhaXI8YW55PiB9KSB7XG4gICAgaWYgKGRhdGEuZmllbGQua2V5ID09PSBjdHJsQ2F0ZWdvcnkpIHtcbiAgICAgIHRoaXMuc3B4Qmx1ckNhdGVnb3J5LmVtaXQoZGF0YS52YWx1ZVBhaXIpO1xuICAgIH1cbiAgICBpZiAoZGF0YS5maWVsZC5rZXkgPT09IGN0cmxDb250YWluZXJUeXBlKSB7XG4gICAgICB0aGlzLnNweEJsdXJDb250YWluZXJUeXBlLmVtaXQoZGF0YS52YWx1ZVBhaXIpO1xuICAgIH1cbiAgfVxuICBcbiAgb25TZWFyY2goZGF0YTogeyBmaWVsZDogU3B4Rm9ybUZpZWxkSSwgdmFsdWVQYWlyOiBTcHhWYWx1ZVBhaXI8YW55PiB9KSB7XG4gICAgaWYgKGRhdGEuZmllbGQua2V5ID09PSBjdHJsQ2F0ZWdvcnkpIHtcbiAgICAgIHRoaXMuc3B4U2VhcmNoQ2F0ZWdvcnkuZW1pdChkYXRhLnZhbHVlUGFpcik7XG4gICAgfVxuICAgIGlmIChkYXRhLmZpZWxkLmtleSA9PT0gY3RybENvbnRhaW5lclR5cGUpIHtcbiAgICAgIHRoaXMuc3B4U2VhcmNoQ29udGFpbmVyVHlwZS5lbWl0KGRhdGEudmFsdWVQYWlyKTtcbiAgICB9XG4gICAgaWYgKGRhdGEuZmllbGQua2V5ID09PSBjdHJsVG9uc1Rlc3RlZCkge1xuICAgICAgdGhpcy5zcHhTZWFyY2hUb25zVGVzdGVkLmVtaXQoZGF0YS52YWx1ZVBhaXIpO1xuICAgIH1cbiAgfVxuXG4gIG9uU3VibWl0KCk6IHZvaWQge1xuICAgIHRoaXMuc3VibWl0LmVtaXQoe1xuICAgICAgY2F0ZWdvcnk6IHZhbHVlUGFpclRvVmFsdWUodGhpcy5jdHJsVXNlQ2F0ZWdvcmllcy52YWx1ZSkgPyB0aGlzLmN0cmxDYXRlZ29yeS52YWx1ZSA6IG51bGwsXG4gICAgICBjb250YWluZXJUeXBlOiB0aGlzLmN0cmxDb250YWluZXJUeXBlLnZhbHVlLFxuICAgICAgbGljZW5zZVBsYXRlOiB0aGlzLmN0cmxMaWNlbnNlUGxhdGUudmFsdWUsXG4gICAgICB0b25zVGVzdGVkOiB0aGlzLmN0cmxUb25zVGVzdGVkLnZhbHVlLFxuICAgIH0pXG4gIH1cblxuICBwcml2YXRlIGxpc3RlblRvQ29udGFpbmVyVHlwZSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YkNvbnRhaW5lclR5cGUgPSB0aGlzLmN0cmxDb250YWluZXJUeXBlLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsdWVQYWlyID0+IHtcbiAgICAgIHRoaXMuY3RybFRvbnNUZXN0ZWQuc2V0VmFsdWUoeyB2YWx1ZTogbnVsbCB9KTtcbiAgICAgIHRoaXMuc3B4U2VhcmNoVG9uc1Rlc3RlZC5lbWl0KHZhbHVlUGFpcik7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgY2xhc3M9XCJtYXgtdy1sZyBteC1hdXRvIGZsZXggZmxleC1jb2wgZ2FwLTNcIiAobmdTdWJtaXQpPVwib25TdWJtaXQoKVwiPlxuICA8c3B4LWZvcm0tdmlld1xuICAgIFtzcHhGb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbiAgICBbc3B4U2VjdGlvbnNdPVwic2VjdGlvbnNcIlxuICAgIFtzcHhTdWdnZXN0aW9uc109XCJzdWdnZXN0aW9uc1wiXG4gICAgKHNweEJsdXIpPVwib25CbHVyKCRldmVudClcIlxuICAgIChzcHhTZWFyY2gpPVwib25TZWFyY2goJGV2ZW50KVwiPlxuICA8L3NweC1mb3JtLXZpZXc+XG4gIDxzcHgtYnV0dG9uXG4gICAgW3NweEZ1bGxXaWR0aF09XCJ0cnVlXCJcbiAgICBbc3B4U2V2ZXJpdHldPVwic2V2ZXJpdHlTdWNjZXNzXCI+XG4gICAgU2F2ZVxuICA8L3NweC1idXR0b24+XG48L2Zvcm0+Il19
@@ -4,15 +4,20 @@ import { SpxButtonComponent } from '@softpak/components/spx-button';
4
4
  import { SpxDropdownComponent } from './spx-dropdown.component';
5
5
  import { IonButtons, IonContent, IonHeader, IonTitle, IonToolbar, ModalController } from '@ionic/angular/standalone';
6
6
  import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
7
+ import { faXmark } from '@fortawesome/free-solid-svg-icons';
8
+ import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
7
9
  import * as i0 from "@angular/core";
10
+ import * as i1 from "@fortawesome/angular-fontawesome";
8
11
  export class SpxInputTimeModalComponent {
9
12
  constructor() {
10
13
  this.change = new EventEmitter();
14
+ this.faXmark = faXmark;
11
15
  this.hourOptions = Array.from({ length: 24 }, (_, i) => i); // 0 to 23
12
16
  this.minuteOptions = Array.from({ length: 12 }, (_, i) => i * 5); // Minutes in incrementen van 5
13
17
  this.modalController = inject(ModalController);
14
18
  this.typeError = SpxSeverityEnum.error;
15
19
  this.hourOptions.push(this.hourOptions.shift());
20
+ this.minuteOptions.push(this.minuteOptions.shift());
16
21
  }
17
22
  closeDialog() {
18
23
  this.modalController.dismiss();
@@ -25,35 +30,35 @@ export class SpxInputTimeModalComponent {
25
30
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxInputTimeModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
31
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SpxInputTimeModalComponent, isStandalone: true, selector: "spx-input-time-modal", inputs: { view: "view", value: "value" }, outputs: { change: "change" }, ngImport: i0, template: `<ion-header>
27
32
  <ion-toolbar>
28
- <ion-title>Inline Modal</ion-title>
33
+ <ion-title>Select {{view}}</ion-title>
29
34
  <ion-buttons slot="end">
30
- <spx-button [spxSeverity]="typeError" (spxClick)="closeDialog()">Close</spx-button>
35
+ <spx-button [spxSeverity]="typeError" (spxClick)="closeDialog()">
36
+ <fa-icon [icon]="faXmark"></fa-icon>
37
+ </spx-button>
31
38
  </ion-buttons>
32
39
  </ion-toolbar>
33
40
  </ion-header>
34
- <ion-content class="ion-padding">
41
+ <ion-content class="ion-padding bg-white">
35
42
  <!-- Uren -->
36
- <div class="grid grid-cols-1 gap-3">
43
+ <div class="custom-bg grid grid-cols-1 gap-3">
37
44
  <div *ngIf="view === 'hours'" class="flex-wrap gap-2">
38
- <p> Select Hour </p>
39
- <div class="grid grid-cols-4 gap-3">
40
- <div *ngFor="let hour of hourOptions" class="custom-square rounded text-gray-900 text-sm p-3 w-full text-left truncate outline-none bg-sky-100 focus:ring-sky-300 hover:bg-sky-300 active:bg-sky-300" [class.selected]="value === hour" (click)="onChange(hour)">
45
+ <div class="grid grid-cols-3 md:grid-cols-4 gap-3">
46
+ <div *ngFor="let hour of hourOptions" class="text-center font-bold custom-square rounded text-gray-900 text-lg p-3 w-full truncate outline-none bg-sky-100 focus:ring-sky-300 hover:bg-sky-300 active:bg-sky-300" [class.selected]="value === hour" (click)="onChange(hour)">
41
47
  {{ hour }}
42
48
  </div>
43
49
  </div>
44
50
  </div>
45
51
  <!-- Minuten -->
46
52
  <div *ngIf="view === 'minutes'" class="grid grid-cols-1 gap-3">
47
- <p>Select Minute</p>
48
- <div class="grid grid-cols-5 gap-3">
49
- <div *ngFor="let minute of minuteOptions" class="custom-square rounded text-gray-900 text-sm p-3 w-full text-left truncate outline-none bg-sky-100 focus:ring-sky-300 hover:bg-sky-300 active:bg-sky-300" [class.selected]="value === minute" (click)="onChange(minute)">
53
+ <div class="grid grid-cols-4 md:grid-cols-5 gap-3">
54
+ <div *ngFor="let minute of minuteOptions" class="text-center font-bold custom-square rounded text-gray-900 text-lg p-3 w-ful truncate outline-none bg-sky-100 focus:ring-sky-300 hover:bg-sky-300 active:bg-sky-300" [class.selected]="value === minute" (click)="onChange(minute)">
50
55
  {{ minute }}
51
56
  </div>
52
57
  </div>
53
58
  </div>
54
59
  </div>
55
60
  </ion-content>
56
- `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: SpxButtonComponent, selector: "spx-button", inputs: ["spxDisabled", "spxClass", "spxClassObject", "spxForm", "spxFullHeight", "spxFullWidth", "spxSeverity", "spxSize", "spxTabIndex", "spxType"], outputs: ["spxClick"] }] }); }
61
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: IonButtons, selector: "ion-buttons", inputs: ["collapse"] }, { kind: "component", type: IonContent, selector: "ion-content", inputs: ["color", "fixedSlotPlacement", "forceOverscroll", "fullscreen", "scrollEvents", "scrollX", "scrollY"] }, { kind: "component", type: IonHeader, selector: "ion-header", inputs: ["collapse", "mode", "translucent"] }, { kind: "component", type: IonToolbar, selector: "ion-toolbar", inputs: ["color", "mode"] }, { kind: "component", type: IonTitle, selector: "ion-title", inputs: ["color", "size"] }, { kind: "component", type: SpxButtonComponent, selector: "spx-button", inputs: ["spxDisabled", "spxClass", "spxClassObject", "spxForm", "spxFullHeight", "spxFullWidth", "spxSeverity", "spxSize", "spxTabIndex", "spxType"], outputs: ["spxClick"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "mask", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "transform", "a11yRole"] }] }); }
57
62
  }
58
63
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxInputTimeModalComponent, decorators: [{
59
64
  type: Component,
@@ -70,31 +75,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
70
75
  IonTitle,
71
76
  SpxButtonComponent,
72
77
  SpxDropdownComponent,
78
+ FontAwesomeModule,
73
79
  ],
74
80
  template: `<ion-header>
75
81
  <ion-toolbar>
76
- <ion-title>Inline Modal</ion-title>
82
+ <ion-title>Select {{view}}</ion-title>
77
83
  <ion-buttons slot="end">
78
- <spx-button [spxSeverity]="typeError" (spxClick)="closeDialog()">Close</spx-button>
84
+ <spx-button [spxSeverity]="typeError" (spxClick)="closeDialog()">
85
+ <fa-icon [icon]="faXmark"></fa-icon>
86
+ </spx-button>
79
87
  </ion-buttons>
80
88
  </ion-toolbar>
81
89
  </ion-header>
82
- <ion-content class="ion-padding">
90
+ <ion-content class="ion-padding bg-white">
83
91
  <!-- Uren -->
84
- <div class="grid grid-cols-1 gap-3">
92
+ <div class="custom-bg grid grid-cols-1 gap-3">
85
93
  <div *ngIf="view === 'hours'" class="flex-wrap gap-2">
86
- <p> Select Hour </p>
87
- <div class="grid grid-cols-4 gap-3">
88
- <div *ngFor="let hour of hourOptions" class="custom-square rounded text-gray-900 text-sm p-3 w-full text-left truncate outline-none bg-sky-100 focus:ring-sky-300 hover:bg-sky-300 active:bg-sky-300" [class.selected]="value === hour" (click)="onChange(hour)">
94
+ <div class="grid grid-cols-3 md:grid-cols-4 gap-3">
95
+ <div *ngFor="let hour of hourOptions" class="text-center font-bold custom-square rounded text-gray-900 text-lg p-3 w-full truncate outline-none bg-sky-100 focus:ring-sky-300 hover:bg-sky-300 active:bg-sky-300" [class.selected]="value === hour" (click)="onChange(hour)">
89
96
  {{ hour }}
90
97
  </div>
91
98
  </div>
92
99
  </div>
93
100
  <!-- Minuten -->
94
101
  <div *ngIf="view === 'minutes'" class="grid grid-cols-1 gap-3">
95
- <p>Select Minute</p>
96
- <div class="grid grid-cols-5 gap-3">
97
- <div *ngFor="let minute of minuteOptions" class="custom-square rounded text-gray-900 text-sm p-3 w-full text-left truncate outline-none bg-sky-100 focus:ring-sky-300 hover:bg-sky-300 active:bg-sky-300" [class.selected]="value === minute" (click)="onChange(minute)">
102
+ <div class="grid grid-cols-4 md:grid-cols-5 gap-3">
103
+ <div *ngFor="let minute of minuteOptions" class="text-center font-bold custom-square rounded text-gray-900 text-lg p-3 w-ful truncate outline-none bg-sky-100 focus:ring-sky-300 hover:bg-sky-300 active:bg-sky-300" [class.selected]="value === minute" (click)="onChange(minute)">
98
104
  {{ minute }}
99
105
  </div>
100
106
  </div>
@@ -110,4 +116,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
110
116
  }], change: [{
111
117
  type: Output
112
118
  }] } });
113
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LXRpbWUtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1pbnB1dHMvc3B4LWlucHV0LXRpbWUtbW9kYWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQWdEbEUsTUFBTSxPQUFPLDBCQUEwQjtJQVVyQztRQVBVLFdBQU0sR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUVwRSxnQkFBVyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVU7UUFDakUsa0JBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsK0JBQStCO1FBQ3BGLG9CQUFlLEdBQW9CLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuRSxjQUFTLEdBQUcsZUFBZSxDQUFDLEtBQUssQ0FBQztRQUdoQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBYTtRQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLENBQUM7OEdBdEJVLDBCQUEwQjtrR0FBMUIsMEJBQTBCLHlKQWhDM0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQThCUCw0REF4Q0QsSUFBSSw2RkFDSixLQUFLLG1IQUNMLFVBQVUsOEVBQ1YsVUFBVSx3S0FDVixTQUFTLG9HQUNULFVBQVUsbUZBQ1YsUUFBUSxpRkFDUixrQkFBa0I7OzJGQW1DVCwwQkFBMEI7a0JBOUN0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsSUFBSTt3QkFDSixLQUFLO3dCQUNMLFVBQVU7d0JBQ1YsVUFBVTt3QkFDVixTQUFTO3dCQUNULFVBQVU7d0JBQ1YsUUFBUTt3QkFDUixrQkFBa0I7d0JBQ2xCLG9CQUFvQjtxQkFDckI7b0JBQ0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0E4QlA7aUJBQ0o7d0RBRVUsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTcHhCdXR0b25Db21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1idXR0b24nO1xuaW1wb3J0IHsgU3B4RHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL3NweC1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW9uQnV0dG9ucywgSW9uQ29udGVudCwgSW9uSGVhZGVyLCBJb25UaXRsZSwgSW9uVG9vbGJhciwgTW9kYWxDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBTcHhTZXZlcml0eUVudW0gfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1oZWxwZXJzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B4LWlucHV0LXRpbWUtbW9kYWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbXG4gICAgTmdJZixcbiAgICBOZ0ZvcixcbiAgICBJb25CdXR0b25zLFxuICAgIElvbkNvbnRlbnQsXG4gICAgSW9uSGVhZGVyLFxuICAgIElvblRvb2xiYXIsXG4gICAgSW9uVGl0bGUsXG4gICAgU3B4QnV0dG9uQ29tcG9uZW50LFxuICAgIFNweERyb3Bkb3duQ29tcG9uZW50LFxuICBdLFxuICB0ZW1wbGF0ZTogYDxpb24taGVhZGVyPlxuICA8aW9uLXRvb2xiYXI+XG4gICAgPGlvbi10aXRsZT5JbmxpbmUgTW9kYWw8L2lvbi10aXRsZT5cbiAgICA8aW9uLWJ1dHRvbnMgc2xvdD1cImVuZFwiPlxuICAgICAgPHNweC1idXR0b24gW3NweFNldmVyaXR5XT1cInR5cGVFcnJvclwiIChzcHhDbGljayk9XCJjbG9zZURpYWxvZygpXCI+Q2xvc2U8L3NweC1idXR0b24+XG4gICAgPC9pb24tYnV0dG9ucz5cbiAgPC9pb24tdG9vbGJhcj5cbjwvaW9uLWhlYWRlcj5cbjxpb24tY29udGVudCBjbGFzcz1cImlvbi1wYWRkaW5nXCI+XG4gIDwhLS0gVXJlbiAtLT5cbiAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTNcIj5cbiAgICA8ZGl2ICpuZ0lmPVwidmlldyA9PT0gJ2hvdXJzJ1wiIGNsYXNzPVwiZmxleC13cmFwIGdhcC0yXCI+XG4gICAgICA8cD4gU2VsZWN0IEhvdXIgPC9wPlxuICAgICAgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTQgZ2FwLTNcIj5cbiAgICAgICAgPGRpdiAgKm5nRm9yPVwibGV0IGhvdXIgb2YgaG91ck9wdGlvbnNcIiBjbGFzcz1cImN1c3RvbS1zcXVhcmUgcm91bmRlZCB0ZXh0LWdyYXktOTAwIHRleHQtc20gcC0zIHctZnVsbCB0ZXh0LWxlZnQgdHJ1bmNhdGUgb3V0bGluZS1ub25lIGJnLXNreS0xMDAgZm9jdXM6cmluZy1za3ktMzAwIGhvdmVyOmJnLXNreS0zMDAgYWN0aXZlOmJnLXNreS0zMDBcIiBbY2xhc3Muc2VsZWN0ZWRdPVwidmFsdWUgPT09IGhvdXJcIiAoY2xpY2spPVwib25DaGFuZ2UoaG91cilcIj5cbiAgICAgICAgICB7eyBob3VyIH19XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPCEtLSBNaW51dGVuIC0tPlxuICAgIDxkaXYgKm5nSWY9XCJ2aWV3ID09PSAnbWludXRlcydcIiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTEgZ2FwLTNcIj5cbiAgICAgIDxwPlNlbGVjdCBNaW51dGU8L3A+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtNSBnYXAtM1wiPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBtaW51dGUgb2YgbWludXRlT3B0aW9uc1wiIGNsYXNzPVwiY3VzdG9tLXNxdWFyZSByb3VuZGVkIHRleHQtZ3JheS05MDAgdGV4dC1zbSBwLTMgdy1mdWxsIHRleHQtbGVmdCB0cnVuY2F0ZSBvdXRsaW5lLW5vbmUgYmctc2t5LTEwMCBmb2N1czpyaW5nLXNreS0zMDAgaG92ZXI6Ymctc2t5LTMwMCBhY3RpdmU6Ymctc2t5LTMwMFwiIFtjbGFzcy5zZWxlY3RlZF09XCJ2YWx1ZSA9PT0gbWludXRlXCIgKGNsaWNrKT1cIm9uQ2hhbmdlKG1pbnV0ZSlcIj5cbiAgICAgICAgICB7eyBtaW51dGUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2lvbi1jb250ZW50PlxuICAgIGAsXG59KVxuZXhwb3J0IGNsYXNzIFNweElucHV0VGltZU1vZGFsQ29tcG9uZW50IHtcbiAgQElucHV0KCkgdmlldyE6ICdob3VycycgfCAnbWludXRlcyc7XG4gIEBJbnB1dCgpIHZhbHVlITogbnVtYmVyO1xuICBAT3V0cHV0KCkgY2hhbmdlOiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIGhvdXJPcHRpb25zID0gQXJyYXkuZnJvbSh7IGxlbmd0aDogMjQgfSwgKF8sIGkpID0+IGkpOyAvLyAwIHRvIDIzXG4gIG1pbnV0ZU9wdGlvbnMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxMiB9LCAoXywgaSkgPT4gaSAqIDUpOyAvLyBNaW51dGVzIGluIGluY3JlbWVudGVuIHZhbiA1XG4gIHByaXZhdGUgbW9kYWxDb250cm9sbGVyOiBNb2RhbENvbnRyb2xsZXIgPSBpbmplY3QoTW9kYWxDb250cm9sbGVyKTtcbiAgdHlwZUVycm9yID0gU3B4U2V2ZXJpdHlFbnVtLmVycm9yO1xuXG4gIGNvbnN0cnVjdG9yKCl7XG4gICAgdGhpcy5ob3VyT3B0aW9ucy5wdXNoKHRoaXMuaG91ck9wdGlvbnMuc2hpZnQoKSEpO1xuICB9XG5cbiAgY2xvc2VEaWFsb2coKSB7XG4gICAgdGhpcy5tb2RhbENvbnRyb2xsZXIuZGlzbWlzcygpO1xuICB9XG5cbiAgb25DaGFuZ2UodmFsdWU6IG51bWJlcikge1xuICAgIHRoaXMuY2hhbmdlLmVtaXQodmFsdWUpO1xuICAgIGNvbnNvbGUubG9nKHZhbHVlKTtcbiAgICB0aGlzLm1vZGFsQ29udHJvbGxlci5kaXNtaXNzKHZhbHVlKTtcbiAgfVxufVxuIl19
119
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LXRpbWUtbW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1pbnB1dHMvc3B4LWlucHV0LXRpbWUtbW9kYWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDckgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBaURyRSxNQUFNLE9BQU8sMEJBQTBCO0lBV3JDO1FBUlUsV0FBTSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXBFLFlBQU8sR0FBRyxPQUFPLENBQUE7UUFDakIsZ0JBQVcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVO1FBQ2pFLGtCQUFhLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLCtCQUErQjtRQUNwRixvQkFBZSxHQUFvQixNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbkUsY0FBUyxHQUFHLGVBQWUsQ0FBQyxLQUFLLENBQUM7UUFHaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUcsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFHLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEMsQ0FBQzs4R0F4QlUsMEJBQTBCO2tHQUExQiwwQkFBMEIseUpBaEMzQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBOEJQLDREQXpDRCxJQUFJLDZGQUNKLEtBQUssbUhBQ0wsVUFBVSw4RUFDVixVQUFVLHdLQUNWLFNBQVMsb0dBQ1QsVUFBVSxtRkFDVixRQUFRLGlGQUNSLGtCQUFrQixvT0FFbEIsaUJBQWlCOzsyRkFrQ1IsMEJBQTBCO2tCQS9DdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLElBQUk7d0JBQ0osS0FBSzt3QkFDTCxVQUFVO3dCQUNWLFVBQVU7d0JBQ1YsU0FBUzt3QkFDVCxVQUFVO3dCQUNWLFFBQVE7d0JBQ1Isa0JBQWtCO3dCQUNsQixvQkFBb0I7d0JBQ3BCLGlCQUFpQjtxQkFDbEI7b0JBQ0QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0E4QlA7aUJBQ0o7d0RBRVUsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxNQUFNO3NCQUFmLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTcHhCdXR0b25Db21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1idXR0b24nO1xuaW1wb3J0IHsgU3B4RHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL3NweC1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW9uQnV0dG9ucywgSW9uQ29udGVudCwgSW9uSGVhZGVyLCBJb25UaXRsZSwgSW9uVG9vbGJhciwgTW9kYWxDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXIvc3RhbmRhbG9uZSc7XG5pbXBvcnQgeyBTcHhTZXZlcml0eUVudW0gfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1oZWxwZXJzJztcbmltcG9ydCB7IGZhWG1hcmsgfSBmcm9tICdAZm9ydGF3ZXNvbWUvZnJlZS1zb2xpZC1zdmctaWNvbnMnO1xuaW1wb3J0IHsgRm9udEF3ZXNvbWVNb2R1bGUgfSBmcm9tICdAZm9ydGF3ZXNvbWUvYW5ndWxhci1mb250YXdlc29tZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NweC1pbnB1dC10aW1lLW1vZGFsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgTmdGb3IsXG4gICAgSW9uQnV0dG9ucyxcbiAgICBJb25Db250ZW50LFxuICAgIElvbkhlYWRlcixcbiAgICBJb25Ub29sYmFyLFxuICAgIElvblRpdGxlLFxuICAgIFNweEJ1dHRvbkNvbXBvbmVudCxcbiAgICBTcHhEcm9wZG93bkNvbXBvbmVudCxcbiAgICBGb250QXdlc29tZU1vZHVsZSxcbiAgXSxcbiAgdGVtcGxhdGU6IGA8aW9uLWhlYWRlcj5cbiAgPGlvbi10b29sYmFyPlxuICAgIDxpb24tdGl0bGU+U2VsZWN0IHt7dmlld319PC9pb24tdGl0bGU+XG4gICAgPGlvbi1idXR0b25zIHNsb3Q9XCJlbmRcIj5cbiAgICAgIDxzcHgtYnV0dG9uIFtzcHhTZXZlcml0eV09XCJ0eXBlRXJyb3JcIiAoc3B4Q2xpY2spPVwiY2xvc2VEaWFsb2coKVwiPlxuICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJmYVhtYXJrXCI+PC9mYS1pY29uPlxuICAgICAgPC9zcHgtYnV0dG9uPlxuICAgIDwvaW9uLWJ1dHRvbnM+XG4gIDwvaW9uLXRvb2xiYXI+XG48L2lvbi1oZWFkZXI+XG48aW9uLWNvbnRlbnQgY2xhc3M9XCJpb24tcGFkZGluZyBiZy13aGl0ZVwiPlxuICA8IS0tIFVyZW4gLS0+XG4gIDxkaXYgY2xhc3M9XCJjdXN0b20tYmcgZ3JpZCBncmlkLWNvbHMtMSBnYXAtM1wiPlxuICAgIDxkaXYgKm5nSWY9XCJ2aWV3ID09PSAnaG91cnMnXCIgY2xhc3M9XCJmbGV4LXdyYXAgZ2FwLTJcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJncmlkIGdyaWQtY29scy0zIG1kOmdyaWQtY29scy00IGdhcC0zXCI+XG4gICAgICAgIDxkaXYgICpuZ0Zvcj1cImxldCBob3VyIG9mIGhvdXJPcHRpb25zXCIgY2xhc3M9XCJ0ZXh0LWNlbnRlciBmb250LWJvbGQgY3VzdG9tLXNxdWFyZSByb3VuZGVkIHRleHQtZ3JheS05MDAgdGV4dC1sZyBwLTMgdy1mdWxsIHRydW5jYXRlIG91dGxpbmUtbm9uZSBiZy1za3ktMTAwIGZvY3VzOnJpbmctc2t5LTMwMCBob3ZlcjpiZy1za3ktMzAwIGFjdGl2ZTpiZy1za3ktMzAwXCIgW2NsYXNzLnNlbGVjdGVkXT1cInZhbHVlID09PSBob3VyXCIgKGNsaWNrKT1cIm9uQ2hhbmdlKGhvdXIpXCI+XG4gICAgICAgICAge3sgaG91ciB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDwhLS0gTWludXRlbiAtLT5cbiAgICA8ZGl2ICpuZ0lmPVwidmlldyA9PT0gJ21pbnV0ZXMnXCIgY2xhc3M9XCJncmlkIGdyaWQtY29scy0xIGdhcC0zXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiZ3JpZCBncmlkLWNvbHMtNCBtZDpncmlkLWNvbHMtNSBnYXAtM1wiPlxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBtaW51dGUgb2YgbWludXRlT3B0aW9uc1wiIGNsYXNzPVwidGV4dC1jZW50ZXIgZm9udC1ib2xkIGN1c3RvbS1zcXVhcmUgcm91bmRlZCB0ZXh0LWdyYXktOTAwIHRleHQtbGcgcC0zIHctZnVsIHRydW5jYXRlIG91dGxpbmUtbm9uZSBiZy1za3ktMTAwIGZvY3VzOnJpbmctc2t5LTMwMCBob3ZlcjpiZy1za3ktMzAwIGFjdGl2ZTpiZy1za3ktMzAwXCIgW2NsYXNzLnNlbGVjdGVkXT1cInZhbHVlID09PSBtaW51dGVcIiAoY2xpY2spPVwib25DaGFuZ2UobWludXRlKVwiPlxuICAgICAgICAgIHt7IG1pbnV0ZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvaW9uLWNvbnRlbnQ+XG4gICAgYCxcbn0pXG5leHBvcnQgY2xhc3MgU3B4SW5wdXRUaW1lTW9kYWxDb21wb25lbnQge1xuICBASW5wdXQoKSB2aWV3ITogJ2hvdXJzJyB8ICdtaW51dGVzJztcbiAgQElucHV0KCkgdmFsdWUhOiBudW1iZXI7XG4gIEBPdXRwdXQoKSBjaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgZmFYbWFyayA9IGZhWG1hcmtcbiAgaG91ck9wdGlvbnMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiAyNCB9LCAoXywgaSkgPT4gaSk7IC8vIDAgdG8gMjNcbiAgbWludXRlT3B0aW9ucyA9IEFycmF5LmZyb20oeyBsZW5ndGg6IDEyIH0sIChfLCBpKSA9PiBpICogNSk7IC8vIE1pbnV0ZXMgaW4gaW5jcmVtZW50ZW4gdmFuIDVcbiAgcHJpdmF0ZSBtb2RhbENvbnRyb2xsZXI6IE1vZGFsQ29udHJvbGxlciA9IGluamVjdChNb2RhbENvbnRyb2xsZXIpO1xuICB0eXBlRXJyb3IgPSBTcHhTZXZlcml0eUVudW0uZXJyb3I7XG5cbiAgY29uc3RydWN0b3IoKXtcbiAgICB0aGlzLmhvdXJPcHRpb25zLnB1c2godGhpcy5ob3VyT3B0aW9ucy5zaGlmdCgpISk7XG4gICAgdGhpcy5taW51dGVPcHRpb25zLnB1c2godGhpcy5taW51dGVPcHRpb25zLnNoaWZ0KCkhKTtcbiAgfVxuXG4gIGNsb3NlRGlhbG9nKCkge1xuICAgIHRoaXMubW9kYWxDb250cm9sbGVyLmRpc21pc3MoKTtcbiAgfVxuXG4gIG9uQ2hhbmdlKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLmNoYW5nZS5lbWl0KHZhbHVlKTtcbiAgICBjb25zb2xlLmxvZyh2YWx1ZSk7XG4gICAgdGhpcy5tb2RhbENvbnRyb2xsZXIuZGlzbWlzcyh2YWx1ZSk7XG4gIH1cbn1cbiJdfQ==
@@ -21,7 +21,7 @@ export class SpxInputTimeComponent {
21
21
  this.modalController = inject(ModalController);
22
22
  this.severitySuccess = SpxSeverityEnum.success;
23
23
  this.hourOptions = Array.from({ length: 24 }, (_, i) => i).unshift(); // 0 to 23
24
- this.minuteOptions = Array.from({ length: 12 }, (_, i) => i * 5); // Minutes in incrementen van 5
24
+ this.minuteOptions = Array.from({ length: 12 }, (_, i) => i * 5).unshift(); // Minutes in incrementen van 5
25
25
  this.selectedHour = null;
26
26
  this.selectedMinute = null;
27
27
  }
@@ -77,31 +77,19 @@ export class SpxInputTimeComponent {
77
77
  modal.onDidDismiss().then((data) => {
78
78
  // this.appStore.dispatch(infArticleActions.reset({}));
79
79
  if (view === 'hours') {
80
- console.log('hours');
81
- console.log(data);
80
+ // console.log('hours');
81
+ // console.log(data);
82
82
  this.selectedHour = data.data;
83
83
  this.openDialog('minutes');
84
84
  this.updateValue();
85
85
  }
86
86
  else if (view === 'minutes') {
87
- console.log('minutes');
88
- console.log(data);
87
+ // console.log('minutes');
88
+ // console.log(data);
89
89
  this.selectedMinute = data.data;
90
90
  this.updateValue();
91
91
  }
92
92
  });
93
- // const { data } = await modal.onDidDismiss();
94
- // console.log(data);
95
- // if (data) {
96
- // if (view === 'hours') {
97
- // this.selectedHour = data; // Update selectedHour with the emitted value
98
- // console.log('dit is de uur weg');
99
- // } else if (view === 'minutes') {
100
- // this.selectedMinute = data; // Update selectedMinute with the emitted value
101
- // console.log('dit is de minuut weg');
102
- // }
103
- // this.updateValue(); // Call updateValue to format and emit the new time
104
- // }
105
93
  await modal.present();
106
94
  }
107
95
  updateValue() {
@@ -125,7 +113,7 @@ export class SpxInputTimeComponent {
125
113
  <div class="text-gray text-xl">:</div>
126
114
  <div class="grow rounded bg-gray-100 p-3 text-xl text-center font-bold" (click)="openDialog('minutes')">{{ formattedMinute ?? '--' }}</div>
127
115
  </div>
128
- </div>`, isInline: true, styles: [".custom-square.selected{background-color:#007bff;color:#fff;border-color:#007bff}\n"] }); }
116
+ </div>`, isInline: true, styles: [".custom-square.selected{background-color:#007bff;color:#fff;border-color:#007bff}.custom-bg{--background: #FFFFFF}\n"] }); }
129
117
  }
130
118
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxInputTimeComponent, decorators: [{
131
119
  type: Component,
@@ -142,7 +130,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
142
130
  <div class="text-gray text-xl">:</div>
143
131
  <div class="grow rounded bg-gray-100 p-3 text-xl text-center font-bold" (click)="openDialog('minutes')">{{ formattedMinute ?? '--' }}</div>
144
132
  </div>
145
- </div>`, styles: [".custom-square.selected{background-color:#007bff;color:#fff;border-color:#007bff}\n"] }]
133
+ </div>`, styles: [".custom-square.selected{background-color:#007bff;color:#fff;border-color:#007bff}.custom-bg{--background: #FFFFFF}\n"] }]
146
134
  }], propDecorators: { spxName: [{
147
135
  type: Input
148
136
  }], spxAutofocus: [{
@@ -177,4 +165,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
177
165
  type: ViewChild,
178
166
  args: ['input', { static: true }]
179
167
  }] } });
180
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LXRpbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1pbnB1dHMvc3B4LWlucHV0LXRpbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXRHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDakMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUE2QjlFLE1BQU0sT0FBTyxxQkFBcUI7SUEzQmxDO1FBK0JXLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBR3JCLG1CQUFjLEdBQThDLEVBQUUsQ0FBQztRQUMvRCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBR2pCLHFCQUFnQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2hFLGNBQVMsR0FBb0MsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFDbkYsYUFBUSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3pELHlCQUFvQixHQUFHLEtBQUssQ0FBQztR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QUFRO2FBQ2hCLENBQUM7WUFFRixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsQ0FBQztJQUNILENBQUM7OEdBeklVLHFCQUFxQjtrR0FBckIscUJBQXFCLDhmQWxCckI7WUFDVCxlQUFlO1NBQ2hCLDJJQVFTOzs7Ozs7T0FNTDs7MkZBRU0scUJBQXFCO2tCQTNCakMsU0FBUzsrQkFDRSxnQkFBZ0IsY0FDZCxJQUFJLFdBQ1A7d0JBQ1AsSUFBSTt3QkFDSixLQUFLO3dCQUNMLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3FCQUNyQixhQUNVO3dCQUNULGVBQWU7cUJBQ2hCLFlBUVM7Ozs7OztPQU1MOzhCQUtJLE9BQU87c0JBQWYsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDSSxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNO2dCQUNFLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDZ0MsUUFBUTtzQkFBN0MsU0FBUzt1QkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdGb3IsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTcHhWYWx1ZVBhaXIgfSBmcm9tICcuL3NweC12YWx1ZS1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgU3B4QnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtYnV0dG9uJztcbmltcG9ydCB7IFNweERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSAnLi9zcHgtZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xuaW1wb3J0IHsgU3B4U2V2ZXJpdHlFbnVtIH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtaGVscGVycyc7XG5pbXBvcnQgeyBNb2RhbENvbnRyb2xsZXIgfSBmcm9tICdAaW9uaWMvYW5ndWxhci9zdGFuZGFsb25lJztcbmltcG9ydCB7IFNweElucHV0VGltZU1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtdGltZS1tb2RhbC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzcHgtaW5wdXQtdGltZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBOZ0lmLFxuICAgIE5nRm9yLFxuICAgIFNweEJ1dHRvbkNvbXBvbmVudCxcbiAgICBTcHhEcm9wZG93bkNvbXBvbmVudCxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgTW9kYWxDb250cm9sbGVyLFxuICBdLFxuICBzdHlsZXM6IGBcbiAgICAuY3VzdG9tLXNxdWFyZS5zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDA3YmZmO1xuICAgIH1cbiAgYCxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgdGV4dC1ibGFja1wiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWFyb3VuZCBnYXAtM1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImdyb3cgcm91bmRlZCBiZy1ncmF5LTEwMCBwLTMgdGV4dC14bCB0ZXh0LWNlbnRlciBmb250LWJvbGRcIiAoY2xpY2spPVwib3BlbkRpYWxvZygnaG91cnMnKVwiPnt7IGZvcm1hdHRlZEhvdXIgPz8gJy0tJyB9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheSB0ZXh0LXhsXCI+OjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdyb3cgcm91bmRlZCBiZy1ncmF5LTEwMCBwLTMgdGV4dC14bCB0ZXh0LWNlbnRlciBmb250LWJvbGRcIiAoY2xpY2spPVwib3BlbkRpYWxvZygnbWludXRlcycpXCI+e3sgZm9ybWF0dGVkTWludXRlID8/ICctLScgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PmAsXG59KVxuZXhwb3J0IGNsYXNzIFNweElucHV0VGltZUNvbXBvbmVudCB7XG4gIC8vIHByaXZhdGUgZWxJbnB1dD86IEhUTUxFbGVtZW50O1xuICAvLyBARWxlbWVudCgpIGVsITogSFRNTEVsZW1lbnQ7XG4gIEBJbnB1dCgpIHNweE5hbWU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNweEF1dG9mb2N1cyA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhJbnB1dE1vZGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNweFBhdHRlcm4/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNweFN1Z2dlc3Rpb25zOiBTcHhWYWx1ZVBhaXI8Ym9vbGVhbiB8IG51bWJlciB8IHN0cmluZz5bXSA9IFtdO1xuICBASW5wdXQoKSBzcHhSZWFkb25seSA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhWYWxpZGF0b3JzPzogYW55W107XG4gIEBJbnB1dCgpIHNweENhcGl0YWxpemUgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4Rm9jdXNlZCA9IHRydWU7XG4gIEBJbnB1dCgpIHNweFR5cGUhOiBhbnk7XG4gIEBJbnB1dCgpIHZhbHVlPzogU3B4VmFsdWVQYWlyPGFueT47XG4gIEBPdXRwdXQoKSBzcHhCbHVyRnJvbUNoaWxkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBzcHhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxhbnk+PigpO1xuICBAT3V0cHV0KCkgc3B4Rm9jdXM6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQElucHV0KCkgc3B4V2FzSW50ZXJuYWxVcGRhdGUgPSBmYWxzZTtcbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dFJlZj86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG4gIHByaXZhdGUgbW9kYWxDb250cm9sbGVyOiBNb2RhbENvbnRyb2xsZXIgPSBpbmplY3QoTW9kYWxDb250cm9sbGVyKTtcblxuICBzZXZlcml0eVN1Y2Nlc3MgPSBTcHhTZXZlcml0eUVudW0uc3VjY2VzcztcbiAgaG91ck9wdGlvbnMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiAyNCB9LCAoXywgaSkgPT4gaSkudW5zaGlmdCgpOyAvLyAwIHRvIDIzXG4gIG1pbnV0ZU9wdGlvbnMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxMiB9LCAoXywgaSkgPT4gaSAqIDUpOyAvLyBNaW51dGVzIGluIGluY3JlbWVudGVuIHZhbiA1XG4gIHNlbGVjdGVkSG91cjogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG4gIHNlbGVjdGVkTWludXRlOiBudW1iZXIgfCBudWxsID0gbnVsbDtcblxuICBnZXQgZm9ybWF0dGVkSG91cigpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEhvdXIgIT09IG51bGwgJiYgdGhpcy5zZWxlY3RlZEhvdXIgPCAxMCA/IGAwJHt0aGlzLnNlbGVjdGVkSG91cn1gIDogdGhpcy5zZWxlY3RlZEhvdXI7XG4gIH1cblxuICBnZXQgZm9ybWF0dGVkTWludXRlKCkge1xuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkTWludXRlICE9PSBudWxsICYmIHRoaXMuc2VsZWN0ZWRNaW51dGUgPCAxMCA/IGAwJHt0aGlzLnNlbGVjdGVkTWludXRlfWAgOiB0aGlzLnNlbGVjdGVkTWludXRlO1xuICB9XG5cblxuICBnZXQgaG91cigpIHsgcmV0dXJuIHRoaXMudmFsdWU/LnZhbHVlID8gRGF0ZVRpbWUuZnJvbUlTTyh0aGlzLnZhbHVlLnZhbHVlKS5ob3VyIDogbnVsbDsgfVxuICBnZXQgbWludXRlKCkgeyByZXR1cm4gdGhpcy52YWx1ZT8udmFsdWUgPyBEYXRlVGltZS5mcm9tSVNPKHRoaXMudmFsdWUudmFsdWUpLm1pbnV0ZSA6IG51bGw7IH1cblxuICBzcHhTZXRGb2N1cygpIHtcbiAgICB0aGlzLmlucHV0UmVmPy5uYXRpdmVFbGVtZW50Py5mb2N1cygpO1xuICB9XG5cbiAgY29tcG9uZW50RGlkTG9hZCgpIHtcbiAgICBpZiAodGhpcy5zcHhBdXRvZm9jdXMpIHtcbiAgICAgIHRoaXMuc3B4Rm9jdXMuZW1pdCgpO1xuICAgICAgdGhpcy5zcHhTZXRGb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZUJsdXIoKSB7XG4gICAgdGhpcy5zcHhCbHVyRnJvbUNoaWxkLmVtaXQoKTtcbiAgfVxuXG4gIGhhbmRsZUZvY3VzKCkge1xuICAgIHRoaXMuc3B4Rm9jdXMuZW1pdCgpO1xuICB9XG5cbiAgaGFuZGxlRGVzY3JpcHRpb25JbnB1dChldmVudDogYW55KSB7XG4gICAgdGhpcy52YWx1ZSA9IHtcbiAgICAgIGRlc2NyaXB0aW9uOiBldmVudC50YXJnZXQgPyBldmVudC50YXJnZXQudmFsdWUgOiBudWxsLFxuICAgICAgdmFsdWU6IGV2ZW50LnRhcmdldCA/IGV2ZW50LnRhcmdldC52YWx1ZSA6IG51bGwsXG4gICAgfTtcbiAgICB0aGlzLnNweENoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICB9XG5cbiAgaGFuZGxlU3VnZ2VzdGlvbkNsaWNrKHZhbHVlOiBhbnkpIHtcbiAgICBpZiAoIXRoaXMuc3B4UmVhZG9ubHkpIHtcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMuc3B4Q2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XG4gICAgICB0aGlzLnNweEZvY3VzZWQgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVLZXlVcCgpIHtcbiAgICB0aGlzLnNweEZvY3VzZWQgPSB0cnVlO1xuICB9XG5cbiAgYXN5bmMgb3BlbkRpYWxvZyh2aWV3OiAnaG91cnMnIHwgJ21pbnV0ZXMnKSB7XG4gICAgY29uc3QgbW9kYWwgPSBhd2FpdCB0aGlzLm1vZGFsQ29udHJvbGxlci5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBTcHhJbnB1dFRpbWVNb2RhbENvbXBvbmVudCxcbiAgICAgIGNvbXBvbmVudFByb3BzOiB7XG4gICAgICAgIHZhbHVlOiB0aGlzLnZhbHVlPy52YWx1ZSA/XG4gICAgICAgICAgKHZpZXcgPT09ICdob3VycycgPyBEYXRlVGltZS5mcm9tSVNPKHRoaXMudmFsdWUudmFsdWUpLmhvdXIgOiBEYXRlVGltZS5mcm9tSVNPKHRoaXMudmFsdWUudmFsdWUpLm1pbnV0ZSkgOiB1bmRlZmluZWQsXG4gICAgICAgIHZpZXcsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgbW9kYWwub25EaWREaXNtaXNzKCkudGhlbigoZGF0YSkgPT4ge1xuICAgICAgLy8gdGhpcy5hcHBTdG9yZS5kaXNwYXRjaChpbmZBcnRpY2xlQWN0aW9ucy5yZXNldCh7fSkpO1xuXG4gICAgICBpZiAodmlldyA9PT0gJ2hvdXJzJykge1xuICAgICAgICBjb25zb2xlLmxvZygnaG91cnMnKTtcbiAgICAgICAgY29uc29sZS5sb2coZGF0YSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRIb3VyID0gZGF0YS5kYXRhO1xuICAgICAgICB0aGlzLm9wZW5EaWFsb2coJ21pbnV0ZXMnKTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSgpO1xuXG4gICAgICB9IGVsc2UgaWYgKHZpZXcgPT09ICdtaW51dGVzJykge1xuICAgICAgICBjb25zb2xlLmxvZygnbWludXRlcycpO1xuICAgICAgICBjb25zb2xlLmxvZyhkYXRhKTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1pbnV0ZSA9IGRhdGEuZGF0YTtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSgpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gY29uc3QgeyBkYXRhIH0gPSBhd2FpdCBtb2RhbC5vbkRpZERpc21pc3MoKTtcblxuICAgIC8vIGNvbnNvbGUubG9nKGRhdGEpO1xuICAgIC8vIGlmIChkYXRhKSB7XG4gICAgLy8gICBpZiAodmlldyA9PT0gJ2hvdXJzJykge1xuICAgIC8vICAgICB0aGlzLnNlbGVjdGVkSG91ciA9IGRhdGE7IC8vIFVwZGF0ZSBzZWxlY3RlZEhvdXIgd2l0aCB0aGUgZW1pdHRlZCB2YWx1ZVxuICAgIC8vICAgICBjb25zb2xlLmxvZygnZGl0IGlzIGRlIHV1ciB3ZWcnKTtcbiAgICAvLyAgIH0gZWxzZSBpZiAodmlldyA9PT0gJ21pbnV0ZXMnKSB7XG4gICAgLy8gICAgIHRoaXMuc2VsZWN0ZWRNaW51dGUgPSBkYXRhOyAvLyBVcGRhdGUgc2VsZWN0ZWRNaW51dGUgd2l0aCB0aGUgZW1pdHRlZCB2YWx1ZVxuICAgIC8vICAgICBjb25zb2xlLmxvZygnZGl0IGlzIGRlIG1pbnV1dCB3ZWcnKTtcbiAgICAvLyAgIH1cblxuICAgIC8vICAgdGhpcy51cGRhdGVWYWx1ZSgpOyAvLyBDYWxsIHVwZGF0ZVZhbHVlIHRvIGZvcm1hdCBhbmQgZW1pdCB0aGUgbmV3IHRpbWVcbiAgICAvLyB9XG5cbiAgICBhd2FpdCBtb2RhbC5wcmVzZW50KCk7XG4gIH1cblxuICB1cGRhdGVWYWx1ZSgpIHtcbiAgICBpZiAodGhpcy5zZWxlY3RlZEhvdXIgIT09IG51bGwgJiYgdGhpcy5zZWxlY3RlZE1pbnV0ZSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgZm9ybWF0dGVkSG91ciA9IHRoaXMuc2VsZWN0ZWRIb3VyIDwgMTAgPyBgMCR7dGhpcy5zZWxlY3RlZEhvdXJ9YCA6IHRoaXMuc2VsZWN0ZWRIb3VyO1xuICAgICAgY29uc3QgZm9ybWF0dGVkTWludXRlID0gdGhpcy5zZWxlY3RlZE1pbnV0ZSA8IDEwID8gYDAke3RoaXMuc2VsZWN0ZWRNaW51dGV9YCA6IHRoaXMuc2VsZWN0ZWRNaW51dGU7XG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IGAke2Zvcm1hdHRlZEhvdXJ9OiR7Zm9ybWF0dGVkTWludXRlfWA7XG5cbiAgICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBuZXdWYWx1ZSxcbiAgICAgICAgdmFsdWU6IG5ld1ZhbHVlLFxuICAgICAgfTtcblxuICAgICAgdGhpcy5zcHhDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
168
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LXRpbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1pbnB1dHMvc3B4LWlucHV0LXRpbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXRHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDakMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7QUFnQzlFLE1BQU0sT0FBTyxxQkFBcUI7SUE5QmxDO1FBa0NXLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBR3JCLG1CQUFjLEdBQThDLEVBQUUsQ0FBQztRQUMvRCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUN0QixlQUFVLEdBQUcsSUFBSSxDQUFDO1FBR2pCLHFCQUFnQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ2hFLGNBQVMsR0FBb0MsSUFBSSxZQUFZLEVBQXFCLENBQUM7UUFDbkYsYUFBUSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQ3pELHlCQUFvQixHQUFHLEtBQUssQ0FBQztR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Q0wsa0JBQWtCO3dCQUNsQixvQkFBb0I7cUJBQ3JCLGFBQ1U7d0JBQ1QsZUFBZTtxQkFDaEIsWUFXUzs7Ozs7O09BTUw7OEJBS0ksT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNJLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU07Z0JBQ0Usb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNnQyxRQUFRO3NCQUE3QyxTQUFTO3VCQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0ZvciwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNweFZhbHVlUGFpciB9IGZyb20gJy4vc3B4LXZhbHVlLWludGVyZmFjZSc7XG5pbXBvcnQgeyBTcHhCdXR0b25Db21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1idXR0b24nO1xuaW1wb3J0IHsgU3B4RHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL3NweC1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGF0ZVRpbWUgfSBmcm9tICdsdXhvbic7XG5pbXBvcnQgeyBTcHhTZXZlcml0eUVudW0gfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1oZWxwZXJzJztcbmltcG9ydCB7IE1vZGFsQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyL3N0YW5kYWxvbmUnO1xuaW1wb3J0IHsgU3B4SW5wdXRUaW1lTW9kYWxDb21wb25lbnQgfSBmcm9tICcuL3NweC1pbnB1dC10aW1lLW1vZGFsLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NweC1pbnB1dC10aW1lJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nSWYsXG4gICAgTmdGb3IsXG4gICAgU3B4QnV0dG9uQ29tcG9uZW50LFxuICAgIFNweERyb3Bkb3duQ29tcG9uZW50LFxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICBNb2RhbENvbnRyb2xsZXIsXG4gIF0sXG4gIHN0eWxlczogYFxuICAgIC5jdXN0b20tc3F1YXJlLnNlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwN2JmZjtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBib3JkZXItY29sb3I6ICMwMDdiZmY7XG4gICAgfVxuICAgIC5jdXN0b20tYmcge1xuICAgICAgLS1iYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIH1cbiAgYCxcbiAgdGVtcGxhdGU6IGA8ZGl2IGNsYXNzPVwicmVsYXRpdmUgdGV4dC1ibGFja1wiPlxuICAgIDxkaXYgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWFyb3VuZCBnYXAtM1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImdyb3cgcm91bmRlZCBiZy1ncmF5LTEwMCBwLTMgdGV4dC14bCB0ZXh0LWNlbnRlciBmb250LWJvbGRcIiAoY2xpY2spPVwib3BlbkRpYWxvZygnaG91cnMnKVwiPnt7IGZvcm1hdHRlZEhvdXIgPz8gJy0tJyB9fTwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtZ3JheSB0ZXh0LXhsXCI+OjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImdyb3cgcm91bmRlZCBiZy1ncmF5LTEwMCBwLTMgdGV4dC14bCB0ZXh0LWNlbnRlciBmb250LWJvbGRcIiAoY2xpY2spPVwib3BlbkRpYWxvZygnbWludXRlcycpXCI+e3sgZm9ybWF0dGVkTWludXRlID8/ICctLScgfX08L2Rpdj5cbiAgICA8L2Rpdj5cbjwvZGl2PmAsXG59KVxuZXhwb3J0IGNsYXNzIFNweElucHV0VGltZUNvbXBvbmVudCB7XG4gIC8vIHByaXZhdGUgZWxJbnB1dD86IEhUTUxFbGVtZW50O1xuICAvLyBARWxlbWVudCgpIGVsITogSFRNTEVsZW1lbnQ7XG4gIEBJbnB1dCgpIHNweE5hbWU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNweEF1dG9mb2N1cyA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhJbnB1dE1vZGU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNweFBhdHRlcm4/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHNweFN1Z2dlc3Rpb25zOiBTcHhWYWx1ZVBhaXI8Ym9vbGVhbiB8IG51bWJlciB8IHN0cmluZz5bXSA9IFtdO1xuICBASW5wdXQoKSBzcHhSZWFkb25seSA9IGZhbHNlO1xuICBASW5wdXQoKSBzcHhWYWxpZGF0b3JzPzogYW55W107XG4gIEBJbnB1dCgpIHNweENhcGl0YWxpemUgPSBmYWxzZTtcbiAgQElucHV0KCkgc3B4Rm9jdXNlZCA9IHRydWU7XG4gIEBJbnB1dCgpIHNweFR5cGUhOiBhbnk7XG4gIEBJbnB1dCgpIHZhbHVlPzogU3B4VmFsdWVQYWlyPGFueT47XG4gIEBPdXRwdXQoKSBzcHhCbHVyRnJvbUNoaWxkOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIEBPdXRwdXQoKSBzcHhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxhbnk+PigpO1xuICBAT3V0cHV0KCkgc3B4Rm9jdXM6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgQElucHV0KCkgc3B4V2FzSW50ZXJuYWxVcGRhdGUgPSBmYWxzZTtcbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dFJlZj86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XG4gIHByaXZhdGUgbW9kYWxDb250cm9sbGVyOiBNb2RhbENvbnRyb2xsZXIgPSBpbmplY3QoTW9kYWxDb250cm9sbGVyKTtcblxuICBzZXZlcml0eVN1Y2Nlc3MgPSBTcHhTZXZlcml0eUVudW0uc3VjY2VzcztcbiAgaG91ck9wdGlvbnMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiAyNCB9LCAoXywgaSkgPT4gaSkudW5zaGlmdCgpOyAvLyAwIHRvIDIzXG4gIG1pbnV0ZU9wdGlvbnMgPSBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxMiB9LCAoXywgaSkgPT4gaSAqIDUpLnVuc2hpZnQoKTsgLy8gTWludXRlcyBpbiBpbmNyZW1lbnRlbiB2YW4gNVxuICBzZWxlY3RlZEhvdXI6IG51bWJlciB8IG51bGwgPSBudWxsO1xuICBzZWxlY3RlZE1pbnV0ZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgZ2V0IGZvcm1hdHRlZEhvdXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRIb3VyICE9PSBudWxsICYmIHRoaXMuc2VsZWN0ZWRIb3VyIDwgMTAgPyBgMCR7dGhpcy5zZWxlY3RlZEhvdXJ9YCA6IHRoaXMuc2VsZWN0ZWRIb3VyO1xuICB9XG5cbiAgZ2V0IGZvcm1hdHRlZE1pbnV0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZE1pbnV0ZSAhPT0gbnVsbCAmJiB0aGlzLnNlbGVjdGVkTWludXRlIDwgMTAgPyBgMCR7dGhpcy5zZWxlY3RlZE1pbnV0ZX1gIDogdGhpcy5zZWxlY3RlZE1pbnV0ZTtcbiAgfVxuXG5cbiAgZ2V0IGhvdXIoKSB7IHJldHVybiB0aGlzLnZhbHVlPy52YWx1ZSA/IERhdGVUaW1lLmZyb21JU08odGhpcy52YWx1ZS52YWx1ZSkuaG91ciA6IG51bGw7IH1cbiAgZ2V0IG1pbnV0ZSgpIHsgcmV0dXJuIHRoaXMudmFsdWU/LnZhbHVlID8gRGF0ZVRpbWUuZnJvbUlTTyh0aGlzLnZhbHVlLnZhbHVlKS5taW51dGUgOiBudWxsOyB9XG5cbiAgc3B4U2V0Rm9jdXMoKSB7XG4gICAgdGhpcy5pbnB1dFJlZj8ubmF0aXZlRWxlbWVudD8uZm9jdXMoKTtcbiAgfVxuXG4gIGNvbXBvbmVudERpZExvYWQoKSB7XG4gICAgaWYgKHRoaXMuc3B4QXV0b2ZvY3VzKSB7XG4gICAgICB0aGlzLnNweEZvY3VzLmVtaXQoKTtcbiAgICAgIHRoaXMuc3B4U2V0Rm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVCbHVyKCkge1xuICAgIHRoaXMuc3B4Qmx1ckZyb21DaGlsZC5lbWl0KCk7XG4gIH1cblxuICBoYW5kbGVGb2N1cygpIHtcbiAgICB0aGlzLnNweEZvY3VzLmVtaXQoKTtcbiAgfVxuXG4gIGhhbmRsZURlc2NyaXB0aW9uSW5wdXQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMudmFsdWUgPSB7XG4gICAgICBkZXNjcmlwdGlvbjogZXZlbnQudGFyZ2V0ID8gZXZlbnQudGFyZ2V0LnZhbHVlIDogbnVsbCxcbiAgICAgIHZhbHVlOiBldmVudC50YXJnZXQgPyBldmVudC50YXJnZXQudmFsdWUgOiBudWxsLFxuICAgIH07XG4gICAgdGhpcy5zcHhDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcbiAgfVxuXG4gIGhhbmRsZVN1Z2dlc3Rpb25DbGljayh2YWx1ZTogYW55KSB7XG4gICAgaWYgKCF0aGlzLnNweFJlYWRvbmx5KSB7XG4gICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICB0aGlzLnNweENoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgICAgdGhpcy5zcHhGb2N1c2VkID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlS2V5VXAoKSB7XG4gICAgdGhpcy5zcHhGb2N1c2VkID0gdHJ1ZTtcbiAgfVxuXG4gIGFzeW5jIG9wZW5EaWFsb2codmlldzogJ2hvdXJzJyB8ICdtaW51dGVzJykge1xuICAgIGNvbnN0IG1vZGFsID0gYXdhaXQgdGhpcy5tb2RhbENvbnRyb2xsZXIuY3JlYXRlKHtcbiAgICAgIGNvbXBvbmVudDogU3B4SW5wdXRUaW1lTW9kYWxDb21wb25lbnQsXG4gICAgICBjb21wb25lbnRQcm9wczoge1xuICAgICAgICB2YWx1ZTogdGhpcy52YWx1ZT8udmFsdWUgP1xuICAgICAgICAgICh2aWV3ID09PSAnaG91cnMnID8gRGF0ZVRpbWUuZnJvbUlTTyh0aGlzLnZhbHVlLnZhbHVlKS5ob3VyIDogRGF0ZVRpbWUuZnJvbUlTTyh0aGlzLnZhbHVlLnZhbHVlKS5taW51dGUpIDogdW5kZWZpbmVkLFxuICAgICAgICB2aWV3LFxuICAgICAgfSxcbiAgICB9KTtcblxuICAgIG1vZGFsLm9uRGlkRGlzbWlzcygpLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgIC8vIHRoaXMuYXBwU3RvcmUuZGlzcGF0Y2goaW5mQXJ0aWNsZUFjdGlvbnMucmVzZXQoe30pKTtcblxuICAgICAgaWYgKHZpZXcgPT09ICdob3VycycpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2hvdXJzJyk7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKGRhdGEpO1xuICAgICAgICB0aGlzLnNlbGVjdGVkSG91ciA9IGRhdGEuZGF0YTtcbiAgICAgICAgdGhpcy5vcGVuRGlhbG9nKCdtaW51dGVzJyk7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoKTtcblxuICAgICAgfSBlbHNlIGlmICh2aWV3ID09PSAnbWludXRlcycpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ21pbnV0ZXMnKTtcbiAgICAgICAgLy8gY29uc29sZS5sb2coZGF0YSk7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNaW51dGUgPSBkYXRhLmRhdGE7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGF3YWl0IG1vZGFsLnByZXNlbnQoKTtcbiAgfVxuXG4gIHVwZGF0ZVZhbHVlKCkge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkSG91ciAhPT0gbnVsbCAmJiB0aGlzLnNlbGVjdGVkTWludXRlICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBmb3JtYXR0ZWRIb3VyID0gdGhpcy5zZWxlY3RlZEhvdXIgPCAxMCA/IGAwJHt0aGlzLnNlbGVjdGVkSG91cn1gIDogdGhpcy5zZWxlY3RlZEhvdXI7XG4gICAgICBjb25zdCBmb3JtYXR0ZWRNaW51dGUgPSB0aGlzLnNlbGVjdGVkTWludXRlIDwgMTAgPyBgMCR7dGhpcy5zZWxlY3RlZE1pbnV0ZX1gIDogdGhpcy5zZWxlY3RlZE1pbnV0ZTtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gYCR7Zm9ybWF0dGVkSG91cn06JHtmb3JtYXR0ZWRNaW51dGV9YDtcblxuICAgICAgdGhpcy52YWx1ZSA9IHtcbiAgICAgICAgZGVzY3JpcHRpb246IG5ld1ZhbHVlLFxuICAgICAgICB2YWx1ZTogbmV3VmFsdWUsXG4gICAgICB9O1xuXG4gICAgICB0aGlzLnNweENoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -7,7 +7,7 @@ import { CommonModule } from '@angular/common';
7
7
  import { SpxInputTypeEnum, SpxInputComponent } from '@softpak/components/spx-inputs';
8
8
  import { SpxFormViewComponent } from '@softpak/components/spx-form-view';
9
9
  import { SpxButtonComponent } from '@softpak/components/spx-button';
10
- import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
10
+ import { SpxSeverityEnum, valuePairToValue } from '@softpak/components/spx-helpers';
11
11
 
12
12
  const sectionChangeDetails = 'changeDetails';
13
13
  const ctrlContainerNumber = 'containerNumber';
@@ -18,15 +18,16 @@ const ctrlCustomer = 'customer';
18
18
  const ctrlTonsTested = 'tonsTested';
19
19
  const ctrlLicensePlate = 'licensePlate';
20
20
  const ctrlCategory = 'category';
21
+ const ctrlUseCategories = 'useCategories';
21
22
  class SpxChangeDetailsComponent {
22
23
  get ctrlCategory() { return this.formGroup.get(ctrlCategory); }
23
24
  get ctrlCustomer() { return this.formGroup.get(ctrlCustomer); }
24
25
  get ctrlContainerType() { return this.formGroup.get(ctrlContainerType); }
25
26
  get ctrlLicensePlate() { return this.formGroup.get(ctrlLicensePlate); }
26
27
  get ctrlTonsTested() { return this.formGroup.get(ctrlTonsTested); }
28
+ get ctrlUseCategories() { return this.formGroup.get(ctrlUseCategories); }
27
29
  constructor(formBuilder) {
28
30
  this.formBuilder = formBuilder;
29
- this.showCategory = false;
30
31
  this.suggestions = {};
31
32
  this.spxBlurCategory = new EventEmitter();
32
33
  this.spxBlurContainerType = new EventEmitter();
@@ -91,13 +92,18 @@ class SpxChangeDetailsComponent {
91
92
  label: () => this.txtLicensePlate,
92
93
  capitalize: () => true,
93
94
  },
95
+ {
96
+ key: ctrlUseCategories,
97
+ type: () => SpxInputTypeEnum.hidden,
98
+ capitalize: () => true,
99
+ },
94
100
  {
95
101
  key: ctrlCategory,
96
102
  type: () => SpxInputTypeEnum.autocomplete,
97
103
  label: () => this.txtCategory,
98
104
  capitalize: () => true,
99
- show: () => this.showCategory,
100
- validators: () => this.showCategory ? [spxValidatorRequired()] : [],
105
+ show: () => valuePairToValue(this.ctrlUseCategories.value),
106
+ validators: () => valuePairToValue(this.ctrlUseCategories.value) ? [spxValidatorRequired()] : [],
101
107
  }
102
108
  ]
103
109
  }
@@ -138,7 +144,7 @@ class SpxChangeDetailsComponent {
138
144
  }
139
145
  onSubmit() {
140
146
  this.submit.emit({
141
- category: this.ctrlCategory.value,
147
+ category: valuePairToValue(this.ctrlUseCategories.value) ? this.ctrlCategory.value : null,
142
148
  containerType: this.ctrlContainerType.value,
143
149
  licensePlate: this.ctrlLicensePlate.value,
144
150
  tonsTested: this.ctrlTonsTested.value,
@@ -151,7 +157,7 @@ class SpxChangeDetailsComponent {
151
157
  });
152
158
  }
153
159
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxChangeDetailsComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
154
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SpxChangeDetailsComponent, isStandalone: true, selector: "spx-change-details", inputs: { formGroup: "formGroup", showCategory: "showCategory", suggestions: "suggestions", txtCategory: "txtCategory", txtContainerNumber: "txtContainerNumber", txtContainerPrefix: "txtContainerPrefix", txtContainerType: "txtContainerType", txtCustomer: "txtCustomer", txtLicensePlate: "txtLicensePlate", txtTonsTested: "txtTonsTested" }, 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()\">\n <spx-form-view\n [spxFormGroup]=\"formGroup\"\n [spxSections]=\"sections\"\n [spxSuggestions]=\"suggestions\"\n (spxBlur)=\"onBlur($event)\"\n (spxSearch)=\"onSearch($event)\">\n </spx-form-view>\n <spx-button\n [spxFullWidth]=\"true\"\n [spxSeverity]=\"severitySuccess\">\n Save\n </spx-button>\n</form>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: SpxButtonComponent, selector: "spx-button", inputs: ["spxDisabled", "spxClass", "spxClassObject", "spxForm", "spxFullHeight", "spxFullWidth", "spxSeverity", "spxSize", "spxTabIndex", "spxType"], outputs: ["spxClick"] }, { kind: "component", type: SpxFormViewComponent, selector: "spx-form-view", inputs: ["spxFormGroup", "spxSections", "spxSuggestions"], outputs: ["spxBlur", "spxClick", "spxSearch"] }] }); }
160
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: SpxChangeDetailsComponent, isStandalone: true, selector: "spx-change-details", inputs: { formGroup: "formGroup", suggestions: "suggestions", txtCategory: "txtCategory", txtContainerNumber: "txtContainerNumber", txtContainerPrefix: "txtContainerPrefix", txtContainerType: "txtContainerType", txtCustomer: "txtCustomer", txtLicensePlate: "txtLicensePlate", txtTonsTested: "txtTonsTested" }, 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()\">\n <spx-form-view\n [spxFormGroup]=\"formGroup\"\n [spxSections]=\"sections\"\n [spxSuggestions]=\"suggestions\"\n (spxBlur)=\"onBlur($event)\"\n (spxSearch)=\"onSearch($event)\">\n </spx-form-view>\n <spx-button\n [spxFullWidth]=\"true\"\n [spxSeverity]=\"severitySuccess\">\n Save\n </spx-button>\n</form>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { 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: SpxButtonComponent, selector: "spx-button", inputs: ["spxDisabled", "spxClass", "spxClassObject", "spxForm", "spxFullHeight", "spxFullWidth", "spxSeverity", "spxSize", "spxTabIndex", "spxType"], outputs: ["spxClick"] }, { kind: "component", type: SpxFormViewComponent, selector: "spx-form-view", inputs: ["spxFormGroup", "spxSections", "spxSuggestions"], outputs: ["spxBlur", "spxClick", "spxSearch"] }] }); }
155
161
  }
156
162
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxChangeDetailsComponent, decorators: [{
157
163
  type: Component,
@@ -166,8 +172,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
166
172
  ], template: "<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\n <spx-form-view\n [spxFormGroup]=\"formGroup\"\n [spxSections]=\"sections\"\n [spxSuggestions]=\"suggestions\"\n (spxBlur)=\"onBlur($event)\"\n (spxSearch)=\"onSearch($event)\">\n </spx-form-view>\n <spx-button\n [spxFullWidth]=\"true\"\n [spxSeverity]=\"severitySuccess\">\n Save\n </spx-button>\n</form>" }]
167
173
  }], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { formGroup: [{
168
174
  type: Input
169
- }], showCategory: [{
170
- type: Input
171
175
  }], suggestions: [{
172
176
  type: Input
173
177
  }], txtCategory: [{
@@ -202,5 +206,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
202
206
  * Generated bundle index. Do not edit.
203
207
  */
204
208
 
205
- export { SpxChangeDetailsComponent, ctrlCategory, ctrlContainerNumber, ctrlContainerPrefix, ctrlContainerSeqNr, ctrlContainerType, ctrlCustomer, ctrlLicensePlate, ctrlTonsTested, sectionChangeDetails };
209
+ export { SpxChangeDetailsComponent, ctrlCategory, ctrlContainerNumber, ctrlContainerPrefix, ctrlContainerSeqNr, ctrlContainerType, ctrlCustomer, ctrlLicensePlate, ctrlTonsTested, ctrlUseCategories, sectionChangeDetails };
206
210
  //# sourceMappingURL=softpak-components-spx-change-details.mjs.map