@acorex/core 7.1.52 → 7.2.1

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 (178) hide show
  1. package/README.md +3 -20
  2. package/config/README.md +3 -0
  3. package/config/index.d.ts +2 -5
  4. package/config/lib/configs.service.d.ts +5 -0
  5. package/dateTime/README.md +3 -0
  6. package/dateTime/index.d.ts +5 -5
  7. package/dateTime/{src → lib}/jalali.calendar.d.ts +1 -1
  8. package/esm2022/acorex-core.mjs +2 -2
  9. package/esm2022/config/acorex-core-config.mjs +2 -2
  10. package/esm2022/config/index.mjs +3 -0
  11. package/esm2022/config/lib/configs.mjs +24 -0
  12. package/esm2022/config/lib/configs.service.mjs +11 -0
  13. package/esm2022/dateTime/acorex-core-dateTime.mjs +2 -2
  14. package/esm2022/dateTime/index.mjs +6 -0
  15. package/esm2022/dateTime/lib/datetime.class.mjs +288 -0
  16. package/esm2022/dateTime/lib/datetime.module.mjs +39 -0
  17. package/esm2022/dateTime/lib/datetime.pipe.mjs +26 -0
  18. package/esm2022/dateTime/lib/georgian.calendar.mjs +189 -0
  19. package/esm2022/dateTime/lib/jalali.calendar.mjs +355 -0
  20. package/esm2022/events/acorex-core-events.mjs +2 -2
  21. package/esm2022/events/index.mjs +2 -0
  22. package/esm2022/events/lib/event.service.mjs +36 -0
  23. package/esm2022/file/acorex-core-file.mjs +2 -2
  24. package/esm2022/file/index.mjs +5 -0
  25. package/esm2022/file/lib/file-download-ref.class.mjs +12 -0
  26. package/esm2022/file/lib/file-download-result.class.mjs +46 -0
  27. package/esm2022/file/lib/file-upload-ref.class.mjs +12 -0
  28. package/esm2022/file/lib/file.service.mjs +102 -0
  29. package/esm2022/http/acorex-core-http.mjs +2 -2
  30. package/esm2022/http/index.mjs +7 -0
  31. package/esm2022/http/lib/http-error.class.mjs +2 -0
  32. package/esm2022/http/lib/http-events.interceptor.mjs +3 -0
  33. package/esm2022/http/lib/http-request.class.mjs +2 -0
  34. package/esm2022/http/lib/http-result.class.mjs +21 -0
  35. package/esm2022/http/lib/http.module.mjs +29 -0
  36. package/esm2022/http/lib/http.service.mjs +148 -0
  37. package/esm2022/image/acorex-core-image.mjs +2 -2
  38. package/esm2022/image/index.mjs +2 -0
  39. package/esm2022/image/lib/image.service.mjs +43 -0
  40. package/esm2022/index.mjs +2 -0
  41. package/esm2022/pipes/acorex-core-pipes.mjs +2 -2
  42. package/esm2022/pipes/index.mjs +3 -0
  43. package/esm2022/pipes/lib/pipes.module.mjs +19 -0
  44. package/esm2022/pipes/lib/safe.pipe.mjs +31 -0
  45. package/esm2022/platform/acorex-core-platform.mjs +2 -2
  46. package/esm2022/platform/index.mjs +2 -0
  47. package/esm2022/platform/lib/platform.service.mjs +155 -0
  48. package/esm2022/translation/acorex-core-translation.mjs +2 -2
  49. package/esm2022/translation/index.mjs +4 -0
  50. package/esm2022/translation/lib/translation.module.mjs +18 -0
  51. package/esm2022/translation/lib/translator.mjs +43 -0
  52. package/esm2022/translation/lib/translator.pipe.mjs +15 -0
  53. package/esm2022/utils/acorex-core-utils.mjs +2 -2
  54. package/esm2022/utils/index.mjs +6 -0
  55. package/esm2022/utils/lib/color-util.mjs +115 -0
  56. package/esm2022/utils/lib/drawing-util.mjs +29 -0
  57. package/esm2022/utils/lib/html-util.mjs +16 -0
  58. package/esm2022/utils/lib/object-util.mjs +39 -0
  59. package/esm2022/utils/lib/string-util.mjs +19 -0
  60. package/events/README.md +3 -0
  61. package/events/index.d.ts +1 -5
  62. package/fesm2022/acorex-core-config.mjs +14 -3
  63. package/fesm2022/acorex-core-config.mjs.map +1 -1
  64. package/fesm2022/acorex-core-dateTime.mjs +171 -178
  65. package/fesm2022/acorex-core-dateTime.mjs.map +1 -1
  66. package/fesm2022/acorex-core-events.mjs +6 -4
  67. package/fesm2022/acorex-core-events.mjs.map +1 -1
  68. package/fesm2022/acorex-core-file.mjs +19 -23
  69. package/fesm2022/acorex-core-file.mjs.map +1 -1
  70. package/fesm2022/acorex-core-http.mjs +10 -17
  71. package/fesm2022/acorex-core-http.mjs.map +1 -1
  72. package/fesm2022/acorex-core-image.mjs +3 -3
  73. package/fesm2022/acorex-core-image.mjs.map +1 -1
  74. package/fesm2022/acorex-core-pipes.mjs +8 -9
  75. package/fesm2022/acorex-core-pipes.mjs.map +1 -1
  76. package/fesm2022/acorex-core-platform.mjs +6 -8
  77. package/fesm2022/acorex-core-platform.mjs.map +1 -1
  78. package/fesm2022/acorex-core-translation.mjs +13 -13
  79. package/fesm2022/acorex-core-translation.mjs.map +1 -1
  80. package/fesm2022/acorex-core-utils.mjs +87 -87
  81. package/fesm2022/acorex-core-utils.mjs.map +1 -1
  82. package/fesm2022/acorex-core.mjs +1 -6
  83. package/fesm2022/acorex-core.mjs.map +1 -1
  84. package/file/README.md +3 -0
  85. package/file/index.d.ts +4 -5
  86. package/http/README.md +3 -0
  87. package/http/index.d.ts +6 -5
  88. package/image/README.md +3 -0
  89. package/image/index.d.ts +1 -5
  90. package/index.d.ts +2 -5
  91. package/package.json +13 -11
  92. package/pipes/README.md +3 -0
  93. package/pipes/index.d.ts +2 -5
  94. package/platform/README.md +3 -0
  95. package/platform/index.d.ts +1 -5
  96. package/translation/README.md +3 -0
  97. package/translation/index.d.ts +3 -5
  98. package/utils/README.md +3 -0
  99. package/utils/index.d.ts +5 -5
  100. package/config/public-api.d.ts +0 -1
  101. package/dateTime/public-api.d.ts +0 -5
  102. package/esm2022/config/public-api.mjs +0 -2
  103. package/esm2022/config/src/configs.mjs +0 -25
  104. package/esm2022/dateTime/public-api.mjs +0 -6
  105. package/esm2022/dateTime/src/datetime.class.mjs +0 -295
  106. package/esm2022/dateTime/src/datetime.module.mjs +0 -40
  107. package/esm2022/dateTime/src/datetime.pipe.mjs +0 -27
  108. package/esm2022/dateTime/src/georgian.calendar.mjs +0 -187
  109. package/esm2022/dateTime/src/jalali.calendar.mjs +0 -357
  110. package/esm2022/events/public-api.mjs +0 -2
  111. package/esm2022/events/src/event.service.mjs +0 -35
  112. package/esm2022/file/public-api.mjs +0 -5
  113. package/esm2022/file/src/file-download-ref.class.mjs +0 -13
  114. package/esm2022/file/src/file-download-result.class.mjs +0 -47
  115. package/esm2022/file/src/file-upload-ref.class.mjs +0 -13
  116. package/esm2022/file/src/file.service.mjs +0 -103
  117. package/esm2022/http/public-api.mjs +0 -6
  118. package/esm2022/http/src/http-error.class.mjs +0 -2
  119. package/esm2022/http/src/http-events.interceptor.mjs +0 -3
  120. package/esm2022/http/src/http-request.class.mjs +0 -2
  121. package/esm2022/http/src/http-result.class.mjs +0 -25
  122. package/esm2022/http/src/http.module.mjs +0 -30
  123. package/esm2022/http/src/http.service.mjs +0 -152
  124. package/esm2022/image/public-api.mjs +0 -2
  125. package/esm2022/image/src/image.service.mjs +0 -44
  126. package/esm2022/pipes/public-api.mjs +0 -3
  127. package/esm2022/pipes/src/pipes.module.mjs +0 -20
  128. package/esm2022/pipes/src/safe.pipe.mjs +0 -32
  129. package/esm2022/platform/public-api.mjs +0 -2
  130. package/esm2022/platform/src/platform.service.mjs +0 -158
  131. package/esm2022/public-api.mjs +0 -5
  132. package/esm2022/translation/public-api.mjs +0 -4
  133. package/esm2022/translation/src/translation.module.mjs +0 -19
  134. package/esm2022/translation/src/translator.mjs +0 -44
  135. package/esm2022/translation/src/translator.pipe.mjs +0 -16
  136. package/esm2022/utils/public-api.mjs +0 -6
  137. package/esm2022/utils/src/color-util.mjs +0 -115
  138. package/esm2022/utils/src/drawing-util.mjs +0 -29
  139. package/esm2022/utils/src/html-util.mjs +0 -16
  140. package/esm2022/utils/src/object-util.mjs +0 -39
  141. package/esm2022/utils/src/string-util.mjs +0 -19
  142. package/events/public-api.d.ts +0 -1
  143. package/file/public-api.d.ts +0 -4
  144. package/http/public-api.d.ts +0 -5
  145. package/image/public-api.d.ts +0 -1
  146. package/pipes/public-api.d.ts +0 -2
  147. package/platform/public-api.d.ts +0 -1
  148. package/public-api.d.ts +0 -1
  149. package/translation/public-api.d.ts +0 -3
  150. package/utils/public-api.d.ts +0 -5
  151. /package/config/{src → lib}/configs.d.ts +0 -0
  152. /package/dateTime/{src → lib}/datetime.class.d.ts +0 -0
  153. /package/dateTime/{src → lib}/datetime.module.d.ts +0 -0
  154. /package/dateTime/{src → lib}/datetime.pipe.d.ts +0 -0
  155. /package/dateTime/{src → lib}/georgian.calendar.d.ts +0 -0
  156. /package/events/{src → lib}/event.service.d.ts +0 -0
  157. /package/file/{src → lib}/file-download-ref.class.d.ts +0 -0
  158. /package/file/{src → lib}/file-download-result.class.d.ts +0 -0
  159. /package/file/{src → lib}/file-upload-ref.class.d.ts +0 -0
  160. /package/file/{src → lib}/file.service.d.ts +0 -0
  161. /package/http/{src → lib}/http-error.class.d.ts +0 -0
  162. /package/http/{src → lib}/http-events.interceptor.d.ts +0 -0
  163. /package/http/{src → lib}/http-request.class.d.ts +0 -0
  164. /package/http/{src → lib}/http-result.class.d.ts +0 -0
  165. /package/http/{src → lib}/http.module.d.ts +0 -0
  166. /package/http/{src → lib}/http.service.d.ts +0 -0
  167. /package/image/{src → lib}/image.service.d.ts +0 -0
  168. /package/pipes/{src → lib}/pipes.module.d.ts +0 -0
  169. /package/pipes/{src → lib}/safe.pipe.d.ts +0 -0
  170. /package/platform/{src → lib}/platform.service.d.ts +0 -0
  171. /package/translation/{src → lib}/translation.module.d.ts +0 -0
  172. /package/translation/{src → lib}/translator.d.ts +0 -0
  173. /package/translation/{src → lib}/translator.pipe.d.ts +0 -0
  174. /package/utils/{src → lib}/color-util.d.ts +0 -0
  175. /package/utils/{src → lib}/drawing-util.d.ts +0 -0
  176. /package/utils/{src → lib}/html-util.d.ts +0 -0
  177. /package/utils/{src → lib}/object-util.d.ts +0 -0
  178. /package/utils/{src → lib}/string-util.d.ts +0 -0
