@softpak/components 18.6.1 → 18.6.3

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,5 +5,6 @@ export var SpxSeverityEnum;
5
5
  SpxSeverityEnum["success"] = "success";
6
6
  SpxSeverityEnum["unknown"] = "unknown";
7
7
  SpxSeverityEnum["warning"] = "warning";
8
+ SpxSeverityEnum["primary"] = "primary";
8
9
  })(SpxSeverityEnum || (SpxSeverityEnum = {}));
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LXNldmVyaXR5LmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWhlbHBlcnMvc3B4LXNldmVyaXR5LmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksZUFNWDtBQU5ELFdBQVksZUFBZTtJQUN6QixrQ0FBZSxDQUFBO0lBQ2YsZ0NBQWEsQ0FBQTtJQUNiLHNDQUFtQixDQUFBO0lBQ25CLHNDQUFtQixDQUFBO0lBQ25CLHNDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFOVyxlQUFlLEtBQWYsZUFBZSxRQU0xQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFNweFNldmVyaXR5RW51bSB7XHJcbiAgZXJyb3IgPSAnZXJyb3InLFxyXG4gIGluZm8gPSAnaW5mbycsXHJcbiAgc3VjY2VzcyA9ICdzdWNjZXNzJyxcclxuICB1bmtub3duID0gJ3Vua25vd24nLFxyXG4gIHdhcm5pbmcgPSAnd2FybmluZycsXHJcbn1cclxuIl19
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LXNldmVyaXR5LmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWhlbHBlcnMvc3B4LXNldmVyaXR5LmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksZUFPWDtBQVBELFdBQVksZUFBZTtJQUN6QixrQ0FBZSxDQUFBO0lBQ2YsZ0NBQWEsQ0FBQTtJQUNiLHNDQUFtQixDQUFBO0lBQ25CLHNDQUFtQixDQUFBO0lBQ25CLHNDQUFtQixDQUFBO0lBQ25CLHNDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFQVyxlQUFlLEtBQWYsZUFBZSxRQU8xQiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIFNweFNldmVyaXR5RW51bSB7XHJcbiAgZXJyb3IgPSAnZXJyb3InLFxyXG4gIGluZm8gPSAnaW5mbycsXHJcbiAgc3VjY2VzcyA9ICdzdWNjZXNzJyxcclxuICB1bmtub3duID0gJ3Vua25vd24nLFxyXG4gIHdhcm5pbmcgPSAnd2FybmluZycsXHJcbiAgcHJpbWFyeSA9ICdwcmltYXJ5JyxcclxufVxyXG4iXX0=
@@ -0,0 +1,164 @@
1
+ import { Component, computed, input, model, output, signal } from '@angular/core';
2
+ import { DateTime } from 'luxon';
3
+ import { valuePairToValue } from '@softpak/components/spx-helpers';
4
+ import { FormsModule } from '@angular/forms';
5
+ import { SpxSuggestionComponent } from '@softpak/components/spx-suggestion';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/forms";
8
+ var stepType;
9
+ (function (stepType) {
10
+ stepType["years"] = "years";
11
+ stepType["months"] = "months";
12
+ stepType["days"] = "days";
13
+ })(stepType || (stepType = {}));
14
+ export class SpxInputDateComponent {
15
+ constructor() {
16
+ this.spxMax = input.required();
17
+ this.spxMin = input.required();
18
+ this.spxReadonly = input();
19
+ this.spxValidators = input();
20
+ this.value = model({
21
+ description: "",
22
+ value: "",
23
+ });
24
+ this.spxChange = output();
25
+ this.spxFocused = input(true);
26
+ this.spxFocus = output();
27
+ this.spxSelectedStep = signal(stepType.years);
28
+ this.spxSelectDay = input(false);
29
+ this.spxSelectMonth = input(true);
30
+ this.selectedYear = signal(null);
31
+ this.selectedMonth = signal(null);
32
+ this.selectedDay = signal(null);
33
+ this.spxSuggestionC = computed(() => {
34
+ switch (this.spxSelectedStep()) {
35
+ case 'months':
36
+ return [...this.spxSuggestions().months];
37
+ case 'days':
38
+ return [...this.spxSuggestions().days];
39
+ default:
40
+ return this.spxSuggestions().years;
41
+ }
42
+ });
43
+ this.spxSuggestions = input({ years: [],
44
+ months: [{
45
+ description: 'Jan',
46
+ value: 1,
47
+ }, {
48
+ description: 'Feb',
49
+ value: 2,
50
+ }, {
51
+ description: 'Mar',
52
+ value: 3,
53
+ }, {
54
+ description: 'Apr',
55
+ value: 4,
56
+ }, {
57
+ description: 'May',
58
+ value: 5,
59
+ }, {
60
+ description: 'Jun',
61
+ value: 6,
62
+ }, {
63
+ description: 'Jul',
64
+ value: 7,
65
+ }, {
66
+ description: 'Aug',
67
+ value: 8,
68
+ }, {
69
+ description: 'Sep',
70
+ value: 9,
71
+ }, {
72
+ description: 'Oct',
73
+ value: 10,
74
+ }, {
75
+ description: 'Nov',
76
+ value: 11,
77
+ }, {
78
+ description: 'Dec',
79
+ value: 12,
80
+ }],
81
+ days: [], });
82
+ }
83
+ onModelChange(newValue, selectedStep) {
84
+ const parsedValue = +newValue; // Convert to number
85
+ if (parsedValue == 0)
86
+ return;
87
+ switch (selectedStep) {
88
+ case stepType.years:
89
+ this.selectedYear.set(parsedValue);
90
+ break;
91
+ case stepType.months:
92
+ this.selectedMonth.set(parsedValue);
93
+ break;
94
+ case stepType.days:
95
+ this.selectedDay.set(parsedValue);
96
+ break;
97
+ }
98
+ }
99
+ ngOnInit() {
100
+ this.suggestYears();
101
+ if (valuePairToValue(this.value)) {
102
+ const parsedValue = DateTime.fromISO(valuePairToValue(this.value));
103
+ this.selectedYear.set(parsedValue.year);
104
+ this.selectedMonth.set(parsedValue.month);
105
+ this.selectedDay.set(parsedValue.day);
106
+ }
107
+ }
108
+ handleSuggestionClick(value) {
109
+ switch (this.spxSelectedStep()) {
110
+ case "years":
111
+ this.selectedYear.set(value);
112
+ break;
113
+ case "months":
114
+ this.selectedMonth.set(value);
115
+ break;
116
+ case "days":
117
+ this.selectedDay.set(value);
118
+ break;
119
+ }
120
+ this.updateValueAndEmit();
121
+ this.changeSelectedStep();
122
+ }
123
+ updateValueAndEmit() {
124
+ const concatenatedValue = `
125
+ ${this.selectedYear() ? this.selectedYear() : ``}
126
+ ${this.selectedMonth() ? `${this.selectedMonth() < 10 ? `0${this.selectedMonth()}` : this.selectedMonth()}` : ``}
127
+ ${this.selectedDay() ? `-${this.selectedDay() < 10 ? `0${this.selectedDay()}` : this.selectedDay()}` : ``}`;
128
+ const parsedValue = DateTime.fromISO(concatenatedValue);
129
+ this.value.set({ value: parsedValue.toISO(), description: parsedValue.toISO() });
130
+ this.spxChange.emit(this.value());
131
+ }
132
+ changeSelectedStep() {
133
+ switch (this.spxSelectedStep()) {
134
+ case 'days':
135
+ this.spxSelectedStep.set(stepType.years);
136
+ break;
137
+ case 'months':
138
+ this.spxSelectedStep.set(this.spxSelectDay() ? stepType.days : stepType.years);
139
+ break;
140
+ case 'years':
141
+ this.spxSelectedStep.set(this.spxSelectMonth() ? stepType.months : stepType.years);
142
+ break;
143
+ }
144
+ }
145
+ suggestYears() {
146
+ this.spxSuggestions().years = [];
147
+ for (let year = DateTime.fromISO(this.spxMin()).year; year <= DateTime.fromISO(this.spxMax()).year; year++) {
148
+ this.spxSuggestions().years.push({
149
+ description: `'${year.toString().substring(2, 4)}`,
150
+ value: year,
151
+ });
152
+ }
153
+ }
154
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxInputDateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
155
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SpxInputDateComponent, isStandalone: true, selector: "spx-input-date", inputs: { spxMax: { classPropertyName: "spxMax", publicName: "spxMax", isSignal: true, isRequired: true, transformFunction: null }, spxMin: { classPropertyName: "spxMin", publicName: "spxMin", isSignal: true, isRequired: true, transformFunction: null }, spxReadonly: { classPropertyName: "spxReadonly", publicName: "spxReadonly", isSignal: true, isRequired: false, transformFunction: null }, spxValidators: { classPropertyName: "spxValidators", publicName: "spxValidators", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, spxFocused: { classPropertyName: "spxFocused", publicName: "spxFocused", isSignal: true, isRequired: false, transformFunction: null }, spxSelectDay: { classPropertyName: "spxSelectDay", publicName: "spxSelectDay", isSignal: true, isRequired: false, transformFunction: null }, spxSelectMonth: { classPropertyName: "spxSelectMonth", publicName: "spxSelectMonth", isSignal: true, isRequired: false, transformFunction: null }, spxSuggestions: { classPropertyName: "spxSuggestions", publicName: "spxSuggestions", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", spxChange: "spxChange", spxFocus: "spxFocus" }, ngImport: i0, template: "<div class='spx-input-date__controls'>\r\n <input\r\n class='spx-input-date__input'\r\n [(ngModel)]=\"selectedYear\"\r\n [attr.type]=\"'number'\"\r\n (ngModelChange)=\"onModelChange($event, 'years')\"\r\n [attr.min]=\"1900\"\r\n [attr.max]=\"2100\"\r\n [attr.step]=\"1\"\r\n />\r\n <div class='spx-input-date__control-label'>Year</div>\r\n @if (this.spxSelectMonth()) {\r\n <input\r\n class='spx-input-date__input'\r\n [(ngModel)]=\"selectedMonth\"\r\n (ngModelChange)=\"onModelChange($event, 'months')\"\r\n [attr.type]=\"'number'\"\r\n [attr.min]=\"1\"\r\n [attr.max]=\"12\"\r\n [attr.step]=\"1\" />\r\n }\r\n <div class='spx-input-date__control-label'>Month</div>\r\n @if (this.spxSelectDay()) {\r\n <input\r\n class='spx-input-date__input'\r\n [(ngModel)]=\"selectedDay\"\r\n (ngModelChange)=\"onModelChange($event, 'days')\"\r\n [attr.type]=\"'number'\"\r\n [attr.min]=\"1\"\r\n [attr.max]=\"31\"\r\n [attr.step]=\"1\" />\r\n <div class='spx-input-date__control-label'>Days</div>\r\n }\r\n</div>\r\n<div class='spx-input-date__suggestions'>\r\n @for (valuePair of spxSuggestionC(); track valuePair.value) {\r\n <spx-suggestion [spxSelected]=\"\r\n (selectedYear() === valuePair.value) ||\r\n (selectedMonth() === valuePair.value) || \r\n (selectedDay() === valuePair.value)\"\r\n (click)=\"this.handleSuggestionClick(valuePair.value)\">{{valuePair?.description}}</spx-suggestion>\r\n }\r\n</div>", styles: [":host{display:block}.spx-input-date__input{background-color:transparent;border:1px solid #979797;border-radius:4px;color:var(--spx-input--color, rgba(0, 0, 0, .9));box-sizing:border-box;font-size:16px;margin-right:10px;padding:6px;text-align:center;width:100%}.spx-input-date__input:active{transform:scale(.95)}.spx-input-date__input:focus{border:var(--spx-input-box--focus--border, 1px solid rgb(115, 168, 210));border-radius:4px;outline:none}.spx-input-date__control-label{align-items:center;color:#000000b3;display:inline-grid;font-size:13px;letter-spacing:1px}.spx-input-date__input::-webkit-outer-spin-button,.spx-input-date__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.spx-input-date__input[type=number]{-moz-appearance:textfield}.spx-input-date__suggestions,.spx-input-date__controls{display:grid;grid-gap:8px;grid-template-columns:repeat(4,1fr);margin-top:8px}\n"], dependencies: [{ kind: "component", type: SpxSuggestionComponent, selector: "spx-suggestion", inputs: ["spxDisabled", "spxFocused", "spxSelected", "spxTabbable"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
156
+ }
157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxInputDateComponent, decorators: [{
158
+ type: Component,
159
+ args: [{ selector: 'spx-input-date', standalone: true, imports: [
160
+ SpxSuggestionComponent,
161
+ FormsModule
162
+ ], template: "<div class='spx-input-date__controls'>\r\n <input\r\n class='spx-input-date__input'\r\n [(ngModel)]=\"selectedYear\"\r\n [attr.type]=\"'number'\"\r\n (ngModelChange)=\"onModelChange($event, 'years')\"\r\n [attr.min]=\"1900\"\r\n [attr.max]=\"2100\"\r\n [attr.step]=\"1\"\r\n />\r\n <div class='spx-input-date__control-label'>Year</div>\r\n @if (this.spxSelectMonth()) {\r\n <input\r\n class='spx-input-date__input'\r\n [(ngModel)]=\"selectedMonth\"\r\n (ngModelChange)=\"onModelChange($event, 'months')\"\r\n [attr.type]=\"'number'\"\r\n [attr.min]=\"1\"\r\n [attr.max]=\"12\"\r\n [attr.step]=\"1\" />\r\n }\r\n <div class='spx-input-date__control-label'>Month</div>\r\n @if (this.spxSelectDay()) {\r\n <input\r\n class='spx-input-date__input'\r\n [(ngModel)]=\"selectedDay\"\r\n (ngModelChange)=\"onModelChange($event, 'days')\"\r\n [attr.type]=\"'number'\"\r\n [attr.min]=\"1\"\r\n [attr.max]=\"31\"\r\n [attr.step]=\"1\" />\r\n <div class='spx-input-date__control-label'>Days</div>\r\n }\r\n</div>\r\n<div class='spx-input-date__suggestions'>\r\n @for (valuePair of spxSuggestionC(); track valuePair.value) {\r\n <spx-suggestion [spxSelected]=\"\r\n (selectedYear() === valuePair.value) ||\r\n (selectedMonth() === valuePair.value) || \r\n (selectedDay() === valuePair.value)\"\r\n (click)=\"this.handleSuggestionClick(valuePair.value)\">{{valuePair?.description}}</spx-suggestion>\r\n }\r\n</div>", styles: [":host{display:block}.spx-input-date__input{background-color:transparent;border:1px solid #979797;border-radius:4px;color:var(--spx-input--color, rgba(0, 0, 0, .9));box-sizing:border-box;font-size:16px;margin-right:10px;padding:6px;text-align:center;width:100%}.spx-input-date__input:active{transform:scale(.95)}.spx-input-date__input:focus{border:var(--spx-input-box--focus--border, 1px solid rgb(115, 168, 210));border-radius:4px;outline:none}.spx-input-date__control-label{align-items:center;color:#000000b3;display:inline-grid;font-size:13px;letter-spacing:1px}.spx-input-date__input::-webkit-outer-spin-button,.spx-input-date__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.spx-input-date__input[type=number]{-moz-appearance:textfield}.spx-input-date__suggestions,.spx-input-date__controls{display:grid;grid-gap:8px;grid-template-columns:repeat(4,1fr);margin-top:8px}\n"] }]
163
+ }] });
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LWRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1pbnB1dHMvc3B4LWlucHV0LWRhdGUvc3B4LWlucHV0LWRhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1pbnB1dHMvc3B4LWlucHV0LWRhdGUvc3B4LWlucHV0LWRhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFakMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7QUFFNUUsSUFBSyxRQUlKO0FBSkQsV0FBSyxRQUFRO0lBQ1gsMkJBQWUsQ0FBQTtJQUNmLDZCQUFpQixDQUFBO0lBQ2pCLHlCQUFhLENBQUE7QUFDZixDQUFDLEVBSkksUUFBUSxLQUFSLFFBQVEsUUFJWjtBQVlELE1BQU0sT0FBTyxxQkFBcUI7SUFWbEM7UUFXRSxXQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVSxDQUFDO1FBQ2xDLFdBQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7UUFDbEMsZ0JBQVcsR0FBRyxLQUFLLEVBQVcsQ0FBQztRQUMvQixrQkFBYSxHQUFHLEtBQUssRUFBUyxDQUFDO1FBQy9CLFVBQUssR0FBSSxLQUFLLENBQXVCO1lBQ25DLFdBQVcs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clxuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQsIG1vZGVsLCBPbkluaXQsIG91dHB1dCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nO1xyXG5pbXBvcnQgeyBTcHhWYWx1ZVBhaXIgfSBmcm9tICcuLi9zcHgtdmFsdWUtaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgdmFsdWVQYWlyVG9WYWx1ZSB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWhlbHBlcnMnO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3B4U3VnZ2VzdGlvbkNvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LXN1Z2dlc3Rpb24nO1xyXG5cclxuZW51bSBzdGVwVHlwZSB7XHJcbiAgeWVhcnMgPSBcInllYXJzXCIsXHJcbiAgbW9udGhzID0gXCJtb250aHNcIixcclxuICBkYXlzID0gXCJkYXlzXCJcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzcHgtaW5wdXQtZGF0ZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBTcHhTdWdnZXN0aW9uQ29tcG9uZW50LFxyXG4gICAgRm9ybXNNb2R1bGVcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vc3B4LWlucHV0LWRhdGUuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybDogXCIuL3NweC1pbnB1dC1kYXRlLmNvbXBvbmVudC5jc3NcIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3B4SW5wdXREYXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBzcHhNYXggPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XHJcbiAgc3B4TWluID0gaW5wdXQucmVxdWlyZWQ8c3RyaW5nPigpO1xyXG4gIHNweFJlYWRvbmx5ID0gaW5wdXQ8Ym9vbGVhbj4oKTtcclxuICBzcHhWYWxpZGF0b3JzID0gaW5wdXQ8YW55W10+KCk7XHJcbiAgdmFsdWUgPSAgbW9kZWw8U3B4VmFsdWVQYWlyPHN0cmluZz4+KHtcclxuICAgIGRlc2NyaXB0aW9uOiBcIlwiLFxyXG4gICAgdmFsdWU6IFwiXCIsXHJcbiAgfSk7XHJcbiAgc3B4Q2hhbmdlID0gb3V0cHV0PFNweFZhbHVlUGFpcjxhbnk+PigpO1xyXG4gIHNweEZvY3VzZWQgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuICBzcHhGb2N1cyA9IG91dHB1dCgpO1xyXG5cclxuICBzcHhTZWxlY3RlZFN0ZXAgPSBzaWduYWw8c3RlcFR5cGU+KHN0ZXBUeXBlLnllYXJzKTtcclxuXHJcbiAgc3B4U2VsZWN0RGF5ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHNweFNlbGVjdE1vbnRoID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblxyXG4gIHNlbGVjdGVkWWVhciA9IHNpZ25hbDxudW1iZXIgfCBudWxsPihudWxsKTtcclxuICBzZWxlY3RlZE1vbnRoID0gc2lnbmFsPG51bWJlcnwgbnVsbD4obnVsbCk7XHJcbiAgc2VsZWN0ZWREYXkgPSBzaWduYWw8bnVtYmVyfCBudWxsPihudWxsKTtcclxuXHJcbiAgc3B4U3VnZ2VzdGlvbkMgPSBjb21wdXRlZDxTcHhWYWx1ZVBhaXI8bnVtYmVyPltdPigoKSA9PiB7XHJcbiAgICBzd2l0Y2godGhpcy5zcHhTZWxlY3RlZFN0ZXAoKSkge1xyXG4gICAgICBjYXNlICdtb250aHMnIDpcclxuICAgICAgICByZXR1cm4gWy4uLnRoaXMuc3B4U3VnZ2VzdGlvbnMoKS5tb250aHNdXHJcbiAgICAgIGNhc2UgJ2RheXMnIDpcclxuICAgICAgICByZXR1cm4gWy4uLnRoaXMuc3B4U3VnZ2VzdGlvbnMoKS5kYXlzXVxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiB0aGlzLnNweFN1Z2dlc3Rpb25zKCkueWVhcnM7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIG9uTW9kZWxDaGFuZ2UobmV3VmFsdWU6IHN0cmluZywgc2VsZWN0ZWRTdGVwOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHBhcnNlZFZhbHVlID0gK25ld1ZhbHVlOyAvLyBDb252ZXJ0IHRvIG51bWJlclxyXG5cclxuICAgIGlmKHBhcnNlZFZhbHVlID09IDApIHJldHVybjtcclxuXHJcbiAgICBzd2l0Y2goc2VsZWN0ZWRTdGVwKSB7XHJcbiAgICAgIGNhc2Ugc3RlcFR5cGUueWVhcnM6XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFllYXIuc2V0KHBhcnNlZFZhbHVlKTtcclxuICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2Ugc3RlcFR5cGUubW9udGhzOlxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNb250aC5zZXQocGFyc2VkVmFsdWUpO1xyXG4gICAgICBicmVhaztcclxuICAgICAgY2FzZSBzdGVwVHlwZS5kYXlzOlxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXkuc2V0KHBhcnNlZFZhbHVlKTtcclxuICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzcHhTdWdnZXN0aW9ucyA9IGlucHV0PHtcclxuICAgIHllYXJzOiBTcHhWYWx1ZVBhaXI8bnVtYmVyPltdO1xyXG4gICAgbW9udGhzOiBTcHhWYWx1ZVBhaXI8bnVtYmVyPltdO1xyXG4gICAgZGF5czogU3B4VmFsdWVQYWlyPG51bWJlcj5bXTtcclxuICB9Pih7eWVhcnM6IFtdLFxyXG4gICAgbW9udGhzOiBbe1xyXG4gICAgICBkZXNjcmlwdGlvbjogJ0phbicsXHJcbiAgICAgIHZhbHVlOiAxLFxyXG4gICAgfSwge1xyXG4gICAgICBkZXNjcmlwdGlvbjogJ0ZlYicsXHJcbiAgICAgIHZhbHVlOiAyLFxyXG4gICAgfSwge1xyXG4gICAgICBkZXNjcmlwdGlvbjogJ01hcicsXHJcbiAgICAgIHZhbHVlOiAzLFxyXG4gICAgfSwge1xyXG4gICAgICBkZXNjcmlwdGlvbjogJ0FwcicsXHJcbiAgICAgIHZhbHVlOiA0LFxyXG4gICAgfSwge1xyXG4gICAgICBkZXNjcmlwdGlvbjogJ01heScsXHJcbiAgICAgIHZhbHVlOiA1LFxyXG4gICAgfSwge1xyXG4gICAgICBkZXNjcmlwdGlvbjogJ0p1bicsXHJcbiAgICAgIHZhbHVlOiA2LFxyXG4gICAgfSwge1xyXG4gICAgICBkZXNjcmlwdGlvbjogJ0p1bCcsXHJcbiAgICAgIHZhbHVlOiA3LFxyXG4gICAgfSwge1xyXG4gICAgICBkZXNjcmlwdGlvbjogJ0F1ZycsXHJcbiAgICAgIHZhbHVlOiA4LFxyXG4gICAgfSwge1xyXG4gICAgICBkZXNjcmlwdGlvbjogJ1NlcCcsXHJcbiAgICAgIHZhbHVlOiA5LFxyXG4gICAgfSwge1xyXG4gICAgICBkZXNjcmlwdGlvbjogJ09jdCcsXHJcbiAgICAgIHZhbHVlOiAxMCxcclxuICAgIH0sIHtcclxuICAgICAgZGVzY3JpcHRpb246ICdOb3YnLFxyXG4gICAgICB2YWx1ZTogMTEsXHJcbiAgICB9LCB7XHJcbiAgICAgIGRlc2NyaXB0aW9uOiAnRGVjJyxcclxuICAgICAgdmFsdWU6IDEyLFxyXG4gICAgfV0sXHJcbiAgICBkYXlzOiBbXSx9KTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnN1Z2dlc3RZZWFycygpO1xyXG4gICAgaWYgKHZhbHVlUGFpclRvVmFsdWUodGhpcy52YWx1ZSkpIHtcclxuICAgICAgY29uc3QgcGFyc2VkVmFsdWUgPSBEYXRlVGltZS5mcm9tSVNPKHZhbHVlUGFpclRvVmFsdWUodGhpcy52YWx1ZSkpO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkWWVhci5zZXQocGFyc2VkVmFsdWUueWVhcik7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRNb250aC5zZXQocGFyc2VkVmFsdWUubW9udGgpO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkRGF5LnNldChwYXJzZWRWYWx1ZS5kYXkpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlU3VnZ2VzdGlvbkNsaWNrKHZhbHVlOiBudW1iZXIpIHtcclxuXHJcbiAgICBzd2l0Y2godGhpcy5zcHhTZWxlY3RlZFN0ZXAoKSkge1xyXG4gICAgICBjYXNlIFwieWVhcnNcIjpcclxuICAgICAgICB0aGlzLnNlbGVjdGVkWWVhci5zZXQodmFsdWUpO1xyXG4gICAgICBicmVhaztcclxuICAgICAgY2FzZSBcIm1vbnRoc1wiOlxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNb250aC5zZXQodmFsdWUpO1xyXG4gICAgICBicmVhaztcclxuICAgICAgY2FzZSBcImRheXNcIjpcclxuICAgICAgICB0aGlzLnNlbGVjdGVkRGF5LnNldCh2YWx1ZSk7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudXBkYXRlVmFsdWVBbmRFbWl0KCk7XHJcbiAgICB0aGlzLmNoYW5nZVNlbGVjdGVkU3RlcCgpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlVmFsdWVBbmRFbWl0KCkge1xyXG4gICAgY29uc3QgY29uY2F0ZW5hdGVkVmFsdWUgPSBgXHJcbiAgICAke3RoaXMuc2VsZWN0ZWRZZWFyKCkgPyB0aGlzLnNlbGVjdGVkWWVhcigpIDogYGB9XHJcbiAgICAke3RoaXMuc2VsZWN0ZWRNb250aCgpID8gYCR7dGhpcy5zZWxlY3RlZE1vbnRoKCkhIDwgMTAgPyBgMCR7dGhpcy5zZWxlY3RlZE1vbnRoKCl9YCA6IHRoaXMuc2VsZWN0ZWRNb250aCgpfWAgOiBgYH1cclxuICAgICR7dGhpcy5zZWxlY3RlZERheSgpID8gYC0ke3RoaXMuc2VsZWN0ZWREYXkoKSEgPCAxMCA/IGAwJHt0aGlzLnNlbGVjdGVkRGF5KCl9YCA6IHRoaXMuc2VsZWN0ZWREYXkoKX1gIDogYGB9YFxyXG5cclxuICAgIGNvbnN0IHBhcnNlZFZhbHVlID0gRGF0ZVRpbWUuZnJvbUlTTyhjb25jYXRlbmF0ZWRWYWx1ZSk7XHJcbiAgICBcclxuICAgIHRoaXMudmFsdWUuc2V0KHt2YWx1ZTogcGFyc2VkVmFsdWUudG9JU08oKSEsIGRlc2NyaXB0aW9uOiBwYXJzZWRWYWx1ZS50b0lTTygpfSk7XHJcbiAgICB0aGlzLnNweENoYW5nZS5lbWl0KHRoaXMudmFsdWUoKSk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VTZWxlY3RlZFN0ZXAoKSB7XHJcbiAgICBzd2l0Y2godGhpcy5zcHhTZWxlY3RlZFN0ZXAoKSkge1xyXG4gICAgICBjYXNlICdkYXlzJzpcclxuICAgICAgICB0aGlzLnNweFNlbGVjdGVkU3RlcC5zZXQoc3RlcFR5cGUueWVhcnMpO1xyXG4gICAgICBicmVhaztcclxuICAgICAgY2FzZSAnbW9udGhzJzpcclxuICAgICAgICB0aGlzLnNweFNlbGVjdGVkU3RlcC5zZXQodGhpcy5zcHhTZWxlY3REYXkoKSA/IHN0ZXBUeXBlLmRheXMgOiBzdGVwVHlwZS55ZWFycyk7XHJcbiAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlICd5ZWFycyc6XHJcbiAgICAgICAgdGhpcy5zcHhTZWxlY3RlZFN0ZXAuc2V0KHRoaXMuc3B4U2VsZWN0TW9udGgoKSA/IHN0ZXBUeXBlLm1vbnRocyA6IHN0ZXBUeXBlLnllYXJzKTtcclxuICAgICAgYnJlYWs7ICBcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3VnZ2VzdFllYXJzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zcHhTdWdnZXN0aW9ucygpLnllYXJzID0gW107XHJcbiAgICBmb3IgKGxldCB5ZWFyID0gRGF0ZVRpbWUuZnJvbUlTTyh0aGlzLnNweE1pbigpKS55ZWFyOyB5ZWFyIDw9IERhdGVUaW1lLmZyb21JU08odGhpcy5zcHhNYXgoKSkueWVhcjsgeWVhcisrKSB7XHJcbiAgICAgIHRoaXMuc3B4U3VnZ2VzdGlvbnMoKS55ZWFycy5wdXNoKHtcclxuICAgICAgICBkZXNjcmlwdGlvbjogYCcke3llYXIudG9TdHJpbmcoKS5zdWJzdHJpbmcoMiwgNCl9YCxcclxuICAgICAgICB2YWx1ZTogeWVhcixcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9J3NweC1pbnB1dC1kYXRlX19jb250cm9scyc+XHJcbiAgPGlucHV0XHJcbiAgICBjbGFzcz0nc3B4LWlucHV0LWRhdGVfX2lucHV0J1xyXG4gICAgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFllYXJcIlxyXG4gICAgW2F0dHIudHlwZV09XCInbnVtYmVyJ1wiXHJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJvbk1vZGVsQ2hhbmdlKCRldmVudCwgJ3llYXJzJylcIlxyXG4gICAgW2F0dHIubWluXT1cIjE5MDBcIlxyXG4gICAgW2F0dHIubWF4XT1cIjIxMDBcIlxyXG4gICAgW2F0dHIuc3RlcF09XCIxXCJcclxuICAgIC8+XHJcbiAgPGRpdiBjbGFzcz0nc3B4LWlucHV0LWRhdGVfX2NvbnRyb2wtbGFiZWwnPlllYXI8L2Rpdj5cclxuICBAaWYgKHRoaXMuc3B4U2VsZWN0TW9udGgoKSkge1xyXG4gICAgPGlucHV0XHJcbiAgICAgIGNsYXNzPSdzcHgtaW5wdXQtZGF0ZV9faW5wdXQnXHJcbiAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRNb250aFwiXHJcbiAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uTW9kZWxDaGFuZ2UoJGV2ZW50LCAnbW9udGhzJylcIlxyXG4gICAgICBbYXR0ci50eXBlXT1cIidudW1iZXInXCJcclxuICAgICAgW2F0dHIubWluXT1cIjFcIlxyXG4gICAgICBbYXR0ci5tYXhdPVwiMTJcIlxyXG4gICAgICBbYXR0ci5zdGVwXT1cIjFcIiAvPlxyXG4gIH1cclxuICA8ZGl2IGNsYXNzPSdzcHgtaW5wdXQtZGF0ZV9fY29udHJvbC1sYWJlbCc+TW9udGg8L2Rpdj5cclxuICBAaWYgKHRoaXMuc3B4U2VsZWN0RGF5KCkpIHtcclxuICAgIDxpbnB1dFxyXG4gICAgICBjbGFzcz0nc3B4LWlucHV0LWRhdGVfX2lucHV0J1xyXG4gICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGF5XCJcclxuICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25Nb2RlbENoYW5nZSgkZXZlbnQsICdkYXlzJylcIlxyXG4gICAgICBbYXR0ci50eXBlXT1cIidudW1iZXInXCJcclxuICAgICAgW2F0dHIubWluXT1cIjFcIlxyXG4gICAgICBbYXR0ci5tYXhdPVwiMzFcIlxyXG4gICAgICBbYXR0ci5zdGVwXT1cIjFcIiAvPlxyXG4gICAgPGRpdiBjbGFzcz0nc3B4LWlucHV0LWRhdGVfX2NvbnRyb2wtbGFiZWwnPkRheXM8L2Rpdj5cclxuICB9XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPSdzcHgtaW5wdXQtZGF0ZV9fc3VnZ2VzdGlvbnMnPlxyXG4gIEBmb3IgKHZhbHVlUGFpciBvZiBzcHhTdWdnZXN0aW9uQygpOyB0cmFjayB2YWx1ZVBhaXIudmFsdWUpIHtcclxuICAgIDxzcHgtc3VnZ2VzdGlvbiBbc3B4U2VsZWN0ZWRdPVwiXHJcbiAgICAoc2VsZWN0ZWRZZWFyKCkgPT09IHZhbHVlUGFpci52YWx1ZSkgfHxcclxuICAgIChzZWxlY3RlZE1vbnRoKCkgPT09IHZhbHVlUGFpci52YWx1ZSkgfHwgIFxyXG4gICAgKHNlbGVjdGVkRGF5KCkgPT09IHZhbHVlUGFpci52YWx1ZSlcIlxyXG4gICAgKGNsaWNrKT1cInRoaXMuaGFuZGxlU3VnZ2VzdGlvbkNsaWNrKHZhbHVlUGFpci52YWx1ZSlcIj57e3ZhbHVlUGFpcj8uZGVzY3JpcHRpb259fTwvc3B4LXN1Z2dlc3Rpb24+XHJcbiAgfVxyXG48L2Rpdj4iXX0=
@@ -2,12 +2,12 @@ import { Component, EventEmitter, HostListener, Input, Output, ViewChild } from
2
2
  import { SpxInputBoxComponent } from './spx-input-box.component';
3
3
  import { SpxInputTextComponent } from './spx-input-text.component';
4
4
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
- import { SpxInputDateComponent } from './spx-input-date.component';
6
5
  import { SpxInputFloatComponent } from './spx-input-float.component';
7
6
  import { SpxInputNumberComponent } from './spx-input-number.component';
8
7
  import { SpxInputRadioComponent } from './spx-input-radio.component';
9
8
  import { SpxInputTypeEnum } from './spx-input-type.enum';
10
9
  import { SpxInputTimeComponent } from './spx-input-time.component';
10
+ import { SpxInputDateComponent } from './spx-input-date/spx-input-date.component';
11
11
  import * as i0 from "@angular/core";
12
12
  export class SpxInputComponent {
13
13
  constructor() {
@@ -171,14 +171,13 @@ export class SpxInputComponent {
171
171
  (spxChange)="this.handleChange($event)"
172
172
  (spxFocus)="this.handleFocus()"
173
173
  [spxFocused]="this.spxFocused"
174
- [spxMax]="this.spxMax"
175
- [spxMin]="this.spxMin"
176
- [spxName]="this.spxName"
174
+ [spxMax]="this.spxMax!"
175
+ [spxMin]="this.spxMin!"
177
176
  [spxReadonly]="this.spxReadonly"
178
177
  [spxSelectDay]="this.spxSelectDay"
179
178
  [spxSelectMonth]="this.spxSelectMonth"
180
179
  [spxValidators]="this.spxValidators"
181
- [value]="this.value"
180
+ [(value)]="this.value"
182
181
  ></spx-input-date>
183
182
  }
184
183
  @if (this.spxType === 'float') {
@@ -237,7 +236,7 @@ export class SpxInputComponent {
237
236
  <div validation-messages>
238
237
  <ng-content></ng-content>
239
238
  </div>
240
- </spx-input-box>`, isInline: true, dependencies: [{ kind: "component", type: SpxInputBoxComponent, selector: "spx-input-box", inputs: ["spxCompact", "spxFocused", "spxLabel", "spxReadonly", "spxRequired", "spxShowClear", "spxShowEdit", "spxShowHelp", "spxShowLabel", "spxShowSearch", "spxShowValidationMessages", "spxValue"], outputs: ["spxClear", "spxSearch", "spxFocus", "spxFocusOut", "spxEdit", "spxHelp"] }, { kind: "component", type: SpxInputDateComponent, selector: "spx-input-date", inputs: ["spxMax", "spxMin", "spxName", "spxReadonly", "spxValidators", "spxFocused", "spxSelectMonth", "spxSelectDay", "value", "spxLastKeyPressed", "spxSelectStep", "spxInternalValue", "spxSuggestions", "spxWasInternalUpdate"], outputs: ["spxChange", "spxFocus"] }, { kind: "component", type: SpxInputFloatComponent, selector: "spx-input-float", inputs: ["spxName", "spxAutofocus", "spxReadonly", "spxValidators", "spxFocused", "spxStep", "value", "spxWasInternalUpdate", "tick"], outputs: ["spxChange", "spxFocus"] }, { kind: "component", type: SpxInputNumberComponent, selector: "spx-input-number", inputs: ["spxName", "spxAutofocus", "spxInputMode", "spxReadonly", "spxValidators", "spxFocused", "spxStep", "value"], outputs: ["spxChange", "spxFocus"] }, { kind: "component", type: SpxInputRadioComponent, selector: "spx-input-radio", inputs: ["spxName", "spxValidators", "spxFocused", "spxShowLabel", "spxReadonly", "spxSuggestions", "value"], outputs: ["spxChange", "spxFocus"] }, { kind: "component", type: SpxInputTextComponent, selector: "spx-input-text", inputs: ["spxName", "spxAutofocus", "spxAutocomplete", "spxInputMode", "spxPattern", "spxSuggestions", "spxReadonly", "spxValidators", "spxCapitalize", "spxFocused", "spxType", "value", "spxWasInternalUpdate"], outputs: ["spxBlurFromChild", "spxChange", "spxFocus"] }, { kind: "component", type: SpxInputTimeComponent, selector: "spx-input-time", inputs: ["spxName", "spxAutofocus", "spxInputMode", "spxPattern", "spxSuggestions", "spxReadonly", "spxValidators", "spxCapitalize", "spxFocused", "spxType", "value", "spxWasInternalUpdate"], outputs: ["spxBlurFromChild", "spxChange", "spxFocus"] }] }); }
239
+ </spx-input-box>`, isInline: true, dependencies: [{ kind: "component", type: SpxInputBoxComponent, selector: "spx-input-box", inputs: ["spxCompact", "spxFocused", "spxLabel", "spxReadonly", "spxRequired", "spxShowClear", "spxShowEdit", "spxShowHelp", "spxShowLabel", "spxShowSearch", "spxShowValidationMessages", "spxValue"], outputs: ["spxClear", "spxSearch", "spxFocus", "spxFocusOut", "spxEdit", "spxHelp"] }, { kind: "component", type: SpxInputDateComponent, selector: "spx-input-date", inputs: ["spxMax", "spxMin", "spxReadonly", "spxValidators", "value", "spxFocused", "spxSelectDay", "spxSelectMonth", "spxSuggestions"], outputs: ["valueChange", "spxChange", "spxFocus"] }, { kind: "component", type: SpxInputFloatComponent, selector: "spx-input-float", inputs: ["spxName", "spxAutofocus", "spxReadonly", "spxValidators", "spxFocused", "spxStep", "value", "spxWasInternalUpdate", "tick"], outputs: ["spxChange", "spxFocus"] }, { kind: "component", type: SpxInputNumberComponent, selector: "spx-input-number", inputs: ["spxName", "spxAutofocus", "spxInputMode", "spxReadonly", "spxValidators", "spxFocused", "spxStep", "value"], outputs: ["spxChange", "spxFocus"] }, { kind: "component", type: SpxInputRadioComponent, selector: "spx-input-radio", inputs: ["spxName", "spxValidators", "spxFocused", "spxShowLabel", "spxReadonly", "spxSuggestions", "value"], outputs: ["spxChange", "spxFocus"] }, { kind: "component", type: SpxInputTextComponent, selector: "spx-input-text", inputs: ["spxName", "spxAutofocus", "spxAutocomplete", "spxInputMode", "spxPattern", "spxSuggestions", "spxReadonly", "spxValidators", "spxCapitalize", "spxFocused", "spxType", "value", "spxWasInternalUpdate"], outputs: ["spxBlurFromChild", "spxChange", "spxFocus"] }, { kind: "component", type: SpxInputTimeComponent, selector: "spx-input-time", inputs: ["spxName", "spxAutofocus", "spxInputMode", "spxPattern", "spxSuggestions", "spxReadonly", "spxValidators", "spxCapitalize", "spxFocused", "spxType", "value", "spxWasInternalUpdate"], outputs: ["spxBlurFromChild", "spxChange", "spxFocus"] }] }); }
241
240
  }
242
241
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxInputComponent, decorators: [{
243
242
  type: Component,
@@ -307,14 +306,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
307
306
  (spxChange)="this.handleChange($event)"
308
307
  (spxFocus)="this.handleFocus()"
309
308
  [spxFocused]="this.spxFocused"
310
- [spxMax]="this.spxMax"
311
- [spxMin]="this.spxMin"
312
- [spxName]="this.spxName"
309
+ [spxMax]="this.spxMax!"
310
+ [spxMin]="this.spxMin!"
313
311
  [spxReadonly]="this.spxReadonly"
314
312
  [spxSelectDay]="this.spxSelectDay"
315
313
  [spxSelectMonth]="this.spxSelectMonth"
316
314
  [spxValidators]="this.spxValidators"
317
- [value]="this.value"
315
+ [(value)]="this.value"
318
316
  ></spx-input-date>
319
317
  }
320
318
  @if (this.spxType === 'float') {
@@ -460,4 +458,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
460
458
  type: HostListener,
461
459
  args: ['focusout']
462
460
  }] } });
463
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzL3NweC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQXdJbkUsTUFBTSxPQUFPLGlCQUFpQjtJQXRJOUI7UUF1SVcsYUFBUSxHQUFXLE9BQU8sQ0FBQztRQUkzQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUdyQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0QixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixnQkFB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QyxzQkFBc0I7Z0JBQ3hCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBMkZOLGdCQUFnQjtzQkFEZixZQUFZO3VCQUFDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNweElucHV0Qm94Q29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtYm94LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNweElucHV0VGV4dENvbXBvbmVudCB9IGZyb20gJy4vc3B4LWlucHV0LXRleHQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3B4VmFsdWVQYWlyIH0gZnJvbSAnLi9zcHgtdmFsdWUtaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNweElucHV0RGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vc3B4LWlucHV0LWRhdGUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3B4SW5wdXRGbG9hdENvbXBvbmVudCB9IGZyb20gJy4vc3B4LWlucHV0LWZsb2F0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNweElucHV0TnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtbnVtYmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNweElucHV0UmFkaW9Db21wb25lbnQgfSBmcm9tICcuL3NweC1pbnB1dC1yYWRpby5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTcHhJbnB1dFR5cGVFbnVtIH0gZnJvbSAnLi9zcHgtaW5wdXQtdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgU3B4SW5wdXRUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtdGltZS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzcHgtaW5wdXQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaG9zdDoge1xyXG4gICAgJyhzcHhDaGFuZ2UpJzogJ2hhbmRsZUNoYW5nZUV2ZW50KCRldmVudCknXHJcbiAgfSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBTcHhJbnB1dEJveENvbXBvbmVudCxcclxuICAgIFNweElucHV0RGF0ZUNvbXBvbmVudCxcclxuICAgIFNweElucHV0RmxvYXRDb21wb25lbnQsXHJcbiAgICBTcHhJbnB1dE51bWJlckNvbXBvbmVudCxcclxuICAgIFNweElucHV0UmFkaW9Db21wb25lbnQsXHJcbiAgICBTcHhJbnB1dFRleHRDb21wb25lbnQsXHJcbiAgICBTcHhJbnB1dFRpbWVDb21wb25lbnRcclxuXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBTcHhJbnB1dENvbXBvbmVudCxcclxuICAgICAgbXVsdGk6IHRydWVcclxuICAgIH1cclxuICBdLFxyXG4gIHRlbXBsYXRlOiBgPHNweC1pbnB1dC1ib3hcclxuICAgIFtzcHhGb2N1c2VkXT1cInRoaXMuc3B4Rm9jdXNlZFwiXHJcbiAgICBbc3B4TGFiZWxdPVwidGhpcy5zcHhMYWJlbFwiXHJcbiAgICBbc3B4UmVhZG9ubHldPVwidGhpcy5zcHhSZWFkb25seVwiXHJcbiAgICBbc3B4UmVxdWlyZWRdPVwidGhpcy5zcHhSZXF1aXJlZFwiXHJcbiAgICBbc3B4VmFsdWVdPVwidGhpcy52YWx1ZVwiXHJcbiAgICBbc3B4U2hvd0hlbHBdPVwidGhpcy5zcHhTaG93SGVscFwiXHJcbiAgICBbc3B4Q29tcGFjdF09XCJ0aGlzLnNweENvbXBhY3RcIlxyXG4gICAgW3NweFNob3dDbGVhcl09XCJ0aGlzLnNweFNob3dDbGVhclwiXHJcbiAgICBbc3B4U2hvd0VkaXRdPVwidGhpcy5zcHhTaG93RWRpdFwiXHJcbiAgICBbc3B4U2hvd0xhYmVsXT1cInRoaXMuc3B4U2hvd0xhYmVsXCJcclxuICAgIFtzcHhTaG93U2VhcmNoXT1cInRoaXMuc3B4U2hvd1NlYXJjaCA/IHRoaXMuc3B4U2hvd1NlYXJjaCA6IHRoaXMuc3B4VHlwZSA9PT0gJ2F1dG9jb21wbGV0ZSdcIlxyXG4gICAgW3NweFNob3dWYWxpZGF0aW9uTWVzc2FnZXNdPVwidGhpcy5zcHhTaG93VmFsaWRhdGlvbk1lc3NhZ2VzXCJcclxuICAgIChzcHhDbGVhcik9XCJ0aGlzLmhhbmRsZUNsZWFyKClcIlxyXG4gICAgKHNweEVkaXQpPVwidGhpcy5oYW5kbGVFZGl0KClcIlxyXG4gICAgKHNweEhlbHApPVwidGhpcy5oYW5kbGVIZWxwKClcIlxyXG4gICAgKHNweEZvY3VzKT1cInRoaXMuc2V0Rm9jdXNJbigpXCJcclxuICAgIChzcHhGb2N1c091dCk9XCJ0aGlzLnNldEZvY3VzT3V0KClcIlxyXG4gICAgKHNweFNlYXJjaCk9XCJ0aGlzLmhhbmRsZVNlYXJjaCgpXCI+XHJcbiAgICA8ZGl2IGNvbnRyb2xzPlxyXG4gICAgICBAaWYgKHRoaXMuc3B4VHlwZSA9PT0gJ2F1dG9jb21wbGV0ZScgfHwgdGhpcy5zcHhUeXBlID09PSAnb3ZlcmxheScgfHwgdGhpcy5zcHhUeXBlID09PSAnb3ZlcmxheW51bWJlcicgfHwgdGhpcy5zcHhUeXBlID09PSAndGV4dCcgfHwgdGhpcy5zcHhUeXBlID09PSAncGFzc3dvcmQnKSB7XHJcbiAgICAgICAgPHNweC1pbnB1dC10ZXh0XHJcbiAgICAgICAgICAoc3B4Qmx1ckZyb21DaGlsZCk9XCJ0aGlzLmhhbmRsZUJsdXIoKVwiXHJcbiAgICAgICAgICAoc3B4Q2hhbmdlKT1cInRoaXMuaGFuZGxlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgKHNweEZvY3VzKT1cInRoaXMuaGFuZGxlRm9jdXMoKVwiXHJcbiAgICAgICAgICBbc3B4QXV0b2NvbXBsZXRlXT1cInRoaXMuc3B4QXV0b2NvbXBsZXRlID8gdGhpcy5zcHhBdXRvY29tcGxldGUgOiB1bmRlZmluZWRcIlxyXG4gICAgICAgICAgW3NweEF1dG9mb2N1c109XCJ0aGlzLnNweEF1dG9mb2N1c1wiXHJcbiAgICAgICAgICBbc3B4Q2FwaXRhbGl6ZV09XCJ0aGlzLnNweENhcGl0YWxpemVcIlxyXG4gICAgICAgICAgW3NweEZvY3VzZWRdPVwidGhpcy5zcHhGb2N1c2VkXCJcclxuICAgICAgICAgIFtzcHhJbnB1dE1vZGVdPVwidGhpcy5zcHhUeXBlID09PSAnb3ZlcmxheW51bWJlcicgPyAnbnVtZXJpYycgOiB0aGlzLnNweElucHV0TW9kZVwiXHJcbiAgICAgICAgICBbc3B4TmFtZV09XCJ0aGlzLnNweE5hbWVcIlxyXG4gICAgICAgICAgW3NweFBhdHRlcm5dPVwidGhpcy5zcHhUeXBlID09PSAnb3ZlcmxheW51bWJlcicgPyAnWzAtOV0qJyA6IHRoaXMuc3B4UGF0dGVyblwiXHJcbiAgICAgICAgICBbc3B4UmVhZG9ubHldPVwidGhpcy5zcHhSZWFkb25seVwiXHJcbiAgICAgICAgICBbc3B4U3VnZ2VzdGlvbnNdPVwidGhpcy5zcHhTdWdnZXN0aW9uc1wiXHJcbiAgICAgICAgICBbc3B4VHlwZV09XCJ0aGlzLnNweFR5cGVcIlxyXG4gICAgICAgICAgW3NweFZhbGlkYXRvcnNdPVwidGhpcy5zcHhWYWxpZGF0b3JzXCJcclxuICAgICAgICAgIFt2YWx1ZV09XCJ0aGlzLnZhbHVlXCJcclxuICAgICAgICA+PC9zcHgtaW5wdXQtdGV4dD5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKHRoaXMuc3B4VHlwZSA9PT0gJ2RhdGUnKSB7XHJcbiAgICAgICAgPHNweC1pbnB1dC1kYXRlXHJcbiAgICAgICAgICAoc3B4Q2hhbmdlKT1cInRoaXMuaGFuZGxlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgKHNweEZvY3VzKT1cInRoaXMuaGFuZGxlRm9jdXMoKVwiXHJcbiAgICAgICAgICBbc3B4Rm9jdXNlZF09XCJ0aGlzLnNweEZvY3VzZWRcIlxyXG4gICAgICAgICAgW3NweE1heF09XCJ0aGlzLnNweE1heFwiXHJcbiAgICAgICAgICBbc3B4TWluXT1cInRoaXMuc3B4TWluXCJcclxuICAgICAgICAgIFtzcHhOYW1lXT1cInRoaXMuc3B4TmFtZVwiXHJcbiAgICAgICAgICBbc3B4UmVhZG9ubHldPVwidGhpcy5zcHhSZWFkb25seVwiXHJcbiAgICAgICAgICBbc3B4U2VsZWN0RGF5XT1cInRoaXMuc3B4U2VsZWN0RGF5XCJcclxuICAgICAgICAgIFtzcHhTZWxlY3RNb250aF09XCJ0aGlzLnNweFNlbGVjdE1vbnRoXCJcclxuICAgICAgICAgIFtzcHhWYWxpZGF0b3JzXT1cInRoaXMuc3B4VmFsaWRhdG9yc1wiXHJcbiAgICAgICAgICBbdmFsdWVdPVwidGhpcy52YWx1ZVwiXHJcbiAgICAgICAgPjwvc3B4LWlucHV0LWRhdGU+XHJcbiAgICAgIH1cclxuICAgICAgQGlmICh0aGlzLnNweFR5cGUgPT09ICdmbG9hdCcpIHtcclxuICAgICAgICA8c3B4LWlucHV0LWZsb2F0XHJcbiAgICAgICAgICAoc3B4Q2hhbmdlKT1cInRoaXMuaGFuZGxlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgKHNweEZvY3VzKT1cInRoaXMuaGFuZGxlRm9jdXMoKVwiXHJcbiAgICAgICAgICBbc3B4QXV0b2ZvY3VzXT1cInRoaXMuc3B4QXV0b2ZvY3VzXCJcclxuICAgICAgICAgIFtzcHhGb2N1c2VkXT1cInRoaXMuc3B4Rm9jdXNlZFwiXHJcbiAgICAgICAgICBbc3B4TmFtZV09XCJ0aGlzLnNweE5hbWVcIlxyXG4gICAgICAgICAgW3NweFJlYWRvbmx5XT1cInRoaXMuc3B4UmVhZG9ubHlcIlxyXG4gICAgICAgICAgW3NweFN0ZXBdPVwidGhpcy5zcHhTdGVwXCJcclxuICAgICAgICAgIFtzcHhWYWxpZGF0b3JzXT1cInRoaXMuc3B4VmFsaWRhdG9yc1wiXHJcbiAgICAgICAgICBbdmFsdWVdPVwidGhpcy52YWx1ZVwiXHJcbiAgICAgICAgPjwvc3B4LWlucHV0LWZsb2F0PlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAodGhpcy5zcHhUeXBlID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgIDxzcHgtaW5wdXQtbnVtYmVyXHJcbiAgICAgICAgICAoc3B4Q2hhbmdlKT1cInRoaXMuaGFuZGxlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgKHNweEZvY3VzKT1cInRoaXMuaGFuZGxlRm9jdXMoKVwiXHJcbiAgICAgICAgICBbc3B4QXV0b2ZvY3VzXT1cInRoaXMuc3B4QXV0b2ZvY3VzXCJcclxuICAgICAgICAgIFtzcHhGb2N1c2VkXT1cInRoaXMuc3B4Rm9jdXNlZFwiXHJcbiAgICAgICAgICBbc3B4SW5wdXRNb2RlXT1cInRoaXMuc3B4SW5wdXRNb2RlXCJcclxuICAgICAgICAgIFtzcHhOYW1lXT1cInRoaXMuc3B4TmFtZVwiXHJcbiAgICAgICAgICBbc3B4UmVhZG9ubHldPVwidGhpcy5zcHhSZWFkb25seVwiXHJcbiAgICAgICAgICBbc3B4U3RlcF09XCJ0aGlzLnNweFN0ZXBcIlxyXG4gICAgICAgICAgW3NweFZhbGlkYXRvcnNdPVwidGhpcy5zcHhWYWxpZGF0b3JzXCJcclxuICAgICAgICAgIFt2YWx1ZV09XCJ0aGlzLnZhbHVlXCJcclxuICAgICAgICA+PC9zcHgtaW5wdXQtbnVtYmVyPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAodGhpcy5zcHhUeXBlID09PSAncmFkaW8nKSB7XHJcbiAgICAgICAgPHNweC1pbnB1dC1yYWRpb1xyXG4gICAgICAgICAgI3JhZGlvSW5wdXRcclxuICAgICAgICAgIChzcHhDaGFuZ2UpPVwidGhpcy5oYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICBbc3B4Rm9jdXNlZF09XCJ0aGlzLnNweEZvY3VzZWRcIlxyXG4gICAgICAgICAgW3NweE5hbWVdPVwidGhpcy5zcHhOYW1lXCJcclxuICAgICAgICAgIFtzcHhSZWFkb25seV09XCJ0aGlzLnNweFJlYWRvbmx5XCJcclxuICAgICAgICAgIFtzcHhTaG93TGFiZWxdPVwidGhpcy5zcHhTaG93TGFiZWxcIlxyXG4gICAgICAgICAgW3NweFN1Z2dlc3Rpb25zXT1cInRoaXMuc3B4U3VnZ2VzdGlvbnNcIlxyXG4gICAgICAgICAgW3NweFZhbGlkYXRvcnNdPVwidGhpcy5zcHhWYWxpZGF0b3JzXCJcclxuICAgICAgICAgIFt2YWx1ZV09XCJ0aGlzLnZhbHVlXCJcclxuICAgICAgICA+PC9zcHgtaW5wdXQtcmFkaW8+XHJcbiAgICAgIH1cclxuICAgICAgQGlmICh0aGlzLnNweFR5cGUgPT09ICd0aW1lJykge1xyXG4gICAgICAgIDxzcHgtaW5wdXQtdGltZVxyXG4gICAgICAgICAgI3RpbWVJbnB1dFxyXG4gICAgICAgICAgKHNweENoYW5nZSk9XCJ0aGlzLmhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgIChzcHhGb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKClcIlxyXG4gICAgICAgICAgW3NweEZvY3VzZWRdPVwidGhpcy5zcHhGb2N1c2VkXCJcclxuICAgICAgICAgIFtzcHhOYW1lXT1cInRoaXMuc3B4TmFtZVwiXHJcbiAgICAgICAgICBbc3B4UmVhZG9ubHldPVwidGhpcy5zcHhSZWFkb25seVwiXHJcbiAgICAgICAgICBbc3B4VmFsaWRhdG9yc109XCJ0aGlzLnNweFZhbGlkYXRvcnNcIlxyXG4gICAgICAgICAgW3ZhbHVlXT1cInRoaXMudmFsdWVcIlxyXG4gICAgICAgID48L3NweC1pbnB1dC10aW1lPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgdmFsaWRhdGlvbi1tZXNzYWdlcz5cclxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9zcHgtaW5wdXQtYm94PmAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcHhJbnB1dENvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgc3B4TGFiZWw6IHN0cmluZyA9ICdsYWJlbCc7XHJcbiAgQElucHV0KCkgc3B4TWF4Pzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNweE1pbj86IHN0cmluZztcclxuICBASW5wdXQoKSBzcHhOYW1lITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNweFJlYWRvbmx5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc3B4QXV0b2NvbXBsZXRlPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNweEF1dG9mb2N1cyA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNweElucHV0TW9kZT86IHN0cmluZztcclxuICBASW5wdXQoKSBzcHhQYXR0ZXJuPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNweFJlcXVpcmVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc3B4U2VsZWN0TW9udGggPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNweFNlbGVjdERheSA9IHRydWU7XHJcbiAgQElucHV0KCkgc3B4U2hvd0VkaXQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzcHhTaG93SGVscCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNweFNob3dMYWJlbCA9IHRydWU7XHJcbiAgQElucHV0KCkgc3B4Q29tcGFjdCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNweFNob3dDbGVhciA9IHRydWU7XHJcbiAgQElucHV0KCkgc3B4U2hvd1NlYXJjaCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNweFNob3dWYWxpZGF0aW9uTWVzc2FnZXM/OiBib29sZWFuIHwgbnVsbCB8IHVuZGVmaW5lZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNweFN0ZXA/OiBudW1iZXI7XHJcbiAgQElucHV0KCkgc3B4U3VnZ2VzdGlvbnM6IFNweFZhbHVlUGFpcjxib29sZWFuIHwgbnVtYmVyIHwgc3RyaW5nPltdID0gW107XHJcbiAgQElucHV0KCkgc3B4VHlwZTogU3B4SW5wdXRUeXBlRW51bSA9IFNweElucHV0VHlwZUVudW0udGV4dDtcclxuICBASW5wdXQoKSBzcHhWYWxpZGF0b3JzITogYW55W107XHJcbiAgQElucHV0KCkgdmFsdWUhOiBTcHhWYWx1ZVBhaXI8YW55PjtcclxuICBASW5wdXQoKSBzcHhDYXBpdGFsaXplID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIHNweEJsdXI6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBAT3V0cHV0KCkgc3B4Q2xlYXI6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBAT3V0cHV0KCkgc3B4Q2hhbmdlOiBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPGFueT4+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8YW55Pj4oKTtcclxuICBAT3V0cHV0KCkgc3B4Rm9jdXM6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBAT3V0cHV0KCkgc3B4RWRpdDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBPdXRwdXQoKSBzcHhIZWxwOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQE91dHB1dCgpIHNweFNlYXJjaDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBWaWV3Q2hpbGQoU3B4SW5wdXRGbG9hdENvbXBvbmVudCkgZmxvYXRJbnB1dD86IFNweElucHV0RmxvYXRDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZChTcHhJbnB1dE51bWJlckNvbXBvbmVudCkgbnVtYmVySW5wdXQ/OiBTcHhJbnB1dE51bWJlckNvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKFNweElucHV0VGV4dENvbXBvbmVudCkgdGV4dElucHV0PzogU3B4SW5wdXRUZXh0Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoU3B4SW5wdXRUaW1lQ29tcG9uZW50KSB0aW1lSW5wdXQ/OiBTcHhJbnB1dFRpbWVDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZChTcHhJbnB1dFJhZGlvQ29tcG9uZW50KSByYWRpb0lucHV0PzogU3B4SW5wdXRSYWRpb0NvbXBvbmVudDtcclxuICBASW5wdXQoKSBzcHhGb2N1c2VkID0gZmFsc2U7XHJcbiAgaGFuZGxlQmx1cigpIHtcclxuICAgIHRoaXMuc3B4Qmx1ci5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgdGhpcy52YWx1ZSA9IGV2ZW50O1xyXG4gICAgdGhpcy5zcHhDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUNsZWFyKCkge1xyXG4gICAgdGhpcy5zcHhDbGVhci5lbWl0KCk7XHJcbiAgICB0aGlzLnNweEZvY3VzZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5wYXNzRm9jdXNUb0NvbnRyb2woKTtcclxuICAgIHRoaXMudmFsdWUgPSB7XHJcbiAgICAgIGRlc2NyaXB0aW9uOiBudWxsLFxyXG4gICAgICB2YWx1ZTogbnVsbCxcclxuICAgIH07XHJcbiAgICB0aGlzLnNweENoYW5nZS5lbWl0KHRoaXMudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlRm9jdXMoKSB7XHJcbiAgICB0aGlzLnNweEZvY3VzLmVtaXQoKTtcclxuICAgIHRoaXMuc3B4Rm9jdXNlZCA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVTZWFyY2goKSB7XHJcbiAgICB0aGlzLnNweFNlYXJjaC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBzZXRGb2N1c0luKCkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc3B4Rm9jdXNlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMucGFzc0ZvY3VzVG9Db250cm9sKCk7XHJcbiAgICB9LCAwKTtcclxuICB9XHJcblxyXG4gIHNldEZvY3VzT3V0KCkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc3B4Rm9jdXNlZCA9IGZhbHNlO1xyXG4gICAgICBpZiAodGhpcy5zcHhUeXBlID09PSBTcHhJbnB1dFR5cGVFbnVtLnJhZGlvKSB7XHJcbiAgICAgICAgdGhpcy5yYWRpb0lucHV0Py5zcHhGb2N1c091dCgpO1xyXG4gICAgICB9XHJcbiAgICB9LCAwKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUVkaXQoKSB7XHJcbiAgICB0aGlzLnNweEVkaXQuZW1pdCgpO1xyXG4gICAgdGhpcy5zcHhGb2N1c2VkID0gdHJ1ZTtcclxuICB9XHJcbiAgXHJcbiAgaGFuZGxlSGVscCgpIHtcclxuICAgIHRoaXMuc3B4SGVscC5lbWl0KCk7XHJcbiAgICB0aGlzLnNweEZvY3VzZWQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwYXNzRm9jdXNUb0NvbnRyb2woKSB7XHJcbiAgICBzd2l0Y2ggKHRoaXMuc3B4VHlwZSkge1xyXG4gICAgICBjYXNlIFNweElucHV0VHlwZUVudW0uYXV0b2NvbXBsZXRlOlxyXG4gICAgICBjYXNlIFNweElucHV0VHlwZUVudW0udGV4dDpcclxuICAgICAgY2FzZSBTcHhJbnB1dFR5cGVFbnVtLm92ZXJsYXlOdW1iZXI6XHJcbiAgICAgICAgdGhpcy50ZXh0SW5wdXQ/LnNweFNldEZvY3VzKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgU3B4SW5wdXRUeXBlRW51bS5udW1iZXI6XHJcbiAgICAgICAgdGhpcy5udW1iZXJJbnB1dD8uc3B4U2V0Rm9jdXMoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBTcHhJbnB1dFR5cGVFbnVtLnJhZGlvOlxyXG4gICAgICAgIHRoaXMucmFkaW9JbnB1dD8uc3B4Rm9jdXNJbigpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFNweElucHV0VHlwZUVudW0udGltZTpcclxuICAgICAgICB0aGlzLnRpbWVJbnB1dD8uc3B4U2V0Rm9jdXMoKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkNoYW5nZTogKHZhbHVlOiBhbnkpID0+IHZvaWQgPSAoKSA9PiB7LyoqL307XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWQ6ICgpID0+IHZvaWQgPSAoKSA9PiB7LyoqL307XHJcbiAgcHJvdGVjdGVkIGxhc3RWYWx1ZTogYW55O1xyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMudmFsdWUgPSB0aGlzLmxhc3RWYWx1ZSA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ2hhbmdlRXZlbnQodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmxhc3RWYWx1ZSkge1xyXG4gICAgICB0aGlzLmxhc3RWYWx1ZSA9IHZhbHVlO1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JylcclxuICBfaGFuZGxlQmx1ckV2ZW50KCkge1xyXG4gICAgdGhpcy5vblRvdWNoZWQoKTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiB2b2lkKSB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKSB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxufVxyXG4iXX0=
461
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzL3NweC1pbnB1dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRW5FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOztBQXVJbEYsTUFBTSxPQUFPLGlCQUFpQjtJQXJJOUI7UUFzSVcsYUFBUSxHQUFXLE9BQU8sQ0FBQztRQUkzQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUdyQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixtQkFBYyxHQUFHLElBQUksQ0FBQztRQUN0QixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixnQkFB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c0JBQXNCO2dCQUN4QixVQUFVO3NCQUFsQixLQUFLO2dCQTJGTixnQkFBZ0I7c0JBRGYsWUFBWTt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBTcHhJbnB1dEJveENvbXBvbmVudCB9IGZyb20gJy4vc3B4LWlucHV0LWJveC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTcHhJbnB1dFRleHRDb21wb25lbnQgfSBmcm9tICcuL3NweC1pbnB1dC10ZXh0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNweFZhbHVlUGFpciB9IGZyb20gJy4vc3B4LXZhbHVlLWludGVyZmFjZSc7XHJcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTcHhJbnB1dEZsb2F0Q29tcG9uZW50IH0gZnJvbSAnLi9zcHgtaW5wdXQtZmxvYXQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3B4SW5wdXROdW1iZXJDb21wb25lbnQgfSBmcm9tICcuL3NweC1pbnB1dC1udW1iZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU3B4SW5wdXRSYWRpb0NvbXBvbmVudCB9IGZyb20gJy4vc3B4LWlucHV0LXJhZGlvLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNweElucHV0VHlwZUVudW0gfSBmcm9tICcuL3NweC1pbnB1dC10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBTcHhJbnB1dFRpbWVDb21wb25lbnQgfSBmcm9tICcuL3NweC1pbnB1dC10aW1lLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNweElucHV0RGF0ZUNvbXBvbmVudCB9IGZyb20gJy4vc3B4LWlucHV0LWRhdGUvc3B4LWlucHV0LWRhdGUuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3B4LWlucHV0JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGhvc3Q6IHtcclxuICAgICcoc3B4Q2hhbmdlKSc6ICdoYW5kbGVDaGFuZ2VFdmVudCgkZXZlbnQpJ1xyXG4gIH0sXHJcbiAgaW1wb3J0czogW1xyXG4gICAgU3B4SW5wdXRCb3hDb21wb25lbnQsXHJcbiAgICBTcHhJbnB1dERhdGVDb21wb25lbnQsXHJcbiAgICBTcHhJbnB1dEZsb2F0Q29tcG9uZW50LFxyXG4gICAgU3B4SW5wdXROdW1iZXJDb21wb25lbnQsXHJcbiAgICBTcHhJbnB1dFJhZGlvQ29tcG9uZW50LFxyXG4gICAgU3B4SW5wdXRUZXh0Q29tcG9uZW50LFxyXG4gICAgU3B4SW5wdXRUaW1lQ29tcG9uZW50XHJcbl0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogU3B4SW5wdXRDb21wb25lbnQsXHJcbiAgICAgIG11bHRpOiB0cnVlXHJcbiAgICB9XHJcbiAgXSxcclxuICB0ZW1wbGF0ZTogYDxzcHgtaW5wdXQtYm94XHJcbiAgICBbc3B4Rm9jdXNlZF09XCJ0aGlzLnNweEZvY3VzZWRcIlxyXG4gICAgW3NweExhYmVsXT1cInRoaXMuc3B4TGFiZWxcIlxyXG4gICAgW3NweFJlYWRvbmx5XT1cInRoaXMuc3B4UmVhZG9ubHlcIlxyXG4gICAgW3NweFJlcXVpcmVkXT1cInRoaXMuc3B4UmVxdWlyZWRcIlxyXG4gICAgW3NweFZhbHVlXT1cInRoaXMudmFsdWVcIlxyXG4gICAgW3NweFNob3dIZWxwXT1cInRoaXMuc3B4U2hvd0hlbHBcIlxyXG4gICAgW3NweENvbXBhY3RdPVwidGhpcy5zcHhDb21wYWN0XCJcclxuICAgIFtzcHhTaG93Q2xlYXJdPVwidGhpcy5zcHhTaG93Q2xlYXJcIlxyXG4gICAgW3NweFNob3dFZGl0XT1cInRoaXMuc3B4U2hvd0VkaXRcIlxyXG4gICAgW3NweFNob3dMYWJlbF09XCJ0aGlzLnNweFNob3dMYWJlbFwiXHJcbiAgICBbc3B4U2hvd1NlYXJjaF09XCJ0aGlzLnNweFNob3dTZWFyY2ggPyB0aGlzLnNweFNob3dTZWFyY2ggOiB0aGlzLnNweFR5cGUgPT09ICdhdXRvY29tcGxldGUnXCJcclxuICAgIFtzcHhTaG93VmFsaWRhdGlvbk1lc3NhZ2VzXT1cInRoaXMuc3B4U2hvd1ZhbGlkYXRpb25NZXNzYWdlc1wiXHJcbiAgICAoc3B4Q2xlYXIpPVwidGhpcy5oYW5kbGVDbGVhcigpXCJcclxuICAgIChzcHhFZGl0KT1cInRoaXMuaGFuZGxlRWRpdCgpXCJcclxuICAgIChzcHhIZWxwKT1cInRoaXMuaGFuZGxlSGVscCgpXCJcclxuICAgIChzcHhGb2N1cyk9XCJ0aGlzLnNldEZvY3VzSW4oKVwiXHJcbiAgICAoc3B4Rm9jdXNPdXQpPVwidGhpcy5zZXRGb2N1c091dCgpXCJcclxuICAgIChzcHhTZWFyY2gpPVwidGhpcy5oYW5kbGVTZWFyY2goKVwiPlxyXG4gICAgPGRpdiBjb250cm9scz5cclxuICAgICAgQGlmICh0aGlzLnNweFR5cGUgPT09ICdhdXRvY29tcGxldGUnIHx8IHRoaXMuc3B4VHlwZSA9PT0gJ292ZXJsYXknIHx8IHRoaXMuc3B4VHlwZSA9PT0gJ292ZXJsYXludW1iZXInIHx8IHRoaXMuc3B4VHlwZSA9PT0gJ3RleHQnIHx8IHRoaXMuc3B4VHlwZSA9PT0gJ3Bhc3N3b3JkJykge1xyXG4gICAgICAgIDxzcHgtaW5wdXQtdGV4dFxyXG4gICAgICAgICAgKHNweEJsdXJGcm9tQ2hpbGQpPVwidGhpcy5oYW5kbGVCbHVyKClcIlxyXG4gICAgICAgICAgKHNweENoYW5nZSk9XCJ0aGlzLmhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgIChzcHhGb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKClcIlxyXG4gICAgICAgICAgW3NweEF1dG9jb21wbGV0ZV09XCJ0aGlzLnNweEF1dG9jb21wbGV0ZSA/IHRoaXMuc3B4QXV0b2NvbXBsZXRlIDogdW5kZWZpbmVkXCJcclxuICAgICAgICAgIFtzcHhBdXRvZm9jdXNdPVwidGhpcy5zcHhBdXRvZm9jdXNcIlxyXG4gICAgICAgICAgW3NweENhcGl0YWxpemVdPVwidGhpcy5zcHhDYXBpdGFsaXplXCJcclxuICAgICAgICAgIFtzcHhGb2N1c2VkXT1cInRoaXMuc3B4Rm9jdXNlZFwiXHJcbiAgICAgICAgICBbc3B4SW5wdXRNb2RlXT1cInRoaXMuc3B4VHlwZSA9PT0gJ292ZXJsYXludW1iZXInID8gJ251bWVyaWMnIDogdGhpcy5zcHhJbnB1dE1vZGVcIlxyXG4gICAgICAgICAgW3NweE5hbWVdPVwidGhpcy5zcHhOYW1lXCJcclxuICAgICAgICAgIFtzcHhQYXR0ZXJuXT1cInRoaXMuc3B4VHlwZSA9PT0gJ292ZXJsYXludW1iZXInID8gJ1swLTldKicgOiB0aGlzLnNweFBhdHRlcm5cIlxyXG4gICAgICAgICAgW3NweFJlYWRvbmx5XT1cInRoaXMuc3B4UmVhZG9ubHlcIlxyXG4gICAgICAgICAgW3NweFN1Z2dlc3Rpb25zXT1cInRoaXMuc3B4U3VnZ2VzdGlvbnNcIlxyXG4gICAgICAgICAgW3NweFR5cGVdPVwidGhpcy5zcHhUeXBlXCJcclxuICAgICAgICAgIFtzcHhWYWxpZGF0b3JzXT1cInRoaXMuc3B4VmFsaWRhdG9yc1wiXHJcbiAgICAgICAgICBbdmFsdWVdPVwidGhpcy52YWx1ZVwiXHJcbiAgICAgICAgPjwvc3B4LWlucHV0LXRleHQ+XHJcbiAgICAgIH1cclxuICAgICAgQGlmICh0aGlzLnNweFR5cGUgPT09ICdkYXRlJykge1xyXG4gICAgICAgIDxzcHgtaW5wdXQtZGF0ZVxyXG4gICAgICAgICAgKHNweENoYW5nZSk9XCJ0aGlzLmhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgIChzcHhGb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKClcIlxyXG4gICAgICAgICAgW3NweEZvY3VzZWRdPVwidGhpcy5zcHhGb2N1c2VkXCJcclxuICAgICAgICAgIFtzcHhNYXhdPVwidGhpcy5zcHhNYXghXCJcclxuICAgICAgICAgIFtzcHhNaW5dPVwidGhpcy5zcHhNaW4hXCJcclxuICAgICAgICAgIFtzcHhSZWFkb25seV09XCJ0aGlzLnNweFJlYWRvbmx5XCJcclxuICAgICAgICAgIFtzcHhTZWxlY3REYXldPVwidGhpcy5zcHhTZWxlY3REYXlcIlxyXG4gICAgICAgICAgW3NweFNlbGVjdE1vbnRoXT1cInRoaXMuc3B4U2VsZWN0TW9udGhcIlxyXG4gICAgICAgICAgW3NweFZhbGlkYXRvcnNdPVwidGhpcy5zcHhWYWxpZGF0b3JzXCJcclxuICAgICAgICAgIFsodmFsdWUpXT1cInRoaXMudmFsdWVcIlxyXG4gICAgICAgID48L3NweC1pbnB1dC1kYXRlPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAodGhpcy5zcHhUeXBlID09PSAnZmxvYXQnKSB7XHJcbiAgICAgICAgPHNweC1pbnB1dC1mbG9hdFxyXG4gICAgICAgICAgKHNweENoYW5nZSk9XCJ0aGlzLmhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgIChzcHhGb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKClcIlxyXG4gICAgICAgICAgW3NweEF1dG9mb2N1c109XCJ0aGlzLnNweEF1dG9mb2N1c1wiXHJcbiAgICAgICAgICBbc3B4Rm9jdXNlZF09XCJ0aGlzLnNweEZvY3VzZWRcIlxyXG4gICAgICAgICAgW3NweE5hbWVdPVwidGhpcy5zcHhOYW1lXCJcclxuICAgICAgICAgIFtzcHhSZWFkb25seV09XCJ0aGlzLnNweFJlYWRvbmx5XCJcclxuICAgICAgICAgIFtzcHhTdGVwXT1cInRoaXMuc3B4U3RlcFwiXHJcbiAgICAgICAgICBbc3B4VmFsaWRhdG9yc109XCJ0aGlzLnNweFZhbGlkYXRvcnNcIlxyXG4gICAgICAgICAgW3ZhbHVlXT1cInRoaXMudmFsdWVcIlxyXG4gICAgICAgID48L3NweC1pbnB1dC1mbG9hdD5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKHRoaXMuc3B4VHlwZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICA8c3B4LWlucHV0LW51bWJlclxyXG4gICAgICAgICAgKHNweENoYW5nZSk9XCJ0aGlzLmhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgIChzcHhGb2N1cyk9XCJ0aGlzLmhhbmRsZUZvY3VzKClcIlxyXG4gICAgICAgICAgW3NweEF1dG9mb2N1c109XCJ0aGlzLnNweEF1dG9mb2N1c1wiXHJcbiAgICAgICAgICBbc3B4Rm9jdXNlZF09XCJ0aGlzLnNweEZvY3VzZWRcIlxyXG4gICAgICAgICAgW3NweElucHV0TW9kZV09XCJ0aGlzLnNweElucHV0TW9kZVwiXHJcbiAgICAgICAgICBbc3B4TmFtZV09XCJ0aGlzLnNweE5hbWVcIlxyXG4gICAgICAgICAgW3NweFJlYWRvbmx5XT1cInRoaXMuc3B4UmVhZG9ubHlcIlxyXG4gICAgICAgICAgW3NweFN0ZXBdPVwidGhpcy5zcHhTdGVwXCJcclxuICAgICAgICAgIFtzcHhWYWxpZGF0b3JzXT1cInRoaXMuc3B4VmFsaWRhdG9yc1wiXHJcbiAgICAgICAgICBbdmFsdWVdPVwidGhpcy52YWx1ZVwiXHJcbiAgICAgICAgPjwvc3B4LWlucHV0LW51bWJlcj5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKHRoaXMuc3B4VHlwZSA9PT0gJ3JhZGlvJykge1xyXG4gICAgICAgIDxzcHgtaW5wdXQtcmFkaW9cclxuICAgICAgICAgICNyYWRpb0lucHV0XHJcbiAgICAgICAgICAoc3B4Q2hhbmdlKT1cInRoaXMuaGFuZGxlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgW3NweEZvY3VzZWRdPVwidGhpcy5zcHhGb2N1c2VkXCJcclxuICAgICAgICAgIFtzcHhOYW1lXT1cInRoaXMuc3B4TmFtZVwiXHJcbiAgICAgICAgICBbc3B4UmVhZG9ubHldPVwidGhpcy5zcHhSZWFkb25seVwiXHJcbiAgICAgICAgICBbc3B4U2hvd0xhYmVsXT1cInRoaXMuc3B4U2hvd0xhYmVsXCJcclxuICAgICAgICAgIFtzcHhTdWdnZXN0aW9uc109XCJ0aGlzLnNweFN1Z2dlc3Rpb25zXCJcclxuICAgICAgICAgIFtzcHhWYWxpZGF0b3JzXT1cInRoaXMuc3B4VmFsaWRhdG9yc1wiXHJcbiAgICAgICAgICBbdmFsdWVdPVwidGhpcy52YWx1ZVwiXHJcbiAgICAgICAgPjwvc3B4LWlucHV0LXJhZGlvPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAodGhpcy5zcHhUeXBlID09PSAndGltZScpIHtcclxuICAgICAgICA8c3B4LWlucHV0LXRpbWVcclxuICAgICAgICAgICN0aW1lSW5wdXRcclxuICAgICAgICAgIChzcHhDaGFuZ2UpPVwidGhpcy5oYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAoc3B4Rm9jdXMpPVwidGhpcy5oYW5kbGVGb2N1cygpXCJcclxuICAgICAgICAgIFtzcHhGb2N1c2VkXT1cInRoaXMuc3B4Rm9jdXNlZFwiXHJcbiAgICAgICAgICBbc3B4TmFtZV09XCJ0aGlzLnNweE5hbWVcIlxyXG4gICAgICAgICAgW3NweFJlYWRvbmx5XT1cInRoaXMuc3B4UmVhZG9ubHlcIlxyXG4gICAgICAgICAgW3NweFZhbGlkYXRvcnNdPVwidGhpcy5zcHhWYWxpZGF0b3JzXCJcclxuICAgICAgICAgIFt2YWx1ZV09XCJ0aGlzLnZhbHVlXCJcclxuICAgICAgICA+PC9zcHgtaW5wdXQtdGltZT5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IHZhbGlkYXRpb24tbWVzc2FnZXM+XHJcbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDwvZGl2PlxyXG4gIDwvc3B4LWlucHV0LWJveD5gLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU3B4SW5wdXRDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIHNweExhYmVsOiBzdHJpbmcgPSAnbGFiZWwnO1xyXG4gIEBJbnB1dCgpIHNweE1heD86IHN0cmluZztcclxuICBASW5wdXQoKSBzcHhNaW4/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc3B4TmFtZSE6IHN0cmluZztcclxuICBASW5wdXQoKSBzcHhSZWFkb25seSA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNweEF1dG9jb21wbGV0ZT86IHN0cmluZztcclxuICBASW5wdXQoKSBzcHhBdXRvZm9jdXMgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzcHhJbnB1dE1vZGU/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgc3B4UGF0dGVybj86IHN0cmluZztcclxuICBASW5wdXQoKSBzcHhSZXF1aXJlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNweFNlbGVjdE1vbnRoID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzcHhTZWxlY3REYXkgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNweFNob3dFZGl0ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc3B4U2hvd0hlbHAgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzcHhTaG93TGFiZWwgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNweENvbXBhY3QgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzcHhTaG93Q2xlYXIgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNweFNob3dTZWFyY2ggPSBmYWxzZTtcclxuICBASW5wdXQoKSBzcHhTaG93VmFsaWRhdGlvbk1lc3NhZ2VzPzogYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzcHhTdGVwPzogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHNweFN1Z2dlc3Rpb25zOiBTcHhWYWx1ZVBhaXI8Ym9vbGVhbiB8IG51bWJlciB8IHN0cmluZz5bXSA9IFtdO1xyXG4gIEBJbnB1dCgpIHNweFR5cGU6IFNweElucHV0VHlwZUVudW0gPSBTcHhJbnB1dFR5cGVFbnVtLnRleHQ7XHJcbiAgQElucHV0KCkgc3B4VmFsaWRhdG9ycyE6IGFueVtdO1xyXG4gIEBJbnB1dCgpIHZhbHVlITogU3B4VmFsdWVQYWlyPGFueT47XHJcbiAgQElucHV0KCkgc3B4Q2FwaXRhbGl6ZSA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBzcHhCbHVyOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQE91dHB1dCgpIHNweENsZWFyOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQE91dHB1dCgpIHNweENoYW5nZTogRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxhbnk+PiA9IG5ldyBFdmVudEVtaXR0ZXI8U3B4VmFsdWVQYWlyPGFueT4+KCk7XHJcbiAgQE91dHB1dCgpIHNweEZvY3VzOiBFdmVudEVtaXR0ZXI8dm9pZD4gPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcbiAgQE91dHB1dCgpIHNweEVkaXQ6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBAT3V0cHV0KCkgc3B4SGVscDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBPdXRwdXQoKSBzcHhTZWFyY2g6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBAVmlld0NoaWxkKFNweElucHV0RmxvYXRDb21wb25lbnQpIGZsb2F0SW5wdXQ/OiBTcHhJbnB1dEZsb2F0Q29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoU3B4SW5wdXROdW1iZXJDb21wb25lbnQpIG51bWJlcklucHV0PzogU3B4SW5wdXROdW1iZXJDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZChTcHhJbnB1dFRleHRDb21wb25lbnQpIHRleHRJbnB1dD86IFNweElucHV0VGV4dENvbXBvbmVudDtcclxuICBAVmlld0NoaWxkKFNweElucHV0VGltZUNvbXBvbmVudCkgdGltZUlucHV0PzogU3B4SW5wdXRUaW1lQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoU3B4SW5wdXRSYWRpb0NvbXBvbmVudCkgcmFkaW9JbnB1dD86IFNweElucHV0UmFkaW9Db21wb25lbnQ7XHJcbiAgQElucHV0KCkgc3B4Rm9jdXNlZCA9IGZhbHNlO1xyXG4gIGhhbmRsZUJsdXIoKSB7XHJcbiAgICB0aGlzLnNweEJsdXIuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMudmFsdWUgPSBldmVudDtcclxuICAgIHRoaXMuc3B4Q2hhbmdlLmVtaXQodGhpcy52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVDbGVhcigpIHtcclxuICAgIHRoaXMuc3B4Q2xlYXIuZW1pdCgpO1xyXG4gICAgdGhpcy5zcHhGb2N1c2VkID0gdHJ1ZTtcclxuICAgIHRoaXMucGFzc0ZvY3VzVG9Db250cm9sKCk7XHJcbiAgICB0aGlzLnZhbHVlID0ge1xyXG4gICAgICBkZXNjcmlwdGlvbjogbnVsbCxcclxuICAgICAgdmFsdWU6IG51bGwsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zcHhDaGFuZ2UuZW1pdCh0aGlzLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUZvY3VzKCkge1xyXG4gICAgdGhpcy5zcHhGb2N1cy5lbWl0KCk7XHJcbiAgICB0aGlzLnNweEZvY3VzZWQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2VhcmNoKCkge1xyXG4gICAgdGhpcy5zcHhTZWFyY2guZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0Rm9jdXNJbigpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNweEZvY3VzZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLnBhc3NGb2N1c1RvQ29udHJvbCgpO1xyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG5cclxuICBzZXRGb2N1c091dCgpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNweEZvY3VzZWQgPSBmYWxzZTtcclxuICAgICAgaWYgKHRoaXMuc3B4VHlwZSA9PT0gU3B4SW5wdXRUeXBlRW51bS5yYWRpbykge1xyXG4gICAgICAgIHRoaXMucmFkaW9JbnB1dD8uc3B4Rm9jdXNPdXQoKTtcclxuICAgICAgfVxyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVFZGl0KCkge1xyXG4gICAgdGhpcy5zcHhFZGl0LmVtaXQoKTtcclxuICAgIHRoaXMuc3B4Rm9jdXNlZCA9IHRydWU7XHJcbiAgfVxyXG4gIFxyXG4gIGhhbmRsZUhlbHAoKSB7XHJcbiAgICB0aGlzLnNweEhlbHAuZW1pdCgpO1xyXG4gICAgdGhpcy5zcHhGb2N1c2VkID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcGFzc0ZvY3VzVG9Db250cm9sKCkge1xyXG4gICAgc3dpdGNoICh0aGlzLnNweFR5cGUpIHtcclxuICAgICAgY2FzZSBTcHhJbnB1dFR5cGVFbnVtLmF1dG9jb21wbGV0ZTpcclxuICAgICAgY2FzZSBTcHhJbnB1dFR5cGVFbnVtLnRleHQ6XHJcbiAgICAgIGNhc2UgU3B4SW5wdXRUeXBlRW51bS5vdmVybGF5TnVtYmVyOlxyXG4gICAgICAgIHRoaXMudGV4dElucHV0Py5zcHhTZXRGb2N1cygpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIFNweElucHV0VHlwZUVudW0ubnVtYmVyOlxyXG4gICAgICAgIHRoaXMubnVtYmVySW5wdXQ/LnNweFNldEZvY3VzKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgU3B4SW5wdXRUeXBlRW51bS5yYWRpbzpcclxuICAgICAgICB0aGlzLnJhZGlvSW5wdXQ/LnNweEZvY3VzSW4oKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBTcHhJbnB1dFR5cGVFbnVtLnRpbWU6XHJcbiAgICAgICAgdGhpcy50aW1lSW5wdXQ/LnNweFNldEZvY3VzKCk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2U6ICh2YWx1ZTogYW55KSA9PiB2b2lkID0gKCkgPT4gey8qKi99O1xyXG4gIHByaXZhdGUgb25Ub3VjaGVkOiAoKSA9PiB2b2lkID0gKCkgPT4gey8qKi99O1xyXG4gIHByb3RlY3RlZCBsYXN0VmFsdWU6IGFueTtcclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnZhbHVlID0gdGhpcy5sYXN0VmFsdWUgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUNoYW5nZUV2ZW50KHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5sYXN0VmFsdWUpIHtcclxuICAgICAgdGhpcy5sYXN0VmFsdWUgPSB2YWx1ZTtcclxuICAgICAgdGhpcy5vbkNoYW5nZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdmb2N1c291dCcpXHJcbiAgX2hhbmRsZUJsdXJFdmVudCgpIHtcclxuICAgIHRoaXMub25Ub3VjaGVkKCk7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IGFueSkgPT4gdm9pZCkge1xyXG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdm9pZCkge1xyXG4gICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcbn1cclxuIl19
@@ -1,32 +1,32 @@
1
- import { Component, Input } from '@angular/core';
1
+ import { Component, input } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export class SpxSuggestionComponent {
4
4
  constructor() {
5
- this.spxDisabled = false;
6
- this.spxFocused = false;
7
- this.spxSelected = false;
8
- this.spxTabbable = false;
5
+ this.spxDisabled = input();
6
+ this.spxFocused = input();
7
+ this.spxSelected = input();
8
+ this.spxTabbable = input();
9
9
  }
10
10
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SpxSuggestionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SpxSuggestionComponent, isStandalone: true, selector: "spx-suggestion", inputs: { spxDisabled: "spxDisabled", spxFocused: "spxFocused", spxSelected: "spxSelected", spxTabbable: "spxTabbable" }, ngImport: i0, template: `<button
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: SpxSuggestionComponent, isStandalone: true, selector: "spx-suggestion", inputs: { spxDisabled: { classPropertyName: "spxDisabled", publicName: "spxDisabled", isSignal: true, isRequired: false, transformFunction: null }, spxFocused: { classPropertyName: "spxFocused", publicName: "spxFocused", isSignal: true, isRequired: false, transformFunction: null }, spxSelected: { classPropertyName: "spxSelected", publicName: "spxSelected", isSignal: true, isRequired: false, transformFunction: null }, spxTabbable: { classPropertyName: "spxTabbable", publicName: "spxTabbable", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `<button
12
12
  type="button"
13
13
  class="spx-suggestion block rounded text-gray-900 text-sm p-3 w-full text-left truncate outline-none"
14
- [class.bg-sky-100]="!this.spxSelected && !this.spxDisabled"
15
- [class.focus:ring-sky-300]="!this.spxSelected && !this.spxDisabled"
16
- [class.hover:bg-sky-300]="!this.spxSelected && !this.spxDisabled"
17
- [class.active:bg-sky-300]="!this.spxSelected && !this.spxDisabled"
18
- [class.bg-gray-200]="this.spxDisabled && !this.spxSelected"
19
- [class.bg-gray-400]="this.spxDisabled && this.spxSelected"
20
- [class.cursor-not-allowed]="this.spxDisabled"
21
- [class.opacity-60]="this.spxDisabled"
22
- [class.bg-gradient-to-r]="this.spxSelected && !this.spxDisabled"
23
- [class.from-teal-400]="this.spxSelected && !this.spxDisabled"
24
- [class.to-teal-600]="this.spxSelected && !this.spxDisabled"
25
- [class.font-bold]="this.spxSelected"
26
- [attr.tabindex]="this.spxTabbable && !this.spxDisabled ? 0 : -1"
27
- [class.ring-2]="this.spxFocused && this.spxTabbable && !this.spxDisabled"
28
- [class.ring-offset-2]="this.spxFocused && this.spxTabbable && !this.spxDisabled"
29
- [class.ring-blue-500]="this.spxFocused && this.spxTabbable && !this.spxDisabled">
14
+ [class.bg-sky-100]="!this.spxSelected() && !this.spxDisabled()"
15
+ [class.focus:ring-sky-300]="!this.spxSelected() && !this.spxDisabled()"
16
+ [class.hover:bg-sky-300]="!this.spxSelected() && !this.spxDisabled()"
17
+ [class.active:bg-sky-300]="!this.spxSelected() && !this.spxDisabled()"
18
+ [class.bg-gray-200]="this.spxDisabled() && !this.spxSelected()"
19
+ [class.bg-gray-400]="this.spxDisabled() && this.spxSelected()"
20
+ [class.cursor-not-allowed]="this.spxDisabled()"
21
+ [class.opacity-60]="this.spxDisabled()"
22
+ [class.bg-gradient-to-r]="this.spxSelected() && !this.spxDisabled()"
23
+ [class.from-teal-400]="this.spxSelected() && !this.spxDisabled()"
24
+ [class.to-teal-600]="this.spxSelected() && !this.spxDisabled()"
25
+ [class.font-bold]="this.spxSelected()"
26
+ [attr.tabindex]="this.spxTabbable() && !this.spxDisabled() ? 0 : -1"
27
+ [class.ring-2]="this.spxFocused() && this.spxTabbable() && !this.spxDisabled()"
28
+ [class.ring-offset-2]="this.spxFocused() && this.spxTabbable() && !this.spxDisabled()"
29
+ [class.ring-blue-500]="this.spxFocused() && this.spxTabbable() && !this.spxDisabled()">
30
30
  <div class="text-ellipsis overflow-hidden whitespace-nowrap"><ng-content></ng-content></div>
31
31
  </button>`, isInline: true }); }
32
32
  }
@@ -38,32 +38,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
38
38
  template: `<button
39
39
  type="button"
40
40
  class="spx-suggestion block rounded text-gray-900 text-sm p-3 w-full text-left truncate outline-none"
41
- [class.bg-sky-100]="!this.spxSelected && !this.spxDisabled"
42
- [class.focus:ring-sky-300]="!this.spxSelected && !this.spxDisabled"
43
- [class.hover:bg-sky-300]="!this.spxSelected && !this.spxDisabled"
44
- [class.active:bg-sky-300]="!this.spxSelected && !this.spxDisabled"
45
- [class.bg-gray-200]="this.spxDisabled && !this.spxSelected"
46
- [class.bg-gray-400]="this.spxDisabled && this.spxSelected"
47
- [class.cursor-not-allowed]="this.spxDisabled"
48
- [class.opacity-60]="this.spxDisabled"
49
- [class.bg-gradient-to-r]="this.spxSelected && !this.spxDisabled"
50
- [class.from-teal-400]="this.spxSelected && !this.spxDisabled"
51
- [class.to-teal-600]="this.spxSelected && !this.spxDisabled"
52
- [class.font-bold]="this.spxSelected"
53
- [attr.tabindex]="this.spxTabbable && !this.spxDisabled ? 0 : -1"
54
- [class.ring-2]="this.spxFocused && this.spxTabbable && !this.spxDisabled"
55
- [class.ring-offset-2]="this.spxFocused && this.spxTabbable && !this.spxDisabled"
56
- [class.ring-blue-500]="this.spxFocused && this.spxTabbable && !this.spxDisabled">
41
+ [class.bg-sky-100]="!this.spxSelected() && !this.spxDisabled()"
42
+ [class.focus:ring-sky-300]="!this.spxSelected() && !this.spxDisabled()"
43
+ [class.hover:bg-sky-300]="!this.spxSelected() && !this.spxDisabled()"
44
+ [class.active:bg-sky-300]="!this.spxSelected() && !this.spxDisabled()"
45
+ [class.bg-gray-200]="this.spxDisabled() && !this.spxSelected()"
46
+ [class.bg-gray-400]="this.spxDisabled() && this.spxSelected()"
47
+ [class.cursor-not-allowed]="this.spxDisabled()"
48
+ [class.opacity-60]="this.spxDisabled()"
49
+ [class.bg-gradient-to-r]="this.spxSelected() && !this.spxDisabled()"
50
+ [class.from-teal-400]="this.spxSelected() && !this.spxDisabled()"
51
+ [class.to-teal-600]="this.spxSelected() && !this.spxDisabled()"
52
+ [class.font-bold]="this.spxSelected()"
53
+ [attr.tabindex]="this.spxTabbable() && !this.spxDisabled() ? 0 : -1"
54
+ [class.ring-2]="this.spxFocused() && this.spxTabbable() && !this.spxDisabled()"
55
+ [class.ring-offset-2]="this.spxFocused() && this.spxTabbable() && !this.spxDisabled()"
56
+ [class.ring-blue-500]="this.spxFocused() && this.spxTabbable() && !this.spxDisabled()">
57
57
  <div class="text-ellipsis overflow-hidden whitespace-nowrap"><ng-content></ng-content></div>
58
58
  </button>`,
59
59
  }]
60
- }], propDecorators: { spxDisabled: [{
61
- type: Input
62
- }], spxFocused: [{
63
- type: Input
64
- }], spxSelected: [{
65
- type: Input
66
- }], spxTabbable: [{
67
- type: Input
68
- }] } });
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LXN1Z2dlc3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1zdWdnZXN0aW9uL3NweC1zdWdnZXN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUEyQmpELE1BQU0sT0FBTyxzQkFBc0I7SUF6Qm5DO1FBMEJXLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFDcEIsZ0JBQVcsR0FBRyxLQUFLLENBQUM7S0FDOUI7K0dBTFksc0JBQXNCO21HQUF0QixzQkFBc0Isb01BdEJ2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Y0FvQkU7OzRGQUVELHNCQUFzQjtrQkF6QmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Y0FvQkU7aUJBQ2I7OEJBRVUsV0FBVztzQkFBbkIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc3B4LXN1Z2dlc3Rpb24nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgdGVtcGxhdGU6IGA8YnV0dG9uXHJcbiAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgIGNsYXNzPVwic3B4LXN1Z2dlc3Rpb24gYmxvY2sgcm91bmRlZCB0ZXh0LWdyYXktOTAwIHRleHQtc20gcC0zIHctZnVsbCB0ZXh0LWxlZnQgdHJ1bmNhdGUgb3V0bGluZS1ub25lXCJcclxuICAgIFtjbGFzcy5iZy1za3ktMTAwXT1cIiF0aGlzLnNweFNlbGVjdGVkICYmICF0aGlzLnNweERpc2FibGVkXCJcclxuICAgIFtjbGFzcy5mb2N1czpyaW5nLXNreS0zMDBdPVwiIXRoaXMuc3B4U2VsZWN0ZWQgJiYgIXRoaXMuc3B4RGlzYWJsZWRcIlxyXG4gICAgW2NsYXNzLmhvdmVyOmJnLXNreS0zMDBdPVwiIXRoaXMuc3B4U2VsZWN0ZWQgJiYgIXRoaXMuc3B4RGlzYWJsZWRcIlxyXG4gICAgW2NsYXNzLmFjdGl2ZTpiZy1za3ktMzAwXT1cIiF0aGlzLnNweFNlbGVjdGVkICYmICF0aGlzLnNweERpc2FibGVkXCJcclxuICAgIFtjbGFzcy5iZy1ncmF5LTIwMF09XCJ0aGlzLnNweERpc2FibGVkICYmICF0aGlzLnNweFNlbGVjdGVkXCJcclxuICAgIFtjbGFzcy5iZy1ncmF5LTQwMF09XCJ0aGlzLnNweERpc2FibGVkICYmIHRoaXMuc3B4U2VsZWN0ZWRcIlxyXG4gICAgW2NsYXNzLmN1cnNvci1ub3QtYWxsb3dlZF09XCJ0aGlzLnNweERpc2FibGVkXCJcclxuICAgIFtjbGFzcy5vcGFjaXR5LTYwXT1cInRoaXMuc3B4RGlzYWJsZWRcIlxyXG4gICAgW2NsYXNzLmJnLWdyYWRpZW50LXRvLXJdPVwidGhpcy5zcHhTZWxlY3RlZCAmJiAhdGhpcy5zcHhEaXNhYmxlZFwiXHJcbiAgICBbY2xhc3MuZnJvbS10ZWFsLTQwMF09XCJ0aGlzLnNweFNlbGVjdGVkICYmICF0aGlzLnNweERpc2FibGVkXCJcclxuICAgIFtjbGFzcy50by10ZWFsLTYwMF09XCJ0aGlzLnNweFNlbGVjdGVkICYmICF0aGlzLnNweERpc2FibGVkXCJcclxuICAgIFtjbGFzcy5mb250LWJvbGRdPVwidGhpcy5zcHhTZWxlY3RlZFwiXHJcbiAgICBbYXR0ci50YWJpbmRleF09XCJ0aGlzLnNweFRhYmJhYmxlICYmICF0aGlzLnNweERpc2FibGVkID8gMCA6IC0xXCJcclxuICAgIFtjbGFzcy5yaW5nLTJdPVwidGhpcy5zcHhGb2N1c2VkICYmIHRoaXMuc3B4VGFiYmFibGUgJiYgIXRoaXMuc3B4RGlzYWJsZWRcIlxyXG4gICAgW2NsYXNzLnJpbmctb2Zmc2V0LTJdPVwidGhpcy5zcHhGb2N1c2VkICYmIHRoaXMuc3B4VGFiYmFibGUgJiYgIXRoaXMuc3B4RGlzYWJsZWRcIlxyXG4gICAgW2NsYXNzLnJpbmctYmx1ZS01MDBdPVwidGhpcy5zcHhGb2N1c2VkICYmIHRoaXMuc3B4VGFiYmFibGUgJiYgIXRoaXMuc3B4RGlzYWJsZWRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWVsbGlwc2lzIG92ZXJmbG93LWhpZGRlbiB3aGl0ZXNwYWNlLW5vd3JhcFwiPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L2Rpdj5cclxuICAgIDwvYnV0dG9uPmAsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTcHhTdWdnZXN0aW9uQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBzcHhEaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNweEZvY3VzZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBzcHhTZWxlY3RlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNweFRhYmJhYmxlID0gZmFsc2U7XHJcbn1cclxuIl19
60
+ }] });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LXN1Z2dlc3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1zdWdnZXN0aW9uL3NweC1zdWdnZXN0aW9uLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUEyQmpELE1BQU0sT0FBTyxzQkFBc0I7SUF6Qm5DO1FBMEJFLGdCQUFXLEdBQUcsS0FBSyxFQUFXLENBQUM7UUFDL0IsZUFBVSxHQUFHLEtBQUssRUFBVyxDQUFDO1FBQzlCLGdCQUFXLEdBQUcsS0FBSyxFQUFXLENBQUM7UUFDL0IsZ0JBQVcsR0FBRyxLQUFLLEVBQVcsQ0FBQztLQUNoQzsrR0FMWSxzQkFBc0I7bUdBQXRCLHNCQUFzQiwybkJBdEJ2Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Y0FvQkU7OzRGQUVELHNCQUFzQjtrQkF6QmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Y0FvQkU7aUJBQ2IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NweC1zdWdnZXN0aW9uJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHRlbXBsYXRlOiBgPGJ1dHRvblxyXG4gICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICBjbGFzcz1cInNweC1zdWdnZXN0aW9uIGJsb2NrIHJvdW5kZWQgdGV4dC1ncmF5LTkwMCB0ZXh0LXNtIHAtMyB3LWZ1bGwgdGV4dC1sZWZ0IHRydW5jYXRlIG91dGxpbmUtbm9uZVwiXHJcbiAgICBbY2xhc3MuYmctc2t5LTEwMF09XCIhdGhpcy5zcHhTZWxlY3RlZCgpICYmICF0aGlzLnNweERpc2FibGVkKClcIlxyXG4gICAgW2NsYXNzLmZvY3VzOnJpbmctc2t5LTMwMF09XCIhdGhpcy5zcHhTZWxlY3RlZCgpICYmICF0aGlzLnNweERpc2FibGVkKClcIlxyXG4gICAgW2NsYXNzLmhvdmVyOmJnLXNreS0zMDBdPVwiIXRoaXMuc3B4U2VsZWN0ZWQoKSAmJiAhdGhpcy5zcHhEaXNhYmxlZCgpXCJcclxuICAgIFtjbGFzcy5hY3RpdmU6Ymctc2t5LTMwMF09XCIhdGhpcy5zcHhTZWxlY3RlZCgpICYmICF0aGlzLnNweERpc2FibGVkKClcIlxyXG4gICAgW2NsYXNzLmJnLWdyYXktMjAwXT1cInRoaXMuc3B4RGlzYWJsZWQoKSAmJiAhdGhpcy5zcHhTZWxlY3RlZCgpXCJcclxuICAgIFtjbGFzcy5iZy1ncmF5LTQwMF09XCJ0aGlzLnNweERpc2FibGVkKCkgJiYgdGhpcy5zcHhTZWxlY3RlZCgpXCJcclxuICAgIFtjbGFzcy5jdXJzb3Itbm90LWFsbG93ZWRdPVwidGhpcy5zcHhEaXNhYmxlZCgpXCJcclxuICAgIFtjbGFzcy5vcGFjaXR5LTYwXT1cInRoaXMuc3B4RGlzYWJsZWQoKVwiXHJcbiAgICBbY2xhc3MuYmctZ3JhZGllbnQtdG8tcl09XCJ0aGlzLnNweFNlbGVjdGVkKCkgJiYgIXRoaXMuc3B4RGlzYWJsZWQoKVwiXHJcbiAgICBbY2xhc3MuZnJvbS10ZWFsLTQwMF09XCJ0aGlzLnNweFNlbGVjdGVkKCkgJiYgIXRoaXMuc3B4RGlzYWJsZWQoKVwiXHJcbiAgICBbY2xhc3MudG8tdGVhbC02MDBdPVwidGhpcy5zcHhTZWxlY3RlZCgpICYmICF0aGlzLnNweERpc2FibGVkKClcIlxyXG4gICAgW2NsYXNzLmZvbnQtYm9sZF09XCJ0aGlzLnNweFNlbGVjdGVkKClcIlxyXG4gICAgW2F0dHIudGFiaW5kZXhdPVwidGhpcy5zcHhUYWJiYWJsZSgpICYmICF0aGlzLnNweERpc2FibGVkKCkgPyAwIDogLTFcIlxyXG4gICAgW2NsYXNzLnJpbmctMl09XCJ0aGlzLnNweEZvY3VzZWQoKSAmJiB0aGlzLnNweFRhYmJhYmxlKCkgJiYgIXRoaXMuc3B4RGlzYWJsZWQoKVwiXHJcbiAgICBbY2xhc3MucmluZy1vZmZzZXQtMl09XCJ0aGlzLnNweEZvY3VzZWQoKSAmJiB0aGlzLnNweFRhYmJhYmxlKCkgJiYgIXRoaXMuc3B4RGlzYWJsZWQoKVwiXHJcbiAgICBbY2xhc3MucmluZy1ibHVlLTUwMF09XCJ0aGlzLnNweEZvY3VzZWQoKSAmJiB0aGlzLnNweFRhYmJhYmxlKCkgJiYgIXRoaXMuc3B4RGlzYWJsZWQoKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInRleHQtZWxsaXBzaXMgb3ZlcmZsb3ctaGlkZGVuIHdoaXRlc3BhY2Utbm93cmFwXCI+PG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PjwvZGl2PlxyXG4gICAgPC9idXR0b24+YCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNweFN1Z2dlc3Rpb25Db21wb25lbnQge1xyXG4gIHNweERpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbj4oKTtcclxuICBzcHhGb2N1c2VkID0gaW5wdXQ8Ym9vbGVhbj4oKTtcclxuICBzcHhTZWxlY3RlZCA9IGlucHV0PGJvb2xlYW4+KCk7XHJcbiAgc3B4VGFiYmFibGUgPSBpbnB1dDxib29sZWFuPigpO1xyXG59XHJcbiJdfQ==
@@ -26,6 +26,7 @@ var SpxSeverityEnum;
26
26
  SpxSeverityEnum["success"] = "success";
27
27
  SpxSeverityEnum["unknown"] = "unknown";
28
28
  SpxSeverityEnum["warning"] = "warning";
29
+ SpxSeverityEnum["primary"] = "primary";
29
30
  })(SpxSeverityEnum || (SpxSeverityEnum = {}));
30
31
 
31
32
  const valuePairToValue = (pair) => {
@@ -1 +1 @@
1
- {"version":3,"file":"softpak-components-spx-helpers.mjs","sources":["../../../../projects/softpak/components/spx-helpers/calc-check-digit.function.ts","../../../../projects/softpak/components/spx-helpers/spx-severity.enum.ts","../../../../projects/softpak/components/spx-helpers/value-pair-to-value.function.ts","../../../../projects/softpak/components/spx-helpers/softpak-components-spx-helpers.ts"],"sourcesContent":["export const calcCheckDigit = (container: string): string => {\r\n container = container.toUpperCase();\r\n\r\n const mapping = {\r\n 0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9,\r\n A: 10, B: 12, C: 13, D: 14, E: 15, F: 16, G: 17, H: 18, I: 19, J: 20, K: 21, L: 23, M: 24,\r\n N: 25, O: 26, P: 27, Q: 28, R: 29, S: 30, T: 31, U: 32, V: 34, W: 35, X: 36, Y: 37, Z: 38\r\n };\r\n\r\n let total = 0;\r\n\r\n for (let i = 0; i < container.length; i++) {\r\n const cChar = container.substr(i, 1);\r\n const value = (mapping as any)[cChar];\r\n const multiplier = Math.pow(2, i);\r\n total = total + (value * multiplier);\r\n }\r\n\r\n let outcome = total % 11;\r\n if (outcome === 10) {\r\n outcome = 0;\r\n }\r\n\r\n return outcome.toString();\r\n}\r\n","export enum SpxSeverityEnum {\r\n error = 'error',\r\n info = 'info',\r\n success = 'success',\r\n unknown = 'unknown',\r\n warning = 'warning',\r\n}\r\n","export const valuePairToValue = (pair: any) => {\r\n if (pair === null || (typeof pair === 'object' && pair.value === undefined)) {\r\n return null;\r\n }\r\n return pair?.value || pair?.value === false || pair?.value === null || pair?.value === '' || pair?.value === 0 ? pair?.value : pair;\r\n};\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"softpak-components-spx-helpers.mjs","sources":["../../../../projects/softpak/components/spx-helpers/calc-check-digit.function.ts","../../../../projects/softpak/components/spx-helpers/spx-severity.enum.ts","../../../../projects/softpak/components/spx-helpers/value-pair-to-value.function.ts","../../../../projects/softpak/components/spx-helpers/softpak-components-spx-helpers.ts"],"sourcesContent":["export const calcCheckDigit = (container: string): string => {\r\n container = container.toUpperCase();\r\n\r\n const mapping = {\r\n 0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9,\r\n A: 10, B: 12, C: 13, D: 14, E: 15, F: 16, G: 17, H: 18, I: 19, J: 20, K: 21, L: 23, M: 24,\r\n N: 25, O: 26, P: 27, Q: 28, R: 29, S: 30, T: 31, U: 32, V: 34, W: 35, X: 36, Y: 37, Z: 38\r\n };\r\n\r\n let total = 0;\r\n\r\n for (let i = 0; i < container.length; i++) {\r\n const cChar = container.substr(i, 1);\r\n const value = (mapping as any)[cChar];\r\n const multiplier = Math.pow(2, i);\r\n total = total + (value * multiplier);\r\n }\r\n\r\n let outcome = total % 11;\r\n if (outcome === 10) {\r\n outcome = 0;\r\n }\r\n\r\n return outcome.toString();\r\n}\r\n","export enum SpxSeverityEnum {\r\n error = 'error',\r\n info = 'info',\r\n success = 'success',\r\n unknown = 'unknown',\r\n warning = 'warning',\r\n primary = 'primary',\r\n}\r\n","export const valuePairToValue = (pair: any) => {\r\n if (pair === null || (typeof pair === 'object' && pair.value === undefined)) {\r\n return null;\r\n }\r\n return pair?.value || pair?.value === false || pair?.value === null || pair?.value === '' || pair?.value === 0 ? pair?.value : pair;\r\n};\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}