@sambath999/localize-token 18.0.4 → 18.0.6

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.
Files changed (31) hide show
  1. package/esm2022/localize-logindlg/localize-logindlg.component.mjs +210 -0
  2. package/esm2022/localize-logindlg/localize-logindlg.module.mjs +39 -0
  3. package/esm2022/localize-logindlg/localize-logindlg.service.mjs +33 -0
  4. package/esm2022/localize-logindlg/public-api.mjs +4 -0
  5. package/esm2022/localize-token/localize.api.service.mjs +138 -0
  6. package/esm2022/localize-token/localize.token.mjs +54 -0
  7. package/esm2022/{lib → localize-token}/localize.token.module.mjs +1 -1
  8. package/esm2022/localize-token/localize.token.service.mjs +61 -0
  9. package/esm2022/localize-token/localize.token.storage.mjs +113 -0
  10. package/esm2022/localize-token/public-api.mjs +6 -0
  11. package/esm2022/public-api.mjs +3 -2
  12. package/fesm2022/sambath999-localize-token.mjs +272 -2
  13. package/fesm2022/sambath999-localize-token.mjs.map +1 -1
  14. package/localize-logindlg/localize-logindlg.component.d.ts +32 -0
  15. package/localize-logindlg/localize-logindlg.module.d.ts +12 -0
  16. package/localize-logindlg/localize-logindlg.service.d.ts +10 -0
  17. package/localize-logindlg/public-api.d.ts +3 -0
  18. package/localize-token/public-api.d.ts +5 -0
  19. package/package.json +6 -11
  20. package/public-api.d.ts +2 -1
  21. package/esm2022/lib/index.mjs +0 -6
  22. package/esm2022/lib/localize.api.service.mjs +0 -138
  23. package/esm2022/lib/localize.token.mjs +0 -54
  24. package/esm2022/lib/localize.token.service.mjs +0 -61
  25. package/esm2022/lib/localize.token.storage.mjs +0 -113
  26. package/lib/index.d.ts +0 -5
  27. /package/{lib → localize-token}/localize.api.service.d.ts +0 -0
  28. /package/{lib → localize-token}/localize.token.d.ts +0 -0
  29. /package/{lib → localize-token}/localize.token.module.d.ts +0 -0
  30. /package/{lib → localize-token}/localize.token.service.d.ts +0 -0
  31. /package/{lib → localize-token}/localize.token.storage.d.ts +0 -0
