@progalaxyelabs/ngx-stonescriptphp-client 1.1.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/{dist/esm/api-connection.service.js → fesm2022/progalaxyelabs-ngx-stonescriptphp-client.mjs} +274 -20
  2. package/fesm2022/progalaxyelabs-ngx-stonescriptphp-client.mjs.map +1 -0
  3. package/index.d.ts +184 -0
  4. package/package.json +14 -31
  5. package/HLD.md +0 -31
  6. package/dist/api-connection.service.d.ts +0 -35
  7. package/dist/api-connection.service.d.ts.map +0 -1
  8. package/dist/api-connection.service.js +0 -314
  9. package/dist/api-connection.service.js.map +0 -1
  10. package/dist/api-response.model.d.ts +0 -16
  11. package/dist/api-response.model.d.ts.map +0 -1
  12. package/dist/api-response.model.js +0 -51
  13. package/dist/api-response.model.js.map +0 -1
  14. package/dist/auth.service.d.ts +0 -4
  15. package/dist/auth.service.d.ts.map +0 -1
  16. package/dist/auth.service.js +0 -16
  17. package/dist/auth.service.js.map +0 -1
  18. package/dist/csrf.service.d.ts +0 -22
  19. package/dist/csrf.service.d.ts.map +0 -1
  20. package/dist/csrf.service.js +0 -47
  21. package/dist/csrf.service.js.map +0 -1
  22. package/dist/db.service.d.ts +0 -4
  23. package/dist/db.service.d.ts.map +0 -1
  24. package/dist/db.service.js +0 -16
  25. package/dist/db.service.js.map +0 -1
  26. package/dist/esm/api-connection.service.js.map +0 -1
  27. package/dist/esm/api-response.model.js +0 -47
  28. package/dist/esm/api-response.model.js.map +0 -1
  29. package/dist/esm/auth.service.js +0 -13
  30. package/dist/esm/auth.service.js.map +0 -1
  31. package/dist/esm/csrf.service.js +0 -44
  32. package/dist/esm/csrf.service.js.map +0 -1
  33. package/dist/esm/db.service.js +0 -13
  34. package/dist/esm/db.service.js.map +0 -1
  35. package/dist/esm/index.js +0 -13
  36. package/dist/esm/index.js.map +0 -1
  37. package/dist/esm/my-environment.model.js +0 -29
  38. package/dist/esm/my-environment.model.js.map +0 -1
  39. package/dist/esm/ngx-stonescriptphp-client.module.js +0 -25
  40. package/dist/esm/ngx-stonescriptphp-client.module.js.map +0 -1
  41. package/dist/esm/signin-status.service.js +0 -23
  42. package/dist/esm/signin-status.service.js.map +0 -1
  43. package/dist/esm/token.service.js +0 -61
  44. package/dist/esm/token.service.js.map +0 -1
  45. package/dist/index.d.ts +0 -10
  46. package/dist/index.d.ts.map +0 -1
  47. package/dist/index.js +0 -16
  48. package/dist/index.js.map +0 -1
  49. package/dist/my-environment.model.d.ts +0 -61
  50. package/dist/my-environment.model.d.ts.map +0 -1
  51. package/dist/my-environment.model.js +0 -33
  52. package/dist/my-environment.model.js.map +0 -1
  53. package/dist/ngx-stonescriptphp-client.module.d.ts +0 -6
  54. package/dist/ngx-stonescriptphp-client.module.d.ts.map +0 -1
  55. package/dist/ngx-stonescriptphp-client.module.js +0 -28
  56. package/dist/ngx-stonescriptphp-client.module.js.map +0 -1
  57. package/dist/signin-status.service.d.ts +0 -8
  58. package/dist/signin-status.service.d.ts.map +0 -1
  59. package/dist/signin-status.service.js +0 -26
  60. package/dist/signin-status.service.js.map +0 -1
  61. package/dist/token.service.d.ts +0 -14
  62. package/dist/token.service.d.ts.map +0 -1
  63. package/dist/token.service.js +0 -64
  64. package/dist/token.service.js.map +0 -1
  65. package/docs/AUTH_COMPATIBILITY.md +0 -310
  66. package/docs/CHANGELOG.md +0 -261
