@acorex/core 7.2.7 → 7.2.8

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 (38) hide show
  1. package/esm2022/acorex-core.mjs +1 -1
  2. package/esm2022/config/lib/configs.service.mjs +3 -3
  3. package/esm2022/dateTime/lib/datetime.class.mjs +3 -3
  4. package/esm2022/dateTime/lib/datetime.module.mjs +4 -4
  5. package/esm2022/dateTime/lib/datetime.pipe.mjs +3 -3
  6. package/esm2022/events/lib/event.service.mjs +3 -3
  7. package/esm2022/file/lib/file.service.mjs +3 -3
  8. package/esm2022/http/lib/http.module.mjs +4 -4
  9. package/esm2022/http/lib/http.service.mjs +3 -3
  10. package/esm2022/image/lib/image.service.mjs +3 -3
  11. package/esm2022/index.mjs +1 -1
  12. package/esm2022/pipes/lib/pipes.module.mjs +4 -4
  13. package/esm2022/pipes/lib/safe.pipe.mjs +3 -3
  14. package/esm2022/platform/lib/platform.service.mjs +3 -3
  15. package/esm2022/translation/lib/translation.module.mjs +4 -4
  16. package/esm2022/translation/lib/translator.mjs +7 -7
  17. package/esm2022/translation/lib/translator.pipe.mjs +3 -3
  18. package/esm2022/utils/index.mjs +2 -1
  19. package/esm2022/utils/lib/auto-unsubscribe.mjs +37 -0
  20. package/esm2022/utils/lib/color-util.mjs +25 -34
  21. package/fesm2022/acorex-core-config.mjs +3 -3
  22. package/fesm2022/acorex-core-dateTime.mjs +9 -9
  23. package/fesm2022/acorex-core-dateTime.mjs.map +1 -1
  24. package/fesm2022/acorex-core-events.mjs +3 -3
  25. package/fesm2022/acorex-core-file.mjs +3 -3
  26. package/fesm2022/acorex-core-http.mjs +7 -7
  27. package/fesm2022/acorex-core-image.mjs +3 -3
  28. package/fesm2022/acorex-core-pipes.mjs +7 -7
  29. package/fesm2022/acorex-core-platform.mjs +3 -3
  30. package/fesm2022/acorex-core-translation.mjs +13 -13
  31. package/fesm2022/acorex-core-translation.mjs.map +1 -1
  32. package/fesm2022/acorex-core-utils.mjs +62 -34
  33. package/fesm2022/acorex-core-utils.mjs.map +1 -1
  34. package/fesm2022/acorex-core.mjs.map +1 -1
  35. package/package.json +10 -11
  36. package/utils/index.d.ts +1 -0
  37. package/utils/lib/auto-unsubscribe.d.ts +12 -0
  38. package/utils/lib/color-util.d.ts +2 -2
@@ -159,10 +159,10 @@ class AXFileService {
159
159
  input.click();
160
160
  });
161
161
  }
162
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXFileService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
163
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXFileService, providedIn: 'root' }); }
162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXFileService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); }
163
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXFileService, providedIn: 'root' }); }
164
164
  }
165
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXFileService, decorators: [{
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXFileService, decorators: [{
166
166
  type: Injectable,
167
167
  args: [{ providedIn: 'root' }]
168
168
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
@@ -161,24 +161,24 @@ class AXHttpService {
161
161
  // };
162
162
  // }
163
163
  }
164
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXHttpService, deps: [{ token: i1.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
165
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXHttpService, providedIn: 'root' }); }
164
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXHttpService, deps: [{ token: i1.HttpClient }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable }); }
165
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXHttpService, providedIn: 'root' }); }
166
166
  }
167
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXHttpService, decorators: [{
167
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXHttpService, decorators: [{
168
168
  type: Injectable,
169
169
  args: [{ providedIn: 'root' }]
170
170
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i0.Injector }]; } });
171
171
 
172
172
  class AXHttpModule {
173
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXHttpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
174
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: AXHttpModule, imports: [CommonModule,
173
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXHttpModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
174
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.6", ngImport: i0, type: AXHttpModule, imports: [CommonModule,
175
175
  HttpClientModule], exports: [HttpClientModule] }); }
176
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXHttpModule, providers: [
176
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXHttpModule, providers: [
177
177
  AXHttpService
178
178
  ], imports: [CommonModule,
179
179
  HttpClientModule, HttpClientModule] }); }
180
180
  }
181
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXHttpModule, decorators: [{
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXHttpModule, decorators: [{
182
182
  type: NgModule,
183
183
  args: [{
184
184
  declarations: [],
@@ -34,10 +34,10 @@ class AXImageService {
34
34
  canvas.getContext('2d').drawImage(image, 0, 0, width, height);
35
35
  return new Promise((resolve) => canvas.toBlob(resolve, options.type, options.quality));
36
36
  }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
38
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXImageService, providedIn: 'root' }); }
37
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
38
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXImageService, providedIn: 'root' }); }
39
39
  }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXImageService, decorators: [{
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXImageService, decorators: [{
41
41
  type: Injectable,
42
42
  args: [{ providedIn: 'root' }]
43
43
  }], ctorParameters: function () { return []; } });
@@ -19,10 +19,10 @@ class AXSafePipe {
19
19
  default: throw new Error(`Invalid safe type specified: ${type}`);
20
20
  }
21
21
  }
22
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXSafePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
23
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: AXSafePipe, name: "safe" }); }
22
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXSafePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
23
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.6", ngImport: i0, type: AXSafePipe, name: "safe" }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXSafePipe, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXSafePipe, decorators: [{
26
26
  type: Pipe,
27
27
  args: [{
28
28
  name: 'safe',
@@ -31,11 +31,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
31
31
  }], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
32
32
 
33
33
  class AXPipesModule {
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
35
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: AXPipesModule, declarations: [AXSafePipe], imports: [CommonModule], exports: [AXSafePipe] }); }
36
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXPipesModule, imports: [CommonModule] }); }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXPipesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
35
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.6", ngImport: i0, type: AXPipesModule, declarations: [AXSafePipe], imports: [CommonModule], exports: [AXSafePipe] }); }
36
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXPipesModule, imports: [CommonModule] }); }
37
37
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXPipesModule, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXPipesModule, decorators: [{
39
39
  type: NgModule,
40
40
  args: [{
41
41
  declarations: [AXSafePipe],
@@ -144,10 +144,10 @@ class AXPlatform {
144
144
  // init functions
145
145
  this._setFullHeightRatio();
146
146
  }
147
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXPlatform, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
148
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXPlatform, providedIn: 'root' }); }
147
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXPlatform, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
148
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXPlatform, providedIn: 'root' }); }
149
149
  }
