@acorex/core 19.15.0-next.21 → 19.15.0-next.22

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.
@@ -0,0 +1,48 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, inject, Injectable } from '@angular/core';
3
+
4
+ class AXIconResolver {
5
+ }
6
+ const AXP_ICON_RESOLVER = new InjectionToken('AXP_ICON_RESOLVER');
7
+ // Optional default fallback
8
+ class AXIconResolverDefault extends AXIconResolver {
9
+ async resolve(icon) {
10
+ return icon;
11
+ }
12
+ }
13
+
14
+ class AXIconResolverService {
15
+ constructor() {
16
+ this.resolvers = (() => {
17
+ const injected = inject(AXP_ICON_RESOLVER);
18
+ return Array.isArray(injected) ? injected : [injected];
19
+ })();
20
+ this.cache = new Map();
21
+ }
22
+ async resolve(icon) {
23
+ if (this.cache.has(icon)) {
24
+ return this.cache.get(icon);
25
+ }
26
+ for (const resolver of this.resolvers) {
27
+ const result = await resolver.resolve(icon);
28
+ if (result != null) {
29
+ this.cache.set(icon, result);
30
+ return result;
31
+ }
32
+ }
33
+ throw new Error(`AXIconResolverService: Could not resolve icon "${icon}"`);
34
+ }
35
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXIconResolverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
36
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXIconResolverService, providedIn: 'root' }); }
37
+ }
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.13", ngImport: i0, type: AXIconResolverService, decorators: [{
39
+ type: Injectable,
40
+ args: [{ providedIn: 'root' }]
41
+ }] });
42
+
43
+ /**
44
+ * Generated bundle index. Do not edit.
45
+ */
46
+
47
+ export { AXIconResolver, AXIconResolverDefault, AXIconResolverService, AXP_ICON_RESOLVER };
48
+ //# sourceMappingURL=acorex-core-icon.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acorex-core-icon.mjs","sources":["../../../../packages/core/icon/src/lib/icon.types.ts","../../../../packages/core/icon/src/lib/icon-resolver.service.ts","../../../../packages/core/icon/src/acorex-core-icon.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\n\nexport abstract class AXIconResolver {\n abstract resolve(icon: string): Promise<string | null>;\n}\n\nexport const AXP_ICON_RESOLVER = new InjectionToken<AXIconResolver | AXIconResolver[]>('AXP_ICON_RESOLVER');\n\n// Optional default fallback\nexport class AXIconResolverDefault extends AXIconResolver {\n async resolve(icon: string): Promise<string | null> {\n return icon;\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { AXP_ICON_RESOLVER } from './icon.types';\n\n@Injectable({ providedIn: 'root' })\nexport class AXIconResolverService {\n private resolvers = (() => {\n const injected = inject(AXP_ICON_RESOLVER);\n return Array.isArray(injected) ? injected : [injected];\n })();\n\n private cache = new Map<string, string>();\n\n async resolve(icon: string): Promise<string> {\n if (this.cache.has(icon)) {\n return this.cache.get(icon);\n }\n\n for (const resolver of this.resolvers) {\n const result = await resolver.resolve(icon);\n if (result != null) {\n this.cache.set(icon, result);\n return result;\n }\n }\n\n throw new Error(`AXIconResolverService: Could not resolve icon \"${icon}\"`);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAEsB,cAAc,CAAA;AAEnC;MAEY,iBAAiB,GAAG,IAAI,cAAc,CAAoC,mBAAmB;AAE1G;AACM,MAAO,qBAAsB,SAAQ,cAAc,CAAA;IACvD,MAAM,OAAO,CAAC,IAAY,EAAA;AACxB,QAAA,OAAO,IAAI;;AAEd;;MCTY,qBAAqB,CAAA;AADlC,IAAA,WAAA,GAAA;QAEU,IAAS,CAAA,SAAA,GAAG,CAAC,MAAK;AACxB,YAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAC1C,YAAA,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,CAAC,QAAQ,CAAC;SACvD,GAAG;AAEI,QAAA,IAAA,CAAA,KAAK,GAAG,IAAI,GAAG,EAAkB;AAiB1C;IAfC,MAAM,OAAO,CAAC,IAAY,EAAA;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACxB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;;AAG7B,QAAA,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE;YACrC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;AAC3C,YAAA,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC;AAC5B,gBAAA,OAAO,MAAM;;;AAIjB,QAAA,MAAM,IAAI,KAAK,CAAC,kDAAkD,IAAI,CAAA,CAAA,CAAG,CAAC;;+GArBjE,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAArB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,qBAAqB,cADR,MAAM,EAAA,CAAA,CAAA;;4FACnB,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBADjC,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE;;;ACHlC;;AAEG;;;;"}
package/icon/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # @acorex/core/components
2
+
3
+ Secondary entry point of `@acorex/core`. It can be used by importing from `@acorex/core/components`.
@@ -0,0 +1,2 @@
1
+ export * from './lib/icon-resolver.service';
2
+ export * from './lib/icon.types';
@@ -0,0 +1,8 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class AXIconResolverService {
3
+ private resolvers;
4
+ private cache;
5
+ resolve(icon: string): Promise<string>;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<AXIconResolverService, never>;
7
+ static ɵprov: i0.ɵɵInjectableDeclaration<AXIconResolverService>;
8
+ }
@@ -0,0 +1,8 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ export declare abstract class AXIconResolver {
3
+ abstract resolve(icon: string): Promise<string | null>;
4
+ }
5
+ export declare const AXP_ICON_RESOLVER: InjectionToken<AXIconResolver | AXIconResolver[]>;
6
+ export declare class AXIconResolverDefault extends AXIconResolver {
7
+ resolve(icon: string): Promise<string | null>;
8
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@acorex/core",
3
- "version": "19.15.0-next.21",
3
+ "version": "19.15.0-next.22",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=19.0.0",
6
6
  "@angular/core": ">=19.0.0",
@@ -32,6 +32,10 @@
32
32
  "types": "./config/index.d.ts",
33
33
  "default": "./fesm2022/acorex-core-config.mjs"
34
34
  },
35
+ "./constants": {
36
+ "types": "./constants/index.d.ts",
37
+ "default": "./fesm2022/acorex-core-constants.mjs"
38
+ },
35
39
  "./date-time": {
36
40
  "types": "./date-time/index.d.ts",
37
41
  "default": "./fesm2022/acorex-core-date-time.mjs"
@@ -40,10 +44,6 @@
40
44
  "types": "./events/index.d.ts",
41
45
  "default": "./fesm2022/acorex-core-events.mjs"
42
46
  },
43
- "./constants": {
44
- "types": "./constants/index.d.ts",
45
- "default": "./fesm2022/acorex-core-constants.mjs"
46
- },
47
47
  "./file": {
48
48
  "types": "./file/index.d.ts",
49
49
  "default": "./fesm2022/acorex-core-file.mjs"
@@ -52,6 +52,10 @@
52
52
  "types": "./format/index.d.ts",
53
53
  "default": "./fesm2022/acorex-core-format.mjs"
54
54
  },
55
+ "./icon": {
56
+ "types": "./icon/index.d.ts",
57
+ "default": "./fesm2022/acorex-core-icon.mjs"
58
+ },
55
59
  "./image": {
56
60
  "types": "./image/index.d.ts",
57
61
  "default": "./fesm2022/acorex-core-image.mjs"