@@ -0,0 +1,61 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { LocalizeToken } from './localize.token';
3
+ import { BehaviorSubject } from 'rxjs';
4
+ import * as jwt_decode from 'jwt-decode';
5
+ import * as i0 from "@angular/core";
6
+ export class LocalizeTokenService {
7
+ isRevokingTokenSubject = new BehaviorSubject(false);
8
+ get authToken() { return this.storageGet(); }
9
+ set authToken(value) {
10
+ value
11
+ ? this.storageSet(value)
12
+ : LocalizeToken.storage.delete(LocalizeToken.config.authTokenName);
13
+ }
14
+ get refreshToken() { return LocalizeToken.storage.get(LocalizeToken.config.refreshTokenName); }
15
+ get accessToken() { return this.authToken?.token; }
16
+ set accessToken(value) {
17
+ if (value) {
18
+ this.authToken = { token: value, revoke: false };
19
+ }
20
+ }
21
+ get isRevokingToken() { return this.isRevokingTokenSubject.value; /* this.authToken?.revoke ?? false */ }
22
+ set isRevokingToken(value) {
23
+ this.isRevokingTokenSubject.next(value);
24
+ if (this.authToken) {
25
+ this.authToken = { ...this.authToken, revoke: value };
26
+ }
27
+ }
28
+ get tenantToken() { return LocalizeToken.storage.get(LocalizeToken.config.tenantTokenName); }
29
+ constructor() { }
30
+ storageGet() {
31
+ try {
32
+ const encoded = LocalizeToken.storage.get(LocalizeToken.config.authTokenName);
33
+ const decoded = atob(encoded || '');
34
+ return JSON.parse(decoded);
35
+ }
36
+ catch {
37
+ return undefined;
38
+ }
39
+ }
40
+ storageSet(value) {
41
+ const base64 = btoa(JSON.stringify(value));
42
+ LocalizeToken.storage.set(LocalizeToken.config.authTokenName, base64);
43
+ }
44
+ tokensValid() {
45
+ return this.refreshToken?.length && (!LocalizeToken.config.needTenant || this.tenantToken?.length);
46
+ }
47
+ decodeToken = (token) => jwt_decode.jwtDecode(token);
48
+ get decodeRefreshToken() {
49
+ const token = LocalizeToken.storage.get(LocalizeToken.config.refreshTokenName);
50
+ if (!token)
51
+ return null;
52
+ return this.decodeToken(token);
53
+ }
54
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizeTokenService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
55
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizeTokenService, providedIn: 'root' });
56
+ }
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizeTokenService, decorators: [{
58
+ type: Injectable,
59
+ args: [{ providedIn: 'root' }]
60
+ }], ctorParameters: () => [] });
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUudG9rZW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2NhbGl6ZS10b2tlbi9sb2NhbGl6ZS50b2tlbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdkMsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUM7O0FBaUJ6QyxNQUFNLE9BQU8sb0JBQW9CO0lBQ3BCLHNCQUFzQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBRXRFLElBQVksU0FBUyxLQUFLLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFBLENBQUMsQ0FBQztJQUNwRCxJQUFZLFNBQVMsQ0FBQyxLQUE2QjtRQUMvQyxLQUFLO1lBQ0QsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzNFLENBQUM7SUFFRCxJQUFJLFlBQVksS0FBSyxPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQSxDQUFDLENBQUM7SUFDOUYsSUFBSSxXQUFXLEtBQUssT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQSxDQUFDLENBQUM7SUFFbEQsSUFBSSxXQUFXLENBQUMsS0FBeUI7UUFDckMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNSLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQTtRQUNwRCxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksZUFBZSxLQUFLLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQSxDQUFDLHFDQUFxQyxDQUFDLENBQUM7SUFDeEcsSUFBSSxlQUFlLENBQUMsS0FBYztRQUM5QixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDO1FBQzFELENBQUM7SUFDTCxDQUFDO0lBRUQsSUFBSSxXQUFXLEtBQUssT0FBTyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUU1RixnQkFBZ0IsQ0FBQztJQUVULFVBQVU7UUFDZCxJQUFJLENBQUM7WUFDRCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzlFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUM7WUFDcEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBZSxDQUFDO1FBQzdDLENBQUM7UUFBQyxNQUFNLENBQUM7WUFDTCxPQUFPLFNBQVMsQ0FBQTtRQUNwQixDQUFDO0lBQ0wsQ0FBQztJQUVPLFVBQVUsQ0FBQyxLQUFpQjtRQUNoQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQzNDLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFRCxXQUFXO1FBQ1AsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN2RyxDQUFDO0lBRUQsV0FBVyxHQUFHLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFhLEtBQUssQ0FBQyxDQUFDO0lBQ3pFLElBQUksa0JBQWtCO1FBQ2xCLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO3dHQXZEUSxvQkFBb0I7NEdBQXBCLG9CQUFvQixjQURQLE1BQU07OzRGQUNuQixvQkFBb0I7a0JBRGhDLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMb2NhbGl6ZVRva2VuIH0gZnJvbSAnLi9sb2NhbGl6ZS50b2tlbic7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgKiBhcyBqd3RfZGVjb2RlIGZyb20gJ2p3dC1kZWNvZGUnO1xyXG5leHBvcnQgaW50ZXJmYWNlIEp3dFBheWxvYWQgZXh0ZW5kcyBqd3RfZGVjb2RlLkp3dFBheWxvYWQge1xyXG4gICAgLy8gRGVmaW5lIHRoZSBzdHJ1Y3R1cmUgb2YgeW91ciBKV1QgcGF5bG9hZCBoZXJlXHJcbiAgICBlbWFpbDogc3RyaW5nO1xyXG4gICAgc3ViOiBzdHJpbmc7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBpYXQ6IG51bWJlcjtcclxuICAgIGV4cDogbnVtYmVyO1xyXG4gICAgLy8gQWRkIG90aGVyIGZpZWxkcyBhcyBuZWVkZWRcclxufVxyXG5cclxuaW50ZXJmYWNlIElBdXRoVG9rZW4ge1xyXG4gICAgdG9rZW46IHN0cmluZztcclxuICAgIHJldm9rZTogYm9vbGVhbjtcclxufVxyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIExvY2FsaXplVG9rZW5TZXJ2aWNlIHtcclxuICAgIHJlYWRvbmx5IGlzUmV2b2tpbmdUb2tlblN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgICBwcml2YXRlIGdldCBhdXRoVG9rZW4oKSB7IHJldHVybiB0aGlzLnN0b3JhZ2VHZXQoKSB9XHJcbiAgICBwcml2YXRlIHNldCBhdXRoVG9rZW4odmFsdWU6IElBdXRoVG9rZW4gfCB1bmRlZmluZWQpIHtcclxuICAgICAgICB2YWx1ZVxyXG4gICAgICAgICAgICA/IHRoaXMuc3RvcmFnZVNldCh2YWx1ZSlcclxuICAgICAgICAgICAgOiBMb2NhbGl6ZVRva2VuLnN0b3JhZ2UuZGVsZXRlKExvY2FsaXplVG9rZW4uY29uZmlnLmF1dGhUb2tlbk5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGdldCByZWZyZXNoVG9rZW4oKSB7IHJldHVybiBMb2NhbGl6ZVRva2VuLnN0b3JhZ2UuZ2V0KExvY2FsaXplVG9rZW4uY29uZmlnLnJlZnJlc2hUb2tlbk5hbWUpIH1cclxuICAgIGdldCBhY2Nlc3NUb2tlbigpIHsgcmV0dXJuIHRoaXMuYXV0aFRva2VuPy50b2tlbiB9XHJcblxyXG4gICAgc2V0IGFjY2Vzc1Rva2VuKHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5hdXRoVG9rZW4gPSB7IHRva2VuOiB2YWx1ZSwgcmV2b2tlOiBmYWxzZSB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGdldCBpc1Jldm9raW5nVG9rZW4oKSB7IHJldHVybiB0aGlzLmlzUmV2b2tpbmdUb2tlblN1YmplY3QudmFsdWUgLyogdGhpcy5hdXRoVG9rZW4/LnJldm9rZSA/PyBmYWxzZSAqLyB9XHJcbiAgICBzZXQgaXNSZXZva2luZ1Rva2VuKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5pc1Jldm9raW5nVG9rZW5TdWJqZWN0Lm5leHQodmFsdWUpO1xyXG4gICAgICAgIGlmICh0aGlzLmF1dGhUb2tlbikge1xyXG4gICAgICAgICAgICB0aGlzLmF1dGhUb2tlbiA9IHsgLi4udGhpcy5hdXRoVG9rZW4sIHJldm9rZTogdmFsdWUgfTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHRlbmFudFRva2VuKCkgeyByZXR1cm4gTG9jYWxpemVUb2tlbi5zdG9yYWdlLmdldChMb2NhbGl6ZVRva2VuLmNvbmZpZy50ZW5hbnRUb2tlbk5hbWUpIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICAgIHByaXZhdGUgc3RvcmFnZUdldCgpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zdCBlbmNvZGVkID0gTG9jYWxpemVUb2tlbi5zdG9yYWdlLmdldChMb2NhbGl6ZVRva2VuLmNvbmZpZy5hdXRoVG9rZW5OYW1lKTtcclxuICAgICAgICAgICAgY29uc3QgZGVjb2RlZCA9IGF0b2IoZW5jb2RlZCB8fCAnJyk7XHJcbiAgICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKGRlY29kZWQpIGFzIElBdXRoVG9rZW47XHJcbiAgICAgICAgfSBjYXRjaCB7XHJcbiAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2V0KHZhbHVlOiBJQXV0aFRva2VuKSB7XHJcbiAgICAgICAgY29uc3QgYmFzZTY0ID0gYnRvYShKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xyXG4gICAgICAgIExvY2FsaXplVG9rZW4uc3RvcmFnZS5zZXQoTG9jYWxpemVUb2tlbi5jb25maWcuYXV0aFRva2VuTmFtZSwgYmFzZTY0KTtcclxuICAgIH1cclxuXHJcbiAgICB0b2tlbnNWYWxpZCgpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5yZWZyZXNoVG9rZW4/Lmxlbmd0aCAmJiAoIUxvY2FsaXplVG9rZW4uY29uZmlnLm5lZWRUZW5hbnQgfHwgdGhpcy50ZW5hbnRUb2tlbj8ubGVuZ3RoKTtcclxuICAgIH1cclxuXHJcbiAgICBkZWNvZGVUb2tlbiA9ICh0b2tlbjogc3RyaW5nKSA9PiBqd3RfZGVjb2RlLmp3dERlY29kZTxKd3RQYXlsb2FkPih0b2tlbik7XHJcbiAgICBnZXQgZGVjb2RlUmVmcmVzaFRva2VuKCkge1xyXG4gICAgICAgIGNvbnN0IHRva2VuID0gTG9jYWxpemVUb2tlbi5zdG9yYWdlLmdldChMb2NhbGl6ZVRva2VuLmNvbmZpZy5yZWZyZXNoVG9rZW5OYW1lKTtcclxuICAgICAgICBpZiAoIXRva2VuKSByZXR1cm4gbnVsbDtcclxuICAgICAgICByZXR1cm4gdGhpcy5kZWNvZGVUb2tlbih0b2tlbik7XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Assembly of @package ng2-cookies @see https://www.npmjs.com/package/ng2-cookies
3
+ *
4
+ * Reassembled by
5
+ * @author sambath999
6
+ * @date_29_09_2021
7
+ * Updated from raw parameters to
8
+ * @param {ICookieOptions} options and added another newer cookie flag
9
+ * @param {string} samesite
10
+ * @param {constant} SameSiteTypes, @param {string} strict "strict", @param {string} lax "lax", @param {string} none "none"
11
+ *
12
+ * @enum
13
+ */
14
+ export class LocalizeTokenStorageHelper {
15
+ /**
16
+ * Checks the existence of a single cookie by it's name
17
+ *
18
+ * @param {string} name Identification of the cookie
19
+ * @returns existence of the cookie
20
+ */
21
+ check(name) {
22
+ if (typeof document === "undefined")
23
+ return false;
24
+ name = encodeURIComponent(name);
25
+ const regexp = new RegExp('(?:^' + name + '|;\\s*' + name + ')=(.*?)(?:;|$)', 'g');
26
+ return regexp.test(document.cookie);
27
+ }
28
+ /**
29
+ * Retrieves a single cookie by it's name
30
+ *
31
+ * @param {string} name Identification of the Cookie
32
+ * @returns The Cookie's value
33
+ */
34
+ get(name) {
35
+ if (!this.check(name))
36
+ return undefined;
37
+ name = encodeURIComponent(name);
38
+ const regexp = new RegExp('(?:^' + name + '|;\\s*' + name + ')=(.*?)(?:;|$)', 'g');
39
+ const result = regexp.exec(document.cookie);
40
+ return result ? decodeURIComponent(result[1]) : undefined;
41
+ }
42
+ /**
43
+ * Retrieves a a list of all cookie avaiable
44
+ *
45
+ * @returns Object with all Cookies
46
+ */
47
+ getAll() {
48
+ const cookies = {};
49
+ if (document.cookie) {
50
+ const split = document.cookie.split(';');
51
+ for (const s of split) {
52
+ const currCookie = s.split('=');
53
+ currCookie[0] = currCookie[0].trim();
54
+ cookies[decodeURIComponent(currCookie[0])] = decodeURIComponent(currCookie[1]);
55
+ }
56
+ }
57
+ return cookies;
58
+ }
59
+ get defaultOptions() {
60
+ const getMainDomain = (subdomain) => {
61
+ const parts = subdomain.split('.');
62
+ return parts.length > 2 ? parts.slice(-2).join('.') : subdomain;
63
+ };
64
+ const mainDomain = getMainDomain(window.location.hostname);
65
+ return {
66
+ path: '/',
67
+ domain: mainDomain,
68
+ secure: true,
69
+ // samesite: SameSiteType.strict,
70
+ expires: 1
71
+ };
72
+ }
73
+ set(name, value, options) {
74
+ options ??= this.defaultOptions;
75
+ const { expires, path, domain, secure, samesite } = options;
76
+ let cookieStr = `${encodeURIComponent(name)}=${encodeURIComponent(value)};`;
77
+ if (expires) {
78
+ const dtExpires = typeof expires === 'number' ? new Date(Date.now() + expires * 864e5) : expires;
79
+ cookieStr += `expires=${dtExpires.toUTCString()};`;
80
+ }
81
+ cookieStr += path ? `path=${path};` : '';
82
+ cookieStr += domain ? `domain=${domain};` : '';
83
+ cookieStr += secure ? 'secure;' : '';
84
+ cookieStr += samesite ? `samesite=${samesite};` : '';
85
+ document.cookie = cookieStr;
86
+ }
87
+ /**
88
+ * Removes specified Cookie
89
+ *
90
+ * @param {string} name Cookie's identification
91
+ * @param {string} path Path relative to the domain where the cookie should be avaiable. Default /
92
+ * @param {string} domain Domain where the cookie should be avaiable. Default current domain
93
+ */
94
+ delete(name, path = '/', domain = window.location.hostname) {
95
+ this.set(name, '', { path, domain, expires: -1 });
96
+ }
97
+ /**
98
+ * Delete all cookie avaiable
99
+ */
100
+ deleteAll(path, domain) {
101
+ const cookies = this.getAll();
102
+ for (const cookieName of Object.keys(cookies)) {
103
+ this.delete(cookieName, path, domain);
104
+ }
105
+ }
106
+ }
107
+ export var ISameSiteType;
108
+ (function (ISameSiteType) {
109
+ ISameSiteType["strict"] = "strict";
110
+ ISameSiteType["lax"] = "lax";
111
+ ISameSiteType["none"] = "none";
112
+ })(ISameSiteType || (ISameSiteType = {}));
113
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxpemUudG9rZW4uc3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2NhbGl6ZS10b2tlbi9sb2NhbGl6ZS50b2tlbi5zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7RUFZRTtBQUNGLE1BQU0sT0FBTywwQkFBMEI7SUFFckM7Ozs7O09BS0c7SUFDSCxLQUFLLENBQUMsSUFBWTtRQUNoQixJQUFJLE9BQU8sUUFBUSxLQUFLLFdBQVc7WUFBRSxPQUFPLEtBQUssQ0FBQztRQUNsRCxJQUFJLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksR0FBRyxRQUFRLEdBQUcsSUFBSSxHQUFHLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ25GLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsR0FBRyxDQUFDLElBQVk7UUFDZCxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7WUFBRSxPQUFPLFNBQVMsQ0FBQztRQUV4QyxJQUFJLEdBQUcsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDaEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksR0FBRyxRQUFRLEdBQUcsSUFBSSxHQUFHLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ25GLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLE9BQU8sTUFBTSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFD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LE9BQWUsR0FBRyxFQUFFLFNBQWlCLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUTtRQUNoRixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUyxDQUFDLElBQWEsRUFBRSxNQUFlO1FBQ3RDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUU5QixLQUFLLE1BQU0sVUFBVSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDeEMsQ0FBQztJQUNILENBQUM7Q0FFRjtBQUVELE1BQU0sQ0FBTixJQUFZLGFBSVg7QUFKRCxXQUFZLGFBQWE7SUFDdkIsa0NBQWlCLENBQUE7SUFDakIsNEJBQVcsQ0FBQTtJQUNYLDhCQUFhLENBQUE7QUFDZixDQUFDLEVBSlcsYUFBYSxLQUFiLGFBQWEsUUFJeEIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuKiBBc3NlbWJseSBvZiBAcGFja2FnZSBuZzItY29va2llcyBAc2VlIGh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL25nMi1jb29raWVzXHJcbipcclxuKiBSZWFzc2VtYmxlZCBieVxyXG4qIEBhdXRob3Igc2FtYmF0aDk5OVxyXG4qIEBkYXRlXzI5XzA5XzIwMjFcclxuKiBVcGRhdGVkIGZyb20gcmF3IHBhcmFtZXRlcnMgdG9cclxuKiBAcGFyYW0ge0lDb29raWVPcHRpb25zfSBvcHRpb25zIGFuZCBhZGRlZCBhbm90aGVyIG5ld2VyIGNvb2tpZSBmbGFnXHJcbiogQHBhcmFtIHtzdHJpbmd9IHNhbWVzaXRlXHJcbiogQHBhcmFtIHtjb25zdGFudH0gU2FtZVNpdGVUeXBlcywgQHBhcmFtIHtzdHJpbmd9IHN0cmljdCBcInN0cmljdFwiLCBAcGFyYW0ge3N0cmluZ30gbGF4IFwibGF4XCIsIEBwYXJhbSB7c3RyaW5nfSBub25lIFwibm9uZVwiXHJcbipcclxuKiBAZW51bVxyXG4qL1xyXG5leHBvcnQgY2xhc3MgTG9jYWxpemVUb2tlblN0b3JhZ2VIZWxwZXIge1xyXG5cclxuICAvKipcclxuICAgKiBDaGVja3MgdGhlIGV4aXN0ZW5jZSBvZiBhIHNpbmdsZSBjb29raWUgYnkgaXQncyBuYW1lXHJcbiAgICpcclxuICAgKiBAcGFyYW0gIHtzdHJpbmd9IG5hbWUgSWRlbnRpZmljYXRpb24gb2YgdGhlIGNvb2tpZVxyXG4gICAqIEByZXR1cm5zIGV4aXN0ZW5jZSBvZiB0aGUgY29va2llXHJcbiAgICovXHJcbiAgY2hlY2sobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm4gZmFsc2U7XHJcbiAgICBuYW1lID0gZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpO1xyXG4gICAgY29uc3QgcmVnZXhwID0gbmV3IFJlZ0V4cCgnKD86XicgKyBuYW1lICsgJ3w7XFxcXHMqJyArIG5hbWUgKyAnKT0oLio/KSg/Ojt8JCknLCAnZycpO1xyXG4gICAgcmV0dXJuIHJlZ2V4cC50ZXN0KGRvY3VtZW50LmNvb2tpZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXRyaWV2ZXMgYSBzaW5nbGUgY29va2llIGJ5IGl0J3MgbmFtZVxyXG4gICAqXHJcbiAgICogQHBhcmFtICB7c3RyaW5nfSBuYW1lIElkZW50aWZpY2F0aW9uIG9mIHRoZSBDb29raWVcclxuICAgKiBAcmV0dXJucyBUaGUgQ29va2llJ3MgdmFsdWVcclxuICAgKi9cclxuICBnZXQobmFtZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICAgIGlmICghdGhpcy5jaGVjayhuYW1lKSkgcmV0dXJuIHVuZGVmaW5lZDtcclxuXHJcbiAgICBuYW1lID0gZW5jb2RlVVJJQ29tcG9uZW50KG5hbWUpO1xyXG4gICAgY29uc3QgcmVnZXhwID0gbmV3IFJlZ0V4cCgnKD86XicgKyBuYW1lICsgJ3w7XFxcXHMqJyArIG5hbWUgKyAnKT0oLio/KSg/Ojt8JCknLCAnZycpO1xyXG4gICAgY29uc3QgcmVzdWx0ID0gcmVnZXhwLmV4ZWMoZG9jdW1lbnQuY29va2llKTtcclxuICAgIHJldHVybiByZXN1bHQgPyBkZWNvZGVVUklDb21wb25lbnQocmVzdWx0WzFdKSA6IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHJpZXZlcyBhIGEgbGlzdCBvZiBhbGwgY29va2llIGF2YWlhYmxlXHJcbiAgICpcclxuICAgKiBAcmV0dXJucyBPYmplY3Qgd2l0aCBhbGwgQ29va2llc1xyXG4gICAqL1xyXG4gIGdldEFsbCgpOiBhbnkge1xyXG4gICAgY29uc3QgY29va2llczogYW55ID0ge307XHJcblxyXG4gICAgaWYgKGRvY3VtZW50LmNvb2tpZSkge1xyXG4gICAgICBjb25zdCBzcGxpdCA9IGRvY3VtZW50LmNvb2tpZS5zcGxpdCgnOycpO1xyXG4gICAgICBmb3IgKGNvbnN0IHMgb2Ygc3BsaXQpIHtcclxuICAgICAgICBjb25zdCBjdXJyQ29va2llID0gcy5zcGxpdCgnPScpO1xyXG4gICAgICAgIGN1cnJDb29raWVbMF0gPSBjdXJyQ29va2llWzBdLnRyaW0oKTtcclxuICAgICAgICBjb29raWVzW2RlY29kZVVSSUNvbXBvbmVudChjdXJyQ29va2llWzBdKV0gPSBkZWNvZGVVUklDb21wb25lbnQoY3VyckNvb2tpZVsxXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gY29va2llcztcclxuICB9XHJcblxyXG4gIGdldCBkZWZhdWx0T3B0aW9ucygpOiBJQ29va2llT3B0aW9ucyB7XHJcbiAgICBjb25zdCBnZXRNYWluRG9tYWluID0gKHN1YmRvbWFpbjogc3RyaW5nKTogc3RyaW5nID0+IHtcclxuICAgICAgY29uc3QgcGFydHMgPSBzdWJkb21haW4uc3BsaXQoJy4nKTtcclxuICAgICAgcmV0dXJuIHBhcnRzLmxlbmd0aCA+IDIgPyBwYXJ0cy5zbGljZSgtMikuam9pbignLicpIDogc3ViZG9tYWluO1xyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBtYWluRG9tYWluID0gZ2V0TWFpbkRvbWFpbih3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpO1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgcGF0aDogJy8nLFxyXG4gICAgICBkb21haW46IG1haW5Eb21haW4sXHJcbiAgICAgIHNlY3VyZTogdHJ1ZSxcclxuICAgICAgLy8gc2FtZXNpdGU6IFNhbWVTaXRlVHlwZS5zdHJpY3QsXHJcbiAgICAgIGV4cGlyZXM6IDFcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldChuYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcsIG9wdGlvbnM/OiBJQ29va2llT3B0aW9ucykge1xyXG4gICAgb3B0aW9ucyA/Pz0gdGhpcy5kZWZhdWx0T3B0aW9ucztcclxuICAgIGNvbnN0IHsgZXhwaXJlcywgcGF0aCwgZG9tYWluLCBzZWN1cmUsIHNhbWVzaXRlIH0gPSBvcHRpb25zO1xyXG4gICAgbGV0IGNvb2tpZVN0ciA9IGAke2VuY29kZVVSSUNvbXBvbmVudChuYW1lKX09JHtlbmNvZGVVUklDb21wb25lbnQodmFsdWUpfTtgO1xyXG5cclxuICAgIGlmIChleHBpcmVzKSB7XHJcbiAgICAgIGNvbnN0IGR0RXhwaXJlcyA9IHR5cGVvZiBleHBpcmVzID09PSAnbnVtYmVyJyA/IG5ldyBEYXRlKERhdGUubm93KCkgKyBleHBpcmVzICogODY0ZTUpIDogZXhwaXJlcztcclxuICAgICAgY29va2llU3RyICs9IGBleHBpcmVzPSR7ZHRFeHBpcmVzLnRvVVRDU3RyaW5nKCl9O2A7XHJcbiAgICB9XHJcblxyXG4gICAgY29va2llU3RyICs9IHBhdGggPyBgcGF0aD0ke3BhdGh9O2AgOiAnJztcclxuICAgIGNvb2tpZVN0ciArPSBkb21haW4gPyBgZG9tYWluPSR7ZG9tYWlufTtgIDogJyc7XHJcbiAgICBjb29raWVTdHIgKz0gc2VjdXJlID8gJ3NlY3VyZTsnIDogJyc7XHJcbiAgICBjb29raWVTdHIgKz0gc2FtZXNpdGUgPyBgc2FtZXNpdGU9JHtzYW1lc2l0ZX07YCA6ICcnO1xyXG5cclxuICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZVN0cjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJlbW92ZXMgc3BlY2lmaWVkIENvb2tpZVxyXG4gICAqXHJcbiAgICogQHBhcmFtICB7c3RyaW5nfSBuYW1lIENvb2tpZSdzIGlkZW50aWZpY2F0aW9uXHJcbiAgICogQHBhcmFtICB7c3RyaW5nfSBwYXRoIFBhdGggcmVsYXRpdmUgdG8gdGhlIGRvbWFpbiB3aGVyZSB0aGUgY29va2llIHNob3VsZCBiZSBhdmFpYWJsZS4gRGVmYXVsdCAvXHJcbiAgICogQHBhcmFtICB7c3RyaW5nfSBkb21haW4gRG9tYWluIHdoZXJlIHRoZSBjb29raWUgc2hvdWxkIGJlIGF2YWlhYmxlLiBEZWZhdWx0IGN1cnJlbnQgZG9tYWluXHJcbiAgICovXHJcbiAgZGVsZXRlKG5hbWU6IHN0cmluZywgcGF0aDogc3RyaW5nID0gJy8nLCBkb21haW46IHN0cmluZyA9IHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXQobmFtZSwgJycsIHsgcGF0aCwgZG9tYWluLCBleHBpcmVzOiAtMSB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlbGV0ZSBhbGwgY29va2llIGF2YWlhYmxlXHJcbiAgICovXHJcbiAgZGVsZXRlQWxsKHBhdGg/OiBzdHJpbmcsIGRvbWFpbj86IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgY29va2llcyA9IHRoaXMuZ2V0QWxsKCk7XHJcblxyXG4gICAgZm9yIChjb25zdCBjb29raWVOYW1lIG9mIE9iamVjdC5rZXlzKGNvb2tpZXMpKSB7XHJcbiAgICAgIHRoaXMuZGVsZXRlKGNvb2tpZU5hbWUsIHBhdGgsIGRvbWFpbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG5cclxuZXhwb3J0IGVudW0gSVNhbWVTaXRlVHlwZSB7XHJcbiAgc3RyaWN0ID0gXCJzdHJpY3RcIixcclxuICBsYXggPSBcImxheFwiLFxyXG4gIG5vbmUgPSBcIm5vbmVcIlxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElDb29raWVPcHRpb25zIHtcclxuICBleHBpcmVzPzogbnVtYmVyIHwgRGF0ZTtcclxuICBwYXRoPzogc3RyaW5nO1xyXG4gIGRvbWFpbj86IHN0cmluZztcclxuICBzZWN1cmU/OiBib29sZWFuO1xyXG4gIHNhbWVzaXRlPzogc3RyaW5nXHJcbn1cclxuIl19
@@ -0,0 +1,6 @@
1
+ export * from "./localize.token.service";
2
+ export * from "./localize.token";
3
+ export * from "./localize.token.storage";
4
+ export * from "./localize.token.module";
5
+ export * from "./localize.api.service";
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sb2NhbGl6ZS10b2tlbi9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2xvY2FsaXplLnRva2VuLnNlcnZpY2VcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbG9jYWxpemUudG9rZW5cIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbG9jYWxpemUudG9rZW4uc3RvcmFnZVwiO1xyXG5leHBvcnQgKiBmcm9tIFwiLi9sb2NhbGl6ZS50b2tlbi5tb2R1bGVcIjtcclxuZXhwb3J0ICogZnJvbSBcIi4vbG9jYWxpemUuYXBpLnNlcnZpY2VcIjsiXX0=
@@ -1,2 +1,3 @@
1
- export * from './lib';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsT0FBTyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWInOyJdfQ==
1
+ export * from './localize-token/public-api';
2
+ export * from './localize-logindlg/public-api';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyxnQ0FBZ0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbG9jYWxpemUtdG9rZW4vcHVibGljLWFwaSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbG9jYWxpemUtbG9naW5kbGcvcHVibGljLWFwaSc7XHJcbiJdfQ==
@@ -1,9 +1,22 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, NgModule } from '@angular/core';
2
+ import { Injectable, NgModule, Component, ViewEncapsulation, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
3
3
  import { BehaviorSubject } from 'rxjs';
4
4
  import * as jwt_decode from 'jwt-decode';
5
5
  import * as i1 from '@angular/common/http';
6
6
  import { HttpHeaders } from '@angular/common/http';
7
+ import * as i1$1 from 'primeng/api';
8
+ import { MessageService } from 'primeng/api';
9
+ import * as i2 from 'primeng/dynamicdialog';
10
+ import { DialogService } from 'primeng/dynamicdialog';
11
+ import * as i5 from '@angular/common';
12
+ import { CommonModule } from '@angular/common';
13
+ import * as i6 from 'primeng/toast';
14
+ import { ToastModule } from 'primeng/toast';
15
+ import * as i7 from 'primeng/inputtext';
16
+ import { InputTextModule } from 'primeng/inputtext';
17
+ import * as i8 from '@angular/forms';
18
+ import { FormsModule } from '@angular/forms';
19
+ import { BrowserModule } from '@angular/platform-browser';
7
20
 
8
21
  /**
9
22
  * Assembly of @package ng2-cookies @see https://www.npmjs.com/package/ng2-cookies
@@ -376,9 +389,266 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImpo
376
389
  }]
377
390
  }] });
378
391
 
392
+ class LocalizeLogindlgComponent {
393
+ messageService;
394
+ cdt;
395
+ dlgRef;
396
+ dlgConfig;
397
+ tokenService;
398
+ httpClient;
399
+ messageKey = "$login-dlg";
400
+ password;
401
+ decodeToken;
402
+ loading = false;
403
+ success = false;
404
+ config;
405
+ logout;
406
+ loginUrl;
407
+ constructor(messageService, cdt, dlgRef, dlgConfig, tokenService, httpClient) {
408
+ this.messageService = messageService;
409
+ this.cdt = cdt;
410
+ this.dlgRef = dlgRef;
411
+ this.dlgConfig = dlgConfig;
412
+ this.tokenService = tokenService;
413
+ this.httpClient = httpClient;
414
+ this.decodeToken = this.tokenService.decodeRefreshToken;
415
+ this.config = LocalizeToken.config;
416
+ }
417
+ ngOnInit() {
418
+ this.dlgConfig.closable = false;
419
+ this.logout = this.dlgConfig.data?.logout;
420
+ this.loginUrl = this.dlgConfig.data?.loginUrl;
421
+ if (!this.decodeToken) {
422
+ this.messageService.add({
423
+ key: this.messageKey,
424
+ severity: "error",
425
+ summary: "Token is invalid",
426
+ });
427
+ setTimeout(() => this.logout?.(), 2000);
428
+ }
429
+ }
430
+ ngAfterViewInit() {
431
+ this.cdt.detectChanges();
432
+ }
433
+ async clickLogin() {
434
+ if (!this.isValidPassword) {
435
+ this.messageService.add({
436
+ key: this.messageKey,
437
+ severity: "error",
438
+ summary: "Password is required and must be at least 6 characters",
439
+ });
440
+ }
441
+ this.loading = true;
442
+ const loginRes = await this.login();
443
+ if (!loginRes?.status) {
444
+ this.messageService.add({
445
+ key: this.messageKey,
446
+ severity: "error",
447
+ summary: loginRes.message,
448
+ });
449
+ this.loading = false;
450
+ return;
451
+ }
452
+ this.tokenService.accessToken = loginRes.tokens.accessToken;
453
+ LocalizeToken.storage.set(this.config.refreshTokenName, loginRes.tokens.refreshToken);
454
+ this.success = true;
455
+ setTimeout(() => this.dlgRef.close(true), 2000);
456
+ }
457
+ async login() {
458
+ const path = this.loginUrl ?? "/api/auth/login";
459
+ const response = await new Promise((resolve, reject) => this.httpClient
460
+ .post(path, { password: this.password.trim() }, { headers: this.getHeaders() })
461
+ .subscribe({ next: resolve, error: reject }));
462
+ return response;
463
+ }
464
+ getHeaders() {
465
+ return {
466
+ [LocalizeToken.httpHeaders.X_REFRESH_TOKEN]: LocalizeToken.storage.get(this.config.refreshTokenName),
467
+ [LocalizeToken.httpHeaders.X_TENANT]: LocalizeToken.storage.get(this.config.tenantTokenName) ?? "",
468
+ };
469
+ }
470
+ get isValidPassword() {
471
+ return this.password && this.password.trim().length >= 6;
472
+ }
473
+ clickLogout = () => this.logout?.();
474
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizeLogindlgComponent, deps: [{ token: i1$1.MessageService }, { token: i0.ChangeDetectorRef }, { token: i2.DynamicDialogRef }, { token: i2.DynamicDialogConfig }, { token: LocalizeTokenService }, { token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Component });
475
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.12", type: LocalizeLogindlgComponent, selector: "app-localize-logindlg", providers: [MessageService], ngImport: i0, template: `<p-toast key="$login-dlg" position="top-center"></p-toast>
476
+ <div id="login-dlg-wrap">
477
+ <div id="login-dlg-header">
478
+ <div id="login-logo" class="p-mb-2"></div>
479
+ <h3 *ngIf="!success">Your session is expired! <br> Please login again to continue.</h3>
480
+ <h3 *ngIf="success" style="color:green !important;">You haved successfully logged in.</h3>
481
+ </div>
482
+ <div id="login-dlg-content">
483
+ <ng-container *ngIf="!success">
484
+ <div class="login-dlg-elm">
485
+ <div class="p-inputgroup">
486
+ <span class="p-inputgroup-addon">
487
+ <i class="material-icons-round">person</i>
488
+ </span>
489
+ <input disabled pInputText type="text" placeholder="Username" [value]="decodeToken?.email" />
490
+ </div>
491
+ </div>
492
+
493
+ <div class="login-dlg-elm">
494
+ <div class="p-inputgroup">
495
+ <span class="p-inputgroup-addon">
496
+ <i class="material-icons-round">lock</i>
497
+ </span>
498
+ <input (keydown.enter)="clickLogin()" pInputText type="password" placeholder="Password" [(ngModel)]="password"
499
+ autofocus />
500
+ </div>
501
+ </div>
502
+ <div class="login-dlg-elm">
503
+ <button style="width: 100%;" pButton type="button" label="Login" (click)="clickLogin()"
504
+ [disabled]="!password || loading"></button>
505
+ </div>
506
+
507
+ <div class="login-dlg-elm" style="display:flex;align-items: center;user-select: none;">
508
+ <span>No, I want to login with another user.</span>
509
+ <button class="p-button-text" pButton type="button" label="Logout" (click)="clickLogout()"></button>
510
+ </div>
511
+ </ng-container>
512
+
513
+ <ng-container *ngIf="success">
514
+ <div style="margin-top:35px;"></div>
515
+ <div class="check-animation-wrap">
516
+ <div class="check-main-container">
517
+ <div class="check-container">
518
+ <div class="check-background">
519
+ <svg viewBox="0 0 65 51" fill="none" xmlns="http://www.w3.org/2000/svg">
520
+ <path d="M7 25L27.3077 44L58.5 7" stroke="white" stroke-width="13" stroke-linecap="round"
521
+ stroke-linejoin="round"></path>
522
+ </svg>
523
+ </div>
524
+ </div>
525
+ </div>
526
+ </div>
527
+ </ng-container>
528
+ </div>
529
+ </div>`, isInline: true, styles: ["#login-dlg-wrap{width:100%;max-width:400px;margin:0 auto;padding:30px}.login-dlg-elm{margin-top:1rem}#login-dlg-header{display:flex;flex-direction:column;align-items:center;justify-content:center}#login-dlg-header h3{font-weight:700;font-size:.9rem;color:orange;text-align:center}#login-logo{height:40px;width:40px;background:url(/assets/images/logo-300px.png) no-repeat;background-size:contain}#login-dlg-content .p-inputgroup{height:45px}#login-dlg-content .p-inputgroup .p-inputgroup-addon{height:45px;border-radius:15px 0 0 15px;width:50px}#login-dlg-content .p-inputgroup .p-inputgroup-addon *{font-size:1rem}#login-dlg-content .p-inputgroup input{height:45px;border-radius:0 15px 15px 0}#login-dlg-content button{height:45px;border-radius:15px}.check-animation-wrap{top:0;left:0;position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:calc(100% - 200px);min-height:400px}.check-main-container{width:100%;height:100vh;display:flex;flex-flow:column;justify-content:center;align-items:center}.check-container{width:6.25rem;height:7.5rem;display:flex;flex-flow:column;align-items:center;justify-content:space-between}.check-container .check-background{width:100%;height:calc(100% - 1.25rem);background:linear-gradient(to bottom right,#5de593,#41d67c);box-shadow:0 0 0 65px #ffffff40 inset,0 0 0 65px #ffffff40 inset;transform:scale(.84);border-radius:50%;animation:animateContainer .75s ease-out forwards .75s;display:flex;align-items:center;justify-content:center;opacity:0}.check-container .check-background svg{width:65%;transform:translateY(.25rem);stroke-dasharray:80;stroke-dashoffset:80;animation:animateCheck .35s forwards 1.25s ease-out;min-width:auto!important}.check-container .check-shadow{bottom:calc(-15% - 5px);left:0;border-radius:50%;background:radial-gradient(closest-side,rgba(73,218,131,1),transparent);animation:animateShadow .75s ease-out forwards .75s}@keyframes animateContainer{0%{opacity:0;transform:scale(0);box-shadow:0 0 0 65px #ffffff40 inset,0 0 0 65px #ffffff40 inset}25%{opacity:1;transform:scale(.9);box-shadow:0 0 0 65px #ffffff40 inset,0 0 0 65px #ffffff40 inset}43.75%{transform:scale(1.15);box-shadow:0 0 0 43.334px #ffffff40 inset,0 0 0 65px #ffffff40 inset}62.5%{transform:scale(1);box-shadow:0 0 #ffffff40 inset,0 0 0 21.667px #ffffff40 inset}81.25%{box-shadow:0 0 #ffffff40 inset,0 0 #ffffff40 inset}to{opacity:1;box-shadow:0 0 #ffffff40 inset,0 0 #ffffff40 inset}}@keyframes animateCheck{0%{stroke-dashoffset:80}to{stroke-dashoffset:0}}@keyframes animateShadow{0%{opacity:0;width:100%;height:15%}25%{opacity:.25}43.75%{width:40%;height:7%;opacity:.35}to{width:85%;height:15%;opacity:.25}}\n"], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "directive", type: i7.InputText, selector: "[pInputText]", inputs: ["variant"] }, { kind: "directive", type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None });
530
+ }
531
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizeLogindlgComponent, decorators: [{
532
+ type: Component,
533
+ args: [{ template: `<p-toast key="$login-dlg" position="top-center"></p-toast>
534
+ <div id="login-dlg-wrap">
535
+ <div id="login-dlg-header">
536
+ <div id="login-logo" class="p-mb-2"></div>
537
+ <h3 *ngIf="!success">Your session is expired! <br> Please login again to continue.</h3>
538
+ <h3 *ngIf="success" style="color:green !important;">You haved successfully logged in.</h3>
539
+ </div>
540
+ <div id="login-dlg-content">
541
+ <ng-container *ngIf="!success">
542
+ <div class="login-dlg-elm">
543
+ <div class="p-inputgroup">
544
+ <span class="p-inputgroup-addon">
545
+ <i class="material-icons-round">person</i>
546
+ </span>
547
+ <input disabled pInputText type="text" placeholder="Username" [value]="decodeToken?.email" />
548
+ </div>
549
+ </div>
550
+
551
+ <div class="login-dlg-elm">
552
+ <div class="p-inputgroup">
553
+ <span class="p-inputgroup-addon">
554
+ <i class="material-icons-round">lock</i>
555
+ </span>
556
+ <input (keydown.enter)="clickLogin()" pInputText type="password" placeholder="Password" [(ngModel)]="password"
557
+ autofocus />
558
+ </div>
559
+ </div>
560
+ <div class="login-dlg-elm">
561
+ <button style="width: 100%;" pButton type="button" label="Login" (click)="clickLogin()"
562
+ [disabled]="!password || loading"></button>
563
+ </div>
564
+
565
+ <div class="login-dlg-elm" style="display:flex;align-items: center;user-select: none;">
566
+ <span>No, I want to login with another user.</span>
567
+ <button class="p-button-text" pButton type="button" label="Logout" (click)="clickLogout()"></button>
568
+ </div>
569
+ </ng-container>
570
+
571
+ <ng-container *ngIf="success">
572
+ <div style="margin-top:35px;"></div>
573
+ <div class="check-animation-wrap">
574
+ <div class="check-main-container">
575
+ <div class="check-container">
576
+ <div class="check-background">
577
+ <svg viewBox="0 0 65 51" fill="none" xmlns="http://www.w3.org/2000/svg">
578
+ <path d="M7 25L27.3077 44L58.5 7" stroke="white" stroke-width="13" stroke-linecap="round"
579
+ stroke-linejoin="round"></path>
580
+ </svg>
581
+ </div>
582
+ </div>
583
+ </div>
584
+ </div>
585
+ </ng-container>
586
+ </div>
587
+ </div>`, selector: "app-localize-logindlg", providers: [MessageService], encapsulation: ViewEncapsulation.None, styles: ["#login-dlg-wrap{width:100%;max-width:400px;margin:0 auto;padding:30px}.login-dlg-elm{margin-top:1rem}#login-dlg-header{display:flex;flex-direction:column;align-items:center;justify-content:center}#login-dlg-header h3{font-weight:700;font-size:.9rem;color:orange;text-align:center}#login-logo{height:40px;width:40px;background:url(/assets/images/logo-300px.png) no-repeat;background-size:contain}#login-dlg-content .p-inputgroup{height:45px}#login-dlg-content .p-inputgroup .p-inputgroup-addon{height:45px;border-radius:15px 0 0 15px;width:50px}#login-dlg-content .p-inputgroup .p-inputgroup-addon *{font-size:1rem}#login-dlg-content .p-inputgroup input{height:45px;border-radius:0 15px 15px 0}#login-dlg-content button{height:45px;border-radius:15px}.check-animation-wrap{top:0;left:0;position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:calc(100% - 200px);min-height:400px}.check-main-container{width:100%;height:100vh;display:flex;flex-flow:column;justify-content:center;align-items:center}.check-container{width:6.25rem;height:7.5rem;display:flex;flex-flow:column;align-items:center;justify-content:space-between}.check-container .check-background{width:100%;height:calc(100% - 1.25rem);background:linear-gradient(to bottom right,#5de593,#41d67c);box-shadow:0 0 0 65px #ffffff40 inset,0 0 0 65px #ffffff40 inset;transform:scale(.84);border-radius:50%;animation:animateContainer .75s ease-out forwards .75s;display:flex;align-items:center;justify-content:center;opacity:0}.check-container .check-background svg{width:65%;transform:translateY(.25rem);stroke-dasharray:80;stroke-dashoffset:80;animation:animateCheck .35s forwards 1.25s ease-out;min-width:auto!important}.check-container .check-shadow{bottom:calc(-15% - 5px);left:0;border-radius:50%;background:radial-gradient(closest-side,rgba(73,218,131,1),transparent);animation:animateShadow .75s ease-out forwards .75s}@keyframes animateContainer{0%{opacity:0;transform:scale(0);box-shadow:0 0 0 65px #ffffff40 inset,0 0 0 65px #ffffff40 inset}25%{opacity:1;transform:scale(.9);box-shadow:0 0 0 65px #ffffff40 inset,0 0 0 65px #ffffff40 inset}43.75%{transform:scale(1.15);box-shadow:0 0 0 43.334px #ffffff40 inset,0 0 0 65px #ffffff40 inset}62.5%{transform:scale(1);box-shadow:0 0 #ffffff40 inset,0 0 0 21.667px #ffffff40 inset}81.25%{box-shadow:0 0 #ffffff40 inset,0 0 #ffffff40 inset}to{opacity:1;box-shadow:0 0 #ffffff40 inset,0 0 #ffffff40 inset}}@keyframes animateCheck{0%{stroke-dashoffset:80}to{stroke-dashoffset:0}}@keyframes animateShadow{0%{opacity:0;width:100%;height:15%}25%{opacity:.25}43.75%{width:40%;height:7%;opacity:.35}to{width:85%;height:15%;opacity:.25}}\n"] }]
588
+ }], ctorParameters: () => [{ type: i1$1.MessageService }, { type: i0.ChangeDetectorRef }, { type: i2.DynamicDialogRef }, { type: i2.DynamicDialogConfig }, { type: LocalizeTokenService }, { type: i1.HttpClient }] });
589
+
590
+ class LocalizeLogindlgService {
591
+ injector;
592
+ constructor(injector) {
593
+ this.injector = injector;
594
+ }
595
+ async openLoginDialog(config) {
596
+ config ??= {
597
+ header: 'Login',
598
+ height: '650px',
599
+ style: { 'max-width': '400px', width: '100%', 'height': '650px' },
600
+ };
601
+ const dialogService = this.injector.get(DialogService);
602
+ const dialog = dialogService.open(LocalizeLogindlgComponent, config);
603
+ await new Promise((resolve) => dialog.onClose.subscribe(res => {
604
+ if (res) {
605
+ resolve();
606
+ }
607
+ }));
608
+ }
609
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizeLogindlgService, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
610
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizeLogindlgService, providedIn: 'root' });
611
+ }
612
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizeLogindlgService, decorators: [{
613
+ type: Injectable,
614
+ args: [{
615
+ providedIn: 'root'
616
+ }]
617
+ }], ctorParameters: () => [{ type: i0.Injector }] });
618
+
619
+ class LocalizeLogindlgModule {
620
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizeLogindlgModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
621
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.12", ngImport: i0, type: LocalizeLogindlgModule, declarations: [LocalizeLogindlgComponent], imports: [CommonModule,
622
+ ToastModule,
623
+ InputTextModule,
624
+ BrowserModule,
625
+ FormsModule], exports: [LocalizeLogindlgComponent] });
626
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizeLogindlgModule, providers: [LocalizeLogindlgService], imports: [CommonModule,
627
+ ToastModule,
628
+ InputTextModule,
629
+ BrowserModule,
630
+ FormsModule] });
631
+ }
632
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.12", ngImport: i0, type: LocalizeLogindlgModule, decorators: [{
633
+ type: NgModule,
634
+ args: [{
635
+ declarations: [LocalizeLogindlgComponent],
636
+ exports: [LocalizeLogindlgComponent],
637
+ imports: [
638
+ CommonModule,
639
+ ToastModule,
640
+ InputTextModule,
641
+ BrowserModule,
642
+ FormsModule,
643
+ ],
644
+ providers: [LocalizeLogindlgService],
645
+ schemas: [CUSTOM_ELEMENTS_SCHEMA],
646
+ }]
647
+ }] });
648
+
379
649
  /**
380
650
  * Generated bundle index. Do not edit.
381
651
  */
382
652
 
383
- export { EMethod, ISameSiteType, LocalizeApiService, LocalizeToken, LocalizeTokenModule, LocalizeTokenService, LocalizeTokenStorageHelper, waitFor, waitUntil };
653
+ export { EMethod, ISameSiteType, LocalizeApiService, LocalizeLogindlgComponent, LocalizeLogindlgModule, LocalizeLogindlgService, LocalizeToken, LocalizeTokenModule, LocalizeTokenService, LocalizeTokenStorageHelper, waitFor, waitUntil };
384
654
  //# sourceMappingURL=sambath999-localize-token.mjs.map