@@ -1,47 +0,0 @@
1
- export class ApiResponse {
2
- status;
3
- data;
4
- message;
5
- constructor(status, data = {}, message = '') {
6
- this.status = status;
7
- this.data = data;
8
- this.message = message;
9
- }
10
- onOk(callback) {
11
- if (this.status === 'ok') {
12
- callback(this.data);
13
- }
14
- return this;
15
- }
16
- onNotOk(callback) {
17
- if (this.status === 'not ok') {
18
- callback(this.message, this.data);
19
- }
20
- return this;
21
- }
22
- onError(callback) {
23
- if (this.status === 'error') {
24
- callback();
25
- }
26
- return this;
27
- }
28
- isSuccess() {
29
- return this.status === 'ok';
30
- }
31
- isError() {
32
- return this.status === 'error' || this.status === 'not ok';
33
- }
34
- getData() {
35
- return this.data || null;
36
- }
37
- getError() {
38
- return this.message || 'Unknown error';
39
- }
40
- getStatus() {
41
- return this.status;
42
- }
43
- getMessage() {
44
- return this.message;
45
- }
46
- }
47
- //# sourceMappingURL=api-response.model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-response.model.js","sourceRoot":"","sources":["../../src/api-response.model.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAW;IACZ,MAAM,CAAQ;IACd,IAAI,CAAK;IACT,OAAO,CAAQ;IAEvB,YAAY,MAAc,EAAE,OAAY,EAAE,EAAE,UAAkB,EAAE;QAC5D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;IAED,IAAI,CAAC,QAAkC;QACnC,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,OAAO,CAAC,QAAmD;QACvD,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC3B,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QACrC,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,OAAO,CAAC,QAAoB;QACxB,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YAC1B,QAAQ,EAAE,CAAA;QACd,CAAC;QACD,OAAO,IAAI,CAAA;IACf,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,CAAA;IAC/B,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAA;IAC9D,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAA;IAC5B,CAAC;IAED,QAAQ;QACJ,OAAO,IAAI,CAAC,OAAO,IAAI,eAAe,CAAA;IAC1C,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,MAAM,CAAA;IACtB,CAAC;IAED,UAAU;QACN,OAAO,IAAI,CAAC,OAAO,CAAA;IACvB,CAAC;CACJ"}
@@ -1,13 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Injectable } from '@angular/core';
3
- let AuthService = class AuthService {
4
- constructor() { }
5
- };
6
- AuthService = __decorate([
7
- Injectable({
8
- providedIn: 'root'
9
- }),
10
- __metadata("design:paramtypes", [])
11
- ], AuthService);
12
- export { AuthService };
13
- //# sourceMappingURL=auth.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auth.service.js","sourceRoot":"","sources":["../../src/auth.service.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAKpC,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEtB,gBAAgB,CAAC;CAClB,CAAA;AAHY,WAAW;IAHvB,UAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;;GACW,WAAW,CAGvB"}
@@ -1,44 +0,0 @@
1
- import { __decorate } from "tslib";
2
- import { Injectable } from '@angular/core';
3
- /**
4
- * CSRF Token Service
5
- *
6
- * Manages CSRF tokens for cookie-based authentication.
7
- * Reads CSRF token from cookies and provides it for request headers.
8
- */
9
- let CsrfService = class CsrfService {
10
- /**
11
- * Get CSRF token from cookie
12
- */
13
- getCsrfToken(cookieName = 'csrf_token') {
14
- const cookies = document.cookie.split(';');
15
- for (const cookie of cookies) {
16
- const [name, value] = cookie.trim().split('=');
17
- if (name === cookieName) {
18
- return decodeURIComponent(value);
19
- }
20
- }
21
- return null;
22
- }
23
- /**
24
- * Check if CSRF token exists
25
- */
26
- hasCsrfToken(cookieName = 'csrf_token') {
27
- return this.getCsrfToken(cookieName) !== null;
28
- }
29
- /**
30
- * Clear CSRF token (for logout)
31
- * Note: Client-side deletion is limited for httpOnly cookies
32
- */
33
- clearCsrfToken(cookieName = 'csrf_token') {
34
- // Can only clear non-httpOnly cookies
35
- document.cookie = `${cookieName}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`;
36
- }
37
- };
38
- CsrfService = __decorate([
39
- Injectable({
40
- providedIn: 'root'
41
- })
42
- ], CsrfService);
43
- export { CsrfService };
44
- //# sourceMappingURL=csrf.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"csrf.service.js","sourceRoot":"","sources":["../../src/csrf.service.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C;;;;;GAKG;AAII,IAAM,WAAW,GAAjB,MAAM,WAAW;IAEpB;;OAEG;IACH,YAAY,CAAC,aAAqB,YAAY;QAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/C,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;gBACtB,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,aAAqB,YAAY;QAC1C,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,cAAc,CAAC,aAAqB,YAAY;QAC5C,sCAAsC;QACtC,QAAQ,CAAC,MAAM,GAAG,GAAG,UAAU,mDAAmD,CAAC;IACvF,CAAC;CACJ,CAAA;AA/BY,WAAW;IAHvB,UAAU,CAAC;QACR,UAAU,EAAE,MAAM;KACrB,CAAC;GACW,WAAW,CA+BvB"}
@@ -1,13 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Injectable } from '@angular/core';
3
- let DbService = class DbService {
4
- constructor() { }
5
- };
6
- DbService = __decorate([
7
- Injectable({
8
- providedIn: 'root'
9
- }),
10
- __metadata("design:paramtypes", [])
11
- ], DbService);
12
- export { DbService };
13
- //# sourceMappingURL=db.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"db.service.js","sourceRoot":"","sources":["../../src/db.service.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAKpC,IAAM,SAAS,GAAf,MAAM,SAAS;IAEpB,gBAAgB,CAAC;CAClB,CAAA;AAHY,SAAS;IAHrB,UAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;;GACW,SAAS,CAGrB"}
package/dist/esm/index.js DELETED
@@ -1,13 +0,0 @@
1
- /*
2
- * Public API Surface of ngx-stonescriptphp-client
3
- */
4
- export * from './api-connection.service';
5
- export * from './auth.service';
6
- export * from './db.service';
7
- export * from './signin-status.service';
8
- export * from './token.service';
9
- export * from './csrf.service';
10
- export * from './api-response.model';
11
- export * from './my-environment.model';
12
- export * from './ngx-stonescriptphp-client.module';
13
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oCAAoC,CAAC"}
@@ -1,29 +0,0 @@
1
- export class MyEnvironmentModel {
2
- production = true;
3
- firebase = {
4
- projectId: '',
5
- appId: '',
6
- databaseURL: '',
7
- storageBucket: '',
8
- locationId: '',
9
- apiKey: '',
10
- authDomain: '',
11
- messagingSenderId: '',
12
- measurementId: ''
13
- };
14
- apiServer = { host: '' };
15
- chatServer = { host: '' };
16
- /**
17
- * Authentication configuration
18
- * @default { mode: 'cookie', refreshEndpoint: '/auth/refresh', useCsrf: true }
19
- */
20
- auth = {
21
- mode: 'cookie',
22
- refreshEndpoint: '/auth/refresh',
23
- useCsrf: true,
24
- refreshTokenCookieName: 'refresh_token',
25
- csrfTokenCookieName: 'csrf_token',
26
- csrfHeaderName: 'X-CSRF-Token'
27
- };
28
- }
29
- //# sourceMappingURL=my-environment.model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"my-environment.model.js","sourceRoot":"","sources":["../../src/my-environment.model.ts"],"names":[],"mappings":"AA0CA,MAAM,OAAO,kBAAkB;IAC3B,UAAU,GAAY,IAAI,CAAA;IAC1B,QAAQ,GAUJ;QACI,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,EAAE;QACT,WAAW,EAAE,EAAE;QACf,aAAa,EAAE,EAAE;QACjB,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,EAAE;QACd,iBAAiB,EAAE,EAAE;QACrB,aAAa,EAAE,EAAE;KACpB,CAAA;IACL,SAAS,GAEL,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;IAChB,UAAU,GAEN,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;IAEhB;;;OAGG;IACH,IAAI,GAAgB;QAChB,IAAI,EAAE,QAAQ;QACd,eAAe,EAAE,eAAe;QAChC,OAAO,EAAE,IAAI;QACb,sBAAsB,EAAE,eAAe;QACvC,mBAAmB,EAAE,YAAY;QACjC,cAAc,EAAE,cAAc;KACjC,CAAC;CACL"}
@@ -1,25 +0,0 @@
1
- var NgxStoneScriptPhpClientModule_1;
2
- import { __decorate } from "tslib";
3
- import { NgModule } from '@angular/core';
4
- import { CommonModule } from '@angular/common';
5
- import { MyEnvironmentModel } from './my-environment.model';
6
- let NgxStoneScriptPhpClientModule = NgxStoneScriptPhpClientModule_1 = class NgxStoneScriptPhpClientModule {
7
- static forRoot(environment) {
8
- return {
9
- ngModule: NgxStoneScriptPhpClientModule_1,
10
- providers: [
11
- { provide: MyEnvironmentModel, useValue: environment }
12
- ]
13
- };
14
- }
15
- };
16
- NgxStoneScriptPhpClientModule = NgxStoneScriptPhpClientModule_1 = __decorate([
17
- NgModule({
18
- declarations: [],
19
- imports: [
20
- CommonModule
21
- ]
22
- })
23
- ], NgxStoneScriptPhpClientModule);
24
- export { NgxStoneScriptPhpClientModule };
25
- //# sourceMappingURL=ngx-stonescriptphp-client.module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ngx-stonescriptphp-client.module.js","sourceRoot":"","sources":["../../src/ngx-stonescriptphp-client.module.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAuB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAUrD,IAAM,6BAA6B,qCAAnC,MAAM,6BAA6B;IAC/B,MAAM,CAAC,OAAO,CAAC,WAA+B;QACjD,OAAO;YACH,QAAQ,EAAE,+BAA6B;YACvC,SAAS,EAAE;gBACP,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE;aACzD;SACJ,CAAA;IACL,CAAC;CACJ,CAAA;AATY,6BAA6B;IANzC,QAAQ,CAAC;QACN,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE;YACL,YAAY;SACf;KACJ,CAAC;GACW,6BAA6B,CASzC"}
@@ -1,23 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Injectable } from '@angular/core';
3
- import { BehaviorSubject } from 'rxjs';
4
- let SigninStatusService = class SigninStatusService {
5
- status;
6
- constructor() {
7
- this.status = new BehaviorSubject(false);
8
- }
9
- signedOut() {
10
- this.status.next(false);
11
- }
12
- signedIn() {
13
- this.status.next(true);
14
- }
15
- };
16
- SigninStatusService = __decorate([
17
- Injectable({
18
- providedIn: 'root'
19
- }),
20
- __metadata("design:paramtypes", [])
21
- ], SigninStatusService);
22
- export { SigninStatusService };
23
- //# sourceMappingURL=signin-status.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signin-status.service.js","sourceRoot":"","sources":["../../src/signin-status.service.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAKhC,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IACrB,MAAM,CAA0B;IAEvC;QACI,IAAI,CAAC,MAAM,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAA;IACrD,CAAC;IAED,SAAS;QACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;CACJ,CAAA;AAdY,mBAAmB;IAH/B,UAAU,CAAC;QACR,UAAU,EAAE,MAAM;KACrB,CAAC;;GACW,mBAAmB,CAc/B"}
@@ -1,61 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Injectable } from '@angular/core';
3
- let TokenService = class TokenService {
4
- accessToken = '';
5
- refreshToken = '';
6
- lsAccessTokenKey = 'progalaxyapi_access_token';
7
- lsRefreshTokenKey = 'progalaxyapi_refresh_token';
8
- constructor() { }
9
- setTokens(accessToken, refreshToken) {
10
- this.accessToken = accessToken;
11
- this.refreshToken = refreshToken;
12
- localStorage.setItem(this.lsAccessTokenKey, accessToken);
13
- localStorage.setItem(this.lsRefreshTokenKey, refreshToken);
14
- }
15
- setAccessToken(accessToken) {
16
- this.accessToken = accessToken;
17
- localStorage.setItem(this.lsAccessTokenKey, accessToken);
18
- }
19
- setRefreshToken(refreshToken) {
20
- this.refreshToken = refreshToken;
21
- localStorage.setItem(this.lsRefreshTokenKey, refreshToken);
22
- }
23
- getAccessToken() {
24
- if (this.accessToken) {
25
- return this.accessToken;
26
- }
27
- const storedAccessToken = localStorage.getItem(this.lsAccessTokenKey);
28
- if (storedAccessToken) {
29
- return storedAccessToken;
30
- }
31
- else {
32
- return '';
33
- }
34
- }
35
- getRefreshToken() {
36
- if (this.refreshToken) {
37
- return this.refreshToken;
38
- }
39
- const storedRefreshToken = localStorage.getItem(this.lsRefreshTokenKey);
40
- if (storedRefreshToken) {
41
- return storedRefreshToken;
42
- }
43
- else {
44
- return '';
45
- }
46
- }
47
- clear() {
48
- this.accessToken = '';
49
- this.refreshToken = '';
50
- localStorage.removeItem(this.lsAccessTokenKey);
51
- localStorage.removeItem(this.lsRefreshTokenKey);
52
- }
53
- };
54
- TokenService = __decorate([
55
- Injectable({
56
- providedIn: 'root'
57
- }),
58
- __metadata("design:paramtypes", [])
59
- ], TokenService);
60
- export { TokenService };
61
- //# sourceMappingURL=token.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token.service.js","sourceRoot":"","sources":["../../src/token.service.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAKpC,IAAM,YAAY,GAAlB,MAAM,YAAY;IACb,WAAW,GAAG,EAAE,CAAA;IAChB,YAAY,GAAG,EAAE,CAAA;IAEjB,gBAAgB,GAAG,2BAA2B,CAAA;IAC9C,iBAAiB,GAAG,4BAA4B,CAAA;IAExD,gBAAgB,CAAC;IAEjB,SAAS,CAAC,WAAmB,EAAE,YAAoB;QAC/C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAA;QACxD,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAA;IAC9D,CAAC;IAED,cAAc,CAAC,WAAmB;QAC9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAA;IAC5D,CAAC;IAED,eAAe,CAAC,YAAoB;QAChC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAA;IAC9D,CAAC;IAED,cAAc;QACV,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,WAAW,CAAA;QAC3B,CAAC;QAED,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACrE,IAAI,iBAAiB,EAAE,CAAC;YACpB,OAAO,iBAAiB,CAAA;QAC5B,CAAC;aAAM,CAAC;YACJ,OAAO,EAAE,CAAA;QACb,CAAC;IACL,CAAC;IAED,eAAe;QACX,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,YAAY,CAAA;QAC5B,CAAC;QAED,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QACvE,IAAI,kBAAkB,EAAE,CAAC;YACrB,OAAO,kBAAkB,CAAA;QAC7B,CAAC;aAAM,CAAC;YACJ,OAAO,EAAE,CAAA;QACb,CAAC;IACL,CAAC;IAED,KAAK;QACD,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;QACrB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAA;QACtB,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC9C,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IACnD,CAAC;CACJ,CAAA;AA1DY,YAAY;IAHxB,UAAU,CAAC;QACR,UAAU,EAAE,MAAM;KACrB,CAAC;;GACW,YAAY,CA0DxB"}
package/dist/index.d.ts DELETED
@@ -1,10 +0,0 @@
1
- export * from './api-connection.service';
2
- export * from './auth.service';
3
- export * from './db.service';
4
- export * from './signin-status.service';
5
- export * from './token.service';
6
- export * from './csrf.service';
7
- export * from './api-response.model';
8
- export * from './my-environment.model';
9
- export * from './ngx-stonescriptphp-client.module';
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,0BAA0B,CAAC;AACzC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oCAAoC,CAAC"}
package/dist/index.js DELETED
@@ -1,16 +0,0 @@
1
- "use strict";
2
- /*
3
- * Public API Surface of ngx-stonescriptphp-client
4
- */
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const tslib_1 = require("tslib");
7
- tslib_1.__exportStar(require("./api-connection.service"), exports);
8
- tslib_1.__exportStar(require("./auth.service"), exports);
9
- tslib_1.__exportStar(require("./db.service"), exports);
10
- tslib_1.__exportStar(require("./signin-status.service"), exports);
11
- tslib_1.__exportStar(require("./token.service"), exports);
12
- tslib_1.__exportStar(require("./csrf.service"), exports);
13
- tslib_1.__exportStar(require("./api-response.model"), exports);
14
- tslib_1.__exportStar(require("./my-environment.model"), exports);
15
- tslib_1.__exportStar(require("./ngx-stonescriptphp-client.module"), exports);
16
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,mEAAyC;AACzC,yDAA+B;AAC/B,uDAA6B;AAC7B,kEAAwC;AACxC,0DAAgC;AAChC,yDAA+B;AAC/B,+DAAqC;AACrC,iEAAuC;AACvC,6EAAmD"}
@@ -1,61 +0,0 @@
1
- export type AuthMode = 'cookie' | 'body' | 'none';
2
- export interface AuthConfig {
3
- /**
4
- * Authentication mode:
5
- * - 'cookie': Use httpOnly cookies + CSRF tokens (recommended, matches StoneScriptPHP v2.1.x)
6
- * - 'body': Send tokens in request body (legacy mode)
7
- * - 'none': No automatic token refresh
8
- */
9
- mode: AuthMode;
10
- /**
11
- * Token refresh endpoint path
12
- * @default '/auth/refresh' for cookie mode, '/user/refresh_access' for body mode
13
- */
14
- refreshEndpoint?: string;
15
- /**
16
- * Enable CSRF token support (required for cookie mode)
17
- * @default true for cookie mode, false for body mode
18
- */
19
- useCsrf?: boolean;
20
- /**
21
- * Cookie name for refresh token
22
- * @default 'refresh_token'
23
- */
24
- refreshTokenCookieName?: string;
25
- /**
26
- * Cookie name for CSRF token
27
- * @default 'csrf_token'
28
- */
29
- csrfTokenCookieName?: string;
30
- /**
31
- * CSRF header name
32
- * @default 'X-CSRF-Token'
33
- */
34
- csrfHeaderName?: string;
35
- }
36
- export declare class MyEnvironmentModel {
37
- production: boolean;
38
- firebase: {
39
- projectId: string;
40
- appId: string;
41
- databaseURL: string;
42
- storageBucket: string;
43
- locationId: string;
44
- apiKey: string;
45
- authDomain: string;
46
- messagingSenderId: string;
47
- measurementId: string;
48
- };
49
- apiServer: {
50
- host: string;
51
- };
52
- chatServer: {
53
- host: string;
54
- };
55
- /**
56
- * Authentication configuration
57
- * @default { mode: 'cookie', refreshEndpoint: '/auth/refresh', useCsrf: true }
58
- */
59
- auth?: AuthConfig;
60
- }
61
- //# sourceMappingURL=my-environment.model.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"my-environment.model.d.ts","sourceRoot":"","sources":["../src/my-environment.model.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAAC;AAElD,MAAM,WAAW,UAAU;IACvB;;;;;OAKG;IACH,IAAI,EAAE,QAAQ,CAAC;IAEf;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,kBAAkB;IAC3B,UAAU,EAAE,OAAO,CAAO;IAC1B,QAAQ,EAAE;QACN,SAAS,EAAE,MAAM,CAAA;QACjB,KAAK,EAAE,MAAM,CAAA;QACb,WAAW,EAAE,MAAM,CAAA;QACnB,aAAa,EAAE,MAAM,CAAA;QACrB,UAAU,EAAE,MAAM,CAAA;QAClB,MAAM,EAAE,MAAM,CAAA;QACd,UAAU,EAAE,MAAM,CAAA;QAClB,iBAAiB,EAAE,MAAM,CAAA;QACzB,aAAa,EAAE,MAAM,CAAA;KACxB,CAUI;IACL,SAAS,EAAE;QACP,IAAI,EAAE,MAAM,CAAA;KACf,CAAe;IAChB,UAAU,EAAE;QACR,IAAI,EAAE,MAAM,CAAA;KACf,CAAe;IAEhB;;;OAGG;IACH,IAAI,CAAC,EAAE,UAAU,CAOf;CACL"}
@@ -1,33 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MyEnvironmentModel = void 0;
4
- class MyEnvironmentModel {
5
- production = true;
6
- firebase = {
7
- projectId: '',
8
- appId: '',
9
- databaseURL: '',
10
- storageBucket: '',
11
- locationId: '',
12
- apiKey: '',
13
- authDomain: '',
14
- messagingSenderId: '',
15
- measurementId: ''
16
- };
17
- apiServer = { host: '' };
18
- chatServer = { host: '' };
19
- /**
20
- * Authentication configuration
21
- * @default { mode: 'cookie', refreshEndpoint: '/auth/refresh', useCsrf: true }
22
- */
23
- auth = {
24
- mode: 'cookie',
25
- refreshEndpoint: '/auth/refresh',
26
- useCsrf: true,
27
- refreshTokenCookieName: 'refresh_token',
28
- csrfTokenCookieName: 'csrf_token',
29
- csrfHeaderName: 'X-CSRF-Token'
30
- };
31
- }
32
- exports.MyEnvironmentModel = MyEnvironmentModel;
33
- //# sourceMappingURL=my-environment.model.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"my-environment.model.js","sourceRoot":"","sources":["../src/my-environment.model.ts"],"names":[],"mappings":";;;AA0CA,MAAa,kBAAkB;IAC3B,UAAU,GAAY,IAAI,CAAA;IAC1B,QAAQ,GAUJ;QACI,SAAS,EAAE,EAAE;QACb,KAAK,EAAE,EAAE;QACT,WAAW,EAAE,EAAE;QACf,aAAa,EAAE,EAAE;QACjB,UAAU,EAAE,EAAE;QACd,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,EAAE;QACd,iBAAiB,EAAE,EAAE;QACrB,aAAa,EAAE,EAAE;KACpB,CAAA;IACL,SAAS,GAEL,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;IAChB,UAAU,GAEN,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;IAEhB;;;OAGG;IACH,IAAI,GAAgB;QAChB,IAAI,EAAE,QAAQ;QACd,eAAe,EAAE,eAAe;QAChC,OAAO,EAAE,IAAI;QACb,sBAAsB,EAAE,eAAe;QACvC,mBAAmB,EAAE,YAAY;QACjC,cAAc,EAAE,cAAc;KACjC,CAAC;CACL;AA1CD,gDA0CC"}
@@ -1,6 +0,0 @@
1
- import { ModuleWithProviders } from '@angular/core';
2
- import { MyEnvironmentModel } from './my-environment.model';
3
- export declare class NgxStoneScriptPhpClientModule {
4
- static forRoot(environment: MyEnvironmentModel): ModuleWithProviders<NgxStoneScriptPhpClientModule>;
5
- }
6
- //# sourceMappingURL=ngx-stonescriptphp-client.module.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ngx-stonescriptphp-client.module.d.ts","sourceRoot":"","sources":["../src/ngx-stonescriptphp-client.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAY,MAAM,eAAe,CAAC;AAE9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAI5D,qBAMa,6BAA6B;WACxB,OAAO,CAAC,WAAW,EAAE,kBAAkB,GAAG,mBAAmB,CAAC,6BAA6B,CAAC;CAQ7G"}
@@ -1,28 +0,0 @@
1
- "use strict";
2
- var NgxStoneScriptPhpClientModule_1;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.NgxStoneScriptPhpClientModule = void 0;
5
- const tslib_1 = require("tslib");
6
- const core_1 = require("@angular/core");
7
- const common_1 = require("@angular/common");
8
- const my_environment_model_1 = require("./my-environment.model");
9
- let NgxStoneScriptPhpClientModule = NgxStoneScriptPhpClientModule_1 = class NgxStoneScriptPhpClientModule {
10
- static forRoot(environment) {
11
- return {
12
- ngModule: NgxStoneScriptPhpClientModule_1,
13
- providers: [
14
- { provide: my_environment_model_1.MyEnvironmentModel, useValue: environment }
15
- ]
16
- };
17
- }
18
- };
19
- exports.NgxStoneScriptPhpClientModule = NgxStoneScriptPhpClientModule;
20
- exports.NgxStoneScriptPhpClientModule = NgxStoneScriptPhpClientModule = NgxStoneScriptPhpClientModule_1 = tslib_1.__decorate([
21
- (0, core_1.NgModule)({
22
- declarations: [],
23
- imports: [
24
- common_1.CommonModule
25
- ]
26
- })
27
- ], NgxStoneScriptPhpClientModule);
28
- //# sourceMappingURL=ngx-stonescriptphp-client.module.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ngx-stonescriptphp-client.module.js","sourceRoot":"","sources":["../src/ngx-stonescriptphp-client.module.ts"],"names":[],"mappings":";;;;;AAAA,wCAA8D;AAC9D,4CAA+C;AAC/C,iEAA4D;AAUrD,IAAM,6BAA6B,qCAAnC,MAAM,6BAA6B;IAC/B,MAAM,CAAC,OAAO,CAAC,WAA+B;QACjD,OAAO;YACH,QAAQ,EAAE,+BAA6B;YACvC,SAAS,EAAE;gBACP,EAAE,OAAO,EAAE,yCAAkB,EAAE,QAAQ,EAAE,WAAW,EAAE;aACzD;SACJ,CAAA;IACL,CAAC;CACJ,CAAA;AATY,sEAA6B;wCAA7B,6BAA6B;IANzC,IAAA,eAAQ,EAAC;QACN,YAAY,EAAE,EAAE;QAChB,OAAO,EAAE;YACL,qBAAY;SACf;KACJ,CAAC;GACW,6BAA6B,CASzC"}
@@ -1,8 +0,0 @@
1
- import { BehaviorSubject } from 'rxjs';
2
- export declare class SigninStatusService {
3
- status: BehaviorSubject<boolean>;
4
- constructor();
5
- signedOut(): void;
6
- signedIn(): void;
7
- }
8
- //# sourceMappingURL=signin-status.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signin-status.service.d.ts","sourceRoot":"","sources":["../src/signin-status.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAEvC,qBAGa,mBAAmB;IACrB,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,CAAA;;IAMvC,SAAS,IAAI,IAAI;IAIjB,QAAQ,IAAI,IAAI;CAGnB"}
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SigninStatusService = void 0;
4
- const tslib_1 = require("tslib");
5
- const core_1 = require("@angular/core");
6
- const rxjs_1 = require("rxjs");
7
- let SigninStatusService = class SigninStatusService {
8
- status;
9
- constructor() {
10
- this.status = new rxjs_1.BehaviorSubject(false);
11
- }
12
- signedOut() {
13
- this.status.next(false);
14
- }
15
- signedIn() {
16
- this.status.next(true);
17
- }
18
- };
19
- exports.SigninStatusService = SigninStatusService;
20
- exports.SigninStatusService = SigninStatusService = tslib_1.__decorate([
21
- (0, core_1.Injectable)({
22
- providedIn: 'root'
23
- }),
24
- tslib_1.__metadata("design:paramtypes", [])
25
- ], SigninStatusService);
26
- //# sourceMappingURL=signin-status.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"signin-status.service.js","sourceRoot":"","sources":["../src/signin-status.service.ts"],"names":[],"mappings":";;;;AAAA,wCAA2C;AAC3C,+BAAuC;AAKhC,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IACrB,MAAM,CAA0B;IAEvC;QACI,IAAI,CAAC,MAAM,GAAG,IAAI,sBAAe,CAAU,KAAK,CAAC,CAAA;IACrD,CAAC;IAED,SAAS;QACL,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC3B,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;CACJ,CAAA;AAdY,kDAAmB;8BAAnB,mBAAmB;IAH/B,IAAA,iBAAU,EAAC;QACR,UAAU,EAAE,MAAM;KACrB,CAAC;;GACW,mBAAmB,CAc/B"}
@@ -1,14 +0,0 @@
1
- export declare class TokenService {
2
- private accessToken;
3
- private refreshToken;
4
- private lsAccessTokenKey;
5
- private lsRefreshTokenKey;
6
- constructor();
7
- setTokens(accessToken: string, refreshToken: string): void;
8
- setAccessToken(accessToken: string): void;
9
- setRefreshToken(refreshToken: string): void;
10
- getAccessToken(): string;
11
- getRefreshToken(): string;
12
- clear(): void;
13
- }
14
- //# sourceMappingURL=token.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token.service.d.ts","sourceRoot":"","sources":["../src/token.service.ts"],"names":[],"mappings":"AAEA,qBAGa,YAAY;IACrB,OAAO,CAAC,WAAW,CAAK;IACxB,OAAO,CAAC,YAAY,CAAK;IAEzB,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,iBAAiB,CAA+B;;IAIxD,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM;IAOnD,cAAc,CAAC,WAAW,EAAE,MAAM;IAKlC,eAAe,CAAC,YAAY,EAAE,MAAM;IAKpC,cAAc;IAad,eAAe;IAaf,KAAK;CAMR"}
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TokenService = void 0;
4
- const tslib_1 = require("tslib");
5
- const core_1 = require("@angular/core");
6
- let TokenService = class TokenService {
7
- accessToken = '';
8
- refreshToken = '';
9
- lsAccessTokenKey = 'progalaxyapi_access_token';
10
- lsRefreshTokenKey = 'progalaxyapi_refresh_token';
11
- constructor() { }
12
- setTokens(accessToken, refreshToken) {
13
- this.accessToken = accessToken;
14
- this.refreshToken = refreshToken;
15
- localStorage.setItem(this.lsAccessTokenKey, accessToken);
16
- localStorage.setItem(this.lsRefreshTokenKey, refreshToken);
17
- }
18
- setAccessToken(accessToken) {
19
- this.accessToken = accessToken;
20
- localStorage.setItem(this.lsAccessTokenKey, accessToken);
21
- }
22
- setRefreshToken(refreshToken) {
23
- this.refreshToken = refreshToken;
24
- localStorage.setItem(this.lsRefreshTokenKey, refreshToken);
25
- }
26
- getAccessToken() {
27
- if (this.accessToken) {
28
- return this.accessToken;
29
- }
30
- const storedAccessToken = localStorage.getItem(this.lsAccessTokenKey);
31
- if (storedAccessToken) {
32
- return storedAccessToken;
33
- }
34
- else {
35
- return '';
36
- }
37
- }
38
- getRefreshToken() {
39
- if (this.refreshToken) {
40
- return this.refreshToken;
41
- }
42
- const storedRefreshToken = localStorage.getItem(this.lsRefreshTokenKey);
43
- if (storedRefreshToken) {
44
- return storedRefreshToken;
45
- }
46
- else {
47
- return '';
48
- }
49
- }
50
- clear() {
51
- this.accessToken = '';
52
- this.refreshToken = '';
53
- localStorage.removeItem(this.lsAccessTokenKey);
54
- localStorage.removeItem(this.lsRefreshTokenKey);
55
- }
56
- };
57
- exports.TokenService = TokenService;
58
- exports.TokenService = TokenService = tslib_1.__decorate([
59
- (0, core_1.Injectable)({
60
- providedIn: 'root'
61
- }),
62
- tslib_1.__metadata("design:paramtypes", [])
63
- ], TokenService);
64
- //# sourceMappingURL=token.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"token.service.js","sourceRoot":"","sources":["../src/token.service.ts"],"names":[],"mappings":";;;;AAAA,wCAA2C;AAKpC,IAAM,YAAY,GAAlB,MAAM,YAAY;IACb,WAAW,GAAG,EAAE,CAAA;IAChB,YAAY,GAAG,EAAE,CAAA;IAEjB,gBAAgB,GAAG,2BAA2B,CAAA;IAC9C,iBAAiB,GAAG,4BAA4B,CAAA;IAExD,gBAAgB,CAAC;IAEjB,SAAS,CAAC,WAAmB,EAAE,YAAoB;QAC/C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAA;QACxD,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAA;IAC9D,CAAC;IAED,cAAc,CAAC,WAAmB;QAC9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAA;QAC9B,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAA;IAC5D,CAAC;IAED,eAAe,CAAC,YAAoB;QAChC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAA;IAC9D,CAAC;IAED,cAAc;QACV,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO,IAAI,CAAC,WAAW,CAAA;QAC3B,CAAC;QAED,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QACrE,IAAI,iBAAiB,EAAE,CAAC;YACpB,OAAO,iBAAiB,CAAA;QAC5B,CAAC;aAAM,CAAC;YACJ,OAAO,EAAE,CAAA;QACb,CAAC;IACL,CAAC;IAED,eAAe;QACX,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,YAAY,CAAA;QAC5B,CAAC;QAED,MAAM,kBAAkB,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;QACvE,IAAI,kBAAkB,EAAE,CAAC;YACrB,OAAO,kBAAkB,CAAA;QAC7B,CAAC;aAAM,CAAC;YACJ,OAAO,EAAE,CAAA;QACb,CAAC;IACL,CAAC;IAED,KAAK;QACD,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;QACrB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAA;QACtB,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC9C,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IACnD,CAAC;CACJ,CAAA;AA1DY,oCAAY;uBAAZ,YAAY;IAHxB,IAAA,iBAAU,EAAC;QACR,UAAU,EAAE,MAAM;KACrB,CAAC;;GACW,YAAY,CA0DxB"}