@sambath999/localize-token 12.3.3 → 12.3.4

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.
@@ -8,9 +8,9 @@ export declare class LocalizeApiService implements OnDestroy {
8
8
  private readonly localizeTokenService;
9
9
  private readonly destroy$;
10
10
  readonly isRequestingSubject: BehaviorSubject<boolean>;
11
- readonly isResolvedStartupSubject: BehaviorSubject<boolean>;
12
- get isResolvedStartup(): boolean;
13
- readonly needTenant: boolean;
11
+ readonly isResolvingStartupSubject: BehaviorSubject<boolean>;
12
+ get isResolvingStartup(): boolean;
13
+ get needTenant(): boolean;
14
14
  get isRequesting(): boolean;
15
15
  get isRevokingToken(): boolean;
16
16
  set isRevokingToken(value: boolean);
@@ -45,4 +45,5 @@ export declare class LocalizeApiService implements OnDestroy {
45
45
  private toWaitForPreviousRequest;
46
46
  private handleOnTokenRevoked;
47
47
  private interceptRevokeToken;
48
+ validateConfig(config: ILocalizeApiConfigs): void;
48
49
  }
@@ -16,8 +16,6 @@ export interface ILocalizeTokenConfig {
16
16
  revokeTokenUrl: string;
17
17
  }
18
18
  export declare class LocalizeToken {
19
- static init(config: ILocalizeTokenConfig): void;
20
- static config: ILocalizeTokenConfig;
21
19
  static readonly storage: LocalizeTokenStorage;
22
20
  static readonly httpHeaders: {
23
21
  AUTHORIZATION: string;
@@ -1,3 +1,4 @@
1
+ import { ILocalizeTokenConfig } from './localize.token';
1
2
  import { BehaviorSubject } from 'rxjs';
2
3
  import * as jwt_decode from 'jwt-decode';
3
4
  export interface JwtPayload extends jwt_decode.JwtPayload {
@@ -9,8 +10,11 @@ export interface JwtPayload extends jwt_decode.JwtPayload {
9
10
  }
10
11
  export declare class LocalizeTokenService {
11
12
  readonly isRevokingTokenSubject: BehaviorSubject<boolean>;
12
- private readonly config;
13
- constructor();
13
+ private readonly defaultConfig;
14
+ private _config;
15
+ get config(): ILocalizeTokenConfig;
16
+ private isInitialized;
17
+ init(config: ILocalizeTokenConfig): void;
14
18
  private get authToken();
15
19
  private set authToken(value);
16
20
  get refreshToken(): string;
@@ -24,4 +28,5 @@ export declare class LocalizeTokenService {
24
28
  tokensValid(tenantTokenName?: string): boolean;
25
29
  decodeToken: (token: string) => JwtPayload;
26
30
  get decodeRefreshToken(): JwtPayload;
31
+ private throwIfNotInitialized;
27
32
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sambath999/localize-token",
3
- "version": "12.3.3",
3
+ "version": "12.3.4",
4
4
  "description": "localize token client app",
5
5
  "type": "module",
6
6
  "repository": {
@@ -1 +1 @@
1
- {"__symbolic":"module","version":4,"metadata":{"JwtPayload":{"__symbolic":"interface"},"LocalizeTokenService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":19,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"tenantToken":[{"__symbolic":"method"}],"storageGet":[{"__symbolic":"method"}],"storageSet":[{"__symbolic":"method"}],"tokensValid":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ILocalizeTokenConfig":{"__symbolic":"interface"},"LocalizeToken":{"__symbolic":"class","members":{},"statics":{"config":{"mainDomain":{"__symbolic":"call","expression":{"__symbolic":"reference","name":"extractMainDomain"}},"authTokenName":"auth-token","refreshTokenName":"_lze_rftkp_","needTenant":false,"isProduction":false,"revokeTokenUrl":""},"storage":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"LocalizeTokenStorage"}},"httpHeaders":{"AUTHORIZATION":"Authorization","X_TENANT":"X-Tenant","X_REFRESH_TOKEN":"X-RefreshToken","CONTENT_TYPE":"Content-Type"}}},"waitFor":{"__symbolic":"function"},"waitUntil":{"__symbolic":"function"},"extractMainDomain":{"__symbolic":"function"},"EMethod":{"POST":"post","GET":"get","PUT":"put","DELETE":"delete","PATCH":"patch"},"IOnConnectionError":{"__symbolic":"interface"},"ILocalizeApiConfigs":{"__symbolic":"interface"},"IApiOptions":{"__symbolic":"interface"},"IHeader":{"__symbolic":"interface"},"INormalizedError":{"__symbolic":"interface"},"ApiHelper":{"__symbolic":"error","message":"Reference to non-exported class","line":19,"character":0,"context":{"className":"LocalizeApiHelper"},"module":"./localize-token/helpers/loccalize.api.helper"},"ICookieOptions":{"__symbolic":"interface"},"LocalizeTokenStorage":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}],"check":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"getAll":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"deleteAll":[{"__symbolic":"method"}]}},"LocalizeTokenModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","name":"LocalizeTokenService"},{"__symbolic":"reference","name":"LocalizeApiService"}]}]}],"members":{}},"LocalizeApiService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":10,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":48,"character":35},{"__symbolic":"reference","name":"LocalizeTokenService"}]}],"init":[{"__symbolic":"method"}],"cancelPendingRequests":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"request":[{"__symbolic":"method"}],"handleOnRequestError":[{"__symbolic":"method"}],"performRequest":[{"__symbolic":"method"}],"revokeToken":[{"__symbolic":"method"}],"buildHeaderOptions":[{"__symbolic":"method"}],"buildApiOptions":[{"__symbolic":"method"}],"toWaitForPreviousRequest":[{"__symbolic":"method"}],"handleOnTokenRevoked":[{"__symbolic":"method"}],"interceptRevokeToken":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"LocalizeLogindlgComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"styles":["\n #login-dlg-wrap {\n width: 100%;\n max-width: 400px;\n margin: 0 auto;\n padding: 30px;\n height: 100%;\n }\n \n .login-dlg-elm {\n margin-top: 1rem;\n }\n\n .login-dlg-elm.login-dlg-suggest {\n display: flex ;\n align-items: center;\n user-select: none;\n border-bottom: solid 1px #ddd;\n border-radius: 5px;\n padding: 5px 10px;\n background: #f9f9f9;\n box-shadow: 1px 5px 10px -12px #000;\n }\n \n #login-dlg-header {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n }\n \n #login-dlg-header h3 {\n font-weight: bold;\n font-size: 0.9rem;\n color: orange;\n text-align: center;\n }\n \n #login-logo {\n height: 55px;\n width: 55px;\n /* background: url(\"/assets/images/logo-300px.png\") no-repeat; */\n background-size: contain !important;\n }\n \n #login-dlg-content .p-inputgroup {\n height: 45px;\n }\n \n #login-dlg-content .p-inputgroup .p-inputgroup-addon {\n height: 45px;\n border-radius: 15px 0 0 15px;\n width: 50px;\n }\n #login-dlg-content *{\n font-size: .9rem;\n /* font-family: 'Lexend', 'Roboto', sans-serif, 'material-icons-round'; */\n }\n \n #login-dlg-content .p-inputgroup .p-inputgroup-addon * {\n font-size: 1rem;\n }\n \n #login-dlg-content .p-inputgroup input {\n height: 45px;\n border-radius: 0 15px 15px 0;\n }\n \n #login-dlg-content button {\n height: 45px;\n border-radius: 15px;\n }\n \n /*check animation block*/\n \n .check-animation-wrap {\n top: 0;\n left: 0;\n position: absolute;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: calc(100% - 200px);\n min-height: 400px;\n }\n \n .check-main-container {\n width: 100%;\n height: 100vh;\n display: flex;\n flex-flow: column;\n justify-content: center;\n align-items: center;\n }\n \n .check-container {\n width: 6.25rem;\n height: 7.5rem;\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: space-between;\n }\n \n .check-container .check-background {\n width: 100%;\n height: calc(100% - 1.25rem);\n background: linear-gradient(to bottom right, #5de593, #41d67c);\n box-shadow: 0px 0px 0px 65px rgba(255, 255, 255, 0.25) inset, 0px 0px 0px 65px rgba(255, 255, 255, 0.25) inset;\n transform: scale(0.84);\n border-radius: 50%;\n animation: animateContainer 0.75s ease-out forwards 0.75s;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: 0;\n }\n \n .check-container .check-background svg {\n width: 65%;\n transform: translateY(0.25rem);\n stroke-dasharray: 80;\n stroke-dashoffset: 80;\n animation: animateCheck 0.35s forwards 1.25s ease-out;\n min-width: auto !important;\n }\n \n .check-container .check-shadow {\n bottom: calc(-15% - 5px);\n left: 0;\n border-radius: 50%;\n background: radial-gradient(closest-side, rgba(73, 218, 131, 1), transparent);\n animation: animateShadow 0.75s ease-out forwards 0.75s;\n }\n \n @keyframes animateContainer {\n 0% {\n opacity: 0;\n transform: scale(0);\n box-shadow: 0px 0px 0px 65px rgba(255, 255, 255, 0.25) inset, 0px 0px 0px 65px rgba(255, 255, 255, 0.25) inset;\n }\n \n 25% {\n opacity: 1;\n transform: scale(0.9);\n box-shadow: 0px 0px 0px 65px rgba(255, 255, 255, 0.25) inset, 0px 0px 0px 65px rgba(255, 255, 255, 0.25) inset;\n }\n \n 43.75% {\n transform: scale(1.15);\n box-shadow: 0px 0px 0px 43.334px rgba(255, 255, 255, 0.25) inset, 0px 0px 0px 65px rgba(255, 255, 255, 0.25) inset;\n }\n \n 62.5% {\n transform: scale(1);\n box-shadow: 0px 0px 0px 0px rgba(255, 255, 255, 0.25) inset, 0px 0px 0px 21.667px rgba(255, 255, 255, 0.25) inset;\n }\n \n 81.25% {\n box-shadow: 0px 0px 0px 0px rgba(255, 255, 255, 0.25) inset, 0px 0px 0px 0px rgba(255, 255, 255, 0.25) inset;\n }\n \n 100% {\n opacity: 1;\n box-shadow: 0px 0px 0px 0px rgba(255, 255, 255, 0.25) inset, 0px 0px 0px 0px rgba(255, 255, 255, 0.25) inset;\n }\n }\n \n @keyframes animateCheck {\n from {\n stroke-dashoffset: 80;\n }\n \n to {\n stroke-dashoffset: 0;\n }\n }\n \n @keyframes animateShadow {\n 0% {\n opacity: 0;\n width: 100%;\n height: 15%;\n }\n \n 25% {\n opacity: 0.25;\n }\n \n 43.75% {\n width: 40%;\n height: 7%;\n opacity: 0.35;\n }\n \n 100% {\n width: 85%;\n height: 15%;\n opacity: 0.25;\n }\n }\n #login-dlg-wrap .loader-wrap {\n display: flex;\n justify-content: center;\n align-items: center;\n height:100%;\n width:100%;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 100;\n background: #ffffff42;\n backdrop-filter: blur(1px);\n }\n\n #login-dlg-wrap .login-dlg-loader {\n border: 15px solid #e7e7e7;\n border-top: 15px solid #52dba1;\n border-radius: 50%;\n width: 100px;\n height: 100px;\n animation: spinloader 2s linear infinite;\n }\n\n #login-dlg-wrap .loader-wrap::before {\n content: \"\";\n position: absolute;\n width: 70px;\n height: 70px;\n transform: translate(-50%, -50%);\n z-index: 1;\n border: 15px solid #e7e7e700;\n border-top: 15px solid #52dba1c9;\n border-radius: 50%;\n animation: spinloader .75s linear infinite;\n }\n\n @keyframes spinloader {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n }\n "],"template":"<p-toast key=\"$login-dlg\" position=\"top-center\"></p-toast>\n <div id=\"login-dlg-wrap\">\n <div id=\"login-dlg-header\">\n <div id=\"login-logo\" class=\"p-mb-2\" style=\"background: url('{{properties.logoImage}}') no-repeat\"></div>\n <h3 *ngIf=\"!success\" [innerHTML]=\"sanitizedTitle\"></h3>\n <h3 *ngIf=\"success\" style=\"color:green !important;\">{{properties.loginSuccessMessage}}</h3>\n </div>\n <div id=\"login-dlg-content\">\n <ng-container *ngIf=\"!success\">\n <div *ngIf=\"loading\" class=\"loader-wrap\">\n <div class=\"login-dlg-loader\"></div>\n </div>\n <div class=\"login-dlg-elm\">\n <div class=\"p-inputgroup\">\n <span class=\"p-inputgroup-addon\">\n <i class=\"material-icons-round\">person</i>\n </span>\n <input disabled pInputText type=\"text\" placeholder=\"{{properties.username?.placeHolder}}\" [value]=\"decodeToken?.email\" />\n </div>\n </div>\n \n <div class=\"login-dlg-elm\">\n <div class=\"p-inputgroup\">\n <span class=\"p-inputgroup-addon\">\n <i class=\"material-icons-round\">lock</i>\n </span>\n <input [disabled]=\"loading\" (keydown.enter)=\"clickLogin()\" pInputText type=\"password\" \n placeholder=\"{{properties.password?.placeHolder}}\" [(ngModel)]=\"password\"\n autofocus />\n </div>\n </div>\n <div class=\"login-dlg-elm\">\n <button style=\"width: 100%;\" pButton type=\"button\" label=\"{{properties.loginButton?.placeHolder}}\" (click)=\"clickLogin()\"\n [disabled]=\"!password || loading\"></button>\n </div>\n \n <div class=\"login-dlg-elm login-dlg-suggest\" style=\"display:flex;align-items: center;user-select: none;\">\n <span>{{properties.logoutButton?.message}}</span>\n <button class=\"p-button-text\" pButton type=\"button\" label=\"{{properties.logoutButton?.placeHolder}}\" \n (click)=\"clickLogout()\"></button>\n </div>\n </ng-container>\n \n <ng-container *ngIf=\"success\">\n <div style=\"margin-top:35px;\"></div>\n <div class=\"check-animation-wrap\">\n <div class=\"check-main-container\">\n <div class=\"check-container\">\n <div class=\"check-background\">\n <svg viewBox=\"0 0 65 51\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7 25L27.3077 44L58.5 7\" stroke=\"white\" stroke-width=\"13\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\"></path>\n </svg>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </div>","selector":"app-localize-logindlg","providers":[{"__symbolic":"reference","module":"primeng/api","name":"MessageService","line":320,"character":14}],"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":321,"character":17},"member":"None"}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/api","name":"MessageService","line":338,"character":37},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":339,"character":26},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogRef","line":340,"character":29},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogConfig","line":341,"character":32},{"__symbolic":"reference","name":"LocalizeTokenService"},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":343,"character":33},{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":344,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"clickLogin":[{"__symbolic":"method"}],"login":[{"__symbolic":"method"}],"getHeaders":[{"__symbolic":"method"}],"showMessage":[{"__symbolic":"method"}]}},"LocalizeLogindlgModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"LocalizeLogindlgComponent"}],"exports":[{"__symbolic":"reference","name":"LocalizeLogindlgComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":14,"character":4},{"__symbolic":"reference","module":"primeng/toast","name":"ToastModule","line":15,"character":4},{"__symbolic":"reference","module":"primeng/inputtext","name":"InputTextModule","line":16,"character":4},{"__symbolic":"reference","module":"@angular/platform-browser","name":"BrowserModule","line":17,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":18,"character":4},{"__symbolic":"reference","module":"primeng/button","name":"ButtonModule","line":19,"character":4}],"providers":[{"__symbolic":"reference","name":"LocalizeLogindlgService"}],"schemas":[{"__symbolic":"reference","module":"@angular/core","name":"CUSTOM_ELEMENTS_SCHEMA","line":22,"character":12}]}]}],"members":{}},"ILoginDialogPlaceHolder":{"__symbolic":"interface"},"ILoginDialogProperties":{"__symbolic":"interface"},"ILoginDialogConfig":{"__symbolic":"interface"},"LocalizeLogindlgService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":56,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":61,"character":41}]}],"openLoginDialog":[{"__symbolic":"method"}],"intercepDialogConfig":[{"__symbolic":"method"}],"initConfig":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}}},"origins":{"JwtPayload":"./localize-token/localize.token.service","LocalizeTokenService":"./localize-token/localize.token.service","ILocalizeTokenConfig":"./localize-token/localize.token","LocalizeToken":"./localize-token/localize.token","waitFor":"./localize-token/localize.token","waitUntil":"./localize-token/localize.token","extractMainDomain":"./localize-token/localize.token","EMethod":"./localize-token/helpers/interfaces","IOnConnectionError":"./localize-token/helpers/interfaces","ILocalizeApiConfigs":"./localize-token/helpers/interfaces","IApiOptions":"./localize-token/helpers/interfaces","IHeader":"./localize-token/helpers/interfaces","INormalizedError":"./localize-token/helpers/interfaces","ApiHelper":"./localize-token/helpers/loccalize.api.helper","ICookieOptions":"./localize-token/localize.token.storage","LocalizeTokenStorage":"./localize-token/localize.token.storage","LocalizeTokenModule":"./localize-token/localize.token.module","LocalizeApiService":"./localize-token/localize.api.service","LocalizeLogindlgComponent":"./localize-logindlg/localize-logindlg.component","LocalizeLogindlgModule":"./localize-logindlg/localize-logindlg.module","ILoginDialogPlaceHolder":"./localize-logindlg/localize-logindlg.service","ILoginDialogProperties":"./localize-logindlg/localize-logindlg.service","ILoginDialogConfig":"./localize-logindlg/localize-logindlg.service","LocalizeLogindlgService":"./localize-logindlg/localize-logindlg.service"},"importAs":"@sambath999/localize-token"}
1
+ {"__symbolic":"module","version":4,"metadata":{"JwtPayload":{"__symbolic":"interface"},"LocalizeTokenService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":19,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"init":[{"__symbolic":"method"}],"tenantToken":[{"__symbolic":"method"}],"storageGet":[{"__symbolic":"method"}],"storageSet":[{"__symbolic":"method"}],"tokensValid":[{"__symbolic":"method"}],"throwIfNotInitialized":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ILocalizeTokenConfig":{"__symbolic":"interface"},"LocalizeToken":{"__symbolic":"class","members":{},"statics":{"storage":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"LocalizeTokenStorage"}},"httpHeaders":{"AUTHORIZATION":"Authorization","X_TENANT":"X-Tenant","X_REFRESH_TOKEN":"X-RefreshToken","CONTENT_TYPE":"Content-Type"}}},"waitFor":{"__symbolic":"function"},"waitUntil":{"__symbolic":"function"},"extractMainDomain":{"__symbolic":"function"},"EMethod":{"POST":"post","GET":"get","PUT":"put","DELETE":"delete","PATCH":"patch"},"IOnConnectionError":{"__symbolic":"interface"},"ILocalizeApiConfigs":{"__symbolic":"interface"},"IApiOptions":{"__symbolic":"interface"},"IHeader":{"__symbolic":"interface"},"INormalizedError":{"__symbolic":"interface"},"ApiHelper":{"__symbolic":"error","message":"Reference to non-exported class","line":19,"character":0,"context":{"className":"LocalizeApiHelper"},"module":"./localize-token/helpers/loccalize.api.helper"},"ICookieOptions":{"__symbolic":"interface"},"LocalizeTokenStorage":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}],"check":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"getAll":[{"__symbolic":"method"}],"set":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"deleteAll":[{"__symbolic":"method"}]}},"LocalizeTokenModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"providers":[{"__symbolic":"reference","name":"LocalizeTokenService"},{"__symbolic":"reference","name":"LocalizeApiService"}]}]}],"members":{}},"LocalizeApiService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":10,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":48,"character":35},{"__symbolic":"reference","name":"LocalizeTokenService"}]}],"init":[{"__symbolic":"method"}],"cancelPendingRequests":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"request":[{"__symbolic":"method"}],"handleOnRequestError":[{"__symbolic":"method"}],"performRequest":[{"__symbolic":"method"}],"revokeToken":[{"__symbolic":"method"}],"buildHeaderOptions":[{"__symbolic":"method"}],"buildApiOptions":[{"__symbolic":"method"}],"toWaitForPreviousRequest":[{"__symbolic":"method"}],"handleOnTokenRevoked":[{"__symbolic":"method"}],"interceptRevokeToken":[{"__symbolic":"method"}],"validateConfig":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"LocalizeLogindlgComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"styles":["\n #login-dlg-wrap {\n width: 100%;\n max-width: 400px;\n margin: 0 auto;\n padding: 30px;\n height: 100%;\n }\n \n .login-dlg-elm {\n margin-top: 1rem;\n }\n\n .login-dlg-elm.login-dlg-suggest {\n display: flex ;\n align-items: center;\n user-select: none;\n border-bottom: solid 1px #ddd;\n border-radius: 5px;\n padding: 5px 10px;\n background: #f9f9f9;\n box-shadow: 1px 5px 10px -12px #000;\n }\n \n #login-dlg-header {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n }\n \n #login-dlg-header h3 {\n font-weight: bold;\n font-size: 0.9rem;\n color: orange;\n text-align: center;\n }\n \n #login-logo {\n height: 55px;\n width: 55px;\n /* background: url(\"/assets/images/logo-300px.png\") no-repeat; */\n background-size: contain !important;\n }\n \n #login-dlg-content .p-inputgroup {\n height: 45px;\n }\n \n #login-dlg-content .p-inputgroup .p-inputgroup-addon {\n height: 45px;\n border-radius: 15px 0 0 15px;\n width: 50px;\n }\n #login-dlg-content *{\n font-size: .9rem;\n /* font-family: 'Lexend', 'Roboto', sans-serif, 'material-icons-round'; */\n }\n \n #login-dlg-content .p-inputgroup .p-inputgroup-addon * {\n font-size: 1rem;\n }\n \n #login-dlg-content .p-inputgroup input {\n height: 45px;\n border-radius: 0 15px 15px 0;\n }\n \n #login-dlg-content button {\n height: 45px;\n border-radius: 15px;\n }\n \n /*check animation block*/\n \n .check-animation-wrap {\n top: 0;\n left: 0;\n position: absolute;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: calc(100% - 200px);\n min-height: 400px;\n }\n \n .check-main-container {\n width: 100%;\n height: 100vh;\n display: flex;\n flex-flow: column;\n justify-content: center;\n align-items: center;\n }\n \n .check-container {\n width: 6.25rem;\n height: 7.5rem;\n display: flex;\n flex-flow: column;\n align-items: center;\n justify-content: space-between;\n }\n \n .check-container .check-background {\n width: 100%;\n height: calc(100% - 1.25rem);\n background: linear-gradient(to bottom right, #5de593, #41d67c);\n box-shadow: 0px 0px 0px 65px rgba(255, 255, 255, 0.25) inset, 0px 0px 0px 65px rgba(255, 255, 255, 0.25) inset;\n transform: scale(0.84);\n border-radius: 50%;\n animation: animateContainer 0.75s ease-out forwards 0.75s;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: 0;\n }\n \n .check-container .check-background svg {\n width: 65%;\n transform: translateY(0.25rem);\n stroke-dasharray: 80;\n stroke-dashoffset: 80;\n animation: animateCheck 0.35s forwards 1.25s ease-out;\n min-width: auto !important;\n }\n \n .check-container .check-shadow {\n bottom: calc(-15% - 5px);\n left: 0;\n border-radius: 50%;\n background: radial-gradient(closest-side, rgba(73, 218, 131, 1), transparent);\n animation: animateShadow 0.75s ease-out forwards 0.75s;\n }\n \n @keyframes animateContainer {\n 0% {\n opacity: 0;\n transform: scale(0);\n box-shadow: 0px 0px 0px 65px rgba(255, 255, 255, 0.25) inset, 0px 0px 0px 65px rgba(255, 255, 255, 0.25) inset;\n }\n \n 25% {\n opacity: 1;\n transform: scale(0.9);\n box-shadow: 0px 0px 0px 65px rgba(255, 255, 255, 0.25) inset, 0px 0px 0px 65px rgba(255, 255, 255, 0.25) inset;\n }\n \n 43.75% {\n transform: scale(1.15);\n box-shadow: 0px 0px 0px 43.334px rgba(255, 255, 255, 0.25) inset, 0px 0px 0px 65px rgba(255, 255, 255, 0.25) inset;\n }\n \n 62.5% {\n transform: scale(1);\n box-shadow: 0px 0px 0px 0px rgba(255, 255, 255, 0.25) inset, 0px 0px 0px 21.667px rgba(255, 255, 255, 0.25) inset;\n }\n \n 81.25% {\n box-shadow: 0px 0px 0px 0px rgba(255, 255, 255, 0.25) inset, 0px 0px 0px 0px rgba(255, 255, 255, 0.25) inset;\n }\n \n 100% {\n opacity: 1;\n box-shadow: 0px 0px 0px 0px rgba(255, 255, 255, 0.25) inset, 0px 0px 0px 0px rgba(255, 255, 255, 0.25) inset;\n }\n }\n \n @keyframes animateCheck {\n from {\n stroke-dashoffset: 80;\n }\n \n to {\n stroke-dashoffset: 0;\n }\n }\n \n @keyframes animateShadow {\n 0% {\n opacity: 0;\n width: 100%;\n height: 15%;\n }\n \n 25% {\n opacity: 0.25;\n }\n \n 43.75% {\n width: 40%;\n height: 7%;\n opacity: 0.35;\n }\n \n 100% {\n width: 85%;\n height: 15%;\n opacity: 0.25;\n }\n }\n #login-dlg-wrap .loader-wrap {\n display: flex;\n justify-content: center;\n align-items: center;\n height:100%;\n width:100%;\n position: absolute;\n top: 0;\n left: 0;\n z-index: 100;\n background: #ffffff42;\n backdrop-filter: blur(1px);\n }\n\n #login-dlg-wrap .login-dlg-loader {\n border: 15px solid #e7e7e7;\n border-top: 15px solid #52dba1;\n border-radius: 50%;\n width: 100px;\n height: 100px;\n animation: spinloader 2s linear infinite;\n }\n\n #login-dlg-wrap .loader-wrap::before {\n content: \"\";\n position: absolute;\n width: 70px;\n height: 70px;\n transform: translate(-50%, -50%);\n z-index: 1;\n border: 15px solid #e7e7e700;\n border-top: 15px solid #52dba1c9;\n border-radius: 50%;\n animation: spinloader .75s linear infinite;\n }\n\n @keyframes spinloader {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n }\n "],"template":"<p-toast key=\"$login-dlg\" position=\"top-center\"></p-toast>\n <div id=\"login-dlg-wrap\">\n <div id=\"login-dlg-header\">\n <div id=\"login-logo\" class=\"p-mb-2\" style=\"background: url('{{properties.logoImage}}') no-repeat\"></div>\n <h3 *ngIf=\"!success\" [innerHTML]=\"sanitizedTitle\"></h3>\n <h3 *ngIf=\"success\" style=\"color:green !important;\">{{properties.loginSuccessMessage}}</h3>\n </div>\n <div id=\"login-dlg-content\">\n <ng-container *ngIf=\"!success\">\n <div *ngIf=\"loading\" class=\"loader-wrap\">\n <div class=\"login-dlg-loader\"></div>\n </div>\n <div class=\"login-dlg-elm\">\n <div class=\"p-inputgroup\">\n <span class=\"p-inputgroup-addon\">\n <i class=\"material-icons-round\">person</i>\n </span>\n <input disabled pInputText type=\"text\" placeholder=\"{{properties.username?.placeHolder}}\" [value]=\"decodeToken?.email\" />\n </div>\n </div>\n \n <div class=\"login-dlg-elm\">\n <div class=\"p-inputgroup\">\n <span class=\"p-inputgroup-addon\">\n <i class=\"material-icons-round\">lock</i>\n </span>\n <input [disabled]=\"loading\" (keydown.enter)=\"clickLogin()\" pInputText type=\"password\" \n placeholder=\"{{properties.password?.placeHolder}}\" [(ngModel)]=\"password\"\n autofocus />\n </div>\n </div>\n <div class=\"login-dlg-elm\">\n <button style=\"width: 100%;\" pButton type=\"button\" label=\"{{properties.loginButton?.placeHolder}}\" (click)=\"clickLogin()\"\n [disabled]=\"!password || loading\"></button>\n </div>\n \n <div class=\"login-dlg-elm login-dlg-suggest\" style=\"display:flex;align-items: center;user-select: none;\">\n <span>{{properties.logoutButton?.message}}</span>\n <button class=\"p-button-text\" pButton type=\"button\" label=\"{{properties.logoutButton?.placeHolder}}\" \n (click)=\"clickLogout()\"></button>\n </div>\n </ng-container>\n \n <ng-container *ngIf=\"success\">\n <div style=\"margin-top:35px;\"></div>\n <div class=\"check-animation-wrap\">\n <div class=\"check-main-container\">\n <div class=\"check-container\">\n <div class=\"check-background\">\n <svg viewBox=\"0 0 65 51\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M7 25L27.3077 44L58.5 7\" stroke=\"white\" stroke-width=\"13\" stroke-linecap=\"round\"\n stroke-linejoin=\"round\"></path>\n </svg>\n </div>\n </div>\n </div>\n </div>\n </ng-container>\n </div>\n </div>","selector":"app-localize-logindlg","providers":[{"__symbolic":"reference","module":"primeng/api","name":"MessageService","line":320,"character":14}],"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":321,"character":17},"member":"None"}}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/api","name":"MessageService","line":338,"character":37},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":339,"character":26},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogRef","line":340,"character":29},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogConfig","line":341,"character":32},{"__symbolic":"reference","name":"LocalizeTokenService"},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":343,"character":33},{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":344,"character":32}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"clickLogin":[{"__symbolic":"method"}],"login":[{"__symbolic":"method"}],"getHeaders":[{"__symbolic":"method"}],"showMessage":[{"__symbolic":"method"}]}},"LocalizeLogindlgModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":10,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"LocalizeLogindlgComponent"}],"exports":[{"__symbolic":"reference","name":"LocalizeLogindlgComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":14,"character":4},{"__symbolic":"reference","module":"primeng/toast","name":"ToastModule","line":15,"character":4},{"__symbolic":"reference","module":"primeng/inputtext","name":"InputTextModule","line":16,"character":4},{"__symbolic":"reference","module":"@angular/platform-browser","name":"BrowserModule","line":17,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":18,"character":4},{"__symbolic":"reference","module":"primeng/button","name":"ButtonModule","line":19,"character":4}],"providers":[{"__symbolic":"reference","name":"LocalizeLogindlgService"}],"schemas":[{"__symbolic":"reference","module":"@angular/core","name":"CUSTOM_ELEMENTS_SCHEMA","line":22,"character":12}]}]}],"members":{}},"ILoginDialogPlaceHolder":{"__symbolic":"interface"},"ILoginDialogProperties":{"__symbolic":"interface"},"ILoginDialogConfig":{"__symbolic":"interface"},"LocalizeLogindlgService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":56,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":61,"character":41}]}],"openLoginDialog":[{"__symbolic":"method"}],"intercepDialogConfig":[{"__symbolic":"method"}],"initConfig":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}}},"origins":{"JwtPayload":"./localize-token/localize.token.service","LocalizeTokenService":"./localize-token/localize.token.service","ILocalizeTokenConfig":"./localize-token/localize.token","LocalizeToken":"./localize-token/localize.token","waitFor":"./localize-token/localize.token","waitUntil":"./localize-token/localize.token","extractMainDomain":"./localize-token/localize.token","EMethod":"./localize-token/helpers/interfaces","IOnConnectionError":"./localize-token/helpers/interfaces","ILocalizeApiConfigs":"./localize-token/helpers/interfaces","IApiOptions":"./localize-token/helpers/interfaces","IHeader":"./localize-token/helpers/interfaces","INormalizedError":"./localize-token/helpers/interfaces","ApiHelper":"./localize-token/helpers/loccalize.api.helper","ICookieOptions":"./localize-token/localize.token.storage","LocalizeTokenStorage":"./localize-token/localize.token.storage","LocalizeTokenModule":"./localize-token/localize.token.module","LocalizeApiService":"./localize-token/localize.api.service","LocalizeLogindlgComponent":"./localize-logindlg/localize-logindlg.component","LocalizeLogindlgModule":"./localize-logindlg/localize-logindlg.module","ILoginDialogPlaceHolder":"./localize-logindlg/localize-logindlg.service","ILoginDialogProperties":"./localize-logindlg/localize-logindlg.service","ILoginDialogConfig":"./localize-logindlg/localize-logindlg.service","LocalizeLogindlgService":"./localize-logindlg/localize-logindlg.service"},"importAs":"@sambath999/localize-token"}