150
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXPlatform, decorators: [{
150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXPlatform, decorators: [{
151
151
  type: Injectable,
152
152
  args: [{
153
153
  providedIn: 'root',
@@ -1,8 +1,8 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Pipe, NgModule } from '@angular/core';
3
- import { Subject } from 'rxjs';
3
+ import { get } from 'lodash-es';
4
4
  import merge from 'lodash-es/merge';
5
- import * as _ from 'lodash';
5
+ import { Subject } from 'rxjs';
6
6
 
7
7
  // @dynamic
8
8
  class AXTranslator {
@@ -27,20 +27,20 @@ class AXTranslator {
27
27
  static get(key, arg1, arg2) {
28
28
  const lang = arg1 && typeof arg1 == 'string' ? arg1 : AXTranslator.lang;
29
29
  const params = arg1 && typeof arg1 == 'object' ? arg1 : arg2;
30
- let result = _.get(AXTranslator[`__data__${lang}`], key, key);
31
- const vars = typeof (result) == 'string' ? result?.match(this._varsRegx) : [];
30
+ let result = get(AXTranslator[`__data__${lang}`], key, key);
31
+ const vars = typeof result == 'string' ? result?.match(this._varsRegx) : [];
32
32
  if (vars?.length) {
33
33
  vars.forEach((v) => {
34
34
  const varKey = v.match(this._varNameRegx)?.length ? v.match(this._varNameRegx)[0] : null;
35
35
  if (varKey) {
36
- const p = _.get(params, varKey) || this.get(varKey, lang);
36
+ const p = get(params, varKey) || this.get(varKey, lang);
37
37
  if (p) {
38
38
  result = result.replace(v, p);
39
39
  }
40
40
  }
41
41
  });
42
42
  }
43
- return typeof (result) == 'string' ? result : JSON.stringify(result);
43
+ return typeof result == 'string' ? result : JSON.stringify(result);
44
44
  }
45
45
  }
46
46
 
@@ -48,20 +48,20 @@ class AXTranslatorPipe {
48
48
  transform(value, arg1, arg2) {
49
49
  return AXTranslator.get(value, arg1, arg2);
50
50
  }
51
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXTranslatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
52
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: AXTranslatorPipe, name: "trans" }); }
51
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXTranslatorPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
52
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.1.6", ngImport: i0, type: AXTranslatorPipe, name: "trans" }); }
53
53
  }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXTranslatorPipe, decorators: [{
54
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXTranslatorPipe, decorators: [{
55
55
  type: Pipe,
56
56
  args: [{ name: 'trans', pure: true }]
57
57
  }] });
58
58
 
59
59
  class AXTranslationModule {
60
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXTranslationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
61
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.5", ngImport: i0, type: AXTranslationModule, declarations: [AXTranslatorPipe], exports: [AXTranslatorPipe] }); }
62
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXTranslationModule }); }
60
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXTranslationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
61
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.6", ngImport: i0, type: AXTranslationModule, declarations: [AXTranslatorPipe], exports: [AXTranslatorPipe] }); }
62
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXTranslationModule }); }
63
63
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXTranslationModule, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXTranslationModule, decorators: [{
65
65
  type: NgModule,
66
66
  args: [{
67
67
  imports: [],
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-core-translation.mjs","sources":["../../../../libs/core/translation/src/lib/translator.ts","../../../../libs/core/translation/src/lib/translator.pipe.ts","../../../../libs/core/translation/src/lib/translation.module.ts","../../../../libs/core/translation/src/acorex-core-translation.ts"],"sourcesContent":["import { Subject, Observable } from 'rxjs';\nimport merge from 'lodash-es/merge';\nimport * as _ from 'lodash';\n\n// @dynamic\nexport class AXTranslator {\n private static lang: string = 'en';\n private static dataChangeSubject = new Subject<any>();\n private static _varsRegx = /((\\$\\{[a-zA-Z_0-9\\.]+\\})+)/gm;\n private static _varNameRegx = /[a-zA-Z_0-9\\.]+/gm;\n\n\n static get onChange(): Observable<any> {\n return AXTranslator.dataChangeSubject.asObservable();\n }\n\n public static load(lang: string, value: any) {\n if (typeof value === 'object') {\n if (!AXTranslator[`__data__${lang}`]) {\n AXTranslator[`__data__${lang}`] = {};\n }\n AXTranslator[`__data__${lang}`] = merge(AXTranslator[`__data__${lang}`], value);\n }\n }\n\n public static use(lang: string) {\n AXTranslator.lang = lang;\n }\n\n public static get(key: string, arg1?: object | string, arg2?: object): string {\n\n const lang = arg1 && typeof arg1 == 'string' ? arg1 : AXTranslator.lang;\n const params = arg1 && typeof arg1 == 'object' ? arg1 : arg2;\n let result = _.get(AXTranslator[`__data__${lang}`], key, key);\n const vars = typeof (result) == 'string' ? result?.match(this._varsRegx) : [];\n if (vars?.length) {\n vars.forEach((v:any) => {\n const varKey = v.match(this._varNameRegx)?.length ? v.match(this._varNameRegx)[0] : null;\n if (varKey) {\n const p = _.get(params, varKey) || this.get(varKey, lang);\n if (p) {\n result = result.replace(v, p);\n }\n }\n })\n }\n return typeof (result) == 'string' ? result : JSON.stringify(result);\n }\n}","import { Pipe, PipeTransform } from '@angular/core';\nimport { AXTranslator } from './translator';\n\n@Pipe({ name: 'trans', pure: true })\nexport class AXTranslatorPipe implements PipeTransform {\n transform(value: string, arg1?: object | string, arg2?: object): string {\n return AXTranslator.get(value, arg1, arg2);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AXTranslatorPipe } from './translator.pipe';\n\n@NgModule({\n imports: [],\n exports: [AXTranslatorPipe],\n declarations: [AXTranslatorPipe],\n providers: [],\n})\nexport class AXTranslationModule {\n \n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"acorex-core-translation.mjs","sources":["../../../../libs/core/translation/src/lib/translator.ts","../../../../libs/core/translation/src/lib/translator.pipe.ts","../../../../libs/core/translation/src/lib/translation.module.ts","../../../../libs/core/translation/src/acorex-core-translation.ts"],"sourcesContent":["import { get } from 'lodash-es';\nimport merge from 'lodash-es/merge';\nimport { Observable, Subject } from 'rxjs';\n\n// @dynamic\nexport class AXTranslator {\n private static lang: string = 'en';\n private static dataChangeSubject = new Subject<any>();\n private static _varsRegx = /((\\$\\{[a-zA-Z_0-9\\.]+\\})+)/gm;\n private static _varNameRegx = /[a-zA-Z_0-9\\.]+/gm;\n\n static get onChange(): Observable<any> {\n return AXTranslator.dataChangeSubject.asObservable();\n }\n\n public static load(lang: string, value: any) {\n if (typeof value === 'object') {\n if (!AXTranslator[`__data__${lang}`]) {\n AXTranslator[`__data__${lang}`] = {};\n }\n AXTranslator[`__data__${lang}`] = merge(AXTranslator[`__data__${lang}`], value);\n }\n }\n\n public static use(lang: string) {\n AXTranslator.lang = lang;\n }\n\n public static get(key: string, arg1?: object | string, arg2?: object): string {\n const lang = arg1 && typeof arg1 == 'string' ? arg1 : AXTranslator.lang;\n const params = arg1 && typeof arg1 == 'object' ? arg1 : arg2;\n let result = get(AXTranslator[`__data__${lang}`], key, key);\n const vars = typeof result == 'string' ? result?.match(this._varsRegx) : [];\n if (vars?.length) {\n vars.forEach((v: any) => {\n const varKey = v.match(this._varNameRegx)?.length ? v.match(this._varNameRegx)[0] : null;\n if (varKey) {\n const p = get(params, varKey) || this.get(varKey, lang);\n if (p) {\n result = result.replace(v, p);\n }\n }\n });\n }\n return typeof result == 'string' ? result : JSON.stringify(result);\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { AXTranslator } from './translator';\n\n@Pipe({ name: 'trans', pure: true })\nexport class AXTranslatorPipe implements PipeTransform {\n transform(value: string, arg1?: object | string, arg2?: object): string {\n return AXTranslator.get(value, arg1, arg2);\n }\n}\n","import { NgModule } from '@angular/core';\nimport { AXTranslatorPipe } from './translator.pipe';\n\n@NgModule({\n imports: [],\n exports: [AXTranslatorPipe],\n declarations: [AXTranslatorPipe],\n providers: [],\n})\nexport class AXTranslationModule {\n \n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,12 +1,48 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Injectable } from '@angular/core';
3
+ import { Subject, takeUntil } from 'rxjs';
1
4
  import tinycolor from 'tinycolor2';
2
5
  import tinygradient from 'tinygradient';
3
6
 
7
+ function AXAutoUnsubscriber() {
8
+ return function (constructor) {
9
+ const orig = constructor.prototype.ngOnDestroy;
10
+ constructor.prototype.ngOnDestroy = function () {
11
+ debugger;
12
+ for (const prop in this) {
13
+ const property = this[prop];
14
+ if (typeof property.subscribe === "function") {
15
+ property.unsubscribe();
16
+ }
17
+ }
18
+ orig.apply();
19
+ };
20
+ };
21
+ }
22
+ class AXUnsubscriber {
23
+ constructor() {
24
+ this._destroy$ = new Subject();
25
+ this.takeUntilDestroy = (origin) => origin.pipe(takeUntil(this._destroy$));
26
+ }
27
+ unsubscribe() {
28
+ this._destroy$.next();
29
+ this._destroy$.complete();
30
+ }
31
+ ngOnDestroy() {
32
+ this.unsubscribe();
33
+ }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXUnsubscriber, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
35
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXUnsubscriber }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AXUnsubscriber, decorators: [{
38
+ type: Injectable
39
+ }] });
40
+
4
41
  class AXColorUtil {
5
42
  static to(color, mode) {
6
43
  const _color = tinycolor(color);
7
44
  switch (mode) {
8
45
  case 'rgba':
9
- ;
10
46
  return _color.toRgb();
11
47
  case 'hsla':
12
48
  return _color.toHsl();
@@ -16,7 +52,6 @@ class AXColorUtil {
16
52
  return _color.toHex();
17
53
  }
18
54
  }
19
- ;
20
55
  static toString(color, mode = null) {
21
56
  const _color = tinycolor(color);
22
57
  switch (mode) {
@@ -26,48 +61,41 @@ class AXColorUtil {
26
61
  return _color.toHslString();
27
62
  case 'hsva':
28
63
  return _color.toHsvString();
29
- case 'hsva':
30
- return _color.toHsvString();
31
- case 'hex':
32
- {
33
- const rgba = _color.toRgb();
34
- return rgba.a != 1 ? _color.toHex8String() : _color.toHexString();
64
+ case 'hex': {
65
+ const rgba = _color.toRgb();
66
+ return rgba.a != 1 ? _color.toHex8String() : _color.toHexString();
67
+ }
68
+ default: {
69
+ if (typeof color == 'string') {
70
+ if (color.toLowerCase().startsWith('#'))
71
+ return this.toString(color, 'hex');
72
+ else
73
+ return this.toString(color, 'rgba');
35
74
  }
36
- default:
37
- {
38
- if (typeof color == 'string') {
39
- if (color.toLowerCase().startsWith("#"))
40
- return this.toString(color, "hex");
41
- else
42
- return this.toString(color, "rgba");
43
- }
44
- else {
45
- return this.toString(color, "rgba");
46
- }
75
+ else {
76
+ return this.toString(color, 'rgba');
47
77
  }
78
+ }
48
79
  }
49
80
  }
50
- ;
51
81
  static isValid(color) {
52
82
  const _color = tinycolor(color);
53
83
  return _color.isValid();
54
84
  }
55
- ;
56
85
  static mix(baseColor, hex, percentage) {
57
86
  return tinycolor.mix(baseColor, hex, percentage).toString('rgb');
58
87
  }
59
88
  static multiply(color1, color2) {
60
- let rgb1 = tinycolor(color1).toRgb();
61
- let rgb2 = tinycolor(color2).toRgb();
62
- rgb1.b = Math.floor(rgb1.b * rgb2.b / 255);
63
- rgb1.g = Math.floor(rgb1.g * rgb2.g / 255);
64
- rgb1.r = Math.floor(rgb1.r * rgb2.r / 255);
89
+ const rgb1 = tinycolor(color1).toRgb();
90
+ const rgb2 = tinycolor(color2).toRgb();
91
+ rgb1.b = Math.floor((rgb1.b * rgb2.b) / 255);
92
+ rgb1.g = Math.floor((rgb1.g * rgb2.g) / 255);
93
+ rgb1.r = Math.floor((rgb1.r * rgb2.r) / 255);
65
94
  return tinycolor('rgb ' + rgb1.r + ' ' + rgb1.g + ' ' + rgb1.b).toString('rgb');
66
95
  }
67
96
  static contrastToWhite(color) {
68
- return tinycolor.readability("#fff", color);
97
+ return tinycolor.readability('#fff', color);
69
98
  }
70
- ;
71
99
  static lighten(hex, percentage) {
72
100
  return tinycolor(hex).lighten(percentage);
73
101
  }
@@ -98,18 +126,18 @@ class AXColorUtil {
98
126
  let rgb = [
99
127
  X * 1.656492 - Y * 0.354851 - Z * 0.255038,
100
128
  -X * 0.707196 + Y * 1.655397 + Z * 0.036152,
101
- X * 0.051713 - Y * 0.121364 + Z * 1.011530
129
+ X * 0.051713 - Y * 0.121364 + Z * 1.01153,
102
130
  ];
103
131
  // Apply reverse gamma correction.
104
- rgb = rgb.map(x => x <= 0.0031308 ? 12.92 * x : (1.0 + 0.055) * Math.pow(x, 1.0 / 2.4) - 0.055);
132
+ rgb = rgb.map((x) => x <= 0.0031308 ? 12.92 * x : (1.0 + 0.055) * Math.pow(x, 1.0 / 2.4) - 0.055);
105
133
  // Bring all negative components to zero.
106
- rgb = rgb.map(x => Math.max(0, x));
134
+ rgb = rgb.map((x) => Math.max(0, x));
107
135
  // If one component is greater than 1, weight components by that value.
108
136
  const max = Math.max(...rgb);
109
137
  if (max > 1) {
110
- rgb = rgb.map(x => x / max);
138
+ rgb = rgb.map((x) => x / max);
111
139
  }
112
- rgb = rgb.map(x => Math.round(x * 255));
140
+ rgb = rgb.map((x) => Math.round(x * 255));
113
141
  return 'rgb(' + rgb.join(',') + ')';
114
142
  }
115
143
  }
@@ -221,5 +249,5 @@ class AXStringUtil {
221
249
  * Generated bundle index. Do not edit.
222
250
  */
223
251
 
224
- export { AXColorUtil, AXDrawingUtil, AXHtmlUtil, AXObjectUtil, AXStringUtil };
252
+ export { AXAutoUnsubscriber, AXColorUtil, AXDrawingUtil, AXHtmlUtil, AXObjectUtil, AXStringUtil, AXUnsubscriber };
225
253
  //# sourceMappingURL=acorex-core-utils.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-core-utils.mjs","sources":["../../../../libs/core/utils/src/lib/color-util.ts","../../../../libs/core/utils/src/lib/drawing-util.ts","../../../../libs/core/utils/src/lib/html-util.ts","../../../../libs/core/utils/src/lib/object-util.ts","../../../../libs/core/utils/src/lib/string-util.ts","../../../../libs/core/utils/src/acorex-core-utils.ts"],"sourcesContent":["export type AXColorMode = 'rgba' | 'hex' | 'hsla' | 'hsva';\n\nimport tinycolor, { ColorInput } from 'tinycolor2';\nimport tinygradient from 'tinygradient'\n\nexport type AXColorFormat = ColorInput;\n\nexport class AXColorUtil {\n\n\n static to(color: AXColorFormat, mode: AXColorMode): AXColorFormat {\n\n const _color = tinycolor(color)\n switch (mode) {\n case 'rgba': ;\n return _color.toRgb();\n case 'hsla':\n return _color.toHsl();\n case 'hsva':\n return _color.toHsv();\n default:\n return _color.toHex();\n }\n };\n\n static toString(color: AXColorFormat, mode: AXColorMode = null): string {\n const _color = tinycolor(color)\n switch (mode) {\n case 'rgba':\n return _color.toRgbString();\n case 'hsla':\n return _color.toHslString();\n case 'hsva':\n return _color.toHsvString();\n case 'hsva':\n return _color.toHsvString();\n case 'hex':\n {\n const rgba = _color.toRgb();\n return rgba.a != 1 ? _color.toHex8String() : _color.toHexString();\n }\n default:\n {\n if (typeof color == 'string') {\n if (color.toLowerCase().startsWith(\"#\"))\n return this.toString(color, \"hex\");\n else\n return this.toString(color, \"rgba\");\n }\n else {\n return this.toString(color, \"rgba\");\n }\n }\n }\n };\n\n static isValid(color: AXColorFormat): boolean {\n const _color = tinycolor(color)\n return _color.isValid();\n };\n\n static mix(baseColor: AXColorFormat, hex: AXColorFormat, percentage: number): string {\n return tinycolor.mix(baseColor, hex, percentage).toString('rgb');\n }\n\n static multiply(color1: AXColorFormat, color2: AXColorFormat): string {\n let rgb1 = tinycolor(color1).toRgb();\n let rgb2 = tinycolor(color2).toRgb();\n rgb1.b = Math.floor(rgb1.b * rgb2.b / 255);\n rgb1.g = Math.floor(rgb1.g * rgb2.g / 255);\n rgb1.r = Math.floor(rgb1.r * rgb2.r / 255);\n return tinycolor('rgb ' + rgb1.r + ' ' + rgb1.g + ' ' + rgb1.b).toString('rgb');\n }\n\n static contrastToWhite(color: AXColorFormat): number {\n return tinycolor.readability(\"#fff\", color);\n };\n\n static lighten(hex: AXColorFormat, percentage?: number) {\n return tinycolor(hex).lighten(percentage)\n }\n\n static darken(hex: AXColorFormat, percentage?: number) {\n return tinycolor(hex).darken(percentage)\n }\n\n static brighten(hex: AXColorFormat, percentage?: number) {\n return tinycolor(hex).brighten(percentage)\n }\n\n static saturate(hex: AXColorFormat, percentage?: number) {\n return tinycolor(hex).saturate(percentage)\n }\n\n static desaturate(hex: AXColorFormat, percentage?: number) {\n return tinycolor(hex).getLuminance()\n }\n\n static equal(color1: AXColorFormat, color2: AXColorFormat): boolean {\n return tinycolor.equals(color1, color2);\n }\n\n static gradient(values: any[] | { color: any, pos: number }[]): tinygradient.Instance {\n return tinygradient([...values])\n }\n\n static xyToRgb(vX, vY): string {\n vY = vY || 0.00000000001;\n const Y = 1;\n const X = (Y / vY) * vX;\n const Z = (Y / vY) * (1 - vX - vY);\n\n // Convert to RGB using Wide RGB D65 conversion.\n let rgb = [\n X * 1.656492 - Y * 0.354851 - Z * 0.255038,\n -X * 0.707196 + Y * 1.655397 + Z * 0.036152,\n X * 0.051713 - Y * 0.121364 + Z * 1.011530\n ];\n\n // Apply reverse gamma correction.\n rgb = rgb.map(x =>\n x <= 0.0031308 ? 12.92 * x : (1.0 + 0.055) * Math.pow(x, 1.0 / 2.4) - 0.055\n );\n\n // Bring all negative components to zero.\n rgb = rgb.map(x => Math.max(0, x));\n\n // If one component is greater than 1, weight components by that value.\n const max = Math.max(...rgb);\n if (max > 1) {\n rgb = rgb.map(x => x / max);\n }\n\n rgb = rgb.map(x => Math.round(x * 255));\n\n return 'rgb(' + rgb.join(',') + ')';\n }\n\n}","export interface AXPoint {\n x: number;\n y: number;\n}\n\nexport interface AXBoundingClientRect {\n left?: number;\n top?: number;\n width?: number;\n height?: number;\n bottom?: number;\n right?: number;\n}\n// @dynamic\nexport class AXDrawingUtil {\n static collision(a: HTMLElement, b: HTMLElement): boolean {\n const ac = a.getBoundingClientRect();\n const bc = b.getBoundingClientRect();\n\n 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) {\n return true;\n } else {\n return false;\n }\n }\n\n static isInElementBound(pos: AXPoint, element: HTMLElement): boolean {\n const elBound = element.getBoundingClientRect();\n return AXDrawingUtil.isInRecPoint(pos, {\n left: elBound.x,\n width: elBound.width,\n top: elBound.y,\n height: elBound.height,\n });\n }\n\n static isInRecPoint(pos: AXPoint, rec: AXBoundingClientRect | any): boolean {\n return pos.x >= rec.left && pos.x <= rec.left + rec.width && pos.y >= rec.top && pos.y <= rec.top + rec.height;\n }\n\n static convertRemToPixels(rem: number): number {\n return rem * parseFloat(getComputedStyle(document.documentElement).fontSize);\n }\n}\n","// @dynamic\nexport class AXHtmlUtil {\n static focusElement(element: HTMLElement): HTMLElement {\n const list = ['button', 'input', '[href]', 'select', 'textarea', '[tabindex]'].map(c => c + ':not([tabindex=\"-1\"])');\n const focusable = element.querySelector<HTMLElement>(list.join(', '));\n if (focusable) {\n focusable.focus();\n return focusable;\n }\n return null;\n }\n\n\n static hasFocus(element: HTMLElement)\n {\n return element.matches(':focus-within') || element.matches(':focus');\n }\n}","// @dynamic\nexport class AXObjectUtil {\n static deepJSONClone(obj: any): any {\n return obj ? JSON.parse(JSON.stringify(obj)) : null;\n }\n\n static deepCopy(obj) {\n let copy;\n // Handle the 3 simple types, and null or undefined\n if (null == obj || 'object' !== typeof obj) { return obj; }\n // Handle Date\n if (obj instanceof Date) {\n copy = new Date();\n copy.setTime(obj.getTime());\n return copy;\n }\n // Handle Array\n if (obj instanceof Array) {\n copy = [];\n for (let i = 0, len = obj.length; i < len; i++) {\n copy[i] = AXObjectUtil.deepCopy(obj[i]);\n }\n return copy;\n }\n // Handle Object\n if (obj instanceof Object) {\n copy = {};\n for (const attr in obj) {\n if (obj.hasOwnProperty(attr)) { copy[attr] = AXObjectUtil.deepCopy(obj[attr]); }\n }\n return copy;\n }\n throw new Error('Unable to copy obj! Its type isn\\'t supported.');\n }\n\n // static fetchProp(obj, prop: string) {\n // if (typeof obj === 'undefined') {\n // return false;\n // }\n // const index = prop.indexOf('.');\n\n // if (index > -1) {\n // return AXObjectUtil.fetchProp(obj[prop.substring(0, index)], prop.substr(index + 1));\n // }\n\n // return obj[prop];\n // }\n\n // static getPropByPath(obj, path, defaultVal?) {\n // path = path\n // .replace(/\\[/g, '.')\n // .replace(/]/g, '')\n // .split('.');\n\n // path.forEach((level) => {\n // if (obj) {\n // obj = obj[level];\n // }\n // });\n\n // if (obj === undefined) {\n // return defaultVal;\n // }\n // return obj;\n // }\n\n // static setPropByPath(obj, path, value) {\n // if (Object(obj) !== obj) { return obj; } // When obj is not an object\n // // If not yet an array, get the keys from the string-path\n // if (!Array.isArray(path)) { path = path.toString().match(/[^.[\\]]+/g) || []; }\n // path.slice(0, -1).reduce((a, c, i) => // Iterate all of them except the last one\n // Object(a[c]) === a[c] // Does the key exist and is its value an object?\n // // Yes: then follow that path\n // ? a[c]\n // // No: create the key. Is the next key a potential array-index?\n // : a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1]\n // ? [] // Yes: assign a new array object\n // : {}, // No: assign a new plain object\n // obj)[path[path.length - 1]] = value; // Finally assign the value to the last key\n // return obj; // Return the top-level object to allow chaining\n // }\n}","// @dynamic\nexport class AXStringUtil {\n\n static getWordBoundsAtPosition(str: string, position: number): { start: number, end: number } {\n const isSpace = (c) => /[^a-zA-Z0-9]+/i.test(c);\n let start = position - 1;\n\n while (start >= 0 && !isSpace(str[start])) {\n start -= 1;\n }\n start = Math.max(0, start + 1);\n const leftSideString:any = str.slice(start).match(/[a-zA-Z0-9]+/i);\n start += leftSideString.index;\n let end = start + leftSideString[0].length;\n return {\n start,\n end\n };\n }\n\n\n\n\n\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAOa,WAAW,CAAA;AAGpB,IAAA,OAAO,EAAE,CAAC,KAAoB,EAAE,IAAiB,EAAA;AAE7C,QAAA,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;AAC/B,QAAA,QAAQ,IAAI;AACR,YAAA,KAAK,MAAM;gBAAE,CAAC;AACV,gBAAA,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC;AAC1B,YAAA,KAAK,MAAM;AACP,gBAAA,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC;AAC1B,YAAA,KAAK,MAAM;AACP,gBAAA,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC;AAC1B,YAAA;AACI,gBAAA,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC;AAC7B,SAAA;KACJ;;AAED,IAAA,OAAO,QAAQ,CAAC,KAAoB,EAAE,OAAoB,IAAI,EAAA;AAC1D,QAAA,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;AAC/B,QAAA,QAAQ,IAAI;AACR,YAAA,KAAK,MAAM;AACP,gBAAA,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;AAChC,YAAA,KAAK,MAAM;AACP,gBAAA,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;AAChC,YAAA,KAAK,MAAM;AACP,gBAAA,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;AAChC,YAAA,KAAK,MAAM;AACP,gBAAA,OAAO,MAAM,CAAC,WAAW,EAAE,CAAC;AAChC,YAAA,KAAK,KAAK;AACN,gBAAA;AACI,oBAAA,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;AAC5B,oBAAA,OAAO,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,EAAE,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;AACrE,iBAAA;AACL,YAAA;AACI,gBAAA;AACI,oBAAA,IAAI,OAAO,KAAK,IAAI,QAAQ,EAAE;wBAC1B,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC;4BACnC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;;4BAEnC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AAC3C,qBAAA;AACI,yBAAA;wBACD,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACvC,qBAAA;AACJ,iBAAA;AACR,SAAA;KACJ;;IAED,OAAO,OAAO,CAAC,KAAoB,EAAA;AAC/B,QAAA,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;AAC/B,QAAA,OAAO,MAAM,CAAC,OAAO,EAAE,CAAC;KAC3B;;AAED,IAAA,OAAO,GAAG,CAAC,SAAwB,EAAE,GAAkB,EAAE,UAAkB,EAAA;AACvE,QAAA,OAAO,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KACpE;AAED,IAAA,OAAO,QAAQ,CAAC,MAAqB,EAAE,MAAqB,EAAA;QACxD,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QACrC,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;AACrC,QAAA,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;AAC3C,QAAA,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;AAC3C,QAAA,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAC3C,OAAO,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KACnF;IAED,OAAO,eAAe,CAAC,KAAoB,EAAA;QACvC,OAAO,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;KAC/C;;AAED,IAAA,OAAO,OAAO,CAAC,GAAkB,EAAE,UAAmB,EAAA;QAClD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;KAC5C;AAED,IAAA,OAAO,MAAM,CAAC,GAAkB,EAAE,UAAmB,EAAA;QACjD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;KAC3C;AAED,IAAA,OAAO,QAAQ,CAAC,GAAkB,EAAE,UAAmB,EAAA;QACnD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;KAC7C;AAED,IAAA,OAAO,QAAQ,CAAC,GAAkB,EAAE,UAAmB,EAAA;QACnD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;KAC7C;AAED,IAAA,OAAO,UAAU,CAAC,GAAkB,EAAE,UAAmB,EAAA;AACrD,QAAA,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,CAAA;KACvC;AAED,IAAA,OAAO,KAAK,CAAC,MAAqB,EAAE,MAAqB,EAAA;QACrD,OAAO,SAAS,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC3C;IAED,OAAO,QAAQ,CAAC,MAA6C,EAAA;AACzD,QAAA,OAAO,YAAY,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;KACnC;AAED,IAAA,OAAO,OAAO,CAAC,EAAE,EAAE,EAAE,EAAA;AACjB,QAAA,EAAE,GAAG,EAAE,IAAI,aAAa,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,CAAC;QACZ,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;AACxB,QAAA,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;;AAGnC,QAAA,IAAI,GAAG,GAAG;YACN,CAAC,GAAG,QAAQ,GAAG,CAAC,GAAG,QAAQ,GAAG,CAAC,GAAG,QAAQ;YAC1C,CAAC,CAAC,GAAG,QAAQ,GAAG,CAAC,GAAG,QAAQ,GAAG,CAAC,GAAG,QAAQ;YAC3C,CAAC,GAAG,QAAQ,GAAG,CAAC,GAAG,QAAQ,GAAG,CAAC,GAAG,QAAQ;SAC7C,CAAC;;AAGF,QAAA,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IACX,CAAC,IAAI,SAAS,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,GAAG,KAAK,CAC9E,CAAC;;AAGF,QAAA,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;;QAGnC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;QAC7B,IAAI,GAAG,GAAG,CAAC,EAAE;AACT,YAAA,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;AAC/B,SAAA;AAED,QAAA,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;QAExC,OAAO,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;KACvC;AAEJ;;AC7HD;MACa,aAAa,CAAA;AACxB,IAAA,OAAO,SAAS,CAAC,CAAc,EAAE,CAAc,EAAA;AAC7C,QAAA,MAAM,EAAE,GAAG,CAAC,CAAC,qBAAqB,EAAE,CAAC;AACrC,QAAA,MAAM,EAAE,GAAG,CAAC,CAAC,qBAAqB,EAAE,CAAC;QAErC,IAAI,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,EAAE;AAC9H,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;AAAM,aAAA;AACL,YAAA,OAAO,KAAK,CAAC;AACd,SAAA;KACF;AAED,IAAA,OAAO,gBAAgB,CAAC,GAAY,EAAE,OAAoB,EAAA;AACxD,QAAA,MAAM,OAAO,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;AAChD,QAAA,OAAO,aAAa,CAAC,YAAY,CAAC,GAAG,EAAE;YACrC,IAAI,EAAE,OAAO,CAAC,CAAC;YACf,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,GAAG,EAAE,OAAO,CAAC,CAAC;YACd,MAAM,EAAE,OAAO,CAAC,MAAM;AACvB,SAAA,CAAC,CAAC;KACJ;AAED,IAAA,OAAO,YAAY,CAAC,GAAY,EAAE,GAA+B,EAAA;AAC/D,QAAA,OAAO,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;KAChH;IAED,OAAO,kBAAkB,CAAC,GAAW,EAAA;AACnC,QAAA,OAAO,GAAG,GAAG,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,QAAQ,CAAC,CAAC;KAC9E;AACF;;AC3CD;MACa,UAAU,CAAA;IACnB,OAAO,YAAY,CAAC,OAAoB,EAAA;QACpC,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,uBAAuB,CAAC,CAAC;AACrH,QAAA,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAc,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACtE,QAAA,IAAI,SAAS,EAAE;YACX,SAAS,CAAC,KAAK,EAAE,CAAC;AAClB,YAAA,OAAO,SAAS,CAAC;AACpB,SAAA;AACD,QAAA,OAAO,IAAI,CAAC;KACf;IAGD,OAAO,QAAQ,CAAC,OAAoB,EAAA;AAEhC,QAAA,OAAO,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;KACxE;AACJ;;ACjBD;MACa,YAAY,CAAA;IACrB,OAAO,aAAa,CAAC,GAAQ,EAAA;AACzB,QAAA,OAAO,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;KACvD;IAED,OAAO,QAAQ,CAAC,GAAG,EAAA;AACf,QAAA,IAAI,IAAI,CAAC;;QAET,IAAI,IAAI,IAAI,GAAG,IAAI,QAAQ,KAAK,OAAO,GAAG,EAAE;AAAE,YAAA,OAAO,GAAG,CAAC;AAAE,SAAA;;QAE3D,IAAI,GAAG,YAAY,IAAI,EAAE;AACrB,YAAA,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;AAC5B,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;;QAED,IAAI,GAAG,YAAY,KAAK,EAAE;YACtB,IAAI,GAAG,EAAE,CAAC;AACV,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;AAC5C,gBAAA,IAAI,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3C,aAAA;AACD,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;;QAED,IAAI,GAAG,YAAY,MAAM,EAAE;YACvB,IAAI,GAAG,EAAE,CAAC;AACV,YAAA,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE;AACpB,gBAAA,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;AAAE,oBAAA,IAAI,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAAE,iBAAA;AACnF,aAAA;AACD,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AACD,QAAA,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;KACrE;AAgDJ;;ACjFD;MACa,YAAY,CAAA;AAErB,IAAA,OAAO,uBAAuB,CAAC,GAAW,EAAE,QAAgB,EAAA;AACxD,QAAA,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAChD,QAAA,IAAI,KAAK,GAAG,QAAQ,GAAG,CAAC,CAAC;AAEzB,QAAA,OAAO,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;YACvC,KAAK,IAAI,CAAC,CAAC;AACd,SAAA;QACD,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;AAC/B,QAAA,MAAM,cAAc,GAAO,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AACnE,QAAA,KAAK,IAAI,cAAc,CAAC,KAAK,CAAC;QAC9B,IAAI,GAAG,GAAG,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3C,OAAO;YACH,KAAK;YACL,GAAG;SACN,CAAC;KACL;AAMJ;;ACxBD;;AAEG;;;;"}
1
+ {"version":3,"file":"acorex-core-utils.mjs","sources":["../../../../libs/core/utils/src/lib/auto-unsubscribe.ts","../../../../libs/core/utils/src/lib/color-util.ts","../../../../libs/core/utils/src/lib/drawing-util.ts","../../../../libs/core/utils/src/lib/html-util.ts","../../../../libs/core/utils/src/lib/object-util.ts","../../../../libs/core/utils/src/lib/string-util.ts","../../../../libs/core/utils/src/acorex-core-utils.ts"],"sourcesContent":["import { Injectable, OnDestroy } from \"@angular/core\"\nimport { Observable, Subject, takeUntil } from \"rxjs\"\n\nexport function AXAutoUnsubscriber() {\n return function (constructor) {\n const orig = constructor.prototype.ngOnDestroy\n constructor.prototype.ngOnDestroy = function () {\n debugger\n for (const prop in this) {\n const property = this[prop]\n if (typeof property.subscribe === \"function\") {\n property.unsubscribe()\n }\n }\n orig.apply()\n }\n }\n}\n\n@Injectable()\nexport class AXUnsubscriber implements OnDestroy {\n private readonly _destroy$ = new Subject<void>();\n\n public readonly takeUntilDestroy = <T>(origin: Observable<T>): Observable<T> => origin.pipe(takeUntil(this._destroy$));\n\n public unsubscribe(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n public ngOnDestroy(): void {\n this.unsubscribe();\n }\n}","export type AXColorMode = 'rgba' | 'hex' | 'hsla' | 'hsva';\n\nimport tinycolor, { ColorInput } from 'tinycolor2';\nimport tinygradient, { Instance } from 'tinygradient';\n\nexport type AXColorFormat = ColorInput;\n\nexport class AXColorUtil {\n static to(color: AXColorFormat, mode: AXColorMode): AXColorFormat {\n const _color = tinycolor(color);\n switch (mode) {\n case 'rgba':\n return _color.toRgb();\n case 'hsla':\n return _color.toHsl();\n case 'hsva':\n return _color.toHsv();\n default:\n return _color.toHex();\n }\n }\n\n static toString(color: AXColorFormat, mode: AXColorMode = null): string {\n const _color = tinycolor(color);\n switch (mode) {\n case 'rgba':\n return _color.toRgbString();\n case 'hsla':\n return _color.toHslString();\n case 'hsva':\n return _color.toHsvString();\n\n case 'hex': {\n const rgba = _color.toRgb();\n return rgba.a != 1 ? _color.toHex8String() : _color.toHexString();\n }\n default: {\n if (typeof color == 'string') {\n if (color.toLowerCase().startsWith('#')) return this.toString(color, 'hex');\n else return this.toString(color, 'rgba');\n } else {\n return this.toString(color, 'rgba');\n }\n }\n }\n }\n\n static isValid(color: AXColorFormat): boolean {\n const _color = tinycolor(color);\n return _color.isValid();\n }\n\n static mix(baseColor: AXColorFormat, hex: AXColorFormat, percentage: number): string {\n return tinycolor.mix(baseColor, hex, percentage).toString('rgb');\n }\n\n static multiply(color1: AXColorFormat, color2: AXColorFormat): string {\n const rgb1 = tinycolor(color1).toRgb();\n const rgb2 = tinycolor(color2).toRgb();\n rgb1.b = Math.floor((rgb1.b * rgb2.b) / 255);\n rgb1.g = Math.floor((rgb1.g * rgb2.g) / 255);\n rgb1.r = Math.floor((rgb1.r * rgb2.r) / 255);\n return tinycolor('rgb ' + rgb1.r + ' ' + rgb1.g + ' ' + rgb1.b).toString('rgb');\n }\n\n static contrastToWhite(color: AXColorFormat): number {\n return tinycolor.readability('#fff', color);\n }\n\n static lighten(hex: AXColorFormat, percentage?: number) {\n return tinycolor(hex).lighten(percentage);\n }\n\n static darken(hex: AXColorFormat, percentage?: number) {\n return tinycolor(hex).darken(percentage);\n }\n\n static brighten(hex: AXColorFormat, percentage?: number) {\n return tinycolor(hex).brighten(percentage);\n }\n\n static saturate(hex: AXColorFormat, percentage?: number) {\n return tinycolor(hex).saturate(percentage);\n }\n\n static desaturate(hex: AXColorFormat, percentage?: number) {\n return tinycolor(hex).getLuminance();\n }\n\n static equal(color1: AXColorFormat, color2: AXColorFormat): boolean {\n return tinycolor.equals(color1, color2);\n }\n\n static gradient(values: any[] | { color: any; pos: number }[]): Instance {\n return tinygradient([...values]);\n }\n\n static xyToRgb(vX, vY): string {\n vY = vY || 0.00000000001;\n const Y = 1;\n const X = (Y / vY) * vX;\n const Z = (Y / vY) * (1 - vX - vY);\n\n // Convert to RGB using Wide RGB D65 conversion.\n let rgb = [\n X * 1.656492 - Y * 0.354851 - Z * 0.255038,\n -X * 0.707196 + Y * 1.655397 + Z * 0.036152,\n X * 0.051713 - Y * 0.121364 + Z * 1.01153,\n ];\n\n // Apply reverse gamma correction.\n rgb = rgb.map((x) =>\n x <= 0.0031308 ? 12.92 * x : (1.0 + 0.055) * Math.pow(x, 1.0 / 2.4) - 0.055\n );\n\n // Bring all negative components to zero.\n rgb = rgb.map((x) => Math.max(0, x));\n\n // If one component is greater than 1, weight components by that value.\n const max = Math.max(...rgb);\n if (max > 1) {\n rgb = rgb.map((x) => x / max);\n }\n\n rgb = rgb.map((x) => Math.round(x * 255));\n\n return 'rgb(' + rgb.join(',') + ')';\n }\n}\n","export interface AXPoint {\n x: number;\n y: number;\n}\n\nexport interface AXBoundingClientRect {\n left?: number;\n top?: number;\n width?: number;\n height?: number;\n bottom?: number;\n right?: number;\n}\n// @dynamic\nexport class AXDrawingUtil {\n static collision(a: HTMLElement, b: HTMLElement): boolean {\n const ac = a.getBoundingClientRect();\n const bc = b.getBoundingClientRect();\n\n 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) {\n return true;\n } else {\n return false;\n }\n }\n\n static isInElementBound(pos: AXPoint, element: HTMLElement): boolean {\n const elBound = element.getBoundingClientRect();\n return AXDrawingUtil.isInRecPoint(pos, {\n left: elBound.x,\n width: elBound.width,\n top: elBound.y,\n height: elBound.height,\n });\n }\n\n static isInRecPoint(pos: AXPoint, rec: AXBoundingClientRect | any): boolean {\n return pos.x >= rec.left && pos.x <= rec.left + rec.width && pos.y >= rec.top && pos.y <= rec.top + rec.height;\n }\n\n static convertRemToPixels(rem: number): number {\n return rem * parseFloat(getComputedStyle(document.documentElement).fontSize);\n }\n}\n","// @dynamic\nexport class AXHtmlUtil {\n static focusElement(element: HTMLElement): HTMLElement {\n const list = ['button', 'input', '[href]', 'select', 'textarea', '[tabindex]'].map(c => c + ':not([tabindex=\"-1\"])');\n const focusable = element.querySelector<HTMLElement>(list.join(', '));\n if (focusable) {\n focusable.focus();\n return focusable;\n }\n return null;\n }\n\n\n static hasFocus(element: HTMLElement)\n {\n return element.matches(':focus-within') || element.matches(':focus');\n }\n}","// @dynamic\nexport class AXObjectUtil {\n static deepJSONClone(obj: any): any {\n return obj ? JSON.parse(JSON.stringify(obj)) : null;\n }\n\n static deepCopy(obj) {\n let copy;\n // Handle the 3 simple types, and null or undefined\n if (null == obj || 'object' !== typeof obj) { return obj; }\n // Handle Date\n if (obj instanceof Date) {\n copy = new Date();\n copy.setTime(obj.getTime());\n return copy;\n }\n // Handle Array\n if (obj instanceof Array) {\n copy = [];\n for (let i = 0, len = obj.length; i < len; i++) {\n copy[i] = AXObjectUtil.deepCopy(obj[i]);\n }\n return copy;\n }\n // Handle Object\n if (obj instanceof Object) {\n copy = {};\n for (const attr in obj) {\n if (obj.hasOwnProperty(attr)) { copy[attr] = AXObjectUtil.deepCopy(obj[attr]); }\n }\n return copy;\n }\n throw new Error('Unable to copy obj! Its type isn\\'t supported.');\n }\n\n // static fetchProp(obj, prop: string) {\n // if (typeof obj === 'undefined') {\n // return false;\n // }\n // const index = prop.indexOf('.');\n\n // if (index > -1) {\n // return AXObjectUtil.fetchProp(obj[prop.substring(0, index)], prop.substr(index + 1));\n // }\n\n // return obj[prop];\n // }\n\n // static getPropByPath(obj, path, defaultVal?) {\n // path = path\n // .replace(/\\[/g, '.')\n // .replace(/]/g, '')\n // .split('.');\n\n // path.forEach((level) => {\n // if (obj) {\n // obj = obj[level];\n // }\n // });\n\n // if (obj === undefined) {\n // return defaultVal;\n // }\n // return obj;\n // }\n\n // static setPropByPath(obj, path, value) {\n // if (Object(obj) !== obj) { return obj; } // When obj is not an object\n // // If not yet an array, get the keys from the string-path\n // if (!Array.isArray(path)) { path = path.toString().match(/[^.[\\]]+/g) || []; }\n // path.slice(0, -1).reduce((a, c, i) => // Iterate all of them except the last one\n // Object(a[c]) === a[c] // Does the key exist and is its value an object?\n // // Yes: then follow that path\n // ? a[c]\n // // No: create the key. Is the next key a potential array-index?\n // : a[c] = Math.abs(path[i + 1]) >> 0 === +path[i + 1]\n // ? [] // Yes: assign a new array object\n // : {}, // No: assign a new plain object\n // obj)[path[path.length - 1]] = value; // Finally assign the value to the last key\n // return obj; // Return the top-level object to allow chaining\n // }\n}","// @dynamic\nexport class AXStringUtil {\n\n static getWordBoundsAtPosition(str: string, position: number): { start: number, end: number } {\n const isSpace = (c) => /[^a-zA-Z0-9]+/i.test(c);\n let start = position - 1;\n\n while (start >= 0 && !isSpace(str[start])) {\n start -= 1;\n }\n start = Math.max(0, start + 1);\n const leftSideString:any = str.slice(start).match(/[a-zA-Z0-9]+/i);\n start += leftSideString.index;\n let end = start + leftSideString[0].length;\n return {\n start,\n end\n };\n }\n\n\n\n\n\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"acorex-core.mjs","sources":["../../../../libs/core/src/index.ts","../../../../libs/core/src/acorex-core.ts"],"sourcesContent":["export default {};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA,YAAe,EAAE;;ACAjB;;AAEG"}
1
+ {"version":3,"file":"acorex-core.mjs","sources":["../../../../libs/core/index.ts","../../../../libs/core/acorex-core.ts"],"sourcesContent":["export default {};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA,YAAe,EAAE;;ACAjB;;AAEG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/core",
3
- "version": "7.2.7",
3
+ "version": "7.2.8",
4
4
  "sideEffects": false,
5
5
  "module": "fesm2022/acorex-core.mjs",
6
6
  "typings": "index.d.ts",
@@ -26,18 +26,18 @@
26
26
  "esm": "./esm2022/dateTime/acorex-core-dateTime.mjs",
27
27
  "default": "./fesm2022/acorex-core-dateTime.mjs"
28
28
  },
29
- "./events": {
30
- "types": "./events/index.d.ts",
31
- "esm2022": "./esm2022/events/acorex-core-events.mjs",
32
- "esm": "./esm2022/events/acorex-core-events.mjs",
33
- "default": "./fesm2022/acorex-core-events.mjs"
34
- },
35
29
  "./file": {
36
30
  "types": "./file/index.d.ts",
37
31
  "esm2022": "./esm2022/file/acorex-core-file.mjs",
38
32
  "esm": "./esm2022/file/acorex-core-file.mjs",
39
33
  "default": "./fesm2022/acorex-core-file.mjs"
40
34
  },
35
+ "./events": {
36
+ "types": "./events/index.d.ts",
37
+ "esm2022": "./esm2022/events/acorex-core-events.mjs",
38
+ "esm": "./esm2022/events/acorex-core-events.mjs",
39
+ "default": "./fesm2022/acorex-core-events.mjs"
40
+ },
41
41
  "./http": {
42
42
  "types": "./http/index.d.ts",
43
43
  "esm2022": "./esm2022/http/acorex-core-http.mjs",
@@ -79,12 +79,11 @@
79
79
  "tslib": "^2.3.0"
80
80
  },
81
81
  "peerDependencies": {
82
- "@angular/core": "16.1.5",
82
+ "@angular/core": "16.1.6",
83
83
  "lodash-es": "4.17.21",
84
84
  "rxjs": "7.8.1",
85
- "lodash": "4.17.21",
86
- "@angular/common": "16.1.5",
87
- "@angular/platform-browser": "16.1.5",
85
+ "@angular/common": "16.1.6",
86
+ "@angular/platform-browser": "16.1.6",
88
87
  "tinycolor2": "1.6.0",
89
88
  "tinygradient": "1.1.5"
90
89
  }
package/utils/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from './lib/auto-unsubscribe';
1
2
  export * from './lib/color-util';
2
3
  export * from './lib/drawing-util';
3
4
  export * from './lib/html-util';
@@ -0,0 +1,12 @@
1
+ import { OnDestroy } from "@angular/core";
2
+ import { Observable } from "rxjs";
3
+ import * as i0 from "@angular/core";
4
+ export declare function AXAutoUnsubscriber(): (constructor: any) => void;
5
+ export declare class AXUnsubscriber implements OnDestroy {
6
+ private readonly _destroy$;
7
+ readonly takeUntilDestroy: <T>(origin: Observable<T>) => Observable<T>;
8
+ unsubscribe(): void;
9
+ ngOnDestroy(): void;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXUnsubscriber, never>;
11
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXUnsubscriber>;
12
+ }
@@ -1,6 +1,6 @@
1
1
  export type AXColorMode = 'rgba' | 'hex' | 'hsla' | 'hsva';
2
2
  import tinycolor, { ColorInput } from 'tinycolor2';
3
- import tinygradient from 'tinygradient';
3
+ import { Instance } from 'tinygradient';
4
4
  export type AXColorFormat = ColorInput;
5
5
  export declare class AXColorUtil {
6
6
  static to(color: AXColorFormat, mode: AXColorMode): AXColorFormat;
@@ -18,6 +18,6 @@ export declare class AXColorUtil {
18
18
  static gradient(values: any[] | {
19
19
  color: any;
20
20
  pos: number;
21
- }[]): tinygradient.Instance;
21
+ }[]): Instance;
22
22
  static xyToRgb(vX: any, vY: any): string;
23
23
  }