@libs-ui/services-config-project 0.2.11 → 0.2.12
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/config-project.interface.d.ts +17 -0
- package/config-project.service.d.ts +0 -6
- package/esm2022/config-project.interface.mjs +1 -1
- package/esm2022/config-project.service.mjs +3 -5
- package/esm2022/index.mjs +1 -2
- package/fesm2022/libs-ui-services-config-project.mjs +5 -77
- package/fesm2022/libs-ui-services-config-project.mjs.map +1 -1
- package/index.d.ts +0 -1
- package/package.json +1 -1
- package/config-translate.d.ts +0 -7
- package/data-translation.d.ts +0 -20
- package/esm2022/config-translate.mjs +0 -39
- package/esm2022/data-translation.mjs +0 -7
- package/esm2022/translate.service.mjs +0 -31
- package/translate.service.d.ts +0 -11
|
@@ -55,3 +55,20 @@ export interface IColorButtonTab {
|
|
|
55
55
|
background?: string;
|
|
56
56
|
background_badge?: string;
|
|
57
57
|
}
|
|
58
|
+
export interface IColorButton {
|
|
59
|
+
configStepColor: {
|
|
60
|
+
text: string | number;
|
|
61
|
+
text_hover: string | number;
|
|
62
|
+
text_active: string | number;
|
|
63
|
+
text_disable: string | number;
|
|
64
|
+
background?: string | number;
|
|
65
|
+
background_hover?: string | number;
|
|
66
|
+
background_active?: string | number;
|
|
67
|
+
background_disable?: string | number;
|
|
68
|
+
border?: string | number;
|
|
69
|
+
border_hover?: string | number;
|
|
70
|
+
border_active?: string | number;
|
|
71
|
+
border_disable?: string | number;
|
|
72
|
+
};
|
|
73
|
+
rootColor: string;
|
|
74
|
+
}
|
|
@@ -12,7 +12,6 @@ export declare class LibsUiConfigProjectService {
|
|
|
12
12
|
private readonly backgroundReadonlyColor;
|
|
13
13
|
private readonly configFont;
|
|
14
14
|
private readonly configHead;
|
|
15
|
-
private readonly configDefaultInterpolateParam;
|
|
16
15
|
private readonly configButton;
|
|
17
16
|
private readonly configButtonStatus;
|
|
18
17
|
private readonly configButtonTab;
|
|
@@ -31,11 +30,6 @@ export declare class LibsUiConfigProjectService {
|
|
|
31
30
|
set TextDisableColor(color: string);
|
|
32
31
|
set ConfigFont(configFont: ILibsUiConfigFontFamily);
|
|
33
32
|
set ConfigFontHead(configHead: ILibsUiConfigFontHeading);
|
|
34
|
-
get ConfigDefaultInterpolateParam(): import("@angular/core").WritableSignal<{
|
|
35
|
-
[x: string]: {
|
|
36
|
-
[x: string]: string;
|
|
37
|
-
};
|
|
38
|
-
}>;
|
|
39
33
|
get ConfigButton(): import("@angular/core").Signal<{
|
|
40
34
|
"button-link-primary": {
|
|
41
35
|
configStepColor: {
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
;
|
|
3
3
|
;
|
|
4
4
|
export {};
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXByb2plY3QuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy11aS9zZXJ2aWNlcy9jb25maWctcHJvamVjdC9zcmMvY29uZmlnLXByb2plY3QuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1DLENBQUM7QUErQkQsQ0FBQztBQU9ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIElMaWJzVWlDb25maWdGb250RmFtaWx5IHtcbiAgbmFtZTogc3RyaW5nO1xuICB1cmlfcmVndWxhcjogc3RyaW5nO1xuICB1cmlfbWVkaXVtOiBzdHJpbmc7XG4gIHVyaV9zZW1pYm9sZDogc3RyaW5nO1xuICB1cmlfYm9sZDogc3RyaW5nO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJTGlic1VpQ29uZmlnRm9udEhlYWRpbmcge1xuICBoMXI6IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoMW06IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoMXM6IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoMWI6IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoMnI6IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoMm06IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoMnM6IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoMmI6IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoM3I6IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoM206IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoM3M6IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoM2I6IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoNHI6IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoNG06IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoNHM6IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoNGI6IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoNXI6IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoNW06IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoNXM6IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoNWI6IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoNnI6IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoNm06IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoNnM6IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoNmI6IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoN3I6IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoN206IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoN3M6IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xuICBoN2I6IElMaWJzVWlDb25maWdGb250SGVhZGluZ1N0eWxlO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJTGlic1VpQ29uZmlnRm9udEhlYWRpbmdTdHlsZSB7XG4gICdmb250LXNpemUnOiBzdHJpbmc7XG4gICdmb250LXdlaWdodCc6IHN0cmluZztcbiAgJ2xpbmUtaGVpZ2h0Jzogc3RyaW5nO1xuICAnbGV0dGVyLXNwYWNpbmcnOiBzdHJpbmc7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIElMaWJzVWlDb25maWdCdXR0b25TdGF0dXMge1xuICBba2V5OiBzdHJpbmddOiB7XG4gICAgY29sb3I6IHN0cmluZztcbiAgICBiYWNrZ3JvdW5kPzogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElMaWJzVWlDb25maWdCdXR0b25UYWIge1xuICBba2V5OiBzdHJpbmddOiBJQ29sb3JCdXR0b25UYWI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbG9yQnV0dG9uVGFiIHtcbiAgY29sb3I6IHN0cmluZztcbiAgYmFja2dyb3VuZD86IHN0cmluZztcbiAgYmFja2dyb3VuZF9iYWRnZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQ29sb3JCdXR0b24ge1xuICBjb25maWdTdGVwQ29sb3I6IHtcbiAgICB0ZXh0OiBzdHJpbmcgfCBudW1iZXI7XG4gICAgdGV4dF9ob3Zlcjogc3RyaW5nIHwgbnVtYmVyO1xuICAgIHRleHRfYWN0aXZlOiBzdHJpbmcgfCBudW1iZXI7XG4gICAgdGV4dF9kaXNhYmxlOiBzdHJpbmcgfCBudW1iZXI7XG4gICAgYmFja2dyb3VuZD86IHN0cmluZyB8IG51bWJlcjtcbiAgICBiYWNrZ3JvdW5kX2hvdmVyPzogc3RyaW5nIHwgbnVtYmVyO1xuICAgIGJhY2tncm91bmRfYWN0aXZlPzogc3RyaW5nIHwgbnVtYmVyO1xuICAgIGJhY2tncm91bmRfZGlzYWJsZT86IHN0cmluZyB8IG51bWJlcjtcbiAgICBib3JkZXI/OiBzdHJpbmcgfCBudW1iZXI7XG4gICAgYm9yZGVyX2hvdmVyPzogc3RyaW5nIHwgbnVtYmVyO1xuICAgIGJvcmRlcl9hY3RpdmU/OiBzdHJpbmcgfCBudW1iZXI7XG4gICAgYm9yZGVyX2Rpc2FibGU/OiBzdHJpbmcgfCBudW1iZXI7XG4gIH07XG4gIHJvb3RDb2xvcjogc3RyaW5nO1xufSJdfQ==
|
|
@@ -15,7 +15,6 @@ export class LibsUiConfigProjectService {
|
|
|
15
15
|
backgroundReadonlyColor = signal('#f8f9fa');
|
|
16
16
|
configFont = signal(fontConfig);
|
|
17
17
|
configHead = signal(configHeading);
|
|
18
|
-
configDefaultInterpolateParam = signal({ vi: {}, en: {} });
|
|
19
18
|
configButton = computed(() => {
|
|
20
19
|
return { ...configButtonColor(this.themeColor()), ...configLinkButton(this.themeColor()) };
|
|
21
20
|
});
|
|
@@ -73,9 +72,6 @@ export class LibsUiConfigProjectService {
|
|
|
73
72
|
set ConfigFontHead(configHead) {
|
|
74
73
|
this.configHead.set({ ...configHead });
|
|
75
74
|
}
|
|
76
|
-
get ConfigDefaultInterpolateParam() {
|
|
77
|
-
return this.configDefaultInterpolateParam;
|
|
78
|
-
}
|
|
79
75
|
get ConfigButton() {
|
|
80
76
|
return this.configButton;
|
|
81
77
|
}
|
|
@@ -179,7 +175,9 @@ export class LibsUiConfigProjectService {
|
|
|
179
175
|
.libs-ui-border-right-top-general{border-right: 1px solid var(--libs-ui-color-border, #e6e7ea) !important; border-top: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}
|
|
180
176
|
.libs-ui-border-right-bottom-general{border-right: 1px solid var(--libs-ui-color-border, #e6e7ea) !important; border-bottom: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}
|
|
181
177
|
.libs-ui-border-error-general{border: 1px solid var(--libs-ui-color-border-error, #ee2d41) !important;}
|
|
178
|
+
.libs-ui-bg-list {background-color: #f8f9fa !important;}
|
|
182
179
|
.libs-ui-bg-list-hover:hover {background-color: #f8f9fa !important;}
|
|
180
|
+
.libs-ui-bg-list-active {background-color: var(--libs-ui-color-light-3, #f4f8ff) !important;}
|
|
183
181
|
.libs-ui-bg-list-hover-active:hover {background-color: #f8f9fa !important;}
|
|
184
182
|
.libs-ui-bg-list-hover-active:active {background-color: var(--libs-ui-color-light-3, #f4f8ff) !important;}
|
|
185
183
|
.libs-ui-text-error {color: var(--libs-ui-color-text-error, #ff5454); !important}
|
|
@@ -256,4 +254,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
256
254
|
providedIn: 'root'
|
|
257
255
|
}]
|
|
258
256
|
}], ctorParameters: () => [] });
|
|
259
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXByb2plY3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvc2VydmljZXMvY29uZmlnLXByb2plY3Qvc3JjL2NvbmZpZy1wcm9qZWN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBTXJLLE1BQU0sT0FBTywwQkFBMEI7SUFDcEIsVUFBVSxHQUFHLE1BQU0sQ0FBUyxTQUFTLENBQUMsQ0FBQztJQUN2QyxXQUFXLEdBQUcsTUFBTSxDQUFTLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLGNBQWMsR0FBRyxNQUFNLENBQVMsU0FBUyxDQUFDLENBQUM7SUFDM0Msb0JBQW9CLEdBQUcsTUFBTSxDQUFTLFNBQVMsQ0FBQyxDQUFDO0lBQ2pELGdCQUFnQixHQUFHLE1BQU0sQ0FBUyxTQUFTLENBQUMsQ0FBQztJQUM3QyxzQkFBc0IsR0FBRyxNQUFNLENBQVMsU0FBUyxDQUFDLENBQUM7SUFDbkQsaUJBQWlCLEdBQUcsTUFBTSxDQUFTLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLGdCQUFnQixHQUFHLE1BQU0sQ0FBUyxTQUFTLENBQUMsQ0FBQztJQUM3Qyx1QkFBdUIsR0FBRyxNQUFNLENBQVMsU0FBUyxDQUFDLENBQUM7SUFDcEQsVUFBVSxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7SUFDekQsVUFBVSxHQUFHLE1B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QUMsR0FBRyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQ2xGLFNBQVM7Z0JBQ1gsQ0FBQztnQkFFRCxLQUFLLE1BQU0sS0FBSyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztvQkFFbEMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO3dCQUNwRCxNQUFNO29CQUNSLENBQUM7Z0JBQ0gsQ0FBQztnQkFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDNUIsQ0FBQztZQUVELE9BQU8sT0FBTyxDQUFDO1FBQ2pCLENBQUMsQ0FBQTtJQUNILENBQUM7d0dBdFNVLDBCQUEwQjs0R0FBMUIsMEJBQTBCLGNBSHpCLE1BQU07OzRGQUdQLDBCQUEwQjtrQkFKdEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBjb21wdXRlZCwgZWZmZWN0LCBzaWduYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgY29sb3JTdGVwQ29udHJhc3RGcm9tT3JpZ2luLCBnZXQgfSBmcm9tIFwiQGxpYnMtdWkvdXRpbHNcIjtcbmltcG9ydCB7IGNvbmZpZ0J1dHRvbkNvbG9yLCBjb25maWdCdXR0b25TdGF0dXMsIGNvbmZpZ0J1dHRvblRhYiwgY29uZmlnSGVhZGluZywgY29uZmlnTGlua0J1dHRvbiwgZm9udENvbmZpZywgc3R5bGVCdXR0b25UYWIsIHdlaWdodHMgfSBmcm9tIFwiLi9jb25maWctcHJvamVjdC1kYXRhXCI7XG5pbXBvcnQgeyBJTGlic1VpQ29uZmlnQnV0dG9uU3RhdHVzLCBJTGlic1VpQ29uZmlnQnV0dG9uVGFiLCBJTGlic1VpQ29uZmlnRm9udEZhbWlseSwgSUxpYnNVaUNvbmZpZ0ZvbnRIZWFkaW5nIH0gZnJvbSBcIi4vY29uZmlnLXByb2plY3QuaW50ZXJmYWNlXCI7XG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcblxuZXhwb3J0IGNsYXNzIExpYnNVaUNvbmZpZ1Byb2plY3RTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSB0aGVtZUNvbG9yID0gc2lnbmFsPHN0cmluZz4oJyMyMjZmZjUnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBib3JkZXJDb2xvciA9IHNpZ25hbDxzdHJpbmc+KCcjZTZlN2VhJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGV4dEVycm9yQ29sb3IgPSBzaWduYWw8c3RyaW5nPignI2ZmNTQ1NCcpO1xuICBwcml2YXRlIHJlYWRvbmx5IGljb25Ib3ZlckRhbmdlckNvbG9yID0gc2lnbmFsPHN0cmluZz4oJyNmMTU3NjcnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBib3JkZXJFcnJvckNvbG9yID0gc2lnbmFsPHN0cmluZz4oJyNlZTJkNDEnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBiYWNrZ3JvdW5kRGlzYWJsZUNvbG9yID0gc2lnbmFsPHN0cmluZz4oJyNmOGY5ZmEnKTtcbiAgcHJpdmF0ZSByZWFkb25seSB0ZXh0UmVhZG9ubHlDb2xvciA9IHNpZ25hbDxzdHJpbmc+KCcjMDcxNjMxJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGV4dERpc2FibGVDb2xvciA9IHNpZ25hbDxzdHJpbmc+KCcjOWNhMmFkJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYmFja2dyb3VuZFJlYWRvbmx5Q29sb3IgPSBzaWduYWw8c3RyaW5nPignI2Y4ZjlmYScpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ0ZvbnQgPSBzaWduYWw8SUxpYnNVaUNvbmZpZ0ZvbnRGYW1pbHk+KGZvbnRDb25maWcpO1xuICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ0hlYWQgPSBzaWduYWw8SUxpYnNVaUNvbmZpZ0ZvbnRIZWFkaW5nPihjb25maWdIZWFkaW5nKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWdEZWZhdWx0SW50ZXJwb2xhdGVQYXJhbSA9IHNpZ25hbDx7IFtrZXkgaW4gc3RyaW5nXTogeyBba2V5IGluIHN0cmluZ106IHN0cmluZyB9IH0+KHsgdmk6IHt9LCBlbjoge30gfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnQnV0dG9uID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB7IC4uLmNvbmZpZ0J1dHRvbkNvbG9yKHRoaXMudGhlbWVDb2xvcigpKSwgLi4uY29uZmlnTGlua0J1dHRvbih0aGlzLnRoZW1lQ29sb3IoKSkgfTtcbiAgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnQnV0dG9uU3RhdHVzID0gc2lnbmFsPElMaWJzVWlDb25maWdCdXR0b25TdGF0dXM+KGNvbmZpZ0J1dHRvblN0YXR1cygpKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWdCdXR0b25UYWIgPSBzaWduYWw8SUxpYnNVaUNvbmZpZ0J1dHRvblRhYj4oY29uZmlnQnV0dG9uVGFiKCkpO1xuICBwcml2YXRlIHJlYWRvbmx5IHN0eWxlQ2xhc3NHbG9iYWxFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3R5bGVDbGFzc0hlYWRFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3R5bGVDbGFzc0J1dHRvblRhYkVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5zZXRUaGVtZUNvbG9yKCk7XG4gICAgfSk7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5zZXR1cEZvbnRGYW1pbHkoKTtcbiAgICB9KTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLnNldHVwRm9udEhlYWQoKTtcbiAgICB9KTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLnNldHVwQnV0dG9uVGFiKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNvbmZpZ1N0cmluZygpO1xuICAgIHRoaXMuc2V0Q2xhc3NHbG9iYWwoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgVGhlbWVDb2xvcihjb2xvcjogc3RyaW5nKSB7XG4gICAgdGhpcy50aGVtZUNvbG9yLnNldChjb2xvciB8fCAnIzIyNmZmNScpO1xuICB9XG5cbiAgcHVibGljIHNldCBCb3JkZXJDb2xvcihjb2xvcjogc3RyaW5nKSB7XG4gICAgdGhpcy5ib3JkZXJDb2xvci5zZXQoY29sb3IgfHwgJyNlNmU3ZWEnKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgQm9yZGVyRXJyb3JDb2xvcihjb2xvcjogc3RyaW5nKSB7XG4gICAgdGhpcy5ib3JkZXJFcnJvckNvbG9yLnNldChjb2xvciB8fCAnI2VlMmQ0MScpO1xuICB9XG5cbiAgcHVibGljIHNldCBUZXh0RXJyb3JDb2xvcihjb2xvcjogc3RyaW5nKSB7XG4gICAgdGhpcy50ZXh0RXJyb3JDb2xvci5zZXQoY29sb3IgfHwgJyNmZjU0NTQnKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgSWNvbkhvdmVyRGFuZ2VyQ29sb3IoY29sb3I6IHN0cmluZykge1xuICAgIHRoaXMuaWNvbkhvdmVyRGFuZ2VyQ29sb3Iuc2V0KGNvbG9yIHx8ICcjZmY1NDU0Jyk7XG4gIH1cblxuICBwdWJsaWMgc2V0IEJhY2tncm91bmRSZWFkb25seUNvbG9yKGNvbG9yOiBzdHJpbmcpIHtcbiAgICB0aGlzLmJhY2tncm91bmRSZWFkb25seUNvbG9yLnNldChjb2xvciB8fCAnI2YxNTc2NycpO1xuICB9XG5cbiAgcHVibGljIHNldCBUZXh0UmVhZG9ubHlDb2xvcihjb2xvcjogc3RyaW5nKSB7XG4gICAgdGhpcy50ZXh0UmVhZG9ubHlDb2xvci5zZXQoY29sb3IgfHwgJyMwNzE2MzEnKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgQmFja2dyb3VuZERpc2FibGVDb2xvcihjb2xvcjogc3RyaW5nKSB7XG4gICAgdGhpcy5iYWNrZ3JvdW5kRGlzYWJsZUNvbG9yLnNldChjb2xvciB8fCAnI2Y4ZjlmYScpO1xuICB9XG5cbiAgcHVibGljIHNldCBUZXh0RGlzYWJsZUNvbG9yKGNvbG9yOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRleHREaXNhYmxlQ29sb3Iuc2V0KGNvbG9yIHx8ICcjOWNhMmFkJyk7XG4gIH1cblxuICBwdWJsaWMgc2V0IENvbmZpZ0ZvbnQoY29uZmlnRm9udDogSUxpYnNVaUNvbmZpZ0ZvbnRGYW1pbHkpIHtcbiAgICB0aGlzLmNvbmZpZ0ZvbnQuc2V0KHsgLi4uY29uZmlnRm9udCB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgQ29uZmlnRm9udEhlYWQoY29uZmlnSGVhZDogSUxpYnNVaUNvbmZpZ0ZvbnRIZWFkaW5nKSB7XG4gICAgdGhpcy5jb25maWdIZWFkLnNldCh7IC4uLmNvbmZpZ0hlYWQgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IENvbmZpZ0RlZmF1bHRJbnRlcnBvbGF0ZVBhcmFtKCkge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZ0RlZmF1bHRJbnRlcnBvbGF0ZVBhcmFtO1xuICB9XG5cbiAgcHVibGljIGdldCBDb25maWdCdXR0b24oKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnQnV0dG9uO1xuICB9XG5cbiAgcHVibGljIGdldCBDb25maWdCdXR0b25TdGF0dXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuY29uZmlnQnV0dG9uU3RhdHVzKCk7XG4gIH1cblxuICBwdWJsaWMgc2V0IENvbmZpZ0J1dHRvblN0YXR1cyhjb25maWc6IElMaWJzVWlDb25maWdCdXR0b25TdGF0dXMpIHtcbiAgICB0aGlzLmNvbmZpZ0J1dHRvblN0YXR1cy5zZXQoY29uZmlnKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgQ29uZmlnQnV0dG9uVGFiKGNvbmZpZzogSUxpYnNVaUNvbmZpZ0J1dHRvblRhYikge1xuICAgIHRoaXMuY29uZmlnQnV0dG9uVGFiLnNldChjb25maWcpO1xuICB9XG5cbiAgLy8gcHVibGljIGjDoG0gxJHhu4Mgc+G7rSBk4bulbmcgY2hvIGNvbXBvbmVudCBpbnB1dCBz4butIGThu6VuZyB0YWdJbnB1dCA9IGZyYW1lQXJlYTtcbiAgcHVibGljIHNldHVwRm9udEZhbWlseShjdXJyZW50RG9jPzogRG9jdW1lbnQpIHtcbiAgICBjdXJyZW50RG9jID0gY3VycmVudERvYyB8fCBkb2N1bWVudDtcbiAgICBjb25zdCBkb2MgPSBjdXJyZW50RG9jLmRvY3VtZW50RWxlbWVudDtcblxuICAgIGRvYy5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1saWJzLXVpLWZvbnQtZmFtaWx5LW5hbWUnLCBgJHt0aGlzLmNvbmZpZ0ZvbnQoKS5uYW1lfSxBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmYCk7XG4gICAgT2JqZWN0LmtleXMod2VpZ2h0cykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgY29uc3QgZm9udEZhY2UgPSBuZXcgRm9udEZhY2UodGhpcy5jb25maWdGb250KCkubmFtZSwgYHVybCgke2dldCh0aGlzLmNvbmZpZ0ZvbnQoKSwga2V5KX0pYCwgeyB3ZWlnaHQ6IGdldCh3ZWlnaHRzLCBrZXkpIH0pO1xuICAgICAgZm9udEZhY2UubG9hZCgpLnRoZW4obG9hZGVkRm9udCA9PiB7XG4gICAgICAgIGlmICgnYWRkJyBpbiBjdXJyZW50RG9jLmZvbnRzKSB7XG4gICAgICAgICAgKGN1cnJlbnREb2MuZm9udHMgYXMgYW55KS5hZGQobG9hZGVkRm9udCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEZvbnRIZWFkKCkge1xuICAgIGNvbnN0IGNvbmZpZ0hlYWRzID0gdGhpcy5jb25maWdIZWFkKCk7XG4gICAgbGV0IHN0eWxlcyA9ICcnO1xuICAgIE9iamVjdC5rZXlzKGNvbmZpZ0hlYWRzKS5mb3JFYWNoKGtleUNvbmZpZyA9PiB7XG4gICAgICBsZXQgc3R5bGUgPSBgZm9udC1mYW1pbHk6dmFyKC0tbGlicy11aS1mb250LWZhbWlseS1uYW1lLCdBcmlhbCcpO2A7XG4gICAgICBjb25zdCBjb25maWcgPSBnZXQoY29uZmlnSGVhZGluZywga2V5Q29uZmlnKTtcbiAgICAgIE9iamVjdC5rZXlzKGNvbmZpZykuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgICBzdHlsZSA9IGAke3N0eWxlfSR7a2V5fToke2dldChjb25maWcsIGtleSl9O2A7XG4gICAgICB9KTtcbiAgICAgIHN0eWxlcyA9IGAke3N0eWxlc30gLmxpYnMtdWktZm9udC0ke2tleUNvbmZpZ317JHtzdHlsZX19YDtcbiAgICB9KTtcblxuICAgIHN0eWxlcyA9IGAqe2JveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDt9JHtzdHlsZXN9YDtcblxuICAgIHRoaXMuc3R5bGVDbGFzc0hlYWRFbC5pbm5lckhUTUwgPSBzdHlsZXM7XG4gICAgZG9jdW1lbnQuaGVhZC5hcHBlbmQodGhpcy5zdHlsZUNsYXNzSGVhZEVsKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0dXBCdXR0b25UYWIoKSB7XG4gICAgY29uc3QgY29uZmlnQnV0dG9uVGFiID0gdGhpcy5jb25maWdCdXR0b25UYWIoKTtcbiAgICBsZXQgc3R5bGVzID0gJyc7XG5cbiAgICBPYmplY3Qua2V5cyhjb25maWdCdXR0b25UYWIpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IGdldChjb25maWdCdXR0b25UYWIsIGtleSk7XG4gICAgICBjb25zdCBzdHlsZSA9IGNvbmZpZyA/IHN0eWxlQnV0dG9uVGFiKGtleSwgY29uZmlnKSA6ICcnO1xuXG4gICAgICBzdHlsZXMgPSBgJHtzdHlsZXN9JHtzdHlsZX1gO1xuICAgIH0pO1xuICAgIHRoaXMuc3R5bGVDbGFzc0J1dHRvblRhYkVsLmlubmVySFRNTCA9IHN0eWxlcztcbiAgICBkb2N1bWVudC5oZWFkLmFwcGVuZCh0aGlzLnN0eWxlQ2xhc3NCdXR0b25UYWJFbCk7XG4gIH1cblxuICBwcml2YXRlIHNldFRoZW1lQ29sb3IoKSB7XG4gICAgY29uc3QgZG9jID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgIFt7XG4gICAgICBncm91cDogJ2xpYnMtdWknLFxuICAgICAgdHlwZTogJ2NvbG9yJyxcbiAgICAgIHByb3BlcnR5OiB7XG4gICAgICAgIGRlZmF1bHQ6IGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbih0aGlzLnRoZW1lQ29sb3IoKSwgMCk/LmxpZ2h0LFxuICAgICAgICBsaWdodF8xOiBjb2xvclN0ZXBDb250cmFzdEZyb21PcmlnaW4odGhpcy50aGVtZUNvbG9yKCksIDIwKT8ubGlnaHQsXG4gICAgICAgIGxpZ2h0XzI6IGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbih0aGlzLnRoZW1lQ29sb3IoKSwgOTApPy5saWdodCxcbiAgICAgICAgbGlnaHRfMzogY29sb3JTdGVwQ29udHJhc3RGcm9tT3JpZ2luKHRoaXMudGhlbWVDb2xvcigpLCA5NSk/LmxpZ2h0LFxuICAgICAgICBsaWdodF80OiBjb2xvclN0ZXBDb250cmFzdEZyb21PcmlnaW4odGhpcy50aGVtZUNvbG9yKCksIDUwKT8ubGlnaHQsXG4gICAgICAgIGxpZ2h0XzU6IGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbih0aGlzLnRoZW1lQ29sb3IoKSwgNzApPy5saWdodCxcbiAgICAgICAgbGlnaHRfNjogY29sb3JTdGVwQ29udHJhc3RGcm9tT3JpZ2luKHRoaXMudGhlbWVDb2xvcigpLCA4MCk/LmxpZ2h0LFxuICAgICAgICBkYXJrOiBjb2xvclN0ZXBDb250cmFzdEZyb21PcmlnaW4odGhpcy50aGVtZUNvbG9yKCksIDIwKT8uZGFyayxcbiAgICAgICAgYm9yZGVyOiB0aGlzLmJvcmRlckNvbG9yKCksXG4gICAgICAgIGJvcmRlcl9lcnJvcjogdGhpcy5ib3JkZXJFcnJvckNvbG9yKCksXG4gICAgICAgIHRleHRfZXJyb3I6IHRoaXMudGV4dEVycm9yQ29sb3IoKSxcbiAgICAgICAgaWNvbl9ob3Zlcl9kYW5nZXI6IHRoaXMuaWNvbkhvdmVyRGFuZ2VyQ29sb3IoKSxcbiAgICAgICAgYmFja2dyb3VuZF9yZWFkb25seTogdGhpcy5iYWNrZ3JvdW5kUmVhZG9ubHlDb2xvcigpLFxuICAgICAgICB0ZXh0X3JlYWRvbmx5OiB0aGlzLnRleHRSZWFkb25seUNvbG9yKCksXG4gICAgICAgIGJhY2tncm91bmRfZGlzYWJsZTogdGhpcy5iYWNrZ3JvdW5kRGlzYWJsZUNvbG9yKCksXG4gICAgICAgIHRleHRfZGlzYWJsZTogdGhpcy50ZXh0RGlzYWJsZUNvbG9yKCksXG4gICAgICAgIGdyYWRpZW50X2Zyb206IHRoaXMudGhlbWVDb2xvcigpLnRvTG9jYWxlVXBwZXJDYXNlKCkgPT09ICcjMjI2RkY1JyA/IGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbih0aGlzLnRoZW1lQ29sb3IoKSwgMTApPy5saWdodCA6IGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbih0aGlzLnRoZW1lQ29sb3IoKSwgMCk/LmxpZ2h0LFxuICAgICAgICBncmFkaWVudF90bzogdGhpcy50aGVtZUNvbG9yKCkudG9Mb2NhbGVVcHBlckNhc2UoKSA9PT0gJyMyMjZGRjUnID8gY29sb3JTdGVwQ29udHJhc3RGcm9tT3JpZ2luKCcjNUIyRUJCJywgMTApPy5saWdodCA6IGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbih0aGlzLnRoZW1lQ29sb3IoKSwgMjApPy5kYXJrLFxuICAgICAgfVxuICAgIH1dLmZvckVhY2goaXRlbSA9PiB7XG4gICAgICBjb25zdCBuYW1lID0gYC0tJHtpdGVtLmdyb3VwLnJlcGxhY2UoL1tfXS9nLCAnLScpfS0ke2l0ZW0udHlwZS5yZXBsYWNlKC9bX10vZywgJy0nKX1gO1xuICAgICAgT2JqZWN0LmtleXMoaXRlbS5wcm9wZXJ0eSkuZm9yRWFjaChrZXkgPT4gZG9jLnN0eWxlLnNldFByb3BlcnR5KGAke25hbWV9LSR7a2V5LnJlcGxhY2UoL1tfXS9nLCAnLScpfWAsIChpdGVtLnByb3BlcnR5IGFzIGFueSlba2V5XSkpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbihzdGVwOiBudW1iZXIsIGNvbG9yPzogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbihjb2xvciB8fCB0aGlzLnRoZW1lQ29sb3IoKSwgc3RlcCB8fCAwKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q2xhc3NHbG9iYWwoKSB7XG4gICAgdGhpcy5zdHlsZUNsYXNzR2xvYmFsRWwuaW5uZXJIVE1MID0gYFxuICAgIC5saWJzLXVpLWJvcmRlci1wcmltYXJ5LWdlbmVyYWx7Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1kZWZhdWx0LCAjMjI2RkY1KSAhaW1wb3J0YW50O31cbiAgICAubGlicy11aS1ib3JkZXItcHJpbWFyeS1mb2N1cy1nZW5lcmFse2JvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItbGlnaHQtMSwgIzRlOGNmNykgIWltcG9ydGFudDt9XG4gICAgLmxpYnMtdWktYm9yZGVyLXByaW1hcnktaG92ZXItZ2VuZXJhbHtib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWxpZ2h0LTMsICNmNGY4ZmYpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLWJvcmRlci1nZW5lcmFseyBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSkgIWltcG9ydGFudDt9XG4gICAgLmxpYnMtdWktYm9yZGVyLXRvcC1nZW5lcmFse2JvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSkgIWltcG9ydGFudDt9XG4gICAgLmxpYnMtdWktYm9yZGVyLXJpZ2h0LWdlbmVyYWx7Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXIsICNlNmU3ZWEpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLWJvcmRlci1ib3R0b20tZ2VuZXJhbHtib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXIsICNlNmU3ZWEpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLWJvcmRlci1kYXNoZWQtYm90dG9tLWdlbmVyYWx7Ym9yZGVyLWJvdHRvbTogZGFzaGVkIDFweCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSkgIWltcG9ydGFudDt9XG4gICAgLmxpYnMtdWktYm9yZGVyLWxlZnQtZ2VuZXJhbHtib3JkZXItbGVmdDogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKSAhaW1wb3J0YW50O31cbiAgICAubGlicy11aS1ib3JkZXIteC1nZW5lcmFse2JvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXIsICNlNmU3ZWEpICFpbXBvcnRhbnQ7ICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSkgIWltcG9ydGFudDt9XG4gICAgLmxpYnMtdWktYm9yZGVyLXktZ2VuZXJhbHtib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXIsICNlNmU3ZWEpICFpbXBvcnRhbnQ7ICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXIsICNlNmU3ZWEpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLWJvcmRlci1sZWZ0LXRvcC1nZW5lcmFse2JvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXIsICNlNmU3ZWEpICFpbXBvcnRhbnQ7ICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXIsICNlNmU3ZWEpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLWJvcmRlci1sZWZ0LWJvdHRvbS1nZW5lcmFse2JvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXIsICNlNmU3ZWEpICFpbXBvcnRhbnQ7ICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXIsICNlNmU3ZWEpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLWJvcmRlci1yaWdodC10b3AtZ2VuZXJhbHtib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSkgIWltcG9ydGFudDsgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSkgIWltcG9ydGFudDt9XG4gICAgLmxpYnMtdWktYm9yZGVyLXJpZ2h0LWJvdHRvbS1nZW5lcmFse2JvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKSAhaW1wb3J0YW50OyAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKSAhaW1wb3J0YW50O31cbiAgICAubGlicy11aS1ib3JkZXItZXJyb3ItZ2VuZXJhbHtib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlci1lcnJvciwgI2VlMmQ0MSkgIWltcG9ydGFudDt9XG4gICAgLmxpYnMtdWktYmctbGlzdC1ob3Zlcjpob3ZlciB7YmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYSAhaW1wb3J0YW50O31cbiAgICAubGlicy11aS1iZy1saXN0LWhvdmVyLWFjdGl2ZTpob3ZlciB7YmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYSAhaW1wb3J0YW50O31cbiAgICAubGlicy11aS1iZy1saXN0LWhvdmVyLWFjdGl2ZTphY3RpdmUge2JhY2tncm91bmQtY29sb3I6IHZhcigtLWxpYnMtdWktY29sb3ItbGlnaHQtMywgI2Y0ZjhmZikgIWltcG9ydGFudDt9XG4gICAgLmxpYnMtdWktdGV4dC1lcnJvciB7Y29sb3I6IHZhcigtLWxpYnMtdWktY29sb3ItdGV4dC1lcnJvciwgI2ZmNTQ1NCk7ICFpbXBvcnRhbnR9XG4gICAgLmxpYnMtdWktdGV4dC1lcnJvcjo6YmVmb3JlIHtjb2xvcjogdmFyKC0tbGlicy11aS1jb2xvci10ZXh0LWVycm9yLCAjZmY1NDU0KSAhaW1wb3J0YW50O31cbiAgICAubGlicy11aS1kaXNhYmxlIHtjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDt0ZXh0LWRlY29yYXRpb246IG5vbmU7Y29sb3I6dmFyKC0tbGlicy11aS1jb2xvci10ZXh0LWRpc2FibGUsICNjZGQwZDYpICFpbXBvcnRhbnR9XG4gICAgLmxpYnMtdWktZGlzYWJsZTo6YmVmb3JlIHtjb2xvcjp2YXIoLS1saWJzLXVpLWNvbG9yLXRleHQtZGlzYWJsZSwgIzljYTJhZCkgIWltcG9ydGFudH1cbiAgICAubGlicy11aS1kaXNhYmxlLWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0tbGlicy11aS1jb2xvci1iYWNrZ3JvdW5kLWRpc2FibGUsICNmOGY5ZmEpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLWRpc2FibGUtYWN0aXZlIHtjb2xvcjp2YXIoLS1saWJzLXVpLWNvbG9yLWxpZ2h0LTQsIzkxYjdmYSkgIWltcG9ydGFudH1cbiAgICAubGlicy11aS1kaXNhYmxlLWFjdGl2ZTo6YmVmb3JlIHtjb2xvcjp2YXIoLS1saWJzLXVpLWNvbG9yLWxpZ2h0LTQsIzkxYjdmYSkgIWltcG9ydGFudH1cbiAgICAubGlicy11aS1yZWFkb25seSB7Y3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7Y29sb3I6dmFyKC0tbGlicy11aS1jb2xvci10ZXh0LXJlYWRvbmx5LCAjMDcxNjMxKSAhaW1wb3J0YW50O31cbiAgICAubGlicy11aS1yZWFkb25seTo6YmVmb3JlIHtjb2xvcjp2YXIoLS1saWJzLXVpLWNvbG9yLXRleHQtcmVhZG9ubHksICMwNzE2MzEpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLXJlYWRvbmx5LWJhY2tncm91bmR7YmFja2dyb3VuZDogdmFyKC0tbGlicy11aS1jb2xvci1iYWNrZ3JvdW5kLXJlYWRvbmx5LCAjZjhmOWZhKSAhaW1wb3J0YW50O31cbiAgICAubGlicy11aS1pY29uLWhvdmVyLWRhbmdlcjpob3ZlciB7Y29sb3I6IHZhcigtLWxpYnMtdWktY29sb3ItaWNvbi1ob3Zlci1kYW5nZXIsICNmMTU3NjcpICFpbXBvcnRhbnQ7IFtjbGFzcyo9XCJsaWJzLXVpLWljb24tXCJdeyY6YmVmb3JlLCY6YWZ0ZXJ7Y29sb3I6IHZhcigtLWxpYnMtdWktY29sb3ItaWNvbi1ob3Zlci1kYW5nZXIsICNmMTU3NjcpICFpbXBvcnRhbnQ7fX19XG4gICAgYC5yZXBsYWNlKC9cXG4rL2csICcnKTtcblxuICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kKHRoaXMuc3R5bGVDbGFzc0dsb2JhbEVsKTtcbiAgfVxuXG4gIHByaXZhdGUgY29uZmlnU3RyaW5nKCkge1xuICAgIGNvbnN0IHByb3RvdHlwZSA9IFN0cmluZy5wcm90b3R5cGUgYXMgYW55O1xuICAgIHByb3RvdHlwZS5yZXBsYWNlQXQgPSBmdW5jdGlvbiAoaW5kZXg6IG51bWJlciwgcmVwbGFjZW1lbnQ6IHN0cmluZykge1xuICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy5zcGxpdCgnJyk7XG5cbiAgICAgIHZhbHVlc1tpbmRleF0gPSByZXBsYWNlbWVudDtcblxuICAgICAgcmV0dXJuIHZhbHVlcy5qb2luKCcnKTtcbiAgICB9XG5cbiAgICBwcm90b3R5cGUucmVwbGFjZUFsbCA9IGZ1bmN0aW9uIChpbmRleDogbnVtYmVyLCBzZXBhcmF0b3I6IHN0cmluZywgcmVwbGFjZW1lbnQ6IHN0cmluZykge1xuICAgICAgY29uc3QgcmVnZXggPSBuZXcgUmVnRXhwKHNlcGFyYXRvciwgJ2cnKTtcblxuICAgICAgcmV0dXJuIGAke3RoaXMuc3Vic3RyKDAsIGluZGV4KX0ke3RoaXMuc3Vic3RyKGluZGV4ICsgMSArIChyZXBsYWNlbWVudD8ubGVuZ3RoIHx8IDApKS5yZXBsYWNlKHJlZ2V4LCByZXBsYWNlbWVudCl9YDtcbiAgICB9XG5cbiAgICBwcm90b3R5cGUub2NjdXJyZW5jZXNCeUNoYXJhY3RlciA9IGZ1bmN0aW9uIChjaGFyYWN0ZXI6IHN0cmluZyk6IG51bWJlciB7XG4gICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLnNwbGl0KCcnKTtcblxuICAgICAgaWYgKCF2YWx1ZXMgfHwgIXZhbHVlcy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB2YWx1ZXMuZmlsdGVyKChjaGFyOiBzdHJpbmcpID0+IGNoYXIgPT09IGNoYXJhY3RlcikubGVuZ3RoO1xuICAgIH1cblxuICAgIHByb3RvdHlwZS5pbmRleGVzT2ZDaGFyYWN0ZXIgPSBmdW5jdGlvbiAoY2hhcmFjdGVyOiBzdHJpbmcpOiBBcnJheTxudW1iZXI+IHtcbiAgICAgIGNvbnN0IHZhbHVlczogQXJyYXk8c3RyaW5nPiA9IHRoaXMuc3BsaXQoJycpO1xuICAgICAgY29uc3QgaW5kZXhlczogQXJyYXk8bnVtYmVyPiA9IFtdO1xuXG4gICAgICBpZiAoIXZhbHVlcyB8fCAhdmFsdWVzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gaW5kZXhlcztcbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3QgaW5kZXhWYWx1ZSBpbiB2YWx1ZXMpIHtcbiAgICAgICAgaWYgKHZhbHVlc1tpbmRleFZhbHVlXSA9PT0gY2hhcmFjdGVyKSB7XG4gICAgICAgICAgaW5kZXhlcy5wdXNoKCtpbmRleFZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gaW5kZXhlcztcbiAgICB9XG5cblxuICAgIHByb3RvdHlwZS5pbmRleGVzQnlTdHJpbmcgPSBmdW5jdGlvbiAoc3RyOiBzdHJpbmcpOiBBcnJheTxudW1iZXI+IHtcbiAgICAgIGNvbnN0IHZhbHVlczogQXJyYXk8c3RyaW5nPiA9IHRoaXMgYXMgYW55O1xuICAgICAgY29uc3QgaW5kZXhlczogQXJyYXk8bnVtYmVyPiA9IFtdO1xuXG4gICAgICBpZiAoIXZhbHVlcyB8fCAhdmFsdWVzLmxlbmd0aCB8fCAhc3RyIHx8ICFzdHIubGVuZ3RoIHx8IHZhbHVlcy5sZW5ndGggPCBzdHIubGVuZ3RoKSB7XG5cbiAgICAgICAgcmV0dXJuIGluZGV4ZXM7XG4gICAgICB9XG4gICAgICBmb3IgKGNvbnN0IGluZGV4VmFsdWUgaW4gdmFsdWVzKSB7XG4gICAgICAgIGlmICh2YWx1ZXNbaW5kZXhWYWx1ZV0gIT09IHN0clswXSB8fCAoKCtpbmRleFZhbHVlKSArIHN0ci5sZW5ndGgpID4gdmFsdWVzLmxlbmd0aCkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgZm9yIChjb25zdCBpbmRleCBpbiBzdHIuc3BsaXQoJycpKSB7XG5cbiAgICAgICAgICBpZiAodmFsdWVzWygraW5kZXhWYWx1ZSkgKyAoK2luZGV4KV0gIT09IHN0cltpbmRleF0pIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpbmRleGVzLnB1c2goK2luZGV4VmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaW5kZXhlcztcbiAgICB9XG4gIH1cblxufVxuIl19
|
|
257
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXByb2plY3Quc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvc2VydmljZXMvY29uZmlnLXByb2plY3Qvc3JjL2NvbmZpZy1wcm9qZWN0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7O0FBTXJLLE1BQU0sT0FBTywwQkFBMEI7SUFDcEIsVUFBVSxHQUFHLE1BQU0sQ0FBUyxTQUFTLENBQUMsQ0FBQztJQUN2QyxXQUFXLEdBQUcsTUFBTSxDQUFTLFNBQVMsQ0FBQyxDQUFDO0lBQ3hDLGNBQWMsR0FBRyxNQUFNLENBQVMsU0FBUyxDQUFDLENBQUM7SUFDM0Msb0JBQW9CLEdBQUcsTUFBTSxDQUFTLFNBQVMsQ0FBQyxDQUFDO0lBQ2pELGdCQUFnQixHQUFHLE1BQU0sQ0FBUyxTQUFTLENBQUMsQ0FBQztJQUM3QyxzQkFBc0IsR0FBRyxNQUFNLENBQVMsU0FBUyxDQUFDLENBQUM7SUFDbkQsaUJBQWlCLEdBQUcsTUFBTSxDQUFTLFNBQVMsQ0FBQyxDQUFDO0lBQzlDLGdCQUFnQixHQUFHLE1BQU0sQ0FBUyxTQUFTLENBQUMsQ0FBQztJQUM3Qyx1QkFBdUIsR0FBRyxNQUFNLENBQVMsU0FBUyxDQUFDLENBQUM7SUFDcEQsVUFBVSxHQUFHLE1BQU0sQ0FBMEIsVUFBVSxDQUFDLENBQUM7SUFDekQsVUFBVSxHQUFHLE1B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LENBQUMsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQzt3QkFDcEQsTUFBTTtvQkFDUixDQUFDO2dCQUNILENBQUM7Z0JBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzVCLENBQUM7WUFFRCxPQUFPLE9BQU8sQ0FBQztRQUNqQixDQUFDLENBQUE7SUFDSCxDQUFDO3dHQW5TVSwwQkFBMEI7NEdBQTFCLDBCQUEwQixjQUh6QixNQUFNOzs0RkFHUCwwQkFBMEI7a0JBSnRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgSW5qZWN0YWJsZSwgY29tcHV0ZWQsIGVmZmVjdCwgc2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbiwgZ2V0IH0gZnJvbSBcIkBsaWJzLXVpL3V0aWxzXCI7XG5pbXBvcnQgeyBjb25maWdCdXR0b25Db2xvciwgY29uZmlnQnV0dG9uU3RhdHVzLCBjb25maWdCdXR0b25UYWIsIGNvbmZpZ0hlYWRpbmcsIGNvbmZpZ0xpbmtCdXR0b24sIGZvbnRDb25maWcsIHN0eWxlQnV0dG9uVGFiLCB3ZWlnaHRzIH0gZnJvbSBcIi4vY29uZmlnLXByb2plY3QtZGF0YVwiO1xuaW1wb3J0IHsgSUxpYnNVaUNvbmZpZ0J1dHRvblN0YXR1cywgSUxpYnNVaUNvbmZpZ0J1dHRvblRhYiwgSUxpYnNVaUNvbmZpZ0ZvbnRGYW1pbHksIElMaWJzVWlDb25maWdGb250SGVhZGluZyB9IGZyb20gXCIuL2NvbmZpZy1wcm9qZWN0LmludGVyZmFjZVwiO1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5cbmV4cG9ydCBjbGFzcyBMaWJzVWlDb25maWdQcm9qZWN0U2VydmljZSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGhlbWVDb2xvciA9IHNpZ25hbDxzdHJpbmc+KCcjMjI2ZmY1Jyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYm9yZGVyQ29sb3IgPSBzaWduYWw8c3RyaW5nPignI2U2ZTdlYScpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRleHRFcnJvckNvbG9yID0gc2lnbmFsPHN0cmluZz4oJyNmZjU0NTQnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBpY29uSG92ZXJEYW5nZXJDb2xvciA9IHNpZ25hbDxzdHJpbmc+KCcjZjE1NzY3Jyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYm9yZGVyRXJyb3JDb2xvciA9IHNpZ25hbDxzdHJpbmc+KCcjZWUyZDQxJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgYmFja2dyb3VuZERpc2FibGVDb2xvciA9IHNpZ25hbDxzdHJpbmc+KCcjZjhmOWZhJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGV4dFJlYWRvbmx5Q29sb3IgPSBzaWduYWw8c3RyaW5nPignIzA3MTYzMScpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRleHREaXNhYmxlQ29sb3IgPSBzaWduYWw8c3RyaW5nPignIzljYTJhZCcpO1xuICBwcml2YXRlIHJlYWRvbmx5IGJhY2tncm91bmRSZWFkb25seUNvbG9yID0gc2lnbmFsPHN0cmluZz4oJyNmOGY5ZmEnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWdGb250ID0gc2lnbmFsPElMaWJzVWlDb25maWdGb250RmFtaWx5Pihmb250Q29uZmlnKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWdIZWFkID0gc2lnbmFsPElMaWJzVWlDb25maWdGb250SGVhZGluZz4oY29uZmlnSGVhZGluZyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnQnV0dG9uID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB7IC4uLmNvbmZpZ0J1dHRvbkNvbG9yKHRoaXMudGhlbWVDb2xvcigpKSwgLi4uY29uZmlnTGlua0J1dHRvbih0aGlzLnRoZW1lQ29sb3IoKSkgfTtcbiAgfSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnQnV0dG9uU3RhdHVzID0gc2lnbmFsPElMaWJzVWlDb25maWdCdXR0b25TdGF0dXM+KGNvbmZpZ0J1dHRvblN0YXR1cygpKTtcbiAgcHJpdmF0ZSByZWFkb25seSBjb25maWdCdXR0b25UYWIgPSBzaWduYWw8SUxpYnNVaUNvbmZpZ0J1dHRvblRhYj4oY29uZmlnQnV0dG9uVGFiKCkpO1xuICBwcml2YXRlIHJlYWRvbmx5IHN0eWxlQ2xhc3NHbG9iYWxFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3R5bGVDbGFzc0hlYWRFbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3R5bGVDbGFzc0J1dHRvblRhYkVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3R5bGUnKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5zZXRUaGVtZUNvbG9yKCk7XG4gICAgfSk7XG5cbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgdGhpcy5zZXR1cEZvbnRGYW1pbHkoKTtcbiAgICB9KTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLnNldHVwRm9udEhlYWQoKTtcbiAgICB9KTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICB0aGlzLnNldHVwQnV0dG9uVGFiKCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmNvbmZpZ1N0cmluZygpO1xuICAgIHRoaXMuc2V0Q2xhc3NHbG9iYWwoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgVGhlbWVDb2xvcihjb2xvcjogc3RyaW5nKSB7XG4gICAgdGhpcy50aGVtZUNvbG9yLnNldChjb2xvciB8fCAnIzIyNmZmNScpO1xuICB9XG5cbiAgcHVibGljIHNldCBCb3JkZXJDb2xvcihjb2xvcjogc3RyaW5nKSB7XG4gICAgdGhpcy5ib3JkZXJDb2xvci5zZXQoY29sb3IgfHwgJyNlNmU3ZWEnKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgQm9yZGVyRXJyb3JDb2xvcihjb2xvcjogc3RyaW5nKSB7XG4gICAgdGhpcy5ib3JkZXJFcnJvckNvbG9yLnNldChjb2xvciB8fCAnI2VlMmQ0MScpO1xuICB9XG5cbiAgcHVibGljIHNldCBUZXh0RXJyb3JDb2xvcihjb2xvcjogc3RyaW5nKSB7XG4gICAgdGhpcy50ZXh0RXJyb3JDb2xvci5zZXQoY29sb3IgfHwgJyNmZjU0NTQnKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgSWNvbkhvdmVyRGFuZ2VyQ29sb3IoY29sb3I6IHN0cmluZykge1xuICAgIHRoaXMuaWNvbkhvdmVyRGFuZ2VyQ29sb3Iuc2V0KGNvbG9yIHx8ICcjZmY1NDU0Jyk7XG4gIH1cblxuICBwdWJsaWMgc2V0IEJhY2tncm91bmRSZWFkb25seUNvbG9yKGNvbG9yOiBzdHJpbmcpIHtcbiAgICB0aGlzLmJhY2tncm91bmRSZWFkb25seUNvbG9yLnNldChjb2xvciB8fCAnI2YxNTc2NycpO1xuICB9XG5cbiAgcHVibGljIHNldCBUZXh0UmVhZG9ubHlDb2xvcihjb2xvcjogc3RyaW5nKSB7XG4gICAgdGhpcy50ZXh0UmVhZG9ubHlDb2xvci5zZXQoY29sb3IgfHwgJyMwNzE2MzEnKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgQmFja2dyb3VuZERpc2FibGVDb2xvcihjb2xvcjogc3RyaW5nKSB7XG4gICAgdGhpcy5iYWNrZ3JvdW5kRGlzYWJsZUNvbG9yLnNldChjb2xvciB8fCAnI2Y4ZjlmYScpO1xuICB9XG5cbiAgcHVibGljIHNldCBUZXh0RGlzYWJsZUNvbG9yKGNvbG9yOiBzdHJpbmcpIHtcbiAgICB0aGlzLnRleHREaXNhYmxlQ29sb3Iuc2V0KGNvbG9yIHx8ICcjOWNhMmFkJyk7XG4gIH1cblxuICBwdWJsaWMgc2V0IENvbmZpZ0ZvbnQoY29uZmlnRm9udDogSUxpYnNVaUNvbmZpZ0ZvbnRGYW1pbHkpIHtcbiAgICB0aGlzLmNvbmZpZ0ZvbnQuc2V0KHsgLi4uY29uZmlnRm9udCB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgQ29uZmlnRm9udEhlYWQoY29uZmlnSGVhZDogSUxpYnNVaUNvbmZpZ0ZvbnRIZWFkaW5nKSB7XG4gICAgdGhpcy5jb25maWdIZWFkLnNldCh7IC4uLmNvbmZpZ0hlYWQgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IENvbmZpZ0J1dHRvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWdCdXR0b247XG4gIH1cblxuICBwdWJsaWMgZ2V0IENvbmZpZ0J1dHRvblN0YXR1cygpIHtcbiAgICByZXR1cm4gdGhpcy5jb25maWdCdXR0b25TdGF0dXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBzZXQgQ29uZmlnQnV0dG9uU3RhdHVzKGNvbmZpZzogSUxpYnNVaUNvbmZpZ0J1dHRvblN0YXR1cykge1xuICAgIHRoaXMuY29uZmlnQnV0dG9uU3RhdHVzLnNldChjb25maWcpO1xuICB9XG5cbiAgcHVibGljIHNldCBDb25maWdCdXR0b25UYWIoY29uZmlnOiBJTGlic1VpQ29uZmlnQnV0dG9uVGFiKSB7XG4gICAgdGhpcy5jb25maWdCdXR0b25UYWIuc2V0KGNvbmZpZyk7XG4gIH1cblxuICAvLyBwdWJsaWMgaMOgbSDEkeG7gyBz4butIGThu6VuZyBjaG8gY29tcG9uZW50IGlucHV0IHPhu60gZOG7pW5nIHRhZ0lucHV0ID0gZnJhbWVBcmVhO1xuICBwdWJsaWMgc2V0dXBGb250RmFtaWx5KGN1cnJlbnREb2M/OiBEb2N1bWVudCkge1xuICAgIGN1cnJlbnREb2MgPSBjdXJyZW50RG9jIHx8IGRvY3VtZW50O1xuICAgIGNvbnN0IGRvYyA9IGN1cnJlbnREb2MuZG9jdW1lbnRFbGVtZW50O1xuXG4gICAgZG9jLnN0eWxlLnNldFByb3BlcnR5KCctLWxpYnMtdWktZm9udC1mYW1pbHktbmFtZScsIGAke3RoaXMuY29uZmlnRm9udCgpLm5hbWV9LEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWZgKTtcbiAgICBPYmplY3Qua2V5cyh3ZWlnaHRzKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBjb25zdCBmb250RmFjZSA9IG5ldyBGb250RmFjZSh0aGlzLmNvbmZpZ0ZvbnQoKS5uYW1lLCBgdXJsKCR7Z2V0KHRoaXMuY29uZmlnRm9udCgpLCBrZXkpfSlgLCB7IHdlaWdodDogZ2V0KHdlaWdodHMsIGtleSkgfSk7XG4gICAgICBmb250RmFjZS5sb2FkKCkudGhlbihsb2FkZWRGb250ID0+IHtcbiAgICAgICAgaWYgKCdhZGQnIGluIGN1cnJlbnREb2MuZm9udHMpIHtcbiAgICAgICAgICAoY3VycmVudERvYy5mb250cyBhcyBhbnkpLmFkZChsb2FkZWRGb250KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldHVwRm9udEhlYWQoKSB7XG4gICAgY29uc3QgY29uZmlnSGVhZHMgPSB0aGlzLmNvbmZpZ0hlYWQoKTtcbiAgICBsZXQgc3R5bGVzID0gJyc7XG4gICAgT2JqZWN0LmtleXMoY29uZmlnSGVhZHMpLmZvckVhY2goa2V5Q29uZmlnID0+IHtcbiAgICAgIGxldCBzdHlsZSA9IGBmb250LWZhbWlseTp2YXIoLS1saWJzLXVpLWZvbnQtZmFtaWx5LW5hbWUsJ0FyaWFsJyk7YDtcbiAgICAgIGNvbnN0IGNvbmZpZyA9IGdldChjb25maWdIZWFkaW5nLCBrZXlDb25maWcpO1xuICAgICAgT2JqZWN0LmtleXMoY29uZmlnKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgIHN0eWxlID0gYCR7c3R5bGV9JHtrZXl9OiR7Z2V0KGNvbmZpZywga2V5KX07YDtcbiAgICAgIH0pO1xuICAgICAgc3R5bGVzID0gYCR7c3R5bGVzfSAubGlicy11aS1mb250LSR7a2V5Q29uZmlnfXske3N0eWxlfX1gO1xuICAgIH0pO1xuXG4gICAgc3R5bGVzID0gYCp7Ym94LXNpemluZzogYm9yZGVyLWJveCAhaW1wb3J0YW50O30ke3N0eWxlc31gO1xuXG4gICAgdGhpcy5zdHlsZUNsYXNzSGVhZEVsLmlubmVySFRNTCA9IHN0eWxlcztcbiAgICBkb2N1bWVudC5oZWFkLmFwcGVuZCh0aGlzLnN0eWxlQ2xhc3NIZWFkRWwpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXR1cEJ1dHRvblRhYigpIHtcbiAgICBjb25zdCBjb25maWdCdXR0b25UYWIgPSB0aGlzLmNvbmZpZ0J1dHRvblRhYigpO1xuICAgIGxldCBzdHlsZXMgPSAnJztcblxuICAgIE9iamVjdC5rZXlzKGNvbmZpZ0J1dHRvblRhYikuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgY29uc3QgY29uZmlnID0gZ2V0KGNvbmZpZ0J1dHRvblRhYiwga2V5KTtcbiAgICAgIGNvbnN0IHN0eWxlID0gY29uZmlnID8gc3R5bGVCdXR0b25UYWIoa2V5LCBjb25maWcpIDogJyc7XG5cbiAgICAgIHN0eWxlcyA9IGAke3N0eWxlc30ke3N0eWxlfWA7XG4gICAgfSk7XG4gICAgdGhpcy5zdHlsZUNsYXNzQnV0dG9uVGFiRWwuaW5uZXJIVE1MID0gc3R5bGVzO1xuICAgIGRvY3VtZW50LmhlYWQuYXBwZW5kKHRoaXMuc3R5bGVDbGFzc0J1dHRvblRhYkVsKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0VGhlbWVDb2xvcigpIHtcbiAgICBjb25zdCBkb2MgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgW3tcbiAgICAgIGdyb3VwOiAnbGlicy11aScsXG4gICAgICB0eXBlOiAnY29sb3InLFxuICAgICAgcHJvcGVydHk6IHtcbiAgICAgICAgZGVmYXVsdDogY29sb3JTdGVwQ29udHJhc3RGcm9tT3JpZ2luKHRoaXMudGhlbWVDb2xvcigpLCAwKT8ubGlnaHQsXG4gICAgICAgIGxpZ2h0XzE6IGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbih0aGlzLnRoZW1lQ29sb3IoKSwgMjApPy5saWdodCxcbiAgICAgICAgbGlnaHRfMjogY29sb3JTdGVwQ29udHJhc3RGcm9tT3JpZ2luKHRoaXMudGhlbWVDb2xvcigpLCA5MCk/LmxpZ2h0LFxuICAgICAgICBsaWdodF8zOiBjb2xvclN0ZXBDb250cmFzdEZyb21PcmlnaW4odGhpcy50aGVtZUNvbG9yKCksIDk1KT8ubGlnaHQsXG4gICAgICAgIGxpZ2h0XzQ6IGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbih0aGlzLnRoZW1lQ29sb3IoKSwgNTApPy5saWdodCxcbiAgICAgICAgbGlnaHRfNTogY29sb3JTdGVwQ29udHJhc3RGcm9tT3JpZ2luKHRoaXMudGhlbWVDb2xvcigpLCA3MCk/LmxpZ2h0LFxuICAgICAgICBsaWdodF82OiBjb2xvclN0ZXBDb250cmFzdEZyb21PcmlnaW4odGhpcy50aGVtZUNvbG9yKCksIDgwKT8ubGlnaHQsXG4gICAgICAgIGRhcms6IGNvbG9yU3RlcENvbnRyYXN0RnJvbU9yaWdpbih0aGlzLnRoZW1lQ29sb3IoKSwgMjApPy5kYXJrLFxuICAgICAgICBib3JkZXI6IHRoaXMuYm9yZGVyQ29sb3IoKSxcbiAgICAgICAgYm9yZGVyX2Vycm9yOiB0aGlzLmJvcmRlckVycm9yQ29sb3IoKSxcbiAgICAgICAgdGV4dF9lcnJvcjogdGhpcy50ZXh0RXJyb3JDb2xvcigpLFxuICAgICAgICBpY29uX2hvdmVyX2RhbmdlcjogdGhpcy5pY29uSG92ZXJEYW5nZXJDb2xvcigpLFxuICAgICAgICBiYWNrZ3JvdW5kX3JlYWRvbmx5OiB0aGlzLmJhY2tncm91bmRSZWFkb25seUNvbG9yKCksXG4gICAgICAgIHRleHRfcmVhZG9ubHk6IHRoaXMudGV4dFJlYWRvbmx5Q29sb3IoKSxcbiAgICAgICAgYmFja2dyb3VuZF9kaXNhYmxlOiB0aGlzLmJhY2tncm91bmREaXNhYmxlQ29sb3IoKSxcbiAgICAgICAgdGV4dF9kaXNhYmxlOiB0aGlzLnRleHREaXNhYmxlQ29sb3IoKSxcbiAgICAgICAgZ3JhZGllbnRfZnJvbTogdGhpcy50aGVtZUNvbG9yKCkudG9Mb2NhbGVVcHBlckNhc2UoKSA9PT0gJyMyMjZGRjUnID8gY29sb3JTdGVwQ29udHJhc3RGcm9tT3JpZ2luKHRoaXMudGhlbWVDb2xvcigpLCAxMCk/LmxpZ2h0IDogY29sb3JTdGVwQ29udHJhc3RGcm9tT3JpZ2luKHRoaXMudGhlbWVDb2xvcigpLCAwKT8ubGlnaHQsXG4gICAgICAgIGdyYWRpZW50X3RvOiB0aGlzLnRoZW1lQ29sb3IoKS50b0xvY2FsZVVwcGVyQ2FzZSgpID09PSAnIzIyNkZGNScgPyBjb2xvclN0ZXBDb250cmFzdEZyb21PcmlnaW4oJyM1QjJFQkInLCAxMCk/LmxpZ2h0IDogY29sb3JTdGVwQ29udHJhc3RGcm9tT3JpZ2luKHRoaXMudGhlbWVDb2xvcigpLCAyMCk/LmRhcmssXG4gICAgICB9XG4gICAgfV0uZm9yRWFjaChpdGVtID0+IHtcbiAgICAgIGNvbnN0IG5hbWUgPSBgLS0ke2l0ZW0uZ3JvdXAucmVwbGFjZSgvW19dL2csICctJyl9LSR7aXRlbS50eXBlLnJlcGxhY2UoL1tfXS9nLCAnLScpfWA7XG4gICAgICBPYmplY3Qua2V5cyhpdGVtLnByb3BlcnR5KS5mb3JFYWNoKGtleSA9PiBkb2Muc3R5bGUuc2V0UHJvcGVydHkoYCR7bmFtZX0tJHtrZXkucmVwbGFjZSgvW19dL2csICctJyl9YCwgKGl0ZW0ucHJvcGVydHkgYXMgYW55KVtrZXldKSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgY29sb3JTdGVwQ29udHJhc3RGcm9tT3JpZ2luKHN0ZXA6IG51bWJlciwgY29sb3I/OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gY29sb3JTdGVwQ29udHJhc3RGcm9tT3JpZ2luKGNvbG9yIHx8IHRoaXMudGhlbWVDb2xvcigpLCBzdGVwIHx8IDApO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDbGFzc0dsb2JhbCgpIHtcbiAgICB0aGlzLnN0eWxlQ2xhc3NHbG9iYWxFbC5pbm5lckhUTUwgPSBgXG4gICAgLmxpYnMtdWktYm9yZGVyLXByaW1hcnktZ2VuZXJhbHtib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWRlZmF1bHQsICMyMjZGRjUpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLWJvcmRlci1wcmltYXJ5LWZvY3VzLWdlbmVyYWx7Ym9yZGVyOiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1saWdodC0xLCAjNGU4Y2Y3KSAhaW1wb3J0YW50O31cbiAgICAubGlicy11aS1ib3JkZXItcHJpbWFyeS1ob3Zlci1nZW5lcmFse2JvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItbGlnaHQtMywgI2Y0ZjhmZikgIWltcG9ydGFudDt9XG4gICAgLmxpYnMtdWktYm9yZGVyLWdlbmVyYWx7IGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKSAhaW1wb3J0YW50O31cbiAgICAubGlicy11aS1ib3JkZXItdG9wLWdlbmVyYWx7Ym9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKSAhaW1wb3J0YW50O31cbiAgICAubGlicy11aS1ib3JkZXItcmlnaHQtZ2VuZXJhbHtib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSkgIWltcG9ydGFudDt9XG4gICAgLmxpYnMtdWktYm9yZGVyLWJvdHRvbS1nZW5lcmFse2JvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSkgIWltcG9ydGFudDt9XG4gICAgLmxpYnMtdWktYm9yZGVyLWRhc2hlZC1ib3R0b20tZ2VuZXJhbHtib3JkZXItYm90dG9tOiBkYXNoZWQgMXB4IHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKSAhaW1wb3J0YW50O31cbiAgICAubGlicy11aS1ib3JkZXItbGVmdC1nZW5lcmFse2JvcmRlci1sZWZ0OiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXIsICNlNmU3ZWEpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLWJvcmRlci14LWdlbmVyYWx7Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSkgIWltcG9ydGFudDsgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKSAhaW1wb3J0YW50O31cbiAgICAubGlicy11aS1ib3JkZXIteS1nZW5lcmFse2JvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSkgIWltcG9ydGFudDsgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSkgIWltcG9ydGFudDt9XG4gICAgLmxpYnMtdWktYm9yZGVyLWxlZnQtdG9wLWdlbmVyYWx7Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSkgIWltcG9ydGFudDsgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSkgIWltcG9ydGFudDt9XG4gICAgLmxpYnMtdWktYm9yZGVyLWxlZnQtYm90dG9tLWdlbmVyYWx7Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSkgIWltcG9ydGFudDsgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1saWJzLXVpLWNvbG9yLWJvcmRlciwgI2U2ZTdlYSkgIWltcG9ydGFudDt9XG4gICAgLmxpYnMtdWktYm9yZGVyLXJpZ2h0LXRvcC1nZW5lcmFse2JvcmRlci1yaWdodDogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKSAhaW1wb3J0YW50OyAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLCAjZTZlN2VhKSAhaW1wb3J0YW50O31cbiAgICAubGlicy11aS1ib3JkZXItcmlnaHQtYm90dG9tLWdlbmVyYWx7Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXIsICNlNmU3ZWEpICFpbXBvcnRhbnQ7ICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbGlicy11aS1jb2xvci1ib3JkZXIsICNlNmU3ZWEpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLWJvcmRlci1lcnJvci1nZW5lcmFse2JvcmRlcjogMXB4IHNvbGlkIHZhcigtLWxpYnMtdWktY29sb3ItYm9yZGVyLWVycm9yLCAjZWUyZDQxKSAhaW1wb3J0YW50O31cbiAgICAubGlicy11aS1iZy1saXN0IHtiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLWJnLWxpc3QtaG92ZXI6aG92ZXIge2JhY2tncm91bmQtY29sb3I6ICNmOGY5ZmEgIWltcG9ydGFudDt9XG4gICAgLmxpYnMtdWktYmctbGlzdC1hY3RpdmUge2JhY2tncm91bmQtY29sb3I6ICB2YXIoLS1saWJzLXVpLWNvbG9yLWxpZ2h0LTMsICNmNGY4ZmYpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLWJnLWxpc3QtaG92ZXItYWN0aXZlOmhvdmVyIHtiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOWZhICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLWJnLWxpc3QtaG92ZXItYWN0aXZlOmFjdGl2ZSB7YmFja2dyb3VuZC1jb2xvcjogdmFyKC0tbGlicy11aS1jb2xvci1saWdodC0zLCAjZjRmOGZmKSAhaW1wb3J0YW50O31cbiAgICAubGlicy11aS10ZXh0LWVycm9yIHtjb2xvcjogdmFyKC0tbGlicy11aS1jb2xvci10ZXh0LWVycm9yLCAjZmY1NDU0KTsgIWltcG9ydGFudH1cbiAgICAubGlicy11aS10ZXh0LWVycm9yOjpiZWZvcmUge2NvbG9yOiB2YXIoLS1saWJzLXVpLWNvbG9yLXRleHQtZXJyb3IsICNmZjU0NTQpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLWRpc2FibGUge2N1cnNvcjogZGVmYXVsdCAhaW1wb3J0YW50O3RleHQtZGVjb3JhdGlvbjogbm9uZTtjb2xvcjp2YXIoLS1saWJzLXVpLWNvbG9yLXRleHQtZGlzYWJsZSwgI2NkZDBkNikgIWltcG9ydGFudH1cbiAgICAubGlicy11aS1kaXNhYmxlOjpiZWZvcmUge2NvbG9yOnZhcigtLWxpYnMtdWktY29sb3ItdGV4dC1kaXNhYmxlLCAjOWNhMmFkKSAhaW1wb3J0YW50fVxuICAgIC5saWJzLXVpLWRpc2FibGUtYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS1saWJzLXVpLWNvbG9yLWJhY2tncm91bmQtZGlzYWJsZSwgI2Y4ZjlmYSkgIWltcG9ydGFudDt9XG4gICAgLmxpYnMtdWktZGlzYWJsZS1hY3RpdmUge2NvbG9yOnZhcigtLWxpYnMtdWktY29sb3ItbGlnaHQtNCwjOTFiN2ZhKSAhaW1wb3J0YW50fVxuICAgIC5saWJzLXVpLWRpc2FibGUtYWN0aXZlOjpiZWZvcmUge2NvbG9yOnZhcigtLWxpYnMtdWktY29sb3ItbGlnaHQtNCwjOTFiN2ZhKSAhaW1wb3J0YW50fVxuICAgIC5saWJzLXVpLXJlYWRvbmx5IHtjdXJzb3I6IGRlZmF1bHQgIWltcG9ydGFudDtjb2xvcjp2YXIoLS1saWJzLXVpLWNvbG9yLXRleHQtcmVhZG9ubHksICMwNzE2MzEpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLXJlYWRvbmx5OjpiZWZvcmUge2NvbG9yOnZhcigtLWxpYnMtdWktY29sb3ItdGV4dC1yZWFkb25seSwgIzA3MTYzMSkgIWltcG9ydGFudDt9XG4gICAgLmxpYnMtdWktcmVhZG9ubHktYmFja2dyb3VuZHtiYWNrZ3JvdW5kOiB2YXIoLS1saWJzLXVpLWNvbG9yLWJhY2tncm91bmQtcmVhZG9ubHksICNmOGY5ZmEpICFpbXBvcnRhbnQ7fVxuICAgIC5saWJzLXVpLWljb24taG92ZXItZGFuZ2VyOmhvdmVyIHtjb2xvcjogdmFyKC0tbGlicy11aS1jb2xvci1pY29uLWhvdmVyLWRhbmdlciwgI2YxNTc2NykgIWltcG9ydGFudDsgW2NsYXNzKj1cImxpYnMtdWktaWNvbi1cIl17JjpiZWZvcmUsJjphZnRlcntjb2xvcjogdmFyKC0tbGlicy11aS1jb2xvci1pY29uLWhvdmVyLWRhbmdlciwgI2YxNTc2NykgIWltcG9ydGFudDt9fX1cbiAgICBgLnJlcGxhY2UoL1xcbisvZywgJycpO1xuXG4gICAgZG9jdW1lbnQuaGVhZC5hcHBlbmQodGhpcy5zdHlsZUNsYXNzR2xvYmFsRWwpO1xuICB9XG5cbiAgcHJpdmF0ZSBjb25maWdTdHJpbmcoKSB7XG4gICAgY29uc3QgcHJvdG90eXBlID0gU3RyaW5nLnByb3RvdHlwZSBhcyBhbnk7XG4gICAgcHJvdG90eXBlLnJlcGxhY2VBdCA9IGZ1bmN0aW9uIChpbmRleDogbnVtYmVyLCByZXBsYWNlbWVudDogc3RyaW5nKSB7XG4gICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLnNwbGl0KCcnKTtcblxuICAgICAgdmFsdWVzW2luZGV4XSA9IHJlcGxhY2VtZW50O1xuXG4gICAgICByZXR1cm4gdmFsdWVzLmpvaW4oJycpO1xuICAgIH1cblxuICAgIHByb3RvdHlwZS5yZXBsYWNlQWxsID0gZnVuY3Rpb24gKGluZGV4OiBudW1iZXIsIHNlcGFyYXRvcjogc3RyaW5nLCByZXBsYWNlbWVudDogc3RyaW5nKSB7XG4gICAgICBjb25zdCByZWdleCA9IG5ldyBSZWdFeHAoc2VwYXJhdG9yLCAnZycpO1xuXG4gICAgICByZXR1cm4gYCR7dGhpcy5zdWJzdHIoMCwgaW5kZXgpfSR7dGhpcy5zdWJzdHIoaW5kZXggKyAxICsgKHJlcGxhY2VtZW50Py5sZW5ndGggfHwgMCkpLnJlcGxhY2UocmVnZXgsIHJlcGxhY2VtZW50KX1gO1xuICAgIH1cblxuICAgIHByb3RvdHlwZS5vY2N1cnJlbmNlc0J5Q2hhcmFjdGVyID0gZnVuY3Rpb24gKGNoYXJhY3Rlcjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuc3BsaXQoJycpO1xuXG4gICAgICBpZiAoIXZhbHVlcyB8fCAhdmFsdWVzLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gMDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHZhbHVlcy5maWx0ZXIoKGNoYXI6IHN0cmluZykgPT4gY2hhciA9PT0gY2hhcmFjdGVyKS5sZW5ndGg7XG4gICAgfVxuXG4gICAgcHJvdG90eXBlLmluZGV4ZXNPZkNoYXJhY3RlciA9IGZ1bmN0aW9uIChjaGFyYWN0ZXI6IHN0cmluZyk6IEFycmF5PG51bWJlcj4ge1xuICAgICAgY29uc3QgdmFsdWVzOiBBcnJheTxzdHJpbmc+ID0gdGhpcy5zcGxpdCgnJyk7XG4gICAgICBjb25zdCBpbmRleGVzOiBBcnJheTxudW1iZXI+ID0gW107XG5cbiAgICAgIGlmICghdmFsdWVzIHx8ICF2YWx1ZXMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBpbmRleGVzO1xuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBpbmRleFZhbHVlIGluIHZhbHVlcykge1xuICAgICAgICBpZiAodmFsdWVzW2luZGV4VmFsdWVdID09PSBjaGFyYWN0ZXIpIHtcbiAgICAgICAgICBpbmRleGVzLnB1c2goK2luZGV4VmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbmRleGVzO1xuICAgIH1cblxuXG4gICAgcHJvdG90eXBlLmluZGV4ZXNCeVN0cmluZyA9IGZ1bmN0aW9uIChzdHI6IHN0cmluZyk6IEFycmF5PG51bWJlcj4ge1xuICAgICAgY29uc3QgdmFsdWVzOiBBcnJheTxzdHJpbmc+ID0gdGhpcyBhcyBhbnk7XG4gICAgICBjb25zdCBpbmRleGVzOiBBcnJheTxudW1iZXI+ID0gW107XG5cbiAgICAgIGlmICghdmFsdWVzIHx8ICF2YWx1ZXMubGVuZ3RoIHx8ICFzdHIgfHwgIXN0ci5sZW5ndGggfHwgdmFsdWVzLmxlbmd0aCA8IHN0ci5sZW5ndGgpIHtcblxuICAgICAgICByZXR1cm4gaW5kZXhlcztcbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3QgaW5kZXhWYWx1ZSBpbiB2YWx1ZXMpIHtcbiAgICAgICAgaWYgKHZhbHVlc1tpbmRleFZhbHVlXSAhPT0gc3RyWzBdIHx8ICgoK2luZGV4VmFsdWUpICsgc3RyLmxlbmd0aCkgPiB2YWx1ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBmb3IgKGNvbnN0IGluZGV4IGluIHN0ci5zcGxpdCgnJykpIHtcblxuICAgICAgICAgIGlmICh2YWx1ZXNbKCtpbmRleFZhbHVlKSArICgraW5kZXgpXSAhPT0gc3RyW2luZGV4XSkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGluZGV4ZXMucHVzaCgraW5kZXhWYWx1ZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpbmRleGVzO1xuICAgIH1cbiAgfVxuXG59XG4iXX0=
|
package/esm2022/index.mjs
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
export * from './config-project.service';
|
|
2
2
|
export * from './config-project.interface';
|
|
3
|
-
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzLXVpL3NlcnZpY2VzL2NvbmZpZy1wcm9qZWN0L3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY29uZmlnLXByb2plY3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZy1wcm9qZWN0LmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2NvbmZpZy10cmFuc2xhdGUnO1xuIl19
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzLXVpL3NlcnZpY2VzL2NvbmZpZy1wcm9qZWN0L3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsNEJBQTRCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbmZpZy1wcm9qZWN0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maWctcHJvamVjdC5pbnRlcmZhY2UnO1xuIl19
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { signal, computed, effect, Injectable
|
|
3
|
-
import { colorStepContrastFromOrigin, get
|
|
4
|
-
import { HttpClient, provideHttpClient } from '@angular/common/http';
|
|
5
|
-
import { TranslateService, TranslateLoader, TranslateCompiler, TranslateStore, TranslateParser, MissingTranslationHandler, TranslateModule } from '@ngx-translate/core';
|
|
6
|
-
import { TranslateMessageFormatCompiler } from 'ngx-translate-messageformat-compiler';
|
|
7
|
-
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
|
|
8
|
-
import { take } from 'rxjs';
|
|
2
|
+
import { signal, computed, effect, Injectable } from '@angular/core';
|
|
3
|
+
import { colorStepContrastFromOrigin, get } from '@libs-ui/utils';
|
|
9
4
|
|
|
10
5
|
const fontConfig = {
|
|
11
6
|
name: 'SVN-Poppins',
|
|
@@ -600,7 +595,6 @@ class LibsUiConfigProjectService {
|
|
|
600
595
|
backgroundReadonlyColor = signal('#f8f9fa');
|
|
601
596
|
configFont = signal(fontConfig);
|
|
602
597
|
configHead = signal(configHeading);
|
|
603
|
-
configDefaultInterpolateParam = signal({ vi: {}, en: {} });
|
|
604
598
|
configButton = computed(() => {
|
|
605
599
|
return { ...configButtonColor(this.themeColor()), ...configLinkButton(this.themeColor()) };
|
|
606
600
|
});
|
|
@@ -658,9 +652,6 @@ class LibsUiConfigProjectService {
|
|
|
658
652
|
set ConfigFontHead(configHead) {
|
|
659
653
|
this.configHead.set({ ...configHead });
|
|
660
654
|
}
|
|
661
|
-
get ConfigDefaultInterpolateParam() {
|
|
662
|
-
return this.configDefaultInterpolateParam;
|
|
663
|
-
}
|
|
664
655
|
get ConfigButton() {
|
|
665
656
|
return this.configButton;
|
|
666
657
|
}
|
|
@@ -764,7 +755,9 @@ class LibsUiConfigProjectService {
|
|
|
764
755
|
.libs-ui-border-right-top-general{border-right: 1px solid var(--libs-ui-color-border, #e6e7ea) !important; border-top: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}
|
|
765
756
|
.libs-ui-border-right-bottom-general{border-right: 1px solid var(--libs-ui-color-border, #e6e7ea) !important; border-bottom: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}
|
|
766
757
|
.libs-ui-border-error-general{border: 1px solid var(--libs-ui-color-border-error, #ee2d41) !important;}
|
|
758
|
+
.libs-ui-bg-list {background-color: #f8f9fa !important;}
|
|
767
759
|
.libs-ui-bg-list-hover:hover {background-color: #f8f9fa !important;}
|
|
760
|
+
.libs-ui-bg-list-active {background-color: var(--libs-ui-color-light-3, #f4f8ff) !important;}
|
|
768
761
|
.libs-ui-bg-list-hover-active:hover {background-color: #f8f9fa !important;}
|
|
769
762
|
.libs-ui-bg-list-hover-active:active {background-color: var(--libs-ui-color-light-3, #f4f8ff) !important;}
|
|
770
763
|
.libs-ui-text-error {color: var(--libs-ui-color-text-error, #ff5454); !important}
|
|
@@ -846,74 +839,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
846
839
|
;
|
|
847
840
|
;
|
|
848
841
|
|
|
849
|
-
const dataTranslation = () => {
|
|
850
|
-
return {
|
|
851
|
-
vi: { "i18n_character": "Ký tự", "i18n_search": "Tìm kiếm", "i18n_color_custom": "Màu tuỳ chỉnh", "i18n_add_new": "Thêm mới", "i18n_cancel": "Hủy bỏ", "i18n_apply": "Áp dụng", "i18n_copy_successfully": "Sao chép thành công" },
|
|
852
|
-
en: { "i18n_character": "character", "i18n_search": "Search", "i18n_color_custom": "Custom theme color", "i18n_add_new": "Add new", "i18n_cancel": "Cancel", "i18n_apply": "Apply", "i18n_copy_successfully": "Copied" }
|
|
853
|
-
};
|
|
854
|
-
};
|
|
855
|
-
|
|
856
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
857
|
-
class LibsUiTranslateService extends TranslateService {
|
|
858
|
-
configProjectService = inject(LibsUiConfigProjectService);
|
|
859
|
-
interpolateParam = computed(() => this.configProjectService.ConfigDefaultInterpolateParam());
|
|
860
|
-
constructor(store, currentLoader, compiler, parser, missingTranslationHandler, useDefaultLang, isolate, extend, defaultLanguage) {
|
|
861
|
-
super(store, currentLoader, compiler, parser, missingTranslationHandler, useDefaultLang, isolate, extend, defaultLanguage);
|
|
862
|
-
}
|
|
863
|
-
instant(key, interpolateParams) {
|
|
864
|
-
const val = super.instant(key, { ...this.interpolateParam()[UtilsCache.getLang()], ...(interpolateParams || {}) });
|
|
865
|
-
return val;
|
|
866
|
-
}
|
|
867
|
-
get(key, interpolateParams) {
|
|
868
|
-
return super.get(key, { ...this.interpolateParam()[UtilsCache.getLang()], ...(interpolateParams || {}) });
|
|
869
|
-
}
|
|
870
|
-
getParsedResult(translations, key, interpolateParams) {
|
|
871
|
-
return super.getParsedResult(translations, key, { ...this.interpolateParam()[UtilsCache.getLang()], ...(interpolateParams || {}) });
|
|
872
|
-
}
|
|
873
|
-
use(lang) {
|
|
874
|
-
const event = super.use(lang);
|
|
875
|
-
this.get(lang).pipe(take(1)).subscribe(() => super.setTranslation(lang, get(dataTranslation(), lang), true));
|
|
876
|
-
UtilsCache.setLang(lang);
|
|
877
|
-
return event;
|
|
878
|
-
}
|
|
879
|
-
}
|
|
880
|
-
|
|
881
|
-
let link = '/i18n/';
|
|
882
|
-
const httpLoaderFactory = (http) => {
|
|
883
|
-
return new TranslateHttpLoader(http, link, '.json');
|
|
884
|
-
};
|
|
885
|
-
const TranslateForRootConfig = {
|
|
886
|
-
loader: {
|
|
887
|
-
provide: TranslateLoader,
|
|
888
|
-
useFactory: httpLoaderFactory,
|
|
889
|
-
deps: [HttpClient]
|
|
890
|
-
},
|
|
891
|
-
compiler: {
|
|
892
|
-
provide: TranslateCompiler,
|
|
893
|
-
useClass: TranslateMessageFormatCompiler,
|
|
894
|
-
}
|
|
895
|
-
};
|
|
896
|
-
const TranslateProviderConfig = {
|
|
897
|
-
provide: TranslateService,
|
|
898
|
-
useFactory: (store, currentLoader, compiler, parser, missingTranslationHandler, useDefaultLang, isolate, extend, defaultLanguage) => {
|
|
899
|
-
return new LibsUiTranslateService(store, currentLoader, compiler, parser, missingTranslationHandler, useDefaultLang, isolate, extend, defaultLanguage);
|
|
900
|
-
},
|
|
901
|
-
deps: [TranslateStore, TranslateLoader, TranslateCompiler, TranslateParser, MissingTranslationHandler],
|
|
902
|
-
};
|
|
903
|
-
const GET_CONFIG_TRANSLATE = (linkFileI18n) => {
|
|
904
|
-
if (linkFileI18n !== undefined) {
|
|
905
|
-
link = linkFileI18n;
|
|
906
|
-
}
|
|
907
|
-
return [
|
|
908
|
-
provideHttpClient(),
|
|
909
|
-
importProvidersFrom(TranslateModule.forRoot(TranslateForRootConfig)),
|
|
910
|
-
TranslateProviderConfig
|
|
911
|
-
];
|
|
912
|
-
};
|
|
913
|
-
|
|
914
842
|
/**
|
|
915
843
|
* Generated bundle index. Do not edit.
|
|
916
844
|
*/
|
|
917
845
|
|
|
918
|
-
export {
|
|
846
|
+
export { LibsUiConfigProjectService };
|
|
919
847
|
//# sourceMappingURL=libs-ui-services-config-project.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"libs-ui-services-config-project.mjs","sources":["../../../../../libs-ui/services/config-project/src/config-project-data.ts","../../../../../libs-ui/services/config-project/src/config-project.service.ts","../../../../../libs-ui/services/config-project/src/config-project.interface.ts","../../../../../libs-ui/services/config-project/src/data-translation.ts","../../../../../libs-ui/services/config-project/src/translate.service.ts","../../../../../libs-ui/services/config-project/src/config-translate.ts","../../../../../libs-ui/services/config-project/src/libs-ui-services-config-project.ts"],"sourcesContent":["import { colorStepContrastFromOrigin } from \"@libs-ui/utils\";\nimport { IColorButtonTab, ILibsUiConfigButtonStatus, ILibsUiConfigButtonTab, ILibsUiConfigFontHeading } from \"./config-project.interface\";\n\nexport const fontConfig = {\n name: 'SVN-Poppins',\n uri_regular: 'SVN-Poppins-Regular.ttf',\n uri_medium: 'SVN-Poppins-Medium.ttf',\n uri_semibold: 'SVN-Poppins-SemiBold.ttf',\n uri_bold: 'SVN-Poppins-Bold.ttf'\n};\n\nexport const weights = {\n uri_regular: '400',\n uri_medium: '500',\n uri_semibold: '600',\n uri_bold: '700'\n};\n\nexport const configHeading: ILibsUiConfigFontHeading = {\n h1r: {\n \"font-size\": '30px',\n \"font-weight\": '400',\n \"line-height\": '38px',\n \"letter-spacing\": 'calc(30px * (0.5 / 100))'\n },\n h1m: {\n \"font-size\": '30px',\n \"font-weight\": '500',\n \"line-height\": '38px',\n \"letter-spacing\": 'calc(30px * (0.5 / 100))'\n },\n h1s: {\n \"font-size\": '30px',\n \"font-weight\": '600',\n \"line-height\": '38px',\n \"letter-spacing\": 'calc(30px * (0.5 / 100))'\n },\n h1b: {\n \"font-size\": '30px',\n \"font-weight\": '700',\n \"line-height\": '38px',\n \"letter-spacing\": 'calc(30px * (0.5 / 100))'\n },\n h2r: {\n \"font-size\": '20px',\n \"font-weight\": '400',\n \"line-height\": '26px',\n \"letter-spacing\": 'calc(20px * (0.5 / 100))'\n },\n h2m: {\n \"font-size\": '20px',\n \"font-weight\": '500',\n \"line-height\": '26px',\n \"letter-spacing\": 'calc(20px * (0.5 / 100))'\n },\n h2s: {\n \"font-size\": '20px',\n \"font-weight\": '600',\n \"line-height\": '26px',\n \"letter-spacing\": 'calc(20px * (0.5 / 100))'\n },\n h2b: {\n \"font-size\": '20px',\n \"font-weight\": '400',\n \"line-height\": '76px',\n \"letter-spacing\": 'calc(20px * (0.5 / 100))'\n },\n h3r: {\n \"font-size\": '16px',\n \"font-weight\": '400',\n \"line-height\": '20px',\n \"letter-spacing\": 'calc(16px * (0.5 / 100))'\n },\n h3m: {\n \"font-size\": '16px',\n \"font-weight\": '500',\n \"line-height\": '20px',\n \"letter-spacing\": 'calc(16px * (0.5 / 100))'\n },\n h3s: {\n \"font-size\": '16px',\n \"font-weight\": '600',\n \"line-height\": '20px',\n \"letter-spacing\": 'calc(16px * (0.5 / 100))'\n },\n h3b: {\n \"font-size\": '16px',\n \"font-weight\": '700',\n \"line-height\": '20px',\n \"letter-spacing\": 'calc(16px * (0.5 / 100))'\n },\n h4r: {\n \"font-size\": '13px',\n \"font-weight\": '400',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(13px * (0.5 / 100))'\n },\n h4m: {\n \"font-size\": '13px',\n \"font-weight\": '500',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(13px * (0.5 / 100))'\n },\n h4s: {\n \"font-size\": '13px',\n \"font-weight\": '600',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(13px * (0.5 / 100))'\n },\n h4b: {\n \"font-size\": '13px',\n \"font-weight\": '700',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(13px * (0.5 / 100))'\n },\n h5r: {\n \"font-size\": '12px',\n \"font-weight\": '400',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(12px * (0.5 / 100))'\n },\n h5m: {\n \"font-size\": '12px',\n \"font-weight\": '500',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(12px * (0.5 / 100))'\n },\n h5s: {\n \"font-size\": '12px',\n \"font-weight\": '600',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(12px * (0.5 / 100))'\n },\n h5b: {\n \"font-size\": '12px',\n \"font-weight\": '700',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(12px * (0.5 / 100))'\n },\n h6r: {\n \"font-size\": '11px',\n \"font-weight\": '400',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h6m: {\n \"font-size\": '11px',\n \"font-weight\": '500',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h6s: {\n \"font-size\": '11px',\n \"font-weight\": '700',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h6b: {\n \"font-size\": '11px',\n \"font-weight\": '700',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h7r: {\n \"font-size\": '10px',\n \"font-weight\": '400',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h7m: {\n \"font-size\": '10px',\n \"font-weight\": '500',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h7s: {\n \"font-size\": '10px',\n \"font-weight\": '600',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h7b: {\n \"font-size\": '10px',\n \"font-weight\": '700',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n};\n\nexport const configButtonColor = (rootColorInTheme: string) => {\n return {\n \"button-primary\": {\n configStepColor: {\n text: \"white\",\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 0,\n background_hover: 20,\n background_active: -20,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 20,\n border_active: -20,\n border_disable: \"#F8F9FA\"\n },\n rootColor: rootColorInTheme\n },\n \"button-primary-revert\": {\n configStepColor: {\n text: 0,\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: \"white\",\n background_hover: 20,\n background_active: -20,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 20,\n border_active: -20,\n border_disable: \"#F8F9FA\"\n },\n rootColor: rootColorInTheme\n },\n \"button-secondary\": {\n configStepColor: {\n text: 0,\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: 90,\n background_hover: 90,\n background_active: 90,\n background_disable: \"#F8F9FA\",\n border: 90,\n border_hover: 90,\n border_active: 90,\n border_disable: \"#F8F9FA\"\n },\n rootColor: rootColorInTheme\n },\n \"button-third\": {\n configStepColor: {\n text: \"#6A7383\",\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: \"#F8F9FA\",\n background_hover: 90,\n background_active: 90,\n background_disable: \"#F8F9FA\",\n border: \"#F8F9FA\",\n border_hover: 90,\n border_active: 90,\n border_disable: \"#F8F9FA\"\n },\n rootColor: rootColorInTheme\n },\n \"button-secondary-red\": {\n configStepColor: {\n text: 0,\n text_hover: -20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: 90,\n background_hover: 90,\n background_active: 90,\n background_disable: \"#F8F9FA\",\n border: 90,\n border_hover: 90,\n border_active: 90,\n border_disable: \"#F8F9FA\"\n },\n rootColor: '#EE2D41'\n },\n \"button-outline\": {\n configStepColor: {\n text: \"#6A7383\",\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: \"white\",\n background_hover: \"white\",\n background_active: \"white\",\n background_disable: \"#F8F9FA\",\n border: \"#e6e7ea\",\n border_hover: 20,\n border_active: -20,\n border_disable: \"#E6E7EA\"\n },\n rootColor: rootColorInTheme\n },\n \"button-danger-high\": {\n configStepColor: {\n text: \"white\",\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 0,\n background_hover: 20,\n background_active: -20,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 20,\n border_active: -20,\n border_disable: \"#F8F9FA\"\n },\n rootColor: \"#ee2d41\"\n },\n \"button-danger-low\": {\n configStepColor: {\n text: \"white\",\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 0,\n background_hover: 20,\n background_active: -20,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 20,\n border_active: -20,\n border_disable: \"#F8F9FA\"\n },\n rootColor: \"#ffa621\"\n },\n \"button-green\": {\n configStepColor: {\n text: \"white\",\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 0,\n background_hover: 20,\n background_active: -20,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 20,\n border_active: -20,\n border_disable: \"#F8F9FA\"\n },\n rootColor: \"#00d16d\"\n },\n \"button-violet\": {\n configStepColor: {\n text: \"white\",\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 0,\n background_hover: 20,\n background_active: -20,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 20,\n border_active: -20,\n border_disable: \"#F8F9FA\"\n },\n rootColor: \"#7239ea\"\n },\n \"button-outline-green\": {\n configStepColor: {\n text: \"#6A7383\",\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: \"white\",\n background_hover: \"white\",\n background_active: \"white\",\n background_disable: \"#F8F9FA\",\n border: \"#e6e7ea\",\n border_hover: 20,\n border_active: -20,\n border_disable: \"#E6E7EA\"\n },\n rootColor: \"#00d16d\"\n },\n \"button-secondary-green\": {\n configStepColor: {\n text: 0,\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 90,\n background_hover: 0,\n background_active: 0,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 0,\n border_active: 0,\n border_disable: \"#F8F9FA\"\n },\n rootColor: \"#00d16d\"\n },\n \"button-outline-secondary\": {\n configStepColor: {\n text: 0,\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 90,\n background_hover: 0,\n background_active: 0,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 0,\n border_active: 0,\n border_disable: \"#E6E7EA\"\n },\n rootColor: rootColorInTheme\n },\n \"button-outline-hover-danger\": {\n configStepColor: {\n text: \"#6A7383\",\n text_hover: 0,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: \"white\",\n background_hover: \"white\",\n background_active: \"white\",\n background_disable: \"#F8F9FA\",\n border: \"#e6e7ea\",\n border_hover: 0,\n border_active: -20,\n border_disable: \"#e6e7ea\"\n },\n rootColor: \"#f15767\"\n }\n }\n};\n\nexport const configLinkButton = (rootColorInTheme: string) => {\n return {\n \"button-link-primary\": {\n configStepColor: {\n text: 0,\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\"\n },\n rootColor: rootColorInTheme\n },\n \"button-link-third\": {\n configStepColor: {\n text: \"#6A7383\",\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n },\n rootColor: rootColorInTheme\n },\n \"button-link-danger-high\": {\n configStepColor: {\n text: 0,\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n },\n rootColor: \"#ee2d41\"\n },\n \"button-link-danger-low\": {\n configStepColor: {\n text: 0,\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n },\n rootColor: \"#ffa621\"\n },\n \"button-link-green\": {\n configStepColor: {\n text: 0,\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n },\n rootColor: \"#00d16d\"\n },\n \"button-link-violet\": {\n configStepColor: {\n text: 0,\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n },\n rootColor: \"#7239ea\"\n }\n };\n};\n\nexport const configButtonStatus = (): ILibsUiConfigButtonStatus => {\n return {\n \"blue\": {\n color: \"#226FF5\",\n background: \"#E9F1FE\"\n },\n \"green\": {\n color: \"#00D16D\",\n background: \"#E6FAF0\"\n },\n \"red\": {\n color: \"#EE2D41\",\n background: \"#FDEAEC\"\n },\n \"orange\": {\n color: \"#F05800\",\n background: \"#FEEEE6\"\n },\n \"yellow\": {\n color: \"#FFA621\",\n background: \"#FFF6E9\"\n },\n \"cyan\": {\n color: \"#04C8C8\",\n background: \"#E6FAFA\"\n },\n \"purple\": {\n color: \"#7239EA\",\n background: \"#F1EBFD\"\n },\n \"brown\": {\n color: \"#663259\",\n background: \"#F0EBEE\"\n }\n }\n}\n\nexport const configButtonTab = (): ILibsUiConfigButtonTab => {\n return {\n \"blue\": {\n color: \"#226FF5\",\n background: \"#F4F8FF\",\n background_badge: \"#E9F1FE\"\n },\n \"green\": {\n color: \"#00D16D\",\n background: \"#F2FCF7\",\n background_badge: \"#E6FAF0\"\n },\n \"red\": {\n color: \"#EE2D41\",\n background: \"#FDEAEC\",\n background_badge: \"#FEE9F1\"\n },\n \"orange\": {\n color: \"#F05800\",\n background: \"#FEF7F2\",\n background_badge: \"#FEEEE6\"\n\n },\n \"yellow\": {\n color: \"#FFA621\",\n background: \"#FFFBF4\",\n background_badge: \"#FFF6E9\"\n },\n \"cyan\": {\n color: \"#04C8C8\",\n background: \"#F2FCFC\",\n background_badge: \"#E6FAFA\"\n },\n \"purple\": {\n color: \"#7239EA\",\n background: \"#F8F5FE\",\n background_badge: \"#F1EBFD\"\n },\n \"brown\": {\n color: \"#663259\",\n background: \"#F7F5F7\",\n background_badge: \"#F0EBEE\"\n }\n }\n}\n\nexport const styleButtonTab = (type: string, config: IColorButtonTab) => {\n const background = config.background || colorStepContrastFromOrigin(config.color, 95)?.light;\n const backgroundBadge = config.background_badge || colorStepContrastFromOrigin(config.color, 90)?.light;\n\n return `.libs-ui-button-tab-${type}[active=\"true\"] {\n background-color: ${background} !important;\n }\n\n .libs-ui-button-tab-${type}[active=\"true\"] > .label {\n color: ${config.color} !important;\n }\n\n .libs-ui-button-tab-${type}[active=\"true\"] > .badge > .circle-tab {\n color: ${config.color} !important;\n background-color: ${backgroundBadge} !important;\n }`;\n}","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Injectable, computed, effect, signal } from \"@angular/core\";\nimport { colorStepContrastFromOrigin, get } from \"@libs-ui/utils\";\nimport { configButtonColor, configButtonStatus, configButtonTab, configHeading, configLinkButton, fontConfig, styleButtonTab, weights } from \"./config-project-data\";\nimport { ILibsUiConfigButtonStatus, ILibsUiConfigButtonTab, ILibsUiConfigFontFamily, ILibsUiConfigFontHeading } from \"./config-project.interface\";\n@Injectable({\n providedIn: 'root'\n})\n\nexport class LibsUiConfigProjectService {\n private readonly themeColor = signal<string>('#226ff5');\n private readonly borderColor = signal<string>('#e6e7ea');\n private readonly textErrorColor = signal<string>('#ff5454');\n private readonly iconHoverDangerColor = signal<string>('#f15767');\n private readonly borderErrorColor = signal<string>('#ee2d41');\n private readonly backgroundDisableColor = signal<string>('#f8f9fa');\n private readonly textReadonlyColor = signal<string>('#071631');\n private readonly textDisableColor = signal<string>('#9ca2ad');\n private readonly backgroundReadonlyColor = signal<string>('#f8f9fa');\n private readonly configFont = signal<ILibsUiConfigFontFamily>(fontConfig);\n private readonly configHead = signal<ILibsUiConfigFontHeading>(configHeading);\n private readonly configDefaultInterpolateParam = signal<{ [key in string]: { [key in string]: string } }>({ vi: {}, en: {} });\n private readonly configButton = computed(() => {\n return { ...configButtonColor(this.themeColor()), ...configLinkButton(this.themeColor()) };\n });\n private readonly configButtonStatus = signal<ILibsUiConfigButtonStatus>(configButtonStatus());\n private readonly configButtonTab = signal<ILibsUiConfigButtonTab>(configButtonTab());\n private readonly styleClassGlobalEl = document.createElement('style');\n private readonly styleClassHeadEl = document.createElement('style');\n private readonly styleClassButtonTabEl = document.createElement('style');\n\n constructor() {\n effect(() => {\n this.setThemeColor();\n });\n\n effect(() => {\n this.setupFontFamily();\n });\n\n effect(() => {\n this.setupFontHead();\n });\n\n effect(() => {\n this.setupButtonTab();\n });\n\n this.configString();\n this.setClassGlobal();\n }\n\n public set ThemeColor(color: string) {\n this.themeColor.set(color || '#226ff5');\n }\n\n public set BorderColor(color: string) {\n this.borderColor.set(color || '#e6e7ea');\n }\n\n public set BorderErrorColor(color: string) {\n this.borderErrorColor.set(color || '#ee2d41');\n }\n\n public set TextErrorColor(color: string) {\n this.textErrorColor.set(color || '#ff5454');\n }\n\n public set IconHoverDangerColor(color: string) {\n this.iconHoverDangerColor.set(color || '#ff5454');\n }\n\n public set BackgroundReadonlyColor(color: string) {\n this.backgroundReadonlyColor.set(color || '#f15767');\n }\n\n public set TextReadonlyColor(color: string) {\n this.textReadonlyColor.set(color || '#071631');\n }\n\n public set BackgroundDisableColor(color: string) {\n this.backgroundDisableColor.set(color || '#f8f9fa');\n }\n\n public set TextDisableColor(color: string) {\n this.textDisableColor.set(color || '#9ca2ad');\n }\n\n public set ConfigFont(configFont: ILibsUiConfigFontFamily) {\n this.configFont.set({ ...configFont });\n }\n\n public set ConfigFontHead(configHead: ILibsUiConfigFontHeading) {\n this.configHead.set({ ...configHead });\n }\n\n public get ConfigDefaultInterpolateParam() {\n return this.configDefaultInterpolateParam;\n }\n\n public get ConfigButton() {\n return this.configButton;\n }\n\n public get ConfigButtonStatus() {\n return this.configButtonStatus();\n }\n\n public set ConfigButtonStatus(config: ILibsUiConfigButtonStatus) {\n this.configButtonStatus.set(config);\n }\n\n public set ConfigButtonTab(config: ILibsUiConfigButtonTab) {\n this.configButtonTab.set(config);\n }\n\n // public hàm để sử dụng cho component input sử dụng tagInput = frameArea;\n public setupFontFamily(currentDoc?: Document) {\n currentDoc = currentDoc || document;\n const doc = currentDoc.documentElement;\n\n doc.style.setProperty('--libs-ui-font-family-name', `${this.configFont().name},Arial, Helvetica, sans-serif`);\n Object.keys(weights).forEach(key => {\n const fontFace = new FontFace(this.configFont().name, `url(${get(this.configFont(), key)})`, { weight: get(weights, key) });\n fontFace.load().then(loadedFont => {\n if ('add' in currentDoc.fonts) {\n (currentDoc.fonts as any).add(loadedFont);\n }\n });\n });\n }\n\n private setupFontHead() {\n const configHeads = this.configHead();\n let styles = '';\n Object.keys(configHeads).forEach(keyConfig => {\n let style = `font-family:var(--libs-ui-font-family-name,'Arial');`;\n const config = get(configHeading, keyConfig);\n Object.keys(config).forEach(key => {\n style = `${style}${key}:${get(config, key)};`;\n });\n styles = `${styles} .libs-ui-font-${keyConfig}{${style}}`;\n });\n\n styles = `*{box-sizing: border-box !important;}${styles}`;\n\n this.styleClassHeadEl.innerHTML = styles;\n document.head.append(this.styleClassHeadEl);\n }\n\n private setupButtonTab() {\n const configButtonTab = this.configButtonTab();\n let styles = '';\n\n Object.keys(configButtonTab).forEach(key => {\n const config = get(configButtonTab, key);\n const style = config ? styleButtonTab(key, config) : '';\n\n styles = `${styles}${style}`;\n });\n this.styleClassButtonTabEl.innerHTML = styles;\n document.head.append(this.styleClassButtonTabEl);\n }\n\n private setThemeColor() {\n const doc = document.documentElement;\n [{\n group: 'libs-ui',\n type: 'color',\n property: {\n default: colorStepContrastFromOrigin(this.themeColor(), 0)?.light,\n light_1: colorStepContrastFromOrigin(this.themeColor(), 20)?.light,\n light_2: colorStepContrastFromOrigin(this.themeColor(), 90)?.light,\n light_3: colorStepContrastFromOrigin(this.themeColor(), 95)?.light,\n light_4: colorStepContrastFromOrigin(this.themeColor(), 50)?.light,\n light_5: colorStepContrastFromOrigin(this.themeColor(), 70)?.light,\n light_6: colorStepContrastFromOrigin(this.themeColor(), 80)?.light,\n dark: colorStepContrastFromOrigin(this.themeColor(), 20)?.dark,\n border: this.borderColor(),\n border_error: this.borderErrorColor(),\n text_error: this.textErrorColor(),\n icon_hover_danger: this.iconHoverDangerColor(),\n background_readonly: this.backgroundReadonlyColor(),\n text_readonly: this.textReadonlyColor(),\n background_disable: this.backgroundDisableColor(),\n text_disable: this.textDisableColor(),\n gradient_from: this.themeColor().toLocaleUpperCase() === '#226FF5' ? colorStepContrastFromOrigin(this.themeColor(), 10)?.light : colorStepContrastFromOrigin(this.themeColor(), 0)?.light,\n gradient_to: this.themeColor().toLocaleUpperCase() === '#226FF5' ? colorStepContrastFromOrigin('#5B2EBB', 10)?.light : colorStepContrastFromOrigin(this.themeColor(), 20)?.dark,\n }\n }].forEach(item => {\n const name = `--${item.group.replace(/[_]/g, '-')}-${item.type.replace(/[_]/g, '-')}`;\n Object.keys(item.property).forEach(key => doc.style.setProperty(`${name}-${key.replace(/[_]/g, '-')}`, (item.property as any)[key]));\n });\n }\n\n public colorStepContrastFromOrigin(step: number, color?: string) {\n return colorStepContrastFromOrigin(color || this.themeColor(), step || 0);\n }\n\n private setClassGlobal() {\n this.styleClassGlobalEl.innerHTML = `\n .libs-ui-border-primary-general{border: 1px solid var(--libs-ui-color-default, #226FF5) !important;}\n .libs-ui-border-primary-focus-general{border: 1px solid var(--libs-ui-color-light-1, #4e8cf7) !important;}\n .libs-ui-border-primary-hover-general{border: 1px solid var(--libs-ui-color-light-3, #f4f8ff) !important;}\n .libs-ui-border-general{ border: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}\n .libs-ui-border-top-general{border-top: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}\n .libs-ui-border-right-general{border-right: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}\n .libs-ui-border-bottom-general{border-bottom: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}\n .libs-ui-border-dashed-bottom-general{border-bottom: dashed 1px var(--libs-ui-color-border, #e6e7ea) !important;}\n .libs-ui-border-left-general{border-left: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}\n .libs-ui-border-x-general{border-left: 1px solid var(--libs-ui-color-border, #e6e7ea) !important; border-right: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}\n .libs-ui-border-y-general{border-top: 1px solid var(--libs-ui-color-border, #e6e7ea) !important; border-bottom: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}\n .libs-ui-border-left-top-general{border-left: 1px solid var(--libs-ui-color-border, #e6e7ea) !important; border-top: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}\n .libs-ui-border-left-bottom-general{border-left: 1px solid var(--libs-ui-color-border, #e6e7ea) !important; border-bottom: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}\n .libs-ui-border-right-top-general{border-right: 1px solid var(--libs-ui-color-border, #e6e7ea) !important; border-top: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}\n .libs-ui-border-right-bottom-general{border-right: 1px solid var(--libs-ui-color-border, #e6e7ea) !important; border-bottom: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}\n .libs-ui-border-error-general{border: 1px solid var(--libs-ui-color-border-error, #ee2d41) !important;}\n .libs-ui-bg-list-hover:hover {background-color: #f8f9fa !important;}\n .libs-ui-bg-list-hover-active:hover {background-color: #f8f9fa !important;}\n .libs-ui-bg-list-hover-active:active {background-color: var(--libs-ui-color-light-3, #f4f8ff) !important;}\n .libs-ui-text-error {color: var(--libs-ui-color-text-error, #ff5454); !important}\n .libs-ui-text-error::before {color: var(--libs-ui-color-text-error, #ff5454) !important;}\n .libs-ui-disable {cursor: default !important;text-decoration: none;color:var(--libs-ui-color-text-disable, #cdd0d6) !important}\n .libs-ui-disable::before {color:var(--libs-ui-color-text-disable, #9ca2ad) !important}\n .libs-ui-disable-background{background: var(--libs-ui-color-background-disable, #f8f9fa) !important;}\n .libs-ui-disable-active {color:var(--libs-ui-color-light-4,#91b7fa) !important}\n .libs-ui-disable-active::before {color:var(--libs-ui-color-light-4,#91b7fa) !important}\n .libs-ui-readonly {cursor: default !important;color:var(--libs-ui-color-text-readonly, #071631) !important;}\n .libs-ui-readonly::before {color:var(--libs-ui-color-text-readonly, #071631) !important;}\n .libs-ui-readonly-background{background: var(--libs-ui-color-background-readonly, #f8f9fa) !important;}\n .libs-ui-icon-hover-danger:hover {color: var(--libs-ui-color-icon-hover-danger, #f15767) !important; [class*=\"libs-ui-icon-\"]{&:before,&:after{color: var(--libs-ui-color-icon-hover-danger, #f15767) !important;}}}\n `.replace(/\\n+/g, '');\n\n document.head.append(this.styleClassGlobalEl);\n }\n\n private configString() {\n const prototype = String.prototype as any;\n prototype.replaceAt = function (index: number, replacement: string) {\n const values = this.split('');\n\n values[index] = replacement;\n\n return values.join('');\n }\n\n prototype.replaceAll = function (index: number, separator: string, replacement: string) {\n const regex = new RegExp(separator, 'g');\n\n return `${this.substr(0, index)}${this.substr(index + 1 + (replacement?.length || 0)).replace(regex, replacement)}`;\n }\n\n prototype.occurrencesByCharacter = function (character: string): number {\n const values = this.split('');\n\n if (!values || !values.length) {\n return 0;\n }\n\n return values.filter((char: string) => char === character).length;\n }\n\n prototype.indexesOfCharacter = function (character: string): Array<number> {\n const values: Array<string> = this.split('');\n const indexes: Array<number> = [];\n\n if (!values || !values.length) {\n return indexes;\n }\n for (const indexValue in values) {\n if (values[indexValue] === character) {\n indexes.push(+indexValue);\n }\n }\n\n return indexes;\n }\n\n\n prototype.indexesByString = function (str: string): Array<number> {\n const values: Array<string> = this as any;\n const indexes: Array<number> = [];\n\n if (!values || !values.length || !str || !str.length || values.length < str.length) {\n\n return indexes;\n }\n for (const indexValue in values) {\n if (values[indexValue] !== str[0] || ((+indexValue) + str.length) > values.length) {\n continue;\n }\n\n for (const index in str.split('')) {\n\n if (values[(+indexValue) + (+index)] !== str[index]) {\n break;\n }\n }\n indexes.push(+indexValue);\n }\n\n return indexes;\n }\n }\n\n}\n","export interface ILibsUiConfigFontFamily {\n name: string;\n uri_regular: string;\n uri_medium: string;\n uri_semibold: string;\n uri_bold: string;\n};\n\nexport interface ILibsUiConfigFontHeading {\n h1r: ILibsUiConfigFontHeadingStyle;\n h1m: ILibsUiConfigFontHeadingStyle;\n h1s: ILibsUiConfigFontHeadingStyle;\n h1b: ILibsUiConfigFontHeadingStyle;\n h2r: ILibsUiConfigFontHeadingStyle;\n h2m: ILibsUiConfigFontHeadingStyle;\n h2s: ILibsUiConfigFontHeadingStyle;\n h2b: ILibsUiConfigFontHeadingStyle;\n h3r: ILibsUiConfigFontHeadingStyle;\n h3m: ILibsUiConfigFontHeadingStyle;\n h3s: ILibsUiConfigFontHeadingStyle;\n h3b: ILibsUiConfigFontHeadingStyle;\n h4r: ILibsUiConfigFontHeadingStyle;\n h4m: ILibsUiConfigFontHeadingStyle;\n h4s: ILibsUiConfigFontHeadingStyle;\n h4b: ILibsUiConfigFontHeadingStyle;\n h5r: ILibsUiConfigFontHeadingStyle;\n h5m: ILibsUiConfigFontHeadingStyle;\n h5s: ILibsUiConfigFontHeadingStyle;\n h5b: ILibsUiConfigFontHeadingStyle;\n h6r: ILibsUiConfigFontHeadingStyle;\n h6m: ILibsUiConfigFontHeadingStyle;\n h6s: ILibsUiConfigFontHeadingStyle;\n h6b: ILibsUiConfigFontHeadingStyle;\n h7r: ILibsUiConfigFontHeadingStyle;\n h7m: ILibsUiConfigFontHeadingStyle;\n h7s: ILibsUiConfigFontHeadingStyle;\n h7b: ILibsUiConfigFontHeadingStyle;\n};\n\nexport interface ILibsUiConfigFontHeadingStyle {\n 'font-size': string;\n 'font-weight': string;\n 'line-height': string;\n 'letter-spacing': string;\n};\n\nexport interface ILibsUiConfigButtonStatus {\n [key: string]: {\n color: string;\n background?: string;\n };\n}\n\nexport interface ILibsUiConfigButtonTab {\n [key: string]: IColorButtonTab;\n}\n\nexport interface IColorButtonTab {\n color: string;\n background?: string;\n background_badge?: string;\n}","export const dataTranslation = () => {\n return {\n vi: { \"i18n_character\": \"Ký tự\", \"i18n_search\": \"Tìm kiếm\", \"i18n_color_custom\": \"Màu tuỳ chỉnh\", \"i18n_add_new\": \"Thêm mới\", \"i18n_cancel\": \"Hủy bỏ\", \"i18n_apply\": \"Áp dụng\", \"i18n_copy_successfully\": \"Sao chép thành công\" },\n en: { \"i18n_character\": \"character\", \"i18n_search\": \"Search\", \"i18n_color_custom\": \"Custom theme color\", \"i18n_add_new\": \"Add new\", \"i18n_cancel\": \"Cancel\", \"i18n_apply\": \"Apply\", \"i18n_copy_successfully\": \"Copied\" }\n };\n};","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { computed, inject } from '@angular/core';\nimport { MissingTranslationHandler, TranslateCompiler, TranslateLoader, TranslateParser, TranslateService, TranslateStore } from '@ngx-translate/core';\nimport { Observable, take } from 'rxjs';\nimport { LibsUiConfigProjectService } from './config-project.service';\nimport { UtilsCache, get } from '@libs-ui/utils';\nimport { dataTranslation } from './data-translation';\n\nexport class LibsUiTranslateService extends TranslateService {\n private configProjectService = inject(LibsUiConfigProjectService);\n private interpolateParam = computed(() => this.configProjectService.ConfigDefaultInterpolateParam());\n constructor(store: TranslateStore, currentLoader: TranslateLoader, compiler: TranslateCompiler, parser: TranslateParser, missingTranslationHandler: MissingTranslationHandler, useDefaultLang: boolean, isolate: boolean, extend: boolean, defaultLanguage: string) {\n super(store, currentLoader, compiler, parser, missingTranslationHandler, useDefaultLang, isolate, extend, defaultLanguage);\n }\n public override instant(key: string | Array<string>, interpolateParams?: NonNullable<unknown>): string | any {\n const val = super.instant(key, { ...this.interpolateParam()[UtilsCache.getLang()], ...(interpolateParams || {}) });\n return val;\n }\n\n public override get(key: string | Array<string>, interpolateParams?: NonNullable<unknown>): Observable<string | any> {\n return super.get(key, { ...this.interpolateParam()[UtilsCache.getLang()], ...(interpolateParams || {}) });\n }\n\n public override getParsedResult(translations: any, key: any, interpolateParams?: NonNullable<unknown>): any {\n return super.getParsedResult(translations, key, { ...this.interpolateParam()[UtilsCache.getLang()], ...(interpolateParams || {}) });\n }\n\n public override use(lang: string): Observable<any> {\n const event = super.use(lang);\n this.get(lang).pipe(take(1)).subscribe(() => super.setTranslation(lang, get(dataTranslation(), lang), true));\n UtilsCache.setLang(lang);\n return event;\n }\n}","import { HttpClient, provideHttpClient } from \"@angular/common/http\";\nimport { TranslateService, TranslateStore, TranslateLoader, TranslateCompiler, TranslateParser, MissingTranslationHandler, TranslateModule } from \"@ngx-translate/core\";\nimport { TranslateMessageFormatCompiler } from \"ngx-translate-messageformat-compiler\";\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\nimport { importProvidersFrom } from \"@angular/core\";\nimport { LibsUiTranslateService } from \"./translate.service\";\nlet link = '/i18n/';\nconst httpLoaderFactory = (http: HttpClient): TranslateHttpLoader => {\n return new TranslateHttpLoader(http, link, '.json');\n};\n\n\nconst TranslateForRootConfig = {\n loader: {\n provide: TranslateLoader,\n useFactory: httpLoaderFactory,\n deps: [HttpClient]\n },\n compiler: {\n provide: TranslateCompiler,\n useClass: TranslateMessageFormatCompiler,\n }\n};\n\nconst TranslateProviderConfig = {\n provide: TranslateService,\n useFactory: (store: TranslateStore, currentLoader: TranslateLoader, compiler: TranslateCompiler, parser: TranslateParser, missingTranslationHandler: MissingTranslationHandler, useDefaultLang: boolean, isolate: boolean, extend: boolean, defaultLanguage: string) => {\n return new LibsUiTranslateService(store, currentLoader, compiler, parser, missingTranslationHandler, useDefaultLang, isolate, extend, defaultLanguage);\n },\n deps: [TranslateStore, TranslateLoader, TranslateCompiler, TranslateParser, MissingTranslationHandler],\n};\n\n\n\nexport const GET_CONFIG_TRANSLATE = (linkFileI18n?: string) => {\n if (linkFileI18n !== undefined) {\n link = linkFileI18n;\n }\n return [\n provideHttpClient(),\n importProvidersFrom(TranslateModule.forRoot(TranslateForRootConfig)),\n TranslateProviderConfig\n ]\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"libs-ui-services-config-project.mjs","sources":["../../../../../libs-ui/services/config-project/src/config-project-data.ts","../../../../../libs-ui/services/config-project/src/config-project.service.ts","../../../../../libs-ui/services/config-project/src/config-project.interface.ts","../../../../../libs-ui/services/config-project/src/libs-ui-services-config-project.ts"],"sourcesContent":["import { colorStepContrastFromOrigin } from \"@libs-ui/utils\";\nimport { IColorButtonTab, ILibsUiConfigButtonStatus, ILibsUiConfigButtonTab, ILibsUiConfigFontHeading } from \"./config-project.interface\";\n\nexport const fontConfig = {\n name: 'SVN-Poppins',\n uri_regular: 'SVN-Poppins-Regular.ttf',\n uri_medium: 'SVN-Poppins-Medium.ttf',\n uri_semibold: 'SVN-Poppins-SemiBold.ttf',\n uri_bold: 'SVN-Poppins-Bold.ttf'\n};\n\nexport const weights = {\n uri_regular: '400',\n uri_medium: '500',\n uri_semibold: '600',\n uri_bold: '700'\n};\n\nexport const configHeading: ILibsUiConfigFontHeading = {\n h1r: {\n \"font-size\": '30px',\n \"font-weight\": '400',\n \"line-height\": '38px',\n \"letter-spacing\": 'calc(30px * (0.5 / 100))'\n },\n h1m: {\n \"font-size\": '30px',\n \"font-weight\": '500',\n \"line-height\": '38px',\n \"letter-spacing\": 'calc(30px * (0.5 / 100))'\n },\n h1s: {\n \"font-size\": '30px',\n \"font-weight\": '600',\n \"line-height\": '38px',\n \"letter-spacing\": 'calc(30px * (0.5 / 100))'\n },\n h1b: {\n \"font-size\": '30px',\n \"font-weight\": '700',\n \"line-height\": '38px',\n \"letter-spacing\": 'calc(30px * (0.5 / 100))'\n },\n h2r: {\n \"font-size\": '20px',\n \"font-weight\": '400',\n \"line-height\": '26px',\n \"letter-spacing\": 'calc(20px * (0.5 / 100))'\n },\n h2m: {\n \"font-size\": '20px',\n \"font-weight\": '500',\n \"line-height\": '26px',\n \"letter-spacing\": 'calc(20px * (0.5 / 100))'\n },\n h2s: {\n \"font-size\": '20px',\n \"font-weight\": '600',\n \"line-height\": '26px',\n \"letter-spacing\": 'calc(20px * (0.5 / 100))'\n },\n h2b: {\n \"font-size\": '20px',\n \"font-weight\": '400',\n \"line-height\": '76px',\n \"letter-spacing\": 'calc(20px * (0.5 / 100))'\n },\n h3r: {\n \"font-size\": '16px',\n \"font-weight\": '400',\n \"line-height\": '20px',\n \"letter-spacing\": 'calc(16px * (0.5 / 100))'\n },\n h3m: {\n \"font-size\": '16px',\n \"font-weight\": '500',\n \"line-height\": '20px',\n \"letter-spacing\": 'calc(16px * (0.5 / 100))'\n },\n h3s: {\n \"font-size\": '16px',\n \"font-weight\": '600',\n \"line-height\": '20px',\n \"letter-spacing\": 'calc(16px * (0.5 / 100))'\n },\n h3b: {\n \"font-size\": '16px',\n \"font-weight\": '700',\n \"line-height\": '20px',\n \"letter-spacing\": 'calc(16px * (0.5 / 100))'\n },\n h4r: {\n \"font-size\": '13px',\n \"font-weight\": '400',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(13px * (0.5 / 100))'\n },\n h4m: {\n \"font-size\": '13px',\n \"font-weight\": '500',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(13px * (0.5 / 100))'\n },\n h4s: {\n \"font-size\": '13px',\n \"font-weight\": '600',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(13px * (0.5 / 100))'\n },\n h4b: {\n \"font-size\": '13px',\n \"font-weight\": '700',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(13px * (0.5 / 100))'\n },\n h5r: {\n \"font-size\": '12px',\n \"font-weight\": '400',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(12px * (0.5 / 100))'\n },\n h5m: {\n \"font-size\": '12px',\n \"font-weight\": '500',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(12px * (0.5 / 100))'\n },\n h5s: {\n \"font-size\": '12px',\n \"font-weight\": '600',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(12px * (0.5 / 100))'\n },\n h5b: {\n \"font-size\": '12px',\n \"font-weight\": '700',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(12px * (0.5 / 100))'\n },\n h6r: {\n \"font-size\": '11px',\n \"font-weight\": '400',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h6m: {\n \"font-size\": '11px',\n \"font-weight\": '500',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h6s: {\n \"font-size\": '11px',\n \"font-weight\": '700',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h6b: {\n \"font-size\": '11px',\n \"font-weight\": '700',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h7r: {\n \"font-size\": '10px',\n \"font-weight\": '400',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h7m: {\n \"font-size\": '10px',\n \"font-weight\": '500',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h7s: {\n \"font-size\": '10px',\n \"font-weight\": '600',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n h7b: {\n \"font-size\": '10px',\n \"font-weight\": '700',\n \"line-height\": '16px',\n \"letter-spacing\": 'calc(11px * (0.5 / 100))'\n },\n};\n\nexport const configButtonColor = (rootColorInTheme: string) => {\n return {\n \"button-primary\": {\n configStepColor: {\n text: \"white\",\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 0,\n background_hover: 20,\n background_active: -20,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 20,\n border_active: -20,\n border_disable: \"#F8F9FA\"\n },\n rootColor: rootColorInTheme\n },\n \"button-primary-revert\": {\n configStepColor: {\n text: 0,\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: \"white\",\n background_hover: 20,\n background_active: -20,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 20,\n border_active: -20,\n border_disable: \"#F8F9FA\"\n },\n rootColor: rootColorInTheme\n },\n \"button-secondary\": {\n configStepColor: {\n text: 0,\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: 90,\n background_hover: 90,\n background_active: 90,\n background_disable: \"#F8F9FA\",\n border: 90,\n border_hover: 90,\n border_active: 90,\n border_disable: \"#F8F9FA\"\n },\n rootColor: rootColorInTheme\n },\n \"button-third\": {\n configStepColor: {\n text: \"#6A7383\",\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: \"#F8F9FA\",\n background_hover: 90,\n background_active: 90,\n background_disable: \"#F8F9FA\",\n border: \"#F8F9FA\",\n border_hover: 90,\n border_active: 90,\n border_disable: \"#F8F9FA\"\n },\n rootColor: rootColorInTheme\n },\n \"button-secondary-red\": {\n configStepColor: {\n text: 0,\n text_hover: -20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: 90,\n background_hover: 90,\n background_active: 90,\n background_disable: \"#F8F9FA\",\n border: 90,\n border_hover: 90,\n border_active: 90,\n border_disable: \"#F8F9FA\"\n },\n rootColor: '#EE2D41'\n },\n \"button-outline\": {\n configStepColor: {\n text: \"#6A7383\",\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: \"white\",\n background_hover: \"white\",\n background_active: \"white\",\n background_disable: \"#F8F9FA\",\n border: \"#e6e7ea\",\n border_hover: 20,\n border_active: -20,\n border_disable: \"#E6E7EA\"\n },\n rootColor: rootColorInTheme\n },\n \"button-danger-high\": {\n configStepColor: {\n text: \"white\",\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 0,\n background_hover: 20,\n background_active: -20,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 20,\n border_active: -20,\n border_disable: \"#F8F9FA\"\n },\n rootColor: \"#ee2d41\"\n },\n \"button-danger-low\": {\n configStepColor: {\n text: \"white\",\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 0,\n background_hover: 20,\n background_active: -20,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 20,\n border_active: -20,\n border_disable: \"#F8F9FA\"\n },\n rootColor: \"#ffa621\"\n },\n \"button-green\": {\n configStepColor: {\n text: \"white\",\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 0,\n background_hover: 20,\n background_active: -20,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 20,\n border_active: -20,\n border_disable: \"#F8F9FA\"\n },\n rootColor: \"#00d16d\"\n },\n \"button-violet\": {\n configStepColor: {\n text: \"white\",\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 0,\n background_hover: 20,\n background_active: -20,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 20,\n border_active: -20,\n border_disable: \"#F8F9FA\"\n },\n rootColor: \"#7239ea\"\n },\n \"button-outline-green\": {\n configStepColor: {\n text: \"#6A7383\",\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: \"white\",\n background_hover: \"white\",\n background_active: \"white\",\n background_disable: \"#F8F9FA\",\n border: \"#e6e7ea\",\n border_hover: 20,\n border_active: -20,\n border_disable: \"#E6E7EA\"\n },\n rootColor: \"#00d16d\"\n },\n \"button-secondary-green\": {\n configStepColor: {\n text: 0,\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 90,\n background_hover: 0,\n background_active: 0,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 0,\n border_active: 0,\n border_disable: \"#F8F9FA\"\n },\n rootColor: \"#00d16d\"\n },\n \"button-outline-secondary\": {\n configStepColor: {\n text: 0,\n text_hover: \"white\",\n text_active: \"white\",\n text_disable: \"#CDD0D6\",\n background: 90,\n background_hover: 0,\n background_active: 0,\n background_disable: \"#F8F9FA\",\n border: 0,\n border_hover: 0,\n border_active: 0,\n border_disable: \"#E6E7EA\"\n },\n rootColor: rootColorInTheme\n },\n \"button-outline-hover-danger\": {\n configStepColor: {\n text: \"#6A7383\",\n text_hover: 0,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n background: \"white\",\n background_hover: \"white\",\n background_active: \"white\",\n background_disable: \"#F8F9FA\",\n border: \"#e6e7ea\",\n border_hover: 0,\n border_active: -20,\n border_disable: \"#e6e7ea\"\n },\n rootColor: \"#f15767\"\n }\n }\n};\n\nexport const configLinkButton = (rootColorInTheme: string) => {\n return {\n \"button-link-primary\": {\n configStepColor: {\n text: 0,\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\"\n },\n rootColor: rootColorInTheme\n },\n \"button-link-third\": {\n configStepColor: {\n text: \"#6A7383\",\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n },\n rootColor: rootColorInTheme\n },\n \"button-link-danger-high\": {\n configStepColor: {\n text: 0,\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n },\n rootColor: \"#ee2d41\"\n },\n \"button-link-danger-low\": {\n configStepColor: {\n text: 0,\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n },\n rootColor: \"#ffa621\"\n },\n \"button-link-green\": {\n configStepColor: {\n text: 0,\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n },\n rootColor: \"#00d16d\"\n },\n \"button-link-violet\": {\n configStepColor: {\n text: 0,\n text_hover: 20,\n text_active: -20,\n text_disable: \"#CDD0D6\",\n },\n rootColor: \"#7239ea\"\n }\n };\n};\n\nexport const configButtonStatus = (): ILibsUiConfigButtonStatus => {\n return {\n \"blue\": {\n color: \"#226FF5\",\n background: \"#E9F1FE\"\n },\n \"green\": {\n color: \"#00D16D\",\n background: \"#E6FAF0\"\n },\n \"red\": {\n color: \"#EE2D41\",\n background: \"#FDEAEC\"\n },\n \"orange\": {\n color: \"#F05800\",\n background: \"#FEEEE6\"\n },\n \"yellow\": {\n color: \"#FFA621\",\n background: \"#FFF6E9\"\n },\n \"cyan\": {\n color: \"#04C8C8\",\n background: \"#E6FAFA\"\n },\n \"purple\": {\n color: \"#7239EA\",\n background: \"#F1EBFD\"\n },\n \"brown\": {\n color: \"#663259\",\n background: \"#F0EBEE\"\n }\n }\n}\n\nexport const configButtonTab = (): ILibsUiConfigButtonTab => {\n return {\n \"blue\": {\n color: \"#226FF5\",\n background: \"#F4F8FF\",\n background_badge: \"#E9F1FE\"\n },\n \"green\": {\n color: \"#00D16D\",\n background: \"#F2FCF7\",\n background_badge: \"#E6FAF0\"\n },\n \"red\": {\n color: \"#EE2D41\",\n background: \"#FDEAEC\",\n background_badge: \"#FEE9F1\"\n },\n \"orange\": {\n color: \"#F05800\",\n background: \"#FEF7F2\",\n background_badge: \"#FEEEE6\"\n\n },\n \"yellow\": {\n color: \"#FFA621\",\n background: \"#FFFBF4\",\n background_badge: \"#FFF6E9\"\n },\n \"cyan\": {\n color: \"#04C8C8\",\n background: \"#F2FCFC\",\n background_badge: \"#E6FAFA\"\n },\n \"purple\": {\n color: \"#7239EA\",\n background: \"#F8F5FE\",\n background_badge: \"#F1EBFD\"\n },\n \"brown\": {\n color: \"#663259\",\n background: \"#F7F5F7\",\n background_badge: \"#F0EBEE\"\n }\n }\n}\n\nexport const styleButtonTab = (type: string, config: IColorButtonTab) => {\n const background = config.background || colorStepContrastFromOrigin(config.color, 95)?.light;\n const backgroundBadge = config.background_badge || colorStepContrastFromOrigin(config.color, 90)?.light;\n\n return `.libs-ui-button-tab-${type}[active=\"true\"] {\n background-color: ${background} !important;\n }\n\n .libs-ui-button-tab-${type}[active=\"true\"] > .label {\n color: ${config.color} !important;\n }\n\n .libs-ui-button-tab-${type}[active=\"true\"] > .badge > .circle-tab {\n color: ${config.color} !important;\n background-color: ${backgroundBadge} !important;\n }`;\n}","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { Injectable, computed, effect, signal } from \"@angular/core\";\nimport { colorStepContrastFromOrigin, get } from \"@libs-ui/utils\";\nimport { configButtonColor, configButtonStatus, configButtonTab, configHeading, configLinkButton, fontConfig, styleButtonTab, weights } from \"./config-project-data\";\nimport { ILibsUiConfigButtonStatus, ILibsUiConfigButtonTab, ILibsUiConfigFontFamily, ILibsUiConfigFontHeading } from \"./config-project.interface\";\n@Injectable({\n providedIn: 'root'\n})\n\nexport class LibsUiConfigProjectService {\n private readonly themeColor = signal<string>('#226ff5');\n private readonly borderColor = signal<string>('#e6e7ea');\n private readonly textErrorColor = signal<string>('#ff5454');\n private readonly iconHoverDangerColor = signal<string>('#f15767');\n private readonly borderErrorColor = signal<string>('#ee2d41');\n private readonly backgroundDisableColor = signal<string>('#f8f9fa');\n private readonly textReadonlyColor = signal<string>('#071631');\n private readonly textDisableColor = signal<string>('#9ca2ad');\n private readonly backgroundReadonlyColor = signal<string>('#f8f9fa');\n private readonly configFont = signal<ILibsUiConfigFontFamily>(fontConfig);\n private readonly configHead = signal<ILibsUiConfigFontHeading>(configHeading);\n private readonly configButton = computed(() => {\n return { ...configButtonColor(this.themeColor()), ...configLinkButton(this.themeColor()) };\n });\n private readonly configButtonStatus = signal<ILibsUiConfigButtonStatus>(configButtonStatus());\n private readonly configButtonTab = signal<ILibsUiConfigButtonTab>(configButtonTab());\n private readonly styleClassGlobalEl = document.createElement('style');\n private readonly styleClassHeadEl = document.createElement('style');\n private readonly styleClassButtonTabEl = document.createElement('style');\n\n constructor() {\n effect(() => {\n this.setThemeColor();\n });\n\n effect(() => {\n this.setupFontFamily();\n });\n\n effect(() => {\n this.setupFontHead();\n });\n\n effect(() => {\n this.setupButtonTab();\n });\n\n this.configString();\n this.setClassGlobal();\n }\n\n public set ThemeColor(color: string) {\n this.themeColor.set(color || '#226ff5');\n }\n\n public set BorderColor(color: string) {\n this.borderColor.set(color || '#e6e7ea');\n }\n\n public set BorderErrorColor(color: string) {\n this.borderErrorColor.set(color || '#ee2d41');\n }\n\n public set TextErrorColor(color: string) {\n this.textErrorColor.set(color || '#ff5454');\n }\n\n public set IconHoverDangerColor(color: string) {\n this.iconHoverDangerColor.set(color || '#ff5454');\n }\n\n public set BackgroundReadonlyColor(color: string) {\n this.backgroundReadonlyColor.set(color || '#f15767');\n }\n\n public set TextReadonlyColor(color: string) {\n this.textReadonlyColor.set(color || '#071631');\n }\n\n public set BackgroundDisableColor(color: string) {\n this.backgroundDisableColor.set(color || '#f8f9fa');\n }\n\n public set TextDisableColor(color: string) {\n this.textDisableColor.set(color || '#9ca2ad');\n }\n\n public set ConfigFont(configFont: ILibsUiConfigFontFamily) {\n this.configFont.set({ ...configFont });\n }\n\n public set ConfigFontHead(configHead: ILibsUiConfigFontHeading) {\n this.configHead.set({ ...configHead });\n }\n\n public get ConfigButton() {\n return this.configButton;\n }\n\n public get ConfigButtonStatus() {\n return this.configButtonStatus();\n }\n\n public set ConfigButtonStatus(config: ILibsUiConfigButtonStatus) {\n this.configButtonStatus.set(config);\n }\n\n public set ConfigButtonTab(config: ILibsUiConfigButtonTab) {\n this.configButtonTab.set(config);\n }\n\n // public hàm để sử dụng cho component input sử dụng tagInput = frameArea;\n public setupFontFamily(currentDoc?: Document) {\n currentDoc = currentDoc || document;\n const doc = currentDoc.documentElement;\n\n doc.style.setProperty('--libs-ui-font-family-name', `${this.configFont().name},Arial, Helvetica, sans-serif`);\n Object.keys(weights).forEach(key => {\n const fontFace = new FontFace(this.configFont().name, `url(${get(this.configFont(), key)})`, { weight: get(weights, key) });\n fontFace.load().then(loadedFont => {\n if ('add' in currentDoc.fonts) {\n (currentDoc.fonts as any).add(loadedFont);\n }\n });\n });\n }\n\n private setupFontHead() {\n const configHeads = this.configHead();\n let styles = '';\n Object.keys(configHeads).forEach(keyConfig => {\n let style = `font-family:var(--libs-ui-font-family-name,'Arial');`;\n const config = get(configHeading, keyConfig);\n Object.keys(config).forEach(key => {\n style = `${style}${key}:${get(config, key)};`;\n });\n styles = `${styles} .libs-ui-font-${keyConfig}{${style}}`;\n });\n\n styles = `*{box-sizing: border-box !important;}${styles}`;\n\n this.styleClassHeadEl.innerHTML = styles;\n document.head.append(this.styleClassHeadEl);\n }\n\n private setupButtonTab() {\n const configButtonTab = this.configButtonTab();\n let styles = '';\n\n Object.keys(configButtonTab).forEach(key => {\n const config = get(configButtonTab, key);\n const style = config ? styleButtonTab(key, config) : '';\n\n styles = `${styles}${style}`;\n });\n this.styleClassButtonTabEl.innerHTML = styles;\n document.head.append(this.styleClassButtonTabEl);\n }\n\n private setThemeColor() {\n const doc = document.documentElement;\n [{\n group: 'libs-ui',\n type: 'color',\n property: {\n default: colorStepContrastFromOrigin(this.themeColor(), 0)?.light,\n light_1: colorStepContrastFromOrigin(this.themeColor(), 20)?.light,\n light_2: colorStepContrastFromOrigin(this.themeColor(), 90)?.light,\n light_3: colorStepContrastFromOrigin(this.themeColor(), 95)?.light,\n light_4: colorStepContrastFromOrigin(this.themeColor(), 50)?.light,\n light_5: colorStepContrastFromOrigin(this.themeColor(), 70)?.light,\n light_6: colorStepContrastFromOrigin(this.themeColor(), 80)?.light,\n dark: colorStepContrastFromOrigin(this.themeColor(), 20)?.dark,\n border: this.borderColor(),\n border_error: this.borderErrorColor(),\n text_error: this.textErrorColor(),\n icon_hover_danger: this.iconHoverDangerColor(),\n background_readonly: this.backgroundReadonlyColor(),\n text_readonly: this.textReadonlyColor(),\n background_disable: this.backgroundDisableColor(),\n text_disable: this.textDisableColor(),\n gradient_from: this.themeColor().toLocaleUpperCase() === '#226FF5' ? colorStepContrastFromOrigin(this.themeColor(), 10)?.light : colorStepContrastFromOrigin(this.themeColor(), 0)?.light,\n gradient_to: this.themeColor().toLocaleUpperCase() === '#226FF5' ? colorStepContrastFromOrigin('#5B2EBB', 10)?.light : colorStepContrastFromOrigin(this.themeColor(), 20)?.dark,\n }\n }].forEach(item => {\n const name = `--${item.group.replace(/[_]/g, '-')}-${item.type.replace(/[_]/g, '-')}`;\n Object.keys(item.property).forEach(key => doc.style.setProperty(`${name}-${key.replace(/[_]/g, '-')}`, (item.property as any)[key]));\n });\n }\n\n public colorStepContrastFromOrigin(step: number, color?: string) {\n return colorStepContrastFromOrigin(color || this.themeColor(), step || 0);\n }\n\n private setClassGlobal() {\n this.styleClassGlobalEl.innerHTML = `\n .libs-ui-border-primary-general{border: 1px solid var(--libs-ui-color-default, #226FF5) !important;}\n .libs-ui-border-primary-focus-general{border: 1px solid var(--libs-ui-color-light-1, #4e8cf7) !important;}\n .libs-ui-border-primary-hover-general{border: 1px solid var(--libs-ui-color-light-3, #f4f8ff) !important;}\n .libs-ui-border-general{ border: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}\n .libs-ui-border-top-general{border-top: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}\n .libs-ui-border-right-general{border-right: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}\n .libs-ui-border-bottom-general{border-bottom: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}\n .libs-ui-border-dashed-bottom-general{border-bottom: dashed 1px var(--libs-ui-color-border, #e6e7ea) !important;}\n .libs-ui-border-left-general{border-left: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}\n .libs-ui-border-x-general{border-left: 1px solid var(--libs-ui-color-border, #e6e7ea) !important; border-right: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}\n .libs-ui-border-y-general{border-top: 1px solid var(--libs-ui-color-border, #e6e7ea) !important; border-bottom: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}\n .libs-ui-border-left-top-general{border-left: 1px solid var(--libs-ui-color-border, #e6e7ea) !important; border-top: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}\n .libs-ui-border-left-bottom-general{border-left: 1px solid var(--libs-ui-color-border, #e6e7ea) !important; border-bottom: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}\n .libs-ui-border-right-top-general{border-right: 1px solid var(--libs-ui-color-border, #e6e7ea) !important; border-top: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}\n .libs-ui-border-right-bottom-general{border-right: 1px solid var(--libs-ui-color-border, #e6e7ea) !important; border-bottom: 1px solid var(--libs-ui-color-border, #e6e7ea) !important;}\n .libs-ui-border-error-general{border: 1px solid var(--libs-ui-color-border-error, #ee2d41) !important;}\n .libs-ui-bg-list {background-color: #f8f9fa !important;}\n .libs-ui-bg-list-hover:hover {background-color: #f8f9fa !important;}\n .libs-ui-bg-list-active {background-color: var(--libs-ui-color-light-3, #f4f8ff) !important;}\n .libs-ui-bg-list-hover-active:hover {background-color: #f8f9fa !important;}\n .libs-ui-bg-list-hover-active:active {background-color: var(--libs-ui-color-light-3, #f4f8ff) !important;}\n .libs-ui-text-error {color: var(--libs-ui-color-text-error, #ff5454); !important}\n .libs-ui-text-error::before {color: var(--libs-ui-color-text-error, #ff5454) !important;}\n .libs-ui-disable {cursor: default !important;text-decoration: none;color:var(--libs-ui-color-text-disable, #cdd0d6) !important}\n .libs-ui-disable::before {color:var(--libs-ui-color-text-disable, #9ca2ad) !important}\n .libs-ui-disable-background{background: var(--libs-ui-color-background-disable, #f8f9fa) !important;}\n .libs-ui-disable-active {color:var(--libs-ui-color-light-4,#91b7fa) !important}\n .libs-ui-disable-active::before {color:var(--libs-ui-color-light-4,#91b7fa) !important}\n .libs-ui-readonly {cursor: default !important;color:var(--libs-ui-color-text-readonly, #071631) !important;}\n .libs-ui-readonly::before {color:var(--libs-ui-color-text-readonly, #071631) !important;}\n .libs-ui-readonly-background{background: var(--libs-ui-color-background-readonly, #f8f9fa) !important;}\n .libs-ui-icon-hover-danger:hover {color: var(--libs-ui-color-icon-hover-danger, #f15767) !important; [class*=\"libs-ui-icon-\"]{&:before,&:after{color: var(--libs-ui-color-icon-hover-danger, #f15767) !important;}}}\n `.replace(/\\n+/g, '');\n\n document.head.append(this.styleClassGlobalEl);\n }\n\n private configString() {\n const prototype = String.prototype as any;\n prototype.replaceAt = function (index: number, replacement: string) {\n const values = this.split('');\n\n values[index] = replacement;\n\n return values.join('');\n }\n\n prototype.replaceAll = function (index: number, separator: string, replacement: string) {\n const regex = new RegExp(separator, 'g');\n\n return `${this.substr(0, index)}${this.substr(index + 1 + (replacement?.length || 0)).replace(regex, replacement)}`;\n }\n\n prototype.occurrencesByCharacter = function (character: string): number {\n const values = this.split('');\n\n if (!values || !values.length) {\n return 0;\n }\n\n return values.filter((char: string) => char === character).length;\n }\n\n prototype.indexesOfCharacter = function (character: string): Array<number> {\n const values: Array<string> = this.split('');\n const indexes: Array<number> = [];\n\n if (!values || !values.length) {\n return indexes;\n }\n for (const indexValue in values) {\n if (values[indexValue] === character) {\n indexes.push(+indexValue);\n }\n }\n\n return indexes;\n }\n\n\n prototype.indexesByString = function (str: string): Array<number> {\n const values: Array<string> = this as any;\n const indexes: Array<number> = [];\n\n if (!values || !values.length || !str || !str.length || values.length < str.length) {\n\n return indexes;\n }\n for (const indexValue in values) {\n if (values[indexValue] !== str[0] || ((+indexValue) + str.length) > values.length) {\n continue;\n }\n\n for (const index in str.split('')) {\n\n if (values[(+indexValue) + (+index)] !== str[index]) {\n break;\n }\n }\n indexes.push(+indexValue);\n }\n\n return indexes;\n }\n }\n\n}\n","export interface ILibsUiConfigFontFamily {\n name: string;\n uri_regular: string;\n uri_medium: string;\n uri_semibold: string;\n uri_bold: string;\n};\n\nexport interface ILibsUiConfigFontHeading {\n h1r: ILibsUiConfigFontHeadingStyle;\n h1m: ILibsUiConfigFontHeadingStyle;\n h1s: ILibsUiConfigFontHeadingStyle;\n h1b: ILibsUiConfigFontHeadingStyle;\n h2r: ILibsUiConfigFontHeadingStyle;\n h2m: ILibsUiConfigFontHeadingStyle;\n h2s: ILibsUiConfigFontHeadingStyle;\n h2b: ILibsUiConfigFontHeadingStyle;\n h3r: ILibsUiConfigFontHeadingStyle;\n h3m: ILibsUiConfigFontHeadingStyle;\n h3s: ILibsUiConfigFontHeadingStyle;\n h3b: ILibsUiConfigFontHeadingStyle;\n h4r: ILibsUiConfigFontHeadingStyle;\n h4m: ILibsUiConfigFontHeadingStyle;\n h4s: ILibsUiConfigFontHeadingStyle;\n h4b: ILibsUiConfigFontHeadingStyle;\n h5r: ILibsUiConfigFontHeadingStyle;\n h5m: ILibsUiConfigFontHeadingStyle;\n h5s: ILibsUiConfigFontHeadingStyle;\n h5b: ILibsUiConfigFontHeadingStyle;\n h6r: ILibsUiConfigFontHeadingStyle;\n h6m: ILibsUiConfigFontHeadingStyle;\n h6s: ILibsUiConfigFontHeadingStyle;\n h6b: ILibsUiConfigFontHeadingStyle;\n h7r: ILibsUiConfigFontHeadingStyle;\n h7m: ILibsUiConfigFontHeadingStyle;\n h7s: ILibsUiConfigFontHeadingStyle;\n h7b: ILibsUiConfigFontHeadingStyle;\n};\n\nexport interface ILibsUiConfigFontHeadingStyle {\n 'font-size': string;\n 'font-weight': string;\n 'line-height': string;\n 'letter-spacing': string;\n};\n\nexport interface ILibsUiConfigButtonStatus {\n [key: string]: {\n color: string;\n background?: string;\n };\n}\n\nexport interface ILibsUiConfigButtonTab {\n [key: string]: IColorButtonTab;\n}\n\nexport interface IColorButtonTab {\n color: string;\n background?: string;\n background_badge?: string;\n}\n\nexport interface IColorButton {\n configStepColor: {\n text: string | number;\n text_hover: string | number;\n text_active: string | number;\n text_disable: string | number;\n background?: string | number;\n background_hover?: string | number;\n background_active?: string | number;\n background_disable?: string | number;\n border?: string | number;\n border_hover?: string | number;\n border_active?: string | number;\n border_disable?: string | number;\n };\n rootColor: string;\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
package/package.json
CHANGED
package/config-translate.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { TranslateService, TranslateStore, TranslateLoader, TranslateCompiler, TranslateParser, MissingTranslationHandler } from "@ngx-translate/core";
|
|
2
|
-
import { LibsUiTranslateService } from "./translate.service";
|
|
3
|
-
export declare const GET_CONFIG_TRANSLATE: (linkFileI18n?: string) => ({
|
|
4
|
-
provide: typeof TranslateService;
|
|
5
|
-
useFactory: (store: TranslateStore, currentLoader: TranslateLoader, compiler: TranslateCompiler, parser: TranslateParser, missingTranslationHandler: MissingTranslationHandler, useDefaultLang: boolean, isolate: boolean, extend: boolean, defaultLanguage: string) => LibsUiTranslateService;
|
|
6
|
-
deps: (typeof TranslateLoader | typeof TranslateCompiler | typeof TranslateStore | typeof TranslateParser | typeof MissingTranslationHandler)[];
|
|
7
|
-
} | import("@angular/core").EnvironmentProviders)[];
|
package/data-translation.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
export declare const dataTranslation: () => {
|
|
2
|
-
vi: {
|
|
3
|
-
i18n_character: string;
|
|
4
|
-
i18n_search: string;
|
|
5
|
-
i18n_color_custom: string;
|
|
6
|
-
i18n_add_new: string;
|
|
7
|
-
i18n_cancel: string;
|
|
8
|
-
i18n_apply: string;
|
|
9
|
-
i18n_copy_successfully: string;
|
|
10
|
-
};
|
|
11
|
-
en: {
|
|
12
|
-
i18n_character: string;
|
|
13
|
-
i18n_search: string;
|
|
14
|
-
i18n_color_custom: string;
|
|
15
|
-
i18n_add_new: string;
|
|
16
|
-
i18n_cancel: string;
|
|
17
|
-
i18n_apply: string;
|
|
18
|
-
i18n_copy_successfully: string;
|
|
19
|
-
};
|
|
20
|
-
};
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { HttpClient, provideHttpClient } from "@angular/common/http";
|
|
2
|
-
import { TranslateService, TranslateStore, TranslateLoader, TranslateCompiler, TranslateParser, MissingTranslationHandler, TranslateModule } from "@ngx-translate/core";
|
|
3
|
-
import { TranslateMessageFormatCompiler } from "ngx-translate-messageformat-compiler";
|
|
4
|
-
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
|
|
5
|
-
import { importProvidersFrom } from "@angular/core";
|
|
6
|
-
import { LibsUiTranslateService } from "./translate.service";
|
|
7
|
-
let link = '/i18n/';
|
|
8
|
-
const httpLoaderFactory = (http) => {
|
|
9
|
-
return new TranslateHttpLoader(http, link, '.json');
|
|
10
|
-
};
|
|
11
|
-
const TranslateForRootConfig = {
|
|
12
|
-
loader: {
|
|
13
|
-
provide: TranslateLoader,
|
|
14
|
-
useFactory: httpLoaderFactory,
|
|
15
|
-
deps: [HttpClient]
|
|
16
|
-
},
|
|
17
|
-
compiler: {
|
|
18
|
-
provide: TranslateCompiler,
|
|
19
|
-
useClass: TranslateMessageFormatCompiler,
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
const TranslateProviderConfig = {
|
|
23
|
-
provide: TranslateService,
|
|
24
|
-
useFactory: (store, currentLoader, compiler, parser, missingTranslationHandler, useDefaultLang, isolate, extend, defaultLanguage) => {
|
|
25
|
-
return new LibsUiTranslateService(store, currentLoader, compiler, parser, missingTranslationHandler, useDefaultLang, isolate, extend, defaultLanguage);
|
|
26
|
-
},
|
|
27
|
-
deps: [TranslateStore, TranslateLoader, TranslateCompiler, TranslateParser, MissingTranslationHandler],
|
|
28
|
-
};
|
|
29
|
-
export const GET_CONFIG_TRANSLATE = (linkFileI18n) => {
|
|
30
|
-
if (linkFileI18n !== undefined) {
|
|
31
|
-
link = linkFileI18n;
|
|
32
|
-
}
|
|
33
|
-
return [
|
|
34
|
-
provideHttpClient(),
|
|
35
|
-
importProvidersFrom(TranslateModule.forRoot(TranslateForRootConfig)),
|
|
36
|
-
TranslateProviderConfig
|
|
37
|
-
];
|
|
38
|
-
};
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLXRyYW5zbGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvc2VydmljZXMvY29uZmlnLXByb2plY3Qvc3JjL2NvbmZpZy10cmFuc2xhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSx5QkFBeUIsRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4SyxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsSUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDO0FBQ3BCLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFnQixFQUF1QixFQUFFO0lBQ2xFLE9BQU8sSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQ3RELENBQUMsQ0FBQztBQUdGLE1BQU0sc0JBQXNCLEdBQUc7SUFDN0IsTUFBTSxFQUFFO1FBQ04sT0FBTyxFQUFFLGVBQWU7UUFDeEIsVUFBVSxFQUFFLGlCQUFpQjtRQUM3QixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7S0FDbkI7SUFDRCxRQUFRLEVBQUU7UUFDUixPQUFPLEVBQUUsaUJBQWlCO1FBQzFCLFFBQVEsRUFBRSw4QkFBOEI7S0FDekM7Q0FDRixDQUFDO0FBRUYsTUFBTSx1QkFBdUIsR0FBRztJQUM5QixPQUFPLEVBQUUsZ0JBQWdCO0lBQ3pCLFVBQVUsRUFBRSxDQUFDLEtBQXFCLEVBQUUsYUFBOEIsRUFBRSxRQUEyQixFQUFFLE1BQXVCLEVBQUUseUJBQW9ELEVBQUUsY0FBdUIsRUFBRSxPQUFnQixFQUFFLE1BQWUsRUFBRSxlQUF1QixFQUFFLEVBQUU7UUFDclEsT0FBTyxJQUFJLHNCQUFzQixDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSx5QkFBeUIsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxlQUFlLENBQUMsQ0FBQztJQUN6SixDQUFDO0lBQ0QsSUFBSSxFQUFFLENBQUMsY0FBYyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUseUJBQXlCLENBQUM7Q0FDdkcsQ0FBQztBQUlGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsWUFBcUIsRUFBRSxFQUFFO0lBQzVELElBQUksWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQy9CLElBQUksR0FBRyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUNELE9BQU87UUFDTCxpQkFBaUIsRUFBRTtRQUNuQixtQkFBbUIsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDcEUsdUJBQXVCO0tBQ3hCLENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBwcm92aWRlSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSwgVHJhbnNsYXRlU3RvcmUsIFRyYW5zbGF0ZUxvYWRlciwgVHJhbnNsYXRlQ29tcGlsZXIsIFRyYW5zbGF0ZVBhcnNlciwgTWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlciwgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZU1lc3NhZ2VGb3JtYXRDb21waWxlciB9IGZyb20gXCJuZ3gtdHJhbnNsYXRlLW1lc3NhZ2Vmb3JtYXQtY29tcGlsZXJcIjtcbmltcG9ydCB7IFRyYW5zbGF0ZUh0dHBMb2FkZXIgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9odHRwLWxvYWRlcic7XG5pbXBvcnQgeyBpbXBvcnRQcm92aWRlcnNGcm9tIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IExpYnNVaVRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiLi90cmFuc2xhdGUuc2VydmljZVwiO1xubGV0IGxpbmsgPSAnL2kxOG4vJztcbmNvbnN0IGh0dHBMb2FkZXJGYWN0b3J5ID0gKGh0dHA6IEh0dHBDbGllbnQpOiBUcmFuc2xhdGVIdHRwTG9hZGVyID0+IHtcbiAgcmV0dXJuIG5ldyBUcmFuc2xhdGVIdHRwTG9hZGVyKGh0dHAsIGxpbmssICcuanNvbicpO1xufTtcblxuXG5jb25zdCBUcmFuc2xhdGVGb3JSb290Q29uZmlnID0ge1xuICBsb2FkZXI6IHtcbiAgICBwcm92aWRlOiBUcmFuc2xhdGVMb2FkZXIsXG4gICAgdXNlRmFjdG9yeTogaHR0cExvYWRlckZhY3RvcnksXG4gICAgZGVwczogW0h0dHBDbGllbnRdXG4gIH0sXG4gIGNvbXBpbGVyOiB7XG4gICAgcHJvdmlkZTogVHJhbnNsYXRlQ29tcGlsZXIsXG4gICAgdXNlQ2xhc3M6IFRyYW5zbGF0ZU1lc3NhZ2VGb3JtYXRDb21waWxlcixcbiAgfVxufTtcblxuY29uc3QgVHJhbnNsYXRlUHJvdmlkZXJDb25maWcgPSB7XG4gIHByb3ZpZGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gIHVzZUZhY3Rvcnk6IChzdG9yZTogVHJhbnNsYXRlU3RvcmUsIGN1cnJlbnRMb2FkZXI6IFRyYW5zbGF0ZUxvYWRlciwgY29tcGlsZXI6IFRyYW5zbGF0ZUNvbXBpbGVyLCBwYXJzZXI6IFRyYW5zbGF0ZVBhcnNlciwgbWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlcjogTWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlciwgdXNlRGVmYXVsdExhbmc6IGJvb2xlYW4sIGlzb2xhdGU6IGJvb2xlYW4sIGV4dGVuZDogYm9vbGVhbiwgZGVmYXVsdExhbmd1YWdlOiBzdHJpbmcpID0+IHtcbiAgICByZXR1cm4gbmV3IExpYnNVaVRyYW5zbGF0ZVNlcnZpY2Uoc3RvcmUsIGN1cnJlbnRMb2FkZXIsIGNvbXBpbGVyLCBwYXJzZXIsIG1pc3NpbmdUcmFuc2xhdGlvbkhhbmRsZXIsIHVzZURlZmF1bHRMYW5nLCBpc29sYXRlLCBleHRlbmQsIGRlZmF1bHRMYW5ndWFnZSk7XG4gIH0sXG4gIGRlcHM6IFtUcmFuc2xhdGVTdG9yZSwgVHJhbnNsYXRlTG9hZGVyLCBUcmFuc2xhdGVDb21waWxlciwgVHJhbnNsYXRlUGFyc2VyLCBNaXNzaW5nVHJhbnNsYXRpb25IYW5kbGVyXSxcbn07XG5cblxuXG5leHBvcnQgY29uc3QgR0VUX0NPTkZJR19UUkFOU0xBVEUgPSAobGlua0ZpbGVJMThuPzogc3RyaW5nKSA9PiB7XG4gIGlmIChsaW5rRmlsZUkxOG4gIT09IHVuZGVmaW5lZCkge1xuICAgIGxpbmsgPSBsaW5rRmlsZUkxOG47XG4gIH1cbiAgcmV0dXJuIFtcbiAgICBwcm92aWRlSHR0cENsaWVudCgpLFxuICAgIGltcG9ydFByb3ZpZGVyc0Zyb20oVHJhbnNsYXRlTW9kdWxlLmZvclJvb3QoVHJhbnNsYXRlRm9yUm9vdENvbmZpZykpLFxuICAgIFRyYW5zbGF0ZVByb3ZpZGVyQ29uZmlnXG4gIF1cbn0iXX0=
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export const dataTranslation = () => {
|
|
2
|
-
return {
|
|
3
|
-
vi: { "i18n_character": "Ký tự", "i18n_search": "Tìm kiếm", "i18n_color_custom": "Màu tuỳ chỉnh", "i18n_add_new": "Thêm mới", "i18n_cancel": "Hủy bỏ", "i18n_apply": "Áp dụng", "i18n_copy_successfully": "Sao chép thành công" },
|
|
4
|
-
en: { "i18n_character": "character", "i18n_search": "Search", "i18n_color_custom": "Custom theme color", "i18n_add_new": "Add new", "i18n_cancel": "Cancel", "i18n_apply": "Apply", "i18n_copy_successfully": "Copied" }
|
|
5
|
-
};
|
|
6
|
-
};
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10cmFuc2xhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMtdWkvc2VydmljZXMvY29uZmlnLXByb2plY3Qvc3JjL2RhdGEtdHJhbnNsYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEdBQUcsRUFBRTtJQUNsQyxPQUFPO1FBQ0wsRUFBRSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLHdCQUF3QixFQUFFLHFCQUFxQixFQUFFO1FBQ2pPLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFFLG9CQUFvQixFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLFFBQVEsRUFBRTtLQUN6TixDQUFDO0FBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGRhdGFUcmFuc2xhdGlvbiA9ICgpID0+IHtcbiAgcmV0dXJuIHtcbiAgICB2aTogeyBcImkxOG5fY2hhcmFjdGVyXCI6IFwiS8O9IHThu7FcIiwgXCJpMThuX3NlYXJjaFwiOiBcIlTDrG0ga2nhur9tXCIsIFwiaTE4bl9jb2xvcl9jdXN0b21cIjogXCJNw6B1IHR14buzIGNo4buJbmhcIiwgXCJpMThuX2FkZF9uZXdcIjogXCJUaMOqbSBt4bubaVwiLCBcImkxOG5fY2FuY2VsXCI6IFwiSOG7p3kgYuG7j1wiLCBcImkxOG5fYXBwbHlcIjogXCLDgXAgZOG7pW5nXCIsIFwiaTE4bl9jb3B5X3N1Y2Nlc3NmdWxseVwiOiBcIlNhbyBjaMOpcCB0aMOgbmggY8O0bmdcIiB9LFxuICAgIGVuOiB7IFwiaTE4bl9jaGFyYWN0ZXJcIjogXCJjaGFyYWN0ZXJcIiwgXCJpMThuX3NlYXJjaFwiOiBcIlNlYXJjaFwiLCBcImkxOG5fY29sb3JfY3VzdG9tXCI6IFwiQ3VzdG9tIHRoZW1lIGNvbG9yXCIsIFwiaTE4bl9hZGRfbmV3XCI6IFwiQWRkIG5ld1wiLCBcImkxOG5fY2FuY2VsXCI6IFwiQ2FuY2VsXCIsIFwiaTE4bl9hcHBseVwiOiBcIkFwcGx5XCIsIFwiaTE4bl9jb3B5X3N1Y2Nlc3NmdWxseVwiOiBcIkNvcGllZFwiIH1cbiAgfTtcbn07Il19
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
import { computed, inject } from '@angular/core';
|
|
3
|
-
import { TranslateService } from '@ngx-translate/core';
|
|
4
|
-
import { take } from 'rxjs';
|
|
5
|
-
import { LibsUiConfigProjectService } from './config-project.service';
|
|
6
|
-
import { UtilsCache, get } from '@libs-ui/utils';
|
|
7
|
-
import { dataTranslation } from './data-translation';
|
|
8
|
-
export class LibsUiTranslateService extends TranslateService {
|
|
9
|
-
configProjectService = inject(LibsUiConfigProjectService);
|
|
10
|
-
interpolateParam = computed(() => this.configProjectService.ConfigDefaultInterpolateParam());
|
|
11
|
-
constructor(store, currentLoader, compiler, parser, missingTranslationHandler, useDefaultLang, isolate, extend, defaultLanguage) {
|
|
12
|
-
super(store, currentLoader, compiler, parser, missingTranslationHandler, useDefaultLang, isolate, extend, defaultLanguage);
|
|
13
|
-
}
|
|
14
|
-
instant(key, interpolateParams) {
|
|
15
|
-
const val = super.instant(key, { ...this.interpolateParam()[UtilsCache.getLang()], ...(interpolateParams || {}) });
|
|
16
|
-
return val;
|
|
17
|
-
}
|
|
18
|
-
get(key, interpolateParams) {
|
|
19
|
-
return super.get(key, { ...this.interpolateParam()[UtilsCache.getLang()], ...(interpolateParams || {}) });
|
|
20
|
-
}
|
|
21
|
-
getParsedResult(translations, key, interpolateParams) {
|
|
22
|
-
return super.getParsedResult(translations, key, { ...this.interpolateParam()[UtilsCache.getLang()], ...(interpolateParams || {}) });
|
|
23
|
-
}
|
|
24
|
-
use(lang) {
|
|
25
|
-
const event = super.use(lang);
|
|
26
|
-
this.get(lang).pipe(take(1)).subscribe(() => super.setTranslation(lang, get(dataTranslation(), lang), true));
|
|
27
|
-
UtilsCache.setLang(lang);
|
|
28
|
-
return event;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzLXVpL3NlcnZpY2VzL2NvbmZpZy1wcm9qZWN0L3NyYy90cmFuc2xhdGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx1REFBdUQ7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFrRixnQkFBZ0IsRUFBa0IsTUFBTSxxQkFBcUIsQ0FBQztBQUN2SixPQUFPLEVBQWMsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3hDLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRXJELE1BQU0sT0FBTyxzQkFBdUIsU0FBUSxnQkFBZ0I7SUFDbEQsb0JBQW9CLEdBQUcsTUFBTSxDQUFDLDBCQUEwQixDQUFDLENBQUM7SUFDMUQsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyw2QkFBNkIsRUFBRSxDQUFDLENBQUM7SUFDckcsWUFBWSxLQUFxQixFQUFFLGFBQThCLEVBQUUsUUFBMkIsRUFBRSxNQUF1QixFQUFFLHlCQUFvRCxFQUFFLGNBQXVCLEVBQUUsT0FBZ0IsRUFBRSxNQUFlLEVBQUUsZUFBdUI7UUFDaFEsS0FBSyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSx5QkFBeUIsRUFBRSxjQUFjLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxlQUFlLENBQUMsQ0FBQztJQUM3SCxDQUFDO0lBQ2UsT0FBTyxDQUFDLEdBQTJCLEVBQUUsaUJBQXdDO1FBQzNGLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25ILE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVlLEdBQUcsQ0FBQyxHQUEyQixFQUFFLGlCQUF3QztRQUN2RixPQUFPLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVHLENBQUM7SUFFZSxlQUFlLENBQUMsWUFBaUIsRUFBRSxHQUFRLEVBQUUsaUJBQXdDO1FBQ25HLE9BQU8sS0FBSyxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsaUJBQWlCLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3RJLENBQUM7SUFFZSxHQUFHLENBQUMsSUFBWTtRQUM5QixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsZUFBZSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM3RyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgY29tcHV0ZWQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWlzc2luZ1RyYW5zbGF0aW9uSGFuZGxlciwgVHJhbnNsYXRlQ29tcGlsZXIsIFRyYW5zbGF0ZUxvYWRlciwgVHJhbnNsYXRlUGFyc2VyLCBUcmFuc2xhdGVTZXJ2aWNlLCBUcmFuc2xhdGVTdG9yZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTGlic1VpQ29uZmlnUHJvamVjdFNlcnZpY2UgfSBmcm9tICcuL2NvbmZpZy1wcm9qZWN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbHNDYWNoZSwgZ2V0IH0gZnJvbSAnQGxpYnMtdWkvdXRpbHMnO1xuaW1wb3J0IHsgZGF0YVRyYW5zbGF0aW9uIH0gZnJvbSAnLi9kYXRhLXRyYW5zbGF0aW9uJztcblxuZXhwb3J0IGNsYXNzIExpYnNVaVRyYW5zbGF0ZVNlcnZpY2UgZXh0ZW5kcyBUcmFuc2xhdGVTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBjb25maWdQcm9qZWN0U2VydmljZSA9IGluamVjdChMaWJzVWlDb25maWdQcm9qZWN0U2VydmljZSk7XG4gIHByaXZhdGUgaW50ZXJwb2xhdGVQYXJhbSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuY29uZmlnUHJvamVjdFNlcnZpY2UuQ29uZmlnRGVmYXVsdEludGVycG9sYXRlUGFyYW0oKSk7XG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBUcmFuc2xhdGVTdG9yZSwgY3VycmVudExvYWRlcjogVHJhbnNsYXRlTG9hZGVyLCBjb21waWxlcjogVHJhbnNsYXRlQ29tcGlsZXIsIHBhcnNlcjogVHJhbnNsYXRlUGFyc2VyLCBtaXNzaW5nVHJhbnNsYXRpb25IYW5kbGVyOiBNaXNzaW5nVHJhbnNsYXRpb25IYW5kbGVyLCB1c2VEZWZhdWx0TGFuZzogYm9vbGVhbiwgaXNvbGF0ZTogYm9vbGVhbiwgZXh0ZW5kOiBib29sZWFuLCBkZWZhdWx0TGFuZ3VhZ2U6IHN0cmluZykge1xuICAgIHN1cGVyKHN0b3JlLCBjdXJyZW50TG9hZGVyLCBjb21waWxlciwgcGFyc2VyLCBtaXNzaW5nVHJhbnNsYXRpb25IYW5kbGVyLCB1c2VEZWZhdWx0TGFuZywgaXNvbGF0ZSwgZXh0ZW5kLCBkZWZhdWx0TGFuZ3VhZ2UpO1xuICB9XG4gIHB1YmxpYyBvdmVycmlkZSBpbnN0YW50KGtleTogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPiwgaW50ZXJwb2xhdGVQYXJhbXM/OiBOb25OdWxsYWJsZTx1bmtub3duPik6IHN0cmluZyB8IGFueSB7XG4gICAgY29uc3QgdmFsID0gc3VwZXIuaW5zdGFudChrZXksIHsgLi4udGhpcy5pbnRlcnBvbGF0ZVBhcmFtKClbVXRpbHNDYWNoZS5nZXRMYW5nKCldLCAuLi4oaW50ZXJwb2xhdGVQYXJhbXMgfHwge30pIH0pO1xuICAgIHJldHVybiB2YWw7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0KGtleTogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPiwgaW50ZXJwb2xhdGVQYXJhbXM/OiBOb25OdWxsYWJsZTx1bmtub3duPik6IE9ic2VydmFibGU8c3RyaW5nIHwgYW55PiB7XG4gICAgcmV0dXJuIHN1cGVyLmdldChrZXksIHsgLi4udGhpcy5pbnRlcnBvbGF0ZVBhcmFtKClbVXRpbHNDYWNoZS5nZXRMYW5nKCldLCAuLi4oaW50ZXJwb2xhdGVQYXJhbXMgfHwge30pIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldFBhcnNlZFJlc3VsdCh0cmFuc2xhdGlvbnM6IGFueSwga2V5OiBhbnksIGludGVycG9sYXRlUGFyYW1zPzogTm9uTnVsbGFibGU8dW5rbm93bj4pOiBhbnkge1xuICAgIHJldHVybiBzdXBlci5nZXRQYXJzZWRSZXN1bHQodHJhbnNsYXRpb25zLCBrZXksIHsgLi4udGhpcy5pbnRlcnBvbGF0ZVBhcmFtKClbVXRpbHNDYWNoZS5nZXRMYW5nKCldLCAuLi4oaW50ZXJwb2xhdGVQYXJhbXMgfHwge30pIH0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHVzZShsYW5nOiBzdHJpbmcpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIGNvbnN0IGV2ZW50ID0gc3VwZXIudXNlKGxhbmcpO1xuICAgIHRoaXMuZ2V0KGxhbmcpLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKCgpID0+IHN1cGVyLnNldFRyYW5zbGF0aW9uKGxhbmcsIGdldChkYXRhVHJhbnNsYXRpb24oKSwgbGFuZyksIHRydWUpKTtcbiAgICBVdGlsc0NhY2hlLnNldExhbmcobGFuZyk7XG4gICAgcmV0dXJuIGV2ZW50O1xuICB9XG59Il19
|
package/translate.service.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { MissingTranslationHandler, TranslateCompiler, TranslateLoader, TranslateParser, TranslateService, TranslateStore } from '@ngx-translate/core';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
export declare class LibsUiTranslateService extends TranslateService {
|
|
4
|
-
private configProjectService;
|
|
5
|
-
private interpolateParam;
|
|
6
|
-
constructor(store: TranslateStore, currentLoader: TranslateLoader, compiler: TranslateCompiler, parser: TranslateParser, missingTranslationHandler: MissingTranslationHandler, useDefaultLang: boolean, isolate: boolean, extend: boolean, defaultLanguage: string);
|
|
7
|
-
instant(key: string | Array<string>, interpolateParams?: NonNullable<unknown>): string | any;
|
|
8
|
-
get(key: string | Array<string>, interpolateParams?: NonNullable<unknown>): Observable<string | any>;
|
|
9
|
-
getParsedResult(translations: any, key: any, interpolateParams?: NonNullable<unknown>): any;
|
|
10
|
-
use(lang: string): Observable<any>;
|
|
11
|
-
}
|