@softpak/components 0.0.0-beta.14 → 0.0.0-beta.141
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-alert/spx-alert.component.mjs +5 -2
- package/esm2022/spx-change-details/public-api.mjs +2 -0
- package/esm2022/spx-change-details/softpak-components-spx-change-details.mjs +5 -0
- package/esm2022/spx-change-details/spx-change-details-value.interface.mjs +2 -0
- package/esm2022/spx-change-details/spx-change-details.component.mjs +118 -0
- package/esm2022/spx-channel-selection/src/spx-channel-selection.component.mjs +1 -1
- package/esm2022/spx-channel-selection/src/spx-company-selection.component.mjs +2 -2
- package/esm2022/spx-check-digit/spx-check-digit.component.mjs +4 -4
- package/esm2022/spx-form-section/spx-form-section.component.mjs +7 -7
- package/esm2022/spx-form-view/public-api.mjs +4 -0
- package/esm2022/spx-form-view/softpak-components-spx-form-view.mjs +5 -0
- package/esm2022/spx-form-view/spx-form-field.interface.mjs +2 -0
- package/esm2022/spx-form-view/spx-form-section.interface.mjs +2 -0
- package/esm2022/spx-form-view/spx-form-view.component.mjs +163 -0
- package/esm2022/spx-inputs/spx-dropdown.component.mjs +94 -0
- package/esm2022/spx-inputs/spx-input-box.component.mjs +74 -47
- package/esm2022/spx-inputs/spx-input-date.component.mjs +1 -1
- package/esm2022/spx-inputs/spx-input-radio.component.mjs +89 -27
- package/esm2022/spx-inputs/spx-input-text.component.mjs +21 -31
- package/esm2022/spx-inputs/spx-input-type.enum.mjs +2 -1
- package/esm2022/spx-inputs/spx-input.component.mjs +39 -13
- package/esm2022/spx-navigation/spx-home-tile.component.mjs +29 -10
- package/esm2022/spx-navigation/spx-navigation-item.interface.mjs +1 -1
- package/esm2022/spx-navigation/spx-navigation.component.mjs +11 -5
- package/esm2022/spx-number-check/public-api.mjs +2 -0
- package/esm2022/spx-number-check/softpak-components-spx-number-check.mjs +5 -0
- package/esm2022/spx-number-check/spx-number-check.component.mjs +262 -0
- package/esm2022/spx-spinner/spx-spinner.component.mjs +5 -5
- package/esm2022/spx-suggestion/spx-suggestion.component.mjs +26 -10
- package/esm2022/spx-toaster/src/spx-toaster.component.mjs +3 -3
- package/esm2022/spx-update/src/spx-update-info.component.mjs +1 -1
- package/fesm2022/softpak-components-spx-alert.mjs +4 -1
- package/fesm2022/softpak-components-spx-alert.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-change-details.mjs +125 -0
- package/fesm2022/softpak-components-spx-change-details.mjs.map +1 -0
- package/fesm2022/softpak-components-spx-channel-selection.mjs +2 -2
- package/fesm2022/softpak-components-spx-channel-selection.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-check-digit.mjs +3 -3
- package/fesm2022/softpak-components-spx-check-digit.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-form-section.mjs +6 -6
- package/fesm2022/softpak-components-spx-form-section.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-form-view.mjs +170 -0
- package/fesm2022/softpak-components-spx-form-view.mjs.map +1 -0
- package/fesm2022/softpak-components-spx-inputs.mjs +306 -112
- package/fesm2022/softpak-components-spx-inputs.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-navigation.mjs +37 -12
- package/fesm2022/softpak-components-spx-navigation.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-number-check.mjs +269 -0
- package/fesm2022/softpak-components-spx-number-check.mjs.map +1 -0
- package/fesm2022/softpak-components-spx-spinner.mjs +4 -4
- package/fesm2022/softpak-components-spx-spinner.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-suggestion.mjs +25 -9
- package/fesm2022/softpak-components-spx-suggestion.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-toaster.mjs +2 -2
- package/fesm2022/softpak-components-spx-toaster.mjs.map +1 -1
- package/fesm2022/softpak-components-spx-update.mjs +1 -1
- package/fesm2022/softpak-components-spx-update.mjs.map +1 -1
- package/package.json +59 -41
- package/spx-change-details/index.d.ts +5 -0
- package/spx-change-details/public-api.d.ts +1 -0
- package/spx-change-details/spx-change-details-value.interface.d.ts +7 -0
- package/spx-change-details/spx-change-details.component.d.ts +40 -0
- package/spx-form-view/index.d.ts +5 -0
- package/spx-form-view/public-api.d.ts +3 -0
- package/spx-form-view/spx-form-field.interface.d.ts +16 -0
- package/spx-form-view/spx-form-section.interface.d.ts +9 -0
- package/spx-form-view/spx-form-view.component.d.ts +27 -0
- package/spx-inputs/spx-dropdown.component.d.ts +18 -0
- package/spx-inputs/spx-input-box.component.d.ts +14 -7
- package/spx-inputs/spx-input-radio.component.d.ts +13 -5
- package/spx-inputs/spx-input-text.component.d.ts +2 -1
- package/spx-inputs/spx-input-type.enum.d.ts +2 -1
- package/spx-inputs/spx-input.component.d.ts +7 -3
- package/spx-navigation/spx-home-tile.component.d.ts +5 -1
- package/spx-navigation/spx-navigation-item.interface.d.ts +1 -0
- package/spx-navigation/spx-navigation.component.d.ts +4 -1
- package/spx-number-check/index.d.ts +5 -0
- package/spx-number-check/public-api.d.ts +1 -0
- package/spx-number-check/spx-number-check.component.d.ts +48 -0
- package/spx-suggestion/spx-suggestion.component.d.ts +3 -1
- package/tailwind.css +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@softpak/components",
|
|
3
|
-
"version": "0.0.0-beta.
|
|
3
|
+
"version": "0.0.0-beta.141",
|
|
4
4
|
"private": false,
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^17.x.x",
|
|
@@ -23,24 +23,6 @@
|
|
|
23
23
|
"esm": "./esm2022/softpak-components.mjs",
|
|
24
24
|
"default": "./fesm2022/softpak-components.mjs"
|
|
25
25
|
},
|
|
26
|
-
"./spx-capitalize": {
|
|
27
|
-
"types": "./spx-capitalize/index.d.ts",
|
|
28
|
-
"esm2022": "./esm2022/spx-capitalize/softpak-components-spx-capitalize.mjs",
|
|
29
|
-
"esm": "./esm2022/spx-capitalize/softpak-components-spx-capitalize.mjs",
|
|
30
|
-
"default": "./fesm2022/softpak-components-spx-capitalize.mjs"
|
|
31
|
-
},
|
|
32
|
-
"./spx-channel-selection": {
|
|
33
|
-
"types": "./spx-channel-selection/index.d.ts",
|
|
34
|
-
"esm2022": "./esm2022/spx-channel-selection/softpak-components-spx-channel-selection.mjs",
|
|
35
|
-
"esm": "./esm2022/spx-channel-selection/softpak-components-spx-channel-selection.mjs",
|
|
36
|
-
"default": "./fesm2022/softpak-components-spx-channel-selection.mjs"
|
|
37
|
-
},
|
|
38
|
-
"./spx-check-digit": {
|
|
39
|
-
"types": "./spx-check-digit/index.d.ts",
|
|
40
|
-
"esm2022": "./esm2022/spx-check-digit/softpak-components-spx-check-digit.mjs",
|
|
41
|
-
"esm": "./esm2022/spx-check-digit/softpak-components-spx-check-digit.mjs",
|
|
42
|
-
"default": "./fesm2022/softpak-components-spx-check-digit.mjs"
|
|
43
|
-
},
|
|
44
26
|
"./spx-alert": {
|
|
45
27
|
"types": "./spx-alert/index.d.ts",
|
|
46
28
|
"esm2022": "./esm2022/spx-alert/softpak-components-spx-alert.mjs",
|
|
@@ -59,12 +41,48 @@
|
|
|
59
41
|
"esm": "./esm2022/spx-app-configuration/softpak-components-spx-app-configuration.mjs",
|
|
60
42
|
"default": "./fesm2022/softpak-components-spx-app-configuration.mjs"
|
|
61
43
|
},
|
|
44
|
+
"./spx-change-details": {
|
|
45
|
+
"types": "./spx-change-details/index.d.ts",
|
|
46
|
+
"esm2022": "./esm2022/spx-change-details/softpak-components-spx-change-details.mjs",
|
|
47
|
+
"esm": "./esm2022/spx-change-details/softpak-components-spx-change-details.mjs",
|
|
48
|
+
"default": "./fesm2022/softpak-components-spx-change-details.mjs"
|
|
49
|
+
},
|
|
50
|
+
"./spx-capitalize": {
|
|
51
|
+
"types": "./spx-capitalize/index.d.ts",
|
|
52
|
+
"esm2022": "./esm2022/spx-capitalize/softpak-components-spx-capitalize.mjs",
|
|
53
|
+
"esm": "./esm2022/spx-capitalize/softpak-components-spx-capitalize.mjs",
|
|
54
|
+
"default": "./fesm2022/softpak-components-spx-capitalize.mjs"
|
|
55
|
+
},
|
|
56
|
+
"./spx-channel-selection": {
|
|
57
|
+
"types": "./spx-channel-selection/index.d.ts",
|
|
58
|
+
"esm2022": "./esm2022/spx-channel-selection/softpak-components-spx-channel-selection.mjs",
|
|
59
|
+
"esm": "./esm2022/spx-channel-selection/softpak-components-spx-channel-selection.mjs",
|
|
60
|
+
"default": "./fesm2022/softpak-components-spx-channel-selection.mjs"
|
|
61
|
+
},
|
|
62
|
+
"./spx-check-digit": {
|
|
63
|
+
"types": "./spx-check-digit/index.d.ts",
|
|
64
|
+
"esm2022": "./esm2022/spx-check-digit/softpak-components-spx-check-digit.mjs",
|
|
65
|
+
"esm": "./esm2022/spx-check-digit/softpak-components-spx-check-digit.mjs",
|
|
66
|
+
"default": "./fesm2022/softpak-components-spx-check-digit.mjs"
|
|
67
|
+
},
|
|
62
68
|
"./spx-form-section": {
|
|
63
69
|
"types": "./spx-form-section/index.d.ts",
|
|
64
70
|
"esm2022": "./esm2022/spx-form-section/softpak-components-spx-form-section.mjs",
|
|
65
71
|
"esm": "./esm2022/spx-form-section/softpak-components-spx-form-section.mjs",
|
|
66
72
|
"default": "./fesm2022/softpak-components-spx-form-section.mjs"
|
|
67
73
|
},
|
|
74
|
+
"./spx-form-view": {
|
|
75
|
+
"types": "./spx-form-view/index.d.ts",
|
|
76
|
+
"esm2022": "./esm2022/spx-form-view/softpak-components-spx-form-view.mjs",
|
|
77
|
+
"esm": "./esm2022/spx-form-view/softpak-components-spx-form-view.mjs",
|
|
78
|
+
"default": "./fesm2022/softpak-components-spx-form-view.mjs"
|
|
79
|
+
},
|
|
80
|
+
"./spx-helpers": {
|
|
81
|
+
"types": "./spx-helpers/index.d.ts",
|
|
82
|
+
"esm2022": "./esm2022/spx-helpers/softpak-components-spx-helpers.mjs",
|
|
83
|
+
"esm": "./esm2022/spx-helpers/softpak-components-spx-helpers.mjs",
|
|
84
|
+
"default": "./fesm2022/softpak-components-spx-helpers.mjs"
|
|
85
|
+
},
|
|
68
86
|
"./spx-inputs": {
|
|
69
87
|
"types": "./spx-inputs/index.d.ts",
|
|
70
88
|
"esm2022": "./esm2022/spx-inputs/softpak-components-spx-inputs.mjs",
|
|
@@ -77,11 +95,11 @@
|
|
|
77
95
|
"esm": "./esm2022/spx-navigation/softpak-components-spx-navigation.mjs",
|
|
78
96
|
"default": "./fesm2022/softpak-components-spx-navigation.mjs"
|
|
79
97
|
},
|
|
80
|
-
"./spx-
|
|
81
|
-
"types": "./spx-
|
|
82
|
-
"esm2022": "./esm2022/spx-
|
|
83
|
-
"esm": "./esm2022/spx-
|
|
84
|
-
"default": "./fesm2022/softpak-components-spx-
|
|
98
|
+
"./spx-number-check": {
|
|
99
|
+
"types": "./spx-number-check/index.d.ts",
|
|
100
|
+
"esm2022": "./esm2022/spx-number-check/softpak-components-spx-number-check.mjs",
|
|
101
|
+
"esm": "./esm2022/spx-number-check/softpak-components-spx-number-check.mjs",
|
|
102
|
+
"default": "./fesm2022/softpak-components-spx-number-check.mjs"
|
|
85
103
|
},
|
|
86
104
|
"./spx-patch": {
|
|
87
105
|
"types": "./spx-patch/index.d.ts",
|
|
@@ -89,12 +107,6 @@
|
|
|
89
107
|
"esm": "./esm2022/spx-patch/softpak-components-spx-patch.mjs",
|
|
90
108
|
"default": "./fesm2022/softpak-components-spx-patch.mjs"
|
|
91
109
|
},
|
|
92
|
-
"./spx-storage": {
|
|
93
|
-
"types": "./spx-storage/index.d.ts",
|
|
94
|
-
"esm2022": "./esm2022/spx-storage/softpak-components-spx-storage.mjs",
|
|
95
|
-
"esm": "./esm2022/spx-storage/softpak-components-spx-storage.mjs",
|
|
96
|
-
"default": "./fesm2022/softpak-components-spx-storage.mjs"
|
|
97
|
-
},
|
|
98
110
|
"./spx-progress-bar": {
|
|
99
111
|
"types": "./spx-progress-bar/index.d.ts",
|
|
100
112
|
"esm2022": "./esm2022/spx-progress-bar/softpak-components-spx-progress-bar.mjs",
|
|
@@ -107,11 +119,17 @@
|
|
|
107
119
|
"esm": "./esm2022/spx-spinner/softpak-components-spx-spinner.mjs",
|
|
108
120
|
"default": "./fesm2022/softpak-components-spx-spinner.mjs"
|
|
109
121
|
},
|
|
110
|
-
"./spx-
|
|
111
|
-
"types": "./spx-
|
|
112
|
-
"esm2022": "./esm2022/spx-
|
|
113
|
-
"esm": "./esm2022/spx-
|
|
114
|
-
"default": "./fesm2022/softpak-components-spx-
|
|
122
|
+
"./spx-storage": {
|
|
123
|
+
"types": "./spx-storage/index.d.ts",
|
|
124
|
+
"esm2022": "./esm2022/spx-storage/softpak-components-spx-storage.mjs",
|
|
125
|
+
"esm": "./esm2022/spx-storage/softpak-components-spx-storage.mjs",
|
|
126
|
+
"default": "./fesm2022/softpak-components-spx-storage.mjs"
|
|
127
|
+
},
|
|
128
|
+
"./spx-suggestion": {
|
|
129
|
+
"types": "./spx-suggestion/index.d.ts",
|
|
130
|
+
"esm2022": "./esm2022/spx-suggestion/softpak-components-spx-suggestion.mjs",
|
|
131
|
+
"esm": "./esm2022/spx-suggestion/softpak-components-spx-suggestion.mjs",
|
|
132
|
+
"default": "./fesm2022/softpak-components-spx-suggestion.mjs"
|
|
115
133
|
},
|
|
116
134
|
"./spx-toaster": {
|
|
117
135
|
"types": "./spx-toaster/index.d.ts",
|
|
@@ -119,17 +137,17 @@
|
|
|
119
137
|
"esm": "./esm2022/spx-toaster/softpak-components-spx-toaster.mjs",
|
|
120
138
|
"default": "./fesm2022/softpak-components-spx-toaster.mjs"
|
|
121
139
|
},
|
|
140
|
+
"./spx-update": {
|
|
141
|
+
"types": "./spx-update/index.d.ts",
|
|
142
|
+
"esm2022": "./esm2022/spx-update/softpak-components-spx-update.mjs",
|
|
143
|
+
"esm": "./esm2022/spx-update/softpak-components-spx-update.mjs",
|
|
144
|
+
"default": "./fesm2022/softpak-components-spx-update.mjs"
|
|
145
|
+
},
|
|
122
146
|
"./spx-validation": {
|
|
123
147
|
"types": "./spx-validation/index.d.ts",
|
|
124
148
|
"esm2022": "./esm2022/spx-validation/softpak-components-spx-validation.mjs",
|
|
125
149
|
"esm": "./esm2022/spx-validation/softpak-components-spx-validation.mjs",
|
|
126
150
|
"default": "./fesm2022/softpak-components-spx-validation.mjs"
|
|
127
|
-
},
|
|
128
|
-
"./spx-suggestion": {
|
|
129
|
-
"types": "./spx-suggestion/index.d.ts",
|
|
130
|
-
"esm2022": "./esm2022/spx-suggestion/softpak-components-spx-suggestion.mjs",
|
|
131
|
-
"esm": "./esm2022/spx-suggestion/softpak-components-spx-suggestion.mjs",
|
|
132
|
-
"default": "./fesm2022/softpak-components-spx-suggestion.mjs"
|
|
133
151
|
}
|
|
134
152
|
}
|
|
135
153
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './spx-change-details.component';
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
|
|
3
|
+
import { SpxInputTypeEnum } from '@softpak/components/spx-inputs';
|
|
4
|
+
import { SpxFormSectionI } from '@softpak/components/spx-form-view';
|
|
5
|
+
import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
|
|
6
|
+
import { SpxChangeDetailsValueI } from './spx-change-details-value.interface';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare const sectionChangeDetails = "changeDetails";
|
|
9
|
+
export declare const ctrlContainerType = "containerType";
|
|
10
|
+
export declare const ctrlTonsTested = "tonsTested";
|
|
11
|
+
export declare const ctrlLicensePlate = "licensePlate";
|
|
12
|
+
export declare const ctrlCategory = "category";
|
|
13
|
+
export declare class SpxChangeDetailsComponent {
|
|
14
|
+
readonly formBuilder: FormBuilder;
|
|
15
|
+
formGroup: FormGroup;
|
|
16
|
+
showCategory: boolean;
|
|
17
|
+
suggestions: any;
|
|
18
|
+
txtCategory: string;
|
|
19
|
+
txtContainerType: string;
|
|
20
|
+
txtLicensePlate: string;
|
|
21
|
+
txtTonsTested: string;
|
|
22
|
+
submit: EventEmitter<SpxChangeDetailsValueI>;
|
|
23
|
+
inputTypeAutocomplete: SpxInputTypeEnum;
|
|
24
|
+
inputTypeRadio: SpxInputTypeEnum;
|
|
25
|
+
inputTypeText: SpxInputTypeEnum;
|
|
26
|
+
severitySuccess: SpxSeverityEnum;
|
|
27
|
+
sections: SpxFormSectionI[];
|
|
28
|
+
get ctrlCategory(): FormControl;
|
|
29
|
+
get ctrlContainerType(): FormControl;
|
|
30
|
+
get ctrlLicensePlate(): FormControl;
|
|
31
|
+
get ctrlTonsTested(): FormControl;
|
|
32
|
+
private inputChanges?;
|
|
33
|
+
constructor(formBuilder: FormBuilder);
|
|
34
|
+
createForm(): FormGroup;
|
|
35
|
+
ngOnDestroy(): void;
|
|
36
|
+
getRawValidators(formControl: FormControl): any;
|
|
37
|
+
onSubmit(): void;
|
|
38
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SpxChangeDetailsComponent, never>;
|
|
39
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpxChangeDetailsComponent, "spx-change-details", never, { "formGroup": { "alias": "formGroup"; "required": false; }; "showCategory": { "alias": "showCategory"; "required": false; }; "suggestions": { "alias": "suggestions"; "required": false; }; "txtCategory": { "alias": "txtCategory"; "required": false; }; "txtContainerType": { "alias": "txtContainerType"; "required": false; }; "txtLicensePlate": { "alias": "txtLicensePlate"; "required": false; }; "txtTonsTested": { "alias": "txtTonsTested"; "required": false; }; }, { "submit": "submit"; }, never, never, true, never>;
|
|
40
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { SpxInputTypeEnum, SpxValuePair } from "@softpak/components/spx-inputs";
|
|
2
|
+
export interface SpxFormFieldI {
|
|
3
|
+
afterValueChange?: (value: SpxValuePair<string | number | boolean | any>) => void;
|
|
4
|
+
autofocus?: () => boolean;
|
|
5
|
+
capitalize?: () => boolean;
|
|
6
|
+
defaultValue?: () => string | number | boolean | any;
|
|
7
|
+
key: string;
|
|
8
|
+
label?: () => string;
|
|
9
|
+
readonly?: () => boolean;
|
|
10
|
+
show?: () => boolean;
|
|
11
|
+
step?: () => number;
|
|
12
|
+
suggestions?: () => boolean;
|
|
13
|
+
suggestionsFixed?: () => SpxValuePair<string | number | boolean | any>[];
|
|
14
|
+
type: () => SpxInputTypeEnum;
|
|
15
|
+
validators?: () => any[];
|
|
16
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { SpxFormSectionI } from './spx-form-section.interface';
|
|
2
|
+
import { SpxInputTypeEnum } from '@softpak/components/spx-inputs';
|
|
3
|
+
import { AbstractControl, FormBuilder, FormGroup } from '@angular/forms';
|
|
4
|
+
import { SpxFormFieldI } from './spx-form-field.interface';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class SpxFormViewComponent {
|
|
7
|
+
readonly formBuilder: FormBuilder;
|
|
8
|
+
spxFormGroup: FormGroup;
|
|
9
|
+
spxSections: SpxFormSectionI[];
|
|
10
|
+
spxSuggestions: any;
|
|
11
|
+
typeAutocomplete: SpxInputTypeEnum;
|
|
12
|
+
typeFloat: SpxInputTypeEnum;
|
|
13
|
+
typeNumber: SpxInputTypeEnum;
|
|
14
|
+
typeRadio: SpxInputTypeEnum;
|
|
15
|
+
typeText: SpxInputTypeEnum;
|
|
16
|
+
typeNumericKeyboard: SpxInputTypeEnum;
|
|
17
|
+
typeOverlay: SpxInputTypeEnum;
|
|
18
|
+
typeOverlayNumber: SpxInputTypeEnum;
|
|
19
|
+
onBlur(field: SpxFormFieldI): void;
|
|
20
|
+
getRawValidators(formControl: AbstractControl): any;
|
|
21
|
+
hasRequiredField(abstractControl: AbstractControl): boolean;
|
|
22
|
+
static initialFormValue(sections: SpxFormSectionI[]): any;
|
|
23
|
+
static createForm(formBuilder: FormBuilder, sections: SpxFormSectionI[]): FormGroup;
|
|
24
|
+
constructor(formBuilder: FormBuilder);
|
|
25
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SpxFormViewComponent, never>;
|
|
26
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpxFormViewComponent, "spx-form-view", never, { "spxFormGroup": { "alias": "spxFormGroup"; "required": false; }; "spxSections": { "alias": "spxSections"; "required": false; }; "spxSuggestions": { "alias": "spxSuggestions"; "required": false; }; }, {}, never, never, true, never>;
|
|
27
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { SpxValuePair } from './spx-value-interface';
|
|
3
|
+
import { Subscription } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class SpxDropdownComponent implements OnChanges, OnInit, OnDestroy {
|
|
6
|
+
protected focusPosition: number;
|
|
7
|
+
spxSuggestions: SpxValuePair<boolean | number | string>[];
|
|
8
|
+
spxSelect: EventEmitter<SpxValuePair<any>>;
|
|
9
|
+
subscriptionKeyUp?: Subscription;
|
|
10
|
+
ngOnInit(): void;
|
|
11
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
12
|
+
ngOnDestroy(): void;
|
|
13
|
+
handleSuggestionClick(valuePair: SpxValuePair<string | number | boolean>): void;
|
|
14
|
+
private listenToKeyUp;
|
|
15
|
+
private select;
|
|
16
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SpxDropdownComponent, never>;
|
|
17
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpxDropdownComponent, "spx-dropdown", never, { "spxSuggestions": { "alias": "spxSuggestions"; "required": false; }; }, { "spxSelect": "spxSelect"; }, never, never, true, never>;
|
|
18
|
+
}
|
|
@@ -1,18 +1,21 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
1
|
+
import { ElementRef, EventEmitter } from '@angular/core';
|
|
2
2
|
import { SpxValuePair } from './spx-value-interface';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class SpxInputBoxComponent {
|
|
5
|
+
private elRef;
|
|
5
6
|
faEdit: import("@fortawesome/fontawesome-common-types").IconDefinition;
|
|
6
7
|
faSearch: import("@fortawesome/fontawesome-common-types").IconDefinition;
|
|
7
8
|
faQuestion: import("@fortawesome/fontawesome-common-types").IconDefinition;
|
|
8
9
|
faTimes: import("@fortawesome/fontawesome-common-types").IconDefinition;
|
|
10
|
+
spxCompact?: boolean;
|
|
11
|
+
spxFocused: boolean;
|
|
9
12
|
spxLabel?: string;
|
|
10
|
-
spxRequired?: boolean;
|
|
11
13
|
spxReadonly: boolean;
|
|
12
|
-
|
|
13
|
-
spxCompact?: boolean;
|
|
14
|
+
spxRequired?: boolean;
|
|
14
15
|
spxShowClear: boolean;
|
|
15
16
|
spxShowEdit?: boolean;
|
|
17
|
+
spxShowHelp?: boolean;
|
|
18
|
+
spxShowLabel: boolean;
|
|
16
19
|
spxShowSearch?: boolean;
|
|
17
20
|
spxShowValidationMessages?: boolean | null | undefined;
|
|
18
21
|
spxValue?: SpxValuePair<any>;
|
|
@@ -22,12 +25,16 @@ export declare class SpxInputBoxComponent {
|
|
|
22
25
|
spxFocusOut: EventEmitter<void>;
|
|
23
26
|
spxEdit: EventEmitter<void>;
|
|
24
27
|
spxHelp: EventEmitter<void>;
|
|
25
|
-
|
|
26
|
-
|
|
28
|
+
handleFocusIn(ev: Event): void;
|
|
29
|
+
handleFocusOut(ev: FocusEvent): void;
|
|
30
|
+
handleWindowClick(ev: Event): void;
|
|
27
31
|
onClear(): void;
|
|
28
32
|
onSearch(): void;
|
|
29
33
|
onEdit(): void;
|
|
30
34
|
onHelp(): void;
|
|
35
|
+
constructor(elRef: ElementRef);
|
|
36
|
+
private emitFocusIn;
|
|
37
|
+
private emitFocusOut;
|
|
31
38
|
static ɵfac: i0.ɵɵFactoryDeclaration<SpxInputBoxComponent, never>;
|
|
32
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SpxInputBoxComponent, "spx-input-box", never, { "
|
|
39
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpxInputBoxComponent, "spx-input-box", never, { "spxCompact": { "alias": "spxCompact"; "required": false; }; "spxFocused": { "alias": "spxFocused"; "required": false; }; "spxLabel": { "alias": "spxLabel"; "required": false; }; "spxReadonly": { "alias": "spxReadonly"; "required": false; }; "spxRequired": { "alias": "spxRequired"; "required": false; }; "spxShowClear": { "alias": "spxShowClear"; "required": false; }; "spxShowEdit": { "alias": "spxShowEdit"; "required": false; }; "spxShowHelp": { "alias": "spxShowHelp"; "required": false; }; "spxShowLabel": { "alias": "spxShowLabel"; "required": false; }; "spxShowSearch": { "alias": "spxShowSearch"; "required": false; }; "spxShowValidationMessages": { "alias": "spxShowValidationMessages"; "required": false; }; "spxValue": { "alias": "spxValue"; "required": false; }; }, { "spxClear": "spxClear"; "spxSearch": "spxSearch"; "spxFocus": "spxFocus"; "spxFocusOut": "spxFocusOut"; "spxEdit": "spxEdit"; "spxHelp": "spxHelp"; }, never, ["[controls]", "[validation-messages]"], true, never>;
|
|
33
40
|
}
|
|
@@ -1,18 +1,26 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
1
|
+
import { EventEmitter, SimpleChanges } from '@angular/core';
|
|
2
2
|
import { SpxValuePair } from './spx-value-interface';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class SpxInputRadioComponent {
|
|
5
|
+
protected focusPosition: number;
|
|
5
6
|
spxName?: string;
|
|
6
7
|
spxValidators: any[];
|
|
7
8
|
spxFocused: boolean;
|
|
9
|
+
spxShowLabel: boolean;
|
|
8
10
|
spxReadonly: boolean;
|
|
9
11
|
spxSuggestions: SpxValuePair<any>[];
|
|
10
12
|
value?: SpxValuePair<any>;
|
|
11
13
|
spxChange: EventEmitter<SpxValuePair<any>>;
|
|
12
14
|
spxFocus: EventEmitter<void>;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
15
|
+
private subscriptionKeyUp?;
|
|
16
|
+
private subscriptionKeyDown?;
|
|
17
|
+
spxFocusIn(): void;
|
|
18
|
+
spxFocusOut(): void;
|
|
19
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
20
|
+
handleSuggestionClick(valuePair: SpxValuePair<any>): void;
|
|
21
|
+
private determineFocusPosition;
|
|
22
|
+
private select;
|
|
23
|
+
private listenToKeys;
|
|
16
24
|
static ɵfac: i0.ɵɵFactoryDeclaration<SpxInputRadioComponent, never>;
|
|
17
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SpxInputRadioComponent, "spx-input-radio", never, { "spxName": { "alias": "spxName"; "required": false; }; "spxValidators": { "alias": "spxValidators"; "required": false; }; "spxFocused": { "alias": "spxFocused"; "required": false; }; "spxReadonly": { "alias": "spxReadonly"; "required": false; }; "spxSuggestions": { "alias": "spxSuggestions"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "spxChange": "spxChange"; "spxFocus": "spxFocus"; }, never, never, true, never>;
|
|
25
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpxInputRadioComponent, "spx-input-radio", never, { "spxName": { "alias": "spxName"; "required": false; }; "spxValidators": { "alias": "spxValidators"; "required": false; }; "spxFocused": { "alias": "spxFocused"; "required": false; }; "spxShowLabel": { "alias": "spxShowLabel"; "required": false; }; "spxReadonly": { "alias": "spxReadonly"; "required": false; }; "spxSuggestions": { "alias": "spxSuggestions"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "spxChange": "spxChange"; "spxFocus": "spxFocus"; }, never, never, true, never>;
|
|
18
26
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EventEmitter } from '@angular/core';
|
|
1
|
+
import { ElementRef, EventEmitter } from '@angular/core';
|
|
2
2
|
import { SpxValuePair } from './spx-value-interface';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class SpxInputTextComponent {
|
|
@@ -17,6 +17,7 @@ export declare class SpxInputTextComponent {
|
|
|
17
17
|
spxChange: EventEmitter<SpxValuePair<any>>;
|
|
18
18
|
spxFocus: EventEmitter<void>;
|
|
19
19
|
spxWasInternalUpdate: boolean;
|
|
20
|
+
inputRef?: ElementRef<HTMLInputElement>;
|
|
20
21
|
spxSetFocus(): Promise<void>;
|
|
21
22
|
componentDidLoad(): void;
|
|
22
23
|
handleBlur(): void;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import { SpxInputTextComponent } from './spx-input-text.component';
|
|
2
3
|
import { SpxValuePair } from './spx-value-interface';
|
|
4
|
+
import { SpxInputRadioComponent } from './spx-input-radio.component';
|
|
3
5
|
import { SpxInputTypeEnum } from './spx-input-type.enum';
|
|
4
6
|
import * as i0 from "@angular/core";
|
|
5
7
|
export declare class SpxInputComponent {
|
|
@@ -16,6 +18,7 @@ export declare class SpxInputComponent {
|
|
|
16
18
|
spxSelectDay: boolean;
|
|
17
19
|
spxShowEdit: boolean;
|
|
18
20
|
spxShowHelp: boolean;
|
|
21
|
+
spxShowLabel: boolean;
|
|
19
22
|
spxCompact: boolean;
|
|
20
23
|
spxShowClear: boolean;
|
|
21
24
|
spxShowSearch: boolean;
|
|
@@ -33,14 +36,15 @@ export declare class SpxInputComponent {
|
|
|
33
36
|
spxEdit: EventEmitter<void>;
|
|
34
37
|
spxHelp: EventEmitter<void>;
|
|
35
38
|
spxSearch: EventEmitter<void>;
|
|
39
|
+
textInput?: SpxInputTextComponent;
|
|
40
|
+
radioInput?: SpxInputRadioComponent;
|
|
36
41
|
spxFocused: boolean;
|
|
37
|
-
spxSetFocus(): Promise<void>;
|
|
38
42
|
handleBlur(): void;
|
|
39
43
|
handleChange(event: any): void;
|
|
40
44
|
handleClear(): void;
|
|
41
45
|
handleFocus(): void;
|
|
42
46
|
handleSearch(): void;
|
|
43
|
-
|
|
47
|
+
setFocusIn(): void;
|
|
44
48
|
setFocusOut(): void;
|
|
45
49
|
handleEdit(): void;
|
|
46
50
|
handleHelp(): void;
|
|
@@ -54,5 +58,5 @@ export declare class SpxInputComponent {
|
|
|
54
58
|
registerOnChange(fn: (value: any) => void): void;
|
|
55
59
|
registerOnTouched(fn: () => void): void;
|
|
56
60
|
static ɵfac: i0.ɵɵFactoryDeclaration<SpxInputComponent, never>;
|
|
57
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SpxInputComponent, "spx-input", never, { "spxLabel": { "alias": "spxLabel"; "required": false; }; "spxMax": { "alias": "spxMax"; "required": false; }; "spxMin": { "alias": "spxMin"; "required": false; }; "spxName": { "alias": "spxName"; "required": false; }; "spxReadonly": { "alias": "spxReadonly"; "required": false; }; "spxAutofocus": { "alias": "spxAutofocus"; "required": false; }; "spxInputMode": { "alias": "spxInputMode"; "required": false; }; "spxPattern": { "alias": "spxPattern"; "required": false; }; "spxRequired": { "alias": "spxRequired"; "required": false; }; "spxSelectMonth": { "alias": "spxSelectMonth"; "required": false; }; "spxSelectDay": { "alias": "spxSelectDay"; "required": false; }; "spxShowEdit": { "alias": "spxShowEdit"; "required": false; }; "spxShowHelp": { "alias": "spxShowHelp"; "required": false; }; "spxCompact": { "alias": "spxCompact"; "required": false; }; "spxShowClear": { "alias": "spxShowClear"; "required": false; }; "spxShowSearch": { "alias": "spxShowSearch"; "required": false; }; "spxShowValidationMessages": { "alias": "spxShowValidationMessages"; "required": false; }; "spxStep": { "alias": "spxStep"; "required": false; }; "spxSuggestions": { "alias": "spxSuggestions"; "required": false; }; "spxType": { "alias": "spxType"; "required": false; }; "spxValidators": { "alias": "spxValidators"; "required": false; }; "value": { "alias": "value"; "required": false; }; "spxCapitalize": { "alias": "spxCapitalize"; "required": false; }; "spxFocused": { "alias": "spxFocused"; "required": false; }; }, { "spxBlur": "spxBlur"; "spxClear": "spxClear"; "spxChange": "spxChange"; "spxFocus": "spxFocus"; "spxEdit": "spxEdit"; "spxHelp": "spxHelp"; "spxSearch": "spxSearch"; }, never, ["*"], true, never>;
|
|
61
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpxInputComponent, "spx-input", never, { "spxLabel": { "alias": "spxLabel"; "required": false; }; "spxMax": { "alias": "spxMax"; "required": false; }; "spxMin": { "alias": "spxMin"; "required": false; }; "spxName": { "alias": "spxName"; "required": false; }; "spxReadonly": { "alias": "spxReadonly"; "required": false; }; "spxAutofocus": { "alias": "spxAutofocus"; "required": false; }; "spxInputMode": { "alias": "spxInputMode"; "required": false; }; "spxPattern": { "alias": "spxPattern"; "required": false; }; "spxRequired": { "alias": "spxRequired"; "required": false; }; "spxSelectMonth": { "alias": "spxSelectMonth"; "required": false; }; "spxSelectDay": { "alias": "spxSelectDay"; "required": false; }; "spxShowEdit": { "alias": "spxShowEdit"; "required": false; }; "spxShowHelp": { "alias": "spxShowHelp"; "required": false; }; "spxShowLabel": { "alias": "spxShowLabel"; "required": false; }; "spxCompact": { "alias": "spxCompact"; "required": false; }; "spxShowClear": { "alias": "spxShowClear"; "required": false; }; "spxShowSearch": { "alias": "spxShowSearch"; "required": false; }; "spxShowValidationMessages": { "alias": "spxShowValidationMessages"; "required": false; }; "spxStep": { "alias": "spxStep"; "required": false; }; "spxSuggestions": { "alias": "spxSuggestions"; "required": false; }; "spxType": { "alias": "spxType"; "required": false; }; "spxValidators": { "alias": "spxValidators"; "required": false; }; "value": { "alias": "value"; "required": false; }; "spxCapitalize": { "alias": "spxCapitalize"; "required": false; }; "spxFocused": { "alias": "spxFocused"; "required": false; }; }, { "spxBlur": "spxBlur"; "spxClear": "spxClear"; "spxChange": "spxChange"; "spxFocus": "spxFocus"; "spxEdit": "spxEdit"; "spxHelp": "spxHelp"; "spxSearch": "spxSearch"; }, never, ["*"], true, never>;
|
|
58
62
|
}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
export declare class SpxHomeTileComponent {
|
|
3
|
+
spxAutofocus?: boolean;
|
|
3
4
|
spxClass?: string;
|
|
5
|
+
spxSubtitle?: string;
|
|
4
6
|
spxTitle?: string;
|
|
7
|
+
private buttonRef?;
|
|
8
|
+
setFocus(): void;
|
|
5
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<SpxHomeTileComponent, never>;
|
|
6
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SpxHomeTileComponent, "spx-home-tile", never, { "spxClass": { "alias": "spxClass"; "required": false; }; "spxTitle": { "alias": "spxTitle"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
10
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpxHomeTileComponent, "spx-home-tile", never, { "spxAutofocus": { "alias": "spxAutofocus"; "required": false; }; "spxClass": { "alias": "spxClass"; "required": false; }; "spxSubtitle": { "alias": "spxSubtitle"; "required": false; }; "spxTitle": { "alias": "spxTitle"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
7
11
|
}
|
|
@@ -1,11 +1,14 @@
|
|
|
1
|
-
import { EventEmitter, TemplateRef } from '@angular/core';
|
|
1
|
+
import { EventEmitter, QueryList, TemplateRef } from '@angular/core';
|
|
2
2
|
import { SpxNavigationItemI } from './spx-navigation-item.interface';
|
|
3
|
+
import { SpxHomeTileComponent } from './spx-home-tile.component';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export declare class SpxNavigationComponent {
|
|
6
|
+
tiles?: QueryList<SpxHomeTileComponent>;
|
|
5
7
|
iconTemplateRef?: TemplateRef<any>;
|
|
6
8
|
navItems: SpxNavigationItemI[];
|
|
7
9
|
spxClick: EventEmitter<string>;
|
|
8
10
|
constructor();
|
|
11
|
+
setFocus(): void;
|
|
9
12
|
onNavigate(link: string): void;
|
|
10
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<SpxNavigationComponent, never>;
|
|
11
14
|
static ɵcmp: i0.ɵɵComponentDeclaration<SpxNavigationComponent, "spx-navigation", never, { "navItems": { "alias": "navItems"; "required": false; }; }, { "spxClick": "spxClick"; }, ["iconTemplateRef"], never, true, never>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './spx-number-check.component';
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
|
|
2
|
+
import { FormBuilder, FormControl, FormGroup } from '@angular/forms';
|
|
3
|
+
import { SpxSeverityEnum } from '@softpak/components/spx-helpers';
|
|
4
|
+
import { Subscription } from 'rxjs';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class SpxNumberCheckComponent implements OnChanges, OnInit, OnDestroy {
|
|
7
|
+
private readonly formBuilder;
|
|
8
|
+
spxAction: string;
|
|
9
|
+
spxSimpleMode: boolean;
|
|
10
|
+
spxPincode: string;
|
|
11
|
+
txtCancel: string;
|
|
12
|
+
txtConfirm: string;
|
|
13
|
+
txtConfirmMessage: string;
|
|
14
|
+
txtReset: string;
|
|
15
|
+
spxCancel: EventEmitter<void>;
|
|
16
|
+
spxConfirm: EventEmitter<void>;
|
|
17
|
+
viewChild1: ElementRef<HTMLInputElement>;
|
|
18
|
+
viewChild2: ElementRef<HTMLInputElement>;
|
|
19
|
+
viewChild3: ElementRef<HTMLInputElement>;
|
|
20
|
+
viewChild4: ElementRef<HTMLInputElement>;
|
|
21
|
+
form: FormGroup;
|
|
22
|
+
severityError: SpxSeverityEnum;
|
|
23
|
+
severitySuccess: SpxSeverityEnum;
|
|
24
|
+
severityWarning: SpxSeverityEnum;
|
|
25
|
+
accepted: boolean;
|
|
26
|
+
denied: boolean;
|
|
27
|
+
listenToCtrl1?: Subscription;
|
|
28
|
+
listenToCtrl2?: Subscription;
|
|
29
|
+
listenToCtrl3?: Subscription;
|
|
30
|
+
listenToCtrl4?: Subscription;
|
|
31
|
+
listenToTyping?: Subscription;
|
|
32
|
+
get ctrl1(): FormControl;
|
|
33
|
+
get ctrl2(): FormControl;
|
|
34
|
+
get ctrl3(): FormControl;
|
|
35
|
+
get ctrl4(): FormControl;
|
|
36
|
+
constructor(formBuilder: FormBuilder);
|
|
37
|
+
ngOnInit(): void;
|
|
38
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
39
|
+
ngOnDestroy(): void;
|
|
40
|
+
handleCancel(): void;
|
|
41
|
+
handleConfirm(): void;
|
|
42
|
+
handleReset(): void;
|
|
43
|
+
onDigitInput(event: any): void;
|
|
44
|
+
onBackspace(event: any): void;
|
|
45
|
+
private checkPincode;
|
|
46
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<SpxNumberCheckComponent, never>;
|
|
47
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpxNumberCheckComponent, "spx-number-check", never, { "spxAction": { "alias": "spxAction"; "required": false; }; "spxSimpleMode": { "alias": "spxSimpleMode"; "required": false; }; "spxPincode": { "alias": "spxPincode"; "required": false; }; "txtCancel": { "alias": "txtCancel"; "required": false; }; "txtConfirm": { "alias": "txtConfirm"; "required": false; }; "txtConfirmMessage": { "alias": "txtConfirmMessage"; "required": false; }; "txtReset": { "alias": "txtReset"; "required": false; }; }, { "spxCancel": "spxCancel"; "spxConfirm": "spxConfirm"; }, never, never, true, never>;
|
|
48
|
+
}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
export declare class SpxSuggestionComponent {
|
|
3
3
|
spxDisabled: boolean;
|
|
4
|
+
spxFocused: boolean;
|
|
4
5
|
spxSelected: boolean;
|
|
6
|
+
spxTabbable: boolean;
|
|
5
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<SpxSuggestionComponent, never>;
|
|
6
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SpxSuggestionComponent, "spx-suggestion", never, { "spxDisabled": { "alias": "spxDisabled"; "required": false; }; "spxSelected": { "alias": "spxSelected"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
8
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SpxSuggestionComponent, "spx-suggestion", never, { "spxDisabled": { "alias": "spxDisabled"; "required": false; }; "spxFocused": { "alias": "spxFocused"; "required": false; }; "spxSelected": { "alias": "spxSelected"; "required": false; }; "spxTabbable": { "alias": "spxTabbable"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
7
9
|
}
|