@sambath999/localize-token 19.1.10 → 19.1.11

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.
@@ -12,24 +12,24 @@ export declare class LocalizeTokenLoginDialogComponent implements OnInit, OnDest
12
12
  private readonly dlgConfig;
13
13
  private readonly sanitizer;
14
14
  private readonly injector;
15
- readonly messageKey = "$login-dlg";
15
+ readonly messageKey = "$localize-api-token-login-dlg";
16
16
  password: any;
17
17
  readonly decodeToken: JwtPayload | null;
18
18
  get loading(): boolean;
19
19
  get success(): boolean;
20
- private readonly loginConfig;
20
+ get sanitizedTitle(): import("@angular/platform-browser").SafeHtml;
21
+ private readonly config;
21
22
  private readonly logout?;
22
23
  readonly properties: ILoginDialogProperties;
23
- private readonly apiLoginService;
24
+ private readonly loginService;
24
25
  constructor(messageService: MessageService, cdt: ChangeDetectorRef, dlgRef: DynamicDialogRef, dlgConfig: DynamicDialogConfig, sanitizer: DomSanitizer, injector: Injector);
25
26
  private configure;
26
27
  ngOnInit(): void;
27
28
  ngAfterViewInit(): void;
28
- private loginSuccess;
29
+ private onSuccess;
29
30
  clickLogin(): Promise<void>;
30
31
  clickLogout(): void;
31
- private showMessage;
32
- get sanitizedTitle(): import("@angular/platform-browser").SafeHtml;
32
+ private showError;
33
33
  ngOnDestroy(): void;
34
34
  static ɵfac: i0.ɵɵFactoryDeclaration<LocalizeTokenLoginDialogComponent, never>;
35
35
  static ɵcmp: i0.ɵɵComponentDeclaration<LocalizeTokenLoginDialogComponent, "app-localize-logindlg", never, {}, {}, never, never, false, never>;
