@softpak/components 0.2.15 → 0.2.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/spx-channel-selection/src/spx-welcome.component.mjs +7 -3
- package/esm2022/spx-inputs/spx-input-radio.component.mjs +2 -1
- package/fesm2022/softpak-components-spx-channel-selection.mjs +6 -2
- package/fesm2022/softpak-components-spx-channel-selection.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-inputs.mjs +1 -0
- package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -1
- package/package.json +13 -13
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CommonModule, NgIf } from '@angular/common';
|
|
1
|
+
import { CommonModule, JsonPipe, NgIf } from '@angular/common';
|
|
2
2
|
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
|
3
3
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
4
|
import { SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';
|
|
@@ -10,6 +10,7 @@ import { SpxInputComponent, SpxInputTypeEnum } from '@softpak/components/spx-inp
|
|
|
10
10
|
import { spxValidatorRequired } from '@softpak/components/spx-validation';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
import * as i1 from "@angular/forms";
|
|
13
|
+
import * as i2 from "@angular/common";
|
|
13
14
|
export const sectionWelcome = 'welcome';
|
|
14
15
|
export const ctrlChannel = 'channel';
|
|
15
16
|
export const ctrlChannelType = 'channelType';
|
|
@@ -92,7 +93,8 @@ export class SpxWelcomeComponent {
|
|
|
92
93
|
[spxFormGroup]="formGroup"
|
|
93
94
|
[spxSuggestions]="suggestions">
|
|
94
95
|
</spx-form-view>
|
|
95
|
-
|
|
96
|
+
{{ this.suggestions | json }}
|
|
97
|
+
</form>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.JsonPipe, name: "json" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: SpxFormViewComponent, selector: "spx-form-view", inputs: ["spxFormGroup", "spxForm", "spxSuggestions"], outputs: ["spxBlur", "spxClick", "spxSearch"] }] }); }
|
|
96
98
|
}
|
|
97
99
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxWelcomeComponent, decorators: [{
|
|
98
100
|
type: Component,
|
|
@@ -104,6 +106,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
|
|
|
104
106
|
[spxFormGroup]="formGroup"
|
|
105
107
|
[spxSuggestions]="suggestions">
|
|
106
108
|
</spx-form-view>
|
|
109
|
+
{{ this.suggestions | json }}
|
|
107
110
|
</form>`,
|
|
108
111
|
standalone: true,
|
|
109
112
|
imports: [
|
|
@@ -115,6 +118,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
|
|
|
115
118
|
SpxFormViewComponent,
|
|
116
119
|
SpxInputComponent,
|
|
117
120
|
NgIf,
|
|
121
|
+
JsonPipe,
|
|
118
122
|
]
|
|
119
123
|
}]
|
|
120
124
|
}], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { channels: [{
|
|
@@ -132,4 +136,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
|
|
|
132
136
|
}], spxSelect: [{
|
|
133
137
|
type: Output
|
|
134
138
|
}] } });
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LXdlbGNvbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1jaGFubmVsLXNlbGVjdGlvbi9zcmMvc3B4LXdlbGNvbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBK0MsTUFBTSxlQUFlLENBQUM7QUFDcEgsT0FBTyxFQUF1QyxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RyxPQUFPLEVBQWtCLHFCQUFxQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbEcsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDL0UsT0FBTyxFQUFFLHFCQUFxQixFQUFZLG9CQUFvQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUcsT0FBTyxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBZ0IsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNuRyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQzs7O0FBRzFFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxTQUFTLENBQUM7QUFDeEMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQztBQUNyQyxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsYUFBYSxDQUFDO0FBMkI3QyxNQUFNLE9BQU8sbUJBQW1CO0lBZ0I5QixJQUFJLFdBQVcsS0FBa0IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQWdCLENBQUMsQ0FBQyxDQUFDO0lBQ3pGLElBQUksZUFBZSxLQUFrQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBZ0IsQ0FBQyxDQUFDLENBQUM7SUFxQ2pHLElBQUksaUJBQWlCLEtBQTZCLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUUxTixZQUFxQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQXZEcEMsYUFBUSxHQUFzQixFQUFFLENBQUM7UUFDakMsaUJBQVksR0FBNkIsRUFBRSxDQUFDO1FBSzNDLGNBQVMsR0FBbUMsSUFBSSxZQUFZLEVBQW9CLENBQUM7UUFDM0YsZ0JBQVcsR0FHUDtZQUNBLENBQUMsZUFBZSxDQUFDLEVBQUUsRUFBRTtZQUNyQixDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUU7U0FDbEIsQ0FBQztRQUlJLGtCQUFhLEdBRWpCLEVBQUUsQ0FBQztRQUVQLFNBQUksR0FBYTtZQUNmLE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxRQUFRLEVBQUUsZUFBZSxDQUFDLE9BQU87b0JBQ2pDLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxNQUFNO29CQUNsQyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVU7aUJBQzdCO2FBQ0Y7WUFDRCxRQUFRLEVBQUU7Z0JBQ1I7b0JBQ0UsR0FBRyxFQUFFLGNBQWM7b0JBQ25CLFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLO29CQUN0QixNQUFNLEVBQUU7d0JBQ047NEJBQ0UsR0FBRyxFQUFFLFdBQVc7NEJBQ2hCLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLOzRCQUNsQyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVc7NEJBQzdCLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLG9CQUFvQixFQUFFLENBQUM7eUJBQzNDO3dCQUNEOzRCQUNFLEdBQUcsRUFBRSxlQUFlOzRCQUNwQixJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsS0FBSzs0QkFDbEMsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXOzRCQUM3QixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSTs0QkFDdEIsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDOzRCQUNwRCxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO3lCQUMzQztxQkFDRjtpQkFDRjthQUNGO1NBQ0YsQ0FBQztJQUtGLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDak0sQ0FBQztJQUVELFdBQVc7SUFFWCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUMvRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztZQUNsRixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDcEYsV0FBVyxFQUFFLEVBQUU7Z0JBQ2YsS0FBSyxFQUFFLEVBQUU7YUFDVixDQUFDLENBQUMsQ0FBQztZQUNKLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDO2dCQUM1QixLQUFLLEVBQUUscUJBQXFCLENBQUMsVUFBVTthQUN4QyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUM7WUFDbEIsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3ZGLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQztTQUMxRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sb0JBQW9CLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUMvRSxDQUFDOzhHQXpGVSxtQkFBbUI7a0dBQW5CLG1CQUFtQiwyU0FuQnBCOzs7Ozs7VUFNRiwyREFHTixZQUFZLDhCQUNaLFdBQVcsbVNBQ1gsbUJBQW1CLGdMQUduQixvQkFBb0I7OzJGQUtYLG1CQUFtQjtrQkFyQi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFFBQVEsRUFBRTs7Ozs7O1VBTUY7b0JBQ1IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixrQkFBa0I7d0JBQ2xCLHVCQUF1Qjt3QkFDdkIsb0JBQW9CO3dCQUNwQixpQkFBaUI7d0JBQ2pCLElBQUk7cUJBQ0w7aUJBQ0Y7Z0ZBRVUsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgTmdJZiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU3B4QXBwQ2hhbm5lbEksIFNweEFwcENoYW5uZWxUeXBlRW51bSB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWFwcC1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IFNweEJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWJ1dHRvbic7XG5pbXBvcnQgeyBTcHhGb3JtU2VjdGlvbkNvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWZvcm0tc2VjdGlvbic7XG5pbXBvcnQgeyBTcHhGb3JtQnV0dG9uVHlwZUVudW0sIFNweEZvcm1JLCBTcHhGb3JtVmlld0NvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LWZvcm0tdmlldyc7XG5pbXBvcnQgeyBTcHhTZXZlcml0eUVudW0sIHZhbHVlUGFpclRvVmFsdWUgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1oZWxwZXJzJztcbmltcG9ydCB7IFNweElucHV0Q29tcG9uZW50LCBTcHhJbnB1dFR5cGVFbnVtLCBTcHhWYWx1ZVBhaXIgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1pbnB1dHMnO1xuaW1wb3J0IHsgc3B4VmFsaWRhdG9yUmVxdWlyZWQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC12YWxpZGF0aW9uJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgY29uc3Qgc2VjdGlvbldlbGNvbWUgPSAnd2VsY29tZSc7XG5leHBvcnQgY29uc3QgY3RybENoYW5uZWwgPSAnY2hhbm5lbCc7XG5leHBvcnQgY29uc3QgY3RybENoYW5uZWxUeXBlID0gJ2NoYW5uZWxUeXBlJztcbmV4cG9ydCBpbnRlcmZhY2UgU3B4V2VsY29tZVZhbHVlSSB7XG4gIFtjdHJsQ2hhbm5lbF0/OiBTcHhBcHBDaGFubmVsSTtcbiAgW2N0cmxDaGFubmVsVHlwZV06IFNweEFwcENoYW5uZWxUeXBlRW51bTtcbn1cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B4LXdlbGNvbWUnLFxuICB0ZW1wbGF0ZTogYDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCIgY2xhc3M9XCJtYXgtdy1sZyBteC1hdXRvIGZsZXggZmxleC1jb2wgZ2FwLTNcIiAobmdTdWJtaXQpPVwib25TdWJtaXQoKVwiPlxuICAgIDxzcHgtZm9ybS12aWV3XG4gICAgICBbc3B4Rm9ybV09XCJmb3JtXCJcbiAgICAgIFtzcHhGb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbiAgICAgIFtzcHhTdWdnZXN0aW9uc109XCJzdWdnZXN0aW9uc1wiPlxuICAgIDwvc3B4LWZvcm0tdmlldz5cbiAgPC9mb3JtPmAsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBTcHhCdXR0b25Db21wb25lbnQsXG4gICAgU3B4Rm9ybVNlY3Rpb25Db21wb25lbnQsXG4gICAgU3B4Rm9ybVZpZXdDb21wb25lbnQsXG4gICAgU3B4SW5wdXRDb21wb25lbnQsXG4gICAgTmdJZixcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTcHhXZWxjb21lQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGNoYW5uZWxzPzogU3B4QXBwQ2hhbm5lbElbXSA9IFtdO1xuICBASW5wdXQoKSBjaGFubmVsVHlwZXM/OiBTcHhBcHBDaGFubmVsVHlwZUVudW1bXSA9IFtdO1xuICBASW5wdXQoKSBmb3JtR3JvdXAhOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHRleHRDaGFubmVsITogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0Q29tcGFueSE6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dFNlbGVjdCE6IHN0cmluZztcbiAgQE91dHB1dCgpIHNweFNlbGVjdDogRXZlbnRFbWl0dGVyPFNweFdlbGNvbWVWYWx1ZUk+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcHhXZWxjb21lVmFsdWVJPigpO1xuICBzdWdnZXN0aW9uczoge1xuICAgIFtjdHJsQ2hhbm5lbFR5cGVdPzogU3B4VmFsdWVQYWlyPHN0cmluZz5bXTtcbiAgICBbY3RybENoYW5uZWxdPzogU3B4VmFsdWVQYWlyPHN0cmluZz5bXTtcbiAgfSA9IHtcbiAgICAgIFtjdHJsQ2hhbm5lbFR5cGVdOiBbXSxcbiAgICAgIFtjdHJsQ2hhbm5lbF06IFtdLFxuICAgIH07XG5cbiAgZ2V0IGN0cmxDaGFubmVsKCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChjdHJsQ2hhbm5lbCkgYXMgRm9ybUNvbnRyb2w7IH1cbiAgZ2V0IGN0cmxDaGFubmVsVHlwZSgpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY3RybENoYW5uZWxUeXBlKSBhcyBGb3JtQ29udHJvbDsgfVxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IHtcbiAgICBjaGFubmVsPzogU3Vic2NyaXB0aW9uXG4gIH0gPSB7fTtcblxuICBmb3JtOiBTcHhGb3JtSSA9IHtcbiAgICBidXR0b25zOiBbXG4gICAgICB7XG4gICAgICAgIHNldmVyaXR5OiBTcHhTZXZlcml0eUVudW0uc3VjY2VzcyxcbiAgICAgICAgdHlwZTogU3B4Rm9ybUJ1dHRvblR5cGVFbnVtLnN1Ym1pdCxcbiAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudGV4dFNlbGVjdCxcbiAgICAgIH1cbiAgICBdLFxuICAgIHNlY3Rpb25zOiBbXG4gICAgICB7XG4gICAgICAgIGtleTogc2VjdGlvbldlbGNvbWUsXG4gICAgICAgIHNob3dUaXRsZTogKCkgPT4gZmFsc2UsXG4gICAgICAgIGZpZWxkczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGtleTogY3RybENoYW5uZWwsXG4gICAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLnJhZGlvLFxuICAgICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudGV4dENvbXBhbnksXG4gICAgICAgICAgICB2YWxpZGF0b3JzOiAoKSA9PiBbc3B4VmFsaWRhdG9yUmVxdWlyZWQoKV0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IGN0cmxDaGFubmVsVHlwZSxcbiAgICAgICAgICAgIHR5cGU6ICgpID0+IFNweElucHV0VHlwZUVudW0ucmFkaW8sXG4gICAgICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50ZXh0Q2hhbm5lbCxcbiAgICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXG4gICAgICAgICAgICBzaG93OiAoKSA9PiB2YWx1ZVBhaXJUb1ZhbHVlKHRoaXMuY3RybENoYW5uZWwudmFsdWUpLFxuICAgICAgICAgICAgdmFsaWRhdG9yczogKCkgPT4gW3NweFZhbGlkYXRvclJlcXVpcmVkKCldLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgIH1cbiAgICBdXG4gIH07XG5cbiAgZ2V0IGZpbHRlcmVkQ29tcGFuaWVzKCk6IFNweFZhbHVlUGFpcjxzdHJpbmc+W10geyByZXR1cm4gKHRoaXMuY2hhbm5lbHMgPz8gW10pPy5maWx0ZXIoY2hhbm5lbCA9PiBjaGFubmVsLmNoYW5uZWxUeXBlcy5pbmNsdWRlcyhTcHhBcHBDaGFubmVsVHlwZUVudW0ucHJvZHVjdGlvbikpLm1hcChjID0+ICh7IGRlc2NyaXB0aW9uOiBjLmJyYW5kLCB2YWx1ZTogYy5icmFuZCB9KSk7IH1cblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIpIHtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLnN1Z2dlc3Rpb25zW2N0cmxDaGFubmVsXSA9ICh0aGlzLmNoYW5uZWxzID8/IFtdKT8uZmlsdGVyKGNoYW5uZWwgPT4gY2hhbm5lbC5jaGFubmVsVHlwZXMuaW5jbHVkZXMoU3B4QXBwQ2hhbm5lbFR5cGVFbnVtLnByb2R1Y3Rpb24pKS5tYXAoYyA9PiAoeyBkZXNjcmlwdGlvbjogYy5icmFuZCwgdmFsdWU6IGMuYnJhbmQgfSkpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG5cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5jaGFubmVsID0gdGhpcy5jdHJsQ2hhbm5lbC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlUGFpciA9PiB7XG4gICAgICBjb25zdCBjaGFubmVsID0gdGhpcy5jaGFubmVscz8uZmluZChjID0+IGMuYnJhbmQgPT09IHZhbHVlUGFpclRvVmFsdWUodmFsdWVQYWlyKSk7XG4gICAgICB0aGlzLnN1Z2dlc3Rpb25zW2N0cmxDaGFubmVsVHlwZV0gPSAhY2hhbm5lbCA/IFtdIDogY2hhbm5lbD8uY2hhbm5lbFR5cGVzPy5tYXAoY3QgPT4gKHtcbiAgICAgICAgZGVzY3JpcHRpb246IGN0LFxuICAgICAgICB2YWx1ZTogY3RcbiAgICAgIH0pKTtcbiAgICAgIHRoaXMuY3RybENoYW5uZWxUeXBlLnNldFZhbHVlKHtcbiAgICAgICAgdmFsdWU6IFNweEFwcENoYW5uZWxUeXBlRW51bS5wcm9kdWN0aW9uLFxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBvblN1Ym1pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnNweFNlbGVjdC5lbWl0KHtcbiAgICAgIGNoYW5uZWw6IHRoaXMuY2hhbm5lbHM/LmZpbmQoYyA9PiBjLmJyYW5kID09PSB2YWx1ZVBhaXJUb1ZhbHVlKHRoaXMuY3RybENoYW5uZWwudmFsdWUpKSxcbiAgICAgIGNoYW5uZWxUeXBlOiB2YWx1ZVBhaXJUb1ZhbHVlKHRoaXMuY3RybENoYW5uZWxUeXBlLnZhbHVlKSxcbiAgICB9KTtcbiAgfVxuXG4gIGNyZWF0ZUZvcm0oKTogRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gU3B4Rm9ybVZpZXdDb21wb25lbnQuY3JlYXRlRm9ybSh0aGlzLmZvcm1CdWlsZGVyLCB0aGlzLmZvcm0uc2VjdGlvbnMpO1xuICB9XG59XG4iXX0=
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LXdlbGNvbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc29mdHBhay9jb21wb25lbnRzL3NweC1jaGFubmVsLXNlbGVjdGlvbi9zcmMvc3B4LXdlbGNvbWUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQStDLE1BQU0sZUFBZSxDQUFDO0FBQ3BILE9BQU8sRUFBdUMsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkcsT0FBTyxFQUFrQixxQkFBcUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBWSxvQkFBb0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzFHLE9BQU8sRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQWdCLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7Ozs7QUFHMUUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLFNBQVMsQ0FBQztBQUN4QyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFDO0FBQ3JDLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxhQUFhLENBQUM7QUE2QjdDLE1BQU0sT0FBTyxtQkFBbUI7SUFnQjlCLElBQUks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Q0FBQyxDQUFDO0lBQy9FLENBQUM7OEdBMUZVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDJTQXJCcEI7Ozs7Ozs7VUFPRiwyREFHTixZQUFZLGlGQUNaLFdBQVcsbVNBQ1gsbUJBQW1CLGdMQUduQixvQkFBb0I7OzJGQU1YLG1CQUFtQjtrQkF2Qi9CLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGFBQWE7b0JBQ3ZCLFFBQVEsRUFBRTs7Ozs7OztVQU9GO29CQUNSLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQix1QkFBdUI7d0JBQ3ZCLG9CQUFvQjt3QkFDcEIsaUJBQWlCO3dCQUNqQixJQUFJO3dCQUNKLFFBQVE7cUJBQ1Q7aUJBQ0Y7Z0ZBRVUsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0ksU0FBUztzQkFBbEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgSnNvblBpcGUsIE5nSWYgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNweEFwcENoYW5uZWxJLCBTcHhBcHBDaGFubmVsVHlwZUVudW0gfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1hcHAtY29uZmlndXJhdGlvbic7XG5pbXBvcnQgeyBTcHhCdXR0b25Db21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1idXR0b24nO1xuaW1wb3J0IHsgU3B4Rm9ybVNlY3Rpb25Db21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1mb3JtLXNlY3Rpb24nO1xuaW1wb3J0IHsgU3B4Rm9ybUJ1dHRvblR5cGVFbnVtLCBTcHhGb3JtSSwgU3B4Rm9ybVZpZXdDb21wb25lbnQgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1mb3JtLXZpZXcnO1xuaW1wb3J0IHsgU3B4U2V2ZXJpdHlFbnVtLCB2YWx1ZVBhaXJUb1ZhbHVlIH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtaGVscGVycyc7XG5pbXBvcnQgeyBTcHhJbnB1dENvbXBvbmVudCwgU3B4SW5wdXRUeXBlRW51bSwgU3B4VmFsdWVQYWlyIH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzJztcbmltcG9ydCB7IHNweFZhbGlkYXRvclJlcXVpcmVkIH0gZnJvbSAnQHNvZnRwYWsvY29tcG9uZW50cy9zcHgtdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGNvbnN0IHNlY3Rpb25XZWxjb21lID0gJ3dlbGNvbWUnO1xuZXhwb3J0IGNvbnN0IGN0cmxDaGFubmVsID0gJ2NoYW5uZWwnO1xuZXhwb3J0IGNvbnN0IGN0cmxDaGFubmVsVHlwZSA9ICdjaGFubmVsVHlwZSc7XG5leHBvcnQgaW50ZXJmYWNlIFNweFdlbGNvbWVWYWx1ZUkge1xuICBbY3RybENoYW5uZWxdPzogU3B4QXBwQ2hhbm5lbEk7XG4gIFtjdHJsQ2hhbm5lbFR5cGVdOiBTcHhBcHBDaGFubmVsVHlwZUVudW07XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NweC13ZWxjb21lJyxcbiAgdGVtcGxhdGU6IGA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiIGNsYXNzPVwibWF4LXctbGcgbXgtYXV0byBmbGV4IGZsZXgtY29sIGdhcC0zXCIgKG5nU3VibWl0KT1cIm9uU3VibWl0KClcIj5cbiAgICA8c3B4LWZvcm0tdmlld1xuICAgICAgW3NweEZvcm1dPVwiZm9ybVwiXG4gICAgICBbc3B4Rm9ybUdyb3VwXT1cImZvcm1Hcm91cFwiXG4gICAgICBbc3B4U3VnZ2VzdGlvbnNdPVwic3VnZ2VzdGlvbnNcIj5cbiAgICA8L3NweC1mb3JtLXZpZXc+XG4gICAge3sgdGhpcy5zdWdnZXN0aW9ucyB8IGpzb24gfX1cbiAgPC9mb3JtPmAsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBTcHhCdXR0b25Db21wb25lbnQsXG4gICAgU3B4Rm9ybVNlY3Rpb25Db21wb25lbnQsXG4gICAgU3B4Rm9ybVZpZXdDb21wb25lbnQsXG4gICAgU3B4SW5wdXRDb21wb25lbnQsXG4gICAgTmdJZixcbiAgICBKc29uUGlwZSxcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBTcHhXZWxjb21lQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGNoYW5uZWxzPzogU3B4QXBwQ2hhbm5lbElbXSA9IFtdO1xuICBASW5wdXQoKSBjaGFubmVsVHlwZXM/OiBTcHhBcHBDaGFubmVsVHlwZUVudW1bXSA9IFtdO1xuICBASW5wdXQoKSBmb3JtR3JvdXAhOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIHRleHRDaGFubmVsITogc3RyaW5nO1xuICBASW5wdXQoKSB0ZXh0Q29tcGFueSE6IHN0cmluZztcbiAgQElucHV0KCkgdGV4dFNlbGVjdCE6IHN0cmluZztcbiAgQE91dHB1dCgpIHNweFNlbGVjdDogRXZlbnRFbWl0dGVyPFNweFdlbGNvbWVWYWx1ZUk+ID0gbmV3IEV2ZW50RW1pdHRlcjxTcHhXZWxjb21lVmFsdWVJPigpO1xuICBzdWdnZXN0aW9uczoge1xuICAgIFtjdHJsQ2hhbm5lbFR5cGVdPzogU3B4VmFsdWVQYWlyPHN0cmluZz5bXTtcbiAgICBbY3RybENoYW5uZWxdPzogU3B4VmFsdWVQYWlyPHN0cmluZz5bXTtcbiAgfSA9IHtcbiAgICAgIFtjdHJsQ2hhbm5lbFR5cGVdOiBbXSxcbiAgICAgIFtjdHJsQ2hhbm5lbF06IFtdLFxuICAgIH07XG5cbiAgZ2V0IGN0cmxDaGFubmVsKCk6IEZvcm1Db250cm9sIHsgcmV0dXJuIHRoaXMuZm9ybUdyb3VwLmdldChjdHJsQ2hhbm5lbCkgYXMgRm9ybUNvbnRyb2w7IH1cbiAgZ2V0IGN0cmxDaGFubmVsVHlwZSgpOiBGb3JtQ29udHJvbCB7IHJldHVybiB0aGlzLmZvcm1Hcm91cC5nZXQoY3RybENoYW5uZWxUeXBlKSBhcyBGb3JtQ29udHJvbDsgfVxuICBwcml2YXRlIHN1YnNjcmlwdGlvbnM6IHtcbiAgICBjaGFubmVsPzogU3Vic2NyaXB0aW9uXG4gIH0gPSB7fTtcblxuICBmb3JtOiBTcHhGb3JtSSA9IHtcbiAgICBidXR0b25zOiBbXG4gICAgICB7XG4gICAgICAgIHNldmVyaXR5OiBTcHhTZXZlcml0eUVudW0uc3VjY2VzcyxcbiAgICAgICAgdHlwZTogU3B4Rm9ybUJ1dHRvblR5cGVFbnVtLnN1Ym1pdCxcbiAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudGV4dFNlbGVjdCxcbiAgICAgIH1cbiAgICBdLFxuICAgIHNlY3Rpb25zOiBbXG4gICAgICB7XG4gICAgICAgIGtleTogc2VjdGlvbldlbGNvbWUsXG4gICAgICAgIHNob3dUaXRsZTogKCkgPT4gZmFsc2UsXG4gICAgICAgIGZpZWxkczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGtleTogY3RybENoYW5uZWwsXG4gICAgICAgICAgICB0eXBlOiAoKSA9PiBTcHhJbnB1dFR5cGVFbnVtLnJhZGlvLFxuICAgICAgICAgICAgbGFiZWw6ICgpID0+IHRoaXMudGV4dENvbXBhbnksXG4gICAgICAgICAgICB2YWxpZGF0b3JzOiAoKSA9PiBbc3B4VmFsaWRhdG9yUmVxdWlyZWQoKV0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IGN0cmxDaGFubmVsVHlwZSxcbiAgICAgICAgICAgIHR5cGU6ICgpID0+IFNweElucHV0VHlwZUVudW0ucmFkaW8sXG4gICAgICAgICAgICBsYWJlbDogKCkgPT4gdGhpcy50ZXh0Q2hhbm5lbCxcbiAgICAgICAgICAgIGNhcGl0YWxpemU6ICgpID0+IHRydWUsXG4gICAgICAgICAgICBzaG93OiAoKSA9PiB2YWx1ZVBhaXJUb1ZhbHVlKHRoaXMuY3RybENoYW5uZWwudmFsdWUpLFxuICAgICAgICAgICAgdmFsaWRhdG9yczogKCkgPT4gW3NweFZhbGlkYXRvclJlcXVpcmVkKCldLFxuICAgICAgICAgIH0sXG4gICAgICAgIF1cbiAgICAgIH1cbiAgICBdXG4gIH07XG5cbiAgZ2V0IGZpbHRlcmVkQ29tcGFuaWVzKCk6IFNweFZhbHVlUGFpcjxzdHJpbmc+W10geyByZXR1cm4gKHRoaXMuY2hhbm5lbHMgPz8gW10pPy5maWx0ZXIoY2hhbm5lbCA9PiBjaGFubmVsLmNoYW5uZWxUeXBlcy5pbmNsdWRlcyhTcHhBcHBDaGFubmVsVHlwZUVudW0ucHJvZHVjdGlvbikpLm1hcChjID0+ICh7IGRlc2NyaXB0aW9uOiBjLmJyYW5kLCB2YWx1ZTogYy5icmFuZCB9KSk7IH1cblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBmb3JtQnVpbGRlcjogRm9ybUJ1aWxkZXIpIHtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLnN1Z2dlc3Rpb25zW2N0cmxDaGFubmVsXSA9ICh0aGlzLmNoYW5uZWxzID8/IFtdKT8uZmlsdGVyKGNoYW5uZWwgPT4gY2hhbm5lbC5jaGFubmVsVHlwZXMuaW5jbHVkZXMoU3B4QXBwQ2hhbm5lbFR5cGVFbnVtLnByb2R1Y3Rpb24pKS5tYXAoYyA9PiAoeyBkZXNjcmlwdGlvbjogYy5icmFuZCwgdmFsdWU6IGMuYnJhbmQgfSkpO1xuICBcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuXG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbnMuY2hhbm5lbCA9IHRoaXMuY3RybENoYW5uZWwudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWx1ZVBhaXIgPT4ge1xuICAgICAgY29uc3QgY2hhbm5lbCA9IHRoaXMuY2hhbm5lbHM/LmZpbmQoYyA9PiBjLmJyYW5kID09PSB2YWx1ZVBhaXJUb1ZhbHVlKHZhbHVlUGFpcikpO1xuICAgICAgdGhpcy5zdWdnZXN0aW9uc1tjdHJsQ2hhbm5lbFR5cGVdID0gIWNoYW5uZWwgPyBbXSA6IGNoYW5uZWw/LmNoYW5uZWxUeXBlcz8ubWFwKGN0ID0+ICh7XG4gICAgICAgIGRlc2NyaXB0aW9uOiBjdCxcbiAgICAgICAgdmFsdWU6IGN0XG4gICAgICB9KSk7XG4gICAgICB0aGlzLmN0cmxDaGFubmVsVHlwZS5zZXRWYWx1ZSh7XG4gICAgICAgIHZhbHVlOiBTcHhBcHBDaGFubmVsVHlwZUVudW0ucHJvZHVjdGlvbixcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgb25TdWJtaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zcHhTZWxlY3QuZW1pdCh7XG4gICAgICBjaGFubmVsOiB0aGlzLmNoYW5uZWxzPy5maW5kKGMgPT4gYy5icmFuZCA9PT0gdmFsdWVQYWlyVG9WYWx1ZSh0aGlzLmN0cmxDaGFubmVsLnZhbHVlKSksXG4gICAgICBjaGFubmVsVHlwZTogdmFsdWVQYWlyVG9WYWx1ZSh0aGlzLmN0cmxDaGFubmVsVHlwZS52YWx1ZSksXG4gICAgfSk7XG4gIH1cblxuICBjcmVhdGVGb3JtKCk6IEZvcm1Hcm91cCB7XG4gICAgcmV0dXJuIFNweEZvcm1WaWV3Q29tcG9uZW50LmNyZWF0ZUZvcm0odGhpcy5mb3JtQnVpbGRlciwgdGhpcy5mb3JtLnNlY3Rpb25zKTtcbiAgfVxufVxuIl19
|
|
@@ -24,6 +24,7 @@ export class SpxInputRadioComponent {
|
|
|
24
24
|
this.subscriptionKeyUp?.unsubscribe();
|
|
25
25
|
}
|
|
26
26
|
ngOnChanges(changes) {
|
|
27
|
+
console.log('changes', changes);
|
|
27
28
|
if ((changes['spxSuggestions'] && JSON.stringify(changes['spxSuggestions']?.previousValue) !== JSON.stringify(changes['spxSuggestions']?.currentValue)) ||
|
|
28
29
|
(changes['value'] && JSON.stringify(changes['value']?.previousValue) !== JSON.stringify(changes['value']?.currentValue))) {
|
|
29
30
|
this.cachedSuggestions = changes['spxSuggestions']?.currentValue ?? [];
|
|
@@ -127,4 +128,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
|
|
|
127
128
|
}], spxFocus: [{
|
|
128
129
|
type: Output
|
|
129
130
|
}] } });
|
|
130
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzL3NweC1pbnB1dC1yYWRpby5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFdEYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQXFCbkUsTUFBTSxPQUFPLHNCQUFzQjtJQW5CbkM7UUFvQkUsc0JBQWlCLEdBQXdCLEVBQUUsQ0FBQztRQUNsQyxrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUluQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLG1CQUFjLEdBQXdCLEVBQUUsQ0FBQztRQUV4QyxjQUFTLEdBQW9DLElBQUksWUFBWSxFQUFxQixDQUFDO1FBQ25GLGFBQVEsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQXFFbkU7SUFsRUMsVUFBVTtRQUNSLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDeEMsQ0FB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QVM7c0JBQWxCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTcHhWYWx1ZVBhaXIgfSBmcm9tICcuL3NweC12YWx1ZS1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU3B4U3VnZ2VzdGlvbkNvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LXN1Z2dlc3Rpb24nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHZhbHVlUGFpclRvVmFsdWUgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1oZWxwZXJzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B4LWlucHV0LXJhZGlvJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nRm9yLFxuICAgIFNweFN1Z2dlc3Rpb25Db21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTIgZ2FwLTJcIiBbY2xhc3MubXQtM109XCJ0aGlzLnNweFNob3dMYWJlbFwiPlxuICAgICAgPHNweC1zdWdnZXN0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCB2YWx1ZVBhaXIgb2YgdGhpcy5jYWNoZWRTdWdnZXN0aW9uczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgIFtzcHhEaXNhYmxlZF09XCJ0aGlzLnNweFJlYWRvbmx5XCJcbiAgICAgICAgW3NweEZvY3VzZWRdPVwidGhpcy5zcHhGb2N1c2VkICYmIGkgPT09IHRoaXMuZm9jdXNQb3NpdGlvblwiXG4gICAgICAgIFtzcHhTZWxlY3RlZF09XCJ0aGlzLnZhbHVlPy52YWx1ZSA9PT0gdmFsdWVQYWlyPy52YWx1ZVwiXG4gICAgICAgIFtzcHhUYWJiYWJsZV09XCJ0aGlzLmZvY3VzUG9zaXRpb24gPT09IGlcIlxuICAgICAgICAoY2xpY2spPVwidGhpcy5oYW5kbGVTdWdnZXN0aW9uQ2xpY2soJGV2ZW50LCB2YWx1ZVBhaXIpXCI+XG4gICAgICAgIHt7dmFsdWVQYWlyPy5kZXNjcmlwdGlvbn19XG4gICAgICA8L3NweC1zdWdnZXN0aW9uPlxuICAgIDwvZGl2PmAsXG59KVxuZXhwb3J0IGNsYXNzIFNweElucHV0UmFkaW9Db21wb25lbnQge1xuICBjYWNoZWRTdWdnZXN0aW9uczogU3B4VmFsdWVQYWlyPGFueT5bXSA9IFtdO1xuICBwcm90ZWN0ZWQgZm9jdXNQb3NpdGlvbiA9IDA7XG4gIC8vIEBFbGVtZW50KCkgZWwhOiBIVE1MRWxlbWVudDtcbiAgQElucHV0KCkgc3B4TmFtZT86IHN0cmluZztcbiAgQElucHV0KCkgc3B4VmFsaWRhdG9ycyE6IGFueVtdO1xuICBASW5wdXQoKSBzcHhGb2N1c2VkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweFNob3dMYWJlbCA9IHRydWU7XG4gIEBJbnB1dCgpIHNweFJlYWRvbmx5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweFN1Z2dlc3Rpb25zOiBTcHhWYWx1ZVBhaXI8YW55PltdID0gW107XG4gIEBJbnB1dCgpIHZhbHVlPzogU3B4VmFsdWVQYWlyPGFueT47XG4gIEBPdXRwdXQoKSBzcHhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxhbnk+PigpO1xuICBAT3V0cHV0KCkgc3B4Rm9jdXM6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25LZXlVcD86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25LZXlEb3duPzogU3Vic2NyaXB0aW9uO1xuICBzcHhGb2N1c0luKCkge1xuICAgIHRoaXMubGlzdGVuVG9LZXlzKCk7XG4gICAgdGhpcy5kZXRlcm1pbmVGb2N1c1Bvc2l0aW9uKCk7XG4gIH1cblxuICBzcHhGb2N1c091dCgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbktleURvd24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25LZXlVcD8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcblxuICAgIGlmIChcbiAgICAgIChjaGFuZ2VzWydzcHhTdWdnZXN0aW9ucyddICYmIEpTT04uc3RyaW5naWZ5KGNoYW5nZXNbJ3NweFN1Z2dlc3Rpb25zJ10/LnByZXZpb3VzVmFsdWUpICE9PSBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydzcHhTdWdnZXN0aW9ucyddPy5jdXJyZW50VmFsdWUpKSB8fFxuICAgICAgKGNoYW5nZXNbJ3ZhbHVlJ10gJiYgSlNPTi5zdHJpbmdpZnkoY2hhbmdlc1sndmFsdWUnXT8ucHJldmlvdXNWYWx1ZSkgIT09IEpTT04uc3RyaW5naWZ5KGNoYW5nZXNbJ3ZhbHVlJ10/LmN1cnJlbnRWYWx1ZSkpXG4gICAgKSB7XG4gICAgICB0aGlzLmNhY2hlZFN1Z2dlc3Rpb25zID0gY2hhbmdlc1snc3B4U3VnZ2VzdGlvbnMnXT8uY3VycmVudFZhbHVlID8/IFtdO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZVN1Z2dlc3Rpb25DbGljayhldmVudDogRXZlbnQsIHZhbHVlUGFpcjogU3B4VmFsdWVQYWlyPGFueT4pIHtcbiAgICBpZiAodGhpcy5zcHhSZWFkb25seSkge1xuICAgICAgY29uc29sZS5sb2coJ3NweElucHV0UmFkaW86IGNsaWNrZWQsIGJ1dCByZWFkb25seScpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZygnc3B4SW5wdXRSYWRpbzogY2xpY2tlZCcpO1xuICAgICAgdGhpcy5zZWxlY3QodmFsdWVQYWlyKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRldGVybWluZUZvY3VzUG9zaXRpb24oKSB7XG4gICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy5zcHhTdWdnZXN0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuc3B4U3VnZ2VzdGlvbnMuZmluZEluZGV4KHZhbHVlUGFpciA9PiB2YWx1ZVBhaXJUb1ZhbHVlKHZhbHVlUGFpcikgPT09IHZhbHVlUGFpclRvVmFsdWUodGhpcy52YWx1ZSkpO1xuICAgICAgdGhpcy5mb2N1c1Bvc2l0aW9uID0gaW5kZXggPj0gMCA/IGluZGV4IDogMDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb2N1c1Bvc2l0aW9uID0gMDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdCh2YWx1ZVBhaXI6IFNweFZhbHVlUGFpcjxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPik6IHZvaWQge1xuICAgIHRoaXMuZm9jdXNQb3NpdGlvbiA9IDA7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlUGFpcjtcbiAgICB0aGlzLnNweENoYW5nZS5lbWl0KHZhbHVlUGFpcik7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblRvS2V5cygpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbktleVVwID0gZnJvbUV2ZW50KHdpbmRvdywgJ2tleXVwJykuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgaWYgKCgoZXZlbnQgYXMgS2V5Ym9hcmRFdmVudCkua2V5ID09PSAnQXJyb3dVcCcgfHwgKGV2ZW50IGFzIEtleWJvYXJkRXZlbnQpLmtleSA9PT0gJ0Fycm93TGVmdCcpICYmIHRoaXMuZm9jdXNQb3NpdGlvbiA+IDApIHtcbiAgICAgICAgdGhpcy5mb2N1c1Bvc2l0aW9uID0gdGhpcy5mb2N1c1Bvc2l0aW9uIC0gMTtcbiAgICAgICAgdGhpcy5zZWxlY3QodGhpcy5zcHhTdWdnZXN0aW9ucy5hdCh0aGlzLmZvY3VzUG9zaXRpb24pISk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9XG4gICAgICBpZiAoKChldmVudCBhcyBLZXlib2FyZEV2ZW50KS5rZXkgPT09ICdBcnJvd0Rvd24nIHx8IChldmVudCBhcyBLZXlib2FyZEV2ZW50KS5rZXkgPT09ICdBcnJvd1JpZ2h0JykgJiYgdGhpcy5mb2N1c1Bvc2l0aW9uIDwgdGhpcy5zcHhTdWdnZXN0aW9ucy5sZW5ndGggLSAxKSB7XG4gICAgICAgIHRoaXMuZm9jdXNQb3NpdGlvbiA9IHRoaXMuZm9jdXNQb3NpdGlvbiArIDE7XG4gICAgICAgIHRoaXMuc2VsZWN0KHRoaXMuc3B4U3VnZ2VzdGlvbnMuYXQodGhpcy5mb2N1c1Bvc2l0aW9uKSEpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uS2V5RG93biA9IGZyb21FdmVudCh3aW5kb3csICdrZXlkb3duJykuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgaWYgKChldmVudCBhcyBLZXlib2FyZEV2ZW50KS5rZXkgPT09ICdBcnJvd0Rvd24nIHx8XG4gICAgICAgIChldmVudCBhcyBLZXlib2FyZEV2ZW50KS5rZXkgPT09ICdBcnJvd0xlZnQnIHx8XG4gICAgICAgIChldmVudCBhcyBLZXlib2FyZEV2ZW50KS5rZXkgPT09ICdBcnJvd1JpZ2h0JyB8fFxuICAgICAgICAoZXZlbnQgYXMgS2V5Ym9hcmRFdmVudCkua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufSJdfQ==
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3B4LWlucHV0LXJhZGlvLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NvZnRwYWsvY29tcG9uZW50cy9zcHgtaW5wdXRzL3NweC1pbnB1dC1yYWRpby5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFFdEYsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzVFLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOztBQXFCbkUsTUFBTSxPQUFPLHNCQUFzQjtJQW5CbkM7UUFvQkUsc0JBQWlCLEdBQXdCLEVBQUUsQ0FBQztRQUNsQyxrQkFBYSxHQUFHLENBQUMsQ0FBQztRQUluQixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBQ25CLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLG1CQUFjLEdBQXdCLEVBQUUsQ0FBQztRQUV4QyxjQUFTLEdBQW9DLElBQUksWUFBWSxFQUFxQixDQUFDO1FBQ25GLGFBQVEsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztLQXFFbkU7SUFsRUMsVUFBVTtRQUNSLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsQ0FBQztRQUN4QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDeEMsQ0FB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QUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNJLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTcHhWYWx1ZVBhaXIgfSBmcm9tICcuL3NweC12YWx1ZS1pbnRlcmZhY2UnO1xuaW1wb3J0IHsgTmdGb3IgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgU3B4U3VnZ2VzdGlvbkNvbXBvbmVudCB9IGZyb20gJ0Bzb2Z0cGFrL2NvbXBvbmVudHMvc3B4LXN1Z2dlc3Rpb24nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uLCBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHZhbHVlUGFpclRvVmFsdWUgfSBmcm9tICdAc29mdHBhay9jb21wb25lbnRzL3NweC1oZWxwZXJzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc3B4LWlucHV0LXJhZGlvJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIE5nRm9yLFxuICAgIFNweFN1Z2dlc3Rpb25Db21wb25lbnQsXG4gIF0sXG4gIHRlbXBsYXRlOiBgPGRpdiBjbGFzcz1cImdyaWQgZ3JpZC1jb2xzLTIgZ2FwLTJcIiBbY2xhc3MubXQtM109XCJ0aGlzLnNweFNob3dMYWJlbFwiPlxuICAgICAgPHNweC1zdWdnZXN0aW9uXG4gICAgICAgICpuZ0Zvcj1cImxldCB2YWx1ZVBhaXIgb2YgdGhpcy5jYWNoZWRTdWdnZXN0aW9uczsgbGV0IGkgPSBpbmRleFwiXG4gICAgICAgIFtzcHhEaXNhYmxlZF09XCJ0aGlzLnNweFJlYWRvbmx5XCJcbiAgICAgICAgW3NweEZvY3VzZWRdPVwidGhpcy5zcHhGb2N1c2VkICYmIGkgPT09IHRoaXMuZm9jdXNQb3NpdGlvblwiXG4gICAgICAgIFtzcHhTZWxlY3RlZF09XCJ0aGlzLnZhbHVlPy52YWx1ZSA9PT0gdmFsdWVQYWlyPy52YWx1ZVwiXG4gICAgICAgIFtzcHhUYWJiYWJsZV09XCJ0aGlzLmZvY3VzUG9zaXRpb24gPT09IGlcIlxuICAgICAgICAoY2xpY2spPVwidGhpcy5oYW5kbGVTdWdnZXN0aW9uQ2xpY2soJGV2ZW50LCB2YWx1ZVBhaXIpXCI+XG4gICAgICAgIHt7dmFsdWVQYWlyPy5kZXNjcmlwdGlvbn19XG4gICAgICA8L3NweC1zdWdnZXN0aW9uPlxuICAgIDwvZGl2PmAsXG59KVxuZXhwb3J0IGNsYXNzIFNweElucHV0UmFkaW9Db21wb25lbnQge1xuICBjYWNoZWRTdWdnZXN0aW9uczogU3B4VmFsdWVQYWlyPGFueT5bXSA9IFtdO1xuICBwcm90ZWN0ZWQgZm9jdXNQb3NpdGlvbiA9IDA7XG4gIC8vIEBFbGVtZW50KCkgZWwhOiBIVE1MRWxlbWVudDtcbiAgQElucHV0KCkgc3B4TmFtZT86IHN0cmluZztcbiAgQElucHV0KCkgc3B4VmFsaWRhdG9ycyE6IGFueVtdO1xuICBASW5wdXQoKSBzcHhGb2N1c2VkID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweFNob3dMYWJlbCA9IHRydWU7XG4gIEBJbnB1dCgpIHNweFJlYWRvbmx5ID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNweFN1Z2dlc3Rpb25zOiBTcHhWYWx1ZVBhaXI8YW55PltdID0gW107XG4gIEBJbnB1dCgpIHZhbHVlPzogU3B4VmFsdWVQYWlyPGFueT47XG4gIEBPdXRwdXQoKSBzcHhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxTcHhWYWx1ZVBhaXI8YW55Pj4gPSBuZXcgRXZlbnRFbWl0dGVyPFNweFZhbHVlUGFpcjxhbnk+PigpO1xuICBAT3V0cHV0KCkgc3B4Rm9jdXM6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25LZXlVcD86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25LZXlEb3duPzogU3Vic2NyaXB0aW9uO1xuICBzcHhGb2N1c0luKCkge1xuICAgIHRoaXMubGlzdGVuVG9LZXlzKCk7XG4gICAgdGhpcy5kZXRlcm1pbmVGb2N1c1Bvc2l0aW9uKCk7XG4gIH1cblxuICBzcHhGb2N1c091dCgpIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbktleURvd24/LnVuc3Vic2NyaWJlKCk7XG4gICAgdGhpcy5zdWJzY3JpcHRpb25LZXlVcD8udW5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBjb25zb2xlLmxvZygnY2hhbmdlcycsIGNoYW5nZXMpO1xuICAgIGlmIChcbiAgICAgIChjaGFuZ2VzWydzcHhTdWdnZXN0aW9ucyddICYmIEpTT04uc3RyaW5naWZ5KGNoYW5nZXNbJ3NweFN1Z2dlc3Rpb25zJ10/LnByZXZpb3VzVmFsdWUpICE9PSBKU09OLnN0cmluZ2lmeShjaGFuZ2VzWydzcHhTdWdnZXN0aW9ucyddPy5jdXJyZW50VmFsdWUpKSB8fFxuICAgICAgKGNoYW5nZXNbJ3ZhbHVlJ10gJiYgSlNPTi5zdHJpbmdpZnkoY2hhbmdlc1sndmFsdWUnXT8ucHJldmlvdXNWYWx1ZSkgIT09IEpTT04uc3RyaW5naWZ5KGNoYW5nZXNbJ3ZhbHVlJ10/LmN1cnJlbnRWYWx1ZSkpXG4gICAgKSB7XG4gICAgICB0aGlzLmNhY2hlZFN1Z2dlc3Rpb25zID0gY2hhbmdlc1snc3B4U3VnZ2VzdGlvbnMnXT8uY3VycmVudFZhbHVlID8/IFtdO1xuICAgIH1cbiAgfVxuXG4gIGhhbmRsZVN1Z2dlc3Rpb25DbGljayhldmVudDogRXZlbnQsIHZhbHVlUGFpcjogU3B4VmFsdWVQYWlyPGFueT4pIHtcbiAgICBpZiAodGhpcy5zcHhSZWFkb25seSkge1xuICAgICAgY29uc29sZS5sb2coJ3NweElucHV0UmFkaW86IGNsaWNrZWQsIGJ1dCByZWFkb25seScpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLmxvZygnc3B4SW5wdXRSYWRpbzogY2xpY2tlZCcpO1xuICAgICAgdGhpcy5zZWxlY3QodmFsdWVQYWlyKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGRldGVybWluZUZvY3VzUG9zaXRpb24oKSB7XG4gICAgaWYgKHRoaXMudmFsdWUgJiYgdGhpcy5zcHhTdWdnZXN0aW9ucz8ubGVuZ3RoKSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuc3B4U3VnZ2VzdGlvbnMuZmluZEluZGV4KHZhbHVlUGFpciA9PiB2YWx1ZVBhaXJUb1ZhbHVlKHZhbHVlUGFpcikgPT09IHZhbHVlUGFpclRvVmFsdWUodGhpcy52YWx1ZSkpO1xuICAgICAgdGhpcy5mb2N1c1Bvc2l0aW9uID0gaW5kZXggPj0gMCA/IGluZGV4IDogMDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5mb2N1c1Bvc2l0aW9uID0gMDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNlbGVjdCh2YWx1ZVBhaXI6IFNweFZhbHVlUGFpcjxzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuPik6IHZvaWQge1xuICAgIHRoaXMuZm9jdXNQb3NpdGlvbiA9IDA7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlUGFpcjtcbiAgICB0aGlzLnNweENoYW5nZS5lbWl0KHZhbHVlUGFpcik7XG4gIH1cblxuICBwcml2YXRlIGxpc3RlblRvS2V5cygpOiB2b2lkIHtcbiAgICB0aGlzLnN1YnNjcmlwdGlvbktleVVwID0gZnJvbUV2ZW50KHdpbmRvdywgJ2tleXVwJykuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgaWYgKCgoZXZlbnQgYXMgS2V5Ym9hcmRFdmVudCkua2V5ID09PSAnQXJyb3dVcCcgfHwgKGV2ZW50IGFzIEtleWJvYXJkRXZlbnQpLmtleSA9PT0gJ0Fycm93TGVmdCcpICYmIHRoaXMuZm9jdXNQb3NpdGlvbiA+IDApIHtcbiAgICAgICAgdGhpcy5mb2N1c1Bvc2l0aW9uID0gdGhpcy5mb2N1c1Bvc2l0aW9uIC0gMTtcbiAgICAgICAgdGhpcy5zZWxlY3QodGhpcy5zcHhTdWdnZXN0aW9ucy5hdCh0aGlzLmZvY3VzUG9zaXRpb24pISk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICB9XG4gICAgICBpZiAoKChldmVudCBhcyBLZXlib2FyZEV2ZW50KS5rZXkgPT09ICdBcnJvd0Rvd24nIHx8IChldmVudCBhcyBLZXlib2FyZEV2ZW50KS5rZXkgPT09ICdBcnJvd1JpZ2h0JykgJiYgdGhpcy5mb2N1c1Bvc2l0aW9uIDwgdGhpcy5zcHhTdWdnZXN0aW9ucy5sZW5ndGggLSAxKSB7XG4gICAgICAgIHRoaXMuZm9jdXNQb3NpdGlvbiA9IHRoaXMuZm9jdXNQb3NpdGlvbiArIDE7XG4gICAgICAgIHRoaXMuc2VsZWN0KHRoaXMuc3B4U3VnZ2VzdGlvbnMuYXQodGhpcy5mb2N1c1Bvc2l0aW9uKSEpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9uS2V5RG93biA9IGZyb21FdmVudCh3aW5kb3csICdrZXlkb3duJykuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgaWYgKChldmVudCBhcyBLZXlib2FyZEV2ZW50KS5rZXkgPT09ICdBcnJvd0Rvd24nIHx8XG4gICAgICAgIChldmVudCBhcyBLZXlib2FyZEV2ZW50KS5rZXkgPT09ICdBcnJvd0xlZnQnIHx8XG4gICAgICAgIChldmVudCBhcyBLZXlib2FyZEV2ZW50KS5rZXkgPT09ICdBcnJvd1JpZ2h0JyB8fFxuICAgICAgICAoZXZlbnQgYXMgS2V5Ym9hcmRFdmVudCkua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufSJdfQ==
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { EventEmitter, Component, Input, Output } from '@angular/core';
|
|
3
3
|
import { SpxButtonComponent } from '@softpak/components/spx-button';
|
|
4
|
-
import
|
|
4
|
+
import * as i2 from '@angular/common';
|
|
5
|
+
import { CommonModule, NgIf, JsonPipe } from '@angular/common';
|
|
5
6
|
import * as i1 from '@angular/forms';
|
|
6
7
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
7
8
|
import { SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';
|
|
@@ -135,7 +136,8 @@ class SpxWelcomeComponent {
|
|
|
135
136
|
[spxFormGroup]="formGroup"
|
|
136
137
|
[spxSuggestions]="suggestions">
|
|
137
138
|
</spx-form-view>
|
|
138
|
-
|
|
139
|
+
{{ this.suggestions | json }}
|
|
140
|
+
</form>`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.JsonPipe, name: "json" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: SpxFormViewComponent, selector: "spx-form-view", inputs: ["spxFormGroup", "spxForm", "spxSuggestions"], outputs: ["spxBlur", "spxClick", "spxSearch"] }] }); }
|
|
139
141
|
}
|
|
140
142
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: SpxWelcomeComponent, decorators: [{
|
|
141
143
|
type: Component,
|
|
@@ -147,6 +149,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
|
|
|
147
149
|
[spxFormGroup]="formGroup"
|
|
148
150
|
[spxSuggestions]="suggestions">
|
|
149
151
|
</spx-form-view>
|
|
152
|
+
{{ this.suggestions | json }}
|
|
150
153
|
</form>`,
|
|
151
154
|
standalone: true,
|
|
152
155
|
imports: [
|
|
@@ -158,6 +161,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImpor
|
|
|
158
161
|
SpxFormViewComponent,
|
|
159
162
|
SpxInputComponent,
|
|
160
163
|
NgIf,
|
|
164
|
+
JsonPipe,
|
|
161
165
|
]
|
|
162
166
|
}]
|
|
163
167
|
}], ctorParameters: () => [{ type: i1.FormBuilder }], propDecorators: { channels: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"softpak-components-spx-channel-selection.mjs","sources":["../../../../projects/softpak/components/spx-channel-selection/src/spx-channel-indicator.component.ts","../../../../projects/softpak/components/spx-channel-selection/src/spx-welcome.component.ts","../../../../projects/softpak/components/spx-channel-selection/softpak-components-spx-channel-selection.ts"],"sourcesContent":["import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { SpxAppChannelI, SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\n\n@Component({\n selector: 'spx-channel-indicator',\n template: `<div class=\"bg-white p-3 rounded flex gap-3 items-center text-black\">\n <div class=\"grow\">\n <div class=\"text-lg font-bold\">{{ channel?.brand }}</div>\n <div class=\"text-base text-gray-600\">{{ channelType }}</div>\n </div>\n <spx-button (click)=\"onChange()\" [spxType]=\"'button'\">{{ txtChange }}</spx-button>\n </div>`,\n standalone: true,\n imports: [\n SpxButtonComponent,\n ],\n})\nexport class SpxChannelIndicatorComponent {\n @Input() channel?: SpxAppChannelI;\n @Input() channelType?: SpxAppChannelTypeEnum;\n @Input() txtChange!: string;\n @Output() spxChange: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(\n ) { }\n\n onChange() {\n this.spxChange.emit();\n }\n}\n","import { CommonModule, NgIf } from '@angular/common';\nimport { Component, Input, Output, EventEmitter, OnChanges, SimpleChanges, OnInit, OnDestroy } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SpxAppChannelI, SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxFormSectionComponent } from '@softpak/components/spx-form-section';\nimport { SpxFormButtonTypeEnum, SpxFormI, SpxFormViewComponent } from '@softpak/components/spx-form-view';\nimport { SpxSeverityEnum, valuePairToValue } from '@softpak/components/spx-helpers';\nimport { SpxInputComponent, SpxInputTypeEnum, SpxValuePair } from '@softpak/components/spx-inputs';\nimport { spxValidatorRequired } from '@softpak/components/spx-validation';\nimport { Subscription } from 'rxjs';\n\nexport const sectionWelcome = 'welcome';\nexport const ctrlChannel = 'channel';\nexport const ctrlChannelType = 'channelType';\nexport interface SpxWelcomeValueI {\n [ctrlChannel]?: SpxAppChannelI;\n [ctrlChannelType]: SpxAppChannelTypeEnum;\n}\n\n@Component({\n selector: 'spx-welcome',\n template: `<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\n <spx-form-view\n [spxForm]=\"form\"\n [spxFormGroup]=\"formGroup\"\n [spxSuggestions]=\"suggestions\">\n </spx-form-view>\n </form>`,\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SpxButtonComponent,\n SpxFormSectionComponent,\n SpxFormViewComponent,\n SpxInputComponent,\n NgIf,\n ]\n})\nexport class SpxWelcomeComponent implements OnChanges, OnInit, OnDestroy {\n @Input() channels?: SpxAppChannelI[] = [];\n @Input() channelTypes?: SpxAppChannelTypeEnum[] = [];\n @Input() formGroup!: FormGroup;\n @Input() textChannel!: string;\n @Input() textCompany!: string;\n @Input() textSelect!: string;\n @Output() spxSelect: EventEmitter<SpxWelcomeValueI> = new EventEmitter<SpxWelcomeValueI>();\n suggestions: {\n [ctrlChannelType]?: SpxValuePair<string>[];\n [ctrlChannel]?: SpxValuePair<string>[];\n } = {\n [ctrlChannelType]: [],\n [ctrlChannel]: [],\n };\n\n get ctrlChannel(): FormControl { return this.formGroup.get(ctrlChannel) as FormControl; }\n get ctrlChannelType(): FormControl { return this.formGroup.get(ctrlChannelType) as FormControl; }\n private subscriptions: {\n channel?: Subscription\n } = {};\n\n form: SpxFormI = {\n buttons: [\n {\n severity: SpxSeverityEnum.success,\n type: SpxFormButtonTypeEnum.submit,\n label: () => this.textSelect,\n }\n ],\n sections: [\n {\n key: sectionWelcome,\n showTitle: () => false,\n fields: [\n {\n key: ctrlChannel,\n type: () => SpxInputTypeEnum.radio,\n label: () => this.textCompany,\n validators: () => [spxValidatorRequired()],\n },\n {\n key: ctrlChannelType,\n type: () => SpxInputTypeEnum.radio,\n label: () => this.textChannel,\n capitalize: () => true,\n show: () => valuePairToValue(this.ctrlChannel.value),\n validators: () => [spxValidatorRequired()],\n },\n ]\n }\n ]\n };\n\n get filteredCompanies(): SpxValuePair<string>[] { return (this.channels ?? [])?.filter(channel => channel.channelTypes.includes(SpxAppChannelTypeEnum.production)).map(c => ({ description: c.brand, value: c.brand })); }\n\n constructor(readonly formBuilder: FormBuilder) {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.suggestions[ctrlChannel] = (this.channels ?? [])?.filter(channel => channel.channelTypes.includes(SpxAppChannelTypeEnum.production)).map(c => ({ description: c.brand, value: c.brand }));\n }\n\n ngOnDestroy(): void {\n\n }\n\n ngOnInit(): void {\n this.subscriptions.channel = this.ctrlChannel.valueChanges.subscribe(valuePair => {\n const channel = this.channels?.find(c => c.brand === valuePairToValue(valuePair));\n this.suggestions[ctrlChannelType] = !channel ? [] : channel?.channelTypes?.map(ct => ({\n description: ct,\n value: ct\n }));\n this.ctrlChannelType.setValue({\n value: SpxAppChannelTypeEnum.production,\n });\n });\n }\n\n onSubmit(): void {\n this.spxSelect.emit({\n channel: this.channels?.find(c => c.brand === valuePairToValue(this.ctrlChannel.value)),\n channelType: valuePairToValue(this.ctrlChannelType.value),\n });\n }\n\n createForm(): FormGroup {\n return SpxFormViewComponent.createForm(this.formBuilder, this.form.sections);\n }\n}\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-channel-selection.mjs","sources":["../../../../projects/softpak/components/spx-channel-selection/src/spx-channel-indicator.component.ts","../../../../projects/softpak/components/spx-channel-selection/src/spx-welcome.component.ts","../../../../projects/softpak/components/spx-channel-selection/softpak-components-spx-channel-selection.ts"],"sourcesContent":["import { Component, Input, Output, EventEmitter } from '@angular/core';\nimport { SpxAppChannelI, SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\n\n@Component({\n selector: 'spx-channel-indicator',\n template: `<div class=\"bg-white p-3 rounded flex gap-3 items-center text-black\">\n <div class=\"grow\">\n <div class=\"text-lg font-bold\">{{ channel?.brand }}</div>\n <div class=\"text-base text-gray-600\">{{ channelType }}</div>\n </div>\n <spx-button (click)=\"onChange()\" [spxType]=\"'button'\">{{ txtChange }}</spx-button>\n </div>`,\n standalone: true,\n imports: [\n SpxButtonComponent,\n ],\n})\nexport class SpxChannelIndicatorComponent {\n @Input() channel?: SpxAppChannelI;\n @Input() channelType?: SpxAppChannelTypeEnum;\n @Input() txtChange!: string;\n @Output() spxChange: EventEmitter<void> = new EventEmitter<void>();\n\n constructor(\n ) { }\n\n onChange() {\n this.spxChange.emit();\n }\n}\n","import { CommonModule, JsonPipe, NgIf } from '@angular/common';\nimport { Component, Input, Output, EventEmitter, OnChanges, SimpleChanges, OnInit, OnDestroy } from '@angular/core';\nimport { FormBuilder, FormControl, FormGroup, FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { SpxAppChannelI, SpxAppChannelTypeEnum } from '@softpak/components/spx-app-configuration';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxFormSectionComponent } from '@softpak/components/spx-form-section';\nimport { SpxFormButtonTypeEnum, SpxFormI, SpxFormViewComponent } from '@softpak/components/spx-form-view';\nimport { SpxSeverityEnum, valuePairToValue } from '@softpak/components/spx-helpers';\nimport { SpxInputComponent, SpxInputTypeEnum, SpxValuePair } from '@softpak/components/spx-inputs';\nimport { spxValidatorRequired } from '@softpak/components/spx-validation';\nimport { Subscription } from 'rxjs';\n\nexport const sectionWelcome = 'welcome';\nexport const ctrlChannel = 'channel';\nexport const ctrlChannelType = 'channelType';\nexport interface SpxWelcomeValueI {\n [ctrlChannel]?: SpxAppChannelI;\n [ctrlChannelType]: SpxAppChannelTypeEnum;\n}\n\n@Component({\n selector: 'spx-welcome',\n template: `<form [formGroup]=\"formGroup\" class=\"max-w-lg mx-auto flex flex-col gap-3\" (ngSubmit)=\"onSubmit()\">\n <spx-form-view\n [spxForm]=\"form\"\n [spxFormGroup]=\"formGroup\"\n [spxSuggestions]=\"suggestions\">\n </spx-form-view>\n {{ this.suggestions | json }}\n </form>`,\n standalone: true,\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n SpxButtonComponent,\n SpxFormSectionComponent,\n SpxFormViewComponent,\n SpxInputComponent,\n NgIf,\n JsonPipe,\n ]\n})\nexport class SpxWelcomeComponent implements OnChanges, OnInit, OnDestroy {\n @Input() channels?: SpxAppChannelI[] = [];\n @Input() channelTypes?: SpxAppChannelTypeEnum[] = [];\n @Input() formGroup!: FormGroup;\n @Input() textChannel!: string;\n @Input() textCompany!: string;\n @Input() textSelect!: string;\n @Output() spxSelect: EventEmitter<SpxWelcomeValueI> = new EventEmitter<SpxWelcomeValueI>();\n suggestions: {\n [ctrlChannelType]?: SpxValuePair<string>[];\n [ctrlChannel]?: SpxValuePair<string>[];\n } = {\n [ctrlChannelType]: [],\n [ctrlChannel]: [],\n };\n\n get ctrlChannel(): FormControl { return this.formGroup.get(ctrlChannel) as FormControl; }\n get ctrlChannelType(): FormControl { return this.formGroup.get(ctrlChannelType) as FormControl; }\n private subscriptions: {\n channel?: Subscription\n } = {};\n\n form: SpxFormI = {\n buttons: [\n {\n severity: SpxSeverityEnum.success,\n type: SpxFormButtonTypeEnum.submit,\n label: () => this.textSelect,\n }\n ],\n sections: [\n {\n key: sectionWelcome,\n showTitle: () => false,\n fields: [\n {\n key: ctrlChannel,\n type: () => SpxInputTypeEnum.radio,\n label: () => this.textCompany,\n validators: () => [spxValidatorRequired()],\n },\n {\n key: ctrlChannelType,\n type: () => SpxInputTypeEnum.radio,\n label: () => this.textChannel,\n capitalize: () => true,\n show: () => valuePairToValue(this.ctrlChannel.value),\n validators: () => [spxValidatorRequired()],\n },\n ]\n }\n ]\n };\n\n get filteredCompanies(): SpxValuePair<string>[] { return (this.channels ?? [])?.filter(channel => channel.channelTypes.includes(SpxAppChannelTypeEnum.production)).map(c => ({ description: c.brand, value: c.brand })); }\n\n constructor(readonly formBuilder: FormBuilder) {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.suggestions[ctrlChannel] = (this.channels ?? [])?.filter(channel => channel.channelTypes.includes(SpxAppChannelTypeEnum.production)).map(c => ({ description: c.brand, value: c.brand }));\n \n }\n\n ngOnDestroy(): void {\n\n }\n\n ngOnInit(): void {\n this.subscriptions.channel = this.ctrlChannel.valueChanges.subscribe(valuePair => {\n const channel = this.channels?.find(c => c.brand === valuePairToValue(valuePair));\n this.suggestions[ctrlChannelType] = !channel ? [] : channel?.channelTypes?.map(ct => ({\n description: ct,\n value: ct\n }));\n this.ctrlChannelType.setValue({\n value: SpxAppChannelTypeEnum.production,\n });\n });\n }\n\n onSubmit(): void {\n this.spxSelect.emit({\n channel: this.channels?.find(c => c.brand === valuePairToValue(this.ctrlChannel.value)),\n channelType: valuePairToValue(this.ctrlChannelType.value),\n });\n }\n\n createForm(): FormGroup {\n return SpxFormViewComponent.createForm(this.formBuilder, this.form.sections);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1052,6 +1052,7 @@ class SpxInputRadioComponent {
|
|
|
1052
1052
|
this.subscriptionKeyUp?.unsubscribe();
|
|
1053
1053
|
}
|
|
1054
1054
|
ngOnChanges(changes) {
|
|
1055
|
+
console.log('changes', changes);
|
|
1055
1056
|
if ((changes['spxSuggestions'] && JSON.stringify(changes['spxSuggestions']?.previousValue) !== JSON.stringify(changes['spxSuggestions']?.currentValue)) ||
|
|
1056
1057
|
(changes['value'] && JSON.stringify(changes['value']?.previousValue) !== JSON.stringify(changes['value']?.currentValue))) {
|
|
1057
1058
|
this.cachedSuggestions = changes['spxSuggestions']?.currentValue ?? [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"softpak-components-spx-inputs.mjs","sources":["../../../../projects/softpak/components/spx-inputs/spx-input-box.component.ts","../../../../projects/softpak/components/spx-inputs/spx-dropdown.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-text.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-date.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-float.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-number.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-radio.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-type.enum.ts","../../../../projects/softpak/components/spx-inputs/spx-input-time-modal.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-time.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input.component.ts","../../../../projects/softpak/components/spx-inputs/softpak-components-spx-inputs.ts"],"sourcesContent":["import { NgIf } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxValuePair } from './spx-value-interface';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { faEdit } from '@fortawesome/free-solid-svg-icons/faEdit';\nimport { faQuestion } from '@fortawesome/free-solid-svg-icons/faQuestion';\nimport { faSearch } from '@fortawesome/free-solid-svg-icons/faSearch';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons/faTimes';\n\n@Component({\n selector: 'spx-input-box',\n standalone: true,\n imports: [\n NgIf,\n SpxButtonComponent,\n FontAwesomeModule,\n ],\n template: `<div class=\"flex rounded w-full gap-3\"\n [class.rounded-none]=\"this.spxShowValidationMessages\"\n [class.rounded-t]=\"this.spxShowValidationMessages\"\n [class.outline-none]=\"this.spxFocused && !this.spxReadonly\"\n [class.ring-2]=\"this.spxFocused && !this.spxReadonly\"\n [class.ring-offset-2]=\"this.spxFocused && !this.spxReadonly\"\n [class.ring-blue-500]=\"this.spxFocused && !this.spxReadonly\"\n [class.bg-white]=\"!this.spxReadonly\"\n [class.bg-gray-300]=\"this.spxReadonly\"\n [class.cursor-not-allowed]=\"this.spxReadonly\">\n <div class=\"flex-auto p-3\"\n [class.p-0]=\"this.spxCompact\"\n [class.flex]=\"this.spxCompact\"\n [class.items-center]=\"this.spxCompact\">\n <div *ngIf=\"this.spxShowLabel\" class=\"font-bold text-sm mb-1 text-gray-800\"\n [class.mb-0]=\"this.spxCompact\"\n [class.px-3]=\"this.spxCompact\">\n {{this.spxLabel}} <span *ngIf=\"spxRequired\" class=\"text-red-800\">*</span>\n </div>\n <ng-content select=\"[controls]\"></ng-content>\n </div>\n <div class=\"flex flex-none gap-1 p-1\">\n <spx-button\n *ngIf=\"this.spxShowEdit\"\n (spxClick)=\"onEdit()\"\n [spxFullHeight]=\"true\"\n [spxSize]=\"'xl'\"\n [spxType]=\"'button'\">\n <fa-icon [icon]=\"faEdit\" class=\"block text-xl\"></fa-icon>\n </spx-button>\n <spx-button\n *ngIf=\"this.spxShowHelp\"\n (spxClick)=\"onHelp()\"\n [spxFullHeight]=\"true\"\n [spxDisabled]=\"this.spxReadonly\"\n [spxSize]=\"'xl'\"\n [spxTabIndex]=\"-1\"\n [spxType]=\"'button'\">\n <fa-icon [icon]=\"faQuestion\" class=\"block text-xl\"></fa-icon>\n </spx-button>\n <spx-button\n *ngIf=\"this.spxShowSearch\"\n (spxClick)=\"onSearch()\"\n [spxFullHeight]=\"true\"\n [spxDisabled]=\"this.spxReadonly\"\n [spxSize]=\"'xl'\"\n [spxTabIndex]=\"-1\"\n [spxType]=\"'button'\">\n <fa-icon [icon]=\"faSearch\" class=\"block text-xl\"></fa-icon>\n </spx-button>\n <spx-button\n *ngIf=\"this.spxShowClear\"\n (spxClick)=\"onClear()\"\n [spxDisabled]=\"this.spxReadonly || !this.spxValue?.value\"\n [spxFullHeight]=\"true\"\n [spxSize]=\"'xl'\"\n [spxTabIndex]=\"-1\"\n [spxType]=\"'button'\">\n <fa-icon [icon]=\"faTimes\" class=\"block text-xl\"></fa-icon>\n </spx-button>\n </div>\n </div>\n <div *ngIf=\"this.spxShowValidationMessages\" class=\"bg-red-600 rounded-b text-white p-3\">\n <ng-content select=\"[validation-messages]\"></ng-content>\n </div>`,\n})\nexport class SpxInputBoxComponent {\n faEdit = faEdit;\n faSearch = faSearch;\n faQuestion = faQuestion;\n faTimes = faTimes;\n @Input() spxCompact?: boolean;\n @Input() spxFocused = false;\n @Input() spxLabel?: string;\n @Input() spxReadonly = false;\n @Input() spxRequired?: boolean;\n @Input() spxShowClear = true;\n @Input() spxShowEdit?: boolean;\n @Input() spxShowHelp?: boolean;\n @Input() spxShowLabel = true;\n @Input() spxShowSearch?: boolean;\n @Input() spxShowValidationMessages?: boolean | null | undefined;\n @Input() spxValue?: SpxValuePair<any>;\n @Output() spxClear: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxSearch: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxFocusOut: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxEdit: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxHelp: EventEmitter<void> = new EventEmitter<void>();\n @HostListener('focusin', [\"$event\"]) handleFocusIn(ev: Event) {\n this.emitFocusIn();\n }\n @HostListener('focusout', [\"$event\"]) handleFocusOut(ev: FocusEvent) {\n const thisEl = this.elRef.nativeElement as HTMLElement;\n const relatedElement = ev.relatedTarget as HTMLElement;\n if (!relatedElement || !thisEl.contains(relatedElement)) {\n this.emitFocusOut();\n }\n }\n @HostListener('document:click', [\"$event\"]) handleWindowClick(ev: Event) {\n if (ev.composedPath().includes(this.elRef.nativeElement)) {\n this.emitFocusIn();\n } else {\n this.emitFocusOut();\n }\n }\n\n onClear() {\n this.spxClear.emit();\n }\n\n onSearch() {\n this.spxSearch.emit();\n }\n\n onEdit() {\n this.spxEdit.emit();\n }\n\n onHelp() {\n this.spxHelp.emit();\n }\n\n constructor(private elRef: ElementRef) {\n }\n\n private emitFocusIn(): void {\n if (!this.spxFocused) {\n this.spxFocus.emit();\n }\n }\n\n private emitFocusOut(): void {\n if (this.spxFocused) {\n this.spxFocusOut.emit();\n }\n }\n}\n","import { NgFor, NgIf } from '@angular/common';\nimport { Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { Subscription, fromEvent } from 'rxjs';\n\n@Component({\n selector: 'spx-dropdown',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n SpxButtonComponent,\n ],\n template: `<div class=\"relative text-black\">\n <div\n class=\"absolute bg-gray-100 left-0 right-0 z-20\">\n <button\n *ngFor=\"let valuePair of this.spxSuggestions; let i = index\"\n class=\"text-black block w-full p-2 border border-gray-200 rounded-lg shadow hover:bg-gray-200 flex items-center text-left\"\n [class.bg-gray-100]=\"i === this.focusPosition\"\n [class.bg-white]=\"i !== this.focusPosition\"\n (click)=\"this.handleSuggestionClick(valuePair)\"\n [attr.tabindex]=\"-1\"\n [attr.type]=\"'button'\">\n <div class=\"flex-1 p-1 font-bold text-lg\">{{valuePair?.description}}</div>\n <spx-button (spxClick)=\"this.handleSuggestionClick(valuePair)\" [spxType]=\"'button'\" [spxTabIndex]=\"-1\">Select</spx-button>\n </button>\n </div>\n</div>`,\n})\nexport class SpxDropdownComponent implements OnChanges, OnInit, OnDestroy {\n protected focusPosition = 0;\n @Input() spxSuggestions: SpxValuePair<boolean | number | string>[] = [];\n @Output() spxSelect: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n subscriptionKeyUp?: Subscription;\n\n ngOnInit(): void {\n this.listenToKeyUp();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.focusPosition = 0;\n }\n\n ngOnDestroy(): void {\n this.subscriptionKeyUp?.unsubscribe();\n }\n\n handleSuggestionClick(valuePair: SpxValuePair<string | number | boolean>) {\n this.select(valuePair);\n }\n\n private listenToKeyUp(): void {\n this.subscriptionKeyUp = fromEvent(window, 'keyup').subscribe((event) => {\n if ((event as KeyboardEvent).key === 'ArrowUp' && this.focusPosition > 0) {\n this.focusPosition = this.focusPosition - 1;\n event.preventDefault();\n }\n if ((event as KeyboardEvent).key === 'ArrowDown' && this.focusPosition < this.spxSuggestions.length - 1) {\n this.focusPosition = this.focusPosition + 1;\n event.preventDefault();\n }\n if ((event as KeyboardEvent).key === 'Enter' && this.spxSuggestions.length > 0) {\n this.select(this.spxSuggestions.at(this.focusPosition)!);\n event.preventDefault();\n }\n });\n }\n\n private select(valuePair: SpxValuePair<string | number | boolean>): void {\n this.focusPosition = 0;\n this.spxSelect.emit(valuePair);\n }\n}\n","import { NgFor, NgIf } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxDropdownComponent } from './spx-dropdown.component';\n\n@Component({\n selector: 'spx-input-text',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n SpxButtonComponent,\n SpxDropdownComponent,\n ],\n template: `<div class=\"relative text-black\">\n <input\n #input\n class=\"font-bold text-lg w-full outline-none\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n [class.bg-white]=\"!this.spxReadonly\"\n [class.bg-gray-300]=\"this.spxReadonly\"\n [class.cursor-not-allowed]=\"this.spxReadonly\"\n [class.uppercase]=\"this.spxCapitalize\"\n [attr.autofocus]=\"this.spxAutofocus ? this.spxAutofocus : undefined\"\n [attr.disabled]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n [attr.inputMode]=\"this.spxInputMode ? this.spxInputMode : undefined\"\n [attr.pattern]=\"this.spxPattern ? this.spxPattern : undefined\"\n [attr.name]=\"this.spxName\"\n [attr.type]=\"this.spxType\"\n [value]=\"this.value?.description ? this.value?.description : this.value?.value\"\n (blur)=\"this.handleBlur()\"\n (keyUp)=\"this.handleKeyUp()\"\n (focus)=\"this.handleFocus()\"\n (input)=\"this.handleDescriptionInput($event)\"\n />\n <span *ngIf=\"this.value?.description && this.value?.value && this.value?.description?.valueOf() !== this.value?.value?.valueOf()\">{{this.value?.value}}</span>\n <spx-dropdown\n *ngIf=\"this.spxFocused && (this.spxType === 'overlay' || this.spxType === 'overlaynumber')\"\n [spxSuggestions]=\"this.spxSuggestions\" (spxSelect)=\"this.handleSuggestionClick($event)\">\n </spx-dropdown>\n</div>`,\n})\nexport class SpxInputTextComponent {\n // private elInput?: HTMLElement;\n // @Element() el!: HTMLElement;\n @Input() spxName?: string;\n @Input() spxAutofocus = false;\n @Input() spxInputMode?: string;\n @Input() spxPattern?: string;\n @Input() spxSuggestions: SpxValuePair<boolean | number | string>[] = [];\n @Input() spxReadonly = false;\n @Input() spxValidators?: any[];\n @Input() spxCapitalize = false;\n @Input() spxFocused = true;\n @Input() spxType: 'autocomplete' | 'overlay' | 'overlaynumber' | 'text' | 'password' = 'text';\n @Input() value?: SpxValuePair<any>;\n @Output() spxBlurFromChild: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @Input() spxWasInternalUpdate = false;\n @ViewChild('input', { static: true }) inputRef?: ElementRef<HTMLInputElement>;\n \n \n spxSetFocus() {\n this.inputRef?.nativeElement?.focus();\n }\n\n componentDidLoad() {\n if (this.spxAutofocus) {\n this.spxFocus.emit();\n this.spxSetFocus();\n }\n }\n\n handleBlur() {\n this.spxBlurFromChild.emit();\n }\n\n handleFocus() {\n this.spxFocus.emit();\n }\n\n handleDescriptionInput(event: any) {\n this.value = {\n description: event.target ? event.target.value : null,\n value: event.target ? event.target.value : null,\n };\n this.spxChange.emit(this.value);\n }\n\n handleSuggestionClick(value: any) {\n if (!this.spxReadonly) {\n this.value = value;\n this.spxChange.emit(this.value);\n this.spxFocused = false;\n }\n }\n\n handleKeyUp() {\n this.spxFocused = true;\n }\n}\n","import { NgFor, NgIf } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxSuggestionComponent } from '@softpak/components/spx-suggestion';\nimport { DateTime } from 'luxon';\nimport { SpxValuePair } from './spx-value-interface';\n\n@Component({\n selector: 'spx-input-date',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n SpxButtonComponent,\n SpxSuggestionComponent\n ],\n template: `<div class='spx-input-date__controls'>\n <input\n class='spx-input-date__input'\n [attr.value]=\"this.spxInternalValue.years\"\n (focus)=\"this.handleFocus('years')\"\n (input)=\"this.handleYearInput($event)\"\n (keyDown)=\"this.handleKeyDown($event)\"\n [attr.type]=\"'number'\"\n [attr.min]=\"1900\"\n [attr.max]=\"2100\"\n [attr.step]=\"1\"\n />\n <div class='spx-input-date__control-label'>Year</div>\n <input\n *ngIf=\"this.spxSelectMonth\"\n class='spx-input-date__input'\n [attr.value]=\"this.spxInternalValue.months\"\n (focus)=\"this.handleFocus('months')\"\n (input)=\"this.handleMonthInput($event)\"\n (keyDown)=\"this.handleKeyDown($event)\"\n [attr.type]=\"'number'\"\n [attr.min]=\"1\"\n [attr.max]=\"12\"\n [attr.step]=\"1\" />\n <div class='spx-input-date__control-label'>Month</div>\n <input\n *ngIf=\"this.spxSelectDay\"\n class='spx-input-date__input'\n [attr.value]=\"this.spxInternalValue.days\"\n (focus)=\"this.handleFocus('days')\"\n (input)=\"this.handleDayInput($event)\"\n (keyDown)=\"this.handleKeyDown($event)\"\n [attr.type]=\"'number'\"\n [attr.min]=\"1\"\n [attr.max]=\"31\"\n [attr.step]=\"1\" />\n <div class='spx-input-date__control-label'>Days</div>\n</div>\n<div class='spx-input-date__suggestions'>\n <spx-suggestion \n *ngFor=\"let valuePair of spxSuggestions[spxSelectStep]\" \n (click)=\"this.handleSuggestionClick(valuePair.value)\">{{valuePair?.description}}</spx-suggestion>\n</div>`,\nstyles: `\n:host {\n display: block;\n}\n\n.spx-input-date__input {\n background-color: transparent;\n border: 1px solid #979797;\n border-radius: 4px;\n color: var(--spx-input--color, rgba(0, 0, 0, .9));\n box-sizing: border-box;\n font-size: 16px;\n margin-right: 10px;\n padding: 6px;\n text-align: center;\n width: 100%;\n}\n\n.spx-input-date__input:active {\n transform: scale(0.95);\n}\n\n.spx-input-date__input:focus {\n border: var(--spx-input-box--focus--border, 1px solid rgb(115, 168, 210));\n border-radius: 4px;\n outline: none;\n}\n\n.spx-input-date__control-label {\n align-items: center;\n color: rgba(0, 0, 0, .7);\n display: inline-grid;\n font-size: 13px;\n letter-spacing: 1px;\n}\n\n.spx-input-date__input::-webkit-outer-spin-button,\n.spx-input-date__input::-webkit-inner-spin-button {\n /* display: none; <- Crashes Chrome on hover */\n -webkit-appearance: none;\n margin: 0; /* <-- Apparently some margin are still there even though it's hidden */\n}\n\n.spx-input-date__input[type=number] {\n -moz-appearance:textfield; /* Firefox */\n}\n\n.spx-input-date__suggestions,\n.spx-input-date__controls {\n display: grid;\n grid-gap: 8px;\n grid-template-columns: repeat(4, 1fr);\n margin-top: 8px;\n}\n`,\n})\nexport class SpxInputDateComponent {\n private elYear?: HTMLElement;\n private elMonth?: HTMLElement;\n private elDay?: HTMLElement;\n // @Element() el!: HTMLElement;\n @Input() spxMax?: string;\n @Input() spxMin?: string;\n @Input() spxName?: string;\n @Input() spxReadonly = false;\n @Input() spxValidators?: any[];\n @Input() spxFocused = true;\n @Input() spxSelectMonth = true;\n @Input() spxSelectDay = true;\n @Input() value?: SpxValuePair<string>;\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @Input() spxLastKeyPressed!: null;\n @Input() spxSelectStep: 'years' | 'days' | 'months' = 'years';\n @Input() spxInternalValue: {\n years?: number;\n months?: number;\n days?: number;\n } = {};\n @Input() spxSuggestions: {\n years: SpxValuePair<number>[];\n months: SpxValuePair<number>[];\n days: SpxValuePair<number>[];\n } = {\n years: [],\n months: [{\n description: 'Jan',\n value: 1,\n }, {\n description: 'Feb',\n value: 2,\n }, {\n description: 'Mar',\n value: 3,\n }, {\n description: 'Apr',\n value: 4,\n }, {\n description: 'May',\n value: 5,\n }, {\n description: 'Jun',\n value: 6,\n }, {\n description: 'Jul',\n value: 7,\n }, {\n description: 'Aug',\n value: 8,\n }, {\n description: 'Sep',\n value: 9,\n }, {\n description: 'Oct',\n value: 10,\n }, {\n description: 'Nov',\n value: 11,\n }, {\n description: 'Dec',\n value: 12,\n }],\n days: [],\n };\n @Input() spxWasInternalUpdate = false;\n async spxSetFocus() {\n // this.elYear.focus();\n }\n // @Watch('spxValidators') watchSpxValidators(newValue) {\n // console.log('validators', newValue);\n // }\n // @Watch('value') watchValue(newValue) {\n // if (this.spxWasInternalUpdate) {\n // this.spxWasInternalUpdate = false;\n // } else {\n // const parsedValue = DateTime.fromISO(newValue?.value);\n // this.spxInternalValue.years = parsedValue.year;\n // this.spxInternalValue.months = parsedValue.month;\n // this.spxInternalValue.days = parsedValue.day;\n // this.spxSelectStep = 'years';\n // }\n // }\n\n constructor() {\n this.suggestYears();\n }\n\n componentWillLoad() {\n const parsedValue = this.value ? DateTime.fromISO(this.value!.value) : DateTime.now();\n this.spxInternalValue.years = parsedValue.year;\n this.spxInternalValue.months = parsedValue.month;\n this.spxInternalValue.days = parsedValue.day;\n }\n\n handleDayInput(event: any) {\n this.spxInternalValue.days = event.target ? event.target.value : null;\n this.updateValue();\n }\n\n handleMonthInput(event: any) {\n this.spxInternalValue.months = event.target ? event.target.value : null;\n this.afterMonthChange();\n }\n\n afterMonthChange() {\n if (this.spxInternalValue.months!.toString().length === 2 && this.spxSelectDay && this.spxLastKeyPressed !== 38 && this.spxLastKeyPressed !== 40) {\n // this.elDay!.focus();\n }\n this.updateValue();\n }\n\n handleYearInput(event: any) {\n this.spxInternalValue.years = event.target ? event.target.value : null;\n this.afterYearChange();\n }\n\n afterYearChange() {\n if (this.spxInternalValue.years!.toString().length === 4 && this.spxSelectMonth && this.spxLastKeyPressed !== 38 && this.spxLastKeyPressed !== 40) {\n // this.elMonth!.focus();\n }\n this.updateValue();\n }\n\n handleInput(event: any) {\n this.setValue(event.target ? event.target.value : null);\n }\n\n handleFocus(step: 'years' | 'months' | 'days') {\n this.spxSelectStep = step;\n this.spxFocus.emit();\n }\n\n handleKeyDown(event: any) {\n this.spxLastKeyPressed = event.which;\n }\n\n handleSuggestionClick(value: number) {\n this.spxLastKeyPressed = null;\n this.spxInternalValue[this.spxSelectStep] = value;\n this.updateValue();\n this.doneWithField();\n }\n\n updateValue() {\n const concatenatedValue = `${this.spxInternalValue.years ? this.spxInternalValue.years : ``}${this.spxInternalValue.months ? `-${this.spxInternalValue.months < 10 ? `0${this.spxInternalValue.months}` : this.spxInternalValue.months}` : ``}${this.spxInternalValue.days ? `-${this.spxInternalValue.days < 10 ? `0${this.spxInternalValue.days}` : this.spxInternalValue.days}` : ``}`\n const parsedValue = DateTime.fromISO(concatenatedValue);\n this.spxWasInternalUpdate = true;\n this.value = {\n description: parsedValue.toISO(),\n value: parsedValue.toISO()!,\n };\n this.spxChange.emit(this.value);\n }\n\n doneWithField() {\n if (this.spxSelectStep === 'days') {\n this.spxSelectStep = 'years';\n } else if (this.spxSelectStep === 'months') {\n this.spxSelectStep = this.spxSelectDay ? 'days' : 'years';\n this.afterMonthChange();\n } else if (this.spxSelectStep === 'years') {\n this.afterYearChange();\n this.spxSelectStep = this.spxSelectMonth ? 'months' : 'years';\n }\n }\n\n setValue(value: any) {\n this.spxInternalValue = value;\n const parsed = DateTime.fromISO(value);\n this.value = {\n description: parsed.toISO(),\n value: parsed.toISO()!,\n };\n this.spxChange.emit(this.value);\n this.spxWasInternalUpdate = true;\n }\n\n private suggestYears(): void {\n this.spxSuggestions.years = [];\n for (let year = DateTime.fromISO(this.spxMin!).year; year <= DateTime.fromISO(this.spxMax!).year; year++) {\n this.spxSuggestions.years.push({\n description: `'${year.toString().substring(2,4)}`,\n value: year,\n });\n }\n }\n}\n","import { NgFor, NgIf } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\n\n@Component({\n selector: 'spx-input-float',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n SpxButtonComponent,\n ],\n template: `<div class=\"flex items-end\">\n <input\n #firstInputRef\n class=\"spx-input-float__input\"\n [attr.autofocus]=\"this.spxAutofocus ? this.spxAutofocus : undefined\"\n [attr.disabled]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n [attr.pattern]=\"'[0-9]*'\"\n [attr.step]=\"1\"\n [attr.type]=\"'text'\"\n [attr.value]=\"this.internalValue?.first ? this.internalValue?.first : undefined\"\n [class.spx-input-float--readonly]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n (focus)=\"this.handleFocus()\"\n (input)=\"this.handleInput($event, 1)\" />\n <span class=\"text-black font-bold text-2xl mx-4\">,</span>\n <input\n [attr.autofocus]=\"this.spxAutofocus ? this.spxAutofocus : undefined\"\n class=\"spx-input-float__input\"\n [class.spx-input-float--readonly]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n [attr.disabled]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n [attr.value]=\"this.internalValue?.second ? this.internalValue?.second : undefined\"\n (focus)=\"this.handleFocus()\"\n (input)=\"this.handleInput($event, 2)\"\n [attr.step]=\"1\"\n [attr.type]=\"'text'\"\n [attr.pattern]=\"'[0-9]*'\" />\n</div>`,\n styles: `\n :host {\n display: block;\n}\n\n.spx-input-float__input {\n border: 1px solid #333333;\n border-radius: 8px;\n background-color: transparent;\n box-sizing: border-box;\n color: var(--spx-input--color, rgba(0, 0, 0, .9));\n flex: 1;\n font-size: 20px;\n font-weight: bold;\n padding: 8px;\n width: 100%;\n}\n\n.spx-input-float__input:focus {\n outline: none;\n}\n `,\n})\nexport class SpxInputFloatComponent {\n // private elFirstInput?: HTMLElement;\n // private elSecondInput?: HTMLElement;\n protected internalValue: {\n first: number | null;\n second: number | null;\n } = {\n first: null,\n second: null,\n };\n // @Element() el!: HTMLStencilElement;\n @Input() spxName!: string;\n @Input() spxAutofocus = false;\n @Input() spxReadonly = false;\n @Input() spxValidators!: any[];\n @Input() spxFocused = true;\n @Input() spxStep?: number;\n @Input() value!: SpxValuePair<any>;\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @Input() spxWasInternalUpdate = false;\n @Input() tick = {};\n @ViewChild('firstInputRef', { static: true }) firstInputRef?: ElementRef<HTMLInputElement>;\n \n spxSetFocus() {\n this.firstInputRef?.nativeElement?.focus();\n }\n\n // @Watch('value') onValueChanged(newValue: SpxValuePair<any>, _oldValue: SpxValuePair<any>) {\n // this.handleSetValue(newValue);\n // }\n\n componentDidLoad() {\n if (this.spxAutofocus) {\n this.spxFocus.emit();\n this.spxSetFocus();\n }\n this.handleSetValue(this.value);\n }\n\n handleFocus() {\n this.spxFocus.emit();\n }\n\n handleSetValue(newValue: SpxValuePair<any>) {\n if (this.isNumeric(newValue?.value)) {\n this.internalValue = {\n first: Math.floor(parseFloat(newValue?.value)),\n second: newValue?.value?.split ? newValue?.value.split('.')[1] : 0,\n };\n } else {\n this.internalValue = {\n first: null,\n second: null,\n };\n }\n this.tick = {};\n }\n\n handleInput(event: any, position: 1 | 2) {\n this.internalValue = {\n first: position === 1 ? (event.target ? event.target.value : null) : this.internalValue.first,\n second: position === 2 ? (event.target ? event.target.value : null) : this.internalValue.second,\n };\n let result;\n if (this.internalValue.first === null && this.internalValue.second === null) {\n result = null;\n } else {\n result = `${this.internalValue.first ? this.internalValue.first : 0}.${this.internalValue.second ? this.internalValue.second : 0}`;\n }\n this.value = {\n description: result,\n value: result,\n };\n this.spxChange.emit(this.value);\n }\n\n isNumeric(value: string) {\n return /^[+-]?\\d+(\\.\\d+)?$/.test(value);\n }\n}\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\n\n@Component({\n selector: 'spx-input-number',\n standalone: true,\n imports: [],\n template: `<div class=\"spx-input-number__controls\">\n <input\n #input\n class=\"spx-input-number__input\"\n [attr.autofocus]=\"this.spxAutofocus ? this.spxAutofocus : undefined\"\n [class.spx-input-number--readonly]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n [attr.disabled]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n [attr.inputMode]=\"this.spxInputMode ? this.spxInputMode : undefined\"\n [attr.value]=\"this.value?.value ? this.value?.value : undefined\"\n [attr.step]=\"this.spxStep ? this.spxStep : undefined\"\n [attr.type]=\"'number'\"\n (focus)=\"this.handleFocus()\"\n (input)=\"this.handleInput($event)\" />\n</div>`,\n styles: `\n:host {\n display: block;\n}\n\n.spx-input-number__input {\n border: 0;\n background-color: transparent;\n box-sizing: border-box;\n color: var(--spx-input--color, rgba(0, 0, 0, .9));\n font-size: 20px;\n font-weight: bold;\n margin-right: 10px;\n padding: 0;\n width: 100%;\n}\n\n.spx-input-number__input:focus {\n outline: none;\n}\n\n.spx-input-number__value {\n color: rgba(0, 0, 0, .6);\n font-size: 14px;\n}\n `,\n})\nexport class SpxInputNumberComponent {\n // private elInput?: HTMLElement;\n // @Element() el!: HTMLElement;\n @Input() spxName!: string;\n @Input() spxAutofocus = false;\n @Input() spxInputMode?: string;\n @Input() spxReadonly = false;\n @Input() spxValidators!: any[];\n @Input() spxFocused = true;\n @Input() spxStep?: number;\n @Input() value?: SpxValuePair<any>;\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @ViewChild('input', { static: true }) inputRef?: ElementRef<HTMLInputElement>;\n spxWasInternalUpdate = false;\n \n spxSetFocus() {\n this.inputRef?.nativeElement?.focus();\n }\n\n componentDidLoad() {\n if (this.spxAutofocus) {\n this.spxFocus.emit();\n this.spxSetFocus();\n }\n }\n\n handleFocus() {\n this.spxFocus.emit();\n }\n\n handleInput(event: any) {\n this.value = {\n description: event.target ? event.target.value : null,\n value: event.target ? event.target.value : null,\n };\n this.spxChange.emit(this.value);\n }\n}","import { Component, EventEmitter, Input, Output, SimpleChanges } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\nimport { NgFor } from '@angular/common';\nimport { SpxSuggestionComponent } from '@softpak/components/spx-suggestion';\nimport { Subscription, fromEvent } from 'rxjs';\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\n\n@Component({\n selector: 'spx-input-radio',\n standalone: true,\n imports: [\n NgFor,\n SpxSuggestionComponent,\n ],\n template: `<div class=\"grid grid-cols-2 gap-2\" [class.mt-3]=\"this.spxShowLabel\">\n <spx-suggestion\n *ngFor=\"let valuePair of this.cachedSuggestions; let i = index\"\n [spxDisabled]=\"this.spxReadonly\"\n [spxFocused]=\"this.spxFocused && i === this.focusPosition\"\n [spxSelected]=\"this.value?.value === valuePair?.value\"\n [spxTabbable]=\"this.focusPosition === i\"\n (click)=\"this.handleSuggestionClick($event, valuePair)\">\n {{valuePair?.description}}\n </spx-suggestion>\n </div>`,\n})\nexport class SpxInputRadioComponent {\n cachedSuggestions: SpxValuePair<any>[] = [];\n protected focusPosition = 0;\n // @Element() el!: HTMLElement;\n @Input() spxName?: string;\n @Input() spxValidators!: any[];\n @Input() spxFocused = false;\n @Input() spxShowLabel = true;\n @Input() spxReadonly = false;\n @Input() spxSuggestions: SpxValuePair<any>[] = [];\n @Input() value?: SpxValuePair<any>;\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n private subscriptionKeyUp?: Subscription;\n private subscriptionKeyDown?: Subscription;\n spxFocusIn() {\n this.listenToKeys();\n this.determineFocusPosition();\n }\n\n spxFocusOut() {\n this.subscriptionKeyDown?.unsubscribe();\n this.subscriptionKeyUp?.unsubscribe();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n\n if (\n (changes['spxSuggestions'] && JSON.stringify(changes['spxSuggestions']?.previousValue) !== JSON.stringify(changes['spxSuggestions']?.currentValue)) ||\n (changes['value'] && JSON.stringify(changes['value']?.previousValue) !== JSON.stringify(changes['value']?.currentValue))\n ) {\n this.cachedSuggestions = changes['spxSuggestions']?.currentValue ?? [];\n }\n }\n\n handleSuggestionClick(event: Event, valuePair: SpxValuePair<any>) {\n if (this.spxReadonly) {\n console.log('spxInputRadio: clicked, but readonly');\n } else {\n console.log('spxInputRadio: clicked');\n this.select(valuePair);\n }\n }\n\n private determineFocusPosition() {\n if (this.value && this.spxSuggestions?.length) {\n const index = this.spxSuggestions.findIndex(valuePair => valuePairToValue(valuePair) === valuePairToValue(this.value));\n this.focusPosition = index >= 0 ? index : 0;\n } else {\n this.focusPosition = 0;\n }\n }\n\n private select(valuePair: SpxValuePair<string | number | boolean>): void {\n this.focusPosition = 0;\n this.value = valuePair;\n this.spxChange.emit(valuePair);\n }\n\n private listenToKeys(): void {\n this.subscriptionKeyUp = fromEvent(window, 'keyup').subscribe((event) => {\n if (((event as KeyboardEvent).key === 'ArrowUp' || (event as KeyboardEvent).key === 'ArrowLeft') && this.focusPosition > 0) {\n this.focusPosition = this.focusPosition - 1;\n this.select(this.spxSuggestions.at(this.focusPosition)!);\n event.preventDefault();\n }\n if (((event as KeyboardEvent).key === 'ArrowDown' || (event as KeyboardEvent).key === 'ArrowRight') && this.focusPosition < this.spxSuggestions.length - 1) {\n this.focusPosition = this.focusPosition + 1;\n this.select(this.spxSuggestions.at(this.focusPosition)!);\n event.preventDefault();\n }\n });\n this.subscriptionKeyDown = fromEvent(window, 'keydown').subscribe((event) => {\n if ((event as KeyboardEvent).key === 'ArrowDown' ||\n (event as KeyboardEvent).key === 'ArrowLeft' ||\n (event as KeyboardEvent).key === 'ArrowRight' ||\n (event as KeyboardEvent).key === 'ArrowUp') {\n event.preventDefault();\n }\n });\n }\n}","export enum SpxInputTypeEnum {\n autocomplete = 'autocomplete',\n button = 'button',\n date = 'date',\n float = 'float',\n hidden = 'hidden',\n overlay = 'overlay',\n overlayNumber = 'overlaynumber',\n radio = 'radio',\n number = 'number',\n password = 'password',\n text = 'text',\n textNumericKeyboard = 'textNumericKeyboard',\n time = 'time',\n}","import { NgFor, NgIf } from '@angular/common';\nimport { Component, EventEmitter, Input, Output, inject } from '@angular/core';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxDropdownComponent } from './spx-dropdown.component';\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\nimport { faXmark } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { IonicModule, ModalController } from '@ionic/angular';\n\n@Component({\n selector: 'spx-input-time-modal',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n IonicModule,\n SpxButtonComponent,\n SpxDropdownComponent,\n FontAwesomeModule,\n ],\n template: `<ion-header>\n <ion-toolbar>\n <ion-title>Select {{view}}</ion-title>\n <ion-buttons slot=\"end\">\n <spx-button [spxSeverity]=\"typeError\" (spxClick)=\"closeDialog()\">\n <fa-icon [icon]=\"faXmark\"></fa-icon>\n </spx-button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n<ion-content class=\"ion-padding bg-white\">\n <!-- Uren -->\n <div class=\"custom-bg grid grid-cols-1 gap-3\">\n <div *ngIf=\"view === 'hours'\" class=\"flex-wrap gap-2\">\n <div class=\"grid grid-cols-3 md:grid-cols-4 gap-3\">\n <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)\">\n {{ hour }}\n </div>\n </div>\n </div>\n <!-- Minuten -->\n <div *ngIf=\"view === 'minutes'\" class=\"grid grid-cols-1 gap-3\">\n <div class=\"grid grid-cols-4 md:grid-cols-5 gap-3\">\n <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)\">\n {{ minute }}\n </div>\n </div>\n </div>\n </div>\n</ion-content>\n `,\n})\nexport class SpxInputTimeModalComponent {\n @Input() view!: 'hours' | 'minutes';\n @Input() value!: number;\n @Output() change: EventEmitter<number> = new EventEmitter<number>();\n\n faXmark = faXmark\n hourOptions = Array.from({ length: 24 }, (_, i) => i); // 0 to 23\n minuteOptions = Array.from({ length: 12 }, (_, i) => i * 5); // Minutes in incrementen van 5\n typeError = SpxSeverityEnum.error;\n\n constructor(private modalController: ModalController){\n this.hourOptions.push(this.hourOptions.shift()!);\n this.minuteOptions.push(this.minuteOptions.shift()!);\n }\n\n closeDialog() {\n this.modalController.dismiss();\n }\n\n onChange(value: number) {\n this.change.emit(value);\n console.log(value);\n this.modalController.dismiss(value);\n }\n}\n","import { NgFor, NgIf } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, Input, Output, ViewChild, inject } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxDropdownComponent } from './spx-dropdown.component';\nimport { DateTime } from 'luxon';\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\nimport { SpxInputTimeModalComponent } from './spx-input-time-modal.component';\nimport { IonicModule, ModalController } from '@ionic/angular';\n\n@Component({\n selector: 'spx-input-time',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n SpxButtonComponent,\n SpxDropdownComponent,\n IonicModule,\n ],\n styles: `\n .custom-square.selected {\n background-color: #007bff;\n color: white;\n border-color: #007bff;\n }\n .custom-bg {\n --background: #FFFFFF;\n }\n `,\n template: `<div class=\"relative text-black\">\n <div class=\"flex items-center justify-around gap-3\">\n <div class=\"grow rounded bg-gray-100 p-3 text-xl text-center font-bold\" (click)=\"openDialog('hours')\">{{ formattedHour ?? '--' }}</div>\n <div class=\"text-gray text-xl\">:</div>\n <div class=\"grow rounded bg-gray-100 p-3 text-xl text-center font-bold\" (click)=\"openDialog('minutes')\">{{ formattedMinute ?? '--' }}</div>\n </div>\n</div>`,\n})\nexport class SpxInputTimeComponent {\n // private elInput?: HTMLElement;\n // @Element() el!: HTMLElement;\n @Input() spxName?: string;\n @Input() spxAutofocus = false;\n @Input() spxInputMode?: string;\n @Input() spxPattern?: string;\n @Input() spxSuggestions: SpxValuePair<boolean | number | string>[] = [];\n @Input() spxReadonly = false;\n @Input() spxValidators?: any[];\n @Input() spxCapitalize = false;\n @Input() spxFocused = true;\n @Input() spxType!: any;\n @Input() value?: SpxValuePair<any>;\n @Output() spxBlurFromChild: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @Input() spxWasInternalUpdate = false;\n @ViewChild('input', { static: true }) inputRef?: ElementRef<HTMLInputElement>;\n\n severitySuccess = SpxSeverityEnum.success;\n hourOptions = Array.from({ length: 24 }, (_, i) => i).unshift(); // 0 to 23\n minuteOptions = Array.from({ length: 12 }, (_, i) => i * 5).unshift(); // Minutes in incrementen van 5\n selectedHour: number | null = null;\n selectedMinute: number | null = null;\n\n get formattedHour() {\n return this.selectedHour !== null && this.selectedHour < 10 ? `0${this.selectedHour}` : this.selectedHour;\n }\n\n get formattedMinute() {\n return this.selectedMinute !== null && this.selectedMinute < 10 ? `0${this.selectedMinute}` : this.selectedMinute;\n }\n\n\n get hour() { return this.value?.value ? DateTime.fromISO(this.value.value).hour : null; }\n get minute() { return this.value?.value ? DateTime.fromISO(this.value.value).minute : null; }\n\n constructor(private modalController: ModalController) {}\n\n spxSetFocus() {\n this.inputRef?.nativeElement?.focus();\n }\n\n componentDidLoad() {\n if (this.spxAutofocus) {\n this.spxFocus.emit();\n this.spxSetFocus();\n }\n }\n\n handleBlur() {\n this.spxBlurFromChild.emit();\n }\n\n handleFocus() {\n this.spxFocus.emit();\n }\n\n handleDescriptionInput(event: any) {\n this.value = {\n description: event.target ? event.target.value : null,\n value: event.target ? event.target.value : null,\n };\n this.spxChange.emit(this.value);\n }\n\n handleSuggestionClick(value: any) {\n if (!this.spxReadonly) {\n this.value = value;\n this.spxChange.emit(this.value);\n this.spxFocused = false;\n }\n }\n\n handleKeyUp() {\n this.spxFocused = true;\n }\n\n async openDialog(view: 'hours' | 'minutes') {\n const modal = await this.modalController.create({\n component: SpxInputTimeModalComponent,\n componentProps: {\n value: this.value?.value ?\n (view === 'hours' ? DateTime.fromISO(this.value.value).hour : DateTime.fromISO(this.value.value).minute) : undefined,\n view,\n },\n });\n\n modal.onDidDismiss().then((data) => {\n // this.appStore.dispatch(infArticleActions.reset({}));\n\n if (view === 'hours') {\n // console.log('hours');\n // console.log(data);\n this.selectedHour = data.data;\n this.openDialog('minutes');\n this.updateValue();\n\n } else if (view === 'minutes') {\n // console.log('minutes');\n // console.log(data);\n this.selectedMinute = data.data;\n this.updateValue();\n }\n });\n\n await modal.present();\n }\n\n updateValue() {\n if (this.selectedHour !== null && this.selectedMinute !== null) {\n const formattedHour = this.selectedHour < 10 ? `0${this.selectedHour}` : this.selectedHour;\n const formattedMinute = this.selectedMinute < 10 ? `0${this.selectedMinute}` : this.selectedMinute;\n const newValue = `${formattedHour}:${formattedMinute}`;\n\n this.value = {\n description: newValue,\n value: newValue,\n };\n\n this.spxChange.emit(this.value);\n }\n }\n}\n","import { NgIf } from '@angular/common';\nimport { Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';\nimport { SpxInputBoxComponent } from './spx-input-box.component';\nimport { SpxInputTextComponent } from './spx-input-text.component';\nimport { SpxValuePair } from './spx-value-interface';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SpxInputDateComponent } from './spx-input-date.component';\nimport { SpxInputFloatComponent } from './spx-input-float.component';\nimport { SpxInputNumberComponent } from './spx-input-number.component';\nimport { SpxInputRadioComponent } from './spx-input-radio.component';\nimport { SpxInputTypeEnum } from './spx-input-type.enum';\nimport { SpxInputTimeComponent } from './spx-input-time.component';\n\n@Component({\n selector: 'spx-input',\n standalone: true,\n host: {\n '(spxChange)': 'handleChangeEvent($event)'\n },\n imports: [\n NgIf,\n SpxInputBoxComponent,\n SpxInputDateComponent,\n SpxInputFloatComponent,\n SpxInputNumberComponent,\n SpxInputRadioComponent,\n SpxInputTextComponent,\n SpxInputTimeComponent,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SpxInputComponent,\n multi: true\n }\n ],\n template: `<spx-input-box\n [spxFocused]=\"this.spxFocused\"\n [spxLabel]=\"this.spxLabel\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxRequired]=\"this.spxRequired\"\n [spxValue]=\"this.value\"\n [spxShowHelp]=\"this.spxShowHelp\"\n [spxCompact]=\"this.spxCompact\"\n [spxShowClear]=\"this.spxShowClear\"\n [spxShowEdit]=\"this.spxShowEdit\"\n [spxShowLabel]=\"this.spxShowLabel\"\n [spxShowSearch]=\"this.spxShowSearch ? this.spxShowSearch : this.spxType === 'autocomplete'\"\n [spxShowValidationMessages]=\"this.spxShowValidationMessages\"\n (spxClear)=\"this.handleClear()\"\n (spxEdit)=\"this.handleEdit()\"\n (spxHelp)=\"this.handleHelp()\"\n (spxFocus)=\"this.setFocusIn()\"\n (spxFocusOut)=\"this.setFocusOut()\"\n (spxSearch)=\"this.handleSearch()\">\n <div controls>\n <spx-input-text\n *ngIf=\"this.spxType === 'autocomplete' || this.spxType === 'overlay' || this.spxType === 'overlaynumber' || this.spxType === 'text' || this.spxType === 'password'\"\n (spxBlurFromChild)=\"this.handleBlur()\"\n (spxChange)=\"this.handleChange($event)\"\n (spxFocus)=\"this.handleFocus()\"\n [spxAutofocus]=\"this.spxAutofocus\"\n [spxCapitalize]=\"this.spxCapitalize\"\n [spxFocused]=\"this.spxFocused\"\n [spxInputMode]=\"this.spxType === 'overlaynumber' ? 'numeric' : this.spxInputMode\"\n [spxName]=\"this.spxName\"\n [spxPattern]=\"this.spxType === 'overlaynumber' ? '[0-9]*' : this.spxPattern\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxSuggestions]=\"this.spxSuggestions\"\n [spxType]=\"this.spxType\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-text>\n <spx-input-date\n *ngIf=\"this.spxType === 'date'\"\n (spxChange)=\"this.handleChange($event)\"\n (spxFocus)=\"this.handleFocus()\"\n [spxFocused]=\"this.spxFocused\"\n [spxMax]=\"this.spxMax\"\n [spxMin]=\"this.spxMin\"\n [spxName]=\"this.spxName\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxSelectDay]=\"this.spxSelectDay\"\n [spxSelectMonth]=\"this.spxSelectMonth\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-date>\n <spx-input-float\n *ngIf=\"this.spxType === 'float'\"\n (spxChange)=\"this.handleChange($event)\"\n (spxFocus)=\"this.handleFocus()\"\n [spxAutofocus]=\"this.spxAutofocus\"\n [spxFocused]=\"this.spxFocused\"\n [spxName]=\"this.spxName\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxStep]=\"this.spxStep\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-float>\n <spx-input-number\n *ngIf=\"this.spxType === 'number'\"\n (spxChange)=\"this.handleChange($event)\"\n (spxFocus)=\"this.handleFocus()\"\n [spxAutofocus]=\"this.spxAutofocus\"\n [spxFocused]=\"this.spxFocused\"\n [spxInputMode]=\"this.spxInputMode\"\n [spxName]=\"this.spxName\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxStep]=\"this.spxStep\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-number>\n <spx-input-radio\n #radioInput\n *ngIf=\"this.spxType === 'radio'\"\n (spxChange)=\"this.handleChange($event)\"\n [spxFocused]=\"this.spxFocused\"\n [spxName]=\"this.spxName\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxShowLabel]=\"this.spxShowLabel\"\n [spxSuggestions]=\"this.spxSuggestions\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-radio>\n <spx-input-time\n #timeInput\n *ngIf=\"this.spxType === 'time'\"\n (spxChange)=\"this.handleChange($event)\"\n (spxFocus)=\"this.handleFocus()\"\n [spxFocused]=\"this.spxFocused\"\n [spxName]=\"this.spxName\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-time>\n </div>\n <div validation-messages>\n <ng-content></ng-content>\n </div>\n</spx-input-box>`,\n})\nexport class SpxInputComponent {\n @Input() spxLabel: string = 'label';\n @Input() spxMax?: string;\n @Input() spxMin?: string;\n @Input() spxName!: string;\n @Input() spxReadonly = false;\n @Input() spxAutofocus = false;\n @Input() spxInputMode?: string;\n @Input() spxPattern?: string;\n @Input() spxRequired = false;\n @Input() spxSelectMonth = true;\n @Input() spxSelectDay = true;\n @Input() spxShowEdit = false;\n @Input() spxShowHelp = false;\n @Input() spxShowLabel = true;\n @Input() spxCompact = false;\n @Input() spxShowClear = true;\n @Input() spxShowSearch = false;\n @Input() spxShowValidationMessages?: boolean | null | undefined = false;\n @Input() spxStep?: number;\n @Input() spxSuggestions: SpxValuePair<boolean | number | string>[] = [];\n @Input() spxType: SpxInputTypeEnum = SpxInputTypeEnum.text;\n @Input() spxValidators!: any[];\n @Input() value!: SpxValuePair<any>;\n @Input() spxCapitalize = false;\n @Output() spxBlur: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxClear: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxEdit: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxHelp: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxSearch: EventEmitter<void> = new EventEmitter<void>();\n @ViewChild(SpxInputFloatComponent) floatInput?: SpxInputFloatComponent;\n @ViewChild(SpxInputNumberComponent) numberInput?: SpxInputNumberComponent;\n @ViewChild(SpxInputTextComponent) textInput?: SpxInputTextComponent;\n @ViewChild(SpxInputTimeComponent) timeInput?: SpxInputTimeComponent;\n @ViewChild(SpxInputRadioComponent) radioInput?: SpxInputRadioComponent;\n @Input() spxFocused = false;\n handleBlur() {\n this.spxBlur.emit();\n }\n\n handleChange(event: any) {\n this.value = event;\n this.spxChange.emit(this.value);\n }\n\n handleClear() {\n this.spxClear.emit();\n this.spxFocused = true;\n this.passFocusToControl();\n this.value = {\n description: null,\n value: null,\n };\n this.spxChange.emit(this.value);\n }\n\n handleFocus() {\n this.spxFocus.emit();\n this.spxFocused = true;\n }\n\n handleSearch() {\n this.spxSearch.emit();\n }\n\n setFocusIn() {\n this.spxFocused = true;\n this.passFocusToControl();\n }\n\n setFocusOut() {\n this.spxFocused = false;\n if (this.spxType === SpxInputTypeEnum.radio) {\n this.radioInput?.spxFocusOut();\n }\n }\n\n handleEdit() {\n this.spxEdit.emit();\n this.spxFocused = true;\n }\n \n handleHelp() {\n this.spxHelp.emit();\n this.spxFocused = true;\n }\n\n private passFocusToControl() {\n switch (this.spxType) {\n case SpxInputTypeEnum.autocomplete:\n case SpxInputTypeEnum.text:\n case SpxInputTypeEnum.overlayNumber:\n this.textInput?.spxSetFocus();\n break;\n case SpxInputTypeEnum.number:\n this.numberInput?.spxSetFocus();\n break;\n case SpxInputTypeEnum.radio:\n this.radioInput?.spxFocusIn();\n break;\n case SpxInputTypeEnum.time:\n this.timeInput?.spxSetFocus();\n break;\n }\n }\n\n private onChange: (value: any) => void = () => {/**/};\n private onTouched: () => void = () => {/**/};\n protected lastValue: any;\n\n writeValue(value: any) {\n this.value = this.lastValue = value;\n }\n\n handleChangeEvent(value: any) {\n if (value !== this.lastValue) {\n this.lastValue = value;\n this.onChange(value);\n }\n }\n\n @HostListener('focusout')\n _handleBlurEvent() {\n this.onTouched();\n }\n\n registerOnChange(fn: (value: any) => void) {\n this.onChange = fn;\n }\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"softpak-components-spx-inputs.mjs","sources":["../../../../projects/softpak/components/spx-inputs/spx-input-box.component.ts","../../../../projects/softpak/components/spx-inputs/spx-dropdown.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-text.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-date.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-float.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-number.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-radio.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-type.enum.ts","../../../../projects/softpak/components/spx-inputs/spx-input-time-modal.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input-time.component.ts","../../../../projects/softpak/components/spx-inputs/spx-input.component.ts","../../../../projects/softpak/components/spx-inputs/softpak-components-spx-inputs.ts"],"sourcesContent":["import { NgIf } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, HostListener, Input, Output } from '@angular/core';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxValuePair } from './spx-value-interface';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { faEdit } from '@fortawesome/free-solid-svg-icons/faEdit';\nimport { faQuestion } from '@fortawesome/free-solid-svg-icons/faQuestion';\nimport { faSearch } from '@fortawesome/free-solid-svg-icons/faSearch';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons/faTimes';\n\n@Component({\n selector: 'spx-input-box',\n standalone: true,\n imports: [\n NgIf,\n SpxButtonComponent,\n FontAwesomeModule,\n ],\n template: `<div class=\"flex rounded w-full gap-3\"\n [class.rounded-none]=\"this.spxShowValidationMessages\"\n [class.rounded-t]=\"this.spxShowValidationMessages\"\n [class.outline-none]=\"this.spxFocused && !this.spxReadonly\"\n [class.ring-2]=\"this.spxFocused && !this.spxReadonly\"\n [class.ring-offset-2]=\"this.spxFocused && !this.spxReadonly\"\n [class.ring-blue-500]=\"this.spxFocused && !this.spxReadonly\"\n [class.bg-white]=\"!this.spxReadonly\"\n [class.bg-gray-300]=\"this.spxReadonly\"\n [class.cursor-not-allowed]=\"this.spxReadonly\">\n <div class=\"flex-auto p-3\"\n [class.p-0]=\"this.spxCompact\"\n [class.flex]=\"this.spxCompact\"\n [class.items-center]=\"this.spxCompact\">\n <div *ngIf=\"this.spxShowLabel\" class=\"font-bold text-sm mb-1 text-gray-800\"\n [class.mb-0]=\"this.spxCompact\"\n [class.px-3]=\"this.spxCompact\">\n {{this.spxLabel}} <span *ngIf=\"spxRequired\" class=\"text-red-800\">*</span>\n </div>\n <ng-content select=\"[controls]\"></ng-content>\n </div>\n <div class=\"flex flex-none gap-1 p-1\">\n <spx-button\n *ngIf=\"this.spxShowEdit\"\n (spxClick)=\"onEdit()\"\n [spxFullHeight]=\"true\"\n [spxSize]=\"'xl'\"\n [spxType]=\"'button'\">\n <fa-icon [icon]=\"faEdit\" class=\"block text-xl\"></fa-icon>\n </spx-button>\n <spx-button\n *ngIf=\"this.spxShowHelp\"\n (spxClick)=\"onHelp()\"\n [spxFullHeight]=\"true\"\n [spxDisabled]=\"this.spxReadonly\"\n [spxSize]=\"'xl'\"\n [spxTabIndex]=\"-1\"\n [spxType]=\"'button'\">\n <fa-icon [icon]=\"faQuestion\" class=\"block text-xl\"></fa-icon>\n </spx-button>\n <spx-button\n *ngIf=\"this.spxShowSearch\"\n (spxClick)=\"onSearch()\"\n [spxFullHeight]=\"true\"\n [spxDisabled]=\"this.spxReadonly\"\n [spxSize]=\"'xl'\"\n [spxTabIndex]=\"-1\"\n [spxType]=\"'button'\">\n <fa-icon [icon]=\"faSearch\" class=\"block text-xl\"></fa-icon>\n </spx-button>\n <spx-button\n *ngIf=\"this.spxShowClear\"\n (spxClick)=\"onClear()\"\n [spxDisabled]=\"this.spxReadonly || !this.spxValue?.value\"\n [spxFullHeight]=\"true\"\n [spxSize]=\"'xl'\"\n [spxTabIndex]=\"-1\"\n [spxType]=\"'button'\">\n <fa-icon [icon]=\"faTimes\" class=\"block text-xl\"></fa-icon>\n </spx-button>\n </div>\n </div>\n <div *ngIf=\"this.spxShowValidationMessages\" class=\"bg-red-600 rounded-b text-white p-3\">\n <ng-content select=\"[validation-messages]\"></ng-content>\n </div>`,\n})\nexport class SpxInputBoxComponent {\n faEdit = faEdit;\n faSearch = faSearch;\n faQuestion = faQuestion;\n faTimes = faTimes;\n @Input() spxCompact?: boolean;\n @Input() spxFocused = false;\n @Input() spxLabel?: string;\n @Input() spxReadonly = false;\n @Input() spxRequired?: boolean;\n @Input() spxShowClear = true;\n @Input() spxShowEdit?: boolean;\n @Input() spxShowHelp?: boolean;\n @Input() spxShowLabel = true;\n @Input() spxShowSearch?: boolean;\n @Input() spxShowValidationMessages?: boolean | null | undefined;\n @Input() spxValue?: SpxValuePair<any>;\n @Output() spxClear: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxSearch: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxFocusOut: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxEdit: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxHelp: EventEmitter<void> = new EventEmitter<void>();\n @HostListener('focusin', [\"$event\"]) handleFocusIn(ev: Event) {\n this.emitFocusIn();\n }\n @HostListener('focusout', [\"$event\"]) handleFocusOut(ev: FocusEvent) {\n const thisEl = this.elRef.nativeElement as HTMLElement;\n const relatedElement = ev.relatedTarget as HTMLElement;\n if (!relatedElement || !thisEl.contains(relatedElement)) {\n this.emitFocusOut();\n }\n }\n @HostListener('document:click', [\"$event\"]) handleWindowClick(ev: Event) {\n if (ev.composedPath().includes(this.elRef.nativeElement)) {\n this.emitFocusIn();\n } else {\n this.emitFocusOut();\n }\n }\n\n onClear() {\n this.spxClear.emit();\n }\n\n onSearch() {\n this.spxSearch.emit();\n }\n\n onEdit() {\n this.spxEdit.emit();\n }\n\n onHelp() {\n this.spxHelp.emit();\n }\n\n constructor(private elRef: ElementRef) {\n }\n\n private emitFocusIn(): void {\n if (!this.spxFocused) {\n this.spxFocus.emit();\n }\n }\n\n private emitFocusOut(): void {\n if (this.spxFocused) {\n this.spxFocusOut.emit();\n }\n }\n}\n","import { NgFor, NgIf } from '@angular/common';\nimport { Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { Subscription, fromEvent } from 'rxjs';\n\n@Component({\n selector: 'spx-dropdown',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n SpxButtonComponent,\n ],\n template: `<div class=\"relative text-black\">\n <div\n class=\"absolute bg-gray-100 left-0 right-0 z-20\">\n <button\n *ngFor=\"let valuePair of this.spxSuggestions; let i = index\"\n class=\"text-black block w-full p-2 border border-gray-200 rounded-lg shadow hover:bg-gray-200 flex items-center text-left\"\n [class.bg-gray-100]=\"i === this.focusPosition\"\n [class.bg-white]=\"i !== this.focusPosition\"\n (click)=\"this.handleSuggestionClick(valuePair)\"\n [attr.tabindex]=\"-1\"\n [attr.type]=\"'button'\">\n <div class=\"flex-1 p-1 font-bold text-lg\">{{valuePair?.description}}</div>\n <spx-button (spxClick)=\"this.handleSuggestionClick(valuePair)\" [spxType]=\"'button'\" [spxTabIndex]=\"-1\">Select</spx-button>\n </button>\n </div>\n</div>`,\n})\nexport class SpxDropdownComponent implements OnChanges, OnInit, OnDestroy {\n protected focusPosition = 0;\n @Input() spxSuggestions: SpxValuePair<boolean | number | string>[] = [];\n @Output() spxSelect: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n subscriptionKeyUp?: Subscription;\n\n ngOnInit(): void {\n this.listenToKeyUp();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n this.focusPosition = 0;\n }\n\n ngOnDestroy(): void {\n this.subscriptionKeyUp?.unsubscribe();\n }\n\n handleSuggestionClick(valuePair: SpxValuePair<string | number | boolean>) {\n this.select(valuePair);\n }\n\n private listenToKeyUp(): void {\n this.subscriptionKeyUp = fromEvent(window, 'keyup').subscribe((event) => {\n if ((event as KeyboardEvent).key === 'ArrowUp' && this.focusPosition > 0) {\n this.focusPosition = this.focusPosition - 1;\n event.preventDefault();\n }\n if ((event as KeyboardEvent).key === 'ArrowDown' && this.focusPosition < this.spxSuggestions.length - 1) {\n this.focusPosition = this.focusPosition + 1;\n event.preventDefault();\n }\n if ((event as KeyboardEvent).key === 'Enter' && this.spxSuggestions.length > 0) {\n this.select(this.spxSuggestions.at(this.focusPosition)!);\n event.preventDefault();\n }\n });\n }\n\n private select(valuePair: SpxValuePair<string | number | boolean>): void {\n this.focusPosition = 0;\n this.spxSelect.emit(valuePair);\n }\n}\n","import { NgFor, NgIf } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxDropdownComponent } from './spx-dropdown.component';\n\n@Component({\n selector: 'spx-input-text',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n SpxButtonComponent,\n SpxDropdownComponent,\n ],\n template: `<div class=\"relative text-black\">\n <input\n #input\n class=\"font-bold text-lg w-full outline-none\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n [class.bg-white]=\"!this.spxReadonly\"\n [class.bg-gray-300]=\"this.spxReadonly\"\n [class.cursor-not-allowed]=\"this.spxReadonly\"\n [class.uppercase]=\"this.spxCapitalize\"\n [attr.autofocus]=\"this.spxAutofocus ? this.spxAutofocus : undefined\"\n [attr.disabled]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n [attr.inputMode]=\"this.spxInputMode ? this.spxInputMode : undefined\"\n [attr.pattern]=\"this.spxPattern ? this.spxPattern : undefined\"\n [attr.name]=\"this.spxName\"\n [attr.type]=\"this.spxType\"\n [value]=\"this.value?.description ? this.value?.description : this.value?.value\"\n (blur)=\"this.handleBlur()\"\n (keyUp)=\"this.handleKeyUp()\"\n (focus)=\"this.handleFocus()\"\n (input)=\"this.handleDescriptionInput($event)\"\n />\n <span *ngIf=\"this.value?.description && this.value?.value && this.value?.description?.valueOf() !== this.value?.value?.valueOf()\">{{this.value?.value}}</span>\n <spx-dropdown\n *ngIf=\"this.spxFocused && (this.spxType === 'overlay' || this.spxType === 'overlaynumber')\"\n [spxSuggestions]=\"this.spxSuggestions\" (spxSelect)=\"this.handleSuggestionClick($event)\">\n </spx-dropdown>\n</div>`,\n})\nexport class SpxInputTextComponent {\n // private elInput?: HTMLElement;\n // @Element() el!: HTMLElement;\n @Input() spxName?: string;\n @Input() spxAutofocus = false;\n @Input() spxInputMode?: string;\n @Input() spxPattern?: string;\n @Input() spxSuggestions: SpxValuePair<boolean | number | string>[] = [];\n @Input() spxReadonly = false;\n @Input() spxValidators?: any[];\n @Input() spxCapitalize = false;\n @Input() spxFocused = true;\n @Input() spxType: 'autocomplete' | 'overlay' | 'overlaynumber' | 'text' | 'password' = 'text';\n @Input() value?: SpxValuePair<any>;\n @Output() spxBlurFromChild: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @Input() spxWasInternalUpdate = false;\n @ViewChild('input', { static: true }) inputRef?: ElementRef<HTMLInputElement>;\n \n \n spxSetFocus() {\n this.inputRef?.nativeElement?.focus();\n }\n\n componentDidLoad() {\n if (this.spxAutofocus) {\n this.spxFocus.emit();\n this.spxSetFocus();\n }\n }\n\n handleBlur() {\n this.spxBlurFromChild.emit();\n }\n\n handleFocus() {\n this.spxFocus.emit();\n }\n\n handleDescriptionInput(event: any) {\n this.value = {\n description: event.target ? event.target.value : null,\n value: event.target ? event.target.value : null,\n };\n this.spxChange.emit(this.value);\n }\n\n handleSuggestionClick(value: any) {\n if (!this.spxReadonly) {\n this.value = value;\n this.spxChange.emit(this.value);\n this.spxFocused = false;\n }\n }\n\n handleKeyUp() {\n this.spxFocused = true;\n }\n}\n","import { NgFor, NgIf } from '@angular/common';\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxSuggestionComponent } from '@softpak/components/spx-suggestion';\nimport { DateTime } from 'luxon';\nimport { SpxValuePair } from './spx-value-interface';\n\n@Component({\n selector: 'spx-input-date',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n SpxButtonComponent,\n SpxSuggestionComponent\n ],\n template: `<div class='spx-input-date__controls'>\n <input\n class='spx-input-date__input'\n [attr.value]=\"this.spxInternalValue.years\"\n (focus)=\"this.handleFocus('years')\"\n (input)=\"this.handleYearInput($event)\"\n (keyDown)=\"this.handleKeyDown($event)\"\n [attr.type]=\"'number'\"\n [attr.min]=\"1900\"\n [attr.max]=\"2100\"\n [attr.step]=\"1\"\n />\n <div class='spx-input-date__control-label'>Year</div>\n <input\n *ngIf=\"this.spxSelectMonth\"\n class='spx-input-date__input'\n [attr.value]=\"this.spxInternalValue.months\"\n (focus)=\"this.handleFocus('months')\"\n (input)=\"this.handleMonthInput($event)\"\n (keyDown)=\"this.handleKeyDown($event)\"\n [attr.type]=\"'number'\"\n [attr.min]=\"1\"\n [attr.max]=\"12\"\n [attr.step]=\"1\" />\n <div class='spx-input-date__control-label'>Month</div>\n <input\n *ngIf=\"this.spxSelectDay\"\n class='spx-input-date__input'\n [attr.value]=\"this.spxInternalValue.days\"\n (focus)=\"this.handleFocus('days')\"\n (input)=\"this.handleDayInput($event)\"\n (keyDown)=\"this.handleKeyDown($event)\"\n [attr.type]=\"'number'\"\n [attr.min]=\"1\"\n [attr.max]=\"31\"\n [attr.step]=\"1\" />\n <div class='spx-input-date__control-label'>Days</div>\n</div>\n<div class='spx-input-date__suggestions'>\n <spx-suggestion \n *ngFor=\"let valuePair of spxSuggestions[spxSelectStep]\" \n (click)=\"this.handleSuggestionClick(valuePair.value)\">{{valuePair?.description}}</spx-suggestion>\n</div>`,\nstyles: `\n:host {\n display: block;\n}\n\n.spx-input-date__input {\n background-color: transparent;\n border: 1px solid #979797;\n border-radius: 4px;\n color: var(--spx-input--color, rgba(0, 0, 0, .9));\n box-sizing: border-box;\n font-size: 16px;\n margin-right: 10px;\n padding: 6px;\n text-align: center;\n width: 100%;\n}\n\n.spx-input-date__input:active {\n transform: scale(0.95);\n}\n\n.spx-input-date__input:focus {\n border: var(--spx-input-box--focus--border, 1px solid rgb(115, 168, 210));\n border-radius: 4px;\n outline: none;\n}\n\n.spx-input-date__control-label {\n align-items: center;\n color: rgba(0, 0, 0, .7);\n display: inline-grid;\n font-size: 13px;\n letter-spacing: 1px;\n}\n\n.spx-input-date__input::-webkit-outer-spin-button,\n.spx-input-date__input::-webkit-inner-spin-button {\n /* display: none; <- Crashes Chrome on hover */\n -webkit-appearance: none;\n margin: 0; /* <-- Apparently some margin are still there even though it's hidden */\n}\n\n.spx-input-date__input[type=number] {\n -moz-appearance:textfield; /* Firefox */\n}\n\n.spx-input-date__suggestions,\n.spx-input-date__controls {\n display: grid;\n grid-gap: 8px;\n grid-template-columns: repeat(4, 1fr);\n margin-top: 8px;\n}\n`,\n})\nexport class SpxInputDateComponent {\n private elYear?: HTMLElement;\n private elMonth?: HTMLElement;\n private elDay?: HTMLElement;\n // @Element() el!: HTMLElement;\n @Input() spxMax?: string;\n @Input() spxMin?: string;\n @Input() spxName?: string;\n @Input() spxReadonly = false;\n @Input() spxValidators?: any[];\n @Input() spxFocused = true;\n @Input() spxSelectMonth = true;\n @Input() spxSelectDay = true;\n @Input() value?: SpxValuePair<string>;\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @Input() spxLastKeyPressed!: null;\n @Input() spxSelectStep: 'years' | 'days' | 'months' = 'years';\n @Input() spxInternalValue: {\n years?: number;\n months?: number;\n days?: number;\n } = {};\n @Input() spxSuggestions: {\n years: SpxValuePair<number>[];\n months: SpxValuePair<number>[];\n days: SpxValuePair<number>[];\n } = {\n years: [],\n months: [{\n description: 'Jan',\n value: 1,\n }, {\n description: 'Feb',\n value: 2,\n }, {\n description: 'Mar',\n value: 3,\n }, {\n description: 'Apr',\n value: 4,\n }, {\n description: 'May',\n value: 5,\n }, {\n description: 'Jun',\n value: 6,\n }, {\n description: 'Jul',\n value: 7,\n }, {\n description: 'Aug',\n value: 8,\n }, {\n description: 'Sep',\n value: 9,\n }, {\n description: 'Oct',\n value: 10,\n }, {\n description: 'Nov',\n value: 11,\n }, {\n description: 'Dec',\n value: 12,\n }],\n days: [],\n };\n @Input() spxWasInternalUpdate = false;\n async spxSetFocus() {\n // this.elYear.focus();\n }\n // @Watch('spxValidators') watchSpxValidators(newValue) {\n // console.log('validators', newValue);\n // }\n // @Watch('value') watchValue(newValue) {\n // if (this.spxWasInternalUpdate) {\n // this.spxWasInternalUpdate = false;\n // } else {\n // const parsedValue = DateTime.fromISO(newValue?.value);\n // this.spxInternalValue.years = parsedValue.year;\n // this.spxInternalValue.months = parsedValue.month;\n // this.spxInternalValue.days = parsedValue.day;\n // this.spxSelectStep = 'years';\n // }\n // }\n\n constructor() {\n this.suggestYears();\n }\n\n componentWillLoad() {\n const parsedValue = this.value ? DateTime.fromISO(this.value!.value) : DateTime.now();\n this.spxInternalValue.years = parsedValue.year;\n this.spxInternalValue.months = parsedValue.month;\n this.spxInternalValue.days = parsedValue.day;\n }\n\n handleDayInput(event: any) {\n this.spxInternalValue.days = event.target ? event.target.value : null;\n this.updateValue();\n }\n\n handleMonthInput(event: any) {\n this.spxInternalValue.months = event.target ? event.target.value : null;\n this.afterMonthChange();\n }\n\n afterMonthChange() {\n if (this.spxInternalValue.months!.toString().length === 2 && this.spxSelectDay && this.spxLastKeyPressed !== 38 && this.spxLastKeyPressed !== 40) {\n // this.elDay!.focus();\n }\n this.updateValue();\n }\n\n handleYearInput(event: any) {\n this.spxInternalValue.years = event.target ? event.target.value : null;\n this.afterYearChange();\n }\n\n afterYearChange() {\n if (this.spxInternalValue.years!.toString().length === 4 && this.spxSelectMonth && this.spxLastKeyPressed !== 38 && this.spxLastKeyPressed !== 40) {\n // this.elMonth!.focus();\n }\n this.updateValue();\n }\n\n handleInput(event: any) {\n this.setValue(event.target ? event.target.value : null);\n }\n\n handleFocus(step: 'years' | 'months' | 'days') {\n this.spxSelectStep = step;\n this.spxFocus.emit();\n }\n\n handleKeyDown(event: any) {\n this.spxLastKeyPressed = event.which;\n }\n\n handleSuggestionClick(value: number) {\n this.spxLastKeyPressed = null;\n this.spxInternalValue[this.spxSelectStep] = value;\n this.updateValue();\n this.doneWithField();\n }\n\n updateValue() {\n const concatenatedValue = `${this.spxInternalValue.years ? this.spxInternalValue.years : ``}${this.spxInternalValue.months ? `-${this.spxInternalValue.months < 10 ? `0${this.spxInternalValue.months}` : this.spxInternalValue.months}` : ``}${this.spxInternalValue.days ? `-${this.spxInternalValue.days < 10 ? `0${this.spxInternalValue.days}` : this.spxInternalValue.days}` : ``}`\n const parsedValue = DateTime.fromISO(concatenatedValue);\n this.spxWasInternalUpdate = true;\n this.value = {\n description: parsedValue.toISO(),\n value: parsedValue.toISO()!,\n };\n this.spxChange.emit(this.value);\n }\n\n doneWithField() {\n if (this.spxSelectStep === 'days') {\n this.spxSelectStep = 'years';\n } else if (this.spxSelectStep === 'months') {\n this.spxSelectStep = this.spxSelectDay ? 'days' : 'years';\n this.afterMonthChange();\n } else if (this.spxSelectStep === 'years') {\n this.afterYearChange();\n this.spxSelectStep = this.spxSelectMonth ? 'months' : 'years';\n }\n }\n\n setValue(value: any) {\n this.spxInternalValue = value;\n const parsed = DateTime.fromISO(value);\n this.value = {\n description: parsed.toISO(),\n value: parsed.toISO()!,\n };\n this.spxChange.emit(this.value);\n this.spxWasInternalUpdate = true;\n }\n\n private suggestYears(): void {\n this.spxSuggestions.years = [];\n for (let year = DateTime.fromISO(this.spxMin!).year; year <= DateTime.fromISO(this.spxMax!).year; year++) {\n this.spxSuggestions.years.push({\n description: `'${year.toString().substring(2,4)}`,\n value: year,\n });\n }\n }\n}\n","import { NgFor, NgIf } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\n\n@Component({\n selector: 'spx-input-float',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n SpxButtonComponent,\n ],\n template: `<div class=\"flex items-end\">\n <input\n #firstInputRef\n class=\"spx-input-float__input\"\n [attr.autofocus]=\"this.spxAutofocus ? this.spxAutofocus : undefined\"\n [attr.disabled]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n [attr.pattern]=\"'[0-9]*'\"\n [attr.step]=\"1\"\n [attr.type]=\"'text'\"\n [attr.value]=\"this.internalValue?.first ? this.internalValue?.first : undefined\"\n [class.spx-input-float--readonly]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n (focus)=\"this.handleFocus()\"\n (input)=\"this.handleInput($event, 1)\" />\n <span class=\"text-black font-bold text-2xl mx-4\">,</span>\n <input\n [attr.autofocus]=\"this.spxAutofocus ? this.spxAutofocus : undefined\"\n class=\"spx-input-float__input\"\n [class.spx-input-float--readonly]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n [attr.disabled]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n [attr.value]=\"this.internalValue?.second ? this.internalValue?.second : undefined\"\n (focus)=\"this.handleFocus()\"\n (input)=\"this.handleInput($event, 2)\"\n [attr.step]=\"1\"\n [attr.type]=\"'text'\"\n [attr.pattern]=\"'[0-9]*'\" />\n</div>`,\n styles: `\n :host {\n display: block;\n}\n\n.spx-input-float__input {\n border: 1px solid #333333;\n border-radius: 8px;\n background-color: transparent;\n box-sizing: border-box;\n color: var(--spx-input--color, rgba(0, 0, 0, .9));\n flex: 1;\n font-size: 20px;\n font-weight: bold;\n padding: 8px;\n width: 100%;\n}\n\n.spx-input-float__input:focus {\n outline: none;\n}\n `,\n})\nexport class SpxInputFloatComponent {\n // private elFirstInput?: HTMLElement;\n // private elSecondInput?: HTMLElement;\n protected internalValue: {\n first: number | null;\n second: number | null;\n } = {\n first: null,\n second: null,\n };\n // @Element() el!: HTMLStencilElement;\n @Input() spxName!: string;\n @Input() spxAutofocus = false;\n @Input() spxReadonly = false;\n @Input() spxValidators!: any[];\n @Input() spxFocused = true;\n @Input() spxStep?: number;\n @Input() value!: SpxValuePair<any>;\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @Input() spxWasInternalUpdate = false;\n @Input() tick = {};\n @ViewChild('firstInputRef', { static: true }) firstInputRef?: ElementRef<HTMLInputElement>;\n \n spxSetFocus() {\n this.firstInputRef?.nativeElement?.focus();\n }\n\n // @Watch('value') onValueChanged(newValue: SpxValuePair<any>, _oldValue: SpxValuePair<any>) {\n // this.handleSetValue(newValue);\n // }\n\n componentDidLoad() {\n if (this.spxAutofocus) {\n this.spxFocus.emit();\n this.spxSetFocus();\n }\n this.handleSetValue(this.value);\n }\n\n handleFocus() {\n this.spxFocus.emit();\n }\n\n handleSetValue(newValue: SpxValuePair<any>) {\n if (this.isNumeric(newValue?.value)) {\n this.internalValue = {\n first: Math.floor(parseFloat(newValue?.value)),\n second: newValue?.value?.split ? newValue?.value.split('.')[1] : 0,\n };\n } else {\n this.internalValue = {\n first: null,\n second: null,\n };\n }\n this.tick = {};\n }\n\n handleInput(event: any, position: 1 | 2) {\n this.internalValue = {\n first: position === 1 ? (event.target ? event.target.value : null) : this.internalValue.first,\n second: position === 2 ? (event.target ? event.target.value : null) : this.internalValue.second,\n };\n let result;\n if (this.internalValue.first === null && this.internalValue.second === null) {\n result = null;\n } else {\n result = `${this.internalValue.first ? this.internalValue.first : 0}.${this.internalValue.second ? this.internalValue.second : 0}`;\n }\n this.value = {\n description: result,\n value: result,\n };\n this.spxChange.emit(this.value);\n }\n\n isNumeric(value: string) {\n return /^[+-]?\\d+(\\.\\d+)?$/.test(value);\n }\n}\n","import { Component, ElementRef, EventEmitter, Input, Output, ViewChild } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\n\n@Component({\n selector: 'spx-input-number',\n standalone: true,\n imports: [],\n template: `<div class=\"spx-input-number__controls\">\n <input\n #input\n class=\"spx-input-number__input\"\n [attr.autofocus]=\"this.spxAutofocus ? this.spxAutofocus : undefined\"\n [class.spx-input-number--readonly]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n [attr.disabled]=\"this.spxReadonly ? this.spxReadonly : undefined\"\n [attr.inputMode]=\"this.spxInputMode ? this.spxInputMode : undefined\"\n [attr.value]=\"this.value?.value ? this.value?.value : undefined\"\n [attr.step]=\"this.spxStep ? this.spxStep : undefined\"\n [attr.type]=\"'number'\"\n (focus)=\"this.handleFocus()\"\n (input)=\"this.handleInput($event)\" />\n</div>`,\n styles: `\n:host {\n display: block;\n}\n\n.spx-input-number__input {\n border: 0;\n background-color: transparent;\n box-sizing: border-box;\n color: var(--spx-input--color, rgba(0, 0, 0, .9));\n font-size: 20px;\n font-weight: bold;\n margin-right: 10px;\n padding: 0;\n width: 100%;\n}\n\n.spx-input-number__input:focus {\n outline: none;\n}\n\n.spx-input-number__value {\n color: rgba(0, 0, 0, .6);\n font-size: 14px;\n}\n `,\n})\nexport class SpxInputNumberComponent {\n // private elInput?: HTMLElement;\n // @Element() el!: HTMLElement;\n @Input() spxName!: string;\n @Input() spxAutofocus = false;\n @Input() spxInputMode?: string;\n @Input() spxReadonly = false;\n @Input() spxValidators!: any[];\n @Input() spxFocused = true;\n @Input() spxStep?: number;\n @Input() value?: SpxValuePair<any>;\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @ViewChild('input', { static: true }) inputRef?: ElementRef<HTMLInputElement>;\n spxWasInternalUpdate = false;\n \n spxSetFocus() {\n this.inputRef?.nativeElement?.focus();\n }\n\n componentDidLoad() {\n if (this.spxAutofocus) {\n this.spxFocus.emit();\n this.spxSetFocus();\n }\n }\n\n handleFocus() {\n this.spxFocus.emit();\n }\n\n handleInput(event: any) {\n this.value = {\n description: event.target ? event.target.value : null,\n value: event.target ? event.target.value : null,\n };\n this.spxChange.emit(this.value);\n }\n}","import { Component, EventEmitter, Input, Output, SimpleChanges } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\nimport { NgFor } from '@angular/common';\nimport { SpxSuggestionComponent } from '@softpak/components/spx-suggestion';\nimport { Subscription, fromEvent } from 'rxjs';\nimport { valuePairToValue } from '@softpak/components/spx-helpers';\n\n@Component({\n selector: 'spx-input-radio',\n standalone: true,\n imports: [\n NgFor,\n SpxSuggestionComponent,\n ],\n template: `<div class=\"grid grid-cols-2 gap-2\" [class.mt-3]=\"this.spxShowLabel\">\n <spx-suggestion\n *ngFor=\"let valuePair of this.cachedSuggestions; let i = index\"\n [spxDisabled]=\"this.spxReadonly\"\n [spxFocused]=\"this.spxFocused && i === this.focusPosition\"\n [spxSelected]=\"this.value?.value === valuePair?.value\"\n [spxTabbable]=\"this.focusPosition === i\"\n (click)=\"this.handleSuggestionClick($event, valuePair)\">\n {{valuePair?.description}}\n </spx-suggestion>\n </div>`,\n})\nexport class SpxInputRadioComponent {\n cachedSuggestions: SpxValuePair<any>[] = [];\n protected focusPosition = 0;\n // @Element() el!: HTMLElement;\n @Input() spxName?: string;\n @Input() spxValidators!: any[];\n @Input() spxFocused = false;\n @Input() spxShowLabel = true;\n @Input() spxReadonly = false;\n @Input() spxSuggestions: SpxValuePair<any>[] = [];\n @Input() value?: SpxValuePair<any>;\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n private subscriptionKeyUp?: Subscription;\n private subscriptionKeyDown?: Subscription;\n spxFocusIn() {\n this.listenToKeys();\n this.determineFocusPosition();\n }\n\n spxFocusOut() {\n this.subscriptionKeyDown?.unsubscribe();\n this.subscriptionKeyUp?.unsubscribe();\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n console.log('changes', changes);\n if (\n (changes['spxSuggestions'] && JSON.stringify(changes['spxSuggestions']?.previousValue) !== JSON.stringify(changes['spxSuggestions']?.currentValue)) ||\n (changes['value'] && JSON.stringify(changes['value']?.previousValue) !== JSON.stringify(changes['value']?.currentValue))\n ) {\n this.cachedSuggestions = changes['spxSuggestions']?.currentValue ?? [];\n }\n }\n\n handleSuggestionClick(event: Event, valuePair: SpxValuePair<any>) {\n if (this.spxReadonly) {\n console.log('spxInputRadio: clicked, but readonly');\n } else {\n console.log('spxInputRadio: clicked');\n this.select(valuePair);\n }\n }\n\n private determineFocusPosition() {\n if (this.value && this.spxSuggestions?.length) {\n const index = this.spxSuggestions.findIndex(valuePair => valuePairToValue(valuePair) === valuePairToValue(this.value));\n this.focusPosition = index >= 0 ? index : 0;\n } else {\n this.focusPosition = 0;\n }\n }\n\n private select(valuePair: SpxValuePair<string | number | boolean>): void {\n this.focusPosition = 0;\n this.value = valuePair;\n this.spxChange.emit(valuePair);\n }\n\n private listenToKeys(): void {\n this.subscriptionKeyUp = fromEvent(window, 'keyup').subscribe((event) => {\n if (((event as KeyboardEvent).key === 'ArrowUp' || (event as KeyboardEvent).key === 'ArrowLeft') && this.focusPosition > 0) {\n this.focusPosition = this.focusPosition - 1;\n this.select(this.spxSuggestions.at(this.focusPosition)!);\n event.preventDefault();\n }\n if (((event as KeyboardEvent).key === 'ArrowDown' || (event as KeyboardEvent).key === 'ArrowRight') && this.focusPosition < this.spxSuggestions.length - 1) {\n this.focusPosition = this.focusPosition + 1;\n this.select(this.spxSuggestions.at(this.focusPosition)!);\n event.preventDefault();\n }\n });\n this.subscriptionKeyDown = fromEvent(window, 'keydown').subscribe((event) => {\n if ((event as KeyboardEvent).key === 'ArrowDown' ||\n (event as KeyboardEvent).key === 'ArrowLeft' ||\n (event as KeyboardEvent).key === 'ArrowRight' ||\n (event as KeyboardEvent).key === 'ArrowUp') {\n event.preventDefault();\n }\n });\n }\n}","export enum SpxInputTypeEnum {\n autocomplete = 'autocomplete',\n button = 'button',\n date = 'date',\n float = 'float',\n hidden = 'hidden',\n overlay = 'overlay',\n overlayNumber = 'overlaynumber',\n radio = 'radio',\n number = 'number',\n password = 'password',\n text = 'text',\n textNumericKeyboard = 'textNumericKeyboard',\n time = 'time',\n}","import { NgFor, NgIf } from '@angular/common';\nimport { Component, EventEmitter, Input, Output, inject } from '@angular/core';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxDropdownComponent } from './spx-dropdown.component';\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\nimport { faXmark } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { IonicModule, ModalController } from '@ionic/angular';\n\n@Component({\n selector: 'spx-input-time-modal',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n IonicModule,\n SpxButtonComponent,\n SpxDropdownComponent,\n FontAwesomeModule,\n ],\n template: `<ion-header>\n <ion-toolbar>\n <ion-title>Select {{view}}</ion-title>\n <ion-buttons slot=\"end\">\n <spx-button [spxSeverity]=\"typeError\" (spxClick)=\"closeDialog()\">\n <fa-icon [icon]=\"faXmark\"></fa-icon>\n </spx-button>\n </ion-buttons>\n </ion-toolbar>\n</ion-header>\n<ion-content class=\"ion-padding bg-white\">\n <!-- Uren -->\n <div class=\"custom-bg grid grid-cols-1 gap-3\">\n <div *ngIf=\"view === 'hours'\" class=\"flex-wrap gap-2\">\n <div class=\"grid grid-cols-3 md:grid-cols-4 gap-3\">\n <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)\">\n {{ hour }}\n </div>\n </div>\n </div>\n <!-- Minuten -->\n <div *ngIf=\"view === 'minutes'\" class=\"grid grid-cols-1 gap-3\">\n <div class=\"grid grid-cols-4 md:grid-cols-5 gap-3\">\n <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)\">\n {{ minute }}\n </div>\n </div>\n </div>\n </div>\n</ion-content>\n `,\n})\nexport class SpxInputTimeModalComponent {\n @Input() view!: 'hours' | 'minutes';\n @Input() value!: number;\n @Output() change: EventEmitter<number> = new EventEmitter<number>();\n\n faXmark = faXmark\n hourOptions = Array.from({ length: 24 }, (_, i) => i); // 0 to 23\n minuteOptions = Array.from({ length: 12 }, (_, i) => i * 5); // Minutes in incrementen van 5\n typeError = SpxSeverityEnum.error;\n\n constructor(private modalController: ModalController){\n this.hourOptions.push(this.hourOptions.shift()!);\n this.minuteOptions.push(this.minuteOptions.shift()!);\n }\n\n closeDialog() {\n this.modalController.dismiss();\n }\n\n onChange(value: number) {\n this.change.emit(value);\n console.log(value);\n this.modalController.dismiss(value);\n }\n}\n","import { NgFor, NgIf } from '@angular/common';\nimport { Component, ElementRef, EventEmitter, Input, Output, ViewChild, inject } from '@angular/core';\nimport { SpxValuePair } from './spx-value-interface';\nimport { SpxButtonComponent } from '@softpak/components/spx-button';\nimport { SpxDropdownComponent } from './spx-dropdown.component';\nimport { DateTime } from 'luxon';\nimport { SpxSeverityEnum } from '@softpak/components/spx-helpers';\nimport { SpxInputTimeModalComponent } from './spx-input-time-modal.component';\nimport { IonicModule, ModalController } from '@ionic/angular';\n\n@Component({\n selector: 'spx-input-time',\n standalone: true,\n imports: [\n NgIf,\n NgFor,\n SpxButtonComponent,\n SpxDropdownComponent,\n IonicModule,\n ],\n styles: `\n .custom-square.selected {\n background-color: #007bff;\n color: white;\n border-color: #007bff;\n }\n .custom-bg {\n --background: #FFFFFF;\n }\n `,\n template: `<div class=\"relative text-black\">\n <div class=\"flex items-center justify-around gap-3\">\n <div class=\"grow rounded bg-gray-100 p-3 text-xl text-center font-bold\" (click)=\"openDialog('hours')\">{{ formattedHour ?? '--' }}</div>\n <div class=\"text-gray text-xl\">:</div>\n <div class=\"grow rounded bg-gray-100 p-3 text-xl text-center font-bold\" (click)=\"openDialog('minutes')\">{{ formattedMinute ?? '--' }}</div>\n </div>\n</div>`,\n})\nexport class SpxInputTimeComponent {\n // private elInput?: HTMLElement;\n // @Element() el!: HTMLElement;\n @Input() spxName?: string;\n @Input() spxAutofocus = false;\n @Input() spxInputMode?: string;\n @Input() spxPattern?: string;\n @Input() spxSuggestions: SpxValuePair<boolean | number | string>[] = [];\n @Input() spxReadonly = false;\n @Input() spxValidators?: any[];\n @Input() spxCapitalize = false;\n @Input() spxFocused = true;\n @Input() spxType!: any;\n @Input() value?: SpxValuePair<any>;\n @Output() spxBlurFromChild: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @Input() spxWasInternalUpdate = false;\n @ViewChild('input', { static: true }) inputRef?: ElementRef<HTMLInputElement>;\n\n severitySuccess = SpxSeverityEnum.success;\n hourOptions = Array.from({ length: 24 }, (_, i) => i).unshift(); // 0 to 23\n minuteOptions = Array.from({ length: 12 }, (_, i) => i * 5).unshift(); // Minutes in incrementen van 5\n selectedHour: number | null = null;\n selectedMinute: number | null = null;\n\n get formattedHour() {\n return this.selectedHour !== null && this.selectedHour < 10 ? `0${this.selectedHour}` : this.selectedHour;\n }\n\n get formattedMinute() {\n return this.selectedMinute !== null && this.selectedMinute < 10 ? `0${this.selectedMinute}` : this.selectedMinute;\n }\n\n\n get hour() { return this.value?.value ? DateTime.fromISO(this.value.value).hour : null; }\n get minute() { return this.value?.value ? DateTime.fromISO(this.value.value).minute : null; }\n\n constructor(private modalController: ModalController) {}\n\n spxSetFocus() {\n this.inputRef?.nativeElement?.focus();\n }\n\n componentDidLoad() {\n if (this.spxAutofocus) {\n this.spxFocus.emit();\n this.spxSetFocus();\n }\n }\n\n handleBlur() {\n this.spxBlurFromChild.emit();\n }\n\n handleFocus() {\n this.spxFocus.emit();\n }\n\n handleDescriptionInput(event: any) {\n this.value = {\n description: event.target ? event.target.value : null,\n value: event.target ? event.target.value : null,\n };\n this.spxChange.emit(this.value);\n }\n\n handleSuggestionClick(value: any) {\n if (!this.spxReadonly) {\n this.value = value;\n this.spxChange.emit(this.value);\n this.spxFocused = false;\n }\n }\n\n handleKeyUp() {\n this.spxFocused = true;\n }\n\n async openDialog(view: 'hours' | 'minutes') {\n const modal = await this.modalController.create({\n component: SpxInputTimeModalComponent,\n componentProps: {\n value: this.value?.value ?\n (view === 'hours' ? DateTime.fromISO(this.value.value).hour : DateTime.fromISO(this.value.value).minute) : undefined,\n view,\n },\n });\n\n modal.onDidDismiss().then((data) => {\n // this.appStore.dispatch(infArticleActions.reset({}));\n\n if (view === 'hours') {\n // console.log('hours');\n // console.log(data);\n this.selectedHour = data.data;\n this.openDialog('minutes');\n this.updateValue();\n\n } else if (view === 'minutes') {\n // console.log('minutes');\n // console.log(data);\n this.selectedMinute = data.data;\n this.updateValue();\n }\n });\n\n await modal.present();\n }\n\n updateValue() {\n if (this.selectedHour !== null && this.selectedMinute !== null) {\n const formattedHour = this.selectedHour < 10 ? `0${this.selectedHour}` : this.selectedHour;\n const formattedMinute = this.selectedMinute < 10 ? `0${this.selectedMinute}` : this.selectedMinute;\n const newValue = `${formattedHour}:${formattedMinute}`;\n\n this.value = {\n description: newValue,\n value: newValue,\n };\n\n this.spxChange.emit(this.value);\n }\n }\n}\n","import { NgIf } from '@angular/common';\nimport { Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';\nimport { SpxInputBoxComponent } from './spx-input-box.component';\nimport { SpxInputTextComponent } from './spx-input-text.component';\nimport { SpxValuePair } from './spx-value-interface';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SpxInputDateComponent } from './spx-input-date.component';\nimport { SpxInputFloatComponent } from './spx-input-float.component';\nimport { SpxInputNumberComponent } from './spx-input-number.component';\nimport { SpxInputRadioComponent } from './spx-input-radio.component';\nimport { SpxInputTypeEnum } from './spx-input-type.enum';\nimport { SpxInputTimeComponent } from './spx-input-time.component';\n\n@Component({\n selector: 'spx-input',\n standalone: true,\n host: {\n '(spxChange)': 'handleChangeEvent($event)'\n },\n imports: [\n NgIf,\n SpxInputBoxComponent,\n SpxInputDateComponent,\n SpxInputFloatComponent,\n SpxInputNumberComponent,\n SpxInputRadioComponent,\n SpxInputTextComponent,\n SpxInputTimeComponent,\n ],\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: SpxInputComponent,\n multi: true\n }\n ],\n template: `<spx-input-box\n [spxFocused]=\"this.spxFocused\"\n [spxLabel]=\"this.spxLabel\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxRequired]=\"this.spxRequired\"\n [spxValue]=\"this.value\"\n [spxShowHelp]=\"this.spxShowHelp\"\n [spxCompact]=\"this.spxCompact\"\n [spxShowClear]=\"this.spxShowClear\"\n [spxShowEdit]=\"this.spxShowEdit\"\n [spxShowLabel]=\"this.spxShowLabel\"\n [spxShowSearch]=\"this.spxShowSearch ? this.spxShowSearch : this.spxType === 'autocomplete'\"\n [spxShowValidationMessages]=\"this.spxShowValidationMessages\"\n (spxClear)=\"this.handleClear()\"\n (spxEdit)=\"this.handleEdit()\"\n (spxHelp)=\"this.handleHelp()\"\n (spxFocus)=\"this.setFocusIn()\"\n (spxFocusOut)=\"this.setFocusOut()\"\n (spxSearch)=\"this.handleSearch()\">\n <div controls>\n <spx-input-text\n *ngIf=\"this.spxType === 'autocomplete' || this.spxType === 'overlay' || this.spxType === 'overlaynumber' || this.spxType === 'text' || this.spxType === 'password'\"\n (spxBlurFromChild)=\"this.handleBlur()\"\n (spxChange)=\"this.handleChange($event)\"\n (spxFocus)=\"this.handleFocus()\"\n [spxAutofocus]=\"this.spxAutofocus\"\n [spxCapitalize]=\"this.spxCapitalize\"\n [spxFocused]=\"this.spxFocused\"\n [spxInputMode]=\"this.spxType === 'overlaynumber' ? 'numeric' : this.spxInputMode\"\n [spxName]=\"this.spxName\"\n [spxPattern]=\"this.spxType === 'overlaynumber' ? '[0-9]*' : this.spxPattern\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxSuggestions]=\"this.spxSuggestions\"\n [spxType]=\"this.spxType\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-text>\n <spx-input-date\n *ngIf=\"this.spxType === 'date'\"\n (spxChange)=\"this.handleChange($event)\"\n (spxFocus)=\"this.handleFocus()\"\n [spxFocused]=\"this.spxFocused\"\n [spxMax]=\"this.spxMax\"\n [spxMin]=\"this.spxMin\"\n [spxName]=\"this.spxName\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxSelectDay]=\"this.spxSelectDay\"\n [spxSelectMonth]=\"this.spxSelectMonth\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-date>\n <spx-input-float\n *ngIf=\"this.spxType === 'float'\"\n (spxChange)=\"this.handleChange($event)\"\n (spxFocus)=\"this.handleFocus()\"\n [spxAutofocus]=\"this.spxAutofocus\"\n [spxFocused]=\"this.spxFocused\"\n [spxName]=\"this.spxName\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxStep]=\"this.spxStep\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-float>\n <spx-input-number\n *ngIf=\"this.spxType === 'number'\"\n (spxChange)=\"this.handleChange($event)\"\n (spxFocus)=\"this.handleFocus()\"\n [spxAutofocus]=\"this.spxAutofocus\"\n [spxFocused]=\"this.spxFocused\"\n [spxInputMode]=\"this.spxInputMode\"\n [spxName]=\"this.spxName\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxStep]=\"this.spxStep\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-number>\n <spx-input-radio\n #radioInput\n *ngIf=\"this.spxType === 'radio'\"\n (spxChange)=\"this.handleChange($event)\"\n [spxFocused]=\"this.spxFocused\"\n [spxName]=\"this.spxName\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxShowLabel]=\"this.spxShowLabel\"\n [spxSuggestions]=\"this.spxSuggestions\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-radio>\n <spx-input-time\n #timeInput\n *ngIf=\"this.spxType === 'time'\"\n (spxChange)=\"this.handleChange($event)\"\n (spxFocus)=\"this.handleFocus()\"\n [spxFocused]=\"this.spxFocused\"\n [spxName]=\"this.spxName\"\n [spxReadonly]=\"this.spxReadonly\"\n [spxValidators]=\"this.spxValidators\"\n [value]=\"this.value\"\n ></spx-input-time>\n </div>\n <div validation-messages>\n <ng-content></ng-content>\n </div>\n</spx-input-box>`,\n})\nexport class SpxInputComponent {\n @Input() spxLabel: string = 'label';\n @Input() spxMax?: string;\n @Input() spxMin?: string;\n @Input() spxName!: string;\n @Input() spxReadonly = false;\n @Input() spxAutofocus = false;\n @Input() spxInputMode?: string;\n @Input() spxPattern?: string;\n @Input() spxRequired = false;\n @Input() spxSelectMonth = true;\n @Input() spxSelectDay = true;\n @Input() spxShowEdit = false;\n @Input() spxShowHelp = false;\n @Input() spxShowLabel = true;\n @Input() spxCompact = false;\n @Input() spxShowClear = true;\n @Input() spxShowSearch = false;\n @Input() spxShowValidationMessages?: boolean | null | undefined = false;\n @Input() spxStep?: number;\n @Input() spxSuggestions: SpxValuePair<boolean | number | string>[] = [];\n @Input() spxType: SpxInputTypeEnum = SpxInputTypeEnum.text;\n @Input() spxValidators!: any[];\n @Input() value!: SpxValuePair<any>;\n @Input() spxCapitalize = false;\n @Output() spxBlur: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxClear: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxChange: EventEmitter<SpxValuePair<any>> = new EventEmitter<SpxValuePair<any>>();\n @Output() spxFocus: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxEdit: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxHelp: EventEmitter<void> = new EventEmitter<void>();\n @Output() spxSearch: EventEmitter<void> = new EventEmitter<void>();\n @ViewChild(SpxInputFloatComponent) floatInput?: SpxInputFloatComponent;\n @ViewChild(SpxInputNumberComponent) numberInput?: SpxInputNumberComponent;\n @ViewChild(SpxInputTextComponent) textInput?: SpxInputTextComponent;\n @ViewChild(SpxInputTimeComponent) timeInput?: SpxInputTimeComponent;\n @ViewChild(SpxInputRadioComponent) radioInput?: SpxInputRadioComponent;\n @Input() spxFocused = false;\n handleBlur() {\n this.spxBlur.emit();\n }\n\n handleChange(event: any) {\n this.value = event;\n this.spxChange.emit(this.value);\n }\n\n handleClear() {\n this.spxClear.emit();\n this.spxFocused = true;\n this.passFocusToControl();\n this.value = {\n description: null,\n value: null,\n };\n this.spxChange.emit(this.value);\n }\n\n handleFocus() {\n this.spxFocus.emit();\n this.spxFocused = true;\n }\n\n handleSearch() {\n this.spxSearch.emit();\n }\n\n setFocusIn() {\n this.spxFocused = true;\n this.passFocusToControl();\n }\n\n setFocusOut() {\n this.spxFocused = false;\n if (this.spxType === SpxInputTypeEnum.radio) {\n this.radioInput?.spxFocusOut();\n }\n }\n\n handleEdit() {\n this.spxEdit.emit();\n this.spxFocused = true;\n }\n \n handleHelp() {\n this.spxHelp.emit();\n this.spxFocused = true;\n }\n\n private passFocusToControl() {\n switch (this.spxType) {\n case SpxInputTypeEnum.autocomplete:\n case SpxInputTypeEnum.text:\n case SpxInputTypeEnum.overlayNumber:\n this.textInput?.spxSetFocus();\n break;\n case SpxInputTypeEnum.number:\n this.numberInput?.spxSetFocus();\n break;\n case SpxInputTypeEnum.radio:\n this.radioInput?.spxFocusIn();\n break;\n case SpxInputTypeEnum.time:\n this.timeInput?.spxSetFocus();\n break;\n }\n }\n\n private onChange: (value: any) => void = () => {/**/};\n private onTouched: () => void = () => {/**/};\n protected lastValue: any;\n\n writeValue(value: any) {\n this.value = this.lastValue = value;\n }\n\n handleChangeEvent(value: any) {\n if (value !== this.lastValue) {\n this.lastValue = value;\n this.onChange(value);\n }\n }\n\n @HostListener('focusout')\n _handleBlurEvent() {\n this.onTouched();\n }\n\n registerOnChange(fn: (value: any) => void) {\n this.onChange = fn;\n }\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@softpak/components",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.17",
|
|
4
4
|
"private": false,
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "18.x.x",
|
|
@@ -112,36 +112,36 @@
|
|
|
112
112
|
"esm": "./esm2022/spx-inputs/softpak-components-spx-inputs.mjs",
|
|
113
113
|
"default": "./fesm2022/softpak-components-spx-inputs.mjs"
|
|
114
114
|
},
|
|
115
|
-
"./spx-navigation": {
|
|
116
|
-
"types": "./spx-navigation/index.d.ts",
|
|
117
|
-
"esm2022": "./esm2022/spx-navigation/softpak-components-spx-navigation.mjs",
|
|
118
|
-
"esm": "./esm2022/spx-navigation/softpak-components-spx-navigation.mjs",
|
|
119
|
-
"default": "./fesm2022/softpak-components-spx-navigation.mjs"
|
|
120
|
-
},
|
|
121
115
|
"./spx-number-check": {
|
|
122
116
|
"types": "./spx-number-check/index.d.ts",
|
|
123
117
|
"esm2022": "./esm2022/spx-number-check/softpak-components-spx-number-check.mjs",
|
|
124
118
|
"esm": "./esm2022/spx-number-check/softpak-components-spx-number-check.mjs",
|
|
125
119
|
"default": "./fesm2022/softpak-components-spx-number-check.mjs"
|
|
126
120
|
},
|
|
121
|
+
"./spx-navigation": {
|
|
122
|
+
"types": "./spx-navigation/index.d.ts",
|
|
123
|
+
"esm2022": "./esm2022/spx-navigation/softpak-components-spx-navigation.mjs",
|
|
124
|
+
"esm": "./esm2022/spx-navigation/softpak-components-spx-navigation.mjs",
|
|
125
|
+
"default": "./fesm2022/softpak-components-spx-navigation.mjs"
|
|
126
|
+
},
|
|
127
127
|
"./spx-pagination": {
|
|
128
128
|
"types": "./spx-pagination/index.d.ts",
|
|
129
129
|
"esm2022": "./esm2022/spx-pagination/softpak-components-spx-pagination.mjs",
|
|
130
130
|
"esm": "./esm2022/spx-pagination/softpak-components-spx-pagination.mjs",
|
|
131
131
|
"default": "./fesm2022/softpak-components-spx-pagination.mjs"
|
|
132
132
|
},
|
|
133
|
-
"./spx-patch": {
|
|
134
|
-
"types": "./spx-patch/index.d.ts",
|
|
135
|
-
"esm2022": "./esm2022/spx-patch/softpak-components-spx-patch.mjs",
|
|
136
|
-
"esm": "./esm2022/spx-patch/softpak-components-spx-patch.mjs",
|
|
137
|
-
"default": "./fesm2022/softpak-components-spx-patch.mjs"
|
|
138
|
-
},
|
|
139
133
|
"./spx-progress-bar": {
|
|
140
134
|
"types": "./spx-progress-bar/index.d.ts",
|
|
141
135
|
"esm2022": "./esm2022/spx-progress-bar/softpak-components-spx-progress-bar.mjs",
|
|
142
136
|
"esm": "./esm2022/spx-progress-bar/softpak-components-spx-progress-bar.mjs",
|
|
143
137
|
"default": "./fesm2022/softpak-components-spx-progress-bar.mjs"
|
|
144
138
|
},
|
|
139
|
+
"./spx-patch": {
|
|
140
|
+
"types": "./spx-patch/index.d.ts",
|
|
141
|
+
"esm2022": "./esm2022/spx-patch/softpak-components-spx-patch.mjs",
|
|
142
|
+
"esm": "./esm2022/spx-patch/softpak-components-spx-patch.mjs",
|
|
143
|
+
"default": "./fesm2022/softpak-components-spx-patch.mjs"
|
|
144
|
+
},
|
|
145
145
|
"./spx-spinner": {
|
|
146
146
|
"types": "./spx-spinner/index.d.ts",
|
|
147
147
|
"esm2022": "./esm2022/spx-spinner/softpak-components-spx-spinner.mjs",
|