@@ -0,0 +1,19 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { AXSafePipe } from './safe.pipe';
4
+ import * as i0 from "@angular/core";
5
+ export class AXPipesModule {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
7
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.4", ngImport: i0, type: AXPipesModule, declarations: [AXSafePipe], imports: [CommonModule], exports: [AXSafePipe] }); }
8
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXPipesModule, imports: [CommonModule] }); }
9
+ }
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXPipesModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [AXSafePipe],
14
+ imports: [CommonModule],
15
+ exports: [AXSafePipe],
16
+ providers: [],
17
+ }]
18
+ }] });
19
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3BpcGVzL3NyYy9saWIvcGlwZXMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBUXpDLE1BQU0sT0FBTyxhQUFhOzhHQUFiLGFBQWE7K0dBQWIsYUFBYSxpQkFMVCxVQUFVLGFBQ2YsWUFBWSxhQUNaLFVBQVU7K0dBR1QsYUFBYSxZQUpkLFlBQVk7OzJGQUlYLGFBQWE7a0JBTnpCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsVUFBVSxDQUFDO29CQUMxQixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7b0JBQ3ZCLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQztvQkFDckIsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEFYU2FmZVBpcGUgfSBmcm9tICcuL3NhZmUucGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0FYU2FmZVBpcGVdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZXhwb3J0czogW0FYU2FmZVBpcGVdLFxuICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBpcGVzTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,31 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { DomSanitizer } from '@angular/platform-browser';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/platform-browser";
5
+ export class AXSafePipe {
6
+ constructor(sanitizer) {
7
+ this.sanitizer = sanitizer;
8
+ }
9
+ transform(value, type) {
10
+ if (value == null || value == undefined || value == '')
11
+ return '';
12
+ switch (type) {
13
+ case 'html': return this.sanitizer.bypassSecurityTrustHtml(value);
14
+ case 'style': return this.sanitizer.bypassSecurityTrustStyle(value);
15
+ case 'script': return this.sanitizer.bypassSecurityTrustScript(value);
16
+ case 'url': return this.sanitizer.bypassSecurityTrustUrl(value);
17
+ case 'resourceUrl': return this.sanitizer.bypassSecurityTrustResourceUrl(value);
18
+ default: throw new Error(`Invalid safe type specified: ${type}`);
19
+ }
20
+ }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXSafePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
22
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.4", ngImport: i0, type: AXSafePipe, name: "safe" }); }
23
+ }
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXSafePipe, decorators: [{
25
+ type: Pipe,
26
+ args: [{
27
+ name: 'safe',
28
+ pure: true
29
+ }]
30
+ }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3BpcGVzL3NyYy9saWIvc2FmZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQTZELE1BQU0sMkJBQTJCLENBQUM7OztBQU1wSCxNQUFNLE9BQU8sVUFBVTtJQUV0QixZQUFzQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO0lBQUksQ0FBQztJQUUzQyxTQUFTLENBQUMsS0FBVSxFQUFFLElBQVk7UUFDeEMsSUFBSSxLQUFLLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxTQUFTLElBQUksS0FBSyxJQUFJLEVBQUU7WUFDckQsT0FBTyxFQUFFLENBQUM7UUFDWCxRQUFRLElBQUksRUFBRTtZQUNiLEtBQUssTUFBTSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xFLEtBQUssT0FBTyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BFLEtBQUssUUFBUSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RFLEtBQUssS0FBSyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hFLEtBQUssYUFBYSxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLDhCQUE4QixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hGLE9BQU8sQ0FBQyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQWdDLElBQUksRUFBRSxDQUFDLENBQUM7U0FDakU7SUFDRixDQUFDOzhHQWZXLFVBQVU7NEdBQVYsVUFBVTs7MkZBQVYsVUFBVTtrQkFKdEIsSUFBSTttQkFBQztvQkFDTCxJQUFJLEVBQUUsTUFBTTtvQkFDWixJQUFJLEVBQUUsSUFBSTtpQkFDViIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwsIFNhZmVTdHlsZSwgU2FmZVNjcmlwdCwgU2FmZVVybCwgU2FmZVJlc291cmNlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5cbkBQaXBlKHtcblx0bmFtZTogJ3NhZmUnLFxuXHRwdXJlOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEFYU2FmZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcblxuXHRjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHsgfVxuXG5cdHB1YmxpYyB0cmFuc2Zvcm0odmFsdWU6IGFueSwgdHlwZTogc3RyaW5nKTogU2FmZUh0bWwgfCBTYWZlU3R5bGUgfCBTYWZlU2NyaXB0IHwgU2FmZVVybCB8IFNhZmVSZXNvdXJjZVVybCB7XG5cdFx0aWYgKHZhbHVlID09IG51bGwgfHwgdmFsdWUgPT0gdW5kZWZpbmVkIHx8IHZhbHVlID09ICcnKVxuXHRcdFx0cmV0dXJuICcnO1xuXHRcdHN3aXRjaCAodHlwZSkge1xuXHRcdFx0Y2FzZSAnaHRtbCc6IHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh2YWx1ZSk7XG5cdFx0XHRjYXNlICdzdHlsZSc6IHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0U3R5bGUodmFsdWUpO1xuXHRcdFx0Y2FzZSAnc2NyaXB0JzogcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RTY3JpcHQodmFsdWUpO1xuXHRcdFx0Y2FzZSAndXJsJzogcmV0dXJuIHRoaXMuc2FuaXRpemVyLmJ5cGFzc1NlY3VyaXR5VHJ1c3RVcmwodmFsdWUpO1xuXHRcdFx0Y2FzZSAncmVzb3VyY2VVcmwnOiByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdFJlc291cmNlVXJsKHZhbHVlKTtcblx0XHRcdGRlZmF1bHQ6IHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBzYWZlIHR5cGUgc3BlY2lmaWVkOiAke3R5cGV9YCk7XG5cdFx0fVxuXHR9XG59Il19
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUtcGxhdGZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS9wbGF0Zm9ybS9hY29yZXgtY29yZS1wbGF0Zm9ybS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUtcGxhdGZvcm0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvcGxhdGZvcm0vc3JjL2Fjb3JleC1jb3JlLXBsYXRmb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export * from './lib/platform.service';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvcGxhdGZvcm0vc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYi9wbGF0Zm9ybS5zZXJ2aWNlJztcbiJdfQ==
@@ -0,0 +1,155 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { fromEvent, Subject } from 'rxjs';
3
+ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ const isChrome = (win) => testUserAgent(win, /Chrome/i);
6
+ const isFirefox = (win) => testUserAgent(win, /Firefox/i);
7
+ const isEdge = (win) => testUserAgent(win, /Edge/i);
8
+ const isSafari = (win) => testUserAgent(win, /Safari/i);
9
+ const isOpera = (win) => testUserAgent(win, /Opera/i) || testUserAgent(win, /OPR/i);
10
+ const isMSIE = (win) => testUserAgent(win, /MSIE/i) || testUserAgent(win, /Trident/i);
11
+ const isMobileWeb = (win) => isMobile(win) && !isHybrid(win);
12
+ const isIpad = (win) => {
13
+ // iOS 12 and below
14
+ if (testUserAgent(win, /iPad/i)) {
15
+ return true;
16
+ }
17
+ // iOS 13+
18
+ if (testUserAgent(win, /Macintosh/i) && isMobile(win)) {
19
+ return true;
20
+ }
21
+ return false;
22
+ };
23
+ const isIphone = (win) => testUserAgent(win, /iPhone/i);
24
+ const isIOS = (win) => testUserAgent(win, /iPhone|iPod/i) || isIpad(win);
25
+ const isAndroid = (win) => testUserAgent(win, /android|sink/i);
26
+ const isAndroidTablet = (win) => {
27
+ return isAndroid(win) && !testUserAgent(win, /mobile/i);
28
+ };
29
+ const isPhablet = (win) => {
30
+ const width = win.innerWidth;
31
+ const height = win.innerHeight;
32
+ const smallest = Math.min(width, height);
33
+ const largest = Math.max(width, height);
34
+ return smallest > 390 && smallest < 520 && largest > 620 && largest < 800;
35
+ };
36
+ const isTablet = (win) => {
37
+ const width = win.innerWidth;
38
+ const height = win.innerHeight;
39
+ const smallest = Math.min(width, height);
40
+ const largest = Math.max(width, height);
41
+ return isIpad(win) || isAndroidTablet(win) || (smallest > 460 && smallest < 820 && largest > 780 && largest < 1400);
42
+ };
43
+ const isMobile = (win) => matchMedia(win, '(any-pointer:coarse)');
44
+ const isTouch = (win) => matchMedia(win, '(any-pointer:coarse)');
45
+ const isDesktop = (win) => !isMobile(win);
46
+ const isHybrid = (win) => isCordova(win) || isCapacitorNative(win);
47
+ const isCordova = (win) => !!(win['cordova'] || win['phonegap'] || win['PhoneGap']);
48
+ const isCapacitorNative = (win) => {
49
+ const capacitor = win['Capacitor'];
50
+ return !!(capacitor && capacitor.isNative);
51
+ };
52
+ const isElectron = (win) => testUserAgent(win, /electron/i);
53
+ const isPWA = (win) => !!(win.matchMedia('(display-mode: standalone)').matches || win.navigator.standalone);
54
+ export const testUserAgent = (win, expr) => expr.test(win.navigator.userAgent);
55
+ export const isBrowser = new Function('try {return this===window;}catch(e){ return false;}');
56
+ export const isServer = new Function('try {return this===global;}catch(e){return false;}');
57
+ const matchMedia = (win, query) => {
58
+ if (isBrowser())
59
+ return win.matchMedia(query).matches;
60
+ return false;
61
+ };
62
+ const isSMScreen = (win) => matchMedia(win, '(max-width: 640px)');
63
+ const isMDScreen = (win) => matchMedia(win, '(max-width: 768px)');
64
+ const isLGScreen = (win) => matchMedia(win, '(max-width: 1024px)');
65
+ const isXLScreen = (win) => matchMedia(win, '(max-width: 1280px)');
66
+ const is2XLScreen = (win) => matchMedia(win, '(max-width: 1536px)');
67
+ const PLATFORMS_MAP = {
68
+ Android: isAndroid,
69
+ iOS: isIOS,
70
+ Desktop: isDesktop,
71
+ Mobile: isMobile,
72
+ Touch: isTouch,
73
+ Chrome: isChrome,
74
+ Firefox: isFirefox,
75
+ Safari: isSafari,
76
+ Edge: isEdge,
77
+ Opera: isOpera,
78
+ Hybrid: isHybrid,
79
+ PWA: isPWA,
80
+ Electron: isElectron,
81
+ SM: isSMScreen,
82
+ MD: isMDScreen,
83
+ LG: isLGScreen,
84
+ XL: isXLScreen,
85
+ '2XL': is2XLScreen,
86
+ };
87
+ export class AXPlatformEvent {
88
+ }
89
+ export class AXPlatform {
90
+ isRtl() {
91
+ return document.dir == 'rtl' || document.body.dir == 'rtl' || document.body.style.direction == 'rtl';
92
+ }
93
+ isLandscape() {
94
+ return window.innerHeight < window.innerWidth;
95
+ }
96
+ isPortrate() {
97
+ return !this.isLandscape();
98
+ }
99
+ is(name) {
100
+ return PLATFORMS_MAP[name](window) || false;
101
+ }
102
+ switchDarkMode() {
103
+ const _html = document.getElementsByTagName('html')[0];
104
+ _html.classList.add('ax-dark');
105
+ }
106
+ switchLightMode() {
107
+ const _html = document.getElementsByTagName('html')[0];
108
+ _html.classList.remove('ax-dark');
109
+ }
110
+ _setFullHeightRatio() {
111
+ try {
112
+ document.querySelector(':root')?.style.setProperty('--ax-vh', window.innerHeight / 100 + 'px');
113
+ }
114
+ catch (error) { }
115
+ }
116
+ constructor() {
117
+ this.resize = new Subject();
118
+ this.click = new Subject();
119
+ this.scroll = new Subject();
120
+ fromEvent(window, 'resize')
121
+ .pipe(debounceTime(100))
122
+ .pipe(distinctUntilChanged())
123
+ .subscribe(e => {
124
+ this.resize.next({
125
+ nativeEvent: e,
126
+ source: this,
127
+ });
128
+ //
129
+ this._setFullHeightRatio();
130
+ });
131
+ document.addEventListener('click', e => {
132
+ this.click.next({
133
+ nativeEvent: e,
134
+ source: this,
135
+ });
136
+ }, true);
137
+ document.addEventListener('scroll', e => {
138
+ this.scroll.next({
139
+ nativeEvent: e,
140
+ source: this,
141
+ });
142
+ }, true);
143
+ // init functions
144
+ this._setFullHeightRatio();
145
+ }
146
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXPlatform, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
147
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXPlatform, providedIn: 'root' }); }
148
+ }
149
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXPlatform, decorators: [{
150
+ type: Injectable,
151
+ args: [{
152
+ providedIn: 'root',
153
+ }]
154
+ }], ctorParameters: function () { return []; } });
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhdGZvcm0uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9wbGF0Zm9ybS9zcmMvbGliL3BsYXRmb3JtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBUXBFLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBVyxFQUFXLEVBQUUsQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBRXpFLE1BQU0sU0FBUyxHQUFHLENBQUMsR0FBVyxFQUFXLEVBQUUsQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBRTNFLE1BQU0sTUFBTSxHQUFHLENBQUMsR0FBVyxFQUFXLEVBQUUsQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBRXJFLE1BQU0sUUFBUSxHQUFHLENBQUMsR0FBVyxFQUFXLEVBQUUsQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBRXpFLE1BQU0sT0FBTyxHQUFHLENBQUMsR0FBVyxFQUFXLEVBQUUsQ0FBQyxhQUFhLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFFckcsTUFBTSxNQUFNLEdBQUcsQ0FBQyxHQUFXLEVBQVcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLElBQUksYUFBYSxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUV2RyxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQVcsRUFBVyxF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TUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmcm9tRXZlbnQsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCB0eXBlIEFYUGxhdGZvcm1zID0gJ0FuZHJvaWQnIHwgJ0Rlc2t0b3AnIHwgJ2lPUycgfCAnTW9iaWxlJztcbmV4cG9ydCB0eXBlIEFYQnJvd3NlcnMgPSAnQ2hyb21lJyB8ICdTYWZhcmknIHwgJ0VkZ2UnIHwgJ0ZpcmVmb3gnIHwgJ09wZXJhJyB8ICdNU0lFJztcbmV4cG9ydCB0eXBlIEFYVGVjaG5vbG9naWVzID0gJ1BXQScgfCAnSHlicmlkJyB8ICdFbGVjdHJvbic7XG5cbmV4cG9ydCB0eXBlIEFYU2NyZWVuU2l6ZXMgPSAnU00nIHwgJ01EJyB8ICdMRycgfCAnWEwnIHwgJzJYTCc7XG5cbmNvbnN0IGlzQ2hyb21lID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PiB0ZXN0VXNlckFnZW50KHdpbiwgL0Nocm9tZS9pKTtcblxuY29uc3QgaXNGaXJlZm94ID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PiB0ZXN0VXNlckFnZW50KHdpbiwgL0ZpcmVmb3gvaSk7XG5cbmNvbnN0IGlzRWRnZSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT4gdGVzdFVzZXJBZ2VudCh3aW4sIC9FZGdlL2kpO1xuXG5jb25zdCBpc1NhZmFyaSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT4gdGVzdFVzZXJBZ2VudCh3aW4sIC9TYWZhcmkvaSk7XG5cbmNvbnN0IGlzT3BlcmEgPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+IHRlc3RVc2VyQWdlbnQod2luLCAvT3BlcmEvaSkgfHwgdGVzdFVzZXJBZ2VudCh3aW4sIC9PUFIvaSk7XG5cbmNvbnN0IGlzTVNJRSA9ICh3aW46IFdpbmRvdyk6IGJvb2xlYW4gPT4gdGVzdFVzZXJBZ2VudCh3aW4sIC9NU0lFL2kpIHx8IHRlc3RVc2VyQWdlbnQod2luLCAvVHJpZGVudC9pKTtcblxuY29uc3QgaXNNb2JpbGVXZWIgPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+IGlzTW9iaWxlKHdpbikgJiYgIWlzSHlicmlkKHdpbik7XG5cbmNvbnN0IGlzSXBhZCA9ICh3aW46IFdpbmRvdykgPT4ge1xuICAvLyBpT1MgMTIgYW5kIGJlbG93XG4gIGlmICh0ZXN0VXNlckFnZW50KHdpbiwgL2lQYWQvaSkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIGlPUyAxMytcbiAgaWYgKHRlc3RVc2VyQWdlbnQod2luLCAvTWFjaW50b3NoL2kpICYmIGlzTW9iaWxlKHdpbikpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn07XG5cbmNvbnN0IGlzSXBob25lID0gKHdpbjogV2luZG93KSA9PiB0ZXN0VXNlckFnZW50KHdpbiwgL2lQaG9uZS9pKTtcblxuY29uc3QgaXNJT1MgPSAod2luOiBXaW5kb3cpID0+IHRlc3RVc2VyQWdlbnQod2luLCAvaVBob25lfGlQb2QvaSkgfHwgaXNJcGFkKHdpbik7XG5cbmNvbnN0IGlzQW5kcm9pZCA9ICh3aW46IFdpbmRvdykgPT4gdGVzdFVzZXJBZ2VudCh3aW4sIC9hbmRyb2lkfHNpbmsvaSk7XG5cbmNvbnN0IGlzQW5kcm9pZFRhYmxldCA9ICh3aW46IFdpbmRvdykgPT4ge1xuICByZXR1cm4gaXNBbmRyb2lkKHdpbikgJiYgIXRlc3RVc2VyQWdlbnQod2luLCAvbW9iaWxlL2kpO1xufTtcblxuY29uc3QgaXNQaGFibGV0ID0gKHdpbjogV2luZG93KSA9PiB7XG4gIGNvbnN0IHdpZHRoID0gd2luLmlubmVyV2lkdGg7XG4gIGNvbnN0IGhlaWdodCA9IHdpbi5pbm5lckhlaWdodDtcbiAgY29uc3Qgc21hbGxlc3QgPSBNYXRoLm1pbih3aWR0aCwgaGVpZ2h0KTtcbiAgY29uc3QgbGFyZ2VzdCA9IE1hdGgubWF4KHdpZHRoLCBoZWlnaHQpO1xuXG4gIHJldHVybiBzbWFsbGVzdCA+IDM5MCAmJiBzbWFsbGVzdCA8IDUyMCAmJiBsYXJnZXN0ID4gNjIwICYmIGxhcmdlc3QgPCA4MDA7XG59O1xuXG5jb25zdCBpc1RhYmxldCA9ICh3aW46IFdpbmRvdykgPT4ge1xuICBjb25zdCB3aWR0aCA9IHdpbi5pbm5lcldpZHRoO1xuICBjb25zdCBoZWlnaHQgPSB3aW4uaW5uZXJIZWlnaHQ7XG4gIGNvbnN0IHNtYWxsZXN0ID0gTWF0aC5taW4od2lkdGgsIGhlaWdodCk7XG4gIGNvbnN0IGxhcmdlc3QgPSBNYXRoLm1heCh3aWR0aCwgaGVpZ2h0KTtcblxuICByZXR1cm4gaXNJcGFkKHdpbikgfHwgaXNBbmRyb2lkVGFibGV0KHdpbikgfHwgKHNtYWxsZXN0ID4gNDYwICYmIHNtYWxsZXN0IDwgODIwICYmIGxhcmdlc3QgPiA3ODAgJiYgbGFyZ2VzdCA8IDE0MDApO1xufTtcblxuY29uc3QgaXNNb2JpbGUgPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKGFueS1wb2ludGVyOmNvYXJzZSknKTtcbmNvbnN0IGlzVG91Y2ggPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKGFueS1wb2ludGVyOmNvYXJzZSknKTtcblxuY29uc3QgaXNEZXNrdG9wID0gKHdpbjogV2luZG93KSA9PiAhaXNNb2JpbGUod2luKTtcblxuY29uc3QgaXNIeWJyaWQgPSAod2luOiBXaW5kb3cpID0+IGlzQ29yZG92YSh3aW4pIHx8IGlzQ2FwYWNpdG9yTmF0aXZlKHdpbik7XG5cbmNvbnN0IGlzQ29yZG92YSA9ICh3aW46IGFueSk6IGJvb2xlYW4gPT4gISEod2luWydjb3Jkb3ZhJ10gfHwgd2luWydwaG9uZWdhcCddIHx8IHdpblsnUGhvbmVHYXAnXSk7XG5cbmNvbnN0IGlzQ2FwYWNpdG9yTmF0aXZlID0gKHdpbjogYW55KTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IGNhcGFjaXRvciA9IHdpblsnQ2FwYWNpdG9yJ107XG4gIHJldHVybiAhIShjYXBhY2l0b3IgJiYgY2FwYWNpdG9yLmlzTmF0aXZlKTtcbn07XG5cbmNvbnN0IGlzRWxlY3Ryb24gPSAod2luOiBXaW5kb3cpOiBib29sZWFuID0+IHRlc3RVc2VyQWdlbnQod2luLCAvZWxlY3Ryb24vaSk7XG5cbmNvbnN0IGlzUFdBID0gKHdpbjogV2luZG93KTogYm9vbGVhbiA9PiAhISh3aW4ubWF0Y2hNZWRpYSgnKGRpc3BsYXktbW9kZTogc3RhbmRhbG9uZSknKS5tYXRjaGVzIHx8ICh3aW4ubmF2aWdhdG9yIGFzIGFueSkuc3RhbmRhbG9uZSk7XG5cbmV4cG9ydCBjb25zdCB0ZXN0VXNlckFnZW50ID0gKHdpbjogV2luZG93LCBleHByOiBSZWdFeHApID0+IGV4cHIudGVzdCh3aW4ubmF2aWdhdG9yLnVzZXJBZ2VudCk7XG5cbmV4cG9ydCBjb25zdCBpc0Jyb3dzZXIgPSBuZXcgRnVuY3Rpb24oJ3RyeSB7cmV0dXJuIHRoaXM9PT13aW5kb3c7fWNhdGNoKGUpeyByZXR1cm4gZmFsc2U7fScpO1xuZXhwb3J0IGNvbnN0IGlzU2VydmVyID0gbmV3IEZ1bmN0aW9uKCd0cnkge3JldHVybiB0aGlzPT09Z2xvYmFsO31jYXRjaChlKXtyZXR1cm4gZmFsc2U7fScpO1xuXG5jb25zdCBtYXRjaE1lZGlhID0gKHdpbjogV2luZG93LCBxdWVyeTogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGlmIChpc0Jyb3dzZXIoKSkgcmV0dXJuIHdpbi5tYXRjaE1lZGlhKHF1ZXJ5KS5tYXRjaGVzO1xuICByZXR1cm4gZmFsc2U7XG59O1xuXG5jb25zdCBpc1NNU2NyZWVuID0gKHdpbjogV2luZG93KSA9PiBtYXRjaE1lZGlhKHdpbiwgJyhtYXgtd2lkdGg6IDY0MHB4KScpO1xuY29uc3QgaXNNRFNjcmVlbiA9ICh3aW46IFdpbmRvdykgPT4gbWF0Y2hNZWRpYSh3aW4sICcobWF4LXdpZHRoOiA3NjhweCknKTtcbmNvbnN0IGlzTEdTY3JlZW4gPSAod2luOiBXaW5kb3cpID0+IG1hdGNoTWVkaWEod2luLCAnKG1heC13aWR0aDogMTAyNHB4KScpO1xuY29uc3QgaXNYTFNjcmVlbiA9ICh3aW46IFdpbmRvdykgPT4gbWF0Y2hNZWRpYSh3aW4sICcobWF4LXdpZHRoOiAxMjgwcHgpJyk7XG5jb25zdCBpczJYTFNjcmVlbiA9ICh3aW46IFdpbmRvdykgPT4gbWF0Y2hNZWRpYSh3aW4sICcobWF4LXdpZHRoOiAxNTM2cHgpJyk7XG5cbmNvbnN0IFBMQVRGT1JNU19NQVA6IGFueSA9IHtcbiAgQW5kcm9pZDogaXNBbmRyb2lkLFxuICBpT1M6IGlzSU9TLFxuICBEZXNrdG9wOiBpc0Rlc2t0b3AsXG4gIE1vYmlsZTogaXNNb2JpbGUsXG4gIFRvdWNoOiBpc1RvdWNoLFxuICBDaHJvbWU6IGlzQ2hyb21lLFxuICBGaXJlZm94OiBpc0ZpcmVmb3gsXG4gIFNhZmFyaTogaXNTYWZhcmksXG4gIEVkZ2U6IGlzRWRnZSxcbiAgT3BlcmE6IGlzT3BlcmEsXG4gIEh5YnJpZDogaXNIeWJyaWQsXG4gIFBXQTogaXNQV0EsXG4gIEVsZWN0cm9uOiBpc0VsZWN0cm9uLFxuICBTTTogaXNTTVNjcmVlbixcbiAgTUQ6IGlzTURTY3JlZW4sXG4gIExHOiBpc0xHU2NyZWVuLFxuICBYTDogaXNYTFNjcmVlbixcbiAgJzJYTCc6IGlzMlhMU2NyZWVuLFxufTtcblxuZXhwb3J0IGNsYXNzIEFYUGxhdGZvcm1FdmVudDxUIGV4dGVuZHMgRXZlbnQgPSBFdmVudD4ge1xuICBuYXRpdmVFdmVudCE6IFQ7XG4gIHNvdXJjZSE6IEFYUGxhdGZvcm07XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBBWFBsYXRmb3JtIHtcbiAgcmVzaXplOiBTdWJqZWN0PEFYUGxhdGZvcm1FdmVudD4gPSBuZXcgU3ViamVjdDxBWFBsYXRmb3JtRXZlbnQ+KCk7XG4gIGNsaWNrOiBTdWJqZWN0PEFYUGxhdGZvcm1FdmVudD4gPSBuZXcgU3ViamVjdDxBWFBsYXRmb3JtRXZlbnQ+KCk7XG4gIHNjcm9sbDogU3ViamVjdDxBWFBsYXRmb3JtRXZlbnQ+ID0gbmV3IFN1YmplY3Q8QVhQbGF0Zm9ybUV2ZW50PigpO1xuXG4gIGlzUnRsKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBkb2N1bWVudC5kaXIgPT0gJ3J0bCcgfHwgZG9jdW1lbnQuYm9keS5kaXIgPT0gJ3J0bCcgfHwgZG9jdW1lbnQuYm9keS5zdHlsZS5kaXJlY3Rpb24gPT0gJ3J0bCc7XG4gIH1cblxuICBpc0xhbmRzY2FwZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gd2luZG93LmlubmVySGVpZ2h0IDwgd2luZG93LmlubmVyV2lkdGg7XG4gIH1cblxuICBpc1BvcnRyYXRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5pc0xhbmRzY2FwZSgpO1xuICB9XG5cbiAgaXMobmFtZTogQVhQbGF0Zm9ybXMgfCBBWEJyb3dzZXJzIHwgQVhUZWNobm9sb2dpZXMgfCBBWFNjcmVlblNpemVzKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIFBMQVRGT1JNU19NQVBbbmFtZV0od2luZG93KSB8fCBmYWxzZTtcbiAgfVxuXG4gIHN3aXRjaERhcmtNb2RlKCkge1xuICAgIGNvbnN0IF9odG1sID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2h0bWwnKVswXTtcbiAgICBfaHRtbC5jbGFzc0xpc3QuYWRkKCdheC1kYXJrJyk7XG4gIH1cblxuICBzd2l0Y2hMaWdodE1vZGUoKSB7XG4gICAgY29uc3QgX2h0bWwgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaHRtbCcpWzBdO1xuICAgIF9odG1sLmNsYXNzTGlzdC5yZW1vdmUoJ2F4LWRhcmsnKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldEZ1bGxIZWlnaHRSYXRpbygpIHtcbiAgICB0cnkge1xuICAgICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcjxIVE1MRWxlbWVudD4oJzpyb290Jyk/LnN0eWxlLnNldFByb3BlcnR5KCctLWF4LXZoJywgd2luZG93LmlubmVySGVpZ2h0IC8gMTAwICsgJ3B4Jyk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHt9XG4gIH1cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBmcm9tRXZlbnQ8VUlFdmVudD4od2luZG93LCAncmVzaXplJylcbiAgICAgIC5waXBlKGRlYm91bmNlVGltZSgxMDApKVxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoZSA9PiB7XG4gICAgICAgIHRoaXMucmVzaXplLm5leHQoe1xuICAgICAgICAgIG5hdGl2ZUV2ZW50OiBlLFxuICAgICAgICAgIHNvdXJjZTogdGhpcyxcbiAgICAgICAgfSk7XG4gICAgICAgIC8vXG4gICAgICAgIHRoaXMuX3NldEZ1bGxIZWlnaHRSYXRpbygpO1xuICAgICAgfSk7XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ2NsaWNrJyxcbiAgICAgIGUgPT4ge1xuICAgICAgICB0aGlzLmNsaWNrLm5leHQoe1xuICAgICAgICAgIG5hdGl2ZUV2ZW50OiBlLFxuICAgICAgICAgIHNvdXJjZTogdGhpcyxcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgdHJ1ZVxuICAgICk7XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFxuICAgICAgJ3Njcm9sbCcsXG4gICAgICBlID0+IHtcbiAgICAgICAgdGhpcy5zY3JvbGwubmV4dCh7XG4gICAgICAgICAgbmF0aXZlRXZlbnQ6IGUsXG4gICAgICAgICAgc291cmNlOiB0aGlzLFxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICB0cnVlXG4gICAgKTtcbiAgICAvLyBpbml0IGZ1bmN0aW9uc1xuICAgIHRoaXMuX3NldEZ1bGxIZWlnaHRSYXRpbygpO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUtdHJhbnNsYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS90cmFuc2xhdGlvbi9hY29yZXgtY29yZS10cmFuc2xhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUtdHJhbnNsYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdHJhbnNsYXRpb24vc3JjL2Fjb3JleC1jb3JlLXRyYW5zbGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,4 @@
1
+ export * from './lib/translation.module';
2
+ export * from './lib/translator';
3
+ export * from './lib/translator.pipe';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdHJhbnNsYXRpb24vc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvdHJhbnNsYXRpb24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RyYW5zbGF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdHJhbnNsYXRvci5waXBlJztcbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { AXTranslatorPipe } from './translator.pipe';
3
+ import * as i0 from "@angular/core";
4
+ export class AXTranslationModule {
5
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXTranslationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.4", ngImport: i0, type: AXTranslationModule, declarations: [AXTranslatorPipe], exports: [AXTranslatorPipe] }); }
7
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXTranslationModule }); }
8
+ }
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXTranslationModule, decorators: [{
10
+ type: NgModule,
11
+ args: [{
12
+ imports: [],
13
+ exports: [AXTranslatorPipe],
14
+ declarations: [AXTranslatorPipe],
15
+ providers: [],
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3RyYW5zbGF0aW9uL3NyYy9saWIvdHJhbnNsYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBUXJELE1BQU0sT0FBTyxtQkFBbUI7OEdBQW5CLG1CQUFtQjsrR0FBbkIsbUJBQW1CLGlCQUhiLGdCQUFnQixhQURyQixnQkFBZ0I7K0dBSWpCLG1CQUFtQjs7MkZBQW5CLG1CQUFtQjtrQkFOL0IsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsRUFBRTtvQkFDWCxPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQztvQkFDM0IsWUFBWSxFQUFFLENBQUMsZ0JBQWdCLENBQUM7b0JBQ2hDLFNBQVMsRUFBRSxFQUFFO2lCQUNoQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWFRyYW5zbGF0b3JQaXBlIH0gZnJvbSAnLi90cmFuc2xhdG9yLnBpcGUnO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtdLFxuICAgIGV4cG9ydHM6IFtBWFRyYW5zbGF0b3JQaXBlXSxcbiAgICBkZWNsYXJhdGlvbnM6IFtBWFRyYW5zbGF0b3JQaXBlXSxcbiAgICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBBWFRyYW5zbGF0aW9uTW9kdWxlIHtcbiAgXG59XG4iXX0=
@@ -0,0 +1,43 @@
1
+ import { Subject } from 'rxjs';
2
+ import merge from 'lodash-es/merge';
3
+ import * as _ from 'lodash';
4
+ // @dynamic
5
+ export class AXTranslator {
6
+ static { this.lang = 'en'; }
7
+ static { this.dataChangeSubject = new Subject(); }
8
+ static { this._varsRegx = /((\$\{[a-zA-Z_0-9\.]+\})+)/gm; }
9
+ static { this._varNameRegx = /[a-zA-Z_0-9\.]+/gm; }
10
+ static get onChange() {
11
+ return AXTranslator.dataChangeSubject.asObservable();
12
+ }
13
+ static load(lang, value) {
14
+ if (typeof value === 'object') {
15
+ if (!AXTranslator[`__data__${lang}`]) {
16
+ AXTranslator[`__data__${lang}`] = {};
17
+ }
18
+ AXTranslator[`__data__${lang}`] = merge(AXTranslator[`__data__${lang}`], value);
19
+ }
20
+ }
21
+ static use(lang) {
22
+ AXTranslator.lang = lang;
23
+ }
24
+ static get(key, arg1, arg2) {
25
+ const lang = arg1 && typeof arg1 == 'string' ? arg1 : AXTranslator.lang;
26
+ const params = arg1 && typeof arg1 == 'object' ? arg1 : arg2;
27
+ let result = _.get(AXTranslator[`__data__${lang}`], key, key);
28
+ const vars = typeof (result) == 'string' ? result?.match(this._varsRegx) : [];
29
+ if (vars?.length) {
30
+ vars.forEach((v) => {
31
+ const varKey = v.match(this._varNameRegx)?.length ? v.match(this._varNameRegx)[0] : null;
32
+ if (varKey) {
33
+ const p = _.get(params, varKey) || this.get(varKey, lang);
34
+ if (p) {
35
+ result = result.replace(v, p);
36
+ }
37
+ }
38
+ });
39
+ }
40
+ return typeof (result) == 'string' ? result : JSON.stringify(result);
41
+ }
42
+ }
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS90cmFuc2xhdGlvbi9zcmMvbGliL3RyYW5zbGF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEtBQUssTUFBTSxpQkFBaUIsQ0FBQztBQUNwQyxPQUFPLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQztBQUU1QixXQUFXO0FBQ1gsTUFBTSxPQUFPLFlBQVk7YUFDTixTQUFJLEdBQVcsSUFBSSxDQUFDO2FBQ3BCLHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFPLENBQUM7YUFDdkMsY0FBUyxHQUFHLDhCQUE4QixDQUFDO2FBQzNDLGlCQUFZLEdBQUcsbUJBQW1CLENBQUM7SUFHbEQsTUFBTSxLQUFLLFFBQVE7UUFDZixPQUFPLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6RCxDQUFDO0lBRU0sTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFZLEVBQUUsS0FBVTtRQUN2QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsRUFBRTtnQkFDbEMsWUFBWSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUM7YUFDeEM7WUFDRCxZQUFZLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxZQUFZLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ25GO0lBQ0wsQ0FBQztJQUVNLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBWTtRQUMxQixZQUFZLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUM3QixDQUFDO0lBRU0sTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFXLEVBQUUsSUFBc0IsRUFBRSxJQUFhO1FBRWhFLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxPQUFPLElBQUksSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQztRQUN4RSxNQUFNLE1BQU0sR0FBRyxJQUFJLElBQUksT0FBTyxJQUFJLElBQUksUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUM3RCxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQzlELE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDOUUsSUFBSSxJQUFJLEVBQUUsTUFBTSxFQUFFO1lBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUssRUFBRSxFQUFFO2dCQUNuQixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ3pGLElBQUksTUFBTSxFQUFFO29CQUNSLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO29CQUMxRCxJQUFJLENBQUMsRUFBRTt3QkFDSCxNQUFNLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7cUJBQ2pDO2lCQUNKO1lBQ0wsQ0FBQyxDQUFDLENBQUE7U0FDTDtRQUNELE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgbWVyZ2UgZnJvbSAnbG9kYXNoLWVzL21lcmdlJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcblxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBBWFRyYW5zbGF0b3Ige1xuICAgIHByaXZhdGUgc3RhdGljIGxhbmc6IHN0cmluZyA9ICdlbic7XG4gICAgcHJpdmF0ZSBzdGF0aWMgZGF0YUNoYW5nZVN1YmplY3QgPSBuZXcgU3ViamVjdDxhbnk+KCk7XG4gICAgcHJpdmF0ZSBzdGF0aWMgX3ZhcnNSZWd4ID0gLygoXFwkXFx7W2EtekEtWl8wLTlcXC5dK1xcfSkrKS9nbTtcbiAgICBwcml2YXRlIHN0YXRpYyBfdmFyTmFtZVJlZ3ggPSAvW2EtekEtWl8wLTlcXC5dKy9nbTtcblxuXG4gICAgc3RhdGljIGdldCBvbkNoYW5nZSgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gQVhUcmFuc2xhdG9yLmRhdGFDaGFuZ2VTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgbG9hZChsYW5nOiBzdHJpbmcsIHZhbHVlOiBhbnkpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIGlmICghQVhUcmFuc2xhdG9yW2BfX2RhdGFfXyR7bGFuZ31gXSkge1xuICAgICAgICAgICAgICAgIEFYVHJhbnNsYXRvcltgX19kYXRhX18ke2xhbmd9YF0gPSB7fTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEFYVHJhbnNsYXRvcltgX19kYXRhX18ke2xhbmd9YF0gPSBtZXJnZShBWFRyYW5zbGF0b3JbYF9fZGF0YV9fJHtsYW5nfWBdLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHVzZShsYW5nOiBzdHJpbmcpIHtcbiAgICAgICAgQVhUcmFuc2xhdG9yLmxhbmcgPSBsYW5nO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0KGtleTogc3RyaW5nLCBhcmcxPzogb2JqZWN0IHwgc3RyaW5nLCBhcmcyPzogb2JqZWN0KTogc3RyaW5nIHtcblxuICAgICAgICBjb25zdCBsYW5nID0gYXJnMSAmJiB0eXBlb2YgYXJnMSA9PSAnc3RyaW5nJyA/IGFyZzEgOiBBWFRyYW5zbGF0b3IubGFuZztcbiAgICAgICAgY29uc3QgcGFyYW1zID0gYXJnMSAmJiB0eXBlb2YgYXJnMSA9PSAnb2JqZWN0JyA/IGFyZzEgOiBhcmcyO1xuICAgICAgICBsZXQgcmVzdWx0ID0gXy5nZXQoQVhUcmFuc2xhdG9yW2BfX2RhdGFfXyR7bGFuZ31gXSwga2V5LCBrZXkpO1xuICAgICAgICBjb25zdCB2YXJzID0gdHlwZW9mIChyZXN1bHQpID09ICdzdHJpbmcnID8gcmVzdWx0Py5tYXRjaCh0aGlzLl92YXJzUmVneCkgOiBbXTtcbiAgICAgICAgaWYgKHZhcnM/Lmxlbmd0aCkge1xuICAgICAgICAgICAgdmFycy5mb3JFYWNoKCh2OmFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHZhcktleSA9IHYubWF0Y2godGhpcy5fdmFyTmFtZVJlZ3gpPy5sZW5ndGggPyB2Lm1hdGNoKHRoaXMuX3Zhck5hbWVSZWd4KVswXSA6IG51bGw7XG4gICAgICAgICAgICAgICAgaWYgKHZhcktleSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwID0gXy5nZXQocGFyYW1zLCB2YXJLZXkpIHx8IHRoaXMuZ2V0KHZhcktleSwgbGFuZyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSByZXN1bHQucmVwbGFjZSh2LCBwKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHR5cGVvZiAocmVzdWx0KSA9PSAnc3RyaW5nJyA/IHJlc3VsdCA6IEpTT04uc3RyaW5naWZ5KHJlc3VsdCk7XG4gICAgfVxufSJdfQ==
@@ -0,0 +1,15 @@
1
+ import { Pipe } from '@angular/core';
2
+ import { AXTranslator } from './translator';
3
+ import * as i0 from "@angular/core";
4
+ export class AXTranslatorPipe {
5
+ transform(value, arg1, arg2) {
6
+ return AXTranslator.get(value, arg1, arg2);
7
+ }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXTranslatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
9
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.4", ngImport: i0, type: AXTranslatorPipe, name: "trans" }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.4", ngImport: i0, type: AXTranslatorPipe, decorators: [{
12
+ type: Pipe,
13
+ args: [{ name: 'trans', pure: true }]
14
+ }] });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRvci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3RyYW5zbGF0aW9uL3NyYy9saWIvdHJhbnNsYXRvci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBRzVDLE1BQU0sT0FBTyxnQkFBZ0I7SUFDekIsU0FBUyxDQUFDLEtBQWEsRUFBRSxJQUFzQixFQUFFLElBQWE7UUFDMUQsT0FBTyxZQUFZLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDL0MsQ0FBQzs4R0FIUSxnQkFBZ0I7NEdBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFENUIsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYVHJhbnNsYXRvciB9IGZyb20gJy4vdHJhbnNsYXRvcic7XG5cbkBQaXBlKHsgbmFtZTogJ3RyYW5zJywgcHVyZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIEFYVHJhbnNsYXRvclBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgICB0cmFuc2Zvcm0odmFsdWU6IHN0cmluZywgYXJnMT86IG9iamVjdCB8IHN0cmluZywgYXJnMj86IG9iamVjdCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBBWFRyYW5zbGF0b3IuZ2V0KHZhbHVlLCBhcmcxLCBhcmcyKTtcbiAgICB9XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Generated bundle index. Do not edit.
3
3
  */
4
- export * from './public-api';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hY29yZXgvY29yZS91dGlscy9hY29yZXgtY29yZS11dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNvcmV4LWNvcmUtdXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdXRpbHMvc3JjL2Fjb3JleC1jb3JlLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,6 @@
1
+ export * from './lib/color-util';
2
+ export * from './lib/drawing-util';
3
+ export * from './lib/html-util';
4
+ export * from './lib/object-util';
5
+ export * from './lib/string-util';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdXRpbHMvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2NvbG9yLXV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvZHJhd2luZy11dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2h0bWwtdXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9vYmplY3QtdXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdHJpbmctdXRpbCc7XG4iXX0=
@@ -0,0 +1,115 @@
1
+ import tinycolor from 'tinycolor2';
2
+ import tinygradient from 'tinygradient';
3
+ export class AXColorUtil {
4
+ static to(color, mode) {
5
+ const _color = tinycolor(color);
6
+ switch (mode) {
7
+ case 'rgba':
8
+ ;
9
+ return _color.toRgb();
10
+ case 'hsla':
11
+ return _color.toHsl();
12
+ case 'hsva':
13
+ return _color.toHsv();
14
+ default:
15
+ return _color.toHex();
16
+ }
17
+ }
18
+ ;
19
+ static toString(color, mode = null) {
20
+ const _color = tinycolor(color);
21
+ switch (mode) {
22
+ case 'rgba':
23
+ return _color.toRgbString();
24
+ case 'hsla':
25
+ return _color.toHslString();
26
+ case 'hsva':
27
+ return _color.toHsvString();
28
+ case 'hsva':
29
+ return _color.toHsvString();
30
+ case 'hex':
31
+ {
32
+ const rgba = _color.toRgb();
33
+ return rgba.a != 1 ? _color.toHex8String() : _color.toHexString();
34
+ }
35
+ default:
36
+ {
37
+ if (typeof color == 'string') {
38
+ if (color.toLowerCase().startsWith("#"))
39
+ return this.toString(color, "hex");
40
+ else
41
+ return this.toString(color, "rgba");
42
+ }
43
+ else {
44
+ return this.toString(color, "rgba");
45
+ }
46
+ }
47
+ }
48
+ }
49
+ ;
50
+ static isValid(color) {
51
+ const _color = tinycolor(color);
52
+ return _color.isValid();
53
+ }
54
+ ;
55
+ static mix(baseColor, hex, percentage) {
56
+ return tinycolor.mix(baseColor, hex, percentage).toString('rgb');
57
+ }
58
+ static multiply(color1, color2) {
59
+ let rgb1 = tinycolor(color1).toRgb();
60
+ let rgb2 = tinycolor(color2).toRgb();
61
+ rgb1.b = Math.floor(rgb1.b * rgb2.b / 255);
62
+ rgb1.g = Math.floor(rgb1.g * rgb2.g / 255);
63
+ rgb1.r = Math.floor(rgb1.r * rgb2.r / 255);
64
+ return tinycolor('rgb ' + rgb1.r + ' ' + rgb1.g + ' ' + rgb1.b).toString('rgb');
65
+ }
66
+ static contrastToWhite(color) {
67
+ return tinycolor.readability("#fff", color);
68
+ }
69
+ ;
70
+ static lighten(hex, percentage) {
71
+ return tinycolor(hex).lighten(percentage);
72
+ }
73
+ static darken(hex, percentage) {
74
+ return tinycolor(hex).darken(percentage);
75
+ }
76
+ static brighten(hex, percentage) {
77
+ return tinycolor(hex).brighten(percentage);
78
+ }
79
+ static saturate(hex, percentage) {
80
+ return tinycolor(hex).saturate(percentage);
81
+ }
82
+ static desaturate(hex, percentage) {
83
+ return tinycolor(hex).getLuminance();
84
+ }
85
+ static equal(color1, color2) {
86
+ return tinycolor.equals(color1, color2);
87
+ }
88
+ static gradient(values) {
89
+ return tinygradient([...values]);
90
+ }
91
+ static xyToRgb(vX, vY) {
92
+ vY = vY || 0.00000000001;
93
+ const Y = 1;
94
+ const X = (Y / vY) * vX;
95
+ const Z = (Y / vY) * (1 - vX - vY);
96
+ // Convert to RGB using Wide RGB D65 conversion.
97
+ let rgb = [
98
+ X * 1.656492 - Y * 0.354851 - Z * 0.255038,
99
+ -X * 0.707196 + Y * 1.655397 + Z * 0.036152,
100
+ X * 0.051713 - Y * 0.121364 + Z * 1.011530
101
+ ];
102
+ // Apply reverse gamma correction.
103
+ rgb = rgb.map(x => x <= 0.0031308 ? 12.92 * x : (1.0 + 0.055) * Math.pow(x, 1.0 / 2.4) - 0.055);
104
+ // Bring all negative components to zero.
105
+ rgb = rgb.map(x => Math.max(0, x));
106
+ // If one component is greater than 1, weight components by that value.
107
+ const max = Math.max(...rgb);
108
+ if (max > 1) {
109
+ rgb = rgb.map(x => x / max);
110
+ }
111
+ rgb = rgb.map(x => Math.round(x * 255));
112
+ return 'rgb(' + rgb.join(',') + ')';
113
+ }
114
+ }
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS91dGlscy9zcmMvbGliL2NvbG9yLXV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxTQUF5QixNQUFNLFlBQVksQ0FBQztBQUNuRCxPQUFPLFlBQVksTUFBTSxjQUFjLENBQUE7QUFJdkMsTUFBTSxPQUFPLFdBQVc7SUFHcEIsTUFBTSxDQUFDLEVBQUUsQ0FBQyxLQUFvQixFQUFFLElBQWlCO1FBRTdDLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUMvQixRQUFRLElBQUksRUFBRTtZQUNWLEtBQUssTUFBTTtnQkFBRSxDQUFDO2dCQUNWLE9BQU8sTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzFCLEtBQUssTUFBTTtnQkFDUCxPQUFPLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMxQixLQUFLLE1BQU07Z0JBQ1AsT0FBTyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDMUI7Z0JBQ0ksT0FBTyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDN0I7SUFDTCxDQUFDO0lBQUEsQ0FBQztJQUVGLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBb0IsRUFBRSxPQUFvQixJQUFJO1FBQzFELE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUMvQixRQUFRLElBQUksRUFBRTtZQUNWLEtBQUssTUFBTTtnQkFDUCxPQUFPLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNoQyxLQUFLLE1BQU07Z0JBQ1AsT0FBTyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDaEMsS0FBSyxNQUFNO2dCQUNQLE9BQU8sTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ2hDLEtBQUssTUFBTTtnQkFDUCxPQUFPLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNoQyxL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UTtZQUMzQyxDQUFDLEdBQUcsUUFBUSxHQUFHLENBQUMsR0FBRyxRQUFRLEdBQUcsQ0FBQyxHQUFHLFFBQVE7U0FDN0MsQ0FBQztRQUVGLGtDQUFrQztRQUNsQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNkLENBQUMsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQzlFLENBQUM7UUFFRix5Q0FBeUM7UUFDekMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRW5DLHVFQUF1RTtRQUN2RSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7UUFDN0IsSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFO1lBQ1QsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7U0FDL0I7UUFFRCxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFFeEMsT0FBTyxNQUFNLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDeEMsQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQVhDb2xvck1vZGUgPSAncmdiYScgfCAnaGV4JyB8ICdoc2xhJyB8ICdoc3ZhJztcblxuaW1wb3J0IHRpbnljb2xvciwgeyBDb2xvcklucHV0IH0gZnJvbSAndGlueWNvbG9yMic7XG5pbXBvcnQgdGlueWdyYWRpZW50IGZyb20gJ3RpbnlncmFkaWVudCdcblxuZXhwb3J0IHR5cGUgQVhDb2xvckZvcm1hdCA9IENvbG9ySW5wdXQ7XG5cbmV4cG9ydCBjbGFzcyBBWENvbG9yVXRpbCB7XG5cblxuICAgIHN0YXRpYyB0byhjb2xvcjogQVhDb2xvckZvcm1hdCwgbW9kZTogQVhDb2xvck1vZGUpOiBBWENvbG9yRm9ybWF0IHtcblxuICAgICAgICBjb25zdCBfY29sb3IgPSB0aW55Y29sb3IoY29sb3IpXG4gICAgICAgIHN3aXRjaCAobW9kZSkge1xuICAgICAgICAgICAgY2FzZSAncmdiYSc6IDtcbiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbG9yLnRvUmdiKCk7XG4gICAgICAgICAgICBjYXNlICdoc2xhJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbG9yLnRvSHNsKCk7XG4gICAgICAgICAgICBjYXNlICdoc3ZhJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbG9yLnRvSHN2KCk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBfY29sb3IudG9IZXgoKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBzdGF0aWMgdG9TdHJpbmcoY29sb3I6IEFYQ29sb3JGb3JtYXQsIG1vZGU6IEFYQ29sb3JNb2RlID0gbnVsbCk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IF9jb2xvciA9IHRpbnljb2xvcihjb2xvcilcbiAgICAgICAgc3dpdGNoIChtb2RlKSB7XG4gICAgICAgICAgICBjYXNlICdyZ2JhJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbG9yLnRvUmdiU3RyaW5nKCk7XG4gICAgICAgICAgICBjYXNlICdoc2xhJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbG9yLnRvSHNsU3RyaW5nKCk7XG4gICAgICAgICAgICBjYXNlICdoc3ZhJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbG9yLnRvSHN2U3RyaW5nKCk7XG4gICAgICAgICAgICBjYXNlICdoc3ZhJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gX2NvbG9yLnRvSHN2U3RyaW5nKCk7XG4gICAgICAgICAgICBjYXNlICdoZXgnOlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmdiYSA9IF9jb2xvci50b1JnYigpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmdiYS5hICE9IDEgPyBfY29sb3IudG9IZXg4U3RyaW5nKCkgOiBfY29sb3IudG9IZXhTdHJpbmcoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjb2xvciA9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvbG9yLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChcIiNcIikpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudG9TdHJpbmcoY29sb3IsIFwiaGV4XCIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnRvU3RyaW5nKGNvbG9yLCBcInJnYmFcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy50b1N0cmluZyhjb2xvciwgXCJyZ2JhXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcblxuICAgIHN0YXRpYyBpc1ZhbGlkKGNvbG9yOiBBWENvbG9yRm9ybWF0KTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IF9jb2xvciA9IHRpbnljb2xvcihjb2xvcilcbiAgICAgICAgcmV0dXJuIF9jb2xvci5pc1ZhbGlkKCk7XG4gICAgfTtcblxuICAgIHN0YXRpYyBtaXgoYmFzZUNvbG9yOiBBWENvbG9yRm9ybWF0LCBoZXg6IEFYQ29sb3JGb3JtYXQsIHBlcmNlbnRhZ2U6IG51bWJlcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aW55Y29sb3IubWl4KGJhc2VDb2xvciwgaGV4LCBwZXJjZW50YWdlKS50b1N0cmluZygncmdiJyk7XG4gICAgfVxuXG4gICAgc3RhdGljIG11bHRpcGx5KGNvbG9yMTogQVhDb2xvckZvcm1hdCwgY29sb3IyOiBBWENvbG9yRm9ybWF0KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IHJnYjEgPSB0aW55Y29sb3IoY29sb3IxKS50b1JnYigpO1xuICAgICAgICBsZXQgcmdiMiA9IHRpbnljb2xvcihjb2xvcjIpLnRvUmdiKCk7XG4gICAgICAgIHJnYjEuYiA9IE1hdGguZmxvb3IocmdiMS5iICogcmdiMi5iIC8gMjU1KTtcbiAgICAgICAgcmdiMS5nID0gTWF0aC5mbG9vcihyZ2IxLmcgKiByZ2IyLmcgLyAyNTUpO1xuICAgICAgICByZ2IxLnIgPSBNYXRoLmZsb29yKHJnYjEuciAqIHJnYjIuciAvIDI1NSk7XG4gICAgICAgIHJldHVybiB0aW55Y29sb3IoJ3JnYiAnICsgcmdiMS5yICsgJyAnICsgcmdiMS5nICsgJyAnICsgcmdiMS5iKS50b1N0cmluZygncmdiJyk7XG4gICAgfVxuXG4gICAgc3RhdGljIGNvbnRyYXN0VG9XaGl0ZShjb2xvcjogQVhDb2xvckZvcm1hdCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aW55Y29sb3IucmVhZGFiaWxpdHkoXCIjZmZmXCIsIGNvbG9yKTtcbiAgICB9O1xuXG4gICAgc3RhdGljIGxpZ2h0ZW4oaGV4OiBBWENvbG9yRm9ybWF0LCBwZXJjZW50YWdlPzogbnVtYmVyKSB7XG4gICAgICAgIHJldHVybiB0aW55Y29sb3IoaGV4KS5saWdodGVuKHBlcmNlbnRhZ2UpXG4gICAgfVxuXG4gICAgc3RhdGljIGRhcmtlbihoZXg6IEFYQ29sb3JGb3JtYXQsIHBlcmNlbnRhZ2U/OiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRpbnljb2xvcihoZXgpLmRhcmtlbihwZXJjZW50YWdlKVxuICAgIH1cblxuICAgIHN0YXRpYyBicmlnaHRlbihoZXg6IEFYQ29sb3JGb3JtYXQsIHBlcmNlbnRhZ2U/OiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRpbnljb2xvcihoZXgpLmJyaWdodGVuKHBlcmNlbnRhZ2UpXG4gICAgfVxuXG4gICAgc3RhdGljIHNhdHVyYXRlKGhleDogQVhDb2xvckZvcm1hdCwgcGVyY2VudGFnZT86IG51bWJlcikge1xuICAgICAgICByZXR1cm4gdGlueWNvbG9yKGhleCkuc2F0dXJhdGUocGVyY2VudGFnZSlcbiAgICB9XG5cbiAgICBzdGF0aWMgZGVzYXR1cmF0ZShoZXg6IEFYQ29sb3JGb3JtYXQsIHBlcmNlbnRhZ2U/OiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRpbnljb2xvcihoZXgpLmdldEx1bWluYW5jZSgpXG4gICAgfVxuXG4gICAgc3RhdGljIGVxdWFsKGNvbG9yMTogQVhDb2xvckZvcm1hdCwgY29sb3IyOiBBWENvbG9yRm9ybWF0KTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aW55Y29sb3IuZXF1YWxzKGNvbG9yMSwgY29sb3IyKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZ3JhZGllbnQodmFsdWVzOiBhbnlbXSB8IHsgY29sb3I6IGFueSwgcG9zOiBudW1iZXIgfVtdKTogdGlueWdyYWRpZW50Lkluc3RhbmNlIHtcbiAgICAgICAgcmV0dXJuIHRpbnlncmFkaWVudChbLi4udmFsdWVzXSlcbiAgICB9XG5cbiAgICBzdGF0aWMgeHlUb1JnYih2WCwgdlkpOiBzdHJpbmcge1xuICAgICAgICB2WSA9IHZZIHx8IDAuMDAwMDAwMDAwMDE7XG4gICAgICAgIGNvbnN0IFkgPSAxO1xuICAgICAgICBjb25zdCBYID0gKFkgLyB2WSkgKiB2WDtcbiAgICAgICAgY29uc3QgWiA9IChZIC8gdlkpICogKDEgLSB2WCAtIHZZKTtcblxuICAgICAgICAvLyBDb252ZXJ0IHRvIFJHQiB1c2luZyBXaWRlIFJHQiBENjUgY29udmVyc2lvbi5cbiAgICAgICAgbGV0IHJnYiA9IFtcbiAgICAgICAgICAgIFggKiAxLjY1NjQ5MiAtIFkgKiAwLjM1NDg1MSAtIFogKiAwLjI1NTAzOCxcbiAgICAgICAgICAgIC1YICogMC43MDcxOTYgKyBZICogMS42NTUzOTcgKyBaICogMC4wMzYxNTIsXG4gICAgICAgICAgICBYICogMC4wNTE3MTMgLSBZICogMC4xMjEzNjQgKyBaICogMS4wMTE1MzBcbiAgICAgICAgXTtcblxuICAgICAgICAvLyBBcHBseSByZXZlcnNlIGdhbW1hIGNvcnJlY3Rpb24uXG4gICAgICAgIHJnYiA9IHJnYi5tYXAoeCA9PlxuICAgICAgICAgICAgeCA8PSAwLjAwMzEzMDggPyAxMi45MiAqIHggOiAoMS4wICsgMC4wNTUpICogTWF0aC5wb3coeCwgMS4wIC8gMi40KSAtIDAuMDU1XG4gICAgICAgICk7XG5cbiAgICAgICAgLy8gQnJpbmcgYWxsIG5lZ2F0aXZlIGNvbXBvbmVudHMgdG8gemVyby5cbiAgICAgICAgcmdiID0gcmdiLm1hcCh4ID0+IE1hdGgubWF4KDAsIHgpKTtcblxuICAgICAgICAvLyBJZiBvbmUgY29tcG9uZW50IGlzIGdyZWF0ZXIgdGhhbiAxLCB3ZWlnaHQgY29tcG9uZW50cyBieSB0aGF0IHZhbHVlLlxuICAgICAgICBjb25zdCBtYXggPSBNYXRoLm1heCguLi5yZ2IpO1xuICAgICAgICBpZiAobWF4ID4gMSkge1xuICAgICAgICAgICAgcmdiID0gcmdiLm1hcCh4ID0+IHggLyBtYXgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmdiID0gcmdiLm1hcCh4ID0+IE1hdGgucm91bmQoeCAqIDI1NSkpO1xuXG4gICAgICAgIHJldHVybiAncmdiKCcgKyByZ2Iuam9pbignLCcpICsgJyknO1xuICAgIH1cblxufSJdfQ==
@@ -0,0 +1,29 @@
1
+ // @dynamic
2
+ export class AXDrawingUtil {
3
+ static collision(a, b) {
4
+ const ac = a.getBoundingClientRect();
5
+ const bc = b.getBoundingClientRect();
6
+ if (ac.left < bc.left + bc.width && ac.left + ac.width > bc.left && ac.top < bc.top + bc.height && ac.top + ac.height > bc.top) {
7
+ return true;
8
+ }
9
+ else {
10
+ return false;
11
+ }
12
+ }
13
+ static isInElementBound(pos, element) {
14
+ const elBound = element.getBoundingClientRect();
15
+ return AXDrawingUtil.isInRecPoint(pos, {
16
+ left: elBound.x,
17
+ width: elBound.width,
18
+ top: elBound.y,
19
+ height: elBound.height,
20
+ });
21
+ }
22
+ static isInRecPoint(pos, rec) {
23
+ return pos.x >= rec.left && pos.x <= rec.left + rec.width && pos.y >= rec.top && pos.y <= rec.top + rec.height;
24
+ }
25
+ static convertRemToPixels(rem) {
26
+ return rem * parseFloat(getComputedStyle(document.documentElement).fontSize);
27
+ }
28
+ }
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2luZy11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3V0aWxzL3NyYy9saWIvZHJhd2luZy11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWFBLFdBQVc7QUFDWCxNQUFNLE9BQU8sYUFBYTtJQUN4QixNQUFNLENBQUMsU0FBUyxDQUFDLENBQWMsRUFBRSxDQUFjO1FBQzdDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ3JDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBRXJDLElBQUksRUFBRSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUU7WUFDOUgsT0FBTyxJQUFJLENBQUM7U0FDYjthQUFNO1lBQ0wsT0FBTyxLQUFLLENBQUM7U0FDZDtJQUNILENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsR0FBWSxFQUFFLE9BQW9CO1FBQ3hELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2hELE9BQU8sYUFBYSxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUU7WUFDckMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ2YsS0FBSyxFQUFFLE9BQU8sQ0FBQyxLQUFLO1lBQ3BCLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNkLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtTQUN2QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFZLEVBQUUsR0FBK0I7UUFDL0QsT0FBTyxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxLQUFLLElBQUksR0FBRyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLElBQUksR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO0lBQ2pILENBQUM7SUFFRCxNQUFNLENBQUMsa0JBQWtCLENBQUMsR0FBVztRQUNuQyxPQUFPLEdBQUcsR0FBRyxVQUFVLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQy9FLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQVhQb2ludCB7XG4gIHg6IG51bWJlcjtcbiAgeTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFYQm91bmRpbmdDbGllbnRSZWN0IHtcbiAgbGVmdD86IG51bWJlcjtcbiAgdG9wPzogbnVtYmVyO1xuICB3aWR0aD86IG51bWJlcjtcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBib3R0b20/OiBudW1iZXI7XG4gIHJpZ2h0PzogbnVtYmVyO1xufVxuLy8gQGR5bmFtaWNcbmV4cG9ydCBjbGFzcyBBWERyYXdpbmdVdGlsIHtcbiAgc3RhdGljIGNvbGxpc2lvbihhOiBIVE1MRWxlbWVudCwgYjogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCBhYyA9IGEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgYmMgPSBiLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXG4gICAgaWYgKGFjLmxlZnQgPCBiYy5sZWZ0ICsgYmMud2lkdGggJiYgYWMubGVmdCArIGFjLndpZHRoID4gYmMubGVmdCAmJiBhYy50b3AgPCBiYy50b3AgKyBiYy5oZWlnaHQgJiYgYWMudG9wICsgYWMuaGVpZ2h0ID4gYmMudG9wKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHN0YXRpYyBpc0luRWxlbWVudEJvdW5kKHBvczogQVhQb2ludCwgZWxlbWVudDogSFRNTEVsZW1lbnQpOiBib29sZWFuIHtcbiAgICBjb25zdCBlbEJvdW5kID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICByZXR1cm4gQVhEcmF3aW5nVXRpbC5pc0luUmVjUG9pbnQocG9zLCB7XG4gICAgICBsZWZ0OiBlbEJvdW5kLngsXG4gICAgICB3aWR0aDogZWxCb3VuZC53aWR0aCxcbiAgICAgIHRvcDogZWxCb3VuZC55LFxuICAgICAgaGVpZ2h0OiBlbEJvdW5kLmhlaWdodCxcbiAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBpc0luUmVjUG9pbnQocG9zOiBBWFBvaW50LCByZWM6IEFYQm91bmRpbmdDbGllbnRSZWN0IHwgYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHBvcy54ID49IHJlYy5sZWZ0ICYmIHBvcy54IDw9IHJlYy5sZWZ0ICsgcmVjLndpZHRoICYmIHBvcy55ID49IHJlYy50b3AgJiYgcG9zLnkgPD0gcmVjLnRvcCArIHJlYy5oZWlnaHQ7XG4gIH1cblxuICBzdGF0aWMgY29udmVydFJlbVRvUGl4ZWxzKHJlbTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICByZXR1cm4gcmVtICogcGFyc2VGbG9hdChnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCkuZm9udFNpemUpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,16 @@
1
+ // @dynamic
2
+ export class AXHtmlUtil {
3
+ static focusElement(element) {
4
+ const list = ['button', 'input', '[href]', 'select', 'textarea', '[tabindex]'].map(c => c + ':not([tabindex="-1"])');
5
+ const focusable = element.querySelector(list.join(', '));
6
+ if (focusable) {
7
+ focusable.focus();
8
+ return focusable;
9
+ }
10
+ return null;
11
+ }
12
+ static hasFocus(element) {
13
+ return element.matches(':focus-within') || element.matches(':focus');
14
+ }
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3V0aWxzL3NyYy9saWIvaHRtbC11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFdBQVc7QUFDWCxNQUFNLE9BQU8sVUFBVTtJQUNuQixNQUFNLENBQUMsWUFBWSxDQUFDLE9BQW9CO1FBQ3BDLE1BQU0sSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxZQUFZLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsdUJBQXVCLENBQUMsQ0FBQztRQUNySCxNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFjLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN0RSxJQUFJLFNBQVMsRUFBRTtZQUNYLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQixPQUFPLFNBQVMsQ0FBQztTQUNwQjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFHRCxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQW9CO1FBRWhDLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEBkeW5hbWljXG5leHBvcnQgY2xhc3MgQVhIdG1sVXRpbCB7XG4gICAgc3RhdGljIGZvY3VzRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgY29uc3QgbGlzdCA9IFsnYnV0dG9uJywgJ2lucHV0JywgJ1tocmVmXScsICdzZWxlY3QnLCAndGV4dGFyZWEnLCAnW3RhYmluZGV4XSddLm1hcChjID0+IGMgKyAnOm5vdChbdGFiaW5kZXg9XCItMVwiXSknKTtcbiAgICAgICAgY29uc3QgZm9jdXNhYmxlID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PihsaXN0LmpvaW4oJywgJykpO1xuICAgICAgICBpZiAoZm9jdXNhYmxlKSB7XG4gICAgICAgICAgICBmb2N1c2FibGUuZm9jdXMoKTtcbiAgICAgICAgICAgIHJldHVybiBmb2N1c2FibGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG5cbiAgICBzdGF0aWMgaGFzRm9jdXMoZWxlbWVudDogSFRNTEVsZW1lbnQpXG4gICAge1xuICAgICAgICByZXR1cm4gZWxlbWVudC5tYXRjaGVzKCc6Zm9jdXMtd2l0aGluJykgfHwgZWxlbWVudC5tYXRjaGVzKCc6Zm9jdXMnKTtcbiAgICB9XG59Il19