@@ -30,15 +30,16 @@ class LocalizeTokenLoginDialogComponent {
30
30
  dlgConfig;
31
31
  sanitizer;
32
32
  injector;
33
- messageKey = "$login-dlg";
33
+ messageKey = "$localize-api-token-login-dlg";
34
34
  password;
35
35
  decodeToken;
36
- get loading() { return this.apiLoginService.isLoading; }
37
- get success() { return this.apiLoginService.isSuccess; }
38
- loginConfig;
36
+ get loading() { return this.loginService.isLoading; }
37
+ get success() { return this.loginService.isSuccess; }
38
+ get sanitizedTitle() { return this.sanitizer.bypassSecurityTrustHtml(this.properties.title ?? ''); }
39
+ config;
39
40
  logout;
40
41
  properties;
41
- apiLoginService;
42
+ loginService;
42
43
  constructor(messageService, cdt, dlgRef, dlgConfig, sanitizer, injector) {
43
44
  this.messageService = messageService;
44
45
  this.cdt = cdt;
@@ -46,58 +47,55 @@ class LocalizeTokenLoginDialogComponent {
46
47
  this.dlgConfig = dlgConfig;
47
48
  this.sanitizer = sanitizer;
48
49
  this.injector = injector;
49
- this.loginConfig = this.dlgConfig.data.loginConfig;
50
- this.apiLoginService = this.injector.get(LocalizeApiLoginService);
51
- this.properties = this.loginConfig.properties;
52
- this.decodeToken = this.apiLoginService.decodedToken;
53
- this.logout = this.loginConfig.logoutFunc;
50
+ this.config = this.dlgConfig.data.loginConfig;
51
+ this.loginService = this.injector.get(LocalizeApiLoginService);
52
+ this.properties = this.config.properties;
53
+ this.decodeToken = this.loginService.decodedToken;
54
+ this.logout = this.config.logoutFunc;
54
55
  this.configure();
55
56
  }
56
57
  configure() {
57
58
  this.dlgConfig.closable = false;
58
59
  this.dlgConfig.dismissableMask = false;
59
60
  this.dlgConfig.modal = true;
60
- this.apiLoginService.configure({
61
- loginUrl: this.loginConfig.loginUrl,
62
- onSuccess: this.loginSuccess.bind(this),
63
- onFailure: (msg) => this.showMessage("error", msg),
64
- onError: (msg) => this.showMessage("error", msg),
65
- loginFunction: this.loginConfig.loginFunction,
66
- refreshTokenTtl: this.loginConfig.expire,
61
+ this.loginService.configure({
62
+ loginUrl: this.config.loginUrl,
63
+ refreshTokenTtl: this.config.expire,
64
+ onSuccess: this.onSuccess.bind(this),
65
+ onFailure: this.showError.bind(this),
66
+ onError: this.showError.bind(this),
67
+ loginFunction: this.config.loginFunction?.bind(this),
67
68
  passwordResolver: () => this.password,
68
- passwordValidator: this.loginConfig.properties?.passwordValidator?.bind(this),
69
+ passwordValidator: this.properties?.passwordValidator?.bind(this),
69
70
  });
70
71
  }
71
72
  ngOnInit() {
72
73
  if (!this.decodeToken) {
73
- this.showMessage("error", "Invalid Token. Please login again.");
74
+ this.showError("Invalid Token. Please login again.");
74
75
  setTimeout(() => this.logout?.(), 2000);
75
76
  }
76
77
  }
77
78
  ngAfterViewInit() {
78
79
  this.cdt.detectChanges();
79
80
  }
80
- async loginSuccess() {
81
+ async onSuccess() {
81
82
  await waitFor(2000);
82
83
  this.dlgRef.close(true);
83
84
  }
84
85
  async clickLogin() {
85
- await this.apiLoginService.clickLogin();
86
+ await this.loginService.clickLogin();
86
87
  }
87
88
  clickLogout() {
88
89
  this.logout?.();
89
90
  }
90
- showMessage(severity, summary) {
91
- this.messageService.add({ key: this.messageKey, severity, summary });
92
- }
93
- get sanitizedTitle() {
94
- return this.sanitizer.bypassSecurityTrustHtml(this.properties.title ?? '');
91
+ showError(summary) {
92
+ this.messageService.add({ key: this.messageKey, severity: "error", summary });
95
93
  }
96
94
  ngOnDestroy() {
97
- this.apiLoginService.unConfigure();
95
+ this.loginService.unConfigure();
98
96
  }
99
97
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: LocalizeTokenLoginDialogComponent, deps: [{ token: i1.MessageService }, { token: i0.ChangeDetectorRef }, { token: i2.DynamicDialogRef }, { token: i2.DynamicDialogConfig }, { token: i3.DomSanitizer }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
100
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.5", type: LocalizeTokenLoginDialogComponent, isStandalone: false, selector: "app-localize-logindlg", providers: [MessageService], ngImport: i0, template: `<p-toast key="$login-dlg" position="top-center"></p-toast>
98
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.0.5", type: LocalizeTokenLoginDialogComponent, isStandalone: false, selector: "app-localize-logindlg", providers: [MessageService], ngImport: i0, template: `<p-toast [key]="messageKey" position="top-center"></p-toast>
101
99
  <div id="login-dlg-wrap">
102
100
  <div id="login-dlg-header">
103
101
  <div id="login-logo" class="p-mb-2" style="background: url('{{properties.logoImage}}') no-repeat"></div>
@@ -160,7 +158,7 @@ class LocalizeTokenLoginDialogComponent {
160
158
  }
161
159
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.0.5", ngImport: i0, type: LocalizeTokenLoginDialogComponent, decorators: [{
162
160
  type: Component,
163
- args: [{ standalone: false, template: `<p-toast key="$login-dlg" position="top-center"></p-toast>
161
+ args: [{ standalone: false, template: `<p-toast [key]="messageKey" position="top-center"></p-toast>
164
162
  <div id="login-dlg-wrap">
165
163
  <div id="login-dlg-header">
166
164
  <div id="login-logo" class="p-mb-2" style="background: url('{{properties.logoImage}}') no-repeat"></div>
@@ -1 +1 @@
1
- {"version":3,"file":"sambath999-localize-token.mjs","sources":["../../src/package/components/localize-token-login-dialog.component.ts","../../src/package/services/localize-token-dialog.service.ts","../../src/package/models/localize-token.module.ts","../../src/package/services/localize-token-configure.service.ts","../../src/package/public-api.ts","../../src/package/sambath999-localize-token.ts"],"sourcesContent":["import {\r\n ChangeDetectorRef,\r\n Component,\r\n Injector,\r\n OnDestroy,\r\n OnInit,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport { MessageService } from \"primeng/api\";\r\nimport { DynamicDialogConfig, DynamicDialogRef } from \"primeng/dynamicdialog\";\r\nimport { ILoginDialogConfig, ILoginDialogProperties } from \"../models/localize-token-models\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { JwtPayload, LocalizeApiLoginService, waitFor } from \"@sambath999/localize-api\";\r\n\r\n@Component({\r\n standalone: false,\r\n styles: [`\r\n #login-dlg-wrap {\r\n width: 100%;\r\n max-width: 400px;\r\n margin: 0 auto;\r\n padding: 30px;\r\n height: 100%;\r\n }\r\n \r\n .login-dlg-elm {\r\n margin-top: 1rem;\r\n }\r\n\r\n .login-dlg-elm.login-dlg-suggest {\r\n display: flex ;\r\n align-items: center;\r\n user-select: none;\r\n border-bottom: solid 1px #ddd;\r\n border-radius: 5px;\r\n padding: 5px 10px;\r\n background: #f9f9f9;\r\n box-shadow: 1px 5px 10px -12px #000;\r\n }\r\n \r\n #login-dlg-header {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n \r\n #login-dlg-header h3 {\r\n font-weight: bold;\r\n font-size: 0.9rem;\r\n color: orange;\r\n text-align: center;\r\n }\r\n \r\n #login-logo {\r\n height: 55px;\r\n width: 55px;\r\n /* background: url(\"/assets/images/logo-300px.png\") no-repeat; */\r\n background-size: contain !important;\r\n }\r\n \r\n #login-dlg-content .p-inputgroup {\r\n height: 45px;\r\n }\r\n \r\n #login-dlg-content .p-inputgroup .p-inputgroup-addon {\r\n height: 45px;\r\n border-radius: 15px 0 0 15px;\r\n width: 50px;\r\n }\r\n #login-dlg-content *{\r\n font-size: .9rem;\r\n /* font-family: 'Lexend', 'Roboto', sans-serif, 'material-icons-round'; */\r\n }\r\n \r\n #login-dlg-content .p-inputgroup .p-inputgroup-addon * {\r\n font-size: 1rem;\r\n }\r\n \r\n #login-dlg-content .p-inputgroup input {\r\n height: 45px;\r\n border-radius: 0 15px 15px 0;\r\n }\r\n \r\n #login-dlg-content button {\r\n height: 45px;\r\n border-radius: 15px;\r\n }\r\n \r\n /*check animation block*/\r\n \r\n .check-animation-wrap {\r\n top: 0;\r\n left: 0;\r\n position: absolute;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n height: calc(100% - 200px);\r\n min-height: 400px;\r\n }\r\n \r\n .check-main-container {\r\n width: 100%;\r\n height: 100vh;\r\n display: flex;\r\n flex-flow: column;\r\n justify-content: center;\r\n align-items: center;\r\n }\r\n \r\n .check-container {\r\n width: 6.25rem;\r\n height: 7.5rem;\r\n display: flex;\r\n flex-flow: column;\r\n align-items: center;\r\n justify-content: space-between;\r\n }\r\n \r\n .check-container .check-background {\r\n width: 100%;\r\n height: calc(100% - 1.25rem);\r\n background: linear-gradient(to bottom right, #5de593, #41d67c);\r\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;\r\n transform: scale(0.84);\r\n border-radius: 50%;\r\n animation: animateContainer 0.75s ease-out forwards 0.75s;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n opacity: 0;\r\n }\r\n \r\n .check-container .check-background svg {\r\n width: 65%;\r\n transform: translateY(0.25rem);\r\n stroke-dasharray: 80;\r\n stroke-dashoffset: 80;\r\n animation: animateCheck 0.35s forwards 1.25s ease-out;\r\n min-width: auto !important;\r\n }\r\n \r\n .check-container .check-shadow {\r\n bottom: calc(-15% - 5px);\r\n left: 0;\r\n border-radius: 50%;\r\n background: radial-gradient(closest-side, rgba(73, 218, 131, 1), transparent);\r\n animation: animateShadow 0.75s ease-out forwards 0.75s;\r\n }\r\n \r\n @keyframes animateContainer {\r\n 0% {\r\n opacity: 0;\r\n transform: scale(0);\r\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;\r\n }\r\n \r\n 25% {\r\n opacity: 1;\r\n transform: scale(0.9);\r\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;\r\n }\r\n \r\n 43.75% {\r\n transform: scale(1.15);\r\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;\r\n }\r\n \r\n 62.5% {\r\n transform: scale(1);\r\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;\r\n }\r\n \r\n 81.25% {\r\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;\r\n }\r\n \r\n 100% {\r\n opacity: 1;\r\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;\r\n }\r\n }\r\n \r\n @keyframes animateCheck {\r\n from {\r\n stroke-dashoffset: 80;\r\n }\r\n \r\n to {\r\n stroke-dashoffset: 0;\r\n }\r\n }\r\n \r\n @keyframes animateShadow {\r\n 0% {\r\n opacity: 0;\r\n width: 100%;\r\n height: 15%;\r\n }\r\n \r\n 25% {\r\n opacity: 0.25;\r\n }\r\n \r\n 43.75% {\r\n width: 40%;\r\n height: 7%;\r\n opacity: 0.35;\r\n }\r\n \r\n 100% {\r\n width: 85%;\r\n height: 15%;\r\n opacity: 0.25;\r\n }\r\n }\r\n #login-dlg-wrap .loader-wrap {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n height:100%;\r\n width:100%;\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n z-index: 100;\r\n background: #ffffff42;\r\n backdrop-filter: blur(1px);\r\n }\r\n\r\n #login-dlg-wrap .login-dlg-loader {\r\n border: 15px solid #e7e7e7;\r\n border-top: 15px solid #52dba1;\r\n border-radius: 50%;\r\n width: 100px;\r\n height: 100px;\r\n animation: spinloader 2s linear infinite;\r\n }\r\n\r\n #login-dlg-wrap .loader-wrap::before {\r\n content: \"\";\r\n position: absolute;\r\n width: 70px;\r\n height: 70px;\r\n transform: translate(-50%, -50%);\r\n z-index: 1;\r\n border: 15px solid #e7e7e700;\r\n border-top: 15px solid #52dba1c9;\r\n border-radius: 50%;\r\n animation: spinloader .75s linear infinite;\r\n }\r\n\r\n @keyframes spinloader {\r\n 0% { transform: rotate(0deg); }\r\n 100% { transform: rotate(360deg); }\r\n }\r\n `],\r\n template: `<p-toast key=\"$login-dlg\" position=\"top-center\"></p-toast>\r\n <div id=\"login-dlg-wrap\">\r\n <div id=\"login-dlg-header\">\r\n <div id=\"login-logo\" class=\"p-mb-2\" style=\"background: url('{{properties.logoImage}}') no-repeat\"></div>\r\n <h3 *ngIf=\"!success\" [innerHTML]=\"sanitizedTitle\"></h3>\r\n <h3 *ngIf=\"success\" style=\"color:green !important;\">{{properties.loginSuccessMessage}}</h3>\r\n </div>\r\n <div id=\"login-dlg-content\">\r\n <ng-container *ngIf=\"!success\">\r\n <div *ngIf=\"loading\" class=\"loader-wrap\">\r\n <div class=\"login-dlg-loader\"></div>\r\n </div>\r\n <div class=\"login-dlg-elm\">\r\n <p-inputgroup>\r\n <p-inputgroup-addon>\r\n <i class=\"material-icons-round\">person</i>\r\n </p-inputgroup-addon>\r\n <input disabled pInputText type=\"text\" placeholder=\"{{properties.username?.placeHolder}}\" [value]=\"decodeToken?.email\" />\r\n </p-inputgroup>\r\n </div>\r\n \r\n <div class=\"login-dlg-elm\">\r\n <p-inputgroup>\r\n <p-inputgroup-addon>\r\n <i class=\"material-icons-round\">lock</i>\r\n </p-inputgroup-addon>\r\n <input [disabled]=\"loading\" (keydown.enter)=\"clickLogin()\" pInputText type=\"password\" \r\n placeholder=\"{{properties.password?.placeHolder}}\" [(ngModel)]=\"password\"\r\n autofocus />\r\n </p-inputgroup>\r\n </div>\r\n <div class=\"login-dlg-elm\">\r\n <button style=\"width: 100%;\" pButton type=\"button\" label=\"{{properties.loginButton?.placeHolder}}\" (click)=\"clickLogin()\"\r\n [disabled]=\"!password || loading\"></button>\r\n </div>\r\n \r\n <div class=\"login-dlg-elm login-dlg-suggest\" style=\"display:flex;align-items: center;user-select: none;\">\r\n <span>{{properties.logoutButton?.message}}</span>\r\n <button class=\"p-button-text\" pButton type=\"button\" label=\"{{properties.logoutButton?.placeHolder}}\" \r\n (click)=\"clickLogout()\"></button>\r\n </div>\r\n </ng-container>\r\n \r\n <ng-container *ngIf=\"success\">\r\n <div style=\"margin-top:35px;\"></div>\r\n <div class=\"check-animation-wrap\">\r\n <div class=\"check-main-container\">\r\n <div class=\"check-container\">\r\n <div class=\"check-background\">\r\n <svg viewBox=\"0 0 65 51\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M7 25L27.3077 44L58.5 7\" stroke=\"white\" stroke-width=\"13\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"></path>\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>`,\r\n selector: \"app-localize-logindlg\",\r\n providers: [MessageService],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class LocalizeTokenLoginDialogComponent implements OnInit, OnDestroy {\r\n readonly messageKey = \"$login-dlg\";\r\n password: any;\r\n readonly decodeToken: JwtPayload | null;\r\n get loading() { return this.apiLoginService.isLoading; }\r\n get success() { return this.apiLoginService.isSuccess; }\r\n private readonly loginConfig: ILoginDialogConfig\r\n\r\n private readonly logout?: () => any\r\n readonly properties: ILoginDialogProperties;\r\n private readonly apiLoginService: LocalizeApiLoginService;\r\n\r\n constructor(\r\n private readonly messageService: MessageService,\r\n private readonly cdt: ChangeDetectorRef,\r\n private readonly dlgRef: DynamicDialogRef,\r\n private readonly dlgConfig: DynamicDialogConfig,\r\n private readonly sanitizer: DomSanitizer,\r\n private readonly injector: Injector\r\n ) {\r\n this.loginConfig = this.dlgConfig.data.loginConfig;\r\n this.apiLoginService = this.injector.get(LocalizeApiLoginService);\r\n this.properties = this.loginConfig.properties!;\r\n this.decodeToken = this.apiLoginService.decodedToken;\r\n\r\n this.logout = this.loginConfig.logoutFunc;\r\n this.configure();\r\n }\r\n\r\n private configure() {\r\n this.dlgConfig.closable = false;\r\n this.dlgConfig.dismissableMask = false;\r\n this.dlgConfig.modal = true;\r\n\r\n this.apiLoginService.configure({\r\n loginUrl: this.loginConfig.loginUrl,\r\n onSuccess: this.loginSuccess.bind(this),\r\n onFailure: (msg) => this.showMessage(\"error\", msg),\r\n onError: (msg) => this.showMessage(\"error\", msg),\r\n loginFunction: this.loginConfig.loginFunction,\r\n refreshTokenTtl: this.loginConfig.expire,\r\n passwordResolver: () => this.password,\r\n passwordValidator: this.loginConfig.properties?.passwordValidator?.bind(this),\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.decodeToken) {\r\n this.showMessage(\"error\", \"Invalid Token. Please login again.\");\r\n setTimeout(() => this.logout?.(), 2000);\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.cdt.detectChanges();\r\n }\r\n\r\n private async loginSuccess() {\r\n await waitFor(2000);\r\n this.dlgRef.close(true);\r\n }\r\n\r\n async clickLogin() {\r\n await this.apiLoginService.clickLogin();\r\n }\r\n\r\n clickLogout() {\r\n this.logout?.();\r\n }\r\n\r\n private showMessage(severity: string, summary: string) {\r\n this.messageService.add({ key: this.messageKey, severity, summary });\r\n }\r\n\r\n get sanitizedTitle() {\r\n return this.sanitizer.bypassSecurityTrustHtml(this.properties.title ?? '');\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.apiLoginService.unConfigure();\r\n }\r\n}\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport { DialogService, DynamicDialogConfig } from 'primeng/dynamicdialog';\r\nimport { LocalizeTokenLoginDialogComponent } from '../components/localize-token-login-dialog.component';\r\nimport { ILoginDialogConfig } from '../models/localize-token-models';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocalizeTokenDialogService {\r\n\r\n constructor(private readonly injector: Injector) { }\r\n\r\n async openLoginDialog(loginConfig: ILoginDialogConfig, config?: DynamicDialogConfig) {\r\n\r\n config = this.intercepDialogConfig(config);\r\n this.initConfig(loginConfig);\r\n\r\n config.data = { ...(config.data || {}), ...{ loginConfig } };\r\n\r\n const dialogService = this.injector.get(DialogService);\r\n const dialog = dialogService.open(LocalizeTokenLoginDialogComponent, config);\r\n\r\n await new Promise<void>((resolve) =>\r\n dialog.onClose.subscribe(res => {\r\n if (res) {\r\n resolve();\r\n }\r\n }));\r\n }\r\n\r\n private intercepDialogConfig(config?: DynamicDialogConfig) {\r\n config ??= {\r\n header: 'Login',\r\n style: { 'max-width': '400px', width: '100%', 'height': '650px' },\r\n modal: true,\r\n closable: false,\r\n showHeader: false,\r\n }\r\n\r\n config = {\r\n ...config, ...{\r\n contentStyle: { 'height': '100%', 'border-radius': '20px' }\r\n }\r\n }\r\n config.style = { ...config.style, ...{ 'border-radius': '20px' } };\r\n return config;\r\n }\r\n\r\n\r\n private initConfig(loginConfig: ILoginDialogConfig) {\r\n loginConfig ??= {}\r\n loginConfig.properties ??= {\r\n title: 'Your session is expired!<br/> Please login again to continue.',\r\n loginSuccessMessage: 'You have successfully logged in.',\r\n logoImage: '/assets/images/logo-300px.png',\r\n username: { placeHolder: 'Username' },\r\n password: { placeHolder: 'Password' },\r\n loginButton: { placeHolder: 'Login' },\r\n logoutButton: {\r\n message: 'No, I want to login with another user.',\r\n placeHolder: 'Logout'\r\n }\r\n }\r\n }\r\n}\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { LocalizeTokenLoginDialogComponent } from \"../components/localize-token-login-dialog.component\";\r\nimport { ToastModule } from \"primeng/toast\";\r\nimport { InputTextModule } from \"primeng/inputtext\";\r\nimport { ButtonModule } from \"primeng/button\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { LocalizeTokenDialogService } from \"../services/localize-token-dialog.service\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { InputGroupModule } from \"primeng/inputgroup\";\r\nimport { InputGroupAddonModule } from \"primeng/inputgroupaddon\";\r\n\r\n@NgModule({\r\n declarations: [LocalizeTokenLoginDialogComponent],\r\n exports: [LocalizeTokenLoginDialogComponent],\r\n imports: [\r\n CommonModule,\r\n ToastModule,\r\n InputTextModule,\r\n BrowserModule,\r\n FormsModule,\r\n ButtonModule,\r\n InputGroupModule,\r\n InputGroupAddonModule\r\n ],\r\n providers: [LocalizeTokenDialogService],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n})\r\nexport class LocalizeTokenModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { LocalizeTokenDialogService } from './localize-token-dialog.service';\r\nimport { LocalizeApiService, LocalizeApiTokenService, ILocalizeTokenConfig, ILocalizeApiConfigs } from '@sambath999/localize-api';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocalizeTokenConfigureService {\r\n readonly api: LocalizeApiService;\r\n readonly token: LocalizeApiTokenService;\r\n readonly loginDialog: LocalizeTokenDialogService;\r\n\r\n constructor(tokenService: LocalizeApiTokenService,\r\n apiService: LocalizeApiService,\r\n loginDialogService: LocalizeTokenDialogService) {\r\n this.api = apiService;\r\n this.token = tokenService;\r\n this.loginDialog = loginDialogService;\r\n }\r\n\r\n initialize(tokenConfig: ILocalizeTokenConfig, apiConfig: ILocalizeApiConfigs) {\r\n // Initialize the LocalizeApiTokenService with the provided token configuration\r\n this.token.init(tokenConfig);\r\n\r\n // Initialize the LocalizeApiService with the provided API configuration\r\n this.api.init(apiConfig);\r\n\r\n console.log('LocalizeTokenConfigureService initialized with token and API configurations.');\r\n\r\n }\r\n}\r\n","//#region login dialog\r\nexport * from './components/localize-token-login-dialog.component';\r\nexport * from './models/localize-token.module';\r\nexport * from './services/localize-token-dialog.service';\r\n\r\n\r\n//#region localize api token\r\nexport * from './services/localize-token-configure.service';\r\nexport * from './models/localize-token.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.LocalizeTokenDialogService"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;MAoUa,iCAAiC,CAAA;AAazB,IAAA,cAAA;AACA,IAAA,GAAA;AACA,IAAA,MAAA;AACA,IAAA,SAAA;AACA,IAAA,SAAA;AACA,IAAA,QAAA;IAjBV,UAAU,GAAG,YAAY;AAClC,IAAA,QAAQ;AACC,IAAA,WAAW;IACpB,IAAI,OAAO,GAAK,EAAA,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;IACtD,IAAI,OAAO,GAAK,EAAA,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;AACrC,IAAA,WAAW;AAEX,IAAA,MAAM;AACd,IAAA,UAAU;AACF,IAAA,eAAe;IAEhC,WACmB,CAAA,cAA8B,EAC9B,GAAsB,EACtB,MAAwB,EACxB,SAA8B,EAC9B,SAAuB,EACvB,QAAkB,EAAA;QALlB,IAAc,CAAA,cAAA,GAAd,cAAc;QACd,IAAG,CAAA,GAAA,GAAH,GAAG;QACH,IAAM,CAAA,MAAA,GAAN,MAAM;QACN,IAAS,CAAA,SAAA,GAAT,SAAS;QACT,IAAS,CAAA,SAAA,GAAT,SAAS;QACT,IAAQ,CAAA,QAAA,GAAR,QAAQ;QAEzB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW;QAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,uBAAuB,CAAC;QACjE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,UAAW;QAC9C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY;QAEpD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU;QACzC,IAAI,CAAC,SAAS,EAAE;;IAGV,SAAS,GAAA;AACf,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,KAAK;AAC/B,QAAA,IAAI,CAAC,SAAS,CAAC,eAAe,GAAG,KAAK;AACtC,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI;AAE3B,QAAA,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC;AAC7B,YAAA,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ;YACnC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC;AACvC,YAAA,SAAS,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC;AAClD,YAAA,OAAO,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC;AAChD,YAAA,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa;AAC7C,YAAA,eAAe,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM;AACxC,YAAA,gBAAgB,EAAE,MAAM,IAAI,CAAC,QAAQ;AACrC,YAAA,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC;AAC9E,SAAA,CAAC;;IAGJ,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACrB,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,oCAAoC,CAAC;AAC/D,YAAA,UAAU,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,EAAE,IAAI,CAAC;;;IAI3C,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;;AAGlB,IAAA,MAAM,YAAY,GAAA;AACxB,QAAA,MAAM,OAAO,CAAC,IAAI,CAAC;AACnB,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;;AAGzB,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE;;IAGzC,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,MAAM,IAAI;;IAGT,WAAW,CAAC,QAAgB,EAAE,OAAe,EAAA;AACnD,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;;AAGtE,IAAA,IAAI,cAAc,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC;;IAG5E,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE;;uGA/EzB,iCAAiC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iCAAiC,EAHjC,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,SAAA,EAAA,CAAC,cAAc,CAAC,EA7DjB,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DH,QAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,mkHAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,YAAA,EAAA,YAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,aAAA,EAAA,SAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,eAAA,EAAA,QAAA,EAAA,uCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAKI,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAtT7C,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,KAAK,EAqPP,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA2DH,EACG,QAAA,EAAA,uBAAuB,aACtB,CAAC,cAAc,CAAC,EACZ,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,MAAA,EAAA,CAAA,mkHAAA,CAAA,EAAA;;;MC1T1B,0BAA0B,CAAA;AAER,IAAA,QAAA;AAA7B,IAAA,WAAA,CAA6B,QAAkB,EAAA;QAAlB,IAAQ,CAAA,QAAA,GAAR,QAAQ;;AAErC,IAAA,MAAM,eAAe,CAAC,WAA+B,EAAE,MAA4B,EAAA;AAEjF,QAAA,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;AAC1C,QAAA,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;AAE5B,QAAA,MAAM,CAAC,IAAI,GAAG,EAAE,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE;QAE5D,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC;QACtD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,iCAAiC,EAAE,MAAM,CAAC;AAE5E,QAAA,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,KAC9B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,IAAG;YAC7B,IAAI,GAAG,EAAE;AACP,gBAAA,OAAO,EAAE;;SAEZ,CAAC,CAAC;;AAGC,IAAA,oBAAoB,CAAC,MAA4B,EAAA;AACvD,QAAA,MAAM,KAAK;AACT,YAAA,MAAM,EAAE,OAAO;AACf,YAAA,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;AACjE,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,UAAU,EAAE,KAAK;SAClB;AAED,QAAA,MAAM,GAAG;YACP,GAAG,MAAM,EAAE,GAAG;gBACZ,YAAY,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;AAC1D;SACF;AACD,QAAA,MAAM,CAAC,KAAK,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE;AAClE,QAAA,OAAO,MAAM;;AAIP,IAAA,UAAU,CAAC,WAA+B,EAAA;QAChD,WAAW,KAAK,EAAE;QAClB,WAAW,CAAC,UAAU,KAAK;AACzB,YAAA,KAAK,EAAE,+DAA+D;AACtE,YAAA,mBAAmB,EAAE,kCAAkC;AACvD,YAAA,SAAS,EAAE,+BAA+B;AAC1C,YAAA,QAAQ,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE;AACrC,YAAA,QAAQ,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE;AACrC,YAAA,WAAW,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE;AACrC,YAAA,YAAY,EAAE;AACZ,gBAAA,OAAO,EAAE,wCAAwC;AACjD,gBAAA,WAAW,EAAE;AACd;SACF;;uGAtDQ,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAA1B,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFzB,MAAM,EAAA,CAAA;;2FAEP,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCqBY,mBAAmB,CAAA;uGAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAAnB,mBAAmB,EAAA,YAAA,EAAA,CAff,iCAAiC,CAAA,EAAA,OAAA,EAAA,CAG9C,YAAY;YACZ,WAAW;YACX,eAAe;YACf,aAAa;YACb,WAAW;YACX,YAAY;YACZ,gBAAgB;AAChB,YAAA,qBAAqB,aATb,iCAAiC,CAAA,EAAA,CAAA;AAchC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAHnB,SAAA,EAAA,CAAC,0BAA0B,CAAC,YATrC,YAAY;YACZ,WAAW;YACX,eAAe;YACf,aAAa;YACb,WAAW;YACX,YAAY;YACZ,gBAAgB;YAChB,qBAAqB,CAAA,EAAA,CAAA;;2FAKZ,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAhB/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,iCAAiC,CAAC;oBACjD,OAAO,EAAE,CAAC,iCAAiC,CAAC;AAC5C,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,eAAe;wBACf,aAAa;wBACb,WAAW;wBACX,YAAY;wBACZ,gBAAgB;wBAChB;AACD,qBAAA;oBACD,SAAS,EAAE,CAAC,0BAA0B,CAAC;oBACvC,OAAO,EAAE,CAAC,sBAAsB,CAAC;AAClC,iBAAA;;;MCpBY,6BAA6B,CAAA;AAC/B,IAAA,GAAG;AACH,IAAA,KAAK;AACL,IAAA,WAAW;AAEpB,IAAA,WAAA,CAAY,YAAqC,EAC/C,UAA8B,EAC9B,kBAA8C,EAAA;AAC9C,QAAA,IAAI,CAAC,GAAG,GAAG,UAAU;AACrB,QAAA,IAAI,CAAC,KAAK,GAAG,YAAY;AACzB,QAAA,IAAI,CAAC,WAAW,GAAG,kBAAkB;;IAGvC,UAAU,CAAC,WAAiC,EAAE,SAA8B,EAAA;;AAE1E,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;;AAG5B,QAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;AAExB,QAAA,OAAO,CAAC,GAAG,CAAC,8EAA8E,CAAC;;uGApBlF,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,0BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAA7B,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,cAF5B,MAAM,EAAA,CAAA;;2FAEP,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACND;;ACAA;;AAEG;;;;"}
1
+ {"version":3,"file":"sambath999-localize-token.mjs","sources":["../../src/package/components/localize-token-login-dialog.component.ts","../../src/package/services/localize-token-dialog.service.ts","../../src/package/models/localize-token.module.ts","../../src/package/services/localize-token-configure.service.ts","../../src/package/public-api.ts","../../src/package/sambath999-localize-token.ts"],"sourcesContent":["import {\r\n ChangeDetectorRef,\r\n Component,\r\n Injector,\r\n OnDestroy,\r\n OnInit,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport { MessageService } from \"primeng/api\";\r\nimport { DynamicDialogConfig, DynamicDialogRef } from \"primeng/dynamicdialog\";\r\nimport { ILoginDialogConfig, ILoginDialogProperties } from \"../models/localize-token-models\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\nimport { JwtPayload, LocalizeApiLoginService, waitFor } from \"@sambath999/localize-api\";\r\n\r\n@Component({\r\n standalone: false,\r\n styles: [`\r\n #login-dlg-wrap {\r\n width: 100%;\r\n max-width: 400px;\r\n margin: 0 auto;\r\n padding: 30px;\r\n height: 100%;\r\n }\r\n \r\n .login-dlg-elm {\r\n margin-top: 1rem;\r\n }\r\n\r\n .login-dlg-elm.login-dlg-suggest {\r\n display: flex ;\r\n align-items: center;\r\n user-select: none;\r\n border-bottom: solid 1px #ddd;\r\n border-radius: 5px;\r\n padding: 5px 10px;\r\n background: #f9f9f9;\r\n box-shadow: 1px 5px 10px -12px #000;\r\n }\r\n \r\n #login-dlg-header {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n }\r\n \r\n #login-dlg-header h3 {\r\n font-weight: bold;\r\n font-size: 0.9rem;\r\n color: orange;\r\n text-align: center;\r\n }\r\n \r\n #login-logo {\r\n height: 55px;\r\n width: 55px;\r\n /* background: url(\"/assets/images/logo-300px.png\") no-repeat; */\r\n background-size: contain !important;\r\n }\r\n \r\n #login-dlg-content .p-inputgroup {\r\n height: 45px;\r\n }\r\n \r\n #login-dlg-content .p-inputgroup .p-inputgroup-addon {\r\n height: 45px;\r\n border-radius: 15px 0 0 15px;\r\n width: 50px;\r\n }\r\n #login-dlg-content *{\r\n font-size: .9rem;\r\n /* font-family: 'Lexend', 'Roboto', sans-serif, 'material-icons-round'; */\r\n }\r\n \r\n #login-dlg-content .p-inputgroup .p-inputgroup-addon * {\r\n font-size: 1rem;\r\n }\r\n \r\n #login-dlg-content .p-inputgroup input {\r\n height: 45px;\r\n border-radius: 0 15px 15px 0;\r\n }\r\n \r\n #login-dlg-content button {\r\n height: 45px;\r\n border-radius: 15px;\r\n }\r\n \r\n /*check animation block*/\r\n \r\n .check-animation-wrap {\r\n top: 0;\r\n left: 0;\r\n position: absolute;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n height: calc(100% - 200px);\r\n min-height: 400px;\r\n }\r\n \r\n .check-main-container {\r\n width: 100%;\r\n height: 100vh;\r\n display: flex;\r\n flex-flow: column;\r\n justify-content: center;\r\n align-items: center;\r\n }\r\n \r\n .check-container {\r\n width: 6.25rem;\r\n height: 7.5rem;\r\n display: flex;\r\n flex-flow: column;\r\n align-items: center;\r\n justify-content: space-between;\r\n }\r\n \r\n .check-container .check-background {\r\n width: 100%;\r\n height: calc(100% - 1.25rem);\r\n background: linear-gradient(to bottom right, #5de593, #41d67c);\r\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;\r\n transform: scale(0.84);\r\n border-radius: 50%;\r\n animation: animateContainer 0.75s ease-out forwards 0.75s;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n opacity: 0;\r\n }\r\n \r\n .check-container .check-background svg {\r\n width: 65%;\r\n transform: translateY(0.25rem);\r\n stroke-dasharray: 80;\r\n stroke-dashoffset: 80;\r\n animation: animateCheck 0.35s forwards 1.25s ease-out;\r\n min-width: auto !important;\r\n }\r\n \r\n .check-container .check-shadow {\r\n bottom: calc(-15% - 5px);\r\n left: 0;\r\n border-radius: 50%;\r\n background: radial-gradient(closest-side, rgba(73, 218, 131, 1), transparent);\r\n animation: animateShadow 0.75s ease-out forwards 0.75s;\r\n }\r\n \r\n @keyframes animateContainer {\r\n 0% {\r\n opacity: 0;\r\n transform: scale(0);\r\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;\r\n }\r\n \r\n 25% {\r\n opacity: 1;\r\n transform: scale(0.9);\r\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;\r\n }\r\n \r\n 43.75% {\r\n transform: scale(1.15);\r\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;\r\n }\r\n \r\n 62.5% {\r\n transform: scale(1);\r\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;\r\n }\r\n \r\n 81.25% {\r\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;\r\n }\r\n \r\n 100% {\r\n opacity: 1;\r\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;\r\n }\r\n }\r\n \r\n @keyframes animateCheck {\r\n from {\r\n stroke-dashoffset: 80;\r\n }\r\n \r\n to {\r\n stroke-dashoffset: 0;\r\n }\r\n }\r\n \r\n @keyframes animateShadow {\r\n 0% {\r\n opacity: 0;\r\n width: 100%;\r\n height: 15%;\r\n }\r\n \r\n 25% {\r\n opacity: 0.25;\r\n }\r\n \r\n 43.75% {\r\n width: 40%;\r\n height: 7%;\r\n opacity: 0.35;\r\n }\r\n \r\n 100% {\r\n width: 85%;\r\n height: 15%;\r\n opacity: 0.25;\r\n }\r\n }\r\n #login-dlg-wrap .loader-wrap {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n height:100%;\r\n width:100%;\r\n position: absolute;\r\n top: 0;\r\n left: 0;\r\n z-index: 100;\r\n background: #ffffff42;\r\n backdrop-filter: blur(1px);\r\n }\r\n\r\n #login-dlg-wrap .login-dlg-loader {\r\n border: 15px solid #e7e7e7;\r\n border-top: 15px solid #52dba1;\r\n border-radius: 50%;\r\n width: 100px;\r\n height: 100px;\r\n animation: spinloader 2s linear infinite;\r\n }\r\n\r\n #login-dlg-wrap .loader-wrap::before {\r\n content: \"\";\r\n position: absolute;\r\n width: 70px;\r\n height: 70px;\r\n transform: translate(-50%, -50%);\r\n z-index: 1;\r\n border: 15px solid #e7e7e700;\r\n border-top: 15px solid #52dba1c9;\r\n border-radius: 50%;\r\n animation: spinloader .75s linear infinite;\r\n }\r\n\r\n @keyframes spinloader {\r\n 0% { transform: rotate(0deg); }\r\n 100% { transform: rotate(360deg); }\r\n }\r\n `],\r\n template: `<p-toast [key]=\"messageKey\" position=\"top-center\"></p-toast>\r\n <div id=\"login-dlg-wrap\">\r\n <div id=\"login-dlg-header\">\r\n <div id=\"login-logo\" class=\"p-mb-2\" style=\"background: url('{{properties.logoImage}}') no-repeat\"></div>\r\n <h3 *ngIf=\"!success\" [innerHTML]=\"sanitizedTitle\"></h3>\r\n <h3 *ngIf=\"success\" style=\"color:green !important;\">{{properties.loginSuccessMessage}}</h3>\r\n </div>\r\n <div id=\"login-dlg-content\">\r\n <ng-container *ngIf=\"!success\">\r\n <div *ngIf=\"loading\" class=\"loader-wrap\">\r\n <div class=\"login-dlg-loader\"></div>\r\n </div>\r\n <div class=\"login-dlg-elm\">\r\n <p-inputgroup>\r\n <p-inputgroup-addon>\r\n <i class=\"material-icons-round\">person</i>\r\n </p-inputgroup-addon>\r\n <input disabled pInputText type=\"text\" placeholder=\"{{properties.username?.placeHolder}}\" [value]=\"decodeToken?.email\" />\r\n </p-inputgroup>\r\n </div>\r\n \r\n <div class=\"login-dlg-elm\">\r\n <p-inputgroup>\r\n <p-inputgroup-addon>\r\n <i class=\"material-icons-round\">lock</i>\r\n </p-inputgroup-addon>\r\n <input [disabled]=\"loading\" (keydown.enter)=\"clickLogin()\" pInputText type=\"password\" \r\n placeholder=\"{{properties.password?.placeHolder}}\" [(ngModel)]=\"password\"\r\n autofocus />\r\n </p-inputgroup>\r\n </div>\r\n <div class=\"login-dlg-elm\">\r\n <button style=\"width: 100%;\" pButton type=\"button\" label=\"{{properties.loginButton?.placeHolder}}\" (click)=\"clickLogin()\"\r\n [disabled]=\"!password || loading\"></button>\r\n </div>\r\n \r\n <div class=\"login-dlg-elm login-dlg-suggest\" style=\"display:flex;align-items: center;user-select: none;\">\r\n <span>{{properties.logoutButton?.message}}</span>\r\n <button class=\"p-button-text\" pButton type=\"button\" label=\"{{properties.logoutButton?.placeHolder}}\" \r\n (click)=\"clickLogout()\"></button>\r\n </div>\r\n </ng-container>\r\n \r\n <ng-container *ngIf=\"success\">\r\n <div style=\"margin-top:35px;\"></div>\r\n <div class=\"check-animation-wrap\">\r\n <div class=\"check-main-container\">\r\n <div class=\"check-container\">\r\n <div class=\"check-background\">\r\n <svg viewBox=\"0 0 65 51\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M7 25L27.3077 44L58.5 7\" stroke=\"white\" stroke-width=\"13\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"></path>\r\n </svg>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>`,\r\n selector: \"app-localize-logindlg\",\r\n providers: [MessageService],\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\nexport class LocalizeTokenLoginDialogComponent implements OnInit, OnDestroy {\r\n readonly messageKey = \"$localize-api-token-login-dlg\";\r\n password: any;\r\n readonly decodeToken: JwtPayload | null;\r\n get loading() { return this.loginService.isLoading; }\r\n get success() { return this.loginService.isSuccess; }\r\n get sanitizedTitle() { return this.sanitizer.bypassSecurityTrustHtml(this.properties.title ?? ''); }\r\n private readonly config: ILoginDialogConfig\r\n\r\n private readonly logout?: () => any\r\n readonly properties: ILoginDialogProperties;\r\n private readonly loginService: LocalizeApiLoginService;\r\n\r\n constructor(\r\n private readonly messageService: MessageService,\r\n private readonly cdt: ChangeDetectorRef,\r\n private readonly dlgRef: DynamicDialogRef,\r\n private readonly dlgConfig: DynamicDialogConfig,\r\n private readonly sanitizer: DomSanitizer,\r\n private readonly injector: Injector\r\n ) {\r\n this.config = this.dlgConfig.data.loginConfig;\r\n this.loginService = this.injector.get(LocalizeApiLoginService);\r\n this.properties = this.config.properties!;\r\n this.decodeToken = this.loginService.decodedToken;\r\n\r\n this.logout = this.config.logoutFunc;\r\n this.configure();\r\n }\r\n\r\n private configure() {\r\n this.dlgConfig.closable = false;\r\n this.dlgConfig.dismissableMask = false;\r\n this.dlgConfig.modal = true;\r\n\r\n this.loginService.configure({\r\n loginUrl: this.config.loginUrl,\r\n refreshTokenTtl: this.config.expire,\r\n onSuccess: this.onSuccess.bind(this),\r\n onFailure: this.showError.bind(this),\r\n onError: this.showError.bind(this),\r\n loginFunction: this.config.loginFunction?.bind(this),\r\n passwordResolver: () => this.password,\r\n passwordValidator: this.properties?.passwordValidator?.bind(this),\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.decodeToken) {\r\n this.showError(\"Invalid Token. Please login again.\");\r\n setTimeout(() => this.logout?.(), 2000);\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.cdt.detectChanges();\r\n }\r\n\r\n private async onSuccess() {\r\n await waitFor(2000);\r\n this.dlgRef.close(true);\r\n }\r\n\r\n async clickLogin() {\r\n await this.loginService.clickLogin();\r\n }\r\n\r\n clickLogout() {\r\n this.logout?.();\r\n }\r\n\r\n private showError(summary: string) {\r\n this.messageService.add({ key: this.messageKey, severity: \"error\", summary });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.loginService.unConfigure();\r\n }\r\n}\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport { DialogService, DynamicDialogConfig } from 'primeng/dynamicdialog';\r\nimport { LocalizeTokenLoginDialogComponent } from '../components/localize-token-login-dialog.component';\r\nimport { ILoginDialogConfig } from '../models/localize-token-models';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocalizeTokenDialogService {\r\n\r\n constructor(private readonly injector: Injector) { }\r\n\r\n async openLoginDialog(loginConfig: ILoginDialogConfig, config?: DynamicDialogConfig) {\r\n\r\n config = this.intercepDialogConfig(config);\r\n this.initConfig(loginConfig);\r\n\r\n config.data = { ...(config.data || {}), ...{ loginConfig } };\r\n\r\n const dialogService = this.injector.get(DialogService);\r\n const dialog = dialogService.open(LocalizeTokenLoginDialogComponent, config);\r\n\r\n await new Promise<void>((resolve) =>\r\n dialog.onClose.subscribe(res => {\r\n if (res) {\r\n resolve();\r\n }\r\n }));\r\n }\r\n\r\n private intercepDialogConfig(config?: DynamicDialogConfig) {\r\n config ??= {\r\n header: 'Login',\r\n style: { 'max-width': '400px', width: '100%', 'height': '650px' },\r\n modal: true,\r\n closable: false,\r\n showHeader: false,\r\n }\r\n\r\n config = {\r\n ...config, ...{\r\n contentStyle: { 'height': '100%', 'border-radius': '20px' }\r\n }\r\n }\r\n config.style = { ...config.style, ...{ 'border-radius': '20px' } };\r\n return config;\r\n }\r\n\r\n\r\n private initConfig(loginConfig: ILoginDialogConfig) {\r\n loginConfig ??= {}\r\n loginConfig.properties ??= {\r\n title: 'Your session is expired!<br/> Please login again to continue.',\r\n loginSuccessMessage: 'You have successfully logged in.',\r\n logoImage: '/assets/images/logo-300px.png',\r\n username: { placeHolder: 'Username' },\r\n password: { placeHolder: 'Password' },\r\n loginButton: { placeHolder: 'Login' },\r\n logoutButton: {\r\n message: 'No, I want to login with another user.',\r\n placeHolder: 'Logout'\r\n }\r\n }\r\n }\r\n}\r\n","import { CUSTOM_ELEMENTS_SCHEMA, NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { LocalizeTokenLoginDialogComponent } from \"../components/localize-token-login-dialog.component\";\r\nimport { ToastModule } from \"primeng/toast\";\r\nimport { InputTextModule } from \"primeng/inputtext\";\r\nimport { ButtonModule } from \"primeng/button\";\r\nimport { FormsModule } from '@angular/forms';\r\nimport { LocalizeTokenDialogService } from \"../services/localize-token-dialog.service\";\r\nimport { BrowserModule } from \"@angular/platform-browser\";\r\nimport { InputGroupModule } from \"primeng/inputgroup\";\r\nimport { InputGroupAddonModule } from \"primeng/inputgroupaddon\";\r\n\r\n@NgModule({\r\n declarations: [LocalizeTokenLoginDialogComponent],\r\n exports: [LocalizeTokenLoginDialogComponent],\r\n imports: [\r\n CommonModule,\r\n ToastModule,\r\n InputTextModule,\r\n BrowserModule,\r\n FormsModule,\r\n ButtonModule,\r\n InputGroupModule,\r\n InputGroupAddonModule\r\n ],\r\n providers: [LocalizeTokenDialogService],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n})\r\nexport class LocalizeTokenModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { LocalizeTokenDialogService } from './localize-token-dialog.service';\r\nimport { LocalizeApiService, LocalizeApiTokenService, ILocalizeTokenConfig, ILocalizeApiConfigs } from '@sambath999/localize-api';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocalizeTokenConfigureService {\r\n readonly api: LocalizeApiService;\r\n readonly token: LocalizeApiTokenService;\r\n readonly loginDialog: LocalizeTokenDialogService;\r\n\r\n constructor(tokenService: LocalizeApiTokenService,\r\n apiService: LocalizeApiService,\r\n loginDialogService: LocalizeTokenDialogService) {\r\n this.api = apiService;\r\n this.token = tokenService;\r\n this.loginDialog = loginDialogService;\r\n }\r\n\r\n initialize(tokenConfig: ILocalizeTokenConfig, apiConfig: ILocalizeApiConfigs) {\r\n // Initialize the LocalizeApiTokenService with the provided token configuration\r\n this.token.init(tokenConfig);\r\n\r\n // Initialize the LocalizeApiService with the provided API configuration\r\n this.api.init(apiConfig);\r\n\r\n console.log('LocalizeTokenConfigureService initialized with token and API configurations.');\r\n\r\n }\r\n}\r\n","//#region login dialog\r\nexport * from './components/localize-token-login-dialog.component';\r\nexport * from './models/localize-token.module';\r\nexport * from './services/localize-token-dialog.service';\r\n\r\n\r\n//#region localize api token\r\nexport * from './services/localize-token-configure.service';\r\nexport * from './models/localize-token.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.LocalizeTokenDialogService"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;MAoUa,iCAAiC,CAAA;AAczB,IAAA,cAAA;AACA,IAAA,GAAA;AACA,IAAA,MAAA;AACA,IAAA,SAAA;AACA,IAAA,SAAA;AACA,IAAA,QAAA;IAlBV,UAAU,GAAG,+BAA+B;AACrD,IAAA,QAAQ;AACC,IAAA,WAAW;IACpB,IAAI,OAAO,GAAK,EAAA,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;IACnD,IAAI,OAAO,GAAK,EAAA,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;AACnD,IAAA,IAAI,cAAc,GAAK,EAAA,OAAO,IAAI,CAAC,SAAS,CAAC,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;AACjF,IAAA,MAAM;AAEN,IAAA,MAAM;AACd,IAAA,UAAU;AACF,IAAA,YAAY;IAE7B,WACmB,CAAA,cAA8B,EAC9B,GAAsB,EACtB,MAAwB,EACxB,SAA8B,EAC9B,SAAuB,EACvB,QAAkB,EAAA;QALlB,IAAc,CAAA,cAAA,GAAd,cAAc;QACd,IAAG,CAAA,GAAA,GAAH,GAAG;QACH,IAAM,CAAA,MAAA,GAAN,MAAM;QACN,IAAS,CAAA,SAAA,GAAT,SAAS;QACT,IAAS,CAAA,SAAA,GAAT,SAAS;QACT,IAAQ,CAAA,QAAA,GAAR,QAAQ;QAEzB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW;QAC7C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,uBAAuB,CAAC;QAC9D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,UAAW;QACzC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY;QAEjD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU;QACpC,IAAI,CAAC,SAAS,EAAE;;IAGV,SAAS,GAAA;AACf,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,KAAK;AAC/B,QAAA,IAAI,CAAC,SAAS,CAAC,eAAe,GAAG,KAAK;AACtC,QAAA,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI;AAE3B,QAAA,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;AAC1B,YAAA,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ;AAC9B,YAAA,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YACnC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YACpC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YACpC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YAClC,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC;AACpD,YAAA,gBAAgB,EAAE,MAAM,IAAI,CAAC,QAAQ;YACrC,iBAAiB,EAAE,IAAI,CAAC,UAAU,EAAE,iBAAiB,EAAE,IAAI,CAAC,IAAI,CAAC;AAClE,SAAA,CAAC;;IAGJ,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;AACrB,YAAA,IAAI,CAAC,SAAS,CAAC,oCAAoC,CAAC;AACpD,YAAA,UAAU,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,EAAE,IAAI,CAAC;;;IAI3C,eAAe,GAAA;AACb,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;;AAGlB,IAAA,MAAM,SAAS,GAAA;AACrB,QAAA,MAAM,OAAO,CAAC,IAAI,CAAC;AACnB,QAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;;AAGzB,IAAA,MAAM,UAAU,GAAA;AACd,QAAA,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;;IAGtC,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,MAAM,IAAI;;AAGT,IAAA,SAAS,CAAC,OAAe,EAAA;AAC/B,QAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;;IAG/E,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;;uGA5EtB,iCAAiC,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,mBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAjC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iCAAiC,EAHjC,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,SAAA,EAAA,CAAC,cAAc,CAAC,EA7DjB,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DH,QAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,mkHAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,IAAA,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,YAAA,EAAA,YAAA,EAAA,MAAA,EAAA,OAAA,EAAA,YAAA,EAAA,UAAA,EAAA,uBAAA,EAAA,mBAAA,EAAA,sBAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,aAAA,CAAA,EAAA,OAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,OAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,qDAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,UAAA,EAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,EAAA,aAAA,EAAA,SAAA,EAAA,UAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,OAAA,EAAA,OAAA,EAAA,OAAA,EAAA,MAAA,EAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,UAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,GAAA,CAAA,eAAA,EAAA,QAAA,EAAA,uCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,YAAA,CAAA,EAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAKI,iCAAiC,EAAA,UAAA,EAAA,CAAA;kBAtT7C,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,UAAA,EAAA,KAAK,EAqPP,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA2DH,EACG,QAAA,EAAA,uBAAuB,aACtB,CAAC,cAAc,CAAC,EACZ,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,MAAA,EAAA,CAAA,mkHAAA,CAAA,EAAA;;;MC1T1B,0BAA0B,CAAA;AAER,IAAA,QAAA;AAA7B,IAAA,WAAA,CAA6B,QAAkB,EAAA;QAAlB,IAAQ,CAAA,QAAA,GAAR,QAAQ;;AAErC,IAAA,MAAM,eAAe,CAAC,WAA+B,EAAE,MAA4B,EAAA;AAEjF,QAAA,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC;AAC1C,QAAA,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;AAE5B,QAAA,MAAM,CAAC,IAAI,GAAG,EAAE,IAAI,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE;QAE5D,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,CAAC;QACtD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,iCAAiC,EAAE,MAAM,CAAC;AAE5E,QAAA,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,KAC9B,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,IAAG;YAC7B,IAAI,GAAG,EAAE;AACP,gBAAA,OAAO,EAAE;;SAEZ,CAAC,CAAC;;AAGC,IAAA,oBAAoB,CAAC,MAA4B,EAAA;AACvD,QAAA,MAAM,KAAK;AACT,YAAA,MAAM,EAAE,OAAO;AACf,YAAA,KAAK,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE;AACjE,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,QAAQ,EAAE,KAAK;AACf,YAAA,UAAU,EAAE,KAAK;SAClB;AAED,QAAA,MAAM,GAAG;YACP,GAAG,MAAM,EAAE,GAAG;gBACZ,YAAY,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM;AAC1D;SACF;AACD,QAAA,MAAM,CAAC,KAAK,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,EAAE;AAClE,QAAA,OAAO,MAAM;;AAIP,IAAA,UAAU,CAAC,WAA+B,EAAA;QAChD,WAAW,KAAK,EAAE;QAClB,WAAW,CAAC,UAAU,KAAK;AACzB,YAAA,KAAK,EAAE,+DAA+D;AACtE,YAAA,mBAAmB,EAAE,kCAAkC;AACvD,YAAA,SAAS,EAAE,+BAA+B;AAC1C,YAAA,QAAQ,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE;AACrC,YAAA,QAAQ,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE;AACrC,YAAA,WAAW,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE;AACrC,YAAA,YAAY,EAAE;AACZ,gBAAA,OAAO,EAAE,wCAAwC;AACjD,gBAAA,WAAW,EAAE;AACd;SACF;;uGAtDQ,0BAA0B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,QAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAA1B,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,cAFzB,MAAM,EAAA,CAAA;;2FAEP,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAHtC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;MCqBY,mBAAmB,CAAA;uGAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAAnB,mBAAmB,EAAA,YAAA,EAAA,CAff,iCAAiC,CAAA,EAAA,OAAA,EAAA,CAG9C,YAAY;YACZ,WAAW;YACX,eAAe;YACf,aAAa;YACb,WAAW;YACX,YAAY;YACZ,gBAAgB;AAChB,YAAA,qBAAqB,aATb,iCAAiC,CAAA,EAAA,CAAA;AAchC,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAHnB,SAAA,EAAA,CAAC,0BAA0B,CAAC,YATrC,YAAY;YACZ,WAAW;YACX,eAAe;YACf,aAAa;YACb,WAAW;YACX,YAAY;YACZ,gBAAgB;YAChB,qBAAqB,CAAA,EAAA,CAAA;;2FAKZ,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAhB/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,YAAY,EAAE,CAAC,iCAAiC,CAAC;oBACjD,OAAO,EAAE,CAAC,iCAAiC,CAAC;AAC5C,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,WAAW;wBACX,eAAe;wBACf,aAAa;wBACb,WAAW;wBACX,YAAY;wBACZ,gBAAgB;wBAChB;AACD,qBAAA;oBACD,SAAS,EAAE,CAAC,0BAA0B,CAAC;oBACvC,OAAO,EAAE,CAAC,sBAAsB,CAAC;AAClC,iBAAA;;;MCpBY,6BAA6B,CAAA;AAC/B,IAAA,GAAG;AACH,IAAA,KAAK;AACL,IAAA,WAAW;AAEpB,IAAA,WAAA,CAAY,YAAqC,EAC/C,UAA8B,EAC9B,kBAA8C,EAAA;AAC9C,QAAA,IAAI,CAAC,GAAG,GAAG,UAAU;AACrB,QAAA,IAAI,CAAC,KAAK,GAAG,YAAY;AACzB,QAAA,IAAI,CAAC,WAAW,GAAG,kBAAkB;;IAGvC,UAAU,CAAC,WAAiC,EAAE,SAA8B,EAAA;;AAE1E,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;;AAG5B,QAAA,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;AAExB,QAAA,OAAO,CAAC,GAAG,CAAC,8EAA8E,CAAC;;uGApBlF,6BAA6B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,uBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,0BAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA;AAA7B,IAAA,OAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,6BAA6B,cAF5B,MAAM,EAAA,CAAA;;2FAEP,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBAHzC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE;AACb,iBAAA;;;ACND;;ACAA;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sambath999/localize-token",
3
- "version": "19.1.10",
3
+ "version": "19.1.11",
4
4
  "description": "localize token client app",
5
5
  "type": "module",
6
6
  "repository": {
@@ -26,7 +26,7 @@
26
26
  "primeflex": "3.1.3",
27
27
  "primeng": "19.0.5",
28
28
  "rxjs": "7.8.1",
29
- "@sambath999/localize-api": "1.0.5",
29
+ "@sambath999/localize-api": "1.0.7",
30
30
  "tslib": "^2.3.0"
31
31
  },
32
32
  "module": "fesm2022/sambath999-localize-token.mjs",